From 317ee85a996d7e451a3abfee11a46a773a74fe19 Mon Sep 17 00:00:00 2001 From: ray <2954701669@qq.com> Date: Fri, 8 Mar 2024 09:04:14 +0000 Subject: [PATCH 1/3] upbot_vision upbot_location --- .../PIBot_ROS/Image/ROS_Using (3).png | Bin 110648 -> 0 bytes Code/MowingRobot/PIBot_ROS/README.md | 93 - .../PIBot_ROS/ros_ws/src/README.md | 6 - .../src/ipa_coverage_planning/.gitignore | 48 - .../ipa_coverage_planning/.travis.rosinstall | 1 - .../.travis.rosinstall.melodic | 8 - .../src/ipa_coverage_planning/.travis.yml | 30 - .../src/ipa_coverage_planning/README.md | 42 - .../ipa_building_msgs/CHANGELOG.rst | 13 - .../ipa_building_msgs/CMakeLists.txt | 79 - .../FindRoomSequenceWithCheckpoints.action | 17 - .../action/MapSegmentation.action | 39 - .../action/RoomExploration.action | 24 - .../ipa_building_msgs/msg/RoomInformation.msg | 2 - .../ipa_building_msgs/msg/RoomSequence.msg | 5 - .../ipa_building_msgs/msg/dis_info_array.msg | 1 - .../ipa_building_msgs/package.xml | 27 - .../ipa_building_msgs/srv/CheckCoverage.srv | 12 - .../srv/ExtractAreaMapFromLabeledMap.srv | 14 - .../ipa_building_navigation/CMakeLists.txt | 202 - .../cfg/BuildingNavigation.cfg | 42 - .../A_star_pathplanner.h | 62 - .../ipa_building_navigation/concorde_TSP.h | 92 - .../ipa_building_navigation/contains.h | 24 - .../ipa_building_navigation/distance_matrix.h | 261 - .../ipa_building_navigation/genetic_TSP.h | 91 - .../maximal_clique_finder.h | 69 - .../nearest_neighbor_TSP.h | 69 - .../include/ipa_building_navigation/node.h | 40 - .../set_cover_solver.h | 72 - .../include/ipa_building_navigation/timer.h | 183 - .../trolley_position_finder.h | 58 - .../tsp_solver_defines.h | 63 - .../ipa_building_navigation/tsp_solvers.h | 67 - .../common/src/A_star_pathplanner.cpp | 383 - .../common/src/concorde_TSP.cpp | 317 - .../common/src/genetic_TSP.cpp | 319 - .../common/src/maximal_clique_finder.cpp | 186 - .../common/src/nearest_neighbor_TSP.cpp | 102 - .../common/src/node.cpp | 63 - .../common/src/set_cover_solver.cpp | 306 - .../common/src/trolley_position_finder.cpp | 231 - .../ipa_building_navigation/package.xml | 37 - .../ipa_building_navigation/readme.md | 66 - .../dynamic_reconfigure_client.h | 248 - .../room_sequence_planning_action_server.h | 165 - ...oom_sequence_planning_action_server.launch | 9 - ...equence_planning_action_server_params.yaml | 53 - .../ros/src/boosttest.cpp | 216 - .../room_sequence_planning_action_client.cpp | 142 - .../room_sequence_planning_action_server.cpp | 901 - .../src/room_sequence_planning_evaluation.cpp | 2162 -- .../ros/src/tester.cpp | 215 - ...oom_sequence_planning_action_client.launch | 7 - .../room_sequence_planning_evaluation.launch | 7 - .../ipa_coverage_planning/CMakeLists.txt | 4 - .../ipa_coverage_planning/package.xml | 22 - .../ipa_room_exploration/CHANGELOG.rst | 15 - .../ipa_room_exploration/CMakeLists.txt | 320 - .../cfg/CoverageMonitor.cfg | 18 - .../cfg/RoomExploration.cfg | 123 - .../cmake/FindGUROBI.cmake | 62 - .../boustrophedon_explorator.h | 334 - .../convex_sensor_placement_explorator.h | 162 - .../energy_functional_explorator.h | 150 - .../include/ipa_room_exploration/fast_math.h | 1620 - .../flow_network_explorator.h | 509 - .../include/ipa_room_exploration/grid.h | 461 - .../grid_point_explorator.h | 108 - .../include/ipa_room_exploration/histogram.h | 132 - .../ipa_room_exploration/meanshift2d.h | 78 - .../ipa_room_exploration/nanoflann.hpp | 1398 - .../neural_network_explorator.h | 148 - .../ipa_room_exploration/neuron_class.h | 211 - .../ipa_room_exploration/room_rotator.h | 104 - .../include/ipa_room_exploration/timer.h | 183 - .../include/ipa_room_exploration/voronoi.hpp | 1273 - .../common/src/boustrophedon_explorator.cpp | 1160 - .../convex_sensor_placement_explorator.cpp | 596 - .../src/energy_functional_explorator.cpp | 388 - .../common/src/flow_network_explorator.cpp | 2045 - .../common/src/grid_point_explorator.cpp | 262 - .../common/src/meanshift2d.cpp | 161 - .../common/src/neural_network_explorator.cpp | 367 - .../common/src/room_rotator.cpp | 237 - .../ipa_room_exploration/package.xml | 48 - .../ipa_room_exploration/readme.md | 29 - .../ros/config/cleaning_costmap_params.yaml | 15 - .../ros/config/costmap_common_params.yaml | 13 - .../config/costmap_common_params_burger.yaml | 12 - .../config/costmap_common_params_waffle.yaml | 22 - .../costmap_common_params_waffle_pi.yaml | 12 - .../ros/config/global_costmap_params.yaml | 15 - .../coverage_check_server.h | 66 - .../dynamic_reconfigure_client.h | 248 - .../fov_to_robot_mapper.h | 102 - .../room_exploration_action_server.h | 325 - .../ros/launch/amcl.launch | 46 - .../ros/launch/clean_work.launch | 28 - .../cob_map_accessibility_analysis.launch | 14 - ...cob_map_accessibility_analysis_params.yaml | 19 - .../ros/launch/coverage_check_server.launch | 8 - .../ros/launch/coverage_monitor_server.launch | 9 - .../coverage_monitor_server_params.yaml | 19 - .../ros/launch/gazebo.launch | 20 - .../room_exploration_action_server.launch | 21 - ...room_exploration_action_server_params.yaml | 167 - .../ros/launch/talkerUltraSound.launch | 6 - .../ros/launch/turtlebot3_navigation.launch | 27 - .../ros/rviz/turtlebot3_karto.rviz | 295 - .../ros/rviz/turtlebot3_navigation.rviz | 571 - .../ros/src/coverage_check_server.cpp | 216 - .../ros/src/coverage_check_server_main.cpp | 13 - .../ros/src/coverage_monitor_server.cpp | 462 - .../ros/src/fov_to_robot_mapper.cpp | 359 - .../ros/src/next_goal.cpp | 245 - .../src/room_exploration_action_client.cpp | 225 - .../src/room_exploration_action_server.cpp | 1281 - .../ros/src/room_exploration_evaluation.cpp | 1692 - .../ipa_room_exploration/ros/src/sub.cpp | 45 - .../ros/test/room_exploration_client.launch | 28 - .../test/room_exploration_evaluation.launch | 7 - .../ipa_room_exploration/ros/worlds/sim.world | 1578 - .../ipa_room_segmentation/CMakeLists.txt | 183 - .../cfg/RoomSegmentation.cfg | 59 - .../semantic_hallway_SVM.xml | 26 - .../semantic_hallway_boost.xml | 32240 ---------------- .../classifier_models/semantic_room_SVM.xml | 26 - .../classifier_models/semantic_room_boost.xml | 32240 ---------------- .../vrf_conditional_field_weights.txt | 35 - .../classifier_models/vrf_doorway_boost.xml | 3260 -- .../classifier_models/vrf_hallway_boost.xml | 3260 -- .../classifier_models/vrf_room_boost.xml | 3260 -- .../common/files/test_maps/250_250.png | Bin 1063 -> 0 bytes .../common/files/test_maps/300_300.png | Bin 1100 -> 0 bytes .../common/files/test_maps/500_500.png | Bin 1181 -> 0 bytes .../common/files/test_maps/a.png | Bin 8462 -> 0 bytes .../common/files/test_maps/blank.png | Bin 9065 -> 0 bytes .../common/files/test_maps/quellen.txt | 8 - ...urg52_scan_furnitures_hallway_training.png | Bin 3441 -> 0 bytes ...eiburg52_scan_furnitures_room_training.png | Bin 3433 -> 0 bytes .../Freiburg52_scan_hallway_training.png | Bin 1191 -> 0 bytes .../Freiburg52_scan_room_training.png | Bin 1211 -> 0 bytes .../lab_a_hallway_training_map.png | Bin 5906 -> 0 bytes .../training_maps/lab_d_room_training_map.png | Bin 5430 -> 0 bytes ...lab_intel_furnitures_room_training_map.png | Bin 9364 -> 0 bytes .../lab_intel_hallway_training_map.png | Bin 3945 -> 0 bytes .../lab_ipa_hallway_training_map.png | Bin 4354 -> 0 bytes .../lab_ipa_room_training_map.png | Bin 4433 -> 0 bytes .../original_maps/Fr101_original.png | Bin 5013 -> 0 bytes .../original_maps/Fr52_original.png | Bin 858 -> 0 bytes .../original_maps/NLB_original.png | Bin 8670 -> 0 bytes .../lab_c_furnitures_original.png | Bin 8207 -> 0 bytes .../lab_d_furnitures_original.png | Bin 5347 -> 0 bytes .../original_maps/lab_intel_original.png | Bin 2938 -> 0 bytes .../original_maps/lab_ipa_original.png | Bin 4196 -> 0 bytes .../original_maps/office_e_original.png | Bin 15549 -> 0 bytes .../original_maps/office_h_original.png | Bin 2969 -> 0 bytes .../training_maps/training_Fr101.png | Bin 5611 -> 0 bytes .../training_maps/training_Fr52.png | Bin 1016 -> 0 bytes .../training_maps/training_NLB_furniture.png | Bin 9709 -> 0 bytes .../training_maps/training_intel.png | Bin 3827 -> 0 bytes .../training_lab_c_furnitures.png | Bin 4907 -> 0 bytes .../training_lab_d_furniture.png | Bin 5753 -> 0 bytes .../training_maps/training_lab_ipa.png | Bin 4685 -> 0 bytes .../training_maps/training_office_e.png | Bin 18931 -> 0 bytes .../training_maps/training_office_h.png | Bin 3769 -> 0 bytes .../voronoi_maps/Fr101_voronoi.png | Bin 18191 -> 0 bytes .../voronoi_maps/Fr52_voronoi.png | Bin 8559 -> 0 bytes .../voronoi_maps/NLB_voronoi.png | Bin 55107 -> 0 bytes .../voronoi_maps/lab_c_furnitures_voronoi.png | Bin 18623 -> 0 bytes .../voronoi_maps/lab_d_furnitures_voronoi.png | Bin 20694 -> 0 bytes .../voronoi_maps/lab_intel_voronoi.png | Bin 20853 -> 0 bytes .../voronoi_maps/lab_ipa_voronoi.png | Bin 11542 -> 0 bytes .../voronoi_maps/office_e_voronoi.png | Bin 42043 -> 0 bytes .../voronoi_maps/office_h_voronoi.png | Bin 28586 -> 0 bytes .../voronoi_node_maps/Fr101_voronoi_nodes.png | Bin 7376 -> 0 bytes .../voronoi_node_maps/Fr52_voronoi_nodes.png | Bin 1642 -> 0 bytes .../voronoi_node_maps/NLB_voronoi_nodes.png | Bin 15750 -> 0 bytes .../lab_c_furnitures_voronoi_nodes.png | Bin 7062 -> 0 bytes .../lab_d_furnitures_voronoi_nodes.png | Bin 7960 -> 0 bytes .../lab_intel_voronoi_nodes.png | Bin 5269 -> 0 bytes .../lab_ipa_voronoi_nodes.png | Bin 5353 -> 0 bytes .../office_e_voronoi_nodes.png | Bin 20799 -> 0 bytes .../office_h_voronoi_nodes.png | Bin 6628 -> 0 bytes .../abstract_voronoi_segmentation.h | 84 - .../adaboost_classifier.h | 49 - .../ipa_room_segmentation/clique_class.h | 113 - .../include/ipa_room_segmentation/contains.h | 13 - .../ipa_room_segmentation/cv_boost_loader.h | 8 - .../distance_segmentation.h | 19 - .../evaluation_segmentation.h | 40 - .../include/ipa_room_segmentation/fast_math.h | 1608 - .../include/ipa_room_segmentation/features.h | 81 - .../ipa_room_segmentation/meanshift2d.h | 76 - .../morphological_segmentation.h | 14 - .../ipa_room_segmentation/raycasting.h | 27 - .../ipa_room_segmentation/room_class.h | 94 - .../include/ipa_room_segmentation/timer.h | 184 - .../voronoi_random_field_features.h | 101 - .../voronoi_random_field_segmentation.h | 255 - .../voronoi_segmentation.h | 27 - .../wavefront_region_growing.h | 8 - .../src/abstract_voronoi_segmentation.cpp | 463 - .../common/src/adaboost_classifier.cpp | 512 - .../common/src/clique_class.cpp | 74 - .../common/src/contains.cpp | 53 - .../common/src/cv_boost_loader.cpp | 17 - .../common/src/distance_segmentation.cpp | 123 - .../common/src/evaluation_segmentation.cpp | 416 - .../common/src/features.cpp | 873 - .../common/src/meanshift2d.cpp | 161 - .../common/src/morphological_segmentation.cpp | 132 - .../common/src/raycasting.cpp | 194 - .../common/src/room_class.cpp | 257 - .../common/src/segmentation_tester.cpp | 208 - .../src/voronoi_random_field_features.cpp | 1052 - .../src/voronoi_random_field_segmentation.cpp | 1940 - .../common/src/voronoi_segmentation.cpp | 355 - .../common/src/wavefront_region_growing.cpp | 44 - .../ipa_room_segmentation/package.xml | 40 - .../ipa_room_segmentation/readme.md | 80 - .../dynamic_reconfigure_client.h | 248 - .../room_segmentation_server.h | 170 - .../room_segmentation_action_server.launch | 70 - ...oom_segmentation_action_server_params.yaml | 61 - .../ros/src/evaluation_numeric_properties.cpp | 920 - .../ros/src/room_segmentation_client.cpp | 235 - .../ros/src/room_segmentation_server.cpp | 895 - .../room_segmentation_action_client.launch | 7 - .../test/room_segmentation_evaluation.launch | 7 - .../src/pibot_imu/src/pibot_imu_node.cpp | 18 - .../Robot_ROS_APP/.catkin_workspace | 1 - Code/MowingRobot/Robot_ROS_APP/.gitignore | 2 - Code/MowingRobot/Robot_ROS_APP/Image/main.png | Bin 302840 -> 0 bytes Code/MowingRobot/Robot_ROS_APP/README.md | 32 - .../Robot_ROS_APP/dataset/data1.txt | 10468 ----- .../Robot_ROS_APP/dataset/data2.txt | 9313 ----- .../MowingRobot/Robot_ROS_APP/devel/.built_by | 1 - Code/MowingRobot/Robot_ROS_APP/devel/.catkin | 1 - .../Robot_ROS_APP/devel/.rosinstall | 2 - .../Robot_ROS_APP/devel/_setup_util.py | 304 - .../Robot_ROS_APP/devel/cmake.lock | 0 Code/MowingRobot/Robot_ROS_APP/devel/env.sh | 16 - .../Robot_ROS_APP/devel/local_setup.bash | 8 - .../Robot_ROS_APP/devel/local_setup.sh | 9 - .../Robot_ROS_APP/devel/local_setup.zsh | 8 - .../Robot_ROS_APP/devel/setup.bash | 8 - Code/MowingRobot/Robot_ROS_APP/devel/setup.sh | 96 - .../MowingRobot/Robot_ROS_APP/devel/setup.zsh | 8 - .../Robot_ROS_APP/src/.idea/.gitignore | 8 - .../Robot_ROS_APP/src/.idea/deployment.xml | 14 - .../Robot_ROS_APP/src/.idea/misc.xml | 4 - .../Robot_ROS_APP/src/.idea/modules.xml | 8 - .../Robot_ROS_APP/src/.idea/src.iml | 2 - .../Robot_ROS_APP/src/.idea/vcs.xml | 6 - .../Robot_ROS_APP/src/CMakeLists.txt | 1 - .../src/ros_merge_test/Map/01.png | Bin 1447 -> 0 bytes .../src/ros_merge_test/Map/02.png | Bin 1685 -> 0 bytes .../src/ros_merge_test/Map/03.png | Bin 1825 -> 0 bytes .../src/ros_merge_test/Map/04.png | Bin 1640 -> 0 bytes .../src/ros_merge_test/Map/05.png | Bin 1521 -> 0 bytes .../src/ros_merge_test/Map/06.png | Bin 1914 -> 0 bytes .../src/ros_merge_test/Map/07.png | Bin 1602 -> 0 bytes .../src/ros_merge_test/Map/08.png | Bin 2879 -> 0 bytes .../src/ros_merge_test/Map/09.png | Bin 2901 -> 0 bytes .../src/ros_merge_test/Map/10.png | Bin 3135 -> 0 bytes .../src/ros_merge_test/Map/11.png | Bin 3588 -> 0 bytes .../src/ros_merge_test/Map/12.png | Bin 2981 -> 0 bytes .../src/ros_merge_test/Map/13.png | Bin 3283 -> 0 bytes .../src/ros_merge_test/Map/output_image.png | Bin 3090 -> 0 bytes .../src/ros_merge_test/include/mapping.h | 31 - .../src/ros_merge_test/include/senddata.h | 29 - .../src/ros_merge_test/include/uwb.h | 36 - .../src/ros_merge_test/src/align.cpp | 154 - .../src/ros_merge_test/src/main.cpp | 53 - .../src/ros_merge_test/src/mapping.cpp | 89 - .../src/ros_merge_test/src/senddata.cpp | 83 - .../src/ros_merge_test/src/uwb.cpp | 68 - Code/MowingRobot/obj_dec/README.md | 15 - .../src/rknn_yolov5_demo/CMakeLists.txt | 80 - .../include/rknn_yolov5_demo/pub_info.h | 32 - .../rknn_yolov5_demo/msg/dis_info_array.msg | 1 - .../src/rknn_yolov5_demo/src/pub_info.cc | 28 - .../{PIBot_ROS => pibot_ros}/.gitignore | 0 .../.pibot_init_env.sh.swp | Bin .../README_BAK.md => pibot_ros/README.md} | 2 +- Code/MowingRobot/pibot_ros/a.out | Bin 0 -> 5496 bytes .../pibot_add_upstart.sh | 0 .../{PIBot_ROS => pibot_ros}/pibot_ap.sh | 0 .../pibot_clear_rosproc.sh | 0 .../pibot_create_swap.sh | 0 .../pibot_init_env.sh | 0 .../pibot_install_ros.sh | 0 .../pibot_remove_upstart.sh | 0 .../pibot_upstart/pibot.service | 0 .../pibot_upstart/pibot_restart.sh | 0 .../pibot_upstart/pibot_start.sh | 0 .../pibot_upstart/pibot_stop.sh | 0 .../pibot_upstart/pibotenv | 0 .../pibot_view_env.sh | 0 .../pypibot/pypibot/__init__.py | 34 +- .../pypibot/pypibot/assistant.py | 468 +- .../pypibot/pypibot/configer.py | 112 +- .../pypibot/pypibot/daemon.py | 280 +- .../pypibot/pypibot/err.py | 116 +- .../pypibot/pypibot/log.py | 518 +- .../pypibot/pypibot/mapconvert.py | 0 .../pypibot/pypibot/proxy.py | 0 .../pypibot/transport/dataholder.py | 480 +- .../pypibot/transport/main.py | 230 +- .../pypibot/transport/params.py | 148 +- .../pypibot/transport/set_default_params.py | 178 +- .../pypibot/transport/test_motors.py | 242 +- .../pypibot/transport/transport.py | 394 +- .../ros_package/abseil-cpp.tar.gz | Bin .../ros_package/astra.tar.gz | Bin .../ros_package/cartographer.tar.gz | Bin .../ros_package/cartographer_ros.tar.gz | Bin .../ros_package/ceres-solver.tar.gz | Bin .../ros_package/frontier_exploration.tar.gz | Bin .../ros_package/protobuf.tar.gz | Bin .../ros_ws/.catkin_workspace | 0 .../ros_ws/src/.gitignore | 0 .../ros_ws/src/FollowingCar/CMakeLists.txt | 60 + .../ros_ws/src/FollowingCar/include/Mat.h | 83 + .../ros_ws/src/FollowingCar}/include/align.h | 85 +- .../src/FollowingCar/include/lighthouse.h | 29 + .../ros_ws/src/FollowingCar/include/mapping.h | 40 + .../FollowingCar/include/read_sensor_data.h | 34 + .../src/FollowingCar/include/senddata.h | 50 + .../ros_ws/src/FollowingCar/include/system.h | 32 + .../ros_ws/src/FollowingCar/include/type.h | 50 + .../ros_ws/src/FollowingCar/include/uwb.h | 60 + .../ros_ws/src/FollowingCar}/msg/RawImu.msg | 0 .../ros_ws/src/FollowingCar}/msg/dis_info.msg | 0 .../src/FollowingCar/msg/dis_info_array.msg | 1 + .../ros_ws/src/FollowingCar/package.xml | 73 + .../ros_ws/src/FollowingCar/src/Mat.cpp | 368 + .../ros_ws/src/FollowingCar/src/align.cpp | 101 + .../src/FollowingCar/src/lighthouse.cpp | 79 + .../ros_ws/src/FollowingCar/src/main.cpp | 65 + .../ros_ws/src/FollowingCar/src/mapping.cpp | 149 + .../src/FollowingCar/src/read_sensor_data.cpp | 30 + .../ros_ws/src/FollowingCar/src/senddata.cpp | 147 + .../ros_ws/src/FollowingCar/src/system.cpp | 15 + .../ros_ws/src/FollowingCar/src/uwb.cpp | 121 + .../ros_ws/src/arbotix_ros/.gitignore | 0 .../ros_ws/src/arbotix_ros/LICENSE | 0 .../ros_ws/src/arbotix_ros/README.md | 0 .../src/arbotix_ros/arbotix/CHANGELOG.rst | 0 .../src/arbotix_ros/arbotix/CMakeLists.txt | 0 .../src/arbotix_ros/arbotix/package.xml | 0 .../arbotix_controllers/CHANGELOG.rst | 0 .../arbotix_controllers/CMakeLists.txt | 0 .../bin/gripper_controller | 0 .../bin/gripper_controller.py | 0 .../bin/one_side_gripper_controller.py | 0 .../bin/parallel_gripper_action_controller.py | 0 .../bin/parallel_gripper_controller.py | 0 .../bin/parallel_single_servo_controller.py | 0 .../arbotix_controllers/package.xml | 0 .../arbotix_firmware/CHANGELOG.rst | 0 .../arbotix_firmware/CMakeLists.txt | 0 .../arbotix_ros/arbotix_firmware/package.xml | 0 .../arbotix_firmware/src/diff_controller.h | 0 .../arbotix_ros/arbotix_firmware/src/ros.h | 0 .../arbotix_ros/arbotix_firmware/src/ros.ino | 0 .../arbotix_firmware/src/user_hooks.h | 0 .../arbotix_ros/arbotix_msgs/CHANGELOG.rst | 0 .../arbotix_ros/arbotix_msgs/CMakeLists.txt | 0 .../arbotix_ros/arbotix_msgs/msg/Analog.msg | 0 .../arbotix_ros/arbotix_msgs/msg/Digital.msg | 0 .../src/arbotix_ros/arbotix_msgs/package.xml | 0 .../arbotix_ros/arbotix_msgs/srv/Enable.srv | 0 .../arbotix_ros/arbotix_msgs/srv/Relax.srv | 0 .../arbotix_ros/arbotix_msgs/srv/SetSpeed.srv | 0 .../arbotix_msgs/srv/SetupChannel.srv | 0 .../arbotix_ros/arbotix_python/CHANGELOG.rst | 0 .../arbotix_ros/arbotix_python/CMakeLists.txt | 0 .../arbotix_python/bin/arbotix_driver | 0 .../arbotix_python/bin/arbotix_gui | 0 .../arbotix_python/bin/arbotix_terminal | 0 .../arbotix_python/demos/diagnostics.yaml | 0 .../arbotix_ros/arbotix_python/mainpage.dox | 0 .../arbotix_ros/arbotix_python/package.xml | 0 .../src/arbotix_ros/arbotix_python/setup.py | 0 .../src/arbotix_python/__init__.py | 0 .../src/arbotix_python/arbotix.py | 0 .../arbotix_python/src/arbotix_python/ax12.py | 0 .../src/arbotix_python/controllers.py | 0 .../src/arbotix_python/diff_controller.py | 0 .../src/arbotix_python/follow_controller.py | 0 .../arbotix_python/src/arbotix_python/io.py | 0 .../src/arbotix_python/joints.py | 0 .../src/arbotix_python/linear_controller.py | 0 .../src/arbotix_python/publishers.py | 0 .../src/arbotix_python/servo_controller.py | 0 .../arbotix_ros/arbotix_sensors/CHANGELOG.rst | 0 .../arbotix_sensors/CMakeLists.txt | 0 .../arbotix_sensors/bin/ir_ranger.py | 0 .../arbotix_sensors/bin/max_sonar.py | 0 .../arbotix_ros/arbotix_sensors/package.xml | 0 .../src/arbotix_ros/arbotix_sensors/setup.py | 0 .../src/arbotix_sensors/__init__.py | 0 .../src/arbotix_sensors/sensors.py | 0 .../ros_ws/src/common_utils/CMakeLists.txt | 0 .../include/common_utils/common_utils.h | 0 .../ros_ws/src/common_utils/package.xml | 0 .../src/common_utils/src/common_utils.cpp | 0 .../imu_complementary_filter/CHANGELOG.rst | 0 .../imu_complementary_filter/CMakeLists.txt | 0 .../complementary_filter.h | 0 .../complementary_filter_ros.h | 0 .../launch/complementary_filter.launch | 0 .../src/imu_complementary_filter/package.xml | 0 .../src/complementary_filter.cpp | 0 .../src/complementary_filter_node.cpp | 0 .../src/complementary_filter_ros.cpp | 0 .../ros_ws/src/imu_filter/CMakeLists.txt | 0 .../ros_ws/src/imu_filter/README.md | 0 .../ros_ws/src/imu_filter/cfg/MyStuff.cfg | 0 .../ros_ws/src/imu_filter/cfg/MyStuff2.cfg | 0 .../ros_ws/src/imu_filter/package.xml | 0 .../src/imu_filter/src/Madgwick_filter.cpp | 0 .../src/imu_filter/src/Mahony_filter.cpp | 0 .../src/imu_filter/src/bias_calculator.cpp | 0 .../src/imu_filter_madgwick/CHANGELOG.rst | 0 .../src/imu_filter_madgwick/CMakeLists.txt | 0 .../ros_ws/src/imu_filter_madgwick/COPYING | 0 .../ros_ws/src/imu_filter_madgwick/Makefile | 0 .../cfg/ImuFilterMadgwick.cfg | 0 .../imu_filter_nodelet.xml | 0 .../include/imu_filter_madgwick/imu_filter.h | 0 .../imu_filter_madgwick/imu_filter_nodelet.h | 0 .../imu_filter_madgwick/imu_filter_ros.h | 0 .../stateless_orientation.h | 0 .../include/imu_filter_madgwick/world_frame.h | 0 .../src/imu_filter_madgwick/package.xml | 0 .../sample/ardrone_imu.bag | Bin .../sample/phidgets_imu_upside_down.bag | Bin .../sample/sparkfun_razor.bag | Bin .../imu_filter_madgwick/src/imu_filter.cpp | 0 .../src/imu_filter_node.cpp | 0 .../src/imu_filter_nodelet.cpp | 0 .../src/imu_filter_ros.cpp | 0 .../src/stateless_orientation.cpp | 0 .../test/madgwick_test.cpp | 0 .../test/stateless_orientation_test.cpp | 0 .../imu_filter_madgwick/test/test_helpers.h | 0 .../ros_ws/src/ipa_coverage_planning | 1 + .../laserscan_to_pointcloud/CMakeLists.txt | 0 .../config/default_scan_shadow_filter.yaml | 0 ...rscan_to_pointcloud_shadow_filtered.launch | 0 .../src/laserscan_to_pointcloud/package.xml | 0 .../src/laserscan_to_pointcloud.cpp | 0 .../ros_ws/src/pibot/CMakeLists.txt | 0 .../ros_ws/src/pibot/cfg/CalibrateAngular.cfg | 0 .../ros_ws/src/pibot/cfg/CalibrateLinear.cfg | 0 .../src/pibot/include/pibot/msg_definition.h | 0 .../src/pibot/include/pibot/pibot_facade.h | 0 .../ros_ws/src/pibot/include/pibot/utils.h | 0 .../pibot/launch/navigation_multi_demo.launch | 0 .../ros_ws/src/pibot/launch/start_amcl.launch | 0 .../src/pibot/launch/start_carto.launch | 0 .../launch/start_carto_without_odom.launch | 0 .../src/pibot/launch/start_gmapping.launch | 0 .../ros_ws/src/pibot/launch/stop_carto.launch | 0 .../src/pibot/launch/stop_gmapping.launch | 0 .../src/pibot/launch/t_cartographer.launch | 0 .../launch/t_cartographer_without_odom.launch | 0 .../ros_ws/src/pibot/launch/t_gmapping.launch | 0 .../ros_ws/src/pibot/package.xml | 0 .../src/pibot/scripts/calibrate_angular.py | 0 .../src/pibot/scripts/calibrate_linear.py | 0 .../ros_ws/src/pibot/scripts/get_pos_demo.py | 0 .../ros_ws/src/pibot/scripts/killall_carto.sh | 0 .../pibot/scripts/killall_hector_mapping.sh | 0 .../ros_ws/src/pibot/scripts/launch_demo.py | 0 .../ros_ws/src/pibot/scripts/marker_server.py | 0 .../src/pibot/scripts/navigation_goal.py | 0 .../pibot/scripts/navigation_multi_goals.py | 0 .../pibot/scripts/teleop_twist_keyboard.py | 0 .../src/pibot/scripts/transform_utils.py | 0 .../ros_ws/src/pibot/src/main.cpp | 0 .../ros_ws/src/pibot/src/pibot_facade.cpp | 0 .../ros_ws/src/pibot_3dsensor/.gitignore | 0 .../ros_ws/src/pibot_3dsensor/CMakeLists.txt | 0 .../calibration/depth_PS1080_PrimeSense.yaml | 0 .../calibration/rgb_PS1080_PrimeSense.yaml | 0 .../pibot_3dsensor/config/astra_camera.yaml | 54 +- .../pibot_3dsensor/config/astra_depth.yaml | 40 +- .../src/pibot_3dsensor/launch/astra.launch | 0 .../src/pibot_3dsensor/launch/d435i.launch | 0 .../src/pibot_3dsensor/launch/kinectV1.launch | 0 .../src/pibot_3dsensor/launch/xtion.launch | 0 .../ros_ws/src/pibot_3dsensor/package.xml | 0 .../ros_ws/src/pibot_bringup/CMakeLists.txt | 0 .../src/pibot_bringup/cfg/pibot_parameter.cfg | 0 .../config/joystick-holonomic.config.yaml | 0 .../pibot_bringup/config/joystick.config.yaml | 0 .../include/pibot_bringup/base_driver.h | 0 .../pibot_bringup/base_driver_config.h | 0 .../include/pibot_bringup/data_holder.h | 0 .../include/pibot_bringup/dataframe.h | 0 .../include/pibot_bringup/queue.h | 0 .../include/pibot_bringup/serial_transport.h | 0 .../include/pibot_bringup/serial_transport2.h | 0 .../include/pibot_bringup/simple_dataframe.h | 0 .../pibot_bringup/simple_dataframe_master.h | 62 +- .../include/pibot_bringup/transport.h | 60 +- .../include/pibot_bringup/variable_queue.h | 0 .../launch/apollo_bringup_smoother.launch | 0 .../src/pibot_bringup/launch/bringup.launch | 0 .../launch/bringup_with_imu.launch | 32 +- .../src/pibot_bringup/launch/joystick.launch | 0 .../launch/keyboard_teleop.launch | 0 .../src/pibot_bringup/launch/model.launch | 6 +- .../src/pibot_bringup/launch/robot.launch | 0 .../pibot_bringup/launch/usb_camera.launch | 0 .../launch/usb_camera_old.launch | 0 .../pibot_bringup/launch/view_model.launch | 14 +- .../ros_ws/src/pibot_bringup/package.xml | 0 .../src/pibot_bringup/scripts/odom_ekf.py | 13 + .../src/pibot_bringup/src/base_driver.cpp | 10 +- .../pibot_bringup/src/base_driver_config.cpp | 0 .../src/pibot_bringup/src/data_holder.cpp | 0 .../ros_ws/src/pibot_bringup/src/main.cpp | 0 .../pibot_bringup/src/serial_transport.cpp | 0 .../pibot_bringup/src/serial_transport2.cpp | 0 .../src/simple_dataframe_master.cpp | 0 .../ros_ws/src/pibot_bringup/src/uwb.cpp | 101 + .../src/pibot_description/CMakeLists.txt | 0 .../pibot_description/launch/demo_urdf.launch | 0 .../pibot_description/launch/gazebo.launch | 38 +- .../ros_ws/src/pibot_description/manifest.xml | 10 +- .../meshes/base/apolloX_base.stl | Bin .../meshes/base/apollo_base.stl | Bin .../meshes/base/hades_base.stl | Bin .../meshes/base/hera_base.stl | Bin .../meshes/base/zeus_base.stl | Bin .../pibot_description/meshes/sensor/astra.dae | 0 .../pibot_description/meshes/sensor/astra.jpg | Bin .../pibot_description/meshes/sensor/d435i.dae | 0 .../meshes/sensor/rplidar.dae | 0 .../pibot_description/meshes/sensor/xtion.dae | 0 .../pibot_description/meshes/sensor/xtion.jpg | Bin .../ros_ws/src/pibot_description/package.xml | 0 .../ros_ws/src/pibot_description/urdf.rviz | 0 .../urdf/accessories/camera.urdf.xacro | 0 .../urdf/accessories/lidar.urdf.xacro | 0 .../pibot_description/urdf/apollo.urdf.xacro | 116 +- .../pibot_description/urdf/apolloX.urdf.xacro | 134 +- .../urdf/components/pibot_board.urdf.xacro | 0 .../urdf/components/pibot_pillar.urdf.xacro | 0 .../urdf/components/pibot_properties.xacro | 0 .../src/pibot_description/urdf/demo_urdf.urdf | 0 .../pibot_description/urdf/hades.urdf.xacro | 92 +- .../pibot_description/urdf/hera.urdf.xacro | 92 +- .../pibot_description/urdf/pibot.urdf.xacro | 78 +- .../src/pibot_description/urdf/pibot.xacro | 0 .../pibot_description/urdf/zeus.urdf.xacro | 92 +- .../ros_ws/src/pibot_imu/CMakeLists.txt | 0 .../pibot_imu/include/pibot_imu/pibot_imu.h | 0 .../src/pibot_imu/launch/imu_ahrs.launch | 0 .../ros_ws/src/pibot_imu/package.xml | 0 .../scripts/simple_magnometer_calibration | 0 .../ros_ws/src/pibot_imu/src/pibot_imu.cpp | 8 - .../src/pibot_imu/src/pibot_imu_node.cpp | 12 + .../ros_ws/src/pibot_lidar/CMakeLists.txt | 0 .../src/pibot_lidar/launch/astra.launch | 0 .../src/pibot_lidar/launch/astra_pro.launch | 0 .../src/pibot_lidar/launch/eai-g4.launch | 0 .../src/pibot_lidar/launch/eai-x4.launch | 0 .../src/pibot_lidar/launch/kinectV1.launch | 0 .../src/pibot_lidar/launch/kinectV2.launch | 0 .../pibot_lidar/launch/rplidar-a2m7.launch | 0 .../src/pibot_lidar/launch/rplidar-a3.launch | 0 .../src/pibot_lidar/launch/rplidar-s1.launch | 0 .../src/pibot_lidar/launch/rplidar.launch | 0 .../src/pibot_lidar/launch/xtion.launch | 0 .../ros_ws/src/pibot_lidar/package.xml | 0 .../ros_ws/src/pibot_msgs/CMakeLists.txt | 0 .../ros_ws/src/pibot_msgs/msg/Action.msg | 0 .../ros_ws/src/pibot_msgs/msg/NaviStatus.msg | 0 .../ros_ws/src/pibot_msgs/msg/PointArray.msg | 0 .../ros_ws/src/pibot_msgs/msg/Pose.msg | 0 .../ros_ws/src/pibot_msgs}/msg/RawImu.msg | 0 .../src/pibot_msgs/msg/RelocateResult.msg | 0 .../ros_ws/src/pibot_msgs/msg/RobotState.msg | 0 .../ros_ws/src/pibot_msgs/package.xml | 0 .../src/pibot_msgs/srv/ActionParams.srv | 0 .../src/pibot_msgs/srv/ManualLocation.srv | 0 .../src/pibot_msgs/srv/MappingParams.srv | 0 .../ros_ws/src/pibot_msgs/srv/NaviParams.srv | 0 .../ros_ws/src/pibot_msgs/srv/Relocation.srv | 0 .../src/pibot_msgs/srv/SetMapParams.srv | 0 .../src/pibot_msgs/srv/SetPoseParams.srv | 0 .../src/pibot_navigation/CMakeLists.txt | 0 .../config/frontier_exploration.yaml | 0 .../configuration_files/lidar_2d_v0.2.lua | 0 .../lidar_2d_v0.2_odom.lua | 0 .../lidar_2d_v0.2_odom_imu.lua | 0 .../configuration_files/lidar_2d_v1.0.lua | 0 .../lidar_2d_v1.0_odom.lua | 0 .../lidar_2d_v1.0_odom_imu.lua | 0 .../launch/cartographer.launch | 0 .../launch/cartographer_with_odom.launch | 0 .../launch/depth_camera_gmapping.launch | 0 .../launch/depth_camera_nav.launch | 0 .../launch/frontier_exploration.launch | 0 .../pibot_navigation/launch/gmapping.launch | 0 .../launch/hector_mapping.launch | 0 .../launch/hector_mapping_without_odom.launch | 0 .../launch/include/amcl.launch.xml | 0 .../launch/include/geotiff_mapper.launch.xml | 0 .../launch/include/gmapping.launch.xml | 0 .../hector_imu_attitude_to_tf.launch.xml | 0 .../launch/include/hector_mapping.launch.xml | 0 .../hector_mapping_without_odom.launch.xml | 0 .../launch/include/karto_mapping.launch.xml | 0 .../launch/include/move_base.launch.xml | 0 .../launch/include/rgbd_amcl.launch.xml | 0 .../launch/include/rgbd_gmapping.launch.xml | 0 .../launch/include/rgbd_move_base.launch.xml | 0 .../pibot_navigation/launch/karto_slam.launch | 0 .../src/pibot_navigation/launch/nav.launch | 2 +- .../pibot_navigation/launch/save_map.launch | 0 .../launch/view_cartographer.launch | 0 .../pibot_navigation/launch/view_nav.launch | 0 .../ros_ws/src/pibot_navigation/maps/160.yaml | 7 + .../src/pibot_navigation/maps}/160_160.png | Bin .../src/pibot_navigation/maps}/400_400.png | Bin .../ros_ws/src/pibot_navigation/maps/9.png | 4 + .../ros_ws/src/pibot_navigation/maps/9.yaml | 7 + .../ros_ws/src/pibot_navigation/maps/a.pgm | 5 + .../ros_ws/src/pibot_navigation/maps/a.yaml | 7 + .../src/pibot_navigation/maps/blank.pgm | 0 .../src/pibot_navigation/maps/blank.yaml | 0 .../src/pibot_navigation/maps/my_lab.pgm | 0 .../src/pibot_navigation/maps/my_lab.yaml | 0 .../ros_ws/src/pibot_navigation}/maps/sim.pgm | 0 .../src/pibot_navigation}/maps/sim.yaml | 0 .../src/pibot_navigation/maps}/test1.png | Bin .../ros_ws/src/pibot_navigation/package.xml | 0 .../params/costmap_common_params_apollo.yaml | 0 .../params/costmap_common_params_apolloX.yaml | 0 .../costmap_common_params_apolloXL.yaml | 0 .../params/costmap_common_params_hades.yaml | 0 .../params/costmap_common_params_hadesX.yaml | 0 .../params/costmap_common_params_hera.yaml | 0 .../params/costmap_common_params_zeus.yaml | 0 .../dwa_local_planner_params_apollo.yaml | 6 +- .../dwa_local_planner_params_apolloX.yaml | 0 .../dwa_local_planner_params_apolloXL.yaml | 0 .../dwa_local_planner_params_hades.yaml | 0 .../dwa_local_planner_params_hadesX.yaml | 0 .../params/dwa_local_planner_params_hera.yaml | 0 .../params/dwa_local_planner_params_zeus.yaml | 0 .../params/global_costmap_params.yaml | 0 .../params/global_planner_params.yaml | 0 .../params/local_costmap_params.yaml | 0 .../params/move_base_params.yaml | 0 .../src/pibot_navigation/rviz/demo_2d.rviz | 0 .../ros_ws/src/pibot_navigation/rviz/new.rviz | 0 .../rviz/view_navigation.rviz | 196 +- .../ros_ws/src/pibot_simulator/CMakeLists.txt | 0 .../src/pibot_simulator/launch/bringup.launch | 0 .../launch/bringup_turtlebot.launch | 0 .../src/pibot_simulator/launch/nav.launch | 2 +- .../launch/nav_turtlebot.launch | 2 +- .../src/pibot_simulator/maps/blank_map.pgm | 0 .../src/pibot_simulator/maps/blank_map.yaml | 0 .../maps/blank_map_with_obstacle.pgm | 0 .../maps/blank_map_with_obstacle.yaml | 0 .../src/pibot_simulator/maps/test_map.pgm | 0 .../src/pibot_simulator/maps/test_map.yaml | 0 .../ros_ws/src/pibot_simulator/package.xml | 0 .../src/pibot_simulator/params/arbotix.yaml | 0 .../params/costmap_common_params.yaml | 0 .../params/dwa_local_planner_params.yaml | 0 .../params/global_costmap_params.yaml | 0 .../params/global_planner_params.yaml | 0 .../params/local_costmap_params.yaml | 0 .../params/move_base_params.yaml | 0 .../ros_ws/src/pibot_slam_3d/CMakeLists.txt | 0 .../src/pibot_slam_3d/config/mapping.rviz | 0 .../src/pibot_slam_3d/config/navigation.rviz | 0 .../src/pibot_slam_3d/launch/astra.launch | 0 .../src/pibot_slam_3d/launch/d435i.launch | 0 .../src/pibot_slam_3d/launch/kinectV1.launch | 0 .../src/pibot_slam_3d/launch/rtabmap.launch | 0 .../src/pibot_slam_3d/launch/view.launch | 0 .../src/pibot_slam_3d/launch/xtion.launch | 0 .../ros_ws/src/pibot_slam_3d/package.xml | 0 .../ros_ws/src/rplidar_ros/CHANGELOG.rst | 0 .../ros_ws/src/rplidar_ros/CMakeLists.txt | 0 .../ros_ws/src/rplidar_ros/LICENSE | 0 .../ros_ws/src/rplidar_ros/README.md | 0 .../src/rplidar_ros/launch/rplidar.launch | 20 +- .../src/rplidar_ros/launch/rplidar_a3.launch | 20 +- .../src/rplidar_ros/launch/rplidar_s1.launch | 0 .../rplidar_ros/launch/rplidar_s1_tcp.launch | 0 .../rplidar_ros/launch/test_rplidar.launch | 0 .../rplidar_ros/launch/test_rplidar_a3.launch | 0 .../rplidar_ros/launch/view_rplidar.launch | 0 .../rplidar_ros/launch/view_rplidar_a3.launch | 0 .../rplidar_ros/launch/view_rplidar_s1.launch | 0 .../launch/view_rplidar_s1_tcp.launch | 0 .../ros_ws/src/rplidar_ros/package.xml | 0 .../ros_ws/src/rplidar_ros/rplidar_A1.png | Bin .../ros_ws/src/rplidar_ros/rplidar_A2.png | Bin .../ros_ws/src/rplidar_ros/rviz/rplidar.rviz | 0 .../rplidar_ros/scripts/create_udev_rules.sh | 0 .../rplidar_ros/scripts/delete_udev_rules.sh | 0 .../src/rplidar_ros/scripts/rplidar.rules | 0 .../ros_ws/src/rplidar_ros/sdk/README.txt | 0 .../src/rplidar_ros/sdk/include/rplidar.h | 0 .../src/rplidar_ros/sdk/include/rplidar_cmd.h | 0 .../rplidar_ros/sdk/include/rplidar_driver.h | 0 .../sdk/include/rplidar_protocol.h | 0 .../src/rplidar_ros/sdk/include/rptypes.h | 0 .../sdk/src/arch/linux/arch_linux.h | 0 .../sdk/src/arch/linux/net_serial.cpp | 0 .../sdk/src/arch/linux/net_serial.h | 0 .../sdk/src/arch/linux/net_socket.cpp | 0 .../rplidar_ros/sdk/src/arch/linux/thread.hpp | 0 .../rplidar_ros/sdk/src/arch/linux/timer.cpp | 0 .../rplidar_ros/sdk/src/arch/linux/timer.h | 0 .../sdk/src/arch/macOS/arch_macOS.h | 0 .../sdk/src/arch/macOS/net_serial.cpp | 0 .../sdk/src/arch/macOS/net_serial.h | 0 .../sdk/src/arch/macOS/net_socket.cpp | 0 .../rplidar_ros/sdk/src/arch/macOS/thread.hpp | 0 .../rplidar_ros/sdk/src/arch/macOS/timer.cpp | 0 .../rplidar_ros/sdk/src/arch/macOS/timer.h | 0 .../sdk/src/arch/win32/arch_win32.h | 0 .../sdk/src/arch/win32/net_serial.cpp | 0 .../sdk/src/arch/win32/net_serial.h | 0 .../sdk/src/arch/win32/net_socket.cpp | 0 .../rplidar_ros/sdk/src/arch/win32/timer.cpp | 0 .../rplidar_ros/sdk/src/arch/win32/timer.h | 0 .../sdk/src/arch/win32/winthread.hpp | 0 .../src/rplidar_ros/sdk/src/hal/abs_rxtx.h | 0 .../src/rplidar_ros/sdk/src/hal/assert.h | 0 .../src/rplidar_ros/sdk/src/hal/byteops.h | 0 .../src/rplidar_ros/sdk/src/hal/event.h | 0 .../src/rplidar_ros/sdk/src/hal/locker.h | 0 .../src/rplidar_ros/sdk/src/hal/socket.h | 0 .../src/rplidar_ros/sdk/src/hal/thread.cpp | 0 .../src/rplidar_ros/sdk/src/hal/thread.h | 0 .../src/rplidar_ros/sdk/src/hal/types.h | 0 .../ros_ws/src/rplidar_ros/sdk/src/hal/util.h | 0 .../rplidar_ros/sdk/src/rplidar_driver.cpp | 0 .../rplidar_ros/sdk/src/rplidar_driver_TCP.h | 0 .../rplidar_ros/sdk/src/rplidar_driver_impl.h | 0 .../sdk/src/rplidar_driver_serial.h | 0 .../src/rplidar_ros/sdk/src/sdkcommon.h | 0 .../ros_ws/src/rplidar_ros/src/client.cpp | 0 .../ros_ws/src/rplidar_ros/src/node.cpp | 0 .../ros_ws/src/simple_follower/CMakeLists.txt | 384 +- .../launch/laser_follower.launch | 8 +- .../launch/nodes/follower.launch | 26 +- .../launch/nodes/laserTracker.launch | 16 +- .../launch/nodes/visualTracker.launch | 34 +- .../launch/visual_follower.launch | 8 +- .../src/simple_follower/msg/position.msg | 6 +- .../ros_ws/src/simple_follower/package.xml | 122 +- .../simple_follower/parameters/PID_param.yaml | 6 +- .../src/simple_follower/scripts/follower.py | 0 .../simple_follower/scripts/laserTracker.py | 0 .../src/simple_follower/scripts/testCode.py | 228 +- .../simple_follower/scripts/visualTracker.py | 0 .../ros_ws/src/upbot_location}/CMakeLists.txt | 16 +- .../ros_ws/src/upbot_location/include/Mat.h | 83 + .../ros_ws/src/upbot_location/include/align.h | 55 + .../src/upbot_location/include/lighthouse.h | 29 + .../src/upbot_location/include/mapping.h | 40 + .../upbot_location/include/read_sensor_data.h | 34 + .../src/upbot_location/include/senddata.h | 37 + .../src/upbot_location/include/system.h | 32 + .../ros_ws/src/upbot_location}/include/type.h | 23 +- .../ros_ws/src/upbot_location/include/uwb.h | 58 + .../ros_ws/src/upbot_location/msg/RawImu.msg | 7 + .../ros_ws/src/upbot_location}/package.xml | 6 +- .../ros_ws/src/upbot_location/src/Mat.cpp | 368 + .../ros_ws/src/upbot_location/src/align.cpp | 183 + .../src/upbot_location/src/lighthouse.cpp | 79 + .../ros_ws/src/upbot_location/src/main.cpp | 65 + .../ros_ws/src/upbot_location/src/mapping.cpp | 149 + .../upbot_location/src/read_sensor_data.cpp | 30 + .../src/upbot_location/src/senddata.cpp | 64 + .../ros_ws/src/upbot_location/src/system.cpp | 15 + .../ros_ws/src/upbot_location/src/uwb.cpp | 171 + .../ros_ws/src/upbot_vision/CMakeLists.txt | 78 + .../include/upbot_vision}/Timer.h | 0 .../include/upbot_vision}/detection.h | 8 +- .../include/upbot_vision}/postprocess.h | 6 +- .../include/upbot_vision}/preprocess.h | 8 +- .../include/upbot_vision}/ranging.h | 160 +- .../model/RK3588/yolov5s-640-640.rknn | Bin .../ros_ws/src/upbot_vision}/model/bus.jpg | Bin .../model/coco_80_labels_list.txt | 0 .../ros_ws/src/upbot_vision}/msg/dis_info.msg | 0 .../src/upbot_vision/msg/dis_info_array.msg | 1 + .../ros_ws/src/upbot_vision}/package.xml | 6 +- .../ros_ws/src/upbot_vision}/src/detection.cc | 2 +- .../ros_ws/src/upbot_vision}/src/main.cc | 169 +- .../src/upbot_vision}/src/postprocess.cc | 4 +- .../src/upbot_vision}/src/preprocess.cc | 2 +- .../ros_ws/src/upbot_vision}/src/ranging.cc | 791 +- .../ros_ws/src/upbot_vision}/src/sub_dis.cc | 14 +- .../ros_ws/src/ydlidar-1.2.1/.gitignore | 0 .../ros_ws/src/ydlidar-1.2.1/CMakeLists.txt | 0 .../ros_ws/src/ydlidar-1.2.1/README.md | 0 .../ros_ws/src/ydlidar-1.2.1/launch/f4.launch | 0 .../src/ydlidar-1.2.1/launch/f4_view.launch | 0 .../ros_ws/src/ydlidar-1.2.1/launch/g4.launch | 0 .../src/ydlidar-1.2.1/launch/g4_view.launch | 0 .../src/ydlidar-1.2.1/launch/lidar.launch | 0 .../src/ydlidar-1.2.1/launch/lidar.rviz | 0 .../ydlidar-1.2.1/launch/lidar_rviz.launch | 0 .../ydlidar-1.2.1/launch/lidar_view.launch | 0 .../ros_ws/src/ydlidar-1.2.1/launch/x4.launch | 0 .../src/ydlidar-1.2.1/launch/x4_view.launch | 0 .../ros_ws/src/ydlidar-1.2.1/package.xml | 0 .../src/ydlidar-1.2.1/sdk/CMakeLists.txt | 0 .../src/ydlidar-1.2.1/sdk/include/locker.h | 0 .../src/ydlidar-1.2.1/sdk/include/serial.h | 0 .../src/ydlidar-1.2.1/sdk/include/thread.h | 0 .../src/ydlidar-1.2.1/sdk/include/v8stdint.h | 0 .../sdk/include/ydlidar_driver.h | 560 +- .../ros_ws/src/ydlidar-1.2.1/sdk/src/common.h | 0 .../src/impl/list_ports/list_ports_linux.cpp | 0 .../src/impl/list_ports/list_ports_osx.cpp | 0 .../src/impl/list_ports/list_ports_win.cpp | 0 .../ydlidar-1.2.1/sdk/src/impl/unix/unix.h | 0 .../sdk/src/impl/unix/unix_serial.cpp | 0 .../sdk/src/impl/unix/unix_serial.h | 0 .../sdk/src/impl/unix/unix_timer.cpp | 34 +- .../sdk/src/impl/unix/unix_timer.h | 0 .../ydlidar-1.2.1/sdk/src/impl/windows/win.h | 22 +- .../sdk/src/impl/windows/win_serial.cpp | 1494 +- .../sdk/src/impl/windows/win_serial.h | 0 .../sdk/src/impl/windows/win_timer.cpp | 52 +- .../sdk/src/impl/windows/win_timer.h | 0 .../src/ydlidar-1.2.1/sdk/src/serial.cpp | 0 .../ydlidar-1.2.1/sdk/src/ydlidar_driver.cpp | 2306 +- .../src/ydlidar-1.2.1/src/ydlidar_client.cpp | 0 .../src/ydlidar-1.2.1/src/ydlidar_node.cpp | 0 .../src/ydlidar-1.2.1/startup/initenv.sh | 0 .../src/ydlidar-1.2.1/test/CMakeLists.txt | 0 .../src/ydlidar-1.2.1/test/laser_test.cpp | 0 .../src/ydlidar-1.2.1/test/laser_test.h | 0 .../ros_ws/src/ydlidar-1.2.1/test/main.cpp | 0 .../rules/56-orbbec-usb.rules | 0 .../rules/98-pibot-usb.rules | 0 .../rules/99-realsense-libusb.rules | 0 .../Linux/librknn_api/aarch64/librknn_api.so | 1 + .../Linux/librknn_api/aarch64}/librknnrt.so | Bin .../Linux/librknn_api/include/rknn_api.h | 0 .../librknn_api/include/rknn_matmul_api.h | 0 .../aarch64/usr/bin/restart_rknn.sh | 0 .../rknn_server/aarch64/usr/bin/rknn_server | Bin .../rknn_server/aarch64/usr/bin/start_rknn.sh | 0 .../runtime/init.rknn_server.rc | 0 .../third_party/build.sh | 0 .../third_party/create_ap/.gitignore | 0 .../third_party/create_ap/LICENSE | 0 .../third_party/create_ap/Makefile | 0 .../third_party/create_ap/README.md | 0 .../third_party/create_ap/bash_completion | 0 .../third_party/create_ap/config_ap.sh | 0 .../third_party/create_ap/create_ap | 0 .../third_party/create_ap/create_ap.conf | 0 .../third_party/create_ap/create_ap.openrc | 0 .../create_ap/create_ap.service.template | 0 .../third_party/create_ap/howto/realtek.md | 0 .../third_party/create_ap/lnxrouter | 0 .../third_party/iai_kinect2/LICENSE | 0 .../third_party/iai_kinect2/README.md | 0 .../iai_kinect2/iai_kinect2/CMakeLists.txt | 0 .../iai_kinect2/iai_kinect2/package.xml | 0 .../iai_kinect2/kinect2_bridge/CMakeLists.txt | 0 .../iai_kinect2/kinect2_bridge/README.md | 0 .../data/196605135147/calib_color.yaml | 0 .../data/196605135147/calib_depth.yaml | 0 .../data/196605135147/calib_ir.yaml | 0 .../data/196605135147/calib_pose.yaml | 0 .../data/299150235147/calib_color.yaml | 0 .../data/299150235147/calib_ir.yaml | 0 .../data/299150235147/calib_pose.yaml | 0 .../kinect2_bridge/kinect2_definitions.h | 0 .../launch/kinect2_bridge.launch | 0 .../kinect2_bridge/nodelet_plugins.xml | 0 .../iai_kinect2/kinect2_bridge/package.xml | 0 .../kinect2_bridge/src/kinect2_bridge.cpp | 0 .../kinect2_calibration/CMakeLists.txt | 0 .../iai_kinect2/kinect2_calibration/README.md | 0 .../kinect2_calibration_definitions.h | 0 .../kinect2_calibration/package.xml | 0 .../patterns/chess5x7x0.03.pdf | Bin .../patterns/chess5x7x0.03.svg | 0 .../patterns/chess7x9x0.025.pdf | Bin .../patterns/chess7x9x0.025.svg | 0 .../patterns/chess9x11x0.02.pdf | 0 .../patterns/chess9x11x0.02.svg | 0 .../convert_calib_pose_to_urdf_format.py | 0 .../src/kinect2_calibration.cpp | 0 .../kinect2_registration/CMakeLists.txt | 0 .../kinect2_registration/README.md | 0 .../cmake/CheckOpenCLICDLoader.cmake | 0 .../cmake/FindOpenCL.cmake | 0 .../cmake/kinect2_registration.cmake.in | 0 .../include/internal/CL/cl.hpp | 0 .../kinect2_registration/kinect2_console.h | 0 .../kinect2_registration.h | 0 .../kinect2_registration/package.xml | 0 .../src/depth_registration.cl | 0 .../src/depth_registration_cpu.cpp | 0 .../src/depth_registration_cpu.h | 0 .../src/depth_registration_opencl.cpp | 0 .../src/depth_registration_opencl.h | 0 .../src/kinect2_registration.cpp | 0 .../iai_kinect2/kinect2_viewer/CMakeLists.txt | 0 .../iai_kinect2/kinect2_viewer/README.md | 0 .../iai_kinect2/kinect2_viewer/package.xml | 0 .../iai_kinect2/kinect2_viewer/src/viewer.cpp | 0 .../third_party/libfreenect2/.gitattributes | 0 .../libfreenect2/.github/ISSUE_TEMPLATE.md | 0 .../third_party/libfreenect2/.gitignore | 0 .../third_party/libfreenect2/APACHE20 | 0 .../third_party/libfreenect2/CMakeLists.txt | 0 .../third_party/libfreenect2/CONTRIB | 0 .../third_party/libfreenect2/GPL2 | 0 .../third_party/libfreenect2/README.md | 0 .../cmake_modules/CheckOpenCLICDLoader.cmake | 0 .../cmake_modules/FindGLFW3.cmake | 0 .../cmake_modules/FindLibUSB.cmake | 0 .../cmake_modules/FindOpenCL.cmake | 0 .../cmake_modules/FindOpenNI2.cmake | 0 .../cmake_modules/FindTegraJPEG.cmake | 0 .../cmake_modules/FindTurboJPEG.cmake | 0 .../cmake_modules/GenerateResources.cmake | 0 .../SetupLibfreenect2Threading.cmake | 0 .../libfreenect2/depends/INSTALL-windows.txt | 0 .../libfreenect2/depends/LICENSES.txt | 0 .../depends/download_debs_trusty.sh | 0 .../libfreenect2/depends/install_glfw.sh | 0 .../libfreenect2/depends/install_libusb.sh | 0 .../depends/install_libusb_vs2013.cmd | 0 .../depends/install_libusb_vs2015.cmd | 0 .../libfreenect2/depends/install_ubuntu.sh | 0 .../depends/make_release_msvc.cmd | 0 .../libfreenect2/doc/CMakeLists.txt | 0 .../libfreenect2/doc/Doxyextra.css | 0 .../third_party/libfreenect2/doc/Doxyfile.in | 0 .../third_party/libfreenect2/doc/mainpage.dox | 0 .../libfreenect2/examples/CMakeLists.txt | 0 .../libfreenect2/examples/Protonect.cpp | 0 .../libfreenect2/examples/viewer.cpp | 0 .../libfreenect2/examples/viewer.h | 0 .../libfreenect2/freenect2.cmake.in | 0 .../third_party/libfreenect2/freenect2.pc.in | 0 .../libfreenect2/freenect2Version.cmake.in | 0 .../libfreenect2/include/internal/CL/cl.hpp | 0 .../include/internal/libfreenect2/allocator.h | 0 .../libfreenect2/async_packet_processor.h | 0 .../internal/libfreenect2/data_callback.h | 0 .../libfreenect2/depth_packet_processor.h | 0 .../libfreenect2/depth_packet_stream_parser.h | 0 .../include/internal/libfreenect2/logging.h | 0 .../internal/libfreenect2/packet_processor.h | 0 .../internal/libfreenect2/protocol/command.h | 0 .../protocol/command_transaction.h | 0 .../internal/libfreenect2/protocol/response.h | 0 .../libfreenect2/protocol/usb_control.h | 0 .../include/internal/libfreenect2/resource.h | 0 .../libfreenect2/rgb_packet_processor.h | 0 .../libfreenect2/rgb_packet_stream_parser.h | 0 .../include/internal/libfreenect2/threading.h | 0 .../internal/libfreenect2/usb/event_loop.h | 0 .../internal/libfreenect2/usb/transfer_pool.h | 0 .../include/libfreenect2/color_settings.h | 0 .../include/libfreenect2/config.h.in | 0 .../include/libfreenect2/frame_listener.hpp | 0 .../libfreenect2/frame_listener_impl.h | 0 .../include/libfreenect2/led_settings.h | 0 .../include/libfreenect2/libfreenect2.hpp | 0 .../include/libfreenect2/logger.h | 0 .../include/libfreenect2/packet_pipeline.h | 0 .../include/libfreenect2/registration.h | 0 .../libfreenect2/platform/android/README.md | 0 .../platform/android/jni/Android.mk | 0 .../platform/android/jni/Application.mk | 0 .../platform/android/jni/examples.mk | 0 .../platform/android/jni/libfreenect2.mk | 0 .../platform/android/libfreenect2/config.h | 0 .../platform/linux/udev/90-kinect2.rules | 0 .../windows/tracing/Readme.tracing.txt | 0 .../platform/windows/tracing/starttrace.bat | 0 .../platform/windows/tracing/stoptrace.bat | 0 .../platform/windows/tracing/timestamp.bat | 0 .../libfreenect2/src/allocator.cpp | 0 .../libfreenect2/src/command_transaction.cpp | 0 .../src/cpu_depth_packet_processor.cpp | 0 .../src/cuda_depth_packet_processor.cu | 0 .../src/cuda_kde_depth_packet_processor.cu | 0 .../src/depth_packet_processor.cpp | 0 .../src/depth_packet_stream_parser.cpp | 0 .../libfreenect2/src/event_loop.cpp | 0 .../third_party/libfreenect2/src/flextGL.cpp | 0 .../third_party/libfreenect2/src/flextGL.h | 0 .../libfreenect2/src/frame_listener_impl.cpp | 0 .../libfreenect2/src/libfreenect2.cpp | 0 .../third_party/libfreenect2/src/logging.cpp | 0 .../src/opencl_depth_packet_processor.cl | 0 .../src/opencl_depth_packet_processor.cpp | 0 .../src/opencl_kde_depth_packet_processor.cl | 0 .../src/opencl_kde_depth_packet_processor.cpp | 0 .../src/opengl_depth_packet_processor.cpp | 0 .../libfreenect2/src/openni2/ColorStream.cpp | 0 .../libfreenect2/src/openni2/ColorStream.hpp | 0 .../libfreenect2/src/openni2/DepthStream.cpp | 0 .../libfreenect2/src/openni2/DepthStream.hpp | 0 .../libfreenect2/src/openni2/DeviceDriver.cpp | 0 .../libfreenect2/src/openni2/IrStream.cpp | 0 .../libfreenect2/src/openni2/IrStream.hpp | 0 .../libfreenect2/src/openni2/Registration.cpp | 0 .../libfreenect2/src/openni2/Registration.hpp | 0 .../libfreenect2/src/openni2/Utility.cpp | 0 .../libfreenect2/src/openni2/Utility.hpp | 0 .../libfreenect2/src/openni2/VideoStream.cpp | 0 .../libfreenect2/src/openni2/VideoStream.hpp | 0 .../libfreenect2/src/packet_pipeline.cpp | 0 .../libfreenect2/src/registration.cpp | 0 .../third_party/libfreenect2/src/resource.cpp | 0 .../libfreenect2/src/rgb_packet_processor.cpp | 0 .../src/rgb_packet_stream_parser.cpp | 0 .../libfreenect2/src/shader/debug.fs | 0 .../libfreenect2/src/shader/default.vs | 0 .../libfreenect2/src/shader/filter1.fs | 0 .../libfreenect2/src/shader/filter2.fs | 0 .../libfreenect2/src/shader/stage1.fs | 0 .../libfreenect2/src/shader/stage2.fs | 0 .../src/tegra_jpeg_rgb_packet_processor.cpp | 0 .../src/tinythread/tinythread.cpp | 0 .../libfreenect2/src/tinythread/tinythread.h | 0 .../libfreenect2/src/transfer_pool.cpp | 0 .../src/turbo_jpeg_rgb_packet_processor.cpp | 0 .../libfreenect2/src/usb_control.cpp | 0 .../src/vaapi_rgb_packet_processor.cpp | 0 .../src/vt_rgb_packet_processor.cpp | 0 .../libfreenect2/tools/generate_resources.cpp | 0 .../libfreenect2/tools/mkcontrib.py | 0 .../tools/streamer_recorder/CMakeLists.txt | 0 .../streamer_recorder/PracticalSocket.cpp | 0 .../tools/streamer_recorder/ProtonectSR.cpp | 0 .../tools/streamer_recorder/README.md | 0 .../blender_viewer/blender_viewer.blend | Bin .../blender_viewer/scripts/main.py | 0 .../include/PracticalSocket.h | 0 .../tools/streamer_recorder/include/config.h | 0 .../streamer_recorder/include/msdirent.h | 0 .../streamer_recorder/include/recorder.h | 0 .../streamer_recorder/include/streamer.h | 0 .../tools/streamer_recorder/recorder.cpp | 0 .../tools/streamer_recorder/streamer.cpp | 0 .../third_party/libuvc/.gitattributes | 0 .../third_party/libuvc/.gitignore | 0 .../third_party/libuvc/.travis.yml | 0 .../third_party/libuvc/CMakeLists.txt | 0 .../third_party/libuvc/LICENSE.txt | 0 .../third_party/libuvc/README.md | 0 .../libuvc/cameras/isight_imac.txt | 0 .../libuvc/cameras/isight_macbook.txt | 0 .../libuvc/cameras/logitech_hd_pro_920.txt | 0 .../libuvc/cameras/ms_lifecam_show.txt | 0 .../libuvc/cameras/quickcampro9000.txt | 0 .../cameras/quickcampro9000_builtin_ctrls.txt | 0 .../cameras/quickcampro9000_extra_ctrls.txt | 0 .../third_party/libuvc/changelog.txt | 0 .../libuvc/cmake/FindJpegPkg.cmake | 0 .../third_party/libuvc/cmake/FindLibUSB.cmake | 0 .../libuvc/cmake/FindOpenCVPkg.cmake | 0 .../third_party/libuvc/doxygen.conf | 0 .../libuvc/include/libuvc/libuvc.h | 0 .../libuvc/include/libuvc/libuvc_config.h.in | 0 .../libuvc/include/libuvc/libuvc_internal.h | 0 .../third_party/libuvc/include/utlist.h | 0 .../third_party/libuvc/libuvc.pc.in | 0 .../third_party/libuvc/libuvcConfig.cmake | 0 .../third_party/libuvc/src/ctrl-gen.c | 0 .../third_party/libuvc/src/ctrl-gen.py | 0 .../third_party/libuvc/src/ctrl.c | 0 .../third_party/libuvc/src/device.c | 0 .../third_party/libuvc/src/diag.c | 0 .../third_party/libuvc/src/example.c | 0 .../third_party/libuvc/src/frame-mjpeg.c | 0 .../third_party/libuvc/src/frame.c | 0 .../third_party/libuvc/src/init.c | 0 .../third_party/libuvc/src/misc.c | 0 .../third_party/libuvc/src/stream.c | 0 .../third_party/libuvc/src/test.c | 0 .../third_party/libuvc/standard-units.yaml | 0 .../rga/RK3588/include/GrallocOps.h | 0 .../third_party}/rga/RK3588/include/RgaApi.h | 0 .../rga/RK3588/include/RgaMutex.h | 0 .../rga/RK3588/include/RgaSingleton.h | 0 .../rga/RK3588/include/RgaUtils.h | 0 .../rga/RK3588/include/RockchipRga.h | 0 .../third_party}/rga/RK3588/include/drmrga.h | 0 .../third_party}/rga/RK3588/include/im2d.h | 0 .../third_party}/rga/RK3588/include/im2d.hpp | 0 .../rga/RK3588/include/im2d_buffer.h | 0 .../rga/RK3588/include/im2d_common.h | 0 .../rga/RK3588/include/im2d_expand.h | 0 .../rga/RK3588/include/im2d_mpi.h | 0 .../rga/RK3588/include/im2d_single.h | 0 .../rga/RK3588/include/im2d_task.h | 0 .../rga/RK3588/include/im2d_type.h | 0 .../rga/RK3588/include/im2d_version.h | 0 .../third_party}/rga/RK3588/include/rga.h | 0 .../rga/RK3588/lib/Linux/aarch64/librga.a | Bin .../rga/RK3588/lib/Linux/aarch64/librga.so | Bin .../third_party/so/libopencv_highgui.so | 1 + .../third_party/so}/librga.so | Bin .../third_party/so}/librknnrt.so | Bin 1128 files changed, 8844 insertions(+), 142466 deletions(-) delete mode 100644 Code/MowingRobot/PIBot_ROS/Image/ROS_Using (3).png delete mode 100644 Code/MowingRobot/PIBot_ROS/README.md delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/README.md delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.gitignore delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.rosinstall delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.rosinstall.melodic delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.yml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/README.md delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CHANGELOG.rst delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CMakeLists.txt delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/FindRoomSequenceWithCheckpoints.action delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/MapSegmentation.action delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/RoomExploration.action delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomInformation.msg delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomSequence.msg delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info_array.msg delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/package.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/CheckCoverage.srv delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/ExtractAreaMapFromLabeledMap.srv delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/CMakeLists.txt delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/cfg/BuildingNavigation.cfg delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/A_star_pathplanner.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/concorde_TSP.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/contains.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/distance_matrix.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/genetic_TSP.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/maximal_clique_finder.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/nearest_neighbor_TSP.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/node.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/set_cover_solver.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/timer.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/trolley_position_finder.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solver_defines.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solvers.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/A_star_pathplanner.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/concorde_TSP.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/genetic_TSP.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/maximal_clique_finder.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/nearest_neighbor_TSP.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/node.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/set_cover_solver.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/trolley_position_finder.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/package.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/readme.md delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/include/ipa_building_navigation/dynamic_reconfigure_client.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/include/ipa_building_navigation/room_sequence_planning_action_server.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server_params.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/boosttest.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_client.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_server.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_evaluation.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/tester.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_action_client.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_evaluation.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/CMakeLists.txt delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/package.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CHANGELOG.rst delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CMakeLists.txt delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/CoverageMonitor.cfg delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/RoomExploration.cfg delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cmake/FindGUROBI.cmake delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/boustrophedon_explorator.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/convex_sensor_placement_explorator.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/energy_functional_explorator.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/fast_math.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/flow_network_explorator.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/grid.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/grid_point_explorator.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/histogram.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/meanshift2d.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/nanoflann.hpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neural_network_explorator.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neuron_class.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/room_rotator.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/timer.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/voronoi.hpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/boustrophedon_explorator.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/convex_sensor_placement_explorator.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/energy_functional_explorator.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/flow_network_explorator.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/grid_point_explorator.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/meanshift2d.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/neural_network_explorator.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/room_rotator.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/package.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/readme.md delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/cleaning_costmap_params.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_burger.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle_pi.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/global_costmap_params.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/coverage_check_server.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/dynamic_reconfigure_client.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/fov_to_robot_mapper.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/room_exploration_action_server.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/amcl.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/clean_work.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis_params.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_check_server.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server_params.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/gazebo.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server_params.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/talkerUltraSound.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/turtlebot3_navigation.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_karto.rviz delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_navigation.rviz delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server_main.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_monitor_server.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/fov_to_robot_mapper.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/next_goal.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_client.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_server.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_evaluation.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/sub.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_client.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_evaluation.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/worlds/sim.world delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/CMakeLists.txt delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/cfg/RoomSegmentation.cfg delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_SVM.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_boost.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_SVM.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_boost.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_conditional_field_weights.txt delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_doorway_boost.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_hallway_boost.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_room_boost.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/250_250.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/300_300.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/500_500.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/a.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/blank.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/quellen.txt delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_furnitures_hallway_training.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_furnitures_room_training.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_hallway_training.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_room_training.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_a_hallway_training_map.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_d_room_training_map.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_intel_furnitures_room_training_map.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_intel_hallway_training_map.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_hallway_training_map.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_room_training_map.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/Fr101_original.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/Fr52_original.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/NLB_original.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_c_furnitures_original.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_d_furnitures_original.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_intel_original.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_ipa_original.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_e_original.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_h_original.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr101.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr52.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_NLB_furniture.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_intel.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_c_furnitures.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_d_furniture.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_ipa.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_e.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_h.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr101_voronoi.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr52_voronoi.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/NLB_voronoi.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_c_furnitures_voronoi.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_d_furnitures_voronoi.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_intel_voronoi.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_ipa_voronoi.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_e_voronoi.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_h_voronoi.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr101_voronoi_nodes.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr52_voronoi_nodes.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/NLB_voronoi_nodes.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_c_furnitures_voronoi_nodes.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_d_furnitures_voronoi_nodes.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_intel_voronoi_nodes.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_ipa_voronoi_nodes.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_e_voronoi_nodes.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_h_voronoi_nodes.png delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/abstract_voronoi_segmentation.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/adaboost_classifier.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/clique_class.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/contains.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/cv_boost_loader.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/distance_segmentation.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/evaluation_segmentation.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/fast_math.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/features.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/meanshift2d.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/morphological_segmentation.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/raycasting.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/room_class.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/timer.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_features.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_segmentation.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_segmentation.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/wavefront_region_growing.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/abstract_voronoi_segmentation.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/adaboost_classifier.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/clique_class.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/contains.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/cv_boost_loader.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/distance_segmentation.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/evaluation_segmentation.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/features.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/meanshift2d.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/morphological_segmentation.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/raycasting.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/room_class.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/segmentation_tester.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_features.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_segmentation.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_segmentation.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/wavefront_region_growing.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/package.xml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/readme.md delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/include/ipa_room_segmentation/dynamic_reconfigure_client.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/include/ipa_room_segmentation/room_segmentation_server.h delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server_params.yaml delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/evaluation_numeric_properties.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_client.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_server.cpp delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_action_client.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_evaluation.launch delete mode 100644 Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/src/pibot_imu_node.cpp delete mode 100644 Code/MowingRobot/Robot_ROS_APP/.catkin_workspace delete mode 100644 Code/MowingRobot/Robot_ROS_APP/.gitignore delete mode 100644 Code/MowingRobot/Robot_ROS_APP/Image/main.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/README.md delete mode 100644 Code/MowingRobot/Robot_ROS_APP/dataset/data1.txt delete mode 100644 Code/MowingRobot/Robot_ROS_APP/dataset/data2.txt delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/.built_by delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/.catkin delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/.rosinstall delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/_setup_util.py delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/cmake.lock delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/env.sh delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/local_setup.bash delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/local_setup.sh delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/local_setup.zsh delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/setup.bash delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/setup.sh delete mode 100644 Code/MowingRobot/Robot_ROS_APP/devel/setup.zsh delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/.idea/.gitignore delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/.idea/deployment.xml delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/.idea/misc.xml delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/.idea/modules.xml delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/.idea/src.iml delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/.idea/vcs.xml delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/CMakeLists.txt delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/01.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/02.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/03.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/04.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/05.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/06.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/07.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/08.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/09.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/10.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/11.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/12.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/13.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/output_image.png delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/mapping.h delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/senddata.h delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/uwb.h delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/align.cpp delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/main.cpp delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/mapping.cpp delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/senddata.cpp delete mode 100644 Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/uwb.cpp delete mode 100644 Code/MowingRobot/obj_dec/README.md delete mode 100644 Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/CMakeLists.txt delete mode 100644 Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/pub_info.h delete mode 100644 Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/msg/dis_info_array.msg delete mode 100644 Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/pub_info.cc rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/.gitignore (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/.pibot_init_env.sh.swp (100%) rename Code/MowingRobot/{PIBot_ROS/README_BAK.md => pibot_ros/README.md} (96%) create mode 100755 Code/MowingRobot/pibot_ros/a.out rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_add_upstart.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_ap.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_clear_rosproc.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_create_swap.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_init_env.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_install_ros.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_remove_upstart.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_upstart/pibot.service (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_upstart/pibot_restart.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_upstart/pibot_start.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_upstart/pibot_stop.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_upstart/pibotenv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pibot_view_env.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/pypibot/__init__.py (95%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/pypibot/assistant.py (96%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/pypibot/configer.py (97%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/pypibot/daemon.py (96%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/pypibot/err.py (96%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/pypibot/log.py (97%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/pypibot/mapconvert.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/pypibot/proxy.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/transport/dataholder.py (96%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/transport/main.py (97%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/transport/params.py (97%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/transport/set_default_params.py (96%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/transport/test_motors.py (96%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/pypibot/transport/transport.py (96%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_package/abseil-cpp.tar.gz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_package/astra.tar.gz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_package/cartographer.tar.gz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_package/cartographer_ros.tar.gz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_package/ceres-solver.tar.gz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_package/frontier_exploration.tar.gz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_package/protobuf.tar.gz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/.catkin_workspace (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/.gitignore (100%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/CMakeLists.txt create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/Mat.h rename Code/MowingRobot/{Robot_ROS_APP/src/ros_merge_test => pibot_ros/ros_ws/src/FollowingCar}/include/align.h (72%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/lighthouse.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/mapping.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/read_sensor_data.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/senddata.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/system.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/type.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/uwb.h rename Code/MowingRobot/{PIBot_ROS/ros_ws/src/pibot_msgs => pibot_ros/ros_ws/src/FollowingCar}/msg/RawImu.msg (100%) rename Code/MowingRobot/{PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs => pibot_ros/ros_ws/src/FollowingCar}/msg/dis_info.msg (100%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/msg/dis_info_array.msg create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/package.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/Mat.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/align.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/lighthouse.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/main.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/mapping.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/read_sensor_data.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/senddata.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/system.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/uwb.cpp rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/.gitignore (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/LICENSE (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix/CHANGELOG.rst (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_controllers/CHANGELOG.rst (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_controllers/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_controllers/bin/gripper_controller (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_controllers/bin/gripper_controller.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_controllers/bin/one_side_gripper_controller.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_gripper_action_controller.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_gripper_controller.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_single_servo_controller.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_controllers/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_firmware/CHANGELOG.rst (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_firmware/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_firmware/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_firmware/src/diff_controller.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_firmware/src/ros.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_firmware/src/ros.ino (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_firmware/src/user_hooks.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_msgs/CHANGELOG.rst (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_msgs/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_msgs/msg/Analog.msg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_msgs/msg/Digital.msg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_msgs/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_msgs/srv/Enable.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_msgs/srv/Relax.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_msgs/srv/SetSpeed.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_msgs/srv/SetupChannel.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/CHANGELOG.rst (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_driver (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_gui (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_terminal (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/demos/diagnostics.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/mainpage.dox (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/setup.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/__init__.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/arbotix.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/ax12.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/controllers.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/diff_controller.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/follow_controller.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/io.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/joints.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/linear_controller.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/publishers.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/servo_controller.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_sensors/CHANGELOG.rst (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_sensors/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_sensors/bin/ir_ranger.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_sensors/bin/max_sonar.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_sensors/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_sensors/setup.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_sensors/src/arbotix_sensors/__init__.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/arbotix_ros/arbotix_sensors/src/arbotix_sensors/sensors.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/common_utils/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/common_utils/include/common_utils/common_utils.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/common_utils/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/common_utils/src/common_utils.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_complementary_filter/CHANGELOG.rst (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_complementary_filter/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_complementary_filter/include/imu_complementary_filter/complementary_filter.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_complementary_filter/include/imu_complementary_filter/complementary_filter_ros.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_complementary_filter/launch/complementary_filter.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_complementary_filter/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_complementary_filter/src/complementary_filter.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_complementary_filter/src/complementary_filter_node.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_complementary_filter/src/complementary_filter_ros.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter/cfg/MyStuff.cfg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter/cfg/MyStuff2.cfg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter/src/Madgwick_filter.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter/src/Mahony_filter.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter/src/bias_calculator.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/CHANGELOG.rst (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/COPYING (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/Makefile (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/cfg/ImuFilterMadgwick.cfg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/imu_filter_nodelet.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter_nodelet.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter_ros.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/stateless_orientation.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/world_frame.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/sample/ardrone_imu.bag (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/sample/phidgets_imu_upside_down.bag (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/sample/sparkfun_razor.bag (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/src/imu_filter.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/src/imu_filter_node.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/src/imu_filter_nodelet.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/src/imu_filter_ros.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/src/stateless_orientation.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/test/madgwick_test.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/test/stateless_orientation_test.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/imu_filter_madgwick/test/test_helpers.h (100%) create mode 160000 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/laserscan_to_pointcloud/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/laserscan_to_pointcloud/config/default_scan_shadow_filter.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/laserscan_to_pointcloud/launch/laserscan_to_pointcloud_shadow_filtered.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/laserscan_to_pointcloud/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/laserscan_to_pointcloud/src/laserscan_to_pointcloud.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/cfg/CalibrateAngular.cfg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/cfg/CalibrateLinear.cfg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/include/pibot/msg_definition.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/include/pibot/pibot_facade.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/include/pibot/utils.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/launch/navigation_multi_demo.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/launch/start_amcl.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/launch/start_carto.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/launch/start_carto_without_odom.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/launch/start_gmapping.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/launch/stop_carto.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/launch/stop_gmapping.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/launch/t_cartographer.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/launch/t_cartographer_without_odom.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/launch/t_gmapping.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/calibrate_angular.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/calibrate_linear.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/get_pos_demo.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/killall_carto.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/killall_hector_mapping.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/launch_demo.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/marker_server.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/navigation_goal.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/navigation_multi_goals.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/teleop_twist_keyboard.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/scripts/transform_utils.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/src/main.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot/src/pibot_facade.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/.gitignore (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/calibration/depth_PS1080_PrimeSense.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/calibration/rgb_PS1080_PrimeSense.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/config/astra_camera.yaml (96%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/config/astra_depth.yaml (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/launch/astra.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/launch/d435i.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/launch/kinectV1.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/launch/xtion.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_3dsensor/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/cfg/pibot_parameter.cfg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/config/joystick-holonomic.config.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/config/joystick.config.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/base_driver.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/base_driver_config.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/data_holder.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/dataframe.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/queue.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/serial_transport.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/serial_transport2.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe_master.h (95%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/transport.h (94%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/include/pibot_bringup/variable_queue.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/launch/apollo_bringup_smoother.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/launch/bringup.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/launch/bringup_with_imu.launch (78%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/launch/joystick.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/launch/keyboard_teleop.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/launch/model.launch (88%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/launch/robot.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/launch/usb_camera.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/launch/usb_camera_old.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/launch/view_model.launch (94%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/scripts/odom_ekf.py (79%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/src/base_driver.cpp (93%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/src/base_driver_config.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/src/data_holder.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/src/main.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/src/serial_transport.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/src/serial_transport2.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_bringup/src/simple_dataframe_master.cpp (100%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/uwb.cpp rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/launch/demo_urdf.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/launch/gazebo.launch (95%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/manifest.xml (91%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/base/apolloX_base.stl (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/base/apollo_base.stl (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/base/hades_base.stl (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/base/hera_base.stl (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/base/zeus_base.stl (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/sensor/astra.dae (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/sensor/astra.jpg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/sensor/d435i.dae (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/sensor/rplidar.dae (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/sensor/xtion.dae (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/meshes/sensor/xtion.jpg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf.rviz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/accessories/camera.urdf.xacro (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/accessories/lidar.urdf.xacro (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/apollo.urdf.xacro (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/apolloX.urdf.xacro (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/components/pibot_board.urdf.xacro (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/components/pibot_pillar.urdf.xacro (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/components/pibot_properties.xacro (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/demo_urdf.urdf (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/hades.urdf.xacro (96%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/hera.urdf.xacro (96%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/pibot.urdf.xacro (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/pibot.xacro (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_description/urdf/zeus.urdf.xacro (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_imu/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_imu/include/pibot_imu/pibot_imu.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_imu/launch/imu_ahrs.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_imu/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_imu/scripts/simple_magnometer_calibration (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_imu/src/pibot_imu.cpp (97%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/src/pibot_imu_node.cpp rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/astra.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/astra_pro.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/eai-g4.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/eai-x4.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/kinectV1.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/kinectV2.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/rplidar-a2m7.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/rplidar-a3.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/rplidar-s1.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/rplidar.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/launch/xtion.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_lidar/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/msg/Action.msg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/msg/NaviStatus.msg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/msg/PointArray.msg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/msg/Pose.msg (100%) rename Code/MowingRobot/{Robot_ROS_APP/src/ros_merge_test => pibot_ros/ros_ws/src/pibot_msgs}/msg/RawImu.msg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/msg/RelocateResult.msg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/msg/RobotState.msg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/srv/ActionParams.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/srv/ManualLocation.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/srv/MappingParams.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/srv/NaviParams.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/srv/Relocation.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/srv/SetMapParams.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_msgs/srv/SetPoseParams.srv (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/config/frontier_exploration.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2.lua (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2_odom.lua (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2_odom_imu.lua (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0.lua (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0_odom.lua (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0_odom_imu.lua (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/cartographer.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/cartographer_with_odom.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/depth_camera_gmapping.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/depth_camera_nav.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/frontier_exploration.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/gmapping.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/hector_mapping.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/hector_mapping_without_odom.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/amcl.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/geotiff_mapper.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/gmapping.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/hector_imu_attitude_to_tf.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/hector_mapping.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/hector_mapping_without_odom.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/karto_mapping.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/move_base.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/rgbd_amcl.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/rgbd_gmapping.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/include/rgbd_move_base.launch.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/karto_slam.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/nav.launch (92%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/save_map.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/view_cartographer.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/launch/view_nav.launch (100%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/160.yaml rename Code/MowingRobot/{PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps => pibot_ros/ros_ws/src/pibot_navigation/maps}/160_160.png (100%) rename Code/MowingRobot/{PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps => pibot_ros/ros_ws/src/pibot_navigation/maps}/400_400.png (100%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/9.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/9.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/a.pgm create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/a.yaml rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/maps/blank.pgm (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/maps/blank.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/maps/my_lab.pgm (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/maps/my_lab.yaml (100%) rename Code/MowingRobot/{PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros => pibot_ros/ros_ws/src/pibot_navigation}/maps/sim.pgm (100%) rename Code/MowingRobot/{PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros => pibot_ros/ros_ws/src/pibot_navigation}/maps/sim.yaml (100%) rename Code/MowingRobot/{PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps => pibot_ros/ros_ws/src/pibot_navigation/maps}/test1.png (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/costmap_common_params_apollo.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/costmap_common_params_apolloX.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/costmap_common_params_apolloXL.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/costmap_common_params_hades.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/costmap_common_params_hadesX.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/costmap_common_params_hera.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/costmap_common_params_zeus.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apollo.yaml (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apolloX.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apolloXL.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hades.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hadesX.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hera.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_zeus.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/global_costmap_params.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/global_planner_params.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/local_costmap_params.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/params/move_base_params.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/rviz/demo_2d.rviz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/rviz/new.rviz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_navigation/rviz/view_navigation.rviz (70%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/launch/bringup.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/launch/bringup_turtlebot.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/launch/nav.launch (96%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/launch/nav_turtlebot.launch (96%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/maps/blank_map.pgm (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/maps/blank_map.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/maps/blank_map_with_obstacle.pgm (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/maps/blank_map_with_obstacle.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/maps/test_map.pgm (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/maps/test_map.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/params/arbotix.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/params/costmap_common_params.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/params/dwa_local_planner_params.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/params/global_costmap_params.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/params/global_planner_params.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/params/local_costmap_params.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_simulator/params/move_base_params.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_slam_3d/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_slam_3d/config/mapping.rviz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_slam_3d/config/navigation.rviz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_slam_3d/launch/astra.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_slam_3d/launch/d435i.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_slam_3d/launch/kinectV1.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_slam_3d/launch/rtabmap.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_slam_3d/launch/view.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_slam_3d/launch/xtion.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/pibot_slam_3d/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/CHANGELOG.rst (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/LICENSE (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/launch/rplidar.launch (98%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/launch/rplidar_a3.launch (98%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/launch/rplidar_s1.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/launch/rplidar_s1_tcp.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/launch/test_rplidar.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/launch/test_rplidar_a3.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/launch/view_rplidar.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/launch/view_rplidar_a3.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/launch/view_rplidar_s1.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/launch/view_rplidar_s1_tcp.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/rplidar_A1.png (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/rplidar_A2.png (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/rviz/rplidar.rviz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/scripts/create_udev_rules.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/scripts/delete_udev_rules.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/scripts/rplidar.rules (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/README.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/include/rplidar.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/include/rplidar_cmd.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/include/rplidar_driver.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/include/rplidar_protocol.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/include/rptypes.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/linux/arch_linux.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_serial.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_serial.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_socket.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/linux/thread.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/linux/timer.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/linux/timer.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/arch_macOS.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_serial.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_serial.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_socket.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/thread.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/timer.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/timer.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/win32/arch_win32.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_serial.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_serial.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_socket.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/win32/timer.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/win32/timer.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/arch/win32/winthread.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/hal/abs_rxtx.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/hal/assert.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/hal/byteops.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/hal/event.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/hal/locker.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/hal/socket.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/hal/thread.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/hal/thread.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/hal/types.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/hal/util.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_TCP.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_impl.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_serial.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/sdk/src/sdkcommon.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/src/client.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/rplidar_ros/src/node.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/CMakeLists.txt (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/launch/laser_follower.launch (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/launch/nodes/follower.launch (98%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/launch/nodes/laserTracker.launch (98%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/launch/nodes/visualTracker.launch (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/launch/visual_follower.launch (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/msg/position.msg (94%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/package.xml (97%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/parameters/PID_param.yaml (94%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/scripts/follower.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/scripts/laserTracker.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/scripts/testCode.py (96%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/simple_follower/scripts/visualTracker.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{Robot_ROS_APP/src/ros_merge_test => pibot_ros/ros_ws/src/upbot_location}/CMakeLists.txt (80%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/Mat.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/align.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/lighthouse.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/mapping.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/read_sensor_data.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/senddata.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/system.h rename Code/MowingRobot/{Robot_ROS_APP/src/ros_merge_test => pibot_ros/ros_ws/src/upbot_location}/include/type.h (67%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/uwb.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/msg/RawImu.msg rename Code/MowingRobot/{Robot_ROS_APP/src/ros_merge_test => pibot_ros/ros_ws/src/upbot_location}/package.xml (95%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/Mat.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/align.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/lighthouse.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/main.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/mapping.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/read_sensor_data.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/senddata.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/system.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/uwb.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/CMakeLists.txt rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision}/Timer.h (100%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision}/detection.h (80%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision}/postprocess.h (88%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision}/preprocess.h (74%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision}/ranging.h (95%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/model/RK3588/yolov5s-640-640.rknn (100%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/model/bus.jpg (100%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/model/coco_80_labels_list.txt (100%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/msg/dis_info.msg (100%) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/msg/dis_info_array.msg rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/package.xml (94%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/src/detection.cc (99%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/src/main.cc (76%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/src/postprocess.cc (98%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/src/preprocess.cc (98%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/src/ranging.cc (93%) rename Code/MowingRobot/{obj_dec/src/rknn_yolov5_demo => pibot_ros/ros_ws/src/upbot_vision}/src/sub_dis.cc (78%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/.gitignore (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/launch/f4.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/launch/f4_view.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/launch/g4.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/launch/g4_view.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/launch/lidar.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/launch/lidar.rviz (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/launch/lidar_rviz.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/launch/lidar_view.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/launch/x4.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/launch/x4_view.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/include/locker.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/include/serial.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/include/thread.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/include/v8stdint.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/include/ydlidar_driver.h (96%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/common.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_linux.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_osx.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_win.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_serial.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_serial.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.cpp (94%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win.h (93%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.cpp (95%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.cpp (94%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/serial.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/sdk/src/ydlidar_driver.cpp (96%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/src/ydlidar_client.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/src/ydlidar_node.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/startup/initenv.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/test/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/test/laser_test.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/test/laser_test.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/ros_ws/src/ydlidar-1.2.1/test/main.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/rules/56-orbbec-usb.rules (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/rules/98-pibot-usb.rules (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/rules/99-realsense-libusb.rules (100%) create mode 120000 Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/librknn_api/aarch64/librknn_api.so rename Code/MowingRobot/{obj_dec/src => pibot_ros/runtime/RK3588/Linux/librknn_api/aarch64}/librknnrt.so (100%) rename Code/MowingRobot/{obj_dec/src => pibot_ros}/runtime/RK3588/Linux/librknn_api/include/rknn_api.h (100%) mode change 100644 => 100755 rename Code/MowingRobot/{obj_dec/src => pibot_ros}/runtime/RK3588/Linux/librknn_api/include/rknn_matmul_api.h (100%) rename Code/MowingRobot/{obj_dec/src => pibot_ros}/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/restart_rknn.sh (100%) mode change 100644 => 100755 rename Code/MowingRobot/{obj_dec/src => pibot_ros}/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/rknn_server (100%) mode change 100644 => 100755 rename Code/MowingRobot/{obj_dec/src => pibot_ros}/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/start_rknn.sh (100%) mode change 100644 => 100755 rename Code/MowingRobot/{obj_dec/src => pibot_ros}/runtime/init.rknn_server.rc (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/build.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/.gitignore (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/LICENSE (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/Makefile (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/bash_completion (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/config_ap.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/create_ap (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/create_ap.conf (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/create_ap.openrc (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/create_ap.service.template (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/howto/realtek.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/create_ap/lnxrouter (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/LICENSE (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/iai_kinect2/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/iai_kinect2/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_color.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_depth.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_ir.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_pose.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_color.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_ir.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_pose.yaml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/include/kinect2_bridge/kinect2_definitions.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/launch/kinect2_bridge.launch (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/nodelet_plugins.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/include/kinect2_calibration/kinect2_calibration_definitions.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/patterns/chess5x7x0.03.pdf (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/patterns/chess5x7x0.03.svg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/patterns/chess7x9x0.025.pdf (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/patterns/chess7x9x0.025.svg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/patterns/chess9x11x0.02.pdf (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/patterns/chess9x11x0.02.svg (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/scripts/convert_calib_pose_to_urdf_format.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_calibration/src/kinect2_calibration.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/cmake/CheckOpenCLICDLoader.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/cmake/FindOpenCL.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/cmake/kinect2_registration.cmake.in (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/include/internal/CL/cl.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/include/kinect2_registration/kinect2_console.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/include/kinect2_registration/kinect2_registration.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/src/depth_registration.cl (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/src/depth_registration_cpu.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/src/depth_registration_cpu.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/src/depth_registration_opencl.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/src/depth_registration_opencl.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_registration/src/kinect2_registration.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_viewer/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_viewer/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_viewer/package.xml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/iai_kinect2/kinect2_viewer/src/viewer.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/.gitattributes (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/.github/ISSUE_TEMPLATE.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/.gitignore (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/APACHE20 (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/CONTRIB (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/GPL2 (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/cmake_modules/CheckOpenCLICDLoader.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/cmake_modules/FindGLFW3.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/cmake_modules/FindLibUSB.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/cmake_modules/FindOpenCL.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/cmake_modules/FindOpenNI2.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/cmake_modules/FindTegraJPEG.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/cmake_modules/FindTurboJPEG.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/cmake_modules/GenerateResources.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/cmake_modules/SetupLibfreenect2Threading.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/depends/INSTALL-windows.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/depends/LICENSES.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/depends/download_debs_trusty.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/depends/install_glfw.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/depends/install_libusb.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/depends/install_libusb_vs2013.cmd (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/depends/install_libusb_vs2015.cmd (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/depends/install_ubuntu.sh (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/depends/make_release_msvc.cmd (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/doc/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/doc/Doxyextra.css (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/doc/Doxyfile.in (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/doc/mainpage.dox (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/examples/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/examples/Protonect.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/examples/viewer.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/examples/viewer.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/freenect2.cmake.in (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/freenect2.pc.in (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/freenect2Version.cmake.in (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/CL/cl.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/allocator.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/async_packet_processor.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/data_callback.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/depth_packet_processor.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/depth_packet_stream_parser.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/logging.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/packet_processor.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/protocol/command.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/protocol/command_transaction.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/protocol/response.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/protocol/usb_control.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/resource.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/rgb_packet_processor.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/rgb_packet_stream_parser.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/threading.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/usb/event_loop.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/internal/libfreenect2/usb/transfer_pool.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/libfreenect2/color_settings.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/libfreenect2/config.h.in (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/libfreenect2/frame_listener.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/libfreenect2/frame_listener_impl.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/libfreenect2/led_settings.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/libfreenect2/libfreenect2.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/libfreenect2/logger.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/libfreenect2/packet_pipeline.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/include/libfreenect2/registration.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/android/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/android/jni/Android.mk (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/android/jni/Application.mk (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/android/jni/examples.mk (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/android/jni/libfreenect2.mk (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/android/libfreenect2/config.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/linux/udev/90-kinect2.rules (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/windows/tracing/Readme.tracing.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/windows/tracing/starttrace.bat (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/windows/tracing/stoptrace.bat (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/platform/windows/tracing/timestamp.bat (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/allocator.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/command_transaction.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/cpu_depth_packet_processor.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/cuda_depth_packet_processor.cu (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/cuda_kde_depth_packet_processor.cu (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/depth_packet_processor.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/depth_packet_stream_parser.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/event_loop.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/flextGL.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/flextGL.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/frame_listener_impl.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/libfreenect2.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/logging.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/opencl_depth_packet_processor.cl (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/opencl_depth_packet_processor.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/opencl_kde_depth_packet_processor.cl (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/opencl_kde_depth_packet_processor.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/opengl_depth_packet_processor.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/ColorStream.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/ColorStream.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/DepthStream.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/DepthStream.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/DeviceDriver.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/IrStream.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/IrStream.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/Registration.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/Registration.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/Utility.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/Utility.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/VideoStream.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/openni2/VideoStream.hpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/packet_pipeline.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/registration.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/resource.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/rgb_packet_processor.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/rgb_packet_stream_parser.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/shader/debug.fs (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/shader/default.vs (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/shader/filter1.fs (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/shader/filter2.fs (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/shader/stage1.fs (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/shader/stage2.fs (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/tegra_jpeg_rgb_packet_processor.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/tinythread/tinythread.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/tinythread/tinythread.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/transfer_pool.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/turbo_jpeg_rgb_packet_processor.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/usb_control.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/vaapi_rgb_packet_processor.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/src/vt_rgb_packet_processor.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/generate_resources.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/mkcontrib.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/PracticalSocket.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/ProtonectSR.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/blender_viewer/blender_viewer.blend (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/blender_viewer/scripts/main.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/include/PracticalSocket.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/include/config.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/include/msdirent.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/include/recorder.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/include/streamer.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/recorder.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libfreenect2/tools/streamer_recorder/streamer.cpp (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/.gitattributes (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/.gitignore (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/.travis.yml (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/CMakeLists.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/LICENSE.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/README.md (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/cameras/isight_imac.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/cameras/isight_macbook.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/cameras/logitech_hd_pro_920.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/cameras/ms_lifecam_show.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/cameras/quickcampro9000.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/cameras/quickcampro9000_builtin_ctrls.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/cameras/quickcampro9000_extra_ctrls.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/changelog.txt (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/cmake/FindJpegPkg.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/cmake/FindLibUSB.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/cmake/FindOpenCVPkg.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/doxygen.conf (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/include/libuvc/libuvc.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/include/libuvc/libuvc_config.h.in (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/include/libuvc/libuvc_internal.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/include/utlist.h (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/libuvc.pc.in (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/libuvcConfig.cmake (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/ctrl-gen.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/ctrl-gen.py (100%) mode change 100644 => 100755 rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/ctrl.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/device.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/diag.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/example.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/frame-mjpeg.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/frame.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/init.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/misc.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/stream.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/src/test.c (100%) rename Code/MowingRobot/{PIBot_ROS => pibot_ros}/third_party/libuvc/standard-units.yaml (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/GrallocOps.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/RgaApi.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/RgaMutex.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/RgaSingleton.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/RgaUtils.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/RockchipRga.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/drmrga.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/im2d.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/im2d.hpp (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/im2d_buffer.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/im2d_common.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/im2d_expand.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/im2d_mpi.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/im2d_single.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/im2d_task.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/im2d_type.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/im2d_version.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/include/rga.h (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/lib/Linux/aarch64/librga.a (100%) rename Code/MowingRobot/{obj_dec/src/3rdparty => pibot_ros/third_party}/rga/RK3588/lib/Linux/aarch64/librga.so (100%) create mode 120000 Code/MowingRobot/pibot_ros/third_party/so/libopencv_highgui.so rename Code/MowingRobot/{obj_dec/src => pibot_ros/third_party/so}/librga.so (100%) rename Code/MowingRobot/{obj_dec/src/runtime/RK3588/Linux/librknn_api/aarch64 => pibot_ros/third_party/so}/librknnrt.so (100%) diff --git a/Code/MowingRobot/PIBot_ROS/Image/ROS_Using (3).png b/Code/MowingRobot/PIBot_ROS/Image/ROS_Using (3).png deleted file mode 100644 index 412438e50ef69defcb7b26d025e2519f3935911f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110648 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≷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 nm7YZ{s)D@*L3P$mviwr3Ot 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 diff --git a/Code/MowingRobot/PIBot_ROS/README.md b/Code/MowingRobot/PIBot_ROS/README.md deleted file mode 100644 index e35b7fb..0000000 --- a/Code/MowingRobot/PIBot_ROS/README.md +++ /dev/null @@ -1,93 +0,0 @@ -# `PIBot_ROS`使用说明 - -> `pibot`是银星合作时购买的小车底盘。其包含直流电机控制、里程计、IMU和上位机通讯等功能。 - -## 1、远程连接`RK3588`板子 - -​ 我们是通过`RK3588 & RK3566`等高性能的主板控制`PIBot`下位机(`STM32`控制板)。如果直接采用`HDMI`线和`USB`鼠标和键盘进行控制非常的不便; 采用`VNC`等远程桌面的方式对性能的损耗较大,所以采用远程ssh连接一种较好的方式。这里,**我们采用的`vscode`进行ssh远程连接**, 其具有远程图形显示功能以及其他强大的功能。 - -​ `ssh`连接需要知道目标机器的`ip`地址。理论上如果知道开发板的外网`IP`地址,那么就可以在任意位置连接开发板。由于外网固定`IP`难以获取,所以这里我们**采用局域网ssh连接**。由于`windows`平台的渲染窗口和`linux`不兼容,所以**windows平台的vscode是不支持ssh窗口显示的,需要开启虚拟机或者`linux`主机下面的`vscode`才可以显示窗口**。我们在虚拟机`ubuntu`里面使用`vscode`远程`ssh`连接`RK3588`和虚拟机需要用同个网络,远程连接[教程](http://www.autolabor.com.cn/book/ROSTutorials/di-9-zhang-ji-qi-ren-dao-822a28-shi-4f5329/92-vscodeyuan-cheng-kai-fa.html): - -1. `ip`查询方式终端: 在小车终端里输入 `ifconfig`查看小车的ip地址 -2. 将教程里步骤三内容改为: - -3. `ssh -X firefly@ip` (-X 为远程显示图形界面需要) -4. 密码为:`firefly` - -5. 连接上后选择需要打开的文件夹 - - -## 2、小车驱动编译 - -#### 2.1 驱动代码位置 - -​ `PIBot`的ROS支持包的位置在[仓库]([RobotKernal-UESTC](http://logzhan.ticp.io:30000/logzhan/RobotKernal-UESTC))中,其路径为`Code\RK3588\PIbot_ROS`中。我们解压后可以把`PIBot_ROS`移动到`~/`位置,并重新命名为`pibot_ros`(命名可以按照个人习惯),下面的教程以`pibot_ros`为例。 - -#### 2.2 3588上编译问题(主要是全覆盖部分) - -​ `PIBot_ROS/ros_ws/src/ipa_coverage_planning`(全覆盖部分的代码) - -```shell -# 进入到ROS的工作空间 -cd pibot_ros/ros_ws -# 在pibot_ros/ros_ws路径下执行catkin_make -# ~:/pibot_ros/ros_ws$ catkin_make -catkin_make -``` - -#### 2.3 根据出现的报错缺少的库问题解决 - -```shell -# noetic 是ubuntu20.04版本名,其他版本需要更换名字 -sudo apt-get install ros-noetic-xxx -# 例如:sudo apt-get install ros-noetic-opengm -sudo apt-get install ros-noetic-libdlib -sudo apt-get install ros-noetic-cob-navigation -sudo apt-get install coinor-* -``` - -可参考内容: - -> [全覆盖规划算法Coverage Path Planning开源代码ipa_coverage_planning编译-CSDN博客](https://blog.csdn.net/ktigerhero3/article/details/121562049) -> -> [ROS全覆盖规划算法 Coverage Path Planning 采坑-CSDN博客](https://blog.csdn.net/weixin_42179076/article/details/121164350) - -## 3、使用说明 - -#### 3.1 导航的启动 - -​ `PIBot_ROS`的文件解压或重新命名可以按照个人习惯即可,这里以解压后命名为`pibot_ros`为例,介绍命令启动导航。 - -```shell -# 进入到pibot_ros的工作空间 -cd ~/pibot_ros/ros_ws -# 配置环境变量 -source ./devel/setup.bash -# 启动导航文件 -# 格式 roslaunch package_name launch_file_name -roslaunch pibot_navigation nav.launch -``` - -#### 3.2 更改导航地图 - -​ 根据导航需求更改导航地图,地图路径在下图左下角位置`pgm`为地图格式 `yaml`为配置文件: - -Untitled - -#### 3.3 小车控制和可视化 - -​ 小车的控制和可视化功能需要**开启两个新的终端,分别在终端输入命令**: - -```shell -# 小车的键盘控制,在任意路径执行: -pibot_control -``` - -```shell -# 导航可视化,在任意路径执行: -pibot_view (需要设置从主机 记不清 后面再补充) -``` - -​ 在这上面可以在地图上给出目标点进行单点导航。 - -#### 3.4、全覆盖路径规划的使用 \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/README.md b/Code/MowingRobot/PIBot_ROS/ros_ws/src/README.md deleted file mode 100644 index 23fe7be..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/README.md +++ /dev/null @@ -1,6 +0,0 @@ -## ROS包功能说明: - -> 更新时间:2024/02/04@詹力 - -`ipa_coverage_planning` :新添加的全覆盖路径规划算法,这部分代码是原来`pibot`没有的。详细内容见包里面的`README.md`文档。 - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.gitignore b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.gitignore deleted file mode 100644 index 5243d90..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.gitignore +++ /dev/null @@ -1,48 +0,0 @@ -# default .gitignore file for ipa320 repositories -# master file can be found in https://github.com/ipa320/care-o-bot/blob/indigo_dev/.gitignore - -build/ -bin/ -lib/ - -# generated docs -*.dox -*.wikidoc - -# eclipse -.project -.cproject - -# qcreator -qtcreator-* -*.user - -# Emacs -.#* - -# VI/VIM -*.swp - -# python files -*.pcd -*.pyc -*.pco - -# temporary files -*~ - -# merge conflict files -*.orig -*BACKUP* -*BASE* -*LOCAL* -*REMOTE* - -# Catkin custom files -CATKIN_IGNORE - -# result files -*.map - -# Kdev -*.kdev4 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.rosinstall b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.rosinstall deleted file mode 100644 index 1bb8bf6..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.rosinstall +++ /dev/null @@ -1 +0,0 @@ -# empty diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.rosinstall.melodic b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.rosinstall.melodic deleted file mode 100644 index 0bce297..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.rosinstall.melodic +++ /dev/null @@ -1,8 +0,0 @@ -- git: - local-name: cob_extern - uri: https://github.com/ipa320/cob_extern.git - version: indigo_dev -- git: - local-name: cob_perception_common - uri: https://github.com/ipa320/cob_perception_common.git - version: indigo_dev diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.yml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.yml deleted file mode 100644 index 4babe29..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/.travis.yml +++ /dev/null @@ -1,30 +0,0 @@ -language: generic -services: - - docker - -notifications: - email: - on_success: change - on_failure: always -env: - global: - - ROS_REPO=ros - matrix: - - ROS_DISTRO=kinetic UPSTREAM_WORKSPACE=file - - ROS_DISTRO=kinetic UPSTREAM_WORKSPACE=debian - - ROS_DISTRO=melodic UPSTREAM_WORKSPACE=file - - ROS_DISTRO=melodic UPSTREAM_WORKSPACE=debian - - ROS_DISTRO=noetic UPSTREAM_WORKSPACE=file - - ROS_DISTRO=noetic UPSTREAM_WORKSPACE=debian - -matrix: - allow_failures: - - env: ROS_DISTRO=kinetic UPSTREAM_WORKSPACE=file - - env: ROS_DISTRO=kinetic UPSTREAM_WORKSPACE=debian - - env: ROS_DISTRO=melodic UPSTREAM_WORKSPACE=debian - - env: ROS_DISTRO=noetic UPSTREAM_WORKSPACE=debian -install: - - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config -script: - - .ci_config/travis.sh -# - ./travis.sh # Enable this when you have a package-local script diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/README.md b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/README.md deleted file mode 100644 index 62ee1ac..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# ipa_coverage_planning -> 更新 : 林跃杭、詹力 2024/02/04 -> -> 更新日志:2024/01/31@林跃杭: 在代码中订阅小车控制服务,通过摄像头结点传输的障碍物信息,执行简单的90°的避障行为。 - -### 一、概述 - -#### 1.1 代码功能 - -​ 机器人全覆盖路径规划算法,这个算法的来源仓库地址: [GitHub](https://github.com/ipa320/ipa_coverage_planning)。机器人的全覆盖算法可以用于割草机器人的草坪全覆盖,这个路径规划库在`pibot_ros`的原始仓库是没有提供的。 - -​ 全路径规划算法分为服务端和客户端,服务端可以理解为一个路径规划器,我们把地图提供给服务端,服务端给出全覆盖规划的结果。服务端有一个地图读取数据功能,如果这部分读取的修改为固定值,那么实际上是不需要客户端的。 - -#### 1.3 ROS 版本支持 - -| | Indigo | Jade | Kinetic | Melodic | Noetic | -|:-------:|:------:|:----:|:-------:|:-------:|:-------:| -| Branch | [`indigo_dev`](https://github.com/ipa320/ipa_coverage_planning/tree/indigo_dev) | [`indigo_dev`](https://github.com/ipa320/ipa_coverage_planning/tree/indigo_dev) | [`indigo_dev`](https://github.com/ipa320/ipa_coverage_planning/tree/indigo_dev) | [`melodic_dev`](https://github.com/ipa320/ipa_coverage_planning/tree/melodic_dev) |[`noetic_dev`](https://github.com/ipa320/ipa_coverage_planning/tree/noetic_dev) | -| Status | not supported | not supported | EOL | supported | supported | -| Version | [version](http://repositories.ros.org/status_page/ros_indigo_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_jade_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_kinetic_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_melodic_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_noetic_default.html?q=ipa_coverage_planning) - - -## 二、快速开始 - -1. 初始化机器人并启动`turtlebot3`的仿真。在使用`pibot`底盘时 - -1. 开始房间探索行为服务端 - - ```shell - roslaunch ipa_room_exploration room_exploration_action_server.launch - ``` - -​ 3.开始房间探索行为客户端 - -```shell -roslaunch ipa_room_exploration room_exploration_client.launch robot_env:=your-robot-env use_test_maps:=false -``` - -### 三、参考文献 - -- R. Bormann, F. Jordan, W. Li, J. Hampp, and M. Hägele. Room Segmentation: Survey, Implementation, and Analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2016. https://ieeexplore.ieee.org/abstract/document/7487234 , https://publica.fraunhofer.de/entities/publication/0bf23149-75d5-4601-bfce-992d91698862/details -- R. Bormann, F. Jordan, J. Hampp, and M. Hägele. Indoor coverage path planning: Survey, implementation, analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pages 1718–1725, May 2018. https://ieeexplore.ieee.org/abstract/document/8460566 , https://publica.fraunhofer.de/entities/publication/f537c15d-4cbe-4672-9d86-6e756a9ce71b/details diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CHANGELOG.rst b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CHANGELOG.rst deleted file mode 100644 index f8a3879..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CHANGELOG.rst +++ /dev/null @@ -1,13 +0,0 @@ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Changelog for package ipa_building_msgs -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -0.2.0 (2017-02-09) ------------------- -* added a srv folder -* added a srv for ipa_room_exploration/coverage_check_server -* Contributors: Florian Jordan - -0.0.1 (2016-08-06) ------------------- -* package set up with first set of msgs -* Contributors: Florian Jordan, Richard Bormann diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CMakeLists.txt b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CMakeLists.txt deleted file mode 100644 index 0529155..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CMakeLists.txt +++ /dev/null @@ -1,79 +0,0 @@ -cmake_minimum_required(VERSION 2.8.3) -project(ipa_building_msgs) - -## Find catkin macros and libraries -## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) -## is used, also find other catkin packages -find_package(catkin REQUIRED COMPONENTS - actionlib - actionlib_msgs - genmsg - geometry_msgs - message_generation - sensor_msgs - std_msgs -) - -####################################### -## Declare ROS messages and services ## -####################################### - -## Add the Files for actionlib -add_action_files( - DIRECTORY action - FILES - MapSegmentation.action - FindRoomSequenceWithCheckpoints.action - RoomExploration.action -) - -## Generate messages in the 'msg' folder -add_message_files( - DIRECTORY - msg - FILES - RoomInformation.msg - RoomSequence.msg - dis_info.msg - dis_info_array.msg -) - -## Generate services in the 'srv' folder -add_service_files( - DIRECTORY - srv - FILES - CheckCoverage.srv - ExtractAreaMapFromLabeledMap.srv -) - -## Generate added messages and services with any dependencies listed here -generate_messages( - DEPENDENCIES - actionlib_msgs - geometry_msgs - sensor_msgs - std_msgs -) - -################################### -## catkin specific configuration ## -################################### -## The catkin_package macro generates cmake config files for your package -## Declare things to be passed to dependent projects -## INCLUDE_DIRS: uncomment this if you package contains header files -## LIBRARIES: libraries you create in this project that dependent projects also need -## CATKIN_DEPENDS: catkin_packages dependent projects also need -## DEPENDS: system dependencies of this project that dependent projects also need -catkin_package( - CATKIN_DEPENDS - actionlib_msgs - geometry_msgs - message_runtime - sensor_msgs - std_msgs -) - -include_directories( - ${catkin_INCLUDE_DIRS} -) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/FindRoomSequenceWithCheckpoints.action b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/FindRoomSequenceWithCheckpoints.action deleted file mode 100644 index b436771..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/FindRoomSequenceWithCheckpoints.action +++ /dev/null @@ -1,17 +0,0 @@ -# goal definition -sensor_msgs/Image input_map # floor plan map [mono8 format], 0=obstacle or unknown, 255=free space -float32 map_resolution # the resolution of the map in [meter/cell] -geometry_msgs/Pose map_origin # the origin of the map in [meter] -ipa_building_msgs/RoomInformation[] room_information_in_pixel # room data (min/max coordinates, center coordinates) measured in pixels -float64 robot_radius # the robot footprint radius [m], used for excluding areas from path planning that could not be visited by the robot -geometry_msgs/Pose robot_start_coordinate # current robot location (used to determine the closest checkpoint in the sequence of checkpoints) [in meter] - ---- - -# result definition -ipa_building_msgs/RoomSequence[] checkpoints # sequence of checkpoints, should be ordered in optimized traveling salesman sequence - # (checkpoint = a clique of rooms close [in terms of robot driving distance] to each other, - # and a central [in terms of rooms in the group] checkpoint location) -sensor_msgs/Image sequence_map # map that has the calculated sequence drawn in ---- -#feedback definition diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/MapSegmentation.action b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/MapSegmentation.action deleted file mode 100644 index 9f443ce..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/MapSegmentation.action +++ /dev/null @@ -1,39 +0,0 @@ -# Map Segmentation action -# Provides interface to get the segmented map - -# goal definition -sensor_msgs/Image input_map # the action server need a map as a input image to segment it, IMPORTANT: The algorithm needs a black and white 8bit single-channel image (format 8UC1), which is 0 (black) for obstacles and 255 (white) for free space -float32 map_resolution # the resolution of the map in [meter/cell] -geometry_msgs/Pose map_origin # the origin of the map in [meter] -bool return_format_in_pixel # return room data (see below) in [pixel] -bool return_format_in_meter # return room data (see below) in [meter] -float32 robot_radius # in [meter]; if this variable is set to a value greater than 0, the room centers are chosen at locations that are reachable from neighboring rooms (i.e. not inside the legs of a table surrounded by chairs) -int32 room_segmentation_algorithm # optionally overrides the parameterized segmentation method (if -1 it just takes the preset) - # 0 = take the preset (parameterized) method - # 1 = MorphologicalSegmentation - # 2 = DistanceSegmentation - # 3 = VoronoiSegmentation - # 4 = SemanticSegmentation - # 5 = RandomFieldSegmentation - # 99 = PassThrough (just get a pre-segmented map into the right output format) - ---- - -# result definition -sensor_msgs/Image segmented_map # the action server returns a map segmented into rooms which carry the segment number in every pixel cell, format 32SC1, room labels from 1 to N, room with label i -> access to room_information_in_pixel[i-1] -float32 map_resolution # the resolution of the segmented map in [meter/cell] -geometry_msgs/Pose map_origin # the origin of the segmented map in [meter] -# for the following data: value in pixel can be obtained when the value of [return_format_in_pixel] from goal definition is true -# the computed room centers are not the centroids of the room cells (which could be located outside of the rooms) -# but accessible map pixels located within the center of the largest free space in the room -ipa_building_msgs/RoomInformation[] room_information_in_pixel # room data (min/max coordinates, center coordinates) measured in pixels -# for the following data: value in meter can be obtained when the value of [return_format_in_meter] from goal definition is true -# the computed room centers are not the centroids of the room cells (which could be located outside of the rooms) -# but accessible map pixels located within the center of the largest free space in the room -ipa_building_msgs/RoomInformation[] room_information_in_meter # room data (min/max coordinates, center coordinates) measured in meters -# if wanted the 5th algorithm (vrf) can return single points labeled as a doorway -geometry_msgs/Point32[] doorway_points - ---- - -#feedback definition \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/RoomExploration.action b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/RoomExploration.action deleted file mode 100644 index 3e9e029..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/RoomExploration.action +++ /dev/null @@ -1,24 +0,0 @@ -# Room Exploration action -# sends an occupancy grid map of a room to the server, which plans a path trough it to cover or inspect the whole room by a device or camera - -# goal definition -sensor_msgs/Image input_map # the action server needs a map as a input image to segment it, - # IMPORTANT: The algorithm needs a black and white 8bit single-channel image (format 8UC1), which is 0 (black) for obstacles and 255 (white) for free space - # todo: the image needs to be vertically mirrored compared to the map in RViz for using right coordinate systems - # OccupancyGrid map = origin lower left corner, image = origin upper left corner - # todo: take the OccupanyGrid message here instead to avoid confusion and deal with map coordinates in server -float32 map_resolution # the resolution of the map in [meter/cell] -geometry_msgs/Pose map_origin # the origin of the map in [meter], NOTE: rotations are not supported for now -float32 robot_radius # effective robot radius, taking the enlargement of the costmap into account, in [meter] -float32 coverage_radius # radius that is used to plan the coverage planning for the robot and not the field of view, assuming that the part that needs to cover everything (e.g. the cleaning part) can be represented by a fitting circle (e.g. smaller than the actual part to ensure coverage), in [meter] -geometry_msgs/Point32[] field_of_view # the 4 points that define the field of view of the robot, relatively to the robot coordinate system (with x pointing forwards and y pointing to the left), in [meter] -geometry_msgs/Point32 field_of_view_origin # the mounting position of the camera spanning the field of view, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter] -geometry_msgs/Pose2D starting_position # starting pose of the robot in the room coordinate system [meter,meter,rad] -int32 planning_mode # 1 = plans a path for coverage with the robot footprint, 2 = plans a path for coverage with the robot's field of view - ---- -# result definition -geometry_msgs/Pose2D[] coverage_path # when the server should return the coverage path, this is done returning the points in an array that shows the order of visiting -geometry_msgs/PoseStamped[] coverage_path_pose_stamped # (same content as coverage_path but different format) when the server should return the coverage path, this is done returning the points in an array that shows the order of visiting ---- -# feedback definition diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomInformation.msg b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomInformation.msg deleted file mode 100644 index 5ee2539..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomInformation.msg +++ /dev/null @@ -1,2 +0,0 @@ -geometry_msgs/Polygon room_min_max # first point provides the minimum (x,y)-coordinate values of the rooms, second point provides the maximum (x,y)-coordinate values of the rooms -geometry_msgs/Point32 room_center # provides the (x,y)-coordinate values of the room centers \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomSequence.msg b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomSequence.msg deleted file mode 100644 index 87439d1..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomSequence.msg +++ /dev/null @@ -1,5 +0,0 @@ -uint32[] room_indices # indices of those rooms that belong to one group (connected to a checkpoint, - # i.e. the clique of rooms close [in terms of robot driving distance] to each other), - # indices should be ordered in optimized traveling salesman sequence -geometry_msgs/Point32 checkpoint_position_in_pixel # provides the (x,y)-coordinates of the checkpoint location for this group of rooms [in pixel] -geometry_msgs/Point32 checkpoint_position_in_meter # provides the (x,y)-coordinates of the checkpoint location for this group of rooms [in meter] \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info_array.msg b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info_array.msg deleted file mode 100644 index 77a722d..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info_array.msg +++ /dev/null @@ -1 +0,0 @@ -ipa_building_msgs/dis_info[] dis \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/package.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/package.xml deleted file mode 100644 index 2162e5a..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/package.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - ipa_building_msgs - 0.2.0 - - - This package contains common message type definitions for building navigation tasks such as floor plan segmentation into rooms or the optimal trajectory through rooms of a building. - - - LGPL for academic and non-commercial use; for commercial use, please contact Fraunhofer IPA - - Richard Bormann - Richard Bormann - - catkin - - message_generation - message_runtime - - actionlib - actionlib_msgs - geometry_msgs - sensor_msgs - std_msgs - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/CheckCoverage.srv b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/CheckCoverage.srv deleted file mode 100644 index 76b6762..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/CheckCoverage.srv +++ /dev/null @@ -1,12 +0,0 @@ -sensor_msgs/Image input_map # the action server need a map as a input image to segment it, IMPORTANT: The algorithm needs a black and white 8bit single-channel image, which is 0 (black) for obstacles and 255 (white) for free space -float32 map_resolution # resolution of the given map, in [meter/cell] -geometry_msgs/Pose map_origin # the origin of the map, in [meter] -geometry_msgs/Pose2D[] path # check the coverage along this path of the robot center, in the world frame in [meter] -geometry_msgs/Point32[] field_of_view # the points that define the field of view of the robot, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter] -geometry_msgs/Point32 field_of_view_origin # the mounting position of the camera spanning the field of view, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter] -float32 coverage_radius # radius that is used to plan the coverage planning for the robot and not the field of view, assuming that the part that needs to cover everything (e.g. the cleaning part) can be represented by a fitting circle (e.g. smaller than the actual part to ensure coverage), in [meter] -bool check_for_footprint # determine, if the coverage check should be done for the footprint or the field of view -bool check_number_of_coverages # if set, the server returns a map that shows how often one pixel has been covered during the path, return format: 32bit single-channel image ---- -sensor_msgs/Image coverage_map # the map that has the covered areas drawn in, with a value of 255, an 8bit single-channel image -sensor_msgs/Image number_of_coverage_image # the image that carries for each pixel the number of coverages when executing the path, 32bit single-channel image diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/ExtractAreaMapFromLabeledMap.srv b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/ExtractAreaMapFromLabeledMap.srv deleted file mode 100644 index 401834a..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/ExtractAreaMapFromLabeledMap.srv +++ /dev/null @@ -1,14 +0,0 @@ -# The request message provides a segmented map which consists of cells with label 0 for inaccessible areas and other number from 1 to N -# for labeling membership with one of the N segmented areas. -# The return message shall deliver the same map but with only one area (segment_of_interest) labeled as 255 and the remainder labeled -# as inaccessible with 0. - -sensor_msgs/Image segmented_map # a map segmented into N areas which carry the respective segment number in every pixel cell, - # format 32SC1, room labels from 1 to N, 0 represents inaccessible cells (e.g. walls) -int32 segment_of_interest # the specific area label of the area of which a map shall be created - ---- - -sensor_msgs/Image segmented_area # a map that only contains the area which is labeled with segment_of_interest in segmented_map, - # the parts of that area are labeled as 255 in this map and the remainder is labeled as inaccessible with 0 - # data type is a 8bit single-channel image (format 8UC1) \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/CMakeLists.txt b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/CMakeLists.txt deleted file mode 100644 index c9fbd4f..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/CMakeLists.txt +++ /dev/null @@ -1,202 +0,0 @@ -cmake_minimum_required(VERSION 2.8.3) -project(ipa_building_navigation) - -# build with c++11 -add_compile_options(-std=c++11) - -set(catkin_RUN_PACKAGES - actionlib - cv_bridge - geometry_msgs - ipa_building_msgs - roscpp - roslib - sensor_msgs - visualization_msgs -) - -set(catkin_BUILD_PACKAGES - ${catkin_RUN_PACKAGES} - dynamic_reconfigure -) - -## Find catkin macros and libraries -find_package(catkin REQUIRED COMPONENTS - ${catkin_BUILD_PACKAGES} -) - -generate_dynamic_reconfigure_options( - cfg/BuildingNavigation.cfg -) - -find_package(OpenCV REQUIRED) -find_package(Boost REQUIRED COMPONENTS system thread chrono) - -################################### -## catkin specific configuration ## -################################### -## The catkin_package macro generates cmake config files for your package -## Declare things to be passed to dependent projects -## INCLUDE_DIRS: uncomment this if you package contains header files -## LIBRARIES: libraries you create in this project that dependent projects also need -## CATKIN_DEPENDS: catkin_packages dependent projects also need -## DEPENDS: system dependencies of this project that dependent projects also need -# important: common/include needs to be here if you have such a directory -catkin_package( -INCLUDE_DIRS - common/include - ros/include -LIBRARIES - ${PROJECT_NAME} - tsp_solvers -CATKIN_DEPENDS - ${catkin_RUN_PACKAGES} -DEPENDS -# libconcorde_tsp_solver - OpenCV - Boost -) - - -########### -## Build ## -########### -## Specify additional locations of header files -## Your package locations should be listed before other locations -# include_directories(include ${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) -# important: common/include also needs to be here if you have it -include_directories( - common/include - ros/include - ${catkin_INCLUDE_DIRS} - ${OpenCV_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} -) - -# TSP library -add_library(tsp_solvers - common/src/A_star_pathplanner.cpp - common/src/node.cpp - common/src/nearest_neighbor_TSP.cpp - common/src/genetic_TSP.cpp - common/src/concorde_TSP.cpp -) -target_link_libraries(tsp_solvers - ${catkin_LIBRARIES} - ${OpenCV_LIBRARIES} - ${Boost_LIBRARIES} -) -add_dependencies(tsp_solvers - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) - -# package library -add_library(${PROJECT_NAME} STATIC - common/src/maximal_clique_finder.cpp - common/src/set_cover_solver.cpp - common/src/trolley_position_finder.cpp -) -target_link_libraries(${PROJECT_NAME} - ${catkin_LIBRARIES} - ${OpenCV_LIBRARIES} - ${Boost_LIBRARIES} -) -add_dependencies(${PROJECT_NAME} - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) - -# action provider -add_executable(room_sequence_planning_server - ros/src/room_sequence_planning_action_server.cpp - ) -target_link_libraries(room_sequence_planning_server - tsp_solvers - ${PROJECT_NAME} - ${catkin_LIBRARIES} - ${OpenCV_LIBRARIES} - ${Boost_LIBRARIES} -) -add_dependencies(room_sequence_planning_server - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} - ${PROJECT_NAME}_gencfg -) - -# client for testing purpose -add_executable(room_sequence_planning_client ros/src/room_sequence_planning_action_client.cpp) -target_link_libraries(room_sequence_planning_client - ${catkin_LIBRARIES} - ${OpenCV_LIBRARIES} -) -add_dependencies(room_sequence_planning_client ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EXPORTED_TARGETS}) - -# client for testing purpose -add_executable(room_sequence_planning_evaluation - ros/src/room_sequence_planning_evaluation.cpp - common/src/A_star_pathplanner.cpp - common/src/node.cpp -) -target_link_libraries(room_sequence_planning_evaluation - ${catkin_LIBRARIES} - ${OpenCV_LIBRARIES} -) -add_dependencies(room_sequence_planning_evaluation ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EXPORTED_TARGETS}) - -# evaluation -add_executable(TSP_evaluation - ros/src/boosttest.cpp -) -target_link_libraries(TSP_evaluation - tsp_solvers - ${catkin_LIBRARIES} - ${OpenCV_LIBRARIES} -) -add_dependencies(TSP_evaluation ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EXPORTED_TARGETS}) - -#tester for different functions -#add_executable(a_star_tester ros/src/tester.cpp common/src/A_star_pathplanner.cpp common/src/node.cpp common/src/nearest_neighbor_TSP.cpp common/src/genetic_TSP.cpp common/src/concorde_TSP.cpp common/src/maximal_clique_finder.cpp common/src/set_cover_solver.cpp common/src/trolley_position_finder.cpp) -#target_link_libraries(a_star_tester ${catkin_LIBRARIES} ${OpenCV_LIBRARIES} ${Boost_LIBRARIES}) -#add_dependencies(a_star_tester ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EXPORTED_TARGETS}) - - -############# -## Install ## -############# -# Mark executables and/or libraries for installation -install(TARGETS ${PROJECT_NAME} tsp_solvers room_sequence_planning_server room_sequence_planning_client #a_star_tester tester - ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -) - -#uncomment this if you have a common-directory with header-files -install(DIRECTORY common/include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} - FILES_MATCHING PATTERN "*.h" - PATTERN ".svn" EXCLUDE -) - -#uncomment this if you have header-files in your project -install(DIRECTORY ros/include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} - FILES_MATCHING PATTERN "*.h" - PATTERN ".svn" EXCLUDE -) - -#install(DIRECTORY scripts -# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} -# PATTERN ".svn" EXCLUDE -#) - -##uncomment this if you use launch and yaml files -install(DIRECTORY ros/launch - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/ros - PATTERN ".svn" EXCLUDE -) - -#install(DIRECTORY common/files -# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/common -# PATTERN ".svn" EXCLUDE -#) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/cfg/BuildingNavigation.cfg b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/cfg/BuildingNavigation.cfg deleted file mode 100644 index cb41b52..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/cfg/BuildingNavigation.cfg +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/env python -PACKAGE = "ipa_building_navigation" - -from dynamic_reconfigure.parameter_generator_catkin import * - -gen = ParameterGenerator() - -# TSP solver -tsp_enum = gen.enum([ gen.const("NearestNeighbor", int_t, 1, "Use the nearest neighbor TSP algorithm."), - gen.const("GeneticSolver", int_t, 2, "Use the genetic TSP algorithm."), - gen.const("ConcordeSolver", int_t, 3, "Use the Concorde TSP algorithm.")], - "TSP solver") -gen.add("tsp_solver", int_t, 0, "TSP solver", 3, 1, 3, edit_method=tsp_enum) - -# problem setting -problem_setting_enum = gen.enum([ gen.const("SimpleOrderPlanning", int_t, 1, "Plan the optimal order of a simple set of locations."), - gen.const("CheckpointBasedPlanning", int_t, 2, "Two-stage planning that creates local cliques of locations (= checkpoints) and determines the optimal order through the members of each clique as well as the optimal order through the cliques.")], - "Problem setting of the sequence planning problem") -gen.add("problem_setting", int_t, 0, "Problem setting of the sequence planning problem", 2, 1, 2, edit_method=problem_setting_enum) - - -# checkpoint-based sequence planning specifics -trolley_placement_method_enum = gen.enum([ gen.const("DragTrolleyWhenNecessary", int_t, 1, "Drag the trolley if it is too far away from next room."), - gen.const("PrecomputeRoomGroupsAndCorrespondingTrolleyPosition", int_t, 2, "Put rooms together in groups and calculate a corresponding trolley positions.")], - "Trolley placement method (only applies to CheckpointBasedPlanning problem)") -gen.add("planning_method", int_t, 0, "Trolley placement method (only applies to CheckpointBasedPlanning problem)", 2, 1, 2, edit_method=trolley_placement_method_enum) - -gen.add("max_clique_path_length", double_t, 0, "Max A* path length between two rooms that are assigned to the same clique, in [m] (only applies to CheckpointBasedPlanning problem)", 12.0, 0.0) - -gen.add("maximum_clique_size", int_t, 0, "Maximal number of nodes belonging to one trolley clique (only applies to CheckpointBasedPlanning problem)", 9001, 0) - - -# general settings -gen.add("map_downsampling_factor", double_t, 0, "The map may be downsampled during computations (e.g. of A* path lengths) in order to speed up the algorithm, if set to 1 the map will have original size, if set to 0 the algorithm won't work", 0.25, 0.00001, 1.0) - -gen.add("check_accessibility_of_rooms", bool_t, 0, "Tells the sequence planner if it should check the given room centers for accessibility from the starting position", True) - -gen.add("return_sequence_map", bool_t, 0, "Tells the server if the map with the sequence drawn in should be returned", False) - -gen.add("display_map", bool_t, 0, "Show the resulting map with paths (only if return_sequence_map=true)", False) - -exit(gen.generate(PACKAGE, "room_sequence_planning_action_server", "BuildingNavigation")) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/A_star_pathplanner.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/A_star_pathplanner.h deleted file mode 100644 index cd75565..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/A_star_pathplanner.h +++ /dev/null @@ -1,62 +0,0 @@ -// Astar.cpp -// http://en.wikipedia.org/wiki/A* -// Compiler: Dev-C++ 4.9.9.2 -// FB - 201012256 -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#pragma once //make sure this header gets included only one time when multiple classes need it in the same project - //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define - -//This class provides an AStar pathplanner, which calculates the pathlength from one cv::Point to another. It was taken from -// http://code.activestate.com/recipes/577457-a-star-shortest-path-algorithm/ and slightly changed (to use it with openCV). -//It needs node.h to work, which gives an implementation of nodes of the graph. -// -//!!!!!!!!!Important!!!!!!!!!!!!! -//It downsamples the map mith the given factor (0 < factor < 1) so the map gets reduced and calculationtime gets better. -//If it is set to 1 the map will have original size, if it is 0 the algorithm won't work, so make sure to not set it to 0. -//The algorithm also needs the Robot radius [m] and the map resolution [m²/pixel] to calculate the needed -//amount of erosions to include the radius in the planning. -// - -class AStarPlanner -{ -protected: - int n; - int m; - - std::string route_; - - std::string pathFind(const int& xStart, const int& yStart, const int& xFinish, const int& yFinish, const cv::Mat& map); - -public: - AStarPlanner(); - - void drawRoute(cv::Mat& map, const cv::Point start_point, const std::string& route, double step_length); - - void getRoute(const cv::Point start_point, const std::string& route, double step_length, std::vector& route_points); - - // computes the path length between start point and end point - double planPath(const cv::Mat& map, const cv::Point& start_point, const cv::Point& end_point, - const double downsampling_factor, const double robot_radius, const double map_resolution, - const int end_point_valid_neighborhood_radius=0, std::vector* route=NULL); - - // computes the path length between start point and end point, tries first with a downsampled map for fast computation and uses the original map if the first try was not successful - // if end_point_valid_neighborhood_radius [measured in cell size of downsampled_map] is set greater than 0, then it is sufficient to find a path to a cell within that neighborhood radius to end_point for a success - double planPath(const cv::Mat& map, const cv::Mat& downsampled_map, const cv::Point& start_point, const cv::Point& end_point, const double downsampling_factor, - const double robot_radius, const double map_resolution, const int end_point_valid_neighborhood_radius=0, cv::Mat* draw_path_map=NULL, - std::vector* route=NULL); - - void downsampleMap(const cv::Mat& map, cv::Mat& downsampled_map, const double downsampling_factor, const double robot_radius, const double map_resolution); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/concorde_TSP.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/concorde_TSP.h deleted file mode 100644 index 2bb1336..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/concorde_TSP.h +++ /dev/null @@ -1,92 +0,0 @@ -#include "ros/ros.h" -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include - -#pragma once //make sure this header gets included only one time when multiple classes need it in the same project -//regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define - -//This class applies an object to solve a given TSP problem using the concorde TSP solver. This solver can be downloaded at: -// http://www.math.uwaterloo.ca/tsp/concorde.html -//A short explanation on how to build the solver is given at: -// http://www.math.uwaterloo.ca/tsp/concorde/DOC/README.html -//If you have build the solver navigate to the./TSP folder and type " ./concorde -h " to see how to use this solver. This class -//uses the concorde solver by using a systemcall. -//Make sure you have a "/common/files/TSP_order.txt" and a "/common/files/TSPlib_file.txt" file. These files are used to tell -//concorde the current problem and save the output of it. -// -//It needs a symmetrical matrix of pathlenghts between the nodes and the starting-point index in this matrix. -//If the path from one node to another doesn't exist or the path is from one node to itself, the entry in the matrix must -//be 0 or smaller. so the format for this matrix is: -// row: node to start from, column: node to go to -// --- --- -// | 0.0 1.0 3.5 5.8 1.2 | -// | 1.0 0.0 2.4 3.3 9.0 | -// | 3.5 2.4 0.0 7.7 88.0| -// | 5.8 3.3 7.7 0.0 0.0 | -// | 1.2 9.0 88.0 0.0 0.0 | -// --- --- - -class ConcordeTSPSolver -{ -protected: - - //Astar pathplanner to find the pathlengths from cv::Point to cv::Point - AStarPlanner pathplanner_; - - //Function to create neccessary TSPlib file to tell concorde what the problem is. - void writeToFile(const cv::Mat& pathlength_matrix, const std::string& tsp_lib_filename, const std::string& tsp_order_filename); - - //Function to read the saved TSP order. - std::vector readFromFile(const std::string& tsp_order_filename); - - void distance_matrix_thread(DistanceMatrix& distance_matrix_computation, cv::Mat& distance_matrix, - const cv::Mat& original_map, const std::vector& points, double downsampling_factor, - double robot_radius, double map_resolution, AStarPlanner& path_planner); - - bool abort_computation_; - std::string unique_file_identifier_; - -public: - //Constructor - ConcordeTSPSolver(); - - void abortComputation(); - - //Functions to solve the TSP. It needs a distance matrix, that shows the pathlengths between two nodes of the problem. - //This matrix has to be symmetrical or else the TSPlib must be changed. The int shows the index in the Matrix. - //There are two functions for different cases: - // 1. The distance matrix already exists - // 2. The distance matrix has to be computed and maybe returned - - //with given distance matrix - std::vector solveConcordeTSP(const cv::Mat& path_length_Matrix, const int start_Node); - - // compute distance matrix and maybe return it - // this version does not exclude infinite paths from the TSP ordering - std::vector solveConcordeTSP(const cv::Mat& original_map, const std::vector& points, double downsampling_factor, - double robot_radius, double map_resolution, const int start_Node, cv::Mat* distance_matrix = 0); - - // compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed - std::vector solveConcordeTSPClean(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, const int start_node); - - // compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) - std::vector solveConcordeTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, - const std::map& cleaned_index_to_original_index_mapping, const int start_node); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/contains.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/contains.h deleted file mode 100644 index ab75a53..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/contains.h +++ /dev/null @@ -1,24 +0,0 @@ -#include "ros/ros.h" -#include -#include -#include -#include -#include -#include - -#pragma once - -//This function searches for the given element in the given vector and returns true if it is in it or false if not -template -bool inline contains(std::vector vector, T element) -{ - //this functions checks, if the given element is in the given vector (in this case for int elements) - if (!vector.empty()) - { - return vector.end() != std::find(vector.begin(), vector.end(), element); - } - else - { - return false; - } -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/distance_matrix.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/distance_matrix.h deleted file mode 100644 index 29b79f8..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/distance_matrix.h +++ /dev/null @@ -1,261 +0,0 @@ - - -#pragma once - -#include -#include -#include - -#include - -class DistanceMatrix -{ -protected: - - bool abort_computation_; - -public: - - DistanceMatrix() - : abort_computation_(false) - { - } - - void abortComputation() - { - abort_computation_ = true; - } - - //Function to construct the symmetrical distance matrix from the given points. The rows show from which node to start and - //the columns to which node to go. If the path between nodes doesn't exist or the node to go to is the same as the one to - //start from, the entry of the matrix is 0. - // REMARK: paths is a pointer that points to a 3D vector that has dimensionality NxN in the outer vectors to store - // the paths in a matrix manner - void constructDistanceMatrix(cv::Mat& distance_matrix, const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, AStarPlanner& path_planner, - std::vector > >* paths=NULL) - { - std::cout << "DistanceMatrix::constructDistanceMatrix: Constructing distance matrix..." << std::endl; - Timer tim; - - //create the distance matrix with the right size - distance_matrix.create((int)points.size(), (int)points.size(), CV_64F); - - // hack: speed up trick - if (points.size()>500) - downsampling_factor *= 0.5; - - // reduce image size already here to avoid resizing in the planner each time - const double one_by_downsampling_factor = 1./downsampling_factor; - cv::Mat downsampled_map; - path_planner.downsampleMap(original_map, downsampled_map, downsampling_factor, robot_radius, map_resolution); - - if (points.size()>500) - std::cout << "0 10 20 30 40 50 60 70 80 90 100" << std::endl; -// int a=0, b=0; - for (int i = 0; i < points.size(); i++) - { - //std::cout << " a=" << a << " b=" << b << std::endl; - if (points.size()>500 && i%(std::max(1,(int)points.size()/100))==0) - std::cout << "." << std::flush; - //cv::Point current_center = downsampling_factor * points[i]; - for (int j = 0; j < points.size(); j++) - { - if (j != i) - { - if (j > i) //only compute upper right triangle of matrix, rest is symmetrically added - { - if (abort_computation_==true) - return; - - // try first with direct connecting line (often sufficient and a significant speedup over A*) - cv::LineIterator it(original_map, points[i], points[j]); - bool direct_connection = true; - for (int k=0; k(i, j) = length; - distance_matrix.at(j, i) = length; //symmetrical-Matrix --> saves half the computation time - if (paths!=NULL) - { - // store path - cv::LineIterator it2(original_map, points[i], points[j]); - std::vector current_path(it2.count); - for (int k=0; kat(i).at(j) = current_path; - paths->at(j).at(i) = current_path; - } -// ++a; - } - else - { - // A* path planner - if(paths!=NULL) - { - std::vector current_path; - double length = path_planner.planPath(original_map, downsampled_map, points[i], points[j], downsampling_factor, 0., map_resolution, 0, NULL, ¤t_path); - distance_matrix.at(i, j) = length; - distance_matrix.at(j, i) = length; //symmetrical-Matrix --> saves half the computation time - - // remap path points to original map size - for(std::vector::iterator point=current_path.begin(); point!=current_path.end(); ++point) - { - point->x = point->x/downsampling_factor; - point->y = point->y/downsampling_factor; - } - - paths->at(i).at(j) = current_path; - paths->at(j).at(i) = current_path; - } - else - { - double length = path_planner.planPath(original_map, downsampled_map, points[i], points[j], downsampling_factor, 0., map_resolution); - distance_matrix.at(i, j) = length; - distance_matrix.at(j, i) = length; //symmetrical-Matrix --> saves half the computation time - - } -// ++b; - } - } - } - else - { - distance_matrix.at(i, j) = 0; - } - } - } - - std::cout << "\nDistance matrix created in " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl;// "\nDistance matrix:\n" << distance_matrix << std::endl; - } - - // check whether distance matrix contains infinite path lengths and if this is true, create a new distance matrix with maximum size clique of reachable points - // cleaned_index_to_original_index_mapping --> maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix - void cleanDistanceMatrix(const cv::Mat& distance_matrix, cv::Mat& distance_matrix_cleaned, std::map& cleaned_index_to_original_index_mapping) - { - // standard: use a 1:1 mapping (input = output) - cleaned_index_to_original_index_mapping.clear(); - for (int i=0; i remove_entry(distance_matrix.rows, false); // keeps track on which entries of distance_matrix need to be removed - - // loop until all lines are marked, which need to be removed - cv::Mat distance_matrix_temp = distance_matrix.clone(); - while (true) - { - // count infinite entries in each row of distance matrix - std::vector infinite_length_entries(distance_matrix_temp.rows, 0); - for (int i=0; i(i,j)>max_length) - infinite_length_entries[i]++; - - // sort rows by their number of infinite entries - std::multimap number_infinite_entries_to_row_index_mapping; // maps number of infinite entries to the corresponding row index - for (size_t i=0; i(infinite_length_entries[i], (int)i)); - - // if any row has at least one infinite entry, mark the row with most infinity entries for deletion - bool mark_line = false; - int mark_index = -1; - std::multimap::reverse_iterator number_infinite_entries_to_row_index_mapping_last = number_infinite_entries_to_row_index_mapping.rbegin(); - if (number_infinite_entries_to_row_index_mapping_last->first > 0) - { - mark_line = true; - mark_index = number_infinite_entries_to_row_index_mapping_last->second; - remove_entry[mark_index] = true; - } - if (mark_line == true) - { - for (int j=0; j(mark_index, j) = -1.; - for (int i=0; i(i, mark_index) = -1.; - } - else - break; - } - - // count entries to remove - int number_entries_to_be_removed = 0; - for (size_t i=0; i 0) - { - std::cout << " DistanceMatrix::cleanDistanceMatrix: Need to remove " << number_entries_to_be_removed << " elements out of " << distance_matrix.rows << " elements from the distance matrix." << std::endl; - - // setup new distance_matrix - const int new_size = distance_matrix.rows - number_entries_to_be_removed; - if (new_size == 0) - { - std::cout << " DistanceMatrix::cleanDistanceMatrix: Warning: Would need to remove all elements of distance_matrix. Aborting." << std::endl; - return; - } - distance_matrix_cleaned.create(new_size, new_size, CV_64F); - cleaned_index_to_original_index_mapping.clear(); - - // fill new distance_matrix - int new_index = 0; - for (size_t i=0; i(new_index, new_j) = distance_matrix.at(i,j); - new_j++; - } - } - new_index++; - } - } - if (new_index != new_size) - std::cout << "##################################################\nDistanceMatrix::cleanDistanceMatrix: Warning: new_index != new_size.\n##################################################" << std::endl; - } - } - - // calculate the distance matrix and check whether distance matrix contains infinite path lengths and if this is true, - // create a new distance matrix with maximum size clique of reachable points - // start_node --> provide the original start node to the function, it writes the new start node mapped to the new coordinates into it - // cleaned_index_to_original_index_mapping --> maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix - void computeCleanedDistanceMatrix(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, AStarPlanner& path_planner, - cv::Mat& distance_matrix, std::map& cleaned_index_to_original_index_mapping, int& start_node) - { - std::cout << "DistanceMatrix::computeCleanedDistanceMatrix: Constructing distance matrix..." << std::endl; - // calculate the distance matrix - cv::Mat distance_matrix_raw; - constructDistanceMatrix(distance_matrix_raw, original_map, points, downsampling_factor, robot_radius, map_resolution, path_planner); - - // check whether distance matrix contains infinite path lengths and if this is true, create a new distance matrix with maximum size clique of reachable points - cleanDistanceMatrix(distance_matrix_raw, distance_matrix, cleaned_index_to_original_index_mapping); - - // re-assign the start node to cleaned indices (use 0 if the original start node was removed from distance_matrix_cleaned) - int new_start_node = 0; - for (std::map::iterator it=cleaned_index_to_original_index_mapping.begin(); it!=cleaned_index_to_original_index_mapping.end(); ++it) - if (it->second == start_node) - new_start_node = it->first; - start_node = new_start_node; - } -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/genetic_TSP.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/genetic_TSP.h deleted file mode 100644 index e2a24e2..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/genetic_TSP.h +++ /dev/null @@ -1,91 +0,0 @@ -#include "ros/ros.h" - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include -#include - -#pragma once //make sure this header gets included only one time when multiple classes need it in the same project - //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define - -//This class provides a solution for the TSP by taking the nearest-neighbor path and applying a genetic algorithm on it. -//It needs a symmetrical matrix of pathlenghts between the nodes and the starting-point index in this matrix. -//If the path from one node to another doesn't exist or the path is from one node to itself, the entry in the matrix must -//be 0 or smaller. so the format for this matrix is: -// row: node to start from, column: node to go to -// --- --- -// | 0.0 1.0 3.5 5.8 1.2 | -// | 1.0 0.0 2.4 3.3 9.0 | -// | 3.5 2.4 0.0 7.7 88.0| -// | 5.8 3.3 7.7 0.0 0.0 | -// | 1.2 9.0 88.0 0.0 0.0 | -// --- --- - -class GeneticTSPSolver -{ -protected: - - //Astar pathplanner to find the pathlengths from cv::Point to cv::Point - AStarPlanner pathplanner_; - - //function to get the length of a given path - double getPathLength(const cv::Mat& path_length_Matrix, std::vector given_path); - - //function to mutate (randomly change) a given Parent-path - std::vector mutatePath(const std::vector& parent_path); - - //function that selects the best path from the given paths - std::vector getBestPath(const std::vector > paths, const cv::Mat& pathlength_Matrix, bool& changed); - - void distance_matrix_thread(DistanceMatrix& distance_matrix_computation, cv::Mat& distance_matrix, - const cv::Mat& original_map, const std::vector& points, double downsampling_factor, - double robot_radius, double map_resolution, AStarPlanner& path_planner); - - bool abort_computation_; - - //indicates how many generations shall be at least taken in order to optimize the given path - int min_number_of_generations_; - - //indicates the amount of generations for which the path shouldn't have changed in order to stop the - //optimization - int const_generations_number_; - -public: - //constructor - GeneticTSPSolver(int min_number_of_gens=2300, int const_generations=100); - - void abortComputation(); - - //Solving-algorithms for the given TSP. It returns a vector of int, which is the order from this solution. The int shows - //the index in the Matrix. There are two functions for different cases: - // 1. The distance matrix already exists - // 2. The distance matrix has to be computet and maybe returned - - //with given distance matrix - std::vector solveGeneticTSP(const cv::Mat& path_length_Matrix, const int start_Node); - - - // compute distance matrix and maybe returning it - // this version does not exclude infinite paths from the TSP ordering - std::vector solveGeneticTSP(const cv::Mat& original_map, const std::vector& points, double downsampling_factor, - double robot_radius, double map_resolution, const int start_Node, cv::Mat* distance_matrix=0); - - // compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed - std::vector solveGeneticTSPClean(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, const int start_node); - - // compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) - std::vector solveGeneticTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, - const std::map& cleaned_index_to_original_index_mapping, const int start_node); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/maximal_clique_finder.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/maximal_clique_finder.h deleted file mode 100644 index d1fcff3..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/maximal_clique_finder.h +++ /dev/null @@ -1,69 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include - -#include -#include -#include - -#pragma once //make sure this header gets included only one time when multiple classes need it in the same project - //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define - -//This algorithm provides a class that finds all maximal cliques in a given graph. It uses the Bron-Kerbosch Implementation -//in Boost to do this. As input a symmetrical distance-Matrix is needed that shows the pathlenghts from one node to another. -//If the path from one node to another doesn't exist, the entry in the matrix must be 0 or smaller. so the format for this -//Matrix is: -// row: node to start from, column: node to go to -// --- --- -// | 0.0 1.0 3.5 5.8 1.2 | -// | 1.0 0.0 2.4 3.3 9.0 | -// | 3.5 2.4 0.0 7.7 88.0| -// | 5.8 3.3 7.7 0.0 0.0 | -// | 1.2 9.0 88.0 0.0 0.0 | -// --- --- -//It also needs a maximal pathlength that shows the algorithm when the paths are too long and should not be included in the -//Graph. This is neccessary because we assume that you can reach every node from the others and with a Graph in which all -//nodes are connected the only maximal clique are the nodes itself. For example the previous matrix gets -// maxval = 7.0 -// --- --- -// | 0.0 1.0 3.5 5.8 1.2 | -// | 1.0 0.0 2.4 3.3 0.0 | -// | 3.5 2.4 0.0 0.0 0.0 | -// | 5.8 3.3 0.0 0.0 0.0 | -// | 1.2 0.0 0.0 0.0 0.0 | -// --- --- -// -//The nodes in the graph are named after their position in the distance-Matrix and the cliques are -// std::vector variables so you can easily acces the right nodes in the matrix outside this class. - -class cliqueFinder -{ -protected: - //function that allows to add a Vertex with a name to a boost::Graph. See boosts helper.hpp ( http://www.boost.org/doc/libs/1_47_0/libs/graph/example/helper.hpp ) for explanation - template - typename boost::graph_traits::vertex_descriptor addNamedVertex(Graph& g, NameMap nm, const std::string& name, VertexMap& vm); - - //function to create a graph out of the given distanceMatrix - template - void createGraph(Graph& graph, cv::Mat& distance_Matrix); - - //function to set too long paths in the distance_matrix to zero - void cutTooLongEdges(cv::Mat& complete_distance_matrix, double maxval); - -public: - cliqueFinder(); - - std::vector > getCliques(const cv::Mat& distance_matrix, double maxval); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/nearest_neighbor_TSP.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/nearest_neighbor_TSP.h deleted file mode 100644 index 45ff13a..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/nearest_neighbor_TSP.h +++ /dev/null @@ -1,69 +0,0 @@ -#include "ros/ros.h" - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -#pragma once //make sure this header gets included only one time when multiple classes need it in the same project - //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define - -//This class provides a solution for the TSP by taking the nearest neighbor from the current Point as next Point. -//It needs a symmetrical matrix of pathlenghts between the nodes and the starting-point index in this matrix. -//If the path from one node to another doesn't exist or the path is from one node to itself, the entry in the matrix must -//be 0 or smaller. so the format for this matrix is: -// row: node to start from, column: node to go to -// --- --- -// | 0.0 1.0 3.5 5.8 1.2 | -// | 1.0 0.0 2.4 3.3 9.0 | -// | 3.5 2.4 0.0 7.7 88.0| -// | 5.8 3.3 7.7 0.0 0.0 | -// | 1.2 9.0 88.0 0.0 0.0 | -// --- --- - -class NearestNeighborTSPSolver -{ -protected: - - //Astar pathplanner to find the pathlengths from cv::Point to cv::Point - AStarPlanner pathplanner_; - -// //Function to construct the distance matrix, showing the pathlength from node to node -// void NearestNeighborTSPSolver::constructDistanceMatrix(cv::Mat& distance_matrix, const cv::Mat& original_map, -// const std::vector& points, double downsampling_factor, double robot_radius, double map_resolution); - -public: - //constructor - NearestNeighborTSPSolver(); - - //Solving-algorithms for the given TSP. It returns a vector of int, which is the order from this solution. The int shows - //the index in the Matrix. There are two functions for different cases: - // 1. The distance matrix already exists - // 2. The distance matrix has to be computed and maybe returned - - //with given distance matrix - std::vector solveNearestTSP(const cv::Mat& path_length_matrix, const int start_node); //with given distance matrix - - // compute TSP and distance matrix without cleaning it - // this version does not exclude infinite paths from the TSP ordering - std::vector solveNearestTSP(const cv::Mat& original_map, const std::vector& points, double downsampling_factor, - double robot_radius, double map_resolution, const int start_node, cv::Mat* distance_matrix=0); - - // compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed - std::vector solveNearestTSPClean(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, const int start_node); - - // compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) - std::vector solveNearestTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, - const std::map& cleaned_index_to_original_index_mapping, const int start_node); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/node.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/node.h deleted file mode 100644 index 181b53b..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/node.h +++ /dev/null @@ -1,40 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -//This is th object to reperesent a node in a Graph. It is used by A_star_pathplanner.cpp and was applied from: -// http://code.activestate.com/recipes/577457-a-star-shortest-path-algorithm/ -//In the estimate() function the distance from the node to the goal is calculated. Uncomment there which distance calculation -//you want to use (Euclidean, Manhattan or Chebyshev). Euclidean is more precisly but could slow the planner a little bit on -//long paths. - -#pragma once //make sure this header gets included only one time when multiple classes need it in the same project - //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define - -class NodeAstar -{ -protected: - // current position - int xPos_; - int yPos_; - // total distance already travelled to reach the node - int level_; - // priority=level+remaining distance estimate - int priority_; // smaller: higher priority - -public: - NodeAstar(int xp, int yp, int d, int p); - int getxPos() const; - int getyPos() const; - int getLevel() const; - int getPriority() const; - void updatePriority(const int& xDest, const int& yDest); - void nextLevel(const int& i); // i: direction - const int& estimate(const int& xDest, const int& yDest) const; - -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/set_cover_solver.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/set_cover_solver.h deleted file mode 100644 index aaf1ca3..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/set_cover_solver.h +++ /dev/null @@ -1,72 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include - -#pragma once //make sure this header gets included only one time when multiple classes need it in the same project -//regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define - -//This algorithm provides a class to solve the set-cover problem for given cliques. This is done by using the greedy-search -//algorithm, which takes the clique with most unvisited nodes before the other nodes and removes the nodes in it from the -//unvisited. It repeats this step until no more node hasn't been visited. It then merges cliques together that have at least -//one node in common. -// -//!!!!!!!!!!!!!!!!Important!!!!!!!!!!!!!!!!! -//Make sure that the cliques cover all nodes in the graph or else this algorithm runs into an endless loop. For best results -//take the cliques from a maximal-clique finder like the Bron-Kerbosch algorithm. - -class SetCoverSolver -{ -protected: - - //Astar pathplanner to find the pathlengths from cv::Point to cv::Point - AStarPlanner pathplanner_; - - //This object finds all maximal cliques in the given Graph. It needs a symmetrical distance matrix shwoing the pathlength - //from one node to another and a miximal pathlength to cut edges that are larger than this value. See maximal_clique_finder.h - //for further information. - cliqueFinder maximal_clique_finder; - - //function to merge groups together, which have at least one node in common - std::vector > mergeGroups(const std::vector >& found_groups); - -// //Function to construct the distance matrix, showing the pathlength from node to node -// void constructDistanceMatrix(cv::Mat& distance_matrix, const cv::Mat& original_map, const std::vector& points, -// double downsampling_factor, double robot_radius, double map_resolution); - -public: - //Constructor - SetCoverSolver(); - - //algorithms to solve the set cover problem. There are three functions for different cases: - // 1. The cliques already have been found - // 2. The distance matrix already exists - // 3. The distance matrix has to be computed and may be returned - - //cliques are given - std::vector > solveSetCover(std::vector >& given_cliques, const int number_of_nodes, - const int max_number_of_clique_members, const cv::Mat& distance_matrix); - - //the distance matrix is given - std::vector > solveSetCover(const cv::Mat& distance_matrix, const std::vector& points, - const int number_of_nodes, double maximal_pathlength, const int max_number_of_clique_members); - - //the distance matrix has to be computed and may be returned - std::vector > solveSetCover(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, double maximal_pathlength, const int max_number_of_clique_members, cv::Mat* distance_matrix=0); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/timer.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/timer.h deleted file mode 100644 index 552d5f5..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/timer.h +++ /dev/null @@ -1,183 +0,0 @@ -/* - * timer.h - * - * Created on: May 13, 2013 - * Author: rmb-ce - */ - -// from: http://snipplr.com/view/40650/timer-class-for-both-unixlinuxmac-and-windows-system/ - -////////////////// -// How to Use //// -////////////////// - -//#include -//#include "timer.h" -//using namespace std; - -//int main() -//{ -// Timer timer; -// -// // start timer -// timer.start(); -// -// // do something -// ... -// -// // stop timer -// timer.stop(); -// -// // print the elapsed time in millisec -// cout << timer.getElapsedTimeInMilliSec() << " ms.\n"; -// -// return 0; -//} - - -////////////////////////////////////////////////////////////////////////////// -// Timer.h -// ======= -// High Resolution Timer. -// This timer is able to measure the elapsed time with 1 micro-second accuracy -// in both Windows, Linux and Unix system -// -// AUTHOR: Song Ho Ahn (song.ahn@gmail.com) -// CREATED: 2003-01-13 -// UPDATED: 2006-01-13 -// -// Copyright (c) 2003 Song Ho Ahn -////////////////////////////////////////////////////////////////////////////// - -#ifndef TIMER_H_DEF -#define TIMER_H_DEF - -#ifdef WIN32 // Windows system specific -//#include -#else // Unix based system specific -#include -#endif - -#include - - -class Timer -{ -public: -// default constructor - Timer() - { -#ifdef WIN32 - QueryPerformanceFrequency(&frequency); - startCount.QuadPart = 0; - endCount.QuadPart = 0; -#else - startCount.tv_sec = startCount.tv_usec = 0; - endCount.tv_sec = endCount.tv_usec = 0; -#endif - - stopped = 0; - startTimeInMicroSec = 0; - endTimeInMicroSec = 0; - - start(); - } - - // default destructor - ~Timer() - { - } - - /////////////////////////////////////////////////////////////////////////////// - // start timer. - // startCount will be set at this point. - /////////////////////////////////////////////////////////////////////////////// - void start() - { - stopped = 0; // reset stop flag -#ifdef WIN32 - QueryPerformanceCounter(&startCount); -#else - gettimeofday(&startCount, NULL); -#endif - } - - /////////////////////////////////////////////////////////////////////////////// - // stop the timer. - // endCount will be set at this point. - /////////////////////////////////////////////////////////////////////////////// - void stop() - { - stopped = 1; // set timer stopped flag - -#ifdef WIN32 - QueryPerformanceCounter(&endCount); -#else - gettimeofday(&endCount, NULL); -#endif - } - - /////////////////////////////////////////////////////////////////////////////// - // same as getElapsedTimeInSec() - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTime() - { - return this->getElapsedTimeInSec(); - } - - /////////////////////////////////////////////////////////////////////////////// - // divide elapsedTimeInMicroSec by 1000000 - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTimeInSec() - { - return this->getElapsedTimeInMicroSec() * 0.000001; - } - - /////////////////////////////////////////////////////////////////////////////// - // divide elapsedTimeInMicroSec by 1000 - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTimeInMilliSec() - { - return this->getElapsedTimeInMicroSec() * 0.001; - } - - /////////////////////////////////////////////////////////////////////////////// - // compute elapsed time in micro-second resolution. - // other getElapsedTime will call this first, then convert to correspond resolution. - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTimeInMicroSec() - { -#ifdef WIN32 - if(!stopped) - QueryPerformanceCounter(&endCount); - - startTimeInMicroSec = startCount.QuadPart * (1000000.0 / frequency.QuadPart); - endTimeInMicroSec = endCount.QuadPart * (1000000.0 / frequency.QuadPart); -#else - if (!stopped) - gettimeofday(&endCount, NULL); - - startTimeInMicroSec = (startCount.tv_sec * 1000000.0) + startCount.tv_usec; - endTimeInMicroSec = (endCount.tv_sec * 1000000.0) + endCount.tv_usec; -#endif - - return endTimeInMicroSec - startTimeInMicroSec; - } - -protected: - -private: - double startTimeInMicroSec; // starting time in micro-second - double endTimeInMicroSec; // ending time in micro-second - int stopped; // stop flag -#ifdef WIN32 - LARGE_INTEGER frequency; // ticks per second - LARGE_INTEGER startCount;// - LARGE_INTEGER endCount;// -#else - timeval startCount; // - timeval endCount; // -#endif -}; - -#endif // TIMER_H_DEF diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/trolley_position_finder.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/trolley_position_finder.h deleted file mode 100644 index 2ab9f91..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/trolley_position_finder.h +++ /dev/null @@ -1,58 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include - -#include - -#pragma once //make sure this header gets included only one time when multiple classes need it in the same project - //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define - -//This object provides an algorithm to search for the best trolley position for a group of points. A trolley position is -//the Point where the trolley of a robot should be placed during the cleaning of the group. This is done by searching in the -//bounding box of these points for the point which minimizes the pathlength to every group member. If the goup has only two -//members the algorithm chooses a Point on the optimal path between these two Points that is in the middlest of this path. -//This algorithm needs as input: -// 1. The original occupancy gridmap to get the pathlength between two Points. -// 2. A vector of found groups. This vector stores the group as integer that show the Position of the node in the -// roomcenters vector. To find the groups it is good to find all maximal cliques in the graph and then applying -// a set Cover solver on these. -// 3. A vector of roomcenters that stores the centers of each room. This algorithm was implemented for planning -// the order of cleaning rooms so this variable is called room_centers, but it can store every cv::Point with that -// you want to find the best trolley position. -// 4. A downsampling factor to reduce the size of the map. This is used by the A_star_pathplanner to heavily reduce -// calculationtime. It has to be (0, 1]. If it is 1 the map will be took as it is. -// 5. The Radius of the robot and the map resolution to make sure the A_star pathplanner stays in enough distance to the -// walls and obstacles. (See A_star_pathplanner.cpp for further information) - -class TrolleyPositionFinder -{ -protected: - - AStarPlanner path_planner_; //Object to plan a path from Point A to Point B in a given gridmap - - //Function to find a trolley position for one group - cv::Point findOneTrolleyPosition(const std::vector group_points, const cv::Mat& original_map, - const double downsampling_factor, const double robot_radius, const double map_resolution); - -public: - - //constructor - TrolleyPositionFinder(); - - //Function to find a trolley position for each group by using the findOneTrolleyPosition function - std::vector findTrolleyPositions(const cv::Mat& original_map, const std::vector >& found_groups, - const std::vector& room_centers, const double downsampling_factor, const double robot_radius, - const double map_resolution); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solver_defines.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solver_defines.h deleted file mode 100644 index 4ce6a45..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solver_defines.h +++ /dev/null @@ -1,63 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2017 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_building_navigation - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 03.2017 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once - - -enum TSPSolvers {TSP_NEAREST_NEIGHBOR=1, TSP_GENETIC=2, TSP_CONCORDE=3}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solvers.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solvers.h deleted file mode 100644 index 5bc5d1b..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solvers.h +++ /dev/null @@ -1,67 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2017 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_building_navigation - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 03.2017 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once - -#include - - -#include -#include -#include diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/A_star_pathplanner.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/A_star_pathplanner.cpp deleted file mode 100644 index 067c2a4..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/A_star_pathplanner.cpp +++ /dev/null @@ -1,383 +0,0 @@ -#include - -#include - -const int dir = 8; // number of possible directions to go at any position -// if dir==4 -//static int dx[dir]={1, 0, -1, 0}; -//static int dy[dir]={0, 1, 0, -1}; -// if dir==8 -static int dx[dir] = -{ 1, 1, 0, -1, -1, -1, 0, 1 }; -static int dy[dir] = -{ 0, 1, 1, 1, 0, -1, -1, -1 }; - -static int expanding_counter = 0; - -// Determine priority (in the priority queue) -bool operator<(const NodeAstar& a, const NodeAstar& b) -{ - return a.getPriority() > b.getPriority(); -} - -AStarPlanner::AStarPlanner() -{ - n = 1; - m = 1; -} - -void AStarPlanner::drawRoute(cv::Mat& map, const cv::Point start_point, const std::string& route, double step_length) -{ - // follow the route on the map and update the path length - if (route.length() > 0) - { - int j; - char c; - int x1 = start_point.x; - int y1 = start_point.y; - int x2,y2; - for (int i = 0; i < route.length(); i++) - { - //get the next char of the string and make it an integer, which shows the direction - c = route.at(i); - j=c-'0'; - x2 = x1 + dx[j]*step_length; - y2 = y1 + dy[j]*step_length; - const double progress = 0.2 + 0.6*(double)i/(double)route.length(); - cv::line(map, cv::Point(x1,y1), cv::Point(x2,y2), CV_RGB(0,progress*255,0), 1); - x1 = x2; - y1 = y2; - } - } -} - -void AStarPlanner::getRoute(const cv::Point start_point, const std::string& route, - double step_length, std::vector& route_points) -{ - // follow the route on the map and update the path length - if (route.length() > 0) - { - int j; - char c; - int x1 = start_point.x; - int y1 = start_point.y; - route_points.push_back(cv::Point(x1, y1)); - int x2,y2; - for (int i = 0; i < route.length(); i++) - { - //get the next char of the string and make it an integer, which shows the direction - c = route.at(i); - j=c-'0'; - x2 = x1 + dx[j]*step_length; - y2 = y1 + dy[j]*step_length; - route_points.push_back(cv::Point(x2, y2)); - x1 = x2; - y1 = y2; - } - } -} - -void AStarPlanner::downsampleMap(const cv::Mat& map, cv::Mat& downsampled_map, const double downsampling_factor, const double robot_radius, const double map_resolution) -{ - //erode the map so the planner doesn't go near the walls - // --> calculate the number of times for eroding from Robot Radius [m] - cv::Mat eroded_map; - int number_of_erosions = (robot_radius / map_resolution); - cv::erode(map, eroded_map, cv::Mat(), cv::Point(-1, -1), number_of_erosions); - //downsampling of the map to reduce calculation time - if (downsampling_factor != 1.) - cv::resize(eroded_map, downsampled_map, cv::Size(0, 0), downsampling_factor, downsampling_factor, cv::INTER_NEAREST);//_LINEAR); - else - downsampled_map = eroded_map; -} - -// A-star algorithm. -// The route returned is a string of direction digits. -std::string AStarPlanner::pathFind(const int & xStart, const int & yStart, const int & xFinish, const int & yFinish, const cv::Mat& map) -{ - static std::priority_queue pq[2]; // list of open (not-yet-tried) nodes - static int pqi; // pq index - static NodeAstar* n0; - static NodeAstar* m0; - static int i, j, x, y, xdx, ydy; - static char c; - pqi = 0; - - cv::Mat map_to_calculate_path(cv::Size(m, n), CV_32S); - - // create map from the given eroded map - for (int y = 0; y < map.rows; y++) - { - for (int x = 0; x < map.cols; x++) - { - if (map.at(y, x) == 255) - { - map_to_calculate_path.at(x, y) = 0; - } - else - { - map_to_calculate_path.at(x, y) = 1; - } - } - } - - cv::Mat closed_nodes_map(cv::Size(m, n), CV_32S); //map of already tried nodes - cv::Mat open_nodes_map(cv::Size(m, n), CV_32S); // map of open (not-yet-tried) nodes - cv::Mat dir_map(cv::Size(m, n), CV_32S); // map of directions - - // initialize the node maps - for (y = 0; y < closed_nodes_map.rows; y++) - { - for (x = 0; x < closed_nodes_map.cols; x++) - { - closed_nodes_map.at(y, x) = 0; - open_nodes_map.at(y, x) = 0; - } - } - - // create the start node and push into list of open nodes - n0 = new NodeAstar(xStart, yStart, 0, 0); - n0->updatePriority(xFinish, yFinish); - pq[pqi].push(*n0); - open_nodes_map.at(xStart, yStart) = n0->getPriority(); // mark it on the open nodes map - - //garbage collection - delete n0; - - // A* search - while (!pq[pqi].empty()) - { - // get the current node w/ the highest priority - // from the list of open nodes - n0 = new NodeAstar(pq[pqi].top().getxPos(), pq[pqi].top().getyPos(), pq[pqi].top().getLevel(), pq[pqi].top().getPriority()); - - x = n0->getxPos(); - y = n0->getyPos(); - - pq[pqi].pop(); // remove the node from the open list - open_nodes_map.at(x, y) = 0; - // mark it on the closed nodes map - closed_nodes_map.at(x, y) = 1; - - // quit searching when the goal state is reached - //if((*n0).estimate(xFinish, yFinish) == 0) - if (x == xFinish && y == yFinish) - { - // generate the path from finish to start - // by following the directions - std::string path = ""; - while (!(x == xStart && y == yStart)) - { - j = dir_map.at(x, y); - c = '0' + (j + dir / 2) % dir; - path = c + path; - x += dx[j]; - y += dy[j]; - } - - delete n0;// garbage collection - // empty the leftover nodes - while (!pq[pqi].empty()) - pq[pqi].pop(); - return path; - } - - // generate moves (child nodes) in all possible directions - for (i = 0; i < dir; i++) - { - xdx = x + dx[i]; - ydy = y + dy[i]; - - expanding_counter++; - - if (!(xdx < 0 || xdx > n - 1 || ydy < 0 || ydy > m - 1 || map_to_calculate_path.at(xdx, ydy) == 1 || closed_nodes_map.at(xdx, ydy) == 1)) - { - // generate a child node - m0 = new NodeAstar(xdx, ydy, n0->getLevel(), n0->getPriority()); - m0->nextLevel(i); - m0->updatePriority(xFinish, yFinish); - - // if it is not in the open list then add into that - if (open_nodes_map.at(xdx, ydy) == 0) - { - open_nodes_map.at(xdx, ydy) = m0->getPriority(); - pq[pqi].push(*m0); - // mark its parent node direction - dir_map.at(xdx, ydy) = (i + dir / 2) % dir; - } - else if (open_nodes_map.at(xdx, ydy) > m0->getPriority()) - { - // update the priority info - open_nodes_map.at(xdx, ydy) = m0->getPriority(); - // update the parent direction info - dir_map.at(xdx, ydy) = (i + dir / 2) % dir; - - // replace the node - // by emptying one pq to the other one - // except the node to be replaced will be ignored - // and the new node will be pushed in instead - while (!(pq[pqi].top().getxPos() == xdx && pq[pqi].top().getyPos() == ydy)) - { - pq[1 - pqi].push(pq[pqi].top()); - pq[pqi].pop(); - } - pq[pqi].pop(); // remove the wanted node - - // empty the larger size pq to the smaller one - if (pq[pqi].size() > pq[1 - pqi].size()) - pqi = 1 - pqi; - while (!pq[pqi].empty()) - { - pq[1 - pqi].push(pq[pqi].top()); - pq[pqi].pop(); - } - pqi = 1 - pqi; - pq[pqi].push(*m0); // add the better node instead - } - delete m0; // garbage collection - } - } - delete n0; // garbage collection - } - return ""; // no route found -} - -//This is the path planning algorithm for this class. It downsamples the map with the given factor (0 < factor < 1) so the -//map gets reduced and calculation time gets better. If it is set to 1 the map will have original size, if it is 0 the algorithm -//won't work, so make sure to not set it to 0. The algorithm also needs the Robot radius [m] and the map resolution [m²/pixel] to -//calculate the needed amount of erosions to include the radius in the planning. -double AStarPlanner::planPath(const cv::Mat& map, const cv::Point& start_point, const cv::Point& end_point, - const double downsampling_factor, const double robot_radius, const double map_resolution, - const int end_point_valid_neighborhood_radius, std::vector* route) -{ - expanding_counter = 0; - double step_length = 1./downsampling_factor; - - //length of the planned path - double path_length = 0; - - if(start_point.x == end_point.x && start_point.y == end_point.y)//if the start and end-point are the same return 0 - { - return path_length; - } - - // check for valid coordinates of start and end points - if (start_point.x < 0 || start_point.x >= map.cols || start_point.y < 0 || start_point.y >= map.rows || - end_point.x < 0 || end_point.x >= map.cols || end_point.y < 0 || end_point.y >= map.rows) - { - return 1e100; - } - - cv::Mat downsampled_map; - downsampleMap(map, downsampled_map, downsampling_factor, robot_radius, map_resolution); - - //transform the Pixel values to the downsampled ones - int start_x = downsampling_factor * start_point.x; - int start_y = downsampling_factor * start_point.y; - int end_x = downsampling_factor * end_point.x; - int end_y = downsampling_factor * end_point.y; - - //set the sizes of the map - m = downsampled_map.rows;// horizontal size of the map - n = downsampled_map.cols;// vertical size size of the map - - // get the route -// clock_t start = clock(); - route_ = pathFind(start_x, start_y, end_x, end_y, downsampled_map); - if (route_ == "") - { - if (end_point_valid_neighborhood_radius > 0) - { - for (int r=1; r<=end_point_valid_neighborhood_radius; ++r) - { - for (int dy=-r; dy<=r; ++dy) - { - for (int dx=-r; dx<=r; ++dx) - { - if ((abs(dy)!=r && abs(dx)!=r) || end_x+dx<0 || end_x+dx>=n || end_y+dy<0 || end_y+dy>=m) - continue; - route_ = pathFind(start_x, start_y, end_x+dx, end_y+dy, downsampled_map); - if (route_ != "") - break; - } - if (route_ != "") - break; - } - if (route_ != "") - break; - } - } - if (route_ == "") - { -// std::cout << "No path from " << start_point << " to " << end_point << " found for map of size " << map.rows << "x" << map.cols << " and downsampling factor " << downsampling_factor << std::endl; - return 1e100; //return extremely large distance as path length if the rout could not be generated - } - } -// clock_t end = clock(); -// double time_elapsed = double(end - start); - - // follow the route on the map and update the path length - if (route_.length() > 0) - { - int j; - char c; - int x = start_x; - int y = start_y; - const double straight_step = (1. / downsampling_factor); - const double diagonal_step = (std::sqrt(2.) / downsampling_factor); - for (int i = 0; i < route_.length(); i++) - { - //get the next char of the string and make it an integer, which shows the direction - c = route_.at(i); - j=c-'0'; - x = x + dx[j]; - y = y + dy[j]; - //Update the pathlength with the directions of the path. When the path goes vertical or horizontal add length 1. - //When it goes diagonal add sqrt(2) - if (j == 0 || j == 2 || j == 4 || j == 6) - { - path_length += straight_step; - } - if (j == 1 || j == 3 || j == 5 || j == 7) - { - path_length += diagonal_step; - } - } - } - - if(route != NULL) - getRoute(start_point, route_, step_length, *route); - - return path_length; -} - - -double AStarPlanner::planPath(const cv::Mat& map, const cv::Mat& downsampled_map, const cv::Point& start_point, const cv::Point& end_point, const double downsampling_factor, - const double robot_radius, const double map_resolution, const int end_point_valid_neighborhood_radius, cv::Mat* draw_path_map, - std::vector* route) -{ - route_ = ""; - double step_length = 1./downsampling_factor; -// cv::Mat debug = map.clone(); -// cv::circle(debug, start_point, 2, cv::Scalar(127), CV_FILLED); -// cv::circle(debug, end_point, 2, cv::Scalar(127), CV_FILLED); -// cv::imshow("debug", debug); -// cv::waitKey(); - double pathlength = step_length * planPath(downsampled_map, downsampling_factor*start_point, downsampling_factor*end_point, 1., 0., map_resolution, end_point_valid_neighborhood_radius, route); - if(pathlength > 1e90) //if no path can be found try with the original map - { - pathlength = planPath(map, start_point, end_point, 1., 0., map_resolution, 1./downsampling_factor * end_point_valid_neighborhood_radius, route); - step_length = 1.; - } - if(pathlength > 1e90) - std::cout << "######################### No path found on the originally sized map #######################" << std::endl; - else - { - if (draw_path_map!=NULL) - { - drawRoute(*draw_path_map, start_point, route_, step_length); - } - } - - return pathlength; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/concorde_TSP.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/concorde_TSP.cpp deleted file mode 100644 index 711d718..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/concorde_TSP.cpp +++ /dev/null @@ -1,317 +0,0 @@ -# include - -#include -#include -#include - -//Default constructor -ConcordeTSPSolver::ConcordeTSPSolver() -: abort_computation_(false) -{ - -} - -void ConcordeTSPSolver::distance_matrix_thread(DistanceMatrix& distance_matrix_computation, cv::Mat& distance_matrix, - const cv::Mat& original_map, const std::vector& points, double downsampling_factor, - double robot_radius, double map_resolution, AStarPlanner& path_planner) -{ - distance_matrix_computation.constructDistanceMatrix(distance_matrix, original_map, points, downsampling_factor, - robot_radius, map_resolution, pathplanner_); -} - -void ConcordeTSPSolver::abortComputation() -{ - abort_computation_ = true; - - // kill concorde if running - const std::string pid_filename = "concorde_tsp_pid" + unique_file_identifier_ + ".txt"; - std::string pid_cmd = "pidof concorde > " + pid_filename; - int pid_result = system(pid_cmd.c_str()); - std::ifstream pid_reader(pid_filename.c_str()); - int value = -1; - std::string line; - if (pid_reader.is_open()) - { - while (getline(pid_reader, line)) - { - std::istringstream iss(line); - while (iss >> value) - { - std::cout << "PID of concorde: " << value << std::endl; - std::stringstream ss; - ss << "kill " << value; - std::string kill_cmd = ss.str(); - int kill_result = system(kill_cmd.c_str()); - std::cout << "kill result: " << kill_result << std::endl; - } - } - pid_reader.close(); - remove(pid_filename.c_str()); - } -} - -//This function generates a file with the current TSP in TSPlib format. This is necessary because concorde needs this file -//as input to solve the TSP. See http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/ for documentation. -void ConcordeTSPSolver::writeToFile(const cv::Mat& pathlength_matrix, const std::string& tsp_lib_filename, const std::string& tsp_order_filename) -{ - const std::string path_for_saving_file = tsp_lib_filename; //ros::package::getPath("libconcorde_tsp_solver") + "/common/files/TSPlib_file.txt"; - std::ofstream saving_file(path_for_saving_file.c_str()); - if (saving_file.is_open()) - { - std::cout << "Starting to create the TSPlib file: " << path_for_saving_file << std::endl; - //specify name of the Problem, Type (TSP = symmetrical TSP) and add a comment to the file. Name and Type are necessary, comment is for better understanding when you open the file. - saving_file << "NAME: ipa-building-navigation_" << tsp_lib_filename << std::endl - << "TYPE: TSP" << std::endl - << "COMMENT: This is the TSPlib file for using concorde. See http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/ for documentation." - << std::endl; - saving_file << "DIMENSION: " << pathlength_matrix.cols << std::endl; //Shows the Dimension of the problem --> the number of nodes (Necessary). - //Write the distance-matrix into the file as a full-matrix. - saving_file << "EDGE_WEIGHT_TYPE: EXPLICIT" << std::endl; - saving_file << "EDGE_WEIGHT_FORMAT: FULL_MATRIX" << std::endl; - saving_file << "EDGE_WEIGHT_SECTION" << std::endl; - - for (int row = 0; row < pathlength_matrix.rows; row++) - { - for (int col = 0; col < pathlength_matrix.cols; col++) - { - saving_file << " " - << (int) pathlength_matrix.at(row, col); - } - saving_file << std::endl; - } - //shows the end of the file - saving_file << "EOF"; - - std::cout << "Created the TSPlib file." << std::endl; - saving_file.close(); - } - else - { - std::cout << "Saving file '" << path_for_saving_file << "' for concorde could not be opened." << std::endl; - } - - // clear results file - std::ofstream reading_file(tsp_order_filename.c_str()); //open file - if (reading_file.is_open()) - { - reading_file << ""; - reading_file.close(); - } - else - { - std::cout << "Could not clear results file '" << tsp_order_filename << "'." << std::endl; - } -} - -//This function opens the file which saves the output from the concorde solver and reads the saved order. The names of the -//nodes in the graph are stored as positions in the distance matrix in this case. The first integer in the file is the number -//of nodes of this problem, so this one is not necessary. -std::vector ConcordeTSPSolver::readFromFile(const std::string& tsp_order_filename) -{ - std::string path_for_order_file = tsp_order_filename; //ros::package::getPath("libconcorde_tsp_solver") + "/common/files/TSP_order.txt"; //get path to file - std::ifstream reading_file(path_for_order_file.c_str()); //open file - - std::vector order_vector; //vector that stores the calculated TSP order - - std::string line; //current line of the file - - int value; //current node in the line - - int line_counter = 0; //variable to make sure that the first line isn't stored - - if (reading_file.is_open()) - { - //get new line in the file - while (getline(reading_file, line)) - { - std::istringstream iss(line); - while (iss >> value) - { - if (line_counter > 0) //first line shows the number of nodes and is not relevant - order_vector.push_back(value); //put the current node in the last position of the order - line_counter++; - } - } - reading_file.close(); - } - else - { - std::cout << "TSP order file '" << path_for_order_file << "' could not be opened." << std::endl; - } - return order_vector; -} - -//This function solves the given TSP using the systemcall to use the concorde TSP solver. This solver is applied from: -// http://www.math.uwaterloo.ca/tsp/concorde.html -//First you have to build the Solver in any possible way and if you don't make a ros-package out of it you have to change -//the paths to the right ones. If it is a ros-package the ros::package::getpath() function will find the right path. -//The usage of the solver is: ./concorde [-see below-] [dat_file] -//Navigate to the build Solver and then ./TSP and type ./concorde -h for a short explanation. - -//with a given distance matrix -std::vector ConcordeTSPSolver::solveConcordeTSP(const cv::Mat& path_length_matrix, const int start_Node) -{ - // generate a unique filename - timeval time; - gettimeofday(&time, NULL); - std::stringstream ss; - ss << "_" << time.tv_sec << "_" << time.tv_usec; - unique_file_identifier_ = ss.str(); - const std::string tsp_lib_filename = "TSPlib_file" + unique_file_identifier_ + ".txt"; - const std::string tsp_order_filename = "TSP_order" + unique_file_identifier_ + ".txt"; - - std::vector unsorted_order, sorted_order; - std::cout << "finding optimal order" << std::endl; - std::cout << "number of nodes: " << path_length_matrix.rows << " start node: " << start_Node << std::endl; - if (path_length_matrix.rows > 2) //check if the TSP has at least 3 nodes - { - //create the TSPlib file - writeToFile(path_length_matrix, tsp_lib_filename, tsp_order_filename); - - //use concorde to find optimal tour - std::string bin_folder; - while (bin_folder.length()==0) - { - const std::string temp_file = "temp_libconcorde_path" + unique_file_identifier_ + ".txt"; - try - { - std::string cmd = "rospack libs-only-L libconcorde_tsp_solver > " + temp_file; - int result = system(cmd.c_str()); - std::ifstream file(temp_file.c_str(), std::ifstream::in); - if (file.is_open()) - { - file >> bin_folder; - file.close(); - } - std::cout << "bin_folder: " << bin_folder << std::endl; - remove(temp_file.c_str()); - //bin_folder = ros::package::command("libs-only-L libconcorde_tsp_solver"); // this command crashes sometimes - //bin_folder.erase(std::remove(bin_folder.begin(), bin_folder.end(), '\n')); - } - catch (...) - { - std::cout << "ConcordeTSPSolver::solveConcordeTSP: ERROR: ['rospack libs-only-L libconcorde_tsp_solver > '" << temp_file << "] failed. Trying again." << std::endl; - } - } - std::string cmd = bin_folder + "/libconcorde_tsp_solver/concorde -o " + "$HOME/.ros/" + tsp_order_filename + " $HOME/.ros/" + tsp_lib_filename; - if (abort_computation_==true) - return sorted_order; - int result = system(cmd.c_str()); - if (abort_computation_==true) - return sorted_order; - assert(!result); - - //get order from saving file - unsorted_order = readFromFile(tsp_order_filename); - } - else - { - for(int node = 0; node < path_length_matrix.rows; node++) - { - unsorted_order.push_back(node); - } - } - // cleanup files - remove(tsp_lib_filename.c_str()); - remove(tsp_order_filename.c_str()); - const std::string tsp_lib_sol_filename = "TSPlib_file" + unique_file_identifier_ + ".sol"; - remove(tsp_lib_sol_filename.c_str()); - const std::string tsp_lib_res_filename = "TSPlib_file" + unique_file_identifier_ + ".res"; - remove(tsp_lib_res_filename.c_str()); - std::cout << "finished TSP" << std::endl; - - // if there is an error, just set unsorted order to 1, 2, 3, ... - if (unsorted_order.size() != path_length_matrix.rows) - { - std::cout << "ConcordeTSPSolver::solveConcordeTSP: Warning: Optimized order invalid, taking standard order 1, 2, 3, ..." << std::endl; - unsorted_order.clear(); - unsorted_order.resize(path_length_matrix.rows); - for (int i=0; i ConcordeTSPSolver::solveConcordeTSP(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, const int start_Node, cv::Mat* distance_matrix) -{ - //calculate the distance matrix - std::cout << "ConcordeTSPSolver::solveConcordeTSP: Constructing distance matrix..." << std::endl; - cv::Mat distance_matrix_ref; - if (distance_matrix != 0) - distance_matrix_ref = *distance_matrix; - DistanceMatrix distance_matrix_computation; - boost::thread t(boost::bind(&ConcordeTSPSolver::distance_matrix_thread, this, boost::ref(distance_matrix_computation), - boost::ref(distance_matrix_ref), boost::cref(original_map), boost::cref(points), downsampling_factor, - robot_radius, map_resolution, boost::ref(pathplanner_))); - bool finished = false; - while (finished==false) - { - if (abort_computation_==true) - distance_matrix_computation.abortComputation(); - finished = t.try_join_for(boost::chrono::milliseconds(10)); - } - -// distance_matrix_computation.constructDistanceMatrix(distance_matrix_ref, original_map, points, downsampling_factor, -// robot_radius, map_resolution, pathplanner_); - - if (abort_computation_==true) - { - std::vector sorted_order; - return sorted_order; - } - - return (solveConcordeTSP(distance_matrix_ref, start_Node)); -} - -// compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed -std::vector ConcordeTSPSolver::solveConcordeTSPClean(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, const int start_node) -{ - // compute a cleaned distance matrix - cv::Mat distance_matrix_cleaned; - std::map cleaned_index_to_original_index_mapping; // maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix - int new_start_node = start_node; - DistanceMatrix distance_matrix_computation; - distance_matrix_computation.computeCleanedDistanceMatrix(original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_, - distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); - - // solve TSP and re-index points to original indices - return solveConcordeTSPWithCleanedDistanceMatrix(distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); -} - - -// compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) -std::vector ConcordeTSPSolver::solveConcordeTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, - const std::map& cleaned_index_to_original_index_mapping, const int start_node) -{ - // solve TSP and re-index points to original indices - std::vector optimal_order = solveConcordeTSP(distance_matrix, start_node); - for (size_t i=0; i - -#include -#include - -//Default constructor -GeneticTSPSolver::GeneticTSPSolver(int min_number_of_gens, int const_generations) -: abort_computation_(false) -{ - min_number_of_generations_ = min_number_of_gens; - const_generations_number_ = const_generations; -} - -void GeneticTSPSolver::distance_matrix_thread(DistanceMatrix& distance_matrix_computation, cv::Mat& distance_matrix, - const cv::Mat& original_map, const std::vector& points, double downsampling_factor, - double robot_radius, double map_resolution, AStarPlanner& path_planner) -{ - distance_matrix_computation.constructDistanceMatrix(distance_matrix, original_map, points, downsampling_factor, - robot_radius, map_resolution, pathplanner_); -} - -void GeneticTSPSolver::abortComputation() -{ - abort_computation_ = true; -} - -////Function to construct the distance matrix from the given points. See the definition at solveGeneticTSP for the style of this matrix. -//void GeneticTSPSolver::constructDistanceMatrix(cv::Mat& distance_matrix, const cv::Mat& original_map, const int number_of_nodes, -// const std::vector& points, double downsampling_factor, double robot_radius, double map_resolution) -//{ -// //create the distance matrix with the right size -// cv::Mat pathlengths(cv::Size(number_of_nodes, number_of_nodes), CV_64F); -// -// for (int i = 0; i < points.size(); i++) -// { -// cv::Point current_center = points[i]; -// for (int p = 0; p < points.size(); p++) -// { -// if (p != i) -// { -// if (p > i) //only compute upper right triangle of matrix, rest is symmetrically added -// { -// cv::Point neighbor = points[p]; -// double length = pathplanner_.planPath(original_map, current_center, neighbor, downsampling_factor, robot_radius, map_resolution); -// pathlengths.at(i, p) = length; -// pathlengths.at(p, i) = length; //symmetrical-Matrix --> saves half the computationtime -// } -// } -// else -// { -// pathlengths.at(i, p) = 0; -// } -// } -// } -// -// distance_matrix = pathlengths.clone(); -//} - -// This function calculates for a given path the length of it. The Path is a vector with ints, that show the index of the -// node in the path. It uses a pathlength Matrix, which should be calculated once. -// This Matrix should save the pathlengths with this logic: -// 1. The rows show from which Node the length is calculated. -// 2. For the columns in a row the Matrix shows the distance to the Node in the column. -// 3. From the node to itself the distance is 0. -double GeneticTSPSolver::getPathLength(const cv::Mat& path_length_Matrix, std::vector given_path) -{ - double length_of_given_path = 0; - - for (int i = 0; i < given_path.size() - 1; i++) - { - length_of_given_path += path_length_Matrix.at(given_path[i], given_path[i + 1]); - } - - return length_of_given_path; -} - -// This Function takes the given path and mutates it. A mutation is a random change of the path-order. For example random -// nodes can be switched, or a random intervall of nodes can be inverted. Only the first and last Node can't be changed, because -// they are given from the Main-function. -std::vector GeneticTSPSolver::mutatePath(const std::vector& parent_path) -{ - std::vector mutated_path; - - std::vector temporary_path; - std::vector saving_variable_path = parent_path; //saving-variable for the one time mutated path - - //this variable sets which aspect should be changed: - // 0: random nodes should be switched - // 1: random intervall should be inverted: - int what_to_change = (rand() % 2); - - if (what_to_change == 0) //random node-switching - { - int number_of_switches = (rand() % (parent_path.size() - 3)) + 1; // Set the number of switches that should be done. - // Because the first needs to be unchanged the number is limited. - // Also at least one change should be done. - for (int change = 0; change < number_of_switches; change++) - { - temporary_path.clear(); //reset the temporary path to fill it with new order - bool switched = false; //this variable makes sure that the switch has been done - do - { - int node_one = (rand() % (saving_variable_path.size() - 2)) + 1; //this variables random choose which nodes should be changed - int node_two = (rand() % (saving_variable_path.size() - 2)) + 1; //The first and last one should be untouched - if (node_one != node_two) //node can't be switched with himself - { - for (int node = 0; node < saving_variable_path.size(); node++) //fill the mutated path with the information - { - if (node == node_one) - { - temporary_path.push_back(saving_variable_path[node_two]); //add the second node which should be switched - } - else if (node == node_two) - { - temporary_path.push_back(saving_variable_path[node_one]); //add the first node which should be switched - } - else - { - temporary_path.push_back(saving_variable_path[node]); //add the nodes as they are - } - } - switched = true; - } - } while (!switched); - saving_variable_path = temporary_path; //save the one time mutated path - } - mutated_path = saving_variable_path; //save the finished mutated path - } - else if (what_to_change == 1) //random intervall-inverting (always from middle node on) - { - bool inverted = false; - do - { - int node_one = (rand() % (saving_variable_path.size() - 2)) + 1; //this variables random choose which intervall - int node_two = (rand() % (saving_variable_path.size() - 2)) + 1; //The first and last one should be untouched - int inverting_counter = 0; //variable to choose the node based on distance to the node_two - if (node_one > node_two) //switch variables, if the node_one is bigger than the node_two (easier to work with here) - { - int tmp_node = node_one; - node_one = node_two; - node_two = tmp_node; - } - if (node_one != node_two) - { - for (int node = 0; node < parent_path.size(); node++) - { - if (node < node_one || node > node_two) //add the nodes as they are in the mutated path - { - mutated_path.push_back(parent_path[node]); - } - else //invert the intervall - { - mutated_path.push_back(parent_path[node_two - inverting_counter]); - inverting_counter++; - } - } - inverted = true; - } - } while (!inverted); - } - else - { - ROS_INFO("Something was wrong in mutation-function."); - } - - return mutated_path; -} - -//This Function calculates the length of each given path and chooses the shortest one. It uses the getPathLength function. -std::vector GeneticTSPSolver::getBestPath(const std::vector > paths, const cv::Mat& pathlength_Matrix, bool& changed) -{ - std::vector best_path = paths[0]; - - double best_distance = getPathLength(pathlength_Matrix, paths[0]); //saving-variable for the distance of the current best path - - for (int current_path = 1; current_path < paths.size(); current_path++) - { - double current_distance = getPathLength(pathlength_Matrix, paths[current_path]); //get distance of current path - if (current_distance < best_distance) - { - best_distance = current_distance; - best_path = paths[current_path]; - changed = true; - } - } - - return best_path; -} - -//This is a solver for the TSP using a genetic algorithm. It calculates a initial path by using the nearest-neighbor -//search. It then applies an evolutional algorithm: -// -// I. Take the parent of the current generation and calculate 8 mutated children of it. A mutation can be a change -// of positions of nodes or the inversion of a intervall. The initial parent is the path from the nearest-neighbor search. -// II. It checks for the 9 paths (parent and children) for the best path (shortest) and takes this path as the parent -// of the new generation. -// III. It repeats the steps I. and II. at least a specified amount of times and then checks if the pathlength -// hasn't changed in the last steps. -// -//As input a symmetrical matrix of pathlenghts is needed. This matrix should save the pathlengths with this logic: -// 1. The rows show from which Node the length is calculated. -// 2. For the columns in a row the Matrix shows the distance to the Node in the column. -// 3. From the node to itself the distance is 0. - -//don't compute distance matrix -std::vector GeneticTSPSolver::solveGeneticTSP(const cv::Mat& path_length_Matrix, const int start_Node) -{ - std::vector return_vector; - NearestNeighborTSPSolver nearest_neighbor_solver; - - std::vector calculated_path = nearest_neighbor_solver.solveNearestTSP(path_length_Matrix, start_Node); - calculated_path.push_back(start_Node); //push the start node at the end, so the reaching of the start at the end is included in the planning - - if(path_length_Matrix.rows > 2) //check if graph has at least three members, if not the algorithm won't work properly - { - bool changed_path = false; //this variable checks if the path has been changed in the mutation process - int changing_counter = const_generations_number_; //this variable is a counter for how many times a path has been the same - - int number_of_generations = 0; - - do - { - if (abort_computation_==true) - return return_vector; - - number_of_generations++; - changed_path = false; - std::vector < std::vector > current_generation_paths; //vector to save the current generation - current_generation_paths.push_back(calculated_path); //first path is always the parent --> important for checking if the path has changed in getBestPath!! - for (int child = 0; child < 8; child++) //get 8 children and add them to the vector - { - current_generation_paths.push_back(mutatePath(calculated_path)); - } - calculated_path = getBestPath(current_generation_paths, path_length_Matrix, changed_path); //get the best path of this generation - if (number_of_generations >= min_number_of_generations_) //when a specified amount of steps have been done the algorithm checks if the last paths didn't change - { - if (changed_path) - { - changing_counter = const_generations_number_; //reset the counting-variable - } - else - { - changing_counter -= 1; //decrease the counting-variable by 1 - } - } - } while (changing_counter > 0 || number_of_generations < min_number_of_generations_); - } - - //return the calculated path without the last node (same as start node) - for(size_t node = 0; node < calculated_path.size()-1; ++node) - { - return_vector.push_back(calculated_path[node]); - } - - return return_vector; -} - -// compute distance matrix and maybe returning it -// this version does not exclude infinite paths from the TSP ordering -std::vector GeneticTSPSolver::solveGeneticTSP(const cv::Mat& original_map, const std::vector& points, double downsampling_factor, - double robot_radius, double map_resolution, const int start_Node, cv::Mat* distance_matrix) -{ - //calculate the distance matrix - std::cout << "GeneticTSPSolver::solveGeneticTSP: Constructing distance matrix..." << std::endl; - cv::Mat distance_matrix_ref; - if (distance_matrix != 0) - distance_matrix_ref = *distance_matrix; - DistanceMatrix distance_matrix_computation; - boost::thread t(boost::bind(&GeneticTSPSolver::distance_matrix_thread, this, boost::ref(distance_matrix_computation), - boost::ref(distance_matrix_ref), boost::cref(original_map), boost::cref(points), downsampling_factor, - robot_radius, map_resolution, boost::ref(pathplanner_))); - bool finished = false; - while (finished==false) - { - if (abort_computation_==true) - distance_matrix_computation.abortComputation(); - finished = t.try_join_for(boost::chrono::milliseconds(10)); - } -// DistanceMatrix distance_matrix_computation; -// distance_matrix_computation.constructDistanceMatrix(distance_matrix_ref, original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_); - - if (abort_computation_==true) - { - std::vector return_vector; - return return_vector; - } - - return (solveGeneticTSP(distance_matrix_ref, start_Node)); -} - - -// compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed -std::vector GeneticTSPSolver::solveGeneticTSPClean(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, const int start_node) -{ - // compute a cleaned distance matrix - cv::Mat distance_matrix_cleaned; - std::map cleaned_index_to_original_index_mapping; // maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix - int new_start_node = start_node; - DistanceMatrix distance_matrix_computation; - distance_matrix_computation.computeCleanedDistanceMatrix(original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_, - distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); - - // solve TSP and re-index points to original indices - return solveGeneticTSPWithCleanedDistanceMatrix(distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); -} - - -// compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) -std::vector GeneticTSPSolver::solveGeneticTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, - const std::map& cleaned_index_to_original_index_mapping, const int start_node) -{ - // solve TSP and re-index points to original indices - std::vector optimal_order = solveGeneticTSP(distance_matrix, start_node); - for (size_t i=0; i - -using namespace std; -using namespace boost; - -// -//***********************Maximal Clique Finder***************************** -// -//This class provides a maximal clique-finder for a given Graph that finds all maximal cliques in this. A maximal clique -//is a subgraph in the given Graph, in which all Nodes are connected to each other and cannot be enlarged by adding other -//Nodes ( https://en.wikipedia.org/wiki/Maximum_clique ). It uses the c++ Boost library by using the implementen Bron-Kerbosch -//function and defining the Graph as a boost::undirected_Graph. Due of a missing documentation for this function see -// -// http://www.boost.org/doc/libs/1_56_0/libs/graph/example/bron_kerbosch_print_cliques.cpp -// http://www.boost.org/doc/libs/1_58_0/libs/graph/example/bron_kerbosch_clique_number.cpp -// http://www.boost.org/doc/libs/1_47_0/libs/graph/example/helper.hpp -// http://stackoverflow.com/questions/23299406/maximum-weighted-clique-in-a-large-graph-with-high-density -// -//for further information. -//As input this function takes a symmetrical Matrix that stores the pathlengths from one node of the graph to another. -//If one Node has no connection to another the element in the matrix is zero, it also is at the main-diagonal. -//!!!!!!!!!!!!!See maximal_clique_finder.h for further information on formatting.!!!!!!!!!!!!! - -static std::vector > names_; //vector to save the cliques achieved by Boost - -// The Actor type stores the name of each vertex in the graph. -struct Actor -{ - string name; -}; - -//define some types that are used for the boost function -typedef undirected_graph Graph; -typedef graph_traits::vertex_descriptor Vertex; -typedef graph_traits::edge_descriptor Edge; -typedef property_map::type NameMap; - -template -typename graph_traits::vertex_descriptor cliqueFinder::addNamedVertex(Graph& g, NameMap nm, const string& name, VertexMap& vm) -{ - typedef typename graph_traits::vertex_descriptor Vertex; - typedef typename VertexMap::iterator Iterator; - - Vertex v; - Iterator iter; - bool inserted; - boost::tie(iter, inserted) = vm.insert(make_pair(name, Vertex())); - if (inserted) - { - // The name was unique so we need to add a vertex to the graph - v = add_vertex(g); - iter->second = v; - put(nm, v, name); // store the name in the name map - } - else - { - // We had already inserted this name so we can return the - // associated vertex. - v = iter->second; - } - return v; -} - -//This class is the Visitor for all nodes in the graph, which is used by boost::bron_kerbosch. the function clique() gets -//called everytime a maximal clique was found. This comes from the boost implementation. -template -struct visitor -{ - vector current_names; - visitor() - { - - } - - template - void clique(const Clique& c, const Graph& g) - { - // Iterate over the clique and print each vertex within it. - typename Clique::const_iterator i, end = c.end(); - for (i = c.begin(); i != end; ++i) - { - current_names.push_back(atoi(g[*i].name.c_str())); - } - names_.push_back(current_names); //save the clique to return all later - current_names.clear(); //clear the current clique - } -}; - -cliqueFinder::cliqueFinder() -{ - -} - -//This function creates a boost::undirected_graph out of the cutted distance-Matrix. The Graph is used for the -//boost::bron-kerbosch algorihtm. -template -void cliqueFinder::createGraph(Graph& graph, cv::Mat& distance_Matrix) -{ - vector vertexes; - NameMap nmap(get(&Actor::name, graph)); - std::map vert_map; - //add all Nodes to the graph - for (int counter = 0; counter < distance_Matrix.cols; counter++) - { - stringstream current_name; - current_name << counter; //<< counter; - Vertex current_vertex = addNamedVertex(graph, nmap, current_name.str(), vert_map); - vertexes.push_back(current_vertex); - } - //add each Edge if there is a connection between the Nodes - for (int current_vertex = 0; current_vertex < vertexes.size(); current_vertex++) - { - for (int neighbor_node = current_vertex; neighbor_node < vertexes.size(); neighbor_node++) - { - if (distance_Matrix.at(current_vertex, neighbor_node) > 0) - { - add_edge(vertexes[current_vertex], vertexes[neighbor_node], graph); - } - } - } -} - -//This function cuts an edge if the distance between the two Nodes is too large. This is neccessary to find possible -//areas in the graph for cliques. If the complete graph is connected only one clique will be found, containing all -//Nodes in the graph, which isn't very useful for planning. -void cliqueFinder::cutTooLongEdges(cv::Mat& complete_distance_matrix, double maxval) -{ - for (int row = 0; row < complete_distance_matrix.rows; row++) - { - for (int col = 0; col < complete_distance_matrix.cols; col++) - { - if (complete_distance_matrix.at(row, col) > maxval) - { - complete_distance_matrix.at(row, col) = 0; - } - } - } -} - -//This function uses the previously described functions and finds all maximal cliques in a given graph. The maxval parameter -//is used to cut edges that are too long. See maximal_clique_finder.h for further information on formatting. -std::vector > cliqueFinder::getCliques(const cv::Mat& distance_matrix, double maxval) -{ - // Create a graph object - Graph g; - - //cut the edges if they are too long - cv::Mat cutted_distance_matrix = distance_matrix.clone(); - cutTooLongEdges(cutted_distance_matrix, maxval); - - //Create a graph out of the cutted distance matrix - createGraph(g, cutted_distance_matrix); - - //Object needed from boost to return the results - visitor vis; - - // Use the Bron-Kerbosch algorithm to find all cliques - bron_kerbosch_all_cliques(g, vis); - - //Make sure that nodes, which are too far away from other nodes are in the clique-vector - //(a clique has at least two nodes, but in this case it is neccessary to have all nodes in the cliques and - //nodes that are too far away from others count also as a possible group) - for (int node = 0; node < distance_matrix.rows; node++) - { - bool add = true; - for (int group = 0; group < names_.size(); group++) - { - if (contains(names_[group], node)) - { - add = false; - } - } - if(add) - { - std::vector adding_vector; - adding_vector.push_back(node); - names_.push_back(adding_vector); - } - } - - //save the names_ vector and clear it for next usage - std::vector > returning_vector(names_); - names_.clear(); - - return returning_vector; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/nearest_neighbor_TSP.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/nearest_neighbor_TSP.cpp deleted file mode 100644 index 33e2af4..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/nearest_neighbor_TSP.cpp +++ /dev/null @@ -1,102 +0,0 @@ -#include - -//Default Constructor -NearestNeighborTSPSolver::NearestNeighborTSPSolver() -{ - -} - -//This function calculates the order of the TSP, using the nearest neighbor method. It uses a pathlength Matrix, which -//should be calculated once. This Matrix should save the pathlengths with this logic: -// 1. The rows show from which Node the length is calculated. -// 2. For the columns in a row the Matrix shows the distance to the Node in the column. -// 3. From the node to itself the distance is 0. -std::vector NearestNeighborTSPSolver::solveNearestTSP(const cv::Mat& path_length_matrix, const int start_node) -{ - std::vector calculated_order; //solution order - - if(path_length_matrix.rows > 1) //check if clique has more than one member or else this algorithm produces a order of size=3 - { - int last_node; //index of the last spectated node - std::vector visited(path_length_matrix.rows, false); - - int current_node = start_node; //index of the current spectated node - calculated_order.push_back(current_node); - visited[current_node] = true; - - //check every Point for the next nearest neighbor and add it to the order - do - { - int next_node; //saver for next node - double min_distance = 1e100; //saver for distance to current next node - for (int current_neighbor = 0; current_neighbor < path_length_matrix.cols; current_neighbor++) - { - if (visited[current_neighbor]==false) //check if current neighbor hasn't been visited yet - { - const double length = path_length_matrix.at(current_node, current_neighbor); - if (length < min_distance && length > 0) - { - next_node = current_neighbor; - min_distance = length; - } - } - } - calculated_order.push_back(next_node); //add the found nearest neighbor to the order-vector - visited[next_node] = true; - current_node = next_node; - } while (calculated_order.size() < path_length_matrix.rows); //when the order has as many elements as the pathlength Matrix has the solver is ready - - } - else - { - calculated_order.push_back(start_node); - } - - return calculated_order; -} - -// compute TSP and distance matrix without cleaning it -// this version does not exclude infinite paths from the TSP ordering -std::vector NearestNeighborTSPSolver::solveNearestTSP(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, const int start_node, cv::Mat* distance_matrix) -{ - std::cout << "NearestNeighborTSPSolver::solveNearestTSP: Constructing distance matrix..." << std::endl; - //calculate the distance matrix - cv::Mat distance_matrix_ref; - if (distance_matrix != 0) - distance_matrix_ref = *distance_matrix; - DistanceMatrix distance_matrix_computation; - distance_matrix_computation.constructDistanceMatrix(distance_matrix_ref, original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_); - - return solveNearestTSP(distance_matrix_ref, start_node); -} - - -// compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed -std::vector NearestNeighborTSPSolver::solveNearestTSPClean(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, const int start_node) -{ - // compute a cleaned distance matrix - cv::Mat distance_matrix_cleaned; - std::map cleaned_index_to_original_index_mapping; // maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix - int new_start_node = start_node; - DistanceMatrix distance_matrix_computation; - distance_matrix_computation.computeCleanedDistanceMatrix(original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_, - distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); - - // solve TSP and re-index points to original indices - return solveNearestTSPWithCleanedDistanceMatrix(distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); -} - - -// compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) -std::vector NearestNeighborTSPSolver::solveNearestTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, - const std::map& cleaned_index_to_original_index_mapping, const int start_node) -{ - // solve TSP and re-index points to original indices - std::vector optimal_order = solveNearestTSP(distance_matrix, start_node); - for (size_t i=0; i - -const int dir_ = 8; - -NodeAstar::NodeAstar(int xp, int yp, int d, int p) -{ - xPos_ = xp; - yPos_ = yp; - level_ = d; - priority_ = p; -} - -int NodeAstar::getxPos() const -{ - return xPos_; -} -int NodeAstar::getyPos() const -{ - return yPos_; -} -int NodeAstar::getLevel() const -{ - return level_; -} -int NodeAstar::getPriority() const -{ - return priority_; -} - -void NodeAstar::updatePriority(const int& xDest, const int& yDest) -{ - priority_ = level_ + estimate(xDest, yDest); // * 10; //A* -} - -// give better priority to going strait instead of diagonally -void NodeAstar::nextLevel(const int& i) // i: direction -{ - level_ += (dir_ == 8 ? (i % 2 == 0 ? 10 : 14) : 10); -} - -// Estimation function for the remaining distance to the goal. -// -//!!!!!!!!!!!!!!!!!!!!!!!Important!!!!!!!!!!!!!!!!!!!!!!! -//Uncomment the method to calculate the distance between this node and the goal you want to use. Eclidean is more precisly -//but could take longer to get long paths. -// -const int& NodeAstar::estimate(const int& xDest, const int& yDest) const -{ - static int xd, yd, d; - xd = xDest - xPos_; - yd = yDest - yPos_; - - // Euclidian Distance - d = static_cast(sqrt(xd * xd + yd * yd)); - - // Manhattan distance -// d = abs(xd) + abs(yd); - - // Chebyshev distance -// d=std::max(abs(xd), abs(yd)); - - return (d); -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/set_cover_solver.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/set_cover_solver.cpp deleted file mode 100644 index 5cce36b..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/set_cover_solver.cpp +++ /dev/null @@ -1,306 +0,0 @@ -#include - -//Default constructor -SetCoverSolver::SetCoverSolver() -{ - -} - -////Function to construct the symmetrical distance matrix from the given points. The rows show from which node to start and -////the columns to which node to go. If the path between nodes doesn't exist or the node to go to is the same as the one to -////start from, the entry of the matrix is 0. -//void SetCoverSolver::constructDistanceMatrix(cv::Mat& distance_matrix, const cv::Mat& original_map, -// const std::vector& points, double downsampling_factor, double robot_radius, double map_resolution) -//{ -// //create the distance matrix with the right size -// cv::Mat pathlengths(cv::Size((int)points.size(), (int)points.size()), CV_64F); -// -// // reduce image size already here to avoid resizing in the planner each time -// const double one_by_downsampling_factor = 1./downsampling_factor; -// cv::Mat downsampled_map; -// pathplanner_.downsampleMap(original_map, downsampled_map, downsampling_factor, robot_radius, map_resolution); -// -// for (int i = 0; i < points.size(); i++) -// { -// cv::Point current_center = downsampling_factor * points[i]; -// for (int j = 0; j < points.size(); j++) -// { -// if (j != i) -// { -// if (j > i) //only compute upper right triangle of matrix, rest is symmetrically added -// { -// cv::Point neighbor = downsampling_factor * points[j]; -// double length = one_by_downsampling_factor * pathplanner_.planPath(downsampled_map, current_center, neighbor, 1., 0., map_resolution); -// pathlengths.at(i, j) = length; -// pathlengths.at(j, i) = length; //symmetrical-Matrix --> saves half the computationtime -// } -// } -// else -// { -// pathlengths.at(i, j) = 0; -// } -// } -// } -// -// distance_matrix = pathlengths.clone(); -//} - -//This function takes a vector of found nodes and merges them together, if they have at least one node in common. -std::vector > SetCoverSolver::mergeGroups(const std::vector >& found_groups) -{ - std::vector < std::vector > merged_groups; //The merged groups. - - std::vector done_groups; //Vector to remember which groups has already been looked at - - for (int current_group = 0; current_group < found_groups.size(); current_group++) - { - if (!contains(done_groups, current_group)) //If the group is in the done-vector don't look at it, because it has already been looked at. - { - done_groups.push_back(current_group); //add the current group to the done groups - - std::vector current_group_saver(found_groups[current_group]); //vector to save the current group - - std::vector merging_candidates; //vector to save the groups which should be merged with the current group - - //check if the current group has at least one node in common with the other groups - for (int next_group = 0; next_group < found_groups.size(); next_group++) - { - bool merge = false; //variable to check if the room should be added to the current group - - //if it is the same group or has already been looked at it doesn't need to be checked - if (next_group != current_group && !contains(done_groups, next_group)) - { - for (int node = 0; node < found_groups[next_group].size(); node++) - { - if (contains(found_groups[current_group], found_groups[next_group][node])) - { - merge = true; - } - } - } - if (merge) //If the group has at least one neighbor save it for merging - { - merging_candidates.push_back(next_group); - } - } - - //Add the merging-candidates nodes to the current group and add the candidates to the done groups - for (int merge_candidate = 0; merge_candidate < merging_candidates.size(); merge_candidate++) - { - done_groups.push_back(merging_candidates[merge_candidate]); - for (int node = 0; node < found_groups[merging_candidates[merge_candidate]].size(); node++) - { - if (!contains(current_group_saver, found_groups[merging_candidates[merge_candidate]][node])) - { - current_group_saver.push_back(found_groups[merging_candidates[merge_candidate]][node]); - } - } - } - //add the merged group to the vector - merged_groups.push_back(current_group_saver); - } - } - std::cout << "Finished merging." << std::endl; - return merged_groups; -} - -//This functions solves the set-cover Problem ( https://en.wikipedia.org/wiki/Set_cover_problem#Greedy_algorithm ) using -//the greedy-search algorithm. It chooses the clique that has the most uncovered nodes in it first. Then it uses the merge-function -//above to merge groups that have at least one node in common together. The vector stores the indexes of the nodes, which -//are the same as the ones from the clique-solver and also the distance-matrix. The variable max_number_of_clique_members -//implies how many members a clique is allowed to have. - -//the cliques are given -std::vector > SetCoverSolver::solveSetCover(std::vector >& given_cliques, - const int number_of_nodes, const int max_number_of_clique_members, const cv::Mat& distance_matrix) -{ - std::vector < std::vector > minimal_set; - - std::vector > cliques_for_covering; - - for(size_t clique = 0; clique < given_cliques.size(); clique++) - { - std::vector temporary_clique; - for(size_t node = 0; node < given_cliques[clique].size(); node++) - { - temporary_clique.push_back(given_cliques[clique][node]); - } - cliques_for_covering.push_back(temporary_clique); - } - - //Put the nodes in a open-nodes vector. The nodes are named after their position in the room-centers-vector and so every - //node from 0 to number_of_nodes-1 is in the Graph. - std::vector open_nodes; - for (int new_node = 0; new_node < number_of_nodes; new_node++) - { - open_nodes.push_back(new_node); - } - - std::cout << "Starting greedy search for set-cover-problem." << std::endl; - - //Search for the clique with the most unvisited nodes and choose this one before the others. Then remove the nodes of - //this clique from the unvisited-vector. This is done until no more nodes can be visited. - - do - { - int covered_open_nodes; - int best_covered_counter = 0; - int best_clique = -1; - for (int clique = 0; clique < cliques_for_covering.size(); clique++) - { - // skip too big cliques - if(cliques_for_covering[clique].size() > max_number_of_clique_members) - continue; - - covered_open_nodes = 0; - for (int node = 0; node < cliques_for_covering[clique].size(); node++) - { - if (contains(open_nodes, cliques_for_covering[clique][node])) - { - covered_open_nodes++; - } - } - if (covered_open_nodes > best_covered_counter) - { - best_covered_counter = covered_open_nodes; - best_clique = clique; - } - } - - // check if a allowed clique could be found, if not split the biggest clique until it consists of cliques that are of the - // allowed size - if(best_clique == -1) - { - for (int clique = 0; clique < cliques_for_covering.size(); clique++) - { - covered_open_nodes = 0; - for (int node = 0; node < cliques_for_covering[clique].size(); node++) - { - if (contains(open_nodes, cliques_for_covering[clique][node])) - { - covered_open_nodes++; - } - } - if (covered_open_nodes > best_covered_counter) - { - best_covered_counter = covered_open_nodes; - best_clique = clique; - } - } - - // save big clique - std::vector big_clique = cliques_for_covering[best_clique]; - - // iteratively remove nodes far away from the remaining nodes to create small cliques - bool removed_node = false; - std::vector > found_subgraphs; - do - { - removed_node = false; // reset checking boolean - std::vector current_subgraph = big_clique; - while(current_subgraph.size() > max_number_of_clique_members) - { - removed_node = true; - - // find the node farthest away from the other nodes - double max_distance = 0.0; - int worst_node = -1; - for(size_t node = 0; node < current_subgraph.size(); ++node) - { - // compute sum of distances from current node to neighboring nodes - double current_distance = 0; - for(size_t neighbor = 0; neighbor < current_subgraph.size(); ++neighbor) - { - // don't look at node itself - if(node == neighbor) - continue; - - current_distance += distance_matrix.at(current_subgraph[node], current_subgraph[neighbor]); - } - - // check if sum of distances is worse than the previously found ones - if(current_distance > max_distance) - { - worst_node = node; - max_distance = current_distance; - } - } - - // remove the node farthest away from all other nodes out of the subgraph - current_subgraph.erase(current_subgraph.begin() + worst_node); - } - - // save the found subgraph - found_subgraphs.push_back(current_subgraph); - - // erase the covered nodes from the big clique - for(size_t node = 0; node < current_subgraph.size(); ++node) - big_clique.erase(std::remove(big_clique.begin(), big_clique.end(), current_subgraph[node]), big_clique.end()); - - }while(removed_node == true && big_clique.size() > 0); - - // add found subgraphs to the minimal set - for(size_t subgraph = 0; subgraph < found_subgraphs.size(); ++subgraph) - minimal_set.push_back(found_subgraphs[subgraph]); - } - else - { - minimal_set.push_back(cliques_for_covering[best_clique]); - } - //remove nodes of best clique from all cliques (this is okay because if you remove a node from a clique it stays a clique, it only isn't a maximal clique anymore) - for(size_t clique = 0; clique < cliques_for_covering.size(); clique++) - { - for(int node = 0; node < cliques_for_covering[best_clique].size(); node++) - { - if(clique != best_clique) - cliques_for_covering[clique].erase(std::remove(cliques_for_covering[clique].begin(), cliques_for_covering[clique].end(), cliques_for_covering[best_clique][node]), cliques_for_covering[clique].end()); - } - } - for (int node = 0; node < cliques_for_covering[best_clique].size(); node++) - { - open_nodes.erase(std::remove(open_nodes.begin(), open_nodes.end(), cliques_for_covering[best_clique][node]), open_nodes.end()); - } -// cliques_for_covering = new_set; -// std::cout << open_nodes.size() << std::endl; - } while (open_nodes.size() > 0); - - std::cout << "Finished greedy search." << std::endl; - -// std::cout << "Starting merging the found groups." << std::endl; -// -// return mergeGroups(minimal_set); - return minimal_set; -} - -//the distance matrix is given, but not the cliques -std::vector > SetCoverSolver::solveSetCover(const cv::Mat& distance_matrix, const std::vector& points, - const int number_of_nodes, double maximal_pathlength, const int max_number_of_clique_members) -{ - //get all maximal cliques for this graph - std::vector < std::vector > maximal_cliques = maximal_clique_finder.getCliques(distance_matrix, maximal_pathlength); - - //put the single nodes in the maximal cliques vector to make sure every node gets covered from the setCover solver - for(int single_node = 0; single_node < number_of_nodes; single_node++) - { - std::vector temp; - temp.push_back(single_node); - maximal_cliques.push_back(temp); - } - - return (solveSetCover(maximal_cliques, number_of_nodes, max_number_of_clique_members, distance_matrix)); -} - -//the distance matrix and cliques aren't given and the matrix should not be returned -std::vector > SetCoverSolver::solveSetCover(const cv::Mat& original_map, const std::vector& points, - double downsampling_factor, double robot_radius, double map_resolution, double maximal_pathlength, const int max_number_of_clique_members, cv::Mat* distance_matrix) -{ - //calculate the distance matrix - cv::Mat distance_matrix_ref; - if (distance_matrix != 0) - distance_matrix_ref = *distance_matrix; - DistanceMatrix distance_matrix_computation; - distance_matrix_computation.constructDistanceMatrix(distance_matrix_ref, original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_); - - //get all maximal cliques for this graph and solve the set cover problem - return (solveSetCover(distance_matrix_ref, points, (int)points.size(), maximal_pathlength, max_number_of_clique_members)); -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/trolley_position_finder.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/trolley_position_finder.cpp deleted file mode 100644 index ea3144e..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/trolley_position_finder.cpp +++ /dev/null @@ -1,231 +0,0 @@ -#include - -//Defaul Constructor -TrolleyPositionFinder::TrolleyPositionFinder() -{ - -} - -//This function takes one group and calculates the trolley position for it. It does following steps: -// I. Get the bounding box for all Points in the group. Then expand it by a little factor to make sure the best -// position is found, even when it is slightly outside the bounding Box. -// II. Put a grid over the bounding box to get cells in which the trolley-position possibly is. -// Find the Point in these cells that have the largest distance to the closest zero Pixel as possible candidates -// for trolley positions. -// III. From these candidates the one is chosen, which gets the smallest pathlength to all group Points. If the group -// has only two members the algorithm chooses the candidate as trolley position that is the middlest between these. -cv::Point TrolleyPositionFinder::findOneTrolleyPosition(const std::vector group_points, const cv::Mat& original_map, - const double downsampling_factor, const double robot_radius, const double map_resolution) -{ - double largening_of_bounding_box = 5; //Variable to expand the bounding box of the roomcenters a little bit. This is done to make sure the best trolley position is found if it is a little bit outside this bounding box. - double max_x_value = group_points[0].x; //max/min values of the Points that get the bounding box. Initialized with the coordinates of the first Point of the group. - double min_x_value = group_points[0].x; - double max_y_value = group_points[0].y; - double min_y_value = group_points[0].y; - - //create eroded map, which is used to check if the trolley-position candidates are too close to the boundaries - cv::Mat eroded_map; - cv::erode(original_map, eroded_map, cv::Mat(), cv::Point(-1, -1), 4); - - //create the distance-map to find the candidates for trolley-Positions - cv::Mat temporary_map = original_map.clone(); - cv::erode(temporary_map, temporary_map, cv::Mat()); - cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 -#if CV_MAJOR_VERSION<=3 - cv::distanceTransform(temporary_map, distance_map, CV_DIST_L2, 5); -#else - cv::distanceTransform(temporary_map, distance_map, cv::DIST_L2, 5); -#endif - cv::convertScaleAbs(distance_map, distance_map); // conversion to 8 bit image - - // - //******************************** I. Get bounding box of the group ******************************** - // - //go trough each Point and find the min/max x/y values --> bounding box - for (int point = 0; point < group_points.size(); point++) - { - if (group_points[point].x > max_x_value) - { - max_x_value = group_points[point].x; - } - if (group_points[point].x < min_x_value) - { - min_x_value = group_points[point].x; - } - if (group_points[point].y > max_y_value) - { - max_y_value = group_points[point].y; - } - if (group_points[point].y < min_y_value) - { - min_y_value = group_points[point].y; - } - } - - //expand the bounding box sligthly by the defined factor (check if the values aren't out of the map boundaries before doing this) - if (max_x_value + largening_of_bounding_box < original_map.cols) - { - max_x_value += largening_of_bounding_box; - } - if (min_x_value - largening_of_bounding_box > 0) - { - min_x_value -= largening_of_bounding_box; - } - if (max_y_value + largening_of_bounding_box < original_map.rows) - { - max_y_value += largening_of_bounding_box; - } - if (min_y_value - largening_of_bounding_box > 0) - { - min_y_value -= largening_of_bounding_box; - } - - // - //******************************** II. Get the candidates for trolley positions ******************************** - // - double cell_side_length = 10; - double max_x_cell = min_x_value + cell_side_length; - double min_x_cell = min_x_value; - double max_y_cell = min_y_value + cell_side_length; - double min_y_cell = min_y_value; - - bool out_of_y = false; - bool out_of_x = false; - - std::vector < cv::Point > trolley_position_candidates; - - //go trough each cell and find the candidate for each of it - do //go from y_min to y_max - { - max_x_cell = min_x_value + cell_side_length; //reset the x-values for the cell to start from beginning when a new y coordinate is reached - min_x_cell = min_x_value; - do //go from x_min to x_max - { - out_of_x = false; - double best_x = min_x_cell; - double best_y = min_y_cell; - //go trough each Pixel of the cell and take the one that is most far away of the zero Pixels. - for (int y = min_y_cell; y < max_y_cell; y++) - { - for (int x = min_x_cell; x < max_x_cell; x++) - { - if (distance_map.at(best_y, best_x) < distance_map.at(y, x) && eroded_map.at(y, x) != 0) - { - best_x = x; - best_y = y; - } - } - } - //check if candidate is far enough away from boundary - if (eroded_map.at(best_y, best_x) != 0) - { - trolley_position_candidates.push_back(cv::Point(best_x, best_y)); - } - min_x_cell = max_x_cell; //set new x values for next step - max_x_cell += cell_side_length; - - //check if x is out of box --> if so the next y values should be checked - if (min_x_cell > max_x_value) - { - out_of_x = true; - } - } while (!out_of_x); - - min_y_cell = max_y_cell; //set new y values for next step - max_y_cell += cell_side_length; - - //check if y is out of bounding box --> if true step is done - if (min_y_cell > max_y_value) - { - out_of_y = true; - } - } while (!out_of_y); - - // - //***************** III. Find the candidate that minimizes the pathlengths to all group points ***************** - // - //variables to save the best candidate - double best_pathlength = 1e10; - double best_pathlength_point_distance = 1e10; - int best_trolley_candidate = 0; - - // reduce image size already here to avoid resizing in the planner each time - const double one_by_downsampling_factor = 1./downsampling_factor; - cv::Mat downsampled_map; - path_planner_.downsampleMap(original_map, downsampled_map, downsampling_factor, robot_radius, map_resolution); - - //go trough each candidate and calculate the sum of pathlengths - for (size_t candidate = 0; candidate < trolley_position_candidates.size(); candidate++) - { - cv::Point start_point = downsampling_factor * trolley_position_candidates[candidate]; - double current_pathlength = 0; - std::vector pathlengths; - for (int room_center = 0; room_center < group_points.size(); room_center++) - { - cv::Point end_point = downsampling_factor * group_points[room_center]; - //get the pathlength to the current center and save it - double center_pathlength = one_by_downsampling_factor * path_planner_.planPath(downsampled_map, start_point, end_point, 1., 0., map_resolution); - pathlengths.push_back(center_pathlength); - //add the pathlenght to the total pathlength - current_pathlength += center_pathlength; - } - //check for the best position that has the shortest pathlength to all centers. Adding a little bit to the best_distances - //because the downsampling generates an error and with this better positions can be found. - if (group_points.size() == 2) - { - //If the group only has two members check for the position that is in the middlest of the connectionpath between - //these points or else a random point will be chosen. - double current_point_distance = std::abs(pathlengths[1] - pathlengths[0]); - if (current_pathlength <= (best_pathlength + 0.05) && current_point_distance <= (best_pathlength_point_distance + 0.05) - && downsampled_map.at(downsampling_factor * trolley_position_candidates[best_trolley_candidate]) != 0) - { - best_pathlength_point_distance = current_point_distance; - best_pathlength = current_pathlength; - best_trolley_candidate = candidate; - } - } - else - { - if (current_pathlength <= (best_pathlength + 0.05)) - { - best_pathlength = current_pathlength; - best_trolley_candidate = candidate; - } - } - } - - return trolley_position_candidates[best_trolley_candidate]; -} - -//This function takes all found groups and calculates for each of it the best trolley-position using the previously -//described functions. -std::vector TrolleyPositionFinder::findTrolleyPositions(const cv::Mat& original_map, const std::vector >& found_groups, - const std::vector& room_centers, const double downsampling_factor, const double robot_radius, const double map_resolution) -{ - std::vector < cv::Point > trolley_positions; - - //go trough each group and find the best trolley position. - for (int current_group = 0; current_group < found_groups.size(); current_group++) - { - std::vector < cv::Point > group_points_vector; //vector to save the Points for each group - - //add the Points from the given groups vector - for (int index = 0; index < found_groups[current_group].size(); index++) - { - group_points_vector.push_back(room_centers[found_groups[current_group][index]]); - } - //calculate the trolley-position for each group that has at least 2 members - if (found_groups[current_group].size() > 1) - { - trolley_positions.push_back( - findOneTrolleyPosition(group_points_vector, original_map, downsampling_factor, robot_radius, map_resolution)); - } - else //if the group has only one member this one is the trolley-position - { - cv::Point trolley_position_for_one_sized_groups = room_centers[found_groups[current_group][0]]; - trolley_positions.push_back(trolley_position_for_one_sized_groups); - } - } - - return trolley_positions; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/package.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/package.xml deleted file mode 100644 index 938ec99..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/package.xml +++ /dev/null @@ -1,37 +0,0 @@ - - - ipa_building_navigation - 0.1.0 - - This package plans the navigation trough the building in the autopnp-scenario. It has the following parts/functions: - 1. An A-star pathplanning-algorithm, which finds the shortest way between two Points in a given map. The map should be a gridmap as a OpenCV 8bit grayscale image with 0 as obstacle - and 255 as reachable area. - 2. TSP-solving functions, which solve the TSP-Problem for a given, segmented map. The segmented map comes from the functions in the pakage ipa_room_segmentation with the corresponding roomcenters. These centers need to be visited in minimal time, so a TSP-Solver is applied. There are following algorithms for this implemented: - I. nearest-neighbor: This algorithm takes the current Point and goes to the nearest neighbor, the distance is given by the A-star pathplanner. - II. genetic-solver: This algorithm takes the path from the nearest-neighbor solver and improves it using evolutional methods. For this the given path is seen as parent, which gets 7 children. These children have been mutated, meaning that the path of the parent has been changed randomly. The Mutations can be random switching of centerorder or inverting random parts of the path. After these children has been made the function calculates the length of the path, using the results from the A-star pathplanner, and compares the children and the parent (so 8 paths). The shortest path is chosen and becomes the new parent. This step is done at least 42 times and then the algorithm checks, if the pathlength hasn't changed in the last 10 steps, if so the path is close to the optimal solution. - III. The Concorde-TSP-solver: The TSP-solving-library Concorde is used. See http://www.math.uwaterloo.ca/tsp/concorde/index.html for further information. - - Florian Jordan - Richard Bormann - LGPL for academic and non-commercial use; for commercial use, please contact Fraunhofer IPA - http://ros.org/wiki/ipa_building_navigation - - catkin - - actionlib - boost - cv_bridge - dynamic_reconfigure - geometry_msgs - ipa_building_msgs - - libopencv-dev - - message_generation - message_runtime - roscpp - roslib - sensor_msgs - visualization_msgs - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/readme.md b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/readme.md deleted file mode 100644 index f3b8417..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/readme.md +++ /dev/null @@ -1,66 +0,0 @@ -# ipa_building_navigation -Algorithms for systematic coverage of different spaces in an optimal traveling order. - -If you find this software useful in your work, please cite our corresponding paper: -- R. Bormann, F. Jordan, J. Hampp, and M. Hägele. Indoor coverage path planning: Survey, implementation, analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pages 1718–1725, May 2018. https://ieeexplore.ieee.org/abstract/document/8460566 , https://publica.fraunhofer.de/entities/publication/f537c15d-4cbe-4672-9d86-6e756a9ce71b/details - -# General Procedure - -1. Change the algorithm parameters in ros/launch/room_sequence_planning_action_server_params.yaml in ros/launch to the wanted algorithms and settings. - * tsp_solver: Choose which traveling salesman problem (TSP) solver you want to use. - * planning_method: Choose which planning method for the trolley you want to use. - * for both planning methods the parameter **max_clique_path_length** determines how far two rooms can be away from each other until they get separated into two different cliques. - * map_downsampling_factor: The algorithm plans an Astar-path trough the environment to determine distances between the roomcenters that are used as edge weights for the TSP solver. For this you can set this parameter to reduce the size of the map, which speeds up the pathfinding. The originally sized map is checked, if no path for the downsampled map could be found. **Range**: 0. - * - ****************************************************************/ - -#ifndef _DYNAMIC_RECONFIGURE_CLIENT_H_ -#define _DYNAMIC_RECONFIGURE_CLIENT_H_ - -#include -#include - -#include - -#include -#include -#include -#include - -class DynamicReconfigureClient -{ -public: - DynamicReconfigureClient(ros::NodeHandle& nh, const std::string& dynamic_reconfigure_service_name, const std::string& parameter_updates_topic) - : dynamic_reconfigure_current_config_received_(false), node_handle_(nh), dynamic_reconfigure_service_name_(dynamic_reconfigure_service_name) - { - dynamic_reconfigure_sub_ = node_handle_.subscribe(parameter_updates_topic, 1, &DynamicReconfigureClient::dynamic_reconfigure_current_config_callback, this); - - // receive current configuration - ros::Duration sleep_rate(0.5); - while (dynamic_reconfigure_current_config_received_ == false) - { - ros::spinOnce(); - sleep_rate.sleep(); - } - } - - dynamic_reconfigure::Config& getConfig() - { - boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); - return dynamic_reconfigure_config_; - } - - bool setConfig(const std::string& param_name, const bool param_value) - { - boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); - - if (dynamic_reconfigure_current_config_received_ == false) - { - ROS_WARN("DynamicReconfigureClient: Did not receive the current configuration, yet."); - return false; - } - - bool found = false; - for (size_t i=0; i. - * - ****************************************************************/ -#pragma once - -#include -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include - -// Dynamic reconfigure -#include -#include - -//TSP solver -#include -#include -#include -#include - -//Set Cover solver to find room groups -#include - -//finder of trolley positions for each room group -#include - -// A* planner -#include - -// action -#include -#include - -class RoomSequencePlanningServer -{ -public: - RoomSequencePlanningServer(ros::NodeHandle nh, std::string name_of_the_action); - - ~RoomSequencePlanningServer() - { - } - -protected: - //!!Important!! - // define the Nodehandle before the action server, or else the server won't start - ros::NodeHandle node_handle_; - - ros::Publisher room_sequence_visualization_pub_; // visualization of the room sequence - visualization_msgs::MarkerArray room_sequence_visualization_msg_; - - actionlib::SimpleActionServer room_sequence_with_checkpoints_server_; - - std::string action_name_; - - //converter-> Pixel to meter for X coordinate - double convert_pixel_to_meter_for_x_coordinate(const int pixel_valued_object_x, const float map_resolution, const cv::Point2d map_origin) - { - double meter_value_obj_x = (pixel_valued_object_x * map_resolution) + map_origin.x; - return meter_value_obj_x; - } - //converter-> Pixel to meter for Y coordinate - double convert_pixel_to_meter_for_y_coordinate(int pixel_valued_object_y, const float map_resolution, const cv::Point2d map_origin) - { - double meter_value_obj_y = (pixel_valued_object_y * map_resolution) + map_origin.y; - return meter_value_obj_y; - } - - // this is the execution function used by action server - void findRoomSequenceWithCheckpointsServer(const ipa_building_msgs::FindRoomSequenceWithCheckpointsGoalConstPtr &goal); - - size_t getNearestLocation(const cv::Mat& floor_plan, const cv::Point start_coordinate, const std::vector& positions, - const double map_downsampling_factor, const double robot_radius, const double map_resolution); - - void publishSequenceVisualization(const std::vector& room_sequences, const std::vector& room_centers, - std::vector< std::vector >& cliques, const double map_resolution, const cv::Point2d& map_origin); - - // callback function for dynamic reconfigure - void dynamic_reconfigure_callback(ipa_building_navigation::BuildingNavigationConfig &config, uint32_t level); - - dynamic_reconfigure::Server room_sequence_planning_dynamic_reconfigure_server_; - - // params - int tsp_solver_; // TSP solver: 1 = Nearest Neighbor, 2 = Genetic solver, 3 = Concorde solver - int problem_setting_; // problem setting of the sequence planning problem - // 1 = SimpleOrderPlanning (plan the optimal order of a simple set of locations) - // 2 = CheckpointBasedPlanning (two-stage planning that creates local cliques of locations (= checkpoints) and determines - // the optimal order through the members of each clique as well as the optimal order through the cliques) - int planning_method_; // Method of planning the sequence: 1 = drag trolley if next room is too far away, 2 = calculate cliques as roomgroups with trolleypositions - double max_clique_path_length_; // max A* path length between two rooms that are assigned to the same clique, in [m] - double map_downsampling_factor_; // the map may be downsampled during computations (e.g. of A* path lengths) in order to speed up the algorithm, range of the factor [0 < factor <= 1], if set to 1 the map will have original size, if set to 0 the algorithm won't work - bool check_accessibility_of_rooms_; // boolean to tell the sequence planner if it should check the given room centers for accessibility from the starting position - bool return_sequence_map_; // boolean to tell the server if the map with the sequence drawn in should be returned - int max_clique_size_; // maximal number of nodes belonging to one clique, when planning trolley positions - bool display_map_; // displays the map with paths upon service call (only if return_sequence_map=true) -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server.launch deleted file mode 100644 index 9eea768..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server.launch +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server_params.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server_params.yaml deleted file mode 100644 index 2af851c..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server_params.yaml +++ /dev/null @@ -1,53 +0,0 @@ -# TSP Solver -# ========== -# indicates which TSP solver should be used -# 1 = Nearest Neighbor -# 2 = Genetic solver -# 3 = Concorde solver -# int -tsp_solver: 3 - -# Problem Setting -# =============== -# problem setting of the sequence planning problem -# 1 = SimpleOrderPlanning (plan the optimal order of a simple set of locations) -# 2 = CheckpointBasedPlanning (two-stage planning that creates local cliques of locations (= checkpoints) and determines -# the optimal order through the members of each clique as well as the optimal order through the cliques) -# int -problem_setting: 2 - -# Checkpoint-based Sequence Planning Specifics -# ============================================ -# method that is used to plan the trolley positions (only applies to CheckpointBasedPlanning (2) problem_setting) -# 1 = drag the trolley if it is too far away from next room -# 2 = put rooms together in groups and calculate a corresponding trolley positions -# int -planning_method: 2 - -# max A* path length between two rooms that are assigned to the same clique, in [m] (only applies to CheckpointBasedPlanning (2) problem_setting) -# double -max_clique_path_length: 1200.0 - -# maximal nodes in one clique for one trolley position (only applies to CheckpointBasedPlanning (2) problem_setting) -# int -maximum_clique_size: 9001 - -# General Settings -# ================ -# the map may be downsampled during computations (e.g. of A* path lengths) in order to speed up the algorithm, -# range of the factor [0 < factor <= 1] -# if set to 1 the map will have original size, if set to 0 the algorithm won't work -# double -map_downsampling_factor: 0.25 - -# boolean to tell the sequence planner if it should check the given room centers for accessibility from the starting position -# bool -check_accessibility_of_rooms: true - -# boolean to tell the server if the map with the sequence drawn in should be returned -# bool -return_sequence_map: false - -# displays the map with paths upon service call (only if return_sequence_map=true) -# bool -display_map: false diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/boosttest.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/boosttest.cpp deleted file mode 100644 index 3f00ca1..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/boosttest.cpp +++ /dev/null @@ -1,216 +0,0 @@ -#include "ros/ros.h" -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include - -#include -#include - -#include -#include -#include - -#include - -int main(int argc, char **argv) -{ - srand(time(NULL)); - ros::init(argc, argv, "TSPevaluation"); - ros::NodeHandle nh; - - //define parameters to describe the Graph - const int dimension = 600; - - //define parameters for solving the TSP - double downsampling = 0.25; - double robot_radius = 0.; - double map_resolution = 0.05; - int start_node = 0; - - //saving variables for pathlengths - std::vector nearest_pathlengths; - std::vector genetic_pathlengths; - std::vector concorde_pathlengths; - - //create empty map to random generate Points in it - cv::Mat map(dimension, dimension, CV_8UC1, cv::Scalar(255)); - - //path to save the results - const std::string data_storage_path = "tsp_evaluation/"; - const std::string upper_command = "mkdir -p " + data_storage_path; - int return_value = system(upper_command.c_str()); - - //stingstreams to save the parameters - std::stringstream pathlength_output; - std::stringstream times_output; - - for(int number_of_nodes = 10; number_of_nodes <= 210; number_of_nodes += 20) - { - std::stringstream folder_name; - folder_name << number_of_nodes << "nodes"; - const std::string evaluation_path = data_storage_path + folder_name.str() + "/"; - const std::string command = "mkdir -p " + evaluation_path; - int return_value = system(command.c_str()); - - //generate random Points as nodes for the TSP solvers - int point_counter = 0; - std::vector nodes; - std::cout << "getting random Points" << std::endl; - do - { - int rand_x = (rand() % (dimension-30)) + 30; - int rand_y = (rand() % (dimension-30)) + 30; - if(map.at(rand_y, rand_x) == 255) - { - nodes.push_back(cv::Point(rand_x, rand_y)); - point_counter++; - } - }while(point_counter < number_of_nodes); - - NearestNeighborTSPSolver nearest_solver; - GeneticTSPSolver genetic_solver; - ConcordeTSPSolver concorde_solver; - - //solve the TSPs and save the calculation time and orders - cv::Mat distance_matrix; - struct timespec t0, t1, t2, t3; - - //construct distance matrix once - std::cout << "constructing distance matrix" << std::endl; - AStarPlanner planner; - DistanceMatrix distance_matrix_computation; - distance_matrix_computation.constructDistanceMatrix(distance_matrix, map, nodes, downsampling, robot_radius, map_resolution, planner); - - std::cout << "solving TSPs" << std::endl; - clock_gettime(CLOCK_MONOTONIC, &t0); - std::vector nearest_order = nearest_solver.solveNearestTSP(distance_matrix, start_node); - std::cout << "solved nearest TSP" << std::endl; - clock_gettime(CLOCK_MONOTONIC, &t1); - std::vector genetic_order = genetic_solver.solveGeneticTSP(distance_matrix, start_node); - std::cout << "solved genetic TSP" << std::endl; - clock_gettime(CLOCK_MONOTONIC, &t2); - std::vector concorde_order = concorde_solver.solveConcordeTSP(distance_matrix, start_node); - std::cout << "solved concorde TSP" << std::endl; - clock_gettime(CLOCK_MONOTONIC, &t3); - - std::cout << "number of nodes in the paths: " << nearest_order.size() << " " << genetic_order.size() << " " << concorde_order.size() << std::endl; - - //create maps to draw the paths in - cv::Mat nearest_map = map.clone(); -#if CV_MAJOR_VERSION<=3 - cv::cvtColor(nearest_map, nearest_map, CV_GRAY2BGR); -#else - cv::cvtColor(nearest_map, nearest_map, cv::COLOR_GRAY2BGR); -#endif - cv::Mat genetic_map = nearest_map.clone(); - cv::Mat concorde_map = nearest_map.clone(); - - //draw the order into the maps - // draw the start node as red - std::cout << "starting to draw the maps" << std::endl; -#if CV_MAJOR_VERSION<=3 - cv::circle(nearest_map, nodes[nearest_order[0]], 2, CV_RGB(255,0,0), CV_FILLED); - cv::circle(genetic_map, nodes[genetic_order[0]], 2, CV_RGB(255,0,0), CV_FILLED); - cv::circle(concorde_map, nodes[concorde_order[0]], 2, CV_RGB(255,0,0), CV_FILLED); -#else - cv::circle(nearest_map, nodes[nearest_order[0]], 2, CV_RGB(255,0,0), cv::FILLED); - cv::circle(genetic_map, nodes[genetic_order[0]], 2, CV_RGB(255,0,0), cv::FILLED); - cv::circle(concorde_map, nodes[concorde_order[0]], 2, CV_RGB(255,0,0), cv::FILLED); -#endif - for(size_t i = 1; i < nearest_order.size(); ++i) - { - cv::line(nearest_map, nodes[nearest_order[i-1]], nodes[nearest_order[i]], CV_RGB(128,128,255), 1); - cv::line(genetic_map, nodes[genetic_order[i-1]], nodes[genetic_order[i]], CV_RGB(128,128,255), 1); - cv::line(concorde_map, nodes[concorde_order[i-1]], nodes[concorde_order[i]], CV_RGB(128,128,255), 1); -#if CV_MAJOR_VERSION<=3 - cv::circle(nearest_map, nodes[nearest_order[i]], 2, CV_RGB(0,0,0), CV_FILLED); - cv::circle(genetic_map, nodes[genetic_order[i]], 2, CV_RGB(0,0,0), CV_FILLED); - cv::circle(concorde_map, nodes[concorde_order[i]], 2, CV_RGB(0,0,0), CV_FILLED); -#else - cv::circle(nearest_map, nodes[nearest_order[i]], 2, CV_RGB(0,0,0), cv::FILLED); - cv::circle(genetic_map, nodes[genetic_order[i]], 2, CV_RGB(0,0,0), cv::FILLED); - cv::circle(concorde_map, nodes[concorde_order[i]], 2, CV_RGB(0,0,0), cv::FILLED); -#endif - } - //draw line back to start - cv::line(nearest_map, nodes[nearest_order[0]], nodes[nearest_order.back()], CV_RGB(128,128,255), 1); - cv::line(genetic_map, nodes[genetic_order[0]], nodes[genetic_order.back()], CV_RGB(128,128,255), 1); - cv::line(concorde_map, nodes[concorde_order[0]], nodes[concorde_order.back()], CV_RGB(128,128,255), 1); - - //save the maps - std::string nearest_path = evaluation_path + "nearest_order.png"; - std::string genetic_path = evaluation_path + "genetic_order.png"; - std::string concorde_path = evaluation_path + "concorde_order.png"; - cv::imwrite(nearest_path.c_str(), nearest_map); - cv::imwrite(genetic_path.c_str(), genetic_map); - cv::imwrite(concorde_path.c_str(), concorde_map); - std::cout << "saved the maps" << std::endl; - - //get the pathlengths for each solver - double nearest_pathlength= 0; - double genetic_pathlength = 0; - double concorde_pathlength = 0; - //add each pathlength - std::cout << "starting to calculate the pathlengths " << distance_matrix.cols << std::endl; - for(size_t i = 1; i < nearest_order.size(); ++i) - { - nearest_pathlength += distance_matrix.at(nearest_order[i-1], nearest_order[i]); - genetic_pathlength += distance_matrix.at(genetic_order[i-1], genetic_order[i]); - concorde_pathlength += distance_matrix.at(concorde_order[i-1], concorde_order[i]); - std::cout << "done node: " << (int) i << std::endl; - } - //add path from end to start - std::cout << "doing last paths. Indexes: " << nearest_order.back() << " " << genetic_order.back() << " " << concorde_order.back() << std::endl; - int last_index = nearest_order.back(); - nearest_pathlength += distance_matrix.at(nearest_order[0], last_index); - std::cout << "finished nearest path" << std::endl; - last_index = genetic_order.back(); - genetic_pathlength += distance_matrix.at(genetic_order[0], last_index); - std::cout << "finished genetic path." << std::endl; - last_index = concorde_order.back(); - concorde_pathlength += distance_matrix.at(concorde_order[0], last_index); - std::cout << "finished concorde path" << std::endl; - - //calculate computation times - double nearest_time = (t1.tv_sec - t0.tv_sec) + (double) (t1.tv_nsec - t0.tv_nsec) * 1e-9; - double genetic_time = (t2.tv_sec - t1.tv_sec) + (double) (t2.tv_nsec - t1.tv_nsec) * 1e-9; - double concorde_time = (t3.tv_sec - t2.tv_sec) + (double) (t3.tv_nsec - t2.tv_nsec) * 1e-9; - - //save the pathlengths and computation times - pathlength_output << "number of nodes: " << number_of_nodes << std::endl - << nearest_pathlength << std::endl << genetic_pathlength << std::endl << concorde_pathlength << std::endl << std::endl; - times_output << "number of nodes: " << number_of_nodes << std::endl - << nearest_time << std::endl << genetic_time << std::endl << concorde_time << std::endl << std::endl; - } - std::string pathlength_log_filename = data_storage_path + "pathlengths.txt"; - std::ofstream pathlength_file(pathlength_log_filename.c_str(), std::ios::out); - if (pathlength_file.is_open()==true) - pathlength_file << pathlength_output.str(); - pathlength_file.close(); - std::cout << "finished to save the pathlengths" << std::endl; - - std::string genetic_log_filename = data_storage_path + "times.txt"; - std::ofstream genetic_file(genetic_log_filename.c_str(), std::ios::out); - if (genetic_file.is_open()==true) - genetic_file << times_output.str(); - genetic_file.close(); - std::cout << "finished to save the times" << std::endl; - - - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_client.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_client.cpp deleted file mode 100644 index e062e69..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_client.cpp +++ /dev/null @@ -1,142 +0,0 @@ -#include -#include - -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include - -#include - -int main(int argc, char **argv) -{ - ros::init(argc, argv, "room_sequence_planning_client"); - ros::NodeHandle nh; - - std::vector< std::string > map_names; - map_names.push_back("lab_ipa.png"); -// map_names.push_back("freiburg_building101.png"); - map_names.push_back("freiburg_building52.png"); - map_names.push_back("freiburg_building79.png"); -// map_names.push_back("intel_map.png"); -// map_names.push_back("lab_a.png"); -// map_names.push_back("lab_b.png"); - map_names.push_back("lab_c.png"); - map_names.push_back("lab_d.png"); -// map_names.push_back("lab_e.png"); - - for (size_t image_index = 0; image_index(y, x) != 255) - { - map.at(y, x) = 0; - } - } - } - - sensor_msgs::Image map_msg; - cv_bridge::CvImage cv_image; - // cv_image.header.stamp = ros::Time::now(); - cv_image.encoding = "mono8"; - cv_image.image = map; - cv_image.toImageMsg(map_msg); - // create the action client --> "name of server" - // true causes the client to spin its own thread - actionlib::SimpleActionClient ac_seg("/room_segmentation/room_segmentation_server", true); - ROS_INFO("Waiting for action server '/room_segmentation/room_segmentation_server' to start."); - // wait for the action server to start - ac_seg.waitForServer(); //will wait for infinite time - - // set algorithm parameters - ROS_INFO("Action server started, sending goal."); - DynamicReconfigureClient drc_seg(nh, "/room_segmentation/room_segmentation_server/set_parameters", "/room_segmentation/room_segmentation_server/parameter_updates"); - drc_seg.setConfig("room_segmentation_algorithm", 1); - - // send a goal to the action - ipa_building_msgs::MapSegmentationGoal goal_seg; - goal_seg.input_map = map_msg; - goal_seg.map_origin.position.x = 0; - goal_seg.map_origin.position.y = 0; - goal_seg.map_resolution = 0.05; - goal_seg.return_format_in_meter = false; - goal_seg.return_format_in_pixel = true; - ac_seg.sendGoal(goal_seg); - - //wait for the action to return - bool finished_before_timeout = ac_seg.waitForResult(ros::Duration(300.0)); - if (finished_before_timeout == false) - { - ROS_ERROR("Timeout on room segmentation."); - return -1; - } - ipa_building_msgs::MapSegmentationResultConstPtr result_seg = ac_seg.getResult(); - ROS_INFO("Finished segmentation successfully!"); - - // solve sequence problem - actionlib::SimpleActionClient ac_seq("/room_sequence_planning/room_sequence_planning_server", true); - ROS_INFO("Waiting for action server '/room_sequence_planning/room_sequence_planning_server' to start."); - // wait for the action server to start - ac_seq.waitForServer(); //will wait for infinite time - - // set algorithm parameters - ROS_INFO("Action server started, sending goal_seq."); - DynamicReconfigureClient drc_seq(nh, "/room_sequence_planning/room_sequence_planning_server/set_parameters", "/room_sequence_planning/room_sequence_planning_server/parameter_updates"); - drc_seq.setConfig("planning_method", 1); - drc_seq.setConfig("tsp_solver", 3); - drc_seq.setConfig("return_sequence_map", true); - drc_seq.setConfig("display_map", true); - - // send a goal_seg to the action - ipa_building_msgs::FindRoomSequenceWithCheckpointsGoal goal_seq; - goal_seq.input_map = map_msg; - goal_seq.map_resolution = goal_seg.map_resolution; - goal_seq.map_origin.position.x = goal_seg.map_origin.position.x; - goal_seq.map_origin.position.y = goal_seg.map_origin.position.y; - goal_seq.room_information_in_pixel = result_seg->room_information_in_pixel; - goal_seq.robot_radius = 0.3; - cv::Mat map_eroded; - cv::erode(map, map_eroded, cv::Mat(), cv::Point(-1,-1), goal_seq.robot_radius/goal_seq.map_resolution+2); - cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 - cv::distanceTransform(map_eroded, distance_map, CV_DIST_L2, 5); - cv::convertScaleAbs(distance_map, distance_map); // conversion to 8 bit image - bool robot_start_coordinate_set = false; - for (int v=0; v(v,u) != 0 && distance_map.at(v,u) > 15) - { - goal_seq.robot_start_coordinate.position.x = u*goal_seq.map_resolution + goal_seg.map_origin.position.x; - goal_seq.robot_start_coordinate.position.y = v*goal_seq.map_resolution + goal_seg.map_origin.position.y; - robot_start_coordinate_set = true; - } - ac_seq.sendGoal(goal_seq); - - //wait for the action to return - finished_before_timeout = ac_seq.waitForResult(ros::Duration(300.0)); - if (finished_before_timeout == false) - { - ROS_ERROR("Timeout on room sequence planning."); - return -1; - } - ROS_INFO("Finished sequence planning successfully!"); - - } - - //exit - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_server.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_server.cpp deleted file mode 100644 index df4f92a..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_server.cpp +++ /dev/null @@ -1,901 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_building_navigation - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 08.2015 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#include - -RoomSequencePlanningServer::RoomSequencePlanningServer(ros::NodeHandle nh, std::string name_of_the_action) : - node_handle_(nh), - room_sequence_with_checkpoints_server_(node_handle_, name_of_the_action, boost::bind(&RoomSequencePlanningServer::findRoomSequenceWithCheckpointsServer, this, _1), false), - action_name_(name_of_the_action) -{ - // setup publishers - room_sequence_visualization_pub_ = nh.advertise("room_sequence_marker", 1); - - // start action server - room_sequence_with_checkpoints_server_.start(); - - // dynamic reconfigure - room_sequence_planning_dynamic_reconfigure_server_.setCallback(boost::bind(&RoomSequencePlanningServer::dynamic_reconfigure_callback, this, _1, _2)); - - // Parameters - std::cout << "\n------------------------------------\nRoom Sequence Planner Parameters:\n------------------------------------\n"; - // TSP solver - node_handle_.param("tsp_solver", tsp_solver_, (int)TSP_CONCORDE); - std::cout << "room_sequence_planning/tsp_solver = " << tsp_solver_ << std::endl; - if (tsp_solver_ == TSP_NEAREST_NEIGHBOR) - ROS_INFO("You have chosen the Nearest Neighbor TSP method."); - else if (tsp_solver_ == TSP_GENETIC) - ROS_INFO("You have chosen the Genetic TSP method."); - else if (tsp_solver_ == TSP_CONCORDE) - ROS_INFO("You have chosen the Concorde TSP solver."); - else - ROS_ERROR("Undefined TSP Solver."); - - // problem setting - node_handle_.param("problem_setting", problem_setting_, 2); - std::cout << "room_sequence_planning/problem_setting = " << problem_setting_ << std::endl; - if (problem_setting_ == 1) - ROS_INFO("You have chosen the SimpleOrderPlanning setting."); - else if (problem_setting_ == 2) - ROS_INFO("You have chosen the CheckpointBasedPlanning setting."); - else - ROS_ERROR("Undefined problem setting."); - - // checkpoint-based sequence planning specifics - if (problem_setting_ == 1) - { - planning_method_ = 1; - max_clique_path_length_ = 0.; // always split into cliques --> each clique contains only one room - max_clique_size_ = 1; // always split into cliques --> each clique contains only one room - } - else if (problem_setting_ == 2) - { - node_handle_.param("planning_method", planning_method_, 2); - std::cout << "room_sequence_planning/planning_method = " << planning_method_ << std::endl; - if (planning_method_ == 1) - ROS_INFO("You have chosen the Trolley dragging method."); - else if (planning_method_ == 2) - ROS_INFO("You have chosen the room group planning method."); - else - ROS_ERROR("Undefined planning method."); - node_handle_.param("max_clique_path_length", max_clique_path_length_, 12.0); - std::cout << "room_sequence_planning/max_clique_path_length = " << max_clique_path_length_ << std::endl; - node_handle_.param("maximum_clique_size", max_clique_size_, 9001); - std::cout << "room_sequence_planning/maximum_clique_size = " << max_clique_size_ << std::endl; - } - else - ROS_ERROR("Undefined problem setting."); - - // general settings - node_handle_.param("map_downsampling_factor", map_downsampling_factor_, 0.25); - std::cout << "room_sequence_planning/map_downsampling_factor = " << map_downsampling_factor_ << std::endl; - node_handle_.param("check_accessibility_of_rooms", check_accessibility_of_rooms_, true); - std::cout << "room_sequence_planning/check_accessibility_of_rooms = " << check_accessibility_of_rooms_ << std::endl; - node_handle_.param("return_sequence_map", return_sequence_map_, false); - std::cout << "room_sequence_planning/return_sequence_map = " << return_sequence_map_ << std::endl; - node_handle_.param("display_map", display_map_, false); - std::cout << "room_sequence_planning/display_map = " << display_map_ << std::endl; -} - -// callback function for dynamic reconfigure -void RoomSequencePlanningServer::dynamic_reconfigure_callback(ipa_building_navigation::BuildingNavigationConfig &config, uint32_t level) -{ - std::cout << "######################################################################################" << std::endl; - std::cout << "Dynamic reconfigure request:" << std::endl; - - // TSP solver - tsp_solver_ = config.tsp_solver; - std::cout << "room_sequence_planning/tsp_solver = " << tsp_solver_ << std::endl; - if (tsp_solver_ == TSP_NEAREST_NEIGHBOR) - ROS_INFO("You have chosen the Nearest Neighbor TSP method."); - else if (tsp_solver_ == TSP_GENETIC) - ROS_INFO("You have chosen the Genetic TSP method."); - else if (tsp_solver_ == TSP_CONCORDE) - ROS_INFO("You have chosen the Concorde TSP solver."); - else - ROS_ERROR("Undefined TSP Solver."); - - // problem setting - problem_setting_ = config.problem_setting; - std::cout << "room_sequence_planning/problem_setting = " << problem_setting_ << std::endl; - if (problem_setting_ == 1) - ROS_INFO("You have chosen the SimpleOrderPlanning setting."); - else if (problem_setting_ == 2) - ROS_INFO("You have chosen the CheckpointBasedPlanning setting."); - else - ROS_ERROR("Undefined problem setting."); - - // checkpoint-based sequence planning specifics - if (problem_setting_ == 1) - { - planning_method_ = 1; - max_clique_path_length_ = 0.; // always split into cliques --> each clique contains only one room - max_clique_size_ = 1; // always split into cliques --> each clique contains only one room - } - else if (problem_setting_ == 2) - { - planning_method_ = config.planning_method; - std::cout << "room_sequence_planning/planning_method = " << planning_method_ << std::endl; - if (planning_method_ == 1) - ROS_INFO("You have chosen the Trolley dragging method."); - else if (planning_method_ == 2) - ROS_INFO("You have chosen the room group planning method."); - else - ROS_ERROR("Undefined planning method."); - max_clique_path_length_ = config.max_clique_path_length; - std::cout << "room_sequence_planning/max_clique_path_length = " << max_clique_path_length_ << std::endl; - max_clique_size_ = config.maximum_clique_size; - std::cout << "room_sequence_planning/maximum_clique_size = " << max_clique_size_ << std::endl; - } - else - ROS_ERROR("Undefined problem setting."); - - // general settings - map_downsampling_factor_ = config.map_downsampling_factor; - std::cout << "room_sequence_planning/map_downsampling_factor = " << map_downsampling_factor_ << std::endl; - check_accessibility_of_rooms_ = config.check_accessibility_of_rooms; - std::cout << "room_sequence_planning/check_accessibility_of_rooms = " << check_accessibility_of_rooms_ << std::endl; - return_sequence_map_ = config.return_sequence_map; - std::cout << "room_sequence_planning/return_sequence_map = " << return_sequence_map_ << std::endl; - display_map_ = config.display_map; - std::cout << "room_sequence_planning/display_map = " << display_map_ << std::endl; -} - -void RoomSequencePlanningServer::findRoomSequenceWithCheckpointsServer(const ipa_building_msgs::FindRoomSequenceWithCheckpointsGoalConstPtr &goal) -{ - ROS_INFO("********Sequence planning started************"); - - // converting the map msg in cv format - cv_bridge::CvImagePtr cv_ptr_obj; - cv_ptr_obj = cv_bridge::toCvCopy(goal->input_map, sensor_msgs::image_encodings::MONO8); - cv::Mat floor_plan = cv_ptr_obj->image; - - //get map origin and convert robot start coordinate to [pixel] - const cv::Point2d map_origin(goal->map_origin.position.x, goal->map_origin.position.y); - cv::Point robot_start_coordinate((goal->robot_start_coordinate.position.x - map_origin.x)/goal->map_resolution, (goal->robot_start_coordinate.position.y - map_origin.y)/goal->map_resolution); - - - //create a star pathplanner to plan a path from Point A to Point B in a given gridmap - AStarPlanner a_star_path_planner; - - //get room centers and check how many of them are reachable - cv::Mat downsampled_map_for_accessibility_checking; - if(check_accessibility_of_rooms_ == true) - { - a_star_path_planner.downsampleMap(floor_plan, downsampled_map_for_accessibility_checking, map_downsampling_factor_, goal->robot_radius, goal->map_resolution); - } - std::vector room_centers; // collect the valid, accessible room_centers - std::map mapping_room_centers_index_to_original_room_index; // maps the index of each entry in room_centers to the original index in goal->room_information_in_pixel - for (size_t i=0; iroom_information_in_pixel.size(); ++i) - { - cv::Point current_center(goal->room_information_in_pixel[i].room_center.x, goal->room_information_in_pixel[i].room_center.y); - if(check_accessibility_of_rooms_ == true) - { - std::cout << "checking for accessibility of rooms" << std::endl; - double length = a_star_path_planner.planPath(floor_plan, downsampled_map_for_accessibility_checking, robot_start_coordinate, current_center, map_downsampling_factor_, 0., goal->map_resolution); - if(length < 1e9) - { - room_centers.push_back(current_center); - mapping_room_centers_index_to_original_room_index[room_centers.size()-1] = i; - std::cout << "room " << i << " added, center: " << current_center << std::endl; - } - else - std::cout << "room " << i << " not accessible, center: " << current_center << std::endl; - } - else - { - room_centers.push_back(current_center); - } - } - downsampled_map_for_accessibility_checking.release(); //release not anymore needed space - - std::cout << "number of reachable roomcenters: " << room_centers.size() << std::endl; - - if(room_centers.size() == 0) - { - ROS_ERROR("No given roomcenter reachable from starting position."); - ipa_building_msgs::FindRoomSequenceWithCheckpointsResult action_result; - room_sequence_with_checkpoints_server_.setAborted(action_result); - return; - } - - if(planning_method_ > 0 && planning_method_ < 3) - { - if(planning_method_ == 1) - ROS_INFO("You have chosen the drag planning method."); - if(planning_method_ == 2) - ROS_INFO("You have chosen the grouping planning method."); - } - - if(tsp_solver_ > 0 && tsp_solver_ < 4) - { - if(tsp_solver_ == TSP_NEAREST_NEIGHBOR) - ROS_INFO("You have chosen the nearest neighbor solver."); - if(tsp_solver_ == TSP_GENETIC) - ROS_INFO("You have chosen the genetic TSP solver."); - if(tsp_solver_ == TSP_CONCORDE) - ROS_INFO("You have chosen the concorde TSP solver."); - } - //saving vectors needed from both planning methods - std::vector > cliques; - std::vector trolley_positions; - std::vector< std::vector > room_cliques_as_points; - - //image container to draw the sequence in if needed - cv::Mat display; - - if(planning_method_ == 1) //Drag Trolley if the next room is too far away - { - std::cout << "Maximal cliquedistance [m]: "<< max_clique_path_length_ << " Maximal cliquedistance [Pixel]: "<< max_clique_path_length_/goal->map_resolution << std::endl; - - //calculate the index of the best starting position - size_t optimal_start_position = getNearestLocation(floor_plan, robot_start_coordinate, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution); - - //plan the optimal path trough all given rooms - std::vector optimal_room_sequence; - if(tsp_solver_ == TSP_NEAREST_NEIGHBOR) //nearest neighbor TSP solver - { - NearestNeighborTSPSolver nearest_neighbor_tsp_solver; - optimal_room_sequence = nearest_neighbor_tsp_solver.solveNearestTSP(floor_plan, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_start_position); - } - if(tsp_solver_ == TSP_GENETIC) //genetic TSP solver - { - GeneticTSPSolver genetic_tsp_solver; - optimal_room_sequence = genetic_tsp_solver.solveGeneticTSP(floor_plan, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_start_position); - } - if(tsp_solver_ == TSP_CONCORDE) //concorde TSP solver - { - ConcordeTSPSolver concorde_tsp_solver; - optimal_room_sequence = concorde_tsp_solver.solveConcordeTSP(floor_plan, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_start_position); - } - - //put the rooms that are close enough together into the same clique, if a new clique is needed put the first roomcenter as a trolleyposition - std::vector current_clique; - trolley_positions.push_back(robot_start_coordinate); //trolley stands close to robot on startup - //sample down map one time to reduce calculation time - cv::Mat downsampled_map; - a_star_path_planner.downsampleMap(floor_plan, downsampled_map, map_downsampling_factor_, goal->robot_radius, goal->map_resolution); - const double one_by_downsampling_factor = 1 / map_downsampling_factor_; - for(size_t i=0; imap_resolution); - if (distance_to_trolley <= max_clique_path_length_/goal->map_resolution && current_clique.size() < max_clique_size_) //expand current clique by next roomcenter - { - current_clique.push_back(optimal_room_sequence[i]); - } - else //start new clique and put the old clique into the cliques vector - { - cliques.push_back(current_clique); - current_clique.clear(); - current_clique.push_back(optimal_room_sequence[i]); - trolley_positions.push_back(room_centers[optimal_room_sequence[i]]); - } - } - //add last clique - cliques.push_back(current_clique); - - //fill vector of cv::Point for display purpose - for(size_t i=0; i current_clique; - for(size_t j=0; j0) - { -#if CV_MAJOR_VERSION<=3 - cv::circle(display, trolley_positions[t], 5, CV_RGB(0,0,255), CV_FILLED); -#else - cv::circle(display, trolley_positions[t], 5, CV_RGB(0,0,255), cv::FILLED); -#endif - cv::line(display, trolley_positions[t], trolley_positions[t-1], CV_RGB(128,128,255), 1); - } - else - { -#if CV_MAJOR_VERSION<=3 - cv::circle(display, trolley_positions[t], 5, CV_RGB(255,0,0), CV_FILLED); -#else - cv::circle(display, trolley_positions[t], 5, CV_RGB(255,0,0), cv::FILLED); -#endif - } - - // room positions and connections - for (size_t r=0; rmap_resolution << std::endl; - - std::cout << "finding trolley positions" << std::endl; - // 1. determine cliques of rooms - SetCoverSolver set_cover_solver; - cliques = set_cover_solver.solveSetCover(floor_plan, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, max_clique_path_length_/goal->map_resolution, max_clique_size_); - - // 2. determine trolley position within each clique (same indexing as in cliques) - TrolleyPositionFinder trolley_position_finder; - trolley_positions = trolley_position_finder.findTrolleyPositions(floor_plan, cliques, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution); - std::cout << "Trolley positions within each clique computed" << std::endl; - - // 3. determine optimal sequence of trolley positions (solve TSP problem) - // a) find nearest trolley location to current robot location - // b) solve the TSP for the trolley positions - // reduce image size already here to avoid resizing in the planner each time - size_t optimal_trolley_start_position = getNearestLocation(floor_plan, robot_start_coordinate, trolley_positions, map_downsampling_factor_, goal->robot_radius, goal->map_resolution); - - //solve the TSP - std::vector optimal_trolley_sequence; - std::cout << "finding optimal trolley sequence. Start: " << optimal_trolley_start_position << std::endl; - if(tsp_solver_ == TSP_NEAREST_NEIGHBOR) //nearest neighbor TSP solver - { - NearestNeighborTSPSolver nearest_neighbor_tsp_solver; - optimal_trolley_sequence = nearest_neighbor_tsp_solver.solveNearestTSP(floor_plan, trolley_positions, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_trolley_start_position); - } - if(tsp_solver_ == TSP_GENETIC) //genetic TSP solver - { - GeneticTSPSolver genetic_tsp_solver; - optimal_trolley_sequence = genetic_tsp_solver.solveGeneticTSP(floor_plan, trolley_positions, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_trolley_start_position); - } - if(tsp_solver_ == TSP_CONCORDE) //concorde TSP solver - { - ConcordeTSPSolver concorde_tsp_solver; - optimal_trolley_sequence = concorde_tsp_solver.solveConcordeTSP(floor_plan, trolley_positions, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_trolley_start_position); - } - - // 4. determine optimal sequence of rooms with each clique (solve TSP problem) - // a) find start point for each clique closest to the trolley position - // b) create a vector< vector > to fill the groups into the TSP solver - // c) solve the TSP for each clique - - - //fill vector of cv::Point for TSP solver - for(size_t i=0; i current_clique; - for(size_t j=0; j clique_starting_points(cliques.size()); - for(size_t i=0; irobot_radius, goal->map_resolution); - //solve TSPs - std::vector< std::vector > optimal_room_sequences(cliques.size()); - // Create the TSP solver objects two times and not one time for the whole function because by this way only two objects has to be - // created and else three - if(tsp_solver_ == TSP_NEAREST_NEIGHBOR) //nearest neighbor TSP solver - { - NearestNeighborTSPSolver nearest_neighbor_tsp_solver; - for(size_t i=0; irobot_radius, goal->map_resolution, clique_starting_points[i]); - std::cout << "done one clique" << std::endl; - } - } - if(tsp_solver_ == TSP_GENETIC) //genetic TSP solver - { - GeneticTSPSolver genetic_tsp_solver; - for(size_t i=0; irobot_radius, goal->map_resolution, clique_starting_points[i]); - std::cout << "done one clique" << std::endl; - } - } - if(tsp_solver_ == TSP_CONCORDE) //concorde TSP solver - { - ConcordeTSPSolver concorde_tsp_solver; - for(size_t i=0; irobot_radius, goal->map_resolution, clique_starting_points[i]); - std::cout << "done one clique" << std::endl; - } - } - - if(return_sequence_map_ == true) - { - cv::cvtColor(floor_plan, display, CV_GRAY2BGR); - - for (size_t t=0; t0) - { -#if CV_MAJOR_VERSION<=3 - cv::circle(display, trolley_positions[ot], 5, CV_RGB(0,0,255), CV_FILLED); -#else - cv::circle(display, trolley_positions[ot], 5, CV_RGB(0,0,255), cv::FILLED); -#endif - cv::line(display, trolley_positions[ot], trolley_positions[optimal_trolley_sequence[t-1]], CV_RGB(128,128,255), 1); - } - else - { -#if CV_MAJOR_VERSION<=3 - cv::circle(display, trolley_positions[ot], 5, CV_RGB(255,0,0), CV_FILLED); -#else - cv::circle(display, trolley_positions[ot], 5, CV_RGB(255,0,0), cv::FILLED); -#endif - } - - // room positions and connections - for (size_t r=0; r > new_cliques_order(cliques.size()); - std::vector new_trolley_positions(trolley_positions.size()); - for (size_t i=0; i room_sequences(cliques.size()); - for(size_t i=0; imap_resolution, map_origin); - room_sequences[i].checkpoint_position_in_meter.y = convert_pixel_to_meter_for_y_coordinate(trolley_positions[i].y, goal->map_resolution, map_origin); - room_sequences[i].checkpoint_position_in_meter.z = 0.; - } - action_result.checkpoints = room_sequences; - if(return_sequence_map_ == true) - { - //converting the cv format in map msg format - cv_bridge::CvImage cv_image; - cv_image.header.stamp = ros::Time::now(); - cv_image.encoding = "bgr8"; - cv_image.image = display; - cv_image.toImageMsg(action_result.sequence_map); - } - - // publish visualization msg for RViz - publishSequenceVisualization(room_sequences, room_centers, cliques, goal->map_resolution, cv::Point2d(goal->map_origin.position.x, goal->map_origin.position.y)); - - room_sequence_with_checkpoints_server_.setSucceeded(action_result); - - //garbage collection - action_result.checkpoints.clear(); - - ROS_INFO("********Sequence planning finished************"); -} - -size_t RoomSequencePlanningServer::getNearestLocation(const cv::Mat& floor_plan, const cv::Point start_coordinate, const std::vector& positions, - const double map_downsampling_factor, const double robot_radius, const double map_resolution) -{ -// const double one_by_downsampling_factor = 1./map_downsampling_factor; - cv::Mat downsampled_map; - AStarPlanner a_star_path_planner; - a_star_path_planner.downsampleMap(floor_plan, downsampled_map, map_downsampling_factor, robot_radius, map_resolution); - //find nearest trolley position as start point for TSP - double min_dist = 1e10; - size_t nearest_position = 0; -// const cv::Point start_point = map_downsampling_factor * start_coordinate; - for (size_t i=0; i& room_sequences, const std::vector& room_centers, - std::vector< std::vector >& cliques, const double map_resolution, const cv::Point2d& map_origin) -{ - room_sequence_visualization_msg_.markers.clear(); - - // publish clique centers - int room_count = 0; - for (size_t i=0; i0) - { - visualization_msgs::Marker arrow; - // Set the frame ID and timestamp. See the TF tutorials for information on these. - arrow.header.frame_id = "/map"; - arrow.header.stamp = ros::Time::now(); - // Set the namespace and id for this marker. This serves to create a unique ID - // Any marker sent with the same namespace and id will overwrite the old one - arrow.ns = "room_sequence_checkpoints"; - arrow.id = 2*room_sequences.size()+i; - // Set the marker type. Initially this is CUBE, and cycles between that and SPHERE, ARROW, and CYLINDER - arrow.type = visualization_msgs::Marker::ARROW; - // Set the marker action. Options are ADD, DELETE, and new in ROS Indigo: 3 (DELETEALL) - arrow.action = visualization_msgs::Marker::ADD; - // Set the pose of the marker. This is a full 6DOF pose relative to the frame/time specified in the header - arrow.pose.position.x = 0; - arrow.pose.position.y = 0; - arrow.pose.position.z = 0; - arrow.pose.orientation.x = 0.0; - arrow.pose.orientation.y = 0.0; - arrow.pose.orientation.z = 0.0; - arrow.pose.orientation.w = 1.0; - arrow.points.resize(2); - arrow.points[0].x = room_sequences[i-1].checkpoint_position_in_meter.x; - arrow.points[0].y = room_sequences[i-1].checkpoint_position_in_meter.y; - arrow.points[0].z = room_sequences[i-1].checkpoint_position_in_meter.z; - arrow.points[1].x = room_sequences[i].checkpoint_position_in_meter.x; - arrow.points[1].y = room_sequences[i].checkpoint_position_in_meter.y; - arrow.points[1].z = room_sequences[i].checkpoint_position_in_meter.z; - // Set the scale of the marker -- 1x1x1 here means 1m on a side - arrow.scale.x = 0.03; // this is the line width - arrow.scale.y = 0.06; - arrow.scale.z = 0.1; - // Set the color -- be sure to set alpha to something non-zero! - arrow.color.r = 1.0f; - arrow.color.g = 1.0f; - arrow.color.b = 0.0f; - arrow.color.a = 0.8; - arrow.lifetime = ros::Duration(); - room_sequence_visualization_msg_.markers.push_back(arrow); - } - room_count += room_sequences[i].room_indices.size(); - } - - // publish room centers - int room_index = 0; - for (size_t i=0; i -#include - -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - - -struct EvaluationConfig -{ - int room_segmentation_algorithm_; // this variable selects the algorithm for room segmentation - // 1 = morphological segmentation - // 2 = distance segmentation - // 3 = Voronoi segmentation - // 4 = semantic segmentation - // 5 = Voronoi random field segmentation - double max_clique_path_length_; // max A* path length between two rooms that are assigned to the same clique, in [m] - int sequence_planning_method_; // Method for sequence planning - // 1 = drag trolley if next room is too far away - // 2 = calculate roomgroups and a trolleyposition for each of it - int tsp_solver_; // TSP solver that is used - // TSP_NEAREST_NEIGHBOR=1 = Nearest Neighbor - // TSP_GENETIC=2 = Genetic solver - // TSP_CONCORDE=3 = Concorde solver - int trashbins_per_trolley_; // variable that shows how many trashbins can be emptied into one trolley - - EvaluationConfig() - { - room_segmentation_algorithm_ = 1; - max_clique_path_length_ = 12.0; - sequence_planning_method_ = 2; - tsp_solver_ = TSP_CONCORDE; - trashbins_per_trolley_ = 9001; - } - - EvaluationConfig(const int room_segmentation_algorithm, const double max_clique_path_length, const int sequence_planning_method, const int tsp_solver) - { - room_segmentation_algorithm_ = room_segmentation_algorithm; - max_clique_path_length_ = max_clique_path_length; - sequence_planning_method_ = sequence_planning_method; - tsp_solver_ = tsp_solver; - trashbins_per_trolley_ = 9001; - } - - EvaluationConfig(const int room_segmentation_algorithm, const double max_clique_path_length, const int sequence_planning_method, const int tsp_solver, const double trashbins_per_trolley) - { - room_segmentation_algorithm_ = room_segmentation_algorithm; - max_clique_path_length_ = max_clique_path_length; - sequence_planning_method_ = sequence_planning_method; - tsp_solver_ = tsp_solver; - trashbins_per_trolley_ = trashbins_per_trolley; - } - - std::string generateUpperConfigurationFolderString() const - { - std::stringstream ss; - ss << "plmth" << sequence_planning_method_ << "mcl" << std::setprecision(4) << max_clique_path_length_; - - return ss.str(); - } - - std::string generateLowerConfigurationFolderString() const - { - std::stringstream ss; - ss << "seg" << room_segmentation_algorithm_ << "tsp" << tsp_solver_; - return ss.str(); - } - - std::string getConfigurationString() const - { - std::stringstream ss; - ss << "\n==================================================================================================\n" << - "Configuration " << generateUpperConfigurationFolderString() << generateLowerConfigurationFolderString() << "\n" << - "==================================================================================================\n" << - "room_segmentation_algorithm: " << roomSegmentationAlgorithmToString() << " (" << room_segmentation_algorithm_ << ")\n" << - "max_clique_path_length [m]: " << max_clique_path_length_ << - "\n" << std::endl; - - return ss.str(); - } - - std::string roomSegmentationAlgorithmToString() const - { - std::string s = ""; - if (room_segmentation_algorithm_ == 1) - s = "morphological segmentation"; - else if (room_segmentation_algorithm_ == 2) - s = "distance segmentation"; - else if (room_segmentation_algorithm_ == 3) - s = "Voronoi segmentation"; - else if (room_segmentation_algorithm_ == 4) - s = "semantic segmentation"; - else if (room_segmentation_algorithm_ == 5) - s = "Voronoi random field segmentation"; - return s; - } -}; - -struct EvaluationData -{ - std::string map_name_; // without file type - cv::Mat floor_plan_; - double map_downsampling_factor_; - float map_resolution_; - geometry_msgs::Pose map_origin_; - geometry_msgs::Pose robot_start_position_; - double robot_radius_; - std::vector< cv::Point > trash_bin_locations_; - cv::Point central_trolley_park_; - - EvaluationData() - { - map_name_ = ""; - floor_plan_ = cv::Mat(); - map_downsampling_factor_ = 0.25; - map_resolution_ = 0.05; - robot_radius_ = 0.3; - } - - EvaluationData(const std::string& map_name, const cv::Mat& floor_plan, const float map_resolution, const double map_downsampling_factor, - const double robot_radius, const std::vector< cv::Point >& trash_bin_locations, const cv::Point trolley_park_position = cv::Point(-1, -1)) - { - map_name_ = map_name; - floor_plan_ = floor_plan; - map_downsampling_factor_ = map_downsampling_factor; - map_resolution_ = map_resolution; - map_origin_.position.x = 0; - map_origin_.position.y = 0; - robot_radius_ = robot_radius; - trash_bin_locations_ = trash_bin_locations; - cv::Mat map_eroded; - cv::erode(floor_plan_, map_eroded, cv::Mat(), cv::Point(-1,-1), robot_radius_/map_resolution_+2); - cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 - cv::distanceTransform(map_eroded, distance_map, CV_DIST_L2, 5); - cv::convertScaleAbs(distance_map, distance_map); // conversion to 8 bit image - bool robot_start_coordinate_set = false; - for (int v=0; v(v,u) != 0 && distance_map.at(v,u) > 20) // todo: parameter - { - robot_start_position_.position.x = u*map_resolution_ + map_origin_.position.x; - robot_start_position_.position.y = v*map_resolution_ + map_origin_.position.y; - robot_start_coordinate_set = true; - } - central_trolley_park_ = trolley_park_position; - } -}; - -struct StatisticsItem -{ - double robot_speed_without_trolley; // in [m/s] - double robot_speed_with_trolley; // in [m/s] - double time_for_trashbin_manipulation; // in [s] - double time_for_trolley_manipulation; // in [s] - int number_trash_bins; - int number_trolley_movements; - double path_length_robot; // in [m] - double path_length_trolley; // in [m] - double path_length_trash_bins; // in [m] - double pathlength; // in [m] - double cleaning_time; // in [s] - double calculation_time_segmentation; // in [s] - double calculation_time_sequencer; // in [s] - double human_way; // in [m] - - StatisticsItem() - { - robot_speed_without_trolley=0.; // in [m/s] - robot_speed_with_trolley=0.; // in [m/s] - time_for_trashbin_manipulation=0.; // in [s] - time_for_trolley_manipulation=0.; // in [s] - number_trash_bins=0; - number_trolley_movements=0; - path_length_robot=0.; // in [m] - path_length_trolley=0.; // in [m] - path_length_trash_bins=0.; // in [m] - pathlength=1e10; // in [m] - cleaning_time=1e10; // in [s] - calculation_time_segmentation=0.; // in [s] - calculation_time_sequencer=0.; - human_way=0.; - } -}; - -class Evaluation -{ -public: - - // to segment the map only once for each segmentation algorithm - ipa_building_msgs::MapSegmentationResultConstPtr result_seg_morph; - bool segmented_morph; - ipa_building_msgs::MapSegmentationResultConstPtr result_seg_dist; - bool segmented_dist; - ipa_building_msgs::MapSegmentationResultConstPtr result_seg_vor; - bool segmented_vor; - ipa_building_msgs::MapSegmentationResultConstPtr result_seg_semant; - bool segmented_semant; - ipa_building_msgs::MapSegmentationResultConstPtr result_seg_vrf; - bool segmented_vrf; - - Evaluation(ros::NodeHandle& nh, const std::string& test_map_path, const std::string& data_storage_path, const double robot_radius) - : node_handle_(nh), robot_radius_(robot_radius) - { - segmented_morph = false; - segmented_dist = false; - segmented_vor = false; - segmented_semant = false; - segmented_vrf = false; - // prepare relevant floor map data -// std::vector map_names; -//// map_names.push_back("lab_ipa"); // done -//// map_names.push_back("Freiburg52_scan"); //done -//// map_names.push_back("Freiburg79_scan"); //done -//// map_names.push_back("lab_c_scan"); //done -//// map_names.push_back("lab_b_scan"); //done -//// map_names.push_back("lab_d_scan"); //done -//// map_names.push_back("lab_intel"); //done -//// map_names.push_back("Freiburg101_scan"); //done -//// map_names.push_back("lab_a_scan"); //done -// map_names.push_back("lab_f_scan"); //done -//// map_names.push_back("NLB"); //done - - //with obstacles: -// "Freiburg52_scan_furnitures_trashbins" -// map_names.push_back("lab_ipa_furnitures"); - - std::vector< std::string > map_names; - map_names.push_back("lab_ipa"); - map_names.push_back("lab_c_scan"); - map_names.push_back("Freiburg52_scan"); - map_names.push_back("Freiburg79_scan"); - map_names.push_back("lab_b_scan"); - map_names.push_back("lab_intel"); - map_names.push_back("Freiburg101_scan"); - map_names.push_back("lab_d_scan"); - map_names.push_back("lab_f_scan"); - map_names.push_back("lab_a_scan"); - map_names.push_back("NLB"); - map_names.push_back("office_a"); - map_names.push_back("office_b"); - map_names.push_back("office_c"); - map_names.push_back("office_d"); - map_names.push_back("office_e"); - map_names.push_back("office_f"); - map_names.push_back("office_g"); - map_names.push_back("office_h"); - map_names.push_back("office_i"); - map_names.push_back("lab_ipa_furnitures"); - map_names.push_back("lab_c_scan_furnitures"); - map_names.push_back("Freiburg52_scan_furnitures"); - map_names.push_back("Freiburg79_scan_furnitures"); - map_names.push_back("lab_b_scan_furnitures"); - map_names.push_back("lab_intel_furnitures"); - map_names.push_back("Freiburg101_scan_furnitures"); - map_names.push_back("lab_d_scan_furnitures"); - map_names.push_back("lab_f_scan_furnitures"); - map_names.push_back("lab_a_scan_furnitures"); - map_names.push_back("NLB_furnitures"); - map_names.push_back("office_a_furnitures"); - map_names.push_back("office_b_furnitures"); - map_names.push_back("office_c_furnitures"); - map_names.push_back("office_d_furnitures"); - map_names.push_back("office_e_furnitures"); - map_names.push_back("office_f_furnitures"); - map_names.push_back("office_g_furnitures"); - map_names.push_back("office_h_furnitures"); - map_names.push_back("office_i_furnitures"); - - - // prepare image data for evaluation - for (size_t image_index = 0; image_index(y, x) > 250) - { - map.at(y, x) = 255; - } - else //if (map.at(y, x) != 255) - { - map.at(y, x) = 0; - } - } - } - - // read in trash bin locations - std::string map_name_basic = map_names[image_index]; - std::size_t pos = map_names[image_index].find("_furnitures"); - if (pos != std::string::npos) - map_name_basic = map_names[image_index].substr(0, pos); - image_filename = test_map_path + map_name_basic + "_trashbins.png"; - cv::Mat temp = cv::imread(image_filename.c_str()); - cv::Vec3b blue(255, 0, 0); - cv::Vec3b red(0, 0, 255); - double map_resoultion_for_evaluation = 0.05; - int number_of_erosions = (robot_radius_ / map_resoultion_for_evaluation); - cv::Mat eroded_map; - cv::erode(map, eroded_map, cv::Mat(), cv::Point(-1,-1), number_of_erosions); - std::vector< cv::Point > trash_bin_locations; - cv::Point central_trolley_park; - for (int y = 0; y < temp.rows; y++) - { - for (int x = 0; x < temp.cols; x++) - { - //find blue drawn trash bins and check if they are reachable (if one is not reachable the a star planner will give an extremely large path) - if (temp.at(y, x) == blue && eroded_map.at(y, x) != 0) - { - trash_bin_locations.push_back(cv::Point(x,y)); - std::cout << "trash: " << x << ", " << y << std::endl; - } - //find red drawn trolley park and check if they are reachable (if one is not reachable the a star planner will give an extremely large path) - if (temp.at(y, x) == red && eroded_map.at(y, x) != 0) - { - central_trolley_park = cv::Point(x, y); - std::cout << "trolley park: " << x << ", " << y << std::endl; - } - } - } - //give occupied memory free - temp.release(); - eroded_map.release(); - -// +"_furnitures_trashbins" -// evaluation_data_.push_back(EvaluationData(map_names[image_index], map, map_resoultion_for_evaluation, 0.25, robot_radius_, trash_bin_locations)); - evaluation_data_.push_back(EvaluationData(map_names[image_index], map, map_resoultion_for_evaluation, 0.25, robot_radius_, trash_bin_locations, central_trolley_park)); - } - - // set configurations - std::vector evaluation_configurations; - setConfigurations(evaluation_configurations); - - // do the evaluation - std::string bugfile = data_storage_path + "bugfile.txt"; - std::ofstream failed_maps(bugfile.c_str(), std::ios::out); - if(failed_maps.is_open()) - failed_maps << "maps that had a bug during the simulation and couldn't be finished: " << std::endl; - for (size_t i=0; i > results; // maps from [map_name]->StatisticsItems[evaluation_configurations.size()] - readFromLocalFiles(evaluation_configurations, map_names, data_storage_path, results); - - //write the calculated values to global saving files - writeGlobalStatistics(evaluation_configurations, map_names, data_storage_path, results); -// writeToGlobalFiles(map_names, data_storage_path, map_pathlengths, map_cleaning_times, sequence_solver_times); - } - - //function to read the saved results out of the files - void readFromLocalFiles(const std::vector& evaluation_configurations, const std::vector& map_names, const std::string& data_storage_path, - std::map >& results) - { - for (size_t i=0; i> stats.robot_speed_without_trolley; // in [m/s] - iss >> stats.robot_speed_with_trolley; // in [m/s] - iss >> stats.time_for_trashbin_manipulation; // in [s] - iss >> stats.time_for_trolley_manipulation; // in [s] - iss >> stats.number_trash_bins; - iss >> stats.number_trolley_movements; - iss >> stats.path_length_robot; // in [m] - iss >> stats.path_length_trolley; // in [m] - iss >> stats.path_length_trash_bins; // in [m] - iss >> stats.pathlength; // in [m] - iss >> stats.cleaning_time; // in [s] - iss >> stats.calculation_time_segmentation; // in [s] - iss >> stats.calculation_time_sequencer; // in [s] - reading_file.close(); - } - else - { - std::cout << "missing data: " << log_filename << std::endl; - } - - std::string human_filename = data_storage_path + "human_way/" + upper_folder_name + lower_folder_name + map_names[map_index] + "_human.txt"; - std::ifstream human_file(human_filename.c_str()); - - if(human_file.is_open()) - { - std::string line; - getline(human_file, line); // first line is text - getline(human_file, line); - std::istringstream iss(line); - iss >> stats.human_way; // in [m] - human_file.close(); - } - results[map_names[map_index]].push_back(stats); - } - } - } - - void writeGlobalStatistics(const std::vector& evaluation_configurations, const std::vector& map_names, const std::string& data_storage_path, - std::map >& results) - { - //define the storage path for each planning method - const std::string path = data_storage_path + "global/"; - const std::string upper_command = "mkdir -p " + path; - int return_value = system(upper_command.c_str()); - - // prepare files for different evaluation criteria - std::vector filenames; - filenames.push_back("pathlength"); - filenames.push_back("cleaning_time"); - filenames.push_back("number_trash_bins"); - filenames.push_back("number_trolley_movements"); - filenames.push_back("calculation_time_segmentation"); - filenames.push_back("calculation_time_sequencer"); - filenames.push_back("path_length_robot"); - filenames.push_back("path_length_trolley"); - filenames.push_back("path_length_trash_bins"); - filenames.push_back("human_way"); - - for (std::vector::iterator it_filename=filenames.begin(); it_filename!=filenames.end(); ++it_filename) - { - // collect column data - std::set max_clique_lengths; - for (size_t i=0; i > output_matrix(1+data_columns); // [column index][row index] ! - for (size_t i=0; i::const_iterator it=map_names.begin(); it!=map_names.end(); it++) - { - // prepare first column of output - output_matrix[0][0] = *it; - int r=1; - for (std::set::iterator mcl_it = max_clique_lengths.begin(); mcl_it != max_clique_lengths.end(); mcl_it++, r++) - { - std::stringstream ss; - ss << "mcl" << *mcl_it; - output_matrix[0][r] = ss.str(); - } - - // write remaining columns of output - for (int i=0; icompare("pathlength") == 0) - sss << results[*it][base_index+k].pathlength; - else if (it_filename->compare("cleaning_time") == 0) - sss << results[*it][base_index+k].cleaning_time; - else if (it_filename->compare("number_trash_bins") == 0) - sss << results[*it][base_index+k].number_trash_bins; - else if (it_filename->compare("number_trolley_movements") == 0) - sss << results[*it][base_index+k].number_trolley_movements; - else if (it_filename->compare("calculation_time_segmentation") == 0) - sss << results[*it][base_index+k].calculation_time_segmentation; - else if (it_filename->compare("calculation_time_sequencer") == 0) - sss << results[*it][base_index+k].calculation_time_sequencer; - else if (it_filename->compare("path_length_robot") == 0) - sss << results[*it][base_index+k].path_length_robot; - else if (it_filename->compare("path_length_trolley") == 0) - sss << results[*it][base_index+k].path_length_trolley; - else if (it_filename->compare("path_length_trash_bins") == 0) - sss << results[*it][base_index+k].path_length_trash_bins; - else if (it_filename->compare("human_way") == 0) - sss << results[*it][base_index+k].human_way; - output_matrix[1+i][1+k] = sss.str(); - } - } - // write output string - for (size_t row=0; row& map_names, const std::string& data_storage_path, const std::vector >& map_pathlengths, - const std::vector >& map_cleaning_times, const std::vector >& sequence_solver_times) - { - - //save the saved parameters in a saving file for each map - - //define the storage path for each planning method - std::stringstream ss; - ss << "global"; - const std::string upper_folder_name = ss.str() + "/"; - const std::string path = data_storage_path + upper_folder_name; - const std::string upper_command = "mkdir -p " + path; - int return_value = system(upper_command.c_str()); - - const std::string cleaning_time_folder = "cleaningtime/"; - std::string lower_command = "mkdir -p " + path + cleaning_time_folder; - return_value = system(lower_command.c_str()); - const std::string path_length_folder = "pathlengths/"; - lower_command = "mkdir -p " + path + path_length_folder; - return_value = system(lower_command.c_str()); - const std::string computation_time_folder = "comp_time/"; - lower_command = "mkdir -p " + path + computation_time_folder; - return_value = system(lower_command.c_str()); - - // outputs to log file - std::stringstream distance_output[map_names.size()]; - std::stringstream cleaning_time_output[map_names.size()]; - std::stringstream sequence_time_output[map_names.size()]; - - - //define values to show how much different algorithms has been implemented - double max_clique_path_length = 4.0; - int number_of_cliquelenghts = 8; - int number_of_segmentation_algorithms = 5; - int number_of_tsp_solver = 3; - for(size_t i = 0; i < map_names.size(); ++i) - { - distance_output[i] << "\t" << "Nachziehmethode" << "\t" << "\t" << "Trolley-Gruppen" << std::endl - << "max. Fahrdistanz" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << std::endl; - cleaning_time_output[i] << "\t" << "\t" << "Nachziehmethode" << "\t" << "\t" << "Trolley-Gruppen" << std::endl - << "max. Fahrdistanz" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << std::endl; - sequence_time_output[i] << "\t" << "\t" << "Nachziehmethode" << "\t" << "\t" << "Trolley-Gruppen" << std::endl - << "max. Fahrdistanz" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << std::endl; - } - for (int max_length = 0; max_length < number_of_cliquelenghts; ++max_length) - { - max_clique_path_length += 2.0; - - int start = number_of_segmentation_algorithms * number_of_tsp_solver * max_length; - - for(size_t map = 0; map < map_names.size(); ++map) - { - //show which maximal clique pathlength this is - distance_output[map] << std::endl << max_clique_path_length; - cleaning_time_output[map] << std::endl << max_clique_path_length; - sequence_time_output[map] << std::endl << max_clique_path_length; - // header - for(size_t segmentation = 0; segmentation < number_of_segmentation_algorithms; ++segmentation) - { - if(segmentation > 0) - { - distance_output[map] << 0; - cleaning_time_output[map] << 0; - sequence_time_output[map] << 0; - } - for(int sequence_planning_method = 0; sequence_planning_method < 2; ++sequence_planning_method) - { - int plmth_start = start + number_of_segmentation_algorithms * number_of_tsp_solver * number_of_cliquelenghts * sequence_planning_method; - int index = plmth_start + number_of_tsp_solver * segmentation; - for(size_t reading_index = index; reading_index < index+number_of_tsp_solver; ++reading_index) - { - distance_output[map] << " " << map_pathlengths[map][reading_index] ; - cleaning_time_output[map] << " " << map_cleaning_times[map][reading_index]; - sequence_time_output[map] << " " << sequence_solver_times[map][reading_index]; - } - } - - distance_output[map] << std::endl; - cleaning_time_output[map] << std::endl; - sequence_time_output[map] << std::endl; - } - } - } - //write saved parameters to global file - for(size_t map = 0; map < map_names.size(); ++map) - { - std::string pathlength_filename = path + path_length_folder + map_names[map] + "_pathlengths.txt"; - std::ofstream pathlength_file(pathlength_filename.c_str(), std::ios::out); - if (pathlength_file.is_open()==true) - pathlength_file << distance_output[map].str(); - pathlength_file.close(); - - std::string cleaningtime_filename = path + cleaning_time_folder + map_names[map] + "_cleaningtimes.txt"; - std::ofstream cleaningtime_file(cleaningtime_filename.c_str(), std::ios::out); - if (cleaningtime_file.is_open()==true) - cleaningtime_file << cleaning_time_output[map].str(); - cleaningtime_file.close(); - - std::string sequencetime_filename = path + computation_time_folder + map_names[map] + "_sequencetimes.txt"; - std::ofstream sequencetime_file(sequencetime_filename.c_str(), std::ios::out); - if (sequencetime_file.is_open()==true) - sequencetime_file << sequence_time_output[map].str(); - sequencetime_file.close(); - - } - } - - void setConfigurations(std::vector< EvaluationConfig >& evaluation_configurations) - { - evaluation_configurations.clear(); - for (int room_segmentation_algorithm=1; room_segmentation_algorithm<=5; ++room_segmentation_algorithm) - { - for(int sequence_planning_method = 2; sequence_planning_method <= 2; ++sequence_planning_method) - { - for(int tsp_solver = 1; tsp_solver <= 3; ++tsp_solver) - { - cv::Mat max_clique_lengths = (cv::Mat_(1,11) << 6., 8., 10., 12., 14., 16., 18., 20., 25., 30., 50.); - //for (double max_clique_path_length = 20.; max_clique_path_length <= 20.; max_clique_path_length += 2.0) - for (int i=0; i(0,i), sequence_planning_method, tsp_solver, 10)); - } - } - } - } - - bool evaluateAllConfigs0815(const std::vector& evaluation_configuration_vector, const EvaluationData& evaluation_data, const std::string& data_storage_path) - { - // go through each configuration for the given map - for(size_t config = 0; config < evaluation_configuration_vector.size(); ++config) - { - // prepare folders for storing results - const std::string upper_folder_name = evaluation_configuration_vector[config].generateUpperConfigurationFolderString() + "/"; - const std::string path = data_storage_path + upper_folder_name; - const std::string upper_command = "mkdir -p " + path; - int return_value = system(upper_command.c_str()); - - const std::string lower_folder_name = evaluation_configuration_vector[config].generateLowerConfigurationFolderString() + "/"; - const std::string lower_path = path + lower_folder_name; - const std::string lower_command = "mkdir -p " + lower_path; - return_value = system(lower_command.c_str()); - - std::cout << "\nCurrent Configuration:" << std::endl << "map: " << evaluation_data.map_name_ << "\tsegmentation algorithm: " - << evaluation_configuration_vector[config].room_segmentation_algorithm_ - << "\tplanning method: " << evaluation_configuration_vector[config].sequence_planning_method_ - << "\tTSP solver: " << evaluation_configuration_vector[config].tsp_solver_ - << "\tmaximal clique length: " << evaluation_configuration_vector[config].max_clique_path_length_ << std::endl; - - AStarPlanner planner; - //variables for time measurement - struct timespec t0, t1, t2, t3; - - // 1. retrieve segmentation and check if the map has already been segmented - ipa_building_msgs::MapSegmentationResultConstPtr result_seg; - clock_gettime(CLOCK_MONOTONIC, &t0); //set time stamp before the segmentation - if(evaluation_configuration_vector[config].room_segmentation_algorithm_ == 1) - { - if(segmented_morph == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_morph, t0) == false) - return false; - segmented_morph = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_morph; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 2) - { - if(segmented_dist == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_dist, t0) == false) - return false; - segmented_dist = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_dist; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 3) - { - if(segmented_vor == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vor, t0) == false) - return false; - segmented_vor = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_vor; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 4) - { - if(segmented_semant == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_semant, t0) == false) - return false; - segmented_semant = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_semant; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 5) - { - if(segmented_vrf == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vrf, t0) == false) - return false; - segmented_vrf = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_vrf; - } - clock_gettime(CLOCK_MONOTONIC, &t1); //set time stamp after the segmentation - std::cout << "Segmentation computed " << result_seg->room_information_in_pixel.size() << " rooms." << std::endl; - - //check for accessibility of the room centers from start position - cv::Mat downsampled_map; - Timer tim; - planner.downsampleMap(evaluation_data.floor_plan_, downsampled_map, evaluation_data.map_downsampling_factor_, evaluation_data.robot_radius_, evaluation_data.map_resolution_); - std::cout << "downsampling map: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; - cv::Point robot_start_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, - (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); - - // get the reachable room centers as cv::Point - tim.start(); - std::cout << "Starting to check accessibility of rooms. Start position: " << robot_start_position << std::endl; - std::vector room_centers; - for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) - { - cv::Point current_center(result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); - double length = planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_start_position, current_center, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_); - if(length < 1e9) - room_centers.push_back(current_center); - else - std::cout << "room " << i << " not accessible, center: " << current_center << std::endl; - } - std::cout << "room centers computed: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; - std::cout << "Number of accessible room centers: " << room_centers.size() << std::endl; - - if(room_centers.size() == 0) //no room center is reachable for the given start position --> needs to be looked at separately - { - std::cout << "++++++++++ no roomcenter reachable from given startposition ++++++++++++" << std::endl; - return false; - } - - // 2. solve sequence problem - std::cout << "Starting to solve sequence problem." << std::endl; - tim.start(); - ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_seq; - clock_gettime(CLOCK_MONOTONIC, &t2); //set time stamp before the sequence planning - if (computeRoomSequence(evaluation_data, evaluation_configuration_vector[config], room_centers, result_seq, t2) == false) - { - std::cout << "++++++++++ computeRoomSequence failed ++++++++++++" << std::endl; - return false; - } - std::cout << "sequence problem solved: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; - clock_gettime(CLOCK_MONOTONIC, &t3); //set time stamp after the sequence planning - - // 3. assign trash bins to rooms of the respective segmentation - std::vector< std::vector > room_trash_bins(result_seg->room_information_in_pixel.size()); - // converting the map msg in cv format - cv_bridge::CvImagePtr cv_ptr_obj; - cv_ptr_obj = cv_bridge::toCvCopy(result_seg->segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); - cv::Mat segmented_map = cv_ptr_obj->image; - for (size_t i=0; i(evaluation_data.trash_bin_locations_[i]); //labeling started from 1 --> 0 is for obstacles - int room_index = -1; - for (size_t r=0; r(room_centers[r]) == trash_bin_index) - { - room_index = r; - break; - } - } - if (room_index != -1) - { - room_trash_bins[room_index].push_back(evaluation_data.trash_bin_locations_[i]); - std::cout << "trash bin " << evaluation_data.trash_bin_locations_[i] << " at room center[" << room_index << "] " << room_centers[room_index] << std::endl; - } - else - std::cout << "########## trash bin " << evaluation_data.trash_bin_locations_[i] << " does not match any room." << std::endl; - } - - // 4. do the movements - cv::Mat draw_path_map, draw_path_map2; - cv::cvtColor(evaluation_data.floor_plan_, draw_path_map, CV_GRAY2BGR); - draw_path_map2 = draw_path_map.clone(); - double path_length_robot = 0.; - double path_length_trolley = 0.; - double path_length_trash_bins = 0.; -// const double max_clique_path_length_in_pixel = evaluation_configuration.max_clique_path_length_ / evaluation_data.map_resolution_; - cv::Point robot_position = robot_start_position; - cv::Point trolley_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, - (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); - cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); - cv::circle(draw_path_map, trolley_position, 5, CV_RGB(0,0,255), -1); - cv::circle(draw_path_map2, trolley_position, 5, CV_RGB(0,0,255), -1); - - std::stringstream screenoutput; - for (size_t clique_index = 0; clique_indexcheckpoints.size(); ++clique_index) - { - std::cout << "cleaning new clique" << std::endl; screenoutput << "cleaning new clique" << std::endl; - // move trolley - // i) robot to trolley - path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - // ii) trolley to next trolley goal - cv::Point trolley_goal_position(result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.x, result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.y); - path_length_trolley += planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, trolley_goal_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - trolley_position = trolley_goal_position; - robot_position = trolley_goal_position; - cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); - cv::circle(draw_path_map, trolley_position, 5, CV_RGB(0,0,255), -1); - cv::circle(draw_path_map2, trolley_position, 5, CV_RGB(0,0,255), -1); - std::cout << "moved trolley to " << trolley_position << std::endl; screenoutput << "moved trolley to " << trolley_position << std::endl; - - // move robot to rooms - for(size_t room = 0; room < result_seq->checkpoints[clique_index].room_indices.size(); ++room) - { - // get next room in sequence - const int room_index = result_seq->checkpoints[clique_index].room_indices[room]; - cv::Point current_roomcenter = room_centers[room_index]; - // drive to next room - path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, current_roomcenter, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - robot_position = current_roomcenter; - cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); - // clear all trash bins: go to trash bin, go back to trolley to empty trash and then drive back to trash bin - std::cout << " arrived in room " << current_roomcenter << "\n starting to clean the trash bins" << std::endl; screenoutput << " arrived in room " << current_roomcenter << "\n starting to clean the trash bins" << std::endl; - ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_trash_bin_seq; - std::vector trash_bin_sequence_in_this_room; - if (room_trash_bins[room_index].size()>1 && computeTrashBinSequence(evaluation_data, evaluation_configuration_vector[config], room_trash_bins[room_index], robot_position, result_trash_bin_seq) == true) - { - for (size_t cc=0; cccheckpoints.size(); ++cc) - for (size_t tt = 0; tt < result_trash_bin_seq->checkpoints[cc].room_indices.size(); ++tt) - trash_bin_sequence_in_this_room.push_back(room_trash_bins[room_index][result_trash_bin_seq->checkpoints[cc].room_indices[tt]]); - } - else - { - trash_bin_sequence_in_this_room = room_trash_bins[room_index]; - } - for (size_t t=0; tcheckpoints.size()+1); - - //get the runtimes for the segmentation and the sequence planner - double segmentation_time = (t1.tv_sec - t0.tv_sec) + (double) (t1.tv_nsec - t0.tv_nsec) * 1e-9; - double sequence_time = (t3.tv_sec - t2.tv_sec) + (double) (t3.tv_nsec - t2.tv_nsec) * 1e-9; - - // write log file - std::stringstream output; - // header - output << evaluation_configuration_vector[config].getConfigurationString(); - output << "robot_speed_without_trolley" << "\t" << "robot_speed_with_trolley" << "\t" << "time_for_trashbin_manipulation" << "\t" - << "time_for_trolley_manipulation" << "\t" << "number_of_trash_bins" << "\t" << "number_trolley_movements" << "\t" - << "path_length_robot_in_meter" << "\t" << "path_length_trolley_in_meter" << "\t" << "path_length_trash_bins_in_meter\t" - << "pathlength [m]" << "\t" - << "cleaning time [s]" << "\t" << "calculation time segmentation [s]" << "\t" << "calculation time sequencer [s]" << "\t" << std::endl; - output << robot_speed_without_trolley << "\t" << robot_speed_with_trolley << "\t" << time_for_trashbin_manipulation << "\t" << time_for_trolley_manipulation << "\t" - << evaluation_data.trash_bin_locations_.size() << "\t" - << (result_seq->checkpoints.size()+1) << "\t" << path_length_robot_in_meter << "\t" << path_length_trolley_in_meter << "\t" << path_length_trash_bins_in_meter << "\t" - << path_length_total_in_meter << "\t" - << time << "\t" << segmentation_time << "\t" << sequence_time; - output << "\n\n\n" << screenoutput.str() << std::endl; - - std::string log_filename = lower_path + evaluation_data.map_name_ + "_results.txt"; - std::ofstream file(log_filename.c_str(), std::ios::out); - if (file.is_open()==true) - file << output.str(); - else - ROS_ERROR("Error on writing file '%s'", log_filename.c_str()); - file.close(); - - // images: segmented_map, sequence_map - std::string segmented_map_filename = lower_path + evaluation_data.map_name_ + "_segmented.png"; - cv::Mat colour_segmented_map = segmented_map.clone(); - colour_segmented_map.convertTo(colour_segmented_map, CV_8U); - cv::cvtColor(colour_segmented_map, colour_segmented_map, CV_GRAY2BGR); - for(size_t i = 1; i <= result_seg->room_information_in_pixel.size(); ++i) - { - // choose random color for each room - int blue = (rand() % 250) + 1; - int green = (rand() % 250) + 1; - int red = (rand() % 250) + 1; - for(size_t u = 0; u < segmented_map.rows; ++u) - { - for(size_t v = 0; v < segmented_map.cols; ++v) - { - if(segmented_map.at(u,v) == i) - { - colour_segmented_map.at(u,v)[0] = blue; - colour_segmented_map.at(u,v)[1] = green; - colour_segmented_map.at(u,v)[2] = red; - } - } - } - } - // draw the room centers into the map - for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) - { - cv::Point current_center (result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); -#if CV_MAJOR_VERSION<=3 - cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), CV_FILLED); -#else - cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), cv::FILLED); -#endif - } - // color image in unique colour to show the segmentation - if (cv::imwrite(segmented_map_filename.c_str(), colour_segmented_map) == false) - ROS_ERROR("Error on writing file '%s'", segmented_map_filename.c_str()); - - std::string sequence_map_filename = lower_path + evaluation_data.map_name_ + "_sequence.png"; - cv_bridge::CvImagePtr cv_ptr_seq; - cv_ptr_seq = cv_bridge::toCvCopy(result_seq->sequence_map, sensor_msgs::image_encodings::BGR8); - cv::Mat sequence_map = cv_ptr_seq->image; - // draw in trash bins - for (size_t i=0; i& evaluation_configuration_vector, const EvaluationData& evaluation_data, const std::string& data_storage_path) - { - // go through each configuration for the given map - for(size_t config = 0; config < evaluation_configuration_vector.size(); ++config) - { - // prepare folders for storing results - const std::string upper_folder_name = evaluation_configuration_vector[config].generateUpperConfigurationFolderString() + "/"; - const std::string path = data_storage_path + upper_folder_name; - const std::string upper_command = "mkdir -p " + path; - int return_value = system(upper_command.c_str()); - - const std::string lower_folder_name = evaluation_configuration_vector[config].generateLowerConfigurationFolderString() + "/"; - const std::string lower_path = path + lower_folder_name; - const std::string lower_command = "mkdir -p " + lower_path; - return_value = system(lower_command.c_str()); - - std::cout << "\nCurrent Configuration:" << std::endl << "map: " << evaluation_data.map_name_ << "\tsegmentation algorithm: " - << evaluation_configuration_vector[config].room_segmentation_algorithm_ - << "\tplanning method: " << evaluation_configuration_vector[config].sequence_planning_method_ - << "\tTSP solver: " << evaluation_configuration_vector[config].tsp_solver_ - << "\tmaximal clique length: " << evaluation_configuration_vector[config].max_clique_path_length_ << std::endl; - - AStarPlanner planner; - //variables for time measurement - struct timespec t0, t1, t2, t3; - - // 1. retrieve segmentation and check if the map has already been segmented - ipa_building_msgs::MapSegmentationResultConstPtr result_seg; - clock_gettime(CLOCK_MONOTONIC, &t0); //set time stamp before the segmentation - if(evaluation_configuration_vector[config].room_segmentation_algorithm_ == 1) - { - if(segmented_morph == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_morph, t0) == false) - return false; - segmented_morph = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_morph; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 2) - { - if(segmented_dist == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_dist, t0) == false) - return false; - segmented_dist = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_dist; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 3) - { - if(segmented_vor == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vor, t0) == false) - return false; - segmented_vor = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_vor; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 4) - { - if(segmented_semant == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_semant, t0) == false) - return false; - segmented_semant = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_semant; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 5) - { - if(segmented_vrf == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vrf, t0) == false) - return false; - segmented_vrf = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_vrf; - } - clock_gettime(CLOCK_MONOTONIC, &t1); //set time stamp after the segmentation - std::cout << "Segmentation computed " << result_seg->room_information_in_pixel.size() << " rooms." << std::endl; - - //check for accessibility of the room centers from start position - cv::Mat downsampled_map; - Timer tim; - planner.downsampleMap(evaluation_data.floor_plan_, downsampled_map, evaluation_data.map_downsampling_factor_, evaluation_data.robot_radius_, evaluation_data.map_resolution_); - std::cout << "downsampling map: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; - cv::Point robot_start_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, - (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); - - // get the reachable room centers as cv::Point - tim.start(); - std::cout << "Starting to check accessibility of rooms. Start position: " << robot_start_position << std::endl; - std::vector room_centers; - for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) - { - cv::Point current_center(result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); - double length = planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_start_position, current_center, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_); - if(length < 1e9) - room_centers.push_back(current_center); - else - std::cout << "room " << i << " not accessible, center: " << current_center << std::endl; - } - std::cout << "room centers computed: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; - std::cout << "Number of accessible room centers: " << room_centers.size() << std::endl; - - if(room_centers.size() == 0) //no room center is reachable for the given start position --> needs to be looked at separately - { - std::cout << "++++++++++ no roomcenter reachable from given startposition ++++++++++++" << std::endl; - return false; - } - - // 2. solve sequence problem - std::cout << "Starting to solve sequence problem." << std::endl; - tim.start(); - ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_seq; - clock_gettime(CLOCK_MONOTONIC, &t2); //set time stamp before the sequence planning - if (computeRoomSequence(evaluation_data, evaluation_configuration_vector[config], room_centers, result_seq, t2) == false) - { - std::cout << "++++++++++ computeRoomSequence failed ++++++++++++" << std::endl; - return false; - } - std::cout << "sequence problem solved: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; - clock_gettime(CLOCK_MONOTONIC, &t3); //set time stamp after the sequence planning - - // 3. assign trash bins to rooms of the respective segmentation - std::vector< std::vector > room_trash_bins(result_seg->room_information_in_pixel.size()); - // converting the map msg in cv format - cv_bridge::CvImagePtr cv_ptr_obj; - cv_ptr_obj = cv_bridge::toCvCopy(result_seg->segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); - cv::Mat segmented_map = cv_ptr_obj->image; - for (size_t i=0; i(evaluation_data.trash_bin_locations_[i]); //labeling started from 1 --> 0 is for obstacles - int room_index = -1; - for (size_t r=0; r(room_centers[r]) == trash_bin_index) - { - room_index = r; - break; - } - } - if (room_index != -1) - { - room_trash_bins[room_index].push_back(evaluation_data.trash_bin_locations_[i]); - std::cout << "trash bin " << evaluation_data.trash_bin_locations_[i] << " at room center[" << room_index << "] " << room_centers[room_index] << std::endl; - } - else - std::cout << "########## trash bin " << evaluation_data.trash_bin_locations_[i] << " does not match any room." << std::endl; - } - - // 4. do the movements - cv::Mat draw_path_map, draw_path_map2; - cv::cvtColor(evaluation_data.floor_plan_, draw_path_map, CV_GRAY2BGR); - draw_path_map2 = draw_path_map.clone(); - double path_length_robot = 0.; - double path_length_trolley = 0.; - double path_length_trash_bins = 0.; - int current_emptied_trashbins = 0; - int switching_trolley_handling = 0; // int that shows how often the trolley has been handled during the switching procedure - // const double max_clique_path_length_in_pixel = evaluation_configuration.max_clique_path_length_ / evaluation_data.map_resolution_; - cv::Point robot_position = robot_start_position; - cv::Point trolley_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, - (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); - cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); - cv::circle(draw_path_map, trolley_position, 5, CV_RGB(0,0,255), -1); - cv::circle(draw_path_map2, trolley_position, 5, CV_RGB(0,0,255), -1); - - std::stringstream screenoutput; - for (size_t clique_index = 0; clique_indexcheckpoints.size(); ++clique_index) - { - std::cout << "cleaning new clique" << std::endl; screenoutput << "cleaning new clique" << std::endl; - // move trolley - // i) robot to trolley - path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - // ii) trolley to next trolley goal - cv::Point trolley_goal_position(result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.x, result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.y); - if(current_emptied_trashbins == evaluation_configuration_vector[config].trashbins_per_trolley_) - { - // get new trolley before going to the next trolley position - // i) from current trolley position to central trolley park - path_length_trolley += planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, evaluation_data.central_trolley_park_, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - // ii) from central trolley park to new trolley position - path_length_trolley += planner.planPath(evaluation_data.floor_plan_, downsampled_map, evaluation_data.central_trolley_park_, trolley_goal_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - // increase int that shows how often the trolley has been handled during switching by one - ++switching_trolley_handling; - // reset number of emptied trashbins - current_emptied_trashbins = 0; - } - else - { - // just drive the trolley - path_length_trolley += planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, trolley_goal_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - } - trolley_position = trolley_goal_position; - robot_position = trolley_goal_position; - cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); - cv::circle(draw_path_map, trolley_position, 5, CV_RGB(0,0,255), -1); - cv::circle(draw_path_map2, trolley_position, 5, CV_RGB(0,0,255), -1); - std::cout << "moved trolley to " << trolley_position << std::endl; screenoutput << "moved trolley to " << trolley_position << std::endl; - - // move robot to rooms - for(size_t room = 0; room < result_seq->checkpoints[clique_index].room_indices.size(); ++room) - { - // check if the trolley needs to be changed - if(current_emptied_trashbins == evaluation_configuration_vector[config].trashbins_per_trolley_) - { - // if so drive the robot to the trolley and the trolley back to the park and the other way around - path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - path_length_trolley += 2.0 * planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, evaluation_data.central_trolley_park_, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - robot_position = trolley_position; - // increase handling of the trolley by two (grasping the robot before and during switching) - switching_trolley_handling += 2; - // reset number of emptied trashbins - current_emptied_trashbins = 0; - } - // get next room in sequence - const int room_index = result_seq->checkpoints[clique_index].room_indices[room]; - cv::Point current_roomcenter = room_centers[room_index]; - // drive to next room - path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, current_roomcenter, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - robot_position = current_roomcenter; - cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); - // clear all trash bins: go to trash bin, go back to trolley to empty trash and then drive back to trash bin - std::cout << " arrived in room " << current_roomcenter << "\n starting to plan the trash bins" << std::endl; screenoutput << " arrived in room " << current_roomcenter << "\n starting to clean the trash bins" << std::endl; - ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_trash_bin_seq; - std::vector trash_bin_sequence_in_this_room; - if (room_trash_bins[room_index].size()>1) - { - bool result_trash = computeTrashBinSequence(evaluation_data, evaluation_configuration_vector[config], room_trash_bins[room_index], robot_position, result_trash_bin_seq); - if(result_trash == true) - { - for (size_t cc=0; cccheckpoints.size(); ++cc) - for (size_t tt = 0; tt < result_trash_bin_seq->checkpoints[cc].room_indices.size(); ++tt) - trash_bin_sequence_in_this_room.push_back(room_trash_bins[room_index][result_trash_bin_seq->checkpoints[cc].room_indices[tt]]); - } - } - else - { - trash_bin_sequence_in_this_room = room_trash_bins[room_index]; - } - std::cout << "starting to clean the trashbins. Size of sequence: " << trash_bin_sequence_in_this_room.size() << std::endl; - for (size_t t=0; t= evaluation_configuration_vector[config].trashbins_per_trolley_) - { - std::cout << "changing trolley " << std::endl; - // if so drive the robot to the trolley and the trolley back to the park and the other way around - path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - path_length_trolley += 2.0 * planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, evaluation_data.central_trolley_park_, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - robot_position = trolley_position; - // increase handling of the trolley by two (grasping the robot before and during switching) - switching_trolley_handling += 2; - // reset number of emptied trashbins - current_emptied_trashbins = 0; - std::cout << "changed trolley" << std::endl; - } - // drive robot to trash bin - double trash_bin_dist1 = planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trash_bin_sequence_in_this_room[t], evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - path_length_robot += trash_bin_dist1; - cv::circle(draw_path_map, trash_bin_sequence_in_this_room[t], 2, CV_RGB(128,0,255), -1); - cv::circle(draw_path_map2, trash_bin_sequence_in_this_room[t], 2, CV_RGB(128,0,255), -1); - std::cout << "driven robot to trashbin" << std::endl; - // drive trash bin to trolley and back - double trash_bin_dist2 = 2. * planner.planPath(evaluation_data.floor_plan_, downsampled_map, trash_bin_sequence_in_this_room[t], trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map2); - path_length_robot += trash_bin_dist2; - path_length_trash_bins += trash_bin_dist1 + trash_bin_dist2; - std::cout << " room: " << room_index << "\ttrash bin: " << t << " at " << trash_bin_sequence_in_this_room[t] << "\ttraveling distance: " << (trash_bin_dist1 + trash_bin_dist2) * evaluation_data.map_resolution_ << " m" << std::endl; - screenoutput << " room: " << room_index << "\ttrash bin: " << t << " at " << trash_bin_sequence_in_this_room[t] << "\ttraveling distance: " << (trash_bin_dist1 + trash_bin_dist2) * evaluation_data.map_resolution_ << " m" << std::endl; - robot_position = trash_bin_sequence_in_this_room[t]; - // increase number of emptied trashbins by one - ++current_emptied_trashbins; - } - } - std::cout << " cleaned all rooms and trash bins in current clique" << std::endl; screenoutput << " cleaned all rooms and trash bins in current clique"; - } - // finally go back to trolley - path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - // and back to start position - path_length_trolley += planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, robot_start_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - - // evaluation - double path_length_robot_in_meter = path_length_robot * evaluation_data.map_resolution_; - double path_length_trolley_in_meter = path_length_trolley * evaluation_data.map_resolution_; - double path_length_total_in_meter = path_length_robot_in_meter + path_length_trolley_in_meter; - double path_length_trash_bins_in_meter = path_length_trash_bins * evaluation_data.map_resolution_; - double robot_speed_without_trolley = 0.3; // [m/s] - double robot_speed_with_trolley = 0.2; // [m/s] - double time_for_trashbin_manipulation = 150; // [s], without driving - double time_for_trolley_manipulation = 90; // [s], without driving - double time = path_length_robot_in_meter / robot_speed_without_trolley - + path_length_trolley_in_meter / robot_speed_with_trolley - + time_for_trashbin_manipulation * evaluation_data.trash_bin_locations_.size() - + time_for_trolley_manipulation * (result_seq->checkpoints.size()+1) - + switching_trolley_handling * time_for_trolley_manipulation; - - //get the runtimes for the segmentation and the sequence planner - double segmentation_time = (t1.tv_sec - t0.tv_sec) + (double) (t1.tv_nsec - t0.tv_nsec) * 1e-9; - double sequence_time = (t3.tv_sec - t2.tv_sec) + (double) (t3.tv_nsec - t2.tv_nsec) * 1e-9; - - // write log file - std::stringstream output; - // header - output << evaluation_configuration_vector[config].getConfigurationString(); - output << "robot_speed_without_trolley" << "\t" << "robot_speed_with_trolley" << "\t" << "time_for_trashbin_manipulation" << "\t" - << "time_for_trolley_manipulation" << "\t" << "number_of_trash_bins" << "\t" << "number_trolley_movements" << "\t" - << "path_length_robot_in_meter" << "\t" << "path_length_trolley_in_meter" << "\t" << "path_length_trash_bins_in_meter\t" - << "pathlength [m]" << "\t" - << "cleaning time [s]" << "\t" << "calculation time segmentation [s]" << "\t" << "calculation time sequencer [s]" << "\t" << std::endl; - output << robot_speed_without_trolley << "\t" << robot_speed_with_trolley << "\t" << time_for_trashbin_manipulation << "\t" << time_for_trolley_manipulation << "\t" - << evaluation_data.trash_bin_locations_.size() << "\t" - << (result_seq->checkpoints.size()+1) << "\t" << path_length_robot_in_meter << "\t" << path_length_trolley_in_meter << "\t" << path_length_trash_bins_in_meter << "\t" - << path_length_total_in_meter << "\t" - << time << "\t" << segmentation_time << "\t" << sequence_time; - output << "\n\n\n" << screenoutput.str() << std::endl; - - std::string log_filename = lower_path + evaluation_data.map_name_ + "_results.txt"; - std::ofstream file(log_filename.c_str(), std::ios::out); - if (file.is_open()==true) - file << output.str(); - else - ROS_ERROR("Error on writing file '%s'", log_filename.c_str()); - file.close(); - - // images: segmented_map, sequence_map - std::string segmented_map_filename = lower_path + evaluation_data.map_name_ + "_segmented.png"; - cv::Mat colour_segmented_map = segmented_map.clone(); - colour_segmented_map.convertTo(colour_segmented_map, CV_8U); - cv::cvtColor(colour_segmented_map, colour_segmented_map, CV_GRAY2BGR); - for(size_t i = 1; i <= result_seg->room_information_in_pixel.size(); ++i) - { - // choose random color for each room - int blue = (rand() % 250) + 1; - int green = (rand() % 250) + 1; - int red = (rand() % 250) + 1; - for(size_t u = 0; u < segmented_map.rows; ++u) - { - for(size_t v = 0; v < segmented_map.cols; ++v) - { - if(segmented_map.at(u,v) == i) - { - colour_segmented_map.at(u,v)[0] = blue; - colour_segmented_map.at(u,v)[1] = green; - colour_segmented_map.at(u,v)[2] = red; - } - } - } - } - // draw the room centers into the map - for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) - { - cv::Point current_center (result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); -#if CV_MAJOR_VERSION<=3 - cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), CV_FILLED); -#else - cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), cv::FILLED); -#endif - } - // color image in unique colour to show the segmentation - if (cv::imwrite(segmented_map_filename.c_str(), colour_segmented_map) == false) - ROS_ERROR("Error on writing file '%s'", segmented_map_filename.c_str()); - - std::string sequence_map_filename = lower_path + evaluation_data.map_name_ + "_sequence.png"; - cv_bridge::CvImagePtr cv_ptr_seq; - cv_ptr_seq = cv_bridge::toCvCopy(result_seq->sequence_map, sensor_msgs::image_encodings::BGR8); - cv::Mat sequence_map = cv_ptr_seq->image; - // draw in trash bins - for (size_t i=0; i& evaluation_configuration_vector, const EvaluationData& evaluation_data, const std::string& data_storage_path) - { - // go through each configuration for the given map - for(size_t config = 0; config < evaluation_configuration_vector.size(); ++config) - { - // prepare folders for storing results - const std::string upper_folder_name = evaluation_configuration_vector[config].generateUpperConfigurationFolderString() + "/"; - const std::string path = data_storage_path + upper_folder_name; - const std::string upper_command = "mkdir -p " + path; - int return_value = system(upper_command.c_str()); - - const std::string lower_folder_name = evaluation_configuration_vector[config].generateLowerConfigurationFolderString() + "/"; - const std::string lower_path = path + lower_folder_name; - const std::string lower_command = "mkdir -p " + lower_path; - return_value = system(lower_command.c_str()); - - std::cout << "\nCurrent Configuration:" << std::endl << "map: " << evaluation_data.map_name_ << "\tsegmentation algorithm: " - << evaluation_configuration_vector[config].room_segmentation_algorithm_ - << "\tplanning method: " << evaluation_configuration_vector[config].sequence_planning_method_ - << "\tTSP solver: " << evaluation_configuration_vector[config].tsp_solver_ - << "\tmaximal clique length: " << evaluation_configuration_vector[config].max_clique_path_length_ << std::endl; - - DynamicReconfigureClient drc(node_handle_, "/room_sequence_planning/room_sequence_planning_server/set_parameters", "/room_sequence_planning/room_sequence_planning_server/parameter_updates"); - drc.setConfig("maximum_clique_size", 10); - - AStarPlanner planner; - //variables for time measurement - struct timespec t0, t1, t2, t3; - - // 1. retrieve segmentation and check if the map has already been segmented - ipa_building_msgs::MapSegmentationResultConstPtr result_seg; - clock_gettime(CLOCK_MONOTONIC, &t0); //set time stamp before the segmentation - if(evaluation_configuration_vector[config].room_segmentation_algorithm_ == 1) - { - if(segmented_morph == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_morph, t0) == false) - return false; - segmented_morph = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_morph; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 2) - { - if(segmented_dist == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_dist, t0) == false) - return false; - segmented_dist = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_dist; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 3) - { - if(segmented_vor == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vor, t0) == false) - return false; - segmented_vor = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_vor; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 4) - { - if(segmented_semant == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_semant, t0) == false) - return false; - segmented_semant = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_semant; - } - else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 5) - { - if(segmented_vrf == false) - { - if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vrf, t0) == false) - return false; - segmented_vrf = true; - } - else - std::cout << "map has already been segmented" << std::endl; - result_seg = result_seg_vrf; - } - clock_gettime(CLOCK_MONOTONIC, &t1); //set time stamp after the segmentation - std::cout << "Segmentation computed " << result_seg->room_information_in_pixel.size() << " rooms." << std::endl; - - //check for accessibility of the room centers from start position - cv::Mat downsampled_map; - Timer tim; - planner.downsampleMap(evaluation_data.floor_plan_, downsampled_map, evaluation_data.map_downsampling_factor_, evaluation_data.robot_radius_, evaluation_data.map_resolution_); - std::cout << "downsampling map: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; - cv::Point robot_start_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, - (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); - - // get the reachable room centers as cv::Point - tim.start(); - std::vector room_centers; - for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) - { - cv::Point current_center(result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); - double length = planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_start_position, current_center, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_); - if(length < 1e9) - room_centers.push_back(current_center); - else - std::cout << "room " << i << " not accessible, center: " << current_center << std::endl; - } - std::cout << "room centers computed: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; - - if(room_centers.size() == 0) //no room center is reachable for the given start position --> needs to be looked at separately - { - std::cout << "++++++++++ no roomcenter reachable from given startposition ++++++++++++" << std::endl; - return false; - } - - // 2. solve sequence problem - std::cout << "Starting to solve sequence problem." << std::endl; - tim.start(); - ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_seq; - clock_gettime(CLOCK_MONOTONIC, &t2); //set time stamp before the sequence planning - if (computeRoomSequence(evaluation_data, evaluation_configuration_vector[config], evaluation_data.trash_bin_locations_, result_seq, t2) == false) - { - std::cout << "++++++++++ computeRoomSequence failed ++++++++++++" << std::endl; - return false; - } - std::cout << "sequence problem solved: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; - clock_gettime(CLOCK_MONOTONIC, &t3); //set time stamp after the sequence planning - - // converting the map msg in cv format - cv_bridge::CvImagePtr cv_ptr_obj; - cv_ptr_obj = cv_bridge::toCvCopy(result_seg->segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); - cv::Mat segmented_map = cv_ptr_obj->image; - - // 3. find rooms that belonging to a trolley position - std::vector assigned_rooms; - std::vector > rooms_for_trolley_position(result_seq->checkpoints.size()); - - for(size_t checkpoint = 0; checkpoint < result_seq->checkpoints.size(); ++checkpoint) - { - std::vector current_trashbins = result_seq->checkpoints[checkpoint].room_indices; - - for(size_t trash = 0; trash < current_trashbins.size(); ++trash) - { - int current_room_index = segmented_map.at(evaluation_data.trash_bin_locations_[current_trashbins[trash]]); - - // find romm center that is assigned with this room index - int room_vector_index = -1; - for(size_t room = 0; room < room_centers.size(); ++room) - { - if (segmented_map.at(room_centers[room]) == current_room_index) - { - room_vector_index = room; - break; - } - } - - // only save room centers that are reachable and haven't been saved yet - if(room_vector_index != -1) - { - if(contains(rooms_for_trolley_position[checkpoint], room_centers[room_vector_index]) == false) - rooms_for_trolley_position[checkpoint].push_back(room_centers[room_vector_index]); - - // save room as assigned, segmented map starts with index 1 for rooms - if(contains(assigned_rooms, current_room_index) == false) - assigned_rooms.push_back(current_room_index); - } - } - } - - // 4. check if a room has no trashbins in it, if so it hasn't been assigned to a trolley position yet and needs - // to be assigned now - for(size_t room = 0; room < room_centers.size(); ++room) - { - int current_room_index = segmented_map.at(room_centers[room]); - - if(contains(assigned_rooms, current_room_index) == false) - { - // find the trolley which is nearest to this center and assign the room to this trolley position - double smallest_distance = 1e6; - size_t trolley_index = 0; - for(size_t checkpoint = 0; checkpoint < result_seq->checkpoints.size(); ++checkpoint) - { - cv::Point trolley_position = cv::Point(result_seq->checkpoints[checkpoint].checkpoint_position_in_pixel.x, result_seq->checkpoints[checkpoint].checkpoint_position_in_pixel.y); - double current_distance = planner.planPath(evaluation_data.floor_plan_, downsampled_map, room_centers[room], trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_);; - - if(current_distance < smallest_distance) - { - smallest_distance = current_distance; - trolley_index = checkpoint; - } - } - - // assign the room to the trolley - rooms_for_trolley_position[trolley_index].push_back(room_centers[room]); - } - } - - // 5. do the movements - drc.setConfig("maximum_clique_size", 9001); - cv::Mat draw_path_map, draw_path_map2; - cv::cvtColor(evaluation_data.floor_plan_, draw_path_map, CV_GRAY2BGR); - draw_path_map2 = draw_path_map.clone(); - double path_length_robot = 0.; - double path_length_trolley = 0.; - double path_length_trash_bins = 0.; - // const double max_clique_path_length_in_pixel = evaluation_configuration.max_clique_path_length_ / evaluation_data.map_resolution_; - cv::Point robot_position = robot_start_position; - cv::Point trolley_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, - (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); - cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,0,255), -1); - - std::stringstream screenoutput; - std::vector done_rooms; - for (size_t clique_index = 0; clique_indexcheckpoints.size(); ++clique_index) - { - std::cout << "cleaning new clique" << std::endl; screenoutput << "cleaning new clique" << std::endl; - // mark new trolley position to empty the trashbins - trolley_position = cv::Point(result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.x, result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.y); - cv::circle(draw_path_map, trolley_position, 3, CV_RGB(0,0,255), -1); - // compute optimal room visiting order - std::vector current_room_order; - ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_room_seq; - if(computeTrashBinSequence(evaluation_data, evaluation_configuration_vector[config], rooms_for_trolley_position[clique_index], robot_position, result_room_seq) == true) - { - for (size_t cc=0; cccheckpoints.size(); ++cc) - for (size_t tt = 0; tt < result_room_seq->checkpoints[cc].room_indices.size(); ++tt) - current_room_order.push_back(rooms_for_trolley_position[clique_index][result_room_seq->checkpoints[cc].room_indices[tt]]); - - } - - - // move robot to rooms if they haven't been cleaned yet - for(size_t room = 0; room < current_room_order.size(); ++room) - { - cv::Point current_roomcenter = current_room_order[room]; - - // find room that contains this trashbin - int room_index = segmented_map.at(current_roomcenter); - std::cout << "room index: " << room_index << std::endl; - - // check if room has been visited already, if so only empty trashbins in this room - if(contains(done_rooms, room_index) == false) - { - // room has not been cleaned yet - path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, current_roomcenter, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - robot_position = current_roomcenter; - cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); - - // mark room as cleaned - done_rooms.push_back(room_index); - } - - // find trashbins in the current room that belong to the current trolley checkpoint - // note: when iterating from the start of the optimal trashbin sequence of one trolleyposition the - // order of the trashbins after this asignment should be optimal - std::vector trashbins_for_room; - for(size_t trash = 0; trash < result_seq->checkpoints[clique_index].room_indices.size(); ++trash) - { - cv::Point trashbin = evaluation_data.trash_bin_locations_[result_seq->checkpoints[clique_index].room_indices[trash]]; - if(room_index == segmented_map.at(trashbin)) - { - // empty trashbin if it belongs to this room -// trashbins_for_room.push_back(trashbin); - path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trashbin, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - path_length_trash_bins += 2.0 * planner.planPath(evaluation_data.floor_plan_, downsampled_map, trashbin, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - robot_position = trashbin; - cv::circle(draw_path_map, trashbin, 2, CV_RGB(128,0,255), -1); - } - } - } - std::cout << " cleaned all rooms and trash bins in current clique" << std::endl; screenoutput << " cleaned all rooms and trash bins in current clique"; - } - // finally go back to start position - path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, robot_start_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); - - // evaluation - double path_length_robot_in_meter = path_length_robot * evaluation_data.map_resolution_; - double path_length_trolley_in_meter = path_length_trolley * evaluation_data.map_resolution_; - double path_length_total_in_meter = path_length_robot_in_meter; - double path_length_trash_bins_in_meter = path_length_trash_bins * evaluation_data.map_resolution_; - double robot_speed_without_trolley = 0.3; // [m/s] - double robot_speed_with_trolley = 0.2; // [m/s] - double time_for_trashbin_manipulation = 150; // [s], without driving - double time_for_trolley_manipulation = 90; // [s], without driving - double time = path_length_robot_in_meter / robot_speed_without_trolley - + time_for_trashbin_manipulation * evaluation_data.trash_bin_locations_.size(); - - //get the runtimes for the segmentation and the sequence planner - double segmentation_time = (t1.tv_sec - t0.tv_sec) + (double) (t1.tv_nsec - t0.tv_nsec) * 1e-9; - double sequence_time = (t3.tv_sec - t2.tv_sec) + (double) (t3.tv_nsec - t2.tv_nsec) * 1e-9; - - // write log file - std::stringstream output; - // header - output << evaluation_configuration_vector[config].getConfigurationString(); - output << "robot_speed_without_trolley" << "\t" << "robot_speed_with_trolley" << "\t" << "time_for_trashbin_manipulation" << "\t" - << "time_for_trolley_manipulation" << "\t" << "number_of_trash_bins" << "\t" << "number_trolley_movements" << "\t" - << "path_length_robot_in_meter" << "\t" << "path_length_trolley_in_meter" << "\t" << "path_length_trash_bins_in_meter\t" - << "pathlength [m]" << "\t" - << "cleaning time [s]" << "\t" << "calculation time segmentation [s]" << "\t" << "calculation time sequencer [s]" << "\t" << std::endl; - output << robot_speed_without_trolley << "\t" << robot_speed_with_trolley << "\t" << time_for_trashbin_manipulation << "\t" << time_for_trolley_manipulation << "\t" - << evaluation_data.trash_bin_locations_.size() << "\t" - << 0 << "\t" << path_length_robot_in_meter << "\t" << path_length_trolley_in_meter << "\t" << path_length_trash_bins_in_meter << "\t" - << path_length_total_in_meter << "\t" - << time << "\t" << segmentation_time << "\t" << sequence_time; - output << "\n\n\n" << screenoutput.str() << std::endl; - - std::string log_filename = lower_path + evaluation_data.map_name_ + "_results.txt"; - std::ofstream file(log_filename.c_str(), std::ios::out); - if (file.is_open()==true) - file << output.str(); - else - ROS_ERROR("Error on writing file '%s'", log_filename.c_str()); - file.close(); - - // compute travel distance for humans and save them - double travel_distance_human = 0.0; - for(size_t pos = 0; pos < result_seq->checkpoints.size(); ++pos) - { - cv::Point trolley_placing_position = cv::Point(result_seq->checkpoints[pos].checkpoint_position_in_pixel.x, result_seq->checkpoints[pos].checkpoint_position_in_pixel.y); - travel_distance_human += 2.0 * planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_placing_position, robot_start_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1); - } - travel_distance_human = travel_distance_human * evaluation_data.map_resolution_; - std::string storage_path_human = data_storage_path + "human_way/" + upper_folder_name + evaluation_configuration_vector[config].generateLowerConfigurationFolderString() + "/"; - const std::string upper_human_command = "mkdir -p " + storage_path_human; - return_value = system(upper_human_command.c_str()); - storage_path_human = storage_path_human + evaluation_data.map_name_ + "_human.txt"; - std::stringstream human_distance_output; - human_distance_output << "dist to place all trolleys [m]: " << std::endl << travel_distance_human; - std::ofstream human_file(storage_path_human.c_str(), std::ios::out); - if (human_file.is_open()==true) - human_file << human_distance_output.str(); - else - ROS_ERROR("Error on writing file '%s'", storage_path_human.c_str()); - human_file.close(); - - // images: segmented_map, sequence_map - std::string segmented_map_filename = lower_path + evaluation_data.map_name_ + "_segmented.png"; - cv::Mat colour_segmented_map = segmented_map.clone(); - colour_segmented_map.convertTo(colour_segmented_map, CV_8U); - cv::cvtColor(colour_segmented_map, colour_segmented_map, CV_GRAY2BGR); - for(size_t i = 1; i <= result_seg->room_information_in_pixel.size(); ++i) - { - // choose random color for each room - int blue = (rand() % 250) + 1; - int green = (rand() % 250) + 1; - int red = (rand() % 250) + 1; - for(size_t u = 0; u < segmented_map.rows; ++u) - { - for(size_t v = 0; v < segmented_map.cols; ++v) - { - if(segmented_map.at(u,v) == i) - { - colour_segmented_map.at(u,v)[0] = blue; - colour_segmented_map.at(u,v)[1] = green; - colour_segmented_map.at(u,v)[2] = red; - } - } - } - } - // draw the room centers into the map - for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) - { - cv::Point current_center (result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); -#if CV_MAJOR_VERSION<=3 - cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), CV_FILLED); -#else - cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), cv::FILLED); -#endif - } - // color image in unique colour to show the segmentation - if (cv::imwrite(segmented_map_filename.c_str(), colour_segmented_map) == false) - ROS_ERROR("Error on writing file '%s'", segmented_map_filename.c_str()); - - std::string sequence_map_filename = lower_path + evaluation_data.map_name_ + "_sequence.png"; - cv_bridge::CvImagePtr cv_ptr_seq; - cv_ptr_seq = cv_bridge::toCvCopy(result_seq->sequence_map, sensor_msgs::image_encodings::BGR8); - cv::Mat sequence_map = cv_ptr_seq->image; - // draw in trash bins - for (size_t i=0; i ac_seg("/room_segmentation/room_segmentation_server", true); - ROS_INFO("Waiting for action server '/room_segmentation/room_segmentation_server' to start."); - ac_seg.waitForServer(ros::Duration(60)); // wait for the action server to start, will wait for infinite time - std::cout << "Action server started, sending goal_seg." << std::endl; - ros::Duration s(0.5); - s.sleep(); - - // send dynamic reconfigure config - ROS_INFO("Trying to connect to dynamic reconfigure server."); - DynamicReconfigureClient drc(node_handle_, "/room_segmentation/room_segmentation_server/set_parameters", "/room_segmentation/room_segmentation_server/parameter_updates"); - ROS_INFO("Done connecting to the dynamic reconfigure server."); - const int room_segmentation_algorithm = evaluation_configuration.room_segmentation_algorithm_; - drc.setConfig("room_segmentation_algorithm", room_segmentation_algorithm); - if(room_segmentation_algorithm == 1) //morpho - { - drc.setConfig("room_area_factor_lower_limit_morphological", 0.8); - drc.setConfig("room_area_factor_upper_limit_morphological", 47.0); - ROS_INFO("You have chosen the morphological segmentation."); - } - if(room_segmentation_algorithm == 2) //distance - { - drc.setConfig("room_area_factor_lower_limit_distance", 0.35); - drc.setConfig("room_area_factor_upper_limit_distance", 163.0); - ROS_INFO("You have chosen the distance segmentation."); - } - if(room_segmentation_algorithm == 3) //voronoi - { - drc.setConfig("room_area_factor_lower_limit_voronoi", 0.1); //1.53; - drc.setConfig("room_area_factor_upper_limit_voronoi", 1000000.); //120.0; - drc.setConfig("voronoi_neighborhood_index", 280); - drc.setConfig("max_iterations", 150); - drc.setConfig("min_critical_point_distance_factor", 0.5); //1.6; - drc.setConfig("max_area_for_merging", 12.5); - ROS_INFO("You have chosen the Voronoi segmentation"); - } - if(room_segmentation_algorithm == 4) //semantic - { - drc.setConfig("room_area_factor_lower_limit_semantic", 1.0); - drc.setConfig("room_area_factor_upper_limit_semantic", 1000000.);//23.0; - ROS_INFO("You have chosen the semantic segmentation."); - } - if(room_segmentation_algorithm == 5) //voronoi random field - { - drc.setConfig("room_area_lower_limit_voronoi_random", 1.53); //1.53 - drc.setConfig("room_area_upper_limit_voronoi_random", 1000000.); //1000000.0 - drc.setConfig("max_iterations", 150); - drc.setConfig("voronoi_random_field_epsilon_for_neighborhood", 7); - drc.setConfig("min_neighborhood_size", 5); - drc.setConfig("min_voronoi_random_field_node_distance", 7.0); // [pixel] - drc.setConfig("max_voronoi_random_field_inference_iterations", 9000); - drc.setConfig("max_area_for_merging", 12.5); - ROS_INFO("You have chosen the Voronoi random field segmentation."); - } - drc.setConfig("display_segmented_map", false); - - // send a goal to the action - ipa_building_msgs::MapSegmentationGoal goal_seg; - goal_seg.input_map = map_msg; - goal_seg.map_origin = evaluation_data.map_origin_; - goal_seg.map_resolution = evaluation_data.map_resolution_; - goal_seg.return_format_in_meter = false; - goal_seg.return_format_in_pixel = true; - //goal_seg.room_segmentation_algorithm = evaluation_configuration.room_segmentation_algorithm_; - goal_seg.robot_radius = evaluation_data.robot_radius_; - ac_seg.sendGoal(goal_seg); - - //wait for the action to return - bool finished_before_timeout = ac_seg.waitForResult(ros::Duration(600.0 + loopcounter * 100.0)); - if (finished_before_timeout == false) //if it takes too long the server should be killed and restarted - { - std::cout << "action server took too long" << std::endl; - std::string pid_cmd = "pidof room_segmentation_server > room_sequence_planning/seg_srv_pid.txt"; - int pid_result = system(pid_cmd.c_str()); - std::ifstream pid_reader("room_sequence_planning/seg_srv_pid.txt"); - int value; - std::string line; - if (pid_reader.is_open()) - { - while (getline(pid_reader, line)) - { - std::istringstream iss(line); - while (iss >> value) - { - std::cout << "PID of room_segmentation_server: " << value << std::endl; - std::stringstream ss; - ss << "kill " << value; - std::string kill_cmd = ss.str(); - int kill_result = system(kill_cmd.c_str()); - std::cout << "kill result: " << kill_result << std::endl; - } - } - pid_reader.close(); - remove("room_sequence_planning/seg_srv_pid.txt"); - } - else - { - std::cout << "missing logfile" << std::endl; - } - } - else // segmentation finished while given time --> return result - { - result_seg = ac_seg.getResult(); - segmented = true; - std::cout << "Finished segmentation successfully!" << std::endl; - } - ++loopcounter; //enlarge the loop counter so the client will wait longer for the server to start - }while(segmented == false && loopcounter <= 6); - - if(loopcounter > 6) - return false; - - return true; - } - - bool computeTrashBinSequence(const EvaluationData& evaluation_data, const EvaluationConfig& evaluation_configuration, - const std::vector& reachable_roomcenters, const cv::Point& robot_start_position, - ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr& result_seq) - { - bool planned = false; - - sensor_msgs::Image map_msg; - cv_bridge::CvImage cv_image; - cv_image.encoding = "mono8"; - cv_image.image = evaluation_data.floor_plan_; - cv_image.toImageMsg(map_msg); - - actionlib::SimpleActionClient ac_seq("/room_sequence_planning/room_sequence_planning_server", true); - ROS_INFO("Waiting for action server '/room_sequence_planning/room_sequence_planning_server' to start."); - // wait for the action server to start - ac_seq.waitForServer(ros::Duration(3.0)); //will wait for infinite time - ROS_INFO("Action server for trashbin sequence planning found."); - ros::Duration s(0.5); - s.sleep(); - - //put the vector format in the msg format - std::vector roomcenters_for_sequence_planning(reachable_roomcenters.size()); - for(size_t room = 0; room < reachable_roomcenters.size(); ++room) - { - roomcenters_for_sequence_planning[room].room_center.x = reachable_roomcenters[room].x; - roomcenters_for_sequence_planning[room].room_center.y = reachable_roomcenters[room].y; - } - - // set algorithm parameters - ROS_INFO("Trying to connect to dynamic reconfigure server."); - DynamicReconfigureClient drc(node_handle_, "/room_sequence_planning/room_sequence_planning_server/set_parameters", "/room_sequence_planning/room_sequence_planning_server/parameter_updates"); - ROS_INFO("Done connecting to the dynamic reconfigure server."); - drc.setConfig("max_clique_path_length", 1e9); - drc.setConfig("map_downsampling_factor", evaluation_data.map_downsampling_factor_); - drc.setConfig("planning_method", 1); - drc.setConfig("tsp_solver", evaluation_configuration.tsp_solver_); - drc.setConfig("return_sequence_map", false); - drc.setConfig("check_accessibility_of_rooms", false); - -// std::cout << "Action server started, sending goal_seq." << std::endl; - // send a goal_seg to the action - ipa_building_msgs::FindRoomSequenceWithCheckpointsGoal goal_seq; - goal_seq.input_map = map_msg; - goal_seq.map_resolution = evaluation_data.map_resolution_; - goal_seq.map_origin = evaluation_data.map_origin_; - goal_seq.room_information_in_pixel = roomcenters_for_sequence_planning; - goal_seq.robot_radius = 0.; - goal_seq.robot_start_coordinate.position.x = robot_start_position.x*evaluation_data.map_resolution_ + evaluation_data.map_origin_.position.x; - goal_seq.robot_start_coordinate.position.y = robot_start_position.y*evaluation_data.map_resolution_ + evaluation_data.map_origin_.position.y; - ac_seq.sendGoal(goal_seq); - - //wait for the action to return - bool finished_before_timeout = ac_seq.waitForResult(ros::Duration(30.0 )); - if (finished_before_timeout == true) //if it takes too long the server should be killed and restarted - { - result_seq = ac_seq.getResult(); -// std::cout << "Finished trash bin sequence planning successfully!" << std::endl; - planned = true; - } - - return planned; - } - - bool computeRoomSequence(const EvaluationData& evaluation_data, const EvaluationConfig& evaluation_configuration, - const std::vector& reachable_roomcenters, - ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr& result_seq, struct timespec& t2) - { - bool planned = false; - int loopcounter = 0; - do - { - clock_gettime(CLOCK_MONOTONIC, &t2); - sensor_msgs::Image map_msg; - cv_bridge::CvImage cv_image; - cv_image.encoding = "mono8"; - cv_image.image = evaluation_data.floor_plan_; - cv_image.toImageMsg(map_msg); - - actionlib::SimpleActionClient ac_seq("/room_sequence_planning/room_sequence_planning_server", true); - ROS_INFO("Waiting for action server '/room_sequence_planning/room_sequence_planning_server' to start."); - // wait for the action server to start - ac_seq.waitForServer(ros::Duration(60)); //will wait for infinite time - ros::Duration s(0.5); - s.sleep(); - - //put the vector format in the msg format - std::vector roomcenters_for_sequence_planning(reachable_roomcenters.size()); - for(size_t room = 0; room < reachable_roomcenters.size(); ++room) - { - roomcenters_for_sequence_planning[room].room_center.x = reachable_roomcenters[room].x; - roomcenters_for_sequence_planning[room].room_center.y = reachable_roomcenters[room].y; - } - - // set algorithm parameters - ROS_INFO("Trying to connect to dynamic reconfigure server."); - DynamicReconfigureClient drc(node_handle_, "/room_sequence_planning/room_sequence_planning_server/set_parameters", "/room_sequence_planning/room_sequence_planning_server/parameter_updates"); - ROS_INFO("Done conencting to the dynamic reconfigure server."); - drc.setConfig("max_clique_path_length", evaluation_configuration.max_clique_path_length_); - drc.setConfig("map_downsampling_factor", evaluation_data.map_downsampling_factor_); - drc.setConfig("planning_method", evaluation_configuration.sequence_planning_method_); - drc.setConfig("tsp_solver", evaluation_configuration.tsp_solver_); - drc.setConfig("return_sequence_map", true); - drc.setConfig("check_accessibility_of_rooms", false); - - std::cout << "Action server started, sending goal_seq." << std::endl; - // send a goal_seg to the action - ipa_building_msgs::FindRoomSequenceWithCheckpointsGoal goal_seq; - goal_seq.input_map = map_msg; - goal_seq.map_resolution = evaluation_data.map_resolution_; - goal_seq.map_origin = evaluation_data.map_origin_; - goal_seq.room_information_in_pixel = roomcenters_for_sequence_planning; - goal_seq.robot_radius = robot_radius_; - goal_seq.robot_start_coordinate = evaluation_data.robot_start_position_; - ac_seq.sendGoal(goal_seq); - - //wait for the action to return - bool finished_before_timeout = ac_seq.waitForResult(ros::Duration(2400.0 + 200 * loopcounter)); - if (finished_before_timeout == false) //if it takes too long the server should be killed and restarted - { - std::cout << "action server took too long" << std::endl; - std::string pid_cmd = "pidof room_sequence_planning_server > room_sequence_planning/seq_srv_pid.txt"; - int pid_result = system(pid_cmd.c_str()); - std::ifstream pid_reader("room_sequence_planning/seq_srv_pid.txt"); - int value; - std::string line; - if (pid_reader.is_open()) - { - while (getline(pid_reader, line)) - { - std::istringstream iss(line); - while (iss >> value) - { - std::cout << "PID of room_sequence_planning_server: " << value << std::endl; - std::stringstream ss; - ss << "kill " << value; - std::string kill_cmd = ss.str(); - int kill_result = system(kill_cmd.c_str()); - std::cout << "kill result: " << kill_result << std::endl; - } - } - pid_reader.close(); - remove("room_sequence_planning/seq_srv_pid.txt"); - } - else - { - std::cout << "missing logfile" << std::endl; - } - } - else - { - result_seq = ac_seq.getResult(); - std::cout << "Finished sequence planning successfully!" << std::endl; - planned = true; - } - ++loopcounter; - }while(planned == false && loopcounter <= 6); - - if(loopcounter > 6) - return false; - - return true; - } - - -private: - - ros::NodeHandle node_handle_; - - std::vector< EvaluationData > evaluation_data_; - - const double robot_radius_; -}; - - - -int main(int argc, char **argv) -{ - ros::init(argc, argv, "room_sequence_planning_client"); - ros::NodeHandle nh; - - const std::string test_map_path = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/"; - const std::string data_storage_path = "room_sequence_planning/"; - Evaluation ev(nh, test_map_path, data_storage_path, 0.3); - ros::shutdown(); - - //exit - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/tester.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/tester.cpp deleted file mode 100644 index 86ce050..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/tester.cpp +++ /dev/null @@ -1,215 +0,0 @@ -#include "ros/ros.h" -#include - -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include - -#include - -int main(int argc, char **argv) -{ - srand(5); //time(NULL)); - ros::init(argc, argv, "a_star_tester"); - ros::NodeHandle nh; - - cv::Mat map = cv::imread("/home/rmb-fj/Pictures/maps/black_map.png", 0); - - AStarPlanner planner; - NearestNeighborTSPSolver TSPsolver; - GeneticTSPSolver genTSPsolver; - ConcordeTSPSolver conTSPsolver; - - cliqueFinder finder; //Object to find all maximal cliques for the given map - - SetCoverSolver setsolver; //Object to find the groups based on the found cliques - - TrolleyPositionFinder tolley_finder; - - std::vector < cv::Point > centers; - - int n = 9; - double downfactor = 0.25; - double map_resolution_factor = 0.05; - double robot_radius_test = 0.5; - - cv::Mat pathlengths(cv::Size(n, n), CV_64F); - cv::Mat distancematrix; -// cv::Mat eroded_map; -// -// cv::erode(map, eroded_map, cv::Mat(), cv::Point(-1, -1), 4); - - //Testcenters: -// x: 494 y: 535 -// x: 218 y: 176 -// x: 152 y: 148 -// x: 475 y: 417 -// x: 342 y: 333 -// x: 283 y: 205 -// x: 149 y: 229 -// x: 201 y: 456 -// x: 286 y: 125 - -// for (int i = 0; i < n; i++) //add Points for TSP to test the solvers -// { -// bool done = false; -// do -// { -// int x = rand() % map.cols; -// int y = rand() % map.rows; -// if (eroded_map.at(y, x) == 255) -// { -// centers.push_back(cv::Point(x, y)); -// done = true; -// } -// } while (!done); -// } - - centers.push_back(cv::Point(494, 535)); - centers.push_back(cv::Point(218, 176)); - centers.push_back(cv::Point(152, 148)); - centers.push_back(cv::Point(475, 417)); - centers.push_back(cv::Point(342, 333)); - centers.push_back(cv::Point(283, 205)); - centers.push_back(cv::Point(149, 229)); - centers.push_back(cv::Point(201, 456)); - centers.push_back(cv::Point(286, 125)); - - std::vector nearest_neighbor_order = genTSPsolver.solveGeneticTSP(map, n, centers, downfactor, robot_radius_test, map_resolution_factor, 0); - - std::cout << "without distance matrix:" << std::endl; - for (int i = 0; i < nearest_neighbor_order.size(); i++) - { - std::cout << nearest_neighbor_order[i] << std::endl; - } - std::cout << std::endl; - - nearest_neighbor_order = genTSPsolver.solveGeneticTSP(map, n, centers, downfactor, robot_radius_test, map_resolution_factor, 0, distancematrix); - - std::cout << "without distance matrix, returned:" << std::endl; - for (int i = 0; i < nearest_neighbor_order.size(); i++) - { - std::cout << nearest_neighbor_order[i] << std::endl; - } - std::cout << std::endl; - - std::cout << "distance matrix out of solver: " << std::endl; - for (int row = 0; row < distancematrix.rows; row++) - { - for (int col = 0; col < distancematrix.cols; col++) - { - std::cout << distancematrix.at(row, col) << " "; - } - std::cout << std::endl; - } - std::cout << std::endl; - -// cv::Mat testermap = map.clone(); -// - for (int i = 0; i < centers.size(); i++) - { - cv::Point center = centers[i]; - for (int p = 0; p < centers.size(); p++) - { - if (p != i) - { - if (p > i) //only compute upper right triangle of matrix, rest is symmetrically added - { - double length = planner.planPath(map, center, centers[p], downfactor, robot_radius_test, map_resolution_factor); - pathlengths.at(i, p) = length; - pathlengths.at(p, i) = length; //symmetrical-Matrix --> saves half the computationtime - } - } - else - { - pathlengths.at(i, p) = 0; - } - } - } - - nearest_neighbor_order = genTSPsolver.solveGeneticTSP(pathlengths, 0); - - std::cout << "with distance matrix:" << std::endl; - for (int i = 0; i < nearest_neighbor_order.size(); i++) - { - std::cout << nearest_neighbor_order[i] << std::endl; - } - std::cout << std::endl; - - std::cout << "distance matrix out of main: " << std::endl; - for (int row = 0; row < pathlengths.rows; row++) - { - for (int col = 0; col < pathlengths.cols; col++) - { - std::cout << pathlengths.at(row, col) << " "; - } - std::cout << std::endl; - } - std::cout << std::endl; - - std::vector < std::vector > cliques = finder.getCliques(pathlengths, 150.0); -// std::cout << "All maximum cliques in the graph:" << std::endl; -// -// for (int i = 0; i < cliques.size(); i++) -// { -// for (int j = 0; j < cliques[i].size(); j++) -// { -// std::cout << cliques[i][j] << std::endl; -// } -// std::cout << std::endl; -// } -// - ROS_INFO("Starting to solve the setcover problem."); - - std::vector > groups = setsolver.solveSetCover(cliques, n); - std::vector > new_groups = setsolver.solveSetCover(map, n, centers, downfactor, robot_radius_test, map_resolution_factor, 150.0); - - ROS_INFO("Starting to find the trolley positions."); - - std::vector trolley_positions = tolley_finder.findTrolleyPositions(map, groups, centers, downfactor, robot_radius_test, map_resolution_factor); - std::vector new_trolleys = tolley_finder.findTrolleyPositions(map, new_groups, centers, downfactor, robot_radius_test, map_resolution_factor); - - std::cout << "groups from new method" << std::endl; - - for(int i = 0; i < new_groups.size(); i++) - { - for(int j = 0; j < new_groups[i].size(); j++) - { - std::cout << new_groups[i][j] << std::endl; - } - std::cout << "group done. trolley position: " << new_trolleys[i] << std::endl << std::endl; - } - - std::cout << "groups from old method" << std::endl; - - for(int i = 0; i < groups.size(); i++) - { - for(int j = 0; j < groups[i].size(); j++) - { - std::cout << groups[i][j] << std::endl; - } - std::cout << "group done. trolley position: " << trolley_positions[i] << std::endl; - } -// -// cv::imwrite("/home/rmb-fj/Pictures/TSP/genetic.png", testermap); - - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_action_client.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_action_client.launch deleted file mode 100644 index c5e8b1b..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_action_client.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_evaluation.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_evaluation.launch deleted file mode 100644 index 9788e89..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_evaluation.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/CMakeLists.txt b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/CMakeLists.txt deleted file mode 100644 index 28f230f..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/CMakeLists.txt +++ /dev/null @@ -1,4 +0,0 @@ -cmake_minimum_required(VERSION 2.8.3) -project(ipa_coverage_planning) -find_package(catkin REQUIRED) -catkin_metapackage() diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/package.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/package.xml deleted file mode 100644 index c9a3077..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/package.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - ipa_coverage_planning - 0.1.0 - This meta-package includes open source software for efficient coverage (cleaning, inspection, ...) of buildings. - LGPL for academic and non-commercial use; for commercial use, please contact Fraunhofer IPA - - - Florian Jordan - Richard Bormann - - catkin - - ipa_building_msgs - ipa_building_navigation - ipa_room_exploration - ipa_room_segmentation - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CHANGELOG.rst b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CHANGELOG.rst deleted file mode 100644 index 2bcc44d..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CHANGELOG.rst +++ /dev/null @@ -1,15 +0,0 @@ -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -Changelog for package ipa_room_exploration -^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -0.1.2 (2017-02-13) ------------------- -* rotation of the map in flowNetworkExplorator -* Contributors: Florian Jordan -0.1.1 (2017-02-10) ------------------- -* excluded coverage check to standalone service server -* Contributors: Florian Jordan -0.1.0 (2017-02-09) ------------------- -* first completely working version of package -* Contributors: Florian Jordan, Richard Bormann diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CMakeLists.txt b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CMakeLists.txt deleted file mode 100644 index 5b455d5..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CMakeLists.txt +++ /dev/null @@ -1,320 +0,0 @@ -cmake_minimum_required(VERSION 2.8.3) -project(ipa_room_exploration) - -# build with c++11 -add_compile_options(-std=c++11) - -set(catkin_RUN_PACKAGES - angles - cob_map_accessibility_analysis - cv_bridge - eigen_conversions - geometry_msgs - ipa_building_msgs - ipa_building_navigation - laser_geometry - move_base_msgs - nav_msgs - roscpp - roslib - sensor_msgs - std_msgs - std_srvs - tf - visualization_msgs - # message_generation - # message_runtime -) - -set(catkin_BUILD_PACKAGES - ${catkin_RUN_PACKAGES} - dynamic_reconfigure -) -## Find catkin macros and libraries -find_package(catkin REQUIRED COMPONENTS - ${catkin_BUILD_PACKAGES} -) -# add_message_files( -# FILES -# dis_info.msg -# dis_info_array.msg -# ) - -# generate_messages( -# DEPENDENCIES -# std_msgs -# ) -generate_dynamic_reconfigure_options( - cfg/RoomExploration.cfg - cfg/CoverageMonitor.cfg -) - -find_package(OpenCV REQUIRED) -find_package(Boost REQUIRED COMPONENTS system chrono thread) - - -find_package(Eigen3 ) -if(NOT EIGEN3_FOUND) - # Fallback to cmake_modules - find_package(cmake_modules REQUIRED) - find_package(Eigen REQUIRED) - set(EIGEN3_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS}) - set(EIGEN3_LIBRARIES ${EIGEN_LIBRARIES}) # Not strictly necessary as Eigen is head only - # Possibly map additional variables to the EIGEN3_ prefix. -else() - set(EIGEN3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) -endif() - -# include the FindGUROBI.cmake file to search for Gurobi on the system -set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/cmake/") -find_package(GUROBI) - -# if Gurobi was found, set a flag to use it -if(GUROBI_FOUND) - add_definitions(-DGUROBI_FOUND=${GUROBI_FOUND}) -endif(GUROBI_FOUND) -Message(STATUS "Gurobi include dirs: " ${GUROBI_INCLUDE_DIRS}) -Message(STATUS "Gurobi lib dirs: " ${GUROBI_LIBRARIES}) - -# Coin-Or and Cbc, included as ubuntu system package, without Cmake-module so include pkg-config file -# !!! Important note: the order of the libraries when linking your executable is important, if it is wrong you get undefined references !!! -find_package(PkgConfig REQUIRED) -pkg_check_modules(CoinUtils REQUIRED coinutils)# coinutils osi-clp clp osi cbc cgl -pkg_check_modules(OsiClp REQUIRED osi-clp) -pkg_check_modules(Clp REQUIRED clp) -pkg_check_modules(Osi REQUIRED osi) -pkg_check_modules(Cbc-lib REQUIRED cbc) -pkg_check_modules(Cgl REQUIRED cgl) -Message(STATUS "coinutils include dirs: " ${CoinUtils_INCLUDE_DIRS}) -Message(STATUS "osi-clp include dirs: " ${OsiClp_INCLUDE_DIRS}) -Message(STATUS "clp include dirs: " ${Clp_INCLUDE_DIRS}) -Message(STATUS "osi include dirs: " ${Osi_INCLUDE_DIRS}) -Message(STATUS "cbc include dirs: " ${Cbc-lib_INCLUDE_DIRS}) -Message(STATUS "cgl include dirs: " ${Cgl_INCLUDE_DIRS}) - -################################### -## catkin specific configuration ## -################################### -## The catkin_package macro generates cmake config files for your package -## Declare things to be passed to dependent projects -## INCLUDE_DIRS: uncomment this if you package contains header files -## LIBRARIES: libraries you create in this project that dependent projects also need -## CATKIN_DEPENDS: catkin_packages dependent projects also need -## DEPENDS: system dependencies of this project that dependent projects also need -# important: common/include needs to be here if you have such a directory -catkin_package( -INCLUDE_DIRS - common/include - ros/include -LIBRARIES - ${PROJECT_NAME} - libcoverage_check_server -CATKIN_DEPENDS - ${catkin_RUN_PACKAGES} - # message_runtime -DEPENDS - OpenCV - Boost - CoinUtils - OsiClp - Clp - Osi - Cgl - Cbc-lib -) - - -########### -## Build ## -########### -## Specify additional locations of header files -## Your package locations should be listed before other locations -# important: common/include also needs to be here if you have it, order of including the coinor-packages relevant, not working when including in wrong order -include_directories( - common/include - ros/include - ${catkin_INCLUDE_DIRS} - ${OpenCV_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} - ${EIGEN3_INCLUDE_DIRS} - ${GUROBI_INCLUDE_DIRS} - ${CoinUtils_INCLUDE_DIRS} - ${OsiClp_INCLUDE_DIRS} - ${Clp_INCLUDE_DIRS} - ${Osi_INCLUDE_DIRS} - ${Cgl_INCLUDE_DIRS} - ${Cbc-lib_INCLUDE_DIRS} -) - -### package library -add_library(${PROJECT_NAME} STATIC - common/src/grid_point_explorator.cpp - common/src/boustrophedon_explorator.cpp - common/src/neural_network_explorator.cpp - common/src/convex_sensor_placement_explorator.cpp - common/src/energy_functional_explorator.cpp - common/src/flow_network_explorator.cpp - common/src/room_rotator.cpp - common/src/meanshift2d.cpp -) -target_link_libraries(${PROJECT_NAME} - ${catkin_LIBRARIES} - ${OpenCV_LIBS} - ${Boost_LIBRARIES} - ${CoinUtils_LIBRARIES} - ${OsiClp_LIBRARIES} - ${Clp_LIBRARIES} - ${Osi_LIBRARIES} - ${Cgl_LIBRARIES} - ${Cbc-lib_LIBRARIES} - ${GUROBI_LIBRARIES} - libcoverage_check_server -) -add_dependencies(${PROJECT_NAME} - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) - -### room exploration action server, note: order of linking the Coin-Or packages important -add_executable(room_exploration_server - ros/src/room_exploration_action_server.cpp - ros/src/fov_to_robot_mapper.cpp -) -target_link_libraries(room_exploration_server - ${catkin_LIBRARIES} - ${OpenCV_LIBS} - ${Boost_LIBRARIES} - ${PROJECT_NAME} - libcoverage_check_server -) -add_dependencies(room_exploration_server - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) - -### library for coverage checking -add_library(libcoverage_check_server - ros/src/coverage_check_server.cpp -) -target_link_libraries(libcoverage_check_server - ${catkin_LIBRARIES} - ${OpenCV_LIBS} - ${Boost_LIBRARIES} -) -add_dependencies(libcoverage_check_server ${catkin_EXPORTED_TARGETS}) - -### server for coverage checking -add_executable(coverage_check_server - ros/src/coverage_check_server_main.cpp -) -target_link_libraries(coverage_check_server - ${catkin_LIBRARIES} - ${OpenCV_LIBS} - ${Boost_LIBRARIES} - libcoverage_check_server -) -add_dependencies(coverage_check_server ${catkin_EXPORTED_TARGETS}) - -### server for coverage monitoring -add_executable(coverage_monitor_server - ros/src/coverage_monitor_server.cpp -) -target_link_libraries(coverage_monitor_server - ${catkin_LIBRARIES} - ${OpenCV_LIBS} - ${Boost_LIBRARIES} - libcoverage_check_server -) -add_dependencies(coverage_monitor_server ${catkin_EXPORTED_TARGETS}) - -### room exploration client -add_executable(room_exploration_client - ros/src/room_exploration_action_client.cpp -) -target_link_libraries(room_exploration_client - ${catkin_LIBRARIES} - ${OpenCV_LIBS} - ${Boost_LIBRARIES} -) -add_dependencies(room_exploration_client - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) - - - -### next goal -add_executable(next_goal - ros/src/next_goal.cpp -) -target_link_libraries(next_goal - ${catkin_LIBRARIES} - ${OpenCV_LIBS} - ${Boost_LIBRARIES} -) -add_dependencies(next_goal - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) - -add_executable(sub - ros/src/sub.cpp -) - -target_link_libraries(sub - ${catkin_LIBRARIES} -) -### evaluation of room exploration algorithms -add_executable(room_exploration_evaluation - ros/src/room_exploration_evaluation.cpp - ros/src/fov_to_robot_mapper.cpp -) -target_link_libraries(room_exploration_evaluation - ${catkin_LIBRARIES} - ${OpenCV_LIBS} - libcoverage_check_server -) -add_dependencies(room_exploration_evaluation - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) - -############# -## Install ## -############# -# Mark executables and/or libraries for installation -install(TARGETS ${PROJECT_NAME} room_exploration_server room_exploration_client - ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -) - -#uncomment this if you have a common-directory with header-files -install(DIRECTORY common/include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} - FILES_MATCHING PATTERN "*.h" - PATTERN ".svn" EXCLUDE -) - -#uncomment this if you have header-files in your project -install(DIRECTORY ros/include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} - FILES_MATCHING PATTERN "*.h" - PATTERN ".svn" EXCLUDE -) - -#install(DIRECTORY scripts -# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} -# PATTERN ".svn" EXCLUDE -#) - -# uncomment this if you have launch files -install(DIRECTORY ros/launch - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/ros - PATTERN ".svn" EXCLUDE -) - -#install(DIRECTORY common/files -# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/common -# PATTERN ".svn" EXCLUDE -#) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/CoverageMonitor.cfg b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/CoverageMonitor.cfg deleted file mode 100644 index 31b7de4..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/CoverageMonitor.cfg +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env python -PACKAGE = "ipa_room_exploration" - -from dynamic_reconfigure.parameter_generator_catkin import * - -gen = ParameterGenerator() - -gen.add("map_frame", str_t, 0, "Name of the map coordinate system.", "map") -gen.add("robot_frame", str_t, 0, "Name of the robot coordinate system.", "base_link") - -gen.add("coverage_radius", double_t, 0, "Radius of the circular coverage device, in [m].", 0.25, 0.001, 100000.0) -gen.add("coverage_circle_offset_transform_x", double_t, 0, "The offset of the coverage circle from the robot center, [x,y,z] in [m].", 0.29035, -100000.0, 100000.0) -gen.add("coverage_circle_offset_transform_y", double_t, 0, "The offset of the coverage circle from the robot center, [x,y,z] in [m].", -0.114, -100000.0, 100000.0) -gen.add("coverage_circle_offset_transform_z", double_t, 0, "The offset of the coverage circle from the robot center, [x,y,z] in [m].", 0.0, -100000.0, 100000.0) - -gen.add("robot_trajectory_recording_active", bool_t, 0, "The robot trajectory is only recorded if this flag is true.", False) - -exit(gen.generate(PACKAGE, "coverage_monitor_server", "CoverageMonitor")) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/RoomExploration.cfg b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/RoomExploration.cfg deleted file mode 100644 index fa0680c..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/RoomExploration.cfg +++ /dev/null @@ -1,123 +0,0 @@ -#!/usr/bin/env python -PACKAGE = "ipa_room_exploration" - -from dynamic_reconfigure.parameter_generator_catkin import * - -gen = ParameterGenerator() - -# Method to plan a path trough the room -method_enum = gen.enum([ gen.const("GridPointExplorator", int_t, 1, "Use the grid point exploration algorithm."), - gen.const("BoustrophedonExplorator", int_t, 2, "Use the boustrophedon exploration algorithm."), - gen.const("NeuralNetworkExplorator", int_t, 3, "Use the neural network exploration algorithm."), - gen.const("ConvexSPPExplorator", int_t, 4, "Use the convexSPP exploration algorithm."), - gen.const("FlowNetworkExplorator", int_t, 5, "Use the flowNetwork exploration algorithm."), - gen.const("EnergyFunctionalExplorator", int_t, 6, "Use the energyFunctional exploration algorithm."), - gen.const("VoronoiExplorator", int_t, 7, "Use the voronoi exploration algorithm."), - gen.const("BoustrophedonVariantExplorator", int_t, 8, "Use a variant of the boustrophedon exploration algorithm.")], - "Exploration algorithm") -gen.add("room_exploration_algorithm", int_t, 0, "Exploration method", 2, 1, 8, edit_method=method_enum) - - -# Parameters on map correction options -# ==================================== -gen.add("map_correction_closing_neighborhood_size", int_t, 0, "Applies a closing operation to neglect inaccessible areas and map errors/artifacts if the map_correction_closing_neighborhood_size parameter is larger than 0. The parameter then specifies the iterations (or neighborhood size) of that closing operation..", 2, -1, 100); - - -# Parameters specific to the navigation of the robot along the computed coverage trajectory -# ========================================================================================= -gen.add("return_path", bool_t, 0, "Boolean used to determine whether the server should return the computed coverage path in the response message.", True) - -gen.add("execute_path", bool_t, 0, "Boolean used to determine whether the server should navigate the robot along the computed coverage path.", False) - -# double that shows how close the robot can get to a published navigation goal before another gets published -gen.add("goal_eps", double_t, 0, "Distance from robot to published goal to publish the next goal in the path.", 2.0, 1.0) - -# Use a dynamic goal distance criterion: the larger the path's curvature, the more accurate the navigation. -# Uses 'goal_eps' param as maximum distance on straight paths and zero distance (accurate goal approaching) on 90deg curves. -gen.add("use_dyn_goal_eps", bool_t, 0, "Use a dynamic goal distance criterion: the larger the path's curvature, the more accurate the navigation.", False) - -# Boolean that interrupts the publishing of the navigation goals as long as needed, e.g. when the robot sees a trashbin during a cleaning task and wants to clean it directly and resume later with the coverage path. -gen.add("interrupt_navigation_publishing", bool_t, 0, "Interrupt the publishing of navigation goals as long as needed.", False) - -# turn the functionality on/off to revisit areas that haven't been seen during the execution of the coverage path, due to uncertainties or dynamic obstacles -gen.add("revisit_areas", bool_t, 0, "Revisiting not seen areas due to dynamic obstacles on/off.", True) - -# min area before previously not seen areas have to be revisited, [m^2] -gen.add("left_sections_min_area", double_t, 0, "Minimal size of left sections to revisit them after one go [m^2].", 0.01, 1e-7) - -gen.add("global_costmap_topic", str_t, 0, "The name of the global costmap topic.", "/move_base/global_costmap/costmap") - -gen.add("coverage_check_service_name", str_t, 0, "The name of the service to call for a coverage check of the driven trajectory.", "/room_exploration/coverage_check_server/coverage_check") - -gen.add("map_frame", str_t, 0, "The name of the map frame, used for tracking of the robot.", "map") - -gen.add("camera_frame", str_t, 0, "The name of the camera frame, that is in the same kinematic chain as the map_frame and shows the camera pose.", "base_link") - - -# Grid point Explorator -# ===================== -tsp_solver_enum = gen.enum([ gen.const("NearestNeighborTSP", int_t, 1, "Use the Nearest Neighbor TSP algorithm."), - gen.const("GeneticTSP", int_t, 2, "Use the Genetic TSP solver."), - gen.const("ConcordeTSP", int_t, 3, "Use the Concorde TSP solver.")], - "Indicates which TSP solver should be used.") -gen.add("tsp_solver", int_t, 0, "Exploration method", 3, 1, 3, edit_method=tsp_solver_enum) - -gen.add("tsp_solver_timeout", int_t, 0, "A sophisticated solver like Concorde or Genetic can be interrupted if it does not find a solution within this time (in [s]), and then falls back to the nearest neighbor solver.", 600, 1); - - -# Boustrophedon Explorator -# ======================== -gen.add("min_cell_area", double_t, 0, "Minimum area of one cell for the boustrophedon explorator.", 10.0, 1e-7) - -# min distance between two points in the created coverage path -gen.add("path_eps", double_t, 0, "Minimal distance between two points on the generated path [pixel].", 2.0, 0) - -# the additional offset of the grid to obstacles, i.e. allows to displace the grid by more than the standard half_grid_size from obstacles, in [m] -gen.add("grid_obstacle_offset", double_t, 0, "Allows to displace the grid by more than the standard half_grid_size from obstacles [m].", 0.0, 0) - -# maximal allowed shift off the ideal boustrophedon track to both sides for avoiding obstacles on track -# setting max_deviation_from_track=grid_spacing is usually a good choice -# for negative values (e.g. max_deviation_from_track: -1) max_deviation_from_track is automatically set to grid_spacing -# in [pixel] -gen.add("max_deviation_from_track", int_t, 0, "Maximal allowed shift off the ideal boustrophedon track for avoiding obstacles on track, in [pixel]. For negative values max_deviation_from_track is automatically set to grid_spacing.", -1, -1) - -# enum for cell visiting order -cell_visiting_order_enum = gen.enum([gen.const("OptimalTSP", int_t, 1, "The optimal visiting order of the cells is determined as TSP problem."), - gen.const("LeftToRight", int_t, 2, "Alternative ordering from left to right (measured on y-coordinates of the cells), visits the cells in a more obvious fashion to the human observer (though it is not optimal).")], - "Cell visiting order") -gen.add("cell_visiting_order", int_t, 0, "Cell visiting order method", 1, 1, 2, edit_method=cell_visiting_order_enum) - - -# Neural network explorator, see room_exploration_action_server.params.yaml for further details -# ============================================================================================= -gen.add("step_size", double_t, 0, "Step size for integrating the state dynamics of the neural network.", 0.008, 0.0001, 1.0) - -gen.add("A", int_t, 0, "Decaying parameter that pulls the activity of a neuron closer to zero, larger value means faster decreasing.", 17, 1) - -gen.add("B", int_t, 0, "Increasing parameter that tries to increase the activity of a neuron, higher value means a higher desired value and a faster increasing at the beginning.", 5, 1) - -gen.add("D", int_t, 0, "Decreasing parameter when the neuron is labeled as obstacle, higher value means faster decreasing.", 7, 1) - -gen.add("E", int_t, 0, "External input parameter of one neuron that is used in the dynamics corresponding to if it is an obstacle or uncleaned/cleaned, E>>B.", 80, 1) - -gen.add("mu", double_t, 0, "Parameter to set the importance of the states of neighboring neurons to the dynamics, higher value means higher influence.", 1.03, 0.001) - -gen.add("delta_theta_weight", double_t, 0, "Parameter to set the importance of the traveleing direction from the previous step and the next step, a higher value means that the robot should turn less.", 0.15, 0.0) - - -# ConvexSPP explorator -# ==================== -# size of one cell when discretizing the free space -gen.add("cell_size", int_t, 0, "Side length of one grid cell, when discretizing the free space.", 0, -1) - -gen.add("delta_theta", double_t, 0, "Sampling angle when creating possible sensing poses.", 1.570796, 1e-4) - - -# flowNetwork explorator -# ====================== -gen.add("curvature_factor", double_t, 0, "Factor an arc can be longer than a straight arc.", 1.1, 1.0) - -gen.add("max_distance_factor", double_t, 0, "#Factor, an arc can be longer than the maximal distance of the room.", 1.0, 1.0) - - -exit(gen.generate(PACKAGE, "ipa_room_exploration_action_server", "RoomExploration")) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cmake/FindGUROBI.cmake b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cmake/FindGUROBI.cmake deleted file mode 100644 index eeb7abf..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cmake/FindGUROBI.cmake +++ /dev/null @@ -1,62 +0,0 @@ -#### Taken from https://github.com/joschu/trajopt/blob/master/cmake/modules/FindGUROBI.cmake - - -# - Try to find GUROBI --> not a system package, needs to be searched separately -# Once done this will define -# GUROBI_FOUND - System has Gurobi -# GUROBI_INCLUDE_DIRS - The Gurobi include directories -# GUROBI_LIBRARIES - The libraries needed to use Gurobi - -if(GUROBI_INCLUDE_DIR) - # variables already in cache - set(GUROBI_FOUND TRUE) - set(GUROBI_INCLUDE_DIRS "${GUROBI_INCLUDE_DIR}" ) - set(GUROBI_LIBRARIES "${GUROBI_LIBRARY};${GUROBI_CXX_LIBRARY}" ) - -else(GUROBI_INCLUDE_DIR) - - find_path(GUROBI_INCLUDE_DIR - NAMES gurobi_c++.h - PATHS "$ENV{GUROBI_HOME}/include" - "/Library/gurobi702/linux64/include" - ) - - # search for the used version of the Gurobi library - find_library(GUROBI_LIBRARY - NAMES gurobi - gurobi45 - gurobi46 - gurobi50 - gurobi51 - gurobi52 - gurobi55 - gurobi56 - gurobi60 - gurobi70 - PATHS "$ENV{GUROBI_HOME}/lib" - "/Library/gurobi702/linux64/lib" - ) - - find_library(GUROBI_CXX_LIBRARY - NAMES gurobi_c++ - libgurobi_c++.a - PATHS "$ENV{GUROBI_HOME}/lib" - "/Library/gurobi702/linux64/lib" - ) - - if(GUROBI_LIBRARY AND GUROBI_CXX_LIBRARY AND GUROBI_INCLUDE_DIR) - set(GUROBI_INCLUDE_DIRS "${GUROBI_INCLUDE_DIR}") - set(GUROBI_LIBRARIES "${GUROBI_LIBRARY};${GUROBI_CXX_LIBRARY}") - set(GUROBI_FOUND TRUE) - else(GUROBI_LIBRARY AND GUROBI_CXX_LIBRARY AND GUROBI_INCLUDE_DIR) - Message(STATUS "Gurobi has not been found") - endif(GUROBI_LIBRARY AND GUROBI_CXX_LIBRARY AND GUROBI_INCLUDE_DIR) - - include(FindPackageHandleStandardArgs) - # handle the QUIETLY and REQUIRED arguments - find_package_handle_standard_args(GUROBI DEFAULT_MSG - GUROBI_LIBRARY GUROBI_CXX_LIBRARY GUROBI_INCLUDE_DIR) - - mark_as_advanced(GUROBI_INCLUDE_DIR GUROBI_LIBRARY GUROBI_CXX_LIBRARY) - -endif(GUROBI_INCLUDE_DIR) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/boustrophedon_explorator.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/boustrophedon_explorator.h deleted file mode 100644 index 930f306..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/boustrophedon_explorator.h +++ /dev/null @@ -1,334 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 11.2016 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once - -#include -#include -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#define PI 3.14159265359 - - - -// Class that is used to store cells and obstacles in a certain manner. For this the vertexes are stored as points and -// the edges are stored as vectors in a counter-clockwise manner. The constructor becomes a set of respectively sorted -// points and computes the vectors out of them. Additionally the accessible/visible center of the polygon gets computed, -// to simplify the visiting order later, by using a meanshift algorithm. -class GeneralizedPolygon -{ -protected: - // vertexes - std::vector vertices_; - - // accessible center: a central point inside the polygon with maximum distance to walls - cv::Point center_; - - // center of bounding rectangle of polygon, may be located outside the polygon, i.e. in an inaccessible area多边形的边界矩形的中心,可以位于多边形之外,即在无法进入的区域 - cv::Point bounding_box_center_; - - // min/max coordinates - int max_x_, min_x_, max_y_, min_y_; - - // area of the polygon (cell number), in [pixel^2] - double area_; - -public: - // constructor - GeneralizedPolygon(const std::vector& vertices, const double map_resolution) - { - // save given vertexes - vertices_ = vertices; - - // get max/min x/y coordinates - max_x_ = 0; - min_x_ = 100000; - max_y_ = 0; - min_y_ = 100000; - for(size_t point=0; point max_x_) - max_x_ = vertices_[point].x; - if(vertices_[point].y > max_y_) - max_y_ = vertices_[point].y; - if(vertices_[point].x < min_x_) - min_x_ = vertices_[point].x; - if(vertices_[point].y < min_y_) - min_y_ = vertices_[point].y; - } - - bounding_box_center_.x = (min_x_+max_x_)/2; - bounding_box_center_.y = (min_y_+max_y_)/2; - - // compute visible center - MeanShift2D ms; - cv::Mat room = cv::Mat::zeros(max_y_+10, max_x_+10, CV_8UC1); -#if CV_MAJOR_VERSION<=3 - cv::drawContours(room, std::vector >(1,vertices), -1, cv::Scalar(255), CV_FILLED);//轮廓绘制 -#else - cv::drawContours(room, std::vector >(1,vertices), -1, cv::Scalar(255), cv::FILLED); -#endif - area_ = cv::countNonZero(room); - cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 -#if CV_MAJOR_VERSION<=3 - cv::distanceTransform(room, distance_map, CV_DIST_L2, 5); -#else - cv::distanceTransform(room, distance_map, cv::DIST_L2, 5); -#endif - // find point set with largest distance to obstacles - double min_val = 0., max_val = 0.; - cv::minMaxLoc(distance_map, &min_val, &max_val); - std::vector room_cells; - for (int v = 0; v < distance_map.rows; ++v) - for (int u = 0; u < distance_map.cols; ++u) - if (distance_map.at(v, u) > max_val * 0.95f) - room_cells.push_back(cv::Vec2d(u, v)); - // use meanshift to find the modes in that set - cv::Vec2d room_center = ms.findRoomCenter(room, room_cells, map_resolution); - // save found center - center_.x = room_center[0]; - center_.y = room_center[1]; - } - - std::vector getVertices() const - { - return vertices_; - } - - cv::Point getCenter() const - { - return center_; - } - - cv::Point getBoundingBoxCenter() const - { - return bounding_box_center_; - } - - double getArea() const - { - return area_; - } - - void drawPolygon(cv::Mat& image, const cv::Scalar& color) const - { - // draw polygon in an black image with necessary size - cv::Mat black_image = cv::Mat(max_y_+10, max_x_+10, CV_8UC1, cv::Scalar(0)); -#if CV_MAJOR_VERSION<=3 - cv::drawContours(black_image, std::vector >(1,vertices_), -1, color, CV_FILLED); -#else - cv::drawContours(black_image, std::vector >(1,vertices_), -1, color, cv::FILLED); -#endif - - // assign drawn map - image = black_image.clone(); - } - - void getMinMaxCoordinates(int& min_x, int& max_x, int& min_y, int& max_y) - { - min_x = min_x_; - max_x = max_x_; - min_y = min_y_; - max_y = max_y_; - } -}; - -// Structure to save edges of a path on one row, that allows to easily get the order of the edges when planning the -// boustrophedon path. -struct BoustrophedonHorizontalLine -{ - cv::Point left_corner_, right_corner_; -}; - -// Structure for saving several properties of cells -struct BoustrophedonCell -{ - typedef std::set > BoustrophedonCellSet; - typedef std::set >::iterator BoustrophedonCellSetIterator; - - int label_; // label id of the cell - double area_; // area of the cell, in [pixel^2] - cv::Rect bounding_box_; // bounding box of the cell - BoustrophedonCellSet neighbors_; // pointer to neighboring cells - - BoustrophedonCell(const int label, const double area, const cv::Rect& bounding_box) - { - label_ = label; - area_ = area; - bounding_box_ = bounding_box; - } - -}; - - -// Class that generates a room exploration path by using the morse cellular decomposition method, proposed by -// -// "H. Choset, E. Acar, A. A. Rizzi and J. Luntz, -// "Exact cellular decompositions in terms of critical points of Morse functions," Robotics and Automation, 2000. Proceedings. -// ICRA '00. IEEE International Conference on, San Francisco, CA, 2000, pp. 2270-2277 vol.3." -// -// This method decomposes the given environment into several cells which don't have any obstacle in it. For each of this -// cell the boustrophedon path is generated, which goes up and down in each cell, see the upper paper for reference. -// This class only produces a static path, regarding the given map in form of a point series. To react on dynamic -// obstacles, one has to do this in upper algorithms. -// -class BoustrophedonExplorer -{ -protected: - // pathplanner to check for the next nearest locations - AStarPlanner path_planner_; - - static const uchar BORDER_PIXEL_VALUE = 25; - - // rotates the original map for a good axis alignment and divides it into Morse cells - // the functions tries two axis alignments with 90deg rotation difference and chooses the one with the lower number of cells - void findBestCellDecomposition(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, - const int min_cell_width, cv::Mat& R, cv::Rect& bbox, cv::Mat& rotated_room_map, - std::vector& cell_polygons, std::vector& polygon_centers); - - // rotates the original map for a good axis alignment and divides it into Morse cells - // @param rotation_offset can be used to put an offset to the computed rotation for good axis alignment, in [rad] - void computeCellDecompositionWithRotation(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, - const int min_cell_width, const double rotation_offset, cv::Mat& R, cv::Rect& bbox, cv::Mat& rotated_room_map, - std::vector& cell_polygons, std::vector& polygon_centers); - - // divides the provided map into Morse cells - void computeCellDecomposition(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, - const int min_cell_width, std::vector& cell_polygons, std::vector& polygon_centers);//该函数返回每一个区间的多边形点数组cell_polygons以及每一个区间的中心点数组polygon_centers。 - - // merges cells after a cell decomposition according to various criteria specified in function @mergeCellsSelection - // returns the number of cells after merging - int mergeCells(cv::Mat& cell_map, cv::Mat& cell_map_labels, const double min_cell_area, const int min_cell_width); - - // implements the selection criterion for cell merging, in this case: too small (area) or too thin (width or height) cells - // are merged with their largest neighboring cell. - void mergeCellsSelection(cv::Mat& cell_map, cv::Mat& cell_map_labels, std::map >& cell_index_mapping, - const double min_cell_area, const int min_cell_width); - - // executes the merger of minor cell into major cell - void mergeTwoCells(cv::Mat& cell_map, cv::Mat& cell_map_labels, const BoustrophedonCell& minor_cell, BoustrophedonCell& major_cell, - std::map >& cell_index_mapping); - - // this function corrects obstacles that are one pixel width at 45deg angle, i.e. a 2x2 pixel neighborhood with [0, 255, 255, 0] or [255, 0, 0, 255] - void correctThinWalls(cv::Mat& room_map); - - // computes the Boustrophedon path pattern for a single cell - void computeBoustrophedonPath(const cv::Mat& room_map, const float map_resolution, const GeneralizedPolygon& cell, - std::vector& fov_middlepoint_path, cv::Point& robot_pos, - const int grid_spacing_as_int, const int half_grid_spacing_as_int, const double path_eps, const int max_deviation_from_track, const int grid_obstacle_offset=0); - - // downsamples a given path original_path to waypoint distances of path_eps and appends the resulting path to downsampled_path - void downsamplePath(const std::vector& original_path, std::vector& downsampled_path, - cv::Point& cell_robot_pos, const double path_eps); - - // downsamples a given path original_path to waypoint distances of path_eps in reverse order as given in original_path - // and appends the resulting path to downsampled_path - void downsamplePathReverse(const std::vector& original_path, std::vector& downsampled_path, - cv::Point& robot_pos, const double path_eps); - - void printCells(std::map >& cell_index_mapping); - -public: - // constructor - BoustrophedonExplorer(); - - // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), - // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions - // the robot should drive at. - void getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, - const cv::Point starting_position, const cv::Point2d map_origin, const double grid_spacing_in_pixel, - const double grid_obstacle_offset, const double path_eps, const int cell_visiting_order, const bool plan_for_footprint, - const Eigen::Matrix robot_to_fov_vector, const double min_cell_area, const int max_deviation_from_track); - - enum CellVisitingOrder {OPTIMAL_TSP=1, LEFT_TO_RIGHT=2}; -}; - - -class BoustrophedonVariantExplorer : public BoustrophedonExplorer -{ -protected: - - // implements the selection criterion for cell merging, in this case: only large cells with different major axis are not merged. - void mergeCellsSelection(cv::Mat& cell_map, cv::Mat& cell_map_labels, std::map >& cell_index_mapping, - const double min_cell_area, const int min_cell_width); - -public: - BoustrophedonVariantExplorer() {}; - ~BoustrophedonVariantExplorer() {}; - - -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/convex_sensor_placement_explorator.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/convex_sensor_placement_explorator.h deleted file mode 100644 index 7a40c39..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/convex_sensor_placement_explorator.h +++ /dev/null @@ -1,162 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 11.2016 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once - - -#include -#include -#include -#include -#include -#include -#include -#include - -// Eigen library for matrix/vector computations -#include -// Coin-Or Cbc linear programming solver -#include -#include -#include -#include -// if available, use Gurobi -#ifdef GUROBI_FOUND - #include "gurobi_c++.h" -#endif - -#include -#include -#include - -#include -#include -#include -#include - -#include - - -#define PI 3.14159265359 - -// This class provides a coverage path planning algorithm, based on the work of -// -// Arain, M. A., Cirillo, M., Bennetts, V. H., Schaffernicht, E., Trincavelli, M., & Lilienthal, A. J. (2015, May). Efficient measurement planning for remote gas sensing with mobile robots. In 2015 IEEE International Conference on Robotics and Automation (ICRA) (pp. 3428-3434). IEEE. -// -// In this work originally a gas sensing robot is assumed, but by specifically defining the visibility function one can -// use this work for coverage path planning, especially for planning a route s.t. the field of view covers the free space. -// In the proposed paper the free space gets discretized into cells, that need to be covered. To do so a integer linear -// program of the form -// min C^T Ts -// s.t. VC >= 1 (elementwise) -// C[i] = {0, 1} -// is used, with C a column vector, representing if a sensing pose is used (1) or not (0), Ts a column vector storing the -// sensing cost at a specific sensing pose, V a matrix storing what cell is observed from a sensing pose. The first -// constraint ensures that each cell has been seen at least once and the objective function minimizes the number of sensing -// poses. To improve the efficiency of the algorithm a re-weighted convex relaxation method is used to enhance the -// sparsity of the above linear program. This is done by solving -// min (W o C)^T Ts -// s.t. VC >= 1 (elementwise) -// 0 <= C[i] <= 1 -// a few times, with calculating W new after each step. When the sparsity of C doesn't change much anymore or a number of -// iterations is reached, the zero elements of C are discarded and the first linear program is solved for the final result. -// This gives a minimal set of sensing poses s.t. all free cells can be observed with these. -// -class convexSPPExplorator -{ -protected: - // function that is used to create and solve a Gurobi optimization problem out of the given matrices and vectors, if - // Gurobi was found on the computer - template - void solveGurobiOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector* W); - - // function that is used to create and solve a Qsopt optimization problem out of the given matrices and vectors - template - void solveOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector* W); - - // object to find a path trough the chosen sensing poses by doing a repetitive nearest neighbor algorithm - NearestNeighborTSPSolver tsp_solver_; - - // object that plans a path from A to B using the Astar method - AStarPlanner path_planner_; - -public: - // constructor - convexSPPExplorator(); - - // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), - // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions - // the robot should drive at. The footprint stores a polygon that is used to determine the visibility at a specific - // sensing pose. delta_theta provides an angular step to determine candidates for sensing poses. - // map_resolution in [m/cell] - // starting_position starting position of the robot in [px] - // cell_size_pixel the side length of a grid square in [px] - // delta_theta angular sampling step when creating possible sensing poses in [rad] - // fov_corners_meter vector of corner coordinates of the field of view in [m] - // robot_to_fov_vector_meter the center of the field of view measured from the robot center in [m] - // largest_robot_to_footprint_distance_meter is the radius of the robot footprint for footprint planning (plan_for_footprint==true); - // or the largest distance between robot and a field of view corner (plan_for_footprint==false) - // (for fov planning, this may be set 0 and the function computes the maximum distance fov corner) - // plan_for_footprint if true, plan for the robot footprint of given radius (largest_robot_to_footprint_distance_meter); - // if false, plan for the field of view - void getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, - const cv::Point starting_position, const cv::Point2d map_origin, const int cell_size_pixel, const double delta_theta, - const std::vector >& fov_corners_meter, const Eigen::Matrix& robot_to_fov_vector_meter, - const double largest_robot_to_footprint_distance_meter, const uint sparsity_check_range, const bool plan_for_footprint); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/energy_functional_explorator.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/energy_functional_explorator.h deleted file mode 100644 index aaec33b..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/energy_functional_explorator.h +++ /dev/null @@ -1,150 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 01.2017 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once - -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include -#include - -#define PI 3.14159265359 -const double PI_2_INV = 1./(0.5*PI); - - - -// Struct that is used to create a node and save the corresponding neighbors. -struct EnergyExploratorNode -{ - cv::Point center_; - bool obstacle_; - bool visited_; - std::vector neighbors_; - - int countNonObstacleNeighbors() - { - int non_obstacle_neighbors = 0; - for(std::vector::iterator neighbor=neighbors_.begin(); neighbor!=neighbors_.end(); ++neighbor) - if((*neighbor)->obstacle_==false) - ++non_obstacle_neighbors; - return non_obstacle_neighbors; - } -}; - -// Struct used to create sets of energyExplorationNodes -struct cv_Point_cmp -{ - bool operator() (const cv::Point& lhs, const cv::Point& rhs) const - { - return ((lhs.y < rhs.y) || (lhs.y == rhs.y && lhs.x < rhs.x)); - } -}; - -// This class provides the functionality of coverage path planning, based on the work in -// -// Bormann Richard, Joshua Hampp, and Martin Hägele. "New brooms sweep clean-an autonomous robotic cleaning assistant for -// professional office cleaning." Robotics and Automation (ICRA), 2015 IEEE International Conference on. IEEE, 2015. -// -// In this method the area that should be covered is discretized into a grid, using the given grid size parameter d_0. Each of these -// resulting nodes should be visited in order to cover the whole free space. The path starts at the corner of the area that is -// closest to the starting position. After the start node, the next node is chosen from the neighbors that minimizes the energy functional -// E(l,n) = d_t(l,n) + d_r(l,n) + N(n), -// where l is the current robot pose, n the to be checked next pose. The summands represent different aspects that need to -// be taken into account. d_t is the translational distance computed as -// d_t(l,n) = ||l_xy-n_xy||_2/d_0, -// where l_xy or n_xy is the vector storing the position of the corresponding location. d_r is the rotational distance, computed as -// d_r(l,n) = 2*(l_theta-n_theta)/pi, -// where l_theta or n_theta are the angles of the corresponding poses. Function N(n) represents half the number of not yet visited -// locations among the 8 neighbors Nb8(n) around n and is computed as -// N(n) = 4 - sum_(k in Nb8(n)) |k ∩ L|/2, -// where L is the number of already visited nodes. If no accessible node in the direct neighborhood could be found, the algorithm -// searches for the next node in the whole grid. This procedure is repeated until all nodes have been visited. -// This class only produces a static path, regarding the given map in form of a point series. To react on dynamic -// obstacles, one has to do this in upper algorithms. -// -class EnergyFunctionalExplorator -{ -protected: - // function to compute the energy function for each pair of nodes - double E(const EnergyExploratorNode& location, const EnergyExploratorNode& neighbor, const double cell_size_in_pixel, const double previous_travel_angle); - -public: - // constructor - EnergyFunctionalExplorator(); - - // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), - // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions - // the robot should drive at. - void getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, - const cv::Point starting_position, const cv::Point2d map_origin, const double grid_spacing_in_pixel, - const bool plan_for_footprint, const Eigen::Matrix robot_to_fov_vector); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/fast_math.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/fast_math.h deleted file mode 100644 index 372bf15..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/fast_math.h +++ /dev/null @@ -1,1620 +0,0 @@ -/*=====================================================================* - * Copyright (C) 2012 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __CAST_H_ - -#ifdef __cplusplus -#define cast_uint32_t static_cast -#else -#define cast_uint32_t (uint32_t) -#endif - -#endif // __CAST_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __SSE_H_ -#define __SSE_H_ - -#ifdef __SSE2__ - -#include - -#ifdef __cplusplus -namespace { -#endif // __cplusplus - -typedef __m128 v4sf; -typedef __m128i v4si; - -#define v4si_to_v4sf _mm_cvtepi32_ps -#define v4sf_to_v4si _mm_cvttps_epi32 - -#define v4sfl(x) ((const v4sf) { (x), (x), (x), (x) }) -#define v2dil(x) ((const v4si) { (x), (x) }) -#define v4sil(x) v2dil((((long long) (x)) << 32) | (x)) -//#define v4sil(x) v2dil((((unsigned long long) (x)) << 32) | (x)) // error with Ubuntu 16.04 -//In file included from /home/rmb/git/care-o-bot/src/autopnp/ipa_room_exploration/common/src/meanshift2d.cpp:61:0: -///../fast_math.h: In function ‘{anonymous}::v4sf vfasterfc({anonymous}::v4sf)’: -///../fast_math.h:108:43: error: narrowing conversion of ‘9223372039002259456ull’ from ‘long long unsigned int’ to ‘long long int’ inside { } [-Wnarrowing] -// #define v2dil(x) ((const v4si) { (x), (x) }) -// ^ -///../fast_math.h:109:18: note: in expansion of macro ‘v2dil’ -// #define v4sil(x) v2dil((((unsigned long long) (x)) << 32) | (x)) -// ^ -///../fast_math.h:543:11: note: in expansion of macro ‘v4sil’ -// vc.i |= v4sil (0x80000000); - - -typedef union { v4sf f; float array[4]; } v4sfindexer; -#define v4sf_index(_findx, _findi) \ - ({ \ - v4sfindexer _findvx = { _findx } ; \ - _findvx.array[_findi]; \ - }) -typedef union { v4si i; int array[4]; } v4siindexer; -#define v4si_index(_iindx, _iindi) \ - ({ \ - v4siindexer _iindvx = { _iindx } ; \ - _iindvx.array[_iindi]; \ - }) - -typedef union { v4sf f; v4si i; } v4sfv4sipun; -#define v4sf_fabs(x) \ - ({ \ - v4sfv4sipun vx; \ - vx.f = x; \ - vx.i &= v4sil (0x7FFFFFFF); \ - vx.f; \ - }) - -#ifdef __cplusplus -} // end namespace -#endif // __cplusplus - -#endif // __SSE2__ - -#endif // __SSE_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_EXP_H_ -#define __FAST_EXP_H_ - -#include - -// Underflow of exponential is common practice in numerical routines, -// so handle it here. - -static inline float -fastpow2 (float p) -{ - float offset = (p < 0) ? 1.0f : 0.0f; - float clipp = (p < -126) ? -126.0f : p; - int w = clipp; - float z = clipp - w + offset; - union { uint32_t i; float f; } v = { cast_uint32_t ( (1 << 23) * (clipp + 121.2740575f + 27.7280233f / (4.84252568f - z) - 1.49012907f * z) ) }; - - return v.f; -} - -static inline float -fastexp (float p) -{ - return fastpow2 (1.442695040f * p); -} - -static inline float -fasterpow2 (float p) -{ - float clipp = (p < -126) ? -126.0f : p; - union { uint32_t i; float f; } v = { cast_uint32_t ( (1 << 23) * (clipp + 126.94269504f) ) }; - return v.f; -} - -static inline float -fasterexp (float p) -{ - return fasterpow2 (1.442695040f * p); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastpow2 (const v4sf p) -{ - v4sf ltzero = _mm_cmplt_ps (p, v4sfl (0.0f)); - v4sf offset = _mm_and_ps (ltzero, v4sfl (1.0f)); - v4sf lt126 = _mm_cmplt_ps (p, v4sfl (-126.0f)); - v4sf clipp = _mm_or_ps (_mm_andnot_ps (lt126, p), _mm_and_ps (lt126, v4sfl (-126.0f))); - v4si w = v4sf_to_v4si (clipp); - v4sf z = clipp - v4si_to_v4sf (w) + offset; - - const v4sf c_121_2740838 = v4sfl (121.2740575f); - const v4sf c_27_7280233 = v4sfl (27.7280233f); - const v4sf c_4_84252568 = v4sfl (4.84252568f); - const v4sf c_1_49012907 = v4sfl (1.49012907f); - union { v4si i; v4sf f; } v = { - v4sf_to_v4si ( - v4sfl (1 << 23) * - (clipp + c_121_2740838 + c_27_7280233 / (c_4_84252568 - z) - c_1_49012907 * z) - ) - }; - - return v.f; -} - -static inline v4sf -vfastexp (const v4sf p) -{ - const v4sf c_invlog_2 = v4sfl (1.442695040f); - - return vfastpow2 (c_invlog_2 * p); -} - -static inline v4sf -vfasterpow2 (const v4sf p) -{ - const v4sf c_126_94269504 = v4sfl (126.94269504f); - v4sf lt126 = _mm_cmplt_ps (p, v4sfl (-126.0f)); - v4sf clipp = _mm_or_ps (_mm_andnot_ps (lt126, p), _mm_and_ps (lt126, v4sfl (-126.0f))); - union { v4si i; v4sf f; } v = { v4sf_to_v4si (v4sfl (1 << 23) * (clipp + c_126_94269504)) }; - return v.f; -} - -static inline v4sf -vfasterexp (const v4sf p) -{ - const v4sf c_invlog_2 = v4sfl (1.442695040f); - - return vfasterpow2 (c_invlog_2 * p); -} - -#endif //__SSE2__ - -#endif // __FAST_EXP_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_LOG_H_ -#define __FAST_LOG_H_ - -#include - -static inline float -fastlog2 (float x) -{ - union { float f; uint32_t i; } vx = { x }; - union { uint32_t i; float f; } mx = { (vx.i & 0x007FFFFF) | 0x3f000000 }; - float y = vx.i; - y *= 1.1920928955078125e-7f; - - return y - 124.22551499f - - 1.498030302f * mx.f - - 1.72587999f / (0.3520887068f + mx.f); -} - -static inline float -fastlog (float x) -{ - return 0.69314718f * fastlog2 (x); -} - -static inline float -fasterlog2 (float x) -{ - union { float f; uint32_t i; } vx = { x }; - float y = vx.i; - y *= 1.1920928955078125e-7f; - return y - 126.94269504f; -} - -static inline float -fasterlog (float x) -{ -// return 0.69314718f * fasterlog2 (x); - - union { float f; uint32_t i; } vx = { x }; - float y = vx.i; - y *= 8.2629582881927490e-8f; - return y - 87.989971088f; -} - -#ifdef __SSE2__ - -static inline v4sf -vfastlog2 (v4sf x) -{ - union { v4sf f; v4si i; } vx = { x }; - union { v4si i; v4sf f; } mx; mx.i = (vx.i & v4sil (0x007FFFFF)) | v4sil (0x3f000000); - v4sf y = v4si_to_v4sf (vx.i); - y *= v4sfl (1.1920928955078125e-7f); - - const v4sf c_124_22551499 = v4sfl (124.22551499f); - const v4sf c_1_498030302 = v4sfl (1.498030302f); - const v4sf c_1_725877999 = v4sfl (1.72587999f); - const v4sf c_0_3520087068 = v4sfl (0.3520887068f); - - return y - c_124_22551499 - - c_1_498030302 * mx.f - - c_1_725877999 / (c_0_3520087068 + mx.f); -} - -static inline v4sf -vfastlog (v4sf x) -{ - const v4sf c_0_69314718 = v4sfl (0.69314718f); - - return c_0_69314718 * vfastlog2 (x); -} - -static inline v4sf -vfasterlog2 (v4sf x) -{ - union { v4sf f; v4si i; } vx = { x }; - v4sf y = v4si_to_v4sf (vx.i); - y *= v4sfl (1.1920928955078125e-7f); - - const v4sf c_126_94269504 = v4sfl (126.94269504f); - - return y - c_126_94269504; -} - -static inline v4sf -vfasterlog (v4sf x) -{ -// const v4sf c_0_69314718 = v4sfl (0.69314718f); -// -// return c_0_69314718 * vfasterlog2 (x); - - union { v4sf f; v4si i; } vx = { x }; - v4sf y = v4si_to_v4sf (vx.i); - y *= v4sfl (8.2629582881927490e-8f); - - const v4sf c_87_989971088 = v4sfl (87.989971088f); - - return y - c_87_989971088; -} - -#endif // __SSE2__ - -#endif // __FAST_LOG_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_ERF_H_ -#define __FAST_ERF_H_ - -#include -#include - -// fasterfc: not actually faster than erfcf(3) on newer machines! -// ... although vectorized version is interesting -// and fastererfc is very fast - -static inline float -fasterfc (float x) -{ - static const float k = 3.3509633149424609f; - static const float a = 0.07219054755431126f; - static const float b = 15.418191568719577f; - static const float c = 5.609846028328545f; - - union { float f; uint32_t i; } vc = { c * x }; - float xsq = x * x; - float xquad = xsq * xsq; - - vc.i |= 0x80000000; - - return 2.0f / (1.0f + fastpow2 (k * x)) - a * x * (b * xquad - 1.0f) * fasterpow2 (vc.f); -} - -static inline float -fastererfc (float x) -{ - static const float k = 3.3509633149424609f; - - return 2.0f / (1.0f + fasterpow2 (k * x)); -} - -// fasterf: not actually faster than erff(3) on newer machines! -// ... although vectorized version is interesting -// and fastererf is very fast - -static inline float -fasterf (float x) -{ - return 1.0f - fasterfc (x); -} - -static inline float -fastererf (float x) -{ - return 1.0f - fastererfc (x); -} - -static inline float -fastinverseerf (float x) -{ - static const float invk = 0.30004578719350504f; - static const float a = 0.020287853348211326f; - static const float b = 0.07236892874789555f; - static const float c = 0.9913030456864257f; - static const float d = 0.8059775923760193f; - - float xsq = x * x; - - return invk * fastlog2 ((1.0f + x) / (1.0f - x)) - + x * (a - b * xsq) / (c - d * xsq); -} - -static inline float -fasterinverseerf (float x) -{ - static const float invk = 0.30004578719350504f; - - return invk * fasterlog2 ((1.0f + x) / (1.0f - x)); -} - -#ifdef __SSE2__ - -static inline v4sf -vfasterfc (v4sf x) -{ - const v4sf k = v4sfl (3.3509633149424609f); - const v4sf a = v4sfl (0.07219054755431126f); - const v4sf b = v4sfl (15.418191568719577f); - const v4sf c = v4sfl (5.609846028328545f); - - union { v4sf f; v4si i; } vc; vc.f = c * x; - vc.i |= v4sil (0x80000000); - - v4sf xsq = x * x; - v4sf xquad = xsq * xsq; - - return v4sfl (2.0f) / (v4sfl (1.0f) + vfastpow2 (k * x)) - a * x * (b * xquad - v4sfl (1.0f)) * vfasterpow2 (vc.f); -} - -static inline v4sf -vfastererfc (const v4sf x) -{ - const v4sf k = v4sfl (3.3509633149424609f); - - return v4sfl (2.0f) / (v4sfl (1.0f) + vfasterpow2 (k * x)); -} - -static inline v4sf -vfasterf (v4sf x) -{ - return v4sfl (1.0f) - vfasterfc (x); -} - -static inline v4sf -vfastererf (const v4sf x) -{ - return v4sfl (1.0f) - vfastererfc (x); -} - -static inline v4sf -vfastinverseerf (v4sf x) -{ - const v4sf invk = v4sfl (0.30004578719350504f); - const v4sf a = v4sfl (0.020287853348211326f); - const v4sf b = v4sfl (0.07236892874789555f); - const v4sf c = v4sfl (0.9913030456864257f); - const v4sf d = v4sfl (0.8059775923760193f); - - v4sf xsq = x * x; - - return invk * vfastlog2 ((v4sfl (1.0f) + x) / (v4sfl (1.0f) - x)) - + x * (a - b * xsq) / (c - d * xsq); -} - -static inline v4sf -vfasterinverseerf (v4sf x) -{ - const v4sf invk = v4sfl (0.30004578719350504f); - - return invk * vfasterlog2 ((v4sfl (1.0f) + x) / (v4sfl (1.0f) - x)); -} - -#endif //__SSE2__ - -#endif // __FAST_ERF_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_GAMMA_H_ -#define __FAST_GAMMA_H_ - -#include - -/* gamma/digamma functions only work for positive inputs */ - -static inline float -fastlgamma (float x) -{ - float logterm = fastlog (x * (1.0f + x) * (2.0f + x)); - float xp3 = 3.0f + x; - - return - 2.081061466f - - x - + 0.0833333f / xp3 - - logterm - + (2.5f + x) * fastlog (xp3); -} - -static inline float -fasterlgamma (float x) -{ - return - 0.0810614667f - - x - - fasterlog (x) - + (0.5f + x) * fasterlog (1.0f + x); -} - -static inline float -fastdigamma (float x) -{ - float twopx = 2.0f + x; - float logterm = fastlog (twopx); - - return (-48.0f + x * (-157.0f + x * (-127.0f - 30.0f * x))) / - (12.0f * x * (1.0f + x) * twopx * twopx) - + logterm; -} - -static inline float -fasterdigamma (float x) -{ - float onepx = 1.0f + x; - - return -1.0f / x - 1.0f / (2 * onepx) + fasterlog (onepx); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastlgamma (v4sf x) -{ - const v4sf c_1_0 = v4sfl (1.0f); - const v4sf c_2_0 = v4sfl (2.0f); - const v4sf c_3_0 = v4sfl (3.0f); - const v4sf c_2_081061466 = v4sfl (2.081061466f); - const v4sf c_0_0833333 = v4sfl (0.0833333f); - const v4sf c_2_5 = v4sfl (2.5f); - - v4sf logterm = vfastlog (x * (c_1_0 + x) * (c_2_0 + x)); - v4sf xp3 = c_3_0 + x; - - return - c_2_081061466 - - x - + c_0_0833333 / xp3 - - logterm - + (c_2_5 + x) * vfastlog (xp3); -} - -static inline v4sf -vfasterlgamma (v4sf x) -{ - const v4sf c_0_0810614667 = v4sfl (0.0810614667f); - const v4sf c_0_5 = v4sfl (0.5f); - const v4sf c_1 = v4sfl (1.0f); - - return - c_0_0810614667 - - x - - vfasterlog (x) - + (c_0_5 + x) * vfasterlog (c_1 + x); -} - -static inline v4sf -vfastdigamma (v4sf x) -{ - v4sf twopx = v4sfl (2.0f) + x; - v4sf logterm = vfastlog (twopx); - - return (v4sfl (-48.0f) + x * (v4sfl (-157.0f) + x * (v4sfl (-127.0f) - v4sfl (30.0f) * x))) / - (v4sfl (12.0f) * x * (v4sfl (1.0f) + x) * twopx * twopx) - + logterm; -} - -static inline v4sf -vfasterdigamma (v4sf x) -{ - const v4sf c_1_0 = v4sfl (1.0f); - const v4sf c_2_0 = v4sfl (2.0f); - v4sf onepx = c_1_0 + x; - - return -c_1_0 / x - c_1_0 / (c_2_0 * onepx) + vfasterlog (onepx); -} - -#endif //__SSE2__ - -#endif // __FAST_GAMMA_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_HYPERBOLIC_H_ -#define __FAST_HYPERBOLIC_H_ - -#include - -static inline float -fastsinh (float p) -{ - return 0.5f * (fastexp (p) - fastexp (-p)); -} - -static inline float -fastersinh (float p) -{ - return 0.5f * (fasterexp (p) - fasterexp (-p)); -} - -static inline float -fastcosh (float p) -{ - return 0.5f * (fastexp (p) + fastexp (-p)); -} - -static inline float -fastercosh (float p) -{ - return 0.5f * (fasterexp (p) + fasterexp (-p)); -} - -static inline float -fasttanh (float p) -{ - return -1.0f + 2.0f / (1.0f + fastexp (-2.0f * p)); -} - -static inline float -fastertanh (float p) -{ - return -1.0f + 2.0f / (1.0f + fasterexp (-2.0f * p)); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastsinh (const v4sf p) -{ - const v4sf c_0_5 = v4sfl (0.5f); - - return c_0_5 * (vfastexp (p) - vfastexp (-p)); -} - -static inline v4sf -vfastersinh (const v4sf p) -{ - const v4sf c_0_5 = v4sfl (0.5f); - - return c_0_5 * (vfasterexp (p) - vfasterexp (-p)); -} - -static inline v4sf -vfastcosh (const v4sf p) -{ - const v4sf c_0_5 = v4sfl (0.5f); - - return c_0_5 * (vfastexp (p) + vfastexp (-p)); -} - -static inline v4sf -vfastercosh (const v4sf p) -{ - const v4sf c_0_5 = v4sfl (0.5f); - - return c_0_5 * (vfasterexp (p) + vfasterexp (-p)); -} - -static inline v4sf -vfasttanh (const v4sf p) -{ - const v4sf c_1 = v4sfl (1.0f); - const v4sf c_2 = v4sfl (2.0f); - - return -c_1 + c_2 / (c_1 + vfastexp (-c_2 * p)); -} - -static inline v4sf -vfastertanh (const v4sf p) -{ - const v4sf c_1 = v4sfl (1.0f); - const v4sf c_2 = v4sfl (2.0f); - - return -c_1 + c_2 / (c_1 + vfasterexp (-c_2 * p)); -} - -#endif //__SSE2__ - -#endif // __FAST_HYPERBOLIC_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_LAMBERT_W_H_ -#define __FAST_LAMBERT_W_H_ - -#include - -// these functions compute the upper branch aka W_0 - -static inline float -fastlambertw (float x) -{ - static const float threshold = 2.26445f; - - float c = (x < threshold) ? 1.546865557f : 1.0f; - float d = (x < threshold) ? 2.250366841f : 0.0f; - float a = (x < threshold) ? -0.737769969f : 0.0f; - - float logterm = fastlog (c * x + d); - float loglogterm = fastlog (logterm); - - float minusw = -a - logterm + loglogterm - loglogterm / logterm; - float expminusw = fastexp (minusw); - float xexpminusw = x * expminusw; - float pexpminusw = xexpminusw - minusw; - - return (2.0f * xexpminusw - minusw * (4.0f * xexpminusw - minusw * pexpminusw)) / - (2.0f + pexpminusw * (2.0f - minusw)); -} - -static inline float -fasterlambertw (float x) -{ - static const float threshold = 2.26445f; - - float c = (x < threshold) ? 1.546865557f : 1.0f; - float d = (x < threshold) ? 2.250366841f : 0.0f; - float a = (x < threshold) ? -0.737769969f : 0.0f; - - float logterm = fasterlog (c * x + d); - float loglogterm = fasterlog (logterm); - - float w = a + logterm - loglogterm + loglogterm / logterm; - float expw = fasterexp (-w); - - return (w * w + expw * x) / (1.0f + w); -} - -static inline float -fastlambertwexpx (float x) -{ - static const float k = 1.1765631309f; - static const float a = 0.94537622168f; - - float logarg = fmaxf (x, k); - float powarg = (x < k) ? a * (x - k) : 0; - - float logterm = fastlog (logarg); - float powterm = fasterpow2 (powarg); // don't need accuracy here - - float w = powterm * (logarg - logterm + logterm / logarg); - float logw = fastlog (w); - float p = x - logw; - - return w * (2.0f + p + w * (3.0f + 2.0f * p)) / - (2.0f - p + w * (5.0f + 2.0f * w)); -} - -static inline float -fasterlambertwexpx (float x) -{ - static const float k = 1.1765631309f; - static const float a = 0.94537622168f; - - float logarg = fmaxf (x, k); - float powarg = (x < k) ? a * (x - k) : 0; - - float logterm = fasterlog (logarg); - float powterm = fasterpow2 (powarg); - - float w = powterm * (logarg - logterm + logterm / logarg); - float logw = fasterlog (w); - - return w * (1.0f + x - logw) / (1.0f + w); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastlambertw (v4sf x) -{ - const v4sf threshold = v4sfl (2.26445f); - - v4sf under = _mm_cmplt_ps (x, threshold); - v4sf c = _mm_or_ps (_mm_and_ps (under, v4sfl (1.546865557f)), - _mm_andnot_ps (under, v4sfl (1.0f))); - v4sf d = _mm_and_ps (under, v4sfl (2.250366841f)); - v4sf a = _mm_and_ps (under, v4sfl (-0.737769969f)); - - v4sf logterm = vfastlog (c * x + d); - v4sf loglogterm = vfastlog (logterm); - - v4sf minusw = -a - logterm + loglogterm - loglogterm / logterm; - v4sf expminusw = vfastexp (minusw); - v4sf xexpminusw = x * expminusw; - v4sf pexpminusw = xexpminusw - minusw; - - return (v4sfl (2.0f) * xexpminusw - minusw * (v4sfl (4.0f) * xexpminusw - minusw * pexpminusw)) / - (v4sfl (2.0f) + pexpminusw * (v4sfl (2.0f) - minusw)); -} - -static inline v4sf -vfasterlambertw (v4sf x) -{ - const v4sf threshold = v4sfl (2.26445f); - - v4sf under = _mm_cmplt_ps (x, threshold); - v4sf c = _mm_or_ps (_mm_and_ps (under, v4sfl (1.546865557f)), - _mm_andnot_ps (under, v4sfl (1.0f))); - v4sf d = _mm_and_ps (under, v4sfl (2.250366841f)); - v4sf a = _mm_and_ps (under, v4sfl (-0.737769969f)); - - v4sf logterm = vfasterlog (c * x + d); - v4sf loglogterm = vfasterlog (logterm); - - v4sf w = a + logterm - loglogterm + loglogterm / logterm; - v4sf expw = vfasterexp (-w); - - return (w * w + expw * x) / (v4sfl (1.0f) + w); -} - -static inline v4sf -vfastlambertwexpx (v4sf x) -{ - const v4sf k = v4sfl (1.1765631309f); - const v4sf a = v4sfl (0.94537622168f); - const v4sf two = v4sfl (2.0f); - const v4sf three = v4sfl (3.0f); - const v4sf five = v4sfl (5.0f); - - v4sf logarg = _mm_max_ps (x, k); - v4sf powarg = _mm_and_ps (_mm_cmplt_ps (x, k), a * (x - k)); - - v4sf logterm = vfastlog (logarg); - v4sf powterm = vfasterpow2 (powarg); // don't need accuracy here - - v4sf w = powterm * (logarg - logterm + logterm / logarg); - v4sf logw = vfastlog (w); - v4sf p = x - logw; - - return w * (two + p + w * (three + two * p)) / - (two - p + w * (five + two * w)); -} - -static inline v4sf -vfasterlambertwexpx (v4sf x) -{ - const v4sf k = v4sfl (1.1765631309f); - const v4sf a = v4sfl (0.94537622168f); - - v4sf logarg = _mm_max_ps (x, k); - v4sf powarg = _mm_and_ps (_mm_cmplt_ps (x, k), a * (x - k)); - - v4sf logterm = vfasterlog (logarg); - v4sf powterm = vfasterpow2 (powarg); - - v4sf w = powterm * (logarg - logterm + logterm / logarg); - v4sf logw = vfasterlog (w); - - return w * (v4sfl (1.0f) + x - logw) / (v4sfl (1.0f) + w); -} - -#endif // __SSE2__ - -#endif // __FAST_LAMBERT_W_H_ - -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_POW_H_ -#define __FAST_POW_H_ - -#include - -static inline float -fastpow (float x, - float p) -{ - return fastpow2 (p * fastlog2 (x)); -} - -static inline float -fasterpow (float x, - float p) -{ - return fasterpow2 (p * fasterlog2 (x)); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastpow (const v4sf x, - const v4sf p) -{ - return vfastpow2 (p * vfastlog2 (x)); -} - -static inline v4sf -vfasterpow (const v4sf x, - const v4sf p) -{ - return vfasterpow2 (p * vfasterlog2 (x)); -} - -#endif //__SSE2__ - -#endif // __FAST_POW_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_SIGMOID_H_ -#define __FAST_SIGMOID_H_ - -#include - -static inline float -fastsigmoid (float x) -{ - return 1.0f / (1.0f + fastexp (-x)); -} - -static inline float -fastersigmoid (float x) -{ - return 1.0f / (1.0f + fasterexp (-x)); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastsigmoid (const v4sf x) -{ - const v4sf c_1 = v4sfl (1.0f); - - return c_1 / (c_1 + vfastexp (-x)); -} - -static inline v4sf -vfastersigmoid (const v4sf x) -{ - const v4sf c_1 = v4sfl (1.0f); - - return c_1 / (c_1 + vfasterexp (-x)); -} - -#endif //__SSE2__ - -#endif // __FAST_SIGMOID_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_TRIG_H_ -#define __FAST_TRIG_H_ - -#include - -// http://www.devmaster.net/forums/showthread.php?t=5784 -// fast sine variants are for x \in [ -\pi, pi ] -// fast cosine variants are for x \in [ -\pi, pi ] -// fast tangent variants are for x \in [ -\pi / 2, pi / 2 ] -// "full" versions of functions handle the entire range of inputs -// although the range reduction technique used here will be hopelessly -// inaccurate for |x| >> 1000 -// -// WARNING: fastsinfull, fastcosfull, and fasttanfull can be slower than -// libc calls on older machines (!) and on newer machines are only -// slighly faster. however: -// * vectorized versions are competitive -// * faster full versions are competitive - -static inline float -fastsin (float x) -{ - static const float fouroverpi = 1.2732395447351627f; - static const float fouroverpisq = 0.40528473456935109f; - static const float q = 0.78444488374548933f; - union { float f; uint32_t i; } p = { 0.20363937680730309f }; - union { float f; uint32_t i; } r = { 0.015124940802184233f }; - union { float f; uint32_t i; } s = { -0.0032225901625579573f }; - - union { float f; uint32_t i; } vx = { x }; - uint32_t sign = vx.i & 0x80000000; - vx.i = vx.i & 0x7FFFFFFF; - - float qpprox = fouroverpi * x - fouroverpisq * x * vx.f; - float qpproxsq = qpprox * qpprox; - - p.i |= sign; - r.i |= sign; - s.i ^= sign; - - return q * qpprox + qpproxsq * (p.f + qpproxsq * (r.f + qpproxsq * s.f)); -} - -static inline float -fastersin (float x) -{ - static const float fouroverpi = 1.2732395447351627f; - static const float fouroverpisq = 0.40528473456935109f; - static const float q = 0.77633023248007499f; - union { float f; uint32_t i; } p = { 0.22308510060189463f }; - - union { float f; uint32_t i; } vx = { x }; - uint32_t sign = vx.i & 0x80000000; - vx.i &= 0x7FFFFFFF; - - float qpprox = fouroverpi * x - fouroverpisq * x * vx.f; - - p.i |= sign; - - return qpprox * (q + p.f * qpprox); -} - -static inline float -fastsinfull (float x) -{ - static const float twopi = 6.2831853071795865f; - static const float invtwopi = 0.15915494309189534f; - - int k = x * invtwopi; - float half = (x < 0) ? -0.5f : 0.5f; - return fastsin ((half + k) * twopi - x); -} - -static inline float -fastersinfull (float x) -{ - static const float twopi = 6.2831853071795865f; - static const float invtwopi = 0.15915494309189534f; - - int k = x * invtwopi; - float half = (x < 0) ? -0.5f : 0.5f; - return fastersin ((half + k) * twopi - x); -} - -static inline float -fastcos (float x) -{ - static const float halfpi = 1.5707963267948966f; - static const float halfpiminustwopi = -4.7123889803846899f; - float offset = (x > halfpi) ? halfpiminustwopi : halfpi; - return fastsin (x + offset); -} - -static inline float -fastercos (float x) -{ - static const float twooverpi = 0.63661977236758134f; - static const float p = 0.54641335845679634f; - - union { float f; uint32_t i; } vx = { x }; - vx.i &= 0x7FFFFFFF; - - float qpprox = 1.0f - twooverpi * vx.f; - - return qpprox + p * qpprox * (1.0f - qpprox * qpprox); -} - -static inline float -fastcosfull (float x) -{ - static const float halfpi = 1.5707963267948966f; - return fastsinfull (x + halfpi); -} - -static inline float -fastercosfull (float x) -{ - static const float halfpi = 1.5707963267948966f; - return fastersinfull (x + halfpi); -} - -static inline float -fasttan (float x) -{ - static const float halfpi = 1.5707963267948966f; - return fastsin (x) / fastsin (x + halfpi); -} - -static inline float -fastertan (float x) -{ - return fastersin (x) / fastercos (x); -} - -static inline float -fasttanfull (float x) -{ - static const float twopi = 6.2831853071795865f; - static const float invtwopi = 0.15915494309189534f; - - int k = x * invtwopi; - float half = (x < 0) ? -0.5f : 0.5f; - float xnew = x - (half + k) * twopi; - - return fastsin (xnew) / fastcos (xnew); -} - -static inline float -fastertanfull (float x) -{ - static const float twopi = 6.2831853071795865f; - static const float invtwopi = 0.15915494309189534f; - - int k = x * invtwopi; - float half = (x < 0) ? -0.5f : 0.5f; - float xnew = x - (half + k) * twopi; - - return fastersin (xnew) / fastercos (xnew); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastsin (const v4sf x) -{ - const v4sf fouroverpi = v4sfl (1.2732395447351627f); - const v4sf fouroverpisq = v4sfl (0.40528473456935109f); - const v4sf q = v4sfl (0.78444488374548933f); - const v4sf p = v4sfl (0.20363937680730309f); - const v4sf r = v4sfl (0.015124940802184233f); - const v4sf s = v4sfl (-0.0032225901625579573f); - - union { v4sf f; v4si i; } vx = { x }; - v4si sign = vx.i & v4sil (0x80000000); - vx.i &= v4sil (0x7FFFFFFF); - - v4sf qpprox = fouroverpi * x - fouroverpisq * x * vx.f; - v4sf qpproxsq = qpprox * qpprox; - union { v4sf f; v4si i; } vy; vy.f = qpproxsq * (p + qpproxsq * (r + qpproxsq * s)); - vy.i ^= sign; - - return q * qpprox + vy.f; -} - -static inline v4sf -vfastersin (const v4sf x) -{ - const v4sf fouroverpi = v4sfl (1.2732395447351627f); - const v4sf fouroverpisq = v4sfl (0.40528473456935109f); - const v4sf q = v4sfl (0.77633023248007499f); - const v4sf plit = v4sfl (0.22308510060189463f); - union { v4sf f; v4si i; } p = { plit }; - - union { v4sf f; v4si i; } vx = { x }; - v4si sign = vx.i & v4sil (0x80000000); - vx.i &= v4sil (0x7FFFFFFF); - - v4sf qpprox = fouroverpi * x - fouroverpisq * x * vx.f; - - p.i |= sign; - - return qpprox * (q + p.f * qpprox); -} - -static inline v4sf -vfastsinfull (const v4sf x) -{ - const v4sf twopi = v4sfl (6.2831853071795865f); - const v4sf invtwopi = v4sfl (0.15915494309189534f); - - v4si k = v4sf_to_v4si (x * invtwopi); - - v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); - v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), - _mm_andnot_ps (ltzero, v4sfl (0.5f))); - - return vfastsin ((half + v4si_to_v4sf (k)) * twopi - x); -} - -static inline v4sf -vfastersinfull (const v4sf x) -{ - const v4sf twopi = v4sfl (6.2831853071795865f); - const v4sf invtwopi = v4sfl (0.15915494309189534f); - - v4si k = v4sf_to_v4si (x * invtwopi); - - v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); - v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), - _mm_andnot_ps (ltzero, v4sfl (0.5f))); - - return vfastersin ((half + v4si_to_v4sf (k)) * twopi - x); -} - -static inline v4sf -vfastcos (const v4sf x) -{ - const v4sf halfpi = v4sfl (1.5707963267948966f); - const v4sf halfpiminustwopi = v4sfl (-4.7123889803846899f); - v4sf lthalfpi = _mm_cmpnlt_ps (x, halfpi); - v4sf offset = _mm_or_ps (_mm_and_ps (lthalfpi, halfpiminustwopi), - _mm_andnot_ps (lthalfpi, halfpi)); - return vfastsin (x + offset); -} - -static inline v4sf -vfastercos (v4sf x) -{ - const v4sf twooverpi = v4sfl (0.63661977236758134f); - const v4sf p = v4sfl (0.54641335845679634); - - v4sf vx = v4sf_fabs (x); - v4sf qpprox = v4sfl (1.0f) - twooverpi * vx; - - return qpprox + p * qpprox * (v4sfl (1.0f) - qpprox * qpprox); -} - -static inline v4sf -vfastcosfull (const v4sf x) -{ - const v4sf halfpi = v4sfl (1.5707963267948966f); - return vfastsinfull (x + halfpi); -} - -static inline v4sf -vfastercosfull (const v4sf x) -{ - const v4sf halfpi = v4sfl (1.5707963267948966f); - return vfastersinfull (x + halfpi); -} - -static inline v4sf -vfasttan (const v4sf x) -{ - const v4sf halfpi = v4sfl (1.5707963267948966f); - return vfastsin (x) / vfastsin (x + halfpi); -} - -static inline v4sf -vfastertan (const v4sf x) -{ - return vfastersin (x) / vfastercos (x); -} - -static inline v4sf -vfasttanfull (const v4sf x) -{ - const v4sf twopi = v4sfl (6.2831853071795865f); - const v4sf invtwopi = v4sfl (0.15915494309189534f); - - v4si k = v4sf_to_v4si (x * invtwopi); - - v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); - v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), - _mm_andnot_ps (ltzero, v4sfl (0.5f))); - v4sf xnew = x - (half + v4si_to_v4sf (k)) * twopi; - - return vfastsin (xnew) / vfastcos (xnew); -} - -static inline v4sf -vfastertanfull (const v4sf x) -{ - const v4sf twopi = v4sfl (6.2831853071795865f); - const v4sf invtwopi = v4sfl (0.15915494309189534f); - - v4si k = v4sf_to_v4si (x * invtwopi); - - v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); - v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), - _mm_andnot_ps (ltzero, v4sfl (0.5f))); - v4sf xnew = x - (half + v4si_to_v4sf (k)) * twopi; - - return vfastersin (xnew) / vfastercos (xnew); -} - -#endif //__SSE2__ - -#endif // __FAST_TRIG_H_ diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/flow_network_explorator.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/flow_network_explorator.h deleted file mode 100644 index 1225864..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/flow_network_explorator.h +++ /dev/null @@ -1,509 +0,0 @@ -// OpenCV -#include -#include -// standard c++ includes -#include -#include -#include -#include -#include -#include -#include -#include -// Eigen library for matrix/vector computations -#include -// Coin-Or library with Cbc mixed integer programming solver -#include -#include -#include -#include -// Coin-Or library with Clp linear programming solver -#include -// Boost libraries -#include -#include -#include -// package specific includes -#include -#include -#include -#include -#include -// msgs -#include -#include -#include -// if available, use Gurobi -#ifdef GUROBI_FOUND - #include "gurobi_c++.h" -#endif - -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 11.2016 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -// This struct is used to create arcs for the flow network, used to plan a coverage path trough the given map. -struct arcStruct -{ - cv::Point start_point; - cv::Point end_point; - double weight; - std::vector edge_points; -}; - -// typedef for boost, defining a directed graph -typedef boost::adjacency_list directedGraph; - -// TODO: update -// This class provides a coverage path planning algorithm based on a flow network. It spans such a network by going trough -// the given room map with a sweep line and defining edges of it whenever it touches an obstacle. From this touchpoint -// the edge is generated in a distance along the sweep line, that is equivalent to the given coverage radius, because the -// free space should determine the area that should be covered after this procedure. After this the arcs of the network -// are generated by taking the distance of two edges as its weight (gives two directed edges), if the arc is not too long or -// not straight enough (to reduce the dimensionality). To find a coverage path trough this flow network then a linear -// program of the form -// min c^T*w -// -// s.t. Vc >= 1 (row-wise) -// sum(flows_into_node) - sum(flows_out_of_node) = 0; -// flows_into_nodes: variables corresponding to arcs flowing into an edge/node, excluding the final arcs -// flows_out_of_nodes: variables corresponding to arcs flowing out of an edge/node, excluding the start arcs -// sum(start_flows) = 1 -// sum(terminal_flows) = 1 -// sum(flows_of_subset) <= |subset|-1; for any node subset S with |S|>=2 -// c(i)={0;1} -// is solved, where 3 stages are taken, the initial step to start the path somewhere, the coverage stage in which the arcs -// should cover the most of the area and the final step where the path can be terminated. These three stages are necessary, -// because the second constraint ensures that the path is connected and not consisting of separated parts. The initial step -// then starts the path at the desired position and the final step allows a termination of this flow conservativity constraint. -// The first constraint ensures that each cell of the free space is covered. The fourth constraint simply ensures to start -// at the node that one specifies. The last constraint prevents that the solution consists of different cycles. A cycle would -// fulfill the conservativity constraint, but of course may not be connected to the rest of the path. By saying that the -// number of goen arcs in a subset of nodes has to be smaller than the size of the subset lesser 1, not all arcs can be -// gone together, which prevents cycles. These cosntraints are added in a lazy fashion, meaning that after a solution has -// been obtained it is checked if the constraints have been violated in any way. If so, the constraints are added and the -// model is resolved. This step repeats, until no more cycles, that are not connected to the rest of the path, appear. -// -#pragma once - -#define PI 3.14159265359 - -#ifdef GUROBI_FOUND - class CyclePreventionCallbackClass: public GRBCallback - { - public: - std::vector* vars; - int n; - std::vector > flows_out_of_nodes, flows_into_nodes; - std::vector start_arcs; - std::vector > lhs; - std::vector rhs; - - CyclePreventionCallbackClass(std::vector* xvars, int xn, const std::vector >& outflows, - const std::vector >& inflows, const std::vector& start_indices) - { - vars = xvars; - n = xn; - flows_out_of_nodes = outflows; - flows_into_nodes = inflows; - start_arcs = start_indices; - } - - protected: - void callback() - { - try - { - if (where==GRB_CB_MIPSOL) - { - // Found an integer feasible solution - std::vector solution(vars->size()); - for (int var=0; varsize(); var++) - { - double current_value = GRBCallback::getSolution(vars->operator[](var)); - solution[var] = (current_value>=0) ? current_value : 0.0; -// std::cout << solution[var] << std::endl; - } - - // check if cycles appear in the solution - // get the arcs that are used in the previously calculated solution - std::set used_arcs; // set that stores the indices of the arcs corresponding to non-zero elements in the solution - - // go trough the start arcs - std::cout << "getting used arcs: "; - // TODO: add again, better reading out of the paths -// for(uint start_arc=0; start_arc0.01) // precision of the solver -// { -// // insert start index -// used_arcs.insert(start_arcs[start_arc]); -// std::cout << start_arcs[start_arc] << " "; -// } -// } - - // go trough the coverage stage - std::cout << "| "; - for(uint cover_arc=start_arcs.size(); cover_arc0.01) // precision of the solver - { - // insert index, relative to the first coverage variable - used_arcs.insert(cover_arc-start_arcs.size()); - std::cout << cover_arc-start_arcs.size() << " "; - } - } - - std::cout << "| "; - // TODO: add again, better reading out of the paths - // go trough the final stage and find the remaining used arcs -// for(uint flow=start_arcs.size()+n; flow0.01) // precision of the solver -// { -// // insert saved outgoing flow index -// used_arcs.insert(flow-start_arcs.size()-n); -// std::cout << flow-start_arcs.size()-n << " "; -// } -// } - - std::cout << "got " << used_arcs.size() << " used arcs" << std::endl; - - // construct the directed edges out of the used arcs - std::vector > directed_edges; // vector that stores the directed edges for each node - for(uint start_node=0; start_node originating_flows; - bool originating = false; - for(std::set::iterator arc=used_arcs.begin(); arc!=used_arcs.end(); ++arc) - { - if(contains(flows_out_of_nodes[start_node], *arc)==true) - { - originating = true; - originating_flows.push_back(*arc); - } - } - - // if the arc is originating from this node, find its destination - std::vector current_directed_edges; - if(originating==true) - { - for(uint end_node=0; end_node::iterator arc=originating_flows.begin(); arc!=originating_flows.end(); ++arc) - if(contains(flows_into_nodes[end_node], *arc)==true) - current_directed_edges.push_back(end_node); - } - } - - // if the current node doesn't flow into another node insert a vector storing -1 - if(current_directed_edges.size()==0) - current_directed_edges.push_back(-1); - - // save the found used directed edges - directed_edges.push_back(current_directed_edges); - } - - // construct the support graph out of the directed edges - directedGraph support_graph(flows_out_of_nodes.size()); // initialize with the right number of edges - - int number_of_not_used_nodes = 0; - for(size_t start=0; start c(flows_into_nodes.size()); - int number_of_strong_components = boost::strong_components(support_graph, boost::make_iterator_property_map(c.begin(), boost::get(boost::vertex_index, support_graph), c[0])); - std::cout << "got " << number_of_strong_components << " strongly connected components" << std::endl; -// for (std::vector ::iterator i = c.begin(); i != c.end(); ++i) -// std::cout << "Vertex " << i - c.begin() << " is in component " << *i << std::endl; - - // check how many cycles there are in the solution (components with a size >= 2) - int number_of_cycles = 0; - std::set done_components; // set that stores the component indices for that the nodes already were found - for(std::vector::iterator comp=c.begin(); comp!=c.end(); ++comp) - { - // don't check a component more than one time - if(done_components.find(*comp)!=done_components.end()) - continue; - - int elements = std::count(c.begin(), c.end(), *comp); - if(elements>=2) - ++number_of_cycles; - - // check if a tsp path is computed (number of arcs is same as number of nodes), each arc is a strongly - // connected component itself or all the nodes belong to one strongly connected component - // TODO: add again, better reading out of the paths -// if(elements==used_arcs.size() || elements==flows_out_of_nodes.size()) -// number_of_cycles=0; - - // add it to done components - done_components.insert(*comp); - } - std::cout << "current number of cycles: " << number_of_cycles << std::endl; - - // if more than one cycle appears find it and add the prevention constraint to the problem and resolve it - if(number_of_cycles!=0) - { - // go trough the components and find components with more than 1 element in it - std::vector > cycle_nodes; - done_components.clear(); - for (int component=0; component current_component_nodes; - int elements = std::count(c.begin(), c.end(), c[component]); -// std::cout << c[component] << std::endl; - // TODO: if connected to rest of path --> okay, don't add constraint - if(elements>=2) - { -// std::cout << "size: " << elements << std::endl; - for(std::vector::iterator element=c.begin(); element!=c.end(); ++element) - { - if(*element==c[component]) - { - current_component_nodes.push_back(element-c.begin()); - } - } - - // save the found cycle - if(current_component_nodes.size()>0) - cycle_nodes.push_back(current_component_nodes); - - // add it to done components - done_components.insert(c[component]); - } - } - } - - // add the cycle prevention constraints for each found cycle to the optimization problem - for(size_t cycle=0; cycle cpc_indices; - std::vector cpc_coefficients; - for(size_t node=0; node::iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][node]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][node]].end(); ++outflow) - { - for(size_t neighbor=0; neighbor::const_iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].end(); ++outflow) -// { -// // if the current arc is used in the solution, search for it in the incoming flows of -// // the other nodes in the cycle -// if(used_arcs.find(*outflow)!=used_arcs.end()) -// for(size_t new_node=0; new_node::const_iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].end(); ++outflow) -// { -// // search for the current flow in the incoming flows of the other nodes in the cycle -// for(size_t new_node=0; new_node current_lhs; - for(size_t var=0; varoperator[](cpc_indices[var]); - current_lhs.push_back(cpc_coefficients[var]*cpc_indices[var]); -// std::cout << cpc_coefficients[var] << "*" << cpc_indices[var] << std::endl; - } -// std::cout << "adding lazy, size of rhs: " << cycle_nodes[cycle].size()-1 << std::endl; - addLazy(current_cpc_constraint<=cycle_nodes[cycle].size()-1); - lhs.push_back(current_lhs); - rhs.push_back(cycle_nodes[cycle].size()-1); - } - } - } - } - catch (GRBException e) - { - std::cout << "Error number: " << e.getErrorCode() << std::endl; - std::cout << e.getMessage() << std::endl; - } - catch (...) - { - std::cout << "Error during callback" << std::endl; - } - } - }; -#endif - -class FlowNetworkExplorator -{ -protected: - // function that is used to create and solve a Cbc optimization problem out of the given matrices and vectors, using - // the three-stage ansatz and single-flow cycle prevention constraints - void solveThreeStageOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector& weights, - const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, - const std::vector& start_arcs); - - // function that is used to create and solve a Gurobi optimization problem out of the given matrices and vectors, using - // the three-stage ansatz and lazy generalized cutset inequalities (GCI) - void solveGurobiOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector& weights, - const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, - const std::vector& start_arcs); - - // function that is used to create and solve a Cbc optimization problem out of the given matrices and vectors, using - // the three-stage ansatz and lazy generalized cutset inequalities (GCI) - void solveLazyConstraintOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector& weights, - const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, - const std::vector& start_arcs); - - // function that checks if the given point is more close enough to any point in the given vector - bool pointClose(const std::vector& points, const cv::Point& point, const double min_distance); - - // object that plans a path from A to B using the Astar method - AStarPlanner path_planner_; - -public: - // constructor - FlowNetworkExplorator(); - - // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), - // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions - // the robot should drive at. The footprint stores a polygon that is used to determine the visibility at a specific - // sensing pose. delta_theta provides an angular step to determine candidates for sensing poses. - void getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, - const cv::Point starting_position, const cv::Point2d map_origin, - const int cell_size, const Eigen::Matrix& robot_to_fov_middlepoint_vector, const float coverage_radius, - const bool plan_for_footprint, const double path_eps, const double curvature_factor, const double max_distance_factor); - - // test function - void testFunc(); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/grid.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/grid.h deleted file mode 100644 index d3c41a4..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/grid.h +++ /dev/null @@ -1,461 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2017 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 03.2017 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once -#include -#include - -class BoustrophedonLine -{ -public: - std::vector upper_line; // points of the upper part of the line (always filled first) - std::vector lower_line; // points of the potentially existing lower part of the line - bool has_two_valid_lines; // true if both lines, upper and lower, concurrently provide valid alternative points at some locations (i.e. only if this is true, there are two individual lines of places to visit) - - BoustrophedonLine() - : has_two_valid_lines(false) - { - } -}; - -class BoustrophedonGrid : public std::vector -{ -}; - -class GridGenerator -{ -public: - GridGenerator() - { - } - - // generates a standard grid with fixed spacing starting at the upper left accessible cell (if the map is provided - // with walls grown by the size of half robot radius, i.e. the map is eroded by the inaccessible areas) or starting at half grid distance - // from the walls (if the original map is provided). If the map is provided in its normal appearance, then the start_grid_at_first_free_pixel - // parameter should be set to false and the first grid center will be placed with appropriate distance to the walls. - // room_map = (optionally eroded) map of the room in [pixels] (erosion = growing of walls by robot radius --> inaccessible areas are already excluded) - // cell_centers = the computed grid cell center points in [pixels] - // cell_size = the grid spacing in [pixels] - // complete_cell_test = if this is set false, cells are only inserted to the grid if their centers are accessible. If set to true, then the cell - // is created if there are any accessible cells within the cell area. The cell center is however set to one of the accessible pixels. - // start_grid_at_first_free_pixel = if set to true, it is assumed that room_map is eroded by the inaccessible areas and hence the first cell center - // should be placed in the upper left pixel. If this is false, the cell center will be placed off the wall with - // cell_size spacing. - void generateStandardGrid(const cv::Mat& room_map, std::vector& cell_centers, const int cell_size, - const bool complete_cell_test=true, const bool start_grid_at_first_free_pixel=true) - { - // determine min and max coordinates of the room - int min_y = 1000000, max_y = 0, min_x = 1000000, max_x = 0; - for (int y=0; y(y,x)==255) - { - if(xmax_x) - max_x = x; - if(ymax_y) - max_y = y; - } - } - } - - // if the map was not eroded, the grid cell centers might be placed with cell_size/2 distance from the wall - const uint16_t half_cell_size = (uint16_t)cell_size/(uint16_t)2; // just ensure that the rounding is always reproducible - if (start_grid_at_first_free_pixel == false) - { - min_x += half_cell_size; - min_y += half_cell_size; - } - - // create the grid - if (complete_cell_test == true) - { - for(int y=min_y; y<=max_y; y+=cell_size) - { - for(int x=min_x; x<=max_x; x+=cell_size) - { - cv::Point cell_center(x,y); - if (completeCellTest(room_map, cell_center, cell_size) == true) - cell_centers.push_back(cell_center); - } - } - } - else - { - // only create cells where the cell center is accessible - for (int y=min_y; y<=max_y; y+=cell_size) - for (int x=min_x; x<=max_x; x+=cell_size) - if (room_map.at(y,x)==255) - cell_centers.push_back(cv::Point(x,y)); - } - } - - // checks the whole cell for accessible areas and sets cell_center to the cell-center-most accessible point in the cell - // room_map = the map with inaccessible areas = 0 and accessible areas = 255 - // cell_center = the provided cell center point to check, is updated with a new cell center if the original cell_center is not accessible but some other pixels in the cell around - // cell_size = the grid spacing in [pixels] - // returns true if any accessible cell was found in the cell area and then cell_center is returned with an updated value. If the cell does not contain - // any accessible pixel, the return value is false. - static bool completeCellTest(const cv::Mat& room_map, cv::Point& cell_center, const int cell_size) - { - const int x = cell_center.x; - const int y = cell_center.y; - if (room_map.at(y,x)==255) - { - // just take cell center if accessible - return true; - } - else - { - const uint16_t half_cell_size = (uint16_t)cell_size/(uint16_t)2; // just ensure that the rounding is always reproducible - const bool even_grid_size = ((cell_size%2)==0); - - // check whether there are accessible pixels within the cell - const int upper_bound = even_grid_size==true ? half_cell_size-1 : half_cell_size; // adapt the neighborhood accordingly for even and odd grid sizes - cv::Mat cell_pixels = cv::Mat::zeros(cell_size, cell_size, CV_8UC1); - int accessible_pixels = 0; - for (int dy=-half_cell_size; dy<=upper_bound; ++dy) - { - for (int dx=-half_cell_size; dx<=upper_bound; ++dx) - { - const int nx = x+dx; - const int ny = y+dy; - if (nx<0 || nx>=room_map.cols || ny<0 || ny>=room_map.rows) - continue; - if (room_map.at(ny,nx)==255) - { - ++accessible_pixels; - cell_pixels.at(half_cell_size+dy, half_cell_size+dx) = 255; - } - } - } - // if there are accessible pixels within the cell, find their center and use this as cell center - if (accessible_pixels>0) - { - // use distance transform to find the pixels with maximum distance to obstacles, take from the maximum distance pixels the one - // closest to the original cell center - cv::Mat distances; -#if CV_MAJOR_VERSION<=3 - cv::distanceTransform(cell_pixels, distances, CV_DIST_L2, 5); -#else - cv::distanceTransform(cell_pixels, distances, cv::DIST_L2, 5); -#endif - double max_distance = 0.; - cv::minMaxLoc(distances, 0, &max_distance, 0, &cell_center); - cell_center.x += x-half_cell_size; - cell_center.y += y-half_cell_size; - // if there are multiple candidates with same max distance, take the one closest to the center - double min_squared_center_distance = (x-cell_center.x)*(x-cell_center.x) + (y-cell_center.y)*(y-cell_center.y); - for (int v=0; v(v,u)==max_distance) - { - const double squared_center_distance = (u-half_cell_size)*(u-half_cell_size)+(v-half_cell_size)*(v-half_cell_size); - if (squared_center_distance < min_squared_center_distance) - { - cell_center = cv::Point(x-half_cell_size+u, y-half_cell_size+v); - min_squared_center_distance = squared_center_distance; - } - } - } - } - - // display new center point -// cv::Mat disp = distances.clone(); -// cv::Mat disp2; -// cv::normalize(disp, disp, 0, 1., cv::NORM_MINMAX); -// cv::resize(disp, disp2, cv::Size(), 10., 10., cv::INTER_AREA); -// cv::circle(disp2, 10*cv::Point(cell_center.x-x+half_cell_size, cell_center.y-y+half_cell_size), 2, cv::Scalar(0), CV_FILLED); -// cv::imshow("distance transform", disp2); -// cv::waitKey(); - - return true; - } - } - return false; - } - - - // Generates a grid with fixed vertical spacing and variable distance between the points in a line (parameter), s.t. the algorithm may create - // ordinary grid points or horizontal lines with defined vertical spacing. The generator considers obstacle safety distances and only places - // grid cells with sufficient distance to obstacles (parameter). If a grid point cannot be placed because it would be located in an obstacle - // or in the inaccessible area around an obstacle, then the algorithm tries to shift the point vertically up and down up to grid_spacing - // (parameter) units. As soon as it finds free space, the grid point is set there. It can happen that such a free point exists above and below - // the original placement of the grid point. Then the two options are store in an upper and lower trajectory and the user must later chose how - // to deal with these option. - // room_map = original map of the room as a CV_8UC1 map with 0=obstacles, 255=free space, in [pixels] - // inflated_room_map = map of the room with inflated obstacles (can be provided, if cv::Mat() is provided, it is computed here with map_inflation_radius) - // map_inflation_radius = the number of pixels obstacles shall be inflated if no precomputed inflated_room_map is provided (map_inflation_radius can be -1 otherwise), in [pixels] - // grid_points = a vector of BoustrophedonLine objects, each of them containing line information in upper_line and optionally another line in lower_line if two_valid_lines is true, in [pixels] - // min_max_map_coordinates = optionally precomputed min/max coordinates (min_x, max_x, min_y, max_y) of the free space in inflated_room_map, if cv::Vec4i(-1,-1,-1,-1) is provided, min/max map coordinates are computed by this function, in [pixels] - // grid_spacing = the basic distance between two grid cell centers, is used for vertical grid spacing, in [pixels] - // half_grid_spacing = the rounded half distance between two grid cell centers (the user shall define how it is rounded), in [pixels] - // grid_spacing_horizontal = this value allows to specify the horizontal basic distance between two grid cell centers, it can be set to grid_spacing if the basic horizontal spacing shall be identical to the vertical spacing, in [pixels] - // max_deviation_from_track = maximal allowed shift off the track to both sides for avoiding obstacles on track, setting max_deviation_from_track=grid_spacing is usually a good choice, for negative values max_deviation_from_track is set to grid_spacing, in [pixels] - static void generateBoustrophedonGrid(const cv::Mat& room_map, cv::Mat& inflated_room_map, const int map_inflation_radius, - BoustrophedonGrid& grid_points, const cv::Vec4i& min_max_map_coordinates, const int grid_spacing, const int half_grid_spacing, - const int grid_spacing_horizontal, int max_deviation_from_track = -1) - { - if (max_deviation_from_track < 0) - max_deviation_from_track = grid_spacing; - - // compute inflated_room_map if not provided - if (inflated_room_map.rows!=room_map.rows || inflated_room_map.cols!=room_map.cols) - cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), map_inflation_radius); - - // compute min/max map coordinates if necessary - int min_x=inflated_room_map.cols, max_x=-1, min_y=inflated_room_map.rows, max_y=-1; - if (min_max_map_coordinates[0]==-1 && min_max_map_coordinates[1]==-1 && min_max_map_coordinates[2]==-1 && min_max_map_coordinates[3]==-1) - { - for (int v=0; v(v,u) == 255) - { - if (min_x > u) - min_x = u; - if (max_x < u) - max_x = u; - if (min_y > v) - min_y = v; - if (max_y < v) - max_y = v; - } - } - } - } - else - { - min_x = min_max_map_coordinates[0]; - max_x = min_max_map_coordinates[1]; - min_y = min_max_map_coordinates[2]; - max_y = min_max_map_coordinates[3]; - } - // if the room has no accessible cells, hence no min/max coordinates, return - if ((min_x==inflated_room_map.cols) || (max_x==-1) || (min_y==inflated_room_map.rows) || (max_y==-1)) - return; - - // create grid - const int squared_grid_spacing_horizontal = grid_spacing_horizontal*grid_spacing_horizontal; - //std::cout << "((max_y - min_y) <= grid_spacing): min_y=" << min_y << " max_y=" << max_y << " grid_spacing=" << grid_spacing << std::endl; - int y=min_y; - // loop through the vertical grid lines with regular grid spacing - for (; y<=max_y+half_grid_spacing; y += grid_spacing) // we use max_y+half_grid_spacing as upper bound to cover the bottom-most line as well - { - if (y > max_y) // this should happen at most once for the bottom line - y = max_y; - - BoustrophedonLine line; - const cv::Point invalid_point(-1,-1); - cv::Point last_added_grid_point_above(-10000,-10000), last_added_grid_point_below(-10000,-10000); // for keeping the horizontal grid distance - cv::Point last_valid_grid_point_above(-1,-1), last_valid_grid_point_below(-1,-1); // for adding the rightmost possible point - // loop through the horizontal grid points with horizontal grid spacing length - for (int x=min_x; x<=max_x; x+=1) - { - // points are added to the grid line as follows: - // 1. if the original point is accessible --> point is added to upper_line, invalid point (-1,-1) is added to lower_line - // 2. if the original point is not accessible: - // a) and no other point in the y-vicinity --> upper_line and lower_line are not updated - // b) but some point above and none below --> valid point is added to upper_line, invalid point (-1,-1) is added to lower_line - // c) but some point below and none above --> valid point is added to lower_line, invalid point (-1,-1) is added to upper_line - // d) but some point below and above are --> valid points are added to upper_line and lower_line, respectively - - // 1. check accessibility on regular location - if (inflated_room_map.at(y,x)==255) - { - if (squaredPointDistance(last_added_grid_point_above,cv::Point(x,y))>=squared_grid_spacing_horizontal) - { - line.upper_line.push_back(cv::Point(x,y)); - line.lower_line.push_back(invalid_point); - last_added_grid_point_above = cv::Point(x,y); - } - else - last_valid_grid_point_above = cv::Point(x,y); // store this point and add it to the upper line if it was the rightmost point - } - // todo: add parameter to switch else branch off - else // 2. check accessibility above or below the targeted point - { - // check accessibility above the target location - bool found_above = false; - int dy = -1; - for (; dy>-max_deviation_from_track; --dy) - { - if (y+dy>=0 && inflated_room_map.at(y+dy,x)==255) - { - found_above = true; - break; - } - } - if (found_above == true) - { - if (squaredPointDistance(last_added_grid_point_above,cv::Point(x,y+dy))>=squared_grid_spacing_horizontal) - { - line.upper_line.push_back(cv::Point(x,y+dy)); - line.lower_line.push_back(invalid_point); // can be overwritten below if this point also exists - last_added_grid_point_above = cv::Point(x,y+dy); - } - else - last_valid_grid_point_above = cv::Point(x,y+dy); // store this point and add it to the upper line if it was the rightmost point - } - - // check accessibility below the target location - bool found_below = false; - dy = 1; - for (; dy(y+dy,x)==255) - { - found_below = true; - break; - } - } - if (found_below == true) - { - if (squaredPointDistance(last_added_grid_point_below,cv::Point(x,y+dy))>=squared_grid_spacing_horizontal) - { - if (found_above == true) // update the existing entry - { - line.has_two_valid_lines = true; - line.lower_line.back().x = x; - line.lower_line.back().y = y+dy; - } - else // create a new entry - { - line.upper_line.push_back(invalid_point); - line.lower_line.push_back(cv::Point(x,y+dy)); - } - last_added_grid_point_below = cv::Point(x,y+dy); - } - else - last_valid_grid_point_below = cv::Point(x,y+dy); // store this point and add it to the lower line if it was the rightmost point - } - } - } - // add the rightmost points if available - if (last_valid_grid_point_above.x > -1 && last_valid_grid_point_above.x > last_added_grid_point_above.x) - { - // upper point is valid - line.upper_line.push_back(last_valid_grid_point_above); - if (last_valid_grid_point_below.x > -1 && last_valid_grid_point_below.x > last_added_grid_point_below.x) - line.lower_line.push_back(last_valid_grid_point_below); - else - line.lower_line.push_back(invalid_point); - } - else - { - // upper point is invalid - if (last_valid_grid_point_below.x > -1 && last_valid_grid_point_below.x > last_added_grid_point_below.x) - { - // lower point is valid - line.upper_line.push_back(invalid_point); - line.lower_line.push_back(last_valid_grid_point_below); - } - } - - // clean the grid line data - // 1. if there are no valid points --> do not add the line - // 2. if two_valid_lines is true, there are two individual lines available with places to visit - // 3. else there is just one valid line with data potentially distributed over upper_line and lower_line - BoustrophedonLine cleaned_line; - if (line.upper_line.size()>0 && line.lower_line.size()>0) // 1. check that there is valid data in the lines - { - // 2. if two_valid_lines is true, create two individual lines with places to visit - if (line.has_two_valid_lines == true) - { - cleaned_line.has_two_valid_lines = true; - for (size_t i=0; i. - * - ****************************************************************/ - -#include -#include -#include -#include -#include -#include - -#include - -#include -#include -#include -#include -#include - -#include -#include -#include - - - -// Class that generates a room exploration path by laying a small grid over the given map and then planning the best path trough -// all points, by defining an traveling salesman problem (TSP). This class only produces a static path, regarding the given map -// in form of a point series. To react on dynamic obstacles, one has to do this in upper algorithms. -// -class GridPointExplorator -{ -public: - // constructor - GridPointExplorator(); - - // separate, interruptible thread for the external solvers - void tsp_solver_thread_concorde(ConcordeTSPSolver& tsp_solver, std::vector& optimal_order, - const cv::Mat& distance_matrix, const std::map& cleaned_index_to_original_index_mapping, const int start_node); - - void tsp_solver_thread_genetic(GeneticTSPSolver& tsp_solver, std::vector& optimal_order, - const cv::Mat& distance_matrix, const std::map& cleaned_index_to_original_index_mapping, const int start_node); - - void tsp_solver_thread(const int tsp_solver, std::vector& optimal_order, const cv::Mat& original_map, - const std::vector& points, const double downsampling_factor, const double robot_radius, const double map_resolution, - const int start_node); - - // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), - // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions - // the robot should drive at. - void getExplorationPath(const cv::Mat& room_map, std::vector& path, const double map_resolution, - const cv::Point starting_position, const cv::Point2d map_origin, const int cell_size, const bool plan_for_footprint, - const Eigen::Matrix robot_to_fov_vector, int tsp_solver, int64_t tsp_solver_timeout); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/histogram.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/histogram.h deleted file mode 100644 index 152b055..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/histogram.h +++ /dev/null @@ -1,132 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 02.2017 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once - -#include -#include - -template -class Histogram -{ -public: - Histogram(const T lower_bound, const T upper_bound, const size_t histogram_bins) - { - lower_bound_ = lower_bound; - upper_bound_ = upper_bound; - range_inverse_ = 1.0/(upper_bound_-lower_bound_); - histogram_bins_ = histogram_bins; - data_.resize(histogram_bins); - for (size_t i=0; i(val, weight)); - } - - size_t getMaxBin() - { - double max_val = 0.; - size_t max_bin = 0; - for (size_t i=0; i > RawData; - - std::vector data_; // stores the histogram - std::vector raw_data_; // stores all entered data pairs (data, weight) for each histogram bin - T lower_bound_; // lowest possible value - T upper_bound_; // highest possible value - T range_inverse_; // = 1.0/(upper_bound_-lower_bound_) - size_t histogram_bins_; // number of histogram bins -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/meanshift2d.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/meanshift2d.h deleted file mode 100644 index d1ae641..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/meanshift2d.h +++ /dev/null @@ -1,78 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_segmentation - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: - * - * \date Date of creation: 22.07.2015 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#include - -#include -#include - -#pragma once - -class MeanShift2D -{ -public: - MeanShift2D(void) {}; - - void filter(const std::vector& data, std::vector& filtered_data, const double bandwidth, const int maximumIterations=100); - - void computeConvergencePoints(const std::vector& filtered_data, std::vector& convergence_points, std::vector< std::vector >& convergence_sets, const double sensitivity); - - // map_resolution in [m/cell] - cv::Vec2d findRoomCenter(const cv::Mat& room_image, const std::vector& room_cells, double map_resolution); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/nanoflann.hpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/nanoflann.hpp deleted file mode 100644 index 445aa29..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/nanoflann.hpp +++ /dev/null @@ -1,1398 +0,0 @@ -/*********************************************************************** - * Software License Agreement (BSD License) - * - * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. - * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. - * Copyright 2011-2016 Jose Luis Blanco (joseluisblancoc@gmail.com). - * All rights reserved. - * - * THE BSD LICENSE - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - *************************************************************************/ - -/** \mainpage nanoflann C++ API documentation - * nanoflann is a C++ header-only library for building KD-Trees, mostly - * optimized for 2D or 3D point clouds. - * - * nanoflann does not require compiling or installing, just an - * #include in your code. - * - * See: - * - C++ API organized by modules - * - Online README - * - Doxygen documentation - */ - -#ifndef NANOFLANN_HPP_ -#define NANOFLANN_HPP_ - -#include -#include -#include -#include -#include // for fwrite() -#include // for abs() -#include // for abs() -#include - -// Avoid conflicting declaration of min/max macros in windows headers -#if !defined(NOMINMAX) && (defined(_WIN32) || defined(_WIN32_) || defined(WIN32) || defined(_WIN64)) -# define NOMINMAX -# ifdef max -# undef max -# undef min -# endif -#endif - -namespace nanoflann -{ -/** @addtogroup nanoflann_grp nanoflann C++ library for ANN - * @{ */ - - /** Library version: 0xMmP (M=Major,m=minor,P=patch) */ - #define NANOFLANN_VERSION 0x123 - - /** @addtogroup result_sets_grp Result set classes - * @{ */ - template - class KNNResultSet - { - IndexType * indices; - DistanceType* dists; - CountType capacity; - CountType count; - - public: - inline KNNResultSet(CountType capacity_) : indices(0), dists(0), capacity(capacity_), count(0) - { - } - - inline void init(IndexType* indices_, DistanceType* dists_) - { - indices = indices_; - dists = dists_; - count = 0; - if (capacity) - dists[capacity-1] = (std::numeric_limits::max)(); - } - - inline CountType size() const - { - return count; - } - - inline bool full() const - { - return count == capacity; - } - - - inline void addPoint(DistanceType dist, IndexType index) - { - CountType i; - for (i=count; i>0; --i) { -#ifdef NANOFLANN_FIRST_MATCH // If defined and two points have the same distance, the one with the lowest-index will be returned first. - if ( (dists[i-1]>dist) || ((dist==dists[i-1])&&(indices[i-1]>index)) ) { -#else - if (dists[i-1]>dist) { -#endif - if (i - class RadiusResultSet - { - public: - const DistanceType radius; - - std::vector >& m_indices_dists; - - inline RadiusResultSet(DistanceType radius_, std::vector >& indices_dists) : radius(radius_), m_indices_dists(indices_dists) - { - init(); - } - - inline ~RadiusResultSet() { } - - inline void init() { clear(); } - inline void clear() { m_indices_dists.clear(); } - - inline size_t size() const { return m_indices_dists.size(); } - - inline bool full() const { return true; } - - inline void addPoint(DistanceType dist, IndexType index) - { - if (dist 0 - */ - std::pair worst_item() const - { - if (m_indices_dists.empty()) throw std::runtime_error("Cannot invoke RadiusResultSet::worst_item() on an empty list of results."); - typedef typename std::vector >::const_iterator DistIt; - DistIt it = std::max_element(m_indices_dists.begin(), m_indices_dists.end()); - return *it; - } - }; - - /** operator "<" for std::sort() */ - struct IndexDist_Sorter - { - /** PairType will be typically: std::pair */ - template - inline bool operator()(const PairType &p1, const PairType &p2) const { - return p1.second < p2.second; - } - }; - - /** @} */ - - - /** @addtogroup loadsave_grp Load/save auxiliary functions - * @{ */ - template - void save_value(FILE* stream, const T& value, size_t count = 1) - { - fwrite(&value, sizeof(value),count, stream); - } - - template - void save_value(FILE* stream, const std::vector& value) - { - size_t size = value.size(); - fwrite(&size, sizeof(size_t), 1, stream); - fwrite(&value[0], sizeof(T), size, stream); - } - - template - void load_value(FILE* stream, T& value, size_t count = 1) - { - size_t read_cnt = fread(&value, sizeof(value), count, stream); - if (read_cnt != count) { - throw std::runtime_error("Cannot read from file"); - } - } - - - template - void load_value(FILE* stream, std::vector& value) - { - size_t size; - size_t read_cnt = fread(&size, sizeof(size_t), 1, stream); - if (read_cnt!=1) { - throw std::runtime_error("Cannot read from file"); - } - value.resize(size); - read_cnt = fread(&value[0], sizeof(T), size, stream); - if (read_cnt!=size) { - throw std::runtime_error("Cannot read from file"); - } - } - /** @} */ - - - /** @addtogroup metric_grp Metric (distance) classes - * @{ */ - - /** Manhattan distance functor (generic version, optimized for high-dimensionality data sets). - * Corresponding distance traits: nanoflann::metric_L1 - * \tparam T Type of the elements (e.g. double, float, uint8_t) - * \tparam _DistanceType Type of distance variables (must be signed) (e.g. float, double, int64_t) - */ - template - struct L1_Adaptor - { - typedef T ElementType; - typedef _DistanceType DistanceType; - - const DataSource &data_source; - - L1_Adaptor(const DataSource &_data_source) : data_source(_data_source) { } - - inline DistanceType operator()(const T* a, const size_t b_idx, size_t size, DistanceType worst_dist = -1) const - { - DistanceType result = DistanceType(); - const T* last = a + size; - const T* lastgroup = last - 3; - size_t d = 0; - - /* Process 4 items with each loop for efficiency. */ - while (a < lastgroup) { - const DistanceType diff0 = std::abs(a[0] - data_source.kdtree_get_pt(b_idx,d++)); - const DistanceType diff1 = std::abs(a[1] - data_source.kdtree_get_pt(b_idx,d++)); - const DistanceType diff2 = std::abs(a[2] - data_source.kdtree_get_pt(b_idx,d++)); - const DistanceType diff3 = std::abs(a[3] - data_source.kdtree_get_pt(b_idx,d++)); - result += diff0 + diff1 + diff2 + diff3; - a += 4; - if ((worst_dist>0)&&(result>worst_dist)) { - return result; - } - } - /* Process last 0-3 components. Not needed for standard vector lengths. */ - while (a < last) { - result += std::abs( *a++ - data_source.kdtree_get_pt(b_idx,d++) ); - } - return result; - } - - template - inline DistanceType accum_dist(const U a, const V b, int ) const - { - return std::abs(a-b); - } - }; - - /** Squared Euclidean distance functor (generic version, optimized for high-dimensionality data sets). - * Corresponding distance traits: nanoflann::metric_L2 - * \tparam T Type of the elements (e.g. double, float, uint8_t) - * \tparam _DistanceType Type of distance variables (must be signed) (e.g. float, double, int64_t) - */ - template - struct L2_Adaptor - { - typedef T ElementType; - typedef _DistanceType DistanceType; - - const DataSource &data_source; - - L2_Adaptor(const DataSource &_data_source) : data_source(_data_source) { } - - inline DistanceType operator()(const T* a, const size_t b_idx, size_t size, DistanceType worst_dist = -1) const - { - DistanceType result = DistanceType(); - const T* last = a + size; - const T* lastgroup = last - 3; - size_t d = 0; - - /* Process 4 items with each loop for efficiency. */ - while (a < lastgroup) { - const DistanceType diff0 = a[0] - data_source.kdtree_get_pt(b_idx,d++); - const DistanceType diff1 = a[1] - data_source.kdtree_get_pt(b_idx,d++); - const DistanceType diff2 = a[2] - data_source.kdtree_get_pt(b_idx,d++); - const DistanceType diff3 = a[3] - data_source.kdtree_get_pt(b_idx,d++); - result += diff0 * diff0 + diff1 * diff1 + diff2 * diff2 + diff3 * diff3; - a += 4; - if ((worst_dist>0)&&(result>worst_dist)) { - return result; - } - } - /* Process last 0-3 components. Not needed for standard vector lengths. */ - while (a < last) { - const DistanceType diff0 = *a++ - data_source.kdtree_get_pt(b_idx,d++); - result += diff0 * diff0; - } - return result; - } - - template - inline DistanceType accum_dist(const U a, const V b, int ) const - { - return (a-b)*(a-b); - } - }; - - /** Squared Euclidean (L2) distance functor (suitable for low-dimensionality datasets, like 2D or 3D point clouds) - * Corresponding distance traits: nanoflann::metric_L2_Simple - * \tparam T Type of the elements (e.g. double, float, uint8_t) - * \tparam _DistanceType Type of distance variables (must be signed) (e.g. float, double, int64_t) - */ - template - struct L2_Simple_Adaptor - { - typedef T ElementType; - typedef _DistanceType DistanceType; - - const DataSource &data_source; - - L2_Simple_Adaptor(const DataSource &_data_source) : data_source(_data_source) { } - - inline DistanceType operator()(const T* a, const size_t b_idx, size_t size) const { - return data_source.kdtree_distance(a,b_idx,size); - } - - template - inline DistanceType accum_dist(const U a, const V b, int ) const - { - return (a-b)*(a-b); - } - }; - - /** Metaprogramming helper traits class for the L1 (Manhattan) metric */ - struct metric_L1 { - template - struct traits { - typedef L1_Adaptor distance_t; - }; - }; - /** Metaprogramming helper traits class for the L2 (Euclidean) metric */ - struct metric_L2 { - template - struct traits { - typedef L2_Adaptor distance_t; - }; - }; - /** Metaprogramming helper traits class for the L2_simple (Euclidean) metric */ - struct metric_L2_Simple { - template - struct traits { - typedef L2_Simple_Adaptor distance_t; - }; - }; - - /** @} */ - - /** @addtogroup param_grp Parameter structs - * @{ */ - - /** Parameters (see README.md) */ - struct KDTreeSingleIndexAdaptorParams - { - KDTreeSingleIndexAdaptorParams(size_t _leaf_max_size = 10) : - leaf_max_size(_leaf_max_size) - {} - - size_t leaf_max_size; - }; - - /** Search options for KDTreeSingleIndexAdaptor::findNeighbors() */ - struct SearchParams - { - /** Note: The first argument (checks_IGNORED_) is ignored, but kept for compatibility with the FLANN interface */ - SearchParams(int checks_IGNORED_ = 32, float eps_ = 0, bool sorted_ = true ) : - checks(checks_IGNORED_), eps(eps_), sorted(sorted_) {} - - int checks; //!< Ignored parameter (Kept for compatibility with the FLANN interface). - float eps; //!< search for eps-approximate neighbours (default: 0) - bool sorted; //!< only for radius search, require neighbours sorted by distance (default: true) - }; - /** @} */ - - - /** @addtogroup memalloc_grp Memory allocation - * @{ */ - - /** - * Allocates (using C's malloc) a generic type T. - * - * Params: - * count = number of instances to allocate. - * Returns: pointer (of type T*) to memory buffer - */ - template - inline T* allocate(size_t count = 1) - { - T* mem = static_cast( ::malloc(sizeof(T)*count)); - return mem; - } - - - /** - * Pooled storage allocator - * - * The following routines allow for the efficient allocation of storage in - * small chunks from a specified pool. Rather than allowing each structure - * to be freed individually, an entire pool of storage is freed at once. - * This method has two advantages over just using malloc() and free(). First, - * it is far more efficient for allocating small objects, as there is - * no overhead for remembering all the information needed to free each - * object or consolidating fragmented memory. Second, the decision about - * how long to keep an object is made at the time of allocation, and there - * is no need to track down all the objects to free them. - * - */ - - const size_t WORDSIZE=16; - const size_t BLOCKSIZE=8192; - - class PooledAllocator - { - /* We maintain memory alignment to word boundaries by requiring that all - allocations be in multiples of the machine wordsize. */ - /* Size of machine word in bytes. Must be power of 2. */ - /* Minimum number of bytes requested at a time from the system. Must be multiple of WORDSIZE. */ - - - size_t remaining; /* Number of bytes left in current block of storage. */ - void* base; /* Pointer to base of current block of storage. */ - void* loc; /* Current location in block to next allocate memory. */ - - void internal_init() - { - remaining = 0; - base = NULL; - usedMemory = 0; - wastedMemory = 0; - } - - public: - size_t usedMemory; - size_t wastedMemory; - - /** - Default constructor. Initializes a new pool. - */ - PooledAllocator() { - internal_init(); - } - - /** - * Destructor. Frees all the memory allocated in this pool. - */ - ~PooledAllocator() { - free_all(); - } - - /** Frees all allocated memory chunks */ - void free_all() - { - while (base != NULL) { - void *prev = *(static_cast( base)); /* Get pointer to prev block. */ - ::free(base); - base = prev; - } - internal_init(); - } - - /** - * Returns a pointer to a piece of new memory of the given size in bytes - * allocated from the pool. - */ - void* malloc(const size_t req_size) - { - /* Round size up to a multiple of wordsize. The following expression - only works for WORDSIZE that is a power of 2, by masking last bits of - incremented size to zero. - */ - const size_t size = (req_size + (WORDSIZE - 1)) & ~(WORDSIZE - 1); - - /* Check whether a new block must be allocated. Note that the first word - of a block is reserved for a pointer to the previous block. - */ - if (size > remaining) { - - wastedMemory += remaining; - - /* Allocate new storage. */ - const size_t blocksize = (size + sizeof(void*) + (WORDSIZE-1) > BLOCKSIZE) ? - size + sizeof(void*) + (WORDSIZE-1) : BLOCKSIZE; - - // use the standard C malloc to allocate memory - void* m = ::malloc(blocksize); - if (!m) { - fprintf(stderr,"Failed to allocate memory.\n"); - return NULL; - } - - /* Fill first word of new block with pointer to previous block. */ - static_cast(m)[0] = base; - base = m; - - size_t shift = 0; - //int size_t = (WORDSIZE - ( (((size_t)m) + sizeof(void*)) & (WORDSIZE-1))) & (WORDSIZE-1); - - remaining = blocksize - sizeof(void*) - shift; - loc = (static_cast(m) + sizeof(void*) + shift); - } - void* rloc = loc; - loc = static_cast(loc) + size; - remaining -= size; - - usedMemory += size; - - return rloc; - } - - /** - * Allocates (using this pool) a generic type T. - * - * Params: - * count = number of instances to allocate. - * Returns: pointer (of type T*) to memory buffer - */ - template - T* allocate(const size_t count = 1) - { - T* mem = static_cast(this->malloc(sizeof(T)*count)); - return mem; - } - - }; - /** @} */ - - /** @addtogroup nanoflann_metaprog_grp Auxiliary metaprogramming stuff - * @{ */ - - // ---------------- CArray ------------------------- - /** A STL container (as wrapper) for arrays of constant size defined at compile time (class imported from the MRPT project) - * This code is an adapted version from Boost, modifed for its integration - * within MRPT (JLBC, Dec/2009) (Renamed array -> CArray to avoid possible potential conflicts). - * See - * http://www.josuttis.com/cppcode - * for details and the latest version. - * See - * http://www.boost.org/libs/array for Documentation. - * for documentation. - * - * (C) Copyright Nicolai M. Josuttis 2001. - * Permission to copy, use, modify, sell and distribute this software - * is granted provided this copyright notice appears in all copies. - * This software is provided "as is" without express or implied - * warranty, and with no claim as to its suitability for any purpose. - * - * 29 Jan 2004 - minor fixes (Nico Josuttis) - * 04 Dec 2003 - update to synch with library TR1 (Alisdair Meredith) - * 23 Aug 2002 - fix for Non-MSVC compilers combined with MSVC libraries. - * 05 Aug 2001 - minor update (Nico Josuttis) - * 20 Jan 2001 - STLport fix (Beman Dawes) - * 29 Sep 2000 - Initial Revision (Nico Josuttis) - * - * Jan 30, 2004 - */ - template - class CArray { - public: - T elems[N]; // fixed-size array of elements of type T - - public: - // type definitions - typedef T value_type; - typedef T* iterator; - typedef const T* const_iterator; - typedef T& reference; - typedef const T& const_reference; - typedef std::size_t size_type; - typedef std::ptrdiff_t difference_type; - - // iterator support - inline iterator begin() { return elems; } - inline const_iterator begin() const { return elems; } - inline iterator end() { return elems+N; } - inline const_iterator end() const { return elems+N; } - - // reverse iterator support -#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS) - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; -#elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB == 310) - // workaround for broken reverse_iterator in VC7 - typedef std::reverse_iterator > reverse_iterator; - typedef std::reverse_iterator > const_reverse_iterator; -#else - // workaround for broken reverse_iterator implementations - typedef std::reverse_iterator reverse_iterator; - typedef std::reverse_iterator const_reverse_iterator; -#endif - - reverse_iterator rbegin() { return reverse_iterator(end()); } - const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } - reverse_iterator rend() { return reverse_iterator(begin()); } - const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } - // operator[] - inline reference operator[](size_type i) { return elems[i]; } - inline const_reference operator[](size_type i) const { return elems[i]; } - // at() with range check - reference at(size_type i) { rangecheck(i); return elems[i]; } - const_reference at(size_type i) const { rangecheck(i); return elems[i]; } - // front() and back() - reference front() { return elems[0]; } - const_reference front() const { return elems[0]; } - reference back() { return elems[N-1]; } - const_reference back() const { return elems[N-1]; } - // size is constant - static inline size_type size() { return N; } - static bool empty() { return false; } - static size_type max_size() { return N; } - enum { static_size = N }; - /** This method has no effects in this class, but raises an exception if the expected size does not match */ - inline void resize(const size_t nElements) { if (nElements!=N) throw std::logic_error("Try to change the size of a CArray."); } - // swap (note: linear complexity in N, constant for given instantiation) - void swap (CArray& y) { std::swap_ranges(begin(),end(),y.begin()); } - // direct access to data (read-only) - const T* data() const { return elems; } - // use array as C array (direct read/write access to data) - T* data() { return elems; } - // assignment with type conversion - template CArray& operator= (const CArray& rhs) { - std::copy(rhs.begin(),rhs.end(), begin()); - return *this; - } - // assign one value to all elements - inline void assign (const T& value) { for (size_t i=0;i= size()) { throw std::out_of_range("CArray<>: index out of range"); } } - }; // end of CArray - - /** Used to declare fixed-size arrays when DIM>0, dynamically-allocated vectors when DIM=-1. - * Fixed size version for a generic DIM: - */ - template - struct array_or_vector_selector - { - typedef CArray container_t; - }; - /** Dynamic size version */ - template - struct array_or_vector_selector<-1,T> { - typedef std::vector container_t; - }; - /** @} */ - - /** @addtogroup kdtrees_grp KD-tree classes and adaptors - * @{ */ - - /** kd-tree index - * - * Contains the k-d trees and other information for indexing a set of points - * for nearest-neighbor matching. - * - * The class "DatasetAdaptor" must provide the following interface (can be non-virtual, inlined methods): - * - * \code - * // Must return the number of data poins - * inline size_t kdtree_get_point_count() const { ... } - * - * // [Only if using the metric_L2_Simple type] Must return the Euclidean (L2) distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class: - * inline DistanceType kdtree_distance(const T *p1, const size_t idx_p2,size_t size) const { ... } - * - * // Must return the dim'th component of the idx'th point in the class: - * inline T kdtree_get_pt(const size_t idx, int dim) const { ... } - * - * // Optional bounding-box computation: return false to default to a standard bbox computation loop. - * // Return true if the BBOX was already computed by the class and returned in "bb" so it can be avoided to redo it again. - * // Look at bb.size() to find out the expected dimensionality (e.g. 2 or 3 for point clouds) - * template - * bool kdtree_get_bbox(BBOX &bb) const - * { - * bb[0].low = ...; bb[0].high = ...; // 0th dimension limits - * bb[1].low = ...; bb[1].high = ...; // 1st dimension limits - * ... - * return true; - * } - * - * \endcode - * - * \tparam DatasetAdaptor The user-provided adaptor (see comments above). - * \tparam Distance The distance metric to use: nanoflann::metric_L1, nanoflann::metric_L2, nanoflann::metric_L2_Simple, etc. - * \tparam DIM Dimensionality of data points (e.g. 3 for 3D points) - * \tparam IndexType Will be typically size_t or int - */ - template - class KDTreeSingleIndexAdaptor - { - private: - /** Hidden copy constructor, to disallow copying indices (Not implemented) */ - KDTreeSingleIndexAdaptor(const KDTreeSingleIndexAdaptor&); - public: - typedef typename Distance::ElementType ElementType; - typedef typename Distance::DistanceType DistanceType; - protected: - - /** - * Array of indices to vectors in the dataset. - */ - std::vector vind; - - size_t m_leaf_max_size; - - - /** - * The dataset used by this index - */ - const DatasetAdaptor &dataset; //!< The source of our data - - const KDTreeSingleIndexAdaptorParams index_params; - - size_t m_size; //!< Number of current poins in the dataset - size_t m_size_at_index_build; //!< Number of points in the dataset when the index was built - int dim; //!< Dimensionality of each data point - - - /*--------------------- Internal Data Structures --------------------------*/ - struct Node - { - /** Union used because a node can be either a LEAF node or a non-leaf node, so both data fields are never used simultaneously */ - union { - struct leaf - { - IndexType left, right; //!< Indices of points in leaf node - } lr; - struct nonleaf - { - int divfeat; //!< Dimension used for subdivision. - DistanceType divlow, divhigh; //!< The values used for subdivision. - } sub; - } node_type; - Node* child1, * child2; //!< Child nodes (both=NULL mean its a leaf node) - }; - typedef Node* NodePtr; - - - struct Interval - { - ElementType low, high; - }; - - /** Define "BoundingBox" as a fixed-size or variable-size container depending on "DIM" */ - typedef typename array_or_vector_selector::container_t BoundingBox; - - /** Define "distance_vector_t" as a fixed-size or variable-size container depending on "DIM" */ - typedef typename array_or_vector_selector::container_t distance_vector_t; - - /** The KD-tree used to find neighbours */ - NodePtr root_node; - BoundingBox root_bbox; - - /** - * Pooled memory allocator. - * - * Using a pooled memory allocator is more efficient - * than allocating memory directly when there is a large - * number small of memory allocations. - */ - PooledAllocator pool; - - public: - - Distance distance; - - /** - * KDTree constructor - * - * Refer to docs in README.md or online in https://github.com/jlblancoc/nanoflann - * - * The KD-Tree point dimension (the length of each point in the datase, e.g. 3 for 3D points) - * is determined by means of: - * - The \a DIM template parameter if >0 (highest priority) - * - Otherwise, the \a dimensionality parameter of this constructor. - * - * @param inputData Dataset with the input features - * @param params Basically, the maximum leaf node size - */ - KDTreeSingleIndexAdaptor(const int dimensionality, const DatasetAdaptor& inputData, const KDTreeSingleIndexAdaptorParams& params = KDTreeSingleIndexAdaptorParams() ) : - dataset(inputData), index_params(params), root_node(NULL), distance(inputData) - { - m_size = dataset.kdtree_get_point_count(); - m_size_at_index_build = m_size; - dim = dimensionality; - if (DIM>0) dim=DIM; - m_leaf_max_size = params.leaf_max_size; - - // Create a permutable array of indices to the input vectors. - init_vind(); - } - - /** Standard destructor */ - ~KDTreeSingleIndexAdaptor() { } - - /** Frees the previously-built index. Automatically called within buildIndex(). */ - void freeIndex() - { - pool.free_all(); - root_node=NULL; - m_size_at_index_build = 0; - } - - /** - * Builds the index - */ - void buildIndex() - { - init_vind(); - freeIndex(); - m_size_at_index_build = m_size; - if(m_size == 0) return; - computeBoundingBox(root_bbox); - root_node = divideTree(0, m_size, root_bbox ); // construct the tree - } - - /** Returns number of points in dataset */ - size_t size() const { return m_size; } - - /** Returns the length of each point in the dataset */ - size_t veclen() const { - return static_cast(DIM>0 ? DIM : dim); - } - - /** - * Computes the inde memory usage - * Returns: memory used by the index - */ - size_t usedMemory() const - { - return pool.usedMemory+pool.wastedMemory+dataset.kdtree_get_point_count()*sizeof(IndexType); // pool memory and vind array memory - } - - /** \name Query methods - * @{ */ - - /** - * Find set of nearest neighbors to vec[0:dim-1]. Their indices are stored inside - * the result object. - * - * Params: - * result = the result object in which the indices of the nearest-neighbors are stored - * vec = the vector for which to search the nearest neighbors - * - * \tparam RESULTSET Should be any ResultSet - * \return True if the requested neighbors could be found. - * \sa knnSearch, radiusSearch - */ - template - bool findNeighbors(RESULTSET& result, const ElementType* vec, const SearchParams& searchParams) const - { - assert(vec); - if (size() == 0) - return false; - if (!root_node) - throw std::runtime_error("[nanoflann] findNeighbors() called before building the index."); - float epsError = 1+searchParams.eps; - - distance_vector_t dists; // fixed or variable-sized container (depending on DIM) - dists.assign((DIM>0 ? DIM : dim) ,0); // Fill it with zeros. - DistanceType distsq = computeInitialDistances(vec, dists); - searchLevel(result, vec, root_node, distsq, dists, epsError); // "count_leaf" parameter removed since was neither used nor returned to the user. - return result.full(); - } - - /** - * Find the "num_closest" nearest neighbors to the \a query_point[0:dim-1]. Their indices are stored inside - * the result object. - * \sa radiusSearch, findNeighbors - * \note nChecks_IGNORED is ignored but kept for compatibility with the original FLANN interface. - * \return Number `N` of valid points in the result set. Only the first `N` entries in `out_indices` and `out_distances_sq` will be valid. - * Return may be less than `num_closest` only if the number of elements in the tree is less than `num_closest`. - */ - size_t knnSearch(const ElementType *query_point, const size_t num_closest, IndexType *out_indices, DistanceType *out_distances_sq, const int /* nChecks_IGNORED */ = 10) const - { - nanoflann::KNNResultSet resultSet(num_closest); - resultSet.init(out_indices, out_distances_sq); - this->findNeighbors(resultSet, query_point, nanoflann::SearchParams()); - return resultSet.size(); - } - - /** - * Find all the neighbors to \a query_point[0:dim-1] within a maximum radius. - * The output is given as a vector of pairs, of which the first element is a point index and the second the corresponding distance. - * Previous contents of \a IndicesDists are cleared. - * - * If searchParams.sorted==true, the output list is sorted by ascending distances. - * - * For a better performance, it is advisable to do a .reserve() on the vector if you have any wild guess about the number of expected matches. - * - * \sa knnSearch, findNeighbors, radiusSearchCustomCallback - * \return The number of points within the given radius (i.e. indices.size() or dists.size() ) - */ - size_t radiusSearch(const ElementType *query_point,const DistanceType &radius, std::vector >& IndicesDists, const SearchParams& searchParams) const - { - RadiusResultSet resultSet(radius,IndicesDists); - const size_t nFound = radiusSearchCustomCallback(query_point,resultSet,searchParams); - if (searchParams.sorted) - std::sort(IndicesDists.begin(),IndicesDists.end(), IndexDist_Sorter() ); - return nFound; - } - - /** - * Just like radiusSearch() but with a custom callback class for each point found in the radius of the query. - * See the source of RadiusResultSet<> as a start point for your own classes. - * \sa radiusSearch - */ - template - size_t radiusSearchCustomCallback(const ElementType *query_point,SEARCH_CALLBACK &resultSet, const SearchParams& searchParams = SearchParams() ) const - { - this->findNeighbors(resultSet, query_point, searchParams); - return resultSet.size(); - } - - /** @} */ - - private: - /** Make sure the auxiliary list \a vind has the same size than the current dataset, and re-generate if size has changed. */ - void init_vind() - { - // Create a permutable array of indices to the input vectors. - m_size = dataset.kdtree_get_point_count(); - if (vind.size()!=m_size) vind.resize(m_size); - for (size_t i = 0; i < m_size; i++) vind[i] = i; - } - - /// Helper accessor to the dataset points: - inline ElementType dataset_get(size_t idx, int component) const { - return dataset.kdtree_get_pt(idx,component); - } - - - void save_tree(FILE* stream, NodePtr tree) - { - save_value(stream, *tree); - if (tree->child1!=NULL) { - save_tree(stream, tree->child1); - } - if (tree->child2!=NULL) { - save_tree(stream, tree->child2); - } - } - - - void load_tree(FILE* stream, NodePtr& tree) - { - tree = pool.allocate(); - load_value(stream, *tree); - if (tree->child1!=NULL) { - load_tree(stream, tree->child1); - } - if (tree->child2!=NULL) { - load_tree(stream, tree->child2); - } - } - - - void computeBoundingBox(BoundingBox& bbox) - { - bbox.resize((DIM>0 ? DIM : dim)); - if (dataset.kdtree_get_bbox(bbox)) - { - // Done! It was implemented in derived class - } - else - { - const size_t N = dataset.kdtree_get_point_count(); - if (!N) throw std::runtime_error("[nanoflann] computeBoundingBox() called but no data points found."); - for (int i=0; i<(DIM>0 ? DIM : dim); ++i) { - bbox[i].low = - bbox[i].high = dataset_get(0,i); - } - for (size_t k=1; k0 ? DIM : dim); ++i) { - if (dataset_get(k,i)bbox[i].high) bbox[i].high = dataset_get(k,i); - } - } - } - } - - - /** - * Create a tree node that subdivides the list of vecs from vind[first] - * to vind[last]. The routine is called recursively on each sublist. - * - * @param left index of the first vector - * @param right index of the last vector - */ - NodePtr divideTree(const IndexType left, const IndexType right, BoundingBox& bbox) - { - NodePtr node = pool.allocate(); // allocate memory - - /* If too few exemplars remain, then make this a leaf node. */ - if ( (right-left) <= static_cast(m_leaf_max_size) ) { - node->child1 = node->child2 = NULL; /* Mark as leaf node. */ - node->node_type.lr.left = left; - node->node_type.lr.right = right; - - // compute bounding-box of leaf points - for (int i=0; i<(DIM>0 ? DIM : dim); ++i) { - bbox[i].low = dataset_get(vind[left],i); - bbox[i].high = dataset_get(vind[left],i); - } - for (IndexType k=left+1; k0 ? DIM : dim); ++i) { - if (bbox[i].low>dataset_get(vind[k],i)) bbox[i].low=dataset_get(vind[k],i); - if (bbox[i].highnode_type.sub.divfeat = cutfeat; - - BoundingBox left_bbox(bbox); - left_bbox[cutfeat].high = cutval; - node->child1 = divideTree(left, left+idx, left_bbox); - - BoundingBox right_bbox(bbox); - right_bbox[cutfeat].low = cutval; - node->child2 = divideTree(left+idx, right, right_bbox); - - node->node_type.sub.divlow = left_bbox[cutfeat].high; - node->node_type.sub.divhigh = right_bbox[cutfeat].low; - - for (int i=0; i<(DIM>0 ? DIM : dim); ++i) { - bbox[i].low = std::min(left_bbox[i].low, right_bbox[i].low); - bbox[i].high = std::max(left_bbox[i].high, right_bbox[i].high); - } - } - - return node; - } - - - void computeMinMax(IndexType* ind, IndexType count, int element, ElementType& min_elem, ElementType& max_elem) - { - min_elem = dataset_get(ind[0],element); - max_elem = dataset_get(ind[0],element); - for (IndexType i=1; imax_elem) max_elem = val; - } - } - - void middleSplit_(IndexType* ind, IndexType count, IndexType& index, int& cutfeat, DistanceType& cutval, const BoundingBox& bbox) - { - const DistanceType EPS=static_cast(0.00001); - ElementType max_span = bbox[0].high-bbox[0].low; - for (int i=1; i<(DIM>0 ? DIM : dim); ++i) { - ElementType span = bbox[i].high-bbox[i].low; - if (span>max_span) { - max_span = span; - } - } - ElementType max_spread = -1; - cutfeat = 0; - for (int i=0; i<(DIM>0 ? DIM : dim); ++i) { - ElementType span = bbox[i].high-bbox[i].low; - if (span>(1-EPS)*max_span) { - ElementType min_elem, max_elem; - computeMinMax(ind, count, i, min_elem, max_elem); - ElementType spread = max_elem-min_elem;; - if (spread>max_spread) { - cutfeat = i; - max_spread = spread; - } - } - } - // split in the middle - DistanceType split_val = (bbox[cutfeat].low+bbox[cutfeat].high)/2; - ElementType min_elem, max_elem; - computeMinMax(ind, count, cutfeat, min_elem, max_elem); - - if (split_valmax_elem) cutval = max_elem; - else cutval = split_val; - - IndexType lim1, lim2; - planeSplit(ind, count, cutfeat, cutval, lim1, lim2); - - if (lim1>count/2) index = lim1; - else if (lim2cutval - */ - void planeSplit(IndexType* ind, const IndexType count, int cutfeat, DistanceType &cutval, IndexType& lim1, IndexType& lim2) - { - /* Move vector indices for left subtree to front of list. */ - IndexType left = 0; - IndexType right = count-1; - for (;; ) { - while (left<=right && dataset_get(ind[left],cutfeat)=cutval) --right; - if (left>right || !right) break; // "!right" was added to support unsigned Index types - std::swap(ind[left], ind[right]); - ++left; - --right; - } - /* If either list is empty, it means that all remaining features - * are identical. Split in the middle to maintain a balanced tree. - */ - lim1 = left; - right = count-1; - for (;; ) { - while (left<=right && dataset_get(ind[left],cutfeat)<=cutval) ++left; - while (right && left<=right && dataset_get(ind[right],cutfeat)>cutval) --right; - if (left>right || !right) break; // "!right" was added to support unsigned Index types - std::swap(ind[left], ind[right]); - ++left; - --right; - } - lim2 = left; - } - - DistanceType computeInitialDistances(const ElementType* vec, distance_vector_t& dists) const - { - assert(vec); - DistanceType distsq = DistanceType(); - - for (int i = 0; i < (DIM>0 ? DIM : dim); ++i) { - if (vec[i] < root_bbox[i].low) { - dists[i] = distance.accum_dist(vec[i], root_bbox[i].low, i); - distsq += dists[i]; - } - if (vec[i] > root_bbox[i].high) { - dists[i] = distance.accum_dist(vec[i], root_bbox[i].high, i); - distsq += dists[i]; - } - } - - return distsq; - } - - /** - * Performs an exact search in the tree starting from a node. - * \tparam RESULTSET Should be any ResultSet - */ - template - void searchLevel(RESULTSET& result_set, const ElementType* vec, const NodePtr node, DistanceType mindistsq, - distance_vector_t& dists, const float epsError) const - { - /* If this is a leaf node, then do check and return. */ - if ((node->child1 == NULL)&&(node->child2 == NULL)) { - //count_leaf += (node->lr.right-node->lr.left); // Removed since was neither used nor returned to the user. - DistanceType worst_dist = result_set.worstDist(); - for (IndexType i=node->node_type.lr.left; inode_type.lr.right; ++i) { - const IndexType index = vind[i];// reorder... : i; - DistanceType dist = distance(vec, index, (DIM>0 ? DIM : dim)); - if (distnode_type.sub.divfeat; - ElementType val = vec[idx]; - DistanceType diff1 = val - node->node_type.sub.divlow; - DistanceType diff2 = val - node->node_type.sub.divhigh; - - NodePtr bestChild; - NodePtr otherChild; - DistanceType cut_dist; - if ((diff1+diff2)<0) { - bestChild = node->child1; - otherChild = node->child2; - cut_dist = distance.accum_dist(val, node->node_type.sub.divhigh, idx); - } - else { - bestChild = node->child2; - otherChild = node->child1; - cut_dist = distance.accum_dist( val, node->node_type.sub.divlow, idx); - } - - /* Call recursively to search next level down. */ - searchLevel(result_set, vec, bestChild, mindistsq, dists, epsError); - - DistanceType dst = dists[idx]; - mindistsq = mindistsq + cut_dist - dst; - dists[idx] = cut_dist; - if (mindistsq*epsError<=result_set.worstDist()) { - searchLevel(result_set, vec, otherChild, mindistsq, dists, epsError); - } - dists[idx] = dst; - } - - public: - /** Stores the index in a binary file. - * IMPORTANT NOTE: The set of data points is NOT stored in the file, so when loading the index object it must be constructed associated to the same source of data points used while building it. - * See the example: examples/saveload_example.cpp - * \sa loadIndex */ - void saveIndex(FILE* stream) - { - save_value(stream, m_size); - save_value(stream, dim); - save_value(stream, root_bbox); - save_value(stream, m_leaf_max_size); - save_value(stream, vind); - save_tree(stream, root_node); - } - - /** Loads a previous index from a binary file. - * IMPORTANT NOTE: The set of data points is NOT stored in the file, so the index object must be constructed associated to the same source of data points used while building the index. - * See the example: examples/saveload_example.cpp - * \sa loadIndex */ - void loadIndex(FILE* stream) - { - load_value(stream, m_size); - load_value(stream, dim); - load_value(stream, root_bbox); - load_value(stream, m_leaf_max_size); - load_value(stream, vind); - load_tree(stream, root_node); - } - - }; // class KDTree - - - /** An L2-metric KD-tree adaptor for working with data directly stored in an Eigen Matrix, without duplicating the data storage. - * Each row in the matrix represents a point in the state space. - * - * Example of usage: - * \code - * Eigen::Matrix mat; - * // Fill out "mat"... - * - * typedef KDTreeEigenMatrixAdaptor< Eigen::Matrix > my_kd_tree_t; - * const int max_leaf = 10; - * my_kd_tree_t mat_index(dimdim, mat, max_leaf ); - * mat_index.index->buildIndex(); - * mat_index.index->... - * \endcode - * - * \tparam DIM If set to >0, it specifies a compile-time fixed dimensionality for the points in the data set, allowing more compiler optimizations. - * \tparam Distance The distance metric to use: nanoflann::metric_L1, nanoflann::metric_L2, nanoflann::metric_L2_Simple, etc. - */ - template - struct KDTreeEigenMatrixAdaptor - { - typedef KDTreeEigenMatrixAdaptor self_t; - typedef typename MatrixType::Scalar num_t; - typedef typename MatrixType::Index IndexType; - typedef typename Distance::template traits::distance_t metric_t; - typedef KDTreeSingleIndexAdaptor< metric_t,self_t,DIM,IndexType> index_t; - - index_t* index; //! The kd-tree index for the user to call its methods as usual with any other FLANN index. - - /// Constructor: takes a const ref to the matrix object with the data points - KDTreeEigenMatrixAdaptor(const int dimensionality, const MatrixType &mat, const int leaf_max_size = 10) : m_data_matrix(mat) - { - const IndexType dims = mat.cols(); - if (dims!=dimensionality) throw std::runtime_error("Error: 'dimensionality' must match column count in data matrix"); - if (DIM>0 && static_cast(dims)!=DIM) - throw std::runtime_error("Data set dimensionality does not match the 'DIM' template argument"); - index = new index_t( dims, *this /* adaptor */, nanoflann::KDTreeSingleIndexAdaptorParams(leaf_max_size ) ); - index->buildIndex(); - } - private: - /** Hidden copy constructor, to disallow copying this class (Not implemented) */ - KDTreeEigenMatrixAdaptor(const self_t&); - public: - - ~KDTreeEigenMatrixAdaptor() { - delete index; - } - - const MatrixType &m_data_matrix; - - /** Query for the \a num_closest closest points to a given point (entered as query_point[0:dim-1]). - * Note that this is a short-cut method for index->findNeighbors(). - * The user can also call index->... methods as desired. - * \note nChecks_IGNORED is ignored but kept for compatibility with the original FLANN interface. - */ - inline void query(const num_t *query_point, const size_t num_closest, IndexType *out_indices, num_t *out_distances_sq, const int /* nChecks_IGNORED */ = 10) const - { - nanoflann::KNNResultSet resultSet(num_closest); - resultSet.init(out_indices, out_distances_sq); - index->findNeighbors(resultSet, query_point, nanoflann::SearchParams()); - } - - /** @name Interface expected by KDTreeSingleIndexAdaptor - * @{ */ - - const self_t & derived() const { - return *this; - } - self_t & derived() { - return *this; - } - - // Must return the number of data points - inline size_t kdtree_get_point_count() const { - return m_data_matrix.rows(); - } - - // Returns the L2 distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class: - inline num_t kdtree_distance(const num_t *p1, const IndexType idx_p2,IndexType size) const - { - num_t s=0; - for (IndexType i=0; i - bool kdtree_get_bbox(BBOX& /*bb*/) const { - return false; - } - - /** @} */ - - }; // end of KDTreeEigenMatrixAdaptor - /** @} */ - -/** @} */ // end of grouping -} // end of NS - - -#endif /* NANOFLANN_HPP_ */ diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neural_network_explorator.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neural_network_explorator.h deleted file mode 100644 index cfa0f0e..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neural_network_explorator.h +++ /dev/null @@ -1,148 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include -#include - -#include -#include -#include -#include - -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 11.2016 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once - -#define PI 3.14159265359 - -// Definition if the operator == for geometry_msgs::Pose2D for checking how often a specific pose is in the so far calculated -// path. -inline bool operator==(const geometry_msgs::Pose2D& A, const geometry_msgs::Pose2D& B) -{ - if(A.x == B.x && A.y == B.y) - return true; - return false; -} - -// This class provides a room explorator based on an artificial neural network. This network is used to compute a -// coverage path s.t. the whole environment is visited at least once. The used method is stated in: -// -// Yang, Simon X., and Chaomin Luo. "A neural network approach to complete coverage path planning." IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) 34.1 (2004): 718-724. -// -// In this algorithm the free space gets sampled into several neurons that span a neural network over the space. Each -// neuron then needs to be visited once to clean it. Each neuron has a state that is used later to determine the next -// neuron that needs to be visited. Going then trough the space over time produces a path that covers all neurons, see -// the stated paper for reference. -// This class provides the functionality to provide a room map and discretize it into several neurons, based on the given -// sampling distance and the radius of the robot/field-of-view (assuming that the footprint/fov gets approximated by a -// inner circle). After this the coverage path gets computed based on the stated paper. This implementation only provides -// a static path, any reaction to unexpected behavior (e.g. sudden obstacles) need to be done in an upper program. -// -class NeuralNetworkExplorator -{ -protected: - - // vector that stores the neurons of the given map - std::vector > neurons_; - - // step size used for integrating the states of the neurons - double step_size_; - - // parameters for the neural network - double A_, B_, D_, E_, mu_, delta_theta_weight_; - -public: - - // constructor - NeuralNetworkExplorator(); - - // function to set the step size to a certain value - void setStepSize(double step_size) - { - step_size_ = step_size; - } - - // function to set the parameters needed for the neural network - void setParameters(double A, double B, double D, double E, double mu, double step_size, double delta_theta_weight) - { - A_ = A; - B_ = B; - D_ = D; - E_ = E; - mu_ = mu; - step_size_ = step_size; - delta_theta_weight_ = delta_theta_weight; - } - - // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), - // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions - // the robot should drive at. - void getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, - const cv::Point starting_position, const cv::Point2d map_origin, const double grid_spacing_in_pixel, - const bool plan_for_footprint, const Eigen::Matrix robot_to_fov_vector, bool show_path_evolution=false); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neuron_class.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neuron_class.h deleted file mode 100644 index 37c33ab..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neuron_class.h +++ /dev/null @@ -1,211 +0,0 @@ -#include -#include -#include -#include -#include -#include - -#include - -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 11.2016 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once - -// This class provides a neuron for an artificial neural network. This network is used to compute a coverage path s.t. -// the whole environment is visited at least once. The used method is stated in: -// -// Yang, Simon X., and Chaomin Luo. "A neural network approach to complete coverage path planning." IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) 34.1 (2004): 718-724. -// -// In this algorithm the free space gets sampled into several neurons that span a neural network over the space. Each -// neuron then needs to be visited once to clean it. Each neuron has a state that is used later to determine the next -// neuron that needs to be visited. Going then trough the space over time produces a path that covers all neurons, see -// the stated paper for reference. -// This class additionally contains the position of the neuron, the parameters used to update the state of it and -// booleans to mark if this neuron has already been cleaned or not. The function I() provides an "external input" to the -// neuron, see the paper for reference. -// -class Neuron -{ -protected: - - // vector that stores the direct neighbors of this neuron - std::vector neighbors_; - - // vector that stores the weights to the neighbors --> used for updating the state - std::vector weights_; - - // position of the neuron - cv::Point position_; - - // booleans to check if this neuron is cleaned or an obstacle - bool visited_, obstacle_; - - // state (activity) of this neuron at current time step and last - double state_, previous_state_; - - // parameters used to update the state - double A_, B_, D_, E_, mu_; - - // step size for updating the state - double step_size_; - - // function to generate the external input - double I() - { - if(obstacle_ == true) - return -1.0*E_; - else if(visited_ == false) - return E_; - else - return 0.0; - } - -public: - - // constructor - Neuron(cv::Point position, double A, double B, double D, double E, double mu, double step_size, bool obstacle, bool visited=false) - { - state_ = 0; - previous_state_ = 0; - position_ = position; - A_ = A; - B_ = B; - D_ = D; - E_ = E; - mu_ = mu; - step_size_ = step_size; - obstacle_ = obstacle; - visited_ = visited; - } - - // function to insert a neighbor - void addNeighbor(Neuron* new_neighbor) - { - // save pointer to neighbor - neighbors_.push_back(new_neighbor); - - // calculate distance and corresponding weight to it - cv::Point difference = position_ - new_neighbor->position_; - double distance = cv::norm(difference); - weights_.push_back(mu_/distance); - } - - // function to get the position of the neuron - cv::Point getPosition() - { - return position_; - } - - // function to get the state of the neuron, return the previous state if wanted - double getState(bool previous=false) - { - if(previous == true) - return previous_state_; - return state_; - } - - // function to save the current state as previous state - void saveState() - { - previous_state_ = state_; - } - - // function to get the neighbors - void getNeighbors(std::vector& neighbors) - { - neighbors = neighbors_; - } - - // function to mark the neuron as cleaned - void markAsVisited() - { - visited_ = true; - } - - // function to check if the current neuron is an obstacle or not - bool isObstacle() - { - return obstacle_; - } - - // function to check if the neuron has been visited or not - bool visitedNeuron() - { - return visited_; - } - - // function to update the state of the neuron using euler discretization - void updateState() - { - // get external input - const double input = I(); - - // get the current sum of weights times the state of the neighbor - double weight_sum = 0; - for(size_t neighbor=0; neighborgetState(true), 0.0); - - // calculate current gradient --> see stated paper from the beginning - double gradient = -A_*state_ + (B_-state_)*(std::max(input, 0.0) + weight_sum) - (D_+state_)*std::max(-1.0*input, 0.0); - - // update state using euler method - state_ += step_size_*gradient; - } -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/room_rotator.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/room_rotator.h deleted file mode 100644 index 5a56e76..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/room_rotator.h +++ /dev/null @@ -1,104 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2017 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 02.2017 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once - -#include - -#include -#include - -#include - -#include - - -class RoomRotator -{ -public: - RoomRotator() - { - } - - void rotateRoom(const cv::Mat& room_map, cv::Mat& rotated_room_map, const cv::Mat& R, const cv::Rect& bounding_rect); - - // compute the affine rotation matrix for rotating a room into parallel alignment with x-axis (longer side of the room is aligned with x-axis) - // R is the transform - // bounding_rect is the ROI of the warped image - // rotation_offset is an optional offset to the determined rotation, in [rad] - // returns the computed optimal rotation angle, in [rad] - double computeRoomRotationMatrix(const cv::Mat& room_map, cv::Mat& R, cv::Rect& bounding_rect, const double map_resolution, - const cv::Point* center=0, const double rotation_offset=0.); - - // computes the major direction of the walls from a map (preferably one room) - // the map (room_map, CV_8UC1) is black (0) at impassable areas and white (255) on drivable areas - double computeRoomMainDirection(const cv::Mat& room_map, const double map_resolution); - - // transforms a vector of points back to the original map and generates poses - void transformPathBackToOriginalRotation(const std::vector& fov_middlepoint_path, std::vector& path_fov_poses, const cv::Mat& R); - - // converts a point path to a pose path with angles - void transformPointPathToPosePath(const std::vector& point_path, std::vector& pose_path); - - // converts a point path to a pose path with angles, the points are already stored in pose_path - void transformPointPathToPosePath(std::vector& pose_path); - - // get min/max coordinates of free pixels (255) - void getMinMaxCoordinates(const cv::Mat& map, cv::Point& min_room, cv::Point& max_room); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/timer.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/timer.h deleted file mode 100644 index 552d5f5..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/timer.h +++ /dev/null @@ -1,183 +0,0 @@ -/* - * timer.h - * - * Created on: May 13, 2013 - * Author: rmb-ce - */ - -// from: http://snipplr.com/view/40650/timer-class-for-both-unixlinuxmac-and-windows-system/ - -////////////////// -// How to Use //// -////////////////// - -//#include -//#include "timer.h" -//using namespace std; - -//int main() -//{ -// Timer timer; -// -// // start timer -// timer.start(); -// -// // do something -// ... -// -// // stop timer -// timer.stop(); -// -// // print the elapsed time in millisec -// cout << timer.getElapsedTimeInMilliSec() << " ms.\n"; -// -// return 0; -//} - - -////////////////////////////////////////////////////////////////////////////// -// Timer.h -// ======= -// High Resolution Timer. -// This timer is able to measure the elapsed time with 1 micro-second accuracy -// in both Windows, Linux and Unix system -// -// AUTHOR: Song Ho Ahn (song.ahn@gmail.com) -// CREATED: 2003-01-13 -// UPDATED: 2006-01-13 -// -// Copyright (c) 2003 Song Ho Ahn -////////////////////////////////////////////////////////////////////////////// - -#ifndef TIMER_H_DEF -#define TIMER_H_DEF - -#ifdef WIN32 // Windows system specific -//#include -#else // Unix based system specific -#include -#endif - -#include - - -class Timer -{ -public: -// default constructor - Timer() - { -#ifdef WIN32 - QueryPerformanceFrequency(&frequency); - startCount.QuadPart = 0; - endCount.QuadPart = 0; -#else - startCount.tv_sec = startCount.tv_usec = 0; - endCount.tv_sec = endCount.tv_usec = 0; -#endif - - stopped = 0; - startTimeInMicroSec = 0; - endTimeInMicroSec = 0; - - start(); - } - - // default destructor - ~Timer() - { - } - - /////////////////////////////////////////////////////////////////////////////// - // start timer. - // startCount will be set at this point. - /////////////////////////////////////////////////////////////////////////////// - void start() - { - stopped = 0; // reset stop flag -#ifdef WIN32 - QueryPerformanceCounter(&startCount); -#else - gettimeofday(&startCount, NULL); -#endif - } - - /////////////////////////////////////////////////////////////////////////////// - // stop the timer. - // endCount will be set at this point. - /////////////////////////////////////////////////////////////////////////////// - void stop() - { - stopped = 1; // set timer stopped flag - -#ifdef WIN32 - QueryPerformanceCounter(&endCount); -#else - gettimeofday(&endCount, NULL); -#endif - } - - /////////////////////////////////////////////////////////////////////////////// - // same as getElapsedTimeInSec() - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTime() - { - return this->getElapsedTimeInSec(); - } - - /////////////////////////////////////////////////////////////////////////////// - // divide elapsedTimeInMicroSec by 1000000 - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTimeInSec() - { - return this->getElapsedTimeInMicroSec() * 0.000001; - } - - /////////////////////////////////////////////////////////////////////////////// - // divide elapsedTimeInMicroSec by 1000 - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTimeInMilliSec() - { - return this->getElapsedTimeInMicroSec() * 0.001; - } - - /////////////////////////////////////////////////////////////////////////////// - // compute elapsed time in micro-second resolution. - // other getElapsedTime will call this first, then convert to correspond resolution. - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTimeInMicroSec() - { -#ifdef WIN32 - if(!stopped) - QueryPerformanceCounter(&endCount); - - startTimeInMicroSec = startCount.QuadPart * (1000000.0 / frequency.QuadPart); - endTimeInMicroSec = endCount.QuadPart * (1000000.0 / frequency.QuadPart); -#else - if (!stopped) - gettimeofday(&endCount, NULL); - - startTimeInMicroSec = (startCount.tv_sec * 1000000.0) + startCount.tv_usec; - endTimeInMicroSec = (endCount.tv_sec * 1000000.0) + endCount.tv_usec; -#endif - - return endTimeInMicroSec - startTimeInMicroSec; - } - -protected: - -private: - double startTimeInMicroSec; // starting time in micro-second - double endTimeInMicroSec; // ending time in micro-second - int stopped; // stop flag -#ifdef WIN32 - LARGE_INTEGER frequency; // ticks per second - LARGE_INTEGER startCount;// - LARGE_INTEGER endCount;// -#else - timeval startCount; // - timeval endCount; // -#endif -}; - -#endif // TIMER_H_DEF diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/voronoi.hpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/voronoi.hpp deleted file mode 100644 index d7dfcb3..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/voronoi.hpp +++ /dev/null @@ -1,1273 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \author - * Author: Joshua Hampp - * - * \date Date of creation: 2016 - * - * \brief - * classes for grid map generation in Voronoi manner - * - ****************************************************************/ - -#pragma once - -#include -#include -#include -#include -#include - - -#include - -#include - - -//debug includes -#include - -#define APPROX_COVERED 3 - -//* Helper class containing 2d vector -struct Pos { - int x_; ///< x position in pixels - int y_; ///< y position in pixels - - /*! - * \brief setter constructor - */ - Pos(const int x, const int y) : x_(x), y_(y) - {} - - inline bool operator==(const Pos &o) const { - return x_==o.x_ && y_==o.y_; - } - - /*! - * \brief add other position to this one - */ - inline void operator+=(const Pos &h) { - x_ += h.x_; - y_ += h.y_; - } - - /*! - * \brief subtracts other position from this one - */ - inline void operator-=(const Pos &h) { - x_ -= h.x_; - y_ -= h.y_; - } - - /*! - * \brief returns sum of two positions - */ - inline Pos operator+(const Pos &h) const { - Pos c=*this; - c+=h; - return c; - } - - /*! - * \brief returns difference of two positions - */ - inline Pos operator-(const Pos &h) const { - Pos c=*this; - c-=h; - return c; - } - - /*! - * \brief squared Euclidean distance to another postition - */ - inline int dist2(const Pos &h) const { - return (x_-h.x_)*(x_-h.x_) + (y_-h.y_)*(y_-h.y_); - } - - /*! - * \brief squared Euclidean distance of this position - */ - inline int dist2() const { - return x_*x_ + y_*y_; - } - -}; - -std::ostream &operator<<(std::ostream &os, const Pos &p) { - return os< Ptr; - - /*! - * \brief default constructor - */ - Cell() : pos_(0,0), hops_(0), sx_(0), sy_(0), id_(-1), id2_(-1) - {} - /*! - * \brief constructor for defined position in grid map - */ - Cell(const int x, const int y) : pos_(x,y), hops_(1), sx_(0), sy_(0), id_(-1), id2_(-1) - {} - - /*! - * \brief traverse to next cell by relative position increment - */ - inline void operator+=(const Pos &h) { - hops_ += 1; - sx_ += h.x_; - sy_ += h.y_; - } - - /*! - * \brief create a traversed cell by relative position increment - */ - inline Cell operator+(const Pos &h) const { - Cell c=*this; - c+=h; - return c; - } - - /*! - * \brief set relative movement and hops from another cell to this one - */ - inline void set(const Cell &h) { - hops_ = h.hops_; - sx_ = h.sx_; - sy_ = h.sy_; - } - - /*! - * \brief increases position, relative movement and hops from another cell to this one - */ - inline void operator+=(const Cell &h) { - hops_ += h.hops_; - pos_ += h.pos_; - assert(sx_*h.sx_>=0); - assert(sy_*h.sy_>=0); - sx_ += h.sx_; - sy_ += h.sy_; - } - - /*! - * \brief returns summed up position, relative movement and hops from another cell and this one (rest of parameters are copied from this) - */ - inline Cell operator+(const Cell &h) const { - Cell c=*this; - c+=h; - return c; - } - - /*! - * \brief squared Euclidean distance of relative movement - */ - inline int dist2() const { - return sx_*sx_ + sy_*sy_; - } - - /*! - * \brief compares the Euclidean distances of relative movement - */ - inline bool operator<(const Cell &o) const { return dist2() 0) - */ - inline operator bool() const { return hops_>0; } - -}; - -//* Helper class for grid maps storing relevant meta information (Cell) -struct CellMap { - std::vector cells_; ///< ordered map of cells containing meta information - int w_; ///< width in pixels - int h_; ///< height in pixels - - /*! - * \brief constructor for creating a empty grid map of width*height - */ - CellMap(const int w, const int h) : cells_(w*h), w_(w), h_(h) - { - for(int x=0; x=0 && p.x_=0 && p.y_=0 && x=0 && y=0 && x=0 && y > -struct pless : public std::binary_function { - bool operator()(const Type *x, const Type *y) const - { - if(x->dist2()==y->dist2()) { - if(x->pos_.x_==y->pos_.x_) - return x->pos_.y_>y->pos_.y_; - return x->pos_.x_>y->pos_.x_; - } - return x->dist2()>y->dist2(); - } -}; - -//* Helper class for finding nearest neighbours -template -struct PointCloud -{ - struct Point - { - T x,y; - - Point() {} - Point(const T &x, const T &y):x(x),y(y) {} - }; - - std::vector pts; - - // Must return the number of data points - inline size_t kdtree_get_point_count() const { return pts.size(); } - - // Returns the distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class: - inline T kdtree_distance(const T *p1, const size_t idx_p2,size_t /*size*/) const - { - const T d0=p1[0]-pts[idx_p2].x; - const T d1=p1[1]-pts[idx_p2].y; - return d0*d0+d1*d1; - } - - // Returns the dim'th component of the idx'th point in the class: - // Since this is inlined and the "dim" argument is typically an immediate value, the - // "if/else's" are actually solved at compile time. - inline T kdtree_get_pt(const size_t idx, int dim) const - { - if (dim==0) return pts[idx].x; - else return pts[idx].y; - } - - // Optional bounding-box computation: return false to default to a standard bbox computation loop. - // Return true if the BBOX was already computed by the class and returned in "bb" so it can be avoided to redo it again. - // Look at bb.size() to find out the expected dimensionality (e.g. 2 or 3 for point clouds) - template - bool kdtree_get_bbox(BBOX& /*bb*/) const { return false; } - -}; - -struct LineSegment { - double length_; - double effective_length_; - std::vector inds_; - - inline bool operator<(const LineSegment &o) const { - return effective_length_>o.effective_length_; - } -}; - -template -struct TSPItem { - Pos in_, out_; - cv::Point2f in_dir_, out_dir_; - T *ref_; - - TSPItem() : in_(0,0), out_(0,0), ref_(NULL) {} - - TSPItem(const Pos &a, const Pos &b, const cv::Point2f &ad, const cv::Point2f &bd, T *ref): - in_(a), out_(b), in_dir_(ad), out_dir_(bd), ref_(ref) - {} - - TSPItem swap() const { - return TSPItem(out_, in_, out_dir_, in_dir_, ref_); - } -}; - -template -struct TSPTour { - Pos start_; - std::vector items_; - - TSPTour(const Pos &s) : start_(s) - {} - - inline size_t size() const {return 2*items_.size();} - - inline double costs() const { - //TODO: include direction change as costs - // depending on: - // * translation speed - // * rotation speed - - /* - (1-last_dir.dot(dir)) - */ - const double relation = (M_PI/0.2) * (0.05/0.3); //assumption: rotation_speed=0.2rad/s, translation_speed=0.3m/s, resolution=0.05m - - double c=0; - Pos last = start_; - cv::Point2f last_dir(0,0); - for(size_t i=0; i10) { //we replace last_dir - Pos t = items_[i].in_-last; - cv::Point2f interm(t.x_,t.y_); - interm*= 1./dist; - - rotation = (1+interm.dot(items_[i].in_dir_)); - rotation+= (1-last_dir.dot(interm)); - } - else { - rotation = (1+last_dir.dot(items_[i].in_dir_)); - } - - c += dist + - rotation*relation; - last = items_[i].out_; - last_dir = items_[i].out_dir_; - } - return c; - } - - T get(const size_t i) const { - assert(i/2 -struct TSPalgorithm { - TSPTour tour_; - - TSPalgorithm(const Pos &p) : tour_(p) - {} - - // Do all 2-opt combinations - void optimize() - { - // repeat until no improvement is made - bool improved = true; - time_t start = time(NULL); - - while ( improved ) - { - improved=false; - double best_distance = tour_.costs(); - - for ( int i = 0; i < tour_.size() - 1; i+=2 ) - { - for ( int k = i + 1; k < tour_.size(); k++) - { - TSPTour new_tour(tour_.start_); - swap2opt(new_tour, i, k ); - - const double new_distance = new_tour.costs(); - - if ( new_distance < best_distance ) - { - // Improvement found so reset - improved = true; - tour_ = new_tour; - best_distance = new_distance; - - //std::cout<<"new costs "<15) { - std::cout<<"TIMEOUT!"< &new_tour, const int& i, const int& k ) - { - // 1. take route[0] to route[i-1] and add them in order to new_route - int c = 0; - for (; c+1 <= i - 1; c+=2 ) - { - new_tour.set( c, tour_.get( c ) ); - } - - // 2. take route[i] to route[k] and add them in reverse order to new_route - int dec = 0;//(i%2==1?2:0); - for (; c<=k; c+=2 ) - { - //std::cout< -void connect(const Points &pts, std::vector &out, const cv::Mat &coverage, const Pos &start, const int approx_cover_dist, const int min_segment_length=2, const int max_segment_length=5) -{ - if(pts.size()==0) return; - else if(pts.size()==1) { - out.push_back(0); - out.push_back(0); - return; - } - - std::vector used(pts.size(), 0); - - int current=0, num=0, last=0; - - //costs for already used/visited point - const int USED_INC = 20; - - if(coverage.cols*coverage.rows>0) { - for(size_t i=0; i(pts[i].y_, pts[i].x_)) ) - ++num; - } - } - - /////////////////////////////////// - - PointCloud cloud; - for(size_t i=0; i::Point(pts[i].x_, pts[i].y_)); - - // construct a kd-tree index: - typedef nanoflann::KDTreeSingleIndexAdaptor< - nanoflann::L2_Simple_Adaptor > , - PointCloud, - 2 /* dim */ - > my_kd_tree_t; - - my_kd_tree_t index(2 /*dim*/, cloud, nanoflann::KDTreeSingleIndexAdaptorParams(10 /* max leaf */) ); - index.buildIndex(); - - int query_pt[2]; - - //1. build line segments - std::vector segs; - //use first unused pt - for(size_t j=0; j0) continue; - - LineSegment seg; - seg.length_ = 0; - - size_t nexts[4]={j}; - double last_lenghts[10]; - int num = 1; - int nnn=0; - while(num>0) { - --num; - size_t i = nexts[num]; - used[i] += USED_INC; - - //if(nnn%2==0) //only every 2nd point (to avoid odd patterns) - { - if(seg.inds_.size()>0) - seg.length_ += std::sqrt(pts[seg.inds_.back()].dist2(pts[i])); - last_lenghts[seg.inds_.size()%10] = seg.length_; - seg.inds_.push_back(i); - } - ++nnn; - - /*if(seg.length_>=max_segment_length) { - seg.effective_length_ = seg.length_; - segs.push_back(seg); - - seg = LineSegment(); - seg.length_ = 0; - }*/ - - //search for neighbouring pts - query_pt[0] = pts[nexts[num]].x_; - query_pt[1] = pts[nexts[num]].y_; - - std::vector > ret_matches; - nanoflann::SearchParams params; - params.sorted = true; - - const size_t nMatches = index.radiusSearch(&query_pt[0], 5, ret_matches, params); - //const size_t nMatches = index.knnSearch(&query_pt[0], 3 /*direct neighbours*/, ret_matches, params); - //std::cout<<"nMatches "<=0;j--) { - if(used[ret_matches[j].first]>0) continue; - - if(num>=4) { //finish segment - //num = 1; - break; - } - - if(/*seg.inds_.size()==0 &&*/ num>0) { // only in one direction - used[ret_matches[j].first] += USED_INC; - } - else { - nexts[num] = ret_matches[j].first; - ++num; - } - } - - /*if(num==1 && n==1) { //if we had before 2 pts (front/back) and now only one again - std::reverse(seg.inds_.begin(), seg.inds_.end()); - }*/ - if(seg.inds_.size()>10+min_segment_length) { - Pos p1 = pts[seg.inds_[seg.inds_.size()-1]]; - Pos p2 = pts[seg.inds_[seg.inds_.size()-6]]; - Pos p3 = pts[seg.inds_[seg.inds_.size()-10]]; - Pos d1 = p2-p1; - Pos d2 = p3-p2; - if(d1.x_*d2.x_ + d1.y_*d2.y_<10) { - std::vector inds(seg.inds_.begin()+seg.inds_.size()-6, seg.inds_.end()); - double l = seg.length_-last_lenghts[(seg.inds_.size()-6)%10]; - seg.length_ = last_lenghts[(seg.inds_.size()-6)%10]; - seg.effective_length_ = seg.length_; - seg.inds_.erase(seg.inds_.begin()+seg.inds_.size()-5, seg.inds_.end()); - - if(seg.inds_.size()>0 && seg.effective_length_>=min_segment_length) segs.push_back(seg); - - seg.inds_=inds; - seg.length_ = l; - } - } - else if(seg.length_>80) { - seg.effective_length_ = seg.length_; - if(seg.inds_.size()>0 && seg.effective_length_>=min_segment_length) segs.push_back(seg); - seg=LineSegment(); - seg.length_ = 0; - } - } - - seg.effective_length_ = seg.length_; - if(seg.inds_.size()>0 && seg.effective_length_>=min_segment_length) segs.push_back(seg); - } - - //3. do TSP for line segments - TSPalgorithm > opt(start); - LineSegment segs_start={}; - for(size_t i=0; i1) { - const size_t off = std::min((size_t)9, segs[i].inds_.size()-1); - dir_a = cv::Point2f(pts[segs[i].inds_.front()].x_-pts[segs[i].inds_[off]].x_, pts[segs[i].inds_.front()].y_-pts[segs[i].inds_[off]].y_); - dir_b = cv::Point2f(pts[segs[i].inds_.back()].x_-pts[segs[i].inds_[segs[i].inds_.size()-off-1]].x_, pts[segs[i].inds_.back()].y_-pts[segs[i].inds_[segs[i].inds_.size()-off-1]].y_); - dir_a*= 1./cv::norm(dir_a); - dir_b*= 1./cv::norm(dir_b); - - assert(!(dir_a!=dir_a)); - assert(!(dir_b!=dir_b)); - } - opt.tour_.set(2*i, TSPItem(pts[segs[i].inds_.front()], pts[segs[i].inds_.back()], dir_a, dir_b, &segs[i])); - } - - opt.optimize(); - - //4. create output - Pos ll(start); - for(size_t i=0; iinds_.back()]) - std::reverse(opt.tour_.items_[i].ref_->inds_.begin(), opt.tour_.items_[i].ref_->inds_.end()); - - ll = opt.tour_.items_[i].out_; - - for(size_t j=0; jinds_.size(); j++) - out.push_back(opt.tour_.items_[i].ref_->inds_[j]); - } -} - -//* Class for building a modified Voronoi graph for a given grid map (also computes waypoints and areas) -class VoronoiMap { - CellMap map_; //< internal gridmap - std::vector centers_; //< central points definining connected areas (points which results from different obstacles -> local maxima) - int max_track_width_; //< width of a track in pixels - int wall_offset_; //< distance to wall for path generation in pixels - bool single_room_; //< if true the map is handled as one complete room - - typedef std::priority_queue, pless > > T_WAVE; - - enum { - OCC=100, ///< value for occupied cell in ROS gridmap - FREE=0, ///< value for free cell in ROS gridmap - UNK=-1, ///< value for unknown cell in ROS gridmap - SET=3 ///< value for internal handled cell - }; - - /*! - * \brief access operator for occopuancy grid map with width/height at position - */ - inline int8_t &operator()(int8_t *occ, const int w, const int h, const Pos &c) { - return occ[c.y_*w+c.x_]; - } - - /*! - * \brief visit undhandled cells around given position and add them to our processing wave - */ - inline int add(int8_t *occ, const int w, const int h, const Pos &org, T_WAVE &wave) { - const int NUM=4; - static const Pos dirs[NUM] = {Pos(-1,0), Pos(0,-1), Pos(1,0), Pos(0,1)}; - - const Cell &cur = map_[org]; - - int n=0; - for(int d=0; dset(cur); - *c += dirs[d]; - wave.push(c); - (*this)(occ,w,h, p) = SET; - ++n; - } - } - - return n; - } - - /*! - * \brief visit handled cells which are further away as from new position around given position and add them to our processing wave - */ - inline int add2(int8_t *occ, const int w, const int h, const Pos &org, T_WAVE &wave) { - const int NUM=4; - static const Pos dirs[NUM] = {Pos(-1,0), Pos(0,-1), Pos(1,0), Pos(0,1)}; - - const Cell &cur = map_[org]; - - int n=0; - for(int d=0; dt.dist2()) - { - Cell *c = &map_[p]; - c->set(cur); - *c += dirs[d]; - wave.push(c); - ++n; - } - } - - return n; - } - -public: - - bool getSingleRoom() const {return single_room_;} - void setSingleRoom(const bool b) {single_room_=b;} - - /*! - * \brief constructor for creating simple version of modified Voronoi map (without room segmenation...) for wall tracking purposes (potential field -> specified distance to wall) - */ - VoronoiMap(const int max_track_width, int8_t *occ, const int w, const int h) : map_(w,h), max_track_width_(max_track_width), wall_offset_(0), single_room_(false) { - T_WAVE wave; - - for(int x=0; x0) { - int added = add(occ,w,h, wave.top()->pos_, wave); - - if(added==0 && wave.top()->hops_>0 && wave.top()->dist2()>4) - centers_.push_back(wave.top()); - - wave.pop(); - } - } - - /*! - * \brief constructor for creating "complete" modified Voronoi map (with room segmenation...) for maeander calculation (does not generate path by itself) - */ - VoronoiMap(int8_t *occ, const int w, const int h, const int max_track_width, const int merge_tracks=2, const bool single_room=false) : map_(w,h), max_track_width_(max_track_width), wall_offset_(0), single_room_(single_room) { - T_WAVE wave; - - //std::cout<<"single_room "<0) { - int added = add(occ,w,h, wave.top()->pos_, wave); - - if(added==0 && wave.top()->hops_>0 && wave.top()->dist2()>=max_track_width_*max_track_width_*2) { - centers_.push_back(wave.top()); - if(single_room_) centers_.back()->id_=1; - } - - wave.pop(); - } - - if(single_room) return; - - const int NUM=9; - //static const Pos dirs[NUM] = {Pos(-1,0), Pos(0,-1), Pos(1,0), Pos(0,1), Pos(0,0)}; - static const Pos dirs[NUM] = {Pos(-1,-1), Pos(0,-1), Pos(1,-1), Pos(-1,0), Pos(1,0), Pos(-1,1), Pos(0,1), Pos(1,1), Pos(0,0)}; - - PointCloud cloud; - for(size_t i=0; i::Point(centers_[i]->pos_.x_, centers_[i]->pos_.y_)); - - // construct a kd-tree index: - typedef nanoflann::KDTreeSingleIndexAdaptor< - nanoflann::L2_Simple_Adaptor > , - PointCloud, - 2 /* dim */ - > my_kd_tree_t; - - my_kd_tree_t index(2 /*dim*/, cloud, nanoflann::KDTreeSingleIndexAdaptorParams(10 /* max leaf */) ); - index.buildIndex(); - - int query_pt[2]; - std::vector > ws_old; - ws_old.resize(centers_.size()); - - //start from central points with highest distance to next obstacle - for(int i=centers_.size()-1; i>=0; --i) { - - //if already processed skip - if(centers_[i]->id_>=0) continue; - - //start with this point - std::vector ws; - ws.push_back(centers_[i]); - - //iterate over all connected, unprocessed center points - //for clustering - for(size_t j=0; jid_>=0) continue; - - //distance to obstacle - const int last_dist = std::sqrt(ws[j]->dist2()); - //track no. - const int id = last_dist/(merge_tracks*max_track_width_); - - ws[j]->id_ = i+1; //generate id for area - - //look now in direct neighbourhood for other center points - query_pt[0] = ws[j]->pos_.x_; - query_pt[1] = ws[j]->pos_.y_; - - std::vector > ret_matches; - nanoflann::SearchParams params; - params.sorted = true; - - //const size_t nMatches = index.radiusSearch(&query_pt[0], 2*last_dist+2*max_track_width_, ret_matches, params); - const size_t nMatches = index.radiusSearch(&query_pt[0], std::pow(last_dist+max_track_width_,2), ret_matches, params); - - int mid = id; - for (size_t ii=0;iiid_>=0) continue; //already processed - - const int dist = std::sqrt(c->dist2()); - const int _id = dist/(merge_tracks*max_track_width_); - - //point would be within track no. --> clustering - //so the clustered center points get the same id - if(_id<=mid) - ws.push_back(c); - else break; - } - } - } - - if(centers_.size()<1) return; - - //assign id to complete area around center point - const int factor=merge_tracks; - - //biggest distance to obstacle - const int first_dist2 = centers_[centers_.size()-1]->dist2(); - const int first_id = std::sqrt(first_dist2)/(factor*max_track_width_); - - std::vector > wc; - wc.resize(centers_.size()); - //seed points - for(int i=0; i=0; --i) { - //distance to obstacle - const int last_dist = std::sqrt(centers_[i]->dist2()); - //calc. track no. - int id = last_dist/(factor*max_track_width_); - - //only process areas with at least this track no. - if(idid_; //get area id - if(id<0) continue; //not processed by step before - - //do one loop through stack (initial one center point) - std::vector w2; - for(size_t j=0; jid2_<<" "<id_<id2_==99) { - - //if differnt area ids contract, - //we mark this as border between two areas - if(wc[i][j]->id_ != id || map_[wc[i][j]->pos_].dist2()<=0) { - wc[i][j]->hops_=0; - wc[i][j]->sx_=0; - wc[i][j]->sy_=0; - wave.push(wc[i][j]); //remember border - } - //otherwise it's the same area, we can skip - - continue; - } - - wc[i][j]->id_ = id; //assign area id - wc[i][j]->id2_ = 99; //mark as visited - - //add surrounding points for next loop - for(int d=0; dpos_+dirs[d]; - //if not an obstacle - if(map_.valid(p)) - //if(map_[p].dist2()>0) - w2.push_back(&map_[p]); - } - } - - //std::cout<<"SSS44 "<0) { - int added = add2(occ,w,h, wave.top()->pos_, wave); - //std::cout<dist2()<=map_.w_-1 || y>=map_.h_-1) - return -1; - - if(!map_(x,y).sx_ && !map_(x,y).sy_) - return 0; //obstacle - - const double v = std::sqrt(map_(x,y).dist2())-max_track_width_/2.; - if(v=map_.w_-1 || y>=map_.h_-1) - return -1; - - if(!map_(x,y).sx_ && !map_(x,y).sy_) - return 0; //obstacle - - if(map_(x,y).hops_<=0) return 0; - - const float V = std::abs((float)fmod(std::sqrt((float)map_(x,y).dist2())-(float)wall_offset_, (float)max_track_width_)-(float)max_track_width_/2.f); - if(V<0.45f) return 2222; - - const int xx = roundf(float(map_(x,y).sx_) / std::max(std::abs(map_(x,y).sx_), std::abs(map_(x,y).sy_)) ); - const int yy = roundf(float(map_(x,y).sy_) / std::max(std::abs(map_(x,y).sx_), std::abs(map_(x,y).sy_)) ); - - const int xx2 = roundf(float(map_(x,y).sx_)*2 / std::max(std::abs(map_(x,y).sx_), std::abs(map_(x,y).sy_)) ); - const int yy2 = roundf(float(map_(x,y).sy_)*2 / std::max(std::abs(map_(x,y).sx_), std::abs(map_(x,y).sy_)) ); - - const float v[5]={ - std::abs((float)fmod(std::sqrt((float)map_(x+xx,y+yy).dist2())-(float)wall_offset_, (float)max_track_width_)-(float)max_track_width_/2.f), - V, - std::abs((float)fmod(std::sqrt((float)map_(x-xx,y-yy).dist2())-(float)wall_offset_, (float)max_track_width_)-(float)max_track_width_/2.f), - - std::abs((float)fmod(std::sqrt((float)map_(x-xx2,y-yy2).dist2())-(float)wall_offset_, (float)max_track_width_)-(float)max_track_width_/2.f), - std::abs((float)fmod(std::sqrt((float)map_(x+xx2,y+yy2).dist2())-(float)wall_offset_, (float)max_track_width_)-(float)max_track_width_/2.f) - }; - - //if(v[1]map_(x,y).hops_) ++num; - - return (num==0 && map_(x,y).dist2()*12>=max_track_width_*max_track_width_)?2222:(map_(x,y).hops_>0?1000:0); - } - - /*! - * \brief generate maeander using start position and coverage, simplifies path by minimum distance between points (in pixels) and deviation (distance) from a thought line (in pixel) - */ - template - void generatePath(PathVector &path, const cv::Mat &coverage, const int start_x, const int start_y, const int min_dist=40, const float dir_dev=0.1f) { - std::vector pts; - size_t num=0; - - const int cid = map_(start_x,start_y).id_; - - for(int x=0; xstd::pow(wall_offset_,2) && (*this)(x,y) == 2222 && (single_room_||map_(x,y).id_==cid) ) { - pts.push_back(Pos(x,y)); - ++num; - } - } - } - - //sort pts in relation to distance to start - //-->circles wil be split near to start - std::sort(pts.begin(), pts.end(), CmpDist2Ref(Pos(start_x, start_y))); - - num = 0; - - std::vector out; - connect(pts, out, coverage, Pos(start_x, start_y), APPROX_COVERED); - - //helper structure for optimized removal - struct OptVal { - struct OptValCompare { - bool operator()(const typename std::list::iterator& lhs, const typename std::list::iterator& rhs) const { - if(lhs->val==rhs->val) return lhs->val_secval_sec; - return lhs->valval; - } - }; - - typedef std::multimap::iterator, char, OptValCompare> MM; - - double val; //value defining costs if we remove the coresponding point from line - double val_sec; - int ind; //index to order list (out) (double indexed to pts) - typename MM::iterator mm; //remember iterator to sorted multimap list - }; - //function to update costs - auto ValueFunc = [pts, out, this](typename std::list::iterator cur) { - typename std::list::iterator b = cur; - typename std::list::iterator a = cur; - --b; - ++a; - - auto dx1 = pts[out[b->ind]].x_-pts[out[cur->ind]].x_; - auto dy1 = pts[out[b->ind]].y_-pts[out[cur->ind]].y_; - auto dx2 = pts[out[a->ind]].x_-pts[out[cur->ind]].x_; - auto dy2 = pts[out[a->ind]].y_-pts[out[cur->ind]].y_; - auto dx3 = pts[out[a->ind]].x_-pts[out[b->ind]].x_; - auto dy3 = pts[out[a->ind]].y_-pts[out[b->ind]].y_; - - auto Dist = [](int dx, int dy) {return std::sqrt(std::pow(dx,2)+std::pow(dy,2));}; - auto l = Dist(dx1,dy1)+Dist(dx2,dy2); - /*if(l<=2*this->max_track_width_ && std::abs(dx1*dy2 - dx2*dy1)max_track_width_*this->max_track_width_/3) - cur->val=0; - else*/ - cur->val = (l-Dist(dx3,dy3))*Dist(dx3,dy3); - //cur->val = (10000*(Dist(dx1,dy1)+Dist(dx2,dy2))-4)/Dist(dx3,dy3)-10000; - //cur->val = std::abs(dx1*dy2 - dx2*dy1); - cur->val_sec = Dist(dx3,dy3); - }; - - std::list vals; //ordered list of line - for(size_t i=0; i::iterator it = ++vals.begin(); it!=--vals.end(); ++it) { - ValueFunc(it); - it->mm = vals_sorted.insert(std::pair::iterator, char>(it, 0)); - } - - const double THR=8;//std::pow(9,2); - while(!vals_sorted.empty()) { - typename std::list::iterator it = vals_sorted.begin()->first; - if(it->val>=THR) break; - - //remove top (keep in mind, first and last point won't be removed!) - typename std::list::iterator a=it, b=it; - ++a; --b; - - vals_sorted.erase(it->mm); - if(a!=--vals.end()) vals_sorted.erase(a->mm); - if(b!=vals.begin()) vals_sorted.erase(b->mm); - vals.erase(it); - - //update values - if(a!=--vals.end()) { - ValueFunc(a); - a->mm = vals_sorted.insert(std::pair::iterator, char>(a, 0)); - } - if(b!=vals.begin()) { - ValueFunc(b); - b->mm = vals_sorted.insert(std::pair::iterator, char>(b, 0)); - } - } - - path.resize(vals.size()); - size_t i=0; - for(typename std::list::iterator it = vals.begin(); it!=vals.end(); ++it,++i) { - path[i].x=pts[out[it->ind]].x_; - path[i].y=pts[out[it->ind]].y_; - } - - } - - /*! - * \brief gernates a direct path (2 points) to next uncovered area (e.g. next room to clean; shortest path) - */ - template - bool nextArea(PathVector &path, const cv::Mat &coverage, const int start_x, const int start_y) { - path.resize(2); - path[0].x = start_x; - path[0].y = start_y; - - const int NUM=4; - static const Pos dirs[NUM] = {Pos(-1,0), Pos(0,-1), Pos(1,0), Pos(0,1)}; - - const int cid = map_(start_x,start_y).id_; - Pos p(start_x, start_y); - - std::list stack; - stack.push_back(p); - - while(stack.size()>0) { - p = stack.front(); - stack.pop_front(); - - if( map_(p.x_,p.y_).id_!=cid && (*this)(p.x_,p.y_) == 2222 && - (p.x_>=coverage.cols || p.y_>=coverage.rows || !coverage.at(p.y_, p.x_) ) ) { - path[1].x = p.x_; - path[1].y = p.y_; - - return true; - } - - int n=0; - for(int d=0; d=0 && map_(n.x_,n.y_).id2_!=333 ) { - map_(n.x_,n.y_).id2_=333; - stack.push_back(n); - } - } - } - - return false; - } - - /*! - * \brief generates a direct path (2 points) to next border (e.g. wall) which was noch covered yet (allows to search in global map or only in current area; shortest path) - */ - template - bool nextBorderPoint(PathVector &path, const cv::Mat &coverage, const int start_x, const int start_y, const bool stay_inside=false) { - const int NUM=4; - static const Pos dirs[NUM] = {Pos(-1,0), Pos(0,-1), Pos(1,0), Pos(0,1)}; - - Pos p(start_x, start_y); - - std::list stack; - stack.push_back(p); - - path.resize(2); - path[0].x = start_x; - path[0].y = start_y; - - while(stack.size()>0) { - p = stack.front(); - stack.pop_front(); - - int d = map_(p.x_,p.y_).dist2(); - - if( 4*d>=std::pow(3*max_track_width_-1,2) && 4*d<=std::pow(3*max_track_width_+1,2) && - (p.x_<0 || p.y_<0 || p.x_>=coverage.cols || p.y_>=coverage.rows || !coverage.at(p.y_, p.x_) ) ) { - path[1].x = p.x_; - path[1].y = p.y_; - return true; - } - - int n=0; - for(int d=0; d=0 && map_(n.x_,n.y_).id2_!=444 && - (!stay_inside || map_(n.x_,n.y_).hops_>0) //TODO: check this statement - ) { - map_(n.x_,n.y_).id2_=444; - stack.push_back(n); - } - } - } - - path.clear(); - return false; - } - -}; - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/boustrophedon_explorator.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/boustrophedon_explorator.cpp deleted file mode 100644 index 14232dd..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/boustrophedon_explorator.cpp +++ /dev/null @@ -1,1160 +0,0 @@ -#include - -//#define DEBUG_VISUALIZATION - -// Constructor -BoustrophedonExplorer::BoustrophedonExplorer() -{ - -} - -// Function that creates a room exploration path for the given map, by using the morse cellular decomposition method proposed in -// -// "H. Choset, E. Acar, A. A. Rizzi and J. Luntz, -// "Exact cellular decompositions in terms of critical points of Morse functions," Robotics and Automation, 2000. Proceedings. -// ICRA '00. IEEE International Conference on, San Francisco, CA, 2000, pp. 2270-2277 vol.3." -// -// This method takes the given map and separates it into several cells. Each cell is obstacle free and so allows an -// easier path planning. For each cell then a boustrophedon path is planned, which goes up, down and parallel to the -// upper and lower boundaries of the cell, see the referenced paper for details. This function does the following steps: -// I. Using the Sobel operator the direction of the gradient at each pixel is computed. Using this information, the direction is -// found that suits best for calculating the cells, i.e. such that longer cells occur, and the map is rotated in this manner. -// This allows to use the algorithm as it was and in the last step, the found path points simply will be transformed back to the -// original orientation. -// II. Sweep a slice (a morse function) trough the given map and check for connectivity of this line, -// i.e. how many connected segments there are. If the connectivity increases, i.e. more segments appear, -// an IN event occurs that opens new separate cells, if it decreases, i.e. segments merge, an OUT event occurs that -// merges two cells together. If an event occurs, the algorithm checks along the current line for critical points, -// that are points that trigger the events. From these the boundary of the cells are drawn, starting from the CP -// and going left/right until a black pixel is hit. -// III. After all cells have been determined by the sweeping slice, the algorithm finds these by using cv::findContours(). -// This gives a set of points for each cell, that are used to create a generalizedPolygon out of each cell. -// IV. After all polygons have been created, plan the path trough all of them for the field of view s.t. the whole area -// is covered. To do so, first a global path trough all cells is generated, using the traveling salesmen problem -// formulation. This produces an optimal visiting order of the cells. Next for each cell a boustrophedon path is -// determined, which goes back and forth trough the cell and between the horizontal paths along the boundaries of -// the cell, what ensures that the whole area of the cell is covered. For each cell the longest edge is found and it is transformed -// s.t. this edge lies horizontal to the x-direction. This produces longer but fewer edges, what improves the path for small but long -// cells. The startpoint of the cell-path is determined by the endpoint of the previous cell, s.t. the distance between two -// cell-paths is minimized. The cell-path is determined in the rotated manner, so in a last step, the cell-path is transformed to -// the originally transformed cell and after that inserted in the global path. -// V. The previous step produces a path for the field of view. If wanted this path gets mapped to the robot path s.t. -// the field of view follows the wanted path. To do so simply a vector transformation is applied. If the computed robot -// pose is not in the free space, another accessible point is generated by finding it on the radius around the field of view (fov) -// middlepoint s.t. the distance to the last robot position is minimized. If this is not wanted one has to set the -// corresponding Boolean to false (shows that the path planning should be done for the robot footprint). -// room_map = expects to receive the original, not inflated room map -void BoustrophedonExplorer::getExplorationPath(const cv::Mat& room_map, std::vector& path, - const float map_resolution, const cv::Point starting_position, const cv::Point2d map_origin, - const double grid_spacing_in_pixel, const double grid_obstacle_offset, const double path_eps, const int cell_visiting_order, - const bool plan_for_footprint, const Eigen::Matrix robot_to_fov_vector, const double min_cell_area, const int max_deviation_from_track) -{ - ROS_INFO("Planning the boustrophedon path trough the room."); - const int grid_spacing_as_int = (int)std::floor(grid_spacing_in_pixel); // convert fov-radius to int - const int half_grid_spacing_as_int = (int)std::floor(0.5*grid_spacing_in_pixel); // convert fov-radius to int - const int min_cell_width = half_grid_spacing_as_int + 2.*grid_obstacle_offset/map_resolution; - - // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** - // *********************** II. Sweep a slice trough the map and mark the found cell boundaries. *********************** - // *********************** III. Find the separated cells. *********************** - cv::Mat R; - cv::Rect bbox; - cv::Mat rotated_room_map; - std::vector cell_polygons; - std::vector polygon_centers; - computeCellDecompositionWithRotation(room_map, map_resolution, min_cell_area, min_cell_width, 0., R, bbox, rotated_room_map, cell_polygons, polygon_centers); - // does not work so well: findBestCellDecomposition(room_map, map_resolution, min_cell_area, R, bbox, rotated_room_map, cell_polygons, polygon_centers); - - ROS_INFO("Found the cells in the given map."); - - - // *********************** IV. Determine the cell paths. *********************** - // determine the start cell that contains the start position - std::vector starting_point_vector(1, starting_position); // opencv syntax - cv::transform(starting_point_vector, starting_point_vector, R); - const cv::Point rotated_starting_point = starting_point_vector[0]; // point that keeps track of the last point after the boustrophedon path in each cell - -// testing -// cv::Mat center_map = room_map.clone(); -// for(size_t i=0; i::iterator cell=cell_polygons.begin(); cell!=cell_polygons.end(); ++cell) - if(cv::pointPolygonTest(cell->getVertices(), rotated_starting_point, false) >= 0) - start_cell_index = cell - cell_polygons.begin(); - - // determine the visiting order of the cells - std::vector optimal_order; - if (cell_visiting_order == OPTIMAL_TSP) - { - // determine the optimal visiting order of the cells - // ConcordeTSPSolver tsp_solver; - // std::vector optimal_order = tsp_solver.solveConcordeTSP(rotated_room_map, polygon_centers, 0.25, 0.0, map_resolution, start_cell_index, 0); - GeneticTSPSolver tsp_solver; - optimal_order = tsp_solver.solveGeneticTSP(rotated_room_map, polygon_centers, 0.25, 0.0, map_resolution, start_cell_index, 0); - if (optimal_order.size()!=polygon_centers.size()) - { - std::cout << "=====================> Genetic TSP failed with 25% resolution, falling back to 100%. <=======================" << std::endl; - optimal_order = tsp_solver.solveGeneticTSP(rotated_room_map, polygon_centers, 1.0, 0.0, map_resolution, start_cell_index, 0); - } - } - else if (cell_visiting_order == LEFT_TO_RIGHT) - { - // we are using an alternative ordering here, which visits the cells in a more obvious fashion to the human observer (though it is not optimal) - std::multimap y_coordinate_ordering; // - for (size_t i=0; i(polygon_centers[i].y, (int)i)); - for (std::multimap::iterator it=y_coordinate_ordering.begin(); it!=y_coordinate_ordering.end(); ++it) - optimal_order.push_back(it->second); - } - else - { - std::cout << "Error: BoustrophedonExplorer::getExplorationPath: The specified cell_visiting_order=" << cell_visiting_order << " is invalid." << std::endl; - return; - } - - // go trough the cells [in optimal visiting order] and determine the boustrophedon paths - ROS_INFO("Starting to get the paths for each cell, number of cells: %d", (int)cell_polygons.size()); - std::cout << "Boustrophedon grid_spacing_as_int=" << grid_spacing_as_int << std::endl; - cv::Point robot_pos = rotated_starting_point; // point that keeps track of the last point after the boustrophedon path in each cell - std::vector fov_middlepoint_path; // this is the trajectory of centers of the robot footprint or the field of view - for(size_t cell=0; cell fov_poses; // this is the trajectory of poses of the robot footprint or the field of view, in [pixels] - room_rotation.transformPathBackToOriginalRotation(fov_middlepoint_path, fov_poses, R); -#ifdef DEBUG_VISUALIZATION - std::cout << "printing path" << std::endl; - cv::Mat room_map_path = room_map.clone(); - cv::circle(room_map_path, starting_position, 3, cv::Scalar(160), CV_FILLED); - for(size_t i=0; i::iterator pose=fov_poses.begin(); pose != fov_poses.end(); ++pose) - { - geometry_msgs::Pose2D current_pose; - current_pose.x = (pose->x * map_resolution) + map_origin.x; - current_pose.y = (pose->y * map_resolution) + map_origin.y; - current_pose.theta = pose->theta; - path.push_back(current_pose); - } - return; - } - - // *********************** V. Get the robot path out of the fov path. *********************** - // go trough all computed fov poses and compute the corresponding robot pose - ROS_INFO("Starting to map from field of view pose to robot pose"); - cv::Point robot_starting_position = (fov_poses.size()>0 ? cv::Point(cvRound(fov_poses[0].x), cvRound(fov_poses[0].y)) : starting_position); - cv::Mat inflated_room_map; - cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int); - mapPath(inflated_room_map, path, fov_poses, robot_to_fov_vector, map_resolution, map_origin, robot_starting_position); - - -#ifdef DEBUG_VISUALIZATION - // testing - std::cout << "printing path" << std::endl; - cv::Mat fov_path_map = room_map.clone(); - if (path.size() > 0) - cv::circle(fov_path_map, cv::Point((path[0].x-map_origin.x)/map_resolution, (path[0].y-map_origin.y)/map_resolution), 2, cv::Scalar(150), CV_FILLED); - for(size_t i=1; i& cell_polygons, std::vector& polygon_centers) -{ - // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** - // *********************** II. Sweep a slice trough the map and mark the found cell boundaries. *********************** - // *********************** III. Find the separated cells. *********************** - cv::Mat R_1, R_2; - cv::Rect bbox_1, bbox_2; - cv::Mat rotated_room_map_1, rotated_room_map_2; - std::vector cell_polygons_1, cell_polygons_2; - std::vector polygon_centers_1, polygon_centers_2; - computeCellDecompositionWithRotation(room_map, map_resolution, min_cell_area, min_cell_width, 0., R_1, bbox_1, rotated_room_map_1, cell_polygons_1, polygon_centers_1); - computeCellDecompositionWithRotation(room_map, map_resolution, min_cell_area, min_cell_width, 90./180.*CV_PI, R_2, bbox_2, rotated_room_map_2, cell_polygons_2, polygon_centers_2); - - // select the cell decomposition with good axis alignment which produces less cells - if (cell_polygons_1.size() <= cell_polygons_2.size()) - { - R = R_1; - bbox = bbox_1; - rotated_room_map = rotated_room_map_1; - cell_polygons = cell_polygons_1; - polygon_centers = polygon_centers_1; - } - else - { - R = R_2; - bbox = bbox_2; - rotated_room_map = rotated_room_map_2; - cell_polygons = cell_polygons_2; - polygon_centers = polygon_centers_2; - } -} - -void BoustrophedonExplorer::computeCellDecompositionWithRotation(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, - const int min_cell_width, const double rotation_offset, cv::Mat& R, cv::Rect& bbox, cv::Mat& rotated_room_map, - std::vector& cell_polygons, std::vector& polygon_centers) -{ - // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** - RoomRotator room_rotation; - room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution, 0, rotation_offset); - room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); - -#ifdef DEBUG_VISUALIZATION -// // testing -// cv::Mat room_map_disp = room_map.clone(); -// cv::circle(room_map_disp, starting_position, 3, cv::Scalar(160), CV_FILLED); -// cv::imshow("room_map", room_map_disp); -// std::vector tester; -// tester.push_back(cv::Point(10,10)); -// cv::Mat tester_map = room_map.clone(); -// cv::circle(tester_map, tester[0], 3, cv::Scalar(127), CV_FILLED); -// cv::transform(tester, tester, R); -// cv::circle(rotated_room_map, tester[0], 3, cv::Scalar(127), CV_FILLED); -// cv::imshow("original", tester_map); -// cv::imshow("rotated_im.png", rotated_room_map); -// cv::waitKey(); -#endif - - // *********************** II. Sweep a slice trough the map and mark the found cell boundaries. *********************** - // *********************** III. Find the separated cells. *********************** - computeCellDecomposition(rotated_room_map, map_resolution, min_cell_area, min_cell_width, cell_polygons, polygon_centers); -} - -void BoustrophedonExplorer::computeCellDecomposition(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, - const int min_cell_width, std::vector& cell_polygons, std::vector& polygon_centers) -{ - // *********************** II. Sweep a slice trough the map and mark the found cell boundaries. *********************** - // create a map copy to mark the cell boundaries - cv::Mat cell_map = room_map.clone(); - - // find smallest y-value for that a white pixel occurs, to set initial y value and find initial number of segments - size_t y_start = 0; - bool found = false, obstacle = false; - int previous_number_of_segments = 0; - std::vector previous_obstacles_end_x; // keep track of the end points of obstacles - for(size_t y=0; y(y,x) == 255) - { - y_start = y; - found = true; - } - else if(found == true && obstacle == false && room_map.at(y,x) == 0) - { - ++previous_number_of_segments; - obstacle = true; - } - else if(found == true && obstacle == true && room_map.at(y,x) == 255) - { - obstacle = false; - previous_obstacles_end_x.push_back(x); - } - } - - if(found == true) - break; - } - - // sweep trough the map and detect critical points - for(size_t y=y_start+1; y current_obstacles_start_x; - std::vector current_obstacles_end_x; - bool obstacle_hit = false; // bool to check if the line currently hit an obstacle, s.t. not all black pixels trigger an event - bool hit_white_pixel = false; // bool to check if a white pixel has been hit at the current slice, to start the slice at the first white pixel - - // count number of segments within this row - for(size_t x=0; x(y,x) == 255) - hit_white_pixel = true; - else if(hit_white_pixel == true) - { - if(obstacle_hit == false && room_map.at(y,x) == 0) // check for obstacle - { - ++number_of_segments; - obstacle_hit = true; - current_obstacles_start_x.push_back(x); - } - else if(obstacle_hit == true && room_map.at(y,x) == 255) // check for leaving obstacle - { - obstacle_hit = false; - current_obstacles_end_x.push_back(x); - } - } - } - - // if the number of segments did not change, check whether the position of segments has changed so that there is a gap between them - bool segment_shift_detected = false; - if (previous_number_of_segments == number_of_segments && current_obstacles_start_x.size() == previous_obstacles_end_x.size()+1) - { - for (size_t i=0; i previous_obstacles_end_x[i]) - { - segment_shift_detected = true; - break; - } - } - - // reset hit_white_pixel to use this Boolean later - hit_white_pixel = false; - - // check if number of segments has changed --> event occurred - if(previous_number_of_segments < number_of_segments || segment_shift_detected == true) // IN event (or shift) - { - // check the current slice again for critical points - for(int x=0; x(y,x) == 255) - hit_white_pixel = true; - else if(hit_white_pixel == true && room_map.at(y,x) == 0) - { - // check over black pixel for other black pixels, if none occur a critical point is found - bool critical_point = true; - for(int dx=-1; dx<=1; ++dx) - if(room_map.at(y-1,std::max(0,std::min(x+dx, room_map.cols-1))) == 0) - critical_point = false; - - // if a critical point is found mark the separation, note that this algorithm goes left and right - // starting at the critical point until an obstacle is hit, because this prevents unnecessary cells - // behind other obstacles on the same y-value as the critical point - if(critical_point == true) - { - // to the left until a black pixel is hit - for(int dx=-1; x+dx>=0; --dx) - { - uchar& val = cell_map.at(y,x+dx); - if(val == 255 && cell_map.at(y-1,x+dx) == 255) - val = BORDER_PIXEL_VALUE; - else if(val == 0) - break; - } - - // to the right until a black pixel is hit - for(int dx=1; x+dx(y,x+dx); - if(val == 255 && cell_map.at(y-1,x+dx) == 255) - val = BORDER_PIXEL_VALUE; - else if(val == 0) - break; - } - } - } - } - } - else if(previous_number_of_segments > number_of_segments) // OUT event - { - // check the previous slice again for critical points --> y-1 - for(int x=0; x(y-1,x) == 255 && hit_white_pixel == false) - hit_white_pixel = true; - else if(hit_white_pixel == true && room_map.at(y-1,x) == 0) - { - // check over black pixel for other black pixels, if none occur a critical point is found - bool critical_point = true; - for(int dx=-1; dx<=1; ++dx) - if(room_map.at(y,std::max(0,std::min(x+dx, room_map.cols-1))) == 0) // check at side after obstacle - critical_point = false; - - // if a critical point is found mark the separation, note that this algorithm goes left and right - // starting at the critical point until an obstacle is hit, because this prevents unnecessary cells - // behind other obstacles on the same y-value as the critical point - if(critical_point == true) - { - const int ym2 = std::max(0,(int)y-2); - - // to the left until a black pixel is hit - for(int dx=-1; x+dx>=0; --dx) - { - uchar& val = cell_map.at(y-1,x+dx); - if(val == 255 && cell_map.at(ym2,x+dx) == 255) - val = BORDER_PIXEL_VALUE; - else if(val == 0) - break; - } - - // to the right until a black pixel is hit - for(int dx=1; x+dx(y-1,x+dx); - if(val == 255 && cell_map.at(ym2,x+dx) == 255) - val = BORDER_PIXEL_VALUE; - else if(val == 0) - break; - } - } - } - } - } - - // save the found number of segments and the obstacle end points - previous_number_of_segments = number_of_segments; - previous_obstacles_end_x = current_obstacles_end_x; - } - -#ifdef DEBUG_VISUALIZATION - cv::imshow("cell_map", cell_map); -#endif - - // *********************** II.b) merge too small cells into bigger cells *********************** - cv::Mat cell_map_labels; - const int number_of_cells = mergeCells(cell_map, cell_map_labels, min_cell_area, min_cell_width); - - // *********************** III. Find the separated cells. *********************** - std::vector > cells; - for (int i=1; i<=number_of_cells; ++i) - { - cv::Mat cell_copy(cell_map_labels == i); - std::vector > cellsi; -#if CV_MAJOR_VERSION<=3 - cv::findContours(cell_copy, cellsi, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE); -#else - cv::findContours(cell_copy, cellsi, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE); -#endif - cells.insert(cells.end(), cellsi.begin(), cellsi.end()); - } - -#ifdef DEBUG_VISUALIZATION -// // testing -// cv::Mat black_map = cv::Mat::zeros(cell_map.rows, cell_map.cols, cell_map.type()); -// for(size_t i=0; i=min_cell_area) - { - cell_polygons.push_back(current_cell); - polygon_centers.push_back(current_cell.getCenter()); - } - else - { - std::cout << "WARN: BoustrophedonExplorer::computeCellDecomposition: dropped cell " << cell+1 << " with area=" << current_cell.getArea() << ". This should only happen for small unconnected cells." << std::endl; - } - } -} - -int BoustrophedonExplorer::mergeCells(cv::Mat& cell_map, cv::Mat& cell_map_labels, const double min_cell_area, const int min_cell_width) -{ - // label all cells - // --> create a label map with 0=walls/obstacles, -1=cell borders, 1,2,3,4...=cell labels - cell_map.convertTo(cell_map_labels, CV_32SC1, 256, 0); - // --> re-assign the cell borders with -1 - for (int v=0; v(v,u) == BORDER_PIXEL_VALUE*256) - cell_map_labels.at(v,u) = -1; - // --> flood fill cell regions with unique id labels - std::map > cell_index_mapping; // maps each cell label --> to the cell object - int label_index = 1; - for (int v=0; v skip - if (cell_map_labels.at(v,u)!=65280) - continue; - - // fill each cell with a unique id - cv::Rect bounding_box; - const double area = cv::floodFill(cell_map_labels, cv::Point(u,v), label_index, &bounding_box, 0, 0, 4); - cell_index_mapping[label_index] = boost::shared_ptr(new BoustrophedonCell(label_index, area, bounding_box)); - label_index++; - if (label_index == INT_MAX) - std::cout << "WARN: BoustrophedonExplorer::mergeCells: label_index exceeds range of int." << std::endl; - } - } - std::cout << "INFO: BoustrophedonExplorer::mergeCells: found " << label_index-1 << " cells before merging." << std::endl; - - // determine the neighborhood relationships between all cells - for (int v=1; v(v,u)==-1) // only check the border points for neighborhood relationships - { - const int label_left = cell_map_labels.at(v,u-1); - const int label_right = cell_map_labels.at(v,u+1); - if (label_left>0 && label_right>0) - { - cell_index_mapping[label_left]->neighbors_.insert(cell_index_mapping[label_right]); - cell_index_mapping[label_right]->neighbors_.insert(cell_index_mapping[label_left]); - } - const int label_up = cell_map_labels.at(v-1,u); - const int label_down = cell_map_labels.at(v+1,u); - if (label_up>0 && label_down>0) - { - cell_index_mapping[label_up]->neighbors_.insert(cell_index_mapping[label_down]); - cell_index_mapping[label_down]->neighbors_.insert(cell_index_mapping[label_up]); - } - } - } - } -#ifdef DEBUG_VISUALIZATION -// printCells(cell_index_mapping); -// cv::imshow("cell_map",cell_map); -// cv::waitKey(); -#endif - - // iteratively merge cells - mergeCellsSelection(cell_map, cell_map_labels, cell_index_mapping, min_cell_area, min_cell_width); - - // re-assign area labels to 1,2,3,4,... - int new_cell_label = 1; - for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc, ++new_cell_label) - for (int v=0; v(v,u)==itc->second->label_) - cell_map_labels.at(v,u) = new_cell_label; - - std::cout << "INFO: BoustrophedonExplorer::mergeCells: " << cell_index_mapping.size() << " cells remaining after merging." << std::endl; - return cell_index_mapping.size(); -} - -void BoustrophedonExplorer::mergeCellsSelection(cv::Mat& cell_map, cv::Mat& cell_map_labels, std::map >& cell_index_mapping, - const double min_cell_area, const int min_cell_width) -{ - // iteratively merge cells - // merge small cells below min_cell_area with their largest neighboring cell - std::multimap > area_to_region_id_mapping; // maps the area of each cell --> to the respective cell - for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) - area_to_region_id_mapping.insert(std::pair >(itc->second->area_, itc->second)); - for (std::multimap >::iterator it=area_to_region_id_mapping.begin(); it!=area_to_region_id_mapping.end();) - { - // skip if segment is large enough (area and side length criteria) - if (it->first >= min_cell_area && it->second->bounding_box_.width >= min_cell_width && it->second->bounding_box_.height >= min_cell_width) - { - ++it; - continue; - } - - // skip segments which have no neighbors - if (it->second->neighbors_.size() == 0) - { - std::cout << "WARN: BoustrophedonExplorer::mergeCells: skipping small cell without neighbors." << std::endl; - ++it; - continue; - } - - // determine the largest neighboring cell - const BoustrophedonCell& small_cell = *(it->second); - std::multimap, std::greater > area_sorted_neighbors; - for (BoustrophedonCell::BoustrophedonCellSetIterator itn = small_cell.neighbors_.begin(); itn != small_cell.neighbors_.end(); ++itn) - area_sorted_neighbors.insert(std::pair >((*itn)->area_, *itn)); - BoustrophedonCell& large_cell = *(area_sorted_neighbors.begin()->second); - - // merge the cells - mergeTwoCells(cell_map, cell_map_labels, small_cell, large_cell, cell_index_mapping); - - // update area_to_region_id_mapping - area_to_region_id_mapping.clear(); - for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) - area_to_region_id_mapping.insert(std::pair >(itc->second->area_, itc->second)); - it = area_to_region_id_mapping.begin(); - -#ifdef DEBUG_VISUALIZATION -// printCells(cell_index_mapping); -// cv::imshow("cell_map",cell_map); -// cv::waitKey(); -#endif - } - - // label remaining border pixels with label of largest neighboring region label - for (int v=1; v(v,u) == BORDER_PIXEL_VALUE) - { - std::set neighbor_labels; - for (int dv=-1; dv<=1; ++dv) - { - for (int du=-1; du<=1; ++du) - { - const int& val = cell_map_labels.at(v+dv,u+du); - if (val>0) - neighbor_labels.insert(val); - } - } - if (neighbor_labels.size() > 0) - { - int new_label = -1; - for (std::multimap >::reverse_iterator it=area_to_region_id_mapping.rbegin(); it!=area_to_region_id_mapping.rend(); ++it) - { - if (neighbor_labels.find(it->second->label_) != neighbor_labels.end()) - { - cell_map_labels.at(v,u) = it->second->label_; - break; - } - } - } - else - std::cout << "WARN: BoustrophedonExplorer::mergeCells: border pixel has no labeled neighbors." << std::endl; - } - } - } -} - -void BoustrophedonExplorer::mergeTwoCells(cv::Mat& cell_map, cv::Mat& cell_map_labels, const BoustrophedonCell& minor_cell, BoustrophedonCell& major_cell, - std::map >& cell_index_mapping) -{ - // execute merging the minor cell into the major cell - // --> remove border from maps - for (int v=0; v(v,u) == BORDER_PIXEL_VALUE && - ((cell_map_labels.at(v,u-1)==minor_cell.label_ && cell_map_labels.at(v,u+1)==major_cell.label_) || - (cell_map_labels.at(v,u-1)==major_cell.label_ && cell_map_labels.at(v,u+1)==minor_cell.label_) || - (cell_map_labels.at(v-1,u)==minor_cell.label_ && cell_map_labels.at(v+1,u)==major_cell.label_) || - (cell_map_labels.at(v-1,u)==major_cell.label_ && cell_map_labels.at(v+1,u)==minor_cell.label_))) - { - cell_map.at(v,u) = 255; - cell_map_labels.at(v,u) = major_cell.label_; - major_cell.area_ += 1; - } - // --> update old label in cell_map_labels - for (int v=0; v(v,u) == minor_cell.label_) - cell_map_labels.at(v,u) = major_cell.label_; - // --> update major_cell - major_cell.area_ += minor_cell.area_; - for (BoustrophedonCell::BoustrophedonCellSetIterator itn = major_cell.neighbors_.begin(); itn != major_cell.neighbors_.end(); ++itn) - if ((*itn)->label_ == minor_cell.label_) - { - major_cell.neighbors_.erase(itn); - break; - } - for (BoustrophedonCell::BoustrophedonCellSetIterator itn = minor_cell.neighbors_.begin(); itn != minor_cell.neighbors_.end(); ++itn) - if ((*itn)->label_ != major_cell.label_) - major_cell.neighbors_.insert(*itn); - - // clean all references to minor_cell - cell_index_mapping.erase(minor_cell.label_); - for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) - for (BoustrophedonCell::BoustrophedonCellSetIterator itn = itc->second->neighbors_.begin(); itn != itc->second->neighbors_.end(); ++itn) - if ((*itn)->label_ == minor_cell.label_) - { - (*itn)->label_ = major_cell.label_; - break; - } -} - -void BoustrophedonExplorer::correctThinWalls(cv::Mat& room_map) -{ - for (int v=1; v(v-1,u-1)==255 && room_map.at(v-1,u)==0 && room_map.at(v,u-1)==0 && room_map.at(v,u)==255) - room_map.at(v,u)=0; - else if (room_map.at(v-1,u-1)==0 && room_map.at(v-1,u)==255 && room_map.at(v,u-1)==255 && room_map.at(v,u)==0) - room_map.at(v,u-1)=0; - } - } -} - -void BoustrophedonExplorer::computeBoustrophedonPath(const cv::Mat& room_map, const float map_resolution, const GeneralizedPolygon& cell, - std::vector& fov_middlepoint_path, cv::Point& robot_pos, - const int grid_spacing_as_int, const int half_grid_spacing_as_int, const double path_eps, const int max_deviation_from_track, const int grid_obstacle_offset) -{ - // get a map that has only the current cell drawn in - // Remark: single cells are obstacle free so it is sufficient to use the cell to check if a position can be reached during the - // execution of the coverage path - cv::Mat cell_map; - cell.drawPolygon(cell_map, cv::Scalar(255)); - - // align the longer dimension of the cell horizontally with the x-axis - cv::Point cell_center = cell.getBoundingBoxCenter(); - cv::Mat R_cell; - cv::Rect cell_bbox; - cv::Mat rotated_cell_map; - RoomRotator cell_rotation; - cell_rotation.computeRoomRotationMatrix(cell_map, R_cell, cell_bbox, map_resolution, &cell_center); - cell_rotation.rotateRoom(cell_map, rotated_cell_map, R_cell, cell_bbox); - - // create inflated obstacles room map and rotate according to cell - // --> used later for checking accessibility of Boustrophedon path inside the cell - cv::Mat inflated_room_map, rotated_inflated_room_map; - cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int+grid_obstacle_offset); - cell_rotation.rotateRoom(inflated_room_map, rotated_inflated_room_map, R_cell, cell_bbox); - cv::Mat rotated_inflated_cell_map = rotated_cell_map.clone(); - for (int v=0; v(v,u)!=0 && rotated_inflated_room_map.at(v,u)==0) - rotated_inflated_cell_map.at(v,u) = 128; -#ifdef DEBUG_VISUALIZATION - cv::imshow("rotated_cell_map_with_inflation", rotated_inflated_cell_map); -#endif - - // this was deactivated because it is not as accurate as the direct check within GridGenerator::generateBoustrophedonGrid, - // because the rotation introduces some rounding errors -// // get the min/max x/y values for this cell -// int min_x=100000, max_x=0, min_y=100000, max_y=0; -// std::vector rotated_vertexes = cell.getVertices(); -// cv::transform(rotated_vertexes, rotated_vertexes, R_cell); -// for(size_t point=0; point max_x) -// max_x = rotated_vertexes[point].x; -// if(rotated_vertexes[point].y > max_y) -// max_y = rotated_vertexes[point].y; -// if(rotated_vertexes[point].x < min_x) -// min_x = rotated_vertexes[point].x; -// if(rotated_vertexes[point].y < min_y) -// min_y = rotated_vertexes[point].y; -// } - - // compute the basic Boustrophedon grid lines - BoustrophedonGrid grid_lines; - GridGenerator::generateBoustrophedonGrid(rotated_cell_map, rotated_inflated_cell_map, -1, grid_lines, cv::Vec4i(-1, -1, -1, -1), //cv::Vec4i(min_x, max_x, min_y, max_y), - grid_spacing_as_int, half_grid_spacing_as_int, 1, max_deviation_from_track); - -#ifdef DEBUG_VISUALIZATION - cv::Mat rotated_cell_map_disp = rotated_cell_map.clone(); - for (size_t i=0; i outer_corners(4); - outer_corners[0] = grid_lines[0].upper_line[0]; // upper left corner - outer_corners[1] = grid_lines[0].upper_line.back(); // upper right corner - outer_corners[2] = grid_lines.back().upper_line[0]; // lower left corner - outer_corners[3] = grid_lines.back().upper_line.back(); // lower right corner - cv::Mat R_cell_inv; - cv::invertAffineTransform(R_cell, R_cell_inv); // invert the rotation matrix to remap the determined points to the original cell - cv::transform(outer_corners, outer_corners, R_cell_inv); - double min_corner_dist = path_planner_.planPath(room_map, robot_pos, outer_corners[0], 1.0, 0.0, map_resolution); - int min_corner_index = 0; - for (int i=1; i<4; ++i) - { - double dist = path_planner_.planPath(room_map, robot_pos, outer_corners[i], 1.0, 0.0, map_resolution); - if (dist < min_corner_dist) - { - min_corner_dist = dist; - min_corner_index = i; - } - } - bool start_from_upper_path = (min_corner_index<2 ? true : false); - bool start_from_left = (min_corner_index%2==0 ? true : false); // boolean to determine on which side the path should start and to check where the path ended - -#ifdef DEBUG_VISUALIZATION - cv::Mat room_map_disp = room_map.clone(); - for (size_t i=0; i current_fov_path; - if(start_from_upper_path == true) // plan the path starting from upper horizontal line - { - for(BoustrophedonGrid::iterator line=grid_lines.begin(); line!=grid_lines.end(); ++line) - { - if(start == true) // at the beginning of path planning start at first horizontal line --> no vertical points between lines - { - if(start_from_left == true) - cell_robot_pos = line->upper_line[0]; - else - cell_robot_pos = line->upper_line.back(); - start = false; - } - - if(start_from_left == true) // plan path from left to right corner - { - // get points on transition between horizontal lines by using the Astar-path - std::vector astar_path; - path_planner_.planPath(rotated_inflated_cell_map, cell_robot_pos, line->upper_line[0], 1.0, 0.0, map_resolution, 0, &astar_path); - downsamplePath(astar_path, current_fov_path, cell_robot_pos, path_eps); - - // get points between left and right corner - downsamplePath(line->upper_line, current_fov_path, cell_robot_pos, path_eps); - - // add the lower path of the current line if available (and then start from the left side again next time) - if (line->has_two_valid_lines == true) - downsamplePathReverse(line->lower_line, current_fov_path, cell_robot_pos, path_eps); - else - start_from_left = false; // start from the right side next time - } - else // plan path from right to left corner - { - // get points on transition between horizontal lines by using the Astar-path - std::vector astar_path; - path_planner_.planPath(rotated_inflated_cell_map, cell_robot_pos, line->upper_line.back(), 1.0, 0.0, map_resolution, 0, &astar_path); - downsamplePath(astar_path, current_fov_path, cell_robot_pos, path_eps); - - // get points between right and left corner - downsamplePathReverse(line->upper_line, current_fov_path, cell_robot_pos, path_eps); - - // add the lower path of the current line if available (and then start from the right side again next time) - if (line->has_two_valid_lines == true) - downsamplePath(line->lower_line, current_fov_path, cell_robot_pos, path_eps); - else - start_from_left = true; // start from the left side next time - } - } - } - else // plan the path from the lower horizontal line - { - for(BoustrophedonGrid::reverse_iterator line=grid_lines.rbegin(); line!=grid_lines.rend(); ++line) - { - if(start == true) // at the beginning of path planning start at first horizontal line --> no vertical points between lines - { - if(start_from_left == true) - cell_robot_pos = line->upper_line[0]; - else - cell_robot_pos = line->upper_line.back(); - start = false; - } - - if(start_from_left == true) // plan path from left to right corner - { - // get points on transition between horizontal lines by using the Astar-path - std::vector astar_path; - path_planner_.planPath(rotated_inflated_cell_map, cell_robot_pos, line->upper_line[0], 1.0, 0.0, map_resolution, 0, &astar_path); - downsamplePath(astar_path, current_fov_path, cell_robot_pos, path_eps); - - // get points between left and right corner - downsamplePath(line->upper_line, current_fov_path, cell_robot_pos, path_eps); - - // add the lower path of the current line if available (and then start from the left side again next time) - if (line->has_two_valid_lines == true) - downsamplePathReverse(line->lower_line, current_fov_path, cell_robot_pos, path_eps); - else - start_from_left = false; // start from the right side next time - } - else // plan path from right to left corner - { - // get points on transition between horizontal lines by using the Astar-path - std::vector astar_path; - path_planner_.planPath(rotated_inflated_cell_map, cell_robot_pos, line->upper_line.back(), 1.0, 0.0, map_resolution, 0, &astar_path); - downsamplePath(astar_path, current_fov_path, cell_robot_pos, path_eps); - - // get points between right and left corner - downsamplePathReverse(line->upper_line, current_fov_path, cell_robot_pos, path_eps); - - // add the lower path of the current line if available (and then start from the right side again next time) - if (line->has_two_valid_lines == true) - downsamplePath(line->lower_line, current_fov_path, cell_robot_pos, path_eps); - else - start_from_left = true; // start from the left side next time - } - } - } -#ifdef DEBUG_VISUALIZATION - cv::Mat rotated_cell_fov_path_disp = rotated_cell_map.clone(); - for (size_t i=1; i fov_middlepoint_path_part; - for(std::vector::iterator point=current_fov_path.begin(); point!=current_fov_path.end(); ++point) - fov_middlepoint_path_part.push_back(cv::Point2f(point->x, point->y)); - cv::transform(fov_middlepoint_path_part, fov_middlepoint_path_part, R_cell_inv); - fov_middlepoint_path.insert(fov_middlepoint_path.end(), fov_middlepoint_path_part.begin(), fov_middlepoint_path_part.end()); - -#ifdef DEBUG_VISUALIZATION - cv::Mat cell_fov_path_disp = cell_map.clone(); - for (size_t i=1; i current_pos_vector(1, cell_robot_pos); - cv::transform(current_pos_vector, current_pos_vector, R_cell_inv); - robot_pos = current_pos_vector[0]; -} - -void BoustrophedonExplorer::downsamplePath(const std::vector& original_path, std::vector& downsampled_path, - cv::Point& robot_pos, const double path_eps) -{ - // downsample path - for(size_t path_point=0; path_point= path_eps) - { - downsampled_path.push_back(original_path[path_point]); - robot_pos = original_path[path_point]; - } - } - // add last element - if (original_path.size() > 0) - { - downsampled_path.push_back(original_path.back()); - robot_pos = original_path.back(); - } -} - -void BoustrophedonExplorer::downsamplePathReverse(const std::vector& original_path, std::vector& downsampled_path, - cv::Point& robot_pos, const double path_eps) -{ - // downsample path - for(size_t path_point=original_path.size()-1; ; --path_point) - { - if(cv::norm(robot_pos-original_path[path_point]) >= path_eps) - { - downsampled_path.push_back(original_path[path_point]); - robot_pos = original_path[path_point]; - } - if (path_point == 0) - break; - } - // add last element - if (original_path.size() > 0) - { - downsampled_path.push_back(original_path[0]); - robot_pos = original_path[0]; - } -} - -void BoustrophedonExplorer::printCells(std::map >& cell_index_mapping) -{ - std::cout << "---\n"; - for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) - { - std::cout << itc->first << ": l=" << itc->second->label_ << " a=" << itc->second->area_ << " n="; - for (BoustrophedonCell::BoustrophedonCellSetIterator its=itc->second->neighbors_.begin(); its!=itc->second->neighbors_.end(); ++its) - std::cout << (*its)->label_ << ", "; - std::cout << std::endl; - } -} - - -///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// -// BoustrophedonVariantExplorer -///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// - - -void BoustrophedonVariantExplorer::mergeCellsSelection(cv::Mat& cell_map, cv::Mat& cell_map_labels, std::map >& cell_index_mapping, - const double min_cell_area, const int min_cell_width) -{ - // iteratively merge cells - //todo: - // - take one major cell (the largest) and its major direction - // - merge every other cell into the major cell, except - // - the width along the major direction is too small and the cell is sufficiently large - // - the bounding box orientation (side length ratio) deviates strongly from the major direction - // - the cell main direction is not well aligned with the major direction (skew, 90 deg) - - - RoomRotator room_rotator; - //double rotation_angle = room_rotator.computeRoomMainDirection(cell_map, map_resolution); - - // merge small cells below min_cell_area with their largest neighboring cell - std::multimap > area_to_region_id_mapping; // maps the area of each cell --> to the respective cell - for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) - area_to_region_id_mapping.insert(std::pair >(itc->second->area_, itc->second)); - for (std::multimap >::iterator it=area_to_region_id_mapping.begin(); it!=area_to_region_id_mapping.end();) - { - // abort if no cells below min_cell_area remain unmerged into bigger cells - if (it->first >= min_cell_area && it->second->bounding_box_.width >= min_cell_width && it->second->bounding_box_.height >= min_cell_width) - { - ++it; - continue; - } - - // skip segments which have no neighbors - if (it->second->neighbors_.size() == 0) - { - std::cout << "WARN: BoustrophedonExplorer::mergeCells: skipping small cell without neighbors." << std::endl; - ++it; - continue; - } - - // determine the largest neighboring cell - const BoustrophedonCell& small_cell = *(it->second); - std::multimap, std::greater > area_sorted_neighbors; - for (BoustrophedonCell::BoustrophedonCellSetIterator itn = small_cell.neighbors_.begin(); itn != small_cell.neighbors_.end(); ++itn) - area_sorted_neighbors.insert(std::pair >((*itn)->area_, *itn)); - BoustrophedonCell& large_cell = *(area_sorted_neighbors.begin()->second); - - // merge the cells - mergeTwoCells(cell_map, cell_map_labels, small_cell, large_cell, cell_index_mapping); - - // update area_to_region_id_mapping - area_to_region_id_mapping.clear(); - for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) - area_to_region_id_mapping.insert(std::pair >(itc->second->area_, itc->second)); - it = area_to_region_id_mapping.begin(); - -#ifdef DEBUG_VISUALIZATION -// printCells(cell_index_mapping); -// cv::imshow("cell_map",cell_map); -// cv::waitKey(); -#endif - } - - // label remaining border pixels with label of largest neighboring region label - for (int v=1; v(v,u) == BORDER_PIXEL_VALUE) - { - std::set neighbor_labels; - for (int dv=-1; dv<=1; ++dv) - { - for (int du=-1; du<=1; ++du) - { - const int& val = cell_map_labels.at(v+dv,u+du); - if (val>0) - neighbor_labels.insert(val); - } - } - if (neighbor_labels.size() > 0) - { - int new_label = -1; - for (std::multimap >::reverse_iterator it=area_to_region_id_mapping.rbegin(); it!=area_to_region_id_mapping.rend(); ++it) - { - if (neighbor_labels.find(it->second->label_) != neighbor_labels.end()) - { - cell_map_labels.at(v,u) = it->second->label_; - break; - } - } - } - else - std::cout << "WARN: BoustrophedonExplorer::mergeCells: border pixel has no labeled neighbors." << std::endl; - } - } - } -} - -//void BoustrophedonVariantExplorer::computeCellDecomposition(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, -// std::vector& cell_polygons, std::vector& polygon_centers) -//{ -// std::cout << "Calling BoustrophedonVariantExplorer::computeCellDecomposition..." << std::endl; -// -// // *********************** II. Sweep a slice trough the map and mark the found cell boundaries. *********************** -// // create a map copy to mark the cell boundaries -// cv::Mat cell_map = room_map.clone(); -//#ifdef DEBUG_VISUALIZATION -// cv::imshow("cell_map", cell_map); -//#endif -// -// -// // *********************** III. Find the separated cells. *********************** -// std::vector > cells; -// cv::Mat cell_copy = cell_map.clone(); -// correctThinWalls(cell_copy); // just adds a few obstacle pixels to avoid merging independent segments -// cv::findContours(cell_copy, cells, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE); -//#ifdef DEBUG_VISUALIZATION -//// testing -//// cv::Mat black_map = cv::Mat(cell_map.rows, cell_map.cols, cell_map.type(), cv::Scalar(0)); -//// for(size_t i=0; i=min_cell_area) -// { -// GeneralizedPolygon current_cell(cells[cell], map_resolution); -// cell_polygons.push_back(current_cell); -// polygon_centers.push_back(current_cell.getCenter()); -// } -// } -//} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/convex_sensor_placement_explorator.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/convex_sensor_placement_explorator.cpp deleted file mode 100644 index 1dbbd1f..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/convex_sensor_placement_explorator.cpp +++ /dev/null @@ -1,596 +0,0 @@ -#include - -// Constructor -convexSPPExplorator::convexSPPExplorator() -{ - -} - -// function that is used to create and solve a Gurobi optimization problem out of the given matrices and vectors, if -// Gurobi was found on the computer -template -void convexSPPExplorator::solveGurobiOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector* W) -{ -#ifdef GUROBI_FOUND - std::cout << "Creating and solving linear program with Gurobi." << std::endl; - // initialize the problem - GRBEnv *env = new GRBEnv(); - GRBModel model = GRBModel(*env); - - // vector that stores the variables of the problem - std::vector optimization_variables; - - // add the optimization variables to the problem - int number_of_variables = 0; - for(size_t var=0; varoperator[](var), GRB_CONTINUOUS); - optimization_variables.push_back(current_variable); - ++number_of_variables; - } - else - { - GRBVar current_variable = model.addVar(0.0, 1.0, 1.0, GRB_BINARY); - optimization_variables.push_back(current_variable); - ++number_of_variables; - } - } - std::cout << "number of variables in the problem: " << number_of_variables << std::endl; - - // inequality constraints to ensure that every position has been seen at least once - for(size_t row=0; row variable_indices; - for(size_t col=0; col(row, col) == 1) - variable_indices.push_back((int) col); - - // add the constraint, if the current cell can be covered by the given arcs, indices=1 in this constraint - if(variable_indices.size()>0) - { - GRBLinExpr current_coverage_constraint; - for(size_t var=0; var=1); - } - } - - // solve the optimization - model.optimize(); - - // retrieve solution - std::cout << "retrieving solution" << std::endl; - for(size_t var=0; var -void convexSPPExplorator::solveOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector* W) -{ - // initialize the problem - CoinModel problem_builder; - - ROS_INFO("Creating and solving linear program."); - - // add the optimization variables to the problem - int rval; - for(size_t variable=0; variableoperator[](variable)); - } - else - { - problem_builder.setColBounds(variable, 0.0, 1.0); - problem_builder.setObjective(variable, 1.0); - problem_builder.setInteger(variable); - } - } - - // inequality constraints to ensure that every position has been seen at least once - for(size_t row=0; row variable_indices; - for(size_t col=0; col(row, col) == 1) - variable_indices.push_back((int) col); - - // all indices are 1 in this constraint - std::vector variable_coefficients(variable_indices.size(), 1.0); - - // add the constraint - problem_builder.addRow((int) variable_indices.size(), &variable_indices[0], &variable_coefficients[0], 1.0); - } - - // load the created LP problem to the solver - OsiClpSolverInterface LP_solver; - OsiClpSolverInterface* solver_pointer = &LP_solver; - - solver_pointer->loadFromCoinModel(problem_builder); - - // testing - solver_pointer->writeLp("lin_cpp_prog", "lp"); - - // solve the created optimization problem - CbcModel model(*solver_pointer); - model.solver()->setHintParam(OsiDoReducePrint, true, OsiHintTry); - - model.initialSolve(); - model.branchAndBound(); - - // retrieve solution - const double * solution = model.solver()->getColSolution(); - - for(size_t res=0; res& path, - const float map_resolution, const cv::Point starting_position, const cv::Point2d map_origin, - const int cell_size_pixel, const double delta_theta, const std::vector >& fov_corners_meter, - const Eigen::Matrix& robot_to_fov_vector_meter, const double largest_robot_to_footprint_distance_meter, - const uint sparsity_check_range, const bool plan_for_footprint) -{ - const int half_cell_size = cell_size_pixel/2; - - // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** - // rotate map - cv::Mat R; - cv::Rect bbox; - cv::Mat rotated_room_map; - RoomRotator room_rotation; - const double room_rotation_angle = room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution); - room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); - - // transform starting position - std::vector starting_point_vector(1, starting_position); // opencv syntax - cv::transform(starting_point_vector, starting_point_vector, R); - cv::Point rotated_starting_position = starting_point_vector[0]; - - // ************* II. Go trough the map and discretize it. ************* - // get cells - // compute the basic Boustrophedon grid lines - std::vector cell_centers_rotated, cell_centers; // in [pixels] - cv::Mat inflated_rotated_room_map; - BoustrophedonGrid grid_lines; - GridGenerator::generateBoustrophedonGrid(rotated_room_map, inflated_rotated_room_map, half_cell_size, grid_lines, cv::Vec4i(-1, -1, -1, -1), - cell_size_pixel, half_cell_size, cell_size_pixel); - // convert grid points format - for (BoustrophedonGrid::iterator line=grid_lines.begin(); line!=grid_lines.end(); ++line) - { - cell_centers_rotated.insert(cell_centers_rotated.end(), line->upper_line.begin(), line->upper_line.end()); - if (line->has_two_valid_lines == true) - cell_centers_rotated.insert(cell_centers_rotated.end(), line->lower_line.begin(), line->lower_line.end()); - } - // rotate back to original image - cv::Mat R_inv; - cv::invertAffineTransform(R, R_inv); - std::vector fov_middlepoint_path_transformed; - cv::transform(cell_centers_rotated, cell_centers, R_inv); - -// // print grid -// cv::Mat point_map = room_map.clone(); -// for(std::vector::iterator point = cell_centers.begin(); point != cell_centers.end(); ++point) -// { -// cv::circle(point_map, *point, 2, cv::Scalar(127), CV_FILLED); -// std::cout << " - " << *point << "\n"; -// } -// cv::imshow("grid", point_map); -// cv::waitKey(); - - // get candidate sensing poses - std::vector candidate_sensing_poses; - double delta_angle = (plan_for_footprint == true ? 4.*PI : delta_theta); - for(std::vector::iterator center=cell_centers.begin(); center!=cell_centers.end(); ++center) - { - for(double angle=room_rotation_angle; angle<2.0*PI+room_rotation_angle; angle+=delta_angle) - { - // create and save pose - geometry_msgs::Pose2D candidate_pose; - candidate_pose.x = center->x; - candidate_pose.y = center->y; - candidate_pose.theta = angle; - while (candidate_pose.theta < -PI) - candidate_pose.theta += 2*PI; - while (candidate_pose.theta > PI) - candidate_pose.theta -= 2*PI; - candidate_sensing_poses.push_back(candidate_pose); - } - } - - // ************* III. Construct the matrices needed in the linear program. ************* - // set or compute largest_robot_to_footprint_distance_pixel depending on plan_for_footprint - double max_dist=0.; - if (plan_for_footprint==true || largest_robot_to_footprint_distance_meter > 0.) - max_dist = largest_robot_to_footprint_distance_meter; - else - { - // find largest_robot_to_footprint_distance_pixel by checking the fov corners - for (size_t i=0; i max_dist) - max_dist = dist; - } - } - const double largest_robot_to_footprint_distance_pixel = max_dist / map_resolution; - const double cell_outcircle_radius_pixel = cell_size_pixel/sqrt(2); - - // construct W - int number_of_candidates=candidate_sensing_poses.size(); - std::vector W(number_of_candidates, 1.0); // initial weights - - // construct V - cv::Mat V = cv::Mat::zeros(cell_centers.size(), number_of_candidates, CV_8U); // binary variables - - // check observable cells from each candidate pose - const double map_resolution_inverse = 1./map_resolution; - for(std::vector::iterator pose=candidate_sensing_poses.begin(); pose!=candidate_sensing_poses.end(); ++pose) - { - // get the transformed field of view - // get the rotation matrix - const float sin_theta = std::sin(pose->theta); - const float cos_theta = std::cos(pose->theta); - Eigen::Matrix R_fov; - R_fov << cos_theta, -sin_theta, sin_theta, cos_theta; - - // transform field of view points, if the planning should be done for the field of view - std::vector transformed_fov_points; - Eigen::Matrix pose_as_matrix; - if(plan_for_footprint==false) - { - pose_as_matrix << (pose->x*map_resolution)+map_origin.x, (pose->y*map_resolution)+map_origin.y; // convert to [meter] - for(size_t point = 0; point < fov_corners_meter.size(); ++point) - { - // linear transformation - Eigen::Matrix transformed_vector = pose_as_matrix + R_fov * fov_corners_meter[point]; - - // save the transformed point as cv::Point, also check if map borders are satisfied and transform it into pixel - // values - cv::Point current_point = cv::Point((transformed_vector(0, 0) - map_origin.x)*map_resolution_inverse, (transformed_vector(1, 0) - map_origin.y)*map_resolution_inverse); - current_point.x = std::max(current_point.x, 0); - current_point.y = std::max(current_point.y, 0); - current_point.x = std::min(current_point.x, room_map.cols); - current_point.y = std::min(current_point.y, room_map.rows); - transformed_fov_points.push_back(current_point); - } - } - - // for each pose check the cells that are closer than the max distance from robot to fov-corner and more far away - // than the min distance, also only check points that span an angle to the robot-to-fov vector smaller than the - // max found angle to the corners - // when planning for the robot footprint simply check if its distance to the pose is at most the given coverage radius - for(std::vector::iterator neighbor=cell_centers.begin(); neighbor!=cell_centers.end(); ++neighbor) - { - // compute pose to neighbor vector - Eigen::Matrix pose_to_neighbor; - pose_to_neighbor << neighbor->x-pose->x, neighbor->y-pose->y; - double distance = pose_to_neighbor.norm(); - - // if neighbor is in the possible distance range check it further, distances given in [pixel] - if(plan_for_footprint==false && distance<=largest_robot_to_footprint_distance_pixel) - { - - if(cv::pointPolygonTest(transformed_fov_points, *neighbor, false) >= 0) // point inside - { - // check if the line from the robot pose to the neighbor crosses an obstacle, if so it is not observable from the pose - cv::LineIterator border_line(room_map, cv::Point(pose->x, pose->y), *neighbor, 8); // opencv implementation of bresenham algorithm, 8: color, irrelevant - bool hit_obstacle = false; - for(size_t i = 0; i < border_line.count; ++i, ++border_line) - if(room_map.at(border_line.pos()) == 0) - hit_obstacle = true; - - if(hit_obstacle == false) - { - V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 1; - } - else // neighbor cell not observable - V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 0; - } - else // neighbor cell outside the field of view - V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 0; - } - // check if neighbor is covered by footprint when planning for it - else if(plan_for_footprint==true && (distance+cell_outcircle_radius_pixel)<=largest_robot_to_footprint_distance_pixel) - { - // check if the line from the robot pose to the neighbor crosses an obstacle, if so it is not observable from the pose - cv::LineIterator border_line(room_map, cv::Point(pose->x, pose->y), *neighbor, 8); // opencv implementation of bresenham algorithm, 8: color, irrelevant - bool hit_obstacle = false; - for(size_t i = 0; i < border_line.count; ++i, ++border_line) - if(room_map.at(border_line.pos()) == 0) - hit_obstacle = true; - if(hit_obstacle == false) - V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 1; - else // neighbor cell not observable - V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 0; - } - else // point not in the right range to be inside the fov - V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 0; - } - } - std::cout << "number of optimization variables: " << W.size() << std::endl; - -// testing -// for(size_t i=0; i(i, j) == 1) -// { -// cv::circle(black_map, cv::Point(candidate_sensing_poses[j].x, candidate_sensing_poses[j].y), 2, cv::Scalar(100), CV_FILLED); -// cv::imshow("candidates", black_map); -// cv::waitKey(); -// } -// } -// } - - // ************* IV. Solve the different linear problems. ************* - // 1. solve the weighted optimization problem until a convergence in the sparsity is reached or a defined number of - // iterations is reached - std::vector C(W.size()); //initialize the objective vector - bool sparsity_converged = false; // boolean to check, if the sparsity of C has converged to a certain value - double weight_epsilon = 0.0; // parameter that is used to update the weights after one solution has been obtained - uint number_of_iterations = 0; - std::vector sparsity_measures; // vector that stores the computed sparsity measures to check convergence - const double euler_constant = std::exp(1.0); - Timer tim; - do - { - // increase number of iterations - ++number_of_iterations; - - // solve optimization of the current step - #ifdef GUROBI_FOUND - solveGurobiOptimizationProblem(C, V, &W); - #else - solveOptimizationProblem(C, V, &W); - #endif - - // update epsilon and W - const int exponent = 1 + (number_of_iterations - 1)*0.1; - weight_epsilon = std::pow(1./(euler_constant-1.), exponent); - for(size_t weight=0; weight= sparsity_check_range) - { - uint number_of_last_measure = 0; - for(std::vector::reverse_iterator measure=sparsity_measures.rbegin(); measure!=sparsity_measures.rbegin()+sparsity_check_range && measure!=sparsity_measures.rend(); ++measure) - if(*measure >= sparsity_measures.back()) - ++number_of_last_measure; - - if(number_of_last_measure == sparsity_check_range) - sparsity_converged = true; - } - - std::cout << "Iteration: " << number_of_iterations << ", sparsity: " << sparsity_measures.back() << std::endl; - } while(sparsity_converged == false && number_of_iterations <= 150 && tim.getElapsedTimeInSec() < 1200); // wait no longer than 20 minutes - - // 2. Reduce the optimization problem by discarding the candidate poses that correspond to an optimization variable - // equal to 0, i.e. those that are not considered any further. - uint new_number_of_variables = 0; - cv::Mat V_reduced = cv::Mat(cell_centers.size(), 1, CV_8U); // initialize one column because opencv wants it this way, add other columns later - std::vector reduced_sensing_candidates; - for(std::vector::iterator result=C.begin(); result!=C.end(); ++result) - { - if(*result != 0.0) - { - // increase number of optimization variables - ++new_number_of_variables; - - // gather column corresponding to this candidate pose and add it to the new observability matrix - cv::Mat column = V.col(result-C.begin()); - cv::hconcat(V_reduced, column, V_reduced); - - // save the new possible sensing candidate - reduced_sensing_candidates.push_back(candidate_sensing_poses[result-C.begin()]); - } - } - - // remove the first initial column - V_reduced = V_reduced.colRange(1, V_reduced.cols); - - // solve the final optimization problem - std::cout << "new_number_of_variables=" << new_number_of_variables << std::endl; - std::vector C_reduced(new_number_of_variables); -#ifdef GUROBI_FOUND - solveGurobiOptimizationProblem(C_reduced, V_reduced, NULL); -#else - solveOptimizationProblem(C_reduced, V_reduced, NULL); -#endif - - // ************* V. Retrieve solution and find a path trough the chosen poses. ************* - // read out solution - std::vector chosen_positions; // vector to determine the tsp solution, in [pixels] - std::vector chosen_poses; // in [px,px,rad] - for(std::vector::iterator result=C_reduced.begin(); result!=C_reduced.end(); ++result) - { - if(*result == 1) - { - chosen_poses.push_back(reduced_sensing_candidates[result-C_reduced.begin()]); - chosen_positions.push_back(cv::Point(reduced_sensing_candidates[result-C_reduced.begin()].x, reduced_sensing_candidates[result-C_reduced.begin()].y)); - } - } - - if (chosen_positions.size()==0) - { - std::cout << "Convex SPP: chosen_positions is empty." << std::endl; - return; - } - - - // get the distance matrix - ROS_INFO("Constructing distance matrix"); - cv::Mat distance_matrix; - DistanceMatrix distance_matrix_computation; - distance_matrix_computation.constructDistanceMatrix(distance_matrix, room_map, chosen_positions, 0.25, 0.0, map_resolution, path_planner_); - - // go trough the matrix and multiply the distances between the poses with a factor corresponding to the difference of - // the travel angle from the first pose to the other pose - for(size_t pose=0; pose(pose, neighbor) = penalizing_factor*distance_matrix.at(pose, neighbor); - distance_matrix.at(neighbor, pose) = penalizing_factor*distance_matrix.at(neighbor, pose); //symmetrical-Matrix --> saves half the computation time - } - } - } - - // do the repetitive nearest neighbor algorithm - ROS_INFO("Solving TSP with repetitive nearest neighbor"); - std::vector best_order; - double min_distance = 1e9; - if (chosen_positions.size()>100) - std::cout << "0 10 20 30 40 50 60 70 80 90 100" << std::endl; - for(int start=0; start500 && start%(std::max(1,(int)chosen_positions.size()/100))==0) - std::cout << "." << std::flush; - - // obtain nearest neighbor solution for this start - std::vector current_order = tsp_solver_.solveNearestTSP(distance_matrix, start); - - // get pathlength for this solution - double current_pathlength = 0.0; - for(size_t vertex=0; vertex(current_order[vertex], current_order[(vertex+1)%current_order.size()]); - - // if current path is better than previous one save it - if(current_pathlength < min_distance) - { - min_distance = current_pathlength; - best_order = current_order; - } - } - std::cout << std::endl; - - // find the node that is closest to the starting position - min_distance = 1e9; - int starting_index = 0; - for(std::vector::iterator position=chosen_positions.begin(); position!=chosen_positions.end(); ++position) - { - // calculate current distance - double current_distance = cv::norm(rotated_starting_position - *position); - - // check if current length is smaller than optimal - if(current_distance < min_distance) - { - min_distance = current_distance; - starting_index = position-chosen_positions.begin(); - } - } - - // create the path starting from the found start - std::vector fov_poses; - std::vector::iterator start = std::find(best_order.begin(), best_order.end(), starting_index); // obtain iterator to index in best order to start path creation from there - for(size_t pose=start-best_order.begin(); path.size()!=chosen_poses.size() && fov_poses.size()!=chosen_poses.size(); ++pose) - { - - // check if end has been reached, if true start from the beginning again - if(pose == best_order.size()) - pose = 0; - - // insert pose mapped to global coordinates - geometry_msgs::Pose2D current_pose; - if (plan_for_footprint == false) - { - // take the viewing directions as computed for fov mode, convert locations from pixels to meters - current_pose.x = (chosen_poses[best_order[pose]].x*map_resolution)+map_origin.x; - current_pose.y = (chosen_poses[best_order[pose]].y*map_resolution)+map_origin.y; - current_pose.theta = chosen_poses[best_order[pose]].theta; - path.push_back(current_pose); - } - else - { - // for footprint planning the viewing direction has to be computed from the trajectory - fov_poses.push_back(cv::Point2f(chosen_poses[best_order[pose]].x, chosen_poses[best_order[pose]].y)); - } - } - - // *********************** VI. Get the robot path out of the fov path. *********************** - // determine the correct viewing angles for the poses (footprint planning just used one fixed dummy direction) - if (plan_for_footprint == true) - { - // compute viewing directions - room_rotation.transformPointPathToPosePath(fov_poses, path); - // convert to meters - for (size_t i=0; i - -// Constructor -EnergyFunctionalExplorator::EnergyFunctionalExplorator() -{ - -} - -// Function that computes the energy functional for each pair of nodes. -double EnergyFunctionalExplorator::E(const EnergyExploratorNode& location, const EnergyExploratorNode& neighbor, const double cell_size_in_pixel, const double previous_travel_angle) -{ - float energy_functional = 0.0; - - // 1. translational distance - cv::Point diff = neighbor.center_ - location.center_; - energy_functional += cv::norm(diff)/cell_size_in_pixel; - - // 2. rotational distance - const double travel_angle_to_node = std::atan2(diff.y, diff.x); - double diff_angle = travel_angle_to_node - previous_travel_angle; - while (diff_angle < -PI) - diff_angle += 2*PI; - while (diff_angle > PI) - diff_angle -= 2*PI; - energy_functional += std::abs(diff_angle)*PI_2_INV; // 1.01 for punishing turns a little bit more on a tie - - // 3. neighboring function, determining how many neighbors of the neighbor have been visited - int visited_neighbors = 0; - for(std::vector::const_iterator n=neighbor.neighbors_.begin(); n!=neighbor.neighbors_.end(); ++n) - if ((*n)->obstacle_ == false && (*n)->visited_ == true) - ++visited_neighbors; - energy_functional += 4. - 0.5*visited_neighbors; - - int wall_points = 0; - for(std::vector::const_iterator n=neighbor.neighbors_.begin(); n!=neighbor.neighbors_.end(); ++n) - if ((*n)->obstacle_ == true) - ++wall_points; - energy_functional += 0.72 - 0.09*wall_points; - - //std::cout << "E: " << cv::norm(diff)/cell_size << " + " << std::abs(diff_angle)*PI_2_INV << " + " << 4. - 0.5*visited_neighbors << " + " << 0.72 - 0.09*wall_points << " angles: " << travel_angle_to_node << ", " << previous_travel_angle << " diff ang: " << diff_angle << std::endl; - - return energy_functional; -} - -// Function that plans a coverage path trough the given map, using the method proposed in -// -// Bormann Richard, Joshua Hampp, and Martin Hägele. "New brooms sweep clean-an autonomous robotic cleaning assistant for -// professional office cleaning." Robotics and Automation (ICRA), 2015 IEEE International Conference on. IEEE, 2015. -// -// This method discretizes the free space, that should be covered, into several nodes. Each of the node has to be covered, in order -// to cover the whole area. The path starts at the node that is closest to the given starting position and chooses the next node as -// the one that minimizes the energy functional, provided in the paper above. To do this here the following steps are done. -// I. The free area gets discretized into several nodes, using the given cell_size parameter, starting at the upper left white pixel of -// the room. Whenever the overlaid grid then hits a white pixel, this point is added as a node. Then after all nodes have been found -// the direct 8 neighbors for each node are found, which will be used later in the energy functional. -// II. After all nodes have been found, the coverage path is computed. -// i. The start node gets chosen as the one that is closest to the given starting position and is an edge of the given room, i.e -// a node that has less than 4 neighbors. -// ii. The next node is then iteratively chosen from the directly neighboring ones, by finding the node that minimizes the given -// energy functional and wasn't visited before. -// iii.If in the neighborhood no accessible point could be found, search for the next node in the whole grid to continue the path. -// iv. This procedure is repeated, until all created nodes have been covered. -// III. If wanted use the given vector from the robot middlepoint to the fov middlepoint to map the fov poses to the -// robot footprint poses. To do so simply a vector transformation is applied. If the computed robot pose is not in the -// free space, another accessible point is generated by finding it on the radius around the fov middlepoint s.t. -// the distance to the last robot position is minimized. If this is not wanted one has to set the corresponding -// Boolean to false (shows that the path planning should be done for the robot footprint). -// -void EnergyFunctionalExplorator::getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, - const cv::Point starting_position, const cv::Point2d map_origin, const double grid_spacing_in_pixel, - const bool plan_for_footprint, const Eigen::Matrix robot_to_fov_vector) -{ - const int grid_spacing_as_int = std::floor(grid_spacing_in_pixel); - const int half_grid_spacing_as_int = std::floor(grid_spacing_in_pixel*0.5); - - // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** - cv::Mat R; - cv::Rect bbox; - cv::Mat rotated_room_map; - RoomRotator room_rotation; - room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution); - room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); - - // compute min/max room coordinates - cv::Point min_room(1000000, 1000000), max_room(0, 0); - for (int v=0; v(v,u)==255) - { - min_room.x = std::min(min_room.x, u); - min_room.y = std::min(min_room.y, v); - max_room.x = std::max(max_room.x, u); - max_room.y = std::max(max_room.y, v); - } - } - } - cv::Mat inflated_rotated_room_map; - cv::erode(rotated_room_map, inflated_rotated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int); - - // *********************** II. Find the nodes and their neighbors *********************** - // get the nodes in the free space - std::vector > nodes; // 2-dimensional vector to easily find the neighbors - int number_of_nodes = 0; - -// // compute min/max room coordinates -// int min_y = 1000000, min_x = 1000000; -// for (int v=0; v(v,u)==255) -// { -// min_x = std::min(min_x, u); -// min_y = std::min(min_y, v); -// } -// } -// } -// if (min_x-grid_spacing_as_int > 0) -// min_x -= grid_spacing_as_int; -// if (min_y-grid_spacing_as_int > 0) -// min_y -= grid_spacing_as_int; - - // todo: create grid in external class - it is the same in all approaches - // todo: if first/last row or column in grid has accessible areas but center is inaccessible, create a node in the accessible area - for(int y=min_room.y+half_grid_spacing_as_int; y current_row; - for(int x=min_room.x+half_grid_spacing_as_int; x(y,x) == 255) // could make sense to test all pixels of the cell, not only the center - if (GridGenerator::completeCellTest(inflated_rotated_room_map, current_node.center_, grid_spacing_as_int) == true) - { - current_node.obstacle_ = false; - current_node.visited_ = false; - ++number_of_nodes; - } - // add the obstacle nodes as already visited - else - { - current_node.obstacle_ = true; - current_node.visited_ = true; - ++number_of_nodes; - } - current_row.push_back(current_node); - } - - // insert the current row into grid - nodes.push_back(current_row); - } - std::cout << "found " << number_of_nodes << " nodes" << std::endl; - - // find the neighbors for each node - EnergyExploratorNode* first_accessible_node = 0; - std::vector corner_nodes; // vector that stores the corner nodes, i.e. nodes with 3 or less neighbors - for(size_t row=0; row& current_neighbors = nodes[row][column].neighbors_; - for(int dy=-1; dy<=1; ++dy) - { - // don't exceed the current row - if(row+dy < 0 || row+dy >= nodes.size()) - continue; - - // get the neighbors left from the current neuron - if(column > 0) - current_neighbors.push_back(&nodes[row+dy][column-1]); - - // get the nodes on the same column as the current neuron - if(dy != 0) - current_neighbors.push_back(&nodes[row+dy][column]); - - // get the nodes right from the current neuron - if(column < nodes[row].size()-1) - current_neighbors.push_back(&nodes[row+dy][column+1]); - } - - // check if the current node is a corner, i.e. nodes that have 3 or less neighbors that are not obstacles - int non_obstacle_neighbors = nodes[row][column].countNonObstacleNeighbors(); - if(non_obstacle_neighbors<=3 && nodes[row][column].obstacle_==false) - corner_nodes.push_back(&nodes[row][column]); - - if (first_accessible_node==0 && nodes[row][column].obstacle_==false) - first_accessible_node = &nodes[row][column]; - } - } - std::cout << "found neighbors, corners: " << corner_nodes.size() << std::endl; - if (first_accessible_node == 0) - { - std::cout << "Warning: there are no accessible points in this room." << std::endl; - return; - } - -// // testing -// cv::Mat test_map = rotated_room_map.clone(); -// for (size_t i=0; i neighbors = nodes[i][j].neighbors_; -// for(std::vector::iterator n=neighbors.begin(); n!=neighbors.end(); ++n) -// cv::circle(test_map, (*n)->center_, 2, cv::Scalar(127), CV_FILLED); -// -// cv::imshow("neighbors", test_map); -// cv::waitKey(); -// } -// } - - // *********************** III. Plan the coverage path *********************** - // i. find the start node of the path as a corner that is closest to the starting position - std::vector starting_point_vector(1, starting_position); // opencv syntax - cv::transform(starting_point_vector, starting_point_vector, R); - const cv::Point rotated_starting_point = starting_point_vector[0]; // Point that keeps track of the last point after the boustrophedon path in each cell - EnergyExploratorNode* start_node = first_accessible_node; - double min_distance = 1e10; - for(std::vector::iterator corner=corner_nodes.begin(); corner!=corner_nodes.end(); ++corner) - { - cv::Point diff = (*corner)->center_ - rotated_starting_point; - double current_distance = diff.x*diff.x+diff.y*diff.y; - if(current_distance<=min_distance) - { - start_node = *corner; - min_distance = current_distance; - } - } - std::cout << "start node: " << start_node->center_ << std::endl; - - // insert start node into coverage path - std::vector fov_coverage_path; - fov_coverage_path.push_back(cv::Point2f(start_node->center_.x, start_node->center_.y)); - start_node->visited_ = true; // mark visited nodes as obstacles - - // ii. starting at the start node, find the coverage path, by choosing the node that min. the energy functional - EnergyExploratorNode* last_node = start_node; - double previous_travel_angle = 0; //always use x-direction in the rotated map //std::atan2(rotated_starting_point.y-start_node->center_.y, rotated_starting_point.x-start_node->center_.x); - for(std::vector::iterator neighbor=last_node->neighbors_.begin(); neighbor!=last_node->neighbors_.end(); ++neighbor) - { - if ((*neighbor)->obstacle_==false && (*neighbor)->center_.y==start_node->center_.y && (*neighbor)->center_.x>start_node->center_.x) - { - previous_travel_angle = 0; - break; - } - if ((*neighbor)->obstacle_==false && (*neighbor)->center_.y==start_node->center_.y && (*neighbor)->center_.xcenter_.x) - { - previous_travel_angle = PI; - break; - } - if ((*neighbor)->obstacle_==false && (*neighbor)->center_.ycenter_.y && (*neighbor)->center_.x==start_node->center_.x) - { - previous_travel_angle = -0.5*PI; - } - if ((*neighbor)->obstacle_==false && (*neighbor)->center_.y>start_node->center_.y && (*neighbor)->center_.x==start_node->center_.x) - { - previous_travel_angle = 0.5*PI; - } - } -// cv::Mat path_map = rotated_room_map.clone(); -// cv::circle(path_map, fov_coverage_path[0], 2, cv::Scalar(100), CV_FILLED); - do - { - //std::cout << "Point: " << last_node->center_ << std::endl; - // check the direct neighbors, if at least one is not already visited - std::vector not_visited_neighbors; - for(std::vector::iterator neighbor=last_node->neighbors_.begin(); neighbor!=last_node->neighbors_.end(); ++neighbor) - if ((*neighbor)->obstacle_ == false && (*neighbor)->visited_ == false) - not_visited_neighbors.push_back(*neighbor); - - // if there are not visited direct neighbors, find the one of them that minimizes the energy functional - double min_energy = 1e10; - EnergyExploratorNode* next_node = 0; - if (not_visited_neighbors.size() > 0) - { - // find best neighbor - for (std::vector::iterator candidate=not_visited_neighbors.begin(); candidate!=not_visited_neighbors.end(); ++candidate) - { - const double current_energy = E(*last_node, **candidate, grid_spacing_in_pixel, previous_travel_angle); - //std::cout << "Neighbor: " << (*candidate)->center_ << " energy: " << current_energy << std::endl; - if(current_energy < min_energy) - { - min_energy = current_energy; - next_node = *candidate; - } - } - } - // if no direct neighbor is unvisited, search for the next node in all unvisited nodes - else - { - // find best next node - for (size_t row=0; rowcenter_.y-last_node->center_.y, next_node->center_.x-last_node->center_.x); - fov_coverage_path.push_back(cv::Point2f(next_node->center_.x, next_node->center_.y)); - next_node->visited_ = true; // mark visited nodes as obstacles - -// cv::circle(path_map, next_node->center_, 2, cv::Scalar(100), CV_FILLED); -// cv::line(path_map, next_node->center_, last_node->center_, cv::Scalar(127)); -// cv::imshow("path", path_map); -// cv::waitKey(); - - last_node = next_node; - } while (true); - - // transform the calculated path back to the originally rotated map - std::vector fov_poses; - room_rotation.transformPathBackToOriginalRotation(fov_coverage_path, fov_poses, R); - -// // go trough the found fov-path and compute the angles of the poses s.t. it points to the next pose that should be visited -// for(unsigned int point_index=0; point_index::iterator pose=fov_poses.begin(); pose!=fov_poses.end(); ++pose) - { - geometry_msgs::Pose2D current_pose; - current_pose.x = (pose->x * map_resolution) + map_origin.x; - current_pose.y = (pose->y * map_resolution) + map_origin.y; - current_pose.theta = pose->theta; - path.push_back(current_pose); - } - return; - } - -// // testing -// cv::Mat path_map = rotated_room_map.clone(); -// cv::circle(path_map, fov_coverage_path[0], 2, cv::Scalar(100), CV_FILLED); -// for(std::vector::iterator path_node=fov_coverage_path.begin()+1; path_node!=fov_coverage_path.end(); ++path_node) -// { -// cv::circle(path_map, *path_node, 2, cv::Scalar(100), CV_FILLED); -// cv::line(path_map, *path_node, *(path_node-1), cv::Scalar(127)); -// cv::imshow("path", path_map); -// cv::waitKey(); -// } -// cv::imshow("path", path_map); -// cv::waitKey(); - - // ****************** IV. Map the found fov path to the robot path ****************** - //mapPath(room_map, path, fov_poses, robot_to_fov_vector, map_resolution, map_origin, starting_position); - ROS_INFO("Starting to map from field of view pose to robot pose"); - cv::Point robot_starting_position = (fov_poses.size()>0 ? cv::Point(fov_poses[0].x, fov_poses[0].y) : starting_position); - cv::Mat inflated_room_map; - cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int); - mapPath(inflated_room_map, path, fov_poses, robot_to_fov_vector, map_resolution, map_origin, robot_starting_position); -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/flow_network_explorator.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/flow_network_explorator.cpp deleted file mode 100644 index 24a68cd..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/flow_network_explorator.cpp +++ /dev/null @@ -1,2045 +0,0 @@ -#include - -// Constructor -FlowNetworkExplorator::FlowNetworkExplorator() -{ - -} - -// Function that creates a Cbc optimization problem and solves it, using the given matrices and vectors and the 3-stage -// ansatz, that takes an initial step going from the start node and then a coverage stage assuming that the number of -// flows into and out of a node must be the same. At last a final stage is gone, that terminates the path in one of the -// possible nodes. -void FlowNetworkExplorator::solveThreeStageOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector& weights, - const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, - const std::vector& start_arcs) -{ - // initialize the problem - CoinModel problem_builder; - - std::cout << "Creating and solving linear program." << std::endl; - - // add the optimization variables to the problem - int number_of_variables = 0; - for(size_t arc=0; arc variable_indices; - - for(size_t col=0; col(row, start_arcs[col])==1) - variable_indices.push_back((int) col); - - // coverage and final stage - for(size_t col=0; col(row, col)==1) - { - variable_indices.push_back((int) col + start_arcs.size()); // coverage stage - variable_indices.push_back((int) col + start_arcs.size() + V.cols); // final stage - } - } - - // all indices are 1 in this constraint - std::vector variable_coefficients(variable_indices.size(), 1.0); - - // add the constraint, if the current cell can be covered by the given arcs - if(variable_indices.size()>0) - problem_builder.addRow((int) variable_indices.size(), &variable_indices[0], &variable_coefficients[0], 1.0); - } - - - // equality constraint to ensure that the number of flows out of one node is the same as the number of flows into the - // node during the coverage stage - // Remark: for initial stage ensure that exactly one arc is gone, because there only the outgoing flows are taken - // into account - // initial stage - std::vector start_indices(start_arcs.size()); - std::vector start_coefficients(start_arcs.size()); - for(size_t start=0; start variable_indices; - std::vector variable_coefficients; - - // vectors for the decreasing equality constraint that ensures that the flow gets reduced by 1, every time it passes a node, - // cycles are prevented by this, because a start of a cycle is also an end of it, producing a constraint that the flow - // trough this node needs to be larger than from any other arc in this cycle but also it needs to be smaller than - // any other flow, which is not possible - std::vector flow_decrease_indices; - std::vector flow_decrease_coefficients; - - // vectors for the node indicator equality constraints that sets the indicator for the node to 1, if an arc flows - // into this node during the initial or coverage stage - std::vector indicator_indices; - std::vector indicator_coefficients; - - // gather flows into node - for(size_t inflow=0; inflow final_indices(V.cols); - std::vector final_coefficients(final_indices.size()); - // gather indices - for(size_t node=0; node aux_flow_indices(2); - std::vector aux_flow_coefficients(2); - - // first entry shows indication variable - aux_flow_indices[0] = node; - aux_flow_coefficients[0] = flows_into_nodes.size()-1; // allow a high flow if the arc is chosen in the path - - // second entry shows the flow variable - aux_flow_indices[1] = node+start_arcs.size()+2.0*V.cols; - aux_flow_coefficients[1] = -1.0; - - // add constraint - problem_builder.addRow((int) aux_flow_indices.size(), &aux_flow_indices[0], &aux_flow_coefficients[0], 0.0); - } - - // equality constraints to set the flow out of the start to the number of gone nodes - std::cout << "init flow constraints" << std::endl; - std::vector start_flow_indices(start_arcs.size()+flows_into_nodes.size()); - std::vector start_flow_coefficients(start_flow_indices.size()); - for(size_t node=0; nodeloadFromCoinModel(problem_builder); - - // testing - solver_pointer->writeLp("lin_flow_prog", "lp"); - - // solve the created integer optimization problem - CbcModel model(*solver_pointer); - model.solver()->setHintParam(OsiDoReducePrint, true, OsiHintTry); - -// CbcHeuristicLocal heuristic2(model); - CbcHeuristicFPump heuristic(model); - model.addHeuristic(&heuristic); - - model.initialSolve(); - model.branchAndBound(); - - // retrieve solution - const double* solution = model.solver()->getColSolution(); - - for(size_t res=0; res& C, const cv::Mat& V, const std::vector& weights, - const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, - const std::vector& start_arcs) -{ -#ifdef GUROBI_FOUND - std::cout << "Creating and solving linear program with Gurobi." << std::endl; - // initialize the problem - GRBEnv *env = new GRBEnv(); - GRBModel model = GRBModel(*env); -// model.set("Threads", "1"); - - // one must set LazyConstraints parameter when using lazy constraints - model.set(GRB_IntParam_LazyConstraints, 1); - - // vector that stores the variables of the problem - std::vector optimization_variables; - - // add the optimization variables to the problem - int number_of_variables = 0; - for(size_t arc=0; arc variable_indices; - - for(size_t col=0; col(row, start_arcs[col])==1) - variable_indices.push_back((int) col); - - // coverage and final stage - for(size_t col=0; col(row, col)==1) - { - variable_indices.push_back((int) col + start_arcs.size()); // coverage stage - variable_indices.push_back((int) col + start_arcs.size() + V.cols); // final stage - } - } - - // add the constraint, if the current cell can be covered by the given arcs, indices=1 in this constraint - if(variable_indices.size()>0) - { - GRBLinExpr current_coverage_constraint; - for(size_t var=0; var=1); - } - } - - - // equality constraint to ensure that the number of flows out of one node is the same as the number of flows into the - // node during the coverage stage - // Remark: for initial stage ensure that exactly one arc is gone, because there only the outgoing flows are taken - // into account - // initial stage - GRBLinExpr initial_stage_constraint; - for(size_t start=0; start variable_indices; - std::vector variable_coefficients; - - // gather flows into node - for(size_t inflow=0; inflow0.01) -// std::cout << var << std::endl; - } - - // garbage collection - delete env; - - return; -#endif -} - -// Function that creates a Cbc optimization problem and solves it, using the given matrices and vectors and the 3-stage -// ansatz, that takes an initial step going from the start node and then a coverage stage assuming that the number of -// flows into and out of a node must be the same. At last a final stage is gone, that terminates the path in one of the -// possible nodes. This function uses lazy generalized cutset inequalities (GCI) to prevent cycles. For that a solution -// without cycle prevention constraints is determined and then cycles are detected in this solution. For these cycles -// then additional constraints are added and a new solution is determined. This procedure gets repeated until no cycle -// is detected in the solution or the only cycle contains all visited nodes, because such a solution is a traveling -// salesman like solution, which is a valid solution. -void FlowNetworkExplorator::solveLazyConstraintOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector& weights, - const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, - const std::vector& start_arcs) -{ - // initialize the problem - CoinModel problem_builder; - - std::cout << "Creating and solving linear program." << std::endl; - - // add the optimization variables to the problem - int number_of_variables = 0; - for(size_t arc=0; arc variable_indices; - - for(size_t col=0; col(row, start_arcs[col])==1) - variable_indices.push_back((int) col); - - // coverage and final stage - for(size_t col=0; col(row, col)==1) - { - variable_indices.push_back((int) col + start_arcs.size()); // coverage stage - variable_indices.push_back((int) col + start_arcs.size() + V.cols); // final stage - } - } - - // all indices are 1 in this constraint - std::vector variable_coefficients(variable_indices.size(), 1.0); - - // add the constraint, if the current cell can be covered by the given arcs - if(variable_indices.size()>0) - problem_builder.addRow((int) variable_indices.size(), &variable_indices[0], &variable_coefficients[0], 1.0); - } - - - // equality constraint to ensure that the number of flows out of one node is the same as the number of flows into the - // node during the coverage stage - // Remark: for initial stage ensure that exactly one arc is gone, because there only the outgoing flows are taken - // into account - // initial stage - std::vector start_indices(start_arcs.size()); - std::vector start_coefficients(start_arcs.size()); - for(size_t start=0; start variable_indices; - std::vector variable_coefficients; - - // gather flows into node - for(size_t inflow=0; inflow final_indices(V.cols); - std::vector final_coefficients(final_indices.size()); - // gather indices - for(size_t node=0; nodeloadFromCoinModel(problem_builder); - - // testing - solver_pointer->writeLp("lin_flow_prog", "lp"); - - // solve the created integer optimization problem - CbcModel model(*solver_pointer); - model.solver()->setHintParam(OsiDoReducePrint, true, OsiHintTry); - - CbcHeuristicFPump heuristic(model); - model.addHeuristic(&heuristic); - model.initialSolve(); - model.branchAndBound(); - -// testing -// std::vector test_row(2); -// std::vector test_coeff(2); -// -// test_row[0] = 0; -// test_row[1] = 1; -// -// test_coeff[0] = 1.0; -// test_coeff[1] = 1.0; -// solver_pointer->addRow(2, &test_row[0], &test_coeff[0], 0.0, 0.0); -// solver_pointer->writeLp("lin_flow_prog", "lp"); -// solver_pointer->resolve(); - - // retrieve solution - const double* solution = model.solver()->getColSolution(); - - // search for cycles in the retrieved solution, if one is found add a constraint to prevent this cycle - bool cycle_free = false; - - do - { - // get the arcs that are used in the previously calculated solution - std::set used_arcs; // set that stores the indices of the arcs corresponding to non-zero elements in the solution - - // go trough the start arcs - for(size_t start_arc=0; start_arc0) - { - // insert saved outgoing flow index - used_arcs.insert(flow-start_arcs.size()-V.cols); - } - } -// go trough the final stage and find the remaining used arcs -// for(size_t node=0; node::iterator sol=used_arcs.begin(); sol!=used_arcs.end(); ++sol) -// std::cout << *sol << std::endl; -// std::cout << std::endl; - - // construct the directed edges out of the used arcs - std::vector > directed_edges; // vector that stores the directed edges for each node - for(uint start_node=0; start_node originating_flows; - bool originating = false; - for(std::set::iterator arc=used_arcs.begin(); arc!=used_arcs.end(); ++arc) - { - if(contains(flows_out_of_nodes[start_node], *arc)==true) - { - originating = true; - originating_flows.push_back(*arc); - } - } - - // if the arc is originating from this node, find its destination - std::vector current_directed_edges; - if(originating==true) - { - for(uint end_node=0; end_node::iterator arc=originating_flows.begin(); arc!=originating_flows.end(); ++arc) - if(contains(flows_into_nodes[end_node], *arc)==true) - current_directed_edges.push_back(end_node); - } - } - - // if the current node doesn't flow into another node insert a vector storing -1 - if(current_directed_edges.size()==0) - current_directed_edges.push_back(-1); - - // save the found used directed edges - directed_edges.push_back(current_directed_edges); - } - -// // testing -// std::cout << "used destinations: " << std::endl; -//// directed_edges[1].push_back(0); -// for(size_t i=0; i c(flows_into_nodes.size()); - int number_of_strong_components = boost::strong_components(support_graph, boost::make_iterator_property_map(c.begin(), boost::get(boost::vertex_index, support_graph), c[0])); - std::cout << "got " << number_of_strong_components << " strongly connected components" << std::endl; -// for (std::vector ::iterator i = c.begin(); i != c.end(); ++i) -// std::cout << "Vertex " << i - c.begin() << " is in component " << *i << std::endl; - - // check how many cycles there are in the solution (components with a size >= 2) - int number_of_cycles = 0; - std::set done_components; // set that stores the component indices for that the nodes already were found - for(std::vector::iterator comp=c.begin(); comp!=c.end(); ++comp) - { - // don't check a component more than one time - if(done_components.find(*comp)!=done_components.end()) - continue; - - int elements = std::count(c.begin(), c.end(), *comp); - if(elements>=2) - ++number_of_cycles; - - // check if a tsp path is computed (number of arcs is same as number of nodes), each arc is a strongly - // connected component itself or all the nodes belong to one strongly connected component - if(elements==used_arcs.size() || elements==flows_out_of_nodes.size()) - number_of_cycles = 0; - - // add it to done components - done_components.insert(*comp); - } - - // check if no cycle appears in the solution, i.e. if not each node is a component of its own or a traveling - // salesman path has been computed (not_used_nodes+1) or each arc flows to another node - if(number_of_cycles==0) - cycle_free = true; - - // if a cycle appears find it and add the prevention constraint to the problem and resolve it - if(cycle_free==false) - { - // go trough the components and find components with more than 1 element in it - std::vector > cycle_nodes; - done_components.clear(); - for (int component=0; component current_component_nodes; - int elements = std::count(c.begin(), c.end(), c[component]); -// std::cout << c[component] << std::endl; - if(elements>=2 && elements!=used_arcs.size()) - { - for(std::vector::iterator element=c.begin(); element!=c.end(); ++element) - { - if(*element==c[component]) - { - current_component_nodes.push_back(element-c.begin()); - } - } - - // save the found cycle - if(current_component_nodes.size()>0) - cycle_nodes.push_back(current_component_nodes); - - // add it to done components - done_components.insert(c[component]); - } - } - } - -// std::cout << "found nodes that are part of a cycle: " << std::endl; -// for(size_t i=0; i cpc_indices; -// std::vector cpc_coefficients; -// -// // gather the arcs in outgoing from all neighbors -// for(size_t neighbor=0; neighbor::const_iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].end(); ++outflow) -// { -// // if the current arc is used in the solution, search for it in the incoming flows of -// // the other nodes in the cycle -// if(used_arcs.find(*outflow)!=used_arcs.end()) -// for(size_t new_node=0; new_node::const_iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].end(); ++outflow) -// { -// // search for the current flow in the incoming flows of the other nodes in the cycle -// for(size_t new_node=0; new_nodeaddRow((int) cpc_indices.size(), &cpc_indices[0], &cpc_coefficients[0], 0.0, COIN_DBL_MAX); -// } - // for each cycle find the arcs that lie in it - -// std::cout << "size: " << cycle_nodes[cycle].size() << std::endl; -// std::cout << "constraint: " << std::endl; - std::vector cpc_indices; - std::vector cpc_coefficients; - for(size_t node=0; node::const_iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][node]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][node]].end(); ++outflow) - { - for(size_t neighbor=0; neighboraddRow((int) cpc_indices.size(), &cpc_indices[0], &cpc_coefficients[0], COIN_DBL_MIN , cycle_nodes[cycle].size()-1); - } - -// testing - solver_pointer->writeLp("lin_flow_prog", "lp"); - - // resolve the problem with the new constraints - solver_pointer->resolve(); - - // create a new model with the updated optimization problem and solve it - CbcModel new_model(*solver_pointer); - new_model.solver()->setHintParam(OsiDoReducePrint, true, OsiHintTry); - - CbcHeuristicFPump heuristic_new(new_model); - new_model.addHeuristic(&heuristic_new); - -// new_model.initialSolve(); - new_model.branchAndBound(); - - // retrieve new solution - solution = new_model.solver()->getColSolution(); - - } - }while(cycle_free == false); - - for(size_t res=0; res& points, const cv::Point& point, const double min_distance) -{ - double square_distance = min_distance * min_distance; - for(std::vector::const_iterator current_point = points.begin(); current_point != points.end(); ++current_point) - { - double dx = current_point->x - point.x; - double dy = current_point->y - point.y; - if( ((dx*dx + dy*dy)) <= square_distance) - return true; - } - return false; -} - -// Function that uses the flow network based method to determine a coverage path. To do so the following steps are done -// I. Using the Sobel operator the direction of the gradient at each pixel is computed. Using this information, the direction is -// found that suits best for calculating the edges, i.e. such that longer edges occur, and the map is rotated in this manner. -// This allows to use the algorithm as it was and in the last step, the found path points simply will be transformed back to the -// original orientation. -// II. Discretize the free space into cells that have to be visited a least once by using the sampling distance given to -// the function. Also create a flow network by sweeping a line along the y-/x-axis and creating an edge, whenever it -// hits an obstacle. From this hit point go back along the sweep line until the distance is equal to the coverage -// radius, because the free space should represent the area that should be totally covered. If in both directions -// along the sweep line no point in the free space can be found, ignore it. -// III. Create the matrices and vectors for the optimization problem: -// 1. The weight vector w, storing the distances between edges. -// 2. The coverage matrix V, storing which cell can be covered when going along the arcs. -// remark: A cell counts as covered, when its center is in the coverage radius around an arc. -// 3. The sets of arcs for each node, that store the incoming and outgoing arcs -// IV. Create and solve the optimization problems in the following order: -// 1. Find the start node that is closest to the given starting position. This start node is used as initial step -// in the optimization problem. -// 2. Solve the optimization problem, using lazy constraints to prevent cycles in the solution. See the upper -// function for further details. -// 3. Retrieve the solution provided by the optimizer and create a path trough the environment. -// 4. Construct a pose path out of the calculated point path. -// V. The previous step produces a path for the field of view. If wanted this path gets mapped to the robot path s.t. -// the field of view follows the wanted path. To do so simply a vector transformation is applied. If the computed robot -// pose is not in the free space, another accessible point is generated by finding it on the radius around the fov -// middlepoint s.t. the distance to the last robot position is minimized. If this is not wanted one has to set the -// corresponding Boolean to false (shows that the path planning should be done for the robot footprint). -void FlowNetworkExplorator::getExplorationPath(const cv::Mat& room_map, std::vector& path, - const float map_resolution, const cv::Point starting_position, const cv::Point2d map_origin, - const int cell_size, const Eigen::Matrix& robot_to_fov_middlepoint_vector, const float coverage_radius, - const bool plan_for_footprint, const double path_eps, const double curvature_factor, const double max_distance_factor) -{ - // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** - cv::Mat R; - cv::Rect bbox; - cv::Mat rotated_room_map; - RoomRotator room_rotation; - room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution); - room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); - -// // generate matrices for gradient in x/y direction -// cv::Mat gradient_x, gradient_y; -// -// // compute gradient in x direction -// cv::Sobel(room_map, gradient_x, CV_64F, 1, 0, 5, 1.0, 0.0, cv::BORDER_DEFAULT); -// -// // compute gradient in y direction -// cv::Sobel(room_map, gradient_y, CV_64F, 0, 1, 5, 1.0, 0.0, cv::BORDER_DEFAULT); -// -// // compute the direction of the gradient for each pixel and save the occurring gradients -// std::vector gradient_directions; -// for(size_t y=0; y(y,x); -// int dy= gradient_y.at(y,x); -// if(dy*dy+dx*dx > 0.0) -// { -// double current_gradient = std::atan2(dy, dx); -// gradient_directions.push_back(0.1*(double)((int)((current_gradient*10)+0.5))); // round to one digit -// } -// } -// } -// -// // find the gradient that occurs most often, this direction is used to rotate the map -// int max_number = 0; -// double most_occurring_gradient = 0.0; -// std::set done_gradients; -// for(std::vector::iterator grad=gradient_directions.begin(); grad!=gradient_directions.end(); ++grad) -// { -// // if gradient has been done, don't check it again -// if(done_gradients.find(*grad)==done_gradients.end()) -// { -// int current_count = std::count(gradient_directions.begin(), gradient_directions.end(), *grad); -//// std::cout << "current gradient: " << *grad << ", occurs " << current_count << " times." << std::endl; -// if(current_count > max_number) -// { -// max_number = current_count; -// most_occurring_gradient = *grad; -// } -// done_gradients.insert(*grad); -// } -// } -// std::cout << "most occurring gradient angle: " << most_occurring_gradient << std::endl; -// -// // rotation angle of the map s.t. the most occurring gradient is in 0 degree to the x-axis -// double rotation_angle = std::abs(most_occurring_gradient); -// std::cout << "rotation angle: " << rotation_angle << std::endl; -// -// // get rotation matrix R for rotating the image around the center of the room contour -// // Remark: rotation angle in degrees for opencv -// std::vector < std::vector > contour; -// cv::Mat contour_map = room_map.clone(); -// cv::findContours(contour_map, contour, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE); -// -// // get the moment--> for a given map, there should only be one contour -// cv::Moments moment = cv::moments(contour[0], false); -// -// // calculate rotation center -// cv::Point2f center = cv::Point(moment.m10/moment.m00 , moment.m01/moment.m00 ); -// cv::Mat R = cv::getRotationMatrix2D(center, (rotation_angle*180)/PI, 1.0); -// -// // determine bounding rectangle to find the size of the new image -// cv::Rect bbox = cv::RotatedRect(center, room_map.size(), (rotation_angle*180)/PI).boundingRect(); -// -// // adjust transformation matrix -// R.at(0,2) += bbox.width/2.0 - center.x; -// R.at(1,2) += bbox.height/2.0 - center.y; -// -// // rotate the image -// cv::Mat rotated_room_map; -// cv::warpAffine(room_map, rotated_room_map, R, bbox.size(), cv::INTER_AREA); -// -// // apply a binary filter to create a binary image, also use a closing operator to smooth the output (the rotation might produce -// // black pixels reaching into the white area that were not there before, causing new, wrong cells to open) -// cv::threshold(rotated_room_map, rotated_room_map, 200, 255, CV_THRESH_BINARY); -// cv::dilate(rotated_room_map, rotated_room_map, cv::Mat(), cv::Point(-1,-1), 1); -// cv::erode(rotated_room_map, rotated_room_map, cv::Mat(), cv::Point(-1,-1), 1); -// cv::imshow("rotated_room_map", rotated_room_map); -// cv::imshow("room_map", room_map); -// cv::waitKey(); - - // *********** II. Discretize the free space and create the flow network *********** - // find the min/max coordinates - int min_y = 1000000, max_y = 0, min_x = 1000000, max_x = 0; - for (int y=0; y(y,x)==255) - { - if(ymax_y) - max_y = y; - if(xmax_x) - max_x = x; - } - } - } -// min_y -= 1; -// min_x -= 1; -// max_y += 1; -// max_x += 1; - -// testing -// cv::circle(rotated_room_map, cv::Point(min_x, min_y), 3, cv::Scalar(127), CV_FILLED); -// cv::circle(rotated_room_map, cv::Point(max_x, max_y), 3, cv::Scalar(127), CV_FILLED); -// cv::imshow("rotated", rotated_room_map); -// cv::waitKey(); - - // todo: create grid in external class - it is the same in all approaches - // todo: if first/last row or column in grid has accessible areas but center is inaccessible, create a node in the accessible area - // find cell centers that need to be covered - std::vector cell_centers; - for(size_t y=min_y; y<=max_y; y+=cell_size) - for(size_t x=min_x; x<=max_x; x+=cell_size) - if(rotated_room_map.at(y,x)==255) - cell_centers.push_back(cv::Point(x,y)); - - // find edges for the flow network, sweeping along the y-axis - std::vector edges; - int coverage_int = (int) std::floor(coverage_radius); - std::cout << "y sweeping, radius: " << coverage_int << std::endl; - for(size_t y=min_y-1; y<=max_y+1; ++y) - { -// cv::Mat test_map = rotated_room_map.clone(); -// for(std::vector::iterator center=cell_centers.begin(); center!=cell_centers.end(); ++center) -// cv::circle(test_map, *center, 2, cv::Scalar(50), CV_FILLED); -// cv::line(test_map, cv::Point(0, y), cv::Point(rotated_room_map.cols, y), cv::Scalar(127), 1); - for(size_t x=min_x; x<=max_x+1; x+=2.0*coverage_int) - { - // check if an obstacle has been found, only check outer parts of the occupied space - if(rotated_room_map.at(y,x)==0 && (rotated_room_map.at(y-1,x)==255 || rotated_room_map.at(y+1,x)==255)) - { -// cv::circle(test_map, cv::Point(x,y), 2, cv::Scalar(127), CV_FILLED); - // check on both sides along the sweep line if a free point is available, don't exceed matrix dimensions - if(rotated_room_map.at(y-coverage_int, x)==255 && y-coverage_int>=0) - edges.push_back(cv::Point(x, y-coverage_int)); - else if(rotated_room_map.at(y+coverage_int, x)==255 && y+coverage_int(y,x)==0 && (rotated_room_map.at(y,x-1)==255 || rotated_room_map.at(y,x+1)==255)) -// { -//// cv::circle(test_map, cv::Point(x,y), 2, cv::Scalar(127), CV_FILLED); -// // check on both sides along the sweep line if a free point is available, don't exceed matrix dimensions -// if(rotated_room_map.at(y, x-coverage_int)==255 && x-coverage_int>=0) -// edges.push_back(cv::Point(x-coverage_int, y)); -// else if(rotated_room_map.at(y, x+coverage_int)==255 && x+coverage_int::iterator p=edges.begin(); p!=edges.end(); ++p) -// cv::circle(edges_map, *p, 2, cv::Scalar(100), CV_FILLED); -// cv::imshow("edges", edges_map); -// cv::waitKey(); - - // create the arcs for the flow network - std::cout << "Constructing distance matrix" << std::endl; - cv::Mat distance_matrix; // determine weights - DistanceMatrix distance_matrix_computation; - distance_matrix_computation.constructDistanceMatrix(distance_matrix, rotated_room_map, edges, 0.25, 0.0, map_resolution, path_planner_); - std::cout << "Constructed distance matrix, defining arcs" << std::endl; - std::vector arcs; - double max_distance = max_y - min_y; // arcs should at least go the maximal room distance to allow straight arcs - if(max_x-min_x>max_distance) - max_distance=max_x-min_x; - for(size_t start=0; startstart) - { - arcStruct current_forward_arc; - current_forward_arc.start_point = edges[start]; - current_forward_arc.end_point = edges[end]; - current_forward_arc.weight = distance_matrix.at(start, end); - arcStruct current_backward_arc; - current_backward_arc.start_point = edges[end]; - current_backward_arc.end_point = edges[start]; - current_backward_arc.weight = distance_matrix.at(end, start); - cv::Point vector = current_forward_arc.start_point - current_forward_arc.end_point; - // don't add too long arcs to reduce dimensionality, because they certainly won't get chosen anyway - // also don't add arcs that are too far away from the straight line (start-end) because they are likely - // to go completely around obstacles and are not good - if(current_forward_arc.weight <= max_distance_factor*max_distance && current_forward_arc.weight <= curvature_factor*cv::norm(vector)) - { - std::vector astar_path; - path_planner_.planPath(rotated_room_map, current_forward_arc.start_point, current_forward_arc.end_point, 1.0, 0.0, map_resolution, 0, &astar_path); - current_forward_arc.edge_points = astar_path; - // reverse path for backward arc - std::reverse(astar_path.begin(), astar_path.end()); - current_backward_arc.edge_points = astar_path; - arcs.push_back(current_forward_arc); - arcs.push_back(current_backward_arc); - } - } - } - } - // TODO: exclude nodes that aren't connected to the rest of the edges - std::cout << "arcs: " << arcs.size() << std::endl; - -// testing -// cv::Mat arc_map = rotated_room_map.clone(); -// for(size_t i=0; i(current_arc.edge_points[j]) = 127; -// } -// cv::imshow("test", arc_map); -// cv::waitKey(); - - // *********** III. Construct the matrices for the optimization problem *********** - std::cout << "Starting to construct the matrices for the optimization problem." << std::endl; - // 1. weight vector - int number_of_candidates = arcs.size(); - std::vector w(number_of_candidates); - for(std::vector::iterator arc=arcs.begin(); arc!=arcs.end(); ++arc) - w[arc-arcs.begin()] = arc->weight; - - // 2. visibility matrix, storing which call can be covered when going along the arc - // remark: a cell counts as covered, when the center of each cell is in the coverage radius around the arc - cv::Mat V = cv::Mat(cell_centers.size(), number_of_candidates, CV_8U); // binary variables - for(std::vector::iterator arc=arcs.begin(); arc!=arcs.end(); ++arc) - { - // use the pointClose function to check if a cell can be covered along the path - for(std::vector::iterator cell=cell_centers.begin(); cell!=cell_centers.end(); ++cell) - { - if(pointClose(arc->edge_points, *cell, 1.1*coverage_radius) == true) - V.at(cell-cell_centers.begin(), arc-arcs.begin()) = 1; - else - V.at(cell-cell_centers.begin(), arc-arcs.begin()) = 0; - } - } - - // 3. set of arcs (indices) that are going into and out of one node - std::vector > flows_into_nodes(edges.size()); - std::vector > flows_out_of_nodes(edges.size()); - int number_of_outflows = 0; - for(std::vector::iterator edge=edges.begin(); edge!=edges.end(); ++edge) - { - for(std::vector::iterator arc=arcs.begin(); arc!=arcs.end(); ++arc) - { - // if the start point of the arc is the edge save it as incoming flow - if(arc->end_point == *edge) - { - flows_into_nodes[edge-edges.begin()].push_back(arc-arcs.begin()); - } - // if the end point of the arc is the edge save it as outgoing flow - else if(arc->start_point == *edge) - { - flows_out_of_nodes[edge-edges.begin()].push_back(arc-arcs.begin()); - ++number_of_outflows; - } - } - } - -// testing -// for(size_t i=0; i path = arcs[flows_out_of_nodes[node][flow]].edge_points; -// for(size_t p=0; p(path[p]) = 127; -// } -// cv::imshow("paths", paths); -// cv::waitKey(); -// } - - std::cout << "Constructed all matrices for the optimization problem. Checking if all cells can be covered." << std::endl; - - // print out warning if a defined cell is not coverable with the chosen arcs - bool all_cells_covered = true; - for(size_t row=0; row(row, col)==1) - ++number_of_paths; - if(number_of_paths==0) - { - std::cout << "!!!!!!!! EMPTY ROW OF VISIBILITY MATRIX !!!!!!!!!!!!!" << std::endl << "cell " << row << " not coverable" << std::endl; - all_cells_covered = false; - } - } - if(all_cells_covered == false) - std::cout << "!!!!! WARNING: Not all cells could be covered with the given parameters, try changing them or ignore it to not cover the whole free space." << std::endl; - - // *********** IV. Solve the optimization problem *********** - // 1. Find the start node closest to the starting position. - double min_distance = 1e5; - uint start_index = 0; - for(std::vector::iterator edge=edges.begin(); edge!=edges.end(); ++edge) - { - cv::Point difference_vector = *edge - starting_position; - double current_distance = cv::norm(difference_vector); - if(current_distance C(2.0*(flows_out_of_nodes[start_index].size()+number_of_candidates) + number_of_outflows + edges.size()); - std::cout << "number of outgoing arcs: " << number_of_outflows << std::endl; -#ifdef GUROBI_FOUND - solveGurobiOptimizationProblem(C, V, w, flows_into_nodes, flows_out_of_nodes, flows_out_of_nodes[start_index]); -#else - solveLazyConstraintOptimizationProblem(C, V, w, flows_into_nodes, flows_out_of_nodes, flows_out_of_nodes[start_index]); -#endif - -// testing -// for(size_t i=0; i::iterator p=edges.begin(); p!=edges.end(); ++p) -// cv::circle(test_map, *p, 2, cv::Scalar(100), CV_FILLED); - - std::set used_arcs; // set that stores the indices of the arcs corresponding to non-zero elements in the solution - // go trough the start arcs and determine the new start arcs - uint path_start = 0; -// cv::Mat test_map = rotated_room_map.clone(); -// for(std::vector::iterator p=edges.begin(); p!=edges.end(); ++p) -// cv::circle(test_map, *p, 2, cv::Scalar(100), CV_FILLED); - for(size_t start_arc=0; start_arc0.01) // taking integer precision in solver into account - { - // insert start index -// used_arcs.insert(flows_out_of_nodes[start_index][start_arc]); - path_start = flows_out_of_nodes[start_index][start_arc]; - -// std::vector path=arcs[flows_out_of_nodes[start_index][start_arc]].edge_points; -// for(size_t j=0; j(path[j])=50; -// -// cv::imshow("discretized", test_map); -// cv::waitKey(); - } - } - - // go trough the coverage stage - for(size_t cover_arc=flows_out_of_nodes[start_index].size(); cover_arc::iterator p=edges.begin(); p!=edges.end(); ++p) -// cv::circle(test_map, *p, 2, cv::Scalar(100), CV_FILLED); - if(C[cover_arc]>0.01) // taking integer precision in solver into account - { -// std::cout << cover_arc-flows_out_of_nodes[start_index].size() << std::endl; - - // insert index, relative to the first coverage variable - used_arcs.insert(cover_arc-flows_out_of_nodes[start_index].size()); - -// std::vector path=arcs[cover_arc-flows_out_of_nodes[start_index].size()].edge_points; -// for(size_t j=0; j(path[j])=100; -// -// cv::imshow("discretized", test_map); -// cv::waitKey(); - } - } - - // go trough the final stage and find the remaining used arcs - std::cout << "final: " << std::endl; - uint path_end = 0; - for(uint final_arc=flows_out_of_nodes[start_index].size()+arcs.size(); final_arc::iterator p=edges.begin(); p!=edges.end(); ++p) -// cv::circle(test_map, *p, 2, cv::Scalar(100), CV_FILLED); - if(C[final_arc]>0.01) - { - // insert saved outgoing flow index -// used_arcs.insert(final_arc-flows_out_of_nodes[start_index].size()-V.cols); - path_end = final_arc-flows_out_of_nodes[start_index].size()-V.cols; - -// std::vector path=arcs[final_arc-flows_out_of_nodes[start_index].size()-arcs.size()].edge_points; -// for(size_t j=0; j(path[j])=150; -// -// cv::imshow("discretized", test_map); -// cv::waitKey(); - } - } -// for(size_t node=0; node0.01) // taking integer precision in solver into account -// { -// // insert saved outgoing flow index -// used_arcs.insert(flows_out_of_nodes[node][flow]); -// std::vector path=arcs[flows_out_of_nodes[node][flow]].edge_points; -// for(size_t j=0; j(path[j])=150; -// -// cv::imshow("discretized", test_map); -// cv::waitKey(); -// } -// } -// } -// cv::imshow("discretized", test_map); -// cv::waitKey(); - std::cout << "got " << used_arcs.size() << " used arcs" << std::endl; - -// // testing --> check how often a node is a start/end-node of the arcs -// std::cout << "appereances of the nodes: " << std::endl; -// cv::Mat node_map = rotated_room_map.clone(); -// for(size_t i=0; i::iterator used=used_arcs.begin(); used!=used_arcs.end(); ++used) -// if(contains(flows_out_of_nodes[i], *used)==true || contains(flows_into_nodes[i], *used)==true) -// ++number; -// std::cout << "n" << i << ": " << number << std::endl; -// -// if(i==5) -// { -// cv::circle(node_map, edges[i], 2, cv::Scalar(127), CV_FILLED); -// for(std::set::iterator used=used_arcs.begin(); used!=used_arcs.end(); ++used) -// { -// if(contains(flows_out_of_nodes[i], *used)==true || contains(flows_into_nodes[i], *used)==true) -// { -// std::vector points=arcs[*used].edge_points; -// for(size_t j=0; j(points[j])=150; -// } -// } -// cv::imshow("node", node_map); -// cv::waitKey(); -// } -// } - - - // starting from the start node, go trough the arcs and create a coverage path - std::vector path_positions; - path_positions.push_back(edges[start_index]); - cv::Point last_point = edges[start_index]; - int last_index = start_index; - std::set gone_arcs; - std::cout << "getting path using arcs" << std::endl; - // start path at start node - std::vector start_edge = arcs[path_start].edge_points; - for(std::vector::iterator pos=start_edge.begin(); pos!=start_edge.end(); ++pos) - { - cv::Point difference = last_point - *pos; - // if the next point is far enough away from the last point insert it into the coverage path - if(difference.x*difference.x+difference.y*difference.y<=path_eps*path_eps) - { - path_positions.push_back(*pos); - last_point = *pos; - } - } - // get index of the start arcs end-node - cv::Point end_start_node = arcs[path_start].end_point; - last_index = std::find(edges.begin(), edges.end(), end_start_node)-edges.begin(); - // TODO: find path in directed graph, covering all edges --> allow cycles connected to the rest - int number_of_gone_arcs = 0, loopcounter = 0; - do - { - ++loopcounter; -// std::cout << "n: " << number_of_gone_arcs << std::endl; - // go trough the arcs and find the one that has the last point as begin and go along it - for(std::set::iterator arc_index=used_arcs.begin(); arc_index!=used_arcs.end(); ++arc_index) - { -// std::cout << arcs[*arc_index].start_point << " " << last_point << std::endl; -// if(arcs[*arc_index].start_point==last_point) -// { -// std::vector edge = arcs[*arc_index].edge_points; -// for(std::vector::iterator pos=edge.begin(); pos!=edge.end(); ++pos) -// { -// cv::Point difference = last_point - *pos; -// // if the next point is far enough away from the last point insert it into the coverage path -// if(difference.x*difference.x+difference.y*difference.y<=path_eps*path_eps) -// { -// path_positions.push_back(*pos); -// last_point = *pos; -// } -// } -// -// // increase number of gone arcs -// ++number_of_gone_arcs; -// } - - // check if current arc has been gone already (e.g. when a cycle is appended to the rest of the path --> still a valid solution) - if(gone_arcs.find(*arc_index)!=gone_arcs.end()) - continue; - - if(contains(flows_out_of_nodes[last_index], *arc_index)==true) - { - std::vector edge = arcs[*arc_index].edge_points; - for(std::vector::iterator pos=edge.begin(); pos!=edge.end(); ++pos) - { - cv::Point difference = last_point - *pos; - // if the next point is far enough away from the last point insert it into the coverage path - if(difference.x*difference.x+difference.y*difference.y<=path_eps*path_eps) - { - path_positions.push_back(*pos); - last_point = *pos; - } - } - - // get index of last edge - cv::Point node = arcs[*arc_index].end_point; - last_index = std::find(edges.begin(), edges.end(), node)-edges.begin(); - gone_arcs.insert(*arc_index); - - // increase number of gone arcs - ++number_of_gone_arcs; - - // reset the loop-counter - loopcounter = 0; - } -// std::cout << number_of_gone_arcs << std::endl; - } - }while(number_of_gone_arcs final_edge = arcs[path_end].edge_points; - for(std::vector::iterator pos=final_edge.begin(); pos!=final_edge.end(); ++pos) - { - cv::Point difference = last_point - *pos; - // if the next point is far enough away from the last point insert it into the coverage path - if(difference.x*difference.x+difference.y*difference.y<=path_eps*path_eps) - { - path_positions.push_back(*pos); - last_point = *pos; - } - } - std::cout << "got path" << std::endl; - - // transform the calculated path back to the originally rotated map and create poses with an angle - std::vector fov_poses; - std::vector path_positions_2f(path_positions.size()); - for (size_t i=0; i fov_poses; -// for(unsigned int point_index=0; point_index::iterator pose=fov_poses.begin(); pose != fov_poses.end(); ++pose) - { - geometry_msgs::Pose2D current_pose; - current_pose.x = (pose->x * map_resolution) + map_origin.x; - current_pose.y = (pose->y * map_resolution) + map_origin.y; - current_pose.theta = pose->theta; - path.push_back(current_pose); - } - return; - } - - // *********************** V. Get the robot path out of the fov path. *********************** - // clean path from double occurrences of the same pose in a row - std::vector fov_path; - fov_path.push_back(fov_poses[0]); - cv::Point last_added_point(fov_poses[0].x, fov_poses[0].y); - const double min_dist_squared = 5 * 5; // [pixel] - for (size_t i=1; i min_dist_squared || i==fov_poses.size()-1) - { - fov_path.push_back(fov_poses[i]); - last_added_point = current_point; - } - } - - // go trough all computed fov poses and compute the corresponding robot pose - std::cout << "mapping path" << std::endl; - mapPath(room_map, path, fov_path, robot_to_fov_middlepoint_vector, map_resolution, map_origin, starting_position); - -//// testing -// // transform the found path back to the original map -// cv::invertAffineTransform(R, R); -// cv::transform(path_positions, path_positions, R); -// cv::Mat path_map = room_map.clone(); -//// cv::imshow("solution", test_map); -//// cv::imwrite("/home/rmbce/Pictures/room_exploration/coverage_path.png", test_map); -// for(std::vector::iterator point=path_positions.begin(); point!=path_positions.end(); ++point) -// { -// cv::circle(path_map, *point, 2, cv::Scalar(127), CV_FILLED); -//// cv::imshow("path", path_map); -//// cv::waitKey(); -// } -// cv::imshow("path", path_map); -// cv::waitKey(); -} - -// test function for an easy case to check correctness -void FlowNetworkExplorator::testFunc() -{ -// std::vector w(6, 1.0); -// std::vector C(2+6+6); -// cv::Mat V = cv::Mat(8, 6, CV_8U, cv::Scalar(0)); -// std::vector > flows_out_of_nodes(3); -// std::vector > flows_in_nodes(3); -// -// // cell 1 -// V.at(0,0) = 1; -// V.at(0,1) = 1; -// //cell 2 -// V.at(1,0) = 1; -// V.at(1,1) = 1; -// // cell 3 -// V.at(2,4) = 1; -// V.at(2,5) = 1; -// // cell 4 -// V.at(3,0) = 1; -// V.at(3,1) = 1; -// V.at(3,4) = 1; -// V.at(3,5) = 1; -// // cell 5 -// V.at(4,0) = 1; -// V.at(4,1) = 1; -// V.at(4,2) = 1; -// V.at(4,3) = 1; -// // cell 6 -// V.at(5,2) = 1; -// V.at(5,3) = 1; -// // cell 7 -// V.at(6,4) = 1; -// V.at(6,5) = 1; -// // cell 8 -// V.at(7,2) = 1; -// V.at(7,3) = 1; -// -// flows_out_of_nodes[0].push_back(0); -// flows_out_of_nodes[0].push_back(4); -// flows_out_of_nodes[1].push_back(1); -// flows_out_of_nodes[1].push_back(2); -// flows_out_of_nodes[2].push_back(3); -// flows_out_of_nodes[2].push_back(5); -// -// flows_in_nodes[0].push_back(1); -// flows_in_nodes[0].push_back(5); -// flows_in_nodes[1].push_back(0); -// flows_in_nodes[1].push_back(3); -// flows_in_nodes[2].push_back(2); -// flows_in_nodes[2].push_back(4); -// -// for(size_t row=0; row(row, col) << " "; -// } -// std::cout << std::endl; -// } - std::vector w(14, 1.0); - std::vector C(2+14+14+2+14+6); - cv::Mat V = cv::Mat(12, 14, CV_8U, cv::Scalar(0)); - std::vector > flows_out_of_nodes(6); - std::vector > flows_in_nodes(6); - - // cell 1 - V.at(0,0) = 1; - V.at(0,1) = 1; - //cell 2 - V.at(1,0) = 1; - V.at(1,1) = 1; - V.at(1,4) = 1; - V.at(1,5) = 1; - // cell 3 - V.at(2,4) = 1; - V.at(2,5) = 1; - V.at(2,10) = 1; - V.at(2,11) = 1; - // cell 4 - V.at(3,0) = 1; - V.at(3,1) = 1; - // cell 5 - V.at(4,0) = 1; - V.at(4,1) = 1; - V.at(4,6) = 1; - V.at(4,7) = 1; - // cell 6 - V.at(5,6) = 1; - V.at(5,7) = 1; - V.at(5,10) = 1; - V.at(5,11) = 1; - // cell 7 - V.at(6,2) = 1; - V.at(6,3) = 1; - // cell 8 - V.at(7,2) = 1; - V.at(7,3) = 1; - V.at(7,6) = 1; - V.at(7,7) = 1; - // cell 9 - V.at(8,6) = 1; - V.at(8,7) = 1; - V.at(8,12) = 1; - V.at(8,13) = 1; - // cell 10 - V.at(9,2) = 1; - V.at(9,3) = 1; - // cell 11 - V.at(10,2) = 1; - V.at(10,3) = 1; - V.at(10,8) = 1; - V.at(10,9) = 1; - // cell 12 - V.at(11,8) = 1; - V.at(11,9) = 1; - V.at(11,12) = 1; - V.at(11,13) = 1; - - flows_out_of_nodes[0].push_back(0); - flows_out_of_nodes[0].push_back(4); - - flows_out_of_nodes[1].push_back(1); - flows_out_of_nodes[1].push_back(2); - flows_out_of_nodes[1].push_back(6); - - flows_out_of_nodes[2].push_back(3); - flows_out_of_nodes[2].push_back(8); - - flows_out_of_nodes[3].push_back(5); - flows_out_of_nodes[3].push_back(10); - - flows_out_of_nodes[4].push_back(7); - flows_out_of_nodes[4].push_back(11); - flows_out_of_nodes[4].push_back(12); - - flows_out_of_nodes[5].push_back(9); - flows_out_of_nodes[5].push_back(13); - - - flows_in_nodes[0].push_back(1); - flows_in_nodes[0].push_back(5); - - flows_in_nodes[1].push_back(0); - flows_in_nodes[1].push_back(3); - flows_in_nodes[1].push_back(7); - - flows_in_nodes[2].push_back(2); - flows_in_nodes[2].push_back(9); - - flows_in_nodes[3].push_back(4); - flows_in_nodes[3].push_back(11); - - flows_in_nodes[4].push_back(6); - flows_in_nodes[4].push_back(10); - flows_in_nodes[4].push_back(13); - - flows_in_nodes[5].push_back(8); - flows_in_nodes[5].push_back(12); - - for(size_t row=0; row(row, col) << " "; - } - std::cout << std::endl; - } - - std::vector W(C.size(), 1.0); - w[10] = 0.25; - w[11] = 0.25; - w[12] = 0.25; - w[13] = 0.25; - double weight_epsilon = 0.0; - double euler_constant = std::exp(1.0); - for(size_t i=1; i<=1; ++i) - { - -// solveThreeStageOptimizationProblem(C, V, w, flows_in_nodes, flows_out_of_nodes, flows_out_of_nodes[0]);//, &W); - solveGurobiOptimizationProblem(C, V, w, flows_in_nodes, flows_out_of_nodes, flows_out_of_nodes[0]); - for(size_t c=0; c used_arcs; // set that stores the indices of the arcs corresponding to non-zero elements in the solution - // go trough the start arcs and determine the new start arcs - std::cout << "initial: " << std::endl; - uint n = (uint) V.cols; - for(size_t start_arc=0; start_arc0) - { - // insert saved outgoing flow index - used_arcs.insert(flow-flows_out_of_nodes[0].size()-n); - } - } -// for(size_t node=0; node::iterator var=used_arcs.begin(); var!=used_arcs.end(); ++var) - { - // gather column corresponding to this candidate pose and add it to the new observability matrix - cv::Mat column = V.col(*var); - cv::hconcat(V_reduced, column, V_reduced); - } - V_reduced = V_reduced.colRange(1, V_reduced.cols); - - for(size_t row=0; row(row, col) << " "; - if(V_reduced.at(row, col)!=0) - ++one_count; - } - std::cout << std::endl; - if(one_count == 0) - std::cout << "!!!!!!!!!!!!! empty row !!!!!!!!!!!!!!!!!!" << std::endl; - } - - V_reduced = V_reduced.colRange(1, V_reduced.cols); - - std::cout << "read out: " << std::endl; - for(size_t c=0; cloadFromCoinModel(problem_builder); - - solver_pointer->writeLp("test_lp", "lp"); - - CbcModel model(*solver_pointer); - model.solver()->setHintParam(OsiDoReducePrint, true, OsiHintTry); - -// CbcHeuristicLocal heuristic2(model); -// model.addHeuristic(&heuristic2); - - model.initialSolve(); - model.branchAndBound(); - - const double * solution = model.solver()->getColSolution(); - - for(size_t i=0; i - -#include -#include -#include -#include - -// Constructor -GridPointExplorator::GridPointExplorator() -{ -} - -void GridPointExplorator::tsp_solver_thread_concorde(ConcordeTSPSolver& tsp_solver, std::vector& optimal_order, - const cv::Mat& distance_matrix, const std::map& cleaned_index_to_original_index_mapping, const int start_node) -{ - try - { - optimal_order = tsp_solver.solveConcordeTSPWithCleanedDistanceMatrix(distance_matrix, cleaned_index_to_original_index_mapping, start_node); - } - catch (boost::thread_interrupted&) - { - std::cout << "GridPointExplorator::tsp_solver_thread_concorde: Thread with Concorde TSP solver was interrupted." << std::endl; - } - - std::cout << "GridPointExplorator::tsp_solver_thread_concorde: finished TSP with solver 3=Concorde and optimal_order.size=" << optimal_order.size() << std::endl; -} - -void GridPointExplorator::tsp_solver_thread_genetic(GeneticTSPSolver& tsp_solver, std::vector& optimal_order, - const cv::Mat& distance_matrix, const std::map& cleaned_index_to_original_index_mapping, const int start_node) -{ - try - { - optimal_order = tsp_solver.solveGeneticTSPWithCleanedDistanceMatrix(distance_matrix, cleaned_index_to_original_index_mapping, start_node); - } - catch (boost::thread_interrupted&) - { - std::cout << "GridPointExplorator::tsp_solver_thread_genetic: Thread with Genetic TSP solver was interrupted." << std::endl; - } - - std::cout << "GridPointExplorator::tsp_solver_thread_genetic: finished TSP with solver 2=Genetic and optimal_order.size=" << optimal_order.size() << std::endl; -} - -void GridPointExplorator::tsp_solver_thread(const int tsp_solver, std::vector& optimal_order, const cv::Mat& original_map, - const std::vector& points, const double downsampling_factor, const double robot_radius, const double map_resolution, - const int start_node) -{ - try - { - if (tsp_solver == TSP_NEAREST_NEIGHBOR) - { - NearestNeighborTSPSolver tsp_solve; - optimal_order = tsp_solve.solveNearestTSP(original_map, points, downsampling_factor, robot_radius, map_resolution, start_node, 0); - } - else if (tsp_solver == TSP_GENETIC) - { - GeneticTSPSolver tsp_solve; - optimal_order = tsp_solve.solveGeneticTSP(original_map, points, downsampling_factor, robot_radius, map_resolution, start_node, 0); - } - else if (tsp_solver == TSP_CONCORDE) - { - ConcordeTSPSolver tsp_solve; - optimal_order = tsp_solve.solveConcordeTSP(original_map, points, downsampling_factor, robot_radius, map_resolution, start_node, 0); - } - else - { - std::cout << "GridPointExplorator::tsp_solver_thread: Error: tsp_solver " << tsp_solver << " is undefined." << std::endl; - } - } - catch (boost::thread_interrupted&) - { - std::cout << "GridPointExplorator::tsp_solver_thread: Thread with TSP solver was interrupted." << std::endl; - } - - std::cout << "GridPointExplorator::tsp_solver_thread: finished TSP with solver " << tsp_solver << " and optimal_order.size=" << optimal_order.size() << std::endl; -} - - -// Function to create a static pose series that has the goal to inspect the complete floor of the given room. -// This is done in the following steps: -// I. It lays a grid over the given map, with a line_size defined by the constructor/set-function. All intersection points -// that are not laying on an obstacle, or near to one, become one point of the path. The grid starts at the upper left -// point that is reachable. -// II. It plans an optimal series of the previously found points by solving a Traveling-Salesman-Problem (TSP). This produces -// a path that covers all nodes and ends at the node where the path started. depending on this series the angle of the -// Poses are computed, by calculating a vector from the old node to the next and using the angle of this with the x-axis -// as angle for the Poses. -// room_map = expects to receive the original, not inflated room map -void GridPointExplorator::getExplorationPath(const cv::Mat& room_map, std::vector& path, const double map_resolution, - const cv::Point starting_position, const cv::Point2d map_origin, const int cell_size, const bool plan_for_footprint, - const Eigen::Matrix robot_to_fov_vector, int tsp_solver, int64_t tsp_solver_timeout) -{ - const int half_cell_size = cell_size/2; - - // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** - // rotate map - cv::Mat R; - cv::Rect bbox; - cv::Mat rotated_room_map; - RoomRotator room_rotation; - room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution); - room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); - - // transform starting position - std::vector starting_point_vector(1, starting_position); // opencv syntax - cv::transform(starting_point_vector, starting_point_vector, R); - cv::Point rotated_starting_position = starting_point_vector[0]; - - //******************* II. Get grid points ************************* - // vector to store all found points - std::vector grid_points; - - // compute the basic Boustrophedon grid lines - cv::Mat inflated_rotated_room_map; - BoustrophedonGrid grid_lines; - GridGenerator::generateBoustrophedonGrid(rotated_room_map, inflated_rotated_room_map, half_cell_size, grid_lines, cv::Vec4i(-1, -1, -1, -1), - cell_size, half_cell_size, cell_size-1); // using cell_size-1 instead of cell_size for grid_spacing_horizontal helps - // the TSP planner to avoid unnecessary rotations by following a preferred direction - // convert grid points format - for (BoustrophedonGrid::iterator line=grid_lines.begin(); line!=grid_lines.end(); ++line) - { - grid_points.insert(grid_points.end(), line->upper_line.begin(), line->upper_line.end()); - if (line->has_two_valid_lines == true) - grid_points.insert(grid_points.end(), line->lower_line.begin(), line->lower_line.end()); - } - -// // print results -// cv::Mat point_map = rotated_room_map.clone(); -// for(std::vector::iterator point = grid_points.begin(); point != grid_points.end(); ++point) -// { -// cv::circle(point_map, *point, 2, cv::Scalar(127), CV_FILLED); -// std::cout << " - " << *point << "\n"; -// } -// cv::imshow("grid", point_map); -// cv::waitKey(); - - //******************* II. Plan a path trough the found points ************************* - // find the index of the point, which is closest to the starting position - int min_index = 0; - double min_distance = 1e10; - - for(std::vector::iterator point = grid_points.begin(); point != grid_points.end(); ++point) - { - double distance = cv::norm(rotated_starting_position - *point); - - if(distance < min_distance) - { - min_distance = distance; - min_index = point - grid_points.begin(); - } - } - - - // solve the Traveling Salesman Problem - std::cout << "Finding optimal order of the " << grid_points.size() << " found points. Start-index: " << min_index << std::endl; - const double map_downsampling_factor = 0.25; - // compute distance matrix for TSP (outside of time limits for solving TSP) - cv::Mat distance_matrix_cleaned; - std::map cleaned_index_to_original_index_mapping; // maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix - AStarPlanner path_planner; - DistanceMatrix distance_matrix_computation; - distance_matrix_computation.computeCleanedDistanceMatrix(rotated_room_map, grid_points, map_downsampling_factor, 0.0, map_resolution, path_planner, - distance_matrix_cleaned, cleaned_index_to_original_index_mapping, min_index); - - // solve TSP - bool finished = false; - std::vector optimal_order; - if (tsp_solver == TSP_CONCORDE) - { - // start TSP solver in extra thread - ConcordeTSPSolver tsp_solve; - boost::thread t(boost::bind(&GridPointExplorator::tsp_solver_thread_concorde, this, boost::ref(tsp_solve), boost::ref(optimal_order), - boost::cref(distance_matrix_cleaned), boost::cref(cleaned_index_to_original_index_mapping), min_index)); - if (tsp_solver_timeout > 0) - { - finished = t.try_join_for(boost::chrono::seconds(tsp_solver_timeout)); - if (finished == false) - { - tsp_solve.abortComputation(); - std::cout << "GridPointExplorator::getExplorationPath: INFO: Terminated tsp_solver " << tsp_solver << " because of time out. Taking the Nearest Neighbor TSP instead." << std::endl; - } - } - else - finished = true; - t.join(); - } - else if (tsp_solver == TSP_GENETIC) - { - // start TSP solver in extra thread - GeneticTSPSolver tsp_solve; - boost::thread t(boost::bind(&GridPointExplorator::tsp_solver_thread_genetic, this, boost::ref(tsp_solve), boost::ref(optimal_order), - boost::cref(distance_matrix_cleaned), boost::cref(cleaned_index_to_original_index_mapping), min_index)); - if (tsp_solver_timeout > 0) - { - finished = t.try_join_for(boost::chrono::seconds(tsp_solver_timeout)); - if (finished == false) - { - tsp_solve.abortComputation(); - std::cout << "GridPointExplorator::getExplorationPath: INFO: Terminated tsp_solver " << tsp_solver << " because of time out. Taking the Nearest Neighbor TSP instead." << std::endl; - } - } - else - finished = true; - t.join(); - } - // fall back to nearest neighbor TSP if the other approach was timed out - if (tsp_solver==TSP_NEAREST_NEIGHBOR || finished==false) - { - NearestNeighborTSPSolver tsp_solve; - optimal_order = tsp_solve.solveNearestTSPWithCleanedDistanceMatrix(distance_matrix_cleaned, cleaned_index_to_original_index_mapping, min_index); - std::cout << "GridPointExplorator::getExplorationPath: finished TSP with solver 1 and optimal_order.size=" << optimal_order.size() << std::endl; - } - - // rearrange the found points in the optimal order and convert them to the right format - std::vector fov_middlepoint_path(optimal_order.size()); - for(unsigned int point_index = 0; point_index < optimal_order.size(); ++point_index) - fov_middlepoint_path[point_index] = cv::Point2f(grid_points[optimal_order[point_index]].x, grid_points[optimal_order[point_index]].y); - - // transform the calculated path back to the originally rotated map and create poses with an angle - std::vector path_fov_poses; - room_rotation.transformPathBackToOriginalRotation(fov_middlepoint_path, path_fov_poses, R); - -// for(unsigned int point_index = 0; point_index < fov_middlepoint_path.size(); ++point_index) -// { -// // get the vector from the current point to the next point -// cv::Point current_point = grid_points[optimal_order[point_index]]; -// cv::Point next_point = grid_points[optimal_order[(point_index+1)%(optimal_order.size())]]; -// cv::Point vector = next_point - current_point; -// -// float angle = std::atan2(vector.y, vector.x);//std::acos(quotient); -// -// // add the next navigation goal to the path -// geometry_msgs::Pose2D navigation_goal; -// navigation_goal.x = (current_point.x * map_resolution) + map_origin.x; // coordinate systems are rotated to each other -// navigation_goal.y = (current_point.y * map_resolution) + map_origin.y; -// navigation_goal.theta = angle; -// -// path.push_back(navigation_goal); -// } - - // if the path should be planned for the robot footprint create the path and return here - if(plan_for_footprint == true) - { - for(std::vector::iterator pose=path_fov_poses.begin(); pose != path_fov_poses.end(); ++pose) - { - geometry_msgs::Pose2D current_pose; - current_pose.x = (pose->x * map_resolution) + map_origin.x; - current_pose.y = (pose->y * map_resolution) + map_origin.y; - current_pose.theta = pose->theta; - path.push_back(current_pose); - } - return; - } - - // *********************** III. Get the robot path out of the fov path. *********************** - // go trough all computed fov poses and compute the corresponding robot pose - //mapPath(room_map, path, path_fov_poses, robot_to_fov_vector, map_resolution, map_origin, starting_position); - ROS_INFO("Starting to map from field of view pose to robot pose"); - cv::Point robot_starting_position = (path_fov_poses.size()>0 ? cv::Point(path_fov_poses[0].x, path_fov_poses[0].y) : starting_position); - cv::Mat inflated_room_map; - cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), half_cell_size); - mapPath(inflated_room_map, path, path_fov_poses, robot_to_fov_vector, map_resolution, map_origin, robot_starting_position); -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/meanshift2d.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/meanshift2d.cpp deleted file mode 100644 index b955d51..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/meanshift2d.cpp +++ /dev/null @@ -1,161 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_segmentation - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: - * - * \date Date of creation: 22.07.2015 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#include "ipa_room_exploration/meanshift2d.h" -#include "ipa_room_exploration/fast_math.h" - -void MeanShift2D::filter(const std::vector& data, std::vector& filtered_data, const double bandwidth, const int maximumIterations) -{ - // prepare mean shift set - std::vector mean_shift_set(data.size()); - filtered_data = data; - - // mean shift iteration - for (int iter=0; iter& filtered_data, std::vector& convergence_points, std::vector< std::vector >& convergence_sets, const double sensitivity) -{ - // cluster data according to convergence points - convergence_sets.resize(1, std::vector(1, 0)); - convergence_points.resize(1, filtered_data[0]); - for (int i=1; i<(int)filtered_data.size(); i++) - { - bool create_new_set = true; - for (int j=0; j<(int)convergence_points.size(); j++) - { - if (cv::norm(filtered_data[i]-convergence_points[j]) < sensitivity) - { - convergence_sets[j].push_back(i); - convergence_points[j] = (convergence_points[j]*(convergence_sets[j].size()-1.) + filtered_data[i]) / (double)convergence_sets[j].size(); // update mean of convergence point - create_new_set = false; - break; - } - } - if (create_new_set == true) - { - convergence_sets.push_back(std::vector(1, i)); - convergence_points.push_back(filtered_data[i]); - } - } -} - -cv::Vec2d MeanShift2D::findRoomCenter(const cv::Mat& room_image, const std::vector& room_cells, double map_resolution) -{ - // downsample data if too big - std::vector room_cells_sampled; - if (room_cells.size() > 1000) - { - const int factor = room_cells.size()/1000; - for (size_t i=0; i filtered_room_cells; - filter(room_cells_sampled, filtered_room_cells, bandwidth, 100); - - // take mean of filtering result in simple rooms, i.e. if no obstacles is located at the computed cell - cv::Scalar mean_coordinates = cv::mean(filtered_room_cells); - cv::Vec2d room_center(mean_coordinates[0], mean_coordinates[1]); - if (room_image.at(room_center[1], room_center[0]) == 255) - return room_center; - - // otherwise compute convergence sets of filtering results and return mean of largest convergence set - // determine convergence points - std::vector convergence_points; - std::vector< std::vector > convergence_sets; - computeConvergencePoints(filtered_room_cells, convergence_points, convergence_sets, 1./bandwidth*0.1); - - // select convergence point with largest point support - size_t max_index = 0; - size_t max_size = 0; - for (size_t i=0; i max_size) - { - max_size = convergence_sets[i].size(); - max_index = i; - } - } - return convergence_points[max_index]; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/neural_network_explorator.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/neural_network_explorator.cpp deleted file mode 100644 index d3fe3ca..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/neural_network_explorator.cpp +++ /dev/null @@ -1,367 +0,0 @@ -#include - -// Default constructor -NeuralNetworkExplorator::NeuralNetworkExplorator() -{ - // default values TODO: param - step_size_ = 0.008; // 0.008 - A_ = 17; // 17 - B_ = 5; // 5 - D_ = 7; // 7 - E_ = 80; // E >> B, 80 - mu_ = 1.03; // 1.03 - delta_theta_weight_ = 0.15; // 0.15 -} - -// Function that calculates an exploration path trough the given map s.t. everything has been covered by the robot-footprint -// or the field of view. The algorithm is programmed after -// -// Yang, Simon X., and Chaomin Luo. "A neural network approach to complete coverage path planning." IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) 34.1 (2004): 718-724. -// -// and uses a artificial neural network to produce the path. For this the following steps are done: -// I. Construct the neural network by sampling the given map, using the given fitting circle radius as step size. This is -// done because it allows that when all neurons (the samples) are covered the whole space have been cleaned/inspected. -// II. Starting with the given robot pose go trough the found network. At every time-step choose the next Neuron by -// solving x_n = max(x_j + c*y_j), with c as a positive scalar and y_j a function penalizing movements of the robot -// into a direction he is currently not pointing at. At every time-step an update of the states of the neurons is done. -// After this step a path consisting of poses for the fov middlepoint is obtained. If the plan should be planned for -// the robot footprint, then the algorithm returns this path and is finished. -// III. If wanted use the given vector from the robot middlepoint to the fov middlepoint to map the fov poses to the -// robot footprint poses. To do so simply a vector transformation is applied. If the computed robot pose is not in the -// free space, another accessible point is generated by finding it on the radius around the fov middlepoint s.t. -// the distance to the last robot position is minimized. If this is not wanted one has to set the corresponding -// Boolean to false (shows that the path planning should be done for the robot footprint). -void NeuralNetworkExplorator::getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, - const cv::Point starting_position, const cv::Point2d map_origin, const double grid_spacing_in_pixel, - const bool plan_for_footprint, const Eigen::Matrix robot_to_fov_vector, bool show_path_computation) -{ - const int grid_spacing_as_int = std::floor(grid_spacing_in_pixel); - const int half_grid_spacing_as_int = std::floor(grid_spacing_in_pixel*0.5); - - // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** - cv::Mat R; - cv::Rect bbox; - cv::Mat rotated_room_map; - RoomRotator room_rotation; - room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution); - room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); - - // compute min/max room coordinates - cv::Point min_room(1000000, 1000000), max_room(0, 0); - for (int v=0; v(v,u)==255) - { - min_room.x = std::min(min_room.x, u); - min_room.y = std::min(min_room.y, v); - max_room.x = std::max(max_room.x, u); - max_room.y = std::max(max_room.y, v); - } - } - } - cv::Mat inflated_rotated_room_map; - cv::erode(rotated_room_map, inflated_rotated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int); - - // ****************** II. Create the neural network ****************** - // reset previously computed neurons - neurons_.clear(); - - // go trough the map and create the neurons - int number_of_free_neurons = 0; - for(int y=min_room.y+half_grid_spacing_as_int; y current_network_row; - for(int x=min_room.x+half_grid_spacing_as_int; x(y,x) == 255) - { - Neuron current_neuron(cell_center, A_, B_, D_, E_, mu_, step_size_, false); - current_network_row.push_back(current_neuron); - ++number_of_free_neurons; - } - else // obstacle neuron - { - Neuron current_neuron(cell_center, A_, B_, D_, E_, mu_, step_size_, true); - current_network_row.push_back(current_neuron); - } - } - - // insert the current row into the network - neurons_.push_back(current_network_row); - } - - // todo: do not limit to direct neighbors but cycle through all neurons for finding the best next - // go trough the found neurons and get the direct neighbors of each - for(size_t row=0; row= neurons_.size()) - continue; - - // get the neighbors left from the current neuron - if(column > 0) - neurons_[row][column].addNeighbor(&neurons_[row+dy][column-1]); - - // get the neurons on the same column as the current neuron - if(dy != 0) - neurons_[row][column].addNeighbor(&neurons_[row+dy][column]); - - // get the neurons right from the current neuron - if(column < neurons_[row].size()-1) - neurons_[row][column].addNeighbor(&neurons_[row+dy][column+1]); - } - } - } - -// testing -// cv::Mat black_map = cv::Mat(rotated_room_map.rows, rotated_room_map.cols, rotated_room_map.type(), cv::Scalar(0)); -// for(size_t i=0; i neighbors; -// neurons_[i][j].getNeighbors(neighbors); -// for(size_t k=0; kgetPosition(), 2, cv::Scalar(127), CV_FILLED); -// } -// } -// } -// cv::imshow("neighbors", black_map); -// cv::waitKey(); - - // ****************** III. Find the coverage path ****************** - // mark the first non-obstacle neuron as starting node - Neuron* starting_neuron = 0; - bool found = false; - for(size_t row=0; rowmarkAsVisited(); - - // initial updates of the states to mark obstacles and unvisited free neurons as such - for(size_t init=1; init<=100; ++init) - { - for(size_t row=0; row(row*fitting_radius_as_int, column*fitting_radius_as_int) = (float) 1000.0*neurons_[row][column].getState(false); -// } -// std::cout << std::endl; -// } -// std::cout << std::endl; -// cv::namedWindow("states", cv::WINDOW_NORMAL); -// cv::imshow("states", black_map); -// cv::resizeWindow("states", 600, 600); -// cv::waitKey(); - - // iteratively choose the next neuron until all neurons have been visited or the algorithm is stuck in a - // limit cycle like path (i.e. the same neurons get visited over and over) - int visited_neurons = 1; - bool stuck_in_cycle = false; - std::vector fov_coverage_path; - fov_coverage_path.push_back(cv::Point(starting_neuron->getPosition().x, starting_neuron->getPosition().y)); - double previous_traveling_angle = 0.0; // save the travel direction to the current neuron to determine the next neuron - cv::Mat black_map = rotated_room_map.clone(); - Neuron* previous_neuron = starting_neuron; - int loop_counter = 0; - do - { - //std::cout << "Point: " << previous_neuron->getPosition() << std::endl; - ++loop_counter; - - // get the current neighbors and choose the next out of them - std::vector neighbors; - previous_neuron->getNeighbors(neighbors); - Neuron* next_neuron = 0; - - // go through the neighbors and find the next one - double max_value = -1e10, travel_angle = 0.0, best_angle = 0.0; - for(size_t neighbor=0; neighborgetPosition().y-previous_neuron->getPosition().y, neighbors[neighbor]->getPosition().x-previous_neuron->getPosition().x); - - // compute penalizing function y_j - double diff_angle = travel_angle - previous_traveling_angle; - while (diff_angle < -PI) - diff_angle += 2*PI; - while (diff_angle > PI) - diff_angle -= 2*PI; - double y = 1 - (std::abs(diff_angle)/PI); - - // compute transition function value - //std::cout << " Neighbor: " << neighbors[neighbor]->getPosition() << " " << neighbors[neighbor]->getState(false) << ", " << delta_theta_weight_ * y << std::endl; - double trans_fct_value = neighbors[neighbor]->getState(false) + delta_theta_weight_ * y; - - // check if neighbor is next neuron to be visited - if(trans_fct_value > max_value && rotated_room_map.at(neighbors[neighbor]->getPosition()) != 0) - { - max_value = trans_fct_value; - next_neuron = neighbors[neighbor]; - best_angle = travel_angle; - } - } - // catch errors - if (next_neuron == 0) - { - if (loop_counter <= 20) - continue; - else - break; - } - loop_counter = 0; - - // if the next neuron was previously uncleaned, increase number of visited neurons - if(next_neuron->visitedNeuron() == false) - ++visited_neurons; - - // mark next neuron as visited - next_neuron->markAsVisited(); - previous_traveling_angle = best_angle; - - // add neuron to path - const cv::Point current_pose(next_neuron->getPosition().x, next_neuron->getPosition().y); - fov_coverage_path.push_back(current_pose); - - // check the fov path for a limit cycle by searching the path for the next neuron, if it occurs too often - // and the previous/following neuron is always the same the algorithm probably is stuck in a cycle - int number_of_neuron_in_path = 0; - for(std::vector::iterator pose=fov_coverage_path.begin(); pose!=fov_coverage_path.end(); ++pose) - if(*pose==current_pose) - ++number_of_neuron_in_path; - - if(number_of_neuron_in_path >= 20) - { - // check number of previous neuron - cv::Point previous_pose = fov_coverage_path[fov_coverage_path.size()-2]; - int number_of_previous_neuron_in_path = 0; - for(std::vector::iterator pose=fov_coverage_path.begin()+1; pose!=fov_coverage_path.end()-1; ++pose) - { - // check if the the previous pose always has the current pose as neighbor - if(*pose==previous_pose) - { - if(*(pose+1)==current_pose) - ++number_of_previous_neuron_in_path; - else if(*(pose-1)==current_pose) - ++number_of_previous_neuron_in_path; - } - } - - //if(number_of_previous_neuron_in_path >= number_of_neuron_in_path) - if(number_of_previous_neuron_in_path >= 20) - { - std::cout << "Warning: the algorithm is probably stuck in a cycle. Aborting." << std::endl; - stuck_in_cycle = true; - } - } - - // update the states of the network - for (int i=0; i<100; ++i) - { - for(size_t row=0; rowgetPosition(), 2, cv::Scalar((visited_neurons*5)%250), CV_FILLED); -#else - cv::circle(black_map, next_neuron->getPosition(), 2, cv::Scalar((visited_neurons*5)%250), cv::FILLED); -#endif - cv::line(black_map, previous_neuron->getPosition(), next_neuron->getPosition(), cv::Scalar(128), 1); - cv::imshow("next_neuron", black_map); - cv::waitKey(); - } - - // save neuron that has been visited - previous_neuron = next_neuron; - } while (visited_neurons < number_of_free_neurons && stuck_in_cycle == false); //TODO: test terminal condition - - // transform the calculated path back to the originally rotated map - std::vector fov_poses; - std::vector fov_coverage_path_2f(fov_coverage_path.size()); - for (size_t i=0; i::iterator pose=fov_poses.begin(); pose != fov_poses.end(); ++pose) - { - geometry_msgs::Pose2D current_pose; - current_pose.x = (pose->x * map_resolution) + map_origin.x; - current_pose.y = (pose->y * map_resolution) + map_origin.y; - current_pose.theta = pose->theta; - path.push_back(current_pose); - } - return; - } - - // ****************** III. Map the found fov path to the robot path ****************** - // go trough all computed fov poses and compute the corresponding robot pose - ROS_INFO("Starting to map from field of view pose to robot pose"); - cv::Point robot_starting_position = (fov_poses.size()>0 ? cv::Point(fov_poses[0].x, fov_poses[0].y) : starting_position); - cv::Mat inflated_room_map; - cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int); - mapPath(inflated_room_map, path, fov_poses, robot_to_fov_vector, map_resolution, map_origin, robot_starting_position); -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/room_rotator.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/room_rotator.cpp deleted file mode 100644 index 053c66b..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/room_rotator.cpp +++ /dev/null @@ -1,237 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2017 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 02.2017 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - - -#include - -void RoomRotator::rotateRoom(const cv::Mat& room_map, cv::Mat& rotated_room_map, const cv::Mat& R, const cv::Rect& bounding_rect) -{ - // rotate the image - cv::warpAffine(room_map, rotated_room_map, R, bounding_rect.size(), cv::INTER_AREA); - - // apply a binary filter to create a binary image, also use a closing operator to smooth the output (the rotation might produce - // black pixels reaching into the white area that were not there before, causing new, wrong cells to open) -#if CV_MAJOR_VERSION<=3 - cv::threshold(rotated_room_map, rotated_room_map, 127, 255, CV_THRESH_BINARY); -#else - cv::threshold(rotated_room_map, rotated_room_map, 127, 255, cv::THRESH_BINARY); -#endif -// this should not be used because it removes smaller obstacles like thin walls from the room and hence lets a planner generate paths through walls -// cv::dilate(rotated_room_map, rotated_room_map, cv::Mat(), cv::Point(-1,-1), 1); -// cv::erode(rotated_room_map, rotated_room_map, cv::Mat(), cv::Point(-1,-1), 1); -} - -// compute the affine rotation matrix for rotating a room into parallel alignment with x-axis (longer side of the room is aligned with x-axis) -// R is the transform -// bounding_rect is the ROI of the warped image -double RoomRotator::computeRoomRotationMatrix(const cv::Mat& room_map, cv::Mat& R, cv::Rect& bounding_rect, - const double map_resolution, const cv::Point* center, const double rotation_offset) -{ - // rotation angle of the map s.t. the most occurring gradient is in 90 degree to the x-axis - double rotation_angle = computeRoomMainDirection(room_map, map_resolution) + rotation_offset; - std::cout << "RoomRotator::computeRoomRotationMatrix: main rotation angle: " << rotation_angle << std::endl; - - // get rotation matrix R for rotating the image around the center of the room contour - // Remark: rotation angle in degrees for opencv - cv::Point center_of_rotation; - if (center == 0) - { - cv::Point min_room, max_room; - getMinMaxCoordinates(room_map, min_room, max_room); - center_of_rotation.x = 0.5*(min_room.x+max_room.x); - center_of_rotation.y = 0.5*(min_room.y+max_room.y); - } - else - center_of_rotation = *center; - - // compute rotation - R = cv::getRotationMatrix2D(center_of_rotation, (rotation_angle*180)/CV_PI, 1.0); - - // determine bounding rectangle to find the size of the new image - bounding_rect = cv::RotatedRect(center_of_rotation, room_map.size(), (rotation_angle*180)/CV_PI).boundingRect(); - // adjust transformation matrix - R.at(0,2) += 0.5*bounding_rect.width - center_of_rotation.x; - R.at(1,2) += 0.5*bounding_rect.height - center_of_rotation.y; - - return rotation_angle; -} - -// computes the major direction of the walls from a map (preferably one room) -// the map (room_map, CV_8UC1) is black (0) at impassable areas and white (255) on drivable areas -double RoomRotator::computeRoomMainDirection(const cv::Mat& room_map, const double map_resolution) -{ - const double map_resolution_inverse = 1./map_resolution; - - // compute Hough transform on edge image of the map - cv::Mat edge_map; - cv::Canny(room_map, edge_map, 50, 150, 3); - std::vector lines; - double min_line_length = 1.0; // in [m] - for (; min_line_length > 0.1; min_line_length -= 0.2) - { - cv::HoughLinesP(edge_map, lines, 1, CV_PI/180, min_line_length*map_resolution_inverse, min_line_length*map_resolution_inverse, 1.5*min_line_length*map_resolution_inverse); - cv::Mat room_hough = edge_map.clone(); - for (size_t i=0; i= 4) - break; - } - // setup a histogram on the line directions weighted by their length to determine the major direction - Histogram direction_histogram(0, CV_PI, 36); - for (size_t i=0; i 0.0) - { - double current_direction = std::atan2(dy, dx); - while (current_direction < 0.) - current_direction += CV_PI; - while (current_direction > CV_PI) - current_direction -= CV_PI; - direction_histogram.addData(current_direction, sqrt(dy*dy+dx*dx)); - //std::cout << " dx=" << dx << " dy=" << dy << " dir=" << current_direction << " len=" << sqrt(dy*dy+dx*dx) << std::endl; - } - } - return direction_histogram.getMaxBinPreciseVal(); -} - -void RoomRotator::transformPathBackToOriginalRotation(const std::vector& fov_middlepoint_path, std::vector& path_fov_poses, const cv::Mat& R) -{ - path_fov_poses.clear(); - - // transform the calculated path back to the originally rotated map - cv::Mat R_inv; - cv::invertAffineTransform(R, R_inv); - std::vector fov_middlepoint_path_transformed; - cv::transform(fov_middlepoint_path, fov_middlepoint_path_transformed, R_inv); - - // create poses with an angle - transformPointPathToPosePath(fov_middlepoint_path_transformed, path_fov_poses); -} - -void RoomRotator::transformPointPathToPosePath(const std::vector& point_path, std::vector& pose_path) -{ - // create poses with an angle - for(size_t point_index = 0; point_index < point_path.size(); ++point_index) - { - // get the vector from the previous to the current point - const cv::Point2f& current_point = point_path[point_index]; - - // add the next navigation goal to the path - geometry_msgs::Pose2D current_pose; - current_pose.x = current_point.x; - current_pose.y = current_point.y; - current_pose.theta = 0.; - cv::Point2f vector(0,0); - if (point_index > 0) - { - // compute the direction as the line from the previous point to the current point - vector = current_point - point_path[point_index-1]; - } - else if (point_path.size() >= 2) - { - // for the first point take the direction between first and second point - vector = point_path[point_index+1] - current_point; - } - // only sample different points - if (vector.x!=0 || vector.y!=0) - { - current_pose.theta = std::atan2(vector.y, vector.x); - pose_path.push_back(current_pose); - } - } -} - -void RoomRotator::transformPointPathToPosePath(std::vector& pose_path) -{ - // create point vector - std::vector point_path; - for (size_t i=0; i::max(); - min_room.y = std::numeric_limits::max(); - max_room.x = 0; - max_room.y = 0; - for (int v=0; v(v,u)==255) - { - min_room.x = std::min(min_room.x, u); - min_room.y = std::min(min_room.y, v); - max_room.x = std::max(max_room.x, u); - max_room.y = std::max(max_room.y, v); - } - } - } -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/package.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/package.xml deleted file mode 100644 index 591affd..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/package.xml +++ /dev/null @@ -1,48 +0,0 @@ - - - ipa_room_exploration - 0.1.2 - - This package plans the navigation in a room such that the floor of this room gets inspected completely for dirt. - - Florian Jordan - Richard Bormann - LGPL for academic and non-commercial use; for commercial use, please contact Fraunhofer IPA - http://ros.org/wiki/ipa_room_exploration - - catkin - - - angles - boost - cmake_modules - cob_map_accessibility_analysis - coinor-libcbc-dev - coinor-libcbc3 - coinor-libcgl-dev - coinor-libclp-dev - coinor-libcoinutils-dev - coinor-libosi-dev - cv_bridge - dynamic_reconfigure - - eigen_conversions - geometry_msgs - ipa_building_msgs - ipa_building_navigation - laser_geometry - - libopencv-dev - move_base_msgs - nav_msgs - roscpp - roslib - sensor_msgs - std_msgs - std_srvs - tf - visualization_msgs - message_generation - message_runtime - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/readme.md b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/readme.md deleted file mode 100644 index 109b41e..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/readme.md +++ /dev/null @@ -1,29 +0,0 @@ -# ipa_room_exploration -Algorithms for systematic coverage driving patterns. - -If you find this software useful in your work, please cite our corresponding paper: -- R. Bormann, F. Jordan, J. Hampp, and M. Hägele. Indoor coverage path planning: Survey, implementation, analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pages 1718–1725, May 2018. https://ieeexplore.ieee.org/abstract/document/8460566 , https://publica.fraunhofer.de/entities/publication/f537c15d-4cbe-4672-9d86-6e756a9ce71b/details - -# General Procedure - -1. Change the algorithm parameters in ros/launch/room_room_exploration_action_server_params.yaml in ros/launch to the wanted algorithms and settings. - * room_exploration_algorithm: Choose which exploration algorithm you want to use. - * plan_for_footprint: Choose if you want to plan the coverage path for the field of view (fov) or the robot footprint. When planning for the fov, the generated path is transformed to robot poses, s.t. the given fov follows the generated path. - * revisit_areas: Choose if you want to revisit areas, that haven't been covered bythe robot or the fov during the execution of the coverage path. - * left_sections_min_area: When the revisiting of areas is enabled, this parameter defines how small not covered ares can be, before they will not be taken into account any further. This is useful, when you rather want a fast execution, than a very detailed coverage. This parameter is in [meter^2]. - * goal_eps: This parameter allows the action server to publish a new navigation goal, when the robot is in a specific range around the current goal. This allows the path to be more smoother, but of course not so exactly. If you don't want this feature, then simpply set this parameter to 0. This parameter is in [pixel]. - * Each exploration algorithm has it's own specific parameters, see the ros/launch/room_room_exploration_action_server_params.yaml for further descriptions of these. - -2. Start the action server using the file /ros/launch/room_exploration_action_server.launch, which executes the /ros/src/room_exploration_action_server.cpp file. If the server crashes for some reason (e.g. no valid map given by the client) it respawns with a little delay. - -3. Start an action client, which sends a goal to the action server, corresponding to the RoomExploration.action message, which lies in ipa_building_msgs/action. The goal consists of the following parts - - * input_map: The map of the whole area the robot moves in, as sensor_msgs/Image. **Has to be a 8-Bit single channel image, with 0 as occupied space and 255 as free space**. - * map_resolution: The resolution of the map as float32 in [meter/cell] - * map_origin: The origin of the map, will be used to transform the computed map-coordinates into real-world-coordinates. - * robot_radius: The radius of the robot as float32, used to find the areas that the robot can access, in [meter]. - * coverage_radius: The radius of the device that should cover the defined area as float32. This can be a cleaning device or an inspection tool, the value should be given in [meter]. - * field_of_view: Array of 4 geometry_msgs/Points32 that define the field of view or footprint (points around robot origin) of the robot. Used to check what areas have been left uncovered during the execution (only used when the action server shall execute the path). - * field_of_view_origin: The mounting position of the camera spanning the field of view, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter]. - * starting_position: The position at which the robot shall start the execution of the path in the room coordinate system [meter, meter, rad]. - * planning_mode: Int32 that controls if the robot footprint or the defined field-of-view shall cover the whole area (1: footprint, 2: fov). diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/cleaning_costmap_params.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/cleaning_costmap_params.yaml deleted file mode 100644 index 0340003..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/cleaning_costmap_params.yaml +++ /dev/null @@ -1,15 +0,0 @@ -cleaning_costmap: - global_frame: map - robot_base_frame: base_footprint - update_frequency: 1.0 - publish_frequency: 1.0 - static_map: true - rolling_window: false - resolution: 0.05 - transform_tolerance: 1.0 - inflation_radius: 0.15 - map_type: costmap - -cleaning_plan_nodehandle: - size_of_cell: 3 - grid_covered_value: 200 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params.yaml deleted file mode 100644 index f819012..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params.yaml +++ /dev/null @@ -1,13 +0,0 @@ -obstacle_range: 2.5 #2.5 -raytrace_range: 3.0 #3.0 -footprint: [[-0.205, -0.155], [-0.205, 0.155], [0.077, 0.155], [0.077, -0.155]] -#footprint_inflation: 0.01 -# robot_radius: 0.175 #0.175 -max_obstacle_height: 0.6 -min_obstacle_height: 0.0 -observation_sources: scan #观察数据来源 -scan: {data_type: LaserScan, topic: /scan, marking: true, clearing: true, expected_update_rate: 0} - -# if set to false,then obstacle layer take unknow space to be free. -obstacle_layer: - track_unknown_space: true diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_burger.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_burger.yaml deleted file mode 100644 index 7b0d46e..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_burger.yaml +++ /dev/null @@ -1,12 +0,0 @@ -obstacle_range: 3.0 -raytrace_range: 3.5 - -footprint: [[-0.105, -0.105], [-0.105, 0.105], [0.041, 0.105], [0.041, -0.105]] -#robot_radius: 0.105 - -inflation_radius: 0.5 -cost_scaling_factor: 4.0 - -map_type: costmap -observation_sources: scan -scan: {sensor_frame: base_scan, data_type: LaserScan, topic: scan, marking: true, clearing: true} \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle.yaml deleted file mode 100644 index f3a4a4e..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle.yaml +++ /dev/null @@ -1,22 +0,0 @@ -obstacle_range: 3.0 -raytrace_range: 3.5 - -footprint: [[-0.205, -0.155], [-0.205, 0.155], [0.077, 0.155], [0.077, -0.155]] -#robot_radius: 0.17 - -inflation_radius: 0.3 -cost_scaling_factor: 5.0 - -map_type: costmap -observation_sources: scan -scan: {sensor_frame: base_scan, data_type: LaserScan, topic: scan, marking: true, clearing: true} -sonar_layer: - enabled: true - no_readings_timout: 0.0 #此参数如果为0 ,没有任何影响.否则,如果在这个时间段内没有收到任何声纳数据,超声波层会警告用户,并且此层不被使用 - clear_threshold: 0.8 #栅格概率比该值低的标记为free - mark_threshold: 0.9 #栅格概率大于该值标定为占据 -# topics: ["/robot0/sonar_0","/robot0/sonar_1","/robot0/sonar_2","/robot0/sonar_3"] #超声波话题 - clear_on_max_reading: true #是否将超出sonar最大距离清除 - -# observation_sources: scan -# scan: {sensor_frame: base_scan, data_type: LaserScan, topic: sonar, marking: true, clearing: true} \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle_pi.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle_pi.yaml deleted file mode 100644 index bd27ed3..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle_pi.yaml +++ /dev/null @@ -1,12 +0,0 @@ -obstacle_range: 3.0 -raytrace_range: 3.5 - -footprint: [[-0.205, -0.155], [-0.205, 0.155], [0.077, 0.155], [0.077, -0.155]] -#robot_radius: 0.17 - -inflation_radius: 0.3 -cost_scaling_factor: 5.0 - -map_type: costmap -observation_sources: scan -scan: {sensor_frame: base_scan, data_type: LaserScan, topic: scan, marking: true, clearing: true} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/global_costmap_params.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/global_costmap_params.yaml deleted file mode 100644 index 3492775..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/global_costmap_params.yaml +++ /dev/null @@ -1,15 +0,0 @@ -global_costmap: - global_frame: map - robot_base_frame: base_footprint - - update_frequency: 10.0 - publish_frequency: 10.0 - transform_tolerance: 0.5 - - static_map: true - -# plugins: -# - {name: static_layer, type: "costmap_2d::StaticLayer"} -# - {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"} -# - {name: sonar_layer, type:"range_sensor_layer::RangeSensorLayer"} -# - {name: inflation_layer, type: "costmap_2d::InflationLayer"} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/coverage_check_server.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/coverage_check_server.h deleted file mode 100644 index 0e6b938..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/coverage_check_server.h +++ /dev/null @@ -1,66 +0,0 @@ -// Ros -#include -// OpenCV -#include -#include -#include -// Eigen library -#include -// c++ standard libraries -#include -#include -#include -#include -#include -#include -// services -#include - -// Class that provides a service server to check which areas have been covered, when going along the given poses. It returns an image that -// has all covered areas drawn in as 127. -// REMARK: The given map has to be a 8 bit single channel image, with 0 as obstacle and 255 as free space drawn in. -// If wanted, the server can check how often a pixel has been covered during the execution. When this is wished, an image is returned, in -// which the number of observations (or coverages) is assigned to each pixel (32 bit image in this case). -class CoverageCheckServer -{ -protected: - // node handle - ros::NodeHandle node_handle_; - - // Function to draw the covered areas into the given map. This is done by going through all given robot-poses and calculating - // the field of view. The field of view is given in robot base coordinates (x-axis shows to the front and y-axis to left side). - // The function then calculates the field_of_view in the global frame by using the given robot pose. - // After this the function does a ray casting from the field of view origin (i.e. the camera location expressed in the robot base coordinate system) - // to each cell of the field of view in order to verify whether the cell has been obstructed by an obstacle and could not be observed. - // This ensures that no point is wrongly classified as seen. - // @param fov_origin The mounting position of the camera spanning the field of view, given in robot base coordinates, in [m] - void drawCoveredPointsPolygon(cv::Mat& reachable_areas_map, const std::vector& robot_poses, - const std::vector>& field_of_view_points, const Eigen::Matrix& fov_origin, - const float map_resolution, const cv::Point2d map_origin, cv::Mat* number_of_coverages_image=NULL); - - // Function that takes the given robot poses and draws the circular footprint with coverage_radius at these positions into the given map. - // Used when the server should plan a coverage path for the robot coverage area (a circle). This drawing function does not test occlusions - // since a footprint can usually be assumed to reach all covered map positions (otherwise it would be a collision). - void drawCoveredPointsCircle(cv::Mat& reachable_areas_map, const std::vector& robot_poses, - const double coverage_radius, const float map_resolution, - const cv::Point2d map_origin, cv::Mat* number_of_coverages_image=NULL); - - // reduces image coordinates of a point to valid values inside the image, i.e. between [0,rows-1]/[0,cols-1] - cv::Point clampImageCoordinates(const cv::Point& p, const int rows, const int cols); - - // ros server object - ros::ServiceServer coverage_check_server_; -public: - // constructor - CoverageCheckServer(); - CoverageCheckServer(ros::NodeHandle nh); - - // callback function for the server - bool checkCoverage(ipa_building_msgs::CheckCoverageRequest& request, ipa_building_msgs::CheckCoverageResponse& response); - - // ROS-independent coverage check library interface - bool checkCoverage(const cv::Mat& map, const float map_resolution, const cv::Point2d& map_origin, const std::vector& path, - const std::vector >& field_of_view, const Eigen::Matrix& fov_origin, const float coverage_radius, - const bool check_for_footprint, const bool check_number_of_coverages, cv::Mat& coverage_map, cv::Mat& number_of_coverage_image); - -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/dynamic_reconfigure_client.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/dynamic_reconfigure_client.h deleted file mode 100644 index 8c9907f..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/dynamic_reconfigure_client.h +++ /dev/null @@ -1,248 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_segmentation - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 08.2016 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#ifndef _DYNAMIC_RECONFIGURE_CLIENT_H_ -#define _DYNAMIC_RECONFIGURE_CLIENT_H_ - -#include -#include - -#include - -#include -#include -#include -#include - -class DynamicReconfigureClient -{ -public: - DynamicReconfigureClient(ros::NodeHandle& nh, const std::string& dynamic_reconfigure_service_name, const std::string& parameter_updates_topic) - : dynamic_reconfigure_current_config_received_(false), node_handle_(nh), dynamic_reconfigure_service_name_(dynamic_reconfigure_service_name) - { - dynamic_reconfigure_sub_ = node_handle_.subscribe(parameter_updates_topic, 1, &DynamicReconfigureClient::dynamic_reconfigure_current_config_callback, this); - - // receive current configuration - ros::Duration sleep_rate(0.5); - while (dynamic_reconfigure_current_config_received_ == false) - { - ros::spinOnce(); - sleep_rate.sleep(); - } - } - - dynamic_reconfigure::Config& getConfig() - { - boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); - return dynamic_reconfigure_config_; - } - - bool setConfig(const std::string& param_name, const bool param_value) - { - boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); - - if (dynamic_reconfigure_current_config_received_ == false) - { - ROS_WARN("DynamicReconfigureClient: Did not receive the current configuration, yet."); - return false; - } - - bool found = false; - for (size_t i=0; i. - * - ****************************************************************/ - -#pragma once - -// c++ standard libraries -#include -#include -#include -#include -#include -#include -// Ros -#include -// service -#include -// OpenCv -#include -#include -// msgs -#include -#include -// Eigen library -#include -// specific from this package -#include - - -#define PI 3.14159265359 - -// Function that provides the functionality that a given field of view (fov) path gets mapped to a robot path by using the given parameters. -// To do so simply a vector operation is applied. If the computed robot pose is not in the free space, another accessible -// point is generated by finding it on the radius around the fov middlepoint s.t. the distance to the last robot position -// is minimized. -// Important: the room map needs to be an unsigned char single channel image, if inaccessible areas should be excluded, provide the inflated map -// robot_to_fov_vector in [m] -// returns robot_path in [m,m,rad] -void mapPath(const cv::Mat& room_map, std::vector& robot_path, - const std::vector& fov_path, const Eigen::Matrix& robot_to_fov_vector, - const double map_resolution, const cv::Point2d map_origin, const cv::Point& starting_point); - -// computes the field of view center and the radius of the maximum incircle of a given field of view quadrilateral -// fitting_circle_center_point_in_meter this is also considered the center of the field of view, because around this point the maximum radius incircle can be found that is still inside the fov -// fov_resolution resolution of the fov center and incircle computations, in [pixels/m] -void computeFOVCenterAndRadius(const std::vector >& fov_corners_meter, float& fitting_circle_radius_in_meter, - Eigen::Matrix& fitting_circle_center_point_in_meter, const double fov_resolution=1000); diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/room_exploration_action_server.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/room_exploration_action_server.h deleted file mode 100644 index 84e63fb..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/room_exploration_action_server.h +++ /dev/null @@ -1,325 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 03.2016 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#pragma once - - -// Ros specific -#include -#include -#include -#include -#include -#include -#include -#include -// OpenCV specific -#include -#include -// Eigen library -#include -#include -// standard c++ libraries -#include -#include -#include -#include -#include -#include -// services and actions -#include -#include -#include -// messages -#include -#include -#include -#include -#include -#include -#include -#include -// specific from this package -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include -#include "std_msgs/String.h" -#include -#include "ipa_building_msgs/dis_info.h" -#include "ipa_building_msgs/dis_info_array.h" - - - -#define PI 3.14159265359 - -typedef actionlib::SimpleActionClient MoveBaseClient; - -class RoomExplorationServer -{ -protected: - - int planning_mode_; // 1 = plans a path for coverage with the robot footprint, 2 = plans a path for coverage with the robot's field of view - - ros::Publisher path_pub_; // a publisher sending the path as a nav_msgs::Path before executing - ros::Publisher cmd_vel_pub_; - ros::Publisher cancel_pub_; - - geometry_msgs::Twist cmd_vel_msg; - actionlib_msgs::GoalID cancel_msg; - geometry_msgs::Twist cmd_vel_; - - GridPointExplorator grid_point_planner; // object that uses the grid point method to plan a path trough a room - BoustrophedonExplorer boustrophedon_explorer_; // object that uses the boustrophedon exploration method to plan a path trough the room - NeuralNetworkExplorator neural_network_explorator_; // object that uses the neural network method to create an exploration path - convexSPPExplorator convex_SPP_explorator_; // object that uses the convex spp exploration methd to create an exploration path - FlowNetworkExplorator flow_network_explorator_; // object that uses the flow network exploration method to create an exploration path - EnergyFunctionalExplorator energy_functional_explorator_; // object that uses the energy functional exploration method to create an exploration path - BoustrophedonVariantExplorer boustrophedon_variant_explorer_; // object that uses the boustrophedon variant exploration method to plan a path trough the room - - // parameters - int room_exploration_algorithm_; // variable to specify which algorithm is going to be used to plan a path - // 1: grid point explorator - // 2: boustrophedon explorator - // 3: neural network explorator - // 4: convexSPP explorator - // 5: flowNetwork explorator - // 6: energyFunctional explorator - // 7: Voronoi explorator - // 8: boustrophedon variant explorator - bool display_trajectory_; // display final trajectory plan step by step - - // parameters on map correction - int map_correction_closing_neighborhood_size_; // Applies a closing operation to neglect inaccessible areas and map errors/artifacts if the - // map_correction_closing_neighborhood_size parameter is larger than 0. - // The parameter then specifies the iterations (or neighborhood size) of that closing operation. - - // parameters specific to the navigation of the robot along the computed coverage trajectory - bool return_path_; // boolean used to determine if the server should return the computed coverage path in the response message - bool execute_path_; // boolean used to determine whether the server should navigate the robot along the computed coverage path - double goal_eps_; // distance between the published navigation goal and the robot to publish the next - // navigation goal in the path - bool use_dyn_goal_eps_; // using a dynamic goal distance criterion: the larger the path's curvature, the more accurate the navigation - bool interrupt_navigation_publishing_; // variable that interrupts the publishing of navigation goals as long as needed, e.g. when during the execution - // of the coverage path a trash bin is found and one wants to empty it directly and resume the path later. - bool revisit_areas_; // variable that turns functionality on/off to revisit areas that haven't been seen during the - // execution of the coverage path, due to uncertainties or dynamic obstacles - double left_sections_min_area_; // variable to determine the minimal area that not seen sections must have before they - // are revisited after one run through the room - std::string global_costmap_topic_; // name of the global costmap topic - std::string coverage_check_service_name_; // name of the service to call for a coverage check of the driven trajectory - std::string map_frame_; // string that carries the name of the map frame, used for tracking of the robot - std::string camera_frame_; // string that carries the name of the camera frame, that is in the same kinematic chain as the map_frame and shows the camera pose - - // parameters specific to the grid point explorator - int tsp_solver_; // indicates which TSP solver should be used - // 1 = Nearest Neighbor - // 2 = Genetic solver - // 3 = Concorde solver - int64_t tsp_solver_timeout_; // a sophisticated solver like Concorde or Genetic can be interrupted if it does not find a solution within this time, in [s], and then falls back to the nearest neighbor solver - - // parameters specific for the boustrophedon explorator - double min_cell_area_; // minimal area a cell can have, when using the boustrophedon explorator - double path_eps_; // the distance between points when generating a path - double grid_obstacle_offset_; // in [m], the additional offset of the grid to obstacles, i.e. allows to displace the grid by more than the standard half_grid_size from obstacles - int max_deviation_from_track_; // in [pixel], maximal allowed shift off the ideal boustrophedon track to both sides for avoiding obstacles on track - // setting max_deviation_from_track=grid_spacing is usually a good choice - // for negative values (e.g. max_deviation_from_track: -1) max_deviation_from_track is automatically set to grid_spacing - int cell_visiting_order_; // cell visiting order - // 1 = optimal visiting order of the cells determined as TSP problem - // 2 = alternative ordering from left to right (measured on y-coordinates of the cells), visits the cells in a more obvious fashion to the human observer (though it is not optimal) - - - // parameters specific for the neural network explorator, see "A Neural Network Approach to Complete Coverage Path Planning" from Simon X. Yang and Chaomin Luo - double step_size_; // step size for integrating the state dynamics - int A_; // decaying parameter that pulls the activity of a neuron closer to zero, larger value means faster decreasing - int B_; // increasing parameter that tries to increase the activity of a neuron when it's not too big already, higher value means a higher desired value and a faster increasing at the beginning - int D_; // decreasing parameter when the neuron is labeled as obstacle, higher value means faster decreasing - int E_; // external input parameter of one neuron that is used in the dynamics corresponding to if it is an obstacle or uncleaned/cleaned, E>>B - double mu_; // parameter to set the importance of the states of neighboring neurons to the dynamics, higher value means higher influence - double delta_theta_weight_; // parameter to set the importance of the traveleing direction from the previous step and the next step, a higher value means that the robot should turn less - - // parameters specific for the convexSPP explorator - int cell_size_; // size of one cell that is used to discretize the free space - double delta_theta_; // sampling angle when creating possible sensing poses in the convexSPP explorator - - // parameters specific for the flowNetwork explorator - double curvature_factor_; // double that shows the factor, an arc can be longer than a straight arc when using the flowNetwork explorator - double max_distance_factor_; // double that shows how much an arc can be longer than the maximal distance of the room, which is determined by the min/max coordinates that are set in the goal - - - // callback function for dynamic reconfigure - void dynamic_reconfigure_callback(ipa_room_exploration::RoomExplorationConfig &config, uint32_t level); - - // this is the execution function used by action server - void exploreRoom(const ipa_building_msgs::RoomExplorationGoalConstPtr &goal); - - // remove unconnected, i.e. inaccessible, parts of the room (i.e. obstructed by furniture), only keep the room with the largest area - bool removeUnconnectedRoomParts(cv::Mat& room_map); - - // clean path from subsequent double occurrences of the same pose - // min_dist_squared is the squared minimum distance between two points on the trajectory, in [pixel] (i.e. grid cells) - void downsampleTrajectory(const std::vector& path_uncleaned, std::vector& path, const double min_dist_squared); - - - // excute the planned trajectory and drive to unexplored areas after moving along the computed path - void navigateExplorationPath(const std::vector& exploration_path, const std::vector& field_of_view, - const geometry_msgs::Point32& field_of_view_origin, const double coverage_radius, const double distance_robot_fov_middlepoint, - const float map_resolution, const geometry_msgs::Pose& map_origin, const double grid_spacing_in_pixel, const double map_height); - - // function to publish a navigation goal, it returns true if the goal could be reached - // eps_x and eps_y are used to define a epsilon neighborhood around the goal in which a new nav_goal gets published - // --> may smooth the process, move_base often slows before and stops at the goal - bool publishNavigationGoal(const geometry_msgs::Pose2D& nav_goal, const std::string map_frame, - const std::string camera_frame, std::vector& robot_poses, - const double robot_to_fov_middlepoint_distance, const double eps = 0.0, - const bool perimeter_check = false); - - // converter-> Pixel to meter for X coordinate - double convertPixelToMeterForXCoordinate(const int pixel_valued_object_x, const float map_resolution, const cv::Point2d map_origin) - { - double meter_value_obj_x = (pixel_valued_object_x * map_resolution) + map_origin.x; - return meter_value_obj_x; - } - // converter-> Pixel to meter for Y coordinate - double convertPixelToMeterForYCoordinate(int pixel_valued_object_y, const float map_resolution, const cv::Point2d map_origin) - { - double meter_value_obj_y = (pixel_valued_object_y * map_resolution) + map_origin.y; - return meter_value_obj_y; - } - - // function to transform the given map in a way s.t. the OpenCV and room coordinate system are the same - // --> the map_saver from ros saves maps as images with the origin laying in the lower left corner of it, but openCV assumes - // that the origin is in the upper left corner, also they are rotated around the image-x-axis about each other - void transformImageToRoomCordinates(cv::Mat& map) - { - cv::Point2f src_center(map.cols/2.0F, map.rows/2.0F); - cv::Mat rot_mat = getRotationMatrix2D(src_center, 180, 1.0); - cv::Mat dst; - cv::warpAffine(map, dst, rot_mat, map.size()); - cv::flip(dst, map, 1); - } - - // function to create an occupancyGrid map out of a given cv::Mat - void matToMap(nav_msgs::OccupancyGrid &map, const cv::Mat &mat) - { - map.info.width = mat.cols; - map.info.height = mat.rows; - map.data.resize(mat.cols*mat.rows); - - for(int x=0; x(y,x)?0:100; - } - - // function to create a cv::Mat out of a given occupancyGrid map - void mapToMat(const nav_msgs::OccupancyGrid &map, cv::Mat &mat) - { - mat = cv::Mat(map.info.height, map.info.width, CV_8U); - - for(int x=0; x(y,x) = map.data[y*mat.cols+x]; - } - - - // !!Important!! - // define the Nodehandle before the action server, or else the server won't start - // - ros::NodeHandle node_handle_; - actionlib::SimpleActionServer room_exploration_server_; - dynamic_reconfigure::Server room_exploration_dynamic_reconfigure_server_; - - - -private: - void turn(int lr,int time);//rad/s ,0.1s - void gostraight(int time);// 0.1s - void publishZeroVelocity();//Publishes a velocity command of zero to the base - - - bool flag_=0; - -public: - enum PlanningMode {PLAN_FOR_FOOTPRINT=1, PLAN_FOR_FOV=2}; - ros::Subscriber obstacles_sub_; - ros::Subscriber cmd_vel_sub_; - - void stereo_CB(const ipa_building_msgs::dis_info_array::ConstPtr& flag); - void cmd_CB(const geometry_msgs::Twist::ConstPtr& cmd_vel); - - - // initialize the action-server - RoomExplorationServer(ros::NodeHandle nh, std::string name_of_the_action); - - // default destructor for the class - ~RoomExplorationServer(void) - { - } -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/amcl.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/amcl.launch deleted file mode 100644 index 972efe1..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/amcl.launch +++ /dev/null @@ -1,46 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/clean_work.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/clean_work.launch deleted file mode 100644 index e3af067..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/clean_work.launch +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis.launch deleted file mode 100644 index c8eb094..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis.launch +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis_params.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis_params.yaml deleted file mode 100644 index cb9501e..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis_params.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# if true, the path to a goal position must be accessible as well -# bool -approach_path_accessibility_check: true - -# link name of the map in tf -# string -map_link_name: "/map" - -# link name of the robot base in tf -# string -robot_base_link_name: "/base_footprint" - -# update rate for incoming messages about obstacles (provided in [Hz]) -# double -obstacle_topic_update_rate: 5.0 - -# publish the inflated map for viewing purposes -# bool -publish_inflated_map: false diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_check_server.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_check_server.launch deleted file mode 100644 index ebf28a8..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_check_server.launch +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server.launch deleted file mode 100644 index cb9efb4..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server.launch +++ /dev/null @@ -1,9 +0,0 @@ - - - - - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server_params.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server_params.yaml deleted file mode 100644 index 0a58600..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server_params.yaml +++ /dev/null @@ -1,19 +0,0 @@ -# name of the map coordinate system -# string -map_frame: "map" - -# name of the robot base frame -# string -robot_frame: "base_link" - -# radius of the circular coverage device, in [m] -# double -coverage_radius: 0.25 - -# the offset of the coverage circle from the robot center, [x,y,z] in [m] -# double[3] -coverage_circle_offset_transform: [0.29035, -0.114, 0.] - -# the robot trajectory is only recorded if this is true, usually it should be false on startup (can also be set from dynamic reconfigure) -# bool -robot_trajectory_recording_active: false \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/gazebo.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/gazebo.launch deleted file mode 100644 index b007551..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/gazebo.launch +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - - - - - - - - - - - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server.launch deleted file mode 100644 index 10b3b51..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server.launch +++ /dev/null @@ -1,21 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server_params.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server_params.yaml deleted file mode 100644 index a78b786..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server_params.yaml +++ /dev/null @@ -1,167 +0,0 @@ -# this variable selects the algorithm for room exploration -# 1 = grid point explorator -# 2 = boustrophedon explorator -# 3 = neural network explorator -# 4 = convexSPP explorator -# 5 = flowNetwork explorator -# 6 = energyFunctional explorator -# 7 = voronoi explorator -# 8 = boustrophedon variant explorator -# int -room_exploration_algorithm: 8 - -# display final trajectory plan step by step -# bool -display_trajectory: false #false - - -# map correction -# ============== -# Applies a closing operation to neglect inaccessible areas and map errors/artifacts if the map_correction_closing_neighborhood_size parameter is larger than 0. -# The parameter then specifies the iterations (or neighborhood size) of that closing operation. -# int -map_correction_closing_neighborhood_size: 2 - - -# parameters specific to the navigation of the robot along the computed coverage trajectory -# ========================================================================================= -# boolean used to determine if the server should return the computed coverage path in the response message -# bool -return_path: true - -# boolean used to determine whether the server should navigate the robot along the computed coverage path -# bool -# execute_path: false -execute_path: true - -# min distance between the robot and the published navigation goal before the next goal in the path gets published -# hack for slow turtle sim (publish new goals already when close to goal, then takes some time to command new goal) -# can be turned off (0) when used with real robot -# double -# [pixel], where one pixel is the size of one cell in the navigation grid map -goal_eps: 0.0 #0.35 - -# use a dynamic goal distance criterion: the larger the path's curvature, the more accurate the navigation. -# Use 'goal_eps' param as maximum distance on straight paths and zero distance (accurate goal approaching) on 90° curves. -# bool -use_dyn_goal_eps: true #false - -# variable that interrupts the publishing of navigation goals as long as needed, e.g. when during the execution of the coverage path -# a trash bin is found and one wants to empty it directly and resume the path later. -# bool -interrupt_navigation_publishing: false - -# this variable turns the functionality on/off to revisit areas that haven't been seen during the execution of the coverage path, -# due to uncertainties or dynamic obstacles -# bool -revisit_areas: false - -# minimal area of not seen sections that they are revisited after the first run through the room -# double -# [m^2] -left_sections_min_area: 0.01 - -# name of the global costmap topic -# string -global_costmap_topic: "/move_base/global_costmap/costmap" - -# name of the service to call for a coverage check of the driven trajectory -# string -coverage_check_service_name: "/room_exploration/coverage_check_server/coverage_check" - -# string that carries the name of the map frame, used for tracking of the robot -# string -map_frame: "map" - -# string that carries the name of the camera frame, that is in the same kinematic chain as the map_frame and shows the camera pose -# string -camera_frame: "base_link" - - -# parameters specific to the grid point explorator -# ================================================= -# indicates which TSP solver should be used -# 1 = Nearest Neighbor (often 10-15% longer paths than Concorde but computes by orders faster and considering traveling time (path length and rotations) it is often the fastest of all) -# 2 = Genetic solver (slightly shorter than Nearest Neighbor) -# 3 = Concorde solver (usually gives the shortest path while computing the longest) -# int -tsp_solver: 1 - -# a sophisticated solver like Concorde or Genetic can be interrupted if it does not find a solution within this time, in [s], -# and then falls back to the nearest neighbor solver -# int [s] -tsp_solver_timeout: 600 - - -# parameters specific for the boustrophedon explorator -# ==================================================== -# min area a boustrophedon cell (i.e. a boustrophedon region of the map) must have to be determined for the path generation -# [pixel^2] -# double -min_cell_area: 200.0 #10.0 - -# distance between two points when generating the (line) path -# [pixel], where one pixel is the size of one cell in the navigation grid map -# double -path_eps: 6.0 - -# the additional offset of the grid to obstacles, i.e. allows to displace the grid by more than the standard half_grid_size from obstacles -# [m] -# double -grid_obstacle_offset: 0.251 #0.101 #0.251 - -# maximal allowed shift off the ideal boustrophedon track to both sides for avoiding obstacles on track -# setting max_deviation_from_track=grid_spacing is usually a good choice -# for negative values (e.g. max_deviation_from_track: -1) max_deviation_from_track is automatically set to grid_spacing -# [pixel] -max_deviation_from_track: -1 #0 - -# cell visiting order -# 1 = the optimal visiting order of the cells is determined as TSP problem -# 2 = alternative ordering from left to right (measured on y-coordinates of the cells), visits the cells in a more obvious fashion to the human observer (though it is not optimal) -# int -cell_visiting_order: 2 - -# parameters specific for the neural network explorator, see "A Neural Network Approach to Complete Coverage Path Planning" from Simon X. Yang and Chaomin Luo -# ===================================================== -# step size for integrating the state dynamics -step_size: 0.008 -# decaying parameter that pulls the activity of a neuron closer to zero, larger value means faster decreasing -A: 17 -# increasing parameter that tries to increase the activity of a neuron when it's not too big already, higher value means a higher desired value and a faster increasing at the beginning -B: 5 -# decreasing parameter when the neuron is labeled as obstacle, higher value means faster decreasing -D: 7 -# external input parameter of one neuron that is used in the dynamics corresponding to if it is an obstacle or uncleaned/cleaned, E>>B -E: 80 -# parameter to set the importance of the states of neighboring neurons to the dynamics, higher value means higher influence -mu: 1.03 -# parameter to set the importance of the traveling direction from the previous step and the next step, a higher value means that the robot should turn less -delta_theta_weight: 0.15 - -# parameters specific for the convexSPP explorator -# ================================================ -# size of one cell when discretizing the free space, smaller value means a more detailed discretization -# in [pixel], where one pixel is the size of one cell in the navigation grid map -# (if set to 0 or smaller, the cell size is automatically determined with the largest possible value) -# (this parameter is only relevant to the algorithms #4 = convexSPP explorator, #5 = flowNetwork explorator, -# the other methods utilize the computed optimal maximum grid size) -# int -cell_size: 0 #4 #7 - -# angular sampling step when creating possible sensing poses, in [rad] -# double -delta_theta: 0.78539816339 #1.570796 - -# parameters specific for the flowNetwork explorator -# ================================================== -# factor, an arc can be longer than a straight arc, higher values allow more arcs to be considered in the optimization problem -# Important: if too small, maybe the problem becomes infeasible and the optimizer won't work correctly -curvature_factor: 1.1 - -# factor, an arc can be longer than the maximal distance of the room, which is determined by the min/max coordinates that are set in the goal -max_distance_factor: 1.0 - -# cell_size: see # parameters specific for the convexSPP explorator - -# path_eps: see # parameters specific for the boustrophedon explorator diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/talkerUltraSound.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/talkerUltraSound.launch deleted file mode 100644 index 25798fd..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/talkerUltraSound.launch +++ /dev/null @@ -1,6 +0,0 @@ - - - - - \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/turtlebot3_navigation.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/turtlebot3_navigation.launch deleted file mode 100644 index eab8352..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/turtlebot3_navigation.launch +++ /dev/null @@ -1,27 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_karto.rviz b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_karto.rviz deleted file mode 100644 index 019ee20..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_karto.rviz +++ /dev/null @@ -1,295 +0,0 @@ -Panels: - - Class: rviz/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /TF1/Frames1 - - /Path2 - - /Map2 - - /Map3 - Splitter Ratio: 0.594406009 - Tree Height: 776 - - Class: rviz/Selection - Name: Selection - - Class: rviz/Tool Properties - Expanded: - - /2D Pose Estimate1 - - /2D Nav Goal1 - - /Publish Point1 - Name: Tool Properties - Splitter Ratio: 0.588679016 - - Class: rviz/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz/Time - Experimental: false - Name: Time - SyncMode: 0 - SyncSource: LaserScan -Toolbars: - toolButtonStyle: 2 -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.0299999993 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 100 - Reference Frame: map - Value: true - - Alpha: 1 - Class: rviz/RobotModel - Collision Enabled: false - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - base_scan: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - caster_back_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - imu_link: - Alpha: 1 - Show Axes: false - Show Trail: false - wheel_left_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - wheel_right_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - Name: RobotModel - Robot Description: robot_description - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Class: rviz/TF - Enabled: false - Frame Timeout: 15 - Frames: - All Enabled: true - Marker Scale: 1 - Name: TF - Show Arrows: true - Show Axes: true - Show Names: true - Tree: - {} - Update Interval: 0 - Value: false - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz/LaserScan - Color: 0; 255; 0 - Color Transformer: FlatColor - Decay Time: 0 - Enabled: true - Invert Rainbow: false - Max Color: 255; 255; 255 - Max Intensity: 11799 - Min Color: 0; 0; 0 - Min Intensity: 0 - Name: LaserScan - Position Transformer: XYZ - Queue Size: 10 - Selectable: true - Size (Pixels): 3 - Size (m): 0.0300000012 - Style: Flat Squares - Topic: /scan - Unreliable: false - Use Fixed Frame: true - Use rainbow: true - Value: true - - Class: rviz/Image - Enabled: false - Image Topic: /raspicam_node/image - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Queue Size: 2 - Transport Hint: compressed - Unreliable: false - Value: false - - Alpha: 0.699999988 - Class: rviz/Map - Color Scheme: map - Draw Behind: false - Enabled: true - Name: Map - Topic: /map - Unreliable: false - Use Timestamp: false - Value: true - - Alpha: 1 - Buffer Length: 1 - Class: rviz/Path - Color: 25; 255; 0 - Enabled: true - Head Diameter: 0.300000012 - Head Length: 0.200000003 - Length: 0.300000012 - Line Style: Billboards - Line Width: 0.0299999993 - Name: Path - Offset: - X: 0 - Y: 0 - Z: 0 - Pose Color: 255; 85; 255 - Pose Style: None - Radius: 0.0299999993 - Shaft Diameter: 0.100000001 - Shaft Length: 0.100000001 - Topic: /move_base/NavfnROS/plan - Unreliable: false - Value: true - - Alpha: 1 - Buffer Length: 1 - Class: rviz/Path - Color: 85; 0; 255 - Enabled: true - Head Diameter: 0.300000012 - Head Length: 0.200000003 - Length: 0.300000012 - Line Style: Billboards - Line Width: 0.0299999993 - Name: Path - Offset: - X: 0 - Y: 0 - Z: 0 - Pose Color: 255; 85; 255 - Pose Style: None - Radius: 0.0299999993 - Shaft Diameter: 0.100000001 - Shaft Length: 0.100000001 - Topic: /move_base/DWAPlannerROS/local_plan - Unreliable: false - Value: true - - Alpha: 0.699999988 - Class: rviz/Map - Color Scheme: costmap - Draw Behind: false - Enabled: false - Name: Map - Topic: /move_base/global_costmap/costmap - Unreliable: false - Use Timestamp: false - Value: false - - Alpha: 0.699999988 - Class: rviz/Map - Color Scheme: costmap - Draw Behind: false - Enabled: false - Name: Map - Topic: /move_base/local_costmap/costmap - Unreliable: false - Use Timestamp: false - Value: false - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Default Light: true - Fixed Frame: map - Frame Rate: 30 - Name: root - Tools: - - Class: rviz/Interact - Hide Inactive Objects: true - - Class: rviz/MoveCamera - - Class: rviz/Select - - Class: rviz/FocusCamera - - Class: rviz/Measure - - Class: rviz/SetInitialPose - Topic: /initialpose - - Class: rviz/SetGoal - Topic: /move_base_simple/goal - - Class: rviz/PublishPoint - Single click: true - Topic: /clicked_point - Value: true - Views: - Current: - Angle: -1.57079637 - Class: rviz/TopDownOrtho - Enable Stereo Rendering: - Stereo Eye Separation: 0.0599999987 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.00999999978 - Scale: 136.475739 - Target Frame: map - Value: TopDownOrtho (rviz) - X: -0.542091846 - Y: 0.0558035932 - Saved: ~ -Window Geometry: - Displays: - collapsed: false - Height: 1056 - Hide Left Dock: false - Hide Right Dock: true - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000016a00000396fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000002800000396000000d600fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d006100670065000000020f000001900000001600ffffff000000010000010f0000035cfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0056006900650077007300000000430000035c000000ac00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073f0000003efc0100000002fb0000000800540069006d006501000000000000073f0000030000fffffffb0000000800540069006d00650100000000000004500000000000000000000005cf0000039600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: true - Width: 1855 - X: 65 - Y: 24 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_navigation.rviz b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_navigation.rviz deleted file mode 100644 index ea1fbca..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_navigation.rviz +++ /dev/null @@ -1,571 +0,0 @@ -Panels: - - Class: rviz/Displays - Help Height: 78 - Name: Displays - Property Tree Widget: - Expanded: - - /TF1/Frames1 - - /TF1/Tree1 - - /Global Map1/Costmap1 - - /Local Map1/Polygon1 - - /Local Map1/Costmap1 - - /Local Map1/Planner1 - - /Amcl Particles1 - - /Range1 - - /Imu1 - Splitter Ratio: 0.5 - Tree Height: 634 - - Class: rviz/Selection - Name: Selection - - Class: rviz/Tool Properties - Expanded: - - /2D Pose Estimate1 - - /2D Nav Goal1 - Name: Tool Properties - Splitter Ratio: 0.5886790156364441 - - Class: rviz/Views - Expanded: - - /Current View1 - Name: Views - Splitter Ratio: 0.5 - - Class: rviz/Time - Name: Time - SyncMode: 0 - SyncSource: "" -Preferences: - PromptSaveOnExit: true -Toolbars: - toolButtonStyle: 2 -Visualization Manager: - Class: "" - Displays: - - Alpha: 0.5 - Cell Size: 1 - Class: rviz/Grid - Color: 160; 160; 164 - Enabled: true - Line Style: - Line Width: 0.029999999329447746 - Value: Lines - Name: Grid - Normal Cell Count: 0 - Offset: - X: 0 - Y: 0 - Z: 0 - Plane: XY - Plane Cell Count: 20 - Reference Frame: - Value: true - - Alpha: 1 - Class: rviz/RobotModel - Collision Enabled: false - Enabled: true - Links: - All Links Enabled: true - Expand Joint Details: false - Expand Link Details: false - Expand Tree: false - Link Tree Style: Links in Alphabetic Order - base_footprint: - Alpha: 1 - Show Axes: false - Show Trail: false - base_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - base_scan: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - camera_depth_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - camera_depth_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - camera_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - camera_rgb_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - camera_rgb_optical_frame: - Alpha: 1 - Show Axes: false - Show Trail: false - caster_back_left_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - caster_back_right_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - imu_link: - Alpha: 1 - Show Axes: false - Show Trail: false - wheel_left_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - wheel_right_link: - Alpha: 1 - Show Axes: false - Show Trail: false - Value: true - Name: RobotModel - Robot Description: robot_description - TF Prefix: "" - Update Interval: 0 - Value: true - Visual Enabled: true - - Class: rviz/TF - Enabled: false - Filter (blacklist): "" - Filter (whitelist): "" - Frame Timeout: 15 - Frames: - All Enabled: false - Marker Alpha: 1 - Marker Scale: 1 - Name: TF - Show Arrows: true - Show Axes: true - Show Names: false - Tree: - {} - Update Interval: 0 - Value: false - - Alpha: 1 - Autocompute Intensity Bounds: true - Autocompute Value Bounds: - Max Value: 10 - Min Value: -10 - Value: true - Axis: Z - Channel Name: intensity - Class: rviz/LaserScan - Color: 89; 28; 0 - Color Transformer: FlatColor - Decay Time: 0 - Enabled: false - Invert Rainbow: false - Max Color: 255; 255; 255 - Min Color: 0; 0; 0 - Name: LaserScan - Position Transformer: XYZ - Queue Size: 10 - Selectable: true - Size (Pixels): 3 - Size (m): 0.030000001192092896 - Style: Flat Squares - Topic: /scan - Unreliable: false - Use Fixed Frame: true - Use rainbow: true - Value: false - - Class: rviz/Image - Enabled: false - Image Topic: /raspicam_node/image - Max Value: 1 - Median window: 5 - Min Value: 0 - Name: Image - Normalize Range: true - Queue Size: 2 - Transport Hint: compressed - Unreliable: false - Value: false - - Alpha: 0.699999988079071 - Class: rviz/Map - Color Scheme: map - Draw Behind: false - Enabled: true - Name: Map - Topic: /map - Unreliable: false - Use Timestamp: false - Value: true - - Alpha: 1 - Buffer Length: 1 - Class: rviz/Path - Color: 0; 0; 0 - Enabled: true - Head Diameter: 0.30000001192092896 - Head Length: 0.20000000298023224 - Length: 0.30000001192092896 - Line Style: Lines - Line Width: 0.029999999329447746 - Name: Planner Plan - Offset: - X: 0 - Y: 0 - Z: 0 - Pose Color: 255; 85; 255 - Pose Style: None - Queue Size: 10 - Radius: 0.029999999329447746 - Shaft Diameter: 0.10000000149011612 - Shaft Length: 0.10000000149011612 - Topic: /move_base/GlobalPlanner/plan - Unreliable: false - Value: true - - Class: rviz/Group - Displays: - - Alpha: 0.699999988079071 - Class: rviz/Map - Color Scheme: costmap - Draw Behind: true - Enabled: true - Name: Costmap - Topic: /move_base/global_costmap/costmap - Unreliable: false - Use Timestamp: false - Value: true - - Alpha: 1 - Buffer Length: 1 - Class: rviz/Path - Color: 255; 0; 0 - Enabled: false - Head Diameter: 0.30000001192092896 - Head Length: 0.20000000298023224 - Length: 0.30000001192092896 - Line Style: Lines - Line Width: 0.029999999329447746 - Name: Planner - Offset: - X: 0 - Y: 0 - Z: 0 - Pose Color: 255; 85; 255 - Pose Style: None - Queue Size: 10 - Radius: 0.029999999329447746 - Shaft Diameter: 0.10000000149011612 - Shaft Length: 0.10000000149011612 - Topic: /move_base/NavfnROS/plan - Unreliable: false - Value: false - Enabled: true - Name: Global Map - - Class: rviz/Group - Displays: - - Alpha: 1 - Class: rviz/Polygon - Color: 0; 0; 0 - Enabled: true - Name: Polygon - Queue Size: 10 - Topic: /move_base/local_costmap/footprint - Unreliable: false - Value: true - - Alpha: 0.699999988079071 - Class: rviz/Map - Color Scheme: costmap - Draw Behind: false - Enabled: true - Name: Costmap - Topic: /move_base/local_costmap/costmap - Unreliable: false - Use Timestamp: false - Value: true - - Alpha: 1 - Buffer Length: 1 - Class: rviz/Path - Color: 255; 255; 0 - Enabled: true - Head Diameter: 0.30000001192092896 - Head Length: 0.20000000298023224 - Length: 0.30000001192092896 - Line Style: Lines - Line Width: 0.029999999329447746 - Name: Planner - Offset: - X: 0 - Y: 0 - Z: 0 - Pose Color: 255; 85; 255 - Pose Style: None - Queue Size: 10 - Radius: 0.029999999329447746 - Shaft Diameter: 0.10000000149011612 - Shaft Length: 0.10000000149011612 - Topic: /move_base/DWAPlannerROS/local_plan - Unreliable: false - Value: true - Enabled: false - Name: Local Map - - Alpha: 1 - Arrow Length: 0.05000000074505806 - Axes Length: 0.30000001192092896 - Axes Radius: 0.009999999776482582 - Class: rviz/PoseArray - Color: 0; 192; 0 - Enabled: false - Head Length: 0.07000000029802322 - Head Radius: 0.029999999329447746 - Name: Amcl Particles - Queue Size: 10 - Shaft Length: 0.23000000417232513 - Shaft Radius: 0.009999999776482582 - Shape: Arrow (Flat) - Topic: /particlecloud - Unreliable: false - Value: false - - Alpha: 1 - Axes Length: 1 - Axes Radius: 0.10000000149011612 - Class: rviz/Pose - Color: 255; 25; 0 - Enabled: true - Head Length: 0.05000000074505806 - Head Radius: 0.10000000149011612 - Name: Goal - Queue Size: 10 - Shaft Length: 0.05000000074505806 - Shaft Radius: 0.05000000074505806 - Shape: Arrow - Topic: /move_base_simple/goal - Unreliable: false - Value: true - - Alpha: 1 - Buffer Length: 1 - Class: rviz/Path - Color: 25; 255; 0 - Enabled: true - Head Diameter: 0.30000001192092896 - Head Length: 0.20000000298023224 - Length: 0.30000001192092896 - Line Style: Billboards - Line Width: 0.029999999329447746 - Name: Path - Offset: - X: 0 - Y: 0 - Z: 0 - Pose Color: 255; 85; 255 - Pose Style: None - Queue Size: 10 - Radius: 0.029999999329447746 - Shaft Diameter: 0.10000000149011612 - Shaft Length: 0.10000000149011612 - Topic: /room_exploration/room_exploration_server/coverage_path - Unreliable: false - Value: true - - Alpha: 1 - Buffer Length: 1 - Class: rviz/Path - Color: 170; 0; 0 - Enabled: true - Head Diameter: 0.30000001192092896 - Head Length: 0.20000000298023224 - Length: 0.30000001192092896 - Line Style: Billboards - Line Width: 0.3499999940395355 - Name: Path - Offset: - X: 0 - Y: 0 - Z: 0 - Pose Color: 255; 85; 255 - Pose Style: None - Queue Size: 10 - Radius: 0.029999999329447746 - Shaft Diameter: 0.10000000149011612 - Shaft Length: 0.10000000149011612 - Topic: /move_base/DWAPlannerROS/local_plan - Unreliable: false - Value: true - - Alpha: 1 - Buffer Length: 1 - Class: rviz/Path - Color: 255; 255; 127 - Enabled: true - Head Diameter: 0.30000001192092896 - Head Length: 0.20000000298023224 - Length: 0.30000001192092896 - Line Style: Lines - Line Width: 0.029999999329447746 - Name: Path - Offset: - X: 0 - Y: 0 - Z: 0 - Pose Color: 255; 85; 255 - Pose Style: None - Queue Size: 10 - Radius: 0.029999999329447746 - Shaft Diameter: 0.10000000149011612 - Shaft Length: 0.10000000149011612 - Topic: /move_base/DWAPlannerROS/global_plan - Unreliable: false - Value: true - - Class: rviz/Camera - Enabled: false - Image Rendering: background and overlay - Image Topic: /camera/rgb/image_raw - Name: Camera - Overlay Alpha: 0.5 - Queue Size: 2 - Transport Hint: raw - Unreliable: false - Value: false - Visibility: - "": true - Amcl Particles: true - Camera: true - Global Map: - Costmap: true - Planner: true - Value: true - Goal: true - Grid: true - Image: true - LaserScan: true - Local Map: - "": true - Value: true - Map: true - Path: true - Planner Plan: true - Range: true - RobotModel: true - TF: true - Value: true - Zoom Factor: 1 - - Class: rviz/Camera - Enabled: false - Image Rendering: background and overlay - Image Topic: /camera/depth/image_raw - Name: Camera - Overlay Alpha: 0.5 - Queue Size: 2 - Transport Hint: raw - Unreliable: false - Value: false - Visibility: - "": true - Amcl Particles: true - Camera: true - Global Map: - Costmap: true - Planner: true - Value: true - Goal: true - Grid: true - Image: true - LaserScan: true - Local Map: - "": true - Value: true - Map: true - Path: true - Planner Plan: true - Range: true - RobotModel: true - TF: true - Value: true - Zoom Factor: 1 - - Alpha: 0.5 - Buffer Length: 1 - Class: rviz/Range - Color: 255; 255; 255 - Enabled: true - Name: Range - Queue Size: 10 - Topic: "" - Unreliable: false - Value: true - - Alpha: 0.699999988079071 - Class: rviz/Map - Color Scheme: map - Draw Behind: false - Enabled: true - Name: Map - Topic: /move_base/local_costmap/costmap - Unreliable: false - Use Timestamp: false - Value: true - - Alpha: 1 - Class: rviz_plugin_tutorials/Imu - Color: 20; 51; 204 - Enabled: true - History Length: 1 - Name: Imu - Queue Size: 10 - Topic: /imu - Unreliable: false - Value: true - Enabled: true - Global Options: - Background Color: 48; 48; 48 - Default Light: true - Fixed Frame: map - Frame Rate: 30 - Name: root - Tools: - - Class: rviz/MoveCamera - - Class: rviz/Interact - Hide Inactive Objects: true - - Class: rviz/Select - - Class: rviz/SetInitialPose - Theta std deviation: 0.2617993950843811 - Topic: /initialpose - X std deviation: 0.5 - Y std deviation: 0.5 - - Class: rviz/SetGoal - Topic: /move_base_simple/goal - - Class: rviz/Measure - Value: true - Views: - Current: - Angle: -0.9057965874671936 - Class: rviz/TopDownOrtho - Enable Stereo Rendering: - Stereo Eye Separation: 0.05999999865889549 - Stereo Focal Distance: 1 - Swap Stereo Eyes: false - Value: false - Invert Z Axis: false - Name: Current View - Near Clip Distance: 0.009999999776482582 - Scale: 33.79556655883789 - Target Frame: - X: 10.210562705993652 - Y: 1.2031383514404297 - Saved: ~ -Window Geometry: - Camera: - collapsed: false - Displays: - collapsed: false - Height: 863 - Hide Left Dock: false - Hide Right Dock: true - Image: - collapsed: false - QMainWindow State: 000000ff00000000fd00000004000000000000016a00000305fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d00000305000000c900fffffffb0000000a0049006d0061006700650000000317000000cc0000001600fffffffb0000000a0049006d0061006700650000000330000000ce0000000000000000fb0000000c00430061006d00650072006100000001ea000000610000001600fffffffb0000000c00430061006d006500720061000000022c000001160000001600ffffff000000010000010f000003a0fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000043000003a0000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004a00000003efc0100000002fb0000000800540069006d00650000000000000004a00000041800fffffffb0000000800540069006d00650100000000000004500000000000000000000002040000030500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 - Selection: - collapsed: false - Time: - collapsed: false - Tool Properties: - collapsed: false - Views: - collapsed: true - Width: 884 - X: 72 - Y: 27 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server.cpp deleted file mode 100644 index 7c5d1f8..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server.cpp +++ /dev/null @@ -1,216 +0,0 @@ -#include - -// The default constructors -CoverageCheckServer::CoverageCheckServer() -{ -} - -CoverageCheckServer::CoverageCheckServer(ros::NodeHandle nh) -:node_handle_(nh) -{ - coverage_check_server_ = node_handle_.advertiseService("coverage_check", &CoverageCheckServer::checkCoverage, this); - ROS_INFO("Server for coverage checking initialized....."); -} - -// Callback function for the server. -bool CoverageCheckServer::checkCoverage(ipa_building_msgs::CheckCoverageRequest& request, ipa_building_msgs::CheckCoverageResponse& response) -{ - // convert the map msg to cv format - cv_bridge::CvImagePtr cv_ptr_obj; - std::cout << "request.input_map.encoding:" << request.input_map.encoding << std::endl; - cv_ptr_obj = cv_bridge::toCvCopy(request.input_map, sensor_msgs::image_encodings::MONO8); - cv::Mat map = cv_ptr_obj->image; - - // convert field of view to Eigen format - std::vector > field_of_view; - for(size_t i = 0; i < request.field_of_view.size(); ++i) - { - Eigen::Matrix current_vector; - current_vector << request.field_of_view[i].x, request.field_of_view[i].y; - field_of_view.push_back(current_vector); - } - - // convert field of view origin to Eigen format - Eigen::Matrix fov_origin; - fov_origin << request.field_of_view_origin.x, request.field_of_view_origin.y; - - // convert path to cv format - std::vector path; - for (size_t i=0; i& path, - const std::vector >& field_of_view, const Eigen::Matrix& fov_origin, const float coverage_radius, - const bool check_for_footprint, const bool check_number_of_coverages, cv::Mat& coverage_map, cv::Mat& number_of_coverage_image) -{ - // create a map that stores the number of coverages during the execution, if wanted - cv::Mat* image_pointer = NULL; - if(check_number_of_coverages==true) - { - number_of_coverage_image = cv::Mat::zeros(map.rows, map.cols, CV_32SC1); - image_pointer = &number_of_coverage_image; - ROS_INFO("Checking number of coverages."); - } - - // check if the coverage check should be done for the footprint or the field of view - coverage_map = map.clone(); - if(check_for_footprint==false) - { - ROS_INFO("Checking coverage for FOV."); - drawCoveredPointsPolygon(coverage_map, path, field_of_view, fov_origin, map_resolution, map_origin, image_pointer); - } - else - { - ROS_INFO("Checking coverage for footprint."); - drawCoveredPointsCircle(coverage_map, path, coverage_radius, map_resolution, map_origin, image_pointer); - } - ROS_INFO("Finished coverage check."); - - return true; -} - - -void CoverageCheckServer::drawCoveredPointsPolygon(cv::Mat& reachable_areas_map, const std::vector& robot_poses, - const std::vector >& field_of_view, const Eigen::Matrix& fov_origin, - const float map_resolution, const cv::Point2d map_origin, cv::Mat* number_of_coverages_image) -{ - const float map_resolution_inverse = 1./map_resolution; - - // go trough each given robot pose - for(std::vector::const_iterator current_pose = robot_poses.begin(); current_pose != robot_poses.end(); ++current_pose) - { - // get the rotation matrix - float sin_theta = std::sin(current_pose->z); - float cos_theta = std::cos(current_pose->z); - Eigen::Matrix R; - R << cos_theta, -sin_theta, sin_theta, cos_theta; - - // current pose as Eigen matrix - Eigen::Matrix pose_as_matrix; - pose_as_matrix << current_pose->x, current_pose->y; - - // transform field of view points - std::vector transformed_fov_points; - for(size_t point = 0; point < field_of_view.size(); ++point) - { - // linear transformation - const Eigen::Matrix transformed_fov_point = pose_as_matrix + R * field_of_view[point]; - - // save the transformed point as cv::Point, also check if map borders are satisfied and transform it into pixel values - transformed_fov_points.push_back(clampImageCoordinates(cv::Point((transformed_fov_point(0, 0)-map_origin.x)*map_resolution_inverse, (transformed_fov_point(1, 0)-map_origin.y)*map_resolution_inverse), reachable_areas_map.rows, reachable_areas_map.cols)); - } - - // transform field of view origin - const Eigen::Matrix transformed_fov_origin = pose_as_matrix + R * fov_origin; - const cv::Point transformed_fov_origin_point = clampImageCoordinates(cv::Point((transformed_fov_origin(0, 0)-map_origin.x)*map_resolution_inverse, (transformed_fov_origin(1, 0)-map_origin.y)*map_resolution_inverse), reachable_areas_map.rows, reachable_areas_map.cols); - - // draw current field of view in map - cv::Mat fov_mat = cv::Mat::zeros(reachable_areas_map.rows, reachable_areas_map.cols, reachable_areas_map.type()); - std::vector > contours(1, transformed_fov_points); -#if CV_MAJOR_VERSION<=3 - cv::drawContours(fov_mat, contours, 0, cv::Scalar(255), CV_FILLED); -#else - cv::drawContours(fov_mat, contours, 0, cv::Scalar(255), cv::FILLED); -#endif - - // check visibility for each pixel of the fov area - for (int v=0; v(v,u)==0) - continue; - - // create a line iterator from fov_origin to current fov point and verify visibility - bool point_visible = true; - const cv::Point current_goal(u,v); - cv::LineIterator ray_points(reachable_areas_map, transformed_fov_origin_point, current_goal, 8, false); - for(size_t point = 0; point < ray_points.count; ++point, ++ray_points) - { - if (reachable_areas_map.at(ray_points.pos()) == 0) - { - point_visible = false; - break; - } - } - - // mark visible point in map - if (point_visible == true) - { - reachable_areas_map.at(current_goal) = 127; - - // if wanted, count the coverage - if(number_of_coverages_image!=NULL) - { - number_of_coverages_image->at(current_goal) = number_of_coverages_image->at(current_goal)+1; - } - } - } - } - } -} - - -void CoverageCheckServer::drawCoveredPointsCircle(cv::Mat& reachable_areas_map, const std::vector& robot_poses, - const double coverage_radius, const float map_resolution, - const cv::Point2d map_origin, cv::Mat* number_of_coverages_image) -{ - const float map_resolution_inverse = 1./map_resolution; - - cv::Mat map_copy = reachable_areas_map.clone(); // copy to draw positions that get later drawn into free space of the original map - const int coverage_radius_pixel = coverage_radius*map_resolution_inverse; - // iterate trough all poses and draw them into the given map - for(std::vector::const_iterator pose=robot_poses.begin(); pose!=robot_poses.end(); ++pose) - { - // draw the transformed robot footprint - cv::Point current_point((pose->x-map_origin.x)*map_resolution_inverse, (pose->y-map_origin.y)*map_resolution_inverse); - cv::circle(map_copy, current_point, coverage_radius_pixel, cv::Scalar(127), -1); - - // update the number of visits at this location, if wanted - if(number_of_coverages_image!=NULL) - { - cv::Mat coverage_area = cv::Mat::zeros(map_copy.rows, map_copy.cols, CV_32SC1); - cv::circle(coverage_area, current_point, coverage_radius_pixel, cv::Scalar(1), -1); - *number_of_coverages_image = *number_of_coverages_image + coverage_area; - } - } - - // draw visited areas into free space of the original map - for(size_t y=0; y(y, x) == 255) - reachable_areas_map.at(y, x) = map_copy.at(y, x); -} - - -inline cv::Point CoverageCheckServer::clampImageCoordinates(const cv::Point& p, const int rows, const int cols) -{ - cv::Point c; - c.x = std::min(std::max(p.x, 0), cols-1); - c.y = std::min(std::max(p.y, 0), rows-1); - return c; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server_main.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server_main.cpp deleted file mode 100644 index 9bcc32e..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server_main.cpp +++ /dev/null @@ -1,13 +0,0 @@ -#include - - -int main(int argc, char **argv) -{ - ros::init(argc, argv, "coverage_check_server"); - ros::NodeHandle nh("~"); - - CoverageCheckServer coverage_checker(nh); - - ros::spin(); - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_monitor_server.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_monitor_server.cpp deleted file mode 100644 index b658e0d..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_monitor_server.cpp +++ /dev/null @@ -1,462 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: - * - * \date Date of creation: 01.2018 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -#include - -#include - -#include - - -class CoverageMonitor -{ -public: - CoverageMonitor(ros::NodeHandle nh) : - node_handle_(nh) - { - // dynamic reconfigure - coverage_monitor_dynamic_reconfigure_server_.setCallback(boost::bind(&CoverageMonitor::dynamicReconfigureCallback, this, _1, _2)); - - // Parameters - std::cout << "\n--------------------------\nCoverage Monitor Parameters:\n--------------------------\n"; - node_handle_.param("map_frame", map_frame_, "map"); - std::cout << "coverage_monitor/map_frame = " << map_frame_ << std::endl; - node_handle_.param("robot_frame", robot_frame_, "base_link"); - std::cout << "coverage_monitor/robot_frame = " << robot_frame_ << std::endl; - node_handle_.param("coverage_radius", coverage_radius_, 0.25); - std::cout << "coverage_monitor/coverage_radius = " << coverage_radius_ << std::endl; - coverage_circle_offset_transform_.setIdentity(); - std::vector temp; - node_handle_.getParam("coverage_circle_offset_translation", temp); - if (temp.size() == 3) - coverage_circle_offset_transform_.setOrigin(tf::Vector3(temp[0], temp[1], temp[2])); - else - coverage_circle_offset_transform_.setOrigin(tf::Vector3(0.29035, -0.114, 0.)); - node_handle_.param("robot_trajectory_recording_active", robot_trajectory_recording_active_, false); - std::cout << "coverage_monitor/robot_trajectory_recording_active = " << robot_trajectory_recording_active_ << std::endl; - - // setup publishers and subscribers - coverage_marker_pub_ = node_handle_.advertise("coverage_marker", 1); - computed_trajectory_marker_pub_ = node_handle_.advertise("computed_trajectory_marker", 1); - commanded_trajectory_marker_pub_ = node_handle_.advertise("commanded_trajectory_marker", 1); - - computed_trajectory_sub_ = node_handle_.subscribe("computed_target_trajectory_monitor", 500, &CoverageMonitor::computedTrajectoryCallback, this); - commanded_trajectory_sub_ = node_handle_.subscribe("commanded_target_trajectory_monitor", 500, &CoverageMonitor::commandedTrajectoryCallback, this); - - // setup services - start_coverage_monitoring_srv_ = node_handle_.advertiseService("start_coverage_monitoring", &CoverageMonitor::startCoverageMonitoringCallback, this); - stop_coverage_monitoring_srv_ = node_handle_.advertiseService("stop_coverage_monitoring", &CoverageMonitor::stopCoverageMonitoringCallback, this); - get_coverage_image_srv_ = node_handle_.advertiseService("get_coverage_image", &CoverageMonitor::getCoverageImageCallback, this); - - // prepare coverage_marker_msg message - visualization_msgs::Marker coverage_marker_msg; - // Set the frame ID and timestamp. See the TF tutorials for information on these. - coverage_marker_msg.header.frame_id = "/map"; - coverage_marker_msg.header.stamp = ros::Time::now(); - // Set the namespace and id for this marker. This serves to create a unique ID - // Any marker sent with the same namespace and id will overwrite the old one - coverage_marker_msg.ns = "coverage_marker"; - coverage_marker_msg.id = 0; - // Set the marker type. Initially this is CUBE, and cycles between that and SPHERE, ARROW, and CYLINDER - coverage_marker_msg.type = visualization_msgs::Marker::LINE_STRIP; - // Set the marker action. Options are ADD, DELETE, and new in ROS Indigo: 3 (DELETEALL) - coverage_marker_msg.action = visualization_msgs::Marker::ADD; - // Set the pose of the marker. This is a full 6DOF pose relative to the frame/time specified in the header - coverage_marker_msg.pose.position.x = 0; - coverage_marker_msg.pose.position.y = 0; - coverage_marker_msg.pose.position.z = 0; - coverage_marker_msg.pose.orientation.x = 0.0; - coverage_marker_msg.pose.orientation.y = 0.0; - coverage_marker_msg.pose.orientation.z = 0.0; - coverage_marker_msg.pose.orientation.w = 1.0; - // Set the scale of the marker -- 1x1x1 here means 1m on a side - coverage_marker_msg.scale.x = 2*coverage_radius_; // this is the line width - coverage_marker_msg.scale.y = 1.0; - coverage_marker_msg.scale.z = 1.0; - // Set the color -- be sure to set alpha to something non-zero! - coverage_marker_msg.color.r = 0.0f; - coverage_marker_msg.color.g = 1.0f; - coverage_marker_msg.color.b = 0.0f; - coverage_marker_msg.color.a = 0.33; - coverage_marker_msg.lifetime = ros::Duration(); - geometry_msgs::Point p; p.x=0; p.y=0; p.z=0; - coverage_marker_msg.points.push_back(p); - - // prepare computed_trajectory_marker_msg message - visualization_msgs::Marker computed_trajectory_marker_msg; - // Set the frame ID and timestamp. See the TF tutorials for information on these. - computed_trajectory_marker_msg.header.frame_id = "/map"; - computed_trajectory_marker_msg.header.stamp = ros::Time::now(); - // Set the namespace and id for this marker. This serves to create a unique ID - // Any marker sent with the same namespace and id will overwrite the old one - computed_trajectory_marker_msg.ns = "computed_trajectory_marker"; - computed_trajectory_marker_msg.id = 0; - // Set the marker type. Initially this is CUBE, and cycles between that and SPHERE, ARROW, and CYLINDER - computed_trajectory_marker_msg.type = visualization_msgs::Marker::LINE_STRIP; - // Set the marker action. Options are ADD, DELETE, and new in ROS Indigo: 3 (DELETEALL) - computed_trajectory_marker_msg.action = visualization_msgs::Marker::ADD; - // Set the pose of the marker. This is a full 6DOF pose relative to the frame/time specified in the header - computed_trajectory_marker_msg.pose.position.x = 0; - computed_trajectory_marker_msg.pose.position.y = 0; - computed_trajectory_marker_msg.pose.position.z = 0.2; - computed_trajectory_marker_msg.pose.orientation.x = 0.0; - computed_trajectory_marker_msg.pose.orientation.y = 0.0; - computed_trajectory_marker_msg.pose.orientation.z = 0.0; - computed_trajectory_marker_msg.pose.orientation.w = 1.0; - // Set the scale of the marker -- 1x1x1 here means 1m on a side - computed_trajectory_marker_msg.scale.x = 0.06; // this is the line width - computed_trajectory_marker_msg.scale.y = 1.0; - computed_trajectory_marker_msg.scale.z = 1.0; - // Set the color -- be sure to set alpha to something non-zero! - computed_trajectory_marker_msg.color.r = 1.0f; - computed_trajectory_marker_msg.color.g = 0.0f; - computed_trajectory_marker_msg.color.b = 0.0f; - computed_trajectory_marker_msg.color.a = 0.8; - computed_trajectory_marker_msg.lifetime = ros::Duration(); - computed_trajectory_marker_msg.points.push_back(p); - - // prepare commanded_trajectory_marker_msg message - visualization_msgs::Marker commanded_trajectory_marker_msg; - // Set the frame ID and timestamp. See the TF tutorials for information on these. - commanded_trajectory_marker_msg.header.frame_id = "/map"; - commanded_trajectory_marker_msg.header.stamp = ros::Time::now(); - // Set the namespace and id for this marker. This serves to create a unique ID - // Any marker sent with the same namespace and id will overwrite the old one - commanded_trajectory_marker_msg.ns = "commanded_trajectory_marker"; - commanded_trajectory_marker_msg.id = 0; - // Set the marker type. Initially this is CUBE, and cycles between that and SPHERE, ARROW, and CYLINDER - commanded_trajectory_marker_msg.type = visualization_msgs::Marker::LINE_STRIP; - // Set the marker action. Options are ADD, DELETE, and new in ROS Indigo: 3 (DELETEALL) - commanded_trajectory_marker_msg.action = visualization_msgs::Marker::ADD; - // Set the pose of the marker. This is a full 6DOF pose relative to the frame/time specified in the header - commanded_trajectory_marker_msg.pose.position.x = 0; - commanded_trajectory_marker_msg.pose.position.y = 0; - commanded_trajectory_marker_msg.pose.position.z = 0.4; - commanded_trajectory_marker_msg.pose.orientation.x = 0.0; - commanded_trajectory_marker_msg.pose.orientation.y = 0.0; - commanded_trajectory_marker_msg.pose.orientation.z = 0.0; - commanded_trajectory_marker_msg.pose.orientation.w = 1.0; - // Set the scale of the marker -- 1x1x1 here means 1m on a side - commanded_trajectory_marker_msg.scale.x = 0.03; // this is the line width - commanded_trajectory_marker_msg.scale.y = 1.0; - commanded_trajectory_marker_msg.scale.z = 1.0; - // Set the color -- be sure to set alpha to something non-zero! - commanded_trajectory_marker_msg.color.r = 0.0f; - commanded_trajectory_marker_msg.color.g = 0.0f; - commanded_trajectory_marker_msg.color.b = 1.0f; - commanded_trajectory_marker_msg.color.a = 0.8; - commanded_trajectory_marker_msg.lifetime = ros::Duration(); - commanded_trajectory_marker_msg.points.push_back(p); - - // cyclically publish marker messages - ros::AsyncSpinner spinner(2); // asynch. spinner (2) is needed to call dynamic reconfigure from this node without blocking the node - spinner.start(); - ros::Rate r(5); -// int index = 0; - while (ros::ok()) - { - // receive the current robot pose - if (robot_trajectory_recording_active_ == true) - { - ros::Time time = ros::Time(0); - bool transform_available = transform_listener_.waitForTransform(map_frame_, robot_frame_, time, ros::Duration(0.5)); - if (transform_available == true) - { - tf::StampedTransform transform; - transform_listener_.lookupTransform(map_frame_, robot_frame_, time, transform); - { - boost::mutex::scoped_lock lock(robot_trajectory_vector_mutex_); - robot_trajectory_vector_.push_back(transform); - } - } -// // this can be used for testing if no data is available -// tf::StampedTransform transform(tf::Transform(tf::Quaternion(0, 0, 0, 1), tf::Vector3(0.1*index, 0., 0.)), ros::Time::now(), map_frame_, robot_frame_); -// robot_trajectory_vector_.push_back(transform); -// robot_computed_trajectory_vector_.push_back(transform); -// robot_commanded_trajectory_vector_.push_back(transform); -// ++index; - } - - // update and publish coverage_marker_msg - coverage_marker_msg.header.stamp = ros::Time::now(); - coverage_marker_msg.points.resize(robot_trajectory_vector_.size()); - for (size_t i=0; i. - * - ****************************************************************/ - -#include - -// Function that provides the functionality that a given fov path gets mapped to a robot path by using the given parameters. -// To do so simply a vector operation is applied. If the computed robot pose is not in the free space, another accessible -// point is generated by finding it on the radius around the fov middlepoint s.t. the distance to the last robot position -// is minimized. -// Important: the room map needs to be an unsigned char single channel image, if inaccessible areas should be excluded, provide the inflated map -// robot_to_fov_vector in [m] -void mapPath(const cv::Mat& room_map, std::vector& robot_path, - const std::vector& fov_path, const Eigen::Matrix& robot_to_fov_vector, - const double map_resolution, const cv::Point2d map_origin, const cv::Point& starting_point) -{ - // initialize helper classes - MapAccessibilityAnalysis map_accessibility; - AStarPlanner path_planner; - const double map_resolution_inv = 1.0/map_resolution; - - // initialize the robot position in accessible space to enable the Astar planner to find a path from the beginning - cv::Point robot_pos(starting_point.x, starting_point.y); -// std::vector accessible_start_poses_on_perimeter; -// map_accessibility.checkPerimeter(accessible_start_poses_on_perimeter, fov_center, fov_radius_pixel, PI/64., room_map, false, robot_pos); - - // map the given robot to fov vector into pixel coordinates - Eigen::Matrix robot_to_fov_vector_pixel; - robot_to_fov_vector_pixel << robot_to_fov_vector(0,0)*map_resolution_inv, robot_to_fov_vector(1,0)*map_resolution_inv; - const double fov_radius_pixel = robot_to_fov_vector_pixel.norm(); - const double fov_to_front_offset_angle = atan2((double)robot_to_fov_vector(1,0), (double)robot_to_fov_vector(0,0)); - std::cout << "mapPath: fov_to_front_offset_angle: " << fov_to_front_offset_angle << "rad (" << fov_to_front_offset_angle*180./PI << "deg)" << std::endl; - std::cout << "fov_radius_pixel: " << fov_radius_pixel << " robot_to_fov_vector: " << robot_to_fov_vector(0,0) << ", " << robot_to_fov_vector(1,0) << std::endl; - - // go trough the given poses and calculate accessible robot poses - // first try with A*, if this fails, call map_accessibility_analysis and finally try a directly computed pose shift - int found_with_astar = 0, found_with_map_acc = 0, found_with_shift = 0, not_found = 0; - for(std::vector::const_iterator pose=fov_path.begin(); pose!=fov_path.end(); ++pose) - { - bool found_pose = false; - - // 1. try with map_accessibility_analysis - // compute accessible locations on perimeter around target fov center - MapAccessibilityAnalysis::Pose fov_center(pose->x, pose->y, pose->theta); - std::vector accessible_poses_on_perimeter; - map_accessibility.checkPerimeter(accessible_poses_on_perimeter, fov_center, fov_radius_pixel, PI/64., room_map, false, robot_pos); - - //std::cout << " fov_center: " << fov_center.x << ", " << fov_center.y << ", " << fov_center.orientation << " accessible_poses_on_perimeter.size: " << accessible_poses_on_perimeter.size() << std::endl; - - if(accessible_poses_on_perimeter.size()!=0) - { - // todo: also consider complete visibility of the fov_center (or whole cell) as a selection criterion - // todo: extend with a complete consideration of the exact robot footprint - // go trough the found accessible positions and take the one that minimizes the angle between approach vector and robot heading direction at the target position - // and which lies in the half circle around fov_center which is "behind" the fov_center pose's orientation -// double max_cos_alpha = -10; - std::map > cos_alpha_to_perimeter_pose_mapping; // maps (positive) cos_alpha to their perimeter poses - MapAccessibilityAnalysis::Pose best_pose; - //std::cout << "Perimeter: \n robot_pos = " << robot_pos.x << ", " << robot_pos.y << " fov_center = " << fov_center.x << ", " << fov_center.y << "\n"; - for(std::vector::iterator perimeter_pose = accessible_poses_on_perimeter.begin(); perimeter_pose != accessible_poses_on_perimeter.end(); ++perimeter_pose) - { - // exclude positions that are ahead of the moving direction - //cv::Point2d heading = cv::Point2d(fov_center.x, fov_center.y) - cv::Point2d(perimeter_pose->x, perimeter_pose->y); - //const double heading_norm = sqrt((double)heading.x*heading.x+heading.y*heading.y); - perimeter_pose->orientation -= fov_to_front_offset_angle; // robot heading correction of off-center fov - const cv::Point2d perimeter_heading = cv::Point2d(cos(perimeter_pose->orientation), sin(perimeter_pose->orientation)); - const double perimeter_heading_norm = 1.; - const cv::Point2d fov_center_heading = cv::Point2d(cos(fov_center.orientation), sin(fov_center.orientation)); - const double fov_center_heading_norm = 1.; - const double cos_alpha = (fov_center_heading.x*perimeter_heading.x+fov_center_heading.y*perimeter_heading.y)/(fov_center_heading_norm*perimeter_heading_norm); - //std::cout << " cos_alpha: " << cos_alpha << std::endl; -// if (cos_alpha < 0) -// continue; - if (cos_alpha >= 0.) - cos_alpha_to_perimeter_pose_mapping[cos_alpha] = *perimeter_pose; // rank by cos(angle) between approach direction and viewing direction - - // rank by cos(angle) between approach direction and viewing direction - //cv::Point2d approach = cv::Point2d(perimeter_pose->x, perimeter_pose->y) - cv::Point2d(robot_pos.x, robot_pos.y); - //const double approach_norm = sqrt(approach.x*approach.x+approach.y*approach.y); -// double cos_alpha = 1.; // only remains 1.0 if robot_pose and perimeter_pose are identical -// if (fov_center_heading.x!=0 || fov_center_heading.y!=0) // compute the cos(angle) between approach direction and viewing direction -// cos_alpha = (fov_center_heading.x*perimeter_heading.x + fov_center_heading.y*perimeter_heading.y)/(fov_center_heading_norm*perimeter_heading_norm); - //std::cout << " - perimeter_pose = " << perimeter_pose->x << ", " << perimeter_pose->y << " cos_alpha = " << cos_alpha << " max_cos_alpha = " << max_cos_alpha << std::endl; -// if(cos_alpha>max_cos_alpha) -// { -// max_cos_alpha = cos_alpha; -// best_pose = *perimeter_pose; -// found_pose = true; -// } - } -// std::cout << " cos_alpha_to_perimeter_pose_mapping.size: " << cos_alpha_to_perimeter_pose_mapping.size() << std::endl; - if (cos_alpha_to_perimeter_pose_mapping.size() > 0) - { - // rank by cos(angle) between approach direction and viewing direction - double max_cos_alpha = cos_alpha_to_perimeter_pose_mapping.begin()->first; - double closest_dist = std::numeric_limits::max(); - for (std::map >::iterator it=cos_alpha_to_perimeter_pose_mapping.begin(); it!=cos_alpha_to_perimeter_pose_mapping.end(); ++it) - { -// std::cout << " cos_alpha: " << it->first << std::endl; - // only consider the best fitting angles - if (it->first < 0.95*max_cos_alpha) - break; - // from those select the position with shortest approach path from current position - const double dist = cv::norm(robot_pos-cv::Point(it->second.x, it->second.y)); - if (dist < closest_dist) - { - closest_dist = dist; - best_pose = it->second; - found_pose = true; - } - } -// std::cout << " closest_dist: " << closest_dist << " best_pose: " << best_pose.x << ", " << best_pose.y << ", " << best_pose.orientation << std::endl; - } - - // add pose to path and set robot position to it - if (found_pose == true) - { - geometry_msgs::Pose2D best_pose_msg; - best_pose_msg.x = best_pose.x*map_resolution + map_origin.x; - best_pose_msg.y = best_pose.y*map_resolution + map_origin.y; - best_pose_msg.theta = best_pose.orientation; - robot_path.push_back(best_pose_msg); - robot_pos = cv::Point(cvRound(best_pose.x), cvRound(best_pose.y)); - //std::cout << " best_pose = " << best_pose.x << ", " << best_pose.y << " max_cos_alpha = " << max_cos_alpha << std::endl; - ++found_with_map_acc; - } - } - - // 2. if no accessible pose was found, try with a directly computed pose shift - if (found_pose==false) - { - // get the rotation matrix - const float sin_theta = std::sin(pose->theta); - const float cos_theta = std::cos(pose->theta); - Eigen::Matrix R; - R << cos_theta, -sin_theta, sin_theta, cos_theta; - - // calculate the resulting rotated relative vector and the corresponding robot position - Eigen::Matrix v_rel_rot = R * robot_to_fov_vector_pixel; - Eigen::Matrix robot_position; - robot_position << pose->x-v_rel_rot(0,0), pose->y-v_rel_rot(1,0); - - // check the accessibility of the found point - geometry_msgs::Pose2D current_pose; - if(robot_position(0,0) >= 0 && robot_position(1,0) >= 0 && robot_position(0,0) < room_map.cols && - robot_position(1,0) < room_map.rows && room_map.at((int)robot_position(1,0), (int)robot_position(0,0)) == 255) // position accessible - { - current_pose.x = (robot_position(0,0) * map_resolution) + map_origin.x; - current_pose.y = (robot_position(1,0) * map_resolution) + map_origin.y; - current_pose.theta = pose->theta; - found_pose = true; - robot_path.push_back(current_pose); - - // set robot position to computed pose s.t. further planning is possible - robot_pos = cv::Point((int)robot_position(0,0), (int)robot_position(1,0)); - - ++found_with_shift; - } - } - - if (found_pose==false) - { - // 3. if still no accessible position was found, try with computing the A* path from robot position to fov_center and stop at the right distance - // get vector from current position to desired fov position - cv::Point fov_position(pose->x, pose->y); - std::vector astar_path; - path_planner.planPath(room_map, robot_pos, fov_position, 1.0, 0.0, map_resolution, 0, &astar_path); - - // find the point on the astar path that is on the viewing circle around the fov middlepoint - cv::Point accessible_position; - for(std::vector::iterator point=astar_path.begin(); point!=astar_path.end(); ++point) - { - if(cv::norm(*point-fov_position) <= fov_radius_pixel) - { - accessible_position = *point; - found_pose = true; - break; - } - } - - // add pose to path and set robot position to it - if(found_pose == true) - { - // get the angle s.t. the pose points to the fov middlepoint and save it - geometry_msgs::Pose2D current_pose; - current_pose.x = (accessible_position.x * map_resolution) + map_origin.x; - current_pose.y = (accessible_position.y * map_resolution) + map_origin.y; - current_pose.theta = std::atan2(pose->y-accessible_position.y, pose->x-accessible_position.x) - fov_to_front_offset_angle; // todo: check -fov_to_front_offset_angle - robot_path.push_back(current_pose); - // set robot position to computed pose s.t. further planning is possible - robot_pos = accessible_position; - ++found_with_astar; - } - } - - if (found_pose==false) - { - ++not_found; - std::cout << " not found." << std::endl; - } - -// testing -// std::cout << robot_pos << ", " << cv::Point(pose->x, pose->y) << std::endl; -// cv::Mat room_copy = room_map.clone(); -// cv::line(room_copy, robot_pos, cv::Point(pose->x, pose->y), cv::Scalar(127), 1); -// cv::circle(room_copy, robot_pos, 2, cv::Scalar(100), CV_FILLED); -// cv::imshow("pose", room_copy); -// cv::waitKey(); - -// if (robot_path.size()>0) -// std::cout << " robot_pos: " << robot_path.back().x << ", " << robot_path.back().y << ", " << robot_path.back().theta << std::endl; - } - std::cout << "Found with map_accessibility: " << found_with_map_acc << ", with shift: " << found_with_shift - << ", with A*: " << found_with_astar << ", not found: " << not_found << std::endl; -} - - -// computes the field of view center and the radius of the maximum incircle of a given field of view quadrilateral -// the metric coordinates are relative to the robot base coordinate system (i.e. the robot center) -// coordinate system definition: x points in forward direction of robot and camera, y points to the left side of the robot and z points upwards. x and y span the ground plane. -// fitting_circle_center_point_in_meter this is also considered the center of the field of view, because around this point the maximum radius incircle can be found that is still inside the fov -// fov_resolution resolution of the fov center and incircle computations, in [pixels/m] -void computeFOVCenterAndRadius(const std::vector >& fov_corners_meter, - float& fitting_circle_radius_in_meter, Eigen::Matrix& fitting_circle_center_point_in_meter, const double fov_resolution) -{ - // The general solution for the largest incircle is to find the critical points of a Voronoi graph and select the one - // with largest distance to the sides as circle center and its closest distance to the quadrilateral sides as radius - // see: http://math.stackexchange.com/questions/1948356/largest-incircle-inside-a-quadrilateral-radius-calculation - // -------------> easy solution: distance transform on fov, take max. value that is closest to center - - // read out field of view and convert to pixel coordinates, determine min, max and center coordinates - std::vector fov_corners_pixel; - cv::Point center_point_pixel(0,0); - cv::Point min_point(100000, 100000); - cv::Point max_point(-100000, -100000); - for(int i = 0; i < 4; ++i) - { - fov_corners_pixel.push_back(cv::Point(fov_corners_meter[i](0,0)*fov_resolution, fov_corners_meter[i](1,0)*fov_resolution)); - center_point_pixel += fov_corners_pixel.back(); - min_point.x = std::min(min_point.x, fov_corners_pixel.back().x); - min_point.y = std::min(min_point.y, fov_corners_pixel.back().y); - max_point.x = std::max(max_point.x, fov_corners_pixel.back().x); - max_point.y = std::max(max_point.y, fov_corners_pixel.back().y); - } - center_point_pixel.x = center_point_pixel.x/4 - min_point.x + 1; - center_point_pixel.y = center_point_pixel.y/4 - min_point.y + 1; - - // draw an image of the field of view and compute a distance transform - cv::Mat fov_image = cv::Mat::zeros(4+max_point.y-min_point.y, 4+max_point.x-min_point.x, CV_8UC1); - std::vector > polygon_array(1,fov_corners_pixel); - for (size_t i=0; i(v,u)>max_dist_val) - { - max_dist_val = fov_distance_transform.at(v,u); - max_dist_point = cv::Point(u,v); - center_dist = (center_point_pixel.x-u)*(center_point_pixel.x-u) + (center_point_pixel.y-v)*(center_point_pixel.y-v); - } - else if (fov_distance_transform.at(v,u) == max_dist_val) - { - double cdist = (center_point_pixel.x-u)*(center_point_pixel.x-u) + (center_point_pixel.y-v)*(center_point_pixel.y-v); - if (cdist < center_dist) - { - max_dist_val = fov_distance_transform.at(v,u); - max_dist_point = cv::Point(u,v); - center_dist = cdist; - } - } - } - } - - // compute fitting_circle_radius and center point (round last digit) - fitting_circle_radius_in_meter = 10*(int)(((max_dist_val-1.f)+5)*0.1) / fov_resolution; - std::cout << "fitting_circle_radius: " << fitting_circle_radius_in_meter << " m" << std::endl; - cv::Point2d center_point = cv::Point2d(10*(int)(((max_dist_point.x+min_point.x-1)+5.)*0.1), 10*(int)(((max_dist_point.y+min_point.y-1)+5.)*0.1))*(1./fov_resolution); - std::cout << "center point: " << center_point << " m" << std::endl; - fitting_circle_center_point_in_meter << center_point.x, center_point.y; - -// // display -// cv::normalize(fov_distance_transform, fov_distance_transform, 0, 1, cv::NORM_MINMAX); -// cv::circle(fov_distance_transform, max_dist_point, 2, cv::Scalar(0.2), -1); -// cv::imshow("fov_image", fov_image); -// cv::imshow("fov_distance_transform", fov_distance_transform); -// cv::waitKey(); -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/next_goal.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/next_goal.cpp deleted file mode 100644 index 47dbc76..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/next_goal.cpp +++ /dev/null @@ -1,245 +0,0 @@ - - -/*This code is used to plan the trajectory of the robot -*/ - -#include -#include -#include -#include -#include "nav_msgs/Odometry.h" -#include "nav_msgs/Path.h" -#include "geometry_msgs/PoseStamped.h" -#include -#include -#include - -using namespace std; -using namespace tf; - -float x_current; -float y_current; -bool flag = false; - -float normeNextGoal; - -class quaternion_ros -{ -public: - float w; - float x; - float y; - float z; - - quaternion_ros(); - - void toQuaternion(float pitch, float roll, float yaw); -}; - -void quaternion_ros::toQuaternion(float pitch, float roll, float yaw) -{ - - float cy = cos(yaw * 0.5); - float sy = sin(yaw * 0.5); - float cr = cos(roll * 0.5); - float sr = sin(roll * 0.5); - float cp = cos(pitch * 0.5); - float sp = sin(pitch * 0.5); - - w = cy * cr * cp + sy * sr * sp; - x = cy * sr * cp - sy * cr * sp; - y = cy * cr * sp + sy * sr * cp; - z = sy * cr * cp - cy * sr * sp; -} - -quaternion_ros::quaternion_ros() -{ - w = 1; - x = 0; - y = 0; - z = 0; -} - -class Path_planned -{ -public: - struct Goal - { - float x; - float y; - bool visited; - }; - - vector Path; - - Path_planned(); - //Path_planned(float x, float y, bool visited); - void addGoal(float X, float Y, bool visit); -}; - -Path_planned::Path_planned() -{ -} - -//Path_planned(float x, float y, bool visited) - -void Path_planned::addGoal(float X, float Y, bool visit) -{ - Path_planned::Goal newGoal; - newGoal.x = X; - newGoal.y = Y; - newGoal.visited = visit; - Path.push_back(newGoal); -} - -Path_planned planned_path; -nav_msgs::Path passed_path; -ros::Publisher pub_passed_path; -void pose_callback(const nav_msgs::Odometry &poses) -{ //里程计回调函数,用来计算当前机器人位置与前面目标点的距离,判断是否要发新的幕摆点 - x_current = poses.pose.pose.position.x; - y_current = poses.pose.pose.position.y; - passed_path.header = poses.header; - geometry_msgs::PoseStamped p; - p.header = poses.header; - p.pose = poses.pose.pose; - passed_path.poses.emplace_back(p); - //----------------------------------------------------------------------- - // pub_passed_path.publish(passed_path); -} - -int taille_last_path = 0; -bool new_path = false; - -//接受规划的路径 -void path_callback(const nav_msgs::Path &path) -{ - //注意为了rviz显示方便 路径一直在发,但是这里只用接受一次就好,当规划的路径发生变化时候再重新装载 - if ((planned_path.Path.size() == 0) || (path.poses.size() != taille_last_path)) - { - planned_path.Path.clear(); - new_path = true; - for (int i = 0; i < path.poses.size(); i++) - { - planned_path.addGoal(path.poses[i].pose.position.x, path.poses[i].pose.position.y, false); - - cout << path.poses[i].pose.position.x << " " << path.poses[i].pose.position.y << endl; - } - cout << "Recv path size:" << path.poses.size() << endl; - taille_last_path = path.poses.size(); - } -} - -// int **count_antonin(char *) - -void onesec(const ros::TimerEvent &even){ - flag = true; -} - -int main(int argc, char *argv[]) -{ - srand(time(0)); - ros::init(argc, argv, "next_goal"); - ros::NodeHandle next_goal; - ros::Subscriber sub1 = next_goal.subscribe("/odom", 1000, pose_callback); - ros::Subscriber sub2 = next_goal.subscribe("/room_exploration/room_exploration_server/coverage_path", 10000, path_callback); - - ros::Publisher pub1 = next_goal.advertise("/move_base_simple/goal", 1000); - // pub_passed_path = next_goal.advertise("/passed_path", 1000); - - ros::Rate loop_rate(10); - ros::Timer timer = next_goal.createTimer(ros::Duration(5),onesec,true,false); - - geometry_msgs::PoseStamped goal_msgs; - int count = 0; - double angle; - bool goal_reached = false; - - //获取发送下一个点的阈值 - if (!next_goal.getParam("/NextGoal/tolerance_goal", normeNextGoal)) - { - ROS_ERROR("Please set your tolerance_goal"); - return 0; - } - ROS_INFO("tolerance_goal=%f", normeNextGoal); - - while (ros::ok()) - { - ros::spinOnce(); - if (new_path) - { - count = 0; - new_path = false; - } - //当前处理的点 - // cout << " count : " << count << endl; - if (!planned_path.Path.empty()) - { - //当前距离达到了 - if (sqrt(pow(x_current - planned_path.Path[count].x, 2) + pow(y_current - planned_path.Path[count].y, 2)) <= normeNextGoal) - { - count++; - goal_reached = false; - flag = false; - timer.stop(); - timer.start(); - } - else if (flag == true) - { - count++; - goal_reached = false; - flag = false; - timer.stop(); - timer.start(); - } - - - if (goal_reached == false) - { - goal_msgs.header.frame_id = "odom"; - goal_msgs.header.stamp = ros::Time::now(); - goal_msgs.pose.position.x = planned_path.Path[count].x; - goal_msgs.pose.position.y = planned_path.Path[count].y; - goal_msgs.pose.position.z = 0; - if (count < planned_path.Path.size()) - {//计算发布的yaw,不过还有bug 但是不影响使用,yaw不会产生太大影响 - angle = atan2(planned_path.Path[count + 1].y - planned_path.Path[count].y, planned_path.Path[count + 1].x - planned_path.Path[count].x); - } - else - { - angle = atan2(planned_path.Path[0].y - planned_path.Path[count].y, planned_path.Path[0].x - planned_path.Path[count].x); - } - cout << angle << endl; - quaternion_ros q; - q.toQuaternion(0, 0, float(angle)); - goal_msgs.pose.orientation.w = q.w; - goal_msgs.pose.orientation.x = q.x; - goal_msgs.pose.orientation.y = q.y; - if (planned_path.Path[count].x < planned_path.Path[count + 1].x) - { - goal_msgs.pose.orientation.z = 0; - } - if (planned_path.Path[count].x > planned_path.Path[count + 1].x) - { - goal_msgs.pose.orientation.z = 2; - } - - cout << " NEW GOAL " << endl; - cout << " x = " << planned_path.Path[count].x << " y = " << planned_path.Path[count].y << endl; - - goal_reached = true; - pub1.publish(goal_msgs); - } - cout << x_current << " " << y_current << endl; - //当前 - cout << planned_path.Path[count].x << " " << planned_path.Path[count].y << endl; - //目标 - cout << " DISTANCE : " << sqrt((x_current - planned_path.Path[count].x) * (x_current - planned_path.Path[count].x) + (y_current - planned_path.Path[count].y) * (y_current - planned_path.Path[count].y)) << endl; - // 距离公式 - } - - loop_rate.sleep(); - } - - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_client.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_client.cpp deleted file mode 100644 index fc8eeb2..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_client.cpp +++ /dev/null @@ -1,225 +0,0 @@ -#include -#include - -#include -#include - -#include -#include - -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include -#include - -// overload of << operator for geometry_msgs::Pose2D to wanted format -std::ostream& operator<<(std::ostream& os, const geometry_msgs::Pose2D& obj) -{ - std::stringstream ss; - ss << "[" << obj.x << ", " << obj.y << ", " << obj.theta << "]"; - os << ss.rdbuf(); - return os; -} - -int main(int argc, char **argv) -{ - ros::init(argc, argv, "room_exploration_client"); - ros::NodeHandle priv_nh("~"); - ros::NodeHandle nh; - - actionlib::SimpleActionClient ac("room_exploration_server", true); - - // read params - bool use_test_maps; - priv_nh.param("use_test_maps", use_test_maps, true); - double resolution; - priv_nh.param("resolution", resolution, 0.05); - std::vector origin (3,0); - priv_nh.param("origin", origin, origin); - double robot_radius; - priv_nh.param("robot_radius", robot_radius, 0.15); - double coverage_radius; - priv_nh.param("coverage_radius", coverage_radius, 0.15); - std::vector start_pos = {0, 0, 0}; - priv_nh.param("starting_position", start_pos, start_pos); - - if (start_pos.size() != 3) - { - ROS_FATAL("starting_position must contain 3 values"); - return -1; - } - - std::string image_path; - if (use_test_maps) - { - // read in test map - const std::string test_map_path = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/"; - image_path = test_map_path + "500_500.png"; - } - else - { - std::string env_pack_path; - priv_nh.param("env_pack", env_pack_path, "ipa_room_segmentation"); - std::string file_name; - priv_nh.param("image", file_name, "map.pgm"); - std::string map_name; - priv_nh.param("robot_env", map_name, "lab_ipa"); - - image_path = env_pack_path + "/envs/" + map_name + "/" + file_name; - } - - cv::Mat map_flipped = cv::imread(image_path, 0);//读入灰度图片 - cv::Mat map; - cv::flip(map_flipped, map, 0); - //make non-white pixels black - for (int y = 0; y < map.rows; y++) - { - for (int x = 0; x < map.cols; x++) - { - //find not reachable regions and make them black - if (map.at(y, x) < 250) - { - map.at(y, x) = 0; - } - //else make it white - else - { - map.at(y, x) = 255; - } - } - } - std::cout << "map-size: " << map.rows << "x" << map.cols << std::endl; - -// const std::string topic = "/move_base/global_costmap/costmap"; -// nav_msgs::OccupancyGrid grid; -// grid = *(ros::topic::waitForMessage(topic, nh)); -// ROS_INFO("got grid"); -// std::vector& dats = grid.data; -// std::cout << dats.size() << std::endl; -// cv::Mat test_map = cv::Mat(grid.info.height, grid.info.width, map.type()); -// for(size_t v = 0; v < test_map.rows; ++v) -// for(size_t u = 0; u < test_map.cols; ++u) -// test_map.at(v,u) = (uchar)(2.55*(double)dats[v*grid.info.width+u]); -// cv::imshow("testtt", test_map); -// cv::waitKey(); - - ROS_INFO("Waiting for action server to start."); - // wait for the action server to start - ac.waitForServer(); //will wait for infinite time - - ROS_INFO("Action server started, sending goal."); - - DynamicReconfigureClient drc_exp(nh, "room_exploration_server/set_parameters", "room_exploration_server/parameter_updates"); - drc_exp.setConfig("room_exploration_algorithm", 8); - // drc_exp.setConfig("room_exploration_algorithm", 3); - drc_exp.setConfig("execute_path", true); -// drc_exp.setConfig("path_eps", 3); -// drc_exp.setConfig("grid_line_length", 15); -// drc_exp.setConfig("path_eps", 10); -// drc_exp.setConfig("cell_size", 10); -// drc_exp.setConfig("plan_for_footprint", true); -// drc_exp.setConfig("goal_eps", 0.0); -// drc_exp.setConfig("delta_theta", 0.005); - -// cv::Point2f src_center(map.cols/2.0F, map.rows/2.0F); -// cv::Mat rot_mat = getRotationMatrix2D(src_center, 180, 1.0); -// cv::Mat dst; -// cv::warpAffine(map, dst, rot_mat, map.size()); -// cv::flip(dst, map, 1); -// cv::imshow("map", map); -// cv::waitKey(); - - sensor_msgs::Image labeling; - cv_bridge::CvImage cv_image; -// cv_image.header.stamp = ros::Time::now(); - cv_image.encoding = "mono8"; - cv_image.image = map; - cv_image.toImageMsg(labeling); - - geometry_msgs::Pose map_origin; - map_origin.position.x = origin[0]; - map_origin.position.y = origin[1]; - map_origin.position.z = origin[2]; - - geometry_msgs::Pose2D starting_position; - starting_position.x = start_pos[0]; - starting_position.y = start_pos[1]; - starting_position.theta = start_pos[2]; - - std::vector fov_points(4); - fov_points[0].x = 0.04035; // this field of view represents the off-center iMop floor wiping device - fov_points[0].y = -0.136; - fov_points[1].x = 0.04035; - fov_points[1].y = 0.364; - fov_points[2].x = 0.54035; // todo: this definition is mirrored on x (y-coordinates are inverted) to work properly --> check why, make it work the intuitive way - fov_points[2].y = 0.364; - fov_points[3].x = 0.54035; - fov_points[3].y = -0.136; - int planning_mode = 2; // viewpoint planning -// fov_points[0].x = 0.15; // this field of view fits a Asus Xtion sensor mounted at 0.63m height (camera center) pointing downwards to the ground in a respective angle -// fov_points[0].y = 0.35; -// fov_points[1].x = 0.15; -// fov_points[1].y = -0.35; -// fov_points[2].x = 1.15; -// fov_points[2].y = -0.65; -// fov_points[3].x = 1.15; -// fov_points[3].y = 0.65; -// int planning_mode = 2; // viewpoint planning -// fov_points[0].x = -0.3; // this is the working area of a vacuum cleaner with 60 cm width -// fov_points[0].y = 0.3; -// fov_points[1].x = -0.3; -// fov_points[1].y = -0.3; -// fov_points[2].x = 0.3; -// fov_points[2].y = -0.3; -// fov_points[3].x = 0.3; -// fov_points[3].y = 0.3; -// int planning_mode = 1; // footprint planning - geometry_msgs::Point32 fov_origin; - fov_origin.x = 0.; - fov_origin.y = 0.; - - ipa_building_msgs::RoomExplorationGoal goal; - goal.input_map = labeling; - goal.map_resolution = resolution; - goal.map_origin = map_origin; - goal.robot_radius = robot_radius; // turtlebot, used for sim 0.177, 0.4 - goal.coverage_radius = coverage_radius; - goal.field_of_view = fov_points; - goal.field_of_view_origin = fov_origin; - goal.starting_position = starting_position; - goal.planning_mode = planning_mode; - ac.sendGoal(goal); - - ac.waitForResult(ros::Duration()); - ipa_building_msgs::RoomExplorationResultConstPtr action_result = ac.getResult(); - - std::cout << "Got a path with " << action_result->coverage_path.size() << " nodes." << std::endl; - - // display path - // const double inverse_map_resolution = 1./goal.map_resolution; - // cv::Mat path_map = map.clone(); - // for (size_t point=0; pointcoverage_path.size(); ++point) - // { - // const cv::Point point1((action_result->coverage_path[point].x-map_origin.position.x)*inverse_map_resolution, (action_result->coverage_path[point].y-map_origin.position.y)*inverse_map_resolution); - // cv::circle(path_map, point1, 2, cv::Scalar(128), -1); - // if (point > 0) - // { - // const cv::Point point2((action_result->coverage_path[point-1].x-map_origin.position.x)*inverse_map_resolution, (action_result->coverage_path[point-1].y-map_origin.position.y)*inverse_map_resolution); - // cv::line(path_map, point1, point2, cv::Scalar(128), 1); - // } - // std::cout << "coverage_path[" << point << "]: x=" << action_result->coverage_path[point].x << ", y=" << action_result->coverage_path[point].y << ", theta=" << action_result->coverage_path[point].theta << std::endl; - // } - // cv::imshow("path", path_map); - // cv::waitKey(); - - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_server.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_server.cpp deleted file mode 100644 index 730b27d..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_server.cpp +++ /dev/null @@ -1,1281 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2016 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_exploration - * - * \author - * Author: Florian Jordan, Richard Bormann - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 03.2016 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - - -#include - -// constructor -RoomExplorationServer::RoomExplorationServer(ros::NodeHandle nh, std::string name_of_the_action) : - node_handle_(nh), - room_exploration_server_(node_handle_, name_of_the_action, boost::bind(&RoomExplorationServer::exploreRoom, this, _1), false) -{ - // dynamic reconfigure - room_exploration_dynamic_reconfigure_server_.setCallback(boost::bind(&RoomExplorationServer::dynamic_reconfigure_callback, this, _1, _2)); - - // Parameters - std::cout << "\n--------------------------\nRoom Exploration Parameters:\n--------------------------\n"; - node_handle_.param("room_exploration_algorithm", room_exploration_algorithm_, 1); - std::cout << "room_exploration/room_exploration_algorithm = " << room_exploration_algorithm_ << std::endl; - node_handle_.param("display_trajectory", display_trajectory_, false); - std::cout << "room_exploration/display_trajectory = " << display_trajectory_ << std::endl; - - node_handle_.param("map_correction_closing_neighborhood_size", map_correction_closing_neighborhood_size_, 2); - std::cout << "room_exploration/map_correction_closing_neighborhood_size = " << map_correction_closing_neighborhood_size_ << std::endl; - - node_handle_.param("return_path", return_path_, true); - std::cout << "room_exploration/return_path = " << return_path_ << std::endl; - node_handle_.param("execute_path", execute_path_, false); - std::cout << "room_exploration/execute_path = " << execute_path_ << std::endl; - node_handle_.param("goal_eps", goal_eps_, 0.35); - std::cout << "room_exploration/goal_eps = " << goal_eps_ << std::endl; - node_handle_.param("use_dyn_goal_eps", use_dyn_goal_eps_, false); - std::cout << "room_exploration/use_dyn_goal_eps = " << use_dyn_goal_eps_ << std::endl; - node_handle_.param("interrupt_navigation_publishing", interrupt_navigation_publishing_, false); - std::cout << "room_exploration/interrupt_navigation_publishing = " << interrupt_navigation_publishing_ << std::endl; - node_handle_.param("revisit_areas", revisit_areas_, false); - std::cout << "room_exploration/revisit_areas = " << revisit_areas_ << std::endl; - node_handle_.param("left_sections_min_area", left_sections_min_area_, 0.01); - std::cout << "room_exploration/left_sections_min_area_ = " << left_sections_min_area_ << std::endl; - global_costmap_topic_ = "/move_base/global_costmap/costmap"; - node_handle_.param("global_costmap_topic", global_costmap_topic_); - std::cout << "room_exploration/global_costmap_topic = " << global_costmap_topic_ << std::endl; - node_handle_.param("coverage_check_service_name", coverage_check_service_name_, "/room_exploration/coverage_check_server/coverage_check"); - std::cout << "room_exploration/coverage_check_service_name = " << coverage_check_service_name_ << std::endl; - map_frame_ = "map"; - node_handle_.param("map_frame", map_frame_); - std::cout << "room_exploration/map_frame = " << map_frame_ << std::endl; - camera_frame_ = "base_link"; - node_handle_.param("camera_frame", camera_frame_); - std::cout << "room_exploration/camera_frame = " << camera_frame_ << std::endl; - - - if (room_exploration_algorithm_ == 1) - ROS_INFO("You have chosen the grid exploration method."); - else if(room_exploration_algorithm_ == 2) - ROS_INFO("You have chosen the boustrophedon exploration method."); - else if(room_exploration_algorithm_ == 3) - ROS_INFO("You have chosen the neural network exploration method."); - else if(room_exploration_algorithm_ == 4) - ROS_INFO("You have chosen the convexSPP exploration method."); - else if(room_exploration_algorithm_ == 5) - ROS_INFO("You have chosen the flow network exploration method."); - else if(room_exploration_algorithm_ == 6) - ROS_INFO("You have chosen the energy functional exploration method."); - else if(room_exploration_algorithm_ == 7) - ROS_INFO("You have chosen the voronoi exploration method."); - else if(room_exploration_algorithm_ == 8) - ROS_INFO("You have chosen the boustrophedon variant exploration method."); - - if (room_exploration_algorithm_ == 1) // get grid point exploration parameters - { - node_handle_.param("tsp_solver", tsp_solver_, (int)TSP_CONCORDE); - std::cout << "room_exploration/tsp_solver = " << tsp_solver_ << std::endl; - int timeout=0; - node_handle_.param("tsp_solver_timeout", timeout, 600); - tsp_solver_timeout_ = timeout; - std::cout << "room_exploration/tsp_solver_timeout = " << tsp_solver_timeout_ << std::endl; - - } - else if ((room_exploration_algorithm_ == 2) || (room_exploration_algorithm_ == 8)) // set boustrophedon (variant) exploration parameters - { - node_handle_.param("min_cell_area", min_cell_area_, 10.0); - std::cout << "room_exploration/min_cell_area_ = " << min_cell_area_ << std::endl; - node_handle_.param("path_eps", path_eps_, 2.0); - std::cout << "room_exploration/path_eps_ = " << path_eps_ << std::endl; - node_handle_.param("grid_obstacle_offset", grid_obstacle_offset_, 0.0); - std::cout << "room_exploration/grid_obstacle_offset_ = " << grid_obstacle_offset_ << std::endl; - node_handle_.param("max_deviation_from_track", max_deviation_from_track_, -1); - std::cout << "room_exploration/max_deviation_from_track_ = " << max_deviation_from_track_ << std::endl; - node_handle_.param("cell_visiting_order", cell_visiting_order_, 1); - std::cout << "room_exploration/cell_visiting_order = " << cell_visiting_order_ << std::endl; - } - else if (room_exploration_algorithm_ == 3) // set neural network explorator parameters - { - node_handle_.param("step_size", step_size_, 0.008); - std::cout << "room_exploration/step_size_ = " << step_size_ << std::endl; - node_handle_.param("A", A_, 17); - std::cout << "room_exploration/A_ = " << A_ << std::endl; - node_handle_.param("B", B_, 5); - std::cout << "room_exploration/B_ = " << B_ << std::endl; - node_handle_.param("D", D_, 7); - std::cout << "room_exploration/D_ = " << D_ << std::endl; - node_handle_.param("E", E_, 80); - std::cout << "room_exploration/E_ = " << E_ << std::endl; - node_handle_.param("mu", mu_, 1.03); - std::cout << "room_exploration/mu_ = " << mu_ << std::endl; - node_handle_.param("delta_theta_weight", delta_theta_weight_, 0.15); - std::cout << "room_exploration/delta_theta_weight_ = " << delta_theta_weight_ << std::endl; - } - else if (room_exploration_algorithm_ == 4) // set convexSPP explorator parameters - { - node_handle_.param("cell_size", cell_size_, 0); - std::cout << "room_exploration/cell_size_ = " << cell_size_ << std::endl; - node_handle_.param("delta_theta", delta_theta_, 1.570796); - std::cout << "room_exploration/delta_theta = " << delta_theta_ << std::endl; - } - else if (room_exploration_algorithm_ == 5) // set flowNetwork explorator parameters - { - node_handle_.param("curvature_factor", curvature_factor_, 1.1); - std::cout << "room_exploration/curvature_factor = " << curvature_factor_ << std::endl; - node_handle_.param("max_distance_factor", max_distance_factor_, 1.0); - std::cout << "room_exploration/max_distance_factor_ = " << max_distance_factor_ << std::endl; - node_handle_.param("cell_size", cell_size_, 0); - std::cout << "room_exploration/cell_size_ = " << cell_size_ << std::endl; - node_handle_.param("path_eps", path_eps_, 3.0); - std::cout << "room_exploration/path_eps_ = " << path_eps_ << std::endl; - } - else if (room_exploration_algorithm_ == 6) // set energyfunctional explorator parameters - { - } - else if (room_exploration_algorithm_ == 7) // set voronoi explorator parameters - { - } - - if (revisit_areas_ == true) - ROS_INFO("Areas not seen after the initial execution of the path will be revisited."); - else - ROS_INFO("Areas not seen after the initial execution of the path will NOT be revisited."); - - - // min area for revisiting left sections - - path_pub_ = node_handle_.advertise("coverage_path", 10000); - cmd_vel_pub_ = node_handle_.advertise("cmd_vel", 10); - obstacles_sub_ = node_handle_.subscribe("stereo_msg",1,boost::bind(&RoomExplorationServer::stereo_CB,this,_1)); - cmd_vel_sub_ = node_handle_.subscribe("cmd_vel",1,boost::bind(&RoomExplorationServer::cmd_CB,this,_1)); - cancel_pub_ = node_handle_.advertise("/move_base/cancel", 10); - //Start action server - room_exploration_server_.start(); - - ROS_INFO("Action server for room exploration has been initialized......"); -} - - -// Callback function for dynamic reconfigure. -void RoomExplorationServer::dynamic_reconfigure_callback(ipa_room_exploration::RoomExplorationConfig &config, uint32_t level) -{ - // set segmentation algorithm - std::cout << "######################################################################################" << std::endl; - std::cout << "Dynamic reconfigure request:" << std::endl; - - room_exploration_algorithm_ = config.room_exploration_algorithm; - std::cout << "room_exploration/path_planning_algorithm_ = " << room_exploration_algorithm_ << std::endl; - - map_correction_closing_neighborhood_size_ = config.map_correction_closing_neighborhood_size; - std::cout << "room_exploration/map_correction_closing_neighborhood_size_ = " << map_correction_closing_neighborhood_size_ << std::endl; - - return_path_ = config.return_path; - std::cout << "room_exploration/return_path_ = " << return_path_ << std::endl; - // execute_path_ = config.execute_path; - execute_path_ = true; - std::cout << "room_exploration/execute_path_ = " << execute_path_ << std::endl; - goal_eps_ = config.goal_eps; - std::cout << "room_exploration/goal_eps_ = " << goal_eps_ << std::endl; - use_dyn_goal_eps_ = config.use_dyn_goal_eps; - std::cout << "room_exploration/use_dyn_goal_eps_ = " << use_dyn_goal_eps_ << std::endl; - interrupt_navigation_publishing_ = config.interrupt_navigation_publishing; - std::cout << "room_exploration/interrupt_navigation_publishing_ = " << interrupt_navigation_publishing_ << std::endl; - revisit_areas_ = config.revisit_areas; - std::cout << "room_exploration/revisit_areas_ = " << revisit_areas_ << std::endl; - left_sections_min_area_ = config.left_sections_min_area; - std::cout << "room_exploration/left_sections_min_area = " << left_sections_min_area_ << std::endl; - global_costmap_topic_ = config.global_costmap_topic; - std::cout << "room_exploration/global_costmap_topic_ = " << global_costmap_topic_ << std::endl; - coverage_check_service_name_ = config.coverage_check_service_name; - std::cout << "room_exploration/coverage_check_service_name_ = " << coverage_check_service_name_ << std::endl; - map_frame_ = config.map_frame; - std::cout << "room_exploration/map_frame_ = " << map_frame_ << std::endl; - camera_frame_ = config.camera_frame; - std::cout << "room_exploration/camera_frame_ = " << camera_frame_ << std::endl; - - // set parameters regarding the chosen algorithm - if (room_exploration_algorithm_ == 1) // set grid point exploration parameters - { - tsp_solver_ = config.tsp_solver; - std::cout << "room_exploration/tsp_solver_ = " << tsp_solver_ << std::endl; - tsp_solver_timeout_ = config.tsp_solver_timeout; - std::cout << "room_exploration/tsp_solver_timeout_ = " << tsp_solver_timeout_ << std::endl; - } - else if ((room_exploration_algorithm_ == 2) || (room_exploration_algorithm_ == 8)) // set boustrophedon (variant) exploration parameters - { - min_cell_area_ = config.min_cell_area; - std::cout << "room_exploration/min_cell_area_ = " << min_cell_area_ << std::endl; - path_eps_ = config.path_eps; - std::cout << "room_exploration/path_eps_ = " << path_eps_ << std::endl; - grid_obstacle_offset_ = config.grid_obstacle_offset; - std::cout << "room_exploration/grid_obstacle_offset_ = " << grid_obstacle_offset_ << std::endl; - max_deviation_from_track_ = config.max_deviation_from_track; - std::cout << "room_exploration/max_deviation_from_track_ = " << max_deviation_from_track_ << std::endl; - cell_visiting_order_ = config.cell_visiting_order; - std::cout << "room_exploration/cell_visiting_order = " << cell_visiting_order_ << std::endl; - } - else if (room_exploration_algorithm_ == 3) // set neural network explorator parameters - { - step_size_ = config.step_size; - std::cout << "room_exploration/step_size_ = " << step_size_ << std::endl; - A_ = config.A; - std::cout << "room_exploration/A_ = " << A_ << std::endl; - B_ = config.B; - std::cout << "room_exploration/B_ = " << B_ << std::endl; - D_ = config.D; - std::cout << "room_exploration/D_ = " << D_ << std::endl; - E_ = config.E; - std::cout << "room_exploration/E_ = " << E_ << std::endl; - mu_ = config.mu; - std::cout << "room_exploration/mu_ = " << mu_ << std::endl; - delta_theta_weight_ = config.delta_theta_weight; - std::cout << "room_exploration/delta_theta_weight_ = " << delta_theta_weight_ << std::endl; - } - else if (room_exploration_algorithm_ == 4) // set convexSPP explorator parameters - { - cell_size_ = config.cell_size; - std::cout << "room_exploration/cell_size_ = " << cell_size_ << std::endl; - delta_theta_ = config.delta_theta; - std::cout << "room_exploration/delta_theta_ = " << delta_theta_ << std::endl; - } - else if (room_exploration_algorithm_ == 5) // set flowNetwork explorator parameters - { - curvature_factor_ = config.curvature_factor; - std::cout << "room_exploration/delta_theta_ = " << delta_theta_ << std::endl; - max_distance_factor_ = config.max_distance_factor; - std::cout << "room_exploration/max_distance_factor_ = " << max_distance_factor_ << std::endl; - cell_size_ = config.cell_size; - std::cout << "room_exploration/cell_size_ = " << cell_size_ << std::endl; - path_eps_ = config.path_eps; - std::cout << "room_exploration/path_eps_ = " << path_eps_ << std::endl; - } - else if (room_exploration_algorithm_ == 6) // set energyFunctional explorator parameters - { - } - else if (room_exploration_algorithm_ == 7) // set voronoi explorator parameters - { - } - - - if (revisit_areas_ == true) - std::cout << "Areas not seen after the initial execution of the path will be revisited." << std::endl; - else - std::cout << "Areas not seen after the initial execution of the path will NOT be revisited." << std::endl; - - std::cout << "######################################################################################" << std::endl; -} - - -// Function executed by Call. -void RoomExplorationServer::exploreRoom(const ipa_building_msgs::RoomExplorationGoalConstPtr &goal) -{ - ROS_INFO("*****Room Exploration action server*****"); - - // ***************** I. read the given parameters out of the goal ***************** - // todo: this is only correct if the map is not rotated - const cv::Point2d map_origin(goal->map_origin.position.x, goal->map_origin.position.y); - const float map_resolution = goal->map_resolution; // in [m/cell] - const float map_resolution_inverse = 1./map_resolution; - std::cout << "map origin: " << map_origin << " m map resolution: " << map_resolution << " m/cell" << std::endl; - - const float robot_radius = goal->robot_radius; - const int robot_radius_in_pixel = (robot_radius / map_resolution); - std::cout << "robot radius: " << robot_radius << " m (" << robot_radius_in_pixel << " px)" << std::endl; - - const cv::Point starting_position((goal->starting_position.x-map_origin.x)/map_resolution, (goal->starting_position.y-map_origin.y)/map_resolution); - std::cout << "starting point: (" << goal->starting_position.x << ", " << goal->starting_position.y << ") m (" << starting_position << " px)" << std::endl; - - planning_mode_ = goal->planning_mode; - if (planning_mode_==PLAN_FOR_FOOTPRINT) - std::cout << "planning mode: planning coverage path with robot's footprint" <input_map, sensor_msgs::image_encodings::MONO8); - cv::Mat room_map = cv_ptr_obj->image; - - // determine room size - int area_px = 0; // room area in pixels - for (int v=0; v(v,u) >= 250) - area_px++; - std::cout << "### room area = " << area_px*map_resolution*map_resolution << " m^2" << std::endl; - - // closing operation to neglect inaccessible areas and map errors/artifacts - cv::Mat temp; - cv::erode(room_map, temp, cv::Mat(), cv::Point(-1, -1), map_correction_closing_neighborhood_size_); - cv::dilate(temp, room_map, cv::Mat(), cv::Point(-1, -1), map_correction_closing_neighborhood_size_); - - // remove unconnected, i.e. inaccessible, parts of the room (i.e. obstructed by furniture), only keep the room with the largest area - const bool room_not_empty = removeUnconnectedRoomParts(room_map); - if (room_not_empty == false) - { - std::cout << "RoomExplorationServer::exploreRoom: Warning: the requested room is too small for generating exploration trajectories." << std::endl; - ipa_building_msgs::RoomExplorationResult action_result; - room_exploration_server_.setAborted(action_result); - return; - } - - // get the grid size, to check the areas that should be revisited later - double grid_spacing_in_meter = 0.0; // is the square grid cell side length that fits into the circle with the robot's coverage radius or fov coverage radius - float fitting_circle_radius_in_meter = 0; - Eigen::Matrix fitting_circle_center_point_in_meter; // this is also considered the center of the field of view, because around this point the maximum radius incircle can be found that is still inside the fov - std::vector > fov_corners_meter(4); - const double fov_resolution = 1000; // in [cell/meter] - if(planning_mode_ == PLAN_FOR_FOV) // read out the given fov-vectors, if needed - { - // Get the size of one grid cell s.t. the grid can be completely covered by the field of view (fov) from all rotations around it. - for(int i = 0; i < 4; ++i) - fov_corners_meter[i] << goal->field_of_view[i].x, goal->field_of_view[i].y; - computeFOVCenterAndRadius(fov_corners_meter, fitting_circle_radius_in_meter, fitting_circle_center_point_in_meter, fov_resolution); - // get the edge length of the grid square that fits into the fitting_circle_radius - grid_spacing_in_meter = fitting_circle_radius_in_meter*std::sqrt(2); - } - else // if planning should be done for the footprint, read out the given coverage radius - { - grid_spacing_in_meter = goal->coverage_radius*std::sqrt(2); - } - // map the grid size to an int in pixel coordinates, using floor method - const double grid_spacing_in_pixel = grid_spacing_in_meter/map_resolution; // is the square grid cell side length that fits into the circle with the robot's coverage radius or fov coverage radius, multiply with sqrt(2) to receive the whole working width - std::cout << "grid size: " << grid_spacing_in_meter << " m (" << grid_spacing_in_pixel << " px)" << std::endl; - // set the cell_size_ for #4 convexSPP explorator or #5 flowNetwork explorator if it is not provided - if (cell_size_ <= 0) - cell_size_ = std::floor(grid_spacing_in_pixel); - - - // ***************** II. plan the path using the wanted planner ***************** - // todo: consider option to provide the inflated map or the robot radius to the functions instead of inflating with half cell size there - Eigen::Matrix zero_vector; - zero_vector << 0, 0; - std::vector exploration_path; - if (room_exploration_algorithm_ == 1) // use grid point explorator - { - // plan path - if(planning_mode_ == PLAN_FOR_FOV) - grid_point_planner.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, std::floor(grid_spacing_in_pixel), false, fitting_circle_center_point_in_meter, tsp_solver_, tsp_solver_timeout_); - else - grid_point_planner.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, std::floor(grid_spacing_in_pixel), true, zero_vector, tsp_solver_, tsp_solver_timeout_); - } - else if (room_exploration_algorithm_ == 2) // use boustrophedon explorator - { - // plan path - if(planning_mode_ == PLAN_FOR_FOV) - boustrophedon_explorer_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, grid_obstacle_offset_, path_eps_, cell_visiting_order_, false, fitting_circle_center_point_in_meter, min_cell_area_, max_deviation_from_track_); - else - boustrophedon_explorer_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, grid_obstacle_offset_, path_eps_, cell_visiting_order_, true, zero_vector, min_cell_area_, max_deviation_from_track_); - } - else if (room_exploration_algorithm_ == 3) // use neural network explorator - { - neural_network_explorator_.setParameters(A_, B_, D_, E_, mu_, step_size_, delta_theta_weight_); - // plan path - if(planning_mode_ == PLAN_FOR_FOV) - neural_network_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, false, fitting_circle_center_point_in_meter, false); - else - neural_network_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, true, zero_vector, false); - } - else if (room_exploration_algorithm_ == 4) // use convexSPP explorator - { - // plan coverage path - if(planning_mode_ == PLAN_FOR_FOV) - convex_SPP_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, cell_size_, delta_theta_, fov_corners_meter, fitting_circle_center_point_in_meter, 0., 7, false); - else - convex_SPP_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, cell_size_, delta_theta_, fov_corners_meter, zero_vector, goal->coverage_radius, 7, true); - } - else if (room_exploration_algorithm_ == 5) // use flow network explorator - { - if(planning_mode_ == PLAN_FOR_FOV) - flow_network_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, cell_size_, fitting_circle_center_point_in_meter, grid_spacing_in_pixel, false, path_eps_, curvature_factor_, max_distance_factor_); - else - flow_network_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, cell_size_, zero_vector, grid_spacing_in_pixel, true, path_eps_, curvature_factor_, max_distance_factor_); - } - else if (room_exploration_algorithm_ == 6) // use energy functional explorator - { - if(planning_mode_ == PLAN_FOR_FOV) - energy_functional_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, false, fitting_circle_center_point_in_meter); - else - energy_functional_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, true, zero_vector); - } - else if (room_exploration_algorithm_ == 7) // use voronoi explorator - { - // create a usable occupancyGrid map out of the given room map - nav_msgs::OccupancyGrid room_gridmap; - matToMap(room_gridmap, room_map); - - // do not find nearest pose to starting-position and start there because of issue in planner when starting position is provided - if(planning_mode_==PLAN_FOR_FOV) - { -// cv::Mat distance_transform; -// cv::distanceTransform(room_map, distance_transform, CV_DIST_L2, CV_DIST_MASK_PRECISE); -// cv::Mat display = room_map.clone(); -// // todoo: get max dist from map and parametrize loop -// for (int s=5; s<100; s+=10) -// { -// for (int v=0; v(v,u)) == s) -// { -// display.at(v,u) = 0; -// } -// } -// } -// } -// cv::imshow("distance_transform", distance_transform); -// cv::imshow("trajectories", display); -// cv::waitKey(); - - // convert fov-radius to pixel integer - const int grid_spacing_as_int = (int)std::floor(grid_spacing_in_pixel); - std::cout << "grid spacing in pixel: " << grid_spacing_as_int << std::endl; - - // create the object that plans the path, based on the room-map - VoronoiMap vm(room_gridmap.data.data(), room_gridmap.info.width, room_gridmap.info.height, grid_spacing_as_int, 2, true); // a perfect alignment of the paths cannot be assumed here (in contrast to footprint planning) because the well-aligned fov trajectory is mapped to robot locations that may not be on parallel tracks - // get the exploration path - std::vector fov_path_uncleaned; - vm.setSingleRoom(true); //to force to consider all rooms - vm.generatePath(fov_path_uncleaned, cv::Mat(), starting_position.x, starting_position.y); // start position in room center - - // clean path from subsequent double occurrences of the same pose - std::vector fov_path; - downsampleTrajectory(fov_path_uncleaned, fov_path, 2.*2.); //5*5); - - // convert to poses with angles - RoomRotator room_rotation; - room_rotation.transformPointPathToPosePath(fov_path); - - // map fov-path to robot-path - //cv::Point start_pos(fov_path.begin()->x, fov_path.begin()->y); - //mapPath(room_map, exploration_path, fov_path, fitting_circle_center_point_in_meter, map_resolution, map_origin, start_pos); - ROS_INFO("Starting to map from field of view pose to robot pose"); - cv::Point robot_starting_position = (fov_path.size()>0 ? cv::Point(fov_path[0].x, fov_path[0].y) : starting_position); - cv::Mat inflated_room_map; - cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), (int)std::floor(goal->robot_radius/map_resolution)); - mapPath(inflated_room_map, exploration_path, fov_path, fitting_circle_center_point_in_meter, map_resolution, map_origin, robot_starting_position); - } - else - { - // convert coverage-radius to pixel integer - //int coverage_diameter = (int)std::floor(2.*goal->coverage_radius/map_resolution); - //std::cout << "coverage radius in pixel: " << coverage_diameter << std::endl; - const int grid_spacing_as_int = (int)std::floor(grid_spacing_in_pixel); - std::cout << "grid spacing in pixel: " << grid_spacing_as_int << std::endl; - - // create the object that plans the path, based on the room-map - VoronoiMap vm(room_gridmap.data.data(), room_gridmap.info.width, room_gridmap.info.height, grid_spacing_as_int, 2, true); //coverage_diameter-1); // diameter in pixel (full working width can be used here because tracks are planned in parallel motion) - // get the exploration path - std::vector exploration_path_uncleaned; - vm.setSingleRoom(true); //to force to consider all rooms - vm.generatePath(exploration_path_uncleaned, cv::Mat(), starting_position.x, starting_position.y); // start position in room center - - // clean path from subsequent double occurrences of the same pose - downsampleTrajectory(exploration_path_uncleaned, exploration_path, 3.5*3.5); //3.5*3.5); - - // convert to poses with angles - RoomRotator room_rotation; - room_rotation.transformPointPathToPosePath(exploration_path); - - // transform to global coordinates - for(size_t pos=0; pos 0) -#if CV_MAJOR_VERSION<=3 - cv::circle(fov_path_map, 2*cv::Point((exploration_path[0].x-map_origin.x)/map_resolution, (exploration_path[0].y-map_origin.y)/map_resolution), 2, cv::Scalar(150), CV_FILLED); -#else - cv::circle(fov_path_map, 2*cv::Point((exploration_path[0].x-map_origin.x)/map_resolution, (exploration_path[0].y-map_origin.y)/map_resolution), 2, cv::Scalar(150), cv::FILLED); -#endif - for(size_t i=1; i<=step; ++i) - { - cv::Point p1((exploration_path[i-1].x-map_origin.x)/map_resolution, (exploration_path[i-1].y-map_origin.y)/map_resolution); - cv::Point p2((exploration_path[i].x-map_origin.x)/map_resolution, (exploration_path[i].y-map_origin.y)/map_resolution); -#if CV_MAJOR_VERSION<=3 - cv::circle(fov_path_map, 2*p2, 2, cv::Scalar(200), CV_FILLED); -#else - cv::circle(fov_path_map, 2*p2, 2, cv::Scalar(200), cv::FILLED); -#endif - cv::line(fov_path_map, 2*p1, 2*p2, cv::Scalar(150), 1); - cv::Point p3(p2.x+5*cos(exploration_path[i].theta), p2.y+5*sin(exploration_path[i].theta)); - if (i==step) - { -#if CV_MAJOR_VERSION<=3 - cv::circle(fov_path_map, 2*p2, 2, cv::Scalar(80), CV_FILLED); -#else - cv::circle(fov_path_map, 2*p2, 2, cv::Scalar(80), cv::FILLED); -#endif - cv::line(fov_path_map, 2*p1, 2*p2, cv::Scalar(150), 1); - cv::line(fov_path_map, 2*p2, 2*p3, cv::Scalar(50), 1); - } - } -// cv::imshow("cell path", fov_path_map); -// cv::waitKey(); - } - cv::imshow("cell path", fov_path_map); - cv::waitKey(); - } - - ROS_INFO("Room exploration planning finished."); - - ipa_building_msgs::RoomExplorationResult action_result; - // check if the size of the exploration path is larger then zero - if(exploration_path.size()==0) - { - room_exploration_server_.setAborted(action_result); - return; - } - - // if wanted, return the path as the result - if(return_path_ == true) - { - action_result.coverage_path = exploration_path; - // return path in PoseStamped format as well (e.g. necessary for move_base commands) - std::vector exploration_path_pose_stamped(exploration_path.size()); - std_msgs::Header header; - header.stamp = ros::Time::now(); - header.frame_id = "/map"; - for (size_t i=0; ifield_of_view, goal->field_of_view_origin, goal->coverage_radius, fitting_circle_center_point_in_meter.norm(), - map_resolution, goal->map_origin, grid_spacing_in_pixel, room_map.rows * map_resolution); - ROS_INFO("Explored room."); - } - - room_exploration_server_.setSucceeded(action_result); - - return; -} - - // remove unconnected, i.e. inaccessible, parts of the room (i.e. obstructed by furniture), only keep the room with the largest area -bool RoomExplorationServer::removeUnconnectedRoomParts(cv::Mat& room_map) -{ - // create new map with segments labeled by increasing labels from 1,2,3,... - cv::Mat room_map_int(room_map.rows, room_map.cols, CV_32SC1); - for (int v=0; v(v,u) == 255) - room_map_int.at(v,u) = -100; - else - room_map_int.at(v,u) = 0; - } - } - - std::map area_to_label_map; // maps area=number of segment pixels (keys) to the respective label (value) - int label = 1; - for (int v=0; v(v,u) == -100) - { - const int area = cv::floodFill(room_map_int, cv::Point(u,v), cv::Scalar(label), 0, 0, 0, 8 | cv::FLOODFILL_FIXED_RANGE); - area_to_label_map[area] = label; - ++label; - } - } - } - // abort if area_to_label_map.size() is empty - if (area_to_label_map.size() == 0) - return false; - - // remove all room pixels from room_map which are not accessible - const int label_of_biggest_room = area_to_label_map.rbegin()->second; - std::cout << "label_of_biggest_room=" << label_of_biggest_room << std::endl; - for (int v=0; v(v,u) != label_of_biggest_room) - room_map.at(v,u) = 0; - - return true; -} - - -void RoomExplorationServer::downsampleTrajectory(const std::vector& path_uncleaned, std::vector& path, const double min_dist_squared) -{ - // clean path from subsequent double occurrences of the same pose - path.push_back(path_uncleaned[0]); - cv::Point last_added_point(path_uncleaned[0].x, path_uncleaned[0].y); - for (size_t i=1; i min_dist_squared || i==path_uncleaned.size()-1) - { - path.push_back(path_uncleaned[i]); - last_added_point = current_point; - } - } -} - - -void RoomExplorationServer::navigateExplorationPath(const std::vector& exploration_path, - const std::vector& field_of_view, const geometry_msgs::Point32& field_of_view_origin, - const double coverage_radius, const double distance_robot_fov_middlepoint, const float map_resolution, - const geometry_msgs::Pose& map_origin, const double grid_spacing_in_pixel, const double map_height) -{ - // ***************** III. Navigate trough all points and save the robot poses to check what regions have been seen ***************** - // 1. publish navigation goals - std::vector robot_poses; - geometry_msgs::Pose2D last_pose; - geometry_msgs::Pose2D pose; - for(size_t map_oriented_pose = 0; map_oriented_pose < exploration_path.size(); ++map_oriented_pose) - { - // check if the path should be continued or not - bool interrupted = false; - if(interrupt_navigation_publishing_==true) - { - ROS_INFO("Interrupt order received, resuming coverage path later."); - interrupted = true; - } - while(interrupt_navigation_publishing_==true) - { - // sleep for 1s because else this loop would produce errors - std::cout << "sleeping... (-.-)zzZZ" << std::endl; - ros::Duration sleep_rate(1); - sleep_rate.sleep(); - } - if(interrupted==true) - ROS_INFO("Interrupt order canceled, resuming coverage path now."); - if(flag_==1) - { - cancel_msg.stamp = ros::Time::now(); - cancel_msg.id = std::to_string(ros::Time::now().toSec()); - cancel_pub_.publish(cancel_msg); - publishZeroVelocity(); - while(flag_==1) - { - // ROS_INFO("------bizhang------"); - turn(-1,17);//1 16 ,-1 17 - gostraight(20); //time 0.2m/s 20*0.1s - turn(1,16); - flag_ = 0; - - ros::Duration sleep_rate(2.0); - sleep_rate.sleep(); - } - gostraight(30); - map_oriented_pose++; - } - - // if no interrupt is wanted, publish the navigation goal - pose = exploration_path[map_oriented_pose]; - // todo: convert map to image properly, then this coordinate correction here becomes obsolete - //pose.y = map_height - (pose.y - map_origin.position.y) + map_origin.position.y; - double temp_goal_eps = 0; - if (use_dyn_goal_eps_) - { - if (map_oriented_pose != 0) - { - double delta_theta = std::fabs(last_pose.theta - pose.theta); - if (delta_theta > M_PI * 0.5) - delta_theta = M_PI * 0.5; - temp_goal_eps = (M_PI * 0.5 - delta_theta) / (M_PI * 0.5) * goal_eps_; - } - } - else - { - temp_goal_eps = goal_eps_; - } - std::cout<< map_oriented_pose <(global_costmap_topic_)); - ROS_INFO("Found global gridmap."); - - std::vector pixel_values; - pixel_values = global_costmap.data; - - // if wanted check for areas that haven't been seen during the execution of the path and revisit them, if wanted - if(revisit_areas_ == true) - { - // save the costmap as Mat of the same type as the given map (8UC1) - cv::Mat costmap_as_mat;//(global_map.cols, global_map.rows, CV_8UC1); - - mapToMat(global_costmap, costmap_as_mat); - - // 70% probability of being an obstacle - cv::threshold(costmap_as_mat, costmap_as_mat, 75, 255, cv::THRESH_BINARY_INV); - - // 3. draw the seen positions so the server can check what points haven't been seen - std::cout << "checking coverage using the coverage_check_server" << std::endl; - cv::Mat coverage_map, number_of_coverage_image; - // use the coverage check server to check which areas have been seen - // --> convert path to cv format - std::vector path; - for (size_t i=0; i convert field of view to Eigen format - std::vector > fov; - for(size_t i = 0; i < field_of_view.size(); ++i) - { - Eigen::Matrix current_vector; - current_vector << field_of_view[i].x, field_of_view[i].y; - fov.push_back(current_vector); - } - // --> convert field of view origin to Eigen format - Eigen::Matrix fov_origin; - fov_origin < call coverage checker - CoverageCheckServer coverage_checker; - if (coverage_checker.checkCoverage(costmap_as_mat, map_resolution, cv::Point2d(map_origin.position.x, map_origin.position.y), - path, fov, fov_origin, coverage_radius, (planning_mode_==PLAN_FOR_FOOTPRINT), false, coverage_map, number_of_coverage_image) == true) - { - std::cout << "got the service response" << std::endl; - } - else - { - ROS_WARN("Coverage check failed, is the coverage_check_server running?"); - room_exploration_server_.setAborted(); - return; - } - -// // service interface - can be deleted -// // define the request for the coverage check -// ipa_building_msgs::CheckCoverageRequest coverage_request; -// ipa_building_msgs::CheckCoverageResponse coverage_response; -// // fill request -// sensor_msgs::ImageConstPtr service_image; -// cv_bridge::CvImage cv_image; -// cv_image.encoding = "mono8"; -// cv_image.image = costmap_as_mat; -// service_image = cv_image.toImageMsg(); -// coverage_request.input_map = *service_image; -// coverage_request.map_resolution = map_resolution; -// coverage_request.map_origin = map_origin; -// coverage_request.path = robot_poses; -// coverage_request.field_of_view = field_of_view; -// coverage_request.field_of_view_origin = field_of_view_origin; -// coverage_request.coverage_radius = coverage_radius; -// coverage_request.check_number_of_coverages = false; -// std::cout << "filled service request for the coverage check" << std::endl; -// if(planning_mode_ == PLAN_FOR_FOV) -// coverage_request.check_for_footprint = false; -// else -// coverage_request.check_for_footprint = true; -// // send request -// if(ros::service::call(coverage_check_service_name_, coverage_request, coverage_response) == true) -// { -// std::cout << "got the service response" << std::endl; -// cv_bridge::CvImagePtr cv_ptr_obj; -// cv_ptr_obj = cv_bridge::toCvCopy(coverage_response.coverage_map, sensor_msgs::image_encodings::MONO8); -// coverage_map = cv_ptr_obj->image; -// } -// else -// { -// ROS_WARN("Coverage check failed, is the coverage_check_server running?"); -// room_exploration_server_.setAborted(); -// return; -// } - - // testing, parameter to show -// cv::namedWindow("initially seen areas", cv::WINDOW_NORMAL); -// cv::imshow("initially seen areas", seen_positions_map); -// cv::resizeWindow("initially seen areas", 600, 600); -// cv::waitKey(); - - // apply a binary filter on the image, making the drawn seen areas black - cv::threshold(coverage_map, coverage_map, 150, 255, cv::THRESH_BINARY); - - // ***************** IV. Find leftover areas and lay a grid over it, then plan a path trough all grids s.t. they can be covered by the fov. ***************** - // 1. find regions with an area that is bigger than a defined value, which have not been seen by the fov. - // hierarchy[{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour} - // child-contour = 1 if it has one, = -1 if not, same for parent_contour - std::vector < std::vector > left_areas, areas_to_revisit; - std::vector < cv::Vec4i > hierarchy; - cv::findContours(coverage_map, left_areas, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); - - // find valid regions - for(size_t area = 0; area < left_areas.size(); ++area) - { - // don't look at hole contours - if (hierarchy[area][3] == -1) - { - double room_area = map_resolution * map_resolution * cv::contourArea(left_areas[area]); - //subtract the area from the hole contours inside the found contour, because the contour area grows extremly large if it is a closed loop - for(int hole = 0; hole < left_areas.size(); ++hole) - { - if(hierarchy[hole][3] == area)//check if the parent of the hole is the current looked at contour - { - room_area -= map_resolution * map_resolution * cv::contourArea(left_areas[hole]); - } - } - - // save the contour if the area of it is larger than the defined value - if(room_area >= left_sections_min_area_) - areas_to_revisit.push_back(left_areas[area]); - } - } - - // check if areas need to be visited again, if not cancel here - if(areas_to_revisit.size() == 0) - { - ROS_INFO("Explored room."); - - room_exploration_server_.setSucceeded(); - - return; - } - - // draw found regions s.t. they can be intersected later - cv::Mat black_map(costmap_as_mat.cols, costmap_as_mat.rows, costmap_as_mat.type(), cv::Scalar(0)); -#if CV_MAJOR_VERSION<=3 - cv::drawContours(black_map, areas_to_revisit, -1, cv::Scalar(255), CV_FILLED); -#else - cv::drawContours(black_map, areas_to_revisit, -1, cv::Scalar(255), cv::FILLED); -#endif - for(size_t contour = 0; contour < left_areas.size(); ++contour) - if(hierarchy[contour][3] != -1) -#if CV_MAJOR_VERSION<=3 - cv::drawContours(black_map, left_areas, contour, cv::Scalar(0), CV_FILLED); -#else - cv::drawContours(black_map, left_areas, contour, cv::Scalar(0), cv::FILLED); -#endif - - // 2. Intersect the left areas with respect to the calculated grid length. - geometry_msgs::Polygon min_max_coordinates; // = goal->room_min_max; - for(size_t i = 0/*min_max_coordinates.points[0].y*/; i < black_map.cols; i += std::floor(grid_spacing_in_pixel)) - cv::line(black_map, cv::Point(0, i), cv::Point(black_map.cols, i), cv::Scalar(0), 1); - for(size_t i = 0/*min_max_coordinates.points[0].x*/; i < black_map.rows; i += std::floor(grid_spacing_in_pixel)) - cv::line(black_map, cv::Point(i, 0), cv::Point(i, black_map.rows), cv::Scalar(0), 1); - - // 3. find the centers of the global_costmap areas - std::vector < std::vector > grid_areas; - cv::Mat contour_map = black_map.clone(); - cv::findContours(contour_map, grid_areas, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE); - - // get the moments - std::vector moments(grid_areas.size()); - for( int i = 0; i < grid_areas.size(); i++) - { - moments[i] = cv::moments(grid_areas[i], false); - } - - // get the mass centers - std::vector area_centers(grid_areas.size()); - for( int i = 0; i < grid_areas.size(); i++ ) - { - // check if the current contour has an area and isn't just a few pixels - if(moments[i].m10 != 0 && moments[i].m01 != 0) - { - area_centers[i] = cv::Point( moments[i].m10/moments[i].m00 , moments[i].m01/moments[i].m00 ); - } - // if contour is too small for moment calculation, take one point on this contour and use it as center - else - { - area_centers[i] = grid_areas[i][0]; - } - } - - // testing -// black_map = room_map.clone(); -// for(size_t i = 0; i < area_centers.size(); ++i) -// { -// cv::circle(black_map, area_centers[i], 2, cv::Scalar(127), CV_FILLED); -// std::cout << area_centers[i] << std::endl; -// } -// cv::namedWindow("revisiting areas", cv::WINDOW_NORMAL); -// cv::imshow("revisiting areas", black_map); -// cv::resizeWindow("revisiting areas", 600, 600); -// cv::waitKey(); - - // 4. plan a tsp path trough the centers of the left areas - // find the center that is nearest to the current robot position, which becomes the start node for the tsp - geometry_msgs::Pose2D current_robot_pose = robot_poses.back(); - cv::Point current_robot_point(current_robot_pose.x, current_robot_pose.y); - double min_dist = 9001; - int min_index = 0; - for(size_t current_center_index = 0; current_center_index < area_centers.size(); ++current_center_index) - { - cv::Point current_center = area_centers[current_center_index]; - double current_squared_distance = std::pow(current_center.x - current_robot_point.x, 2.0) + std::pow(current_center.y - current_robot_point.y, 2.0); - - if(current_squared_distance <= min_dist) - { - min_dist = current_squared_distance; - min_index = current_center_index; - } - } - ConcordeTSPSolver tsp_solver; - std::vector revisiting_order = tsp_solver.solveConcordeTSP(costmap_as_mat, area_centers, 0.25, 0.0, map_resolution, min_index, 0); - - // 5. go to each center and use the map_accessability_server to find a robot pose around it s.t. it can be covered by the field of view or robot center - const double pi_8 = PI/8; - const std::string perimeter_service_name = "/room_exploration/map_accessibility_analysis/map_perimeter_accessibility_check"; - // robot_poses.clear(); - for(size_t center = 0; center < revisiting_order.size(); ++center) - { - geometry_msgs::Pose2D current_center; - current_center.x = (area_centers[revisiting_order[center]].x * map_resolution) + map_origin.position.x; - current_center.y = (area_centers[revisiting_order[center]].y * map_resolution) + map_origin.position.y; - - // define request - cob_map_accessibility_analysis::CheckPerimeterAccessibility::Request check_request; - cob_map_accessibility_analysis::CheckPerimeterAccessibility::Response response; - check_request.center = current_center; - if(planning_mode_ == PLAN_FOR_FOV) - { - check_request.radius = distance_robot_fov_middlepoint; - check_request.rotational_sampling_step = pi_8; - } - else - { - check_request.radius = 0.0; - check_request.rotational_sampling_step = 2.0*PI; - } - std::cout << "checking center: " << std::endl << current_center << "radius: " << check_request.radius << std::endl; - - // send request - if(ros::service::call(perimeter_service_name, check_request, response) == true) - { - std::cout << "successful check of accessibility" << std::endl; - // go trough the found accessible positions and try to reach one of them - for(std::vector::iterator pose = response.accessible_poses_on_perimeter.begin(); pose != response.accessible_poses_on_perimeter.end(); ++pose) - if(publishNavigationGoal(*pose, map_frame_, camera_frame_, robot_poses, 0.0) == true) - break; - } - else - { - // todo: return areas that were not visible on radius - std::cout << "center not reachable on perimeter" << std::endl; - } - } - -// drawSeenPoints(copy, robot_poses, goal->field_of_view, corner_point_1, corner_point_2, map_resolution, map_origin); -// cv::namedWindow("seen areas", cv::WINDOW_NORMAL); -// cv::imshow("seen areas", copy); -// cv::resizeWindow("seen areas", 600, 600); -// cv::waitKey(); - } -} - - -// Function to publish a navigation goal for move_base. It returns true, when the goal could be reached. -// The function tracks the robot pose while moving to the goal and adds these poses to the given pose-vector. This is done -// because it allows to calculate where the robot field of view has theoretically been and identify positions of the map that -// the robot hasn't seen. -bool RoomExplorationServer::publishNavigationGoal(const geometry_msgs::Pose2D& nav_goal, const std::string map_frame, - const std::string camera_frame, std::vector& robot_poses, const double robot_to_fov_middlepoint_distance, - const double eps, const bool perimeter_check) -{ - // move base client, that sends navigation goals to a move_base action server - MoveBaseClient mv_base_client("/move_base", true); - - // wait for the action server to come up - while(mv_base_client.waitForServer(ros::Duration(5.0)) == false) - { - ROS_INFO("Waiting for the move_base action server to come up"); - } - - - geometry_msgs::Pose2D map_oriented_pose; - - map_oriented_pose.x = nav_goal.x; - map_oriented_pose.y = nav_goal.y; - map_oriented_pose.theta = nav_goal.theta; - - std::cout << "navigation goal: (" << map_oriented_pose.x << ", " << map_oriented_pose.y << ", " << map_oriented_pose.theta << ")" << std::endl; - - move_base_msgs::MoveBaseGoal move_base_goal; - - // create move_base_goal - move_base_goal.target_pose.header.frame_id = "map"; - move_base_goal.target_pose.header.stamp = ros::Time::now(); - - - move_base_goal.target_pose.pose.position.x = map_oriented_pose.x; - move_base_goal.target_pose.pose.position.y = map_oriented_pose.y; - move_base_goal.target_pose.pose.orientation.z = std::sin(map_oriented_pose.theta/2); - move_base_goal.target_pose.pose.orientation.w = std::cos(map_oriented_pose.theta/2); - - // send goal to the move_base sever, when one is found - ROS_INFO_STREAM("Sending goal with eps " << eps); - mv_base_client.sendGoal(move_base_goal); - - // wait until goal is reached or the goal is aborted -// ros::Duration sleep_rate(0.1); - tf::TransformListener listener; - tf::StampedTransform transform; - ros::Duration sleep_duration(0.15); // todo: param - bool near_pos; - do - { - near_pos = false; - double roll, pitch, yaw; - // try to get the transformation from map_frame to base_frame, wait max. 2 seconds for this transform to come up - try - { - ros::Time time = ros::Time(0); - listener.waitForTransform(map_frame, camera_frame, time, ros::Duration(2.0)); // 5.0 - listener.lookupTransform(map_frame, camera_frame, time, transform); - - sleep_duration.sleep(); - - // save the current pose if a transform could be found - geometry_msgs::Pose2D current_pose; - - current_pose.x = transform.getOrigin().x(); - current_pose.y = transform.getOrigin().y(); - transform.getBasis().getRPY(roll, pitch, yaw); - current_pose.theta = yaw; - - if((current_pose.x-map_oriented_pose.x)*(current_pose.x-map_oriented_pose.x) + (current_pose.y-map_oriented_pose.y)*(current_pose.y-map_oriented_pose.y) <= eps*eps) - near_pos = true; - - robot_poses.push_back(current_pose); - } - catch(tf::TransformException &ex) - { - ROS_WARN_STREAM("Couldn't get transform from " << camera_frame << " to " << map_frame << "!");// %s", ex.what()); - } - - }while(mv_base_client.getState() != actionlib::SimpleClientGoalState::ABORTED && mv_base_client.getState() != actionlib::SimpleClientGoalState::SUCCEEDED - && near_pos == false); - - // check if point could be reached or not - if(mv_base_client.getState() == actionlib::SimpleClientGoalState::SUCCEEDED || near_pos == true) - { - ROS_INFO("current goal could be reached."); - return true; - } - // if the goal couldn't be reached, find another point around the desired fov-position - else if(perimeter_check == true) - { - ROS_INFO("current goal could not be reached, checking for other goal."); - - // get the desired fov-position - geometry_msgs::Pose2D relative_vector; - relative_vector.x = std::cos(map_oriented_pose.theta)*robot_to_fov_middlepoint_distance; - relative_vector.y = std::sin(map_oriented_pose.theta)*robot_to_fov_middlepoint_distance; - geometry_msgs::Pose2D center; - center.x = map_oriented_pose.x + relative_vector.x; - center.y = map_oriented_pose.y + relative_vector.y; - - // check for another robot pose to reach the desired fov-position - const std::string perimeter_service_name = "/room_exploration/map_accessibility_analysis/map_perimeter_accessibility_check"; - cob_map_accessibility_analysis::CheckPerimeterAccessibility::Response response; - cob_map_accessibility_analysis::CheckPerimeterAccessibility::Request check_request; - check_request.center = center; - if(planning_mode_ == PLAN_FOR_FOV) - { - check_request.radius = robot_to_fov_middlepoint_distance; - check_request.rotational_sampling_step = PI/8; - } - else - { - check_request.radius = 0.0; - check_request.rotational_sampling_step = 2.0*PI; - } - - // send request - if(ros::service::call(perimeter_service_name, check_request, response) == true) - { - // go trough the found accessible positions and try to reach one of them - for(std::vector::iterator pose = response.accessible_poses_on_perimeter.begin(); pose != response.accessible_poses_on_perimeter.end(); ++pose) - { - if(publishNavigationGoal(*pose, map_frame, camera_frame, robot_poses, 0.0) == true) - { - ROS_INFO("Perimeter check for not reachable goal succeeded."); - return true; - } - } - } - else - { - ROS_INFO("Desired position not reachable."); - } - return false; - } - else - { - return false; - } -} - -void RoomExplorationServer::publishZeroVelocity() -{ - // ROS_INFO("stop!!"); - cmd_vel_msg.angular.z = 0; - cmd_vel_msg.linear.x = 0; - cmd_vel_pub_.publish(cmd_vel_msg); - -} -void RoomExplorationServer::turn(int lr,int time) -{ - ros::Rate rate(10); - - cmd_vel_msg.angular.z = lr; - // if(lr==-1) - // { - // std::cout<<"turn right"<dis) - { - float distance = obstacle_info.distance; - // float width = obstacle_info.width; - // float height = obstacle_info.height; - float angle = obstacle_info.angle; - - // if(distance>15&&distance<35&&cmd_vel_.linear.x!=0) - if(distance>5&&distance<45) - { - // ROS_INFO("distance: %.2f ", distance); - flag_ = 1; - // std::cout<<"distance===="<. - * - ****************************************************************/ - - -#include -#include - -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -#include - -#include -#include -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include - -#include -#include -#include - -#include - -#include - -#include - -#define PI 3.14159265359 - -// Overload of << operator for geometry_msgs::Pose2D to wanted format. -std::ostream& operator<<(std::ostream& os, const geometry_msgs::Pose2D& obj) -{ - std::stringstream ss; - ss << "[" << obj.x << ", " << obj.y << ", " << obj.theta << "]"; - os << ss.rdbuf(); - return os; -} - -// Struct used to define, which segmentation algorithm together with which exploration algorithm should be used. Also a function is -// provided, that returns a string showing the current configuration --> used to save the results. -struct ExplorationConfig -{ - int exploration_algorithm_; // this variable selects, which exploration algorithm should be used - // 1: grid point explorator - // 2: boustrophedon explorator - // 3: neural network explorator - // 4: convexSPP explorator - // 5: flowNetwork explorator - // 6: energyFunctional explorator - // 7: Voronoi explorator - - // default values - ExplorationConfig() - { - exploration_algorithm_ = 2; - } - - // create one configuration - ExplorationConfig(const int exploration_algorithm) - { - exploration_algorithm_ = exploration_algorithm; - } - - // function that returns the current configuration as string - std::string generateConfigurationFolderString() const - { - std::stringstream ss; - ss << "expl" << exploration_algorithm_; - return ss.str(); - } - - // function that returns the name of the chosen exploration algorithm - std::string roomExplorationAlgorithmToString() const - { - std::string s = ""; - if (exploration_algorithm_ == 1) - s = "grid point exploration"; - else if (exploration_algorithm_ == 2) - s = "boustrophedon exploration"; - else if (exploration_algorithm_ == 3) - s = "neural network exploration"; - else if (exploration_algorithm_ == 4) - s = "convex SPP exploration"; - else if (exploration_algorithm_ == 5) - s = "flow network exploration"; - else if (exploration_algorithm_ == 6) - s = "energy functional exploration"; - else if (exploration_algorithm_ == 7) - s = "voronoi exploration"; - - return s; - } -}; - -// Struct that carries several parameters for the action servers -enum PlanningMode {FOOTPRINT=1, FIELD_OF_VIEW=2}; -struct ExplorationData -{ - std::string map_name_; // without file type - cv::Mat floor_plan_; - std::vector room_maps_; - std::vector bounding_boxes_; - float map_resolution_; // [m/pixel] - geometry_msgs::Pose map_origin_; // [m] - geometry_msgs::Pose2D robot_start_position_; - double robot_radius_; // [m], effective robot radius, taking the enlargement of the costmap into account, in [meter] - double coverage_radius_; // [m], radius that is used to plan the coverage planning for the robot and not the field of view, assuming that the part that needs to cover everything (e.g. the cleaning part) can be represented by a fitting circle (e.g. smaller than the actual part to ensure coverage), in [meter] - std::vector fov_points_; // [m], the points that define the field of view of the robot, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter] - geometry_msgs::Point32 fov_origin_; // [m], the mounting position of the camera spanning the field of view, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter] - enum PlanningMode planning_mode_; // 1 = plans a path for coverage with the robot footprint, 2 = plans a path for coverage with the robot's field of view - double robot_speed_; // [m/s] - double robot_rotation_speed_; // [rad/s] - - // empty values as default - ExplorationData() - { - map_name_ = ""; - floor_plan_ = cv::Mat(); - map_resolution_ = 0.05; - map_origin_.position.x = 0; - map_origin_.position.y = 0; - robot_radius_ = 0.35; - coverage_radius_ = 0.35; - planning_mode_ = FOOTPRINT; - robot_speed_ = 0.3; - robot_rotation_speed_ = 0.1; - } - - // set data used in this evaluation - ExplorationData(const std::string map_name, const cv::Mat floor_plan, const float map_resolution, const double robot_radius, - const double coverage_radius, const std::vector& fov_points, const geometry_msgs::Point32& fov_origin, - const int planning_mode, const double robot_speed, const double robot_rotation_speed) - { - map_name_ = map_name; - floor_plan_ = floor_plan; - map_resolution_ = map_resolution; - map_origin_.position.x = 0; - map_origin_.position.y = 0; - robot_radius_ = robot_radius; - coverage_radius_ = coverage_radius; - fov_points_ = fov_points; - fov_origin_ = fov_origin; - planning_mode_ = (PlanningMode)planning_mode; - robot_speed_ = robot_speed; - robot_rotation_speed_ = robot_rotation_speed; - cv::Mat map_eroded; - cv::erode(floor_plan_, map_eroded, cv::Mat(), cv::Point(-1,-1), robot_radius_/map_resolution_+2); - cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 - cv::distanceTransform(map_eroded, distance_map, CV_DIST_L2, 5); - cv::convertScaleAbs(distance_map, distance_map); // conversion to 8 bit image - float max_distance = 0; - for (int v=0; v(v,u) != 0 && distance_map.at(v,u) > max_distance) - { - max_distance = distance_map.at(v,u); - robot_start_position_.x = u*map_resolution_ + map_origin_.position.x; - robot_start_position_.y = v*map_resolution_ + map_origin_.position.y; - } - } -}; - - -// class that segments the wanted maps, finds for each resulting room a coverage path and saves these paths -class ExplorationEvaluation -{ -protected: - - // function that creates configurations to get all possible combinations of exploration algorithms - void setConfigurations(std::vector& configurations, const std::vector& exploration_algorithms) - { - for(std::vector::const_iterator expl=exploration_algorithms.begin(); expl!=exploration_algorithms.end(); ++expl) - { - ExplorationConfig current_config(*expl); - configurations.push_back(current_config); - } - } - - template - double stddev(const std::vector& values, const double mean) - { - if (values.size() < 2) - return 0.; - double stddev = 0.; - for (typename std::vector::const_iterator val=values.begin(); val!=values.end(); ++val) - stddev += ((double)*val-mean)*((double)*val-mean); - return sqrt(stddev)/(values.size()-1); - } - - ros::NodeHandle node_handle_; - -public: - - - ExplorationEvaluation(ros::NodeHandle& nh, const std::string& test_map_path, const std::vector& map_names, const float map_resolution, - const std::string& data_storage_path, const double robot_radius, const double coverage_radius, - const std::vector& fov_points, const geometry_msgs::Point32& fov_origin, const int planning_mode, - const std::vector& exploration_algorithms, const double robot_speed, const double robot_rotation_speed, bool do_path_planning=true, bool do_evaluation=true) - : node_handle_(nh) - { - // 1. create all needed configurations - std::vector configs; - setConfigurations(configs, exploration_algorithms); - - // 2. prepare images and evaluation data - std::vector evaluation_data; - for (size_t image_index = 0; image_index(y, x)>250) - map.at(y, x)=255; - else //if (map.at(y, x) != 255) - map.at(y, x)=0; - } - } - - // create evaluation data - evaluation_data.push_back(ExplorationData(map_names[image_index], map, map_resolution, robot_radius, coverage_radius, fov_points, fov_origin, - planning_mode, robot_speed, robot_rotation_speed)); - } - // get the room maps for each evaluation data - getRoomMaps(evaluation_data); - - // 3. compute exploration paths for each room in the maps - if (do_path_planning == true) - { - std::string bugfile = data_storage_path + "bugfile.txt"; - std::ofstream failed_maps(bugfile.c_str(), std::ios::out); - if (failed_maps.is_open()) - failed_maps << "Maps that had a bug during the simulation and couldn't be finished: " << std::endl; - ROS_INFO("Evaluating the maps."); - for (size_t i=0; i1) - failed_maps << evaluation_data[i].map_name_ << std::endl << error_output.str(); - } - if (failed_maps.is_open()) - failed_maps.close(); - } - - // 4. evaluate the generated paths - // read out the computed paths and calculate the evaluation values - if (do_evaluation == true) - { - ROS_INFO("Reading out all saved paths."); - for (size_t i=0; i& data_saver) - { - for(std::vector::iterator data=data_saver.begin(); data!=data_saver.end(); ++data) - { - // 1. read out the ground truth map - std::string map_name_basic = data->map_name_; - std::size_t pos = data->map_name_.find("_furnitures"); - if (pos != std::string::npos) - map_name_basic = data->map_name_.substr(0, pos); - std::string gt_image_filename = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name_basic + "_gt_segmentation.png"; - std::cout << "Loading ground truth segmentation from: " << gt_image_filename << std::endl; - cv::Mat gt_map = cv::imread(gt_image_filename.c_str(), CV_8U); - cv::threshold(gt_map, gt_map, 250, 255, CV_THRESH_BINARY); - - // load the original map (without furniture if applicable) - std::string original_image_filename = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name_basic + ".png"; - std::cout << "Loading original image from: " << original_image_filename << std::endl; - cv::Mat original_map = cv::imread(original_image_filename.c_str(), CV_8U); - - // combine real floor plan (but not its furniture) and gt_map - for (int y = 0; y < gt_map.rows; y++) - for (int x = 0; x < gt_map.cols; x++) - if (original_map.at(y,x) <= 250) - gt_map.at(y,x) = 0; - - // 2. retrieve the rooms for each ground truth map and get the maps that show only one room each - int label = 1; - std::vector bounding_boxes; - cv::Mat labeled_map; - gt_map.convertTo(labeled_map, CV_32SC1); - for (int y = 0; y < gt_map.rows; y++) - { - for (int x = 0; x < gt_map.cols; x++) - { - if (gt_map.at(y,x)!=255 || labeled_map.at(y,x)!=255) - continue; - - // fill each room area with a unique id - cv::Rect rect; - cv::floodFill(labeled_map, cv::Point(x,y), label, &rect, 0, 0, 8); - - // save the bounding box to retrieve the min/max coordinates - bounding_boxes.push_back(rect); - - ++label; - } - } - std::vector room_maps; - std::vector chosen_bb; - for(int room=1; room(y,x)==room && data->floor_plan_.at(y,x)==255) - room_map.at(y,x) = 255; - - // check for the eroded map (the map that shows the in reality reachable areas) to have enough free pixels - cv::Mat eroded_map; - const int robot_radius_in_pixel = (data->robot_radius_ / data->map_resolution_); - cv::erode(room_map, eroded_map, cv::Mat(), cv::Point(-1, -1), robot_radius_in_pixel); - int number_of_pixels = 0; - for(size_t y=0; y(y,x)==255) - ++number_of_pixels; - - // save room map, if region is big enough - if(number_of_pixels>0) - { - room_maps.push_back(room_map); - chosen_bb.push_back(bounding_boxes[room-1]); -// cv::rectangle(room_map, bounding_boxes[room-1], cv::Scalar(127), 2); -// cv::imshow("room", room_map); -// cv::waitKey(); - } - } - - // combine real floor plan (now including its furniture) and gt_map - for (int y = 0; y < gt_map.rows; y++) - for (int x = 0; x < gt_map.cols; x++) - if (data->floor_plan_.at(y,x) != 255) - gt_map.at(y,x) = 0; - - // save the found room maps and bounding boxes - data->floor_plan_ = gt_map; - data->room_maps_ = room_maps; - data->bounding_boxes_ = chosen_bb; - } - } - - // function that does the whole evaluation for all configs on all rooms of one map - bool planCoveragePaths(ExplorationData& data, const std::vector& configs, const std::string data_storage_path, std::stringstream& error_output) - { - // go trough all configs and do the evaluations - for(std::vector::const_iterator config=configs.begin(); config!=configs.end(); ++config) - { - // create a folder for the log directory - const std::string configuration_folder_name = config->generateConfigurationFolderString() + "/"; - const std::string upper_command = "mkdir -p " + data_storage_path + configuration_folder_name; - int return_value = system(upper_command.c_str()); - - std::cout << "Exploration algorithm: " << config->exploration_algorithm_ << std::endl; - //variables for time measurement - struct timespec t0, t1; - - // go trough all rooms and find the coverage path trough it - std::stringstream output; - cv::Mat path_map = data.floor_plan_.clone(); - for(size_t room_index=0; room_index coverage_path = result_expl->coverage_path; - // transform path to map coordinates - std::cout << "length of path: " << coverage_path.size() << std::endl; - if(coverage_path.size()==0) - { - output << "room " << room_index << " has zero length path" << std::endl << std::endl; - error_output << " room " << room_index << " has zero length path" << std::endl; - continue; - } - const double map_resolution_inv = 1.0/data.map_resolution_; - for(size_t point=0; point 0) - cv::line(path_map, cv::Point(coverage_path[point].x, coverage_path[point].y), cv::Point(coverage_path[point-1].x, coverage_path[point-1].y), cv::Scalar(128), 1); -// std::cout << "coverage_path[" << point << "]: x=" << coverage_path[point].x << ", y=" << coverage_path[point].y << ", theta=" << coverage_path[point].theta << std::endl; -// cv::imshow("path", path_map); -// cv::waitKey(); - } -// cv::imshow("path", path_map); -// cv::waitKey(); - } - const std::string img_filename = data_storage_path + configuration_folder_name + data.map_name_ + "_paths.png"; - cv::imwrite(img_filename.c_str(), path_map); - - const std::string log_filename = data_storage_path + configuration_folder_name + data.map_name_ + "_results.txt"; - std::cout << log_filename << std::endl; - std::ofstream file(log_filename.c_str(), std::ios::out); - if (file.is_open()==true) - file << output.str(); - else - ROS_ERROR("Error on writing file '%s'", log_filename.c_str()); - file.close(); - } - - // if all configurations finished, return a boolean showing success - return true; - } - - // function that plans one coverage path for the given room map - bool planCoveragePath(const cv::Mat& room_map, const ExplorationData& evaluation_data, const ExplorationConfig& evaluation_configuration, - ipa_building_msgs::RoomExplorationResultConstPtr& result_expl) - { - // convert image to message - sensor_msgs::Image map_msg; - cv_bridge::CvImage cv_image; - cv_image.encoding = "mono8"; - cv_image.image = room_map; - cv_image.toImageMsg(map_msg); - - // initialize action server for room exploration - actionlib::SimpleActionClient ac_exp("room_exploration_server", true); - ROS_INFO("Waiting for action server to start."); - ac_exp.waitForServer(); //will wait for infinite time - ROS_INFO("Action server started."); - - // connect to dynamic reconfigure and set planning algorithm - ROS_INFO("Trying to connect to dynamic reconfigure server."); - DynamicReconfigureClient drc_exp(node_handle_, "room_exploration_server/set_parameters", "room_exploration_server/parameter_updates"); - ROS_INFO("Done connecting to the dynamic reconfigure server."); - if (evaluation_configuration.exploration_algorithm_==1) - { - drc_exp.setConfig("room_exploration_algorithm", 1); - ROS_INFO("You have chosen the grid exploration method."); - } - else if(evaluation_configuration.exploration_algorithm_==2) - { - drc_exp.setConfig("room_exploration_algorithm", 2); - ROS_INFO("You have chosen the boustrophedon exploration method."); - } - else if(evaluation_configuration.exploration_algorithm_==3) - { - drc_exp.setConfig("room_exploration_algorithm", 3); - ROS_INFO("You have chosen the neural network exploration method."); - } - else if(evaluation_configuration.exploration_algorithm_==4) - { - drc_exp.setConfig("room_exploration_algorithm", 4); - ROS_INFO("You have chosen the convexSPP exploration method."); - } - else if(evaluation_configuration.exploration_algorithm_==5) - { - drc_exp.setConfig("room_exploration_algorithm", 5); - ROS_INFO("You have chosen the flow network exploration method."); - } - else if(evaluation_configuration.exploration_algorithm_==6) - { - drc_exp.setConfig("room_exploration_algorithm", 6); - ROS_INFO("You have chosen the energy functional exploration method."); - } - else if(evaluation_configuration.exploration_algorithm_==7) - { - drc_exp.setConfig("room_exploration_algorithm", 7); - ROS_INFO("You have chosen the Voronoi exploration method."); - } - - // prepare and send the action message - ipa_building_msgs::RoomExplorationGoal goal; - goal.input_map = map_msg; - goal.map_resolution = evaluation_data.map_resolution_; - goal.map_origin = evaluation_data.map_origin_; - goal.robot_radius = evaluation_data.robot_radius_; - goal.coverage_radius = evaluation_data.coverage_radius_; - goal.field_of_view = evaluation_data.fov_points_; - goal.field_of_view_origin = evaluation_data.fov_origin_; - goal.planning_mode = evaluation_data.planning_mode_; - goal.starting_position = evaluation_data.robot_start_position_; - ac_exp.sendGoal(goal); - - // wait for results for some time - bool finished = false; - if(evaluation_configuration.exploration_algorithm_==5) // different timeout for the flowNetworkExplorator, because it can be much slower than the others - finished = ac_exp.waitForResult(ros::Duration(600)); // todo: adapt if necessary - else - finished = ac_exp.waitForResult(ros::Duration(36000)); - - //if it takes too long the server should be killed and restarted - if (finished == false) - { - std::cout << "action server took too long" << std::endl; - std::string pid_cmd = "pidof room_exploration_server > room_exploration_evaluation/expl_srv_pid.txt"; - int pid_result = system(pid_cmd.c_str()); - std::ifstream pid_reader("room_exploration_evaluation/expl_srv_pid.txt"); - int value; - std::string line; - if (pid_reader.is_open()) - { - while (getline(pid_reader, line)) - { - std::istringstream iss(line); - while (iss >> value) - { - std::cout << "PID of room_exploration_server: " << value << std::endl; - std::stringstream ss; - ss << "kill " << value; - std::string kill_cmd = ss.str(); - int kill_result = system(kill_cmd.c_str()); - std::cout << "kill result: " << kill_result << std::endl; - } - } - pid_reader.close(); - remove("room_exploration_evaluation/expl_srv_pid.txt"); - } - else - { - std::cout << "missing logfile" << std::endl; - } - return false; - } - else - { - // retrieve solution - result_expl = ac_exp.getResult(); - std::cout << "Finished coverage planning successfully!" << std::endl; - - // show success - return true; - } - } - - // function that reads out the calculated paths and does the evaluation - void evaluateCoveragePaths(const ExplorationData& data, const std::vector& configs, const std::string data_storage_path) - { - // evaluate the individual configurations - for(std::vector::const_iterator config=configs.begin(); config!=configs.end(); ++config) - { - evaluateCoveragePaths(data, *config, data_storage_path); - } - } - - // function that reads out the calculated paths and does the evaluation for one configuration - void evaluateCoveragePaths(const ExplorationData& data, const ExplorationConfig& config, const std::string data_storage_path) - { - const std::string configuration_folder_name = config.generateConfigurationFolderString() + "/"; - std::cout << configuration_folder_name << data.map_name_ << std::endl; - - - // 1. get the location of the results and open this file, read out the given paths and computation times for all rooms - std::vector > paths; // in [pixels] - std::vector calculation_times; - readResultsFile(data, config, data_storage_path, paths, calculation_times); - - - // 2. prepare the data - cv::Mat map = data.floor_plan_.clone(); - cv::Point2d fov_circle_center_point_in_px; - double grid_spacing_in_pixel = 0; - computeFOVCenterAndGridSpacing(data, fov_circle_center_point_in_px, grid_spacing_in_pixel); - - // 3. path map, path length, turns, crossings statistics - // overall, average path length and variance of it for the calculated paths and get the numbers of turns - std::vector pathlengths_for_map; // in [m], stores the individual path lengths for each trajectory in each room - std::vector > interpolated_paths; // in [m], variable that stores the rough path points of paths and the cell-fine trajectories between them - int nonzero_paths = 0; - std::vector rotation_values; - std::vector number_of_rotations, number_of_crossings; - cv::Mat path_map = map.clone(); - statisticsPathLengthCrossingsTurns(data, map, path_map, fov_circle_center_point_in_px, paths, interpolated_paths, - pathlengths_for_map, nonzero_paths, number_of_crossings, rotation_values, number_of_rotations); - // save the map with the drawn in coverage paths - const std::string image_path = data_storage_path + configuration_folder_name + data.map_name_ + "_paths_eval.png"; - cv::imwrite(image_path.c_str(), path_map); -// cv::imshow("path_map", path_map); -// cv::waitKey(); - // calculate the overall path length, the average and the stddev - const double pathlength_total = std::accumulate(pathlengths_for_map.begin(), pathlengths_for_map.end(), 0.0); - const double pathlength_mean = pathlength_total / std::max(1.0, (double)pathlengths_for_map.size()); - const double pathlength_stddev = stddev(pathlengths_for_map, pathlength_mean); - std::cout << "Computing and drawing paths completed." << std::endl; - - - // 4. calculate turn specific values - const double rotation_values_total = std::accumulate(rotation_values.begin(), rotation_values.end(), 0.0); - const double rotation_values_mean = rotation_values_total / std::max(1.0, (double)rotation_values.size()); - const double rotation_values_stddev = stddev(rotation_values, rotation_values_mean); - const double number_of_rotations_total = std::accumulate(number_of_rotations.begin(), number_of_rotations.end(), 0.0); - const double number_of_rotations_mean = number_of_rotations_total / std::max(1.0, (double)number_of_rotations.size()); - const double number_of_rotations_stddev = stddev(number_of_rotations, number_of_rotations_mean); - - - // 5. calculate the execution time by using the robot speed and the rotation speed - std::vector travel_times_in_rooms(pathlengths_for_map.size()); - for(size_t i=0; i room_areas; // in [m^2], the area of each room - std::vector area_covered_percentages; // in [0,1], the ratio of coverage for each room - std::vector numbers_of_coverages; // counts how often a map cell has been covered - cv::Mat map_coverage; - cv::Mat map_path_coverage; - statisticsCoverageArea(data, map, path_map, map_coverage, map_path_coverage, paths, interpolated_paths, room_areas, area_covered_percentages, numbers_of_coverages); - // save the map with the drawn in coverage areas - const std::string coverage_image_path = data_storage_path + configuration_folder_name + data.map_name_ + "_coverage_eval.png"; - cv::imwrite(coverage_image_path.c_str(), map_coverage); - // save the map with the drawn in path and coverage areas - const std::string path_coverage_image_path = data_storage_path + configuration_folder_name + data.map_name_ + "_coverage_paths_eval.png"; - cv::imwrite(path_coverage_image_path.c_str(), map_path_coverage); - // calculate average coverage and deviation - const double room_area_mean = std::accumulate(room_areas.begin(), room_areas.end(), 0.0) / std::max(1.0, (double)room_areas.size()); - const double coverage_percentage_mean = std::accumulate(area_covered_percentages.begin(), area_covered_percentages.end(), 0.0) / std::max(1.0, (double)area_covered_percentages.size()); - const double coverage_percentage_stddev = stddev(area_covered_percentages, coverage_percentage_mean); - const double coverage_number_mean = std::accumulate(numbers_of_coverages.begin(), numbers_of_coverages.end(), 0.0) / std::max(1.0, (double)numbers_of_coverages.size()); - const double coverage_number_stddev = stddev(numbers_of_coverages, coverage_number_mean); - std::cout << "Checked coverage for all rooms." << std::endl; - - - // 7. compute average computation time and deviation - const double computation_time_mean = std::accumulate(calculation_times.begin(), calculation_times.end(), 0.0) / std::max(1.0, (double)calculation_times.size()); - const double computation_time_stddev = stddev(calculation_times, computation_time_mean); - - - // 8. parallelism: for each part of the path calculate the parallelism with respect to the nearest wall and the nearest trajectory part - std::vector wall_angle_score_means, trajectory_angle_score_means; // score for parallelism of trajectory to walls and previous parts of the trajectory itself, in range [0,1], high values are good - std::vector revisit_time_means; // vector that stores the index-differences of the current pose and the point of its nearest neighboring trajectory, values in [0,1], low values are good - statisticsParallelism(data, map, path_map, paths, interpolated_paths, grid_spacing_in_pixel, wall_angle_score_means, trajectory_angle_score_means, revisit_time_means); - // calculate mean and stddev of the wall angle scores - const double wall_angle_score_mean = std::accumulate(wall_angle_score_means.begin(), wall_angle_score_means.end(), 0.0) / std::max(1.0, (double)wall_angle_score_means.size()); - const double wall_angle_score_stddev = stddev(wall_angle_score_means, wall_angle_score_mean); - // calculate mean and stddev of the trajectory angle scores - const double trajectory_angle_score_mean = std::accumulate(trajectory_angle_score_means.begin(), trajectory_angle_score_means.end(), 0.0) / std::max(1.0, (double)trajectory_angle_score_means.size()); - const double trajectory_angle_score_stddev = stddev(trajectory_angle_score_means, trajectory_angle_score_mean); - // calculate mean and stddev of the trajectory revisit times - const double revisit_time_mean = std::accumulate(revisit_time_means.begin(), revisit_time_means.end(), 0.0) / std::max(1.0, (double)revisit_time_means.size());; - const double revisit_time_stddev = stddev(revisit_time_means, revisit_time_mean); - std::cout << "Checked parallelism for all rooms." << std::endl; - - - // 9. calculate the number of crossings related values - const double crossings_mean = std::accumulate(number_of_crossings.begin(), number_of_crossings.end(), 0.0) / std::max(1.0, (double)number_of_crossings.size()); - const double crossings_stddev = stddev(number_of_crossings, crossings_mean); - - // 10. calculate the subjective measure for the paths - const double subjective_measure_mean = wall_angle_score_mean + trajectory_angle_score_mean - -0.25*(crossings_mean/room_area_mean + pathlength_mean/room_area_mean + rotation_values_mean/(PI*room_area_mean) + revisit_time_mean); - - - // ---------- 11. store all results to a file ---------- - // print the found average evaluation values to a local file - std::stringstream output; - output << "Expl" << config.exploration_algorithm_ << ", number of rooms: " << paths.size() << ", number of valid paths: " - << nonzero_paths << std::endl; - output << "calculation time average [s]\t" << "calculation time stddev [s]\t" - << "pathlength total [m]\t" << "pathlength average [m]\t" << "pathlength stddev [m]\t" - << "rotation values total [rad]\t" << "rotation values average [rad]\t" << "rotation values stddev [rad]\t" - << "number of rotations total\t" << "number of rotations average\t" << "number of rotations stddev\t" - << "execution time total [s]\t" << "execution time average [s]\t" << "execution time stddev\t" - << "covered area average [0,1]\t" << "covered area stddev\t" << "coverage per map cell average\t" << "coverage per map cell deviation\t" - << "number of crossings average\t" << "number of crossings stddev\t" - << "wall angle score average\t" << "wall angle score stddev\t" - << "trajectory angle score average\t" << "trajectory angle score stddev\t" - << "average time until traj. is near previous traj.\t" << "stddev of revisit time\t" - << "subjective measure\t"<< std::endl; - output << computation_time_mean << "\t" << computation_time_stddev << "\t" - << pathlength_total << "\t" << pathlength_mean << "\t" << pathlength_stddev << "\t" - << rotation_values_total << "\t" << rotation_values_mean << "\t" << rotation_values_stddev << "\t" - << number_of_rotations_total << "\t" << number_of_rotations_mean << "\t" << number_of_rotations_stddev << "\t" - << execution_time_total << "\t" << execution_time_mean << "\t" << execution_time_stddev << "\t" - << coverage_percentage_mean << "\t" << coverage_percentage_stddev << "\t" << coverage_number_mean << "\t" << coverage_number_stddev << "\t" - << crossings_mean << "\t" << crossings_stddev << "\t" - << wall_angle_score_mean << "\t" << wall_angle_score_stddev << "\t" - << trajectory_angle_score_mean << "\t" << trajectory_angle_score_stddev << "\t" - << revisit_time_mean << "\t" << revisit_time_stddev << "\t" - << subjective_measure_mean; - std::string filename = data_storage_path + configuration_folder_name + data.map_name_ + "_results_eval.txt"; - std::ofstream file(filename.c_str(), std::ofstream::out); - if (file.is_open()) - file << output.str(); - else - ROS_ERROR("Could not write to file '%s'.", filename.c_str()); - file.close(); - - // print detailed information for each room to a separate file - if (calculation_times.size()!=pathlengths_for_map.size() || calculation_times.size()!=rotation_values.size() || - calculation_times.size()!=area_covered_percentages.size() || calculation_times.size()!= room_areas.size() || - calculation_times.size()!=trajectory_angle_score_means.size() || calculation_times.size()!= wall_angle_score_means.size() || calculation_times.size()!= revisit_time_means.size() || - calculation_times.size()!=number_of_crossings.size() || calculation_times.size()!=number_of_rotations.size()) - { - std::cout << "Error in evaluation: array sizes do not match:\n calculation_times.size()=" << calculation_times.size() - << "\n pathlengths_for_map.size()=" << pathlengths_for_map.size() << "\n rotation_values.size()=" << rotation_values.size() - << "\n area_covered_percentages.size()=" << area_covered_percentages.size() << "\n room_areas.size()=" << room_areas.size() - << "\n trajectory_angle_score_means.size()=" << trajectory_angle_score_means.size() << "\n room_wall_averages.size()=" << wall_angle_score_means.size() - << "\n room_revisit_averages.size()=" << revisit_time_means.size() << "\n numbers_of_crossings.size()=" << number_of_crossings.size() - << "\n number_of_rotations.size()=" << number_of_rotations.size() << std::endl; - } - std::stringstream output2; - for (size_t i=0; i >& paths, std::vector& calculation_times) - { - // 1. get the location of the results and open this file - const std::string configuration_folder_name = config.generateConfigurationFolderString() + "/"; - std::string log_filename = data_storage_path + configuration_folder_name + data.map_name_ + "_results.txt"; - std::cout << "Reading file " << log_filename << std::endl; - std::ifstream reading_file(log_filename.c_str(), std::ios::in); - - // 2. if the file could be opened, read out the given paths for all rooms - std::vector current_path; - if (reading_file.is_open()==true) - { - std::string line; - bool initial = true; - while(getline(reading_file, line)) - { - // check if the current line is empty --> shows a new room - if(line.empty()==true) - { - // save the previously found calculation times and paths - paths.push_back(current_path); - // reset temporary vectors - current_path.clear(); - // set the flag to a new room - initial = true; - // ignore the empty line - continue; - } - - // if the new line is the first after an empty line, it contains the calculation time - if(initial==true) - { - // if the time limit was exceeded or a bug appeared, save a -1 - if(line.find("exceeded")!=std::string::npos || line.find("bug")!=std::string::npos) - { - //std::cout << "bug or exceeded calculation time" << std::endl; - // set max calculation time -// if(config.exploration_algorithm_==5) // higher max time for flowNetwork explorator -// calculation_time = 10800; -// else -// calculation_time = 1800; - - // save a invalid pose, to show that this room has no coverage path - geometry_msgs::Pose2D false_pose; - false_pose.x = -1; - false_pose.y = -1; - current_path.push_back(false_pose); - } - else - { - const char* str = line.c_str(); - double calculation_time = 0.; - sscanf(str, "%*[^0-9]%lf", &calculation_time); - calculation_times.push_back(calculation_time); - //std::cout << "calculation time: " << calculation_time << "s" << std::endl; - } - initial = false; - } - // else read out x,y and theta and create a new Pose - else - { - double x=0., y=0., theta=0.; - std::istringstream iss(line); - int pos_counter = 0; - std::string buffer; - - // get saved output until comma or the end of the line is reached - while(getline(iss, buffer, ',')) - { - // remove brackets - buffer.erase(std::remove(buffer.begin(), buffer.end(), '['), buffer.end()); - buffer.erase(std::remove(buffer.begin(), buffer.end(), ']'), buffer.end()); - - // save value regarding the position of it - if(pos_counter==0) - x = atof(buffer.c_str()); - else if(pos_counter==1) - y = atof(buffer.c_str()); - else if(pos_counter==2) - theta = atof(buffer.c_str()); - - // increase position counter - ++pos_counter; - - } - //std::cout << " x: " << x << ", y: " << y << ", theta: " << theta << std::endl; - - // save the found pose - if(x>0 && y>0) - { - geometry_msgs::Pose2D current_pose; - current_pose.x = x; - current_pose.y = y; - current_pose.theta = theta; - current_path.push_back(current_pose); - } - } - } - } - else - { - ROS_WARN("Error on reading file '%s'", log_filename.c_str()); - return false; - } - reading_file.close(); - - std::cout << "Finished reading file " << log_filename << std::endl; - - return true; - } - - void computeFOVCenterAndGridSpacing(const ExplorationData& data, cv::Point2d& fov_circle_center_point_in_px, double& grid_spacing_in_pixel) - { - // find the middle-point distance of the given field of view - std::vector > fov_corners_meter(4); - for(int i = 0; i < 4; ++i) - fov_corners_meter[i] << data.fov_points_[i].x, data.fov_points_[i].y; - float fitting_circle_radius_in_meter=0; - Eigen::Matrix fitting_circle_center_point_in_meter; - computeFOVCenterAndRadius(fov_corners_meter, fitting_circle_radius_in_meter, fitting_circle_center_point_in_meter, 1000); - // convert the middle-point to pixel measures - fov_circle_center_point_in_px = cv::Point2d(fitting_circle_center_point_in_meter(0,0)/data.map_resolution_, fitting_circle_center_point_in_meter(1,0)/data.map_resolution_); - // determine the grid spacing - double grid_spacing_in_meter = 0.0; // is the square grid cell side length that fits into the circle with the robot's coverage radius or fov coverage radius - if(data.planning_mode_ == FIELD_OF_VIEW) // derive grid spacing from FOV - { - // get the edge length of the grid square that fits into the fitting_circle_radius - grid_spacing_in_meter = fitting_circle_radius_in_meter*std::sqrt(2); - } - else // if planning should be done for the footprint, read out the given coverage radius - { - grid_spacing_in_meter = data.coverage_radius_*std::sqrt(2); - } - grid_spacing_in_pixel = grid_spacing_in_meter/data.map_resolution_; // is the square grid cell side length that fits into the circle with the robot's coverage radius or fov coverage radius, multiply with sqrt(2) to receive the whole working width - std::cout << "grid size: " << grid_spacing_in_meter << " m (" << grid_spacing_in_pixel << " px)" << std::endl; - } - - // compute the direction of the gradient for each pixel and save the occurring gradients - cv::Mat computeGradientMap(const cv::Mat& map, bool return_angles=false) - { - // calculate the gradient x/y directions for each pixel in the map - cv::Mat gradient_x, gradient_y; - cv::Mat gradient_map; - cv::Sobel(map, gradient_x, CV_64F, 1, 0, 3, 1.0, 0.0, cv::BORDER_DEFAULT); - cv::Sobel(map, gradient_y, CV_64F, 0, 1, 3, 1.0, 0.0, cv::BORDER_DEFAULT); - - if (return_angles==true) - { - gradient_map = cv::Mat(map.rows, map.cols, CV_64F, cv::Scalar(0)); - // compute the direction of the gradient for each pixel and save the occurring gradients - for(size_t y=0; y(y,x); - int dy = gradient_y.at(y,x); - if(dy*dy+dx*dx!=0) - { - double current_gradient = std::atan2(dy, dx); - gradient_map.at(y,x) = current_gradient; - } - } - } - } - else - { - std::vector channels; - channels.push_back(gradient_x); - channels.push_back(gradient_y); - cv::merge(channels, gradient_map); - } - return gradient_map; - } - - // path map, path length, turns, crossings statistics - void statisticsPathLengthCrossingsTurns(const ExplorationData& data, const cv::Mat& map, cv::Mat& path_map, const cv::Point2d& fov_circle_center_point_in_px, - const std::vector >& paths, std::vector >& interpolated_paths, - std::vector& pathlengths_for_map, int& nonzero_paths, std::vector& number_of_crossings, - std::vector& rotation_values, std::vector& number_of_rotations) - { - AStarPlanner path_planner; - MapAccessibilityAnalysis map_accessibility_analysis; - cv::Mat inflated_map; - const int robot_radius_in_pixel = floor(data.robot_radius_ / data.map_resolution_); - map_accessibility_analysis.inflateMap(map, inflated_map, robot_radius_in_pixel); - interpolated_paths.resize(paths.size()); - - // draw paths - for(size_t room=0; room this should never happen."); - continue; - } - found_initial_pose = findAccessiblePose(inflated_map, current_pose_px, current_pose_px, data, fov_circle_center_point_in_px, false); - if (found_initial_pose == true) - break; - } - if(found_initial_pose == false) - { - // if any starting pose works, use first pose for further computations to achieve proper error handling - ROS_WARN("ExplorationEvaluation:evaluateCoveragePaths: No starting position is accessible."); - current_pose_px = paths[room][0]; - size_t initial_pose_index = 0; - } - geometry_msgs::Pose2D initial_pose_m; // in [m] - initial_pose_m.x = (current_pose_px.x*data.map_resolution_)+data.map_origin_.position.x; - initial_pose_m.y = (current_pose_px.y*data.map_resolution_)+data.map_origin_.position.y; - initial_pose_m.theta = current_pose_px.theta; - std::vector current_pose_path_meter; // in [m,m,rad] - current_pose_path_meter.push_back(initial_pose_m); - - // loop through trajectory points - for(std::vector::const_iterator pose_px=paths[room].begin()+initial_pose_index+1; pose_px!=paths[room].end(); ++pose_px) - { - // if a false pose has been saved, skip it - if(current_pose_px.x==-1 && current_pose_px.y==-1) - { - ROS_WARN("ExplorationEvaluation:evaluateCoveragePaths: current_pose_px.x==-1 && current_pose_px.y==-1 --> this should never happen."); - continue; - } - - // find an accessible next pose - geometry_msgs::Pose2D next_pose_px = *pose_px; - bool found_next = findAccessiblePose(inflated_map, current_pose_px, next_pose_px, data, fov_circle_center_point_in_px); - if(found_next==false) - { - std::cout << " skipping next_pose_px=(" << next_pose_px.x << "," << next_pose_px.y << ") inaccessible from current_pose_px=(" << current_pose_px.x << "," << current_pose_px.y << ")" << std::endl; - continue; // if no accessible position could be found, go to next possible path point - } - - // find pathlength and path between two consecutive poses - std::vector current_interpolated_path; // vector that stores the current path from one pose to another - const cv::Point current_pose_px_pt(current_pose_px.x, current_pose_px.y); - const cv::Point next_pose_px_pt(next_pose_px.x, next_pose_px.y); - // first query for direct current_pose_px_pt to next_pose_px_pt connection - double length_planner = generateDirectConnection(inflated_map, current_pose_px_pt, next_pose_px_pt, current_interpolated_path); - if (length_planner < 0.) // kind of a hack: if there is no accessible connection between two points, try to find a path on the original (not inflated) map, this path could possibly not be driven by the robot in reality - length_planner = generateDirectConnection(map, current_pose_px_pt, next_pose_px_pt, current_interpolated_path); - // use A* if there is no direct connection - if (length_planner < 0.) - length_planner = path_planner.planPath(inflated_map, current_pose_px_pt, next_pose_px_pt, 1.0, 0.0, data.map_resolution_, 0, ¤t_interpolated_path); - // kind of a hack: if there is no accessible connection between two points, try to find a path on the original (not inflated) map, this path could possibly not be driven by the robot in reality - if (current_interpolated_path.size()==0) - length_planner = path_planner.planPath(map, current_pose_px_pt, next_pose_px_pt, 1.0, 0.0, data.map_resolution_, 0, ¤t_interpolated_path); - current_pathlength += (length_planner>1e90 || length_planner<0 ? cv::norm(cv::Point(next_pose_px.x-current_pose_px.x, next_pose_px.y-current_pose_px.y)) : length_planner); - - // if there is any proper connection between the two points, just use the goal point as "path" - if (current_interpolated_path.size()<2) - { - current_interpolated_path.push_back(cv::Point(current_pose_px.x, current_pose_px.y)); - current_interpolated_path.push_back(cv::Point(next_pose_px.x, next_pose_px.y)); - } - - // transform the cv::Point path to geometry_msgs::Pose2D --> last point has, first point was already gone a defined angle - // also create output map to show path --> and check if one point has already been visited - bool has_crossing = false; - //cv::circle(path_map, cv::Point(next_pose_px.x, next_pose_px.y), 1, cv::Scalar(196), CV_FILLED); - for(std::vector::iterator point=current_interpolated_path.begin()+1; point!=current_interpolated_path.end(); ++point) - { - // check if point has been visited before and draw point into map - if(path_map.at(*point)==127) - has_crossing = true; - else - path_map.at(*point)=127; - - // transform to world coordinates - geometry_msgs::Pose2D current_pose; - current_pose.x = (point->x*data.map_resolution_)+data.map_origin_.position.x; - current_pose.y = (point->y*data.map_resolution_)+data.map_origin_.position.y; - current_pose.theta = 0; // the angles are computed afterwards with some smoothing interpolation - - // add the pose to the path - current_pose_path_meter.push_back(current_pose); - } - if (has_crossing == true) - ++current_number_of_crossings; - - // set robot_position to new one - current_pose_px = next_pose_px; - } - - // angles and turn: compute the angles along the pixel-wise path and add to the cumulative rotation - const int offset = 2; - for (size_t i=0; i1) - { - double angle_difference = current_pose_path_meter[i].theta - current_pose_path_meter[i-1].theta; - angle_difference = std::abs(angles::normalize_angle(angle_difference)); - current_rotation_abs += angle_difference; - if (angle_difference > 0.52) // only count substantial rotations > 30deg - ++current_number_of_rotations; - } - } - - // save number of crossings of the path - number_of_crossings.push_back(current_number_of_crossings); - - // save rotation values - rotation_values.push_back(current_rotation_abs); - number_of_rotations.push_back(current_number_of_rotations); - - // save the interpolated path between - interpolated_paths[room]=current_pose_path_meter; - - // transform the pixel length to meter - current_pathlength *= data.map_resolution_; - pathlengths_for_map.push_back(current_pathlength); - } - } - - void statisticsCoverageArea(const ExplorationData& data, const cv::Mat& map, const cv::Mat& path_map, cv::Mat& map_coverage, cv::Mat& map_path_coverage, - const std::vector >& paths, const std::vector >& interpolated_paths, - std::vector& room_areas, std::vector& area_covered_percentages, std::vector& numbers_of_coverages) - { - map_coverage = map.clone(); - for(size_t room=0; room convert path to cv format - std::vector path; - for (size_t i=0; i convert field of view to Eigen format - std::vector > field_of_view; - for(size_t i = 0; i < data.fov_points_.size(); ++i) - { - Eigen::Matrix current_vector; - current_vector << data.fov_points_[i].x, data.fov_points_[i].y; - field_of_view.push_back(current_vector); - } - // --> convert field of view origin to Eigen format - Eigen::Matrix fov_origin; - fov_origin << data.fov_origin_.x, data.fov_origin_.y; - // --> call coverage checker - CoverageCheckServer coverage_checker; - if (coverage_checker.checkCoverage(data.room_maps_[room], data.map_resolution_, cv::Point2d(data.map_origin_.position.x, data.map_origin_.position.y), - path, field_of_view, fov_origin, data.coverage_radius_, (data.planning_mode_==FOOTPRINT), true, coverage_map, number_of_coverage_image) == true) - { - for (int v=0; v(v,u)==127) - map_coverage.at(v,u)=208; - } - else - { - ROS_INFO("Error when calling the coverage check server."); - } - - // service interface - can be deleted -// // use the coverage check server to check which areas have been seen -// ipa_building_msgs::CheckCoverageRequest coverage_request; -// ipa_building_msgs::CheckCoverageResponse coverage_response; -// // fill request -// std::string coverage_service_name = "/room_exploration/coverage_check_server/coverage_check"; -// // cv::Mat eroded_room_map; -// // cv::erode(data.room_maps_[room], eroded_room_map, cv::Mat(), cv::Point(-1, -1), robot_radius_in_pixel); -// sensor_msgs::ImageConstPtr service_image; -// cv_bridge::CvImage cv_image; -// cv_image.encoding = "mono8"; -// cv_image.image = data.room_maps_[room]; //eroded_room_map; -// service_image = cv_image.toImageMsg(); -// coverage_request.map_resolution = data.map_resolution_; -// coverage_request.input_map = *service_image; -// coverage_request.map_origin = data.map_origin_; -// coverage_request.path = interpolated_paths[room]; -// coverage_request.field_of_view = data.fov_points_; -// coverage_request.field_of_view_origin = data.fov_origin_; -// coverage_request.coverage_radius = data.coverage_radius_; -// if (data.planning_mode_ == FOOTPRINT) -// coverage_request.check_for_footprint = true; -// else if (data.planning_mode_ == FIELD_OF_VIEW) -// coverage_request.check_for_footprint = false; -// coverage_request.check_number_of_coverages = true; -// // send request -// if(ros::service::call(coverage_service_name, coverage_request, coverage_response)==true) -// { -// cv_bridge::CvImagePtr cv_ptr_obj; -// cv_ptr_obj = cv_bridge::toCvCopy(coverage_response.coverage_map, sensor_msgs::image_encodings::MONO8); -// coverage_map = cv_ptr_obj->image; -// -// for (int v=0; v(v,u)==127) -// map_coverage.at(v,u)=208; -// -// cv_ptr_obj = cv_bridge::toCvCopy(coverage_response.number_of_coverage_image, sensor_msgs::image_encodings::TYPE_32SC1); -// number_of_coverages_image = cv_ptr_obj->image; -// } -// else -// { -// ROS_INFO("Error when calling the coverage check server."); -// } -// cv::imshow("seen", coverage_map); -// cv::waitKey(); - - // get the area of the whole room - const int white_room_pixels = cv::countNonZero(data.room_maps_[room]); - const double room_area = data.map_resolution_ * data.map_resolution_ * (double) white_room_pixels; - room_areas.push_back(room_area); - - // get the covered area of the room - cv::threshold(coverage_map, coverage_map, 150, 255, cv::THRESH_BINARY); // covered area drawn in as 127 --> find still white pixels - const int not_covered_pixels = cv::countNonZero(coverage_map); - const double not_covered_area = data.map_resolution_ * data.map_resolution_ * (double) not_covered_pixels; - - // get and save the percentage of coverage - double coverage_percentage = (room_area-not_covered_area)/room_area; - area_covered_percentages.push_back(coverage_percentage); - - // check how often pixels have been covered - double average_coverage_number = 0.0, coverage_number_deviation = 0.0; - for(size_t u=0; u(u,v)!=0) - numbers_of_coverages.push_back(number_of_coverage_image.at(u,v)); - } - // create the map with the drawn in path and coverage areas - map_path_coverage = map.clone(); - for (int v=0; v(v,u)==255) - map_path_coverage.at(v,u) = 176; // leftover uncovered areas - if (path_map.at(v,u)==127 || path_map.at(v,u)==196) - map_path_coverage.at(v,u) = path_map.at(v,u); - } - } - } - - void statisticsParallelism(const ExplorationData& data, const cv::Mat& map, const cv::Mat& path_map, - const std::vector >& paths, const std::vector >& interpolated_paths, - const double grid_spacing_in_pixel, - std::vector& wall_angle_score_means, std::vector& trajectory_angle_score_means, std::vector& revisit_time_means) - { - // compute the direction of the gradient for each pixel and save the occurring gradients - cv::Mat gradient_map = computeGradientMap(map); - - const double trajectory_parallelism_check_range = 2.0*grid_spacing_in_pixel; //1.0/data.map_resolution_; // valid check-radius when checking for the parallelism to another part of the trajectory, [pixels] - for (size_t room=0; room current_wall_angle_scores, current_trajectory_angle_scores; // values in [0,1], high values are good - std::vector current_revisit_times; // values in [0,1], low values are good - for (std::vector::const_iterator pose=paths[room].begin(); pose!=paths[room].end()-1; ++pose) - { - double dx = (pose+1)->x - pose->x; - double dy = (pose+1)->y - pose->y; - double norm = std::sqrt(dy*dy + dx*dx); - if(norm==0) - continue; // skip if the point and its successor are the same - dx = dx/norm; - dy = dy/norm; - - // go in the directions of both normals and find the nearest wall - bool hit_wall = false, hit_trajectory = false, exceeded_trajectory_parallelism_check_range = false; - bool n1_ok = true, n2_ok = true; - cv::Point2f n1(pose->x, pose->y), n2(pose->x, pose->y); - cv::Point wall_pixel, trajectory_pixel; - do - { - // update normals - n1.x -= dy; - n1.y += dx; - n2.x += dy; - n2.y -= dx; - - // test for coordinates inside image - if (n1.x<0.f || n1.y<0.f || (int)n1.x >= map.cols || (int)n1.y >= map.rows) - n1_ok = false; - if (n2.x<0.f || n2.y<0.f || (int)n2.x >= map.cols || (int)n2.y >= map.rows) - n2_ok = false; - - // test if a wall/obstacle has been hit - if (hit_wall==false && n1_ok==true && map.at(n1)==0) - { - hit_wall = true; - n1_ok = false; // do not further search with direction that has found a wall - wall_pixel = n1; - } - else if (hit_wall==false && n2_ok==true && map.at(n2)==0) - { - hit_wall = true; - n2_ok = false; // do not further search with direction that has found a wall - wall_pixel = n2; - } - - // only search for the parallelism to another trajectory if the range hasn't been exceeded yet - if (exceeded_trajectory_parallelism_check_range==false && hit_trajectory==false) - { - // test if another trajectory part has been hit, if the check-radius is still satisfied - const double dist1 = cv::norm(n1-cv::Point2f(pose->x, pose->y)); - const double dist2 = cv::norm(n2-cv::Point2f(pose->x, pose->y)); - - if (n1_ok==true && dist1<=trajectory_parallelism_check_range && path_map.at(n1)==127) - { - hit_trajectory = true; - trajectory_pixel = n1; - } - else if (n2_ok==true && dist2<=trajectory_parallelism_check_range && path_map.at(n2)==127) - { - hit_trajectory = true; - trajectory_pixel = n2; - } - - // if both distances exceed the valid check range, mark as finished - if (dist1>trajectory_parallelism_check_range && dist2>trajectory_parallelism_check_range) - exceeded_trajectory_parallelism_check_range = true; - } - -// cv::Mat test_map = map.clone(); -// cv::circle(test_map, cv::Point(pose->x, pose->y), 2, cv::Scalar(127), CV_FILLED); -// cv::circle(test_map, cv::Point((pose+1)->x, (pose+1)->y), 2, cv::Scalar(127), CV_FILLED); -// cv::circle(test_map, n1, 2, cv::Scalar(127), CV_FILLED); -// cv::circle(test_map, n2, 2, cv::Scalar(127), CV_FILLED); -// cv::imshow("normals", test_map); -// cv::waitKey(); - } while ((n1_ok || n2_ok) && ((hit_wall==false) || (hit_trajectory==false && exceeded_trajectory_parallelism_check_range==false))); - - // if a wall/obstacle was found, determine the gradient at this position and compare it to the direction of the path - if (hit_wall==true) - { - cv::Vec2d gradient = gradient_map.at(wall_pixel); - cv::Point2f normal_vector(-gradient.val[1], gradient.val[0]); - const double normal_norm = cv::norm(normal_vector); - normal_vector *= (float)(normal_norm!=0. ? 1./normal_norm : 1.); - const double delta_theta = std::acos(normal_vector.x*dx + normal_vector.y*dy); - const double delta_theta_score = std::abs(0.5*PI-delta_theta)*(1./(0.5*PI));// parallel if delta_theta close to 0 or PI - current_wall_angle_scores.push_back(delta_theta_score); - } - - // if another trajectory part could be found, determine the parallelism to it - if (hit_trajectory==true) - { - // find the trajectory point in the interpolated path - cv::Point2f trajectory_point_m((trajectory_pixel.x*data.map_resolution_)+data.map_origin_.position.x, (trajectory_pixel.y*data.map_resolution_)+data.map_origin_.position.y); // transform in world coordinates - int pose_index = pose-paths[room].begin(); - int neighbor_index = -1; - for (std::vector::const_iterator neighbor=interpolated_paths[room].begin(); neighbor!=interpolated_paths[room].end(); ++neighbor) - if (cv::norm(trajectory_point_m-cv::Point2f(neighbor->x,neighbor->y)) < 0.5*data.map_resolution_) - neighbor_index = neighbor-interpolated_paths[room].begin(); - if (neighbor_index == -1) - ROS_WARN("ExplorationEvaluation:evaluateCoveragePaths: parallelism check to trajectory, neighbor_index==-1 --> did not find the neighbor for trajectory point (%f,%f)m.", trajectory_point_m.x, trajectory_point_m.y); -// std::cout << "index: " << pose_index << ", n: " << neighbor_index << std::endl; - - // save the found index difference, i.e. the difference in percentage of path completion between current node and neighboring path point - current_revisit_times.push_back(std::abs((double)pose_index/(double)paths[room].size() - (double)neighbor_index/(double)interpolated_paths[room].size())); - - // calculate the trajectory direction at the neighbor to get the difference - const double n_dx = cos(interpolated_paths[room][neighbor_index].theta); - const double n_dy = sin(interpolated_paths[room][neighbor_index].theta); - const double delta_theta = std::acos(n_dx*dx + n_dy*dy); // acos delivers in range [0,Pi] - const double delta_theta_score = std::abs(0.5*PI-delta_theta)*(1./(0.5*PI));// parallel if delta_theta close to 0 or PI - current_trajectory_angle_scores.push_back(delta_theta_score); - } - } - // save found values - wall_angle_score_means.push_back(std::accumulate(current_wall_angle_scores.begin(), current_wall_angle_scores.end(), 0.0) / std::max(1.0, (double)current_wall_angle_scores.size())); - trajectory_angle_score_means.push_back(std::accumulate(current_trajectory_angle_scores.begin(), current_trajectory_angle_scores.end(), 0.0) / std::max(1.0, (double)current_trajectory_angle_scores.size())); - revisit_time_means.push_back(std::accumulate(current_revisit_times.begin(), current_revisit_times.end(), 0.0) / std::max(1.0, (double)current_revisit_times.size())); - } - } - - bool findAccessiblePose(const cv::Mat& inflated_map, const geometry_msgs::Pose2D& current_pose_px, geometry_msgs::Pose2D& target_pose_px, const ExplorationData& data, - const cv::Point2d fov_circle_center_point_in_px, const bool approach_path_accessibility_check=true) - { - MapAccessibilityAnalysis map_accessibility_analysis; - bool found_next = false; - if(inflated_map.at(target_pose_px.y, target_pose_px.x)!=0) // if calculated target pose is accessible, use it as next pose - { - found_next = true; - } - else // use the map accessibility server to find another accessible target pose - { - const MapAccessibilityAnalysis::Pose target_pose_px_copy(target_pose_px.x, target_pose_px.y, target_pose_px.theta); - if (data.planning_mode_ == FOOTPRINT || (fov_circle_center_point_in_px.x==0 && fov_circle_center_point_in_px.y==0)) // if the fov center is at the robot center it behaves like footprint planning - { - const int max_radius = std::max(1, cvRound(1.55*data.coverage_radius_/data.map_resolution_)); // in [pixel] - // check circles with growing radius around the desired point until a dislocation of data.coverage_radius_ would be exceeded - for (double radius=1; radius<=max_radius && found_next==false; ++radius) - { - // check perimeter for accessible poses - std::vector accessible_poses_on_perimeter; - map_accessibility_analysis.checkPerimeter(accessible_poses_on_perimeter, target_pose_px_copy, radius, PI/32., inflated_map, - approach_path_accessibility_check, cv::Point(current_pose_px.x, current_pose_px.y)); - - // find the closest accessible point on this perimeter - double min_distance_sqr = std::numeric_limits::max(); - for(std::vector::iterator new_pose=accessible_poses_on_perimeter.begin(); new_pose!=accessible_poses_on_perimeter.end(); ++new_pose) - { - const double dist_sqr = (new_pose->x-current_pose_px.x)*(new_pose->x-current_pose_px.x) + (new_pose->y-current_pose_px.y)*(new_pose->y-current_pose_px.y); - if (dist_sqr < min_distance_sqr) - { - target_pose_px.x = cvRound(new_pose->x); // the approach_path_accessibility_check uses (u,v) coordinates obtained with cvRound, so this has to be used - target_pose_px.y = cvRound(new_pose->y); // here for rounding as well, otherwise the robot can slip into the inaccessible space through rounding - //target_pose_px.theta = target_pose_px.theta; // use the orientation of the original pose - min_distance_sqr = dist_sqr; - found_next = true; - } - } - } - } - else if (data.planning_mode_ == FIELD_OF_VIEW) - { - // get the desired FoV-center position - MapAccessibilityAnalysis::Pose fov_center_px; // in [px,px,rad] - fov_center_px.x = (target_pose_px_copy.x + std::cos(target_pose_px_copy.orientation)*fov_circle_center_point_in_px.x - std::sin(target_pose_px_copy.orientation)*fov_circle_center_point_in_px.y); - //fov_center_px.x = (fov_center_px.x-data.map_origin_.position.x) / data.map_resolution_; - fov_center_px.y = (target_pose_px_copy.y + std::sin(target_pose_px_copy.orientation)*fov_circle_center_point_in_px.x + std::cos(target_pose_px_copy.orientation)*fov_circle_center_point_in_px.y); - //fov_center_px.y = (fov_center_px.y-data.map_origin_.position.y) / data.map_resolution_; - fov_center_px.orientation = target_pose_px_copy.orientation; - - std::cout << "target_pose_px_copy: " << target_pose_px_copy.x << ", " << target_pose_px_copy.y << ", " << target_pose_px_copy.orientation << std::endl; - std::cout << "fov_center_px: " << fov_center_px.x << ", " << fov_center_px.y << ", " << fov_center_px.orientation << std::endl; - - const double optimal_distance_to_fov_center = cv::norm(fov_circle_center_point_in_px); - for (double factor_add=0.; factor_add<0.45 && found_next==false; factor_add*=-1.) - { - const double factor = 1.0 + factor_add; - if (factor_add<=0.) - factor_add -= 0.1; - - // check perimeter for accessible poses - std::vector accessible_poses_on_perimeter; - map_accessibility_analysis.checkPerimeter(accessible_poses_on_perimeter, fov_center_px, factor*optimal_distance_to_fov_center, - PI/32., inflated_map, approach_path_accessibility_check, cv::Point(current_pose_px.x, current_pose_px.y)); - - // find the closest accessible point on this perimeter - double min_distance_sqr = std::numeric_limits::max(); - for(std::vector::iterator new_pose=accessible_poses_on_perimeter.begin(); new_pose!=accessible_poses_on_perimeter.end(); ++new_pose) - { - const double dist_sqr = (new_pose->x-target_pose_px_copy.x)*(new_pose->x-target_pose_px_copy.x) + (new_pose->y-target_pose_px_copy.y)*(new_pose->y-target_pose_px_copy.y); - if (dist_sqr < min_distance_sqr) - { - target_pose_px.x = cvRound(new_pose->x); // the approach_path_accessibility_check uses (u,v) coordinates obtained with cvRound, so this has to be used - target_pose_px.y = cvRound(new_pose->y); // here for rounding as well, otherwise the robot can slip into the inaccessible space through rounding - target_pose_px.theta = new_pose->orientation; - min_distance_sqr = dist_sqr; - found_next = true; - } - } - } - } - } - return found_next; - } - - // return path length if a direct connection is possible, otherwise -1 - double generateDirectConnection(const cv::Mat& map, const cv::Point& start, const cv::Point& goal, std::vector& current_interpolated_path) - { - if (start==goal) - return 0.; - - // try with direct connecting line - cv::LineIterator it(map, start, goal); - bool direct_connection = true; - for (int k=0; k1 ? std::sqrt(2.) : 1); - current_interpolated_path[k] = it2.pos(); - } - return length; - } - - return -1.; - } - - // accumulate all statistics into one file - void writeCumulativeStatistics(const std::vector& evaluation_data, const std::vector& configs, - const std::string& data_storage_path) - { - for(std::vector::const_iterator config=configs.begin(); config!=configs.end(); ++config) - { - const std::string configuration_folder_name = config->generateConfigurationFolderString() + "/"; - std::stringstream cumulative_statistics; - for (size_t i=0; i0) - cumulative_statistics << line << std::endl; - } - else - ROS_ERROR("Could not open file '%s' for reading cumulative data.", filename.c_str()); - file.close(); - } - const std::string filename_out = data_storage_path + configuration_folder_name + "all_evaluations_per_room.txt"; - std::ofstream file_out(filename_out.c_str(), std::ofstream::out); - if (file_out.is_open()) - file_out << cumulative_statistics.str(); - else - ROS_ERROR("Could not open file '%s' for writing cumulative data.", filename_out.c_str()); - file_out.close(); - } - } -}; - -int main(int argc, char **argv) -{ - ros::init(argc, argv, "room_exploration_evaluation"); - ros::NodeHandle nh; - - const std::string test_map_path = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/"; - const std::string data_storage_path = "room_exploration_evaluation/"; - - // prepare relevant floor map data - std::vector< std::string > map_names; - map_names.push_back("lab_ipa"); - map_names.push_back("lab_c_scan"); - map_names.push_back("Freiburg52_scan"); -// map_names.push_back("Freiburg79_scan"); -// map_names.push_back("lab_b_scan"); -// map_names.push_back("lab_intel"); -// map_names.push_back("Freiburg101_scan"); -// map_names.push_back("lab_d_scan"); -// map_names.push_back("lab_f_scan"); -// map_names.push_back("lab_a_scan"); -// map_names.push_back("NLB"); -// map_names.push_back("office_a"); -// map_names.push_back("office_b"); -// map_names.push_back("office_c"); -// map_names.push_back("office_d"); -// map_names.push_back("office_e"); -// map_names.push_back("office_f"); -// map_names.push_back("office_g"); -// map_names.push_back("office_h"); -// map_names.push_back("office_i"); -// map_names.push_back("lab_ipa_furnitures"); -// map_names.push_back("lab_c_scan_furnitures"); -// map_names.push_back("Freiburg52_scan_furnitures"); -// map_names.push_back("Freiburg79_scan_furnitures"); -// map_names.push_back("lab_b_scan_furnitures"); -// map_names.push_back("lab_intel_furnitures"); -// map_names.push_back("Freiburg101_scan_furnitures"); -// map_names.push_back("lab_d_scan_furnitures"); -// map_names.push_back("lab_f_scan_furnitures"); -// map_names.push_back("lab_a_scan_furnitures"); -// map_names.push_back("NLB_furnitures"); -// map_names.push_back("office_a_furnitures"); -// map_names.push_back("office_b_furnitures"); -// map_names.push_back("office_c_furnitures"); -// map_names.push_back("office_d_furnitures"); -// map_names.push_back("office_e_furnitures"); -// map_names.push_back("office_f_furnitures"); -// map_names.push_back("office_g_furnitures"); -// map_names.push_back("office_h_furnitures"); -// map_names.push_back("office_i_furnitures"); - - std::vector exploration_algorithms; -// exploration_algorithms.push_back(1); // grid point exploration - exploration_algorithms.push_back(2); // boustrophedon exploration -// exploration_algorithms.push_back(3); // neural network exploration -// exploration_algorithms.push_back(4); // convex SPP exploration -// exploration_algorithms.push_back(5); // flow network exploration -// exploration_algorithms.push_back(6); // energy functional exploration -// exploration_algorithms.push_back(7); // voronoi exploration - - // coordinate system definition: x points in forward direction of robot and camera, y points to the left side of the robot and z points upwards. x and y span the ground plane. - // measures in [m] - std::vector fov_points(4); -// fov_points[0].x = 0.04035; // this field of view represents the off-center iMop floor wiping device -// fov_points[0].y = -0.136; -// fov_points[1].x = 0.04035; -// fov_points[1].y = 0.364; -// fov_points[2].x = 0.54035; // todo: this definition is mirrored on x (y-coordinates are inverted) to work properly --> check why, make it work the intuitive way -// fov_points[2].y = 0.364; -// fov_points[3].x = 0.54035; -// fov_points[3].y = -0.136; -// int planning_mode = 2; // viewpoint planning -// fov_points[0].x = 0.15; // this field of view fits a Asus Xtion sensor mounted at 0.63m height (camera center) pointing downwards to the ground in a respective angle -// fov_points[0].y = 0.35; -// fov_points[1].x = 0.15; -// fov_points[1].y = -0.35; -// fov_points[2].x = 1.15; -// fov_points[2].y = -0.65; -// fov_points[3].x = 1.15; -// fov_points[3].y = 0.65; -// int planning_mode = 2; // viewpoint planning - fov_points[0].x = -0.3; // this is the working area of a vacuum cleaner with 60 cm width - fov_points[0].y = 0.3; - fov_points[1].x = -0.3; - fov_points[1].y = -0.3; - fov_points[2].x = 0.3; - fov_points[2].y = -0.3; - fov_points[3].x = 0.3; - fov_points[3].y = 0.3; - int planning_mode = 2; // footprint planning - geometry_msgs::Point32 fov_origin; - fov_origin.x = 0.; - fov_origin.y = 0.; - - const double robot_radius = 0.3; // [m] - const double coverage_radius = 0.3; // [m] - const double robot_speed = 0.3; // [m/s] - const double robot_rotation_speed = 0.52; // [rad/s] - const float map_resolution = 0.05; // [m/cell] - - ExplorationEvaluation ev(nh, test_map_path, map_names, map_resolution, data_storage_path, robot_radius, coverage_radius, fov_points, fov_origin, - planning_mode, exploration_algorithms, robot_speed, robot_rotation_speed, true, true); - ros::shutdown(); - - //exit - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/sub.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/sub.cpp deleted file mode 100644 index bca1b05..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/sub.cpp +++ /dev/null @@ -1,45 +0,0 @@ -#include "ros/ros.h" -#include "ipa_building_msgs/dis_info.h" -#include "ipa_building_msgs/dis_info_array.h" - - -void doMsg(const ipa_building_msgs::dis_info_array::ConstPtr& ceju_msg){ - - for (const auto& obstacle_info : ceju_msg->dis) - { - - float distance = obstacle_info.distance; - float width = obstacle_info.width; - float height = obstacle_info.height; - ROS_INFO("distance: %.2f ", distance); - - // // 执行避障逻辑 - // if (distance < obstacle_distance_threshold) - // { - // ROS_INFO("Obstacle detected at distance: %.2f meters. Avoiding obstacle.", distance); - - // // 在这里执行避障动作,例如停止机器人 - // geometry_msgs::Twist cmd_vel; - // cmd_vel.linear.x = 0.0; - // cmd_vel.angular.z = 0.0; - // cmd_vel_pub.publish(cmd_vel); - - // // 这里可以添加更复杂的避障逻辑,例如避开障碍物或调整方向 - // } - // else - // { - // ROS_INFO("No obstacle detected at distance: %.2f meters. Continuing.", distance); - // } - } -} -int main(int argc, char *argv[]) -{ - setlocale(LC_ALL,""); - ros::init(argc,argv,"sub_dis"); - ros::NodeHandle nh; - ros::Subscriber sub = nh.subscribe("ceju_info",10,doMsg); - - ros::spin();//循环读取接收的数据,并调用回调函数处理 - - return 0; -} \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_client.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_client.launch deleted file mode 100644 index 6cd31f8..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_client.launch +++ /dev/null @@ -1,28 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_evaluation.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_evaluation.launch deleted file mode 100644 index cd5b643..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_evaluation.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/worlds/sim.world b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/worlds/sim.world deleted file mode 100644 index 85f8712..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/worlds/sim.world +++ /dev/null @@ -1,1578 +0,0 @@ - - - - 1 - 0 0 10 0 -0 0 - 0.8 0.8 0.8 1 - 0.2 0.2 0.2 1 - - 1000 - 0.9 - 0.01 - 0.001 - - -0.5 0.1 -0.9 - - 0 - 0 - 0 - - - - 1 - - - - - 0 0 1 - 100 100 - - - - - - 100 - 50 - - - - - - - - - - - 10 - - - 0 - - - 0 0 1 - 100 100 - - - - - - - 0 - 0 - 0 - - - 0 0 -9.8 - 6e-06 2.3e-05 -4.2e-05 - - - 0.001 - 1 - 1000 - - - 0.4 0.4 0.4 1 - 0.7 0.7 0.7 1 - 1 - - - - EARTH_WGS84 - 0 - 0 - 0 - 0 - - - 1 - - 0 0 0.01 0 -0 0 - - - - 0 0 1 - 30 20 - - - - - - 100 - 50 - - - - - - - - - - - 10 - - - 0 11 0.001 0 -0 0 - 0 - - - 0 0 1 - 34 2 - - - - - - - - 0 -11 0.001 0 -0 0 - 0 - - - 0 0 1 - 34 2 - - - - - - - - 16 0 0.001 0 -0 0 - 0 - - - 0 0 1 - 2 20 - - - - - - - - -16 0 0.001 0 -0 0 - 0 - - - 0 0 1 - 2 20 - - - - - - - - 0 - - - 0 0 1 - 30 20 - - - - - - - 0 - 0 - 0 - - -0.121937 -0.503301 0 0 -0 0 - - - 1 - - - 0 0 1 0 -0 0 - - - 1.5 0.8 0.03 - - - - - - 0.6 - 0.6 - - - - - - - - - - - 10 - - - 0 0 1 0 -0 0 - - - 1.5 0.8 0.03 - - - - - - - - 0.68 0.38 0.5 0 -0 0 - - - 0.02 - 1 - - - 10 - - - - - - - - - - - - - - - 0.68 0.38 0.5 0 -0 0 - - - 0.02 - 1 - - - - - - - - 0.68 -0.38 0.5 0 -0 0 - - - 0.02 - 1 - - - 10 - - - - - - - - - - - - - - - 0.68 -0.38 0.5 0 -0 0 - - - 0.02 - 1 - - - - - - - - -0.68 -0.38 0.5 0 -0 0 - - - 0.02 - 1 - - - 10 - - - - - - - - - - - - - - - -0.68 -0.38 0.5 0 -0 0 - - - 0.02 - 1 - - - - - - - - -0.68 0.38 0.5 0 -0 0 - - - 0.02 - 1 - - - 10 - - - - - - - - - - - - - - - -0.68 0.38 0.5 0 -0 0 - - - 0.02 - 1 - - - - - - - 0 - 0 - 0 - - 2.22926 -4.67258 0 0 -0 0 - - - 0.282311 -0.242367 0 0 -0 0 - - - - - 32 0.15 2.5 - - - 0 0 1.25 0 -0 0 - 10 - - - - - - - - - - - - - - - 0 0 1.25 0 -0 0 - - - 32 0.15 2.5 - - - - - 0.960784 0.47451 0 1 - - - 0 - - - 1e-06 -11.675 0 0 -0 3.14159 - 0 - 0 - 0 - - - - - - 23.5 0.15 2.5 - - - 0 0 1.25 0 -0 0 - 10 - - - - - - - - - - - - - - - 0 0 1.25 0 -0 0 - - - 23.5 0.15 2.5 - - - - - 0.960784 0.47451 0 1 - - - 0 - - - -15.925 -0 0 0 -0 1.5708 - 0 - 0 - 0 - - - - - - 32 0.15 2.5 - - - 0 0 1.25 0 -0 0 - 10 - - - - - - - - - - - - - - - 0 0 1.25 0 -0 0 - - - 32 0.15 2.5 - - - - - 0.960784 0.47451 0 1 - - - 0 - - - 1e-06 11.675 0 0 -0 0 - 0 - 0 - 0 - - - - - - 23.5 0.15 2.5 - - - 0 0 1.25 0 -0 0 - 10 - - - - - - - - - - - - - - - 0 0 1.25 0 -0 0 - - - 23.5 0.15 2.5 - - - - - 0.960784 0.47451 0 1 - - - 0 - - - 15.925 -0 0 0 -0 -1.5708 - 0 - 0 - 0 - - 1 - - - 1 - - - - - model://pine_tree/meshes/pine_tree.dae - - - 10 - - - - - - - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Branch - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Bark - - - - - - - - 0 - 0 - 0 - - 11.8949 7.1898 0 0 -0 0 - - - 1 - - - - - model://pine_tree/meshes/pine_tree.dae - - - 10 - - - - - - - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Branch - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Bark - - - - - - - - 0 - 0 - 0 - - 9.134 8.49007 0 0 -0 0 - - - 1 - - - - - model://pine_tree/meshes/pine_tree.dae - - - 10 - - - - - - - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Branch - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Bark - - - - - - - - 0 - 0 - 0 - - 6.26329 6.89864 0 0 -0 0 - - - 1 - - - - - model://pine_tree/meshes/pine_tree.dae - - - 10 - - - - - - - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Branch - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Bark - - - - - - - - 0 - 0 - 0 - - 10.6895 3.78098 0 0 -0 0 - - - 1 - - - - - model://pine_tree/meshes/pine_tree.dae - - - 10 - - - - - - - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Branch - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Bark - - - - - - - - 0 - 0 - 0 - - 2.64018 7.98293 0 0 -0 0 - - - 1 - - - - - model://pine_tree/meshes/pine_tree.dae - - - 10 - - - - - - - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Branch - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Bark - - - - - - - - 0 - 0 - 0 - - 6.55847 2.56696 0 0 -0 0 - - - 1 - - - - - model://pine_tree/meshes/pine_tree.dae - - - 10 - - - - - - - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Branch - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Bark - - - - - - - - 0 - 0 - 0 - - 9.60411 -0.376221 0 0 -0 0 - - - 1 - - - - - model://pine_tree/meshes/pine_tree.dae - - - 10 - - - - - - - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Branch - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Bark - - - - - - - - 0 - 0 - 0 - - -3.21533 6.79176 0 0 -0 0 - - - 1 - - - - - model://pine_tree/meshes/pine_tree.dae - - - 10 - - - - - - - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Branch - - - - - - - - - - - model://pine_tree/meshes/pine_tree.dae - - Bark - - - - - - - - 0 - 0 - 0 - - 0.441623 3.90862 0 0 -0 0 - - - - - - - 1.5 1.5 1.5 - model://dumpster/meshes/dumpster.dae - - - 10 - - - - - - - - - - - - - - - - - 1.5 1.5 1.5 - model://dumpster/meshes/dumpster.dae - - - - - - - 0 - - 0 0 0 0 -0 0 - - 1 - 0 - 0 - 1 - 0 - 1 - - 1 - - 0 - 0 - - 7.93379 -5.44785 0 0 -0 0 - - - 1 - - - 0 0 0.755 0 -0 0 - - - 0.913 0.913 0.04 - - - 10 - - - - - - - - - - - - - - - 0 0 0.37 0 -0 0 - - - 0.042 0.042 0.74 - - - 10 - - - - - - - - - - - - - - - 0 0 0.02 0 -0 0 - - - 0.56 0.56 0.04 - - - 10 - - - - - - - - - - - - - - - - - model://cafe_table/meshes/cafe_table.dae - - - - 0 - 0 - 0 - - 5.00619 -7.7671 0 0 -0 0 - - - 1 - - - - - model://fire_hydrant/meshes/fire_hydrant.dae - - - 10 - - - - - - - - - - - - - - - - - model://fire_hydrant/meshes/fire_hydrant.dae - - - - 0 - 0 - 0 - - 13.6242 -4.18511 0 0 -0 0 - - - 1 - - - - - model://house_2/meshes/house_2.dae - 1.5 1.5 1.5 - - - 10 - - - - - - - - - - - - - - - - - model://house_2/meshes/house_2.dae - 1.5 1.5 1.5 - - - - - - model://house_1/materials/textures/House_1_Normal.png - - - - 0 - 0 - 0 - - -9.17281 -5.59908 0 0 -0 0 - - - 397 424000000 - 766 142269694 - 1679845835 169511959 - 397424 - - 11.9119 -9.12195 0.011376 2e-06 -0 1e-06 - 1 1 1 - - 11.9119 -9.12195 0.011376 2e-06 -0 1e-06 - 0 0 0 0 -0 0 - 0 0 -9.8 0 -0 0 - 0 0 -9.8 0 -0 0 - - - - -9.1045 -2.14717 0 0 0 -1.55967 - 1 1 1 - - -9.1045 -2.14717 0 0 0 -1.55967 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 0.282311 -0.242367 0 0 -0 0 - 1 1 1 - - 0.282312 -11.9174 0 0 -0 3.14159 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - -15.6427 -0.242367 0 0 -0 1.5708 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - 0.282312 11.4326 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - 16.2073 -0.242367 0 0 0 -1.5708 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 5.00619 -7.7671 0 0 -0 0 - 1 1 1 - - 5.00619 -7.7671 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 13.6242 -4.18511 0 0 -0 0 - 1 1 1 - - 13.6242 -4.18511 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 0 0 0 0 -0 0 - 1 1 1 - - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 11.8949 7.1898 0 0 -0 0 - 1 1 1 - - 11.8949 7.1898 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 9.134 8.49007 0 0 -0 0 - 1 1 1 - - 9.134 8.49007 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 6.26329 6.89864 0 0 -0 0 - 1 1 1 - - 6.26329 6.89864 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 10.6895 3.78098 0 0 -0 0 - 1 1 1 - - 10.6895 3.78098 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 2.64018 7.98293 0 0 -0 0 - 1 1 1 - - 2.64018 7.98293 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 6.55847 2.56696 0 0 -0 0 - 1 1 1 - - 6.55847 2.56696 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 9.60411 -0.376221 0 0 -0 0 - 1 1 1 - - 9.60411 -0.376221 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - -3.21533 6.79176 0 0 -0 0 - 1 1 1 - - -3.21533 6.79176 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 0.441623 3.90862 0 0 -0 0 - 1 1 1 - - 0.441623 3.90862 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - -0.121937 -0.503301 0 0 -0 0 - 1 1 1 - - -0.121937 -0.503301 0.01 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 2.22926 -4.67258 0 0 -0 0 - 1 1 1 - - 2.22926 -4.67258 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - 0 0 0 0 -0 0 - - - - 0 0 10 0 -0 0 - - - - - 17.9734 -7.30956 65.8679 0 1.24021 2.19755 - orbit - perspective - - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/CMakeLists.txt b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/CMakeLists.txt deleted file mode 100644 index a453b9c..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/CMakeLists.txt +++ /dev/null @@ -1,183 +0,0 @@ -cmake_minimum_required(VERSION 2.8.3) -project(ipa_room_segmentation) - -# build with c++11 -add_compile_options(-std=c++11) - -set(catkin_RUN_PACKAGES - actionlib - cv_bridge - ipa_building_msgs - libdlib - nav_msgs - opengm - roscpp - roslib - sensor_msgs -) - -set(catkin_BUILD_PACKAGES - ${catkin_RUN_PACKAGES} - dynamic_reconfigure -) - -## Find catkin macros and libraries -find_package(catkin REQUIRED COMPONENTS - ${catkin_BUILD_PACKAGES} -) - -generate_dynamic_reconfigure_options( - cfg/RoomSegmentation.cfg -) - -find_package(OpenCV REQUIRED) -find_package(Boost REQUIRED COMPONENTS system thread filesystem) - -find_package(OpenMP) -if(OPENMP_FOUND) - message(STATUS "OPENMP FOUND") - set(OpenMP_FLAGS ${OpenMP_CXX_FLAGS}) #${OpenMP_C_FLAGS} - set(OpenMP_LIBS gomp) -endif() - -################################### -## catkin specific configuration ## -################################### -## The catkin_package macro generates cmake config files for your package -## Declare things to be passed to dependent projects -## INCLUDE_DIRS: uncomment this if you package contains header files -## LIBRARIES: libraries you create in this project that dependent projects also need -## CATKIN_DEPENDS: catkin_packages dependent projects also need -## DEPENDS: system dependencies of this project that dependent projects also need -# important: common/include needs to be here if you have such a directory -catkin_package( -INCLUDE_DIRS - common/include - ros/include -LIBRARIES - ${PROJECT_NAME} -CATKIN_DEPENDS - ${catkin_RUN_PACKAGES} -DEPENDS - OpenCV - Boost - OpenMP -) - - -########### -## Build ## -########### -## Specify additional locations of header files -## Your package locations should be listed before other locations -# include_directories(include ${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) -# important: common/include also needs to be here if you have it -include_directories( - common/include - ros/include - ${catkin_INCLUDE_DIRS} - ${OpenCV_INCLUDE_DIRS} - ${Boost_INCLUDE_DIRS} -) - -# library of the created algorithms -add_library(${PROJECT_NAME} STATIC - common/src/distance_segmentation.cpp - common/src/morphological_segmentation.cpp - common/src/abstract_voronoi_segmentation.cpp - common/src/voronoi_segmentation.cpp - common/src/adaboost_classifier.cpp - common/src/wavefront_region_growing.cpp - common/src/contains.cpp common/src/features.cpp - common/src/raycasting.cpp - common/src/meanshift2d.cpp - common/src/room_class.cpp - common/src/voronoi_random_field_segmentation.cpp - common/src/clique_class.cpp - common/src/cv_boost_loader.cpp - common/src/voronoi_random_field_features.cpp -) -target_link_libraries(${PROJECT_NAME} - ${catkin_LIBRARIES} - ${OpenCV_LIBRARIES} - ${Boost_LIBRARIES} -) -add_dependencies(${PROJECT_NAME} - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) - -### segmentation action server: see room_segmentation_action_server_params.yaml to change the used method -add_executable(room_segmentation_server - ros/src/room_segmentation_server.cpp - ) -target_compile_options(room_segmentation_server PRIVATE ${OpenMP_FLAGS}) -add_dependencies(room_segmentation_server - ${catkin_EXPORTED_TARGETS} - ${PROJECT_NAME} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) -target_link_libraries(room_segmentation_server - ${catkin_LIBRARIES} - ${Boost_LIBRARIES} - ${OpenMP_LIBS} - ${OpenCV_LIBRARIES} - ${PROJECT_NAME}) - -### client for testing purpose -add_executable(room_segmentation_client ros/src/room_segmentation_client.cpp) -target_link_libraries(room_segmentation_client - ${catkin_LIBRARIES} - ${OpenCV_LIBRARIES}) -add_dependencies(room_segmentation_client - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) - -### evaluation function for numeric properties and comparison to a given ground truth segmentation -add_executable(evaluation - ros/src/evaluation_numeric_properties.cpp - common/src/evaluation_segmentation.cpp) -target_link_libraries(evaluation - ${catkin_LIBRARIES} - ${OpenCV_LIBRARIES}) -add_dependencies(evaluation - ${catkin_EXPORTED_TARGETS} - ${${PROJECT_NAME}_EXPORTED_TARGETS} -) - - -############# -## Install ## -############# -## Mark executables and/or libraries for installation -install(TARGETS ${PROJECT_NAME} room_segmentation_server room_segmentation_client evaluation - ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} - RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -) - -##uncomment this if you have a common-directory with header-files -install(DIRECTORY common/include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} - FILES_MATCHING PATTERN "*.h" - PATTERN ".svn" EXCLUDE -) - -##uncomment this if you have header-files in your project -install(DIRECTORY ros/include/${PROJECT_NAME}/ - DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} - FILES_MATCHING PATTERN "*.h" - PATTERN ".svn" EXCLUDE -) - -##uncomment this if you use launch and yaml files -install(DIRECTORY ros/launch - DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/ros - PATTERN ".svn" EXCLUDE -) - -#install(DIRECTORY common/files -# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/common -# PATTERN ".svn" EXCLUDE -#) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/cfg/RoomSegmentation.cfg b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/cfg/RoomSegmentation.cfg deleted file mode 100644 index b66e224..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/cfg/RoomSegmentation.cfg +++ /dev/null @@ -1,59 +0,0 @@ -#!/usr/bin/env python -PACKAGE = "ipa_room_segmentation" - -from dynamic_reconfigure.parameter_generator_catkin import * - -gen = ParameterGenerator() - -method_enum = gen.enum([ gen.const("MorphologicalSegmentation", int_t, 1, "Use the morphological segmentation algorithm."), - gen.const("DistanceSegmentation", int_t, 2, "Use the distance segmentation algorithm."), - gen.const("VoronoiSegmentation", int_t, 3, "Use the Voronoi segmentation algorithm."), - gen.const("SemanticSegmentation", int_t, 4, "Use the semantic/feature-based segmentation algorithm."), - gen.const("RandomFieldSegmentation", int_t, 5, "Use the voronoi-random-field segmentation algorithm."), - gen.const("PassThroughSegmentation", int_t, 99, "Use the pass through segmentation algorithm.")], - "Segmentation algorithm") -gen.add("room_segmentation_algorithm", int_t, 0, "Segmentation method", 3, 1, 99, edit_method=method_enum) - -gen.add("display_segmented_map", bool_t, 0, "Show the resulting segmented map directly", False) -gen.add("publish_segmented_map", bool_t, 0, "Publish the resulting segmented map as grid map", False) - -# room area factor-> Set the limitation of area of the room -------> in [m^2] -#morphological segmentation: 47.0 - 0.8 (means the room area after eroding/shrinking s.t. too small/big contours are not treated as rooms) -gen.add("room_area_factor_upper_limit_morphological", double_t, 0, "Upper room limit for morphological segmentation", 47.0, 0.0) -gen.add("room_area_factor_lower_limit_morphological", double_t, 0, "Lower room limit for morphological segmentation", 0.8, 0.0) - -# distance segmentation: 163.0 - 0.35 (means the room area after decreasing the boundary for the binary filter s.t. too small/big contours are not treated as rooms) -gen.add("room_area_factor_upper_limit_distance", double_t, 0, "Upper room limit for distance segmentation", 163.0, 0.0) -gen.add("room_area_factor_lower_limit_distance", double_t, 0, "Lower room limit for distance segmentation", 0.35, 0.0) - -# Voronoi segmentation: 120.0 - 1.53 (means the max/min area that an area separated by critical lines is allowed to have) -gen.add("room_area_factor_upper_limit_voronoi", double_t, 0, "Upper room limit for Voronoi segmentation", 1000000.0, 0.0) -gen.add("room_area_factor_lower_limit_voronoi", double_t, 0, "Lower room limit for Voronoi segmentation", 0.1, 0.0) - -# Semantic Segmentation: 23.0 - 1.0 (means the max/min area a connected classified region is allowed to have) -gen.add("room_area_factor_upper_limit_semantic", double_t, 0, "Upper room limit for semantic/feature-based segmentation", 1000000.0, 0.0) # if you choose this value small (i.e 23.0) then too big hallway contours are randomly separated into smaller regions using a watershed algorithm, which can look bad -gen.add("room_area_factor_lower_limit_semantic", double_t, 0, "Lower room limit for semantic/feature-based segmentation", 1.0, 0.0) - -# Voronoi random field segmentation: 1000000.0 - 1.53 (means the max/min area a connected classified region is allowed to have) -gen.add("room_area_upper_limit_voronoi_random", double_t, 0, "Upper room limit for Voronoi-random-field segmentation", 1000000.0, 0.0) -gen.add("room_area_lower_limit_voronoi_random", double_t, 0, "Lower room limit for Voronoi-random-field segmentation", 1.53, 0.0) - -# Passthrough segmentation: 1000000.0 - 1.53 (means the max/min area a connected classified region is allowed to have) -gen.add("room_area_upper_limit_passthrough", double_t, 0, "Upper room limit for Voronoi-random-field segmentation", 1000000.0, 0.0) -gen.add("room_area_lower_limit_passthrough", double_t, 0, "Lower room limit for Voronoi-random-field segmentation", 1.0, 0.0) - -# parameters for the voronoi segmentation that specify the neighborhood for critical Point extraction and the distance between critical Points. -gen.add("voronoi_neighborhood_index", int_t, 0, "Size of neighborhood on graph for Voronoi segmentation, larger value sets a larger neighborhood for searching critical points", 280, 0) -gen.add("max_iterations", int_t, 0, "Max number of Iterations for search of neighbors, also used for the vrf segmentation", 150, 0) -gen.add("min_critical_point_distance_factor", double_t, 0, "Minimal distance factor between two critical points before one of it gets eliminated", 0.5, 0.0) -gen.add("max_area_for_merging", double_t, 0, "Maximal area [m^2] of a room that should be merged with its surrounding rooms, also used for the voronoi random field segmentation", 12.5, 0.0) - -# parameters for the voronoi random field segmentation that specify the size of the neighborhood generated on the Voronoi graph, the minimal -# size this neighborhood can have, how far base nodes for each node on the graph need to be apart and how many iterations the inference -# max. should do -gen.add("voronoi_random_field_epsilon_for_neighborhood", int_t, 0, "Larger value sets larger neighborhood, concentrated in a node of the conditional random field", 5, 0) -gen.add("min_neighborhood_size", int_t, 0, "Min. size of the above mentioned neighborhood", 4, 0) -gen.add("min_voronoi_random_field_node_distance", double_t, 0, "Min distance the base nodes for each crf node need to be apart", 7.0, 0.0) -gen.add("max_voronoi_random_field_inference_iterations", int_t, 0, "Max number of iterations the inference algorithm should do", 9000, 0) - -exit(gen.generate(PACKAGE, "room_segmentation_server", "RoomSegmentation")) \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_SVM.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_SVM.xml deleted file mode 100644 index 0cf657b..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_SVM.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - ONE_CLASS - LINEAR - 5.9999999999999998e-01 - 2.2204460492503131e-16 - 100 - 23 - 23 - 1 - 1 - - <_> - 2.83671656e+05 7.78090750e+06 2.06722500e+04 4.50947109e+04 - 5.79335150e+06 5300250. 19302716. 5.71475812e+05 1567863. - 1.29049977e+05 7.88329650e+06 6738720. 509354208. 4.15090725e+06 - 115733672. 4.59749316e+03 6.03456750e+06 4511485. 28201040. - 7.34039550e+06 4.96453250e+06 4.85331211e+04 3.32311797e+04 - - <_> - 1 - 4.7882008646924377e+11 - - 1. - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_boost.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_boost.xml deleted file mode 100644 index 538572f..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_boost.xml +++ /dev/null @@ -1,32240 +0,0 @@ - - - - DiscreteAdaboost - 3 - 350 - 1. - 1 - 23 - 23 - 23 - 0 - - 0 - 10 - 2 - 10 - 0 - - 1 - 2 -

d
- - 1. 1. - - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - 1 - 1 -
i
- - 2
- - 1 - 2 -
i
- - -1 1
- - <_> - -1 - - <_> - 0 - 882720 - -2.5000247678744505e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 8.5281175374984741e-01 - 4.9016128540039062e+01 - <_> - 1 - 602347 - -2.5000247678744505e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 6.4516609907150269e-01 - 5.1874628067016602e+00 - <_> - 2 - 574973 - -2.5000247678744505e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 27374 - 2.5000247678744505e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 280373 - 2.5000247678744505e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.7897748351097107e-01 - 9.7361612319946289e-01 - <_> - 2 - 211281 - 2.5000247678744505e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 69092 - -2.5000247678744505e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0561948056756905e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 7.0789510011672974e-01 - 3.3711798191070557e+00 - <_> - 1 - 659370 - -1.0561948056756905e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.9510058760643005e-01 - 1.1866049468517303e-01 - <_> - 2 - 16249 - 1.0561948056756905e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 643121 - -1.0561948056756905e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 223350 - 1.0561948056756905e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.4686211347579956e-01 - 3.7584754943847656e+01 - <_> - 2 - 41021 - -1.0561948056756905e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 182329 - 1.0561948056756905e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0835391258083200e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 6.8653523921966553e-01 - 4.9311373382806778e-02 - <_> - 1 - 597709 - 1.0835391258083200e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2165627479553223e-01 - 2.7373552322387695e+01 - <_> - 2 - 202717 - -1.0835391258083200e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 394992 - 1.0835391258083200e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 285011 - -1.0835391258083200e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.2550687193870544e-01 - 5.7749996185302734e+00 - <_> - 2 - 271207 - -1.0835391258083200e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 13804 - 1.0835391258083200e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -7.5052965116975667e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 6.2174135446548462e-01 - 5.8754093170166016e+01 - <_> - 1 - 451918 - 7.5052965116975667e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.3912891149520874e-01 - 1.3885684967041016e+01 - <_> - 2 - 407085 - 7.5052965116975667e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 44833 - -7.5052965116975667e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 430802 - -7.5052965116975667e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.4016519784927368e-01 - 7.3667076110839844e+01 - <_> - 2 - 376333 - -7.5052965116975667e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 54469 - 7.5052965116975667e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -7.0255471055884633e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 6.1124324798583984e-01 - 1.7473866045475006e-01 - <_> - 1 - 383200 - -7.0255471055884633e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.3070948719978333e-01 - 8.8179000854492188e+01 - <_> - 2 - 381680 - -7.0255471055884633e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1520 - 7.0255471055884633e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 499520 - 7.0255471055884633e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.3804446458816528e-01 - 3.9916137695312500e+01 - <_> - 2 - 317052 - -7.0255471055884633e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 182468 - 7.0255471055884633e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 5.5757275271874029e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.8539623022079468e-01 - 6.6094345092773438e+01 - <_> - 1 - 563853 - 5.5757275271874029e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 4.2348077893257141e-01 - 5.1872992515563965e+00 - <_> - 2 - 472915 - 5.5757275271874029e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 90938 - -5.5757275271874029e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 318867 - -5.5757275271874029e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.1240997314453125e-01 - 5.8216087341308594e+01 - <_> - 2 - 16908 - 5.5757275271874029e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 301959 - -5.5757275271874029e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -7.3718438427964017e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.9774291515350342e-01 - 3.9099571228027344e+01 - <_> - 1 - 484375 - -7.3718438427964017e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.9912680387496948e-01 - 2.3193679809570312e+01 - <_> - 2 - 20399 - 7.3718438427964017e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 463976 - -7.3718438427964017e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 398345 - 7.3718438427964017e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.7725305557250977e-01 - 5.5976442992687225e-02 - <_> - 2 - 309373 - 7.3718438427964017e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 88972 - -7.3718438427964017e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -5.7711237363036894e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.9095835685729980e-01 - 7.8611063957214355e+00 - <_> - 1 - 167129 - 5.7711237363036894e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.5990914404392242e-01 - 1.9507030487060547e+01 - <_> - 2 - 102470 - -5.7711237363036894e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 64659 - 5.7711237363036894e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 715591 - -5.7711237363036894e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.8049354553222656e-01 - 3.6017631530761719e+01 - <_> - 2 - 58754 - 5.7711237363036894e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 656837 - -5.7711237363036894e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 6.6379357710435383e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 6.1264258623123169e-01 - 4.6442675781250000e+03 - <_> - 1 - 688948 - 6.6379357710435383e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.7940942645072937e-01 - 9.5261204242706299e-01 - <_> - 2 - 59542 - -6.6379357710435383e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 629406 - 6.6379357710435383e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 193772 - -6.6379357710435383e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.8070261180400848e-01 - 9.6825778484344482e-01 - <_> - 2 - 50309 - 6.6379357710435383e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 143463 - -6.6379357710435383e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -4.9806891380818058e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.6908506155014038e-01 - 9.7688269615173340e-01 - <_> - 1 - 453264 - 4.9806891380818058e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.0892013907432556e-01 - 1.4821989746093750e+03 - <_> - 2 - 230631 - 4.9806891380818058e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 222633 - -4.9806891380818058e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 429456 - -4.9806891380818058e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.1308527886867523e-01 - 3.2999923706054688e+01 - <_> - 2 - 419671 - -4.9806891380818058e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9785 - 4.9806891380818058e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -5.0646726701474654e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.8226627111434937e-01 - 1.7250000000000000e+02 - <_> - 1 - 506329 - -5.0646726701474654e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.6317276954650879e-01 - 2.2534292221069336e+01 - <_> - 2 - 41922 - 5.0646726701474654e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 464407 - -5.0646726701474654e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 376391 - 5.0646726701474654e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.6080518960952759e-01 - 5.8332994580268860e-02 - <_> - 2 - 279776 - 5.0646726701474654e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 96615 - -5.0646726701474654e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 4.0498477250255488e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.5375719070434570e-01 - 9.7888779640197754e-01 - <_> - 1 - 528807 - 4.0498477250255488e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.6711561083793640e-01 - 1.4249422073364258e+01 - <_> - 2 - 404206 - 4.0498477250255488e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 124601 - -4.0498477250255488e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 353913 - -4.0498477250255488e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.3276910781860352e-01 - 3.6847179412841797e+01 - <_> - 2 - 73290 - 4.0498477250255488e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 280623 - -4.0498477250255488e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -3.8490637503640324e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.6859707832336426e-01 - 8.7510818481445312e+01 - <_> - 1 - 657030 - -3.8490637503640324e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.8780328631401062e-01 - 5.8185371398925781e+01 - <_> - 2 - 574652 - -3.8490637503640324e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 82378 - 3.8490637503640324e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 225690 - 3.8490637503640324e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.0725263655185699e-01 - 1.3191735744476318e+00 - <_> - 2 - 95330 - -3.8490637503640324e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 130360 - 3.8490637503640324e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 4.3547130396010858e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.5804246664047241e-01 - 5.0668243408203125e+01 - <_> - 1 - 302622 - 4.3547130396010858e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.4361383914947510e-01 - 1.9793853759765625e+01 - <_> - 2 - 109160 - -4.3547130396010858e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 193462 - 4.3547130396010858e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 580098 - -4.3547130396010858e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.6356556415557861e-01 - 7.0139106750488281e+01 - <_> - 2 - 501553 - -4.3547130396010858e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 78545 - 4.3547130396010858e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 3.9508589159378837e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.6446391344070435e-01 - 1.5353633463382721e-01 - <_> - 1 - 121061 - -3.9508589159378837e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 1.5201655030250549e-01 - 6.5945739746093750e+00 - <_> - 2 - 90682 - -3.9508589159378837e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 30379 - 3.9508589159378837e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 761659 - 3.9508589159378837e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.4548988342285156e-01 - 1.1396166992187500e+02 - <_> - 2 - 232129 - -3.9508589159378837e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 529530 - 3.9508589159378837e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -4.2963459221342304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.5056160688400269e-01 - 9.7362148761749268e-01 - <_> - 1 - 363049 - -4.2963459221342304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.3263361454010010e-01 - 4.9014308929443359e+01 - <_> - 2 - 151703 - 4.2963459221342304e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 211346 - -4.2963459221342304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 519671 - 4.2963459221342304e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.7315279841423035e-01 - 1.2722101807594299e-01 - <_> - 2 - 45197 - -4.2963459221342304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 474474 - 4.2963459221342304e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -3.9238680475218229e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.7303798198699951e-01 - 8.9154830932617188e+01 - <_> - 1 - 666441 - -3.9238680475218229e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 3.9737287163734436e-01 - 4.9769868850708008e+00 - <_> - 2 - 97277 - 3.9238680475218229e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 569164 - -3.9238680475218229e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 216279 - 3.9238680475218229e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.9948427379131317e-01 - 3.3712952136993408e+00 - <_> - 2 - 186542 - 3.9238680475218229e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 29737 - -3.9238680475218229e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -3.8445973133888361e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.5484569072723389e-01 - 3.5730915069580078e+01 - <_> - 1 - 434384 - -3.8445973133888361e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.9449812173843384e-01 - 9.8893880844116211e-01 - <_> - 2 - 430281 - -3.8445973133888361e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4103 - 3.8445973133888361e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 448336 - 3.8445973133888361e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.0045017004013062e-01 - 7.3852386474609375e+01 - <_> - 2 - 259008 - 3.8445973133888361e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 189328 - -3.8445973133888361e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -3.1898207249877786e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.5290323495864868e-01 - 5.8774444580078125e+01 - <_> - 1 - 718234 - -3.1898207249877786e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.1853344440460205e-01 - 3.3898910522460938e+01 - <_> - 2 - 220036 - 3.1898207249877786e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 498198 - -3.1898207249877786e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 164486 - 3.1898207249877786e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.6054271161556244e-01 - 6.0868024826049805e-02 - <_> - 2 - 147144 - 3.1898207249877786e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17342 - -3.1898207249877786e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.7638361411288459e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.4218429327011108e-01 - 2.3582912981510162e-02 - <_> - 1 - 121797 - -2.7638361411288459e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 9.1429881751537323e-02 - 3.6944442987442017e-01 - <_> - 2 - 2185 - 2.7638361411288459e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 119612 - -2.7638361411288459e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 760923 - 2.7638361411288459e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.7722950577735901e-01 - 9.7989165782928467e-01 - <_> - 2 - 467048 - 2.7638361411288459e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 293875 - -2.7638361411288459e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -3.8936288401883468e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.5028510093688965e-01 - 3.3781882375478745e-02 - <_> - 1 - 299408 - 3.8936288401883468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.3490308225154877e-01 - 5.1872992515563965e+00 - <_> - 2 - 247438 - 3.8936288401883468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 51970 - -3.8936288401883468e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 583312 - -3.8936288401883468e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.6122623085975647e-01 - 1.4901842117309570e+01 - <_> - 2 - 542480 - -3.8936288401883468e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 40832 - 3.8936288401883468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -3.7859194457551471e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.4297500848770142e-01 - 1.0696094512939453e+01 - <_> - 1 - 519303 - 3.7859194457551471e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.8631174564361572e-01 - 1.5550000000000000e+02 - <_> - 2 - 292353 - -3.7859194457551471e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 226950 - 3.7859194457551471e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 363417 - -3.7859194457551471e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.0722171068191528e-01 - 2.4954649806022644e-01 - <_> - 2 - 328706 - -3.7859194457551471e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 34711 - 3.7859194457551471e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 3.8806981941850882e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.6464052200317383e-01 - 2.6087051630020142e-01 - <_> - 1 - 514877 - 3.8806981941850882e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.0939474105834961e-01 - 1.6938510894775391e+01 - <_> - 2 - 472171 - 3.8806981941850882e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 42706 - -3.8806981941850882e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 367843 - -3.8806981941850882e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.8642322719097137e-01 - 4.5934448242187500e+01 - <_> - 2 - 89925 - 3.8806981941850882e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 277918 - -3.8806981941850882e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.5601663827535109e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.4288333654403687e-01 - 2.0450000000000000e+02 - <_> - 1 - 724586 - -2.5601663827535109e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.4759979844093323e-01 - 7.9199924468994141e+00 - <_> - 2 - 541486 - -2.5601663827535109e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 183100 - 2.5601663827535109e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 158134 - 2.5601663827535109e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.1605703085660934e-01 - 9.6780145168304443e-01 - <_> - 2 - 63784 - 2.5601663827535109e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 94350 - -2.5601663827535109e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.4067785600455416e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3569650650024414e-01 - 2.1868953704833984e+01 - <_> - 1 - 169192 - -2.4067785600455416e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 6.4721196889877319e-02 - 3.8999923706054688e+01 - <_> - 2 - 168384 - -2.4067785600455416e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 808 - 2.4067785600455416e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 713528 - 2.4067785600455416e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.9515947699546814e-01 - 1.8298877716064453e+01 - <_> - 2 - 655994 - 2.4067785600455416e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 57534 - -2.4067785600455416e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -3.4200244768870741e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.5117404460906982e-01 - 4.1146377563476562e+01 - <_> - 1 - 189582 - 3.4200244768870741e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 1.4584004878997803e-01 - 1.1058124542236328e+01 - <_> - 2 - 65761 - -3.4200244768870741e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 123821 - 3.4200244768870741e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 693138 - -3.4200244768870741e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.3883681297302246e-01 - 3.2507812500000000e+01 - <_> - 2 - 680385 - -3.4200244768870741e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12753 - 3.4200244768870741e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.8520754813896321e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.4125010967254639e-01 - 3.2449951171875000e+03 - <_> - 1 - 574444 - 2.8520754813896321e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.4096714854240417e-01 - 9.5860791206359863e-01 - <_> - 2 - 60757 - -2.8520754813896321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 513687 - 2.8520754813896321e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 308276 - -2.8520754813896321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.2985531389713287e-01 - 9.7581613063812256e-01 - <_> - 2 - 178810 - 2.8520754813896321e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 129466 - -2.8520754813896321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.2982056488671518e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.4501110315322876e-01 - 2.0850000000000000e+02 - <_> - 1 - 745585 - -2.2982056488671518e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 4.5085111260414124e-01 - 2.6444540023803711e+01 - <_> - 2 - 12686 - 2.2982056488671518e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 732899 - -2.2982056488671518e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 137135 - 2.2982056488671518e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.0635246336460114e-01 - 4.6487405896186829e-02 - <_> - 2 - 41844 - 2.2982056488671518e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 95291 - -2.2982056488671518e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.4580184093415508e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.3684824705123901e-01 - 1.0054676532745361e+00 - <_> - 1 - 87233 - -2.4580184093415508e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 8.9667581021785736e-02 - 3.1854756176471710e-02 - <_> - 2 - 35334 - 2.4580184093415508e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 51899 - -2.4580184093415508e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 795487 - 2.4580184093415508e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.7147533297538757e-01 - 3.3532081604003906e+01 - <_> - 2 - 346815 - -2.4580184093415508e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 448672 - 2.4580184093415508e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.8135021871546456e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.4266953468322754e-01 - 1.2662216796875000e+03 - <_> - 1 - 528422 - 2.8135021871546456e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.9836127161979675e-01 - 5.1877889633178711e+00 - <_> - 2 - 465528 - 2.8135021871546456e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 62894 - -2.8135021871546456e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 354298 - -2.8135021871546456e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.7151593565940857e-01 - 1.0398562011718750e+03 - <_> - 2 - 24471 - 2.8135021871546456e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 329827 - -2.8135021871546456e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.3879996448776486e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.3198719024658203e-01 - 2.0673083496093750e+02 - <_> - 1 - 563897 - -2.3879996448776486e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 2.9127633571624756e-01 - 2.1284889221191406e+01 - <_> - 2 - 493911 - -2.3879996448776486e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 69986 - 2.3879996448776486e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 318823 - 2.3879996448776486e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.6814156770706177e-01 - 1.2748368084430695e-01 - <_> - 2 - 27121 - -2.3879996448776486e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 291702 - 2.3879996448776486e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -3.2072387369203748e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.4793244600296021e-01 - 6.3041107177734375e+01 - <_> - 1 - 518900 - 3.2072387369203748e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.4303501248359680e-01 - 1.2224289894104004e+01 - <_> - 2 - 448812 - 3.2072387369203748e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 70088 - -3.2072387369203748e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 363820 - -3.2072387369203748e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.3646563291549683e-01 - 9.6474623680114746e-01 - <_> - 2 - 69743 - 3.2072387369203748e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 294077 - -3.2072387369203748e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.5388568804675321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.3625667095184326e-01 - 7.5241134643554688e+01 - <_> - 1 - 550226 - -2.5388568804675321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.1047654151916504e-01 - 1.8750000000000000e+02 - <_> - 2 - 494944 - -2.5388568804675321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 55282 - 2.5388568804675321e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 332494 - 2.5388568804675321e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.5265613198280334e-01 - 3.5000002384185791e+00 - <_> - 2 - 247473 - 2.5388568804675321e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 85021 - -2.5388568804675321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.8432079365336993e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.3741228580474854e-01 - 4.7506725311279297e+01 - <_> - 1 - 254983 - 2.8432079365336993e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 1.9746458530426025e-01 - 1.2050000000000000e+02 - <_> - 2 - 108797 - -2.8432079365336993e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 146186 - 2.8432079365336993e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 627737 - -2.8432079365336993e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.7314060330390930e-01 - 9.7361600399017334e-01 - <_> - 2 - 273881 - -2.8432079365336993e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 353856 - 2.8432079365336993e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.7807586135889539e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.3048604726791382e-01 - 3.9837718009948730e-02 - <_> - 1 - 396766 - 2.7807586135889539e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.9367303848266602e-01 - 1.5735460281372070e+01 - <_> - 2 - 333714 - 2.7807586135889539e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 63052 - -2.7807586135889539e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 485954 - -2.7807586135889539e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.7540138363838196e-01 - 1.2582890510559082e+01 - <_> - 2 - 384791 - -2.7807586135889539e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 101163 - 2.7807586135889539e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.5257428818013500e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3876495361328125e-01 - 6.5172973632812500e+01 - <_> - 1 - 774061 - -2.5257428818013500e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.4251585006713867e-01 - 5.6907775878906250e+02 - <_> - 2 - 155718 - 2.5257428818013500e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 618343 - -2.5257428818013500e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 108659 - 2.5257428818013500e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.2029416114091873e-01 - 2.8483349084854126e-01 - <_> - 2 - 96999 - 2.5257428818013500e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 11660 - -2.5257428818013500e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.6888200258282402e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3376609086990356e-01 - 3.2374977111816406e+01 - <_> - 1 - 367112 - -2.6888200258282402e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.4384716749191284e-01 - 3.1992652416229248e+00 - <_> - 2 - 331941 - -2.6888200258282402e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 35171 - 2.6888200258282402e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 515608 - 2.6888200258282402e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.2297124862670898e-01 - 2.8283744812011719e+01 - <_> - 2 - 355009 - 2.6888200258282402e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 160599 - -2.6888200258282402e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.6557449847167958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.4306346178054810e-01 - 4.9310810863971710e-02 - <_> - 1 - 597702 - -2.6557449847167958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.3830740451812744e-01 - 2.2350000000000000e+02 - <_> - 2 - 571125 - -2.6557449847167958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 26577 - 2.6557449847167958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 285018 - 2.6557449847167958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.2769871950149536e-01 - 1.8904611468315125e-01 - <_> - 2 - 119410 - -2.6557449847167958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 165608 - 2.6557449847167958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.1957614635785158e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.3768950700759888e-01 - 3.3249731445312500e+02 - <_> - 1 - 41096 - -2.1957614635785158e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.0376721173524857e-02 - 1.2922230362892151e-01 - <_> - 2 - 1151 - 2.1957614635785158e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 39945 - -2.1957614635785158e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 841624 - 2.1957614635785158e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.2429783344268799e-01 - 5.7744584977626801e-02 - <_> - 2 - 691440 - 2.1957614635785158e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 150184 - -2.1957614635785158e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5621912673964305e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.2971059083938599e-01 - 1.1778937530517578e+02 - <_> - 1 - 849067 - -1.5621912673964305e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.0207209587097168e-01 - 3.9004119873046875e+01 - <_> - 2 - 839501 - -1.5621912673964305e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9566 - 1.5621912673964305e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 33653 - 1.5621912673964305e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.6903481930494308e-02 - 2.6576604003906250e+03 - <_> - 2 - 16706 - 1.5621912673964305e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 16947 - -1.5621912673964305e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.5984527176661293e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.2983206510543823e-01 - 3.3699297904968262e+00 - <_> - 1 - 659234 - 2.5984527176661293e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.4077429771423340e-01 - 2.2761417388916016e+01 - <_> - 2 - 168907 - -2.5984527176661293e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 490327 - 2.5984527176661293e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 223486 - -2.5984527176661293e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.2382394969463348e-01 - 4.9548980712890625e+01 - <_> - 2 - 75712 - -2.5984527176661293e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 147774 - 2.5984527176661293e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.8589414297244886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.5083858966827393e-01 - 4.5184902191162109e+01 - <_> - 1 - 225027 - 2.8589414297244886e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.7789599299430847e-01 - 5.1924037933349609e+00 - <_> - 2 - 179559 - 2.8589414297244886e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 45468 - -2.8589414297244886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 657693 - -2.8589414297244886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.9309465885162354e-01 - 4.0533802032470703e+01 - <_> - 2 - 37224 - 2.8589414297244886e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 620469 - -2.8589414297244886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.5890222762878878e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.3204536437988281e-01 - 3.0226737260818481e-01 - <_> - 1 - 635135 - 2.5890222762878878e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.6253535151481628e-01 - 1.1937193572521210e-01 - <_> - 2 - 41365 - -2.5890222762878878e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 593770 - 2.5890222762878878e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 247585 - -2.5890222762878878e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.0183106362819672e-01 - 9.5969329833984375e+01 - <_> - 2 - 214121 - -2.5890222762878878e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 33464 - 2.5890222762878878e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.6087276350002813e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2966541051864624e-01 - 1.2195181640625000e+04 - <_> - 1 - 865649 - -1.6087276350002813e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1756471395492554e-01 - 4.5140047073364258e+00 - <_> - 2 - 85899 - 1.6087276350002813e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 779750 - -1.6087276350002813e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 17071 - 1.6087276350002813e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.2566951811313629e-02 - 2.2305555343627930e+00 - <_> - 2 - 3322 - -1.6087276350002813e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 13749 - 1.6087276350002813e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.5162349612340584e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3231668472290039e-01 - 4.1311653137207031e+01 - <_> - 1 - 511470 - -2.5162349612340584e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.2732007503509521e-01 - 1.8950000000000000e+02 - <_> - 2 - 439893 - -2.5162349612340584e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 71577 - 2.5162349612340584e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 371250 - 2.5162349612340584e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 3.3525598049163818e-01 - 7.6380165100097656e+01 - <_> - 2 - 237881 - 2.5162349612340584e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 133369 - -2.5162349612340584e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.9680235984700412e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.3176385164260864e-01 - 1.2164132118225098e+01 - <_> - 1 - 767723 - 1.9680235984700412e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.7934114933013916e-01 - 2.9931622743606567e-01 - <_> - 2 - 726628 - 1.9680235984700412e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 41095 - -1.9680235984700412e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 114997 - -1.9680235984700412e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 6.9701254367828369e-02 - 5.9036102294921875e+00 - <_> - 2 - 8029 - 1.9680235984700412e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 106968 - -1.9680235984700412e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.1085934556631833e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3102642297744751e-01 - 6.8379714965820312e+01 - <_> - 1 - 791915 - -2.1085934556631833e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.5863428711891174e-01 - 2.7736222743988037e-01 - <_> - 2 - 488246 - -2.1085934556631833e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 303669 - 2.1085934556631833e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 90805 - 2.1085934556631833e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 9.3886099755764008e-02 - 1.5468671917915344e-01 - <_> - 2 - 14078 - -2.1085934556631833e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 76727 - 2.1085934556631833e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.3927106695682640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.3679347038269043e-01 - 6.3816757202148438e+01 - <_> - 1 - 530787 - 2.3927106695682640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.4056138992309570e-01 - 2.4999579787254333e-01 - <_> - 2 - 423022 - 2.3927106695682640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 107765 - -2.3927106695682640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 351933 - -2.3927106695682640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.1897262334823608e-01 - 3.2547447204589844e+01 - <_> - 2 - 344551 - -2.3927106695682640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7382 - 2.3927106695682640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.4655053899517229e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.3666996955871582e-01 - 1.6050000000000000e+02 - <_> - 1 - 399660 - -2.4655053899517229e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.9678973555564880e-01 - 2.6728283691406250e+03 - <_> - 2 - 245275 - 2.4655053899517229e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 154385 - -2.4655053899517229e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 483060 - 2.4655053899517229e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.6453757286071777e-01 - 2.2190344333648682e-01 - <_> - 2 - 193758 - 2.4655053899517229e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 289302 - -2.4655053899517229e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.5498001638289297e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.4181605577468872e-01 - 1.6050000000000000e+02 - <_> - 1 - 399660 - -2.5498001638289297e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.0098134279251099e-01 - 4.9605865478515625e+01 - <_> - 2 - 337015 - -2.5498001638289297e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 62645 - 2.5498001638289297e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 483060 - 2.5498001638289297e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.6242053508758545e-01 - 1.3052967071533203e+01 - <_> - 2 - 417934 - 2.5498001638289297e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 65126 - -2.5498001638289297e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.7456508200215562e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.4151570796966553e-01 - 4.7608787536621094e+01 - <_> - 1 - 256299 - 2.7456508200215562e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.9770053029060364e-01 - 1.6914348602294922e+01 - <_> - 2 - 79379 - -2.7456508200215562e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 176920 - 2.7456508200215562e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 626421 - -2.7456508200215562e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.7051275372505188e-01 - 1.0000002384185791e+00 - <_> - 2 - 496938 - -2.7456508200215562e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 129483 - 2.7456508200215562e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.0004802945700365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.2579295635223389e-01 - 4.9303025007247925e-02 - <_> - 1 - 597556 - -2.0004802945700365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.2179220914840698e-01 - 2.1679308265447617e-02 - <_> - 2 - 95981 - 2.0004802945700365e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 501575 - -2.0004802945700365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 285164 - 2.0004802945700365e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.2805368006229401e-01 - 1.2209074020385742e+01 - <_> - 2 - 215563 - -2.0004802945700365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 69601 - 2.0004802945700365e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.1766179722445614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.3841793537139893e-01 - 1.9424425125122070e+01 - <_> - 1 - 834878 - 2.1766179722445614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.3460085391998291e-01 - 7.2649765014648438e+01 - <_> - 2 - 719975 - 2.1766179722445614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 114903 - -2.1766179722445614e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 47842 - -2.1766179722445614e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 1.9600756466388702e-02 - 1.2279651641845703e+02 - <_> - 2 - 45030 - -2.1766179722445614e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2812 - 2.1766179722445614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.5286557649926933e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.4081672430038452e-01 - 6.3223449707031250e+01 - <_> - 1 - 760071 - -2.5286557649926933e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.2534014582633972e-01 - 1.4329477539062500e+03 - <_> - 2 - 271128 - 2.5286557649926933e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 488943 - -2.5286557649926933e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 122649 - 2.5286557649926933e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.3754153251647949e-01 - 3.0271297693252563e-01 - <_> - 2 - 115372 - 2.5286557649926933e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7277 - -2.5286557649926933e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.0555075165763376e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.3161782026290894e-01 - 2.1139262616634369e-01 - <_> - 1 - 347753 - 2.0555075165763376e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.7911043167114258e-01 - 9.7840070724487305e-01 - <_> - 2 - 263596 - 2.0555075165763376e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 84157 - -2.0555075165763376e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 534967 - -2.0555075165763376e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.7209708094596863e-01 - 7.2531059265136719e+01 - <_> - 2 - 507329 - -2.0555075165763376e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 27638 - 2.0555075165763376e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.6318671841471969e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.3100723028182983e-01 - 3.0554033203125000e+03 - <_> - 1 - 555074 - 2.6318671841471969e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.3232513070106506e-01 - 1.1882034301757812e+02 - <_> - 2 - 231033 - -2.6318671841471969e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 324041 - 2.6318671841471969e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 327646 - -2.6318671841471969e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.3309436440467834e-01 - 1.0087275505065918e+01 - <_> - 2 - 154505 - 2.6318671841471969e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 173141 - -2.6318671841471969e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7886966412152602e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2818858623504639e-01 - 5.7150909423828125e+02 - <_> - 1 - 157310 - 1.7886966412152602e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 8.5386924445629120e-02 - 3.7840070724487305e+00 - <_> - 2 - 65160 - -1.7886966412152602e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 92150 - 1.7886966412152602e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 725410 - -1.7886966412152602e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.5921164751052856e-01 - 2.0250000000000000e+02 - <_> - 2 - 556290 - -1.7886966412152602e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 169120 - 1.7886966412152602e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.4412491736279468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.3618264198303223e-01 - 6.7966049194335938e+01 - <_> - 1 - 588744 - 2.4412491736279468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.7384462356567383e-01 - 9.1840713500976562e+01 - <_> - 2 - 544871 - 2.4412491736279468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43873 - -2.4412491736279468e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 293976 - -2.4412491736279468e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 1.8688529729843140e-01 - 1.7250000000000000e+02 - <_> - 2 - 31347 - 2.4412491736279468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 262629 - -2.4412491736279468e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.5168356891603977e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.3682410717010498e-01 - 1.4950000000000000e+02 - <_> - 1 - 301559 - -2.5168356891603977e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.5741899013519287e-01 - 1.9172586500644684e-02 - <_> - 2 - 38284 - 2.5168356891603977e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 263275 - -2.5168356891603977e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 581161 - 2.5168356891603977e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.0517184734344482e-01 - 5.2177287638187408e-02 - <_> - 2 - 386885 - 2.5168356891603977e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 194276 - -2.5168356891603977e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.6274388301285150e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.2321952581405640e-01 - 4.9310810863971710e-02 - <_> - 1 - 597702 - -1.6274388301285150e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.2153576016426086e-01 - 1.7465135455131531e-01 - <_> - 2 - 287908 - 1.6274388301285150e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 309794 - -1.6274388301285150e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 285018 - 1.6274388301285150e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.1906065791845322e-01 - 3.3731169700622559e+00 - <_> - 2 - 254827 - 1.6274388301285150e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 30191 - -1.6274388301285150e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.3305996235932100e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2847641706466675e-01 - 1.9722145795822144e-01 - <_> - 1 - 519616 - -2.3305996235932100e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.0912411212921143e-01 - 5.3183586120605469e+01 - <_> - 2 - 355831 - -2.3305996235932100e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 163785 - 2.3305996235932100e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 363104 - 2.3305996235932100e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.4887856841087341e-01 - 9.6279144287109375e-01 - <_> - 2 - 40121 - -2.3305996235932100e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 322983 - 2.3305996235932100e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.3036952403919270e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.3912377357482910e-01 - 5.3898361206054688e+01 - <_> - 1 - 365071 - 2.3036952403919270e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 2.3922763764858246e-01 - 3.7840070724487305e+00 - <_> - 2 - 67640 - -2.3036952403919270e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 297431 - 2.3036952403919270e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 517649 - -2.3036952403919270e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 3.1811138987541199e-01 - 4.0031188964843750e+01 - <_> - 2 - 510270 - -2.3036952403919270e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7379 - 2.3036952403919270e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.0377221557767070e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.2814871072769165e-01 - 1.8350000000000000e+02 - <_> - 1 - 596228 - -2.0377221557767070e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.7580871582031250e-01 - 4.0621910095214844e+00 - <_> - 2 - 76371 - 2.0377221557767070e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 519857 - -2.0377221557767070e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 286492 - 2.0377221557767070e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 1.7495878040790558e-01 - 2.6395947265625000e+03 - <_> - 2 - 252916 - 2.0377221557767070e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 33576 - -2.0377221557767070e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.8553929539802766e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2320522069931030e-01 - 2.9549052734375000e+03 - <_> - 1 - 544006 - 1.8553929539802766e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.1955578923225403e-01 - 2.6475187301635742e+01 - <_> - 2 - 211300 - -1.8553929539802766e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 332706 - 1.8553929539802766e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 338714 - -1.8553929539802766e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.2669644653797150e-01 - 6.0698143005371094e+01 - <_> - 2 - 259895 - -1.8553929539802766e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 78819 - 1.8553929539802766e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.3932159263591954e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.3755301237106323e-01 - 1.7373134613037109e+01 - <_> - 1 - 538378 - 2.3932159263591954e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.0823731422424316e-01 - 1.5216379394531250e+03 - <_> - 2 - 218668 - -2.3932159263591954e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 319710 - 2.3932159263591954e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 344342 - -2.3932159263591954e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.5130915641784668e-01 - 2.6667720079421997e-01 - <_> - 2 - 321778 - -2.3932159263591954e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 22564 - 2.3932159263591954e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.8502400513672809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1913762092590332e-01 - 4.4779052734375000e+01 - <_> - 1 - 558733 - -1.8502400513672809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.7459961175918579e-01 - 1.0752773437500000e+03 - <_> - 2 - 171202 - 1.8502400513672809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 387531 - -1.8502400513672809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 323987 - 1.8502400513672809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.7152487635612488e-01 - 2.1282728016376495e-01 - <_> - 2 - 214857 - 1.8502400513672809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 109130 - -1.8502400513672809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.9179242298010485e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2680104970932007e-01 - 3.2482216796875000e+03 - <_> - 1 - 574784 - 1.9179242298010485e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.3918642997741699e-01 - 3.7387070059776306e-01 - <_> - 2 - 468901 - 1.9179242298010485e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 105883 - -1.9179242298010485e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 307936 - -1.9179242298010485e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.0861522853374481e-01 - 2.8730431571602821e-02 - <_> - 2 - 75080 - 1.9179242298010485e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 232856 - -1.9179242298010485e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7677682637851502e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1921409368515015e-01 - 7.3645393371582031e+01 - <_> - 1 - 534334 - -1.7677682637851502e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.9001012444496155e-01 - 4.0442691802978516e+01 - <_> - 2 - 161707 - 1.7677682637851502e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 372627 - -1.7677682637851502e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 348386 - 1.7677682637851502e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.5406932830810547e-01 - 2.5000000000000000e+00 - <_> - 2 - 257611 - 1.7677682637851502e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 90775 - -1.7677682637851502e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2944927495056188e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.2261495590209961e-01 - 2.7957454681396484e+01 - <_> - 1 - 863896 - -1.2944927495056188e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.0150543451309204e-01 - 7.6779220581054688e+01 - <_> - 2 - 828421 - -1.2944927495056188e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 35475 - 1.2944927495056188e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 18824 - 1.2944927495056188e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.0811768025159836e-02 - 8.7500000000000000e+01 - <_> - 2 - 1526 - -1.2944927495056188e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17298 - 1.2944927495056188e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.2805138788649618e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.2759498357772827e-01 - 1.2750000000000000e+02 - <_> - 1 - 154218 - -2.2805138788649618e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.6031777858734131e-01 - 9.7954940795898438e-01 - <_> - 2 - 69686 - -2.2805138788649618e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 84532 - 2.2805138788649618e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 728502 - 2.2805138788649618e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.9644926786422729e-01 - 1.0653674316406250e+03 - <_> - 2 - 144239 - -2.2805138788649618e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 584263 - 2.2805138788649618e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1223244744301501e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 5.2056831121444702e-01 - 2.7092132568359375e+01 - <_> - 1 - 14184 - 1.1223244744301501e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.0670806989073753e-02 - 1.3561982154846191e+01 - <_> - 2 - 2597 - -1.1223244744301501e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 11587 - 1.1223244744301501e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 868536 - -1.1223244744301501e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.0735789537429810e-01 - 7.3869981765747070e+00 - <_> - 2 - 793621 - -1.1223244744301501e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 74915 - 1.1223244744301501e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5530507131952809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2601444721221924e-01 - 5.2472219467163086e+00 - <_> - 1 - 785383 - 1.5530507131952809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.7027212381362915e-01 - 3.3307580566406250e+02 - <_> - 2 - 41479 - -1.5530507131952809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 743904 - 1.5530507131952809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 97337 - -1.5530507131952809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 6.8476296961307526e-02 - 2.5150000000000000e+02 - <_> - 2 - 86815 - -1.5530507131952809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 10522 - 1.5530507131952809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2688637710805309e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 5.2681589126586914e-01 - 2.6944393157958984e+01 - <_> - 1 - 13767 - 1.2688637710805309e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.0236637443304062e-02 - 9.7680604457855225e-01 - <_> - 2 - 2455 - -1.2688637710805309e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 11312 - 1.2688637710805309e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 868953 - -1.2688637710805309e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1144248247146606e-01 - 4.1006408691406250e+01 - <_> - 2 - 858830 - -1.2688637710805309e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 10123 - 1.2688637710805309e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.8286569125336186e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1992076635360718e-01 - 1.2523591613769531e+02 - <_> - 1 - 809078 - 1.8286569125336186e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.4946891069412231e-01 - 6.3247621059417725e-02 - <_> - 2 - 710354 - 1.8286569125336186e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 98724 - -1.8286569125336186e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 73642 - -1.8286569125336186e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 9.6120528876781464e-02 - 1.2654811859130859e+01 - <_> - 2 - 28910 - 1.8286569125336186e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 44732 - -1.8286569125336186e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.6664812093165204e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.3545141220092773e-01 - 2.2550000000000000e+02 - <_> - 1 - 814284 - -1.6664812093165204e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.8810854554176331e-01 - 3.5277777910232544e-01 - <_> - 2 - 2224 - 1.6664812093165204e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 812060 - -1.6664812093165204e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 68436 - 1.6664812093165204e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.3457342088222504e-02 - 5.2621202468872070e+00 - <_> - 2 - 58922 - 1.6664812093165204e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9514 - -1.6664812093165204e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.7054016986871479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2422934770584106e-01 - 3.4956390380859375e+01 - <_> - 1 - 140866 - -1.7054016986871479e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 9.7741618752479553e-02 - 4.9074954986572266e+01 - <_> - 2 - 99632 - -1.7054016986871479e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 41234 - 1.7054016986871479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 741854 - 1.7054016986871479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.4479039311408997e-01 - 1.2406488507986069e-01 - <_> - 2 - 44089 - -1.7054016986871479e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 697765 - 1.7054016986871479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.4708091350926242e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.2632671594619751e-01 - 2.9207530975341797e+01 - <_> - 1 - 155246 - 1.4708091350926242e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 7.2520099580287933e-02 - 1.6195281982421875e+01 - <_> - 2 - 78729 - -1.4708091350926242e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 76517 - 1.4708091350926242e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 727474 - -1.4708091350926242e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.6418398618698120e-01 - 8.6062240600585938e+01 - <_> - 2 - 13616 - 1.4708091350926242e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 713858 - -1.4708091350926242e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.8537181928091362e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2009099721908569e-01 - 7.6652450561523438e+01 - <_> - 1 - 682492 - 1.8537181928091362e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.1290074586868286e-01 - 1.6710216522216797e+01 - <_> - 2 - 627187 - 1.8537181928091362e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 55305 - -1.8537181928091362e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 200228 - -1.8537181928091362e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.3330994546413422e-01 - 1.2432705078125000e+03 - <_> - 2 - 38762 - 1.8537181928091362e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 161466 - -1.8537181928091362e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.1321615139911135e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3494381904602051e-01 - 6.5299362182617188e+01 - <_> - 1 - 774888 - -2.1321615139911135e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.3464040756225586e-01 - 1.5307974815368652e-01 - <_> - 2 - 201052 - 2.1321615139911135e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 573836 - -2.1321615139911135e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 107832 - 2.1321615139911135e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.1846260726451874e-01 - 6.7380859375000000e+03 - <_> - 2 - 98330 - 2.1321615139911135e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9502 - -2.1321615139911135e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7835422273965343e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.2141159772872925e-01 - 2.6457395553588867e+00 - <_> - 1 - 543502 - 1.7835422273965343e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.5564342737197876e-01 - 3.1950057983398438e+01 - <_> - 2 - 295667 - -1.7835422273965343e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 247835 - 1.7835422273965343e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 339218 - -1.7835422273965343e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.8882730007171631e-01 - 1.2249999046325684e+00 - <_> - 2 - 32471 - 1.7835422273965343e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 306747 - -1.7835422273965343e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6421246789221766e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2026802301406860e-01 - 1.4970359206199646e-01 - <_> - 1 - 194491 - -1.6421246789221766e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.2315726280212402e-01 - 9.6512353420257568e-01 - <_> - 2 - 29978 - 1.6421246789221766e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 164513 - -1.6421246789221766e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 688229 - 1.6421246789221766e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.1780385375022888e-01 - 1.6746243286132812e+02 - <_> - 2 - 382442 - -1.6421246789221766e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 305787 - 1.6421246789221766e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 2.1349945196507980e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.3403520584106445e-01 - 6.3926227569580078e+01 - <_> - 1 - 532387 - 2.1349945196507980e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.4311762452125549e-01 - 8.8874023437500000e+01 - <_> - 2 - 492657 - 2.1349945196507980e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 39730 - -2.1349945196507980e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 350333 - -2.1349945196507980e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.1005542576313019e-01 - 4.9007560729980469e+01 - <_> - 2 - 173563 - 2.1349945196507980e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 176770 - -2.1349945196507980e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.1157485399239337e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2946388721466064e-01 - 5.0247917175292969e+01 - <_> - 1 - 616448 - -2.1157485399239337e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.3478778600692749e-01 - 1.4483706054687500e+03 - <_> - 2 - 264101 - 2.1157485399239337e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 352347 - -2.1157485399239337e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 266272 - 2.1157485399239337e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.1790950000286102e-01 - 2.0245698094367981e-01 - <_> - 2 - 167887 - 2.1157485399239337e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 98385 - -2.1157485399239337e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.4987596391113447e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1824301481246948e-01 - 1.9450000000000000e+02 - <_> - 1 - 666719 - -1.4987596391113447e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.9597755670547485e-01 - 4.7238201141357422e+01 - <_> - 2 - 251380 - 1.4987596391113447e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 415339 - -1.4987596391113447e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 216001 - 1.4987596391113447e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.4142143726348877e-01 - 6.9206595420837402e-02 - <_> - 2 - 187863 - 1.4987596391113447e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 28138 - -1.4987596391113447e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.6945746191775046e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.2560162544250488e-01 - 1.3750000000000000e+02 - <_> - 1 - 217397 - -1.6945746191775046e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.9838671386241913e-01 - 9.2698411941528320e+00 - <_> - 2 - 173324 - -1.6945746191775046e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 44073 - 1.6945746191775046e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 665323 - 1.6945746191775046e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.4387657046318054e-01 - 1.6638052368164062e+02 - <_> - 2 - 272338 - -1.6945746191775046e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 392985 - 1.6945746191775046e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.8303376278591144e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.2342832088470459e-01 - 1.6974687576293945e+01 - <_> - 1 - 526638 - 1.8303376278591144e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.9907098412513733e-01 - 5.3737506866455078e+00 - <_> - 2 - 456304 - 1.8303376278591144e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 70334 - -1.8303376278591144e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 356082 - -1.8303376278591144e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.4656014144420624e-01 - 4.0000801086425781e+01 - <_> - 2 - 349628 - -1.8303376278591144e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6454 - 1.8303376278591144e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.9837200424471124e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3148043155670166e-01 - 4.5435165405273438e+01 - <_> - 1 - 566916 - -1.9837200424471124e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.8911086916923523e-01 - 1.9850000000000000e+02 - <_> - 2 - 497959 - -1.9837200424471124e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 68957 - 1.9837200424471124e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 315804 - 1.9837200424471124e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.6032015681266785e-01 - 1.2580104172229767e-01 - <_> - 2 - 19943 - -1.9837200424471124e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 295861 - 1.9837200424471124e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.8274765362971820e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2690309286117554e-01 - 1.0715937500000000e+03 - <_> - 1 - 415837 - 1.8274765362971820e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.3095072805881500e-01 - 1.0696158409118652e+01 - <_> - 2 - 376178 - 1.8274765362971820e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 39659 - -1.8274765362971820e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 466883 - -1.8274765362971820e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.1460943818092346e-01 - 5.5210243225097656e+01 - <_> - 2 - 126974 - 1.8274765362971820e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 339909 - -1.8274765362971820e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7981433608797842e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.2889794111251831e-01 - 1.3750000000000000e+02 - <_> - 1 - 217397 - -1.7981433608797842e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 2.0291399955749512e-01 - 7.0379514694213867e+00 - <_> - 2 - 211530 - -1.7981433608797842e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5867 - 1.7981433608797842e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 665323 - 1.7981433608797842e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.4191885590553284e-01 - 9.8043918609619141e-01 - <_> - 2 - 474461 - 1.7981433608797842e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 190862 - -1.7981433608797842e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.6787892706410881e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2736580371856689e-01 - 4.2897491455078125e+01 - <_> - 1 - 199585 - 1.6787892706410881e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.5381197631359100e-01 - 5.5714025497436523e+00 - <_> - 2 - 159918 - 1.6787892706410881e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 39667 - -1.6787892706410881e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 683135 - -1.6787892706410881e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.8805946707725525e-01 - 4.4086141586303711e+00 - <_> - 2 - 581177 - -1.6787892706410881e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 101958 - 1.6787892706410881e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7317557622810609e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2000737190246582e-01 - 2.4731689453125000e+03 - <_> - 1 - 478156 - 1.7317557622810609e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.8003850579261780e-01 - 2.7021043777465820e+01 - <_> - 2 - 207413 - -1.7317557622810609e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 270743 - 1.7317557622810609e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 404564 - -1.7317557622810609e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.6314750313758850e-01 - 6.4897674560546875e+01 - <_> - 2 - 333565 - -1.7317557622810609e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 70999 - 1.7317557622810609e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.8871309968597677e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.2945041656494141e-01 - 3.9570122957229614e-02 - <_> - 1 - 392264 - 1.8871309968597677e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.8795385360717773e-01 - 1.2070747070312500e+03 - <_> - 2 - 77576 - -1.8871309968597677e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 314688 - 1.8871309968597677e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 490456 - -1.8871309968597677e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.5908491015434265e-01 - 4.9794895172119141e+01 - <_> - 2 - 61265 - 1.8871309968597677e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 429191 - -1.8871309968597677e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5101704383245079e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2044838666915894e-01 - 6.9030746459960938e+01 - <_> - 1 - 484168 - -1.5101704383245079e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.6727783679962158e-01 - 1.9172497093677521e-02 - <_> - 2 - 31689 - 1.5101704383245079e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 452479 - -1.5101704383245079e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 398552 - 1.5101704383245079e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.7040484547615051e-01 - 1.0260999679565430e+01 - <_> - 2 - 106632 - -1.5101704383245079e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 291920 - 1.5101704383245079e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.8635702791409478e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.2642911672592163e-01 - 9.7360563278198242e-01 - <_> - 1 - 362649 - -1.8635702791409478e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.9384776949882507e-01 - 1.1438926696777344e+01 - <_> - 2 - 153154 - 1.8635702791409478e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 209495 - -1.8635702791409478e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 520071 - 1.8635702791409478e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.5260710716247559e-01 - 4.9030090332031250e+01 - <_> - 2 - 450934 - -1.8635702791409478e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 69137 - 1.8635702791409478e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.9765326927722926e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.3124678134918213e-01 - 9.7360563278198242e-01 - <_> - 1 - 362649 - -1.9765326927722926e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.8489610552787781e-01 - 1.4350000000000000e+02 - <_> - 2 - 64160 - -1.9765326927722926e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 298489 - 1.9765326927722926e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 520071 - 1.9765326927722926e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.6435697078704834e-01 - 7.0211486816406250e+01 - <_> - 2 - 370858 - 1.9765326927722926e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 149213 - -1.9765326927722926e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.9008562947159074e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.2817881107330322e-01 - 9.7688269615173340e-01 - <_> - 1 - 453264 - -1.9008562947159074e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.8661244511604309e-01 - 1.3652859628200531e-01 - <_> - 2 - 44955 - 1.9008562947159074e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 408309 - -1.9008562947159074e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 429456 - 1.9008562947159074e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 1.6076639294624329e-01 - 1.4200860595703125e+02 - <_> - 2 - 239336 - 1.9008562947159074e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 190120 - -1.9008562947159074e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6488461611685662e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2262514829635620e-01 - 1.3924482464790344e-01 - <_> - 1 - 121797 - -1.6488461611685662e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 8.2732662558555603e-02 - 1.2755950927734375e+01 - <_> - 2 - 56802 - 1.6488461611685662e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 64995 - -1.6488461611685662e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 760923 - 1.6488461611685662e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.5839536190032959e-01 - 1.1973855590820312e+02 - <_> - 2 - 690430 - 1.6488461611685662e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 70493 - -1.6488461611685662e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.0696553564999931e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.2718508243560791e-01 - 1.5144380569458008e+01 - <_> - 1 - 471388 - -2.0696553564999931e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.6793250441551208e-01 - 4.9755523681640625e+01 - <_> - 2 - 433903 - -2.0696553564999931e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 37485 - 2.0696553564999931e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 411332 - 2.0696553564999931e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.8362497687339783e-01 - 1.5036141872406006e-01 - <_> - 2 - 94777 - -2.0696553564999931e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 316555 - 2.0696553564999931e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7442798053884997e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2825641632080078e-01 - 1.0713525390625000e+03 - <_> - 1 - 415724 - 1.7442798053884997e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 2.2957545518875122e-01 - 3.3307580566406250e+02 - <_> - 2 - 41479 - -1.7442798053884997e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 374245 - 1.7442798053884997e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 466996 - -1.7442798053884997e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 3.1392130255699158e-01 - 4.1006095886230469e+01 - <_> - 2 - 460665 - -1.7442798053884997e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6331 - 1.7442798053884997e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.6894820709831398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2284801006317139e-01 - 3.0361111164093018e+00 - <_> - 1 - 554473 - -1.6894820709831398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.9346308112144470e-01 - 1.7843583226203918e-01 - <_> - 2 - 214178 - 1.6894820709831398e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 340295 - -1.6894820709831398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 328247 - 1.6894820709831398e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.4867379665374756e-01 - 4.2562915802001953e+01 - <_> - 2 - 75934 - -1.6894820709831398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 252313 - 1.6894820709831398e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7674119203356484e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1899164915084839e-01 - 1.2321180105209351e+00 - <_> - 1 - 372782 - 1.7674119203356484e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.2046257555484772e-01 - 5.1326644897460938e+01 - <_> - 2 - 131116 - -1.7674119203356484e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 241666 - 1.7674119203356484e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 509938 - -1.7674119203356484e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 3.2360807061195374e-01 - 1.2249999046325684e+00 - <_> - 2 - 102254 - 1.7674119203356484e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 407684 - -1.7674119203356484e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.4608854021190626e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.2037280797958374e-01 - 7.0782981872558594e+01 - <_> - 1 - 747806 - 1.4608854021190626e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.0612849593162537e-01 - 1.9494859695434570e+01 - <_> - 2 - 703201 - 1.4608854021190626e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 44605 - -1.4608854021190626e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 134914 - -1.4608854021190626e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 1.3032881915569305e-01 - 1.1943687438964844e+02 - <_> - 2 - 105632 - -1.4608854021190626e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 29282 - 1.4608854021190626e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.6290662080802179e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2730250358581543e-01 - 6.7461097717285156e+01 - <_> - 1 - 786712 - -1.6290662080802179e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 4.3959954380989075e-01 - 2.5377178192138672e+01 - <_> - 2 - 10670 - 1.6290662080802179e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 776042 - -1.6290662080802179e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 96008 - 1.6290662080802179e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 1.0103728622198105e-01 - 2.5565913085937500e+03 - <_> - 2 - 72779 - 1.6290662080802179e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 23229 - -1.6290662080802179e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.4416610781529565e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2142697572708130e-01 - 2.2786550521850586e+01 - <_> - 1 - 183963 - -1.4416610781529565e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 6.8228527903556824e-02 - 2.4811942875385284e-01 - <_> - 2 - 129761 - -1.4416610781529565e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 54202 - 1.4416610781529565e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 698757 - 1.4416610781529565e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.6775069832801819e-01 - 2.9504753112792969e+01 - <_> - 2 - 558623 - 1.4416610781529565e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 140134 - -1.4416610781529565e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3452192081534106e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1857942342758179e-01 - 1.1083720397949219e+02 - <_> - 1 - 775712 - -1.3452192081534106e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.1056188941001892e-01 - 1.3630136489868164e+01 - <_> - 2 - 677782 - -1.3452192081534106e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 97930 - 1.3452192081534106e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 107008 - 1.3452192081534106e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 1.2301797419786453e-01 - 1.7500000000000000e+01 - <_> - 2 - 88911 - 1.3452192081534106e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 18097 - -1.3452192081534106e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.7298411620927254e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.2151030302047729e-01 - 1.3457941055297852e+01 - <_> - 1 - 728960 - 1.7298411620927254e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.9567282795906067e-01 - 7.1139678955078125e+01 - <_> - 2 - 556234 - 1.7298411620927254e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 172726 - -1.7298411620927254e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 153760 - -1.7298411620927254e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.4746569097042084e-01 - 9.6817898750305176e-01 - <_> - 2 - 118375 - -1.7298411620927254e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 35385 - 1.7298411620927254e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.8077361312586679e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2921539545059204e-01 - 6.3411556243896484e+01 - <_> - 1 - 761421 - -1.8077361312586679e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.1398248076438904e-01 - 1.6275157928466797e+01 - <_> - 2 - 698556 - -1.8077361312586679e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 62865 - 1.8077361312586679e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 121299 - 1.8077361312586679e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.3108824193477631e-01 - 1.5295208930969238e+01 - <_> - 2 - 93223 - 1.8077361312586679e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 28076 - -1.8077361312586679e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.8090017551510282e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.2529436349868774e-01 - 1.0182608366012573e+00 - <_> - 1 - 162001 - -1.8090017551510282e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.4433114230632782e-01 - 3.3587098121643066e-02 - <_> - 2 - 71177 - 1.8090017551510282e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 90824 - -1.8090017551510282e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 720719 - 1.8090017551510282e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.0077096223831177e-01 - 1.8091466903686523e+01 - <_> - 2 - 681251 - 1.8090017551510282e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 39468 - -1.8090017551510282e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3113544658253162e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1797407865524292e-01 - 3.5487310791015625e+02 - <_> - 1 - 52318 - 1.3113544658253162e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 4.3862845748662949e-02 - 3.7840070724487305e+00 - <_> - 2 - 42754 - -1.3113544658253162e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9564 - 1.3113544658253162e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 830402 - -1.3113544658253162e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.8887410759925842e-01 - 2.3927772521972656e+01 - <_> - 2 - 807320 - -1.3113544658253162e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 23082 - 1.3113544658253162e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5050401463649776e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.2547717094421387e-01 - 3.8817194104194641e-01 - <_> - 1 - 791036 - 1.5050401463649776e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1546055078506470e-01 - 9.6774436533451080e-02 - <_> - 2 - 11781 - -1.5050401463649776e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 779255 - 1.5050401463649776e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 91684 - -1.5050401463649776e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.2094590589404106e-02 - 1.0142603302001953e+02 - <_> - 2 - 85734 - -1.5050401463649776e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5950 - 1.5050401463649776e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1782278029411612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2232253551483154e-01 - 8.0389335632324219e+01 - <_> - 1 - 859440 - -1.1782278029411612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 5.0747865438461304e-01 - 2.8053895950317383e+01 - <_> - 2 - 16815 - 1.1782278029411612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 842625 - -1.1782278029411612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 23280 - 1.1782278029411612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.1942995488643646e-02 - 9.6181493997573853e-01 - <_> - 2 - 9987 - 1.1782278029411612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 13293 - -1.1782278029411612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3723020357718160e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1898813247680664e-01 - 1.1058124542236328e+01 - <_> - 1 - 68239 - -1.3723020357718160e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.6264912933111191e-02 - 3.1845542907714844e+01 - <_> - 2 - 55708 - -1.3723020357718160e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12531 - 1.3723020357718160e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 814481 - 1.3723020357718160e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.8798888921737671e-01 - 2.0290888845920563e-02 - <_> - 2 - 56036 - -1.3723020357718160e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 758445 - 1.3723020357718160e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3496464949818757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 5.2348971366882324e-01 - 4.0621910095214844e+00 - <_> - 1 - 76371 - 1.3496464949818757e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.8088716119527817e-02 - 3.8128118515014648e+00 - <_> - 2 - 68099 - -1.3496464949818757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8272 - 1.3496464949818757e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 806349 - -1.3496464949818757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.7560131549835205e-01 - 8.0716880798339844e+01 - <_> - 2 - 784073 - -1.3496464949818757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 22276 - 1.3496464949818757e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3937218642837171e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.2214956283569336e-01 - 4.4297332763671875e+02 - <_> - 1 - 826754 - 1.3937218642837171e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.7053712606430054e-01 - 6.3277542591094971e-02 - <_> - 2 - 723962 - 1.3937218642837171e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 102792 - -1.3937218642837171e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 55966 - -1.3937218642837171e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 6.4249634742736816e-02 - 1.2626149177551270e+01 - <_> - 2 - 34554 - 1.3937218642837171e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 21412 - -1.3937218642837171e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1688314619837324e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.2122378349304199e-01 - 1.0006089210510254e+00 - <_> - 1 - 19990 - 1.1688314619837324e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.0160043388605118e-02 - 3.1165347099304199e+00 - <_> - 2 - 13134 - 1.1688314619837324e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6856 - -1.1688314619837324e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 862730 - -1.1688314619837324e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 4.9902752041816711e-01 - 3.8793749809265137e+00 - <_> - 2 - 3311 - 1.1688314619837324e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 859419 - -1.1688314619837324e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3462910389821445e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1732021570205688e-01 - 8.2670087814331055e+00 - <_> - 1 - 231846 - -1.3462910389821445e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.0497253388166428e-01 - 3.6026550292968750e+01 - <_> - 2 - 91783 - 1.3462910389821445e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 140063 - -1.3462910389821445e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 650874 - 1.3462910389821445e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 4.2863398790359497e-01 - 5.0000000000000000e-01 - <_> - 2 - 89552 - -1.3462910389821445e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 561322 - 1.3462910389821445e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5253509332660217e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.2270543575286865e-01 - 1.0634729862213135e+00 - <_> - 1 - 268025 - 1.5253509332660217e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 1.8296697735786438e-01 - 1.7006107177734375e+03 - <_> - 2 - 230186 - 1.5253509332660217e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 37839 - -1.5253509332660217e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 614695 - -1.5253509332660217e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.5509303212165833e-01 - 1.0406154785156250e+03 - <_> - 2 - 113608 - 1.5253509332660217e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 501087 - -1.5253509332660217e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5108034041044591e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1858007907867432e-01 - 1.9277192354202271e+00 - <_> - 1 - 461877 - -1.5108034041044591e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.7026772499084473e-01 - 1.7296025156974792e-01 - <_> - 2 - 94134 - 1.5108034041044591e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 367743 - -1.5108034041044591e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 420843 - 1.5108034041044591e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.6743069291114807e-01 - 1.0547151565551758e+01 - <_> - 2 - 231010 - -1.5108034041044591e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 189833 - 1.5108034041044591e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.4485323597660088e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1651149988174438e-01 - 1.2618762207031250e+03 - <_> - 1 - 525663 - 1.4485323597660088e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 2.8805953264236450e-01 - 3.3219573974609375e+02 - <_> - 2 - 40686 - -1.4485323597660088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 484977 - 1.4485323597660088e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 357057 - -1.4485323597660088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 2.4809059500694275e-01 - 3.1549996948242188e+02 - <_> - 2 - 251960 - -1.4485323597660088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 105097 - 1.4485323597660088e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2389695219422896e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1903158426284790e-01 - 2.1150000000000000e+02 - <_> - 1 - 760119 - -1.2389695219422896e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.3817356228828430e-01 - 4.9272228032350540e-02 - <_> - 2 - 549005 - -1.2389695219422896e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 211114 - 1.2389695219422896e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 122601 - 1.2389695219422896e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 9.2761114239692688e-02 - 2.9519119858741760e-01 - <_> - 2 - 79801 - 1.2389695219422896e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 42800 - -1.2389695219422896e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5021747154370152e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.2080684900283813e-01 - 5.1715463399887085e-02 - <_> - 1 - 643881 - 1.5021747154370152e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.4966846704483032e-01 - 1.9361829757690430e+01 - <_> - 2 - 598014 - 1.5021747154370152e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 45867 - -1.5021747154370152e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 238839 - -1.5021747154370152e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 8.7815448641777039e-02 - 1.6223345947265625e+03 - <_> - 2 - 136323 - 1.5021747154370152e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 102516 - -1.5021747154370152e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5104266043261949e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2864831686019897e-01 - 3.5403479003906250e+02 - <_> - 1 - 51950 - 1.5104266043261949e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 3.7973597645759583e-02 - 1.1057499885559082e+01 - <_> - 2 - 43052 - -1.5104266043261949e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8898 - 1.5104266043261949e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 830770 - -1.5104266043261949e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.9971544742584229e-01 - 9.6596515178680420e-01 - <_> - 2 - 172326 - 1.5104266043261949e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 658444 - -1.5104266043261949e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.9557942998780994e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1880055665969849e-01 - 9.7360563278198242e-01 - <_> - 1 - 362649 - -1.9557942998780994e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.9879355430603027e-01 - 4.9010505676269531e+01 - <_> - 2 - 151435 - 1.9557942998780994e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 211214 - -1.9557942998780994e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 520071 - 1.9557942998780994e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.4994602799415588e-01 - 8.2670726776123047e+00 - <_> - 2 - 187551 - -1.9557942998780994e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 332520 - 1.9557942998780994e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7531063423995971e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2391844987869263e-01 - 5.5836666107177734e+01 - <_> - 1 - 684317 - -1.7531063423995971e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.6422514915466309e-01 - 2.7048809051513672e+01 - <_> - 2 - 64490 - 1.7531063423995971e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 619827 - -1.7531063423995971e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 198403 - 1.7531063423995971e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.7949061095714569e-01 - 2.1929091215133667e-01 - <_> - 2 - 165551 - 1.7531063423995971e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 32852 - -1.7531063423995971e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6987000913257311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.2429395914077759e-01 - 5.1878147125244141e+00 - <_> - 1 - 761081 - 1.6987000913257311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.5103564858436584e-01 - 2.0904876708984375e+01 - <_> - 2 - 723553 - 1.6987000913257311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 37528 - -1.6987000913257311e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 121639 - -1.6987000913257311e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 9.1330043971538544e-02 - 4.9014778137207031e+01 - <_> - 2 - 27368 - -1.6987000913257311e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 94271 - 1.6987000913257311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5508147831230867e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.3036290407180786e-01 - 9.0298099517822266e+00 - <_> - 1 - 323142 - 1.5508147831230867e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 1.4453001320362091e-01 - 1.0054676532745361e+00 - <_> - 2 - 52249 - -1.5508147831230867e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 270893 - 1.5508147831230867e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 559578 - -1.5508147831230867e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.9416283369064331e-01 - 1.5760597656250000e+04 - <_> - 2 - 556495 - -1.5508147831230867e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3083 - 1.5508147831230867e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5342202611876526e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1971518993377686e-01 - 2.7653417968750000e+03 - <_> - 1 - 520367 - 1.5342202611876526e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 3.0594521760940552e-01 - 1.2412986755371094e+01 - <_> - 2 - 468698 - 1.5342202611876526e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 51669 - -1.5342202611876526e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 362353 - -1.5342202611876526e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.3233523964881897e-01 - 1.1594191551208496e+01 - <_> - 2 - 300667 - -1.5342202611876526e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 61686 - 1.5342202611876526e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5504460978397924e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.2174305915832520e-01 - 2.2924989461898804e-01 - <_> - 1 - 412765 - 1.5504460978397924e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.0794218182563782e-01 - 3.3801021575927734e+01 - <_> - 2 - 94379 - -1.5504460978397924e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 318386 - 1.5504460978397924e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 469955 - -1.5504460978397924e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.3074150085449219e-01 - 8.2617813110351562e+01 - <_> - 2 - 332617 - -1.5504460978397924e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 137338 - 1.5504460978397924e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7663468622642209e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.2982634305953979e-01 - 3.0481584370136261e-02 - <_> - 1 - 232769 - 1.7663468622642209e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.6375517845153809e-01 - 1.5765869140625000e+01 - <_> - 2 - 170567 - 1.7663468622642209e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 62202 - -1.7663468622642209e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 649951 - -1.7663468622642209e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.8028904795646667e-01 - 3.8203027343750000e+02 - <_> - 2 - 26190 - 1.7663468622642209e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 623761 - -1.7663468622642209e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6564221985873614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1796710491180420e-01 - 1.6050000000000000e+02 - <_> - 1 - 399660 - -1.6564221985873614e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.9315069317817688e-01 - 1.1290136337280273e+01 - <_> - 2 - 341249 - -1.6564221985873614e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 58411 - 1.6564221985873614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 483060 - 1.6564221985873614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 2.4816544353961945e-01 - 2.5353164062500000e+03 - <_> - 2 - 434885 - 1.6564221985873614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 48175 - -1.6564221985873614e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7215929309747219e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.2232277393341064e-01 - 1.0233835220336914e+01 - <_> - 1 - 474781 - 1.7215929309747219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 2.2924977540969849e-01 - 1.8042167663574219e+01 - <_> - 2 - 400178 - 1.7215929309747219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 74603 - -1.7215929309747219e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 407939 - -1.7215929309747219e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.1368407607078552e-01 - 1.2954711914062500e+03 - <_> - 2 - 74434 - 1.7215929309747219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 333505 - -1.7215929309747219e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5008166544717419e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2053868770599365e-01 - 5.0605857849121094e+01 - <_> - 1 - 621100 - -1.5008166544717419e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.2591822743415833e-01 - 1.4217727661132812e+01 - <_> - 2 - 543576 - -1.5008166544717419e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 77524 - 1.5008166544717419e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 261620 - 1.5008166544717419e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.1153192222118378e-01 - 2.2933530807495117e-01 - <_> - 2 - 202550 - 1.5008166544717419e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59070 - -1.5008166544717419e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6115713578469781e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2568131685256958e-01 - 8.4856582031250000e+03 - <_> - 1 - 828116 - 1.6115713578469781e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.8999029397964478e-01 - 3.8817194104194641e-01 - <_> - 2 - 736549 - 1.6115713578469781e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 91567 - -1.6115713578469781e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 54604 - -1.6115713578469781e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.0212003290653229e-02 - 2.4363305568695068e+00 - <_> - 2 - 5163 - 1.6115713578469781e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 49441 - -1.6115713578469781e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2217388706835304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.2113318443298340e-01 - 1.2291749572753906e+02 - <_> - 1 - 854787 - -1.2217388706835304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.9575480818748474e-01 - 4.3668647766113281e+01 - <_> - 2 - 208002 - 1.2217388706835304e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 646785 - -1.2217388706835304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 27933 - 1.2217388706835304e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.4750718623399734e-02 - 1.7827874422073364e-01 - <_> - 2 - 11111 - -1.2217388706835304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 16822 - 1.2217388706835304e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.4389490851931711e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1943367719650269e-01 - 3.2689224243164062e+01 - <_> - 1 - 373640 - -1.4389490851931711e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 1.4826011657714844e-01 - 5.0000000000000000e-01 - <_> - 2 - 75914 - 1.4389490851931711e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 297726 - -1.4389490851931711e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 509080 - 1.4389490851931711e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 3.8765168190002441e-01 - 2.3785625457763672e+01 - <_> - 2 - 8976 - -1.4389490851931711e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 500104 - 1.4389490851931711e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3113257461308978e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.2870148420333862e-01 - 6.5018749237060547e+00 - <_> - 1 - 17596 - 1.3113257461308978e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 2.3623729124665260e-02 - 5.4762855529785156e+01 - <_> - 2 - 12772 - -1.3113257461308978e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4824 - 1.3113257461308978e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 865124 - -1.3113257461308978e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.0911253690719604e-01 - 4.8412844848632812e+02 - <_> - 2 - 2391 - 1.3113257461308978e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 862733 - -1.3113257461308978e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5395090726599980e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2046531438827515e-01 - 6.3925266265869141e+01 - <_> - 1 - 532376 - 1.5395090726599980e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.3379149436950684e-01 - 1.2478563308715820e+01 - <_> - 2 - 464708 - 1.5395090726599980e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 67668 - -1.5395090726599980e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 350344 - -1.5395090726599980e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 2.0462039113044739e-01 - 1.9115633544921875e+03 - <_> - 2 - 246407 - -1.5395090726599980e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 103937 - 1.5395090726599980e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -7.0891233867616102e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1380199193954468e-01 - 3.9166665077209473e-01 - <_> - 1 - 3675 - 7.0891233867616102e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 9.4717629253864288e-03 - 2.3396150209009647e-03 - <_> - 2 - 932 - -7.0891233867616102e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2743 - 7.0891233867616102e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 879045 - -7.0891233867616102e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.0824362039566040e-01 - 4.9310810863971710e-02 - <_> - 2 - 594027 - -7.0891233867616102e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 285018 - 7.0891233867616102e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2738899646449692e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1406884193420410e-01 - 7.4177337646484375e+01 - <_> - 1 - 778419 - 1.2738899646449692e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.3520861864089966e-01 - 2.3214962005615234e+01 - <_> - 2 - 190874 - -1.2738899646449692e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 587545 - 1.2738899646449692e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 104301 - -1.2738899646449692e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 9.6595622599124908e-02 - 9.5797806978225708e-01 - <_> - 2 - 7126 - 1.2738899646449692e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 97175 - -1.2738899646449692e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.2374693751139270e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1922696828842163e-01 - 6.5018749237060547e+00 - <_> - 1 - 17596 - 9.2374693751139270e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.3020882159471512e-02 - 1.3835926055908203e+01 - <_> - 2 - 2720 - -9.2374693751139270e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 14876 - 9.2374693751139270e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 865124 - -9.2374693751139270e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.0005638599395752e-01 - 6.8381072998046875e+01 - <_> - 2 - 774329 - -9.2374693751139270e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 90795 - 9.2374693751139270e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3764077253002516e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1601397991180420e-01 - 4.5694446563720703e+00 - <_> - 1 - 733593 - 1.3764077253002516e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.2000633478164673e-01 - 3.6223334960937500e+03 - <_> - 2 - 506640 - 1.3764077253002516e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 226953 - -1.3764077253002516e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 149127 - -1.3764077253002516e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.1434962600469589e-01 - 3.7323164062500000e+03 - <_> - 2 - 105133 - -1.3764077253002516e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43994 - 1.3764077253002516e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.9031496828101474e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2017998695373535e-01 - 4.6393759765625000e+03 - <_> - 1 - 688631 - -1.9031496828101474e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.0408775210380554e-01 - 3.5138888359069824e+00 - <_> - 2 - 501828 - -1.9031496828101474e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 186803 - 1.9031496828101474e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 194089 - 1.9031496828101474e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 1.4334791898727417e-01 - 1.4732261962890625e+03 - <_> - 2 - 131864 - 1.9031496828101474e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 62225 - -1.9031496828101474e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.7159442229572505e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2571183443069458e-01 - 4.5694446563720703e+00 - <_> - 1 - 733593 - 1.7159442229572505e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.2676064372062683e-01 - 9.1846817016601562e+01 - <_> - 2 - 612494 - 1.7159442229572505e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 121099 - -1.7159442229572505e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 149127 - -1.7159442229572505e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.1603302508592606e-01 - 3.7601918945312500e+03 - <_> - 2 - 105921 - -1.7159442229572505e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43206 - 1.7159442229572505e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5491306279280093e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1714891195297241e-01 - 3.0361111164093018e+00 - <_> - 1 - 554473 - -1.5491306279280093e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.9821380972862244e-01 - 1.9750000000000000e+02 - <_> - 2 - 496728 - -1.5491306279280093e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 57745 - 1.5491306279280093e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 328247 - 1.5491306279280093e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.4043717980384827e-01 - 4.5694446563720703e+00 - <_> - 2 - 179120 - 1.5491306279280093e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 149127 - -1.5491306279280093e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5112870264636089e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1591855287551880e-01 - 9.7360563278198242e-01 - <_> - 1 - 362649 - -1.5112870264636089e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.8606006503105164e-01 - 5.5948234558105469e+01 - <_> - 2 - 159316 - 1.5112870264636089e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 203333 - -1.5112870264636089e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 520071 - 1.5112870264636089e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.5165036320686340e-01 - 1.3924482464790344e-01 - <_> - 2 - 81406 - -1.5112870264636089e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 438665 - 1.5112870264636089e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5848753713481872e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2460360527038574e-01 - 5.6597629547119141e+01 - <_> - 1 - 690867 - -1.5848753713481872e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.6396765708923340e-01 - 1.4598178863525391e-01 - <_> - 2 - 132696 - 1.5848753713481872e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 558171 - -1.5848753713481872e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 191853 - 1.5848753713481872e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.7557150125503540e-01 - 1.2472306191921234e-01 - <_> - 2 - 7765 - -1.5848753713481872e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 184088 - 1.5848753713481872e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.8467330920249878e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.2402979135513306e-01 - 3.3699297904968262e+00 - <_> - 1 - 659234 - 1.8467330920249878e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.4882396459579468e-01 - 6.9690351486206055e+00 - <_> - 2 - 84499 - -1.8467330920249878e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 574735 - 1.8467330920249878e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 223486 - -1.8467330920249878e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.9721359014511108e-01 - 3.7550712585449219e+01 - <_> - 2 - 41022 - 1.8467330920249878e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 182464 - -1.8467330920249878e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.1590318110742600e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1799583435058594e-01 - 2.0639503002166748e+00 - <_> - 1 - 13904 - 9.1590318110742600e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.1610239520668983e-02 - 9.7588074207305908e-01 - <_> - 2 - 1771 - -9.1590318110742600e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12133 - 9.1590318110742600e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 868816 - -9.1590318110742600e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.0127136707305908e-01 - 7.4249625205993652e+00 - <_> - 2 - 794334 - -9.1590318110742600e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 74482 - 9.1590318110742600e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.4192656595626946e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1756715774536133e-01 - 1.4337041974067688e-01 - <_> - 1 - 91501 - -1.4192656595626946e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.0054870694875717e-01 - 2.1980529651045799e-02 - <_> - 2 - 18145 - 1.4192656595626946e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 73356 - -1.4192656595626946e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 791219 - 1.4192656595626946e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.3487349152565002e-01 - 2.9338939666748047e+01 - <_> - 2 - 299075 - -1.4192656595626946e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 492144 - 1.4192656595626946e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3184794344957612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2383834123611450e-01 - 1.6361110210418701e+00 - <_> - 1 - 262336 - 1.3184794344957612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.1473449319601059e-01 - 1.7661753296852112e-01 - <_> - 2 - 63630 - -1.3184794344957612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 198706 - 1.3184794344957612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 620384 - -1.3184794344957612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.1817983984947205e-01 - 4.0149372100830078e+01 - <_> - 2 - 69170 - 1.3184794344957612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 551214 - -1.3184794344957612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3593186978629782e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1870042085647583e-01 - 5.3859569132328033e-02 - <_> - 1 - 682504 - 1.3593186978629782e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.6931943297386169e-01 - 1.3940798118710518e-02 - <_> - 2 - 32627 - -1.3593186978629782e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 649877 - 1.3593186978629782e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 200216 - -1.3593186978629782e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 6.4611308276653290e-02 - 1.6939497070312500e+03 - <_> - 2 - 121003 - 1.3593186978629782e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 79213 - -1.3593186978629782e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0712582612787516e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2380466461181641e-01 - 1.0780788421630859e+01 - <_> - 1 - 9261 - 1.0712582612787516e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.0825651697814465e-02 - 2.3396150209009647e-03 - <_> - 2 - 1022 - -1.0712582612787516e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8239 - 1.0712582612787516e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 873459 - -1.0712582612787516e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1593023538589478e-01 - 9.8968684673309326e-01 - <_> - 2 - 872981 - -1.0712582612787516e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 478 - 1.0712582612787516e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5436056649768831e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1724588871002197e-01 - 4.2640373229980469e+01 - <_> - 1 - 530446 - -1.5436056649768831e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.5062859058380127e-01 - 9.7688281536102295e-01 - <_> - 2 - 174383 - -1.5436056649768831e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 356063 - 1.5436056649768831e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 352274 - 1.5436056649768831e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.8788509964942932e-01 - 9.7624023437500000e+02 - <_> - 2 - 16775 - -1.5436056649768831e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 335499 - 1.5436056649768831e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.6182873443285012e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1497900485992432e-01 - 1.9831608886718750e+03 - <_> - 1 - 398344 - 1.6182873443285012e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.3368765413761139e-01 - 3.4386888146400452e-02 - <_> - 2 - 120906 - 1.6182873443285012e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 277438 - -1.6182873443285012e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 484376 - -1.6182873443285012e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.0668148398399353e-01 - 2.0055413246154785e+00 - <_> - 2 - 97194 - 1.6182873443285012e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 387182 - -1.6182873443285012e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3253656848585513e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2019423246383667e-01 - 3.5954517364501953e+01 - <_> - 1 - 148866 - -1.3253656848585513e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 9.7039222717285156e-02 - 4.9074954986572266e+01 - <_> - 2 - 106107 - -1.3253656848585513e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 42759 - 1.3253656848585513e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 733854 - 1.3253656848585513e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.3604651093482971e-01 - 1.3226324462890625e+02 - <_> - 2 - 671228 - 1.3253656848585513e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 62626 - -1.3253656848585513e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3521379496087457e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1417887210845947e-01 - 3.0403369140625000e+02 - <_> - 1 - 741348 - -1.3521379496087457e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.0201160311698914e-01 - 2.3680853843688965e-01 - <_> - 2 - 561460 - -1.3521379496087457e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 179888 - 1.3521379496087457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 141372 - 1.3521379496087457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.3174042105674744e-01 - 2.4532456696033478e-01 - <_> - 2 - 135143 - 1.3521379496087457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6229 - -1.3521379496087457e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -2.1527973441807904e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1608854532241821e-01 - 2.2939157485961914e-01 - <_> - 1 - 665909 - 2.1527973441807904e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.8956171274185181e-01 - 6.7966049194335938e+01 - <_> - 2 - 425863 - 2.1527973441807904e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 240046 - -2.1527973441807904e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 216811 - -2.1527973441807904e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.6405132412910461e-01 - 1.1480089187622070e+01 - <_> - 2 - 170833 - -2.1527973441807904e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 45978 - 2.1527973441807904e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.6449789813279850e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2677273750305176e-01 - 1.8037824707031250e+03 - <_> - 1 - 721329 - -1.6449789813279850e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.0812149643898010e-01 - 1.6156013488769531e+01 - <_> - 2 - 708561 - -1.6449789813279850e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12768 - 1.6449789813279850e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 161391 - 1.6449789813279850e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.3291050493717194e-01 - 4.5441482543945312e+01 - <_> - 2 - 51233 - -1.6449789813279850e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 110158 - 1.6449789813279850e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6821935026031784e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.2279496192932129e-01 - 1.3457941055297852e+01 - <_> - 1 - 728960 - 1.6821935026031784e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.9806309342384338e-01 - 1.0701467285156250e+03 - <_> - 2 - 171076 - -1.6821935026031784e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 557884 - 1.6821935026031784e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 153760 - -1.6821935026031784e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.4389283955097198e-01 - 4.8999481201171875e+01 - <_> - 2 - 86468 - 1.6821935026031784e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 67292 - -1.6821935026031784e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2774872355953595e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1970934867858887e-01 - 5.9401330566406250e+02 - <_> - 1 - 169669 - 1.2774872355953595e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 8.2486808300018311e-02 - 1.4642375946044922e+01 - <_> - 2 - 56415 - -1.2774872355953595e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 113254 - 1.2774872355953595e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 713051 - -1.2774872355953595e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.4940701127052307e-01 - 2.1150000000000000e+02 - <_> - 2 - 590450 - -1.2774872355953595e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 122601 - 1.2774872355953595e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5043409796995610e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1557129621505737e-01 - 9.6412289142608643e-01 - <_> - 1 - 144080 - -1.5043409796995610e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 7.3164306581020355e-02 - 1.2217437744140625e+02 - <_> - 2 - 125656 - -1.5043409796995610e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 18424 - 1.5043409796995610e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 738640 - 1.5043409796995610e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.6437343955039978e-01 - 2.5102270507812500e+03 - <_> - 2 - 732688 - 1.5043409796995610e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5952 - -1.5043409796995610e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2213979474255111e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2743208408355713e-01 - 1.8529287719726562e+02 - <_> - 1 - 2298 - 1.2213979474255111e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 9.1448528692126274e-03 - 2.3396150209009647e-03 - <_> - 2 - 977 - -1.2213979474255111e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1321 - 1.2213979474255111e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 880422 - -1.2213979474255111e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2135217189788818e-01 - 3.1814361572265625e+02 - <_> - 2 - 872300 - -1.2213979474255111e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8122 - 1.2213979474255111e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5391970011548017e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1817291975021362e-01 - 9.7515201568603516e-01 - <_> - 1 - 401473 - 1.5391970011548017e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.3433124423027039e-01 - 4.8500000000000000e+01 - <_> - 2 - 373199 - 1.5391970011548017e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 28274 - -1.5391970011548017e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 481247 - -1.5391970011548017e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.0407290756702423e-01 - 1.9958956298828125e+03 - <_> - 2 - 264659 - 1.5391970011548017e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 216588 - -1.5391970011548017e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.8528864883682371e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1679217815399170e-01 - 4.0760154724121094e+00 - <_> - 1 - 76447 - 9.8528864883682371e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.7451516389846802e-02 - 3.3225021362304688e+02 - <_> - 2 - 35849 - -9.8528864883682371e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 40598 - 9.8528864883682371e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 806273 - -9.8528864883682371e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.6716079115867615e-01 - 9.8881262540817261e-01 - <_> - 2 - 802242 - -9.8528864883682371e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4031 - 9.8528864883682371e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1973032377040303e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1663309335708618e-01 - 8.4094589233398438e+01 - <_> - 1 - 851120 - 1.1973032377040303e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.9671879410743713e-01 - 9.6090728044509888e-01 - <_> - 2 - 96778 - -1.1973032377040303e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 754342 - 1.1973032377040303e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 31600 - -1.1973032377040303e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.3178083598613739e-02 - 9.6181493997573853e-01 - <_> - 2 - 9952 - 1.1973032377040303e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 21648 - -1.1973032377040303e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2789717888703350e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2081155776977539e-01 - 1.1083720397949219e+02 - <_> - 1 - 775712 - -1.2789717888703350e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.1415563225746155e-01 - 1.3004655838012695e+01 - <_> - 2 - 659827 - -1.2789717888703350e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 115885 - 1.2789717888703350e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 107008 - 1.2789717888703350e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 1.1777514964342117e-01 - 1.7850000000000000e+02 - <_> - 2 - 18432 - -1.2789717888703350e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 88576 - 1.2789717888703350e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3912029000207526e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1905900239944458e-01 - 2.3968553543090820e+01 - <_> - 1 - 652037 - 1.3912029000207526e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.7184661626815796e-01 - 3.4303757548332214e-01 - <_> - 2 - 516542 - 1.3912029000207526e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 135495 - -1.3912029000207526e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 230683 - -1.3912029000207526e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.6287745535373688e-01 - 1.6569257736206055e+01 - <_> - 2 - 213834 - -1.3912029000207526e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 16849 - 1.3912029000207526e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5635177482848622e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2096682786941528e-01 - 6.0706512451171875e+01 - <_> - 1 - 740256 - -1.5635177482848622e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.9196369051933289e-01 - 1.3255786895751953e-01 - <_> - 2 - 75647 - 1.5635177482848622e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 664609 - -1.5635177482848622e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 142464 - 1.5635177482848622e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 1.4704482257366180e-01 - 8.3879852294921875e+01 - <_> - 2 - 94282 - 1.5635177482848622e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 48182 - -1.5635177482848622e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6203780793528536e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2000653743743896e-01 - 6.4397480468750000e+03 - <_> - 1 - 775340 - 1.6203780793528536e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.5413655042648315e-01 - 8.1181564331054688e+01 - <_> - 2 - 623990 - 1.6203780793528536e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 151350 - -1.6203780793528536e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 107380 - -1.6203780793528536e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 8.6284510791301727e-02 - 2.4346966743469238e+00 - <_> - 2 - 18653 - 1.6203780793528536e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 88727 - -1.6203780793528536e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5747635455102088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.2527719736099243e-01 - 8.2628128051757812e+01 - <_> - 1 - 720163 - -1.5747635455102088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.1845187544822693e-01 - 2.1850000000000000e+02 - <_> - 2 - 700964 - -1.5747635455102088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 19199 - 1.5747635455102088e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 162557 - 1.5747635455102088e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.2083605676889420e-01 - 9.7091972827911377e-01 - <_> - 2 - 79673 - 1.5747635455102088e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 82884 - -1.5747635455102088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5927162030193687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1800841093063354e-01 - 9.6816873550415039e-01 - <_> - 1 - 220280 - -1.5927162030193687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.3576315343379974e-01 - 3.0310668945312500e+00 - <_> - 2 - 131140 - -1.5927162030193687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 89140 - 1.5927162030193687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 662440 - 1.5927162030193687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.0397080779075623e-01 - 2.3610116577148438e+02 - <_> - 2 - 517791 - 1.5927162030193687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 144649 - -1.5927162030193687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6327065147740613e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.2699422836303711e-01 - 1.9700955200195312e+02 - <_> - 1 - 539232 - -1.6327065147740613e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.7215531468391418e-01 - 1.0239037322998047e+02 - <_> - 2 - 523511 - -1.6327065147740613e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 15721 - 1.6327065147740613e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 343488 - 1.6327065147740613e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 2.6857191324234009e-01 - 2.9673126220703125e+01 - <_> - 2 - 15391 - -1.6327065147740613e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 328097 - 1.6327065147740613e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.9862895000969566e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2308297157287598e-01 - 4.8618629455566406e+01 - <_> - 1 - 598028 - 1.9862895000969566e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.1783524155616760e-01 - 5.1877889633178711e+00 - <_> - 2 - 571996 - 1.9862895000969566e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 26032 - -1.9862895000969566e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 284692 - -1.9862895000969566e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.3165938258171082e-01 - 9.7361612319946289e-01 - <_> - 2 - 213508 - -1.9862895000969566e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 71184 - 1.9862895000969566e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7501120242802398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.2644926309585571e-01 - 2.1370663452148438e+02 - <_> - 1 - 580176 - -1.7501120242802398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.0134236812591553e-01 - 4.8414001464843750e+00 - <_> - 2 - 562352 - -1.7501120242802398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17824 - 1.7501120242802398e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 302544 - 1.7501120242802398e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.4229909479618073e-01 - 2.5264859199523926e-01 - <_> - 2 - 288408 - 1.7501120242802398e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 14136 - -1.7501120242802398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6379811197624464e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1758897304534912e-01 - 3.9146591186523438e+01 - <_> - 1 - 484940 - 1.6379811197624464e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.1544224023818970e-01 - 9.6972543001174927e-01 - <_> - 2 - 73329 - -1.6379811197624464e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 411611 - 1.6379811197624464e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 397780 - -1.6379811197624464e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.2541596889495850e-01 - 9.7100257873535156e-01 - <_> - 2 - 219167 - 1.6379811197624464e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 178613 - -1.6379811197624464e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -7.7730586636507809e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1660019159317017e-01 - 3.7518749237060547e+00 - <_> - 1 - 4360 - 7.7730586636507809e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.2169615365564823e-02 - 2.3396150209009647e-03 - <_> - 2 - 1025 - -7.7730586636507809e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3335 - 7.7730586636507809e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 878360 - -7.7730586636507809e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.0725322961807251e-01 - 1.5850000000000000e+02 - <_> - 2 - 868881 - -7.7730586636507809e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9479 - 7.7730586636507809e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.4548049627782231e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1823103427886963e-01 - 9.6816873550415039e-01 - <_> - 1 - 220280 - -1.4548049627782231e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.3301922380924225e-01 - 1.3513422012329102e+01 - <_> - 2 - 102920 - 1.4548049627782231e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 117360 - -1.4548049627782231e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 662440 - 1.4548049627782231e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.0328687429428101e-01 - 7.8073083496093750e+02 - <_> - 2 - 258718 - -1.4548049627782231e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 403722 - 1.4548049627782231e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3286394621028511e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2052193880081177e-01 - 4.2509910583496094e+01 - <_> - 1 - 195514 - 1.3286394621028511e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.5595395863056183e-01 - 1.2140546798706055e+01 - <_> - 2 - 177817 - 1.3286394621028511e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17697 - -1.3286394621028511e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 687206 - -1.3286394621028511e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.7721323966979980e-01 - 1.0000002384185791e+00 - <_> - 2 - 547505 - -1.3286394621028511e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 139701 - 1.3286394621028511e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0141842709523226e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.1050430536270142e-01 - 9.5000000000000000e+00 - <_> - 1 - 741694 - 1.0141842709523226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.1334989666938782e-01 - 1.6119709610939026e-01 - <_> - 2 - 237391 - -1.0141842709523226e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 504303 - 1.0141842709523226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 141026 - -1.0141842709523226e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.1198298633098602e-01 - 1.5681928396224976e-01 - <_> - 2 - 40956 - 1.0141842709523226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 100070 - -1.0141842709523226e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0204254714042733e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1165634393692017e-01 - 4.9310810863971710e-02 - <_> - 1 - 597702 - -1.0204254714042733e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.2001527547836304e-01 - 2.2750000000000000e+02 - <_> - 2 - 576248 - -1.0204254714042733e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 21454 - 1.0204254714042733e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 285018 - 1.0204254714042733e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.0547325760126114e-01 - 1.2068505287170410e+01 - <_> - 2 - 210136 - -1.0204254714042733e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 74882 - 1.0204254714042733e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3206404367127791e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1923865079879761e-01 - 7.7107513427734375e+01 - <_> - 1 - 686673 - 1.3206404367127791e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.0693727135658264e-01 - 2.0618534088134766e+01 - <_> - 2 - 147467 - -1.3206404367127791e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 539206 - 1.3206404367127791e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 196047 - -1.3206404367127791e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.2603084743022919e-01 - 1.1269699707031250e+03 - <_> - 2 - 32141 - 1.3206404367127791e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 163906 - -1.3206404367127791e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2522801186209614e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1282906532287598e-01 - 1.9481311035156250e+03 - <_> - 1 - 748890 - -1.2522801186209614e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.2607733607292175e-01 - 2.2262081503868103e-02 - <_> - 2 - 60771 - 1.2522801186209614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 688119 - -1.2522801186209614e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 133830 - 1.2522801186209614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.0518882423639297e-01 - 8.5385124206542969e+01 - <_> - 2 - 51615 - -1.2522801186209614e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 82215 - 1.2522801186209614e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1394421949935540e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1818764209747314e-01 - 5.2861108779907227e+00 - <_> - 1 - 787552 - 1.1394421949935540e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.6491500735282898e-01 - 1.2412986755371094e+01 - <_> - 2 - 694928 - 1.1394421949935540e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 92624 - -1.1394421949935540e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 95168 - -1.1394421949935540e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 6.3540279865264893e-02 - 9.6232366561889648e-01 - <_> - 2 - 71571 - 1.1394421949935540e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 23597 - -1.1394421949935540e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0826579693739027e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1471543312072754e-01 - 2.2348790168762207e+00 - <_> - 1 - 480732 - -1.0826579693739027e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 2.7823588252067566e-01 - 7.9505096435546875e+01 - <_> - 2 - 451112 - -1.0826579693739027e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 29620 - 1.0826579693739027e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 401988 - 1.0826579693739027e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.4880415201187134e-01 - 9.7053229808807373e-01 - <_> - 2 - 128425 - -1.0826579693739027e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 273563 - 1.0826579693739027e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3144537343157656e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1298958063125610e-01 - 1.6050000000000000e+02 - <_> - 1 - 399660 - -1.3144537343157656e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 2.9288473725318909e-01 - 4.3612503051757812e+01 - <_> - 2 - 340268 - -1.3144537343157656e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59392 - 1.3144537343157656e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 483060 - 1.3144537343157656e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.3992937803268433e-01 - 2.4841389060020447e-01 - <_> - 2 - 246913 - 1.3144537343157656e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 236147 - -1.3144537343157656e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2882403429229958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1944392919540405e-01 - 6.4103988647460938e+01 - <_> - 1 - 680149 - 1.2882403429229958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 3.5578826069831848e-01 - 4.3049764633178711e+00 - <_> - 2 - 421525 - 1.2882403429229958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 258624 - -1.2882403429229958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 202571 - -1.2882403429229958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.7637327313423157e-01 - 9.7361671924591064e-01 - <_> - 2 - 134355 - -1.2882403429229958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 68216 - 1.2882403429229958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0659118283176185e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1539218425750732e-01 - 1.0216948986053467e+00 - <_> - 1 - 174242 - -1.0659118283176185e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.3959318399429321e-01 - 3.0075774192810059e+00 - <_> - 2 - 111579 - 1.0659118283176185e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 62663 - -1.0659118283176185e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 708478 - 1.0659118283176185e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.8702940940856934e-01 - 5.3617730736732483e-02 - <_> - 2 - 533869 - 1.0659118283176185e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 174609 - -1.0659118283176185e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.4069933258304967e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1755863428115845e-01 - 1.4383237838745117e+01 - <_> - 1 - 761907 - -1.4069933258304967e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.3396136164665222e-01 - 9.6425104141235352e-01 - <_> - 2 - 56236 - 1.4069933258304967e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 705671 - -1.4069933258304967e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 120813 - 1.4069933258304967e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.0115556418895721e-01 - 2.3710642009973526e-02 - <_> - 2 - 62480 - -1.4069933258304967e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 58333 - 1.4069933258304967e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3823153035302269e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1895242929458618e-01 - 1.2654792480468750e+03 - <_> - 1 - 527911 - 1.3823153035302269e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.9878714680671692e-01 - 6.4664505004882812e+01 - <_> - 2 - 422761 - 1.3823153035302269e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 105150 - -1.3823153035302269e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 354809 - -1.3823153035302269e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.3571582138538361e-01 - 1.8355369567871094e-01 - <_> - 2 - 221289 - -1.3823153035302269e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 133520 - 1.3823153035302269e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.7249636334057181e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1692783832550049e-01 - 1.7464916408061981e-01 - <_> - 1 - 382615 - 1.7249636334057181e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.2168469429016113e-01 - 3.4354557037353516e+01 - <_> - 2 - 136889 - -1.7249636334057181e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 245726 - 1.7249636334057181e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 500105 - -1.7249636334057181e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.2133278250694275e-01 - 7.2052200317382812e+01 - <_> - 2 - 456403 - -1.7249636334057181e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43702 - 1.7249636334057181e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5834237357117847e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2223962545394897e-01 - 3.9147827148437500e+01 - <_> - 1 - 484958 - 1.5834237357117847e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.1953789889812469e-01 - 9.6796119213104248e-01 - <_> - 2 - 65939 - -1.5834237357117847e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 419019 - 1.5834237357117847e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 397762 - -1.5834237357117847e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.1996521353721619e-01 - 9.0676116943359375e+00 - <_> - 2 - 75124 - 1.5834237357117847e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 322638 - -1.5834237357117847e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3945437861514770e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.2157562971115112e-01 - 1.1918860673904419e-01 - <_> - 1 - 41045 - -1.3945437861514770e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.4044932126998901e-02 - 2.2783178836107254e-02 - <_> - 2 - 9257 - 1.3945437861514770e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31788 - -1.3945437861514770e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 841675 - 1.3945437861514770e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.8076227307319641e-01 - 4.3226741790771484e+01 - <_> - 2 - 366611 - -1.3945437861514770e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 475064 - 1.3945437861514770e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2048864826994479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1537650823593140e-01 - 3.6076293945312500e+01 - <_> - 1 - 254261 - 1.2048864826994479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.3336037099361420e-01 - 3.4386821091175079e-02 - <_> - 2 - 145753 - 1.2048864826994479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 108508 - -1.2048864826994479e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 628459 - -1.2048864826994479e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.9672541618347168e-01 - 4.9310810863971710e-02 - <_> - 2 - 384511 - -1.2048864826994479e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 243948 - 1.2048864826994479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.4186187406301717e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1801306009292603e-01 - 5.1113564521074295e-02 - <_> - 1 - 632343 - 1.4186187406301717e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.4642397761344910e-01 - 1.2350000000000000e+02 - <_> - 2 - 123775 - -1.4186187406301717e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 508568 - 1.4186187406301717e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 250377 - -1.4186187406301717e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 8.8982142508029938e-02 - 2.8121381998062134e-01 - <_> - 2 - 210086 - -1.4186187406301717e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 40291 - 1.4186187406301717e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2434725271574262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1820492744445801e-01 - 4.8178554534912109e+01 - <_> - 1 - 264011 - 1.2434725271574262e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.0129428803920746e-01 - 1.2525884628295898e+01 - <_> - 2 - 235163 - 1.2434725271574262e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 28848 - -1.2434725271574262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 618709 - -1.2434725271574262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.2975253462791443e-01 - 1.2650000000000000e+02 - <_> - 2 - 10805 - 1.2434725271574262e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 607904 - -1.2434725271574262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6547437538510612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1948291063308716e-01 - 2.1972222328186035e+00 - <_> - 1 - 383085 - -1.6547437538510612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.9222603738307953e-01 - 2.1615540981292725e-01 - <_> - 2 - 203432 - -1.6547437538510612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 179653 - 1.6547437538510612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 499635 - 1.6547437538510612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.4904840588569641e-01 - 1.5528797912597656e+02 - <_> - 2 - 82677 - -1.6547437538510612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 416958 - 1.6547437538510612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.8896280736352746e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1965743303298950e-01 - 6.4293746948242188e+00 - <_> - 1 - 17091 - 9.8896280736352746e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 2.4607667699456215e-02 - 5.4762855529785156e+01 - <_> - 2 - 12531 - -9.8896280736352746e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4560 - 9.8896280736352746e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 865629 - -9.8896280736352746e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.0009626150131226e-01 - 1.0243181228637695e+01 - <_> - 2 - 710778 - -9.8896280736352746e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 154851 - 9.8896280736352746e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.9199441656269274e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1254796981811523e-01 - 2.3613871765136719e+02 - <_> - 1 - 625587 - 9.9199441656269274e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.1762367486953735e-01 - 6.0726833343505859e+01 - <_> - 2 - 402724 - 9.9199441656269274e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 222863 - -9.9199441656269274e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 257133 - -9.9199441656269274e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.0715585350990295e-01 - 4.3361110687255859e+00 - <_> - 2 - 155581 - -9.9199441656269274e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 101552 - 9.9199441656269274e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1442218518604311e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1460164785385132e-01 - 1.0711774826049805e+00 - <_> - 1 - 277502 - 1.1442218518604311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.8278945982456207e-01 - 4.1967071533203125e+01 - <_> - 2 - 169931 - -1.1442218518604311e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 107571 - 1.1442218518604311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 605218 - -1.1442218518604311e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.4578493237495422e-01 - 1.0406154785156250e+03 - <_> - 2 - 111686 - 1.1442218518604311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 493532 - -1.1442218518604311e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.6530445102620753e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1629894971847534e-01 - 2.2140160202980042e-01 - <_> - 1 - 633777 - 1.6530445102620753e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 3.6336201429367065e-01 - 8.2161560058593750e+01 - <_> - 2 - 602232 - 1.6530445102620753e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31545 - -1.6530445102620753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 248943 - -1.6530445102620753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.7787025868892670e-01 - 1.1409013748168945e+01 - <_> - 2 - 191862 - -1.6530445102620753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 57081 - 1.6530445102620753e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2533726342779244e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2247959375381470e-01 - 3.5487310791015625e+02 - <_> - 1 - 52318 - 1.2533726342779244e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 4.0325526148080826e-02 - 3.7840070724487305e+00 - <_> - 2 - 42754 - -1.2533726342779244e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9564 - 1.2533726342779244e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 830402 - -1.2533726342779244e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.9096783995628357e-01 - 8.6163131713867188e+01 - <_> - 2 - 53683 - 1.2533726342779244e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 776719 - -1.2533726342779244e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3342783486076615e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1667976379394531e-01 - 1.3747453689575195e-01 - <_> - 1 - 111178 - -1.3342783486076615e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 7.3850348591804504e-02 - 1.2986158370971680e+01 - <_> - 2 - 94569 - -1.3342783486076615e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 16609 - 1.3342783486076615e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 771542 - 1.3342783486076615e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.5945721864700317e-01 - 9.6585571289062500e+01 - <_> - 2 - 633155 - 1.3342783486076615e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 138387 - -1.3342783486076615e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3932167099759948e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1923316717147827e-01 - 1.6650000000000000e+02 - <_> - 1 - 454525 - -1.3932167099759948e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.1775084137916565e-01 - 1.0295486450195312e+01 - <_> - 2 - 354294 - -1.3932167099759948e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 100231 - 1.3932167099759948e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 428195 - 1.3932167099759948e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.1702334284782410e-01 - 2.8572428226470947e-01 - <_> - 2 - 281597 - 1.3932167099759948e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 146598 - -1.3932167099759948e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2699821808608344e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1649564504623413e-01 - 1.0375097274780273e+01 - <_> - 1 - 489332 - 1.2699821808608344e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.3156504333019257e-01 - 7.2211818695068359e+00 - <_> - 2 - 350175 - 1.2699821808608344e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 139157 - -1.2699821808608344e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 393388 - -1.2699821808608344e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 3.0014190077781677e-01 - 3.1498894691467285e+00 - <_> - 2 - 234478 - -1.2699821808608344e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 158910 - 1.2699821808608344e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2906877916375525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1586192846298218e-01 - 1.7850000000000000e+02 - <_> - 1 - 558651 - -1.2906877916375525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.5671445727348328e-01 - 1.5682178735733032e-01 - <_> - 2 - 109675 - 1.2906877916375525e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 448976 - -1.2906877916375525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 324069 - 1.2906877916375525e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.7550800740718842e-01 - 1.0139340209960938e+02 - <_> - 2 - 208285 - -1.2906877916375525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 115784 - 1.2906877916375525e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3514393109725334e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2081906795501709e-01 - 1.7144098877906799e-01 - <_> - 1 - 360361 - -1.3514393109725334e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.0496743917465210e-01 - 9.6172618865966797e-01 - <_> - 2 - 52202 - 1.3514393109725334e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 308159 - -1.3514393109725334e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 522359 - 1.3514393109725334e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.2876721024513245e-01 - 9.6365535259246826e-01 - <_> - 2 - 74583 - -1.3514393109725334e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 447776 - 1.3514393109725334e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2172172264139647e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1405769586563110e-01 - 1.6650000000000000e+02 - <_> - 1 - 454525 - -1.2172172264139647e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.1545063853263855e-01 - 4.6819731445312500e+03 - <_> - 2 - 352225 - -1.2172172264139647e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 102300 - 1.2172172264139647e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 428195 - 1.2172172264139647e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.1494227647781372e-01 - 1.1416563034057617e+01 - <_> - 2 - 200313 - 1.2172172264139647e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 227882 - -1.2172172264139647e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2600796274905465e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.2045398950576782e-01 - 1.2309650331735611e-01 - <_> - 1 - 47736 - -1.2600796274905465e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.8143828064203262e-02 - 3.3083333969116211e+00 - <_> - 2 - 27022 - 1.2600796274905465e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 20714 - -1.2600796274905465e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 834984 - 1.2600796274905465e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.7331655025482178e-01 - 3.1864631175994873e-01 - <_> - 2 - 812720 - 1.2600796274905465e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 22264 - -1.2600796274905465e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3582731676039014e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.2070939540863037e-01 - 3.0843707919120789e-01 - <_> - 1 - 650530 - -1.3582731676039014e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.6237590909004211e-01 - 6.5716323852539062e+01 - <_> - 2 - 550266 - -1.3582731676039014e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 100264 - 1.3582731676039014e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 232190 - 1.3582731676039014e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 7.1528807282447815e-02 - 9.3056854248046875e+01 - <_> - 2 - 194278 - -1.3582731676039014e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 37912 - 1.3582731676039014e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2445679874803793e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.2153694629669189e-01 - 7.1541847229003906e+01 - <_> - 1 - 754979 - 1.2445679874803793e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.1397175192832947e-01 - 1.9902000427246094e+01 - <_> - 2 - 712462 - 1.2445679874803793e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 42517 - -1.2445679874803793e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 127741 - -1.2445679874803793e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 1.1710235476493835e-01 - 2.4950000000000000e+02 - <_> - 2 - 116484 - -1.2445679874803793e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 11257 - 1.2445679874803793e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.9580309535675029e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1865381002426147e-01 - 1.1197845458984375e+01 - <_> - 1 - 11995 - 8.9580309535675029e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.1759687215089798e-02 - 3.5040259361267090e-01 - <_> - 2 - 4044 - 8.9580309535675029e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7951 - -8.9580309535675029e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 870725 - -8.9580309535675029e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1062041521072388e-01 - 3.0947694182395935e-01 - <_> - 2 - 649788 - -8.9580309535675029e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 220937 - 8.9580309535675029e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1465877153533668e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.0886815786361694e-01 - 5.5216079711914062e+01 - <_> - 1 - 679431 - -1.1465877153533668e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.5245060920715332e-01 - 8.4106079101562500e+02 - <_> - 2 - 291103 - 1.1465877153533668e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 388328 - -1.1465877153533668e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 203289 - 1.1465877153533668e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.7618271708488464e-01 - 1.9848366081714630e-01 - <_> - 2 - 118241 - 1.1465877153533668e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 85048 - -1.1465877153533668e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3405075039626771e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2102065086364746e-01 - 1.9638888835906982e+00 - <_> - 1 - 333415 - -1.3405075039626771e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.5986835956573486e-01 - 7.6529556274414062e+01 - <_> - 2 - 309625 - -1.3405075039626771e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 23790 - 1.3405075039626771e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 549305 - 1.3405075039626771e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.7359422445297241e-01 - 3.0250942230224609e+01 - <_> - 2 - 56683 - -1.3405075039626771e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 492622 - 1.3405075039626771e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3356169959232195e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2158385515213013e-01 - 3.9147827148437500e+01 - <_> - 1 - 484958 - 1.3356169959232195e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.0946808159351349e-01 - 4.0066700428724289e-02 - <_> - 2 - 255407 - 1.3356169959232195e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 229551 - -1.3356169959232195e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 397762 - -1.3356169959232195e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.2387277483940125e-01 - 9.6250331401824951e-01 - <_> - 2 - 67228 - 1.3356169959232195e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 330534 - -1.3356169959232195e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2080363330393365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1479589939117432e-01 - 4.6513631939888000e-02 - <_> - 1 - 540095 - -1.2080363330393365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.8127714395523071e-01 - 1.8750000000000000e+02 - <_> - 2 - 438424 - -1.2080363330393365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 101671 - 1.2080363330393365e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 342625 - 1.2080363330393365e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.4888709783554077e-01 - 1.6247725486755371e-01 - <_> - 2 - 89629 - -1.2080363330393365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 252996 - 1.2080363330393365e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1292790823387461e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1889324188232422e-01 - 4.5916666984558105e+00 - <_> - 1 - 734914 - 1.1292790823387461e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.1940683126449585e-01 - 7.8092810058593750e+02 - <_> - 2 - 83484 - -1.1292790823387461e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 651430 - 1.1292790823387461e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 147806 - -1.1292790823387461e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.0879517346620560e-01 - 1.2507208824157715e+01 - <_> - 2 - 30425 - 1.1292790823387461e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 117381 - -1.1292790823387461e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -6.6348746565019420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1353782415390015e-01 - 3.5277777910232544e-01 - <_> - 1 - 2224 - 6.6348746565019420e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 7.9937055706977844e-03 - 2.3396150209009647e-03 - <_> - 2 - 897 - -6.6348746565019420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1327 - 6.6348746565019420e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 880496 - -6.6348746565019420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.0858741998672485e-01 - 7.9081420898437500e+01 - <_> - 2 - 852992 - -6.6348746565019420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 27504 - 6.6348746565019420e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0380346754995637e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1207786798477173e-01 - 2.0558071136474609e+01 - <_> - 1 - 146798 - -1.0380346754995637e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.3757350891828537e-02 - 1.7893083393573761e-02 - <_> - 2 - 14082 - 1.0380346754995637e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 132716 - -1.0380346754995637e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 735922 - 1.0380346754995637e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.7217023372650146e-01 - 8.0500000000000000e+01 - <_> - 2 - 2198 - -1.0380346754995637e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 733724 - 1.0380346754995637e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2402129775755640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2029514312744141e-01 - 3.5403479003906250e+02 - <_> - 1 - 51950 - 1.2402129775755640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 4.0265109390020370e-02 - 3.7840070724487305e+00 - <_> - 2 - 42525 - -1.2402129775755640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9425 - 1.2402129775755640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 830770 - -1.2402129775755640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.9070054292678833e-01 - 9.8776817321777344e-01 - <_> - 2 - 818469 - -1.2402129775755640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12301 - 1.2402129775755640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1174451569061232e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.1771777868270874e-01 - 1.0950000000000000e+02 - <_> - 1 - 861404 - 1.1174451569061232e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.9417373538017273e-01 - 3.3225021362304688e+02 - <_> - 2 - 39399 - -1.1174451569061232e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 822005 - 1.1174451569061232e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 21316 - -1.1174451569061232e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.3733375370502472e-02 - 9.7636735439300537e-01 - <_> - 2 - 14433 - -1.1174451569061232e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6883 - 1.1174451569061232e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.2008834215581078e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1710635423660278e-01 - 3.5403479003906250e+02 - <_> - 1 - 51950 - 9.2008834215581078e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.6475311964750290e-02 - 3.7840070724487305e+00 - <_> - 2 - 42525 - -9.2008834215581078e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9425 - 9.2008834215581078e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 830770 - -9.2008834215581078e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.8651069402694702e-01 - 5.3055932617187500e+02 - <_> - 2 - 5664 - 9.2008834215581078e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 825106 - -9.2008834215581078e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1206244302541971e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1573443412780762e-01 - 1.7063159942626953e+01 - <_> - 1 - 813488 - 1.1206244302541971e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.9491870403289795e-01 - 9.8200012207031250e+01 - <_> - 2 - 777577 - 1.1206244302541971e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 35911 - -1.1206244302541971e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 69232 - -1.1206244302541971e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.3067610114812851e-02 - 9.6073269844055176e-01 - <_> - 2 - 62879 - -1.1206244302541971e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6353 - 1.1206244302541971e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.0745143780190440e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 5.1739364862442017e-01 - 2.6975215911865234e+01 - <_> - 1 - 13849 - 9.0745143780190440e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.1915556862950325e-02 - 9.7495067119598389e-01 - <_> - 2 - 1233 - -9.0745143780190440e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12616 - 9.0745143780190440e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 868871 - -9.0745143780190440e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.0075519084930420e-01 - 1.1753937530517578e+02 - <_> - 2 - 834898 - -9.0745143780190440e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 33973 - 9.0745143780190440e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 8.7684481634476105e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1117843389511108e-01 - 9.6944439411163330e-01 - <_> - 1 - 135836 - -8.7684481634476105e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 5.1922481507062912e-02 - 3.9914073944091797e+00 - <_> - 2 - 8769 - 8.7684481634476105e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 127067 - -8.7684481634476105e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 746884 - 8.7684481634476105e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.6998462080955505e-01 - 7.1500000000000000e+01 - <_> - 2 - 1265 - -8.7684481634476105e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 745619 - 8.7684481634476105e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1418394962738621e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1731228828430176e-01 - 3.8520984649658203e+01 - <_> - 1 - 146123 - 1.1418394962738621e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.1987941712141037e-01 - 9.8408565521240234e+00 - <_> - 2 - 128451 - 1.1418394962738621e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17672 - -1.1418394962738621e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 736597 - -1.1418394962738621e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.0863558650016785e-01 - 8.3221206665039062e+00 - <_> - 2 - 58072 - 1.1418394962738621e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 678525 - -1.1418394962738621e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3642321939419808e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1853173971176147e-01 - 3.3794467926025391e+01 - <_> - 1 - 396536 - -1.3642321939419808e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 1.6062475740909576e-01 - 1.1050000000000000e+02 - <_> - 2 - 62779 - 1.3642321939419808e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 333757 - -1.3642321939419808e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 486184 - 1.3642321939419808e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 3.7342825531959534e-01 - 9.2590942382812500e+00 - <_> - 2 - 23187 - -1.3642321939419808e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 462997 - 1.3642321939419808e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.8934439666397608e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2081781625747681e-01 - 5.3055932617187500e+02 - <_> - 1 - 6899 - 8.8934439666397608e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.3901364766061306e-03 - 3.6409476399421692e-01 - <_> - 2 - 597 - 8.8934439666397608e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6302 - -8.8934439666397608e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 875821 - -8.8934439666397608e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1982885599136353e-01 - 7.4083333015441895e+00 - <_> - 2 - 851176 - -8.8934439666397608e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 24645 - 8.8934439666397608e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.5080199393547421e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1209837198257446e-01 - 1.1065624237060547e+01 - <_> - 1 - 68321 - -9.5080199393547421e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.8200789839029312e-02 - 9.7500002384185791e-01 - <_> - 2 - 61259 - -9.5080199393547421e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7062 - 9.5080199393547421e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 814399 - 9.5080199393547421e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.7555136680603027e-01 - 3.5518403320312500e+03 - <_> - 2 - 543109 - 9.5080199393547421e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 271290 - -9.5080199393547421e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3670565874284332e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1976078748703003e-01 - 1.5997242927551270e-01 - <_> - 1 - 274643 - 1.3670565874284332e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.6347302496433258e-01 - 7.3014312744140625e+01 - <_> - 2 - 264903 - 1.3670565874284332e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9740 - -1.3670565874284332e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 608077 - -1.3670565874284332e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.7065026164054871e-01 - 5.6768994140625000e+03 - <_> - 2 - 596819 - -1.3670565874284332e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 11258 - 1.3670565874284332e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2696884783743767e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1723891496658325e-01 - 7.1441132812500000e+03 - <_> - 1 - 797886 - 1.2696884783743767e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.6492782235145569e-01 - 3.4368904113769531e+01 - <_> - 2 - 730767 - 1.2696884783743767e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 67119 - -1.2696884783743767e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 84834 - -1.2696884783743767e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 6.6771805286407471e-02 - 2.4362087249755859e+00 - <_> - 2 - 12567 - 1.2696884783743767e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 72267 - -1.2696884783743767e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1929965025037552e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1753205060958862e-01 - 9.6618125915527344e+01 - <_> - 1 - 794801 - -1.1929965025037552e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.4954901933670044e-01 - 3.0843707919120789e-01 - <_> - 2 - 579663 - -1.1929965025037552e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 215138 - 1.1929965025037552e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 87919 - 1.1929965025037552e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 8.0240584909915924e-02 - 2.2746036946773529e-01 - <_> - 2 - 73757 - 1.1929965025037552e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 14162 - -1.1929965025037552e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0860662705279479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1622432470321655e-01 - 2.3423248291015625e+01 - <_> - 1 - 194257 - -1.0860662705279479e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 7.1898259222507477e-02 - 2.3958118438720703e+01 - <_> - 2 - 21625 - 1.0860662705279479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 172632 - -1.0860662705279479e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 688463 - 1.0860662705279479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.5522674918174744e-01 - 7.1500000000000000e+01 - <_> - 2 - 945 - -1.0860662705279479e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 687518 - 1.0860662705279479e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1725763723154785e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1875513792037964e-01 - 4.4602760314941406e+01 - <_> - 1 - 218350 - 1.1725763723154785e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.7011776566505432e-01 - 1.4642375946044922e+01 - <_> - 2 - 53499 - -1.1725763723154785e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 164851 - 1.1725763723154785e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 664370 - -1.1725763723154785e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.5916310548782349e-01 - 1.2150000000000000e+02 - <_> - 2 - 11407 - 1.1725763723154785e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 652963 - -1.1725763723154785e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1167648010132951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1820802688598633e-01 - 1.3650000000000000e+02 - <_> - 1 - 210910 - -1.1167648010132951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 1.9387055933475494e-01 - 3.5577264404296875e+02 - <_> - 2 - 52544 - 1.1167648010132951e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 158366 - -1.1167648010132951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 671810 - 1.1167648010132951e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.3401957154273987e-01 - 4.0920783996582031e+01 - <_> - 2 - 329307 - -1.1167648010132951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 342503 - 1.1167648010132951e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2505078408336831e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1260077953338623e-01 - 1.6905261993408203e+01 - <_> - 1 - 524449 - 1.2505078408336831e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 2.9245281219482422e-01 - 1.9444374084472656e+01 - <_> - 2 - 135667 - -1.2505078408336831e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 388782 - 1.2505078408336831e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 358271 - -1.2505078408336831e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.3876920342445374e-01 - 4.2080000042915344e-02 - <_> - 2 - 75985 - 1.2505078408336831e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 282286 - -1.2505078408336831e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1146531669964642e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1469743251800537e-01 - 3.8520984649658203e+01 - <_> - 1 - 146123 - 1.1146531669964642e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 1.2118757516145706e-01 - 3.3219573974609375e+02 - <_> - 2 - 40282 - -1.1146531669964642e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 105841 - 1.1146531669964642e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 736597 - -1.1146531669964642e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.0664994716644287e-01 - 6.0706512451171875e+01 - <_> - 2 - 594161 - -1.1146531669964642e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 142436 - 1.1146531669964642e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.4722421523437013e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1222920417785645e-01 - 4.8905628204345703e+01 - <_> - 1 - 600969 - 1.4722421523437013e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.1731200218200684e-01 - 1.9359523057937622e-01 - <_> - 2 - 114683 - -1.4722421523437013e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 486286 - 1.4722421523437013e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 281751 - -1.4722421523437013e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.1942771971225739e-01 - 4.8183624267578125e+01 - <_> - 2 - 40157 - 1.4722421523437013e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 241594 - -1.4722421523437013e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1909982435381317e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1740634441375732e-01 - 1.1911777496337891e+02 - <_> - 1 - 260790 - -1.1909982435381317e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 9.8409734666347504e-02 - 1.0450000000000000e+02 - <_> - 2 - 44866 - 1.1909982435381317e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 215924 - -1.1909982435381317e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 621930 - 1.1909982435381317e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.3133008480072021e-01 - 9.1517004394531250e+02 - <_> - 2 - 41408 - -1.1909982435381317e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 580522 - 1.1909982435381317e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1359715151968533e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1759630441665649e-01 - 4.6553656458854675e-02 - <_> - 1 - 541029 - -1.1359715151968533e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.8337594270706177e-01 - 2.2750000000000000e+02 - <_> - 2 - 526042 - -1.1359715151968533e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 14987 - 1.1359715151968533e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 341691 - 1.1359715151968533e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.4499284327030182e-01 - 1.3962946777343750e+03 - <_> - 2 - 148893 - 1.1359715151968533e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 192798 - -1.1359715151968533e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2322219910166020e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1454466581344604e-01 - 6.3750000000000000e+00 - <_> - 1 - 829136 - 1.2322219910166020e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.9534726142883301e-01 - 9.6182703971862793e-01 - <_> - 2 - 68783 - -1.2322219910166020e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 760353 - 1.2322219910166020e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 53584 - -1.2322219910166020e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.5419374704360962e-02 - 9.6181493997573853e-01 - <_> - 2 - 45768 - 1.2322219910166020e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7816 - -1.2322219910166020e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1781178830356834e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.2268415689468384e-01 - 1.2721937561035156e+02 - <_> - 1 - 858625 - -1.1781178830356834e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.9915239214897156e-01 - 1.0780788421630859e+01 - <_> - 2 - 9261 - 1.1781178830356834e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 849364 - -1.1781178830356834e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 24095 - 1.1781178830356834e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.0266525223851204e-02 - 2.6119586825370789e-01 - <_> - 2 - 13317 - -1.1781178830356834e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 10778 - 1.1781178830356834e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2950340294746163e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1489472389221191e-01 - 1.9693386554718018e-01 - <_> - 1 - 286193 - 1.2950340294746163e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 2.3451860249042511e-01 - 8.4089599609375000e+01 - <_> - 2 - 266079 - 1.2950340294746163e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 20114 - -1.2950340294746163e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 596527 - -1.2950340294746163e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.9781207442283630e-01 - 3.5527777671813965e+00 - <_> - 2 - 466581 - -1.2950340294746163e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 129946 - 1.2950340294746163e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3382719657511438e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1340484619140625e-01 - 3.9127510070800781e+01 - <_> - 1 - 484708 - 1.3382719657511438e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.1581776440143585e-01 - 2.3972038574218750e+03 - <_> - 2 - 338458 - 1.3382719657511438e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 146250 - -1.3382719657511438e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 398012 - -1.3382719657511438e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.1758919358253479e-01 - 9.9669523239135742e+00 - <_> - 2 - 119203 - 1.3382719657511438e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 278809 - -1.3382719657511438e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3052820589276917e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1961916685104370e-01 - 1.2550000000000000e+02 - <_> - 1 - 142648 - -1.3052820589276917e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.4402635395526886e-01 - 3.3239997923374176e-02 - <_> - 2 - 99101 - -1.3052820589276917e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43547 - 1.3052820589276917e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 740072 - 1.3052820589276917e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.8855946063995361e-01 - 7.7380010986328125e+02 - <_> - 2 - 65023 - -1.3052820589276917e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 675049 - 1.3052820589276917e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1143963889842658e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1930880546569824e-01 - 3.7608242034912109e+01 - <_> - 1 - 135299 - 1.1143963889842658e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.1370519548654556e-01 - 1.4642375946044922e+01 - <_> - 2 - 48444 - -1.1143963889842658e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 86855 - 1.1143963889842658e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 747421 - -1.1143963889842658e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.1412591934204102e-01 - 2.7229607105255127e-02 - <_> - 2 - 95577 - 1.1143963889842658e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 651844 - -1.1143963889842658e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5217408284279793e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1494979858398438e-01 - 9.6397743225097656e+00 - <_> - 1 - 399063 - -1.5217408284279793e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 1.8638405203819275e-01 - 7.0999298095703125e+00 - <_> - 2 - 126262 - 1.5217408284279793e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 272801 - -1.5217408284279793e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 483657 - 1.5217408284279793e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.5158622264862061e-01 - 2.9056789398193359e+01 - <_> - 2 - 67660 - -1.5217408284279793e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 415997 - 1.5217408284279793e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.4635032346753689e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2099221944808960e-01 - 1.1370868682861328e+01 - <_> - 1 - 13294 - 9.4635032346753689e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.1681082658469677e-02 - 2.3396150209009647e-03 - <_> - 2 - 1022 - -9.4635032346753689e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12272 - 9.4635032346753689e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 869426 - -9.4635032346753689e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1196002960205078e-01 - 7.9061347961425781e+01 - <_> - 2 - 841854 - -9.4635032346753689e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 27572 - 9.4635032346753689e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.4711133362356342e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1325416564941406e-01 - 5.2972221374511719e+00 - <_> - 1 - 788170 - 9.4711133362356342e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.6157640218734741e-01 - 5.0363531494140625e+02 - <_> - 2 - 129946 - -9.4711133362356342e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 658224 - 9.4711133362356342e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 94550 - -9.4711133362356342e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 6.2083713710308075e-02 - 2.5150000000000000e+02 - <_> - 2 - 84156 - -9.4711133362356342e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 10394 - 9.4711133362356342e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.4493641747558574e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1660895347595215e-01 - 2.4264328002929688e+01 - <_> - 1 - 99637 - 9.4493641747558574e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.4669870287179947e-02 - 1.5394971847534180e+01 - <_> - 2 - 63376 - -9.4493641747558574e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 36261 - 9.4493641747558574e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 783083 - -9.4493641747558574e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.7893598675727844e-01 - 3.8409677124023438e+02 - <_> - 2 - 13669 - 9.4493641747558574e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 769414 - -9.4493641747558574e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0268576004758100e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1545894145965576e-01 - 9.5613986253738403e-01 - <_> - 1 - 73738 - -1.0268576004758100e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.4481346830725670e-02 - 4.5859130859375000e+01 - <_> - 2 - 60302 - -1.0268576004758100e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 13436 - 1.0268576004758100e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 808982 - 1.0268576004758100e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.0116753578186035e-01 - 6.4861106872558594e+00 - <_> - 2 - 793030 - 1.0268576004758100e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 15952 - -1.0268576004758100e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.7415687815332127e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1738774776458740e-01 - 2.0639503002166748e+00 - <_> - 1 - 13904 - 8.7415687815332127e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.1813781931996346e-02 - 1.9439224243164062e+01 - <_> - 2 - 5661 - -8.7415687815332127e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8243 - 8.7415687815332127e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 868816 - -8.7415687815332127e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.0002622604370117e-01 - 7.1283096313476562e+01 - <_> - 2 - 797538 - -8.7415687815332127e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 71278 - 8.7415687815332127e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.0927238798277743e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.0975197553634644e-01 - 1.2518388032913208e+00 - <_> - 1 - 377084 - 9.0927238798277743e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.0931947231292725e-01 - 4.1524017333984375e+01 - <_> - 2 - 93330 - -9.0927238798277743e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 283754 - 9.0927238798277743e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 505636 - -9.0927238798277743e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.1339669227600098e-01 - 4.4432319641113281e+01 - <_> - 2 - 112515 - 9.0927238798277743e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 393121 - -9.0927238798277743e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.5052653794233957e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1104712486267090e-01 - 3.2332382202148438e+01 - <_> - 1 - 120080 - -9.5052653794233957e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 7.5593367218971252e-02 - 6.7714500427246094e+00 - <_> - 2 - 53841 - 9.5052653794233957e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 66239 - -9.5052653794233957e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 762640 - 9.5052653794233957e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.4815191626548767e-01 - 7.5972385406494141e+00 - <_> - 2 - 87136 - -9.5052653794233957e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 675504 - 9.5052653794233957e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -7.5071076731170652e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1666319370269775e-01 - 3.5277777910232544e-01 - <_> - 1 - 2224 - 7.5071076731170652e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 8.0808280035853386e-03 - 2.6486915349960327e-01 - <_> - 2 - 1298 - 7.5071076731170652e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 926 - -7.5071076731170652e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 880496 - -7.5071076731170652e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1067811250686646e-01 - 1.0946619033813477e+01 - <_> - 2 - 8232 - 7.5071076731170652e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 872264 - -7.5071076731170652e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.4623998779569909e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1043331623077393e-01 - 5.3959779441356659e-02 - <_> - 1 - 683722 - 9.4623998779569909e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.6497312188148499e-01 - 1.4772460937500000e+03 - <_> - 2 - 185379 - -9.4623998779569909e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 498343 - 9.4623998779569909e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 198998 - -9.4623998779569909e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.8665242046117783e-02 - 2.4351483583450317e-01 - <_> - 2 - 130152 - -9.4623998779569909e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 68846 - 9.4623998779569909e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2714328334082659e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1731991767883301e-01 - 1.6297939453125000e+03 - <_> - 1 - 330856 - 1.2714328334082659e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.8274462223052979e-01 - 1.2698571777343750e+02 - <_> - 2 - 323734 - 1.2714328334082659e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7122 - -1.2714328334082659e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 551864 - -1.2714328334082659e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.4899845719337463e-01 - 1.9487727880477905e+00 - <_> - 2 - 110726 - 1.2714328334082659e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 441138 - -1.2714328334082659e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0029983928741941e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1090341806411743e-01 - 1.9007104635238647e-01 - <_> - 1 - 257192 - 1.0029983928741941e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.1419817209243774e-01 - 3.8416666984558105e+00 - <_> - 2 - 170984 - 1.0029983928741941e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 86208 - -1.0029983928741941e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 625528 - -1.0029983928741941e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.1085580587387085e-01 - 9.4207134246826172e+00 - <_> - 2 - 267693 - 1.0029983928741941e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 357835 - -1.0029983928741941e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2812338943322610e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1928746700286865e-01 - 3.0527777671813965e+00 - <_> - 1 - 558604 - -1.2812338943322610e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.9665496945381165e-01 - 1.8450000000000000e+02 - <_> - 2 - 461479 - -1.2812338943322610e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 97125 - 1.2812338943322610e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 324116 - 1.2812338943322610e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.3533213138580322e-01 - 9.7587108612060547e-01 - <_> - 2 - 275955 - 1.2812338943322610e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 48161 - -1.2812338943322610e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2207526287606150e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1623684167861938e-01 - 1.3427116699218750e+03 - <_> - 1 - 572221 - 1.2207526287606150e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 3.1281876564025879e-01 - 8.1077964782714844e+01 - <_> - 2 - 470399 - 1.2207526287606150e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 101822 - -1.2207526287606150e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 310499 - -1.2207526287606150e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.1766221523284912e-01 - 2.0246419310569763e-01 - <_> - 2 - 233657 - -1.2207526287606150e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 76842 - 1.2207526287606150e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.4989269913710268e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1366740465164185e-01 - 5.5216079711914062e+01 - <_> - 1 - 679431 - -1.4989269913710268e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.5601037740707397e-01 - 4.4606324285268784e-02 - <_> - 2 - 404899 - -1.4989269913710268e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 274532 - 1.4989269913710268e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 203289 - 1.4989269913710268e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.8139278888702393e-01 - 2.0816545188426971e-01 - <_> - 2 - 159252 - 1.4989269913710268e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 44037 - -1.4989269913710268e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.5342495351359042e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1776731014251709e-01 - 4.0041230618953705e-02 - <_> - 1 - 399948 - 1.5342495351359042e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 3.0101346969604492e-01 - 6.6715942382812500e+01 - <_> - 2 - 381041 - 1.5342495351359042e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 18907 - -1.5342495351359042e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 482772 - -1.5342495351359042e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.3726768791675568e-01 - 3.0918169021606445e+00 - <_> - 2 - 364549 - -1.5342495351359042e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 118223 - 1.5342495351359042e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.4579421952377511e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1463216543197632e-01 - 2.7181453704833984e+00 - <_> - 1 - 558384 - 1.4579421952377511e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.6393714547157288e-01 - 9.7053241729736328e-01 - <_> - 2 - 139368 - -1.4579421952377511e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 419016 - 1.4579421952377511e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 324336 - -1.4579421952377511e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.7244696021080017e-01 - 9.6973073482513428e-01 - <_> - 2 - 132600 - 1.4579421952377511e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 191736 - -1.4579421952377511e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.3675549513667263e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1156282424926758e-01 - 2.3050000000000000e+02 - <_> - 1 - 827850 - -8.3675549513667263e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.7785559296607971e-01 - 5.6930437088012695e+00 - <_> - 2 - 552849 - -8.3675549513667263e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 275001 - 8.3675549513667263e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 54870 - 8.3675549513667263e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.3051108717918396e-02 - 9.6928584575653076e-01 - <_> - 2 - 30078 - 8.3675549513667263e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 24792 - -8.3675549513667263e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.3153440467758086e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1211380958557129e-01 - 6.0000886917114258e+00 - <_> - 1 - 605670 - 9.3153440467758086e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 3.8052120804786682e-01 - 9.6944439411163330e-01 - <_> - 2 - 94691 - -9.3153440467758086e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 510979 - 9.3153440467758086e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 277050 - -9.3153440467758086e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.4275032281875610e-01 - 2.6701806640625000e+03 - <_> - 2 - 156682 - -9.3153440467758086e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 120368 - 9.3153440467758086e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.5184707513219904e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1580941677093506e-01 - 1.0013697147369385e+00 - <_> - 1 - 38274 - 9.5184707513219904e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.0499700009822845e-02 - 4.9278511047363281e+01 - <_> - 2 - 29569 - 9.5184707513219904e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8705 - -9.5184707513219904e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 844446 - -9.5184707513219904e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.7327852249145508e-01 - 2.7905413508415222e-01 - <_> - 2 - 777316 - -9.5184707513219904e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 67130 - 9.5184707513219904e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.1681486528081030e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1230579614639282e-01 - 2.9147505760192871e-01 - <_> - 1 - 827055 - 9.1681486528081030e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.8605522513389587e-01 - 5.7274185121059418e-02 - <_> - 2 - 696762 - 9.1681486528081030e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 130293 - -9.1681486528081030e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 55665 - -9.1681486528081030e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.6849107593297958e-02 - 7.9624938964843750e+01 - <_> - 2 - 47805 - -9.1681486528081030e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7860 - 9.1681486528081030e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0179268045699244e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1810514926910400e-01 - 3.9401649475097656e+01 - <_> - 1 - 847989 - -1.0179268045699244e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 4.8632714152336121e-01 - 8.0004062652587891e+00 - <_> - 2 - 780457 - -1.0179268045699244e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 67532 - 1.0179268045699244e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 34731 - 1.0179268045699244e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.9099089801311493e-02 - 1.7113932967185974e-01 - <_> - 2 - 13738 - -1.0179268045699244e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 20993 - 1.0179268045699244e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.9199627152149528e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1473385095596313e-01 - 4.0854901123046875e+02 - <_> - 1 - 814521 - 9.9199627152149528e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.5232692360877991e-01 - 9.5607256889343262e-01 - <_> - 2 - 70215 - -9.9199627152149528e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 744306 - 9.9199627152149528e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 68199 - -9.9199627152149528e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 7.2452656924724579e-02 - 1.1904067039489746e+01 - <_> - 2 - 34953 - 9.9199627152149528e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 33246 - -9.9199627152149528e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2045684120765200e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1715165376663208e-01 - 1.9483010253906250e+03 - <_> - 1 - 748926 - -1.2045684120765200e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.2893403768539429e-01 - 1.6140855789184570e+01 - <_> - 2 - 731917 - -1.2045684120765200e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17009 - 1.2045684120765200e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 133794 - 1.2045684120765200e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.0114382207393646e-01 - 2.2938682138919830e-01 - <_> - 2 - 119960 - 1.2045684120765200e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 13834 - -1.2045684120765200e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.8600859335020066e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1442885398864746e-01 - 1.7187983398437500e+03 - <_> - 1 - 698956 - 9.8600859335020066e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.8903987407684326e-01 - 5.1110818982124329e-02 - <_> - 2 - 483455 - 9.8600859335020066e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 215501 - -9.8600859335020066e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 183764 - -9.8600859335020066e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.3559038937091827e-01 - 1.0698510742187500e+02 - <_> - 2 - 110229 - -9.8600859335020066e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 73535 - 9.8600859335020066e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0013113568673283e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1187586784362793e-01 - 1.1251853027343750e+03 - <_> - 1 - 203274 - 1.0013113568673283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 8.9294776320457458e-02 - 7.5003746032714844e+01 - <_> - 2 - 153384 - -1.0013113568673283e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 49890 - 1.0013113568673283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 679446 - -1.0013113568673283e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.3571710586547852e-01 - 3.5114007568359375e+02 - <_> - 2 - 30772 - 1.0013113568673283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 648674 - -1.0013113568673283e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0479083482852962e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1722937822341919e-01 - 7.3068008422851562e+01 - <_> - 1 - 69470 - -1.0479083482852962e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.0421104282140732e-02 - 4.1849542236328125e+02 - <_> - 2 - 64489 - -1.0479083482852962e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4981 - 1.0479083482852962e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 813250 - 1.0479083482852962e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.9575266242027283e-01 - 2.5513930664062500e+03 - <_> - 2 - 760523 - 1.0479083482852962e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 52727 - -1.0479083482852962e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -6.9944597027767702e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1338863372802734e-01 - 8.1779647827148438e+01 - <_> - 1 - 863763 - -6.9944597027767702e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.0226563215255737e-01 - 3.5277777910232544e-01 - <_> - 2 - 2224 - 6.9944597027767702e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 861539 - -6.9944597027767702e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 18957 - 6.9944597027767702e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.5213403850793839e-02 - 1.1604920959472656e+02 - <_> - 2 - 16762 - 6.9944597027767702e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2195 - -6.9944597027767702e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0049008429189323e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1192611455917358e-01 - 1.9285855293273926e+00 - <_> - 1 - 300532 - -1.0049008429189323e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.1127478629350662e-01 - 3.1663694977760315e-01 - <_> - 2 - 176414 - -1.0049008429189323e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 124118 - 1.0049008429189323e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 582188 - 1.0049008429189323e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.1382661461830139e-01 - 3.0425888299942017e-01 - <_> - 2 - 477731 - 1.0049008429189323e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 104457 - -1.0049008429189323e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2855730349878802e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1117056608200073e-01 - 2.6046544313430786e-01 - <_> - 1 - 513635 - -1.2855730349878802e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.6986562609672546e-01 - 9.6437197923660278e-01 - <_> - 2 - 109023 - 1.2855730349878802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 404612 - -1.2855730349878802e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 369085 - 1.2855730349878802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.6222952306270599e-01 - 2.5710353851318359e+00 - <_> - 2 - 292480 - 1.2855730349878802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 76605 - -1.2855730349878802e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.5465057419031996e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1730257272720337e-01 - 1.3940798118710518e-02 - <_> - 1 - 32627 - -9.5465057419031996e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.5295770950615406e-02 - 5.1016855239868164e+00 - <_> - 2 - 1597 - 9.5465057419031996e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31030 - -9.5465057419031996e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 850093 - 9.5465057419031996e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.0855237245559692e-01 - 1.2303461879491806e-01 - <_> - 2 - 44974 - -9.5465057419031996e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 805119 - 9.5465057419031996e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.6415003328645679e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1114720106124878e-01 - 3.7143341064453125e+01 - <_> - 1 - 158181 - 9.6415003328645679e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 1.0440933704376221e-01 - 1.9092498779296875e+01 - <_> - 2 - 91397 - -9.6415003328645679e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 66784 - 9.6415003328645679e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 724539 - -9.6415003328645679e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 4.1967576742172241e-01 - 4.5582500457763672e+01 - <_> - 2 - 28001 - 9.6415003328645679e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 696538 - -9.6415003328645679e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0653500199646342e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1474612951278687e-01 - 5.3066043853759766e+00 - <_> - 1 - 764408 - 1.0653500199646342e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.4804531335830688e-01 - 5.0363531494140625e+02 - <_> - 2 - 127459 - -1.0653500199646342e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 636949 - 1.0653500199646342e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 118312 - -1.0653500199646342e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 7.8563265502452850e-02 - 4.9014778137207031e+01 - <_> - 2 - 26161 - -1.0653500199646342e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 92151 - 1.0653500199646342e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.7227327944372962e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1673740148544312e-01 - 4.0570430755615234e+00 - <_> - 1 - 76100 - 8.7227327944372962e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.7999830693006516e-02 - 8.1099443435668945e+00 - <_> - 2 - 66844 - 8.7227327944372962e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9256 - -8.7227327944372962e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 806620 - -8.7227327944372962e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.6379318833351135e-01 - 2.3313360214233398e+01 - <_> - 2 - 29593 - 8.7227327944372962e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 777027 - -8.7227327944372962e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0744457647570353e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1406890153884888e-01 - 1.5870826721191406e+01 - <_> - 1 - 796112 - 1.0744457647570353e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.7454094886779785e-01 - 9.6592041015625000e+01 - <_> - 2 - 758653 - 1.0744457647570353e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 37459 - -1.0744457647570353e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 86608 - -1.0744457647570353e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2294373512268066e-02 - 9.3383010864257812e+01 - <_> - 2 - 68632 - -1.0744457647570353e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17976 - 1.0744457647570353e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.7475577555735706e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1489800214767456e-01 - 2.3750000000000000e+02 - <_> - 1 - 842740 - -8.7475577555735706e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.9156761169433594e-01 - 4.9310840666294098e-02 - <_> - 2 - 585767 - -8.7475577555735706e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 256973 - 8.7475577555735706e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 39980 - 8.7475577555735706e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.0287345871329308e-02 - 2.1982169151306152e+00 - <_> - 2 - 16033 - -8.7475577555735706e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 23947 - 8.7475577555735706e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0012120742820195e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1017475128173828e-01 - 5.1415245980024338e-02 - <_> - 1 - 638031 - 1.0012120742820195e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.4468110799789429e-01 - 1.3216240234375000e+03 - <_> - 2 - 138468 - -1.0012120742820195e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 499563 - 1.0012120742820195e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 244689 - -1.0012120742820195e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 8.0328300595283508e-02 - 4.9735156250000000e+03 - <_> - 2 - 216089 - -1.0012120742820195e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 28600 - 1.0012120742820195e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1139629904554423e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1527249813079834e-01 - 1.3501220703125000e+03 - <_> - 1 - 263212 - 1.1139629904554423e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.2927815318107605e-01 - 1.1971948623657227e+01 - <_> - 2 - 216509 - -1.1139629904554423e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 46703 - 1.1139629904554423e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 619508 - -1.1139629904554423e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.9854216575622559e-01 - 6.7810668945312500e+01 - <_> - 2 - 533114 - -1.1139629904554423e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 86394 - 1.1139629904554423e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2939202182366219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.2019113302230835e-01 - 2.2457817077636719e+01 - <_> - 1 - 632209 - 1.2939202182366219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.6560800671577454e-01 - 1.6281558990478516e+01 - <_> - 2 - 572511 - 1.2939202182366219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59698 - -1.2939202182366219e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 250511 - -1.2939202182366219e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.6669492423534393e-01 - 2.4156896770000458e-01 - <_> - 2 - 216330 - -1.2939202182366219e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 34181 - 1.2939202182366219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2250088306848443e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1482892036437988e-01 - 1.6151179199218750e+03 - <_> - 1 - 669253 - -1.2250088306848443e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.7292891740798950e-01 - 1.4953508377075195e+01 - <_> - 2 - 654604 - -1.2250088306848443e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 14649 - 1.2250088306848443e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 213467 - 1.2250088306848443e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.5765807032585144e-01 - 1.5687054395675659e-01 - <_> - 2 - 35542 - -1.2250088306848443e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 177925 - 1.2250088306848443e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1012913581323687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 5.1693290472030640e-01 - 8.7880306243896484e+00 - <_> - 1 - 724584 - 1.1012913581323687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.2123246192932129e-01 - 7.8584746093750000e+03 - <_> - 2 - 660016 - 1.1012913581323687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 64568 - -1.1012913581323687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 158136 - -1.1012913581323687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.0627202689647675e-01 - 8.0757070312500000e+03 - <_> - 2 - 156262 - -1.1012913581323687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1874 - 1.1012913581323687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.6335966027004080e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1213514804840088e-01 - 8.7217148437500000e+03 - <_> - 1 - 832388 - -8.6335966027004080e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.8214641213417053e-01 - 6.3046508789062500e+01 - <_> - 2 - 714739 - -8.6335966027004080e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 117649 - 8.6335966027004080e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 50332 - 8.6335966027004080e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.9424180984497070e-02 - 1.2924060058593750e+03 - <_> - 2 - 31721 - 8.6335966027004080e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 18611 - -8.6335966027004080e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.5053473052294321e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1496863365173340e-01 - 7.3706222534179688e+01 - <_> - 1 - 774473 - 9.5053473052294321e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.3096181750297546e-01 - 1.1797039031982422e+01 - <_> - 2 - 574908 - 9.5053473052294321e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 199565 - -9.5053473052294321e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 108247 - -9.5053473052294321e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 9.2783667147159576e-02 - 9.7360563278198242e-01 - <_> - 2 - 82765 - -9.5053473052294321e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 25482 - 9.5053473052294321e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2486305892425398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1188904047012329e-01 - 1.2129903793334961e+01 - <_> - 1 - 651287 - -1.2486305892425398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.3008763194084167e-01 - 1.2595489501953125e+02 - <_> - 2 - 630194 - -1.2486305892425398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 21093 - 1.2486305892425398e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 231433 - 1.2486305892425398e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 2.0108763873577118e-01 - 4.2796148681640625e+02 - <_> - 2 - 204164 - 1.2486305892425398e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 27269 - -1.2486305892425398e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.4881791536970340e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1729077100753784e-01 - 1.2525152206420898e+01 - <_> - 1 - 681291 - 1.4881791536970340e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.5587441921234131e-01 - 6.7825866699218750e+01 - <_> - 2 - 508813 - 1.4881791536970340e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 172478 - -1.4881791536970340e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 201429 - -1.4881791536970340e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.8126153945922852e-01 - 9.7179555892944336e-01 - <_> - 2 - 157846 - -1.4881791536970340e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43583 - 1.4881791536970340e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3984958175915035e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2143442630767822e-01 - 3.5027778148651123e+00 - <_> - 1 - 632167 - -1.3984958175915035e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 3.5061496496200562e-01 - 6.6573921203613281e+01 - <_> - 2 - 583053 - -1.3984958175915035e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 49114 - 1.3984958175915035e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 250553 - 1.3984958175915035e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.8429054319858551e-01 - 1.2200248241424561e-01 - <_> - 2 - 16834 - -1.3984958175915035e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 233719 - 1.3984958175915035e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1351189242547870e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 5.1673692464828491e-01 - 6.3547519683837891e+01 - <_> - 1 - 310597 - 1.1351189242547870e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.0332904160022736e-01 - 1.2332736968994141e+01 - <_> - 2 - 265157 - 1.1351189242547870e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 45440 - -1.1351189242547870e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 572123 - -1.1351189242547870e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.2501849532127380e-01 - 1.5000002384185791e+00 - <_> - 2 - 455827 - -1.1351189242547870e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 116296 - 1.1351189242547870e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1620001547569191e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.1641446352005005e-01 - 2.5000002384185791e+00 - <_> - 1 - 709059 - 1.1620001547569191e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.0091326832771301e-01 - 9.1666994094848633e+00 - <_> - 2 - 291562 - -1.1620001547569191e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 417497 - 1.1620001547569191e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 173661 - -1.1620001547569191e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.2810410559177399e-01 - 9.7694289684295654e-01 - <_> - 2 - 98821 - -1.1620001547569191e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 74840 - 1.1620001547569191e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0324061878595918e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.0883173942565918e-01 - 9.8828277587890625e+00 - <_> - 1 - 430648 - 1.0324061878595918e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 1.9811230897903442e-01 - 1.6950000000000000e+02 - <_> - 2 - 349264 - -1.0324061878595918e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 81384 - 1.0324061878595918e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 452072 - -1.0324061878595918e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.2767495512962341e-01 - 1.7250000000000000e+02 - <_> - 2 - 144198 - 1.0324061878595918e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 307874 - -1.0324061878595918e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2464332048406863e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1626908779144287e-01 - 9.8828277587890625e+00 - <_> - 1 - 430648 - 1.2464332048406863e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.0228776335716248e-01 - 1.9277486801147461e+00 - <_> - 2 - 155164 - -1.2464332048406863e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 275484 - 1.2464332048406863e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 452072 - -1.2464332048406863e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.2883277535438538e-01 - 7.3423736572265625e+01 - <_> - 2 - 250061 - -1.2464332048406863e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 202011 - 1.2464332048406863e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 8.3196641780681660e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1272737979888916e-01 - 7.3706222534179688e+01 - <_> - 1 - 774473 - 8.3196641780681660e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.2957296967506409e-01 - 5.0050497055053711e-02 - <_> - 2 - 558698 - 8.3196641780681660e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 215775 - -8.3196641780681660e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 108247 - -8.3196641780681660e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 9.1214209794998169e-02 - 2.4950000000000000e+02 - <_> - 2 - 98447 - -8.3196641780681660e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9800 - 8.3196641780681660e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.8709603077637519e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1288670301437378e-01 - 1.1416666507720947e+00 - <_> - 1 - 171901 - 8.8709603077637519e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 6.7043520510196686e-02 - 1.1058124542236328e+01 - <_> - 2 - 64029 - -8.8709603077637519e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 107872 - 8.8709603077637519e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 710819 - -8.8709603077637519e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.5511934161186218e-01 - 7.3527774810791016e+00 - <_> - 2 - 684764 - -8.8709603077637519e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 26055 - 8.8709603077637519e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0200757197105535e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.1430970430374146e-01 - 4.1500000000000000e+01 - <_> - 1 - 820638 - 1.0200757197105535e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.5283472537994385e-01 - 2.6412561416625977e+01 - <_> - 2 - 232669 - -1.0200757197105535e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 587969 - 1.0200757197105535e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 62082 - -1.0200757197105535e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 7.2645075619220734e-02 - 1.9568501710891724e+00 - <_> - 2 - 23617 - 1.0200757197105535e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 38465 - -1.0200757197105535e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -7.4146309958005197e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 5.1343142986297607e-01 - 3.9485031127929688e+01 - <_> - 1 - 82635 - 7.4146309958005197e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 6.5225981175899506e-02 - 8.2040596008300781e+00 - <_> - 2 - 72894 - 7.4146309958005197e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9741 - -7.4146309958005197e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 800085 - -7.4146309958005197e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.5330211520195007e-01 - 1.2738451361656189e-01 - <_> - 2 - 58254 - 7.4146309958005197e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 741831 - -7.4146309958005197e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 8.0941260705440082e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1312166452407837e-01 - 3.1864631175994873e-01 - <_> - 1 - 860456 - 8.0941260705440082e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.0408554077148438e-01 - 9.8062193393707275e-01 - <_> - 2 - 585265 - 8.0941260705440082e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 275191 - -8.0941260705440082e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 22264 - -8.0941260705440082e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 1.6138739883899689e-02 - 4.5250743865966797e+01 - <_> - 2 - 10751 - 8.0941260705440082e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 11513 - -8.0941260705440082e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.2499662417127792e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1441407203674316e-01 - 1.6361110210418701e+00 - <_> - 1 - 262336 - 8.2499662417127792e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.1587233096361160e-01 - 2.8954421997070312e+01 - <_> - 2 - 230335 - 8.2499662417127792e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 32001 - -8.2499662417127792e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 620384 - -8.2499662417127792e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.0474089980125427e-01 - 5.8885707855224609e+00 - <_> - 2 - 1846 - 8.2499662417127792e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 618538 - -8.2499662417127792e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1169926362945755e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1363658905029297e-01 - 1.9444374084472656e+01 - <_> - 1 - 135667 - -1.1169926362945755e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.0936907678842545e-01 - 2.4883413314819336e-01 - <_> - 2 - 100537 - -1.1169926362945755e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 35130 - 1.1169926362945755e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 747053 - 1.1169926362945755e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.1852673888206482e-01 - 2.7778682708740234e+01 - <_> - 2 - 151031 - -1.1169926362945755e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 596022 - 1.1169926362945755e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.4600501300894715e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1694715023040771e-01 - 2.9028301239013672e+01 - <_> - 1 - 153015 - 9.4600501300894715e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 7.4835188686847687e-02 - 9.2753009796142578e+00 - <_> - 2 - 122898 - 9.4600501300894715e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 30117 - -9.4600501300894715e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 729705 - -9.4600501300894715e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.4879731535911560e-01 - 7.4722218513488770e-01 - <_> - 2 - 8288 - 9.4600501300894715e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 721417 - -9.4600501300894715e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.5313568452163239e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1234507560729980e-01 - 2.2868448257446289e+01 - <_> - 1 - 185346 - -9.5313568452163239e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 6.7804135382175446e-02 - 1.9476972520351410e-02 - <_> - 2 - 18767 - 9.5313568452163239e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 166579 - -9.5313568452163239e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 697374 - 9.5313568452163239e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.5600622892379761e-01 - 7.1500000000000000e+01 - <_> - 2 - 987 - -9.5313568452163239e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 696387 - 9.5313568452163239e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -6.8046149620195201e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1556253433227539e-01 - 8.2806862890720367e-02 - <_> - 1 - 873894 - -6.8046149620195201e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1484334468841553e-01 - 2.6995529174804688e+01 - <_> - 2 - 854266 - -6.8046149620195201e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 19628 - 6.8046149620195201e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 8826 - 6.8046149620195201e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 2.1616152953356504e-03 - 1.9699844360351562e+02 - <_> - 2 - 8772 - -6.8046149620195201e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 54 - 6.8046149620195201e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 8.1989988520674420e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.0836217403411865e-01 - 1.4196281738281250e+03 - <_> - 1 - 607419 - 8.1989988520674420e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.2993209362030029e-01 - 9.2327545166015625e+01 - <_> - 2 - 552735 - 8.1989988520674420e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 54684 - -8.1989988520674420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 275301 - -8.1989988520674420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.9055393338203430e-01 - 1.3535617828369141e+01 - <_> - 2 - 140629 - 8.1989988520674420e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 134672 - -8.1989988520674420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3612178894590560e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1438689231872559e-01 - 9.7220790386199951e-01 - <_> - 1 - 329213 - 1.3612178894590560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.3397213220596313e-01 - 4.1265846252441406e+01 - <_> - 2 - 98672 - -1.3612178894590560e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 230541 - 1.3612178894590560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 553507 - -1.3612178894590560e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.0000588297843933e-01 - 1.3004627227783203e+01 - <_> - 2 - 522001 - -1.3612178894590560e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31506 - 1.3612178894590560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.4174359815885956e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2310168743133545e-01 - 1.0694110107421875e+03 - <_> - 1 - 414849 - 1.4174359815885956e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.3964780569076538e-01 - 1.1876630783081055e+01 - <_> - 2 - 401949 - 1.4174359815885956e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12900 - -1.4174359815885956e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 467871 - -1.4174359815885956e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.9572889208793640e-01 - 5.2797199249267578e+01 - <_> - 2 - 107182 - 1.4174359815885956e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 360689 - -1.4174359815885956e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3976332347742679e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 5.1770704984664917e-01 - 7.1512346267700195e+00 - <_> - 1 - 382532 - -1.3976332347742679e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.7232521772384644e-01 - 1.5850000000000000e+02 - <_> - 2 - 333940 - -1.3976332347742679e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 48592 - 1.3976332347742679e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 500188 - 1.3976332347742679e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.6255884766578674e-01 - 5.1605654296875000e+03 - <_> - 2 - 416279 - 1.3976332347742679e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 83909 - -1.3976332347742679e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.2690956547639522e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1453536748886108e-01 - 1.4193212890625000e+03 - <_> - 1 - 607300 - 9.2690956547639522e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 3.3013632893562317e-01 - 7.5242357254028320e+00 - <_> - 2 - 411486 - 9.2690956547639522e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 195814 - -9.2690956547639522e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 275420 - -9.2690956547639522e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.9301982223987579e-01 - 3.3393999934196472e-01 - <_> - 2 - 258051 - -9.2690956547639522e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17369 - 9.2690956547639522e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.5512883816047315e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1569175720214844e-01 - 5.1933715820312500e+01 - <_> - 1 - 639142 - -1.5512883816047315e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.4072896838188171e-01 - 2.2359392046928406e-01 - <_> - 2 - 432480 - -1.5512883816047315e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 206662 - 1.5512883816047315e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 243578 - 1.5512883816047315e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.9797566533088684e-01 - 2.0227992534637451e-01 - <_> - 2 - 152373 - 1.5512883816047315e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 91205 - -1.5512883816047315e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.4311757368526096e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2287214994430542e-01 - 2.2418455779552460e-01 - <_> - 1 - 645245 - 1.4311757368526096e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.6794313788414001e-01 - 9.8246645927429199e-01 - <_> - 2 - 502389 - 1.4311757368526096e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 142856 - -1.4311757368526096e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 237475 - -1.4311757368526096e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 1.6777531802654266e-01 - 1.4800925292968750e+03 - <_> - 2 - 203522 - -1.4311757368526096e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 33953 - 1.4311757368526096e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0740744894310113e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1679742336273193e-01 - 8.4028808593750000e+02 - <_> - 1 - 290992 - 1.0740744894310113e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.5549302101135254e-01 - 9.7689026594161987e-01 - <_> - 2 - 39284 - -1.0740744894310113e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 251708 - 1.0740744894310113e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 591728 - -1.0740744894310113e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.7133306264877319e-01 - 6.9164237976074219e+00 - <_> - 2 - 13270 - 1.0740744894310113e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 578458 - -1.0740744894310113e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1958057418300316e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1416927576065063e-01 - 2.1694445610046387e+00 - <_> - 1 - 378470 - -1.1958057418300316e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.8806050717830658e-01 - 3.0148733407258987e-02 - <_> - 2 - 89410 - 1.1958057418300316e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 289060 - -1.1958057418300316e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 504250 - 1.1958057418300316e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.4179905056953430e-01 - 3.2689224243164062e+01 - <_> - 2 - 60260 - -1.1958057418300316e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 443990 - 1.1958057418300316e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -6.3881119860105612e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1491260528564453e-01 - 4.8412844848632812e+02 - <_> - 1 - 2462 - 6.3881119860105612e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.3176739448681474e-03 - 3.6422818899154663e-01 - <_> - 2 - 121 - 6.3881119860105612e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2341 - -6.3881119860105612e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 880258 - -6.3881119860105612e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1464718580245972e-01 - 8.2806862890720367e-02 - <_> - 2 - 871475 - -6.3881119860105612e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8783 - 6.3881119860105612e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.6650544007345948e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1182425022125244e-01 - 1.4196281738281250e+03 - <_> - 1 - 607419 - 9.6650544007345948e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.3048462867736816e-01 - 3.3225021362304688e+02 - <_> - 2 - 40788 - -9.6650544007345948e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 566631 - 9.6650544007345948e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 275301 - -9.6650544007345948e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.9365923106670380e-01 - 1.8742108345031738e-01 - <_> - 2 - 179502 - -9.6650544007345948e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 95799 - 9.6650544007345948e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.5842179055065591e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1347541809082031e-01 - 4.6553656458854675e-02 - <_> - 1 - 541029 - -9.5842179055065591e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.8547986745834351e-01 - 2.1850000000000000e+02 - <_> - 2 - 516230 - -9.5842179055065591e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 24799 - 9.5842179055065591e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 341691 - 9.5842179055065591e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.3846234977245331e-01 - 4.1255149841308594e+00 - <_> - 2 - 311353 - 9.5842179055065591e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 30338 - -9.5842179055065591e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 9.8390354061838686e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1343107223510742e-01 - 7.6292663574218750e+01 - <_> - 1 - 679164 - 9.8390354061838686e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.9866673946380615e-01 - 2.4469029903411865e-01 - <_> - 2 - 540847 - 9.8390354061838686e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 138317 - -9.8390354061838686e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 203556 - -9.8390354061838686e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.2591102719306946e-01 - 4.2645394802093506e-02 - <_> - 2 - 14080 - 9.8390354061838686e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 189476 - -9.8390354061838686e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1642999119343789e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1199835538864136e-01 - 5.6772323608398438e+01 - <_> - 1 - 692799 - -1.1642999119343789e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.6462584137916565e-01 - 2.3033350706100464e-01 - <_> - 2 - 502937 - -1.1642999119343789e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 189862 - 1.1642999119343789e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 189921 - 1.1642999119343789e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.6444881260395050e-01 - 1.5871065139770508e+01 - <_> - 2 - 167686 - 1.1642999119343789e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 22235 - -1.1642999119343789e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0780331574833411e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1321882009506226e-01 - 1.1083757400512695e+01 - <_> - 1 - 302791 - 1.0780331574833411e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 1.9705520570278168e-01 - 1.5000002384185791e+00 - <_> - 2 - 243728 - 1.0780331574833411e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59063 - -1.0780331574833411e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 579929 - -1.0780331574833411e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.2986953854560852e-01 - 1.5000002384185791e+00 - <_> - 2 - 462754 - -1.0780331574833411e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 117175 - 1.0780331574833411e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1146339728890808e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1113092899322510e-01 - 2.1796804666519165e-01 - <_> - 1 - 619026 - 1.1146339728890808e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.4683200716972351e-01 - 3.1105361938476562e+01 - <_> - 2 - 187806 - -1.1146339728890808e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 431220 - 1.1146339728890808e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 263694 - -1.1146339728890808e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.8100503087043762e-01 - 1.1480089187622070e+01 - <_> - 2 - 203577 - -1.1146339728890808e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 60117 - 1.1146339728890808e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2156583882395897e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2060949802398682e-01 - 3.9127510070800781e+01 - <_> - 1 - 484708 - 1.2156583882395897e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.1059408783912659e-01 - 6.0722084045410156e+01 - <_> - 2 - 351307 - 1.2156583882395897e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 133401 - -1.2156583882395897e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 398012 - -1.2156583882395897e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.1975999474525452e-01 - 9.0933103561401367e+00 - <_> - 2 - 76341 - 1.2156583882395897e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 321671 - -1.2156583882395897e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3607432731232069e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1743149757385254e-01 - 5.8760490417480469e+01 - <_> - 1 - 452036 - -1.3607432731232069e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.9705420136451721e-01 - 1.6450000000000000e+02 - <_> - 2 - 382144 - -1.3607432731232069e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 69892 - 1.3607432731232069e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 430684 - 1.3607432731232069e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.3691199719905853e-01 - 1.5460202097892761e-01 - <_> - 2 - 37389 - -1.3607432731232069e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 393295 - 1.3607432731232069e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2939426290034436e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1484709978103638e-01 - 5.6885215759277344e+01 - <_> - 1 - 420110 - 1.2939426290034436e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 2.7478271722793579e-01 - 2.1961538696289062e+02 - <_> - 2 - 338210 - 1.2939426290034436e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 81900 - -1.2939426290034436e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 462610 - -1.2939426290034436e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.5752079486846924e-01 - 6.0146926879882812e+01 - <_> - 2 - 60774 - 1.2939426290034436e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 401836 - -1.2939426290034436e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3788163218417238e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1868355274200439e-01 - 5.6418434143066406e+01 - <_> - 1 - 332384 - -1.3788163218417238e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.0634472370147705e-01 - 4.3539289385080338e-02 - <_> - 2 - 265088 - -1.3788163218417238e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 67296 - 1.3788163218417238e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 550336 - 1.3788163218417238e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.2807117700576782e-01 - 3.0332836151123047e+01 - <_> - 2 - 125563 - -1.3788163218417238e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 424773 - 1.3788163218417238e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2288828615627784e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2186959981918335e-01 - 4.4005065917968750e+01 - <_> - 1 - 211822 - 1.2288828615627784e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.7441318929195404e-01 - 3.4386754035949707e-02 - <_> - 2 - 176098 - 1.2288828615627784e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 35724 - -1.2288828615627784e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 670898 - -1.2288828615627784e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.5627028346061707e-01 - 2.7465816587209702e-02 - <_> - 2 - 74544 - 1.2288828615627784e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 596354 - -1.2288828615627784e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.2373330185222492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1379692554473877e-01 - 4.3858562469482422e+01 - <_> - 1 - 546821 - -1.2373330185222492e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.6456314325332642e-01 - 2.7500000000000000e+01 - <_> - 2 - 493613 - -1.2373330185222492e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 53208 - 1.2373330185222492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 335899 - 1.2373330185222492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.6633077859878540e-01 - 2.5000000000000000e+00 - <_> - 2 - 261115 - 1.2373330185222492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 74784 - -1.2373330185222492e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 8.5837123603982324e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1273876428604126e-01 - 1.4212055664062500e+03 - <_> - 1 - 608036 - 8.5837123603982324e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.2932490110397339e-01 - 7.5288684082031250e+02 - <_> - 2 - 67677 - -8.5837123603982324e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 540359 - 8.5837123603982324e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 274684 - -8.5837123603982324e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 1.9212122261524200e-01 - 3.9687362670898438e+01 - <_> - 2 - 269277 - -8.5837123603982324e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5407 - 8.5837123603982324e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -9.1399751621124209e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1287460327148438e-01 - 3.6527776718139648e+00 - <_> - 1 - 651124 - -9.1399751621124209e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.4884500503540039e-01 - 1.4822725296020508e+01 - <_> - 2 - 638581 - -9.1399751621124209e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12543 - 9.1399751621124209e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 231596 - 9.1399751621124209e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.7398902773857117e-01 - 1.1858220398426056e-01 - <_> - 2 - 13413 - -9.1399751621124209e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 218183 - 9.1399751621124209e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3267822326464726e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1505303382873535e-01 - 1.3376935958862305e+01 - <_> - 1 - 725181 - 1.3267822326464726e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.9233598113059998e-01 - 7.6486793518066406e+01 - <_> - 2 - 597607 - 1.3267822326464726e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 127574 - -1.3267822326464726e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 157539 - -1.3267822326464726e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.4078499376773834e-01 - 1.5540316700935364e-01 - <_> - 2 - 40589 - 1.3267822326464726e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 116950 - -1.3267822326464726e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0811608353915657e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1618635654449463e-01 - 7.6270622253417969e+01 - <_> - 1 - 684355 - -1.0811608353915657e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.8952401280403137e-01 - 5.2729541778564453e+01 - <_> - 2 - 592063 - -1.0811608353915657e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 92292 - 1.0811608353915657e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 198365 - 1.0811608353915657e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.3747870922088623e-01 - 5.2044520378112793e+00 - <_> - 2 - 167105 - 1.0811608353915657e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31260 - -1.0811608353915657e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.3715338460647430e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1717972755432129e-01 - 4.8905628204345703e+01 - <_> - 1 - 600969 - 1.3715338460647430e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.1890875101089478e-01 - 9.6019530296325684e-01 - <_> - 2 - 70559 - -1.3715338460647430e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 530410 - 1.3715338460647430e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 281751 - -1.3715338460647430e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.1532593667507172e-01 - 9.7361612319946289e-01 - <_> - 2 - 212081 - -1.3715338460647430e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 69670 - 1.3715338460647430e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.3254547985093981e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2258175611495972e-01 - 3.5027778148651123e+00 - <_> - 1 - 632167 - -1.3254547985093981e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.4998008608818054e-01 - 1.4569084167480469e+01 - <_> - 2 - 619962 - -1.3254547985093981e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12205 - 1.3254547985093981e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 250553 - 1.3254547985093981e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.8310786783695221e-01 - 1.1858220398426056e-01 - <_> - 2 - 14570 - -1.3254547985093981e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 235983 - 1.3254547985093981e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 8.4454813764816852e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1257169246673584e-01 - 1.4574616699218750e+03 - <_> - 1 - 619868 - 8.4454813764816852e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.3629661798477173e-01 - 9.6474754333496094e+01 - <_> - 2 - 582652 - 8.4454813764816852e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 37216 - -8.4454813764816852e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 262852 - -8.4454813764816852e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 1.8480452895164490e-01 - 1.0024337768554688e+00 - <_> - 2 - 9444 - 8.4454813764816852e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 253408 - -8.4454813764816852e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0493421493039290e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1370531320571899e-01 - 7.9077102661132812e+01 - <_> - 1 - 585326 - -1.0493421493039290e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.0146947503089905e-01 - 5.0000000000000000e-01 - <_> - 2 - 108706 - 1.0493421493039290e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 476620 - -1.0493421493039290e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 297394 - 1.0493421493039290e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.2474002838134766e-01 - 5.0000000000000000e-01 - <_> - 2 - 29156 - -1.0493421493039290e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 268238 - 1.0493421493039290e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.1406296476672259e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1054799556732178e-01 - 3.7489395141601562e+00 - <_> - 1 - 691547 - -1.1406296476672259e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.6840578913688660e-01 - 6.9189804077148438e+01 - <_> - 2 - 653491 - -1.1406296476672259e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 38056 - 1.1406296476672259e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 191173 - 1.1406296476672259e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.6007909178733826e-01 - 7.0338334960937500e+03 - <_> - 2 - 147485 - 1.1406296476672259e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43688 - -1.1406296476672259e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.1464179753103011e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 5.1817089319229126e-01 - 9.0308670043945312e+01 - <_> - 1 - 634530 - 1.1464179753103011e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.6807507276535034e-01 - 1.6281558990478516e+01 - <_> - 2 - 574806 - 1.1464179753103011e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59724 - -1.1464179753103011e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 248190 - -1.1464179753103011e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 1.6055402159690857e-01 - 1.8537008666992188e+02 - <_> - 2 - 34270 - 1.1464179753103011e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 213920 - -1.1464179753103011e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0583016574305738e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1528364419937134e-01 - 5.8760490417480469e+01 - <_> - 1 - 452036 - -1.0583016574305738e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.9451945424079895e-01 - 1.6950000000000000e+02 - <_> - 2 - 403075 - -1.0583016574305738e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 48961 - 1.0583016574305738e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 430684 - 1.0583016574305738e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.3191341757774353e-01 - 3.6025100708007812e+01 - <_> - 2 - 125667 - -1.0583016574305738e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 305017 - 1.0583016574305738e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0786114121936161e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1500076055526733e-01 - 5.5453094482421875e+01 - <_> - 1 - 394915 - 1.0786114121936161e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.6535040140151978e-01 - 3.7104926109313965e+00 - <_> - 2 - 291008 - 1.0786114121936161e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 103907 - -1.0786114121936161e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 487805 - -1.0786114121936161e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.6158878207206726e-01 - 4.8507652282714844e+01 - <_> - 2 - 27530 - 1.0786114121936161e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 460275 - -1.0786114121936161e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 8.3061166609416481e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.1316148042678833e-01 - 1.1750000000000000e+02 - <_> - 1 - 863242 - 8.3061166609416481e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.8929327726364136e-01 - 4.8402999877929688e+01 - <_> - 2 - 854756 - 8.3061166609416481e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8486 - -8.3061166609416481e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 19478 - -8.3061166609416481e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 3.1460084021091461e-02 - 3.8995925903320312e+01 - <_> - 2 - 16526 - -8.3061166609416481e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2952 - 8.3061166609416481e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.8300218715455306e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1393413543701172e-01 - 3.5577264404296875e+02 - <_> - 1 - 52695 - 8.8300218715455306e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 4.0122959762811661e-02 - 1.1057499885559082e+01 - <_> - 2 - 43547 - -8.8300218715455306e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9148 - 8.8300218715455306e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 830025 - -8.8300218715455306e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 4.8193776607513428e-01 - 3.6836692810058594e+01 - <_> - 2 - 24520 - 8.8300218715455306e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 805505 - -8.8300218715455306e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 8.2057540433533471e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1392060518264771e-01 - 7.2993118286132812e+01 - <_> - 1 - 69349 - -8.2057540433533471e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.1042398884892464e-02 - 6.8500000000000000e+01 - <_> - 2 - 6848 - 8.2057540433533471e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 62501 - -8.2057540433533471e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 813371 - 8.2057540433533471e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.8946046829223633e-01 - 7.1500000000000000e+01 - <_> - 2 - 2047 - -8.2057540433533471e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 811324 - 8.2057540433533471e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -8.0671486902307146e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1318776607513428e-01 - 3.5577264404296875e+02 - <_> - 1 - 52695 - 8.0671486902307146e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 3.8424737751483917e-02 - 1.1057499885559082e+01 - <_> - 2 - 43547 - -8.0671486902307146e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9148 - 8.0671486902307146e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 830025 - -8.0671486902307146e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.8173221945762634e-01 - 1.3090585708618164e+01 - <_> - 2 - 658289 - -8.0671486902307146e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 171736 - 8.0671486902307146e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0655615320169901e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1230406761169434e-01 - 1.2525152206420898e+01 - <_> - 1 - 681291 - 1.0655615320169901e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 3.4392166137695312e-01 - 3.2598178863525391e+01 - <_> - 2 - 670749 - 1.0655615320169901e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 10542 - -1.0655615320169901e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 201429 - -1.0655615320169901e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.8269221484661102e-01 - 4.8998966217041016e+01 - <_> - 2 - 105268 - 1.0655615320169901e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 96161 - -1.0655615320169901e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2948516575761299e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1818317174911499e-01 - 5.9467582702636719e+01 - <_> - 1 - 726898 - -1.2948516575761299e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.8248854875564575e-01 - 1.3105225563049316e-01 - <_> - 2 - 68516 - 1.2948516575761299e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 658382 - -1.2948516575761299e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 155822 - 1.2948516575761299e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.4983759820461273e-01 - 2.0996171236038208e-01 - <_> - 2 - 122180 - 1.2948516575761299e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 33642 - -1.2948516575761299e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 1.0700409275441951e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1549249887466431e-01 - 3.5372036132812500e+03 - <_> - 1 - 601219 - 1.0700409275441951e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 3.5022792220115662e-01 - 7.5344039916992188e+01 - <_> - 2 - 541756 - 1.0700409275441951e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59463 - -1.0700409275441951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 281501 - -1.0700409275441951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.7649760842323303e-01 - 4.9647010862827301e-02 - <_> - 2 - 228343 - -1.0700409275441951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 53158 - 1.0700409275441951e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.0474920535281734e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1142102479934692e-01 - 4.6025096893310547e+01 - <_> - 1 - 573955 - -1.0474920535281734e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.9203769564628601e-01 - 1.0725485839843750e+03 - <_> - 2 - 172723 - 1.0474920535281734e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 401232 - -1.0474920535281734e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 308765 - 1.0474920535281734e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.3412567377090454e-01 - 9.8169006347656250e+02 - <_> - 2 - 11367 - -1.0474920535281734e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 297398 - 1.0474920535281734e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -1.2487974796495811e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1834857463836670e-01 - 1.0657727050781250e+03 - <_> - 1 - 413180 - 1.2487974796495811e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.4111241102218628e-01 - 2.3733158409595490e-01 - <_> - 2 - 132397 - 1.2487974796495811e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 280783 - -1.2487974796495811e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 469540 - -1.2487974796495811e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.9006701707839966e-01 - 2.7945224761962891e+01 - <_> - 2 - 458156 - -1.2487974796495811e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 11384 - 1.2487974796495811e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - 7.6957062285353720e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1330202817916870e-01 - 3.7387070059776306e-01 - <_> - 1 - 772364 - 7.6957062285353720e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.0283682346343994e-01 - 1.6083779335021973e+00 - <_> - 2 - 72592 - -7.6957062285353720e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 699772 - 7.6957062285353720e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 110356 - -7.6957062285353720e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 1.6392931342124939e-02 - 5.2843241691589355e+00 - <_> - 2 - 72743 - -7.6957062285353720e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 37613 - 7.6957062285353720e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 882720 - -7.5763809755519787e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1155614852905273e-01 - 3.5136163330078125e+02 - <_> - 1 - 50792 - 7.5763809755519787e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.6862608045339584e-02 - 3.7840070724487305e+00 - <_> - 2 - 41774 - -7.5763809755519787e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9018 - 7.5763809755519787e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 831928 - -7.5763809755519787e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.8206928372383118e-01 - 2.5892502069473267e-01 - <_> - 2 - 490194 - -7.5763809755519787e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 341734 - 7.5763809755519787e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_SVM.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_SVM.xml deleted file mode 100644 index 0cf657b..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_SVM.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - - ONE_CLASS - LINEAR - 5.9999999999999998e-01 - 2.2204460492503131e-16 - 100 - 23 - 23 - 1 - 1 - - <_> - 2.83671656e+05 7.78090750e+06 2.06722500e+04 4.50947109e+04 - 5.79335150e+06 5300250. 19302716. 5.71475812e+05 1567863. - 1.29049977e+05 7.88329650e+06 6738720. 509354208. 4.15090725e+06 - 115733672. 4.59749316e+03 6.03456750e+06 4511485. 28201040. - 7.34039550e+06 4.96453250e+06 4.85331211e+04 3.32311797e+04 - - <_> - 1 - 4.7882008646924377e+11 - - 1. - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_boost.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_boost.xml deleted file mode 100644 index 537f8a7..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_boost.xml +++ /dev/null @@ -1,32240 +0,0 @@ - - - - DiscreteAdaboost - 3 - 350 - 1. - 1 - 23 - 23 - 23 - 0 - - 0 - 10 - 2 - 10 - 0 - - 1 - 2 -
d
- - 1. 1.
- - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - 1 - 1 -
i
- - 2
- - 1 - 2 -
i
- - -1 1
- - <_> - -1 - - <_> - 0 - 939949 - 2.0226456578642606e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 8.5827314853668213e-01 - 3.9443078041076660e+00 - <_> - 1 - 794668 - 2.0226456578642606e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 7.5376427173614502e-01 - 3.6514926147460938e+02 - <_> - 2 - 763423 - 2.0226456578642606e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31245 - -2.0226456578642606e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 145281 - -2.0226456578642606e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.2939000129699707e-01 - 3.5909347534179688e+01 - <_> - 2 - 24368 - 2.0226456578642606e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 120913 - -2.0226456578642606e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4251557105945021e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 7.0150953531265259e-01 - 4.1433166503906250e+01 - <_> - 1 - 532558 - 1.4251557105945021e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.5428416728973389e-01 - 2.9447725296020508e+01 - <_> - 2 - 30378 - -1.4251557105945021e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 502180 - 1.4251557105945021e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 407391 - -1.4251557105945021e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.5186123251914978e-01 - 5.4849568754434586e-02 - <_> - 2 - 283768 - -1.4251557105945021e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 123623 - 1.4251557105945021e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.3144894913893577e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 6.1336368322372437e-01 - 6.0232398986816406e+01 - <_> - 1 - 756347 - 7.3144894913893577e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.7422397136688232e-01 - 3.5520416259765625e+01 - <_> - 2 - 73329 - -7.3144894913893577e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 683018 - 7.3144894913893577e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 183602 - -7.3144894913893577e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.0089919865131378e-01 - 1.4493373036384583e-01 - <_> - 2 - 22549 - 7.3144894913893577e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 161053 - -7.3144894913893577e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.1345010705023710e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 6.2904185056686401e-01 - 1.7058036804199219e+01 - <_> - 1 - 748219 - -9.1345010705023710e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.3601086139678955e-01 - 4.9688607454299927e-02 - <_> - 2 - 471299 - -9.1345010705023710e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 276920 - 9.1345010705023710e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 191730 - 9.1345010705023710e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 1.7769478261470795e-01 - 9.6141662597656250e+01 - <_> - 2 - 179433 - 9.1345010705023710e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12297 - -9.1345010705023710e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 6.6897989435159666e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 6.0922271013259888e-01 - 2.3336733877658844e-01 - <_> - 1 - 723866 - 6.6897989435159666e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.8616808652877808e-01 - 8.0151657104492188e+01 - <_> - 2 - 706971 - 6.6897989435159666e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 16895 - -6.6897989435159666e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 216083 - -6.6897989435159666e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.7510661482810974e-01 - 3.4879661560058594e+01 - <_> - 2 - 124023 - 6.6897989435159666e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 92060 - -6.6897989435159666e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.1466370849675187e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 6.0272848606109619e-01 - 2.2764015942811966e-02 - <_> - 1 - 227734 - 7.1466370849675187e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 1.3911896944046021e-01 - 6.2335443496704102e+00 - <_> - 2 - 975 - -7.1466370849675187e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 226759 - 7.1466370849675187e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 712215 - -7.1466370849675187e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.3231185674667358e-01 - 9.7940850257873535e-01 - <_> - 2 - 479991 - -7.1466370849675187e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 232224 - 7.1466370849675187e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 3.2188265261940818e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.6916862726211548e-01 - 8.5121059417724609e+00 - <_> - 1 - 892143 - 3.2188265261940818e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.4261237382888794e-01 - 1.4850000000000000e+02 - <_> - 2 - 875578 - 3.2188265261940818e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 16565 - -3.2188265261940818e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 47806 - -3.2188265261940818e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.7170626223087311e-02 - 1.3600394129753113e-01 - <_> - 2 - 7914 - 3.2188265261940818e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 39892 - -3.2188265261940818e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -5.2607187711191294e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.8416277170181274e-01 - 3.6514898681640625e+02 - <_> - 1 - 852826 - -5.2607187711191294e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1332676410675049e-01 - 3.2797714233398438e+01 - <_> - 2 - 362160 - 5.2607187711191294e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 490666 - -5.2607187711191294e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 87123 - 5.2607187711191294e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 1.1523968726396561e-01 - 2.4305555820465088e+00 - <_> - 2 - 5475 - -5.2607187711191294e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 81648 - 5.2607187711191294e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 4.9275705130157632e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.9013003110885620e-01 - 1.0480075836181641e+01 - <_> - 1 - 364232 - -4.9275705130157632e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.4214275181293488e-01 - 1.2566794433593750e+03 - <_> - 2 - 148544 - 4.9275705130157632e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 215688 - -4.9275705130157632e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 575717 - 4.9275705130157632e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.7861296534538269e-01 - 7.6526794433593750e+02 - <_> - 2 - 30911 - -4.9275705130157632e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 544806 - 4.9275705130157632e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -5.5180950907530646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.7895511388778687e-01 - 4.6034218750000000e+03 - <_> - 1 - 766677 - -5.5180950907530646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.4710671901702881e-01 - 6.5082028508186340e-02 - <_> - 2 - 607342 - -5.5180950907530646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 159335 - 5.5180950907530646e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 173272 - 5.5180950907530646e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.8744860589504242e-01 - 2.3180081844329834e+00 - <_> - 2 - 45689 - -5.5180950907530646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 127583 - 5.5180950907530646e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 3.2315952813058696e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.6513071060180664e-01 - 8.3768737792968750e+01 - <_> - 1 - 928622 - 3.2315952813058696e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.6154537200927734e-01 - 2.2150000000000000e+02 - <_> - 2 - 784747 - 3.2315952813058696e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 143875 - -3.2315952813058696e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 11327 - -3.2315952813058696e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 1.8548663705587387e-02 - 1.3647222518920898e+01 - <_> - 2 - 10964 - -3.2315952813058696e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 363 - 3.2315952813058696e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -4.6178414175178550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.5798757076263428e-01 - 3.9368353784084320e-02 - <_> - 1 - 495592 - -4.6178414175178550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.0544465184211731e-01 - 2.0206743240356445e+01 - <_> - 2 - 346458 - -4.6178414175178550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 149134 - 4.6178414175178550e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 444357 - 4.6178414175178550e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.0799270272254944e-01 - 5.6933601379394531e+01 - <_> - 2 - 86886 - -4.6178414175178550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 357471 - 4.6178414175178550e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 4.7894053863509611e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.7199865579605103e-01 - 5.0703388214111328e+01 - <_> - 1 - 652142 - 4.7894053863509611e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.6117437481880188e-01 - 3.2997757196426392e-01 - <_> - 2 - 643555 - 4.7894053863509611e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8587 - -4.7894053863509611e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 287807 - -4.7894053863509611e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.5632330775260925e-01 - 3.9445405006408691e+00 - <_> - 2 - 194010 - -4.7894053863509611e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 93797 - 4.7894053863509611e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -3.8366454704631753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.6729328632354736e-01 - 7.3379653930664062e+01 - <_> - 1 - 794147 - -3.8366454704631753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.7110486030578613e-01 - 2.2246288299560547e+01 - <_> - 2 - 678744 - -3.8366454704631753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 115403 - 3.8366454704631753e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 145802 - 3.8366454704631753e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.2365179508924484e-01 - 8.4130043029785156e+01 - <_> - 2 - 135373 - 3.8366454704631753e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 10429 - -3.8366454704631753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 3.4246713448914645e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.5762475728988647e-01 - 6.7228729248046875e+01 - <_> - 1 - 825059 - 3.4246713448914645e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.7398668527603149e-01 - 2.3507771492004395e+00 - <_> - 2 - 7116 - -3.4246713448914645e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 817943 - 3.4246713448914645e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 114890 - -3.4246713448914645e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.1080300807952881e-01 - 6.7799672851562500e+03 - <_> - 2 - 105727 - -3.4246713448914645e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9163 - 3.4246713448914645e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -3.7130784746187950e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.5459982156753540e-01 - 7.5639572143554688e+01 - <_> - 1 - 816853 - -3.7130784746187950e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.9659723043441772e-01 - 1.0443525695800781e+02 - <_> - 2 - 155095 - 3.7130784746187950e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 661758 - -3.7130784746187950e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 123096 - 3.7130784746187950e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 9.5177732408046722e-02 - 1.0122606754302979e+00 - <_> - 2 - 12893 - -3.7130784746187950e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 110203 - 3.7130784746187950e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.9916910272209457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.5125379562377930e-01 - 6.4852972412109375e+02 - <_> - 1 - 108056 - -2.9916910272209457e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 9.5989674329757690e-02 - 3.3307434082031250e+02 - <_> - 2 - 11464 - 2.9916910272209457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 96592 - -2.9916910272209457e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 831893 - 2.9916910272209457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.7824969887733459e-01 - 7.0398056030273438e+01 - <_> - 2 - 748928 - 2.9916910272209457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 82965 - -2.9916910272209457e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -3.4348224147131201e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.4840040206909180e-01 - 3.6522686767578125e+02 - <_> - 1 - 852886 - -3.4348224147131201e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 4.9598258733749390e-01 - 3.9441034793853760e+00 - <_> - 2 - 763452 - -3.4348224147131201e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 89434 - 3.4348224147131201e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 87063 - 3.4348224147131201e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 8.9053578674793243e-02 - 8.3949218750000000e+01 - <_> - 2 - 33343 - -3.4348224147131201e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 53720 - 3.4348224147131201e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.8541880095404548e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.5140954256057739e-01 - 5.1020393371582031e+00 - <_> - 1 - 844055 - 2.8541880095404548e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.7138437628746033e-01 - 1.0122606754302979e+00 - <_> - 2 - 106688 - -2.8541880095404548e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 737367 - 2.8541880095404548e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 95894 - -2.8541880095404548e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 9.9489822983741760e-02 - 3.5927295684814453e+01 - <_> - 2 - 11146 - -2.8541880095404548e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 84748 - 2.8541880095404548e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.8084537709206142e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.4304260015487671e-01 - 1.0930314636230469e+02 - <_> - 1 - 856315 - -2.8084537709206142e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3605252504348755e-01 - 2.7683769226074219e+01 - <_> - 2 - 246638 - 2.8084537709206142e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 609677 - -2.8084537709206142e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 83634 - 2.8084537709206142e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 3.3700939267873764e-02 - 9.5415611267089844e+01 - <_> - 2 - 730 - -2.8084537709206142e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 82904 - 2.8084537709206142e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 3.1152356942667836e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.5724275112152100e-01 - 4.1268825531005859e+01 - <_> - 1 - 110956 - -3.1152356942667836e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 1.3897058367729187e-01 - 1.0122606754302979e+00 - <_> - 2 - 26558 - 3.1152356942667836e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 84398 - -3.1152356942667836e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 828993 - 3.1152356942667836e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 4.3828651309013367e-01 - 1.8369375228881836e+01 - <_> - 2 - 37030 - -3.1152356942667836e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 791963 - 3.1152356942667836e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.5573182698729352e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.4431748390197754e-01 - 9.1470205783843994e-01 - <_> - 1 - 67119 - 2.5573182698729352e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.4935822933912277e-02 - 1.1680285644531250e+02 - <_> - 2 - 66951 - 2.5573182698729352e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 168 - -2.5573182698729352e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 872830 - -2.5573182698729352e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.3865098953247070e-01 - 1.1615284729003906e+02 - <_> - 2 - 797862 - -2.5573182698729352e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 74968 - 2.5573182698729352e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 3.0793041085087958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.5126595497131348e-01 - 5.6819297790527344e+01 - <_> - 1 - 718531 - 3.0793041085087958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.0906214714050293e-01 - 1.8980936050415039e+01 - <_> - 2 - 691749 - 3.0793041085087958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 26782 - -3.0793041085087958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 221418 - -3.0793041085087958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.6731788218021393e-01 - 1.4008244872093201e-01 - <_> - 2 - 32632 - 3.0793041085087958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 188786 - -3.0793041085087958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -3.4947794838469348e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.5449664592742920e-01 - 3.3788502216339111e-02 - <_> - 1 - 414113 - -3.4947794838469348e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.2785657048225403e-01 - 9.5386415719985962e-01 - <_> - 2 - 202553 - 3.4947794838469348e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 211560 - -3.4947794838469348e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 525836 - 3.4947794838469348e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.5863438844680786e-01 - 4.9185619354248047e+00 - <_> - 2 - 470182 - 3.4947794838469348e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 55654 - -3.4947794838469348e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -3.4190774290229742e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.5470842123031616e-01 - 2.8553571777343750e+03 - <_> - 1 - 617064 - -3.4190774290229742e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.2767680287361145e-01 - 1.0375065612792969e+02 - <_> - 2 - 134043 - 3.4190774290229742e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 483021 - -3.4190774290229742e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 322885 - 3.4190774290229742e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.5697705149650574e-01 - 2.0250000000000000e+02 - <_> - 2 - 250118 - 3.4190774290229742e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 72767 - -3.4190774290229742e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -3.1139308996722537e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.3828305006027222e-01 - 6.1068405151367188e+01 - <_> - 1 - 478604 - -3.1139308996722537e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.5351324081420898e-01 - 1.3953120231628418e+01 - <_> - 2 - 331104 - -3.1139308996722537e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 147500 - 3.1139308996722537e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 461345 - 3.1139308996722537e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.2371201217174530e-01 - 9.6479928493499756e-01 - <_> - 2 - 144612 - -3.1139308996722537e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 316733 - 3.1139308996722537e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 3.3246089252838135e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.4506015777587891e-01 - 4.7473869323730469e+01 - <_> - 1 - 615556 - 3.3246089252838135e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.4663394093513489e-01 - 1.9650000000000000e+02 - <_> - 2 - 502296 - 3.3246089252838135e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 113260 - -3.3246089252838135e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 324393 - -3.3246089252838135e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 2.3572407662868500e-01 - 7.1488784790039062e+01 - <_> - 2 - 160167 - -3.3246089252838135e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 164226 - 3.3246089252838135e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.0086876060077061e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.3347140550613403e-01 - 3.6453039550781250e+02 - <_> - 1 - 852357 - -2.0086876060077061e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.6865060925483704e-01 - 9.5974552631378174e-01 - <_> - 2 - 222683 - 2.0086876060077061e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 629674 - -2.0086876060077061e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 87592 - 2.0086876060077061e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 8.1398412585258484e-02 - 2.5950000000000000e+02 - <_> - 2 - 81163 - 2.0086876060077061e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6429 - -2.0086876060077061e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.9953262198223746e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.4157960414886475e-01 - 6.5227142333984375e+01 - <_> - 1 - 806044 - 2.9953262198223746e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.6954536437988281e-01 - 2.2762157022953033e-02 - <_> - 2 - 224771 - -2.9953262198223746e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 581273 - 2.9953262198223746e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 133905 - -2.9953262198223746e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 1.0478290915489197e-01 - 9.7655277252197266e+00 - <_> - 2 - 93787 - -2.9953262198223746e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 40118 - 2.9953262198223746e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.4759011298447267e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.2982527017593384e-01 - 4.6672798156738281e+01 - <_> - 1 - 439798 - 2.4759011298447267e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.1273081004619598e-01 - 1.5047150850296021e-01 - <_> - 2 - 101101 - -2.4759011298447267e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 338697 - 2.4759011298447267e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 500151 - -2.4759011298447267e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.4885242581367493e-01 - 9.1137039661407471e-01 - <_> - 2 - 32850 - 2.4759011298447267e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 467301 - -2.4759011298447267e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.9671761826596560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.5251622200012207e-01 - 4.1433364868164062e+01 - <_> - 1 - 532563 - -2.9671761826596560e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.5726059079170227e-01 - 1.9505516052246094e+01 - <_> - 2 - 64605 - 2.9671761826596560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 467958 - -2.9671761826596560e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 407386 - 2.9671761826596560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.1637933850288391e-01 - 6.5512292480468750e+02 - <_> - 2 - 5633 - -2.9671761826596560e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 401753 - 2.9671761826596560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 3.9510793074347778e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3196793794631958e-01 - 3.8175857543945312e+01 - <_> - 1 - 480695 - 3.9510793074347778e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 2.1420837938785553e-01 - 6.0202746582031250e+02 - <_> - 2 - 89107 - -3.9510793074347778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 391588 - 3.9510793074347778e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 459254 - -3.9510793074347778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.8330334424972534e-01 - 3.9462192058563232e+00 - <_> - 2 - 343589 - -3.9510793074347778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 115665 - 3.9510793074347778e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.8982653401679226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.4727774858474731e-01 - 3.2548737525939941e+00 - <_> - 1 - 735526 - 2.8982653401679226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.5362020134925842e-01 - 6.4791790771484375e+02 - <_> - 2 - 31272 - -2.8982653401679226e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 704254 - 2.8982653401679226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 204423 - -2.8982653401679226e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.1833348274230957e-01 - 1.1850000000000000e+02 - <_> - 2 - 23558 - 2.8982653401679226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 180865 - -2.8982653401679226e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.4330133871242746e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.3345614671707153e-01 - 1.6454334259033203e+01 - <_> - 1 - 485942 - -2.4330133871242746e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.1326773762702942e-01 - 2.9456104278564453e+01 - <_> - 2 - 43132 - 2.4330133871242746e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 442810 - -2.4330133871242746e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 454007 - 2.4330133871242746e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.4725930392742157e-01 - 7.2192153930664062e+01 - <_> - 2 - 387984 - 2.4330133871242746e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 66023 - -2.4330133871242746e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.5618613697765935e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2949368953704834e-01 - 2.5537453613281250e+03 - <_> - 1 - 574641 - -2.5618613697765935e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.8042337298393250e-01 - 1.1056037902832031e+01 - <_> - 2 - 273173 - 2.5618613697765935e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 301468 - -2.5618613697765935e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 365308 - 2.5618613697765935e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.8327515721321106e-01 - 7.6469225883483887e+00 - <_> - 2 - 321097 - 2.5618613697765935e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 44211 - -2.5618613697765935e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.5676963887145088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.4714041948318481e-01 - 7.9059158325195312e+01 - <_> - 1 - 843043 - -2.5676963887145088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.0245326757431030e-01 - 9.1810214519500732e-01 - <_> - 2 - 71570 - 2.5676963887145088e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 771473 - -2.5676963887145088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 96906 - 2.5676963887145088e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 6.1388768255710602e-02 - 7.8031951904296875e+01 - <_> - 2 - 66989 - 2.5676963887145088e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 29917 - -2.5676963887145088e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.1600088535735781e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.4289114475250244e-01 - 3.6072143554687500e+02 - <_> - 1 - 16348 - -2.1600088535735781e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 4.0688611567020416e-02 - 3.7838444709777832e+00 - <_> - 2 - 13358 - 2.1600088535735781e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2990 - -2.1600088535735781e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923601 - 2.1600088535735781e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1310265064239502e-01 - 5.5818759918212891e+01 - <_> - 2 - 691437 - 2.1600088535735781e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 232164 - -2.1600088535735781e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.5964254171437146e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.4372173547744751e-01 - 2.2417547607421875e+02 - <_> - 1 - 610116 - -2.5964254171437146e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.1904256343841553e-01 - 9.6664911508560181e-01 - <_> - 2 - 206359 - 2.5964254171437146e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 403757 - -2.5964254171437146e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 329833 - 2.5964254171437146e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.4550586938858032e-01 - 3.6004463195800781e+01 - <_> - 2 - 8482 - -2.5964254171437146e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 321351 - 2.5964254171437146e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.4695705612579522e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.3235769271850586e-01 - 3.4919373691082001e-02 - <_> - 1 - 430223 - -2.4695705612579522e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.2390600442886353e-01 - 4.5000000000000000e+00 - <_> - 2 - 296292 - -2.4695705612579522e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 133931 - 2.4695705612579522e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 509726 - 2.4695705612579522e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.3752139508724213e-01 - 2.0504289865493774e-01 - <_> - 2 - 112178 - -2.4695705612579522e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 397548 - 2.4695705612579522e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.9196653330769035e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.4162555932998657e-01 - 1.7450000000000000e+02 - <_> - 1 - 481764 - 2.9196653330769035e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.6287128925323486e-01 - 5.3934939205646515e-02 - <_> - 2 - 425260 - 2.9196653330769035e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 56504 - -2.9196653330769035e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 458185 - -2.9196653330769035e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.0960621535778046e-01 - 6.6537246108055115e-02 - <_> - 2 - 325798 - -2.9196653330769035e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 132387 - 2.9196653330769035e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.2953812396051076e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.4063379764556885e-01 - 6.0077247619628906e+01 - <_> - 1 - 464839 - -2.2953812396051076e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.3281683921813965e-01 - 1.5374826431274414e+01 - <_> - 2 - 334877 - -2.2953812396051076e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 129962 - 2.2953812396051076e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 475110 - 2.2953812396051076e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.2431707382202148e-01 - 5.3167217254638672e+01 - <_> - 2 - 26575 - -2.2953812396051076e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 448535 - 2.2953812396051076e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.4363841170508058e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.3623861074447632e-01 - 2.9583332538604736e+00 - <_> - 1 - 441193 - 2.4363841170508058e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.8272402286529541e-01 - 1.7500000000000000e+01 - <_> - 2 - 381614 - 2.4363841170508058e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59579 - -2.4363841170508058e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 498756 - -2.4363841170508058e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.7788606286048889e-01 - 9.0812724828720093e-01 - <_> - 2 - 55786 - 2.4363841170508058e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 442970 - -2.4363841170508058e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.5497291522360283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.3967899084091187e-01 - 1.7085388183593750e+03 - <_> - 1 - 423647 - -2.5497291522360283e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.7904870212078094e-01 - 6.8777061998844147e-02 - <_> - 2 - 299309 - -2.5497291522360283e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 124338 - 2.5497291522360283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 516302 - 2.5497291522360283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.8435143232345581e-01 - 1.2912152099609375e+02 - <_> - 2 - 86740 - -2.5497291522360283e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 429562 - 2.5497291522360283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.1670166953156289e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.2932906150817871e-01 - 1.9639355468750000e+02 - <_> - 1 - 545226 - 2.1670166953156289e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.6945090293884277e-01 - 8.5003405761718750e+02 - <_> - 2 - 92561 - -2.1670166953156289e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 452665 - 2.1670166953156289e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 394723 - -2.1670166953156289e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.8451350331306458e-01 - 4.6782046556472778e-02 - <_> - 2 - 245317 - -2.1670166953156289e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 149406 - 2.1670166953156289e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.9867698478456372e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2459204196929932e-01 - 4.6659034729003906e+01 - <_> - 1 - 215529 - -1.9867698478456372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 1.9870659708976746e-01 - 9.9500000000000000e+01 - <_> - 2 - 26084 - 1.9867698478456372e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 189445 - -1.9867698478456372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 724420 - 1.9867698478456372e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.5079991817474365e-01 - 2.3951523437500000e+03 - <_> - 2 - 439875 - -1.9867698478456372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 284545 - 1.9867698478456372e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.7481371638895929e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.3700256347656250e-01 - 2.3375824093818665e-01 - <_> - 1 - 430255 - -2.7481371638895929e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.5576564073562622e-01 - 9.5551097393035889e-01 - <_> - 2 - 137163 - 2.7481371638895929e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 293092 - -2.7481371638895929e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 509694 - 2.7481371638895929e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.1250864863395691e-01 - 2.8410644531250000e+01 - <_> - 2 - 7338 - -2.7481371638895929e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 502356 - 2.7481371638895929e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.5990437379519565e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.4344940185546875e-01 - 1.9050000000000000e+02 - <_> - 1 - 603590 - 2.5990437379519565e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.2830768227577209e-01 - 6.8611109256744385e-01 - <_> - 2 - 15701 - -2.5990437379519565e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 587889 - 2.5990437379519565e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 336359 - -2.5990437379519565e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.3630510866641998e-01 - 6.5881326794624329e-02 - <_> - 2 - 216221 - -2.5990437379519565e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 120138 - 2.5990437379519565e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.8847031236620435e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2467125654220581e-01 - 2.2579105377197266e+01 - <_> - 1 - 124713 - 1.8847031236620435e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 7.7892690896987915e-02 - 2.6636819839477539e+00 - <_> - 2 - 9771 - -1.8847031236620435e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 114942 - 1.8847031236620435e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 815236 - -1.8847031236620435e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 4.6908590197563171e-01 - 6.0606872558593750e+01 - <_> - 2 - 486342 - -1.8847031236620435e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 328894 - 1.8847031236620435e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.0111406417186814e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3266733884811401e-01 - 5.8463272094726562e+01 - <_> - 1 - 737406 - 2.0111406417186814e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.0138897299766541e-01 - 1.3870344238281250e+03 - <_> - 2 - 287251 - -2.0111406417186814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 450155 - 2.0111406417186814e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 202543 - -2.0111406417186814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 1.4872075617313385e-01 - 2.7583332061767578e+00 - <_> - 2 - 4139 - 2.0111406417186814e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 198404 - -2.0111406417186814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.2015334495825503e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2287429571151733e-01 - 2.3300969600677490e-01 - <_> - 1 - 722230 - -2.2015334495825503e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.0365332365036011e-01 - 6.7302330017089844e+01 - <_> - 2 - 425238 - -2.2015334495825503e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 296992 - 2.2015334495825503e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 217719 - 2.2015334495825503e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.5116378664970398e-01 - 1.3221721649169922e+01 - <_> - 2 - 166666 - 2.2015334495825503e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 51053 - -2.2015334495825503e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.1334032322058097e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2919000387191772e-01 - 3.2303017578125000e+03 - <_> - 1 - 657889 - -2.1334032322058097e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.2652023434638977e-01 - 1.2837186813354492e+01 - <_> - 2 - 424008 - 2.1334032322058097e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 233881 - -2.1334032322058097e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 282060 - 2.1334032322058097e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.2661346197128296e-01 - 2.2450000000000000e+02 - <_> - 2 - 255130 - 2.1334032322058097e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 26930 - -2.1334032322058097e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.5941580031289818e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.3171366453170776e-01 - 9.6487987041473389e-01 - <_> - 1 - 320289 - 2.5941580031289818e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.5992198884487152e-01 - 8.3526809692382812e+01 - <_> - 2 - 190522 - 2.5941580031289818e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 129767 - -2.5941580031289818e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 619660 - -2.5941580031289818e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 4.0457069873809814e-01 - 8.9043960571289062e+00 - <_> - 2 - 472566 - -2.5941580031289818e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 147094 - 2.5941580031289818e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.1092436669383541e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.3618997335433960e-01 - 5.4829515516757965e-02 - <_> - 1 - 711654 - 2.1092436669383541e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.9277240037918091e-01 - 2.1750000000000000e+02 - <_> - 2 - 637159 - 2.1092436669383541e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 74495 - -2.1092436669383541e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 228295 - -2.1092436669383541e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 5.9764046221971512e-02 - 1.0166900634765625e+01 - <_> - 2 - 149832 - -2.1092436669383541e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 78463 - 2.1092436669383541e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.8112584311580154e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.2681690454483032e-01 - 3.6526010131835938e+02 - <_> - 1 - 852907 - -1.8112584311580154e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.6716079115867615e-01 - 2.8757917881011963e-01 - <_> - 2 - 532627 - -1.8112584311580154e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 320280 - 1.8112584311580154e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 87042 - 1.8112584311580154e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 7.7997267246246338e-02 - 3.9442620277404785e+00 - <_> - 2 - 31198 - 1.8112584311580154e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 55844 - -1.8112584311580154e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.9304498250030885e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.3133988380432129e-01 - 5.5652875900268555e+00 - <_> - 1 - 664441 - 1.9304498250030885e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.0501934289932251e-01 - 4.5049853324890137e+00 - <_> - 2 - 31587 - -1.9304498250030885e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 632854 - 1.9304498250030885e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 275508 - -1.9304498250030885e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.4309258759021759e-01 - 1.4984306693077087e-01 - <_> - 2 - 59141 - 1.9304498250030885e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 216367 - -1.9304498250030885e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.6541370481310153e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.2147001028060913e-01 - 5.5000000000000000e+00 - <_> - 1 - 709653 - -1.6541370481310153e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.0957421064376831e-01 - 2.2454063415527344e+01 - <_> - 2 - 101247 - 1.6541370481310153e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 608406 - -1.6541370481310153e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 230296 - 1.6541370481310153e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 1.3168516755104065e-01 - 2.5083332061767578e+00 - <_> - 2 - 65751 - -1.6541370481310153e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 164545 - 1.6541370481310153e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.6352544659856905e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2623450756072998e-01 - 6.9722223281860352e-01 - <_> - 1 - 17201 - -1.6352544659856905e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.6550253629684448e-02 - 3.7851691246032715e+00 - <_> - 2 - 10891 - 1.6352544659856905e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6310 - -1.6352544659856905e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 922748 - 1.6352544659856905e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.0424027442932129e-01 - 6.3734143066406250e+02 - <_> - 2 - 27606 - -1.6352544659856905e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 895142 - 1.6352544659856905e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.7509322078942291e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.3266936540603638e-01 - 9.2378002405166626e-01 - <_> - 1 - 85577 - 1.7509322078942291e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.4161590263247490e-02 - 1.7522876739501953e+01 - <_> - 2 - 83307 - 1.7509322078942291e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2270 - -1.7509322078942291e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 854372 - -1.7509322078942291e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1950019598007202e-01 - 9.5500000000000000e+01 - <_> - 2 - 21323 - 1.7509322078942291e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 833049 - -1.7509322078942291e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.5419982266619525e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.2714896202087402e-01 - 4.5119943618774414e+00 - <_> - 1 - 44490 - -1.5419982266619525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 7.2316348552703857e-02 - 3.0070510253906250e+03 - <_> - 2 - 30653 - -1.5419982266619525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 13837 - 1.5419982266619525e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 895459 - 1.5419982266619525e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 4.6615740656852722e-01 - 8.9500000000000000e+01 - <_> - 2 - 851929 - 1.5419982266619525e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43530 - -1.5419982266619525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.7927364907126292e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2412807941436768e-01 - 2.9443140029907227e+01 - <_> - 1 - 50293 - 1.7927364907126292e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 7.8219868242740631e-02 - 1.2250000000000000e+02 - <_> - 2 - 23436 - 1.7927364907126292e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 26857 - -1.7927364907126292e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 889656 - -1.7927364907126292e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.6647888422012329e-01 - 9.0769916772842407e-01 - <_> - 2 - 55021 - 1.7927364907126292e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 834635 - -1.7927364907126292e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.7005233492098371e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.3408318758010864e-01 - 1.1840625762939453e+01 - <_> - 1 - 35660 - -1.7005233492098371e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 6.4576245844364166e-02 - 3.3248651123046875e+02 - <_> - 2 - 11094 - 1.7005233492098371e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 24566 - -1.7005233492098371e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 904289 - 1.7005233492098371e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 4.7783467173576355e-01 - 8.0095996856689453e+00 - <_> - 2 - 854038 - 1.7005233492098371e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 50251 - -1.7005233492098371e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.5766479967775321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.2259242534637451e-01 - 3.6526010131835938e+02 - <_> - 1 - 852907 - -1.5766479967775321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.6372973918914795e-01 - 2.8347057342529297e+01 - <_> - 2 - 259588 - 1.5766479967775321e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 593319 - -1.5766479967775321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 87042 - 1.5766479967775321e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 7.5605012476444244e-02 - 4.2391284179687500e+03 - <_> - 2 - 56009 - 1.5766479967775321e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31033 - -1.5766479967775321e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.0345531067045106e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 5.3263503313064575e-01 - 7.6928968429565430e+00 - <_> - 1 - 153509 - -2.0345531067045106e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.3095039129257202e-01 - 9.7286391258239746e-01 - <_> - 2 - 96137 - 2.0345531067045106e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 57372 - -2.0345531067045106e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 786440 - 2.0345531067045106e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.1973870992660522e-01 - 6.5749998092651367e+00 - <_> - 2 - 665002 - 2.0345531067045106e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 121438 - -2.0345531067045106e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.7944784876261041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.3015738725662231e-01 - 9.4611334800720215e-01 - <_> - 1 - 172035 - 1.7944784876261041e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.6955724954605103e-02 - 2.5150000000000000e+02 - <_> - 2 - 159136 - 1.7944784876261041e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12899 - -1.7944784876261041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 767914 - -1.7944784876261041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.8778623342514038e-01 - 9.8044538497924805e-01 - <_> - 2 - 569009 - -1.7944784876261041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 198905 - 1.7944784876261041e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4321518446515757e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2754551172256470e-01 - 3.5654925537109375e+02 - <_> - 1 - 15966 - -1.4321518446515757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.8986083120107651e-02 - 3.7838444709777832e+00 - <_> - 2 - 13121 - 1.4321518446515757e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2845 - -1.4321518446515757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923983 - 1.4321518446515757e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.9675664305686951e-01 - 6.2573333740234375e+02 - <_> - 2 - 25632 - -1.4321518446515757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 898351 - 1.4321518446515757e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.4797855418420455e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.2789056301116943e-01 - 9.0533632040023804e-01 - <_> - 1 - 51102 - 1.4797855418420455e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.1116954497992992e-02 - 1.1682679748535156e+02 - <_> - 2 - 51001 - 1.4797855418420455e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 101 - -1.4797855418420455e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 888847 - -1.4797855418420455e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2581030130386353e-01 - 9.4659570312500000e+03 - <_> - 2 - 859000 - -1.4797855418420455e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 29847 - 1.4797855418420455e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.3808474979353280e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2476662397384644e-01 - 3.5654925537109375e+02 - <_> - 1 - 15966 - -1.3808474979353280e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.7089947611093521e-02 - 3.7838444709777832e+00 - <_> - 2 - 13121 - 1.3808474979353280e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2845 - -1.3808474979353280e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923983 - 1.3808474979353280e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.9737650156021118e-01 - 1.4504259824752808e-01 - <_> - 2 - 151920 - -1.3808474979353280e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 772063 - 1.3808474979353280e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.0996825118360757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2747422456741333e-01 - 3.3963266601562500e+03 - <_> - 1 - 672392 - -2.0996825118360757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.3741167187690735e-01 - 2.6613320922851562e+02 - <_> - 2 - 549459 - -2.0996825118360757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 122933 - 2.0996825118360757e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 267557 - 2.0996825118360757e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.1488840878009796e-01 - 1.0634729862213135e+00 - <_> - 2 - 64492 - -2.0996825118360757e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 203065 - 2.0996825118360757e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.2154819413187568e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.3745418787002563e-01 - 5.2733337402343750e+01 - <_> - 1 - 673737 - 2.2154819413187568e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.6880999803543091e-01 - 2.1995224952697754e+00 - <_> - 2 - 6441 - -2.2154819413187568e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 667296 - 2.2154819413187568e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 266212 - -2.2154819413187568e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.8635159730911255e-01 - 2.9811453819274902e-01 - <_> - 2 - 259380 - -2.2154819413187568e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6832 - 2.2154819413187568e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.0966977975364728e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.3306114673614502e-01 - 5.7893180847167969e+01 - <_> - 1 - 611818 - -2.0966977975364728e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.4385809302330017e-01 - 2.2045988082885742e+01 - <_> - 2 - 113768 - 2.0966977975364728e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 498050 - -2.0966977975364728e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 328131 - 2.0966977975364728e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 2.0836815237998962e-01 - 7.7264251708984375e+00 - <_> - 2 - 82712 - 2.0966977975364728e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 245419 - -2.0966977975364728e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.5014962810470026e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2724194526672363e-01 - 6.1111895751953125e+02 - <_> - 1 - 93252 - -1.5014962810470026e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 8.9419081807136536e-02 - 3.0537776947021484e+01 - <_> - 2 - 90161 - -1.5014962810470026e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3091 - 1.5014962810470026e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 846697 - 1.5014962810470026e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.4804796576499939e-01 - 1.1910075694322586e-01 - <_> - 2 - 45200 - -1.5014962810470026e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 801497 - 1.5014962810470026e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.8442427962608809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2161502838134766e-01 - 6.6441131591796875e+01 - <_> - 1 - 410908 - 1.8442427962608809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.5781446695327759e-01 - 9.7253596782684326e-01 - <_> - 2 - 202305 - 1.8442427962608809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 208603 - -1.8442427962608809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 529041 - -1.8442427962608809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.8816136717796326e-01 - 9.3519508838653564e-01 - <_> - 2 - 94933 - 1.8442427962608809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 434108 - -1.8442427962608809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.6971946250957687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.2426284551620483e-01 - 5.1751437187194824e+00 - <_> - 1 - 846526 - 1.6971946250957687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.5070362091064453e-01 - 1.8711274489760399e-02 - <_> - 2 - 169058 - -1.6971946250957687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 677468 - 1.6971946250957687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 93423 - -1.6971946250957687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 9.1624699532985687e-02 - 1.0563714981079102e+01 - <_> - 2 - 17329 - 1.6971946250957687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 76094 - -1.6971946250957687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.1727208506559886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2861344814300537e-01 - 2.9034343719482422e+01 - <_> - 1 - 276366 - 2.1727208506559886e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.1707996577024460e-01 - 3.9455897808074951e+00 - <_> - 2 - 261525 - 2.1727208506559886e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 14841 - -2.1727208506559886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 663583 - -2.1727208506559886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.3702536821365356e-01 - 3.5542198181152344e+01 - <_> - 2 - 15913 - 2.1727208506559886e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 647670 - -2.1727208506559886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.0684197195656920e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 5.3254318237304688e-01 - 7.8003687858581543e+00 - <_> - 1 - 157905 - -2.0684197195656920e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.2717868387699127e-01 - 2.9402675628662109e+01 - <_> - 2 - 29009 - 2.0684197195656920e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 128896 - -2.0684197195656920e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 782044 - 2.0684197195656920e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.2434823513031006e-01 - 5.9840869140625000e+02 - <_> - 2 - 16106 - -2.0684197195656920e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 765938 - 2.0684197195656920e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.4850088785745186e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.2558284997940063e-01 - 3.7336519360542297e-01 - <_> - 1 - 808198 - -1.4850088785745186e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.0735270977020264e-01 - 1.8960458755493164e+01 - <_> - 2 - 498995 - -1.4850088785745186e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 309203 - 1.4850088785745186e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 131751 - 1.4850088785745186e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 2.9704423621296883e-02 - 2.1447370529174805e+01 - <_> - 2 - 88473 - 1.4850088785745186e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43278 - -1.4850088785745186e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -2.7919352867831865e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2836149930953979e-01 - 3.7081085205078125e+01 - <_> - 1 - 461617 - 2.7919352867831865e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.8942002952098846e-01 - 4.3669052124023438e+00 - <_> - 2 - 441471 - 2.7919352867831865e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 20146 - -2.7919352867831865e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 478332 - -2.7919352867831865e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.7992846965789795e-01 - 3.9426755905151367e+00 - <_> - 2 - 360116 - -2.7919352867831865e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 118216 - 2.7919352867831865e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.6013950970421839e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2049374580383301e-01 - 6.3209609985351562e+01 - <_> - 1 - 786153 - 1.6013950970421839e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.3022614717483521e-01 - 1.2938302612304688e+02 - <_> - 2 - 270724 - -1.6013950970421839e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 515429 - 1.6013950970421839e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 153796 - -1.6013950970421839e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.0972338169813156e-01 - 2.3527720570564270e-01 - <_> - 2 - 122903 - -1.6013950970421839e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 30893 - 1.6013950970421839e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.7737709217655662e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2222496271133423e-01 - 9.5088806152343750e+01 - <_> - 1 - 681902 - -1.7737709217655662e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.9270564913749695e-01 - 9.6021175384521484e-01 - <_> - 2 - 179417 - 1.7737709217655662e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 502485 - -1.7737709217655662e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 258047 - 1.7737709217655662e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.5152271091938019e-01 - 9.6046769618988037e-01 - <_> - 2 - 79947 - -1.7737709217655662e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 178100 - 1.7737709217655662e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.1806181652265189e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.2576917409896851e-01 - 1.6350000000000000e+02 - <_> - 1 - 384399 - 2.1806181652265189e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 3.1430721282958984e-01 - 2.6305556297302246e+00 - <_> - 2 - 223480 - 2.1806181652265189e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 160919 - -2.1806181652265189e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 555550 - -2.1806181652265189e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.3999322950839996e-01 - 5.1471831054687500e+03 - <_> - 2 - 485049 - -2.1806181652265189e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 70501 - 2.1806181652265189e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.8521138212693108e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.2972471714019775e-01 - 5.2022891044616699e+00 - <_> - 1 - 847311 - 1.8521138212693108e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 4.5997777581214905e-01 - 3.1454174041748047e+01 - <_> - 2 - 9259 - -1.8521138212693108e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 838052 - 1.8521138212693108e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 92638 - -1.8521138212693108e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 8.6193166673183441e-02 - 1.0563714981079102e+01 - <_> - 2 - 17122 - 1.8521138212693108e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 75516 - -1.8521138212693108e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.4638727039226834e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.2762317657470703e-01 - 9.0940940380096436e-01 - <_> - 1 - 57887 - 1.4638727039226834e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.3349481858313084e-02 - 1.1680285644531250e+02 - <_> - 2 - 57746 - 1.4638727039226834e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 141 - -1.4638727039226834e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 882062 - -1.4638727039226834e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.2318209409713745e-01 - 8.8682480156421661e-02 - <_> - 2 - 9315 - 1.4638727039226834e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 872747 - -1.4638727039226834e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.2951140356447819e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2372467517852783e-01 - 1.0487126464843750e+03 - <_> - 1 - 330941 - -2.2951140356447819e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.1193994581699371e-01 - 3.5090618133544922e+01 - <_> - 2 - 46001 - 2.2951140356447819e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 284940 - -2.2951140356447819e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 609008 - 2.2951140356447819e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.4518736600875854e-01 - 5.1502326965332031e+01 - <_> - 2 - 73365 - -2.2951140356447819e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 535643 - 2.2951140356447819e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.8454164097795372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2249705791473389e-01 - 2.6138887405395508e+00 - <_> - 1 - 382622 - 1.8454164097795372e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 2.3500546813011169e-01 - 7.0575776100158691e+00 - <_> - 2 - 78502 - -1.8454164097795372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 304120 - 1.8454164097795372e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 557327 - -1.8454164097795372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.1099945306777954e-01 - 9.0427994728088379e-01 - <_> - 2 - 49346 - 1.8454164097795372e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 507981 - -1.8454164097795372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2892082822737772e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2249181270599365e-01 - 7.7215759277343750e+01 - <_> - 1 - 906033 - 1.2892082822737772e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.0599133968353271e-01 - 7.0277774333953857e-01 - <_> - 2 - 17903 - -1.2892082822737772e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 888130 - 1.2892082822737772e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 33916 - -1.2892082822737772e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 2.6194272562861443e-02 - 1.6466418457031250e+02 - <_> - 2 - 30502 - -1.2892082822737772e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3414 - 1.2892082822737772e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.6751074352116604e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2797514200210571e-01 - 2.4551137924194336e+01 - <_> - 1 - 168426 - 1.6751074352116604e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 8.3729520440101624e-02 - 6.9994598627090454e-01 - <_> - 2 - 1265 - -1.6751074352116604e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 167161 - 1.6751074352116604e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 771523 - -1.6751074352116604e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 4.5805051922798157e-01 - 9.7318449020385742e+00 - <_> - 2 - 662516 - -1.6751074352116604e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 109007 - 1.6751074352116604e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.5364987958804799e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2594870328903198e-01 - 1.1250000000000000e+00 - <_> - 1 - 82406 - -1.5364987958804799e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 6.8763710558414459e-02 - 3.7839164733886719e+00 - <_> - 2 - 20439 - 1.5364987958804799e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 61967 - -1.5364987958804799e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 857543 - 1.5364987958804799e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.6957337856292725e-01 - 1.0024337768554688e+00 - <_> - 2 - 45638 - -1.5364987958804799e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 811905 - 1.5364987958804799e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.2347176411268729e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2103263139724731e-01 - 8.8440839843750000e+03 - <_> - 1 - 899242 - -1.2347176411268729e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.9286371469497681e-01 - 3.7516337633132935e-01 - <_> - 2 - 770350 - -1.2347176411268729e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 128892 - 1.2347176411268729e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 40707 - 1.2347176411268729e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.7965066730976105e-02 - 9.5329582691192627e-03 - <_> - 2 - 4405 - -1.2347176411268729e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 36302 - 1.2347176411268729e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2215436688987001e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1995581388473511e-01 - 3.6072143554687500e+02 - <_> - 1 - 16348 - -1.2215436688987001e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.6753557622432709e-02 - 3.7838444709777832e+00 - <_> - 2 - 13358 - 1.2215436688987001e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2990 - -1.2215436688987001e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923601 - 1.2215436688987001e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.9374711513519287e-01 - 8.1318756103515625e+02 - <_> - 2 - 100202 - -1.2215436688987001e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 823399 - 1.2215436688987001e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0965676087322185e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.2008521556854248e-01 - 9.0427994728088379e-01 - <_> - 1 - 49346 - 1.0965676087322185e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 8.6742490530014038e-03 - 1.1682679748535156e+02 - <_> - 2 - 49259 - 1.0965676087322185e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 87 - -1.0965676087322185e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 890603 - -1.0965676087322185e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 5.1871252059936523e-01 - 1.1238658142089844e+02 - <_> - 2 - 822802 - -1.0965676087322185e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 67801 - 1.0965676087322185e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1474082076758624e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1933848857879639e-01 - 3.6072143554687500e+02 - <_> - 1 - 16348 - -1.1474082076758624e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 3.5487469285726547e-02 - 1.1056249618530273e+01 - <_> - 2 - 13705 - 1.1474082076758624e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2643 - -1.1474082076758624e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923601 - 1.1474082076758624e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.9316629767417908e-01 - 3.0309746093750000e+03 - <_> - 2 - 831922 - 1.1474082076758624e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 91679 - -1.1474082076758624e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.5055644268914459e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.2269959449768066e-01 - 9.4933962821960449e-01 - <_> - 1 - 188872 - 1.5055644268914459e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 6.0675408691167831e-02 - 8.8097274780273438e+01 - <_> - 2 - 168010 - 1.5055644268914459e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 20862 - -1.5055644268914459e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 751077 - -1.5055644268914459e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 4.7689276933670044e-01 - 9.1141080856323242e+00 - <_> - 2 - 605013 - -1.5055644268914459e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 146064 - 1.5055644268914459e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.8948479037314492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2623099088668823e-01 - 1.8762277832031250e+03 - <_> - 1 - 650544 - 1.8948479037314492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.2303678393363953e-01 - 1.9950000000000000e+02 - <_> - 2 - 517230 - 1.8948479037314492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 133314 - -1.8948479037314492e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 289405 - -1.8948479037314492e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.2419318407773972e-01 - 6.5745878906250000e+03 - <_> - 2 - 255626 - -1.8948479037314492e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 33779 - 1.8948479037314492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.7051521423440452e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.2642256021499634e-01 - 9.6477150917053223e-01 - <_> - 1 - 318578 - 1.7051521423440452e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.4038184285163879e-01 - 4.4807361602783203e+01 - <_> - 2 - 20941 - -1.7051521423440452e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 297637 - 1.7051521423440452e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 621371 - -1.7051521423440452e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.0214395523071289e-01 - 7.9086059570312500e+01 - <_> - 2 - 448865 - -1.7051521423440452e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 172506 - 1.7051521423440452e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.9134869356844561e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.2203911542892456e-01 - 1.6350000000000000e+02 - <_> - 1 - 384399 - 1.9134869356844561e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.0663001537322998e-01 - 2.9068121686577797e-02 - <_> - 2 - 196438 - -1.9134869356844561e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 187961 - 1.9134869356844561e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 555550 - -1.9134869356844561e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.4106173217296600e-01 - 3.6864425659179688e+01 - <_> - 2 - 185514 - 1.9134869356844561e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 370036 - -1.9134869356844561e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.3975961300400136e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2771258354187012e-01 - 7.8731391906738281e+01 - <_> - 1 - 912492 - 1.3975961300400136e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1268196105957031e-01 - 5.1758052825927734e+01 - <_> - 2 - 3859 - -1.3975961300400136e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 908633 - 1.3975961300400136e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 27457 - -1.3975961300400136e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.2201210260391235e-02 - 5.3361110687255859e+00 - <_> - 2 - 8345 - -1.3975961300400136e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 19112 - 1.3975961300400136e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.5625159603632241e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2351695299148560e-01 - 2.8027894973754883e+01 - <_> - 1 - 254285 - 1.5625159603632241e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.0120427608489990e-01 - 9.7941130399703979e-01 - <_> - 2 - 138018 - 1.5625159603632241e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 116267 - -1.5625159603632241e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 685664 - -1.5625159603632241e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.3777933716773987e-01 - 3.5512935638427734e+01 - <_> - 2 - 18106 - 1.5625159603632241e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 667558 - -1.5625159603632241e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.7669245099739400e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2532440423965454e-01 - 2.4805555343627930e+00 - <_> - 1 - 361118 - -1.7669245099739400e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.1014948189258575e-01 - 2.1776126861572266e+01 - <_> - 2 - 102634 - 1.7669245099739400e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 258484 - -1.7669245099739400e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 578831 - 1.7669245099739400e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.3390906453132629e-01 - 4.4582412719726562e+01 - <_> - 2 - 46516 - -1.7669245099739400e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 532315 - 1.7669245099739400e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.5995032971129580e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2373433113098145e-01 - 4.6447605133056641e+01 - <_> - 1 - 602267 - 1.5995032971129580e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 3.1128957867622375e-01 - 1.1250000000000000e+00 - <_> - 2 - 82406 - -1.5995032971129580e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 519861 - 1.5995032971129580e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 337682 - -1.5995032971129580e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.2861297428607941e-01 - 1.0000002384185791e+00 - <_> - 2 - 240038 - -1.5995032971129580e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 97644 - 1.5995032971129580e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.6020979207732525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2021014690399170e-01 - 6.0987548828125000e+01 - <_> - 1 - 325825 - 1.6020979207732525e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.0665526390075684e-01 - 1.6650000000000000e+02 - <_> - 2 - 250160 - 1.6020979207732525e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 75665 - -1.6020979207732525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 614124 - -1.6020979207732525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.3331173658370972e-01 - 1.9050000000000000e+02 - <_> - 2 - 299844 - -1.6020979207732525e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 314280 - 1.6020979207732525e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.6906426314122777e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.2427899837493896e-01 - 5.5260574340820312e+01 - <_> - 1 - 573951 - -1.6906426314122777e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.9843395948410034e-01 - 9.8145365715026855e-01 - <_> - 2 - 436014 - -1.6906426314122777e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 137937 - 1.6906426314122777e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 365998 - 1.6906426314122777e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.4373172223567963e-01 - 6.1781429290771484e+01 - <_> - 2 - 198147 - 1.6906426314122777e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 167851 - -1.6906426314122777e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.5463692631694240e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.2273249626159668e-01 - 2.2507629394531250e+00 - <_> - 1 - 491873 - 1.5463692631694240e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.9699823260307312e-01 - 1.8376313447952271e+00 - <_> - 2 - 160553 - -1.5463692631694240e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 331320 - 1.5463692631694240e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 448076 - -1.5463692631694240e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.4158415198326111e-01 - 9.4933933019638062e-01 - <_> - 2 - 107266 - 1.5463692631694240e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 340810 - -1.5463692631694240e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4687987693291313e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1975530385971069e-01 - 4.6527776718139648e+00 - <_> - 1 - 667876 - 1.4687987693291313e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.1499182581901550e-01 - 1.0481826066970825e+00 - <_> - 2 - 170028 - -1.4687987693291313e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 497848 - 1.4687987693291313e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 272073 - -1.4687987693291313e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.2166227400302887e-01 - 6.8635722656250000e+03 - <_> - 2 - 239670 - -1.4687987693291313e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 32403 - 1.4687987693291313e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.9384694115623977e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2034705877304077e-01 - 1.8602773547172546e-01 - <_> - 1 - 457925 - -1.9384694115623977e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.6380142569541931e-01 - 2.0797789096832275e-01 - <_> - 2 - 262074 - -1.9384694115623977e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 195851 - 1.9384694115623977e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 482024 - 1.9384694115623977e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.8450912237167358e-01 - 9.7941803932189941e-01 - <_> - 2 - 361010 - 1.9384694115623977e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 121014 - -1.9384694115623977e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 2.0283655343433965e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.3963851928710938e-01 - 3.1497065429687500e+03 - <_> - 1 - 650159 - -2.0283655343433965e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.2241764664649963e-01 - 1.6369568109512329e+00 - <_> - 2 - 121279 - 2.0283655343433965e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 528880 - -2.0283655343433965e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 289790 - 2.0283655343433965e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.2811833024024963e-01 - 1.0424986839294434e+01 - <_> - 2 - 263120 - 2.0283655343433965e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 26670 - -2.0283655343433965e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.8252863409197770e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1803791522979736e-01 - 1.5967869758605957e-01 - <_> - 1 - 257512 - -1.8252863409197770e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.6228677332401276e-01 - 1.3131362915039062e+01 - <_> - 2 - 144396 - -1.8252863409197770e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 113116 - 1.8252863409197770e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 682437 - 1.8252863409197770e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.8321912288665771e-01 - 1.3707794189453125e+01 - <_> - 2 - 501887 - 1.8252863409197770e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 180550 - -1.8252863409197770e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.8687429669279840e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1495540142059326e-01 - 3.4712675781250000e+03 - <_> - 1 - 678816 - -1.8687429669279840e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 3.4068343043327332e-01 - 6.6205863952636719e+01 - <_> - 2 - 519594 - -1.8687429669279840e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 159222 - 1.8687429669279840e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 261133 - 1.8687429669279840e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.0589964091777802e-01 - 5.8298278808593750e+01 - <_> - 2 - 183219 - 1.8687429669279840e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 77914 - -1.8687429669279840e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4547844282869651e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2396368980407715e-01 - 5.3576210021972656e+01 - <_> - 1 - 683091 - 1.4547844282869651e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 3.6376655101776123e-01 - 9.2831249237060547e+00 - <_> - 2 - 16688 - -1.4547844282869651e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 666403 - 1.4547844282869651e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 256858 - -1.4547844282869651e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 1.7253904044628143e-01 - 7.4679649353027344e+01 - <_> - 2 - 131084 - -1.4547844282869651e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 125774 - 1.4547844282869651e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.3680631128171461e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2054405212402344e-01 - 2.9034343719482422e+01 - <_> - 1 - 276366 - 1.3680631128171461e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.0614043474197388e-01 - 1.3064670562744141e-01 - <_> - 2 - 5663 - -1.3680631128171461e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 270703 - 1.3680631128171461e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 663583 - -1.3680631128171461e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.2800790071487427e-01 - 9.4342005252838135e-01 - <_> - 2 - 130928 - 1.3680631128171461e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 532655 - -1.3680631128171461e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.3166429193015805e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2033382654190063e-01 - 8.4185607910156250e+02 - <_> - 1 - 212441 - -1.3166429193015805e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.3941790163516998e-01 - 2.0698678970336914e+01 - <_> - 2 - 6459 - 1.3166429193015805e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 205982 - -1.3166429193015805e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 727508 - 1.3166429193015805e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 3.9345070719718933e-01 - 7.4694442749023438e+00 - <_> - 2 - 622385 - 1.3166429193015805e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 105123 - -1.3166429193015805e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.4080156439319078e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1611179113388062e-01 - 2.3027777671813965e+00 - <_> - 1 - 323748 - 1.4080156439319078e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 1.8306370079517365e-01 - 1.9970624923706055e+01 - <_> - 2 - 70717 - -1.4080156439319078e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 253031 - 1.4080156439319078e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 616201 - -1.4080156439319078e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.5207864642143250e-01 - 9.2954289913177490e-01 - <_> - 2 - 102196 - 1.4080156439319078e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 514005 - -1.4080156439319078e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4410234755613913e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.2150040864944458e-01 - 5.4829515516757965e-02 - <_> - 1 - 711654 - 1.4410234755613913e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.7860175371170044e-01 - 2.3050000000000000e+02 - <_> - 2 - 667351 - 1.4410234755613913e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 44303 - -1.4410234755613913e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 228295 - -1.4410234755613913e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.7361621409654617e-02 - 1.2693084716796875e+01 - <_> - 2 - 168338 - 1.4410234755613913e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59957 - -1.4410234755613913e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.9311494705331517e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2397710084915161e-01 - 1.4861379394531250e+03 - <_> - 1 - 508421 - -1.9311494705331517e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.4595966339111328e-01 - 2.9456104278564453e+01 - <_> - 2 - 42394 - 1.9311494705331517e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 466027 - -1.9311494705331517e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 431528 - 1.9311494705331517e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.0216959714889526e-01 - 2.0420529785156250e+03 - <_> - 2 - 188549 - -1.9311494705331517e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 242979 - 1.9311494705331517e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.8394724303274260e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2324557304382324e-01 - 1.9303430616855621e-01 - <_> - 1 - 505212 - -1.8394724303274260e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.8579345345497131e-01 - 2.2880256175994873e-01 - <_> - 2 - 318141 - -1.8394724303274260e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 187071 - 1.8394724303274260e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 434737 - 1.8394724303274260e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 2.6006412506103516e-01 - 8.8881176757812500e+02 - <_> - 2 - 147501 - -1.8394724303274260e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 287236 - 1.8394724303274260e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.7301285855085843e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 5.2127557992935181e-01 - 7.2154712677001953e+00 - <_> - 1 - 389038 - 1.7301285855085843e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.0573955178260803e-01 - 1.4413627982139587e-01 - <_> - 2 - 70106 - -1.7301285855085843e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 318932 - 1.7301285855085843e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 550911 - -1.7301285855085843e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.3740607500076294e-01 - 5.3200410156250000e+03 - <_> - 2 - 487696 - -1.7301285855085843e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 63215 - 1.7301285855085843e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0268447686943041e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1760959625244141e-01 - 3.6080279541015625e+02 - <_> - 1 - 16356 - -1.0268447686943041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.7909720093011856e-02 - 3.7838444709777832e+00 - <_> - 2 - 13361 - 1.0268447686943041e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2995 - -1.0268447686943041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923593 - 1.0268447686943041e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.8773887753486633e-01 - 8.9629760742187500e+01 - <_> - 2 - 920140 - 1.0268447686943041e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3453 - -1.0268447686943041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.3590493486121011e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2433151006698608e-01 - 1.1377232421875000e+04 - <_> - 1 - 920580 - -1.3590493486121011e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.0934237241744995e-01 - 1.2009352111816406e+02 - <_> - 2 - 848869 - -1.3590493486121011e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 71711 - 1.3590493486121011e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 19369 - 1.3590493486121011e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.4581661447882652e-02 - 1.0071091353893280e-02 - <_> - 2 - 2357 - -1.3590493486121011e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17012 - 1.3590493486121011e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2084423292202352e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2157765626907349e-01 - 3.6080279541015625e+02 - <_> - 1 - 16356 - -1.2084423292202352e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 3.7027254700660706e-02 - 1.1056249618530273e+01 - <_> - 2 - 13708 - 1.2084423292202352e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2648 - -1.2084423292202352e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923593 - 1.2084423292202352e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.9314710497856140e-01 - 5.9145904541015625e+02 - <_> - 2 - 17720 - -1.2084423292202352e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 905873 - 1.2084423292202352e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.5956087586991674e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2135306596755981e-01 - 6.2226818084716797e+01 - <_> - 1 - 494857 - -1.5956087586991674e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.5762667655944824e-01 - 5.0000000000000000e-01 - <_> - 2 - 76347 - 1.5956087586991674e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 418510 - -1.5956087586991674e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 445092 - 1.5956087586991674e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.8217913806438446e-01 - 4.7987724304199219e+01 - <_> - 2 - 206839 - 1.5956087586991674e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 238253 - -1.5956087586991674e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2693220142775646e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1857244968414307e-01 - 1.8103691339492798e+00 - <_> - 1 - 288895 - -1.2693220142775646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 9.4141520559787750e-02 - 1.0433176994323730e+01 - <_> - 2 - 118613 - 1.2693220142775646e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 170282 - -1.2693220142775646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 651054 - 1.2693220142775646e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.3754899501800537e-01 - 6.8305559158325195e+00 - <_> - 2 - 551750 - 1.2693220142775646e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 99304 - -1.2693220142775646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.5389044359898910e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.2371990680694580e-01 - 6.1050945281982422e+01 - <_> - 1 - 652576 - -1.5389044359898910e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.6046865582466125e-01 - 7.8545087890625000e+03 - <_> - 2 - 617832 - -1.5389044359898910e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 34744 - 1.5389044359898910e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 287373 - 1.5389044359898910e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.7792819440364838e-01 - 3.1845269203186035e+00 - <_> - 2 - 181563 - 1.5389044359898910e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 105810 - -1.5389044359898910e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.3870080679042142e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1708382368087769e-01 - 1.0006089210510254e+00 - <_> - 1 - 19467 - -8.3870080679042142e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.6617852970957756e-02 - 8.1239227294921875e+02 - <_> - 2 - 2979 - 8.3870080679042142e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 16488 - -8.3870080679042142e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 920482 - 8.3870080679042142e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.9433737993240356e-01 - 7.9277893066406250e+01 - <_> - 2 - 895551 - 8.3870080679042142e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 24931 - -8.3870080679042142e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.2289714425892372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1786142587661743e-01 - 9.4596225023269653e-01 - <_> - 1 - 171277 - 1.2289714425892372e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.3401883691549301e-02 - 2.5250000000000000e+02 - <_> - 2 - 159026 - 1.2289714425892372e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12251 - -1.2289714425892372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 768672 - -1.2289714425892372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.7728380560874939e-01 - 2.9338821411132812e+01 - <_> - 2 - 251096 - 1.2289714425892372e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 517576 - -1.2289714425892372e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4276985606023079e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2062207460403442e-01 - 4.0246734619140625e+01 - <_> - 1 - 104202 - -1.4276985606023079e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.2249957025051117e-01 - 3.5908348083496094e+01 - <_> - 2 - 62844 - -1.4276985606023079e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 41358 - 1.4276985606023079e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 835747 - 1.4276985606023079e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.1313239932060242e-01 - 3.3934539556503296e-01 - <_> - 2 - 831645 - 1.4276985606023079e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4102 - -1.4276985606023079e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.4237213254602935e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2481311559677124e-01 - 3.0167543888092041e-01 - <_> - 1 - 905329 - -1.4237213254602935e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.0417786836624146e-01 - 9.0433025360107422e-01 - <_> - 2 - 49396 - 1.4237213254602935e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 855933 - -1.4237213254602935e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 34620 - 1.4237213254602935e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.1355135142803192e-02 - 5.7891723632812500e+02 - <_> - 2 - 7494 - -1.4237213254602935e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 27126 - 1.4237213254602935e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1258989768911457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2006214857101440e-01 - 1.2199418991804123e-01 - <_> - 1 - 49259 - -1.1258989768911457e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.1972102820873260e-02 - 1.4835440429687500e+04 - <_> - 2 - 40547 - -1.1258989768911457e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8712 - 1.1258989768911457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 890690 - 1.1258989768911457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.9614566564559937e-01 - 2.5550000000000000e+02 - <_> - 2 - 852773 - 1.1258989768911457e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 37917 - -1.1258989768911457e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.2920328520692814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1880699396133423e-01 - 1.0550000000000000e+02 - <_> - 1 - 39396 - 1.2920328520692814e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 7.9890109598636627e-02 - 2.4086183309555054e-01 - <_> - 2 - 31075 - 1.2920328520692814e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 8321 - -1.2920328520692814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 900553 - -1.2920328520692814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.5236584544181824e-01 - 2.5679212808609009e-01 - <_> - 2 - 478197 - -1.2920328520692814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 422356 - 1.2920328520692814e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4485991530951922e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1966798305511475e-01 - 2.3416333007812500e+03 - <_> - 1 - 542428 - -1.4485991530951922e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.4750557541847229e-01 - 2.1095451712608337e-01 - <_> - 2 - 68162 - 1.4485991530951922e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 474266 - -1.4485991530951922e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 397521 - 1.4485991530951922e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.8864619135856628e-01 - 4.9547256469726562e+01 - <_> - 2 - 131064 - -1.4485991530951922e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 266457 - 1.4485991530951922e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.3373559171674387e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.2121621370315552e-01 - 7.4969604492187500e+01 - <_> - 1 - 512906 - 1.3373559171674387e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 2.9279240965843201e-01 - 6.9994598627090454e-01 - <_> - 2 - 1263 - -1.3373559171674387e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 511643 - 1.3373559171674387e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 427043 - -1.3373559171674387e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.4059174954891205e-01 - 1.0375577926635742e+01 - <_> - 2 - 76775 - 1.3373559171674387e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 350268 - -1.3373559171674387e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.5164341257408578e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1784980297088623e-01 - 1.2489745140075684e+01 - <_> - 1 - 553861 - -1.5164341257408578e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 3.6461788415908813e-01 - 8.4897260665893555e+00 - <_> - 2 - 442286 - -1.5164341257408578e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 111575 - 1.5164341257408578e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 386088 - 1.5164341257408578e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.7322050034999847e-01 - 2.5436753034591675e-01 - <_> - 2 - 349558 - 1.5164341257408578e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 36530 - -1.5164341257408578e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.7327241134309210e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2641940116882324e-01 - 5.2638893127441406e+00 - <_> - 1 - 718053 - 1.7327241134309210e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.4531148672103882e-01 - 7.8703811645507812e+01 - <_> - 2 - 710143 - 1.7327241134309210e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7910 - -1.7327241134309210e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 221896 - -1.7327241134309210e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 9.7898557782173157e-02 - 8.1936653137207031e+01 - <_> - 2 - 193562 - -1.7327241134309210e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 28334 - 1.7327241134309210e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.3521308827747153e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.2151274681091309e-01 - 3.6544204711914062e+02 - <_> - 1 - 853045 - -1.3521308827747153e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.6195203065872192e-01 - 9.4341659545898438e-01 - <_> - 2 - 141548 - 1.3521308827747153e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 711497 - -1.3521308827747153e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 86904 - 1.3521308827747153e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 7.1799837052822113e-02 - 4.5963447265625000e+03 - <_> - 2 - 60409 - 1.3521308827747153e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 26495 - -1.3521308827747153e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0633895788839619e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1699042320251465e-01 - 7.4694442749023438e+00 - <_> - 1 - 834826 - 1.0633895788839619e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.8435679078102112e-01 - 8.9855255126953125e+01 - <_> - 2 - 833482 - 1.0633895788839619e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1344 - -1.0633895788839619e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 105123 - -1.0633895788839619e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.2202927172183990e-02 - 9.0213543176651001e-01 - <_> - 2 - 43885 - 1.0633895788839619e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 61238 - -1.0633895788839619e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.3425997128059089e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 5.1892316341400146e-01 - 9.6124658584594727e+00 - <_> - 1 - 821257 - -1.3425997128059089e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.0282526016235352e-01 - 9.5285648107528687e-01 - <_> - 2 - 190053 - 1.3425997128059089e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 631204 - -1.3425997128059089e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 118692 - 1.3425997128059089e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.0689425766468048e-02 - 1.4613538742065430e+01 - <_> - 2 - 96472 - 1.3425997128059089e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 22220 - -1.3425997128059089e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2084796930501578e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.2112770080566406e-01 - 6.3972225189208984e+00 - <_> - 1 - 790326 - 1.2084796930501578e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 4.7172585129737854e-01 - 1.8601902008056641e+01 - <_> - 2 - 777627 - 1.2084796930501578e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12699 - -1.2084796930501578e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 149623 - -1.2084796930501578e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.8449432253837585e-02 - 9.0213537216186523e-01 - <_> - 2 - 45641 - 1.2084796930501578e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 103982 - -1.2084796930501578e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.5604750785430646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1841139793395996e-01 - 9.8416671752929688e+00 - <_> - 1 - 271208 - 1.5604750785430646e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.6956667602062225e-01 - 2.3599453270435333e-01 - <_> - 2 - 129472 - 1.5604750785430646e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 141736 - -1.5604750785430646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 668741 - -1.5604750785430646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.6936622858047485e-01 - 3.6364509582519531e+01 - <_> - 2 - 198935 - 1.5604750785430646e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 469806 - -1.5604750785430646e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.6264306971587122e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2288913726806641e-01 - 1.0529658203125000e+03 - <_> - 1 - 333942 - -1.6264306971587122e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.1534834802150726e-01 - 9.6991807222366333e-01 - <_> - 2 - 31568 - 1.6264306971587122e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 302374 - -1.6264306971587122e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 606007 - 1.6264306971587122e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.2522302865982056e-01 - 5.3277183532714844e+01 - <_> - 2 - 80663 - -1.6264306971587122e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 525344 - 1.6264306971587122e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4208959999182846e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1991397142410278e-01 - 6.0987548828125000e+01 - <_> - 1 - 325825 - 1.4208959999182846e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 2.1276226639747620e-01 - 1.0893228530883789e+01 - <_> - 2 - 221101 - 1.4208959999182846e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 104724 - -1.4208959999182846e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 614124 - -1.4208959999182846e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.2270050048828125e-01 - 3.5419574737548828e+01 - <_> - 2 - 199875 - 1.4208959999182846e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 414249 - -1.4208959999182846e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4667734861774334e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.2283686399459839e-01 - 2.4676876068115234e+01 - <_> - 1 - 179104 - -1.4667734861774334e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.4106029272079468e-01 - 3.5950222015380859e+01 - <_> - 2 - 168435 - -1.4667734861774334e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 10669 - 1.4667734861774334e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 760845 - 1.4667734861774334e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.9554345607757568e-01 - 9.1226123046875000e+02 - <_> - 2 - 116213 - -1.4667734861774334e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 644632 - 1.4667734861774334e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.6234018299859460e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.2172207832336426e-01 - 2.3297649621963501e-01 - <_> - 1 - 722088 - -1.6234018299859460e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.9708167314529419e-01 - 3.4960517883300781e+01 - <_> - 2 - 291573 - 1.6234018299859460e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 430515 - -1.6234018299859460e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 217861 - 1.6234018299859460e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.4341448247432709e-01 - 1.8008959293365479e+00 - <_> - 2 - 101310 - -1.6234018299859460e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 116551 - 1.6234018299859460e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.8243375701631986e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2128857374191284e-01 - 4.1433364868164062e+01 - <_> - 1 - 532563 - -1.8243375701631986e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.5012785196304321e-01 - 3.1776718795299530e-02 - <_> - 2 - 251105 - -1.8243375701631986e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 281458 - 1.8243375701631986e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 407386 - 1.8243375701631986e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.9535451531410217e-01 - 9.1712036132812500e+00 - <_> - 2 - 31830 - -1.8243375701631986e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 375556 - 1.8243375701631986e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.4814374665074947e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2290439605712891e-01 - 4.1884216308593750e+01 - <_> - 1 - 143859 - 1.4814374665074947e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 1.5557292103767395e-01 - 5.0000000000000000e-01 - <_> - 2 - 21425 - -1.4814374665074947e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 122434 - 1.4814374665074947e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 796090 - -1.4814374665074947e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 3.8139542937278748e-01 - 3.5223068237304688e+01 - <_> - 2 - 136223 - 1.4814374665074947e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 659867 - -1.4814374665074947e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2247785767563799e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 5.1862311363220215e-01 - 5.9579987525939941e+00 - <_> - 1 - 115200 - -1.2247785767563799e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.3730363547801971e-01 - 4.0930297851562500e+03 - <_> - 2 - 84001 - -1.2247785767563799e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31199 - 1.2247785767563799e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 824749 - 1.2247785767563799e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 3.9327761530876160e-01 - 1.0054676532745361e+00 - <_> - 2 - 54240 - -1.2247785767563799e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 770509 - 1.2247785767563799e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.2486536270025078e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1463896036148071e-01 - 1.5817348957061768e+00 - <_> - 1 - 427806 - 1.2486536270025078e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 2.5202721357345581e-01 - 2.0350000000000000e+02 - <_> - 2 - 313843 - 1.2486536270025078e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 113963 - -1.2486536270025078e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 512143 - -1.2486536270025078e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.7914863824844360e-01 - 9.5588791370391846e-01 - <_> - 2 - 143698 - 1.2486536270025078e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 368445 - -1.2486536270025078e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0171605590349064e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1451677083969116e-01 - 2.1128759384155273e+01 - <_> - 1 - 95306 - 1.0171605590349064e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 6.0613598674535751e-02 - 5.1695160865783691e+00 - <_> - 2 - 92134 - 1.0171605590349064e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3172 - -1.0171605590349064e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 844643 - -1.0171605590349064e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 4.6479350328445435e-01 - 9.6125583648681641e+00 - <_> - 2 - 726022 - -1.0171605590349064e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 118621 - 1.0171605590349064e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.3231017257577496e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2201497554779053e-01 - 6.9068542480468750e+01 - <_> - 1 - 843967 - 1.3231017257577496e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.6740609407424927e-01 - 2.5941801071166992e+00 - <_> - 2 - 9338 - -1.3231017257577496e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 834629 - 1.3231017257577496e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 95982 - -1.3231017257577496e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 6.5623268485069275e-02 - 7.1581406250000000e+03 - <_> - 2 - 90445 - -1.3231017257577496e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5537 - 1.3231017257577496e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1356070758383358e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1551055908203125e-01 - 7.7179107666015625e+01 - <_> - 1 - 829492 - -1.1356070758383358e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.6923360228538513e-01 - 2.0744129180908203e+01 - <_> - 2 - 87817 - 1.1356070758383358e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 741675 - -1.1356070758383358e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 110457 - 1.1356070758383358e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.9126112610101700e-02 - 7.2500000000000000e+01 - <_> - 2 - 106361 - 1.1356070758383358e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4096 - -1.1356070758383358e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0221608748266943e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1641017198562622e-01 - 4.0583753585815430e+00 - <_> - 1 - 36568 - -1.0221608748266943e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 6.5990567207336426e-02 - 3.3244024658203125e+02 - <_> - 2 - 11030 - 1.0221608748266943e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 25538 - -1.0221608748266943e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 903381 - 1.0221608748266943e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 4.5954123139381409e-01 - 8.8500000000000000e+01 - <_> - 2 - 856331 - 1.0221608748266943e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 47050 - -1.0221608748266943e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.3467197639084488e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1407432556152344e-01 - 3.5572050781250000e+03 - <_> - 1 - 686172 - -1.3467197639084488e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.4165552258491516e-01 - 3.0067000538110733e-02 - <_> - 2 - 217207 - 1.3467197639084488e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 468965 - -1.3467197639084488e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 253777 - 1.3467197639084488e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.9196166098117828e-01 - 2.9605170711874962e-02 - <_> - 2 - 129310 - -1.3467197639084488e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 124467 - 1.3467197639084488e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.6468979172033224e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1478171348571777e-01 - 3.7368781864643097e-02 - <_> - 1 - 467331 - -1.6468979172033224e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.5363423824310303e-01 - 1.0444276809692383e+01 - <_> - 2 - 133007 - 1.6468979172033224e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 334324 - -1.6468979172033224e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 472618 - 1.6468979172033224e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.8744541704654694e-01 - 1.8723413348197937e-01 - <_> - 2 - 190752 - -1.6468979172033224e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 281866 - 1.6468979172033224e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.5859764780610144e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.2198135852813721e-01 - 1.0909145355224609e+01 - <_> - 1 - 400579 - -1.5859764780610144e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.6805472373962402e-01 - 2.6204687356948853e-01 - <_> - 2 - 331060 - -1.5859764780610144e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 69519 - 1.5859764780610144e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 539370 - 1.5859764780610144e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.7151179313659668e-01 - 2.2793330078125000e+03 - <_> - 2 - 283326 - -1.5859764780610144e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 256044 - 1.5859764780610144e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4508596285957101e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1847738027572632e-01 - 5.3962562561035156e+01 - <_> - 1 - 687292 - 1.4508596285957101e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 3.7063494324684143e-01 - 1.2416666746139526e+00 - <_> - 2 - 103570 - -1.4508596285957101e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 583722 - 1.4508596285957101e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 252657 - -1.4508596285957101e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 1.6557306051254272e-01 - 7.0749759674072266e+00 - <_> - 2 - 24861 - 1.4508596285957101e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 227796 - -1.4508596285957101e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.4180929097925615e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2262759208679199e-01 - 6.3897567749023438e+01 - <_> - 1 - 516984 - -1.4180929097925615e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.6749491095542908e-01 - 7.3569531440734863e+00 - <_> - 2 - 67561 - 1.4180929097925615e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 449423 - -1.4180929097925615e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 422965 - 1.4180929097925615e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 1.6789813339710236e-01 - 5.0000000000000000e-01 - <_> - 2 - 49139 - -1.4180929097925615e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 373826 - 1.4180929097925615e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2361131053733582e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1455682516098022e-01 - 1.3583366699218750e+03 - <_> - 1 - 324954 - -1.2361131053733582e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 1.2238895148038864e-01 - 1.9750000000000000e+02 - <_> - 2 - 213276 - -1.2361131053733582e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 111678 - 1.2361131053733582e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 614995 - 1.2361131053733582e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.0847459435462952e-01 - 2.0350000000000000e+02 - <_> - 2 - 467670 - 1.2361131053733582e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 147325 - -1.2361131053733582e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.4792039486798814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1682090759277344e-01 - 7.5420074462890625e+01 - <_> - 1 - 667538 - -1.4792039486798814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.4248783588409424e-01 - 2.4599638581275940e-01 - <_> - 2 - 543365 - -1.4792039486798814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 124173 - 1.4792039486798814e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 272411 - 1.4792039486798814e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 9.4424985349178314e-02 - 2.5103190541267395e-01 - <_> - 2 - 238322 - 1.4792039486798814e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 34089 - -1.4792039486798814e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.7277636957457184e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1722711324691772e-01 - 3.5654925537109375e+02 - <_> - 1 - 15966 - -9.7277636957457184e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.6826536059379578e-02 - 3.7838444709777832e+00 - <_> - 2 - 13121 - 9.7277636957457184e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2845 - -9.7277636957457184e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923983 - 9.7277636957457184e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 4.8747372627258301e-01 - 7.9001876831054688e+01 - <_> - 2 - 706141 - 9.7277636957457184e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 217842 - -9.7277636957457184e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.3144272861567094e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1552879810333252e-01 - 8.1480682373046875e+01 - <_> - 1 - 733147 - -1.3144272861567094e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.5887055993080139e-01 - 1.4556673049926758e+01 - <_> - 2 - 530667 - -1.3144272861567094e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 202480 - 1.3144272861567094e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 206802 - 1.3144272861567094e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 7.3942884802818298e-02 - 1.3909103393554688e+01 - <_> - 2 - 147067 - 1.3144272861567094e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59735 - -1.3144272861567094e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2226850761556346e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.2325713634490967e-01 - 3.5654925537109375e+02 - <_> - 1 - 15966 - -1.2226850761556346e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 3.6128357052803040e-02 - 3.8128118515014648e+00 - <_> - 2 - 13159 - 1.2226850761556346e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2807 - -1.2226850761556346e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923983 - 1.2226850761556346e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.9440073966979980e-01 - 5.9719335937500000e+02 - <_> - 2 - 19012 - -1.2226850761556346e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 904971 - 1.2226850761556346e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.8349571520979923e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1762080192565918e-01 - 1.1996318054199219e+02 - <_> - 1 - 868110 - -9.8349571520979923e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1397484540939331e-01 - 9.2957198619842529e-01 - <_> - 2 - 102230 - 9.8349571520979923e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 765880 - -9.8349571520979923e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 71839 - 9.8349571520979923e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 1.0592775419354439e-02 - 1.6350000000000000e+02 - <_> - 2 - 71762 - 9.8349571520979923e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 77 - -9.8349571520979923e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.3987604208494389e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1908642053604126e-01 - 4.7694444656372070e+00 - <_> - 1 - 676721 - 1.3987604208494389e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.2447528243064880e-01 - 1.9250000000000000e+02 - <_> - 2 - 486768 - 1.3987604208494389e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 189953 - -1.3987604208494389e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 263228 - -1.3987604208494389e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.1043683439493179e-01 - 6.8635722656250000e+03 - <_> - 2 - 231851 - -1.3987604208494389e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31377 - 1.3987604208494389e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1951059624486883e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.2114754915237427e-01 - 7.2257553100585938e+01 - <_> - 1 - 626697 - -1.1951059624486883e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.2197787761688232e-01 - 9.5526528358459473e-01 - <_> - 2 - 160084 - 1.1951059624486883e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 466613 - -1.1951059624486883e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 313252 - 1.1951059624486883e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 1.0786426812410355e-01 - 1.7019056701660156e+02 - <_> - 2 - 59640 - -1.1951059624486883e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 253612 - 1.1951059624486883e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4474907604567777e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1662522554397583e-01 - 1.1965702056884766e+01 - <_> - 1 - 500134 - 1.4474907604567777e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 3.3947950601577759e-01 - 5.9742970466613770e+00 - <_> - 2 - 76699 - -1.4474907604567777e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 423435 - 1.4474907604567777e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 439815 - -1.4474907604567777e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.9664470851421356e-01 - 1.5965084731578827e-01 - <_> - 2 - 75240 - 1.4474907604567777e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 364575 - -1.4474907604567777e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.3154829226993328e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1839280128479004e-01 - 4.5136322021484375e+01 - <_> - 1 - 586520 - 1.3154829226993328e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 2.9840365052223206e-01 - 6.9994598627090454e-01 - <_> - 2 - 1265 - -1.3154829226993328e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 585255 - 1.3154829226993328e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 353429 - -1.3154829226993328e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 2.3443609476089478e-01 - 9.0865497589111328e+00 - <_> - 2 - 209530 - -1.3154829226993328e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 143899 - 1.3154829226993328e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4100987143215393e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1774358749389648e-01 - 4.1433364868164062e+01 - <_> - 1 - 532563 - -1.4100987143215393e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.4812401831150055e-01 - 2.4100942611694336e+01 - <_> - 2 - 157586 - 1.4100987143215393e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 374977 - -1.4100987143215393e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 407386 - 1.4100987143215393e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.8707015514373779e-01 - 9.9245328903198242e+00 - <_> - 2 - 52587 - -1.4100987143215393e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 354799 - 1.4100987143215393e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.3452405231804127e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1579374074935913e-01 - 1.5109452605247498e-01 - <_> - 1 - 116461 - 1.3452405231804127e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.4258930087089539e-01 - 4.1246064007282257e-02 - <_> - 2 - 104559 - 1.3452405231804127e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 11902 - -1.3452405231804127e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 823488 - -1.3452405231804127e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.9099109172821045e-01 - 4.1604399681091309e-02 - <_> - 2 - 427581 - -1.3452405231804127e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 395907 - 1.3452405231804127e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.3037264899262682e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1930791139602661e-01 - 4.4155387878417969e+01 - <_> - 1 - 574521 - 1.3037264899262682e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 2.8360489010810852e-01 - 3.6072143554687500e+02 - <_> - 2 - 16348 - -1.3037264899262682e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 558173 - 1.3037264899262682e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 365428 - -1.3037264899262682e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 2.4894219636917114e-01 - 4.7503124237060547e+01 - <_> - 2 - 47521 - 1.3037264899262682e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 317907 - -1.3037264899262682e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.2324102120564007e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1704293489456177e-01 - 6.1890625000000000e+01 - <_> - 1 - 620875 - -1.2324102120564007e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.8868343830108643e-01 - 5.9500000000000000e+01 - <_> - 2 - 564940 - -1.2324102120564007e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 55935 - 1.2324102120564007e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 319074 - 1.2324102120564007e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 1.4208786189556122e-01 - 2.2295611572265625e+02 - <_> - 2 - 77580 - -1.2324102120564007e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 241494 - 1.2324102120564007e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2492877877159057e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1573222875595093e-01 - 4.4779390096664429e-02 - <_> - 1 - 594460 - 1.2492877877159057e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.1906371712684631e-01 - 5.2443717956542969e+01 - <_> - 2 - 431442 - 1.2492877877159057e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 163018 - -1.2492877877159057e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 345489 - -1.2492877877159057e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 1.1212792247533798e-01 - 1.0354104995727539e+01 - <_> - 2 - 272248 - -1.2492877877159057e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 73241 - 1.2492877877159057e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.4873554760957200e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.2108299732208252e-01 - 5.4158996582031250e+01 - <_> - 1 - 556828 - -1.4873554760957200e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.9137802124023438e-01 - 6.6263771057128906e+01 - <_> - 2 - 432326 - -1.4873554760957200e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 124502 - 1.4873554760957200e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 383121 - 1.4873554760957200e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.4573744833469391e-01 - 1.2470302734375000e+03 - <_> - 2 - 101857 - -1.4873554760957200e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 281264 - 1.4873554760957200e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2486195147091961e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1829880475997925e-01 - 7.0155502319335938e+01 - <_> - 1 - 452822 - 1.2486195147091961e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.6847642660140991e-01 - 1.1205345392227173e-01 - <_> - 2 - 17667 - -1.2486195147091961e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 435155 - 1.2486195147091961e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 487127 - -1.2486195147091961e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.6269856095314026e-01 - 1.0453325271606445e+01 - <_> - 2 - 106002 - 1.2486195147091961e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 381125 - -1.2486195147091961e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1091855283682912e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1336604356765747e-01 - 5.7762901306152344e+01 - <_> - 1 - 429016 - -1.1091855283682912e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.1351360678672791e-01 - 3.0278734862804413e-02 - <_> - 2 - 258854 - -1.1091855283682912e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 170162 - 1.1091855283682912e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 510933 - 1.1091855283682912e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.1418765187263489e-01 - 1.1039464950561523e+01 - <_> - 2 - 171790 - -1.1091855283682912e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 339143 - 1.1091855283682912e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1807985698104093e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1687234640121460e-01 - 4.0402381896972656e+01 - <_> - 1 - 126588 - 1.1807985698104093e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.4471909403800964e-01 - 2.5544345378875732e-01 - <_> - 2 - 90855 - 1.1807985698104093e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 35733 - -1.1807985698104093e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 813361 - -1.1807985698104093e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.8476660847663879e-01 - 2.6123559474945068e-01 - <_> - 2 - 433620 - -1.1807985698104093e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 379741 - 1.1807985698104093e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1395974899913031e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1238042116165161e-01 - 2.9089414062500000e+03 - <_> - 1 - 623774 - -1.1395974899913031e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.9501268267631531e-01 - 9.7030556201934814e-01 - <_> - 2 - 234921 - 1.1395974899913031e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 388853 - -1.1395974899913031e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 316175 - 1.1395974899913031e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.3344647884368896e-01 - 6.3548358917236328e+01 - <_> - 2 - 254415 - 1.1395974899913031e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 61760 - -1.1395974899913031e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0265049289042262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1278525590896606e-01 - 2.3064628601074219e+01 - <_> - 1 - 135102 - 1.0265049289042262e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 7.4561521410942078e-02 - 1.7552718520164490e-02 - <_> - 2 - 24419 - -1.0265049289042262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 110683 - 1.0265049289042262e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 804847 - -1.0265049289042262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.5107859373092651e-01 - 6.9332962036132812e+01 - <_> - 2 - 611078 - -1.0265049289042262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 193769 - 1.0265049289042262e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2384311121328677e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.2009183168411255e-01 - 6.4267272949218750e+01 - <_> - 1 - 796750 - 1.2384311121328677e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.3617489933967590e-01 - 9.7039550781250000e+02 - <_> - 2 - 158526 - -1.2384311121328677e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 638224 - 1.2384311121328677e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 143199 - -1.2384311121328677e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 9.4746373593807220e-02 - 1.6750000000000000e+02 - <_> - 2 - 19845 - 1.2384311121328677e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 123354 - -1.2384311121328677e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.5532466387272550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1680976152420044e-01 - 1.9740542769432068e-01 - <_> - 1 - 289800 - -1.5532466387272550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.7329006791114807e-01 - 1.3451740264892578e+01 - <_> - 2 - 169289 - -1.5532466387272550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 120511 - 1.5532466387272550e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 650149 - 1.5532466387272550e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.6546320319175720e-01 - 1.3502442359924316e+01 - <_> - 2 - 473309 - 1.5532466387272550e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 176840 - -1.5532466387272550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1368624350818753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1478189229965210e-01 - 3.5411977539062500e+03 - <_> - 1 - 684785 - -1.1368624350818753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.4158617258071899e-01 - 9.1186157226562500e+01 - <_> - 2 - 477467 - -1.1368624350818753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 207318 - 1.1368624350818753e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 255164 - 1.1368624350818753e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.8680480122566223e-01 - 4.0912404656410217e-02 - <_> - 2 - 192822 - 1.1368624350818753e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 62342 - -1.1368624350818753e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.3728200346062053e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1521629095077515e-01 - 2.0072413635253906e+02 - <_> - 1 - 554701 - 1.3728200346062053e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.7609831094741821e-01 - 4.6104877471923828e+01 - <_> - 2 - 171849 - -1.3728200346062053e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 382852 - 1.3728200346062053e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 385248 - -1.3728200346062053e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 2.5816839933395386e-01 - 6.6138110160827637e+00 - <_> - 2 - 40460 - 1.3728200346062053e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 344788 - -1.3728200346062053e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0611612458645657e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1484346389770508e-01 - 4.6146593093872070e+00 - <_> - 1 - 827512 - 1.0611612458645657e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.2756190896034241e-01 - 1.2464975565671921e-01 - <_> - 2 - 46489 - -1.0611612458645657e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 781023 - 1.0611612458645657e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 112437 - -1.0611612458645657e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 9.8942257463932037e-02 - 2.5423841476440430e+01 - <_> - 2 - 3281 - 1.0611612458645657e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 109156 - -1.0611612458645657e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1894718739014246e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1923310756683350e-01 - 2.7271972656250000e+01 - <_> - 1 - 236965 - 1.1894718739014246e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 9.9588334560394287e-02 - 1.4395534992218018e-01 - <_> - 2 - 6948 - -1.1894718739014246e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 230017 - 1.1894718739014246e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 702984 - -1.1894718739014246e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.3011343479156494e-01 - 9.3014585971832275e-01 - <_> - 2 - 92184 - 1.1894718739014246e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 610800 - -1.1894718739014246e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2385256588843900e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1746886968612671e-01 - 2.0555319786071777e+00 - <_> - 1 - 437293 - -1.2385256588843900e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.4870209991931915e-01 - 3.1608514487743378e-02 - <_> - 2 - 163992 - 1.2385256588843900e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 273301 - -1.2385256588843900e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 502656 - 1.2385256588843900e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 3.8222151994705200e-01 - 7.4361114501953125e+00 - <_> - 2 - 435779 - 1.2385256588843900e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 66877 - -1.2385256588843900e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1881115590063121e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1958966255187988e-01 - 6.0846992492675781e+01 - <_> - 1 - 650125 - -1.1881115590063121e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.6181405186653137e-01 - 1.7267564535140991e+00 - <_> - 2 - 168602 - 1.1881115590063121e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 481523 - -1.1881115590063121e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 289824 - 1.1881115590063121e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.6785383224487305e-01 - 9.8166351318359375e+01 - <_> - 2 - 132726 - 1.1881115590063121e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 157098 - -1.1881115590063121e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0867374934912219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1105690002441406e-01 - 2.7210922911763191e-02 - <_> - 1 - 301164 - -1.0867374934912219e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.8637789785861969e-01 - 5.1214477539062500e+01 - <_> - 2 - 189626 - -1.0867374934912219e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 111538 - 1.0867374934912219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 638785 - 1.0867374934912219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.4076383709907532e-01 - 1.0000002384185791e+00 - <_> - 2 - 490984 - 1.0867374934912219e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 147801 - -1.0867374934912219e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1372033780795540e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1558148860931396e-01 - 9.9168682098388672e+00 - <_> - 1 - 274797 - 1.1372033780795540e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.7489457130432129e-01 - 5.3135444641113281e+01 - <_> - 2 - 148743 - 1.1372033780795540e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 126054 - -1.1372033780795540e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 665152 - -1.1372033780795540e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.5350492596626282e-01 - 9.7479581832885742e-01 - <_> - 2 - 374649 - -1.1372033780795540e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 290503 - 1.1372033780795540e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2368963188103065e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1900184154510498e-01 - 9.9439648437500000e+02 - <_> - 1 - 296518 - -1.2368963188103065e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.9117398560047150e-01 - 1.9879512488842010e-01 - <_> - 2 - 50830 - 1.2368963188103065e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 245688 - -1.2368963188103065e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 643431 - 1.2368963188103065e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.3970904350280762e-01 - 3.7326507568359375e+01 - <_> - 2 - 32531 - -1.2368963188103065e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 610900 - 1.2368963188103065e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0241542372264607e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1623177528381348e-01 - 3.6025115966796875e+02 - <_> - 1 - 848885 - -1.0241542372264607e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.5200258493423462e-01 - 1.4941427612304688e+02 - <_> - 2 - 375054 - 1.0241542372264607e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 473831 - -1.0241542372264607e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 91064 - 1.0241542372264607e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 7.3578923940658569e-02 - 7.0114410400390625e+01 - <_> - 2 - 45792 - 1.0241542372264607e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 45272 - -1.0241542372264607e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.2411295974804377e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1660376787185669e-01 - 2.4158200073242188e+02 - <_> - 1 - 643579 - -1.2411295974804377e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.4869930148124695e-01 - 1.7450000000000000e+02 - <_> - 2 - 406721 - -1.2411295974804377e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 236858 - 1.2411295974804377e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 296370 - 1.2411295974804377e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 1.8228915333747864e-01 - 2.4527778625488281e+00 - <_> - 2 - 14448 - -1.2411295974804377e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 281922 - 1.2411295974804377e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1564170880364812e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1835513114929199e-01 - 4.2798751831054688e+01 - <_> - 1 - 555136 - 1.1564170880364812e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.6613765954971313e-01 - 3.1125984191894531e+01 - <_> - 2 - 42378 - -1.1564170880364812e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 512758 - 1.1564170880364812e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 384813 - -1.1564170880364812e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.6274058222770691e-01 - 4.7268836975097656e+01 - <_> - 2 - 24399 - 1.1564170880364812e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 360414 - -1.1564170880364812e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0917740150682652e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1400333642959595e-01 - 4.9472222328186035e+00 - <_> - 1 - 691145 - 1.0917740150682652e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.2282542586326599e-01 - 8.0568740844726562e+01 - <_> - 2 - 687955 - 1.0917740150682652e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3190 - -1.0917740150682652e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 248804 - -1.0917740150682652e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 1.0444184392690659e-01 - 8.1723884582519531e+01 - <_> - 2 - 212769 - -1.0917740150682652e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 36035 - 1.0917740150682652e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.2537516836552562e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1971763372421265e-01 - 8.1480682373046875e+01 - <_> - 1 - 733147 - -1.2537516836552562e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 4.6260526776313782e-01 - 2.1177604675292969e+01 - <_> - 2 - 11092 - 1.2537516836552562e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 722055 - -1.2537516836552562e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 206802 - 1.2537516836552562e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 6.8697519600391388e-02 - 1.9150000000000000e+02 - <_> - 2 - 15252 - -1.2537516836552562e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 191550 - 1.2537516836552562e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2659728036665654e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1381570100784302e-01 - 8.3111286163330078e+00 - <_> - 1 - 133431 - -1.2659728036665654e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 1.1659813672304153e-01 - 3.8756088256835938e+01 - <_> - 2 - 73915 - -1.2659728036665654e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59516 - 1.2659728036665654e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 806518 - 1.2659728036665654e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.1500899195671082e-01 - 1.7086648559570312e+02 - <_> - 2 - 360595 - -1.2659728036665654e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 445923 - 1.2659728036665654e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2211355649801489e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.2027511596679688e-01 - 1.6386668395996094e+02 - <_> - 1 - 446048 - 1.2211355649801489e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.0335604250431061e-01 - 1.2683263421058655e-01 - <_> - 2 - 22796 - -1.2211355649801489e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 423252 - 1.2211355649801489e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 493901 - -1.2211355649801489e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.2713446021080017e-01 - 2.1524451673030853e-02 - <_> - 2 - 69865 - 1.2211355649801489e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 424036 - -1.2211355649801489e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0219958308394529e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1336395740509033e-01 - 8.3111286163330078e+00 - <_> - 1 - 133431 - -1.0219958308394529e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.1275272816419601e-01 - 3.3606372773647308e-02 - <_> - 2 - 52190 - -1.0219958308394529e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 81241 - 1.0219958308394529e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 806518 - 1.0219958308394529e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.1277495026588440e-01 - 1.0038001537322998e+00 - <_> - 2 - 47585 - -1.0219958308394529e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 758933 - 1.0219958308394529e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0760306532657286e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1740473508834839e-01 - 9.4369812011718750e+00 - <_> - 1 - 249885 - 1.0760306532657286e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 1.5981103479862213e-01 - 5.0000000000000000e-01 - <_> - 2 - 37729 - -1.0760306532657286e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 212156 - 1.0760306532657286e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 690064 - -1.0760306532657286e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.6706382036209106e-01 - 5.0000000000000000e-01 - <_> - 2 - 90893 - 1.0760306532657286e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 599171 - -1.0760306532657286e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.3823163809371145e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1601469516754150e-01 - 5.3538734436035156e+01 - <_> - 1 - 546805 - -1.3823163809371145e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.7973932027816772e-01 - 3.2443816661834717e+00 - <_> - 2 - 467112 - -1.3823163809371145e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 79693 - 1.3823163809371145e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 393144 - 1.3823163809371145e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.5476366281509399e-01 - 3.0026710033416748e+00 - <_> - 2 - 249301 - 1.3823163809371145e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 143843 - -1.3823163809371145e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0474471773266424e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1146388053894043e-01 - 1.0009554443359375e+03 - <_> - 1 - 300350 - -1.0474471773266424e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 1.9282492995262146e-01 - 3.7830076217651367e+00 - <_> - 2 - 27909 - 1.0474471773266424e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 272441 - -1.0474471773266424e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 639599 - 1.0474471773266424e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.3333733677864075e-01 - 1.4991036987304688e+02 - <_> - 2 - 569472 - 1.0474471773266424e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 70127 - -1.0474471773266424e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.2249949324652215e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1367110013961792e-01 - 2.1334065496921539e-01 - <_> - 1 - 623921 - -1.2249949324652215e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 3.3855026960372925e-01 - 8.1723884582519531e+01 - <_> - 2 - 586489 - -1.2249949324652215e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 37432 - 1.2249949324652215e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 316028 - 1.2249949324652215e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.9203636050224304e-01 - 7.3123031616210938e+01 - <_> - 2 - 179816 - 1.2249949324652215e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 136212 - -1.2249949324652215e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0188552564308727e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1783776283264160e-01 - 3.6473352050781250e+02 - <_> - 1 - 16709 - -1.0188552564308727e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.8332480937242508e-02 - 3.7838444709777832e+00 - <_> - 2 - 13543 - 1.0188552564308727e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3166 - -1.0188552564308727e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923240 - 1.0188552564308727e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.8711690306663513e-01 - 3.0449208984375000e+03 - <_> - 2 - 832614 - 1.0188552564308727e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 90626 - -1.0188552564308727e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.7906638029029602e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1632207632064819e-01 - 9.3393045663833618e-01 - <_> - 1 - 117895 - 9.7906638029029602e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.1006336212158203e-02 - 2.9295075684785843e-02 - <_> - 2 - 110365 - 9.7906638029029602e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7530 - -9.7906638029029602e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 822054 - -9.7906638029029602e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.9345079064369202e-01 - 1.1786351013183594e+02 - <_> - 2 - 748402 - -9.7906638029029602e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 73652 - 9.7906638029029602e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.4271281492322459e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1653790473937988e-01 - 3.5654925537109375e+02 - <_> - 1 - 15966 - -9.4271281492322459e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 3.6129284650087357e-02 - 1.1056249618530273e+01 - <_> - 2 - 13465 - 9.4271281492322459e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2501 - -9.4271281492322459e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923983 - 9.4271281492322459e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.8742109537124634e-01 - 1.9024143218994141e+01 - <_> - 2 - 890885 - 9.4271281492322459e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 33098 - -9.4271281492322459e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.6775493256729628e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.1508307456970215e-01 - 1.4500000000000000e+01 - <_> - 1 - 763187 - -9.6775493256729628e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.1590178012847900e-01 - 8.3762603759765625e+01 - <_> - 2 - 706819 - -9.6775493256729628e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 56368 - 9.6775493256729628e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 176762 - 9.6775493256729628e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.0827323049306870e-01 - 4.2593774795532227e+00 - <_> - 2 - 157020 - 9.6775493256729628e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 19742 - -9.6775493256729628e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1503800523615740e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1214671134948730e-01 - 2.3439809570312500e+03 - <_> - 1 - 542820 - -1.1503800523615740e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 2.4338784813880920e-01 - 1.0790184020996094e+01 - <_> - 2 - 185676 - 1.1503800523615740e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 357144 - -1.1503800523615740e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 397129 - 1.1503800523615740e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.8533998131752014e-01 - 4.6162094116210938e+01 - <_> - 2 - 103032 - -1.1503800523615740e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 294097 - 1.1503800523615740e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.2044196370148079e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1220917701721191e-01 - 2.8282489776611328e+00 - <_> - 1 - 11716 - -8.2044196370148079e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.7428431212902069e-02 - 2.1724937438964844e+01 - <_> - 2 - 5292 - 8.2044196370148079e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6424 - -8.2044196370148079e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 928233 - 8.2044196370148079e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.8307111859321594e-01 - 5.2861108779907227e+00 - <_> - 2 - 708263 - 8.2044196370148079e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 219970 - -8.2044196370148079e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0796067380229943e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1348280906677246e-01 - 9.6329951286315918e-01 - <_> - 1 - 295869 - 1.0796067380229943e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.1721687018871307e-01 - 8.0062957763671875e+01 - <_> - 2 - 162444 - 1.0796067380229943e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 133425 - -1.0796067380229943e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 644080 - -1.0796067380229943e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.0974712371826172e-01 - 8.3062034606933594e+01 - <_> - 2 - 414475 - -1.0796067380229943e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 229605 - 1.0796067380229943e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0417018751059616e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1413953304290771e-01 - 7.8658462524414062e+01 - <_> - 1 - 549829 - 1.0417018751059616e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.0912581086158752e-01 - 2.2896571159362793e+00 - <_> - 2 - 261673 - -1.0417018751059616e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 288156 - 1.0417018751059616e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 390120 - -1.0417018751059616e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.1689319610595703e-01 - 9.2003417015075684e-01 - <_> - 2 - 44338 - 1.0417018751059616e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 345782 - -1.0417018751059616e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2691173345409468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1491510868072510e-01 - 2.8232684135437012e+00 - <_> - 1 - 670000 - 1.2691173345409468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.8502017259597778e-01 - 1.0254147052764893e+00 - <_> - 2 - 112203 - -1.2691173345409468e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 557797 - 1.2691173345409468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 269949 - -1.2691173345409468e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.4666523933410645e-01 - 1.0182608366012573e+00 - <_> - 2 - 52668 - 1.2691173345409468e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 217281 - -1.2691173345409468e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.0446876779555689e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1036065816879272e-01 - 3.5654925537109375e+02 - <_> - 1 - 15966 - -7.0446876779555689e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 3.5542223602533340e-02 - 1.1056249618530273e+01 - <_> - 2 - 13465 - 7.0446876779555689e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2501 - -7.0446876779555689e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923983 - 7.0446876779555689e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.8206222057342529e-01 - 3.0305554866790771e+00 - <_> - 2 - 439544 - 7.0446876779555689e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 484439 - -7.0446876779555689e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.3260981113436809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1856428384780884e-01 - 9.6857696771621704e-01 - <_> - 1 - 390368 - 1.3260981113436809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.1224506199359894e-01 - 3.1626525878906250e+01 - <_> - 2 - 13760 - -1.3260981113436809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 376608 - 1.3260981113436809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 549581 - -1.3260981113436809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.2085889577865601e-01 - 6.7078651428222656e+01 - <_> - 2 - 307994 - -1.3260981113436809e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 241587 - 1.3260981113436809e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1302082434307391e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1571887731552124e-01 - 2.3027777671813965e+00 - <_> - 1 - 323748 - 1.1302082434307391e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.9133907556533813e-01 - 1.4779894828796387e+01 - <_> - 2 - 5497 - -1.1302082434307391e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 318251 - 1.1302082434307391e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 616201 - -1.1302082434307391e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.3688610792160034e-01 - 1.0265763671875000e+04 - <_> - 2 - 594697 - -1.1302082434307391e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 21504 - 1.1302082434307391e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1478588045320895e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1961421966552734e-01 - 1.1194443702697754e+00 - <_> - 1 - 81288 - -1.1478588045320895e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 6.7029125988483429e-02 - 3.7839164733886719e+00 - <_> - 2 - 20326 - 1.1478588045320895e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 60962 - -1.1478588045320895e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 858661 - 1.1478588045320895e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 4.6163588762283325e-01 - 3.5610752105712891e+00 - <_> - 2 - 8175 - -1.1478588045320895e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 850486 - 1.1478588045320895e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.2154603087352516e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1540750265121460e-01 - 3.9386529541015625e+02 - <_> - 1 - 869595 - -9.2154603087352516e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.6392014622688293e-01 - 3.9249157714843750e+03 - <_> - 2 - 675440 - -9.2154603087352516e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 194155 - 9.2154603087352516e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 70354 - 9.2154603087352516e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.9102222323417664e-02 - 7.2660476684570312e+01 - <_> - 2 - 41016 - 9.2154603087352516e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 29338 - -9.2154603087352516e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.4404947299507564e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1464146375656128e-01 - 1.9950734078884125e-01 - <_> - 1 - 544507 - -1.4404947299507564e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.9966062307357788e-01 - 3.8930503845214844e+01 - <_> - 2 - 254651 - 1.4404947299507564e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 289856 - -1.4404947299507564e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 395442 - 1.4404947299507564e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 2.3628960549831390e-01 - 1.2029939651489258e+01 - <_> - 2 - 165493 - -1.4404947299507564e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 229949 - 1.4404947299507564e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.5787362051583683e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1071768999099731e-01 - 4.9669306725263596e-02 - <_> - 1 - 662177 - 9.5787362051583683e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.5105466246604919e-01 - 4.1431861877441406e+01 - <_> - 2 - 389725 - -9.5787362051583683e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 272452 - 9.5787362051583683e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 277772 - -9.5787362051583683e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 7.2873875498771667e-02 - 1.0166900634765625e+01 - <_> - 2 - 199264 - -9.5787362051583683e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 78508 - 9.5787362051583683e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.3179937781298462e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1794672012329102e-01 - 4.0751495361328125e+01 - <_> - 1 - 521780 - 1.3179937781298462e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.3504495620727539e-01 - 5.0337509765625000e+03 - <_> - 2 - 468251 - 1.3179937781298462e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 53529 - -1.3179937781298462e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 418169 - -1.3179937781298462e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.9785728454589844e-01 - 4.5600231170654297e+01 - <_> - 2 - 23329 - 1.3179937781298462e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 394840 - -1.3179937781298462e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2406194387703730e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1589226722717285e-01 - 1.2832164764404297e+01 - <_> - 1 - 384316 - -1.2406194387703730e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.3038609325885773e-01 - 1.2211467742919922e+01 - <_> - 2 - 238773 - -1.2406194387703730e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 145543 - 1.2406194387703730e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 555633 - 1.2406194387703730e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.0058968067169189e-01 - 9.6565132141113281e+00 - <_> - 2 - 99938 - -1.2406194387703730e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 455695 - 1.2406194387703730e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.4576661867569382e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1913428306579590e-01 - 1.1477750778198242e+01 - <_> - 1 - 453559 - 1.4576661867569382e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.0843305587768555e-01 - 3.9746753871440887e-02 - <_> - 2 - 190227 - 1.4576661867569382e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 263332 - -1.4576661867569382e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 486390 - -1.4576661867569382e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 2.2794422507286072e-01 - 6.6322349548339844e+01 - <_> - 2 - 321520 - -1.4576661867569382e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 164870 - 1.4576661867569382e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0473212032211107e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1375508308410645e-01 - 2.1069567871093750e+02 - <_> - 1 - 577809 - 1.0473212032211107e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.9258355498313904e-01 - 2.0474296063184738e-02 - <_> - 2 - 166361 - -1.0473212032211107e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 411448 - 1.0473212032211107e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 362140 - -1.0473212032211107e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.3357556760311127e-01 - 2.4204508960247040e-01 - <_> - 2 - 318183 - -1.0473212032211107e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43957 - 1.0473212032211107e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.8484693549611887e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1163947582244873e-01 - 9.4814705848693848e-01 - <_> - 1 - 182656 - 8.8484693549611887e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.4984942078590393e-02 - 7.1276817321777344e+01 - <_> - 2 - 161799 - 8.8484693549611887e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 20857 - -8.8484693549611887e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 757293 - -8.8484693549611887e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.6712180972099304e-01 - 8.9122436523437500e+01 - <_> - 2 - 59810 - 8.8484693549611887e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 697483 - -8.8484693549611887e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.2694329415126342e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1684498786926270e-01 - 3.6473352050781250e+02 - <_> - 1 - 16709 - -9.2694329415126342e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 3.5039000213146210e-02 - 1.1056249618530273e+01 - <_> - 2 - 13892 - 9.2694329415126342e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2817 - -9.2694329415126342e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923240 - 9.2694329415126342e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.8811799287796021e-01 - 3.8020561218261719e+01 - <_> - 2 - 813077 - 9.2694329415126342e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 110163 - -9.2694329415126342e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0288841677036091e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1483708620071411e-01 - 3.7499490356445312e+02 - <_> - 1 - 859328 - -1.0288841677036091e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.6046206355094910e-01 - 3.7403319031000137e-02 - <_> - 2 - 428756 - -1.0288841677036091e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 430572 - 1.0288841677036091e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 80621 - 1.0288841677036091e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 6.5237380564212799e-02 - 3.9438748359680176e+00 - <_> - 2 - 28400 - 1.0288841677036091e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 52221 - -1.0288841677036091e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1941188064491802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1235097646713257e-01 - 2.3439809570312500e+03 - <_> - 1 - 542820 - -1.1941188064491802e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.4645562469959259e-01 - 5.0000000000000000e-01 - <_> - 2 - 83385 - 1.1941188064491802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 459435 - -1.1941188064491802e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 397129 - 1.1941188064491802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.8336191177368164e-01 - 2.0504441261291504e+00 - <_> - 2 - 97962 - -1.1941188064491802e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 299167 - 1.1941188064491802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.4549468049911295e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1340091228485107e-01 - 2.2395410537719727e+00 - <_> - 1 - 513799 - 9.4549468049911295e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.8521597981452942e-01 - 2.0108352050781250e+03 - <_> - 2 - 352169 - 9.4549468049911295e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 161630 - -9.4549468049911295e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 426150 - -9.4549468049911295e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.3840379118919373e-01 - 3.7188237905502319e-01 - <_> - 2 - 408593 - -9.4549468049911295e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17557 - 9.4549468049911295e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1020093476539640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1864713430404663e-01 - 5.4867222905158997e-02 - <_> - 1 - 711999 - 1.1020093476539640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.7321084141731262e-01 - 3.2862496948242188e+02 - <_> - 2 - 6770 - -1.1020093476539640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 705229 - 1.1020093476539640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 227950 - -1.1020093476539640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.4311551153659821e-02 - 1.2693084716796875e+01 - <_> - 2 - 168048 - 1.1020093476539640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59902 - -1.1020093476539640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.2193133949371384e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1473861932754517e-01 - 2.0698678970336914e+01 - <_> - 1 - 6985 - 9.2193133949371384e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.6909025385975838e-02 - 2.0887202117592096e-03 - <_> - 2 - 843 - -9.2193133949371384e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6142 - 9.2193133949371384e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 932964 - -9.2193133949371384e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 4.9612295627593994e-01 - 9.6125583648681641e+00 - <_> - 2 - 814279 - -9.2193133949371384e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 118685 - 9.2193133949371384e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.7866499745687521e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1452964544296265e-01 - 1.1132866144180298e-01 - <_> - 1 - 34942 - -9.7866499745687521e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.7213044017553329e-02 - 1.1150000000000000e+02 - <_> - 2 - 7882 - 9.7866499745687521e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 27060 - -9.7866499745687521e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 905007 - 9.7866499745687521e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.7723406553268433e-01 - 7.1007156372070312e+01 - <_> - 2 - 830259 - 9.7866499745687521e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 74748 - -9.7866499745687521e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0249582909718888e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1586729288101196e-01 - 9.6326553821563721e-01 - <_> - 1 - 295381 - 1.0249582909718888e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.1409680545330048e-01 - 1.0866064453125000e+03 - <_> - 2 - 29502 - -1.0249582909718888e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 265879 - 1.0249582909718888e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 644568 - -1.0249582909718888e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.1150474548339844e-01 - 2.2446777343750000e+02 - <_> - 2 - 424692 - -1.0249582909718888e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 219876 - 1.0249582909718888e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0652606811626956e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1579689979553223e-01 - 1.5524687194824219e+02 - <_> - 1 - 408027 - 1.0652606811626956e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.7519327998161316e-01 - 3.6744121551513672e+01 - <_> - 2 - 377784 - 1.0652606811626956e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 30243 - -1.0652606811626956e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 531922 - -1.0652606811626956e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.5141307115554810e-01 - 3.0161577463150024e-01 - <_> - 2 - 522876 - -1.0652606811626956e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9046 - 1.0652606811626956e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1185457094423212e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1340693235397339e-01 - 3.5810890197753906e+01 - <_> - 1 - 436022 - -1.1185457094423212e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.6652441024780273e-01 - 3.4024901390075684e+00 - <_> - 2 - 397573 - 1.1185457094423212e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 38449 - -1.1185457094423212e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 503927 - 1.1185457094423212e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.6141011118888855e-01 - 1.2651381835937500e+03 - <_> - 2 - 110502 - -1.1185457094423212e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 393425 - 1.1185457094423212e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.7932827215946913e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1449972391128540e-01 - 9.4600832462310791e-01 - <_> - 1 - 171520 - 9.7932827215946913e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.0194162875413895e-02 - 2.1649919509887695e+01 - <_> - 2 - 136726 - 9.7932827215946913e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 34794 - -9.7932827215946913e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 768429 - -9.7932827215946913e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 4.7426947951316833e-01 - 9.7234477996826172e+00 - <_> - 2 - 672701 - -9.7932827215946913e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 95728 - 9.7932827215946913e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.9959268783834520e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 5.1604413986206055e-01 - 2.2577753067016602e+00 - <_> - 1 - 6692 - -8.9959268783834520e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.5705030187964439e-02 - 1.8914577484130859e+01 - <_> - 2 - 3700 - 8.9959268783834520e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2992 - -8.9959268783834520e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 933257 - 8.9959268783834520e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 4.9676963686943054e-01 - 1.4926003456115723e+01 - <_> - 2 - 914269 - 8.9959268783834520e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 18988 - -8.9959268783834520e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.3220287722891714e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1328206062316895e-01 - 9.0213537216186523e-01 - <_> - 1 - 45679 - 7.3220287722891714e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.8892276138067245e-03 - 1.1682679748535156e+02 - <_> - 2 - 45619 - 7.3220287722891714e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 60 - -7.3220287722891714e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 894270 - -7.3220287722891714e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 5.1240766048431396e-01 - 1.0657048225402832e+01 - <_> - 2 - 829120 - -7.3220287722891714e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 65150 - 7.3220287722891714e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.9750461990075853e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1521730422973633e-01 - 5.5185436248779297e+01 - <_> - 1 - 700867 - 9.9750461990075853e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.7367221713066101e-01 - 9.0728530883789062e+01 - <_> - 2 - 645328 - 9.9750461990075853e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 55539 - -9.9750461990075853e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 239082 - -9.9750461990075853e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 1.5124475955963135e-01 - 2.7916667461395264e+00 - <_> - 2 - 7855 - 9.9750461990075853e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 231227 - -9.9750461990075853e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1134577094666968e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1574254035949707e-01 - 1.8550380706787109e+01 - <_> - 1 - 561962 - -1.1134577094666968e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.5081800818443298e-01 - 8.2423019409179688e+01 - <_> - 2 - 478035 - -1.1134577094666968e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 83927 - 1.1134577094666968e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 377987 - 1.1134577094666968e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 1.7698970437049866e-01 - 5.0000000000000000e-01 - <_> - 2 - 46159 - -1.1134577094666968e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 331828 - 1.1134577094666968e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.9965563503050386e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1274710893630981e-01 - 7.9649353027343750e+01 - <_> - 1 - 558281 - 9.9965563503050386e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.1131926178932190e-01 - 2.3037192821502686e+00 - <_> - 2 - 269975 - -9.9965563503050386e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 288306 - 9.9965563503050386e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 381668 - -9.9965563503050386e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.1365134418010712e-01 - 1.2518388032913208e+00 - <_> - 2 - 129390 - 9.9965563503050386e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 252278 - -9.9965563503050386e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.7027974257729637e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1138991117477417e-01 - 4.2606941223144531e+01 - <_> - 1 - 552189 - 8.7027974257729637e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.5669866800308228e-01 - 1.0000002384185791e+00 - <_> - 2 - 404291 - 8.7027974257729637e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 147898 - -8.7027974257729637e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 387760 - -8.7027974257729637e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.6504459977149963e-01 - 8.2769302368164062e+01 - <_> - 2 - 223962 - -8.7027974257729637e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 163798 - 8.7027974257729637e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.3982844180968783e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.0998622179031372e-01 - 6.5771188735961914e+00 - <_> - 1 - 694832 - -8.3982844180968783e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.1123777627944946e-01 - 1.5279832482337952e-01 - <_> - 2 - 88851 - 8.3982844180968783e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 605981 - -8.3982844180968783e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 245117 - 8.3982844180968783e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.0974559932947159e-01 - 4.5084171295166016e+01 - <_> - 2 - 163864 - 8.3982844180968783e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 81253 - -8.3982844180968783e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1916632279413154e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1257252693176270e-01 - 1.7084568738937378e-01 - <_> - 1 - 344073 - -1.1916632279413154e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.9984720647335052e-01 - 6.1914779663085938e+01 - <_> - 2 - 194370 - -1.1916632279413154e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 149703 - 1.1916632279413154e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 595876 - 1.1916632279413154e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.2990917563438416e-01 - 9.7737467288970947e-01 - <_> - 2 - 387985 - 1.1916632279413154e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 207891 - -1.1916632279413154e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1287854870653116e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 5.1627111434936523e-01 - 5.0960041046142578e+01 - <_> - 1 - 352212 - 1.1287854870653116e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.8430205583572388e-01 - 1.9669380187988281e+01 - <_> - 2 - 344496 - 1.1287854870653116e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7716 - -1.1287854870653116e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 587737 - -1.1287854870653116e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.4388766288757324e-01 - 6.5050810546875000e+03 - <_> - 2 - 545360 - -1.1287854870653116e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 42377 - 1.1287854870653116e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.8053807332656423e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1429033279418945e-01 - 5.7745811462402344e+01 - <_> - 1 - 428726 - -9.8053807332656423e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.1620678305625916e-01 - 2.7441722154617310e-01 - <_> - 2 - 384916 - -9.8053807332656423e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43810 - 9.8053807332656423e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 511223 - 9.8053807332656423e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.0828703045845032e-01 - 2.5942230224609375e-01 - <_> - 2 - 455485 - 9.8053807332656423e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 55738 - -9.8053807332656423e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.1795950625598699e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1402187347412109e-01 - 1.7400307617187500e+03 - <_> - 1 - 608464 - 9.1795950625598699e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.9332646131515503e-01 - 1.8950000000000000e+02 - <_> - 2 - 453872 - 9.1795950625598699e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 154592 - -9.1795950625598699e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 331485 - -9.1795950625598699e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.2960642576217651e-01 - 7.0761157226562500e+03 - <_> - 2 - 298751 - -9.1795950625598699e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 32734 - 9.1795950625598699e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0262002980224427e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1447802782058716e-01 - 7.0742095947265625e+01 - <_> - 1 - 606257 - -1.0262002980224427e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.1028589010238647e-01 - 9.5564103126525879e-01 - <_> - 2 - 156064 - 1.0262002980224427e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 450193 - -1.0262002980224427e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 333692 - 1.0262002980224427e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.1534661799669266e-01 - 6.3913696289062500e+01 - <_> - 2 - 227185 - 1.0262002980224427e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 106507 - -1.0262002980224427e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.5269309255806275e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1336473226547241e-01 - 1.6194852828979492e+01 - <_> - 1 - 733652 - 9.5269309255806275e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.6268984675407410e-01 - 2.0750000000000000e+02 - <_> - 2 - 563780 - 9.5269309255806275e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 169872 - -9.5269309255806275e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 206297 - -9.5269309255806275e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 6.1109475791454315e-02 - 2.0961490631103516e+01 - <_> - 2 - 166793 - 9.5269309255806275e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 39504 - -9.5269309255806275e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0221759831464151e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1706039905548096e-01 - 7.5304916381835938e+01 - <_> - 1 - 666173 - -1.0221759831464151e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.3650162220001221e-01 - 9.8162543773651123e-01 - <_> - 2 - 565311 - -1.0221759831464151e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 100862 - 1.0221759831464151e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 273776 - 1.0221759831464151e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 8.9030563831329346e-02 - 5.0000000000000000e-01 - <_> - 2 - 30593 - -1.0221759831464151e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 243183 - 1.0221759831464151e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0871136824213226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1150315999984741e-01 - 2.5200626373291016e+01 - <_> - 1 - 189520 - -1.0871136824213226e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.4954216778278351e-01 - 3.6143554687500000e+01 - <_> - 2 - 178324 - -1.0871136824213226e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 11196 - 1.0871136824213226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 750429 - 1.0871136824213226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.7760895490646362e-01 - 7.8792163085937500e+02 - <_> - 2 - 69891 - -1.0871136824213226e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 680538 - 1.0871136824213226e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1040360760653388e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.2000057697296143e-01 - 3.3417877197265625e+01 - <_> - 1 - 187205 - 1.1040360760653388e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 9.9817611277103424e-02 - 1.5752697753906250e+02 - <_> - 2 - 1279 - -1.1040360760653388e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 185926 - 1.1040360760653388e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 752744 - -1.1040360760653388e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.2775529623031616e-01 - 7.8034830093383789e+00 - <_> - 2 - 50950 - 1.1040360760653388e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 701794 - -1.1040360760653388e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0652427639061973e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1562213897705078e-01 - 8.1050701141357422e+00 - <_> - 1 - 114162 - -1.0652427639061973e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 9.8385035991668701e-02 - 3.3612042665481567e-02 - <_> - 2 - 47018 - -1.0652427639061973e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 67144 - 1.0652427639061973e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 825787 - 1.0652427639061973e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.2822086811065674e-01 - 1.2153674662113190e-01 - <_> - 2 - 44259 - -1.0652427639061973e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 781528 - 1.0652427639061973e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0040612460695243e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1709353923797607e-01 - 3.5551582336425781e+01 - <_> - 1 - 73798 - 1.0040612460695243e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 1.0942199081182480e-01 - 1.2250000000000000e+02 - <_> - 2 - 54191 - 1.0040612460695243e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 19607 - -1.0040612460695243e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 866151 - -1.0040612460695243e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.1565847396850586e-01 - 2.7271972656250000e+01 - <_> - 2 - 183377 - 1.0040612460695243e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 682774 - -1.0040612460695243e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.5484531187294427e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.1515024900436401e-01 - 1.0745413208007812e+02 - <_> - 1 - 169272 - -9.5484531187294427e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 8.3884537220001221e-02 - 1.6368326187133789e+01 - <_> - 2 - 23639 - 9.5484531187294427e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 145633 - -9.5484531187294427e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 770677 - 9.5484531187294427e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.3996846675872803e-01 - 5.9278814697265625e+02 - <_> - 2 - 9499 - -9.5484531187294427e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 761178 - 9.5484531187294427e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.3549929003984206e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1499819755554199e-01 - 3.0203989148139954e-01 - <_> - 1 - 905771 - -9.3549929003984206e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 4.9240612983703613e-01 - 1.1240586853027344e+02 - <_> - 2 - 838378 - -9.3549929003984206e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 67393 - 9.3549929003984206e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 34178 - 9.3549929003984206e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.0964301899075508e-02 - 9.7940278053283691e-01 - <_> - 2 - 22324 - 9.3549929003984206e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 11854 - -9.3549929003984206e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.0700068797801635e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1467943191528320e-01 - 8.9687347412109375e+01 - <_> - 1 - 936547 - 7.0700068797801635e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1276344060897827e-01 - 1.0006089210510254e+00 - <_> - 2 - 19411 - -7.0700068797801635e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 917136 - 7.0700068797801635e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3402 - -7.0700068797801635e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.9042003229260445e-03 - 1.2773427581787109e+02 - <_> - 2 - 3178 - -7.0700068797801635e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 224 - 7.0700068797801635e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.4540796843124849e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1058536767959595e-01 - 4.5061874389648438e+01 - <_> - 1 - 447485 - 8.4540796843124849e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.8131595253944397e-01 - 2.2580709308385849e-02 - <_> - 2 - 180345 - -8.4540796843124849e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 267140 - 8.4540796843124849e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 492464 - -8.4540796843124849e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.3980668187141418e-01 - 9.0213525295257568e-01 - <_> - 2 - 20842 - 8.4540796843124849e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 471622 - -8.4540796843124849e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0802084869110026e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1117241382598877e-01 - 1.2718648910522461e+01 - <_> - 1 - 381466 - -1.0802084869110026e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.3209235072135925e-01 - 3.9108800888061523e+00 - <_> - 2 - 335896 - -1.0802084869110026e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 45570 - 1.0802084869110026e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 558483 - 1.0802084869110026e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.9488661885261536e-01 - 1.0866591930389404e+00 - <_> - 2 - 140551 - -1.0802084869110026e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 417932 - 1.0802084869110026e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0409681855586407e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1406484842300415e-01 - 4.3159341812133789e+00 - <_> - 1 - 602738 - 1.0409681855586407e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 3.5198828577995300e-01 - 2.0850000000000000e+02 - <_> - 2 - 440991 - 1.0409681855586407e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 161747 - -1.0409681855586407e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 337211 - -1.0409681855586407e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 1.7401243746280670e-01 - 2.7646877288818359e+01 - <_> - 2 - 285630 - -1.0409681855586407e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 51581 - 1.0409681855586407e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.2676985333180570e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1281064748764038e-01 - 3.3262111663818359e+01 - <_> - 1 - 184280 - 9.2676985333180570e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 9.7014181315898895e-02 - 8.4402847290039062e+00 - <_> - 2 - 56836 - -9.2676985333180570e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 127444 - 9.2676985333180570e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 755669 - -9.2676985333180570e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.2613849043846130e-01 - 6.5771188735961914e+00 - <_> - 2 - 557083 - -9.2676985333180570e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 198586 - 9.2676985333180570e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.0680856772967028e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1107567548751831e-01 - 4.3188662528991699e+00 - <_> - 1 - 815040 - 9.0680856772967028e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.1403180360794067e-01 - 1.9024143218994141e+01 - <_> - 2 - 784965 - 9.0680856772967028e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 30075 - -9.0680856772967028e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 124909 - -9.0680856772967028e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.0862288624048233e-01 - 3.5908348083496094e+01 - <_> - 2 - 18385 - -9.0680856772967028e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 106524 - 9.0680856772967028e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1662341508940306e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1799350976943970e-01 - 1.1056875228881836e+01 - <_> - 1 - 29964 - 1.1662341508940306e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 6.4243853092193604e-02 - 2.9545368194580078e+01 - <_> - 2 - 17222 - 1.1662341508940306e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 12742 - -1.1662341508940306e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 909985 - -1.1662341508940306e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.6487900614738464e-01 - 2.0119082182645798e-02 - <_> - 2 - 174194 - 1.1662341508940306e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 735791 - -1.1662341508940306e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.8432717541454995e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1453846693038940e-01 - 1.6504567116498947e-02 - <_> - 1 - 152505 - -9.8432717541454995e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 4.9194905906915665e-02 - 1.9939944744110107e+00 - <_> - 2 - 82530 - 9.8432717541454995e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 69975 - -9.8432717541454995e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 787444 - 9.8432717541454995e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.7539341449737549e-01 - 1.6343698501586914e+01 - <_> - 2 - 7929 - -9.8432717541454995e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 779515 - 9.8432717541454995e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.1733427480770291e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1604121923446655e-01 - 2.0691448211669922e+01 - <_> - 1 - 6982 - 9.1733427480770291e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.6812275871634483e-02 - 2.0887202117592096e-03 - <_> - 2 - 843 - -9.1733427480770291e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6139 - 9.1733427480770291e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 932967 - -9.1733427480770291e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.9610501527786255e-01 - 3.3226409912109375e+02 - <_> - 2 - 7098 - 9.1733427480770291e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 925869 - -9.1733427480770291e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.3024640252932996e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1365131139755249e-01 - 3.2883883666992188e+02 - <_> - 1 - 6786 - -7.3024640252932996e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.0481588318943977e-02 - 9.6784992218017578e+00 - <_> - 2 - 1953 - 7.3024640252932996e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4833 - -7.3024640252932996e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 933163 - 7.3024640252932996e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.9776646494865417e-01 - 3.3934539556503296e-01 - <_> - 2 - 927688 - 7.3024640252932996e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5475 - -7.3024640252932996e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.5774151188967645e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1113587617874146e-01 - 2.0463119506835938e+01 - <_> - 1 - 910568 - -7.5774151188967645e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.9280345439910889e-01 - 7.0456588745117188e+01 - <_> - 2 - 735219 - -7.5774151188967645e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 175349 - 7.5774151188967645e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 29381 - 7.5774151188967645e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.6131037622690201e-02 - 1.9509376585483551e-01 - <_> - 2 - 8569 - -7.5774151188967645e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 20812 - 7.5774151188967645e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.8167903644580265e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1437771320343018e-01 - 6.1977767944335938e+01 - <_> - 1 - 774008 - 9.8167903644580265e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.1632673144340515e-01 - 6.6416664123535156e+00 - <_> - 2 - 682302 - 9.8167903644580265e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 91706 - -9.8167903644580265e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 165941 - -9.8167903644580265e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.0819554328918457e-01 - 1.0740039062500000e+03 - <_> - 2 - 19226 - 9.8167903644580265e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 146715 - -9.8167903644580265e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.3797428572422945e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1542824506759644e-01 - 9.4423305988311768e-01 - <_> - 1 - 162533 - 9.3797428572422945e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 4.7023918479681015e-02 - 1.9750000000000000e+02 - <_> - 2 - 100683 - -9.3797428572422945e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 61850 - 9.3797428572422945e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 777416 - -9.3797428572422945e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 4.7640827298164368e-01 - 1.1442896270751953e+02 - <_> - 2 - 712609 - -9.3797428572422945e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 64807 - 9.3797428572422945e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 6.9855733689422550e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1463878154754639e-01 - 8.9687347412109375e+01 - <_> - 1 - 936547 - 6.9855733689422550e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1279735565185547e-01 - 2.5450000000000000e+02 - <_> - 2 - 896690 - 6.9855733689422550e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 39857 - -6.9855733689422550e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3402 - -6.9855733689422550e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.6594655141234398e-03 - 1.2773427581787109e+02 - <_> - 2 - 3178 - -6.9855733689422550e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 224 - 6.9855733689422550e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.8618008032255344e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1052582263946533e-01 - 6.0961181640625000e+01 - <_> - 1 - 651488 - -9.8618008032255344e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.5672342777252197e-01 - 6.0163281250000000e+03 - <_> - 2 - 586036 - -9.8618008032255344e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 65452 - 9.8618008032255344e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 288461 - 9.8618008032255344e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 1.6791111230850220e-01 - 4.3159341812133789e+00 - <_> - 2 - 197944 - 9.8618008032255344e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 90517 - -9.8618008032255344e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1300555227614685e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1087939739227295e-01 - 7.7558120727539062e+01 - <_> - 1 - 712698 - 1.1300555227614685e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.3538451194763184e-01 - 4.6403505859375000e+03 - <_> - 2 - 568017 - 1.1300555227614685e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 144681 - -1.1300555227614685e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 227251 - -1.1300555227614685e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 9.2836841940879822e-02 - 5.5609873046875000e+03 - <_> - 2 - 212046 - -1.1300555227614685e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 15205 - 1.1300555227614685e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.2123096838445586e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.1544207334518433e-01 - 4.1111455078125000e+03 - <_> - 1 - 731820 - -1.2123096838445586e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.7174120545387268e-01 - 2.4556973266601562e+02 - <_> - 2 - 535134 - -1.2123096838445586e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 196686 - 1.2123096838445586e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 208129 - 1.2123096838445586e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 1.5852946043014526e-01 - 2.4582362365722656e+02 - <_> - 2 - 119603 - 1.2123096838445586e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 88526 - -1.2123096838445586e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.3351414050983267e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.0907236337661743e-01 - 2.1084733581542969e+02 - <_> - 1 - 578193 - 9.3351414050983267e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.9459452629089355e-01 - 1.5375535190105438e-01 - <_> - 2 - 53653 - -9.3351414050983267e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 524540 - 9.3351414050983267e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 361756 - -9.3351414050983267e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.2872638702392578e-01 - 1.5067446231842041e-01 - <_> - 2 - 82993 - 9.3351414050983267e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 278763 - -9.3351414050983267e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.8365365456057388e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.0892072916030884e-01 - 3.3963266601562500e+03 - <_> - 1 - 672392 - -8.8365365456057388e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.2809808850288391e-01 - 4.1605226695537567e-02 - <_> - 2 - 326731 - -8.8365365456057388e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 345661 - 8.8365365456057388e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 267557 - 8.8365365456057388e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 1.9397889077663422e-01 - 1.0013697147369385e+00 - <_> - 2 - 8759 - -8.8365365456057388e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 258798 - 8.8365365456057388e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.6320378514866870e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.0943094491958618e-01 - 3.9328619837760925e-02 - <_> - 1 - 495043 - 9.6320378514866870e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.6762815713882446e-01 - 1.4560797810554504e-01 - <_> - 2 - 115729 - -9.6320378514866870e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 379314 - 9.6320378514866870e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 444906 - -9.6320378514866870e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.5643332898616791e-01 - 3.9041641235351562e+01 - <_> - 2 - 210994 - 9.6320378514866870e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 233912 - -9.6320378514866870e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0020149185666212e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.1178598403930664e-01 - 1.0164431762695312e+02 - <_> - 1 - 720173 - -1.0020149185666212e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 3.9980518817901611e-01 - 1.1795907974243164e+01 - <_> - 2 - 638834 - -1.0020149185666212e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 81339 - 1.0020149185666212e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 219776 - 1.0020149185666212e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 1.2522424757480621e-01 - 1.3854326171875000e+03 - <_> - 2 - 18266 - -1.0020149185666212e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 201510 - 1.0020149185666212e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.0142561699724210e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1266598701477051e-01 - 7.4361114501953125e+00 - <_> - 1 - 833749 - 8.0142561699724210e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.8009333014488220e-01 - 8.3695732116699219e+01 - <_> - 2 - 828878 - 8.0142561699724210e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4871 - -8.0142561699724210e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 106200 - -8.0142561699724210e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.9931599050760269e-02 - 9.0433025360107422e-01 - <_> - 2 - 47128 - 8.0142561699724210e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59072 - -8.0142561699724210e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.8531581195675044e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1393693685531616e-01 - 2.1005577087402344e+01 - <_> - 1 - 92870 - 8.8531581195675044e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.5871695280075073e-02 - 9.7751682996749878e-01 - <_> - 2 - 31360 - -8.8531581195675044e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 61510 - 8.8531581195675044e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 847079 - -8.8531581195675044e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.6624675393104553e-01 - 9.5650970935821533e-02 - <_> - 2 - 15205 - 8.8531581195675044e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 831874 - -8.8531581195675044e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.0643603190497029e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1349449157714844e-01 - 1.0527777671813965e+00 - <_> - 1 - 67213 - -8.0643603190497029e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.6659560650587082e-02 - 1.5906517207622528e-01 - <_> - 2 - 8074 - 8.0643603190497029e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 59139 - -8.0643603190497029e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 872736 - 8.0643603190497029e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.6349042654037476e-01 - 3.1296426773071289e+01 - <_> - 2 - 32152 - -8.0643603190497029e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 840584 - 8.0643603190497029e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.3408887312940355e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1333922147750854e-01 - 3.5551582336425781e+01 - <_> - 1 - 73798 - 8.3408887312940355e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.0716832429170609e-01 - 9.7878766059875488e-01 - <_> - 2 - 50078 - 8.3408887312940355e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 23720 - -8.3408887312940355e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 866151 - -8.3408887312940355e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.1367182135581970e-01 - 2.4118915557861328e+01 - <_> - 2 - 113583 - 8.3408887312940355e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 752568 - -8.3408887312940355e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0728917495552040e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1237511634826660e-01 - 2.1249774932861328e+01 - <_> - 1 - 28915 - -1.0728917495552040e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.9859049022197723e-02 - 9.7912311553955078e-01 - <_> - 2 - 10718 - -1.0728917495552040e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 18197 - 1.0728917495552040e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 911034 - 1.0728917495552040e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.8693755269050598e-01 - 9.7940850257873535e-01 - <_> - 2 - 690465 - 1.0728917495552040e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 220569 - -1.0728917495552040e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1701912983474262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1750779151916504e-01 - 9.7890961170196533e-01 - <_> - 1 - 682198 - -1.1701912983474262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.5462617278099060e-01 - 3.0072689056396484e-01 - <_> - 2 - 659971 - -1.1701912983474262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 22227 - 1.1701912983474262e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 257751 - 1.1701912983474262e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 7.4595265090465546e-02 - 1.3050000000000000e+02 - <_> - 2 - 40134 - -1.1701912983474262e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 217617 - 1.1701912983474262e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.5613730797816381e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1744431257247925e-01 - 1.2247219085693359e+02 - <_> - 1 - 936426 - 8.5613730797816381e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1352334022521973e-01 - 2.5650000000000000e+02 - <_> - 2 - 900441 - 8.5613730797816381e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 35985 - -8.5613730797816381e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3523 - -8.5613730797816381e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 7.8670568764209747e-03 - 2.6592832803726196e-01 - <_> - 2 - 2054 - 8.5613730797816381e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1469 - -8.5613730797816381e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.6735312322957378e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1344555616378784e-01 - 1.4027777910232544e+00 - <_> - 1 - 130320 - 8.6735312322957378e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 9.0417973697185516e-02 - 2.4074706435203552e-01 - <_> - 2 - 25447 - 8.6735312322957378e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 104873 - -8.6735312322957378e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 809629 - -8.6735312322957378e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.3125227093696594e-01 - 9.3393045663833618e-01 - <_> - 2 - 117895 - 8.6735312322957378e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 691734 - -8.6735312322957378e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.0242236444842213e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1339691877365112e-01 - 3.0695959472656250e+03 - <_> - 1 - 851129 - 8.0242236444842213e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.8779577016830444e-01 - 2.1493236541748047e+01 - <_> - 2 - 786756 - 8.0242236444842213e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 64373 - -8.0242236444842213e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 88820 - -8.0242236444842213e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.2254021614789963e-02 - 9.0213543176651001e-01 - <_> - 2 - 40813 - 8.0242236444842213e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 48007 - -8.0242236444842213e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.1468966820003819e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1222765445709229e-01 - 9.4596225023269653e-01 - <_> - 1 - 171277 - 8.1468966820003819e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 4.7770999372005463e-02 - 8.9500000000000000e+01 - <_> - 2 - 154357 - 8.1468966820003819e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 16920 - -8.1468966820003819e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 768672 - -8.1468966820003819e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 4.7258499264717102e-01 - 9.2105995178222656e+01 - <_> - 2 - 661302 - -8.1468966820003819e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 107370 - 8.1468966820003819e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.1451705022931221e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1278561353683472e-01 - 1.8597670898437500e+03 - <_> - 1 - 645524 - 9.1451705022931221e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.1259974241256714e-01 - 8.0559066772460938e+01 - <_> - 2 - 643966 - 9.1451705022931221e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1558 - -9.1451705022931221e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 294425 - -9.1451705022931221e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.1024726927280426e-01 - 7.1166640625000000e+03 - <_> - 2 - 264982 - -9.1451705022931221e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 29443 - 9.1451705022931221e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.9869671996668505e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1335608959197998e-01 - 9.6258354187011719e-01 - <_> - 1 - 285758 - 9.9869671996668505e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.0445322841405869e-01 - 8.0962127685546875e+01 - <_> - 2 - 159601 - 9.9869671996668505e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 126157 - -9.9869671996668505e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 654191 - -9.9869671996668505e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 4.2049345374107361e-01 - 8.2862075805664062e+01 - <_> - 2 - 501793 - -9.9869671996668505e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 152398 - 9.9869671996668505e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.8995393404377695e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 5.1490581035614014e-01 - 2.1488533020019531e+00 - <_> - 1 - 6188 - -7.8995393404377695e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.3196497932076454e-02 - 1.8914577484130859e+01 - <_> - 2 - 3651 - 7.8995393404377695e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2537 - -7.8995393404377695e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 933761 - 7.8995393404377695e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.9654209613800049e-01 - 5.9278698730468750e+02 - <_> - 2 - 18534 - -7.8995393404377695e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 915227 - 7.8995393404377695e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.3069802982608956e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1076966524124146e-01 - 2.1129188537597656e+01 - <_> - 1 - 95313 - 7.3069802982608956e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.6325383484363556e-02 - 2.7788288116455078e+01 - <_> - 2 - 14399 - -7.3069802982608956e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 80914 - 7.3069802982608956e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 844636 - -7.3069802982608956e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.6193394064903259e-01 - 9.4224190711975098e-01 - <_> - 2 - 151943 - 7.3069802982608956e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 692693 - -7.3069802982608956e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.5284014119540471e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1227766275405884e-01 - 7.2583332061767578e+00 - <_> - 1 - 827599 - 7.5284014119540471e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.7852370142936707e-01 - 1.1127196252346039e-01 - <_> - 2 - 26527 - -7.5284014119540471e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 801072 - 7.5284014119540471e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 112350 - -7.5284014119540471e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.0288418531417847e-02 - 6.5754504203796387e+00 - <_> - 2 - 85827 - -7.5284014119540471e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 26523 - 7.5284014119540471e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -6.7239043695726808e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1022368669509888e-01 - 8.2500000000000000e+01 - <_> - 1 - 10592 - 6.7239043695726808e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.5598151385784149e-02 - 2.9276496887207031e+01 - <_> - 2 - 1126 - -6.7239043695726808e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9466 - 6.7239043695726808e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 929357 - -6.7239043695726808e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.8120528459548950e-01 - 1.2259896484375000e+04 - <_> - 2 - 914623 - -6.7239043695726808e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 14734 - 6.7239043695726808e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.8109874412406910e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1145505905151367e-01 - 2.1249774932861328e+01 - <_> - 1 - 28915 - -7.8109874412406910e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.7226170301437378e-02 - 9.7948110103607178e-01 - <_> - 2 - 11023 - -7.8109874412406910e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17892 - 7.8109874412406910e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 911034 - 7.8109874412406910e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.8229137063026428e-01 - 2.1740995407104492e+01 - <_> - 2 - 17562 - -7.8109874412406910e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 893472 - 7.8109874412406910e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.3889439851449801e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1225376129150391e-01 - 3.9744672179222107e-01 - <_> - 1 - 841247 - -7.3889439851449801e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.0090205669403076e-01 - 7.5189315795898438e+01 - <_> - 2 - 825971 - -7.3889439851449801e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 15276 - 7.3889439851449801e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 98702 - 7.3889439851449801e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.7561897635459900e-02 - 9.1909484863281250e+01 - <_> - 2 - 67207 - 7.3889439851449801e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31495 - -7.3889439851449801e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.2464617387381705e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 5.1211899518966675e-01 - 3.5976135253906250e+01 - <_> - 1 - 822391 - 7.2464617387381705e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.8770624399185181e-01 - 2.2657241821289062e+01 - <_> - 2 - 707093 - 7.2464617387381705e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 115298 - -7.2464617387381705e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 117558 - -7.2464617387381705e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 3.0401989817619324e-02 - 1.0657048225402832e+01 - <_> - 2 - 52342 - -7.2464617387381705e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 65216 - 7.2464617387381705e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.5468331774474012e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1163858175277710e-01 - 2.3131701660156250e+03 - <_> - 1 - 759460 - -7.5468331774474012e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.5115607976913452e-01 - 3.8149261474609375e+00 - <_> - 2 - 30564 - 7.5468331774474012e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 728896 - -7.5468331774474012e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 180489 - 7.5468331774474012e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 6.7702054977416992e-02 - 2.2213289141654968e-01 - <_> - 2 - 105285 - -7.5468331774474012e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 75204 - 7.5468331774474012e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.5340115140718977e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1288437843322754e-01 - 1.0873125076293945e+01 - <_> - 1 - 24839 - -7.5340115140718977e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.3778979927301407e-02 - 8.1874121093750000e+02 - <_> - 2 - 2897 - 7.5340115140718977e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 21942 - -7.5340115140718977e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 915110 - 7.5340115140718977e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.6504715085029602e-01 - 8.3843841552734375e+02 - <_> - 2 - 110256 - -7.5340115140718977e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 804854 - 7.5340115140718977e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.2961739232204420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1062929630279541e-01 - 7.7204910278320312e+01 - <_> - 1 - 829688 - -7.2961739232204420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.6198007464408875e-01 - 1.4616707031250000e+04 - <_> - 2 - 820148 - -7.2961739232204420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 9540 - 7.2961739232204420e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 110261 - 7.2961739232204420e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.6252285838127136e-02 - 1.6002917289733887e-01 - <_> - 2 - 11571 - 7.2961739232204420e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 98690 - -7.2961739232204420e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 6.9085031075190817e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1334100961685181e-01 - 3.2862496948242188e+02 - <_> - 1 - 6770 - -6.9085031075190817e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.9802030175924301e-02 - 2.3638277053833008e+01 - <_> - 2 - 4586 - -6.9085031075190817e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2184 - 6.9085031075190817e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 933179 - 6.9085031075190817e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.9746236205101013e-01 - 1.2247219085693359e+02 - <_> - 2 - 929656 - 6.9085031075190817e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3523 - -6.9085031075190817e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -6.5135799717405254e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.0997900962829590e-01 - 1.6958400726318359e+01 - <_> - 1 - 30499 - 6.5135799717405254e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.2121390104293823e-02 - 1.5752697753906250e+02 - <_> - 2 - 1279 - -6.5135799717405254e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 29220 - 6.5135799717405254e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 909450 - -6.5135799717405254e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.8415681719779968e-01 - 9.2957198619842529e-01 - <_> - 2 - 102287 - 6.5135799717405254e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 807163 - -6.5135799717405254e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 6.7121523411906470e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1070320606231689e-01 - 6.8305559158325195e+00 - <_> - 1 - 810376 - 6.7121523411906470e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.7155928611755371e-01 - 2.2669214755296707e-02 - <_> - 2 - 141986 - -6.7121523411906470e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 668390 - 6.7121523411906470e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 129573 - -6.7121523411906470e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.5214787125587463e-02 - 9.1136169433593750e-01 - <_> - 2 - 59038 - 6.7121523411906470e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 70535 - -6.7121523411906470e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.2258588204175915e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.0979942083358765e-01 - 2.3646846413612366e-02 - <_> - 1 - 242637 - 9.2258588204175915e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.2459499388933182e-01 - 4.8942436218261719e+01 - <_> - 2 - 216987 - 9.2258588204175915e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 25650 - -9.2258588204175915e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 697312 - -9.2258588204175915e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.9845332503318787e-01 - 8.8724197387695312e+01 - <_> - 2 - 32833 - 9.2258588204175915e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 664479 - -9.2258588204175915e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.2414446790697690e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1558572053909302e-01 - 3.6480801391601562e+02 - <_> - 1 - 16714 - -8.2414446790697690e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.3692657947540283e-02 - 3.7838444709777832e+00 - <_> - 2 - 13546 - 8.2414446790697690e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3168 - -8.2414446790697690e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923235 - 8.2414446790697690e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.8689928650856018e-01 - 2.0956485748291016e+01 - <_> - 2 - 18896 - -8.2414446790697690e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 904339 - 8.2414446790697690e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.0159142314968707e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1253300905227661e-01 - 7.7489433288574219e+01 - <_> - 1 - 831903 - -8.0159142314968707e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.6546125411987305e-01 - 6.1990652233362198e-02 - <_> - 2 - 714401 - -8.0159142314968707e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 117502 - 8.0159142314968707e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 108046 - 8.0159142314968707e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.4567810148000717e-02 - 2.9249999523162842e+00 - <_> - 2 - 5140 - -8.0159142314968707e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 102906 - 8.0159142314968707e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.6435336318017544e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1143181324005127e-01 - 7.6274375915527344e+01 - <_> - 1 - 704230 - 8.6435336318017544e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.2848521471023560e-01 - 6.0689468383789062e+00 - <_> - 2 - 506340 - 8.6435336318017544e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 197890 - -8.6435336318017544e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 235719 - -8.6435336318017544e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 9.3110173940658569e-02 - 5.2815126953125000e+03 - <_> - 2 - 216187 - -8.6435336318017544e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 19532 - 8.6435336318017544e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.6299361674348424e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.1346254348754883e-01 - 4.3611497879028320e+00 - <_> - 1 - 617236 - -9.6299361674348424e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.6838540434837341e-01 - 1.0912328720092773e+01 - <_> - 2 - 263504 - -9.6299361674348424e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 353732 - 9.6299361674348424e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 322713 - 9.6299361674348424e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.5567083656787872e-01 - 2.2957393646240234e+01 - <_> - 2 - 273893 - 9.6299361674348424e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 48820 - -9.6299361674348424e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.2800181074087835e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1375198364257812e-01 - 1.0303613662719727e+01 - <_> - 1 - 347177 - 1.2800181074087835e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 2.2165440022945404e-01 - 1.9226037597656250e+02 - <_> - 2 - 272232 - 1.2800181074087835e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 74945 - -1.2800181074087835e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 592772 - -1.2800181074087835e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.1030243635177612e-01 - 3.0082355499267578e+01 - <_> - 2 - 114246 - 1.2800181074087835e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 478526 - -1.2800181074087835e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2758327088320612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.2071052789688110e-01 - 1.8625845336914062e+02 - <_> - 1 - 519844 - -1.2758327088320612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 2.4517355859279633e-01 - 5.2453964233398438e+01 - <_> - 2 - 449058 - -1.2758327088320612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 70786 - 1.2758327088320612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 420105 - 1.2758327088320612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.8667905926704407e-01 - 8.0124511718750000e+00 - <_> - 2 - 15931 - -1.2758327088320612e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 404174 - 1.2758327088320612e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1556975128644291e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1384389400482178e-01 - 3.0361111164093018e+00 - <_> - 1 - 456431 - 1.1556975128644291e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.7896773815155029e-01 - 2.7141433209180832e-02 - <_> - 2 - 82542 - -1.1556975128644291e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 373889 - 1.1556975128644291e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 483518 - -1.1556975128644291e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 2.4989259243011475e-01 - 1.4688331604003906e+02 - <_> - 2 - 90994 - 1.1556975128644291e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 392524 - -1.1556975128644291e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.1387202331095281e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1328349113464355e-01 - 3.0473126098513603e-02 - <_> - 1 - 355953 - 1.1387202331095281e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.5208243727684021e-01 - 2.0887202117592096e-03 - <_> - 2 - 843 - -1.1387202331095281e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 355110 - 1.1387202331095281e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 583996 - -1.1387202331095281e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.7635484933853149e-01 - 5.2909439086914062e+01 - <_> - 2 - 109291 - 1.1387202331095281e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 474705 - -1.1387202331095281e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0990809231734344e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1957875490188599e-01 - 5.7762901306152344e+01 - <_> - 1 - 429016 - -1.0990809231734344e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.1701892614364624e-01 - 2.1533111572265625e+01 - <_> - 2 - 7767 - 1.0990809231734344e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 421249 - -1.0990809231734344e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 510933 - 1.0990809231734344e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.1043047308921814e-01 - 1.8651330471038818e+00 - <_> - 2 - 185707 - -1.0990809231734344e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 325226 - 1.0990809231734344e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.1302797002674709e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1348185539245605e-01 - 3.6480801391601562e+02 - <_> - 1 - 16714 - -7.1302797002674709e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.3132173120975494e-02 - 9.6784992218017578e+00 - <_> - 2 - 1966 - 7.1302797002674709e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 14748 - -7.1302797002674709e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923235 - 7.1302797002674709e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.8468598723411560e-01 - 5.2694444656372070e+00 - <_> - 2 - 701817 - 7.1302797002674709e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 221418 - -7.1302797002674709e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.1355971249010228e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1226305961608887e-01 - 7.4459777832031250e+01 - <_> - 1 - 655746 - -8.1355971249010228e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.2784062027931213e-01 - 1.4689365386962891e+01 - <_> - 2 - 474179 - -8.1355971249010228e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 181567 - 8.1355971249010228e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 284203 - 8.1355971249010228e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 9.2487148940563202e-02 - 2.6068437099456787e-01 - <_> - 2 - 257260 - 8.1355971249010228e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 26943 - -8.1355971249010228e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.1873296930504139e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1383638381958008e-01 - 1.3917081832885742e+01 - <_> - 1 - 666300 - 9.1873296930504139e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.1398775577545166e-01 - 3.3934539556503296e-01 - <_> - 2 - 661024 - 9.1873296930504139e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5276 - -9.1873296930504139e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 273649 - -9.1873296930504139e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.0896442085504532e-01 - 1.7041602730751038e-01 - <_> - 2 - 73384 - 9.1873296930504139e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 200265 - -9.1873296930504139e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.2419900827061882e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1255029439926147e-01 - 7.6530525207519531e+01 - <_> - 1 - 680531 - -8.2419900827061882e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.3775960803031921e-01 - 3.6212229728698730e-01 - <_> - 2 - 595452 - -8.2419900827061882e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 85079 - 8.2419900827061882e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 259418 - 8.2419900827061882e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 8.2833699882030487e-02 - 1.4494836330413818e-01 - <_> - 2 - 32312 - -8.2419900827061882e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 227106 - 8.2419900827061882e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 5.8195910720962994e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1076304912567139e-01 - 3.2862496948242188e+02 - <_> - 1 - 6770 - -5.8195910720962994e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.9483391195535660e-02 - 2.3545037955045700e-02 - <_> - 2 - 4271 - -5.8195910720962994e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2499 - 5.8195910720962994e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 933179 - 5.8195910720962994e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.9506148695945740e-01 - 5.7734259033203125e+02 - <_> - 2 - 14723 - -5.8195910720962994e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 918456 - 5.8195910720962994e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.0868419482808410e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1056963205337524e-01 - 2.4845570325851440e-02 - <_> - 1 - 262591 - 9.0868419482808410e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.4444598555564880e-01 - 4.8942436218261719e+01 - <_> - 2 - 232758 - 9.0868419482808410e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 29833 - -9.0868419482808410e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 677358 - -9.0868419482808410e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.7825548648834229e-01 - 3.3225021362304688e+02 - <_> - 2 - 6090 - 9.0868419482808410e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 671268 - -9.0868419482808410e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.3879513095381270e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1341784000396729e-01 - 2.4794376373291016e+01 - <_> - 1 - 181554 - -9.3879513095381270e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.4344008266925812e-01 - 7.8456152343750000e+02 - <_> - 2 - 18636 - 9.3879513095381270e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 162918 - -9.3879513095381270e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 758395 - 9.3879513095381270e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.8001257181167603e-01 - 6.6320623779296875e+02 - <_> - 2 - 28007 - -9.3879513095381270e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 730388 - 9.3879513095381270e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.9845847805733259e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1359522342681885e-01 - 2.0583333969116211e+00 - <_> - 1 - 273068 - 9.9845847805733259e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 1.5204519033432007e-01 - 5.3405029296875000e+01 - <_> - 2 - 148524 - 9.9845847805733259e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 124544 - -9.9845847805733259e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 666881 - -9.9845847805733259e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.7289556860923767e-01 - 3.1982746124267578e+01 - <_> - 2 - 128311 - 9.9845847805733259e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 538570 - -9.9845847805733259e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.3919512814304065e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1630872488021851e-01 - 8.3809625244140625e+02 - <_> - 1 - 210529 - -9.3919512814304065e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.4106523990631104e-01 - 3.3075317382812500e+01 - <_> - 2 - 186666 - -9.3919512814304065e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 23863 - 9.3919512814304065e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 729420 - 9.3919512814304065e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.8239741325378418e-01 - 8.1059589385986328e+00 - <_> - 2 - 20642 - -9.3919512814304065e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 708778 - 9.3919512814304065e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.3286147255598963e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1171511411666870e-01 - 3.5518180847167969e+01 - <_> - 1 - 73499 - 8.3286147255598963e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.0630647838115692e-01 - 9.6968495845794678e-01 - <_> - 2 - 30252 - -8.3286147255598963e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 43247 - 8.3286147255598963e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 866450 - -8.3286147255598963e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.1450303792953491e-01 - 2.9694503784179688e+01 - <_> - 2 - 232618 - 8.3286147255598963e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 633832 - -8.3286147255598963e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.9451920948802550e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 5.1334905624389648e-01 - 6.7580406188964844e+01 - <_> - 1 - 381093 - -9.9451920948802550e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.2956003248691559e-01 - 3.4562306404113770e+00 - <_> - 2 - 320644 - -9.9451920948802550e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 60449 - 9.9451920948802550e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 558856 - 9.9451920948802550e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.9528248310089111e-01 - 5.4131675720214844e+01 - <_> - 2 - 55603 - -9.9451920948802550e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 503253 - 9.9451920948802550e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.7484575846720475e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.0921845436096191e-01 - 1.1477750778198242e+01 - <_> - 1 - 453559 - 9.7484575846720475e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 2.9782015085220337e-01 - 4.6675849914550781e+01 - <_> - 2 - 124874 - -9.7484575846720475e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 328685 - 9.7484575846720475e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 486390 - -9.7484575846720475e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.2653171420097351e-01 - 2.5138888359069824e+00 - <_> - 2 - 40222 - 9.7484575846720475e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 446168 - -9.7484575846720475e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0489068721059110e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1210880279541016e-01 - 4.3557140976190567e-02 - <_> - 1 - 569543 - 1.0489068721059110e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.0671634674072266e-01 - 6.6202972412109375e+01 - <_> - 2 - 492654 - 1.0489068721059110e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 76889 - -1.0489068721059110e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 370406 - -1.0489068721059110e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.1948232352733612e-01 - 1.0475438117980957e+01 - <_> - 2 - 175368 - -1.0489068721059110e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 195038 - 1.0489068721059110e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.3640786361259234e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1513731479644775e-01 - 7.1042518615722656e+01 - <_> - 1 - 766440 - -9.3640786361259234e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.3155348300933838e-01 - 2.0463119506835938e+01 - <_> - 2 - 742247 - -9.3640786361259234e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 24193 - 9.3640786361259234e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 173509 - 9.3640786361259234e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 9.1839611530303955e-02 - 1.1991396484375000e+03 - <_> - 2 - 6411 - -9.3640786361259234e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 167098 - 9.3640786361259234e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.2110063967193492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1329803466796875e-01 - 5.2015617370605469e+01 - <_> - 1 - 321342 - 1.2110063967193492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.5662544369697571e-01 - 3.9916667938232422e+00 - <_> - 2 - 229848 - 1.2110063967193492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 91494 - -1.2110063967193492e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 618607 - -1.2110063967193492e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.7361276745796204e-01 - 3.0552150681614876e-02 - <_> - 2 - 133924 - 1.2110063967193492e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 484683 - -1.2110063967193492e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1883732064945969e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1413631439208984e-01 - 3.5184942185878754e-02 - <_> - 1 - 434288 - -1.1883732064945969e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 3.3258283138275146e-01 - 1.8326249122619629e+00 - <_> - 2 - 120222 - 1.1883732064945969e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 314066 - -1.1883732064945969e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 505661 - 1.1883732064945969e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 1.9709157943725586e-01 - 1.2805453491210938e+02 - <_> - 2 - 103597 - -1.1883732064945969e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 402064 - 1.1883732064945969e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.5209721526612168e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 5.1127165555953979e-01 - 5.7878948211669922e+01 - <_> - 1 - 474844 - 9.5209721526612168e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.4760969877243042e-01 - 4.4236723333597183e-02 - <_> - 2 - 399453 - 9.5209721526612168e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 75391 - -9.5209721526612168e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 465105 - -9.5209721526612168e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.7617475986480713e-01 - 5.1848793945312500e+03 - <_> - 2 - 416818 - -9.5209721526612168e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 48287 - 9.5209721526612168e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0623421539921347e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1427578926086426e-01 - 2.1393588185310364e-01 - <_> - 1 - 357893 - -1.0623421539921347e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.0796292424201965e-01 - 9.5831578969955444e-01 - <_> - 2 - 128441 - 1.0623421539921347e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 229452 - -1.0623421539921347e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 582056 - 1.0623421539921347e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.1857069432735443e-01 - 9.1728906631469727e+00 - <_> - 2 - 154778 - -1.0623421539921347e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 427278 - 1.0623421539921347e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.8074675364156094e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.1148182153701782e-01 - 1.0465257644653320e+01 - <_> - 1 - 362757 - 9.8074675364156094e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.3092493414878845e-01 - 3.3313110470771790e-02 - <_> - 2 - 101489 - 9.8074675364156094e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 261268 - -9.8074675364156094e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 577192 - -9.8074675364156094e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 2.9357409477233887e-01 - 3.7736026763916016e+01 - <_> - 2 - 124775 - 9.8074675364156094e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 452417 - -9.8074675364156094e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0359002693278439e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 5.1835864782333374e-01 - 4.8388854980468750e+01 - <_> - 1 - 107186 - -1.0359002693278439e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.0784414410591125e-01 - 5.5886039733886719e+01 - <_> - 2 - 83462 - -1.0359002693278439e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 23724 - 1.0359002693278439e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 832763 - 1.0359002693278439e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.1803023219108582e-01 - 2.5985252380371094e+01 - <_> - 2 - 17842 - -1.0359002693278439e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 814921 - 1.0359002693278439e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.8198803525203415e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1493400335311890e-01 - 1.7083332538604736e+00 - <_> - 1 - 194453 - 8.8198803525203415e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.1511732637882233e-01 - 2.7744205668568611e-02 - <_> - 2 - 33358 - -8.8198803525203415e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 161095 - 8.8198803525203415e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 745496 - -8.8198803525203415e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.0691810846328735e-01 - 3.2193367004394531e+01 - <_> - 2 - 176096 - 8.8198803525203415e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 569400 - -8.8198803525203415e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.5319567469694435e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1347285509109497e-01 - 1.7780647277832031e+00 - <_> - 1 - 262405 - -8.5319567469694435e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 7.9224467277526855e-02 - 2.3705536127090454e-01 - <_> - 2 - 173592 - 8.5319567469694435e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 88813 - -8.5319567469694435e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 677544 - 8.5319567469694435e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.4209250807762146e-01 - 2.1491771697998047e+01 - <_> - 2 - 584008 - 8.5319567469694435e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 93536 - -8.5319567469694435e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.5582321207290984e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1142048835754395e-01 - 2.0529514312744141e+01 - <_> - 1 - 83892 - 7.5582321207290984e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.0806883722543716e-02 - 5.0637893676757812e+00 - <_> - 2 - 79822 - 7.5582321207290984e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4070 - -7.5582321207290984e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 856057 - -7.5582321207290984e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.6807971596717834e-01 - 6.1299880981445312e+01 - <_> - 2 - 571635 - -7.5582321207290984e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 284422 - 7.5582321207290984e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.0557212230028296e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.0872755050659180e-01 - 1.7083332538604736e+00 - <_> - 1 - 194453 - 7.0557212230028296e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.1494127660989761e-01 - 2.5290709733963013e-01 - <_> - 2 - 53183 - 7.0557212230028296e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 141270 - -7.0557212230028296e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 745496 - -7.0557212230028296e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 4.0269070863723755e-01 - 2.6766842603683472e-01 - <_> - 2 - 485595 - -7.0557212230028296e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 259901 - 7.0557212230028296e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.5915839530178353e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1210051774978638e-01 - 7.9001876831054688e+01 - <_> - 1 - 722107 - 8.5915839530178353e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.3606504797935486e-01 - 1.0130571289062500e+03 - <_> - 2 - 143780 - -8.5915839530178353e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 578327 - 8.5915839530178353e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 217842 - -8.5915839530178353e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 8.5400700569152832e-02 - 7.7776007652282715e+00 - <_> - 2 - 178634 - -8.5915839530178353e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 39208 - 8.5915839530178353e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.1871690515561377e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.1166379451751709e-01 - 1.7350000000000000e+02 - <_> - 1 - 472830 - -1.1871690515561377e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.6101397871971130e-01 - 4.1575707495212555e-02 - <_> - 2 - 337772 - -1.1871690515561377e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 135058 - 1.1871690515561377e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 467119 - 1.1871690515561377e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.6863043606281281e-01 - 6.2376068115234375e+01 - <_> - 2 - 336697 - 1.1871690515561377e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 130422 - -1.1871690515561377e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.9747021423423631e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1039820909500122e-01 - 4.5376876831054688e+01 - <_> - 1 - 450760 - 7.9747021423423631e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.8535002470016479e-01 - 4.5416669845581055e+00 - <_> - 2 - 350887 - 7.9747021423423631e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 99873 - -7.9747021423423631e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 489189 - -7.9747021423423631e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.3457618057727814e-01 - 1.7607159423828125e+03 - <_> - 2 - 237195 - -7.9747021423423631e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 251994 - 7.9747021423423631e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -1.0458336468928661e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1354891061782837e-01 - 2.3132567107677460e-01 - <_> - 1 - 714357 - -1.0458336468928661e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 3.8229107856750488e-01 - 1.1761998046875000e+04 - <_> - 2 - 696679 - -1.0458336468928661e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 17678 - 1.0458336468928661e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 225592 - 1.0458336468928661e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.4383094012737274e-01 - 3.7486991882324219e+01 - <_> - 2 - 140318 - -1.0458336468928661e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 85274 - 1.0458336468928661e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0116176671351323e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1337283849716187e-01 - 4.1362483054399490e-02 - <_> - 1 - 528160 - 1.0116176671351323e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.8520646095275879e-01 - 2.3988038301467896e-01 - <_> - 2 - 456793 - 1.0116176671351323e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 71367 - -1.0116176671351323e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 411789 - -1.0116176671351323e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.4006242156028748e-01 - 3.9607601165771484e+01 - <_> - 2 - 200827 - 1.0116176671351323e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 210962 - -1.0116176671351323e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.8587283797664668e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.1170921325683594e-01 - 2.2789442539215088e-01 - <_> - 1 - 698319 - -9.8587283797664668e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.7315154075622559e-01 - 7.7017005920410156e+01 - <_> - 2 - 501613 - -9.8587283797664668e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 196706 - 9.8587283797664668e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 241630 - 9.8587283797664668e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.5147534012794495e-01 - 7.9469665527343750e+01 - <_> - 2 - 155563 - 9.8587283797664668e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 86067 - -9.8587283797664668e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.2388925867946902e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1272624731063843e-01 - 2.4836845397949219e+00 - <_> - 1 - 8336 - -7.2388925867946902e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.8353475034236908e-02 - 2.1864805221557617e+01 - <_> - 2 - 4716 - 7.2388925867946902e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3620 - -7.2388925867946902e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 931613 - 7.2388925867946902e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.8973587155342102e-01 - 1.9532299041748047e+01 - <_> - 2 - 899770 - 7.2388925867946902e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 31843 - -7.2388925867946902e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -6.9927448485946411e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.1072293519973755e-01 - 8.3762603759765625e+01 - <_> - 1 - 870511 - -6.9927448485946411e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.8741468787193298e-01 - 2.1392341613769531e+01 - <_> - 2 - 100383 - 6.9927448485946411e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 770128 - -6.9927448485946411e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 69438 - 6.9927448485946411e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.0060056596994400e-02 - 2.4718548583984375e+02 - <_> - 2 - 5962 - -6.9927448485946411e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 63476 - 6.9927448485946411e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.2269446935734366e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 5.1198285818099976e-01 - 4.1848121643066406e+01 - <_> - 1 - 55631 - -7.2269446935734366e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 7.9731270670890808e-02 - 8.2703430175781250e+02 - <_> - 2 - 5002 - 7.2269446935734366e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 50629 - -7.2269446935734366e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 884318 - 7.2269446935734366e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.3832823634147644e-01 - 5.5659802246093750e+02 - <_> - 2 - 31695 - -7.2269446935734366e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 852623 - 7.2269446935734366e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.1999307597837292e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1122826337814331e-01 - 1.4027777910232544e+00 - <_> - 1 - 130320 - 7.1999307597837292e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 8.8670313358306885e-02 - 2.0237146377563477e+01 - <_> - 2 - 19142 - -7.1999307597837292e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 111178 - 7.1999307597837292e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 809629 - -7.1999307597837292e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.2932173609733582e-01 - 7.3771652221679688e+01 - <_> - 2 - 780723 - -7.1999307597837292e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 28906 - 7.1999307597837292e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 6.6314611340506965e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1069760322570801e-01 - 3.6350097656250000e+02 - <_> - 1 - 16619 - -6.6314611340506965e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.4099999815225601e-02 - 3.7838444709777832e+00 - <_> - 2 - 13487 - 6.6314611340506965e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3132 - -6.6314611340506965e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 923330 - 6.6314611340506965e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 4.8247256875038147e-01 - 6.7861108779907227e+00 - <_> - 2 - 791820 - 6.6314611340506965e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 131510 - -6.6314611340506965e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -7.8905796369653489e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1127386093139648e-01 - 9.3714785575866699e-01 - <_> - 1 - 130472 - 7.8905796369653489e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.6708597093820572e-02 - 1.4108461141586304e-01 - <_> - 2 - 31678 - -7.8905796369653489e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 98794 - 7.8905796369653489e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 809477 - -7.8905796369653489e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.8300760984420776e-01 - 4.2025224609375000e+03 - <_> - 2 - 646531 - -7.8905796369653489e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 162946 - 7.8905796369653489e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 7.8072262911372578e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.1048618555068970e-01 - 1.3338859379291534e-01 - <_> - 1 - 72512 - -7.8072262911372578e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 9.2181146144866943e-02 - 2.2968001365661621e+00 - <_> - 2 - 17394 - 7.8072262911372578e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 55118 - -7.8072262911372578e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 867437 - 7.8072262911372578e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 4.2732700705528259e-01 - 1.9246902465820312e+00 - <_> - 2 - 362527 - -7.8072262911372578e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 504910 - 7.8072262911372578e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.2238364194507275e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1418399810791016e-01 - 2.2395410537719727e+00 - <_> - 1 - 513799 - 9.2238364194507275e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.8378044664859772e-01 - 1.2741674423217773e+01 - <_> - 2 - 303902 - -9.2238364194507275e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 209897 - 9.2238364194507275e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 426150 - -9.2238364194507275e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.3926281332969666e-01 - 3.8725262880325317e-01 - <_> - 2 - 412951 - -9.2238364194507275e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 13199 - 9.2238364194507275e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 6.8149442290896436e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1459604501724243e-01 - 1.1534797668457031e+01 - <_> - 1 - 1694 - -6.8149442290896436e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 7.3195197619497776e-03 - 3.0557768554687500e+03 - <_> - 2 - 550 - 6.8149442290896436e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1144 - -6.8149442290896436e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 938255 - 6.8149442290896436e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.0971126556396484e-01 - 9.0099792480468750e+01 - <_> - 2 - 935151 - 6.8149442290896436e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3104 - -6.8149442290896436e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.3064027551599024e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.0871545076370239e-01 - 1.4050000000000000e+02 - <_> - 1 - 190472 - 9.3064027551599024e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 2.1024987101554871e-01 - 9.7942411899566650e-01 - <_> - 2 - 141929 - 9.3064027551599024e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 48543 - -9.3064027551599024e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 749477 - -9.3064027551599024e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 3.1299936771392822e-01 - 9.7865974903106689e-01 - <_> - 2 - 537369 - -9.3064027551599024e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 212108 - 9.3064027551599024e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 8.3429426841054810e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1083725690841675e-01 - 9.8939685058593750e+02 - <_> - 1 - 293459 - -8.3429426841054810e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.8333186209201813e-01 - 9.8017108440399170e-01 - <_> - 2 - 148283 - -8.3429426841054810e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 145176 - 8.3429426841054810e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 646490 - 8.3429426841054810e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.3751341700553894e-01 - 4.4099445343017578e+01 - <_> - 2 - 49053 - -8.3429426841054810e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 597437 - 8.3429426841054810e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -9.1370924959347538e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.1122385263442993e-01 - 2.6027777194976807e+00 - <_> - 1 - 380777 - 9.1370924959347538e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.2420799732208252e-01 - 1.5382666885852814e-01 - <_> - 2 - 20466 - -9.1370924959347538e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 360311 - 9.1370924959347538e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 559172 - -9.1370924959347538e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.9861885309219360e-01 - 3.1233376264572144e-01 - <_> - 2 - 555373 - -9.1370924959347538e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3799 - 9.1370924959347538e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 1.0525025290225019e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.1245540380477905e-01 - 1.3024299316406250e+03 - <_> - 1 - 444184 - -1.0525025290225019e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.8796845674514771e-01 - 4.8693733215332031e+01 - <_> - 2 - 414164 - -1.0525025290225019e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 30020 - 1.0525025290225019e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 495765 - 1.0525025290225019e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 2.3831984400749207e-01 - 3.5366456508636475e+00 - <_> - 2 - 395233 - 1.0525025290225019e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 100532 - -1.0525025290225019e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - 9.9200526586580143e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.1484316587448120e-01 - 4.9804302215576172e+01 - <_> - 1 - 642680 - 9.9200526586580143e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 3.4121102094650269e-01 - 9.1308612823486328e+00 - <_> - 2 - 596472 - 9.9200526586580143e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 46208 - -9.9200526586580143e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 297269 - -9.9200526586580143e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 1.8356879055500031e-01 - 4.7991874694824219e+01 - <_> - 2 - 28000 - 9.9200526586580143e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 269269 - -9.9200526586580143e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 939949 - -8.1278822395898273e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.1284188032150269e-01 - 1.8550380706787109e+01 - <_> - 1 - 561962 - -8.1278822395898273e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.4744775295257568e-01 - 1.3132913038134575e-02 - <_> - 2 - 111699 - 8.1278822395898273e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 450263 - -8.1278822395898273e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 377987 - 8.1278822395898273e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 1.7286077141761780e-01 - 1.2966735839843750e+03 - <_> - 2 - 88788 - -8.1278822395898273e-02 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 289199 - 8.1278822395898273e-02 - 1 - 0 - 0 - 0. - 0. - 0. - 0.
-
diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_conditional_field_weights.txt b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_conditional_field_weights.txt deleted file mode 100644 index bf28f59..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_conditional_field_weights.txt +++ /dev/null @@ -1,35 +0,0 @@ - 0.0315632 - 0.130265 - 0.230182 - 0.120392 - 0.235773 - 0.111072 - 0.153368 - 0.0664334 - 0.254045 - 0.116998 - 0.1993 - 0.091067 - 0.0397418 - 0.414929 - 0.0781084 - 0.0429856 --0.0506238 - 0.252552 - 0.249195 - 0.157152 - 0.409335 - 0.28834 - 0.284801 - 0.0958252 - 0.139567 - 0.305824 - 0.33268 - 0.148952 - 0.287684 - 0.378066 - 0.499984 - 0.39717 - 0.282108 - 0.548368 - 0.537415 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_doorway_boost.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_doorway_boost.xml deleted file mode 100644 index bc1c3b7..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_doorway_boost.xml +++ /dev/null @@ -1,3260 +0,0 @@ - - - - DiscreteAdaboost - 3 - 35 - 1. - 1 - 28 - 28 - 28 - 0 - - 0 - 10 - 2 - 10 - 0 - - 1 - 2 -
d
- - 1. 1.
- - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - 1 - 1 -
i
- - 2
- - 1 - 2 -
i
- - -1 1
- - <_> - -1 - - <_> - 0 - 9107 - -3.2714055917456113e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 9.6310532093048096e-01 - 55. - <_> - 1 - 38 - 3.2714055917456113e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 3.9530033245682716e-03 - 4.3359134674072266e+01 - <_> - 2 - 2 - -3.2714055917456113e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 36 - 3.2714055917456113e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 9069 - -3.2714055917456113e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 9.5948171615600586e-01 - 2.4549925231933594e+02 - <_> - 2 - 9066 - -3.2714055917456113e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3 - 3.2714055917456113e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -2.3152649157339633e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 8.7555474042892456e-01 - 170. - <_> - 1 - 1161 - 2.3152649157339633e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 4.5387151837348938e-01 - 110. - <_> - 2 - 625 - -2.3152649157339633e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 536 - 2.3152649157339633e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 7946 - -2.3152649157339633e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 4.5626187324523926e-01 - 5.0481063842773438e+01 - <_> - 2 - 7781 - -2.3152649157339633e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 165 - 2.3152649157339633e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 1.6100350400745878e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 7.2100114822387695e-01 - 7.9208981990814209e-01 - <_> - 1 - 4332 - -1.6100350400745878e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 2.1469165384769440e-01 - 8.9369656250000000e+05 - <_> - 2 - 4281 - -1.6100350400745878e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 51 - 1.6100350400745878e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4775 - 1.6100350400745878e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 6.1872458457946777e-01 - 4.1944444179534912e-01 - <_> - 2 - 2452 - 1.6100350400745878e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2323 - -1.6100350400745878e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -9.2897773716780951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 6.5099722146987915e-01 - 3.5741989135742188e+01 - <_> - 1 - 5324 - -9.2897773716780951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.8559100627899170e-01 - 7.7840313720703125e+02 - <_> - 2 - 264 - 9.2897773716780951e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5060 - -9.2897773716780951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3783 - 9.2897773716780951e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 4.3127682805061340e-01 - 1.1550946235656738e+00 - <_> - 2 - 2882 - -9.2897773716780951e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 901 - 9.2897773716780951e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 8.4761073934510067e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 6.4322030544281006e-01 - 6.6717926025390625e+01 - <_> - 1 - 6279 - -8.4761073934510067e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 3.7461647391319275e-01 - 8.8262379169464111e-02 - <_> - 2 - 911 - 8.4761073934510067e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5368 - -8.4761073934510067e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2828 - 8.4761073934510067e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 3.2544922828674316e-01 - 2.5000000372529030e-02 - <_> - 2 - 1623 - -8.4761073934510067e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1205 - 8.4761073934510067e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -6.8203305172393069e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 6.0584831237792969e-01 - 270. - <_> - 1 - 5464 - 6.8203305172393069e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 5.3175848722457886e-01 - 9.9500000000000000e+01 - <_> - 2 - 2965 - -6.8203305172393069e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2499 - 6.8203305172393069e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3643 - -6.8203305172393069e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 1.3242444396018982e-01 - 3.9999997615814209e-01 - <_> - 2 - 1 - -6.8203305172393069e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3642 - -6.8203305172393069e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -6.8717287466109556e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.9576237201690674e-01 - 6.3829338073730469e+01 - <_> - 1 - 4957 - -6.8717287466109556e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.2716684639453888e-01 - 7.2365472412109375e+02 - <_> - 2 - 198 - 6.8717287466109556e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4759 - -6.8717287466109556e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4150 - 6.8717287466109556e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 4.3817088007926941e-01 - 1.7850000000000000e+02 - <_> - 2 - 3634 - 6.8717287466109556e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 516 - -6.8717287466109556e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -6.6399674013829491e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 6.1477029323577881e-01 - 1.2550000000000000e+02 - <_> - 1 - 7371 - -6.6399674013829491e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 5.1602345705032349e-01 - 8.1892893750000000e+05 - <_> - 2 - 7338 - -6.6399674013829491e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 33 - 6.6399674013829491e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1736 - 6.6399674013829491e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.4413419365882874e-01 - 1.8449199199676514e-01 - <_> - 2 - 703 - -6.6399674013829491e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1033 - 6.6399674013829491e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 6.7159186942512283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 6.0821497440338135e-01 - 3.7500000000000000e+01 - <_> - 1 - 4219 - 6.7159186942512283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 4.0776279568672180e-01 - 270. - <_> - 2 - 2183 - 6.7159186942512283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2036 - -6.7159186942512283e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4888 - -6.7159186942512283e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 2.5409671664237976e-01 - 1.5013561248779297e+00 - <_> - 2 - 3390 - -6.7159186942512283e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1498 - 6.7159186942512283e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -6.2809361212419890e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.8938223123550415e-01 - 1.5500000000000000e+01 - <_> - 1 - 2964 - 6.2809361212419890e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 1.8443775177001953e-01 - 1.0236372947692871e+00 - <_> - 2 - 2227 - -6.2809361212419890e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 737 - 6.2809361212419890e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 6143 - -6.2809361212419890e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 4.6761932969093323e-01 - 8.2522457838058472e-01 - <_> - 2 - 2341 - 6.2809361212419890e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3802 - -6.2809361212419890e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 7.0723932494989528e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.8280897140502930e-01 - 5.2326019287109375e+01 - <_> - 1 - 6982 - 7.0723932494989528e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.1291543841362000e-01 - 2.7679210662841797e+01 - <_> - 2 - 3720 - -7.0723932494989528e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3262 - 7.0723932494989528e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2125 - -7.0723932494989528e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.5687542557716370e-01 - 1.8152867257595062e-01 - <_> - 2 - 1253 - 7.0723932494989528e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 872 - -7.0723932494989528e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -6.2584596498195966e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.9209883213043213e-01 - 4.1250659942626953e+01 - <_> - 1 - 5070 - 6.2584596498195966e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.1918424963951111e-01 - 1.3500000000000000e+01 - <_> - 2 - 1887 - 6.2584596498195966e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3183 - -6.2584596498195966e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4037 - -6.2584596498195966e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 4.3236270546913147e-01 - 1.2050000000000000e+02 - <_> - 2 - 3165 - -6.2584596498195966e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 872 - 6.2584596498195966e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 6.1904643227130030e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 5.7970148324966431e-01 - 170. - <_> - 1 - 1161 - 6.1904643227130030e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 3.3826807141304016e-01 - 8.4383964538574219e-02 - <_> - 2 - 138 - -6.1904643227130030e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1023 - 6.1904643227130030e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 7946 - -6.1904643227130030e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.1173357367515564e-01 - 2.1469295024871826e-01 - <_> - 2 - 6329 - -6.1904643227130030e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1617 - 6.1904643227130030e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -6.3131072039408431e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 5.7840973138809204e-01 - 3.0634849548339844e+01 - <_> - 1 - 7789 - -6.3131072039408431e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.7280678749084473e-01 - 3.2754845619201660e+00 - <_> - 2 - 7573 - -6.3131072039408431e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 216 - 6.3131072039408431e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1318 - 6.3131072039408431e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.7997982501983643e-01 - 1.3653913140296936e-01 - <_> - 2 - 555 - -6.3131072039408431e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 763 - 6.3131072039408431e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 6.5502294805462713e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 6.1450338363647461e-01 - 1.2136831134557724e-01 - <_> - 1 - 5667 - 6.5502294805462713e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 5.2657282352447510e-01 - 5.4250793457031250e+01 - <_> - 2 - 5532 - 6.5502294805462713e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 135 - -6.5502294805462713e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3440 - -6.5502294805462713e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 1.3156862556934357e-01 - 5.0000000000000000e-01 - <_> - 2 - 42 - 6.5502294805462713e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3398 - -6.5502294805462713e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.0226863579218839e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.8985453844070435e-01 - 9.5000000000000000e+00 - <_> - 1 - 2414 - 5.0226863579218839e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 1.0689283907413483e-01 - 1.8055555224418640e-01 - <_> - 2 - 2211 - -5.0226863579218839e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 203 - 5.0226863579218839e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 6693 - -5.0226863579218839e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.1609945297241211e-01 - 1.4911785125732422e+00 - <_> - 2 - 123 - 5.0226863579218839e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6570 - -5.0226863579218839e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.7991872916504247e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 5.8454781770706177e-01 - 270. - <_> - 1 - 5464 - 4.7991872916504247e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 5.5896860361099243e-01 - 1.8550000000000000e+02 - <_> - 2 - 4425 - 4.7991872916504247e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1039 - -4.7991872916504247e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3643 - -4.7991872916504247e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 5.8760087937116623e-02 - 1.4157611131668091e-01 - <_> - 2 - 3424 - -4.7991872916504247e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 219 - 4.7991872916504247e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.1678353149475698e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 5.8672708272933960e-01 - 1.5460885763168335e+00 - <_> - 1 - 6012 - -5.1678353149475698e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 4.2891278862953186e-01 - 3.8852580566406250e+03 - <_> - 2 - 5942 - -5.1678353149475698e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 70 - 5.1678353149475698e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3095 - 5.1678353149475698e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 1.9748255610466003e-01 - 2.9461697265625000e+04 - <_> - 2 - 1710 - -5.1678353149475698e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1385 - 5.1678353149475698e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.0363490149754094e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.5959206819534302e-01 - 2.7556386718750000e+03 - <_> - 1 - 7882 - 4.0363490149754094e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 4.4465914368629456e-01 - 5.2763319015502930e-01 - <_> - 2 - 2963 - -4.0363490149754094e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4919 - 4.0363490149754094e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1225 - -4.0363490149754094e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 1.5490151941776276e-01 - 6.4314804077148438e+01 - <_> - 2 - 225 - 4.0363490149754094e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1000 - -4.0363490149754094e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.9095934231959842e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.8047777414321899e-01 - 8.6264999389648438e+01 - <_> - 1 - 7440 - -4.9095934231959842e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 4.4410687685012817e-01 - 1.0182608366012573e+00 - <_> - 2 - 742 - 4.9095934231959842e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6698 - -4.9095934231959842e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1667 - 4.9095934231959842e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 1.7622554302215576e-01 - 1.1985499572753906e+02 - <_> - 2 - 463 - 4.9095934231959842e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1204 - -4.9095934231959842e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 5.0451759294742304e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.6870746612548828e-01 - 1.5613188743591309e+00 - <_> - 1 - 4478 - -5.0451759294742304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.6170817017555237e-01 - 8.5175827026367188e+01 - <_> - 2 - 4180 - -5.0451759294742304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 298 - 5.0451759294742304e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4629 - 5.0451759294742304e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 3.6181223392486572e-01 - 1.7850000000000000e+02 - <_> - 2 - 3738 - 5.0451759294742304e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 891 - -5.0451759294742304e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.8549094627092687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.6624644994735718e-01 - 4.1566818237304688e+01 - <_> - 1 - 5120 - 4.8549094627092687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 2.1347649395465851e-01 - 170. - <_> - 2 - 444 - 4.8549094627092687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4676 - -4.8549094627092687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3987 - -4.8549094627092687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 4.0556713938713074e-01 - 8.3500000000000000e+01 - <_> - 2 - 2284 - 4.8549094627092687e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1703 - -4.8549094627092687e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.4357375720496384e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 5.6585323810577393e-01 - 1.0664761066436768e+00 - <_> - 1 - 1768 - 4.4357375720496384e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 1.4249736070632935e-01 - 4.8953857421875000e+03 - <_> - 2 - 1438 - 4.4357375720496384e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 330 - -4.4357375720496384e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 7339 - -4.4357375720496384e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.6661290526390076e-01 - 4.1567359924316406e+01 - <_> - 2 - 4129 - 4.4357375720496384e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3210 - -4.4357375720496384e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 5.1670651941009904e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.7469356060028076e-01 - 5.1958709716796875e+01 - <_> - 1 - 6391 - -5.1670651941009904e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 2.8974708914756775e-01 - 205. - <_> - 2 - 3431 - -5.1670651941009904e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2960 - 5.1670651941009904e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2716 - 5.1670651941009904e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.3663022518157959e-01 - 1.3901821899414062e+02 - <_> - 2 - 2505 - 5.1670651941009904e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 211 - -5.1670651941009904e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.9175005119569001e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.5667036771774292e-01 - 2.3750000000000000e+00 - <_> - 1 - 2527 - 3.9175005119569001e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.1789477616548538e-01 - 1.9780056476593018e+00 - <_> - 2 - 955 - -3.9175005119569001e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1572 - 3.9175005119569001e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 6580 - -3.9175005119569001e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 4.7880914807319641e-01 - 2.9500000000000000e+01 - <_> - 2 - 4174 - -3.9175005119569001e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2406 - 3.9175005119569001e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.1470802376187574e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 5.5831867456436157e-01 - 170. - <_> - 1 - 1161 - 5.1470802376187574e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 3.9778375625610352e-01 - 6.7979972839355469e+01 - <_> - 2 - 765 - 5.1470802376187574e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 396 - -5.1470802376187574e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 7946 - -5.1470802376187574e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.2812573611736298e-01 - 9.2190345764160156e+01 - <_> - 2 - 7313 - -5.1470802376187574e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 633 - 5.1470802376187574e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.2337279493316338e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.6844371557235718e-01 - 1.1582202148437500e+02 - <_> - 1 - 7561 - -4.2337279493316338e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.7152063846588135e-01 - 1.1693493652343750e+03 - <_> - 2 - 3161 - 4.2337279493316338e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4400 - -4.2337279493316338e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1546 - 4.2337279493316338e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 2.3276942968368530e-01 - 6.9638891220092773e+00 - <_> - 2 - 1219 - 4.2337279493316338e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 327 - -4.2337279493316338e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.5821621806657103e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.8577603101730347e-01 - 5.7022949218750000e+01 - <_> - 1 - 3774 - -4.5821621806657103e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 1.4161908626556396e-01 - 205. - <_> - 2 - 1937 - -4.5821621806657103e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1837 - 4.5821621806657103e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5333 - 4.5821621806657103e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 4.7097182273864746e-01 - 270. - <_> - 2 - 3496 - 4.5821621806657103e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1837 - -4.5821621806657103e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.7843490616237097e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 5.6317996978759766e-01 - 1.0272638702392578e+02 - <_> - 1 - 8130 - -3.7843490616237097e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.0669294595718384e-01 - 1.4659145474433899e-01 - <_> - 2 - 2015 - 3.7843490616237097e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6115 - -3.7843490616237097e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 977 - 3.7843490616237097e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 8.6802639067173004e-02 - 3.0500000000000000e+01 - <_> - 2 - 472 - 3.7843490616237097e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 505 - -3.7843490616237097e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.4811816939793903e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.7101595401763916e-01 - 2.0504987239837646e-01 - <_> - 1 - 3615 - -4.4811816939793903e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.5422197580337524e-01 - 6.0896649956703186e-02 - <_> - 2 - 3062 - -4.4811816939793903e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 553 - 4.4811816939793903e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5492 - 4.4811816939793903e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 3.5596972703933716e-01 - 1.4530952453613281e+01 - <_> - 2 - 3831 - -4.4811816939793903e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1661 - 4.4811816939793903e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.1148184795391379e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 5.6035870313644409e-01 - 9.9717175960540771e-01 - <_> - 1 - 4861 - -4.1148184795391379e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.9316196441650391e-01 - 9.5117878913879395e-01 - <_> - 2 - 494 - 4.1148184795391379e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4367 - -4.1148184795391379e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4246 - 4.1148184795391379e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.0828117728233337e-01 - 1.6942491754889488e-02 - <_> - 2 - 2732 - -4.1148184795391379e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1514 - 4.1148184795391379e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.3029155546966441e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.6485289335250854e-01 - 2.3122344166040421e-02 - <_> - 1 - 4543 - 4.3029155546966441e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 2.2718144953250885e-01 - 360. - <_> - 2 - 2882 - 4.3029155546966441e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1661 - -4.3029155546966441e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4564 - -4.3029155546966441e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.7876182794570923e-01 - 9.5000000000000000e+00 - <_> - 2 - 2356 - 4.3029155546966441e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2208 - -4.3029155546966441e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.1773668811624759e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.6275844573974609e-01 - 2.7182479858398438e+02 - <_> - 1 - 7297 - -4.1773668811624759e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 3.6964702606201172e-01 - 3.7593054771423340e-01 - <_> - 2 - 6400 - -4.1773668811624759e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 897 - 4.1773668811624759e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1810 - 4.1773668811624759e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 2.3329451680183411e-01 - 5.7824768066406250e+02 - <_> - 2 - 1337 - 4.1773668811624759e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 473 - -4.1773668811624759e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 3.7409012181142703e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.5900222063064575e-01 - 2.5404727935791016e+01 - <_> - 1 - 3041 - -3.7409012181142703e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 6.6533848643302917e-02 - 8.0045714974403381e-02 - <_> - 2 - 183 - 3.7409012181142703e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2858 - -3.7409012181142703e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 6066 - 3.7409012181142703e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.2591305971145630e-01 - 5.0168984375000000e+03 - <_> - 2 - 4591 - 3.7409012181142703e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1475 - -3.7409012181142703e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.0148831215433622e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.6105279922485352e-01 - 1.4739143848419189e-01 - <_> - 1 - 2280 - 4.0148831215433622e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 1.3512298464775085e-01 - 1.3335093855857849e-01 - <_> - 2 - 1782 - 4.0148831215433622e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 498 - -4.0148831215433622e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 6827 - -4.0148831215433622e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 4.6392220258712769e-01 - 1.4722222089767456e-01 - <_> - 2 - 2657 - 4.0148831215433622e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4170 - -4.0148831215433622e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0.
-
diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_hallway_boost.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_hallway_boost.xml deleted file mode 100644 index 1971177..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_hallway_boost.xml +++ /dev/null @@ -1,3260 +0,0 @@ - - - - DiscreteAdaboost - 3 - 35 - 1. - 1 - 28 - 28 - 28 - 0 - - 0 - 10 - 2 - 10 - 0 - - 1 - 2 -
d
- - 1. 1.
- - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - 1 - 1 -
i
- - 2
- - 1 - 2 -
i
- - -1 1
- - <_> - -1 - - <_> - 0 - 9107 - -2.3498728981776389e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 8.9634346961975098e-01 - 6.6852409362792969e+01 - <_> - 1 - 7681 - -2.3498728981776389e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 7.8093773126602173e-01 - 7.5708389282226562e+00 - <_> - 2 - 7532 - -2.3498728981776389e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 149 - 2.3498728981776389e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1426 - 2.3498728981776389e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 1.3198637962341309e-01 - 9.3578100204467773e-01 - <_> - 2 - 1238 - 2.3498728981776389e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 188 - -2.3498728981776389e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -1.6132361966763005e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 7.6537060737609863e-01 - 4.2279670715332031e+01 - <_> - 1 - 6116 - -1.6132361966763005e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.8815322518348694e-01 - 3.4980114746093750e+02 - <_> - 2 - 68 - 1.6132361966763005e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6048 - -1.6132361966763005e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2991 - 1.6132361966763005e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.4570696353912354e-01 - 1.3932722806930542e-01 - <_> - 2 - 549 - -1.6132361966763005e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2442 - 1.6132361966763005e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -8.6550204224557181e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 6.5861845016479492e-01 - 4.0388727188110352e+00 - <_> - 1 - 7734 - -8.6550204224557181e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.2588081359863281e-01 - 1.6050000000000000e+02 - <_> - 2 - 7122 - -8.6550204224557181e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 612 - 8.6550204224557181e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1373 - 8.6550204224557181e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.7792810499668121e-01 - 2.3789729923009872e-02 - <_> - 2 - 367 - -8.6550204224557181e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1006 - 8.6550204224557181e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 1.7418811673013059e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 6.9076508283615112e-01 - 4.9995690584182739e-02 - <_> - 1 - 6736 - 1.7418811673013059e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 6.0081732273101807e-01 - 2.2865723818540573e-02 - <_> - 2 - 4506 - -1.7418811673013059e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2230 - 1.7418811673013059e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2371 - -1.7418811673013059e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 2.5010851025581360e-01 - 2.2531497192382812e+02 - <_> - 2 - 2003 - -1.7418811673013059e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 368 - 1.7418811673013059e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -6.1239962291525207e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 6.1669647693634033e-01 - 8.4107868373394012e-02 - <_> - 1 - 1193 - 6.1239962291525207e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 1.1767710745334625e-01 - 1.6722180175781250e+02 - <_> - 2 - 450 - -6.1239962291525207e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 743 - 6.1239962291525207e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 7914 - -6.1239962291525207e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.3081089258193970e-01 - 1.4006979370117188e+02 - <_> - 2 - 7625 - -6.1239962291525207e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 289 - 6.1239962291525207e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 9.1579372703108464e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 6.5173763036727905e-01 - 1.2015671730041504e+00 - <_> - 1 - 5305 - 9.1579372703108464e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.5489611625671387e-01 - 9.7820323705673218e-01 - <_> - 2 - 3417 - 9.1579372703108464e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1888 - -9.1579372703108464e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3802 - -9.1579372703108464e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 1.5928816795349121e-01 - 1.8055555224418640e-01 - <_> - 2 - 68 - 9.1579372703108464e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3734 - -9.1579372703108464e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -8.6551874205548596e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 6.1528581380844116e-01 - 6.6963409423828125e+01 - <_> - 1 - 7686 - 8.6551874205548596e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 4.4570353627204895e-01 - 4.1311408996582031e+01 - <_> - 2 - 5079 - -8.6551874205548596e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2607 - 8.6551874205548596e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1421 - -8.6551874205548596e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 2.5810885429382324e-01 - 1.0591673851013184e+00 - <_> - 2 - 145 - 8.6551874205548596e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1276 - -8.6551874205548596e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -6.2614995057232792e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.9996426105499268e-01 - 9.7818785905838013e-01 - <_> - 1 - 7185 - -6.2614995057232792e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 5.0314968824386597e-01 - 2.3851454687500000e+05 - <_> - 2 - 6646 - -6.2614995057232792e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 539 - 6.2614995057232792e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1922 - 6.2614995057232792e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.4846630394458771e-01 - 9.8264855146408081e-01 - <_> - 2 - 777 - 6.2614995057232792e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1145 - -6.2614995057232792e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 6.2991355645422531e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.9118473529815674e-01 - 3.3339038085937500e+03 - <_> - 1 - 6044 - 6.2991355645422531e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.9555683732032776e-01 - 6.2690764665603638e-02 - <_> - 2 - 4856 - 6.2991355645422531e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1188 - -6.2991355645422531e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3063 - -6.2991355645422531e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.5691303610801697e-01 - 1.1739651858806610e-01 - <_> - 2 - 621 - 6.2991355645422531e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2442 - -6.2991355645422531e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.3693540876437640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 5.8123505115509033e-01 - 5.0875937938690186e-01 - <_> - 1 - 3368 - 5.3693540876437640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 2.7925282716751099e-01 - 1.3729497790336609e-01 - <_> - 2 - 2283 - 5.3693540876437640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1085 - -5.3693540876437640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5739 - -5.3693540876437640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 3.5184639692306519e-01 - 1.6750000000000000e+02 - <_> - 2 - 4035 - -5.3693540876437640e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1704 - 5.3693540876437640e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.8439268669317326e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.6430369615554810e-01 - 2.5947868824005127e+00 - <_> - 1 - 5606 - -4.8439268669317326e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.9663595557212830e-01 - 3.9991921386718750e+03 - <_> - 2 - 4874 - -4.8439268669317326e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 732 - 4.8439268669317326e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3501 - 4.8439268669317326e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.2214865088462830e-01 - 1.1504754424095154e-01 - <_> - 2 - 316 - -4.8439268669317326e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3185 - 4.8439268669317326e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.5437128649510958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.7781493663787842e-01 - 2.2847714843750000e+03 - <_> - 1 - 4479 - 5.5437128649510958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 2.8067153692245483e-01 - 1.2577197265625000e+02 - <_> - 2 - 2399 - -5.5437128649510958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2080 - 5.5437128649510958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4628 - -5.5437128649510958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 3.5447761416435242e-01 - 1.3909022521972656e+02 - <_> - 2 - 4345 - -5.5437128649510958e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 283 - 5.5437128649510958e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 5.1617004625401719e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 5.7309782505035400e-01 - 1.2401015758514404e+00 - <_> - 1 - 5400 - 5.1617004625401719e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.1140254735946655e-01 - 4.0250364691019058e-02 - <_> - 2 - 2528 - 5.1617004625401719e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2872 - -5.1617004625401719e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3707 - -5.1617004625401719e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 1.1484922468662262e-01 - 1.3003096875000000e+05 - <_> - 2 - 3570 - -5.1617004625401719e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 137 - 5.1617004625401719e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 5.1095995142958284e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.9661746025085449e-01 - 2.8615169227123260e-02 - <_> - 1 - 5241 - -5.1095995142958284e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 2.1537163853645325e-01 - 7.1873486042022705e-02 - <_> - 2 - 118 - 5.1095995142958284e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5123 - -5.1095995142958284e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3866 - 5.1095995142958284e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 4.0965983271598816e-01 - 170. - <_> - 2 - 573 - -5.1095995142958284e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3293 - 5.1095995142958284e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 5.2964126402070311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 5.6208497285842896e-01 - 5.3500000000000000e+01 - <_> - 1 - 3278 - -5.2964126402070311e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.6643174886703491e-01 - 9.9117996215820312e+01 - <_> - 2 - 2709 - -5.2964126402070311e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 569 - 5.2964126402070311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5829 - 5.2964126402070311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 3.6296769976615906e-01 - 2.4722221493721008e-01 - <_> - 2 - 2507 - 5.2964126402070311e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3322 - -5.2964126402070311e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.1827892565724454e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 5.6495547294616699e-01 - 7.6652656250000000e+04 - <_> - 1 - 6548 - -5.1827892565724454e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.6618286967277527e-01 - 1.0029506683349609e+02 - <_> - 2 - 6381 - -5.1827892565724454e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 167 - 5.1827892565724454e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2559 - 5.1827892565724454e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 3.6056235432624817e-01 - 7.5181976318359375e+01 - <_> - 2 - 1238 - 5.1827892565724454e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1321 - -5.1827892565724454e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.5883209311338768e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.7222849130630493e-01 - 1.7901263236999512e+00 - <_> - 1 - 2055 - -4.5883209311338768e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 1.0671431571245193e-01 - 2.0302377641201019e-01 - <_> - 2 - 369 - 4.5883209311338768e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1686 - -4.5883209311338768e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 7052 - 4.5883209311338768e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.0602275133132935e-01 - 2.7500000000000000e+01 - <_> - 2 - 4921 - 4.5883209311338768e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2131 - -4.5883209311338768e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.3320922136911183e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 5.7254517078399658e-01 - 2.4733764648437500e+03 - <_> - 1 - 7396 - -4.3320922136911183e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 4.4614291191101074e-01 - 1.5950000000000000e+02 - <_> - 2 - 6660 - -4.3320922136911183e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 736 - 4.3320922136911183e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1711 - 4.3320922136911183e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.6049681603908539e-01 - 9.4378352165222168e-01 - <_> - 2 - 896 - -4.3320922136911183e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 815 - 4.3320922136911183e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.7336203324773962e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 5.7051217555999756e-01 - 3.3268468750000000e+04 - <_> - 1 - 3973 - -4.7336203324773962e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 1.0071597993373871e-01 - 1.4042949676513672e-01 - <_> - 2 - 525 - 4.7336203324773962e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3448 - -4.7336203324773962e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5134 - 4.7336203324773962e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.1546323299407959e-01 - 1.1625519561767578e+02 - <_> - 2 - 4341 - 4.7336203324773962e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 793 - -4.7336203324773962e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.0796412912997546e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.7402479648590088e-01 - 4.1616348266601562e+01 - <_> - 1 - 6033 - 5.0796412912997546e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.7215172946453094e-01 - 2.1717445373535156e+01 - <_> - 2 - 1642 - -5.0796412912997546e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4391 - 5.0796412912997546e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3074 - -5.0796412912997546e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.5217737555503845e-01 - 7.8341827392578125e+01 - <_> - 2 - 2129 - -5.0796412912997546e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 945 - 5.0796412912997546e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.8899738965688907e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.5270242691040039e-01 - 2.4500000000000000e+01 - <_> - 1 - 3924 - 3.8899738965688907e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.6205247640609741e-01 - 1.2210161983966827e-01 - <_> - 2 - 386 - -3.8899738965688907e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3538 - 3.8899738965688907e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5183 - -3.8899738965688907e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 3.3398884534835815e-01 - 1.3739262521266937e-01 - <_> - 2 - 4429 - -3.8899738965688907e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 754 - 3.8899738965688907e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.0197101477146691e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 5.5070811510086060e-01 - 2.2617143630981445e+01 - <_> - 1 - 6669 - 4.0197101477146691e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 3.6117196083068848e-01 - 3.9646132812500000e+04 - <_> - 2 - 3784 - -4.0197101477146691e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2885 - 4.0197101477146691e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2438 - -4.0197101477146691e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 2.3798917233943939e-01 - 1.3255763053894043e-01 - <_> - 2 - 796 - 4.0197101477146691e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1642 - -4.0197101477146691e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.3726200931165862e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.5675232410430908e-01 - 4.6216423034667969e+01 - <_> - 1 - 3585 - 3.3726200931165862e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 1.0723788291215897e-01 - 7.4369716644287109e+00 - <_> - 2 - 3479 - 3.3726200931165862e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 106 - -3.3726200931165862e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5522 - -3.3726200931165862e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.7628739476203918e-01 - 2.7282537841796875e+02 - <_> - 2 - 5408 - -3.3726200931165862e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 114 - 3.3726200931165862e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 5.0462966898521189e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.6343489885330200e-01 - 9.7466319799423218e-01 - <_> - 1 - 6634 - 5.0462966898521189e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 4.2315843701362610e-01 - 360. - <_> - 2 - 4627 - 5.0462966898521189e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2007 - -5.0462966898521189e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2473 - -5.0462966898521189e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 2.0038825273513794e-01 - 360. - <_> - 2 - 2127 - -5.0462966898521189e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 346 - 5.0462966898521189e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.3392332539242695e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.6129997968673706e-01 - 1.1564830017089844e+02 - <_> - 1 - 7553 - 4.3392332539242695e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 3.8729444146156311e-01 - 2.5300484150648117e-02 - <_> - 2 - 4667 - -4.3392332539242695e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2886 - 4.3392332539242695e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1554 - -4.3392332539242695e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 2.1951568126678467e-01 - 5.5000000000000000e+00 - <_> - 2 - 270 - 4.3392332539242695e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1284 - -4.3392332539242695e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.3902185392370994e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 5.5517673492431641e-01 - 1.1114417968750000e+05 - <_> - 1 - 7301 - -5.3902185392370994e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.7256091833114624e-01 - 2.0056053996086121e-01 - <_> - 2 - 4944 - -5.3902185392370994e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2357 - 5.3902185392370994e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1806 - 5.3902185392370994e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>1 - 2.5902390480041504e-01 - 1.0350888061523438e+02 - <_> - 2 - 522 - 5.3902185392370994e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1284 - -5.3902185392370994e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.1612895044485407e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.7063508033752441e-01 - 1.7287626862525940e-01 - <_> - 1 - 4351 - 5.1612895044485407e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.7733165025711060e-01 - 1.1576941609382629e-01 - <_> - 2 - 623 - -5.1612895044485407e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3728 - 5.1612895044485407e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4756 - -5.1612895044485407e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.4891048073768616e-01 - 2.9192537069320679e-01 - <_> - 2 - 965 - 5.1612895044485407e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3791 - -5.1612895044485407e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.8710311692021926e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.5621719360351562e-01 - 4.8389980468750000e+03 - <_> - 1 - 7300 - 3.8710311692021926e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 4.3817147612571716e-01 - 1.3809230327606201e+00 - <_> - 2 - 4483 - 3.8710311692021926e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2817 - -3.8710311692021926e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1807 - -3.8710311692021926e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 1.5741367638111115e-01 - 2.3230450000000000e+05 - <_> - 2 - 1656 - -3.8710311692021926e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 151 - 3.8710311692021926e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.5836902616031433e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 5.7203811407089233e-01 - 1.6857043457031250e+02 - <_> - 1 - 8715 - -4.5836902616031433e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.2488130331039429e-01 - 3.6255528926849365e+00 - <_> - 2 - 6956 - -4.5836902616031433e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1759 - 4.5836902616031433e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 392 - 4.5836902616031433e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 8.7745875120162964e-02 - 1.4793472290039062e+02 - <_> - 2 - 336 - 4.5836902616031433e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 56 - -4.5836902616031433e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.5206466576034049e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 5.4853254556655884e-01 - 3.2135329246520996e+00 - <_> - 1 - 6738 - 4.5206466576034049e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 3.7530311942100525e-01 - 3.8451132178306580e-01 - <_> - 2 - 1987 - -4.5206466576034049e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4751 - 4.5206466576034049e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2369 - -4.5206466576034049e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.3582689464092255e-01 - 2.6840999603271484e+01 - <_> - 2 - 328 - 4.5206466576034049e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2041 - -4.5206466576034049e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.0477377718435631e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 5.5303543806076050e-01 - 170. - <_> - 1 - 1161 - -4.0477377718435631e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 2.1656392514705658e-01 - 5.6737922668457031e+01 - <_> - 2 - 393 - 4.0477377718435631e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 768 - -4.0477377718435631e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 7946 - 4.0477377718435631e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.8327014446258545e-01 - 3.7380573272705078e+01 - <_> - 2 - 5031 - -4.0477377718435631e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2915 - 4.0477377718435631e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.8163551115998778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 5.4923915863037109e-01 - 9.6087503433227539e+00 - <_> - 1 - 2590 - 3.8163551115998778e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.1972328275442123e-01 - 3.5117156803607941e-02 - <_> - 2 - 1311 - 3.8163551115998778e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1279 - -3.8163551115998778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 6517 - -3.8163551115998778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.7454422712326050e-01 - 3.2089103013277054e-02 - <_> - 2 - 4369 - -3.8163551115998778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2148 - 3.8163551115998778e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.0369302121759543e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.6569349765777588e-01 - 3.6500000000000000e+01 - <_> - 1 - 7171 - -4.0369302121759543e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 4.6061098575592041e-01 - 9.6087503433227539e+00 - <_> - 2 - 2260 - 4.0369302121759543e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4911 - -4.0369302121759543e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1936 - 4.0369302121759543e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 1.3896363973617554e-01 - 3.6500000000000000e+01 - <_> - 2 - 662 - 4.0369302121759543e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1274 - -4.0369302121759543e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.0541326166669733e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.6680959463119507e-01 - 4.7733578830957413e-02 - <_> - 1 - 6606 - 4.0541326166669733e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 4.0074354410171509e-01 - 1.7575678825378418e+00 - <_> - 2 - 1331 - -4.0541326166669733e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5275 - 4.0541326166669733e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2501 - -4.0541326166669733e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 1.9924402236938477e-01 - 1.4006979370117188e+02 - <_> - 2 - 2148 - -4.0541326166669733e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 353 - 4.0541326166669733e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.5271880514002444e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.5249530076980591e-01 - 1.7500000000000000e+01 - <_> - 1 - 3366 - -4.5271880514002444e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 2.5954529643058777e-01 - 2.4601559340953827e-01 - <_> - 2 - 2809 - -4.5271880514002444e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 557 - 4.5271880514002444e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5741 - 4.5271880514002444e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.5174015164375305e-01 - 2.1500000000000000e+01 - <_> - 2 - 1800 - 4.5271880514002444e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3941 - -4.5271880514002444e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0.
-
diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_room_boost.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_room_boost.xml deleted file mode 100644 index 6ab40df..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_room_boost.xml +++ /dev/null @@ -1,3260 +0,0 @@ - - - - DiscreteAdaboost - 3 - 35 - 1. - 1 - 28 - 28 - 28 - 0 - - 0 - 10 - 2 - 10 - 0 - - 1 - 2 -
d
- - 1. 1.
- - 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 - - 1 - 1 -
i
- - 2
- - 1 - 2 -
i
- - -1 1
- - <_> - -1 - - <_> - 0 - 9107 - 2.1786954368674230e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 8.8448446989059448e-01 - 6.1037555694580078e+01 - <_> - 1 - 7437 - 2.1786954368674230e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 7.4107831716537476e-01 - 7.5708389282226562e+00 - <_> - 2 - 7296 - 2.1786954368674230e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 141 - -2.1786954368674230e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1670 - -2.1786954368674230e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 1.5724168717861176e-01 - 9.7995698451995850e-01 - <_> - 2 - 1573 - -2.1786954368674230e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 97 - 2.1786954368674230e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 1.3794070830405805e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 7.2231972217559814e-01 - 4.0672660827636719e+01 - <_> - 1 - 5924 - 1.3794070830405805e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 3.9307719469070435e-01 - 170. - <_> - 2 - 599 - -1.3794070830405805e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5325 - 1.3794070830405805e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3183 - -1.3794070830405805e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.0581855177879333e-01 - 1.3932722806930542e-01 - <_> - 2 - 595 - 1.3794070830405805e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2588 - -1.3794070830405805e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 9.4378708439698156e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>20 - 6.7319673299789429e-01 - 3.6255528926849365e+00 - <_> - 1 - 7256 - 9.4378708439698156e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 5.4163652658462524e-01 - 55. - <_> - 2 - 29 - -9.4378708439698156e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7227 - 9.4378708439698156e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1851 - -9.4378708439698156e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 1.7822745442390442e-01 - 2.3789729923009872e-02 - <_> - 2 - 569 - 9.4378708439698156e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1282 - -9.4378708439698156e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -1.1860507438617369e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 6.5405559539794922e-01 - 4.9995690584182739e-02 - <_> - 1 - 6736 - -1.1860507438617369e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 5.4635477066040039e-01 - 3.1944444775581360e-01 - <_> - 2 - 3744 - -1.1860507438617369e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2992 - 1.1860507438617369e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2371 - 1.1860507438617369e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 2.1967922151088715e-01 - 1.0152906799316406e+02 - <_> - 2 - 1797 - 1.1860507438617369e+00 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 574 - -1.1860507438617369e+00 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 7.1466725424286937e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 6.3218086957931519e-01 - 1.0788087546825409e-01 - <_> - 1 - 4004 - -7.1466725424286937e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 3.1435400247573853e-01 - 3.1702899932861328e+01 - <_> - 2 - 1767 - 7.1466725424286937e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2237 - -7.1466725424286937e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5103 - 7.1466725424286937e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.5707762837409973e-01 - 1.6250000000000000e+02 - <_> - 2 - 4846 - 7.1466725424286937e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 257 - -7.1466725424286937e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 8.6260353600845341e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 6.0615360736846924e-01 - 6.0900188446044922e+01 - <_> - 1 - 7432 - -8.6260353600845341e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 5.0314950942993164e-01 - 3.6261449218750000e+04 - <_> - 2 - 4360 - 8.6260353600845341e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3072 - -8.6260353600845341e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1675 - 8.6260353600845341e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 2.0005480945110321e-01 - 1.4006979370117188e+02 - <_> - 2 - 1322 - 8.6260353600845341e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 353 - -8.6260353600845341e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 6.6088695298394085e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 5.9356105327606201e-01 - 6.7500000000000000e+01 - <_> - 1 - 3775 - 6.6088695298394085e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 2.5638625025749207e-01 - 1.5850000000000000e+02 - <_> - 2 - 3368 - 6.6088695298394085e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 407 - -6.6088695298394085e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5332 - -6.6088695298394085e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 4.0307337045669556e-01 - 270. - <_> - 2 - 3116 - -6.6088695298394085e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2216 - 6.6088695298394085e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 6.0116260359509455e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 6.1124479770660400e-01 - 1.5500000000000000e+01 - <_> - 1 - 3596 - -6.0116260359509455e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.9448843002319336e-01 - 1.8027573823928833e-02 - <_> - 2 - 1489 - 6.0116260359509455e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2107 - -6.0116260359509455e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5511 - 6.0116260359509455e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 3.5143381357192993e-01 - 2.3851454687500000e+05 - <_> - 2 - 5265 - 6.0116260359509455e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 246 - -6.0116260359509455e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -7.4746039217199778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.9637230634689331e-01 - 2.5116939097642899e-02 - <_> - 1 - 4815 - 7.4746039217199778e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 2.5227269530296326e-01 - 1.5344743728637695e+00 - <_> - 2 - 1881 - 7.4746039217199778e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2934 - -7.4746039217199778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4292 - -7.4746039217199778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.2635238170623779e-01 - 5.7995446026325226e-02 - <_> - 2 - 2334 - -7.4746039217199778e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1958 - 7.4746039217199778e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 5.8438586566167305e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>21 - 5.9664434194564819e-01 - 2.8839975595474243e-01 - <_> - 1 - 6563 - 5.8438586566167305e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 4.7678318619728088e-01 - 9.9117996215820312e+01 - <_> - 2 - 5993 - 5.8438586566167305e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 570 - -5.8438586566167305e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2544 - -5.8438586566167305e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 1.6529276967048645e-01 - 6.4519348144531250e+00 - <_> - 2 - 997 - 5.8438586566167305e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1547 - -5.8438586566167305e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.6900831390036832e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.9064292907714844e-01 - 2.7500000000000000e+01 - <_> - 1 - 6292 - -5.6900831390036832e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 4.4827651977539062e-01 - 9.8225486278533936e-01 - <_> - 2 - 5073 - -5.6900831390036832e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1219 - 5.6900831390036832e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2815 - 5.6900831390036832e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 1.9025780260562897e-01 - 170. - <_> - 2 - 378 - -5.6900831390036832e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2437 - 5.6900831390036832e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.9992880761827374e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.8090418577194214e-01 - 1.3350000000000000e+02 - <_> - 1 - 7620 - 4.9992880761827374e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.9585211277008057e-01 - 3.4901428222656250e+01 - <_> - 2 - 599 - -4.9992880761827374e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 7021 - 4.9992880761827374e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1487 - -4.9992880761827374e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 1.2659050524234772e-01 - 2.4166667461395264e-01 - <_> - 2 - 823 - -4.9992880761827374e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 664 - 4.9992880761827374e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.5304997807149114e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.8426886796951294e-01 - 2.7679210662841797e+01 - <_> - 1 - 3720 - 5.5304997807149114e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 1.1992295086383820e-01 - 8.8076839447021484e+00 - <_> - 2 - 2963 - 5.5304997807149114e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 757 - -5.5304997807149114e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5387 - -5.5304997807149114e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>9 - 5.1491999626159668e-01 - 9.7762262821197510e-01 - <_> - 2 - 4181 - -5.5304997807149114e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1206 - 5.5304997807149114e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 3.6291999263461128e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.6129926443099976e-01 - 8.9882922363281250e+02 - <_> - 1 - 748 - -3.6291999263461128e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 7.2228454053401947e-02 - 1.8500000000000000e+01 - <_> - 2 - 459 - -3.6291999263461128e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 289 - 3.6291999263461128e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 8359 - 3.6291999263461128e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>13 - 5.1751863956451416e-01 - 3.4893188476562500e+02 - <_> - 2 - 7983 - 3.6291999263461128e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 376 - -3.6291999263461128e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.5221083737375550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 5.7584840059280396e-01 - 110. - <_> - 1 - 625 - 4.5221083737375550e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 8.6570978164672852e-02 - 55. - <_> - 2 - 38 - -4.5221083737375550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 587 - 4.5221083737375550e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 8482 - -4.5221083737375550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>5 - 5.2459377050399780e-01 - 7.5181976318359375e+01 - <_> - 2 - 7174 - -4.5221083737375550e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1308 - 4.5221083737375550e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.4606259888224020e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.7565021514892578e-01 - 4.4157386779785156e+01 - <_> - 1 - 6274 - 4.4606259888224020e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 2.9201084375381470e-01 - 1.9632499694824219e+01 - <_> - 2 - 4454 - 4.4606259888224020e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1820 - -4.4606259888224020e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2833 - -4.4606259888224020e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 3.1769183278083801e-01 - 1.1500696092844009e-01 - <_> - 2 - 180 - 4.4606259888224020e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2653 - -4.4606259888224020e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.1269271599030560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 5.7579904794692993e-01 - 8.0012268066406250e+01 - <_> - 1 - 8192 - 4.1269271599030560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.3666657209396362e-01 - 2.5583333969116211e+00 - <_> - 2 - 2881 - -4.1269271599030560e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 5311 - 4.1269271599030560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 915 - -4.1269271599030560e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 6.5066799521446228e-02 - 140. - <_> - 2 - 106 - 4.1269271599030560e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 809 - -4.1269271599030560e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.3096056583144365e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>0 - 5.6360632181167603e-01 - 4.2027778625488281e+00 - <_> - 1 - 5429 - 4.3096056583144365e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 3.2183092832565308e-01 - 8.0210857391357422e+00 - <_> - 2 - 4322 - 4.3096056583144365e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1107 - -4.3096056583144365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3678 - -4.3096056583144365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 2.8427210450172424e-01 - 2.9854658203125000e+03 - <_> - 2 - 2934 - -4.3096056583144365e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 744 - 4.3096056583144365e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 5.1244591858428068e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.4743778705596924e-01 - 2.2856015712022781e-02 - <_> - 1 - 4504 - 5.1244591858428068e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 1.9601167738437653e-01 - 170. - <_> - 2 - 440 - -5.1244591858428068e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4064 - 5.1244591858428068e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4603 - -5.1244591858428068e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 4.2936801910400391e-01 - 4.2881276458501816e-02 - <_> - 2 - 1755 - -5.1244591858428068e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2848 - 5.1244591858428068e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.3789005694068295e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.7462888956069946e-01 - 2.8502143919467926e-02 - <_> - 1 - 5227 - 4.3789005694068295e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 2.9981964826583862e-01 - 9.9598407745361328e+00 - <_> - 2 - 1259 - -4.3789005694068295e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3968 - 4.3789005694068295e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3880 - -4.3789005694068295e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 3.0793648958206177e-01 - 8.2142152786254883e+00 - <_> - 2 - 1150 - 4.3789005694068295e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2730 - -4.3789005694068295e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 3.9517989176067042e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 5.6575673818588257e-01 - 4.2500000000000000e+01 - <_> - 1 - 8073 - 3.9517989176067042e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 4.9922975897789001e-01 - 2.3148275000000000e+05 - <_> - 2 - 7442 - 3.9517989176067042e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 631 - -3.9517989176067042e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1034 - -3.9517989176067042e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>7 - 9.8299264907836914e-02 - 3.6081323623657227e+00 - <_> - 2 - 530 - -3.9517989176067042e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 504 - 3.9517989176067042e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -5.1636398057703703e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.6804054975509644e-01 - 2.4194677734375000e+03 - <_> - 1 - 4732 - -5.1636398057703703e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>10 - 3.5615742206573486e-01 - 1.1989330291748047e+02 - <_> - 2 - 4266 - -5.1636398057703703e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 466 - 5.1636398057703703e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4375 - 5.1636398057703703e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 2.7013972401618958e-01 - 1.1097114843750000e+05 - <_> - 2 - 3174 - 5.1636398057703703e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1201 - -5.1636398057703703e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.1723969575603886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 5.5497741699218750e-01 - 1.6999731957912445e-01 - <_> - 1 - 4082 - -4.1723969575603886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 2.4794057011604309e-01 - 9.5000000000000000e+00 - <_> - 2 - 1399 - 4.1723969575603886e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2683 - -4.1723969575603886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5025 - 4.1723969575603886e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>11 - 3.5488197207450867e-01 - 1.1500000000000000e+01 - <_> - 2 - 1566 - -4.1723969575603886e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3459 - 4.1723969575603886e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.9419468697033788e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 5.5248409509658813e-01 - 1.1833110809326172e+02 - <_> - 1 - 3146 - 3.9419468697033788e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 9.8889589309692383e-02 - 8.0045714974403381e-02 - <_> - 2 - 151 - -3.9419468697033788e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2995 - 3.9419468697033788e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 5961 - -3.9419468697033788e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 4.9840247631072998e-01 - 1.1940277862548828e+02 - <_> - 2 - 4554 - -3.9419468697033788e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1407 - 3.9419468697033788e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 3.8693352640484802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 5.6319475173950195e-01 - 7.7233914062500000e+04 - <_> - 1 - 6570 - 3.8693352640484802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.5922673344612122e-01 - 9.8053543090820312e+01 - <_> - 2 - 6381 - 3.8693352640484802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 189 - -3.8693352640484802e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2537 - -3.8693352640484802e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 2.3631756007671356e-01 - 1.8602401733398438e+01 - <_> - 2 - 1450 - -3.8693352640484802e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1087 - 3.8693352640484802e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.9186399829511376e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>6 - 5.5295193195343018e-01 - 1.2500000000000000e+01 - <_> - 1 - 2442 - 3.9186399829511376e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>3 - 1.8892322480678558e-01 - 9.8895144462585449e-01 - <_> - 2 - 1968 - 3.9186399829511376e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 474 - -3.9186399829511376e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 6665 - -3.9186399829511376e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>22 - 4.0780812501907349e-01 - 1.1576941609382629e-01 - <_> - 2 - 433 - 3.9186399829511376e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 6232 - -3.9186399829511376e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.3512462423498988e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.6591624021530151e-01 - 5.1285041809082031e+01 - <_> - 1 - 4499 - -4.3512462423498988e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>4 - 2.2599273920059204e-01 - 3.4398612976074219e+01 - <_> - 2 - 1371 - 4.3512462423498988e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3128 - -4.3512462423498988e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4608 - 4.3512462423498988e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 3.8110399246215820e-01 - 1.1450000000000000e+02 - <_> - 2 - 3665 - 4.3512462423498988e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 943 - -4.3512462423498988e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 3.8309151695615390e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 5.5419266223907471e-01 - 3.0633434653282166e-02 - <_> - 1 - 5499 - 3.8309151695615390e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>2 - 3.1679347157478333e-01 - 1.4166668057441711e-01 - <_> - 2 - 689 - -3.8309151695615390e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4810 - 3.8309151695615390e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 3608 - -3.8309151695615390e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>15 - 2.7782505750656128e-01 - 6.6393353044986725e-02 - <_> - 2 - 2048 - -3.8309151695615390e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1560 - 3.8309151695615390e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.6656982842834041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>8 - 5.4765290021896362e-01 - 9.0500000000000000e+01 - <_> - 1 - 6456 - -3.6656982842834041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 3.9640560746192932e-01 - 1.5261673927307129e-01 - <_> - 2 - 5846 - -3.6656982842834041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 610 - 3.6656982842834041e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 2651 - 3.6656982842834041e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 1.9422426819801331e-01 - 3.0891586303710938e+01 - <_> - 2 - 2230 - 3.6656982842834041e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 421 - -3.6656982842834041e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 4.2523581015947221e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>16 - 5.6275755167007446e-01 - 4.2253437042236328e+01 - <_> - 1 - 2733 - -4.2523581015947221e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>17 - 1.2971240282058716e-01 - 1.8989261627197266e+01 - <_> - 2 - 510 - 4.2523581015947221e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2223 - -4.2523581015947221e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 6374 - 4.2523581015947221e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 4.7502306103706360e-01 - 3.3739532470703125e+02 - <_> - 2 - 5052 - 4.2523581015947221e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1322 - -4.2523581015947221e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -4.4396796029142338e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 5.6383717060089111e-01 - 2.1553173828125000e+03 - <_> - 1 - 4230 - -4.4396796029142338e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>18 - 3.0161643028259277e-01 - 1.1237963867187500e+02 - <_> - 2 - 1955 - 4.4396796029142338e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2275 - -4.4396796029142338e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4877 - 4.4396796029142338e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>14 - 3.0758768320083618e-01 - 1.0778822021484375e+03 - <_> - 2 - 1178 - -4.4396796029142338e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 3699 - 4.4396796029142338e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 3.2703041076196399e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 5.4366081953048706e-01 - 4.1280046875000000e+04 - <_> - 1 - 5095 - 3.2703041076196399e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 2.0655247569084167e-01 - 7.2365472412109375e+02 - <_> - 2 - 227 - -3.2703041076196399e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 4868 - 3.2703041076196399e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4012 - -3.2703041076196399e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 3.7448418140411377e-01 - 9.8871871829032898e-02 - <_> - 2 - 1578 - 3.2703041076196399e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 2434 - -3.2703041076196399e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.2463155736563098e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>23 - 5.5335444211959839e-01 - 1.1453289538621902e-01 - <_> - 1 - 4868 - -3.2463155736563098e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>19 - 3.5848903656005859e-01 - 1.4433314514160156e+02 - <_> - 2 - 4406 - -3.2463155736563098e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 462 - 3.2463155736563098e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 4239 - 3.2463155736563098e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 2.2196353971958160e-01 - 2.3820234375000000e+05 - <_> - 2 - 4005 - 3.2463155736563098e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 234 - -3.2463155736563098e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - 3.1793392019096822e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>27 - 5.4508721828460693e-01 - 2.9112878799438477e+01 - <_> - 1 - 7626 - 3.1793392019096822e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 4.1716161370277405e-01 - 1.4650000000000000e+02 - <_> - 2 - 5636 - 3.1793392019096822e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1990 - -3.1793392019096822e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1481 - -3.1793392019096822e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>24 - 1.6165904700756073e-01 - 170. - <_> - 2 - 548 - -3.1793392019096822e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 933 - 3.1793392019096822e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - -1 - - <_> - 0 - 9107 - -3.4141136896530616e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>25 - 5.5981808900833130e-01 - 1.7950000000000000e+02 - <_> - 1 - 7241 - -3.4141136896530616e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>12 - 4.6778613328933716e-01 - 1.5557489257812500e+04 - <_> - 2 - 7168 - -3.4141136896530616e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 73 - 3.4141136896530616e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 1 - 1866 - 3.4141136896530616e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0. - - <_>26 - 1.1674719303846359e-01 - 7.4591191406250000e+03 - <_> - 2 - 157 - -3.4141136896530616e-01 - 0 - 0 - 0 - 0. - 0. - 0. - 0. - <_> - 2 - 1709 - 3.4141136896530616e-01 - 1 - 0 - 0 - 0. - 0. - 0. - 0.
-
diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/250_250.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/250_250.png deleted file mode 100644 index 5dbb7120974aa7f0cd8bebfe4487ceb38367a254..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1063 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL96$kvrB^Zq7#Nt}dAc};R4~3h=*WA(LEy-S z7W)@shySK6y)j916w)pPicTNbwsg(=S)sc8gs%MhCn7taKAt*9X?x9{Nx@I1^@kUA u-TCy<%Wq<|UEE2{k)+sT*(ju42>e;M-*}??gpLeQ3E=7K=d#Wzp$PyhjnS?E diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/300_300.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/300_300.png deleted file mode 100644 index 911642175a31be56f9647c8732067d139c539889..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1100 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL96$kvrB^Zq7#LWDJzX3_Dj44$bmTqYAaGO$2}$|)Pq-`}Kb{+-m|nAIvi6gn{_>*M xIUhgzt(#zMckiU=sA3{QW2Vw5q;d#+Vh%R8o%pRIHx^V(c)I$ztaD0e0ssYt#M=M> diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/500_500.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/500_500.png deleted file mode 100644 index 7dff0905b4df6d59f2d06583010f810018082f4e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1181 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL96$kvrB^Zq7#LVmJY5_^Dj44$bmV0)5IDS{ z#r_5FQP0XN(>y1RLSjQ;$#GlFNu$Jw3Ik%(#;7{apGN~zC$ebr@q@}8Pgg&ebxsLQ E0LrrjM*si- diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/a.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/a.png deleted file mode 100644 index 9f5d9e0d67ca4a6d9aceead53e035250642906db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8462 zcmeAS@N?(olHy`uVBq!ia0y~yU_SuD96$kv+1e7kr_Wm>bfjssSPhVH|=j_Zp!n$5sV$T^E6u3NH978H@y}j$`cgH}YAuzd6amsIb z#aF#+^jl@s+_qv>~@ln!ZN$t-2^)vnVN`2Tn z=YV3K?Q5svo~Imql70^kJQK80RZWbciA9DIe5&vNkE{dRg$f=N-P_CXpb#_aa$dhQj2-@dz__k#r^yB@?xX14txcSCv482D6~_;N1W8#f9twr_a6b9q|+Lg$VK z=Uc(@yqh?brYIusZqOvxQHO>Y7iH z_1|;tlbCc1hs7U<{Cd7e$vuYWwp$*PI34}sg3<#9fhWoO3>-oQqj)q7M$^D(8W>Fj zqiJ9?4UDFN(KIlc21e7sXc`zz1EXnRG!5WO1HX9r4muy1pLy#taG`)siEBhja(-@Z zYF-J0f^(3oV~Br{l|pV}L40vyS!$79azTNDfu4b>fkLi+L1qP4(2}@iKz*tpeJP10 zsaDBFsX&Us$iT>0*T7uYz&OOvz{=3l%EVOLz{twLpzANkLKF?T`6-!cmAEzhUa&zH PsDZ)L)z4*}Q$iB}ZjVp) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/blank.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/blank.png deleted file mode 100644 index e78f392a649b8270570957e930f8958d85738bba..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9065 zcmeI0Yfuwc7=}+0AW;Z6tsoK-ue8h+3!2=dEaO9 zW53%H=u4e%H6H*#_4o4*27oNn6$SnPeq3$Y0xx>IJOVrbxKwO7j_Si_V)SNTZ!lF* ztf+xc$Ge3sH%@HY^;*BS3R={>8P%GtJ*O&dcVv}RMuDF$YNRdK8&Xd7Pu7inF;YC7rMfGziOS^A1P4Y&Z9}rFVu!JS;ydO%*0{+@ zj?2`@_?@VU7d=gRiS**KhSz&WdUw`kkKXDt&M{)Bf4$^3iD9IQD_JrIi4taa%WPjS z*`!I&y3%qfH@}&jacr1muy|vuIw+G~V(}!;I0r6;SD`H?mazbpw_o*r`KU3H+g2Jv z2N%o*fMPCa6%6LIVje`}C3cgY>m+of9uO;8+09IH+F40lv#Qt1Yp~&TNq!42+G8M;6a^?4(zC^s?-tBe1^-UJyl!0b)YxMM? z!9hLixmC$BULszql-5xQj^*yabcJ$mNxPhcWb7XFQ~mx%XYP!_n!p5^DWQP5i6S1X z^I++0WU5uJ*7ans1b5k@<$4OK7F4juot?y*H28r7ovI|$&b1N?m?a&=TSGYoyWtUz zm?H8%lI}E1#vK=M4`XrzUjbp;#~O8dD>K$E;O1lUnYpq>VM>|N%;xAY0b>xzunMRh zhBWaqco^t4T%{&%qF6@HE;CEAs86*7h+Klbr_89#1nA9UC0vWxZ^1_VWazz8-@hw;%Ple zC^qUe@wTrNt)_Hks^lF!i^?1x+ zB(q%eaP%rvkht&W=?y;x(yOyeN1ac!>0-2aTL*|68xx1ZZNR&-PpO@o1AdSDgEN3L zfHQzIfHQzIfHQzIfHQzIfHQzI@ZTAj1hta(F!7pQ^8f&AQhh>GV-op%-kwyz@Cx?v z*d7$jX7Eu#R0^8TOSX#<2pEVRvL0dZ*9vxL%n$x0@*M12sq2eHQ+e!|WFEW#2gJdV zi8wJGT(%=DwgbXm@3RuNeZ6j>}0Ce13oels1oC5$be>4iRq~!jz8G2}ixq6)i0L;=)fB{+AAY{~x zaC6_OIiRJzM1T8MvuVhrgL8AD9Ey~T_6?^M3Jg$GSH(d^qv-ghkFHU-N;IW#v#OdZ zkLShdk!c{NT;bOHBG5~q0kGGp3$*}%OZnepy{ZdIr%P|?86EEV%2sn=ZK_7ULYEoG zILC=TY={JKDA=C?%-rV0CZdtX*)dDHqVxP>p3Sako^8AVroD>JD`7NBOj(*?-|{H( zq9N_H=dIy07g@X-(auvlf>&}WvrO6b^KI1vVS{@#t47_eY*3Vt1oZh3#kp~7=|y4! zIpI~kI{YLsuCNVSqSfsgaMxh!jHzY&syCVz9mbd%VJCE1$2;)i1ka|mYob@$FvFoE28QzwI%gj0H%kC6v z20qCwhywsIK8O!MDflx4c=c3E=d*r2s5u$rnzaOsm$@vSo-Z6_40}R8h*o7eBik|) z8jV7#K|frau7sg`(@rE^s2y+6xIZucvH!Ts-06}Z8m9`h2D9pv>wmHn+3p6c4ojgl zcX4!VixW<6Mut{;?bHMjw{hhI?B^ z0sGA@B$itByj&_;giFi zv`(6TzFX|Jb?{xMS{taY(R-I7+&TG%_S6HIXIg$Zu=b((G&$wVIA{ZO)NkS^pI^hk zG!z~Nk*E#RNhGM|=%nU%)iN(T>RQ!@E?T~uJep*ZWQ(6&;~R*hj==t|4#4NSkW4$1 z%L6g$xw&FURQ$r)@U!ai3l8kJTMntYXR`@Q4z=!Dz_N$V9Z)0vh)f((c0}i^01BuN z!amDTi|ekjZ_c_HLj=*j1QZqEv8hK&mD=B~Lg7bRa!3(J_9I-qZS6`;p@6v#GWhL8 z7(ftwssqYezM6z<*w+veJ&$A_6gh$K(�XB|Yb!XRMGMl}gvjZ>ZK-+PGu?kbJ~c zTEDx`)XK`rhT&MD^3~kd%(>V~l@6QuFrS4o=CDf1(;L{S^`hzfHp~vzhxy>KDKY+_ z3GR5_x+oxdlRyDJ^|5wUWnN{34fd4{ENc3GJ#2kTi$hLW^@TpXQnTe)EEP0Uz&K3p zd=G678;*utC-fSxlEd)WxMnoF+#PI%#WJ<>4YWCXqGcaRkxF~VtH_7PhR66ElP^>9 zn@8unsyRSRTUGzY{Ww%CE|%J*8Kiqbh~_k3`$3nzSQ~@`$RP4Rz}-p;S@Jp4eD2*a-&*z729z4bajvAET zhx<8v=!l-mT)M|(W97M{i>e`|Jp%B*|OhdQGAgeD3~^4|0qvlv<(!_&onJ$j>k03c(p1Gi*?ms z-w<|=^)v9;n?zHKj*b<`kc)L$6yp1>4xMk6ClhkFpT}^}To}Ty?dE3x@?L@E2(9~} z)H#Q0nLHpJw62+{w`kuQ@<3j9N5+0(PZnks#1o_QL}DE?AZ&^~X6fv-3Ua-1>9M;f+mJ`)XcmpeIW1NowAE>*eK~= zBQ?0X+?ASfJ+kMYbz#}boJyDceAb{D77n^rdH+0cS}Iu}Fy=5E039bkE3iBW9@1x9 zkggeLq%3y@YK`-Q>t8=|cSduFa`Ip~&f?O+TnRmyY;%Cz`O&+gswM;l!yz?43JF#- z7n_8(?=Mj5pBU)F02q@S-txAYOUZ~*T0C>?c+_|!8BBy$%bf5QbEQMdx}YluJWwl7 zeyE(pg?3$jv7jfgJTqUFHkU=&^4)0o6@?{9j7M|zkt?L}&F^cHCH;GsI(EGo(ok4o z8tDkn%Zgpzy^($v`%(yDb}AjRd3Z)U9*fIPP*>)wTksINa)G=6VPNI!k%v2|iqjKmb<6-ut$ zgr?#mZa$e@9V(SG#ooy(g`$XQKmRjAj0Ynk_si(ZSL>+a@X^_Xpn7pypy2?`q`>^X z;Ft6w&YTxCdSztrC>@)gY>LG+{*W+Iigl2|+O}{`V4ceBIY+9k{1=lN>0-Q@@jaiS z)VG+_ne9>n7VeYPEtTeAsmfbvZ@rn6ri)x)`CXYgi$H6hGdExK-Fbo-TpHkwl-yo(jLz{d8( zh6OmJGDpYgsV40^*3wlG4O-#T${#x(=7r(UIHnR}SR~n!SKCEZQk&eZN3PX1%ZY2}CpnUhveoPIK{FL>CXgzk=?m%6(cOal&V>J>L+ElE7MgGT$7}-1=8+=584U?$1U9|>r?C_b&%Nc_?HK2G z*oPG6ncrbF@t`U}1Fz8}`AjOee0+ZP;rsHQ$2`qmqcR-xn?xtK=wO`zsNm%LT8=4Q zp>L=Lg0kLgiVdwj8E8m@i6>_SF+k5(QI!0 zGyp(reg%8`cfuPlr+5Ishe-B^H|DRS+?7|5lHD={fWZ@i|Ly+yEa-nE_J8+V{!3B3 XfMW1VJn|pV?-Jm)bFUNM!8h*TD&ROM diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_furnitures_room_training.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_furnitures_room_training.png deleted file mode 100644 index 45e6b403cbc721d991672e646548904635c83329..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3433 zcmb_f2~bnl8oq&$1dVc)r-nt0P$+|JA=U+u5Ws>96jxRyjV2M*6U0DwaQEDRj5Mk@eV z1PlP7+&Dx4sDUQ`?ANTd3^%19qeims@yQU&C*lENO?YJR(p5%O@E}5NibwqqOOA3a z?4Se{wC+V{Wfp5y%Szq`0Us{~kR7NJX5Pfq`S6gfl@FTGHnv8zn@xJM(tTqtq4Ht} ziQohZhl=Q**G;(S-`8K}7TBu}31;uc zEJ0n05mjL6*na-28ja+=n;*J$&B!I^3O=|H>Ly_|vtuw>)B8zWIo*>_d0T}@%chZCJhf$ewMn;=I6Aii zYiZL5(=8UKThqB!Rmi-yWMN9r%FqozQy?x!PAKjs%aYYJeKXA$e|$CF)WTYA1ugHt z_bIyEQY(Qf_wiroEwb+u7kRf!(oL?x!U^X@4A2i6 z!Dk4J(9-K^xe@Wxz0~WW;zk3Er0IDFwr~1HA)Ld0KK>>MFiKVn9C_aa4rBrGdveAM z;8G}4`hb}a(6Ul;zL%B&Z3yvrbHLAc1nVFm-BVNeJ&gV~bp1Wh{p*0Y4w>2MnA6cx z5ma^=FPQQDVVA4Cv(zu@V;i%fqX`{<^y8NGXoT9UZI#T}e=%$5(i~q8qLl5{51J0J zxOS&s7vHS?;_^A5gkZhA6gQMJcwgY$57iqukDhe8#!AG!J@t>H8I3j89bjOL%I!F% zI%OOx(6U}*G;&AX28f&3*-!EYy&8(IFtT0I3R_iX5us3BQ2R-f1p^%+qr6cZc!~So;JAV@nh2A?4 zn@klziv0&JMVo)<)cj-k&-9%&kt=ckfcykYe~GQm9X!L6zh!ZP?xr*cDbU@OW{NXw za3s`tF}%)IpGE~)c{bpGT!bX(Ot>ojm^nWqT3C=5X(>WwO8agL9LTz4VLp!?J*X{h zUs(@KoTY-R2zojXwVMo@CzQG0x-2_-@fXVAONKaUKyZOK`7Rd3BEH{Yg|F}a_`|Rj zIYvE%zr_JCUSHwxE~Dz%BDrZf!W_cIOvn zEY6C6X9Lc+N-^6J-zPG27#*kL$YYo8IHGM_=u~h!YH7*y^?dWZ7RW~L=FFEFMBh-|GGO9`{kBBWrQuB6 z)@Wwi)xyDRl$@oMtn~Z)Pw&E^2F?<#bt;wS_3p;P_H2sMO@LkGs?}6Ajn{>^i>M{> zxK#CU&zaQ6e*AbtiLePY*H@&59>nNhrK!V#SY zx31akKSW_4;je|le0eD!WIGQ(Y39MWI*+f4jt8x64KF#2b~dfIkDEp{jvR6db<+0B zSd?CQ;$@A;qnttW*5+v)6A$T9bSdV!uq%6Frkh}eMN|>5rosAot?fiF6t9*-j?r-C z9Ud%g(s^lSn9A5VNMb^u1`t##NaHq}MXL7Ja>gK=G@uwKKquljGA(vaT^(o1Wr(86 zzB$PnX1@=KsG4Fl^J0mtW3*YRR&_&Tr%%Lk#hvlxE?Rf<6qgudL836L$)d{03bB4c zo)Fq{rMK}0+tZLj6H$tnxEN%9TE^*+AZb@A^I?y`rnh37l@w$qe)|!gFHN@Zu5GR=agP&yNkO@? zd7wPF<SbxIGxf+_G9 zdF5U>$ZwmPLVo{KpI>)VCaht4DFXwR&|JS)|4+aCw`pKCK}Yb(92h`4yo#^Svl9Q` cXnmPUrbU3jPJxmK{S*NQ_B+|-*^r|C3C_?-)&Kwi diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_hallway_training.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_hallway_training.png deleted file mode 100644 index 4414126915975199cd4e13e946c65003efbc1927..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1191 zcmeAS@N?(olHy`uVBq!ia0y~yU}|PyU`*m*0g9+km)Z}cI14-?iy0WWg+Z8+Vb&Z8 zpdfpRr>`sfeNHYuVZMVmj$dG4U~%(waSW-r_4cl>-(d%yhKmwUL-y|9F)ea?_cQjc zHy^95#XOAtewAvuNJZx{G}lTpDl{_~aga~&zP&3pr}vtaZus9i_3Sstr~bXO_n}F~ ziv}L16AFWlAm5+Z!szSKX~Ns*E_b_J{v1=OaS>9$v`M~UW*{k1mM8DTkybrZ{-3hOnq3)I+$8l q&ooAOx+5wyvBnl6)Ehq4F$AtxKgrXn{Sa8lFnGH9xvX`sfeNHYuR)PC#SA%b4s$R_vP^I!pWrB2qPv52?N;`6 zKcCN?l3Mmv#+nc zcXjJ_= p2R0RT*o2%mU^zh5gp^P;e~E(0tIcwOb-<#A!PC{xWt~$(696kDM%@4a diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_a_hallway_training_map.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_a_hallway_training_map.png deleted file mode 100644 index 4ea800d4a518252aa3f7a06ed1cd9ec6e1d39b83..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5906 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 SOz?m0vbt(#R%z<-;J*M@fl-D4 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_intel_furnitures_room_training_map.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_intel_furnitures_room_training_map.png deleted file mode 100644 index 0b5f4e60730d9b7b14e2deef0b73587c6b9966ef..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9364 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_hallway_training_map.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_hallway_training_map.png deleted file mode 100644 index eb1ac68b0e65c10b57b83d54ce6b29313df8d7ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4354 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_room_training_map.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_room_training_map.png deleted file mode 100644 index 111f95b33e315f3c3632986e9a105121ad824cd9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4433 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/Fr101_original.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/Fr101_original.png deleted file mode 100644 index fd57558a47cbd299680213900ebf3b295e1e60e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5013 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 Pf|9YPtDnm{r-UW|#L6Il diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/NLB_original.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/NLB_original.png deleted file mode 100644 index eb16707bd011f277571341a48f3ba2b7e36fb895..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8670 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 rUq)9_FU0f*N6WFhh#$b diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_c_furnitures_original.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_c_furnitures_original.png deleted file mode 100644 index 42af73285f20020ec52b53bc4f7b01ed4978bf28..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8207 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_d_furnitures_original.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_d_furnitures_original.png deleted file mode 100644 index 22828b490c6f97313287283437949d2cec8a17e3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5347 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_ipa_original.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_ipa_original.png deleted file mode 100644 index 00835a1dbdfaf37c4d040d854b91e5cff29af54a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4196 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_e_original.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_e_original.png deleted file mode 100644 index 7d811c11eabcf5fc3e288fbeb112c4d74b4070f0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 15549 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_h_original.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_h_original.png deleted file mode 100644 index a4e5fed2ac193400e37b36d70885ad204c7d67dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2969 zcmeAS@N?(olHy`uVBq!ia0y~yU||Dd77m~Q!EaktaqI0}$GqDH0uF)x3xCH~?#jHx&?$RslSwiBTx|y^fz4CAO zxv%T&uUT3D+VSi4v9Ie-^Q17O91v*WVK8Di!JxoA%Aj%}6s*lDoAh#$`L?gtPbFsk znrP@7_h<#zk&n-Z)ta9z1G7j-vwib>$6_`DgBK(qInp7B@=pdu!iRQ&SO{cceJS zMYd})%w}>XJ8DffN-|X(+#k;y@%Vdn6z_q5QYRQp=KWJ-P7qXJKJY86#^uM&XCugB%0QKmEnen z1k(h@1v}3Q?AbQ^P~5#NB5fkZH3Ot3fj9DXiCMVFuJQv}3^`mpjIbOS;J$0o1!Lxw zOdFhgf3x}2Z_vaVuobh~Cmhs1l*JI@z~;aT3Hk=5WBW8CQq`Y)R4%xZrO+dMLqtc3 zg?m>zFt{vQ?`QC=x!gFhcM~i;AwGX#e!50$);qPf=e@Ow8D)*Wj5tbys}&rQdmj8> zyjSbbf!?bOZ&o(ImFlcNVa_T)|3-z6P)RKBk?r;jdyNu4HD9H2ej>Y+I?oiPaSt59$WsJj7o+a8`{)^ z6AfGkn9MeF<0wd~KHU(kIC}hYzW1HXd{YK%t$@dgH;h1ZGmk^H5ra_z2RJONvg*q9XOf4GwS_Lsnv{^<@5K- z9@1$(_2-ijZjA)%47=R5=ggK_bk&q(Sbl8W|9g)7{1Tsv18ddYRvoyQzft1vZ7;=+ zmFIU}-hFQw!^v+q(KGwANo@{nd$x9+?L2e!oMq~QNcK-xPS3Y|U2PP;BjWwP`N6Ea z{`wp|aP+L@eTL(*Ati4dw#@wiOJt-JVX)+c61o(4e0ZDFa5MGe<h7 ondkG;_s@MMi{o$Nf@D{`(~r5kHv2>R^w%J+r>mdKI;Vst0NQZ!KmY&$ diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr101.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr101.png deleted file mode 100644 index 5463c1b4fcffd5b4f71e99ab5fd82bbe30db9579..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5611 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_NLB_furniture.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_NLB_furniture.png deleted file mode 100644 index fb33120a614ef50d48e909cde93344c4afefc1cb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 9709 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_intel.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_intel.png deleted file mode 100644 index b6f0152826abbe9652015df0b3a8e49d6adc925d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3827 zcmeHKiC+`f_UB10YO86BXe*V}->XtB6fG(snA9pDZb7M{g2aLgd(cQBKqhX8xDb&d zph5(+$Ra^Whyl!ifCvHs*%Lw}p#(@KAuO4|B$F3fTi<)1zR!Dqz;8ZxK6AEv?mhRM z^PQPQ&pqx77c5&~Vq&t;WBay!CMI(b<6S$?C@?8~ac|W4nB%|GeVd6Pf!+ifx%m;> z50OnwJ}{rX|7LRg?x#kf*%^=Bu4ZrMEno0At6x6S?Kd%5bkSqmmLH-8kVr_8^el5=pVC(dWNj zyco)xkeO7wc2+aCR2rXg0Lgkq?Vf-wm54~HGW!d%7w3f!DRIH%nDf;jsCQYc2G9x;q^T|vI5_A-Y!&gV!eTK?T?#VkY4w-13c$`csSqF!qKUsA!sWvDkrc`BaX<#TJI+u{c;RIhYyfP)0 zzDB-FO1>~YlwqL2ug02I_5d0Kx+|5-KP&|&r->4t7$1%QrKF~xvw4V?3NdmHWZsaf zIOpY2SqYsoTDCp}6lM7AGtgM{5hnE$#E?rJWWF79#tr1@n;Z}1%Vt!R2X;@CNS7b& zPSd3$ipm+)MzopQ_|$avfHc&@4mM+(-N=8WuZ>q|@=sY@qj?$98@Iz|=v{)d7t`-b z72dpEE!q2mkUhHOFq? z9@YN|c$#7cwI3VTpMf7>Sp=_KRM#|kMoc{3ihBe(FtYA~RQFGf7O(wiQ%N7e`#yn~ zJ#obSd-Z(!9D%G}iQG1vSZySU8xdYA7$62v0r4AMe`>CtHR{UL*N#Op^-pK1+qqU3 znbaCxzc?oba@dPPCl&EVeImZm4}sDQhHCt%A9Bu|_QNwxJTngBECXoM!4|Pent)Y+ zm|968eg0t_l=rjPpak2CSo|NA$em=kzybDYMym~%H1hS=@LjfXkozL)KnUJbyt^@~ z$kGRIYyyX<5@BQ}V<4W3Syx|<KrKF9k_vr{}-M1B?_Xwd_an=P9L+-ZD+^DGWxC$z6F*Tdse zu1Aq_+0x1+b22#aY+Nxw#_v73(;9LZ-aT`%jBjpQ#lsAt3z8TcTWad<_!Xq8>Ye<1 z`hujgODB0_5mR%TgESquN(w~k%$$TPevE{M@I`2j@*YI|!6|6syV&VBD93Usd(VLgcH>ss!~sBV^Q;7C3P<8Ha{Wh=Z_o@HX1pgDV{pD`{3K0j~nZb!k)kgwny9zW zD9V-hsW*2eMZOE=-zU!k?e;fRpV0hn+>a-mF}-eo?(zESQR%8o=`p$%!vSh)u=}+L zJTw_gtLSrCvYe~wK9mxG}bOP%Q02ClQS5(cU&c+=2WU}eE zH4}ScSadBLBdCAVja%p(h$Ryd!ZH*!RnwSUIBbMhrj7E6Rk+*_H~NSiX~X5mZL~n_ zbSiwZ|7%>fdqv)LgRe6t|7%d=@xTbt{}#yc*guy{iK6qBis8sJHBIhi@Qg;FUgdzk_l42h)^-a~G(rhgk9C88zhzR8xbxk1cdbO$p zx1YM_0$)n%>%yMdTisHsi{7Xixye@hwX_brPcXhw z>@Uzh7lVB-w(f@D55hJ}1Em97SIS@{kFQTkA`AV(XvFPdGDmE9RK&fVnGjqD*t5XB zIywd&NK9~N5!qL@odj3NZcI_!Mi7w=8D1LXp{j>B#Q2GtK&rYD3VZ*dBiNeoG%o5&_HCF(=s!@>9eQe4j=1(d~R@DtDO)(+LQ| zn3gHAJu2G#xqQj#rxkjMePpSBlm3_Y@d73k;jO#hOtrS0FQ$A5j0-qZW0l>T>@?%D zm=m_?NSPIj*xW^Se7d3`133UZkII_paL~>V1`U(=T0(1|LHA*rwjsz6jpI8dGKw_# z{s6}e-7z-J<)q4W%4L`>nFKG<(nVS8@i3G2@cg5ME*aWPH(xg$6sx37cx+mQhp_VV znuP$%4#3DhNC+R1kuB%px|VZJDRX@P4g*O46&v-{skH_+h{l0aw?qI;m!Ep?o<4I)7O1Az@bndC zi&eiS+pQURU|R1}flhL(ik%hO@v?N3k-k3Rj(Zq5j=1X*hR`4S8Rbe!`jtpLIpv@@l3wR3M+&Dksjk3Ay*dm|j0&>WA zzIPQ)i=DohB2Kilr|J(+k2IPN`1aR@4&y#zO)REV#YT>&SzW6?JNi@BCJ6&~J&oIe zE}z%Y1+=LNRPSE?G4++pw*_{NsI+roiHOWO^f%|5ST0LxEOLimqEdOWL-WZ!a7SGpK% zXUbnQd@6Tdv#=(rTD%VHqIT(5$;IP~9xIMAqhuqEI6iHvaZw`ept8SpFgAH9MSNh3 z8teT06QJi?M*G^%sWjYE(IJKXj)E(+ERoU%o_0woyxFR$BZMNIwIu0}Bbu)hiPJV> z;A1t-P`h1>RQZP4#qyU{iE1JX+w%Ge&i(Ba}%o|f`ZFDsv>A|blUNB-SeULdIzQ-4iMFyQ+wXk}@gJTjNL3{e3ip@h#~%)PQ& z>OyczG33QQXduZNt`qgfLK6>n^R#Wo0SML3l1?C4w+9X+>LjyL;HYl2+bD4ZHFflN z!{>^4#0tuLVML3!hCFRh$E)yo3)y(q$ZmyvlkcmXOt_%iVfs3n`C8l{@2X)BHi(IF zyQXiL_l1fbrt!9VH<~nnhG+^C#r^HkGtMkxwC)!A^CTPyj$vKbpf@I?g1{VYr|O`? z1|Sy{JqD-9KHkWh*1AmcKuTu73fd!4cw&C~GIaIufv?U?a#Dbgw?4d^&+$ect8=Mp zb0MHs7lNml&Sk+?zCX?tz@6hpv2DaC27a;ksvA@%Km1 F{{snnv26eV diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_c_furnitures.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_c_furnitures.png deleted file mode 100644 index ca347e76fbd0238b4d08cf0fe98c446944da484f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 4907 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_e.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_e.png deleted file mode 100644 index 237a9474d1abe0621b479edaaaf25b6f8352a355..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18931 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

jm{GSTng!Bg9vO;S(-@*y)@dO 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�Ci4%hp-UB+GthEXm>_U0kmp}e< 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_h.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_h.png deleted file mode 100644 index 36636b193cc9a5ed9ef28428f656e2a615edb6ab..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3769 zcmeHKc~lc=691Ye31EmQ7;Xu$4vdch27)MOxCDmV0iq5_WEl||kRXVT934E6MKGeH z$gMJ{TyiQRM}rDD5J2O_jfP9Z5kLXCc7rpH=nhZc?(F_G{a(NRy1Krq_f`FVRn^gs z_Lia|G9mx~QEMynEdU5&`M01DUjQ24Y$os@0-iRO<^W{HDr@oIgafR$?E_$i_~H$L z#AGSH5Eo=^XMyVxlE(v0Z^v>U00`e$o0~WvXdCY2(%Y?wh*QGdt#Y{4gJdScaTKt+ zBuWWbfa$K7tjlG40FUKRx#UomB;)A|KfCDIp0@IVXH1Jc_?%gy*7lw-_Nx7N&J z_poiM&PIinx^oA1dEhq#X zx}E&$E9+Q8Q8jKKYqxv&{G;mo6;pm8uO+7t_rs3$gU`pgBE!DKV+f^|l6fHz#K< zLq+05t?zqA$8+Wq`dOMFBswIzg{$zu`?DE@gy@8=^C?Lq@v?7|0THtwdWVYN;Q_oJ z1!>b?gerFoHPV&J^=x696HStjpnEC9k-i%HO=!kL0_@+g^nTaB+gX&5;6L*4$GRVY z^iziaOJ($F(|)KpQ6u8Oo7t(eRS|A>Fw;^;6d{yuc;|U1J}jCy?!@9Y=u8ybP4uIt z@p!jvHkoyrKq<2@N%22{p=9}>4GM)0d|J7km*1u-3hrs=Zz`lYfdnjI1DXubT1-v) zc@4$GhX3#Z&J-*K!!LJ?N>-d&0v2)gOOptiDOvlPRaLO5kXOP+G^U`KNT)N;kG~}? z%6Su8i^dXiIK+kzv&B2L)Bl&NBOym-OTuVRy>Y~-m1-i(l+dTFbIfW&Uu~K#%q$Wh zVh{_HYa4Jx71v20+WwkI3yA6G6mZj%V^dG!k{$CFKt=*~VXp8BRU7SReq21>Mdy7v z`BNo-CSJ@#uCM6P-qY=HEdfjU`GYRg`@H(lb{nDpQ*Hu|M1KM*81pyOik zsEZG~XhIvqJ3&qKS;{P0FTT`WQpxw$-t-AVX^Pac5&wVpGYWP{;B$QA z;{*7Jt$Ng;;K~NQp<`4w$QY#vWkOaC*hP!={zJZSLvC3(wi}|ObvKF&?kp&Y2j8JjN#zkeOsCy z3Kr=M9Tpm*-@IM<3;5eL)LAK1_PPZWdXW!$W)m?mn@@mLJc56UA;FYDGY_Tmxwzw0 zh0d7`rkbL*Y>C%_>Iv8pVT3@L{2=fDtKq~8RbPg(pPS5Ox07;;+yjQA+>u`of*2&` zi8{{;3sk)?=N~bc;%cWWey&NkhSemeQnP$__^5WD@K4QbbvoL?Mh&=Ns|3)}Ov0h$ zbbikO8O;bCB&Ph`FRptl`fZoT4qLeMOWpM}xt>#_y02gMo@T6#0t%A6#v7!VNP9_m zqF=3Vl}+T6%N=`U2Jbwd>%F(;c<^|N5)~~&EU75D#aggYK#mHrDGHBYk0|3jTp%`z z))6WPZM8&SX{{UtC*vqX6RLOk?xohVy=evN6wCt$IGYgQj3G*k?JG<(%EsgA!N6!0 z<7Ah)Eqo~m9X`SgbJDa+QjW#+B~_Np*_h2~_FWW|6K7PO%lOLUuDG|%Ru`})Usbc? zfM*ClP_%pKX;u(74?*u$yR z?ehN=BJZ7;m37w(txa}fn(s1z1&V2mr;aYC)!Sr&vgYW!w_ohi5_q0G=yBF(qPqz1;<+wlo(h2uGq8l~F zjd8TI4Q3Wf!Ww?6GrT%;!m_pGesGvQE(aCxMlDRO!u{S78QEMJU##z2;}@t{M}AjS z>gdtDRyR@pxbhM7mMK8L4!M6RFCF=pMx!2a2V~W1-D`3c1$Bmp$0ykb`Zu5BG!1Mi hKLCB|9}ggd3-H<(n#RqZZY_(-))w~Wd8V|;e*q3i= zSb$W-014<8mBx`urMNF`SX%96zqS>N7HwjWw+=MzR;j4>SqTn3=lliV@BO8%YdxQ5 zct7uFSRbgB($wTBwD)NfCQO(j5(?xKCXnMMOmJmV;K77%MfH0oOkhqB3Ha$-T^{th ztM5y_Cj9UJbLfYw&--TP*f%7+m-c6)0h8kiYPlHoq>52f3>z_FcJ2RrIKT-8B$A|G zvXl9!i9t3=RNk1JMuLCOKuiyo!3$rt9N!Nwcwz8BA>GDy!%rJ9b1eV9j)By`OAoRs zLB+IS7I-=zo{p{mn(j>zqtAUYkN!$wf|f584<0srD%^oiu`xl3R638{gZa{#Xz*#D6(3Cs4yG6Iq4xvYI4_%T0Q?-cx&5OjLx zk8wm22P_eYI|vdQK~S3`BTQdYo0+Ro!rLaYl0P6P09fFTtBt`zE+i^jdJmAy0Kd-| zu1HQG#NjpkhI*%!AJn`k=iw7%WyXMy1LqmYDLq$A99}A2$#H^v&TvKS40;{Eq4q-( zf#YZHc!$w+8Z2KWD^pd84s6}=MkiwP1F&c!$B=|bWTU=rfCeZAV1c3pE#b`t!xf=Z z;TC>_&WYkT6}lF zJD^z!ly67e99qul>mcHl{ZnjIHN#;i$BD^*5RU)@LeX(T^~t&+pCT<2x)B&Z=KyL& zV1GqROgyv%d%0Q#NzPP9)#<9J<|bwj#3YrjWzWzhjeN(`Q(4?-gZFE(kx(XpV{j{xr+UV^d40_*|^ z)+dE zBGwiJh~RiaBnh!)qPz)<<|ZG$W_RWv1vd;8dc=0k);v;Q-W{mGx{} zKTjvZ)dp;xAGWv3fnEJjbBf#_!fiF2cH}u%wa0S6q8|=n$ExLLy|D};S3gJ|$&xT- zZ?X_t+clavWHm(?@=O)jzf3dWlkHzzR=`GV8~Cf)gmYgROPQ-Y&WAmtQ1L7&jL-oG zj@$Y_o2Ux4EC3~51xZqT-W&0~sq(j5^I^dT06Ob$t9Um-0?)h^QV$+ zqot`}GZp)nTE3QSV-dCSoO6q0RE&7*^YD+=@<_F+?n9E5bz_(D@W6~`llv>}RR*lo z&`15q{-OAid^otvYcN&%1VMWA zyGuS)PZj=&-U7c)W5>zLJhhz*4p;~e1YeS;2Y0n}3#3n2APY76gn7UHQ}>1Os>GsZ zLvfE`jA$P>N*(qo{U6!>rM7=ZD4+~b-iUtZ^4JS|?1$A5C@dSdmE)~_O2yAnaS?$* zB>M%n79d!QuJgyDeEuprC0Wa;|{OS4~;&VWW zk6Amp$gAT927%0j1SbXsYWpv0`%W6jg0X1@>f%0ID4I^jav>@HD83Xq z4n7T+Tu|Fn`GL>`z9jv`xzC!Y{(}nVQ?zrux_lx;9;Ewz*i#D5>}vbN{bJHULbUu( z5)dfC`Y*=%kSzU}G=qv?CM&f$itE&i@v6hjFxCR#-B5^qg?flm$4+J)BiqW=JmHDC z`Ckq1tRJ$K%rYfIPA*^piX=d+(tg0uog`&;1=|k{@2ndN2@g;Y(ShWVx=fz}HkeR- z{SUSIj3G`XDT*ICEPf=#>Rcazld8k^cpQTuLhVLFVHl#VLegk2W1-yyv9-oC6Yq}>@6<*}L(!*z!Tr|4t1cVWu(lNKGQ_YDb_naB`@&_sw1(y( z?_#yF-uw~&9*J0bPI_at>UdsTchX3&J{xD~h@LhNU8=Z8mgv{uT(W7YRFC4nk`9Nt z>Z9=pw+Kk#fTTdea#xf4XV`4&fncPcr2B!kFpZaxZH%BSOc?miB}k^@^y;m3c7Hxh z_5zLNSMqdDLvw_}pYSfs>6fy&6)6;8ag&{?OYPNz;iY6-Qs!yv^;qxT0`?qi6GnwJTvtqM{nWjVy%F02lRf{jo`WY-bJ4C)^L|Sf`0y`MQJL^u zer^&^QUpdQPa?BhikpU$Ck08Cw2aHRA^1Fxtl$Inx-0Tr@oJJSqjO_F&z3+wD7i}F zXD27F1vVCyF@LS-@V;_cc(1ZsYe|%@CC`UBSbQQsA+SHn7MH!Ki(tKXI7J+$Jd`go z#}x&eys@RdS2!B67b5cqJ%-g7qEVX=sD`{-OPPNjv})|nXh&Y zX9xE0vP+6eR79KD<}p{Q4XMq>mjDhri~HQ+B~Htxu{r8hY>KKaCJq)W0_-I;4dX~v zWd|L6tV4fP!1qcQ{lU@!zBSe-Fos!4vc(rw4G`T$&r8<1*3NS42#64Yq;D4;{JhAS zDtH;&D-ML2@d0ZeICZ{XG3$Rul zw$uo&Q}40)5SY3of9mClET;1~$nUn)C%uHel3p_Wo?K7r>K1ykLIR9{CZHI^y5 z<8y~s<0lOY9*qW)D~#CgChESU3_$bhXzd6QRujF03zemDT^XI95-2-+x1=3)SHDW* zr44Fb|0KKXYq7=HLc-5X`ve<^Ri;Rju;Ufb0mGi1WN#!5?pF&>=4T|C>ju({Y0@Mx z{U_BD7cJe-nE9=XFSZn4DQIf{gZk39pP`iCargbM^fR+ByDVdT&qYFd*K%I?d3li; zBmZ#O$e76obd#(_IE`OF`DH3^k#+{^CO%AP|6CZL+d;UIVOCEj@xOM76|9UNjvsBV zLY8_LHJNie5$a1RPb52Q9Fu-Ya@YSGixl@5sz?`VJ2oV8=TLS_|U_w%5j_r0=M>qWZerbrN1-4g}JzRM&tRKHCfOI;sDFn8B>|dauC#GsFMVd%G2;b~&b3Onh8ipn{(PUw@sM{XhQ&03=A78~m(x zh?dLk3J(8K@jkwwS8a9i&`wvw=S38xC6`m}J9?)i+T;BCuXhn-GrQO}scVe%?sRBf zQ%oFl1W+jSNXbNKUXp^ZoYC+{gQ0!`Jl;b>fRIy=D1X?fd-t-Z@N)%SEfMbi>@_G7 zK$|#GW3PY{^J`-gqrDn9176XPmhX^jircKYq8*8oqI5YFdpQ1)QU--0D)^kyAEM^@ zJV>`shQyx|5Ltn=%Vrz87p<>jkfL;r(Zfn?4c?N^haydrP4fky+V#IwyiWRB^dKR< zbiKY;!VXh+?^h*g$*>{NbwxB*H3cA2^eY%8!i3dxhcCIfDg};!Jq43`^g;^nhEUbg zt>?8wz`#C+xcf<`d4vAL`Yb*IE#x7)Id*HV}?SYltrDm_(}AJp&3&lLswHqax4 zPzy1(I0rz_v6w~PUF*Lt7baNa0%hCK%K*{Nh`AE=6t)}dq$x$Z66$R&4Ue(yG3P=h zeI{-S3lH!(?*)gz!XG}PCfMVo3*$SR3z(KQsDjksA0gaU8KKxOxK89bt^aotL~zBK z0&$evm=6?G+$gg*R6iYu1A>)M8L9XJywaQj29}A>G6%f6yjE8*kPr}WoI6|xiT;_C zCcd4}z~Y5uY5(xCOdSfHukYeP#bp{p)8zp}r zu`4Ya7Gm&5((g}--uNcmO4w#~79Hp>C3}i)$2YX5(EQm`NnMiFup9uO_4<8C4`Y2W zV7iOf2GMd<){+pYiJi=>up)P59gmZx9co9mpfi;Fh|0za1t1gbq|aJbk6=GzBmuJU z6D7kU%w5!AN}=B4JVlpbbru@j^E^SI)3aX7=XyLN^iRhpVNc~vz8$)5EiWw)D7ppx z?A-&_*9rc^C)zjKCt40Xs&zf<)uHV!L%u{W9TqA*^Go{~P zxvW)qr6c6yjLt)bJo87&CW{a_-G+RI1&PlQRf82Kj|LA&-)Fhu6)^egEpPzZ%~y=h zGx=g4s?O^}{db5&uoe=>Vco*Kb@0hTgrc>?S>uhtDyW28f*qBN=;1v8?QzBkiysnF zStg|Dhs9~qwqqA*jbB@s@s!nx=_F^}G|g4~f8>KCG>FjsFc zuUev>p>uwTzRulOSS}AD&NsUQ;OA?*zl!bnp!rQMQjshxDj8 z%$C{743tf4z9N4_Yh$~K>xVCsF4PpJX~#Rwr;13-*Cqg>XW;GBd7K}xR8|=D@7>I5 z=}L49S)t#>e4#$+{UFs&!=c#}7^=`)n7d8j;BLLWLA|iQVPH`-IQ9c$1O|&Lc_upA z+(9qimA^$_FTIM@0jvIUq+dN>?`}G52QKA!7eS#|_vef4331cB#(q%W66MB6EB*@r zOVL-m@{?dq8%P_4Z>=S;MUg$S{8GfJf@%I^?ZlykQIoTi90n>OVNi(Yv>Y_&5{FJRsa zqKRQuYhU2lNCzNKv5b+)rcz$m0qnFOm-8&H_bNNezP{~aJ6H#d?u@}B7!Fh_PV zugT_BT%m-*j|T$W7m7M(^-EA>hRs3k0K8JwLKL8F4YG>g4oz$_whEmJ@$#crs64Z4c<)>G?_k?>O>In=a%QBoe?)03S1|`?&a(Z?L=mXK7Sm0 z+?+yb(iJA$hh87bnS-5ke<|*a>YwE2rTswXVA)^ejqWYge}Wtmgn}PSSvy%fp3UzKB0tv`CVBWlsl3BsCz>B&k+3cMW2x#Y za*f`b|8mKQfA2+hP>nC}5F;jzqppO5YN)Fpq#2a!!lu?gR9|P!L>mmn6~kxL%Yf+n zt#MsaqKh3?H8W5rX)o?EFX>FOBTBMvX|J(BZ3(01a&FXGH(B=>8c{d=zyOTIRLqy? zvp|C)X=l8Bf^v#212nf38}c{yo?xF0b&XaKdJn3aUl+s0J@%?$HuaG(L!RN?<)0!B ztt@WKmw@zRrd<+<_+o4Ea#c$su{cRa-^YJf?-0c*r`nc)-g_n0euW4)u>kBsHNS8) z09jLecfI{1>^SL`J`xw>wfS;hf;EI3M0>(6^0f)0VNC1*osO}7TRb`qKdWBb&r@=A z+}^UPg8g=#dJ1{FzI(4d;lGP=NwK{1+=kW;BWquNd=f9&>g!Y-1f+ZGEKCeS@iEd1 zJr&<34mqHOyMu)lD#G0w>nDr}cwB?w-5&Q;nj3yz2$xxOn>T9}0NiBx)@#(;A-;@6 zA{hNA`j*k#5g148-WF?0QH9Ds#Uk{dJ3Om`0j_Lj7ln~ui|e2O_>Ka2>^mk_>);b; zTCkl9-b8qhQq<$}+(g3jzd~|>97ZJt^wSfqF8E0Z)GQpOz<(t4?q{zvA+AdGz@jec z+jNh*_a^cv%&wLa`vhI9L*DwBYUkdNc82s%BEenT8}12;n(VpwQ|U|Tdd!8LiMiUC z`j4>Ie7QMgbUU8d*_l4A7>;RiT1 z`uT#Fb`gZ{+v;7_<*?m-Og`cyc20o^xzaWb>ZCq=TYqWiEV3vivI-{Pfp52WDqw}oB5@#`qtc4WFZ zkoxE{6Phi+Py z?n^HagZ?P}IUg^bd$c#9-dW$Ez7krzrzwK=2xpeAhFg?5J`MhW{a))sQUfcNgk6B5 z6^@!>(ux-7@_-i$v4N1e{rUTh)y&5smeb%!E_>ZCC1e%b&Es!qGEul=awzd8i_`J@ z{tV^!-1}|adwB%i0{RbDBA5NNvt-1g{F(@tqlfFkk88#b|34&uqK|{eWw)b-2*nAD zr;8f{nF6hW=%S6TsaRA?aj5NsUfCpxp3WHAhO5DiRQ6-GB`&)yMVF@@7$?}}$}wji zSCO``*Hm;L&_odV7T8l^)#WMo^R&}dEesfsfLxee0xe;WyeXiO!{=rv7R`W*V25xL zOp=s_)*MSzw0sA8O_7^sb$VMEdI0V)x-sTnXi4*Rg>i9@APY*IVbk!m?xW2x-J;zb z9yDP4$UVH00*ijG!7ailc0KelDE^iis{#y$`GO#VdJaMd-b zjFsYZJAOley}nqQA&Zm~D(m}SS-*CTls-y}mgnvMx|um0yWl%&?DkR~29s?* zfqtR1b|K#(7rAJmwavT6`+S>>hq$fJ}&!QhN&A6t}?s|&GhLY^BR z)bsXOXyBEHX1h;8kn#u2HCs9=$xZ|i;=!ZMDP4!$I($NDj}7O;bo;QdkXM#nZpG3Q zpgo}Ff!@3de@M#ar1;&A+mJS`Q)lnCmX6t6>Y+^BWt&BVAK6yo;^s>ccc%DlF&4JR z#Eu&6_4a)#W48xHyiBo{ZO%9{Q?k{y?^eZ7T#+};UXAQTcETsm$%KZ~u0!T^_#*7z zmjrPBoR{`@>>v^)@)x++rrTJyI9c4N@qwOq$nqU_NHJTX`*(bK_N5?XEwiGen4=1^ z+4^Jc^(wI}?t~&*x>?Zho$FfDgF|kGY;z)E^RvEv);O2ZWNQY#RQIaVF5)lj-((kU zPH+k~S!S~i0&c%@S86>$&n(-N{^=^Fo4Kh3=}7~bNZD@WLYTSIEOTo6&|Y6Llv6rwI&b_Xy0oIuFZ_y6Zr%qCC07jHvuvAHOgu`~=G*nZT$7NrxPp(A zr~H=Jjr^$@#GrauBj~VzWUN-?pZA{ zr39g}+Xs0E4feQqL{v3|6L!saB$CUhM4OF0Z5!If^lVKDQ|T-en+W-bU~LWUpJnx# zLjn&$TwFtP(K`GyN_e#aBpjZU^Tb_?HGu7=J`xPJ6k~U^EtlkCyNKP#_6i`>guoEh zvGfC>-CwTocWDq6ZNy(#!fIWW3zf5V;{q*1k%mn+^^M%r$nTUv{?JJUS?mq9_K zPhfM5r?SNIP+pdO=@>WEyTB>Z82su8138HPvoeRxiz^DnH)(hYgdZFF7%V&ozo2-O zG`ef7)gG&yqMT>rDa-6B*ssw32}|c!Oyoa`E82p8g{-mY42bJ%XA`@`4Qv9|^D8FV zreRy!hxVFv3@Wa~i}6HO2-berrM@yn&w|Y6Y?!aRAidqBnvSo;-9{5&slb4kgw!uA zm5#S4JjEA;X4z7)bL~TW%nhn|{{lWRJOv^O)SXJ#u9h$VeB`Dkh^mSbD;~uUrbIV0 z`sb*5`&13Q_@dc(HfxsY(ua4>(9g*qCBYBTAlfySR|P(fU<$EQf|X*(?;7q}<52Yg zwq1HwalOWsFI#H>MB?42Ij=6RsrgF#P+UWbzd&|X5vkaX zq$OGzx_-y|gH+Wju`9qm34T+|O?FY{crUO{RGJ+&R?N3u#WovKKtT~{R05F2bqNDo zW2WdX3)*PD<(V0UY&TFbU%FDUwmC+_a&H++8%+fXs_qzel)wwu>=R(~6*qVB4yxR3 z^%mV&^H?jyQff&PggRBU#;6B8uzu(qJ*oRiww<__jY{FgH6TRl%`1Fu!Pt{nU|J~N zWSQPlC3})84P@~a5#&+!O=49ypMHgIMCZt!B)UZVNF(J>78Q_{pA&_0NdrH-^E16@ zPB9G$2Iq_>_}RG1YozQ%tw?@!rfBQ(zW-o(ww{i~8n7RcH2y`MtFlLs;oHFWTds%0 zXD~PU&FOdw{t5Prp*VQDHEu9aHzmD5 zl8bU&qN=3Co+W;6xWZC}*rJgi;n!nap0b#3_-uTaCVH%|HWqVJ+;mg=>j*my z{FmBS=q#$mO&J7GjthB@vhDexDCMq;!O?4^7yjJ~L2=i{{;&#f~}Fbt(@+hg2px2^EITue9n zKJz|1U%M0<^5yVIFRcRq8GR^h;CCIeGq7a6!hVQhDFV-Rs=Y7?v-^rzKOxoar$dwz zVH8IrJ)(;>TOEbwQX14p7+HwV3z(}6H6L3HnxsU zGR;8eKp@b6x%gu6j>(LQ9URu(deEvdy7c zffvEtxrstavfpTqPRNde45e>~k4_t%A)aq4Y`@a-29jB%Y%aW2Y|!2^dDbXRhf@4qqK$g#`=)1Pa|wu!pD*3(hg zacuP)w^h5$so-|o-RW@lDe{o33{p;eb2f)*dEaq11g8Cee{1aU4yBzu`plTavhT&7 z)S4@KIv~R`*$LoNq)$N(Xg1!BbAiKi(1$@vcO~ns>gFooL4A4&1?RAO#H)Woe??~j z!3XKKaG*Agp9Dck!aW3VcnkV)zH)&w^zC6&713ML$4oiKF`ntO_Kvm`(;L8!kpg|e zuOrVAtS9~21v?H7T$Nszw?Pq(lfcul25K}t*zYmJ_2|P0WKyhMCcR0~hHc)(OKn&LnQlUUfJ`S~hlzCvtrIMyn1jR@1c9a$s8D4Z_A8W5usSCI!fwx! zjKbOfsOTK`?EaFXNsG2yc)Ye zlwcUX2}&>mz*TAdj5nf9%bLf8UG9H56!rHT^G(ZwRfjB}A#Y%-1JIVy_iJv+Zqlc% zuT_P;alHXH-`p(IGj0TZyW#XPj4OCVRE86;nzDvV++)(^&GP0;^55oTn-7_>75uKC zzZiTd_ze+1-=*5c+|v36%WO!)CyT?=!|6xT=N>!nYkDDwPU|9?w38z#J}YUTd`0U! zjy>_UF?8DrZaJf4FK_$4Ej$T*n2gU+57oZGDwH~_{E4tnH?X6v(Z_oAExw`y=;b{gl(_g{*kACVsQi;63n`d1cxEVUxNBw#d#;Z<0 zQ}MT-HLm=%?PE2xPoQ5p1g8b}y^@!Gq7jYPE|HozvCjF7hS6_U-YvBU)7y}X)HQw~6Z_g{E&|lZnx9NW zCF?g)m(J|v3^n{g(g&A@piT61Lxm=}k&-_5 z$a>iq#)xv0c!PGu0%aZG@DELznmGK)(RgTKUQHS0MVb&BLM}V5DWBOAPe>p1OU7gG zbknAXk1cMNyM)v4xqp)Ng<&YJAoz5Y#uMK&ayr~;k{Ofn`he_)?)%+z2`sCX->0TK zq-dJyM#>MMOh%(rFOEPZcS8GgD!<+I!??qUFm8&_I)Z?*)u}Z zRAQ$tmHJ6=`FRmR-KkW-zSjJ?eevHUwReT1TH3Xf2ZYhw7~vbYk8}n!PvKsaWymj5 zKRGIARF2jDMQEwtDx9;eR!He$jH5?^cm|omG=KCZB zI1vc_Jg|8N{S|UperJ^aJMxRu;ZE@eoqf@bT>#N9@DX>Fvaao!m%nD6VE-j9a!+>E zy;|B#gdX0Ph;O;`v>ecp1ezLsHy@jrz7_IqN4v{bOtW>5F#GgozYH`|e$l-r3JezE zUi_=n3yWjK;q--m(*+C5Go@Er8v~{pvwX5C$NVZ9n;X4%V^I&{z%wqk2D^M|ExkuF>X#e;LA9Nq zP4kpTpzg~L-Ho!j+os!2jyxyywdSxb%6IgQN(xYi#1Y1LB z6pw~=s{uGqTl&_j6{2j~uYQLyU);?WN4oSFSiRwpTVt^0BhZ-#un++=D5`M!G)FS# z_312X`yK|>k&tJ*EP?o@cO*;fi^5|Z1+z)BGiF%m!mo4a{LR-E#6RJFVewd~?eK_? zrpS+fQRF?%LG5{cYKx9$PkiW!B|h$75t zf0ks8vmSK#_YGVteS9f(u_mvj*gH3VL#0`*%6H3hSq`dTCBDPhiy$Fgt*0g#Sk&n+9A_^yf=E=+&W?=%XVOHNTRx--lB*NCEa^pGs{&GyME@Dvu)If; zthh?JHYVs2Ykz%%2cxplR6HI5FY-a=Z&~WbdRmm>nGWtgV#RL~Tdk^N?ktDuP5&UJ zfN<^$OhPyptB92Es3Y=P8BtcNal!M5+Fe|w_@?|t_%xB$DdcO7(77BPp%C5YI+{eW z_q+~3zWk&nSsqDvRwcbEPcnl4VFWclNE*$1?fuct%)Xx~s%*{3n8sUO9KvJMiF!x{ zgTd;!@Ubu71o^G(gvh%o4-O{<*3dkGZDE(heN3`5;q6uK&lksNm_HaP*G|3{Vxj8z zM@J?&oC=>*>Gc}=@CS>3L-0-LrQf+ps02Sk)B#ad8DAv5>(R#))iS~(nVNzAEFY)D z;trxtWPNj$1W3WybQ58!y;%NDxx*dF^5ZM^r9a!`OrIlquTfcecgc!I=1#cgeJwcjt3UX{* z)txB>)g6%!HMmWto-|~MWY?(<0P8LV5eZEV40v+v{4D0eIr5NL!m zl*h+=Libx$0JQ|=da=8W;`pF_m2oroXl%_ z95YhVPG*S;j*q-YB=&aP-&%nr45SoF;L0xm2ol^ye>B{(Tw~7w?b#ei_4)K=AlsQ0?M~buS@>B^1I2n+HEog zj_)$_-yC;zm+n$vb*z`Qj2SB`zZHH@an=#{{*n&NNs>EL%Vr;WR%zd7uj%}_?^8S! zz4T9RhAbxkQ2N#q0=CD@)BL_ote>d%Qh=rqpG^o{huz0s5t zu({(v${>=sbz2_|&%@s*%0g|CZ*^;)5`MxvI!${F;M<5UH37Kqg~5ak9w*Rz$|uqd z`&2sB;u|Md%!*E!Eh+ycbF$*4>>HDlpbiz0zFjHW%a``km!hkXr6!`VDkG48j28_( zH}7wy8h4U4+-8PIlJIOi=_nKyA4iqx;m*Fd#p|Zwu8+-4o#V5)<3>_f++Zjj>Rh0W z!p3VDqn(U`c**!ROahh;BK63RMzFLS`3e2_FP47CT+}&UPmbM)?@B4yOYCA3_*bR7 z%l5p%q|sC*i-fEc8gfF+e1eQ6swN)G8MFM(zsqMInVTHQu|z{+|BW4s$^VMbQcdcL z3)H@ooVf{s?Tz#&$FdfU>dZ?(4WwI%Uz0n>uLFJ93YnHI%fAKQxZq2OsHam@<@VNh zQ#c215CXwcEv#Tp5%`>s6?s28Nz@yW0a#M?%)Iic-0QM$DmrRl13fR+PDf%Xo-$%@ zb`T{#J8d-lLDm-IuC&%7v>o8ThpER5o2Daz;PiuJ{$p$uDd<8$q`aqnW7WWNdf@z`QiNyG}2^>Bw zMCZVF(}T1O zapYVMjsJQiH&PL*fF0nMOa}Tp@`~622vWK?pSi5rD_H5<#qL($T}T@BbMj;<<@hpL z&alhxXaF1;+G|H+;!HrGab;J1Yv)TNsZoaW0sNQZ@(aiO;D3`kIx;DKO+9@T`m`m- zD>rUKES~2a{TMM_HfL|xuZm^;LiCGA$=2%h^B3;I$_AN!XubFv5ewi)fPM&zTTdi;+*5_aWEM8t=#gWvKX-YjpAGt=(qWV zcFg`BJ_n>dy_{bS+X)?wUPY5_2O$Y=gyxC}6I40zSUN2+x|a6Xcq3w*X^zJc6iX|} z#9wG*_PrX%&Xd4y=UC~tvedG(Ar7Y#2y;U19@v}CPVb|_Cyg5+l%}y~K{{^kcVO-~ z=ZQy2Us69wa}4c0-``aB<>BzTlkBKLM^<75JC=r@eu1PSlB3Ya09p8&CN%u@Px5e> zVsLz|G5*JW4nzqjRwTop#9tU2DeDMiz6d({{pMEqV0*3Vx%bVczo^z#D z!tMru!s@$aW{enePo(6siSiDgn+~~=Y4K~WH52yAm_#*S-wd$uX%oqCjrTC=3npTb zZG|YWXK?qEyt4@xuHRhJr*kXzg@hbG^Dj-00CxB-UQ5<|at0bj2NB-!)v(m zpCspe`+M&1xp$hRxw}?*t?_bmb6b^}A(FefEvt2NbKl2=7jAF;{p=$*H=bLjhTllstJlGUe+u~Qvr94my9<=B?rSh(UwB=d7_=CU^vCUPHMa6%wSyMZkv=naDfYv_ z-{O%>-M&6Eekmqa8|D3n`eH51VrWgTgE#Pjv5$KBS<02K@6(tulZ;oc?UwOky`+~? zPq~O?GETu-5u2%7#yFZp@LV+gZE2(2JVP~8H&JUpM4fi6#~Cy1gkc5K9u}+h)odeq zp>y=52};Gb`hJ#f-<54-Kg%UdiarM@@vM=t+Os_0aBHNC#WI@$0G-udx``Hh9M$b& zaho#<0N*HUw;9{Pva>bSUQSvATWuX?e0}arRIK&{d0P6ji^;%d;%C;yiT4;Zgwd9( zKj9Ke4%o3SB< zNj~H<>_9j%ftqMAB37GC-c|_a zEZ|KDzye_m8p0TifkzjPx2+#=QU_yWwI7hT<$^h4%LxJSac9sF#^73bbm1&FZUA+p zFIWsO%BIr~%+YG&ZB!~GQ5o4q+>M&?dU*O{Ty{KB#7$IuVllPm9`M!~at6JP8(m7K zYi`u%#JBNYQp#?y)SHPkFx4F5l{o~% z6QK0kNKl}-L(MU6av^wV(EDcIaX?_HTjAR!lC+O?aUb9Ih8gRV`6&8aN+e12zXMs* z;nOgXu1{kOx_ojX&UVX;n`C|7x`{0|w(XY7S!x-Bf^uype8y`3#u&@d|IH^q?gSj zRZs(Fd^$HcC~!DQ)hHAo{^|G?i(xcVU#V1#xA8s)5u&X5nltpa(*&Qg_1i6`(X_sn z?XWP-!@7Q+ppS;XwJzs+t@T%cq1)Ha+v5c<#w@YJnCkf=?&nDvc2_{P@$MtT_SeFcq~kb^OS%t!VHnZ1yK2TI#OAP&BD z6Nv;YfE2!vfZVabgF2{`&6+~GUdG;~1Hie5Iht86+QU^)Bx1E4jO2{R>`A(kIAt`Z zp(?YEyol|r7k|^DZXGesa*?~ePZG%2US`_&jB>YPiGGu)c5x=-jM>f_0ri@)|PZV4FR^h+B#$%KGF( zbV5>6oybx9*ppDCfkmWsCukXN%^`cBE-x^{VAf0&(qbzVaNR_xEuC_+bF80h^nSaJ43i8 z7V_^Va)x|&0php#iBoE6Ya}FOMWp--#m~!ZopCvk=1r2W54&eq%oA+Vz?XYe7|6*7=ndq(xYq6$&@v5)=78JLVuy^Z_T$`v(_RKHzzQPOD z`uiI?y7Fc=Aam8QC;3kM1@o-F$Y$Tvj&w@8ww<(lLVXHFDo(5=)_|=%r9ZoY&p)8) zC1$kOYSHl5YfIa^>7iYplFHMWhY(CBAIB(DWRw>gWlie+<$3<^Ay!`@N;ey z)qQCHaFZRs^TtGr+P~`UxSS)j-~R|v(Q@eEaFg19Zyp^c%s(MFKC~0Pn*KcslV?QE zI}kaUN45_)^|P*pZ=(@^0w$RQHz!2NtZQ`a{d?VCQOFH+pjY1&v|~{Z{|;*+@0|O3 z8$$dJ_(VPY3`OX(VsLk*p?xl-zD0=Rz^A?LSPV$~^(!cf_wM?amAGs?vf7CEYTqYI zEjikbc}g$B>~g@XXCh7oS^X~lZT%l6*tX)-?0@`T3Zq6wSg#kEMndjc-Th(EJ#8Af zpSAI_F-7kw6|n2f(dB-zb97b_4_6w=m*V$!Tpsfg0=Ep*P4~}3$=PfyU@=!sDVOu+oULiLrYGeh<{9f`? zNa~Qq8*pDX;(uDPqwe)T%X=AZk{LpuUlb5SRLL7)jxC2&v%C&z1>+;4QE8BvW;@&K z@+%EfT`OfU)w-ngHI*a9a~W+}GwJ#kb963aOboFYIZxvZo9*May9LHG?xhnPJR-YQsvW?z>!p7NiO zJ-<)YA0Rio&qVb?NC%rr!l2~Na|*Zayu9HC_W|}Xwx3E==2u@?spylU`rc}Hd)S*K zI=b4{^Jo7Tvw z-bfZgkCSKZ3RuAuilA|UM#Ht_G&~_jr6f-J@^{wfe4~RU(wYULFm2uR3PxLsdo#?% z-;4F`SuH$RJ7<=Y@C3Fk>6CPKmiQ+Oub|wFnKK*bjqgrAKz0+bC#Sj1*%s443M3Ur zSLW0hP6ixH3Yf1tUsjlj9E1Rf+p4jxF{1! z1OEd4F}58kw`ZB!Tims&Tq}U8b5L{(X!w_18Lzb-$Aa({<_HI=);*pv`Gy(qldd7J zkuk6IYL%^D<~B|%79<9IF-z+E$IXve}Ke}x&wGa~gJ zBpgfKLfas)RZ#&DWiS9GPr8P9>b)dx7YT=OrH~+i5uQ%&kbnEL0W@7Wh>lc1h+ zJNXm2i(QN#zB1*|{z+Z_N8L~A^RJ(`Hd%K7KEMCGb^XKM(Os~mO}t}{ZP>2Ne}W%Z z=1&=Wpb z!t}9??E$x&u){p--o;cr8$-ayYACkq-9rUa-PqyIDTi0Mw5qIAi$=Mgkkgk#x;V*8 z&WIl?@?8mGgL*8TW9st3~f{(0E>cfK4 z#=q$|*|?ZOI0=52l>S(L4i?0NcR9V{k~#VZ*!SpjQpAC0OiRYv13a5TqO9?Ywb+I2 zg1kkJbcF=m(_SGzC$Bi%YB7O0Bas{n#kVOW+$wt(fp$n}B}p;o6z62;96RsYk)+gQ zh>^8e5S9p8Y?bIKXL8^fItUaJbVB|J;WaGSR+{bBDwGaR1WTS(pmp#eVa5|I-Q~w3>2z3oz;~S` z-Q#IXmG?gM-X6ddkTHzG(@RYk#8ZcYO1^{X)8R|0!o28zPwVM7xqhj+F6B<{wG@97 zM{QpmVj-8ey{S%o*n0%>&{Ai%m+`;j06Fz%O>b%s$m&Y|{eKDi{N&Xhu!DX?8j^+cIKhd@lVWa;*S z@7`%WRIsh-pMZF~mRi9@@neY3MMj;9@*abd5d>S&?YA_c{KO@Hf_s8^ke;tvl5E~# z5PC?T4j}P#v1+5)#rQGkwf2EmJWnmjbU!lt{mY=E+$%|nxs;_pzSx_d%I=}&ou(^P zbu4z!?Tlnj*?A|bM8ACrs&q*96!OzBxc6gn3GgnGhj<;#M-*F?-m!Qf8aww&=uKwhbboLttoCU@^Q5nSD#l}Aa=Xfq4Q?+EP znZz6PK|XQ>9lK1l*b$h14+j^r&+AmFY6nSXDi zde1!FjKZRT`%Lv~=t!8xO@*W2#kgx!jcT}5+Z5Rzut~fGXvoutp$icjRqpJa=1S=! zMFUh_hYeR7H_egVm2wM;tzTIyT)Q}-#4BiDUlF04FYANi1tl8VMS5Rt&h`)PcJe=p zwEjw&e}mPpgF7AvZV2%S!tH}@_Uem@KJOkw&R7l{57W3S@R!iW7BWZt3&c8JA+(o# zYlY^9Q(Fz314DogWE}vOVrbFCI&~v7*tC(e<J>AF$wjvlEkVdV>5E=C@sg^ldG2@Sov)7a8_V#tgS$IEttOsakk& zYXxi^a5(Tq;+d*}dy5*jwF4$an3@ssSr$cG=2IB0^RN3&o;2eL8c7(Mx{+)<34IPk z58RPO_G-_nGe)^bdlIaj z+3#BCzcXu1uX%o#@9%s0e6Q`$SCq~c&J)gT~s#S+S{qfPGM}Ka6|NZyB&1r0GoZ5H)KmOxCKKcLur^Vjqr8jCG80HS^i(k$`nk^twmCcAARBXUETt^xY^waKw9L)B{hg>YYL+k!~&7)AQpqA@lswYjMY{pDM45T9r$qB{3?2L=gO^7E#Vdsqge& zSBAhzi~NP^fmg+?Ur7X`_QHn(b!aoCZMDp|Ji5jAD}TjSSzbv+oBg%*`Rrn^ZWqs+ zP5xNY-*|2myLWn=w;8QpwM%WvXZN>OEWMQPq~`@H{90R~JNo#z{QiH%cLt;Qk&~~e zB4YiteZHzU&J`Q$r%tpw`wRz{o%d}2pjH-K*^+BG1BV(Zeg8akS8^Zk*$pj5go_F;4|O|?UpDlOc;cvgJp zs92HVaW@{9$DGO9F)A4KH4oM$oUOeyoU_*&YbJjsx38@JJUiR^r`De~-gX&mJ?`f5)xS-qV$2EJ5&cp_0o&y1Z#*jf=$)b3OZTXcBy-vFp0-QfYf9(1 z>?IE*-|_KxJ2mNSv^%yZM0~4O#2*s#AAYV`SXWu#`5;R1!TcV9N2ExZ%j4ls_&Y+< za{iF%6=r4NpV`csE8X;Rw%FR?(eH55JJ<`-`7KRyu+VvraNQj$&wQF^yv_8;r)erT z92_kx)!60-%BrJB+wV~s%qfTOf~PD3A0N%P3}hRN!Z(O$X&+=F+^I1Qozly=Lthbf zh}HG9Uh1Y7sCM(KsgqyPUkI>Gge)eY?CA)TnTH#l_N4lb%GW+}6qThe2pyr&-fM9^ zW_p9R+Dn7X8nA67B{n-}`P9m~l%Oz>gPTwb%xi}X>Es^Aq^ zRHYM#Bw``6#9TV2f5OZ*7c2Ay>@m+kJvE>0we*)0Q4#e-k5b<;ZB0e(MXA0wZq(dq z-^(lsRDjjWnUyNh!*=BZNomWywoA%7_XM34D+saM+|WXY@F)D^1?J*0(=u#PITX8# zEW3=qzJe}h#k!1|D?6Fl?tvm|-A-$V#UZHWhXZT+7V#&o`HCbjQ zRx>_fx;*ZDT3XUyPjAtkLOg>!-y z6?l847rv5Ew%WdWdcQEtDP5x`LV*v+GN(QLSl6q0NYBS#yX)!YkR=s&>@FscP1G!N z*-v?5b2jGd#Ex!yE}Jds&d64wLjJHBBb6e8BIbq_KnO+1MJ%)YLvum7>SS^Yq=g{>gl5sI8tMhL_5 zA1x6FRMmWJCy+n^mGivnYCe^&tHd(S+u>hd*C&K`-zgD5b*|{YM~iVoo3xPJZ-UMX zq=%^Ij+U%+iyg}73$<&3M+|**5(X(67Uj z!DG7wt(SH(dAi(4@=)%H)=NsiszF~c&1ka&T7_{R(<@(l9V{GWt{gKg1Ve*E7r3KA zpeFJlc>!&b>1N+V+n?ga0i|lpL^QEQtuP8g#ED>!1|55+<$~JJc3NB$V8mXF;~ss8 z?Fu?3@Ta4rrnAKMh}q_#twpk&{hGM|#Ut|!P={n8X-kG&K(~p{@-*Kwh3-^d=xurS z`Q(^5UqCr#`kt8yMPix*6{&jI&Rsl%Ni}OG&w9i;8*ei!OU6vlGU=?{LfG_OaEnzt zgwMK0!$wfQn>l5H=zfpSD#=PvAPT6QD0fK75V2|szHWxVc7NVHda}c}INz)BE62pm zUrD}WAgB?%llr1ml zyUldTWAHc!Y+8KG_Vj$O!km#`(!W;&4IJ~r0u70GNgC{f zbtx+qDOqE2nmL+zhAw}rG;hpSO~8iE)@G^jw+34YEz31?K%uy^wSCF-f?aiS;kRLy zM2s2I!%xHXQWl*eu7`?w_<6KlTenvEMZ4@R#-xKX*g=?5toojbXn;wI=IBXBv37a% zx}}CLX2J9+BV~u!=IO`L{GN#joM`tY1sDoEHgMkb1uZLN7Xup9_U*;LtEjtludSN! z@}J_1Uo5uL9ldUkZY*Y9Gsr-P)m#NNlU3N?Wt(tBEc6QQLu^w?|6^kMq}2ZHRS>!R z7O%~sCSXNY%JxEFHo>NR2AzzfhB z4aQSSDiux+?6h*scWTt|1g0aIDxDTMF%DCaq<@7mu?n*ir_vLl5b6)&pR0#rJ|f!Y zOxE|jlG2B5eTJ~0>81JJPG6^QE1;b6j;Tu%HbLts@)?%&ycjP;} z=`Hww2J_;4Ir_cKR>us`3JMj!Z-${*2w?zNOjF)56hsL1;iW~62h?YJs9$bXVM(ci z==}xmMC&Pe3|WPm$0>*zkvypN1nZin+P>TBM~?8*+`7~R{h3H930ZYwsz8@3alq)M z`ZNl`x@I+XP?zySck{@?Vkpy(W{_*wy0gjkBdtB$P8Cf=e{;VGDQz4dTgEwdlAYrm zH%#A;4Bj>F8~N5WLC>dgEOI$=d}XtGr**d5(8WE$XZoh_YxYH#R6gWW32ZiZXU=5c zX4DQ=#wmSRCjDckqN&dy1=sPIHRL3clQ50dzuYZ@0TAskH$DbYl_~k&(@m@aPc$=7 z)*P}Ed(_-@)OSn;5!gm|$8@l{_7dTwcR`R&0kL~cqxf4f`$l&>4BOK~)|G+QQKGcP ztQN1aZjbA{02m4Q3ML^}zg6_jwmoX{;^cMSWwllaEcsiUg+tE(rY{)jNM&If%Ou|FG4PxWjweBYxJ) zW4bIZsF!j;0wsKdQnuqO3Dj2{ZNxn5~l0~A4|?LkraP=MY7PycNwJrKQS zr!_U80c`W6d7#Mq4m1Z_etc%tj&a9ox9CF0q64jRV%oaf@8OUyt(78`%CK+Dx}`7) z?}ll$LszPCWe|iN$;QBAo2McK)+HIq4QbrVo!r48Q=oG>G|$|SO8J3a$gh+6j(P;# zYQOs`MEL|(txT8gXJymG2ihiU%z_q&Zo!?6T@0s)%l+CU{T$80Y1S^H_O}db5}b4b z+w0Q;;}Y^`#fln4)$Q3Y?%L+VA%HibUC1Hv3{kR=h|z7c^v|NAbQ!m;OUxNlE4}Sf zaR4>~M)3FQffdGz)=M`Gn&0zxF&kbmS^qtdnl_i=bX2L_Zo*$zRucyW$H3~2z0*f) zR4MJ}a2We+`}94(*L2mTU%p0dbqq^~Z;e;ffyV}z6mr94s#BVQ^L6<$!LQ>moHN

cEkb(jJcLbrYcr7y$--s`t;TAnlxX4pFr&*U*(#9i>^VxjB|1{OoX|( zE^C@V@3NWs-ebOUg&;)g+O**7DyaVuqwmuw{U^XfvHn&|5?=p;PfGwo*X)_>F^_nf zG75A2+1j-|RH-v0$AioO@PAnHmY7p4E^u_63_@D71~4PWoB{gQR@NyWc1*N#MjW@P zsEa*YTPkAu!%|Yku6?n_Z2NrsN)R-qvq&&%$hlM>-QFbiRgj}J%N=`}qtmp_)k8Su ztoLiCWh0RGf^8}vcGQC+^LP2n{1roI^INhJis&bVO$D@6HHZ`f&hUc&cxLdNQm+t# zCbpyC>X()&9WyLrOqPt|(X#%U3YD^pKSp5KiWIRbT{geP*AY6)a|6ugPV3A_=IB@S z97zDiTUXt-F|52FK>}6=P6UOKF8iP8ZH6c0X|yi8*4CA8Ne{ivMM(^fQCn)$jv?Gp zsj&faW|?ER8be~>y92t zKJAptJo+x?2V>5qB4<4j=bFsWrboyYXKRaXr#$fm-qSvft#bxB_!-HU9Yl(2)8y%L z!yM*qQ%+j&g!D5)zO~ap>|1BH+Eh=?Wucn3z@ZnwIDOq(^612GxKEvp>-d1j|H-VS zbM*%aIyoZ@L!Fz&)vcEv;B61W|7joO6T>XK8hyOBJiSF)+4j@MZ00Quvmg+~Y6K0UjYmD_19CMeMKMCmE!X%_E#f)uf`4;dSiaLx{3NS+LIDYWeo@3 zc;px^YanjljrB0LvMm69%c;v>N%ptYcNDc&z(}{;i=?V#Z)ui|^sPvh&Sl?)c;^Mu zbd{4S0c!ZljaYw4%RM65FSfsn0K(t{nydncBe9^QbjW?iH8E#E?;&LJT$l_JyOo$!7|d1zz##v zbKzIFmF&szDFQ>px=y}g?wg7ZNGBwRwr?osPo}HVfAPL>lOKealDq2LE*;QU0Ot|L zs<21?VNovo_{}=+RdE%iY9-MP?gaZ1cX&ddVxM$Q{^;4vuu)F)f0j#o8Q@3W=N$s%5eb3xC?bL@?{z@rnv@&}SA zR&|%2r`kR8;nO!mFL=3c;ISG`KSGc<=14?`zou~&l@+MS>H3AlKHZiS8&`g9HbAjnMJrjW$QMl zGUc)LEhYoFNIz$!0(;!wCV0N-I?V51?m`{IPPyV5E6Mg(O{XJ@%zUsd7fVM$4 zB_uH%JV|VUx0&!UsQg_0^pAjCSv6O0m~Oi6wGEJeIF}r%d0d+$u5Np8JSoueW0r&x zEySh+BgG;5;dZw~&#uE8#E};=SE>CkUD>f|>^0ZD)}KH9-a3F!-`L|Kr2o55bEykI zmcMk~_F44u`&SO=xbw=uGw;eO+cxY`hiKJyL^|~*0sJ{tkC|NRvmgHj2o3*wpfN?c zXW#@i7wnrBT>msus88Q+EE1aG^shEs5Uz#eVa>aF*rq27ozE$ige##3$f8H&3P1$gYLg3B0RE+)kD*-dB zvt2ZHk#{|u?$xOLS|Z9qO^#GeY{K)?FMaY8f^SD!f--xQeG&O&Pydw0vC|bRK>QN| z8%ZVVrMImM0*g%A(2?G=XeU<%RJP|c0%=HDtnN#0yD+Yu?3m%z^zbP?=S}h_i(8c4 z@rCT_ODCw+u13}59H4=JVvqTL7#LRCW(G2t{%fXt^lB0O(Z$4PB|((HT>9i|S^JnH z<)CKSWJ_=f8yz^OdBSX~Y-oleeA`sfdSSd`GF4Z~siqF8?^r%^7gF+-=GhXna*__j zu%94G^>*y3m8!#qfh7C8EsZBFvI)t4*%38D(j-i!xA)%WM@(8h07R9OpTH>@02_SU zcV2%}#SfI(zFjwY*4OR(iOLwMc;uLhcJ~uXcr`Fig{oKh)xdNEQ*Xlc3w@SMUls3S z@>-^Lup2cu(}S~R6f{g+T3=7%tkMJKW>23O(r3(GlG`Z=E=-?r` zxTPo~C=Zn1r3=`#Ks^^Y_iaWj3B228LSYTA&_7G-@ttNhhqWNhO4$}(kQY%+r?yO0 zu?p4J#lE$gFIq434GgOlDJ!|ic@^7>EJhb`B<;a31;~~7H0iR{PCQ4#sZ$=KErZ{n z{{w&0&4^o&<=OT@2itSa^q5Hm0TD+80vH6IQMxjG#oh6x?CO-xL5)p&u%+=F*o|qy zYRcV6_SlxH4ze3v_HAVfk^h{_9%1kCbzB3^De6D3U&e)?H_=>L;R^&@;cDCEjvCE8 z_#v(NL3#D(&A0un@C0`R(;^gcwgrKtUH;$Eh3v7WsT290ROxb-EJlAxm9nQfK3UG5 zwrGKEx8hKih=;!BWU4q=Q0=pq`o1nCnnZZ`l$&?p==vm z-UYElU#piIe$S*!3IXDTAB~qK>9;QK%pdi|Fh?{B=hQ#3-=^hF#`b)E(eQ*hvQ{B1 z^!5hR0%c<+0z*jT-JRcDyVj<){qD7_E@rJj7?cGT8J?|XZmpY~$^IZEdT}N=(QY}@ zBB2N&`Bv>NqY{7Md3#5xL))v8A3ncvRQ!J&+mja4GP%2V`PKVTj+A$2e$SkiXZS8(gQ5807e}~-5KqNY*RZIrtie6KsF+pWm8=Z>M14(f z>zgWMZe5yc3T|_f-A$WYZc}sVvSxL6v?)>+<8~u#GIHqweXDe+Vlpo9t#j&ifZgY_ z+`#Xxqd-e5+g=l266zClYkN#u{F1s=_K&|j5nOD+)yV;_i!{4FSO0;rUxUEp8egW@ zEwu})GM3cfu~DP+cI$6zGs=pqeXS>2*WEE3wp%U))7V?ZlfQzte4eDs*lSgo2Zr7G z5<=Qdf)b~xkRTUoX$v|A z$!l)z^Bp2jw8XyE@$@a`uS~9?0^Uku=%L^~JpGA6EaNYlWo#sS(nGHQfZj;W+-~}q zsd%b?2 zw|Le1BDxZg)3ERU`;x*ydSl6T)4uzk#N#h(Hcl|-eq8;V6)>G|Jn9f zqh@=Jvu0rL$a~g|06hx`GiS<9E`F8T$F6&7CO7z+EHX7Wvy16}XXCJQFKjr%@p$iC zCX4wKo}qk?qo~b3j-MXsyJ6TpvYfaXPv0PzGA9f0`NiJHMonLk2t2MotiPhqF%@jz zFdXmLNq2sgIfpqSRX$1zn6?|HY?e&rqf|Bu!3X`}bx;3wylhwNx$*Nsox+*iu7tRH zv+O^StvAKL9Z7B0rG5-zE)wV)wUg^NNmjeg3-wd2F;`-akE5;32P=o3&Y&HDN8ZcgfS_mx|gs2@@bfsdBt($T1##nb_}B z$7guoVk!|lD`tN?!>evstK@4EpjZIq4fi_ok?$RsDz6I=0YUa4rLp>sar5?#MaZn` zB9rvrGj9;B>Doz^(pu&+vvreXzBxyE$2iZqA(>hvs*8P@5SxH25X~^mA2C|V6I&GN=Kez^hfn@qxbjRv@36i2FOT z!)tqERQfLv3u?Axcw)e1GXiV)_T|i6gn&C{loao3tJ>qL=`Z>P=Px8#lU>wGcj|A7 zkfwEH*QKpAtC#U)$A2_)x^U@ui-|pIaTHOX5_2fh?DN-@Avy47g!R~{@OR^7 zex7RK&o6aRgmhYszMqd&T-PWO8)R{2 zQS;5pB*C_-kD02w@x?M^p95ta4(61N*Z zW=g18W+P1}PzY-W+tDCr0zZ=aIooOe1UYF@%n#GGe$MxsYrkK;t00MV8Bx%y!3b z_QsfX4e?~TZ2c4zZSb`GgFfKGH>}6x?(zN|j_t*N{ z7KEU>Q2g<#erp?I^52-YhHt)6w>H58V{?hw)?csTEBcG**(491=}wcoiaysaW0R6> z*QXEKH=*g`p`3${4DWU0vgTSRF*uRUwJ`seVfHzYIy^8eAbfc@K7;8*=IevMYSR7M z!xj5v)N*-W(VDdj{S{Y?^Vk!zF2{+GJ+BWxYG3wzV(y`wSOG26(Gh~ zRvl@L2y7sbmFG?*d~hx63(8|V9gH?BZS%)`N1GbeNw!qz3e7jBE4VMMI>z)%DurxJ zfR3cALdNb~twteg5QJ_KWj<4z!r5zEZGSR-PBN1Kt_1<%^ad!0ky zYmils;(7G@WM`=menGt{lx?I7BarHAAI`{3Wt)7uAzjj%J*gf;FLO?E9LklEOFafHbDA@ioBo;NHn}$Yy%dI8jD7KAJp>=!&W*kbm=&x;knoU3zHPk7RVP%H&Un+fynn5 zS2>6Kv!T>lQ7h42M86qyd59X&TrsBOpDK}L;eaM8oZM0`&bV{{eh+Ie z_q|TezYI5agQ?0Mxw4rHsP<^JKseuIk9vgLs`kRPV}AwgJ^Wf|mihKrvzkya&4OTf zNCcM4mVi#cb5{&oDKXm_)b*GysR0G(1bU7}zl=3lOAzvu0*IU}D^4=?G9}Q0{Wb1# z8pj{QSrkci zF&Cr@%;gHb6pG7m#rPM76g@Fr+;I!dWl2UY2lcOI7NF7riVGk{5Om#!`aQ&!urX%! z5RRR}^xy#%8OuHTZx9~sTM<{?K5YC0Gm}`A1@>Q|5J{&nF4I*u6CVO^IE(mH@If}k zlZpxMsk+FU1YN@eHLhX(AMiJA7BzR)UV$aGFp}xb_OEF`K-(#hJIbjj0w@l$ud_<) z{8%J{PLWzH4%P4JKS33W$scFR}IK9uv_q; zO>##OfW`@VEc}W>)xPHOQ?jxwJ<3$uO77?joOh{ndMF$6uDO7NS(@)P``D~dXhEZ8 z5@p4I|E^lZ!jQZ1p0J#fJMQt}W3G8fzoq#DT!$h1r!xQnH#Ci_{GiThIe3(N*sb&r zbTQql2~;5aWwi0Q^%nvFw8<0xjxf;G#5bMcZN>V1fU(4`g|NzIwxTW(r5I!b_^HSH z+~w4paK1qFjWC>V)6{fSWFd~;<=gc4JQIsz5|^^6Rt+_2Shn3z&&+fWoHvrAqkKzD zZKY>6kFW8=nZVIcphf}C&a1X8|LjO6);+*^S|_2snT~7pW*yw6u4$Q1B}FC8Kc9IM zU8+N662Vt&voF)zB>!L>DZcQDn~8!NHhyE!e*u-4f>Z-A$61z3nJ~by;JV`SVQ2zxH8Ew z2c;i>$L8L4;H$6){nGkwXFju>xeguh5EPDQi#JJ@K+&PLblp?W_^IGAkMR$h-ON%q za!3H_U7D@*a*u83AIYKz=cXfA9AS+%r$gfz2q$L~Gmn56by<%GB=R7xQx2&Kec-5_ z0QgI9tbU|!D6NhT>inu6+sqOU$IUh?BdUG>%`Rc$gU68?;quA}NM%G)3A$p`+WvvN zNRsUWB8}<@=K(zw+5=px+cGf0>4OFEiNJH>FyaP)wRH|B{&##ylSkMA0Gr%a+dnwc zM<|E9qpL~c$mU7jWH&+l&Wn)C=PuKK0)_)#|4k%ff1u{dN>Rs$`a8}KEzqsCUH-?% z{th@j_N9j~i>;?d^;OPpJ(zU1+uoN3wa2}67ok*PAO~vR^o?N-!s^eX z!mEEH4A~{Zqe@bG3?r6ehRcWtm>rmHMzNWG9ty;ZMTlR#cMWxQHVf)Q=Ld)%8rx93 zi=J=ql{=G>Rf4Whv}9aFT#{I&16j&DBKWCG`_99NZTMNN2AN}{`fs=s2ZRwr8uG9M zvmj2(SzQBXM)xyaQrT4|8hlKQ-PDI+&O!Vks)gvUScUtZPn`g^31pfzV16Z$Im)HZ8utkbKJ7Br{^Go{0Fr>&a6HsXxPIpTBABHD?AspXB2CKcMB(GE91Qke z{h1Vxq-D7iRus1geFl)iFGB@pTgmlUh5p5{-8Cq`DY+AyWJqT^rOOF?^v#E>@kSH8 zBA(>9lEeW1n^PYRW^yZ+as(BP1rkF?%+9+NLyxB2q5tYa{1;NcTfwh5@(HO2FSUBnEr8`vzs>!2v1q%;XY zYQFsq;;NlDUD6x`o4Gi#KMZ6}jIwu21Ok4G$r(?;8zOWKpAn_b!_Lrpy0yw>o;ZE) zNZ(FKMQcd*mOvpR#e>po4)HzR0Ar)s%mrrd3gmJ7yxsDFWS2BD#0Sbc)GcUTh(*8| zB8u+}z29T&as(v_C2*nBnJ6=4Z6}P;7lKhyQmie5^LZal%NZo0p1FQ4>ko{=EPd(u zb%;46a*D{(i+^^ zHT{J-Dsd5t-fl&4oY0HZYzdr2Cqk_1rB2QYBAB5cHon4x=M0`I?$M_cO&5+O-sGZ? zFP(Bl;y$kp4mVLM0Ch;Zb2SUcIXOW=KvQiwN7Yn&bhU2_F;BD2a5cIl(*b~OvBa%@ ziHzqt!S5dy!sO&}2ZOL}M@1B{1oH8EsA?ig#$%Ea+q>ZfcR|V5tKm+E3DEctB9!w& zE}b=tJygj@Fh^Nwi+m>ORd|IKe^ z#DB3K5e$}&w-urifxw{9!l|;v&>;=BwtF4f5{N&+w~Y2B^?^d^Uo86$%HK-wzb(OX zX4H`i!V0yHsQ)BjPhwTfS`v&*;QW$8?%m5$5lW1Q45SlhoD0l7yC@*qV>wC|CC{`( z9n#LU|*}cj2Dx!f3a=V%4jIy;oa5RbAg~0P_(^Tqq01hDN`*V?7 zgO%j-BzbH(zyv}cq^jt8+*pXQyE&QLi2OT4uGSosqV|~L5Elss9=Y_ibflatTSSXO zw*yP+Z&OgyD272~hGV&PA(orPy{3h@!l+*`fXQW*BwRcA@(riOtxzQ$w5}%AO$2A2 zkc&}MOi55dhld1m<#I4CPSQ3YhQ9WC*`5I|UYXAyg0+dVhgD7JvgPrdQS^w%NHvT` zuMI_b^bleAp(iMgcpMkl_o2Ti{-1v@TC9p^TL1RvXFtl+ zLs|ui@*JYm=?b*{(SfvbYo|r0G%Fk8s#`;w^^R{DDMN26vI?7p)VbHPo|Ve70vc4! z%ebv#1DWu4VougN&l|58z90yE17M)QW7s-^7+JAwCJVE6n8fezAF{q3jr8!-0T`vv zHTy;epMHx7!VlCTA)opp+E>Cx+pD_)vl&aL1<`!K@68?&lgJ$_cnon>a3&WQ9kl*n zxG5tA9*9m7a5VVzV*3Q*Mchg>wXt0W_AE!av(6tEr~yi>aevHY*rTSGLcpN+#Zs}8 zEw7=7@d$u2xcj5==TZ_O-lvf&_n=jCQd1`z1v%CrzNcZb_zL20Z={!)Q&Brj2p`T|H6C0l7OA2Xy!So2ua9ux+p@{>{3ZCLW4Ol+^zFnLgh z78&r8VFxP4Pp#{g%nvLGlr$Icl2QwRNm3+Q}Kv5(M*G4$Go-}H!X4!UQJ@biw!C3SyF0Yh%bKOuj zA*2fZsJ4!&CJ><3Ew?X<^E0T^W2%v>XfS+Z*vcI92u{|z_ad6L#OzEa@2u*UkiJiK z1fCCW2S^d@@}Tjl$Ma(G${|wSU7IE?Y^mobi5e;&wpK3{*U6;cru%I2zTx)UJjqIA zCg!upM@2n^Ae-5fSS8K{#%xdKTYHhY0#4(Oy&t&~b;IAU?QD|9s0w%}xlxkE5qCv9 z@i)d-7@!fy1A4Z(ya7SsY%s$pZm~2_0_(jQIjIMvC2N`@>x3Z7yT4f7-$$t3;ZuwF ziZqL(u@77}L$!}TDO0Ty`I(>;q3e(NyHH0p-|f6T;_B|$%Oqm6SQp6`CDKdWX;d&S z-K%XVRtyZHfg;BJ}YwU!pk4Q!h1bX1l`7C%-fc(X`^H90J+!NX)*zeetaL_KEfr(WClR z2vSr@EmB{J>>?dw@AZiMDaz{^zUEO>2k&DxSkcddH_c}{<$d`mV%8@Mf<5vz;1+=_ ztD4Rwypm#%2&}1#(|alw89O}T zdF?G0JJf=#DE=*`tH{@b3d@d0K*coQmKMbSknr4z4lMLPDN&+qIL1dL;F}LJc6HP< zB?qXj%zLlVbLwR1Z-D~5&w-mN@B8f&^Z>Cd2if?R8lu2QF0DxMp!1Ot-*+F--^>PR zTNPJV`jDP0Y}GD>_0d1&qME*6d0raTj==KaZ5-P!7QrVo?F7W9V*2V6#w)srm zl0>=_{%47`L;gbTlqi{Al=wq8^jg|17e=E?y>ujh7ya3_jklS%fj*eyXmrT@2)Va( zG5AfpR9r1U#3kJqiAJ+WbK5S|I)_`=JgRbZcc6h6Zicvrlu=HT=AVPIyns?cSg6_8 zHNAx*9{pQwpJ5up>HjOV59*PtY&9ep0 zt$=T>c69$nDx#DW@$q%)`LZr06QWdystqh3?6 zeP9Nr9d!D>Mil1hdm~#T*otn++mY6&NFGwZ?M*yqce`?0@$@vEM--X#Qs8tYL&`~> zTik_)R)y-x$ks={ju2{|McR*EqeTtHldr_`B+vDCvqWRjC&%RocEs+Qmdc9)bf3j3 zND)~#)Lta2?NDHmaXWJY4Y%)FeHC{x`$G9>HR_q4qeuh99G8|`pO;J@qpQ3Q(F?{it$!oF(naGZdA zqkt8qjKoKMi+Im4;3I4IpnNr5R(aq36mal)4)%m)+$PNR8oDLVkN-$;vG8&&sw1Ws zh-|NCVl=2GB9Y=MRP{!fHP!7!t?$*w@BU;FE|oQCeHUEZWYN0BVP>8FHR?iBS)0e$ zJ2JSb?azNJ{94E|rsAS;aN*+SeB3u7EpZ-@FK-TsRNJ#^p55TX7C0L2* zl_o?5?^{^2KVLHPw zh0zAh>Kp&pvdEUk>FXd9UVsn^+-bZ;6l7$YP>F$7OOC#rStBfi)oSLoz4PfmSv!K& zn@FWc6+B5@kE;ow-HA}Pxs>bS6H)t^&y=Y84#ViX?a9=49KcwNKHc4)tXmrEKY1;a zd!BQ^a^yo&wuGv!cXh=N=|e2} zsAc+T4Iz#!DRwy<9r;XRBxp$|v^-Hy+5D%k}bE-$6 zchr+ce|Bhr;=P><*tq*f)YN~a74_TESP5brRkPVkNycqLbRhTP_5DzY~Mfz zy|{*{B`Emf`rq_FpKI7z<0?ne7BVF%MEBw+Bz^^6uX7J02(IJ?+$2N6PV@UW`YUlI z$i#woh6NUBhQEX)?@(gXCaokr&;Rf|Z^CFH)kS^}yVW~fmOF?b^68*s0?AaabGG^C zSE(&;NR=F7x1x|N!~<`Kj$dJ2V?Fhoa%MpwC9)NL>%ZWEt=&j4%x{MBia~)gHY!5> zJ4p`H7gt0e%L~8<)qqR1CnL3IxT$MM1@Jr+7P~fS_{WPnnxMCh+zbT1b%8k-ny`x` zM7FtyLlBXZv+MesYq%?~GASESox^qO&hU15#1819&;~;leq}2s)6#E=NBDqFqyYXg z2?*v=%56U0YC*WObTTs#Lz0YO!F2W~B8LZc8Q#U--ro!|pGic3GvNml5y9_oJmvdm z%m5&dB?$hSFnX`0)2H6$I$+?=9ab_0>_)}?f&fQE9{Ljqg9h??J}*xSjd+;;nQWU( zX6Y%b9&%}hwZagY%dQDuL!?4x4bR|2o)nbJc$mBF(6xo1!ubGel_{;S%%kx%8sgiOo>qIr=A>_OWY_moJjzR%=sH|%A8g_eflG?}L# zn(E8Un~0WN4(n{>%232!$?^Bc{8N=^ngD}e5h*g3jEQ?b*D34bb|0yF6u;d#ZT{{U z4x-3pZdmYq87zqwv1z~?sfRqq1i8JMoNI${yU|e-8`AN2F!{s8Msb>Oylhfw!=XZk zq-7S|sguFQ^5{=iU%sIgjkuJyFQ<>j+Ux83lil4exMYO9sevW2fiTQN3j)f_8sICe zA=|yqE-wGs{FRh8R4S`pY-o#!h)_WeIe51WRkG*tStsxQlegl(rr_*}C($BKFdd{L z9b^uxtlu^zM+Y559toEtuk3O@{|={eG5IVHAvIn2vmCKPN9GoB z?63rSqACmzbtrNXNb<~;a7P$&p)c`3Nr9O}Xh=^&hy)YSLDc((ce>3VA~j<@aFltG zIzsff5JhYaHkUz%AX^{lT47wJ=XN^8Cenw(Pn;JhFrTW$*sJ42vtHcLh#Xrfi?Iaw zC>Y5`BizZ6p;NkTu@C+11m>c7lV`3Z0E4{IMXDHRtC_1HX(ZhSo)0*sPufr+4+NG* zuwTQuSscc8p>NQ@tKq6bZYsxo>SY`#8DC?2Tf~)5kX`Io4JfmzrbXcJJ0EP5ULfz1 zNM%JRLdc?$U5-Nc5T}0Y9Hv&9Loye|c8{7?=?{{k5R-F-Qz|{=+!RtWr=;I5_D#nY zw;+C2*3-esX$HysHe!InhY#A%BkK}fmVuBpN3AThejuYooEPsW(D7VF8s@7Ix$BUl z+GP=ilL3qY9w6f|tv^h?!q$uco@z`=un91LYmjGG&t@tHgbRej!yt z3wIy#_6)EwgeG+~PLUx%PLJ4`8G%K5j2XczerrsQrlc*y6d~`U9%P)(hkoCmOl4>! zqPh@|NrQ9Sr`NB*q`_VRdGn1xajHt zlK=LDUomUCCE~zGVOZQ1?C|MO1ne#!DI;#^LwHRC)?e{c%7y&N?7^@S*=tlHXBZVI zLD|vEzq>4fdK;2W|Ev-7_vUkhNw{!;c=sn4f2o?;Lr7X^6=?5%X|t<>lj9%0I8Lwc zq^Exn`=$SaI0&}45n03Qd$`|{tUKyzCtzt`CL;H{zh&UuhzC*^fEH3o$t4+>VyyyzU9?pG@Bg*CoPP>D1wOdz>un^JErh9G_k8fKhjUsrcaRrDm7UpTWPK{%P0;8DH~|+BSWn9%&^Ht#FmRQ2}A!MbMCO zL)xK=hnOnHDU&wo$_6`HdN_^0Dwc$&x;%-54_6Z{UqhfmE{!=aJs2LxowvI^BzIX6 zLm~G4XdH9T8boAf1t>YowIb1~rM@7#ILCmljdVCxdFD9ceUaP~C&&(DaSCON!uoPJ zBPg;)*-zn*8D=qI)f~N}Tq2O1oDs=t&{~^GcpFVpnC`ThT|B)=J7xpTlX1Qdtj=(% zuNVbcJ;b3{$Zrthx+{=q){A(OkCe?0DZDZqDRxM$NTd#;JT`I~Tj((t!T-CkSG^x) zbO#LjWzFLyp(PTnJz~t{`!f0?{du5=ff{Ec(h*NW69G;lDvW`R&B2QB`xUYk)&&_8 z?gO#h*9R(XCeD4U98x3nLxPLMI%l{s7H2r@H!n?>r~BH21UtZIW1E61f**x}&-6+J zqKUYf_HnzFU^Zegs^!B(BWSIdT}!NsHhmOGL(m z!cTk*CABGmG-Cc#whn0_CZ}ZNjiGvg`_es7&ujoo$74<(A^>O|(T2a%GC#fet|899 zCdrl&TX(5`IP~x;w566=M~->alj^}aqwE=hv_U`= zgd5RUnaF+jsE;}aJnH9cx6aqVnItGbbvWz_* zJmw>?iVW|0S66z_V?S0;kXseo+yupYJ}4nBewziuLqR1un-KjYsD=Ld1OIfmDBAudied?uUWY^S;)6IO{7}r9OLmaTQHeD7 zg>#+(M?FMx6b=}P)8d>}LpLV3O%V(0Lm3{r!ifV;CD+)&RL2 zsBzbzeL*=!awgrM>#95-{EYXa13dhSz{E{-Dy!Wgzl5C-$bv$tpxP%$6tJ8*C1@Y? zm+e585xfM@K|Q2QLaL6VoJ|^I?+AaDBOXHN5VL*oRg>>z({O4G31Xrb*Vm!P;6i7Z z)i=?_*6ccrYN~{>K-F^uJP0Qc5k7m2`(sutT36`|9$IHBn!>_`{5Vo&Zq&C(Tn7-= zLxu4f8i_w9Pxd=P4nz=wk>p`h?c$Kfnai38C$Z1(9!>QBpZ~lhrsZFDY|Z<2iS2)h zL@9JA3NAgGMO_gfD-H7BOks>y+_BWwi=(bKOQOX&eXCIY!su~X^8HnM3;l#HrTfW6 zRyNlbj|oW+;fi1XZd|(y4d4rz*=A`Xil8un)Nr`NLppnw8oTs!#7V6<&V)c;Pt8Y7 z7Ds?R{Y_=1sDft}uv;)C#2TeK+##L2J-s|WH6RGAFpJLCzURrn7h5p;fxG-YN`{68 z5SjXcI(jV=U4O13Ql|IPd&IJgMU3aWA#MOdn9DANXN;K*ozh!nwsYhunk}ut2ySgl ztK7{I=X;D%jWHKTqZwQ1MRS2%aCuxiX=c}vS}LVNJ=ui&TrXCr!{ph|zTw!3VWvv* zg#g1buF^P7Rm+rI#q}G^#PMgczj(HL^#0~PlIcs+=c68={x{im7v+e9yQctOf4Pl+ zhCSMT?w$X&nJ^+X&m2pks(*tOmEr0gb)u@0RNoP$EgfYIwT@&58UjGre&U|49f|>e z+@rt5Jlcw}{^9;va0Qv??W2T3;7I*GmPWp-O(5P=!=+}avW(>>Y1z71I5)!Lr z0`l`&;L(7_Lya$$S_BQ-pgj+k+N1oetYn=CpR0f&zLJyb`_3DtE6lH1G=leHoMd7_B*HBM za%kbcJ&TUr{GHh{xd*euy0eiC{ZD){{BHhfZ&3bl;+ z)+OOhU}W^qI3;pAm}1T%Zo~)jl(NbsDhux|9C)5VW-UI!FlkwMlPt5&zlc~Ew7#UM zNI5vM8J$v-C1s-}Wu@7953>s&{%XTr=!N33fqHsfc&m*d&vVlGh)(J#QVX>bDz4A) zjjb?3wa}mWl|5m)7C?vjQV=B}#!`{Jw_tCYyI`UDjBhpRKE=?kMW~fZD5->QxgnbD zE<&TH{w(;k@1#|aN8?H7@eMdADi7arMdoKpO zR+0D%`JmQOPp^){Cew~Sp%_|j4x^AR6DGdd*C|ImX|p9&9lnXuRv37T+(bDUi3zuy zKF&eO(t_;<^04t3nm*I4PNFvoNmL&b-ii$0GZ&-rDoTGMarMa#P4AedTHY~nG#1sR z$?=S-<`lv77qNcbWDn7J#N`Y9e&bZljjSB90kRXC0(O;I>d~L&bj@Dio>Rd*Vs>vK z_R=dC4E%d#e5bU%roEo}PbO+eKZJ>koRS&1n^M+4r6*eVDx%>7vqm01HhFc1E0|CE zYfnl{WB^_nN0&1e=hXV{=p*PaIQmY(f33fcUfmp*VIN({_rLg!lv)jZuqX?!dA?#b zz;;H9W5N&uP=r^+LbkH4=f^)zpDD}y{%?N%_nYFccChdN^50+d%`vNoxWl3gpj3I7 zy4|`O05CK%R04 z)t7H_kFgUh^#KOKia3mEYRT5*5I_jR0c1Qn>%lldIFqg6d#`)6EiQ!viu~mYVn~lC;S1Rn@BZeJ0l5G&itMnCKi-iMW8XJ=&(QkR@8HH$=C;7kC_l9 z#s(&gVK}_XeVhE)lH#j+LFh#G1VE-{NIYgFy2Yy-OZ8NaVWh=|r5Mmq4h?_WqyPQS zbYtF-&1Ye*7ivO3uUq_^a_Up&+_lVC*!LJZpdCXc?)>fPQ`b4U#S}!8(zr1FpCzKW z$6X&Sz!--)WIkXs`qI(x^?L^Y8GsiQ)FrjgV(g;;8yg6oMWm|EdE0mN9)@0Tn5988 zCuDOAdy0$`2(!vY_OwrIc0Fd=Eb#<#8WMPx{@c|4Q33hp1XD@na<}fkH_fK&01z7f zEzgY@K@Q+f2(0X8V(d%I+N82nFxUxn{a@w20wt!IV9&t4_6hwftT-}|L++AFpdxSP*bJLB~!c8y~h%ZxYusM?VG z5^s15%A~e&^+S3cwT$T`dcD7fUgy}U!KcvgE+B0SX7=ObZ;a^tBww#ZhtBlZVq21X zU;2K;hX2@r>jnl~V3xg@Kl0(-l=pmF*b5$KJ?R$;)2WxrLxDi(vdS^h zkYTs6o?c*I5(&Y*1h=QlG6463%pwVigEfOaF>2aJ%_rtfb6Dphiv3F_b@+c0%&jlL z?89lIh|SuE0GZ@2-XqkY^({8m>RU?=u$KXP|Ht*L&-I()E16=6s6jPklENdg*E;iG z@NXe#e$J`PVf5(E+AY7s(Yk&;t=Wgs z^LleGRKm)Y~10ZVBibKqlI@{Sc9O3S;^%8ZZ%ruJg+tp=XaPBhSb#L~I6i+q=O3 zvBUF-QBlX8uC>yC_eK4RQG7ABw;Odoc(B?^Tu*#6)#k!~vfLVojH-Fwfvc0VZ6dbW zT0>m!`A(?2e)xodZ(&tO=$(?aOin!#l`)A~4Bk-B1A=^VwhS@}E)2DAFc21x;5h&| zZ7GFdm7X|vpth!T+(Y#~&ZA5;#~BnCsU&ECO@q^4osZjnEp{iFZ}BxbSPLu z9|Y#&IdU;u_F6J3!+?HIynjzIR-DVEIbLZSw^FNz(`@PR=Ra0siwQd}mf!afdYW<- zK)DAf5gY8o$}QRyu^-t@xX9X+PDwkpM-s`?XT6#8(W{KzEUF*W|83Z3&SUDWYO;fH=TjKUMY4ttCF*f{ zZ4QD}8dKrBkT16nLMg-{=R1YW_H#I?(PXmIti2NnQ}if_+5G5iY5ch`bDoKx!Rz|t z(0ZUhhuD48jPZfe3CR`2W*9TaKzsb^V-$NOLA@v?nHJB75SW;LP9CASFR*3U+(>96 z%_vXMpNT?Sgc+%}7yc4Dn1Gm{D&@9CrWD&E{=ufM%Y&R zzpK=`=vG>5L_RMz3Gau+=jKnR!)cAN7k&{i$}S zXA{*1u=gQZh#%f_F+9n)@tByViFSqRs zS3j6EMugk`zDW;toGyai2{z`VSo#iJH{fA)zT*#G)=q26Dz1W47N)|!*uKJg{ z22WGy^os#`GTg!MjFE7kF1S^+kY~Mxrhpt|}2Z z4PN|h`bJ=)ezTU0Pe2HkA(t(7AF_!d!Tv`|}7e8@t( z72!Y0Z2ipRRHVB#L!FQ#J}UCVX_|Sh=tUn#;Pr$knjGRBIbMl#i$XTOV~AOZ3`p}v z%!3WmJa;#s7))K<-ch35-2+$nef|x$_ch!qBpDHaB*uLi$5$H0=XlZCl3Y&l*twaH zlDTo(vPUTmOA)(uEY#aRpCBAAml9)==&nrixd0ZB-babW>v)QUoDQDDsx(^#7H^{j zEC$zxz7+JNF|FX5!r0*W~w! z3|?J9Al96Xa?-2~`}xA>VT|wzf-;TAt$|D|nNEsK1bw`R0{SwJ5>co<)O|#>dP)#s zu@Otd#m$gV=HzTl^5)n7@Sx(^To>lu0*x2U$~lrfgeenbE0DN6%Y$Fi5Aouu8YlTy zM43A9l{6z!fv+k}oa@ub8v~f`B{l!ll77U`UQz3C&~t{bBQi2o^C%IO_K1tT#}qK{ zlKK9dlMr3{_=A`_jHuBb&~-i^t25oCza=~Kr3G!c$T`W7M>xXzR$R3FoA^?)l& zB1$>Kq0S^egej`V{2Wg4_qF+m$iFgxfVmC^j{&$jVs5+(5$6WvcY!guRh2tDhxlDM zy7iq?FtbaOE_Tj5H4YDB4xM{rqIhG8Bd&J#(Ho|N!W~%d8fV1Fc(?Bo;MLc64Ed`1 z&pw(x?MHqod69siXlc?n8U){X!yR#YgpQ>Ti!X<*N3554?{BE=en4LNA)x-4sCzp0 zfq2ZXKK3)T^Fa|pw|J`DiaS{1OkPxfMx2SNyA!{EmOyS0*O_GOa$?S1?_5-SgxnrL z`!4S7E=e>7zFcD}rDMKyCRWJY;WSwaCU6P$D5139%LO8C-d&<1wtE1v7ctT-@j6z( zc)px9LfEGKkwb`zz48o`V6Wm5-)K8uKcBdG^E7Lmp~8YllpXVdH48ffJ_?+snHkS! zz1ft6&lK&}>LRxa5uo9wY7i3ahRxQ&dsnYMm|+ZY8Vp7*o+82)c&qAxnwY(C{7r<# zs(-h3%Yx-@XSa*Kbg!NCZIJ4dY;qgoR^+iH8a-&LiO=Iw?>D_pWT_%VU5^4uc&)f8 z*+ao+qPo8pqHiR*^oX3EW!fbw1$6p8Ox<7uY-&7bJ)!&u54wOWJV`8Uw_|4ulXese zPbXIKH%?N=-u=5`o(5Elh|w`CE(OT093r2hf@XI2-?65D!&$rc_UBLUZ7uGHTyQNi zz5ji5<@6Jw#I=hN2C-27r=95XnQe%MvB}RRil8H5M@5b^WD;y|$p4+3@-2u83>!-Z z(i2n&kOE`_Na3~KAhCh=y9KuV{VDY^Eew@7e!`?o9)rQgC#HI$4RC+fqpPEWDsGW8 zy4Sy?54REf`-T9h!{fc}ftZjZibuLqG8uX4K?mq+Xo>!_+fSAxz?>pqC64DpfQFwX zECPbjf?6X0?h$~xx)2n+h@qA6q(qBXbEjJBR{qqNd-0LF|fAToArH%AGLu zPI~s=-FPumrh?V@RN;dHH=?Ll^H($5JEvEQf8%*Ef%HI&QS5de<0p39`X25`>P>EL zg9~`Cb}e)?>Rid8V-QCG2W{`-r~yQD+sX6}D30lPTh2@ZQ~oov!ms$46nI^3OfJl9 z*hx62-97A39dCfgR2+F_<7cKr&(XtN_ora46k~t9WlG)#Uqf&YW{$E0yUa&aJ+LI8 z6046m`@2O!48o+dCCW0$8)*4h1QlD8Pf+|GsJ)0?O#FYihUlF*>RfLkx12b&MW}?U zB(~OU{R$2Tw@*An3o}y^!skQ`y5oCygsrv`)@~Q&GE}~BHj%jr#t^GHDscWNV%CI& zHcv0xMH^1P4(Ar1yh?Tn0d$boB4YlzG7+;Z2xn#!PzY#9WH1p)R&GEjV;ycgmb%sNCcOx(}&`4%x2(Hn(On)eiXYXG<50{TVM3yk05wL-nD=~HZ zhq`gCg-d7X4tZ zld|!DhMNC5^Y`C=seC-FY_3L0T_~cEurT3>6eC*i{-E=jb`e_P`7TTbzF34y&-Z}V zT8=8>fo*3WC0lxjsz@2$N?|mc$*5+r?W5J94`YSfJd#%FR6vHII>t3Q6(wm6fm8qS zhcH+9Zuh9^7ebknh2A|)2QvKHtDdM!BwoWx8B}3Y^|-h9EW3d5F8$k^3o5xZ{~M^% z$XirT8bONE`p31Ge^^m+=uu_?stVILL4kYQ6wZq0wCL~;|La@8AaiLA$(V4IXA-hS z>!T>C{^X2={G`vC|+Yo`t<-#^zyERXaDD2ScJhYFXz9Gg-|GdnEq_u@JaH^rVEs} zJy2Y=?K-+lAo7YGzzMvex$kR1z;(-h-)l)vd&$nO0RF5W*^YyvnP--{e>jd)ig@*a zhL3w*Fa5Ya-W%(`>1ORFJpbcQT{jn?B>5bhq-cBwwx1> zQc3%L(bNFXY`gwkz;EGuUAKBnN4bQtk;IxGR!sfD;~)}qLLYuR@B+1w{1~Yyiz_#D zd0|;!5;7_M+ka%^WWv3Mn+JVlx@A--^8Lb`^kF};^m@$CQnuXqPl{_G4;3k0po zy4;0rxILf#8nuU~^k3G2i({wc{%};tP9&}(`><@ma(AJK%lZD-YXTQhNUYJjW#8z2 zbcgy}ary$KqMJZ@2T`80qkw9!%a^?R0Pv$;`PciJ2zm}vN0y{{dWa5y)1LmzWKrkZ z6{kl2NSyoe`uN^_&}Arak1xG8oQntcE>?!6!_RXa%iX}f3+ zphW$4*%FNIWNz6KKisl|KjIM&)8Q7Nd8KfllkgyVO2v3&J#E8}lF9nzLIN@F${`Vow7btyXi#ry1a5eHP`3uv2H&Yh$~yf77Y z$JBA*jq}gqJ3viS0{+!i`aZ;MbfwxdC;7E)c+-0xY1UKq+At7~SG!b9xyVID^(nR| zKm)VE5G}}^T8^|n>UkZR__dx}bRCD_rELxrF8hD0`<_*$q3AJXf(Bl$jPE~q5Zw*V zZ>pX817c!R^XZVu`WLea$;N}{Q-=?5OKnTp@8D3&uWf#(egJJwQqkwS0vCDF&DIRQ zy|wj4TA|OpdX*iZKPe3Y^bHVY-COWt4v|y`AvTZK$2i*(o2e(rl8Xnzpya{ptB1d( zQK6`kPoUD(6eI`rW_=@h5zy<|)TMi_E$h;SRCswH)9msE>GO5$ika!CRJIdQKrX$n zE(NZgpfD)a$&lGFdkhOZ9aYuc)s%AiwPBRr?yL}{`JL_(*ba7h6==Pf2kz?Piehm^ ztJ|PYkLQ&~4VC>TM`QTh-HqutIr``J0}dcu5MOU0^G`L;z5tp;S7`uySkWS zN39^43_H4!DG}q#1+194+Rc!(6*v}Ko<4yrcp(5SLjuYWEWfWQRiXenEy$`gb}7*j zM{=!esH*Z&GCsD}NBx*`8?El!aMcwm6;J-{F?JC*m ze&x{_-R&DMLcs@1*+h#Pd#5SQDBB)%H2>wNL{~0^?FF15I#g$zbb_u+ByG-utjpE& zZph#3n0i70)cT7hdl_6sY1j4E2T*8hK~7D4)@~O7 zn8Y%(S*1VvE{>=YY@|jcv&>16BMxOU&?gc=0D&eH4u&!)vt5Pc{N_P{|BdsPg5uL} z&z$WL5o3v#VD1>Fv>$LXklK{T5L(fC(yg+nFmRi8E1JC&(E=1mpjR%N#N>TnAI%FNZ8dc)v5H7KDLP08qa`R!hU5N?#%LWSa$B;z z!P5nTuOop7{xgW_L+yq#*GXg3IZOo6Fth5Dd3BS4qnV_Ea%z2jmn|4zl(^_n(nry| zGejJVG;*z6D(5yH07YUp7JR(3QBpxB1KG7fMG5T1!BcmPO0>C2hQ%yv-#y96T1 z*yV+^lmCqUnazb3ev zn;`xh=p=4Q3qTT`skqVER&xp5K$?7c2a@Jg`gSiVJ7$zievN~ z1`wFw1W$c;apxjJC_$!!sDJ2O0p6Qn?f&+7=!?ykeX(*<%3PtWDFQQ zDG;UQQMja$sR2;ugnoaF(%1on)Uxd$hWYetJwF1-MF&}bj6NvG_xEceoGt2Q6lf*; zMtsgK`d|vGL56CJoKcBvEeAp-|58ZFBcic+MEmDLyi6NCcZV{XDczt$NA8*%l=uR`M-cK)%qJGAj zu^ZaksG{rui$IjkVGaW+6huf269T?^Q4<3BgydcvL-n8*_8azx-HeWNT_ssEbq=5% zXX}YE_>#VOGq<$N;El9)73@)5YC}tH$K(Q7RElgV>+%_sL^5bF-FFXLH(THDh54B3 zxCEIm=)u(#jfD`Al*;TQP6gT&iGkRJU2I!Td=1T0bXw)z4Ojrz&hX=$ciylY`XK@v zCey89%Arz0gkusZn~;aw8qIBT%KlEmNOCMnf@6s3RDwj%enERp2a}3(?-evdHDTk+ z_)*HOehwxjCi=5d&?20lP(!K(R3gcN9M*`2`Axgn5R^AUI>BzGiDBGP4EQIq?@C1t zqO#`;Ve@Vzi_tt=HmtN)jk+0vMMn+UGM_x63}!LE4D)0I+DYJT+~0J<>-kz($@zl5 zwH@9Nnm)KR1r`q^XNoNWdT@x^iGxXiX#o@{a>_uI!AZ&^3K#4}{<-%xr17usD&rK+ za6&r6Z#4bzAtJ%hsl>t1FT93K@FgToFw;Xj2|7UcAFy-ZA|B&0+^ISd9Dyrta$K4n zT~=j}dlsN5L3gPT#1}yab5O?vEoZHEt8FDJ?igM9Ll#6+>IU0f4cr-kTf;V6$ZUp5 z;4nHrM*%q`NrtfpJ!cKsSc4Z624N#sQ_l5Zap-u61B*HWU7UwAEb7M+Ts(9vBD)%; z!(PI%G$9}|y*kj}zt;S$c#KO;-ukK*?U|ZS)#Ajj+1gBZGSbTGXPnb5FrXy@ICk*Mh7P)-)@ZpUg|*`qV0_i!^x{s~POLjopf z__VK5xD%|I45(Td2F<uGV0x5XQ2|x)H(U zCMUJX*(f~i@OZ;ZP$>bQ2FOK{N|;U(bkUVJ2=x6#DZw7LsLu-t6X%q7=`IVmkR!u? z5IjInCGM0%DAyAkw9Sxd>Gvwg1(iK)5r&GFtJil<(kT|lnEN%$U|xe#k}!F8Wef?EtV7M>480m}q2hZwy}f8d|NOt7oLdRqum6 z(_ocyV>;#lXPBG}6c#j^23tW?3L6VYUw5sqMB$IVN2xsTUliDKW>)<5f_QSuL)6dc zadg;_3hoGp>e6Dp&2?A`t`kyuGvFL(tKBgg?`%UTd`}1d-AI?zXl|G$$CA}sX<%w0 zDV*qlAof3xm+KT3pzqEnmIqqY7J?xBSS9o=7?BXxst>JohU{hnOf7O~lR%gqp98MJ z6$%*z!>R%*f{v7&QRiUV=p750_TCEXOFrq8dfRivWH6y7Jz0l#%8#_*$~7VH3%4e z@1eeChH~DoIp*w-toTfI^imtlq9xK92G=GJ#^W$4K*;U=en3 zlAb*)xdz#^2K35X%VzW-@XItC0{P*BdBswTwR)Q5g}reNvuBwA#7pg?4=~=ua7!tm z&fAh7OSXBd$Ea8w0KbnRhJ~jeDP-=@f;&2;3mM0FP*eb+>Tj)u@v%CisRC!O$|Dsm zgzdYa>u|FRKQllN2^tLviduQ{<4#b@B6u6?^lmVuO1jAcbLkjpXlVawBLN8ptB30h zByI!~BHY;?K}zC}Ld5eUlD4`>4VhySEE4NODLd1gCO8cf)NPddoEDe}x9_c3jctT; z1$^xodb1e(E-*b2;QG#%$;_6!!ice|789GN`;pS(A>4@@QTQWrdju)8L$7QaY<`>G z_zp6w`iIg&KPSN)9pNc>l2r68^Jb=*+?VS^Iv~%qU^}xR$jjmf2Z@Eg9rxT3s~19|?G%ITQ!Jqn;jsip6SxQpp7W%p zSf-kc!e-cxfvlk^#ktJuMEfZ1>kFvc=t0y; z3Ur|yhH5YD?8WSfC@PYfOU?wwJaPI~GfNRn>?Ik)(D`uNz-NaIz2gYCo_|AgEo%|{ zv>?W0g}E`0ZsrY>_d3zvsv*jA%Tuv6M!f?Fo9N60+kjHT3!DI=CHbs_EUF14B3Z^( zSfIonh8%E#ZCX8;DfdvHMl59Y%h)f8nLSFjCBicW0|4d?5eNBsxC@fynl%;qyzxft z>}3mH?q)2DaKJ0$I|MM1B+x12>ht*GcJM_I8@xKXdt5sYs-}})Da=@q5jJ%VQ*B5Z z1C+LI;b2qBF~!iC%GG zQe=YZtvtrdlUS3VK6DTUiyEJpupQ&i@dU!6k0AqKGb=5fMTA;HN7MV40OiEsOv0WMKStP)=U-#raCdiBeirc0f8xT@L+S`zv#YOSgk~0psewAJu3| zSxlrdY-{BNZH|JJp$-ds&_0Xkm@=~7UJ%@j(%~s8ty!{@(Le;SHC#fo1mj1u?~9*M zTRcFLeU9aV!q$rozLy`R752rcch|NOxzSC52dPdp4BTT#FaiG zDEX3HJ|!QmF^w9Ya}>=~s5lk6qHdh{RVJ`cGbh7+9*m`F=IJdV_7+rpnha8Z9}UdT za)h$r>(p`htZuQX4K+({R_~5W>V!NBX*Uab7M&*CbKrO)4R$alLzj}+5+u?h&R;w=b_ES_aL{Iw7kBP0z! zj4iRSdx(l5$E%R3Ln{99IQkHWIC#0D1Y!?-&Lf3dz-(~ghM-iPo8dV%W9uGEs2E~Y zG?zg<6D7NlQ6%WQi=Zw%!R4`fC^l%macoN{gHWx~J{#deG{8X|i7-Njy_WMaA?P)S zY333vy|?_n5aUm1s)Jd@C}F>hYh2l6i(oHEI@1WN>a63+ z>QRkjV@;ed2|iUro<)nH4FmWHPW}!&K#zJMN@rCq$zWkqmsJQoGW3qhZo!jq!x6j+f*M%jnd(s#XW7v>{_xM{p#Pa#{tFMJS=~ZMW_c1AdKYyK%xIi~C>R;}8%eu*7 zA)v>nkY&A>(lATDhHk!97&1t}4d3e+N|oUZQvq0eQM-)XpmpNYn7O(bhp;_+Lb4h8 z8o(>WB|gwZCt%S&nwiM3(&DZjuj1E^5?_)!&hHJ1UdIVkkPiN*uAWowrdwI~mn~gdp;OfRsgQXqS?G2<0}A;l0N+DL`wP*@YEuPNM=NIy2Zv zGxY7*{1%KkQrB|M(N{3{-A=>d$z=1$fj9;qrREf%e?@x~%D`Yipmo9Y@vP$)kG9i> z{z2gdK@MF$D+C>iC2JCy;F~xEo)-J{r)&oeh+Yw0xh5B!>rxC8onP6{h+lKa2Pkdr58Vn1*b!YJXUqa37Nxf~*F5PBS&g zrvsw&7nS05W!6+=X8q?ee<6BzJ=*J7PqYFp1+XBqnHpeqO>ZsGAx1S|0q_~>X7#Bc zzdIClr|J+g>wF9Qj#z7M&Cu4x{z;0v0~n|%xcx_aN-&b!Vu(#_O=RaD$7gpF|(-ZQB=0X_QKE;z6~u0?9>cd z;D^8xrKY7+7n(9%>sVc|!fU|+g6a+R%k$AEk5u{)0#TaL0~oqs59?-tL^nN>7beLX z>)fnItxyX*mt;%;vI|Kz)IuC13TZwd;(7({`5z+D={si`(6x}v`%$}i3;;v*& zPytLEsxW8O`>-m1cdW`E5T*Ty;*mVlzI&jNJt%JbPm9{#8wU?+dK}&QKq7wTn&zO1 zJdntpfHPaZQt}u_gc1NUOkpNOX+|mu5i6F_r^7e;OHv?fFQS}!K6+*1dRu0Czd$=qpo@)aEFo4;h9Oybc(#~+pKRP& zfJGp3cu3gu&dj3rtJ~Grx)O*`Z8tzp0w0i1Gd;ISvTl}ndQIB(D^QRoTxzODN5zCO zH+8E|AvQV|r}iptnVgs}2~IVz>&2o- z3fmII)&bia^;j^*0qroCMWsAy+XokPywObn9Fs0;zo459{jECGn|=m#OW{$jAkI5lfeaQJA1Nu!$!~CkRh)6F4@xH=AD#<>sanc0{iEu#l3qpoXWo4Wz zi<`y%IQ$LxnD{<=3+I$=&ujo7K7g)}EjX|Bcd9WW7W}n~S-Gqi6=_8hv9#ax3%ve>lnDsIl#AT#ceY7qYIEd*F;u~vd*VhbHC#p8WWhl!(sXC zg6pzG0%{Cu9;vaKL`cLq=0*jH+lVL-RDdWtoko48N!mj(Jr29!lrWM{j3>jCi)J&p z9s0~k2;0$KV-SQSr_KVHtbm9(4;Uf2H+sI8h+{mQ(E1aa5zbFAenJB!q+vIV65%%H z;|*;;S1(2>g4iMAo~2w;E(%-bEW^=ePODf5k^~61gl0F+yW^hknEDzLsM9Y7MxnY8 zQa#p$s8;t7(7{hw6(Js0K}IBKBiy;U_6Yw1iUq$=thtf&UVo8$6cR<}qKyrLdE`)V zEftg>;)Se0n29q>drZg5cf(A{-bI4}PYm{!Btv{I18am1`k?VR4EiFZqoj0e7p-Y zEzpchr%N2Bdg*FScKxiMe-t$S0KPhn>f zpa3?K7{>M_m9E?gh$1LC^|!XZ4m?=$oYpAj==-Fq-%G3fS2atXxujs9|fiFSKo&^tmWqE7k-BNmIUKrJcq67 zKL=VSRf}+uOf5i-#cQy*QFiMnenFC(8$=vr5YMk0FG8aw&jJK#sF2iz%K6J6aY^@U za3_``8*G69PS?|pp+F_9j-?d|-wQ?7a&94>doR(bD)d?A;a!Nf9VnZ`ih56h$I7>N z-Qp`Ki8~nZFpA(IRwF6NgRdaTDI??v54#DK#)-g|M;Pc?$}DuVREvs)BIui$l`Zpe z+w1~x;~2p4zkv$9@Eb|9up9m7pg?NRDRLZ@FJBAKX!!++BOP)M`~+0XtLoy!_XIG{ zoITJN7*PU#2fZiI1Iha_x;DUtp!Pt|D(s4T=mFn3l#V1gch*IZ1u6C_*7uLs0eFL# z0RUvx-%vk2_RA7lQ8ilrC`64ygMKI2=Yod;!=@lE~rrK~`)X$STd>EyHzG*}P)RQ`@PFvr4n*kXQds>z)R9d7Tm-kL z0D=IM^H~)KbpGe4)c+BQ73B9dc;X?-O~Y^e4jcNa8#2_99kk8*CF7JV1<*pmo;Xk(hPB)H{*asd# z4^f2&aGkfwD0^@};d70|+lM|zVb2do$y9d2Wv{x579$V00hK~3zEfNB`VnNxk_V0h zI>YTc7(V%#3Q^S`J|i#0khz`#7NX!M^6Ei+YCw`rJ@EXmj`c1hV15QtCBQBQ1N6#Nno^a0E)z@xZmo05 zA2LeE948K|$bg#eb?kBV?Vd{~3_k34^n;H4L>ao|;Hk|}_frZO-?-2tUi5Rf-XJdE zmmxiwGo3@pGH*q~H3AVht0EuQTF1B;YAKsby&Teyj!!Zk9yQgih6-v(aaOeR)6+yC zEily{fQBm4Up^^iwsj7r8oiyN9upS(cw0<5;?cxZO6n60)+7l@+n&+y`cMS`615a$PtwugN1l<0bb&4VEuU_D?< z;~PXc!bz2)Gur!NZVt5B0C}>Zqby(PWBU?iuh-?y>{7-Z{+V`%cpurR&A8_K{6o=; zeM}qoE?E+ilWd7%fxI-$m~0oIq+%{6n}BYoe25Na@o{R8Hw^R_CS_sg)M9x=p!H;- zc%PHO-BgWKUli@e<3eGN`Zmdr8bq-X1|fA~v2^unZqJCaA%zw&^V5Pxt^0a>cG>_H#h8gR#W$MSMI_AC3-!hrvJMM-+)6YOWZc$td zwjOLYNDwu_M@93UxacSt=N&_^>;X{E)Qs|x8Fy}(v2v&S_Yo-q-*xR`?efb%ddQnAwTEbf9T@pa~ ziJsd_a2nt6wFR4U>3vkL_W3OK0CVs(X0x^;KWj|0)z=^Od%&X5^Dyu!s0%&$cMm2q zEVgEWUV#P$@Eu62ghxk2*_hKF&G{Z=;{8m&Sj}pgYWge50nkV7AVRa#K=CSLqHQkt zR4RE<#;s%Hvn;eBkTo#vTzynmgOj$5#~IZis!P7w3fDb={`ptaoF1K3bg0vCsmvQD zd=LR$#jUab;NjUUI(?J@b!sm$ED$Ti1}ySHgRq6{x?gQog8|J1jTthZ4!HcUKCDyK z4kg*L{`12&e^yE1;SVzS@GALmlP+rEZlIb+uo+BzM@hClTNlxrpJpMQso#K0I;XcE zb@}`pbbvfY`){{T9tHjVr}ZmV!w^SP*dG;`2qB_C(_DQ>lyJvzD)#P-$M7KsO_(7d z9|hn*AQcZVr>uy#%yYcp1Go!DeQLpSoJk4%zdO_e-SfM68N#|mj`{eW-kxnt$phwn zf@40gHaz9GtMi`vVD39_^gKJ_I3YfG<%h!rNXAdJPO^hZ9Mc|ijPgFQa9Taj5Z5K(*RBrzOcdjV+(~HHXn4ag6d~_g(bsMc`(OOP z02)QiVUHL{0Pnq&!fg1XKI{2abRnXH8bzq&f5B8AUhh4H+8)-9kDu2{~#c*#Sn|&i4@!L;`L$NOYtiE8Yvxq2Ed#T3I^`!?ss&o zu0Zop5}Hth<$vu1d$me!QC&uNQE!=A={S@igfqG)tFv)O;ucRVmHYuLXNdf7 zsvn>NRX8qKA-GOy`=J@Jb+oO@HXcWx2Q5F1V~~%>40C6Q0ED|pcTG^b?I{SM<5>++ z<9>7}YA_r`w;3HZzi{kvpPy)HR6WQYLVxh|r!Fj|tdFFU zX4T(ukW!E-*5V^X#Ec(y9)eco2A6+0EEy3&=xZHbDBSKp0(GgIC$uz~E5IX;=xZx( zHZv(d?Rt3ZJJI0Wg^{uEdp!JkL8N3Ita(5?@l()K2|!_DkDv@?oj$ejkM3_fz^B&% zfWIdnh*K|T?rl55N#t(V2ll6r`Btrzc%x<*Cd)Q;jT4%1K!bTB|68)T;>ZYkw(;2Z z?S>3lXMVyf-w1)`(lINhu00CYXEs*>uY7&i%rx+G=MvNkfNk4ES#azse&h>>psiw6 zB!(5yk)LK)o)VtXpee0DevH237UfQ+1B57q2NVsYr~s_&j~2ep#ujuDBtjz&&Ntez zyC95DbV71ALasX%rOH=kg*$3&LBPZJhu>u?NrS;Yl;C?bL5!pUq}U*3y3*cq9@8QF0v=beUXkZcJ{DsAAN)~u9>Mit#ZdZ~ zPvJsH8jAovG%B8EB=GlC2X9(%LC_O-;1Kwu@%lyePc*`s!T21y-y;1FcWirf2+}{R ziSmUHwnw{{METe0lL{9i0;nW+73AV1vk-{;p=ipzTpckj?B1SL4?uDDUn)wJ@RYu# z-_HoLl7^$AJ=&MwbK@5F;eGMy0pZsS4-P49t?g*#7`@$g`895Lm7LIn0Z$F9vqqD99N$v*Km?JHA@m48MD z&1#lJ_aei=%^B58o}ky1hAW6{JHzY(i^VuXrfs4<>NSdGpfxJh5Oe^=+`Ou_yP*5l=e7Eg*z2)BFG}3(>$_|!TDz>Vt$ZTgc7{1#xbvQJ4tupB%YMiZ zo$nu!mCYo{!Uh-(_c3>H!?oz}yQ+5EM$4L&|C^3yQ)>-fap~)|Yi8fwVxP}!t=;fb zjs7oatiZmtsqaNs5%Z@%eyV%^Q5;=a5WSQ>csQJ0&iwgz`b(?-Cb`ZaHC46Zf#gLh z8+$WqUFP$`5f%BYqLj|Ey*W10__MgBd?JGTgW=?%xD^L(M*VNabBT@rZn&wtd{-zp zpA9jrF6yf^tW+M^6}sVh=eSpHP3GMJu73#z{06WLrCcQ!xZ)I4!Z{gh6oS(7&?u&-LVPH}CaY~$V< z{o2~8B;#+w?|wTt(p)})Qbixf5Fc63u6q6L%aWLz=7*y{o{f_nKoWqry}x0b<*PFd zMZWr`+Bnl!;@Qn?#uz4$Y#eA^bYeo<+0`0w zYAgMDm@I}Y!NUEM@~cz3r#C&VJ@^izv78tZ7&dHOk;-nY<=P6GOU>`I5t--bDkH_2 zcBOISUh#FN*CrkL16Q=E&(9RoD7YE*FX4rf6+2z=*UZ4&nm-q-*XPb`_wm8pc5^qU zl9^jtQ5$gB5Mjf4{*C&MX;R3dSGG}fw%Lyr8BPxA)}Lhfj|x~(wqeJnK0)A}#AQqt zcD;@2Po$+ccdVu6-2B&5D*ET?8B=@Am0XU24rV^$x`rsfFgtTW8P8Y-1%@4Ot!-ky z^mzLN?bhTIT#kK1q9v!@>#JgMs=bM9#m2_AILSWtzx}aTY!Di9BfMHBI!ZcQ-7Hea zW_M5d-~H>U6RR{QR;^NIS_1AOh1Pg>2#H_;BYrjd53m4@>^Cdhq)(3S^1rKHbT_K+ ziXkNZd1p!AIQ=d=azQ!3WErVDOkF|qR{F{yvT$@;y_EffwupUp-R-&ja6@Ue)IR=f zgY2tL&12*if8}@Lc<~GER*>k&wzom~^!qGDHY#I%?lH!)@WqDp4MjMBI~SCZ%oZau zO8?shWvX6x+kD8ddSzRBVbh?WESel{HMb(h=w=Bx?{%_oIs4@WJIM)OQ-D)`eJbf^>c~-Vyr!PV^m64~ij4Bhu&)ZgyVb5K zrFZr&@%rjh9ULP=1``K}fz&Y^fIY^A&eo`?_t| zuobBw*s$zIh^dXXcV3Ppd4b%SL(F%K{BSqdXDJuW;8aCem#-4AEq_1`@q3@VKCp-~z zvk=n6%pElptXyioYKT5{3=35OKmvsG*9*#n%qLuToOB-x>OIIb89L*n*{*$UTu-aC zg$z+?XlOl5ee2-v-!eN+E$TajVIU$fOyZby8}$Tx0D_gW0W5>_Y#a2ytKlrRJWI~w zFa8x{Ck^6({y1qo^NGQa(7^y?J2w1G`9vPqpAYFccAZF3)lK)D zK13v~(7tI*N?!%LyRhq*=kSZz93>sZpm4ndrjMJj$vXN zv$(CYuz24Z{eNuSOU@x~#eAGYTD#d(KQOiURQrl-rkV?~^P3bLV@W?@K+>t+aTMA- zW`Mgmh{l9%29#06FabouesyZmUG079jC7kMn~7y(+4ECS)z>}9za3z6joMQB5X3v) z>6|ogn|=4ppe};mhNHp$97s3hK4zK-!ROUTZ}#qL%9mss)7IziZaj{a_f67!=orUb z1K9UjfgT(9IrGiREr-*d_l_T_TlG4dU9hQdIpz-KIAGhosqauBw*SD$@$!l6G0^ZC z?pI}KZPYj+)N)! zW9Zu-QVD>u<@YeAd_Uwxuzupox+A2h(=s4T@KBZYCkj>6MlCy`*Fc#C=dTr6#4cX za&YZ*OF{D*h*T<-EqLocHe$6P7^1<0hM(tKJPw2~-5O;JZ_e-=kb7HK4 z5I9s+%b$7{3Eu8n6awLMU-~Vmk|)ORnC4Zh`nH*R$IS<&j&T?FW!ZJ@LNZo22W#pM zVdlOiVA~Jlyp;1tu++WG4nmf1!IC@6og1Qf23{vjj4*GrjGP%~^JJRckne+%eX~Jp zQ~sy!hfR;TkMZM2+*xhVwG*3Q>sY{viI2HXu0KwKO_ijwxdqA=NLaF~J8;_f-?}W> zck@RzNac`W1Ek2HKV*kJA8DozAzNBCw9&dH!j?*X>w5Pv#;mOSWy}x2zn^2wLy3%b zy@o%;k`D>Dku?>$!VnE;+P?Cy=9WKwO6#HL$GrMl3^Aupluz`HW3l?^mFwtk!unST zecmx&of^S0fY&Ed?Y}vts#*eFkq7e{0_BY3EJJY?XG=OuL{)BV5aEE&nSO|>{&BLp zmOmBe?snC!!n*$a)|>n!#^-`*cf57kA9^X~)G}rVjOtVtVtgNA$1~D7Y-*3gCO^)- z`_=~=x6bW*-!x!u8N~Sw(C^-i`fFj+A#STZMRqdYuA#fbWfXso>o=CdxqyL4)&!Mz zs=nYapn{oYl9l&eHPA)V+j`aDuyqY+P&>Uq4y1S12J6R@eOC{oI@_LMSrdLY%OY*z za%9n`Zqv~tA1yp!3bv&?4)G$VemqE|Se6kqH}2KP^~6cPA{GuZTx!4w*kAdnLS!Gn4ad4Fe7q1Y^R-M ztFL72{q@j){M51cj~VSpw~ep8w(v%}LcZaz7hpElm4o`D`dS9P1aH6T0pD-hhBKVZ zmpll2AcaYy<3-*II4K_wEj}@!e9Q$|0+gYN^IY%BWf0~cbJA4V?+YWLL$1&;5+GgA zfy|1VYKi>=J}dw&&A(Zk`?zM;fP;k1g4uU9GRjN2Z^lA_HFj;|wOkmBXG?mq+h()LWUNFR(TnDI69nvTW{a&e-`X@zLnc8oz0Y=x z!)*T$y9`qlG%#arangfaPs!P-Ip%1)hF@6mhUs;U)qx2j8~uoT>R?gSJ&|>c2hV5I z?dDK&!hfZgk8F|UZZ-e;kDt~pfxXXn?)4MbbRKssXE3Wfp+{ zf1817Eb~<&bq;gca5LvX)A8;?mc@6F9x!K{vn(gVgYBCLbG-F|_WA2ZSX6afm}SHI zjnm7C3%IKV|F5_%&NOP5G4i|`{hN&H!`84+@cZRVH~Yrh=FmLCf`07Lg6+x}Jx?24 z&-h&8jrSFO@hQA>?X{fsLWAzUL~%_GUAW{_JH4}VVk1ACp)X%@#-TZ`>Ds-N^##o* z1_cmwNiqs7m}xY%q7VgxN#~Cw$xiOY-;jqdPxQgbBMue>6zsdT^(7yd1ZwVQ zGP%qj3YuN-Ho?S&;K7M>wT7Ae*tZ?~cHriZ=i>ZN32#Qd&L)HM%zo7c&1qZB0(Qfg zmojE#U{C`4-2h`OcLX&s_NM8@OzG@z+B3plG?w)9^cEKYFYs_dvxjWZhjtzlNPYE1L4!cY`!{eJ0NUh+=%lLeo;s)?m;^K?Who# zfF`(7&`X)JTm)yb#yri@>_!U+;Vis{-%o|L5If~BP}tj~P(2#iB4w<8CxnWHSP&b0I24{5*)S|+qg}I% zw<>jO-oCuynmKM<7{PtN8T^T`wx55K5?h4;0zYI^tV8JrkYNIpJh zQ-EoETbY5vk!nc96E?&rR4cx^fDJ!R=dyvuMZ|f`8aq-~uvT+zdT?ZmU2E^>ddaC1N?HS<30c-gJ&??7)Q0xCeK;iGI)pNZ@%c=d zW*IYpwYkFFh=?~p!n71bw@J=WJ3U6uILK;#RmqALLcL@Dg10Z{fZ+>Qu9LtM^m8nu zZq=5V?>{fVzubXcffHB3PyUe5)mHOzHXBhie*SCpI@QY|>bWA~5-nrS{HeHWXt6TY z)cXsU9OjA;AB!Y{QpHn*Y6TzQ+Y|g`ZeQrgC#xhxb{)2DkfmYU(&r)2HDKr>3jw}~ zru67UAmNaYIMf+YcX&&wGaUAfLwFmJ8#`1`Qzx%a=&jyL}3xV?ywttg7+Mq$U9ugOZ|r6OiM#c9QXmkB-Pdj;}9XC5h9k` zZ6Q0c(%tuzumYt0jaMChNha?Zoc&WV*|p3utcX9IPfx0!cMd@kIPw@a!mf#+gZDX<*%fP&ePcTv9|$G=7dq=iID#8tga)K9a#ZF@o&+$B-h~e& z+rnPZyr|sOKW?68lRf5O+sDKd>9uaLt1ak83=O%UF`iAd3oHm_MpREBI*ce6RQQ^@ zhUIMjSmqk+*vY9(nR$tW3FGMZO;$g~0tdhk(c9cc_^KZ?#;thbpx#{9yLG-}{>lR* zf4ZPN$s}=gg-ugLm+T8B-aK#cWDVw)nnQWVAYOcjsUFlVgNfCNK{g(9ut;g)h+GRp z^$En}@~;~A)#xv$Q`yWPNW?7Ea58uH-Luwj{#dMrqP*;F-}wCFDM?EqjJT#rvnO#W zd2EpRsvO73tCGydTna5gbgXO=RbIE}Gv!9C@7^$h?@0TDP@($Cal z>kDVcAZgpAh`MjMZ_O%Qv1jgA3I+UXPMS#!r#i!i$JjdVpGa^AS}l2RV`ko^b=vN6_JiDyscnn2K_2&>s%!gSq!%qYlzn4Iwf7(D3;F`=e;0o^^*|?SwM_&FN6+>bq?Qh(#%V_Hn7M5U5g#h_PTrFO6DU6pao$}MTn zq1g~VnHk$GNS7=pt^q>f%pdqYFV0=VuTU8SJ9xM2-K>{;zhfmRcQ+zTaN7}?_!ACB zPF#|++@3tchTD#jThmL;%STd~fVcm0I1LW#z@*n*GZ*QI4rz&O@eAC^HN;nUm5BK( z1ltC~N0anUaAR=Gs^2nyUHQMwZHTtv=;1%<_!xnD4WETDm5H|x$)F8Ol-|8@8Wtw&p(mmkRAy*1AR8^_JTMskI7Ko171wDtl-z^q^SI`PyIK-$Z5(I5hm@vI192d*qg z4F^yDK-3#v$e%y;vuAXLk63=8tILQlG$AD2Z0j30zpqbUuU-$SMttLtFW{@LTq1|Nn2!&w`rw#ys_-^01bRv*ns~fd;{nuZ-1o9wp)=IJ;#JL#z4nHnteDuo2@c*knHJDTq9qvihj7^ zDOz2)GN_BORdL-I4teST*)q*>F+Hdq!i{%^KahYIQS*UyJB&K`>lX`9&iQ}ZfK#Pggh=y1X;vskGevM9ol<1lHImaPphQ)nOfNjW zy?ZFlh+F-ANSnsWkkO*a!BjF(T^XS7m_*$(asqLr$)sK-n0auc`FFqH?>**H--3qd zDKhoxg!e=ubVBU$0-&2N2Q5V0a!_C%rc%eRG9-+}{Q6#n? zn@({iSdzyKiFtMB@RMRMIyF)2OaRpDJ%Yp-;D#MSlMX5EM~L&H8aqZ-=gY-QjHzo~jayL-}x??~G>_(v))+Or< zrvaqYHi&|N41ZFI0m=r845DRXrJ;_i|6NFH*usi)PQxZc$Lex4@<=e&@niYBSrctb zJ0*`5I6^kHV!XQVlE9V<1hzDPcWc|~L0|L^dZcQI0kI2QFh368@ z8Vsk2&~D|WOa}Q%sThc@lrYO9?Hg*gOX4g>WiS752%xEnAQ47F=8v|z-i4+|br2Oj z-=_st6a&GeVkmP$lD&bn>`2`!j&B4U6w;1I5*JTUB59tLO1S7VAz7yn9`qTjI^^VR zQP_eVE8Hm&fw0r;bzG2M*ilAAl*pyZNr*%bkUWK?L~rUb{WCeRR3^iY^eJF_#G@91 z+O1s;CI#Xlga=vQViuj%<9tZF4eDEDn_qY>Id#l>v`B&Oizx{c7?wUvf6LR2ue}Wn zr7pu#cUJu91h%G}J=A+MLe=B7LnvCzkZB()N`rwW>21rd!0{zOB6PmyLUuHku&K9= zjHTfjHXnrxH&HM$F>)06iE9m^EkCG{C;k8SX%;BSm;sAm;CXOQ<}|zsk^x@70$iJI zy%e-xoEwzR=jA-{2cDG`5Vyzy8qqnxOGwmASWl@kZ4#2?1f7-=_z$?|hMyaFRHOG4 z-wKU&!j*xb!pnMMJTO2UCfIk#0K*AbTmX04{Ol|Oo=z~ACq?m77w{-lP7z>&U&;yG z`ww1blghP8$TDC8(6m;C|G;H8?ZD$ZflIJYDA|Zy*Idt)erV+)b>JGRAgiW54w6fO zW&#fnW!2DT4RYWT@n8fVM=82c(++rsggWqM0*58bfq5!M<&!yZ^Am81`0NWJ@?ya9 zd^+$b?|?t?pg;zmJ?|$8Jmz((g1+Dr;92!zK=(Bk0c}6e>021c#o-EEuLnGL2%KL$ zDjOBbfmw*f@;|~)^L_M!5qFtAE%ZLkqu!Wk~|UJ!Vw9&l6Sdf@hp2;ixRPv&!6YJs}s z$NLj=bAShNcihoD;WnZ7&IzTMfIX@;all*>Ai1KUK|y_rT1?;`Z{Th>lT-VFJGByl zd!~P;dkL@8(&GRI@T2`|){Hkj{mYcBC0n?=wzr(up3tbE09=D;0^Hdqa7gs%Zpg{X zyTRe`M#P`0Q&*d*~4-Fp1yZZTzdRPBM%l>Bo0#8>zmvv4FO#mMv BxWxbf diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_c_furnitures_voronoi.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_c_furnitures_voronoi.png deleted file mode 100644 index 74411cc64a0b229f6ef144aceaa829657daa5873..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18623 zcmeIaZ&XwFz9$SJfe=swY(NAx1_*lt#Tp!u18NdO2oYf?K@_Wa?0{|W z%!_&VtmnnN=)&Uf&-eHJ`}zLacFC2P2!Dm`ruRYnb)LVBeD##kzgYeF?hS>QZy_?v8olwV zRR()kpgxz72&H0Ygek$<65&@m*KV=|aut?@A+%b}mLQ ztZ`s9yC7)s2~Uf{?C&xU%#cTQNj8U1XKxtjqZTolG5Lm0ezCEiOl9+lZ`3I|_hiqy zI_lEf)L4%2_1~4b`^XZu+w9FZcrKEA*(m$ENQaf%Tg?=j5^N>o0o^_(o$Zz+1trAE zuq5xdXHY-w31|;7IcztN&G)OhYmUm#){!^(X=I*Pe}If>jc48ozo}v17n{f^WeS^Q z%9a~sl#F$R)D!JsGx;^&LB^Q|c945pos)A%pZOZ9aX?t7}HET3LOF+`L=6$!@Wm5rpXSH8HJw}-X(+%sgl<11;IO;Z;ur~Ao5 z(_p2clCiY3bWV2!9P&7Sx8x`*A#{)#tss{KKMeHp<|rP_;8-&gP}h01_qm6~unSCt zO*38D?3|=!t_KOl1{td!p`VbcQt^7_kx!?V$NDRa=|fDHd1H7}jEMY@_zxeNH#yp{B?isiX3LM>Ge@)F^>7=DPfnxOZv>+CYvpdAl4EEA67sH2f0 zyJZ~eNygifOoRK!VuT0j-CH`DkO~&xkpy`u6j(gDH{2B<>B0p4F zgFv(Vx{*wt&YeLe1<%|1+HlDAZR8_QK2F%mswc>!)Sj>$&DC{eVemuw8v(?5^~-Qa zUhq7(n~YN)AXCHir?ehBDLGA7LL`GTP|!LX(PiEg-aOvckY$E0c7+ri^*NNLmD`&K zolID-IPz(O``AfeEKD6Qhnj|YewgX?(Ki?w4%s+CCI$QDv3^xu8&9<=X&G0m8Y%22wh|V;*XQ(LU8kRHa5d(~EJfP6P>xKWv3ZmK?T&1uwkUCFvbx$gPBF?Y= zx)EEG>{g!^?s2vJtR3z_n;DhBRFF&Tg{Eq}yR&hiQZ+1Y_N-=gFBb--$6B84@!LbK zW&$4Avmftq-J5ep66~Mh9AQhPYL$M8y~FIh-YCtqTYTDKx}Mgss+TEm_DdG=i$!Ib za|dK+CcrtYI%k2i1`|Ep_Gqd6T$IV15zy{&Z6i;^6RnXt?=c_a4{zQN=N!xjk3BPR zOAg7k2)G*kkId4b77vz1O^`9HW`yRp-=rV~iC^Nk&b@!CvM0T@&pM#*W|o@DM+~); zfpY-W6Z$Gh4Z23EU+Dq^ld&9lnjL=lOw@v7oJtgzpQsIeK= zk0&%ubxKA|!(N@?x zpltAjM>(=ns1#}XL_n8D9!9h&dlB(?scmJzIvHE$?&J}fa2??zG?6x|PY0{LhZo2Q zrx=IuZJK@H;MWk18=|B4P_=Aj&ruP(F0xq9z2qr9nl%9MVa_4C#@hz;A0aw(@wKJF z1rSl`;KSL8XeXas;*F(YzX&vm+_@rJyGs8N*zE9bqq+ixWzDjBzuMPBKWL`g%HBbT8;Df@d%Q`7O*kU^_3Qg zBHd>%YniH4aF2a`N4JVTKmrQv2n&3j$va8cS{ep-km;uCV*N+3pbCgCi*SO%5d+69 zg@aGtU`lq=J1EXU944b%`#NxCpbTaa#hFDBvnAJGIRZ85HxI0a%iYU8dk1`WoZUXo z?S98HH7EL01Ny3rKVm@{Zn5}=u0x)=2sm+^*_Pwpq+sO)^tRAsZ}6^`t|XruCc|O^ z<@bfYOdtKV`fJsFVW9i}u=k#N8MR?x2j>r67pZiU8@R#sE}^c4ej08to1GV_R8})# zTnI111u9&>mzDZ;b$~X@=N01~-_bsU=$+$QER>5K&_&&dVU49hW*&s82Ni%q(lDq3 zGo(bEDYLNH(C@uX&vSa%ppnL~z2-!lMIQEb-W_C#rNPw)a;l4Aix(+iBi~RTd5y?} zcJe3m2jCZ*Tsy3fR*r5QPC$?@$as$s@#{L`p}%w6SC|JlKU3Y9VsivI7llJ|iMU|D zBrdp@x%TXzt%u1&{1H05lY#eov(ekf$#_Cv3m?GgrQI?k^ock&(9=*IEe&O|TVDK+ zu@d4ao;=v%OSQct1;dJsKl1!K00>qcE$`{YcEdvWnXEt*=NJN8`7hIgxwFR~KiWzi zf-X4ZVkka<*>xt#{)J*V0nW$PIj!rdBWrP7cdO(ZKJ3|eXX8kMNC+2}eEjaSg?`P5 zyN}8=C9Uz>efnByIjeL&&@W`VB;P>1P)lE?WEcGr^z12pTr(oNyX(lQhHP_ru^!-g zzb&fws5EJxdLhr>9ndKDNLR+f_hkCq`f_`TG%MkYv0(i;d+I0j);*$cZC#-#wu0kO#}#ixy+Ou zHIkh)&xyfO8oZLnU21U6_V`lCZYIzER4?>fqF#+~Jku|UoB#@poTtcP?%^3)R3ciCChfb<%LBEQ?52GA9b47b_J_8&zDs{$7zeCECB>=N%JC6AAmq2H#a5ubhY@;u4q`w#W)kX}}iO zwm>C(eqM6Vxrq5&phg_xgn51R3AMz&oYTI_G;$GB@xrhQ(oP*K0%=k(+$tecUAMhE z+BjQVWn6}^X&-Ofyh=R%UqIXa_D&|IwR7x(&5qnA?r}PdO*N7|;5>HOoDf#IO2k$0 zA)b*5NH^T3Y`@JC%E8uEfc*$bcWUC*Df9PvcXYJy*u%wt$`3Q5qotGQxA^qYoWmX) zRP=0c%?Lz%2X%&TdFJJ1e8TYqR+^U<=nnu_KJp07;_#(vy~Z-7t)otIabvg9Ih$r$ zNh8Yc6}7EQ20}Qt;uzktMifB2P^VEb)B!3gC<$Mxfx`f-??f;JYhLw*<-E7G?PhX0 zs5}grSlZ>_P!$;sP0>h89zTzJiqH}V8#esBV=MFQ-%M#=s$P89FnA9|g6rx%Y~_fy z$y3RE9QHj+f&x>vFDF3mw{3pW-Qdbs88fKU#Nn}TZJBe7ly6!k^y?f{p?xL(n{ygn zp;jLayfHfrk5t#TWmum=Jqgp6J3G=aP@0J4$uC=dhLoSksw_5s^z6%Axa_u%an0C< z8d%ott;e!^8wN{}cXS8x*lu|oXX^t<044qoxxN4efgD?}PgsImtS1Hmrk*)@$+kM1 zy9WBX02?^s`h7!{V^32b0tcir8i%Ka!x*-M+Jvuh-OJX{mj;jUH10ICZP-$&mQm5v z6M(fWU@D7QBIn%8$%cVZXD1vQNt}??*m^^P;A=&(&bk5iRDqnUh=~dcg6cHuu9c(8 zRSC_5@k|M~Hj4(-*+suv#JFo-M8Q&{0pQ@_9TM^JFP=r0xkm>i=1pnVsWWZLVZ$Bg z>~gaF>a!eM2Wan*C-wkjS)TpHT10B3n?>5D0kQ-S*JAyUTF8-+9DHi*HaxC|xYL=W zeSGzgOrCP=X6i%dyG)L#bp}|*P0upC-9TeE$rG2&DX-M4^mmkS;PSH_=JMFP^+!$) z=ns6Q4Lal^zh)tDINzf1J|IE#`e6R-4(~;3m$8Z|R4SSi=Sa?1H_9^YX5g5J1jgZ`5Ahvfb!O-+_C(pY9I2TE z!dwx^CAK2WkaPyJK6hIYxkq|V(Ik}|h04eXWKQ`^lqoUV-yh!Bj$2MDhGU6KidAu8 z&gQV|f|6s*vuMBCAt1XOB_%*@2p)s?fJ8l&JOtrsPF8T=k-O>qu`3aRu`7x;h|rvj zxTh^P9-!tfma$SggUaEyBPBaY=)gly<(P9VU9W$&UfInPxG0&660cY-5M9OH>CjdU zN*Wxm%Zr6!HX%-})qky8mAKDvoq?HDF%?cjM*FC9_5-$}rS*?QyZ9p>p)xwf&TSpX zlw3_?{?%+@5cdjUA4qX!0K;v{CQo=@ol}Av+Xf@7e2x$p|s*x3MWaG2La7>I8P+Td>_A5{T zTf#BABUJhFFU)COW;Ahg7Cb{y;Wmr z7y!SgDyKU_pT(L};Qo-40I7QyQ)1h?;J?D{t_}sXRHCya5#>{^zh+@wT{N zN9Y1o1n6LPa(NK90VuJ1tUUH0y;^#jNRKS*$7OjOgOEBz`+EcHf-8+Tc)$P_UxJ06 zX&)T~w3e2K^=L`Z5h(N`4?yh*@MJeVi7L*C3+5ae315^6sA701yq>LiK|Wr9N=DZI zvR;3HI?-#+qa|`6px%Ilh+#JYlF7`891jNc^>mdXAF|Sc^>8j$Wz(h+_v{w-_lihd zN!P*+aXS_u@tZTE#OAVQDW_aXCY0$ueVcp&#DBM9B$Y(v1C;~29*AKpd|ih*CCp~e zYL~>1Xy16YVF2PC$RJO@O)f(@Vwb0sQxy+3d1H|`+sqq_kxp`~>QvY3``cGjOVTRb ztIaZO;EIyr4P8Pcua%xy$hZ|Xgrwe2pXtZaiLQ_>gtAg6V-G0O;3B2*wsKSpp9{?^ z=}H2KrUT_WZcDi%Rw&Jx=WceeW89v-JF8xZs=>bnadj?b_ApS)0g1ou`x5yFBdl^*y19K6Vp(w5KsSemCUez?f<^3NKuC+93VQ-UnB%y5O zlE`M6GqfEJ006^t29I3=z)b~*d}kn3*% z?5trQrG~XK%e=A2-pW$;^dX> zvn`>WY#wso)<7363H)L)En~H11&nfWatun{i5h<)p!!ooeJpV}1fI3}TI#s0%tk*x zY2`MQOVdr|DRNrlTAQdI0j|1oL>ekYjr0u9|5mX6%GRb06&qK8;&dHXd1h|7Emxx&^Gv@8?X}>AzGpIC3Vv?6zQB4JMaj_ z^j_vNy-Z+xhyCJ@#9nq+mgG`+F|>kO2ya@B5^pAtRiMy;chJYR$nh$|?;wB&x zSZIf7R;K|)B7P$900MT5L&DNd+tJs5yQoV1PPy-`*uPGUJe@s$k1zhW6~C2!uHQE} zx~ciJxx8gy(|2*i?k(3*mDq!RNqS8D*gsjn$xA`mWQK|nA$oPvZW#xNEIyHYpt|`&;2ox@L$}pA zHu!*iYD5I=K$mJ2Eqfdq`!C6H!2;9`j9k>KtRrKjr{B)~gZklg%V*@l1f^oTMRcjb zJ-Vq;%-O4ARYF?Z+(qYz9`qN$GnT9K1CXnb$L_9qpL%Mre@5O!*Fu*`?>6pdiYTOS zY7|ojI>&=F{VJH&YSbq859RTi0^s z@eYm~9X{d7f%4{aa&hyi5YL`&k_I+ATi!-=TbHK2FmMZ$Bo?eZR?or8b*vrDjopAD z4!QAbrfe~>j(rEYPzm!TzY#UDONypbzO$AnjajBW#Q`$zWznsb>g~YkNeCmW4AERu z3dO`;c^r4`X`i_HWT+?5;Y(;tA)nBDq(@sb$enDz+3V4)bV?eOUYDDWBg zKtjV%bLD;4XxWIqeyCJ3j_ev{Sgurjjat$lnDm4>dM%O?#OA?HW()30a**hfszAYg zS1AXOmIfEFOIzP3*I9V>g^}MSHF|&esv9nnW08ObnCzpXOy`j8;H4rY&vp^9l-(I= zTZ-ae4qfW}q5TI6dztg0c1fYPdV>7;cjrHOGYb%9A~=rSH*_;_f-=7<&5ITeDk=io z!eIZ~QN=Y49g^kn$e3xkS%Bzi>-d4&s(3N^ZT+j(=j z6G?){3t0V}Dwi(8&IV5(S>4ex?!Cn*Im*jUnVqX^8gm5gaBi+X4uNdf?Q-&n!pQH$ zbzYwT1GY=D2!uCe!7uX!-tzBg&Ex+%R+L=C_K&~!_w_alyr|VYkZ<^b+PPbw&y+A_ zq^jwHFR@wkT`VAeb+fg7-2DT2^1Z)%e94w>U+T^FUBGF&I+WLpy6SDoNy;bU9{rUX z@`*tv{f4_s7U&8su`dg9PPbig`w!1H`?&%!0|~eZ_afjb1m{%!ZNi?z;Cvi z36T(m98GhV_SE=L{Mi3%J(&BWdW~*lv2K;ImNTk;{cpzx7Yjozl9M!_e4 zkVv;%0~NVtn*_!BCvA&=nOmYN3p z1hx-((7(g;@5{7X&4YcOZD_%IGsthqrH@g!$l_BA*S{L^-x^vU&^inVzJjc*V-+sIi!Um=uTF$W9N&(0aqoH z>9sewEAhl3?zWGo7VO?K=^Cw6?&I6ek8{WZ>HQnAoewCA#rr(B^%}%AW551aV^!b( z;S=f!U7yX97D?xJ9AzzL=PmUd3zxFk0iwF)fXe94^ifN%K6?i=oz8gMutqeu1GOZx zXEkgH5-vL>Apw%R=^4^_omtv!dEYa3F!?aKGC?nsCMhNKEvD9a8#xzB-)YusagS<# z_^RW5YeRXY$&H%p_z>1tSWk%zZJV1;g+v0zDmQ2>1KwLOfqe)gsH?(JPeF5^Q$@OJ z@<%oJXsCB$+a(+Ec<}bd>0%Std~z%98@5{-R*W0IZj?qPm{JM~jv1RS`@p0r1#nX3 zbh57e$X2E8J>#UiG%Jd0x1*X-wrQWh=7`!3tIZ7L@7VETa4IsW`3~j5mi5Bj$L}&t8Z=>S;Wx6ydoGDKeVz>}jT3VJ#v&D8sDt z^?VMWM$4q)uyiuvlF_`bxP2S85ru|A3i-8K<~w_V`u($`{&lR8Ro9Uv;qxO~Ct=v- zQuljJFu)j84bi8ugrw9h+#k% zyzjQ(GF*LDQg+!V9w~Q_@OSQrGAGB&@7v@;6d8ZM55+&zc& zxTwPU=`c61O)WEVVL68-!*W{@)S`%5!d~NXlpMeLXB2QzbVY@!&~%o^;|@AyvzW8E z^4*&ajXCswe)E=GZpRhScEOk9OCmKavYpAWvM)-G3MvxnVnxEXUvqMXBSx3QJz9{= z3G{C5`&5qZ6c=7)oTeYSvKS~W%HDybZEpP_Mn9mHfxmz#yXM8e8Q4^8+|FV;p}{lR z1~nhs=vVag`g%HMe!1Q?nwbnqWzvri+m?A(pc4Xf%zbl%&;GgL@jt*M&QLj06kQUg zmqyyoYcppJ-aqSq%b(zCL3IL-zD3FCoW5DQaGLw~|mL7}wQmvn{LkPs&K*JY>XFFAO%=Ed@qJ6GQIjsfe{KK|BrKD0_#{i1_o z+=++c^*4@GW2^3d!bAOP<_!Go8BU?ddhx45;qtAcIjF1tE&Cu)MvM%p(F9_tK!2H)B8Nv^m!?sZz*nLNdG4D-|P zCHqC4$Q@rXAU0^<=p2luXU4P>uxl|hGbMPYK_kj+3W}n0y+I>5shRb=Sn`m zS*uv6UM8Ma_dNfq@=1?%GCM9Z=6wu<)w@S2?h!nDL9m>kCJf~9C&+4{FQMlV-7oH0 zrtCNFk=~>q5*+(1<3qDO?Sa3bo3c{em=#!wAJYm&{lIm8v##05@y)6|6ZocMw4%{D zs#W*wGS*82nx3tw;e{@S7+(^1$|}*hhVqw!;0IFnFZ`D=Olqt=Vfyb_JLW$y`zD-U zgnS}9l+ISSk1Aj0Fc-d3;Q8x(XETGbK@N=E=8X+*BkvB(wuhpFm+5+MOW+c+g9-hz z#NsfMT0Ws=Yd}wJ%I|5!>QCRJf8b~r*nhF)7EXD3?T=e1_}+4^{DsU52EJ5R zeft_BLwN8qn6L1T{q6yI={SR6HH+cg^^3hS1;MDlDh+|A(4vv-uFGK``*&?x=6^KTDtq@T4QbNJ&e6Iy7sFv zh}F?zhBJw?ZwYIQ=H&t}#BH5g=mm`h!QmR)-Y|t|k!~gtyX)Gy*$EA>A|^5B_w-yg zZnsROg?HGKOgX*WpJ#w*6m(;2< za{t4Thbc6F7uN&c?A(S~K}E6t06MCiE_X{dc;4sRa@4;vxc)4Tw5KZ%@C4H59pL-G zig7e)B+eEIH`{VgEfIJk1gKVGG$lW*L<>YuZ?j!=@W8WpykQeAm2vDfCq$U+ui_EF@yTURr+7~7R@rb ze*0B);GC0doeAU~-G%YwA8j9w3pscL0zXw)eDseP*Tx8ISV2CV3?S+(bp*7YJQ_1U z360*>xK@muDq)&yL+oppLK^QPSqi6XGEASfNC2_ZkcG|B{O;PnS&^AwU*`y@|H|{L zCWK};j(A|yu$nZo+|uCfYj5Gy^p{j1F<>!zi8@1={3e+hBcpHGZzzTnQFAZinHiD4 zUv5~#DyAj$es!(92g9&4$qSH|bNNsuYDbP%4@_rFdYm`xWI!hxwu%5ezk3# z398BEG6xuYi!-0mJjh$3%L_ANG4)p2gno&1jt80cbwTZS32?kc@}3U?esgg*GEg;= zjTwx=KpC=rx*IvocAL+AYhK6}vnPYv3Gnqm|0~AgyTGZe5y>kzfx>D=^i^{j!sW+A zls8*ag5)DC=?8%A-OPI6yaQ_N3{>S3=_c28R3(z|n>B1#K+n;e$>k7NP?%$Q7;ZSk zESzK5FvhgXb(di|MY=O`!yyBP`cO5$&RoJA%ON-_@)rc7Ln!fsmK6LzVH5Sx+TF$( zbh2~UrP96V|BSmU)oZTeejL!{i$$F_9p)zdS>58*zeVcry%)Bi18^|vk@Dg=OayO& zN!P$1U{EdHl!QN^@0h`v(rOOH3rLObg3s^=rY<*}zj4(b<|q;dzpAGIk2O#!t=x;< z*YTT1Oi=&$6Sq{}#VF*VfHx=J{mh5vfk|&4-{u&2pNcc}qS}O#is1mW1`VC_y+-;eVx_VUOe?R$p#h8v&isPzXz2&2 zZkNmpIb7KI04<=~5OTWdyl$02@zYi_f^5l87J|mN`9iC&$B`f2yDxc-UxxroKJUoj z+tR%oNA!CvJdDGDVHjwqE7c28a=gU(0}YqMfT)p8N~MM?sB)AKHlTu-6pRc?=t%_K zZsh4m-th1rQCeMG{3pc713&Q$v!}uJy_SrCI;V4!QE_(+e>&6JI6g>d6y2GA_a~=5b#W>S8VZeC6ra@?sHpgqv`l_BD#(@HRvz2FDuK@|O=y%J zCQ-C|!*9+ZeG|DClO&)*gc*f%I1+B+%v>zM$3ZBq$5+lGE-}bof@dTLk&^Wxe|K%a$;vNegvk7In%eDFZX_;SvnM;yr-w&u2 zkfBbwm$g9eC8&+kOJFnbQ5<)vW%?!Ix+8dx$+t=2l~QzEgVyRiFiQ~$g83vmWYHGX z#c&85BZe~3Wd*CzC^ZkFDUROZQdZW>3oe_BEBLD?iOuRpuC1~iZ;ceuwUM?j6t13D z$oqkQ4NO;t!sF0A2wVxJ##cx1c^dc=3s3piHzur@UZ|`B=0L}vlh6Zhu66EB7-#zt z!@i3lv&sqMo=BVHN``hLCZ4_fne)(tXvAyLT!exoa(?#L`-wEv>N`U%J`oXB_f<#6 zSNSMtCiE-?)Z>f9sLkGDF4fp9lBI}_tAQA}rx=&%_W*GYCFhxBlEPqGFw&IFmCC{p zrKJHA99`pdiUoS>({E=t=la#((c3KpE@vMfy=3V6TH`X*a{n4W0U@Gazefa53kpox zT)h4?LeL6-Fb>iBwb4HNvXKh!Md3Kkn5yJsewB!Vk9tKdr4p@$(Rz z{s5Rr7D+R`0{$}} zLL<-#@?w~QRPYSy=wtcuouEc)!ymw(#WqV1{M`A>U3${Sm-rP+&y&PsxL4v9qsm67(t z%utQ(9MWO{1yF%~dEN zF9|&Z3U2H7FveVr7`sNfdgswdTW=hcGu^KLdB6R+`nXdfIY^$Wv6W#F2@6hkavuOH zTN>Q^ajo3lXP|DV7v_d?fkdD4h&<&Q*X;z(SWQWHcD=YY<*cOswN38IFi@ORibm=5 zI*;INT}bbLLk2+YA`yEUQ0O7%#|ZoLnnu-x^(pwgmOMrDOnL5&{0Vp^gE^&$oZE_z zDOy@_BL<<711QOU<}}^M7@fBh`05lXQn&~xRK2)*QOpHAz zsMDB*#8dKSWA>$pGQ@>KP%%jsvQ+PsuF)0G41o(BieW=NSz;O*b?qN}4u{&;SVbT5 z*}Hr_C*zroxq`L^i5ydgn3(}*K3A+dTT)C8DVh=+-SO%w5# zm<(q5$e*eb9L9y1(BNDY0#fZ&dendxMi(f7T7-|l*A<7^jaWeLfCXfijL=o=$G+Hk zl^7roi^x<;+e9zp`Ag;wiL{j{H7*#ULIB+yqDv{5x>b_OejF&^9$J9&@j;0-f;ePc1R6aG*x|%+ z&KJkIR|MJyTFmI|Jy$O?P~vIlbt1Tcqe0b(A;;#86V@q>Ll0}o3ofv4nPX`Qo>Rt6 zQYb8nVdK1b*|v}~UVVt&C<@#CFnvgx6SVp`|A5O<*^Qv3kTp7wct_pWRe(E>2jB`Y zV($|QsQ>+-Wz1oYpcH8yzSGi72*@=&x#0=tZ`&)$p$L$(6jK1s&atv#;~~owzQq!g zhu+v+u}9)RX{Iq`(Y&$PbEKyiFwm4r9vXPtVR#l1Aw0nSy8!0QykhDU^dmJXV4UPKb)f*ESj{rVXtVl^Pnf*m3V7ublc%(; zVTF*a4yi!QN;vIp3 z9(z^atC}~}S;MmW-dWjEN>#HP!@76Q*JIs}KB1<$TufI%PwRpCSJ0*8N_yPh-UaCRRVq=$fz{-`rpnL)Gl+gzm%1GwF8YHln?> zy(RP^2g2Y|Z~`VdE2dY3-7~g7Aq+hYLqK>d)%`pH5XdMLM@EM~-uvEj-B1cQ`Msx< zI?PfurI={n&uqmPPGO&LQjX8c7D-QqWs(!rj2JaiBWuJb_xX@rj>!W@3*J?u*(K#H z#WLmLJQI~~vto!eScR%sSVtU3vf!_(EO3Picw%4AP6V%$@99ga zBI(^;(W3$cY6Jekf&fL39-z(_ju0o!C!i;ZT*&77rGC|j{*a{=pAzZ#T->&nMM|AJ z$SC-sI3*m(ZTg1#_{uqfzWj#SY#SmxM^+%Dp7T{i;>(pHBm~38di;cu!5A^z!3lFA z3kv}Jp`VPEHMyKK>Q~aT7iP{Wwv1|(Soz3UV8E(4Qx>?qh|M!OGgQM+@?8HpaC-_Q zK;dlXB!@x5+1{4Gqc#o$9icJl#~$q1;e{vM$|@!VwvPkzdr^WBK)s=qi&$$wi$upW z3dZKu1(tiqK0~~oQP)a0=#Q5-GJrVVcxGoy!w}+|bP3Q^fUZsE2b zWtWH5<^ffr{70rZsGKgKud8uyZ%CZ$uWH7}J|G%KVsV=BZ!f^>AWUz8uX!j;^}p_& zi)Gf941OcLi$usG9A(8c_f9G4<`sdH5-7^az{iqBt*tYv;lvSr0bkj(a~r4Cr}2aW zzoyPQrEJdGLEIJpgA7R%&E!pdh3}m;&4~%h<2~pqD0=b|ioY_pOlA2DYozA0hzWiT z=5o+ATNIfKOR<2td3eud7-#C(LE`bh1NalGo6D=rD*_ejX>=jtlxxh{#zY6*R8MQ!bPO31NuLz-3UVA)Og3`##R~8#p(zefBeJgLf8K>x>$9BbAVgd_BE8 zsB51$`+^4dENtuqSrHmxi~1LE;{3OFn{Yie*YE);5W!v*PO7rpg}= zys$n?PrkDgQ2B3B?6@08&t9UP@KqZO5~w-!_d$CGK?sQr5YEcB|0nix?XgPRiDdlS zBd!;PN+FS>Jf0Yd$vvv!f_M4=CcwLTg>AC+*&GcmMzZ diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_d_furnitures_voronoi.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_d_furnitures_voronoi.png deleted file mode 100644 index 4b36fdcfd5f074880f233c677f55101cdd2614b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 20694 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 U=?)bq(Esop&rRVBun$!KZ#qGwK>z>% diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_e_voronoi.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_e_voronoi.png deleted file mode 100644 index ad58cd99d3d45b145a0ea90a7d17e61a2f812fce..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 42043 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_h_voronoi.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_h_voronoi.png deleted file mode 100644 index 40fc2882a3baac6b3524205cd5f02447e95c2219..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28586 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 JJ+c1q{{W%=E;#@I diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_c_furnitures_voronoi_nodes.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_c_furnitures_voronoi_nodes.png deleted file mode 100644 index 74dc5b4194fcb80b47bc560139e40bcb05906efb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7062 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_d_furnitures_voronoi_nodes.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_d_furnitures_voronoi_nodes.png deleted file mode 100644 index f2231d9dbdab5f425501675f99897d18bb1b2902..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7960 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

gIvPtEJN z!yZv72?J6X7HZ%`HWHHeIBac9Z9>r9Ztbc>~x#JpHhwZU!nuwpX`k zH@|-FDN=j=G5_AYQ9lp>A*~lZbBmtsK6b6Oyt^ba`LrZn-7fxOJO%(swO;$t%h@(} zFv4tbi0HNW;T8U)p=;}3m9tyORWV+BC-q#k1Ybvy-P4EmgIK>X>(UYR+r_g15@aIk zyYu5f(Pe)wz2+aKEFP%F9?WSVq)@(!*Ka6T{Xk22As_jKG2mPDa@dM#CR5IoM+dM> zo!!B2s4>qRGbb#j#lT$qQEjTOsWHf z`C#to*=n#=yuu%t3EHs_6>f)oqtN*)a!2oi#|We3FO5p2KPVOx@!yRTFQQ=zhnKn; z1QT+j7qVOp@Jpn3cUi6;BwR5c?6H64Z$*&+M=ErBV%cu}e5L|y1x6W-ktRMBCz1xr(|?S4qBvo!-zB z{u$Ae=ge_^4hsCY{tYO6$9BnsOv?4imjUv@^)<7FW=GNbWB-{Obg#s#1*PcG%~THPm4 ziWAvltL{2EzpEnW5AN8R>PJq1DeRK<{`ij6c%heYx=8s9o7Pdjc%5fd6Dv2OesL?u zlw-zA6^gS3>;#)hckg+gRH~`|=h1xi4p%c9R$+X1O6sRkg5a%@8j9JUV?y>kD`PIr z8>JJAdK@#G$|#VMHhs{?&FtgVWX$X@OB*w>twZ{Q8#@{BpOeb>DlqKO# zcdu*r03ebV!Qb~pF+HDd-hGKFn|P8CZ!1ygsL=K{jnT=JEGSVjoPuuVS!oDs_ z6Mw9w{ZAcREKkd&cIxMt{W3op)Ck&l_H~2wH}b&6iH*=)$4bcu_CAn?&K(Yrd$mnn zq01eVr|%D8jbmGv2VcGKWsjjP*Fq16SyujQ-FmQ<(9d>7BGe9~d_mD`noJ%+q`s5( z9y6l2GHvhQk$EVW`=G`G{6Vu4uW~=hx=VA*6 zW;^UO8cqqJSn!8$as6ol5qGg0g2Pu>e7X=*ZQz7Ek|F3uF;xYw`oY`mPN`owIicMM tFRvhScPzbnMScDM;(qr3-6zV0#Nw58U9p-C81r8+hPq}t^^cw>{trk*Zkhl9 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_intel_voronoi_nodes.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_intel_voronoi_nodes.png deleted file mode 100644 index ae2e9743164e447f1844925e9ed60830c563b5f9..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5269 zcmZ`-dpOhW|JOkaX_Xu*Sv^QcibA!6LXw`AJdrZ%Kop&5F*egdp7O1QBGM+JM3!=> zna!z?F^5FM=G3N`jcFU79loFS{r&NMuIu;Rb$zZ~pZoB>@AvzD->=u}^S*QVkcXlE zN_`z29YfFkZbx)<<^teTzYuKDdG{&%C-^t_w3mmQjwX@JW`S>dm-qWe>gX64X`eYd znOSCFBjl>*pYD)>xpNkq>X=S$uGG<4zRuHa&tK78QGah*uk$ju_8Yz`CsSsYbU@bA zkL%Q3W1kGb50Q^rnJsjSU;azB0JQQyerm7SA%0f3dFP6A@vVBWm_r{@gegW?Qj3M( zRLiu7cPOk>v!tqiVETu!&(8T`BQV8e*hzItp%Kz*WHD~VO)5SP}urx zm1^TrY(%R*t+;UPC!KD)Mm(<+I=@qG`{DJXh zhlS5a2KphBoju0%#Mw)DGOq!sI?T+l)kT zwJIVjakdv8m1NK?zd5V!v^zoI$x)hAx~+D3sMP{YIyh=IK|`dSTM^Q_1}+Ak9@*W{ zlDiak(sqG6&vdxZcOe&AUvl`hN0qIP&- zN27dl{3Y3}0mT_wBvFwNJ;QhlF8MVv!zNBp^2&0hUlqBtvT2RjRZ#ErNUO(&^kU}U^YJ9Nmrt$;ArG_GO52b@7AGyhr16X1 z10)CI9~U0`y5uTmlpfEX*T!6OuYu;js`?cJC0mNXV|_WpfCai@SJ&e!GJLhX<~y!G z<@DHT>^YHL>Oe{0WJ6r1e@BWO^)sbJoF9bO+zrmh%E&H&-T7DKF8(B&>U^6zga|nr z`pKFD&rRK56C?#5zN5~TW!S{Ko69Xu!Y1)25|;&tI!Qu(olR~z zO54e!Tq{>zN%ZGmIUoj-zsHp)(xk;VZKcb-oP}o^@E73{dvrT5TKII@McCQRF=4XK zJ-zVZ9#w2NIV-zYAt?A&NPR)iVz4Tg?UAFb?q++aJ54@THBeL?&2X0O@V3yl*3m1Y z1j+Vb%7aDIPa)5#wnOn^&Zza-v8FU{)*EX9J)Z|ra*&)hnV#qz?0`|CW`?GsCHC6Qr&s7Z5`XwB+U*eeMV zRj2OwHS>!!SLE?M`s`UkMX*or_->K7cGCZyj6g~~(#@KMMZ@{%K>$h!ILFs0 z*8jn`LoZFIReX!=#n`jNy^cB6N4cm!HfVawP7r7x7ENTydvhTdsKSE5(6#5UGc+0B zNfAO5tQnrVneJ%F)JzryZly2f*Y@${u;W`S4I4yz(f)%9YT(0I@`2|5Oc8-qbvb(q z$>&>-@CT=5(F(N*lOG7*$JEer>f~}t!(-p8v-e~4CIBHHXn|hnlBj;*Q7I`Eo$8s| zDif|&w>NUV7?mtu(uKk+kbGylbc3`jQdIrR{rEMWn#lG!`mtfZ9zsU!ces@zjlxW<4%$HpE-P?AzYpsXXTtk$_4S?( zvIuyL=fZWr@k7XXGK2QGlmO#&kCZaezyo~zaW?|Gj)6ECFLwQ&PrSA4M?yuPzOsD# zRSc6gNH=6cnXoo_GyP-|`bR>lIB_Mn8Gq#=FvzqOb$?;9=ULs7c|Yopi>`brrLaIyZ;GEW{h659D*W9%g@)c9&gR6gd=|M=u5$bgn(r1!#*t$FCM` zP;l>cUs`{!9!;!fEqYUt+I&OzwxBHJ` zfD&asCj%0FBg!>C$7>hgqb74z`B)$k*;CWj->n-8v%a}VbOzxuJ(KJW1kU=Lj~mr4 zp!FWPBmkJ&d9A5o3OPb_5zGn2#>O-3#Ld7I^02e??~M=eL6q7In~q<}_%%|Uvb10> zgb!+*Y?XhH#I1Ge6xoP#{*R7dlYx$IS(bk9d0d7a-~vWdf#1TXUbD6sp|ir%>YJby zEgYzE^u!KS>{*KRhIjPE@M|qW_T=E&xp`w#L{P&#yZ%XO`J0EcO=82q0|2$m{1&+C zSbk6j#0$S?RyFmlRzAZlHVCqHbIL7}6q{W?qpE2F#S44hbN?N)nc8k79~x^&aCK9? zdW>f(A|7&ABv`VO$J6k|t8_v6GbjIS7BWm1OkLJ1ajcVZPBf=W>LJ*ZGVTh*8j{v7 z<~k`C4q?F9R5HiPPf=^Ye1yn4m>v4RGx$3(Nmqf?WM{DZdzwlc-Y0hpCY3Gs3e{wmqJb`Z&UAYz@y5<=4pY1J>@KU5pTG&M=VJNuLt9U? zy8B2>>Q*(&3GZhpGIN^>W@dc6FjZ59W+PxxXuw@9S(}b>4KO?Z-i{&+%fvo9@ z-Y%gY#%cf1r6gnun1y;T;Et9|SqQvYd6Tnn`=YIGf(-Ad7x0!fQmYfUK~jQlFG}}> z5m0-2FZi_H05v4;4vXd3p;Dte7b?_VO{39@HFnB~wR}EL?hr)rE_m_OArB4MbJ)iu zpUui-V^k--1$PJ}x1Tdr9~_!x+Tc5vk_<1ca%QI`)tKVzY4&0vFz;Wi7UVppW-5~) z;$GRbt$fZpyV`C30P$Er^h^nb;ApNEW=vbSILzmpQ1oL#9UKNcS7M zzS1Q5)?_i1UfG-fbOD$_C1VrVuXeIA`Zs-cSSF$XJJ^zj|Ab(}Ur0a0?KwZ`mDRJx zff+V?UB%>Ar0PlYTcsIyYlA5z*uj-m!&;f|aHgg)-SIu=1Vge;s;c4luRgB=?+^NE z>lyx6=}F-Qer@4*RnlSwLn-CPmka_pB586Bc{nBpm3 z4~H10u~TiN3>$Mn`OnY(tAZ%?h}Dfns#HZX8aN}K*gN>T3&&rlp8GV*_vIKbf_(MF zuvyRbEG9}0=?25bc`)(?WA%fs5hTzEJ!9U{K4F?0jV#Aso6P5gM^rMXIGP8~E=vwb z+S6hlSW3<7^5b_0tk1;rj;Ie6vwfVU^H<@l{REzy0Eg%1Rc{hyAxWC+RR80a9tJw1 zOZBc10WT@D*bDgmrDePl3SzJ6lDB_$cr% zs#qvdA>))ZpOKlyigh*eiio&P)gkkk0~`AH0S4rf_PC9v{PB$2<;pdyM9l!+uExvI zZQeq@!Oa=?99ApygzxNBnOcZYr|n*pdPIbE`uFcZkh6SW&L!}(3djznGd^P;{z zFS*2iNr}y)f;7)Prax0@Ci^h_ zp}+QE_VInIL-Fquw|ET8OpYi4#{6%a7w^8G``0E}c8~yHsJyuHQ{ZkX!OUSPno5d@wNx)Lkf?96bf*i6~4uKF(~+nf30NmCT&KQi)OX%0}HWA28Y5 z5-Q+Pc$o>tZ*Vm>a%u~dm>=Td7rHsW<^<;CLb&@RgZ|bacp?tp;dwGK2a2Kv{7pu=wY=jD>DoP?R zg&J6`lja`ektdYpu^sqp_MZD>e|_c1lXkJ%Xk%xWk!<3oonw~Au91%1M-*WN1=evN z5@m&Vv7>0CE}!!#vZ8=w+c4$-B~5?x)#0OfT>tS_J9#5;^rPK$Cvwt2RSFAK5-AFQ zjckkSpep8AD`J7NIr5w?`Ba`bQQrBEjjy2lslgrVbz290MNZ}x$!?nRNTO-i?$^hn zImA!EyU24ppr=d3>3uGxk0q-2M-JlMwOo%CCpH%d;=uzJ~xg`(0H3ZMM&G<=wd=zby=ibsMv`P=Le-AbQuk z>-8=*(AG{aKAo{vy{-QibmwOn2yK@f4Q8r}E60{ir7+$o)5j51S{Az+pSD=JFS0|TErH-$gCW3 zh`oS$Y9KTRIUoy0x1GExy8|mlE6HW=4(yQ6pv6{YFMWQ1H6tN;^x67U{Ia{6zjqtZ zZ#L$?h^*| z1n}ZN>{1sFMK$Z4E7RmC>c-Vw8ySec_11<NAlEExQiB{(RvnxFdP0o2z_4~*^D<9zhhJiC~fKoO= z{`1}F9IJOxU`Y#y$$;5IL3fP=GZizM3md+l{td%Z7fvQ^j{hSqUlb1B}JqjMXDmmo{>8iuv zxlzn_IU2Th`@kfv15QMb4~zT9*4;XWY~>2yv=AV`nFqO}pw7_9D#SSaLE#(pLZzF< z+D#lBiEIAui~_GTV#K-x9tvU9@^?*dUd=GiXH;-~{`0 zg^eECWK%2u&Iddj1fJDSn!d(?0{gaO#Q3&$4st9iUY&tw?(RljbG`+s6t_6u`%^&P zACcZX^Z-qbB8m(|i!<2-Oxg9>S($INxlT~21A;ZQowm11rq#a+DiduR0%XE-t8|2% zV7$=R8|dNcAOy$@Wm`!|~4W0HPgE9y-OJ>Yc$I^g3cm#=w_+{;m* zMRVDTZPcWCPku}C7s)KY&#}`l!;RH%g=ErP!jaw@azt@{P_pj8IKy~CI zUSk4|-{)X?1pM=69=R(V>#A}C2tS-n)+Jy#c&R~hhD0}yYh&X256Wa-MfiF-5DVmB z;ZPHX-heRpayBulgIErav}19iAA2o}Fpk!|Byk}8irqO|sIv?kz59%4m~&BXOiOFc zo9{J=g$6JN^g1yNmSt)v$k&l`xym39x4yn;?!clr-EWZEv!Oj}ALom@^c3wXLF#aq zL!6zE#GtvYu(#NwdZWKN+%k+JDU5z30seAmQ*(x-6D+dr*B1Qv5b`5<3a;MmBHuev%jml z(qWWHPP~qg=Q{NV6LTd2-I6aZaF)$Ketqc4-JG0l#gNw+<^YbXUB+o>ffTsuChc4> zoGIY7kUuEP@c1}CN+t?wzOy=4P~cn^ccLkZ)EVu^_Rw14+A-*ix??y z?vI6OOPFzKFpOd>(9nk$2h@>Bg|0HO?2cVU`ha`$n_FS^iCHXcrd_MO$RIL%`n&skEF7375cgjm90mDf!euly|zSZV^J z(C|=UeyDNSQ$8s~`_}FaPhSa*-9tZlo7lvdFg%)*w(OZKSYxGuWV!P_p7SNThT5)- zoPk9_&9Y*IVs%HIS=a&jGJI!1;EfwBC6I&|bngM@l>PxG6d*~5EO+}h1sPhb_nh_$nGj1m=xk#^ob7)RX@v&YQmcFVbKCPZpFy$fr~jNrc-_;E@XKYeM5~s4m42|#1M5UT1vYMI z|NiqNEeQ|70vl0Dz2`uB>=U|YnQy!{i+&EZs4~PgpQ`t zwOcV}dlqrwp+{IQv2ui=f44_VV#^p~UklpyFOQ=5i-XPAZUYRq==jIyY)To053YbxBk>1k|{0 zV;LK51*<+_d(pRmdwO5$cdEDCqS}I%NFB=XdKmklSXpazl8z659ep)JDgiiUP0k{R zxC-Eo#CDe~Ix7pn$Mt7bx+PzMk<9^;yT?mK=hEW0~CEWw(CC#gmRyG$i ziO61Akk*%I9lnAKIWMVL2;;f2-l*~IV&WtGyBw07;iOb4$6Yih;FbRB=JV~?PQ zha>$?#ZP%W`k|hA#J2EKC2H41c*t4_hxP?K4^87ha*;DK@4DR6_{~S|36i|FcGQqW z$uM}=;xs_`6kqDp9k#U-Qnu4><-$O)zq+*`J#>xVkRmrSU6~oXIr3Y8(}Xdc>7TCH zYoD8m@41X%nerpM73>Zs3YgQ<_E=3tnNc$C6BW+O1!Qmg>rB#W3>%r3w1E2HJ)nC~ zF~>O}34~7^f!%xhEIP&-6D%#$u zcnObLC_AAiy2^s~Z(>Zxq}4h#UR>D|H09B*!A<$MQmo*bM+A*%)M`q^?4%R9)9hTT zJql3pnuJwd&ASe(?DXU4VFU8-knXRhG%KpiR-3%_4X2V(r+44RZCK}MisSbq1qiv( z0f*}~zv`1mPpgO#Wf>_oy!Ty;pWzIyrfRz|VvtoCcagZRt{bBTkGyq@?wc4H^B4d|4uO+QOv?>ituh#QcTM+@^JhPrFKrD{(-zl zU`r0|PC{uKz2&|4g8t@OK+PyTjUlnh-p2*gJ>nPBq5s;00?sPo|>^ zrnVOHm->!67uanqmC7)7`NTcL`QA@M%J=DqKE*+!2DVgN()|33Vc6jyd(RO72E$&< zdvhJ}anj;Mv__xL{z9J9-4|p`sm!kE)<$RE=F$Z8H@^7SQ5MUT5ji$497V^$|9mmL zU&fqCD(#geif2Us<4=b98+O@3nOD`_C#J8}&J8E7nK0}tyy@UjOXkz;_&^+I)X~IH zLt@ANGvbmVFF5_B$XB)fm|Mz!wsS1X=AsAa`3r-$Z9n*lfl}q|3-sx4kgsN>5UxwB zD`kRJkUBkZ+iWiW3%h9-M6ApoftV_}y5Vpa%iLo%#z1-E`U7RZ%vhr3{Tsw#I5DPuU6ALjLDw`?!t7x7ywuS=VEKYW#bD6H1XbU}<(a~ygdF(NvziLMcoD507ROvE18!pqP zKBXk%ojg43x~@CQvAXiC93Gw0aFWD2a?Dyn708%A2Y_KBxuU{J2v&?FqWw~e}&+o z!8QL_WR4#g@P;FJ#L+!!!lU^m`2aZevq<}nGPq!hb!uHZV5P5vTjQt4i{e!HC558O zL^B7{yK8HXkFe@p#Q=J|gGJCifCk-XvCngA)DAYPS6+|V8H>5s!Kqt>?bS?>LDaVy zf8PGA-Qm)_uX?b!HAGD$Fd&Od? zBT>Pgq_w3!9j4o41Ime&r#)rP4SJaR<>y64P(#Ye&m_)7x;-?fXypP*_;%f5nvDts zgX!O$Pw(<56anA$S7IeEBj%;9mJP+7o--OA_CbMf_=1~Uu+f^BINd+m5MQu^SfO(X z8-e`TY~l_sJhoxE{?T#2KR<~pxvt^5HuCqAGLM!q$s$8rs!wfIqe}&%94RLh_MC-- zPa~4@+2}HI7lGH2!}C3y0}q*{pbhG9K#exyhi&EC_BSpQiUqBjoGuP}DKM}8e9_D; z@ZPZtat40xRq#LRnL%!Q_t)sEL4J50IQ#1HTAxzo%Coh%PC}wwu9x0K&66&hQkIKB zwE)kX_7=?Z=q#%)2q%6oJx8=E7vcrN#^C?v13*0bC4tA00x$lE(!1!MP1IHl@ej9p zf7zPaekR;k-VfYyHb3?G`Nj+#{Q06m?w8pOufF%+Nw_llMZmyB#QvbdH@bG-sy|AN zC(%Q#jW2kIsiY=S=Q20DDcMh?P%Tz0B{RC?M~au~(8ovTNYJ-alf=BzaKy&mtB$M~ zi+#25)ps&(sk2MoUfnCj3hpmbtpS{EqjbC?4{iFqist})e@jMneamhQT2kn&e!E5i zkw*Toh*tQ|c5g0d&Td7VuzB7)kbYGK6cOQZ*m#ghY?Y3JG|xMC7t6s3;p1$CMc~xj zs;WaQ2gPeDEIp%{K zbtWQZaWGXUDJE0@E6H96Rj}kc^onP=6emg?G$)AtX%M*jp(aP3Cj2`zaJw0Ij6e3; z1M>R8*YcepHE%hjjN{6l=-?st57{dtBz8%=c1P%17yD4eBDspS?~lg~ve#X_wW0LoJJ_-Uj2W)M1#48i75`UHHy~G`D3B>*jq^K_!vaEO-Pv*MVQ8 ztNmNQAh15!=?lgP&L2g3Mr`EDjsGA<8t|%*HWP`PHt4D-(D(Is>gWsB3#+sq79bRL zC%oJm0lvmELLMhRDYso@$4Iegj0@!S3yZ7A2Lb=nAFo749n`(_$5u=SY79#bfxAU_ zWRVXYNQ2VN2Q@*=ByPsJrp<#7A~kQyA_D;Q0V73sL$&mGuh-G8*M=)cr$2Xr(n*J9 zHas^jD9rY6Zd?v!v2!5dN?RRk{Mg~jrVKqWXDS^*ndJ|GPoj+&@r&wr=hlu#f#01? z;5(==9?f%Av;8#zb)}e;^td(T<1070D^Da1`?6#3=mxz_9dh-UPs%G&no-vzadwf< zgz}9O^(}@0|0F$pzo+1IzN!!XG2ugJi6UWe;v}fIfD9p~T+#^Xnt`|dQ?6Wosyf!> z79+9mcam_Q@&`B0YOlh!_3%zVKgo)J%8Ts9SqDHNz4_ket&~KO9ycK+^p)6W-cA7D zm#Y&BX8~LXwIF^HmQTu^ky|YAUHo6Ca?u?$)WZ?f9p9ia9D?Q_jg=k_pXSr!aOJ(- z9{QBU{;Kf!5hufGxn5^>&hM^^|M;)^7%bxb=+|d-VQS4TQi4?xSS?Y3WNDPWSjS*R zuqIVeE>gE8b8+aaV$f^FP0#v=)SVQdAo{T%yw1dEH?K!scpl)I|&DnWyxM%b;8=H56?tnbIWI`;Q06k-Obvji6MMQp5{bc_Wt<( zCb7+Fc5G0HIFO)d#a>xOF~9+I`kt?JU_a)bq3zc4^Jy64?yjOjmRyU_HMjda5VM^8 zB=FLzvFwGka#+Gqd+TiPlj2g!Pv6Edl}pmXe~J76JmwGy($B0y?|_!O4#&0)9cV zRQ@D~@EVyo+6(`M;i_ohfq;Pd;lD2;LUt}Oyb;Y)NmU;0FA^d)@w=?`Kr;k{j|fU~ z(mKAd6Yx^{F$=a_jp=Q#NnrcKhK{Y@kB?I3x$Rqpk9hzxUS@ReC>uoh82|TA8xDZr zi}YP03qmovDp4Vil-(2jev6LO0ZR(>Hzil?+blvVYMzRHwxtk40pCCUXw))9Cagfx z;*CHg_%&)KS_4^w)VD(p)0LDMUEpmfu0&bxi`)dV$q%5>WaQK~AYr&yk|h^a1N7G- z?q(O-3Rvc$0OQ<+wewAePIAy^etu0P;YWakGIGHnWFH@2zs$fXQV!Z12!HZ|lNvqo zyxEk5)8-2Me>6}D!BRvrv30(H)ZzVbgf!GV>Zz;E{1^@7a=w2|3MnUMMUT__kq7`} zoMii<;8IVyFIyNAp;H~b*grUhwlEkzLceta5m>NBhwTvyQ4xFvifzt=j~O5F5fDaI z?a2Vk8)#a{2x8Gw!O5u+8px;S0759Pp|qrS2i-n)I@%8eg-&551PJ0}QZQ03s;gLE z3Wn;RyfPys9nw35vJZu*@Trm%ze(}Q@Y3tzra#!Mvr9oj{S`3N!Zt|NO;io; zjBwC%)G^@HA)(lKC;1xw${ZDTDfJ8lONA+i*ArLPQlAi-MfUa|qp=Slq;_5G?9*w8 z&j>2p?ce4`9j|Pp1QEuW0i*R*Y_)n*%*MhaBJUB&3^D6B@Sd>@Ep70 z_>0{+c|rh8nucl)-NPN&u|$-?0w8n2%+)X%omqN^)y@d>;aZ@gX20VIW(eUv@tv>3 zG7ia2i2v`YgMoHy`E;TBp}~YE*YkD1rAQ4~2qN)`;TuT!VnB-ob93VevR2R4A3}ck z3^`>+@DvxtGW-lF(B-Zpc>dE~hUne3u~|{ga8fvXcjMDp=ce-S;O%;yS&+jwVNUhRpRU9tfMYBN#Aj|O;N58 zsrM#enDg@?e8GusA`perxoc+joobdKhHpctso04C%814g?KA#>$L3wE`{#0^ z9b+!i|0I+Dampb|!Evp!cTc-^9XrFCot6a&F5Lrkr_>{6(rb+P6q`oAwU;~s(3QUq zsjo!wH^POc-IV4v@S)?c5n>%J&R|tu_)uRM@eFt0wQh{w?uH!wvx?8y4RjYbBJ#vR zpq#KbP-!z<%4>nAzpbvU3@r;3^1IC8_n#Wgsp$0uz=Pu!y4lqwPNnuLB**gfioAH}fiy^LPxukl=Pd8eaNFeIU=o zglFS$D%vavC0CsZ>*GwwUJae}yD@ZITa~<%rw^bhm0E&ELO2r*z~i|&>3%}u${80| zhI(SJK@ZQu%W|Xw2$0Y^YABIt+u8QM9O##i%^d^-u4tnlr{;Sz2Ih`qOQ*hG_b*gL zc)M=~;={pfz}{eu>x1-ZU%y17n1yh)e07?$o&EI^+yiFH7wrT!F9NYgC^@@b@xbah zz8&C2q*T;hJ81H%4UooO_{W+Yh_iHbjcX2&O^gih5;h5)Dz0kS;cD^KGLE`&yb`5k>2RUVv|1~mswTA$JoVn8 zoR15$P-$63Z|2^sfudw~oWh_1{R`lcIJ&gq+X!Kn_qluMdosb*`Cs-qfid;+SZSz~ zd!Bi_mDO<{Vbfz!M?qk#C)ZmY(zeJ+s1{ZY7Gdvk>nvp=R5E5&Rtz_sG!@mEe{+tW z8JYD!fXR8$W)rB!+5r()I_dpX{Fe`IBk%K@T91G`zJx>ImEK9(Gh$RY?y7=_x?J)|^K+%xz>F?koL(t4nR%oh7T`&Nbp2%Q9aa zWA(K85u0Cp8X$A*YE%q&)ns)(ZxjM^rU&$_-8GWY1}jIM?2v@l15M3HOTd#BD_oK< zIsyz2nVnk)$s0Gy_nYBtdJ9(;)IxcGw}Ps%Lu+bAFdWMg6^51F918g+vy@-#RsXaV zNG|hPP^7y(7gyZIYr6;T-KvD6=SFN{pejO}j+l83Ot0P@46J<5RMf6UNke@Q1;boi zFBXq%(~aLCamigCY9AhnerLS6L4?Z&-HDaK{~%AIv+Iw$qY2W#(Id5Ta8oQ8jzY-A zChd8fzh&GdA*8b4QpJu@QsiR=ts(AaO;QMqKDs* zDW!h76yX6U!4AW8dO>=|Q$Gw01=<)=guFPyzL&CIyWp4LdCVvKw-tg-ckSa<9W?oy z>Onu1HyODEGpT*^CP=)#tK|qOnAEvL0@ZNG0!;*4MNj!OtIo%m;9x6GT(jQC^r}0t zrvbA8zcrf8L)@Lt8?hhC|GLN6nN_RK@rb$+pAmBL42Q`ZU%-)1@M;cs*V2!(dA07} z`^~h8!*E1zZS$+KNoZ+sHHsc7@A3cfUiP9I502{1eS^DqypJoNeiv+_OO7ucll=xZ zkm```%h+cpZZ_pNw&WP9xj@Qh<{zOs;3z+D+Z;as+3b5^7?A?rB}NV!rsj?iC^W}GnpnN`<~DbB-yN zL8S#%`xTcNxgM@Ums)X6OZclvO&*!f*CR!g0_d3)^n0TQH%4W%Mvai-_o#sTp&xH# z*xzZ&z1i-dnYBf`L`Y1wk1Q2c?;_J;28$CVI?)GA0b3Qh{wb7S5TL%p03eTV1u7%t zr(#gm;pp}U;MqaDWkmOM-OoAB;+Vpjr9tL&#aK(j7Nu$B;VQ0HrV%!hCO#c~-05U3 zd~Y(9bG}X*vauX57KNESv*Sh`U|I-|Hz`;Dp5ig%Al)8@ew!kUe6afu>Nr~JIf8`P zjSYJBd7-n_N{Snm(pCt6z%5uex#1penjnNO6y+z5)%FqeidedZs~z=k<>}hULYTgWn7IG`9TVp1QVMjvel+OmZG zkB8J#@5~O$zmy~{SLhS6oIDaA3neJ`mMFhxId0Q0BEap4`~2op>jy9@B&eN%jHl9$ z#F4#a`{=hlJ()r+c;Y44(kU+`P63~vd;+cncB9P79mJdIkNc5Vh-q{g!UG)|AhS(R zg|VjE*GQTO*H#;}GTvbz2L#=u>Qm(t2#ykRWtWJ&>!ln;#s0-=X5ulS(xCMbdkWz( zkD(KxqTwJwQ16U|lT<@}=Q)+GD^+38FGWZ#Xt?dqrINGYav4M(>C~L#1gLP-oFXgU zs&Jr~O!@P^w(M8YWt7De7wY#xZAGYQZJA>(H8YD=UE-L5;4&L4Faq$XrGU9gLerv7 zC$!zwTRJ_&4J&GQkSUi2Q7PIlJ9q!W(tYIVKdhmKhN$WW9eE1z`EnUDjq$*Z<7O46 z`pMrdgpdVQP227SHxT`!F`*%kwQ0)rEWyOm`!-k7JHGhzc!M)vJ*g>Ol%&XDwxsK3 zR>Pk3K#7zUb=}n*R#H#24;fZzi<#}_;n!76`uKXCr!n%~rPL~;#1{Hbv#ufUqM?epX?bku~OBMS*4D<<)_r0?{%*JPq!NDlWT zrDvfPx^sh#B2Q;1YsC?|N@#-CE2hY;4Ids%y0t*I-E_BER?B6tZyh~FM{c5Lo5^e= z0Rc3H1lOKU$NP?<7)~ut#AABS*3dz&LR(zL`Dkdf4C-DFC45r>txLA&5IF%jKqsO{ zP9he6ls6jPbqCR4jlh?eHzgCAT&_tqmA_!6Rx6dgew zes)Xb_ZH*K5*f*qWP#l)mNmS;r_GXdLNguV-SLSd`0E>-FtgNmz4DNcC85U|4Gh$8 zYH)vB^&`D|9<~3$Rg8*es`jz|U0hA?t)$tFm3O^N(7cSn_~=icioAMG`fJMnzhtVi zDR+gB;({yl^|c!M4^l!EEJqN$(2JU?&ueA$9hv5N5_d-`SJ`P%H? zlp<}$Q^-27(YLB=n2Gm`pnhxxlJ#SIFWrraQ7<|en-&@$0YelZfV|jgoPS7R$4b93 zILO!`RZX2jbHu(>B-y*Q6SMeDI4R4?25F7lUfUn&$*l2gZJh_hj9LN3y!oX}9a(WZ zB$}XTI&a4-{j>K8!_0I>6e=Sv*?VW;?W6On>T9q3o&++DR~%tBY`JC&!Iibp#s`?N z=GLhWN*T#NdipG0==NwI@`qAH*N?90te36K!L<&i!yT93AM7e-2eh}d+uz<$x^QrA zU4;3cd>Kx2oxxC(N)yhn7~{;*iu7`WFnXwka! zhi!fxmR+G9k@hyYGPdOeXt(|vz%PW_aT{*y4QFkFMTJk}Xtzf|nt;p2R4w0-7*aHb zxG7{d9N+hb4N1ACLSPBf#uVBcN37yiH#9JHO!f;8tS2af2bP@8Xf%dQ`(^qx*}ji% zWr5W|ab$%(C!eFkgkC$O z41zzTM5ZmY^d`hrcK_j4)PY5cg41i4|M~-XaytCBA=Yb~(y$m$vz^#MSufo5BVDXF zjuYSMMGp`(Kr>3vJM?Z{RADT=PA7ds<3ct$ZIP3uIKqkEjdHpB4)-N8b`ymD>Ng%B zabhRfaYVeUaDel})vxc43Lg#@{uOqmSkIU%#P^w_Dtz#AReM^=^{jGCk;6R7r7*CP z@46C)P_Jo*q^imp1rpug_MPP6mA~Z6 zq(MH4(798#YGMDlXF6{)$Sid-l)F$Z&%LfuqOR+$2QK$;$)~0fK@RTRDX1ynV}DJ?x83^ zEt!`XK}kC;@|Y!bV7JI{%}N_Rm9lc!=hK0i#Lbt?0k&%94ii)@X=TO#P~>M{Cy1(~ zKKQ>c^m6!klB9p_7dqXnMq(H?Wa-CFy8JCah(H(JCw5Dix%m0PBZB##`K8oNzUR?Q zOzkc}vnf z(onP!7Zj=wbi_Drs&gex*wZg-y5v)y_NiRH5IGDE&FEwhb*JPnzG20jW9&;7cz>-# zA}SAA?X%|>_)z&7x{9@ek!cav66YmRjMqR5d=!&$nvjCCb}hX0z^u8xtTtdKWwwc< z)^1dtvd?}fd#cB0klaw29Mh79%BdFCT#Af@Qj;&|=<&vBVZqf``A9u27>CSz;O`By`R6(s>A zV=Iw1=OV-eSrrm%{1ORMwMr_#cBs!OtRC^>7^mBHGFiR&dgYFsSUUxW>M(x?4_;oI zdAMe`E*s!#YjNw_)r+|b7H2({Ls51XA(M{`*S%>9NwU8}I7O0R><%`nc5O-B$g0h> zDiS}6rawYa^JgX+os;ZeCEAzsTb|GQjAsAz`e>dJNgPG(A7`?$)SwmXI?D-~nUjqv zY1>f}k(@jcw0lNEx=~fxnKnn>d^2K~i2=Wrr&|^-c(TB&v9y#M$^P?lr>THH&Z=8C zesXFfqHA~jV{ekl!BAf-0HSBSN8h|hR&U5+_pUh2m@*YRma3_VVc{~po6G=EwFjm7 z69iX=Vc*sfR4${#U4uBFrJtzwfh1Vqrt639-t=#Y_2JglKVPJ!xQ+F=GIsf_aP!|A zh)e2{jW1Om5dUxP#GSXF^5)(zc6~> zrsP%X8R0ZWCePz4Q?IFNaU}so(w`}gYIYca7?X8#ao$&yA1;NuiOy{*@&J?pNDjB> ztK%@qJm0yk{Z3#thrI^TQ7RR(nitHm@}gHND!oi%{hx5E!WL+v6yR ztL>>3NsC|z>!9d-k>pMq(ak%LI1c@d+cm02GF6U(kd|%()p)IROC7&4`6N8;Wnvzm zCXvc07B2oW7oIhBOu+8Nu5GrA&ToEt<#g8|KL3xxgQGh}N2A))R1D8Sp-7@qwEui5 zKSCu{N30}b%dbpl5$%4eg<%FN*yv;gF3mZ({470^DWL;pCYzI0bu8LG1CH_NV1#e7P^_n(30#HC4LJKNOD|-MM&nYXr zn!aC1^9XJauhLC!etdazmuF+|GNMdeLZ1l_h|)93Z1yfvKoRZ4>w35VJNQ9mY}#Al z+01RV4K);U6md0A@eCt&bQMuZAyH!g=q*Q30`U~5vsPxEqG`mo-)*`aww zMh$q7CH(|6UyExOFCHuG)pUI|xL`LQn_MmKSbf&5q^db9W6{6YQw+K0ab^PAzZ;ra zbTh&J1n~O{6Ik%D{|DpI<{Sqe$Jeh-KF{3;P=wK2jn4k`+VfiUTfawAJm~N5d4gg_ z13wTPycp?--=3TQo*n2m9E z%v$k8({Z6p-7y94R>7Kmb_v21Ane>u9((nAzw9GvCvEW910G()Uh;t=VL6LY0zbYx zwbuT;F>{W+{j~6h_dpk02R374Si*CKt6I8B2NOp5+&y8?Gk237E794cvEckgym)$d z&cXXAWjwAWK87za&VZw(T*>=|X*OgkcIrkLe}=LRDQI5RP6k8;(ZT6cjn!v=H+-~u zgcOG4P{#3qKg@e<_$05M@yw&dj~%v&a#Uuz^CKz5(jRXe9(RU(0>(< z6Z9F9t2ysAZ=aE|b{I@0pM*{@LEhUm1>$hZx5TOvp7L;4Mg{w2t zN<5lVZk|h9h)Xab!)~#LdVrC&-)lde2tMFv^)OCR#%*D!ty*{ANY&UKem!?N!Oo)n z+1IT};?BUlL@K&L7jiYpsAtGGrm+qvwW6_Eo-pTQ8e5}g*`1q5kFAN1m}i;#$~|M} z;=*T{V%Y(^Zv*;NrHVC54jGznVJ!nI{Ew>K@Sd= z6GWb|u60m2Fg7}4iu4?sS!&v?Oy*v~)ALXJpy_UAfItRf(kYlt687mBX6hj~8N!>* zhJ2%v$_qOqY{u2b9hd3SpC<6++a^u5JtRD`@zJ4}%aY*>D|S}#n;BA#bdjl!k5JI8 zGF@$n*S>$JPie`3HFWuPqU3Iqwj0tOqbITub7oyNz|(wI&MeS#w#ekbPSrTyb?iOD zQW^)iB+YKVaZ7rU{#&($KF14lPG%t1!V<^qT~3}iD^E+77g`8)dt4GA%7pCOFo;&n;pQlGdB>UmnGK8N#jpDWZa-SaP<>$l%{Ke! zYQVDkemQB*Q19A3zrDrV@=Z9`zs-}=r6~-XA*rlZNko}lHm5T!i=;5*6m-)5kl5k4 zv+X(`Xh*SoSUlZhSjrw0wt<~ypQGd}&XQJ?X=a;t(~8=#@DXo`kg@p8ki^0#hPrs# zR>xr#n`p(O_lrUc`qlW)j;d}wY>t)QKe|XR2HHflca7@^zk~47=2fe(mXG}_{DYb0 zYmpI%-WaHsLq`HZ7U==A3FAwWT-G{<6S!^pK(eB#WU3`~vu`J{)B1d>nFmzG-!KaW z?5{F*Yr`bq$4&K8dDfO7@n*JfF=X$P{p|$7rSnhx&dmg>bgvv6nQ7{gXK|U1@SG#3 zTRN`eb*F28@3`6GYYqu}?wC4<$w1Z90p?=}0i|)=hh5T)gzlWS4vOw8gMWvG<$TtL z-$*-ne`M#&84(&>H7lu#(yg;-GR77W&WAp{<5hq($FwAKHA4(fY71}ADwBP&b(Chj#Sibmq>Hy=#izduv5QhY*r2bjqU4}k)np>m_D|sucy42ja z?8zr>e+IJGDPNTTtp&J#`I9xhJyF&L8>uR`slkV?v9G=bAoqYd$5?*#J?06?Fh_fv z=kN>yk9^Z3w~bHD?#X*b<8fX3F20CPiww7*ijWjL{gftLQfIn5YKd7(YZ}Y7sF6D} zqpx2%)e+RPG|+%`8UAZSW%<-3#BErHU9&ujGIL4)s{`oT(=e|^a@=%s6NoX;zWT@c zlMgvFVs>->mVw^2h-uNB&}14bif)r}PBGXq)P+;lL9I6XN{VE~twT;P-fhT1=s`;dUL^ zuP#XMJDv8W|8@H{)An2qa*B)xX#|>OdCy}LG=AjXn?3r87)f!n^M+j)^eEn<+^up% zSf#&=!bunh=zJ5Q`_v)_lw~9c!L(o5`<@JSp2!LBiK(Sij!e5>%}=L${V)qTY}YAWNMGe5XR1K%bfw7VMwVIzqKZ@seXi}8 zlzgB2ooeQX{`0Q> zOO-!pO)j8-$tC&2_NgD$mDPGjSZ$QB4P>m_hz{~=|6AH>qO^H={Y=ORg`j0uki|Ks zjI*1#tPQX;Q3so^p7f56jv&0GL_V{D3N9vf$iX6mo5a@QL4-0ZrUA;>cktbGp);#a z_I|L9G2s|z+R&CYl8zz9ROBr*@_E$jC@|ie%lyC^$tz_=P>t$fOy%El($$rnY^^!` zgiQg}D&Y5bDN05^vezE39C2hyz7kKW*IE0pZlDWrG(#?jdizGlHP@*)qIWjHMoxoX zstOuq3lCgq@j0oD|u z{A3VY+j{^RjAVk4s8S9%=dN3Rcv^!dH)b&R2k$0Z$7qIJqiKS_?VnOyCtvo*z;B1w zgAy?s_ov0Xi!a#B0~~hCC5PTQCHA1;)59%?arG8=mSx52$P>C=l$evEX@?5axwUTt z)IYx)0`WWQeg!U7*_B zr$45LvvtqXm9%6+x^)c=Y=4SKRK*;~fGC(xylx=A$~!6zYQ5r|A(q#_y7WKEF<}ig zRgqLv+6D#~;4O#r7sSkVWV;RL!6?QPthSv&LdFu1);;{R8~!}I8Y#>p_7lT$r3c^9 zNbW* zl6Cs0h>@sen?|-MB>JA?&uK#H*ku>|Z0>_{ePTqWpzX7#t+ms^(Yh6_WrS0H%$RXM z;93av29WvVI2{eCohkRY_EfisYqei(@F}%qm4r-}o~;!u_*6%2n1;4P8Pu;DCpy^- z?!j^CTVmsG!Af12AMxs-x8K|jxEA`f1}$H8SI<^RCz$1evbKYQEXy9)|a+o+&nEI1m%0_0DCSPI*W(`iqk2sl(QmiR(TTIHH(jJ|117 z$Vxj)%39qi5vE=MEn{8m`P$2o_bKdVmbNA<-jo00Y4||wC9=gm45oM&Xw=;mvuxaJ zIFr^Dp{Ym!Agf+|+ahsIGrHiXptN67lSKqO$!_)Teu)L1dlwo@v`Qle-DY_8O|uFq ze2MV3{if}ereDa1hVH)j%dOi{*}t)rVBS@-F`KoQT=3YbYtObTAOm#s9W6j`~ zb9BjF=x)|<)m;>H%oN&43)6aSaFXEUTkKKwFXtPyFN89R=5ZK)X16DgeDgJeQiGho zLo6@k{J#7*Mu1hlvNnhE0zE3KU7vjg7&}*h=57DcFJvl!a!zKdUY{3@q0NfcIfPYY zq-=)r8*&mnheZsDKm0YeAfnU+Xv%UrlJ?wsH1M;9@J)#K1U<@p*7#wYV(w>d`A1M+ zd0+R3Rh)|~sg1`HwbtZU-m8w@yn!|Q37YV0V>2#Nma%xC>5#+40%|Y$&lt zME@+CL$KQY?Ct`FMH00#gZ5YPrUm5%bwB{8}xUlZOKtfJjznYkX~&f zUw?NQ&H>77E;Ly7CU)_;-_lBhJ{&IAleo=T6p__brcQiqK#;F4b^9rNeC#W3iNZaWbZOb) z&7}auOf{VgRz;YM7t)iK~j*dOC<>i+41|CZG zHd_U-a+kbvI^97?v1t%f4ifVfD!)fP zyG`p7(pXcwuBhaY6ZjM%Oed^HWxAI4Q=a9A0mKHIl)ZK+^s_J%pmn3*Q2i9)kU3Ve z3|Tx~i;w7z@wMz%Hk(Tt)l6ualU9~ogFN|!T0+?wNrs$u`MSL3Nsn6>VR9&oe9eMg z592tQ_>K-PL);5f$3!|4d^&!}XGfhM3_HBagMQlRbC9eoZ2tV6oDkhm*VUy|XGakj^KqD#ON>=SWf^%b zqpxId?q@Fey^(yWjZWN>cE_}x#p(eZMb!^{Y#Tk-Lj@RowJD+sJrt!~D*lziL*5{V z1?^4H$hg$((4^{`@tDM{*i!bme9y_U+?uAq_nr*wt{kc4AlYA@#8Tp_pFmTH&-EUG z6V9tv%K)$X99w`R5vWv290xFhIe}LLYz;@zf~Tz`Ea)VyB;uG^D1Gn6db@>NDNB-Kbu`#(|I+fm$ovN**#ag-^rlrBhSV(h<*()_V+Nq*C zz%d)WLAB8uiB1i7SwQfyxekA7F}J;BoNJtH0vMaZo~@^R%ghGHwI86`z?Kr4k+?Xn zSp`rM9$26#p^VP}#;lq{nuoqR3JEH|^*^m{|M#pGNG=$Yy_&zVuMHVOTzXKuaF?{I zpuoe7I9tXnxa1R-f{5!wqD}vlgs4U6=fbF$g(5uL5Zf2$!CePWlu6!`kh#YoZXE}Q zw}7U_ukoJ^CnTIV|9Ssysb|1iy4iE4Fn)G$0g1}HfIr0Nm%h<}b?4gV$~Ta-%{o;k zY8lc&f~PpPO}*}bpu_KR`R&Z!Fw9ZNTt#vqRiJ8;O_|nb5B7WJthv!4!-tEgw?|i4 zWfg2jJQfWt&Gi;oX*YCP0+v5t8Niw+;cKfSE{@UKL5l%H8^^3tkX0+mkcVnT>hMK< z&h}+_z}?~;mkijjOL_jl3C}&ANun9VpP(E%&Qh~oImDf__DFxtOOqiv#45S^ujxJ{ za`*1QEw^t?yI!1p!ianV`@E5SRlXrj>ak>nli>b~VtY*1rtkQ#*ZF^>gA(65*(0b= z=j;2fu^n$KMI0xwiLn4=t6<2&wVGFxo079J8H0m0O%*16^_eJFb;61ABsTfPlGsFE zlF9^?!{R?sEOM5Ft-oKG?vZJ$%HhqRv`?=#YV&b&1tL5RwE;aGOA%b0zh+-^IAs!^ zu2}s^y+qybIUvJY@nj0}yZ7{dR9fJ(}Z_il!qD zdCO4hzR8*mmJOX%H(1&_EA2}{otv{u4mDixhx_XI!)dk4p%y&s;zydzjANAX#Us|) zC3cWzcDwWge&)OJo#LY9uuMH`-6XMsFUi2L>U00?de>Xf|k)Pat}Fk5H#QF)n;Yx^NUq2Ha2VDW&onXIX`g zcpfO!Mr0>;SCoCH)r%9DLsFCSDwwvNu}kZyNVHZ2j zq{(mihU`&-ZCA)UH8r+_3+DGA(7o5Qri~fJ_^qW3@;>x3Ipa%ISM9t+NcE`$<i9N#`JiP;C*SgW3v%+=W_42r zxHqN9yQR? zJ#AOm?0h=ukVCFdaxxB?xNc-Zh=Ue9PUeR7AKhC%6Td#?C@S&OS6!EJ{r)Tlxq&@o z{Fs>3Xd@;`*bBBeAAx5K zHh=w1arELE2m;kGMSrw{>Cd?u<^QjdTYpf0lqi^RBhp`KMs8gwniTS1ai8XOSF^xKgo-Xf<~6v<7IM zhvA(;?%Q}16Sl7f_wJcj0#&md)eJ|^ou1|=1B}&DMbkYBrK{7{F#Cdr{7X;-Kkan3 zf1&ruib!QqgBsHbGLw^aR3YGTVyShdeYG!RrbTn(&};A6NT^51IIF|a;KW%vsa$lm3`DINTARDdUaaK~9!JWef|Bi1Bd{mf$P-44Ua7$ z6LG>dK5HJ96f<&=AcaVyZvBzIq(7K)drF?*sr12O77ISO6vB;K*Vfh!Xv-*o9@zb8 z&5?x;BPo51gXd2=NJlFYr+WAq65G9OzTbl^oD>;D4i2)bZZ5CB0!tz+WI(R4Wr-37 zG}NPH#450033JGJl}MI6M$Nq&MMU(L--lAMKC$Ub&Gl?YTEzn?^dXGFP5#a6U%@Dl z(5$6mFFKqa87bJYhpI-&isPL-U9*{CN|1us?E=?p#MV9EP?LA%4o!CNL{MH+JGkb+ z`KzRDBGGnZ!5(X~^^ytSl$#Hlx6<6$1jw1agd?10OfVDQx*$r5f{bR8wy|P%Uy84`gu) zOZ*db&D0vJ++awD$bzDw-R5^Xj@U12f{dPA|FT_9{#iYJe^!>f=D%!u^rZ_B6p(av z&66seJXm1K_Wf-$Hq+sEHL(GRhAwVe9y}bfK6lh_Kg)QIuv5U_9$Dj}^vso1ek>;7 z017QyHLwV+qZ4RJ0R6C=r+bf71)}}ij(jH=R6O*)b zU7|``i<|5A_cic5i9So^^n3{GU%1}>I!~0=qycwF+8_`j{<1ygJmgs;1>Yh6;iqUh z-{qreEOHV|_^<-0##SteelJWPAx(hbUGm?O32c`k@0mI^t7JYgre_v~6-m8ZTJC*j z-Bop*D3h25Wca2ciDyhinqbv#Dv($!1{(y6r2st!6%Ew+MVV^xTZMbVASzy0P zQS5|J2+u5Bm+56<4SCoO@$T3fsI$Y2`CnPH$xZs=J%BA@ll%SxM7o^d*ROxuh_Kj8 z)8PirmdhYqIYP3x>%inx{{w@#Cb!_M40^P6SA>;TiqSGeQwRkyvwx5*{)CT4V!lU- zveg)ErEkzI+bn-mM3nkkyUIq ze-Okyb^E*uMLMn@(d{(KVz`KrmI0|-3Jn3ZIa#46Eg3CHx^hG1ZwEKrJ*7JA*BuQ5 zntCh~h4KWqQCf(t9Csf zr!K33a}wn`){p~eA8p8we-MO(v(3A#if|LjQ+UCOSB@SLa-Ml`if9$#w7vo~=GdUp z*7fcl=Lm8`yxBb62pb0!Yh&6b@Ylv)s`svcR~b&=wS9ENySj*74vE~KJ9St_KH^H7 zSJJ3suF@XG1%yq+2-Qq|f4!4Swu#k%?e2P#LF7fte%)RVZQ33M5iD8y#t8ev19HwU zyMw;Zv$&rG)632;%9C(s70J&6o;iZe&d5G>iT)N4!-Q*b-Gl=L4fm%ldmYAmp;@OK z1&8Yt{2&9EJgi85L*QL-5Kl-Z70U^z-(`Q@4PGp%;q+i>&z9#&ndil9wqzW?lZGDJ zNP_?oA6+-@Oiq~aE4ad*NJ0PH__LYqb@@R@mR{x4d&d}2d2@K-F=KlUc!fx?ZhW_X z&Nq9xv28`j;i4X5$1hZpNFf8lDdH7=_~e1rz2rom#neUV^H`y6H}}US+$(~o3r|}G zcj!_YaOwU|FrEpB&P#WCfeu2%J!i}vFq}H`$ zqw*tVMIXs8hYsTkpp?zq4IS1mqx?li-J9&SGJY2(L#N2(1ZaM=Tg}EwY{PD#@BEbt zNCIl=VmbT4u0N0N!^YhTV{YESV^ZR1RWrO>i)ZRQxy0=Fj0Dm5Mm->Eec=-cL{dXK z)+T$8VXuFPt6B-43(sCT*cT7}LOAkLVnwsl#7D#nu-Z1o&^S2>9LJ|17@gGk%|kaDH&&e`s?xfhaat>^#03LT+W}HEe#4d3p}X}^%hz8 z%eU{x(*&hhI?Yjgyi;#%y3k+@?vTrvG$k+a@Fe^K$WbX>T}Z&@8M_7eYWB86iwmY! z$3i%6%U5V8xa4$5`v*177k*zH>eTm_@rJQXM3)CQNfN62aGKP*n)4;J#I1e5tdl%}OinSK|nS$HFTBfxlNAoz6#%3eVCpG?ET=$`6g#!GcBycw^BB77-DKfcl{r30u@(;Uw zuvXcW+@I`U-S4?bQ*X$_4NX4ZSS5JQzfX`&@x*155BgwHPwbvlMZpoJ%#u@R^8=Je zCnP+HFmzd1TXr;^D(JsGcqP@Pi+XG&FYc$iD3;Um9ulNN=-wabUz@X#4MAvN%5VK-18$=)`B%b7 zl^!Vv^1O#ouuA^yGXZiS%}epyJYfXLu_}WVcG~^X<))tZ0Q?=jVAM8E(M;Gs5g%!( z5^2!H%}!Vjs5{|K=ab_ppYv+4%%sjg?@`^Yf=* zea5pV2cIi$NhU0{DhF!*R@z{Y(_hLH|c13mR_JRt+-|7}1G&+&^H)^3AZ_%w z<_juwWCRX3HBGw)+7_g*(((K?#BlGMqcLj#?b5D|OG0)+YxgTlN=`YS${-BS*@wcy z%R32JR=RFk>+eUh1vliCs9L);6P#71xb)dZwFZ*bkvH%d_{p+$Hr+tV%*$0U5oSmS zfVE(#xn+}93ws&hGv85dm2%HO z-&BQ8T&ddiO@O1H@9591?tY(zTz~%JfjP5ahyV9S)`V7asOvawM-bM`V)kwuI~r@) zbWg_kkJ(h9l|f9JH0V94uL#7#NHBCKw83*%qyeu(VvRRIkduv%*N}L9@k`P+=wUPj zHQseqJ{7ozkSvThwMz+VG-xR`V%F+okJ^N&Rik3GQHmP1 zX&-yfAcz&KL{P0=Dr$vLNvTm%X;tmb_x}71-(T#T@Ap)_I||Et zW>R;3Xs4WiY%)-22CD9((fEm+J!u_H^Pk~~Xn4++<7?ArT!{^nhCe!WKvH+I=ur7E zJ9cir8BeaEv%Mtv*`Cm5?;FUDHU+`Ey|wsBTqcj1gDPzJFo-VV z<#J$&>G1JCF?+8&)$XjdU}S67GUKm>R}z8!Y4dVkJNxsjZUR>$=$lQY{JehYb6uW0 z8xnPJE#-`6@p^nTU;Q@kYRtX*uoti+h}h6QAQbB4cyzVw!v^BMYH;!zwf{gDuheWy z++<{hr?Re=5<=X9>dPGmlrT)_eMiAGaqrhkj;*3%>;w;txiK>klZ*$`S;)4|rr#gI zDe4WmzmT`K6qA`^h9AP6R#t3DMv36)B0lihvPnZRuf4Fjg->$K@E*|Qe!x?Zb@0MY z)kde=*IiR$PPJ1zELc;L$OK$b3xH$#&*|^3<%_G3r823_VN3W(>T}}T=LNX#=C5y8 zjyQ{}zW4U}>`=!Jj*tI126tJ?C|QB-toNIUa%8|SELmb(Yi_#QaZ1XQi2#Mx->o3M zW@djs?sE#E-RZdC=pQ||1w=QC?Ta<{-Fd>S}JGO38r|@JXhd5K{FXlCZy8pCuc0GdOjlYuvnV-l#sRZ<3NKEyq zKu^jDO^Q|^&!250lSH_aRn8&#Ym;uYmZ}y9;agIAzxpsr#3o2~ zf7v^lHZnk=9Ml&ML@6L=J$eNmv`@2-czKG7%9z8ev4`B7(i=8F@4C1of6;aYA*FCz zuG#XN*WpZZh%GM=6$X=ucdn^~d_*nHc0YBL3AtYub8!p76mh}jO*LaI^{dK;@6j_z zKA-7CZisJ$Gp&m{78bwmIt^+y9PuV&V9FoX19AR^QZoQet37JPG(rDtiI2>5)t{ zSG~>r-}hHFIDWX|gJOyotJCGI@f53w)#FD#0H{0aAMS0Hkt^6(+kNn%#O%(`fARfY zvwK;1U0O4cSMUJkbY6#s-+c}~{p=*Iz5*erR#U4;#29S|J>VNp-Boo6Ga@TU?fv2O zuM4hq>JHM!FBInin;<=FjneX-^lL#@qlEBGi94=lDfsne@uJ=c`+yyLP5hUazv12; ziUXz+Bdi2ALmG#C@Ha_KsXVACm#CzS@(c*41sq_(hxXBFH%+y7=TzQq_-q`7^ZunR z0lTj;@Z6wa5o!GgN#>X6FD|z)G-PS`I|T4eKdeYDHX0dwcQTH4ms<_fxD^lBezEuV z9W2U zT+l26V@TdmKgR57fCQGr;Zw|28r{_jb zWWvP&V&A=?DJOBYU1d~N8Ci5#l_3Z)SOvqf4 zis2wRz!8XlT{?{vr^%Fwc?)+HpN*^r8QMo0Eo>9Ue`ydK<7Z&#Kc>HsBEOwXssn}`#)gO>nc}h(uhkW{qU2)2O(yncOpP7=CZm%}_IKeIqK4M~lmemb1_}w%^nzI@2ipS(XsoMC= z(bH|iZdw5jLmJ{>7tZrNbAaTDh5k9y%1$`C64n=(F!=tm87XKO^0DjF0awd42P6CA zy0+=-b9}Lwd#7xhn-$$X(A2FsO^sBMNj?%Gg;X9i3yqQm>7iTK z&|5ques$?oMLZoT8c;)}F{kGAaX?XpW?-sBMstX=4}X;HImR} z#7*CpRU2&J?KZ3eMZR~iD`UAU9Z3)!Bvr&i_7Y+0#t8V(J7GZrK=U;SIvVMIzFaG9 z0Lsl4m2aTjUX@s3<6ah3RzL=B3Y_K8B`c8ZsNUX(VuXD& zZ`X4Egs)$=C}~IvYoqP@xEiwfD3Qgn@A15sFxL7{>tFlOpVj~`*ely6SKF38y!s*f z<(HJNPR~nl{Wvpt5;)K>Y^Js-*W-gKQfj6K@~*aa)*$#QHy{$R^d@AAOnBJzLSOl2 zM`s@@_)XeB9*wuIvckW)KvbM}B_+)U3hW6Eagev3wFk3l8e4HVTf{RO1Krma;lfgX4jaPWO4_{`C)eh2kOa1Tg=u4@VaTR z51>oa&byq3AwIQ$qvzhOWAV#3o(i=5i;k*5__<;Iw}r>sG~bR^#evDO%cftwvmBEQ zwJO~k*=k7pe*8HR^CAr_Q21bf2?2o%yvw-F1f(#j%t<)?qoG=K#l{fZO20dum+LPt z_(z&MOw-=66NBQg-W>0})bPihEno!biAGSV#s-;)bnopebi-cfB3XIHd z61nivKsj&wgkDAB6Ff$f?xNXd)-yy*FLDbIb}(Yis%FDPCB)b53Z1+t!>e(FYQ50? z|H1`_VP`=VobRS#_C2UR^dn+@y)Ruch9ttI=bKe8neH8=0)sSbr%%Oc-SJ}^Es(g!pF>SIx+pURdfyJ$;HxJ^l5~VN6e$p!Y z3G?tKZgD1U_kw#>lM65WHM6Vlt_wIt2vV))*rBtH?yQl9uC~e+kCP^G1um`CZ-Wl0 zQ(a_ANu+q=;_-3=Pd*^cCI}a%evDXA&Baywh2|X|#*MC~ml^LOjUG@T578(>PwT~; zOR4fWx`xJ;ErrgWGlv1Hz86Y-S#rX9j+(H{)@CCj{_+w74a_T-@XS z)c?ZBo5C7s#raZ}0zmrwf(ZDv{^XHTanIDb02{-yOM1PQ$Bm5o=l^SM5v+{+;b`&M z&X2cpdEP92{$NSWW2_Y7EZg*08`U~zLZ4|eK9%YcV7@B-Tky-;4E>^%F;~Rx1r6-a zkMn*QA%FPb@Ia38&^${1tpY!wSoGS}xcb;AS%KvF4twvH7|CXKXnQo^n;#=^yVqk7 zsy#;fdGAb%BV>s0zHey7`uF=eQ#(Y7;<1sQ6CXY|5Dq9!m7{b`S*YMMt*LRiRK6TK zpC7`3+&a8c6Q?0;6>KO~(+jAQ3qN3Uxmc*L0= z+Yafxp+^Ea#SwDq8i9F)=AfuH?Q0WF3yPrG=eP^DSX0QcRK<>7Bcz2@trslX2eq%q zkO1wJXL1=aIr&ShW*ed@wz4%bD;Q+~m8egiZrpttX7C=b0|BhLn(>_ueDirq39ov+ zFYpjr>9F~2I@BYjPsJF`xoe3e#NN<~CiG-*xUrB1WU>f-|6RMxH%^fuZFVDkD_>al z)0;8^$i>O9ur6XT_=&a|=#mszT^{YC^ZyYTbUf5Bd%m2=m Dt}>X@ diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_h_voronoi_nodes.png b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_h_voronoi_nodes.png deleted file mode 100644 index 2599b315213b41b2023b89af1d75fe1c15f84a3b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6628 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 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/abstract_voronoi_segmentation.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/abstract_voronoi_segmentation.h deleted file mode 100644 index 0365094..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/abstract_voronoi_segmentation.h +++ /dev/null @@ -1,84 +0,0 @@ -#pragma once - -#include "ros/ros.h" -#include -#include -#include -#include -#include -#include - -#include - -#include - -#define PI 3.14159265 - -// Struct that compares two given points and returns if the y-coordinate of the first is smaller or if they are equal if the -// x-coordinate of the first is smaller. This is used for sets to easily store cv::Point objects and search for specific objects. -struct cv_Point_comp -{ - bool operator()(const cv::Point& lhs, const cv::Point& rhs) const - { - return ((lhs.y < rhs.y) || (lhs.y == rhs.y && lhs.x < rhs.x)); - } -}; - -class AbstractVoronoiSegmentation -{ -protected: - - // Function to get the ID of a room, when given an index in the storing vector. - // This function takes a vector of rooms and an index in this vector and returns the ID of this room, meaning the color it has - // been drawn in the map. - bool determineRoomIndexFromRoomID(const std::vector& rooms, const int room_id, size_t& room_index); - - // Function to merge two rooms together on the given already segmented map. - // This function is used to merge two rooms together in the given already segmented map. It takes two indexes, showing which - // room is the bigger one and which is the smaller one. The smaller one should be merged together with the bigger one, what is - // done by changing the color of this room in the map to the color of the bigger room and inserting the members into the bigger - // room. - void mergeRoomPair(std::vector& rooms, const int target_index, const int room_to_merge_index, cv::Mat& segmented_map, const double map_resolution); - - // Function to draw the generalized voronoi-diagram into a given map, not drawing lines that start or end at black pixels - // This function draws the Voronoi-diagram into a given map. It needs the facets as vector of Points, the contour of the - // map and the contours of the holes. It checks if the endpoints of the facets are both inside the map-contour and not - // inside a hole-contour and doesn't draw the lines that are not. - // Function to draw the approximated voronoi graph into a given map. It doesn't draw lines of the graph that start or end - // in a black region. This is necessary because the voronoi graph gets approximated by diskretizing the maps contour and - // using these points as centers for the graph. It gets wrong lines, that are eliminated in this function. See the .cpp - // files for further information. - void drawVoronoi(cv::Mat &img, const std::vector >& facets_of_voronoi, const cv::Scalar voronoi_color, const cv::Mat& eroded_map); - - // Function to get the voronoi-diagram drawn into the map - // This function is here to create the generalized voronoi-graph in the given map. It does following steps: - // 1. It finds every discretized contour in the given map (they are saved as vector). Then it takes these - // contour-Points and adds them to the OpenCV Delaunay generator from which the voronoi-cells can be generated. - // 2. Finally it gets the boundary-Points of the voronoi-cells with getVoronoiFacetList. It takes these facets - // and draws them using the drawVoronoi function. This function draws the facets that only have Points inside - // the map-contour (other lines go to not-reachable places and are not necessary to be looked at). - // 3. It returns the map that has the generalized voronoi-graph drawn in. - void createVoronoiGraph(cv::Mat& map_for_voronoi_generation); - - // This function prunes the generalized Voronoi-graph in the given map. - // It reduces the graph down to the nodes in the graph. A node is a point on the Voronoi graph, that has at least 3 - // neighbors. This deletes errors from the approximate generation of the graph that hasn't been eliminated from - // the drawVoronoi function. the resulting graph is the pruned generalized voronoi graph. - // It does following steps: - // 1. Extract node-points of the Voronoi-Diagram, which have at least 3 neighbors. - // 2. Reduce the leave-nodes (Point on graph with only one neighbor) of the graph until the reduction - // hits a node-Point. This is done to reduce the lines along the real voronoi-graph, coming from the discretisation - // of the contour. - // 3. It returns the map that has the pruned generalized voronoi-graph drawn in. - void pruneVoronoiGraph(cv::Mat& voronoi_map, std::set& node_points); - - // Function to merge rooms together - // Function that goes trough each given room and checks if it should be merged together wit another bigger room, if it is too small. - // This function takes the segmented Map from the original Voronoi-segmentation-algorithm and merges rooms together, - // that are small enough and have only two or one neighbor. - void mergeRooms(cv::Mat& map_to_merge_rooms, std::vector& rooms, double map_resolution_from_subscription, double max_area_for_merging, bool display_map); - -public: - - AbstractVoronoiSegmentation(); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/adaboost_classifier.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/adaboost_classifier.h deleted file mode 100644 index c9bb640..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/adaboost_classifier.h +++ /dev/null @@ -1,49 +0,0 @@ -#pragma once -#include "ros/ros.h" -#include -#include -#include -#include -#include -#include -#include - -#include -#include - -#include -#include - -class AdaboostClassifier -{ -protected: - - bool trained_; // variable that shows if the classifiers has already been trained - - std::vector angles_for_simulation_; // angle-vector used to calculate the features for this algorithm - -#if CV_MAJOR_VERSION == 2 - CvBoostParams params_; // Parameters for the classifiers - CvBoost hallway_boost_, room_boost_; // the AdaBoost-classifiers for rooms and hallways -#else - cv::Ptr hallway_boost_, room_boost_; // the AdaBoost-classifiers for rooms and hallways -#endif - - LaserScannerRaycasting raycasting_; - -public: - - - AdaboostClassifier(); - - - //training-method for the classifier - void trainClassifiers(const std::vector& room_training_maps, const std::vector& hallway_training_maps, - const std::string& classifier_storage_path, bool load_features=false); - - - //labeling-algorithm after the training - void segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, - double room_area_factor_lower_limit, double room_area_factor_upper_limit, - const std::string& classifier_storage_path, const std::string& classifier_default_path, bool display_results=false); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/clique_class.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/clique_class.h deleted file mode 100644 index e7ea5ff..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/clique_class.h +++ /dev/null @@ -1,113 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_segmentation - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 11.2015 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ -// -// This class is used to easily define cliques from a graph. A Clique is a subgraph of a given graph, in which all Points are -// connected to each other. So this class has a element member_Points that stores all Points that are part of this clique. -// Also it has different functions: -// 1. getMemberPoints(): This function returns a vector with all members in it. -// 2. insertMember(cv::Point/vector labels, vector boost_classifiers): -// This function is used for the Voronoi Random Field Segmentation. It gets a list of AdaBoost classifiers -// ( from OpenCV ) and calculates the feature for this clique, depending on the given labels for each Point. -// The labels show to which class each Point belongs and are describing the position of the AdaBoost classifier -// in the given vector. It then calculates Phi(y_k, x) = exp(w_k^T * f_k(y_k, x)). Phi is the clique potential -// needed for the conditional random field, w_k is the weight-vector, defined for each classifier and put together -// for each point here and f_k is the feature vector, that calculates individual features for each point to label -// them as a specific class. y_k are the member points of a clique and x is the hidden node of the conditional -// random field, in this case the given gridmap. -// - -#include -#include -#include - -#pragma once - -class Clique -{ -protected: - std::vector member_points_; // vector that stores the member points of the clique - - std::vector< std::vector > beams_for_members_; // vector that stores the simulated beams for each member (simulated using raycasting) - -public: - - Clique(); // default constructor - - Clique(cv::Point first_member); // constructor if one node is known - - Clique(std::vector members); // constructor if more than one member point is known - - std::vector getMemberPoints(); // function that returns a vector with all member points stored in - - void insertMember(cv::Point& new_member); // function that inserts a member if it isn't already a member - - void insertMember(std::vector& new_members); // function that inserts multiple members, if they are not already members - - bool containsMember(const cv::Point& point); // function that checks if a given point is part of this clique - - unsigned int getNumberOfMembers(); // function that returns the number of members stored in this clique - - void setBeamsForMembers(const std::vector< std::vector > beams); // function that stores the given beams in the class parameter - - std::vector< std::vector > getBeams(); // function that returns the stored laser-beams for the member points - -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/contains.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/contains.h deleted file mode 100644 index 5f6468c..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/contains.h +++ /dev/null @@ -1,13 +0,0 @@ -#include "ros/ros.h" -#include -#include -#include -#include -#include -#include -#include - -bool contains(std::vector vector, cv::Scalar element); -bool contains(std::vector vector, cv::Point element); -bool contains(std::vector vector, int element); -bool contains(std::vector > vector, std::vector element); diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/cv_boost_loader.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/cv_boost_loader.h deleted file mode 100644 index 64d3b95..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/cv_boost_loader.h +++ /dev/null @@ -1,8 +0,0 @@ -#pragma once -#include - -#if CV_MAJOR_VERSION == 2 -void loadBoost(CvBoost& boost, std::string const& filename); -#else -void loadBoost(cv::Ptr& boost, std::string const& filename); -#endif diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/distance_segmentation.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/distance_segmentation.h deleted file mode 100644 index c99fc12..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/distance_segmentation.h +++ /dev/null @@ -1,19 +0,0 @@ -#include "ros/ros.h" -#include -#include -#include -#include -#include -#include - -#include - -class DistanceSegmentation -{ -public: - - DistanceSegmentation(); - - //algorithm to segment the map - void segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, double room_area_factor_lower_limit, double room_area_factor_upper_limit); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/evaluation_segmentation.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/evaluation_segmentation.h deleted file mode 100644 index 6568413..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/evaluation_segmentation.h +++ /dev/null @@ -1,40 +0,0 @@ - -#include -#include -#include -#include -#include -#include - -#include - - -class EvaluationSegmentation -{ -public: - - struct cv_Point_comp - { - bool operator()(const cv::Point& lhs, const cv::Point& rhs) const - { - return ((lhs.y < rhs.y) || (lhs.y == rhs.y && lhs.x < rhs.x)); - } - }; - - typedef std::set PointSet; - typedef std::vector< PointSet > VectorOfPointSets; - - // gt_map = ground truth gray scale map (>250 = free space), each room is a closed contour (rooms are separated by drawn in borders), no colors - // gt_map_color = colored ground truth map (maybe computed by or provided to the function depending on value of compute_gt_map_color) - // segmented_map in CV_32SC1 - void computePrecisionRecall(const cv::Mat& gt_map, cv::Mat& gt_map_color, const cv::Mat& segmented_map, - double& precision_micro, double& precision_macro, double& recall_micro, double& recall_macro, bool compute_gt_map_color=true); - -private: - // fills each closed area (= ground truth room) with a unique id and collects all room points in gt[room id][pixel index] - void groundTruthVectorCalculation(const cv::Mat &bw_map, VectorOfPointSets& gt); - -// void Segmentation_Vector_calculation(const cv::Mat &segmented_map, std::map &segmented_room_mapping); -// void Recall_Precision_Calculation(std::map &results, std::vector gt_mat_vector, std::vector segmentation_mat_vector); - -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/fast_math.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/fast_math.h deleted file mode 100644 index 61cfc9b..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/fast_math.h +++ /dev/null @@ -1,1608 +0,0 @@ -/*=====================================================================* - * Copyright (C) 2012 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __CAST_H_ - -#ifdef __cplusplus -#define cast_uint32_t static_cast -#else -#define cast_uint32_t (uint32_t) -#endif - -#endif // __CAST_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __SSE_H_ -#define __SSE_H_ - -#ifdef __SSE2__ - -#include - -#ifdef __cplusplus -namespace { -#endif // __cplusplus - -typedef __m128 v4sf; -typedef __m128i v4si; - -#define v4si_to_v4sf _mm_cvtepi32_ps -#define v4sf_to_v4si _mm_cvttps_epi32 - -#define v4sfl(x) ((const v4sf) { (x), (x), (x), (x) }) -#define v2dil(x) ((const v4si) { (x), (x) }) -#define v4sil(x) v2dil((((long long) (x)) << 32) | (x)) - -typedef union { v4sf f; float array[4]; } v4sfindexer; -#define v4sf_index(_findx, _findi) \ - ({ \ - v4sfindexer _findvx = { _findx } ; \ - _findvx.array[_findi]; \ - }) -typedef union { v4si i; int array[4]; } v4siindexer; -#define v4si_index(_iindx, _iindi) \ - ({ \ - v4siindexer _iindvx = { _iindx } ; \ - _iindvx.array[_iindi]; \ - }) - -typedef union { v4sf f; v4si i; } v4sfv4sipun; -#define v4sf_fabs(x) \ - ({ \ - v4sfv4sipun vx; \ - vx.f = x; \ - vx.i &= v4sil (0x7FFFFFFF); \ - vx.f; \ - }) - -#ifdef __cplusplus -} // end namespace -#endif // __cplusplus - -#endif // __SSE2__ - -#endif // __SSE_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_EXP_H_ -#define __FAST_EXP_H_ - -#include - -// Underflow of exponential is common practice in numerical routines, -// so handle it here. - -static inline float -fastpow2 (float p) -{ - float offset = (p < 0) ? 1.0f : 0.0f; - float clipp = (p < -126) ? -126.0f : p; - int w = clipp; - float z = clipp - w + offset; - union { uint32_t i; float f; } v = { cast_uint32_t ( (1 << 23) * (clipp + 121.2740575f + 27.7280233f / (4.84252568f - z) - 1.49012907f * z) ) }; - - return v.f; -} - -static inline float -fastexp (float p) -{ - return fastpow2 (1.442695040f * p); -} - -static inline float -fasterpow2 (float p) -{ - float clipp = (p < -126) ? -126.0f : p; - union { uint32_t i; float f; } v = { cast_uint32_t ( (1 << 23) * (clipp + 126.94269504f) ) }; - return v.f; -} - -static inline float -fasterexp (float p) -{ - return fasterpow2 (1.442695040f * p); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastpow2 (const v4sf p) -{ - v4sf ltzero = _mm_cmplt_ps (p, v4sfl (0.0f)); - v4sf offset = _mm_and_ps (ltzero, v4sfl (1.0f)); - v4sf lt126 = _mm_cmplt_ps (p, v4sfl (-126.0f)); - v4sf clipp = _mm_or_ps (_mm_andnot_ps (lt126, p), _mm_and_ps (lt126, v4sfl (-126.0f))); - v4si w = v4sf_to_v4si (clipp); - v4sf z = clipp - v4si_to_v4sf (w) + offset; - - const v4sf c_121_2740838 = v4sfl (121.2740575f); - const v4sf c_27_7280233 = v4sfl (27.7280233f); - const v4sf c_4_84252568 = v4sfl (4.84252568f); - const v4sf c_1_49012907 = v4sfl (1.49012907f); - union { v4si i; v4sf f; } v = { - v4sf_to_v4si ( - v4sfl (1 << 23) * - (clipp + c_121_2740838 + c_27_7280233 / (c_4_84252568 - z) - c_1_49012907 * z) - ) - }; - - return v.f; -} - -static inline v4sf -vfastexp (const v4sf p) -{ - const v4sf c_invlog_2 = v4sfl (1.442695040f); - - return vfastpow2 (c_invlog_2 * p); -} - -static inline v4sf -vfasterpow2 (const v4sf p) -{ - const v4sf c_126_94269504 = v4sfl (126.94269504f); - v4sf lt126 = _mm_cmplt_ps (p, v4sfl (-126.0f)); - v4sf clipp = _mm_or_ps (_mm_andnot_ps (lt126, p), _mm_and_ps (lt126, v4sfl (-126.0f))); - union { v4si i; v4sf f; } v = { v4sf_to_v4si (v4sfl (1 << 23) * (clipp + c_126_94269504)) }; - return v.f; -} - -static inline v4sf -vfasterexp (const v4sf p) -{ - const v4sf c_invlog_2 = v4sfl (1.442695040f); - - return vfasterpow2 (c_invlog_2 * p); -} - -#endif //__SSE2__ - -#endif // __FAST_EXP_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_LOG_H_ -#define __FAST_LOG_H_ - -#include - -static inline float -fastlog2 (float x) -{ - union { float f; uint32_t i; } vx = { x }; - union { uint32_t i; float f; } mx = { (vx.i & 0x007FFFFF) | 0x3f000000 }; - float y = vx.i; - y *= 1.1920928955078125e-7f; - - return y - 124.22551499f - - 1.498030302f * mx.f - - 1.72587999f / (0.3520887068f + mx.f); -} - -static inline float -fastlog (float x) -{ - return 0.69314718f * fastlog2 (x); -} - -static inline float -fasterlog2 (float x) -{ - union { float f; uint32_t i; } vx = { x }; - float y = vx.i; - y *= 1.1920928955078125e-7f; - return y - 126.94269504f; -} - -static inline float -fasterlog (float x) -{ -// return 0.69314718f * fasterlog2 (x); - - union { float f; uint32_t i; } vx = { x }; - float y = vx.i; - y *= 8.2629582881927490e-8f; - return y - 87.989971088f; -} - -#ifdef __SSE2__ - -static inline v4sf -vfastlog2 (v4sf x) -{ - union { v4sf f; v4si i; } vx = { x }; - union { v4si i; v4sf f; } mx; mx.i = (vx.i & v4sil (0x007FFFFF)) | v4sil (0x3f000000); - v4sf y = v4si_to_v4sf (vx.i); - y *= v4sfl (1.1920928955078125e-7f); - - const v4sf c_124_22551499 = v4sfl (124.22551499f); - const v4sf c_1_498030302 = v4sfl (1.498030302f); - const v4sf c_1_725877999 = v4sfl (1.72587999f); - const v4sf c_0_3520087068 = v4sfl (0.3520887068f); - - return y - c_124_22551499 - - c_1_498030302 * mx.f - - c_1_725877999 / (c_0_3520087068 + mx.f); -} - -static inline v4sf -vfastlog (v4sf x) -{ - const v4sf c_0_69314718 = v4sfl (0.69314718f); - - return c_0_69314718 * vfastlog2 (x); -} - -static inline v4sf -vfasterlog2 (v4sf x) -{ - union { v4sf f; v4si i; } vx = { x }; - v4sf y = v4si_to_v4sf (vx.i); - y *= v4sfl (1.1920928955078125e-7f); - - const v4sf c_126_94269504 = v4sfl (126.94269504f); - - return y - c_126_94269504; -} - -static inline v4sf -vfasterlog (v4sf x) -{ -// const v4sf c_0_69314718 = v4sfl (0.69314718f); -// -// return c_0_69314718 * vfasterlog2 (x); - - union { v4sf f; v4si i; } vx = { x }; - v4sf y = v4si_to_v4sf (vx.i); - y *= v4sfl (8.2629582881927490e-8f); - - const v4sf c_87_989971088 = v4sfl (87.989971088f); - - return y - c_87_989971088; -} - -#endif // __SSE2__ - -#endif // __FAST_LOG_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_ERF_H_ -#define __FAST_ERF_H_ - -#include -#include - -// fasterfc: not actually faster than erfcf(3) on newer machines! -// ... although vectorized version is interesting -// and fastererfc is very fast - -static inline float -fasterfc (float x) -{ - static const float k = 3.3509633149424609f; - static const float a = 0.07219054755431126f; - static const float b = 15.418191568719577f; - static const float c = 5.609846028328545f; - - union { float f; uint32_t i; } vc = { c * x }; - float xsq = x * x; - float xquad = xsq * xsq; - - vc.i |= 0x80000000; - - return 2.0f / (1.0f + fastpow2 (k * x)) - a * x * (b * xquad - 1.0f) * fasterpow2 (vc.f); -} - -static inline float -fastererfc (float x) -{ - static const float k = 3.3509633149424609f; - - return 2.0f / (1.0f + fasterpow2 (k * x)); -} - -// fasterf: not actually faster than erff(3) on newer machines! -// ... although vectorized version is interesting -// and fastererf is very fast - -static inline float -fasterf (float x) -{ - return 1.0f - fasterfc (x); -} - -static inline float -fastererf (float x) -{ - return 1.0f - fastererfc (x); -} - -static inline float -fastinverseerf (float x) -{ - static const float invk = 0.30004578719350504f; - static const float a = 0.020287853348211326f; - static const float b = 0.07236892874789555f; - static const float c = 0.9913030456864257f; - static const float d = 0.8059775923760193f; - - float xsq = x * x; - - return invk * fastlog2 ((1.0f + x) / (1.0f - x)) - + x * (a - b * xsq) / (c - d * xsq); -} - -static inline float -fasterinverseerf (float x) -{ - static const float invk = 0.30004578719350504f; - - return invk * fasterlog2 ((1.0f + x) / (1.0f - x)); -} - -#ifdef __SSE2__ - -static inline v4sf -vfasterfc (v4sf x) -{ - const v4sf k = v4sfl (3.3509633149424609f); - const v4sf a = v4sfl (0.07219054755431126f); - const v4sf b = v4sfl (15.418191568719577f); - const v4sf c = v4sfl (5.609846028328545f); - - union { v4sf f; v4si i; } vc; vc.f = c * x; - vc.i |= v4sil (0x80000000); - - v4sf xsq = x * x; - v4sf xquad = xsq * xsq; - - return v4sfl (2.0f) / (v4sfl (1.0f) + vfastpow2 (k * x)) - a * x * (b * xquad - v4sfl (1.0f)) * vfasterpow2 (vc.f); -} - -static inline v4sf -vfastererfc (const v4sf x) -{ - const v4sf k = v4sfl (3.3509633149424609f); - - return v4sfl (2.0f) / (v4sfl (1.0f) + vfasterpow2 (k * x)); -} - -static inline v4sf -vfasterf (v4sf x) -{ - return v4sfl (1.0f) - vfasterfc (x); -} - -static inline v4sf -vfastererf (const v4sf x) -{ - return v4sfl (1.0f) - vfastererfc (x); -} - -static inline v4sf -vfastinverseerf (v4sf x) -{ - const v4sf invk = v4sfl (0.30004578719350504f); - const v4sf a = v4sfl (0.020287853348211326f); - const v4sf b = v4sfl (0.07236892874789555f); - const v4sf c = v4sfl (0.9913030456864257f); - const v4sf d = v4sfl (0.8059775923760193f); - - v4sf xsq = x * x; - - return invk * vfastlog2 ((v4sfl (1.0f) + x) / (v4sfl (1.0f) - x)) - + x * (a - b * xsq) / (c - d * xsq); -} - -static inline v4sf -vfasterinverseerf (v4sf x) -{ - const v4sf invk = v4sfl (0.30004578719350504f); - - return invk * vfasterlog2 ((v4sfl (1.0f) + x) / (v4sfl (1.0f) - x)); -} - -#endif //__SSE2__ - -#endif // __FAST_ERF_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_GAMMA_H_ -#define __FAST_GAMMA_H_ - -#include - -/* gamma/digamma functions only work for positive inputs */ - -static inline float -fastlgamma (float x) -{ - float logterm = fastlog (x * (1.0f + x) * (2.0f + x)); - float xp3 = 3.0f + x; - - return - 2.081061466f - - x - + 0.0833333f / xp3 - - logterm - + (2.5f + x) * fastlog (xp3); -} - -static inline float -fasterlgamma (float x) -{ - return - 0.0810614667f - - x - - fasterlog (x) - + (0.5f + x) * fasterlog (1.0f + x); -} - -static inline float -fastdigamma (float x) -{ - float twopx = 2.0f + x; - float logterm = fastlog (twopx); - - return (-48.0f + x * (-157.0f + x * (-127.0f - 30.0f * x))) / - (12.0f * x * (1.0f + x) * twopx * twopx) - + logterm; -} - -static inline float -fasterdigamma (float x) -{ - float onepx = 1.0f + x; - - return -1.0f / x - 1.0f / (2 * onepx) + fasterlog (onepx); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastlgamma (v4sf x) -{ - const v4sf c_1_0 = v4sfl (1.0f); - const v4sf c_2_0 = v4sfl (2.0f); - const v4sf c_3_0 = v4sfl (3.0f); - const v4sf c_2_081061466 = v4sfl (2.081061466f); - const v4sf c_0_0833333 = v4sfl (0.0833333f); - const v4sf c_2_5 = v4sfl (2.5f); - - v4sf logterm = vfastlog (x * (c_1_0 + x) * (c_2_0 + x)); - v4sf xp3 = c_3_0 + x; - - return - c_2_081061466 - - x - + c_0_0833333 / xp3 - - logterm - + (c_2_5 + x) * vfastlog (xp3); -} - -static inline v4sf -vfasterlgamma (v4sf x) -{ - const v4sf c_0_0810614667 = v4sfl (0.0810614667f); - const v4sf c_0_5 = v4sfl (0.5f); - const v4sf c_1 = v4sfl (1.0f); - - return - c_0_0810614667 - - x - - vfasterlog (x) - + (c_0_5 + x) * vfasterlog (c_1 + x); -} - -static inline v4sf -vfastdigamma (v4sf x) -{ - v4sf twopx = v4sfl (2.0f) + x; - v4sf logterm = vfastlog (twopx); - - return (v4sfl (-48.0f) + x * (v4sfl (-157.0f) + x * (v4sfl (-127.0f) - v4sfl (30.0f) * x))) / - (v4sfl (12.0f) * x * (v4sfl (1.0f) + x) * twopx * twopx) - + logterm; -} - -static inline v4sf -vfasterdigamma (v4sf x) -{ - const v4sf c_1_0 = v4sfl (1.0f); - const v4sf c_2_0 = v4sfl (2.0f); - v4sf onepx = c_1_0 + x; - - return -c_1_0 / x - c_1_0 / (c_2_0 * onepx) + vfasterlog (onepx); -} - -#endif //__SSE2__ - -#endif // __FAST_GAMMA_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_HYPERBOLIC_H_ -#define __FAST_HYPERBOLIC_H_ - -#include - -static inline float -fastsinh (float p) -{ - return 0.5f * (fastexp (p) - fastexp (-p)); -} - -static inline float -fastersinh (float p) -{ - return 0.5f * (fasterexp (p) - fasterexp (-p)); -} - -static inline float -fastcosh (float p) -{ - return 0.5f * (fastexp (p) + fastexp (-p)); -} - -static inline float -fastercosh (float p) -{ - return 0.5f * (fasterexp (p) + fasterexp (-p)); -} - -static inline float -fasttanh (float p) -{ - return -1.0f + 2.0f / (1.0f + fastexp (-2.0f * p)); -} - -static inline float -fastertanh (float p) -{ - return -1.0f + 2.0f / (1.0f + fasterexp (-2.0f * p)); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastsinh (const v4sf p) -{ - const v4sf c_0_5 = v4sfl (0.5f); - - return c_0_5 * (vfastexp (p) - vfastexp (-p)); -} - -static inline v4sf -vfastersinh (const v4sf p) -{ - const v4sf c_0_5 = v4sfl (0.5f); - - return c_0_5 * (vfasterexp (p) - vfasterexp (-p)); -} - -static inline v4sf -vfastcosh (const v4sf p) -{ - const v4sf c_0_5 = v4sfl (0.5f); - - return c_0_5 * (vfastexp (p) + vfastexp (-p)); -} - -static inline v4sf -vfastercosh (const v4sf p) -{ - const v4sf c_0_5 = v4sfl (0.5f); - - return c_0_5 * (vfasterexp (p) + vfasterexp (-p)); -} - -static inline v4sf -vfasttanh (const v4sf p) -{ - const v4sf c_1 = v4sfl (1.0f); - const v4sf c_2 = v4sfl (2.0f); - - return -c_1 + c_2 / (c_1 + vfastexp (-c_2 * p)); -} - -static inline v4sf -vfastertanh (const v4sf p) -{ - const v4sf c_1 = v4sfl (1.0f); - const v4sf c_2 = v4sfl (2.0f); - - return -c_1 + c_2 / (c_1 + vfasterexp (-c_2 * p)); -} - -#endif //__SSE2__ - -#endif // __FAST_HYPERBOLIC_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_LAMBERT_W_H_ -#define __FAST_LAMBERT_W_H_ - -#include - -// these functions compute the upper branch aka W_0 - -static inline float -fastlambertw (float x) -{ - static const float threshold = 2.26445f; - - float c = (x < threshold) ? 1.546865557f : 1.0f; - float d = (x < threshold) ? 2.250366841f : 0.0f; - float a = (x < threshold) ? -0.737769969f : 0.0f; - - float logterm = fastlog (c * x + d); - float loglogterm = fastlog (logterm); - - float minusw = -a - logterm + loglogterm - loglogterm / logterm; - float expminusw = fastexp (minusw); - float xexpminusw = x * expminusw; - float pexpminusw = xexpminusw - minusw; - - return (2.0f * xexpminusw - minusw * (4.0f * xexpminusw - minusw * pexpminusw)) / - (2.0f + pexpminusw * (2.0f - minusw)); -} - -static inline float -fasterlambertw (float x) -{ - static const float threshold = 2.26445f; - - float c = (x < threshold) ? 1.546865557f : 1.0f; - float d = (x < threshold) ? 2.250366841f : 0.0f; - float a = (x < threshold) ? -0.737769969f : 0.0f; - - float logterm = fasterlog (c * x + d); - float loglogterm = fasterlog (logterm); - - float w = a + logterm - loglogterm + loglogterm / logterm; - float expw = fasterexp (-w); - - return (w * w + expw * x) / (1.0f + w); -} - -static inline float -fastlambertwexpx (float x) -{ - static const float k = 1.1765631309f; - static const float a = 0.94537622168f; - - float logarg = fmaxf (x, k); - float powarg = (x < k) ? a * (x - k) : 0; - - float logterm = fastlog (logarg); - float powterm = fasterpow2 (powarg); // don't need accuracy here - - float w = powterm * (logarg - logterm + logterm / logarg); - float logw = fastlog (w); - float p = x - logw; - - return w * (2.0f + p + w * (3.0f + 2.0f * p)) / - (2.0f - p + w * (5.0f + 2.0f * w)); -} - -static inline float -fasterlambertwexpx (float x) -{ - static const float k = 1.1765631309f; - static const float a = 0.94537622168f; - - float logarg = fmaxf (x, k); - float powarg = (x < k) ? a * (x - k) : 0; - - float logterm = fasterlog (logarg); - float powterm = fasterpow2 (powarg); - - float w = powterm * (logarg - logterm + logterm / logarg); - float logw = fasterlog (w); - - return w * (1.0f + x - logw) / (1.0f + w); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastlambertw (v4sf x) -{ - const v4sf threshold = v4sfl (2.26445f); - - v4sf under = _mm_cmplt_ps (x, threshold); - v4sf c = _mm_or_ps (_mm_and_ps (under, v4sfl (1.546865557f)), - _mm_andnot_ps (under, v4sfl (1.0f))); - v4sf d = _mm_and_ps (under, v4sfl (2.250366841f)); - v4sf a = _mm_and_ps (under, v4sfl (-0.737769969f)); - - v4sf logterm = vfastlog (c * x + d); - v4sf loglogterm = vfastlog (logterm); - - v4sf minusw = -a - logterm + loglogterm - loglogterm / logterm; - v4sf expminusw = vfastexp (minusw); - v4sf xexpminusw = x * expminusw; - v4sf pexpminusw = xexpminusw - minusw; - - return (v4sfl (2.0f) * xexpminusw - minusw * (v4sfl (4.0f) * xexpminusw - minusw * pexpminusw)) / - (v4sfl (2.0f) + pexpminusw * (v4sfl (2.0f) - minusw)); -} - -static inline v4sf -vfasterlambertw (v4sf x) -{ - const v4sf threshold = v4sfl (2.26445f); - - v4sf under = _mm_cmplt_ps (x, threshold); - v4sf c = _mm_or_ps (_mm_and_ps (under, v4sfl (1.546865557f)), - _mm_andnot_ps (under, v4sfl (1.0f))); - v4sf d = _mm_and_ps (under, v4sfl (2.250366841f)); - v4sf a = _mm_and_ps (under, v4sfl (-0.737769969f)); - - v4sf logterm = vfasterlog (c * x + d); - v4sf loglogterm = vfasterlog (logterm); - - v4sf w = a + logterm - loglogterm + loglogterm / logterm; - v4sf expw = vfasterexp (-w); - - return (w * w + expw * x) / (v4sfl (1.0f) + w); -} - -static inline v4sf -vfastlambertwexpx (v4sf x) -{ - const v4sf k = v4sfl (1.1765631309f); - const v4sf a = v4sfl (0.94537622168f); - const v4sf two = v4sfl (2.0f); - const v4sf three = v4sfl (3.0f); - const v4sf five = v4sfl (5.0f); - - v4sf logarg = _mm_max_ps (x, k); - v4sf powarg = _mm_and_ps (_mm_cmplt_ps (x, k), a * (x - k)); - - v4sf logterm = vfastlog (logarg); - v4sf powterm = vfasterpow2 (powarg); // don't need accuracy here - - v4sf w = powterm * (logarg - logterm + logterm / logarg); - v4sf logw = vfastlog (w); - v4sf p = x - logw; - - return w * (two + p + w * (three + two * p)) / - (two - p + w * (five + two * w)); -} - -static inline v4sf -vfasterlambertwexpx (v4sf x) -{ - const v4sf k = v4sfl (1.1765631309f); - const v4sf a = v4sfl (0.94537622168f); - - v4sf logarg = _mm_max_ps (x, k); - v4sf powarg = _mm_and_ps (_mm_cmplt_ps (x, k), a * (x - k)); - - v4sf logterm = vfasterlog (logarg); - v4sf powterm = vfasterpow2 (powarg); - - v4sf w = powterm * (logarg - logterm + logterm / logarg); - v4sf logw = vfasterlog (w); - - return w * (v4sfl (1.0f) + x - logw) / (v4sfl (1.0f) + w); -} - -#endif // __SSE2__ - -#endif // __FAST_LAMBERT_W_H_ - -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_POW_H_ -#define __FAST_POW_H_ - -#include - -static inline float -fastpow (float x, - float p) -{ - return fastpow2 (p * fastlog2 (x)); -} - -static inline float -fasterpow (float x, - float p) -{ - return fasterpow2 (p * fasterlog2 (x)); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastpow (const v4sf x, - const v4sf p) -{ - return vfastpow2 (p * vfastlog2 (x)); -} - -static inline v4sf -vfasterpow (const v4sf x, - const v4sf p) -{ - return vfasterpow2 (p * vfasterlog2 (x)); -} - -#endif //__SSE2__ - -#endif // __FAST_POW_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_SIGMOID_H_ -#define __FAST_SIGMOID_H_ - -#include - -static inline float -fastsigmoid (float x) -{ - return 1.0f / (1.0f + fastexp (-x)); -} - -static inline float -fastersigmoid (float x) -{ - return 1.0f / (1.0f + fasterexp (-x)); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastsigmoid (const v4sf x) -{ - const v4sf c_1 = v4sfl (1.0f); - - return c_1 / (c_1 + vfastexp (-x)); -} - -static inline v4sf -vfastersigmoid (const v4sf x) -{ - const v4sf c_1 = v4sfl (1.0f); - - return c_1 / (c_1 + vfasterexp (-x)); -} - -#endif //__SSE2__ - -#endif // __FAST_SIGMOID_H_ -/*=====================================================================* - * Copyright (C) 2011 Paul Mineiro * - * All rights reserved. * - * * - * Redistribution and use in source and binary forms, with * - * or without modification, are permitted provided that the * - * following conditions are met: * - * * - * * Redistributions of source code must retain the * - * above copyright notice, this list of conditions and * - * the following disclaimer. * - * * - * * Redistributions in binary form must reproduce the * - * above copyright notice, this list of conditions and * - * the following disclaimer in the documentation and/or * - * other materials provided with the distribution. * - * * - * * Neither the name of Paul Mineiro nor the names * - * of other contributors may be used to endorse or promote * - * products derived from this software without specific * - * prior written permission. * - * * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * - * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * - * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * - * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * - * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * - * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * - * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * - * POSSIBILITY OF SUCH DAMAGE. * - * * - * Contact: Paul Mineiro * - *=====================================================================*/ - -#ifndef __FAST_TRIG_H_ -#define __FAST_TRIG_H_ - -#include - -// http://www.devmaster.net/forums/showthread.php?t=5784 -// fast sine variants are for x \in [ -\pi, pi ] -// fast cosine variants are for x \in [ -\pi, pi ] -// fast tangent variants are for x \in [ -\pi / 2, pi / 2 ] -// "full" versions of functions handle the entire range of inputs -// although the range reduction technique used here will be hopelessly -// inaccurate for |x| >> 1000 -// -// WARNING: fastsinfull, fastcosfull, and fasttanfull can be slower than -// libc calls on older machines (!) and on newer machines are only -// slighly faster. however: -// * vectorized versions are competitive -// * faster full versions are competitive - -static inline float -fastsin (float x) -{ - static const float fouroverpi = 1.2732395447351627f; - static const float fouroverpisq = 0.40528473456935109f; - static const float q = 0.78444488374548933f; - union { float f; uint32_t i; } p = { 0.20363937680730309f }; - union { float f; uint32_t i; } r = { 0.015124940802184233f }; - union { float f; uint32_t i; } s = { -0.0032225901625579573f }; - - union { float f; uint32_t i; } vx = { x }; - uint32_t sign = vx.i & 0x80000000; - vx.i = vx.i & 0x7FFFFFFF; - - float qpprox = fouroverpi * x - fouroverpisq * x * vx.f; - float qpproxsq = qpprox * qpprox; - - p.i |= sign; - r.i |= sign; - s.i ^= sign; - - return q * qpprox + qpproxsq * (p.f + qpproxsq * (r.f + qpproxsq * s.f)); -} - -static inline float -fastersin (float x) -{ - static const float fouroverpi = 1.2732395447351627f; - static const float fouroverpisq = 0.40528473456935109f; - static const float q = 0.77633023248007499f; - union { float f; uint32_t i; } p = { 0.22308510060189463f }; - - union { float f; uint32_t i; } vx = { x }; - uint32_t sign = vx.i & 0x80000000; - vx.i &= 0x7FFFFFFF; - - float qpprox = fouroverpi * x - fouroverpisq * x * vx.f; - - p.i |= sign; - - return qpprox * (q + p.f * qpprox); -} - -static inline float -fastsinfull (float x) -{ - static const float twopi = 6.2831853071795865f; - static const float invtwopi = 0.15915494309189534f; - - int k = x * invtwopi; - float half = (x < 0) ? -0.5f : 0.5f; - return fastsin ((half + k) * twopi - x); -} - -static inline float -fastersinfull (float x) -{ - static const float twopi = 6.2831853071795865f; - static const float invtwopi = 0.15915494309189534f; - - int k = x * invtwopi; - float half = (x < 0) ? -0.5f : 0.5f; - return fastersin ((half + k) * twopi - x); -} - -static inline float -fastcos (float x) -{ - static const float halfpi = 1.5707963267948966f; - static const float halfpiminustwopi = -4.7123889803846899f; - float offset = (x > halfpi) ? halfpiminustwopi : halfpi; - return fastsin (x + offset); -} - -static inline float -fastercos (float x) -{ - static const float twooverpi = 0.63661977236758134f; - static const float p = 0.54641335845679634f; - - union { float f; uint32_t i; } vx = { x }; - vx.i &= 0x7FFFFFFF; - - float qpprox = 1.0f - twooverpi * vx.f; - - return qpprox + p * qpprox * (1.0f - qpprox * qpprox); -} - -static inline float -fastcosfull (float x) -{ - static const float halfpi = 1.5707963267948966f; - return fastsinfull (x + halfpi); -} - -static inline float -fastercosfull (float x) -{ - static const float halfpi = 1.5707963267948966f; - return fastersinfull (x + halfpi); -} - -static inline float -fasttan (float x) -{ - static const float halfpi = 1.5707963267948966f; - return fastsin (x) / fastsin (x + halfpi); -} - -static inline float -fastertan (float x) -{ - return fastersin (x) / fastercos (x); -} - -static inline float -fasttanfull (float x) -{ - static const float twopi = 6.2831853071795865f; - static const float invtwopi = 0.15915494309189534f; - - int k = x * invtwopi; - float half = (x < 0) ? -0.5f : 0.5f; - float xnew = x - (half + k) * twopi; - - return fastsin (xnew) / fastcos (xnew); -} - -static inline float -fastertanfull (float x) -{ - static const float twopi = 6.2831853071795865f; - static const float invtwopi = 0.15915494309189534f; - - int k = x * invtwopi; - float half = (x < 0) ? -0.5f : 0.5f; - float xnew = x - (half + k) * twopi; - - return fastersin (xnew) / fastercos (xnew); -} - -#ifdef __SSE2__ - -static inline v4sf -vfastsin (const v4sf x) -{ - const v4sf fouroverpi = v4sfl (1.2732395447351627f); - const v4sf fouroverpisq = v4sfl (0.40528473456935109f); - const v4sf q = v4sfl (0.78444488374548933f); - const v4sf p = v4sfl (0.20363937680730309f); - const v4sf r = v4sfl (0.015124940802184233f); - const v4sf s = v4sfl (-0.0032225901625579573f); - - union { v4sf f; v4si i; } vx = { x }; - v4si sign = vx.i & v4sil (0x80000000); - vx.i &= v4sil (0x7FFFFFFF); - - v4sf qpprox = fouroverpi * x - fouroverpisq * x * vx.f; - v4sf qpproxsq = qpprox * qpprox; - union { v4sf f; v4si i; } vy; vy.f = qpproxsq * (p + qpproxsq * (r + qpproxsq * s)); - vy.i ^= sign; - - return q * qpprox + vy.f; -} - -static inline v4sf -vfastersin (const v4sf x) -{ - const v4sf fouroverpi = v4sfl (1.2732395447351627f); - const v4sf fouroverpisq = v4sfl (0.40528473456935109f); - const v4sf q = v4sfl (0.77633023248007499f); - const v4sf plit = v4sfl (0.22308510060189463f); - union { v4sf f; v4si i; } p = { plit }; - - union { v4sf f; v4si i; } vx = { x }; - v4si sign = vx.i & v4sil (0x80000000); - vx.i &= v4sil (0x7FFFFFFF); - - v4sf qpprox = fouroverpi * x - fouroverpisq * x * vx.f; - - p.i |= sign; - - return qpprox * (q + p.f * qpprox); -} - -static inline v4sf -vfastsinfull (const v4sf x) -{ - const v4sf twopi = v4sfl (6.2831853071795865f); - const v4sf invtwopi = v4sfl (0.15915494309189534f); - - v4si k = v4sf_to_v4si (x * invtwopi); - - v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); - v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), - _mm_andnot_ps (ltzero, v4sfl (0.5f))); - - return vfastsin ((half + v4si_to_v4sf (k)) * twopi - x); -} - -static inline v4sf -vfastersinfull (const v4sf x) -{ - const v4sf twopi = v4sfl (6.2831853071795865f); - const v4sf invtwopi = v4sfl (0.15915494309189534f); - - v4si k = v4sf_to_v4si (x * invtwopi); - - v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); - v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), - _mm_andnot_ps (ltzero, v4sfl (0.5f))); - - return vfastersin ((half + v4si_to_v4sf (k)) * twopi - x); -} - -static inline v4sf -vfastcos (const v4sf x) -{ - const v4sf halfpi = v4sfl (1.5707963267948966f); - const v4sf halfpiminustwopi = v4sfl (-4.7123889803846899f); - v4sf lthalfpi = _mm_cmpnlt_ps (x, halfpi); - v4sf offset = _mm_or_ps (_mm_and_ps (lthalfpi, halfpiminustwopi), - _mm_andnot_ps (lthalfpi, halfpi)); - return vfastsin (x + offset); -} - -static inline v4sf -vfastercos (v4sf x) -{ - const v4sf twooverpi = v4sfl (0.63661977236758134f); - const v4sf p = v4sfl (0.54641335845679634); - - v4sf vx = v4sf_fabs (x); - v4sf qpprox = v4sfl (1.0f) - twooverpi * vx; - - return qpprox + p * qpprox * (v4sfl (1.0f) - qpprox * qpprox); -} - -static inline v4sf -vfastcosfull (const v4sf x) -{ - const v4sf halfpi = v4sfl (1.5707963267948966f); - return vfastsinfull (x + halfpi); -} - -static inline v4sf -vfastercosfull (const v4sf x) -{ - const v4sf halfpi = v4sfl (1.5707963267948966f); - return vfastersinfull (x + halfpi); -} - -static inline v4sf -vfasttan (const v4sf x) -{ - const v4sf halfpi = v4sfl (1.5707963267948966f); - return vfastsin (x) / vfastsin (x + halfpi); -} - -static inline v4sf -vfastertan (const v4sf x) -{ - return vfastersin (x) / vfastercos (x); -} - -static inline v4sf -vfasttanfull (const v4sf x) -{ - const v4sf twopi = v4sfl (6.2831853071795865f); - const v4sf invtwopi = v4sfl (0.15915494309189534f); - - v4si k = v4sf_to_v4si (x * invtwopi); - - v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); - v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), - _mm_andnot_ps (ltzero, v4sfl (0.5f))); - v4sf xnew = x - (half + v4si_to_v4sf (k)) * twopi; - - return vfastsin (xnew) / vfastcos (xnew); -} - -static inline v4sf -vfastertanfull (const v4sf x) -{ - const v4sf twopi = v4sfl (6.2831853071795865f); - const v4sf invtwopi = v4sfl (0.15915494309189534f); - - v4si k = v4sf_to_v4si (x * invtwopi); - - v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); - v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), - _mm_andnot_ps (ltzero, v4sfl (0.5f))); - v4sf xnew = x - (half + v4si_to_v4sf (k)) * twopi; - - return vfastersin (xnew) / vfastercos (xnew); -} - -#endif //__SSE2__ - -#endif // __FAST_TRIG_H_ diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/features.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/features.h deleted file mode 100644 index 9b43051..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/features.h +++ /dev/null @@ -1,81 +0,0 @@ -//Header for featurecalculation -//number of Features that can be calculated: 23 -#pragma once - -#include - - -class LaserScannerFeatures -{ -public: - //function to get the number of the features implemented - int get_feature_count(); - // reset cached data - void resetCachedData(); - //function for calculating the feature - double get_feature(const std::vector& beams, const std::vector& angles, cv::Point point, int feature); - void get_features(const std::vector& beams, const std::vector& angles, cv::Point point, cv::Mat& features); - //feature 1: average difference between beamlenghts - double calc_feature1(const std::vector& beams); - //feature 2: standard deviation of difference between beamlengths - double calc_feature2(const std::vector& beams); - //feature 3: average difference between beamlengths, but cutting of too long beams - double calc_feature3(const std::vector& beams, double maxlength); - //feature 4: standard deviation of difference between limited beamlenghts - double calc_feature4(const std::vector& beams, double maxval); - //feature 5: average beamlength - double calc_feature5(const std::vector& beams); - //feature 6: standard deviation of the beamlengths - double calc_feature6(const std::vector& beams); - //feature 7: number of gaps between the beams (a gap is when the difference between the beamlenghts is larger than a threshold) - double calc_feature7(const std::vector& beams); - //feature 8: distance between two Points corresponding to local minima of beamlengths - double calc_feature8(const std::vector& beams, const std::vector& angles); - //feature 9: angle between two Points corresponding to local minima of beamlenghts - double calc_feature9(const std::vector& beams, const std::vector& angles); - //feature 10: average of relation between two neighboring beams - double calc_feature10(const std::vector& beams); - //feature 11: standard deviation of relation between two neighboring beams - double calc_feature11(const std::vector& beams); - //feature 12: number of relative gaps, a relativ gap is when the relation of two negihboring beams is larger than a threshold - double calc_feature12(const std::vector& beams); - //feature 13: Kurtosis = (Sum((x - mean)^4))/sigma^4) - 3, where mean is the mean-value and sigma is the standard deviation - double calc_feature13(const std::vector& beams); - //feature 22: average of beam lengths / max. length - double calc_feature22(const std::vector& beams); - //feature 23: standard deviation of the beam lengths divided by the maximal value - double calc_feature23(const std::vector& beams); - //****************from now on Features that need a polygonal approximation of the beams***************************** - //calculate the polygonal approximation - std::vector calc_polygonal_approx(const std::vector&, const std::vector&, cv::Point location); - //calcilate the centroid for each polygonal approximation - cv::Point calc_centroid(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 14: area of the polygonal approximation - double calc_feature14(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 15: perimeter of the polygonal approximation - double calc_feature15(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 16: area divided by perimeter of the polygonal approximation - double calc_feature16(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 17: average distance between centroid and the boundary of the polygonal approach - double calc_feature17(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 18: standard deviation of distance between centroid and the boundary of the polygonal approach - double calc_feature18(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 19: half the major axis of the ellipse that surrounds the polygon, calculated with openCV - double calc_feature19(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 20: half the minor axis of the ellipse that surrounds the polygon, calculated with openCV - double calc_feature20(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 21: major axis/minor axis - double calc_feature21(const std::vector& beams, const std::vector& angles, cv::Point location); - -private: - - std::vector features_; - std::vector features_computed_; - - std::vector polygon_; - bool polygon_computed_; - - cv::Point centroid_; - bool centroid_computed_; - -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/meanshift2d.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/meanshift2d.h deleted file mode 100644 index 50b4ba6..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/meanshift2d.h +++ /dev/null @@ -1,76 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_segmentation - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: - * - * \date Date of creation: 22.07.2015 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#include - -#include -#include - -class MeanShift2D -{ -public: - MeanShift2D(void) {}; - - void filter(const std::vector& data, std::vector& filtered_data, const double bandwidth, const int maximumIterations=100); - - void computeConvergencePoints(const std::vector& filtered_data, std::vector& convergence_points, std::vector< std::vector >& convergence_sets, const double sensitivity); - - // map_resolution in [m/cell] - cv::Vec2d findRoomCenter(const cv::Mat& room_image, const std::vector& room_cells, double map_resolution); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/morphological_segmentation.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/morphological_segmentation.h deleted file mode 100644 index a10d0a7..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/morphological_segmentation.h +++ /dev/null @@ -1,14 +0,0 @@ -#include -#include -#include -#include -#include - - -class MorphologicalSegmentation -{ -public: - MorphologicalSegmentation(); - //algorithm to segment the map - void segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, double room_area_factor_lower_limit, double room_area_factor_upper_limit); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/raycasting.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/raycasting.h deleted file mode 100644 index de5184f..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/raycasting.h +++ /dev/null @@ -1,27 +0,0 @@ -#pragma once - -#include -#include -#include -#include -#include -#include - -#define PI 3.14159265 - -class LaserScannerRaycasting -{ -public: - LaserScannerRaycasting(); - - //raycasting function using the simple method that tracks a ray until its end - void raycasting(const cv::Mat& map, const cv::Point& location, std::vector& distances); - - //raycasting function based on the bresenham algorithm - void bresenham_raycasting(const cv::Mat& map, const cv::Point& location, std::vector& distances); - -private: - - std::vector precomputed_cos_; - std::vector precomputed_sin_; -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/room_class.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/room_class.h deleted file mode 100644 index bdc8de0..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/room_class.h +++ /dev/null @@ -1,94 +0,0 @@ -#ifndef __ROOM_CLASS_H__ -#define __ROOM_CLASS_H__ - -#include -#include - -#include -#include -#include -#include -#include - -#include - -//This is the class that represents a room. It has a ID-number, Points that belong to it and a list of neighbors. -class Room -{ -public: - - // Struct that compares two given points and returns if the y-coordinate of the first is smaller or if they are equal if the - // x-coordinate of the first is smaller. This is used for sets to easily store cv::Point objects and search for specific objects. - struct cv_Point_comp - { - bool operator()(const cv::Point& lhs, const cv::Point& rhs) const - { - return ((lhs.y < rhs.y) || (lhs.y == rhs.y && lhs.x < rhs.x)); - } - }; - - typedef std::set PointSet; - - - Room(int id_of_room); - - // merges the provided room into this room - void mergeRoom(Room& room_to_merge, double map_resolution); - - int insertMemberPoint(cv::Point new_member, double map_resolution); - - int insertMemberPoints(const std::vector& new_members, double map_resolution); - - void addNeighbor(int new_neighbor_id); - - int addNeighborID(int new_neighbor_id); - - int getNeighborCount(); - - std::map& getNeighborStatistics(); - - void getNeighborStatisticsInverse(std::map< int,int,std::greater >& neighbor_room_statistics_inverse); - - int getNeighborWithLargestCommonBorder(bool exclude_wall=true); - - double getPerimeterRatioOfXLargestRooms(const int number_rooms); - - double getWallToPerimeterRatio(); - - std::vector& getNeighborIDs(); - - double getArea(); - - double getPerimeter(); - - int getID() const; - - cv::Point getCenter(); - - const std::vector& getMembers(); - - int setRoomId(int new_value, cv::Mat& map); - - int setArea(double room_area); - - int setPerimeter(double room_perimeter); - - -protected: - int id_number_; - - std::vector member_points_; - - std::vector neighbor_room_ids_; - - std::map neighbor_room_statistics_; // maps from room labels of neighboring rooms to number of touching pixels of the respective neighboring room - - double room_area_; - - double room_perimeter_; -}; - - -bool sortRoomsAscending(Room a, Room b); - -#endif diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/timer.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/timer.h deleted file mode 100644 index 797978c..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/timer.h +++ /dev/null @@ -1,184 +0,0 @@ -/* - * timer.h - * - * Created on: May 13, 2013 - * Author: rmb-ce - */ - -// from: http://snipplr.com/view/40650/timer-class-for-both-unixlinuxmac-and-windows-system/ - -////////////////// -// How to Use //// -////////////////// - -//#include -//#include "timer.h" -//using namespace std; - -//int main() -//{ -// Timer timer; -// -// // start timer -// timer.start(); -// -// // do something -// ... -// -// // stop timer -// timer.stop(); -// -// // print the elapsed time in millisec -// cout << timer.getElapsedTimeInMilliSec() << " ms.\n"; -// -// return 0; -//} - - -////////////////////////////////////////////////////////////////////////////// -// Timer.h -// ======= -// High Resolution Timer. -// This timer is able to measure the elapsed time with 1 micro-second accuracy -// in both Windows, Linux and Unix system -// -// AUTHOR: Song Ho Ahn (song.ahn@gmail.com) -// CREATED: 2003-01-13 -// UPDATED: 2006-01-13 -// -// Copyright (c) 2003 Song Ho Ahn -////////////////////////////////////////////////////////////////////////////// - -#ifndef TIMER_H_DEF -#define TIMER_H_DEF - -#ifndef __LINUX__ // Windows system specific -//#include -#else // Unix based system specific -#include -#endif - -#include - - -class Timer -{ -public: -// default constructor - Timer() - { - #ifdef WIN32 - QueryPerformanceFrequency(&frequency); - startCount.QuadPart = 0; - endCount.QuadPart = 0; - #else - startCount.tv_sec = startCount.tv_usec = 0; - endCount.tv_sec = endCount.tv_usec = 0; - #endif - - stopped = 0; - startTimeInMicroSec = 0; - endTimeInMicroSec = 0; - - start(); - } - - // default destructor - ~Timer() - {} - - /////////////////////////////////////////////////////////////////////////////// - // start timer. - // startCount will be set at this point. - /////////////////////////////////////////////////////////////////////////////// - void start() - { - stopped = 0; // reset stop flag - #ifdef WIN32 - QueryPerformanceCounter(&startCount); - #else - gettimeofday(&startCount, NULL); - #endif - } - - /////////////////////////////////////////////////////////////////////////////// - // stop the timer. - // endCount will be set at this point. - /////////////////////////////////////////////////////////////////////////////// - void stop() - { - stopped = 1; // set timer stopped flag - - #ifdef WIN32 - QueryPerformanceCounter(&endCount); - #else - gettimeofday(&endCount, NULL); - #endif - } - - /////////////////////////////////////////////////////////////////////////////// - // same as getElapsedTimeInSec() - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTime() - { - return this->getElapsedTimeInSec(); - } - - /////////////////////////////////////////////////////////////////////////////// - // divide elapsedTimeInMicroSec by 1000000 - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTimeInSec() - { - return this->getElapsedTimeInMicroSec() * 0.000001; - } - - /////////////////////////////////////////////////////////////////////////////// - // divide elapsedTimeInMicroSec by 1000 - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTimeInMilliSec() - { - return this->getElapsedTimeInMicroSec() * 0.001; - } - - /////////////////////////////////////////////////////////////////////////////// - // compute elapsed time in micro-second resolution. - // other getElapsedTime will call this first, then convert to correspond resolution. - /////////////////////////////////////////////////////////////////////////////// - double getElapsedTimeInMicroSec() - { - #ifdef WIN32 - if(!stopped) - QueryPerformanceCounter(&endCount); - - startTimeInMicroSec = startCount.QuadPart * (1000000.0 / frequency.QuadPart); - endTimeInMicroSec = endCount.QuadPart * (1000000.0 / frequency.QuadPart); - #else - if(!stopped) - gettimeofday(&endCount, NULL); - - startTimeInMicroSec = (startCount.tv_sec * 1000000.0) + startCount.tv_usec; - endTimeInMicroSec = (endCount.tv_sec * 1000000.0) + endCount.tv_usec; - #endif - - return endTimeInMicroSec - startTimeInMicroSec; - } - - -protected: - - -private: - double startTimeInMicroSec; // starting time in micro-second - double endTimeInMicroSec; // ending time in micro-second - int stopped; // stop flag -#ifdef WIN32 - LARGE_INTEGER frequency; // ticks per second - LARGE_INTEGER startCount; // - LARGE_INTEGER endCount; // -#else - timeval startCount; // - timeval endCount; // -#endif -}; - -#endif // TIMER_H_DEF diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_features.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_features.h deleted file mode 100644 index 920c122..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_features.h +++ /dev/null @@ -1,101 +0,0 @@ -//Header for featurecalculation -//number of Features that can be calculated: 25 -#pragma once -#include -#include -#include -#include -#include -#include -#include - -#include - -class voronoiRandomFieldFeatures -{ - -public: - //function to get the number of the features implemented - int getFeatureCount(); - // reset cached data - void resetCachedData(); - //function for calculating the wanted feature - double getFeature(const std::vector& beams, const std::vector& angles, - const std::vector& clique_points, std::vector& labels_for_clique_points, - std::vector& possible_labels, cv::Point point, const int feature); - void getFeatures(const std::vector& beams, const std::vector& angles, const std::vector& clique_points, std::vector& labels_for_clique_points, - std::vector& possible_labels, cv::Point point, std::vector& features); - //feature 1: average difference between beamlengths - double calcFeature1(const std::vector& beams); - //feature 2: standard deviation of difference between beamlengths - double calcFeature2(const std::vector& beams); - //feature 3: average difference between beamlengths, but cutting of too long beams - double calcFeature3(const std::vector& beams, double maxlength); - //feature 4: standard deviation of difference between limited beamlenghts - double calcFeature4(const std::vector& beams, double maxval); - //feature 5: average beamlength - double calcFeature5(const std::vector& beams); - //feature 6: standard deviation of the beamlengths - double calcFeature6(const std::vector& beams); - //feature 7: number of gaps between the beams (a gap is when the difference between the beamlenghts is larger than a threshold) - double calcFeature7(const std::vector& beams); - //feature 8: distance between two Points corresponding to local minima of beamlengths - double calcFeature8(const std::vector& beams, const std::vector& angles); - //feature 9: angle between two Points corresponding to local minima of beamlenghts - double calcFeature9(const std::vector& beams, const std::vector& angles); - //feature 10: average of relation between two neighboring beams - double calcFeature10(const std::vector& beams); - //feature 11: standard deviation of relation between two neighboring beams - double calcFeature11(const std::vector& beams); - //feature 12: number of relative gaps, a relativ gap is when the relation of two negihboring beams is larger than a threshold - double calcFeature12(const std::vector& beams); - //feature 13: Kurtosis = (Sum((x - mean)^4))/sigma^4) - 3, where mean is the mean-value and sigma is the standard deviation - double calcFeature13(const std::vector& beams); - //feature 22: average of beam lengths / max. length - double calcFeature22(const std::vector& beams); - //feature 23: standard deviation of the beam lengths divided by the maximal value - double calcFeature23(const std::vector& beams); - //****************from now on Features that need a polygonal approximation of the beams***************************** - //calculate the polygonal approximation - std::vector calcPolygonalApprox(const std::vector&, const std::vector&, cv::Point location); - //calculate the centroid for each polygonal approximation - cv::Point calcCentroid(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 14: area of the polygonal approximation - double calcFeature14(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 15: perimeter of the polygonal approximation - double calcFeature15(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 16: area divided by perimeter of the polygonal approximation - double calcFeature16(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 17: average distance between centroid and the boundary of the polygonal approach - double calcFeature17(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 18: standard deviation of distance between centroid and the boundary of the polygonal approach - double calcFeature18(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 19: half the major axis of the ellipse that surrounds the polygon, calculated with openCV - double calcFeature19(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 20: half the minor axis of the ellipse that surrounds the polygon, calculated with openCV - double calcFeature20(const std::vector& beams, const std::vector& angles, cv::Point location); - //feature 21: major axis/minor axis - double calcFeature21(const std::vector& beams, const std::vector& angles, cv::Point location); - // feature 24: the curvature for a given clique - double calcFeature24(std::vector clique_points); - // feature 25: the relation between the labels of Points from the central point to the other points in the clique - double calcFeature25(std::vector& possible_labels, std::vector& labels_for_points); - // feature 26: the number of beams that are shorter than a defined maxval --> for door detection, maxval = 25 - double calcFeature26(const std::vector& beams, double maxval); - // feature 27: the area of the bounding box for beams that are smaller than the shortest beam in a defined epsilon neighborhood - double calcFeature27(const std::vector& beams, const std::vector& angles, double maxval, cv::Point location); - // feature 28: the ratio of the average beamlengths of the n longest and shortest beams - double calcFeature28(const std::vector& beams, double number_of_beams); - -protected: - - std::vector features_; - std::vector features_computed_; - - std::vector polygon_; - bool polygon_computed_; - - cv::Point centroid_; - bool centroid_computed_; -}; - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_segmentation.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_segmentation.h deleted file mode 100644 index 5d4d225..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_segmentation.h +++ /dev/null @@ -1,255 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_segmentation - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 10.2015 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ -#pragma once -#include "ros/ros.h" - -#include -#include - -#include -#include -#include -#include -#include -#include - -#include -#include - -#include - -// OpenGM-library headers -#include -#include -#include -#include -#include -#include -#include - -#include - -#include // some useful functions defined for all segmentations -#include -#include -#include -#include -#include - -#pragma once - - -// Typedef used for the dlib optimization. This Type stores n times 1 elements in a matirx --> represents a column-vector. -typedef dlib::matrix column_vector; - -// Typedefs for the OpenGM library. This library is a template-library for discrete factor-graphs (https://en.wikipedia.org/wiki/Factor_graph) -// and for operations on these, used in this algorithm to do loopy-belief-propagation for the conditional random field. -// -// Typedef for the Label-Space. This stores n variables that each can have m labels. -typedef opengm::SimpleDiscreteSpace LabelSpace; - -// Typedef for a factor-graph that stores doubles as results, adds the factors and has discrete labels for each variable. -typedef opengm::GraphicalModel , LabelSpace > FactorGraph; - -// Typedef for the update rule of messages in a factor graph, when using message propagation. -// Second Typedef is the Belief-Propagation used in this algorithm. It can be used on the defined FactorGraph, maximizes the defined -// functions and uses the Update-Rule for the messages that maximize the overall Graph. MaxDistance is a metric used to measure -// the distance of two messages in the graph. -typedef opengm::BeliefPropagationUpdateRules UpdateRules; -typedef opengm::MessagePassing LoopyBeliefPropagation; - -// Overload of the + operator for vectors: -// Given vectors a and b it returns a+b. If the vectors are not the same size a -1 vector gets returned to show an error. -template -std::vector operator+(const std::vector& a, const std::vector& b) -{ -// assert(a.size() == b.size()); - - if(a.empty()) // if a doesn't store any element it is the zero-vector, so return b - return b; - else if(b.empty()) // if b doesn't store any element it is the zero-vector, so return a - return a; - else if(a.size() != b.size()) // if the vectors are not the same size return a vector with -1 as entries as failure - return std::vector(100, -1); - - std::vector result; // create temporary new vector - result.reserve(a.size()); - - // add each element of the vectors and store them at the corresponding temporary vector position - std::transform(a.begin(), a.end(), b.begin(), - std::back_inserter(result), std::plus()); - - return result; -} - -// Overload of the += operator for vectors: -// Given vector a and b from arbitrary sizes this operator takes vector b and expands a by these elements. -template -std::vector& operator+=(std::vector& a, const std::vector& b) -{ - a.insert(a.end(), b.begin(), b.end()); - return a; -} - -class VoronoiRandomFieldSegmentation : public AbstractVoronoiSegmentation -{ -protected: - - std::vector angles_for_simulation_; // Vector that saves the angles, used to simulate the laser measurements - // for the AdaBoost classifier. - - int number_of_classifiers_; // Number of weak classifiers used from the OpenCV AdaBoost function. - - int number_of_classes_; // Number of classes this algorithm can detect. - - bool trained_boost_, trained_conditional_field_; // Variable that shows if the classifiers has already been trained. - -#if CV_MAJOR_VERSION == 2 - CvBoostParams params_; // Parameters for the classifiers - CvBoost room_boost_, hallway_boost_, doorway_boost_; // The AdaBoost-Classifier to induct the features needed in the conditional random field. -#else - cv::Ptr room_boost_, hallway_boost_, doorway_boost_; // The AdaBoost-Classifier to induct the features needed in the conditional random field. -#endif - - std::vector trained_conditional_weights_; // The weights that are needed for the feature-induction in the conditional random field. - - // Function to check if the given point is more far away from each point in the given set than the min_distance. - bool pointMoreFarAway(const std::set& points, const cv::Point& point, const double min_distance); - - std::vector raycasting(const cv::Mat& map, const cv::Point& location); - - // Function to get all possible configurations for n variables that each can have m labels. E.g. with 2 variables and 3 possible - // labels for each variable there are 9 different configurations. - void getPossibleConfigurations(std::vector >& possible_configurations, const std::vector& possible_labels, - const uint number_of_variables); - - // Function that swaps the label-configurations of CRF-nodes in a way s.t. the nodes are sorted in increasing order. Needed - // to use OpenGM for inference later. - void swapConfigsRegardingNodeIndices(std::vector >& configurations, size_t point_indices[]); - - // Function to calculate the feature vector for a given clique, using the trained AdaBoost classifiers. - void getAdaBoostFeatureVector(std::vector& feature_vector, Clique& clique, - std::vector& given_labels, std::vector& possible_labels); - - // Function that takes a map and draws a pruned voronoi graph in it. - void createPrunedVoronoiGraph(cv::Mat& map_for_voronoi_generation, std::set& node_points); - - // Function to find the Nodes for the conditional random field, given a voronoi-graph. - void findConditonalNodes(std::set& conditional_nodes, const cv::Mat& voronoi_map, - const cv::Mat& distance_map, const std::set& voronoi_nodes, - const int epsilon_for_neighborhood, const int max_iterations, const int min_neighborhood_size, - const double min_node_distance); - - // Function to create a conditional random field out of given points. It needs - // the voronoi-map extracted from the original map to find the neighbors for each point - // and the voronoi-node-points to add the right points as nodes. - void createConditionalField(const cv::Mat& voronoi_map, const std::set& node_points, - std::vector& conditional_random_field_cliques, const std::set& voronoi_node_points, - const cv::Mat& original_map); - - // Function that takes all given training maps and calculates the AdaBoost-Classifiers for them to best label a - // room, hallway and doorway. - void trainBoostClassifiers(const std::vector& training_maps, - std::vector< std::vector >& cliques_of_training_maps, const std::vector possible_labels, - const std::string& classifier_storage_path); // Function to train the AdaBoost classifiers, used for feature induction of the conditional - // random field. - - // Function to find the weights used to calculate the clique potentials. - void findConditionalWeights(std::vector< std::vector >& conditional_random_field_cliques, - std::vector >& random_field_node_points, const std::vector& training_maps, - std::vector& possible_labels, const std::string weights_filepath); - - -public: - // Constructor - VoronoiRandomFieldSegmentation(); - - // This function is used to train the algorithm. The above defined functions separately train the AdaBoost-classifiers and - // the conditional random field. By calling this function the training is done in the right order, because the AdaBoost-classifiers - // need to be trained to calculate features for the conditional random field. - void trainAlgorithms(const std::vector& original_maps, const std::vector& training_maps, - std::vector& voronoi_maps, const std::vector& voronoi_node_maps, - std::vector& possible_labels, const std::string storage_path, - const int epsilon_for_neighborhood, const int max_iterations, const int min_neighborhood_size, - const double min_node_distance); - - // This function is called to find minimal values of a defined log-likelihood-function using the library Dlib. - // This log-likelihood-function is made over all training data to get a likelihood-estimation linear in the weights. - // By minimizing this function the best weights are chosen, what is done here. See voronoi_random_field_segmentation.cpp at - // the beginning for detailed information. - // !!!!Important: The more training maps you have, the more factors appear in the log-likelihood over all maps. Be sure not to - // use too much training-maps, because then the log-likelihood-function easily produces values that are out of the - // double range, which Dlib can't handle. - column_vector findMinValue(unsigned int number_of_weights, double sigma, - const std::vector >& likelihood_parameters, const std::vector& starting_weights); // Function to find the minimal value of a function. Used to find the optimal weights for - // the conditional random field. - - // Function to segment a given map into different regions. It uses the above trained AdaBoost-classifiers and conditional-random-field. - // Also it uses OpenGM to do a inference in the created crf, so it uses the above defined typedefs. - void segmentMap(const cv::Mat& original_map, cv::Mat& segmented_map, const int epsilon_for_neighborhood, - const int max_iterations, const int min_neighborhood_size, std::vector& possible_labels, - const double min_node_distance, bool show_results, - const std::string classifier_storage_path, const std::string classifier_default_path, const int max_inference_iterations, - double map_resolution_from_subscription, double room_area_factor_lower_limit, double room_area_factor_upper_limit, - double max_area_for_merging, std::vector* door_points = NULL); - - // Function used to test several features separately. Not relevant. - void testFunc(const cv::Mat& original_map); - -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_segmentation.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_segmentation.h deleted file mode 100644 index 635b18c..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_segmentation.h +++ /dev/null @@ -1,27 +0,0 @@ -#include "ros/ros.h" -#include -#include -#include -#include -#include -#include - -#include - -#include -#include - - -class VoronoiSegmentation : public AbstractVoronoiSegmentation -{ -protected: - -public: - - VoronoiSegmentation(); - - //the segmentation-algorithm - void segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, - double room_area_factor_lower_limit, double room_area_factor_upper_limit, int neighborhood_index, int max_iterations, - double min_critical_point_distance_factor, double max_area_for_merging, bool display_map=false); -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/wavefront_region_growing.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/wavefront_region_growing.h deleted file mode 100644 index b1a8c20..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/wavefront_region_growing.h +++ /dev/null @@ -1,8 +0,0 @@ -#include -#include -#include -#include -#include -#include - -void wavefrontRegionGrowing(cv::Mat& image); diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/abstract_voronoi_segmentation.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/abstract_voronoi_segmentation.cpp deleted file mode 100644 index d1cfc42..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/abstract_voronoi_segmentation.cpp +++ /dev/null @@ -1,463 +0,0 @@ -#include - -#include -#include - -#include -#include - - - -AbstractVoronoiSegmentation::AbstractVoronoiSegmentation() -{ - -} - -bool AbstractVoronoiSegmentation::determineRoomIndexFromRoomID(const std::vector& rooms, const int room_id, size_t& room_index) -{ - bool found_id = false; - for (size_t r = 0; r < rooms.size(); r++) - { - if (rooms[r].getID() == room_id) - { - room_index = r; - found_id = true; - break; - } - } - - return found_id; -} - -void AbstractVoronoiSegmentation::mergeRoomPair(std::vector& rooms, const int target_index, const int room_to_merge_index, cv::Mat& segmented_map, const double map_resolution) -{ - // integrate room to merge into target and delete merged room - const int target_id = rooms[target_index].getID(); - const int room_to_merge_id = rooms[room_to_merge_index].getID(); - rooms[target_index].mergeRoom(rooms[room_to_merge_index], map_resolution); - rooms[room_to_merge_index].setRoomId(rooms[target_index].getID(), segmented_map); - rooms.erase(rooms.begin()+room_to_merge_index); - std::sort(rooms.begin(), rooms.end(), sortRoomsAscending); - - // update neighborhood statistics for remaining rooms - for (size_t i=0; i& neighbor_ids = rooms[i].getNeighborIDs(); - std::vector::iterator it = std::find(neighbor_ids.begin(), neighbor_ids.end(), room_to_merge_id); - if (it != neighbor_ids.end()) - { - std::vector::iterator it2 = std::find(neighbor_ids.begin(), neighbor_ids.end(), target_id); - if (it2 != neighbor_ids.end()) - neighbor_ids.erase(it); - else - *it = target_id; - } - - std::map& neighbor_statistics = rooms[i].getNeighborStatistics(); - std::map::iterator it3 = neighbor_statistics.find(room_to_merge_id); - if (it3 != neighbor_statistics.end()) - { - std::map::iterator it4 = neighbor_statistics.find(target_id); - if (it4 != neighbor_statistics.end()) - it4->second += it3->second; - else - neighbor_statistics[target_id] = it3->second; - neighbor_statistics.erase(it3); - } - } -} - -void AbstractVoronoiSegmentation::drawVoronoi(cv::Mat &img, const std::vector >& facets_of_voronoi, const cv::Scalar voronoi_color, const cv::Mat& eroded_map) -{ - // go trough each facet of the calculated Voronoi-graph and check if it should be drawn. - for (std::vector >::const_iterator current_contour = facets_of_voronoi.begin(); current_contour != facets_of_voronoi.end(); ++current_contour) - { - // saving-variable for the last Point that has been looked at - cv::Point2f last_point = current_contour->back(); - // draw each line of the voronoi-cell - for (size_t c = 0; c < current_contour->size(); ++c) - { - // variable to check, whether a Point is inside a white area or not - bool inside = true; - cv::Point2f current_point = current_contour->at(c); - // only draw lines that are inside the map-contour - if (((int)current_point.x<0) || ((int)current_point.x >= eroded_map.cols) || - ((int)current_point.y<0) || ((int)current_point.y >= eroded_map.rows) || - eroded_map.at((int)current_point.y, (int)current_point.x) == 0 || - ((int)last_point.x<0) || ((int)last_point.x >= eroded_map.cols) || - ((int)last_point.y<0) || ((int)last_point.y >= eroded_map.rows) || - eroded_map.at((int)last_point.y, (int)last_point.x) == 0) - inside = false; - if (inside) - { - cv::line(img, last_point, current_point, voronoi_color, 1); - } - last_point = current_point; - } - } -} - -//****************Create the Generalized Voronoi-Diagram********************** -// This function is here to create the generalized voronoi-graph in the given map. It does following steps: -// 1. It finds every discretized contour in the given map (they are saved as vector). Then it takes these -// contour-Points and adds them to the OpenCV Delaunay generator from which the voronoi-cells can be generated. -// 2. Finally it gets the boundary-Points of the voronoi-cells with getVoronoiFacetList. It takes these facets -// and draws them using the drawVoronoi function. This function draws the facets that only have Points inside -// the map-contour (other lines go to not-reachable places and are not necessary to be looked at). -// 3. It returns the map that has the generalized voronoi-graph drawn in. -void AbstractVoronoiSegmentation::createVoronoiGraph(cv::Mat& map_for_voronoi_generation) -{ - cv::Mat map_to_draw_voronoi_in = map_for_voronoi_generation.clone(); //variable to save the given map for drawing in the voronoi-diagram - - cv::Mat temporary_map_to_calculate_voronoi = map_for_voronoi_generation.clone(); //variable to save the given map in the createVoronoiGraph-function - - //apply a closing-operator on the map so bad parts are neglected - cv::erode(temporary_map_to_calculate_voronoi, temporary_map_to_calculate_voronoi, cv::Mat()); - cv::dilate(temporary_map_to_calculate_voronoi, temporary_map_to_calculate_voronoi, cv::Mat()); - - //********************1. Get OpenCV delaunay-traingulation****************************** - cv::Rect rect(0, 0, map_to_draw_voronoi_in.cols, map_to_draw_voronoi_in.rows); //variables to generate the voronoi-diagram, using OpenCVs delaunay-triangulation - cv::Subdiv2D subdiv(rect); - std::vector > hole_contours; //variable to save the hole-contours (= black holes inside the white map) - std::vector > contours; //variables for contour extraction and discretisation - //hierarchy saves if the contours are hole-contours: - //hierarchy[{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour} - //child-contour = 1 if it has one, = -1 if not, same for parent_contour - std::vector hierarchy; - - //get contours of the map - cv::Mat temp = map_to_draw_voronoi_in.clone(); -#if CV_MAJOR_VERSION<=3 - cv::findContours(temp, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); - cv::drawContours(map_to_draw_voronoi_in, contours, -1, cv::Scalar(255), CV_FILLED); -#else - cv::findContours(temp, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); - cv::drawContours(map_to_draw_voronoi_in, contours, -1, cv::Scalar(255), cv::FILLED); -#endif - - //put every point of the map-contours into the Delaunay-generator of OpenCV - for (int current_contour = 0; current_contour < contours.size(); current_contour++) - { - for (int current_point = 0; current_point < contours[current_contour].size(); current_point++) - { - cv::Point fp = contours[current_contour][current_point]; - subdiv.insert(fp); - } - //get the contours of the black holes --> it is necessary to check if points are inside these in drawVoronoi - if (hierarchy[current_contour][2] == -1 && hierarchy[current_contour][3] != -1) - { - hole_contours.push_back(contours[current_contour]); - } - } - - //********************2. Get facets and draw voronoi-Graph****************************** - //erode the map so that points near the boundary are not drawn later (see drawVoronoi) - cv::Mat eroded_map; - cv::Point anchor(-1, -1); - cv::erode(temporary_map_to_calculate_voronoi, eroded_map, cv::Mat(), anchor, 2); - - //get the Voronoi regions from the delaunay-subdivision graph - const cv::Scalar voronoi_color(127); //define the voronoi-drawing colour - std::vector > voronoi_facets; // variables to find the facets and centers of the voronoi-cells - std::vector voronoi_centers; - subdiv.getVoronoiFacetList(std::vector(), voronoi_facets, voronoi_centers); - - //draw the voronoi-regions into the map - drawVoronoi(map_to_draw_voronoi_in, voronoi_facets, voronoi_color, eroded_map); - - //make pixels black, which were black before and were colored by the voronoi-regions - for (int v = 0; v < map_to_draw_voronoi_in.rows; v++) - { - for (int u = 0; u < map_to_draw_voronoi_in.cols; u++) - { - if (map_for_voronoi_generation.at(v, u) == 0) - { - map_to_draw_voronoi_in.at(v, u) = 0; - } - } - } - map_for_voronoi_generation = map_to_draw_voronoi_in; -} - -void AbstractVoronoiSegmentation::pruneVoronoiGraph(cv::Mat& voronoi_map, std::set& node_points) -{ - // 1.extract the node-points that have at least three neighbors on the voronoi diagram - // node-points are points on the voronoi-graph that have at least 3 neighbors - for (int v = 1; v < voronoi_map.rows-1; v++) - { - for (int u = 1; u < voronoi_map.cols-1; u++) - { - if (voronoi_map.at(v, u) == 127) - { - int neighbor_count = 0; // variable to save the number of neighbors for each point - // check 3x3 region around current pixel - for (int row_counter = -1; row_counter <= 1; row_counter++) - { - for (int column_counter = -1; column_counter <= 1; column_counter++) - { - // don't check the point itself - if (row_counter == 0 && column_counter == 0) - continue; - - //check if neighbors are colored with the voronoi-color - if (voronoi_map.at(v + row_counter, u + column_counter) == 127) - { - neighbor_count++; - } - } - } - if (neighbor_count > 2) - { - node_points.insert(cv::Point(u,v)); - } - } - } - } - - // 2.reduce the side-lines along the voronoi-graph by checking if it has only one neighbor until a node-point is reached - // --> make it white - // repeat a large enough number of times so the graph converges - for (int step = 0; step < 100; step++) - { - for (int v = 0; v < voronoi_map.rows; v++) - { - for (int u = 0; u < voronoi_map.cols; u++) - { - // set that the point is a point along the graph and not a side-line - if (voronoi_map.at(v, u) == 127) - { - int neighbor_count = 0; //variable to save the number of neighbors for each point - for (int row_counter = -1; row_counter <= 1; row_counter++) - { - for (int column_counter = -1; column_counter <= 1; column_counter++) - { - // don't check the point itself - if (row_counter == 0 && column_counter == 0) - continue; - - // check the surrounding points - const int nv = v + row_counter; - const int nu = u + column_counter; - if (nv >= 0 && nu >= 0 && nv < voronoi_map.rows && nu < voronoi_map.cols && voronoi_map.at(nv, nu) == 127) - { - neighbor_count++; - } - } - } - //if the current point is a node point found in the previous step, it belongs to the voronoi-graph - if (neighbor_count <= 1 && node_points.find(cv::Point(u,v)) == node_points.end()) - { - //if the Point isn't on the voronoi-graph make it white - voronoi_map.at(v, u) = 255; - } - } - } - } - } -} - -void AbstractVoronoiSegmentation::mergeRooms(cv::Mat& map_to_merge_rooms, std::vector& rooms, double map_resolution_from_subscription, double max_area_for_merging, bool display_map) -{ - // This function takes the segmented Map from the original Voronoi-segmentation-algorithm and merges rooms together, - // that are small enough and have only two or one neighbor. - - // 1. go trough every pixel and add points to the rooms with the same ID - for (int y = 0; y < map_to_merge_rooms.rows; y++) - { - for (int x = 0; x < map_to_merge_rooms.cols; x++) - { - int current_id = map_to_merge_rooms.at(y, x); - if (current_id != 0) - { - for (size_t current_room = 0; current_room < rooms.size(); current_room++) //add the Points with the same Id as a room to it - { - if (rooms[current_room].getID() == current_id) //insert the current point into the corresponding room - { - rooms[current_room].insertMemberPoint(cv::Point(x, y), map_resolution_from_subscription); - break; - } - } - } - } - } - - // 2. add the neighbor IDs for every point - for (int current_room = 0; current_room < rooms.size(); current_room++) - { - const int current_id = rooms[current_room].getID(); - std::vector considered_neighbors; // storage for already counted neighborhood points - const std::vector& current_points = rooms[current_room].getMembers(); - for (int current_point = 0; current_point < current_points.size(); current_point++) - { - for (int row_counter = -1; row_counter <= 1; row_counter++) - { - for (int col_counter = -1; col_counter <= 1; col_counter++) - { - const int label = map_to_merge_rooms.at(current_points[current_point].y + row_counter, current_points[current_point].x + col_counter); - - // collect neighbor IDs - if (label != 0 && label != current_id) - rooms[current_room].addNeighborID(label); - - // neighborhood statistics - cv::Point neighbor_point(current_points[current_point].x + col_counter, current_points[current_point].y + row_counter); - if (!contains(considered_neighbors, neighbor_point) && label != current_id) - { - rooms[current_room].addNeighbor(label); - considered_neighbors.push_back(neighbor_point); - } - } - } - } - } - - // 3. merge criteria - // sort rooms ascending by area - std::sort(rooms.begin(), rooms.end(), sortRoomsAscending); - // a) rooms with one neighbor and max. 75% walls around - for (int current_room_index = 0; current_room_index < rooms.size(); ) - { - Room& current_room = rooms[current_room_index]; - bool merge_rooms = false; - size_t merge_index = 0; - - if (current_room.getNeighborCount() == 1 && current_room.getArea() < max_area_for_merging && current_room.getWallToPerimeterRatio() <= 0.75) - { - // check every room if it should be merged with its neighbor that it shares the most boundary with - merge_rooms = determineRoomIndexFromRoomID(rooms, current_room.getNeighborWithLargestCommonBorder(), merge_index); - } - - if (merge_rooms == true) - { - //std::cout << "merge " << current_room.getCenter() << ", id=" << current_room.getID() << " into " << rooms[merge_index].getCenter() << ", id=" << rooms[merge_index].getID() << std::endl; - mergeRoomPair(rooms, merge_index, current_room_index, map_to_merge_rooms, map_resolution_from_subscription); - current_room_index = 0; - } - else - current_room_index++; - } - if (display_map == true) - cv::imshow("a", map_to_merge_rooms); - - // b) small rooms - for (int current_room_index = 0; current_room_index < rooms.size(); ) - { - Room& current_room = rooms[current_room_index]; - bool merge_rooms = false; - size_t merge_index = 0; - - const int max_border_neighbor_id = current_room.getNeighborWithLargestCommonBorder(); - if (current_room.getArea() < 2.0 && (double)current_room.getNeighborStatistics()[max_border_neighbor_id]/current_room.getPerimeter() > 0.2) - { - // merge with that neighbor that shares the most neighboring pixels - merge_rooms = determineRoomIndexFromRoomID(rooms, max_border_neighbor_id, merge_index); - if ((double)rooms[merge_index].getWallToPerimeterRatio() > 0.8) //0.8 - merge_rooms = false; - } - - if (merge_rooms == true) - { - //std::cout << "merge " << current_room.getCenter() << ", id=" << current_room.getID() << " into " << rooms[merge_index].getCenter() << ", id=" << rooms[merge_index].getID() << std::endl; - mergeRoomPair(rooms, merge_index, current_room_index, map_to_merge_rooms, map_resolution_from_subscription); - current_room_index = 0; - } - else - current_room_index++; - } - if (display_map == true) - cv::imshow("b", map_to_merge_rooms); - - // c) merge a room with one neighbor that has max. 2 neighbors and sufficient wall ratio (connect parts inside a room) - for (int current_room_index = 0; current_room_index < rooms.size(); ) - { - Room& current_room = rooms[current_room_index]; - bool merge_rooms = false; - size_t merge_index = 0; - - // merge a room with one neighbor that has max. 2 neighbors and sufficient wall ratio (connect parts inside a room) - const int max_border_neighbor_id = current_room.getNeighborWithLargestCommonBorder(); - if ((current_room.getNeighborCount()==1 || current_room.getPerimeterRatioOfXLargestRooms(1)>0.98) && current_room.getWallToPerimeterRatio() > 0.5 && - (double)current_room.getNeighborStatistics()[max_border_neighbor_id]/current_room.getPerimeter() > 0.15) - { - // merge with that neighbor that shares the most neighboring pixels - merge_rooms = determineRoomIndexFromRoomID(rooms, max_border_neighbor_id, merge_index); - if (rooms[merge_index].getNeighborCount() > 2 && rooms[merge_index].getPerimeterRatioOfXLargestRooms(2)<0.95) // || rooms[merge_index].getWallToPerimeterRatio() < 0.4) - merge_rooms = false; - } - - if (merge_rooms == true) - { - //std::cout << "merge " << current_room.getCenter() << ", id=" << current_room.getID() << " into " << rooms[merge_index].getCenter() << ", id=" << rooms[merge_index].getID() << std::endl; - mergeRoomPair(rooms, merge_index, current_room_index, map_to_merge_rooms, map_resolution_from_subscription); - current_room_index = 0; - } - else - current_room_index++; - } - if (display_map == true) - cv::imshow("c", map_to_merge_rooms); - - // d) merge rooms that share a significant part of their perimeter - for (int current_room_index = 0; current_room_index < rooms.size(); ) - { - Room& current_room = rooms[current_room_index]; - bool merge_rooms = false; - size_t merge_index = 0; - - std::map< int,int,std::greater > neighbor_room_statistics_inverse; // common border length, room_id - current_room.getNeighborStatisticsInverse(neighbor_room_statistics_inverse); -// std::vector& neighbor_ids = current_room.getNeighborIDs(); -// for (size_t n=0; n >::iterator it=neighbor_room_statistics_inverse.begin(); it!=neighbor_room_statistics_inverse.end(); ++it) - { - if (it->second==0) - continue; // skip wall - - const double neighbor_border_ratio = (double)current_room.getNeighborStatistics()[it->second]/current_room.getPerimeter(); - if (neighbor_border_ratio > 0.2 || (neighbor_border_ratio > 0.1 && current_room.getWallToPerimeterRatio() > (1-2*neighbor_border_ratio-0.05) && current_room.getWallToPerimeterRatio() < (1-neighbor_border_ratio))) - { - // merge with that neighbor that shares the most neighboring pixels - merge_rooms = determineRoomIndexFromRoomID(rooms, it->second, merge_index); - if ((double)rooms[merge_index].getNeighborStatistics()[current_room.getID()]/rooms[merge_index].getPerimeter() <= 0.1) - merge_rooms = false; - if (merge_rooms == true) - break; - } - } - - if (merge_rooms == true) - { - //std::cout << "merge " << current_room.getCenter() << ", id=" << current_room.getID() << " into " << rooms[merge_index].getCenter() << ", id=" << rooms[merge_index].getID() << std::endl; - mergeRoomPair(rooms, merge_index, current_room_index, map_to_merge_rooms, map_resolution_from_subscription); - current_room_index = 0; - } - else - current_room_index++; - } - if (display_map == true) - cv::imshow("d", map_to_merge_rooms); - - // e) largest room neighbor touches > 0.5 perimeter (happens often with furniture) - for (int current_room_index = 0; current_room_index < rooms.size(); ) - { - Room& current_room = rooms[current_room_index]; - bool merge_rooms = false; - size_t merge_index = 0; - - const int max_border_neighbor_id = current_room.getNeighborWithLargestCommonBorder(); - if ((double)current_room.getNeighborStatistics()[max_border_neighbor_id]/current_room.getPerimeter() > 0.4) - { - // merge with that neighbor that shares the most neighboring pixels - merge_rooms = determineRoomIndexFromRoomID(rooms, max_border_neighbor_id, merge_index); - } - - if (merge_rooms == true) - { - //std::cout << "merge " << current_room.getCenter() << ", id=" << current_room.getID() << " into " << rooms[merge_index].getCenter() << ", id=" << rooms[merge_index].getID() << std::endl; - mergeRoomPair(rooms, merge_index, current_room_index, map_to_merge_rooms, map_resolution_from_subscription); - current_room_index = 0; - } - else - current_room_index++; - } -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/adaboost_classifier.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/adaboost_classifier.cpp deleted file mode 100644 index 94071f3..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/adaboost_classifier.cpp +++ /dev/null @@ -1,512 +0,0 @@ -#include - -#include -#include -#include - -#include - -#include - -AdaboostClassifier::AdaboostClassifier() -{ - //save the angles between the simulated beams, used in the following algorithm - for (double angle = 0; angle < 360; angle++) - { - angles_for_simulation_.push_back(angle); - } -#if CV_MAJOR_VERSION == 2 - // Set up boosting parameters - CvBoostParams params(CvBoost::DISCRETE, 350, 0, 2, false, 0); - params_ = params; -#endif - trained_ = false; -} - -void AdaboostClassifier::trainClassifiers(const std::vector& room_training_maps, const std::vector& hallway_training_maps, - const std::string& classifier_storage_path, bool load_features) -{ - //**************************Training-Algorithm for the AdaBoost-classifiers***************************** - //This Alogrithm trains two AdaBoost-classifiers from OpenCV. It takes the given training maps and finds the Points - //that are labeled as a room/hallway and calculates the features defined in ipa_room_segmentation/features.h. - //Then these vectors are put in a format that OpenCV expects for the classifiers and then they are trained. - std::vector labels_for_hallways, labels_for_rooms; - std::vector > hallway_features, room_features; - std::vector temporary_beams; - std::vector temporary_features; - cv::Mat hallway_labels_mat, room_labels_mat; - cv::Mat hallway_features_mat, room_features_mat; - std::cout << "Starting to train the algorithm." << std::endl; - std::cout << "number of room training maps: " << room_training_maps.size() << std::endl; - std::cout << "number of hallway training maps: " << hallway_training_maps.size() << std::endl; - //Get the labels for every training point. 1.0 means it belongs to a room and -1.0 means it belongs to a hallway - // if not loading precomputed features, compute them here - if(load_features==false) - { - LaserScannerFeatures lsf; - for(size_t map = 0; map < room_training_maps.size(); ++map) - { - for (int y = 0; y < room_training_maps[map].rows; y++) - { - for (int x = 0; x < room_training_maps[map].cols; x++) - { - if (room_training_maps[map].at(y, x) != 0) - { - //check for label of each Pixel (if it belongs to rooms the label is 1, otherwise it is -1) - if (room_training_maps[map].at(y, x) > 250) - { - labels_for_rooms.push_back(-1); - } - else - { - labels_for_rooms.push_back(1); - } - //simulate the beams and features for every position and save it - raycasting_.raycasting(room_training_maps[map], cv::Point(x, y), temporary_beams); - cv::Mat features; - lsf.get_features(temporary_beams, angles_for_simulation_, cv::Point(x, y), features); - temporary_features.resize(features.cols); - for (int i=0; i(0,i); - room_features.push_back(temporary_features); - temporary_features.clear(); - } - } - } - std::cout << "done one room map" << std::endl; - } - - for(size_t map = 0; map < hallway_training_maps.size(); ++map) - { - for (int y = 0; y < hallway_training_maps[map].rows; y++) - { - for (int x = 0; x < hallway_training_maps[map].cols; x++) - { - if (hallway_training_maps[map].at(y, x) != 0) - { - //check for label of each Pixel (if it belongs to hallways the label is 1, otherwise it is -1) - if (hallway_training_maps[map].at(y, x) > 250) - { - labels_for_hallways.push_back(-1); - } - else - { - labels_for_hallways.push_back(1); - } - //simulate the beams and features for every position and save it - raycasting_.raycasting(hallway_training_maps[map], cv::Point(x, y), temporary_beams); - cv::Mat features; - lsf.get_features(temporary_beams, angles_for_simulation_, cv::Point(x, y), features); - temporary_features.resize(features.cols); - for (int i=0; i(0,i); - hallway_features.push_back(temporary_features); - temporary_features.clear(); - } - } - } - std::cout << "done one hallway map" << std::endl; - } - - //save the found labels and features in Matrices --> hallway - hallway_labels_mat = cv::Mat(labels_for_hallways); - hallway_features_mat = cv::Mat(hallway_features.size(), lsf.get_feature_count(), CV_32FC1); - for (int i = 0; i < labels_for_hallways.size(); i++) - { - // hallway_labels_mat.at(i, 0) = labels_for_hallways[i]; - for (int f = 0; f < hallway_features[i].size(); f++) - { - hallway_features_mat.at(i, f) = (float) hallway_features[i][f]; - } - } - //save the found labels and features in Matrices --> rooms - room_labels_mat = cv::Mat(labels_for_rooms); - room_features_mat = cv::Mat(room_features.size(), lsf.get_feature_count(), CV_32FC1); - for (int i = 0; i < labels_for_rooms.size(); i++) - { - // room_labels_mat.at(i, 0) = labels_for_rooms[i]; - for (int f = 0; f < room_features[i].size(); f++) - { - room_features_mat.at(i, f) = (float) room_features[i][f]; - } - } - - // // save feature data to file - cv::FileStorage fs(classifier_storage_path+"_features.yml", cv::FileStorage::WRITE); - if (fs.isOpened()) - { - fs << "hallway_features_mat" << hallway_features_mat; - fs << "hallway_labels_mat" << hallway_labels_mat; - fs << "room_features_mat" << room_features_mat; - fs << "room_labels_mat" << room_labels_mat; - } - fs.release(); - } - else - { - // load the feature data from file - cv::FileStorage fs(classifier_storage_path+"_features.yml", cv::FileStorage::READ); - std::cout << "Loading feature data from file: " << classifier_storage_path+"_features.yml" << std::endl; - if (fs.isOpened()) - { - fs["hallway_features_mat"] >> hallway_features_mat; - fs["hallway_labels_mat"] >> hallway_labels_mat; - fs["room_features_mat"] >> room_features_mat; - fs["room_labels_mat"] >> room_labels_mat; - } - std::cout << "Loaded features data" << std::endl; - fs.release(); - } - - // check if path for storing classifier models exists - boost::filesystem::path storage_path(classifier_storage_path); - if (boost::filesystem::exists(storage_path) == false) - { - if (boost::filesystem::create_directories(storage_path) == false && boost::filesystem::exists(storage_path) == false) - { - std::cout << "Error: AdaboostClassifier::trainClassifiers: Could not create directory " << storage_path << std::endl; - return; - } - } - - //*********hallway*************** - std::string filename_hallway = classifier_storage_path + "semantic_hallway_boost.xml"; -#if CV_MAJOR_VERSION == 2 - // Train a boost classifier - hallway_boost_.train(hallway_features_mat, CV_ROW_SAMPLE, hallway_labels_mat, cv::Mat(), cv::Mat(), cv::Mat(), cv::Mat(), params_); - //save the trained booster - hallway_boost_.save(filename_hallway.c_str(), "boost"); -#else - // Train a boost classifier - hallway_boost_ = cv::ml::Boost::create(); - hallway_boost_->setBoostType(cv::ml::Boost::REAL); - hallway_boost_->setWeakCount(350); - hallway_boost_->setWeightTrimRate(0); - hallway_boost_->setMaxDepth(2); - hallway_boost_->setUseSurrogates(false); - hallway_boost_->setPriors(cv::Mat()); - hallway_boost_->train(hallway_features_mat, cv::ml::ROW_SAMPLE, hallway_labels_mat); - //save the trained booster - hallway_boost_->save(filename_hallway.c_str()); -#endif - ROS_INFO("Done hallway classifiers."); - - //*************room*************** - std::string filename_room = classifier_storage_path + "semantic_room_boost.xml"; -#if CV_MAJOR_VERSION == 2 - // Train a boost classifier - room_boost_.train(room_features_mat, CV_ROW_SAMPLE, room_labels_mat, cv::Mat(), cv::Mat(), cv::Mat(), cv::Mat(), params_); - //save the trained booster - room_boost_.save(filename_room.c_str(), "boost"); -#else - // Train a boost classifier - room_boost_ = cv::ml::Boost::create(); - room_boost_->setBoostType(cv::ml::Boost::REAL); - room_boost_->setWeakCount(350); - room_boost_->setWeightTrimRate(0); - room_boost_->setMaxDepth(2); - room_boost_->setUseSurrogates(false); - room_boost_->setPriors(cv::Mat()); - room_boost_->train(room_features_mat, cv::ml::ROW_SAMPLE, room_labels_mat); - //save the trained booster - room_boost_->save(filename_room.c_str()); -#endif - - //set the trained-variabel true, so the labeling-algorithm knows the classifiers have been trained already - trained_ = true; - ROS_INFO("Done room classifiers."); - ROS_INFO("Finished training the algorithm."); -} - -void AdaboostClassifier::segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, - double room_area_factor_lower_limit, double room_area_factor_upper_limit, const std::string& classifier_storage_path, - const std::string& classifier_default_path, bool display_results) -{ - //******************Semantic-labeling function based on AdaBoost***************************** - //This function calculates single-valued features for every white Pixel in the given occupancy-gridmap and classifies it - //using the AdaBoost-algorithm from OpenCV. It does the following steps: - // I. If the classifiers hasn't been trained before they should load the training-results saved in the - // classifier_models folder - // II. Go trough each Pixel of the given map. If this Pixel is white simulate the laser-beams for it and calculate each - // of the implemented features. - // III. Apply a median-Filter on the labeled map to smooth the output of it. - // IV. Find the contours of the segments given by III. by thresholding the map. First set the threshold so high that - // only room-areas are shown in the map and find them. Then make these room-areas black and finally set the threshold - // a little lower than the hallway-colour. The function only takes contours that are larger than the minimum value - // and splits too large hallway-areas into smaller areas by putting random Points into the too large hallway contour - // and apply a watershed-algorithm on it. At last the saved room and hallway contours are drawn with a random - // colour into the map that hasn't been used already. - - cv::Mat original_map_to_be_labeled = map_to_be_labeled.clone(); - ROS_INFO("Starting to label the map."); - //***********************I. check if classifiers has already been trained***************************** - if (!trained_) //classifiers hasn't been trained before so they should be loaded - { - // check if path for storing classifier models exists - boost::filesystem::path storage_path(classifier_storage_path); - if (boost::filesystem::exists(storage_path) == false) - { - if (boost::filesystem::create_directories(storage_path) == false && boost::filesystem::exists(storage_path) == false) - { - std::cout << "Error: AdaboostClassifier::segmentMap: Could not create directory " << storage_path << std::endl; - return; - } - } - - std::string filename_room = classifier_storage_path + "semantic_room_boost.xml"; - std::string filename_room_default = classifier_default_path + "semantic_room_boost.xml"; - if (boost::filesystem::exists(boost::filesystem::path(filename_room)) == false) - boost::filesystem::copy_file(filename_room_default, filename_room); - loadBoost(room_boost_, filename_room); - - std::string filename_hallway = classifier_storage_path + "semantic_hallway_boost.xml"; - std::string filename_hallway_default = classifier_default_path + "semantic_hallway_boost.xml"; - if (boost::filesystem::exists(boost::filesystem::path(filename_hallway)) == false) - boost::filesystem::copy_file(filename_hallway_default, filename_hallway); - loadBoost(hallway_boost_,filename_hallway); - - trained_ = true; - ROS_INFO("Loaded training results."); - } - - //*************** II. Go trough each Point and label it as room or hallway.************************** -#pragma omp parallel for - for (int y = 0; y < original_map_to_be_labeled.rows; y++) - { - LaserScannerFeatures lsf; - for (int x = 0; x < original_map_to_be_labeled.cols; x++) - { - if (original_map_to_be_labeled.at(y, x) == 255) - { - std::vector temporary_beams; - raycasting_.raycasting(original_map_to_be_labeled, cv::Point(x, y), temporary_beams); - std::vector temporary_features; - cv::Mat features_mat; //OpenCV expects a 32-floating-point Matrix as feature input - lsf.get_features(temporary_beams, angles_for_simulation_, cv::Point(x, y), features_mat); - //classify each Point -#if CV_MAJOR_VERSION == 2 - float room_sum = room_boost_.predict(features_mat, cv::Mat(), cv::Range::all(), false, true); - float hallway_sum = hallway_boost_.predict(features_mat, cv::Mat(), cv::Range::all(), false, true); -#else - float room_sum = room_boost_->predict(features_mat, cv::noArray(), cv::ml::Boost::PREDICT_SUM); - float hallway_sum = hallway_boost_->predict(features_mat, cv::noArray(), cv::ml::Boost::PREDICT_SUM); -#endif - //get the certanity-values for each class (it shows the probability that it belongs to the given class) - double room_certanity = (std::exp((double) room_sum)) / (std::exp(-1 * (double) room_sum) + std::exp((double) room_sum)); - double hallway_certanity = (std::exp((double) hallway_certanity)) - / (std::exp(-1 * (double) hallway_certanity) + std::exp((double) hallway_certanity)); - //make a decision-list and check which class the Point belongs to - double probability_for_room = room_certanity; - double probability_for_hallway = hallway_certanity * (1.0 - probability_for_room); - if (probability_for_room > probability_for_hallway) - { - original_map_to_be_labeled.at(y, x) = 150; //label it as room - } - else - { - original_map_to_be_labeled.at(y, x) = 100; //label it as hallway - } - } - } - } - std::cout << "labeled all white pixels: " << std::endl; - //******************** III. Apply a median filter over the image to smooth the results.*************************** - cv::Mat temporary_map = original_map_to_be_labeled.clone(); - cv::medianBlur(temporary_map, temporary_map, 3); - std::cout << "blurred image" << std::endl; - - //make regions black, that have been black before - for (int x = 0; x < original_map_to_be_labeled.rows; x++) - { - for (int y = 0; y < original_map_to_be_labeled.cols; y++) - { - if (original_map_to_be_labeled.at(x, y) == 0) - { - temporary_map.at(x, y) = 0; - } - } - } -// cv::imshow("thresholded", temporary_map); -// cv::waitKey(); - if(display_results) - { - cv::imshow("classified", temporary_map); - cv::waitKey(); - } - cv::Mat blured_image_for_thresholding = temporary_map.clone(); - - //*********** IV. Fill the large enough rooms with a random color and split the hallways into smaller regions********* - std::vector > contours, temporary_contours, saved_room_contours, saved_hallway_contours; - //hierarchy saves if the contours are hole-contours: - //hierarchy[{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour} - //child-contour = 1 if it has one, = -1 if not, same for parent_contour - std::vector < cv::Vec4i > hierarchy; - - std::vector < cv::Scalar > already_used_colors; //saving-vector for the already used coloures - - //find the contours, which are labeled as a room - cv::threshold(temporary_map, temporary_map, 120, 255, cv::THRESH_BINARY); //find rooms (value = 150) -#if CV_MAJOR_VERSION<=3 - cv::findContours(temporary_map, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); - cv::drawContours(blured_image_for_thresholding, contours, -1, cv::Scalar(0), CV_FILLED); //make the found regions at the original map black, because they have been looked at already -#else - cv::findContours(temporary_map, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); - cv::drawContours(blured_image_for_thresholding, contours, -1, cv::Scalar(0), cv::FILLED); //make the found regions at the original map black, because they have been looked at already -#endif - - //only take rooms that are large enough and that are not a hole-contour - for (int c = 0; c < contours.size(); c++) - { - if (map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[c]) > room_area_factor_lower_limit - && hierarchy[c][3] != 1) - { - saved_room_contours.push_back(contours[c]); - } - } - //find the contours, which are labeled as a hallway - map_to_be_labeled.convertTo(segmented_map, CV_32SC1, 256, 0); // rescale to 32 int, 255 --> 255*256 = 65280 - temporary_map = blured_image_for_thresholding.clone(); - - cv::threshold(temporary_map, temporary_map, 90, 255, cv::THRESH_BINARY); //find hallways (value = 100) -#if CV_MAJOR_VERSION<=3 - cv::findContours(temporary_map, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); -#else - cv::findContours(temporary_map, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); -#endif - //if the hallway-contours are too big split them into smaller regions, also don't take too small regions - for (int contour_counter = 0; contour_counter < contours.size(); contour_counter++) - { - if (map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[contour_counter]) > room_area_factor_upper_limit) - { - //Generate a black map to draw the hallway-contour in. Then use this map to ckeck if the generated random Points - // are inside the contour. - cv::Mat contour_Map = cv::Mat::zeros(temporary_map.rows, temporary_map.cols, CV_8UC1); -#if CV_MAJOR_VERSION<=3 - cv::drawContours(contour_Map, contours, contour_counter, cv::Scalar(255), CV_FILLED); -#else - cv::drawContours(contour_Map, contours, contour_counter, cv::Scalar(255), cv::FILLED); -#endif - cv::erode(contour_Map, contour_Map, cv::Mat(), cv::Point(-1,-1), 10); - //center-counter so enough centers could be found - int center_counter = 0; - //saving-vector for watershed centers - std::vector < cv::Point > temporary_watershed_centers; - //find enough random watershed centers that are inside the hallway-contour - do - { - int random_x = rand() % temporary_map.rows; - int random_y = rand() % temporary_map.cols; - if (contour_Map.at(random_y, random_x) == 255) - { - temporary_watershed_centers.push_back(cv::Point(random_x, random_y)); - center_counter++; - } - } while (center_counter <= (map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[contour_counter])) / 8); - cv::Mat temporary_Map_to_wavefront; - contour_Map.convertTo(temporary_Map_to_wavefront, CV_32SC1, 256, 0); - //draw the centers as white circles into a black map and give the center-map and the contour-map to the opencv watershed-algorithm - for (int current_center = 0; current_center < temporary_watershed_centers.size(); current_center++) - { - bool coloured = false; - do - { - cv::Scalar fill_colour(rand() % 52224 + 13056); - if (!contains(already_used_colors, fill_colour)) - { -#if CV_MAJOR_VERSION<=3 - cv::circle(temporary_Map_to_wavefront, temporary_watershed_centers[current_center], 2, fill_colour, CV_FILLED); -#else - cv::circle(temporary_Map_to_wavefront, temporary_watershed_centers[current_center], 2, fill_colour, cv::FILLED); -#endif - already_used_colors.push_back(fill_colour); - coloured = true; - } - } while (!coloured); - } - //make sure all previously black Pixels are still black - for (int x = 0; x < map_to_be_labeled.rows; x++) - { - for (int y = 0; y < map_to_be_labeled.cols; y++) - { - if (map_to_be_labeled.at(x, y) == 0) - { - temporary_Map_to_wavefront.at(x, y) = 0; - } - } - } - wavefrontRegionGrowing(temporary_Map_to_wavefront); - //draw the seperated contour into the map, which should be labeled - for (int row = 0; row < segmented_map.rows; row++) - { - for (int col = 0; col < segmented_map.cols; col++) - { - if (temporary_Map_to_wavefront.at(row, col) != 0) - { - segmented_map.at(row, col) = temporary_Map_to_wavefront.at(row, col); - } - } - } - } - else if (map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[contour_counter]) - > room_area_factor_lower_limit) - { - saved_hallway_contours.push_back(contours[contour_counter]); - } - } - std::cout << "finished too big hallway contours" << std::endl; - //draw every room and lasting hallway contour with a random colour into the map - for (int room = 0; room < saved_room_contours.size(); room++) - { - bool coloured = false; - do - { - cv::Scalar fill_colour(rand() % 52224 + 13056); - if (!contains(already_used_colors, fill_colour)) - { -#if CV_MAJOR_VERSION<=3 - cv::drawContours(segmented_map, saved_room_contours, room, fill_colour, CV_FILLED); -#else - cv::drawContours(segmented_map, saved_room_contours, room, fill_colour, cv::FILLED); -#endif - already_used_colors.push_back(fill_colour); - coloured = true; - } - } while (!coloured); - } - std::cout << "finished room contours" << std::endl; - for (int hallway = 0; hallway < saved_hallway_contours.size(); hallway++) - { - bool coloured = false; - int loop_counter = 0; //loop-counter to exit the loop if it gets a infite loop - do - { - loop_counter++; - cv::Scalar fill_colour(rand() % 52224 + 13056); - if (!contains(already_used_colors, fill_colour) || loop_counter > 250) - { -#if CV_MAJOR_VERSION<=3 - cv::drawContours(segmented_map, saved_hallway_contours, hallway, fill_colour, CV_FILLED); -#else - cv::drawContours(segmented_map, saved_hallway_contours, hallway, fill_colour, cv::FILLED); -#endif - already_used_colors.push_back(fill_colour); - coloured = true; - } - } while (!coloured); - } - std::cout << "finished small hallway contours" << std::endl; - //spread the coloured regions to regions, which were too small and aren't drawn into the map - wavefrontRegionGrowing(segmented_map); - //make sure previously black pixels are still black - for (int v = 0; v < map_to_be_labeled.rows; ++v) - { - for (int u = 0; u < map_to_be_labeled.cols; ++u) - { - if (map_to_be_labeled.at(v, u) == 0) - { - segmented_map.at(v, u) = 0; - } - } - } - ROS_INFO("Finished Labeling the map."); -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/clique_class.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/clique_class.cpp deleted file mode 100644 index 6dba2c5..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/clique_class.cpp +++ /dev/null @@ -1,74 +0,0 @@ -#include - -// -// This class is used to easily create cliques that are subgraphs of a large graph.A Clique is a subgraph of this graph, in which -// all nodes are connected to each other. See the Header for further information. -// - -// default constructor -Clique::Clique() -{ - -} - -// constructor if one member is known -Clique::Clique(cv::Point first_member) -{ - member_points_.push_back(first_member); -} - -// constructor if a couple of members are known -Clique::Clique(std::vector members) -{ - for(size_t member = 0; member < members.size(); ++member) - { - member_points_.push_back(members[member]); - } -} - -// function that returns a vector containing all member points -std::vector Clique::getMemberPoints() -{ - return member_points_; -} - -// function that inserts a single point as a new member -void Clique::insertMember(cv::Point& new_member) -{ - if(contains(member_points_, new_member) == false) - member_points_.push_back(new_member); -} - -// function that inserts multiple points as new members -void Clique::insertMember(std::vector& new_members) -{ - for(std::vector::iterator new_member = new_members.begin(); new_member != new_members.end(); ++new_member) - { - if(contains(member_points_, *new_member) == false) - member_points_.push_back(*new_member); - } -} - -// function to check if a given point is part of the clique -bool Clique::containsMember(const cv::Point& point) -{ - return contains(member_points_, point); -} - -// function that returns the number of members of this clique -unsigned int Clique::getNumberOfMembers() -{ - return member_points_.size(); -} - -// function to save the given beams in the class parameter -void Clique::setBeamsForMembers(const std::vector< std::vector > beams) -{ - beams_for_members_ = beams ; -} - -// function that returns the stored laser-beams -std::vector< std::vector > Clique::getBeams() -{ - return beams_for_members_; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/contains.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/contains.cpp deleted file mode 100644 index 9f46b8b..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/contains.cpp +++ /dev/null @@ -1,53 +0,0 @@ -#include - -bool contains(std::vector vector, cv::Scalar element) -{ - //this functions checks, if the given element is in the given vector (in this case for cv::Sclar elements) - if (!vector.empty()) - { - return vector.end() != std::find(vector.begin(), vector.end(), element); - } - else - { - return false; - } -} - -bool contains(std::vector vector, cv::Point element) -{ - //this functions checks, if the given element is in the given vector (in this case for cv::Point elements) - if (!vector.empty()) - { - return vector.end() != std::find(vector.begin(), vector.end(), element); - } - else - { - return false; - } -} - -bool contains(std::vector vector, int element) -{ - //this functions checks, if the given element is in the given vector (in this case for int elements) - if (!vector.empty()) - { - return vector.end() != std::find(vector.begin(), vector.end(), element); - } - else - { - return false; - } -} - -bool contains(std::vector > vector, std::vector element) -{ - //this functions checks, if the given element is in the given vector (in this case for vector) - if (!vector.empty()) - { - return vector.end() != std::find(vector.begin(), vector.end(), element); - } - else - { - return false; - } -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/cv_boost_loader.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/cv_boost_loader.cpp deleted file mode 100644 index 63696c4..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/cv_boost_loader.cpp +++ /dev/null @@ -1,17 +0,0 @@ -#include - -#if CV_MAJOR_VERSION == 2 -void loadBoost(CvBoost& boost, std::string const& filename) -{ - boost.load(filename.c_str()); -} -#else -void loadBoost(cv::Ptr& boost, std::string const& filename) -{ -#if CV_MAJOR_VERSION == 3 && CV_MINOR_VERSION<=2 - boost = cv::Algorithm::load(filename.c_str()); -#else - boost = cv::ml::Boost::load(filename.c_str()); -#endif -} -#endif diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/distance_segmentation.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/distance_segmentation.cpp deleted file mode 100644 index 5928a31..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/distance_segmentation.cpp +++ /dev/null @@ -1,123 +0,0 @@ -#include - -#include -#include - -DistanceSegmentation::DistanceSegmentation() -{ - -} - -void DistanceSegmentation::segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, double room_area_factor_lower_limit, double room_area_factor_upper_limit) -{ - //variables for energy maximization - double optimal_room_area = 50; //variable that sets the desired optimal room area - double constant_additional_value = optimal_room_area * optimal_room_area; //variable that sets the energy function higher so that it is 0 for the lower limit - //variables for distance transformation - cv::Mat temporary_map = map_to_be_labeled.clone(); - //variables for thresholding and finding the room-areas - cv::Mat thresh_map; - std::vector < std::vector > contours; - //hierarchy saves if the contours are hole-contours: - //hierarchy[{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour} - //child-contour = 1 if it has one, = -1 if not, same for parent_contour - std::vector < cv::Vec4i > hierarchy, hierarchy_saver; - std::vector < std::vector > temporary_contours; - // - //Segmentation of a gridmap into roomlike areas based on the distance-transformation of the map - // - - //1. Get the distance-transformed map and make it an 8-bit single-channel image - cv::erode(temporary_map, temporary_map, cv::Mat()); - cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 -#if CV_MAJOR_VERSION<=3 - cv::distanceTransform(temporary_map, distance_map, CV_DIST_L2, 5); -#else - cv::distanceTransform(temporary_map, distance_map, cv::DIST_L2, 5); -#endif - cv::convertScaleAbs(distance_map, distance_map); // conversion to 8 bit image - - //2. Threshold the map and find the contours of the rooms. Change the threshold and repeat steps until last possible threshold. - //Then take the contours from the threshold with the most contours between the roomfactors and draw it in the map with a random color. - std::vector > saved_contours, hole_contour_saver; //saving-vector for the found contours - double saved_energy = 0; - for (int current_threshold = 255; current_threshold > 0; current_threshold--) - { //change the threshold for the grayscale-image from largest possible value to smallest - //reset number of rooms - temporary_contours.clear(); - contours.clear(); - hierarchy.clear(); - cv::threshold(distance_map, thresh_map, current_threshold, 255, cv::THRESH_BINARY); -#if CV_MAJOR_VERSION<=3 - cv::findContours(thresh_map, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); -#else - cv::findContours(thresh_map, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); -#endif - - //Get the number of large enough regions to be a room. Only check non-holes. - //Energy function: -(x-a)^2 + b, where x is the current area, a is the optimal area and b is a factor to make the function zero at x=0 - for (int c = 0; c < contours.size(); c++) - { - if (hierarchy[c][3] == -1) - { - double room_area = map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[c]); - //subtract the area from the hole contours inside the found contour, because the contour area grows extremly large if it is a closed loop - for(int hole = 0; hole < contours.size(); hole++) - { - if(hierarchy[hole][3] == c)//check if the parent of the hole is the current looked at contour - { - room_area -= map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[hole]); - } - } - if (room_area >= room_area_factor_lower_limit && room_area <= room_area_factor_upper_limit) - { - temporary_contours.push_back(contours[c]); - //update the energy of the current configuration - } - } - } - //check if current step has a better energy than the saved one - if (temporary_contours.size() >= saved_contours.size())//(current_energy >= saved_energy) - { - saved_contours.clear(); - hole_contour_saver.clear(); - hierarchy_saver.clear(); - saved_contours = temporary_contours; - hole_contour_saver = contours; - hierarchy_saver = hierarchy; - } - } - //Draw the found contours from the step with most areas in the map with a random colour, that hasn't been used yet - std::vector already_used_colors; //saving-variable for already used fill-colours - map_to_be_labeled.convertTo(segmented_map, CV_32SC1, 256, 0); // rescale to 32 int, 255 --> 255*256 = 65280 - for (int current_contour = 0; current_contour < saved_contours.size(); current_contour++) - { - bool drawn = false; //variable to check if contour has been drawn - int loop_counter = 0;//loop counter for ending the loop if it gets into an endless loop - do - { - loop_counter++; - cv::Scalar fill_colour(rand() % 52224 + 13056); - if (!contains(already_used_colors, fill_colour) || loop_counter > 250) - { - cv::drawContours(segmented_map, saved_contours, current_contour, fill_colour, 7); - already_used_colors.push_back(fill_colour); //add used colour to the saving-vector - drawn = true; - } - } while (!drawn); - } - //draw the hole contours black into the new map - for(int current_hole = 0; current_hole < hole_contour_saver.size(); current_hole++) - { - if(hierarchy_saver[current_hole][3] == 1) - { -#if CV_MAJOR_VERSION<=3 - cv::drawContours(segmented_map, hole_contour_saver, current_hole, cv::Scalar(0), CV_FILLED); -#else - cv::drawContours(segmented_map, hole_contour_saver, current_hole, cv::Scalar(0), cv::FILLED); -#endif - } - } - //spread the colors to the white pixels - wavefrontRegionGrowing(segmented_map); -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/evaluation_segmentation.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/evaluation_segmentation.cpp deleted file mode 100644 index bb2714e..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/evaluation_segmentation.cpp +++ /dev/null @@ -1,416 +0,0 @@ -#include - -#include -#include - -#include -#include -#include - - -//int pixel_number_calculation (cv::Mat matrix) -//{ -// int pixel_number; -// for (unsigned int i=0; i(i,j) == 0) -// { -// ++pixel_number; -// } -// } -// } -// return pixel_number; -//} -//struct byPixelsnumber -//{ -// bool operator () (const cv::Mat & a,const cv::Mat & b) -// { -// int OccupiedPixelsnumber_a,OccupiedPixelsnumber_b = 0; -// for (unsigned int i=0; i(i,j) == 0) -// { -// ++OccupiedPixelsnumber_a; -// } -// } -// } -// -// for (unsigned int i=0; i(i,j) == 0) -// { -// ++OccupiedPixelsnumber_b; -// } -// } -// } -// -// return OccupiedPixelsnumber_a > OccupiedPixelsnumber_b ; -// } -//}; - - -void EvaluationSegmentation::groundTruthVectorCalculation(const cv::Mat &bw_map, VectorOfPointSets& gt) -{ - gt.clear(); - - cv::Mat label_image; - bw_map.convertTo(label_image, CV_32SC1); - - int label_count = 2; // starts at 2 because 0,1 are used already - - for (int y = 0; y < label_image.rows; y++) - { - for (int x = 0; x < label_image.cols; x++) - { - if (bw_map.at(y,x) != 255 || label_image.at(y,x)!=255) - continue; - - // fill each room area with a unique id - cv::Rect rect; - cv::floodFill(label_image, cv::Point(x,y), label_count, &rect, 0, 0, 8); - - // collect all pixels that belong to this room - PointSet blob; - for (int j = rect.y; j < (rect.y + rect.height); j++) - { - int* row = (int*)label_image.ptr(j); - for (int i = rect.x; i < (rect.x + rect.width); i++) - { - if (row[i] != label_count) - continue; - blob.insert(cv::Point(i,j)); - } - } - gt.push_back(blob); - - label_count++; - } - } -} - -void EvaluationSegmentation::computePrecisionRecall(const cv::Mat& gt_map, cv::Mat& gt_map_color, const cv::Mat& segmented_map, - double& precision_micro, double& precision_macro, double& recall_micro, double& recall_macro, bool compute_gt_map_color) -{ - // create vector of rooms that contain a set of the room pixels from the ground truth map - VectorOfPointSets gt_points_vector; // room points: gt[room id][pixel index] - if (compute_gt_map_color == true) - { - cv::Mat bw_map; - cv::threshold(gt_map, bw_map, 250, 255, cv::THRESH_BINARY); - //compute the ground truth matrix - groundTruthVectorCalculation(bw_map, gt_points_vector); - - // generate colored ground truth map - gt_map_color = cv::Mat::zeros(gt_map.size(), CV_8UC3); - for(size_t i=0; i < gt_points_vector.size(); i++) - { - cv::Vec3b color(1 + rand()%255, 1 + rand()%255, 1 + rand()%255); - for(PointSet::iterator it=gt_points_vector[i].begin(); it!=gt_points_vector[i].end(); it++) - gt_map_color.at(*it) = color; - } - } - else - { - // get point sets for segmentation map - std::map gt_points_map; // maps a label key identifier to a vector of points belonging to that room label - const cv::Vec3b black(0,0,0); - for (int v=0; v(v,u); - if (color != black) - { - int key = color.val[0] + color.val[1]<<8 + color.val[2]<<16; - gt_points_map[key].insert(cv::Point(u,v)); - } - } - } - for (std::map::iterator it=gt_points_map.begin(); it!=gt_points_map.end(); ++it) - if (it->second.size() > 100) - gt_points_vector.push_back(it->second); - } - - // remove mini rooms from gt - for (VectorOfPointSets::iterator it=gt_points_vector.begin(); it!=gt_points_vector.end();) - { - if (it->size() <= 100) - gt_points_vector.erase(it); - else - it++; - } - - // get point sets for segmentation map - std::map seg_points_map; // maps a label key identifier to a vector of points belonging to that room label - for (int v=0; v(v,u); - if (label != 0) - seg_points_map[label].insert(cv::Point(u,v)); - } - } - VectorOfPointSets seg_points_vector; - for (std::map::iterator it=seg_points_map.begin(); it!=seg_points_map.end(); ++it) - if (it->second.size() > 100) - seg_points_vector.push_back(it->second); - - // set up matrix of overlaps: rows=seg_points_vector , cols = gt_points_vector - cv::Mat overlap = cv::Mat::zeros(seg_points_vector.size(), gt_points_vector.size(), CV_64FC1); - for (size_t v=0; v(v,u) = overlapping; - } - } - - // precision - precision_micro = 0.; // average of individual precisions - precision_macro = 0.; // pixel count of all overlap areas / pixel count of all found segment areas - double pdenominator_macro = 0.; - for (size_t v=0; v(v,u) > max_overlap) - max_overlap = overlap.at(v,u); - } - precision_micro += max_overlap / (double)seg_points_vector[v].size(); - precision_macro += max_overlap; - pdenominator_macro += (double)seg_points_vector[v].size(); - } - precision_micro /= (double)seg_points_vector.size(); - precision_macro /= pdenominator_macro; - - // recall - recall_micro = 0.; // average of individual recalls - recall_macro = 0.; // pixel count of all overlap areas / pixel count of all gt segment areas - double rdenominator_macro = 0.; - for (size_t u=0; u(v,u) > max_overlap) - max_overlap = overlap.at(v,u); - } - recall_micro += max_overlap / (double)gt_points_vector[u].size(); - recall_macro += max_overlap; - rdenominator_macro += (double)gt_points_vector[u].size(); - } - recall_micro /= (double)gt_points_vector.size(); - recall_macro /= rdenominator_macro; - //std::cout << recall_micro << "\t" << precision_micro << "\t" << recall_macro << "\t" << precision_macro << std::endl; -} - -//void EvaluationSegmentation::Segmentation_Vector_calculation(const cv::Mat &segmented_map, std::map &segmented_room_mapping) -//{ -// for(unsigned int i=0; i (i,j)[0] != 0 && segmented_map.at(i,j)[1] != 0 && segmented_map.at(i,j)[2] != 0) -// { -// segmented_room_mapping[cv::Point2i (i,j)] = segmented_map.at(i,j); -// } -// } -// } -//} -// -//void EvaluationSegmentation::Recall_Precision_Calculation(std::map &results, std::vector gt_mat_vector, std::vector segmentation_mat_vector) -//{ -//// std::sort(gt_mat_vector.begin(), gt_mat_vector.end(), byPixelsnumber()); -//// std::sort(segmentation_mat_vector.begin(), segmentation_mat_vector.end(), byPixelsnumber()); -// -// for (unsigned int i = 0; i < segmentation_mat_vector.size();i++) -// { -// int max_pixel_number = 0; -// int pixel_number = 0; -// int selected_gt_mat_pixel_number = 0; -// for (unsigned int j = 0; j < gt_mat_vector.size();j++) -// { -// cv::Mat overlapped_matrix; -// cv::bitwise_or(gt_mat_vector[i],segmentation_mat_vector[j],overlapped_matrix); -// -// pixel_number = pixel_number_calculation(overlapped_matrix); -// -// if (pixel_number > max_pixel_number) -// { -// max_pixel_number = pixel_number; -// selected_gt_mat_pixel_number = pixel_number_calculation(gt_mat_vector[j]); -// } -// } -// -// float recall = float(max_pixel_number/selected_gt_mat_pixel_number); -// float precision = float(max_pixel_number/ (pixel_number_calculation(segmentation_mat_vector[i]))); -// -// // calculate the first pixel of segmentation matrix -// for (unsigned int m=0; m(m,n) == 0) -// { -// results[cv::Point2i(m,n)] = cv::Point2f (recall,precision); -// break; -// } -// } -// } -// } -//} - -/* -int main(int argc, char** argv) -{ - ros::init(argc, argv, "evaluation_seg"); - ros::NodeHandle n; - -// if (argc < 2) -// { -// std::cout << "error: not enough input parameters!" << std::endl; -// return -1; -// } - - std::vector< std::string > map_names; -// map_names.push_back("lab_ipa"); -// map_names.push_back("lab_c_scan"); -// map_names.push_back("Freiburg52_scan"); -// map_names.push_back("Freiburg79_scan"); -// map_names.push_back("lab_b_scan"); -// map_names.push_back("lab_intel"); -// map_names.push_back("Freiburg101_scan"); -// map_names.push_back("lab_d_scan"); -// map_names.push_back("lab_f_scan"); -// map_names.push_back("lab_a_scan"); -// map_names.push_back("NLB"); -// map_names.push_back("office_a"); -// map_names.push_back("office_b"); -// map_names.push_back("office_c"); -// map_names.push_back("office_d"); -// map_names.push_back("office_e"); -// map_names.push_back("office_f"); -// map_names.push_back("office_g"); -// map_names.push_back("office_h"); -// map_names.push_back("office_i"); - map_names.push_back("lab_ipa_furnitures"); - map_names.push_back("lab_c_scan_furnitures"); - map_names.push_back("Freiburg52_scan_furnitures"); - map_names.push_back("Freiburg79_scan_furnitures"); - map_names.push_back("lab_b_scan_furnitures"); - map_names.push_back("lab_intel_furnitures"); - map_names.push_back("Freiburg101_scan_furnitures"); - map_names.push_back("lab_d_scan_furnitures"); - map_names.push_back("lab_f_scan_furnitures"); - map_names.push_back("lab_a_scan_furnitures"); - map_names.push_back("NLB_furnitures"); - map_names.push_back("office_a_furnitures"); - map_names.push_back("office_b_furnitures"); - map_names.push_back("office_c_furnitures"); - map_names.push_back("office_d_furnitures"); - map_names.push_back("office_e_furnitures"); - map_names.push_back("office_f_furnitures"); - map_names.push_back("office_g_furnitures"); - map_names.push_back("office_h_furnitures"); - map_names.push_back("office_i_furnitures"); - - const std::string segmented_map_path = "room_segmentation/"; //ros::package::getPath("ipa_room_segmentation") + "/common/files/segmented_maps/"; - - for (size_t image_index = 0; image_index(v,u); - segmented_map_int.at(v,u) = color.val[0] + color.val[1]<<8 + color.val[2]<<16; - } - } - - double precision_micro, precision_macro, recall_micro, recall_macro; - cv::Mat gt_map_color; - EvaluationSegmentation es; - es.computePrecisionRecall(gt_map, gt_map_color, segmented_map, precision_micro, precision_macro, recall_micro, recall_macro, true); - std::cout << recall_micro << "\t" << precision_micro << "\t" << recall_macro << "\t" << precision_macro << std::endl; - std::string gt_image_filename_color = segmented_map_path + map_name + "_gt_color_segmentation.png"; //ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name + "_gt_color_segmentation.png"; - cv::imwrite(gt_image_filename_color.c_str(), gt_map_color); - } -// -// cv::Mat gt_map = cv::imread(argv[1],CV_8U); -// cv::Mat segmented_map = cv::imread(argv[2]); -// -// EvaluationSegmentation es; -// -// cv::Mat bw_map; -// cv::threshold(gt_map, bw_map, 250, 255, cv::THRESH_BINARY); -// //compute the GT matrix -// std::vector < std::vector > gt_points_vector; -// es.GT_Vector_calculation(bw_map, gt_points_vector); -// -// cv::Mat GT_matrix = cv::Mat::zeros(gt_map.size(), CV_8UC3); -// for(size_t i=0; i < gt_points_vector.size(); i++) -// { -// unsigned char r = 255 * (rand()/(1.0 + RAND_MAX)); -// unsigned char g = 255 * (rand()/(1.0 + RAND_MAX)); -// unsigned char b = 255 * (rand()/(1.0 + RAND_MAX)); -// -// for(size_t j=0; j < gt_points_vector[i].size(); j++) -// { -// int x = gt_points_vector[i][j].x; -// int y = gt_points_vector[i][j].y; -// -// GT_matrix.at(y,x)[0] = b; -// GT_matrix.at(y,x)[1] = g; -// GT_matrix.at(y,x)[2] = r; -// } -// } -// cv::imshow("labeled", GT_matrix); -// cv::waitKey(0); -// -// // save ground truth and segmentation into maps -// std::map segmented_room_mapping, GT_room_mapping; -// std::vector gt_mat_vector, segmentation_mat_vector; -// es.Segmentation_Vector_calculation(GT_matrix, GT_room_mapping); -// es.Segmentation_Vector_calculation(segmented_map, segmented_room_mapping); -// -// for(std::map::iterator iterator = GT_room_mapping.begin(); iterator != GT_room_mapping.end(); iterator++) -// { -////todo: convert map to vector -// } -// -// std::map results; -// -//// cv::namedWindow("labeled"); -//// cv::imshow("labeled", GT_matrix); -//// cv::waitKey(0); - - - return 0; -} -*/ diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/features.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/features.cpp deleted file mode 100644 index 55e7f2d..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/features.cpp +++ /dev/null @@ -1,873 +0,0 @@ -#include -#include -#include -#include -#include - -#include - -#define PI 3.14159265 - -//get the number of implemented features. Needs to be changed to the new value if you change it -int LaserScannerFeatures::get_feature_count() -{ - return 23; -} - -void LaserScannerFeatures::resetCachedData() -{ - features_.clear(); - features_.resize(get_feature_count(), 0.); - features_computed_.clear(); - features_computed_.resize(get_feature_count(), false); - - polygon_.clear(); - polygon_computed_ = false; - - centroid_computed_ = false; -} - -//**********************see features.h for a better overview of what is calculated and needed************************* -//Method for calculating the feature for the classifier -double LaserScannerFeatures::get_feature(const std::vector& beams, const std::vector& angles, cv::Point point, const int feature) -{ - switch (feature) - { - case 1: - return calc_feature1(beams); - case 2: - return calc_feature2(beams); - case 3: - return calc_feature3(beams, 10); - case 4: - return calc_feature4(beams, 10); - case 5: - return calc_feature5(beams); - case 6: - return calc_feature6(beams); - case 7: - return calc_feature7(beams); - case 8: - return calc_feature8(beams, angles); - case 9: - return calc_feature9(beams, angles); - case 10: - return calc_feature10(beams); - case 11: - return calc_feature11(beams); - case 12: - return calc_feature12(beams); - case 13: - return calc_feature13(beams); - case 14: - return calc_feature14(beams, angles, point); - case 15: - return calc_feature15(beams, angles, point); - case 16: - return calc_feature16(beams, angles, point); - case 17: - return calc_feature17(beams, angles, point); - case 18: - return calc_feature18(beams, angles, point); - case 19: - return calc_feature19(beams, angles, point); - case 20: - return calc_feature20(beams, angles, point); - case 21: - return calc_feature21(beams, angles, point); - case 22: - return calc_feature22(beams); - case 23: - return calc_feature23(beams); - } -} - -void LaserScannerFeatures::get_features(const std::vector& beams, const std::vector& angles, cv::Point point, cv::Mat& features) -{ - // reset internal data storage - resetCachedData(); - - // compute features - calc_feature1(beams); - calc_feature2(beams); - calc_feature3(beams, 10); - calc_feature4(beams, 10); - calc_feature5(beams); - calc_feature6(beams); - calc_feature7(beams); - calc_feature8(beams, angles); - calc_feature9(beams, angles); - calc_feature10(beams); - calc_feature11(beams); - calc_feature12(beams); - calc_feature13(beams); - calc_feature14(beams, angles, point); - calc_feature15(beams, angles, point); - calc_feature16(beams, angles, point); - calc_feature17(beams, angles, point); - calc_feature18(beams, angles, point); - calc_feature19(beams, angles, point); - calc_feature20(beams, angles, point); - calc_feature21(beams, angles, point); - calc_feature22(beams); - calc_feature23(beams); - - // write features - features.create(1, get_feature_count(), CV_32FC1); - for (int i=0; i(0,i) = features_[i]; -} - -//Calculation of Feature 1: average difference of the beams -double LaserScannerFeatures::calc_feature1(const std::vector& beams) -{ - if (features_computed_[0]) - return features_[0]; - - double differences_sum; - for (int b = 0; b < beams.size() - 1; b++) - { - differences_sum += abs(beams[b] - beams[b + 1]); - } - //get the difference betweeen the last and the first beam - differences_sum += abs(beams[beams.size() - 1] - beams[0]); - //calculate the average difference and return it - features_computed_[0] = true; - features_[0] = (differences_sum / (double)beams.size()); - - if (features_[0]!=features_[0]) - std::cout << " features_[0]="<& beams) -{ - if (features_computed_[1]) - return features_[1]; - - double mean; //mean-value of the difference, calculated with calc_feature1 - double sum; //helping variable - //initialise - mean = calc_feature1(beams); - sum = 0; - //calculate deviation - for (int b = 0; b < beams.size(); b++) - { - sum += (beams[b] - mean)*(beams[b] - mean);//std::pow((beams[b] - mean), 2.0); - } - sum = sum / (double)(beams.size() - 1); - features_computed_[1] = true; - features_[1] = std::sqrt(sum); - - if (features_[1]!=features_[1]) - std::cout << " features_[1]="<& beams, double maxval) -{ - if (features_computed_[2]) - return features_[2]; - - double differences_sum; - double val1, val2; - for (int b = 0; b < beams.size() - 1; b++) - { - //reset saved beamlenghts - val1 = maxval; - val2 = maxval; - if (beams[b] < maxval) - { - val1 = beams[b]; - } - if (beams[b + 1] < maxval) - { - val2 = beams[b + 1]; - } - differences_sum += abs(val1 - val2); - } - //get the difference betweeen the last and the first beam - val1 = maxval; - val2 = maxval; - if (beams[beams.size()-1] < maxval) - { - val1 = beams[beams.size()-1]; - } - if (beams[0] < maxval) - { - val2 = beams[0]; - } - differences_sum += abs(val1 - val2); - //calculate the average difference and return it - features_computed_[2] = true; - features_[2] = (differences_sum / (double)beams.size()); - - if (features_[2]!=features_[2]) - std::cout << " features_[2]="<& beams, double maxval) -{ - if (features_computed_[3]) - return features_[3]; - - double mean; //mean-value of the difference, calculated with calc_feature1 - double v, w, difference, sum; //helping variables - //initialize - mean = calc_feature3(beams, maxval); - sum = 0; - //calculate deviation - for (int b = 0; b < beams.size() - 1; b++) - { - //reset value of current beam - v = maxval; - w = maxval; - if (beams[b] < maxval) - { - v = beams[b]; - } - if (beams[b + 1] < maxval) - { - w = beams[b + 1]; - } - difference = abs(v - w); - sum += (difference - mean)*(difference - mean); //std::pow((difference - mean), 2.0); - } - //add the difference from last to first point - v = maxval; - w = maxval; - if (beams[beams.size()-1] < maxval) - { - v = beams[beams.size()-1]; - } - if (beams[0] < maxval) - { - w = beams[0]; - } - difference = abs(v - w); - sum += (difference - mean)*(difference - mean); //std::pow((difference - mean), 2.0); - sum = sum / (beams.size() - 1); - features_computed_[3] = true; - features_[3] = std::sqrt(sum); - - if (features_[3]!=features_[3]) - std::cout << " features_[3]="<& beams) -{ - if (features_computed_[4]) - return features_[4]; - - double sum; - //get the sum of the beamlengths - for (int b = 0; b < beams.size(); b++) - { - sum += beams[b]; - } - //divide by number of beams and return value - features_computed_[4] = true; - features_[4] = (sum / (double)beams.size()); - - if (features_[4]!=features_[4]) - std::cout << " features_[4]="<& beams) -{ - if (features_computed_[5]) - return features_[5]; - - double mean; //mean-value of the beamlenghts, calculated with calc_feature5 - double sum; //helping variable - //initialize - mean = calc_feature5(beams); - sum = 0; - //calculate deviation - for (int b = 0; b < beams.size(); b++) - { - sum += (beams[b] - mean)*(beams[b] - mean); //std::pow((beams[b] - mean), 2); - } - sum = sum / (beams.size() - 1); - features_computed_[5] = true; - features_[5] = std::sqrt(sum); - - if (features_[5]!=features_[5]) - std::cout << " features_[5]="<& beams) -{ - if (features_computed_[6]) - return features_[6]; - - double threshold = 0.5; //[m], see "Semantic labeling of places" - double gaps = 0; - for (int b = 0; b < beams.size() - 1; b++) - { - if (abs(beams[b] - beams[b + 1]) > threshold) - { - gaps++; - } - } - if (abs(beams[beams.size() - 1] - beams[0]) > threshold) - { - gaps++; - } - features_computed_[6] = true; - features_[6] = gaps; - return features_[6]; -} - -//Calculation of feature 8: The distance between two Endpoints of local minima of beamlenghts -double LaserScannerFeatures::calc_feature8(const std::vector& beams, const std::vector& angles) -{ - if (features_computed_[7]) - return features_[7]; - - //Remark: angles are relatively to the robot - double length_1 = 10000000; - double length_2 = 10000000; - double angle_1, angle_2; - //get the two Points corresponding to minimal beamlength - for (int b = 0; b < beams.size(); b++) - { - if (beams[b] < length_1 && beams[b] > length_2) - { - length_1 = beams[b]; - angle_1 = angles[b]; - } - else if (beams[b] < length_2) - { - length_2 = beams[b]; - angle_2 = angles[b]; - } - } - //calculate the x/y-values of the Points - double x1_x2 = std::cos(angle_1 * PI / 180) * length_1 - std::cos(angle_2 * PI / 180) * length_2; - double y1_y2 = std::sin(angle_1 * PI / 180) * length_1 - std::sin(angle_2 * PI / 180) * length_2; - //calculate and return the euclidean distance between the Points - features_computed_[7] = true; - features_[7] = std::sqrt(x1_x2*x1_x2 + y1_y2*y1_y2); - - if (features_[7]!=features_[7]) - std::cout << " features_[7]="<& beams, const std::vector& angles) -{ - if (features_computed_[8]) - return features_[8]; - - //Remark: angles are relative to the robot - double length_1 = beams[0]; - double length_2 = beams[1]; - double angle_1 = angles[0]; - double angle_2 = angles[1]; - double x_1, y_1, x_2, y_2; - //get the two Points corresponding to minimal beamlengths - for (int b = 0; b < beams.size(); b++) - { - if (beams[b] < length_1 && beams[b] > length_2) - { - length_1 = beams[b]; - angle_1 = angles[b]; - } - else if (beams[b] <= length_2) - { - length_2 = beams[b]; - angle_2 = angles[b]; - } - } - //calculate the x/y-values of the Points - const double pi_to_degree = PI / 180; - x_1 = std::cos(angle_1 * pi_to_degree) * length_1; - y_1 = std::sin(angle_1 * pi_to_degree) * length_1; - x_2 = std::cos(angle_2 * pi_to_degree) * length_2; - y_2 = std::sin(angle_2 * pi_to_degree) * length_2; - //calculate and return the angle between the Points - const double coordvec = (x_1 * x_2) + (y_1 * y_2); - const double absvec = (length_1 * length_2); - const double quot = std::max(-1., std::min(1., coordvec / absvec)); - features_computed_[8] = true; - features_[8] = std::acos(quot) * 180.0 / PI; - return features_[8]; -} - -//Calculate Feature 10: The average of the relations (b_i/b_(i+1)) between two neighboring beams -double LaserScannerFeatures::calc_feature10(const std::vector& beams) -{ - if (features_computed_[9]) - return features_[9]; - - double length_1, length_2; - double sum_relation = 0; - //calculate the relations and add it to the sum - for (int b = 0; b < beams.size() - 1; b++) - { - length_1 = beams[b]; - length_2 = beams[b + 1]; - if (length_1 < length_2) - { - sum_relation += (length_1 / length_2); - } - else - { - sum_relation += (length_2 / length_1); - } - } - length_1 = beams[beams.size() - 1]; - length_2 = beams[0]; - if (length_1 < length_2) - { - sum_relation += (length_1 / length_2); - } - else - { - sum_relation += (length_2 / length_1); - } - //calculate and return the average of the relations - features_computed_[9] = true; - features_[9] = (sum_relation / beams.size()); - - if (features_[9]!=features_[9]) - std::cout << " features_[9]="<& beams) -{ - if (features_computed_[10]) - return features_[10]; - - //calculate the mean of the relations by using Feature 10 - double mean = calc_feature10(beams); - double sum = 0; - //calculate the standard_deviation - for (int b = 0; b < beams.size(); b++) - { - sum += (beams[b] - mean); //std::pow((beams[b] - mean), 2); - } - sum = sum / (beams.size() - 1); - features_computed_[10] = true; - features_[10] = std::sqrt(sum); - - if (features_[10]!=features_[10]) - std::cout << " features_[10]="<& beams) -{ - if (features_computed_[11]) - return features_[11]; - - double threshold = 0.5; //[m] see "Semantic labeling of places" - double gaps, length_1, length_2; - for (int b = 0; b < beams.size() - 1; b++) - { - length_1 = beams[b]; - length_2 = beams[b + 1]; - if (length_1 < length_2) - { - if ((length_1 / length_2) < threshold) - { - gaps++; - } - } - else - { - if ((length_2 / length_1) < threshold) - { - gaps++; - } - } - } - length_1 = beams[0]; - length_2 = beams[beams.size() - 1]; - if (length_1 < length_2) - { - if ((length_1 / length_2) < threshold) - { - gaps++; - } - } - else - { - if ((length_2 / length_1) < threshold) - { - gaps++; - } - } - features_computed_[11] = true; - features_[11] = gaps; - return features_[11]; -} - -//Calculate Feature 13: The Kurtosis, which is given by: -//(Sum((x - mean)^4))/sigma^4) - 3, where mean is the mean-value and sigma is the standard deviation -double LaserScannerFeatures::calc_feature13(const std::vector& beams) -{ - if (features_computed_[12]) - return features_[12]; - - double sum = 0; - //get the standard deviation and the mean by using previous functions - double sigma = calc_feature6(beams); - double mean = calc_feature5(beams); - //calculate the Kurtosis - for (int b = 0; b < beams.size(); b++) - { - double v=(beams[b] - mean); - sum += v*v*v*v; //std::pow((beams[b] - mean), 4); - } - features_computed_[12] = true; - features_[12] = ((sum / std::pow(sigma, 4)) - 3); - - if (features_[12]!=features_[12]) - std::cout << " features_[12]="<& beams) -{ - if (features_computed_[21]) - return features_[21]; - - double sum; - double maxval = 0.; - //find maximal value of the beams - for (int b = 0; b < beams.size(); b++) - if (beams[b] > maxval) - maxval = beams[b]; - if (maxval == 0.) - maxval = 1.; - //get the average of the beams/maxval - //get the sum of the beamlengths - for (int b = 0; b < beams.size(); b++) - { - sum += (beams[b] / maxval); - } - //divide by number of beams and return value - features_computed_[21] = true; - features_[21] = (sum / (double)beams.size()); - - if (features_[21]!=features_[21]) - std::cout << " features_[21]="<& beams) -{ - if (features_computed_[22]) - return features_[22]; - - double sum = 0; - double mean = calc_feature22(beams); - double maxval = 0; - //find maximal value of the beams - for (int b = 0; b < beams.size(); b++) - if (beams[b] > maxval) - maxval = beams[b]; - if (maxval == 0.) - maxval = 1.; - const double maxvalinv = 1./maxval; - //get the standard deviation - for (int b = 0; b < beams.size(); b++) - { - const double v = (beams[b] * maxvalinv) - mean; - sum += v*v; - } - sum = sum / (beams.size() - 1); - features_computed_[22] = true; - features_[22] = std::sqrt(sum); - - if (features_[22]!=features_[22]) - std::cout << " features_[22]="< LaserScannerFeatures::calc_polygonal_approx(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (polygon_computed_ == true) - return polygon_; - - polygon_.clear(); - double x, y; - //calculate the endpoint for every beam and add it to the polygon - for (int b = 0; b < beams.size(); b++) - { //calculate the x/y-values - //Remark: angles in radiant - double pi_to_degree = PI / 180; - x = std::cos(angles[b] * pi_to_degree) * beams[b]; - y = std::sin(angles[b] * pi_to_degree) * beams[b]; - polygon_.push_back(cv::Point(location.x + x, location.y + y)); - } - polygon_computed_ = true; - return polygon_; -} - -//Calculate the centroid of the polygonal approximation -cv::Point LaserScannerFeatures::calc_centroid(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (centroid_computed_ == true) - return centroid_; - - double x, y; - double sumX = 0; - double sumY = 0; - //get every Point by using the polygonal approximation - std::vector polygon = calc_polygonal_approx(beams, angles, location); - for (int p = 0; p < polygon.size(); p++) - { - sumX += polygon[p].x; - sumY += polygon[p].y; - } - centroid_.x = sumX / polygon.size(); - centroid_.y = sumY / polygon.size(); - centroid_computed_ = true; - return centroid_; -} - -//Calculate Feature 14: The area of the polygonal approximation of the beams -double LaserScannerFeatures::calc_feature14(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[13]) - return features_[13]; - - double map_resolution = 0.05000; - std::vector polygon = calc_polygonal_approx(beams, angles, location); - features_computed_[13] = true; - features_[13] = map_resolution * map_resolution * cv::contourArea(polygon); - - if (features_[13]!=features_[13]) - std::cout << " features_[13]="<& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[14]) - return features_[14]; - - std::vector polygon = calc_polygonal_approx(beams, angles, location); - features_computed_[14] = true; - features_[14] = cv::arcLength(polygon, true); - - if (features_[14]!=features_[14]) - std::cout << " features_[14]="<& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[15]) - return features_[15]; - - features_computed_[15] = true; - features_[15] = (calc_feature14(beams, angles, location) / calc_feature15(beams, angles, location)); - - if (features_[15]!=features_[15]) - std::cout << " features_[15]="<& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[16]) - return features_[16]; - - std::vector < cv::Point > polygon = calc_polygonal_approx(beams, angles, location); - cv::Point centroid = calc_centroid(beams, angles, location); - double sum = 0; - double delta_x, delta_y; - //calculate the distance between the centroid and the boundary and add it to the sum - for (int p = 0; p < polygon.size(); p++) - { - delta_x = polygon[p].x - centroid.x; - delta_y = polygon[p].y - centroid.y; - sum += std::sqrt(delta_x*delta_x + delta_y*delta_y); //std::pow(delta_x, 2) + std::pow(delta_y, 2)); - } - //calculate and return the average of the distances - features_computed_[16] = true; - features_[16] = (sum / polygon.size()); - - if (features_[16]!=features_[16]) - std::cout << " features_[16]="<& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[17]) - return features_[17]; - - std::vector < cv::Point > polygon = calc_polygonal_approx(beams, angles, location); - cv::Point centroid = calc_centroid(beams, angles, location); - //get the mean of the distances by using Feature 17 - double mean = calc_feature17(beams, angles, location); - double current_distance; - double sum = 0; - //calculate the standard_deviation - for (int p = 0; p < polygon.size(); p++) - { - double delta_x = polygon[p].x - centroid.x; - double delta_y = polygon[p].y - centroid.y; - current_distance = std::sqrt(delta_x*delta_x + delta_y*delta_y); //std::pow(delta_x, 2) + std::pow(delta_y, 2)); - sum += (current_distance - mean)*(current_distance - mean); //std::pow(current_distance - mean, 2); - } - sum = sum / (beams.size() - 1); - features_computed_[17] = true; - features_[17] = std::sqrt(sum); - - if (features_[17]!=features_[17]) - std::cout << " features_[17]="<& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[18]) - return features_[18]; - - std::vector < cv::Point > polygon = calc_polygonal_approx(beams, angles, location); - cv::Point centroid = calc_centroid(beams, angles, location); - cv::Point2f points[4]; - std::vector < cv::Point2f > edge_points; - double distance = 0; - //saving-variable for the Points of the ellipse - cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(polygon)); - //get the edge-points of the ellipse - ellipse.points(points); - //saving the Points of the ellipse in a vector - for (int i = 0; i < 4; i++) - { - edge_points.push_back(points[i]); - } - //calculate the distance between the Points and take the largest one - for (int p = 0; p < edge_points.size(); p++) - { - for (int np = 0; np < edge_points.size(); np++) - { - //if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) > distance) - const float a = (edge_points[p].x - edge_points[np].x); - const float b = (edge_points[p].y - edge_points[np].y); - const double sqr = a*a + b*b; - if (sqr > distance) - { - //distance = std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)); - distance = sqr; - } - } - } - features_computed_[18] = true; - features_[18] = (std::sqrt(distance) / 2); - - if (features_[18]!=features_[18]) - std::cout << " features_[18]="<& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[19]) - return features_[19]; - - std::vector < cv::Point > polygon = calc_polygonal_approx(beams, angles, location); - cv::Point2f points[4]; - std::vector < cv::Point2f > edge_points; - double distance = 1e6*1e6; - //saving-variable for the Points of the ellipse - cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(polygon)); - //get the edge-points of the ellipse - ellipse.points(points); - //saving the Points of the ellipse in a vector - for (int i = 0; i < 4; i++) - { - edge_points.push_back(points[i]); - } - //calculate the distance between the Points and take the largest one - for (int p = 0; p < edge_points.size(); p++) - { - for (int np = 0; np < edge_points.size(); np++) - { - if (p==np) - continue; -// if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) < distance -// && std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) > 0 && p != np) - const float a = (edge_points[p].x - edge_points[np].x); - const float b = (edge_points[p].y - edge_points[np].y); - const double sqr = a*a + b*b; - if (sqr < distance) // && sqr > 0) // && p != np) - { - distance = sqr; - } - } - } - features_computed_[19] = true; - features_[19] = (std::sqrt(distance) / 2); - - if (features_[19]!=features_[19]) - std::cout << " features_[19]="<& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[20]) - return features_[20]; - - features_computed_[20] = true; - features_[20] = (calc_feature19(beams, angles, location) / (0.0001+calc_feature20(beams, angles, location))); - - if (features_[20]!=features_[20]) - std::cout << " features_[20]="<. - * - ****************************************************************/ - -#include "ipa_room_segmentation/meanshift2d.h" -#include "ipa_room_segmentation/fast_math.h" - -void MeanShift2D::filter(const std::vector& data, std::vector& filtered_data, const double bandwidth, const int maximumIterations) -{ - // prepare mean shift set - std::vector mean_shift_set(data.size()); - filtered_data = data; - - // mean shift iteration - for (int iter=0; iter& filtered_data, std::vector& convergence_points, std::vector< std::vector >& convergence_sets, const double sensitivity) -{ - // cluster data according to convergence points - convergence_sets.resize(1, std::vector(1, 0)); - convergence_points.resize(1, filtered_data[0]); - for (int i=1; i<(int)filtered_data.size(); i++) - { - bool create_new_set = true; - for (int j=0; j<(int)convergence_points.size(); j++) - { - if (cv::norm(filtered_data[i]-convergence_points[j]) < sensitivity) - { - convergence_sets[j].push_back(i); - convergence_points[j] = (convergence_points[j]*(convergence_sets[j].size()-1.) + filtered_data[i]) / (double)convergence_sets[j].size(); // update mean of convergence point - create_new_set = false; - break; - } - } - if (create_new_set == true) - { - convergence_sets.push_back(std::vector(1, i)); - convergence_points.push_back(filtered_data[i]); - } - } -} - -cv::Vec2d MeanShift2D::findRoomCenter(const cv::Mat& room_image, const std::vector& room_cells, double map_resolution) -{ - // downsample data if too big - std::vector room_cells_sampled; - if (room_cells.size() > 1000) - { - const int factor = room_cells.size()/1000; - for (size_t i=0; i filtered_room_cells; - filter(room_cells_sampled, filtered_room_cells, bandwidth, 100); - - // take mean of filtering result in simple rooms, i.e. if no obstacles is located at the computed cell - cv::Scalar mean_coordinates = cv::mean(filtered_room_cells); - cv::Vec2d room_center(mean_coordinates[0], mean_coordinates[1]); - if (room_image.at(room_center[1], room_center[0]) == 255) - return room_center; - - // otherwise compute convergence sets of filtering results and return mean of largest convergence set - // determine convergence points - std::vector convergence_points; - std::vector< std::vector > convergence_sets; - computeConvergencePoints(filtered_room_cells, convergence_points, convergence_sets, 1./bandwidth*0.1); - - // select convergence point with largest point support - size_t max_index = 0; - size_t max_size = 0; - for (size_t i=0; i max_size) - { - max_size = convergence_sets[i].size(); - max_index = i; - } - } - return convergence_points[max_index]; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/morphological_segmentation.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/morphological_segmentation.cpp deleted file mode 100644 index 41266c1..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/morphological_segmentation.cpp +++ /dev/null @@ -1,132 +0,0 @@ -#include - -#include -#include - -MorphologicalSegmentation::MorphologicalSegmentation() -{ - -} - -void MorphologicalSegmentation::segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, - double room_area_factor_lower_limit, double room_area_factor_upper_limit) -{ - /*This segmentation algorithm does: - * 1. collect the map data - * 2. erode the map to extract contours - * 3. find the extracted contures and save them if they fullfill the room-area criterion - * 4. draw and fill the saved contoures in a clone of the map from 1. with a random colour - * 5. get the obstacle information from the original map and draw them in the clone from 4. - * 6. spread the coloured regions to the white Pixels - */ - - //make two map clones to work with - cv::Mat temporary_map_to_find_rooms = map_to_be_labeled.clone(); //map to find the rooms and for eroding - //**************erode temporary_map until last possible room found**************** - //erode map a specified amount of times - std::vector < std::vector > saved_contours; //saving variable for every contour that is between the upper and the lower limit - ROS_INFO("starting eroding"); - for (int counter = 0; counter < 73; counter++) - { - //erode the map one time - cv::Mat eroded_map; - cv::Point anchor(-1, -1); //needed for opencv erode - cv::erode(temporary_map_to_find_rooms, eroded_map, cv::Mat(), anchor, 1); - //save the more eroded map - temporary_map_to_find_rooms = eroded_map; - //Save the eroded map in a second map, which is used to find the contours. This is neccesarry, because - //the function findContours changes the given map and would make it impossible to work any further with it - cv::Mat contour_map = eroded_map.clone(); - //find Contours in the more eroded map - std::vector < std::vector > temporary_contours; //temporary saving-variable - //hierarchy saves if the contours are hole-contours: - //hierarchy[{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour} - //child-contour = 1 if it has one, = -1 if not, same for parent_contour - std::vector < cv::Vec4i > hierarchy; -#if CV_MAJOR_VERSION<=3 - cv::findContours(contour_map, temporary_contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE); -#else - cv::findContours(contour_map, temporary_contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_SIMPLE); -#endif - if (temporary_contours.size() != 0) - { - //check every contour if it fullfills the criteria of a room - for (int current_contour = 0; current_contour < temporary_contours.size(); current_contour++) - { //only take first level contours --> second level contours belong to holes and doesn't need to be looked at - if (hierarchy[current_contour][3] == -1) - { - //check if contour is large/small enough for a room - double room_area = map_resolution_from_subscription * map_resolution_from_subscription - * cv::contourArea(temporary_contours[current_contour]); - //subtract the area from the hole contours inside the found contour, because the contour area grows extremly large if it is a closed loop - for (int hole = 0; hole < temporary_contours.size(); hole++) - { - if (hierarchy[hole][3] == current_contour) //check if the parent of the hole is the current looked at contour - { - room_area -= map_resolution_from_subscription * map_resolution_from_subscription - * cv::contourArea(temporary_contours[hole]); - } - } - if (room_area_factor_lower_limit < room_area && room_area < room_area_factor_upper_limit) - { - //save contour for later drawing in map - saved_contours.push_back(temporary_contours[current_contour]); - //make region black if room found --> region doesn't need to be looked at anymore -#if CV_MAJOR_VERSION<=3 - cv::drawContours(temporary_map_to_find_rooms, temporary_contours, current_contour, cv::Scalar(0), CV_FILLED, 8, hierarchy, 2); -#else - cv::drawContours(temporary_map_to_find_rooms, temporary_contours, current_contour, cv::Scalar(0), cv::FILLED, 8, hierarchy, 2); -#endif - } - } - } - } - } - //*******************draw contures in new map*********************** - std::cout << "Segmentation Found " << saved_contours.size() << " rooms." << std::endl; - //draw filled contoures in new_map_to_draw_contours_ with random colour if this colour hasn't been used yet - cv::Mat new_map_to_draw_contours; //map for drawing the found contours - map_to_be_labeled.convertTo(segmented_map, CV_32SC1, 256, 0); - std::vector < cv::Scalar > already_used_coloures; //vector for saving the already used coloures - for (int idx = 0; idx < saved_contours.size(); idx++) - { - bool drawn = false; //checking-variable if contour has been drawn - int draw_counter = 0; //counter to exit loop if it gets into an endless-loop (e.g. when there are more rooms than possible) - do - { - draw_counter++; - cv::Scalar fill_colour(rand() % 52224 + 13056); - if (!contains(already_used_coloures, fill_colour) || draw_counter > 250) - { - //if colour is unique draw Contour in map -#if CV_MAJOR_VERSION<=3 - cv::drawContours(segmented_map, saved_contours, idx, fill_colour, CV_FILLED); -#else - cv::drawContours(segmented_map, saved_contours, idx, fill_colour, cv::FILLED); -#endif - already_used_coloures.push_back(fill_colour); //add colour to used coloures - drawn = true; - } - } while (!drawn); - } - //*************************obstacles*********************** - //get obstacle informations and draw them into the new map - ROS_INFO("starting getting obstacle information"); - for (int row = 0; row < map_to_be_labeled.rows; ++row) - { - for (int col = 0; col < map_to_be_labeled.cols; ++col) - { - //find obstacles = black pixels - if (map_to_be_labeled.at(row, col) == 0) - { - segmented_map.at(row, col) = 0; - } - } - } - ROS_INFO("drawn obstacles in map"); - //**************spread the colored region by making white pixel around a contour their color**************** - //spread the coloured regions to the white Pixels - wavefrontRegionGrowing(segmented_map); - ROS_INFO("filled white pixels in new map"); - -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/raycasting.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/raycasting.cpp deleted file mode 100644 index 74eac84..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/raycasting.cpp +++ /dev/null @@ -1,194 +0,0 @@ -#include - -LaserScannerRaycasting::LaserScannerRaycasting() -: precomputed_cos_(360), precomputed_sin_(360) -{ - double pi_to_rad = PI / 180.; - for (int angle = 0; angle < 360; angle++) - { - precomputed_cos_[angle] = std::cos(angle * pi_to_rad); - precomputed_sin_[angle] = std::sin(angle * pi_to_rad); - } -} - -void LaserScannerRaycasting::raycasting(const cv::Mat& map, const cv::Point& location, std::vector& distances) -{ -// cv::Mat test_map = map.clone(); - //Raycasting Algorithm. It simulates the laser measurment at the given location and returns the lengths - //of the simulated beams - double simulated_y, simulated_x, simulated_cos, simulated_sin; - double temporary_distance; - distances.resize(360, 0); - double delta_y, delta_x; - for (int angle = 0; angle < 360; angle++) - { - simulated_cos = precomputed_cos_[angle]; - simulated_sin = precomputed_sin_[angle]; - temporary_distance = 90000001; - for (double distance = 1; distance < 1000000; ++distance) - { - const int ny = location.y + simulated_sin * distance; - const int nx = location.x + simulated_cos * distance; - //make sure the simulated point isn't out of the boundaries of the map - if (ny < 0 || ny >= map.rows || nx < 0 || nx >= map.cols) - break; - if (map.at(ny, nx) == 0 && distance < temporary_distance) - { - temporary_distance = distance; -// cv::line(test_map, cv::Point(location.x, location.y), cv::Point(nx, ny), cv::Scalar(127), 1); - break; - } - } - if (temporary_distance > 90000000) - { - temporary_distance = 10; - } - distances[angle] = temporary_distance; - } - -// cv::circle(test_map, cv::Point(location.x, location.y), 3, cv::Scalar(50), CV_FILLED); -// cv::imshow("simulated angles", test_map); -// cv::waitKey(); -// return distances; -} - -void LaserScannerRaycasting::bresenham_raycasting(const cv::Mat& map, const cv::Point& location, std::vector& distances) -{ - distances.resize(360); - int y_destination, x_destination; - int double_y, double_x; - int dy, dx, ystep, xstep; - int y_current, x_current; - int y_start = location.y; - int x_start = location.x; - int error, previous_error; - bool hit_black_pixel; - //go trough every angle from 0:1:359 - for (int angle = 0; angle < 360; angle++) - { - //set destination Point and difference of the coordinates - y_destination = y_start + std::sin((double)angle * PI / 180.) * 1000; - x_destination = x_start + std::cos((double)angle * PI / 180.) * 1000; - dy = y_destination - y_start; - dx = x_destination - x_start; - //reset the went distance - hit_black_pixel = false; - y_current = 0; - x_current = 0; - //check for quadrant in which the line goes - if (dx < 0) - { - xstep = -1; - dx = -dx; - } - else - { - xstep = 1; - } - - if (dy < 0) - { - ystep = -1; - dy = -dy; - } - else - { - ystep = 1; - } - //set the doubled differences - double_y = 2 * dy; - double_x = 2 * dx; - if (double_y >= double_x) //first octant (0 <= slope <= 1) --> favour y - { - error = dy; - previous_error = error; - //go in direction of the current angle - do - { - y_current += ystep; - error += double_x; - if (error > double_y) - { - x_current += xstep; - error -= double_y; - //check Pixels that vary from bresenham line --> supercover line - if (error + previous_error < double_y) - { - if (map.at(y_start + y_current, x_start + x_current - xstep) == 0) - { - hit_black_pixel = true; - } - } - else if (error + previous_error > double_y) - { - if (map.at(y_start + y_current - ystep, x_start + x_current) == 0) - { - hit_black_pixel = true; - } - } - else - { - if (map.at(y_start + y_current, x_start + x_current - xstep) == 0 - || map.at(y_start + y_current - ystep, x_start + x_current)) - { - hit_black_pixel = true; - } - } - } - //check if next Pixel is a black Pixel - if (map.at(y_start + y_current, x_start + x_current) == 0) - { - hit_black_pixel = true; - } - previous_error = error; - } while (!hit_black_pixel); - distances[angle] = std::sqrt(std::pow(y_current, 2.0) + std::pow(x_current, 2.0)); - } - else // favour x - { - error = dx; - previous_error = error; - //go in direction of the current angle - do - { - x_current += xstep; - error += double_y; - if (error > double_x) - { - y_current += ystep; - error -= double_x; - //check Pixels that vary from bresenham line --> supercover line - if (error + previous_error < double_x) - { - if (map.at(y_start + y_current - ystep, x_start + x_current) == 0) - { - hit_black_pixel = true; - } - } - else if (error + previous_error > double_x) - { - if (map.at(y_start + y_current, x_start + x_current - xstep) == 0) - { - hit_black_pixel = true; - } - } - else - { - if (map.at(y_start + y_current, x_start + x_current - xstep) == 0 - || map.at(y_start + y_current - ystep, x_start + x_current)) - { - hit_black_pixel = true; - } - } - } - //check if next Pixel is a black Pixel - if (map.at(y_start + y_current, x_start + x_current) == 0) - { - hit_black_pixel = true; - } - previous_error = error; - } while (!hit_black_pixel); - distances[angle] = std::sqrt(std::pow(y_current, 2.0) + std::pow(x_current, 2.0)); - } - } -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/room_class.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/room_class.cpp deleted file mode 100644 index f48d94c..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/room_class.cpp +++ /dev/null @@ -1,257 +0,0 @@ -#include - -Room::Room(int id_of_room) -{ - id_number_ = id_of_room; - //initial values for the area and perimeter - room_area_ = 0; - room_perimeter_ = 0; -} - -void Room::mergeRoom(Room& room_to_merge, double map_resolution) -{ - // member_points_, room_area_ - insertMemberPoints(room_to_merge.getMembers(), map_resolution); - - // neighbor_room_ids_ - const std::vector& neighbor_ids = room_to_merge.getNeighborIDs(); - -// std::cout << "neighbor_room_ids_:\n"; -// for (size_t i=0; i::iterator it = neighbor_room_ids_.begin(); it != neighbor_room_ids_.end();) - { - if (*it == id_number_ || *it == room_to_merge.getID()) - neighbor_room_ids_.erase(it); - else - ++it; - } - -// std::cout << "neighbor_room_ids_after_merge:\n"; -// for (size_t i=0; i::const_iterator it = room_to_merge.getNeighborStatistics().begin(); it != room_to_merge.getNeighborStatistics().end(); ++it) - { - if (it->first != id_number_) - { - if (neighbor_room_statistics_.find(it->first) != neighbor_room_statistics_.end()) - neighbor_room_statistics_[it->first] += it->second; - else - neighbor_room_statistics_[it->first] = it->second; - } - } - neighbor_room_statistics_.erase(room_to_merge.getID()); -} - -//function to add a Point to the Room -int Room::insertMemberPoint(cv::Point new_member, double map_resolution) -{ - if (!contains(member_points_, new_member)) - { - member_points_.push_back(new_member); - room_area_ += map_resolution * map_resolution; - return 0; - } - return 1; -} - -//function to add a few Points -int Room::insertMemberPoints(const std::vector& new_members, double map_resolution) -{ - for (size_t point = 0; point < new_members.size(); point++) - { - if (!contains(member_points_, new_members[point])) - { - member_points_.push_back(new_members[point]); - } - } - room_area_ += map_resolution * map_resolution * new_members.size(); // todo: theoretically might count too much area if member_points_ and new_members are not disjunct - return 0; -} - -//function to add a neighbor to the room statistics -void Room::addNeighbor(int new_neighbor_id) -{ - if (neighbor_room_statistics_.find(new_neighbor_id) == neighbor_room_statistics_.end()) - neighbor_room_statistics_[new_neighbor_id] = 1; - else - neighbor_room_statistics_[new_neighbor_id]++; -} - -//function to add a neighbor to the Room -int Room::addNeighborID(int new_neighbor_id) -{ - if (!contains(neighbor_room_ids_, new_neighbor_id)) - { - neighbor_room_ids_.push_back(new_neighbor_id); - return 0; - } - return 1; -} - -//function to get how many neighbors this room has -int Room::getNeighborCount() -{ - return neighbor_room_ids_.size(); -} - -std::map& Room::getNeighborStatistics() -{ - return neighbor_room_statistics_; -} - -void Room::getNeighborStatisticsInverse(std::map< int,int,std::greater >& neighbor_room_statistics_inverse) -{ - //std::map< int,int,std::greater > neighbor_room_statistics_inverse; // common border length, room_id - for (std::map::iterator it=neighbor_room_statistics_.begin(); it!=neighbor_room_statistics_.end(); ++it) - neighbor_room_statistics_inverse[it->second] = it->first; -} - -int Room::getNeighborWithLargestCommonBorder(bool exclude_wall) -{ - if (neighbor_room_statistics_.size() == 0) - return 0; - - std::map< int,int,std::greater > neighbor_room_statistics_inverse; // common border length, room_id - for (std::map::iterator it=neighbor_room_statistics_.begin(); it!=neighbor_room_statistics_.end(); ++it) - neighbor_room_statistics_inverse[it->second] = it->first; - - if (exclude_wall == true && neighbor_room_statistics_inverse.begin()->second==0 && neighbor_room_statistics_inverse.size() > 1) - { - std::map::iterator it = neighbor_room_statistics_inverse.begin(); - it++; - return it->second; - } - - return neighbor_room_statistics_inverse.begin()->second; -} - -double Room::getPerimeterRatioOfXLargestRooms(const int number_rooms) -{ - if (neighbor_room_statistics_.size() == 0) - return 0; - - std::map< int,int,std::greater > neighbor_room_statistics_inverse; // common border length, room_id - for (std::map::iterator it=neighbor_room_statistics_.begin(); it!=neighbor_room_statistics_.end(); ++it) - neighbor_room_statistics_inverse[it->second] = it->first; - - int counter = 0; - double value = 0.; - for (std::map::iterator it=neighbor_room_statistics_inverse.begin(); it!=neighbor_room_statistics_inverse.end() && counterfirst; - if (it->second != 0) - counter++; - } - - return value/getPerimeter(); -} - -double Room::getWallToPerimeterRatio() -{ - double value = 0.; - if (neighbor_room_statistics_.find(0) != neighbor_room_statistics_.end()) - value = neighbor_room_statistics_[0]/getPerimeter(); - - return value; -} - -std::vector& Room::getNeighborIDs() -{ - return neighbor_room_ids_; -} - -//function to get the area of this room, which has been set previously -double Room::getArea() -{ - if (room_area_ != 0) - { - return room_area_; - } - std::cout << "Warning: Room Area hasn't been set for this room." << std::endl; - return -1; -} - -//function to get the perimeter of this room, which has been set previously -double Room::getPerimeter() -{ -// if (room_perimeter_ != 0) -// { -// return room_perimeter_; -// } -// std::cout << "Warning: Room Perimeter hasn't been set for this room." << std::endl; - room_perimeter_ = 0.; - for (std::map::iterator it=neighbor_room_statistics_.begin(); it!=neighbor_room_statistics_.end(); ++it) - room_perimeter_ += it->second; - - return room_perimeter_; -} - -//function to get the ID number of this room -int Room::getID() const -{ - return id_number_; -} - -cv::Point Room::getCenter() -{ - cv::Scalar center = cv::mean(member_points_); - return cv::Point(center[0], center[1]); -} - -//function to get the Members of this room -const std::vector& Room::getMembers() -{ - if (member_points_.size() == 0) - { - std::cout << "Warning: This room has no members." << std::endl; - } - return member_points_; -} - -//This function sets the room ID to a different value. This is useful for merging different rooms together. -int Room::setRoomId(int new_value, cv::Mat& map) -{ - for (int y = 0; y < map.rows; y++) - { - for (int x = 0; x < map.cols; x++) - { - if (map.at(y, x) == id_number_) - { - map.at(y, x) = new_value; - } - } - } - id_number_ = new_value; - return 0; -} - -//function to set the area of this room -int Room::setArea(double room_area) -{ - room_area_ = room_area; - return 0; -} - -//function to set the perimeter of this room -int Room::setPerimeter(double room_perimeter) -{ - room_perimeter_ = room_perimeter; - return 0; -} - -bool sortRoomsAscending(Room a, Room b) -{ - return (a.getArea() < b.getArea()); -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/segmentation_tester.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/segmentation_tester.cpp deleted file mode 100644 index 3c5d571..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/segmentation_tester.cpp +++ /dev/null @@ -1,208 +0,0 @@ -#include - -#include - -#include -#include - -#include - - -int main() -{ - std::string package_path = ros::package::getPath("ipa_room_segmentation"); - std::string map_path = package_path + "/common/files/test_maps/"; - - std::vector map_names; -// map_names.push_back("office_b.png"); - map_names.push_back("office_e.png"); -// map_names.push_back("NLB.png"); - map_names.push_back("lab_ipa.png"); - map_names.push_back("NLB_furnitures.png"); -// map_names.push_back("office_e_furnitures.png"); -// map_names.push_back("lab_c_scan_furnitures.png"); - - std::vector maps(map_names.size()); - - for(size_t i = 0; i < map_names.size(); ++i) - { - cv::Mat map = cv::imread(map_path + map_names[i], 0); - - for(unsigned int u = 0; u < map.rows; ++u) - { - for(unsigned int v = 0; v < map.cols; ++v) - { - if(map.at(u,v) < 250) - { - map.at(u,v) = 0; - } - else - { - map.at(u,v) = 255; - } - } - } - -// cv::imshow("test", map); -// cv::waitKey(); - - maps[i] = map.clone(); - } - - std::vector possible_labels(3); // vector that stores the possible labels that are drawn in the training maps. Order: room - hallway - doorway - possible_labels[0] = 77; - possible_labels[1] = 115; - possible_labels[2] = 179; - - // strings that stores the path to the saving files - std::string conditional_weights_path = package_path + "/common/files/classifier_models/conditional_field_weights.txt"; - std::string boost_file_path = package_path + "/common/files/classifier_models/"; - - // optimal result saving path - std::string conditional_weights_optimal_path = package_path + "/common/files/optimal_vrf_res/conditional_field_weights.txt"; - std::string boost_file_optimal_path = package_path + "/common/files/optimal_vrf_res/"; - - // load the training maps - cv::Mat training_map; - std::vector training_maps; - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr52.png", 0); - training_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr101.png", 0); - training_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_intel.png", 0); - training_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_d_furniture.png", 0); - training_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_ipa.png", 0); - training_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_NLB_furniture.png", 0); - training_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_e.png", 0); - training_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_h.png", 0); - training_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_c_furnitures.png", 0); - training_maps.push_back(training_map); - // load the voronoi maps - std::vector voronoi_maps; - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr52_voronoi.png", 0); - voronoi_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr101_voronoi.png", 0); - voronoi_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_intel_voronoi.png", 0); - voronoi_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_d_furnitures_voronoi.png", 0); - voronoi_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_ipa_voronoi.png", 0); - voronoi_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/NLB_voronoi.png", 0); - voronoi_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_e_voronoi.png", 0); - voronoi_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_h_voronoi.png", 0); - voronoi_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_c_furnitures_voronoi.png", 0); - voronoi_maps.push_back(training_map); - // load the voronoi-nodes maps - std::vector voronoi_node_maps; - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr52_voronoi_nodes.png", 0); - voronoi_node_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr101_voronoi_nodes.png", 0); - voronoi_node_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_intel_voronoi_nodes.png", 0); - voronoi_node_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_d_furnitures_voronoi_nodes.png", 0); - voronoi_node_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_ipa_voronoi_nodes.png", 0); - voronoi_node_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/NLB_voronoi_nodes.png", 0); - voronoi_node_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_e_voronoi_nodes.png", 0); - voronoi_node_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_h_voronoi_nodes.png", 0); - voronoi_node_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_c_furnitures_voronoi_nodes.png", 0); - voronoi_node_maps.push_back(training_map); - // load the original maps - std::vector original_maps; - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/Fr52_original.png", 0); - original_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/Fr101_original.png", 0); - original_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/lab_intel_original.png", 0); - original_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/lab_d_furnitures_original.png", 0); - original_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/lab_ipa_original.png", 0); - original_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/NLB_original.png", 0); - original_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/office_e_original.png", 0); - original_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/office_h_original.png", 0); - original_maps.push_back(training_map); - training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/lab_c_furnitures_original.png", 0); - original_maps.push_back(training_map); - - std::cout << training_maps.size() << " " << voronoi_maps.size() << " " << voronoi_node_maps.size() << " " << original_maps.size() << std::endl; -// for(size_t i = 0; i < training_maps.size(); ++i) -// { -// cv::imshow("training_map", training_maps[i]); -// cv::imshow("voronoi_map", voronoi_maps[i]); -// cv::imshow("nodes", voronoi_node_maps[i]); -// cv::imshow("original_maps", original_maps[i]); -// cv::waitKey(); -// } - - double map_resolution = 0.05; - double room_lower_limit_voronoi_ = 1.53; //1.53; - double room_upper_limit_voronoi_ = 1000000.; //120.0; - - std::vector door_points; - - VoronoiRandomFieldSegmentation segmenter(false, false); - -// segmenter.trainAlgorithms(training_maps, voronoi_maps, voronoi_node_maps, original_maps, possible_labels, conditional_weights_path, boost_file_path); - - for(size_t i = 0; i < map_names.size(); ++i) - { - segmenter.segmentMap(maps[i], maps[i], 5, 50, 4, possible_labels, 7, true, conditional_weights_path, boost_file_path, 9000, map_resolution, room_lower_limit_voronoi_, room_upper_limit_voronoi_, 12.5, &door_points); - - std::cout << "number of doorpoints: " << door_points.size() << std::endl; - door_points.clear(); -// cv::imshow("res", maps[i]); -// cv::waitKey(); - } - -// segmenter.testFunc(maps[0]); -// -// // Do several training steps and segment different maps to find the best training-result. This is done by checking the complete -// // crf-potentials. -// -// double best_potential = 0; -// -// for(size_t training = 1; training <= 10; ++training) -// { -// if(training != 1) -// segmenter.trainAlgorithms(training_maps, voronoi_maps, voronoi_node_maps, original_maps, possible_labels, conditional_weights_path, boost_file_path); -// -// double current_potential = 0; -// -// for(size_t i = 0; i < 6; ++i) -// { -// cv::Mat map = maps[i].clone(); -// -// current_potential += segmenter.segmentMap(map, map, 7, 50, 5, possible_labels, 7, true, conditional_weights_path, boost_file_path, 9000, map_resolution, room_lower_limit_voronoi_, room_upper_limit_voronoi_); // 7, 50, 4, 5 -// } -// -// std::cout << std::endl << "********** Step: " << training << ". current_potential: " << current_potential << std::endl; -// -// if(current_potential > best_potential) -// { -// best_potential = current_potential; -// segmenter.testFunc(conditional_weights_optimal_path, boost_file_optimal_path); -// } -// } - - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_features.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_features.cpp deleted file mode 100644 index 5292cb7..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_features.cpp +++ /dev/null @@ -1,1052 +0,0 @@ -#include - -#define PI 3.14159265 - -// structure to perform breadth-first-search to detect minimal loops - -//get the number of implemented features. Needs to be changed to the new value if you change it -int voronoiRandomFieldFeatures::getFeatureCount() -{ - return 28; -} - -// reset the saved features -void voronoiRandomFieldFeatures::resetCachedData() -{ - features_.clear(); - features_.resize(getFeatureCount(), 0.); - features_computed_.clear(); - features_computed_.resize(getFeatureCount(), false); - - polygon_.clear(); - polygon_computed_ = false; - - centroid_computed_ = false; -} - -//**********************see features.h for a better overview of what is calculated and needed************************* -//Method for calculating the feature for the classifier -double voronoiRandomFieldFeatures::getFeature(const std::vector& beams, const std::vector& angles, - const std::vector& clique_points, std::vector& labels_for_clique_points, - std::vector& possible_labels, cv::Point point, const int feature) -{ - switch (feature) - { - case 1: - return calcFeature1(beams); - case 2: - return calcFeature2(beams); - case 3: - return calcFeature3(beams, 30); - case 4: - return calcFeature4(beams, 30); - case 5: - return calcFeature5(beams); - case 6: - return calcFeature6(beams); - case 7: - return calcFeature7(beams); - case 8: - return calcFeature8(beams, angles); - case 9: - return calcFeature9(beams, angles); - case 10: - return calcFeature10(beams); - case 11: - return calcFeature11(beams); - case 12: - return calcFeature12(beams); - case 13: - return calcFeature13(beams); - case 14: - return calcFeature14(beams, angles, point); - case 15: - return calcFeature15(beams, angles, point); - case 16: - return calcFeature16(beams, angles, point); - case 17: - return calcFeature17(beams, angles, point); - case 18: - return calcFeature18(beams, angles, point); - case 19: - return calcFeature19(beams, angles, point); - case 20: - return calcFeature20(beams, angles, point); - case 21: - return calcFeature21(beams, angles, point); - case 22: - return calcFeature22(beams); - case 23: - return calcFeature23(beams); - case 24: - return calcFeature24(clique_points); - case 25: - return calcFeature25(possible_labels, labels_for_clique_points); - case 26: - return calcFeature26(beams, 22); - case 27: - return calcFeature27(beams, angles, 8, point); - case 28: - return calcFeature28(beams, 5); - default: - return -1; - } -} - -void voronoiRandomFieldFeatures::getFeatures(const std::vector& beams, const std::vector& angles, const std::vector& clique_points, std::vector& labels_for_clique_points, - std::vector& possible_labels, cv::Point point, std::vector& features) -{ - // reset internal data storage - resetCachedData(); - - // compute features - calcFeature1(beams); - calcFeature2(beams); - calcFeature3(beams, 30); - calcFeature4(beams, 30); - calcFeature5(beams); - calcFeature6(beams); - calcFeature7(beams); - calcFeature8(beams, angles); - calcFeature9(beams, angles); - calcFeature10(beams); - calcFeature11(beams); - calcFeature12(beams); - calcFeature13(beams); - calcFeature14(beams, angles, point); - calcFeature15(beams, angles, point); - calcFeature16(beams, angles, point); - calcFeature17(beams, angles, point); - calcFeature18(beams, angles, point); - calcFeature19(beams, angles, point); - calcFeature20(beams, angles, point); - calcFeature21(beams, angles, point); - calcFeature22(beams); - calcFeature23(beams); - calcFeature24(clique_points); - calcFeature25(possible_labels, labels_for_clique_points); - calcFeature26(beams, 22); - calcFeature27(beams, angles, 8, point); - calcFeature28(beams, 5); - - // write features - features.clear(); - features = features_; -} - -//Calculation of Feature 1: average difference of the beams -double voronoiRandomFieldFeatures::calcFeature1(const std::vector& beams) -{ - if (features_computed_[0]) - return features_[0]; - - double differences_sum = 0; - for (int b = 0; b < beams.size() - 1; b++) - { - differences_sum += abs(beams[b] - beams[b + 1]); - } - //get the difference between the last and the first beam - differences_sum += abs(beams[beams.size() - 1] - beams[0]); - - // set the cache of the calculated feature - features_computed_[0] = true; - features_[0] = (differences_sum / (double)beams.size()); - - //calculate the average difference and return it - return features_[0]; -} - -//Calculation of Feature 2: standard deviation of the difference of the beams -double voronoiRandomFieldFeatures::calcFeature2(const std::vector& beams) -{ - if (features_computed_[1]) - return features_[1]; - - double mean; //mean-value of the difference, calculated with calcFeature1 - double sum = 0; //helping variable - //initialize - mean = calcFeature1(beams); - //calculate deviation - for (int b = 0; b < beams.size(); b++) - { - sum += std::pow((beams[b] - mean), 2.0); - } -// std::cout << "f2: (" << sum << ") "; - sum = sum / (double) (beams.size() - 1); - - features_computed_[1] = true; - features_[1] = std::sqrt(sum); - - return features_[1]; -} - -//Calculation of Feature 3: average difference of the to a max_value limited beams -double voronoiRandomFieldFeatures::calcFeature3(const std::vector& beams, double maxval) -{ - if (features_computed_[2]) - return features_[2]; - - double differences_sum = 0; - double val1, val2; - for (int b = 0; b < beams.size()-1; b++) - { - //reset saved beamlenghts - val1 = maxval; - val2 = maxval; - if (beams[b] < maxval) - { - val1 = beams[b]; - } - if (beams[b + 1] < maxval) - { - val2 = beams[b + 1]; - } - differences_sum += abs(val1 - val2); - } - //get the difference between the last and the first beam - val1 = maxval; - val2 = maxval; - if (beams[beams.size()-1] < maxval) - { - val1 = beams[beams.size()-1]; - } - if (beams[0] < maxval) - { - val2 = beams[0]; - } - differences_sum += abs(val1 - val2); - //calculate the average difference and return it - features_computed_[2] = true; - features_[2] = (differences_sum / (double)beams.size()); - - return features_[2]; -} - -//Calculation of Feature 4: The Standard Deviation of the difference of limited beams -double voronoiRandomFieldFeatures::calcFeature4(const std::vector& beams, double maxval) -{ - if (features_computed_[3]) - return features_[3]; - - double mean; //mean-value of the difference, calculated with calcFeature1 - double v, w, difference, sum; //helping variables - //initialise - mean = calcFeature3(beams, maxval); - sum = 0; - //calculate deviation - for (int b = 0; b < beams.size() - 1; b++) - { - //reset value of current beam - v = maxval; - w = maxval; - if (beams[b] < maxval) - { - v = beams[b]; - } - if (beams[b + 1] < maxval) - { - w = beams[b + 1]; - } - difference = abs(v - w); - sum += std::pow((difference - mean), 2.0); - } - //add the difference from last to first point - v = maxval; - w = maxval; - if (beams[beams.size()-1] < maxval) - { - v = beams[beams.size()-1]; - } - if (beams[0] < maxval) - { - w = beams[0]; - } - difference = abs(v - w); - sum += std::pow((difference - mean), 2.0); - sum = sum / (beams.size() - 1); - - features_computed_[3] = true; - features_[3] = std::sqrt(sum); - - return features_[3]; -} - -//Calculation of Feature 5: The average beamlength -double voronoiRandomFieldFeatures::calcFeature5(const std::vector& beams) -{ - if (features_computed_[4]) - return features_[4]; - - double sum = 0; - //get the sum of the beamlengths - for (int b = 0; b < beams.size(); b++) - { - sum += beams[b]; - } - //divide by number of beams and return value - features_computed_[4] = true; - features_[4] = (sum / (double)beams.size()); - - return features_[4]; -} - -//Calculation of Feature 6: The standard deviation of the beamlenghts -double voronoiRandomFieldFeatures::calcFeature6(const std::vector& beams) -{ - if (features_computed_[5]) - return features_[5]; - - double mean; //mean-value of the beamlenghts, calculated with calcFeature5 - double sum, res; //helping variables - //initialize - mean = calcFeature5(beams); - sum = 0; - //calculate deviation - for (int b = 0; b < beams.size(); b++) - { - sum += std::pow((beams[b] - mean), 2.0); - } - res = sum / (double)(beams.size() - 1); -// std::cout << "f6: (" << res << ") "; - - features_computed_[5] = true; - features_[5] = std::sqrt(res); - - return features_[5]; -} - -//Calculation of Feature 7: The number of gaps between the beams, a gap is when the difference of the lenghts is larger -//than a specified threshold -double voronoiRandomFieldFeatures::calcFeature7(const std::vector& beams) -{ - if (features_computed_[6]) - return features_[6]; - - double threshold = 10; //[pixel], see "Semantic labeling of places" - double gaps = 0; - for (int b = 0; b < beams.size() - 1; b++) - { - if (abs(beams[b] - beams[b + 1]) > threshold) - { - gaps++; - } - } - if (abs(beams[beams.size() - 1] - beams[0]) > threshold) - { - gaps++; - } - features_computed_[6] = true; - features_[6] = gaps; - - return gaps; -} - -//Calculation of feature 8: The distance between two Endpoints of local minima of beamlenghts -double voronoiRandomFieldFeatures::calcFeature8(const std::vector& beams, const std::vector& angles) -{ - if (features_computed_[7]) - return features_[7]; - - //Remark: angles are relatively to the robot - double length_1 = 10000000; - double length_2 = 10000000; - double angle_1 = angles[0], angle_2 = angles[1]; - double x_1, y_1, x_2, y_2; - //get the two Points corresponding to minimal beamlength - for (int b = 0; b < beams.size(); b++) - { - if (beams[b] < length_1 && beams[b] > length_2) - { - length_1 = beams[b]; - angle_1 = angles[b]; - } - else if (beams[b] < length_2) - { - length_2 = beams[b]; - angle_2 = angles[b]; - } - } - //calculate the x/y-values of the Points - x_1 = std::cos(angle_1 * PI / 180) * length_1; - y_1 = std::sin(angle_1 * PI / 180) * length_1; - x_2 = std::cos(angle_2 * PI / 180) * length_2; - y_2 = std::sin(angle_2 * PI / 180) * length_2; - - //calculate and return the euclidean distance between the Points - features_computed_[7] = true; - features_[7] = std::sqrt(std::pow((x_1 - x_2), 2) + std::pow((y_1 - y_2), 2)); - - return features_[7]; -} - -//Calculate Feature 9: The Angle between two Endpoints of local minima of beamlengths -double voronoiRandomFieldFeatures::calcFeature9(const std::vector& beams, const std::vector& angles) -{ - if (features_computed_[8]) - return features_[8]; - - //Remark: angles are relatively to the robot - double length_1 = beams[0]; - double length_2 = beams[1]; - double angle_1 = angles[0]; - double angle_2 = angles[1]; - double x_1, y_1, x_2, y_2; - //get the two Points corresponding to minimal beamlengths - for (int b = 0; b < beams.size(); b++) - { - if (beams[b] < length_1 && beams[b] > length_2) - { - length_1 = beams[b]; - angle_1 = angles[b]; - } - else if (beams[b] <= length_2) - { - length_2 = beams[b]; - angle_2 = angles[b]; - } - } - //calculate the x/y-values of the Points - double pi_to_degree = PI / 180; - x_1 = std::cos(angle_1 * pi_to_degree) * length_1; - y_1 = std::sin(angle_1 * pi_to_degree) * length_1; - x_2 = std::cos(angle_2 * pi_to_degree) * length_2; - y_2 = std::sin(angle_2 * pi_to_degree) * length_2; - //calculate and return the angle between the Points - double coordvec = (x_1 * x_2) + (y_1 * y_2); - double absvec = (length_1 * length_2); - const double quot = std::max(-1., std::min(1., coordvec / absvec)); - // if the raycasting-algorithm only found zero-beams return 0 - features_computed_[8] = true; - features_[8] = std::acos(quot) * 180.0 / PI; - - return features_[8]; -} - -//Calculate Feature 10: The average of the relations (b_i/b_(i+1)) between two neighboring beams -double voronoiRandomFieldFeatures::calcFeature10(const std::vector& beams) -{ - if (features_computed_[9]) - return features_[9]; - - double length_1, length_2; - double sum_relation = 0; - //calculate the relations and add it to the sum - for (int b = 0; b < beams.size() - 1; b++) - { - length_1 = beams[b]; - length_2 = beams[b + 1]; - if (length_1 < length_2) - { - sum_relation += (length_1 / length_2); - } - else - { - sum_relation += (length_2 / length_1); - } - } - length_1 = beams[beams.size() - 1]; - length_2 = beams[0]; - if (length_1 < length_2) - { - sum_relation += (length_1 / length_2); - } - else - { - sum_relation += (length_2 / length_1); - } - //calculate and return the average of the relations - features_computed_[9] = true; - features_[9] = (sum_relation / (double)beams.size()); - - return features_[9]; -} - -//Calculate Feature 11: The standard deviation of the relations (b_i/b_(i+1)) between two neighboring beams -double voronoiRandomFieldFeatures::calcFeature11(const std::vector& beams) -{ - if (features_computed_[10]) - return features_[10]; - - //calculate the mean of the relations by using Feature 10 - double mean = calcFeature10(beams); - double sum = 0; - //calculate the standard_deviation - for (int b = 0; b < beams.size(); b++) - { - sum += std::pow((beams[b] - mean), 2); - } - sum = sum / (double)(beams.size() - 1); - features_computed_[10] = true; - features_[10] = std::sqrt(sum); - - return features_[10]; -} - -//Calculate Feature 12: The number of relative gaps. A relative gap is when the relation (b_i/b_(i+1)) is smaller than a -//specified threshold -double voronoiRandomFieldFeatures::calcFeature12(const std::vector& beams) -{ - if (features_computed_[11]) - return features_[11]; - - double threshold = 0.85; - double gaps = 0; - double length_1, length_2; - for (int b = 0; b < beams.size() - 1; b++) - { - length_1 = beams[b]; - length_2 = beams[b + 1]; - if (length_1 < length_2) - { - if ((length_1 / length_2) < threshold) - { - gaps++; - } - } - else - { - if ((length_2 / length_1) < threshold) - { - gaps++; - } - } - } - length_1 = beams[0]; - length_2 = beams[beams.size() - 1]; - if (length_1 < length_2) - { - if ((length_1 / length_2) < threshold) - { - gaps++; - } - } - else - { - if ((length_2 / length_1) < threshold) - { - gaps++; - } - } - features_computed_[11] = true; - features_[11] = gaps; - - return features_[11]; -} - -//Calculate Feature 13: The Kurtosis, which is given by: -//(Sum((x - mean)^4))/sigma^4) - 3, where mean is the mean-value and sigma is the standard deviation -double voronoiRandomFieldFeatures::calcFeature13(const std::vector& beams) -{ - if (features_computed_[12]) - return features_[12]; - - double sum = 0; - //get the standard deviation and the mean by using previous functions - double sigma = calcFeature6(beams); - double mean = calcFeature5(beams); - //calculate the Kurtosis - for (int b = 0; b < beams.size(); b++) - { - sum += std::pow((beams[b] - mean), 4); - } - features_computed_[12] = true; - features_[12] = ((sum / std::pow(sigma, 4)) - 3); - - return features_[12]; -} - -//Calc Feature 22: The average of the beam lengths divided by the maximal length -double voronoiRandomFieldFeatures::calcFeature22(const std::vector& beams) -{ - if (features_computed_[21]) - return features_[21]; - - double sum = 0; - double maxval = 0; - //find maximal value of the beams - for (int b = 0; b < beams.size(); b++) - { - if (beams[b] > maxval) - { - maxval = beams[b]; - } - } - //get the average of the beams/maxval - //get the sum of the beamlengths - for (int b = 0; b < beams.size(); b++) - { - sum += (beams[b] / maxval); - } - //divide by number of beams and return value - features_computed_[21] = true; - features_[21] = (sum / (double)beams.size()); - - return features_[21]; -} - -//Calculate Feature 23: The standard deviation of the beam lengths divided by the maximal length -double voronoiRandomFieldFeatures::calcFeature23(const std::vector& beams) -{ - if (features_computed_[22]) - return features_[22]; - - double sum = 0; - double mean = calcFeature22(beams); - double maxval = 0; - //find maximal value of the beams - for (int b = 0; b < beams.size(); b++) - { - if (beams[b] > maxval) - { - maxval = beams[b]; - } - } - //get the standard deviation - for (int b = 0; b < beams.size(); b++) - { - sum += std::pow(((beams[b] / maxval) - mean), 2); - } - sum = sum / (double) (beams.size() - 1); - - features_computed_[22] = true; - features_[22] = std::sqrt(sum); - - return features_[22]; -} - -//*******************Features based on a polygonal approximation of the beams******************* -//Calculate the polygonal approximation -std::vector voronoiRandomFieldFeatures::calcPolygonalApprox(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (polygon_computed_ == true) - return polygon_; - - polygon_.clear(); - double x, y; - //calculate the endpoint for every beam and add it to the polygon - for (int b = 0; b < beams.size(); b++) - { //calculate the x/y-values - //Remark: angles in radian - double pi_to_degree = PI / 180; - x = std::cos(angles[b] * pi_to_degree) * beams[b]; - y = std::sin(angles[b] * pi_to_degree) * beams[b]; - polygon_.push_back(cv::Point(location.x + x, location.y + y)); - } - - polygon_computed_ = true; - return polygon_; -} - -//Calculate the centroid of the polygonal approximation -cv::Point voronoiRandomFieldFeatures::calcCentroid(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (centroid_computed_ == true) - return centroid_; - - double x, y; - double sumX = 0; - double sumY = 0; - //get every Point by using the polygonal approximation - std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); - for (int p = 0; p < polygon.size(); p++) - { - sumX += polygon[p].x; - sumY += polygon[p].y; - } - - centroid_.x = sumX / (double) polygon.size(); - centroid_.y = sumY / (double) polygon.size(); - centroid_computed_ = true; - return centroid_; -} - -//Calculate Feature 14: The area of the polygonal approximation of the beams -double voronoiRandomFieldFeatures::calcFeature14(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[13]) - return features_[13]; - - double map_resolution = 0.05000; - std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); - - features_computed_[13] = true; - features_[13] = map_resolution * map_resolution * cv::contourArea(polygon); - - return features_[13]; -} - -//Calculate Feature 15: The perimeter of the polygonal approximation of the beams -double voronoiRandomFieldFeatures::calcFeature15(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[14]) - return features_[14]; - - std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); - features_computed_[14] = true; - features_[14] = cv::arcLength(polygon, true); - - return features_[14]; -} - -//Calculate Feature 16: The quotient of area divided by perimeter of the polygonal approximation of the beams -double voronoiRandomFieldFeatures::calcFeature16(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[15]) - return features_[15]; - - features_computed_[15] = true; - features_[15] = (calcFeature14(beams, angles, location) / calcFeature15(beams, angles, location)); - - return features_[15]; -} - -//Calculate Feature 17: The average of the distance between the centroid and the boundary-Points of the polygonal approximation -double voronoiRandomFieldFeatures::calcFeature17(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[16]) - return features_[16]; - - std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); - cv::Point centroid = calcCentroid(beams, angles, location); - double sum = 0; - double delta_x, delta_y; - //calculate the distance between the centroid and the boundary and add it to the sum - for (int p = 0; p < polygon.size(); p++) - { - delta_x = polygon[p].x - centroid.x; - delta_y = polygon[p].y - centroid.y; - sum += std::sqrt(std::pow(delta_x, 2) + std::pow(delta_y, 2)); - } - //calculate and return the average of the distances - features_computed_[16] = true; - features_[16] = (sum / (double) polygon.size()); - - return features_[16]; -} - -//Calculate Feature 18: The standard deviation of the distance between the centroid and the boundary-Points -double voronoiRandomFieldFeatures::calcFeature18(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[17]) - return features_[17]; - - std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); - cv::Point centroid = calcCentroid(beams, angles, location); - //get the mean of the distances by using Feature 17 - double mean = calcFeature17(beams, angles, location); - double current_distance; - double sum = 0; - //calculate the standard_deviation - for (int p = 0; p < polygon.size(); p++) - { - double delta_x = polygon[p].x - centroid.x; - double delta_y = polygon[p].y - centroid.y; - current_distance = std::sqrt(std::pow(delta_x, 2) + std::pow(delta_y, 2)); - sum += std::pow(current_distance - mean, 2); - } - sum = sum / (double) (beams.size() - 1); - - features_computed_[17] = true; - features_[17] = std::sqrt(sum); - - return features_[17]; -} - -//Calculate Feature 19: The half major axis of the bounding ellipse, calculated with openCV -double voronoiRandomFieldFeatures::calcFeature19(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[18]) - return features_[18]; - - std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); - cv::Point centroid = calcCentroid(beams, angles, location); - cv::Point2f points[4]; - std::vector < cv::Point2f > edge_points; - double distance = 0; - //saving-variable for the Points of the ellipse - cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(polygon)); - //get the edge-points of the ellipse - ellipse.points(points); - //saving the Points of the ellipse in a vector - for (int i = 0; i < 4; i++) - { - edge_points.push_back(points[i]); - } - //calculate the distance between the Points and take the largest one - for (int p = 0; p < edge_points.size(); p++) - { - for (int np = 0; np < edge_points.size(); np++) - { - if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) > distance) - { - distance = std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)); - } - } - } - - features_computed_[18] = true; - features_[18] = (distance / 2); - - return features_[18]; -} - -//Calculate Feature 20: The half minor axis of the bounding ellipse, calculated with openCV -double voronoiRandomFieldFeatures::calcFeature20(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[19]) - return features_[19]; - - std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); - cv::Point2f points[4]; - std::vector < cv::Point2f > edge_points; - double distance = 1000000; - //saving-variable for the Points of the ellipse - cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(polygon)); - //get the edge-points of the ellipse - ellipse.points(points); - //saving the Points of the ellipse in a vector - for (int i = 0; i < 4; i++) - { - edge_points.push_back(points[i]); - } - //calculate the distance between the Points and take the largest one - for (int p = 0; p < edge_points.size(); p++) - { - for (int np = 0; np < edge_points.size(); np++) - { - if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) < distance - && std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) > 0 && p != np) - { - distance = std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)); - } - } - } - - features_computed_[19] = true; - features_[19] = (distance / 2); - - return features_[19]; -} - -//Calculate Feature 21: The Quotient of half the major axis and half the minor axis -double voronoiRandomFieldFeatures::calcFeature21(const std::vector& beams, const std::vector& angles, cv::Point location) -{ - if (features_computed_[20]) - return features_[20]; - - features_computed_[20] = true; - features_[20] = (calcFeature19(beams, angles, location) / calcFeature20(beams, angles, location)); - - return features_[20]; -} - -// Calculate Feature 24: The curvature of the voronoi graph approximated by the points of the clique. The curvature of a graph -// is given by k = 1/r, with r as the radius of the approximate circle at this position. -double voronoiRandomFieldFeatures::calcFeature24(std::vector clique_points) -{ - if (features_computed_[23]) - return features_[23]; - - float radius = 0; - cv::Point2f center; - - // Get the circle that approaches the points of the clique. If the clique has more than three neighbors it is a voronoi-node - // clique, in which case the mean of the curvatures gets calculated. - if(clique_points.size() <= 3) - { - // get the enclosing circle together with the radius of it - cv::minEnclosingCircle(clique_points, center, radius); - } - else - { - // go trough each 3-point combination and calculate the sum of the radius - for(unsigned int curvature = 1; curvature < clique_points.size(); ++curvature) - { - float temporary_radius; - - std::vector temporary_point_vector(3); // vector that stores the current points - - // fill vector - temporary_point_vector[0] = clique_points[0]; - temporary_point_vector[1] = clique_points[curvature]; - // Check if i+1 would be larger than last index. If so take the first point that isn't zero as second point. - if((curvature+1)%clique_points.size() == 0) - temporary_point_vector[2] = clique_points[1]; - else - temporary_point_vector[2] = clique_points[(curvature+1)%clique_points.size()]; - - // calculate the enclosing circle for this combination - cv::minEnclosingCircle(temporary_point_vector, center, temporary_radius); - - // add the current radius to sum - radius += temporary_radius; - } - - // get the mean - radius = radius/((double) clique_points.size()-1); - } - - // return the curvature - features_computed_[23] = true; - features_[23] = 1.0/(double)radius; - - return features_[23]; -} - -// Calculate Feature 25: The relation between the labels of Points from the central point to the other points in the clique. -// If two neighboring points have the labels hallway-hallway this feature gets very high and if they -// are differing from each other it gets small. To do this the possible_labels-vector stores all the -// labels for the different classes that can occur. -// !!!!!! Important: !!!!!! -// The possible_lables-vector stores in this program the labels in the order -// room-hallway-doorway -double voronoiRandomFieldFeatures::calcFeature25(std::vector& possible_labels, std::vector& labels_for_points) -{ - if (features_computed_[24]) - return features_[24]; - - // count how often each possible label occurs in the given labels - int maximal_amount = -1; // integer to save the maximal amount one label occurs - - for(size_t label = 0; label < possible_labels.size(); ++label) - { - // check for one label how often it appears - int label_count = std::count(labels_for_points.begin(), labels_for_points.end(), possible_labels[label]); - - // check if current label appears more often than the previously checked - if(label_count > maximal_amount) - maximal_amount = label_count; - } - - // set the initial value for the feature (40 * maximal_amount, so the feature is always >= 0, even if later a lot of the value gets subtracted) - double feature_value = 40 * maximal_amount; - - // ***Check for possibility that two neighboring labels can occur. For example it is very unlikely that a hallway appears right - // after a room, without a doorway between, but it is very likely that a hallway adds to a hallway. - - // Create a map to get a factor to add or subtract from the inital-value for a feature. The key for this map is the sum of - // two labels, so shows the relation between two points, and the Data for a key is the factor. - std::map label_mapping; - - // create each possible key and data (done by hand because in this case all possible configurations are known before --> room,hallway,doorway) - label_mapping[possible_labels[0] + possible_labels[0]] = 10; // room-room - label_mapping[possible_labels[0] + possible_labels[1]] = -10; // room-hallway - label_mapping[possible_labels[0] + possible_labels[2]] = 5; // room-doorway - label_mapping[possible_labels[1] + possible_labels[1]] = 10; // hallway-hallway - label_mapping[possible_labels[1] + possible_labels[2]] = 5; // hallway-doorway - label_mapping[possible_labels[2] + possible_labels[2]] = 10; // doorway-doorway - - // increase or decrease the feature-value - for(std::vector::iterator current_point = labels_for_points.begin(); current_point != labels_for_points.end(); ++current_point) - { - // check each neighbor that isn't the point itself - for(std::vector::iterator current_neighbor = labels_for_points.begin(); current_neighbor != labels_for_points.end(); ++current_neighbor) - { - // check if the two labels are not from the same point by calculating the distance in the vector between these two - if(std::distance(current_point, current_neighbor) != 0) - { - // get the key for the mapping - unsigned int current_sum = *current_point + *current_neighbor; - - feature_value += label_mapping[current_sum]; - } - } - } - - features_computed_[24] = true; - features_[24] = feature_value; - - return features_[24]; -} - -// Feature 26: number of beams that are shorter than a defined maxval -double voronoiRandomFieldFeatures::calcFeature26(const std::vector& beams, double maxval) -{ - if(features_computed_[25] == true) - return features_[25]; - - int number_of_short_beams = 0; - - for(size_t beam = 0; beam < beams.size(); ++beam) - if(beams[beam] <= maxval) - ++number_of_short_beams; - - features_computed_[25] = true; - features_[25] = (double) number_of_short_beams; - - return features_[25]; -} - -// Feature 27: The are of the bounding box that is calculated for the endpoints of all beams that are limited to a maxval -double voronoiRandomFieldFeatures::calcFeature27(const std::vector& beams, const std::vector& angles, double epsilon, cv::Point location) -{ - if(features_computed_[26] == true) - return features_[26]; - - std::vector short_points; - - // get minimal value of the beamlengths - double min_length = 1e5; - for(size_t beam = 0; beam < beams.size(); ++beam) - if(beams[beam] <= min_length) - min_length = beams[beam]; - - // search for beams which lengths are in the defined epsilon neighborhood - double pi_to_degree = PI / 180; - for(size_t beam = 0; beam < beams.size(); ++beam) - { - if(beams[beam] <= (min_length + epsilon) || beams[beam] > (min_length - epsilon)) - { - double x = std::cos(angles[beam] * pi_to_degree) * beams[beam] + location.x; - double y = std::sin(angles[beam] * pi_to_degree) * beams[beam] + location.y; - short_points.push_back(cv::Point(x, y)); - } - } - - // calculate the bounding box area - cv::RotatedRect bounding_box = cv::minAreaRect(short_points); - - features_computed_[26] = true; - features_[26] = bounding_box.size.area(); - - return features_[26]; -} - -// Feature 28: Ratio of the average lengths of n longest and n smalles beams. -double voronoiRandomFieldFeatures::calcFeature28(const std::vector& beams, double number_of_beams) -{ - if(features_computed_[27] == true) - return features_[27]; - - // find n longest and shortest beams - std::vector longest_beams (number_of_beams); - std::vector shortest_beams (number_of_beams); - std::vector sorted_beams = beams; - - std::sort(sorted_beams.begin(), sorted_beams.end()); - - int index = 0; - for(std::vector::iterator beam = sorted_beams.begin(); beam != sorted_beams.begin()+number_of_beams; ++beam) - { - longest_beams[index] = *beam; - ++index; - } - - index = 0; - for(std::vector::reverse_iterator beam = sorted_beams.rbegin(); beam != sorted_beams.rbegin()+number_of_beams; ++beam) - { - shortest_beams[index] = *beam; - ++index; - } - - // get average beamlengths - double average_longest = std::accumulate(longest_beams.begin(), longest_beams.end(), 0) / (double) longest_beams.size(); - double average_shortest = std::accumulate(shortest_beams.begin(), shortest_beams.end(), 0) / (double) shortest_beams.size(); - - // calculate ratio - features_computed_[27] = true; - features_[27] = average_shortest / average_longest; - - return features_[27]; - -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_segmentation.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_segmentation.cpp deleted file mode 100644 index 40997ca..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_segmentation.cpp +++ /dev/null @@ -1,1940 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_segmentation - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 10.2015 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#include - -#include - -#include -#include - -// This function is the optimization function L(w) = -1 * sum(i)(log(p(y_i|MB(y_i, w), x)) + ((w - w_r)^T (w - w_r)) / 2 * sigma^2) -// to find the optimal weights for the given prelabeled map. to find these the function has to be minimized. -// i indicates the labeled example -// w is the weights vector -// y_i is one node in the build graph -// MB(y_i, w) is the Markov blanket of y_i, in this case the current neighbors of y_i -// w_r is a starting point for w (can be 0 if not known better, so small weights get favorized) -// sigma is the standard deviation, can be chosen freely -// the last part of this function is the gaussian shrinking function to prevent the weights from getting too large -// the local likelihoods are given by the function -// p(y_i|x) = 1/Z(X) * exp(sum(k of K)(w_k^T * f_k(y_k, x))) -// - K are all cliques in the graph -// - w_k is the weightvector, regarding to the calculateable features for this clique -// - f_k is the feature function, calculating a vector of features, that are individual for each clique -// An example for this function, regarding to the voronoi random fields, is: -// L(w) = -(log( (exp(5w_1 + 10w_2)) / (exp(5w_1 + 10w_2) + exp(4w_1 + 7w_2)) ) + log( (exp(7w_1 + 8w_2)) / (exp(7w_1 + 8w_2) + exp(4w_1 + 1w_2)) )) + (w_1-2 w_2-2)^T * (w_1-2 w_2-2) / 2 * 3^2 -// -class pseudoLikelihoodOptimization -{ -public: - // number of weights that have to bee calculated - unsigned int number_of_weights; - - // vector that saves the parameters for each part of the optimization function - std::vector > log_parameters; - - // vector to save the starting_point for the weights - std::vector starting_weights; - - // the sigma used for the gaussian shrinking function - double sigma; - - // initializing constructor - pseudoLikelihoodOptimization() - { - number_of_weights = 0; - sigma = 1.; - } - - // overload of the () operator, which is needed from Dlib - double operator()(const column_vector& weights) const - { - double result = 0; - // go trough each part of the function and calculate the log(.) and add it to the result - for(unsigned int function_part = 0; function_part < log_parameters.size(); ++function_part) - { - double splitting_of_exponent = 20; // because this function often produces exponents around 1000 the calculation of one exponential part needs to be splitted - long double log_numerator = 1., log_denominator = 0.; // numerator and denominator for each log - long double exp_exponent = 0; // helping variable to get each exponent for exp(.) - // get the log_numerator for each function part - for(unsigned int numerator_factor = 0; numerator_factor < number_of_weights; ++numerator_factor) - { - exp_exponent += log_parameters[function_part][numerator_factor] * weights(numerator_factor); - } - exp_exponent = exp_exponent / splitting_of_exponent; - for(size_t split = 0; split < splitting_of_exponent; ++split) - log_numerator = log_numerator * exp(exp_exponent); - - // used for debugging, when parts of the function become too large for double - if(exp_exponent > 250.0) - { - std::cout << "exp exponent: " << exp_exponent << " numerator: " << log_numerator<< std::endl; -// for(int i = 0; i < number_of_weights; ++i) -// std::cout << weights(i) << " "; -// std::cout << std::endl; - } - - // add the numerator to the denominator, because it has to appear here - log_denominator += log_numerator; - // add each clique-value to the denominator - unsigned int vector_position = number_of_weights; // variable to get the current absolute starting position - // for the vector - do - { - exp_exponent = 0; - for(unsigned int relative_position = 0; relative_position < number_of_weights; ++relative_position) - { - exp_exponent += log_parameters[function_part][vector_position + relative_position] * weights(relative_position); - } - exp_exponent = exp_exponent / splitting_of_exponent; - // update the absolute vector position - vector_position += number_of_weights; - // update the denominator - long double denominator_part = 1.0; - for(size_t split = 0; split < splitting_of_exponent; ++split) - denominator_part *= exp(exp_exponent); - - log_denominator += denominator_part; - - }while(vector_position < log_parameters[function_part].size()); - - // update the result to return - result -= log10(log_numerator / log_denominator); - } - - // add the gaussian shrinking function - double gaussian_numerator = 0; - for(unsigned int weight = 0; weight < number_of_weights; ++weight) - { - gaussian_numerator += std::pow(weights(weight) - starting_weights[weight], 2.0); - } - result += gaussian_numerator / (2.0 * sigma * sigma); -// std::cout << "gaussian shrinking: " << gaussian_numerator << "/" << (2.0 * sigma * sigma) << std::endl; -// std::cout << "res: " << result << std::endl; - return result; - } -}; - -// Structs that are used to sort the label configurations in a way s.t. OpenGM can use it properly when defining functions -// and factors. -struct labelWithIndex -{ -public: - uint label; // current label of the configuration configuration - size_t absolute_index; // index of the node in the global CRF-node-saver -}; - -struct compLabelsByIndices -{ - bool operator()(labelWithIndex const &a, labelWithIndex const &b) - { - return (a.absolute_index < b.absolute_index); - } -}; - -// Struct used to sort contours regarding their size -struct compContoursSize -{ - bool operator()(std::vector const &a, std::vector const &b) - { - return (cv::contourArea(a) >= cv::contourArea(b)); - } -} contourComparer; - - -// Constructor -VoronoiRandomFieldSegmentation::VoronoiRandomFieldSegmentation() -{ - //save the angles between the simulated beams, used in the following algorithm - for (double angle = 0; angle < 360; angle++) - { - angles_for_simulation_.push_back(angle); - } - - // set number of classes this algorithm can detect - number_of_classes_ = 3; - - // Set up boosting parameters - number_of_classifiers_ = 35; -#if CV_MAJOR_VERSION == 2 - CvBoostParams params(CvBoost::DISCRETE, number_of_classifiers_, 0, 2, false, 0); - params_ = params; -#endif - trained_boost_ = false; - trained_conditional_field_ = false; -} - -// This Function checks if the given cv::Point is more far away from all the cv::Points in the given set. If one point gets found -// that this Point is nearer than the defined min_distance the function returns false to stop it immediately. -bool VoronoiRandomFieldSegmentation::pointMoreFarAway(const std::set& points, const cv::Point& point, const double min_distance) -{ - double square_distance = min_distance * min_distance; - for(std::set::const_iterator current_point = points.begin(); current_point != points.end(); ++current_point) - { - double dx = current_point->x - point.x; - double dy = current_point->y - point.y; - if( ((dx*dx + dy*dy)) <= square_distance) - return false; - } - return true; -} - -std::vector VoronoiRandomFieldSegmentation::raycasting(const cv::Mat& map, const cv::Point& location) -{ -// cv::Mat test_map (map.rows, map.cols, map.type(), cv::Scalar(255)); - //Raycasting Algorithm. It simulates the laser measurment at the given location and returns the lengths - //of the simulated beams - double simulated_x, simulated_y, simulated_cos, simulated_sin; - double temporary_distance; - std::vector distances(360, 0); - double delta_x, delta_y; - double pi_to_rad = PI / 180; - for (double angle = 0; angle < 360; angle++) - { - simulated_cos = std::cos(angle * pi_to_rad); - simulated_sin = std::sin(angle * pi_to_rad); - temporary_distance = 90000001; - for (double distance = 0; distance < 1000000; ++distance) - { - simulated_x = simulated_cos * distance; - simulated_y = simulated_sin * distance; - //make sure the simulated Point isn't out of the boundaries of the map - if (location.x + simulated_x > 0 && location.x + simulated_x < map.rows && location.y + simulated_y > 0 && location.y + simulated_y < map.cols) - { - if (map.at(location.x + simulated_x, location.y + simulated_y) == 0 && distance < temporary_distance) - { - temporary_distance = distance; - break; - } - } - } - if (temporary_distance > 90000000) - { - temporary_distance = 10; - } - distances[angle] = temporary_distance; - } - - return distances; -} - - -// This function computes all possible configurations for n variables that each can have m labels, e.g. when there are 2 variabels -// with 3 possible label for each there are 9 possible configurations. Important is that this function does compute multiple -// configurations like (1,2) and (2,1). -// This is done using the std::next_permutation function that computes the permutations of a given vector/array. To get all possible -// configurations first a vector is created and filled that stores n*m elements, representing the label for each variable. Then -// after the vector gets sorted all possible permutations are listed and the first n elements in this permutation are one configuration -// and going to be saved, if it hasn't occurred yet. -void VoronoiRandomFieldSegmentation::getPossibleConfigurations(std::vector >& possible_configurations, - const std::vector& possible_labels, const uint number_of_variables) -{ - // check how many possible labels there are and create a vector with number_of_variables*number_of_labels length - uint number_of_labels = possible_labels.size(); - std::vector label_vector(number_of_labels*number_of_variables); - - // fill the created vector with the labels for each variable - for(size_t variable = 0; variable < number_of_variables; ++variable) - for(size_t label = 0; label < number_of_labels; ++label) - label_vector[label + number_of_labels * variable] = possible_labels[label]; - - // sort the vector (expected from std::next_permutation) - std::sort (label_vector.begin(),label_vector.end()); - - // set to save the found configurations --> to easily check if one configuration has already been found - std::set > found_configurations; - - // get all permutations and create one configuration out of each - do - { - // configuration-vector - std::vector current_config(number_of_variables); - - // resave the first number_of_variables elements - for(size_t v = 0; v < number_of_variables; ++v) - current_config[v] = label_vector[v]; - - // check if the current_configuration has occurred yet, if not add it to the possible configurations - if(found_configurations.find(current_config) == found_configurations.end()) - { - found_configurations.insert(current_config); - possible_configurations.push_back(current_config); - } - - }while (std::next_permutation(label_vector.begin(),label_vector.end())); -} - -// -// This function is used to swap label-configurations in a order s.t. the nodes, which the labels are assigned to, are ordered -// with increasing indices. The indices show the position in the global set that stores all nodes. This is necessary, because -// OpenGM (The library used for inference in this graphical model) expects it this way. To do this the above defined structs -// labelWithIndex and compLabelsByIndices and the function std::sort are used. This function then creates a vector that stores -// the configurations as the struct labelWithIndex and applies a sort on all of it. Then it assignes the new found labels into -// the original vector. -void VoronoiRandomFieldSegmentation::swapConfigsRegardingNodeIndices(std::vector >& configurations, - size_t point_indices[]) -{ - for(size_t configuration = 0; configuration < configurations.size(); ++configuration) - { - // go trough configuration and create labels with the corresponding index - std::vector current_vector; - for(size_t current_node = 0; current_node < configurations[configuration].size(); ++current_node) - { - labelWithIndex current_label = {configurations[configuration][current_node], point_indices[current_node]}; - current_vector.push_back(current_label); - } - // sort the current vector - std::sort(current_vector.begin(), current_vector.end(), compLabelsByIndices()); - - // reassign the vector-elements - for(size_t node = 0; node < configurations[configuration].size(); ++node) - configurations[configuration][node] = current_vector[node].label; - } -} - -// -// ******* Function to create a conditional random field out of the given points ******************* -// -// This function constructs the Conditional Random Field out of the given points, by creating the edges of -// this graph from the cliques as described in segment. This is done by: -// 1. Searching the two nearest neighbors for each Point that isn't a voronoi-node and the 4 nearest neighbors for -// points that are voronoi-nodes (if possible to find 4, else 3 is enough, for example when the end of a hallway is reached). -// The nearest nodes are found by going along the pruned Voronoi graph to ensure that the found clique is the wanted clique, -// containing nodes that are connected by the voronoi-graph. -// The searching in a direction on the graph stops, if a new found node is a conditional-random-field-node, -// because in this direction the nearest neighbor has been found, and if the algorithm can't find new -// voronoi-graph-points. The second case occurs, when the current node is a dead end and has only one neighbor. -// 2. The found neighbors are defined as a new clique with the current looked at point. -// 3. For each found clique simulate the laserbeams at this point by using the defined raycasting-function. This step is done -// because the beams only need to be computed once for each clique and doing this at this point saves much time later. -void VoronoiRandomFieldSegmentation::createConditionalField(const cv::Mat& voronoi_map, const std::set& node_points, - std::vector& conditional_random_field_cliques, const std::set& voronoi_node_points, - const cv::Mat& original_map) -{ - // 1. Search for the n neighbors of the each point by going along the voronoi graph until a conditional-field-node gets - // found. - std::map, cv_Point_comp > raycasts; // map that stores the simulated rays for given OpenCV Points --> some points would get raycasted several times, this saves computation-time - - for(std::set::const_iterator current_point = node_points.begin(); current_point != node_points.end(); ++current_point) - { - // check how many neighbors need to be found --> 4 if the current node is a voronoi graph node, 2 else - // ( 4 because e.g. a node in the middle of a cross has four neighbors) - int number_of_neighbors = 2; - if(voronoi_node_points.find(*current_point) != voronoi_node_points.end()) - number_of_neighbors = 4; - - // vector to save the searched points - std::vector searched_points; - searched_points.push_back(*current_point); - - // vector to save the found neighbors - std::set found_neighbors; - - // integer to check if new voronoi nodes could be found - unsigned int previous_size_of_searched_nodes; - - // go along the Voronoi Graph starting from the current node and find the nearest conditional random field nodes - do - { - // save the size of the searched-points vector - previous_size_of_searched_nodes = searched_points.size(); - - // create temporary-vector to save the new found nodes - std::vector temporary_point_vector = searched_points; - - // check each visited point for neighbors that are voronoi nodes - // remark: I check every point again, because it produces better results than when only new points get expanded. - for(std::vector::iterator searching_point = searched_points.begin(); searching_point != searched_points.end(); ++searching_point) - { - bool random_field_node = false; // if the current node is a node of the conditional random field, don't go further in this direction - if(found_neighbors.find(*searching_point) != found_neighbors.end()) - random_field_node = true; - - if(random_field_node == false) - { - // check around a 3x3 region for nodes of the voronoi graph - for(int du = -1; du <= 1; du++) - { - for(int dv = -1; dv <= 1; dv++) // && abs(du) + abs(dv) != 0 - { - // don't check point itself - if(du == 0 && dv == 0) - continue; - - // get point that needs to be expanded - cv::Point point_to_check = cv::Point(searching_point->x + dv, searching_point->y + du); - - // voronoi node is drawn with a value of 127 in the map, don't check already checked points - if(voronoi_map.at(point_to_check) == 127 - && contains(temporary_point_vector, point_to_check) == false) - { - // add found voronoi node to searched-points vector - temporary_point_vector.push_back(point_to_check); - - // Check if point is a conditional random field node. Check on size is to prevent addition of - // points that appear in the same step and would make the clique too large. - if(node_points.find(point_to_check) != node_points.end() - && found_neighbors.size() < number_of_neighbors) - found_neighbors.insert(point_to_check); - } - } - } - } - } - - // assign the temporary-vector as the new reached-points vector - searched_points = temporary_point_vector; - - }while(found_neighbors.size() < number_of_neighbors && previous_size_of_searched_nodes != searched_points.size()); - - // 2. create a clique out of the current node and its found neighbors - conditional_random_field_cliques.push_back(Clique(*current_point)); - std::vector neighbor_vector(found_neighbors.begin(), found_neighbors.end()); // convert set to a vector to easily insert the new members - conditional_random_field_cliques.back().insertMember(neighbor_vector); - - // 3. Simulate the laser-beams at each found member and store them. This step saves a lot of computation time later. - std::vector clique_members = conditional_random_field_cliques.back().getMemberPoints(); - std::vector< std::vector > laser_beams(clique_members.size()); - - for(size_t member = 0; member < clique_members.size(); ++member) - { - laser_beams[member] = raycasting(original_map, cv::Point(clique_members[member].y, clique_members[member].x)); - } - - conditional_random_field_cliques.back().setBeamsForMembers(laser_beams); - } -} - -//**************************Training-Algorithm for the AdaBoost-classifiers***************************** -// This Function trains the AdaBoost-classifiers from OpenCV. It takes the given training maps and finds the Points -// that are labeled as the specified classes and calculates the features defined in -// -// ipa_room_segmentation/voronoi_random_field_features.h -// -// These vectors are put in a format that OpenCV expects for the classifiers and then they are trained. -void VoronoiRandomFieldSegmentation::trainBoostClassifiers(const std::vector& training_maps, - std::vector< std::vector >& cliques_of_training_maps, std::vector possible_labels, - const std::string& classifier_storage_path) -{ - boost::filesystem::path storage_path(classifier_storage_path); - if (boost::filesystem::exists(storage_path) == false) - { - if (boost::filesystem::create_directories(storage_path) == false && boost::filesystem::exists(storage_path) == false) - { - std::cout << "Error: VoronoiRandomFieldSegmentation::trainBoostClassifiers: Could not create directory " << storage_path << std::endl; - return; - } - } - - std::cout << "starting to train the Boost Classifiers." << std::endl; - - // vectors that store the given labels and features for each point (order: room-hallway-doorway) - std::vector< std::vector > labels_for_classes(number_of_classes_); - std::vector< std::vector > features_for_points; - - // go trough each found clique and take the first point of the clique as current point - // --> each possible point is only once the first (central) point of a clique - voronoiRandomFieldFeatures vrf_feature_computer; - for(size_t map = 0; map < training_maps.size(); ++map) - { - cv::Mat current_map = training_maps[map]; - for(std::vector::iterator current_clique = cliques_of_training_maps[map].begin(); current_clique != cliques_of_training_maps[map].end(); ++current_clique) - { - // get all members of the current clique (used later) - std::vector current_clique_members = current_clique->getMemberPoints(); - - // get the central point of the clique - cv::Point current_point = current_clique_members[0]; - - // get the stored labels for these points - std::vector current_labels_for_points(current_clique_members.size()); - - for(size_t point = 0; point < current_clique_members.size(); ++point) - { - current_labels_for_points[point] = current_map.at(current_clique_members[point]); - } - - // get the stored laser-beams for the central point - std::vector current_beams = current_clique->getBeams()[0]; - - // get the feature for the current point and store it in the global vector - std::vector current_features; - - vrf_feature_computer.getFeatures(current_beams, angles_for_simulation_, current_clique_members, current_labels_for_points, possible_labels, current_point, current_features); - features_for_points.push_back(current_features); - - // get the labels-vector for each class - // --> OpenCV expects the labels: +1 if it belongs to the class, -1 if it doesn't - for(size_t current_class = 0; current_class < number_of_classes_; ++current_class) - { - if(current_labels_for_points[0] == possible_labels[current_class]) - labels_for_classes[current_class].push_back(1); - else - labels_for_classes[current_class].push_back(-1); - } - } - } - - std::cout << "found all features and labels." << std::endl; - - // Train each AdaBoost-classifier. - // - //*************room*************** - //save the found labels and features in Matrices - cv::Mat room_labels_Mat(labels_for_classes[0]); - cv::Mat features_Mat(features_for_points.size(), vrf_feature_computer.getFeatureCount(), CV_32FC1); - for (int i = 0; i < labels_for_classes[0].size(); i++) - { - for (int f = 0; f < vrf_feature_computer.getFeatureCount(); f++) - { - features_Mat.at(i, f) = (float) features_for_points[i][f]; - } - } - std::string filename_room = classifier_storage_path + "vrf_room_boost.xml"; -#if CV_MAJOR_VERSION == 2 - // Train a boost classifier - room_boost_.train(features_Mat, CV_ROW_SAMPLE, room_labels_Mat, cv::Mat(), cv::Mat(), cv::Mat(), cv::Mat(), params_); - //save the trained booster - room_boost_.save(filename_room.c_str(), "boost"); -#else - // Train a boost classifier - room_boost_ = cv::ml::Boost::create(); - room_boost_->setBoostType(cv::ml::Boost::REAL); - room_boost_->setWeakCount(number_of_classifiers_); - room_boost_->setWeightTrimRate(0); - room_boost_->setMaxDepth(2); - room_boost_->setUseSurrogates(false); - room_boost_->setPriors(cv::Mat()); - room_boost_->train(features_Mat, cv::ml::ROW_SAMPLE, room_labels_Mat); - //save the trained booster - room_boost_->save(filename_room.c_str()); -#endif - std::cout << "Trained room classifier" << std::endl; - - // - //*************hallway*************** - //save the found labels and features in Matrices - cv::Mat hallway_labels_Mat(labels_for_classes[1]); - std::string filename_hallway = classifier_storage_path + "vrf_hallway_boost.xml"; -#if CV_MAJOR_VERSION == 2 - // Train a boost classifier - hallway_boost_.train(features_Mat, CV_ROW_SAMPLE, hallway_labels_Mat, cv::Mat(), cv::Mat(), cv::Mat(), cv::Mat(), params_); - //save the trained booster - hallway_boost_.save(filename_hallway.c_str(), "boost"); -#else - // Train a boost classifier - hallway_boost_ = cv::ml::Boost::create(); - hallway_boost_->setBoostType(cv::ml::Boost::REAL); - hallway_boost_->setWeakCount(number_of_classifiers_); - hallway_boost_->setWeightTrimRate(0); - hallway_boost_->setMaxDepth(2); - hallway_boost_->setUseSurrogates(false); - hallway_boost_->setPriors(cv::Mat()); - hallway_boost_->train(features_Mat, cv::ml::ROW_SAMPLE, hallway_labels_Mat); - //save the trained booster - hallway_boost_->save(filename_hallway.c_str()); -#endif - std::cout << "Trained hallway classifier" << std::endl; - - // - //*************doorway*************** - //save the found labels and features in Matrices - cv::Mat doorway_labels_Mat(labels_for_classes[2]); - std::string filename_doorway = classifier_storage_path + "vrf_doorway_boost.xml"; -#if CV_MAJOR_VERSION == 2 - // Train a boost classifier - doorway_boost_.train(features_Mat, CV_ROW_SAMPLE, doorway_labels_Mat, cv::Mat(), cv::Mat(), cv::Mat(), cv::Mat(), params_); - //save the trained booster - doorway_boost_.save(filename_doorway.c_str(), "boost"); -#else - // Train a boost classifier - doorway_boost_ = cv::ml::Boost::create(); - doorway_boost_->setBoostType(cv::ml::Boost::REAL); - doorway_boost_->setWeakCount(number_of_classifiers_); - doorway_boost_->setWeightTrimRate(0); - doorway_boost_->setMaxDepth(2); - doorway_boost_->setUseSurrogates(false); - doorway_boost_->setPriors(cv::Mat()); - doorway_boost_->train(features_Mat, cv::ml::ROW_SAMPLE, doorway_labels_Mat); - //save the trained booster - doorway_boost_->save(filename_doorway.c_str()); -#endif - std::cout << "Trained doorway classifier" << std::endl; - - // set the trained Boolean for the AdaBoost-classifiers to true - trained_boost_ = true; - std::cout << "Finished training the Boost algorithm." << std::endl; -} - -// -// ********************* Function to calculate the feature-vector for a given clique. *********************** -// -// This function calculates the feature vector for a given clique, using the trained AdaBoost classifiers. These calculate -// different boost-features specific for the given point and neighbors of it and then multiplies these with a weight-vector -// producing weak hypothesis to specify the label of the current point. These weak hypothesis are used as features for the -// conditional random field. The possible_labels vector stores the possible labels a point in the training map can have in -// the order: -// room, hallway, doorway -void VoronoiRandomFieldSegmentation::getAdaBoostFeatureVector(std::vector& feature_vector, Clique& clique, - std::vector& given_labels, std::vector& possible_labels) -{ - // Get the points that belong to the clique and the stored simulated beams for each one. - std::vector clique_members = clique.getMemberPoints(); - std::vector< std::vector > beams_for_points = clique.getBeams(); - - // vector that is used to sum up the calculated features - std::vector temporary_feature_vector(feature_vector.size(), 0.0); - - // For each member of this clique calculate the weak-hypothesis and add the resulting vectors in the end - for(size_t point = 0; point < clique_members.size(); ++point) - { - // Check which classifier (room, hallway or doorway) needs to be used. - unsigned int classifier; - for(size_t label = 0; label < possible_labels.size(); ++label) - { - if(possible_labels[label] == given_labels[point]) - { - classifier = label; - break; - } - } - - // get the features for the central point of the clique - voronoiRandomFieldFeatures vrf_feature_computer; - cv::Mat featuresMat(1, vrf_feature_computer.getFeatureCount(), CV_32FC1); //OpenCV expects a 32-floating-point Matrix as feature input - std::vector current_features; - vrf_feature_computer.getFeatures(beams_for_points[point], angles_for_simulation_, clique_members, given_labels, possible_labels, clique_members[point], current_features); - - for (int f = 1; f <= vrf_feature_computer.getFeatureCount(); ++f) - { - featuresMat.at(0, f - 1) = (float) current_features[f-1]; - } - - // Calculate the weak hypothesis by using the wanted classifier. -#if CV_MAJOR_VERSION<=3 - CvMat features = featuresMat; - cv::Mat weaker (1, number_of_classifiers_, CV_32F); - CvMat weak_hypothesis = weaker; // Wanted from OpenCV to get the weak hypothesis from the - // separate weak classifiers. -#else - cv::Mat features = featuresMat; - cv::Mat weaker (1, number_of_classifiers_, CV_32F); -#endif - - // For each point the classifier depends on the given label. If the point is labeled as a room the room-boost should be - // used and so on. - switch(classifier) - { -#if CV_MAJOR_VERSION == 2 - case 0: - room_boost_.predict(&features, 0, &weak_hypothesis); - break; - case 1: - hallway_boost_.predict(&features, 0, &weak_hypothesis); - break; - case 2: - doorway_boost_.predict(&features, 0, &weak_hypothesis); - break; -#else - case 0: - room_boost_->predict(featuresMat, weaker); - break; - case 1: - hallway_boost_->predict(featuresMat, weaker); - break; - case 2: - doorway_boost_->predict(featuresMat, weaker); - break; -#endif - } - - - // Write the weak hypothesis in the feature vector. - for(size_t f = 0; f < number_of_classifiers_; ++f) - { -#if CV_MAJOR_VERSION<=3 - temporary_feature_vector[f] = temporary_feature_vector[f] + (double) CV_MAT_ELEM(weak_hypothesis, float, 0, f); -#else - temporary_feature_vector[f] = temporary_feature_vector[f] + (double) weaker.at(0, f); -#endif - } - } - - // copy the summed vector to the given feature-vector - feature_vector = temporary_feature_vector; -} - -// -//********************* Function to find the conditional field weights. **************** -// -// This function is used to find the weights, that are used to compute the clique potentials. The AdaBoost classifier trained -// before gives the vector f(y_k, x) that stores the values for each feature, calculated for a given clique in the -// random field. to get the clique potential this vector gets multiplied by w^T, which is the transposed weight-vector, calculated -// here. These weights define the importance of one single feature in classifying the clique. To calculate the weights the -// following steps are done: -// I. For each given field-node calculate the features of the clique, using the AdaBoost classifiers. The features for the -// conditonal-random-field are the weak hypothesis, produced by the AdaBoost classifers. This hypothesis is the -// predicted label for a given point, multiplied by the weight for the selected classifier. For more details see -// the trainBoostClassifiers() or any document on Boosting. -// II. The above defined features are used to maximize the pseudo-likelihood over all training-data by minimizing a -// feature-function, by using the Dlib-c++-library. The found weights are then saved at the location, which is given -// to this function. -// -void VoronoiRandomFieldSegmentation::findConditionalWeights(std::vector< std::vector >& conditional_random_field_cliques, - std::vector >& random_field_node_points, const std::vector& training_maps, - std::vector& possible_labels, const std::string weights_filepath) -{ - // check if the AdaBoost-classifiers has already been trained yet, if not the conditional field can't be trained - if(trained_boost_ == false) - ROS_ERROR("AdaBoost-classifiers haven't been trained yet. First train the AdaBoost algorithm before training the conditional-random-field"); - - std::cout << "Starting to train the conditional-random-field." << std::endl; - - // ************ I. Go trough each found point and compute the pseudo-likelihood of it to get one big likelihood. **************** - - std::vector > all_point_feature_vectors; // Vector that stores every feature vector calculated for the - // found nodes of the CRF. One vector of it stores all features - // for different labels, in a specified order. The first - // values are for the real training label and the rest of it - // for labels different than the given one. - - for(size_t current_map_index = 0; current_map_index < training_maps.size(); ++current_map_index) - { - for(std::set::iterator current_point = random_field_node_points[current_map_index].begin(); current_point != random_field_node_points[current_map_index].end(); ++current_point) - { - // vector to save the cliques that were found for one point - std::vector cliques_for_point; - - // vector that stores the labels of each clique-member for the current point - std::vector< std::vector > labels_of_cliques; - - // set the given training label for this point - unsigned int real_label = training_maps[current_map_index].at(*current_point); - - // for each point find the cliques that this point belongs to - for(std::vector::iterator current_clique = conditional_random_field_cliques[current_map_index].begin(); current_clique != conditional_random_field_cliques[current_map_index].end(); ++current_clique) - { - if(current_clique->containsMember(*current_point)) - { - cliques_for_point.push_back(*current_clique); - - // search for the labels of the clique-members - std::vector temporary_clique_labels(current_clique->getNumberOfMembers()); - std::vector members = current_clique->getMemberPoints(); - - for(size_t member = 0; member < current_clique->getNumberOfMembers(); ++member) - temporary_clique_labels[member] = training_maps[current_map_index].at(members[member]); - - // save the found labels - labels_of_cliques.push_back(temporary_clique_labels); - } - } - - // For each found clique compute the feature vector for different labels. The first label is the label that was - // given to the algorithm by the training data and the other are the remaining labels, different from the first. - std::vector > feature_vectors(number_of_classes_); // vector to store the found feature-vectors for each class - - // vector to store the feature-vectors computed for the different cliques - std::vector > temporary_feature_vectors(cliques_for_point.size(), std::vector(number_of_classifiers_, 0.0)); - - // get the clique-feature-vectors for the given training label and add them to the first feature-vector for this label - for(size_t clique = 0; clique < cliques_for_point.size(); ++clique) - { - getAdaBoostFeatureVector(temporary_feature_vectors[clique], cliques_for_point[clique], labels_of_cliques[clique], possible_labels); - feature_vectors[0] = feature_vectors[0] + temporary_feature_vectors[clique]; - } - - // assign the first feature-vector to the complete feature-vector - all_point_feature_vectors.push_back(feature_vectors[0]); - - // get the other feature-vectors for the different labels - unsigned int label_index = 1; // variable to access the right places in feature_vectors for each possible label - for(size_t label_position = 0; label_position < possible_labels.size(); ++label_position) - { - // only compute different labels - if(possible_labels[label_position] != real_label) - { - for(size_t clique = 0; clique < cliques_for_point.size(); ++clique) - { - // copy the real-label-vector and change the label for the current point --> see how clique potential changes - std::vector temporary_labels = labels_of_cliques[clique]; - std::vector current_clique_members = cliques_for_point[clique].getMemberPoints(); - - int point_position = std::find(current_clique_members.begin(), current_clique_members.end(), *current_point) - current_clique_members.begin(); - - temporary_labels[point_position] = possible_labels[label_position]; - - // get the AdaBoost-feature-vector - getAdaBoostFeatureVector(temporary_feature_vectors[clique], cliques_for_point[clique], temporary_labels, possible_labels); - feature_vectors[label_index] = feature_vectors[label_index] + temporary_feature_vectors[clique]; - } - // append the last vector in all_point_feature_vector by the calculated vector - all_point_feature_vectors.back() += feature_vectors[label_index]; - // set index for labels one step higher - ++label_index; - } - } - } - } - - // - // ********* II. Find the weights that minimize the total likelihood by using the Dlib-library. *********** - // - // define the mean-weights for the gaussian shrinking function - std::vector mean_weights(number_of_classifiers_, 0); - - voronoiRandomFieldFeatures vrf_features; - cv::Mat featuresMat(1, vrf_features.getFeatureCount(), CV_32FC1); //OpenCV expects a 32-floating-point Matrix as feature input - for (int f = 1; f <= vrf_features.getFeatureCount(); ++f) - featuresMat.at(0, f - 1) = (float) 1; - - // Calculate the weak hypothesis by using the wanted classifier. The weak hypothesis is given by h_i(x) = w_i * f_i(x) -#if CV_MAJOR_VERSION<=3 - CvMat features = featuresMat; - cv::Mat weaker (1, number_of_classifiers_, CV_32F); - CvMat weak_hypothesis = weaker; // Wanted from OpenCV to get the weak hypothesis from the - // separate weak classifiers. -#else - cv::Mat features = featuresMat; - cv::Mat weaker(1, number_of_classifiers_, CV_32F); -#endif - - // Get weights for room, hallway and doorway classifier. -#if CV_MAJOR_VERSION == 2 - room_boost_.predict(&features, 0, &weak_hypothesis); -#else - room_boost_->predict(featuresMat, weaker); -#endif - - for(size_t f = 0; f < number_of_classifiers_; ++f) -#if CV_MAJOR_VERSION<=3 - mean_weights[f] += (double) CV_MAT_ELEM(weak_hypothesis, float, 0, f); -#else - mean_weights[f] += (double) weaker.at(0, f); -#endif - -#if CV_MAJOR_VERSION == 2 - hallway_boost_.predict(&features, 0, &weak_hypothesis); -#else - hallway_boost_->predict(featuresMat, weaker); -#endif - - for(size_t f = 0; f < number_of_classifiers_; ++f) -#if CV_MAJOR_VERSION<=3 - mean_weights[f] *= (double) CV_MAT_ELEM(weak_hypothesis, float, 0, f); -#else - mean_weights[f] *= (double) weaker.at(0, f); -#endif - -#if CV_MAJOR_VERSION == 2 - doorway_boost_.predict(&features, 0, &weak_hypothesis); -#else - doorway_boost_->predict(featuresMat, weaker); -#endif - - for(size_t f = 0; f < number_of_classifiers_; ++f) -#if CV_MAJOR_VERSION<=3 - mean_weights[f] *= (double) CV_MAT_ELEM(weak_hypothesis, float, 0, f); -#else - mean_weights[f] *= (double) weaker.at(0, f); -#endif - - // find the best weights --> minimize the defined function for the pseudo-likelihood - std::cout << "finding weights using Dlib" << std::endl; - column_vector weight_results; - weight_results = findMinValue(number_of_classifiers_, 9.0, all_point_feature_vectors, mean_weights); - - // clear the already found weights, if trained more than one time - trained_conditional_weights_.clear(); - - // save the found weights to a std::vector - for(size_t weight = 0; weight < number_of_classifiers_; ++weight) - trained_conditional_weights_.push_back(weight_results(0, weight)); - - // save the weights to a file - boost::filesystem::path storage_path(weights_filepath); - if (boost::filesystem::exists(storage_path) == false) - { - if (boost::filesystem::create_directories(storage_path) == false && boost::filesystem::exists(storage_path) == false) - { - std::cout << "Error: VoronoiRandomFieldSegmentation::findConditionalWeights: Could not create directory " << storage_path << std::endl; - return; - } - } - std::string filename = weights_filepath + "vrf_conditional_field_weights.txt"; - std::ofstream output_file(filename.c_str(), std::ios::out); - if (output_file.is_open()==true) - output_file << weight_results; - output_file.close(); - - //set the trained-variable true, so the labeling-algorithm knows the classifiers have been trained already - trained_conditional_field_ = true; - std::cout << "Finished training the Conditional Field." << std::endl; - -} - -// -//********************* Function to train the whole algorithm. **************** -// -// I. Go trough each given training map and find the drawn points, that represent the nodes for the conditional random -// field. Also it finds the voronoi-nodes that are drawn in a different color than the other nodes. These points are -// used in the second step of this function to create the cliques in the conditional random field. -// II. For each given training map the found nodes are used to create conditional random fields. The whole algorithm is -// based on this and to train the algorithm a crf for each training map is needed. This step produces cliques, that -// all have a clique-potential, depending on features and the crf-weights, that will get maximized later. -// III. In the next step the AdaBoost-classifiers are trained. This is done by giving the above defined function -// trainBoostClassifiers() the given training maps. This function searches for points labeled as room/hallway/doorway -// and adds them as demonstration-data for AdaBoost-classifiers. -// IV. In the last step the weights for the conditional-random-field are found. As said above the clique-potentials are -// depending on these weights and so they are chosen to maximize the potentials over all training maps. Because this -// would be really hard to do directly, a log-likelihood estimation is applied. -void VoronoiRandomFieldSegmentation::trainAlgorithms(const std::vector& original_maps, const std::vector& training_maps, - std::vector& voronoi_maps, const std::vector& voronoi_node_maps, - std::vector& possible_labels, const std::string storage_path, - const int epsilon_for_neighborhood, const int max_iterations, const int min_neighborhood_size, - const double min_node_distance) -{ - // ********** I. Go trough each map and find the drawn node-points for it and check if it is a voronoi-node. ***************** - std::vector > random_field_node_points, voronoi_node_points; - - std::cout << "Starting to find the conditional-random-field-cliques." << std::endl; - - bool compute_voronoi_maps = false; - if (voronoi_maps.size() != original_maps.size()) - { - compute_voronoi_maps = true; - voronoi_maps.resize(original_maps.size()); - std::cout << "Creating the voronoi graphs before training." << std::endl; - } - for(size_t current_map_index = 0; current_map_index < training_maps.size(); ++current_map_index) - { - // Find conditional field nodes by checking each pixel for its color. - const cv::Mat& current_map = training_maps[current_map_index]; - std::set current_nodes, current_voronoi_nodes; - if (compute_voronoi_maps == false && voronoi_node_maps.size() == original_maps.size()) - { - const cv::Mat& current_voronoi_node_map = voronoi_node_maps[current_map_index]; - for(size_t v = 0; v < current_map.rows; ++v) - { - for(size_t u = 0; u < current_map.cols; ++u) - { - // check if the current point is a voronoi-node by checking the color in the voronoi-node map - if(current_voronoi_node_map.at(v, u) != 255 && current_voronoi_node_map.at(v, u) != 0) - current_voronoi_nodes.insert(cv::Point(u, v)); - } - } - } - else - { - voronoi_maps[current_map_index] = original_maps[current_map_index].clone(); - createPrunedVoronoiGraph(voronoi_maps[current_map_index], current_voronoi_nodes); - } - - // read in a fully labeled map (not only points) and generate current_nodes accordingly - // find the conditional random field nodes for the current map - cv::Mat distance_map; //distance-map of the original-map (used to check the distance of each point to nearest black pixel) -#if CV_MAJOR_VERSION<=3 - cv::distanceTransform(original_maps[current_map_index], distance_map, CV_DIST_L2, 5); -#else - cv::distanceTransform(original_maps[current_map_index], distance_map, cv::DIST_L2, 5); -#endif - cv::convertScaleAbs(distance_map, distance_map); - - // find all nodes for the conditional random field - findConditonalNodes(current_nodes, voronoi_maps[current_map_index], distance_map, current_voronoi_nodes, epsilon_for_neighborhood, max_iterations, min_neighborhood_size, min_node_distance); - - // save the found nodes - random_field_node_points.push_back(current_nodes); - voronoi_node_points.push_back(current_voronoi_nodes); - } - - // ********** II. Create the conditional random fields. ***************** - std::cout << "Creating the conditional-random-field-cliques." << std::endl; - - std::vector > conditional_random_field_cliques; - for(size_t current_map = 0; current_map < training_maps.size(); ++current_map) - { - // create conditional random field - std::vector current_cliques; - createConditionalField(voronoi_maps[current_map], random_field_node_points[current_map], current_cliques, voronoi_node_points[current_map], original_maps[current_map]); - - // save the found cliques - conditional_random_field_cliques.push_back(current_cliques); - } - - // ********** III. Train the AdaBoost-classifiers. ***************** - trainBoostClassifiers(training_maps, conditional_random_field_cliques, possible_labels, storage_path); - - // ********** IV. Find the conditional-random-field weights. ***************** - findConditionalWeights(conditional_random_field_cliques, random_field_node_points, training_maps, possible_labels, storage_path); -} - -// -//****************Create the pruned generalized Voronoi-Graph********************** -// -//This function is here to create the pruned generalized voronoi-graph in the given map. It does following steps: -// 1. Creates a Voronoi Graph -// 2. It reduces the graph until the nodes in the graph. A node is a point on the voronoi graph, that has at least 3 -// neighbors. This deletes errors from the approximate generation of the graph that hasn't been eliminated from -// the drawVoronoi function. the resulting graph is the pruned generalized voronoi graph. -// 3. It returns the map that has the pruned generalized voronoi-graph drawn in. -void VoronoiRandomFieldSegmentation::createPrunedVoronoiGraph(cv::Mat& map_for_voronoi_generation, std::set& node_points) -{ - //********************1. Create the Voronoi graph****************************** - createVoronoiGraph(map_for_voronoi_generation); - - //********************2. Reduce the graph until its nodes****************************** - pruneVoronoiGraph(map_for_voronoi_generation, node_points); -} - -// This function finds nodes for the conditional random field. -// It looks at a given pruned voronoi graph and concentrates a defined region on this graph into one point, that is -// used as a node in a graph. In this graph nodes are connected, that -// i) are right beside each other -// ii) and if a Point in the graph has three or more neighbors all of these four nodes are connected to each other -// so that different cliques occur. This is necessary for using a Conditional Random Filed to label the nodes as a -// defined class. To do so the following steps are done: -// 1. Add the previously found node points on the voronoi graph to the Conditional Random Field graph. The algorithm -// checks if they are too close to each other and only adds one of these close points to the crf. -// 2. Look at an epsilon neighborhood on the graph and choose the point farthest away from the black pixels as -// point for the crf. The farthest point is chosen, because else it would be possible that the chosen point -// is too near at the black pixels. Also the new node has to be more far away than a defined min. distance to -// each already found node s.t. two nodes are not too close to each other, or else the crf would be created wrong. -void VoronoiRandomFieldSegmentation::findConditonalNodes(std::set& conditional_nodes, - const cv::Mat& voronoi_map, const cv::Mat& distance_map, const std::set& voronoi_nodes, - const int epsilon_for_neighborhood, const int max_iterations, const int min_neighborhood_size, - const double min_node_distance) -{ - // add the given voronoi nodes as conditional nodes, if they are far away enough from each other - for(std::set::iterator node = voronoi_nodes.begin(); node != voronoi_nodes.end(); ++node) - { - if(pointMoreFarAway(conditional_nodes, *node, min_node_distance) == true) - conditional_nodes.insert(*node); - } - - // create a copy of the given voronoi map to keep track of which points already have been looked at - cv::Mat voronoi_map_for_node_extraction = voronoi_map.clone(); - - // go trough the copied voronoi map and concentrate neighborhoods into one central point - for (int v = 0; v < voronoi_map_for_node_extraction.rows; v++) - { - for (int u = 0; u < voronoi_map_for_node_extraction.cols; u++) - { - if (voronoi_map_for_node_extraction.at(v, u) == 127) - { - int loopcounter = 0; // if a part of the graph is not connected to the rest this variable helps to stop the loop - std::set neighbor_points; // neighboring-variable, which is different for each point - std::set temporary_points, searching_points; // Sets that are used to save new found points and expand them in the next iteration. - // temporary points to expand the neighborhood in iterative steps and not in one - - int neighbor_count = 0; // variable to save the number of neighbors for each point - - neighbor_points.insert(cv::Point(u, v)); //add the current Point to the neighborhood and to the expanding-queue - searching_points.insert(cv::Point(u, v)); - - do - { - loopcounter++; - // check every point in the neighborhood for other neighbors connected to it - for (std::set::iterator current_neighbor_point = searching_points.begin(); current_neighbor_point != searching_points.end(); ++current_neighbor_point) - { - for (int row_counter = -1; row_counter <= 1; row_counter++) - { - for (int column_counter = -1; column_counter <= 1; column_counter++) - { - // don't check the point itself - if(row_counter == 0 && column_counter == 0) - continue; - - // check the neighboring points - // (if it already is in the neighborhood it doesn't need to be checked again) - const int nu = current_neighbor_point->x + column_counter; - const int nv = current_neighbor_point->y + row_counter; - - if (neighbor_points.find(cv::Point(nu, nv)) == neighbor_points.end() && - nv >= 0 && nu >= 0 && - nv < voronoi_map_for_node_extraction.rows && nu < voronoi_map_for_node_extraction.cols && - voronoi_map_for_node_extraction.at(nv, nu) == 127) - { - neighbor_count++; - temporary_points.insert(cv::Point(nu, nv)); - } - } - } - } - - // go trough every found point after all neighborhood points have been checked and add them to it - for (std::set::iterator temporary_point = temporary_points.begin(); temporary_point != temporary_points.end(); ++temporary_point) - { - neighbor_points.insert(*temporary_point); - - // make the found points white in the voronoi-map (already looked at) - voronoi_map_for_node_extraction.at(*temporary_point) = 255; - } - - // make the current point white --> doesn't need to be looked at anymore - voronoi_map_for_node_extraction.at(v, u) = 255; - - // reassign the new found nodes as new to-be-searched nodes - searching_points = temporary_points; - - // check if enough neighbors have been checked or checked enough times (e.g. at a small segment of the graph) - }while (neighbor_count <= epsilon_for_neighborhood && loopcounter < max_iterations); - - // only check the neighborhood, if it is large enough --> to prevent nodes that are close to each other - if(neighbor_count >= min_neighborhood_size) - { - // check every found point in the neighborhood if it is the local minimum in the distanceMap and if - // this point is far enough away from other node points to prevent too close nodes - cv::Point current_conditional_field_point = cv::Point(u, v); - for (std::set::iterator point = neighbor_points.begin(); point != neighbor_points.end(); ++point) - { - if (distance_map.at(*point) < distance_map.at(current_conditional_field_point) - && pointMoreFarAway(conditional_nodes, *point, min_node_distance) == true) - { - current_conditional_field_point = *point; - } - } - // add the local minimum point to the critical points and check a last time if the node is far enough away - // from other nodes (because if no new node is found the initialized gets added every time, neglecting - // this constraint) - if(pointMoreFarAway(conditional_nodes, current_conditional_field_point, min_node_distance) == true) - conditional_nodes.insert(current_conditional_field_point); - } - } - } - } -} - -// This function is called to find minimal values of a defined log-likelihood-function using the library Dlib. -// This log-likelihood-function is made over all training data to get a likelihood-estimation linear in the weights. -// By minimizing this function the best weights are chosen, what is done here. See beginning of this file for detailed information. -// !!!!Important: Numerical problems might occur --> non finite outputs. This is because the derivative gets approximated. -// Change the starting point and the last entry of find_min_using_approximate_derivatives when this occurs. -column_vector VoronoiRandomFieldSegmentation::findMinValue(unsigned int number_of_weights, double sigma, - const std::vector >& likelihood_parameters, const std::vector& starting_weights) -{ - std::cout << "finding min values" << std::endl; - // create a column vector as starting search point, that is needed from Dlib to find the min. value of a function - column_vector starting_point(number_of_weights); - - // initialize the starting point as zero to favor small weights - starting_point = 1e-1; - - // create a Likelihood-optimizer object to find the weights that maximize the pseudo-likelihood - pseudoLikelihoodOptimization minimizer; - - // set the values for this optimization-object - minimizer.sigma = sigma; - minimizer.number_of_weights = number_of_weights; - - minimizer.log_parameters = likelihood_parameters; - minimizer.starting_weights = starting_weights; - - // find the best weights for the given parameters - dlib::find_min_using_approximate_derivatives(dlib::bfgs_search_strategy(), dlib::objective_delta_stop_strategy(1e-7), minimizer, starting_point, -1, 1e-10); - - return starting_point; -} - - - -// -//****************** Segmentation Function ********************* -// -// This function segments the given original_map into different regions by using the voronoi random field method from -// Stephen Friedman and Dieter Fox ( http://www.cs.washington.edu/robotics/projects/semantic-mapping/abstracts/vrf-place-labeling-ijcai-07.abstract.html ). -// This algorithm has two parts, the training step and the actual segmentation. The training should be finished, see above for details. -// In the segmentation step following actions are made: -// I.) From the given map that should be labeled (original_map) a pruned generalized Voronoi diagram is extracted ( https://www.sthu.org/research/voronoidiagrams/ ). -// This is done using the method from Karimipour and Ghandehari ( A Stable Voronoi-based Algorithm for Medial Axis Extraction through Labeling Sample Points ) -// that samples the building contour to get centerpoints to compute the voronoi graph. This approximated graph has -// some errors in it, so two elimination steps are done: -// i) eliminate lines of the graph that start or end in black regions -// ii) reduce the graph from after the first step until the nodes of the graph -// See the createPrunedVoronoiGraph() function above for better information. OpenCV is used to do this. -// II.) It finds Nodes for the Conditional Random Field, using the above defined function findConditionalNodes(). -// III.) It constructs the Conditional Random Field graph from the previously found points, by using the above defined function. -// IV.) It creates a factor graph out of the defined crf. This is necessary, because OpenGM, the library used for inference, -// needs it this way. To do so the algorithm goes trough each found clique and computes the clique-potential of it -// for all possible label-configuration. The results of this are saved in an opengm::function so OpenGM can use it. -// V.) After the factor graph has been build, an inference algorithm is applied to find the labels that maximize the complete -// value of the graph, meaning the potential of the crf. To do this not the Product of the factors are maximized, but the -// sum of the exponents. The potentials are given by exp(w^T * f) and the graph-potential is the product of these, so -// it is possible to just maximize the sum of all exponents. This is convenient, because the factors will scale very high -// and would go out of the double range. -// VI.) At the last step the algorithm takes the above found best labels and draws it into a copy of the original map. The -// rooms and hallways are drawn with the color of this class and doorways are drawn black. This is done because it -// produces intersections between different segments, most likely between rooms and hallways. These intersections are -// wanted because they create separate segments for each room/hallway and don't put several together as one big. The -// drawing into the map copy is done by finding base points for each crf-node (two black pixels that are closest to this -// node) and drawing lines in the wanted color to both. Then a wavefront-region-growing is applied on the map-copy to -// fill the segments with one color, generating several rooms and hallways. In the last step the contours of the rooms -// and hallways are searched and drawn in the given map with a unique color into the map, if they are not too small or big. -void VoronoiRandomFieldSegmentation::segmentMap(const cv::Mat& original_map, cv::Mat& segmented_map, const int epsilon_for_neighborhood, - const int max_iterations, const int min_neighborhood_size, std::vector& possible_labels, - const double min_node_distance, bool show_results, const std::string classifier_storage_path, const std::string classifier_default_path, - const int max_inference_iterations, double map_resolution_from_subscription, double room_area_factor_lower_limit, - double room_area_factor_upper_limit, double max_area_for_merging, std::vector* door_points) -{ - // check if path for storing classifier models exists - boost::filesystem::path storage_path(classifier_storage_path); - if (boost::filesystem::exists(storage_path) == false) - { - if (boost::filesystem::create_directories(storage_path) == false && boost::filesystem::exists(storage_path) == false) - { - std::cout << "Error: VoronoiRandomFieldSegmentation::segmentMap: Could not create directory " << storage_path << std::endl; - return; - } - } - - // save a copy of the original image - cv::Mat original_image = original_map.clone(); - - // if the training results haven't been loaded or trained before load them - if(trained_boost_ == false) - { - // load the AdaBoost-classifiers - std::string filename_room = classifier_storage_path + "vrf_room_boost.xml"; - std::string filename_room_default = classifier_default_path + "vrf_room_boost.xml"; - if (boost::filesystem::exists(boost::filesystem::path(filename_room)) == false) - boost::filesystem::copy_file(filename_room_default, filename_room); - loadBoost(room_boost_,filename_room); - - std::string filename_hallway = classifier_storage_path + "vrf_hallway_boost.xml"; - std::string filename_hallway_default = classifier_default_path + "vrf_hallway_boost.xml"; - if (boost::filesystem::exists(boost::filesystem::path(filename_hallway)) == false) - boost::filesystem::copy_file(filename_hallway_default, filename_hallway); - loadBoost(hallway_boost_,filename_hallway); - - std::string filename_doorway = classifier_storage_path + "vrf_doorway_boost.xml"; - std::string filename_doorway_default = classifier_default_path + "vrf_doorway_boost.xml"; - if (boost::filesystem::exists(boost::filesystem::path(filename_doorway)) == false) - boost::filesystem::copy_file(filename_doorway_default, filename_doorway); - loadBoost(doorway_boost_,filename_doorway); - - // set the trained-Boolean true to only load parameters once - trained_boost_ = true; - } - - if(trained_conditional_field_ == false) - { - // clear weights that might be standing from before - trained_conditional_weights_.clear(); - - // load the weights out of the file - std::string filename_crf = classifier_storage_path + "vrf_conditional_field_weights.txt"; - std::string filename_crf_default = classifier_default_path + "vrf_conditional_field_weights.txt"; - if (boost::filesystem::exists(boost::filesystem::path(filename_crf)) == false) - boost::filesystem::copy_file(filename_crf_default, filename_crf); - std::ifstream input_file(filename_crf.c_str()); - std::string line; - double value; - if (input_file.is_open()) - { - while (getline(input_file, line)) - { - std::istringstream iss(line); - while (iss >> value) - { - trained_conditional_weights_.push_back(value); - } - } - input_file.close(); - } - - // set the trained-Boolean to true so the weights only get read in once - trained_conditional_field_ = true; - } - - // ************* I. Create the pruned generalized Voronoi graph ************* - cv::Mat voronoi_map = original_map.clone(); - - std::set node_points; //variable for node point extraction - - // use the above defined function to create a pruned Voronoi graph - std::cout << "creating voronoi graph" << std::endl; - Timer timer; // variable to measure computation-time - createPrunedVoronoiGraph(voronoi_map, node_points); - std::cout << "created graph. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; - - // ************* II. Extract the nodes used for the conditional random field ************* - // - std::set conditional_field_nodes; - - // get the distance transformed map, which shows the distance of every white pixel to the closest zero-pixel - cv::Mat distance_map; //distance-map of the original-map (used to check the distance of each point to nearest black pixel) -#if CV_MAJOR_VERSION<=3 - cv::distanceTransform(original_map, distance_map, CV_DIST_L2, 5); -#else - cv::distanceTransform(original_map, distance_map, cv::DIST_L2, 5); -#endif - cv::convertScaleAbs(distance_map, distance_map); - - // find all nodes for the conditional random field - timer.start(); - findConditonalNodes(conditional_field_nodes, voronoi_map, distance_map, node_points, epsilon_for_neighborhood, max_iterations, min_neighborhood_size, min_node_distance); - std::cout << "found all conditional field nodes. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; - - // show the node points if wanted - cv::Mat node_map = original_map.clone(); - if(show_results == true) - { -#if CV_MAJOR_VERSION<=3 - cv::cvtColor(node_map, node_map, CV_GRAY2BGR); -#else - cv::cvtColor(node_map, node_map, cv::COLOR_GRAY2BGR); -#endif - for(std::set::iterator node = conditional_field_nodes.begin(); node != conditional_field_nodes.end(); ++node) - { -#if CV_MAJOR_VERSION<=3 - cv::circle(node_map, *node, 0, cv::Scalar(250,0,0), CV_FILLED); -#else - cv::circle(node_map, *node, 0, cv::Scalar(250,0,0), cv::FILLED); -#endif - } - -// cv::imshow("nodes of the conditional random field", node_map); -// cv::waitKey(); - } - - // ************* III. Construct the Conditional Random Field from the found nodes ************* - // - // Go along the voronoi graph each point and find the 2 or 3 nearest neighbors and construct a clique out of them. - // If enough neighbors are found or no new voronoi-nodes were found in the last step, the algorithm stops. If no new - // Voronoi-nodes got found, the current node is a dead end and has only one neighbor. - // This is done using the above defined function createConditionalField, so see this function for further information. - cv::Mat neighbor_map = node_map.clone(); // map to show the resulting cliques if wanted - - std::vector conditional_random_field_cliques; // vector to save the found cliques of the conditional random field - - // construct the conditional random field - std::cout << "starting to create conditional field" << std::endl; - timer.start(); - createConditionalField(voronoi_map, conditional_field_nodes, conditional_random_field_cliques, node_points, original_image); - - std::cout << "Created field. Time: " << timer.getElapsedTimeInMilliSec() << "ms. Number of cliques: " << conditional_random_field_cliques.size() << std::endl; - - // show the found cliques if wanted - if(show_results == true) - { - for(size_t i = 0; i < conditional_random_field_cliques.size(); ++i) - { - int blue = rand() % 250; - int green = rand() % 250; - int red = rand() % 250; - - std::vector clique_points = conditional_random_field_cliques[i].getMemberPoints(); - - if(clique_points.size() > 0) - { - for(size_t p = 0; p < clique_points.size(); ++p) - for(size_t u = 0; u < clique_points.size(); ++u) - if(u != p) - cv::line(neighbor_map, clique_points[p], clique_points[u], cv::Scalar(blue, green, red), 1); - } - -// cv::imshow("neighbors", neighbor_map); -// cv::waitKey(); - } - } - - // ************* IV. Construct the Factor graph from the calculated random-Field ************* - // - // The calculated CRF has to be a Factor graph to use the OpenGM libraries Belief-Propagation algorithm. A Factor graph is a - // graphical model that calculates a large function by calculating each part of the function for itself (https://en.wikipedia.org/wiki/Factor_graph). - // Meaning it is a function in the form f(x_0:i) = f(x_j:k) * f(x_l:m) *... . In this case each clique-potential is one part - // of the whole function and the overall function should be minimized later. To do this the Typedefs in the header gets used. - - // 1. Create the Label-Space and a factor graph. A Label-Space consists of all variables and how many labels each variable - // can obtain. - LabelSpace space(conditional_field_nodes.size(), number_of_classes_); - - FactorGraph factor_graph(space); - - // 2. Create each part of the factor graph. Each Clique-potential is one part in the factor graph, so for each clique - // a opengm-function-object gets calculated. The opengm::ExplicitFunction template gets used, meaning for each - // possible configuration of the variable-labels the double-value of the function needs to be put in the object. So each - // object is like a lookup-table later on. The variables for a function are defined later, when the factors for the graph - // are defined. The factor stores the indices of the CRF-nodes as they are stored in the set containing all nodes. Because - // of this the indices need to be sorted by size, meaning e.g. 1 needs to be before 4. So the functions also need to be - // sorted by this, to ensure that the values of it are assigned to the right variable-combination. - - // vector that stores the possible label configurations for a clique, meaning e.g. if one clique has three members with - // two possible labels for each, it stores a vector that stores the label-configurations {(0,0,0), (0,0,1), (0,1,0), ...}. - // It has a size of 4, because in this algorithm only cliques with 2-5 members are possible. - std::vector > > label_configurations(5); - - // vector that stores the index for each possible label as element - // --> to get the order as index list, so it can be used to assign the value of functions - std::vector label_indices(possible_labels.size()); - for(uint index = 0; index < possible_labels.size(); ++index) - label_indices[index] = index; - - timer.start(); - - for(uint size = 1; size <= 5; ++size) - { - // vector that stores all possible configurations for one member-size - std::vector > possible_configurations; - - // use the above defined function to find all possible configurations for the possible labels and save them in the map - getPossibleConfigurations(possible_configurations, label_indices, size); - label_configurations[size-1] = possible_configurations; - } - - std::cout << "Created all possible label-configurations. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; - - timer.start(); - // Go trough each clique and define the function and factor for it. - for(std::vector::iterator current_clique = conditional_random_field_cliques.begin(); current_clique != conditional_random_field_cliques.end(); ++current_clique) - { - // get the number of members in this clique and depending on this the possible label configurations defined above - size_t number_of_members = current_clique->getNumberOfMembers(); - - std::vector > current_possible_configurations = label_configurations[number_of_members-1]; // -1 because this vector stores configurations for cliques with 1-5 members (others are not possible in this case). - - // find the real labels and assign them into the current configuration so the feature-vector gets calculated correctly - for(size_t configuration = 0; configuration < current_possible_configurations.size(); ++configuration) - for(size_t variable = 0; variable < current_possible_configurations[configuration].size(); ++variable) - current_possible_configurations[configuration][variable] = possible_labels[current_possible_configurations[configuration][variable]]; - - // define an array that has as many elements as the clique has members and assign the number of possible labels for each - size_t variable_space[number_of_members]; - std::fill_n(variable_space, number_of_members, number_of_classes_); - - // define a explicit function-object from OpenGM containing the initial value -1.0 for each combination - opengm::ExplicitFunction f(variable_space, variable_space + number_of_members, -1.0); - - // go trough all points of the clique and find the index of it in the vector the nodes of the CRF are stored in - // --> necessary to sort the nodes correctly - size_t indices[current_clique->getNumberOfMembers()]; // array the indices are stored in - std::vector clique_points = current_clique->getMemberPoints(); - for(size_t point = 0; point < clique_points.size(); ++point) - { - // get the iterator to the element and use the std::distance function to calculate the index of the point - std::set::iterator iterator = conditional_field_nodes.find(clique_points[point]); - - if(iterator != conditional_field_nodes.end()) // check if element was found --> should be - indices[point] = std::distance(conditional_field_nodes.begin(), iterator); - else - std::cout << "element not in set" << std::endl; - } - - // get the possible configurations and swap them, respecting the indices, then sort the indices themself - std::vector > swap_configurations = label_configurations[number_of_members-1]; // -1 because this vector stores configurations for cliques with 1-5 members (others are not possible in this case). - swapConfigsRegardingNodeIndices(swap_configurations, indices); - std::sort(indices, indices + current_clique->getNumberOfMembers()); - - // Go trough each possible configuration and compute the function value for it. Use the original configuration, because - // the nodes are stored in this way, but later the value is assigned in the position using the swaped configurations. - for(size_t configuration = 0; configuration < current_possible_configurations.size(); ++configuration) - { - std::vector current_configuration = current_possible_configurations[configuration]; - - // get current feature-vector and multiply it with the trained weights - std::vector current_features(number_of_classifiers_); - getAdaBoostFeatureVector(current_features, *current_clique, current_configuration, possible_labels); - - double clique_potential = 0; - for(size_t weight = 0; weight < number_of_classifiers_; ++weight) - { - clique_potential += trained_conditional_weights_[weight] * current_features[weight]; - } - - // assign the calculated clique potential at the right position in the function --> !!Important: factors need the variables to be sorted - // as increasing index - f(swap_configurations[configuration].begin()) = clique_potential;//std::exp(clique_potential); - } - - // add the defined function to the model and catch the returned function-identifier to specify which variables - // this function needs - FactorGraph::FunctionIdentifier identifier = factor_graph.addFunction(f); - - // add the Factor to the graph, that represents which variables (and labels of each) are used for the above defined function - factor_graph.addFactor(identifier, indices, indices+current_clique->getNumberOfMembers()); - - } - std::cout << "calculated all features for the cliques. Time: " << timer.getElapsedTimeInSec() << "s" << std::endl; - - // ************* V. Do inference in the defined factor-graph to find best labels. ************* - // - // Do Inference in the above created graphical model using OpengM. This function has three control parameters: - // i. The maximum number of iterations done - // ii. The convergence Bound, which is used to check if the messages haven't changed a lot after the last step. - // iii. The damping-factor, which implies how many messages should be dumped, in this case 0. - const double convergence_bound = 1e-7; - const double damping_factor = 0.0; - LoopyBeliefPropagation::Parameter parameters(max_inference_iterations, convergence_bound, damping_factor); - - // create LoopyBeliefPropagation object that does inference on the graphical model defined above - LoopyBeliefPropagation belief_propagation(factor_graph, parameters); - - // do inference - timer.start(); - belief_propagation.infer(); - std::cout << "Done Inference. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; - - // obtain the labels that get the max value of the defined function - std::vector best_labels(conditional_field_nodes.size()); - belief_propagation.arg(best_labels); - - // print the solution if wanted - if(show_results == true) - { - cv::Mat resulting_map = original_image.clone(); - - for(std::set::iterator i = conditional_field_nodes.begin(); i != conditional_field_nodes.end(); ++i) - { - size_t distance = std::distance(conditional_field_nodes.begin(), i); -#if CV_MAJOR_VERSION<=3 - cv::circle(resulting_map, *i, 3, cv::Scalar(possible_labels[best_labels[distance]]), CV_FILLED); -#else - cv::circle(resulting_map, *i, 3, cv::Scalar(possible_labels[best_labels[distance]]), cv::FILLED); -#endif - } - - cv::imshow("node-map", resulting_map); -// cv::waitKey(); - } - std::cout << "complete Potential: " << belief_propagation.value() << std::endl; - - // for optimization purpose -// return belief_propagation.value(); - - // ************* VI. Search for different regions of same color and make them a individual segment ************* - // - // 1. Connect the found nodes to the two nearest black pixels (base points) of them. Connect the nodes that are labeled - // as doorway with black lines to create intersections. This is done because it gives good results, when finding - // segments labeled only as one class, because later on this map with the base-lines a wavefront-region-growing is - // applied. - - // erode the map to close small gaps and remove errors --> also done when producing the voronoi-graph. - cv::Mat map_copy, eroded_map; - cv::Point anchor(-1, -1); - cv::erode(original_image, eroded_map, cv::Mat(), anchor, 2); - map_copy = eroded_map.clone(); - - // find the layout of the map and discretize it to get possible base points - std::vector < std::vector > map_contours; - std::vector < cv::Vec4i > hierarchy; -#if CV_MAJOR_VERSION<=3 - cv::findContours(map_copy, map_contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); -#else - cv::findContours(map_copy, map_contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); -#endif - - timer.start(); - - // reassign the map because findContours destroys it and erode it to close small errors - map_copy = eroded_map.clone(); - - // go trough all crf-nodes - for(std::set::iterator node = conditional_field_nodes.begin(); node != conditional_field_nodes.end(); ++node) - { - // find index of point - size_t distance = std::distance(conditional_field_nodes.begin(), node); - - // set initial points and values for the basis points so the distance comparison can be done - cv::Point basis_point_1 = map_contours[0][0]; - cv::Point basis_point_2 = map_contours[0][1]; - - // initial values of the first vector from the current critical point to the contour points and for the squared distance of it - double vector_x_1 = node->x - map_contours[0][0].x; - double vector_y_1 = node->y - map_contours[0][0].y; - double distance_basis_square_1 = vector_x_1*vector_x_1 + vector_y_1*vector_y_1; - - // initial values of the second vector from the current critical point to the contour points and for the squared distance of it - double vector_x_2 = node->x - map_contours[0][1].x; - double vector_y_2 = node->y - map_contours[0][1].y; - double distance_basis_square_2 = vector_x_2*vector_x_2 + vector_y_2*vector_y_2; - - // find first basis point - int basis_vector_1_x, basis_vector_2_x, basis_vector_1_y, basis_vector_2_y; - for (int c = 0; c < map_contours.size(); c++) - { - for (int p = 0; p < map_contours[c].size(); p++) - { - // calculate the squared Euclidian distance from the critical Point to the Point on the contour - const double vector_x = map_contours[c][p].x - node->x; - const double vector_y = map_contours[c][p].y - node->y; - const double current_distance = vector_x*vector_x + vector_y*vector_y; - - // compare the distance to the saved distances if it is smaller - if (current_distance < distance_basis_square_1) - { - distance_basis_square_1 = current_distance; - basis_point_1 = map_contours[c][p]; - basis_vector_1_x = vector_x; - basis_vector_1_y = vector_y; - } - } - } - // find second basisPpoint - for (int c = 0; c < map_contours.size(); c++) - { - for (int p = 0; p < map_contours[c].size(); p++) - { - // calculate the squared Euclidian distance from the critical point to the point on the contour - const double vector_x = map_contours[c][p].x - node->x; - const double vector_y = map_contours[c][p].y - node->y; - const double current_distance = vector_x*vector_x + vector_y*vector_y; - - // calculate the distance between the current contour point and the first basis point to make sure they - // are not too close to each other - const double vector_x_basis = basis_point_1.x - map_contours[c][p].x; - const double vector_y_basis = basis_point_1.y - map_contours[c][p].y; - const double basis_distance = vector_x_basis*vector_x_basis + vector_y_basis*vector_y_basis; - if (current_distance > distance_basis_square_1 && current_distance < distance_basis_square_2 && - basis_distance > (double) distance_map.at(*node)*distance_map.at(*node)) - { - distance_basis_square_2 = current_distance; - basis_point_2 = map_contours[c][p]; - basis_vector_2_x = vector_x; - basis_vector_2_y = vector_y; - } - } - } - - // if the node is labeled as doorway draw the base-lines black --> as intersection - if(best_labels[distance] == 2) - { - // draw a line from the node to the two basis points - cv::line(map_copy, *node, basis_point_1, 0, 2); - cv::line(map_copy, *node, basis_point_2, 0, 2); - - // return the door-points if wanted - if(door_points != NULL) - door_points->push_back(*node); - } - else - { - // draw a line from the node to the two basis points - cv::line(map_copy, *node, basis_point_1, possible_labels[best_labels[distance]], 1); - cv::line(map_copy, *node, basis_point_2, possible_labels[best_labels[distance]], 1); - } - } - - std::cout << "drawn all segments. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; - - // 2. Apply a wavefront algorithm to the map copy to fill all segments with the labels that are given to the crf-nodes. - map_copy.convertTo(map_copy, CV_32SC1, 256, 0); - wavefrontRegionGrowing(map_copy); - - if(show_results == true) - { - cv::imshow("intersected map", map_copy); -// cv::waitKey(); - } - - // 3. search for points where the map copy is still white, because these points could get colored wrong - // by too large contours - std::vector white_points; - for(unsigned int u = 0; u < map_copy.rows; ++u) - for(unsigned int v = 0; v < map_copy.cols; ++v) - if(map_copy.at(u, v) == 255*256) - white_points.push_back(cv::Point(v, u)); - - // 3. Make everything black except the found segments of rooms/hallways, that become totally white. This is done because - // it makes possible to find the contours of the segments and draw them into the original map with a random color. - // Only rooms or hallways stay at one step to ensure that borders from hallways to rooms are recognized. - std::set, compContoursSize> segments; // variable to save found contours - - timer.start(); - for(int color = 0; color <= 1; ++color) - { - // clear previously used variables for contour extraction - map_contours.clear(); - hierarchy.clear(); - - // get the color that should get white --> label given as 8bit color, but it has changed to a 32bit color - int current_color = possible_labels[color] * 256; - - // create a map_copy - cv::Mat temporary_map = cv::Mat(map_copy.rows, map_copy.cols, original_image.type()); - - // make regions black and white - for(unsigned int u = 0; u < map_copy.rows; ++u) - { - for(unsigned int v = 0; v < map_copy.cols; ++v) - { - // check if color is found and pixel hasn't been drawn accidentally in a color - if(map_copy.at(u, v) == current_color && original_image.at(u, v) != 0) - temporary_map.at(u, v) = 255; - else - temporary_map.at(u, v) = 0; - } - } - // find the contours of the rooms/hallways -#if CV_MAJOR_VERSION<=3 - cv::findContours(temporary_map, map_contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); -#else - cv::findContours(temporary_map, map_contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); -#endif - - // save the contours that are not holes (check with hierarchy --> [{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour}) - // --> save everything with hierarchy[3] == -1 - for(size_t contour = 0; contour < map_contours.size(); ++contour) - if(hierarchy[contour][3] == -1 && map_contours.size() > 1) - segments.insert(map_contours[contour]); - } - - std::cout << "found segments: " << segments.size() << ". Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; - - // 4. Draw the found contours with a unique color and apply a wavefront-region-growing algorithm to get rid of remaining - // white spaces. Also save the found segments as rooms to merge rooms together in the next step. - timer.start(); - original_map.convertTo(segmented_map, CV_32SC1, 256, 0); // convert input image to CV_32SC1 (needed for wavefront and to have enoguh possible rooms) - - std::vector < cv::Scalar > already_used_colors; //saving-vector to save the already used colors - - std::vector rooms; // vector to save the rooms in this map - - for(std::set >::iterator current_contour = segments.begin(); current_contour != segments.end(); ++current_contour) - { - // calculate area for the contour and check if it is large enough to be a separate segment - double room_area = map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(*current_contour); - if (room_area >= room_area_factor_lower_limit && room_area <= room_area_factor_upper_limit) - { - // Draw the region with a random color into the map if it is large/small enough - bool drawn = false; - int loop_counter = 0; //counter if the loop gets into a endless loop - do - { - loop_counter++; - int random_number = rand() % 52224 + 13056; - cv::Scalar fill_color(random_number); - - //check if color has already been used - if (!contains(already_used_colors, fill_color) || loop_counter > 1000) - { -#if CV_MAJOR_VERSION<=3 - cv::drawContours(segmented_map, std::vector >(1,*current_contour), -1, fill_color, CV_FILLED); -#else - cv::drawContours(segmented_map, std::vector >(1,*current_contour), -1, fill_color, cv::FILLED); -#endif - already_used_colors.push_back(fill_color); - Room current_room(random_number); //add the current Contour as a room - for (int point = 0; point < current_contour->size(); point++) //add contour points to room - { - current_room.insertMemberPoint(cv::Point(current_contour->at(point)), map_resolution_from_subscription); - } - rooms.push_back(current_room); - drawn = true; - } - } while (!drawn); - } - // draw too small segments white, to prevent that they are covered by large closed contours - if(room_area < room_area_factor_lower_limit) -#if CV_MAJOR_VERSION<=3 - cv::drawContours(segmented_map, std::vector >(1,*current_contour), -1, 255*256, CV_FILLED); -#else - cv::drawContours(segmented_map, std::vector >(1,*current_contour), -1, 255*256, cv::FILLED); -#endif - } - - // Make black what has been black before (drawContours draws filled areas and might overwrite black holes). - // Also make regions that are black on the eroded map but white on the original map also white to prevent large closed contours - // to go around small contours in them. Also make the intersections in got by connecting the voronoi nodes with their - // base points for doorways white for the same reason. - for(unsigned int u = 0; u < segmented_map.rows; ++u) - { - for(unsigned int v = 0; v < segmented_map.cols; ++v) - { - if(original_image.at(u, v) == 0 && eroded_map.at(u, v) == 0) - { - segmented_map.at(u, v) = 0; - } - - if(original_image.at(u, v) == 255 && eroded_map.at(u, v) == 0) - { - segmented_map.at(u, v) = 255*256; - } - if(map_copy.at(u, v) == 0 && original_image.at(u, v) == 255) - { - segmented_map.at(u, v) = 255*256; - } - } - } - - // go trough the saved white points and make them white in the segmented map again - for(std::vector::iterator point = white_points.begin(); point != white_points.end(); ++point) - segmented_map.at(*point) = 255*256; - - // color remaining white space - wavefrontRegionGrowing(segmented_map); - - std::cout << "filled map with unique colors. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; - - // 5. Merge rooms that are too small together with the surrounding big rooms. This is done because it is possible to - // create very small segments in the last step, tha don't make very much sense. - timer.start(); - - if(show_results == true) - cv::imshow("before merge", segmented_map); - - mergeRooms(segmented_map, rooms, map_resolution_from_subscription, max_area_for_merging, false); - - std::cout << "merged rooms together. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; - - if(show_results == true) - { - cv::imshow("segmented map", segmented_map); - cv::waitKey(); - } -} - -// Function to test several functions of this algorithm independent of other functions -// this current implementation is used for optimizing the trained algorithm. The idea behind this is: I train the algorithm -// with the same training-maps several times and calculate the crf-graph-potential for several maps and add them together. If -// then the current sum is better than a saved best sum, the trained parameters are saved, what is done with this function. -// It is good to do this, because OpenCV uses a Decision-Tree for the AdaBoost classifiers, which is depending on probabilites -// and so every training done creates different results. -void VoronoiRandomFieldSegmentation::testFunc(const cv::Mat& original_map) -{ - std::cout << "testfunc" << std::endl; - -// // if the training results haven't been loaded or trained before load them -// std::string filename_room = boost_storage_path + "vrf_room_boost.xml"; -// std::string filename_hallway = boost_storage_path + "vrf_hallway_boost.xml"; -// std::string filename_doorway = boost_storage_path + "vrf_doorway_boost.xml"; -// -// room_boost_.save(filename_room.c_str(), "boost"); -// hallway_boost_.save(filename_hallway.c_str(), "boost"); -// doorway_boost_.save(filename_doorway.c_str(), "boost"); -// -// std::ofstream output_file(crf_storage_path.c_str(), std::ios::out); -// if (output_file.is_open()==true) -// { -// for(size_t weight = 0; weight < trained_conditional_weights_.size(); ++ weight) -// { -// output_file << trained_conditional_weights_[weight] << std::endl; -// } -// } -// output_file.close(); -// -// -// if(trained_boost_ == false) -// { -// // load the AdaBoost-classifiers -// room_boost_.load(filename_room.c_str()); -// hallway_boost_.load(filename_hallway.c_str()); -// doorway_boost_.load(filename_doorway.c_str()); -// -// // set the trained-Boolean true to only load parameters once -// trained_boost_ = true; -// } -// -// if(trained_conditional_field_ == false) -// { -// // load the weights out of the file -// std::ifstream input_file(crf_storage_path.c_str()); -// std::string line; -// double value; -// if (input_file.is_open()) -// { -// while (getline(input_file, line)) -// { -// std::istringstream iss(line); -// while (iss >> value) -// { -// trained_conditional_weights_.push_back(value); -// } -// } -// input_file.close(); -// } -// -// // set the trained-Boolean to true so the weights only get read in once -// trained_conditional_field_ = true; -// } -// -// std::cout << "reading weights: " << std::endl; -// -// cv::Mat featuresMat(1, getFeatureCount(), CV_32FC1); //OpenCV expects a 32-floating-point Matrix as feature input -// for (int f = 1; f <= getFeatureCount(); ++f) -// { -// //get the features for each room and put it in the featuresMat -// featuresMat.at(0, f - 1) = (float) 1; -// } -// -// // Calculate the weak hypothesis by using the wanted classifier. -// CvMat features = featuresMat; -// cv::Mat weaker (1, number_of_classifiers_, CV_32F); -// CvMat weak_hypothesis = weaker; // Wanted from OpenCV to get the weak hypothesis from the -// // separate weak classifiers. -// -// // For each point the classifier depends on the given label. If the point is labeled as a room the room-boost should be -// // used and so on. -// room_boost_.predict(&features, 0, &weak_hypothesis); -// -// for(size_t f = 0; f < number_of_classifiers_; ++f) -// { -// std::cout << (double) CV_MAT_ELEM(weak_hypothesis, float, 0, f) << std::endl; -// } -// -// std::cout << "cols: " << weights.cols << " rows: " << weights.rows << std::endl; -// -// for(size_t i = 0; i < weights->cols; ++i) -// for(size_t j = 0; j < weights->rows; ++j) -// std::cout << (double) CV_MAT_ELEM(*weights, float, i, j) << std::endl; -// -// std::cout << "loaded files" << std::endl; -} - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_segmentation.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_segmentation.cpp deleted file mode 100644 index e0cb7db..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_segmentation.cpp +++ /dev/null @@ -1,355 +0,0 @@ -#include - -#include -#include - -#include -#include - - - -VoronoiSegmentation::VoronoiSegmentation() -{ - -} - - -void VoronoiSegmentation::segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, - double room_area_factor_lower_limit, double room_area_factor_upper_limit, int neighborhood_index, int max_iterations, - double min_critical_point_distance_factor, double max_area_for_merging, bool display_map) -{ - //****************Create the Generalized Voronoi-Diagram********************** - //This function takes a given map and segments it with the generalized Voronoi-Diagram. It takes following steps: - // I. It calculates the generalized Voronoi-Diagram using the function createVoronoiGraph. - // II. It extracts the critical points, which show the border between two segments. This part takes these steps: - // 1. Extract node-points of the Voronoi-Diagram, which have at least 3 neighbors. - // 2. Reduce the leave-nodes (Point on graph with only one neighbor) of the graph until the reduction - // hits a node-Point. This is done to reduce the lines along the real voronoi-graph, coming from the discretisation - // of the contour. - // 3. Find the critical points in the reduced graph by searching in a specified neighborhood for a local minimum - // in distance to the nearest black pixel. The size of the epsilon-neighborhood is dynamic and goes larger - // in small areas, so they are split into lesser regions. - // III. It gets the critical lines, which go from the critical point to its two nearest black pixels and separate the - // regions from each other. This part does following steps: - // 1. Get the discretized contours of the map and the holes, because these are the possible candidates for - // basis-points. - // 2. Find the basis-points for each critical-point by finding the two nearest neighbors of the vector from 1. - // Also it saves the angle between the two vectors pointing from the critical-point to its two basis-points. - // 3. Some critical-lines are too close to each other, so the next part eliminates some of them. For this the - // algorithm checks, which critical points are too close to each other. Then it compares the angles of these - // points, which were calculated in 3., and takes the one with the larger angle, because smaller angles - // (like 90 degree) are more likely to be at edges of the map or are too close to the borders. If they have - // the same angle, the point which comes first in the critical-point-vector is chosen (took good results for - // me, but is only subjective). - // 4. Draw the critical lines, selected by 3. in the map with color 0. - // IV. It finds the segments, which are seperated by the critical lines of III. and fills them with a random colour that - // hasn't been already used yet. For this it: - // 1. It erodes the map with critical lines, so small gaps are closed, and finds the contours of the segments. - // Only contours that are large/small enough are chosen to be drawn. - // 2. It draws the contours from 1. in a map with a random colour. Contours that belong to holes are not drawn - // into the map. - // 3. Spread the colour-regions to the last white Pixels, using the watershed-region-spreading function. - - //*********************I. Calculate and draw the Voronoi-Diagram in the given map***************** - - cv::Mat voronoi_map = map_to_be_labeled.clone(); - createVoronoiGraph(voronoi_map); //voronoi-map for the segmentation-algorithm - - //***************************II. extract the possible candidates for critical Points**************************** - // 1.extract the node-points that have at least three neighbors on the voronoi diagram - // node-points are points on the voronoi-graph that have at least 3 neighbors - // 2.reduce the side-lines along the voronoi-graph by checking if it has only one neighbor until a node-point is reached - // --> make it white - // repeat a large enough number of times so the graph converges - std::set node_points; //variable for node point extraction - pruneVoronoiGraph(voronoi_map, node_points); - - //3.find the critical points in the previously calculated generalized Voronoi-graph by searching in a specified - // neighborhood for the local minimum of distance to the nearest black pixel - // critical points need to have at least two neighbors (else they are end points, which would give a very small segment) - - //get the distance transformed map, which shows the distance of every white pixel to the closest zero-pixel - cv::Mat distance_map; //distance-map of the original-map (used to check the distance of each point to nearest black pixel) -#if CV_MAJOR_VERSION<=3 - cv::distanceTransform(map_to_be_labeled, distance_map, CV_DIST_L2, 5); -#else - cv::distanceTransform(map_to_be_labeled, distance_map, cv::DIST_L2, 5); -#endif - cv::convertScaleAbs(distance_map, distance_map); - - std::vector critical_points; //saving-variable for the critical points found on the Voronoi-graph - for (int v = 0; v < voronoi_map.rows; v++) - { - for (int u = 0; u < voronoi_map.cols; u++) - { - if (voronoi_map.at(v, u) == 127) - { - //make the size of the region to be checked dependent on the distance of the current pixel to the closest - //zero-pixel, so larger areas are split into more regions and small areas into fewer - int eps = neighborhood_index / (int) distance_map.at(v, u); //310 - int loopcounter = 0; //if a part of the graph is not connected to the rest this variable helps to stop the loop - std::vector temporary_points; //neighboring-variables, which are different for each point - std::set neighbor_points; //neighboring-variables, which are different for each point - int neighbor_count = 0; //variable to save the number of neighbors for each point - neighbor_points.insert(cv::Point(u,v)); //add the current Point to the neighborhood - //find every Point along the voronoi graph in a specified neighborhood - do - { - loopcounter++; - //check every point in the neighborhood for other neighbors connected to it - for(std::set::iterator it_neighbor_points = neighbor_points.begin(); it_neighbor_points != neighbor_points.end(); it_neighbor_points++) - { - for (int row_counter = -1; row_counter <= 1; row_counter++) - { - for (int column_counter = -1; column_counter <= 1; column_counter++) - { - if (row_counter == 0 && column_counter == 0) - continue; - - //check the neighboring points - //(if it already is in the neighborhood it doesn't need to be checked again) - const cv::Point& current_neighbor_point = *it_neighbor_points; - const int nu = current_neighbor_point.x + column_counter; - const int nv = current_neighbor_point.y + row_counter; - if (nv >= 0 && nu >= 0 && nv < voronoi_map.rows && nu < voronoi_map.cols && - voronoi_map.at(nv, nu) == 127 && neighbor_points.find(cv::Point(nu, nv))==neighbor_points.end()) - { - neighbor_count++; - temporary_points.push_back(cv::Point(nu, nv)); - } - } - } - } - //go trough every found point after all neighborhood points have been checked and add them to it - for (int temporary_point_index = 0; temporary_point_index < temporary_points.size(); temporary_point_index++) - { - neighbor_points.insert(temporary_points[temporary_point_index]); - //make the found points white in the voronoi-map (already looked at) - voronoi_map.at(temporary_points[temporary_point_index].y, temporary_points[temporary_point_index].x) = 255; - voronoi_map.at(v, u) = 255; - } - //check if enough neighbors have been checked or checked enough times (e.g. at a small segment of the graph) - } while (neighbor_count <= eps && loopcounter < max_iterations); - //check every found point in the neighborhood if it is the local minimum in the distanceMap - cv::Point current_critical_point = cv::Point(u, v); - for(std::set::iterator it_neighbor_points = neighbor_points.begin(); it_neighbor_points != neighbor_points.end(); it_neighbor_points++) - { - if (distance_map.at(it_neighbor_points->y, it_neighbor_points->x) < distance_map.at(current_critical_point.y, current_critical_point.x)) - { - current_critical_point = cv::Point(*it_neighbor_points); - } - } - //add the local minimum point to the critical points - critical_points.push_back(current_critical_point); - } - } - } - -// if(display_map == true) -// { -// cv::Mat display = map_to_be_labeled.clone(); -// for (size_t i=0; i 255*256 = 65280 - - // 1. Get the points of the contour, which are the possible closest points for a critical point - //clone the map to extract the contours, because after using OpenCV find-/drawContours - //the map will be different from the original one - cv::Mat temporary_map_to_extract_the_contours = segmented_map.clone(); - std::vector < std::vector > contours; -#if CV_MAJOR_VERSION<=3 - cv::findContours(temporary_map_to_extract_the_contours, contours, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); -#else - cv::findContours(temporary_map_to_extract_the_contours, contours, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); -#endif - - // 2. Get the basis-points for each critical-point - std::vector basis_points_1, basis_points_2; - std::vector length_of_critical_line; - std::vector angles; //the angles between the basis-lines of each critical Point - for (int critical_point_index = 0; critical_point_index < critical_points.size(); critical_point_index++) - { - //set inital points and values for the basis points so the distance comparison can be done - cv::Point basis_point_1 = contours[0][0]; - cv::Point basis_point_2 = contours[0][1]; - //inital values of the first vector from the current critical point to the contour points and for the distance of it - const cv::Point& critical_point = critical_points[critical_point_index]; - double vector_x_1 = critical_point.x - contours[0][0].x; - double vector_y_1 = critical_point.y - contours[0][0].y; - double distance_basis_1 = std::sqrt(vector_x_1*vector_x_1 + vector_y_1*vector_y_1); - //inital values of the second vector from the current critical point to the contour points and for the distance of it - double vector_x_2 = critical_point.x - contours[0][1].x; - double vector_y_2 = critical_point.y - contours[0][1].y; - double distance_basis_2 = std::sqrt(vector_x_2*vector_x_2 + vector_y_2*vector_y_2); - - //find first basis point - int basis_vector_1_x, basis_vector_2_x, basis_vector_1_y, basis_vector_2_y; - for (int c = 0; c < contours.size(); c++) - { - for (int p = 0; p < contours[c].size(); p++) - { - //calculate the Euclidian distance from the critical Point to the Point on the contour - const double vector_x = contours[c][p].x - critical_point.x; - const double vector_y = contours[c][p].y - critical_point.y; - const double current_distance = std::sqrt(vector_x*vector_x + vector_y*vector_y); - //compare the distance to the saved distances if it is smaller - if (current_distance < distance_basis_1) - { - distance_basis_1 = current_distance; - basis_point_1 = contours[c][p]; - basis_vector_1_x = vector_x; - basis_vector_1_y = vector_y; - } - } - } - //find second basisPpoint - for (int c = 0; c < contours.size(); c++) - { - for (int p = 0; p < contours[c].size(); p++) - { - //calculate the Euclidian distance from the critical point to the point on the contour - const double vector_x = contours[c][p].x - critical_point.x; - const double vector_y = contours[c][p].y - critical_point.y; - const double current_distance = std::sqrt(vector_x*vector_x + vector_y*vector_y); - //calculate the distance between the current contour point and the first basis point to make sure they - //are not too close to each other - const double vector_x_basis = basis_point_1.x - contours[c][p].x; - const double vector_y_basis = basis_point_1.y - contours[c][p].y; - const double basis_distance = std::sqrt(vector_x_basis*vector_x_basis + vector_y_basis*vector_y_basis); - if (current_distance > distance_basis_1 && current_distance < distance_basis_2 && - basis_distance > (double) distance_map.at(critical_point.y, critical_point.x)) - { - distance_basis_2 = current_distance; - basis_point_2 = contours[c][p]; - basis_vector_2_x = vector_x; - basis_vector_2_y = vector_y; - } - } - } - //calculate angle between the vectors from the critical Point to the found basis-points - double current_angle = std::acos((basis_vector_1_x * basis_vector_2_x + basis_vector_1_y * basis_vector_2_y) / (distance_basis_1 * distance_basis_2)) * 180.0 / PI; - - //save the critical line with its calculated values - basis_points_1.push_back(basis_point_1); - basis_points_2.push_back(basis_point_2); - length_of_critical_line.push_back(distance_basis_1 + distance_basis_2); - angles.push_back(current_angle); - } - - //3. Check which critical points should be used for the segmentation. This is done by checking the points that are - // in a specified distance to each other and take the point with the largest calculated angle, because larger angles - // correspond to a separation across the room, which is more useful - for (int first_critical_point = 0; first_critical_point < critical_points.size(); first_critical_point++) - { - //reset variable for checking if the line should be drawn - bool draw = true; - for (int second_critical_point = 0; second_critical_point < critical_points.size(); second_critical_point++) - { - if (second_critical_point != first_critical_point) - { - //get distance of the two current Points - const double vector_x = critical_points[second_critical_point].x - critical_points[first_critical_point].x; - const double vector_y = critical_points[second_critical_point].y - critical_points[first_critical_point].y; - const double critical_point_distance = std::sqrt(vector_x*vector_x + vector_y*vector_y); - //check if the points are too close to each other corresponding to the distance to the nearest black pixel - //of the current critical point. This is done because critical points at doors are closer to the black region - //and shorter and may be eliminated in the following step. By reducing the checking distance at this point - //it gets better. - if (critical_point_distance < ((int) distance_map.at(critical_points[first_critical_point].y, critical_points[first_critical_point].x) * min_critical_point_distance_factor)) //1.7 - { - //if one point in neighborhood is found that has a larger angle the actual to-be-checked point shouldn't be drawn - if (angles[first_critical_point] < angles[second_critical_point]) - { - draw = false; - } - //if the angles of the two neighborhood points are the same the shorter one should be drawn, because it is more likely something like e.g. a door - if (angles[first_critical_point] == angles[second_critical_point] && - length_of_critical_line[first_critical_point] > length_of_critical_line[second_critical_point] && - (length_of_critical_line[second_critical_point] > 3 || first_critical_point > second_critical_point)) - { - draw = false; - } - } - } - } - //4. draw critical-lines if angle of point is larger than the other - if (draw) - { - cv::line(voronoi_map, critical_points[first_critical_point], basis_points_1[first_critical_point], cv::Scalar(0), 2); - cv::line(voronoi_map, critical_points[first_critical_point], basis_points_2[first_critical_point], cv::Scalar(0), 2); - } - } -// if(display_map == true) -// cv::imshow("voronoi_map", voronoi_map); - - //***********************Find the Contours seperated from the critcal lines and fill them with color****************** - - std::vector < cv::Scalar > already_used_colors; //saving-vector to save the already used coloures - - std::vector < cv::Vec4i > hierarchy; //variables for coloring the map - - std::vector rooms; //Vector to save the rooms in this map - - //1. Erode map one time, so small gaps are closed -// cv::erode(voronoi_map_, voronoi_map_, cv::Mat(), cv::Point(-1, -1), 1); -#if CV_MAJOR_VERSION<=3 - cv::findContours(voronoi_map, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE); -#else - cv::findContours(voronoi_map, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_SIMPLE); -#endif - - for (int current_contour = 0; current_contour < contours.size(); current_contour++) - { //only draw contours that aren't holes - if (hierarchy[current_contour][3] == -1) - { - //calculate area for the contour and check if it is large enough to be a room - double room_area = map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[current_contour]); - if (room_area >= room_area_factor_lower_limit && room_area <= room_area_factor_upper_limit) - { - //2. Draw the region with a random color into the map if it is large/small enough - bool drawn = false; - int loop_counter = 0; //counter if the loop gets into a endless loop - do - { - loop_counter++; - int random_number = rand() % 52224 + 13056; - cv::Scalar fill_colour(random_number); - //check if color has already been used - if (!contains(already_used_colors, fill_colour) || loop_counter > 1000) - { - cv::drawContours(segmented_map, contours, current_contour, fill_colour, 1); - already_used_colors.push_back(fill_colour); - Room current_room(random_number); //add the current Contour as a room - for (int point = 0; point < contours[current_contour].size(); point++) //add contour points to room - { - current_room.insertMemberPoint(cv::Point(contours[current_contour][point]), map_resolution_from_subscription); - } - rooms.push_back(current_room); - drawn = true; - } - } while (!drawn); - } - } - } - std::cout << "Found " << rooms.size() << " rooms.\n"; - - //3.fill the last white areas with the surrounding color - wavefrontRegionGrowing(segmented_map); - - if(display_map == true) - { - cv::imshow("before", segmented_map); - cv::waitKey(1); - } - - //4.merge the rooms together if neccessary - mergeRooms(segmented_map, rooms, map_resolution_from_subscription, max_area_for_merging, display_map); -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/wavefront_region_growing.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/wavefront_region_growing.cpp deleted file mode 100644 index 877ce8a..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/wavefront_region_growing.cpp +++ /dev/null @@ -1,44 +0,0 @@ -#include - -// spreading image is supposed to be of type CV_32SC1 -void wavefrontRegionGrowing(cv::Mat& image) -{ - //This function spreads the colored regions of the given map to the neighboring white pixels - if (image.type()!=CV_32SC1) - { - std::cout << "Error: wavefrontRegionGrowing: provided image is not of type CV_32SC1." << std::endl; - return; - } - - cv::Mat spreading_map = image.clone(); - bool finished = false; - while (finished == false) - { - finished = true; - for (int row = 1; row < spreading_map.rows-1; ++row) - { - for (int column = 1; column < spreading_map.cols-1; ++column) - { - if (spreading_map.at(row, column) > 65279) // unassigned pixels - { - //check 3x3 area around white pixel for fillcolour, if filled Pixel around fill white pixel with that colour - bool set_value = false; - for (int row_counter = -1; row_counter <= 1 && set_value==false; ++row_counter) - { - for (int column_counter = -1; column_counter <= 1 && set_value==false; ++column_counter) - { - int value = image.at(row + row_counter, column + column_counter); - if (value != 0 && value <= 65279) - { - spreading_map.at(row, column) = value; - set_value = true; - finished = false; // keep on iterating the wavefront propagation until no more changes occur - } - } - } - } - } - } - image = spreading_map.clone(); - } -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/package.xml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/package.xml deleted file mode 100644 index 0341cf7..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/package.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - ipa_room_segmentation - 0.1.0 - - Segmentation procedures for dividing floor maps into single rooms or areas. - It contains four different algorithms for doing this: - 1. A morphological algorithm, which provides morphological operations on the map and finds the room-like areas with opencv. (common/src/morphological_segmentation.cpp) - 2. A distance-transformation based algorithm, which first produces a distance-transformed map using opencv, then takes a variable threshold over the map, coloring everything - above it white, and finds the areas of the rooms in the threshold-map. (common/src/distance_segmentation.cpp) - 3. A voronoi-based algorithm, which produces a generalized voronoi-diagram in the map, finds critical Points in a epsilon-neighborhood on the graph and partion the map with the - borders trough this critical Points. (common/src/vornoi_segmentation.cpp) - 4. A semantic-labeling algorithm, which calculates simple single-valued features for a given Position and classifies to which class (room, hallway) this Position belongs using - Ada-Boost from opencv. (common/src/semantic_segmentation.cpp) - 5. A mix of the semantic-labeling and the voronoi-based algorithm, called voronoi-random-fields. It creates a conditional-random-field out of a pruned generalized Voronoi-graph - and uses the weak-responses of the AdaBoost classifiers to find the best labels for each node. Advantage of this over the semantic labeling is that it can take care of - neighbor-relations, which allows to detect doorways, as well as rooms and hallways. (common/src/voronoi_random_field_segmentation.cpp) - For more detailed descriptions see the corresponding files. This algorithms often uses OpenCV, so it's very important for these algorithms. - - Florian Jordan - Richard Bormann - LGPL for academic and non-commercial use; for commercial use, please contact Fraunhofer IPA - http://wiki.ros.org/ipa_room_segmentation - - catkin - - actionlib - boost - cv_bridge - dynamic_reconfigure - ipa_building_msgs - libdlib - libopencv-dev - nav_msgs - opengm - roscpp - roslib - sensor_msgs - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/readme.md b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/readme.md deleted file mode 100644 index a9f0d67..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/readme.md +++ /dev/null @@ -1,80 +0,0 @@ -# ipa_room_segmentation -Algorithms for floor plan segmentation. - -If you find this software useful in your work, please cite our corresponding paper: -- R. Bormann, F. Jordan, W. Li, J. Hampp, and M. Hägele. Room Segmentation: Survey, Implementation, and Analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2016. https://ieeexplore.ieee.org/abstract/document/7487234 , https://publica.fraunhofer.de/entities/publication/0bf23149-75d5-4601-bfce-992d91698862/details - -# General Procedure - -1. Change the algorithm parameters in ros/launch/room_segmentation_action_server_params.yaml in ros/launch to the wanted algorithms and settings. - * room_segmentation_algorithm: Choose which segmentation algorithm should be used. - * display_segmented_map: Specify if you want a window to pop up after the given map has been segmented, showing the results. To continue the program press any button in the window. - * train_semantic, train_vrf: Booleans that show, if the semantic or voronoi random field segmentation should be trained. For details of this training method see the further document. - * Every algorithm has its own specific range of **allowed room areas**. Segments that are out of this range will not be drawn and are going to be filled by the surrounding valid rooms. **Remark:** The upper border in the semantic segmentation method has a different meaning. If found segments are too big they become separated by randomly putting centers in the segment and splitting it by using a wavefront algorithm. It's better to turn this off by setting the allowed maximal area very high. - * Some algorithms have specific parameters that change some functionalities of it, which is described in detail in the .yaml file. - -2. Start the action server using the file /ros/launch/room_segmentation_action_server.launch, which executes the /ros/src/room_segmentation_server.cpp file. If the server crashes for some reason (e.g. no valid map given by the client) it respawns with a little delay. - -3. Start an action client, which sends a goal to the segmentation action server, corresponding to the MapSegmentation.action message, which lies in ipa_building_msgs/action. The goal consists of the following parts - - * input_map: The map that should be segmented, as sensor_msgs/Image. **Has to be a 8-Bit single channel image, with 0 as occupied space and 255 as free space**. - * map_resolution: The resolution the map has been sampled with [meter/cell]. - * map_origin: The origin of the map in [meter] to bring the provided map coordinates in absolute coordinates, if wanted. - * return_format_in_pixel: Boolean to indicate if the results should be returned in pixel-coordinates. - * return_format_in_meter: Boolean to indicate if the results should be returned in absolute coordinates. - * robot_radius: The radius of your robot. If this is set to a value greater than 0 the room centers are chosen at locally reachable areas. -4. The action server returns a result, that has the following parts - * segmented_map: The map with the N found segments drawn in. The value of a pixel indicates its ID, which can be used to find pixels belonging to one room. The IDs start at 1 and go up to N, the **return format is 32-Bit single channel**. - * RoomInformation: For each found room the min/max x/y coordinate of points belonging to this room and the center is provided. See ipa_building_msgs/msg/RoomInformation.msg for details. This can be in pixel coordinates or absolute coordinates, depending on the booleans defined above. - * doorway_points: The fifth algorithm (voronoi random field segmentation) is capable of predicting doorways. If this algorithm is chosen, central points on a computed voronoi graph are returned that were labeled as doorways. - -A Client also can change the parameters of the server by using dynamic_reconfigure. This can be done using the dynamic_reconfigure_client.h file that provides a client for this purpose. With client.setConfig("param_name", value) one specific parameter can be changed from the client, see ros/src/room_segmentation_client.cpp for an example. Of course rqt_reconfigure can also be used to change specific parameters. - -The algorithms are implemented in common/src, using the headers in common/include/ipa_room_segmentation. Each algorithm has its own class, so if you want to use it alone you have to include the header for the algorithm you want to use and make a new object. Then you have to execute the segmentMap() function, which segments the map. - -For large maps the algorithms can take a few minutes to complete the segmentation, especially the semantic and voronoi random field segmentation. If you want fast results, the morphological and distance segmentation are the fastest, but they might return not the best results if you have wide open spaces. To see results on different maps, see [http://wiki.ros.org/ipa_room_segmentation](http://wiki.ros.org/ipa_room_segmentation). - -# Available algorithms - -1. Morphological segmentation: Given the map as binary image, a binary erosion is iteratively applied. After each step, the algorithm searches for separate regions that have an area in the defined range. If it finds one, this region is saved and drawn black such that it doesn't need to be looked at any further. After all white regions are black, the algorithm stops and draws the segments in an image, then applies a wavefront algorithm to fill remaining white spaces. - -2. Distance segmentation: Out of the given image a distance-map is computed that stores for each white pixel its distance to the nearest black pixel. On this distance-map a threshold operator is applied iteratively that makes every pixel above a certain threshold black and everything beneath it white. After each step the algorithm searches for segments in the given area range and stores them, then increases the threshold. After all possible thresholds have been looked at, the algorithm chooses the segmentation with the most valid segments as segmentation. After that it also draws the segments in an image and applies a wavefront algorithm. - -3. Voronoi segmentation: For the given map a pruned voronoi graph is computed. The points belonging to this graph are then separated into different neighborhoods and searching in this neighborhood for the point with the smallest distance to the black pixels, called a critical point. This critical point is connected with the two closest black pixels, creating a separation of two segments. This algorithm was programmed after Thrun and Bücken [1]. - -4. Semantic segmentation: For each white pixel a 360 degree laserscan is simulated, resulting in different distances to obstacles around this point. These laserscans are then used to compute different features, which are put into two AdaBoost algorithms. These compute the probability that the current point is a room or hallway. Depending on the probabilities a label is given to that point. The same procedure is then repeated for each white pixel in the given map, resulting in different separated regions for rooms/hallways that are treated as segments. This algorithm was programmed after Mozos [2]. - -5. Voronoi Random Field Segmentation: First a pruned voronoi graph is computed for the given map, on that a neighborhood gets concentrated into one central point. After all points are found, neighboring relations are obtained, meaning which node is next to another depending on the voronoi graph. This gives several cliques, resulting in a conditional random field. The features for this CRF are then the weak responses of the AdaBoost classifiers for rooms, doorways and hallways. These AdaBoost classifiers use the same features as the semantic segmentation. On this CRF then a loopy belief propagation is done, resulting in several intersected segments. This algorithm was programmed after Friedman et al. [3]. - - -# Training - -In this package two algorithms are implemented that use machine-learning techniques, which of course need pre-labeled examples for training. These algorithms are the semantic segmentation and the voronoi random field segmentation. The training procedure starts as soon, as you start the action server. - -**Important**: The algorithms assume that the maps are given as 8-Bit single channel image, with 0 as occupied space and 255 as free space. - -1. The semantic segmentation uses two AdaBoost classifiers, one to detect hallways and one to detect rooms, based on simulated laserscannner-data [2]. -For the training of this algorithm hand-labelled data showing where rooms and where hallways are. To do so see the given files in common/files/training_maps. You can see that for different maps some regions are grey and not white or black. These gray regions show where a hallway/room is, the color itself is not important. -After you have created some training files yourself you have to specify where they lay on your file-system in the room_segmentation_action_server.launch file. When you set the train Boolean to true these given maps are read in and given to the training routine. - -2. The voronoi random field segmentation also uses AdaBoost algorithms to check for rooms/hallways/doorways. Additionally the weak classifier results from these algorithms are used as Features in a conditional random field, resulting in two different algorithms that need to be trained [3]. -Examples for training data for this algorithm can be seen in common/files/training_maps/voronoi_random_field_training. The Data consist of the original maps, with only white and black regions and the labeled maps (training_maps) with colors showing if the class of the current point. Optionally one can also provide additional data to save computation time, the precomputed maps with a voronoi graph drawn in (color 127) and maps that show where nodes are in the given voronoi graph. If you provide one of it you also need to provide the other. -After you created your personal training files you also have to specify the path to them in room_segmentation_action_server.launch. The colors provided in the training maps have the meaning - - - 77: room - - 115: hallway - - 179: doorway - -# Provided test maps - -This package provides a database of 20 floor plans with and without furnitures, used to test the algorithms.Some of these are simulative mapped images, but most are simply drawn using graphics software. The floor maps lie in png format under common/files/test_maps. Relevant are the ones which are existing in a version with furnitures, shown by name extension _furniture. - -Additionally there are ground-truth maps, that show how a human might intersect these maps, shown by the name extension _gt. If you want to color these ground-truth maps, to show the different segments, you can use a flood-fill algorithm for the white pixels to collect each pixel that belong to one segment, because the drawn lines seperates the white spaces from each other. Then you can color each of this found pixel with a color that is unique for this segment. This is done in the computePrecisionRecall() function of the EvaluationSegmentation class (common/src/evaluation_segmentation.cpp) if you want it. - -# References - -[1] Thrun, S., and Bücken, A. Integrating Grid-Based and Topological Maps for Mobile Robot Navigation. In Proceedings of the National Conference on Artificial Intelligence (1996), pp. 944–951. - -[2] Martinez Mozos, O., Rottmann, A., Triebel, R., Jensfelt, P., Burgard, W., et al. Semantic labeling of places using information extracted from laser and vision sensor data (2006) - -[3] Friedman, Stephen, Hanna Pasula, and Dieter Fox. "Voronoi Random Fields: Extracting Topological Structure of Indoor Environments via Place Labeling." IJCAI. Vol. 7. 2007 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/include/ipa_room_segmentation/dynamic_reconfigure_client.h b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/include/ipa_room_segmentation/dynamic_reconfigure_client.h deleted file mode 100644 index 8c9907f..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/include/ipa_room_segmentation/dynamic_reconfigure_client.h +++ /dev/null @@ -1,248 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_segmentation - * - * \author - * Author: Richard Bormann - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 08.2016 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#ifndef _DYNAMIC_RECONFIGURE_CLIENT_H_ -#define _DYNAMIC_RECONFIGURE_CLIENT_H_ - -#include -#include - -#include - -#include -#include -#include -#include - -class DynamicReconfigureClient -{ -public: - DynamicReconfigureClient(ros::NodeHandle& nh, const std::string& dynamic_reconfigure_service_name, const std::string& parameter_updates_topic) - : dynamic_reconfigure_current_config_received_(false), node_handle_(nh), dynamic_reconfigure_service_name_(dynamic_reconfigure_service_name) - { - dynamic_reconfigure_sub_ = node_handle_.subscribe(parameter_updates_topic, 1, &DynamicReconfigureClient::dynamic_reconfigure_current_config_callback, this); - - // receive current configuration - ros::Duration sleep_rate(0.5); - while (dynamic_reconfigure_current_config_received_ == false) - { - ros::spinOnce(); - sleep_rate.sleep(); - } - } - - dynamic_reconfigure::Config& getConfig() - { - boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); - return dynamic_reconfigure_config_; - } - - bool setConfig(const std::string& param_name, const bool param_value) - { - boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); - - if (dynamic_reconfigure_current_config_received_ == false) - { - ROS_WARN("DynamicReconfigureClient: Did not receive the current configuration, yet."); - return false; - } - - bool found = false; - for (size_t i=0; i. - * - ****************************************************************/ - -#include "ros/ros.h" - -#include -#include -#include - -#include -#include -#include - -#include -#include - -#include -#include -#include -#include - - -#include -#include -#include - -#include -#include -#include -#include -#include - -class RoomSegmentationServer -{ -protected: - - // parameters - //limits for the room-areas - double room_upper_limit_morphological_, room_upper_limit_distance_, room_upper_limit_voronoi_, room_upper_limit_semantic_, room_upper_limit_voronoi_random_, room_upper_limit_passthrough_; - double room_lower_limit_morphological_, room_lower_limit_distance_, room_lower_limit_voronoi_, room_lower_limit_semantic_, room_lower_limit_voronoi_random_, room_lower_limit_passthrough_; - int room_segmentation_algorithm_; // this variable selects the algorithm for room segmentation, - // 1 = morphological segmentation - // 2 = distance segmentation - // 3 = Voronoi segmentation - // 4 = semantic segmentation - // 5 = voronoi-random-field segmentation - // 99 = pass through segmentation - - bool train_semantic_, train_vrf_; //Boolean to say if the algorithm needs to be trained - bool load_semantic_features_; //Boolean to say if the training of the semantic algorithm should load precomputed features - - int voronoi_neighborhood_index_; //Variable for the Voronoi method that specifies the neighborhood that is looked at for critical Point extraction - int voronoi_random_field_epsilon_for_neighborhood_; //Variable that specifies the neighborhood for the vrf-segmentation. - int max_iterations_; //number of iterations for search of neighborhood in voronoi method and vrf method - int min_neighborhood_size_; //Variable that stores the minimum size of a neighborhood, used for the vrf method. - double min_voronoi_random_field_node_distance_; //Variable that shows how near two nodes of the conditional random field can be in the vrf method. [pixel] - int max_voronoi_random_field_inference_iterations_; //Variable that shows how many iterations should max. be done when infering in the conditional random field. - double min_critical_point_distance_factor_; //Variable that sets the minimal distance between two critical Points before one gets eliminated - double max_area_for_merging_; //Variable that shows the maximal area of a room that should be merged with its surrounding rooms - bool display_segmented_map_; // displays the segmented map upon service call - bool publish_segmented_map_; // publishes the segmented map as grid map upon service call - std::vector doorway_points_; // vector that saves the found doorway points, when using the 5th algorithm (vrf) - - std::vector semantic_training_maps_room_file_list_; // list of files containing maps with room labels for training the semantic segmentation - std::vector semantic_training_maps_hallway_file_list_; // list of files containing maps with hallway labels for training the semantic segmentation - std::vector vrf_original_maps_file_list_; // list of files containing the original maps for training the VRF segmentation - std::vector vrf_training_maps_file_list_; // list of files containing the labeled maps for training the VRF segmentation - std::vector vrf_voronoi_maps_file_list_; // list of files containing the Voronoi maps for training the VRF segmentation - these files are optional for training and just yield a speedup - std::vector vrf_voronoi_node_maps_file_list_; // list of files containing the Voronoi node maps for training the VRF segmentation - these files are optional for training and just yield a speedup - - //converter-> Pixel to meter for X coordinate - double convert_pixel_to_meter_for_x_coordinate(const int pixel_valued_object_x, const float map_resolution, const cv::Point2d map_origin) - { - double meter_value_obj_x = (pixel_valued_object_x * map_resolution) + map_origin.x; - return meter_value_obj_x; - } - //converter-> Pixel to meter for Y coordinate - double convert_pixel_to_meter_for_y_coordinate(int pixel_valued_object_y, const float map_resolution, const cv::Point2d map_origin) - { - double meter_value_obj_y = (pixel_valued_object_y * map_resolution) + map_origin.y; - return meter_value_obj_y; - } - - //This is the execution function used by action server - void execute_segmentation_server(const ipa_building_msgs::MapSegmentationGoalConstPtr &goal); - - //Callback for dynamic reconfigure server - void dynamic_reconfigure_callback(ipa_room_segmentation::RoomSegmentationConfig &config, uint32_t level); - - // service for generating a map of one single room from a labeled map - // The request message provides a segmented map which consists of cells with label 0 for inaccessible areas and other number from 1 to N - // for labeling membership with one of the N segmented areas. - // The return message shall deliver the same map but with only one area (segment_of_interest) labeled as 255 and the remainder labeled - // as inaccessible with 0. - bool extractAreaMapFromLabeledMap(ipa_building_msgs::ExtractAreaMapFromLabeledMapRequest& request, ipa_building_msgs::ExtractAreaMapFromLabeledMapResponse& response); - - //!!Important!! - // define the Nodehandle before the action server, or else the server won't start - // - ros::NodeHandle node_handle_; - ros::Publisher map_pub_; - ros::ServiceServer extract_area_map_from_labeled_map_server_; - actionlib::SimpleActionServer room_segmentation_server_; - dynamic_reconfigure::Server room_segmentation_dynamic_reconfigure_server_; - -public: - //initialize the action-server - RoomSegmentationServer(ros::NodeHandle nh, std::string name_of_the_action); - - //Default destructor for the class - ~RoomSegmentationServer(void) - { - } -}; diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server.launch deleted file mode 100644 index 6a14b1f..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server.launch +++ /dev/null @@ -1,70 +0,0 @@ - - - - - - - - - - - ["$(find ipa_room_segmentation)/common/files/training_maps/lab_ipa_room_training_map.png", -"$(find ipa_room_segmentation)/common/files/training_maps/lab_d_room_training_map.png", -"$(find ipa_room_segmentation)/common/files/training_maps/Freiburg52_scan_room_training.png", -"$(find ipa_room_segmentation)/common/files/training_maps/Freiburg52_scan_furnitures_room_training.png", -"$(find ipa_room_segmentation)/common/files/training_maps/lab_intel_furnitures_room_training_map.png"] - - - ["$(find ipa_room_segmentation)/common/files/training_maps/lab_ipa_hallway_training_map.png", -"$(find ipa_room_segmentation)/common/files/training_maps/lab_a_hallway_training_map.png", -"$(find ipa_room_segmentation)/common/files/training_maps/Freiburg52_scan_hallway_training.png", -"$(find ipa_room_segmentation)/common/files/training_maps/Freiburg52_scan_furnitures_hallway_training.png", -"$(find ipa_room_segmentation)/common/files/training_maps/lab_intel_hallway_training_map.png"] - - - - ["$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/Fr52_original.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/Fr101_original.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/lab_intel_original.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/lab_d_furnitures_original.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/lab_ipa_original.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/NLB_original.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/office_e_original.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/office_h_original.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/lab_c_furnitures_original.png"] - - - ["$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr52.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr101.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_intel.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_d_furniture.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_ipa.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_NLB_furniture.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_e.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_h.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_c_furnitures.png"] - - - ["$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr52_voronoi.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr101_voronoi.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_intel_voronoi.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_d_furnitures_voronoi.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_ipa_voronoi.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/NLB_voronoi.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_e_voronoi.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_h_voronoi.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_c_furnitures_voronoi.png"] - - - ["$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr52_voronoi_nodes.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr101_voronoi_nodes.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_intel_voronoi_nodes.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_d_furnitures_voronoi_nodes.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_ipa_voronoi_nodes.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/NLB_voronoi_nodes.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_e_voronoi_nodes.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_h_voronoi_nodes.png", -"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_c_furnitures_voronoi_nodes.png"] - - - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server_params.yaml b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server_params.yaml deleted file mode 100644 index eac28af..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server_params.yaml +++ /dev/null @@ -1,61 +0,0 @@ -# this variable selects the algorithm for room segmentation -# 1 = morphological segmentation -# 2 = distance segmentation -# 3 = Voronoi segmentation -# 4 = semantic segmentation -# 5 = voronoi random field segmentation -# 99 = passthrough segmentation -# int -room_segmentation_algorithm: 3 - -# displays the segmented map upon service call -# bool -display_segmented_map: false - -# publishes the segmented map as grid map upon service call -# bool -publish_segmented_map: true - -# train the semantic segmentation and the voronoi random field segmentation -train_semantic: false -load_semantic_features: false -train_vrf: false - -# room area factor-> Set the limitation of area of the room -------> in [m^2] -#morphological segmentation: 47.0 - 0.8 (means the room area after eroding/shrinking s.t. too small/big contours are not treated as rooms) -room_area_factor_upper_limit_morphological: 47.0 -room_area_factor_lower_limit_morphological: 0.8 - -#distance segmentation: 163.0 - 0.35 (means the room area after decreasing the boundary for the binary filter s.t. too small/big contours are not treated as rooms) -room_area_factor_upper_limit_distance: 163.0 -room_area_factor_lower_limit_distance: 0.35 - -#Voronoi segmentation: 120.0 - 1.53 (means the max/min area that an area separated by critical lines is allowed to have) -room_area_factor_upper_limit_voronoi: 1000000.0 #120.0 -room_area_factor_lower_limit_voronoi: 0.1 #1.53 - -#Semantic Segmentation: 23.0 - 1.0 (means the max/min area a connected classified region is allowed to have) -room_area_factor_upper_limit_semantic: 1000000.0 # if you choose this value small (i.e 23.0) then too big hallway contours are randomly separated into smaller regions using a watershed algorithm, which can look bad -room_area_factor_lower_limit_semantic: 1.0 - -#Voronoi random field segmentation: 1000000.0 - 1.53 (means the max/min area a connected classified region is allowed to have) -room_area_upper_limit_voronoi_random: 1000000.0 -room_area_lower_limit_voronoi_random: 1.53 - -#Passthrough -room_area_factor_upper_limit_passthrough: 1000000.0 #120.0 -room_area_factor_lower_limit_passthrough: 1.0 - -#parameters for the voronoi segmentation that specify the neighborhood for critical Point extraction and the distance between critical Points. -voronoi_neighborhood_index: 280 #larger value sets a larger neighborhood for searching critical points --> int -max_iterations: 150 #sets the maximal number of iterations to search for a neighborhood, also used for the vrf segmentation --> int -min_critical_point_distance_factor: 0.5 #1.6 #minimal distance factor between two critical points before one of it gets eliminated --> double -max_area_for_merging: 12.5 #maximal area [m²] of a room that should be merged with its surrounding rooms, also used for the voronoi random field segmentation - -#parameters for the voronoi random field segmentation that specify the size of the neighborhood generated on the Voronoi graph, the minimal -#size this neighborhood can have, how far base nodes for each node on the graph need to be apart and how many iterations the inference -#max. should do -voronoi_random_field_epsilon_for_neighborhood: 5 #larger value sets larger neighborhood, concentrated in a node of the conditional random field --> int -min_neighborhood_size: 4 #min size of the above mentioned neighborhood --> int -min_voronoi_random_field_node_distance: 7.0 #min distance the base nodes for each crf node need to be apart --> double -max_voronoi_random_field_inference_iterations: 9000 #max number of iterations the inference algorithm should do --> int diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/evaluation_numeric_properties.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/evaluation_numeric_properties.cpp deleted file mode 100644 index e96da71..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/evaluation_numeric_properties.cpp +++ /dev/null @@ -1,920 +0,0 @@ -#include "ros/ros.h" -#include -#include -#include - -#include - -#include -#include -#include -#include - -#include -#include -#include - -#include -#include -#include -#include -#include -#include - -void calculate_mean_min_max(const std::vector& values, double& mean, double& min_val, double& max_val) -{ - mean = 0.0; - max_val = 0.0; - min_val = 1e10; - for (size_t i = 0; i < values.size(); ++i) - { - mean += values[i]; - if (values[i] > max_val) - max_val = values[i]; - if (values[i] < min_val) - min_val = values[i]; - } - mean = mean/(double)values.size(); - -} - -double calculate_stddev(const std::vector& values, const double mean) -{ - //calculate the standard deviation - double sigma = 0.; - for (size_t i=0; i(v,u); - for (int dv=-1; dv<=1; ++dv) - { - for (int du=-1; du<=1; ++du) - { - const int nu = u+du; - const int nv = v+dv; - if (nu>=0 && nu=0 && nv(nv,nu)!=label) - return false; - } - } - } - return true; -} - -void calculate_basic_measures(const cv::Mat& map, const double map_resolution, const int number_rooms, std::vector& areas, std::vector& perimeters, - std::vector& area_perimeter_compactness, std::vector& bb_area_compactness, std::vector& pca_eigenvalue_ratio) -{ - areas.clear(); - areas.resize(number_rooms, 0.); - perimeters.clear(); - perimeters.resize(number_rooms, 0.); - area_perimeter_compactness.clear(); - area_perimeter_compactness.resize(number_rooms, 0.); - bb_area_compactness.clear(); - bb_area_compactness.resize(number_rooms, 0.); - pca_eigenvalue_ratio.clear(); - pca_eigenvalue_ratio.resize(number_rooms, 0.); - - std::vector< std::vector< cv::Point > > room_contours(number_rooms); - std::vector< std::vector< cv::Point > > filled_rooms(number_rooms); - - //const double map_resolution = 0.0500; // m/cell - for(size_t v = 0; v < map.rows; ++v) - { - for(size_t u = 0; u < map.cols; ++u) - { - if(map.at(v,u) != 0) - { - const int insert_index = map.at(v,u)-1; - if (insert_index >= number_rooms) - continue; - areas[insert_index] += map_resolution*map_resolution; - filled_rooms[insert_index].push_back(cv::Point(u,v)); - if (check_inner_pixel(map, u, v) == false) - room_contours[insert_index].push_back(cv::Point(u,v)); - } - } - } - for (size_t r=0; r(i, 0) = filled_rooms[r][i].x; - data.at(i, 1) = filled_rooms[r][i].y; - } - cv::PCA pca(data, cv::Mat(), CV_PCA_DATA_AS_ROW); - pca_eigenvalue_ratio[r] = pca.eigenvalues.at(0)/pca.eigenvalues.at(1); - } -} - -//calculate the compactness of the rooms. Compactness factor is given by area/perimeter -std::vector calculate_compactness(std::vector > rooms, const double map_resolution) -{ - double current_area, current_perimeter; - //double map_resolution = 0.05000; - std::vector compactness_factors; - //calculate the area and perimeter for each room using opencv - for (int current_room = 0; current_room < rooms.size(); current_room++) - { - current_area = map_resolution * map_resolution * cv::contourArea(rooms[current_room]); - current_perimeter = map_resolution * cv::arcLength(rooms[current_room], true); - compactness_factors.push_back(current_area / (current_perimeter * current_perimeter)); - } - return compactness_factors; -} - -//calculate too much area of the bounding box -std::vector calculate_bounding_error(std::vector > rooms, const double map_resolution) -{ - std::vector space_errors; - double bounding_box_area, room_area; - //double map_resolution = 0.05000; - cv::RotatedRect current_bounding_box; - //calculate the rotated bounding box for each room and subtract the roomarea from it - for (int current_room = 0; current_room < rooms.size(); current_room++) { - current_bounding_box = cv::minAreaRect(rooms[current_room]); - bounding_box_area = map_resolution * map_resolution * current_bounding_box.size.area(); - room_area = map_resolution * map_resolution * cv::contourArea(rooms[current_room]); - //put the difference in the error vector - space_errors.push_back(bounding_box_area - room_area); - } - return space_errors; -} - -//calculate area for every room -std::vector calculate_areas(std::vector > rooms, const double map_resolution) -{ - std::vector calculated_areas; - //double map_resolution = 0.0500; - for (int current_room = 0; current_room < rooms.size(); current_room++) - { - calculated_areas.push_back(map_resolution * map_resolution * cv::contourArea(rooms[current_room])); - } - return calculated_areas; -} - -//calculate area for every room -std::vector calculate_areas_from_segmented_map(const cv::Mat& map, const double map_resolution, const int number_rooms) -{ - std::vector calculated_areas(number_rooms, 0.); - //const double map_resolution = 0.0500; // m/cell - for(size_t v = 0; v < map.rows; ++v) - for(size_t u = 0; u < map.cols; ++u) - if(map.at(v,u) != 0) - calculated_areas[map.at(v,u)-1] += map_resolution*map_resolution; - - return calculated_areas; -} - -//calculate perimeter for every room -std::vector calculate_perimeters(std::vector > rooms) -{ - std::vector calculated_perimeters; - double map_resoultion = 0.0500; - for (int current_room = 0; current_room < rooms.size(); current_room++) - { - calculated_perimeters.push_back(map_resoultion * cv::arcLength(rooms[current_room], true)); - } - return calculated_perimeters; -} - -//check if every roomcenter is reachable -bool check_reachability(const std::vector >& rooms, const cv::Mat& map) -{ - bool reachable = true; - cv::RotatedRect current_bounding_box; - for (int current_room = 0; current_room < rooms.size(); current_room++) - { - current_bounding_box = minAreaRect(rooms[current_room]); - if (map.at(current_bounding_box.center) == 0) - { - reachable = false; - } - } - return reachable; -} - -//Calculate the length of the major axis of the minimum bounding ellipse -double calc_major_axis(std::vector room) -{ - cv::Point2f points[4]; - std::vector edge_points; - double distance = 0; - double map_resoultion = 0.05; - //saving-variable for the Points of the ellipse - cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(room)); - //get the edge-points of the ellipse - ellipse.points(points); - //saving the Points of the ellipse in a vector - for (int i = 0; i < 4; i++) - { - edge_points.push_back(points[i]); - } - //calculate the distance between the Points and take the largest one - for (int p = 0; p < edge_points.size(); p++) - { - for (int np = 0; np < edge_points.size(); np++) - { - if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2)+ std::pow((edge_points[p].y - edge_points[np].y),2)) > distance) - { - distance = std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) - + std::pow((edge_points[p].y - edge_points[np].y),2)); - } - } - } - return map_resoultion * distance; -} - -//Calculate the length of the minor axis of the minimum bounding ellipse -double calc_minor_axis(std::vector room) { - cv::Point2f points[4]; - std::vector edge_points; - double distance = 10000000; - double map_resoultion = 0.05; - //saving-variable for the Points of the ellipse - cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(room)); - //get the edge-points of the ellipse - ellipse.points(points); - //saving the Points of the ellipse in a vector - for (int i = 0; i < 4; i++) - { - edge_points.push_back(points[i]); - } - //calculate the distance between the Points and take the largest one - for (int p = 0; p < edge_points.size(); p++) - { - for (int np = 0; np < edge_points.size(); np++) - { - //np != p: make sure the distance is nor calculated to the Point itself - if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) - + std::pow((edge_points[p].y - edge_points[np].y),2)) < distance && np != p) - { - distance = std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) - + std::pow((edge_points[p].y - edge_points[np].y),2)); - } - } - } - return map_resoultion * distance; -} - -//Calculate the Quotient of the langths of the major axis and the minor axis from the fitting ellipse for each room -std::vector calc_Ellipse_axis(std::vector > rooms) -{ - std::vector quotients; - for (int current_room = 0; current_room < rooms.size(); current_room++) - { - quotients.push_back(calc_major_axis(rooms[current_room]) / calc_minor_axis(rooms[current_room])); - } - return quotients; -} - -//Calculate the average distance between room-centers -double calc_average_distance(std::vector > rooms) -{ - double mean = 0.0; - double dx, dy; - double map_resoultion = 0.05; - std::vector centers; - cv::RotatedRect current_bounding_box; - for (int current_room = 0; current_room < rooms.size(); current_room++) - { - current_bounding_box = minAreaRect(rooms[current_room]); - centers.push_back(current_bounding_box.center); - } - //calculate the sum of distances - for (int current_center = 0; current_center < centers.size() - 1; current_center++) - { - dx = centers[current_center].x - centers[current_center + 1].x; - dy = centers[current_center].y - centers[current_center + 1].y; - mean += std::sqrt(std::pow(dx, 2.0) + std::pow(dy, 2.0)); - } - return map_resoultion * (mean / centers.size()); -} - -//Calculate standard deviation of room-areas -double calc_area_deviation(std::vector > rooms, const double map_resolution) -{ - double sigma = 0.0; - double mean = 0.0; - std::vector areas = calculate_areas(rooms, map_resolution); - //calculate the average room-area - for (int current_room = 0; current_room < areas.size(); current_room++) { - mean += areas[current_room]; - } - mean = mean / areas.size(); - //calculate the standard deviation - for (int current_room = 0; current_room < areas.size(); current_room++) { - sigma += std::pow(areas[current_room] - mean, 2.0); - } - sigma = sigma / (areas.size() - 1); - return std::sqrt(sigma); -} - -//Calculate standard deviation of room-perimeters -double calc_perimeter_deviation(std::vector > rooms) -{ - double sigma = 0.0; - double mean = 0.0; - std::vector perimeters = calculate_perimeters(rooms); - //calculate the average room-area - for (int current_room = 0; current_room < perimeters.size();current_room++) - { - mean += perimeters[current_room]; - } - mean = mean / perimeters.size(); - //calculate the standard deviation - for (int current_room = 0; current_room < perimeters.size();current_room++) - { - sigma += std::pow(perimeters[current_room] - mean, 2.0); - } - sigma = sigma / (perimeters.size() - 1); - return std::sqrt(sigma); -} - -//Calculate standard deviation of ellipsis-quotients -double calc_quotients_deviation(std::vector > rooms) -{ - double sigma = 0.0; - double mean = 0.0; - std::vector quotients = calc_Ellipse_axis(rooms); - //calculate the average room-area - for (int current_room = 0; current_room < quotients.size(); - current_room++) { - mean += quotients[current_room]; - } - mean = mean / quotients.size(); - //calculate the standard deviation - for (int current_room = 0; current_room < quotients.size(); - current_room++) { - sigma += std::pow(quotients[current_room] - mean, 2.0); - } - sigma = sigma / (quotients.size() - 1); - return std::sqrt(sigma); -} - -//Calculate standard deviation of bounding-box-errors -double calc_errors_deviation(std::vector > rooms, const double map_resolution) -{ - double sigma = 0.0; - double mean = 0.0; - std::vector errors = calculate_bounding_error(rooms, map_resolution); - //calculate the average room-area - for (int current_room = 0; current_room < errors.size(); current_room++) { - mean += errors[current_room]; - } - mean = mean / errors.size(); - //calculate the standard deviation - for (int current_room = 0; current_room < errors.size(); current_room++) { - sigma += std::pow(errors[current_room] - mean, 2.0); - } - sigma = sigma / (errors.size() - 1); - return std::sqrt(sigma); -} - -int segmentationNameToNumber(const std::string name) -{ - if (name.compare("1morphological") == 0) - return 1; - else if (name.compare("2distance") == 0) - return 2; - else if (name.compare("3voronoi") == 0) - return 3; - else if (name.compare("4semantic") == 0) - return 4; - else if (name.compare("5vrf") == 0) - return 5; - return 1; -} - - -int main(int argc, char **argv) { - ros::init(argc, argv, "evaluation"); - ros::NodeHandle n; -// ros::Subscriber semantic_labeler = n.Subscribe("Laser_scanner", 1000, segmentation_algorithm); - ROS_INFO("Evaluation of the segmented maps. Calculates some Parameters describing the rooms."); -// ros::spin(); - - double map_resolution = 0.05; - - std::vector segmentation_names; - segmentation_names.push_back("1morphological"); - segmentation_names.push_back("2distance"); - segmentation_names.push_back("3voronoi"); - segmentation_names.push_back("4semantic"); - segmentation_names.push_back("5vrf"); - -// std::string map_name = "NLB"; -//// "lab_ipa" //done -//// "lab_c_scan" //done -//// "Freiburg52_scan" //done -//// "Freiburg79_scan" //done -//// "lab_b_scan" //done -//// "lab_intel" //done -//// "Freiburg101_scan" //done -//// "lab_d_scan" //done -//// "lab_f_scan" //done -//// "lab_a_scan" //done -//// "NLB" //done - std::vector< std::string > map_names; - map_names.push_back("lab_ipa"); - map_names.push_back("lab_c_scan"); - map_names.push_back("Freiburg52_scan"); - map_names.push_back("Freiburg79_scan"); - map_names.push_back("lab_b_scan"); - map_names.push_back("lab_intel"); - map_names.push_back("Freiburg101_scan"); - map_names.push_back("lab_d_scan"); - map_names.push_back("lab_f_scan"); - map_names.push_back("lab_a_scan"); - map_names.push_back("NLB"); - map_names.push_back("office_a"); - map_names.push_back("office_b"); - map_names.push_back("office_c"); - map_names.push_back("office_d"); - map_names.push_back("office_e"); - map_names.push_back("office_f"); - map_names.push_back("office_g"); - map_names.push_back("office_h"); - map_names.push_back("office_i"); - map_names.push_back("lab_ipa_furnitures"); - map_names.push_back("lab_c_scan_furnitures"); - map_names.push_back("Freiburg52_scan_furnitures"); - map_names.push_back("Freiburg79_scan_furnitures"); - map_names.push_back("lab_b_scan_furnitures"); - map_names.push_back("lab_intel_furnitures"); - map_names.push_back("Freiburg101_scan_furnitures"); - map_names.push_back("lab_d_scan_furnitures"); - map_names.push_back("lab_f_scan_furnitures"); - map_names.push_back("lab_a_scan_furnitures"); - map_names.push_back("NLB_furnitures"); - map_names.push_back("office_a_furnitures"); - map_names.push_back("office_b_furnitures"); - map_names.push_back("office_c_furnitures"); - map_names.push_back("office_d_furnitures"); - map_names.push_back("office_e_furnitures"); - map_names.push_back("office_f_furnitures"); - map_names.push_back("office_g_furnitures"); - map_names.push_back("office_h_furnitures"); - map_names.push_back("office_i_furnitures"); - - const std::string segmented_map_path = "room_segmentation/"; //ros::package::getPath("ipa_room_segmentation") + "/common/files/segmented_maps/"; - const std::string command = "mkdir -p " + segmented_map_path; - int return_value = system(command.c_str()); - - // matrices to store results - // evaluation criteria are stored row-wise, i.e. each row stores a criterion - // - algorithm runtime in seconds [row 0] - // - number segments [row 1] - // - segment area (mean, min/max, std) [rows 2-5] - // - segment perimeter (mean, min/max, std) [rows 6-9] - // - area/perimeter compactness (mean, min/max, std) [rows 10-13] - // - area/bounding box compactness (mean, min/max, std) [rows 14-17] - // - spherical/ellipsoid measure (mean, min/max, std) [rows 18-21] - // - fit with giving ground truth (average of recalls, average recall, average of precisions, average precision) [rows 22-25] - std::vector results(segmentation_names.size()); - for (size_t i=0; i segments_number_vector(segmentation_names.size()); - std::vector av_area_vector(segmentation_names.size()), max_area_vector(segmentation_names.size()), min_area_vector(segmentation_names.size()), dev_area_vector(segmentation_names.size()); - std::vector av_per_vector(segmentation_names.size()), max_per_vector(segmentation_names.size()), min_per_vector(segmentation_names.size()), dev_per_vector(segmentation_names.size()); - std::vector av_compactness_vector(segmentation_names.size()), max_compactness_vector(segmentation_names.size()), min_compactness_vector(segmentation_names.size()), dev_compactness_vector(segmentation_names.size()); - std::vector av_bb_vector(segmentation_names.size()), max_bb_vector(segmentation_names.size()), min_bb_vector(segmentation_names.size()), dev_bb_vector(segmentation_names.size()); - std::vector av_quo_vector(segmentation_names.size()), max_quo_vector(segmentation_names.size()), min_quo_vector(segmentation_names.size()), dev_quo_vector(segmentation_names.size()); - std::vector reachable(segmentation_names.size()); - - //load map - std::string map_name = map_names[image_index]; - std::string image_filename = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name + ".png"; - std::cout << "map: " << image_filename << std::endl; - cv::Mat map = cv::imread(image_filename.c_str(), 0); - //make non-white pixels black - for (int y = 0; y < map.rows; y++) - { - for (int x = 0; x < map.cols; x++) - { - //find not reachable regions and make them black - if (map.at(y, x) >= 250) - map.at(y, x) = 255; - else - map.at(y, x) = 0; - } - } - - //calculate parameters for each segmentation and save it - for (size_t segmentation_index = 0; segmentation_index < segmentation_names.size();++segmentation_index) - { - std::cout << "Evaluating image '" << map_name << "' with segmentation method " << segmentation_names[segmentation_index] << std::endl; - - // do the segmentation - // =================== - sensor_msgs::Image labeling; - cv_bridge::CvImage cv_image; - // cv_image.header.stamp = ros::Time::now(); - cv_image.encoding = "mono8"; - cv_image.image = map; - cv_image.toImageMsg(labeling); - // create the action client --> "name of server" - // true causes the client to spin its own thread - actionlib::SimpleActionClient ac("room_segmentation_server", true); - - ROS_INFO("Waiting for action server to start."); - // wait for the action server to start - ac.waitForServer(); //will wait for infinite time - ROS_INFO("Action server started, sending goal."); - - // send dynamic reconfigure config - DynamicReconfigureClient drc(n, "room_segmentation_server/set_parameters", "room_segmentation_server/parameter_updates"); - const int room_segmentation_algorithm = segmentationNameToNumber(segmentation_names[segmentation_index]); - drc.setConfig("room_segmentation_algorithm", room_segmentation_algorithm); - if(room_segmentation_algorithm == 1) //morpho - { - drc.setConfig("room_area_factor_lower_limit_morphological", 0.8); - drc.setConfig("room_area_factor_upper_limit_morphological", 47.0); - ROS_INFO("You have chosen the morphological segmentation."); - } - if(room_segmentation_algorithm == 2) //distance - { - drc.setConfig("room_area_factor_lower_limit_distance", 0.35); - drc.setConfig("room_area_factor_upper_limit_distance", 163.0); - ROS_INFO("You have chosen the distance segmentation."); - } - if(room_segmentation_algorithm == 3) //voronoi - { - drc.setConfig("room_area_factor_lower_limit_voronoi", 0.1); //1.53; - drc.setConfig("room_area_factor_upper_limit_voronoi", 1000000.); //120.0; - drc.setConfig("voronoi_neighborhood_index", 280); - drc.setConfig("max_iterations", 150); - drc.setConfig("min_critical_point_distance_factor", 0.5); //1.6; - drc.setConfig("max_area_for_merging", 12.5); - ROS_INFO("You have chosen the Voronoi segmentation"); - } - if(room_segmentation_algorithm == 4) //semantic - { - drc.setConfig("room_area_factor_lower_limit_semantic", 1.0); - drc.setConfig("room_area_factor_upper_limit_semantic", 1000000.);//23.0; - ROS_INFO("You have chosen the semantic segmentation."); - } - if(room_segmentation_algorithm == 5) //voronoi random field - { - drc.setConfig("room_area_lower_limit_voronoi_random", 1.53); //1.53 - drc.setConfig("room_area_upper_limit_voronoi_random", 1000000.); //1000000.0 - drc.setConfig("max_iterations", 150); - drc.setConfig("voronoi_random_field_epsilon_for_neighborhood", 7); - drc.setConfig("min_neighborhood_size", 5); - drc.setConfig("min_voronoi_random_field_node_distance", 7.0); // [pixel] - drc.setConfig("max_voronoi_random_field_inference_iterations", 9000); - drc.setConfig("max_area_for_merging", 12.5); - ROS_INFO("You have chosen the Voronoi random field segmentation."); - } - - // send a goal to the action - ipa_building_msgs::MapSegmentationGoal goal; - goal.input_map = labeling; - goal.map_origin.position.x = 0; - goal.map_origin.position.y = 0; - goal.map_resolution = map_resolution; - goal.return_format_in_meter = false; - goal.return_format_in_pixel = true; - //goal.room_segmentation_algorithm = segmentationNameToNumber(segmentation_names[segmentation_index]); - goal.robot_radius = 0.3; - Timer tim; - ac.sendGoal(goal); - - //wait for the action to return - bool finished_before_timeout = ac.waitForResult(); - if (!finished_before_timeout) - continue; - - double runtime = tim.getElapsedTimeInSec(); - ROS_INFO("Finished successfully!"); - - // retrieve segmentation - ipa_building_msgs::MapSegmentationResultConstPtr result = ac.getResult(); - std::cout << "number of found doorways: " << result->doorway_points.size() << std::endl; - cv_bridge::CvImagePtr cv_ptr_seq = cv_bridge::toCvCopy(result->segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); - cv::Mat segmented_map = cv_ptr_seq->image; - - // generate colored segmented_map - cv::Mat color_segmented_map; - segmented_map.convertTo(color_segmented_map, CV_8U); - cv::cvtColor(color_segmented_map, color_segmented_map, CV_GRAY2BGR); - for(size_t i = 1; i <= result->room_information_in_pixel.size(); ++i) - { - //choose random color for each room - const cv::Vec3b color((rand() % 250) + 1, (rand() % 250) + 1, (rand() % 250) + 1); - for(size_t v = 0; v < segmented_map.rows; ++v) - for(size_t u = 0; u < segmented_map.cols; ++u) - if(segmented_map.at(v,u) == i) - color_segmented_map.at(v,u) = color; - } - std::string image_filename = segmented_map_path + map_name + "_segmented_" + segmentation_names[segmentation_index] + ".png"; - cv::imwrite(image_filename, color_segmented_map); - - - // evaluation: numeric properties - // ============================== - std::vector areas; - std::vector perimeters; - std::vector area_perimeter_compactness; - std::vector bb_area_compactness; - std::vector pca_eigenvalue_ratio; - calculate_basic_measures(segmented_map, map_resolution, (int)result->room_information_in_pixel.size(), areas, perimeters, area_perimeter_compactness, bb_area_compactness, pca_eigenvalue_ratio); - - // runtime - results[segmentation_index].at(0, image_index) = runtime; - - // number of segments - results[segmentation_index].at(1, image_index) = segments_number_vector[segmentation_index] = areas.size(); - - // area - //std::vector areas = calculate_areas_from_segmented_map(segmented_map, (int)result->room_information_in_pixel.size()); - double average = 0.0; - double max_area = 0.0; - double min_area = 100000000; - calculate_mean_min_max(areas, average, min_area, max_area); - results[segmentation_index].at(2, image_index) = av_area_vector[segmentation_index] = average; - results[segmentation_index].at(3, image_index) = max_area_vector[segmentation_index] = max_area; - results[segmentation_index].at(4, image_index) = min_area_vector[segmentation_index] = min_area; - results[segmentation_index].at(5, image_index) = dev_area_vector[segmentation_index] = calculate_stddev(areas, average); - - // perimeters - //std::vector perimeters = calculate_perimeters(saved_contours); - average = 0.0; - double max_per = 0.0; - double min_per = 100000000; - calculate_mean_min_max(perimeters, average, min_per, max_per); - results[segmentation_index].at(6, image_index) = av_per_vector[segmentation_index] = average; - results[segmentation_index].at(7, image_index) = max_per_vector[segmentation_index] = max_per; - results[segmentation_index].at(8, image_index) = min_per_vector[segmentation_index] = min_per; - results[segmentation_index].at(9, image_index) = dev_per_vector[segmentation_index] = calculate_stddev(perimeters, average); - - // area compactness - //std::vector area_perimeter_compactness = calculate_compactness(saved_contours); - average = 0.0; - double max_compactness = 0; - double min_compactness = 100000000; - calculate_mean_min_max(area_perimeter_compactness, average, min_compactness, max_compactness); - results[segmentation_index].at(10, image_index) = av_compactness_vector[segmentation_index] = average; - results[segmentation_index].at(11, image_index) = max_compactness_vector[segmentation_index] = max_compactness; - results[segmentation_index].at(12, image_index) = min_compactness_vector[segmentation_index] = min_compactness; - results[segmentation_index].at(13, image_index) = dev_compactness_vector[segmentation_index] = calculate_stddev(area_perimeter_compactness, average); - - // bounding box - //std::vector bb_area_compactness = calculate_bounding_error(saved_contours); - average = 0.0; - double max_error = 0; - double min_error = 10000000; - calculate_mean_min_max(bb_area_compactness, average, min_error, max_error); - results[segmentation_index].at(14, image_index) = av_bb_vector[segmentation_index] = average; - results[segmentation_index].at(15, image_index) = max_bb_vector[segmentation_index] = max_error; - results[segmentation_index].at(16, image_index) = min_bb_vector[segmentation_index] = min_error; - results[segmentation_index].at(17, image_index) = dev_bb_vector[segmentation_index] = calculate_stddev(bb_area_compactness, average); - - // quotient - //std::vector pca_eigenvalue_ratio = calc_Ellipse_axis(saved_contours); - average = 0.0; - double max_quo = 0.0; - double min_quo = 100000000; - calculate_mean_min_max(pca_eigenvalue_ratio, average, min_quo, max_quo); - results[segmentation_index].at(18, image_index) = av_quo_vector[segmentation_index] = average; - results[segmentation_index].at(19, image_index) = max_quo_vector[segmentation_index] = max_quo; - results[segmentation_index].at(20, image_index) = min_quo_vector[segmentation_index] = min_quo; - results[segmentation_index].at(21, image_index) = dev_quo_vector[segmentation_index] = calculate_stddev(pca_eigenvalue_ratio, average); - -// // retrieve room contours -// cv::Mat temporary_map = segmented_map.clone(); -// std::vector > contours, saved_contours; -// std::vector hierarchy; -// for(size_t i = 1; i <= result->room_information_in_pixel.size(); ++i) -// { -// cv::Mat single_room_map = cv::Mat::zeros(segmented_map.rows, segmented_map.cols, CV_8UC1); -// for(size_t v = 0; v < segmented_map.rows; ++v) -// for(size_t u = 0; u < segmented_map.cols; ++u) -// if(segmented_map.at(v,u) == i) -// single_room_map.at(v,u) = 255; -// cv::findContours(single_room_map, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); -// cv::drawContours(temporary_map, contours, -1, cv::Scalar(0), CV_FILLED); -// for (int c = 0; c < contours.size(); c++) -// { -// if (map_resolution * map_resolution * cv::contourArea(contours[c]) > 1.0) -// { -// saved_contours.push_back(contours[c]); -// } -// } -// } -// // reachability -// if (check_reachability(saved_contours, segmented_map)) -// { -// reachable[segmentation_index] = true; -// } -// else -// { -// reachable[segmentation_index] = false; -// } - - std::cout << "Basic measures computed." << std::endl; - - // evaluation: against ground truth segmentation - // ============================================= - // load ground truth segmentation (just borders painted in between of rooms/areas, not colored yet --> coloring will be done here) - std::string map_name_basic = map_name; - std::size_t pos = map_name.find("_furnitures"); - if (pos != std::string::npos) - map_name_basic = map_name.substr(0, pos); - std::string gt_image_filename = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name_basic + "_gt_segmentation.png"; - std::cout << "Loading ground truth segmentation from: " << gt_image_filename << std::endl; - cv::Mat gt_map = cv::imread(gt_image_filename.c_str(),CV_8U); - - // compute recall and precision, store colored gt segmentation - double precision_micro, precision_macro, recall_micro, recall_macro; - cv::Mat gt_map_color; - EvaluationSegmentation es; - es.computePrecisionRecall(gt_map, gt_map_color, segmented_map, precision_micro, precision_macro, recall_micro, recall_macro, true); - std::string gt_image_filename_color = segmented_map_path + map_name + "_gt_color_segmentation.png"; //ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name + "_gt_color_segmentation.png"; - cv::imwrite(gt_image_filename_color.c_str(), gt_map_color); - - results[segmentation_index].at(22, image_index) = recall_micro; - results[segmentation_index].at(23, image_index) = recall_macro; - results[segmentation_index].at(24, image_index) = precision_micro; - results[segmentation_index].at(25, image_index) = precision_macro; - } - - //write parameters into file - std::stringstream output; - output << "--------------Segmentierungsevaluierung----------------" << std::endl; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << segmentation_names[i] << " & "; - output << std::endl; - output << "Kompaktheitsmaße: " << std::endl; - output << "Durschnitt: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << av_compactness_vector[i] << " & "; - output << std::endl; - output << "Maximum: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << max_compactness_vector[i] << " & "; - output << std::endl; - output << "Minimum: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << min_compactness_vector[i] << " & "; - output << std::endl; - output << "****************************" << std::endl; - - output << "Überflüssige Fläche Bounding Box: " << std::endl; - output << "Durchschnitt Bounding Fehler: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << av_bb_vector[i] << " & "; - output << std::endl; - output << "Maximum: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << max_bb_vector[i] << " & "; - output << std::endl; - output << "Minimum: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << min_bb_vector[i] << " & "; - output << std::endl; - output << "Standardabweichung: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << dev_bb_vector[i] << " & "; - output << std::endl; - output << "**************************************" << std::endl; - - output << "Flächenmaße: " << std::endl; - output << "Durchschnitt: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << av_area_vector[i] << " & "; - output << std::endl; - output << "Maximum: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << max_area_vector[i] << " & "; - output << std::endl; - output << "Minimum: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << min_area_vector[i] << " & "; - output << std::endl; - output << "Standardabweichung: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << dev_area_vector[i] << " & "; - output << std::endl; - output << "**************************************" << std::endl; - - output << "Umfangsmaße: " << std::endl; - output << "Durchschnitt: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << av_per_vector[i] << " & "; - output << std::endl; - output << "Maximum: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << max_per_vector[i] << " & "; - output << std::endl; - output << "Minimum: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << min_per_vector[i] << " & "; - output << std::endl; - output << "Standardabweichung: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << dev_per_vector[i] << " & "; - output << std::endl; - output << "**************************************" << std::endl; - -// output << "Erreichbarkeit für alle Raumzentren: " << std::endl; -// for(size_t i = 0; i < segmentation_names.size(); ++i) -// { -// if(reachable[i] == true) -// output << "Alle Raumzentren erreichbar" << std::endl; -// else -// output << "Nicht alle erreichbar" << std::endl; -// } -// output << "****************************" << std::endl; - - output << "Quotienten der Ellipsenachsen: " << std::endl; - output << "Durchschnitt: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << av_quo_vector[i] << " & "; - output << std::endl; - output << "Maximum: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << max_quo_vector[i] << " & "; - output << std::endl; - output << "Minimum: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << min_quo_vector[i] << " & "; - output << std::endl; - output << "Standardabweichung: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << dev_quo_vector[i] << " & "; - output << std::endl; - output << "**************************************" << std::endl; - - output << "Anzahl Räume: "; - for(size_t i = 0; i < segmentation_names.size(); ++i) - output << segments_number_vector[i] << " & "; - output << std::endl; - output << "**************************************" << std::endl; - - output << "Recall/Precision: " << std::endl; - output << "recall_micro: "; - for(size_t i = 0; i < results.size(); ++i) - output << results[i].at(22, image_index) << " & "; - output << std::endl; - output << "recall_macro: "; - for(size_t i = 0; i < results.size(); ++i) - output << results[i].at(23, image_index) << " & "; - output << std::endl; - output << "precision_micro: "; - for(size_t i = 0; i < results.size(); ++i) - output << results[i].at(24, image_index) << " & "; - output << std::endl; - output << "precision_macro: "; - for(size_t i = 0; i < results.size(); ++i) - output << results[i].at(25, image_index) << " & "; - output << std::endl; - - std::string log_filename = segmented_map_path + map_name + "_evaluation.txt"; - std::ofstream file(log_filename.c_str(), std::ios::out); - if (file.is_open() == true) - file << output.str(); - file.close(); - - // write results summary to file (overwrite in each cycle in order to avoid loosing all data on crash) - for (size_t segmentation_index=0; segmentation_index(r,c) << "\t"; - file << std::endl; - } - } - file.close(); - } - } - - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_client.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_client.cpp deleted file mode 100644 index 1a1450a..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_client.cpp +++ /dev/null @@ -1,235 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_segmentation - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 08.2015 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#include -#include - -#include -#include - -#include -#include - -#include - -#include -#include -#include - -//#include -#include - - -int main(int argc, char **argv) -{ - ros::init(argc, argv, "room_segmentation_client"); - ros::NodeHandle nh; - - // map names - std::vector< std::string > map_names; - map_names.push_back("lab_ipa"); - map_names.push_back("lab_c_scan"); - map_names.push_back("Freiburg52_scan"); - map_names.push_back("Freiburg79_scan"); - map_names.push_back("lab_b_scan"); - map_names.push_back("lab_intel"); - map_names.push_back("Freiburg101_scan"); - map_names.push_back("lab_d_scan"); - map_names.push_back("lab_f_scan"); - map_names.push_back("lab_a_scan"); - map_names.push_back("NLB"); - map_names.push_back("office_a"); - map_names.push_back("office_b"); - map_names.push_back("office_c"); - map_names.push_back("office_d"); - map_names.push_back("office_e"); - map_names.push_back("office_f"); - map_names.push_back("office_g"); - map_names.push_back("office_h"); - map_names.push_back("office_i"); - map_names.push_back("lab_ipa_furnitures"); - map_names.push_back("lab_c_scan_furnitures"); - map_names.push_back("Freiburg52_scan_furnitures"); - map_names.push_back("Freiburg79_scan_furnitures"); - map_names.push_back("lab_b_scan_furnitures"); - map_names.push_back("lab_intel_furnitures"); - map_names.push_back("Freiburg101_scan_furnitures"); - map_names.push_back("lab_d_scan_furnitures"); - map_names.push_back("lab_f_scan_furnitures"); - map_names.push_back("lab_a_scan_furnitures"); - map_names.push_back("NLB_furnitures"); - map_names.push_back("office_a_furnitures"); - map_names.push_back("office_b_furnitures"); - map_names.push_back("office_c_furnitures"); - map_names.push_back("office_d_furnitures"); - map_names.push_back("office_e_furnitures"); - map_names.push_back("office_f_furnitures"); - map_names.push_back("office_g_furnitures"); - map_names.push_back("office_h_furnitures"); - map_names.push_back("office_i_furnitures"); - - for (size_t image_index = 0; image_index(y, x) < 250) - { - map.at(y, x) = 0; - } - //else make it white - else - { - map.at(y, x) = 255; - } - } - } -// cv::imshow("map", map); -// cv::waitKey(); - sensor_msgs::Image labeling; - cv_bridge::CvImage cv_image; - // cv_image.header.stamp = ros::Time::now(); - cv_image.encoding = "mono8"; - cv_image.image = map; - cv_image.toImageMsg(labeling); - - // create the action client --> "name of server" - // true causes the client to spin its own thread - actionlib::SimpleActionClient ac("room_segmentation_server", true); - ROS_INFO("Waiting for action server to start."); - // wait for the action server to start - ac.waitForServer(); //will wait for infinite time - ROS_INFO("Action server started, sending goal."); - - // test dynamic reconfigure - DynamicReconfigureClient drc(nh, "room_segmentation_server/set_parameters", "room_segmentation_server/parameter_updates"); - drc.setConfig("room_segmentation_algorithm", 5); -// drc.setConfig("display_segmented_map", true); - //drc.setConfig("room_area_factor_upper_limit_voronoi", 120.0); - - // send a goal to the action - ipa_building_msgs::MapSegmentationGoal goal; - goal.input_map = labeling; - goal.map_origin.position.x = 0; - goal.map_origin.position.y = 0; - goal.map_resolution = 0.05; - goal.return_format_in_meter = false; - goal.return_format_in_pixel = true; - goal.robot_radius = 0.4; - ac.sendGoal(goal); - - //wait for the action to return - bool finished_before_timeout = ac.waitForResult(ros::Duration()); - - if (finished_before_timeout) - { - ROS_INFO("Finished successfully!"); - ipa_building_msgs::MapSegmentationResultConstPtr result_seg = ac.getResult(); - - // display - cv_bridge::CvImagePtr cv_ptr_obj; - cv_ptr_obj = cv_bridge::toCvCopy(result_seg->segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); - cv::Mat segmented_map = cv_ptr_obj->image; - cv::Mat colour_segmented_map = segmented_map.clone(); - colour_segmented_map.convertTo(colour_segmented_map, CV_8U); - cv::cvtColor(colour_segmented_map, colour_segmented_map, CV_GRAY2BGR); - for(size_t i = 1; i <= result_seg->room_information_in_pixel.size(); ++i) - { - //choose random color for each room - int blue = (rand() % 250) + 1; - int green = (rand() % 250) + 1; - int red = (rand() % 250) + 1; - for(size_t u = 0; u < segmented_map.rows; ++u) - { - for(size_t v = 0; v < segmented_map.cols; ++v) - { - if(segmented_map.at(u,v) == i) - { - colour_segmented_map.at(u,v)[0] = blue; - colour_segmented_map.at(u,v)[1] = green; - colour_segmented_map.at(u,v)[2] = red; - } - } - } - } - //draw the room centers into the map - for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) - { - cv::Point current_center (result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); -#if CV_MAJOR_VERSION<=3 - cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), CV_FILLED); -#else - cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), cv::FILLED); -#endif - } - - cv::imshow("segmentation", colour_segmented_map); - cv::waitKey(); - } - } - - //exit - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_server.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_server.cpp deleted file mode 100644 index 8dbe04d..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_server.cpp +++ /dev/null @@ -1,895 +0,0 @@ -/*! - ***************************************************************** - * \file - * - * \note - * Copyright (c) 2015 \n - * Fraunhofer Institute for Manufacturing Engineering - * and Automation (IPA) \n\n - * - ***************************************************************** - * - * \note - * Project name: Care-O-bot - * \note - * ROS stack name: autopnp - * \note - * ROS package name: ipa_room_segmentation - * - * \author - * Author: Florian Jordan - * \author - * Supervised by: Richard Bormann - * - * \date Date of creation: 08.2015 - * - * \brief - * - * - ***************************************************************** - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * - Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. \n - * - Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. \n - * - Neither the name of the Fraunhofer Institute for Manufacturing - * Engineering and Automation (IPA) nor the names of its - * contributors may be used to endorse or promote products derived from - * this software without specific prior written permission. \n - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License LGPL as - * published by the Free Software Foundation, either version 3 of the - * License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License LGPL for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License LGPL along with this program. - * If not, see . - * - ****************************************************************/ - -#include - -#include -#include -#include - -#include - -static bool DEBUG_DISPLAYS=false; - -RoomSegmentationServer::RoomSegmentationServer(ros::NodeHandle nh, std::string name_of_the_action) : - node_handle_(nh), - room_segmentation_server_(node_handle_, name_of_the_action, boost::bind(&RoomSegmentationServer::execute_segmentation_server, this, _1), false) -{ - // parameters to check if the algorithms need to be trained (not part of dynamic reconfigure) - node_handle_.param("train_semantic", train_semantic_, false); - std::cout << "room_segmentation/train_semantic_ = " << train_semantic_ << std::endl; - node_handle_.param("load_semantic_features", load_semantic_features_, false); - std::cout << "room_segmentation/load_semantic_features = " << load_semantic_features_ << std::endl; - node_handle_.param("train_vrf", train_vrf_, false); - std::cout << "room_segmentation/train_vrf_ = " << train_vrf_ << std::endl; - - // dynamic reconfigure - room_segmentation_dynamic_reconfigure_server_.setCallback(boost::bind(&RoomSegmentationServer::dynamic_reconfigure_callback, this, _1, _2)); - - // parameters - std::cout << "\n------------------------------------\nRoom Segmentation Parameters:\n------------------------------------\n"; - node_handle_.param("room_segmentation_algorithm", room_segmentation_algorithm_, 3); - std::cout << "room_segmentation/room_segmentation_algorithm = " << room_segmentation_algorithm_ << std::endl << std::endl; - if (room_segmentation_algorithm_ == 1) - ROS_INFO("You have chosen the morphological segmentation method."); - else if (room_segmentation_algorithm_ == 2) - ROS_INFO("You have chosen the distance segmentation method."); - else if (room_segmentation_algorithm_ == 3) - ROS_INFO("You have chosen the voronoi segmentation method."); - else if (room_segmentation_algorithm_ == 4) - ROS_INFO("You have chosen the semantic segmentation method."); - else if (room_segmentation_algorithm_ == 5) - ROS_INFO("You have chosen the voronoi random field segmentation method."); - std::cout << std::endl; - - //if (room_segmentation_algorithm_ == 1) //set morphological parameters - { - node_handle_.param("room_area_factor_upper_limit_morphological", room_upper_limit_morphological_, 47.0); - std::cout << "room_segmentation/room_area_factor_upper_limit = " << room_upper_limit_morphological_ << std::endl; - node_handle_.param("room_area_factor_lower_limit_morphological", room_lower_limit_morphological_, 0.8); - std::cout << "room_segmentation/room_area_factor_lower_limit = " << room_lower_limit_morphological_ << std::endl; - } - //if (room_segmentation_algorithm_ == 2) //set distance parameters - { - node_handle_.param("room_area_factor_upper_limit_distance", room_upper_limit_distance_, 163.0); - std::cout << "room_segmentation/room_area_factor_upper_limit = " << room_upper_limit_distance_ << std::endl; - node_handle_.param("room_area_factor_lower_limit_distance", room_lower_limit_distance_, 0.35); - std::cout << "room_segmentation/room_area_factor_lower_limit = " << room_lower_limit_distance_ << std::endl; - } - //if (room_segmentation_algorithm_ == 3) //set voronoi parameters - { - node_handle_.param("room_area_factor_upper_limit_voronoi", room_upper_limit_voronoi_, 120.0); - std::cout << "room_segmentation/room_area_factor_upper_limit = " << room_upper_limit_voronoi_ << std::endl; - node_handle_.param("room_area_factor_lower_limit_voronoi", room_lower_limit_voronoi_, 1.53); - std::cout << "room_segmentation/room_area_factor_lower_limit = " << room_lower_limit_voronoi_ << std::endl; - node_handle_.param("voronoi_neighborhood_index", voronoi_neighborhood_index_, 280); - std::cout << "room_segmentation/voronoi_neighborhood_index = " << voronoi_neighborhood_index_ << std::endl; - node_handle_.param("max_iterations", max_iterations_, 150); - std::cout << "room_segmentation/max_iterations = " << max_iterations_ << std::endl; - node_handle_.param("min_critical_point_distance_factor", min_critical_point_distance_factor_, 1.6); - std::cout << "room_segmentation/min_critical_point_distance_factor = " << min_critical_point_distance_factor_ << std::endl; - node_handle_.param("max_area_for_merging", max_area_for_merging_, 12.5); - std::cout << "room_segmentation/max_area_for_merging = " << max_area_for_merging_ << std::endl; - } - //if (room_segmentation_algorithm_ == 4 || train_semantic_ == true) //set semantic parameters - { - node_handle_.param("room_area_factor_upper_limit_semantic", room_upper_limit_semantic_, 23.0); - std::cout << "room_segmentation/room_area_factor_upper_limit = " << room_upper_limit_semantic_ << std::endl; - node_handle_.param("room_area_factor_lower_limit_semantic", room_lower_limit_semantic_, 1.0); - std::cout << "room_segmentation/room_area_factor_lower_limit = " << room_lower_limit_semantic_ << std::endl; - - // train the algorithm if wanted - if(train_semantic_ == true) - { - AdaboostClassifier semantic_segmentation; - const std::string package_path = ros::package::getPath("ipa_room_segmentation"); - const std::string classifier_default_path = package_path + "/common/files/classifier_models/"; - const std::string classifier_path = "room_segmentation/classifier_models/"; - - // load files to train the algorithm - node_handle_.getParam("semantic_training_maps_room_file_list", semantic_training_maps_room_file_list_); - std::cout << "room_segmentation/semantic_training_maps_room_file_list = \n"; - for (size_t i=0; i room_training_maps; - for (size_t i=0; i hallway_training_maps; - for (size_t i=0; i possible_labels(3); - possible_labels[0] = 77; - possible_labels[1] = 115; - possible_labels[2] = 179; - - // read given paths to training files - node_handle_.getParam("vrf_original_maps_file_list", vrf_original_maps_file_list_); - std::cout << "room_segmentation/vrf_original_maps_file_list = \n"; - for (size_t i=0; i training_maps; - for (size_t i=0; i voronoi_maps; - for (size_t i=0; i voronoi_node_maps; - for (size_t i=0; i original_maps; - for (size_t i=0; iroom_segmentation_algorithm > 0) - room_segmentation_algorithm_ = goal->room_segmentation_algorithm; - - ros::Rate looping_rate(1); - ROS_INFO("*****Segmentation action server*****"); - ROS_INFO("map resolution is : %f", goal->map_resolution); - ROS_INFO("segmentation algorithm: %d", room_segmentation_algorithm_); - - //converting the map msg in cv format - cv_bridge::CvImagePtr cv_ptr_obj; - cv_ptr_obj = cv_bridge::toCvCopy(goal->input_map, sensor_msgs::image_encodings::MONO8); - cv::Mat original_img = cv_ptr_obj->image; - - //set the resolution and the limits for the actual goal and the Map origin - const float map_resolution = goal->map_resolution; - const cv::Point2d map_origin(goal->map_origin.position.x, goal->map_origin.position.y); - - // these preset values are deactivated because they would override the dynamic reconfigure configuration -// const int room_segmentation_algorithm_value = room_segmentation_algorithm_; -// if (goal->room_segmentation_algorithm > 0 && goal->room_segmentation_algorithm < 6) -// { -// room_segmentation_algorithm_ = goal->room_segmentation_algorithm; -// if(room_segmentation_algorithm_ == 1) //morpho -// { -// room_lower_limit_morphological_ = 0.8; -// room_upper_limit_morphological_ = 47.0; -// ROS_INFO("You have chosen the morphologcial segmentation."); -// } -// if(room_segmentation_algorithm_ == 2) //distance -// { -// room_lower_limit_distance_ = 0.35; -// room_upper_limit_distance_ = 163.0; -// ROS_INFO("You have chosen the distance segmentation."); -// } -// if(room_segmentation_algorithm_ == 3) //voronoi -// { -// room_lower_limit_voronoi_ = 0.1; //1.53; -// room_upper_limit_voronoi_ = 1000000.; //120.0; -// voronoi_neighborhood_index_ = 280; -// max_iterations_ = 150; -// min_critical_point_distance_factor_ = 0.5; //1.6; -// max_area_for_merging_ = 12.5; -// ROS_INFO("You have chosen the Voronoi segmentation"); -// } -// if(room_segmentation_algorithm_ == 4) //semantic -// { -// room_lower_limit_semantic_ = 1.0; -// room_upper_limit_semantic_ = 1000000.;//23.0; -// ROS_INFO("You have chosen the semantic segmentation."); -// } -// if(room_segmentation_algorithm_ == 5) //voronoi random field -// { -// room_lower_limit_voronoi_random_ = 1.53; //1.53 -// room_upper_limit_voronoi_random_ = 1000000.; //1000000.0 -// voronoi_random_field_epsilon_for_neighborhood_ = 7; -// min_neighborhood_size_ = 5; -// min_voronoi_random_field_node_distance_ = 7; // [pixel] -// max_voronoi_random_field_inference_iterations_ = 9000; -// max_area_for_merging_ = 12.5; -// ROS_INFO("You have chosen the voronoi random field segmentation."); -// } -// } - - - //segment the given map - cv::Mat segmented_map; - if (room_segmentation_algorithm_ == 1) - { - MorphologicalSegmentation morphological_segmentation; //morphological segmentation method - morphological_segmentation.segmentMap(original_img, segmented_map, map_resolution, room_lower_limit_morphological_, room_upper_limit_morphological_); - } - else if (room_segmentation_algorithm_ == 2) - { - DistanceSegmentation distance_segmentation; //distance segmentation method - distance_segmentation.segmentMap(original_img, segmented_map, map_resolution, room_lower_limit_distance_, room_upper_limit_distance_); - } - else if (room_segmentation_algorithm_ == 3) - { - VoronoiSegmentation voronoi_segmentation; //voronoi segmentation method - voronoi_segmentation.segmentMap(original_img, segmented_map, map_resolution, room_lower_limit_voronoi_, room_upper_limit_voronoi_, - voronoi_neighborhood_index_, max_iterations_, min_critical_point_distance_factor_, max_area_for_merging_, (display_segmented_map_&&DEBUG_DISPLAYS)); - } - else if (room_segmentation_algorithm_ == 4) - { - AdaboostClassifier semantic_segmentation; //semantic segmentation method - const std::string package_path = ros::package::getPath("ipa_room_segmentation"); - const std::string classifier_default_path = package_path + "/common/files/classifier_models/"; - const std::string classifier_path = "room_segmentation/classifier_models/"; - semantic_segmentation.segmentMap(original_img, segmented_map, map_resolution, room_lower_limit_semantic_, room_upper_limit_semantic_, - classifier_path, classifier_default_path, (display_segmented_map_&&DEBUG_DISPLAYS)); - } - else if (room_segmentation_algorithm_ == 5) - { - VoronoiRandomFieldSegmentation vrf_segmentation; //voronoi random field segmentation method - const std::string package_path = ros::package::getPath("ipa_room_segmentation"); - std::string classifier_default_path = package_path + "/common/files/classifier_models/"; - std::string classifier_storage_path = "room_segmentation/classifier_models/"; - // vector that stores the possible labels that are drawn in the training maps. Order: room - hallway - doorway - std::vector possible_labels(3); - possible_labels[0] = 77; - possible_labels[1] = 115; - possible_labels[2] = 179; - doorway_points_.clear(); - vrf_segmentation.segmentMap(original_img, segmented_map, voronoi_random_field_epsilon_for_neighborhood_, max_iterations_, - min_neighborhood_size_, possible_labels, min_voronoi_random_field_node_distance_, - (display_segmented_map_&&DEBUG_DISPLAYS), classifier_storage_path, classifier_default_path, max_voronoi_random_field_inference_iterations_, - map_resolution, room_lower_limit_voronoi_random_, room_upper_limit_voronoi_random_, max_area_for_merging_, &doorway_points_); - } - else if (room_segmentation_algorithm_ == 99) - { - // pass through segmentation: takes a map which is already separated into unconnected areas and returns these as the resulting segmentation in the format of this program - // todo: closing operation explicitly for bad maps --> needs parameterization - //original_img.convertTo(segmented_map, CV_32SC1, 256, 0); // occupied space = 0, free space = 65280 - cv::Mat original_img_eroded, temp; - cv::erode(original_img, temp, cv::Mat(), cv::Point(-1, -1), 3); - cv::dilate(temp, original_img_eroded, cv::Mat(), cv::Point(-1, -1), 3); - original_img_eroded.convertTo(segmented_map, CV_32SC1, 256, 0); // occupied space = 0, free space = 65280 - int label_index = 1; - -// cv::imshow("original_img", original_img_eroded); -// cv::waitKey(); - - for (int y = 0; y < segmented_map.rows; y++) - { - for (int x = 0; x < segmented_map.cols; x++) - { - // if original map is occupied space here or if the segmented map has already received a label for that cell --> skip - if (original_img_eroded.at(y,x) != 255 || segmented_map.at(y,x)!=65280) - continue; - - // fill each room area with a unique id - cv::Rect rect; - cv::floodFill(segmented_map, cv::Point(x,y), label_index, &rect, 0, 0, 4); - - // determine filled area - double area = 0; - for (int v = rect.y; v < segmented_map.rows; v++) - for (int u = rect.x; u < segmented_map.cols; u++) - if (segmented_map.at(v,u)==label_index) - area += 1.; - area = map_resolution * map_resolution * area; // convert from cells to m^2 - - // exclude too small and too big rooms - if (area < room_lower_limit_passthrough_ || area > room_upper_limit_passthrough_) - { - for (int v = rect.y; v < segmented_map.rows; v++) - for (int u = rect.x; u < segmented_map.cols; u++) - if (segmented_map.at(v,u)==label_index) - segmented_map.at(v,u) = 0; - } - else - label_index++; - } - } - std::cout << "Labeled " << label_index-1 << " segments." << std::endl; - } - else - { - ROS_ERROR("Undefined algorithm selected."); - room_segmentation_algorithm_ = stored_room_segmentation_algorithm; - return; - } - - ROS_INFO("********Segmented the map************"); - // looping_rate.sleep(); - - // get the min/max-values and the room-centers - // compute room label codebook - std::map label_vector_index_codebook; // maps each room label to a position in the rooms vector - size_t vector_index = 0; - for (int v = 0; v < segmented_map.rows; ++v) - { - for (int u = 0; u < segmented_map.cols; ++u) - { - const int label = segmented_map.at(v, u); - if (label > 0 && label < 65280) // do not count walls/obstacles or free space as label - { - if (label_vector_index_codebook.find(label) == label_vector_index_codebook.end()) - { - label_vector_index_codebook[label] = vector_index; - vector_index++; - } - } - } - } - //min/max y/x-values vector for each room. Initialized with extreme values - std::vector min_x_value_of_the_room(label_vector_index_codebook.size(), 100000000); - std::vector max_x_value_of_the_room(label_vector_index_codebook.size(), 0); - std::vector min_y_value_of_the_room(label_vector_index_codebook.size(), 100000000); - std::vector max_y_value_of_the_room(label_vector_index_codebook.size(), 0); - //vector of the central Point for each room, initially filled with Points out of the map - std::vector room_centers_x_values(label_vector_index_codebook.size(), -1); - std::vector room_centers_y_values(label_vector_index_codebook.size(), -1); - //***********************Find min/max x and y coordinate and center of each found room******************** - //check y/x-value for every Pixel and make the larger/smaller value to the current value of the room - for (int y = 0; y < segmented_map.rows; ++y) - { - for (int x = 0; x < segmented_map.cols; ++x) - { - const int label = segmented_map.at(y, x); - if (label > 0 && label < 65280) //if Pixel is white or black it is no room --> doesn't need to be checked - { - const int index = label_vector_index_codebook[label]; - min_x_value_of_the_room[index] = std::min(x, min_x_value_of_the_room[index]); - max_x_value_of_the_room[index] = std::max(x, max_x_value_of_the_room[index]); - max_y_value_of_the_room[index] = std::max(y, max_y_value_of_the_room[index]); - min_y_value_of_the_room[index] = std::min(y, min_y_value_of_the_room[index]); - } - } - } - //get centers for each room -// for (size_t idx = 0; idx < room_centers_x_values.size(); ++idx) -// { -// if (max_x_value_of_the_room[idx] != 0 && max_y_value_of_the_room[idx] != 0 && min_x_value_of_the_room[idx] != 100000000 && min_y_value_of_the_room[idx] != 100000000) -// { -// room_centers_x_values[idx] = (min_x_value_of_the_room[idx] + max_x_value_of_the_room[idx]) / 2; -// room_centers_y_values[idx] = (min_y_value_of_the_room[idx] + max_y_value_of_the_room[idx]) / 2; -// cv::circle(segmented_map, cv::Point(room_centers_x_values[idx], room_centers_y_values[idx]), 2, cv::Scalar(200*256), CV_FILLED); -// } -// } - // use distance transform and mean shift to find good room centers that are reachable by the robot - // first check whether a robot radius shall be applied to obstacles in order to exclude room center points that are not reachable by the robot - cv::Mat segmented_map_copy = segmented_map; - cv::Mat connection_to_other_rooms = cv::Mat::zeros(segmented_map.rows, segmented_map.cols, CV_8UC1); // stores for each pixel whether a path to another rooms exists for a robot of size robot_radius - if (goal->robot_radius > 0.0) - { - // consider robot radius for exclusion of non-reachable points - segmented_map_copy = segmented_map.clone(); - cv::Mat map_8u, eroded_map; - segmented_map_copy.convertTo(map_8u, CV_8UC1, 1., 0.); - int number_of_erosions = (goal->robot_radius / goal->map_resolution); - cv::erode(map_8u, eroded_map, cv::Mat(), cv::Point(-1, -1), number_of_erosions); - for (int v=0; v(v,u) == 0) - segmented_map_copy.at(v,u) = 0; - - // compute connectivity of remaining accessible room cells to other rooms - bool stop = false; - while (stop == false) - { - stop = true; - for (int v=1; v(v,u) != 0) - continue; - - // only consider cells labeled as a room - const int label = segmented_map_copy.at(v,u); - if (label <= 0 || label >= 65280) - continue; - - for (int dv=-1; dv<=1; ++dv) - { - for (int du=-1; du<=1; ++du) - { - if (dv==0 && du==0) - continue; - const int neighbor_label = segmented_map_copy.at(v+dv,u+du); - if (neighbor_label>0 && neighbor_label<65280 && (neighbor_label!=label || (neighbor_label==label && connection_to_other_rooms.at(v+dv,u+du)==255))) - { - // either the room cell has a direct border to a different room or the room cell has a neighbor from the same room label with a connecting path to another room - connection_to_other_rooms.at(v,u) = 255; - stop = false; - } - } - } - } - } - } - } - // compute the room centers - MeanShift2D ms; - for (std::map::iterator it = label_vector_index_codebook.begin(); it != label_vector_index_codebook.end(); ++it) - { - int trial = 1; // use robot_radius to avoid room centers that are not accessible by a robot with a given radius - if (goal->robot_radius <= 0.) - trial = 2; - - for (; trial <= 2; ++trial) - { - // compute distance transform for each room on the room cells that have some connection to another room (trial 1) or just on all cells of that room (trial 2) - const int label = it->first; - int number_room_pixels = 0; - cv::Mat room = cv::Mat::zeros(segmented_map_copy.rows, segmented_map_copy.cols, CV_8UC1); - for (int v = 0; v < segmented_map_copy.rows; ++v) - for (int u = 0; u < segmented_map_copy.cols; ++u) - if (segmented_map_copy.at(v, u) == label && (trial==2 || connection_to_other_rooms.at(v,u)==255)) - { - room.at(v, u) = 255; - ++number_room_pixels; - } - if (number_room_pixels == 0) - continue; - cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 - cv::distanceTransform(room, distance_map, CV_DIST_L2, 5); - // find point set with largest distance to obstacles - double min_val = 0., max_val = 0.; - cv::minMaxLoc(distance_map, &min_val, &max_val); - std::vector room_cells; - for (int v = 0; v < distance_map.rows; ++v) - for (int u = 0; u < distance_map.cols; ++u) - if (distance_map.at(v, u) > max_val * 0.95f) - room_cells.push_back(cv::Vec2d(u, v)); - if (room_cells.size()==0) - continue; - // use meanshift to find the modes in that set - cv::Vec2d room_center = ms.findRoomCenter(room, room_cells, map_resolution); - const int index = it->second; - room_centers_x_values[index] = room_center[0]; - room_centers_y_values[index] = room_center[1]; - - if (room_cells.size() > 0) - break; - } - } - - // convert the segmented map into an indexed map which labels the segments with consecutive numbers (instead of arbitrary unordered labels in segmented map) - cv::Mat indexed_map = segmented_map.clone(); - for (int y = 0; y < segmented_map.rows; ++y) - { - for (int x = 0; x < segmented_map.cols; ++x) - { - const int label = segmented_map.at(y,x); - if (label > 0 && label < 65280) - indexed_map.at(y,x) = label_vector_index_codebook[label]+1;//start value from 1 --> 0 is reserved for obstacles - } - } - - if (display_segmented_map_ == true) - { - // colorize the segmented map with the indices of the room_center vector - cv::Mat color_segmented_map = indexed_map.clone(); - color_segmented_map.convertTo(color_segmented_map, CV_8U); - cv::cvtColor(color_segmented_map, color_segmented_map, CV_GRAY2BGR); - for(size_t i = 1; i <= room_centers_x_values.size(); ++i) - { - //choose random color for each room - const cv::Vec3b color((rand() % 250) + 1, (rand() % 250) + 1, (rand() % 250) + 1); - for(size_t v = 0; v < indexed_map.rows; ++v) - for(size_t u = 0; u < indexed_map.cols; ++u) - if(indexed_map.at(v,u) == i) - color_segmented_map.at(v,u) = color; - } -// cv::Mat disp = segmented_map.clone(); - for (size_t index = 0; index < room_centers_x_values.size(); ++index) -#if CV_MAJOR_VERSION<=3 - cv::circle(color_segmented_map, cv::Point(room_centers_x_values[index], room_centers_y_values[index]), 2, cv::Scalar(256), CV_FILLED); -#else - cv::circle(color_segmented_map, cv::Point(room_centers_x_values[index], room_centers_y_values[index]), 2, cv::Scalar(256), cv::FILLED); -#endif - - cv::imshow("segmentation", color_segmented_map); - cv::waitKey(); - } - - if (publish_segmented_map_ == true) - { - // "colorize" the segmented map with gray scale values - nav_msgs::OccupancyGrid segmented_grid; - segmented_grid.header.stamp = ros::Time::now(); - segmented_grid.header.frame_id = "map"; - segmented_grid.info.resolution = map_resolution; - segmented_grid.info.width = indexed_map.cols; - segmented_grid.info.height = indexed_map.rows; - segmented_grid.info.origin.position.x = map_origin.x; - segmented_grid.info.origin.position.y = map_origin.y; - segmented_grid.data.resize(segmented_grid.info.width*segmented_grid.info.height); - std::map colors; - //choose random color for each room - colors[0] = 0; - for(int i = 1; i <= room_centers_x_values.size(); ++i) - colors[i] = 20 + rand() % 81; - int i=0; - for(int v = 0; v < indexed_map.rows; ++v) - for(int u = 0; u < indexed_map.cols; ++u, ++i) - segmented_grid.data[i] = colors[indexed_map.at(v,u)]; - map_pub_.publish(segmented_grid); - } - - //****************publish the results********************** - ipa_building_msgs::MapSegmentationResult action_result; - //converting the cv format in map msg format - cv_bridge::CvImage cv_image; - cv_image.header.stamp = ros::Time::now(); - cv_image.encoding = "32SC1"; - cv_image.image = indexed_map; - cv_image.toImageMsg(action_result.segmented_map); - - //setting value to the action msgs to publish - action_result.map_resolution = goal->map_resolution; - action_result.map_origin = goal->map_origin; - - //setting massages in pixel value - action_result.room_information_in_pixel.clear(); - if (goal->return_format_in_pixel == true) - { - std::vector room_information(room_centers_x_values.size()); - for (size_t i=0; i found_doorway_points(doorway_points_.size()); - for(size_t i = 0; i < doorway_points_.size(); ++i) - { - found_doorway_points[i].x = doorway_points_[i].x; - found_doorway_points[i].y = doorway_points_[i].y; - } - doorway_points_.clear(); - - action_result.doorway_points = found_doorway_points; - } - } - //setting messages in meter - action_result.room_information_in_meter.clear(); - if (goal->return_format_in_meter == true) - { - std::vector room_information(room_centers_x_values.size()); - for (size_t i=0; i found_doorway_points(doorway_points_.size()); - for(size_t i = 0; i < doorway_points_.size(); ++i) - { - found_doorway_points[i].x = convert_pixel_to_meter_for_x_coordinate(doorway_points_[i].x, map_resolution, map_origin);; - found_doorway_points[i].y = convert_pixel_to_meter_for_y_coordinate(doorway_points_[i].y, map_resolution, map_origin); - } - doorway_points_.clear(); - - action_result.doorway_points = found_doorway_points; - } - } - - // reset to parameterized segmentation algorithm - room_segmentation_algorithm_ = stored_room_segmentation_algorithm; - - //publish result - room_segmentation_server_.setSucceeded(action_result); - - ROS_INFO("********Map segmentation finished************"); -} - -bool RoomSegmentationServer::extractAreaMapFromLabeledMap(ipa_building_msgs::ExtractAreaMapFromLabeledMapRequest& request, ipa_building_msgs::ExtractAreaMapFromLabeledMapResponse& response) -{ - // convert the Image msg in cv format - cv_bridge::CvImagePtr cv_ptr_obj; - cv_ptr_obj = cv_bridge::toCvCopy(request.segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); - cv::Mat segmented_map = cv_ptr_obj->image; - - // create a new map that only contains the segment with the label of interest - cv::Mat segmented_area = cv::Mat::zeros(segmented_map.rows, segmented_map.cols, CV_8UC1); - const int segment_of_interest = request.segment_of_interest; - for (int v=0; v(v,u)==segment_of_interest) - { - segmented_area.at(v,u) == 255; - } - } - } - - // convert the cv format in Image msg format - cv_bridge::CvImage cv_image; - cv_image.header.stamp = ros::Time::now(); - cv_image.encoding = "mono8"; - cv_image.image = segmented_area; - cv_image.toImageMsg(response.segmented_area); - - return true; -} - -int main(int argc, char** argv) -{ - ros::init(argc, argv, "room_segmentation_server"); - - ros::NodeHandle nh("~"); - - RoomSegmentationServer segmentationAlgorithmObj(nh, ros::this_node::getName()); - ROS_INFO("Action Server for room segmentation has been initialized......"); - ros::spin(); - - return 0; -} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_action_client.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_action_client.launch deleted file mode 100644 index 367022e..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_action_client.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_evaluation.launch b/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_evaluation.launch deleted file mode 100644 index 5390037..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_evaluation.launch +++ /dev/null @@ -1,7 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/src/pibot_imu_node.cpp b/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/src/pibot_imu_node.cpp deleted file mode 100644 index e1594ac..0000000 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/src/pibot_imu_node.cpp +++ /dev/null @@ -1,18 +0,0 @@ -/*-------------------------------------------------------------- -* Node Desc : 1.IMU的初始静态零偏校准 - 2.原始IMU的减零偏操作 - 3.接收IMU校准服务的校准请求 -* Review : zhanli.2024.02.28 ----------------------------------------------------------------*/ -#include "pibot_imu/pibot_imu.h" - -int main(int argc, char **argv) -{ - ros::init(argc, argv, "pibot_imu"); - ros::NodeHandle nh, pnh("~"); - PibotIMU pibot_imu(nh, pnh); - - ros::spin(); - - return 0; -} diff --git a/Code/MowingRobot/Robot_ROS_APP/.catkin_workspace b/Code/MowingRobot/Robot_ROS_APP/.catkin_workspace deleted file mode 100644 index 52fd97e..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/.catkin_workspace +++ /dev/null @@ -1 +0,0 @@ -# This file currently only serves to mark the location of a catkin workspace for tool integration diff --git a/Code/MowingRobot/Robot_ROS_APP/.gitignore b/Code/MowingRobot/Robot_ROS_APP/.gitignore deleted file mode 100644 index 26560cc..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -/build/ -/cmake-build-debug/ \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/Image/main.png b/Code/MowingRobot/Robot_ROS_APP/Image/main.png deleted file mode 100644 index 69eb4828949737132e872a58a7cecaaff4c13590..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 302840 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�s;=LctrQ#* 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 qvjv9 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 diff --git a/Code/MowingRobot/Robot_ROS_APP/README.md b/Code/MowingRobot/Robot_ROS_APP/README.md deleted file mode 100644 index 8a958dc..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/README.md +++ /dev/null @@ -1,32 +0,0 @@ -# `UWB`建图指导 - -一、代码编译和运行 - -```shell -# 进入工程目录 -cd Robot_ROS_Driver -# 代码的编译 -catkin_make -# 环境变量引入 -rosrun ros_merge_test ros_merge_test_node -``` - -​ 线程在`main.cpp`中开启: - -image-20231212192507303 - - - -​ 主要功能是 - -uwb接收 uwb_trd - -建图 map_trd - -保存定位数据 align_trd - -建图和保存数据需要哪个用哪个 - -建图:在rosrun之后 出现的图片上按q开始建图,再按一次q停止,可以再同一幅图上重复开始和暂停 - -保存数据:同样在rosrun之后出现的图片上按w开始保存 再按w停止 diff --git a/Code/MowingRobot/Robot_ROS_APP/dataset/data1.txt b/Code/MowingRobot/Robot_ROS_APP/dataset/data1.txt deleted file mode 100644 index 73dbd9d..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/dataset/data1.txt +++ /dev/null @@ -1,10468 +0,0 @@ -imu_odom_: 1691062764.937248272 0.387861 -0.248997 9.9096 -0.0543285 -0.00319579 0.04048 0 0 pose: 3.959451567 0.221503 0.00433448 0 -0.00254058 -0.0004941 -0.0371697 0.999306 uwb: 3.986947042 845.606 1004.18 -imu_odom_: 1691062764.951252369 0.397437 -0.248997 9.85453 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00254058 -0.0004941 -0.0371697 0.999306 uwb: 0.49912471 845.473 1003.64 -imu_odom_: 1691062764.966312817 0.414197 -0.251391 9.88566 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.28033567 0.221503 0.00433448 0 -0.00102597 -0.000643478-0.0371652 0.999308 uwb: 0.0 845.473 1003.64 -imu_odom_: 1691062764.980248668 0.387861 -0.227449 9.90002 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00102597 -0.000643478-0.0371652 0.999308 uwb: 0.0 845.473 1003.64 -imu_odom_: 1691062764.994246640 0.411803 -0.241814 9.85693 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00102597 -0.000643478-0.0371652 0.999308 uwb: 0.0 845.473 1003.64 -imu_odom_: 1691062765.8295943 0.428562 -0.268151 9.89045 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.41937337 0.221503 0.00433448 0 -0.0014536 0.000569598 -0.0371456 0.999309 uwb: 0.50138499 845.602 1002.97 -imu_odom_: 1691062765.22458989 0.438139 -0.25618 9.90242 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0014536 0.000569598 -0.0371456 0.999309 uwb: 0.0 845.602 1002.97 -imu_odom_: 1691062765.37269495 0.426168 -0.232238 9.92157 -0.0553937 -0.00319579 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0014536 0.000569598 -0.0371456 0.999309 uwb: 0.0 845.602 1002.97 -imu_odom_: 1691062765.51273592 0.426168 -0.258574 9.8665 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.43005646 0.221503 0.00433448 0 -0.00149991 -0.000467445-0.0371481 0.999309 uwb: 0.49872517 845.435 1004.05 -imu_odom_: 1691062765.65324061 0.418985 -0.244209 9.91199 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00149991 -0.000467445-0.0371481 0.999309 uwb: 0.0 845.435 1004.05 -imu_odom_: 1691062765.80256477 0.428562 -0.248997 9.87369 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00149991 -0.000467445-0.0371481 0.999309 uwb: 0.0 845.435 1004.05 -imu_odom_: 1691062765.94250366 0.418985 -0.253785 9.89284 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.57024618 0.221503 0.00433448 0 -0.00135826 -0.001059 -0.0371489 0.999308 uwb: 0.0 845.435 1004.05 -imu_odom_: 1691062765.108340791 0.409408 -0.251391 9.91439 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00135826 -0.001059 -0.0371489 0.999308 uwb: 0.49990926 845.679 1003.23 -imu_odom_: 1691062765.122253894 0.411803 -0.260968 9.88566 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00135826 -0.001059 -0.0371489 0.999308 uwb: 0.0 845.679 1003.23 -imu_odom_: 1691062765.136245742 0.409408 -0.234632 9.87608 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.71014425 0.221503 0.00433448 0 -0.00170932 -0.00085469 -0.0371438 0.999308 uwb: 0.0 845.679 1003.23 -imu_odom_: 1691062765.150243423 0.402226 -0.253785 9.93354 -0.0532632 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00170932 -0.00085469 -0.0371438 0.999308 uwb: 0.50007842 846.19 1003.63 -imu_odom_: 1691062765.165382909 0.416591 -0.25618 9.90242 -0.0553937 -0.00639159 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00170932 -0.00085469 -0.0371438 0.999308 uwb: 0.0 846.19 1003.63 -imu_odom_: 1691062765.179450294 0.395043 -0.23942 9.90481 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.42098329 0.221503 0.00433448 0 -0.00217097 -0.000407085-0.037155 0.999307 uwb: 0.0 846.19 1003.63 -imu_odom_: 1691062765.193381771 0.395043 -0.227449 9.90721 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00217097 -0.000407085-0.037155 0.999307 uwb: 0.0 846.19 1003.63 -imu_odom_: 1691062765.208511633 0.418985 -0.251391 9.91439 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.36986892 0.221503 0.00433448 0 -0.0002673440.000646147 -0.0371599 0.999309 uwb: 0.49995301 846.273 1003.09 -imu_odom_: 1691062765.223392426 0.402226 -0.217872 9.87608 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.6060169 0.221503 0.00433448 0 -0.0007312410.000247811 -0.0371608 0.999309 uwb: 0.0 846.273 1003.09 -imu_odom_: 1691062765.237382524 0.428562 -0.253785 9.87369 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0007312410.000247811 -0.0371608 0.999309 uwb: 0.0 846.273 1003.09 -imu_odom_: 1691062765.251381080 0.414197 -0.244209 9.92157 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0007312410.000247811 -0.0371608 0.999309 uwb: 0.50115461 846.042 1002.15 -imu_odom_: 1691062765.265498337 0.411803 -0.275333 9.89284 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.43943007 0.221503 0.00433448 0 -0.00172678 -0.000418394-0.0371675 0.999307 uwb: 0.0 846.042 1002.15 -imu_odom_: 1691062765.280445626 0.423774 -0.258574 9.90242 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00172678 -0.000418394-0.0371675 0.999307 uwb: 0.0 846.042 1002.15 -imu_odom_: 1691062765.294288734 0.416591 -0.251391 9.90721 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00172678 -0.000418394-0.0371675 0.999307 uwb: 0.0 846.042 1002.15 -imu_odom_: 1691062765.308280290 0.392649 -0.244209 9.91918 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.42935068 0.221503 0.00433448 0 -0.00187898 -0.000598091-0.0371822 0.999307 uwb: 0.49942804 846.04 1002.02 -imu_odom_: 1691062765.322387631 0.409408 -0.258574 9.88566 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00187898 -0.000598091-0.0371822 0.999307 uwb: 0.0 846.04 1002.02 -imu_odom_: 1691062765.336447142 0.407014 -0.241814 9.88326 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00187898 -0.000598091-0.0371822 0.999307 uwb: 0.0 846.04 1002.02 -imu_odom_: 1691062765.351513715 0.42138 -0.253785 9.90721 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.42135368 0.221503 0.00433448 0 -0.00160884 -0.00013649 -0.0371789 0.999307 uwb: 0.49988885 846.02 1002.29 -imu_odom_: 1691062765.365445484 0.428562 -0.232238 9.89045 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00160884 -0.00013649 -0.0371789 0.999307 uwb: 0.0 846.02 1002.29 -imu_odom_: 1691062765.380280196 0.371101 -0.244209 9.9096 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00160884 -0.00013649 -0.0371789 0.999307 uwb: 0.0 846.02 1002.29 -imu_odom_: 1691062765.394232964 0.435745 -0.225055 9.93354 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.43952922 0.221503 0.00433448 0 -0.000944123-0.000647948-0.0371801 0.999308 uwb: 0.0 846.02 1002.29 -imu_odom_: 1691062765.408272350 0.395043 -0.251391 9.90721 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000944123-0.000647948-0.0371801 0.999308 uwb: 0.49954470 846.156 1001.75 -imu_odom_: 1691062765.422239408 0.433351 -0.227449 9.92397 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000944123-0.000647948-0.0371801 0.999308 uwb: 0.0 846.156 1001.75 -imu_odom_: 1691062765.436238839 0.402226 -0.244209 9.89045 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.41950754 0.221503 0.00433448 0 -0.00120831 -0.00060505 -0.0371758 0.999308 uwb: 0.0 846.156 1001.75 -imu_odom_: 1691062765.450293683 0.433351 -0.248997 9.91439 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00120831 -0.00060505 -0.0371758 0.999308 uwb: 0.49852393 846.079 1001.08 -imu_odom_: 1691062765.464359319 0.416591 -0.246603 9.88326 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00120831 -0.00060505 -0.0371758 0.999308 uwb: 0.0 846.079 1001.08 -imu_odom_: 1691062765.478234799 0.399832 -0.248997 9.88087 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.41962129 0.221503 0.00433448 0 -0.00168813 -0.000806105-0.0371869 0.999307 uwb: 0.0 846.079 1001.08 -imu_odom_: 1691062765.492282060 0.416591 -0.23942 9.87369 -0.056459 -0.00426106 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00168813 -0.000806105-0.0371869 0.999307 uwb: 0.0 846.079 1001.08 -imu_odom_: 1691062765.506260492 0.411803 -0.237026 9.89045 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00168813 -0.000806105-0.0371869 0.999307 uwb: 0.50004926 846.366 1001.21 -imu_odom_: 1691062765.520360834 0.399832 -0.237026 9.91199 -0.0543285 -0.00532632 0.0415453 0 0 pose: 0.41995959 0.221503 0.00433448 0 -0.00113671 -0.000414831-0.0371751 0.999308 uwb: 0.0 846.366 1001.21 -imu_odom_: 1691062765.535357995 0.407014 -0.258574 9.88326 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00113671 -0.000414831-0.0371751 0.999308 uwb: 0.0 846.366 1001.21 -imu_odom_: 1691062765.549359176 0.438139 -0.225055 9.89045 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00113671 -0.000414831-0.0371751 0.999308 uwb: 0.0 846.366 1001.21 -imu_odom_: 1691062765.563362398 0.423774 -0.227449 9.85453 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.43046479 0.221503 0.00433448 0 -0.00211673 -0.000630457-0.0371543 0.999307 uwb: 0.50239994 846.318 1001.07 -imu_odom_: 1691062765.577353955 0.428562 -0.253785 9.8665 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00211673 -0.000630457-0.0371543 0.999307 uwb: 0.0 846.318 1001.07 -imu_odom_: 1691062765.592235915 0.423774 -0.246603 9.89045 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00211673 -0.000630457-0.0371543 0.999307 uwb: 0.0 846.318 1001.07 -imu_odom_: 1691062765.606241762 0.423774 -0.241814 9.87608 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.41881341 0.221503 0.00433448 0 -0.00192983 -0.000788384-0.0371507 0.999307 uwb: 0.49685278 846.459 1000.67 -imu_odom_: 1691062765.620243526 0.42138 -0.25618 9.92157 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00192983 -0.000788384-0.0371507 0.999307 uwb: 0.0 846.459 1000.67 -imu_odom_: 1691062765.634228083 0.423774 -0.251391 9.88326 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00192983 -0.000788384-0.0371507 0.999307 uwb: 0.0 846.459 1000.67 -imu_odom_: 1691062765.648285552 0.395043 -0.229843 9.88326 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.42988149 0.221503 0.00433448 0 -0.00225539 -0.000893812-0.0371492 0.999307 uwb: 0.0 846.459 1000.67 -imu_odom_: 1691062765.661286086 0.402226 -0.244209 9.87369 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00225539 -0.000893812-0.0371492 0.999307 uwb: 0.49946888 846.466 1001.61 -imu_odom_: 1691062765.676285872 0.42138 -0.229843 9.87129 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00225539 -0.000893812-0.0371492 0.999307 uwb: 0.0 846.466 1001.61 -imu_odom_: 1691062765.690225223 0.430956 -0.232238 9.92157 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.42058956 0.221503 0.00433448 0 -0.00160344 -0.000356978-0.0371501 0.999308 uwb: 0.0 846.466 1001.61 -imu_odom_: 1691062765.703245298 0.411803 -0.232238 9.91678 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00160344 -0.000356978-0.0371501 0.999308 uwb: 0.50174373 846.581 1002.95 -imu_odom_: 1691062765.718359702 0.40462 -0.234632 9.8665 -0.0532632 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00160344 -0.000356978-0.0371501 0.999308 uwb: 0.0 846.581 1002.95 -imu_odom_: 1691062765.732276013 0.426168 -0.25618 9.91918 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.41091265 0.221503 0.00433448 0 -0.000989851-0.00030017 -0.0371599 0.999309 uwb: 0.0 846.581 1002.95 -imu_odom_: 1691062765.746276902 0.42138 -0.268151 9.91678 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000989851-0.00030017 -0.0371599 0.999309 uwb: 0.0 846.581 1002.95 -imu_odom_: 1691062765.760224128 0.409408 -0.227449 9.84735 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000989851-0.00030017 -0.0371599 0.999309 uwb: 0.49983052 846.531 1002.81 -imu_odom_: 1691062765.773274825 0.414197 -0.23942 9.87369 -0.056459 -0.00426106 0.04048 0 0 pose: 0.42896571 0.221503 0.00433448 0 -0.00262188 -0.00079323 -0.0371582 0.999306 uwb: 0.0 846.531 1002.81 -imu_odom_: 1691062765.788419269 0.418985 -0.222661 9.89524 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00262188 -0.00079323 -0.0371582 0.999306 uwb: 0.0 846.531 1002.81 -imu_odom_: 1691062765.802384577 0.411803 -0.260968 9.9096 -0.056459 -0.00426106 0.0372843 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00262188 -0.00079323 -0.0371582 0.999306 uwb: 0.50000259 846.462 1002.95 -imu_odom_: 1691062765.817531646 0.411803 -0.241814 9.92875 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.42086370 0.221503 0.00433448 0 -0.000597702-0.0015303 -0.0371575 0.999308 uwb: 0.0 846.462 1002.95 -imu_odom_: 1691062765.831485288 0.442927 -0.260968 9.89045 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000597702-0.0015303 -0.0371575 0.999308 uwb: 0.0 846.462 1002.95 -imu_odom_: 1691062765.846481866 0.428562 -0.246603 9.90002 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000597702-0.0015303 -0.0371575 0.999308 uwb: 0.0 846.462 1002.95 -imu_odom_: 1691062765.861272831 0.428562 -0.217872 9.89763 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.44127037 0.221503 0.00433448 0 -0.00154362 -0.00137635 -0.0371699 0.999307 uwb: 0.49951554 846.432 1003.76 -imu_odom_: 1691062765.874275115 0.385466 -0.237026 9.87848 -0.056459 -0.00319579 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00154362 -0.00137635 -0.0371699 0.999307 uwb: 0.0 846.432 1003.76 -imu_odom_: 1691062765.889265860 0.409408 -0.246603 9.90002 -0.0553937 -0.00213053 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00154362 -0.00137635 -0.0371699 0.999307 uwb: 0.0 846.432 1003.76 -imu_odom_: 1691062765.903272291 0.416591 -0.203507 9.90481 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.42727123 0.221503 0.00433448 0 -0.00121894 -0.000107695-0.0371788 0.999308 uwb: 0.0 846.432 1003.76 -imu_odom_: 1691062765.917209892 0.423774 -0.251391 9.87848 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00121894 -0.000107695-0.0371788 0.999308 uwb: 0.0 846.432 1003.76 -imu_odom_: 1691062765.931264736 0.42138 -0.234632 9.9096 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00121894 -0.000107695-0.0371788 0.999308 uwb: 0.0 846.432 1003.76 -imu_odom_: 1691062765.945368577 0.414197 -0.229843 9.9096 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.42047582 0.221503 0.00433448 0 -0.00131776 -0.000923624-0.0371695 0.999308 uwb: 0.0 846.432 1003.76 -imu_odom_: 1691062765.959353134 0.392649 -0.260968 9.90242 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00131776 -0.000923624-0.0371695 0.999308 uwb: 0.100123011 846.295 1004.03 -imu_odom_: 1691062765.973408853 0.42138 -0.246603 9.91918 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00131776 -0.000923624-0.0371695 0.999308 uwb: 0.0 846.295 1004.03 -imu_odom_: 1691062765.987227754 0.411803 -0.234632 9.91439 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.50140833 0.221503 0.00433448 0 -0.0019901 -0.00037485 -0.0371631 0.999307 uwb: 0.0 846.295 1004.03 -imu_odom_: 1691062766.1286098 0.416591 -0.265756 9.90721 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0019901 -0.00037485 -0.0371631 0.999307 uwb: 0.0 846.295 1004.03 -imu_odom_: 1691062766.15358441 0.397437 -0.258574 9.88326 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0019901 -0.00037485 -0.0371631 0.999307 uwb: 0.0 846.295 1004.03 -imu_odom_: 1691062766.29182009 0.433351 -0.258574 9.89045 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.5832975 0.221503 0.00433448 0 -0.00140392 -0.000390036-0.0371639 0.999308 uwb: 0.0 846.295 1004.03 -imu_odom_: 1691062766.43182607 0.418985 -0.246603 9.84496 -0.0532632 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00140392 -0.000390036-0.0371639 0.999308 uwb: 0.0 846.295 1004.03 -imu_odom_: 1691062766.58355633 0.402226 -0.244209 9.91918 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00140392 -0.000390036-0.0371639 0.999308 uwb: 0.99861403 846.306 1004.43 -imu_odom_: 1691062766.72201074 0.416591 -0.258574 9.8689 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.70010572 0.221503 0.00433448 0 -0.00123438 -0.000433068-0.0371707 0.999308 uwb: 0.0 846.306 1004.43 -imu_odom_: 1691062766.86202838 0.40462 -0.248997 9.87129 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00123438 -0.000433068-0.0371707 0.999308 uwb: 0.0 846.306 1004.43 -imu_odom_: 1691062766.100342261 0.42138 -0.244209 9.90242 -0.0543285 -0.00319579 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00123438 -0.000433068-0.0371707 0.999308 uwb: 0.49889726 846.35 1004.3 -imu_odom_: 1691062766.114326818 0.411803 -0.225055 9.85693 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.29958451 0.221503 0.00433448 0 -0.00193905 -0.000235917-0.0371694 0.999307 uwb: 0.0 846.35 1004.3 -imu_odom_: 1691062766.128320125 0.411803 -0.244209 9.90721 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00193905 -0.000235917-0.0371694 0.999307 uwb: 0.0 846.35 1004.3 -imu_odom_: 1691062766.143261874 0.430956 -0.237026 9.93354 -0.056459 -0.00426106 0.04048 0 0 pose: 0.42125745 0.221503 0.00433448 0 -0.00108432 -0.000362929-0.0371477 0.999309 uwb: 0.0 846.35 1004.3 -imu_odom_: 1691062766.157323718 0.40462 -0.234632 9.89045 -0.0532632 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00108432 -0.000362929-0.0371477 0.999309 uwb: 0.50112838 846.418 1004.16 -imu_odom_: 1691062766.171251112 0.438139 -0.232238 9.84496 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00108432 -0.000362929-0.0371477 0.999309 uwb: 0.0 846.418 1004.16 -imu_odom_: 1691062766.185212629 0.409408 -0.23942 9.90242 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.41991003 0.221503 0.00433448 0 -0.000991447-0.000881597-0.0371416 0.999309 uwb: 0.0 846.418 1004.16 -imu_odom_: 1691062766.199184354 0.414197 -0.227449 9.90242 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000991447-0.000881597-0.0371416 0.999309 uwb: 0.0 846.418 1004.16 -imu_odom_: 1691062766.213313861 0.414197 -0.244209 9.91678 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000991447-0.000881597-0.0371416 0.999309 uwb: 0.50041383 846.388 1005.5 -imu_odom_: 1691062766.227372497 0.418985 -0.248997 9.91918 -0.056459 -0.00213053 0.0394148 0 0 pose: 0.49986262 0.221503 0.00433448 0 -0.00135774 -0.000544169-0.0371479 0.999309 uwb: 0.0 846.388 1005.5 -imu_odom_: 1691062766.241315349 0.426168 -0.260968 9.89284 -0.0532632 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00135774 -0.000544169-0.0371479 0.999309 uwb: 0.0 846.388 1005.5 -imu_odom_: 1691062766.255188496 0.411803 -0.23942 9.88326 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00135774 -0.000544169-0.0371479 0.999309 uwb: 0.50069090 845.773 1004.18 -imu_odom_: 1691062766.269189969 0.447716 -0.241814 9.90002 -0.056459 -0.00426106 0.0383495 0 0 pose: 0.6009714 0.221503 0.00433448 0 -0.00190546 -0.000792469-0.0371484 0.999308 uwb: 0.0 845.773 1004.18 -imu_odom_: 1691062766.283312185 0.42138 -0.260968 9.88805 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00190546 -0.000792469-0.0371484 0.999308 uwb: 0.0 845.773 1004.18 -imu_odom_: 1691062766.297188249 0.426168 -0.25618 9.89763 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00190546 -0.000792469-0.0371484 0.999308 uwb: 0.0 845.773 1004.18 -imu_odom_: 1691062766.311188847 0.428562 -0.244209 9.89045 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.70001824 0.221503 0.00433448 0 -0.00227282 -0.00105203 -0.0371666 0.999306 uwb: 0.50076382 845.896 1004.31 -imu_odom_: 1691062766.325175738 0.411803 -0.25618 9.93115 -0.0543285 -0.00426106 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00227282 -0.00105203 -0.0371666 0.999306 uwb: 0.0 845.896 1004.31 -imu_odom_: 1691062766.339168753 0.418985 -0.237026 9.90242 -0.056459 -0.00639159 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00227282 -0.00105203 -0.0371666 0.999306 uwb: 0.0 845.896 1004.31 -imu_odom_: 1691062766.353293593 0.430956 -0.268151 9.91439 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.27933533 0.221503 0.00433448 0 -0.00218177 -0.000413167-0.0371581 0.999307 uwb: 0.49812439 845.96 1004.84 -imu_odom_: 1691062766.367183656 0.40462 -0.25618 9.90242 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00218177 -0.000413167-0.0371581 0.999307 uwb: 0.0 845.96 1004.84 -imu_odom_: 1691062766.381301206 0.399832 -0.263362 9.89045 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.49924724 0.221503 0.00433448 0 -0.00212757 -1.87459e-05-0.0371524 0.999307 uwb: 0.0 845.96 1004.84 -imu_odom_: 1691062766.395298012 0.399832 -0.248997 9.92397 -0.056459 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00212757 -1.87459e-05-0.0371524 0.999307 uwb: 0.0 845.96 1004.84 -imu_odom_: 1691062766.409172326 0.426168 -0.232238 9.89045 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00212757 -1.87459e-05-0.0371524 0.999307 uwb: 0.0 845.96 1004.84 -imu_odom_: 1691062766.424303938 0.414197 -0.222661 9.88087 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.5998049 0.221503 0.00433448 0 -0.00260148 0.000347476 -0.037152 0.999306 uwb: 0.0 845.96 1004.84 -imu_odom_: 1691062766.438306870 0.416591 -0.220267 9.89763 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00260148 0.000347476 -0.037152 0.999306 uwb: 0.0 845.96 1004.84 -imu_odom_: 1691062766.452305718 0.409408 -0.21069 9.87848 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00260148 0.000347476 -0.037152 0.999306 uwb: 0.100245507 846.088 1005.11 -imu_odom_: 1691062766.466308357 0.397437 -0.225055 9.87608 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.71128171 0.221503 0.00433448 0 -0.000405867-0.000736758-0.0371523 0.999309 uwb: 0.0 846.088 1005.11 -imu_odom_: 1691062766.480373118 0.40462 -0.213084 9.83777 -0.0575243 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000405867-0.000736758-0.0371523 0.999309 uwb: 0.0 846.088 1005.11 -imu_odom_: 1691062766.494303137 0.42138 -0.251391 9.85693 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000405867-0.000736758-0.0371523 0.999309 uwb: 0.0 846.088 1005.11 -imu_odom_: 1691062766.508304319 0.397437 -0.241814 9.89524 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.28000321 0.221503 0.00433448 0 -0.0003835050.00023402 -0.0371549 0.999309 uwb: 0.49742735 846.087 1004.3 -imu_odom_: 1691062766.523301189 0.426168 -0.265756 9.87129 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0003835050.00023402 -0.0371549 0.999309 uwb: 0.0 846.087 1004.3 -imu_odom_: 1691062766.537299162 0.418985 -0.237026 9.90721 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.50990992 0.221503 0.00433448 0 -0.00231153 -0.00055207 -0.0371673 0.999306 uwb: 0.0 846.087 1004.3 -imu_odom_: 1691062766.551351090 0.411803 -0.234632 9.92636 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00231153 -0.00055207 -0.0371673 0.999306 uwb: 0.50038467 846.505 1004.69 -imu_odom_: 1691062766.566289047 0.414197 -0.237026 9.87608 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00231153 -0.00055207 -0.0371673 0.999306 uwb: 0.0 846.505 1004.69 -imu_odom_: 1691062766.580236274 0.407014 -0.263362 9.88805 -0.056459 -0.00213053 0.04048 0 0 pose: 0.6003881 0.221503 0.00433448 0 -0.00172111 -0.000663611-0.0371685 0.999307 uwb: 0.0 846.505 1004.69 -imu_odom_: 1691062766.594167459 0.416591 -0.227449 9.89045 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00172111 -0.000663611-0.0371685 0.999307 uwb: 0.0 846.505 1004.69 -imu_odom_: 1691062766.608177973 0.407014 -0.229843 9.90481 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00172111 -0.000663611-0.0371685 0.999307 uwb: 0.49881269 846.455 1005.36 -imu_odom_: 1691062766.622174488 0.414197 -0.217872 9.88805 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.71879167 0.221503 0.00433448 0 -0.0006799594.95074e-05 -0.0371669 0.999309 uwb: 0.0 846.455 1005.36 -imu_odom_: 1691062766.636228750 0.399832 -0.277727 9.91678 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0006799594.95074e-05 -0.0371669 0.999309 uwb: 0.0 846.455 1005.36 -imu_odom_: 1691062766.650231973 0.414197 -0.268151 9.84735 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0006799594.95074e-05 -0.0371669 0.999309 uwb: 0.50177000 846.155 1004.97 -imu_odom_: 1691062766.664222071 0.428562 -0.237026 9.87848 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.41105557 0.221503 0.00433448 0 -0.00209975 -0.000365854-0.0371659 0.999307 uwb: 0.0 846.155 1004.97 -imu_odom_: 1691062766.678173964 0.426168 -0.25618 9.89045 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00209975 -0.000365854-0.0371659 0.999307 uwb: 0.0 846.155 1004.97 -imu_odom_: 1691062766.693161502 0.414197 -0.244209 9.89045 -0.0543285 -0.00213053 0.0383495 0 0 pose: 0.35884170 0.221503 0.00433448 0 -0.00300363 -0.00114245 -0.037158 0.999304 uwb: 0.0 846.155 1004.97 -imu_odom_: 1691062766.707165016 0.418985 -0.251391 9.90721 -0.056459 -0.00426106 0.04048 0 0 pose: 0.7060233 0.221503 0.00433448 0 -0.00235122 -0.000855834-0.0371623 0.999306 uwb: 0.49948639 846.269 1005.5 -imu_odom_: 1691062766.721169697 0.414197 -0.227449 9.87129 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00235122 -0.000855834-0.0371623 0.999306 uwb: 0.0 846.269 1005.5 -imu_odom_: 1691062766.735169712 0.42138 -0.229843 9.91439 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00235122 -0.000855834-0.0371623 0.999306 uwb: 0.0 846.269 1005.5 -imu_odom_: 1691062766.749281720 0.407014 -0.213084 9.90002 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.35935500 0.221503 0.00433448 0 -0.00146025 -0.00085049 -0.0371705 0.999308 uwb: 0.0 846.269 1005.5 -imu_odom_: 1691062766.763185782 0.414197 -0.244209 9.9096 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00146025 -0.00085049 -0.0371705 0.999308 uwb: 0.49983637 845.992 1005.11 -imu_odom_: 1691062766.778313603 0.399832 -0.241814 9.89284 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00146025 -0.00085049 -0.0371705 0.999308 uwb: 0.0 845.992 1005.11 -imu_odom_: 1691062766.793365886 0.423774 -0.258574 9.88087 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.42016085 0.221503 0.00433448 0 -0.0010427 -0.000250324-0.0371685 0.999308 uwb: 0.0 845.992 1005.11 -imu_odom_: 1691062766.808155977 0.40462 -0.23942 9.93833 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0010427 -0.000250324-0.0371685 0.999308 uwb: 0.49941348 846.064 1005.11 -imu_odom_: 1691062766.821216300 0.438139 -0.217872 9.88805 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0010427 -0.000250324-0.0371685 0.999308 uwb: 0.0 846.064 1005.11 -imu_odom_: 1691062766.835154193 0.435745 -0.227449 9.93354 -0.0553937 -0.00532632 0.0372843 0 0 pose: 0.50969993 0.221503 0.00433448 0 -0.000689846-0.000413667-0.0371819 0.999308 uwb: 0.0 846.064 1005.11 -imu_odom_: 1691062766.850221643 0.414197 -0.237026 9.90481 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000689846-0.000413667-0.0371819 0.999308 uwb: 0.50050133 846.123 1004.7 -imu_odom_: 1691062766.864263655 0.407014 -0.234632 9.87129 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.36065868 0.221503 0.00433448 0 -0.00113475 -0.000849582-0.0371904 0.999307 uwb: 0.0 846.123 1004.7 -imu_odom_: 1691062766.878211173 0.426168 -0.225055 9.90242 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00113475 -0.000849582-0.0371904 0.999307 uwb: 0.0 846.123 1004.7 -imu_odom_: 1691062766.892264559 0.442927 -0.272939 9.93594 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00113475 -0.000849582-0.0371904 0.999307 uwb: 0.0 846.123 1004.7 -imu_odom_: 1691062766.906212077 0.395043 -0.253785 9.88566 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.5993965 0.221503 0.00433448 0 -0.00104416 -0.000255893-0.0371871 0.999308 uwb: 0.50131795 846.031 1004.84 -imu_odom_: 1691062766.920143263 0.440533 -0.251391 9.92636 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00104416 -0.000255893-0.0371871 0.999308 uwb: 0.0 846.031 1004.84 -imu_odom_: 1691062766.934198399 0.442927 -0.251391 9.85932 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00104416 -0.000255893-0.0371871 0.999308 uwb: 0.0 846.031 1004.84 -imu_odom_: 1691062766.948154375 0.418985 -0.23942 9.88326 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.41940839 0.221503 0.00433448 0 -0.00193756 -0.000812956-0.0371741 0.999307 uwb: 0.0 846.031 1004.84 -imu_odom_: 1691062766.962128141 0.402226 -0.244209 9.89045 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00193756 -0.000812956-0.0371741 0.999307 uwb: 0.49876893 845.971 1004.44 -imu_odom_: 1691062766.976289730 0.42138 -0.241814 9.88087 -0.056459 -0.00532632 0.0426106 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00193756 -0.000812956-0.0371741 0.999307 uwb: 0.0 845.971 1004.44 -imu_odom_: 1691062766.990307243 0.418985 -0.234632 9.91439 -0.056459 -0.00426106 0.04048 0 0 pose: 0.42066249 0.221503 0.00433448 0 -0.00179127 -0.00224117 -0.0371647 0.999305 uwb: 0.0 845.971 1004.44 -imu_odom_: 1691062767.4285093 0.423774 -0.246603 9.85693 -0.0543285 -0.00426106 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00179127 -0.00224117 -0.0371647 0.999305 uwb: 0.49930557 845.838 1003.9 -imu_odom_: 1691062767.18283067 0.411803 -0.246603 9.91678 -0.0532632 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00179127 -0.00224117 -0.0371647 0.999305 uwb: 0.0 845.838 1003.9 -imu_odom_: 1691062767.32279582 0.407014 -0.248997 9.90481 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00179127 -0.00224117 -0.0371647 0.999305 uwb: 0.0 845.838 1003.9 -imu_odom_: 1691062767.46338802 0.430956 -0.263362 9.93115 -0.0575243 -0.00532632 0.04048 0 0 pose: 0.42070915 0.221503 0.00433448 0 -0.00113734 -0.000962981-0.0371455 0.999309 uwb: 0.0 845.838 1003.9 -imu_odom_: 1691062767.60153329 0.418985 -0.272939 9.91439 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00113734 -0.000962981-0.0371455 0.999309 uwb: 0.50011637 846.2 1004.03 -imu_odom_: 1691062767.74333000 0.430956 -0.213084 9.89763 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00113734 -0.000962981-0.0371455 0.999309 uwb: 0.0 846.2 1004.03 -imu_odom_: 1691062767.88335640 0.426168 -0.220267 9.90002 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.83871474 0.221503 0.00433448 0 -0.00239768 -0.000970213-0.0371069 0.999308 uwb: 0.0 846.2 1004.03 -imu_odom_: 1691062767.103286722 0.402226 -0.241814 9.87608 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00239768 -0.000970213-0.0371069 0.999308 uwb: 0.49830524 846.118 1003.63 -imu_odom_: 1691062767.117276529 0.397437 -0.246603 9.9096 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00239768 -0.000970213-0.0371069 0.999308 uwb: 0.0 846.118 1003.63 -imu_odom_: 1691062767.131130720 0.414197 -0.265756 9.87369 -0.0532632 -0.00426106 0.0383495 0 0 pose: 0.43005650 0.221503 0.00433448 0 -0.00161997 0.000348766 -0.0371038 0.99931 uwb: 0.0 846.118 1003.63 -imu_odom_: 1691062767.145195773 0.418985 -0.237026 9.88805 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00161997 0.000348766 -0.0371038 0.99931 uwb: 0.0 846.118 1003.63 -imu_odom_: 1691062767.159192289 0.390255 -0.251391 9.88326 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00161997 0.000348766 -0.0371038 0.99931 uwb: 0.50336825 846.016 1004.3 -imu_odom_: 1691062767.173128433 0.428562 -0.23942 9.88326 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.42031544 0.221503 0.00433448 0 -0.00147427 -0.000200455-0.0371103 0.99931 uwb: 0.0 846.016 1004.3 -imu_odom_: 1691062767.187187361 0.423774 -0.237026 9.89284 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00147427 -0.000200455-0.0371103 0.99931 uwb: 0.0 846.016 1004.3 -imu_odom_: 1691062767.201196418 0.40462 -0.237026 9.88326 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00147427 -0.000200455-0.0371103 0.99931 uwb: 0.49854731 845.909 1003.9 -imu_odom_: 1691062767.215129354 0.414197 -0.246603 9.90002 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.41993630 0.221503 0.00433448 0 -0.000595164-0.00116744 -0.037108 0.99931 uwb: 0.0 845.909 1003.9 -imu_odom_: 1691062767.229178074 0.416591 -0.241814 9.88326 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000595164-0.00116744 -0.037108 0.99931 uwb: 0.0 845.909 1003.9 -imu_odom_: 1691062767.243177506 0.414197 -0.253785 9.8665 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000595164-0.00116744 -0.037108 0.99931 uwb: 0.0 845.909 1003.9 -imu_odom_: 1691062767.257142815 0.428562 -0.225055 9.84975 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.49981597 0.221503 0.00433448 0 -0.00229043 -0.000446545-0.0371147 0.999308 uwb: 0.49932892 845.963 1003.09 -imu_odom_: 1691062767.271124457 0.423774 -0.263362 9.91439 -0.0532632 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00229043 -0.000446545-0.0371147 0.999308 uwb: 0.0 845.963 1003.09 -imu_odom_: 1691062767.285120681 0.426168 -0.248997 9.85932 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00229043 -0.000446545-0.0371147 0.999308 uwb: 0.0 845.963 1003.09 -imu_odom_: 1691062767.299125946 0.402226 -0.237026 9.88805 -0.0575243 -0.00532632 0.0394148 0 0 pose: 0.6006507 0.221503 0.00433448 0 -0.00175157 -0.000711793-0.0371129 0.999309 uwb: 0.50010762 846.131 1004.16 -imu_odom_: 1691062767.313130919 0.395043 -0.258574 9.90002 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00175157 -0.000711793-0.0371129 0.999309 uwb: 0.0 846.131 1004.16 -imu_odom_: 1691062767.327172348 0.430956 -0.234632 9.90002 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00175157 -0.000711793-0.0371129 0.999309 uwb: 0.0 846.131 1004.16 -imu_odom_: 1691062767.341174114 0.399832 -0.217872 9.89524 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.70006201 0.221503 0.00433448 0 -0.00211602 9.50561e-05 -0.0371077 0.999309 uwb: 0.0 846.131 1004.16 -imu_odom_: 1691062767.355159255 0.392649 -0.25618 9.87848 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00211602 9.50561e-05 -0.0371077 0.999309 uwb: 0.49902561 846.162 1003.49 -imu_odom_: 1691062767.369101232 0.418985 -0.23942 9.87848 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00211602 9.50561e-05 -0.0371077 0.999309 uwb: 0.0 846.162 1003.49 -imu_odom_: 1691062767.383161035 0.40462 -0.229843 9.92157 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.27975532 0.221503 0.00433448 0 -0.0009669820.000236661 -0.0371068 0.999311 uwb: 0.0 846.162 1003.49 -imu_odom_: 1691062767.397157551 0.440533 -0.251391 9.88326 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0009669820.000236661 -0.0371068 0.999311 uwb: 0.0 846.162 1003.49 -imu_odom_: 1691062767.411287642 0.414197 -0.241814 9.89524 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.49991805 0.221503 0.00433448 0 -0.0012846 -0.000818643-0.0371096 0.99931 uwb: 0.50002012 846.005 1003.9 -imu_odom_: 1691062767.425258784 0.418985 -0.248997 9.88087 -0.0532632 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0012846 -0.000818643-0.0371096 0.99931 uwb: 0.0 846.005 1003.9 -imu_odom_: 1691062767.439251216 0.447716 -0.248997 9.87848 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0012846 -0.000818643-0.0371096 0.99931 uwb: 0.0 846.005 1003.9 -imu_odom_: 1691062767.453141571 0.411803 -0.220267 9.92157 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.6040337 0.221503 0.00433448 0 -0.00151378 -0.000260927-0.0371124 0.99931 uwb: 0.50100299 846.199 1004.03 -imu_odom_: 1691062767.467257371 0.418985 -0.244209 9.89524 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00151378 -0.000260927-0.0371124 0.99931 uwb: 0.0 846.199 1004.03 -imu_odom_: 1691062767.482315780 0.399832 -0.21069 9.88566 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00151378 -0.000260927-0.0371124 0.99931 uwb: 0.0 846.199 1004.03 -imu_odom_: 1691062767.496261840 0.428562 -0.237026 9.88566 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.69951080 0.221503 0.00433448 0 -0.00145364 -0.000208372-0.0371133 0.99931 uwb: 0.0 846.199 1004.03 -imu_odom_: 1691062767.510270313 0.42138 -0.227449 9.87608 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00145364 -0.000208372-0.0371133 0.99931 uwb: 0.49924726 845.981 1003.9 -imu_odom_: 1691062767.525310348 0.411803 -0.23942 9.88326 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00145364 -0.000208372-0.0371133 0.99931 uwb: 0.0 845.981 1003.9 -imu_odom_: 1691062767.539298406 0.418985 -0.248997 9.90721 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.29120545 0.221503 0.00433448 0 -0.000696364-0.00091276 -0.0371084 0.999311 uwb: 0.0 845.981 1003.9 -imu_odom_: 1691062767.554248904 0.433351 -0.234632 9.89763 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000696364-0.00091276 -0.0371084 0.999311 uwb: 0.50029719 845.729 1003.37 -imu_odom_: 1691062767.568247753 0.416591 -0.222661 9.83299 -0.056459 -0.00532632 0.0415453 0 0 pose: 0.43042690 0.221503 0.00433448 0 -0.00174146 -0.00151821 -0.0371063 0.999309 uwb: 0.0 845.729 1003.37 -imu_odom_: 1691062767.582099902 0.402226 -0.227449 9.92875 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00174146 -0.00151821 -0.0371063 0.999309 uwb: 0.0 845.729 1003.37 -imu_odom_: 1691062767.596098459 0.40462 -0.225055 9.88326 -0.0543285 -0.00213053 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00174146 -0.00151821 -0.0371063 0.999309 uwb: 0.0 845.729 1003.37 -imu_odom_: 1691062767.610264423 0.387861 -0.258574 9.89045 -0.0532632 -0.00532632 0.0415453 0 0 pose: 0.42798289 0.221503 0.00433448 0 -0.00085512 0.000222495 -0.0370986 0.999311 uwb: 0.50096507 845.449 1003.64 -imu_odom_: 1691062767.624181902 0.414197 -0.220267 9.83538 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00085512 0.000222495 -0.0370986 0.999311 uwb: 0.0 845.449 1003.64 -imu_odom_: 1691062767.638100839 0.416591 -0.260968 9.88087 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00085512 0.000222495 -0.0370986 0.999311 uwb: 0.0 845.449 1003.64 -imu_odom_: 1691062767.652165600 0.426168 -0.232238 9.84735 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.42001504 0.221503 0.00433448 0 -0.000980848-0.000535066-0.0370842 0.999312 uwb: 0.49925893 845.578 1002.96 -imu_odom_: 1691062767.666221028 0.445322 -0.253785 9.86172 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000980848-0.000535066-0.0370842 0.999312 uwb: 0.0 845.578 1002.96 -imu_odom_: 1691062767.680241459 0.42138 -0.232238 9.90242 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000980848-0.000535066-0.0370842 0.999312 uwb: 0.0 845.578 1002.96 -imu_odom_: 1691062767.694243516 0.402226 -0.246603 9.83777 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.50129463 0.221503 0.00433448 0 -0.0009698 -0.000938779-0.0370842 0.999311 uwb: 0.0 845.578 1002.96 -imu_odom_: 1691062767.709118769 0.418985 -0.237026 9.91678 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0009698 -0.000938779-0.0370842 0.999311 uwb: 0.49976348 845.717 1002.69 -imu_odom_: 1691062767.723098952 0.416591 -0.248997 9.93594 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0009698 -0.000938779-0.0370842 0.999311 uwb: 0.0 845.717 1002.69 -imu_odom_: 1691062767.737282415 0.428562 -0.241814 9.87608 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.5863890 0.221503 0.00433448 0 -0.0012842 -0.000448919-0.037084 0.999311 uwb: 0.0 845.717 1002.69 -imu_odom_: 1691062767.751277472 0.407014 -0.234632 9.88326 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0012842 -0.000448919-0.037084 0.999311 uwb: 0.50048093 845.793 1002.96 -imu_odom_: 1691062767.766230304 0.42138 -0.241814 9.86172 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0012842 -0.000448919-0.037084 0.999311 uwb: 0.0 845.793 1002.96 -imu_odom_: 1691062767.781289004 0.418985 -0.229843 9.90002 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.72016828 0.221503 0.00433448 0 -0.00132029 -0.000671679-0.0370834 0.999311 uwb: 0.0 845.793 1002.96 -imu_odom_: 1691062767.795204733 0.40462 -0.213084 9.8665 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00132029 -0.000671679-0.0370834 0.999311 uwb: 0.0 845.793 1002.96 -imu_odom_: 1691062767.809152835 0.426168 -0.263362 9.90002 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00132029 -0.000671679-0.0370834 0.999311 uwb: 0.49852105 845.949 1002.28 -imu_odom_: 1691062767.823086646 0.407014 -0.241814 9.90721 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.29070673 0.221503 0.00433448 0 1.6971e-06 -0.000141355-0.0370789 0.999312 uwb: 0.0 845.949 1002.28 -imu_odom_: 1691062767.837086369 0.428562 -0.246603 9.85453 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 1.6971e-06 -0.000141355-0.0370789 0.999312 uwb: 0.0 845.949 1002.28 -imu_odom_: 1691062767.851224043 0.407014 -0.225055 9.90481 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.49893519 0.221503 0.00433448 0 -0.00163535 -0.0014361 -0.0370706 0.99931 uwb: 0.50117506 845.975 1002.42 -imu_odom_: 1691062767.866223539 0.397437 -0.227449 9.88326 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00163535 -0.0014361 -0.0370706 0.99931 uwb: 0.0 845.975 1002.42 -imu_odom_: 1691062767.880087354 0.387861 -0.234632 9.90481 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00163535 -0.0014361 -0.0370706 0.99931 uwb: 0.0 845.975 1002.42 -imu_odom_: 1691062767.894093494 0.407014 -0.241814 9.90721 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.6005048 0.221503 0.00433448 0 -0.00123766 -0.000979906-0.037071 0.999311 uwb: 0.0 845.975 1002.42 -imu_odom_: 1691062767.908089134 0.435745 -0.241814 9.89763 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00123766 -0.000979906-0.037071 0.999311 uwb: 0.50048968 845.915 1003.09 -imu_odom_: 1691062767.922080109 0.407014 -0.25618 9.90002 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00123766 -0.000979906-0.037071 0.999311 uwb: 0.0 845.915 1003.09 -imu_odom_: 1691062767.936078666 0.399832 -0.237026 9.89763 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.71003932 0.221503 0.00433448 0 -0.00186688 -0.00141428 -0.03707 0.99931 uwb: 0.0 845.915 1003.09 -imu_odom_: 1691062767.950076639 0.418985 -0.246603 9.91199 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00186688 -0.00141428 -0.03707 0.99931 uwb: 0.49813900 846.441 1003.08 -imu_odom_: 1691062767.964076071 0.42138 -0.232238 9.89524 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00186688 -0.00141428 -0.03707 0.99931 uwb: 0.0 846.441 1003.08 -imu_odom_: 1691062767.978199162 0.438139 -0.246603 9.87129 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.42111747 0.221503 0.00433448 0 -0.00112186 -0.000893882-0.0370619 0.999312 uwb: 0.0 846.441 1003.08 -imu_odom_: 1691062767.992132390 0.418985 -0.232238 9.92875 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00112186 -0.000893882-0.0370619 0.999312 uwb: 0.0 846.441 1003.08 -imu_odom_: 1691062768.6087200 0.407014 -0.222661 9.93115 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.35925294 0.221503 0.00433448 0 -0.000736227-0.000522967-0.0370601 0.999313 uwb: 0.50143171 846.327 1003.35 -imu_odom_: 1691062768.21087279 0.430956 -0.244209 9.92157 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.6955823 0.221503 0.00433448 0 -0.000256606-1.4881e-05 -0.0370569 0.999313 uwb: 0.0 846.327 1003.35 -imu_odom_: 1691062768.35210954 0.414197 -0.260968 9.90002 -0.0532632 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000256606-1.4881e-05 -0.0370569 0.999313 uwb: 0.0 846.327 1003.35 -imu_odom_: 1691062768.50140455 0.40462 -0.251391 9.89524 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.36122741 0.221503 0.00433448 0 -0.00220833 -0.000497085-0.0370477 0.999311 uwb: 0.49900229 845.966 1003.23 -imu_odom_: 1691062768.64197050 0.433351 -0.229843 9.88805 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00220833 -0.000497085-0.0370477 0.999311 uwb: 0.0 845.966 1003.23 -imu_odom_: 1691062768.78141361 0.409408 -0.229843 9.89524 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00220833 -0.000497085-0.0370477 0.999311 uwb: 0.0 845.966 1003.23 -imu_odom_: 1691062768.92142252 0.409408 -0.222661 9.88087 -0.0543285 -0.00319579 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00220833 -0.000497085-0.0370477 0.999311 uwb: 0.0 845.966 1003.23 -imu_odom_: 1691062768.106189515 0.442927 -0.225055 9.88566 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.42930407 0.221503 0.00433448 0 -0.0001900250.000477973 -0.0370495 0.999313 uwb: 0.50007848 845.93 1003.77 -imu_odom_: 1691062768.120125952 0.397437 -0.241814 9.86411 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0001900250.000477973 -0.0370495 0.999313 uwb: 0.0 845.93 1003.77 -imu_odom_: 1691062768.134066471 0.409408 -0.217872 9.90481 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0001900250.000477973 -0.0370495 0.999313 uwb: 0.0 845.93 1003.77 -imu_odom_: 1691062768.149127797 0.428562 -0.237026 9.90002 -0.056459 -0.00639159 0.0394148 0 0 pose: 0.47933350 0.221503 0.00433448 0 -0.000535403-0.000581446-0.0370457 0.999313 uwb: 0.0 845.93 1003.77 -imu_odom_: 1691062768.163180601 0.426168 -0.23942 9.89524 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000535403-0.000581446-0.0370457 0.999313 uwb: 0.49942810 845.459 1002.97 -imu_odom_: 1691062768.177124912 0.409408 -0.253785 9.88326 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000535403-0.000581446-0.0370457 0.999313 uwb: 0.0 845.459 1002.97 -imu_odom_: 1691062768.192122366 0.42138 -0.241814 9.91678 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.43063983 0.221503 0.00433448 0 -0.00218916 -0.000633733-0.0370465 0.999311 uwb: 0.0 845.459 1002.97 -imu_odom_: 1691062768.206069594 0.416591 -0.246603 9.88326 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00218916 -0.000633733-0.0370465 0.999311 uwb: 0.50113424 845.572 1003.77 -imu_odom_: 1691062768.220073693 0.440533 -0.217872 9.89284 -0.056459 -0.00426106 0.04048 0 0 pose: 0.36930900 0.221503 0.00433448 0 -0.00197778 -0.000113496-0.0370482 0.999312 uwb: 0.0 845.572 1003.77 -imu_odom_: 1691062768.234121539 0.418985 -0.248997 9.89284 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.6066003 0.221503 0.00433448 0 -0.00155848 -0.000548698-0.0370464 0.999312 uwb: 0.0 845.572 1003.77 -imu_odom_: 1691062768.248178426 0.397437 -0.23942 9.90481 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00155848 -0.000548698-0.0370464 0.999312 uwb: 0.0 845.572 1003.77 -imu_odom_: 1691062768.262064408 0.409408 -0.23942 9.89763 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00155848 -0.000548698-0.0370464 0.999312 uwb: 0.49982183 845.201 1004.19 -imu_odom_: 1691062768.276118087 0.426168 -0.244209 9.90721 -0.0575243 -0.00532632 0.04048 0 0 pose: 0.36042829 0.221503 0.00433448 0 -0.00119604 0.000380805 -0.0370353 0.999313 uwb: 0.0 845.201 1004.19 -imu_odom_: 1691062768.290055690 0.42138 -0.217872 9.92157 -0.0543285 -0.00319579 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00119604 0.000380805 -0.0370353 0.999313 uwb: 0.0 845.201 1004.19 -imu_odom_: 1691062768.304194822 0.399832 -0.217872 9.87369 -0.056459 -0.00639159 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00119604 0.000380805 -0.0370353 0.999313 uwb: 0.49868440 845.28 1003.51 -imu_odom_: 1691062768.319183236 0.426168 -0.253785 9.84496 -0.0543285 -0.00426106 0.0415453 0 0 pose: 0.41877264 0.221503 0.00433448 0 -0.00122413 -0.00130975 -0.0370415 0.999312 uwb: 0.0 845.28 1003.51 -imu_odom_: 1691062768.333069800 0.407014 -0.232238 9.89284 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00122413 -0.00130975 -0.0370415 0.999312 uwb: 0.0 845.28 1003.51 -imu_odom_: 1691062768.347128146 0.40462 -0.258574 9.87608 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00122413 -0.00130975 -0.0370415 0.999312 uwb: 0.0 845.28 1003.51 -imu_odom_: 1691062768.361062540 0.411803 -0.220267 9.87608 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.49076321 0.221503 0.00433448 0 -0.00129365 2.68787e-05 -0.0370318 0.999313 uwb: 0.50161838 845.153 1004.19 -imu_odom_: 1691062768.375119136 0.42138 -0.248997 9.90002 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00129365 2.68787e-05 -0.0370318 0.999313 uwb: 0.0 845.153 1004.19 -imu_odom_: 1691062768.389117985 0.387861 -0.229843 9.88326 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00129365 2.68787e-05 -0.0370318 0.999313 uwb: 0.0 845.153 1004.19 -imu_odom_: 1691062768.403056172 0.409408 -0.215478 9.87608 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.41930927 0.221503 0.00433448 0 -0.00165246 -0.000486274-0.037029 0.999313 uwb: 0.49871648 845.201 1004.19 -imu_odom_: 1691062768.417057646 0.402226 -0.237026 9.88566 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00165246 -0.000486274-0.037029 0.999313 uwb: 0.0 845.201 1004.19 -imu_odom_: 1691062768.431162947 0.399832 -0.225055 9.89524 -0.0543285 -0.00639159 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00165246 -0.000486274-0.037029 0.999313 uwb: 0.0 845.201 1004.19 -imu_odom_: 1691062768.445045720 0.409408 -0.246603 9.87369 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.42108541 0.221503 0.00433448 0 -0.00060632 0.000173079 -0.037023 0.999314 uwb: 0.0 845.201 1004.19 -imu_odom_: 1691062768.459091233 0.416591 -0.263362 9.90242 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00060632 0.000173079 -0.037023 0.999314 uwb: 0.49983349 844.99 1003.38 -imu_odom_: 1691062768.473089207 0.426168 -0.237026 9.91918 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00060632 0.000173079 -0.037023 0.999314 uwb: 0.0 844.99 1003.38 -imu_odom_: 1691062768.488090453 0.423774 -0.232238 9.89763 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.41869680 0.221503 0.00433448 0 -0.00192479 -0.000817272-0.037032 0.999312 uwb: 0.0 844.99 1003.38 -imu_odom_: 1691062768.502165423 0.397437 -0.265756 9.90242 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00192479 -0.000817272-0.037032 0.999312 uwb: 0.50180212 844.89 1004.2 -imu_odom_: 1691062768.516102442 0.423774 -0.253785 9.91678 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00192479 -0.000817272-0.037032 0.999312 uwb: 0.0 844.89 1004.2 -imu_odom_: 1691062768.530156122 0.423774 -0.260968 9.88566 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.43010319 0.221503 0.00433448 0 -0.00156469 -0.000499269-0.0370268 0.999313 uwb: 0.0 844.89 1004.2 -imu_odom_: 1691062768.544180053 0.409408 -0.23942 9.88566 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00156469 -0.000499269-0.0370268 0.999313 uwb: 0.0 844.89 1004.2 -imu_odom_: 1691062768.558095199 0.42138 -0.244209 9.88805 -0.052198 -0.00639159 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00156469 -0.000499269-0.0370268 0.999313 uwb: 0.49825859 844.979 1003.93 -imu_odom_: 1691062768.573034324 0.407014 -0.258574 9.89284 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.41988090 0.221503 0.00433448 0 -0.00161754 -0.000805734-0.0370209 0.999313 uwb: 0.0 844.979 1003.93 -imu_odom_: 1691062768.587105210 0.407014 -0.241814 9.88805 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00161754 -0.000805734-0.0370209 0.999313 uwb: 0.0 844.979 1003.93 -imu_odom_: 1691062768.601100268 0.435745 -0.246603 9.8665 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00161754 -0.000805734-0.0370209 0.999313 uwb: 0.49986849 845.053 1002.98 -imu_odom_: 1691062768.616056017 0.414197 -0.248997 9.87848 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.43019943 0.221503 0.00433448 0 -0.00100009 -0.000497647-0.0370165 0.999314 uwb: 0.0 845.053 1002.98 -imu_odom_: 1691062768.630148194 0.407014 -0.258574 9.8665 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00100009 -0.000497647-0.0370165 0.999314 uwb: 0.0 845.053 1002.98 -imu_odom_: 1691062768.644035633 0.399832 -0.222661 9.91678 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00100009 -0.000497647-0.0370165 0.999314 uwb: 0.0 845.053 1002.98 -imu_odom_: 1691062768.659037462 0.428562 -0.244209 9.88566 -0.056459 -0.00639159 0.0415453 0 0 pose: 0.29056384 0.221503 0.00433448 0 -0.0023999 -0.000401699-0.0370103 0.999312 uwb: 0.50090384 844.984 1003.11 -imu_odom_: 1691062768.673151804 0.426168 -0.21069 9.88087 -0.0532632 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0023999 -0.000401699-0.0370103 0.999312 uwb: 0.0 844.984 1003.11 -imu_odom_: 1691062768.687149195 0.387861 -0.265756 9.90242 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0023999 -0.000401699-0.0370103 0.999312 uwb: 0.0 844.984 1003.11 -imu_odom_: 1691062768.701151836 0.428562 -0.237026 9.89284 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.27981658 0.221503 0.00433448 0 -0.00156116 -0.0010615 -0.0370113 0.999313 uwb: 0.49897896 845.011 1003.25 -imu_odom_: 1691062768.715034026 0.416591 -0.244209 9.88566 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00156116 -0.0010615 -0.0370113 0.999313 uwb: 0.0 845.011 1003.25 -imu_odom_: 1691062768.729087122 0.416591 -0.23942 9.89045 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00156116 -0.0010615 -0.0370113 0.999313 uwb: 0.0 845.011 1003.25 -imu_odom_: 1691062768.743025891 0.416591 -0.234632 9.86411 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.71070430 0.221503 0.00433448 0 -0.00104491 -0.000770834-0.0369985 0.999314 uwb: 0.0 845.011 1003.25 -imu_odom_: 1691062768.757082779 0.438139 -0.237026 9.89284 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00104491 -0.000770834-0.0369985 0.999314 uwb: 0.0 845.011 1003.25 -imu_odom_: 1691062768.771082211 0.397437 -0.251391 9.88566 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00104491 -0.000770834-0.0369985 0.999314 uwb: 0.0 845.011 1003.25 -imu_odom_: 1691062768.786229865 0.42138 -0.241814 9.88326 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.41916052 0.221503 0.00433448 0 -0.00138575 -0.00116147 -0.0370057 0.999313 uwb: 0.0 845.011 1003.25 -imu_odom_: 1691062768.800174468 0.383072 -0.23942 9.94551 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00138575 -0.00116147 -0.0370057 0.999313 uwb: 0.99860247 845.154 1003.24 -imu_odom_: 1691062768.814115862 0.42138 -0.237026 9.90242 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.37090433 0.221503 0.00433448 0 -0.00113172 -0.000411203-0.0369929 0.999315 uwb: 0.0 845.154 1003.24 -imu_odom_: 1691062768.829154439 0.426168 -0.248997 9.8665 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.6034213 0.221503 0.00433448 0 -0.00119155 -0.00100847 -0.036994 0.999314 uwb: 0.0 845.154 1003.24 -imu_odom_: 1691062768.843039254 0.445322 -0.25618 9.88326 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00119155 -0.00100847 -0.036994 0.999314 uwb: 0.0 845.154 1003.24 -imu_odom_: 1691062768.857033436 0.42138 -0.213084 9.88087 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.36830573 0.221503 0.00433448 0 -0.00221373 -0.00199426 -0.0369977 0.999311 uwb: 0.50095342 845.143 1003.79 -imu_odom_: 1691062768.872078430 0.42138 -0.237026 9.86411 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00221373 -0.00199426 -0.0369977 0.999311 uwb: 0.0 845.143 1003.79 -imu_odom_: 1691062768.886083404 0.402226 -0.253785 9.91199 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00221373 -0.00199426 -0.0369977 0.999311 uwb: 0.0 845.143 1003.79 -imu_odom_: 1691062768.900077878 0.418985 -0.23942 9.89045 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.43044150 0.221503 0.00433448 0 -0.00286726 0.000458112 -0.0370074 0.999311 uwb: 0.50108759 844.901 1003.66 -imu_odom_: 1691062768.914026564 0.418985 -0.234632 9.92157 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00286726 0.000458112 -0.0370074 0.999311 uwb: 0.0 844.901 1003.66 -imu_odom_: 1691062768.928017247 0.435745 -0.234632 9.87369 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00286726 0.000458112 -0.0370074 0.999311 uwb: 0.0 844.901 1003.66 -imu_odom_: 1691062768.942016096 0.426168 -0.229843 9.89763 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00286726 0.000458112 -0.0370074 0.999311 uwb: 0.0 844.901 1003.66 -imu_odom_: 1691062768.956084358 0.395043 -0.244209 9.89284 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.41933843 0.221503 0.00433448 0 -0.00149337 -0.00205262 -0.037014 0.999312 uwb: 0.49967016 845.047 1003.79 -imu_odom_: 1691062768.970021669 0.418985 -0.246603 9.89284 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00149337 -0.00205262 -0.037014 0.999312 uwb: 0.0 845.047 1003.79 -imu_odom_: 1691062768.984079431 0.397437 -0.241814 9.85214 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00149337 -0.00205262 -0.037014 0.999312 uwb: 0.0 845.047 1003.79 -imu_odom_: 1691062768.998075656 0.426168 -0.241814 9.87608 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.48066342 0.221503 0.00433448 0 -0.00160381 -0.000485879-0.0369954 0.999314 uwb: 0.0 845.047 1003.79 -imu_odom_: 1691062769.12019092 0.42138 -0.23942 9.8689 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00160381 -0.000485879-0.0369954 0.999314 uwb: 0.49964393 844.648 1004.07 -imu_odom_: 1691062769.26021150 0.42138 -0.263362 9.88566 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00160381 -0.000485879-0.0369954 0.999314 uwb: 0.0 844.648 1004.07 -imu_odom_: 1691062769.40073080 0.411803 -0.225055 9.88805 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.42000631 0.221503 0.00433448 0 -0.00130961 -0.000187962-0.0369989 0.999314 uwb: 0.0 844.648 1004.07 -imu_odom_: 1691062769.55069077 0.399832 -0.234632 9.89284 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00130961 -0.000187962-0.0369989 0.999314 uwb: 0.50030306 844.894 1003.39 -imu_odom_: 1691062769.69076093 0.409408 -0.248997 9.8665 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.36984857 0.221503 0.00433448 0 -0.0014053 0.0008189 -0.0370017 0.999314 uwb: 0.0 844.894 1003.39 -imu_odom_: 1691062769.84128378 0.395043 -0.248997 9.89284 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.6003882 0.221503 0.00433448 0 -0.00160063 0.000247193 -0.0370031 0.999314 uwb: 0.0 844.894 1003.39 -imu_odom_: 1691062769.98006485 0.428562 -0.251391 9.89284 -0.0553937 -0.00319579 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00160063 0.000247193 -0.0370031 0.999314 uwb: 0.0 844.894 1003.39 -imu_odom_: 1691062769.112017001 0.426168 -0.234632 9.85693 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00160063 0.000247193 -0.0370031 0.999314 uwb: 0.50005808 845.058 1003.25 -imu_odom_: 1691062769.126007101 0.411803 -0.23942 9.92397 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.36933526 0.221503 0.00433448 0 -0.00183366 -0.000400999-0.0369924 0.999314 uwb: 0.0 845.058 1003.25 -imu_odom_: 1691062769.140003034 0.402226 -0.268151 9.87608 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00183366 -0.000400999-0.0369924 0.999314 uwb: 0.0 845.058 1003.25 -imu_odom_: 1691062769.154000718 0.402226 -0.277727 9.87848 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00183366 -0.000400999-0.0369924 0.999314 uwb: 0.49944854 845.032 1003.11 -imu_odom_: 1691062769.168051189 0.411803 -0.232238 9.87848 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.48010347 0.221503 0.00433448 0 -0.00339281 0.000168753 -0.0369961 0.99931 uwb: 0.0 845.032 1003.11 -imu_odom_: 1691062769.182049164 0.426168 -0.244209 9.88805 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00339281 0.000168753 -0.0369961 0.99931 uwb: 0.0 845.032 1003.11 -imu_odom_: 1691062769.196047722 0.414197 -0.253785 9.90242 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00339281 0.000168753 -0.0369961 0.99931 uwb: 0.0 845.032 1003.11 -imu_odom_: 1691062769.211086591 0.407014 -0.241814 9.88087 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.42033589 0.221503 0.00433448 0 -0.00204031 -0.000463424-0.0369987 0.999313 uwb: 0.50039931 845.429 1003.78 -imu_odom_: 1691062769.225009029 0.407014 -0.251391 9.89284 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00204031 -0.000463424-0.0369987 0.999313 uwb: 0.0 845.429 1003.78 -imu_odom_: 1691062769.239003796 0.40462 -0.237026 9.86172 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00204031 -0.000463424-0.0369987 0.999313 uwb: 0.0 845.429 1003.78 -imu_odom_: 1691062769.254011459 0.418985 -0.244209 9.90002 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.42957240 0.221503 0.00433448 0 -0.00180397 -4.53319e-05-0.0369813 0.999314 uwb: 0.50007558 845.56 1003.24 -imu_odom_: 1691062769.268075346 0.407014 -0.25618 9.89524 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00180397 -4.53319e-05-0.0369813 0.999314 uwb: 0.0 845.56 1003.24 -imu_odom_: 1691062769.282000409 0.392649 -0.225055 9.88087 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00180397 -4.53319e-05-0.0369813 0.999314 uwb: 0.0 845.56 1003.24 -imu_odom_: 1691062769.295993426 0.418985 -0.251391 9.93833 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.43055818 0.221503 0.00433448 0 -0.00159237 0.000283356 -0.036972 0.999315 uwb: 0.0 845.56 1003.24 -imu_odom_: 1691062769.309997817 0.440533 -0.258574 9.8689 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00159237 0.000283356 -0.036972 0.999315 uwb: 0.49926771 845.801 1003.36 -imu_odom_: 1691062769.323993167 0.395043 -0.25618 9.86411 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00159237 0.000283356 -0.036972 0.999315 uwb: 0.0 845.801 1003.36 -imu_odom_: 1691062769.339113114 0.392649 -0.260968 9.88805 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.41974384 0.221503 0.00433448 0 -0.0022801 -0.00125277 -0.0369576 0.999313 uwb: 0.0 845.801 1003.36 -imu_odom_: 1691062769.352995305 0.402226 -0.229843 9.86411 -0.0532632 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0022801 -0.00125277 -0.0369576 0.999313 uwb: 0.50008433 845.865 1004.04 -imu_odom_: 1691062769.367008445 0.407014 -0.260968 9.85693 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0022801 -0.00125277 -0.0369576 0.999313 uwb: 0.0 845.865 1004.04 -imu_odom_: 1691062769.382057814 0.416591 -0.241814 9.87848 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.43004196 0.221503 0.00433448 0 -0.00176589 0.000123176 -0.0369529 0.999315 uwb: 0.0 845.865 1004.04 -imu_odom_: 1691062769.396055789 0.423774 -0.227449 9.91199 -0.052198 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00176589 0.000123176 -0.0369529 0.999315 uwb: 0.0 845.865 1004.04 -imu_odom_: 1691062769.409981143 0.423774 -0.241814 9.89045 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00176589 0.000123176 -0.0369529 0.999315 uwb: 0.50021265 845.913 1004.04 -imu_odom_: 1691062769.425033720 0.411803 -0.229843 9.88087 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.42969489 0.221503 0.00433448 0 -0.000480543-0.0013122 -0.0369634 0.999316 uwb: 0.0 845.913 1004.04 -imu_odom_: 1691062769.439032861 0.407014 -0.237026 9.87369 -0.0543285 -0.00213053 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000480543-0.0013122 -0.0369634 0.999316 uwb: 0.0 845.913 1004.04 -imu_odom_: 1691062769.452979506 0.411803 -0.258574 9.86411 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000480543-0.0013122 -0.0369634 0.999316 uwb: 0.49946312 845.944 1004.3 -imu_odom_: 1691062769.467000812 0.428562 -0.237026 9.87608 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.14099469 0.221503 0.00433448 0 -0.000896551-0.000561317-0.0369632 0.999316 uwb: 0.0 845.944 1004.3 -imu_odom_: 1691062769.481112530 0.399832 -0.246603 9.8665 -0.0553937 -0.00426106 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000896551-0.000561317-0.0369632 0.999316 uwb: 0.0 845.944 1004.3 -imu_odom_: 1691062769.495048676 0.411803 -0.241814 9.90002 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000896551-0.000561317-0.0369632 0.999316 uwb: 0.0 845.944 1004.3 -imu_odom_: 1691062769.510000634 0.402226 -0.287304 9.89524 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.28865646 0.221503 0.00433448 0 -0.00226371 -0.000364653-0.0369579 0.999314 uwb: 0.49962936 845.968 1004.3 -imu_odom_: 1691062769.523996567 0.414197 -0.25618 9.90481 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00226371 -0.000364653-0.0369579 0.999314 uwb: 0.0 845.968 1004.3 -imu_odom_: 1691062769.537991625 0.433351 -0.23942 9.88326 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00226371 -0.000364653-0.0369579 0.999314 uwb: 0.0 845.968 1004.3 -imu_odom_: 1691062769.553040119 0.407014 -0.232238 9.88087 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.42079086 0.221503 0.00433448 0 -0.00146837 -0.000157966-0.0369501 0.999316 uwb: 0.49961769 846.545 1003.48 -imu_odom_: 1691062769.568075488 0.402226 -0.246603 9.9096 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00146837 -0.000157966-0.0369501 0.999316 uwb: 0.0 846.545 1003.48 -imu_odom_: 1691062769.582110211 0.399832 -0.258574 9.89524 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00146837 -0.000157966-0.0369501 0.999316 uwb: 0.0 846.545 1003.48 -imu_odom_: 1691062769.597021338 0.416591 -0.208296 9.90242 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.42944991 0.221503 0.00433448 0 -0.00132901 -0.00139575 -0.0369594 0.999315 uwb: 0.0 846.545 1003.48 -imu_odom_: 1691062769.610974982 0.411803 -0.23942 9.92157 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00132901 -0.00139575 -0.0369594 0.999315 uwb: 0.50094761 846.497 1004.42 -imu_odom_: 1691062769.625016996 0.42138 -0.234632 9.88087 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00132901 -0.00139575 -0.0369594 0.999315 uwb: 0.0 846.497 1004.42 -imu_odom_: 1691062769.640136944 0.438139 -0.258574 9.92875 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.44108087 0.221503 0.00433448 0 -0.00240337 0.000139666 -0.0369505 0.999314 uwb: 0.0 846.497 1004.42 -imu_odom_: 1691062769.654190040 0.40462 -0.232238 9.89284 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00240337 0.000139666 -0.0369505 0.999314 uwb: 0.49999391 846.521 1004.42 -imu_odom_: 1691062769.669123624 0.438139 -0.234632 9.89045 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00240337 0.000139666 -0.0369505 0.999314 uwb: 0.0 846.521 1004.42 -imu_odom_: 1691062769.683979630 0.395043 -0.260968 9.87608 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.42934200 0.221503 0.00433448 0 -0.000680119-0.000527929-0.0369554 0.999317 uwb: 0.0 846.521 1004.42 -imu_odom_: 1691062769.697978480 0.399832 -0.251391 9.92157 -0.0553937 -0.00532632 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000680119-0.000527929-0.0369554 0.999317 uwb: 0.0 846.521 1004.42 -imu_odom_: 1691062769.712064241 0.411803 -0.241814 9.85932 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000680119-0.000527929-0.0369554 0.999317 uwb: 0.49993559 846.449 1004.42 -imu_odom_: 1691062769.727035156 0.418985 -0.241814 9.87369 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.43090232 0.221503 0.00433448 0 -0.00132514 -0.00134082 -0.0369517 0.999315 uwb: 0.0 846.449 1004.42 -imu_odom_: 1691062769.741048588 0.430956 -0.260968 9.87129 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00132514 -0.00134082 -0.0369517 0.999315 uwb: 0.0 846.449 1004.42 -imu_odom_: 1691062769.755035772 0.414197 -0.234632 9.89763 -0.052198 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00132514 -0.00134082 -0.0369517 0.999315 uwb: 0.49870775 846.251 1004.16 -imu_odom_: 1691062769.770114305 0.411803 -0.237026 9.9096 -0.056459 -0.00532632 0.04048 0 0 pose: 0.43884684 0.221503 0.00433448 0 -0.00163099 -1.05714e-05-0.036925 0.999317 uwb: 0.0 846.251 1004.16 -imu_odom_: 1691062769.784039660 0.414197 -0.251391 9.91199 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00163099 -1.05714e-05-0.036925 0.999317 uwb: 0.0 846.251 1004.16 -imu_odom_: 1691062769.798050175 0.409408 -0.244209 9.87129 -0.0543285 -0.00532632 0.0372843 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00163099 -1.05714e-05-0.036925 0.999317 uwb: 0.0 846.251 1004.16 -imu_odom_: 1691062769.812966552 0.414197 -0.25618 9.90002 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.43054942 0.221503 0.00433448 0 -0.00145826 -0.0015349 -0.0369245 0.999316 uwb: 0.50011641 845.94 1004.17 -imu_odom_: 1691062769.827002733 0.397437 -0.23942 9.88087 -0.0532632 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00145826 -0.0015349 -0.0369245 0.999316 uwb: 0.0 845.94 1004.17 -imu_odom_: 1691062769.841003624 0.392649 -0.258574 9.88566 -0.0575243 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00145826 -0.0015349 -0.0369245 0.999316 uwb: 0.0 845.94 1004.17 -imu_odom_: 1691062769.855992622 0.411803 -0.251391 9.88326 -0.056459 -0.00426106 0.04048 0 0 pose: 0.43004488 0.221503 0.00433448 0 -0.00141234 -0.000193729-0.0369257 0.999317 uwb: 0.50170590 845.793 1004.04 -imu_odom_: 1691062769.871110236 0.385466 -0.246603 9.89045 -0.056459 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00141234 -0.000193729-0.0369257 0.999317 uwb: 0.0 845.793 1004.04 -imu_odom_: 1691062769.885246744 0.42138 -0.232238 9.88805 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00141234 -0.000193729-0.0369257 0.999317 uwb: 0.0 845.793 1004.04 -imu_odom_: 1691062769.900105083 0.42138 -0.232238 9.87369 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.42931575 0.221503 0.00433448 0 -0.00164929 0.000579589 -0.0369181 0.999317 uwb: 0.49899356 845.916 1004.17 -imu_odom_: 1691062769.914113265 0.407014 -0.246603 9.85214 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00164929 0.000579589 -0.0369181 0.999317 uwb: 0.0 845.916 1004.17 -imu_odom_: 1691062769.928122031 0.407014 -0.237026 9.87848 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00164929 0.000579589 -0.0369181 0.999317 uwb: 0.0 845.916 1004.17 -imu_odom_: 1691062769.943112195 0.426168 -0.23942 9.87848 -0.056459 -0.00532632 0.04048 0 0 pose: 0.44179832 0.221503 0.00433448 0 -0.00140002 0.000249116 -0.0369141 0.999317 uwb: 0.0 845.916 1004.17 -imu_odom_: 1691062769.958118692 0.423774 -0.227449 9.88566 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00140002 0.000249116 -0.0369141 0.999317 uwb: 0.49897315 845.814 1003.9 -imu_odom_: 1691062769.972116666 0.435745 -0.234632 9.87608 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00140002 0.000249116 -0.0369141 0.999317 uwb: 0.0 845.814 1003.9 -imu_odom_: 1691062769.987009711 0.423774 -0.248997 9.85453 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.43077983 0.221503 0.00433448 0 -0.00114439 -0.000111421-0.0369224 0.999317 uwb: 0.0 845.814 1003.9 -imu_odom_: 1691062770.2352187 0.430956 -0.234632 9.84017 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00114439 -0.000111421-0.0369224 0.999317 uwb: 0.50172048 845.923 1003.5 -imu_odom_: 1691062770.16035473 0.445322 -0.237026 9.90002 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00114439 -0.000111421-0.0369224 0.999317 uwb: 0.0 845.923 1003.5 -imu_odom_: 1691062770.31108466 0.409408 -0.237026 9.89524 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.43854352 0.221503 0.00433448 0 -0.000439101-0.00148541 -0.0369198 0.999317 uwb: 0.0 845.923 1003.5 -imu_odom_: 1691062770.46227248 0.45011 -0.237026 9.88805 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000439101-0.00148541 -0.0369198 0.999317 uwb: 0.0 845.923 1003.5 -imu_odom_: 1691062770.60069191 0.407014 -0.229843 9.86411 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000439101-0.00148541 -0.0369198 0.999317 uwb: 0.50168549 846.016 1004.3 -imu_odom_: 1691062770.75108352 0.409408 -0.237026 9.88087 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.88056643 0.221503 0.00433448 0 -0.00111441 -0.00218716 -0.0369185 0.999315 uwb: 0.0 846.016 1004.3 -imu_odom_: 1691062770.90119516 0.440533 -0.229843 9.92875 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00111441 -0.00218716 -0.0369185 0.999315 uwb: 0.0 846.016 1004.3 -imu_odom_: 1691062770.103961459 0.438139 -0.225055 9.87848 -0.0575243 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00111441 -0.00218716 -0.0369185 0.999315 uwb: 0.49861444 845.848 1004.31 -imu_odom_: 1691062770.119114072 0.385466 -0.244209 9.88805 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.43847646 0.221503 0.00433448 0 -0.000547949-0.00183689 -0.0369146 0.999317 uwb: 0.0 845.848 1004.31 -imu_odom_: 1691062770.134154400 0.407014 -0.25618 9.91678 -0.056459 -0.00639159 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000547949-0.00183689 -0.0369146 0.999317 uwb: 0.0 845.848 1004.31 -imu_odom_: 1691062770.148060506 0.40462 -0.23942 9.88566 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000547949-0.00183689 -0.0369146 0.999317 uwb: 0.0 845.848 1004.31 -imu_odom_: 1691062770.162941302 0.414197 -0.246603 9.87129 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.43928724 0.221503 0.00433448 0 -0.00137083 -6.77339e-05-0.036908 0.999318 uwb: 0.49781532 845.952 1004.57 -imu_odom_: 1691062770.176948610 0.387861 -0.258574 9.89045 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00137083 -6.77339e-05-0.036908 0.999318 uwb: 0.0 845.952 1004.57 -imu_odom_: 1691062770.191997396 0.438139 -0.265756 9.89524 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00137083 -6.77339e-05-0.036908 0.999318 uwb: 0.0 845.952 1004.57 -imu_odom_: 1691062770.206085491 0.442927 -0.244209 9.89524 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.43110066 0.221503 0.00433448 0 -0.00231361 0.000120323 -0.0369074 0.999316 uwb: 0.49992394 846.128 1004.03 -imu_odom_: 1691062770.221094904 0.438139 -0.253785 9.87848 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00231361 0.000120323 -0.0369074 0.999316 uwb: 0.0 846.128 1004.03 -imu_odom_: 1691062770.235142752 0.428562 -0.232238 9.87129 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00231361 0.000120323 -0.0369074 0.999316 uwb: 0.0 846.128 1004.03 -imu_odom_: 1691062770.250081878 0.433351 -0.265756 9.89284 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.44027593 0.221503 0.00433448 0 -0.00241524 -0.00129646 -0.0369008 0.999315 uwb: 0.50133844 846.099 1004.7 -imu_odom_: 1691062770.265085166 0.397437 -0.246603 9.89284 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00241524 -0.00129646 -0.0369008 0.999315 uwb: 0.0 846.099 1004.7 -imu_odom_: 1691062770.279101516 0.411803 -0.241814 9.91439 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00241524 -0.00129646 -0.0369008 0.999315 uwb: 0.0 846.099 1004.7 -imu_odom_: 1691062770.294082639 0.438139 -0.251391 9.87369 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.44026718 0.221503 0.00433448 0 -0.00154605 -0.000382238-0.0368941 0.999318 uwb: 0.0 846.099 1004.7 -imu_odom_: 1691062770.308066615 0.414197 -0.246603 9.90002 -0.056459 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00154605 -0.000382238-0.0368941 0.999318 uwb: 0.49994144 846.159 1004.3 -imu_odom_: 1691062770.323074862 0.423774 -0.232238 9.85693 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00154605 -0.000382238-0.0368941 0.999318 uwb: 0.0 846.159 1004.3 -imu_odom_: 1691062770.338069693 0.416591 -0.225055 9.89524 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.42853707 0.221503 0.00433448 0 -0.00125606 -0.00063304 -0.0368938 0.999318 uwb: 0.0 846.159 1004.3 -imu_odom_: 1691062770.353069482 0.416591 -0.229843 9.88326 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00125606 -0.00063304 -0.0368938 0.999318 uwb: 0.49993852 846.036 1004.17 -imu_odom_: 1691062770.366960422 0.409408 -0.268151 9.89284 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00125606 -0.00063304 -0.0368938 0.999318 uwb: 0.0 846.036 1004.17 -imu_odom_: 1691062770.382008333 0.426168 -0.241814 9.89284 -0.056459 -0.00745685 0.0394148 0 0 pose: 0.39097270 0.221503 0.00433448 0 -0.00108971 -0.00122662 -0.0368934 0.999318 uwb: 0.0 846.036 1004.17 -imu_odom_: 1691062770.396966999 0.423774 -0.251391 9.90242 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00108971 -0.00122662 -0.0368934 0.999318 uwb: 0.0 846.036 1004.17 -imu_odom_: 1691062770.411032637 0.426168 -0.222661 9.89763 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.5882556 0.221503 0.00433448 0 -0.0015958 -0.000921396-0.0368898 0.999318 uwb: 0.49882151 845.817 1004.84 -imu_odom_: 1691062770.426072090 0.395043 -0.258574 9.88087 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0015958 -0.000921396-0.0368898 0.999318 uwb: 0.0 845.817 1004.84 -imu_odom_: 1691062770.441129334 0.414197 -0.234632 9.8665 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0015958 -0.000921396-0.0368898 0.999318 uwb: 0.0 845.817 1004.84 -imu_odom_: 1691062770.455074521 0.462081 -0.251391 9.89045 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.43989970 0.221503 0.00433448 0 -0.00182537 -0.000867187-0.0368807 0.999318 uwb: 0.0 845.817 1004.84 -imu_odom_: 1691062770.470150722 0.440533 -0.246603 9.91199 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00182537 -0.000867187-0.0368807 0.999318 uwb: 0.0 845.817 1004.84 -imu_odom_: 1691062770.485128054 0.428562 -0.251391 9.88326 -0.0543285 -0.00213053 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00182537 -0.000867187-0.0368807 0.999318 uwb: 0.0 845.817 1004.84 -imu_odom_: 1691062770.499074408 0.402226 -0.241814 9.89524 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.44135795 0.221503 0.00433448 0 -0.0010413 -0.00127448 -0.0368737 0.999319 uwb: 0.0 845.817 1004.84 -imu_odom_: 1691062770.514135151 0.430956 -0.241814 9.89045 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0010413 -0.00127448 -0.0368737 0.999319 uwb: 0.99980414 845.689 1004.58 -imu_odom_: 1691062770.528928744 0.409408 -0.232238 9.89524 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0010413 -0.00127448 -0.0368737 0.999319 uwb: 0.0 845.689 1004.58 -imu_odom_: 1691062770.542932844 0.416591 -0.251391 9.8689 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.44061716 0.221503 0.00433448 0 -0.00134935 -0.000543166-0.0368752 0.999319 uwb: 0.0 845.689 1004.58 -imu_odom_: 1691062770.558084874 0.397437 -0.246603 9.8689 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00134935 -0.000543166-0.0368752 0.999319 uwb: 0.50148426 845.893 1004.98 -imu_odom_: 1691062770.573057540 0.399832 -0.263362 9.88566 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00134935 -0.000543166-0.0368752 0.999319 uwb: 0.0 845.893 1004.98 -imu_odom_: 1691062770.586908816 0.416591 -0.282516 9.89045 -0.0553937 -0.00532632 0.0415453 0 0 pose: 0.43850854 0.221503 0.00433448 0 -0.00125466 -0.000257561-0.0368636 0.999319 uwb: 0.0 845.893 1004.98 -imu_odom_: 1691062770.602060262 0.40462 -0.263362 9.89524 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00125466 -0.000257561-0.0368636 0.999319 uwb: 0.49978395 845.582 1004.99 -imu_odom_: 1691062770.616939891 0.414197 -0.244209 9.88566 -0.0543285 -0.00319579 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00125466 -0.000257561-0.0368636 0.999319 uwb: 0.0 845.582 1004.99 -imu_odom_: 1691062770.631057734 0.40462 -0.244209 9.88087 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.44077173 0.221503 0.00433448 0 -0.00323474 -0.000321539-0.0368494 0.999316 uwb: 0.0 845.582 1004.99 -imu_odom_: 1691062770.646056357 0.409408 -0.244209 9.84256 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00323474 -0.000321539-0.0368494 0.999316 uwb: 0.0 845.582 1004.99 -imu_odom_: 1691062770.660984400 0.414197 -0.246603 9.92875 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00323474 -0.000321539-0.0368494 0.999316 uwb: 0.50232421 845.534 1004.99 -imu_odom_: 1691062770.674985292 0.414197 -0.23942 9.90721 -0.0543285 -0.00319579 0.0383495 0 0 pose: 0.43992595 0.221503 0.00433448 0 -0.00147214 -0.000116089-0.0368531 0.99932 uwb: 0.0 845.534 1004.99 -imu_odom_: 1691062770.690109907 0.433351 -0.241814 9.93833 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00147214 -0.000116089-0.0368531 0.99932 uwb: 0.0 845.534 1004.99 -imu_odom_: 1691062770.705175025 0.407014 -0.253785 9.90481 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00147214 -0.000116089-0.0368531 0.99932 uwb: 0.49758783 845.677 1004.98 -imu_odom_: 1691062770.718978179 0.430956 -0.263362 9.89045 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.43886727 0.221503 0.00433448 0 -0.00189647 -9.52827e-05-0.0368515 0.999319 uwb: 0.0 845.677 1004.98 -imu_odom_: 1691062770.733973885 0.426168 -0.227449 9.89284 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00189647 -9.52827e-05-0.0368515 0.999319 uwb: 0.0 845.677 1004.98 -imu_odom_: 1691062770.748972215 0.433351 -0.23942 9.91199 -0.0575243 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00189647 -9.52827e-05-0.0368515 0.999319 uwb: 0.0 845.677 1004.98 -imu_odom_: 1691062770.762981273 0.416591 -0.244209 9.89763 -0.0553937 -0.00639159 0.04048 0 0 pose: 0.43995803 0.221503 0.00433448 0 -0.00228111 -0.00101197 -0.0368677 0.999317 uwb: 0.49878943 845.892 1005.65 -imu_odom_: 1691062770.777918649 0.411803 -0.234632 9.87848 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00228111 -0.00101197 -0.0368677 0.999317 uwb: 0.0 845.892 1005.65 -imu_odom_: 1691062770.792983184 0.402226 -0.25618 9.90002 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00228111 -0.00101197 -0.0368677 0.999317 uwb: 0.0 845.892 1005.65 -imu_odom_: 1691062770.806930705 0.426168 -0.251391 9.85693 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.44041301 0.221503 0.00433448 0 -0.0013689 -0.00220542 -0.0368636 0.999317 uwb: 0.49997352 845.815 1005.52 -imu_odom_: 1691062770.822049778 0.392649 -0.23942 9.88087 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0013689 -0.00220542 -0.0368636 0.999317 uwb: 0.0 845.815 1005.52 -imu_odom_: 1691062770.837059191 0.407014 -0.251391 9.91199 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0013689 -0.00220542 -0.0368636 0.999317 uwb: 0.0 845.815 1005.52 -imu_odom_: 1691062770.851173243 0.433351 -0.237026 9.90481 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.43938932 0.221503 0.00433448 0 -0.00217949 -0.000407872-0.0368584 0.999318 uwb: 0.50300084 846.37 1005.63 -imu_odom_: 1691062770.866037123 0.37589 -0.241814 9.86172 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00217949 -0.000407872-0.0368584 0.999318 uwb: 0.0 846.37 1005.63 -imu_odom_: 1691062770.881037787 0.397437 -0.232238 9.90721 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00217949 -0.000407872-0.0368584 0.999318 uwb: 0.0 846.37 1005.63 -imu_odom_: 1691062770.895901668 0.397437 -0.241814 9.88087 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.44134628 0.221503 0.00433448 0 -0.00205672 -0.00097561 -0.0368522 0.999318 uwb: 0.0 846.37 1005.63 -imu_odom_: 1691062770.910910206 0.435745 -0.260968 9.90242 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00205672 -0.00097561 -0.0368522 0.999318 uwb: 0.49902566 846.365 1005.5 -imu_odom_: 1691062770.925964242 0.407014 -0.23942 9.86411 -0.0532632 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00205672 -0.00097561 -0.0368522 0.999318 uwb: 0.0 846.365 1005.5 -imu_odom_: 1691062770.940907451 0.445322 -0.246603 9.8689 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.58867267 0.221503 0.00433448 0 -0.00171697 -0.000213511-0.0368337 0.99932 uwb: 0.0 846.365 1005.5 -imu_odom_: 1691062770.955904907 0.40462 -0.246603 9.86411 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00171697 -0.000213511-0.0368337 0.99932 uwb: 0.50056265 846.236 1005.91 -imu_odom_: 1691062770.970955151 0.442927 -0.25618 9.91199 -0.0575243 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00171697 -0.000213511-0.0368337 0.99932 uwb: 0.0 846.236 1005.91 -imu_odom_: 1691062770.984948751 0.411803 -0.23942 9.8689 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.29989661 0.221503 0.00433448 0 -0.00123046 -0.000518809-0.0368449 0.99932 uwb: 0.0 846.236 1005.91 -imu_odom_: 1691062770.999953498 0.418985 -0.229843 9.88326 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.15049370 0.221503 0.00433448 0 -0.00155403 -0.000782271-0.0368428 0.99932 uwb: 0.49761409 846.093 1005.91 -imu_odom_: 1691062771.13891686 0.409408 -0.244209 9.87129 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00155403 -0.000782271-0.0368428 0.99932 uwb: 0.0 846.093 1005.91 -imu_odom_: 1691062771.28937264 0.447716 -0.272939 9.8665 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00155403 -0.000782271-0.0368428 0.99932 uwb: 0.0 846.093 1005.91 -imu_odom_: 1691062771.42877202 0.40462 -0.253785 9.90721 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.30002786 0.221503 0.00433448 0 -0.00167471 -0.000890505-0.036833 0.99932 uwb: 0.0 846.093 1005.91 -imu_odom_: 1691062771.57933280 0.416591 -0.263362 9.87608 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00167471 -0.000890505-0.036833 0.99932 uwb: 0.50009019 845.783 1005.92 -imu_odom_: 1691062771.71931256 0.416591 -0.248997 9.8689 -0.056459 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00167471 -0.000890505-0.036833 0.99932 uwb: 0.0 845.783 1005.92 -imu_odom_: 1691062771.85872652 0.426168 -0.23942 9.89763 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.42988449 0.221503 0.00433448 0 -0.00173235 -0.000916778-0.0368404 0.999319 uwb: 0.0 845.783 1005.92 -imu_odom_: 1691062771.100876233 0.399832 -0.258574 9.88805 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00173235 -0.000916778-0.0368404 0.999319 uwb: 0.49937566 845.606 1005.66 -imu_odom_: 1691062771.114869542 0.428562 -0.25618 9.88805 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00173235 -0.000916778-0.0368404 0.999319 uwb: 0.0 845.606 1005.66 -imu_odom_: 1691062771.129868165 0.428562 -0.222661 9.89045 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.43985014 0.221503 0.00433448 0 -0.00261687 -0.000948619-0.0368355 0.999317 uwb: 0.0 845.606 1005.66 -imu_odom_: 1691062771.143927096 0.423774 -0.25618 9.87369 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00261687 -0.000948619-0.0368355 0.999317 uwb: 0.0 845.606 1005.66 -imu_odom_: 1691062771.157926530 0.433351 -0.248997 9.89045 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00261687 -0.000948619-0.0368355 0.999317 uwb: 0.49998521 845.553 1005.53 -imu_odom_: 1691062771.172869448 0.416591 -0.251391 9.88326 -0.056459 -0.00532632 0.04048 0 0 pose: 0.42943244 0.221503 0.00433448 0 -0.00201729 -0.000910318-0.0368356 0.999319 uwb: 0.0 845.553 1005.53 -imu_odom_: 1691062771.187869529 0.428562 -0.268151 9.92636 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00201729 -0.000910318-0.0368356 0.999319 uwb: 0.0 845.553 1005.53 -imu_odom_: 1691062771.201920585 0.407014 -0.229843 9.88087 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00201729 -0.000910318-0.0368356 0.999319 uwb: 0.50126263 845.65 1004.85 -imu_odom_: 1691062771.217045492 0.42138 -0.25618 9.84496 -0.0553937 -0.00213053 0.0394148 0 0 pose: 0.42995158 0.221503 0.00433448 0 -0.00186008 -0.0014255 -0.0368413 0.999318 uwb: 0.0 845.65 1004.85 -imu_odom_: 1691062771.231893624 0.447716 -0.258574 9.87369 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00186008 -0.0014255 -0.0368413 0.999318 uwb: 0.0 845.65 1004.85 -imu_odom_: 1691062771.246020508 0.426168 -0.248997 9.91439 -0.0532632 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00186008 -0.0014255 -0.0368413 0.999318 uwb: 0.0 845.65 1004.85 -imu_odom_: 1691062771.261018840 0.416591 -0.251391 9.93115 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.43995513 0.221503 0.00433448 0 -0.00265561 -0.00116867 -0.0368475 0.999317 uwb: 0.50119846 845.143 1005.41 -imu_odom_: 1691062771.276014254 0.418985 -0.229843 9.92157 -0.0553937 -0.00319579 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00265561 -0.00116867 -0.0368475 0.999317 uwb: 0.0 845.143 1005.41 -imu_odom_: 1691062771.291147911 0.416591 -0.244209 9.92875 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.44029345 0.221503 0.00433448 0 -0.00204597 -0.00169396 -0.0368558 0.999317 uwb: 0.0 845.143 1005.41 -imu_odom_: 1691062771.305922547 0.416591 -0.244209 9.87848 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00204597 -0.00169396 -0.0368558 0.999317 uwb: 0.49882736 844.847 1005.15 -imu_odom_: 1691062771.320911254 0.433351 -0.248997 9.87369 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00204597 -0.00169396 -0.0368558 0.999317 uwb: 0.0 844.847 1005.15 -imu_odom_: 1691062771.335041055 0.426168 -0.248997 9.89284 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.44122672 0.221503 0.00433448 0 -0.0017608 -0.000725468-0.0368449 0.999319 uwb: 0.0 844.847 1005.15 -imu_odom_: 1691062771.349930310 0.409408 -0.225055 9.92636 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0017608 -0.000725468-0.0368449 0.999319 uwb: 0.49878945 844.919 1005.14 -imu_odom_: 1691062771.364892768 0.445322 -0.248997 9.89763 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0017608 -0.000725468-0.0368449 0.999319 uwb: 0.0 844.919 1005.14 -imu_odom_: 1691062771.378910576 0.395043 -0.237026 9.91678 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.45081322 0.221503 0.00433448 0 -0.00182812 -0.00121284 -0.0368298 0.999319 uwb: 0.0 844.919 1005.14 -imu_odom_: 1691062771.393877409 0.430956 -0.244209 9.90242 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00182812 -0.00121284 -0.0368298 0.999319 uwb: 0.0 844.919 1005.14 -imu_odom_: 1691062771.408940487 0.409408 -0.241814 9.91678 -0.0532632 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00182812 -0.00121284 -0.0368298 0.999319 uwb: 0.0 844.919 1005.14 -imu_odom_: 1691062771.422884508 0.407014 -0.205901 9.87369 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.43920268 0.221503 0.00433448 0 -0.00112719 -0.000727374-0.0368276 0.999321 uwb: 0.0 844.919 1005.14 -imu_odom_: 1691062771.437940294 0.409408 -0.246603 9.89045 -0.0553937 -0.00745685 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00112719 -0.000727374-0.0368276 0.999321 uwb: 0.0 844.919 1005.14 -imu_odom_: 1691062771.452884087 0.423774 -0.248997 9.8665 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00112719 -0.000727374-0.0368276 0.999321 uwb: 0.100049246 844.904 1005.42 -imu_odom_: 1691062771.466889645 0.433351 -0.25618 9.92636 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.43856980 0.221503 0.00433448 0 -0.0007339012.13329e-06 -0.0368301 0.999321 uwb: 0.0 844.904 1005.42 -imu_odom_: 1691062771.481930849 0.414197 -0.251391 9.89524 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0007339012.13329e-06 -0.0368301 0.999321 uwb: 0.0 844.904 1005.42 -imu_odom_: 1691062771.496865892 0.392649 -0.232238 9.89045 -0.0553937 -0.00532632 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0007339012.13329e-06 -0.0368301 0.999321 uwb: 0.0 844.904 1005.42 -imu_odom_: 1691062771.510851911 0.418985 -0.248997 9.88087 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.44054135 0.221503 0.00433448 0 -0.00238182 -0.00106707 -0.0368305 0.999318 uwb: 0.49981313 845.164 1004.6 -imu_odom_: 1691062771.525963985 0.433351 -0.258574 9.88087 -0.0532632 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00238182 -0.00106707 -0.0368305 0.999318 uwb: 0.0 845.164 1004.6 -imu_odom_: 1691062771.540918277 0.407014 -0.263362 9.89045 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00238182 -0.00106707 -0.0368305 0.999318 uwb: 0.0 845.164 1004.6 -imu_odom_: 1691062771.554866381 0.407014 -0.246603 9.91918 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.43937183 0.221503 0.00433448 0 -0.00112532 0.000287349 -0.0368091 0.999322 uwb: 0.50115472 845.145 1004.73 -imu_odom_: 1691062771.569918667 0.42138 -0.251391 9.91199 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00112532 0.000287349 -0.0368091 0.999322 uwb: 0.0 845.145 1004.73 -imu_odom_: 1691062771.584920790 0.418985 -0.253785 9.8689 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00112532 0.000287349 -0.0368091 0.999322 uwb: 0.0 845.145 1004.73 -imu_odom_: 1691062771.599852334 0.395043 -0.215478 9.85693 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.44059968 0.221503 0.00433448 0 -0.00190396 -0.000145043-0.036788 0.999321 uwb: 0.49672457 844.838 1004.88 -imu_odom_: 1691062771.614855331 0.411803 -0.237026 9.87608 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00190396 -0.000145043-0.036788 0.999321 uwb: 0.0 844.838 1004.88 -imu_odom_: 1691062771.629025088 0.423774 -0.241814 9.87608 -0.056459 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00190396 -0.000145043-0.036788 0.999321 uwb: 0.0 844.838 1004.88 -imu_odom_: 1691062771.643858638 0.40462 -0.237026 9.89045 -0.0532632 -0.00319579 0.0394148 0 0 pose: 0.43925518 0.221503 0.00433448 0 -0.0009934830.00027355 -0.036778 0.999323 uwb: 0.0 844.838 1004.88 -imu_odom_: 1691062771.658912674 0.423774 -0.263362 9.8689 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0009934830.00027355 -0.036778 0.999323 uwb: 0.50141429 844.828 1005.96 -imu_odom_: 1691062771.672909192 0.414197 -0.248997 9.84256 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0009934830.00027355 -0.036778 0.999323 uwb: 0.0 844.828 1005.96 -imu_odom_: 1691062771.688024474 0.402226 -0.232238 9.85453 -0.056459 -0.00426106 0.04048 0 0 pose: 0.44061134 0.221503 0.00433448 0 -0.00151664 -0.00130782 -0.0367902 0.999321 uwb: 0.0 844.828 1005.96 -imu_odom_: 1691062771.702855982 0.395043 -0.229843 9.91439 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00151664 -0.00130782 -0.0367902 0.999321 uwb: 0.50160677 844.59 1005.97 -imu_odom_: 1691062771.717008532 0.414197 -0.258574 9.86411 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00151664 -0.00130782 -0.0367902 0.999321 uwb: 0.0 844.59 1005.97 -imu_odom_: 1691062771.732052069 0.438139 -0.234632 9.88087 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.82086013 0.221503 0.00433448 0 -0.00259448 -0.000855684-0.0367737 0.99932 uwb: 0.0 844.59 1005.97 -imu_odom_: 1691062771.746999362 0.409408 -0.241814 9.93354 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.6035964 0.221503 0.00433448 0 -0.0020723 -0.00116263 -0.0367755 0.999321 uwb: 0.0 844.59 1005.97 -imu_odom_: 1691062771.760988880 0.418985 -0.246603 9.89524 -0.0543285 -0.00639159 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0020723 -0.00116263 -0.0367755 0.999321 uwb: 0.49833156 844.82 1006.91 -imu_odom_: 1691062771.775990711 0.430956 -0.237026 9.88805 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0020723 -0.00116263 -0.0367755 0.999321 uwb: 0.0 844.82 1006.91 -imu_odom_: 1691062771.790991667 0.430956 -0.241814 9.89524 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.37944384 0.221503 0.00433448 0 -0.00193122 -0.00143224 -0.0367727 0.999321 uwb: 0.0 844.82 1006.91 -imu_odom_: 1691062771.805268167 0.433351 -0.244209 9.88326 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00193122 -0.00143224 -0.0367727 0.999321 uwb: 0.50128304 844.271 1006.94 -imu_odom_: 1691062771.819984766 0.433351 -0.237026 9.90002 -0.056459 -0.00319579 0.0415453 0 0 pose: 0.21012129 0.221503 0.00433448 0 -0.00103445 -0.00135008 -0.0367757 0.999322 uwb: 0.0 844.271 1006.94 -imu_odom_: 1691062771.834857105 0.430956 -0.234632 9.87129 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00103445 -0.00135008 -0.0367757 0.999322 uwb: 0.0 844.271 1006.94 -imu_odom_: 1691062771.848994780 0.407014 -0.244209 9.90481 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00103445 -0.00135008 -0.0367757 0.999322 uwb: 0.0 844.271 1006.94 -imu_odom_: 1691062771.863858662 0.402226 -0.229843 9.89284 -0.052198 -0.00532632 0.0383495 0 0 pose: 0.28994266 0.221503 0.00433448 0 -0.00107953 -0.00154866 -0.0367648 0.999322 uwb: 0.49738370 844.177 1006.4 -imu_odom_: 1691062771.878984735 0.457293 -0.234632 9.95509 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.29875336 0.221503 0.00433448 0 -0.000820368-0.00103939 -0.0367576 0.999323 uwb: 0.0 844.177 1006.4 -imu_odom_: 1691062771.892981836 0.416591 -0.232238 9.87369 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000820368-0.00103939 -0.0367576 0.999323 uwb: 0.0 844.177 1006.4 -imu_odom_: 1691062771.907929129 0.402226 -0.222661 9.90242 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000820368-0.00103939 -0.0367576 0.999323 uwb: 0.50134137 843.83 1006.68 -imu_odom_: 1691062771.923039745 0.42138 -0.222661 9.89524 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.14009934 0.221503 0.00433448 0 -0.00085943 -8.34339e-06-0.0367606 0.999324 uwb: 0.0 843.83 1006.68 -imu_odom_: 1691062771.937105966 0.428562 -0.241814 9.85932 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00085943 -8.34339e-06-0.0367606 0.999324 uwb: 0.0 843.83 1006.68 -imu_odom_: 1691062771.951984138 0.40462 -0.260968 9.87129 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00085943 -8.34339e-06-0.0367606 0.999324 uwb: 0.49964398 843.627 1006.96 -imu_odom_: 1691062771.966999385 0.395043 -0.227449 9.91199 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.44173711 0.221503 0.00433448 0 -0.00115719 -3.17541e-05-0.0367567 0.999324 uwb: 0.0 843.627 1006.96 -imu_odom_: 1691062771.981036150 0.440533 -0.253785 9.88326 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00115719 -3.17541e-05-0.0367567 0.999324 uwb: 0.0 843.627 1006.96 -imu_odom_: 1691062771.996098061 0.423774 -0.260968 9.87129 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00115719 -3.17541e-05-0.0367567 0.999324 uwb: 0.0 843.627 1006.96 -imu_odom_: 1691062772.10984983 0.423774 -0.234632 9.90242 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.43993763 0.221503 0.00433448 0 -0.00213693 -0.000621598-0.0367525 0.999322 uwb: 0.50051017 844.052 1006.26 -imu_odom_: 1691062772.25040122 0.407014 -0.260968 9.86411 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00213693 -0.000621598-0.0367525 0.999322 uwb: 0.0 844.052 1006.26 -imu_odom_: 1691062772.40032330 0.399832 -0.248997 9.89524 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.43944767 0.221503 0.00433448 0 -0.00218238 -0.000931442-0.0367545 0.999322 uwb: 0.0 844.052 1006.26 -imu_odom_: 1691062772.55048160 0.390255 -0.241814 9.91439 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00218238 -0.000931442-0.0367545 0.999322 uwb: 0.50030896 844.523 1006.11 -imu_odom_: 1691062772.69028638 0.409408 -0.227449 9.89763 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00218238 -0.000931442-0.0367545 0.999322 uwb: 0.0 844.523 1006.11 -imu_odom_: 1691062772.83852564 0.411803 -0.248997 9.93833 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.44101091 0.221503 0.00433448 0 -0.00192478 0.000182563 -0.0367513 0.999323 uwb: 0.0 844.523 1006.11 -imu_odom_: 1691062772.98861686 0.428562 -0.229843 9.88566 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00192478 0.000182563 -0.0367513 0.999323 uwb: 0.49830241 844.755 1006.51 -imu_odom_: 1691062772.113038735 0.407014 -0.232238 9.88087 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00192478 0.000182563 -0.0367513 0.999323 uwb: 0.0 844.755 1006.51 -imu_odom_: 1691062772.127848370 0.407014 -0.260968 9.88566 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.43781444 0.221503 0.00433448 0 -0.00156835 -8.31045e-05-0.0367447 0.999323 uwb: 0.0 844.755 1006.51 -imu_odom_: 1691062772.142971819 0.418985 -0.201113 9.88326 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00156835 -8.31045e-05-0.0367447 0.999323 uwb: 0.0 844.755 1006.51 -imu_odom_: 1691062772.156869468 0.416591 -0.234632 9.88326 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00156835 -8.31045e-05-0.0367447 0.999323 uwb: 0.50113724 844.564 1007.06 -imu_odom_: 1691062772.171939546 0.407014 -0.244209 9.89524 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.44106634 0.221503 0.00433448 0 -0.00153988 -1.61067e-05-0.0367425 0.999324 uwb: 0.0 844.564 1007.06 -imu_odom_: 1691062772.186932045 0.416591 -0.244209 9.85932 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00153988 -1.61067e-05-0.0367425 0.999324 uwb: 0.0 844.564 1007.06 -imu_odom_: 1691062772.201867964 0.399832 -0.25618 9.88326 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00153988 -1.61067e-05-0.0367425 0.999324 uwb: 0.49995606 844.433 1007.34 -imu_odom_: 1691062772.216891086 0.411803 -0.253785 9.90002 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.43978891 0.221503 0.00433448 0 -0.00159446 -0.00107276 -0.0367439 0.999323 uwb: 0.0 844.433 1007.34 -imu_odom_: 1691062772.230964599 0.414197 -0.25618 9.89524 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00159446 -0.00107276 -0.0367439 0.999323 uwb: 0.0 844.433 1007.34 -imu_odom_: 1691062772.246021261 0.438139 -0.241814 9.88326 -0.0553937 -0.00426106 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00159446 -0.00107276 -0.0367439 0.999323 uwb: 0.0 844.433 1007.34 -imu_odom_: 1691062772.260957471 0.414197 -0.220267 9.92157 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.45040200 0.221503 0.00433448 0 -0.00213357 -0.000833318-0.036734 0.999322 uwb: 0.50100016 844.486 1006.93 -imu_odom_: 1691062772.274946990 0.42138 -0.265756 9.91199 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00213357 -0.000833318-0.036734 0.999322 uwb: 0.0 844.486 1006.93 -imu_odom_: 1691062772.289943280 0.45011 -0.241814 9.89045 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00213357 -0.000833318-0.036734 0.999322 uwb: 0.0 844.486 1006.93 -imu_odom_: 1691062772.304940154 0.409408 -0.258574 9.89763 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.44113925 0.221503 0.00433448 0 -0.00104629 -0.00125954 -0.0367236 0.999324 uwb: 0.49942234 844.939 1006.91 -imu_odom_: 1691062772.318811846 0.435745 -0.263362 9.89524 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00104629 -0.00125954 -0.0367236 0.999324 uwb: 0.0 844.939 1006.91 -imu_odom_: 1691062772.340880328 0.457293 -0.232238 9.92636 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00104629 -0.00125954 -0.0367236 0.999324 uwb: 0.0 844.939 1006.91 -imu_odom_: 1691062772.357985239 -0.0574608 -0.332794 9.75158 -0.0660464 0.036219 -0.00213053 0 0 pose: 0.43959934 0.221503 0.00433448 0 -0.00170833 -0.00167187 -0.0367168 0.999323 uwb: 0.49843949 845.273 1006.89 -imu_odom_: 1691062772.375087817 -0.258574 -0.0311246 10.2208 -0.0415453 0.0213053 -0.120375 0.02 0.02 pose: 0.0 0.221503 0.00433448 0 -0.00170833 -0.00167187 -0.0367168 0.999323 uwb: 0.0 845.273 1006.89 -imu_odom_: 1691062772.392082194 -1.26653 0.1652 9.36612 -0.0639159 0.0276969 -0.0575243 0.02 0.02 pose: 0.70026921 0.221503 0.00433448 0 -0.0008170160.000108292 -0.0377057 0.999289 uwb: 0.0 845.273 1006.89 -imu_odom_: 1691062772.408001261 -0.952892 -0.912191 10.0413 -0.092678 -0.0308927 0.0756338 0.05 0.05 pose: 0.0 0.221503 0.00433448 0 -0.0008170160.000108292 -0.0377057 0.999289 uwb: 0.50111682 845.112 1007.04 -imu_odom_: 1691062772.425037926 -0.11971 -0.849942 9.87608 -0.0447411 -0.0820254 0.0692422 0.05 0.05 pose: 0.0 0.221503 0.00433448 0 -0.0008170160.000108292 -0.0377057 0.999289 uwb: 0.0 845.112 1007.04 -imu_odom_: 1691062772.441985055 0.4956 0.102951 9.93594 -0.0511327 -0.0383495 0.0969391 0.05 0.05 pose: 0.33912340 0.22973 0.0100186 0 -0.0005641530.00359875 -0.0391039 0.999229 uwb: 0.0 845.112 1007.04 -imu_odom_: 1691062772.456975804 0.304064 0.258574 9.66539 -0.0735032 0.0223706 0.126766 0.06 0.02 pose: 0.41970889 0.235391 0.00177518 0 -0.0008245880.0035056 -0.038221 0.999263 uwb: 0.50057144 845.13 1006.9 -imu_odom_: 1691062772.473136065 0.196325 -0.3304 10.2472 -0.0639159 0.0276969 0.0852212 0.06 0.02 pose: 0.7001322 0.235391 0.00177518 0 -0.0001834830.00362122 -0.0379134 0.999274 uwb: 0.0 845.13 1006.9 -imu_odom_: 1691062772.488131189 -0.335188 -0.213084 9.47864 -0.0681769 0.0138484 0.0458064 0.06 0.02 pose: 0.0 0.235391 0.00177518 0 -0.0001834830.00362122 -0.0379134 0.999274 uwb: 0.0 845.13 1006.9 -imu_odom_: 1691062772.505197602 0.0909797 -0.237026 9.98382 -0.072438 -0.00426106 0.0756338 0.08 0.05 pose: 0.39144812 0.235391 0.00177518 0 -0.0005773650.00686525 -0.0371492 0.999286 uwb: 0.50188385 845.166 1007.17 -imu_odom_: 1691062772.519074836 0.0885855 -0.505177 9.83299 -0.076699 -0.015979 0.0916127 0.09 0.02 pose: 0.0 0.235391 0.00177518 0 -0.0005773650.00686525 -0.0371492 0.999286 uwb: 0.0 845.166 1007.17 -imu_odom_: 1691062772.534077834 0.399832 -0.373495 10.1035 -0.0639159 -0.0213053 0.0852212 0.09 0.02 pose: 0.0 0.235391 0.00177518 0 -0.0005773650.00686525 -0.0371492 0.999286 uwb: 0.0 845.166 1007.17 -imu_odom_: 1691062772.550949718 0.0933739 -0.263362 9.36612 -0.0596548 -0.00106526 0.0713727 0.09 0.02 pose: 0.23014299 0.235391 0.00177518 0 -0.00128906 0.008852 -0.0366881 0.999287 uwb: 0.49736622 845.363 1006.75 -imu_odom_: 1691062772.568954366 0.0957681 -0.155623 9.51456 -0.0458064 -0.0106526 0.076699 0.14 0.02 pose: 0.0 0.235391 0.00177518 0 -0.00128906 0.008852 -0.0366881 0.999287 uwb: 0.0 845.363 1006.75 -imu_odom_: 1691062772.583077751 0.246603 -0.244209 10.2113 -0.0575243 0.0149137 0.0841559 0.14 0.02 pose: 0.0 0.235391 0.00177518 0 -0.00128906 0.008852 -0.0366881 0.999287 uwb: 0.0 845.363 1006.75 -imu_odom_: 1691062772.598934405 0.23942 -0.280122 10.1562 -0.052198 0.00852212 0.0777643 0.11 0.02 pose: 0.71932263 0.243657 0.00740406 0 -0.00134369 0.00951067 -0.0352165 0.999334 uwb: 0.0 845.363 1006.75 -imu_odom_: 1691062772.614928718 0.1652 -0.368707 9.61272 -0.0436758 -0.0415453 0.0671117 0.11 0.02 pose: 0.0 0.243657 0.00740406 0 -0.00134369 0.00951067 -0.0352165 0.999334 uwb: 0.49876030 845.645 1006.07 -imu_odom_: 1691062772.631927177 0.517148 -0.0909797 9.62708 -0.0479369 -0.0511327 0.105461 0.11 0.02 pose: 0.0 0.243657 0.00740406 0 -0.00134369 0.00951067 -0.0352165 0.999334 uwb: 0.0 845.645 1006.07 -imu_odom_: 1691062772.648927970 0.823605 -0.371101 9.94791 -0.0585895 0.00532632 0.173638 0.09 0 pose: 0.6772377 0.243657 0.00740406 0 -0.00186864 0.00914152 -0.0350932 0.99934 uwb: 0.50237675 845.654 1005.66 -imu_odom_: 1691062772.665920304 1.25456 -0.708684 10.1418 -0.052198 -0.0426106 0.165116 0.09 0 pose: 0.0 0.243657 0.00740406 0 -0.00186864 0.00914152 -0.0350932 0.99934 uwb: 0.0 845.654 1005.66 -imu_odom_: 1691062772.682041193 1.28569 -0.150835 9.44034 -0.036219 0.00426106 0.0585895 0.09 0 pose: 0.0 0.243657 0.00740406 0 -0.00186864 0.00914152 -0.0350932 0.99934 uwb: 0.0 845.654 1005.66 -imu_odom_: 1691062772.698933783 0.85473 0.318429 10.0365 -0.0553937 0.0298274 0.0575243 0.1 -0.02 pose: 0.49956525 0.249301 -0.0008506640 -0.00292043 0.00679392 -0.0336279 0.999407 uwb: 0.0 845.654 1005.66 -imu_odom_: 1691062772.715857872 0.529119 -0.342371 9.8665 -0.076699 -0.00319579 0.0639159 0.06 0.02 pose: 0.0 0.249301 -0.0008506640 -0.00292043 0.00679392 -0.0336279 0.999407 uwb: 0.0 845.654 1005.66 -imu_odom_: 1691062772.731851601 0.852336 -0.402226 10.0078 -0.056459 -0.0266316 0.0170442 0.06 0.02 pose: 0.67009814 0.257539 0.00481792 0 -0.00269174 0.00104393 -0.0315733 0.999497 uwb: 0.0 845.654 1005.66 -imu_odom_: 1691062772.747794000 0.840365 -0.241814 9.77074 -0.0426106 -0.0181095 0.0170442 0.06 0.02 pose: 0.0 0.257539 0.00481792 0 -0.00269174 0.00104393 -0.0315733 0.999497 uwb: 0.0 845.654 1005.66 -imu_odom_: 1691062772.763794146 0.90022 -0.126893 9.96467 -0.0575243 0 0.0532632 0.05 0.02 pose: 0.0 0.257539 0.00481792 0 -0.00269174 0.00104393 -0.0315733 0.999497 uwb: 0.99935798 845.792 1005.52 -imu_odom_: 1691062772.779854954 0.550666 -0.428562 9.74919 -0.056459 0.00532632 0.0553937 0.05 0.02 pose: 0.31984542 0.257539 0.00481792 0 -0.00362393 -0.00218674 -0.0317309 0.999487 uwb: 0.0 845.792 1005.52 -imu_odom_: 1691062772.796947616 0.596156 -0.258574 10.0078 -0.0468716 -0.00745685 0.0191748 0.04 0.02 pose: 0.41053945 0.257539 0.00481792 0 -0.00456531 -0.00505095 -0.0316002 0.999477 uwb: 0.0 845.792 1005.52 -imu_odom_: 1691062772.814806148 0.682347 -0.117316 9.83538 -0.0532632 -0.015979 0.0308927 0.04 0.02 pose: 0.0 0.257539 0.00481792 0 -0.00456531 -0.00505095 -0.0316002 0.999477 uwb: 0.49927652 845.754 1005.12 -imu_odom_: 1691062772.832058342 0.711078 -0.287304 9.91199 -0.0596548 0.00319579 0.0426106 0.04 0.02 pose: 0.0 0.257539 0.00481792 0 -0.00456531 -0.00505095 -0.0316002 0.999477 uwb: 0.0 845.754 1005.12 -imu_odom_: 1691062772.857927300 0.311246 -0.234632 9.88087 -0.0511327 0.0138484 0.04048 0.03 0.02 pose: 0.8057090 0.257539 0.00481792 0 -0.00420684 -0.005803 -0.031687 0.999472 uwb: 0.50014271 846.442 1004.16 -imu_odom_: 1691062772.881823837 -0.672771 -0.289698 9.60554 -0.056459 0.0852212 0.0788296 0.03 0.02 pose: 0.70015256 0.263238 -0.00339959 0 -0.00247794 -0.00679743 -0.0318348 0.999467 uwb: 0.0 846.442 1004.16 -imu_odom_: 1691062772.908820892 -1.30963 -0.349553 9.84975 -0.0436758 -0.0383495 0.0649811 0.07 0.02 pose: 0.0 0.263238 -0.00339959 0 -0.00247794 -0.00679743 -0.0318348 0.999467 uwb: 0.50004356 846.712 1004.42 -imu_odom_: 1691062772.925116478 -0.246603 -0.0287304 9.80665 -0.0511327 -0.076699 0.0511327 0.07 0.02 pose: 0.30946855 0.263238 -0.00339959 0 -0.00242376 -0.00275293 -0.0312717 0.999504 uwb: 0.0 846.712 1004.42 -imu_odom_: 1691062772.951819260 0.629675 -0.335188 9.70849 -0.0596548 -0.0245011 0.0756338 0.11 0.02 pose: 0.0 0.263238 -0.00339959 0 -0.00242376 -0.00275293 -0.0312717 0.999504 uwb: 0.49986565 846.452 1003.62 -imu_odom_: 1691062772.977773963 -0.0670376 -0.260968 9.87608 -0.0458064 0.0436758 0.02024 0.11 0.02 pose: 0.43069530 0.271449 0.00230823 0 -0.00204742 -0.000860692-0.0307919 0.999523 uwb: 0.0 846.452 1003.62 -imu_odom_: 1691062772.994898414 -0.0837971 -0.282516 9.95509 -0.0777643 -0.0298274 0.0703074 0.14 0 pose: 0.0 0.271449 0.00230823 0 -0.00204742 -0.000860692-0.0307919 0.999523 uwb: 0.0 846.452 1003.62 -imu_odom_: 1691062773.10837022 0.0670376 -0.0694318 9.61272 -0.0873517 -0.0468716 0.0692422 0.14 0 pose: 0.45830278 0.271449 0.00230823 0 -0.00261392 0.000323725 -0.0306816 0.999526 uwb: 0.49850073 846.924 1003.34 -imu_odom_: 1691062773.36766353 0.186748 -0.325611 9.98861 -0.0980043 -0.0138484 0.0575243 0.15 0.02 pose: 0.0 0.271449 0.00230823 0 -0.00261392 0.000323725 -0.0306816 0.999526 uwb: 0.0 846.924 1003.34 -imu_odom_: 1691062773.62852298 0.1652 -0.509965 10.2352 -0.0468716 -0.0149137 0.0426106 0.15 0.02 pose: 0.41036446 0.271449 0.00230817 0 -0.00261585 0.00351147 -0.0300974 0.999537 uwb: 0.50009315 846.937 1002.81 -imu_odom_: 1691062773.89901268 0.42138 -0.167594 9.90002 -0.0276969 -0.0340885 0.0415453 0.15 0 pose: 0.44041889 0.285348 -0.0003018870 -0.00569537 0.00642482 -0.0298989 0.999516 uwb: 0.0 846.937 1002.81 -imu_odom_: 1691062773.114819160 0.301669 -0.11971 9.93594 -0.0394148 -0.0553937 0.0447411 0.15 0 pose: 0.6953200 0.285348 -0.0003018870 -0.00509014 0.00584682 -0.0298916 0.999523 uwb: 0.50125392 846.684 1001.87 -imu_odom_: 1691062773.131826078 0.227449 -0.131681 10.1394 -0.0383495 -0.00958738 0.0394148 0.15 -0.02 pose: 0.0 0.285348 -0.0003018870 -0.00509014 0.00584682 -0.0298916 0.999523 uwb: 0.0 846.684 1001.87 -imu_odom_: 1691062773.147822141 0.380678 -0.007182619.99579 -0.0500674 -0.0213053 0.0436758 0.15 -0.02 pose: 0.45013662 0.285348 -0.0003018870 -0.0006777110.00378518 -0.0297939 0.999549 uwb: 0.0 846.684 1001.87 -imu_odom_: 1691062773.174801115 0.730232 -0.368707 10.4507 -0.0458064 -0.0458064 0.0426106 0.19 0 pose: 0.0 0.285348 -0.0003018870 -0.0006777110.00378518 -0.0297939 0.999549 uwb: 0.50131807 846.846 1001.34 -imu_odom_: 1691062773.199805627 -0.0502782 -0.438139 9.25359 -0.0468716 0.0394148 0.04048 0.19 0 pose: 0.33002981 0.296418 0.00123019 0 0.00221302 0.00416007 -0.0297501 0.999546 uwb: 0.50058896 847.007 1000 -imu_odom_: 1691062773.216792421 0.114922 -0.160412 9.83299 -0.0383495 -0.0266316 0.0585895 0.17 -0.02 pose: 0.0 0.296418 0.00123019 0 0.00221302 0.00416007 -0.0297501 0.999546 uwb: 0.0 847.007 1000 -imu_odom_: 1691062773.241756977 0.00718261 -0.129287 10.1801 -0.0479369 0.00426106 0.036219 0.17 -0.02 pose: 0.59020972 0.299249 -0.00290291 0 0.000308946 0.00454539 -0.0296356 0.99955 uwb: 0.0 847.007 1000 -imu_odom_: 1691062773.268857277 -0.270545 -0.035913 9.99579 -0.0649811 -0.0372843 0.0692422 0.18 0.02 pose: 0.34913864 0.307498 0.00274946 0 0.0014707 0.00788964 -0.0295799 0.99953 uwb: 0.49807494 847.009 999.332 -imu_odom_: 1691062773.284894171 0.234632 -0.371101 10.0868 -0.0660464 -0.0308927 0.0713727 0.18 0.02 pose: 0.7008905 0.307498 0.00274946 0 0.00165481 0.00844058 -0.029475 0.999529 uwb: 0.0 847.009 999.332 -imu_odom_: 1691062773.311916601 0.244209 -0.0790087 10.1873 -0.0426106 0.00852212 0.0330232 0.2 0 pose: 0.0 0.307498 0.00274946 0 0.00165481 0.00844058 -0.029475 0.999529 uwb: 0.49885656 846.77 999.331 -imu_odom_: 1691062773.329033471 0.306458 -0.292093 9.32302 -0.0735032 0 0.0671117 0.2 0 pose: 0.36128289 0.313154 -0.00549788 0 0.00050459 0.00958983 -0.0289345 0.999535 uwb: 0.0 846.77 999.331 -imu_odom_: 1691062773.344412988 0.167594 -0.287304 10.0054 -0.0607201 -0.0117179 0.0468716 0.16 -0.02 pose: 0.0 0.313154 -0.00549788 0 0.00050459 0.00958983 -0.0289345 0.999535 uwb: 0.0 846.77 999.331 -imu_odom_: 1691062773.368885532 0.158017 -0.0215478 9.68694 -0.0490022 0.0298274 0.036219 0.16 -0.02 pose: 0.50941717 0.321338 0.000248027 0 0.00102683 0.00866107 -0.0287542 0.999548 uwb: 0.50008149 846.864 999.599 -imu_odom_: 1691062773.395755722 0.354342 -0.519542 9.54808 -0.0660464 0.0276969 0.0543285 0.22 0.02 pose: 0.0 0.321338 0.000248027 0 0.00102683 0.00866107 -0.0287542 0.999548 uwb: 0.0 846.864 999.599 -imu_odom_: 1691062773.411748577 0.512359 -0.21069 9.24641 -0.0436758 0.0234358 0.036219 0.22 0.02 pose: 0.40075465 0.335269 -0.00218487 0 0.00204518 0.0101932 -0.0287033 0.999534 uwb: 0.50123058 846.749 998.796 -imu_odom_: 1691062773.438801046 0.593762 -0.447716 9.52174 -0.0830906 0.0223706 0.0532632 0.21 0.02 pose: 0.35837224 0.335269 -0.00218487 0 0.000193389 0.00841572 -0.0286005 0.999555 uwb: 0.0 846.749 998.796 -imu_odom_: 1691062773.454911436 0.102951 -0.457293 9.90481 -0.0820254 -0.00958738 0.036219 0.21 0.02 pose: 0.8050674 0.335269 -0.00218487 0 -0.0003801760.00786793 -0.0285485 0.999561 uwb: 0.49985400 846.893 998.663 -imu_odom_: 1691062773.481873494 0.287304 -0.452504 9.36133 -0.0639159 -0.0255663 0.0596548 0.21 0 pose: 0.0 0.335269 -0.00218487 0 -0.0003801760.00786793 -0.0285485 0.999561 uwb: 0.0 846.893 998.663 -imu_odom_: 1691062773.507884195 0.191536 -0.289698 9.77074 -0.0575243 -0.00745685 0.0330232 0.21 0 pose: 0.35112185 0.346708 -0.00106671 0 -0.00315388 0.00761035 -0.0284568 0.999561 uwb: 0.50103518 847.007 997.329 -imu_odom_: 1691062773.524882655 0.691924 -0.136469 9.93354 -0.0266316 0.0383495 0.036219 0.23 -0.02 pose: 0.0 0.346708 -0.00106671 0 -0.00315388 0.00761035 -0.0284568 0.999561 uwb: 0.0 847.007 997.329 -imu_odom_: 1691062773.542896053 -0.0837971 -0.476446 9.33978 -0.0500674 -0.0127832 0.0532632 0.23 -0.02 pose: 0.52972759 0.349202 -0.00461207 0 -0.00465954 0.00924703 -0.0282673 0.999547 uwb: 0.0 847.007 997.329 -imu_odom_: 1691062773.565893437 0.502782 0.0909797 10.4579 -0.0415453 -0.0245011 0.0436758 0.15 0 pose: 0.0 0.349202 -0.00461207 0 -0.00465954 0.00924703 -0.0282673 0.999547 uwb: 0.49804870 847.126 995.332 -imu_odom_: 1691062773.582890731 0.493206 -0.181959 9.68455 -0.0596548 0.0543285 0.0585895 0.15 0 pose: 0.42055760 0.363136 -0.0070328 0 -0.0040218 0.00902019 -0.028162 0.999555 uwb: 0.0 847.126 995.332 -imu_odom_: 1691062773.598829339 0.639252 -0.371101 10.4866 -0.0639159 -0.0266316 0.0255663 0.15 0 pose: 0.0 0.363136 -0.0070328 0 -0.0040218 0.00902019 -0.028162 0.999555 uwb: 0.49936986 847.101 993.997 -imu_odom_: 1691062773.616728994 0.718261 0.059855 9.83777 -0.0490022 0.00213053 0.0266316 0.17 -0.02 pose: 0.39816189 0.363136 -0.0070328 0 -0.00237221 0.00604177 -0.028013 0.999586 uwb: 0.0 847.101 993.997 -imu_odom_: 1691062773.641882246 0.296881 -0.258574 10.3382 -0.0671117 0.00426106 0.0511327 0.17 -0.02 pose: 0.0 0.363136 -0.0070328 0 -0.00237221 0.00604177 -0.028013 0.999586 uwb: 0.0 847.101 993.997 -imu_odom_: 1691062773.668868220 0.189142 -0.0957681 9.79707 -0.0607201 -0.00213053 0.036219 0.17 0 pose: 0.35098769 0.37131 -0.00127192 0 -0.00182614 0.00451803 -0.0281473 0.999592 uwb: 0.50200929 846.765 993.447 -imu_odom_: 1691062773.684859908 0.153229 -0.385466 9.71088 -0.0916127 -0.00106526 0.0671117 0.17 0 pose: 0.0 0.37131 -0.00127192 0 -0.00182614 0.00451803 -0.0281473 0.999592 uwb: 0.0 846.765 993.447 -imu_odom_: 1691062773.709841672 0.505177 -0.275333 10.2208 -0.036219 -0.0447411 0.0298274 0.18 -0.02 pose: 0.52039483 0.385244 -0.00368847 0 -0.0008871340.00798304 -0.0279679 0.999577 uwb: 0.50106142 846.754 992.641 -imu_odom_: 1691062773.723952225 0.497994 -0.292093 9.66779 -0.056459 -0.0255663 0.0511327 0.18 -0.02 pose: 0.0 0.385244 -0.00368847 0 -0.0008871340.00798304 -0.0279679 0.999577 uwb: 0.0 846.754 992.641 -imu_odom_: 1691062773.748809163 0.407014 -0.304064 10.0078 -0.0340885 -0.0543285 0.0330232 0.17 -0.02 pose: 0.38865705 0.385244 -0.00368847 0 -0.00187677 0.00481159 -0.0279594 0.999596 uwb: 0.49717667 846.879 991.172 -imu_odom_: 1691062773.765738210 0.392649 0.0287304 9.84017 -0.0479369 0.0106526 0.0596548 0.17 -0.02 pose: 0.0 0.385244 -0.00368847 0 -0.00187677 0.00481159 -0.0279594 0.999596 uwb: 0.0 846.879 991.172 -imu_odom_: 1691062773.791951606 0.663194 -0.430956 9.7037 -0.0500674 0.0543285 0.0266316 0.24 0 pose: 0.40008094 0.399179 -0.00609982 0 -0.00240557 0.00118489 -0.0279349 0.999606 uwb: 0.0 846.879 991.172 -imu_odom_: 1691062773.809892384 0.502782 -0.177171 9.93115 -0.0511327 -0.0298274 0.0468716 0.24 0 pose: 0.0 0.399179 -0.00609982 0 -0.00240557 0.00118489 -0.0279349 0.999606 uwb: 0.50027981 846.709 989.684 -imu_odom_: 1691062773.825847032 0.320823 -0.383072 9.80186 -0.0617853 -0.0181095 0.0681769 0.24 -0.02 pose: 0.43991434 0.399179 -0.00609982 0 -0.00225989 -0.000851836-0.0279827 0.999605 uwb: 0.0 846.709 989.684 -imu_odom_: 1691062773.849743570 0.399832 -0.141258 10.1035 -0.0447411 0.00958738 0.0436758 0.24 -0.02 pose: 0.0 0.399179 -0.00609982 0 -0.00225989 -0.000851836-0.0279827 0.999605 uwb: 0.49999399 846.25 989.383 -imu_odom_: 1691062773.874941445 0.428562 -0.464475 10.0724 -0.0713727 0.02024 0.0692422 0.19 -0.02 pose: 0.33075893 0.413114 -0.00851147 0 -0.00207257 -0.000640181-0.0277019 0.999614 uwb: 0.0 846.25 989.383 -imu_odom_: 1691062773.891860285 0.509965 -0.0215478 10.2376 -0.0500674 -0.0266316 0.0372843 0.19 -0.02 pose: 0.0 0.413114 -0.00851147 0 -0.00207257 -0.000640181-0.0277019 0.999614 uwb: 0.0 846.25 989.383 -imu_odom_: 1691062773.916864505 0.272939 -0.37589 9.42118 -0.0788296 0.0106526 0.0628506 0.17 0.02 pose: 0.25106588 0.413114 -0.00851147 0 -0.00118405 -0.000247401-0.0275466 0.99962 uwb: 0.50153390 846.274 988.71 -imu_odom_: 1691062773.943999220 0.452504 -0.320823 9.57441 -0.0575243 0.0234358 0.0372843 0.23 0 pose: 0.0 0.413114 -0.00851147 0 -0.00118405 -0.000247401-0.0275466 0.99962 uwb: 0.0 846.274 988.71 -imu_odom_: 1691062773.968720541 0.292093 -0.579397 9.30866 -0.0894822 0.0276969 0.0639159 0.18 0 pose: 0.58922395 0.427053 -0.0109098 0 -0.00333852 0.00110463 -0.0270205 0.999629 uwb: 0.49917737 846.855 987.408 -imu_odom_: 1691062773.995885004 0.543484 0.023942 10.0389 -0.0617853 0.00319579 0.0468716 0.22 0.02 pose: 0.35052397 0.435215 -0.00513277 0 -0.00569352 -0.00030613 -0.026964 0.99962 uwb: 0.0 846.855 987.408 -imu_odom_: 1691062774.21934786 0.562637 -0.47884 9.52174 -0.0681769 0.0436758 0.0287621 0.22 0.02 pose: 0.0 0.435215 -0.00513277 0 -0.00569352 -0.00030613 -0.026964 0.99962 uwb: 0.49853866 846.724 985.375 -imu_odom_: 1691062774.38834086 -0.0407014 -0.225055 10.1155 -0.0415453 0.0170442 0.04048 0.25 0 pose: 0.23880498 0.435215 -0.00513277 0 -0.00684897 0.000472675 -0.0267322 0.999619 uwb: 0.0 846.724 985.375 -imu_odom_: 1691062774.64771292 0.258574 -0.335188 9.50019 -0.0426106 -0.0319579 0.0436758 0.25 0 pose: 0.52982676 0.449156 -0.00751002 0 -0.0069373 -0.000568486-0.0268091 0.999616 uwb: 0.0 846.724 985.375 -imu_odom_: 1691062774.88854777 0.514753 -0.0670376 9.87129 -0.052198 -0.0319579 0.0490022 0.24 0 pose: 0.35991216 0.449156 -0.00751002 0 -0.00628799 0.0027283 -0.0267262 0.999619 uwb: 0.0 846.724 985.375 -imu_odom_: 1691062774.114844480 0.610521 -0.538695 9.69652 -0.0532632 0.0138484 0.0394148 0.24 0 pose: 0.0 0.449156 -0.00751002 0 -0.00628799 0.0027283 -0.0267262 0.999619 uwb: 0.99997927 846.432 984.669 -imu_odom_: 1691062774.131831566 0.301669 -0.114922 9.83777 -0.0458064 0.00106526 0.0511327 0.18 -0.02 pose: 0.50073188 0.463098 -0.00988611 0 -0.00613605 -0.000383235-0.0266261 0.999627 uwb: 0.0 846.432 984.669 -imu_odom_: 1691062774.157840517 0.617704 -0.0814029 9.99819 -0.0394148 -0.0234358 0.0308927 0.18 -0.02 pose: 0.0 0.463098 -0.00988611 0 -0.00613605 -0.000383235-0.0266261 0.999627 uwb: 0.50027108 846.705 983.884 -imu_odom_: 1691062774.182712038 0.426168 -0.251391 9.46188 -0.0617853 0.0234358 0.0511327 0.22 0.02 pose: 0.42996037 0.473299 -0.0116223 0 -0.00251911 -0.00173782 -0.0266443 0.99964 uwb: 0.0 846.705 983.884 -imu_odom_: 1691062774.207701968 -0.110133 -0.316035 9.23444 -0.036219 0.0426106 0.0298274 0.22 0.02 pose: 0.0 0.473299 -0.0116223 0 -0.00251911 -0.00173782 -0.0266443 0.99964 uwb: 0.49961778 846.741 982.667 -imu_odom_: 1691062774.223928435 0.347159 -0.198719 10.1897 -0.0532632 -0.0191748 0.0543285 0.18 -0.02 pose: 0.30892320 0.477039 -0.0122592 0 -0.0009185540.00116693 -0.0265292 0.999647 uwb: 0.0 846.741 982.667 -imu_odom_: 1691062774.249844350 0.933739 -0.229843 9.84975 -0.0543285 -0.0458064 0.0340885 0.18 -0.02 pose: 0.0 0.477039 -0.0122592 0 -0.0009185540.00116693 -0.0265292 0.999647 uwb: 0.49930864 846.835 981.863 -imu_odom_: 1691062774.274906901 0.543484 -0.490811 9.59835 -0.0553937 -0.015979 0.0426106 0.18 0 pose: 0.25027261 0.485196 -0.00647422 0 -0.0004205410.00321951 -0.026574 0.999642 uwb: 0.0 846.835 981.863 -imu_odom_: 1691062774.296712317 0.349553 -0.395043 9.61511 -0.0181095 0 0.0191748 0.18 0 pose: 0.0 0.485196 -0.00647422 0 -0.0004205410.00321951 -0.026574 0.999642 uwb: 0.0 846.835 981.863 -imu_odom_: 1691062774.322753642 0.399832 -0.191536 10.5441 -0.0426106 -0.0426106 0.0543285 0.18 0 pose: 0.67097897 0.490982 -0.0146306 0 -0.00233978 -0.00119354 -0.0265867 0.999643 uwb: 0.50081938 847.202 980.821 -imu_odom_: 1691062774.338888238 0.806846 -0.282516 9.33739 -0.0447411 0.0223706 0.0372843 0.18 0 pose: 0.0 0.490982 -0.0146306 0 -0.00233978 -0.00119354 -0.0265867 0.999643 uwb: 0.0 847.202 980.821 -imu_odom_: 1691062774.363862711 0.342371 -0.258574 9.86172 -0.0596548 0.0490022 0.0596548 0.22 0.02 pose: 0.47901863 0.499139 -0.00884609 0 -0.000717524-0.00108626 -0.0265579 0.999646 uwb: 0.50105561 847.056 979.715 -imu_odom_: 1691062774.389974906 0.260968 -0.0095768110.2448 -0.0500674 -0.015979 0.0394148 0.21 0.02 pose: 0.35102853 0.513081 -0.011218 0 -0.00149905 0.00113153 -0.026317 0.999652 uwb: 0.0 847.056 979.715 -imu_odom_: 1691062774.415779995 0.708684 -0.3304 10.0341 -0.0788296 -0.0319579 0.076699 0.21 0.02 pose: 0.0 0.513081 -0.011218 0 -0.00149905 0.00113153 -0.026317 0.999652 uwb: 0.49869909 847.176 977.153 -imu_odom_: 1691062774.432837660 0.742203 -0.189142 10.0293 -0.0394148 0.0287621 0.0319579 0.23 -0.02 pose: 0.7899309 0.513081 -0.011218 0 -0.0007659350.00142422 -0.0263163 0.999652 uwb: 0.0 847.176 977.153 -imu_odom_: 1691062774.458699912 0.136469 -0.481235 9.31105 -0.0713727 0.0181095 0.0639159 0.23 -0.02 pose: 0.0 0.513081 -0.011218 0 -0.0007659350.00142422 -0.0263163 0.999652 uwb: 0.50073188 847.568 975.713 -imu_odom_: 1691062774.476139638 -0.208296 -0.320823 9.59357 -0.0553937 -0.02024 0.0372843 0.25 0 pose: 0.51219951 0.527024 -0.0135794 0 -0.000258829-0.00123933 -0.0258632 0.999665 uwb: 0.0 847.568 975.713 -imu_odom_: 1691062774.501723073 0.627281 -0.198719 10.3549 -0.0628506 -0.0575243 0.0532632 0.25 0 pose: 0.0 0.527024 -0.0135794 0 -0.000258829-0.00123933 -0.0258632 0.999665 uwb: 0.50030024 847.662 973.548 -imu_odom_: 1691062774.517711262 0.837971 -0.356736 9.42837 -0.0660464 0.0106526 0.0500674 0.24 0 pose: 0.42875587 0.527024 -0.0135794 0 -0.00201837 0.00088255 -0.0255901 0.99967 uwb: 0.0 847.662 973.548 -imu_odom_: 1691062774.543833665 0.92895 -0.342371 9.34457 -0.0809601 -0.0308927 0.0596548 0.24 0 pose: 0.0 0.527024 -0.0135794 0 -0.00201837 0.00088255 -0.0255901 0.99967 uwb: 0.0 847.662 973.548 -imu_odom_: 1691062774.567837239 0.47884 -0.454898 9.81623 -0.0532632 0.0447411 0.0223706 0.21 -0.02 pose: 0.41892730 0.540971 -0.015924 0 -0.00191609 -0.00189246 -0.0253967 0.999674 uwb: 0.49777165 847.851 972.348 -imu_odom_: 1691062774.593953225 -0.110133 -0.265756 10.3477 -0.0692422 -0.00958738 0.0468716 0.21 -0.02 pose: 0.0 0.540971 -0.015924 0 -0.00191609 -0.00189246 -0.0253967 0.999674 uwb: 0.0 847.851 972.348 -imu_odom_: 1691062774.609837587 0.251391 -0.213084 9.70849 -0.04048 -0.00532632 0.0330232 0.19 0 pose: 0.42999246 0.549114 -0.0101186 0 -0.00379925 -0.00534818 -0.0251435 0.999662 uwb: 0.50114602 847.855 971.662 -imu_odom_: 1691062774.635871329 0.383072 -0.402226 9.63906 -0.0639159 0.0245011 0.0490022 0.19 0 pose: 0.0 0.549114 -0.0101186 0 -0.00379925 -0.00534818 -0.0251435 0.999662 uwb: 0.0 847.855 971.662 -imu_odom_: 1691062774.660682187 0.562637 -0.0550666 9.51456 -0.0383495 -0.0479369 0.0468716 0.21 0 pose: 0.50098561 0.554922 -0.018259 0 -0.00491967 -0.00143262 -0.0251938 0.999669 uwb: 0.49989193 847.887 970.98 -imu_odom_: 1691062774.682657343 0.624887 -0.234632 9.87369 -0.076699 -0.0213053 0.0543285 0.21 0 pose: 0.0 0.554922 -0.018259 0 -0.00491967 -0.00143262 -0.0251938 0.999669 uwb: 0.0 847.887 970.98 -imu_odom_: 1691062774.699660178 0.148441 -0.225055 9.82341 -0.0383495 0.0340885 0.0149137 0.17 0 pose: 0.41875523 0.563063 -0.0124517 0 -0.00632346 9.99611e-05 -0.0250694 0.999666 uwb: 0.50037899 848.127 970.614 -imu_odom_: 1691062774.723740748 -0.0215478 -0.574608 9.72285 -0.072438 -0.0106526 0.052198 0.17 0 pose: 0.0 0.563063 -0.0124517 0 -0.00632346 9.99611e-05 -0.0250694 0.999666 uwb: 0.0 848.127 970.614 -imu_odom_: 1691062774.746755632 0.356736 -0.337582 9.41161 -0.0468716 -0.0383495 0.0308927 0.19 -0.02 pose: 0.46936214 0.577012 -0.014778 0 -0.00396869 -0.00268718 -0.0249395 0.999677 uwb: 0.0 848.127 970.614 -imu_odom_: 1691062774.763748551 0.550666 -0.117316 10.0509 -0.056459 -0.0181095 0.0585895 0.19 -0.02 pose: 0.0 0.577012 -0.014778 0 -0.00396869 -0.00268718 -0.0249395 0.999677 uwb: 0.50009900 848.638 968.791 -imu_odom_: 1691062774.787730543 0.536301 -0.440533 10.0173 -0.0372843 0.0298274 0.0351537 0.25 -0.02 pose: 0.74088719 0.590962 -0.0171046 0 -0.00500864 0.000760906 -0.0248298 0.999679 uwb: 0.0 848.638 968.791 -imu_odom_: 1691062774.812668268 1.00317 -0.272939 9.71088 -0.0596548 0.00426106 0.056459 0.25 -0.02 pose: 0.7079776 0.590962 -0.0171046 0 -0.00541864 0.00035653 -0.024849 0.999676 uwb: 0.49935822 848.719 967.704 -imu_odom_: 1691062774.837723528 0.802058 -0.263362 9.80904 -0.036219 -0.00426106 0.0351537 0.18 0.02 pose: 0.41839941 0.596546 -0.0131151 0 -0.00623845 -0.00298499 -0.0247012 0.999671 uwb: 0.0 848.719 967.704 -imu_odom_: 1691062774.854668033 0.344765 -0.25618 9.85453 -0.0468716 -0.0607201 0.0553937 0.18 0.02 pose: 0.0 0.596546 -0.0131151 0 -0.00623845 -0.00298499 -0.0247012 0.999671 uwb: 0.50011650 848.921 967.333 -imu_odom_: 1691062774.879714835 0.258574 -0.251391 9.67018 -0.0351537 -0.0340885 0.0255663 0.18 0.02 pose: 0.41999765 0.604913 -0.0194262 0 -0.00484298 -0.00436921 -0.0246306 0.999675 uwb: 0.0 848.921 967.333 -imu_odom_: 1691062774.904747638 0.447716 -0.445322 9.52892 -0.0660464 -0.036219 0.0660464 0.18 0.02 pose: 0.0 0.604913 -0.0194262 0 -0.00484298 -0.00436921 -0.0246306 0.999675 uwb: 0.49991818 849.069 965.568 -imu_odom_: 1691062774.930642846 0.471658 -0.0622492 9.95509 -0.0468716 0.00319579 0.0415453 0.2 0 pose: 0.50079605 0.613048 -0.0136104 0 -0.00661979 -0.00264218 -0.0244555 0.999676 uwb: 0.0 849.069 965.568 -imu_odom_: 1691062774.947636057 0.584185 -0.0957681 9.94312 -0.0788296 -0.0170442 0.0692422 0.2 0 pose: 0.0 0.613048 -0.0136104 0 -0.00661979 -0.00264218 -0.0244555 0.999676 uwb: 0.0 849.069 965.568 -imu_odom_: 1691062774.972796894 0.739808 -0.0383072 10.1203 -0.052198 -0.0447411 0.0447411 0.21 0 pose: 0.32976734 0.618868 -0.0217427 0 -0.00341885 -0.0031762 -0.0243371 0.999693 uwb: 0.50049857 849.283 963.816 -imu_odom_: 1691062774.997822405 0.56982 -0.306458 10.1394 -0.0671117 -0.00426106 0.0585895 0.23 0.02 pose: 0.0 0.618868 -0.0217427 0 -0.00341885 -0.0031762 -0.0243371 0.999693 uwb: 0.0 849.283 963.816 -imu_odom_: 1691062775.19780355 0.466869 -0.179565 9.73961 -0.0543285 0.0223706 0.0351537 0.23 0.02 pose: 0.42084051 0.626998 -0.0159214 0 -0.00173075 -0.00656196 -0.0240694 0.999687 uwb: 0.49945737 849.33 962.713 -imu_odom_: 1691062775.35862164 0.390255 -0.167594 10.0126 -0.100135 -0.0213053 0.0681769 0.23 0.02 pose: 0.0 0.626998 -0.0159214 0 -0.00173075 -0.00656196 -0.0240694 0.999687 uwb: 0.0 849.33 962.713 -imu_odom_: 1691062775.52639847 1.18752 -0.189142 9.71806 -0.0788296 0.00213053 0.0383495 0.19 0 pose: 0.45916902 0.640952 -0.0182237 0 -0.0014971 -0.00530572 -0.0238644 0.9997 uwb: 0.50185183 849.118 962.381 -imu_odom_: 1691062775.77842681 0.61531 -0.296881 9.73482 -0.0756338 0.00213053 0.0511327 0.19 0 pose: 0.0 0.640952 -0.0182237 0 -0.0014971 -0.00530572 -0.0238644 0.9997 uwb: 0.0 849.118 962.381 -imu_odom_: 1691062775.101766636 0.222661 -0.308852 10.0293 -0.0372843 -0.0276969 0.0319579 0.18 0.02 pose: 0.35045400 0.640952 -0.0182237 0 -0.00184216 -0.00679851 -0.0236874 0.999695 uwb: 0.49742169 849.196 960.719 -imu_odom_: 1691062775.126894225 0.488417 -0.361524 10.3094 -0.0596548 -0.0543285 0.0500674 0.18 0 pose: 0.0 0.640952 -0.0182237 0 -0.00184216 -0.00679851 -0.0236874 0.999695 uwb: 0.0 849.196 960.719 -imu_odom_: 1691062775.151694002 0.888249 -0.287304 10.2927 -0.0479369 -0.0191748 0.0468716 0.18 0 pose: 0.40995911 0.653208 -0.0181479 0 -0.00297736 -0.00605374 -0.0236657 0.999697 uwb: 0.50189849 848.989 959.818 -imu_odom_: 1691062775.176759761 0.19393 -0.162806 9.81623 -0.036219 -0.0245011 0.0532632 0.25 0.02 pose: 0.6970699 0.654907 -0.0205152 0 -0.00362726 -0.0059303 -0.0236241 0.999697 uwb: 0.0 848.989 959.818 -imu_odom_: 1691062775.190805570 0.47884 -0.0383072 10.4651 -0.0330232 -0.0127832 0.0511327 0.25 0.02 pose: 0.0 0.654907 -0.0205152 0 -0.00362726 -0.0059303 -0.0236241 0.999697 uwb: 0.0 848.989 959.818 -imu_odom_: 1691062775.206663684 0.723049 -0.445322 9.3709 -0.0777643 -0.00319579 0.0639159 0.25 0.02 pose: 0.0 0.654907 -0.0205152 0 -0.00362726 -0.0059303 -0.0236241 0.999697 uwb: 0.49927949 848.928 958.67 -imu_odom_: 1691062775.231711070 0.924162 -0.40462 9.39006 -0.0468716 0.0191748 0.0351537 0.17 0 pose: 0.50039359 0.663029 -0.0146811 0 -0.0047297 -0.00769285 -0.023387 0.999686 uwb: 0.0 848.928 958.67 -imu_odom_: 1691062775.254623295 0.347159 -0.529119 9.09078 -0.0575243 0.02024 0.0447411 0.17 0 pose: 0.0 0.663029 -0.0146811 0 -0.0047297 -0.00769285 -0.023387 0.999686 uwb: 0.49941073 848.673 957.889 -imu_odom_: 1691062775.279772466 -0.155623 -0.263362 9.46188 -0.0330232 0.0191748 0.036219 0.18 0.02 pose: 0.79019921 0.676983 -0.0169592 0 -0.00476718 -0.00872517 -0.0230254 0.999685 uwb: 0.0 848.673 957.889 -imu_odom_: 1691062775.304670236 0.174777 -0.292093 10.0892 -0.0703074 -0.0830906 0.0671117 0.23 0 pose: 0.41975851 0.68862 -0.0209029 0 -0.00542783 -0.00455573 -0.0229963 0.99971 uwb: 0.50000278 848.511 956.273 -imu_odom_: 1691062775.330626984 0.68953 -0.186748 10.3549 -0.0713727 -0.0458064 0.0394148 0.23 0 pose: 0.0 0.68862 -0.0209029 0 -0.00542783 -0.00455573 -0.0229963 0.99971 uwb: 0.0 848.511 956.273 -imu_odom_: 1691062775.356660143 0.248997 -0.131681 9.89763 -0.0490022 -0.0479369 0.0383495 0.21 0 pose: 0.6857540 0.690941 -0.0192314 0 -0.00540907 -0.00414216 -0.0228974 0.999715 uwb: 0.49886243 848.312 955.929 -imu_odom_: 1691062775.381691196 -0.0311246 0.0790087 10.1634 -0.0351537 -0.00213053 0.0468716 0.21 0 pose: 0.0 0.690941 -0.0192314 0 -0.00540907 -0.00414216 -0.0228974 0.999715 uwb: 0.0 848.312 955.929 -imu_odom_: 1691062775.398698990 0.447716 -0.47884 9.59596 -0.0458064 0 0.0511327 0.21 -0.02 pose: 0.51120209 0.690941 -0.0192314 0 -0.0038674 -0.00538493 -0.0226564 0.999721 uwb: 0.0 848.312 955.929 -imu_odom_: 1691062775.423644008 0.407014 -0.0574608 10.1586 -0.0351537 0.00532632 0.0500674 0.21 -0.02 pose: 0.0 0.690941 -0.0192314 0 -0.0038674 -0.00538493 -0.0226564 0.999721 uwb: 0.49984821 848.258 954.763 -imu_odom_: 1691062775.449627878 0.648829 -0.227449 10.1011 -0.0649811 -0.00106526 0.04048 0.19 0 pose: 0.50913722 0.704901 -0.0214939 0 -0.00176968 -0.00211523 -0.0225318 0.999742 uwb: 0.50165642 847.906 953.208 -imu_odom_: 1691062775.463790637 0.332794 0.00957681 9.91678 -0.0415453 -0.0181095 0.0543285 0.19 0 pose: 0.0 0.704901 -0.0214939 0 -0.00176968 -0.00211523 -0.0225318 0.999742 uwb: 0.0 847.906 953.208 -imu_odom_: 1691062775.487761256 0.196325 -0.356736 9.95988 -0.0649811 0.0436758 0.0553937 0.18 0 pose: 0.75126700 0.718862 -0.0237507 0 0.000945883 -0.00346496 -0.0222326 0.999746 uwb: 0.0 847.906 953.208 -imu_odom_: 1691062775.511736541 0.603339 0 10.2663 -0.0617853 -0.0170442 0.0585895 0.18 0 pose: 0.0 0.718862 -0.0237507 0 0.000945883 -0.00346496 -0.0222326 0.999746 uwb: 0.50082231 847.592 952.528 -imu_odom_: 1691062775.537769700 0.658405 -0.181959 10.2065 -0.0852212 0.0223706 0.0426106 0.25 0.02 pose: 0.6856665 0.718862 -0.0237507 0 0.000580475 -0.0027015 -0.0221778 0.99975 uwb: 0.0 847.592 952.528 -imu_odom_: 1691062775.562823794 0.500388 -0.521936 9.70609 -0.0553937 0.0245011 0.0575243 0.19 0 pose: 0.49187452 0.732828 -0.0259975 0 0.00127638 -0.00322341 -0.0218018 0.999756 uwb: 0.49872828 847.628 951.224 -imu_odom_: 1691062775.579629183 0.706289 -0.201113 10.2592 -0.0660464 -0.0330232 0.0532632 0.19 0 pose: 0.0 0.732828 -0.0259975 0 0.00127638 -0.00322341 -0.0218018 0.999756 uwb: 0.0 847.628 951.224 -imu_odom_: 1691062775.603877743 0.517148 0.0335188 10.4842 -0.056459 0.00426106 0.0500674 0.19 0 pose: 0.25821422 0.732828 -0.0259975 0 0.000215909 -0.00465695 -0.0216977 0.999754 uwb: 0.50121312 847.342 950.248 -imu_odom_: 1691062775.630779433 0.560243 -0.263362 9.33739 -0.056459 0.0191748 0.0372843 0.19 0 pose: 0.42019891 0.740928 -0.0201335 0 -0.000504886-0.00623371 -0.0213868 0.999752 uwb: 0.0 847.342 950.248 -imu_odom_: 1691062775.655783946 0.849942 -0.31364 9.55047 -0.0585895 0.052198 0.0436758 0.19 0 pose: 0.43103366 0.75249 -0.0241037 0 -0.00120904 -0.00716885 -0.0213269 0.999746 uwb: 0.49795248 847.377 949.225 -imu_odom_: 1691062775.680750254 0.198719 -0.105345 10.5345 -0.0330232 0.015979 0.0287621 0.19 0 pose: 0.0 0.75249 -0.0241037 0 -0.00120904 -0.00716885 -0.0213269 0.999746 uwb: 0.0 847.377 949.225 -imu_odom_: 1691062775.694609115 0.131681 -0.241814 9.44991 -0.0543285 -0.0181095 0.0543285 0.18 0 pose: 0.49970821 0.759294 -0.0284291 0 -0.000698396-0.0063084 -0.0214117 0.999751 uwb: 0.0 847.377 949.225 -imu_odom_: 1691062775.710661468 0.433351 -0.146046 10.4674 -0.052198 -0.0191748 0.0394148 0.18 0 pose: 0.0 0.759294 -0.0284291 0 -0.000698396-0.0063084 -0.0214117 0.999751 uwb: 0.50047525 846.9 947.581 -imu_odom_: 1691062775.731589022 0.172383 -0.25618 9.70609 -0.0415453 0.00958738 0.0372843 0.18 0 pose: 0.0 0.759294 -0.0284291 0 -0.000698396-0.0063084 -0.0214117 0.999751 uwb: 0.0 846.9 947.581 -imu_odom_: 1691062775.745659912 0.545878 -0.189142 10.477 -0.0628506 -0.0319579 0.056459 0.18 -0.02 pose: 0.36855664 0.76886 -0.0245873 0 0.00045666 -0.00334926 -0.0213227 0.999767 uwb: 0.0 846.9 947.581 -imu_odom_: 1691062775.762601502 0.464475 -0.323217 9.57202 -0.052198 0.0223706 0.0266316 0.18 -0.02 pose: 0.0 0.76886 -0.0245873 0 0.00045666 -0.00334926 -0.0213227 0.999767 uwb: 0.49885660 846.906 946.686 -imu_odom_: 1691062775.779603755 0.399832 -0.0957681 9.88087 -0.0532632 -0.0223706 0.04048 0.18 0 pose: 0.0 0.76886 -0.0245873 0 0.00045666 -0.00334926 -0.0213227 0.999767 uwb: 0.0 846.906 946.686 -imu_odom_: 1691062775.796680669 0.653617 -0.0861913 10.161 -0.0735032 -0.0383495 0.0511327 0.18 0 pose: 0.52000114 0.782826 -0.0268132 0 -0.000518098-0.00292385 -0.0213217 0.999768 uwb: 0.0 846.906 946.686 -imu_odom_: 1691062775.821627145 0.237026 -0.124498 9.74201 -0.056459 0.0245011 0.036219 0.18 -0.02 pose: 0.0 0.782826 -0.0268132 0 -0.000518098-0.00292385 -0.0213217 0.999768 uwb: 0.50126562 846.688 946.008 -imu_odom_: 1691062775.847608099 0.440533 -0.459687 9.46428 -0.0511327 -0.02024 0.0468716 0.21 0.02 pose: 0.27074637 0.782826 -0.0268132 0 0.00109448 -0.00438431 -0.0212229 0.999765 uwb: 0.0 846.688 946.008 -imu_odom_: 1691062775.872717898 0.354342 -0.299275 9.5792 -0.0479369 0.0191748 0.0436758 0.18 0.02 pose: 0.50927430 0.794971 -0.0265256 0 -0.000761789-0.00185449 -0.0211716 0.999774 uwb: 0.49993570 846.777 943.928 -imu_odom_: 1691062775.898598524 -0.0430956 -0.244209 10.0054 -0.0276969 0.0213053 0.0415453 0.21 0.05 pose: 0.0 0.794971 -0.0265256 0 -0.000761789-0.00185449 -0.0211716 0.999774 uwb: 0.0 846.777 943.928 -imu_odom_: 1691062775.922611724 0.191536 -0.138864 9.90721 -0.0447411 -0.0585895 0.0585895 0.21 0.05 pose: 0.33051105 0.796793 -0.0290367 0 -0.00208551 0.00128549 -0.0211065 0.999774 uwb: 0.50016318 847.194 942.868 -imu_odom_: 1691062775.940613165 0.893037 -0.248997 9.9503 -0.052198 -0.0117179 0.0308927 0.19 0.02 pose: 0.0 0.796793 -0.0290367 0 -0.00208551 0.00128549 -0.0211065 0.999774 uwb: 0.0 847.194 942.868 -imu_odom_: 1691062775.964705693 0.42138 -0.42138 9.73482 -0.0660464 0.0394148 0.0713727 0.19 0.02 pose: 0.50104980 0.804886 -0.0231632 0 -0.0001814750.00369276 -0.020884 0.999775 uwb: 0.49842496 847.202 941.498 -imu_odom_: 1691062775.988596691 0.232238 -0.158017 9.88805 -0.0308927 0.0191748 0.0383495 0.25 0 pose: 0.33941509 0.8165 -0.0270864 0 -0.00265052 0.00245999 -0.0205506 0.999782 uwb: 0.0 847.202 941.498 -imu_odom_: 1691062776.6588508 0.215478 -0.237026 9.55765 -0.0607201 -0.0266316 0.0628506 0.25 0 pose: 0.0 0.8165 -0.0270864 0 -0.00265052 0.00245999 -0.0205506 0.999782 uwb: 0.49978987 847.155 940.56 -imu_odom_: 1691062776.30627082 0.94571 -0.304064 9.62708 -0.0585895 -0.0234358 0.0319579 0.18 0.02 pose: 0.6956991 0.818853 -0.0253752 0 -0.00209188 0.00305253 -0.0205528 0.999782 uwb: 0.0 847.155 940.56 -imu_odom_: 1691062776.47633127 0.392649 -0.0909797 10.4603 -0.0585895 0.0213053 0.0532632 0.18 0.02 pose: 0.0 0.818853 -0.0253752 0 -0.00209188 0.00305253 -0.0205528 0.999782 uwb: 0.0 847.155 940.56 -imu_odom_: 1691062776.71884021 0.639252 -0.122104 10.2424 -0.0756338 0.0170442 0.0447411 0.19 0 pose: 0.41939688 0.818853 -0.0253752 0 -0.0009677580.00532999 -0.020375 0.999778 uwb: 0.50400713 847.255 939.521 -imu_odom_: 1691062776.95713773 0.56982 0.0454898 10.1682 -0.0671117 -0.0106526 0.0490022 0.19 0 pose: 0.0 0.818853 -0.0253752 0 -0.0009677580.00532999 -0.020375 0.999778 uwb: 0.0 847.255 939.521 -imu_odom_: 1691062776.120602795 0.859518 -0.0694318 9.87369 -0.0649811 -0.0479369 0.0415453 0.25 0 pose: 0.42041474 0.832823 -0.0275747 0 0.000455398 0.00233666 -0.0203 0.999791 uwb: 0.49589638 847.505 938.384 -imu_odom_: 1691062776.143600765 0.383072 -0.270545 9.44752 -0.0852212 0.00852212 0.0511327 0.25 0 pose: 0.0 0.832823 -0.0275747 0 0.000455398 0.00233666 -0.0203 0.999791 uwb: 0.0 847.505 938.384 -imu_odom_: 1691062776.168625987 -0.110133 -0.462081 9.12909 -0.0394148 0.0298274 0.0298274 0.18 0 pose: 0.48032524 0.846793 -0.0297705 0 0.00256209 -0.00155832 -0.0201314 0.999793 uwb: 0.50043736 847.487 936.977 -imu_odom_: 1691062776.185693278 0.143652 -0.167594 9.97903 -0.0585895 -0.0383495 0.0458064 0.18 0 pose: 0.0 0.846793 -0.0297705 0 0.00256209 -0.00155832 -0.0201314 0.999793 uwb: 0.0 847.487 936.977 -imu_odom_: 1691062776.209629483 0.383072 -0.248997 9.61272 -0.0436758 -0.0500674 0.0351537 0.18 0 pose: 0.48061398 0.846793 -0.0297705 0 0.000411216 -0.00109725 -0.0200169 0.999799 uwb: 0.50111106 847.616 935.312 -imu_odom_: 1691062776.235683350 0.682347 -0.517148 9.62708 -0.0639159 -0.0191748 0.0553937 0.18 0 pose: 0.0 0.846793 -0.0297705 0 0.000411216 -0.00109725 -0.0200169 0.999799 uwb: 0.0 847.616 935.312 -imu_odom_: 1691062776.251561005 0.577003 -0.138864 10.1921 -0.0511327 0.0191748 0.0468716 0.19 0 pose: 0.41856861 0.860765 -0.03196 0 -0.0004629840.0015637 -0.0200638 0.999797 uwb: 0.50112564 848.622 933.703 -imu_odom_: 1691062776.276557937 0.59855 -0.237026 9.43076 -0.072438 -0.0308927 0.0585895 0.19 0 pose: 0.0 0.860765 -0.03196 0 -0.0004629840.0015637 -0.0200638 0.999797 uwb: 0.0 848.622 933.703 -imu_odom_: 1691062776.299589155 0.677559 -0.148441 9.58878 -0.0468716 -0.00852212 0.0266316 0.18 -0.02 pose: 0.48972509 0.868845 -0.0260689 0 -0.00322723 -0.00199468 -0.0198779 0.999795 uwb: 0.50003780 848.644 933.238 -imu_odom_: 1691062776.323618104 0.270545 -0.574608 9.01417 -0.0607201 0.00745685 0.0500674 0.18 -0.02 pose: 0.0 0.868845 -0.0260689 0 -0.00322723 -0.00199468 -0.0198779 0.999795 uwb: 0.0 848.644 933.238 -imu_odom_: 1691062776.349579519 0.205901 -0.19393 9.38766 -0.0266316 -0.0106526 0.0319579 0.23 0 pose: 0.40183962 0.87474 -0.0341468 0 -0.00207369 -0.00586313 -0.019661 0.999787 uwb: 0.49750336 848.826 932.535 -imu_odom_: 1691062776.363584205 0.409408 -0.112527 10.2544 -0.0468716 -0.02024 0.0532632 0.23 0 pose: 0.0 0.87474 -0.0341468 0 -0.00207369 -0.00586313 -0.019661 0.999787 uwb: 0.0 848.826 932.535 -imu_odom_: 1691062776.386596758 0.517148 -0.225055 10.0054 -0.052198 -0.0500674 0.0340885 0.17 -0.02 pose: 0.48862266 0.882816 -0.0282497 0 -0.00273946 -0.00494926 -0.0196654 0.999791 uwb: 0.0 848.826 932.535 -imu_odom_: 1691062776.404805562 0.536301 -0.122104 10.0604 -0.0500674 0.00852212 0.0372843 0.17 -0.02 pose: 0.0 0.882816 -0.0282497 0 -0.00273946 -0.00494926 -0.0196654 0.999791 uwb: 0.49994447 848.617 931.488 -imu_odom_: 1691062776.428704144 0.373495 -0.201113 10.1586 -0.0500674 0.00852212 0.0298274 0.18 0 pose: 0.73192196 0.896789 -0.0304287 0 0.00121337 -0.00595544 -0.0197319 0.999787 uwb: 0.0 848.617 931.488 -imu_odom_: 1691062776.453587041 0.390255 -0.203507 9.62469 -0.0639159 -0.02024 0.0553937 0.18 0 pose: 0.7835438 0.896789 -0.0304287 0 0.00118133 -0.00512322 -0.0197706 0.999791 uwb: 0.50007862 848.667 931.032 -imu_odom_: 1691062776.476636925 0.696713 -0.519542 9.0836 -0.0436758 0.0383495 0.0351537 0.18 0 pose: 0.40946041 0.909095 -0.030328 0 0.000690721 -0.00114227 -0.0196557 0.999806 uwb: 0.0 848.667 931.032 -imu_odom_: 1691062776.492771815 0.488417 -0.100556 10.1107 -0.0340885 -0.0127832 0.0532632 0.18 0 pose: 0.0 0.909095 -0.030328 0 0.000690721 -0.00114227 -0.0196557 0.999806 uwb: 0.0 848.667 931.032 -imu_odom_: 1691062776.509608411 0.529119 -0.213084 9.74919 -0.0436758 -0.04048 0.0553937 0.22 0 pose: 0.0 0.909095 -0.030328 0 0.000690721 -0.00114227 -0.0196557 0.999806 uwb: 0.50354341 848.736 930.425 -imu_odom_: 1691062776.526841067 0.390255 0.0287304 10.0556 -0.0468716 -0.015979 0.0415453 0.22 0 pose: 0.46141182 0.918839 -0.0267144 0 0.000650131 -0.00352831 -0.0195401 0.999803 uwb: 0.0 848.736 930.425 -imu_odom_: 1691062776.549652382 0.471658 -0.349553 10.003 -0.0777643 -0.0426106 0.0745685 0.19 0 pose: 0.0 0.918839 -0.0267144 0 0.000650131 -0.00352831 -0.0195401 0.999803 uwb: 0.49684716 848.263 929.404 -imu_odom_: 1691062776.574767140 0.411803 -0.129287 10.1394 -0.0575243 -0.0426106 0.0372843 0.19 0 pose: 0.33903596 0.924738 -0.0347889 0 0.0013969 -0.00416554 -0.0193303 0.999803 uwb: 0.0 848.263 929.404 -imu_odom_: 1691062776.598702178 0.105345 -0.337582 10.0269 -0.0575243 -0.0479369 0.056459 0.21 0 pose: 0.41135321 0.932811 -0.0288867 0 0.00151476 -0.00321855 -0.0190819 0.999812 uwb: 0.49936700 847.998 928.958 -imu_odom_: 1691062776.615589230 1.00317 -0.275333 10.5321 -0.0532632 -0.0181095 0.0308927 0.21 0 pose: 0.7859937 0.932811 -0.0288867 0 0.00120791 -0.00266153 -0.0190161 0.999815 uwb: 0.0 847.998 928.958 -imu_odom_: 1691062776.640692614 0.612916 -0.251391 9.89284 -0.0703074 0.0543285 0.0671117 0.18 -0.02 pose: 0.0 0.932811 -0.0288867 0 0.00120791 -0.00266153 -0.0190161 0.999815 uwb: 0.0 847.998 928.958 -imu_odom_: 1691062776.665609050 0.565032 0.124498 10.0245 -0.0617853 -0.0213053 0.0447411 0.18 -0.02 pose: 0.41007870 0.946787 -0.0310457 0 4.02912e-05 -0.00383913 -0.0188416 0.999815 uwb: 0.50039944 847.815 928.06 -imu_odom_: 1691062776.679560073 0.696713 -0.184354 9.40442 -0.076699 -0.0340885 0.0532632 0.18 -0.02 pose: 0.0 0.946787 -0.0310457 0 4.02912e-05 -0.00383913 -0.0188416 0.999815 uwb: 0.0 847.815 928.06 -imu_odom_: 1691062776.696559410 0.715866 -0.354342 10.0245 -0.076699 -0.0117179 0.0372843 0.18 -0.02 pose: 0.47978278 0.946787 -0.0310457 0 0.00165939 -0.0063481 -0.0185112 0.999807 uwb: 0.0 847.815 928.06 -imu_odom_: 1691062776.721544676 0.445322 -0.466869 9.53371 -0.052198 -0.0553937 0.052198 0.2 0 pose: 0.0 0.946787 -0.0310457 0 0.00165939 -0.0063481 -0.0185112 0.999807 uwb: 0.50201225 848.385 927.194 -imu_odom_: 1691062776.744596018 0.459687 -0.280122 9.39006 -0.0383495 -0.0245011 0.036219 0.2 0 pose: 0.33249720 0.960766 -0.033193 0 -0.000618643-0.00834019 -0.0184071 0.999796 uwb: 0.0 848.385 927.194 -imu_odom_: 1691062776.770660384 0.909797 -0.325611 9.67257 -0.0585895 0.0170442 0.0511327 0.25 0 pose: 0.39733073 0.960766 -0.033193 0 -0.00256135 -0.0060697 -0.0183162 0.999811 uwb: 0.49866122 847.828 927.253 -imu_odom_: 1691062776.792687747 0.742203 -0.244209 10.5082 -0.0372843 0 0.0340885 0.25 0 pose: 0.0 0.960766 -0.033193 0 -0.00256135 -0.0060697 -0.0183162 0.999811 uwb: 0.0 847.828 927.253 -imu_odom_: 1691062776.816566206 0.881066 -0.0790087 10.5225 -0.0649811 -0.0436758 0.0607201 0.21 0 pose: 0.48091729 0.972631 -0.0324556 0 -0.00249926 -0.010485 -0.0182383 0.999776 uwb: 0.49882453 848.04 926.21 -imu_odom_: 1691062776.842611032 0.744597 0.0837971 9.98861 -0.052198 -0.00852212 0.036219 0.21 0 pose: 0.0 0.972631 -0.0324556 0 -0.00249926 -0.010485 -0.0182383 0.999776 uwb: 0.0 848.04 926.21 -imu_odom_: 1691062776.856679881 0.35913 -0.217872 9.73243 -0.0671117 0.00958738 0.0479369 0.18 0 pose: 0.49923285 0.982803 -0.0294112 0 0.00126808 -0.0137038 -0.018081 0.999742 uwb: 0.49982781 848.238 924.995 -imu_odom_: 1691062776.879683392 0.177171 -0.162806 9.50977 -0.0532632 0.0181095 0.0340885 0.18 0 pose: 0.0 0.982803 -0.0294112 0 0.00126808 -0.0137038 -0.018081 0.999742 uwb: 0.0 848.238 924.995 -imu_odom_: 1691062776.903534144 0.471658 -0.100556 10.1538 -0.0798948 -0.0106526 0.0681769 0.23 0.02 pose: 0.37072360 0.99407 -0.0335404 0 0.00127505 -0.00965331 -0.0180913 0.999789 uwb: 0.50122188 848.317 923.714 -imu_odom_: 1691062776.920660348 1.06542 -0.402226 9.60075 -0.0468716 -0.00745685 0.0308927 0.23 0.02 pose: 0.0 0.99407 -0.0335404 0 0.00127505 -0.00965331 -0.0180913 0.999789 uwb: 0.0 848.317 923.714 -imu_odom_: 1691062776.944657799 0.684742 -0.349553 9.81862 -0.0575243 -0.0106526 0.0553937 0.18 0 pose: 0.40976956 0.996784 -0.0315465 0 0.00169122 -0.00935267 -0.0178336 0.999796 uwb: 0.0 848.317 923.714 -imu_odom_: 1691062776.970531427 0.318429 -0.237026 10.2065 -0.0308927 -0.0383495 0.0394148 0.18 0 pose: 0.0 0.996784 -0.0315465 0 0.00169122 -0.00935267 -0.0178336 0.999796 uwb: 0.49987447 848.187 923.815 -imu_odom_: 1691062776.994674994 0.665588 -0.21069 10.3741 -0.0639159 -0.02024 0.056459 0.18 0 pose: 0.49871079 1.0085 -0.0353407 0 -0.000224382-0.00846899 -0.0176194 0.999809 uwb: 0.0 848.187 923.815 -imu_odom_: 1691062777.10561399 0.912191 -0.354342 9.89284 -0.0553937 0.00639159 0.0319579 0.18 0 pose: 0.0 1.0085 -0.0353407 0 -0.000224382-0.00846899 -0.0176194 0.999809 uwb: 0.49878662 847.466 923.286 -imu_odom_: 1691062777.36674472 0.215478 -0.304064 9.88087 -0.0660464 0.0181095 0.076699 0.25 -0.02 pose: 0.40029972 1.01076 -0.0336722 0 -0.000932676-0.0124153 -0.0174703 0.99977 uwb: 0.0 847.466 923.286 -imu_odom_: 1691062777.61584202 0.469264 -0.184354 9.98622 -0.0490022 -0.00852212 0.0479369 0.25 -0.02 pose: 0.0 1.01076 -0.0336722 0 -0.000932676-0.0124153 -0.0174703 0.99977 uwb: 0.50141148 847.639 921.53 -imu_odom_: 1691062777.86525138 0.584185 -0.292093 10.2232 -0.0862864 -0.0245011 0.0671117 0.21 0.02 pose: 0.34010341 1.02475 -0.0357859 0 -0.00111311 -0.00884293 -0.0169498 0.999817 uwb: 0.0 847.639 921.53 -imu_odom_: 1691062777.99523927 0.921768 -0.270545 9.62948 -0.0617853 -0.0170442 0.0351537 0.21 0.02 pose: 0.0 1.02475 -0.0357859 0 -0.00111311 -0.00884293 -0.0169498 0.999817 uwb: 0.0 847.639 921.53 -imu_odom_: 1691062777.123596916 0.593762 -0.600945 9.21528 -0.076699 -0.00213053 0.0660464 0.18 0 pose: 0.54952187 1.03279 -0.0298423 0 -0.00308317 -0.00994488 -0.0165582 0.999809 uwb: 0.0 847.639 921.53 -imu_odom_: 1691062777.141598359 0.636858 -0.162806 10.4315 -0.072438 0.0138484 0.0543285 0.18 0 pose: 0.0 1.03279 -0.0298423 0 -0.00308317 -0.00994488 -0.0165582 0.999809 uwb: 0.0 847.639 921.53 -imu_odom_: 1691062777.165506275 0.442927 0.0574608 10.1873 -0.0649811 0.0106526 0.0543285 0.18 0.02 pose: 0.42074432 1.03874 -0.03788 0 -0.00412916 -0.0100856 -0.0161076 0.999811 uwb: 0.99876320 847.624 920.679 -imu_odom_: 1691062777.191575892 0.687136 -0.158017 9.59596 -0.0671117 -0.0585895 0.0458064 0.18 0.02 pose: 0.7977180 1.03874 -0.03788 0 -0.00343902 -0.00969902 -0.0160555 0.999818 uwb: 0.0 847.624 920.679 -imu_odom_: 1691062777.215554095 0.416591 -0.543484 9.56244 -0.0745685 -0.0138484 0.0511327 0.19 0.05 pose: 0.23970620 1.04677 -0.0319246 0 -0.0016139 -0.00977583 -0.015932 0.999824 uwb: 0.50115775 847.593 919.304 -imu_odom_: 1691062777.241619046 0.316035 -0.363919 9.64624 -0.0266316 -0.0181095 0.0372843 0.21 0.02 pose: 0.26138155 1.05273 -0.0399563 0 -0.00136461 -0.0112662 -0.0158345 0.99981 uwb: 0.0 847.593 919.304 -imu_odom_: 1691062777.264542938 0.442927 -0.237026 10.1466 -0.0468716 -0.0383495 0.0479369 0.21 0.02 pose: 0.0 1.05273 -0.0399563 0 -0.00136461 -0.0112662 -0.0158345 0.99981 uwb: 0.49920077 847.249 919.293 -imu_odom_: 1691062777.280672287 1.05105 -0.387861 9.50977 -0.052198 0.0255663 0.0330232 0.21 0.02 pose: 0.0 1.05273 -0.0399563 0 -0.00136461 -0.0112662 -0.0158345 0.99981 uwb: 0.0 847.249 919.293 -imu_odom_: 1691062777.305535061 0.277727 -0.385466 9.48104 -0.0958738 -0.00532632 0.0809601 0.19 0 pose: 0.24026325 1.06076 -0.0339969 0 -0.0029738 -0.00973986 -0.015732 0.999824 uwb: 0.49948952 846.018 919.33 -imu_odom_: 1691062777.328587571 0.325611 -0.241814 9.94312 -0.00745685 -0.0213053 0.02024 0.18 0 pose: 0.48843602 1.06076 -0.0339969 0 -0.0026269 -0.00704465 -0.0156675 0.999849 uwb: 0.0 846.018 919.33 -imu_odom_: 1691062777.344510432 0.40462 -0.493206 9.60075 -0.0607201 -0.0575243 0.0575243 0.18 0 pose: 0.32980820 1.07247 -0.0377565 0 -0.0043001 -0.00542679 -0.0151705 0.999861 uwb: 0.0 846.018 919.33 -imu_odom_: 1691062777.370505970 0.914585 -0.474052 9.42358 -0.04048 0.00106526 0.0532632 0.25 -0.02 pose: 0.7064902 1.07475 -0.0360619 0 -0.00391798 -0.00481637 -0.015236 0.999865 uwb: 0.50041987 846.211 917.193 -imu_odom_: 1691062777.392540625 0.361524 -0.500388 9.20092 -0.0394148 0.0106526 0.0298274 0.25 -0.02 pose: 0.0 1.07475 -0.0360619 0 -0.00391798 -0.00481637 -0.015236 0.999865 uwb: 0.0 846.211 917.193 -imu_odom_: 1691062777.408522400 0.440533 0.138864 10.6135 -0.0468716 0.00106526 0.0319579 0.25 -0.02 pose: 0.0 1.07475 -0.0360619 0 -0.00391798 -0.00481637 -0.015236 0.999865 uwb: 0.50097400 846.218 915.635 -imu_odom_: 1691062777.434527854 0.964863 -0.0837971 10.2711 -0.0798948 0.00958738 0.0607201 0.19 0 pose: 0.39922355 1.07475 -0.0360619 0 -0.00486718 -0.00411057 -0.0151808 0.999864 uwb: 0.0 846.218 915.635 -imu_odom_: 1691062777.456654087 0.976834 0.011971 10.1394 -0.0575243 -0.0383495 0.0319579 0.18 0.02 pose: 0.48036901 1.08874 -0.0381154 0 -0.00611733 -0.0040955 -0.0151862 0.999858 uwb: 0.49842208 845.686 915.519 -imu_odom_: 1691062777.482516633 0.78051 -0.514753 9.58878 -0.0596548 -0.015979 0.0458064 0.18 0.02 pose: 0.33968635 1.09472 -0.0336642 0 -0.00448856 -0.00616548 -0.0149637 0.999859 uwb: 0.0 845.686 915.519 -imu_odom_: 1691062777.499483889 0.462081 -0.308852 9.70131 -0.052198 -0.0213053 0.0266316 0.18 0.02 pose: 0.0 1.09472 -0.0336642 0 -0.00448856 -0.00616548 -0.0149637 0.999859 uwb: 0.50062111 845.604 915.123 -imu_odom_: 1691062777.523492132 0.893037 -0.553061 9.55765 -0.0596548 -0.0532632 0.056459 0.23 -0.02 pose: 0.6138917 1.09676 -0.0321451 0 -0.00415137 -0.0067784 -0.014991 0.999856 uwb: 0.0 845.604 915.123 -imu_odom_: 1691062777.540556507 0.220267 -0.232238 9.90242 -0.04048 0.0117179 0.0415453 0.23 -0.02 pose: 0.0 1.09676 -0.0321451 0 -0.00415137 -0.0067784 -0.014991 0.999856 uwb: 0.0 845.604 915.123 -imu_odom_: 1691062777.565637434 0.672771 0.0742203 9.93594 -0.0511327 0.02024 0.052198 0.23 -0.02 pose: 0.49910453 1.11076 -0.0341929 0 -0.00522987 -0.00949708 -0.0150185 0.999828 uwb: 0.49988907 845.394 914.127 -imu_odom_: 1691062777.582828093 0.318429 -0.225055 9.90002 -0.0575243 0.0170442 0.04048 0.23 -0.02 pose: 0.0 1.11076 -0.0341929 0 -0.00522987 -0.00949708 -0.0150185 0.999828 uwb: 0.0 845.394 914.127 -imu_odom_: 1691062777.607757363 0.282516 -0.268151 9.77313 -0.0692422 -0.0319579 0.0671117 0.23 -0.02 pose: 0.83163674 1.12475 -0.036236 0 -0.00342813 -0.00875072 -0.0147056 0.999848 uwb: 0.49999698 845.804 913.295 -imu_odom_: 1691062777.633673865 0.869095 -0.232238 10.1251 -0.0553937 -0.00745685 0.0351537 0.23 0 pose: 0.34016465 1.12475 -0.036236 0 -0.0033192 -0.00561326 -0.0143508 0.999876 uwb: 0.0 845.804 913.295 -imu_odom_: 1691062777.658510974 0.277727 -0.158017 9.65582 -0.0681769 -0.00852212 0.0532632 0.23 0 pose: 0.0 1.12475 -0.036236 0 -0.0033192 -0.00561326 -0.0143508 0.999876 uwb: 0.50008447 846.027 912.177 -imu_odom_: 1691062777.675576807 0.517148 -0.275333 10.2041 -0.0820254 0.015979 0.0394148 0.21 -0.02 pose: 0.7892310 1.12475 -0.036236 0 -0.00322574 -0.00641069 -0.0143713 0.999871 uwb: 0.0 846.027 912.177 -imu_odom_: 1691062777.699490264 0.845153 -0.56982 9.77792 -0.0628506 0.0319579 0.0468716 0.21 -0.02 pose: 0.0 1.12475 -0.036236 0 -0.00322574 -0.00641069 -0.0143713 0.999871 uwb: 0.49994449 846.181 911.192 -imu_odom_: 1691062777.725467720 0.411803 -0.361524 9.25119 -0.0511327 0.0245011 0.0490022 0.2 -0.02 pose: 0.50873478 1.13875 -0.0382668 0 -0.00306851 -0.00558162 -0.0142468 0.999878 uwb: 0.0 846.181 911.192 -imu_odom_: 1691062777.739524320 0.150835 -0.263362 10.137 -0.0458064 0.0213053 0.0436758 0.2 -0.02 pose: 0.0 1.13875 -0.0382668 0 -0.00306851 -0.00558162 -0.0142468 0.999878 uwb: 0.0 846.181 911.192 -imu_odom_: 1691062777.756526574 0.251391 0.0837971 9.91439 -0.0660464 -0.015979 0.0607201 0.2 -0.02 pose: 0.0 1.13875 -0.0382668 0 -0.00306851 -0.00558162 -0.0142468 0.999878 uwb: 0.50306512 846.392 909.695 -imu_odom_: 1691062777.782499364 0.191536 -0.414197 9.8258 -0.0607201 0.0351537 0.0351537 0.18 0.02 pose: 0.41027996 1.15274 -0.0402933 0 -0.00591603 -0.00565808 -0.0141134 0.999867 uwb: 0.0 846.392 909.695 -imu_odom_: 1691062777.807537419 0.493206 -0.205901 10.1394 -0.0607201 -0.00213053 0.04048 0.22 0 pose: 0.74948217 1.1648 -0.0397137 0 -0.00574187 0.00131211 -0.0138476 0.999887 uwb: 0.49597806 847.281 907.509 -imu_odom_: 1691062777.832494979 0.136469 -0.335188 9.53132 -0.0532632 -0.0213053 0.0500674 0.22 0 pose: 0.0 1.1648 -0.0397137 0 -0.00574187 0.00131211 -0.0138476 0.999887 uwb: 0.0 847.281 907.509 -imu_odom_: 1691062777.857711231 0.926556 -0.169988 9.83059 -0.0372843 -0.02024 0.0330232 0.2 -0.02 pose: 0.8085965 1.16674 -0.0423112 0 -0.00517633 0.000762958 -0.0138465 0.99989 uwb: 0.50069694 847.301 906.606 -imu_odom_: 1691062777.882530550 0.328006 -0.174777 10.4555 -0.056459 -0.0149137 0.0511327 0.2 -0.02 pose: 0.0 1.16674 -0.0423112 0 -0.00517633 0.000762958 -0.0138465 0.99989 uwb: 0.0 847.301 906.606 -imu_odom_: 1691062777.907513775 0.88346 0.0981623 10.2496 -0.0447411 -0.0628506 0.0330232 0.2 0 pose: 0.48935763 1.17475 -0.0363202 0 -0.00412909 0.00112518 -0.013728 0.999897 uwb: 0.49940493 846.874 906.712 -imu_odom_: 1691062777.932498166 0.533907 -0.299275 9.97664 -0.0777643 -0.015979 0.0468716 0.19 0.02 pose: 0.0 1.17475 -0.0363202 0 -0.00296054 -0.000349801-0.0136466 0.999905 uwb: 0.0 846.874 906.712 -imu_odom_: 1691062777.949619413 0.464475 -0.423774 9.44991 -0.0415453 -0.0511327 0.0245011 0.19 0.02 pose: 0.0 1.18874 -0.0383335 0 -0.00115915 -0.000281013-0.0136731 0.999906 uwb: 0.50052487 846.488 906.661 -imu_odom_: 1691062777.974474896 0.64404 -0.308852 10.161 -0.072438 -0.0181095 0.0617853 0.19 0.02 pose: 0.0 1.18874 -0.0383335 0 -0.00115915 -0.000281013-0.0136731 0.999906 uwb: 0.0 846.488 906.661 -imu_odom_: 1691062777.998605340 0.54109 -0.19393 10.0628 -0.0340885 -0.036219 0.0330232 0.18 0 pose: 0.67148943 1.20274 -0.040346 0 -0.00391649 -0.00518676 -0.0136694 0.999885 uwb: 0.50104400 846.808 904.643 -imu_odom_: 1691062778.21488693 0.222661 -0.102951 10.1849 -0.056459 -0.0106526 0.0639159 0.19 0 pose: 0.0 1.20274 -0.040346 0 -0.00391649 -0.00518676 -0.0136694 0.999885 uwb: 0.0 846.808 904.643 -imu_odom_: 1691062778.36471571 0.620098 -0.181959 9.94791 -0.0394148 -0.0266316 0.0415453 0.19 0 pose: 0.40967041 1.20274 -0.040346 0 -0.00164351 -0.00734771 -0.0135802 0.999879 uwb: 0.0 846.808 904.643 -imu_odom_: 1691062778.54631380 0.296881 -0.215478 9.81144 -0.0340885 -0.0149137 0.0607201 0.19 0 pose: 0.0 1.20274 -0.040346 0 -0.00164351 -0.00734771 -0.0135802 0.999879 uwb: 0.49722925 847.075 904.438 -imu_odom_: 1691062778.78675788 0.0143652 -0.162806 9.6606 -0.02024 0 0.0276969 0.18 0.02 pose: 0.6942993 1.20274 -0.040346 0 -0.00136272 -0.00673587 -0.0134968 0.999885 uwb: 0.0 847.075 904.438 -imu_odom_: 1691062778.104470381 0.426168 -0.459687 9.78031 -0.0713727 -0.0490022 0.0756338 0.18 0.02 pose: 0.0 1.20274 -0.040346 0 -0.00136272 -0.00673587 -0.0134968 0.999885 uwb: 0.50245268 846.716 904.028 -imu_odom_: 1691062778.128594701 0.447716 -0.134075 10.1418 -0.04048 -0.0351537 0.0458064 0.18 0 pose: 0.56964566 1.21674 -0.0423528 0 0.00037246 -0.00438176 -0.0131473 0.999904 uwb: 0.0 846.716 904.028 -imu_odom_: 1691062778.154528994 0.459687 -0.397437 9.75158 -0.072438 0.0330232 0.0585895 0.19 0 pose: 0.49995908 1.22474 -0.0363512 0 -0.00108372 -0.00302213 -0.0127492 0.999914 uwb: 0.49886540 846.115 903.464 -imu_odom_: 1691062778.179590674 0.222661 -0.0957681 10.2304 -0.0543285 0.0308927 0.0511327 0.19 0 pose: 0.0 1.22474 -0.0363512 0 -0.00108372 -0.00302213 -0.0127492 0.999914 uwb: 0.0 846.115 903.464 -imu_odom_: 1691062778.202478694 0.78051 -0.023942 10.5082 -0.0735032 0.0117179 0.0543285 0.21 0.02 pose: 0.67081867 1.23874 -0.038335 0 -0.00069652 -4.59641e-05-0.0123042 0.999924 uwb: 0.50126858 845.878 903.127 -imu_odom_: 1691062778.219534903 0.54109 -0.222661 9.65582 -0.0500674 -0.0181095 0.0426106 0.21 0.02 pose: 0.6954075 1.23874 -0.038335 0 -0.000433437-0.000604396-0.0122534 0.999925 uwb: 0.0 845.878 903.127 -imu_odom_: 1691062778.245528109 0.349553 -0.337582 9.59596 -0.092678 0.00958738 0.0617853 0.18 0.02 pose: 0.0 1.23874 -0.038335 0 -0.000433437-0.000604396-0.0122534 0.999925 uwb: 0.0 845.878 903.127 -imu_odom_: 1691062778.270459422 0.636858 -0.126893 10.0652 -0.0607201 -0.00213053 0.0511327 0.18 0.02 pose: 0.32990154 1.24873 -0.0433289 0 -2.17899e-06-0.00369612 -0.0121103 0.99992 uwb: 0.49902581 846.214 901.268 -imu_odom_: 1691062778.295524893 0.490811 -0.071826 10.2448 -0.052198 0.015979 0.0330232 0.19 0 pose: 0.50924519 1.25274 -0.0403059 0 -0.0010148 -0.00371529 -0.0116801 0.999924 uwb: 0.0 846.214 901.268 -imu_odom_: 1691062778.320634111 0.833182 -0.418985 9.46428 -0.0713727 -0.0426106 0.056459 0.19 0 pose: 0.0 1.25274 -0.0403059 0 -0.0010148 -0.00371529 -0.0116801 0.999924 uwb: 0.49863792 846.822 899.762 -imu_odom_: 1691062778.336460437 0.215478 -0.296881 9.61272 -0.04048 0.0191748 0.0394148 0.2 0 pose: 0.50174689 1.26675 -0.0422628 0 -6.86561e-05-0.00625339 -0.011553 0.999914 uwb: 0.0 846.822 899.762 -imu_odom_: 1691062778.353459192 0.936133 -0.126893 10.2137 -0.052198 -0.0500674 0.052198 0.2 0 pose: 0.0 1.26675 -0.0422628 0 -6.86561e-05-0.00625339 -0.011553 0.999914 uwb: 0.50068820 846.545 900.536 -imu_odom_: 1691062778.378460792 0.572214 -0.009576819.86411 -0.0394148 0.00106526 0.0543285 0.18 -0.02 pose: 0.32825081 1.27071 -0.0392734 0 1.36025e-05 -0.00659282 -0.0114456 0.999913 uwb: 0.0 846.545 900.536 -imu_odom_: 1691062778.402462327 0.306458 -0.114922 9.56723 -0.0479369 0.0287621 0.0511327 0.18 -0.02 pose: 0.9073780 1.27473 -0.0362348 0 0.000974157 -0.00675739 -0.011384 0.999912 uwb: 0.50016324 847.386 898.605 -imu_odom_: 1691062778.427600419 0.555455 -0.270545 9.87129 -0.0394148 0.00106526 0.0351537 0.25 0 pose: 0.39929355 1.28076 -0.0442125 0 0.00327038 -0.00430797 -0.0111457 0.999923 uwb: 0.0 847.386 898.605 -imu_odom_: 1691062778.452454736 0.349553 -0.299275 9.53132 -0.0649811 0.0607201 0.0553937 0.25 0 pose: 0.0 1.28076 -0.0442125 0 0.00327038 -0.00430797 -0.0111457 0.999923 uwb: 0.49996783 848.376 897.343 -imu_odom_: 1691062778.469440950 0.579397 -0.169988 10.8218 -0.0394148 0.00426106 0.0394148 0.19 0 pose: 0.8039302 1.28076 -0.0442125 0 0.00263145 -0.00467913 -0.0111588 0.999923 uwb: 0.0 848.376 897.343 -imu_odom_: 1691062778.494568250 0.665588 0.059855 10.4579 -0.0511327 -0.0149137 0.0607201 0.19 0 pose: 0.0 1.28076 -0.0442125 0 0.00263145 -0.00467913 -0.0111588 0.999923 uwb: 0.0 848.376 897.343 -imu_odom_: 1691062778.517495643 0.684742 -0.0933739 10.1083 -0.0468716 -0.0415453 0.0319579 0.23 0 pose: 0.49980742 1.29477 -0.0461532 0 0.000115553 -0.00332333 -0.0109863 0.999934 uwb: 0.49957411 848.602 896.335 -imu_odom_: 1691062778.543603176 0.708684 -0.299275 9.83777 -0.0660464 -0.0426106 0.0490022 0.23 0 pose: 0.42027186 1.30274 -0.040115 0 0.00295476 -0.00657189 -0.0107599 0.999916 uwb: 0.0 848.602 896.335 -imu_odom_: 1691062778.558599761 0.418985 -0.383072 9.87608 -0.0543285 0.00213053 0.0330232 0.18 -0.02 pose: 0.0 1.30274 -0.040115 0 0.00295476 -0.00657189 -0.0107599 0.999916 uwb: 0.50018657 849.061 895.292 -imu_odom_: 1691062778.584498764 0.1652 -0.292093 9.79947 -0.0500674 -0.0458064 0.0490022 0.18 -0.02 pose: 0.0 1.30274 -0.040115 0 0.00295476 -0.00657189 -0.0107599 0.999916 uwb: 0.0 849.061 895.292 -imu_odom_: 1691062778.609446409 0.835576 -0.423774 9.39006 -0.0319579 -0.00319579 0.0383495 0.2 -0.02 pose: 0.48080067 1.31675 -0.0420456 0 0.00098717 -0.0100088 -0.0106926 0.999892 uwb: 0.49859125 849.066 894.122 -imu_odom_: 1691062778.634554752 0.184354 -0.371101 9.68694 -0.0458064 0.00213053 0.0607201 0.2 -0.02 pose: 0.41925401 1.31675 -0.0420456 0 -0.000402071-0.00806483 -0.0105885 0.999911 uwb: 0.0 849.066 894.122 -imu_odom_: 1691062778.658484542 0.349553 -0.124498 10.1035 -0.0617853 -0.0383495 0.0479369 0.18 0 pose: 0.0 1.31675 -0.0420456 0 -0.000402071-0.00806483 -0.0105885 0.999911 uwb: 0.50203562 849.265 892.484 -imu_odom_: 1691062778.675607539 0.423774 -0.462081 9.8689 -0.0649811 0.0276969 0.0798948 0.18 0 pose: 0.49060007 1.33076 -0.0439692 0 -0.00149836 -0.00649311 -0.0102858 0.999925 uwb: 0.0 849.265 892.484 -imu_odom_: 1691062778.699429419 0.452504 -0.292093 9.71567 -0.0415453 0.0468716 0.036219 0.19 0 pose: 0.0 1.33076 -0.0439692 0 -0.00149836 -0.00649311 -0.0102858 0.999925 uwb: 0.49936412 848.663 891.856 -imu_odom_: 1691062778.724542429 0.301669 -0.59855 9.47146 -0.0735032 -0.0149137 0.0639159 0.19 0 pose: 0.41030330 1.33076 -0.0439692 0 -0.00271961 -0.00380593 -0.00987411 0.99994 uwb: 0.0 848.663 891.856 -imu_odom_: 1691062778.748417681 0.19393 -0.280122 9.63666 -0.0266316 0.0106526 0.0266316 0.23 0 pose: 0.41937067 1.34477 -0.0458743 0 -0.00622808 -0.00119479 -0.00958049 0.999934 uwb: 0.50045781 848.047 891.616 -imu_odom_: 1691062778.763429140 0.213084 -0.1652 10.3286 -0.0447411 -0.0149137 0.0585895 0.23 0 pose: 0.0 1.34477 -0.0458743 0 -0.00622808 -0.00119479 -0.00958049 0.999934 uwb: 0.0 848.047 891.616 -imu_odom_: 1691062778.787486089 0.624887 -0.0646434 10.4555 -0.0458064 -0.00532632 0.0447411 0.18 0 pose: 0.38886711 1.35273 -0.0398164 0 -0.00419992 0.00229396 -0.00957193 0.999943 uwb: 0.0 848.047 891.616 -imu_odom_: 1691062778.812434026 0.608127 -0.325611 10.0676 -0.0788296 0.0383495 0.0543285 0.18 0 pose: 0.0 1.35273 -0.0398164 0 -0.00419992 0.00229396 -0.00957193 0.999943 uwb: 0.49918913 847.447 891.188 -imu_odom_: 1691062778.836435561 0.320823 0.0502782 10.1849 -0.0340885 -0.00639159 0.0287621 0.18 0 pose: 0.32068252 1.35879 -0.0477719 0 -0.00282608 -0.000137939-0.00945751 0.999951 uwb: 0.0 847.447 891.188 -imu_odom_: 1691062778.859471448 0.411803 -0.150835 10.1083 -0.0660464 -0.0735032 0.0532632 0.18 0 pose: 0.0 1.35879 -0.0477719 0 -0.00282608 -0.000137939-0.00945751 0.999951 uwb: 0.49917163 847.251 890.645 -imu_odom_: 1691062778.876406623 0.646434 -0.356736 9.44034 -0.036219 0.0639159 0.0255663 0.19 -0.02 pose: 0.47941534 1.36674 -0.0417109 0 -0.000297801-0.000897594-0.00942011 0.999955 uwb: 0.0 847.251 890.645 -imu_odom_: 1691062778.892482309 0.227449 -0.42138 9.92157 -0.0532632 -0.0191748 0.0553937 0.19 -0.02 pose: 0.0 1.36674 -0.0417109 0 -0.000297801-0.000897594-0.00942011 0.999955 uwb: 0.0 847.251 890.645 -imu_odom_: 1691062778.909472898 0.612916 -0.0766145 10.3765 -0.0585895 -0.00532632 0.04048 0.25 0 pose: 0.49043383 1.38076 -0.0436034 0 -0.000754698-0.00109407 -0.00929661 0.999956 uwb: 0.50236227 847.615 889.692 -imu_odom_: 1691062778.934476247 0.292093 -0.009576819.57681 -0.0660464 -0.0127832 0.0532632 0.25 0 pose: 0.7011239 1.38076 -0.0436034 0 -0.000326638-0.00164466 -0.00929435 0.999955 uwb: 0.0 847.615 889.692 -imu_odom_: 1691062778.960414623 0.248997 -0.395043 9.69652 -0.0394148 0.015979 0.0234358 0.23 0 pose: 0.34982699 1.38076 -0.0436034 0 0.00212751 -0.00100434 -0.00912568 0.999956 uwb: 0.49879832 847.214 888.587 -imu_odom_: 1691062778.974479682 0.0957681 -0.368707 10.0556 -0.0490022 0.00319579 0.0330232 0.2 -0.02 pose: 0.0 1.38076 -0.0436034 0 0.00212751 -0.00100434 -0.00912568 0.999956 uwb: 0.0 847.214 888.587 -imu_odom_: 1691062778.998411805 0.572214 -0.323217 10.4435 -0.0617853 -0.015979 0.0415453 0.18 0 pose: 0.40003435 1.39477 -0.0454908 0 -0.0003188810.00216638 -0.0093828 0.999954 uwb: 0.49988034 846.773 888.265 -imu_odom_: 1691062779.24520797 1.11091 -0.160412 10.0628 -0.0671117 -0.02024 0.0543285 0.25 0 pose: 0.0 1.39477 -0.0454908 0 -0.0003188810.00216638 -0.0093828 0.999954 uwb: 0.0 846.773 888.265 -imu_odom_: 1691062779.40464366 0.0574608 -0.40462 9.59835 -0.0713727 0.0319579 0.0617853 0.25 0 pose: 0.32027421 1.39477 -0.0454908 0 -0.0014064 -0.000997315-0.00930345 0.999955 uwb: 0.0 846.773 888.265 -imu_odom_: 1691062779.65401221 0.675165 -0.059855 9.93354 -0.0447411 0.00958738 0.0351537 0.25 0 pose: 0.0 1.39477 -0.0454908 0 -0.0014064 -0.000997315-0.00930345 0.999955 uwb: 0.49910457 846.716 886.578 -imu_odom_: 1691062779.87447835 0.282516 -0.141258 10.0676 -0.0617853 -0.02024 0.0607201 0.23 0 pose: 0.41967108 1.40879 -0.0473802 0 -0.00150817 -0.00174349 -0.00901273 0.999957 uwb: 0.0 846.716 886.578 -imu_odom_: 1691062779.112573970 0.150835 0.0023942 9.60554 -0.0575243 -0.0149137 0.0585895 0.19 0 pose: 0.38973624 1.41431 -0.0431685 0 0.000460638 -0.00114256 -0.00882337 0.99996 uwb: 0.50004076 846.453 886.175 -imu_odom_: 1691062779.138427768 0.622492 -0.426168 9.71806 -0.0543285 0.0330232 0.0308927 0.19 0 pose: 0.0 1.41431 -0.0431685 0 0.000460638 -0.00114256 -0.00882337 0.99996 uwb: 0.0 846.453 886.175 -imu_odom_: 1691062779.152419915 0.0790087 -0.220267 10.2376 -0.0372843 -0.00426106 0.0500674 0.19 0 pose: 0.0 1.41431 -0.0431685 0 0.000460638 -0.00114256 -0.00882337 0.99996 uwb: 0.49958579 847.31 884.319 -imu_odom_: 1691062779.176452075 0.258574 -0.287304 10.094 -0.0628506 0.00106526 0.0532632 0.2 0 pose: 0.7052653 1.41674 -0.0413117 0 0.000884736 -0.000621676-0.00875712 0.999961 uwb: 0.0 847.31 884.319 -imu_odom_: 1691062779.202411742 0.153229 -0.167594 9.79228 -0.0553937 -0.0149137 0.0543285 0.25 0 pose: 0.50073489 1.42281 -0.0492574 0 0.000131344 5.69179e-05 -0.00866441 0.999962 uwb: 0.50089530 847.546 883.656 -imu_odom_: 1691062779.216463094 0.684742 -0.158017 10.4579 -0.0830906 -0.0149137 0.0649811 0.25 0 pose: 0.0 1.42281 -0.0492574 0 0.000131344 5.69179e-05 -0.00866441 0.999962 uwb: 0.0 847.546 883.656 -imu_odom_: 1691062779.240465506 0.845153 0.059855 10.501 -0.0617853 -0.0234358 0.0500674 0.17 -0.02 pose: 0.39889110 1.43075 -0.0431843 0 -0.0008373020.0036912 -0.00839938 0.999958 uwb: 0.0 847.546 883.656 -imu_odom_: 1691062779.267464901 0.505177 -0.234632 10.6566 -0.072438 0.0106526 0.0532632 0.17 -0.02 pose: 0.0 1.43075 -0.0431843 0 -0.0008373020.0036912 -0.00839938 0.999958 uwb: 0.50016325 847.305 883.894 -imu_odom_: 1691062779.293399195 0.586579 -0.148441 9.75398 -0.0873517 0.0191748 0.0607201 0.19 0 pose: 0.39939565 1.44477 -0.0450441 0 0.000141623 0.00303735 -0.0080399 0.999963 uwb: 0.0 847.305 883.894 -imu_odom_: 1691062779.319447815 0.543484 -0.258574 9.65582 -0.0596548 -0.0575243 0.0426106 0.19 0 pose: 0.0 1.44477 -0.0450441 0 0.000141623 0.00303735 -0.0080399 0.999963 uwb: 0.50003201 846.958 882.784 -imu_odom_: 1691062779.342395041 0.342371 -0.428562 9.75158 -0.0798948 -0.00639159 0.0500674 0.19 0 pose: 0.51077052 1.44477 -0.0450441 0 3.13851e-05 -0.00157926 -0.00768244 0.999969 uwb: 0.0 846.958 882.784 -imu_odom_: 1691062779.359471958 0.622492 -0.0454898 10.0916 -0.0511327 -0.00532632 0.0617853 0.19 0 pose: 0.0 1.44477 -0.0450441 0 3.13851e-05 -0.00157926 -0.00768244 0.999969 uwb: 0.49978412 846.588 881.863 -imu_odom_: 1691062779.374524249 0.452504 -0.201113 10.0916 -0.0383495 0.00319579 0.14168 0.19 0.14 pose: 0.50980225 1.45879 -0.0468881 0 -0.00165632 -0.00544486 -0.00741008 0.999956 uwb: 0.0 846.588 881.863 -imu_odom_: 1691062779.390583311 0.222661 -0.988805 9.73961 -0.0447411 0.00319579 0.223706 0.19 0.14 pose: 0.0 1.45879 -0.0468881 0 -0.00165632 -0.00544486 -0.00741008 0.999956 uwb: 0.0 846.588 881.863 -imu_odom_: 1691062779.407515571 0.512359 -0.371101 9.78271 -0.0415453 -0.0287621 0.275903 0.19 0.14 pose: 0.0 1.45879 -0.0468881 0 -0.00165632 -0.00544486 -0.00741008 0.999956 uwb: 0.49948079 846.137 881.515 -imu_odom_: 1691062779.424409041 0.97444 -0.186748 10.1275 -0.0351537 -0.0532632 0.32171 0.18 0.2 pose: 0.40023268 1.46672 -0.0407951 0 -0.0010284 -0.00467746 -0.00678216 0.999966 uwb: 0.0 846.137 881.515 -imu_odom_: 1691062779.440380608 0.684742 -0.754174 9.62708 -0.0745685 0.0330232 0.376038 0.18 0.2 pose: 0.0 1.46672 -0.0407951 0 -0.0010284 -0.00467746 -0.00678216 0.999966 uwb: 0.0 846.137 881.515 -imu_odom_: 1691062779.456367925 0.411803 0.0335188 10.1682 -0.0223706 0.0127832 0.395213 0.23 0.41 pose: 0.32047838 1.47275 -0.0487775 0 -0.00260299 -0.00379051 -0.00394643 0.999982 uwb: 0.0 846.137 881.515 -imu_odom_: 1691062779.473413344 0.493206 -0.28491 10.501 -0.0585895 -0.0639159 0.429302 0.23 0.41 pose: 0.41849573 1.48067 -0.0427148 0 -0.00459792 -0.00646295 0.00218907 0.999966 uwb: 0.0 846.137 881.515 -imu_odom_: 1691062779.490420558 1.02472 -0.605733 9.73961 -0.0596548 0.00958738 0.467651 0.23 0.41 pose: 0.0 1.48067 -0.0427148 0 -0.00459792 -0.00646295 0.00218907 0.999966 uwb: 0.0 846.137 881.515 -imu_odom_: 1691062779.506416332 0.766145 -0.447716 9.79468 -0.0426106 -0.00426106 0.491087 0.18 0.44 pose: 0.7064320 1.4807 -0.0427088 0 -0.00382359 -0.00615865 0.00344248 0.999968 uwb: 0.100054233 845.876 880.455 -imu_odom_: 1691062779.523527664 0.993594 -0.287304 9.96706 -0.0383495 0.0383495 0.498544 0.18 0.44 pose: 0.0 1.4807 -0.0427088 0 -0.00382359 -0.00615865 0.00344248 0.999968 uwb: 0.0 845.876 880.455 -imu_odom_: 1691062779.540575416 0.493206 -0.708684 9.69412 -0.0830906 0.0543285 0.572047 0.18 0.44 pose: 0.0 1.4807 -0.0427088 0 -0.00382359 -0.00615865 0.00344248 0.999968 uwb: 0.0 845.876 880.455 -imu_odom_: 1691062779.556394452 0.186748 -0.244209 9.59117 -0.0511327 0.0287621 0.573112 0.24 0.7 pose: 0.50988974 1.4947 -0.0446607 0 -0.00476028 -0.00669085 0.0138028 0.999871 uwb: 0.49985703 845.82 878.677 -imu_odom_: 1691062779.573523574 0.452504 -0.272939 9.70609 -0.02024 -0.0458064 0.588026 0.18 0.55 pose: 0.0 1.4947 -0.0446607 0 -0.00476028 -0.00669085 0.0138028 0.999871 uwb: 0.0 845.82 878.677 -imu_odom_: 1691062779.590642197 0.268151 -0.246603 10.3645 -0.0213053 -0.056459 0.60507 0.18 0.55 pose: 0.66143343 1.50871 -0.0465314 0 -0.00572232 -0.00565217 0.0305375 0.999501 uwb: 0.0 845.82 878.677 -imu_odom_: 1691062779.608378241 0.885855 -0.624887 10.1299 -0.0372843 -0.0383495 0.649811 0.18 0.58 pose: 0.0 1.50871 -0.0465314 0 -0.00572232 -0.00565217 0.0305375 0.999501 uwb: 0.50052490 846.012 877.516 -imu_odom_: 1691062779.622422301 1.14203 -0.332794 9.63427 -0.052198 -0.0852212 0.660464 0.18 0.58 pose: 0.0 1.50871 -0.0465314 0 -0.00572232 -0.00565217 0.0305375 0.999501 uwb: 0.0 846.012 877.516 -imu_odom_: 1691062779.637418012 0.828394 -0.105345 9.83777 -0.0298274 -0.0223706 0.656203 0.18 0.58 pose: 0.34066339 1.50871 -0.0465314 0 -0.00461573 -0.00471877 0.0402782 0.999167 uwb: 0.0 846.012 877.516 -imu_odom_: 1691062779.654364270 1.2785 -0.071826 9.663 -0.056459 -0.0713727 0.680704 0.21 0.67 pose: 0.38774428 1.51663 -0.0404807 0 -0.00393479 -0.00885776 0.0522019 0.99859 uwb: 0.0 846.012 877.516 -imu_odom_: 1691062779.670416917 1.39343 -0.368707 9.59117 -0.0660464 -0.00639159 0.60294 0.21 0.67 pose: 0.7950932 1.51666 -0.0404747 0 -0.00366673 -0.00985822 0.0547421 0.998445 uwb: 0.0 846.012 877.516 -imu_odom_: 1691062779.687482168 1.38145 -0.328006 10.0149 -0.0575243 0.036219 0.461259 0.21 0.67 pose: 0.0 1.51666 -0.0404747 0 -0.00366673 -0.00985822 0.0547421 0.998445 uwb: 0.0 846.012 877.516 -imu_odom_: 1691062779.704350556 1.22104 0.0622492 9.8665 -0.0798948 0.0628506 0.38243 0.12 0.38 pose: 0.42113224 1.52692 -0.0452036 0 -0.00360707 -0.0139509 0.0657027 0.997735 uwb: 0.99819455 845.859 877.175 -imu_odom_: 1691062779.720348372 0.90022 -0.191536 10.1227 -0.0692422 0.0713727 0.34408 0.11 0.29 pose: 0.0 1.52692 -0.0452036 0 -0.00360707 -0.0139509 0.0657027 0.997735 uwb: 0.0 845.859 877.175 -imu_odom_: 1691062779.737345378 0.536301 -0.347159 10.1754 -0.0617853 -0.0170442 0.313188 0.11 0.29 pose: 0.0 1.52692 -0.0452036 0 -0.00360707 -0.0139509 0.0657027 0.997735 uwb: 0.0 845.859 877.175 -imu_odom_: 1691062779.753342902 0.672771 -0.301669 9.79468 -0.0479369 -0.00426106 0.290817 0.1 0.26 pose: 0.23882252 1.53063 -0.0423293 0 -0.00260016 -0.0150774 0.0696186 0.997456 uwb: 0.49964121 845.689 876.818 -imu_odom_: 1691062779.770455109 1.02951 -0.248997 10.1179 -0.0617853 -0.0127832 0.306796 0.1 0.26 pose: 0.0 1.53063 -0.0423293 0 -0.00260016 -0.0150774 0.0696186 0.997456 uwb: 0.0 845.689 876.818 -imu_odom_: 1691062779.786502214 0.797269 -0.328006 9.6199 -0.056459 -0.00319579 0.309992 0.1 0.26 pose: 0.33986428 1.53063 -0.0423293 0 -0.00378919 -0.0143279 0.0743183 0.997124 uwb: 0.0 845.689 876.818 -imu_odom_: 1691062779.803360686 0.787692 -0.275333 9.87369 -0.0468716 -0.015979 0.289752 0.11 0.32 pose: 0.41151366 1.5306 -0.0423357 0 -0.00422881 -0.0178661 0.0797462 0.996646 uwb: 0.50153984 846.205 875.684 -imu_odom_: 1691062779.819362294 0.799663 -0.246603 9.92875 -0.0458064 0 0.268447 0.11 0.32 pose: 0.7991471 1.53063 -0.0423295 0 -0.00356854 -0.0183842 0.0807293 0.99656 uwb: 0.0 846.205 875.684 -imu_odom_: 1691062779.836361341 0.751779 -0.148441 10.0509 -0.0490022 0.00745685 0.255663 0.11 0.32 pose: 0.0 1.53063 -0.0423295 0 -0.00356854 -0.0183842 0.0807293 0.99656 uwb: 0.0 846.205 875.684 -imu_odom_: 1691062779.852361782 0.696713 -0.217872 9.89524 -0.0575243 -0.00958738 0.249272 0.06 0.23 pose: 0.41867656 1.53855 -0.0362694 0 0.000253782 -0.0188553 0.0854172 0.996167 uwb: 0.49992410 846.674 874.506 -imu_odom_: 1691062779.869354413 0.574608 -0.241814 9.77553 -0.052198 -0.00319579 0.227967 0.09 0.26 pose: 0.0 1.53855 -0.0362694 0 0.000253782 -0.0188553 0.0854172 0.996167 uwb: 0.0 846.674 874.506 -imu_odom_: 1691062779.885470347 0.806846 -0.1652 9.9503 -0.0532632 -0.00532632 0.209857 0.09 0.26 pose: 0.0 1.53855 -0.0362694 0 0.000253782 -0.0188553 0.0854172 0.996167 uwb: 0.0 846.674 874.506 -imu_odom_: 1691062779.902360025 0.742203 -0.059855 9.89045 -0.0532632 0.00532632 0.207727 0.09 0.26 pose: 0.24044992 1.53858 -0.036263 0 0.000441225 -0.0165356 0.0878412 0.995997 uwb: 0.50073197 846.031 874.204 -imu_odom_: 1691062779.918418504 0.347159 -0.251391 9.91918 -0.0585895 0.0223706 0.251402 0.07 0.32 pose: 0.0 1.53858 -0.036263 0 0.000441225 -0.0165356 0.0878412 0.995997 uwb: 0.0 846.031 874.204 -imu_odom_: 1691062779.934412238 0.392649 -0.581791 9.82341 -0.0575243 -0.0170442 0.286556 0.07 0.32 pose: 0.32006424 1.54468 -0.0441876 0 0.0020619 -0.0168032 0.0906021 0.995743 uwb: 0.0 846.031 874.204 -imu_odom_: 1691062779.950343850 0.517148 -0.385466 9.91918 -0.0436758 -0.0181095 0.265251 0.04 0.23 pose: 0.41999481 1.54468 -0.0441876 0 0.00117774 -0.0142084 0.095101 0.995366 uwb: 0.49677721 846.383 872.918 -imu_odom_: 1691062779.967339688 0.744597 0.0143652 9.90002 -0.0511327 -0.00745685 0.280165 0.04 0.23 pose: 0.8001970 1.54468 -0.0441876 0 0.000596864 -0.0137543 0.0960092 0.995285 uwb: 0.0 846.383 872.918 -imu_odom_: 1691062779.983336046 0.804452 -0.21069 9.92636 -0.0617853 0.00106526 0.288687 0.04 0.23 pose: 0.0 1.54468 -0.0441876 0 0.000596864 -0.0137543 0.0960092 0.995285 uwb: 0.0 846.383 872.918 -imu_odom_: 1691062779.999355153 0.593762 -0.323217 9.75637 -0.0553937 0.0127832 0.26312 0.05 0.32 pose: 0.40921838 1.5489 -0.0409802 0 0.00173812 -0.0152535 0.100902 0.994778 uwb: 0.50186065 846.174 871.61 -imu_odom_: 1691062780.16411072 0.490811 -0.234632 9.94073 -0.0543285 0.0117179 0.262055 0.04 0.23 pose: 0.0 1.5489 -0.0409802 0 0.00173812 -0.0152535 0.100902 0.994778 uwb: 0.0 846.174 871.61 -imu_odom_: 1691062780.32345018 0.474052 -0.234632 9.9096 -0.0585895 -0.00532632 0.28123 0.04 0.23 pose: 0.0 1.5489 -0.0409802 0 0.00173812 -0.0152535 0.100902 0.994778 uwb: 0.0 846.174 871.61 -imu_odom_: 1691062780.48399414 0.605733 -0.301669 9.89524 -0.0543285 -0.00426106 0.271642 0.04 0.23 pose: 0.24100989 1.55263 -0.038127 0 0.000326781 -0.0132796 0.103598 0.994531 uwb: 0.49975205 846.047 871.504 -imu_odom_: 1691062780.75404061 0.708684 -0.222661 9.9527 -0.0490022 -0.00639159 0.255663 0.03 0.23 pose: 0.0 1.55263 -0.038127 0 0.000326781 -0.0132796 0.103598 0.994531 uwb: 0.0 846.047 871.504 -imu_odom_: 1691062780.91334507 -0.0454898 -0.205901 9.61272 -0.0607201 0.0777643 0.249272 0.03 0.23 pose: 0.31911931 1.55263 -0.038127 0 -0.000692999-0.0107464 0.107326 0.994166 uwb: 0.0 846.047 871.504 -imu_odom_: 1691062780.108371760 -0.986411 -0.292093 10.0437 -0.0628506 0.0894822 0.207727 0.03 0.2 pose: 0.16089103 1.55263 -0.038127 0 -0.00122316 -0.0113607 0.10913 0.993962 uwb: 0.50182276 845.789 871.516 -imu_odom_: 1691062780.124474571 -1.24977 -0.0287304 9.92636 -0.0617853 -0.0319579 0.138484 0.03 0.2 pose: 0.0 1.55263 -0.038127 0 -0.00122316 -0.0113607 0.10913 0.993962 uwb: 0.0 845.789 871.516 -imu_odom_: 1691062780.141540114 -0.397437 -0.0742203 9.78271 -0.056459 -0.0852212 0.0916127 0.1 0.02 pose: 0.27960379 1.55263 -0.038127 0 -0.000253445-0.0119561 0.112093 0.993626 uwb: 0.0 845.789 871.516 -imu_odom_: 1691062780.157419521 0.383072 -0.258574 9.87848 -0.0543285 -0.0490022 0.0745685 0.1 0.02 pose: 0.0 1.55263 -0.038127 0 -0.000253445-0.0119561 0.112093 0.993626 uwb: 0.49689680 846.006 870.554 -imu_odom_: 1691062780.174334282 0.418985 -0.356736 9.75158 -0.0607201 0.0127832 0.0735032 0.1 0.02 pose: 0.0 1.55263 -0.038127 0 -0.000253445-0.0119561 0.112093 0.993626 uwb: 0.0 846.006 870.554 -imu_odom_: 1691062780.190330349 -0.00718261-0.339977 9.83538 -0.0532632 0.00639159 0.0830906 0.1 0.02 pose: 0.49033179 1.55263 -0.038127 0 -0.000714157-0.00651075 0.115348 0.993304 uwb: 0.0 846.006 870.554 -imu_odom_: 1691062780.206370164 -0.203507 -0.385466 10.0078 -0.0468716 0 0.076699 0.13 0 pose: 0.0 1.55263 -0.038127 0 -0.000714157-0.00651075 0.115348 0.993304 uwb: 0.50065616 846.289 869.412 -imu_odom_: 1691062780.221474077 0.023942 -0.0574608 10.1011 -0.0479369 -0.0308927 0.0628506 0.13 0 pose: 0.0 1.55263 -0.038127 0 -0.000714157-0.00651075 0.115348 0.993304 uwb: 0.0 846.289 869.412 -imu_odom_: 1691062780.238472832 0.153229 0.143652 9.86172 -0.0649811 -0.0490022 0.0820254 0.13 0 pose: 0.64905004 1.56058 -0.0320537 0 -0.00311526 -0.00156272 0.116641 0.993168 uwb: 0.0 846.289 869.412 -imu_odom_: 1691062780.254412903 0.418985 -0.347159 10.0437 -0.056459 -0.0255663 0.092678 0.12 0.02 pose: 0.0 1.56058 -0.0320537 0 -0.00311526 -0.00156272 0.116641 0.993168 uwb: 0.50037618 845.486 869.885 -imu_odom_: 1691062780.270344224 0.308852 -0.287304 10.0844 -0.0639159 -0.0245011 0.0596548 0.12 0.02 pose: 0.31148102 1.56058 -0.0320537 0 -0.00209871 0.000781337 0.11714 0.993113 uwb: 0.0 845.486 869.885 -imu_odom_: 1691062780.287536634 0.227449 -0.0790087 9.91918 -0.0543285 -0.00106526 0.0543285 0.12 0.02 pose: 0.41859491 1.57082 -0.0367995 0 -0.00331136 0.00157373 0.117934 0.993015 uwb: 0.0 845.486 869.885 -imu_odom_: 1691062780.303323589 0.383072 -0.248997 9.9527 -0.0596548 -0.0308927 0.0735032 0.12 0.02 pose: 0.0 1.57082 -0.0367995 0 -0.00331136 0.00157373 0.117934 0.993015 uwb: 0.50013994 845.754 868.724 -imu_odom_: 1691062780.320334303 0.514753 -0.385466 10.2807 -0.0532632 -0.0479369 0.0553937 0.12 0.02 pose: 0.0 1.57082 -0.0367995 0 -0.00331136 0.00157373 0.117934 0.993015 uwb: 0.0 845.754 868.724 -imu_odom_: 1691062780.336386366 0.447716 -0.169988 10.2208 -0.0596548 -0.00852212 0.0649811 0.16 0 pose: 0.8139045 1.5746 -0.0338891 0 -0.0027012 0.00212923 0.117996 0.993008 uwb: 0.0 845.754 868.724 -imu_odom_: 1691062780.352445721 0.895431 -0.433351 10.331 -0.0351537 -0.0692422 0.0777643 0.16 0 pose: 0.0 1.5746 -0.0338891 0 -0.0027012 0.00212923 0.117996 0.993008 uwb: 0.50051616 845.194 868.247 -imu_odom_: 1691062780.368370917 0.881066 -0.294487 9.50019 -0.0468716 -0.0532632 0.113983 0.16 0 pose: 0.0 1.5746 -0.0338891 0 -0.0027012 0.00212923 0.117996 0.993008 uwb: 0.0 845.194 868.247 -imu_odom_: 1691062780.384367276 0.758962 -0.227449 9.62469 -0.0639159 -0.00319579 0.183225 0.1 -0.02 pose: 0.47905956 1.5746 -0.0338891 0 -0.0023028 -0.0008904160.118535 0.992947 uwb: 0.0 845.194 868.247 -imu_odom_: 1691062780.401307993 1.25217 -0.646434 10.2352 -0.0841559 -0.0660464 0.171508 0.12 0 pose: 0.0 1.5746 -0.0338891 0 -0.0023028 -0.0008904160.118535 0.992947 uwb: 0.49752094 845.645 867.465 -imu_odom_: 1691062780.417463592 1.46525 -0.007182619.7037 -0.0436758 -0.0458064 0.0543285 0.12 0 pose: 0.64982291 1.5825 -0.0277632 0 -0.00146813 -0.00759252 0.121143 0.992605 uwb: 0.0 845.645 867.465 -imu_odom_: 1691062780.433329292 1.24498 0.344765 9.79707 -0.056459 0.00639159 0.036219 0.11 0 pose: 0.0 1.5825 -0.0277632 0 -0.00146813 -0.00759252 0.121143 0.992605 uwb: 0.0 845.645 867.465 -imu_odom_: 1691062780.449338192 0.739808 -0.0335188 9.79228 -0.072438 0.0351537 0.0468716 0.11 0 pose: 0.0 1.5825 -0.0277632 0 -0.00146813 -0.00759252 0.121143 0.992605 uwb: 0.50131528 846.206 866.307 -imu_odom_: 1691062780.466458857 0.536301 -0.409408 9.90721 -0.052198 -0.0117179 0.00426106 0.11 0 pose: 0.33043819 1.5825 -0.0277632 0 -0.000640959-0.0110466 0.121884 0.992483 uwb: 0.0 846.206 866.307 -imu_odom_: 1691062780.483335120 0.768539 -0.356736 9.8282 -0.052198 -0.02024 -0.0287621 0.06 0 pose: 0.42043522 1.58592 -0.0321321 0 -0.000217892-0.0113239 0.121618 0.992512 uwb: 0.0 846.206 866.307 -imu_odom_: 1691062780.498340456 0.881066 -0.0502782 9.89763 -0.0532632 -0.0181095 0.00319579 0.06 0 pose: 0.8004595 1.58866 -0.0356374 0 -0.000594797-0.0120792 0.12135 0.992536 uwb: 0.50009036 845.695 866.571 -imu_odom_: 1691062780.512388308 0.715866 -0.339977 9.73482 -0.0681769 0.00319579 0.0308927 0.06 0 pose: 0.0 1.58866 -0.0356374 0 -0.000594797-0.0120792 0.12135 0.992536 uwb: 0.0 845.695 866.571 -imu_odom_: 1691062780.527472681 0.727837 -0.426168 9.95509 -0.0511327 0.0213053 0.015979 0.05 0 pose: 0.37924856 1.59654 -0.0294796 0 -0.00111522 -0.0146892 0.120719 0.992577 uwb: 0.0 845.695 866.571 -imu_odom_: 1691062780.554451370 0.550666 -0.0335188 9.87608 -0.0553937 -0.00319579 0.015979 0.05 0 pose: 0.0 1.59654 -0.0294796 0 -0.00111522 -0.0146892 0.120719 0.992577 uwb: 0.50053950 845.175 866.593 -imu_odom_: 1691062780.570381816 0.0407014 -0.316035 9.8665 -0.0692422 0.0553937 0.0106526 0.04 0.02 pose: 0.42063062 1.59654 -0.0294796 0 -0.000281455-0.0135094 0.120219 0.992655 uwb: 0.0 845.175 866.593 -imu_odom_: 1691062780.587316701 -0.830788 -0.136469 9.89284 -0.0394148 0.0735032 -0.108657 0.08 -0.17 pose: 0.0 1.59654 -0.0294796 0 -0.000281455-0.0135094 0.120219 0.992655 uwb: 0.0 845.175 866.593 -imu_odom_: 1691062780.603313643 -1.14203 0.146046 9.68694 -0.0340885 0.015979 -0.206661 0.07 -0.2 pose: 0.0 1.59654 -0.0294796 0 -0.000281455-0.0135094 0.120219 0.992655 uwb: 0.49804299 844.835 866.771 -imu_odom_: 1691062780.619313501 -0.347159 0.0430956 9.87848 -0.0511327 -0.0681769 -0.251402 0.07 -0.2 pose: 0.40929714 1.59654 -0.0294795 0 -0.000620588-0.00824211 0.11777 0.993007 uwb: 0.0 844.835 866.771 -imu_odom_: 1691062780.636304091 0.342371 -0.328006 9.83538 -0.0745685 -0.0671117 -0.269512 0.07 -0.2 pose: 0.0 1.59654 -0.0294795 0 -0.000620588-0.00824211 0.11777 0.993007 uwb: 0.0 844.835 866.771 -imu_odom_: 1691062780.652359654 0.651223 -0.337582 10.1778 -0.0532632 -0.0276969 -0.309992 0.09 -0.32 pose: 0.0 1.59654 -0.0294795 0 -0.000620588-0.00824211 0.11777 0.993007 uwb: 0.50102072 844.655 866.144 -imu_odom_: 1691062780.667413695 0.1652 -0.150835 9.80665 -0.04048 -0.00426106 -0.343015 0.09 -0.32 pose: 0.31991259 1.59654 -0.0294795 0 -0.00054072 -0.00589728 0.113255 0.993548 uwb: 0.0 844.655 866.144 -imu_odom_: 1691062780.683363390 -0.177171 -0.0143652 9.77074 -0.0575243 -0.0127832 -0.370712 0.12 -0.5 pose: 0.40041352 1.6044 -0.0232931 0 -0.00133239 -0.00560437 0.106238 0.994324 uwb: 0.0 844.655 866.144 -imu_odom_: 1691062780.700463056 0.100556 0.011971 10.2951 -0.0532632 -0.0330232 -0.401605 0.12 -0.5 pose: 0.0 1.6044 -0.0232931 0 -0.00133239 -0.00560437 0.106238 0.994324 uwb: 0.50134737 843.935 865.999 -imu_odom_: 1691062780.717313946 0.107739 -0.380678 9.59357 -0.0713727 0.0149137 -0.458064 0.12 -0.5 pose: 0.0 1.6044 -0.0232931 0 -0.00133239 -0.00560437 0.106238 0.994324 uwb: 0.0 843.935 865.999 -imu_odom_: 1691062780.733312638 0.059855 -0.126893 10.0748 -0.0511327 0.00958738 -0.453803 0.13 -0.55 pose: 0.6964576 1.6044 -0.0232931 0 -0.00117181 -0.00495763 0.104818 0.994478 uwb: 0.0 843.935 865.999 -imu_odom_: 1691062780.750440302 0.172383 -0.31364 9.46667 -0.0777643 -0.015979 -0.472977 0.15 -0.64 pose: 0.0 1.6044 -0.0232931 0 -0.00117181 -0.00495763 0.104818 0.994478 uwb: 0.50056866 844.279 865.346 -imu_odom_: 1691062780.767585174 -0.110133 -0.232238 9.66779 -0.0575243 -0.0149137 -0.486826 0.15 -0.64 pose: 0.66143344 1.61057 -0.0311651 0 -0.00114516 0.00102297 0.089293 0.996004 uwb: 0.0 844.279 865.346 -imu_odom_: 1691062780.784426731 0.198719 -0.0646434 9.96467 -0.0511327 -0.0276969 -0.528371 0.19 -0.82 pose: 0.0 1.61057 -0.0311651 0 -0.00114516 0.00102297 0.089293 0.996004 uwb: 0.0 844.279 865.346 -imu_odom_: 1691062780.801425196 0.232238 -0.232238 9.54808 -0.0735032 -0.0127832 -0.531567 0.19 -0.82 pose: 0.0 1.61057 -0.0311651 0 -0.00114516 0.00102297 0.089293 0.996004 uwb: 0.49865545 844.571 864.648 -imu_odom_: 1691062780.818384871 0.196325 -0.25618 9.80665 -0.0394148 0.00319579 -0.547546 0.19 -0.82 pose: 0.34116796 1.61847 -0.0250432 0 -0.00127341 0.00383326 0.0802739 0.996765 uwb: 0.0 844.571 864.648 -imu_odom_: 1691062780.835324713 0.672771 -0.0742203 10.0341 -0.0511327 -0.052198 -0.517718 0.13 -0.55 pose: 0.43746460 1.62278 -0.0216475 0 -0.0016177 0.00756953 0.0676953 0.997676 uwb: 0.0 844.571 864.648 -imu_odom_: 1691062780.849301695 0.773327 -0.0909797 9.96467 -0.0745685 -0.0500674 -0.451672 0.13 -0.55 pose: 0.8078674 1.62637 -0.0189054 0 -0.00126363 0.00664046 0.0654512 0.997833 uwb: 0.49805757 844.54 864.143 -imu_odom_: 1691062780.865440962 1.1995 -0.339977 9.80904 -0.0500674 -0.0617853 -0.394148 0.13 -0.55 pose: 0.0 1.62637 -0.0189054 0 -0.00126363 0.00664046 0.0654512 0.997833 uwb: 0.0 844.54 864.143 -imu_odom_: 1691062780.881365283 1.28808 -0.280122 9.91199 -0.052198 -0.0756338 -0.396278 0.1 -0.44 pose: 0.38977417 1.62637 -0.0189054 0 -0.0006162370.00189603 0.0560702 0.998425 uwb: 0.0 844.54 864.143 -imu_odom_: 1691062780.898297834 1.652 0.00718261 9.86411 -0.0671117 0.00532632 -0.336624 0.09 -0.38 pose: 0.0 1.62637 -0.0189054 0 -0.0006162370.00189603 0.0560702 0.998425 uwb: 0.0 844.54 864.143 -imu_odom_: 1691062780.914414061 1.32399 -0.395043 10.082 -0.0585895 -0.00639159 -0.26099 0.09 -0.38 pose: 0.0 1.62637 -0.0189054 0 -0.0006162370.00189603 0.0560702 0.998425 uwb: 0.50002911 845.022 863.127 -imu_odom_: 1691062780.931422441 0.320823 -0.675165 9.59596 -0.0479369 0.0351537 -0.270577 0.1 -0.41 pose: 0.23926583 1.62637 -0.0189054 0 -0.000431752-0.00100903 0.0511006 0.998693 uwb: 0.0 845.022 863.127 -imu_odom_: 1691062780.948425572 0.730232 -0.105345 10.1466 -0.0351537 -0.0138484 -0.275903 0.1 -0.41 pose: 0.0 1.62637 -0.0189054 0 -0.000431752-0.00100903 0.0511006 0.998693 uwb: 0.50126279 844.974 862.36 -imu_odom_: 1691062780.964409973 0.605733 0.0335188 9.81383 -0.0735032 -0.00958738 -0.219444 0.1 -0.41 pose: 0.0 1.62637 -0.0189054 0 -0.000431752-0.00100903 0.0511006 0.998693 uwb: 0.0 844.974 862.36 -imu_odom_: 1691062780.981288861 0.703895 -0.373495 10.0987 -0.0703074 -0.00532632 -0.181095 0.06 -0.23 pose: 0.75042428 1.64038 -0.0206544 0 0.000316761 -0.00483505 0.0396134 0.999203 uwb: 0.0 844.974 862.36 -imu_odom_: 1691062780.998428483 0.744597 -0.507571 9.8665 -0.0553937 -0.0106526 -0.184291 0.06 -0.23 pose: 0.7946557 1.64041 -0.0206476 0 -0.000205956-0.00548376 0.0387393 0.999234 uwb: 0.50079615 844.637 862.061 -imu_odom_: 1691062781.14339681 0.653617 -0.19393 9.77074 -0.052198 0.00639159 -0.155529 0.06 -0.23 pose: 0.0 1.64041 -0.0206476 0 -0.000205956-0.00548376 0.0387393 0.999234 uwb: 0.0 844.637 862.061 -imu_odom_: 1691062781.31366144 0.577003 -0.201113 9.85214 -0.0628506 0 -0.120375 0.05 -0.17 pose: 0.41983151 1.64038 -0.0206543 0 -0.001168 -0.00864902 0.0342857 0.999374 uwb: 0.0 844.637 862.061 -imu_odom_: 1691062781.47402167 0.646434 -0.349553 9.95988 -0.0596548 -0.0138484 -0.127832 0.06 -0.26 pose: 0.0 1.64038 -0.0206543 0 -0.001168 -0.00864902 0.0342857 0.999374 uwb: 0.0 844.637 862.061 -imu_odom_: 1691062781.63333488 0.581791 -0.162806 9.88087 -0.0596548 -0.00958738 -0.145941 0.06 -0.26 pose: 0.0 1.64038 -0.0206543 0 -0.001168 -0.00864902 0.0342857 0.999374 uwb: 0.50169153 845.044 860.964 -imu_odom_: 1691062781.79267143 0.651223 -0.25618 9.89045 -0.0575243 -0.0149137 -0.129962 0.05 -0.2 pose: 0.24010579 1.64041 -0.0206475 0 -0.000149119-0.00918051 0.0323303 0.999435 uwb: 0.0 845.044 860.964 -imu_odom_: 1691062781.105437674 0.751779 -0.395043 9.87608 -0.0628506 0.00639159 -0.0852212 0.05 -0.2 pose: 0.0 1.64041 -0.0206475 0 -0.000149119-0.00918051 0.0323303 0.999435 uwb: 0.49763761 845.65 859.552 -imu_odom_: 1691062781.121424701 0.244209 -0.452504 9.84496 -0.0607201 0.0394148 -0.0990696 0.05 -0.2 pose: 0.31996510 1.64041 -0.0206475 0 0.000192714 -0.0100691 0.0294974 0.999514 uwb: 0.0 845.65 859.552 -imu_odom_: 1691062781.138419374 -0.114922 -0.150835 10.228 -0.0458064 0.0319579 -0.206661 0.04 -0.14 pose: 0.42035065 1.64041 -0.0206475 0 -0.00271707 -0.0116502 0.0266572 0.999573 uwb: 0.0 845.65 859.552 -imu_odom_: 1691062781.155325386 -1.60412 0.344765 9.36133 -0.0308927 0.0585895 -0.2024 0.04 -0.14 pose: 0.0 1.64041 -0.0206475 0 -0.00271707 -0.0116502 0.0266572 0.999573 uwb: 0.50036744 845.475 859.146 -imu_odom_: 1691062781.171332828 -1.12049 -0.399832 10.1562 -0.0617853 -0.0511327 -0.0809601 0.08 -0.08 pose: 0.42943551 1.64041 -0.0206475 0 -0.00215052 -0.00649151 0.0219047 0.999737 uwb: 0.0 845.475 859.146 -imu_odom_: 1691062781.188352875 0.253785 -0.964863 9.69891 -0.0660464 -0.113983 -0.0468716 0.08 -0.08 pose: 0.0 1.64041 -0.0206475 0 -0.00215052 -0.00649151 0.0219047 0.999737 uwb: 0.0 845.475 859.146 -imu_odom_: 1691062781.205449625 0.572214 -0.411803 9.50498 -0.0596548 -0.0117179 -0.0703074 0.08 -0.08 pose: 0.0 1.64041 -0.0206475 0 -0.00215052 -0.00649151 0.0219047 0.999737 uwb: 0.50049577 845.388 858.819 -imu_odom_: 1691062781.221421486 0.452504 -0.0837971 9.7875 -0.0639159 0.0319579 -0.0511327 0.1 -0.11 pose: 0.6951452 1.64041 -0.0206475 0 -0.00224 -0.00596453 0.0214881 0.999749 uwb: 0.0 845.388 858.819 -imu_odom_: 1691062781.238281126 -0.191536 -0.1652 10.24 -0.0735032 0.0266316 -0.0447411 0.1 -0.11 pose: 0.0 1.64041 -0.0206475 0 -0.00224 -0.00596453 0.0214881 0.999749 uwb: 0.0 845.388 858.819 -imu_odom_: 1691062781.255318380 0.0215478 -0.146046 10.173 -0.0617853 0.00639159 -0.0958738 0.1 -0.11 pose: 0.67087706 1.65444 -0.0223741 0 -0.00405525 -0.00489078 0.0182205 0.999814 uwb: 0.49871672 844.826 859.049 -imu_odom_: 1691062781.271349154 0.47884 -0.155623 9.74919 -0.0617853 -0.0383495 -0.0660464 0.15 -0.08 pose: 0.0 1.65444 -0.0223741 0 -0.00405525 -0.00489078 0.0182205 0.999814 uwb: 0.0 844.826 859.049 -imu_odom_: 1691062781.288264207 0.320823 -0.490811 9.48104 -0.0830906 0.00745685 -0.0319579 0.15 -0.08 pose: 0.0 1.65444 -0.0223741 0 -0.00405525 -0.00489078 0.0182205 0.999814 uwb: 0.0 844.826 859.049 -imu_odom_: 1691062781.304259399 0.25618 -0.301669 10.1442 -0.04048 -0.015979 -0.0607201 0.15 -0.08 pose: 0.32956034 1.65444 -0.0223741 0 -0.00287701 -0.00245824 0.0163254 0.99986 uwb: 0.49873421 844.457 858.961 -imu_odom_: 1691062781.320454371 0.0023942 0.138864 10.1083 -0.0394148 -0.0149137 -0.0458064 0.12 -0.08 pose: 0.41938821 1.66233 -0.0162219 0 -0.00374775 -0.0004309410.0144512 0.999888 uwb: 0.0 844.457 858.961 -imu_odom_: 1691062781.337476460 0.833182 -0.316035 10.3813 -0.0628506 -0.0213053 -0.0287621 0.12 -0.08 pose: 0.7048863 1.66233 -0.0162219 0 -0.00318687 2.5411e-05 0.0141521 0.999895 uwb: 0.0 844.457 858.961 -imu_odom_: 1691062781.354268145 0.517148 -0.636858 9.92875 -0.0596548 -0.0255663 -0.036219 0.12 -0.08 pose: 0.0 1.66233 -0.0162219 0 -0.00318687 2.5411e-05 0.0141521 0.999895 uwb: 0.50158070 844.846 858.323 -imu_odom_: 1691062781.370457576 0.445322 -0.354342 9.88087 -0.0436758 0.00745685 -0.0468716 0.13 -0.05 pose: 0.42959883 1.66845 -0.0241322 0 -0.00435122 -0.0018285 0.0125434 0.99991 uwb: 0.0 844.846 858.323 -imu_odom_: 1691062781.386375190 0.311246 -0.191536 9.80665 -0.0532632 -0.0372843 -0.0127832 0.13 -0.05 pose: 0.0 1.66845 -0.0241322 0 -0.00435122 -0.0018285 0.0125434 0.99991 uwb: 0.0 844.846 858.323 -imu_odom_: 1691062781.403266036 0.821211 -0.265756 9.98143 -0.0468716 -0.072438 -0.00106526 0.13 -0.05 pose: 0.0 1.66845 -0.0241322 0 -0.00435122 -0.0018285 0.0125434 0.99991 uwb: 0.50059785 844.865 858.092 -imu_odom_: 1691062781.420258377 1.09894 -0.430956 9.34217 -0.0511327 -0.0319579 0.0298274 0.14 -0.08 pose: 0.23085761 1.67637 -0.0180275 0 -0.00535306 -0.00161546 0.0116672 0.999916 uwb: 0.0 844.865 858.092 -imu_odom_: 1691062781.436344855 0.885855 -0.574608 9.50259 -0.0490022 0.0223706 0.0298274 0.14 -0.08 pose: 0.0 1.67637 -0.0180275 0 -0.00535306 -0.00161546 0.0116672 0.999916 uwb: 0.0 844.865 858.092 -imu_odom_: 1691062781.453256117 1.31442 -0.3304 10.2161 -0.0490022 -0.00852212 0.00745685 0.14 -0.08 pose: 0.33058695 1.67637 -0.0180275 0 -0.00454077 -0.00419521 0.0110487 0.99992 uwb: 0.50041410 844.853 857.333 -imu_odom_: 1691062781.469249851 1.24259 0.047884 9.80426 -0.052198 0.0319579 -0.00852212 0.08 -0.08 pose: 0.42843516 1.67637 -0.0180275 0 -0.00550258 -0.00813789 0.0106363 0.999895 uwb: 0.0 844.853 857.333 -imu_odom_: 1691062781.485309790 0.969652 -0.102951 9.5385 -0.052198 0.0553937 -0.015979 0.08 -0.08 pose: 0.7033113 1.67637 -0.0180275 0 -0.00514916 -0.00862584 0.0104603 0.999895 uwb: 0.0 844.853 857.333 -imu_odom_: 1691062781.502258966 0.454898 -0.354342 9.63187 -0.0479369 0.00852212 -0.056459 0.08 -0.08 pose: 0.0 1.67637 -0.0180275 0 -0.00514916 -0.00862584 0.0104603 0.999895 uwb: 0.49811883 845.519 856.195 -imu_odom_: 1691062781.519250723 0.648829 -0.21069 10.0102 -0.0500674 -0.0255663 -0.0735032 0.09 -0.08 pose: 0.41969736 1.6869 -0.0224669 0 -0.00456129 -0.00854386 0.0089741 0.999913 uwb: 0.0 845.519 856.195 -imu_odom_: 1691062781.535236291 0.873884 -0.191536 9.77313 -0.0628506 0.00319579 -0.0543285 0.06 -0.05 pose: 0.0 1.6869 -0.0224669 0 -0.00456129 -0.00854386 0.0089741 0.999913 uwb: 0.0 845.519 856.195 -imu_odom_: 1691062781.551232650 0.952892 -0.373495 10.1466 -0.056459 -0.00106526 -0.0191748 0.06 -0.05 pose: 0.0 1.6869 -0.0224669 0 -0.00456129 -0.00854386 0.0089741 0.999913 uwb: 0.49990956 845.533 855.451 -imu_odom_: 1691062781.568292653 0.622492 -0.339977 9.5792 -0.056459 0.00426106 -0.0287621 0.06 -0.05 pose: 0.25059349 1.6904 -0.0197821 0 -0.00296155 -0.010527 0.00761441 0.999911 uwb: 0.0 845.533 855.451 -imu_odom_: 1691062781.584398672 0.562637 -0.201113 9.94073 -0.0372843 0.00213053 -0.0255663 0.05 0 pose: 0.0 1.6904 -0.0197821 0 -0.00296155 -0.010527 0.00761441 0.999911 uwb: 0.0 845.533 855.451 -imu_odom_: 1691062781.611514729 0.505177 -0.184354 9.85693 -0.0596548 0.00106526 0.00639159 0.05 0 pose: 0.31979594 1.6904 -0.0197821 0 -0.00398978 -0.012468 0.00650325 0.999893 uwb: 0.50054535 845.832 854.718 -imu_odom_: 1691062781.627394137 0.653617 -0.356736 10.1059 -0.056459 0.015979 0.0213053 0.04 -0.02 pose: 0.34120005 1.6904 -0.0197821 0 -0.00282279 -0.0104337 0.00551925 0.999926 uwb: 0.0 845.832 854.718 -imu_odom_: 1691062781.654308956 -1.12767 -0.280122 9.98143 -0.0436758 0.0692422 0.0223706 0.04 -0.02 pose: 0.0 1.6904 -0.0197821 0 -0.00282279 -0.0104337 0.00551925 0.999926 uwb: 0.49991247 845.886 854.005 -imu_odom_: 1691062781.681452428 -0.28491 -0.181959 9.7875 -0.0596548 -0.092678 0.0287621 0.05 -0.02 pose: 0.42936552 1.6904 -0.0197821 0 -0.00297946 -0.00849619 0.0050003 0.999947 uwb: 0.0 845.886 854.005 -imu_odom_: 1691062781.706278166 0.821211 -0.402226 9.82102 -0.0511327 -0.0351537 0.0330232 0.09 -0.02 pose: 0.45097962 1.6904 -0.0197821 0 -0.00265598 -0.00454055 0.00471291 0.999975 uwb: 0.0 845.886 854.005 -imu_odom_: 1691062781.733272314 0.169988 0.0191536 9.99819 -0.0575243 0.0149137 0.00213053 0.09 -0.02 pose: 0.0 1.6904 -0.0197821 0 -0.00265598 -0.00454055 0.00471291 0.999975 uwb: 0.0 845.886 854.005 -imu_odom_: 1691062781.758311831 -0.184354 -0.545878 9.8258 -0.0596548 0.0106526 0.0383495 0.11 0 pose: 0.8139629 1.6904 -0.0197821 0 -0.00294398 -0.00542131 0.004686 0.99997 uwb: 0.100032950 845.85 853.459 -imu_odom_: 1691062781.775239425 0.23942 -0.493206 10.0485 -0.0351537 -0.0426106 0.00639159 0.11 0 pose: 0.0 1.6904 -0.0197821 0 -0.00294398 -0.00542131 0.004686 0.99997 uwb: 0.0 845.85 853.459 -imu_odom_: 1691062781.800244527 0.277727 0.0311246 10.0652 -0.0607201 0.0106526 0.0319579 0.13 -0.02 pose: 0.51820761 1.70443 -0.0215614 0 -0.00221507 -0.00405795 0.00411733 0.999981 uwb: 0.49976956 844.988 853.922 -imu_odom_: 1691062781.827268131 -0.102951 -0.263362 9.68933 -0.0479369 -0.015979 0.0170442 0.13 -0.02 pose: 0.0 1.70443 -0.0215614 0 -0.00221507 -0.00405795 0.00411733 0.999981 uwb: 0.0 844.988 853.922 -imu_odom_: 1691062781.853381208 0.363919 -0.469264 9.90721 -0.0649811 0.00532632 0.0181095 0.13 0 pose: 0.41842285 1.70443 -0.0215614 0 -0.00328213 -0.00113342 0.00380898 0.999987 uwb: 0.49878671 844.788 853.478 -imu_odom_: 1691062781.869243117 0.0814029 -0.162806 9.64624 -0.0340885 0.0127832 0.00745685 0.13 0 pose: 0.0 1.70443 -0.0215614 0 -0.00328213 -0.00113342 0.00380898 0.999987 uwb: 0.0 844.788 853.478 -imu_odom_: 1691062781.895250033 0.938527 -0.325611 9.94073 -0.0607201 -0.0117179 0.0266316 0.18 -0.02 pose: 0.52042123 1.71234 -0.015449 0 -0.00262391 0.00229234 0.00335688 0.999988 uwb: 0.0 844.788 853.478 -imu_odom_: 1691062781.922238931 0.679953 -0.337582 10.0604 -0.0490022 -0.00532632 0.02024 0.18 0 pose: 0.59952807 1.72415 -0.0189778 0 -0.00388055 0.00119145 0.00273301 0.999988 uwb: 0.50122197 844.957 852.61 -imu_odom_: 1691062781.938364782 0.497994 -0.160412 9.48583 -0.052198 0.0245011 0.0213053 0.18 0 pose: 0.0 1.72415 -0.0189778 0 -0.00388055 0.00119145 0.00273301 0.999988 uwb: 0.0 844.957 852.61 -imu_odom_: 1691062781.965234104 0.837971 -0.361524 9.59357 -0.0607201 0.0276969 0.0308927 0.2 0 pose: 0.6998407 1.72637 -0.0172703 0 -0.00396193 0.00049537 0.00266251 0.999988 uwb: 0.50056285 845.087 851.959 -imu_odom_: 1691062781.990260205 0.189142 -0.174777 10.6398 -0.052198 0.0607201 0.02024 0.2 0 pose: 0.0 1.72637 -0.0172703 0 -0.00396193 0.00049537 0.00266251 0.999988 uwb: 0.0 845.087 851.959 -imu_odom_: 1691062782.7231546 -0.280122 -0.335188 9.2895 -0.0628506 0.0543285 0.0649811 0.18 -0.05 pose: 0.43059919 1.72637 -0.0172703 0 -0.0029061 -0.00255069 0.00227564 0.99999 uwb: 0.0 845.087 851.959 -imu_odom_: 1691062782.23216532 -0.351948 -0.497994 9.74201 -0.0585895 -0.0191748 0.0394148 0.18 -0.05 pose: 0.0 1.72637 -0.0172703 0 -0.0029061 -0.00255069 0.00227564 0.99999 uwb: 0.0 845.087 851.959 -imu_odom_: 1691062782.40258453 0.308852 -0.117316 9.8689 -0.0436758 -0.0511327 0.0223706 0.18 -0.05 pose: 0.0 1.72637 -0.0172703 0 -0.0029061 -0.00255069 0.00227564 0.99999 uwb: 0.0 845.087 851.959 -imu_odom_: 1691062782.66281702 0.0814029 -0.208296 9.50019 -0.0798948 -0.0106526 0.0607201 0.15 -0.02 pose: 0.52077995 1.74039 -0.0191153 0 -0.00261848 -9.55185e-050.00203533 0.999994 uwb: 0.99845713 844.417 851.838 -imu_odom_: 1691062782.93354305 0.143652 0.047884 10.343 -0.056459 0.0245011 0.00852212 0.21 -0.02 pose: 0.50913151 1.74039 -0.0191153 0 -0.00152132 0.00340286 0.00211173 0.999991 uwb: 0.0 844.417 851.838 -imu_odom_: 1691062782.118353866 0.842759 -0.435745 10.3358 -0.0681769 -0.0127832 0.0532632 0.16 0 pose: 0.0 1.74039 -0.0191153 0 -0.00152132 0.00340286 0.00211173 0.999991 uwb: 0.0 844.417 851.838 -imu_odom_: 1691062782.145231647 0.940921 -0.146046 10.0796 -0.0532632 0.0181095 0.00852212 0.2 -0.02 pose: 0.53070770 1.75443 -0.0208234 0 0.000505423 0.00601324 0.00195278 0.99998 uwb: 0.0 844.417 851.838 -imu_odom_: 1691062782.170362159 0.670376 -0.258574 9.88805 -0.0916127 0.00532632 0.0458064 0.2 -0.02 pose: 0.0 1.75443 -0.0208234 0 0.000505423 0.00601324 0.00195278 0.99998 uwb: 0.99986872 844.495 851.653 -imu_odom_: 1691062782.196257083 0.179565 -0.454898 9.60554 -0.0543285 0.0394148 0.0117179 0.19 0 pose: 0.68991884 1.76668 -0.0202467 0 -0.000726957-0.0003660310.00172844 0.999998 uwb: 0.0 844.495 851.653 -imu_odom_: 1691062782.212490845 0.4956 -0.320823 10.0916 -0.0660464 0.02024 0.0340885 0.19 0 pose: 0.7018531 1.76847 -0.022538 0 -0.0012171 0.000287722 0.00163109 0.999998 uwb: 0.49968501 844.464 851.104 -imu_odom_: 1691062782.238244027 0.272939 -0.177171 10.149 -0.0372843 0.0330232 0.00958738 0.2 0 pose: 0.0 1.76847 -0.022538 0 -0.0012171 0.000287722 0.00163109 0.999998 uwb: 0.0 844.464 851.104 -imu_odom_: 1691062782.254411585 0.138864 0.0502782 10.0437 -0.0351537 -0.00852212 0.0234358 0.2 0 pose: 0.35110155 1.77635 -0.0163811 0 -0.0032469 0.000743184 0.00131929 0.999994 uwb: 0.50275023 843.916 850.58 -imu_odom_: 1691062782.281539600 0.292093 -0.308852 9.43794 -0.0468716 -0.0287621 0.0276969 0.2 0.02 pose: 0.0 1.77635 -0.0163811 0 -0.0032469 0.000743184 0.00131929 0.999994 uwb: 0.0 843.916 850.58 -imu_odom_: 1691062782.297498046 0.641646 -0.19393 9.72764 -0.0287621 -0.0287621 0.0149137 0.2 0.02 pose: 0.41920740 1.77961 -0.0205686 0 0.000187545 0.00403753 0.00081328 0.999992 uwb: 0.0 843.916 850.58 -imu_odom_: 1691062782.314363228 0.68953 -0.426168 9.57202 -0.0756338 -0.00106526 0.0532632 0.2 0.02 pose: 0.0 1.77961 -0.0205686 0 0.000187545 0.00403753 0.00081328 0.999992 uwb: 0.49929128 844.707 849.248 -imu_odom_: 1691062782.339216381 0.847547 -0.225055 9.57681 -0.0479369 0.0234358 -0.00106526 0.24 0 pose: 0.50962440 1.79039 -0.0181254 0 -0.00217647 0.00218611 0.00049344 0.999995 uwb: 0.0 844.707 849.248 -imu_odom_: 1691062782.366213447 0.23942 -0.414197 9.39485 -0.076699 0.00958738 0.0479369 0.22 0 pose: 0.0 1.79039 -0.0181254 0 -0.00217647 0.00218611 0.00049344 0.999995 uwb: 0.49747430 845.361 848.037 -imu_odom_: 1691062782.382401420 0.533907 -0.138864 10.1682 -0.0479369 -0.0117179 0.0223706 0.22 0 pose: 0.40878095 1.79652 -0.0260209 0 -0.00291864 -0.0001514017.09286e-05 0.999996 uwb: 0.0 845.361 848.037 -imu_odom_: 1691062782.399210897 0.720655 -0.0167594 9.50259 -0.056459 0.00852212 0.0287621 0.22 0 pose: 0.0 1.79652 -0.0260209 0 -0.00291864 -0.0001514017.09286e-05 0.999996 uwb: 0.50037621 846.123 846.393 -imu_odom_: 1691062782.424421029 0.565032 -0.545878 9.24641 -0.0756338 0.0138484 0.0287621 0.24 0 pose: 0.43040672 1.80442 -0.0198886 0 -0.00279869 -0.000198471-2.30695e-050.999996 uwb: 0.0 846.123 846.393 -imu_odom_: 1691062782.451356848 0.387861 -0.220267 9.79707 -0.0394148 0.00426106 0.036219 0.2 0 pose: 0.35128237 1.81004 -0.0155255 0 -0.00469814 -0.00180914 -0.0002167360.999987 uwb: 0.50020997 846.041 845.504 -imu_odom_: 1691062782.467345624 0.675165 -0.529119 9.67257 -0.0692422 0.00958738 0.056459 0.2 0 pose: 0.0 1.81004 -0.0155255 0 -0.00469814 -0.00180914 -0.0002167360.999987 uwb: 0.0 846.041 845.504 -imu_odom_: 1691062782.494359897 0.328006 -0.136469 10.0365 -0.0553937 0.0181095 0.04048 0.24 0.02 pose: 0.6952327 1.81232 -0.0137586 0 -0.00404364 -0.00142648 -0.0002278860.999991 uwb: 0.0 846.041 845.504 -imu_odom_: 1691062782.510254763 0.153229 -0.155623 9.51695 -0.056459 -0.0543285 0.0436758 0.24 0.02 pose: 0.0 1.81232 -0.0137586 0 -0.00404364 -0.00142648 -0.0002278860.999991 uwb: 0.49951876 846.08 844.731 -imu_odom_: 1691062782.527290559 0.878672 -0.184354 10.4052 -0.0394148 0.0149137 0.02024 0.24 0.02 pose: 0.0 1.81232 -0.0137586 0 -0.00404364 -0.00142648 -0.0002278860.999991 uwb: 0.0 846.08 844.731 -imu_odom_: 1691062782.544266276 -0.172383 -0.124498 9.86411 -0.0426106 -0.00319579 0.056459 0.24 0 pose: 0.42992841 1.81845 -0.0216613 0 -0.00284239 -0.000850583-0.0001238190.999996 uwb: 0.0 846.08 844.731 -imu_odom_: 1691062782.560195556 0.213084 -0.493206 9.54568 -0.0660464 -0.015979 0.052198 0.24 0 pose: 0.0 1.81845 -0.0216613 0 -0.00284239 -0.000850583-0.0001238190.999996 uwb: 0.50068536 846.025 843.587 -imu_odom_: 1691062782.586324674 0.423774 -0.112527 9.85932 -0.0468716 -0.00426106 0.0532632 0.17 -0.02 pose: 0.85829359 1.83661 -0.0202331 0 -0.00149165 0.00246306 -2.63701e-060.999996 uwb: 0.0 846.025 843.587 -imu_odom_: 1691062782.609333149 0.586579 -0.155623 10.1969 -0.0820254 -0.00958738 0.0458064 0.17 -0.02 pose: 0.0 1.83661 -0.0202331 0 -0.00149165 0.00246306 -2.63701e-060.999996 uwb: 0.50136782 846.022 842.761 -imu_odom_: 1691062782.634406206 0.682347 0.023942 10.2352 -0.0628506 -0.0415453 0.0585895 0.18 0.02 pose: 0.8092966 1.84038 -0.0173039 0 -0.0007400940.00208782 5.3851e-05 0.999998 uwb: 0.0 846.022 842.761 -imu_odom_: 1691062782.661243156 0.581791 -0.169988 10.6662 -0.0532632 0.00106526 0.0426106 0.21 0.02 pose: 0.0 1.84038 -0.0173039 0 -0.0007400940.00208782 5.3851e-05 0.999998 uwb: 0.49750055 846.087 842.002 -imu_odom_: 1691062782.687257947 0.59855 0.0766145 10.2328 -0.0841559 0.00852212 0.0628506 0.18 0.02 pose: 0.66117684 1.85213 -0.0208376 0 0.00258851 -0.00345824 0.00049236 0.999991 uwb: 0.0 846.087 842.002 -imu_odom_: 1691062782.714227014 0.603339 -0.160412 10.1634 -0.0660464 -0.0649811 0.0447411 0.23 0.02 pose: 0.34866919 1.85441 -0.0190653 0 0.00301973 -0.00623783 0.000629801 0.999976 uwb: 0.50177321 846.727 840.724 -imu_odom_: 1691062782.740334259 0.347159 -0.349553 9.78031 -0.0916127 -0.0266316 0.0490022 0.23 0.02 pose: 0.0 1.85441 -0.0190653 0 0.00301973 -0.00623783 0.000629801 0.999976 uwb: 0.0 846.727 840.724 -imu_odom_: 1691062782.767326657 0.543484 -0.299275 10.2855 -0.0479369 -0.0468716 0.0436758 0.25 0.02 pose: 0.71061134 1.86845 -0.0208136 0 0.00097323 -0.00807894 0.00103968 0.999966 uwb: 0.49921837 846.317 840.297 -imu_odom_: 1691062782.792301429 0.40462 -0.0790087 9.79947 -0.0511327 -0.0308927 0.0436758 0.25 0.02 pose: 0.7005698 1.86845 -0.0208136 0 0.000316115 -0.00807205 0.00105945 0.999967 uwb: 0.0 846.317 840.297 -imu_odom_: 1691062782.809182360 0.136469 -0.213084 9.77313 -0.0308927 0.0745685 0.0340885 0.21 0 pose: 0.0 1.86845 -0.0208136 0 0.000316115 -0.00807205 0.00105945 0.999967 uwb: 0.49941376 846.451 839.317 -imu_odom_: 1691062782.834222461 0.155623 -0.167594 9.89524 -0.0553937 0.0287621 0.056459 0.21 0 pose: 0.51826596 1.88248 -0.0225516 0 0.000397276 -0.00572353 0.00113756 0.999983 uwb: 0.0 846.451 839.317 -imu_odom_: 1691062782.861234400 0.35913 -0.383072 9.80186 -0.0511327 -0.0245011 0.0596548 0.18 0 pose: 0.18070566 1.88248 -0.0225516 0 0.000595393 -0.00339228 0.00117803 0.999993 uwb: 0.50318188 846.954 838.153 -imu_odom_: 1691062782.886268668 0.160412 -0.162806 9.88087 -0.0543285 0.00213053 0.0447411 0.18 0 pose: 0.43997281 1.89037 -0.0164019 0 -0.00167919 -0.00071707 0.00159365 0.999997 uwb: 0.0 846.954 838.153 -imu_odom_: 1691062782.913169489 0.289698 -0.268151 9.98143 -0.0490022 0.00852212 0.052198 0.18 0 pose: 0.0 1.89037 -0.0164019 0 -0.00167919 -0.00071707 0.00159365 0.999997 uwb: 0.49846299 847.474 836.722 -imu_odom_: 1691062782.929181598 0.557849 -0.390255 10.2089 -0.0585895 0.0138484 0.0490022 0.19 0 pose: 0.8109006 1.89037 -0.0164019 0 -0.00142203 8.02398e-05 0.00161565 0.999998 uwb: 0.0 847.474 836.722 -imu_odom_: 1691062782.955382461 0.248997 -0.155623 9.83777 -0.052198 0.0138484 0.0543285 0.19 0 pose: 0.0 1.89037 -0.0164019 0 -0.00142203 8.02398e-05 0.00161565 0.999998 uwb: 0.49832884 846.545 836.587 -imu_odom_: 1691062782.980386106 0.287304 -0.351948 9.4547 -0.0607201 0.0372843 0.0372843 0.19 0 pose: 0.51839720 1.9044 -0.0181243 0 -0.00233002 0.00373746 0.00186576 0.999989 uwb: 0.0 846.545 836.587 -imu_odom_: 1691062783.7220140 0.280122 -0.275333 9.8665 -0.052198 -0.0394148 0.04048 0.19 0 pose: 0.0 1.9044 -0.0181243 0 -0.00233002 0.00373746 0.00186576 0.999989 uwb: 0.50107033 846.33 835.784 -imu_odom_: 1691062783.23216791 0.402226 -0.150835 10.2208 -0.0383495 -0.0490022 0.0394148 0.18 0 pose: 0.41202700 1.91844 -0.0198392 0 -0.00139302 0.0052979 0.00209213 0.999983 uwb: 0.0 846.33 835.784 -imu_odom_: 1691062783.50169235 0.323217 -0.158017 10.3956 -0.0458064 -0.00213053 0.0490022 0.18 0 pose: 0.0 1.91844 -0.0198392 0 -0.00139302 0.0052979 0.00209213 0.999983 uwb: 0.50011083 846.726 834.478 -imu_odom_: 1691062783.66187469 0.622492 -0.371101 9.51216 -0.0511327 -0.00852212 0.0415453 0.25 0 pose: 0.52854367 1.91844 -0.0198392 0 -0.00192828 0.00725647 0.00208996 0.99997 uwb: 0.0 846.726 834.478 -imu_odom_: 1691062783.93310236 0.42138 -0.241814 10.082 -0.0436758 -0.00745685 0.0543285 0.25 0 pose: 0.0 1.91844 -0.0198392 0 -0.00192828 0.00725647 0.00208996 0.99997 uwb: 0.0 846.726 834.478 -imu_odom_: 1691062783.118211221 0.464475 -0.0383072 10.3118 -0.0543285 -0.00852212 0.0372843 0.25 -0.02 pose: 0.43019967 1.93248 -0.0215483 0 0.000650978 0.00432485 0.0022368 0.999988 uwb: 0.50004666 846.806 833.985 -imu_odom_: 1691062783.145296365 0.73502 -0.452504 9.80665 -0.0639159 0.0138484 0.0703074 0.23 0 pose: 0.16032816 1.93248 -0.0215483 0 5.30333e-05 0.00284019 0.00230207 0.999993 uwb: 0.0 846.806 833.985 -imu_odom_: 1691062783.170170227 0.672771 -0.153229 10.0102 -0.0340885 0.0319579 0.036219 0.23 0 pose: 0.0 1.93248 -0.0215483 0 5.30333e-05 0.00284019 0.00230207 0.999993 uwb: 0.49879549 846.535 833.108 -imu_odom_: 1691062783.187216815 -0.23942 -0.251391 9.53611 -0.0820254 -0.0266316 0.0596548 0.23 -0.02 pose: 0.50922486 1.94035 -0.0153808 0 0.00133499 -0.0005113010.00252204 0.999996 uwb: 0.0 846.535 833.108 -imu_odom_: 1691062783.213335434 -0.0167594 -0.179565 9.63666 -0.0372843 -0.0319579 0.0276969 0.23 -0.02 pose: 0.0 1.94035 -0.0153808 0 0.00133499 -0.0005113010.00252204 0.999996 uwb: 0.50106744 846.057 832.295 -imu_odom_: 1691062783.240198050 0.416591 -0.25618 10.1035 -0.0692422 -0.0532632 0.056459 0.23 0 pose: 0.52081498 1.95439 -0.0170776 0 0.000735624 -0.00320514 0.00286179 0.99999 uwb: 0.0 846.057 832.295 -imu_odom_: 1691062783.265199654 0.423774 0.150835 10.1299 -0.0553937 -0.0149137 0.0479369 0.23 0 pose: 0.0 1.95439 -0.0170776 0 0.000735624 -0.00320514 0.00286179 0.99999 uwb: 0.49733141 846.735 830.972 -imu_odom_: 1691062783.282296406 0.687136 -0.390255 9.31584 -0.0884169 -0.0213053 0.0511327 0.21 0 pose: 0.42895141 1.95439 -0.0170776 0 0.00017896 -0.0003833050.00286155 0.999996 uwb: 0.0 846.735 830.972 -imu_odom_: 1691062783.307290427 0.112527 -0.287304 10.1418 -0.0426106 0.0117179 0.0308927 0.21 0 pose: 0.0 1.95439 -0.0170776 0 0.00017896 -0.0003833050.00286155 0.999996 uwb: 0.50127742 846.195 830.376 -imu_odom_: 1691062783.334212539 0.251391 -0.141258 9.76355 -0.0671117 -0.0713727 0.0394148 0.23 0 pose: 0.51952298 1.96843 -0.018766 0 6.14722e-05 -0.00199186 0.00317285 0.999993 uwb: 0.0 846.195 830.376 -imu_odom_: 1691062783.360149462 0.991199 -0.411803 9.73004 -0.0532632 -0.0191748 0.0415453 0.2 -0.02 pose: 0.42168934 1.98247 -0.020446 0 -0.0006464550.000132032 0.00312733 0.999995 uwb: 0.50009042 845.93 829.786 -imu_odom_: 1691062783.387150319 0.294487 -0.292093 9.98382 -0.0436758 0.04048 0.0245011 0.23 -0.02 pose: 0.0 1.98247 -0.020446 0 -0.0006464550.000132032 0.00312733 0.999995 uwb: 0.0 845.93 829.786 -imu_odom_: 1691062783.412158923 0.679953 -0.466869 9.35654 -0.0628506 0.00958738 0.0585895 0.2 0 pose: 0.52874200 1.99033 -0.0142652 0 -0.000805086-0.0006893610.00310046 0.999995 uwb: 0.49996208 845.178 829.255 -imu_odom_: 1691062783.429290089 0.565032 -0.158017 10.2065 -0.0394148 -0.0468716 0.0170442 0.2 0 pose: 0.0 1.99033 -0.0142652 0 -0.000805086-0.0006893610.00310046 0.999995 uwb: 0.0 845.178 829.255 -imu_odom_: 1691062783.445150249 0.656011 -0.11971 10.07 -0.0553937 -0.00532632 0.0383495 0.2 0 pose: 0.0 1.99033 -0.0142652 0 -0.000805086-0.0006893610.00310046 0.999995 uwb: 0.0 845.178 829.255 -imu_odom_: 1691062783.472173272 0.646434 -0.260968 10.1634 -0.0553937 -0.00958738 0.0394148 0.25 0 pose: 0.77962716 2.00438 -0.0159487 0 -0.00109643 -0.00336964 0.00297375 0.999989 uwb: 0.50050747 845.482 828.089 -imu_odom_: 1691062783.488166716 0.593762 -0.189142 9.47864 -0.0468716 -0.00532632 0.0351537 0.25 0 pose: 0.7031947 2.00438 -0.0159487 0 -0.00119018 -0.00408636 0.00297273 0.999987 uwb: 0.0 845.482 828.089 -imu_odom_: 1691062783.515293857 0.138864 -0.447716 9.61511 -0.0458064 -0.0234358 0.04048 0.23 0 pose: 0.0 2.00438 -0.0159487 0 -0.00119018 -0.00408636 0.00297273 0.999987 uwb: 0.49806929 845.762 826.886 -imu_odom_: 1691062783.541292901 0.380678 -0.134075 9.74201 -0.0553937 0.0138484 0.0479369 0.18 -0.02 pose: 0.35984520 2.01055 -0.0238119 0 -0.00046886 -0.00744103 0.00292729 0.999968 uwb: 0.0 845.762 826.886 -imu_odom_: 1691062783.568299299 0.294487 -0.35913 9.09078 -0.0383495 0.0394148 0.04048 0.25 -0.02 pose: 0.53126185 2.01842 -0.0176343 0 8.11114e-05 -0.00315543 0.00305375 0.99999 uwb: 0.50147282 845.777 825.987 -imu_odom_: 1691062783.594380296 0.0526724 -0.21069 9.84975 -0.0468716 -0.0330232 0.052198 0.18 0 pose: 0.0 2.01842 -0.0176343 0 8.11114e-05 -0.00315543 0.00305375 0.99999 uwb: 0.0 845.777 825.987 -imu_odom_: 1691062783.621256328 0.94571 -0.0790087 10.343 -0.0308927 -0.0458064 0.0447411 0.18 0 pose: 0.35019453 2.03246 -0.0193171 0 -0.0013789 0.000138431 0.00312406 0.999994 uwb: 0.50103827 845.081 825.815 -imu_odom_: 1691062783.637141278 0.514753 -0.253785 9.76116 -0.0735032 0.0287621 0.0639159 0.18 0 pose: 0.44943974 2.03808 -0.0149014 0 -8.905e-05 -0.00147034 0.00330873 0.999993 uwb: 0.0 845.081 825.815 -imu_odom_: 1691062783.664197257 0.577003 -0.191536 9.93354 -0.052198 -0.0213053 0.0543285 0.18 0 pose: 0.8026178 2.04032 -0.0131358 0 -0.000488709-0.0020718 0.00340668 0.999992 uwb: 0.49874008 844.73 825.114 -imu_odom_: 1691062783.690190759 0.543484 -0.244209 10.0556 -0.0809601 0 0.0490022 0.18 -0.02 pose: 0.34914751 2.04474 -0.0187421 0 2.73061e-05 -0.0054554 0.00369782 0.999978 uwb: 0.0 844.73 825.114 -imu_odom_: 1691062783.717253155 0.529119 -0.263362 10.1394 -0.0617853 -0.00745685 0.0607201 0.18 -0.02 pose: 0.0 2.04474 -0.0187421 0 2.73061e-05 -0.0054554 0.00369782 0.999978 uwb: 0.50120743 844.334 824.359 -imu_odom_: 1691062783.742417499 0.787692 -0.110133 10.7571 -0.0543285 0.00852212 0.0447411 0.18 0 pose: 0.33140359 2.04651 -0.0209915 0 -0.00232083 -0.00664365 0.00390655 0.999968 uwb: 0.0 844.334 824.359 -imu_odom_: 1691062783.769125833 0.457293 -0.0933739 10.0102 -0.0948085 -0.00426106 0.0617853 0.21 0.02 pose: 0.45079883 2.0588 -0.020422 0 -0.00169871 -0.00677522 0.00417695 0.999967 uwb: 0.49874008 844.803 822.718 -imu_odom_: 1691062783.785174398 0.251391 -0.292093 9.39245 -0.0862864 0.0106526 0.0490022 0.21 0.02 pose: 0.0 2.0588 -0.020422 0 -0.00169871 -0.00677522 0.00417695 0.999967 uwb: 0.0 844.803 822.718 -imu_odom_: 1691062783.812254584 0.40462 -0.371101 9.90481 -0.0660464 -0.0223706 0.0468716 0.25 0.02 pose: 0.0 2.0588 -0.020422 0 -0.00169871 -0.00677522 0.00417695 0.999967 uwb: 0.50057163 844.336 822.498 -imu_odom_: 1691062783.838176340 0.548272 -0.299275 10.1562 -0.0468716 0.0181095 0.0351537 0.25 0.02 pose: 0.50783661 2.0684 -0.0164479 0 -0.00134736 -0.00360294 0.00456484 0.999982 uwb: 0.0 844.336 822.498 -imu_odom_: 1691062783.865190322 0.430956 -0.237026 9.51216 -0.0458064 0.00958738 0.0500674 0.23 0.02 pose: 0.44975180 2.07852 -0.017629 0 -0.00364106 -0.00514241 0.00457692 0.99997 uwb: 0.49934962 844.273 821.485 -imu_odom_: 1691062783.881251428 0.201113 -0.3304 10.0724 -0.04048 0 0.0468716 0.23 0.02 pose: 0.0 2.07852 -0.017629 0 -0.00364106 -0.00514241 0.00457692 0.99997 uwb: 0.0 844.273 821.485 -imu_odom_: 1691062783.908178207 0.658405 -0.296881 9.84735 -0.0681769 -0.0372843 0.0500674 0.25 0 pose: 0.6955827 2.08245 -0.0180882 0 -0.00321987 -0.00451568 0.00461351 0.999974 uwb: 0.49991251 844.951 820.053 -imu_odom_: 1691062783.924117696 0.632069 -0.0766145 10.3501 -0.0330232 -0.0181095 0.0500674 0.25 0 pose: 0.0 2.08245 -0.0180882 0 -0.00321987 -0.00451568 0.00461351 0.999974 uwb: 0.0 844.951 820.053 -imu_odom_: 1691062783.951234046 0.469264 -0.217872 9.9503 -0.0692422 -0.0255663 0.0575243 0.23 0 pose: 0.43001593 2.08245 -0.0180882 0 -0.00249531 -0.00192925 0.004817 0.999983 uwb: 0.50120742 845.384 818.965 -imu_odom_: 1691062783.967325192 0.536301 -0.488417 9.32542 -0.0532632 -0.00106526 0.0351537 0.23 0 pose: 0.0 2.08245 -0.0180882 0 -0.00249531 -0.00192925 0.004817 0.999983 uwb: 0.0 845.384 818.965 -imu_odom_: 1691062783.994297468 0.28491 -0.253785 10.1203 -0.0479369 0.00106526 0.0575243 0.25 0.02 pose: 0.43002759 2.0965 -0.0197215 0 -0.00109887 -0.00476951 0.00505641 0.999975 uwb: 0.0 845.384 818.965 -imu_odom_: 1691062784.20217475 0.622492 -0.114922 10.4196 -0.0447411 0.0181095 0.0436758 0.25 0.02 pose: 0.0 2.0965 -0.0197215 0 -0.00109887 -0.00476951 0.00505641 0.999975 uwb: 0.50020708 845.302 818.227 -imu_odom_: 1691062784.47232916 0.179565 -0.466869 9.77792 -0.0511327 0.0394148 0.0585895 0.23 0.02 pose: 0.43031924 2.10433 -0.0135096 0 -0.00164573 -0.00301122 0.00526501 0.99998 uwb: 0.49723226 845.093 817.66 -imu_odom_: 1691062784.72163359 0.28491 -0.25618 9.93594 -0.0383495 0.056459 0.0383495 0.18 0.02 pose: 0.52936030 2.11055 -0.0213446 0 -0.000505713-0.00214428 0.00556403 0.999982 uwb: 0.0 845.093 817.66 -imu_odom_: 1691062784.89138202 0.497994 -0.301669 9.73482 -0.0660464 -0.036219 0.0415453 0.18 0.02 pose: 0.0 2.11055 -0.0213446 0 -0.000505713-0.00214428 0.00556403 0.999982 uwb: 0.0 845.093 817.66 -imu_odom_: 1691062784.114333170 0.299275 -0.35913 9.43794 -0.0276969 0.0223706 0.0351537 0.18 0 pose: 0.28038254 2.11838 -0.015125 0 -0.0017994 0.000812169 0.00575547 0.999981 uwb: 0.50068248 845.496 815.866 -imu_odom_: 1691062784.141289989 0.533907 -0.114922 9.84975 -0.0436758 -0.0308927 0.0468716 0.18 0 pose: 0.42060151 2.1246 -0.0229538 0 -0.00290556 0.00176633 0.00574237 0.999978 uwb: 0.0 845.496 815.866 -imu_odom_: 1691062784.166104356 0.533907 0.21069 10.0293 -0.0287621 -0.0138484 0.0458064 0.18 -0.02 pose: 0.44087111 2.13243 -0.0167324 0 -0.00199637 0.000751256 0.00580172 0.999981 uwb: 0.50187240 846.348 814.264 -imu_odom_: 1691062784.193086549 0.502782 -0.0622492 9.93354 -0.0553937 -0.0106526 0.0372843 0.18 -0.02 pose: 0.0 2.13243 -0.0167324 0 -0.00199637 0.000751256 0.00580172 0.999981 uwb: 0.0 846.348 814.264 -imu_odom_: 1691062784.210136054 0.6608 -0.366313 10.1586 -0.0649811 -0.0372843 0.0617853 0.19 0.02 pose: 0.51796560 2.14648 -0.0183376 0 0.00292456 -0.00172669 0.00584909 0.999977 uwb: 0.49859427 845.738 814.187 -imu_odom_: 1691062784.234163259 0.814029 -0.299275 10.331 -0.0671117 -0.0223706 0.0500674 0.19 0.02 pose: 0.0 2.14648 -0.0183376 0 0.00292456 -0.00172669 0.00584909 0.999977 uwb: 0.0 845.738 814.187 -imu_odom_: 1691062784.258164509 0.658405 -0.112527 10.1921 -0.0649811 -0.0330232 0.0628506 0.18 0 pose: 0.41076710 2.15202 -0.0139318 0 0.00077083 -0.00575395 0.0061745 0.999964 uwb: 0.50182574 845.505 813.244 -imu_odom_: 1691062784.274214824 0.502782 -0.3304 9.7444 -0.0798948 0.00106526 0.0500674 0.18 0 pose: 0.6977410 2.15431 -0.012112 0 0.00111209 -0.0064442 0.00625368 0.999959 uwb: 0.0 845.505 813.244 -imu_odom_: 1691062784.291104797 -0.268151 -0.296881 9.75158 -0.0436758 0.0394148 0.0276969 0.25 0.02 pose: 0.24973023 2.16054 -0.0199347 0 0.00109956 -0.00783306 0.00649334 0.999948 uwb: 0.0 845.505 813.244 -imu_odom_: 1691062784.317286414 0.167594 -0.272939 10.3669 -0.0553937 -0.0127832 0.0575243 0.25 0.02 pose: 0.0 2.16054 -0.0199347 0 0.00109956 -0.00783306 0.00649334 0.999948 uwb: 0.49683271 845.456 812.519 -imu_odom_: 1691062784.344123366 0.624887 0.0694318 10.2208 -0.0511327 -0.0340885 0.0490022 0.23 0 pose: 0.15097499 2.16054 -0.0199347 0 0.000200713 -0.00668353 0.00649994 0.999957 uwb: 0.0 845.456 812.519 -imu_odom_: 1691062784.369095806 0.342371 -0.011971 10.2687 -0.0585895 -0.0223706 0.0447411 0.23 0 pose: 0.0 2.16054 -0.0199347 0 0.000200713 -0.00668353 0.00649994 0.999957 uwb: 0.49993586 845.498 811.231 -imu_odom_: 1691062784.396139828 0.0622492 -0.301669 10.4052 -0.0639159 0.0383495 0.036219 0.21 -0.02 pose: 0.42934514 2.16835 -0.0137006 0 0.000298501 -0.00344532 0.00670986 0.999972 uwb: 0.0 845.498 811.231 -imu_odom_: 1691062784.421219595 0.344765 -0.232238 10.1658 -0.0436758 0 0.0266316 0.19 0 pose: 0.52019963 2.18241 -0.0152793 0 0.00353798 -0.00236581 0.00683724 0.999968 uwb: 0.50005251 845.815 810.271 -imu_odom_: 1691062784.448302407 0.54109 -0.373495 9.75877 -0.0617853 -0.0447411 0.0532632 0.19 0 pose: 0.0 2.18241 -0.0152793 0 0.00353798 -0.00236581 0.00683724 0.999968 uwb: 0.50053082 845.293 809.629 -imu_odom_: 1691062784.474247204 0.459687 -0.100556 10.422 -0.0340885 0.00213053 0.0298274 0.18 0.02 pose: 0.72136739 2.19246 -0.0164089 0 -0.00112717 -0.0008603020.00681762 0.999976 uwb: 0.0 845.293 809.629 -imu_odom_: 1691062784.501124404 0.88346 -0.25618 10.0006 -0.072438 -0.00958738 0.0436758 0.18 0.02 pose: 0.7955016 2.19646 -0.016858 0 -0.000274962-0.00104661 0.00677797 0.999976 uwb: 0.50053957 844.319 809.113 -imu_odom_: 1691062784.517112015 0.292093 -0.205901 9.26317 -0.0287621 0.0468716 0.02024 0.2 0 pose: 0.0 2.19646 -0.016858 0 -0.000274962-0.00104661 0.00677797 0.999976 uwb: 0.0 844.319 809.113 -imu_odom_: 1691062784.544275905 0.600945 -0.459687 9.90721 -0.0830906 -0.0149137 0.0383495 0.2 0 pose: 0.44866981 2.20225 -0.0122398 0 0.00100554 -0.00419871 0.00674783 0.999968 uwb: 0.0 844.319 809.113 -imu_odom_: 1691062784.569198765 0.390255 -0.385466 9.6606 -0.0479369 -0.0181095 0.0394148 0.24 0 pose: 0.22983394 2.21051 -0.0184386 0 0.000427949 -0.00258479 0.00659049 0.999975 uwb: 0.49874009 844.313 808.082 -imu_odom_: 1691062784.596214789 0.351948 -0.387861 9.91199 -0.0543285 -0.00213053 0.0372843 0.23 0 pose: 0.0 2.21051 -0.0184386 0 0.000427949 -0.00258479 0.00659049 0.999975 uwb: 0.0 844.313 808.082 -imu_odom_: 1691062784.621197728 0.562637 -0.196325 9.96946 -0.0436758 -0.0191748 0.0468716 0.23 0 pose: 0.52110373 2.21833 -0.0122039 0 -0.0041418 -0.00212106 0.00658586 0.999967 uwb: 0.49986003 845.339 806.256 -imu_odom_: 1691062784.638181612 0.452504 -0.351948 10.2424 -0.0394148 -0.0106526 0.052198 0.21 -0.02 pose: 0.0 2.21833 -0.0122039 0 -0.0041418 -0.00212106 0.00658586 0.999967 uwb: 0.0 845.339 806.256 -imu_odom_: 1691062784.664068372 0.497994 -0.215478 10.4411 -0.0511327 -0.00319579 0.0500674 0.21 -0.02 pose: 0.51915844 2.22457 -0.0200222 0 -0.00438702 -0.00270813 0.00669849 0.999964 uwb: 0.50335398 844.594 805.671 -imu_odom_: 1691062784.691114144 0.708684 -0.260968 10.3094 -0.0276969 -0.0490022 0.0330232 0.25 0 pose: 0.0 2.22457 -0.0200222 0 -0.00438702 -0.00270813 0.00669849 0.999964 uwb: 0.0 844.594 805.671 -imu_odom_: 1691062784.707054800 0.919373 -0.241814 9.75877 -0.0468716 0.0266316 0.052198 0.25 0 pose: 0.43020259 2.23238 -0.0137856 0 -0.00268071 -0.00439621 0.00686533 0.999963 uwb: 0.49860593 844.307 804.963 -imu_odom_: 1691062784.724218340 0.174777 -0.507571 9.61033 -0.0660464 -0.0191748 0.056459 0.25 0 pose: 0.0 2.23238 -0.0137856 0 -0.00268071 -0.00439621 0.00686533 0.999963 uwb: 0.0 844.307 804.963 -imu_odom_: 1691062784.750138639 0.392649 -0.0933739 9.87608 -0.0490022 -0.0234358 0.0585895 0.25 0 pose: 0.42949681 2.24644 -0.0153609 0 -0.00256645 -0.00764646 0.00695594 0.999943 uwb: 0.0 844.307 804.963 -imu_odom_: 1691062784.777262281 0.47884 -0.395043 9.92157 -0.056459 0.0287621 0.0426106 0.23 0 pose: 0.36034684 2.24644 -0.0153609 0 -0.00106837 -0.00551429 0.00728642 0.999958 uwb: 0.0 844.307 804.963 -imu_odom_: 1691062784.793067904 0.308852 -0.0742203 10.1347 -0.0532632 0.0149137 0.0415453 0.23 0 pose: 0.6973617 2.24644 -0.0153609 0 -0.00175837 -0.00526506 0.00730076 0.999958 uwb: 0.0 844.307 804.963 -imu_odom_: 1691062784.820053013 0.490811 -0.23942 10.1754 -0.0585895 -0.0383495 0.0447411 0.25 0.02 pose: 0.0 2.24644 -0.0153609 0 -0.00175837 -0.00526506 0.00730076 0.999958 uwb: 0.99941965 844.266 804.211 -imu_odom_: 1691062784.845215025 0.411803 -0.0981623 9.96227 -0.072438 0.00213053 0.052198 0.25 0.02 pose: 0.44087112 2.26049 -0.0169244 0 -0.00190369 -0.00398534 0.00737358 0.999963 uwb: 0.0 844.266 804.211 -imu_odom_: 1691062784.872214133 0.181959 -0.306458 10.1347 -0.0479369 -0.0181095 0.0383495 0.21 -0.02 pose: 0.44015657 2.26604 -0.0124897 0 0.00132836 -0.00379712 0.00756249 0.999963 uwb: 0.50004960 844.797 802.767 -imu_odom_: 1691062784.898202678 0.438139 -0.205901 9.8665 -0.0756338 0.0127832 0.0490022 0.18 0 pose: 0.6994033 2.2683 -0.0106765 0 0.00109201 -0.00319679 0.00755838 0.999966 uwb: 0.50083705 844.374 802.229 -imu_odom_: 1691062784.925200912 0.059855 -0.222661 9.68455 -0.0266316 0.0223706 0.0394148 0.23 0 pose: 0.45993620 2.28016 -0.013992 0 0.000511673 -0.00383432 0.0076692 0.999963 uwb: 0.0 844.374 802.229 -imu_odom_: 1691062784.950052026 0.0622492 -0.023942 9.72764 -0.0426106 -0.0170442 0.0468716 0.19 0 pose: 0.0 2.28016 -0.013992 0 0.000511673 -0.00383432 0.0076692 0.999963 uwb: 0.49874885 843.99 801.028 -imu_odom_: 1691062784.967085490 0.670376 -0.158017 10.07 -0.0340885 -0.0117179 0.0394148 0.19 0 pose: 0.34899004 2.28236 -0.0122322 0 0.00116022 -0.00011186 0.0076958 0.99997 uwb: 0.0 843.99 801.028 -imu_odom_: 1691062784.993172904 0.430956 -0.316035 9.69652 -0.0553937 0.0106526 0.052198 0.18 0.02 pose: 0.0 2.28236 -0.0122322 0 0.00116022 -0.00011186 0.0076958 0.99997 uwb: 0.0 843.99 801.028 -imu_odom_: 1691062785.10167580 0.186748 -0.23942 9.93833 -0.0436758 -0.00319579 0.0426106 0.18 0.02 pose: 0.42205975 2.29641 -0.0137844 0 0.00148468 -0.0005089210.00781027 0.999968 uwb: 0.49997085 843.466 800.359 -imu_odom_: 1691062785.26046115 0.572214 -0.304064 9.5816 -0.0543285 -0.0117179 0.0490022 0.18 0.02 pose: 0.0 2.29641 -0.0137844 0 0.00148468 -0.0005089210.00781027 0.999968 uwb: 0.0 843.466 800.359 -imu_odom_: 1691062785.53048141 0.395043 -0.248997 10.1586 -0.0276969 0.00426106 0.0298274 0.18 0 pose: 0.42791316 2.29641 -0.0137844 0 -0.0006507250.000326354 0.00798782 0.999968 uwb: 0.49998837 843.613 799.105 -imu_odom_: 1691062785.78114493 0.146046 -0.234632 9.57441 -0.0649811 0.0127832 0.0543285 0.2 0 pose: 0.34949168 2.3062 -0.0148595 0 -0.00241572 0.00167468 0.00789572 0.999965 uwb: 0.0 843.613 799.105 -imu_odom_: 1691062785.96094942 0.73502 -0.167594 10.2615 -0.0415453 -0.00958738 0.0351537 0.2 0 pose: 0.0 2.3062 -0.0148595 0 -0.00241572 0.00167468 0.00789572 0.999965 uwb: 0.0 843.613 799.105 -imu_odom_: 1691062785.112050180 0.761356 -0.146046 10.1251 -0.0458064 -0.00532632 0.0532632 0.2 0 pose: 0.0 2.3062 -0.0148595 0 -0.00241572 0.00167468 0.00789572 0.999965 uwb: 0.50005253 843.457 798.179 -imu_odom_: 1691062785.136035973 0.526724 -0.105345 9.94312 -0.0692422 -0.0617853 0.0426106 0.18 0.02 pose: 0.8257748 2.31047 -0.0153294 0 -0.00236956 0.00256634 0.00795862 0.999962 uwb: 0.0 843.457 798.179 -imu_odom_: 1691062785.161038745 0.550666 -0.325611 9.60314 -0.056459 -0.0223706 0.0490022 0.18 0.02 pose: 0.0 2.31047 -0.0153294 0 -0.00236956 0.00256634 0.00795862 0.999962 uwb: 0.50053375 842.966 797.545 -imu_odom_: 1691062785.188023855 0.294487 -0.138864 9.96946 -0.0372843 0.00852212 0.0276969 0.21 0 pose: 0.57886191 2.31827 -0.00907203 0 -0.0008291290.000302892 0.00816253 0.999966 uwb: 0.0 842.966 797.545 -imu_odom_: 1691062785.214024942 0.59855 -0.342371 9.57202 -0.0681769 -0.0276969 0.0511327 0.19 0 pose: 0.48920319 2.32453 -0.0168709 0 -0.00108327 -0.00280602 0.00826669 0.999961 uwb: 0.49978713 842.636 796.754 -imu_odom_: 1691062785.241125837 0.500388 -0.208296 9.66779 -0.0127832 0.00213053 0.0351537 0.19 0 pose: 0.0 2.32453 -0.0168709 0 -0.00108327 -0.00280602 0.00826669 0.999961 uwb: 0.0 842.636 796.754 -imu_odom_: 1691062785.266051614 0.64404 -0.337582 9.71328 -0.0703074 -0.00532632 0.0490022 0.18 -0.02 pose: 0.73013438 2.34417 -0.0139314 0 0.00103903 -0.005076 0.00823161 0.999953 uwb: 0.50040834 843.312 795.429 -imu_odom_: 1691062785.293183132 0.442927 -0.0191536 9.91678 -0.052198 -0.015979 0.0660464 0.18 -0.02 pose: 0.7936643 2.34639 -0.0121489 0 0.000425238 -0.00564917 0.00827207 0.99995 uwb: 0.0 843.312 795.429 -imu_odom_: 1691062785.309056709 0.395043 -0.323217 9.991 -0.076699 -0.0181095 0.0585895 0.2 -0.02 pose: 0.0 2.34639 -0.0121489 0 0.000425238 -0.00564917 0.00827207 0.99995 uwb: 0.49946632 842.896 794.885 -imu_odom_: 1691062785.326058384 1.16358 -0.1652 9.88087 -0.0458064 0.00639159 0.0319579 0.2 -0.02 pose: 0.44120652 2.35085 -0.0177081 0 0.00162559 -0.00591437 0.00870217 0.999943 uwb: 0.0 842.896 794.885 -imu_odom_: 1691062785.352099719 0.512359 -0.354342 9.69891 -0.0777643 0.0245011 0.0490022 0.18 0 pose: 0.0 2.35085 -0.0177081 0 0.00162559 -0.00591437 0.00870217 0.999943 uwb: 0.49973755 842.379 794.211 -imu_odom_: 1691062785.369227386 -0.0023942 -0.445322 9.42597 -0.052198 0.0798948 0.0213053 0.18 0 pose: 0.32875252 2.36044 -0.0136743 0 0.000476044 -0.00658354 0.0087926 0.99994 uwb: 0.0 842.379 794.211 -imu_odom_: 1691062785.394179120 0.454898 -0.538695 9.74679 -0.0639159 0.0383495 0.0617853 0.18 0 pose: 0.0 2.36044 -0.0136743 0 0.000476044 -0.00658354 0.0087926 0.99994 uwb: 0.0 842.379 794.211 -imu_odom_: 1691062785.421159272 0.411803 -0.110133 10.2639 -0.0553937 -0.0127832 0.036219 0.18 0 pose: 0.43169002 2.36479 -0.0101754 0 -0.00298049 -0.0036067 0.00877981 0.999951 uwb: 0.50064166 841.877 793.555 -imu_odom_: 1691062785.446189168 0.371101 -0.418985 10.2352 -0.0681769 0.0117179 0.0426106 0.18 -0.02 pose: 0.51931886 2.3745 -0.0151945 0 -0.00295749 -0.00242628 0.00901535 0.999952 uwb: 0.0 841.877 793.555 -imu_odom_: 1691062785.463168095 0.397437 -0.316035 9.25838 -0.0436758 0.0276969 0.0255663 0.18 -0.02 pose: 0.0 2.3745 -0.0151945 0 -0.00295749 -0.00242628 0.00901535 0.999952 uwb: 0.50116079 843.062 791.736 -imu_odom_: 1691062785.488267694 0.45011 -0.172383 9.80665 -0.0596548 0.052198 0.0319579 0.18 -0.02 pose: 0.42008823 2.38577 -0.0132409 0 -0.00552143 0.000918625 0.00894999 0.999944 uwb: 0.0 843.062 791.736 -imu_odom_: 1691062785.515026193 0.287304 -0.11971 10.2376 -0.0479369 -0.0671117 0.0458064 0.18 -0.02 pose: 0.0 2.38577 -0.0132409 0 -0.00552143 0.000918625 0.00894999 0.999944 uwb: 0.49948674 843.408 790.678 -imu_odom_: 1691062785.541031071 0.624887 -0.275333 10.489 -0.04048 -0.0340885 0.0287621 0.19 -0.02 pose: 0.51858098 2.3941 -0.0122568 0 -0.0009190710.00124939 0.0089394 0.999959 uwb: 0.0 843.408 790.678 -imu_odom_: 1691062785.566031802 0.68953 -0.071826 10.07 -0.0553937 -0.0671117 0.0500674 0.23 0 pose: 0.0 2.3941 -0.0122568 0 -0.0009190710.00124939 0.0089394 0.999959 uwb: 0.0 843.408 790.678 -imu_odom_: 1691062785.589192520 0.418985 -0.232238 9.98382 -0.0436758 -0.0468716 0.0191748 0.23 0 pose: 0.33021077 2.39635 -0.0104392 0 -0.000740969-0.00250923 0.00883166 0.999958 uwb: 0.0 843.408 790.678 -imu_odom_: 1691062785.605115969 0.799663 -0.129287 9.92875 -0.0553937 -0.0287621 0.04048 0.23 0 pose: 0.0 2.39635 -0.0104392 0 -0.000740969-0.00250923 0.00883166 0.999958 uwb: 0.99739856 844.481 789.058 -imu_odom_: 1691062785.623010673 0.536301 -0.519542 9.82341 -0.0841559 -0.0181095 0.0447411 0.18 0.02 pose: 0.49034646 2.41041 -0.0119598 0 -6.17234e-05-0.00370537 0.00869267 0.999955 uwb: 0.0 844.481 789.058 -imu_odom_: 1691062785.648003530 0.553061 -0.143652 9.34457 -0.0458064 -0.0234358 0.0383495 0.18 0.02 pose: 0.0 2.41041 -0.0119598 0 -6.17234e-05-0.00370537 0.00869267 0.999955 uwb: 0.49976671 843.82 788.548 -imu_odom_: 1691062785.675112882 0.356736 -0.462081 9.77792 -0.0543285 -0.0149137 0.0447411 0.18 0.02 pose: 0.33006786 2.41041 -0.0119598 0 -0.00121477 -0.00537899 0.00874075 0.999947 uwb: 0.0 843.82 788.548 -imu_odom_: 1691062785.700159110 0.538695 -0.174777 9.81623 -0.0500674 0.0149137 0.0490022 0.18 0.02 pose: 0.45024180 2.42447 -0.0134829 0 -0.0018035 -0.00505855 0.00880488 0.999947 uwb: 0.50194825 843.973 787.206 -imu_odom_: 1691062785.724013661 0.624887 -0.0790087 9.64624 -0.0426106 0.0127832 0.0394148 0.18 0.02 pose: 0.0 2.42447 -0.0134829 0 -0.0018035 -0.00505855 0.00880488 0.999947 uwb: 0.0 843.973 787.206 -imu_odom_: 1691062785.748209441 0.708684 -0.198719 9.95509 -0.0649811 -0.00745685 0.0553937 0.18 0 pose: 0.8097925 2.42447 -0.0134829 0 -0.00105388 -0.00533631 0.00883866 0.999946 uwb: 0.50079915 844.95 785.414 -imu_odom_: 1691062785.764158846 0.136469 -0.407014 9.52653 -0.052198 0.0458064 0.0255663 0.18 0 pose: 0.0 2.42447 -0.0134829 0 -0.00105388 -0.00533631 0.00883866 0.999946 uwb: 0.0 844.95 785.414 -imu_odom_: 1691062785.781161980 0.627281 -0.124498 10.2185 -0.0308927 -0.04048 0.0458064 0.23 0 pose: 0.47959044 2.43853 -0.015003 0 0.00232534 -0.00796973 0.0089572 0.999925 uwb: 0.0 844.95 785.414 -imu_odom_: 1691062785.806152211 0.462081 -0.246603 9.73722 -0.0490022 -0.0266316 0.0553937 0.23 0 pose: 0.0 2.43853 -0.015003 0 0.00232534 -0.00796973 0.0089572 0.999925 uwb: 0.49734895 845.408 784.068 -imu_odom_: 1691062785.823274046 0.584185 -0.0646434 9.85214 -0.0458064 -0.0298274 0.0511327 0.21 0.02 pose: 0.40068482 2.43853 -0.015003 0 0.00181865 -0.00847603 0.0090104 0.999922 uwb: 0.0 845.408 784.068 -imu_odom_: 1691062785.848134785 0.526724 -0.0837971 9.84496 -0.0713727 -0.0351537 0.0532632 0.21 0.02 pose: 0.0 2.43853 -0.015003 0 0.00181865 -0.00847603 0.0090104 0.999922 uwb: 0.50172076 845.308 783.529 -imu_odom_: 1691062785.875060691 0.629675 0.0861913 10.3262 -0.0607201 -0.0596548 0.0553937 0.23 0 pose: 0.41900912 2.45259 -0.0165179 0 0.00203739 -0.00782383 0.00927822 0.999924 uwb: 0.0 845.308 783.529 -imu_odom_: 1691062785.891235833 0.636858 -0.203507 9.84735 -0.0756338 -0.0106526 0.056459 0.23 0 pose: 0.0 2.45259 -0.0165179 0 0.00203739 -0.00782383 0.00927822 0.999924 uwb: 0.0 845.308 783.529 -imu_odom_: 1691062785.918049453 0.232238 -0.167594 9.59835 -0.0628506 -0.0181095 0.0468716 0.23 0 pose: 0.41862415 2.46038 -0.0102407 0 0.00571362 -0.00787318 0.00952491 0.999907 uwb: 0.49871386 845.301 782.317 -imu_odom_: 1691062785.943049018 0.380678 -0.248997 9.38048 -0.0873517 -0.00106526 0.0511327 0.23 0 pose: 0.0 2.46038 -0.0102407 0 0.00571362 -0.00787318 0.00952491 0.999907 uwb: 0.0 845.301 782.317 -imu_odom_: 1691062785.967994044 0.428562 0.0023942 9.9503 -0.0830906 -0.0191748 0.0447411 0.21 0.02 pose: 0.43015302 2.46666 -0.0180213 0 0.00574626 -0.0091724 0.00984401 0.999893 uwb: 0.49955381 845.396 781.238 -imu_odom_: 1691062785.982042773 0.696713 -0.335188 9.68933 -0.0649811 -0.0191748 0.0479369 0.21 0.02 pose: 0.0 2.46666 -0.0180213 0 0.00574626 -0.0091724 0.00984401 0.999893 uwb: 0.0 845.396 781.238 -imu_odom_: 1691062786.6970592 0.258574 -0.289698 10.0149 -0.0383495 -0.0181095 0.0415453 0.18 0 pose: 0.51983800 2.47444 -0.0117366 0 0.00381 -0.00511216 0.010064 0.999929 uwb: 0.49918342 844.263 781.26 -imu_odom_: 1691062786.30963677 0.280122 0.0981623 9.9503 -0.0479369 -0.056459 0.0372843 0.18 0 pose: 0.0 2.47444 -0.0117366 0 0.00381 -0.00511216 0.010064 0.999929 uwb: 0.0 844.263 781.26 -imu_odom_: 1691062786.55134084 0.632069 -0.0023942 10.24 -0.0532632 -0.0500674 0.0426106 0.18 0 pose: 0.39149496 2.4885 -0.0132218 0 0.00375769 -0.00492099 0.0101713 0.999929 uwb: 0.50198618 845.072 779.56 -imu_odom_: 1691062786.80135690 0.514753 -0.397437 9.42358 -0.0426106 -0.0394148 0.0479369 0.18 0 pose: 0.0 2.4885 -0.0132218 0 0.00375769 -0.00492099 0.0101713 0.999929 uwb: 0.0 845.072 779.56 -imu_odom_: 1691062786.107017558 0.385466 -0.25618 9.85214 -0.0575243 0.0234358 0.0511327 0.23 0 pose: 0.49174930 2.4885 -0.0132218 0 0.0053795 -0.00346894 0.0101603 0.999928 uwb: 0.49864971 844.831 778.807 -imu_odom_: 1691062786.123103164 0.337582 -0.153229 9.9503 -0.052198 -0.0106526 0.036219 0.23 0 pose: 0.0 2.4885 -0.0132218 0 0.0053795 -0.00346894 0.0101603 0.999928 uwb: 0.0 844.831 778.807 -imu_odom_: 1691062786.149972199 0.179565 -0.47884 9.7875 -0.0692422 -0.0234358 0.0639159 0.19 -0.02 pose: 0.48850616 2.50257 -0.0147046 0 0.00350879 -0.00520795 0.0103466 0.999927 uwb: 0.50050752 844.871 777.627 -imu_odom_: 1691062786.175128088 0.849942 -0.0933739 10.5273 -0.0415453 0.00639159 0.0287621 0.2 0 pose: 0.27961844 2.51034 -0.00841161 0 0.0022678 -0.00268905 0.0104485 0.999939 uwb: 0.0 844.871 777.627 -imu_odom_: 1691062786.199001013 1.08697 -0.110133 11.0923 -0.0596548 -0.0553937 0.0575243 0.2 0 pose: 0.34834551 2.51476 -0.0138729 0 0.000132121 -0.00047451 0.0107589 0.999942 uwb: 0.49934384 845.427 776.35 -imu_odom_: 1691062786.213983603 0.605733 -0.0622492 9.52653 -0.0713727 -0.0905475 0.0340885 0.2 0 pose: 0.0 2.51476 -0.0138729 0 0.000132121 -0.00047451 0.0107589 0.999942 uwb: 0.0 845.427 776.35 -imu_odom_: 1691062786.238110263 0.35913 -0.351948 10.0556 -0.0628506 -0.0351537 0.0447411 0.18 0 pose: 0.8015388 2.51664 -0.0161807 0 0.000405634 -0.00120331 0.0107156 0.999942 uwb: 0.0 845.427 776.35 -imu_odom_: 1691062786.264972298 0.035913 -0.141258 10.3166 -0.0394148 0.00532632 0.0298274 0.23 0 pose: 0.48024667 2.5244 -0.00988162 0 0.00180694 -0.0064503 0.0108149 0.999919 uwb: 0.50127164 845.506 775.208 -imu_odom_: 1691062786.290126437 0.483629 -0.23942 9.71088 -0.0703074 -0.0276969 0.0511327 0.23 0 pose: 0.0 2.5244 -0.00988162 0 0.00180694 -0.0064503 0.0108149 0.999919 uwb: 0.0 845.506 775.208 -imu_odom_: 1691062786.307069200 0.802058 -0.222661 9.88805 -0.0330232 0 0.0351537 0.23 0 pose: 0.38970133 2.53847 -0.0113464 0 0.000744562 -0.0052037 0.010824 0.999928 uwb: 0.49808100 846.286 773.389 -imu_odom_: 1691062786.331946272 0.567426 -0.150835 10.3573 -0.052198 -0.00852212 0.0543285 0.23 0 pose: 0.0 2.53847 -0.0113464 0 0.000744562 -0.0052037 0.010824 0.999928 uwb: 0.0 846.286 773.389 -imu_odom_: 1691062786.358994379 0.656011 -0.225055 9.42118 -0.056459 0.0351537 0.0394148 0.23 -0.02 pose: 0.52261159 2.53847 -0.0113464 0 -0.00120833 -0.00515713 0.0108611 0.999927 uwb: 0.50086334 845.637 772.433 -imu_odom_: 1691062786.384114104 0.23942 -0.241814 9.59117 -0.0628506 0.00319579 0.0660464 0.23 -0.02 pose: 0.0 2.53847 -0.0113464 0 -0.00120833 -0.00515713 0.0108611 0.999927 uwb: 0.0 845.637 772.433 -imu_odom_: 1691062786.408993510 0.237026 -0.122104 9.94073 -0.0447411 0.00852212 0.04048 0.23 -0.05 pose: 0.41806128 2.55254 -0.0128093 0 0.00110022 -0.00772339 0.0110085 0.999909 uwb: 0.50037627 846.224 771.154 -imu_odom_: 1691062786.423105236 -0.134075 -0.184354 9.40921 -0.0820254 -0.00319579 0.0649811 0.23 -0.05 pose: 0.0 2.55254 -0.0128093 0 0.00110022 -0.00772339 0.0110085 0.999909 uwb: 0.0 846.224 771.154 -imu_odom_: 1691062786.448221752 -0.306458 -0.323217 9.71088 -0.0426106 0.04048 0.0255663 0.18 0 pose: 0.52000134 2.5603 -0.00650296 0 0.000413094 -0.0059587 0.0113483 0.999918 uwb: 0.50205618 846.509 770.281 -imu_odom_: 1691062786.472990040 0.253785 -0.148441 10.5919 -0.0585895 -0.0234358 0.0596548 0.18 0 pose: 0.0 2.5603 -0.00650296 0 0.000413094 -0.0059587 0.0113483 0.999918 uwb: 0.0 846.509 770.281 -imu_odom_: 1691062786.496160966 0.574608 -0.071826 10.1155 -0.0468716 0.015979 0.036219 0.18 0.02 pose: 0.81940232 2.57436 -0.00794974 0 0.00137831 0.00242508 0.011602 0.999929 uwb: 0.0 846.509 770.281 -imu_odom_: 1691062786.512101331 0.991199 -0.196325 9.76116 -0.0894822 -0.00745685 0.0511327 0.18 0.02 pose: 0.0 2.57436 -0.00794974 0 0.00137831 0.00242508 0.011602 0.999929 uwb: 0.0 846.509 770.281 -imu_odom_: 1691062786.539157896 0.179565 -0.282516 9.40203 -0.0500674 0.0394148 0.0319579 0.23 0 pose: 0.39111291 2.58843 -0.00939261 0 0.00223367 -0.00100259 0.0116648 0.999929 uwb: 0.0 846.509 770.281 -imu_odom_: 1691062786.555035848 0.335188 -0.347159 10.2927 -0.0671117 -0.00213053 0.0372843 0.23 0 pose: 0.0 2.58843 -0.00939261 0 0.00223367 -0.00100259 0.0116648 0.999929 uwb: 0.99857102 845.705 769.514 -imu_odom_: 1691062786.582104371 0.766145 -0.270545 9.86172 -0.0351537 0.0298274 0.0223706 0.25 -0.02 pose: 0.42934517 2.58843 -0.00939261 0 -0.0005036730.00231053 0.0115372 0.999931 uwb: 0.0 845.705 769.514 -imu_odom_: 1691062786.607112977 0.586579 -0.430956 9.68455 -0.0649811 -0.0447411 0.052198 0.19 0 pose: 0.0 2.58843 -0.00939261 0 -0.0005036730.00231053 0.0115372 0.999931 uwb: 0.49924760 845.584 768.46 -imu_odom_: 1691062786.633968596 0.366313 -0.0215478 9.94551 -0.0447411 -0.0298274 0.0426106 0.23 0 pose: 0.34985042 2.6025 -0.0108405 0 -0.00113288 -0.0006158120.0113512 0.999935 uwb: 0.0 845.584 768.46 -imu_odom_: 1691062786.659000534 0.782904 -0.308852 9.6606 -0.0713727 0.0127832 0.04048 0.18 -0.02 pose: 0.43947706 2.60801 -0.00635959 0 0.000220708 -0.00160946 0.011497 0.999933 uwb: 0.49854472 845.696 767.309 -imu_odom_: 1691062786.685074242 0.0407014 -0.363919 9.79947 -0.0617853 0.0245011 0.0415453 0.18 -0.02 pose: 0.8156547 2.61026 -0.00452958 0 -5.70794e-05-0.00232883 0.0115011 0.999931 uwb: 0.0 845.696 767.309 -imu_odom_: 1691062786.701088103 0.517148 -0.366313 10.1011 -0.0681769 -0.0245011 0.0436758 0.2 0 pose: 0.0 2.61026 -0.00452958 0 -5.70794e-05-0.00232883 0.0115011 0.999931 uwb: 0.50290196 846.503 765.873 -imu_odom_: 1691062786.727942264 0.682347 -0.023942 9.97185 -0.0553937 0.0266316 0.0383495 0.2 0 pose: 0.42949099 2.61486 -0.0101894 0 -0.00152598 -0.0009622940.0115393 0.999932 uwb: 0.0 846.503 765.873 -imu_odom_: 1691062786.752979452 0.179565 -0.445322 9.77074 -0.0543285 0.02024 0.0319579 0.17 0 pose: 0.42868022 2.62433 -0.00597399 0 -0.000917095-0.00355559 0.0115446 0.999927 uwb: 0.49838723 846.511 764.994 -imu_odom_: 1691062786.776920914 0.440533 -0.129287 10.0245 -0.0479369 -0.02024 0.0436758 0.17 0 pose: 0.0 2.62433 -0.00597399 0 -0.000917095-0.00355559 0.0115446 0.999927 uwb: 0.0 846.511 764.994 -imu_odom_: 1691062786.792002082 0.749385 -0.538695 9.91199 -0.0681769 -0.00532632 0.0575243 0.18 0.02 pose: 0.48978650 2.63611 -0.00927435 0 7.42545e-05 -0.00164211 0.0115023 0.999932 uwb: 0.0 846.511 764.994 -imu_odom_: 1691062786.816082953 0.531513 -0.222661 9.8258 -0.0490022 0.0181095 0.0511327 0.18 0.02 pose: 0.0 2.63611 -0.00927435 0 7.42545e-05 -0.00164211 0.0115023 0.999932 uwb: 0.49934675 846.922 763.826 -imu_odom_: 1691062786.841132390 0.318429 -0.42138 9.63666 -0.0479369 0.036219 0.0255663 0.23 0 pose: 0.39162039 2.63839 -0.00741902 0 -0.000563364-0.00480724 0.0117743 0.999919 uwb: 0.0 846.922 763.826 -imu_odom_: 1691062786.855081376 -0.0047884 -0.320823 10.0628 -0.0223706 -0.00426106 0.0287621 0.23 0 pose: 0.0 2.63839 -0.00741902 0 -0.000563364-0.00480724 0.0117743 0.999919 uwb: 0.50003214 847.107 762.752 -imu_odom_: 1691062786.871120610 0.61531 -0.409408 10.1778 -0.0287621 -0.0607201 0.036219 0.23 0 pose: 0.0 2.63839 -0.00741902 0 -0.000563364-0.00480724 0.0117743 0.999919 uwb: 0.0 847.107 762.752 -imu_odom_: 1691062786.888052873 0.440533 -0.0766145 9.7875 -0.0117179 -0.00639159 0.0330232 0.19 0.02 pose: 0.45998289 2.65246 -0.00885805 0 -0.00265022 -0.00200714 0.011526 0.999928 uwb: 0.0 847.107 762.752 -imu_odom_: 1691062786.903955324 0.579397 -0.047884 9.94551 -0.0319579 -0.0298274 0.0745685 0.19 0.02 pose: 0.0 2.65246 -0.00885805 0 -0.00265022 -0.00200714 0.011526 0.999928 uwb: 0.49868763 847.604 760.78 -imu_odom_: 1691062786.930061405 0.701501 -0.222661 9.99819 -0.0788296 0.02024 0.052198 0.25 0 pose: 0.41874082 2.65658 -0.00550946 0 0.000508889 -0.00385692 0.011726 0.999924 uwb: 0.0 847.604 760.78 -imu_odom_: 1691062786.955925126 0.54109 -0.323217 9.96467 -0.0820254 0.0426106 0.0553937 0.25 0 pose: 0.7073362 2.66022 -0.00254493 0 0.000378314 -0.00447799 0.0117708 0.999921 uwb: 0.50182285 846.363 760.679 -imu_odom_: 1691062786.972920969 0.548272 -0.287304 10.2855 -0.0873517 0.00745685 0.036219 0.23 0.05 pose: 0.0 2.66022 -0.00254493 0 0.000378314 -0.00447799 0.0117708 0.999921 uwb: 0.0 846.363 760.679 -imu_odom_: 1691062786.998109231 0.31364 -0.241814 9.51935 -0.072438 0.0138484 0.056459 0.23 0.05 pose: 0.44896440 2.66653 -0.0102983 0 -0.00287972 -0.00597802 0.0121095 0.999905 uwb: 0.50093333 846.126 759.85 -imu_odom_: 1691062787.23949912 0.529119 -0.517148 9.50019 -0.0703074 0.00639159 0.04048 0.18 0 pose: 0.25099601 2.67428 -0.00397752 0 -0.00383293 -0.00653195 0.0121487 0.999898 uwb: 0.0 846.126 759.85 -imu_odom_: 1691062787.48982726 0.481235 -0.287304 9.73243 -0.072438 -0.0213053 0.0553937 0.19 0 pose: 0.0 2.67428 -0.00397752 0 -0.00383293 -0.00653195 0.0121487 0.999898 uwb: 0.49902596 847.352 758.064 -imu_odom_: 1691062787.66028442 0.0885855 -0.323217 9.7851 -0.0490022 0.0149137 0.0490022 0.19 0 pose: 0.49959467 2.6806 -0.0117252 0 -0.00577978 -0.00485246 0.0123696 0.999895 uwb: 0.0 847.352 758.064 -imu_odom_: 1691062787.91044048 0.3304 -0.25618 9.82102 -0.0447411 0.015979 0.036219 0.18 0 pose: 0.0 2.6806 -0.0117252 0 -0.00577978 -0.00485246 0.0123696 0.999895 uwb: 0.0 847.352 758.064 -imu_odom_: 1691062787.116087070 0.217872 -0.28491 10.2424 -0.036219 0.0223706 0.0447411 0.18 0 pose: 0.42939477 2.68835 -0.00540005 0 -0.00401378 -0.00172801 0.0125842 0.999911 uwb: 0.49831725 847.273 757 -imu_odom_: 1691062787.128916999 0.179565 -0.189142 9.81383 -0.0213053 0.00426106 0.0394148 0.18 0 pose: 0.0 2.68835 -0.00540005 0 -0.00401378 -0.00172801 0.0125842 0.999911 uwb: 0.0 847.273 757 -imu_odom_: 1691062787.154963002 0.363919 -0.342371 9.65582 -0.0436758 -0.0181095 0.0479369 0.18 0 pose: 0.48148619 2.70242 -0.00681493 0 -0.0028276 0.00347278 0.012634 0.99991 uwb: 0.50098584 847.799 755.474 -imu_odom_: 1691062787.180065811 0.543484 -0.260968 9.55526 -0.0479369 -0.0617853 0.0596548 0.25 0 pose: 0.32890712 2.70242 -0.00681493 0 -0.00458068 0.00277758 0.012732 0.999905 uwb: 0.0 847.799 755.474 -imu_odom_: 1691062787.193064606 0.581791 -0.0790087 10.0652 -0.0276969 -0.0340885 0.0511327 0.25 0 pose: 0.0 2.70242 -0.00681493 0 -0.00458068 0.00277758 0.012732 0.999905 uwb: 0.0 847.799 755.474 -imu_odom_: 1691062787.218047839 0.505177 -0.150835 10.2185 -0.0213053 -0.00745685 0.04048 0.25 0 pose: 0.0 2.70242 -0.00681493 0 -0.00458068 0.00277758 0.012732 0.999905 uwb: 0.50112583 847.804 754.528 -imu_odom_: 1691062787.243052071 0.758962 -0.167594 10.3477 -0.0543285 -0.0170442 0.0415453 0.17 0 pose: 0.7000741 2.70242 -0.00681493 0 -0.00440354 0.00189239 0.0128005 0.999907 uwb: 0.0 847.804 754.528 -imu_odom_: 1691062787.267985141 0.512359 -0.124498 10.149 -0.0511327 0.00106526 0.0607201 0.18 0 pose: 0.39059379 2.71649 -0.00822416 0 -0.00192072 -0.00181356 0.0130514 0.999911 uwb: 0.49887139 847.559 753.653 -imu_odom_: 1691062787.291928063 0.371101 -0.354342 9.35893 -0.0681769 0.00852212 0.0351537 0.18 0 pose: 0.0 2.71649 -0.00822416 0 -0.00192072 -0.00181356 0.0130514 0.999911 uwb: 0.0 847.559 753.653 -imu_odom_: 1691062787.309965968 0.0766145 0.0263362 10.3813 -0.0383495 -0.0351537 0.0330232 0.21 -0.02 pose: 0.48902824 2.72423 -0.00188875 0 0.00099798 -0.00533214 0.013147 0.999899 uwb: 0.0 847.559 753.653 -imu_odom_: 1691062787.333955554 0.296881 -0.471658 9.87848 -0.0585895 -0.0170442 0.0372843 0.21 -0.02 pose: 0.0 2.72423 -0.00188875 0 0.00099798 -0.00533214 0.013147 0.999899 uwb: 0.0 847.559 753.653 -imu_odom_: 1691062787.358885707 1.075 -0.296881 9.91439 -0.0458064 -0.0330232 0.0532632 0.23 0.02 pose: 0.50005839 2.73057 -0.00962489 0 0.00114839 -0.00324361 0.0132539 0.999906 uwb: 0.99925643 848.038 752.5 -imu_odom_: 1691062787.381033238 0.466869 -0.414197 9.71328 -0.0468716 0.00532632 0.036219 0.23 0.02 pose: 0.0 2.73057 -0.00962489 0 0.00114839 -0.00324361 0.0132539 0.999906 uwb: 0.0 848.038 752.5 -imu_odom_: 1691062787.394902896 0.342371 -0.316035 9.64863 -0.0276969 0.0394148 0.0308927 0.17 0 pose: 0.41091881 2.7383 -0.00328654 0 -0.000486981-0.00236531 0.0132426 0.999909 uwb: 0.0 848.038 752.5 -imu_odom_: 1691062787.419907711 0.280122 -0.418985 9.93354 -0.0649811 -0.0213053 0.0500674 0.17 0 pose: 0.0 2.7383 -0.00328654 0 -0.000486981-0.00236531 0.0132426 0.999909 uwb: 0.0 848.038 752.5 -imu_odom_: 1691062787.440948726 0.45011 -0.0311246 9.93833 -0.0649811 -0.0628506 0.052198 0.18 0.02 pose: 0.46033873 2.75237 -0.00468225 0 -0.00281697 -0.003384 0.0133136 0.999902 uwb: 0.0 848.038 752.5 -imu_odom_: 1691062787.455058411 0.842759 -0.272939 9.89045 -0.0841559 -0.0458064 0.0735032 0.18 0.02 pose: 0.0 2.75237 -0.00468225 0 -0.00281697 -0.003384 0.0133136 0.999902 uwb: 0.100108506 847.954 751.39 -imu_odom_: 1691062787.471097646 0.656011 -0.385466 9.84735 -0.0596548 0.015979 0.0479369 0.18 0.02 pose: 0.0 2.75237 -0.00468225 0 -0.00281697 -0.003384 0.0133136 0.999902 uwb: 0.0 847.954 751.39 -imu_odom_: 1691062787.496027216 0.0814029 -0.0766145 10.1586 -0.0703074 0.0213053 0.0596548 0.18 -0.02 pose: 0.38845892 2.75237 -0.00468225 0 -0.00417632 -0.00104234 0.0134616 0.9999 uwb: 0.0 847.954 751.39 -imu_odom_: 1691062787.519900725 0.577003 -0.100556 10.2783 -0.0617853 0.0372843 0.0308927 0.18 -0.02 pose: 0.0 2.75237 -0.00468225 0 -0.00417632 -0.00104234 0.0134616 0.9999 uwb: 0.50088668 849.146 749.921 -imu_odom_: 1691062787.545051365 0.663194 -0.292093 9.68694 -0.0862864 0.00213053 0.0543285 0.23 0 pose: 0.52163750 2.76645 -0.00607251 0 -0.0035202 -0.00386162 0.0139278 0.999889 uwb: 0.0 849.146 749.921 -imu_odom_: 1691062787.569041826 0.802058 -0.328006 9.5792 -0.0500674 0.0255663 0.0308927 0.23 0 pose: 0.48855284 2.77417 0.000278314 0 -0.00131163 -0.00362786 0.014047 0.999894 uwb: 0.49738398 848.086 749.156 -imu_odom_: 1691062787.585094768 0.344765 -0.189142 10.0437 -0.0692422 0.00745685 0.0490022 0.19 -0.02 pose: 0.0 2.77417 0.000278314 0 -0.00131163 -0.00362786 0.014047 0.999894 uwb: 0.0 848.086 749.156 -imu_odom_: 1691062787.601037175 0.220267 -0.0167594 10.228 -0.0617853 -0.0213053 0.0490022 0.19 -0.02 pose: 0.0 2.77417 0.000278314 0 -0.00131163 -0.00362786 0.014047 0.999894 uwb: 0.50051920 846.952 748.77 -imu_odom_: 1691062787.627118759 0.52433 -0.318429 9.88566 -0.0649811 0.0298274 0.0319579 0.18 0.02 pose: 0.74114710 2.78825 -0.00109375 0 -0.00115655 -0.0045944 0.0142191 0.999888 uwb: 0.0 846.952 748.77 -imu_odom_: 1691062787.652027038 0.0502782 -0.292093 10.1131 -0.0415453 0.0255663 0.02024 0.18 0.02 pose: 0.0 2.78825 -0.00109375 0 -0.00115655 -0.0045944 0.0142191 0.999888 uwb: 0.50174413 846.804 748.032 -imu_odom_: 1691062787.678009461 0.0814029 -0.301669 9.72046 -0.0639159 -0.0127832 0.0490022 0.21 0.02 pose: 0.7871606 2.78825 -0.00109375 0 -0.00192448 -0.00476233 0.0141918 0.999886 uwb: 0.0 846.804 748.032 -imu_odom_: 1691062787.703886890 0.600945 -0.0670376 9.54089 -0.0223706 -0.0287621 0.0255663 0.19 -0.02 pose: 0.51072983 2.80232 -0.00246613 0 -0.00366241 -0.00152489 0.0139372 0.999895 uwb: 0.49898513 846.584 747.173 -imu_odom_: 1691062787.728880915 0.677559 -0.158017 10.5105 -0.072438 -0.0383495 0.0458064 0.19 -0.02 pose: 0.0 2.80232 -0.00246613 0 -0.00366241 -0.00152489 0.0139372 0.999895 uwb: 0.0 846.584 747.173 -imu_odom_: 1691062787.753967976 0.665588 0.0047884 10.58 -0.0383495 -0.0490022 0.02024 0.19 0 pose: 0.68899151 2.8164 -0.00384212 0 -0.000793058-0.00459991 0.0139153 0.999892 uwb: 0.49939635 846.243 746.111 -imu_odom_: 1691062787.770082164 0.351948 -0.347159 9.1674 -0.0862864 0.00745685 0.0532632 0.19 0 pose: 0.6068923 2.8164 -0.00384212 0 -0.000236987-0.00507696 0.0138544 0.999891 uwb: 0.0 846.243 746.111 -imu_odom_: 1691062787.794911990 0.138864 -0.265756 9.35415 -0.0585895 -0.0308927 0.0340885 0.19 0 pose: 0.0 2.8164 -0.00384212 0 -0.000236987-0.00507696 0.0138544 0.999891 uwb: 0.0 846.243 746.111 -imu_odom_: 1691062787.820897038 0.533907 -0.172383 9.9096 -0.0788296 0.00639159 0.0415453 0.19 0 pose: 0.35132326 2.82074 -0.0002741030 0.000142736 -0.00531495 0.0137778 0.999891 uwb: 0.50052212 845.977 745.17 -imu_odom_: 1691062787.837046224 0.565032 -0.289698 10.1993 -0.0287621 0.0213053 0.0213053 0.19 0 pose: 0.0 2.82074 -0.0002741030 0.000142736 -0.00531495 0.0137778 0.999891 uwb: 0.0 845.977 745.17 -imu_odom_: 1691062787.853911117 0.509965 -0.332794 9.5385 -0.0639159 0.0106526 0.0426106 0.19 0 pose: 0.50814874 2.83047 -0.00522319 0 0.000949654 -0.00515986 0.0137301 0.999892 uwb: 0.50114916 845.66 744.646 -imu_odom_: 1691062787.878028154 0.134075 -0.143652 9.84256 -0.0170442 0.015979 0.0468716 0.19 0 pose: 0.0 2.83047 -0.00522319 0 0.000949654 -0.00515986 0.0137301 0.999892 uwb: 0.0 845.66 744.646 -imu_odom_: 1691062787.895011456 0.550666 -0.138864 10.082 -0.056459 -0.0127832 0.0490022 0.19 0 pose: 0.41023052 2.8382 0.00112172 0 -0.00159358 -0.00482287 0.0136568 0.999894 uwb: 0.0 845.66 744.646 -imu_odom_: 1691062787.911882474 0.368707 -0.138864 9.63427 -0.0511327 0.04048 0.0245011 0.19 0 pose: 0.0 2.8382 0.00112172 0 -0.00159358 -0.00482287 0.0136568 0.999894 uwb: 0.49735190 844.191 744.738 -imu_odom_: 1691062787.929149550 0.538695 -0.25618 10.0461 -0.0319579 -0.0340885 0.0426106 0.19 0 pose: 0.41114921 2.85228 -0.0002629350 0.0008172 -0.00343041 0.0137304 0.9999 uwb: 0.0 844.191 744.738 -imu_odom_: 1691062787.954018458 0.414197 -0.292093 9.65582 -0.0575243 -0.0276969 0.0490022 0.19 0 pose: 0.0 2.85228 -0.0002629350 0.0008172 -0.00343041 0.0137304 0.9999 uwb: 0.50200953 843.128 744.505 -imu_odom_: 1691062787.978926154 0.433351 -0.0885855 9.50977 -0.0628506 0.00426106 0.0585895 0.19 0 pose: 0.34078598 2.85228 -0.0002629350 -0.000191269-0.00371152 0.0137321 0.999899 uwb: 0.0 843.128 744.505 -imu_odom_: 1691062788.3888681 0.0454898 -0.23942 9.59357 -0.0617853 0.036219 0.0351537 0.17 0.02 pose: 0.0 2.85228 -0.0002629350 -0.000191269-0.00371152 0.0137321 0.999899 uwb: 0.49849224 842.113 744.355 -imu_odom_: 1691062788.20881316 0.703895 0.0502782 10.2879 -0.0671117 -0.0372843 0.0532632 0.17 0.02 pose: 0.41812545 2.8641 -0.00349596 0 0.000819268 -0.00236699 0.0140465 0.999898 uwb: 0.0 842.113 744.355 -imu_odom_: 1691062788.38021526 0.696713 -0.253785 9.73243 -0.0756338 -0.00639159 0.0532632 0.17 0.02 pose: 0.0 2.8641 -0.00349596 0 0.000819268 -0.00236699 0.0140465 0.999898 uwb: 0.0 842.113 744.355 -imu_odom_: 1691062788.62878768 0.131681 -0.222661 9.69891 -0.0671117 0.015979 0.04048 0.18 0.02 pose: 0.7002783 2.86635 -0.00164427 0 0.000716346 -0.00152928 0.0140307 0.9999 uwb: 0.49946636 842.414 742.842 -imu_odom_: 1691062788.88934396 0.440533 -0.181959 9.55765 -0.0905475 -0.0213053 0.0490022 0.18 0.02 pose: 0.0 2.86635 -0.00164427 0 0.000716346 -0.00152928 0.0140307 0.9999 uwb: 0.0 842.414 742.842 -imu_odom_: 1691062788.105227658 0.349553 -0.380678 10.4052 -0.0649811 0.0170442 0.036219 0.25 0 pose: 0.59990152 2.87407 0.00470752 0 0.00077535 -0.00179219 0.0142303 0.999897 uwb: 0.49997675 842.725 741.327 -imu_odom_: 1691062788.129983697 0.988805 -0.232238 10.1107 -0.0703074 -0.02024 0.0426106 0.25 0 pose: 0.0 2.87407 0.00470752 0 0.00077535 -0.00179219 0.0142303 0.999897 uwb: 0.0 842.725 741.327 -imu_odom_: 1691062788.154923476 0.859518 -0.332794 10.5369 -0.0479369 -0.0500674 0.0458064 0.18 0 pose: 0.50028882 2.88043 -0.00301473 0 0.000763867 -0.00199079 0.0143499 0.999895 uwb: 0.50040839 842.296 740.622 -imu_odom_: 1691062788.180002080 0.428562 -0.174777 10.0293 -0.0607201 -0.0223706 0.0298274 0.19 0 pose: 0.16960846 2.88815 0.00334059 0 -0.000175131-0.00230121 0.0143472 0.999894 uwb: 0.0 842.296 740.622 -imu_odom_: 1691062788.197000257 0.177171 -0.215478 9.70131 -0.0266316 0.00213053 0.0394148 0.19 0 pose: 0.42014659 2.90003 0.000167818 0 -0.000899639-0.00712088 0.0144527 0.99987 uwb: 0.0 842.296 740.622 -imu_odom_: 1691062788.221053714 0.371101 -0.344765 9.41879 -0.0639159 -0.0106526 0.0468716 0.19 0 pose: 0.0 2.90003 0.000167818 0 -0.000899639-0.00712088 0.0144527 0.99987 uwb: 0.50055422 843.183 739.012 -imu_odom_: 1691062788.245993784 0.138864 -0.363919 9.90721 -0.0585895 -0.0394148 0.0575243 0.18 0 pose: 0.7102527 2.90222 0.00197564 0 -0.000600304-0.00654993 0.0144163 0.999874 uwb: 0.0 843.183 739.012 -imu_odom_: 1691062788.260962668 0.61531 -0.512359 9.49062 -0.0649811 0.00213053 0.0500674 0.18 0 pose: 0.0 2.90222 0.00197564 0 -0.000600304-0.00654993 0.0144163 0.999874 uwb: 0.49984551 843.071 738.31 -imu_odom_: 1691062788.283964731 0.739808 -0.380678 9.84735 -0.0276969 0.00532632 0.0287621 0.18 0 pose: 0.43234628 2.90222 0.00197564 0 -0.000357902-0.00291033 0.0143564 0.999893 uwb: 0.0 843.071 738.31 -imu_odom_: 1691062788.301828522 0.227449 -0.35913 9.46667 -0.0681769 0 0.0500674 0.18 0 pose: 0.0 2.90222 0.00197564 0 -0.000357902-0.00291033 0.0143564 0.999893 uwb: 0.50093044 843.335 737.191 -imu_odom_: 1691062788.317886714 0.617704 -0.28491 10.1825 -0.0436758 -0.0255663 0.0351537 0.18 0.02 pose: 0.47629777 2.9163 0.000610484 0 -0.00323956 -0.00062572 0.0146831 0.999887 uwb: 0.0 843.335 737.191 -imu_odom_: 1691062788.343945550 1.03908 -0.0742203 10.6279 -0.0607201 -0.0458064 0.0575243 0.18 0.02 pose: 0.0 2.9163 0.000610484 0 -0.00323956 -0.00062572 0.0146831 0.999887 uwb: 0.0 843.335 737.191 -imu_odom_: 1691062788.368892912 1.0319 0.0263362 10.1706 -0.0436758 -0.0117179 0.0266316 0.19 0 pose: 0.57001625 2.93038 -0.0007453550 -0.00461682 -0.00237417 0.014672 0.999879 uwb: 0.49836977 844.016 735.718 -imu_odom_: 1691062788.392833209 0.47884 -0.316035 9.80665 -0.0681769 -0.0458064 0.0458064 0.23 0 pose: 0.0 2.93038 -0.0007453550 -0.00461682 -0.00237417 0.014672 0.999879 uwb: 0.0 844.016 735.718 -imu_odom_: 1691062788.418998497 0.308852 -0.196325 9.67736 -0.0127832 0.00426106 0.0372843 0.25 0 pose: 0.66998769 2.93809 0.00561696 0 -0.00250038 -0.00790349 0.0147266 0.999857 uwb: 0.50032964 843.183 735.363 -imu_odom_: 1691062788.434854868 0.646434 -0.402226 9.28711 -0.0671117 -0.0149137 0.0553937 0.25 0 pose: 0.0 2.93809 0.00561696 0 -0.00250038 -0.00790349 0.0147266 0.999857 uwb: 0.0 843.183 735.363 -imu_odom_: 1691062788.452003828 0.550666 -0.323217 10.1203 -0.0287621 0.02024 0.0298274 0.25 -0.02 pose: 0.57964066 2.94875 0.00144823 0 -0.00320858 -0.00564865 0.0148896 0.999868 uwb: 0.49946637 844.152 733.834 -imu_odom_: 1691062788.478114577 0.502782 -0.117316 10.1682 -0.0543285 -0.0298274 0.0585895 0.25 -0.02 pose: 0.7019700 2.95217 0.0042646 0 -0.00365024 -0.00601848 0.0148572 0.999865 uwb: 0.0 844.152 733.834 -imu_odom_: 1691062788.504042171 0.574608 -0.237026 9.47625 -0.0468716 0.056459 0.0351537 0.23 0 pose: 0.36240009 2.95653 -0.00102116 0 -0.00169956 -0.00641911 0.0150452 0.999865 uwb: 0.50028590 844.34 732.552 -imu_odom_: 1691062788.519890376 0.196325 -0.280122 9.80426 -0.0745685 0.0117179 0.0671117 0.23 0 pose: 0.0 2.95653 -0.00102116 0 -0.00169956 -0.00641911 0.0150452 0.999865 uwb: 0.0 844.34 732.552 -imu_odom_: 1691062788.536897594 0.667982 -0.237026 10.2304 -0.0639159 -0.0234358 0.0468716 0.23 0 pose: 0.0 2.95653 -0.00102116 0 -0.00169956 -0.00641911 0.0150452 0.999865 uwb: 0.0 844.34 732.552 -imu_odom_: 1691062788.552824545 0.186748 -0.0957681 10.0317 -0.0415453 0.0170442 0.0372843 0.23 0 pose: 0.48813872 2.96624 0.00291727 0 -0.00136026 -0.00723351 0.0152233 0.999857 uwb: 0.49917763 845.908 730.939 -imu_odom_: 1691062788.569844304 0.107739 -0.25618 9.30866 -0.0830906 -0.0117179 0.0596548 0.23 0 pose: 0.0 2.96624 0.00291727 0 -0.00136026 -0.00723351 0.0152233 0.999857 uwb: 0.0 845.908 730.939 -imu_odom_: 1691062788.595820895 0.146046 -0.1652 9.83299 -0.036219 -0.00319579 0.0223706 0.25 -0.02 pose: 0.33955232 2.96624 0.00291727 0 -0.000846846-0.0058872 0.0153188 0.999865 uwb: 0.0 845.908 730.939 -imu_odom_: 1691062788.612874777 0.907402 -0.385466 9.84975 -0.092678 0.00426106 0.0553937 0.25 -0.02 pose: 0.0 2.96624 0.00291727 0 -0.000846846-0.0058872 0.0153188 0.999865 uwb: 0.50285825 847.056 729.121 -imu_odom_: 1691062788.627874867 0.502782 -0.349553 9.42358 -0.0692422 0.00852212 0.0511327 0.21 -0.02 pose: 0.43000433 2.98032 0.00157934 0 -0.000732953-0.00318584 0.0152509 0.999878 uwb: 0.0 847.056 729.121 -imu_odom_: 1691062788.645932896 0.354342 -0.0335188 10.6326 -0.0500674 -0.02024 0.036219 0.21 -0.02 pose: 0.0 2.98032 0.00157934 0 -0.000732953-0.00318584 0.0152509 0.999878 uwb: 0.0 847.056 729.121 -imu_odom_: 1691062788.661859555 0.234632 -0.186748 9.99579 -0.0852212 0.0298274 0.056459 0.18 0 pose: 0.0 2.98032 0.00157934 0 -0.000732953-0.00318584 0.0152509 0.999878 uwb: 0.0 847.056 729.121 -imu_odom_: 1691062788.687967388 0.543484 -0.392649 9.38527 -0.0468716 0.0245011 0.0298274 0.18 0 pose: 0.42048782 2.99159 0.00364435 0 -0.00115079 -0.00348603 0.0153797 0.999875 uwb: 0.0 847.056 729.121 -imu_odom_: 1691062788.703812093 0.646434 -0.409408 10.0341 -0.0745685 -0.0383495 0.0394148 0.18 0 pose: 0.7944810 2.9944 0.000240144 0 -0.00111441 -0.00257364 0.0154465 0.999877 uwb: 0.99861191 846.367 728.454 -imu_odom_: 1691062788.720877641 0.160412 -0.174777 10.2615 -0.0447411 0.0351537 0.0287621 0.25 0 pose: 0.0 2.9944 0.000240144 0 -0.00111441 -0.00257364 0.0154465 0.999877 uwb: 0.0 846.367 728.454 -imu_odom_: 1691062788.745815378 0.837971 -0.505177 9.44513 -0.0532632 0.0276969 0.0468716 0.18 0 pose: 0.0 2.9944 0.000240144 0 -0.00111441 -0.00257364 0.0154465 0.999877 uwb: 0.0 846.367 728.454 -imu_odom_: 1691062788.770831277 1.01275 -0.0837971 10.7212 -0.0394148 -0.0191748 0.0234358 0.23 -0.02 pose: 0.66999935 3.00211 0.00661172 0 -0.00346469 -0.00244572 0.0152963 0.999874 uwb: 0.49897640 845.793 727.994 -imu_odom_: 1691062788.795938463 0.85473 -0.565032 9.47625 -0.0713727 0.00639159 0.0575243 0.23 -0.02 pose: 0.32988999 3.00848 -0.00109615 0 -0.00425528 -0.00501661 0.0153118 0.999861 uwb: 0.0 845.793 727.994 -imu_odom_: 1691062788.819897134 0.94571 -0.301669 9.45949 -0.0511327 0.0287621 0.015979 0.18 0 pose: 0.42071823 3.01619 0.00527437 0 -0.00523017 -0.00847226 0.0153931 0.999832 uwb: 0.50108502 844.957 727.63 -imu_odom_: 1691062788.843964299 0.337582 -0.378284 9.34936 -0.0916127 -0.0106526 0.0500674 0.18 0 pose: 0.7998764 3.01619 0.00527437 0 -0.00517484 -0.0091394 0.0152936 0.999828 uwb: 0.0 844.957 727.63 -imu_odom_: 1691062788.869837646 0.0191536 -0.0550666 9.66539 -0.0500674 -0.0223706 0.0340885 0.25 0 pose: 0.40027072 3.02772 0.0018307 0 -0.00614468 -0.00823086 0.0152357 0.999831 uwb: 0.49999133 843.846 727.342 -imu_odom_: 1691062788.885937544 0.739808 -0.366313 10.1083 -0.0862864 -0.0234358 0.0532632 0.25 0 pose: 0.0 3.02772 0.0018307 0 -0.00614468 -0.00823086 0.0152357 0.999831 uwb: 0.0 843.846 727.342 -imu_odom_: 1691062788.909839927 0.746991 -0.215478 10.3573 -0.0287621 -0.0138484 0.0170442 0.25 0 pose: 0.41973245 3.03027 0.00393667 0 -0.0055158 -0.00787938 0.0152754 0.999837 uwb: 0.50122209 842.376 726.991 -imu_odom_: 1691062788.934880033 0.600945 -0.28491 9.92636 -0.0628506 -0.00639159 0.0575243 0.25 0 pose: 0.0 3.03027 0.00393667 0 -0.0055158 -0.00787938 0.0152754 0.999837 uwb: 0.0 842.376 726.991 -imu_odom_: 1691062788.947865121 0.531513 -0.177171 10.1466 -0.0458064 -0.0234358 0.0468716 0.19 0.02 pose: 0.0 3.03027 0.00393667 0 -0.0055158 -0.00787938 0.0152754 0.999837 uwb: 0.49604532 843.956 724.757 -imu_odom_: 1691062788.971801043 0.543484 -0.263362 10.2759 -0.0543285 -0.00106526 0.0511327 0.19 0.02 pose: 0.48942489 3.04435 0.00259592 0 -0.00158548 -0.0107087 0.0151848 0.999826 uwb: 0.0 843.956 724.757 -imu_odom_: 1691062788.996791861 0.416591 -0.215478 10.489 -0.0276969 -0.0372843 0.0330232 0.22 -0.02 pose: 0.36921010 3.04947 0.00682782 0 -0.00184756 -0.00769344 0.0153774 0.99985 uwb: 0.0 843.956 724.757 -imu_odom_: 1691062789.10800928 0.732626 0.0263362 10.0868 -0.0330232 -0.0308927 0.0479369 0.22 -0.02 pose: 0.0 3.04947 0.00682782 0 -0.00184756 -0.00769344 0.0153774 0.99985 uwb: 0.50123085 843.997 723.706 -imu_odom_: 1691062789.34987961 0.512359 -0.21069 9.76595 -0.0532632 -0.0181095 0.0511327 0.17 0.02 pose: 0.0 3.04947 0.00682782 0 -0.00184756 -0.00769344 0.0153774 0.99985 uwb: 0.0 843.997 723.706 -imu_odom_: 1691062789.60791605 0.435745 -0.0023942 10.0533 -0.0511327 -0.00426106 0.056459 0.17 0.02 pose: 0.38999885 3.05843 0.00125775 0 0.000380982 -0.00674287 0.0153513 0.999859 uwb: 0.49981635 843.626 723.049 -imu_odom_: 1691062789.73877311 0.107739 -0.289698 9.92636 -0.0681769 -0.00106526 0.0628506 0.18 -0.02 pose: 0.0 3.05843 0.00125775 0 0.000380982 -0.00674287 0.0153513 0.999859 uwb: 0.0 843.626 723.049 -imu_odom_: 1691062789.97786403 0.387861 -0.0766145 9.83059 -0.0394148 0.00958738 0.0372843 0.18 -0.02 pose: 0.55996021 3.06613 0.00762926 0 0.00249827 -0.00320801 0.0157675 0.999867 uwb: 0.50013426 843.313 722.495 -imu_odom_: 1691062789.115846767 0.172383 -0.306458 9.27035 -0.0937433 0 0.0596548 0.22 0.02 pose: 0.0 3.06613 0.00762926 0 0.00249827 -0.00320801 0.0157675 0.999867 uwb: 0.0 843.313 722.495 -imu_odom_: 1691062789.131797049 0.739808 -0.143652 10.2113 -0.0607201 -0.0266316 0.0394148 0.22 0.02 pose: 0.38998719 3.07251 -7.35069e-050 0.00373839 -0.0003189990.0158921 0.999867 uwb: 0.0 843.313 722.495 -imu_odom_: 1691062789.148850932 0.213084 -0.146046 9.40921 -0.0628506 -0.0149137 0.0447411 0.22 0.02 pose: 0.0 3.07251 -7.35069e-050 0.00373839 -0.0003189990.0158921 0.999867 uwb: 0.50170042 842.827 722.202 -imu_odom_: 1691062789.165959061 0.553061 -0.402226 9.93594 -0.092678 -0.0127832 0.072438 0.18 -0.02 pose: 0.43055264 3.08021 0.0063056 0 0.00301499 0.000358144 0.0160313 0.999867 uwb: 0.0 842.827 722.202 -imu_odom_: 1691062789.179785265 0.179565 -0.562637 9.76116 -0.0585895 0.0255663 0.0383495 0.18 -0.02 pose: 0.0 3.08021 0.0063056 0 0.00301499 0.000358144 0.0160313 0.999867 uwb: 0.0 842.827 722.202 -imu_odom_: 1691062789.202783828 0.287304 -0.347159 10.0006 -0.0681769 -0.0117179 0.0543285 0.17 0 pose: 0.8062928 3.08021 0.0063056 0 0.00218982 -0.0001211460.0161648 0.999867 uwb: 0.49929722 843.605 720.737 -imu_odom_: 1691062789.227780188 0.624887 -0.418985 10.1299 -0.0532632 0.0181095 0.0308927 0.21 0.02 pose: 0.0 3.08021 0.0063056 0 0.00218982 -0.0001211460.0161648 0.999867 uwb: 0.0 843.605 720.737 -imu_odom_: 1691062789.249772271 -0.112527 -0.373495 10.1131 -0.0575243 -0.0234358 0.0351537 0.18 0 pose: 0.70866328 3.09429 0.00499132 0 -0.00320126 -0.0002130490.0163598 0.999861 uwb: 0.49928556 842.725 720.313 -imu_odom_: 1691062789.262825896 0.344765 -0.114922 10.1969 -0.0596548 -0.0426106 0.0340885 0.18 0 pose: 0.0 3.09429 0.00499132 0 -0.00320126 -0.0002130490.0163598 0.999861 uwb: 0.0 842.725 720.313 -imu_odom_: 1691062789.277778740 1.10133 -0.222661 9.55526 -0.0447411 0.00639159 0.0372843 0.17 -0.02 pose: 0.0 3.09429 0.00499132 0 -0.00320126 -0.0002130490.0163598 0.999861 uwb: 0.0 842.725 720.313 -imu_odom_: 1691062789.302773349 0.778116 -0.361524 9.55047 -0.0617853 -0.00745685 0.0500674 0.17 -0.02 pose: 0.43049723 3.10837 0.00368171 0 -0.00228736 0.000914098 0.0162757 0.999865 uwb: 0.49990969 841.949 719.506 -imu_odom_: 1691062789.316759376 0.385466 -0.126893 9.98143 -0.0415453 0.0319579 0.0394148 0.17 -0.02 pose: 0.0 3.10837 0.00368171 0 -0.00228736 0.000914098 0.0162757 0.999865 uwb: 0.0 841.949 719.506 -imu_odom_: 1691062789.333923794 0.311246 -0.332794 9.65342 -0.0511327 -0.0330232 0.0500674 0.18 -0.02 pose: 0.38941555 3.10837 0.00368171 0 -0.00222328 -0.00179816 0.0163902 0.999862 uwb: 0.0 841.949 719.506 -imu_odom_: 1691062789.358802910 0.488417 -0.258574 9.63666 -0.0447411 -0.00213053 0.0298274 0.18 -0.02 pose: 0.0 3.10837 0.00368171 0 -0.00222328 -0.00179816 0.0163902 0.999862 uwb: 0.49955096 841.709 718.506 -imu_odom_: 1691062789.375922414 0.47884 0.138864 10.2759 -0.04048 -0.0106526 0.0447411 0.18 0 pose: 0.31246106 3.11607 0.0100686 0 -0.002457 -0.0009843290.0164463 0.999861 uwb: 0.0 841.709 718.506 -imu_odom_: 1691062789.390932128 0.407014 -0.476446 8.99741 -0.0596548 -0.00106526 0.0468716 0.18 0 pose: 0.0 3.11607 0.0100686 0 -0.002457 -0.0009843290.0164463 0.999861 uwb: 0.0 841.709 718.506 -imu_odom_: 1691062789.407807522 0.294487 -0.0694318 10.4722 -0.0330232 0.0330232 0.0415453 0.18 0 pose: 0.49914556 3.13015 0.0087623 0 -0.0019079 -0.0025835 0.0164537 0.999859 uwb: 0.50165958 840.658 718.368 -imu_odom_: 1691062789.424064620 0.45011 -0.160412 10.0413 -0.0479369 0.0319579 0.056459 0.18 0 pose: 0.0 3.13015 0.0087623 0 -0.0019079 -0.0025835 0.0164537 0.999859 uwb: 0.0 840.658 718.368 -imu_odom_: 1691062789.441049673 -0.0622492 -0.181959 9.79468 -0.0585895 -0.0127832 0.0511327 0.18 0 pose: 0.0 3.13015 0.0087623 0 -0.0019079 -0.0025835 0.0164537 0.999859 uwb: 0.0 840.658 718.368 -imu_odom_: 1691062789.458116971 0.758962 0.047884 10.5105 -0.0340885 -0.0223706 0.0308927 0.18 0 pose: 0.7975725 3.13015 0.0087623 0 -0.001228 -0.00189977 0.016461 0.999862 uwb: 0.49814813 841.136 716.91 -imu_odom_: 1691062789.475058569 0.126893 -0.332794 9.56005 -0.056459 0.00106526 0.0458064 0.18 0 pose: 0.0 3.13015 0.0087623 0 -0.001228 -0.00189977 0.016461 0.999862 uwb: 0.0 841.136 716.91 -imu_odom_: 1691062789.489927709 0.251391 -0.471658 9.91439 -0.0596548 -0.00745685 0.036219 0.18 0 pose: 0.0 3.13015 0.0087623 0 -0.001228 -0.00189977 0.016461 0.999862 uwb: 0.0 841.136 716.91 -imu_odom_: 1691062789.507867330 0.320823 -0.181959 9.77792 -0.0181095 -0.00319579 0.0394148 0.24 0 pose: 0.50035591 3.14423 0.00745954 0 0.00163338 -0.0004956080.0166667 0.99986 uwb: 0.49910474 840.652 716.047 -imu_odom_: 1691062789.523913274 0.0574608 -0.11971 10.1299 -0.0532632 0 0.0490022 0.18 0 pose: 0.0 3.14423 0.00745954 0 0.00163338 -0.0004956080.0166667 0.99986 uwb: 0.0 840.652 716.047 -imu_odom_: 1691062789.540913201 0.749385 -0.342371 9.83777 -0.036219 0.00106526 0.0308927 0.18 0 pose: 0.66996146 3.15192 0.0138504 0 0.00131736 0.00329308 0.0166883 0.999854 uwb: 0.0 840.652 716.047 -imu_odom_: 1691062789.558019581 0.521936 0.222661 10.082 -0.04048 -0.00426106 0.0426106 0.18 0 pose: 0.0 3.15192 0.0138504 0 0.00131736 0.00329308 0.0166883 0.999854 uwb: 0.50118711 839.111 716.213 -imu_odom_: 1691062789.582816744 0.280122 -0.19393 9.64624 -0.0500674 -0.0372843 0.0490022 0.18 0 pose: 0.32518862 3.15831 0.0061593 0 0.00185533 0.00225967 0.0166645 0.999857 uwb: 0.0 839.111 716.213 -imu_odom_: 1691062789.605903677 0.454898 0.0143652 9.93354 -0.0585895 0.00319579 0.0639159 0.18 0 pose: 0.34358292 3.16384 0.0107518 0 0.00196239 0.00380475 0.0167886 0.99985 uwb: 0.50054840 839.166 715.154 -imu_odom_: 1691062789.631752235 -0.141258 -0.289698 9.90002 -0.0479369 0.0415453 0.0287621 0.18 0 pose: 0.7032823 3.166 0.0125509 0 0.00254358 0.00345069 0.0168772 0.999848 uwb: 0.0 839.166 715.154 -imu_odom_: 1691062789.655746780 -0.0981623 -0.107739 9.69652 -0.0681769 -0.00319579 0.0692422 0.17 -0.02 pose: 0.41902668 3.1724 0.00486256 0 0.00315494 0.00569453 0.01693 0.999835 uwb: 0.50043757 838.43 714.434 -imu_odom_: 1691062789.680888380 0.675165 -0.148441 9.91918 -0.0639159 0.0330232 0.0223706 0.17 -0.02 pose: 0.0 3.1724 0.00486256 0 0.00315494 0.00569453 0.01693 0.999835 uwb: 0.0 838.43 714.434 -imu_odom_: 1691062789.703908526 0.837971 -0.28491 9.94312 -0.0905475 -0.0191748 0.0585895 0.18 0 pose: 0.49136145 3.18009 0.0112596 0 0.00315989 0.00604292 0.0170751 0.999831 uwb: 0.50066797 839.184 712.847 -imu_odom_: 1691062789.726754266 0.782904 -0.354342 9.6606 -0.0585895 0.00745685 0.0340885 0.18 0 pose: 0.0 3.18009 0.0112596 0 0.00315989 0.00604292 0.0170751 0.999831 uwb: 0.0 839.184 712.847 -imu_odom_: 1691062789.744792172 0.237026 -0.402226 9.78031 -0.0735032 0.02024 0.0500674 0.2 0 pose: 0.30909251 3.19417 0.00997331 0 0.00195236 0.00292532 0.0172792 0.999845 uwb: 0.0 839.184 712.847 -imu_odom_: 1691062789.768883545 0.581791 -0.158017 9.99819 -0.0575243 -0.0127832 0.0234358 0.2 0 pose: 0.0 3.19417 0.00997331 0 0.00195236 0.00292532 0.0172792 0.999845 uwb: 0.49995636 840.029 711.406 -imu_odom_: 1691062789.794885510 0.56982 -0.392649 10.0652 -0.0830906 -0.0276969 0.0415453 0.18 -0.02 pose: 0.41111716 3.19417 0.00997331 0 -0.0001134910.00195631 0.0172658 0.999849 uwb: 0.0 840.029 711.406 -imu_odom_: 1691062789.818838058 0.366313 -0.244209 10.0604 -0.0276969 0.0383495 0.0298274 0.2 0 pose: 0.41976163 3.2043 0.00905052 0 -0.00190925 -0.00177465 0.0171631 0.999849 uwb: 0.49964720 840.354 710.204 -imu_odom_: 1691062789.835754573 0.0766145 -0.280122 10.1562 -0.0447411 0.072438 0.0447411 0.2 0 pose: 0.0 3.2043 0.00905052 0 -0.00190925 -0.00177465 0.0171631 0.999849 uwb: 0.0 840.354 710.204 -imu_odom_: 1691062789.851819183 0.275333 -0.356736 9.50019 -0.0490022 -0.0287621 0.0351537 0.2 0 pose: 0.0 3.2043 0.00905052 0 -0.00190925 -0.00177465 0.0171631 0.999849 uwb: 0.49734609 841.04 709.049 -imu_odom_: 1691062789.868811527 0.746991 -0.023942 10.24 -0.0447411 -0.0671117 0.0383495 0.18 -0.02 pose: 0.7018241 3.20825 0.00868927 0 -0.00173911 -0.0009246560.01713 0.999851 uwb: 0.0 841.04 709.049 -imu_odom_: 1691062789.884778434 0.584185 -0.42138 9.44752 -0.0703074 0.0223706 0.056459 0.18 -0.02 pose: 0.0 3.20825 0.00868927 0 -0.00173911 -0.0009246560.01713 0.999851 uwb: 0.0 841.04 709.049 -imu_odom_: 1691062789.910890643 0.100556 -0.272939 9.56723 -0.0330232 0.0106526 0.015979 0.24 0 pose: 0.57857325 3.21594 0.0150868 0 -0.00240981 0.00306867 0.0170507 0.999847 uwb: 0.50236538 842.34 707.192 -imu_odom_: 1691062789.935746135 0.440533 -0.40462 9.70849 -0.0809601 -0.0149137 0.0490022 0.2 -0.02 pose: 0.0 3.21594 0.0150868 0 -0.00240981 0.00306867 0.0170507 0.999847 uwb: 0.0 842.34 707.192 -imu_odom_: 1691062789.959738056 0.316035 -0.301669 9.14824 -0.0585895 -0.0532632 0.0372843 0.19 0.02 pose: 0.75985059 3.23002 0.0137969 0 -0.00498891 0.0020367 0.0169813 0.999841 uwb: 0.49753566 842.685 705.991 -imu_odom_: 1691062789.983907590 0.383072 -0.356736 9.65103 -0.0820254 -0.0245011 0.0458064 0.19 0.02 pose: 0.0 3.23002 0.0137969 0 -0.00498891 0.0020367 0.0169813 0.999841 uwb: 0.0 842.685 705.991 -imu_odom_: 1691062790.7872679 0.603339 -0.366313 10.0844 -0.0468716 0.00852212 0.0287621 0.2 -0.02 pose: 0.31160653 3.23642 0.00610929 0 -0.00550169 0.00323208 0.0169873 0.999835 uwb: 0.50008759 843.161 704.404 -imu_odom_: 1691062790.32743047 0.270545 -0.19393 10.228 -0.0394148 -0.00639159 0.0479369 0.23 0 pose: 0.40965891 3.2441 0.012505 0 -0.00685908 -0.0004692440.0168838 0.999834 uwb: 0.0 843.161 704.404 -imu_odom_: 1691062790.57802111 0.579397 -0.225055 10.5129 -0.0553937 -0.00852212 0.0511327 0.23 0 pose: 0.7937811 3.2441 0.012505 0 -0.00620721 5.68009e-05 0.0169205 0.999838 uwb: 0.0 843.161 704.404 -imu_odom_: 1691062790.81845946 0.253785 -0.272939 10.3286 -0.0287621 -0.00106526 0.0287621 0.18 0 pose: 0.41991621 3.25425 0.0115739 0 -0.00376551 -0.0011509 0.0171341 0.999845 uwb: 0.0 843.161 704.404 -imu_odom_: 1691062790.97921055 0.744597 0.0407014 10.2951 -0.036219 -0.036219 0.0468716 0.18 0 pose: 0.0 3.25425 0.0115739 0 -0.00376551 -0.0011509 0.0171341 0.999845 uwb: 0.100273007 844.544 702.637 -imu_odom_: 1691062790.122872210 0.59855 -0.174777 9.65103 -0.0532632 -0.0330232 0.0479369 0.2 0.02 pose: 0.40118944 3.25819 0.0112139 0 -0.00198906 -0.0001595660.0170699 0.999852 uwb: 0.0 844.544 702.637 -imu_odom_: 1691062790.148803596 0.361524 -0.244209 9.36372 -0.0756338 0.0170442 0.0585895 0.2 0.02 pose: 0.0 3.25819 0.0112139 0 -0.00198906 -0.0001595660.0170699 0.999852 uwb: 0.49825605 845.181 701.324 -imu_odom_: 1691062790.163751191 0.584185 -0.265756 10.0078 -0.0798948 -0.00745685 0.0500674 0.19 0 pose: 0.50882541 3.27227 0.00992604 0 -0.0015858 2.51722e-05 0.017419 0.999847 uwb: 0.0 845.181 701.324 -imu_odom_: 1691062790.189787863 0.471658 -0.0071826110.4052 -0.0617853 -0.0415453 0.0511327 0.19 0 pose: 0.0 3.27227 0.00992604 0 -0.0015858 2.51722e-05 0.017419 0.999847 uwb: 0.0 845.181 701.324 -imu_odom_: 1691062790.205717147 0.816423 -0.172383 9.87848 -0.0830906 -0.0127832 0.0532632 0.2 0 pose: 0.0 3.27227 0.00992604 0 -0.0015858 2.51722e-05 0.017419 0.999847 uwb: 0.50058633 846.275 699.595 -imu_odom_: 1691062790.230892872 0.201113 -0.0837971 9.51695 -0.0585895 0.00852212 0.0415453 0.2 0 pose: 0.40984267 3.27779 0.014528 0 0.000600267 -0.00233447 0.0176417 0.999841 uwb: 0.0 846.275 699.595 -imu_odom_: 1691062790.253779151 0.306458 -0.122104 9.69412 -0.0958738 -0.0181095 0.0511327 0.18 0 pose: 0.41105009 3.2845 0.0108842 0 0.00147382 -0.00150751 0.0177702 0.99984 uwb: 0.50084298 845.09 699.224 -imu_odom_: 1691062790.278788052 0.131681 -0.0454898 10.1347 -0.0660464 0.0223706 0.0340885 0.18 0 pose: 0.0 3.2845 0.0108842 0 0.00147382 -0.00150751 0.0177702 0.99984 uwb: 0.0 845.09 699.224 -imu_odom_: 1691062790.302765099 0.162806 -0.179565 9.87608 -0.0479369 -0.00639159 0.0490022 0.23 0.02 pose: 0.47895180 3.29404 0.0150607 0 0.00293862 0.00298502 0.0178246 0.999832 uwb: 0.49840771 844.154 698.7 -imu_odom_: 1691062790.318876665 0.481235 -0.342371 9.97424 -0.0436758 -0.0436758 0.0426106 0.23 0.02 pose: 0.0 3.29404 0.0150607 0 0.00293862 0.00298502 0.0178246 0.999832 uwb: 0.0 844.154 698.7 -imu_odom_: 1691062790.334714080 0.833182 -0.373495 9.99579 -0.0639159 -0.036219 0.0436758 0.18 0.02 pose: 0.0 3.29404 0.0150607 0 0.00293862 0.00298502 0.0178246 0.999832 uwb: 0.0 844.154 698.7 -imu_odom_: 1691062790.361873017 -0.88346 -0.167594 7.40527 -0.0351537 0.136354 0.0447411 0.18 0.02 pose: 0.40088613 3.30453 0.010797 0 0.00166344 0.00385952 0.0179493 0.99983 uwb: 0.50001470 845.02 697.143 -imu_odom_: 1691062790.386749510 -1.29766 -0.155623 11.9519 -0.0511327 0.137419 0.0596548 0.19 0 pose: 0.42996352 3.30812 0.0137951 0 0.00132032 0.00674549 0.0180504 0.999813 uwb: 0.0 845.02 697.143 -imu_odom_: 1691062790.403784727 -0.253785 -0.246603 9.52413 -0.0490022 0.0394148 0.0436758 0.19 0 pose: 0.0 3.30812 0.0137951 0 0.00132032 0.00674549 0.0180504 0.999813 uwb: 0.49997387 845.154 696.096 -imu_odom_: 1691062790.419879377 0.641646 -0.272939 10.6111 -0.0585895 -0.104396 0.0575243 0.18 0 pose: 0.0 3.30812 0.0137951 0 0.00132032 0.00674549 0.0180504 0.999813 uwb: 0.0 845.154 696.096 -imu_odom_: 1691062790.445715394 0.232238 -0.181959 10.1993 -0.0415453 0.0170442 0.0553937 0.18 0 pose: 0.49886269 3.32221 0.0125369 0 0.00100308 0.0118658 0.0183983 0.99976 uwb: 0.0 845.154 696.096 -imu_odom_: 1691062790.468772580 -0.0837971 -0.31364 9.75158 -0.0607201 0.00426106 0.036219 0.18 0 pose: 0.33956108 3.32772 0.017153 0 0.00173091 0.00843831 0.0186827 0.999788 uwb: 0.49925933 845.749 694.633 -imu_odom_: 1691062790.486739325 0.833182 -0.0095768110.5034 -0.0436758 0.0223706 0.0106526 0.18 0 pose: 0.7009784 3.32987 0.018956 0 0.00142957 0.00911021 0.0186676 0.999783 uwb: 0.0 845.749 694.633 -imu_odom_: 1691062790.502713815 0.672771 -0.217872 9.83777 -0.0575243 0.00958738 0.036219 0.18 0 pose: 0.0 3.32987 0.018956 0 0.00142957 0.00911021 0.0186676 0.999783 uwb: 0.50073215 845.465 693.405 -imu_odom_: 1691062790.526743942 0.373495 -0.215478 9.59596 -0.0745685 -0.0426106 0.036219 0.19 0 pose: 0.41044346 3.3363 0.0112907 0 0.00131549 0.00851564 0.0183683 0.999794 uwb: 0.0 845.465 693.405 -imu_odom_: 1691062790.551819631 0.457293 -0.277727 9.92157 -0.0585895 -0.0703074 0.0511327 0.18 0 pose: 0.0 3.3363 0.0112907 0 0.00131549 0.00851564 0.0183683 0.999794 uwb: 0.50000595 844.343 693.181 -imu_odom_: 1691062790.576718580 0.31364 -0.143652 10.003 -0.0415453 0.0191748 0.0308927 0.18 0 pose: 0.40038157 3.34397 0.0177078 0 0.000209823 0.0039993 0.018354 0.999824 uwb: 0.0 844.343 693.181 -imu_odom_: 1691062790.601766854 0.1652 -0.186748 10.0341 -0.0532632 0.02024 0.0458064 0.25 0.02 pose: 0.42910899 3.35568 0.0144667 0 0.00163034 0.00348282 0.0183508 0.999824 uwb: 0.49906392 845.767 691.331 -imu_odom_: 1691062790.617818923 0.361524 -0.378284 9.56005 -0.0415453 0.0276969 0.0340885 0.25 0.02 pose: 0.7998474 3.35805 0.0164553 0 0.00159528 0.00438091 0.0183743 0.99982 uwb: 0.0 845.767 691.331 -imu_odom_: 1691062790.642753745 0.0909797 -0.102951 9.95748 -0.0426106 0.00106526 0.056459 0.18 -0.02 pose: 0.0 3.35805 0.0164553 0 0.00159528 0.00438091 0.0183743 0.99982 uwb: 0.0 845.767 691.331 -imu_odom_: 1691062790.667700233 0.354342 -0.0047884 10.4172 -0.0543285 0.00745685 0.036219 0.18 -0.02 pose: 0.41100926 3.35805 0.0164553 0 0.000564439 0.0066684 0.0184409 0.999808 uwb: 0.50216415 845.521 690.164 -imu_odom_: 1691062790.682737947 0.502782 -0.0742203 9.85453 -0.0585895 -0.02024 0.0628506 0.18 0 pose: 0.0 3.35805 0.0164553 0 0.000564439 0.0066684 0.0184409 0.999808 uwb: 0.0 845.521 690.164 -imu_odom_: 1691062790.707759389 0.435745 -0.378284 9.80665 -0.0596548 0.0287621 0.0351537 0.18 0 pose: 0.48938409 3.37214 0.0152065 0 0.0037589 0.00627119 0.0186507 0.999799 uwb: 0.49977263 846.166 688.74 -imu_odom_: 1691062790.732697128 -0.110133 -0.181959 9.91439 -0.0713727 0.0436758 0.0617853 0.18 0.02 pose: 0.33003000 3.37736 0.0195813 0 0.00176374 0.00458746 0.0186879 0.999813 uwb: 0.0 846.166 688.74 -imu_odom_: 1691062790.749689473 -0.0383072 -0.430956 9.9096 -0.0596548 -0.00745685 0.0436758 0.18 0.02 pose: 0.7951810 3.3798 0.0216285 0 0.00167541 0.00557216 0.0187753 0.999807 uwb: 0.49938182 846.367 687.775 -imu_odom_: 1691062790.774742705 0.21069 -0.0957681 10.2328 -0.056459 -0.0213053 0.04048 0.18 0 pose: 0.0 3.3798 0.0216285 0 0.00167541 0.00557216 0.0187753 0.999807 uwb: 0.0 846.367 687.775 -imu_odom_: 1691062790.799699400 0.229843 -0.318429 9.88566 -0.0639159 -0.0234358 0.0468716 0.18 0 pose: 0.33978274 3.38623 0.0139644 0 0.000325193 0.00892032 0.018986 0.99978 uwb: 0.50062716 846.436 686.535 -imu_odom_: 1691062790.815757302 0.663194 0.0143652 10.0748 -0.0628506 -0.0170442 0.0490022 0.19 -0.02 pose: 0.0 3.38623 0.0139644 0 0.000325193 0.00892032 0.018986 0.99978 uwb: 0.0 846.436 686.535 -imu_odom_: 1691062790.841721062 0.023942 -0.0526724 10.0533 -0.0713727 -0.0234358 0.0351537 0.19 -0.02 pose: 0.57037502 3.39389 0.0203915 0 0.000510013 0.00804454 0.0191247 0.999785 uwb: 0.0 846.436 686.535 -imu_odom_: 1691062790.857755632 -0.0766145 -0.328006 10.2089 -0.0511327 0.00958738 0.0383495 0.19 0.02 pose: 0.0 3.39389 0.0203915 0 0.000510013 0.00804454 0.0191247 0.999785 uwb: 0.49740444 848.036 684.946 -imu_odom_: 1691062790.883844801 0.263362 -0.150835 9.76355 -0.0596548 -0.0511327 0.0383495 0.19 0.02 pose: 0.42063367 3.40798 0.0191608 0 0.00165926 0.00986147 0.0191133 0.999767 uwb: 0.0 848.036 684.946 -imu_odom_: 1691062790.900848520 0.586579 -0.23942 9.5816 -0.0266316 0.0458064 0.0266316 0.19 0.02 pose: 0.35054459 3.40798 0.0191608 0 0.00248049 0.00782516 0.0191027 0.999784 uwb: 0.0 848.036 684.946 -imu_odom_: 1691062790.924837817 -0.0957681 -0.383072 9.58638 -0.0607201 0.015979 0.0383495 0.19 0.02 pose: 0.8015973 3.40798 0.0191608 0 0.00242986 0.00724197 0.0190512 0.999789 uwb: 0.0 848.036 684.946 -imu_odom_: 1691062790.949832719 -0.00957681-0.035913 9.42837 -0.0500674 -0.00426106 0.0490022 0.19 0 pose: 0.32977043 3.41973 0.0159691 0 0.00106729 0.00888753 0.0189664 0.99978 uwb: 0.100046395 848.886 683.181 -imu_odom_: 1691062790.974734876 -0.201113 -0.318429 9.63187 -0.0543285 0.0543285 0.0266316 0.19 0 pose: 0.0 3.41973 0.0159691 0 0.00106729 0.00888753 0.0189664 0.99978 uwb: 0.0 848.886 683.181 -imu_odom_: 1691062791.684928 -0.380678 -0.263362 9.82102 -0.0660464 0.0213053 0.0415453 0.25 -0.02 pose: 0.49897059 3.42727 0.022294 0 0.00147275 0.0140635 0.0189161 0.999721 uwb: 0.50009053 849.137 682.279 -imu_odom_: 1691062791.14802198 0.426168 -0.531513 10.2352 -0.0777643 -0.00426106 0.0330232 0.25 -0.02 pose: 0.0 3.42727 0.022294 0 0.00147275 0.0140635 0.0189161 0.999721 uwb: 0.0 849.137 682.279 -imu_odom_: 1691062791.31681384 0.402226 -0.306458 9.8282 0.0138484 -0.056459 -0.0820254 0.18 -0.05 pose: 0.0 3.42727 0.022294 0 0.00147275 0.0140635 0.0189161 0.999721 uwb: 0.0 849.137 682.279 -imu_odom_: 1691062791.46798135 -0.0742203 -0.222661 9.086 0.0223706 -0.0468716 -0.15979 0.18 -0.05 pose: 0.40067322 3.43615 0.0166928 0 -0.0002349950.0158924 0.0188746 0.999696 uwb: 0.0 849.137 682.279 -imu_odom_: 1691062791.62797125 -0.0167594 0.543484 10.477 -0.0575243 -0.135289 -0.127832 0.18 -0.05 pose: 0.0 3.43615 0.0166928 0 -0.0002349950.0158924 0.0188746 0.999696 uwb: 0.49983097 847.405 682.22 -imu_odom_: 1691062791.77733053 -0.143652 0.100556 9.66539 -0.208792 -0.136354 -0.076699 0.19 -0.23 pose: 0.47994927 3.44742 0.0187828 0 0.00192031 0.0142411 0.0150006 0.999784 uwb: 0.0 847.405 682.22 -imu_odom_: 1691062791.94697984 0.0263362 -0.325611 9.34936 -0.176834 -0.0500674 -0.133158 0.19 -0.23 pose: 0.0 3.44742 0.0187828 0 0.00192031 0.0142411 0.0150006 0.999784 uwb: 0.0 847.405 682.22 -imu_odom_: 1691062791.119824129 1.10373 -0.653617 10.489 -0.0585895 -0.0447411 -0.253533 0.19 -0.35 pose: 0.31900859 3.45018 0.0154294 0 -0.0005940020.0149197 0.0126869 0.999808 uwb: 0.50020720 847.181 681.753 -imu_odom_: 1691062791.136812391 0.754174 -0.196325 9.89524 -0.0490022 0.0117179 -0.280165 0.22 -0.44 pose: 0.0 3.45018 0.0154294 0 -0.0005940020.0149197 0.0126869 0.999808 uwb: 0.0 847.181 681.753 -imu_odom_: 1691062791.152872044 1.38145 -0.220267 10.161 -0.0319579 0.00958738 -0.351537 0.19 -0.41 pose: 0.0 3.45018 0.0154294 0 -0.0005940020.0149197 0.0126869 0.999808 uwb: 0.49945767 847.797 680.18 -imu_odom_: 1691062791.170873787 0.112527 0.280122 8.72208 -0.0340885 0.00958738 -0.425041 0.19 -0.41 pose: 0.50204167 3.45786 0.0219076 0 -0.00136641 0.00976895 0.00468921 0.99994 uwb: 0.0 847.797 680.18 -imu_odom_: 1691062791.187745681 0.3304 0.023942 10.0245 -0.0681769 -0.00745685 -0.411192 0.19 -0.47 pose: 0.0 3.45786 0.0219076 0 -0.00136641 0.00976895 0.00468921 0.99994 uwb: 0.0 847.797 680.18 -imu_odom_: 1691062791.202810227 0.227449 -0.167594 9.64384 -0.0830906 -0.0553937 -0.429302 0.19 -0.47 pose: 0.0 3.45786 0.0219076 0 -0.00136641 0.00976895 0.00468921 0.99994 uwb: 0.50192501 848.523 678.82 -imu_odom_: 1691062791.219868486 0.213084 -0.270545 9.83777 -0.0585895 -0.056459 -0.491087 0.19 -0.47 pose: 0.33981192 3.47198 0.0208131 0 0.00126548 0.00922398 -0.00283631 0.999953 uwb: 0.0 848.523 678.82 -imu_odom_: 1691062791.234811997 0.289698 -0.225055 8.88488 -0.0585895 0.0106526 -0.527306 0.19 -0.55 pose: 0.40985143 3.47193 0.0208043 0 0.00116173 0.00903886 -0.0128899 0.999875 uwb: 0.0 848.523 678.82 -imu_odom_: 1691062791.251692350 0.0957681 -0.114922 10.0126 -0.0745685 0.0436758 -0.551807 0.19 -0.55 pose: 0.6904206 3.47198 0.0208134 0 0.000756461 0.00851448 -0.0148492 0.999853 uwb: 0.49623495 848.101 677.926 -imu_odom_: 1691062791.267797499 0.608127 -0.337582 10.2903 -0.0798948 0.00319579 -0.58483 0.19 -0.55 pose: 0.0 3.47198 0.0208134 0 0.000756461 0.00851448 -0.0148492 0.999853 uwb: 0.0 848.101 677.926 -imu_odom_: 1691062791.284863924 0.430956 -0.0311246 9.42118 -0.0330232 -0.0351537 -0.615723 0.25 -0.82 pose: 0.41024807 3.48608 0.0197525 0 0.0002214 0.00827791 -0.0271408 0.999597 uwb: 0.0 848.101 677.926 -imu_odom_: 1691062791.302684553 0.691924 -0.112527 9.24401 -0.1012 -0.0681769 -0.581634 0.18 -0.61 pose: 0.0 3.48608 0.0197525 0 0.0002214 0.00827791 -0.0271408 0.999597 uwb: 0.50168586 849.021 676.221 -imu_odom_: 1691062791.317681144 0.174777 0.00957681 9.89284 -0.112918 -0.0181095 -0.5827 0.18 -0.61 pose: 0.0 3.48608 0.0197525 0 0.0002214 0.00827791 -0.0271408 0.999597 uwb: 0.0 849.021 676.221 -imu_odom_: 1691062791.334729195 0.584185 -0.1652 9.93115 -0.0671117 -0.0479369 -0.619984 0.18 -0.61 pose: 0.26086253 3.48608 0.0197533 0 0.00144245 0.0056057 -0.0355187 0.999352 uwb: 0.0 849.021 676.221 -imu_odom_: 1691062791.350791180 0.227449 -0.167594 9.7851 -0.0553937 -0.0213053 -0.661529 0.18 -0.64 pose: 0.0 3.48608 0.0197533 0 0.00144245 0.0056057 -0.0355187 0.999352 uwb: 0.50002346 849.188 675.105 -imu_odom_: 1691062791.367666867 0.433351 0.220267 10.2855 -0.0394148 -0.0351537 -0.670051 0.18 -0.64 pose: 0.30829633 3.50018 0.0186734 0 0.00209315 0.00434189 -0.0452184 0.998965 uwb: 0.0 849.188 675.105 -imu_odom_: 1691062791.384952320 0.88346 -0.122104 9.65582 -0.0788296 -0.0223706 -0.680704 0.18 -0.7 pose: 0.42953482 3.50013 0.018664 0 0.00388733 0.00374014 -0.0601116 0.998177 uwb: 0.0 849.188 675.105 -imu_odom_: 1691062791.401942915 0.861913 0.0502782 9.63906 -0.0575243 -0.0479369 -0.689226 0.18 -0.7 pose: 0.0 3.50013 0.018664 0 0.00388733 0.00374014 -0.0601116 0.998177 uwb: 0.50123672 849 674.699 -imu_odom_: 1691062791.417865784 0.90022 0.138864 10.003 -0.0798948 -0.0458064 -0.657268 0.18 -0.7 pose: 0.0 3.50013 0.018664 0 0.00388733 0.00374014 -0.0601116 0.998177 uwb: 0.0 849 674.699 -imu_odom_: 1691062791.434661559 1.36709 -0.134075 10.0173 -0.0660464 0.00745685 -0.585895 0.21 -0.85 pose: 0.8296539 3.50018 0.0186731 0 0.00375857 0.0028517 -0.0630908 0.997997 uwb: 0.0 849 674.699 -imu_odom_: 1691062791.450659090 1.4054 -0.708684 9.8258 -0.0596548 0.0223706 -0.568851 0.14 -0.58 pose: 0.0 3.50018 0.0186731 0 0.00375857 0.0028517 -0.0630908 0.997997 uwb: 0.50099466 847.78 674.307 -imu_odom_: 1691062791.467777136 0.620098 -0.47884 8.96868 -0.0436758 0.04048 -0.546481 0.14 -0.58 pose: 0.66836326 3.51428 0.0175198 0 0.00381872 -0.00390315 -0.0857049 0.996306 uwb: 0.0 847.78 674.307 -imu_odom_: 1691062791.483793041 0.842759 -0.227449 10.8553 -0.056459 0 -0.4815 0.12 -0.47 pose: 0.0 3.51428 0.0175198 0 0.00381872 -0.00390315 -0.0857049 0.996306 uwb: 0.0 847.78 674.307 -imu_odom_: 1691062791.500645104 1.04866 -0.107739 10.4244 -0.0820254 -0.0436758 -0.412257 0.12 -0.47 pose: 0.0 3.51428 0.0175198 0 0.00381872 -0.00390315 -0.0857049 0.996306 uwb: 0.49799067 846.902 673.913 -imu_odom_: 1691062791.516672675 1.16837 -0.184354 9.73004 -0.0543285 0.00319579 -0.379234 0.12 -0.47 pose: 0.32986669 3.52079 0.00992708 0 0.00167527 -0.00532646 -0.0951415 0.995448 uwb: 0.0 846.902 673.913 -imu_odom_: 1691062791.532786865 0.976834 -0.395043 9.52413 -0.0756338 0.015979 -0.343015 0.14 -0.5 pose: 0.40886274 3.52832 0.0164316 0 0.00113115 -0.00959441 -0.104335 0.994495 uwb: 0.0 846.902 673.913 -imu_odom_: 1691062791.549636011 0.679953 -0.454898 10.0604 -0.0575243 0.0213053 -0.340885 0.14 -0.5 pose: 0.7103403 3.52837 0.0164407 0 0.000671911 -0.0100953 -0.105682 0.994349 uwb: 0.49987764 846.427 673.642 -imu_odom_: 1691062791.565636750 0.718261 -0.316035 9.87848 -0.0575243 0 -0.320645 0.14 -0.5 pose: 0.0 3.52837 0.0164407 0 0.000671911 -0.0100953 -0.105682 0.994349 uwb: 0.0 846.427 673.642 -imu_odom_: 1691062791.591648925 0.797269 -0.138864 10.2017 -0.0468716 -0.0287621 -0.272708 0.09 -0.32 pose: 0.41860672 3.52832 0.0164315 0 -0.00273107 -0.0117606 -0.113409 0.993475 uwb: 0.0 846.427 673.642 -imu_odom_: 1691062791.607791405 0.799663 -0.280122 9.94073 -0.0479369 -0.0223706 -0.251402 0.09 -0.32 pose: 0.0 3.52832 0.0164315 0 -0.00273107 -0.0117606 -0.113409 0.993475 uwb: 0.50082841 846.658 672.65 -imu_odom_: 1691062791.623741689 0.636858 -0.385466 9.73004 -0.0490022 0.0170442 -0.26099 0.09 -0.32 pose: 0.33024292 3.53488 0.00884599 0 -0.0018089 -0.0150156 -0.118463 0.992843 uwb: 0.0 846.658 672.65 -imu_odom_: 1691062791.640819488 -0.88346 -0.100556 9.38288 -0.0458064 0.12144 -0.140615 0.11 -0.05 pose: 0.0 3.53488 0.00884599 0 -0.0018089 -0.0150156 -0.118463 0.992843 uwb: 0.0 846.658 672.65 -imu_odom_: 1691062791.658781275 -1.1971 -0.873884 10.3525 -0.0617853 -0.00532632 0.0969391 0.11 -0.05 pose: 0.0 3.53488 0.00884599 0 -0.0018089 -0.0150156 -0.118463 0.992843 uwb: 0.50032386 845.5 672.414 -imu_odom_: 1691062791.673698247 -0.490811 -0.878672 9.83059 -0.0436758 -0.126766 0.150202 0.11 -0.05 pose: 0.33128701 3.53488 0.00884599 0 -0.00331666 -0.0135455 -0.122851 0.992327 uwb: 0.0 845.5 672.414 -imu_odom_: 1691062791.690718882 0.620098 -0.325611 9.87608 -0.0245011 -0.0980043 0.197074 0.11 0.11 pose: 0.41908504 3.53885 0.0122197 0 -0.00402979 -0.0098843 -0.122311 0.992434 uwb: 0.0 845.5 672.414 -imu_odom_: 1691062791.706659542 0.687136 -0.186748 9.42118 -0.0426106 -0.0181095 0.270577 0.11 0.11 pose: 0.7138692 3.54252 0.0153012 0 -0.00467278 -0.0103346 -0.121744 0.992497 uwb: 0.49764361 844.31 672.118 -imu_odom_: 1691062791.723770005 0.416591 -0.191536 10.1394 -0.04048 0.00106526 0.313188 0.11 0.11 pose: 0.0 3.54252 0.0153012 0 -0.00467278 -0.0103346 -0.121744 0.992497 uwb: 0.0 844.31 672.118 -imu_odom_: 1691062791.741830953 0.277727 -0.739808 10.0413 -0.0490022 0.0106526 0.319579 0.13 0.29 pose: 0.42933066 3.54887 0.00761795 0 -0.00343896 -0.0105089 -0.116826 0.993091 uwb: 0.0 844.31 672.118 -imu_odom_: 1691062791.756771840 -0.0407014 -0.244209 9.79707 -0.0468716 0.0245011 0.34408 0.13 0.29 pose: 0.0 3.54887 0.00761795 0 -0.00343896 -0.0105089 -0.116826 0.993091 uwb: 0.50055426 844.334 671.43 -imu_odom_: 1691062791.772823618 0.136469 -0.452504 9.97424 -0.0511327 0.00213053 0.393083 0.13 0.29 pose: 0.0 3.54887 0.00761795 0 -0.00343896 -0.0105089 -0.116826 0.993091 uwb: 0.0 844.334 671.43 -imu_odom_: 1691062791.787830417 0.287304 -0.574608 9.67976 -0.0458064 -0.0117179 0.42291 0.13 0.29 pose: 0.24900992 3.54893 0.00762669 0 -0.0045841 -0.00839133 -0.113262 0.993519 uwb: 0.0 844.334 671.43 -imu_odom_: 1691062791.804791265 0.351948 -0.248997 10.3908 -0.0340885 -0.0138484 0.437824 0.14 0.35 pose: 0.0 3.54893 0.00762669 0 -0.0045841 -0.00839133 -0.113262 0.993519 uwb: 0.50121048 842.924 671.423 -imu_odom_: 1691062791.821695241 -0.071826 0.0287304 9.52653 -0.0553937 -0.0276969 0.494283 0.14 0.35 pose: 0.0 3.54893 0.00762669 0 -0.0045841 -0.00839133 -0.113262 0.993519 uwb: 0.0 842.924 671.423 -imu_odom_: 1691062791.838821745 0.469264 -0.54109 9.87608 -0.0607201 -0.0841559 0.531567 0.2 0.61 pose: 0.73024244 3.56297 0.00646629 0 -0.00380116 -0.00226348 -0.0991448 0.995063 uwb: 0.0 842.924 671.423 -imu_odom_: 1691062791.854841441 0.663194 -0.428562 9.80665 -0.0511327 -0.0138484 0.508131 0.2 0.61 pose: 0.0 3.56297 0.00646629 0 -0.00380116 -0.00226348 -0.0991448 0.995063 uwb: 0.49993888 841.788 671.263 -imu_odom_: 1691062791.871954530 0.3304 -0.272939 10.0126 -0.0308927 -0.0649811 0.520914 0.2 0.61 pose: 0.0 3.56297 0.00646629 0 -0.00380116 -0.00226348 -0.0991448 0.995063 uwb: 0.0 841.788 671.263 -imu_odom_: 1691062791.887777655 1.06303 -0.471658 10.0796 -0.0458064 -0.0383495 0.506001 0.14 0.41 pose: 0.7080071 3.56302 0.00647467 0 -0.00455946 -0.00250691 -0.0974087 0.995231 uwb: 0.0 841.788 671.263 -imu_odom_: 1691062791.903629070 1.10133 -0.155623 9.64384 -0.0255663 0.0351537 0.485761 0.17 0.5 pose: 0.0 3.56302 0.00647467 0 -0.00455946 -0.00250691 -0.0974087 0.995231 uwb: 0.50016929 838.932 671.945 -imu_odom_: 1691062791.920642414 1.35751 -0.454898 10.2185 -0.0511327 -0.0500674 0.462325 0.17 0.5 pose: 0.65955547 3.56947 -0.00116899 0 -0.00589554 -0.00548411 -0.0818855 0.996609 uwb: 0.0 838.932 671.945 -imu_odom_: 1691062791.937627177 1.64482 0.00718261 9.5385 -0.0372843 -0.0234358 0.330232 0.14 0.35 pose: 0.0 3.56947 -0.00116899 0 -0.00589554 -0.00548411 -0.0818855 0.996609 uwb: 0.0 838.932 671.945 -imu_odom_: 1691062791.953622083 1.3623 0.189142 9.92397 -0.0394148 0.0575243 0.278034 0.14 0.35 pose: 0.0 3.56947 -0.00116899 0 -0.00589554 -0.00548411 -0.0818855 0.996609 uwb: 0.50049594 838.835 671.023 -imu_odom_: 1691062791.970625803 0.835576 -0.0407014 10.1203 -0.0671117 0.036219 0.268447 0.14 0.35 pose: 0.33026624 3.57714 0.00524365 0 -0.00581875 -0.00896671 -0.0753046 0.997103 uwb: 0.0 838.835 671.023 -imu_odom_: 1691062791.986766825 0.553061 -0.509965 9.90721 -0.0671117 0.0287621 0.2024 0.08 0.17 pose: 0.42868320 3.57709 0.00523506 0 -0.00348126 -0.0117481 -0.0700746 0.997466 uwb: 0.0 838.835 671.023 -imu_odom_: 1691062792.3771712 0.837971 -0.335188 9.77553 -0.0468716 -0.036219 0.148072 0.08 0.17 pose: 0.8155090 3.57714 0.00524392 0 -0.00427739 -0.0112878 -0.0694035 0.997516 uwb: 0.49740445 837.109 671.139 -imu_odom_: 1691062792.21942612 0.821211 -0.0957681 9.63666 -0.0671117 -0.00319579 0.153398 0.08 0.17 pose: 0.0 3.57714 0.00524392 0 -0.00427739 -0.0112878 -0.0694035 0.997516 uwb: 0.0 837.109 671.139 -imu_odom_: 1691062792.36636764 0.871489 -0.208296 10.0724 -0.056459 0.0181095 0.175769 0.07 0.17 pose: 0.34131682 3.5836 -0.00239707 0 -0.00480845 -0.0133781 -0.0673198 0.99763 uwb: 0.0 837.109 671.139 -imu_odom_: 1691062792.53760353 0.691924 -0.433351 9.87129 -0.0553937 0.00639159 0.176834 0.06 0.17 pose: 0.0 3.5836 -0.00239707 0 -0.00480845 -0.0133781 -0.0673198 0.99763 uwb: 0.50190753 837.413 670.306 -imu_odom_: 1691062792.69752926 0.507571 -0.148441 9.72046 -0.0585895 -0.0170442 0.186421 0.06 0.17 pose: 0.0 3.5836 -0.00239707 0 -0.00480845 -0.0133781 -0.0673198 0.99763 uwb: 0.0 837.413 670.306 -imu_odom_: 1691062792.86765396 0.557849 -0.320823 9.76595 -0.0596548 0.00426106 0.199204 0.06 0.17 pose: 0.30982458 3.5836 -0.00239732 0 -0.00450855 -0.0150777 -0.0653242 0.99774 uwb: 0.0 837.413 670.306 -imu_odom_: 1691062792.102752720 0.624887 -0.191536 10.0221 -0.056459 -0.00639159 0.183225 0.06 0.17 pose: 0.0 3.5836 -0.00239732 0 -0.00450855 -0.0150777 -0.0653242 0.99774 uwb: 0.49871981 837.132 669.736 -imu_odom_: 1691062792.119636281 0.73502 -0.270545 9.80665 -0.0532632 -0.0170442 0.177899 0.06 0.17 pose: 0.33875908 3.5836 -0.00239741 0 -0.00467427 -0.0129911 -0.0628289 0.997929 uwb: 0.0 837.132 669.736 -imu_odom_: 1691062792.135753389 0.648829 -0.222661 9.95509 -0.0617853 0.00958738 0.174703 0.04 0.11 pose: 0.41865340 3.59128 0.00400159 0 -0.00355054 -0.0136253 -0.0598153 0.99811 uwb: 0.0 837.132 669.736 -imu_odom_: 1691062792.152750985 0.608127 -0.351948 9.84975 -0.0607201 -0.0138484 0.183225 0.04 0.11 pose: 0.8117175 3.59128 0.00400159 0 -0.00285302 -0.013205 -0.0592775 0.99815 uwb: 0.50070594 836.027 669.679 -imu_odom_: 1691062792.168615816 0.64404 -0.294487 9.93115 -0.056459 0.00852212 0.181095 0.04 0.11 pose: 0.0 3.59128 0.00400159 0 -0.00285302 -0.013205 -0.0592775 0.99815 uwb: 0.0 836.027 669.679 -imu_odom_: 1691062792.185753987 0.584185 -0.225055 9.87848 -0.056459 -0.00639159 0.198139 0.05 0.23 pose: 0.40862360 3.59128 0.00400159 0 -0.00535379 -0.0118533 -0.0563681 0.998325 uwb: 0.0 836.027 669.679 -imu_odom_: 1691062792.202759166 0.629675 -0.275333 10.0149 -0.0553937 0 0.201335 0.03 0.17 pose: 0.0 3.59128 0.00400159 0 -0.00535379 -0.0118533 -0.0563681 0.998325 uwb: 0.49988348 835.508 669.359 -imu_odom_: 1691062792.229624997 0.596156 -0.263362 9.84256 -0.052198 0 0.190682 0.03 0.17 pose: 0.25210140 3.59128 0.00400159 0 -0.00342373 -0.0115846 -0.0543811 0.998447 uwb: 0.0 835.508 669.359 -imu_odom_: 1691062792.245740647 -0.0933739 -0.162806 9.663 -0.0596548 0.0713727 0.210922 0.04 0.2 pose: 0.0 3.59128 0.00400159 0 -0.00342373 -0.0115846 -0.0543811 0.998447 uwb: 0.0 835.508 669.359 -imu_odom_: 1691062792.262743784 -1.07739 -0.438139 9.99819 -0.0649811 0.0788296 0.305731 0.04 0.2 pose: 0.0 3.59128 0.00400159 0 -0.00342373 -0.0115846 -0.0543811 0.998447 uwb: 0.49930894 834.58 669.665 -imu_odom_: 1691062792.278802270 -1.09176 -0.682347 9.98861 -0.0607201 -0.036219 0.38456 0.04 0.2 pose: 0.15853166 3.59128 0.00400159 0 -0.00291527 -0.0115583 -0.053144 0.998516 uwb: 0.0 834.58 669.665 -imu_odom_: 1691062792.294751680 -0.351948 -0.493206 9.66539 -0.0426106 -0.0777643 0.415453 0.06 0.32 pose: 0.27965932 3.59128 0.00400159 0 -0.00287668 -0.00843018 -0.0509471 0.998662 uwb: 0.0 834.58 669.665 -imu_odom_: 1691062792.311676072 0.407014 0.023942 9.69412 -0.0351537 -0.0287621 0.448476 0.06 0.32 pose: 0.0 3.59128 0.00400159 0 -0.00287668 -0.00843018 -0.0509471 0.998662 uwb: 0.49936435 833.631 669.931 -imu_odom_: 1691062792.327743891 0.349553 -0.241814 9.73482 -0.0543285 0.00426106 0.507066 0.12 0.55 pose: 0.32996294 3.59771 -0.00365905 0 -0.00308297 -0.00426177 -0.0466289 0.998898 uwb: 0.0 833.631 669.931 -imu_odom_: 1691062792.343735006 0.28491 -0.371101 9.72525 -0.0585895 0.0213053 0.509196 0.12 0.55 pose: 0.0 3.59771 -0.00365905 0 -0.00308297 -0.00426177 -0.0466289 0.998898 uwb: 0.0 833.631 669.931 -imu_odom_: 1691062792.360655023 -0.11971 -0.416591 9.80665 -0.0511327 -0.0138484 0.540089 0.12 0.55 pose: 0.0 3.59771 -0.00365905 0 -0.00308297 -0.00426177 -0.0466289 0.998898 uwb: 0.50176171 834.7 669.183 -imu_odom_: 1691062792.378730846 0.1652 -0.335188 9.75877 -0.0649811 0.00426106 0.559264 0.11 0.5 pose: 0.47987928 3.59771 -0.00365905 0 -0.00167048 -0.00188602 -0.0371367 0.999307 uwb: 0.0 834.7 669.183 -imu_odom_: 1691062792.393720147 0.172383 -0.354342 10.2304 -0.0500674 0.00319579 0.579504 0.11 0.53 pose: 0.0 3.59771 -0.00365905 0 -0.00167048 -0.00188602 -0.0371367 0.999307 uwb: 0.0 834.7 669.183 -imu_odom_: 1691062792.410685078 0.349553 -0.323217 10.0389 -0.0553937 0.00745685 0.601874 0.11 0.53 pose: 0.67115728 3.60538 0.00275021 0 -0.00383772 0.00458324 -0.02042 0.999774 uwb: 0.49932352 833.334 669.342 -imu_odom_: 1691062792.426735690 -0.0933739 -0.366313 9.64863 -0.0394148 0.0255663 0.632767 0.12 0.55 pose: 0.0 3.60538 0.00275021 0 -0.00383772 0.00458324 -0.02042 0.999774 uwb: 0.0 833.334 669.342 -imu_odom_: 1691062792.443610793 0.203507 -0.543484 10.0796 -0.0617853 -0.00852212 0.644485 0.12 0.55 pose: 0.0 3.60538 0.00275021 0 -0.00383772 0.00458324 -0.02042 0.999774 uwb: 0.0 833.334 669.342 -imu_odom_: 1691062792.460714257 0.356736 -0.25618 9.98382 -0.0415453 0.00213053 0.64342 0.12 0.55 pose: 0.33008835 3.61181 -0.00490904 0 -0.00487689 0.00490436 -0.0111124 0.999914 uwb: 0.49925644 833.069 668.817 -imu_odom_: 1691062792.476775952 0.105345 -0.521936 9.71088 -0.0511327 -0.00426106 0.674312 0.13 0.61 pose: 0.41960418 3.61942 0.00150731 0 -0.00509338 0.00534035 0.00151837 0.999972 uwb: 0.0 833.069 668.817 -imu_odom_: 1691062792.493603808 0.445322 -0.268151 10.1323 -0.0511327 -0.0245011 0.695618 0.13 0.61 pose: 0.7021742 3.61948 0.0015157 0 -0.0055818 0.0058296 0.00374628 0.99996 uwb: 0.0 833.069 668.817 -imu_odom_: 1691062792.510615695 0.466869 -0.529119 9.91199 -0.0426106 -0.0351537 0.690291 0.13 0.61 pose: 0.0 3.61948 0.0015157 0 -0.0055818 0.0058296 0.00374628 0.99996 uwb: 0.50265707 832.653 668.711 -imu_odom_: 1691062792.527714201 0.770933 -0.311246 9.991 -0.036219 -0.0308927 0.66579 0.17 0.76 pose: 0.42879696 3.61942 0.00150713 0 -0.00669713 0.00348872 0.0176522 0.999816 uwb: 0.0 832.653 668.711 -imu_odom_: 1691062792.544836623 1.21386 -0.354342 9.53371 -0.0660464 -0.0340885 0.677508 0.11 0.44 pose: 0.0 3.61942 0.00150713 0 -0.00669713 0.00348872 0.0176522 0.999816 uwb: 0.0 832.653 668.711 -imu_odom_: 1691062792.561640564 1.47483 -0.289698 9.72046 -0.0351537 -0.052198 0.60294 0.11 0.44 pose: 0.0 3.61942 0.00150713 0 -0.00669713 0.00348872 0.0176522 0.999816 uwb: 0.49631954 831.027 669.088 -imu_odom_: 1691062792.577638971 1.70228 -0.047884 9.89763 -0.056459 0.00958738 0.497478 0.09 0.38 pose: 0.25220931 3.62592 -0.0061319 0 -0.00638461 0.000676259 0.0255804 0.999652 uwb: 0.0 831.027 669.088 -imu_odom_: 1691062792.593588963 1.22104 0.110133 9.92636 -0.0639159 0.0308927 0.413323 0.09 0.38 pose: 0.0 3.62592 -0.0061319 0 -0.00638461 0.000676259 0.0255804 0.999652 uwb: 0.0 831.027 669.088 -imu_odom_: 1691062792.610574602 0.653617 -0.011971 9.77313 -0.0532632 0.04048 0.339819 0.09 0.38 pose: 0.33751665 3.63356 0.00031911 0 -0.0059296 -0.0030906 0.0349808 0.999366 uwb: 0.50039387 829.498 669.661 -imu_odom_: 1691062792.626570675 0.629675 -0.265756 10.082 -0.0607201 -0.00106526 0.30147 0.1 0.44 pose: 0.40986311 3.63351 0.000310234 0 -0.00344056 -0.00519914 0.0423174 0.999085 uwb: 0.0 829.498 669.661 -imu_odom_: 1691062792.643583728 0.749385 -0.251391 9.93354 -0.0553937 -0.0170442 0.275903 0.1 0.44 pose: 0.6005344 3.63356 0.000319039 0 -0.00333393 -0.00577443 0.0431001 0.999049 uwb: 0.0 829.498 669.661 -imu_odom_: 1691062792.659569594 0.869095 -0.28491 9.79468 -0.0607201 -0.00532632 0.276969 0.1 0.44 pose: 0.0 3.63356 0.000319039 0 -0.00333393 -0.00577443 0.0431001 0.999049 uwb: 0.50071177 830.674 668.397 -imu_odom_: 1691062792.674639098 0.739808 -0.275333 9.94073 -0.056459 0.00106526 0.286556 0.05 0.26 pose: 0.42989648 3.63356 0.000319039 0 -0.00287343 -0.0101109 0.048292 0.998778 uwb: 0.0 830.674 668.397 -imu_odom_: 1691062792.691629986 0.694318 -0.35913 9.87129 -0.052198 0.00532632 0.270577 0.06 0.26 pose: 0.0 3.63356 0.000319039 0 -0.00287343 -0.0101109 0.048292 0.998778 uwb: 0.0 830.674 668.397 -imu_odom_: 1691062792.707557522 0.593762 -0.196325 9.91439 -0.0553937 0.00319579 0.237554 0.06 0.26 pose: 0.0 3.63356 0.000319039 0 -0.00287343 -0.0101109 0.048292 0.998778 uwb: 0.49976975 831.242 668.081 -imu_odom_: 1691062792.723560303 0.418985 -0.0933739 9.75637 -0.0553937 0.0138484 0.227967 0.06 0.32 pose: 0.22068789 3.63356 0.00031885 0 -0.00327914 -0.0120171 0.0509553 0.998623 uwb: 0.0 831.242 668.081 -imu_odom_: 1691062792.740559357 0.440533 -0.270545 9.92636 -0.0639159 -0.00319579 0.247141 0.06 0.32 pose: 0.0 3.63356 0.00031885 0 -0.00327914 -0.0120171 0.0509553 0.998623 uwb: 0.0 831.242 668.081 -imu_odom_: 1691062792.756551639 0.560243 -0.440533 9.85214 -0.0500674 -0.00106526 0.249272 0.06 0.32 pose: 0.32942922 3.63356 0.00031885 0 -0.00220467 -0.0112062 0.054331 0.998458 uwb: 0.50010514 831.018 667.64 -imu_odom_: 1691062792.772683329 0.703895 -0.325611 9.83538 -0.052198 -0.0127832 0.250337 0.04 0.23 pose: 0.41970334 3.64452 0.00279079 0 -0.00354572 -0.00868888 0.0586253 0.998236 uwb: 0.0 831.018 667.64 -imu_odom_: 1691062792.788579659 0.634463 -0.198719 9.91199 -0.0500674 -0.00213053 0.269512 0.04 0.23 pose: 0.8024723 3.64764 -0.0007844850 -0.00367753 -0.00951079 0.0594676 0.998178 uwb: 0.0 831.018 667.64 -imu_odom_: 1691062792.805588337 0.699107 -0.320823 9.94551 -0.0553937 -0.00319579 0.279099 0.04 0.23 pose: 0.0 3.64764 -0.0007844850 -0.00367753 -0.00951079 0.0594676 0.998178 uwb: 0.50052220 832.529 666.297 -imu_odom_: 1691062792.822707551 0.641646 -0.311246 9.88805 -0.0500674 0.00213053 0.26099 0.04 0.29 pose: 0.41011975 3.64758 -0.0007933630 -0.00300159 -0.01224 0.0641612 0.99786 uwb: 0.0 832.529 666.297 -imu_odom_: 1691062792.847570629 0.591368 -0.229843 9.83299 -0.052198 -0.00106526 0.267381 0.02 0.23 pose: 0.0 3.64758 -0.0007933630 -0.00300159 -0.01224 0.0641612 0.99786 uwb: 0.49960933 833.226 665.502 -imu_odom_: 1691062792.864567642 0.390255 -0.251391 9.97664 -0.0553937 0.0351537 0.268447 0.02 0.23 pose: 0.25054109 3.64764 -0.0007846760 -0.00398213 -0.0121075 0.0669671 0.997674 uwb: 0.0 833.226 665.502 -imu_odom_: 1691062792.880560215 -0.677559 -0.351948 9.80665 -0.0596548 0.104396 0.251402 0.04 0.2 pose: 0.0 3.64764 -0.0007846760 -0.00398213 -0.0121075 0.0669671 0.997674 uwb: 0.0 833.226 665.502 -imu_odom_: 1691062792.896615202 -1.50356 -0.174777 10.058 -0.0575243 0.0340885 0.210922 0.04 0.2 pose: 0.0 3.64764 -0.0007846760 -0.00398213 -0.0121075 0.0669671 0.997674 uwb: 0.50039388 835.024 663.982 -imu_odom_: 1691062792.913613381 -1.04866 -0.141258 9.84017 -0.0575243 -0.0617853 0.18216 0.04 0.2 pose: 0.41925711 3.64764 -0.0007846760 -0.00265931 -0.00790491 0.0716693 0.997394 uwb: 0.0 835.024 663.982 -imu_odom_: 1691062792.929557832 0.0550666 -0.0766145 9.98143 -0.0585895 -0.0948085 0.152333 0.07 0.11 pose: 0.32092766 3.64764 -0.0007846760 -0.00288474 -0.00418887 0.0744668 0.997211 uwb: 0.0 835.024 663.982 -imu_odom_: 1691062792.946624549 0.651223 -0.222661 9.92636 -0.0543285 -0.0394148 0.127832 0.07 0.11 pose: 0.0 3.64764 -0.0007846760 -0.00288474 -0.00418887 0.0744668 0.997211 uwb: 0.0 835.024 663.982 -imu_odom_: 1691062792.963603480 0.395043 -0.426168 9.62948 -0.0607201 0.0330232 0.118244 0.12 0.11 pose: 0.41963626 3.64764 -0.0007846760 -0.00175888 -0.004722 0.0767539 0.997037 uwb: 0.50047553 835.014 663.961 -imu_odom_: 1691062792.980568411 -0.28491 -0.232238 9.7851 -0.0735032 0.0234358 0.122505 0.12 0.11 pose: 0.0 3.64764 -0.0007846760 -0.00175888 -0.004722 0.0767539 0.997037 uwb: 0.0 835.014 663.961 -imu_odom_: 1691062792.995576377 -0.265756 -0.335188 9.7037 -0.0436758 -0.00852212 0.0980043 0.12 0.11 pose: 0.0 3.64764 -0.0007846760 -0.00175888 -0.004722 0.0767539 0.997037 uwb: 0.0 835.014 663.961 -imu_odom_: 1691062793.11640113 0.232238 -0.272939 10.0149 -0.0415453 -0.0170442 0.108657 0.11 0.08 pose: 0.7302891 3.64764 -0.0007846760 -0.00245406 -0.00428283 0.0770436 0.997016 uwb: 0.49818318 836.886 662.578 -imu_odom_: 1691062793.27690142 0.586579 -0.311246 10.0628 -0.0553937 0.00639159 0.124636 0.12 0.05 pose: 0.0 3.64764 -0.0007846760 -0.00245406 -0.00428283 0.0770436 0.997016 uwb: 0.0 836.886 662.578 -imu_odom_: 1691062793.45628307 0.428562 -0.438139 10.5441 -0.036219 0.0340885 0.0958738 0.12 0.05 pose: 0.0 3.64764 -0.0007846760 -0.00245406 -0.00428283 0.0770436 0.997016 uwb: 0.0 836.886 662.578 -imu_odom_: 1691062793.62706398 0.0885855 0.134075 9.76595 -0.0575243 0.0223706 0.106526 0.17 0.08 pose: 0.64721291 3.65526 0.00569005 0 -0.00360112 0.000537316 0.0794303 0.996834 uwb: 0.50076428 836.702 662.196 -imu_odom_: 1691062793.79689704 0.160412 -0.373495 9.93594 -0.0543285 -0.00319579 0.11931 0.17 0.08 pose: 0.0 3.65526 0.00569005 0 -0.00360112 0.000537316 0.0794303 0.996834 uwb: 0.0 836.702 662.196 -imu_odom_: 1691062793.93703148 0.397437 -0.397437 10.0461 -0.0681769 -0.0490022 0.1012 0.17 0.08 pose: 0.34074813 3.66177 -0.00190013 0 -0.00471576 0.000147525 0.0805491 0.996739 uwb: 0.0 836.702 662.196 -imu_odom_: 1691062793.109625726 0.701501 -0.229843 9.88566 -0.0532632 -0.0255663 0.106526 0.13 0.02 pose: 0.40979604 3.66941 0.00455174 0 -0.00592423 0.00138296 0.0819895 0.996615 uwb: 0.49992725 837.363 661.303 -imu_odom_: 1691062793.125553262 0.957681 -0.409408 10.1993 -0.04048 -0.04048 0.113983 0.13 0.02 pose: 0.6956412 3.66941 0.00455174 0 -0.00566083 0.000660744 0.0822187 0.996598 uwb: 0.0 837.363 661.303 -imu_odom_: 1691062793.142548526 0.981623 -0.366313 9.73482 -0.0468716 -0.0649811 0.135289 0.13 0.02 pose: 0.0 3.66941 0.00455174 0 -0.00566083 0.000660744 0.0822187 0.996598 uwb: 0.0 837.363 661.303 -imu_odom_: 1691062793.158600596 0.914585 -0.349553 9.40442 -0.0511327 0.00532632 0.187487 0.14 0.02 pose: 0.41888966 3.66941 0.00455174 0 -0.00518594 -0.00434151 0.0839012 0.996451 uwb: 0.50044347 836.955 661.212 -imu_odom_: 1691062793.174540965 1.2809 -0.4956 10.1634 -0.0639159 -0.0308927 0.213053 0.14 0.02 pose: 0.0 3.66941 0.00455174 0 -0.00518594 -0.00434151 0.0839012 0.996451 uwb: 0.0 836.955 661.212 -imu_odom_: 1691062793.190600618 1.64242 -0.174777 9.96706 -0.0500674 0.00426106 0.138484 0.14 0.02 pose: 0.0 3.66941 0.00455174 0 -0.00518594 -0.00434151 0.0839012 0.996451 uwb: 0.0 836.955 661.212 -imu_odom_: 1691062793.207680460 1.24977 0.203507 9.64624 -0.056459 0.0394148 0.0639159 0.08 0 pose: 0.39006306 3.677 0.0110632 0 -0.00523623 -0.0083031 0.0867852 0.996179 uwb: 0.50010224 837.846 660.029 -imu_odom_: 1691062793.224688556 0.608127 0.059855 9.88326 -0.0649811 0.0330232 0.0394148 0.1 0.02 pose: 0.0 3.677 0.0110632 0 -0.00523623 -0.0083031 0.0867852 0.996179 uwb: 0.0 837.846 660.029 -imu_odom_: 1691062793.240714377 0.634463 -0.533907 9.96227 -0.072438 0.0106526 0.0319579 0.1 0.02 pose: 0.33172451 3.68355 0.00350772 0 -0.00323444 -0.00986711 0.0874034 0.996119 uwb: 0.0 837.846 660.029 -imu_odom_: 1691062793.257547776 0.658405 -0.488417 9.82102 -0.0585895 -0.0170442 0.0149137 0.09 0.05 pose: 0.0 3.68355 0.00350772 0 -0.00323444 -0.00986711 0.0874034 0.996119 uwb: 0.49989225 840.438 657.818 -imu_odom_: 1691062793.274654157 0.866701 -0.196325 9.94551 -0.0511327 -0.00106526 0.0575243 0.09 0.05 pose: 0.0 3.68355 0.00350772 0 -0.00323444 -0.00986711 0.0874034 0.996119 uwb: 0.0 840.438 657.818 -imu_odom_: 1691062793.290591026 0.629675 -0.222661 9.72046 -0.072438 0.0181095 0.0884169 0.09 0.05 pose: 0.33032752 3.68355 0.00350772 0 -0.00463445 -0.0103132 0.0872606 0.996121 uwb: 0.0 840.438 657.818 -imu_odom_: 1691062793.306601099 0.555455 -0.368707 9.98143 -0.0511327 0 0.0703074 0.05 0.05 pose: 0.42830991 3.68349 0.0034983 0 -0.00309956 -0.0119008 0.0876477 0.996076 uwb: 0.49875482 840.539 657.252 -imu_odom_: 1691062793.322591923 0.684742 -0.225055 9.85453 -0.0553937 -0.0106526 0.0639159 0.05 0.05 pose: 0.7952686 3.68355 0.00350745 0 -0.00368282 -0.0113562 0.0877786 0.996068 uwb: 0.0 840.539 657.252 -imu_odom_: 1691062793.338643702 0.720655 -0.169988 9.88087 -0.0596548 -0.00106526 0.0873517 0.05 0.05 pose: 0.0 3.68355 0.00350745 0 -0.00368282 -0.0113562 0.0877786 0.996068 uwb: 0.0 840.539 657.252 -imu_odom_: 1691062793.365521784 0.565032 -0.383072 9.88805 -0.0553937 -0.00532632 0.0713727 0.05 0.05 pose: 0.40099990 3.69116 0.00999462 0 -0.00165954 -0.0126248 0.088449 0.995999 uwb: 0.49982517 840.08 657.05 -imu_odom_: 1691062793.382522880 0.337582 -0.201113 9.79228 -0.0628506 0.0170442 0.0372843 0.04 0.08 pose: 0.0 3.69116 0.00999462 0 -0.00165954 -0.0126248 0.088449 0.995999 uwb: 0.0 840.08 657.05 -imu_odom_: 1691062793.409533954 -1.53229 -0.0191536 10.1083 -0.0511327 0.056459 0.0170442 0.04 0.08 pose: 0.34959676 3.69116 0.00999462 0 -0.00379631 -0.0104252 0.0888983 0.995979 uwb: 0.49983101 841.013 655.917 -imu_odom_: 1691062793.425623647 -0.960075 -0.761356 9.76116 -0.0735032 -0.0916127 0.04048 0.07 0.05 pose: 0.0 3.69116 0.00999462 0 -0.00379631 -0.0104252 0.0888983 0.995979 uwb: 0.0 841.013 655.917 -imu_odom_: 1691062793.441555850 0.232238 -0.550666 9.62708 -0.0340885 -0.0681769 -0.0585895 0.07 0.05 pose: 0.15937161 3.69116 0.00999462 0 -0.00355575 -0.00856474 0.0888121 0.996005 uwb: 0.0 841.013 655.917 -imu_odom_: 1691062793.458547030 0.134075 0.294487 9.87129 -0.056459 0.0138484 -0.092678 0.07 0.05 pose: 0.0 3.69116 0.00999462 0 -0.00355575 -0.00856474 0.0888121 0.996005 uwb: 0.50141466 842.03 654.957 -imu_odom_: 1691062793.475653995 0.122104 -0.0215478 9.93354 -0.076699 0.00319579 -0.131028 0.09 -0.2 pose: 0.60038284 3.69116 0.00999462 0 -0.00450608 -0.00410337 0.0873171 0.996162 uwb: 0.0 842.03 654.957 -imu_odom_: 1691062793.492588595 0.19393 -0.486023 10.0102 -0.0628506 -0.0181095 -0.238619 0.09 -0.2 pose: 0.0 3.69116 0.00999462 0 -0.00450608 -0.00410337 0.0873171 0.996162 uwb: 0.0 842.03 654.957 -imu_odom_: 1691062793.506535543 0.746991 -0.0454898 9.67976 -0.0500674 -0.02024 -0.330232 0.11 -0.32 pose: 0.43009772 3.7052 0.00884876 0 -0.00426735 -0.0009839780.0829322 0.996546 uwb: 0.50007016 842.096 654.306 -imu_odom_: 1691062793.521584633 0.979228 0.203507 9.87129 -0.0628506 -0.0127832 -0.335558 0.11 -0.32 pose: 0.0 3.7052 0.00884876 0 -0.00426735 -0.0009839780.0829322 0.996546 uwb: 0.0 842.096 654.306 -imu_odom_: 1691062793.537519752 0.383072 -0.332794 9.77313 -0.0809601 0.052198 -0.367516 0.11 -0.32 pose: 0.0 3.7052 0.00884876 0 -0.00426735 -0.0009839780.0829322 0.996546 uwb: 0.0 842.096 654.306 -imu_odom_: 1691062793.552641170 0.591368 -0.105345 10.2568 -0.0628506 0.0181095 -0.423975 0.12 -0.41 pose: 0.5957223 3.70526 0.00885777 0 -0.00384774 -0.00147823 0.0818325 0.996638 uwb: 0.49972309 843.655 652.927 -imu_odom_: 1691062793.569577229 -0.347159 -0.0981623 10.0245 -0.0575243 -0.00852212 -0.46339 0.12 -0.41 pose: 0.0 3.70526 0.00885777 0 -0.00384774 -0.00147823 0.0818325 0.996638 uwb: 0.0 843.655 652.927 -imu_odom_: 1691062793.585632507 0.205901 -0.0814029 9.98861 -0.0745685 -0.0276969 -0.459129 0.12 -0.41 pose: 0.0 3.70526 0.00885777 0 -0.00384774 -0.00147823 0.0818325 0.996638 uwb: 0.0 843.655 652.927 -imu_odom_: 1691062793.601575209 0.0454898 -0.122104 9.52413 -0.052198 -0.0106526 -0.485761 0.18 -0.67 pose: 0.46098336 3.70526 0.0088578 0 -0.00306647 -0.0020715 0.0726585 0.99735 uwb: 0.50019849 844.284 651.897 -imu_odom_: 1691062793.618573972 0.213084 -0.208296 10.0556 -0.056459 -0.00958738 -0.529436 0.13 -0.55 pose: 0.0 3.70526 0.0088578 0 -0.00306647 -0.0020715 0.0726585 0.99735 uwb: 0.0 844.284 651.897 -imu_odom_: 1691062793.634572088 0.6608 -0.0574608 9.86172 -0.056459 -0.0276969 -0.549676 0.13 -0.55 pose: 0.64888699 3.7128 0.0154175 0 -0.0009029180.00250367 0.0561316 0.99842 uwb: 0.0 844.284 651.897 -imu_odom_: 1691062793.651525645 0.196325 -0.0383072 9.61272 -0.0287621 -0.00426106 -0.545415 0.13 -0.58 pose: 0.0 3.7128 0.0154175 0 -0.0009029180.00250367 0.0561316 0.99842 uwb: 0.49864983 844.034 651.339 -imu_odom_: 1691062793.668576030 0.198719 -0.512359 9.70849 -0.0617853 0.0106526 -0.563525 0.13 -0.58 pose: 0.0 3.7128 0.0154175 0 -0.0009029180.00250367 0.0561316 0.99842 uwb: 0.0 844.034 651.339 -imu_odom_: 1691062793.684569187 0.955286 -0.0957681 10.41 -0.0628506 -0.0490022 -0.566721 0.13 -0.58 pose: 0.33176534 3.71934 0.00785126 0 0.000630705 0.00241269 0.0464822 0.998916 uwb: 0.0 844.034 651.339 -imu_odom_: 1691062793.700519764 1.31681 -0.114922 9.4571 -0.0809601 -0.0692422 -0.466586 0.16 -0.64 pose: 0.41859800 3.72685 0.0143828 0 -1.99557e-050.00191104 0.0339207 0.999423 uwb: 0.49955394 844.699 650.373 -imu_odom_: 1691062793.717629354 0.933739 -0.512359 9.66539 -0.0372843 0.0511327 -0.383495 0.16 -0.64 pose: 0.7041866 3.72691 0.0143923 0 -8.96261e-060.000981756 0.0321398 0.999483 uwb: 0.0 844.699 650.373 -imu_odom_: 1691062793.734573578 1.31921 -0.54109 10.0437 -0.036219 -0.0436758 -0.337689 0.16 -0.64 pose: 0.0 3.72691 0.0143923 0 -8.96261e-060.000981756 0.0321398 0.999483 uwb: 0.0 844.699 650.373 -imu_odom_: 1691062793.750623024 0.993594 0.0646434 9.40442 -0.0383495 0.00106526 -0.314253 0.09 -0.38 pose: 0.32973838 3.72691 0.0143923 0 -0.000791938-0.0020288 0.0249574 0.999686 uwb: 0.50105593 843.573 650.308 -imu_odom_: 1691062793.766567476 0.586579 -0.21069 9.87848 -0.0468716 0.02024 -0.267381 0.12 -0.53 pose: 0.0 3.72691 0.0143923 0 -0.000791938-0.0020288 0.0249574 0.999686 uwb: 0.0 843.573 650.308 -imu_odom_: 1691062793.783576155 0.481235 -0.385466 9.81862 -0.0500674 0.00319579 -0.282295 0.12 -0.53 pose: 0.0 3.72691 0.0143923 0 -0.000791938-0.0020288 0.0249574 0.999686 uwb: 0.0 843.573 650.308 -imu_odom_: 1691062793.800513672 0.627281 -0.21069 9.8665 -0.0543285 -0.0479369 -0.266316 0.1 -0.38 pose: 0.32992212 3.72691 0.0143924 0 6.22714e-05 -0.0051222 0.0191639 0.999803 uwb: 0.50054846 841.922 650.716 -imu_odom_: 1691062793.816621447 0.672771 -0.203507 9.84017 -0.0617853 -0.00745685 -0.225836 0.1 -0.38 pose: 0.0 3.72691 0.0143924 0 6.22714e-05 -0.0051222 0.0191639 0.999803 uwb: 0.0 841.922 650.716 -imu_odom_: 1691062793.832618688 0.787692 -0.411803 10.1562 -0.0479369 -0.00852212 -0.213053 0.1 -0.38 pose: 0.32961006 3.74101 0.0133041 0 -0.00121649 -0.00633882 0.0139907 0.999881 uwb: 0.0 841.922 650.716 -imu_odom_: 1691062793.848562556 0.739808 -0.253785 9.83538 -0.0532632 -0.0255663 -0.198139 0.06 -0.23 pose: 0.42080579 3.74095 0.0132943 0 -0.00152882 -0.0103282 0.00830905 0.999911 uwb: 0.49866441 842.004 650.085 -imu_odom_: 1691062793.865501823 0.893037 -0.306458 9.57681 -0.052198 0.0106526 -0.169377 0.06 -0.23 pose: 0.7891439 3.74101 0.0133037 0 -0.00154864 -0.0112027 0.00737052 0.999909 uwb: 0.0 842.004 650.085 -imu_odom_: 1691062793.881617181 0.466869 -0.363919 9.88805 -0.0596548 -0.00745685 -0.153398 0.06 -0.23 pose: 0.0 3.74101 0.0133037 0 -0.00154864 -0.0112027 0.00737052 0.999909 uwb: 0.0 842.004 650.085 -imu_odom_: 1691062793.898510367 0.588974 -0.126893 10.1586 -0.0479369 -0.0181095 -0.165116 0.06 -0.26 pose: 0.41107054 3.74101 0.0133037 0 -0.00268968 -0.0122451 0.00310331 0.999917 uwb: 0.50011974 842.088 649.454 -imu_odom_: 1691062793.914568271 0.579397 -0.0957681 9.83059 -0.0596548 -0.0255663 -0.138484 0.04 -0.17 pose: 0.0 3.74101 0.0133037 0 -0.00268968 -0.0122451 0.00310331 0.999917 uwb: 0.0 842.088 649.454 -imu_odom_: 1691062793.931627697 0.720655 -0.332794 9.93833 -0.0628506 -0.0106526 -0.118244 0.04 -0.17 pose: 0.0 3.74101 0.0133037 0 -0.00268968 -0.0122451 0.00310331 0.999917 uwb: 0.0 842.088 649.454 -imu_odom_: 1691062793.947511194 0.775721 -0.378284 9.84975 -0.0575243 -0.0351537 -0.103331 0.04 -0.11 pose: 0.24920825 3.74101 0.0133037 0 -0.000305708-0.0115161 0.000634962 0.999933 uwb: 0.49987475 841.981 649.218 -imu_odom_: 1691062793.963669716 0.670376 -0.383072 9.84256 -0.0532632 0.00213053 -0.0990696 0.04 -0.11 pose: 0.0 3.74101 0.0133037 0 -0.000305708-0.0115161 0.000634962 0.999933 uwb: 0.0 841.981 649.218 -imu_odom_: 1691062793.980765890 0.624887 -0.136469 10.0437 -0.0543285 -0.015979 -0.0820254 0.04 -0.11 pose: 0.32976172 3.74101 0.0133038 0 -0.00156323 -0.0130527 -0.00197619 0.999912 uwb: 0.0 841.981 649.218 -imu_odom_: 1691062793.997654993 0.639252 -0.337582 9.78031 -0.0596548 -0.0127832 -0.0681769 0.04 -0.14 pose: 0.41251712 3.74101 0.0133038 0 -0.00209224 -0.0132388 -0.00469767 0.999899 uwb: 0.50041139 841.194 649.109 -imu_odom_: 1691062794.14647340 0.754174 -0.311246 9.94551 -0.056459 -0.00958738 -0.0575243 0.04 -0.14 pose: 0.7006868 3.74101 0.0133038 0 -0.00278396 -0.0131032 -0.00506592 0.999897 uwb: 0.0 841.194 649.109 -imu_odom_: 1691062794.30627374 0.687136 -0.294487 9.88566 -0.0596548 -0.00745685 -0.0500674 0.04 -0.14 pose: 0.0 3.74101 0.0133038 0 -0.00278396 -0.0131032 -0.00506592 0.999897 uwb: 0.0 841.194 649.109 -imu_odom_: 1691062794.46639780 0.634463 -0.241814 9.97424 -0.052198 -0.00532632 -0.036219 0.02 -0.08 pose: 0.42854616 3.74101 0.0133038 0 -0.0042314 -0.0130377 -0.0071204 0.999881 uwb: 0.0 841.194 649.109 -imu_odom_: 1691062794.63706498 0.663194 -0.275333 9.83059 -0.0575243 -0.0138484 -0.0255663 0.01 -0.02 pose: 0.0 3.74101 0.0133038 0 -0.0042314 -0.0130377 -0.0071204 0.999881 uwb: 0.50148467 841.317 648.563 -imu_odom_: 1691062794.79819524 0.682347 -0.323217 9.90002 -0.0543285 -0.00852212 -0.0213053 0.01 -0.02 pose: 0.0 3.74101 0.0133038 0 -0.0042314 -0.0130377 -0.0071204 0.999881 uwb: 0.0 841.317 648.563 -imu_odom_: 1691062794.96637757 0.653617 -0.28491 9.89284 -0.056459 -0.00639159 -0.00213053 0.01 -0.02 pose: 0.24051129 3.74856 0.0198598 0 -0.00310495 -0.0131269 -0.00800232 0.999877 uwb: 0.49977853 839.087 649.345 -imu_odom_: 1691062794.114558131 0.696713 -0.335188 9.90242 -0.0532632 0.00106526 0.0138484 0.01 -0.02 pose: 0.0 3.74856 0.0198598 0 -0.00310495 -0.0131269 -0.00800232 0.999877 uwb: 0.0 839.087 649.345 -imu_odom_: 1691062794.130547206 0.514753 -0.277727 9.87129 -0.0543285 0.00106526 0.0319579 0.01 -0.02 pose: 0.32947299 3.74856 0.0198598 0 -0.00454754 -0.0136454 -0.00892976 0.999857 uwb: 0.0 839.087 649.345 -imu_odom_: 1691062794.146486700 0.533907 -0.299275 9.92157 -0.0543285 -0.00745685 0.0490022 0 0.05 pose: 0.42921404 3.74856 0.0198598 0 -0.00490867 -0.0124941 -0.00939829 0.999866 uwb: 0.0 839.087 649.345 -imu_odom_: 1691062794.162538771 0.526724 -0.244209 9.88805 -0.0543285 -0.00426106 0.0479369 0 0.05 pose: 0.6950288 3.74856 0.0198598 0 -0.00484312 -0.0118128 -0.00936291 0.999875 uwb: 0.49808112 839.919 648.732 -imu_odom_: 1691062794.177541781 0.519542 -0.248997 9.93594 -0.052198 -0.00106526 0.0447411 0 0.05 pose: 0.0 3.74856 0.0198598 0 -0.00484312 -0.0118128 -0.00936291 0.999875 uwb: 0.0 839.919 648.732 -imu_odom_: 1691062794.199483704 0.399832 -0.237026 9.92875 -0.0553937 0 0.0383495 0 0 pose: 0.40044287 3.74856 0.0198598 0 -0.00309123 -0.00826794 -0.00921702 0.999919 uwb: 0.50095679 839.88 648.646 -imu_odom_: 1691062794.216470801 -0.272939 -0.241814 9.77792 -0.0447411 0.0703074 0.0862864 0 0.02 pose: 0.0 3.74856 0.0198598 0 -0.00309123 -0.00826794 -0.00921702 0.999919 uwb: 0.0 839.88 648.646 -imu_odom_: 1691062794.232584410 -1.16837 -0.538695 9.92397 -0.0532632 0.0660464 0.208792 0 0.02 pose: 0.28978830 3.74856 0.0198598 0 -0.00253171 -0.00511459 -0.00906278 0.999943 uwb: 0.0 839.88 648.646 -imu_odom_: 1691062794.248469658 -1.06303 -0.828394 9.991 -0.0649811 -0.04048 0.330232 0.04 0.29 pose: 0.0 3.74856 0.0198598 0 -0.00253171 -0.00511459 -0.00906278 0.999943 uwb: 0.49858860 838.282 649.198 -imu_odom_: 1691062794.265600247 -0.11971 -0.577003 9.83059 -0.0458064 -0.0671117 0.393083 0.04 0.29 pose: 0.0 3.74856 0.0198598 0 -0.00253171 -0.00511459 -0.00906278 0.999943 uwb: 0.0 838.282 649.198 -imu_odom_: 1691062794.282579762 0.646434 -0.208296 10.2137 -0.0543285 -0.0351537 0.451672 0.04 0.29 pose: 0.32948174 3.75508 0.0122818 0 -0.00294895 -0.00106295 -0.00645917 0.999974 uwb: 0.0 838.282 649.198 -imu_odom_: 1691062794.298620458 0.383072 -0.0814029 9.8665 -0.0436758 0.0191748 0.471912 0.07 0.47 pose: 0.33068042 3.75508 0.0122818 0 -0.00382868 -0.00016589 -0.0006860040.999992 uwb: 0.50014017 837.808 648.976 -imu_odom_: 1691062794.315618638 0.110133 -0.347159 9.76834 -0.0468716 0.0298274 0.478304 0.07 0.47 pose: 0.0 3.75508 0.0122818 0 -0.00382868 -0.00016589 -0.0006860040.999992 uwb: 0.0 837.808 648.976 -imu_odom_: 1691062794.333476017 -0.215478 -0.442927 9.90481 -0.0447411 -0.00745685 0.508131 0.07 0.47 pose: 0.0 3.75508 0.0122818 0 -0.00382868 -0.00016589 -0.0006860040.999992 uwb: 0.0 837.808 648.976 -imu_odom_: 1691062794.347613703 0.0861913 -0.373495 10.0054 -0.0394148 -0.0276969 0.537959 0.07 0.47 pose: 0.43081811 3.75503 0.0122726 0 -0.00229303 0.0012038 0.00857788 0.99996 uwb: 0.50094512 838.166 648.137 -imu_odom_: 1691062794.363750644 0.325611 -0.122104 9.95748 -0.0351537 -0.0117179 0.565655 0.07 0.47 pose: 0.0 3.75503 0.0122726 0 -0.00229303 0.0012038 0.00857788 0.99996 uwb: 0.0 838.166 648.137 -imu_odom_: 1691062794.379484234 0.141258 -0.423774 9.90721 -0.0426106 -0.00106526 0.606135 0.09 0.53 pose: 0.8008099 3.75508 0.012282 0 -0.00249096 0.00195897 0.0104553 0.99994 uwb: 0.0 838.166 648.137 -imu_odom_: 1691062794.395535722 0.253785 -0.414197 9.64384 -0.0468716 -0.02024 0.595483 0.09 0.53 pose: 0.0 3.75508 0.012282 0 -0.00249096 0.00195897 0.0104553 0.99994 uwb: 0.0 838.166 648.137 -imu_odom_: 1691062794.411614041 -0.155623 -0.0981623 9.7875 -0.0436758 0.00106526 0.615723 0.09 0.53 pose: 0.0 3.75508 0.012282 0 -0.00249096 0.00195897 0.0104553 0.99994 uwb: 0.49863817 837.522 648.357 -imu_odom_: 1691062794.428527060 0.0909797 -0.339977 9.76834 -0.0426106 -0.00958738 0.646616 0.11 0.64 pose: 0.46945286 3.75508 0.012282 0 -0.00180723 0.00447419 0.022469 0.999736 uwb: 0.0 837.522 648.357 -imu_odom_: 1691062794.444530426 0.258574 -0.287304 9.53132 -0.0436758 -0.00639159 0.654072 0.11 0.64 pose: 0.0 3.75508 0.012282 0 -0.00180723 0.00447419 0.022469 0.999736 uwb: 0.0 837.522 648.357 -imu_odom_: 1691062794.461478442 0.263362 -0.361524 9.80665 -0.0319579 -0.00106526 0.660464 0.11 0.64 pose: 0.0 3.75508 0.012282 0 -0.00180723 0.00447419 0.022469 0.999736 uwb: 0.50144968 838.038 647.86 -imu_odom_: 1691062794.479624553 0.114922 -0.416591 9.76834 -0.0596548 -0.00319579 0.687096 0.12 0.61 pose: 0.47966933 3.76263 0.0188374 0 -0.00335861 0.00764052 0.0361806 0.99931 uwb: 0.0 838.038 647.86 -imu_odom_: 1691062794.494505362 0.782904 -0.316035 9.72525 -0.0500674 -0.04048 0.656203 0.11 0.61 pose: 0.0 3.76263 0.0188374 0 -0.00335861 0.00764052 0.0361806 0.99931 uwb: 0.0 838.038 647.86 -imu_odom_: 1691062794.511607077 0.90022 -0.232238 9.70609 -0.052198 0.00319579 0.628506 0.11 0.61 pose: 0.66980699 3.76917 0.0112679 0 -0.00667922 0.00786277 0.0570294 0.998319 uwb: 0.50044932 839.593 646.374 -imu_odom_: 1691062794.529474955 1.67834 -0.1652 10.1251 -0.0394148 -0.04048 0.570982 0.08 0.41 pose: 0.0 3.76917 0.0112679 0 -0.00667922 0.00786277 0.0570294 0.998319 uwb: 0.0 839.593 646.374 -imu_odom_: 1691062794.545524984 1.36469 0.023942 9.2895 -0.0394148 0.0223706 0.493217 0.08 0.41 pose: 0.0 3.76917 0.0112679 0 -0.00667922 0.00786277 0.0570294 0.998319 uwb: 0.0 839.593 646.374 -imu_odom_: 1691062794.561465645 1.37906 -0.023942 10.568 -0.0607201 0.0639159 0.417584 0.08 0.41 pose: 0.34111854 3.77673 0.0178169 0 -0.00588644 0.00433083 0.0669327 0.997731 uwb: 0.49865859 838.272 646.743 -imu_odom_: 1691062794.577517425 0.414197 -0.148441 9.50977 -0.0575243 0.04048 0.351537 0.06 0.29 pose: 0.41834136 3.77667 0.0178073 0 -0.00440464 0.00101327 0.0761576 0.997086 uwb: 0.0 838.272 646.743 -imu_odom_: 1691062794.594515605 0.428562 -0.213084 10.0054 -0.0596548 0.0213053 0.278034 0.06 0.29 pose: 0.8004600 3.77673 0.0178171 0 -0.00363531 0.00106433 0.0774021 0.996993 uwb: 0.0 838.272 646.743 -imu_odom_: 1691062794.610456849 0.725443 0.0023942 9.96467 -0.052198 -0.0330232 0.230097 0.06 0.29 pose: 0.0 3.77673 0.0178171 0 -0.00363531 0.00106433 0.0774021 0.996993 uwb: 0.49929439 840.636 645.386 -imu_odom_: 1691062794.626510087 0.907402 -0.268151 9.76116 -0.0532632 -0.00426106 0.214118 0.07 0.35 pose: 0.40986604 3.77673 0.0178171 0 -0.000476807-0.00113528 0.0821838 0.996616 uwb: 0.0 840.636 645.386 -imu_odom_: 1691062794.642451039 0.782904 -0.23942 9.97424 -0.0500674 0.00852212 0.229032 0.04 0.26 pose: 0.0 3.77673 0.0178171 0 -0.000476807-0.00113528 0.0821838 0.996616 uwb: 0.0 840.636 645.386 -imu_odom_: 1691062794.659517757 0.174777 -0.423774 9.69652 -0.0511327 0.0255663 0.276969 0.04 0.26 pose: 0.0 3.77673 0.0178171 0 -0.000476807-0.00113528 0.0821838 0.996616 uwb: 0.50172965 840.336 645.547 -imu_odom_: 1691062794.675508873 0.37589 -0.466869 10.1083 -0.0596548 -0.0149137 0.291882 0.04 0.26 pose: 0.24060170 3.77673 0.0178169 0 -0.000415621-0.00348632 0.0843341 0.996431 uwb: 0.0 840.336 645.547 -imu_odom_: 1691062794.692564509 0.629675 -0.201113 9.89284 -0.036219 -0.0245011 0.267381 0.03 0.2 pose: 0.0 3.77673 0.0178169 0 -0.000415621-0.00348632 0.0843341 0.996431 uwb: 0.0 840.336 645.547 -imu_odom_: 1691062794.709448071 0.811634 0.0023942 9.80426 -0.0532632 0 0.258859 0.03 0.2 pose: 0.32998921 3.78324 0.0102259 0 -0.00218012 -0.00245635 0.0881129 0.996105 uwb: 0.49782448 838.963 645.807 -imu_odom_: 1691062794.733448161 0.596156 -0.316035 9.89524 -0.0543285 0.00958738 0.238619 0.03 0.2 pose: 0.41932131 3.78749 0.0138584 0 -0.000854066-0.00516147 0.0928843 0.995663 uwb: 0.0 838.963 645.807 -imu_odom_: 1691062794.749494691 -0.158017 -0.304064 9.72285 -0.0617853 0.0830906 0.217314 0.03 0.2 pose: 0.0 3.78749 0.0138584 0 -0.000854066-0.00516147 0.0928843 0.995663 uwb: 0.50247336 840.792 644.904 -imu_odom_: 1691062794.766494912 -1.14922 -0.172383 10.0437 -0.0607201 0.0841559 0.214118 0.05 0.14 pose: 0.7032824 3.79082 0.0167492 0 -0.00124554 -0.00569923 0.0935823 0.995594 uwb: 0.0 840.792 644.904 -imu_odom_: 1691062794.783454303 -1.22583 -0.339977 10.0341 -0.0628506 -0.0181095 0.209857 0.06 0.14 pose: 0.0 3.79082 0.0167492 0 -0.00124554 -0.00569923 0.0935823 0.995594 uwb: 0.0 840.792 644.904 -imu_odom_: 1691062794.800612599 -0.347159 -0.23942 9.74679 -0.0479369 -0.0553937 0.186421 0.1 0.2 pose: 0.0 3.79082 0.0167492 0 -0.00124554 -0.00569923 0.0935823 0.995594 uwb: 0.49851277 840.386 644.828 -imu_odom_: 1691062794.816507180 0.531513 -0.316035 10.0413 -0.0511327 -0.0617853 0.175769 0.1 0.2 pose: 0.74193180 3.79082 0.016749 0 -0.00301864 -0.0001623240.100141 0.994969 uwb: 0.0 840.386 644.828 -imu_odom_: 1691062794.833562523 0.691924 -0.335188 9.75877 -0.0607201 0.00958738 0.178964 0.12 0.14 pose: 0.0 3.79082 0.016749 0 -0.00301864 -0.0001623240.100141 0.994969 uwb: 0.0 840.386 644.828 -imu_odom_: 1691062794.850504998 0.251391 -0.447716 9.97903 -0.0617853 0.036219 0.170442 0.12 0.14 pose: 0.32779309 3.79082 0.016749 0 -0.00332118 -0.00207145 0.102423 0.994733 uwb: 0.50178215 840.844 644.185 -imu_odom_: 1691062794.866441868 -0.275333 -0.138864 9.74201 -0.0511327 0.0276969 0.157659 0.12 0.14 pose: 0.0 3.79082 0.016749 0 -0.00332118 -0.00207145 0.102423 0.994733 uwb: 0.0 840.844 644.185 -imu_odom_: 1691062794.883479421 0.201113 -0.220267 10.1347 -0.0660464 0.00319579 0.175769 0.1 0.08 pose: 0.42988484 3.79481 0.0202206 0 -0.00451005 0.000392493 0.105171 0.994444 uwb: 0.0 840.844 644.185 -imu_odom_: 1691062794.899484245 0.304064 -0.1652 9.9096 -0.0596548 0.02024 0.149137 0.1 0.08 pose: 0.7994683 3.79838 0.023291 0 -0.00430489 0.00117935 0.105716 0.994386 uwb: 0.49954813 839.912 644.604 -imu_odom_: 1691062794.915479444 0.201113 -0.19393 10.4435 -0.0447411 -0.0149137 0.135289 0.1 0.08 pose: 0.0 3.79838 0.023291 0 -0.00430489 0.00117935 0.105716 0.994386 uwb: 0.0 839.912 644.604 -imu_odom_: 1691062794.931418938 0.00957681 -0.289698 9.82341 -0.0340885 -0.0426106 0.155529 0.11 0.11 pose: 0.41042893 3.80209 0.0190249 0 -0.00203431 0.00443779 0.107975 0.994142 uwb: 0.0 839.912 644.604 -imu_odom_: 1691062794.947468384 -0.177171 -0.500388 9.89763 -0.0681769 -0.00639159 0.162985 0.15 0.08 pose: 0.0 3.80209 0.0190249 0 -0.00203431 0.00443779 0.107975 0.994142 uwb: 0.49801113 839.097 644.455 -imu_odom_: 1691062794.964585266 0.162806 -0.347159 10.1227 -0.0458064 -0.0245011 0.13955 0.15 0.08 pose: 0.0 3.80209 0.0190249 0 -0.00203431 0.00443779 0.107975 0.994142 uwb: 0.0 839.097 644.455 -imu_odom_: 1691062794.981447538 0.627281 -0.445322 9.83777 -0.0468716 -0.0149137 0.133158 0.17 0.11 pose: 0.23014025 3.80494 0.0157458 0 -0.00267899 0.00626497 0.109327 0.993983 uwb: 0.0 839.097 644.455 -imu_odom_: 1691062794.999611731 0.0502782 -0.3304 9.58399 -0.0532632 0.0394148 0.142745 0.17 0.11 pose: 0.0 3.80494 0.0157458 0 -0.00267899 0.00626497 0.109327 0.993983 uwb: 0.50199214 839.515 643.724 -imu_odom_: 1691062795.14589367 0.790087 -0.411803 10.5201 -0.0575243 -0.0213053 0.131028 0.17 0.11 pose: 0.34037191 3.81249 0.022307 0 -0.00459114 0.00717568 0.111084 0.993775 uwb: 0.0 839.515 643.724 -imu_odom_: 1691062795.30638814 0.979228 -0.181959 9.88566 -0.0585895 -0.0245011 0.151268 0.11 0.05 pose: 0.42058707 3.81249 0.022307 0 -0.00542592 0.00680271 0.113099 0.993546 uwb: 0.0 839.515 643.724 -imu_odom_: 1691062795.48658058 0.931344 -0.196325 10.1179 -0.0692422 0.0234358 0.213053 0.11 0.05 pose: 0.6982953 3.81249 0.022307 0 -0.00523169 0.00606228 0.113486 0.993507 uwb: 0.49984853 839.721 643.348 -imu_odom_: 1691062795.66586016 1.55623 -0.277727 10.2951 -0.0372843 -0.0639159 0.188552 0.1 0.05 pose: 0.0 3.81249 0.022307 0 -0.00523169 0.00606228 0.113486 0.993507 uwb: 0.0 839.721 643.348 -imu_odom_: 1691062795.82499554 1.43652 -0.0454898 9.46188 -0.04048 -0.00426106 0.129962 0.08 0.05 pose: 0.35023258 3.81249 0.022307 0 -0.0044233 0.00259635 0.116119 0.993222 uwb: 0.0 839.721 643.348 -imu_odom_: 1691062795.98433799 1.2809 -0.0023942 10.1227 -0.0660464 0.0490022 0.102265 0.08 0.02 pose: 0.0 3.81249 0.022307 0 -0.0044233 0.00259635 0.116119 0.993222 uwb: 0.49885985 841.046 642.138 -imu_odom_: 1691062795.114430749 0.292093 -0.0311246 10.137 -0.0575243 0 0.0777643 0.08 0.02 pose: 0.0 3.81249 0.022307 0 -0.0044233 0.00259635 0.116119 0.993222 uwb: 0.0 841.046 642.138 -imu_odom_: 1691062795.130433823 0.519542 -0.380678 9.84256 -0.0585895 -0.00958738 0.0394148 0.06 0.05 pose: 0.32968299 3.81999 0.0289262 0 -0.00327722 -0.0006218840.117781 0.993034 uwb: 0.0 841.046 642.138 -imu_odom_: 1691062795.146430481 0.890643 -0.186748 10.1083 -0.0543285 -0.0415453 0.0415453 0.06 0.05 pose: 0.0 3.81999 0.0289262 0 -0.00327722 -0.0006218840.117781 0.993034 uwb: 0.0 841.046 642.138 -imu_odom_: 1691062795.163409122 0.775721 -0.296881 9.61033 -0.056459 -0.00106526 0.0681769 0.06 0.05 pose: 0.31940528 3.82661 0.0214354 0 -0.00216769 -0.0008093020.118357 0.992968 uwb: 0.49941106 839.869 642.019 -imu_odom_: 1691062795.179462943 0.857124 -0.409408 10.082 -0.0628506 0.0181095 0.0830906 0.07 0.05 pose: 0.41904717 3.82661 0.0214354 0 -0.00224421 -0.00499255 0.118602 0.992927 uwb: 0.0 839.869 642.019 -imu_odom_: 1691062795.196436625 0.64404 -0.385466 9.83059 -0.0479369 0 0.0713727 0.07 0.05 pose: 0.7001326 3.82661 0.0214354 0 -0.00245218 -0.0055964 0.118752 0.992905 uwb: 0.49849529 838.171 642.421 -imu_odom_: 1691062795.213585005 0.675165 -0.141258 9.8665 -0.052198 0.00426106 0.0596548 0.07 0.05 pose: 0.0 3.82661 0.0214354 0 -0.00245218 -0.0055964 0.118752 0.992905 uwb: 0.0 838.171 642.421 -imu_odom_: 1691062795.229575539 0.703895 -0.172383 9.79707 -0.0532632 -0.00319579 0.0660464 0.04 0.05 pose: 0.43174557 3.82661 0.0214354 0 -0.00212028 -0.00859447 0.11937 0.99281 uwb: 0.0 838.171 642.421 -imu_odom_: 1691062795.256457705 0.730232 -0.241814 9.98622 -0.0553937 -0.00426106 0.0660464 0.05 0.05 pose: 0.0 3.82661 0.0214354 0 -0.00212028 -0.00859447 0.11937 0.99281 uwb: 0.50148760 837.723 642.263 -imu_odom_: 1691062795.272573065 0.110133 -0.466869 9.67736 -0.0649811 0.0639159 0.0245011 0.05 0.05 pose: 0.24084378 3.83413 0.0280264 0 -0.000827128-0.0105415 0.119671 0.992757 uwb: 0.0 837.723 642.263 -imu_odom_: 1691062795.289571829 -0.936133 0.131681 10.3118 -0.0468716 0.106526 -0.104396 0.04 0.05 pose: 0.0 3.83413 0.0280264 0 -0.000827128-0.0105415 0.119671 0.992757 uwb: 0.0 837.723 642.263 -imu_odom_: 1691062795.306451309 -1.47243 0.308852 9.75877 -0.0415453 -0.0213053 -0.186421 0.04 0.05 pose: 0.0 3.83413 0.0280264 0 -0.000827128-0.0105415 0.119671 0.992757 uwb: 0.0 837.723 642.263 -imu_odom_: 1691062795.323573732 -0.45011 -0.196325 9.97185 -0.0585895 -0.0777643 -0.236489 0.1 -0.35 pose: 0.26922122 3.83413 0.0280264 0 -0.000864514-0.0113908 0.119853 0.992726 uwb: 0.0 837.723 642.263 -imu_odom_: 1691062795.340417047 0.361524 -0.373495 9.55047 -0.0532632 -0.0372843 -0.286556 0.1 -0.35 pose: 0.41859804 3.83407 0.0280164 0 -0.000724124-0.00626365 0.116693 0.993148 uwb: 0.0 837.723 642.263 -imu_odom_: 1691062795.356562738 0.189142 -0.418985 10.0772 -0.0500674 0.0138484 -0.289752 0.1 -0.35 pose: 0.0 3.83407 0.0280164 0 -0.000724124-0.00626365 0.116693 0.993148 uwb: 0.0 837.723 642.263 -imu_odom_: 1691062795.372464318 0.217872 -0.289698 9.80186 -0.0671117 0.0245011 -0.302535 0.1 -0.38 pose: 0.7060531 3.83413 0.0280264 0 -0.000747581-0.0058191 0.115727 0.993264 uwb: 0.0 837.723 642.263 -imu_odom_: 1691062795.388468851 -0.371101 -0.191536 9.66779 -0.052198 0.0181095 -0.354733 0.1 -0.38 pose: 0.0 3.83413 0.0280264 0 -0.000747581-0.0058191 0.115727 0.993264 uwb: 0.0 837.723 642.263 -imu_odom_: 1691062795.404405721 -0.237026 -0.124498 9.95988 -0.04048 -0.0138484 -0.413323 0.1 -0.38 pose: 0.0 3.83413 0.0280264 0 -0.000747581-0.0058191 0.115727 0.993264 uwb: 0.150039431 839.104 641.15 -imu_odom_: 1691062795.420561328 0.25618 0.071826 9.69891 -0.0490022 -0.0308927 -0.444215 0.11 -0.47 pose: 0.49967938 3.83413 0.0280259 0 -0.00304797 -0.00213589 0.107819 0.994164 uwb: 0.0 839.104 641.15 -imu_odom_: 1691062795.437557467 0.225055 -0.179565 9.72525 -0.0681769 -0.0383495 -0.445281 0.14 -0.55 pose: 0.0 3.83413 0.0280259 0 -0.00304797 -0.00213589 0.107819 0.994164 uwb: 0.0 839.104 641.15 -imu_odom_: 1691062795.454548357 0.445322 -0.0837971 10.3837 -0.0607201 -0.04048 -0.478304 0.14 -0.55 pose: 0.64144706 3.8483 0.0270992 0 -0.00115596 0.00308277 0.0939881 0.995568 uwb: 0.0 839.104 641.15 -imu_odom_: 1691062795.471618575 0.047884 -0.0933739 9.53132 -0.0639159 -0.0436758 -0.512392 0.12 -0.5 pose: 0.0 3.8483 0.0270992 0 -0.00115596 0.00308277 0.0939881 0.995568 uwb: 0.0 839.104 641.15 -imu_odom_: 1691062795.488640671 0.636858 -0.0023942 10.0868 -0.0660464 -0.00532632 -0.527306 0.12 -0.5 pose: 0.0 3.8483 0.0270992 0 -0.00115596 0.00308277 0.0939881 0.995568 uwb: 0.0 839.104 641.15 -imu_odom_: 1691062795.506547047 -0.198719 -0.318429 9.70849 -0.0468716 -0.00745685 -0.548611 0.12 -0.5 pose: 0.33987904 3.8483 0.0270994 0 0.000606011 0.00309041 0.0852735 0.996353 uwb: 0.99936167 837.912 641.016 -imu_odom_: 1691062795.520580907 0.150835 -0.234632 9.99579 -0.0319579 -0.0234358 -0.568851 0.13 -0.55 pose: 0.44934659 3.85581 0.0336988 0 0.00121526 0.00416002 0.0724619 0.997362 uwb: 0.0 837.912 641.016 -imu_odom_: 1691062795.537532132 0.837971 -0.124498 10.0293 -0.0543285 -0.0436758 -0.52411 0.13 -0.55 pose: 0.5892185 3.85581 0.0336988 0 0.00107571 0.00466389 0.070672 0.997488 uwb: 0.0 837.912 641.016 -imu_odom_: 1691062795.554641723 1.07021 -0.203507 9.61511 -0.076699 -0.0394148 -0.401605 0.13 -0.55 pose: 0.0 3.85581 0.0336988 0 0.00107571 0.00466389 0.070672 0.997488 uwb: 0.50040267 839.412 639.312 -imu_odom_: 1691062795.571734398 1.35033 -0.641646 10.1299 -0.0553937 -0.00745685 -0.336624 0.1 -0.47 pose: 0.42202491 3.85965 0.0292316 0 0.00110335 0.00134771 0.0596701 0.998217 uwb: 0.0 839.412 639.312 -imu_odom_: 1691062795.587601856 1.35751 -0.342371 9.79228 -0.0628506 -0.0255663 -0.291882 0.1 -0.41 pose: 0.0 3.85965 0.0292316 0 0.00110335 0.00134771 0.0596701 0.998217 uwb: 0.0 839.412 639.312 -imu_odom_: 1691062795.605635391 1.48441 -0.0622492 10.0963 -0.0532632 0 -0.241815 0.1 -0.41 pose: 0.0 3.85965 0.0292316 0 0.00110335 0.00134771 0.0596701 0.998217 uwb: 0.50244421 837.467 640.03 -imu_odom_: 1691062795.621426728 1.37427 -0.304064 9.68933 -0.0394148 0.0308927 -0.237554 0.07 -0.32 pose: 0.25097858 3.8699 0.0327203 0 0.000381741 -0.00115157 0.055137 0.998478 uwb: 0.0 837.467 640.03 -imu_odom_: 1691062795.637400929 0.490811 -0.179565 9.65342 -0.036219 0.0394148 -0.255663 0.07 -0.32 pose: 0.0 3.8699 0.0327203 0 0.000381741 -0.00115157 0.055137 0.998478 uwb: 0.0 837.467 640.03 -imu_odom_: 1691062795.653396712 0.454898 -0.124498 10.0485 -0.0490022 -0.00958738 -0.252468 0.07 -0.32 pose: 0.32875554 3.8699 0.0327202 0 0.000675317 -0.00431992 0.0503369 0.998723 uwb: 0.49827947 837.007 639.85 -imu_odom_: 1691062795.669451700 0.526724 -0.213084 9.91678 -0.0639159 -0.00532632 -0.238619 0.06 -0.26 pose: 0.40781577 3.86984 0.03271 0 0.00367971 -0.00318562 0.0444154 0.999001 uwb: 0.0 837.007 639.85 -imu_odom_: 1691062795.686379302 0.586579 -0.318429 9.97424 -0.0639159 -0.00958738 -0.209857 0.06 -0.26 pose: 0.8013349 3.8699 0.0327204 0 0.00306373 -0.00373564 0.0433056 0.99905 uwb: 0.0 837.007 639.85 -imu_odom_: 1691062795.703478976 0.739808 -0.366313 9.90002 -0.052198 -0.00852212 -0.194943 0.06 -0.26 pose: 0.0 3.8699 0.0327204 0 0.00306373 -0.00373564 0.0433056 0.99905 uwb: 0.49849528 837.786 639.061 -imu_odom_: 1691062795.719426929 0.732626 -0.280122 9.78031 -0.0511327 -0.00532632 -0.16192 0.05 -0.17 pose: 0.42068915 3.8699 0.0327204 0 0.000100137 -0.0067783 0.0380929 0.999251 uwb: 0.0 837.786 639.061 -imu_odom_: 1691062795.736395070 0.577003 -0.227449 9.88087 -0.0596548 0.0138484 -0.145941 0.04 -0.14 pose: 0.0 3.8699 0.0327204 0 0.000100137 -0.0067783 0.0380929 0.999251 uwb: 0.0 837.786 639.061 -imu_odom_: 1691062795.762443121 0.577003 -0.318429 9.88087 -0.0596548 -0.0127832 -0.128897 0.04 -0.14 pose: 0.22981361 3.8699 0.0327206 0 -0.000354307-0.00896231 0.0358381 0.999317 uwb: 0.49935565 835.902 639.086 -imu_odom_: 1691062795.779445676 0.45011 -0.222661 10.0221 -0.0628506 0.0149137 -0.131028 0.04 -0.17 pose: 0.0 3.8699 0.0327206 0 -0.000354307-0.00896231 0.0358381 0.999317 uwb: 0.0 835.902 639.086 -imu_odom_: 1691062795.796558183 -0.179565 -0.296881 9.76355 -0.0553937 0.0660464 -0.184291 0.04 -0.17 pose: 0.0 3.8699 0.0327206 0 -0.000354307-0.00896231 0.0358381 0.999317 uwb: 0.50085473 836.31 638.307 -imu_odom_: 1691062795.813375542 -1.37188 0.232238 9.81383 -0.0447411 0.0436758 -0.154463 0.1 -0.17 pose: 0.70097846 3.87741 0.0393271 0 -0.00263817 -0.00548722 0.0293876 0.99955 uwb: 0.0 836.31 638.307 -imu_odom_: 1691062795.830427678 -1.04387 -0.787692 10.0102 -0.0745685 -0.0575243 -0.0628506 0.1 -0.17 pose: 0.0 3.87741 0.0393271 0 -0.00263817 -0.00548722 0.0293876 0.99955 uwb: 0.0 836.31 638.307 -imu_odom_: 1691062795.846367756 -0.0550666 -0.411803 9.95988 -0.052198 -0.0798948 -0.0894822 0.1 -0.17 pose: 0.0 3.87741 0.0393271 0 -0.00263817 -0.00548722 0.0293876 0.99955 uwb: 0.0 836.31 638.307 -imu_odom_: 1691062795.862426244 0.725443 -0.0383072 10.1849 -0.0340885 -0.0745685 -0.056459 0.09 -0.11 pose: 0.6903333 3.87741 0.0393271 0 -0.00244452 -0.00465061 0.0287189 0.999574 uwb: 0.50033559 836.816 637.743 -imu_odom_: 1691062795.878420860 0.687136 -0.0167594 9.85214 -0.0692422 0.0181095 -0.0298274 0.09 -0.11 pose: 0.0 3.87741 0.0393271 0 -0.00244452 -0.00465061 0.0287189 0.999574 uwb: 0.0 836.816 637.743 -imu_odom_: 1691062795.895404459 -0.0311246 -0.275333 10.1275 -0.0415453 0.0276969 -0.0745685 0.09 -0.11 pose: 0.0 3.87741 0.0393271 0 -0.00244452 -0.00465061 0.0287189 0.999574 uwb: 0.0 836.816 637.743 -imu_odom_: 1691062795.911714348 -0.160412 -0.28491 9.68455 -0.0543285 -0.0372843 -0.0873517 0.11 -0.11 pose: 0.49972313 3.88398 0.0317924 0 -0.0027957 -0.00217658 0.02553 0.999668 uwb: 0.49954813 836.048 637.729 -imu_odom_: 1691062795.929653388 0.0526724 -0.158017 9.5792 -0.0649811 -0.0383495 -0.0575243 0.15 -0.11 pose: 0.0 3.88398 0.0317924 0 -0.0027957 -0.00217658 0.02553 0.999668 uwb: 0.0 836.048 637.729 -imu_odom_: 1691062795.946536368 0.361524 -0.129287 9.76834 -0.0575243 -0.0245011 -0.0585895 0.15 -0.11 pose: 0.66237871 3.89151 0.0383699 0 -0.00110166 -9.73514e-050.0221507 0.999754 uwb: 0.0 836.048 637.729 -imu_odom_: 1691062795.960446860 0.23942 -0.265756 9.79228 -0.0798948 -0.00532632 -0.0298274 0.12 -0.08 pose: 0.0 3.89151 0.0383699 0 -0.00110166 -9.73514e-050.0221507 0.999754 uwb: 0.49876944 836.736 636.722 -imu_odom_: 1691062795.977439791 0.208296 -0.457293 9.8282 -0.056459 0.00639159 -0.0585895 0.12 -0.08 pose: 0.0 3.89151 0.0383699 0 -0.00110166 -9.73514e-050.0221507 0.999754 uwb: 0.0 836.736 636.722 -imu_odom_: 1691062795.993376078 -0.0023942 -0.306458 9.96467 -0.0735032 -0.00319579 -0.0532632 0.12 -0.08 pose: 0.32932134 3.89151 0.0383701 0 0.00032319 0.00155314 0.0206295 0.999786 uwb: 0.0 836.736 636.722 -imu_odom_: 1691062796.10435797 0.0646434 -0.258574 9.91678 -0.072438 -0.00106526 -0.0298274 0.13 -0.05 pose: 0.40772244 3.89812 0.0308604 0 -0.00204362 0.00478924 0.0187816 0.99981 uwb: 0.50054558 836.236 636.457 -imu_odom_: 1691062796.27559971 0.469264 -0.395043 10.3789 -0.0660464 -0.0330232 -0.0340885 0.13 -0.05 pose: 0.7071031 3.89812 0.0308604 0 -0.00213502 0.00550525 0.0185378 0.999811 uwb: 0.0 836.236 636.457 -imu_odom_: 1691062796.44437410 0.634463 -0.270545 9.98861 -0.0553937 -0.0308927 -0.0415453 0.13 -0.05 pose: 0.0 3.89812 0.0308604 0 -0.00213502 0.00550525 0.0185378 0.999811 uwb: 0.0 836.236 636.457 -imu_odom_: 1691062796.62431281 1.08697 -0.0814029 10.0485 -0.0553937 -0.0671117 -0.0266316 0.12 -0.08 pose: 0.33996071 3.90565 0.0374319 0 -0.00326444 0.00405171 0.0172736 0.999837 uwb: 0.50050184 837.247 635.308 -imu_odom_: 1691062796.79505583 1.02232 -0.155623 9.61033 -0.0553937 0.0245011 0.0170442 0.1 -0.05 pose: 0.0 3.90565 0.0374319 0 -0.00326444 0.00405171 0.0172736 0.999837 uwb: 0.0 837.247 635.308 -imu_odom_: 1691062796.96504056 1.16119 -0.603339 10.3645 -0.0585895 -0.0117179 0.0436758 0.1 -0.05 pose: 0.35063798 3.90565 0.0374322 0 -0.00259556 2.29476e-05 0.016186 0.999866 uwb: 0.0 837.247 635.308 -imu_odom_: 1691062796.114432597 1.25456 -0.320823 9.97903 -0.052198 -0.0191748 -0.00213053 0.09 -0.08 pose: 0.0 3.90565 0.0374322 0 -0.00259556 2.29476e-05 0.016186 0.999866 uwb: 0.50103265 838.331 634.311 -imu_odom_: 1691062796.129428317 1.09894 0.1652 9.79947 -0.0223706 0.00106526 -0.0426106 0.09 -0.08 pose: 0.0 3.90565 0.0374322 0 -0.00259556 2.29476e-05 0.016186 0.999866 uwb: 0.0 838.331 634.311 -imu_odom_: 1691062796.146372543 0.794875 -0.0694318 9.50977 -0.0596548 -0.00213053 -0.036219 0.09 -0.08 pose: 0.34879476 3.91226 0.0299293 0 -0.00313357 -0.00328533 0.0159355 0.999863 uwb: 0.0 838.331 634.311 -imu_odom_: 1691062796.163349142 0.76375 -0.488417 10.0796 -0.056459 0.00106526 -0.0468716 0.08 -0.05 pose: 0.32048439 3.91977 0.0365375 0 -0.00163463 -0.00610327 0.0148312 0.99987 uwb: 0.49872570 838.198 634.01 -imu_odom_: 1691062796.180406820 0.754174 -0.488417 9.80426 -0.0628506 -0.0127832 -0.0660464 0.08 -0.05 pose: 0.0 3.91977 0.0365375 0 -0.00163463 -0.00610327 0.0148312 0.99987 uwb: 0.0 838.198 634.01 -imu_odom_: 1691062796.198407399 0.739808 -0.172383 9.88087 -0.0468716 -0.0127832 -0.0575243 0.06 -0.02 pose: 0.43971927 3.91977 0.0365375 0 -0.0036901 -0.00924128 0.0128294 0.999868 uwb: 0.49976980 837.903 633.344 -imu_odom_: 1691062796.212362806 0.617704 -0.160412 9.69891 -0.0596548 -0.00106526 -0.0255663 0.06 -0.02 pose: 0.0 3.91977 0.0365375 0 -0.0036901 -0.00924128 0.0128294 0.999868 uwb: 0.0 837.903 633.344 -imu_odom_: 1691062796.238367985 0.677559 -0.335188 9.82102 -0.0500674 0.0149137 -0.0500674 0.06 -0.02 pose: 0.0 3.91977 0.0365375 0 -0.0036901 -0.00924128 0.0128294 0.999868 uwb: 0.0 837.903 633.344 -imu_odom_: 1691062796.263513382 -0.823605 -0.191536 9.30626 -0.0585895 0.110787 0 0.05 0 pose: 0.8000517 3.91977 0.0365375 0 -0.00316702 -0.00991266 0.0124345 0.999869 uwb: 0.49983106 838.402 632.738 -imu_odom_: 1691062796.280418236 -1.39103 -0.407014 10.5153 -0.0479369 0.0127832 0.0181095 0.07 -0.02 pose: 0.0 3.91977 0.0365375 0 -0.00316702 -0.00991266 0.0124345 0.999869 uwb: 0.0 838.402 632.738 -imu_odom_: 1691062796.306398916 0.217872 0.0047884 9.96467 -0.0553937 -0.11931 0.0223706 0.07 -0.02 pose: 0.82069458 3.91977 0.0365375 0 -0.00316397 -0.00735028 0.00975922 0.99992 uwb: 0.50069433 839.8 631.562 -imu_odom_: 1691062796.323531840 0.574608 -0.342371 9.4547 -0.0532632 -0.0490022 0.0308927 0.08 0 pose: 0.0 3.91977 0.0365375 0 -0.00316397 -0.00735028 0.00975922 0.99992 uwb: 0.0 839.8 631.562 -imu_odom_: 1691062796.348390546 0.241814 -0.134075 9.93354 -0.0500674 -0.00106526 0.0127832 0.08 0 pose: 0.18060076 3.91977 0.0365375 0 -0.00265105 -0.00613782 0.00958651 0.999932 uwb: 0.49999729 839.869 630.84 -imu_odom_: 1691062796.375517116 -0.167594 -0.308852 10.1011 -0.0479369 -0.00319579 0.00745685 0.14 -0.02 pose: 0.42887867 3.93388 0.035602 0 -0.00251833 -0.00641303 0.00926035 0.999933 uwb: 0.0 839.869 630.84 -imu_odom_: 1691062796.391375241 -0.00957681-0.150835 10.0556 -0.0500674 -0.0298274 0.0191748 0.14 -0.02 pose: 0.0 3.93388 0.035602 0 -0.00251833 -0.00641303 0.00926035 0.999933 uwb: 0.0 839.869 630.84 -imu_odom_: 1691062796.408354173 0.184354 -0.433351 9.76834 -0.0436758 0 0.0191748 0.17 -0.05 pose: 0.23940887 3.93388 0.035602 0 -0.0018184 -0.00413595 0.00892253 0.99995 uwb: 0.50058059 838.11 631.197 -imu_odom_: 1691062796.425522094 0.0814029 -0.229843 10.0604 -0.0394148 -0.0127832 0.00532632 0.12 -0.02 pose: 0.0 3.93388 0.035602 0 -0.0018184 -0.00413595 0.00892253 0.99995 uwb: 0.0 838.11 631.197 -imu_odom_: 1691062796.451361617 0.409408 -0.19393 9.80186 -0.0585895 -0.0351537 0.0255663 0.13 0.02 pose: 0.70156469 3.94142 0.0421707 0 -0.0022171 0.00221454 0.00798491 0.999963 uwb: 0.49990688 838.186 630.495 -imu_odom_: 1691062796.477423959 0.253785 -0.208296 10.082 -0.0607201 -0.0340885 0.0447411 0.13 0 pose: 0.0 3.94142 0.0421707 0 -0.0022171 0.00221454 0.00798491 0.999963 uwb: 0.0 838.186 630.495 -imu_odom_: 1691062796.502404575 -0.071826 -0.351948 9.44273 -0.0639159 -0.00319579 0.0149137 0.13 0 pose: 0.32864182 3.94798 0.034625 0 -0.0001781970.000833138 0.00782421 0.999969 uwb: 0.49985147 839.089 629.922 -imu_odom_: 1691062796.519475668 -0.158017 -0.181959 9.72525 -0.0532632 -0.02024 0.0191748 0.14 0 pose: 0.44018299 3.95349 0.0394097 0 -0.0009849390.0048403 0.00756426 0.999959 uwb: 0.0 839.089 629.922 -imu_odom_: 1691062796.536460434 0.232238 -0.19393 10.1945 -0.0415453 -0.0575243 0.02024 0.14 0 pose: 0.7016201 3.95553 0.0411849 0 -0.0009068670.00548225 0.0074937 0.999956 uwb: 0.0 839.089 629.922 -imu_odom_: 1691062796.553363829 0.600945 -0.306458 9.26795 -0.0468716 -0.0468716 0.0181095 0.14 0 pose: 0.0 3.95553 0.0411849 0 -0.0009068670.00548225 0.0074937 0.999956 uwb: 0.49990980 837.779 630.443 -imu_odom_: 1691062796.578409191 0.497994 -0.146046 9.85453 -0.0340885 -0.0596548 0.0234358 0.18 -0.05 pose: 0.33932783 3.96209 0.0336338 0 0.000255055 0.00644225 0.00716055 0.999954 uwb: 0.0 837.779 630.443 -imu_odom_: 1691062796.595452870 1.12049 -0.112527 10.2615 -0.0468716 -0.0617853 0.0436758 0.18 -0.05 pose: 0.0 3.96209 0.0336338 0 0.000255055 0.00644225 0.00716055 0.999954 uwb: 0.0 837.779 630.443 -imu_odom_: 1691062796.611517774 0.802058 -0.435745 9.5385 -0.0585895 0.015979 0.0340885 0.17 -0.02 pose: 0.52099311 3.9663 0.0372911 0 0.00137636 2.66199e-05 0.00688842 0.999975 uwb: 0.49879861 839.417 628.908 -imu_odom_: 1691062796.629451857 0.25618 -0.0383072 10.6614 -0.0383495 -0.00852212 0.0149137 0.17 -0.02 pose: 0.0 3.9663 0.0372911 0 0.00137636 2.66199e-05 0.00688842 0.999975 uwb: 0.0 839.417 628.908 -imu_odom_: 1691062796.646328129 0.531513 -0.126893 10.1155 -0.0649811 0.00852212 0.0468716 0.15 0 pose: 0.0 3.9663 0.0372911 0 0.00137636 2.66199e-05 0.00688842 0.999975 uwb: 0.0 839.417 628.908 -imu_odom_: 1691062796.669620389 0.603339 -0.251391 10.137 -0.056459 -0.0394148 0.0298274 0.15 0 pose: 0.40958900 3.97619 0.0326227 0 0.00212319 -0.0005233530.00664995 0.999975 uwb: 0.50095682 838.685 628.995 -imu_odom_: 1691062796.694344645 -0.0622492 -0.143652 10.2448 -0.0607201 0.00106526 0.0500674 0.18 0 pose: 0.33208619 3.9814 0.0371334 0 0.00140464 -0.00388878 0.00657989 0.99997 uwb: 0.0 838.685 628.995 -imu_odom_: 1691062796.721385761 0.550666 -0.380678 9.72525 -0.0607201 -0.0479369 0.0223706 0.21 -0.02 pose: 0.0 3.9814 0.0371334 0 0.00140464 -0.00388878 0.00657989 0.99997 uwb: 0.49848947 839.443 628.077 -imu_odom_: 1691062796.737448041 0.0933739 -0.201113 9.84256 -0.0532632 0.0340885 0.0276969 0.18 0 pose: 0.31735791 3.98375 0.0391655 0 0.000905723 -0.0018839 0.00664603 0.999976 uwb: 0.0 839.443 628.077 -imu_odom_: 1691062796.754391392 0.141258 -0.237026 10.2232 -0.0649811 -0.0255663 0.0436758 0.18 0 pose: 0.0 3.98375 0.0391655 0 0.000905723 -0.0018839 0.00664603 0.999976 uwb: 0.50038227 840.521 627 -imu_odom_: 1691062796.770376677 0.488417 -0.366313 9.86411 -0.072438 -0.0394148 0.0223706 0.16 0 pose: 0.0 3.98375 0.0391655 0 0.000905723 -0.0018839 0.00664603 0.999976 uwb: 0.0 840.521 627 -imu_odom_: 1691062796.787311570 0.167594 -0.201113 9.78031 -0.0351537 0.0490022 0.02024 0.16 0 pose: 0.61032521 3.99786 0.0381453 0 -0.00158272 -0.0005409960.00634906 0.999978 uwb: 0.0 840.521 627 -imu_odom_: 1691062796.804367498 0.217872 -0.196325 9.81862 -0.0649811 -0.00639159 0.0617853 0.16 0 pose: 0.0 3.99786 0.0381453 0 -0.00158272 -0.0005409960.00634906 0.999978 uwb: 0.49976397 839.405 627.095 -imu_odom_: 1691062796.821364221 0.198719 -0.179565 9.68933 -0.0585895 -0.015979 0.0383495 0.24 0 pose: 0.41978797 3.99786 0.0381453 0 -0.0013603 0.00260268 0.00631174 0.999976 uwb: 0.0 839.405 627.095 -imu_odom_: 1691062796.837362921 0.287304 -0.253785 9.21528 -0.0500674 -0.0276969 0.0255663 0.24 0 pose: 0.0 3.99786 0.0381453 0 -0.0013603 0.00260268 0.00631174 0.999976 uwb: 0.0 839.405 627.095 -imu_odom_: 1691062796.854387351 0.131681 -0.294487 10.2017 -0.0617853 -0.00639159 0.0383495 0.24 0 pose: 0.25003656 4.01197 0.0372577 0 -0.00117813 0.00467546 0.00624786 0.999969 uwb: 0.50215841 838.837 626.674 -imu_odom_: 1691062796.871320203 0.687136 -0.42138 9.96467 -0.0649811 -0.0117179 0.0213053 0.17 0 pose: 0.0 4.01197 0.0372577 0 -0.00117813 0.00467546 0.00624786 0.999969 uwb: 0.0 838.837 626.674 -imu_odom_: 1691062796.886317380 -0.0430956 -0.23942 9.62469 -0.0415453 0.0436758 0.0223706 0.17 -0.02 pose: 0.0 4.01197 0.0372577 0 -0.00117813 0.00467546 0.00624786 0.999969 uwb: 0.0 838.837 626.674 -imu_odom_: 1691062796.911309954 0.648829 -0.47884 10.1059 -0.0596548 0.00426106 0.0436758 0.17 -0.02 pose: 0.33017589 4.01197 0.0372577 0 -0.00245641 0.00609606 0.00610403 0.99996 uwb: 0.49994188 839.798 625.314 -imu_odom_: 1691062796.936307193 0.577003 -0.035913 10.3046 -0.0372843 -0.0106526 0.0276969 0.23 -0.02 pose: 0.30956504 4.01197 0.0372577 0 -0.00295913 0.00649633 0.00590342 0.999957 uwb: 0.0 839.798 625.314 -imu_odom_: 1691062796.959347468 0.531513 -0.203507 10.3908 -0.0617853 -0.0127832 0.04048 0.23 -0.02 pose: 0.42961946 4.02609 0.0363586 0 -0.0019145 0.00308974 0.00578237 0.999977 uwb: 0.49886861 840.232 624.516 -imu_odom_: 1691062796.984465451 0.325611 -0.0790087 9.84496 -0.0266316 -0.0319579 0.0106526 0.19 0 pose: 0.0 4.02609 0.0363586 0 -0.0019145 0.00308974 0.00578237 0.999977 uwb: 0.0 840.232 624.516 -imu_odom_: 1691062797.1478506 0.732626 -0.277727 9.72525 -0.092678 -0.00106526 0.0500674 0.19 0 pose: 0.6042094 4.02609 0.0363586 0 -0.00177789 0.00247991 0.00578457 0.999979 uwb: 0.49877237 840.704 623.804 -imu_odom_: 1691062797.26479246 0.47884 -0.493206 9.61033 -0.0490022 0.0127832 0.0149137 0.22 -0.02 pose: 0.0 4.02609 0.0363586 0 -0.00177789 0.00247991 0.00578457 0.999979 uwb: 0.0 840.704 623.804 -imu_odom_: 1691062797.50398260 0.684742 -0.318429 10.0604 -0.0756338 -0.00639159 0.0511327 0.22 0 pose: 0.49124198 4.03359 0.0429626 0 0.00101522 0.00066273 0.00546833 0.999984 uwb: 0.49997980 840.128 623.359 -imu_odom_: 1691062797.65469808 0.136469 -0.399832 9.43076 -0.0468716 0.0127832 0.0351537 0.22 0 pose: 0.0 4.03359 0.0429626 0 0.00101522 0.00066273 0.00546833 0.999984 uwb: 0.0 840.128 623.359 -imu_odom_: 1691062797.90427676 0.124498 -0.0622492 9.82102 -0.0639159 0.02024 0.0543285 0.22 0 pose: 0.42093125 4.0402 0.0354505 0 -0.00200076 -0.00137842 0.00525469 0.999983 uwb: 0.0 840.128 623.359 -imu_odom_: 1691062797.107464064 0.131681 -0.416591 9.93354 -0.0628506 -0.00639159 0.0596548 0.17 0.02 pose: 0.0 4.0402 0.0354505 0 -0.00200076 -0.00137842 0.00525469 0.999983 uwb: 0.50092184 839.111 622.795 -imu_odom_: 1691062797.133325753 0.25618 -0.162806 10.0556 -0.0426106 0.0340885 0.0383495 0.17 0.02 pose: 0.38864570 4.04771 0.0420484 0 -0.00275085 -0.0008578460.00537333 0.999981 uwb: 0.0 839.111 622.795 -imu_odom_: 1691062797.157427922 0.490811 -0.361524 10.003 -0.04048 0.0223706 0.0372843 0.19 -0.02 pose: 0.0 4.04771 0.0420484 0 -0.00275085 -0.0008578460.00537333 0.999981 uwb: 0.49870530 837.826 622.526 -imu_odom_: 1691062797.172402351 0.129287 -0.0766145 9.49301 -0.0245011 -0.00213053 0.0298274 0.19 -0.02 pose: 0.0 4.04771 0.0420484 0 -0.00275085 -0.0008578460.00537333 0.999981 uwb: 0.0 837.826 622.526 -imu_odom_: 1691062797.197293723 0.497994 -0.414197 9.45231 -0.0639159 -0.0138484 0.0500674 0.17 0.02 pose: 0.8022391 4.05431 0.0345353 0 -0.00218607 0.00296043 0.00567854 0.999977 uwb: 0.50212343 838.585 621.562 -imu_odom_: 1691062797.222438830 0.806846 -0.205901 10.07 -0.0490022 -0.0596548 0.052198 0.17 0 pose: 0.81807268 4.07373 0.0382919 0 -0.00278832 0.00227573 0.00568948 0.999977 uwb: 0.0 838.585 621.562 -imu_odom_: 1691062797.236448484 0.847547 -0.277727 10.0628 -0.0745685 -0.0319579 0.0671117 0.22 0 pose: 0.0 4.07373 0.0382919 0 -0.00278832 0.00227573 0.00568948 0.999977 uwb: 0.0 838.585 621.562 -imu_odom_: 1691062797.261546635 0.744597 -0.141258 9.75398 -0.0479369 0.0213053 0.0266316 0.22 0 pose: 0.7036034 4.07593 0.0402323 0 -0.00266146 0.00138428 0.00573266 0.999979 uwb: 0.49855656 837.517 620.894 -imu_odom_: 1691062797.278354370 0.0502782 -0.268151 9.8689 -0.072438 0.00745685 0.0692422 0.17 0 pose: 0.0 4.07593 0.0402323 0 -0.00266146 0.00138428 0.00573266 0.999979 uwb: 0.0 837.517 620.894 -imu_odom_: 1691062797.303288031 0.31364 -0.148441 9.97903 -0.0543285 0.0149137 0.0383495 0.17 0 pose: 0.39062016 4.07593 0.0402323 0 -0.00221817 -0.00305739 0.0059863 0.999975 uwb: 0.50016647 836.226 620.63 -imu_odom_: 1691062797.320396456 0.799663 -0.172383 10.0987 -0.0617853 -0.00106526 0.0500674 0.18 0.02 pose: 0.0 4.07593 0.0402323 0 -0.00221817 -0.00305739 0.0059863 0.999975 uwb: 0.0 836.226 620.63 -imu_odom_: 1691062797.336279372 0.416591 -0.191536 9.89045 -0.0809601 -0.0245011 0.0628506 0.18 0.02 pose: 0.0 4.07593 0.0402323 0 -0.00221817 -0.00305739 0.0059863 0.999975 uwb: 0.0 836.226 620.63 -imu_odom_: 1691062797.363326031 0.622492 -0.0670376 10.4387 -0.0585895 0.0149137 0.0532632 0.24 0 pose: 0.42917325 4.09005 0.0393363 0 -0.00123695 -0.00199019 0.00610862 0.999979 uwb: 0.50034145 838.64 618.933 -imu_odom_: 1691062797.379291775 -0.035913 -0.37589 9.00699 -0.0916127 0.0340885 0.0607201 0.24 0 pose: 0.0 4.09005 0.0393363 0 -0.00123695 -0.00199019 0.00610862 0.999979 uwb: 0.0 838.64 618.933 -imu_odom_: 1691062797.406312477 -0.0885855 -0.296881 10.6111 -0.0479369 -0.0308927 0.0245011 0.25 0.02 pose: 0.57017682 4.10416 0.0384465 0 0.00114887 -0.00159959 0.00641732 0.999977 uwb: 0.49831449 841.258 616.766 -imu_odom_: 1691062797.422299803 0.215478 -0.225055 9.69412 -0.0745685 0.0308927 0.0511327 0.18 0 pose: 0.0 4.10416 0.0384465 0 0.00114887 -0.00159959 0.00641732 0.999977 uwb: 0.0 841.258 616.766 -imu_odom_: 1691062797.439352815 0.706289 -0.612916 9.2895 -0.0490022 -0.0213053 0.0426106 0.25 0.02 pose: 0.78973023 4.11827 0.0375682 0 0.00044241 0.00285468 0.00660564 0.999974 uwb: 0.0 841.258 616.766 -imu_odom_: 1691062797.456272835 0.371101 -0.0694318 10.5441 -0.0415453 -0.0681769 0.0383495 0.25 0.02 pose: 0.0 4.11827 0.0375682 0 0.00044241 0.00285468 0.00660564 0.999974 uwb: 0.50121640 840.309 616.371 -imu_odom_: 1691062797.480291301 0.146046 -0.198719 9.4978 -0.056459 0.00319579 0.0500674 0.18 0 pose: 0.33973032 4.11827 0.0375682 0 0.00103199 0.00103826 0.00662061 0.999977 uwb: 0.0 840.309 616.371 -imu_odom_: 1691062797.505346580 0.162806 -0.227449 9.63906 -0.0479369 -0.00426106 0.0532632 0.18 0 pose: 0.7015326 4.11827 0.0375682 0 0.00101279 0.00176562 0.00665668 0.999976 uwb: 0.50167429 839.911 615.416 -imu_odom_: 1691062797.522562915 0.220267 -0.208296 10.0652 -0.0447411 0.00213053 0.056459 0.22 -0.02 pose: 0.42058419 4.1304 0.0389074 0 0.000592148 0.00599224 0.00691105 0.999958 uwb: 0.0 839.911 615.416 -imu_odom_: 1691062797.547297672 0.328006 0.035913 9.93354 -0.0372843 -0.00958738 0.0511327 0.22 -0.02 pose: 0.0 4.1304 0.0389074 0 0.000592148 0.00599224 0.00691105 0.999958 uwb: 0.49736955 840.497 613.976 -imu_odom_: 1691062797.564413388 0.471658 -0.339977 9.46907 -0.0532632 -0.0287621 0.0511327 0.23 0 pose: 0.7136360 4.13238 0.0366858 0 0.000555227 0.00672481 0.00697015 0.999953 uwb: 0.0 840.497 613.976 -imu_odom_: 1691062797.581407487 0.483629 -0.071826 10.2185 -0.04048 0.0351537 0.0383495 0.23 0 pose: 0.0 4.13238 0.0366858 0 0.000555227 0.00672481 0.00697015 0.999953 uwb: 0.0 840.497 613.976 -imu_odom_: 1691062797.598285509 0.299275 -0.349553 9.8258 -0.04048 0.00639159 0.0383495 0.23 0 pose: 0.0 4.13238 0.0366858 0 0.000555227 0.00672481 0.00697015 0.999953 uwb: 0.50144681 840.431 612.859 -imu_odom_: 1691062797.614340790 0.275333 -0.0742203 9.97664 -0.056459 -0.0372843 0.0479369 0.26 0 pose: 0.41944676 4.13989 0.0432883 0 0.00261431 0.00633921 0.00725258 0.99995 uwb: 0.0 840.431 612.859 -imu_odom_: 1691062797.632282748 0.682347 -0.308852 9.62469 -0.0671117 0.0149137 0.0479369 0.26 0 pose: 0.0 4.13989 0.0432883 0 0.00261431 0.00633921 0.00725258 0.99995 uwb: 0.0 840.431 612.859 -imu_odom_: 1691062797.648306239 0.339977 -0.459687 10.0892 -0.0660464 -0.04048 0.0585895 0.18 0.02 pose: 0.77855132 4.15086 0.0395619 0 0.00208611 0.00333205 0.00743655 0.999965 uwb: 0.49775452 841.045 611.463 -imu_odom_: 1691062797.672421824 0.481235 -0.186748 10.2615 -0.0436758 -0.0191748 0.0223706 0.18 0.02 pose: 0.0 4.15086 0.0395619 0 0.00208611 0.00333205 0.00743655 0.999965 uwb: 0.0 841.045 611.463 -imu_odom_: 1691062797.689291972 0.457293 -0.248997 9.83777 -0.0468716 -0.0223706 0.0372843 0.18 0 pose: 0.7078906 4.154 0.0422883 0 0.00134059 0.00319074 0.00750136 0.999966 uwb: 0.0 841.045 611.463 -imu_odom_: 1691062797.714415205 0.600945 -0.289698 10.2185 -0.0223706 0.0372843 0.0298274 0.26 0 pose: 0.0 4.154 0.0422883 0 0.00134059 0.00319074 0.00750136 0.999966 uwb: 0.50138847 840.644 610.484 -imu_odom_: 1691062797.740320932 0.153229 -0.234632 10.0317 -0.0532632 0.0372843 0.0660464 0.17 0 pose: 0.75053551 4.16811 0.0412912 0 -0.000630525-0.00282555 0.00723697 0.99997 uwb: 0.0 840.644 610.484 -imu_odom_: 1691062797.757423816 0.227449 -0.191536 9.97903 -0.0468716 -0.0255663 0.0436758 0.17 0 pose: 0.0 4.16811 0.0412912 0 -0.000630525-0.00282555 0.00723697 0.99997 uwb: 0.50328128 839.392 610.337 -imu_odom_: 1691062797.782420474 0.201113 -0.107739 9.97424 -0.0575243 -0.0415453 0.0649811 0.21 0 pose: 0.32901222 4.17466 0.0337382 0 -0.00051414 0.000913798 0.00759626 0.999971 uwb: 0.0 839.392 610.337 -imu_odom_: 1691062797.807276264 0.356736 -0.114922 9.663 -0.0426106 -0.0170442 0.0340885 0.21 0.02 pose: 0.0 4.17466 0.0337382 0 -0.00051414 0.000913798 0.00759626 0.999971 uwb: 0.49654127 839.302 609.154 -imu_odom_: 1691062797.830452740 0.174777 -0.263362 9.69412 -0.0798948 -0.0223706 0.0745685 0.21 0.02 pose: 0.41991047 4.18221 0.0402959 0 0.00180707 0.00321889 0.00792171 0.999962 uwb: 0.0 839.302 609.154 -imu_odom_: 1691062797.855333904 0.191536 -0.25618 9.71088 -0.0543285 0.0308927 0.0276969 0.19 0 pose: 0.41145266 4.19188 0.0396226 0 0.00208165 0.0044006 0.00827307 0.999954 uwb: 0.0 839.302 609.154 -imu_odom_: 1691062797.872263840 -0.00718261-0.114922 10.1849 -0.0649811 -0.0117179 0.0490022 0.19 0 pose: 0.0 4.19188 0.0396226 0 0.00208165 0.0044006 0.00827307 0.999954 uwb: 0.0 839.302 609.154 -imu_odom_: 1691062797.897324660 0.665588 -0.0454898 10.0892 -0.0490022 0.00852212 0.0308927 0.18 0 pose: 0.41811100 4.19632 0.0393609 0 0.00113256 0.00847758 0.00819802 0.99993 uwb: 0.100110871 838.972 608.349 -imu_odom_: 1691062797.923405085 0.529119 -0.565032 9.53371 -0.0916127 -0.00426106 0.0607201 0.18 0 pose: 0.0 4.19632 0.0393609 0 0.00113256 0.00847758 0.00819802 0.99993 uwb: 0.0 838.972 608.349 -imu_odom_: 1691062797.948262042 0.191536 -0.37589 9.30387 -0.0511327 -0.00426106 0.036219 0.2 -0.02 pose: 0.51141245 4.20849 0.0407255 0 -0.0006407670.00486183 0.00836617 0.999953 uwb: 0.49720623 839.001 607.448 -imu_odom_: 1691062797.975414278 0.488417 -0.227449 10.319 -0.0553937 -0.0213053 0.0319579 0.2 -0.02 pose: 0.0 4.20849 0.0407255 0 -0.0006407670.00486183 0.00836617 0.999953 uwb: 0.0 839.001 607.448 -imu_odom_: 1691062797.991270945 0.474052 -0.201113 9.67497 -0.0394148 0.04048 0.0287621 0.17 0 pose: 0.31992735 4.21044 0.038527 0 -0.00240227 0.00565094 0.00828763 0.999947 uwb: 0.0 839.001 607.448 -imu_odom_: 1691062798.18378559 0.502782 -0.299275 9.44513 -0.0777643 0.0383495 0.0447411 0.17 0 pose: 0.0 4.21044 0.038527 0 -0.00240227 0.00565094 0.00828763 0.999947 uwb: 0.50338627 838.599 606.469 -imu_odom_: 1691062798.34382510 0.356736 -0.385466 10.1801 -0.0447411 0.0553937 0.0266316 0.19 0 pose: 0.43029027 4.22456 0.0376936 0 -0.00169882 0.00187261 0.00813818 0.999964 uwb: 0.0 838.599 606.469 -imu_odom_: 1691062798.52256514 0.383072 -0.308852 10.1083 -0.0394148 -0.036219 0.0458064 0.19 0 pose: 0.0 4.22456 0.0376936 0 -0.00169882 0.00187261 0.00813818 0.999964 uwb: 0.49825326 838.198 605.49 -imu_odom_: 1691062798.69326734 -0.134075 -0.629675 9.87848 0.00958738 -0.0266316 0.00639159 0.19 0 pose: 0.0 4.22456 0.0376936 0 -0.00169882 0.00187261 0.00813818 0.999964 uwb: 0.0 838.198 605.49 -imu_odom_: 1691062798.86350581 0.371101 0.272939 10.1754 -0.0553937 -0.0830906 0.0458064 0.18 -0.02 pose: 0.60905073 4.23203 0.0443343 0 -0.00556632 0.000603811 0.00801749 0.999952 uwb: 0.0 838.198 605.49 -imu_odom_: 1691062798.103311141 0.289698 -0.177171 9.23683 -0.131028 -0.052198 0.100135 0.18 -0.02 pose: 0.0 4.23203 0.0443343 0 -0.00556632 0.000603811 0.00801749 0.999952 uwb: 0.0 838.198 605.49 -imu_odom_: 1691062798.119307801 0.893037 -0.366313 10.4842 -0.0681769 -0.0372843 0.0394148 0.18 0 pose: 0.43979221 4.24283 0.0405514 0 -0.00342331 0.00144522 0.00843734 0.999958 uwb: 0.0 838.198 605.49 -imu_odom_: 1691062798.137375169 0.849942 -0.272939 9.91199 -0.0671117 -0.00213053 -0.00319579 0.18 0 pose: 0.0 4.24283 0.0405514 0 -0.00342331 0.00144522 0.00843734 0.999958 uwb: 0.0 838.198 605.49 -imu_odom_: 1691062798.153305040 0.497994 -0.19393 9.67257 -0.0692422 -0.00852212 0.0138484 0.18 0 pose: 0.0 4.24283 0.0405514 0 -0.00342331 0.00144522 0.00843734 0.999958 uwb: 0.100403981 838.832 604.088 -imu_odom_: 1691062798.177307467 -0.0526724 -0.368707 10.0844 -0.0394148 0.0276969 0.0394148 0.19 0 pose: 0.24072131 4.24615 0.043499 0 -0.00376841 -0.00120281 0.0082555 0.999958 uwb: 0.0 838.832 604.088 -imu_odom_: 1691062798.193257171 0.304064 -0.337582 10.1035 -0.0553937 -0.0138484 0.0511327 0.18 -0.02 pose: 0.0 4.24615 0.043499 0 -0.00376841 -0.00120281 0.0082555 0.999958 uwb: 0.0 838.832 604.088 -imu_odom_: 1691062798.220292164 0.667982 -0.203507 10.1227 -0.0468716 -0.0319579 0.0479369 0.18 -0.02 pose: 0.65873899 4.26027 0.0426578 0 -0.00367869 0.000982313 0.00792821 0.999961 uwb: 0.49599298 840.185 602.45 -imu_odom_: 1691062798.245396441 0.612916 -0.28491 10.173 -0.0543285 -0.00319579 0.0447411 0.23 0 pose: 0.8001392 4.26027 0.0426578 0 -0.00340986 0.000105611 0.00795943 0.999963 uwb: 0.0 840.185 602.45 -imu_odom_: 1691062798.262466369 0.237026 -0.21069 9.48104 -0.0191748 0.036219 0.0287621 0.23 0 pose: 0.0 4.26027 0.0426578 0 -0.00340986 0.000105611 0.00795943 0.999963 uwb: 0.49991858 839.869 601.665 -imu_odom_: 1691062798.287261789 0.438139 -0.306458 9.58878 -0.0575243 -0.0181095 0.0511327 0.22 0 pose: 0.44137878 4.27025 0.0420634 0 -0.00294708 -0.00447382 0.0080918 0.999953 uwb: 0.0 839.869 601.665 -imu_odom_: 1691062798.311296880 0.766145 -0.21069 10.2089 -0.0415453 -0.0553937 0.0553937 0.22 0 pose: 0.41865348 4.27439 0.0418185 0 -0.00470245 -0.00209332 0.00815373 0.999954 uwb: 0.50069145 839.466 600.662 -imu_odom_: 1691062798.326296391 0.876278 -0.148441 9.991 -0.0692422 -0.0426106 0.0703074 0.23 0 pose: 0.0 4.27439 0.0418185 0 -0.00470245 -0.00209332 0.00815373 0.999954 uwb: 0.0 839.466 600.662 -imu_odom_: 1691062798.351283425 0.581791 -0.227449 9.7037 -0.0436758 0.0287621 0.0351537 0.23 0 pose: 0.39034602 4.28189 0.0413752 0 -0.00336283 -0.00668608 0.00855754 0.999935 uwb: 0.49898822 839.848 599.597 -imu_odom_: 1691062798.368511718 0.011971 -0.311246 10.0868 -0.0692422 0.0106526 0.0628506 0.18 0 pose: 0.0 4.28189 0.0413752 0 -0.00336283 -0.00668608 0.00855754 0.999935 uwb: 0.0 839.848 599.597 -imu_odom_: 1691062798.384512461 0.517148 -0.217872 10.2304 -0.052198 -0.02024 0.0447411 0.18 0 pose: 0.0 4.28189 0.0413752 0 -0.00336283 -0.00668608 0.00855754 0.999935 uwb: 0.0 839.848 599.597 -imu_odom_: 1691062798.411397255 0.203507 -0.227449 10.252 -0.0649811 0.0511327 0.0543285 0.25 0.02 pose: 0.50007899 4.2885 0.0409898 0 -0.00099784 -0.00598398 0.00870361 0.999944 uwb: 0.49858282 838.834 599.091 -imu_odom_: 1691062798.436278420 0.172383 -0.260968 9.71328 -0.0468716 0.04048 0.0319579 0.25 0.02 pose: 0.35092965 4.3006 0.0423366 0 -0.000426482-0.00237213 0.00891909 0.999957 uwb: 0.0 838.834 599.091 -imu_odom_: 1691062798.453382762 0.395043 -0.0383072 9.73004 -0.0937433 -0.0511327 0.0575243 0.23 0 pose: 0.7910106 4.30261 0.0401571 0 -0.000508679-0.00141092 0.00888957 0.999959 uwb: 0.50170930 837.038 598.676 -imu_odom_: 1691062798.469433669 0.76375 -0.311246 9.82102 -0.0969391 0.0266316 0.0575243 0.18 0.02 pose: 0.0 4.30261 0.0401571 0 -0.000508679-0.00141092 0.00888957 0.999959 uwb: 0.0 837.038 598.676 -imu_odom_: 1691062798.487341796 0.347159 -0.35913 10.003 -0.0426106 0.0255663 0.0340885 0.25 -0.02 pose: 0.42135998 4.31014 0.0467341 0 0.000306101 -0.0004292990.00905416 0.999959 uwb: 0.0 837.038 598.676 -imu_odom_: 1691062798.511429676 -0.00957681-0.464475 9.58638 -0.0436758 0 0.0532632 0.25 -0.02 pose: 0.0 4.31014 0.0467341 0 0.000306101 -0.0004292990.00905416 0.999959 uwb: 0.50009065 835.649 598.277 -imu_odom_: 1691062798.537252575 0.148441 -0.1652 9.84017 -0.0234358 -0.0330232 0.0394148 0.23 -0.02 pose: 0.33830125 4.31672 0.0392036 0 -0.00189248 0.000745815 0.00913444 0.999956 uwb: 0.0 835.649 598.277 -imu_odom_: 1691062798.562258275 0.325611 -0.155623 9.55526 -0.052198 0.00213053 0.0458064 0.23 -0.02 pose: 0.0 4.31672 0.0392036 0 -0.00189248 0.000745815 0.00913444 0.999956 uwb: 0.50221094 836.357 596.999 -imu_odom_: 1691062798.586368903 0.490811 -0.186748 10.1155 -0.0543285 -0.0287621 0.0490022 0.21 0.02 pose: 0.50119600 4.32425 0.0457851 0 -0.0002553370.00419733 0.00928198 0.999948 uwb: 0.0 836.357 596.999 -imu_odom_: 1691062798.611376935 0.610521 -0.179565 10.2927 -0.0372843 -0.0490022 0.0468716 0.18 0 pose: 0.40975819 4.33083 0.0382576 0 0.00146894 0.00152233 0.00945798 0.999953 uwb: 0.49881323 836.065 596.28 -imu_odom_: 1691062798.628422073 0.11971 -0.222661 9.81144 -0.0287621 0.0213053 0.0458064 0.18 0 pose: 0.7026409 4.33083 0.0382576 0 0.00155504 0.000662866 0.00948434 0.999954 uwb: 0.0 836.065 596.28 -imu_odom_: 1691062798.644225369 0.129287 -0.428562 9.56005 -0.0607201 -0.00426106 0.0511327 0.18 0 pose: 0.0 4.33083 0.0382576 0 0.00155504 0.000662866 0.00948434 0.999954 uwb: 0.0 836.065 596.28 -imu_odom_: 1691062798.670286255 -0.215478 -0.339977 9.34457 -0.0266316 0.015979 0.0330232 0.18 0.02 pose: 0.40837285 4.33836 0.0448435 0 0.00134201 0.000794834 0.00963561 0.999952 uwb: 0.49747456 835.42 595.705 -imu_odom_: 1691062798.686267748 0.577003 0.059855 10.4986 -0.0468716 -0.0287621 0.0436758 0.18 0.02 pose: 0.0 4.33836 0.0448435 0 0.00134201 0.000794834 0.00963561 0.999952 uwb: 0.0 835.42 595.705 -imu_odom_: 1691062798.703290138 0.399832 -0.438139 9.16022 -0.0639159 -0.0191748 0.0415453 0.23 0 pose: 0.43048569 4.35247 0.0439092 0 0.000918558 0.00375068 0.00961989 0.999946 uwb: 0.49996232 833.794 595.76 -imu_odom_: 1691062798.728209800 0.411803 -0.488417 9.63427 -0.0788296 -0.0255663 0.0575243 0.18 0 pose: 0.0 4.35247 0.0439092 0 0.000918558 0.00375068 0.00961989 0.999946 uwb: 0.0 833.794 595.76 -imu_odom_: 1691062798.744191294 0.42138 -0.347159 9.71328 -0.072438 -0.02024 0.04048 0.23 0 pose: 0.34078026 4.35247 0.0439092 0 -0.00101984 0.00227266 0.00972404 0.99995 uwb: 0.0 833.794 595.76 -imu_odom_: 1691062798.761190351 0.299275 -0.146046 9.90721 -0.0191748 0.0149137 0.0223706 0.23 0 pose: 0.0 4.35247 0.0439092 0 -0.00101984 0.00227266 0.00972404 0.99995 uwb: 0.49998858 832.412 595.415 -imu_odom_: 1691062798.778198158 0.409408 -0.172383 9.90002 -0.0553937 -0.04048 0.0394148 0.24 0 pose: 0.49831159 4.36658 0.042977 0 -0.00255234 0.00173757 0.00973201 0.999948 uwb: 0.0 832.412 595.415 -imu_odom_: 1691062798.794266272 0.584185 -0.275333 10.0078 -0.0245011 0.0213053 0.0298274 0.24 0 pose: 0.0 4.36658 0.042977 0 -0.00255234 0.00173757 0.00973201 0.999948 uwb: 0.0 832.412 595.415 -imu_odom_: 1691062798.820262994 0.45011 -0.169988 10.2855 -0.0500674 0.00532632 0.0553937 0.25 -0.02 pose: 0.7124695 4.36658 0.042977 0 -0.00189703 0.00132573 0.00973218 0.99995 uwb: 0.50058645 831.771 594.867 -imu_odom_: 1691062798.836353273 0.234632 -0.246603 9.63906 -0.0490022 -0.0351537 0.0458064 0.25 -0.02 pose: 0.0 4.36658 0.042977 0 -0.00189703 0.00132573 0.00973218 0.99995 uwb: 0.0 831.771 594.867 -imu_odom_: 1691062798.862235086 0.397437 -0.25618 9.99819 -0.0617853 -0.052198 0.0596548 0.25 -0.02 pose: 0.0 4.36658 0.042977 0 -0.00189703 0.00132573 0.00973218 0.99995 uwb: 0.50128058 832.438 593.471 -imu_odom_: 1691062798.887333530 0.452504 -0.105345 10.1849 -0.0394148 -0.0170442 0.0383495 0.22 0 pose: 0.68038227 4.38069 0.0420461 0 0.000926014 -0.0003773790.00990319 0.99995 uwb: 0.0 832.438 593.471 -imu_odom_: 1691062798.904252675 0.488417 -0.100556 10.0173 -0.0788296 0 0.076699 0.22 0 pose: 0.0 4.38069 0.0420461 0 0.000926014 -0.0003773790.00990319 0.99995 uwb: 0.49930611 833.504 592.018 -imu_odom_: 1691062798.929349077 0.536301 -0.174777 10.24 -0.0756338 0.00319579 0.0298274 0.21 0.02 pose: 0.33980324 4.38069 0.0420461 0 -0.000834518-0.0007245850.0101572 0.999948 uwb: 0.0 833.504 592.018 -imu_odom_: 1691062798.946372050 0.600945 -0.143652 9.92875 -0.0436758 -0.0234358 0.036219 0.21 0.02 pose: 0.42021089 4.3948 0.0411269 0 0.00208049 -0.00290947 0.0104204 0.999939 uwb: 0.0 833.504 592.018 -imu_odom_: 1691062798.971191385 0.593762 -0.25618 10.1131 -0.0458064 -0.0308927 0.0287621 0.23 0.02 pose: 0.0 4.3948 0.0411269 0 0.00208049 -0.00290947 0.0104204 0.999939 uwb: 0.49994774 834.428 590.197 -imu_odom_: 1691062798.995306096 0.323217 -0.232238 10.161 -0.0703074 -0.00958738 0.0596548 0.23 0 pose: 0.41870598 4.40225 0.0478016 0 0.00190036 -0.00688769 0.0102757 0.999922 uwb: 0.0 834.428 590.197 -imu_odom_: 1691062799.10191573 -0.107739 -0.141258 9.64145 -0.0649811 -0.015979 0.0575243 0.23 0 pose: 0.0 4.40225 0.0478016 0 0.00190036 -0.00688769 0.0102757 0.999922 uwb: 0.50052521 833.028 589.826 -imu_odom_: 1691062799.25194293 0.289698 -0.397437 9.47864 -0.0447411 -0.00426106 0.0319579 0.23 0 pose: 0.47979479 4.40885 0.040287 0 0.000162987 -0.00513444 0.0104979 0.999932 uwb: 0.0 833.028 589.826 -imu_odom_: 1691062799.43254370 0.708684 -0.181959 10.0485 -0.0830906 -0.0276969 0.04048 0.24 0 pose: 0.0 4.40885 0.040287 0 0.000162987 -0.00513444 0.0104979 0.999932 uwb: 0.0 833.028 589.826 -imu_odom_: 1691062799.67216550 0.78051 -0.339977 9.63427 -0.0511327 0.0213053 0.0223706 0.24 0 pose: 0.41049607 4.42023 0.0425682 0 -0.00063029 -0.0052882 0.0105212 0.99993 uwb: 0.49880741 833.734 588.475 -imu_odom_: 1691062799.90389527 0.656011 -0.328006 9.79468 -0.0660464 -0.0468716 0.0490022 0.23 0 pose: 0.0 4.42023 0.0425682 0 -0.00063029 -0.0052882 0.0105212 0.99993 uwb: 0.0 833.734 588.475 -imu_odom_: 1691062799.115263401 0.718261 0.035913 9.87129 -0.0394148 -0.0106526 0.0319579 0.26 0 pose: 0.6965455 4.42297 0.0395182 0 -0.000871143-0.00584721 0.0104622 0.999928 uwb: 0.49977277 834.093 587.291 -imu_odom_: 1691062799.139265245 0.80924 -0.112527 9.97664 -0.0703074 -0.00532632 0.0458064 0.18 -0.02 pose: 0.0 4.42297 0.0395182 0 -0.000871143-0.00584721 0.0104622 0.999928 uwb: 0.0 834.093 587.291 -imu_odom_: 1691062799.164231281 0.646434 0.208296 10.0796 -0.0426106 -0.0330232 0.0351537 0.2 0 pose: 0.72111400 4.43041 0.0461936 0 -0.000120507-0.0112126 0.0103337 0.999884 uwb: 0.49903781 829.591 588.57 -imu_odom_: 1691062799.189227356 0.335188 -0.19393 10.2951 -0.0617853 0.00426106 0.036219 0.2 0 pose: 0.0 4.43041 0.0461936 0 -0.000120507-0.0112126 0.0103337 0.999884 uwb: 0.0 829.591 588.57 -imu_odom_: 1691062799.203189764 -0.0814029 -0.339977 9.26795 -0.0436758 0.0330232 0.0245011 0.2 0 pose: 0.48915382 4.44454 0.0454203 0 0.0031477 -0.0122341 0.0102771 0.999867 uwb: 0.49970569 826.07 589.228 -imu_odom_: 1691062799.226188626 0.035913 -0.248997 10.1801 -0.0692422 0.0138484 0.0553937 0.18 0 pose: 0.0 4.44454 0.0454203 0 0.0031477 -0.0122341 0.0102771 0.999867 uwb: 0.0 826.07 589.228 -imu_odom_: 1691062799.244186874 0.940921 -0.122104 10.2496 -0.0287621 -0.0127832 0.015979 0.18 0 pose: 0.38980357 4.45121 0.0379718 0 0.00239055 -0.00800842 0.0101951 0.999913 uwb: 0.0 826.07 589.228 -imu_odom_: 1691062799.260177409 0.699107 -0.023942 9.93594 -0.0596548 -0.0127832 0.0543285 0.21 0 pose: 0.0 4.45121 0.0379718 0 0.00239055 -0.00800842 0.0101951 0.999913 uwb: 0.49983984 827.071 587.583 -imu_odom_: 1691062799.286185215 0.509965 -0.351948 9.66539 -0.0500674 0.0276969 0.0383495 0.21 0 pose: 0.49950445 4.45866 0.044643 0 0.00364561 -0.00930254 0.0102204 0.999898 uwb: 0.0 827.071 587.583 -imu_odom_: 1691062799.310292928 0.229843 -0.184354 9.48583 -0.0628506 0.0138484 0.0511327 0.17 -0.02 pose: 0.0 4.45866 0.044643 0 0.00364561 -0.00930254 0.0102204 0.999898 uwb: 0.50267468 826.337 586.846 -imu_odom_: 1691062799.328229929 0.476446 -0.201113 10.0245 -0.0287621 0.00852212 0.0372843 0.17 -0.02 pose: 0.8008392 4.45866 0.044643 0 0.00290601 -0.00891822 0.0102224 0.999904 uwb: 0.0 826.337 586.846 -imu_odom_: 1691062799.352249855 0.610521 -0.0383072 10.647 -0.0436758 -0.0149137 0.0543285 0.18 0 pose: 0.0 4.45866 0.044643 0 0.00290601 -0.00891822 0.0102224 0.999904 uwb: 0.49831161 826.751 585.805 -imu_odom_: 1691062799.369258537 0.146046 -0.201113 9.39006 -0.0628506 0.0276969 0.0479369 0.2 0 pose: 0.84064054 4.47278 0.0438657 0 0.00295178 -0.00522622 0.0105159 0.999927 uwb: 0.0 826.751 585.805 -imu_odom_: 1691062799.385342400 0.289698 -0.107739 9.84496 -0.0372843 -0.00106526 0.0447411 0.18 0 pose: 0.0 4.47278 0.0438657 0 0.00295178 -0.00522622 0.0105159 0.999927 uwb: 0.0 826.751 585.805 -imu_odom_: 1691062799.403171491 0.864307 -0.181959 10.0437 -0.0798948 -0.0351537 0.0617853 0.18 0 pose: 0.0 4.47278 0.0438657 0 0.00295178 -0.00522622 0.0105159 0.999927 uwb: 0.50149641 828.556 584.012 -imu_odom_: 1691062799.419340808 0.203507 -0.323217 9.50498 -0.0532632 0.0330232 0.0415453 0.18 0 pose: 0.41046690 4.4869 0.0430975 0 0.00313652 -0.00261803 0.0107105 0.999934 uwb: 0.0 828.556 584.012 -imu_odom_: 1691062799.433174015 0.325611 -0.225055 10.2232 -0.0308927 0.00852212 0.0383495 0.18 0 pose: 0.0 4.4869 0.0430975 0 0.00313652 -0.00261803 0.0107105 0.999934 uwb: 0.0 828.556 584.012 -imu_odom_: 1691062799.457183441 0.423774 -0.35913 9.90721 -0.0735032 -0.00426106 0.0479369 0.18 0 pose: 0.39877470 4.49034 0.0461858 0 0.00171363 -0.0007288310.0108293 0.99994 uwb: 0.50042023 828.643 583.189 -imu_odom_: 1691062799.481212992 0.457293 -0.287304 9.75637 -0.0543285 -0.0500674 0.0447411 0.17 -0.02 pose: 0.8069638 4.49434 0.0497778 0 0.000833461 -0.00076577 0.0108636 0.99994 uwb: 0.0 828.643 583.189 -imu_odom_: 1691062799.498185801 0.433351 -0.107739 9.93594 -0.0788296 -0.0213053 0.0575243 0.17 -0.02 pose: 0.0 4.49434 0.0497778 0 0.000833461 -0.00076577 0.0108636 0.99994 uwb: 0.49922738 830.822 581.235 -imu_odom_: 1691062799.515182234 0.814029 -0.0981623 9.9503 -0.0458064 -0.0149137 0.0351537 0.18 -0.02 pose: 0.47012664 4.50102 0.0423376 0 -0.00223359 -0.00273295 0.0110557 0.999933 uwb: 0.0 830.822 581.235 -imu_odom_: 1691062799.530177371 0.574608 -0.129287 9.51216 -0.0948085 -0.0287621 0.0628506 0.18 -0.02 pose: 0.0 4.50102 0.0423376 0 -0.00223359 -0.00273295 0.0110557 0.999933 uwb: 0.0 830.822 581.235 -imu_odom_: 1691062799.553380097 0.471658 -0.177171 9.87848 -0.0745685 -0.0426106 0.0479369 0.17 0.02 pose: 0.33965159 4.50846 0.049022 0 -0.000248079-0.00488442 0.01118 0.999926 uwb: 0.49790913 829.719 580.617 -imu_odom_: 1691062799.579318490 0.54109 -0.213084 9.93354 -0.0681769 -0.0170442 0.0436758 0.23 0 pose: 0.31158621 4.51515 0.041586 0 0.00149608 -0.00421406 0.011356 0.999926 uwb: 0.0 829.719 580.617 -imu_odom_: 1691062799.604184782 0.526724 -0.282516 10.1083 -0.0234358 -0.0394148 0.0330232 0.17 0 pose: 0.7833694 4.51515 0.041586 0 0.00110968 -0.00497197 0.0113742 0.999922 uwb: 0.50061272 828.158 579.933 -imu_odom_: 1691062799.630168673 0.493206 -0.21069 9.52413 -0.0660464 -0.0234358 0.052198 0.2 0 pose: 0.42970991 4.52258 0.0482752 0 -0.0018469 -0.00680841 0.0113538 0.999911 uwb: 0.0 828.158 579.933 -imu_odom_: 1691062799.655229494 0.414197 -0.217872 9.92157 -0.052198 0.0234358 0.0511327 0.2 0 pose: 0.0 4.52258 0.0482752 0 -0.0018469 -0.00680841 0.0113538 0.999911 uwb: 0.49942570 826.69 579.494 -imu_odom_: 1691062799.672136974 0.474052 -0.143652 9.9503 -0.0585895 -0.0458064 0.0532632 0.2 0 pose: 0.51044712 4.5367 0.0475319 0 -0.000100639-0.00240399 0.0116534 0.999929 uwb: 0.0 826.69 579.494 -imu_odom_: 1691062799.697307747 0.751779 -0.258574 9.91678 -0.0298274 -0.0340885 0.0351537 0.22 0 pose: 0.0 4.5367 0.0475319 0 -0.000100639-0.00240399 0.0116534 0.999929 uwb: 0.0 826.69 579.494 -imu_odom_: 1691062799.723166813 1.01993 -0.0622492 9.81144 -0.0447411 0.00958738 0.0436758 0.23 -0.02 pose: 0.25112152 4.5367 0.0475319 0 0.00140437 -0.00417452 0.0117488 0.999921 uwb: 0.0 826.69 579.494 -imu_odom_: 1691062799.748149764 0.792481 0.00957681 9.97664 -0.0468716 0.0117179 0.0340885 0.23 -0.02 pose: 0.42825167 4.54856 0.0447669 0 0.00204142 -0.00838999 0.0117679 0.999893 uwb: 0.100356738 826.97 578.083 -imu_odom_: 1691062799.774366682 0.354342 -0.263362 9.5792 -0.072438 -0.0234358 0.0447411 0.22 0 pose: 0.8069346 4.55084 0.0467823 0 0.00259923 -0.00894013 0.011743 0.999888 uwb: 0.0 826.97 578.083 -imu_odom_: 1691062799.799327468 0.150835 -0.4956 9.93354 -0.0756338 -0.0319579 0.0617853 0.22 0 pose: 0.43130523 4.56026 0.046216 0 0.00236506 -0.00800366 0.0117585 0.999896 uwb: 0.49688253 827.063 577.257 -imu_odom_: 1691062799.817288093 0.335188 -0.402226 9.79228 -0.0607201 -0.0319579 0.04048 0.21 0.02 pose: 0.0 4.56026 0.046216 0 0.00236506 -0.00800366 0.0117585 0.999896 uwb: 0.0 827.063 577.257 -imu_odom_: 1691062799.832224317 0.244209 -0.122104 9.75158 -0.0127832 0.0117179 0.0255663 0.21 0.02 pose: 0.0 4.56026 0.046216 0 0.00236506 -0.00800366 0.0117585 0.999896 uwb: 0.0 827.063 577.257 -imu_odom_: 1691062799.858216082 0.459687 -0.181959 9.85693 -0.0447411 -0.0575243 0.0351537 0.23 0.02 pose: 0.50886347 4.56496 0.0459383 0 -0.000341415-0.00461787 0.0120005 0.999917 uwb: 0.50072937 828.895 575.398 -imu_odom_: 1691062799.880162383 0.620098 -0.169988 9.96227 -0.0372843 -0.0543285 0.0479369 0.23 0.02 pose: 0.32963053 4.57515 0.0453115 0 0.00241624 -0.00322366 0.0118858 0.999921 uwb: 0.0 828.895 575.398 -imu_odom_: 1691062799.897210438 0.543484 -0.378284 9.74919 -0.0490022 -0.00319579 0.0585895 0.19 0 pose: 0.6924041 4.57907 0.0450698 0 0.0024791 -0.00408873 0.0119162 0.999918 uwb: 0.50126601 829.649 574.057 -imu_odom_: 1691062799.922193973 0.675165 0.0215478 10.1658 -0.0298274 -0.0340885 0.0479369 0.19 0 pose: 0.32070315 4.579 0.0450594 0 0.000975613 -0.00617463 0.0121551 0.999907 uwb: 0.0 829.649 574.057 -imu_odom_: 1691062799.939130909 0.617704 -0.464475 9.40442 -0.0671117 0.036219 0.0607201 0.18 0.02 pose: 0.0 4.579 0.0450594 0 0.000975613 -0.00617463 0.0121551 0.999907 uwb: 0.0 829.649 574.057 -imu_odom_: 1691062799.964273684 0.579397 -0.232238 9.75158 -0.0511327 0.0415453 0.0436758 0.18 0.02 pose: 0.0 4.579 0.0450594 0 0.000975613 -0.00617463 0.0121551 0.999907 uwb: 0.49901448 828.761 572.919 -imu_odom_: 1691062799.981197788 0.409408 -0.177171 9.60075 -0.0830906 -0.0117179 0.0617853 0.21 0 pose: 0.41920471 4.58998 0.0478544 0 0.00162502 -0.00795473 0.0124431 0.99989 uwb: 0.0 828.761 572.919 -imu_odom_: 1691062799.997178699 0.751779 0.0047884 10.3046 -0.0617853 -0.0213053 0.0340885 0.21 0 pose: 0.0 4.58998 0.0478544 0 0.00162502 -0.00795473 0.0124431 0.99989 uwb: 0.50016358 827.083 573.063 -imu_odom_: 1691062800.23239586 0.0335188 -0.100556 10.1993 -0.0681769 0.0138484 0.0447411 0.25 0 pose: 0.58047790 4.6006 0.0510403 0 0.000833135 -0.00814241 0.0126454 0.999887 uwb: 0.0 827.083 573.063 -imu_odom_: 1691062800.48136502 0.64404 -0.260968 9.64145 -0.0553937 0.0127832 0.0213053 0.25 0 pose: 0.0 4.6006 0.0510403 0 0.000833135 -0.00814241 0.0126454 0.999887 uwb: 0.49829412 828.164 571.436 -imu_odom_: 1691062800.72138929 0.586579 -0.263362 9.65103 -0.0841559 0.00639159 0.0628506 0.21 0.02 pose: 0.32992802 4.60731 0.0436241 0 0.000816532 -0.00591069 0.0126448 0.999902 uwb: 0.0 828.164 571.436 -imu_odom_: 1691062800.89131280 0.620098 -0.272939 10.2232 -0.052198 -0.0149137 0.0298274 0.21 0.02 pose: 0.0 4.60731 0.0436241 0 0.000816532 -0.00591069 0.0126448 0.999902 uwb: 0.0 828.164 571.436 -imu_odom_: 1691062800.106266247 0.56982 0.227449 10.0604 -0.0458064 -0.00213053 0.0351537 0.21 0.02 pose: 0.25997308 4.61472 0.0503312 0 -0.00065005 -0.00788832 0.0125835 0.999889 uwb: 0.50179683 828.932 570.092 -imu_odom_: 1691062800.121193430 0.402226 -0.512359 10.0126 -0.0628506 0.0415453 0.0298274 0.19 -0.05 pose: 0.0 4.61472 0.0503312 0 -0.00065005 -0.00788832 0.0125835 0.999889 uwb: 0.0 828.932 570.092 -imu_odom_: 1691062800.138132117 0.711078 -0.385466 9.8689 -0.052198 0.0149137 0.0245011 0.19 -0.05 pose: 0.0 4.61472 0.0503312 0 -0.00065005 -0.00788832 0.0125835 0.999889 uwb: 0.0 828.932 570.092 -imu_odom_: 1691062800.163253602 1.08218 -0.19393 9.49301 -0.0713727 -0.00958738 0.0490022 0.2 -0.02 pose: 0.71981326 4.62885 0.0496264 0 -0.00257102 -0.00960132 0.0125314 0.999872 uwb: 0.49797039 828.26 569.5 -imu_odom_: 1691062800.189282116 0.548272 0.00718261 10.6326 -0.0479369 0.00106526 0.0287621 0.2 -0.02 pose: 0.35103467 4.62885 0.0496264 0 -0.0029914 -0.0127653 0.0125643 0.999835 uwb: 0.0 828.26 569.5 -imu_odom_: 1691062800.214133243 0.543484 -0.409408 9.63666 -0.0830906 0.0340885 0.0415453 0.19 -0.02 pose: 0.0 4.62885 0.0496264 0 -0.0029914 -0.0127653 0.0125643 0.999835 uwb: 0.50090438 831.536 566.795 -imu_odom_: 1691062800.239119403 0.397437 -0.270545 9.92157 -0.0596548 -0.0127832 0.0479369 0.2 0 pose: 0.50879641 4.64297 0.048914 0 -0.00314215 -0.0101901 0.0124448 0.999866 uwb: 0.0 831.536 566.795 -imu_odom_: 1691062800.264277344 0.299275 -0.196325 10.2951 -0.0617853 0.0106526 0.0319579 0.19 0 pose: 0.0 4.64297 0.048914 0 -0.00314215 -0.0101901 0.0124448 0.999866 uwb: 0.49942280 835.427 564.472 -imu_odom_: 1691062800.289185634 0.703895 -0.114922 10.0461 -0.0639159 -0.0287621 0.0340885 0.18 0 pose: 0.32136812 4.64297 0.048914 0 -0.0029404 -0.00706213 0.0125294 0.999892 uwb: 0.0 835.427 564.472 -imu_odom_: 1691062800.306125196 0.476446 -0.196325 9.59117 -0.0543285 0.00958738 0.0351537 0.18 0 pose: 0.0 4.64297 0.048914 0 -0.0029404 -0.00706213 0.0125294 0.999892 uwb: 0.49968529 835.493 563.493 -imu_odom_: 1691062800.331121272 0.557849 0.0167594 10.0413 -0.0628506 0.00852212 0.052198 0.18 0.02 pose: 0.49857994 4.6571 0.0482031 0 -0.000697631-0.00682666 0.0123629 0.9999 uwb: 0.0 835.493 563.493 -imu_odom_: 1691062800.355312689 0.445322 -0.318429 9.52413 -0.0511327 0.0276969 0.0383495 0.18 0.02 pose: 0.34993223 4.66725 0.0476881 0 0.00217832 -0.00609335 0.0124804 0.999901 uwb: 0.50039691 835.992 562.502 -imu_odom_: 1691062800.372150173 0.514753 -0.237026 10.307 -0.0415453 0.00958738 0.0351537 0.18 0.02 pose: 0.0 4.66725 0.0476881 0 0.00217832 -0.00609335 0.0124804 0.999901 uwb: 0.0 835.992 562.502 -imu_odom_: 1691062800.388130793 0.715866 -0.325611 9.70609 -0.0639159 -0.0468716 0.0543285 0.18 0.02 pose: 0.0 4.66725 0.0476881 0 0.00217832 -0.00609335 0.0124804 0.999901 uwb: 0.0 835.992 562.502 -imu_odom_: 1691062800.413168283 0.500388 0.0167594 9.80186 -0.0372843 -0.0170442 0.0468716 0.18 0.02 pose: 0.7020577 4.67122 0.0474876 0 0.00156121 -0.00566995 0.0124796 0.999905 uwb: 0.50023651 837.17 560.984 -imu_odom_: 1691062800.436108525 0.0335188 -0.19393 9.40203 -0.0617853 0.02024 0.0479369 0.23 0 pose: 0.41030359 4.67122 0.0474876 0 -0.00145019 -0.00636208 0.0124995 0.999901 uwb: 0.0 837.17 560.984 -imu_odom_: 1691062800.460112703 0.0023942 -0.225055 9.81144 -0.0660464 0.0170442 0.0543285 0.18 0.02 pose: 0.0 4.67122 0.0474876 0 -0.00145019 -0.00636208 0.0124995 0.999901 uwb: 0.50056898 835.308 560.676 -imu_odom_: 1691062800.484096465 0.950498 -0.318429 9.85214 -0.0617853 -0.0181095 0.04048 0.18 0.02 pose: 0.40971155 4.68535 0.0467761 0 0.000844896 -0.00630904 0.0126708 0.999899 uwb: 0.0 835.308 560.676 -imu_odom_: 1691062800.509123748 0.52433 -0.234632 9.91918 -0.0745685 0.015979 0.0692422 0.25 0 pose: 0.0 4.68535 0.0467761 0 0.000844896 -0.00630904 0.0126708 0.999899 uwb: 0.49939072 836.009 559.034 -imu_odom_: 1691062800.534120407 0.205901 -0.169988 10.3549 -0.0617853 0.0319579 0.0394148 0.25 0 pose: 0.48050353 4.69276 0.0534855 0 0.000317031 -0.00271562 0.0129158 0.999913 uwb: 0.0 836.009 559.034 -imu_odom_: 1691062800.559247434 0.356736 -0.184354 9.84975 -0.092678 -0.00639159 0.0617853 0.18 0 pose: 0.0 4.69276 0.0534855 0 0.000317031 -0.00271562 0.0129158 0.999913 uwb: 0.49993611 833.688 558.699 -imu_odom_: 1691062800.572247400 0.107739 -0.251391 9.76595 -0.072438 -0.00213053 0.0436758 0.18 0 pose: 0.48985379 4.69947 0.0460745 0 -0.00125956 -0.0054507 0.0132978 0.999896 uwb: 0.0 833.688 558.699 -imu_odom_: 1691062800.596243120 0.167594 0.0407014 10.0173 -0.0852212 -0.00745685 0.0490022 0.18 0 pose: 0.0 4.69947 0.0460745 0 -0.00125956 -0.0054507 0.0132978 0.999896 uwb: 0.49939072 832.643 558.264 -imu_odom_: 1691062800.614372027 0.80924 -0.409408 10.1754 -0.0969391 0.0170442 0.0617853 0.18 0 pose: 0.47981816 4.70688 0.0527925 0 -0.000563915-0.0006092440.0135844 0.999907 uwb: 0.0 832.643 558.264 -imu_odom_: 1691062800.638245837 0.905008 -0.0814029 10.1562 -0.0585895 -0.00745685 0.036219 0.19 0 pose: 0.0 4.70688 0.0527925 0 -0.000563915-0.0006092440.0135844 0.999907 uwb: 0.0 832.643 558.264 -imu_odom_: 1691062800.664299725 0.464475 -0.337582 9.52892 -0.0649811 0.02024 0.0383495 0.19 0 pose: 0.39113350 4.72101 0.0521115 0 0.000236112 0.00101265 0.0138031 0.999904 uwb: 0.49986903 834.671 556.624 -imu_odom_: 1691062800.680097772 0.011971 -0.220267 9.93594 -0.02024 -0.0191748 0.0351537 0.19 0 pose: 0.0 4.72101 0.0521115 0 0.000236112 0.00101265 0.0138031 0.999904 uwb: 0.0 834.671 556.624 -imu_odom_: 1691062800.704096117 0.323217 -0.215478 9.63427 -0.0553937 -0.0213053 0.0436758 0.19 0 pose: 0.41863600 4.72101 0.0521115 0 -0.000579001-0.00217429 0.0138714 0.999901 uwb: 0.50138560 835.456 555.179 -imu_odom_: 1691062800.728106419 0.577003 -0.323217 9.96467 -0.056459 -0.0468716 0.0532632 0.27 0.02 pose: 0.0 4.72101 0.0521115 0 -0.000579001-0.00217429 0.0138714 0.999901 uwb: 0.0 835.456 555.179 -imu_odom_: 1691062800.753099579 0.761356 -0.244209 9.90721 -0.0436758 -0.0394148 0.0447411 0.27 0.02 pose: 0.42107128 4.73513 0.0514377 0 -0.00174879 -0.0001243980.0138517 0.999903 uwb: 0.50012860 837.029 553.449 -imu_odom_: 1691062800.776204602 0.47884 -0.328006 9.6606 -0.0777643 -0.0436758 0.0660464 0.18 -0.02 pose: 0.0 4.73513 0.0514377 0 -0.00174879 -0.0001243980.0138517 0.999903 uwb: 0.0 837.029 553.449 -imu_odom_: 1691062800.793091376 0.746991 -0.222661 10.1227 -0.0500674 0.0234358 0.0415453 0.18 -0.02 pose: 0.87959613 4.74926 0.0507698 0 -0.00438119 -0.00468062 0.0144241 0.999875 uwb: 0.0 837.029 553.449 -imu_odom_: 1691062800.816089656 0.667982 0.0263362 10.0485 -0.04048 -0.0298274 0.0372843 0.2 -0.02 pose: 0.0 4.74926 0.0507698 0 -0.00438119 -0.00468062 0.0144241 0.999875 uwb: 0.49986902 839.077 551.784 -imu_odom_: 1691062800.841198308 0.167594 0.0215478 10.0006 -0.0681769 -0.0394148 0.0468716 0.2 -0.02 pose: 0.7945688 4.74926 0.0507698 0 -0.00410724 -0.00532321 0.014427 0.999873 uwb: 0.0 839.077 551.784 -imu_odom_: 1691062800.858139912 0.0143652 -0.28491 9.87129 -0.0490022 0.00426106 0.0500674 0.22 0 pose: 0.0 4.74926 0.0507698 0 -0.00410724 -0.00532321 0.014427 0.999873 uwb: 0.49714211 839.942 550.501 -imu_odom_: 1691062800.881083945 0.462081 -0.378284 9.8689 -0.0713727 -0.0234358 0.0436758 0.22 0 pose: 0.39950383 4.76339 0.0501116 0 -0.00111154 -0.00674849 0.0144165 0.999873 uwb: 0.0 839.942 550.501 -imu_odom_: 1691062800.907228827 0.770933 -0.174777 10.3789 -0.0394148 -0.0191748 0.0255663 0.21 0 pose: 0.0 4.76339 0.0501116 0 -0.00111154 -0.00674849 0.0144165 0.999873 uwb: 0.50137685 838.023 550.09 -imu_odom_: 1691062800.932170948 0.672771 -0.380678 9.72525 -0.0308927 -0.00745685 0.0330232 0.21 0 pose: 0.83128154 4.77542 0.0517504 0 -0.00179207 -0.0065493 0.0144274 0.999873 uwb: 0.0 838.023 550.09 -imu_odom_: 1691062800.950095701 0.263362 -0.0957681 10.07 -0.0351537 -0.0458064 0.0500674 0.2 -0.02 pose: 0.0 4.77542 0.0517504 0 -0.00179207 -0.0065493 0.0144274 0.999873 uwb: 0.50178516 837.439 549.701 -imu_odom_: 1691062800.974261744 0.0622492 -0.292093 9.14346 -0.0628506 -0.0223706 0.0490022 0.2 -0.02 pose: 0.33019342 4.77751 0.0494576 0 -0.00263865 -0.00792933 0.0143973 0.999861 uwb: 0.0 837.439 549.701 -imu_odom_: 1691062800.998134971 0.442927 -0.196325 9.82102 -0.052198 -0.00852212 0.0553937 0.23 0 pose: 0.0 4.77751 0.0494576 0 -0.00263865 -0.00792933 0.0143973 0.999861 uwb: 0.49807831 838.885 547.535 -imu_odom_: 1691062801.23083217 0.117316 -0.258574 9.92397 -0.0458064 0.0319579 0.0383495 0.23 0 pose: 0.41961887 4.79164 0.0487993 0 -0.00176439 -0.00457222 0.0146307 0.999881 uwb: 0.0 838.885 547.535 -imu_odom_: 1691062801.48082210 0.136469 -0.306458 9.83538 -0.0809601 -0.0117179 0.0756338 0.19 0 pose: 0.40873161 4.79673 0.0534404 0 -0.00071119 -0.0005911130.0147407 0.999891 uwb: 0.50130978 837.834 547.087 -imu_odom_: 1691062801.65137558 0.73502 0.0311246 10.2831 -0.0639159 -0.0330232 0.0383495 0.19 0 pose: 0.0 4.79673 0.0534404 0 -0.00071119 -0.0005911130.0147407 0.999891 uwb: 0.0 837.834 547.087 -imu_odom_: 1691062801.89207940 0.263362 -0.110133 10.2065 -0.0639159 0.0170442 0.0458064 0.18 0.02 pose: 0.8070514 4.79903 0.0555375 0 -0.00104345 0.000152137 0.0148868 0.999889 uwb: 0.0 837.834 547.087 -imu_odom_: 1691062801.114192643 0.861913 -0.107739 10.0365 -0.0447411 -0.0191748 0.0266316 0.18 0.02 pose: 0.0 4.79903 0.0555375 0 -0.00104345 0.000152137 0.0148868 0.999889 uwb: 0.49871703 837.905 546.038 -imu_odom_: 1691062801.128184216 0.517148 -0.328006 9.51216 -0.0628506 -0.0127832 0.0553937 0.18 -0.02 pose: 0.0 4.79903 0.0555375 0 -0.00104345 0.000152137 0.0148868 0.999889 uwb: 0.0 837.905 546.038 -imu_odom_: 1691062801.145066616 1.08697 -0.248997 9.89763 -0.076699 -0.0149137 0.0585895 0.18 -0.02 pose: 0.41976178 4.80577 0.048153 0 -0.0002706440.000819158 0.0152081 0.999884 uwb: 0.0 837.905 546.038 -imu_odom_: 1691062801.159129935 0.720655 -0.0646434 9.67497 -0.0660464 0.0117179 0.0330232 0.18 -0.02 pose: 0.0 4.80577 0.048153 0 -0.0002706440.000819158 0.0152081 0.999884 uwb: 0.49980488 835.301 546.252 -imu_odom_: 1691062801.175067391 0.577003 -0.306458 9.47146 -0.072438 0.0138484 0.0372843 0.19 -0.05 pose: 0.48002232 4.81315 0.0548987 0 0.000752232 -0.0008771670.0151553 0.999874 uwb: 0.0 835.301 546.252 -imu_odom_: 1691062801.192099989 0.591368 -0.213084 10.3669 -0.0543285 -0.0319579 0.0351537 0.19 -0.05 pose: 0.0 4.82335 0.0506737 0 0.000581114 -0.00421611 0.0153235 0.999874 uwb: 0.0 835.301 546.252 -imu_odom_: 1691062801.207042630 0.349553 -0.280122 9.70849 -0.036219 0.0351537 0.0372843 0.18 0 pose: 0.0 4.82335 0.0506737 0 0.000581114 -0.00421611 0.0153235 0.999874 uwb: 0.50028901 832.991 546.07 -imu_odom_: 1691062801.224292508 0.25618 -0.349553 10.3238 -0.056459 0.0500674 0.0458064 0.18 0 pose: 0.8010142 4.82728 0.0542628 0 -6.58787e-05-0.00470103 0.0153168 0.999872 uwb: 0.0 832.991 546.07 -imu_odom_: 1691062801.249075389 0.746991 -0.42138 9.98143 -0.0511327 0.0415453 0.0287621 0.18 0 pose: 0.0 4.82728 0.0542628 0 -6.58787e-05-0.00470103 0.0153168 0.999872 uwb: 0.0 832.991 546.07 -imu_odom_: 1691062801.275061615 0.54109 -0.11971 10.3956 -0.052198 -0.0234358 0.0468716 0.21 -0.02 pose: 0.47951777 4.82728 0.0542628 0 -0.000989934-0.00441667 0.0152842 0.999873 uwb: 0.0 832.991 546.07 -imu_odom_: 1691062801.300067899 0.361524 -0.126893 10.0796 -0.0287621 -0.015979 0.0234358 0.19 0 pose: 0.0 4.82728 0.0542628 0 -0.000989934-0.00441667 0.0152842 0.999873 uwb: 0.100003848 829.115 546.561 -imu_odom_: 1691062801.317135496 0.536301 -0.452504 9.47625 -0.0841559 -0.0117179 0.052198 0.19 0 pose: 0.69034798 4.84141 0.053629 0 0.000476873 -0.0049947 0.0151887 0.999872 uwb: 0.0 829.115 546.561 -imu_odom_: 1691062801.342091617 0.0790087 -0.289698 9.32542 -0.0436758 -0.00213053 0.0276969 0.18 -0.02 pose: 0.0 4.84141 0.053629 0 0.000476873 -0.0049947 0.0151887 0.999872 uwb: 0.0 829.115 546.561 -imu_odom_: 1691062801.368046927 0.272939 -0.383072 9.85693 -0.0745685 -0.0245011 0.0436758 0.18 -0.02 pose: 0.42124919 4.85554 0.0529914 0 -0.00053273 -0.00327928 0.0151175 0.99988 uwb: 0.49839622 827.874 545.673 -imu_odom_: 1691062801.392047314 0.292093 -0.272939 10.0916 -0.0426106 -0.00532632 0.036219 0.18 -0.02 pose: 0.0 4.85554 0.0529914 0 -0.00053273 -0.00327928 0.0151175 0.99988 uwb: 0.0 827.874 545.673 -imu_odom_: 1691062801.416052951 0.0670376 -0.519542 9.95748 -0.0660464 -0.00852212 0.0649811 0.18 -0.02 pose: 0.48835765 4.86292 0.0597359 0 -0.00276167 0.000596783 0.0150731 0.999882 uwb: 0.50126604 829.098 544.107 -imu_odom_: 1691062801.433101590 0.486023 -0.0909797 9.89763 -0.0287621 -0.0426106 0.0383495 0.19 0 pose: 0.0 4.86292 0.0597359 0 -0.00276167 0.000596783 0.0150731 0.999882 uwb: 0.0 829.098 544.107 -imu_odom_: 1691062801.458107875 0.797269 -0.335188 9.75158 -0.0596548 -0.0458064 0.0511327 0.19 0 pose: 0.47974817 4.86966 0.0523522 0 -0.00379466 0.00346748 0.015352 0.999869 uwb: 0.49909034 829.134 542.99 -imu_odom_: 1691062801.476096791 0.351948 -0.306458 9.51935 -0.0255663 0.0372843 0.0298274 0.18 0 pose: 0.0 4.86966 0.0523522 0 -0.00379466 0.00346748 0.015352 0.999869 uwb: 0.0 829.134 542.99 -imu_odom_: 1691062801.500157841 0.423774 -0.337582 9.61272 -0.0628506 0.00426106 0.052198 0.18 0 pose: 0.43044781 4.88379 0.0517201 0 -0.00351037 0.00053536 0.0154477 0.999874 uwb: 0.50042317 829.245 542.07 -imu_odom_: 1691062801.526090986 0.696713 -0.337582 10.3477 -0.0436758 -0.0660464 0.0543285 0.2 0 pose: 0.34050907 4.88873 0.056238 0 -0.00558712 -4.88642e-050.0155433 0.999864 uwb: 0.0 829.245 542.07 -imu_odom_: 1691062801.550026918 0.610521 -0.0383072 9.67018 -0.0649811 -0.00852212 0.036219 0.2 0 pose: 0.0 4.88873 0.056238 0 -0.00558712 -4.88642e-050.0155433 0.999864 uwb: 0.50168893 827.381 541.966 -imu_odom_: 1691062801.574117133 -0.567426 0.0861913 11.3174 -0.0532632 -0.0234358 0.0490022 0.2 0 pose: 0.7912148 4.89117 0.0584699 0 -0.00554801 -0.00108472 0.0155985 0.999862 uwb: 0.0 827.381 541.966 -imu_odom_: 1691062801.599050214 0.349553 0.0837971 10.5608 -0.0607201 -0.0596548 0.0426106 0.23 0 pose: 0.0 4.89117 0.0584699 0 -0.00554801 -0.00108472 0.0155985 0.999862 uwb: 0.49826789 826.706 541.392 -imu_odom_: 1691062801.615162951 0.344765 -0.435745 9.38048 -0.0681769 -0.0213053 0.0532632 0.23 0 pose: 0.50020735 4.89792 0.0510937 0 -0.00315286 -0.00386302 0.0157107 0.999864 uwb: 0.0 826.706 541.392 -imu_odom_: 1691062801.641174550 0.318429 -0.232238 9.95748 -0.0671117 -0.00319579 0.0394148 0.18 -0.02 pose: 0.0 4.89792 0.0510937 0 -0.00315286 -0.00386302 0.0157107 0.999864 uwb: 0.0 826.706 541.392 -imu_odom_: 1691062801.665046320 0.258574 0.0430956 9.84017 -0.0841559 -0.0191748 0.0543285 0.18 -0.02 pose: 0.47959651 4.9053 0.0578475 0 -0.00097551 -0.00220874 0.0158747 0.999871 uwb: 0.50000320 828.375 539.737 -imu_odom_: 1691062801.683176977 0.536301 -0.351948 10.1227 -0.0948085 -0.00639159 0.0585895 0.2 0 pose: 0.0 4.9053 0.0578475 0 -0.00097551 -0.00220874 0.0158747 0.999871 uwb: 0.0 828.375 539.737 -imu_odom_: 1691062801.707095994 0.80924 -0.150835 10.3286 -0.0660464 0.00745685 0.0436758 0.2 0 pose: 0.42036842 4.91943 0.0572308 0 -0.00111297 0.00092254 0.0159928 0.999871 uwb: 0.50043193 827.652 539.029 -imu_odom_: 1691062801.733032056 0.414197 -0.244209 9.89763 -0.0585895 0.0117179 0.036219 0.23 0.05 pose: 0.0 4.91943 0.0572308 0 -0.00111297 0.00092254 0.0159928 0.999871 uwb: 0.0 827.652 539.029 -imu_odom_: 1691062801.757141520 0.603339 -0.500388 9.80426 -0.0553937 -0.0127832 0.0468716 0.23 0.05 pose: 0.43095236 4.91943 0.0572308 0 -0.00119735 -0.0006324720.016307 0.999866 uwb: 0.49995361 828.187 538.002 -imu_odom_: 1691062801.774063583 0.622492 -0.229843 9.50737 -0.0585895 0.00106526 0.0458064 0.19 0.02 pose: 0.0 4.91943 0.0572308 0 -0.00119735 -0.0006324720.016307 0.999866 uwb: 0.0 828.187 538.002 -imu_odom_: 1691062801.798086135 0.28491 -0.373495 9.80426 -0.0468716 -0.02024 0.0543285 0.19 0.02 pose: 0.48918885 4.93355 0.0566261 0 -0.00244234 3.31959e-05 0.0163224 0.999864 uwb: 0.50006153 826.762 537.881 -imu_odom_: 1691062801.823185164 0.555455 -0.143652 10.137 -0.0415453 -0.0372843 0.0372843 0.2 0 pose: 0.0 4.93355 0.0566261 0 -0.00244234 3.31959e-05 0.0163224 0.999864 uwb: 0.0 826.762 537.881 -imu_odom_: 1691062801.848038333 0.454898 -0.1652 9.86411 -0.0628506 -0.0149137 0.0607201 0.2 0 pose: 0.41209725 4.94092 0.0633891 0 -0.00360402 -0.00217414 0.0164843 0.999855 uwb: 0.49851871 826.301 536.649 -imu_odom_: 1691062801.873301852 0.682347 -0.0933739 10.5153 -0.0468716 0.0585895 0.0308927 0.19 0 pose: 0.49875494 4.94769 0.0560246 0 -0.00148906 -0.00287192 0.0166626 0.999856 uwb: 0.0 826.301 536.649 -imu_odom_: 1691062801.890038719 0.148441 -0.407014 9.9503 -0.0426106 0.00958738 0.0351537 0.19 0 pose: 0.0 4.94769 0.0560246 0 -0.00148906 -0.00287192 0.0166626 0.999856 uwb: 0.0 826.301 536.649 -imu_odom_: 1691062801.915031004 0.323217 -0.215478 9.8282 -0.0479369 0.0117179 0.036219 0.2 0.02 pose: 0.24881459 4.95505 0.062793 0 0.000558119 -0.00331854 0.0168003 0.999853 uwb: 0.50219640 822.726 536.974 -imu_odom_: 1691062801.940172031 0.696713 -0.292093 10.3765 -0.0660464 -0.052198 0.0553937 0.19 0 pose: 0.42096630 4.96182 0.0554326 0 0.00058359 -0.00189506 0.0166753 0.999859 uwb: 0.0 822.726 536.974 -imu_odom_: 1691062801.965110653 0.691924 -0.385466 9.91439 -0.0330232 0.0308927 0.0234358 0.19 0 pose: 0.42007385 4.9738 0.0571743 0 -0.000342623-0.0031102 0.0168462 0.999853 uwb: 0.49871703 821.268 536.804 -imu_odom_: 1691062801.981106730 0.23942 -0.308852 9.96946 -0.04048 0.00958738 0.0298274 0.19 0 pose: 0.0 4.9738 0.0571743 0 -0.000342623-0.0031102 0.0168462 0.999853 uwb: 0.0 821.268 536.804 -imu_odom_: 1691062802.6030770 0.174777 -0.354342 9.89045 -0.0191748 0.00745685 0.0319579 0.18 0.02 pose: 0.7952979 4.97595 0.0548388 0 -0.000708434-0.00362455 0.0167834 0.999852 uwb: 0.50119313 823.709 534.689 -imu_odom_: 1691062802.29020594 0.299275 -0.289698 9.76595 -0.056459 -0.00213053 0.0617853 0.18 0 pose: 0.0 4.97595 0.0548388 0 -0.000708434-0.00362455 0.0167834 0.999852 uwb: 0.0 823.709 534.689 -imu_odom_: 1691062802.45005589 0.572214 -0.0837971 10.1347 -0.0436758 -0.0532632 0.0426106 0.18 0 pose: 0.0 4.97595 0.0548388 0 -0.000708434-0.00362455 0.0167834 0.999852 uwb: 0.0 823.709 534.689 -imu_odom_: 1691062802.70138158 0.543484 -0.237026 9.9503 -0.0628506 -0.0490022 0.0628506 0.25 -0.02 pose: 0.40049253 4.98331 0.0616068 0 -0.00190567 -0.00235954 0.0165513 0.999858 uwb: 0.0 823.709 534.689 -imu_odom_: 1691062802.92993823 0.301669 -0.196325 9.90002 -0.0351537 -0.0170442 0.0383495 0.25 -0.02 pose: 0.81963895 4.99744 0.0610118 0 -0.00153765 -0.00296905 0.0170621 0.999849 uwb: 0.0 823.709 534.689 -imu_odom_: 1691062802.109009150 0.505177 -0.112527 9.82102 -0.0777643 -0.0170442 0.0777643 0.25 -0.02 pose: 0.0 4.99744 0.0610118 0 -0.00153765 -0.00296905 0.0170621 0.999849 uwb: 0.99884566 822.737 534.58 -imu_odom_: 1691062802.133993270 0.605733 -0.0861913 10.1059 -0.0713727 -0.0191748 0.0394148 0.19 0 pose: 0.6891085 4.99744 0.0610118 0 -0.00127388 -0.00234931 0.0170586 0.999851 uwb: 0.0 822.737 534.58 -imu_odom_: 1691062802.158065404 0.158017 -0.122104 10.3765 -0.0639159 0.015979 0.0468716 0.18 0.02 pose: 0.0 4.99744 0.0610118 0 -0.00127388 -0.00234931 0.0170586 0.999851 uwb: 0.50012571 822.835 533.613 -imu_odom_: 1691062802.181996670 0.61531 -0.136469 10.0341 -0.0500674 0.0149137 0.0287621 0.18 0.02 pose: 0.40087169 5.01157 0.0604326 0 0.000895099 -0.00265292 0.0173528 0.999846 uwb: 0.0 822.835 533.613 -imu_odom_: 1691062802.197990415 0.636858 -0.481235 10.082 -0.0330232 -0.0223706 0.0383495 0.18 0.02 pose: 0.0 5.01157 0.0604326 0 0.000895099 -0.00265292 0.0173528 0.999846 uwb: 0.50143521 821.228 533.069 -imu_odom_: 1691062802.214995599 0.122104 -0.430956 9.36133 -0.02024 0.015979 0.0213053 0.23 -0.02 pose: 0.0 5.01157 0.0604326 0 0.000895099 -0.00265292 0.0173528 0.999846 uwb: 0.0 821.228 533.069 -imu_odom_: 1691062802.238039086 0.888249 0.124498 10.5177 -0.0458064 -0.0500674 0.0681769 0.23 -0.02 pose: 0.47884407 5.01157 0.0604326 0 0.00221827 -0.00211265 0.0173955 0.999844 uwb: 0.0 821.228 533.069 -imu_odom_: 1691062802.263045955 0.351948 0.0981623 10.1682 -0.0980043 -0.0458064 0.0671117 0.25 0 pose: 0.41002947 5.0257 0.0598582 0 0.00108994 -0.00375202 0.0172329 0.999844 uwb: 0.49853330 823.679 530.908 -imu_odom_: 1691062802.286067860 0.600945 0.035913 10.2208 -0.0703074 -0.0852212 0.0266316 0.18 -0.02 pose: 0.32035320 5.0257 0.0598582 0 0.00228833 -0.00524775 0.0174792 0.999831 uwb: 0.0 823.679 530.908 -imu_odom_: 1691062802.310065914 0.876278 -0.265756 10.0604 -0.0660464 -0.00213053 0.0287621 0.18 -0.02 pose: 0.7979520 5.0257 0.0598582 0 0.00280189 -0.00500127 0.0175832 0.999829 uwb: 0.49879871 826.149 528.76 -imu_odom_: 1691062802.335178068 0.174777 -0.225055 9.80186 -0.0500674 -0.00745685 0.0543285 0.21 -0.02 pose: 0.0 5.0257 0.0598582 0 0.00280189 -0.00500127 0.0175832 0.999829 uwb: 0.0 826.149 528.76 -imu_odom_: 1691062802.351059237 0.354342 -0.572214 9.81383 -0.0607201 0.0213053 0.0447411 0.21 -0.02 pose: 0.48093228 5.03983 0.0592892 0 0.00535146 -0.0072993 0.0176097 0.999804 uwb: 0.50108815 825.815 527.856 -imu_odom_: 1691062802.377161831 0.596156 -0.19393 9.99579 -0.0607201 -0.0266316 0.0500674 0.19 0 pose: 0.0 5.03983 0.0592892 0 0.00535146 -0.0072993 0.0176097 0.999804 uwb: 0.0 825.815 527.856 -imu_odom_: 1691062802.402062539 0.636858 -0.035913 10.3166 -0.0596548 -0.00426106 0.0319579 0.19 0 pose: 0.48030523 5.04718 0.0660707 0 0.00336391 -0.00600892 0.0177372 0.999819 uwb: 0.49858871 826.551 527.31 -imu_odom_: 1691062802.418996561 0.260968 -0.25618 9.77553 -0.056459 0.0319579 0.0255663 0.22 0 pose: 0.0 5.04718 0.0660707 0 0.00336391 -0.00600892 0.0177372 0.999819 uwb: 0.0 826.551 527.31 -imu_odom_: 1691062802.443979514 0.227449 -0.452504 9.51216 -0.0298274 -0.0383495 0.0298274 0.22 0 pose: 0.42930747 5.05396 0.0587228 0 0.00238672 -0.00866644 0.0178746 0.9998 uwb: 0.0 826.551 527.31 -imu_odom_: 1691062802.467120995 0.418985 -0.325611 9.90721 -0.0681769 0.00106526 0.0639159 0.24 0 pose: 0.0 5.05396 0.0587228 0 0.00238672 -0.00866644 0.0178746 0.9998 uwb: 0.50009071 824.989 526.884 -imu_odom_: 1691062802.483999312 0.459687 -0.107739 10.0054 -0.052198 -0.0181095 0.0575243 0.24 0 pose: 0.43075989 5.06809 0.0581602 0 0.00280062 -0.00690336 0.0176376 0.999817 uwb: 0.0 824.989 526.884 -imu_odom_: 1691062802.508994223 0.440533 -0.146046 10.1706 -0.0511327 0.00639159 0.0468716 0.18 0 pose: 0.0 5.06809 0.0581602 0 0.00280062 -0.00690336 0.0176376 0.999817 uwb: 0.50194560 823.926 526.552 -imu_odom_: 1691062802.525053589 0.545878 -0.373495 9.73722 -0.0468716 0.00213053 0.0383495 0.18 0 pose: 0.46996627 5.07544 0.064943 0 0.000607008 -0.00447369 0.0179242 0.999829 uwb: 0.0 823.926 526.552 -imu_odom_: 1691062802.551054689 0.802058 -0.296881 9.96706 -0.0436758 -0.0276969 0.0532632 0.19 0 pose: 0.0 5.07544 0.064943 0 0.000607008 -0.00447369 0.0179242 0.999829 uwb: 0.49862663 825.582 524.663 -imu_odom_: 1691062802.568051124 0.488417 -0.328006 9.94073 -0.0596548 0.00106526 0.0543285 0.19 0 pose: 0.40864414 5.08222 0.0575985 0 0.00247997 -0.00245383 0.0180801 0.99983 uwb: 0.0 825.582 524.663 -imu_odom_: 1691062802.593129447 0.629675 -0.186748 9.73004 -0.0575243 0.0223706 0.0596548 0.18 -0.02 pose: 0.0 5.08222 0.0575985 0 0.00247997 -0.00245383 0.0180801 0.99983 uwb: 0.0 825.582 524.663 -imu_odom_: 1691062802.618999305 0.248997 -0.344765 9.21768 -0.0596548 0.0372843 0.036219 0.18 -0.02 pose: 0.41996303 5.08957 0.0643865 0 0.000377191 -0.00546607 0.0183166 0.999817 uwb: 0.50057776 825.977 523.167 -imu_odom_: 1691062802.635022506 0.347159 -0.172383 9.97185 -0.0394148 0.00852212 0.0426106 0.18 0 pose: 0.0 5.08957 0.0643865 0 0.000377191 -0.00546607 0.0183166 0.999817 uwb: 0.0 825.977 523.167 -imu_odom_: 1691062802.661105852 0.454898 -0.320823 10.1323 -0.0575243 -0.00532632 0.0436758 0.18 0 pose: 0.43029908 5.1037 0.0638416 0 -0.00019218 -0.00642456 0.0186301 0.999806 uwb: 0.49999739 824.471 522.919 -imu_odom_: 1691062802.685996353 0.529119 -0.0023942 9.90242 -0.0745685 0 0.0532632 0.2 0 pose: 0.0 5.1037 0.0638416 0 -0.00019218 -0.00642456 0.0186301 0.999806 uwb: 0.0 824.471 522.919 -imu_odom_: 1691062802.711982871 0.203507 -0.316035 9.65821 -0.0511327 0.0426106 0.0308927 0.2 0 pose: 0.41001489 5.1037 0.0638416 0 -0.000969781-0.00282968 0.0186451 0.999822 uwb: 0.49869371 824.572 521.905 -imu_odom_: 1691062802.728049528 0.232238 -0.0957681 10.1873 -0.0703074 -0.0117179 0.0490022 0.17 0 pose: 0.0 5.1037 0.0638416 0 -0.000969781-0.00282968 0.0186451 0.999822 uwb: 0.0 824.572 521.905 -imu_odom_: 1691062802.751024477 0.215478 -0.567426 9.70609 -0.0756338 0.0127832 0.0585895 0.17 0 pose: 0.52026991 5.11783 0.0633027 0 -0.000970603-0.00237951 0.0188169 0.99982 uwb: 0.0 824.572 521.905 -imu_odom_: 1691062802.777043951 0.641646 -0.342371 9.88805 -0.0617853 -0.0319579 0.0436758 0.25 0.02 pose: 0.0 5.11783 0.0633027 0 -0.000970603-0.00237951 0.0188169 0.99982 uwb: 0.0 824.572 521.905 -imu_odom_: 1691062802.801023049 0.301669 -0.612916 9.57681 -0.0447411 0.02024 0.036219 0.25 0.02 pose: 0.41020446 5.12516 0.070102 0 -0.00133951 0.00127608 0.018886 0.99982 uwb: 0.100048765 826.301 520.15 -imu_odom_: 1691062802.828103251 0.435745 -0.114922 10.149 -0.0468716 -0.0415453 0.0468716 0.19 0.02 pose: 0.49950449 5.13196 0.0627699 0 -0.00433016 -0.0004583830.01907 0.999809 uwb: 0.0 826.301 520.15 -imu_odom_: 1691062802.852995793 0.751779 -0.0191536 10.0317 -0.0383495 0.00213053 0.0468716 0.18 -0.02 pose: 0.0 5.13196 0.0627699 0 -0.00433016 -0.0004583830.01907 0.999809 uwb: 0.49947241 827.605 518.507 -imu_odom_: 1691062802.880254776 0.272939 -0.162806 9.94551 -0.0468716 -0.00958738 0.0543285 0.18 -0.02 pose: 0.67960073 5.1461 0.062243 0 -0.00121615 -0.00257526 0.019229 0.999811 uwb: 0.0 827.605 518.507 -imu_odom_: 1691062802.896103280 0.792481 -0.229843 10.0078 -0.0234358 -0.0543285 0.036219 0.19 0 pose: 0.8042516 5.1461 0.062243 0 -0.000881262-0.00184989 0.0192886 0.999812 uwb: 0.49965032 827.655 517.317 -imu_odom_: 1691062802.922117504 0.699107 -0.316035 9.69652 -0.0436758 -0.04048 0.0458064 0.19 0 pose: 0.0 5.1461 0.062243 0 -0.000881262-0.00184989 0.0192886 0.999812 uwb: 0.0 827.655 517.317 -imu_odom_: 1691062802.944965003 0.246603 -0.1652 9.49301 -0.0223706 -0.0138484 0.036219 0.17 0.02 pose: 0.35064971 5.15342 0.0690491 0 0.000154927 -0.0020935 0.0194042 0.99981 uwb: 0.0 827.655 517.317 -imu_odom_: 1691062802.971038432 0.0981623 0.0454898 10.0317 -0.0415453 -0.0117179 0.0447411 0.17 0.02 pose: 0.48861723 5.16529 0.0664282 0 0.000277947 -0.0028692 0.0194501 0.999807 uwb: 0.50038236 824.784 517.277 -imu_odom_: 1691062802.987028678 0.799663 -0.361524 9.62469 -0.0703074 0.00639159 0.052198 0.18 0.02 pose: 0.0 5.16529 0.0664282 0 0.000277947 -0.0028692 0.0194501 0.999807 uwb: 0.0 824.784 517.277 -imu_odom_: 1691062803.12961824 0.407014 -0.294487 9.72046 -0.0596548 -0.00745685 0.0394148 0.18 0.02 pose: 0.42063675 5.17116 0.0645766 0 0.00113742 -0.00217521 0.0196173 0.999805 uwb: 0.49977864 824.455 516.371 -imu_odom_: 1691062803.29075146 0.775721 -0.277727 10.0006 -0.0394148 0.00213053 0.02024 0.19 0.02 pose: 0.0 5.17116 0.0645766 0 0.00113742 -0.00217521 0.0196173 0.999805 uwb: 0.0 824.455 516.371 -imu_odom_: 1691062803.44948732 0.172383 -0.402226 9.66539 -0.0394148 0.00426106 0.0319579 0.19 0.02 pose: 0.0 5.17116 0.0645766 0 0.00113742 -0.00217521 0.0196173 0.999805 uwb: 0.0 824.455 516.371 -imu_odom_: 1691062803.61067011 0.502782 -0.423774 9.99819 -0.0394148 -0.0585895 0.036219 0.19 0.02 pose: 0.49047504 5.1817 0.0678562 0 -0.0016681 -0.00226303 0.0194369 0.999807 uwb: 0.50037362 826.18 514.526 -imu_odom_: 1691062803.76969470 0.454898 -0.232238 9.77792 -0.0117179 0.036219 0.0383495 0.2 0 pose: 0.0 5.1817 0.0678562 0 -0.0016681 -0.00226303 0.0194369 0.999807 uwb: 0.0 826.18 514.526 -imu_odom_: 1691062803.93011629 0.25618 -0.241814 9.91439 -0.0511327 0.00213053 0.0543285 0.2 0 pose: 0.0 5.1817 0.0678562 0 -0.0016681 -0.00226303 0.0194369 0.999807 uwb: 0.0 826.18 514.526 -imu_odom_: 1691062803.109009166 0.593762 -0.141258 9.92636 -0.0383495 -0.0713727 0.0415453 0.21 0 pose: 0.48941637 5.19583 0.0671973 0 -0.00144379 -0.00148434 0.0194265 0.999809 uwb: 0.49950743 824.623 514.187 -imu_odom_: 1691062803.126056057 0.897826 0.0622492 10.1921 -0.0543285 -0.0596548 0.052198 0.23 0 pose: 0.0 5.19583 0.0671973 0 -0.00144379 -0.00148434 0.0194265 0.999809 uwb: 0.0 824.623 514.187 -imu_odom_: 1691062803.141951516 0.794875 -0.557849 9.37569 -0.0628506 0.0266316 0.0596548 0.23 0 pose: 0.41038238 5.19575 0.0671849 0 0.000505897 -0.00445156 0.0196052 0.999798 uwb: 0.0 824.623 514.187 -imu_odom_: 1691062803.167117626 0.339977 -0.294487 10.0652 -0.052198 0.0245011 0.0553937 0.19 0 pose: 0.15895459 5.20319 0.0668779 0 -0.000730895-0.00528108 0.0197703 0.99979 uwb: 0.49998573 824.248 513.148 -imu_odom_: 1691062803.192960945 0.658405 -0.380678 9.77074 -0.0681769 -0.0138484 0.0426106 0.19 0 pose: 0.0 5.20319 0.0668779 0 -0.000730895-0.00528108 0.0197703 0.99979 uwb: 0.0 824.248 513.148 -imu_odom_: 1691062803.208033662 0.301669 -0.335188 9.91918 -0.0575243 0.0500674 0.0287621 0.18 0 pose: 0.8053890 5.20996 0.0665831 0 -0.00101987 -0.00441625 0.0198361 0.999793 uwb: 0.49975533 821.777 512.972 -imu_odom_: 1691062803.226200485 0.208296 -0.208296 10.0078 -0.0703074 -0.0234358 0.0500674 0.18 0 pose: 0.0 5.20996 0.0665831 0 -0.00101987 -0.00441625 0.0198361 0.999793 uwb: 0.0 821.777 512.972 -imu_odom_: 1691062803.242197731 0.670376 -0.481235 9.48822 -0.0596548 -0.0308927 0.0319579 0.18 0 pose: 0.25101947 5.20996 0.0665831 0 -0.00210511 -0.00329711 0.0199879 0.999793 uwb: 0.0 821.777 512.972 -imu_odom_: 1691062803.258961138 0.191536 -0.134075 10.0269 -0.0543285 0.00532632 0.0468716 0.18 0 pose: 0.0 5.20996 0.0665831 0 -0.00210511 -0.00329711 0.0199879 0.999793 uwb: 0.50069443 821.479 512.156 -imu_odom_: 1691062803.275087875 0.356736 -0.536301 9.76595 -0.0777643 0.0181095 0.0617853 0.18 0 pose: 0.0 5.20996 0.0665831 0 -0.00210511 -0.00329711 0.0199879 0.999793 uwb: 0.0 821.479 512.156 -imu_odom_: 1691062803.290948337 0.617704 -0.299275 10.1634 -0.0575243 -0.0255663 0.0372843 0.24 0 pose: 0.58992157 5.22409 0.066083 0 -0.00377047 -0.0022032 0.0200078 0.99979 uwb: 0.0 821.479 512.156 -imu_odom_: 1691062803.316086157 0.703895 -0.0646434 10.4028 -0.0607201 -0.0330232 0.0383495 0.24 0 pose: 0.0 5.22409 0.066083 0 -0.00377047 -0.0022032 0.0200078 0.99979 uwb: 0.50021322 820.261 511.476 -imu_odom_: 1691062803.342088133 0.890643 -0.189142 9.54329 -0.0511327 0.0308927 0.0223706 0.19 -0.02 pose: 0.64903300 5.23141 0.0729027 0 -0.00443882 -0.00324508 0.0201877 0.999781 uwb: 0.0 820.261 511.476 -imu_odom_: 1691062803.367162373 0.682347 -0.294487 9.43794 -0.0681769 0.00426106 0.0511327 0.2 0 pose: 0.25130237 5.23822 0.0655885 0 -0.00303208 -0.00530856 0.0200961 0.999779 uwb: 0.49938202 820.042 510.881 -imu_odom_: 1691062803.384080063 0.651223 -0.497994 10.4124 -0.0490022 0.0308927 0.0266316 0.21 0 pose: 0.0 5.23822 0.0655885 0 -0.00303208 -0.00530856 0.0200961 0.999779 uwb: 0.0 820.042 510.881 -imu_odom_: 1691062803.409958672 0.493206 -0.363919 9.48583 -0.0532632 -0.00426106 0.0553937 0.21 0 pose: 0.51011179 5.24554 0.0724064 0 -0.00389993 -0.00920803 0.0200267 0.999749 uwb: 0.49982240 822.174 508.753 -imu_odom_: 1691062803.435936732 0.507571 -0.023942 10.1251 -0.0308927 -0.00745685 0.02024 0.18 0 pose: 0.34814446 5.25236 0.0650904 0 -0.00621846 -0.0072142 0.0202045 0.999751 uwb: 0.0 822.174 508.753 -imu_odom_: 1691062803.460915312 0.792481 -0.294487 9.8282 -0.0756338 -0.00319579 0.0436758 0.19 -0.02 pose: 0.0 5.25236 0.0650904 0 -0.00621846 -0.0072142 0.0202045 0.999751 uwb: 0.50003240 822.156 507.36 -imu_odom_: 1691062803.487223228 0.656011 -0.160412 9.85214 -0.0479369 0.0287621 0.0255663 0.19 -0.02 pose: 0.50956640 5.25967 0.0719093 0 -0.00364967 -0.00938421 0.0199809 0.99975 uwb: 0.0 822.156 507.36 -imu_odom_: 1691062803.511940781 0.234632 -0.383072 9.37569 -0.056459 0.0170442 0.0330232 0.19 0 pose: 0.0 5.25967 0.0719093 0 -0.00364967 -0.00938421 0.0199809 0.99975 uwb: 0.50115816 822.707 506.188 -imu_odom_: 1691062803.537162305 0.414197 -0.265756 9.67497 -0.072438 0.00532632 0.0607201 0.19 0 pose: 0.33185877 5.2738 0.0714072 0 -0.00150535 -0.00947306 0.0197505 0.999759 uwb: 0.0 822.707 506.188 -imu_odom_: 1691062803.560074550 0.208296 -0.220267 9.57681 -0.0468716 0.0138484 0.0447411 0.18 0 pose: 0.25058199 5.2738 0.0714072 0 -0.00232 -0.00688434 0.0197788 0.999778 uwb: 0.49750671 823.615 504.642 -imu_odom_: 1691062803.585912619 0.186748 -0.277727 9.59596 -0.0607201 -0.00852212 0.0532632 0.18 0 pose: 0.0 5.2738 0.0714072 0 -0.00232 -0.00688434 0.0197788 0.999778 uwb: 0.0 823.615 504.642 -imu_odom_: 1691062803.609979212 0.339977 -0.328006 9.50737 -0.0276969 0.0266316 0.0298274 0.25 0 pose: 0.24932791 5.2738 0.0714072 0 -0.00247108 -0.00425196 0.019992 0.999788 uwb: 0.50001198 822.528 504.331 -imu_odom_: 1691062803.625971499 0.586579 0.0909797 10.9654 -0.0490022 -0.00958738 0.0585895 0.25 0 pose: 0.0 5.2738 0.0714072 0 -0.00247108 -0.00425196 0.019992 0.999788 uwb: 0.0 822.528 504.331 -imu_odom_: 1691062803.652933293 0.481235 -0.1652 10.2472 -0.0500674 0.0468716 0.036219 0.18 0 pose: 0.48845101 5.28794 0.0709069 0 -0.00293855 0.000577124 0.020186 0.999792 uwb: 0.50001781 823.079 503.137 -imu_odom_: 1691062803.677980409 0.565032 -0.407014 9.61033 -0.0735032 0.00532632 0.0607201 0.19 0.02 pose: 0.0 5.28794 0.0709069 0 -0.00293855 0.000577124 0.020186 0.999792 uwb: 0.0 823.079 503.137 -imu_odom_: 1691062803.693937407 0.162806 -0.174777 9.48343 -0.0319579 -0.0223706 0.0319579 0.19 0.02 pose: 0.41165105 5.30207 0.0704125 0 -0.00192653 0.000803434 0.0202419 0.999793 uwb: 0.0 823.079 503.137 -imu_odom_: 1691062803.719915468 0.526724 -0.292093 9.73482 -0.0820254 -0.0138484 0.0628506 0.18 0.02 pose: 0.0 5.30207 0.0704125 0 -0.00192653 0.000803434 0.0202419 0.999793 uwb: 0.50123399 825.62 500.646 -imu_odom_: 1691062803.745938443 0.153229 -0.191536 9.43794 -0.0511327 0.0383495 0.0458064 0.18 0.02 pose: 0.50830064 5.30207 0.0704125 0 -0.00232554 -0.00101957 0.0204461 0.999788 uwb: 0.50303054 826.076 499.145 -imu_odom_: 1691062803.771051472 0.45011 -0.112527 10.1347 -0.0798948 -0.00852212 0.0585895 0.19 0.02 pose: 0.0 5.30207 0.0704125 0 -0.00232554 -0.00101957 0.0204461 0.999788 uwb: 0.0 826.076 499.145 -imu_odom_: 1691062803.786933516 0.301669 -0.244209 9.57441 -0.0436758 -0.0117179 0.0330232 0.19 0.02 pose: 0.43047700 5.31621 0.0699267 0 -0.00285825 -0.0018952 0.0207381 0.999779 uwb: 0.0 826.076 499.145 -imu_odom_: 1691062803.814058633 0.605733 -0.260968 9.86172 -0.0735032 0.00852212 0.0617853 0.18 0.02 pose: 0.0 5.31621 0.0699267 0 -0.00285825 -0.0018952 0.0207381 0.999779 uwb: 0.0 826.076 499.145 -imu_odom_: 1691062803.838044147 0.533907 -0.158017 10.228 -0.0468716 -0.00319579 0.0330232 0.18 0.02 pose: 0.49967950 5.32351 0.0767563 0 -0.0004290733.91602e-05 0.0210124 0.999779 uwb: 0.0 826.076 499.145 -imu_odom_: 1691062803.854005228 0.260968 -0.299275 9.7444 -0.076699 0.00532632 0.0500674 0.19 0 pose: 0.0 5.32351 0.0767563 0 -0.0004290733.91602e-05 0.0210124 0.999779 uwb: 0.99673124 823.619 499.133 -imu_odom_: 1691062803.880919774 0.0694318 -0.565032 9.60314 -0.0245011 0.0340885 0.0330232 0.19 0 pose: 0.76057129 5.33765 0.0762856 0 -0.000377536-0.0019166 0.0212842 0.999772 uwb: 0.0 823.619 499.133 -imu_odom_: 1691062803.905928102 0.641646 -0.0502782 9.70849 -0.0511327 -0.0191748 0.0479369 0.17 0 pose: 0.0 5.33765 0.0762856 0 -0.000377536-0.0019166 0.0212842 0.999772 uwb: 0.50063611 822.408 498.49 -imu_odom_: 1691062803.932170688 0.457293 -0.332794 10.0604 -0.0479369 -0.0351537 0.0511327 0.17 0 pose: 0.7973687 5.33765 0.0762856 0 -0.000811891-0.00118757 0.0212596 0.999773 uwb: 0.0 822.408 498.49 -imu_odom_: 1691062803.956928489 0.629675 -0.117316 10.058 -0.0394148 -0.0106526 0.0394148 0.19 0.02 pose: 0.52113029 5.35178 0.0758206 0 -0.000946013-0.00186969 0.0213514 0.99977 uwb: 0.50058069 823.27 496.741 -imu_odom_: 1691062803.983052375 0.316035 -0.138864 9.8258 -0.0671117 0.0298274 0.056459 0.22 0 pose: 0.0 5.35178 0.0758206 0 -0.000946013-0.00186969 0.0213514 0.99977 uwb: 0.0 823.27 496.741 -imu_odom_: 1691062803.999902402 0.497994 -0.134075 10.2208 -0.0319579 -0.0458064 0.0383495 0.22 0 pose: 0.25986227 5.35178 0.0758206 0 -0.00204823 -0.00316058 0.0214552 0.999763 uwb: 0.49931494 826.436 494.498 -imu_odom_: 1691062804.24955644 0.454898 -0.248997 9.9934 -0.0372843 0.00213053 0.0394148 0.22 0 pose: 0.50912601 5.36591 0.0753625 0 0.000959035 -0.00234157 0.0216584 0.999762 uwb: 0.0 826.436 494.498 -imu_odom_: 1691062804.48909661 0.373495 -0.0861913 9.94551 -0.0458064 0.00639159 0.0383495 0.25 0 pose: 0.33964872 5.36591 0.0753625 0 -0.000487438-0.00268633 0.0216578 0.999762 uwb: 0.49939953 827.328 492.778 -imu_odom_: 1691062804.64894949 0.272939 -0.0574608 10.1299 -0.0852212 0.00532632 0.0607201 0.25 0 pose: 0.0 5.36591 0.0753625 0 -0.000487438-0.00268633 0.0216578 0.999762 uwb: 0.0 827.328 492.778 -imu_odom_: 1691062804.89892195 0.35913 -0.301669 9.59357 -0.0585895 -0.0191748 0.0298274 0.19 0 pose: 0.6011180 5.36591 0.0753625 0 5.2146e-05 -0.00233636 0.021653 0.999763 uwb: 0.0 827.328 492.778 -imu_odom_: 1691062804.115012808 0.102951 -0.378284 10.0054 -0.0394148 0.00745685 0.0298274 0.19 0 pose: 0.0 5.36591 0.0753625 0 5.2146e-05 -0.00233636 0.021653 0.999763 uwb: 0.50151690 825.261 492.517 -imu_odom_: 1691062804.139870354 0.921768 -0.172383 9.68215 -0.0170442 -0.00532632 0.0287621 0.19 0 pose: 0.40955702 5.38005 0.074909 0 0.00170624 0.000207497 0.021769 0.999762 uwb: 0.0 825.261 492.517 -imu_odom_: 1691062804.152876446 0.936133 -0.203507 10.2735 -0.0319579 -0.0500674 0.0490022 0.19 0 pose: 0.0 5.38005 0.074909 0 0.00170624 0.000207497 0.021769 0.999762 uwb: 0.49846334 825.437 491.587 -imu_odom_: 1691062804.168870192 0.603339 -0.035913 9.42358 -0.0575243 0.00958738 0.0500674 0.21 0 pose: 0.0 5.38005 0.074909 0 0.00170624 0.000207497 0.021769 0.999762 uwb: 0.0 825.437 491.587 -imu_odom_: 1691062804.193016989 0.548272 -0.201113 9.9503 -0.0543285 -0.00213053 0.0553937 0.21 0 pose: 0.88955314 5.39418 0.0744566 0 0.00047053 -0.00164168 0.0215208 0.999767 uwb: 0.0 825.437 491.587 -imu_odom_: 1691062804.207106266 0.979228 -0.433351 9.42118 -0.0798948 0.0245011 0.0617853 0.19 0 pose: 0.0 5.39418 0.0744566 0 0.00047053 -0.00164168 0.0215208 0.999767 uwb: 0.50116984 827.281 489.718 -imu_odom_: 1691062804.222015077 0.0909797 -0.277727 10.3238 -0.0394148 0.04048 0.0340885 0.19 0 pose: 0.38180077 5.40832 0.0739993 0 0.000637482 -0.00499111 0.0218238 0.999749 uwb: 0.0 827.281 489.718 -imu_odom_: 1691062804.247884937 0.371101 -0.19393 9.67976 -0.0862864 -0.0106526 0.0681769 0.25 0 pose: 0.0 5.40832 0.0739993 0 0.000637482 -0.00499111 0.0218238 0.999749 uwb: 0.50047863 828.713 488.071 -imu_odom_: 1691062804.274039155 0.296881 -0.146046 9.78989 -0.0479369 0.0319579 0.0287621 0.17 -0.02 pose: 0.14975890 5.40832 0.0739993 0 0.000137345 -0.00477353 0.0218969 0.999749 uwb: 0.0 828.713 488.071 -imu_odom_: 1691062804.300034715 0.426168 -0.25618 9.75158 -0.0745685 -0.0298274 0.0479369 0.23 -0.02 pose: 0.0 5.40832 0.0739993 0 0.000137345 -0.00477353 0.0218969 0.999749 uwb: 0.49969701 828.422 487.203 -imu_odom_: 1691062804.326013652 0.339977 -0.35913 9.72525 -0.0660464 -0.0149137 0.0532632 0.18 0.02 pose: 0.67987492 5.42246 0.0735576 0 0.000628948 0.00088813 0.0221325 0.999754 uwb: 0.0 828.422 487.203 -imu_odom_: 1691062804.352910408 0.553061 -0.169988 9.7875 -0.0713727 -0.0884169 0.0511327 0.18 0.02 pose: 0.43992353 5.42773 0.0785149 0 -0.00337776 0.000629602 0.022387 0.999743 uwb: 0.49713342 827.229 486.612 -imu_odom_: 1691062804.368985816 0.907402 0.0335188 10.173 -0.0458064 -0.0106526 0.0340885 0.2 0 pose: 0.6876794 5.42974 0.0804077 0 -0.00303054 -0.0002233880.0224261 0.999744 uwb: 0.0 827.229 486.612 -imu_odom_: 1691062804.384922107 0.56982 -0.567426 9.07881 -0.0660464 -0.00745685 0.0468716 0.2 0 pose: 0.0 5.42974 0.0804077 0 -0.00303054 -0.0002233880.0224261 0.999744 uwb: 0.0 827.229 486.612 -imu_odom_: 1691062804.401952373 0.725443 -0.186748 10.41 -0.0415453 -0.00426106 0.0287621 0.2 0 pose: 0.52031661 5.44044 0.0767401 0 -0.00264984 -0.00458365 0.0225542 0.999732 uwb: 0.49990991 826.854 485.499 -imu_odom_: 1691062804.418955225 0.92895 -0.201113 9.98382 -0.0703074 -0.0234358 0.0543285 0.25 0 pose: 0.0 5.44044 0.0767401 0 -0.00264984 -0.00458365 0.0225542 0.999732 uwb: 0.0 826.854 485.499 -imu_odom_: 1691062804.434873142 0.124498 -0.452504 9.60075 -0.0660464 0.0181095 0.0447411 0.25 0 pose: 0.0 5.44044 0.0767401 0 -0.00264984 -0.00458365 0.0225542 0.999732 uwb: 0.0 826.854 485.499 -imu_odom_: 1691062804.461869059 0.234632 -0.153229 10.0341 -0.0447411 0.0138484 0.0490022 0.25 0 pose: 0.42010888 5.44388 0.0799766 0 -0.00216707 -0.00720909 0.0225995 0.999716 uwb: 0.50139149 826.584 484.698 -imu_odom_: 1691062804.486951175 0.117316 -0.222661 10.2352 -0.0330232 -0.00426106 0.0298274 0.19 0 pose: 0.34936064 5.45584 0.0775035 0 -0.00150057 -0.00362497 0.0227519 0.999733 uwb: 0.0 826.584 484.698 -imu_odom_: 1691062804.514025546 0.244209 -0.0670376 9.80186 -0.0905475 -0.00852212 0.0553937 0.21 0 pose: 0.0 5.45584 0.0775035 0 -0.00150057 -0.00362497 0.0227519 0.999733 uwb: 0.49868499 827.57 483.154 -imu_odom_: 1691062804.539004709 0.155623 -0.35913 9.46907 -0.056459 0.0447411 0.0319579 0.19 0 pose: 0.32091319 5.45801 0.0795517 0 -0.000763194-0.0006064720.0226895 0.999742 uwb: 0.0 827.57 483.154 -imu_odom_: 1691062804.565858010 0.28491 -0.246603 9.97903 -0.0681769 -0.0532632 0.0458064 0.19 0 pose: 0.0 5.45801 0.0795517 0 -0.000763194-0.0006064720.0226895 0.999742 uwb: 0.50129817 826.347 482.498 -imu_odom_: 1691062804.581914752 0.986411 -0.0885855 9.98622 -0.0330232 0.00958738 0.0223706 0.21 0 pose: 0.51918501 5.47215 0.0791271 0 -0.00139384 0.0040188 0.0227731 0.999732 uwb: 0.0 826.347 482.498 -imu_odom_: 1691062804.609009246 0.577003 -0.167594 10.0604 -0.0639159 0.0372843 0.0681769 0.21 0 pose: 0.36035873 5.47215 0.0791271 0 -0.00137763 0.00403243 0.0226969 0.999733 uwb: 0.50147607 824.646 481.931 -imu_odom_: 1691062804.635047679 0.399832 -0.433351 9.97903 -0.0468716 0.0138484 0.0383495 0.19 0 pose: 0.7032827 5.47215 0.0791271 0 -0.00120239 0.00350584 0.0227973 0.999733 uwb: 0.0 824.646 481.931 -imu_odom_: 1691062804.659903475 0.517148 -0.361524 9.93833 -0.0426106 -0.00639159 0.0372843 0.19 0 pose: 0.46100100 5.48628 0.0787058 0 -0.00315119 0.00172729 0.0230618 0.999728 uwb: 0.49856541 823.356 481.104 -imu_odom_: 1691062804.675003608 0.308852 -0.114922 9.77553 -0.0223706 0.0276969 0.0372843 0.18 0.02 pose: 0.0 5.48628 0.0787058 0 -0.00315119 0.00172729 0.0230618 0.999728 uwb: 0.0 823.356 481.104 -imu_odom_: 1691062804.700989544 0.440533 -0.246603 9.70131 -0.0617853 0.015979 0.0479369 0.18 0.02 pose: 0.39955929 5.49719 0.0817097 0 -0.002639 0.000536065 0.0230085 0.999732 uwb: 0.50121067 823.628 480.416 -imu_odom_: 1691062804.723915498 0.694318 -0.177171 10.2903 -0.0479369 -0.0372843 0.0543285 0.2 0 pose: 0.0 5.49719 0.0817097 0 -0.002639 0.000536065 0.0230085 0.999732 uwb: 0.0 823.628 480.416 -imu_odom_: 1691062804.749014821 0.562637 -0.138864 10.2352 -0.056459 -0.0511327 0.0468716 0.2 0 pose: 0.48911890 5.50538 0.0829712 0 -0.000983995-0.00418294 0.0232753 0.99972 uwb: 0.49915455 822.115 480.435 -imu_odom_: 1691062804.765986174 0.373495 -0.205901 9.77074 -0.0394148 0.00639159 0.0394148 0.23 0 pose: 0.0 5.50538 0.0829712 0 -0.000983995-0.00418294 0.0232753 0.99972 uwb: 0.0 822.115 480.435 -imu_odom_: 1691062804.790981670 0.263362 -0.430956 9.25838 -0.0660464 0.0213053 0.056459 0.23 0 pose: 0.32107943 5.51456 0.0778826 0 0.0010373 -0.00552143 0.0233567 0.999711 uwb: 0.0 822.115 480.435 -imu_odom_: 1691062804.818077331 0.4956 -0.19393 9.92397 -0.0479369 -0.0266316 0.0468716 0.2 0.02 pose: 0.0 5.51456 0.0778826 0 0.0010373 -0.00552143 0.0233567 0.999711 uwb: 0.49918954 818.681 480.778 -imu_odom_: 1691062804.843004873 0.646434 -0.167594 9.83538 -0.0681769 -0.0266316 0.0415453 0.2 0 pose: 0.41872938 5.51456 0.0778826 0 -0.000452665-0.00305092 0.023597 0.999717 uwb: 0.0 818.681 480.778 -imu_odom_: 1691062804.859863650 0.323217 -0.215478 10.0173 -0.0617853 0.0106526 0.0511327 0.2 0 pose: 0.0 5.51456 0.0778826 0 -0.000452665-0.00305092 0.023597 0.999717 uwb: 0.50148774 818.479 480.201 -imu_odom_: 1691062804.877008826 0.294487 -0.392649 9.60554 -0.0862864 -0.02024 0.0628506 0.2 0 pose: 0.51989955 5.52869 0.0774841 0 0.00128924 -0.0067162 0.0237285 0.999695 uwb: 0.0 818.479 480.201 -imu_odom_: 1691062804.894045801 0.670376 -0.162806 10.0173 -0.0713727 -0.00426106 0.0415453 0.18 0.02 pose: 0.0 5.52869 0.0774841 0 0.00128924 -0.0067162 0.0237285 0.999695 uwb: 0.0 818.479 480.201 -imu_odom_: 1691062804.910034881 0.682347 -0.435745 9.94073 -0.0681769 -0.0138484 0.0490022 0.18 0.02 pose: 0.44159467 5.53596 0.0843549 0 0.000128083 -0.0061593 0.0240016 0.999693 uwb: 0.49729382 818.663 479.267 -imu_odom_: 1691062804.926978819 0.481235 -0.047884 10.307 -0.0394148 -0.0319579 0.0500674 0.23 0 pose: 0.7936356 5.53596 0.0843549 0 -0.000556498-0.00667669 0.0240426 0.999688 uwb: 0.0 818.663 479.267 -imu_odom_: 1691062804.943837888 0.708684 -0.371101 9.4164 -0.04048 0.0287621 0.036219 0.23 0 pose: 0.0 5.53596 0.0843549 0 -0.000556498-0.00667669 0.0240426 0.999688 uwb: 0.0 818.663 479.267 -imu_odom_: 1691062804.957980245 0.746991 -0.466869 9.61272 -0.0703074 -0.02024 0.0415453 0.23 0 pose: 0.41855731 5.54711 0.0811412 0 -0.00050974 -0.00783073 0.0241442 0.999678 uwb: 0.50119026 818.439 478.624 -imu_odom_: 1691062804.974037862 0.289698 -0.105345 9.72525 -0.052198 -0.0170442 0.0468716 0.17 0 pose: 0.0 5.54711 0.0811412 0 -0.00050974 -0.00783073 0.0241442 0.999678 uwb: 0.0 818.439 478.624 -imu_odom_: 1691062804.990967219 0.521936 -0.100556 9.94551 -0.0532632 0.036219 0.0500674 0.17 0 pose: 0.0 5.54711 0.0811412 0 -0.00050974 -0.00783073 0.0241442 0.999678 uwb: 0.0 818.439 478.624 -imu_odom_: 1691062805.8003610 0.0670376 -0.452504 9.83299 -0.0532632 0.0276969 0.052198 0.17 0 pose: 0.21041026 5.55009 0.0839713 0 -0.00137348 -0.00829076 0.0241889 0.999672 uwb: 0.50004407 814.974 478.946 -imu_odom_: 1691062805.24898844 0.45011 -0.047884 9.98861 -0.0372843 -0.00106526 0.0415453 0.27 -0.02 pose: 0.0 5.55009 0.0839713 0 -0.00137348 -0.00829076 0.0241889 0.999672 uwb: 0.0 814.974 478.946 -imu_odom_: 1691062805.40888507 -0.0191536 -0.383072 9.81144 -0.0383495 0.0213053 0.0490022 0.18 0 pose: 0.34093781 5.55696 0.0766955 0 0.000314613 -0.00596647 0.02435 0.999686 uwb: 0.0 814.974 478.946 -imu_odom_: 1691062805.67849135 0.670376 -0.445322 10.1035 -0.0543285 0.015979 0.0468716 0.18 0 pose: 0.0 5.55696 0.0766955 0 0.000314613 -0.00596647 0.02435 0.999686 uwb: 0.49862667 815.751 478.247 -imu_odom_: 1691062805.83829466 0.0383072 -0.258574 9.35415 -0.0298274 0.00958738 0.0234358 0.25 -0.02 pose: 0.49898540 5.56428 0.083503 0 0.000551496 -0.00323247 0.0245272 0.999694 uwb: 0.0 815.751 478.247 -imu_odom_: 1691062805.99884167 0.665588 0.110133 10.4722 -0.0596548 0.00213053 -0.0351537 0.25 -0.02 pose: 0.34958231 5.57518 0.0865494 0 -0.000801227-0.00258683 0.0244759 0.999697 uwb: 0.49995660 817.675 476.428 -imu_odom_: 1691062805.115887537 0.184354 -0.0383072 9.2919 -0.0628506 -0.04048 -0.0809601 0.18 -0.14 pose: 0.7053534 5.57842 0.0831299 0 -0.000205264-0.00291789 0.0242104 0.999703 uwb: 0.0 817.675 476.428 -imu_odom_: 1691062805.131827037 0.0263362 0.158017 10.3094 -0.0756338 -0.00852212 -0.107592 0.18 -0.14 pose: 0.0 5.57842 0.0831299 0 -0.000205264-0.00291789 0.0242104 0.999703 uwb: 0.0 817.675 476.428 -imu_odom_: 1691062805.148834847 0.727837 -0.411803 9.56723 -0.076699 -0.0436758 -0.143811 0.18 -0.14 pose: 0.32017824 5.57842 0.0831299 0 0.00165815 -0.00169994 0.0223859 0.999747 uwb: 0.50128943 815.047 476.254 -imu_odom_: 1691062805.164828302 0.342371 -0.447716 9.76834 -0.0639159 0.0181095 -0.193878 0.25 -0.41 pose: 0.0 5.57842 0.0831299 0 0.00165815 -0.00169994 0.0223859 0.999747 uwb: 0.0 815.047 476.254 -imu_odom_: 1691062805.181889192 1.04627 -0.107739 9.66779 -0.0511327 -0.00852212 -0.254598 0.25 -0.41 pose: 0.0 5.57842 0.0831299 0 0.00165815 -0.00169994 0.0223859 0.999747 uwb: 0.0 815.047 476.254 -imu_odom_: 1691062805.197881772 0.282516 0.160412 10.0054 -0.0308927 0.0245011 -0.339819 0.25 -0.41 pose: 0.32935935 5.58569 0.089999 0 0.000259955 -0.00236278 0.019355 0.99981 uwb: 0.49971452 812.021 476.434 -imu_odom_: 1691062805.213892726 0.754174 0.215478 10.3358 -0.0138484 -0.0330232 -0.36432 0.18 -0.38 pose: 0.42045013 5.59249 0.0827282 0 0.00141658 -0.00263675 0.012759 0.999914 uwb: 0.0 812.021 476.434 -imu_odom_: 1691062805.229820559 0.174777 -0.0837971 9.04529 -0.0468716 0.00319579 -0.396278 0.23 -0.55 pose: 0.8010435 5.59257 0.0827419 0 0.00223907 -0.00321527 0.0111407 0.99993 uwb: 0.0 812.021 476.434 -imu_odom_: 1691062805.243882713 0.177171 -0.0909797 10.4651 -0.0500674 -0.00426106 -0.425041 0.23 -0.55 pose: 0.0 5.59257 0.0827419 0 0.00223907 -0.00321527 0.0111407 0.99993 uwb: 0.0 812.021 476.434 -imu_odom_: 1691062805.260827527 -0.0383072 -0.25618 9.61033 -0.0447411 -0.0149137 -0.449542 0.17 -0.47 pose: 0.37990506 5.60343 0.0858108 0 0.00382163 -0.0007784120.00277544 0.999989 uwb: 0.49997118 811.775 475.749 -imu_odom_: 1691062805.277929540 0.198719 -0.184354 9.92875 -0.0671117 -0.0223706 -0.469782 0.17 -0.47 pose: 0.0 5.60343 0.0858108 0 0.00382163 -0.0007784120.00277544 0.999989 uwb: 0.0 811.775 475.749 -imu_odom_: 1691062805.294866480 0.0311246 -0.129287 9.30147 -0.076699 0.00319579 -0.476173 0.17 -0.47 pose: 0.0 5.60343 0.0858108 0 0.00382163 -0.0007784120.00277544 0.999989 uwb: 0.0 811.775 475.749 -imu_odom_: 1691062805.310869559 0.864307 -0.177171 9.95509 -0.0820254 -0.00319579 -0.498544 0.19 -0.61 pose: 0.25014454 5.60672 0.0824251 0 0.00329091 0.00151524 -0.00343305 0.999988 uwb: 0.50146733 813.766 474.092 -imu_odom_: 1691062805.327925491 0.699107 -0.272939 9.56244 -0.072438 -0.00639159 -0.533697 0.19 -0.61 pose: 0.0 5.60672 0.0824251 0 0.00329091 0.00151524 -0.00343305 0.999988 uwb: 0.0 813.766 474.092 -imu_odom_: 1691062805.344920761 1.10852 0.0861913 9.79947 -0.0639159 -0.0383495 -0.532632 0.19 -0.61 pose: 0.33939500 5.61394 0.0893446 0 0.00287313 0.0033074 -0.0122501 0.999915 uwb: 0.0 813.766 474.092 -imu_odom_: 1691062805.359814407 1.403 0.00718261 9.4954 -0.0841559 -0.0703074 -0.477238 0.17 -0.55 pose: 0.42084094 5.62086 0.0821344 0 0.00248661 -0.000993386-0.0241514 0.999705 uwb: 0.49879875 817.127 471.894 -imu_odom_: 1691062805.376865381 1.49877 -0.395043 9.9096 -0.0617853 -0.00319579 -0.482565 0.14 -0.47 pose: 0.6899251 5.62086 0.0821344 0 0.00248804 -0.00189654 -0.0259326 0.999659 uwb: 0.0 817.127 471.894 -imu_odom_: 1691062805.390920827 0.909797 -0.500388 9.70849 -0.0490022 0.0234358 -0.490022 0.14 -0.47 pose: 0.0 5.62086 0.0821344 0 0.00248804 -0.00189654 -0.0259326 0.999659 uwb: 0.0 817.127 471.894 -imu_odom_: 1691062805.405794933 0.852336 -0.316035 10.4722 -0.0703074 0.0127832 -0.451672 0.14 -0.47 pose: 0.39100815 5.62805 0.088996 0 0.00119952 -0.0054565 -0.0361532 0.999331 uwb: 0.50113486 817.805 470.865 -imu_odom_: 1691062805.421904172 0.732626 -0.0191536 10.386 -0.0500674 -0.00213053 -0.381365 0.12 -0.38 pose: 0.0 5.62805 0.088996 0 0.00119952 -0.0054565 -0.0361532 0.999331 uwb: 0.0 817.805 470.865 -imu_odom_: 1691062805.438787740 1.10373 -0.464475 9.75158 -0.0639159 0.0191748 -0.315318 0.12 -0.38 pose: 0.0 5.62805 0.088996 0 0.00119952 -0.0054565 -0.0361532 0.999331 uwb: 0.0 817.805 470.865 -imu_odom_: 1691062805.454898729 1.18752 -0.363919 9.83777 -0.0681769 0.00319579 -0.26099 0.14 -0.47 pose: 0.21877476 5.63503 0.0817785 0 0.00101102 -0.00721447 -0.0412744 0.999121 uwb: 0.49734925 818.387 469.548 -imu_odom_: 1691062805.472080654 0.859518 -0.385466 9.81383 -0.0596548 0.0117179 -0.22051 0.14 -0.47 pose: 0.0 5.63503 0.0817785 0 0.00101102 -0.00721447 -0.0412744 0.999121 uwb: 0.0 818.387 469.548 -imu_odom_: 1691062805.489077673 0.677559 -0.244209 9.31344 -0.0351537 0.0276969 -0.252468 0.14 -0.47 pose: 0.0 5.63503 0.0817785 0 0.00101102 -0.00721447 -0.0412744 0.999121 uwb: 0.0 818.387 469.548 -imu_odom_: 1691062805.504966717 0.586579 -0.112527 10.0485 -0.0649811 -0.0127832 -0.24075 0.08 -0.29 pose: 0.66156521 5.63503 0.0817789 0 -0.00113503 -0.0123245 -0.0518063 0.99858 uwb: 0.50082862 817.247 469.244 -imu_odom_: 1691062805.522052106 0.90022 -0.174777 9.83059 -0.0681769 0 -0.203466 0.11 -0.35 pose: 0.0 5.63503 0.0817789 0 -0.00113503 -0.0123245 -0.0518063 0.99858 uwb: 0.0 817.247 469.244 -imu_odom_: 1691062805.547807640 1.03908 -0.416591 9.97185 -0.0596548 -0.0266316 -0.194943 0.11 -0.35 pose: 0.43097282 5.64224 0.0887142 0 -0.000110134-0.014005 -0.0575924 0.998242 uwb: 0.49905248 817.893 468.104 -imu_odom_: 1691062805.564874947 0.723049 -0.277727 9.96946 -0.052198 0.0351537 -0.192813 0.07 -0.23 pose: 0.0 5.64224 0.0887142 0 -0.000110134-0.014005 -0.0575924 0.998242 uwb: 0.0 817.893 468.104 -imu_odom_: 1691062805.590855926 -0.287304 -0.0023942 10.1778 -0.0447411 0.0490022 -0.339819 0.07 -0.23 pose: 0.7823196 5.64224 0.0887142 0 -0.000559158-0.0147384 -0.0585017 0.998178 uwb: 0.0 817.893 468.104 -imu_odom_: 1691062805.607857028 -0.658405 0.37589 9.88805 -0.0468716 -0.0351537 -0.475108 0.09 -0.32 pose: 0.0 5.64224 0.0887142 0 -0.000559158-0.0147384 -0.0585017 0.998178 uwb: 0.50025408 817.665 467.437 -imu_odom_: 1691062805.624917335 -0.548272 0.158017 9.4547 -0.0830906 0.00532632 -0.497478 0.09 -0.32 pose: 0.0 5.64224 0.0887142 0 -0.000559158-0.0147384 -0.0585017 0.998178 uwb: 0.0 817.665 467.437 -imu_odom_: 1691062805.639905476 -0.184354 -0.428562 10.137 -0.0820254 -0.0319579 -0.479369 0.11 -0.47 pose: 0.77981726 5.64907 0.0814723 0 -0.00120578 -0.0114696 -0.0718329 0.99735 uwb: 0.0 817.665 467.437 -imu_odom_: 1691062805.655849058 -0.0742203 -0.557849 9.69412 -0.0692422 -0.0543285 -0.492152 0.11 -0.47 pose: 0.0 5.64907 0.0814723 0 -0.00120578 -0.0114696 -0.0718329 0.99735 uwb: 0.50123110 818.789 466.161 -imu_odom_: 1691062805.672938530 0.675165 -0.124498 9.8282 -0.0617853 -0.0298274 -0.515588 0.11 -0.47 pose: 0.39000196 5.64915 0.0814859 0 -0.00151558 -0.00804877 -0.0821264 0.996588 uwb: 0.0 818.789 466.161 -imu_odom_: 1691062805.688927610 0.0766145 0.0885855 9.71567 -0.056459 0.0106526 -0.511327 0.12 -0.55 pose: 0.0 5.64915 0.0814859 0 -0.00151558 -0.00804877 -0.0821264 0.996588 uwb: 0.0 818.789 466.161 -imu_odom_: 1691062805.706077454 0.428562 -0.258574 10.2208 -0.0500674 -0.0181095 -0.508131 0.12 -0.55 pose: 0.42070386 5.6632 0.0810507 0 8.02514e-05 -0.00761522 -0.0936348 0.995577 uwb: 0.49918664 815.301 466.612 -imu_odom_: 1691062805.722837945 0.423774 -0.332794 9.84975 -0.0553937 -0.0138484 -0.536893 0.12 -0.55 pose: 0.7153570 5.66328 0.0810642 0 -0.000133232-0.00699236 -0.0955836 0.995397 uwb: 0.0 815.301 466.612 -imu_odom_: 1691062805.737937204 0.196325 -0.0095768110.0317 -0.0479369 -0.00532632 -0.557133 0.13 -0.61 pose: 0.0 5.66328 0.0810642 0 -0.000133232-0.00699236 -0.0955836 0.995397 uwb: 0.0 815.301 466.612 -imu_odom_: 1691062805.753805541 0.311246 0.0526724 9.76834 -0.0575243 -0.0149137 -0.561394 0.13 -0.58 pose: 0.41856024 5.6632 0.0810507 0 -0.000510651-0.0039243 -0.107589 0.994188 uwb: 0.49940829 818.674 464.29 -imu_odom_: 1691062805.769786455 0.0814029 -0.009576819.84256 -0.0585895 -0.0340885 -0.5827 0.13 -0.58 pose: 0.0 5.6632 0.0810507 0 -0.000510651-0.0039243 -0.107589 0.994188 uwb: 0.0 818.674 464.29 -imu_odom_: 1691062805.785879653 0.572214 -0.265756 9.59357 -0.0553937 0.00213053 -0.596548 0.13 -0.58 pose: 0.0 5.6632 0.0810507 0 -0.000510651-0.0039243 -0.107589 0.994188 uwb: 0.0 818.674 464.29 -imu_odom_: 1691062805.802793261 0.653617 0.0454898 10.2951 -0.0575243 -0.0170442 -0.593352 0.13 -0.64 pose: 0.22874624 5.66328 0.0810642 0 0.00126378 -0.00281925 -0.114501 0.993418 uwb: 0.50046698 819.452 463.507 -imu_odom_: 1691062805.818795757 0.629675 -0.160412 10.0916 -0.0479369 -0.0340885 -0.616788 0.13 -0.64 pose: 0.0 5.66328 0.0810642 0 0.00126378 -0.00281925 -0.114501 0.993418 uwb: 0.0 819.452 463.507 -imu_odom_: 1691062805.844843232 0.409408 0.134075 10.0126 -0.0649811 -0.00319579 -0.658333 0.15 -0.67 pose: 0.33041221 5.67018 0.0738208 0 0.00124362 -0.00395863 -0.12486 0.992166 uwb: 0.0 819.452 463.507 -imu_odom_: 1691062805.861775213 0.356736 0.0383072 10.2065 -0.0692422 0.0330232 -0.689226 0.15 -0.67 pose: 0.32940893 5.67736 0.0807795 0 0.00253905 -0.00626955 -0.135641 0.990735 uwb: 0.49948121 820.531 462.056 -imu_odom_: 1691062805.877880661 -0.009576810.0526724 9.69652 -0.0607201 0.0468716 -0.668986 0.15 -0.67 pose: 0.0 5.67736 0.0807795 0 0.00253905 -0.00626955 -0.135641 0.990735 uwb: 0.0 820.531 462.056 -imu_odom_: 1691062805.893942653 0.612916 -0.699107 9.6223 -0.0319579 0.0958738 -0.682835 0.2 -0.97 pose: 0.51086719 5.68422 0.0735712 0 0.0063168 -0.00254633 -0.153655 0.988101 uwb: 0.0 820.531 462.056 -imu_odom_: 1691062805.910822721 0.0430956 0.0550666 9.16979 -0.0639159 -0.036219 -0.713727 0.15 -0.7 pose: 0.0 5.68422 0.0735712 0 0.0063168 -0.00254633 -0.153655 0.988101 uwb: 0.49988951 817.905 462.021 -imu_odom_: 1691062805.927843656 -0.323217 -0.0526724 10.3166 -0.0490022 -0.0298274 -0.743555 0.15 -0.7 pose: 0.0 5.68422 0.0735712 0 0.0063168 -0.00254633 -0.153655 0.988101 uwb: 0.0 817.905 462.021 -imu_odom_: 1691062805.943821653 0.754174 0.19393 10.2615 -0.0713727 -0.0255663 -0.753142 0.15 -0.73 pose: 0.6945332 5.6843 0.0735852 0 0.00576753 -0.00229169 -0.15613 0.987717 uwb: 0.0 817.905 462.021 -imu_odom_: 1691062805.960934457 0.426168 -0.0790087 10.1107 -0.0660464 -0.0585895 -0.76699 0.15 -0.73 pose: 0.0 5.6843 0.0735852 0 0.00576753 -0.00229169 -0.15613 0.987717 uwb: 0.49997993 817.216 461.536 -imu_odom_: 1691062805.976980700 0.42138 0.134075 10.1179 -0.0681769 -0.0458064 -0.775513 0.15 -0.73 pose: 0.66118023 5.69846 0.0732952 0 0.00659828 -0.00169005 -0.181286 0.983407 uwb: 0.0 817.216 461.536 -imu_odom_: 1691062805.992830080 0.363919 0.136469 9.79947 -0.0553937 -0.0330232 -0.774447 0.22 -1.03 pose: 0.0 5.69846 0.0732952 0 0.00659828 -0.00169005 -0.181286 0.983407 uwb: 0.0 817.216 461.536 -imu_odom_: 1691062806.8828493 0.574608 -0.272939 10.4244 -0.0585895 0.00106526 -0.78723 0.22 -1.03 pose: 0.0 5.69846 0.0732952 0 0.00659828 -0.00169005 -0.181286 0.983407 uwb: 0.49995368 821.172 459.269 -imu_odom_: 1691062806.25825513 0.778116 -0.0646434 9.84735 -0.0532632 -0.0117179 -0.811731 0.22 -1.03 pose: 0.32909396 5.70539 0.0660842 0 0.00838399 -0.00329803 -0.194414 0.980878 uwb: 0.0 821.172 459.269 -imu_odom_: 1691062806.41751888 0.653617 -0.110133 9.66779 -0.0543285 0.015979 -0.804275 0.16 -0.79 pose: 0.41972101 5.70531 0.066071 0 0.00735781 -0.00528084 -0.211533 0.977329 uwb: 0.0 821.172 459.269 -imu_odom_: 1691062806.57810965 0.289698 -0.0622492 10.2137 -0.0575243 -0.00852212 -0.795753 0.22 -1.09 pose: 0.0 5.70531 0.066071 0 0.00735781 -0.00528084 -0.211533 0.977329 uwb: 0.50005868 820.906 458.467 -imu_odom_: 1691062806.74787569 0.270545 -0.0407014 10.3214 -0.0596548 -0.0607201 -0.798948 0.22 -1.09 pose: 0.0 5.70531 0.066071 0 0.00735781 -0.00528084 -0.211533 0.977329 uwb: 0.0 820.906 458.467 -imu_odom_: 1691062806.91749299 0.0933739 -0.1652 9.71088 -0.0447411 -0.0319579 -0.814927 0.22 -1.11 pose: 0.7935773 5.70539 0.0660842 0 0.0070136 -0.00587374 -0.214797 0.976616 uwb: 0.0 820.906 458.467 -imu_odom_: 1691062806.107812750 0.134075 -0.059855 9.71088 -0.0436758 -0.00958738 -0.815993 0.22 -1.11 pose: 0.0 5.70539 0.0660842 0 0.0070136 -0.00587374 -0.214797 0.976616 uwb: 0.50022492 822.157 457.486 -imu_odom_: 1691062806.123841495 0.268151 -0.071826 9.97185 -0.0298274 0.0138484 -0.819188 0.22 -1.11 pose: 0.65996407 5.71952 0.0656884 0 0.00758103 -0.0013951 -0.241971 0.970253 uwb: 0.0 822.157 457.486 -imu_odom_: 1691062806.140978214 0.814029 -0.265756 10.0126 -0.0671117 -0.0319579 -0.752077 0.15 -0.76 pose: 0.0 5.71952 0.0656884 0 0.00758103 -0.0013951 -0.241971 0.970253 uwb: 0.0 822.157 457.486 -imu_odom_: 1691062806.157905822 1.00078 -0.100556 9.96467 -0.0735032 0.00426106 -0.658333 0.15 -0.76 pose: 0.0 5.71952 0.0656884 0 0.00758103 -0.0013951 -0.241971 0.970253 uwb: 0.50242105 822.404 456.639 -imu_odom_: 1691062806.175091538 1.30484 -0.476446 9.84496 -0.0628506 -0.0479369 -0.570982 0.15 -0.76 pose: 0.32045823 5.72642 0.0584483 0 0.00776443 0.000409419 -0.255041 0.966899 uwb: 0.0 822.404 456.639 -imu_odom_: 1691062806.192037811 1.1564 -0.553061 9.40203 -0.072438 -0.04048 -0.566721 0.18 -0.88 pose: 0.43288022 5.73034 0.0543027 0 0.00525481 -0.003508 -0.269287 0.963039 uwb: 0.0 822.404 456.639 -imu_odom_: 1691062806.207901774 1.14203 -0.296881 9.36851 -0.0436758 0.0245011 -0.561394 0.11 -0.55 pose: 0.6687807 5.73333 0.0512177 0 0.00467884 -0.00404892 -0.271236 0.962493 uwb: 0.49973204 824.677 455.556 -imu_odom_: 1691062806.224819757 0.924162 -0.059855 10.4148 -0.0458064 0.0213053 -0.508131 0.11 -0.55 pose: 0.0 5.73333 0.0512177 0 0.00467884 -0.00404892 -0.271236 0.962493 uwb: 0.0 824.677 455.556 -imu_odom_: 1691062806.241811819 0.591368 -0.172383 10.1801 -0.052198 -0.0266316 -0.445281 0.11 -0.55 pose: 0.43040412 5.73325 0.0512045 0 0.0030839 -0.00750855 -0.283228 0.959018 uwb: 0.0 824.677 455.556 -imu_odom_: 1691062806.257800316 0.490811 -0.416591 9.92397 -0.036219 -0.0351537 -0.433563 0.09 -0.47 pose: 0.0 5.73325 0.0512045 0 0.0030839 -0.00750855 -0.283228 0.959018 uwb: 0.49926248 827.262 453.794 -imu_odom_: 1691062806.273836935 0.471658 -0.160412 9.54089 -0.0351537 -0.0426106 -0.412257 0.09 -0.47 pose: 0.0 5.73325 0.0512045 0 0.0030839 -0.00750855 -0.283228 0.959018 uwb: 0.0 827.262 453.794 -imu_odom_: 1691062806.290838621 0.641646 0.129287 9.8689 -0.0553937 -0.0308927 -0.335558 0.07 -0.38 pose: 0.23934186 5.73333 0.0512177 0 0.00103828 -0.00828662 -0.288732 0.957374 uwb: 0.0 827.262 453.794 -imu_odom_: 1691062806.307853431 0.658405 -0.665588 9.96227 -0.0671117 -0.00213053 -0.30147 0.07 -0.38 pose: 0.0 5.73333 0.0512177 0 0.00103828 -0.00828662 -0.288732 0.957374 uwb: 0.50084322 827.057 453.145 -imu_odom_: 1691062806.323769016 0.658405 -0.409408 9.8282 -0.0447411 -0.0170442 -0.319579 0.07 -0.38 pose: 0.33072720 5.74019 0.0439415 0 0.00156637 -0.00744221 -0.29568 0.955257 uwb: 0.0 827.057 453.145 -imu_odom_: 1691062806.350773976 0.514753 0.105345 9.91439 -0.0511327 -0.00852212 -0.257794 0.09 -0.47 pose: 0.41942353 5.74019 0.0439415 0 -0.00103296 -0.00822055 -0.302767 0.953029 uwb: 0.49743968 824.99 453.261 -imu_odom_: 1691062806.375940088 0.181959 -0.414197 9.87608 -0.0660464 0.0394148 -0.298274 0.06 -0.32 pose: 0.8084806 5.74019 0.0439415 0 -0.000211224-0.00835933 -0.303918 0.952661 uwb: 0.0 824.99 453.261 -imu_odom_: 1691062806.392782242 -0.68953 0.174777 10.07 -0.0266316 0.0117179 -0.465521 0.06 -0.32 pose: 0.0 5.74019 0.0439415 0 -0.000211224-0.00835933 -0.303918 0.952661 uwb: 0.0 824.99 453.261 -imu_odom_: 1691062806.418820385 -0.366313 0.675165 9.92157 -0.0660464 0.00745685 -0.588026 0.1 -0.53 pose: 0.50971227 5.74019 0.0439417 0 0.00145649 -0.00514352 -0.312312 0.949965 uwb: 0.0 824.99 453.261 -imu_odom_: 1691062806.435861444 -0.469264 -0.318429 10.0413 -0.0745685 -0.0138484 -0.536893 0.1 -0.53 pose: 0.0 5.74019 0.0439417 0 0.00145649 -0.00514352 -0.312312 0.949965 uwb: 0.0 824.99 453.261 -imu_odom_: 1691062806.461799842 0.25618 -0.227449 10.161 -0.0490022 -0.0468716 -0.565655 0.14 -0.67 pose: 0.18046082 5.74019 0.0439417 0 0.00289126 -0.00384948 -0.317115 0.948375 uwb: 0.100000946 823.341 453.051 -imu_odom_: 1691062806.478888440 0.54109 0.0454898 9.71567 -0.056459 0.00958738 -0.559264 0.14 -0.67 pose: 0.42944168 5.74704 0.0366562 0 0.00419272 -0.000594099-0.329392 0.944184 uwb: 0.0 823.341 453.051 -imu_odom_: 1691062806.494887728 -0.0215478 -0.126893 9.88566 -0.0628506 0.02024 -0.566721 0.15 -0.82 pose: 0.0 5.74704 0.0366562 0 0.00419272 -0.000594099-0.329392 0.944184 uwb: 0.0 823.341 453.051 -imu_odom_: 1691062806.511785295 0.356736 -0.148441 10.0868 -0.0756338 -0.0479369 -0.632767 0.15 -0.82 pose: 0.51072429 5.75795 0.0395385 0 0.00500576 0.00113406 -0.343908 0.938989 uwb: 0.50100362 822.168 452.69 -imu_odom_: 1691062806.528885559 0.378284 -0.141258 9.54808 -0.0745685 -0.00213053 -0.659399 0.15 -0.82 pose: 0.0 5.75795 0.0395385 0 0.00500576 0.00113406 -0.343908 0.938989 uwb: 0.0 822.168 452.69 -imu_odom_: 1691062806.543802829 0.61531 -0.131681 10.082 -0.0798948 0.0213053 -0.653007 0.13 -0.61 pose: 0.0 5.75795 0.0395385 0 0.00500576 0.00113406 -0.343908 0.938989 uwb: 0.0 822.168 452.69 -imu_odom_: 1691062806.569078309 0.35913 -0.141258 9.78031 -0.0703074 -0.0330232 -0.657268 0.13 -0.61 pose: 0.7016203 5.76119 0.0361519 0 0.00418339 0.000968212 -0.346124 0.938179 uwb: 0.49908458 821.979 452.11 -imu_odom_: 1691062806.595874448 0.122104 0.0574608 10.5752 -0.0649811 -0.0458064 -0.681769 0.19 -0.97 pose: 0.0 5.76119 0.0361519 0 0.00418339 0.000968212 -0.346124 0.938179 uwb: 0.49999452 823.27 451.198 -imu_odom_: 1691062806.620743661 0.277727 -0.136469 10.1945 -0.0553937 -0.00426106 -0.709466 0.15 -0.76 pose: 0.48896144 5.76119 0.0361516 0 0.00375108 -0.000782859-0.361924 0.9322 uwb: 0.0 823.27 451.198 -imu_odom_: 1691062806.647934110 0.191536 -0.009576819.58638 -0.0575243 -0.0181095 -0.715858 0.17 -0.88 pose: 0.53155387 5.768 0.0288302 0 0.00610458 0.00243356 -0.379636 0.925113 uwb: 0.50112321 821.167 451.238 -imu_odom_: 1691062806.673832261 0.0526724 0.0670376 10.1275 -0.0543285 -0.00745685 -0.743555 0.17 -0.88 pose: 0.0 5.768 0.0288302 0 0.00610458 0.00243356 -0.379636 0.925113 uwb: 0.0 821.167 451.238 -imu_odom_: 1691062806.700743893 0.502782 -0.0622492 9.54568 -0.0607201 -0.052198 -0.755272 0.19 -1 pose: 0.69876799 5.77457 0.0214976 0 0.0106975 0.00589921 -0.404178 0.914599 uwb: 0.49930040 822.003 450.546 -imu_odom_: 1691062806.716818135 0.071826 -0.146046 9.84975 -0.0703074 0.00426106 -0.761664 0.19 -1 pose: 0.6939499 5.77484 0.0215363 0 0.0103454 0.00513695 -0.406698 0.91349 uwb: 0.0 822.003 450.546 -imu_odom_: 1691062806.743905631 0.35913 -0.3304 9.61272 -0.0543285 -0.0117179 -0.777643 0.21 -1.09 pose: 0.36046375 5.78134 0.0141869 0 0.00936414 0.0047189 -0.419794 0.907559 uwb: 0.0 822.003 450.546 -imu_odom_: 1691062806.769736995 0.138864 -0.323217 9.75637 -0.0394148 -0.00532632 -0.784035 0.21 -1.09 pose: 0.0 5.78134 0.0141869 0 0.00936414 0.0047189 -0.419794 0.907559 uwb: 0.49980495 824.165 449.037 -imu_odom_: 1691062806.796734955 0.42138 -0.203507 10.0628 -0.0596548 -0.0607201 -0.781904 0.2 -1.03 pose: 0.52918860 5.78638 0.00899262 0 0.00541689 0.00692573 -0.439432 0.898233 uwb: 0.49925081 820.256 450.078 -imu_odom_: 1691062806.812717036 0.316035 -0.28491 9.35415 -0.0575243 0.0149137 -0.776578 0.2 -1.03 pose: 0.0 5.78638 0.00899262 0 0.00541689 0.00692573 -0.439432 0.898233 uwb: 0.0 820.256 450.078 -imu_odom_: 1691062806.839717913 0.325611 -0.225055 10.6805 -0.0820254 -0.0149137 -0.78723 0.22 -1.14 pose: 0.42980041 5.78845 0.00694944 0 0.00199454 0.004824 -0.455199 0.890375 uwb: 0.0 820.256 450.078 -imu_odom_: 1691062806.865783470 0.177171 -0.126893 9.95509 -0.0639159 -0.00958738 -0.777643 0.17 -0.82 pose: 0.0 5.78845 0.00694944 0 0.00199454 0.004824 -0.455199 0.890375 uwb: 0.50038825 822.493 448.784 -imu_odom_: 1691062806.892866300 0.45011 -0.102951 9.75398 -0.076699 -0.00319579 -0.819188 0.19 -1 pose: 0.35067600 5.78804 -0.00716971 0 0.000849724 0.002959 -0.468026 0.883709 uwb: 0.0 822.493 448.784 -imu_odom_: 1691062806.918880236 0.603339 -0.177171 9.69173 -0.0617853 0.00106526 -0.796818 0.17 -0.85 pose: 0.45081664 5.7927 -0.0123853 0 0.00248919 0.0014047 -0.484705 0.874673 uwb: 0.49966496 822.27 448.091 -imu_odom_: 1691062806.935870840 0.399832 -0.0837971 9.20571 -0.0713727 -0.0287621 -0.794687 0.17 -0.85 pose: 0.0 5.7927 -0.0123853 0 0.00248919 0.0014047 -0.484705 0.874673 uwb: 0.0 822.27 448.091 -imu_odom_: 1691062806.952872526 0.538695 0.114922 9.75637 -0.0841559 -0.00639159 -0.801079 0.17 -0.85 pose: 0.0 5.7927 -0.0123853 0 0.00248919 0.0014047 -0.484705 0.874673 uwb: 0.50043783 824.581 447.007 -imu_odom_: 1691062806.967868541 0.347159 -0.181959 10.3453 -0.056459 -0.0415453 -0.80534 0.17 -0.82 pose: 0.51013225 5.80171 -0.021766 0 0.00290146 -0.00227337 -0.503246 0.864135 uwb: 0.0 824.581 447.007 -imu_odom_: 1691062806.983864621 0.995988 -0.23942 10.0102 -0.0905475 -0.0426106 -0.824515 0.17 -0.82 pose: 0.0 5.80171 -0.021766 0 0.00290146 -0.00227337 -0.503246 0.864135 uwb: 0.0 824.581 447.007 -imu_odom_: 1691062806.998742227 0.150835 0.0694318 9.52892 -0.0532632 -0.00745685 -0.835167 0.17 -0.82 pose: 0.0 5.80171 -0.021766 0 0.00290146 -0.00227337 -0.503246 0.864135 uwb: 0.49999452 826.884 445.888 -imu_odom_: 1691062807.14919421 0.172383 -0.169988 10.0126 -0.0351537 0.0181095 -0.841559 0.17 -0.88 pose: 0.46877348 5.80171 -0.021766 0 0.00223676 -0.00278153 -0.520464 0.853876 uwb: 0.0 826.884 445.888 -imu_odom_: 1691062807.31866861 0.0023942 0.0766145 9.84735 -0.0319579 -0.0255663 -0.841559 0.17 -0.88 pose: 0.0 5.80171 -0.021766 0 0.00223676 -0.00278153 -0.520464 0.853876 uwb: 0.0 826.884 445.888 -imu_odom_: 1691062807.47879274 0.37589 -0.536301 9.83777 -0.04048 0.00532632 -0.840494 0.18 -0.97 pose: 0.41109988 5.80824 -0.0290942 0 0.00548619 -0.000381272-0.535828 0.844309 uwb: 0.49810173 826.365 445.927 -imu_odom_: 1691062807.74757658 0.299275 0.1652 9.81144 -0.0383495 -0.056459 -0.82558 0.18 -0.97 pose: 0.0 5.80824 -0.0290942 0 0.00548619 -0.000381272-0.535828 0.844309 uwb: 0.0 826.365 445.927 -imu_odom_: 1691062807.91727555 -0.0670376 0.100556 9.55765 -0.0351537 -0.00319579 -0.837298 0.17 -0.88 pose: 0.8001686 5.80857 -0.0290458 0 0.00485903 2.83905e-05 -0.538801 0.842419 uwb: 0.0 826.365 445.927 -imu_odom_: 1691062807.108919397 -0.0407014 0.282516 10.817 -0.0340885 -0.0340885 -0.842624 0.25 -1.26 pose: 0.0 5.80857 -0.0290458 0 0.00485903 2.83905e-05 -0.538801 0.842419 uwb: 0.50059825 826.211 445.434 -imu_odom_: 1691062807.124851898 0.617704 0.19393 10.2208 -0.0532632 -0.0617853 -0.82558 0.17 -0.85 pose: 0.0 5.80857 -0.0290458 0 0.00485903 2.83905e-05 -0.538801 0.842419 uwb: 0.0 826.211 445.434 -imu_odom_: 1691062807.141908998 1.11809 -0.0933739 10.0461 -0.0639159 -0.0308927 -0.831972 0.17 -0.85 pose: 0.76875505 5.80821 -0.0431842 0 0.00972805 -0.0012953 -0.566749 0.823832 uwb: 0.0 826.211 445.434 -imu_odom_: 1691062807.159851836 1.00556 0.059855 9.52413 -0.0735032 -0.0426106 -0.840494 0.17 -0.85 pose: 0.0 5.80821 -0.0431842 0 0.00972805 -0.0012953 -0.566749 0.823832 uwb: 0.49992746 825.123 445.358 -imu_odom_: 1691062807.173852162 0.162806 0.184354 9.98622 -0.0500674 -0.0276969 -0.846885 0.17 -0.88 pose: 0.33004475 5.81506 -0.0504676 0 0.00791722 -0.00442396 -0.578528 0.815612 uwb: 0.0 825.123 445.358 -imu_odom_: 1691062807.189757247 0.395043 0.124498 10.2783 -0.0436758 -0.0447411 -0.846885 0.17 -0.88 pose: 0.0 5.81506 -0.0504676 0 0.00791722 -0.00442396 -0.578528 0.815612 uwb: 0.0 825.123 445.358 -imu_odom_: 1691062807.205683915 0.390255 -0.177171 9.32781 -0.0553937 -0.0617853 -0.834102 0.18 -0.88 pose: 0.40008720 5.82184 -0.057754 0 0.00978812 -0.0064895 -0.59286 0.80522 uwb: 0.50060117 826.991 444.527 -imu_odom_: 1691062807.221738909 0.380678 -0.292093 9.57202 -0.0575243 0.0117179 -0.840494 0.18 -0.88 pose: 0.0 5.82184 -0.057754 0 0.00978812 -0.0064895 -0.59286 0.80522 uwb: 0.0 826.991 444.527 -imu_odom_: 1691062807.237742864 0.457293 0.0287304 10.3549 -0.0266316 0.00532632 -0.841559 0.18 -0.88 pose: 0.0 5.82184 -0.057754 0 0.00978812 -0.0064895 -0.59286 0.80522 uwb: 0.0 826.991 444.527 -imu_odom_: 1691062807.254683596 0.275333 0.0215478 9.80186 -0.036219 -0.0490022 -0.82771 0.2 -1 pose: 0.6943291 5.82192 -0.0577426 0 0.00913541 -0.00620204 -0.595307 0.803422 uwb: 0.49936749 823.922 444.925 -imu_odom_: 1691062807.272734636 0.624887 0.217872 9.46428 -0.0553937 -0.0990696 -0.821319 0.2 -1 pose: 0.0 5.82192 -0.0577426 0 0.00913541 -0.00620204 -0.595307 0.803422 uwb: 0.0 823.922 444.925 -imu_odom_: 1691062807.287733860 0.141258 -0.105345 9.96227 -0.0426106 -0.0255663 -0.84582 0.2 -1 pose: 0.0 5.82192 -0.0577426 0 0.00913541 -0.00620204 -0.595307 0.803422 uwb: 0.0 823.922 444.925 -imu_odom_: 1691062807.303910762 0.143652 0 10.3358 -0.0458064 -0.0340885 -0.854342 0.18 -0.88 pose: 0.48041322 5.82152 -0.0718476 0 0.00822885 -0.00597952 -0.612112 0.790706 uwb: 0.50056033 821.922 445.342 -imu_odom_: 1691062807.320764583 0.584185 0.203507 10.0892 -0.0585895 -0.0884169 -0.852212 0.17 -0.88 pose: 0.0 5.82152 -0.0718476 0 0.00822885 -0.00597952 -0.612112 0.790706 uwb: 0.0 821.922 445.342 -imu_odom_: 1691062807.337837432 1.11809 -0.0430956 9.73961 -0.0500674 -0.0479369 -0.853277 0.17 -0.88 pose: 0.67002015 5.82841 -0.0790948 0 0.00984553 -0.00654384 -0.635144 0.772303 uwb: 0.0 821.922 445.342 -imu_odom_: 1691062807.355725732 1.51553 0.0167594 9.82102 -0.0585895 -0.0511327 -0.828776 0.17 -0.88 pose: 0.0 5.82841 -0.0790948 0 0.00984553 -0.00654384 -0.635144 0.772303 uwb: 0.49981663 821.907 445.297 -imu_odom_: 1691062807.369832509 0.988805 0.191536 10.0006 -0.0628506 -0.0596548 -0.757403 0.17 -0.88 pose: 0.0 5.82841 -0.0790948 0 0.00984553 -0.00654384 -0.635144 0.772303 uwb: 0.0 821.907 445.297 -imu_odom_: 1691062807.385686265 1.07021 -0.428562 9.55047 -0.0426106 0.0127832 -0.696683 0.17 -0.88 pose: 0.34100492 5.82118 -0.0860031 0 0.00767608 -0.00985993 -0.646722 0.762624 uwb: 0.0 821.907 445.297 -imu_odom_: 1691062807.400712903 1.21625 -0.608127 9.41161 -0.0415453 -0.0106526 -0.66579 0.14 -0.73 pose: 0.39841898 5.82801 -0.0932407 0 0.004809 -0.0124874 -0.658611 0.752364 uwb: 0.50025119 822.805 444.763 -imu_odom_: 1691062807.417694758 1.30005 0.0191536 9.75158 -0.0458064 -0.0649811 -0.651942 0.14 -0.73 pose: 0.7160569 5.82809 -0.0932296 0 0.00415279 -0.0126179 -0.660503 0.750706 uwb: 0.0 822.805 444.763 -imu_odom_: 1691062807.432692232 1.13485 -0.0047884 10.2855 -0.0372843 0.00745685 -0.640224 0.14 -0.73 pose: 0.0 5.82809 -0.0932296 0 0.00415279 -0.0126179 -0.660503 0.750706 uwb: 0.0 822.805 444.763 -imu_odom_: 1691062807.447750952 1.33836 -0.208296 10.1131 -0.036219 0.0458064 -0.580569 0.1 -0.53 pose: 0.39845398 5.82801 -0.0932403 0 0.00133078 -0.0155789 -0.670703 0.741561 uwb: 0.50059242 822.392 445.141 -imu_odom_: 1691062807.462963662 1.01275 -0.545878 9.67976 -0.0511327 -0.00106526 -0.50387 0.1 -0.53 pose: 0.0 5.82801 -0.0932403 0 0.00133078 -0.0155789 -0.670703 0.741561 uwb: 0.0 822.392 445.141 -imu_odom_: 1691062807.487844834 1.24259 -0.371101 10.0987 -0.04048 0.0149137 -0.436758 0.09 -0.47 pose: 0.30271430 5.82415 -0.09691 0 -0.00093638 -0.0159745 -0.677162 0.73566 uwb: 0.0 822.392 445.141 -imu_odom_: 1691062807.505063799 1.09415 0.0837971 10.4172 -0.0479369 -0.00745685 -0.351537 0.12 -0.61 pose: 0.0 5.82415 -0.09691 0 -0.00093638 -0.0159745 -0.677162 0.73566 uwb: 0.50064491 824.459 444.927 -imu_odom_: 1691062807.521815834 -0.914585 -0.328006 8.73644 -0.0532632 0.151268 -0.331297 0.11 -0.38 pose: 0.0 5.82415 -0.09691 0 -0.00093638 -0.0159745 -0.677162 0.73566 uwb: 0.0 824.459 444.927 -imu_odom_: 1691062807.537808998 -1.64242 -0.0311246 10.9367 -0.0181095 0.0543285 -0.346211 0.11 -0.38 pose: 0.49880170 5.82769 -0.107353 0 -0.0027813 -0.0171384 -0.684967 0.728367 uwb: 0.0 824.459 444.927 -imu_odom_: 1691062807.553743832 -0.837971 -0.124498 9.9934 -0.0617853 -0.152333 -0.289752 0.12 -0.32 pose: 0.0 5.82769 -0.107353 0 -0.0027813 -0.0171384 -0.684967 0.728367 uwb: 0.49860920 826.42 444.385 -imu_odom_: 1691062807.569682749 1.31681 -0.0502782 10.0748 -0.0660464 -0.151268 -0.249272 0.12 -0.32 pose: 0.0 5.82769 -0.107353 0 -0.0027813 -0.0171384 -0.684967 0.728367 uwb: 0.0 826.42 444.385 -imu_odom_: 1691062807.586683561 0.895431 -0.593762 9.36612 -0.0532632 0.04048 -0.234358 0.12 -0.32 pose: 0.31973495 5.82769 -0.107353 0 -1.66403e-05-0.0144037 -0.6893 0.724333 uwb: 0.0 826.42 444.385 -imu_odom_: 1691062807.602826924 0.706289 0.100556 10.501 -0.0372843 0.00958738 -0.239684 0.13 -0.26 pose: 0.41866234 5.82743 -0.115148 0 -0.00318726 -0.0152403 -0.69368 0.720115 uwb: 0.50044368 825.521 444.913 -imu_odom_: 1691062807.620823426 -0.0167594 -0.0191536 9.93833 -0.0490022 0.0543285 -0.252468 0.13 -0.26 pose: 0.0 5.82743 -0.115148 0 -0.00318726 -0.0152403 -0.69368 0.720115 uwb: 0.0 825.521 444.913 -imu_odom_: 1691062807.637866527 -0.0430956 -0.308852 10.3382 -0.0703074 0.00319579 -0.188552 0.13 -0.26 pose: 0.0 5.82743 -0.115148 0 -0.00318726 -0.0152403 -0.69368 0.720115 uwb: 0.0 825.521 444.913 -imu_odom_: 1691062807.654705181 0.363919 -0.380678 10.2185 -0.0372843 -0.0511327 -0.199204 0.14 -0.2 pose: 0.8158301 5.82733 -0.121491 0 -0.00261449 -0.0159272 -0.694499 0.719313 uwb: 0.49919250 828.504 444.254 -imu_odom_: 1691062807.672816010 1.14682 -0.23942 10.0461 -0.036219 0.0191748 -0.192813 0.18 -0.29 pose: 0.0 5.82733 -0.121491 0 -0.00261449 -0.0159272 -0.694499 0.719313 uwb: 0.0 828.504 444.254 -imu_odom_: 1691062807.689818863 0.222661 -0.311246 10.2304 -0.0649811 0.0319579 -0.166181 0.18 -0.29 pose: 0.67890087 5.82733 -0.121491 0 -0.000892599-0.012335 -0.70073 0.713319 uwb: 0.0 828.504 444.254 -imu_odom_: 1691062807.706731888 -0.0670376 -0.129287 9.96946 -0.0511327 -0.0138484 -0.171508 0.15 -0.23 pose: 0.0 5.82733 -0.121491 0 -0.000892599-0.012335 -0.70073 0.713319 uwb: 0.49875503 828.56 444.434 -imu_odom_: 1691062807.724852049 0.349553 -0.21069 9.92157 -0.056459 0.0191748 -0.143811 0.15 -0.23 pose: 0.0 5.82733 -0.121491 0 -0.000892599-0.012335 -0.70073 0.713319 uwb: 0.0 828.56 444.434 -imu_odom_: 1691062807.741817280 0.296881 -0.129287 9.98622 -0.0575243 -0.0191748 -0.116114 0.15 -0.23 pose: 0.34104576 5.82694 -0.13564 0 -0.000661591-0.0103394 -0.703348 0.710771 uwb: 0.0 828.56 444.434 -imu_odom_: 1691062807.756729009 0.577003 -0.227449 10.1682 -0.0479369 0.00958738 -0.145941 0.15 -0.2 pose: 0.34996438 5.82694 -0.13564 0 0.000840105 -0.00716678 -0.705681 0.708493 uwb: 0.50035910 830.542 443.973 -imu_odom_: 1691062807.772717798 1.19231 -0.0526724 10.0485 -0.0575243 -0.00958738 -0.129962 0.15 -0.2 pose: 0.0 5.82694 -0.13564 0 0.000840105 -0.00716678 -0.705681 0.708493 uwb: 0.0 830.542 443.973 -imu_odom_: 1691062807.788717670 1.16358 -0.347159 9.81623 -0.0671117 -0.02024 -0.0894822 0.15 -0.2 pose: 0.0 5.82694 -0.13564 0 0.000840105 -0.00716678 -0.705681 0.708493 uwb: 0.0 830.542 443.973 -imu_odom_: 1691062807.805720815 1.1157 -0.198719 10.477 -0.0596548 0.0170442 -0.052198 0.14 -0.17 pose: 0.48892937 5.82663 -0.149779 0 -0.00181307 -0.00786593 -0.708517 0.705647 uwb: 0.50039409 833.402 442.913 -imu_odom_: 1691062807.822717252 1.33118 -0.258574 10.4435 -0.0660464 -0.0671117 -0.0394148 0.14 -0.17 pose: 0.0 5.82663 -0.149779 0 -0.00181307 -0.00786593 -0.708517 0.705647 uwb: 0.0 833.402 442.913 -imu_odom_: 1691062807.838722956 1.84354 0.143652 9.71088 -0.0585895 -0.0245011 -0.0798948 0.11 -0.2 pose: 0.41991352 5.82663 -0.149779 0 -0.00566193 -0.0104247 -0.709864 0.704239 uwb: 0.0 833.402 442.913 -imu_odom_: 1691062807.855659022 1.67594 0.275333 9.85932 -0.0426106 0.0458064 -0.111853 0.11 -0.2 pose: 0.0 5.82663 -0.149779 0 -0.00566193 -0.0104247 -0.709864 0.704239 uwb: 0.49946082 831.54 443.768 -imu_odom_: 1691062807.872658667 0.773327 -0.0981623 9.80186 -0.0553937 0.0415453 -0.127832 0.11 -0.2 pose: 0.0 5.82663 -0.149779 0 -0.00566193 -0.0104247 -0.709864 0.704239 uwb: 0.0 831.54 443.768 -imu_odom_: 1691062807.889783430 0.59855 -0.337582 9.77313 -0.0426106 -0.0245011 -0.138484 0.12 -0.17 pose: 0.7008037 5.82663 -0.149779 0 -0.00608497 -0.0110653 -0.710152 0.703935 uwb: 0.0 831.54 443.768 -imu_odom_: 1691062807.907720727 0.782904 -0.272939 9.5385 -0.056459 -0.0234358 -0.117179 0.08 -0.11 pose: 0.0 5.82663 -0.149779 0 -0.00608497 -0.0110653 -0.710152 0.703935 uwb: 0.50066533 833.106 443.688 -imu_odom_: 1691062807.924715997 0.682347 -0.241814 10.0102 -0.0671117 0.00852212 -0.0873517 0.08 -0.11 pose: 0.67997705 5.83353 -0.157015 0 -0.008864 -0.0130053 -0.713879 0.700092 uwb: 0.0 833.106 443.688 -imu_odom_: 1691062807.941770180 0.811634 -0.227449 10.137 -0.0639159 -0.0394148 -0.0617853 0.07 -0.08 pose: 0.0 5.83353 -0.157015 0 -0.008864 -0.0130053 -0.713879 0.700092 uwb: 0.0 833.106 443.688 -imu_odom_: 1691062807.957651643 0.878672 -0.126893 9.97664 -0.0500674 -0.015979 -0.0500674 0.07 -0.08 pose: 0.0 5.83353 -0.157015 0 -0.008864 -0.0130053 -0.713879 0.700092 uwb: 0.49959206 835.036 443.064 -imu_odom_: 1691062807.974696493 0.802058 -0.215478 9.8665 -0.0532632 0.0106526 -0.0149137 0.07 -0.08 pose: 0.34007456 5.8263 -0.16392 0 -0.0110683 -0.0115758 -0.715401 0.69853 uwb: 0.0 835.036 443.064 -imu_odom_: 1691062807.999683242 0.584185 -0.0574608 10.161 -0.0500674 0 -0.0266316 0.06 -0.05 pose: 0.42966043 5.8263 -0.16392 0 -0.0140887 -0.014069 -0.71652 0.697282 uwb: 0.49986913 831.199 444.387 -imu_odom_: 1691062808.25862836 0.191536 -0.215478 9.71088 -0.0628506 0.0383495 -0.0607201 0.06 -0.08 pose: 0.8210799 5.8263 -0.16392 0 -0.0132474 -0.0139416 -0.716725 0.69709 uwb: 0.0 831.199 444.387 -imu_odom_: 1691062808.51661828 -1.39343 0.21069 9.52653 -0.0479369 0.0479369 -0.113983 0.08 -0.02 pose: 0.42955544 5.82623 -0.163929 0 -0.00941831 -0.0112966 -0.718096 0.695788 uwb: 0.50292854 830.263 444.795 -imu_odom_: 1691062808.68666140 -1.01035 -0.531513 10.2783 -0.072438 -0.0191748 -0.015979 0.08 -0.02 pose: 0.0 5.82623 -0.163929 0 -0.00941831 -0.0112966 -0.718096 0.695788 uwb: 0.0 830.263 444.795 -imu_odom_: 1691062808.93722593 0.646434 -0.280122 10.094 -0.0372843 -0.0788296 0.00852212 0.1 -0.02 pose: 0.42803304 5.83036 -0.168141 0 -0.00593326 -0.00807088 -0.71985 0.694058 uwb: 0.0 830.263 444.795 -imu_odom_: 1691062808.119740905 0.624887 0.0909797 10.24 -0.0735032 0.00639159 0.0191748 0.13 -0.05 pose: 0.0 5.83036 -0.168141 0 -0.00593326 -0.00807088 -0.71985 0.694058 uwb: 0.49820674 830.332 445.019 -imu_odom_: 1691062808.144789192 -0.282516 -0.158017 9.68455 -0.0639159 0.0117179 -0.0394148 0.12 -0.02 pose: 0.51074765 5.82599 -0.178041 0 -0.00693535 -0.00948389 -0.720296 0.693567 uwb: 0.0 830.332 445.019 -imu_odom_: 1691062808.170775423 0.0311246 -0.299275 9.82341 -0.0490022 -0.0191748 0.00319579 0.13 -0.02 pose: 0.0 5.82599 -0.178041 0 -0.00693535 -0.00948389 -0.720296 0.693567 uwb: 0.49990997 833.319 444.409 -imu_odom_: 1691062808.187759320 0.502782 -0.526724 9.87129 -0.0511327 -0.0298274 0.0127832 0.13 -0.02 pose: 0.32928356 5.82599 -0.178041 0 -0.00460691 -0.00697394 -0.721111 0.69277 uwb: 0.0 833.319 444.409 -imu_odom_: 1691062808.212692697 0.371101 -0.0167594 9.55765 -0.0330232 -0.0340885 -0.00852212 0.18 -0.05 pose: 0.0 5.82599 -0.178041 0 -0.00460691 -0.00697394 -0.721111 0.69277 uwb: 0.50050785 833.481 444.949 -imu_odom_: 1691062808.234752163 0.150835 -0.11971 10.3046 -0.0458064 0.0330232 -0.00426106 0.18 -0.05 pose: 0.42050557 5.83287 -0.185296 0 -0.00420106 -0.00468478 -0.721618 0.692263 uwb: 0.0 833.481 444.949 -imu_odom_: 1691062808.251694937 -0.167594 -0.280122 9.80186 -0.0575243 0.00745685 0.00213053 0.18 -0.05 pose: 0.0 5.83287 -0.185296 0 -0.00420106 -0.00468478 -0.721618 0.692263 uwb: 0.49986331 836.958 444.236 -imu_odom_: 1691062808.277836326 0.0454898 -0.167594 9.56484 -0.0426106 0.0170442 0.00426106 0.13 0 pose: 0.48035198 5.82561 -0.192168 0 0.000192748 -0.00309421 -0.722376 0.691494 uwb: 0.0 836.958 444.236 -imu_odom_: 1691062808.302660918 0.232238 -0.402226 9.91918 -0.0628506 0.0266316 0.0149137 0.15 -0.05 pose: 0.35081310 5.83062 -0.197489 0 0.00298165 -0.000473805-0.722815 0.691035 uwb: 0.49960082 836.598 444.806 -imu_odom_: 1691062808.328790640 1.01993 -0.011971 10.3597 -0.0383495 0.0106526 -0.0106526 0.15 -0.05 pose: 0.0 5.83062 -0.197489 0 0.00298165 -0.000473805-0.722815 0.691035 uwb: 0.0 836.598 444.806 -imu_odom_: 1691062808.344672686 0.452504 -0.19393 9.26317 -0.0681769 0.036219 0.0276969 0.14 -0.02 pose: 0.6998704 5.83246 -0.19945 0 0.00287465 0.000300423 -0.722876 0.690972 uwb: 0.0 836.598 444.806 -imu_odom_: 1691062808.371915924 0.565032 -0.232238 10.58 -0.0490022 -0.0149137 0.0213053 0.14 -0.02 pose: 0.0 5.83246 -0.19945 0 0.00287465 0.000300423 -0.722876 0.690972 uwb: 0.49851881 838.078 444.471 -imu_odom_: 1691062808.397639088 0.445322 -0.174777 9.99819 -0.0447411 -0.0138484 0.0138484 0.17 0 pose: 0.50965980 5.82517 -0.206296 0 0.00114941 -0.000372984-0.723513 0.690309 uwb: 0.50137405 839.16 444.572 -imu_odom_: 1691062808.423729729 0.169988 -0.354342 9.69652 -0.0617853 0 0.0245011 0.17 0 pose: 0.0 5.82517 -0.206296 0 0.00114941 -0.000372984-0.723513 0.690309 uwb: 0.0 839.16 444.572 -imu_odom_: 1691062808.448642982 0.488417 -0.105345 8.98783 -0.056459 -0.02024 0.0170442 0.16 -0.02 pose: 0.42885258 5.83208 -0.213529 0 -0.00116263 -0.00262272 -0.723778 0.690027 uwb: 0.49851006 840.587 444.063 -imu_odom_: 1691062808.465658377 0.897826 -0.272939 9.99579 -0.0681769 -0.0276969 0.0500674 0.16 -0.02 pose: 0.0 5.83208 -0.213529 0 -0.00116263 -0.00262272 -0.723778 0.690027 uwb: 0.0 840.587 444.063 -imu_odom_: 1691062808.483646713 0.275333 -0.414197 9.35175 -0.0596548 0.0255663 0.0980043 0.18 0 pose: 0.52029625 5.82484 -0.220429 0 0.00101273 -0.00145893 -0.724143 0.689648 uwb: 0.0 840.587 444.063 -imu_odom_: 1691062808.499838782 0.0502782 -0.466869 9.91439 -0.0500674 0.0213053 0.190682 0.18 0 pose: 0.0 5.82484 -0.220429 0 0.00101273 -0.00145893 -0.724143 0.689648 uwb: 0.50185235 840.659 444.312 -imu_odom_: 1691062808.517718042 0.318429 -0.509965 10.0437 -0.0511327 -0.109722 0.268447 0.17 0.2 pose: 0.24987624 5.82484 -0.220429 0 0.000113537 -0.0037142 -0.72425 0.689527 uwb: 0.0 840.659 444.312 -imu_odom_: 1691062808.534834638 0.969652 -0.356736 10.2017 -0.0319579 -0.036219 0.313188 0.17 0.2 pose: 0.44135265 5.8244 -0.234577 0 -0.000374282-0.000531245-0.723008 0.69084 uwb: 0.0 840.659 444.312 -imu_odom_: 1691062808.551663378 0.921768 -0.0790087 10.0556 -0.0266316 0.00213053 0.380299 0.17 0.2 pose: 0.0 5.8244 -0.234577 0 -0.000374282-0.000531245-0.723008 0.69084 uwb: 0.49834382 841.622 444.012 -imu_odom_: 1691062808.568771517 0.186748 -0.658405 9.82341 -0.0777643 0.0798948 0.427171 0.22 0.41 pose: 0.8190092 5.82448 -0.234567 0 -0.00102892 -0.000103147-0.722359 0.691517 uwb: 0.0 841.622 444.012 -imu_odom_: 1691062808.584760598 0.42138 -0.124498 10.252 -0.04048 0.00426106 0.426106 0.22 0.41 pose: 0.0 5.82448 -0.234567 0 -0.00102892 -0.000103147-0.722359 0.691517 uwb: 0.0 841.622 444.012 -imu_odom_: 1691062808.601878361 0.251391 -0.320823 10.0078 -0.0628506 -0.0553937 0.4815 0.22 0.41 pose: 0.0 5.82448 -0.234567 0 -0.00102892 -0.000103147-0.722359 0.691517 uwb: 0.50161028 843.551 443.417 -imu_odom_: 1691062808.618748806 1.10373 -0.260968 9.63666 -0.0777643 0.0213053 0.52198 0.17 0.47 pose: 0.50627084 5.82408 -0.248703 0 -0.00379091 -0.00152672 -0.717029 0.697032 uwb: 0.0 843.551 443.417 -imu_odom_: 1691062808.633796444 0.462081 -0.464475 9.94791 -0.0639159 -0.0138484 0.548611 0.17 0.44 pose: 0.0 5.82408 -0.248703 0 -0.00379091 -0.00152672 -0.717029 0.697032 uwb: 0.0 843.551 443.417 -imu_odom_: 1691062808.649648159 0.37589 -0.222661 9.65342 -0.0798948 -0.0245011 0.566721 0.17 0.44 pose: 0.66989184 5.82408 -0.248703 0 -0.00371386 -3.23164e-05-0.706735 0.707468 uwb: 0.50064785 845.977 442.717 -imu_odom_: 1691062808.664758501 0.268151 -0.354342 10.0102 -0.0415453 -0.0234358 0.591222 0.17 0.44 pose: 0.0 5.82408 -0.248703 0 -0.00371386 -3.23164e-05-0.706735 0.707468 uwb: 0.0 845.977 442.717 -imu_odom_: 1691062808.681784978 0.490811 -0.656011 9.80186 -0.0745685 -0.0266316 0.618919 0.17 0.53 pose: 0.0 5.82408 -0.248703 0 -0.00371386 -3.23164e-05-0.706735 0.707468 uwb: 0.0 845.977 442.717 -imu_odom_: 1691062808.696610963 0.198719 -0.292093 9.91918 -0.0500674 -0.00958738 0.601874 0.17 0.53 pose: 0.31004638 5.82372 -0.262841 0 -0.00284872 0.00140327 -0.700919 0.713234 uwb: 0.49973498 845.553 443.078 -imu_odom_: 1691062808.712666248 0.292093 -0.4956 10.1011 -0.0532632 -0.0266316 0.619984 0.16 0.55 pose: 0.39961183 5.8234 -0.262877 0 -0.00314573 0.00389985 -0.692775 0.721136 uwb: 0.0 845.553 443.078 -imu_odom_: 1691062808.729611647 0.890643 -0.316035 10.1227 -0.0553937 -0.0777643 0.609331 0.16 0.55 pose: 0.0 5.8234 -0.262877 0 -0.00314573 0.00389985 -0.692775 0.721136 uwb: 0.0 845.553 443.078 -imu_odom_: 1691062808.747660063 1.07739 -0.0909797 9.9527 -0.0394148 -0.0596548 0.600809 0.16 0.55 pose: 0.0 5.8234 -0.262877 0 -0.00314573 0.00389985 -0.692775 0.721136 uwb: 0.50011996 842.258 444.392 -imu_odom_: 1691062808.764646293 1.34075 -0.361524 9.39006 -0.0596548 -0.04048 0.592287 0.14 0.44 pose: 0.6123757 5.82372 -0.262841 0 -0.00336799 0.00443494 -0.691489 0.722365 uwb: 0.0 842.258 444.392 -imu_odom_: 1691062808.779723970 1.70467 -0.225055 10.1682 -0.0330232 -0.0298274 0.513457 0.13 0.38 pose: 0.0 5.82372 -0.262841 0 -0.00336799 0.00443494 -0.691489 0.722365 uwb: 0.0 842.258 444.392 -imu_odom_: 1691062808.796719533 1.61848 0.0981623 9.62948 -0.056459 0.0394148 0.416518 0.13 0.38 pose: 0.67979333 5.82326 -0.276975 0 -0.0079786 -0.000444662-0.677715 0.735281 uwb: 0.0 842.258 444.392 -imu_odom_: 1691062808.813595811 1.37188 0.198719 9.84256 -0.056459 0.0490022 0.356864 0.11 0.29 pose: 0.0 5.82326 -0.276975 0 -0.0079786 -0.000444662-0.677715 0.735281 uwb: 0.0 842.258 444.392 -imu_odom_: 1691062808.830609747 0.335188 -0.0981623 9.4164 -0.0681769 0.036219 0.30147 0.11 0.29 pose: 0.0 5.82326 -0.276975 0 -0.0079786 -0.000444662-0.677715 0.735281 uwb: 0.0 842.258 444.392 -imu_odom_: 1691062808.855595330 0.73502 -0.289698 9.92157 -0.052198 -0.0436758 0.243946 0.11 0.29 pose: 0.32942063 5.83017 -0.284205 0 -0.00892821 -0.00310051 -0.672978 0.739602 uwb: 0.99758008 840.815 444.853 -imu_odom_: 1691062808.872720676 0.577003 -0.134075 9.75398 -0.0575243 0.0532632 0.203466 0.1 0.32 pose: 0.33960794 5.82294 -0.29112 0 -0.00770533 -0.00385611 -0.669645 0.742631 uwb: 0.0 840.815 444.853 -imu_odom_: 1691062808.889649451 -0.198719 -0.227449 10.0341 -0.0426106 0.0841559 0.184291 0.1 0.32 pose: 0.0 5.82294 -0.29112 0 -0.00770533 -0.00385611 -0.669645 0.742631 uwb: 0.0 840.815 444.853 -imu_odom_: 1691062808.905714361 -0.933739 -0.272939 9.89763 -0.072438 0.0351537 0.225836 0.11 0.23 pose: 0.52032541 5.82294 -0.29112 0 -0.00575684 -0.00418527 -0.666345 0.74561 uwb: 0.50191068 844.149 443.664 -imu_odom_: 1691062808.923689864 -0.21069 -0.627281 10.0389 -0.0713727 -0.0788296 0.256729 0.11 0.23 pose: 0.0 5.82294 -0.29112 0 -0.00575684 -0.00418527 -0.666345 0.74561 uwb: 0.0 844.149 443.664 -imu_odom_: 1691062808.941588373 0.756568 -0.447716 10.1275 -0.036219 -0.0372843 0.216249 0.11 0.23 pose: 0.0 5.82294 -0.29112 0 -0.00575684 -0.00418527 -0.666345 0.74561 uwb: 0.0 844.149 443.664 -imu_odom_: 1691062808.955593656 0.816423 0.155623 10.4986 -0.0458064 0.0149137 0.233293 0.12 0.17 pose: 0.7004829 5.82294 -0.29112 0 -0.00525545 -0.00350712 -0.665862 0.746049 uwb: 0.49803175 841.811 444.666 -imu_odom_: 1691062808.972646674 0.380678 -0.248997 10.0461 -0.0436758 -0.00852212 0.252468 0.12 0.17 pose: 0.0 5.82294 -0.29112 0 -0.00525545 -0.00350712 -0.665862 0.746049 uwb: 0.0 841.811 444.666 -imu_odom_: 1691062808.989599364 0.280122 -0.486023 9.50737 -0.0213053 -0.00106526 0.186421 0.12 0.17 pose: 0.65946247 5.82985 -0.29835 0 -0.00551606 -0.00290094 -0.661013 0.750348 uwb: 0.0 841.811 444.666 -imu_odom_: 1691062809.7679861 0.107739 -0.11971 9.86411 -0.04048 -0.04048 0.198139 0.17 0.2 pose: 0.0 5.82985 -0.29835 0 -0.00551606 -0.00290094 -0.661013 0.750348 uwb: 0.50051077 841.952 445.163 -imu_odom_: 1691062809.24651217 0.4956 -0.45011 10.0054 -0.0639159 -0.0245011 0.217314 0.17 0.2 pose: 0.0 5.82985 -0.29835 0 -0.00551606 -0.00290094 -0.661013 0.750348 uwb: 0.0 841.952 445.163 -imu_odom_: 1691062809.38667584 1.01275 -0.423774 10.3884 -0.0511327 -0.0458064 0.194943 0.17 0.2 pose: 0.34997315 5.82257 -0.305208 0 -0.00404789 -0.000520107-0.658795 0.752311 uwb: 0.0 841.952 445.163 -imu_odom_: 1691062809.55586443 0.639252 0.023942 10.2615 -0.0468716 -0.0372843 0.188552 0.14 0.14 pose: 0.41069742 5.82948 -0.312445 0 -0.00618525 -0.000614918-0.656228 0.754537 uwb: 0.50050204 845.428 444.502 -imu_odom_: 1691062809.72585506 0.715866 0.0957681 10.24 -0.052198 0.0436758 0.199204 0.14 0.14 pose: 0.7047410 5.82948 -0.312445 0 -0.00594062 -0.0013587 -0.655835 0.75488 uwb: 0.0 845.428 444.502 -imu_odom_: 1691062809.90640047 0.0383072 -0.4956 9.39006 -0.0553937 0.0394148 0.18003 0.19 0.17 pose: 0.0 5.82948 -0.312445 0 -0.00594062 -0.0013587 -0.655835 0.75488 uwb: 0.0 845.428 444.502 -imu_odom_: 1691062809.107572614 0.201113 -0.306458 9.96946 -0.0479369 0.0255663 0.152333 0.15 0.11 pose: 0.44925053 5.82919 -0.320328 0 -0.00409618 -0.0016281 -0.653308 0.75708 uwb: 0.49861798 843.091 445.474 -imu_odom_: 1691062809.122568630 0.234632 -0.112527 9.85932 -0.0628506 0.0223706 0.189617 0.15 0.11 pose: 0.0 5.82919 -0.320328 0 -0.00409618 -0.0016281 -0.653308 0.75708 uwb: 0.0 843.091 445.474 -imu_odom_: 1691062809.138623916 0.591368 -0.189142 9.75877 -0.0596548 -0.0319579 0.198139 0.15 0.11 pose: 0.0 5.82919 -0.320328 0 -0.00409618 -0.0016281 -0.653308 0.75708 uwb: 0.0 843.091 445.474 -imu_odom_: 1691062809.155568440 0.782904 -0.28491 9.87129 -0.0713727 -0.0660464 0.215183 0.15 0.11 pose: 0.23001494 5.82916 -0.326584 0 -0.002405 0.000214009 -0.652241 0.758008 uwb: 0.50223734 845.61 445.133 -imu_odom_: 1691062809.173627356 1.39103 -0.308852 9.80665 -0.0639159 -0.0575243 0.245011 0.14 0.08 pose: 0.0 5.82916 -0.326584 0 -0.002405 0.000214009 -0.652241 0.758008 uwb: 0.0 845.61 445.133 -imu_odom_: 1691062809.191585361 1.79565 -0.316035 9.53371 -0.0553937 -0.0276969 0.184291 0.14 0.08 pose: 0.31983121 5.82916 -0.326584 0 -0.00301688 -0.00165721 -0.6503 0.75967 uwb: 0.0 845.61 445.133 -imu_odom_: 1691062809.207600983 1.71185 0.138864 10.1442 -0.0607201 0.0117179 0.138484 0.12 0.02 pose: 0.35986881 5.83607 -0.333805 0 -0.00629193 -0.00472903 -0.647771 0.761794 uwb: 0.49785969 843.227 445.948 -imu_odom_: 1691062809.225721728 1.04627 -0.0885855 9.94551 -0.0511327 0.0330232 0.110787 0.12 0.02 pose: 0.0 5.83607 -0.333805 0 -0.00629193 -0.00472903 -0.647771 0.761794 uwb: 0.0 843.227 445.948 -imu_odom_: 1691062809.242712625 0.758962 -0.296881 9.84975 -0.0479369 0.015979 0.0788296 0.12 0.02 pose: 0.0 5.83607 -0.333805 0 -0.00629193 -0.00472903 -0.647771 0.761794 uwb: 0.0 843.227 445.948 -imu_odom_: 1691062809.259585987 0.799663 -0.320823 10.0604 -0.0511327 0 0.076699 0.08 0.05 pose: 0.16997897 5.83607 -0.333805 0 -0.00729501 -0.00613529 -0.646951 0.762472 uwb: 0.50000623 844.183 445.63 -imu_odom_: 1691062809.276583300 0.931344 -0.208296 9.8258 -0.0575243 -0.0149137 0.0884169 0.1 0.08 pose: 0.0 5.83607 -0.333805 0 -0.00729501 -0.00613529 -0.646951 0.762472 uwb: 0.0 844.183 445.63 -imu_odom_: 1691062809.292718206 0.830788 -0.332794 9.93594 -0.0553937 -0.00532632 0.117179 0.1 0.08 pose: 0.67987501 5.82885 -0.340715 0 -0.0113292 -0.0101296 -0.645449 0.763652 uwb: 0.0 844.183 445.63 -imu_odom_: 1691062809.310712959 0.766145 -0.241814 9.83299 -0.0575243 0.015979 0.123571 0.09 0.05 pose: 0.0 5.82885 -0.340715 0 -0.0113292 -0.0101296 -0.645449 0.763652 uwb: 0.50114075 844.253 445.879 -imu_odom_: 1691062809.327620444 0.864307 -0.136469 10.0485 -0.0500674 -0.015979 0.12144 0.09 0.05 pose: 0.0 5.82885 -0.340715 0 -0.0113292 -0.0101296 -0.645449 0.763652 uwb: 0.0 844.253 445.879 -imu_odom_: 1691062809.352646566 0.727837 -0.0957681 10.24 -0.052198 0.00958738 0.109722 0.05 0.08 pose: 0.61023503 5.83578 -0.347917 0 -0.0128282 -0.0148098 -0.643663 0.765059 uwb: 0.50136531 845.624 445.178 -imu_odom_: 1691062809.370813101 0.244209 -0.246603 9.65821 -0.0660464 0.0308927 0.072438 0.05 0.08 pose: 0.7189443 5.83578 -0.347917 0 -0.0120823 -0.0149012 -0.643484 0.765219 uwb: 0.0 845.624 445.178 -imu_odom_: 1691062809.395609112 -1.01514 0.1652 9.61033 -0.04048 0.0798948 -0.04048 0.07 0.05 pose: 0.0 5.83578 -0.347917 0 -0.0120823 -0.0149012 -0.643484 0.765219 uwb: 0.49779845 847.143 445.026 -imu_odom_: 1691062809.422714984 -0.679953 -0.885855 10.0796 -0.0820254 -0.052198 0.111853 0.07 0.05 pose: 0.36003214 5.83578 -0.347917 0 -0.00913334 -0.0132838 -0.642834 0.765836 uwb: 0.0 847.143 445.026 -imu_odom_: 1691062809.448587181 0.488417 -0.196325 9.87129 -0.0213053 -0.0458064 0.0852212 0.1 0.05 pose: 0.51901883 5.8306 -0.352868 0 -0.00651585 -0.00867366 -0.642891 0.76588 uwb: 0.50025705 851.49 443.822 -imu_odom_: 1691062809.475720177 0.529119 -0.0957681 9.92397 -0.0671117 0.0276969 0.128897 0.1 0.05 pose: 0.0 5.8306 -0.352868 0 -0.00651585 -0.00867366 -0.642891 0.76588 uwb: 0.0 851.49 443.822 -imu_odom_: 1691062809.491691468 0.550666 -0.246603 9.93354 -0.0585895 0.00213053 0.0681769 0.13 0.05 pose: 0.32860986 5.83547 -0.36205 0 -0.00404472 -0.00753544 -0.642218 0.766474 uwb: 0.0 851.49 443.822 -imu_odom_: 1691062809.518874044 0.222661 -0.105345 10.4244 -0.0490022 -0.0117179 0.0692422 0.13 0.05 pose: 0.0 5.83547 -0.36205 0 -0.00404472 -0.00753544 -0.642218 0.766474 uwb: 0.49986332 855.885 442.74 -imu_odom_: 1691062809.543777091 -0.071826 -0.426168 9.78271 -0.0735032 0.00213053 0.0884169 0.13 0.02 pose: 0.28117895 5.83547 -0.36205 0 -0.00261903 -0.00720607 -0.641454 0.767123 uwb: 0.0 855.885 442.74 -imu_odom_: 1691062809.560592998 0.215478 -0.160412 10.0245 -0.0490022 -0.02024 0.0671117 0.13 0.02 pose: 0.0 5.83547 -0.36205 0 -0.00261903 -0.00720607 -0.641454 0.767123 uwb: 0.49955126 855.85 442.604 -imu_odom_: 1691062809.586706389 0.191536 -0.0167594 9.85932 -0.0543285 0.00319579 0.0798948 0.14 0.02 pose: 0.43065498 5.83547 -0.36205 0 -0.000941191-0.00434558 -0.640924 0.767591 uwb: 0.0 855.85 442.604 -imu_odom_: 1691062809.613723600 0.521936 -0.217872 9.64145 -0.0585895 -0.0415453 0.0596548 0.18 0.05 pose: 0.41860403 5.83521 -0.376162 0 0.00141492 -0.0013495 -0.640312 0.768112 uwb: 0.50311812 856.859 442.489 -imu_odom_: 1691062809.638708016 0.179565 -0.318429 9.75877 -0.0500674 0.0170442 0.072438 0.15 0.02 pose: 0.26227717 5.83521 -0.376162 0 0.00239494 -0.00136437 -0.639969 0.768396 uwb: 0.0 856.859 442.489 -imu_odom_: 1691062809.655566213 -0.0502782 -0.258574 9.96946 -0.0639159 -0.0298274 0.0735032 0.15 0.02 pose: 0.0 5.83521 -0.376162 0 0.00239494 -0.00136437 -0.639969 0.768396 uwb: 0.49692059 856.87 442.535 -imu_odom_: 1691062809.680706078 0.311246 -0.306458 9.52413 -0.0511327 -0.015979 0.0681769 0.19 0 pose: 0.26871970 5.8421 -0.383402 0 0.00068646 -0.00164678 -0.639722 0.768604 uwb: 0.0 856.87 442.535 -imu_odom_: 1691062809.707616254 0.557849 -0.344765 10.3334 -0.0830906 0.02024 0.0809601 0.19 0.02 pose: 0.23988726 5.8421 -0.383402 0 0.00144362 0.000677731 -0.639418 0.768858 uwb: 0.49925960 854.505 443.439 -imu_odom_: 1691062809.732634210 0.61531 -0.454898 10.1562 -0.0628506 0.0191748 0.0553937 0.19 0.02 pose: 0.34997899 5.83696 -0.388312 0 0.000754034 0.00358345 -0.639015 0.769186 uwb: 0.0 854.505 443.439 -imu_odom_: 1691062809.759715876 0.00957681 -0.342371 9.55765 -0.0617853 0.00319579 0.0756338 0.19 0.02 pose: 0.6929293 5.83487 -0.390312 0 0.000116936 0.00339562 -0.638906 0.769277 uwb: 0.49988957 855.913 442.854 -imu_odom_: 1691062809.785606447 0.385466 -0.304064 9.25838 -0.0543285 0.0127832 0.0575243 0.19 0.02 pose: 0.0 5.83487 -0.390312 0 0.000116936 0.00339562 -0.638906 0.769277 uwb: 0.0 855.913 442.854 -imu_odom_: 1691062809.809592257 0.816423 -0.339977 10.2208 -0.0575243 0.0191748 0.0585895 0.2 0.02 pose: 0.52089705 5.84179 -0.397534 0 -0.00364408 0.00318809 -0.638342 0.769738 uwb: 0.49922461 861.16 441.064 -imu_odom_: 1691062809.824820134 0.952892 -0.268151 9.4571 -0.0596548 0.00213053 0.0500674 0.2 0.02 pose: 0.0 5.84179 -0.397534 0 -0.00364408 0.00318809 -0.638342 0.769738 uwb: 0.0 861.16 441.064 -imu_odom_: 1691062809.849622853 0.624887 -0.339977 10.0365 -0.0511327 -0.02024 0.0777643 0.15 0.05 pose: 0.53004026 5.84872 -0.404745 0 -0.00412571 0.00242742 -0.63784 0.770154 uwb: 0.50233359 863.715 440.919 -imu_odom_: 1691062809.866545796 0.418985 -0.335188 9.95748 -0.056459 -0.0213053 0.0692422 0.15 0.05 pose: 0.0 5.84872 -0.404745 0 -0.00412571 0.00242742 -0.63784 0.770154 uwb: 0.0 863.715 440.919 -imu_odom_: 1691062809.882596124 0.538695 -0.141258 9.98861 -0.0532632 -0.0330232 0.0639159 0.17 0 pose: 0.38968994 5.84152 -0.411682 0 -0.00662047 -0.000287841-0.637562 0.770371 uwb: 0.0 863.715 440.919 -imu_odom_: 1691062809.900697328 0.64404 -0.328006 10.0437 -0.0575243 0.0543285 0.0713727 0.17 0 pose: 0.0 5.84152 -0.411682 0 -0.00662047 -0.000287841-0.637562 0.770371 uwb: 0.49891255 861.29 441.588 -imu_odom_: 1691062809.917617354 0.282516 -0.129287 9.82102 -0.052198 0.00532632 0.0671117 0.17 0 pose: 0.0 5.84152 -0.411682 0 -0.00662047 -0.000287841-0.637562 0.770371 uwb: 0.0 861.29 441.588 -imu_odom_: 1691062809.930802813 -0.203507 -0.0861913 9.54808 -0.0511327 0.0276969 0.0607201 0.16 0.02 pose: 0.42908299 5.84846 -0.41888 0 -0.00689064 -0.000918301-0.637027 0.77081 uwb: 0.0 861.29 441.588 -imu_odom_: 1691062809.946569074 0.332794 -0.277727 9.88326 -0.0617853 0.00106526 0.0671117 0.16 0.02 pose: 0.0 5.84846 -0.41888 0 -0.00689064 -0.000918301-0.637027 0.77081 uwb: 0.50302188 866.605 440.053 -imu_odom_: 1691062809.964676695 0.486023 -0.361524 9.02614 -0.0596548 -0.0287621 0.0649811 0.16 0.02 pose: 0.0 5.84846 -0.41888 0 -0.00689064 -0.000918301-0.637027 0.77081 uwb: 0.0 866.605 440.053 -imu_odom_: 1691062809.988678546 0.141258 -0.222661 9.79228 -0.0500674 0.00639159 0.0671117 0.23 0.02 pose: 0.80123898 5.84822 -0.43302 0 -0.00459429 0.00055114 -0.636207 0.771504 uwb: 0.0 866.605 440.053 -imu_odom_: 1691062810.15698091 0.28491 -0.0407014 10.6135 -0.0681769 -0.00958738 0.0660464 0.21 0.02 pose: 0.33948253 5.85298 -0.438033 0 -0.00357827 0.00214479 -0.635849 0.771802 uwb: 0.49710141 868.536 439.476 -imu_odom_: 1691062810.40790710 0.713472 -0.296881 9.94073 -0.076699 0.015979 0.0575243 0.18 0 pose: 0.0 5.85298 -0.438033 0 -0.00357827 0.00214479 -0.635849 0.771802 uwb: 0.0 868.536 439.476 -imu_odom_: 1691062810.64591615 0.586579 -0.237026 9.98382 -0.0436758 -0.0575243 0.0458064 0.22 0 pose: 0.52112164 5.85289 -0.452286 0 -0.00301573 0.000271977 -0.635403 0.772175 uwb: 0.0 868.536 439.476 -imu_odom_: 1691062810.81544014 0.486023 -0.150835 9.94551 -0.0266316 0.00852212 0.0575243 0.22 0 pose: 0.0 5.85289 -0.452286 0 -0.00301573 0.000271977 -0.635403 0.772175 uwb: 0.0 868.536 439.476 -imu_odom_: 1691062810.97811621 0.512359 -0.483629 10.0772 -0.0372843 -0.0181095 0.0532632 0.17 0 pose: 0.40753304 5.85485 -0.454341 0 -0.00281687 -0.00340909 -0.635234 0.772307 uwb: 0.100174779 863.688 440.732 -imu_odom_: 1691062810.114657277 0.790087 -0.0191536 10.0126 -0.0415453 -0.0340885 0.0490022 0.17 0 pose: 0.8160344 5.85485 -0.454341 0 -0.00346534 -0.00303185 -0.635187 0.772345 uwb: 0.0 863.688 440.732 -imu_odom_: 1691062810.131554263 0.634463 -0.035913 9.86411 -0.0511327 0.0170442 0.0660464 0.17 0 pose: 0.0 5.85485 -0.454341 0 -0.00346534 -0.00303185 -0.635187 0.772345 uwb: 0.0 863.688 440.732 -imu_odom_: 1691062810.146525198 0.0407014 -0.129287 10.0197 -0.0639159 0.0255663 0.052198 0.17 0.02 pose: 0.32891901 5.85454 -0.468479 0 -0.00390206 -0.00530119 -0.634999 0.772485 uwb: 0.49785096 867.941 439.085 -imu_odom_: 1691062810.162667104 0.19393 -0.294487 9.99819 -0.052198 -0.015979 0.0585895 0.17 0.02 pose: 0.0 5.85454 -0.468479 0 -0.00390206 -0.00530119 -0.634999 0.772485 uwb: 0.0 867.941 439.085 -imu_odom_: 1691062810.177770448 0.385466 -0.129287 9.69412 -0.0319579 -0.0703074 0.0692422 0.18 0.02 pose: 0.0 5.85454 -0.468479 0 -0.00390206 -0.00530119 -0.634999 0.772485 uwb: 0.0 867.941 439.085 -imu_odom_: 1691062810.193579291 0.876278 -0.122104 10.0796 -0.0468716 -0.0298274 0.0511327 0.18 0.02 pose: 0.40070845 5.85454 -0.468479 0 -0.00180656 -0.0034178 -0.634731 0.772724 uwb: 0.0 867.941 439.085 -imu_odom_: 1691062810.215652466 0.138864 -0.0526724 9.55526 -0.0490022 -0.0170442 0.0585895 0.18 0.02 pose: 0.0 5.85454 -0.468479 0 -0.00180656 -0.0034178 -0.634731 0.772724 uwb: 0.0 867.941 439.085 -imu_odom_: 1691062810.236533671 0.56982 -0.277727 10.1394 -0.0639159 -0.0170442 0.0532632 0.18 0.02 pose: 0.6996080 5.85454 -0.468479 0 -0.00120726 -0.00349561 -0.634653 0.772789 uwb: 0.0 867.941 439.085 -imu_odom_: 1691062810.250585037 0.612916 -0.287304 9.48104 -0.0575243 -0.0617853 0.0415453 0.18 -0.02 pose: 0.0 5.85454 -0.468479 0 -0.00120726 -0.00349561 -0.634653 0.772789 uwb: 0.99900047 865.948 439.413 -imu_odom_: 1691062810.267540936 0.54109 -0.31364 9.99579 -0.0500674 0.0458064 0.0511327 0.18 -0.02 pose: 0.72883710 5.86119 -0.489831 0 -0.00252652 -0.00451391 -0.634206 0.773147 uwb: 0.0 865.948 439.413 -imu_odom_: 1691062810.292536436 0.586579 -0.138864 10.0197 -0.0511327 0.0106526 0.0532632 0.18 0 pose: 0.0 5.86119 -0.489831 0 -0.00252652 -0.00451391 -0.634206 0.773147 uwb: 0.0 865.948 439.413 -imu_odom_: 1691062810.317722966 1.12527 -0.105345 9.55047 -0.0490022 0.00319579 0.0436758 0.18 0 pose: 0.32072075 5.86119 -0.489831 0 -0.00440245 -0.00440338 -0.634076 0.773246 uwb: 0.49981958 866.814 438.7 -imu_odom_: 1691062810.342518103 0.675165 -0.0909797 10.0245 -0.0394148 -0.0213053 0.0340885 0.19 0 pose: 0.43103997 5.86099 -0.500114 0 -0.0049336 -0.0081907 -0.633932 0.773329 uwb: 0.0 866.814 438.7 -imu_odom_: 1691062810.368526500 0.114922 -0.328006 9.67736 -0.0639159 0.00106526 0.0575243 0.19 0 pose: 0.6816424 5.86092 -0.503971 0 -0.00481694 -0.00894265 -0.633946 0.773311 uwb: 0.50199529 865.85 439.002 -imu_odom_: 1691062810.393542999 0.600945 -0.442927 9.35175 -0.0532632 -0.0468716 0.0500674 0.2 0 pose: 0.43987110 5.86572 -0.508952 0 -0.00367219 -0.00835126 -0.633817 0.773429 uwb: 0.0 865.85 439.002 -imu_odom_: 1691062810.410786464 0.591368 -0.294487 9.53371 -0.0500674 -0.015979 0.0532632 0.2 0 pose: 0.0 5.86572 -0.508952 0 -0.00367219 -0.00835126 -0.633817 0.773429 uwb: 0.49979043 863.81 439.131 -imu_odom_: 1691062810.436515170 0.665588 -0.191536 9.94312 -0.0500674 -0.0415453 0.0500674 0.22 0 pose: 0.32173569 5.86786 -0.511173 0 -0.00671777 -0.00709212 -0.633652 0.773556 uwb: 0.0 863.81 439.131 -imu_odom_: 1691062810.461529336 0.263362 -0.287304 10.173 -0.0585895 0.0255663 0.0596548 0.22 0 pose: 0.0 5.86786 -0.511173 0 -0.00671777 -0.00709212 -0.633652 0.773556 uwb: 0.49958043 864.373 439.309 -imu_odom_: 1691062810.476571433 0.383072 -0.155623 9.71806 -0.0553937 0.00319579 0.0447411 0.22 0 pose: 0.42822264 5.8676 -0.525312 0 -0.00741789 -0.00886655 -0.633433 0.773711 uwb: 0.0 864.373 439.309 -imu_odom_: 1691062810.500507080 0.78051 0.0215478 9.87608 -0.0607201 -0.00639159 0.052198 0.22 0 pose: 0.0 5.8676 -0.525312 0 -0.00741789 -0.00886655 -0.633433 0.773711 uwb: 0.49975835 864.329 439.127 -imu_odom_: 1691062810.525498205 0.624887 -0.323217 9.68694 -0.0681769 -0.0181095 0.0394148 0.17 0 pose: 0.40077553 5.8676 -0.525312 0 -0.00502289 -0.0069068 -0.633251 0.773899 uwb: 0.0 864.329 439.127 -imu_odom_: 1691062810.549495973 0.402226 -0.275333 9.36851 -0.0671117 0.0287621 0.0500674 0.2 0 pose: 0.41898319 5.86909 -0.537699 0 -0.00734296 -0.00754979 -0.633149 0.773958 uwb: 0.49862382 858.49 440.692 -imu_odom_: 1691062810.573526406 0.311246 -0.277727 9.83777 -0.0532632 0.0319579 0.0458064 0.2 0 pose: 0.0 5.86909 -0.537699 0 -0.00734296 -0.00754979 -0.633149 0.773958 uwb: 0.0 858.49 440.692 -imu_odom_: 1691062810.599498056 0.114922 -0.189142 9.55047 -0.0649811 0.0287621 0.0575243 0.23 -0.02 pose: 0.6000390 5.86737 -0.539457 0 -0.00703913 -0.00691357 -0.633128 0.773984 uwb: 0.49990709 855.648 441.783 -imu_odom_: 1691062810.615623338 0.914585 -0.356736 10.2424 -0.0436758 -0.0383495 0.0426106 0.23 -0.02 pose: 0.0 5.86737 -0.539457 0 -0.00703913 -0.00691357 -0.633128 0.773984 uwb: 0.0 855.648 441.783 -imu_odom_: 1691062810.639537986 0.667982 -0.260968 9.91439 -0.0458064 -0.00532632 0.0436758 0.25 0.02 pose: 0.50014624 5.87432 -0.546644 0 -0.0039223 -0.00198107 -0.632958 0.774174 uwb: 0.0 855.648 441.783 -imu_odom_: 1691062810.665481929 0.703895 -0.102951 10.1107 -0.0490022 -0.00639159 0.04048 0.25 0.02 pose: 0.0 5.87432 -0.546644 0 -0.0039223 -0.00198107 -0.632958 0.774174 uwb: 0.50098326 854.613 441.809 -imu_odom_: 1691062810.679693993 0.627281 0.0287304 9.71806 -0.0532632 0.0127832 0.0511327 0.19 0 pose: 0.83968710 5.87411 -0.56077 0 -0.00528006 -0.00628014 -0.632765 0.7743 uwb: 0.0 854.613 441.809 -imu_odom_: 1691062810.704567001 0.536301 -0.117316 10.2448 -0.0639159 -0.00532632 0.052198 0.19 0 pose: 0.6129008 5.87411 -0.56077 0 -0.0048856 -0.00674232 -0.632741 0.774319 uwb: 0.50031831 853.603 441.927 -imu_odom_: 1691062810.729642412 0.435745 -0.395043 9.7444 -0.0745685 0.00958738 0.0543285 0.19 0 pose: 0.32956064 5.87611 -0.572757 0 -0.00201582 -0.00777877 -0.632606 0.774432 uwb: 0.0 853.603 441.927 -imu_odom_: 1691062810.753504272 0.639252 0.105345 10.2113 -0.0671117 -0.00639159 0.0394148 0.19 0 pose: 0.0 5.87611 -0.572757 0 -0.00201582 -0.00777877 -0.632606 0.774432 uwb: 0.50068287 853.615 441.973 -imu_odom_: 1691062810.771588562 0.387861 -0.138864 10.0269 -0.0458064 -0.0255663 0.0383495 0.25 0.02 pose: 0.48937271 5.87859 -0.579756 0 -0.00214957 -0.00724581 -0.632468 0.77455 uwb: 0.0 853.615 441.973 -imu_odom_: 1691062810.795627452 0.316035 -0.337582 10.0963 -0.0596548 -0.0426106 0.036219 0.25 0.02 pose: 0.0 5.87859 -0.579756 0 -0.00214957 -0.00724581 -0.632468 0.77455 uwb: 0.49918963 854.514 441.422 -imu_odom_: 1691062810.813630664 0.143652 -0.0933739 9.69652 -0.0532632 0.0245011 0.0596548 0.23 0.02 pose: 0.42123180 5.87594 -0.586853 0 -0.00143411 -0.00411883 -0.632524 0.774529 uwb: 0.0 854.514 441.422 -imu_odom_: 1691062810.837545020 0.179565 -0.272939 10.0341 -0.0692422 0.0319579 0.052198 0.23 0.02 pose: 0.0 5.87594 -0.586853 0 -0.00143411 -0.00411883 -0.632524 0.774529 uwb: 0.0 854.514 441.422 -imu_odom_: 1691062810.864547650 0.227449 -0.581791 10.0102 -0.0490022 0.00213053 0.052198 0.21 -0.02 pose: 0.41917568 5.88064 -0.596228 0 0.00113626 -0.000180216-0.632277 0.774741 uwb: 0.49866466 856.398 440.644 -imu_odom_: 1691062810.888500796 0.464475 -0.395043 10.1011 -0.0383495 -0.0351537 0.0479369 0.21 -0.02 pose: 0.7040703 5.88064 -0.596228 0 0.000839507 0.000446211 -0.632244 0.774769 uwb: 0.0 856.398 440.644 -imu_odom_: 1691062810.915530257 0.620098 -0.347159 10.2496 -0.0553937 0.0276969 0.052198 0.21 -0.02 pose: 0.27998028 5.88761 -0.603399 0 -0.0008257080.00218185 -0.632121 0.774866 uwb: 0.50030955 855.009 441.318 -imu_odom_: 1691062810.932576859 0.316035 -0.0885855 10.1179 -0.0532632 -0.0340885 0.0330232 0.21 -0.02 pose: 0.0 5.88761 -0.603399 0 -0.0008257080.00218185 -0.632121 0.774866 uwb: 0.0 855.009 441.318 -imu_odom_: 1691062810.957496822 0.253785 -0.122104 10.161 -0.056459 -0.0585895 0.072438 0.19 0 pose: 0.23942355 5.88761 -0.603399 0 -0.00304463 0.00175499 -0.632033 0.774933 uwb: 0.49991584 855.874 440.633 -imu_odom_: 1691062810.982546568 0.292093 -0.301669 9.90721 -0.0308927 0.0127832 0.0415453 0.18 0.02 pose: 0.60970716 5.88741 -0.617538 0 -0.0008871740.000506537 -0.63167 0.775236 uwb: 0.0 855.874 440.633 -imu_odom_: 1691062811.6595084 0.411803 -0.373495 9.96706 -0.0585895 -0.0276969 0.0553937 0.18 0.02 pose: 0.0 5.88741 -0.617538 0 -0.0008871740.000506537 -0.63167 0.775236 uwb: 0.50235693 860.271 439.494 -imu_odom_: 1691062811.21532188 0.737414 0.237026 10.5728 -0.0671117 -0.0436758 0.0585895 0.18 0.02 pose: 0.0 5.88741 -0.617538 0 -0.0008871740.000506537 -0.63167 0.775236 uwb: 0.0 860.271 439.494 -imu_odom_: 1691062811.37580183 0.691924 -0.148441 9.51456 -0.0532632 0.0266316 0.0511327 0.18 0.02 pose: 0.8120971 5.88741 -0.617538 0 -0.0006438180.00130071 -0.631663 0.775241 uwb: 0.0 860.271 439.494 -imu_odom_: 1691062811.54579247 0.550666 -0.304064 9.94791 -0.0756338 -0.00639159 0.0585895 0.18 0.02 pose: 0.0 5.88741 -0.617538 0 -0.0006438180.00130071 -0.631663 0.775241 uwb: 0.0 860.271 439.494 -imu_odom_: 1691062811.72520629 0.605733 0.0335188 10.0149 -0.0447411 0.0234358 0.0394148 0.18 0.02 pose: 0.47928749 5.88723 -0.63168 0 -0.00256827 0.00266966 -0.631452 0.775406 uwb: 0.0 860.271 439.494 -imu_odom_: 1691062811.90628835 0.387861 -0.167594 9.81383 -0.0809601 -0.0213053 0.0628506 0.18 0.02 pose: 0.0 5.88723 -0.63168 0 -0.00256827 0.00266966 -0.631452 0.775406 uwb: 0.0 860.271 439.494 -imu_odom_: 1691062811.106505049 0.225055 0.0407014 10.3214 -0.0703074 -0.0138484 0.0511327 0.18 0.02 pose: 0.0 5.88723 -0.63168 0 -0.00256827 0.00266966 -0.631452 0.775406 uwb: 0.99920465 858.758 439.68 -imu_odom_: 1691062811.131530589 0.220267 -0.366313 9.63187 -0.0777643 0.036219 0.0585895 0.23 0 pose: 0.48981312 5.89422 -0.638835 0 -0.00387193 -0.000999984-0.631206 0.775605 uwb: 0.0 858.758 439.68 -imu_odom_: 1691062811.156513841 0.54109 -0.237026 9.74201 -0.0436758 -0.00213053 0.0351537 0.18 0.02 pose: 0.69002735 5.89202 -0.650885 0 -0.0002000080.00161415 -0.630798 0.775945 uwb: 0.49835552 856.313 440.302 -imu_odom_: 1691062811.173459241 0.265756 -0.138864 10.0389 -0.036219 -0.0436758 0.0415453 0.18 0.02 pose: 0.0 5.89202 -0.650885 0 -0.0002000080.00161415 -0.630798 0.775945 uwb: 0.0 856.313 440.302 -imu_odom_: 1691062811.186456586 0.35913 -0.409408 10.3238 -0.0319579 -0.0170442 0.0308927 0.18 0 pose: 0.0 5.89202 -0.650885 0 -0.0002000080.00161415 -0.630798 0.775945 uwb: 0.0 856.313 440.302 -imu_odom_: 1691062811.204578208 0.514753 -0.0837971 10.0556 -0.0351537 0.0266316 0.0394148 0.18 0 pose: 0.48000788 5.89406 -0.65297 0 -0.0004776810.000243235 -0.630851 0.775904 uwb: 0.50110869 861.604 438.656 -imu_odom_: 1691062811.218465083 0.596156 -0.0287304 9.62469 -0.0553937 -0.00213053 0.0575243 0.18 0 pose: 0.0 5.89406 -0.65297 0 -0.0004776810.000243235 -0.630851 0.775904 uwb: 0.0 861.604 438.656 -imu_odom_: 1691062811.235511977 0.323217 -0.184354 10.2161 -0.0340885 0.0213053 0.0436758 0.2 -0.02 pose: 0.31051012 5.89391 -0.667112 0 -1.79183e-05-0.00153333 -0.630834 0.775916 uwb: 0.0 861.604 438.656 -imu_odom_: 1691062811.251510101 0.215478 0.100556 9.95988 -0.04048 0 0.0415453 0.2 -0.02 pose: 0.0 5.89391 -0.667112 0 -1.79183e-05-0.00153333 -0.630834 0.775916 uwb: 0.49854218 865.117 438.188 -imu_odom_: 1691062811.268512664 0.169988 -0.423774 9.77553 -0.056459 -0.00213053 0.0468716 0.23 0.02 pose: 0.40927712 5.89782 -0.671103 0 0.003123 -0.0011459 -0.63074 0.775987 uwb: 0.0 865.117 438.188 -imu_odom_: 1691062811.285509103 0.560243 -0.0191536 10.1754 -0.0372843 -0.0426106 0.0351537 0.23 0.02 pose: 0.0 5.89782 -0.671103 0 0.003123 -0.0011459 -0.63074 0.775987 uwb: 0.0 865.117 438.188 -imu_odom_: 1691062811.302447795 0.31364 -0.37589 9.33739 -0.0607201 0.0149137 0.0415453 0.23 0.02 pose: 0.0 5.89782 -0.671103 0 0.003123 -0.0011459 -0.63074 0.775987 uwb: 0.49998292 868.523 437.236 -imu_odom_: 1691062811.319457650 0.603339 -0.162806 10.2807 -0.056459 -0.015979 0.0351537 0.18 0.02 pose: 0.7061701 5.90091 -0.674257 0 0.00296908 -0.000447972-0.630722 0.776003 uwb: 0.0 868.523 437.236 -imu_odom_: 1691062811.336496670 0.373495 -0.0502782 9.663 -0.0468716 0.0287621 0.0319579 0.18 0 pose: 0.0 5.90091 -0.674257 0 0.00296908 -0.000447972-0.630722 0.776003 uwb: 0.0 868.523 437.236 -imu_odom_: 1691062811.354438052 0.490811 -0.234632 10.0413 -0.0628506 -0.0511327 0.0543285 0.18 0 pose: 0.67895053 5.90076 -0.688398 0 0.0015987 -0.00159898 -0.630761 0.775974 uwb: 0.50141784 870.591 437.215 -imu_odom_: 1691062811.370486922 1.1971 -0.270545 9.85453 -0.0532632 0.0213053 0.0426106 0.18 0 pose: 0.0 5.90076 -0.688398 0 0.0015987 -0.00159898 -0.630761 0.775974 uwb: 0.0 870.591 437.215 -imu_odom_: 1691062811.385597266 0.418985 -0.251391 9.95509 -0.0585895 0.0543285 0.0319579 0.18 0 pose: 0.0 5.90076 -0.688398 0 0.0015987 -0.00159898 -0.630761 0.775974 uwb: 0.0 870.591 437.215 -imu_odom_: 1691062811.400594158 0.114922 -0.272939 9.87369 -0.056459 0.00426106 0.0436758 0.18 0 pose: 0.34976610 5.90076 -0.688398 0 0.000128288 -0.00284647 -0.630676 0.776041 uwb: 0.49987794 871.951 436.374 -imu_odom_: 1691062811.418460878 0.620098 -0.335188 9.39245 -0.0415453 -0.0106526 0.0266316 0.26 0 pose: 0.39150693 5.90061 -0.70254 0 -3.39539e-06-0.000228563-0.630684 0.776039 uwb: 0.0 871.951 436.374 -imu_odom_: 1691062811.434584411 0.869095 -0.102951 9.85693 -0.0479369 -0.0394148 0.0298274 0.26 0 pose: 0.8001687 5.90061 -0.70254 0 -0.000724246-0.000569275-0.630724 0.776006 uwb: 0.0 871.951 436.374 -imu_odom_: 1691062811.452467755 0.962469 -0.294487 10.1299 -0.0500674 -0.0106526 0.0788296 0.23 0.02 pose: 0.0 5.90061 -0.70254 0 -0.000724246-0.000569275-0.630724 0.776006 uwb: 0.49928588 880.328 434.632 -imu_odom_: 1691062811.469589019 1.10612 -0.282516 10.7284 -0.0415453 -0.0490022 0.0905475 0.15 -0.02 pose: 0.43871910 5.90761 -0.709683 0 -0.00371008 -0.00399876 -0.630554 0.776127 uwb: 0.0 880.328 434.632 -imu_odom_: 1691062811.483599262 1.43173 -0.110133 9.90481 -0.0276969 -0.072438 0.04048 0.14 -0.05 pose: 0.0 5.90761 -0.709683 0 -0.00371008 -0.00399876 -0.630554 0.776127 uwb: 0.0 880.328 434.632 -imu_odom_: 1691062811.500641782 1.5706 0.035913 9.35415 -0.0511327 0.0138484 -0.00852212 0.14 -0.05 pose: 0.0 5.90761 -0.709683 0 -0.00371008 -0.00399876 -0.630554 0.776127 uwb: 0.49929755 882.277 434.079 -imu_odom_: 1691062811.514583487 1.29287 -0.148441 9.59596 -0.0660464 0.0479369 -0.00426106 0.14 -0.05 pose: 0.23136237 5.90761 -0.709683 0 -0.00545418 -0.00630576 -0.6302 0.776388 uwb: 0.0 882.277 434.079 -imu_odom_: 1691062811.531633881 0.991199 -0.248997 9.81862 -0.0692422 0.0276969 0.0213053 0.12 -0.05 pose: 0.0 5.90761 -0.709683 0 -0.00545418 -0.00630576 -0.6302 0.776388 uwb: 0.0 882.277 434.079 -imu_odom_: 1691062811.544577855 1.00556 -0.423774 9.991 -0.0553937 0.0372843 0.056459 0.12 -0.05 pose: 0.0 5.90761 -0.709683 0 -0.00545418 -0.00630576 -0.6302 0.776388 uwb: 0.0 882.277 434.079 -imu_odom_: 1691062811.560516190 0.878672 -0.488417 9.75398 -0.0479369 0.036219 0.0585895 0.1 -0.02 pose: 0.30988599 5.90048 -0.71669 0 -0.00681094 -0.0090735 -0.630601 0.776024 uwb: 0.50005584 879.321 434.75 -imu_odom_: 1691062811.578503361 0.567426 -0.167594 10.1155 -0.0500674 -0.00426106 0.0181095 0.1 -0.02 pose: 0.37985264 5.90755 -0.723762 0 -0.00936367 -0.0106548 -0.630742 0.775863 uwb: 0.0 879.321 434.75 -imu_odom_: 1691062811.596442410 0.665588 0.0143652 9.93115 -0.0511327 -0.0223706 0.0138484 0.1 -0.02 pose: 0.0 5.90755 -0.723762 0 -0.00936367 -0.0106548 -0.630742 0.775863 uwb: 0.50182323 887.121 432.662 -imu_odom_: 1691062811.612719934 1.09654 -0.146046 10.1873 -0.0692422 -0.036219 0.0415453 0.08 0 pose: 0.7898734 5.90755 -0.723762 0 -0.0100315 -0.0105267 -0.630673 0.775912 uwb: 0.0 887.121 432.662 -imu_odom_: 1691062811.629444556 1.14443 -0.493206 9.95988 -0.0607201 -0.00639159 0.0383495 0.1 -0.02 pose: 0.0 5.90755 -0.723762 0 -0.0100315 -0.0105267 -0.630673 0.775912 uwb: 0.0 887.121 432.662 -imu_odom_: 1691062811.645445304 0.68953 -0.186748 9.71567 -0.052198 0.0319579 0.0213053 0.1 -0.02 pose: 0.0 5.90755 -0.723762 0 -0.0100315 -0.0105267 -0.630673 0.775912 uwb: 0.49935004 888.531 431.977 -imu_odom_: 1691062811.663485847 0.517148 0.059855 10.0102 -0.0607201 -0.02024 0.0266316 0.1 -0.02 pose: 0.68271572 5.90755 -0.723762 0 -0.0095841 -0.0128524 -0.630936 0.77567 uwb: 0.0 888.531 431.977 -imu_odom_: 1691062811.679452472 0.591368 -0.208296 9.88805 -0.0575243 -0.0234358 0.0287621 0.1 -0.02 pose: 0.0 5.90755 -0.723762 0 -0.0095841 -0.0128524 -0.630936 0.77567 uwb: 0.0 888.531 431.977 -imu_odom_: 1691062811.696499075 0.770933 -0.430956 9.88805 -0.0553937 -0.0234358 0.0351537 0.1 -0.02 pose: 0.32707288 5.91461 -0.730843 0 -0.00795245 -0.0125258 -0.631119 0.775544 uwb: 0.49939963 892.506 431.235 -imu_odom_: 1691062811.712442077 0.85473 -0.323217 9.85214 -0.0585895 -0.00639159 0.0383495 0.05 0.02 pose: 0.43043626 5.91067 -0.734771 0 -0.00851081 -0.0108739 -0.631264 0.775445 uwb: 0.0 892.506 431.235 -imu_odom_: 1691062811.729430058 0.634463 -0.0694318 9.91439 -0.0543285 0.00426106 0.0436758 0.05 0.02 pose: 0.8006936 5.90753 -0.737901 0 -0.00928419 -0.0111325 -0.631258 0.775438 uwb: 0.0 892.506 431.235 -imu_odom_: 1691062811.747432103 0.675165 -0.160412 9.8689 -0.0607201 -0.0106526 0.0394148 0.05 0.02 pose: 0.0 5.90753 -0.737901 0 -0.00928419 -0.0111325 -0.631258 0.775438 uwb: 0.50048748 894.423 430.47 -imu_odom_: 1691062811.761568630 0.667982 -0.0909797 9.90242 -0.0617853 -0.015979 0.0383495 0.05 0.02 pose: 0.42926092 5.90753 -0.737901 0 -0.00678893 -0.0125524 -0.631272 0.775431 uwb: 0.0 894.423 430.47 -imu_odom_: 1691062811.777673497 0.581791 -0.287304 9.8282 -0.0543285 -0.00319579 0.0585895 0.04 0.02 pose: 0.0 5.90753 -0.737901 0 -0.00678893 -0.0125524 -0.631272 0.775431 uwb: 0.0 894.423 430.47 -imu_odom_: 1691062811.792674764 0.591368 -0.390255 10.0245 -0.0585895 -0.0138484 0.0862864 0.04 0.02 pose: 0.0 5.90753 -0.737901 0 -0.00678893 -0.0125524 -0.631272 0.775431 uwb: 0.0 894.423 430.47 -imu_odom_: 1691062811.809555710 0.517148 -0.217872 9.81144 -0.0426106 0.00106526 0.0969391 0.03 0.08 pose: 0.21134649 5.90753 -0.737901 0 -0.00589928 -0.0126667 -0.63124 0.775461 uwb: 0.50038248 898.89 429.612 -imu_odom_: 1691062811.822486559 0.627281 -0.141258 9.95509 -0.056459 -0.0117179 0.126766 0.03 0.08 pose: 0.0 5.90753 -0.737901 0 -0.00589928 -0.0126667 -0.63124 0.775461 uwb: 0.0 898.89 429.612 -imu_odom_: 1691062811.838422853 0.600945 -0.287304 9.84017 -0.0617853 -0.00958738 0.133158 0.03 0.08 pose: 0.0 5.90753 -0.737901 0 -0.00589928 -0.0126667 -0.63124 0.775461 uwb: 0.0 898.89 429.612 -imu_odom_: 1691062811.855503287 0.699107 -0.148441 9.90002 -0.0447411 0.00106526 0.106526 0.04 0.11 pose: 0.69856101 5.90753 -0.737901 0 -0.00647595 -0.00890297 -0.629508 0.776916 uwb: 0.49887758 899.404 429.617 -imu_odom_: 1691062811.871428499 0.600945 -0.131681 9.8258 -0.0553937 -0.00532632 0.116114 0.04 0.11 pose: 0.0 5.90753 -0.737901 0 -0.00647595 -0.00890297 -0.629508 0.776916 uwb: 0.0 899.404 429.617 -imu_odom_: 1691062811.888704046 0.679953 -0.275333 9.93594 -0.0553937 -0.00213053 0.12144 0.04 0.11 pose: 0.0 5.90753 -0.737901 0 -0.00647595 -0.00890297 -0.629508 0.776916 uwb: 0.0 899.404 429.617 -imu_odom_: 1691062811.905696693 0.670376 -0.246603 9.84975 -0.0532632 -0.00426106 0.12144 0.02 0.08 pose: 0.7010080 5.90753 -0.737901 0 -0.00649603 -0.00960889 -0.629324 0.777057 uwb: 0.50071788 902.885 428.966 -imu_odom_: 1691062811.922692548 0.658405 -0.155623 9.90481 -0.0532632 -0.00106526 0.132093 0.02 0.08 pose: 0.0 5.90753 -0.737901 0 -0.00649603 -0.00960889 -0.629324 0.777057 uwb: 0.0 902.885 428.966 -imu_odom_: 1691062811.938558847 0.691924 -0.198719 9.86172 -0.0596548 -0.00639159 0.133158 0.02 0.08 pose: 0.0 5.90753 -0.737901 0 -0.00649603 -0.00960889 -0.629324 0.777057 uwb: 0.0 902.885 428.966 -imu_odom_: 1691062811.955687694 0.658405 -0.138864 9.90002 -0.0490022 0.00319579 0.120375 0.02 0.14 pose: 0.51030730 5.90753 -0.737901 0 -0.00737704 -0.0100552 -0.627779 0.778292 uwb: 0.0 902.885 428.966 -imu_odom_: 1691062811.971568575 0.608127 -0.148441 9.86172 -0.0575243 0 0.129962 0.01 0.11 pose: 0.0 5.90753 -0.737901 0 -0.00737704 -0.0100552 -0.627779 0.778292 uwb: 0.0 902.885 428.966 -imu_odom_: 1691062811.989544080 0.665588 -0.253785 9.92636 -0.0575243 -0.00639159 0.143811 0.01 0.11 pose: 0.67138223 5.91458 -0.744993 0 -0.0059807 -0.0117327 -0.625494 0.780118 uwb: 0.0 902.885 428.966 -imu_odom_: 1691062812.5546579 0.622492 -0.260968 9.85693 -0.052198 0.00319579 0.134223 0.01 0.11 pose: 0.0 5.91458 -0.744993 0 -0.0059807 -0.0117327 -0.625494 0.780118 uwb: 0.100069206 903.341 428.627 -imu_odom_: 1691062812.21549952 0.481235 -0.0814029 9.91199 -0.0553937 0.00426106 0.123571 0 0.08 pose: 0.0 5.91458 -0.744993 0 -0.0059807 -0.0117327 -0.625494 0.780118 uwb: 0.0 903.341 428.627 -imu_odom_: 1691062812.37541660 0.459687 -0.102951 9.88805 -0.0553937 -0.00532632 0.108657 0 0.08 pose: 0.33822263 5.91458 -0.744993 0 -0.00738001 -0.00981878 -0.624177 0.781187 uwb: 0.0 903.341 428.627 -imu_odom_: 1691062812.54428148 0.562637 -0.141258 9.89045 -0.0543285 -0.00852212 0.0777643 0 0.05 pose: 0.40117511 5.91449 -0.744998 0 -0.00464372 -0.00827563 -0.622948 0.782205 uwb: 0.49854802 900.86 429.123 -imu_odom_: 1691062812.70409939 0.59855 -0.184354 9.90481 -0.056459 -0.00639159 0.0681769 0 0.05 pose: 0.0 5.91449 -0.744998 0 -0.00464372 -0.00827563 -0.622948 0.782205 uwb: 0.0 900.86 429.123 -imu_odom_: 1691062812.86420896 0.591368 -0.227449 9.88805 -0.0553937 -0.00532632 0.0532632 0 0.05 pose: 0.0 5.91449 -0.744998 0 -0.00464372 -0.00827563 -0.622948 0.782205 uwb: 0.0 900.86 429.123 -imu_odom_: 1691062812.100404016 0.555455 -0.124498 9.87129 -0.0532632 -0.00106526 0.0394148 0 0 pose: 0.7882986 5.91458 -0.744993 0 -0.00387606 -0.00842888 -0.622837 0.782296 uwb: 0.49999169 900.369 429.257 -imu_odom_: 1691062812.114660411 0.457293 -0.112527 9.87369 -0.0575243 0.00319579 0.0351537 0 0 pose: 0.0 5.91458 -0.744993 0 -0.00387606 -0.00842888 -0.622837 0.782296 uwb: 0.0 900.369 429.257 -imu_odom_: 1691062812.136462354 0.380678 -0.28491 9.89524 -0.0553937 -0.00319579 0.036219 0 0 pose: 0.46995474 5.91458 -0.744993 0 -0.0052485 -0.00786937 -0.622426 0.782622 uwb: 0.0 900.369 429.257 -imu_odom_: 1691062812.153462293 -0.122104 -0.251391 9.71328 -0.0553937 0.0617853 0.0287621 0 0.02 pose: 0.0 5.91458 -0.744993 0 -0.0052485 -0.00786937 -0.622426 0.782622 uwb: 0.49992752 902.367 428.912 -imu_odom_: 1691062812.170405361 -1.05105 -0.124498 10.1107 -0.0511327 0.0671117 0.0330232 0.02 0 pose: 0.0 5.91458 -0.744993 0 -0.0052485 -0.00786937 -0.622426 0.782622 uwb: 0.0 902.367 428.912 -imu_odom_: 1691062812.186410776 -1.16358 -0.244209 9.8258 -0.0617853 -0.0351537 0.0575243 0.02 0 pose: 0.69003904 5.91458 -0.744993 0 -0.000895532-0.0026589 -0.622606 0.78253 uwb: 0.0 902.367 428.912 -imu_odom_: 1691062812.204406405 0.117316 -0.3304 9.92875 -0.052198 -0.0756338 0.0788296 0.04 0.02 pose: 0.0 5.91458 -0.744993 0 -0.000895532-0.0026589 -0.622606 0.78253 uwb: 0.50245905 903.837 428.495 -imu_odom_: 1691062812.221449217 0.545878 -0.397437 9.87608 -0.0585895 -0.0308927 0.0969391 0.04 0.02 pose: 0.0 5.91458 -0.744993 0 -0.000895532-0.0026589 -0.622606 0.78253 uwb: 0.0 903.837 428.495 -imu_odom_: 1691062812.238643978 0.323217 0 10.1059 -0.0468716 0.0298274 0.0745685 0.04 0.02 pose: 0.33061643 5.91458 -0.744993 0 0.000693635 -7.07149e-05-0.622398 0.782701 uwb: 0.0 903.837 428.495 -imu_odom_: 1691062812.255411764 -0.189142 -0.134075 9.77074 -0.0628506 0.0149137 0.0830906 0.07 0.02 pose: 0.44158311 5.91458 -0.744993 0 0.000726836 2.99275e-05 -0.621629 0.783311 uwb: 0.49562861 904.321 428.319 -imu_odom_: 1691062812.272458075 -0.241814 -0.205901 9.94073 -0.0660464 -0.0170442 0.0830906 0.07 0.02 pose: 0.0 5.91458 -0.744993 0 0.000726836 2.99275e-05 -0.621629 0.783311 uwb: 0.0 904.321 428.319 -imu_odom_: 1691062812.286418738 0.347159 -0.287304 10.3382 -0.052198 -0.0468716 0.0777643 0.07 0.02 pose: 0.0 5.91458 -0.744993 0 0.000726836 2.99275e-05 -0.621629 0.783311 uwb: 0.0 904.321 428.319 -imu_odom_: 1691062812.304460156 0.457293 -0.19393 9.64145 -0.052198 -0.00639159 0.0830906 0.09 0.02 pose: 0.6769177 5.91458 -0.744993 0 0.00122825 0.000572694 -0.621514 0.783402 uwb: 0.50104746 900.836 428.985 -imu_odom_: 1691062812.317452836 0.306458 0.0215478 9.89045 -0.0585895 -0.0351537 0.0980043 0.09 0 pose: 0.0 5.91458 -0.744993 0 0.00122825 0.000572694 -0.621514 0.783402 uwb: 0.0 900.836 428.985 -imu_odom_: 1691062812.335387802 0.162806 -0.304064 9.93115 -0.0575243 -0.0479369 0.0884169 0.09 0 pose: 0.65010060 5.90747 -0.752028 0 0.00125487 0.000977215 -0.620403 0.784281 uwb: 0.0 900.836 428.985 -imu_odom_: 1691062812.348380190 -0.00718261-0.323217 9.50977 -0.0617853 -0.0138484 0.0649811 0.09 0 pose: 0.0 5.90747 -0.752028 0 0.00125487 0.000977215 -0.620403 0.784281 uwb: 0.50075289 899.805 428.974 -imu_odom_: 1691062812.365376337 0.172383 -0.134075 9.77313 -0.0596548 -0.0117179 0.0671117 0.1 0.05 pose: 0.0 5.90747 -0.752028 0 0.00125487 0.000977215 -0.620403 0.784281 uwb: 0.0 899.805 428.974 -imu_odom_: 1691062812.381431625 0.25618 -0.146046 10.0054 -0.0479369 -0.0436758 0.0777643 0.1 0.05 pose: 0.30971977 5.91451 -0.759126 0 0.002079 0.00264732 -0.619838 0.784722 uwb: 0.0 899.805 428.974 -imu_odom_: 1691062812.399408297 0.112527 -0.208296 9.47625 -0.0287621 -0.052198 0.0692422 0.11 0.02 pose: 0.40036433 5.91451 -0.759126 0 0.00524914 0.0035238 -0.619328 0.785107 uwb: 0.50093080 901.275 428.551 -imu_odom_: 1691062812.414525349 0.842759 -0.150835 9.87369 -0.0511327 -0.0436758 0.0884169 0.11 0.02 pose: 0.7952106 5.91451 -0.759126 0 0.00559652 0.00400559 -0.619236 0.785175 uwb: 0.0 901.275 428.551 -imu_odom_: 1691062812.432525644 0.972046 -0.387861 9.67497 -0.0692422 -0.036219 0.131028 0.11 0.02 pose: 0.0 5.91451 -0.759126 0 0.00559652 0.00400559 -0.619236 0.785175 uwb: 0.0 901.275 428.551 -imu_odom_: 1691062812.448534268 0.962469 -0.466869 9.89524 -0.0649811 0.0117179 0.158724 0.09 0.02 pose: 0.43141913 5.92158 -0.766204 0 0.00323598 0.00195613 -0.618194 0.786017 uwb: 0.49983128 904.786 428.027 -imu_odom_: 1691062812.465537707 1.4054 -0.198719 9.91678 -0.052198 -0.0394148 0.138484 0.12 -0.05 pose: 0.0 5.92158 -0.766204 0 0.00323598 0.00195613 -0.618194 0.786017 uwb: 0.0 904.786 428.027 -imu_odom_: 1691062812.481523290 1.33596 0.136469 9.69652 -0.0500674 0.00106526 0.0628506 0.12 -0.05 pose: 0.0 5.92158 -0.766204 0 0.00323598 0.00195613 -0.618194 0.786017 uwb: 0.0 904.786 428.027 -imu_odom_: 1691062812.498540436 0.962469 0.117316 9.9527 -0.0607201 0.0255663 0.0351537 0.09 0.02 pose: 0.24021102 5.92158 -0.766204 0 0.00127091 0.000598299 -0.617136 0.786856 uwb: 0.49884259 906.246 427.619 -imu_odom_: 1691062812.514657262 0.667982 -0.215478 9.83299 -0.0703074 0.0266316 0.00639159 0.09 0.02 pose: 0.0 5.92158 -0.766204 0 0.00127091 0.000598299 -0.617136 0.786856 uwb: 0.0 906.246 427.619 -imu_odom_: 1691062812.531472295 0.672771 -0.387861 10.0341 -0.052198 -0.0298274 -0.00958738 0.09 0.02 pose: 0.32983481 5.91454 -0.773306 0 0.000135966 -0.00244223 -0.61665 0.787233 uwb: 0.0 906.246 427.619 -imu_odom_: 1691062812.547532832 0.742203 -0.1652 9.77553 -0.0585895 -0.0213053 0.00106526 0.05 0.02 pose: 0.41942068 5.91454 -0.773306 0 -0.00286673 -0.00434947 -0.617187 0.786799 uwb: 0.50019001 906.258 427.689 -imu_odom_: 1691062812.564520522 0.857124 -0.205901 9.93594 -0.0553937 0.00958738 0.0426106 0.05 0.02 pose: 0.7122073 5.91454 -0.773306 0 -0.00325065 -0.00501736 -0.617292 0.786711 uwb: 0.0 906.258 427.689 -imu_odom_: 1691062812.580382738 0.608127 -0.347159 9.91439 -0.0585895 -0.00319579 0.0479369 0.05 0.02 pose: 0.0 5.91454 -0.773306 0 -0.00325065 -0.00501736 -0.617292 0.786711 uwb: 0.0 906.258 427.689 -imu_odom_: 1691062812.597437507 0.548272 -0.169988 9.78989 -0.0426106 0.00213053 0.0319579 0.05 0.02 pose: 0.41788370 5.91793 -0.776804 0 -0.00620175 -0.00643574 -0.617331 0.786653 uwb: 0.50000919 910.258 427.024 -imu_odom_: 1691062812.613371176 0.648829 -0.0454898 9.92875 -0.0500674 -0.00958738 0.0340885 0.04 0.02 pose: 0.0 5.91793 -0.776804 0 -0.00620175 -0.00643574 -0.617331 0.786653 uwb: 0.0 910.258 427.024 -imu_odom_: 1691062812.636424003 0.672771 -0.241814 9.89524 -0.0617853 0.00213053 0.0500674 0.04 0.02 pose: 0.25028166 5.92162 -0.780368 0 -0.00411728 -0.00766037 -0.617414 0.78659 uwb: 0.0 910.258 427.024 -imu_odom_: 1691062812.662521354 0.227449 -0.232238 9.69652 -0.052198 0.0596548 0.0287621 0.04 0.02 pose: 0.0 5.92162 -0.780368 0 -0.00411728 -0.00766037 -0.617414 0.78659 uwb: 0.50093955 907.253 427.455 -imu_odom_: 1691062812.676573304 -1.07021 0.0407014 9.64863 -0.0479369 0.0884169 0.0394148 0.04 0.02 pose: 0.39024702 5.92162 -0.780368 0 -0.0054363 -0.00805707 -0.617356 0.786624 uwb: 0.0 907.253 427.455 -imu_odom_: 1691062812.700368669 -1.04387 -0.325611 10.1251 -0.0692422 -0.0703074 0.0905475 0.06 0.05 pose: 0.32137698 5.92162 -0.780368 0 -0.00259548 -0.00466678 -0.617455 0.786588 uwb: 0.49859469 907.215 427.224 -imu_odom_: 1691062812.725437665 0.627281 -0.306458 9.97903 -0.0500674 -0.072438 0.0479369 0.06 0.05 pose: 0.7969605 5.92162 -0.780368 0 -0.00236329 -0.00417391 -0.617297 0.786715 uwb: 0.0 907.215 427.224 -imu_odom_: 1691062812.739389287 0.677559 -0.0047884 9.46667 -0.0607201 -0.0106526 0.0777643 0.09 0 pose: 0.0 5.92162 -0.780368 0 -0.00236329 -0.00417391 -0.617297 0.786715 uwb: 0.0 907.215 427.224 -imu_odom_: 1691062812.763395223 0.181959 -0.428562 9.73482 -0.0745685 0.0553937 0.0671117 0.09 0 pose: 0.47890254 5.92162 -0.780368 0 -0.00457157 -0.0053609 -0.616784 0.787101 uwb: 0.50130119 904.741 427.797 -imu_odom_: 1691062812.789522615 0.136469 -0.0311246 10.2855 -0.0490022 -0.0351537 0.04048 0.12 0 pose: 0.30962060 5.92157 -0.789774 0 -0.00382889 -0.00293574 -0.616425 0.787399 uwb: 0.0 904.741 427.797 -imu_odom_: 1691062812.805424495 0.474052 -0.462081 9.71806 -0.0703074 -0.0319579 0.0798948 0.12 0 pose: 0.8016853 5.92155 -0.79451 0 -0.00314193 -0.00274817 -0.616425 0.787403 uwb: 0.49873176 903.279 428.28 -imu_odom_: 1691062812.830501366 0.385466 0.0526724 10.082 -0.0383495 -0.0234358 0.04048 0.15 0.02 pose: 0.0 5.92155 -0.79451 0 -0.00314193 -0.00274817 -0.616425 0.787403 uwb: 0.0 903.279 428.28 -imu_odom_: 1691062812.855392457 0.186748 -0.241814 10.0269 -0.072438 -0.0138484 0.076699 0.15 0.02 pose: 0.42024605 5.92155 -0.79451 0 -0.00239146 -0.00194569 -0.616165 0.787611 uwb: 0.50060707 900.759 428.545 -imu_odom_: 1691062812.873407044 0.114922 -0.387861 9.95509 -0.0490022 -0.00213053 0.036219 0.12 0 pose: 0.0 5.92155 -0.79451 0 -0.00239146 -0.00194569 -0.616165 0.787611 uwb: 0.0 900.759 428.545 -imu_odom_: 1691062812.890446355 0.023942 -0.0694318 9.61511 -0.0543285 0.00426106 0.0607201 0.12 0 pose: 0.50084622 5.92861 -0.801602 0 0.000227415 0.000212747 -0.615814 0.787892 uwb: 0.0 900.759 428.545 -imu_odom_: 1691062812.915443898 0.263362 -0.0335188 10.0724 -0.0553937 -0.00319579 0.0490022 0.13 0 pose: 0.0 5.92861 -0.801602 0 0.000227415 0.000212747 -0.615814 0.787892 uwb: 0.49860344 902.729 428.04 -imu_odom_: 1691062812.939386254 0.586579 -0.0837971 10.3525 -0.0372843 -0.0340885 0.052198 0.13 0 pose: 0.33889635 5.92861 -0.801602 0 0.00259792 0.00190795 -0.615653 0.78801 uwb: 0.0 902.729 428.04 -imu_odom_: 1691062812.957399966 0.37589 -0.387861 10.2256 -0.04048 -0.0426106 0.0585895 0.19 0 pose: 0.0 5.92861 -0.801602 0 0.00259792 0.00190795 -0.615653 0.78801 uwb: 0.50249695 901.289 428.62 -imu_odom_: 1691062812.982505127 -0.105345 -0.177171 9.79228 -0.0372843 -0.0553937 0.0585895 0.19 0 pose: 0.50109412 5.92858 -0.815743 0 0.00276616 -0.000778929-0.6154 0.78821 uwb: 0.0 901.289 428.62 -imu_odom_: 1691062812.999378491 0.316035 -0.0694318 9.49062 -0.0511327 -0.0511327 0.0532632 0.2 0 pose: 0.0 5.92858 -0.815743 0 0.00276616 -0.000778929-0.6154 0.78821 uwb: 0.49859178 901.764 428.395 -imu_odom_: 1691062813.24485694 0.550666 -0.35913 9.77074 -0.052198 -0.0426106 0.0681769 0.2 0 pose: 0.41995732 5.92858 -0.815743 0 0.00384733 0.000584191 -0.615103 0.788437 uwb: 0.0 901.764 428.395 -imu_odom_: 1691062813.49478863 -0.318429 -0.0071826110.0126 -0.0287621 0.02024 0.0500674 0.17 0 pose: 0.0 5.92858 -0.815743 0 0.00384733 -0.000595217-0.61477 0.788704 uwb: 0.50124579 904.764 427.936 -imu_odom_: 1691062813.62349050 0.114922 -0.459687 9.13148 -0.0468716 0.052198 0.052198 0.17 0 pose: 0.8057392 5.93565 -0.822815 0 0.00266166 -8.13236e-05-0.614736 0.788728 uwb: 0.0 904.764 427.936 -imu_odom_: 1691062813.86361694 1.1157 -0.196325 10.0963 -0.0788296 -0.0543285 0.072438 0.15 0.02 pose: 0.0 5.93565 -0.822815 0 0.00266166 -8.13236e-05-0.614736 0.788728 uwb: 0.0 904.764 427.936 -imu_odom_: 1691062813.112458463 0.639252 -0.0670376 9.88326 -0.0500674 -0.0340885 0.0543285 0.15 0.02 pose: 0.37883771 5.92858 -0.829889 0 0.00352693 0.00176913 -0.6145 0.788907 uwb: 0.49690313 904.21 427.695 -imu_odom_: 1691062813.134326903 0.658405 -0.248997 10.0365 -0.0745685 -0.00532632 0.0649811 0.16 0 pose: 0.0 5.92858 -0.829889 0 0.00352693 0.00176913 -0.6145 0.788907 uwb: 0.0 904.21 427.695 -imu_odom_: 1691062813.152388737 0.213084 -0.454898 9.63666 -0.0777643 0.0319579 0.0500674 0.16 0 pose: 0.48915694 5.93566 -0.836952 0 0.000675569 -0.00287721 -0.614067 0.789248 uwb: 0.50121080 897.788 429.045 -imu_odom_: 1691062813.166340359 -0.186748 -0.0837971 10.0437 -0.0607201 0.0340885 -0.00106526 0.16 0 pose: 0.0 5.93566 -0.836952 0 0.000675569 -0.00287721 -0.614067 0.789248 uwb: 0.0 897.788 429.045 -imu_odom_: 1691062813.183331841 0.311246 0.122104 10.1394 -0.0841559 -0.0553937 -0.04048 0.16 -0.08 pose: 0.38991163 5.93566 -0.836952 0 -0.000456523-0.000931622-0.613935 0.789356 uwb: 0.0 897.788 429.045 -imu_odom_: 1691062813.199333174 0.409408 -0.0981623 10.1323 -0.0660464 -0.00745685 -0.106526 0.16 -0.08 pose: 0.0 5.93566 -0.836952 0 -0.000456523-0.000931622-0.613935 0.789356 uwb: 0.50001212 897.76 428.883 -imu_odom_: 1691062813.217378092 0.773327 -0.335188 9.99819 -0.0639159 -0.0255663 -0.156594 0.21 -0.35 pose: 0.0 5.93566 -0.836952 0 -0.000456523-0.000931622-0.613935 0.789356 uwb: 0.0 897.76 428.883 -imu_odom_: 1691062813.234434612 0.531513 0.047884 9.87129 -0.0553937 0.00213053 -0.252468 0.21 -0.35 pose: 0.49005813 5.9357 -0.851095 0 0.00166099 -0.00252686 -0.616137 0.787633 uwb: 0.0 897.76 428.883 -imu_odom_: 1691062813.250376448 0.814029 0.186748 9.80426 -0.0319579 0.0106526 -0.332363 0.21 -0.35 pose: 0.0 5.9357 -0.851095 0 0.00166099 -0.00252686 -0.616137 0.787633 uwb: 0.50038543 896.757 429.04 -imu_odom_: 1691062813.268334747 0.68953 0.248997 10.2376 -0.0575243 -0.0191748 -0.345146 0.17 -0.38 pose: 0.43036921 5.94273 -0.858121 0 0.00186713 -0.0060625 -0.621184 0.783639 uwb: 0.0 896.757 429.04 -imu_odom_: 1691062813.285322437 0.220267 -0.287304 9.12909 -0.0777643 0.00852212 -0.378169 0.17 -0.44 pose: 0.0 5.94273 -0.858121 0 0.00186713 -0.0060625 -0.621184 0.783639 uwb: 0.0 896.757 429.04 -imu_odom_: 1691062813.302415121 0.47884 -0.0191536 10.1083 -0.0894822 -0.00745685 -0.40267 0.17 -0.44 pose: 0.0 5.94273 -0.858121 0 0.00186713 -0.0060625 -0.621184 0.783639 uwb: 0.49942298 897.227 428.788 -imu_odom_: 1691062813.319336898 0.138864 -0.409408 9.72046 -0.056459 0.00958738 -0.430367 0.17 -0.47 pose: 0.25952986 5.93581 -0.865252 0 0.00243371 -0.00692938 -0.62519 0.780438 uwb: 0.0 897.227 428.788 -imu_odom_: 1691062813.337486519 0.59855 -0.217872 10.3238 -0.0649811 -0.0234358 -0.480434 0.17 -0.47 pose: 0.0 5.93581 -0.865252 0 0.00243371 -0.00692938 -0.62519 0.780438 uwb: 0.0 897.227 428.788 -imu_odom_: 1691062813.353343194 0.215478 -0.275333 9.60554 -0.0798948 0.0266316 -0.511327 0.17 -0.47 pose: 0.33033354 5.94292 -0.872283 0 0.00332136 -0.00629225 -0.630871 0.775855 uwb: 0.49886010 897.739 428.768 -imu_odom_: 1691062813.370345466 0.799663 -0.011971 10.2759 -0.0639159 0.0340885 -0.549676 0.17 -0.55 pose: 0.36042006 5.94292 -0.872283 0 0.00148675 -0.00474876 -0.638019 0.770004 uwb: 0.0 897.739 428.768 -imu_odom_: 1691062813.388543792 0.59855 -0.263362 10.137 -0.072438 0.00745685 -0.567786 0.17 -0.55 pose: 0.0 5.94292 -0.872283 0 0.00148675 -0.00474876 -0.638019 0.770004 uwb: 0.0 897.739 428.768 -imu_odom_: 1691062813.404361969 0.500388 0.268151 9.57202 -0.0500674 -0.0181095 -0.569916 0.17 -0.61 pose: 0.43138998 5.94299 -0.886429 0 -0.000621961-0.00506494 -0.647753 0.761833 uwb: 0.49988963 896.271 429.2 -imu_odom_: 1691062813.421396032 1.17076 -0.205901 9.80186 -0.0532632 -0.0756338 -0.535828 0.17 -0.61 pose: 0.0 5.94299 -0.886429 0 -0.000621961-0.00506494 -0.647753 0.761833 uwb: 0.0 896.271 429.2 -imu_odom_: 1691062813.437341076 1.44131 -0.186748 9.62948 -0.0575243 -0.0458064 -0.525175 0.17 -0.61 pose: 0.0 5.94299 -0.886429 0 -0.000621961-0.00506494 -0.647753 0.761833 uwb: 0.0 896.271 429.2 -imu_odom_: 1691062813.454479549 1.71664 -0.191536 9.59596 -0.0330232 0.0308927 -0.530502 0.18 -0.61 pose: 0.6836549 5.94307 -0.886424 0 -0.000124403-0.00557729 -0.649339 0.760478 uwb: 0.50024835 896.786 429.202 -imu_odom_: 1691062813.471539277 1.14203 -0.138864 9.23922 -0.0479369 -0.0170442 -0.497478 0.18 -0.61 pose: 0.0 5.94307 -0.886424 0 -0.000124403-0.00557729 -0.649339 0.760478 uwb: 0.0 896.786 429.202 -imu_odom_: 1691062813.488475053 0.964863 -0.21069 10.3765 -0.0490022 0.00852212 -0.438889 0.18 -0.61 pose: 0.0 5.94307 -0.886424 0 -0.000124403-0.00557729 -0.649339 0.760478 uwb: 0.0 896.786 429.202 -imu_odom_: 1691062813.505358333 0.948104 -0.141258 10.5656 -0.0447411 0.0149137 -0.365386 0.11 -0.35 pose: 0.50037668 5.95023 -0.893414 0 -0.00276296 -0.00980239 -0.66022 0.751003 uwb: 0.50091915 893.326 429.862 -imu_odom_: 1691062813.521493825 1.04387 -0.289698 9.78031 -0.052198 -0.0436758 -0.298274 0.15 -0.53 pose: 0.0 5.95023 -0.893414 0 -0.00276296 -0.00980239 -0.66022 0.751003 uwb: 0.0 893.326 429.862 -imu_odom_: 1691062813.537471242 1.00078 -0.371101 9.77313 -0.0575243 -0.00319579 -0.248207 0.15 -0.53 pose: 0.66949529 5.94319 -0.90052 0 -0.00727836 -0.0142284 -0.671932 0.74044 uwb: 0.0 893.326 429.862 -imu_odom_: 1691062813.554466515 0.986411 -0.167594 10.2017 -0.0553937 0.0127832 -0.192813 0.12 -0.41 pose: 0.0 5.94319 -0.90052 0 -0.00727836 -0.0142284 -0.671932 0.74044 uwb: 0.50051083 891.84 430.19 -imu_odom_: 1691062813.570476014 0.486023 -0.275333 9.71806 -0.0511327 0.0415453 -0.189617 0.12 -0.41 pose: 0.0 5.94319 -0.90052 0 -0.00727836 -0.0142284 -0.671932 0.74044 uwb: 0.0 891.84 430.19 -imu_odom_: 1691062813.587456996 0.126893 0.0837971 10.0293 -0.0394148 -0.00532632 -0.246076 0.12 -0.41 pose: 0.33110058 5.95033 -0.907523 0 -0.0102678 -0.0154971 -0.675402 0.737215 uwb: 0.0 891.84 430.19 -imu_odom_: 1691062813.603347211 0.651223 0.011971 9.80186 -0.0585895 -0.0415453 -0.233293 0.07 -0.23 pose: 0.41979400 5.95033 -0.907523 0 -0.0083146 -0.0137518 -0.679333 0.733654 uwb: 0.49937049 891.361 430.377 -imu_odom_: 1691062813.620479851 0.878672 -0.397437 9.91918 -0.0628506 -0.00213053 -0.199204 0.07 -0.23 pose: 0.8017728 5.95033 -0.907523 0 -0.00767518 -0.0141837 -0.680144 0.732901 uwb: 0.0 891.361 430.377 -imu_odom_: 1691062813.636452893 0.907402 -0.641646 9.9934 -0.056459 -0.0276969 -0.190682 0.07 -0.23 pose: 0.0 5.95033 -0.907523 0 -0.00767518 -0.0141837 -0.680144 0.732901 uwb: 0.0 891.361 430.377 -imu_odom_: 1691062813.653351631 0.92895 -0.0742203 9.68933 -0.0511327 -0.00532632 -0.173638 0.08 -0.29 pose: 0.40978169 5.95033 -0.907523 0 -0.0103149 -0.01376 -0.68373 0.729533 uwb: 0.49984880 889.953 431.101 -imu_odom_: 1691062813.669480414 0.610521 -0.102951 9.96946 -0.0532632 0.0181095 -0.131028 0.06 -0.17 pose: 0.0 5.95033 -0.907523 0 -0.0103149 -0.01376 -0.68373 0.729533 uwb: 0.0 889.953 431.101 -imu_odom_: 1691062813.687605244 0.529119 -0.21069 10.0126 -0.0628506 -0.00532632 -0.138484 0.06 -0.17 pose: 0.0 5.95033 -0.907523 0 -0.0103149 -0.01376 -0.68373 0.729533 uwb: 0.0 889.953 431.101 -imu_odom_: 1691062813.704443027 0.600945 -0.1652 9.8258 -0.0436758 -0.0213053 -0.173638 0.05 -0.17 pose: 0.25150660 5.95033 -0.907523 0 -0.00990248 -0.0150101 -0.685558 0.727795 uwb: 0.50021335 894.897 430.072 -imu_odom_: 1691062813.729446112 0.742203 -0.189142 9.84975 -0.0649811 -0.0117179 -0.129962 0.05 -0.17 pose: 0.0 5.95033 -0.907523 0 -0.00990248 -0.0150101 -0.685558 0.727795 uwb: 0.0 894.897 430.072 -imu_odom_: 1691062813.745465818 0.31364 -0.402226 9.85693 -0.0628506 0.0319579 -0.140615 0.05 -0.17 pose: 0.34054417 5.94335 -0.914688 0 -0.0078314 -0.0124257 -0.687885 0.725671 uwb: 0.49873761 900.342 428.904 -imu_odom_: 1691062813.762380596 -0.68953 -0.007182619.95748 -0.0351537 0.117179 -0.199204 0.05 -0.11 pose: 0.0 5.94335 -0.914688 0 -0.0078314 -0.0124257 -0.687885 0.725671 uwb: 0.0 900.342 428.904 -imu_odom_: 1691062813.778426260 -1.43892 0.191536 10.1418 -0.0511327 0.0383495 -0.120375 0.05 -0.11 pose: 0.41799745 5.95047 -0.921709 0 -0.00939514 -0.0119722 -0.6906 0.723077 uwb: 0.0 900.342 428.904 -imu_odom_: 1691062813.795361453 -0.706289 -0.596156 9.89524 -0.072438 -0.104396 -0.0394148 0.11 -0.11 pose: 0.40968545 5.95047 -0.921709 0 -0.00535463 -0.00826284 -0.693552 0.720339 uwb: 0.50040293 898.837 429.121 -imu_odom_: 1691062813.811304164 0.794875 -0.3304 9.92875 -0.0447411 -0.0948085 -0.0532632 0.11 -0.11 pose: 0.0 5.95047 -0.921709 0 -0.00535463 -0.00826284 -0.693552 0.720339 uwb: 0.0 898.837 429.121 -imu_odom_: 1691062813.828343768 0.890643 -0.11971 9.96467 -0.0458064 0.0266316 -0.0479369 0.11 -0.11 pose: 0.0 5.95047 -0.921709 0 -0.00535463 -0.00826284 -0.693552 0.720339 uwb: 0.0 898.837 429.121 -imu_odom_: 1691062813.844399639 0.373495 0.0335188 9.78989 -0.0543285 0.0585895 -0.0500674 0.11 -0.08 pose: 0.6942125 5.95047 -0.921709 0 -0.00533068 -0.00784914 -0.693753 0.720151 uwb: 0.49985754 901.335 428.731 -imu_odom_: 1691062813.861280877 -0.0311246 -0.158017 10.137 -0.0553937 0.0181095 -0.0628506 0.14 -0.08 pose: 0.0 5.95047 -0.921709 0 -0.00533068 -0.00784914 -0.693753 0.720151 uwb: 0.0 901.335 428.731 -imu_odom_: 1691062813.877285418 0.0622492 -0.138864 10.0772 -0.0511327 0.00106526 -0.0660464 0.14 -0.08 pose: 0.66926489 5.95047 -0.921709 0 -0.00520541 -0.0084766 -0.695918 0.718053 uwb: 0.0 901.335 428.731 -imu_odom_: 1691062813.894285358 0.706289 -0.186748 9.98861 -0.0585895 -0.0127832 -0.0330232 0.15 -0.11 pose: 0.0 5.95047 -0.921709 0 -0.00520541 -0.0084766 -0.695918 0.718053 uwb: 0.49945799 903.366 428.575 -imu_odom_: 1691062813.910312356 0.567426 -0.407014 9.80426 -0.052198 0.0106526 -0.0223706 0.15 -0.11 pose: 0.0 5.95047 -0.921709 0 -0.00520541 -0.0084766 -0.695918 0.718053 uwb: 0.0 903.366 428.575 -imu_odom_: 1691062813.927326586 0.361524 -0.0430956 10.0054 -0.0543285 0.0149137 -0.0447411 0.15 -0.11 pose: 0.31989542 5.95054 -0.935859 0 -0.00381625 -0.00715453 -0.697051 0.716976 uwb: 0.0 903.366 428.575 -imu_odom_: 1691062813.943435537 0.169988 -0.0311246 9.73243 -0.0639159 0.0181095 -0.0213053 0.12 -0.08 pose: 0.43042170 5.95054 -0.935859 0 -0.00383195 -0.00623 -0.698179 0.715886 uwb: 0.0 903.366 428.575 -imu_odom_: 1691062813.960296360 0.287304 -0.31364 10.2208 -0.0575243 0.0266316 -0.0234358 0.12 -0.08 pose: 0.8130596 5.95054 -0.935859 0 -0.00304499 -0.00581966 -0.698362 0.715714 uwb: 0.49998003 901.759 428.206 -imu_odom_: 1691062813.976489598 0.572214 -0.339977 9.75877 -0.0639159 0 -0.0319579 0.12 -0.08 pose: 0.0 5.95054 -0.935859 0 -0.00304499 -0.00581966 -0.698362 0.715714 uwb: 0.0 901.759 428.206 -imu_odom_: 1691062813.992435809 0.907402 -0.0071826110.1754 -0.0458064 0.015979 -0.0234358 0.18 -0.08 pose: 0.41032416 5.94352 -0.942989 0 -0.00335932 -0.00317414 -0.699335 0.71478 uwb: 0.0 901.759 428.206 -imu_odom_: 1691062814.6569129 1.00556 -0.0502782 10.1155 -0.0692422 -0.015979 0.00426106 0.13 -0.02 pose: 0.0 5.94352 -0.942989 0 -0.00335932 -0.00317414 -0.699335 0.71478 uwb: 0.50146453 903.804 428.12 -imu_odom_: 1691062814.24561259 1.07021 -0.007182619.68933 -0.0553937 -0.00213053 -0.00639159 0.13 -0.02 pose: 0.0 5.94352 -0.942989 0 -0.00335932 -0.00317414 -0.699335 0.71478 uwb: 0.0 903.804 428.12 -imu_odom_: 1691062814.41324963 0.950498 -0.25618 9.95748 -0.0649811 0.0255663 0.0276969 0.11 -0.05 pose: 0.22858005 5.95063 -0.950025 0 -0.00403869 -0.00525011 -0.699776 0.714332 uwb: 0.0 903.804 428.12 -imu_odom_: 1691062814.56558676 1.15879 -0.383072 9.8665 -0.076699 -0.0149137 0.0553937 0.11 -0.05 pose: 0.0 5.95063 -0.950025 0 -0.00403869 -0.00525011 -0.699776 0.714332 uwb: 0.50165703 902.815 428.359 -imu_odom_: 1691062814.73586614 1.39343 -0.241814 10.1011 -0.0543285 -0.00852212 0.0319579 0.11 -0.05 pose: 0.33101600 5.95063 -0.950025 0 -0.00576291 -0.00785091 -0.700179 0.713901 uwb: 0.0 902.815 428.359 -imu_odom_: 1691062814.89416457 1.32639 0.122104 9.66779 -0.0479369 -0.00745685 -0.0106526 0.09 -0.08 pose: 0.41137411 5.95063 -0.950025 0 -0.0092401 -0.0100408 -0.700138 0.713877 uwb: 0.0 902.815 428.359 -imu_odom_: 1691062814.106482602 1.07739 -0.107739 9.83299 -0.0596548 0.0340885 -0.0287621 0.09 -0.08 pose: 0.7992646 5.95063 -0.950025 0 -0.00947371 -0.0108324 -0.700277 0.713726 uwb: 0.49992464 905.831 427.949 -imu_odom_: 1691062814.123296178 0.555455 -0.31364 9.91439 -0.0596548 -0.00213053 -0.0490022 0.09 -0.08 pose: 0.0 5.95063 -0.950025 0 -0.00947371 -0.0108324 -0.700277 0.713726 uwb: 0.0 905.831 427.949 -imu_odom_: 1691062814.139357591 0.751779 -0.225055 9.79468 -0.0607201 -0.0394148 -0.0692422 0.1 -0.05 pose: 0.41716918 5.94764 -0.96109 0 -0.0101951 -0.0111004 -0.701353 0.712655 uwb: 0.0 905.831 427.949 -imu_odom_: 1691062814.155290095 0.916979 -0.225055 9.8282 -0.056459 0 -0.0319579 0.06 -0.05 pose: 0.0 5.94764 -0.96109 0 -0.0101951 -0.0111004 -0.701353 0.712655 uwb: 0.49880178 911.297 427.076 -imu_odom_: 1691062814.172278660 0.921768 -0.268151 10.0293 -0.0660464 0.00106526 0.0127832 0.06 -0.05 pose: 0.0 5.94764 -0.96109 0 -0.0101951 -0.0111004 -0.701353 0.712655 uwb: 0.0 911.297 427.076 -imu_odom_: 1691062814.188337448 0.442927 -0.356736 9.69891 -0.052198 0.0149137 0.00532632 0.06 -0.05 pose: 0.24020519 5.95079 -0.964184 0 -0.012436 -0.0125005 -0.702142 0.711818 uwb: 0.0 911.297 427.076 -imu_odom_: 1691062814.205283725 0.579397 0.0454898 9.9934 -0.052198 -0.0234358 -0.00639159 0.05 -0.05 pose: 0.0 5.95079 -0.964184 0 -0.012436 -0.0125005 -0.702142 0.711818 uwb: 0.50184077 912.85 427.171 -imu_odom_: 1691062814.229261080 0.701501 -0.282516 9.76355 -0.0671117 0.00213053 0.02024 0.05 -0.05 pose: 0.33003898 5.95079 -0.964184 0 -0.0141637 -0.0129244 -0.702575 0.711352 uwb: 0.0 912.85 427.171 -imu_odom_: 1691062814.254268249 0.328006 -0.418985 9.68694 -0.0553937 0.0276969 -0.0106526 0.04 0 pose: 0.33146515 5.95079 -0.964184 0 -0.0124382 -0.0117903 -0.703036 0.710948 uwb: 0.49641027 914.373 427.107 -imu_odom_: 1691062814.268319324 -0.665588 0.160412 9.991 -0.0543285 0.112918 -0.04048 0.04 0 pose: 0.0 5.95079 -0.964184 0 -0.0124382 -0.0117903 -0.703036 0.710948 uwb: 0.0 914.373 427.107 -imu_odom_: 1691062814.292258181 -1.45567 -0.342371 9.93594 -0.0735032 -0.0426106 0.0436758 0.07 -0.02 pose: 0.54852214 5.95079 -0.964184 0 -0.00985685 -0.00634777 -0.704019 0.710085 uwb: 0.0 914.373 427.107 -imu_odom_: 1691062814.316341114 0.368707 -0.378284 9.92636 -0.0500674 -0.0969391 0.0138484 0.07 -0.02 pose: 0.0 5.95079 -0.964184 0 -0.00985685 -0.00634777 -0.704019 0.710085 uwb: 0.50109998 914.877 427.056 -imu_odom_: 1691062814.339269407 0.804452 -0.0814029 9.65103 -0.0671117 0.00639159 0.0532632 0.14 -0.02 pose: 0.7949773 5.95079 -0.964184 0 -0.0094774 -0.00582015 -0.70401 0.710103 uwb: 0.0 914.877 427.056 -imu_odom_: 1691062814.356269930 -0.177171 0.0335188 10.0461 -0.0585895 0.0191748 0.0330232 0.14 -0.02 pose: 0.0 5.95079 -0.964184 0 -0.0094774 -0.00582015 -0.70401 0.710103 uwb: 0.49930342 915.405 427.167 -imu_odom_: 1691062814.372279429 -0.138864 -0.395043 10.2232 -0.056459 -0.0245011 0.0191748 0.11 0 pose: 0.47026683 5.94374 -0.971271 0 -0.00873304 -0.00395813 -0.704172 0.709964 uwb: 0.0 915.405 427.167 -imu_odom_: 1691062814.399551546 0.507571 -0.169988 10.4244 -0.0639159 -0.0426106 0.0266316 0.11 0 pose: 0.0 5.94374 -0.971271 0 -0.00873304 -0.00395813 -0.704172 0.709964 uwb: 0.49955133 916.362 426.718 -imu_odom_: 1691062814.425418496 0.158017 -0.143652 9.69652 -0.0511327 0.00319579 0.0266316 0.12 0 pose: 0.76255766 5.95082 -0.978328 0 -0.00434387 -0.00465505 -0.704412 0.709762 uwb: 0.0 916.362 426.718 -imu_odom_: 1691062814.442285152 -0.0909797 0.0047884 10.2903 -0.0617853 -0.0181095 0.0308927 0.12 0 pose: 0.8893550 5.95082 -0.978328 0 -0.00357685 -0.00413697 -0.704458 0.709725 uwb: 0.0 916.362 426.718 -imu_odom_: 1691062814.458300776 0.440533 -0.306458 9.96227 -0.0585895 -0.0426106 0.0330232 0.12 -0.02 pose: 0.0 5.95082 -0.978328 0 -0.00357685 -0.00413697 -0.704458 0.709725 uwb: 0.49982255 912.392 427.526 -imu_odom_: 1691062814.475445666 0.823605 -0.335188 10.0341 -0.0479369 -0.04048 0.0170442 0.12 -0.02 pose: 0.42059606 5.95084 -0.99247 0 -0.00137699 -0.00195744 -0.704618 0.709583 uwb: 0.0 912.392 427.526 -imu_odom_: 1691062814.500323051 -0.0814029 -0.167594 9.52413 -0.0543285 0.0894822 0.0276969 0.13 0.02 pose: 0.0 5.95084 -0.99247 0 -0.00137699 -0.00195744 -0.704618 0.709583 uwb: 0.50019296 908.436 428.407 -imu_odom_: 1691062814.517281868 -0.167594 -0.383072 10.1323 -0.0585895 0.0500674 0.0276969 0.13 0.02 pose: 0.33825473 5.95084 -0.99247 0 -0.00270576 -0.00170225 -0.704808 0.709391 uwb: 0.0 908.436 428.407 -imu_odom_: 1691062814.542403655 0.514753 -0.174777 10.0844 -0.04048 -0.00106526 0.02024 0.14 -0.02 pose: 0.0 5.95084 -0.99247 0 -0.00270576 -0.00170225 -0.704808 0.709391 uwb: 0.0 908.436 428.407 -imu_odom_: 1691062814.569459367 0.325611 -0.241814 9.73482 -0.0745685 -0.015979 0.0415453 0.14 -0.02 pose: 0.41963945 5.95084 -0.99247 0 -5.04829e-050.000769283 -0.705011 0.709196 uwb: 0.50093374 911.42 427.842 -imu_odom_: 1691062814.595265071 0.514753 -0.189142 10.1155 -0.0532632 -0.0585895 0.0287621 0.14 0 pose: 0.0 5.95084 -0.99247 0 -5.04829e-050.000769283 -0.705011 0.709196 uwb: 0.49948716 911.906 427.671 -imu_odom_: 1691062814.612450792 0.730232 0.129287 10.2185 -0.0543285 0.0149137 0.0276969 0.14 0 pose: 0.51112396 5.95098 -1.00661 0 -0.0001173620.000819841 -0.705134 0.709073 uwb: 0.0 911.906 427.671 -imu_odom_: 1691062814.637454752 0.0790087 -0.373495 9.61033 -0.072438 -0.00745685 0.0426106 0.15 0 pose: 0.0 5.95098 -1.00661 0 -0.0001173620.000819841 -0.705134 0.709073 uwb: 0.0 911.906 427.671 -imu_odom_: 1691062814.664404013 0.553061 -0.1652 9.67257 -0.0553937 0.0149137 0.0319579 0.15 0 pose: 0.42995216 5.95098 -1.00661 0 -0.000805541-0.00193374 -0.705267 0.708938 uwb: 0.50179119 912.9 427.472 -imu_odom_: 1691062814.690280588 0.414197 -0.270545 10.5201 -0.0671117 -0.0170442 0.0458064 0.15 -0.02 pose: 0.44002281 5.9511 -1.02075 0 -0.00132879 -0.00249633 -0.705321 0.708882 uwb: 0.0 912.9 427.472 -imu_odom_: 1691062814.706528656 0.428562 -0.217872 9.54568 -0.0500674 0.00426106 0.0170442 0.15 -0.02 pose: 0.0 5.9511 -1.02075 0 -0.00132879 -0.00249633 -0.705321 0.708882 uwb: 0.49883095 907.985 428.741 -imu_odom_: 1691062814.732507017 0.42138 -0.349553 10.149 -0.072438 0.00745685 0.0553937 0.17 -0.02 pose: 0.33015564 5.9511 -1.02075 0 -0.00155523 -0.000419452-0.705321 0.708887 uwb: 0.0 907.985 428.741 -imu_odom_: 1691062814.756277301 0.507571 -0.213084 9.97664 -0.0479369 -0.0340885 0.0181095 0.17 -0.02 pose: 0.0 5.9511 -1.02075 0 -0.00155523 -0.000419452-0.705321 0.708887 uwb: 0.50113790 906.036 429.32 -imu_odom_: 1691062814.781411629 0.316035 -0.28491 9.78271 -0.076699 0 0.0553937 0.23 0 pose: 0.41850493 5.95123 -1.0349 0 -0.00279044 0.000463464 -0.705297 0.708906 uwb: 0.0 906.036 429.32 -imu_odom_: 1691062814.796256573 0.414197 -0.730232 9.43794 -0.0511327 0.04048 0.0372843 0.23 0 pose: 0.0 5.95123 -1.0349 0 -0.00279044 0.000463464 -0.705297 0.708906 uwb: 0.49991005 909.067 429.09 -imu_odom_: 1691062814.822522791 0.0287304 -0.153229 9.85453 -0.0319579 0.0713727 0.0287621 0.16 -0.02 pose: 0.49163013 5.95123 -1.0349 0 -0.00261091 0.00161797 -0.70529 0.708912 uwb: 0.0 909.067 429.09 -imu_odom_: 1691062814.845460417 0.332794 -0.603339 9.75158 -0.0788296 0.0266316 0.0511327 0.16 -0.02 pose: 0.34089708 5.94945 -1.04716 0 0.000258331 0.0039201 -0.705391 0.708807 uwb: 0.49781018 907.105 429.573 -imu_odom_: 1691062814.871450152 -0.0191536 -0.0407014 10.094 -0.0372843 0.00639159 0.0372843 0.17 0 pose: 0.0 5.94945 -1.04716 0 0.000258331 0.0039201 -0.705391 0.708807 uwb: 0.0 907.105 429.573 -imu_odom_: 1691062814.888310683 0.804452 -0.344765 9.65342 -0.0884169 -0.036219 0.0617853 0.17 0 pose: 0.7013872 5.95135 -1.04904 0 -0.0002015280.00456942 -0.705362 0.708832 uwb: 0.0 907.105 429.573 -imu_odom_: 1691062814.913265063 0.526724 -0.162806 9.55765 -0.0479369 -0.00852212 0.0213053 0.17 -0.02 pose: 0.0 5.95135 -1.04904 0 -0.0002015280.00456942 -0.705362 0.708832 uwb: 0.0 907.105 429.573 -imu_odom_: 1691062814.936221063 0.141258 -0.0694318 9.57681 -0.0937433 -0.00319579 0.0607201 0.17 -0.02 pose: 0.49867637 5.95135 -1.04904 0 0.000787888 0.00581702 -0.705245 0.708939 uwb: 0.0 907.105 429.573 -imu_odom_: 1691062814.961221816 0.316035 -0.318429 9.77792 -0.0798948 0.0490022 0.0245011 0.23 0 pose: 0.0 5.95135 -1.04904 0 0.000787888 0.00581702 -0.705245 0.708939 uwb: 0.99965678 905.113 429.901 -imu_odom_: 1691062814.975275807 0.342371 -0.138864 9.60314 -0.0671117 0.0372843 0.0308927 0.23 0 pose: 0.40906133 5.95148 -1.06318 0 -1.16454e-050.00290412 -0.705295 0.708908 uwb: 0.0 905.113 429.901 -imu_odom_: 1691062815.278893 0.143652 -0.483629 9.53132 -0.0532632 0.04048 0.0340885 0.17 0 pose: 0.0 5.95148 -1.06318 0 -1.16454e-050.00290412 -0.705295 0.708908 uwb: 0.50113498 906.19 430.223 -imu_odom_: 1691062815.17385285 0.131681 -0.0957681 10.1945 -0.0447411 -0.0671117 0.0426106 0.17 0 pose: 0.47915630 5.94447 -1.07031 0 0.000896478 0.00573969 -0.705322 0.708863 uwb: 0.0 906.19 430.223 -imu_odom_: 1691062815.43287526 0.361524 -0.059855 9.63666 -0.0660464 -0.0117179 0.0383495 0.17 0.02 pose: 0.0 5.94447 -1.07031 0 0.000896478 0.00573969 -0.705322 0.708863 uwb: 0.0 906.19 430.223 -imu_odom_: 1691062815.59228196 0.131681 -0.208296 10.0149 -0.0415453 0.0191748 0.036219 0.17 0.02 pose: 0.40151053 5.95161 -1.07732 0 0.00212182 0.00776561 -0.705371 0.708793 uwb: 0.49928886 905.703 430.374 -imu_odom_: 1691062815.76385919 -0.129287 -0.21069 10.0221 -0.056459 -0.015979 0.0394148 0.17 -0.02 pose: 0.0 5.95161 -1.07732 0 0.00212182 0.00776561 -0.705371 0.708793 uwb: 0.0 905.703 430.374 -imu_odom_: 1691062815.102471315 0.311246 -0.112527 9.97664 -0.0340885 -0.0106526 0.0340885 0.17 -0.02 pose: 0.0 5.95161 -1.07732 0 0.00212182 0.00776561 -0.705371 0.708793 uwb: 0.50250282 909.16 429.646 -imu_odom_: 1691062815.118240496 0.308852 -0.201113 10.2161 -0.0639159 -0.0426106 0.0543285 0.18 0 pose: 0.41875284 5.9446 -1.08445 0 0.00426118 0.00537766 -0.70537 0.708807 uwb: 0.0 909.16 429.646 -imu_odom_: 1691062815.144279812 0.533907 -0.260968 10.0604 -0.0479369 -0.0266316 0.0234358 0.18 0 pose: 0.0 5.9446 -1.08445 0 0.00426118 0.00537766 -0.70537 0.708807 uwb: 0.0 909.16 429.646 -imu_odom_: 1691062815.158369676 0.56982 0.0574608 10.4435 -0.0447411 -0.0372843 0.0415453 0.18 0 pose: 0.76043155 5.94472 -1.09859 0 0.00422582 0.00286788 -0.705392 0.708799 uwb: 0.49845474 906.709 430.28 -imu_odom_: 1691062815.173342946 0.811634 -0.342371 9.72764 -0.0628506 -0.0351537 0.0575243 0.18 0 pose: 0.0 5.94472 -1.09859 0 0.00422582 0.00286788 -0.705392 0.708799 uwb: 0.0 906.709 430.28 -imu_odom_: 1691062815.190433881 0.179565 -0.349553 9.51216 -0.0436758 -0.0191748 0.0213053 0.18 0 pose: 0.0 5.94472 -1.09859 0 0.00422582 0.00286788 -0.705392 0.708799 uwb: 0.0 906.709 430.28 -imu_odom_: 1691062815.216343705 -0.071826 -0.275333 9.7037 -0.0713727 -0.0106526 0.0639159 0.17 0.02 pose: 0.47047391 5.95185 -1.1056 0 0.000988444 -0.000598642-0.705396 0.708812 uwb: 0.49977007 909.116 429.368 -imu_odom_: 1691062815.232206797 0.651223 -0.270545 9.92397 -0.0543285 -0.0447411 0.0319579 0.17 0.02 pose: 0.0 5.95185 -1.1056 0 0.000988444 -0.000598642-0.705396 0.708812 uwb: 0.0 909.116 429.368 -imu_odom_: 1691062815.258208198 0.457293 -0.1652 10.1538 -0.0468716 -0.00426106 0.0319579 0.17 0 pose: 0.7960274 5.95185 -1.1056 0 0.00110872 0.00011325 -0.705448 0.70876 uwb: 0.49736689 912.599 428.848 -imu_odom_: 1691062815.274220031 0.328006 -0.148441 9.88087 -0.0585895 -0.0490022 0.04048 0.22 -0.02 pose: 0.0 5.95185 -1.1056 0 0.00110872 0.00011325 -0.705448 0.70876 uwb: 0.0 912.599 428.848 -imu_odom_: 1691062815.289344376 0.68953 -0.1652 9.64624 -0.0213053 -0.02024 0.0117179 0.18 0.02 pose: 0.83916808 5.95197 -1.11975 0 0.00116367 -0.000646248-0.705397 0.708812 uwb: 0.0 912.599 428.848 -imu_odom_: 1691062815.305227591 0.725443 -0.258574 10.07 -0.0394148 -0.04048 0.0468716 0.18 0.02 pose: 0.0 5.95197 -1.11975 0 0.00116367 -0.000646248-0.705397 0.708812 uwb: 0.50075002 913.639 428.975 -imu_odom_: 1691062815.331338361 0.483629 -0.201113 9.83538 -0.0415453 -0.0351537 0.0415453 0.18 0 pose: 0.31024184 5.95209 -1.13389 0 0.000328075 -0.00244106 -0.705522 0.708684 uwb: 0.0 913.639 428.975 -imu_odom_: 1691062815.356204080 0.308852 -0.227449 9.96467 -0.0500674 -0.0223706 0.056459 0.18 0 pose: 0.35094149 5.95209 -1.13389 0 -0.00323689 -0.00396508 -0.705467 0.708724 uwb: 0.50104749 915.642 428.723 -imu_odom_: 1691062815.378205513 0.136469 -0.169988 10.1634 -0.0426106 -0.00319579 0.04048 0.19 0 pose: 0.0 5.95209 -1.13389 0 -0.00323689 -0.00396508 -0.705467 0.708724 uwb: 0.0 915.642 428.723 -imu_odom_: 1691062815.391404973 0.0646434 -0.169988 9.60314 -0.0479369 -0.00532632 0.0532632 0.19 0 pose: 0.0 5.95209 -1.13389 0 -0.00323689 -0.00396508 -0.705467 0.708724 uwb: 0.0 915.642 428.723 -imu_odom_: 1691062815.416340396 0.107739 -0.512359 9.5816 -0.0703074 0.00426106 0.0511327 0.18 0 pose: 0.6963125 5.95209 -1.13389 0 -0.00283791 -0.00347543 -0.705427 0.708768 uwb: 0.50038254 914.651 428.918 -imu_odom_: 1691062815.433316130 0.531513 0.129287 9.75398 -0.0436758 -0.0138484 0.0479369 0.18 0 pose: 0.0 5.95209 -1.13389 0 -0.00283791 -0.00347543 -0.705427 0.708768 uwb: 0.0 914.651 428.918 -imu_odom_: 1691062815.457199866 0.471658 -0.203507 9.92875 -0.0628506 -0.0191748 0.0553937 0.18 0 pose: 0.44964141 5.95221 -1.14803 0 0.000424161 -0.000632819-0.705296 0.708912 uwb: 0.49909637 917.174 428.76 -imu_odom_: 1691062815.484274245 0.347159 -0.0550666 10.0437 -0.0383495 0 0.0372843 0.18 0 pose: 0.40067642 5.95221 -1.14803 0 0.00111406 0.00185401 -0.705134 0.709071 uwb: 0.0 917.174 428.76 -imu_odom_: 1691062815.509199461 0.40462 -0.363919 9.73004 -0.072438 0.00319579 0.0500674 0.17 0.02 pose: 0.0 5.95221 -1.14803 0 0.00111406 0.00185401 -0.705134 0.709071 uwb: 0.50124290 922.227 428.524 -imu_odom_: 1691062815.526333268 0.361524 -0.158017 9.39964 -0.0458064 -0.0117179 0.0330232 0.17 0.02 pose: 0.41878493 5.95235 -1.16217 0 0.000446439 -0.00125121 -0.704977 0.709229 uwb: 0.0 922.227 428.524 -imu_odom_: 1691062815.552267299 0.512359 -0.186748 10.2448 -0.0692422 -0.052198 0.0575243 0.18 0.02 pose: 0.0 5.95235 -1.16217 0 0.000446439 -0.00125121 -0.704977 0.709229 uwb: 0.0 922.227 428.524 -imu_odom_: 1691062815.579476128 0.816423 0.110133 10.1538 -0.0649811 -0.0372843 0.0436758 0.18 0.02 pose: 0.51168686 5.94535 -1.16931 0 0.00119775 -0.000192493-0.704918 0.709288 uwb: 0.0 922.227 428.524 -imu_odom_: 1691062815.604228104 0.483629 0.0407014 10.1562 -0.056459 -0.0213053 0.0479369 0.2 0.02 pose: 0.0 5.94535 -1.16931 0 0.00119775 -0.000192493-0.704918 0.709288 uwb: 0.99870312 929.216 427.687 -imu_odom_: 1691062815.621235919 0.505177 -0.328006 10.0149 -0.0468716 -0.0287621 0.036219 0.2 0.02 pose: 0.42886432 5.95249 -1.17631 0 -0.000515901-0.00318704 -0.70476 0.709438 uwb: 0.0 929.216 427.687 -imu_odom_: 1691062815.646351290 0.373495 -0.263362 10.4315 -0.0553937 -0.0415453 0.0447411 0.18 0 pose: 0.0 5.95249 -1.17631 0 -0.000515901-0.00318704 -0.70476 0.709438 uwb: 0.50035337 927.211 427.892 -imu_odom_: 1691062815.662347374 0.648829 -0.198719 9.39724 -0.0383495 0.036219 0.0330232 0.18 0 pose: 0.52042467 5.95264 -1.19045 0 7.51979e-05 -0.00675697 -0.70466 0.709513 uwb: 0.0 927.211 427.892 -imu_odom_: 1691062815.679342940 0.316035 -0.246603 10.1203 -0.0671117 0.0255663 0.0511327 0.18 0 pose: 0.0 5.95264 -1.19045 0 7.51979e-05 -0.00675697 -0.70466 0.709513 uwb: 0.0 927.211 427.892 -imu_odom_: 1691062815.705304677 0.512359 -0.294487 9.97424 -0.0479369 0.015979 0.0330232 0.18 0 pose: 0.68033593 5.95279 -1.20459 0 -0.0011939 -0.00306045 -0.704599 0.709598 uwb: 0.49831474 927.74 428.061 -imu_odom_: 1691062815.730191395 0.4956 -0.603339 9.54808 -0.0703074 0.00532632 0.0532632 0.2 0 pose: 0.7981272 5.95279 -1.20459 0 -0.0018683 -0.0027569 -0.704616 0.709581 uwb: 0.0 927.74 428.061 -imu_odom_: 1691062815.757205694 0.641646 0.047884 10.3549 -0.0319579 -0.02024 0.0532632 0.2 0 pose: 0.42867183 5.94778 -1.20971 0 -0.00529227 -0.000199313-0.70452 0.709664 uwb: 0.50109125 930.753 427.807 -imu_odom_: 1691062815.782211989 0.732626 -0.373495 10.4507 -0.0543285 -0.00532632 0.0436758 0.18 0.02 pose: 0.0 5.94778 -1.20971 0 -0.00529227 -0.000199313-0.70452 0.709664 uwb: 0.0 930.753 427.807 -imu_odom_: 1691062815.809243787 0.399832 -0.0502782 9.79228 -0.0468716 0.0170442 0.0436758 0.23 0.02 pose: 0.52020594 5.95294 -1.21873 0 -0.00674016 -0.00368456 -0.704346 0.709815 uwb: 0.50048753 932.261 427.721 -imu_odom_: 1691062815.825333198 0.215478 -0.0957681 10.1251 -0.0628506 -0.0511327 0.0490022 0.23 0.02 pose: 0.0 5.95294 -1.21873 0 -0.00674016 -0.00368456 -0.704346 0.709815 uwb: 0.0 932.261 427.721 -imu_odom_: 1691062815.852261169 0.59855 -0.138864 10.6159 -0.076699 -0.0468716 0.052198 0.25 0 pose: 0.35051567 5.94595 -1.22588 0 -0.00321072 -0.00379774 -0.704303 0.709882 uwb: 0.50001215 932.256 427.674 -imu_odom_: 1691062815.877286712 0.538695 -0.100556 10.0676 -0.0468716 -0.00213053 0.0276969 0.25 0 pose: 0.34997613 5.95311 -1.23287 0 -0.00387893 -0.00640545 -0.70415 0.710012 uwb: 0.0 932.256 427.674 -imu_odom_: 1691062815.904383548 0.471658 -0.0670376 9.98382 -0.0639159 -0.0394148 0.052198 0.23 0.02 pose: 0.8005479 5.95311 -1.23287 0 -0.00321765 -0.00691736 -0.704187 0.709974 uwb: 0.49997422 932.239 427.534 -imu_odom_: 1691062815.930234167 0.881066 -0.162806 9.49301 -0.0319579 0.0255663 0.0319579 0.23 0.02 pose: 0.44116900 5.95119 -1.24498 0 0.000476023 -0.00810347 -0.70416 0.709995 uwb: 0.0 932.239 427.534 -imu_odom_: 1691062815.957203552 0.440533 -0.0502782 9.81144 -0.0649811 -0.00213053 0.052198 0.23 0 pose: 0.0 5.95119 -1.24498 0 0.000476023 -0.00810347 -0.70416 0.709995 uwb: 0.50071211 933.226 427.3 -imu_odom_: 1691062815.982324465 0.646434 -0.189142 10.0868 -0.0660464 -0.0394148 0.0511327 0.19 0 pose: 0.32853700 5.95328 -1.24701 0 -0.00049521 -0.00928031 -0.704181 0.70996 uwb: 0.0 933.226 427.3 -imu_odom_: 1691062815.999387984 0.40462 -0.138864 10.0221 -0.0585895 0.0213053 0.0617853 0.19 0 pose: 0.0 5.95328 -1.24701 0 -0.00049521 -0.00928031 -0.704181 0.70996 uwb: 0.49862097 936.737 426.973 -imu_odom_: 1691062816.24253704 0.141258 -0.122104 9.9503 -0.0500674 0.0330232 0.0468716 0.19 0 pose: 0.52127920 5.95345 -1.26115 0 -0.00113963 -0.00834709 -0.70394 0.71021 uwb: 0.0 936.737 426.973 -imu_odom_: 1691062816.41223897 0.232238 -0.392649 9.54089 -0.0948085 0.00639159 0.0649811 0.19 0 pose: 0.0 5.95345 -1.26115 0 -0.00113963 -0.00834709 -0.70394 0.71021 uwb: 0.0 936.737 426.973 -imu_odom_: 1691062816.57180317 0.76375 0.0023942 10.4698 -0.0756338 -0.0223706 0.0426106 0.19 0 pose: 0.51858729 5.95042 -1.27216 0 0.00125708 -0.00336288 -0.703674 0.710514 uwb: 0.50189621 939.236 426.655 -imu_odom_: 1691062816.84322651 1.00078 -0.323217 9.84975 -0.0830906 0.00639159 0.0468716 0.25 0 pose: 0.8104348 5.95363 -1.27529 0 0.00086526 -0.00411855 -0.703663 0.710522 uwb: 0.0 939.236 426.655 -imu_odom_: 1691062816.100179327 0.023942 -0.363919 10.1562 -0.0447411 -0.00213053 0.0394148 0.25 0 pose: 0.0 5.95363 -1.27529 0 0.00086526 -0.00411855 -0.703663 0.710522 uwb: 0.49845183 939.758 426.812 -imu_odom_: 1691062816.127186627 0.505177 -0.181959 10.4172 -0.0479369 -0.0596548 0.0447411 0.25 0 pose: 0.34994406 5.95363 -1.27529 0 -0.00211168 -0.0057002 -0.703568 0.710602 uwb: 0.0 939.758 426.812 -imu_odom_: 1691062816.152319206 0.708684 -0.117316 9.80426 -0.0511327 0.0223706 0.036219 0.18 0 pose: 0.42863976 5.95165 -1.28732 0 -0.00441232 -0.00584517 -0.703507 0.71065 uwb: 0.49836434 938.301 427.392 -imu_odom_: 1691062816.179383961 0.893037 -0.272939 9.18416 -0.0468716 0.0245011 0.0383495 0.21 -0.02 pose: 0.0 5.95165 -1.28732 0 -0.00441232 -0.00584517 -0.703507 0.71065 uwb: 0.0 938.301 427.392 -imu_odom_: 1691062816.195226346 0.476446 -0.1652 10.1227 -0.0383495 0.015979 0.0351537 0.21 -0.02 pose: 0.32144409 5.95382 -1.28943 0 -0.0054931 -0.00830395 -0.703525 0.710601 uwb: 0.50015215 939.311 427.379 -imu_odom_: 1691062816.211224472 0.938527 -0.301669 9.70849 -0.056459 -0.0308927 0.0490022 0.18 0.02 pose: 0.0 5.95382 -1.28943 0 -0.0054931 -0.00830395 -0.703525 0.710601 uwb: 0.0 939.311 427.379 -imu_odom_: 1691062816.238351349 0.864307 -0.162806 10.5297 -0.0426106 -0.00213053 0.0255663 0.18 0.02 pose: 0.42870976 5.95402 -1.30357 0 -0.00622437 -0.00850234 -0.703523 0.710594 uwb: 0.0 939.311 427.379 -imu_odom_: 1691062816.265304402 0.497994 -0.356736 9.23922 -0.0532632 0.0149137 0.0543285 0.18 0 pose: 0.36149337 5.94899 -1.30874 0 -0.00865551 -0.0112178 -0.703592 0.710463 uwb: 0.49981092 939.875 427.934 -imu_odom_: 1691062816.281295820 0.225055 -0.272939 9.56962 -0.0458064 -0.0383495 0.0213053 0.18 0 pose: 0.0 5.94899 -1.30874 0 -0.00865551 -0.0112178 -0.703592 0.710463 uwb: 0.0 939.875 427.934 -imu_odom_: 1691062816.308184711 0.588974 -0.205901 10.1227 -0.0798948 -0.0543285 0.0575243 0.19 0 pose: 0.6965166 5.94704 -1.31074 0 -0.00863258 -0.0104794 -0.703557 0.710509 uwb: 0.50118750 940.346 427.624 -imu_odom_: 1691062816.324299204 0.682347 -0.011971 10.1011 -0.056459 -0.00532632 0.0276969 0.19 0 pose: 0.0 5.94704 -1.31074 0 -0.00863258 -0.0104794 -0.703557 0.710509 uwb: 0.0 940.346 427.624 -imu_odom_: 1691062816.351218718 0.588974 -0.198719 10.0892 -0.0596548 -0.0298274 0.0415453 0.2 0.02 pose: 0.43989742 5.95421 -1.31771 0 -0.00717969 -0.00718739 -0.703521 0.710602 uwb: 0.50108251 945.811 426.774 -imu_odom_: 1691062816.376177766 0.605733 -0.21069 10.0078 -0.0234358 -0.00106526 0.0170442 0.18 0 pose: 0.0 5.95421 -1.31771 0 -0.00717969 -0.00718739 -0.703521 0.710602 uwb: 0.0 945.811 426.774 -imu_odom_: 1691062816.403227647 0.73502 -0.181959 9.83538 -0.0500674 -0.0149137 0.0543285 0.18 0 pose: 0.42881767 5.94724 -1.32488 0 -0.00582315 -0.00773875 -0.703479 0.71065 uwb: 0.49895347 944.85 427.291 -imu_odom_: 1691062816.429140971 0.665588 -0.208296 10.082 -0.0383495 -0.0255663 0.0426106 0.18 0 pose: 0.0 5.94724 -1.32488 0 -0.00582315 -0.00773875 -0.703479 0.71065 uwb: 0.0 944.85 427.291 -imu_odom_: 1691062816.446221990 0.493206 -0.234632 9.12191 -0.0607201 0.0308927 0.0511327 0.18 0 pose: 0.51021405 5.95441 -1.33185 0 -0.0074154 -0.00946939 -0.703607 0.710487 uwb: 0.49975259 950.361 426.905 -imu_odom_: 1691062816.472221351 0.126893 -0.136469 9.4954 -0.0394148 0.0383495 0.0458064 0.18 0 pose: 0.0 5.95441 -1.33185 0 -0.0074154 -0.00946939 -0.703607 0.710487 uwb: 0.0 950.361 426.905 -imu_odom_: 1691062816.499294272 0.591368 -0.361524 9.44752 -0.0649811 -0.036219 0.0500674 0.18 0 pose: 0.53028826 5.9546 -1.34599 0 -0.00873753 -0.00822885 -0.703422 0.710671 uwb: 0.49997716 946.86 427.242 -imu_odom_: 1691062816.524296776 0.61531 -0.287304 10.0126 -0.052198 -0.0117179 0.0490022 0.2 0 pose: 0.42944179 5.94763 -1.35316 0 -0.00605194 -0.00530177 -0.703323 0.710825 uwb: 0.0 946.86 427.242 -imu_odom_: 1691062816.551295035 0.342371 -0.0933739 9.81383 -0.0330232 0.0276969 0.0234358 0.22 0 pose: 0.0 5.94763 -1.35316 0 -0.00605194 -0.00530177 -0.703323 0.710825 uwb: 0.49909929 943.819 427.131 -imu_odom_: 1691062816.577243940 0.189142 -0.0957681 9.76595 -0.0788296 0 0.0660464 0.22 0 pose: 0.52131422 5.9548 -1.36013 0 -0.00975632 -0.00508733 -0.703171 0.710936 uwb: 0.0 943.819 427.131 -imu_odom_: 1691062816.604143330 0.545878 -0.361524 9.32781 -0.0671117 0.0106526 0.036219 0.25 0 pose: 0.0 5.9548 -1.36013 0 -0.00975632 -0.00508733 -0.703171 0.710936 uwb: 0.49968551 941.316 427.359 -imu_odom_: 1691062816.629282034 0.35913 -0.328006 10.1442 -0.0681769 -0.015979 0.0543285 0.25 0 pose: 0.72829474 5.95501 -1.37427 0 -0.00747669 -0.00178455 -0.703094 0.711055 uwb: 0.0 941.316 427.359 -imu_odom_: 1691062816.646266226 0.363919 -0.263362 9.89284 -0.0351537 -0.0458064 0.0234358 0.23 0 pose: 0.8026186 5.95501 -1.37427 0 -0.00709323 -0.00111771 -0.703052 0.711102 uwb: 0.50098627 943.866 427.622 -imu_odom_: 1691062816.662229937 0.52433 -0.007182619.76595 -0.0873517 -0.036219 0.0479369 0.23 0 pose: 0.0 5.95501 -1.37427 0 -0.00709323 -0.00111771 -0.703052 0.711102 uwb: 0.0 943.866 427.622 -imu_odom_: 1691062816.689171908 0.553061 -0.280122 10.1706 -0.0490022 0.00958738 0.0394148 0.25 0.02 pose: 0.41991071 5.95523 -1.38841 0 -0.00462762 7.65963e-06 -0.703037 0.711138 uwb: 0.0 943.866 427.622 -imu_odom_: 1691062816.714307987 0.328006 -0.270545 9.71328 -0.0660464 -0.0223706 0.0447411 0.25 0.02 pose: 0.0 5.95523 -1.38841 0 -0.00462762 7.65963e-06 -0.703037 0.711138 uwb: 0.49867640 944.855 427.408 -imu_odom_: 1691062816.741187836 0.691924 -0.189142 9.63666 -0.04048 0.0149137 0.0330232 0.21 0.02 pose: 0.42980052 5.94826 -1.39559 0 -0.00587269 -0.00165483 -0.702999 0.711164 uwb: 0.0 944.855 427.408 -imu_odom_: 1691062816.766193256 0.634463 -0.385466 9.78989 -0.0617853 -0.02024 0.0468716 0.21 0.02 pose: 0.44047197 5.95338 -1.40056 0 -0.00557946 -0.00291129 -0.703034 0.711128 uwb: 0.50098043 942.854 427.605 -imu_odom_: 1691062816.793136977 0.390255 -0.107739 10.2759 -0.0532632 -0.00958738 0.0490022 0.22 0 pose: 0.0 5.95338 -1.40056 0 -0.00557946 -0.00291129 -0.703034 0.711128 uwb: 0.0 942.854 427.605 -imu_odom_: 1691062816.819282162 0.481235 -0.1652 9.8282 -0.0458064 -0.00532632 0.0394148 0.18 -0.02 pose: 0.32019292 5.94848 -1.40973 0 -0.00758143 -0.00286933 -0.702932 0.711211 uwb: 0.50101252 947.324 426.846 -imu_odom_: 1691062816.846163761 0.383072 -0.339977 10.0485 -0.0745685 -0.0213053 0.0681769 0.18 -0.02 pose: 0.0 5.94848 -1.40973 0 -0.00758143 -0.00286933 -0.702932 0.711211 uwb: 0.49960385 951.307 426.234 -imu_odom_: 1691062816.872137749 0.617704 -0.3304 10.3645 -0.04048 0 0.0308927 0.18 0 pose: 0.52972830 5.95566 -1.41669 0 -0.00321605 -0.00328142 -0.702824 0.711349 uwb: 0.0 951.307 426.234 -imu_odom_: 1691062816.889273598 0.280122 0 9.84735 -0.0479369 -0.00426106 0.0415453 0.18 0 pose: 0.45957791 5.95381 -1.42882 0 -0.0059511 -0.00208203 -0.702689 0.711469 uwb: 0.0 951.307 426.234 -imu_odom_: 1691062816.915171756 0.373495 -0.25618 9.64384 -0.0532632 0.00213053 0.036219 0.18 0 pose: 0.0 5.95381 -1.42882 0 -0.0059511 -0.00208203 -0.702689 0.711469 uwb: 0.50104751 955.338 426.166 -imu_odom_: 1691062816.942109061 0.430956 -0.292093 9.79947 -0.0798948 -0.0436758 0.0479369 0.18 0 pose: 0.25021169 5.95589 -1.43083 0 -0.00369101 -0.00159869 -0.702697 0.711478 uwb: 0.0 955.338 426.166 -imu_odom_: 1691062816.967117689 0.402226 -0.35913 9.82102 -0.0266316 0.00213053 0.0330232 0.2 0 pose: 0.0 5.95589 -1.43083 0 -0.00369101 -0.00159869 -0.702697 0.711478 uwb: 0.49888347 955.833 426.033 -imu_odom_: 1691062816.983249973 0.497994 -0.0047884 9.94791 -0.0596548 -0.0266316 0.0490022 0.2 0 pose: 0.52951830 5.95612 -1.44497 0 -0.00470929 0.00266628 -0.702643 0.711522 uwb: 0.0 955.833 426.033 -imu_odom_: 1691062817.9127716 0.859518 -0.158017 9.54568 -0.0372843 0.036219 0.0308927 0.18 0 pose: 0.0 5.95612 -1.44497 0 -0.00470929 0.00266628 -0.702643 0.711522 uwb: 0.49906721 956.338 426.042 -imu_odom_: 1691062817.36116935 0.332794 -0.198719 9.60314 -0.0575243 0.0191748 0.0543285 0.18 0 pose: 0.41138871 5.94917 -1.45215 0 -0.00430975 0.00206005 -0.702655 0.711515 uwb: 0.0 956.338 426.042 -imu_odom_: 1691062817.62175209 0.507571 -0.227449 10.058 -0.0692422 -0.0340885 0.0511327 0.2 -0.02 pose: 0.0 5.94917 -1.45215 0 -0.00430975 0.00206005 -0.702655 0.711515 uwb: 0.49918972 955.349 426.306 -imu_odom_: 1691062817.79222981 0.45011 -0.148441 9.89284 -0.0607201 0.00106526 0.0596548 0.2 -0.02 pose: 0.44867316 5.95429 -1.45711 0 -0.00186527 0.00132945 -0.70258 0.711601 uwb: 0.0 955.349 426.306 -imu_odom_: 1691062817.104121950 0.337582 -0.146046 9.92157 -0.052198 0.0138484 0.0468716 0.23 -0.02 pose: 0.0 5.95429 -1.45711 0 -0.00186527 0.00132945 -0.70258 0.711601 uwb: 0.50017258 958.336 425.775 -imu_odom_: 1691062817.131163957 0.521936 -0.354342 9.93833 -0.0703074 -0.0191748 0.0458064 0.23 -0.02 pose: 0.43106046 5.9494 -1.4663 0 -0.00203253 -0.00207557 -0.702357 0.711819 uwb: 0.0 958.336 425.775 -imu_odom_: 1691062817.156118631 0.40462 -0.201113 9.92157 -0.0607201 0.0319579 0.0330232 0.23 -0.02 pose: 0.51940976 5.95163 -1.47838 0 -0.00239088 -0.000726849-0.702234 0.711942 uwb: 0.50112335 959.839 425.645 -imu_odom_: 1691062817.183111349 0.701501 -0.174777 10.3501 -0.0330232 -0.04048 0.0287621 0.2 -0.05 pose: 0.0 5.95163 -1.47838 0 -0.00239088 -0.000726849-0.702234 0.711942 uwb: 0.0 959.839 425.645 -imu_odom_: 1691062817.199242176 0.802058 -0.184354 9.93354 -0.0639159 0.00532632 0.0479369 0.2 -0.05 pose: 0.32036208 5.94964 -1.48044 0 -0.000104377-0.000892647-0.702323 0.711858 uwb: 0.49947262 961.324 425.237 -imu_odom_: 1691062817.226142733 0.672771 -0.268151 9.94073 -0.0585895 0.0170442 0.04048 0.25 0 pose: 0.0 5.94964 -1.48044 0 -0.000104377-0.000892647-0.702323 0.711858 uwb: 0.0 961.324 425.237 -imu_odom_: 1691062817.251132988 0.320823 -0.275333 9.93354 -0.0713727 -0.00958738 0.0415453 0.25 0 pose: 0.43969911 5.95684 -1.48739 0 -0.00321308 -0.004192 -0.702337 0.711825 uwb: 0.49979635 962.301 424.748 -imu_odom_: 1691062817.277316963 0.560243 -0.397437 9.79947 -0.0276969 0.02024 0.0383495 0.23 0 pose: 0.43962912 5.95494 -1.49946 0 -0.00379941 -0.00250514 -0.70231 0.711857 uwb: 0.0 962.301 424.748 -imu_odom_: 1691062817.301345067 0.80924 -0.311246 9.95509 -0.0532632 -0.015979 0.0436758 0.23 0 pose: 0.7129365 5.95708 -1.50152 0 -0.0043326 -0.00225315 -0.70231 0.711855 uwb: 0.0 962.301 424.748 -imu_odom_: 1691062817.319225206 0.19393 -0.244209 9.6223 -0.0415453 0.0585895 0.0276969 0.19 -0.02 pose: 0.0 5.95708 -1.50152 0 -0.0043326 -0.00225315 -0.70231 0.711855 uwb: 0.0 962.301 424.748 -imu_odom_: 1691062817.344166464 0.368707 -0.371101 9.43794 -0.052198 0.00319579 0.052198 0.19 -0.02 pose: 0.50939744 5.95013 -1.50872 0 -0.00691115 -0.00254242 -0.702302 0.711841 uwb: 0.100186173 959.802 425.106 -imu_odom_: 1691062817.371095019 0.629675 0.0502782 10.4746 -0.04048 -0.0585895 0.0394148 0.19 0 pose: 0.34964367 5.95733 -1.51567 0 -0.00544952 0.000793736 -0.70223 0.711929 uwb: 0.0 959.802 425.106 -imu_odom_: 1691062817.396103065 0.538695 -0.296881 9.77553 -0.0607201 -0.0255663 0.0447411 0.18 0.02 pose: 0.7010080 5.95733 -1.51567 0 -0.00529047 -3.17158e-05-0.702232 0.711928 uwb: 0.50012883 955.791 425.424 -imu_odom_: 1691062817.413096590 0.0981623 -0.11971 9.67257 -0.04048 -0.00106526 0.0181095 0.18 0.02 pose: 0.0 5.95733 -1.51567 0 -0.00529047 -3.17158e-05-0.702232 0.711928 uwb: 0.0 955.791 425.424 -imu_odom_: 1691062817.429110465 0.565032 -0.308852 9.83059 -0.0660464 -0.0298274 0.0426106 0.18 0.02 pose: 0.51966350 5.95757 -1.5298 0 -0.00686959 -0.00196277 -0.702232 0.711912 uwb: 0.0 955.791 425.424 -imu_odom_: 1691062817.456092684 0.639252 -0.265756 10.2831 -0.0191748 0.0127832 0.0330232 0.25 0 pose: 0.0 5.95757 -1.5298 0 -0.00686959 -0.00196277 -0.702232 0.711912 uwb: 0.0 955.791 425.424 -imu_odom_: 1691062817.481356215 0.509965 -0.0909797 10.1394 -0.0543285 -0.00213053 0.0532632 0.19 0 pose: 0.33076813 5.95063 -1.537 0 -0.00784515 -0.00277991 -0.702302 0.71183 uwb: 0.0 955.791 425.424 -imu_odom_: 1691062817.508154111 0.711078 0 10.1754 -0.0383495 0.111853 0.052198 0.23 0 pose: 0.45136508 5.95555 -1.54175 0 -0.00600206 -0.00556474 -0.702247 0.711887 uwb: 0.99722159 956.267 425.058 -imu_odom_: 1691062817.533144075 0.102951 -0.0574608 10.2376 -0.0394148 0.123571 0.0415453 0.19 0 pose: 0.26797896 5.95294 -1.549 0 -0.0041673 -0.00723297 -0.702138 0.711992 uwb: 0.0 956.267 425.058 -imu_odom_: 1691062817.559088898 -0.304064 -0.100556 10.4076 -0.0585895 0.0351537 0.072438 0.19 0 pose: 0.0 5.95294 -1.549 0 -0.0041673 -0.00723297 -0.702138 0.711992 uwb: 0.50128667 953.726 424.88 -imu_odom_: 1691062817.584128733 0.670376 -0.260968 10.1754 -0.0628506 0.0266316 0.0394148 0.19 0 pose: 0.50934787 5.95612 -1.5562 0 0.00149846 -0.00281573 -0.701846 0.712321 uwb: 0.0 953.726 424.88 -imu_odom_: 1691062817.611415142 0.869095 -0.502782 9.68933 -0.0713727 0.00106526 0.0649811 0.19 0 pose: 0.0 5.95612 -1.5562 0 0.00149846 -0.00281573 -0.701846 0.712321 uwb: 0.49925097 955.734 424.745 -imu_odom_: 1691062817.636116373 0.483629 -0.167594 9.89045 -0.0308927 0.0426106 0.0319579 0.19 0 pose: 0.32000918 5.95113 -1.56528 0 -0.00133851 -0.00344553 -0.701776 0.712389 uwb: 0.0 955.734 424.745 -imu_odom_: 1691062817.653239390 0.323217 -0.232238 9.54089 -0.0830906 -0.00852212 0.0660464 0.19 0 pose: 0.0 5.95113 -1.56528 0 -0.00133851 -0.00344553 -0.701776 0.712389 uwb: 0.0 955.734 424.745 -imu_odom_: 1691062817.678226728 0.486023 -0.270545 9.48343 -0.0692422 0.00213053 0.0383495 0.21 0.02 pose: 0.52154464 5.95834 -1.57222 0 -0.000425961-0.00367633 -0.701595 0.712566 uwb: 0.0 955.734 424.745 -imu_odom_: 1691062817.705179199 0.328006 -0.21069 10.2256 -0.0649811 -0.0468716 0.052198 0.23 -0.02 pose: 0.0 5.95834 -1.57222 0 -0.000425961-0.00367633 -0.701595 0.712566 uwb: 0.100082054 959.724 424.076 -imu_odom_: 1691062817.730109083 0.320823 -0.294487 10.4698 -0.0436758 -0.0340885 0.04048 0.23 -0.02 pose: 0.42049692 5.95141 -1.57942 0 -0.0022267 -0.00136553 -0.701479 0.712686 uwb: 0.0 959.724 424.076 -imu_odom_: 1691062817.747076943 0.363919 -0.189142 9.26077 -0.0777643 -0.00426106 0.0500674 0.21 0 pose: 0.0 5.95141 -1.57942 0 -0.0022267 -0.00136553 -0.701479 0.712686 uwb: 0.49875808 964.259 424.012 -imu_odom_: 1691062817.772118236 0.320823 -0.146046 9.29669 -0.0372843 -0.02024 0.0372843 0.21 0 pose: 0.51791068 5.95168 -1.59356 0 -0.0001393930.00153297 -0.701354 0.712812 uwb: 0.0 964.259 424.012 -imu_odom_: 1691062817.799102788 0.521936 -0.265756 10.2208 -0.052198 -0.0543285 0.04048 0.23 0 pose: 0.35033196 5.9568 -1.59848 0 0.00322473 0.000631466 -0.701331 0.712829 uwb: 0.0 964.259 424.012 -imu_odom_: 1691062817.824066212 0.658405 -0.0550666 10.3669 -0.0575243 -0.0575243 0.0415453 0.23 0 pose: 0.6959042 5.9589 -1.60049 0 0.00244997 0.000279572 -0.70133 0.712832 uwb: 0.0 964.259 424.012 -imu_odom_: 1691062817.851111135 0.550666 -0.112527 9.89284 -0.0490022 0.00852212 0.0351537 0.21 0 pose: 0.44988934 5.95197 -1.6077 0 -0.000872202-0.00361324 -0.701303 0.712853 uwb: 0.100123176 963.726 423.551 -imu_odom_: 1691062817.868055955 0.237026 -0.416591 9.69173 -0.0585895 -0.0181095 0.0532632 0.21 0 pose: 0.0 5.95197 -1.6077 0 -0.000872202-0.00361324 -0.701303 0.712853 uwb: 0.0 963.726 423.551 -imu_odom_: 1691062817.883050516 0.385466 -0.189142 10.3717 -0.0383495 -0.0213053 0.0543285 0.27 0.02 pose: 0.0 5.95197 -1.6077 0 -0.000872202-0.00361324 -0.701303 0.712853 uwb: 0.0 963.726 423.551 -imu_odom_: 1691062817.909042295 0.651223 0.184354 10.2113 -0.0436758 -0.0181095 0.0543285 0.27 0.02 pose: 0.49997717 5.95225 -1.62184 0 -0.000857662-0.00416624 -0.70123 0.712922 uwb: 0.49874350 962.719 423.615 -imu_odom_: 1691062817.936101217 0.289698 -0.304064 10.2113 -0.0436758 -0.0117179 0.0436758 0.19 0.02 pose: 0.34978366 5.95225 -1.62184 0 0.000355435 -0.0062279 -0.701042 0.713092 uwb: 0.0 962.719 423.615 -imu_odom_: 1691062817.962164741 0.447716 -0.146046 9.91678 -0.0543285 0.02024 0.0447411 0.19 0.02 pose: 0.7016205 5.95225 -1.62184 0 0.000388536 -0.00557386 -0.701035 0.713105 uwb: 0.50027174 962.21 423.554 -imu_odom_: 1691062817.989201207 0.555455 0.105345 10.1562 -0.0383495 -0.0106526 0.0415453 0.25 0.02 pose: 0.46106241 5.95446 -1.63398 0 0.0026703 -0.00521781 -0.700961 0.713175 uwb: 0.0 962.21 423.554 -imu_odom_: 1691062818.14148007 0.574608 -0.407014 9.72764 -0.0809601 -0.0191748 0.0458064 0.2 0 pose: 0.0 5.95446 -1.63398 0 0.0026703 -0.00521781 -0.700961 0.713175 uwb: 0.49876099 962.21 423.554 -imu_odom_: 1691062818.41191181 0.447716 -0.0694318 10.2113 -0.0436758 0.0106526 0.0394148 0.2 0 pose: 0.34055005 5.95977 -1.6429 0 0.00281838 -0.00768776 -0.700911 0.713202 uwb: 0.0 962.21 423.554 -imu_odom_: 1691062818.58196664 0.306458 -0.770933 9.14585 -0.0788296 0.015979 0.0543285 0.19 -0.02 pose: 0.0 5.95977 -1.6429 0 0.00281838 -0.00768776 -0.700911 0.713202 uwb: 0.49946097 957.72 424.384 -imu_odom_: 1691062818.85156719 0.272939 -0.0383072 10.3693 -0.0117179 -0.00319579 0.0490022 0.19 -0.02 pose: 0.52989747 5.95285 -1.65012 0 0.00345038 -0.00579392 -0.700844 0.713283 uwb: 0.0 957.72 424.384 -imu_odom_: 1691062818.110219012 0.237026 -0.129287 9.68694 -0.0735032 -0.00213053 0.052198 0.2 0 pose: 0.35947226 5.95306 -1.66021 0 0.00582174 -0.00421794 -0.700713 0.713407 uwb: 0.50003259 958.225 424.394 -imu_odom_: 1691062818.137079614 0.0957681 -0.167594 9.61751 -0.0681769 0.0330232 0.0553937 0.2 0 pose: 0.7993230 5.95315 -1.66426 0 0.00611724 -0.00343795 -0.700682 0.713439 uwb: 0.0 958.225 424.394 -imu_odom_: 1691062818.162079202 0.0981623 -0.126893 9.91918 -0.0490022 0.0543285 0.036219 0.2 0 pose: 0.43929665 5.9583 -1.66918 0 0.00826747 0.00105964 -0.700465 0.713638 uwb: 0.50167750 960.234 424.228 -imu_odom_: 1691062818.189112752 0.150835 -0.294487 9.67736 -0.0756338 0.00106526 0.0511327 0.21 0 pose: 0.0 5.9583 -1.66918 0 0.00826747 0.00105964 -0.700465 0.713638 uwb: 0.0 960.234 424.228 -imu_odom_: 1691062818.206041531 0.323217 -0.0215478 10.4531 -0.0607201 -0.0607201 0.0394148 0.21 0 pose: 0.31991003 5.95347 -1.6784 0 0.0101146 0.00413539 -0.700462 0.713606 uwb: 0.50117295 964.226 423.755 -imu_odom_: 1691062818.231153988 0.754174 -0.0215478 10.331 -0.1012 -0.0820254 0.0692422 0.19 0 pose: 0.0 5.95347 -1.6784 0 0.0101146 0.00413539 -0.700462 0.713606 uwb: 0.0 964.226 423.755 -imu_odom_: 1691062818.256100788 1.12767 -0.215478 10.4483 -0.0447411 -0.0223706 0.0117179 0.19 0 pose: 0.43971371 5.95347 -1.6784 0 0.00815339 0.00344586 -0.700321 0.713774 uwb: 0.49888350 963.217 423.795 -imu_odom_: 1691062818.283109256 0.0047884 -0.1652 9.50498 -0.0628506 0.00426106 0.052198 0.25 0 pose: 0.43058800 5.95571 -1.69053 0 0.00446304 -0.000193516-0.700385 0.713751 uwb: 0.0 963.217 423.795 -imu_odom_: 1691062818.308031849 0.502782 -0.248997 9.41879 -0.0426106 0 0.0340885 0.25 0 pose: 0.6953792 5.95379 -1.69254 0 0.00493358 0.000360524 -0.700354 0.713779 uwb: 0.49930347 963.219 423.818 -imu_odom_: 1691062818.325181407 0.605733 -0.45011 9.88326 -0.0628506 -0.0245011 0.0468716 0.23 0 pose: 0.0 5.95379 -1.69254 0 0.00493358 0.000360524 -0.700354 0.713779 uwb: 0.0 963.219 423.818 -imu_odom_: 1691062818.350073377 0.368707 -0.371101 9.94073 -0.0287621 0.0191748 0.0394148 0.23 0 pose: 0.44977269 5.95889 -1.69741 0 0.00412314 0.000969502 -0.700319 0.713817 uwb: 0.49999760 965.224 423.529 -imu_odom_: 1691062818.367044737 0.234632 -0.107739 9.92397 -0.0617853 -0.00532632 0.0490022 0.21 -0.02 pose: 0.0 5.95889 -1.69741 0 0.00412314 0.000969502 -0.700319 0.713817 uwb: 0.0 965.224 423.529 -imu_odom_: 1691062818.393033016 0.153229 -0.122104 9.67736 -0.0330232 -0.0138484 0.0319579 0.21 -0.02 pose: 0.49042859 5.95411 -1.70668 0 0.00149754 0.00252145 -0.70026 0.713882 uwb: 0.0 965.224 423.529 -imu_odom_: 1691062818.420189934 0.656011 -0.131681 10.3453 -0.0575243 -0.0308927 0.04048 0.25 -0.02 pose: 0.35958308 5.95658 -1.71858 0 0.00505248 0.00305749 -0.700284 0.71384 uwb: 0.50009676 966.748 423.627 -imu_odom_: 1691062818.436070234 0.916979 -0.138864 9.44034 -0.0511327 0.0468716 0.0223706 0.25 -0.02 pose: 0.8052435 5.95444 -1.72082 0 0.00449399 0.00233734 -0.700283 0.713847 uwb: 0.0 966.748 423.627 -imu_odom_: 1691062818.463041371 0.308852 -0.390255 9.74679 -0.0703074 -0.00745685 0.0490022 0.23 -0.02 pose: 0.0 5.95444 -1.72082 0 0.00449399 0.00233734 -0.700283 0.713847 uwb: 0.49907016 966.786 424.284 -imu_odom_: 1691062818.488076832 0.244209 -0.354342 9.73004 -0.0447411 -0.0351537 0.0213053 0.23 -0.02 pose: 0.43032260 5.95444 -1.72082 0 0.00201576 0.000423035 -0.70035 0.713796 uwb: 0.0 966.786 424.284 -imu_odom_: 1691062818.515076843 0.462081 -0.337582 9.83538 -0.0340885 -0.00319579 0.0255663 0.23 0 pose: 0.43959121 5.95476 -1.73495 0 0.000703353 0.00430018 -0.700449 0.713689 uwb: 0.50066839 970.321 424.349 -imu_odom_: 1691062818.540156635 0.711078 -0.167594 10.4746 -0.036219 -0.0298274 0.0468716 0.18 0.02 pose: 0.0 5.95476 -1.73495 0 0.000703353 0.00430018 -0.700449 0.713689 uwb: 0.0 970.321 424.349 -imu_odom_: 1691062818.567025111 0.579397 0.0430956 10.2975 -0.0458064 0.0340885 0.0447411 0.18 0.02 pose: 0.35103484 5.96199 -1.74187 0 -0.00203839 0.0025219 -0.700576 0.71357 uwb: 0.50014343 973.854 424.39 -imu_odom_: 1691062818.592150109 0.526724 -0.268151 9.36372 -0.0628506 0.0234358 0.052198 0.18 0.02 pose: 0.0 5.96199 -1.74187 0 -0.00203839 0.0025219 -0.700576 0.71357 uwb: 0.0 973.854 424.39 -imu_odom_: 1691062818.619078082 -0.023942 -0.167594 9.7444 -0.04048 0.015979 0.0532632 0.18 0.02 pose: 0.51928437 5.95508 -1.74909 0 -0.00213801 -0.00162036 -0.700455 0.713691 uwb: 0.50025425 974.857 424.298 -imu_odom_: 1691062818.635016712 0.61531 -0.349553 10.3262 -0.0830906 -0.0127832 0.0649811 0.2 0 pose: 0.43969329 5.95719 -1.76135 0 -0.00120389 -9.77871e-05-0.700246 0.713901 uwb: 0.0 974.857 424.298 -imu_odom_: 1691062818.661012866 0.490811 0.158017 9.74919 -0.0394148 -0.00852212 0.0532632 0.2 0 pose: 0.0 5.95719 -1.76135 0 -0.00120389 -9.77871e-05-0.700246 0.713901 uwb: 0.50021634 976.88 424.472 -imu_odom_: 1691062818.686035786 0.328006 -0.129287 10.0054 -0.0596548 0.00958738 0.0553937 0.23 0.02 pose: 0.22951919 5.9554 -1.76323 0 -0.00248094 -0.000968381-0.700066 0.714073 uwb: 0.0 976.88 424.472 -imu_odom_: 1691062818.703079767 0.42138 -0.126893 9.61272 -0.0394148 -0.00958738 0.0223706 0.23 0.02 pose: 0.0 5.9554 -1.76323 0 -0.00248094 -0.000968381-0.700066 0.714073 uwb: 0.49952221 978.392 424.484 -imu_odom_: 1691062818.728263677 0.378284 -0.543484 9.23204 -0.0905475 -0.0298274 0.0649811 0.18 0.02 pose: 0.51008283 5.95573 -1.77737 0 0.00165823 -0.00228425 -0.699882 0.714253 uwb: 0.0 978.392 424.484 -imu_odom_: 1691062818.755014619 0.557849 0.00718261 9.77792 -0.052198 -0.0223706 0.036219 0.21 0 pose: 0.35225393 5.95573 -1.77737 0 4.25536e-05 -0.00121524 -0.699718 0.714419 uwb: 0.50119628 977.403 424.968 -imu_odom_: 1691062818.780120951 0.653617 -0.0670376 9.90721 -0.0756338 -0.00745685 0.0458064 0.21 0 pose: 0.0 5.95573 -1.77737 0 4.25536e-05 -0.00121524 -0.699718 0.714419 uwb: 0.0 977.403 424.968 -imu_odom_: 1691062818.806989428 0.464475 -0.234632 9.53132 -0.0905475 -0.0255663 0.0490022 0.23 0.02 pose: 0.6821967 5.95573 -1.77737 0 0.000143289 -0.00193544 -0.699725 0.71441 uwb: 0.49750108 975.888 424.794 -imu_odom_: 1691062818.832043555 0.361524 -0.0957681 9.80665 -0.0639159 -0.00426106 0.0436758 0.23 0.02 pose: 0.0 5.95573 -1.77737 0 0.000143289 -0.00193544 -0.699725 0.71441 uwb: 0.0 975.888 424.794 -imu_odom_: 1691062818.849044955 0.378284 -0.392649 10.0437 -0.0479369 -0.0127832 0.052198 0.23 0.02 pose: 0.52060262 5.95608 -1.79151 0 -0.00113705 -0.00557603 -0.699656 0.714457 uwb: 0.50101254 979.401 424.517 -imu_odom_: 1691062818.875048108 0.960075 -0.0430956 9.663 -0.0447411 0 0.0330232 0.23 0.02 pose: 0.0 5.95608 -1.79151 0 -0.00113705 -0.00557603 -0.699656 0.714457 uwb: 0.0 979.401 424.517 -imu_odom_: 1691062818.901132631 0.31364 -0.162806 10.0509 -0.0681769 0.0245011 0.0543285 0.23 -0.02 pose: 0.51847358 5.95643 -1.80565 0 -0.000342207-0.00277486 -0.699532 0.714595 uwb: 0.49890975 983.43 424.622 -imu_odom_: 1691062818.924004639 0.639252 -0.172383 10.1179 -0.0447411 0.0351537 0.0319579 0.23 -0.02 pose: 0.0 5.95643 -1.80565 0 -0.000342207-0.00277486 -0.699532 0.714595 uwb: 0.0 983.43 424.622 -imu_odom_: 1691062818.948052867 0.241814 -0.126893 10.0724 -0.0713727 -0.00319579 0.0511327 0.19 0 pose: 0.42999012 5.95643 -1.80565 0 -0.0013081 -0.00376081 -0.699508 0.714614 uwb: 0.50138001 989.951 424.166 -imu_odom_: 1691062818.965011978 0.28491 -0.186748 9.57202 -0.0458064 -0.015979 0.0308927 0.19 0 pose: 0.0 5.95643 -1.80565 0 -0.0013081 -0.00376081 -0.699508 0.714614 uwb: 0.0 989.951 424.166 -imu_odom_: 1691062818.990999966 0.567426 -0.160412 9.86411 -0.076699 -0.0138484 0.0639159 0.18 0 pose: 0.49081940 5.95679 -1.81979 0 -0.000318646-0.00327349 -0.699443 0.714681 uwb: 0.0 989.951 424.166 -imu_odom_: 1691062819.8006907 0.514753 -0.0981623 10.3238 -0.0372843 -0.00852212 0.0383495 0.18 0 pose: 0.0 5.95679 -1.81979 0 -0.000318646-0.00327349 -0.699443 0.714681 uwb: 0.50019301 988.444 424.335 -imu_odom_: 1691062819.33105657 0.433351 -0.0622492 9.78271 -0.0511327 0.0213053 0.0415453 0.2 0.02 pose: 0.76932691 5.95715 -1.83393 0 0.000212007 -0.00472677 -0.699205 0.714906 uwb: 0.0 988.444 424.335 -imu_odom_: 1691062819.59987842 0.378284 -0.100556 9.83059 -0.0351537 -0.00852212 0.0351537 0.21 -0.02 pose: 0.8036103 5.95715 -1.83393 0 0.00103212 -0.0049886 -0.6992 0.714908 uwb: 0.50075298 988.439 424.077 -imu_odom_: 1691062819.85018345 0.526724 -0.318429 9.64624 -0.0798948 -0.0458064 0.0458064 0.2 0 pose: 0.43944832 5.95742 -1.84415 0 0.00481418 -0.00385917 -0.699242 0.714858 uwb: 0.0 988.439 424.077 -imu_odom_: 1691062819.112055688 0.790087 -0.105345 10.1562 -0.0383495 -0.0223706 0.036219 0.21 0 pose: 0.0 5.95742 -1.84415 0 0.00481418 -0.00385917 -0.699242 0.714858 uwb: 0.49739027 988.434 423.865 -imu_odom_: 1691062819.137046527 0.749385 -0.0407014 10.058 -0.0490022 -0.052198 0.0415453 0.21 0 pose: 0.32042334 5.95752 -1.84806 0 0.00134728 -0.00409169 -0.699197 0.714916 uwb: 0.0 988.434 423.865 -imu_odom_: 1691062819.154139797 -0.00957681-0.332794 9.74919 -0.0191748 0.0553937 0.0394148 0.22 0 pose: 0.0 5.95752 -1.84806 0 0.00134728 -0.00409169 -0.699197 0.714916 uwb: 0.50089006 985.414 423.91 -imu_odom_: 1691062819.179098555 0.227449 -0.122104 9.85453 -0.0607201 -0.00532632 0.0543285 0.22 0 pose: 0.52050931 5.95788 -1.8622 0 -0.000838162-0.00793804 -0.69918 0.714901 uwb: 0.0 985.414 423.91 -imu_odom_: 1691062819.206059194 0.469264 -0.19393 10.082 -0.0479369 -0.0255663 0.0575243 0.22 -0.02 pose: 0.35017448 5.95788 -1.8622 0 0.00158058 -0.00509891 -0.69907 0.715033 uwb: 0.49892434 982.908 424.026 -imu_odom_: 1691062819.231242813 0.600945 -0.162806 10.0987 -0.0468716 0.0276969 0.036219 0.22 -0.02 pose: 0.6893421 5.95788 -1.8622 0 0.000964363 -0.00480029 -0.699026 0.71508 uwb: 0.0 982.908 424.026 -imu_odom_: 1691062819.257979465 0.150835 0.0023942 9.51216 -0.0916127 0.0170442 0.0692422 0.23 0 pose: 0.45250837 5.95826 -1.87634 0 -0.00210631 -0.00563418 -0.698914 0.71518 uwb: 0.50146461 983.413 424.129 -imu_odom_: 1691062819.274021631 0.390255 -0.0981623 10.2376 -0.0681769 -0.0330232 0.0468716 0.23 0 pose: 0.0 5.95826 -1.87634 0 -0.00210631 -0.00563418 -0.698914 0.71518 uwb: 0.0 983.413 424.129 -imu_odom_: 1691062819.301107387 0.42138 -0.0909797 10.4363 -0.0596548 -0.0415453 0.036219 0.25 0 pose: 0.42778818 5.96185 -1.88709 0 0.00161415 -0.00404525 -0.698611 0.715489 uwb: 0.50163960 982.908 424.073 -imu_odom_: 1691062819.326971133 1.01754 -0.181959 9.92636 -0.0447411 -0.0255663 0.0351537 0.19 0 pose: 0.0 5.96185 -1.88709 0 0.00161415 -0.00404525 -0.698611 0.715489 uwb: 0.0 982.908 424.073 -imu_odom_: 1691062819.354033265 0.584185 -0.0885855 9.27753 -0.0585895 -0.00958738 0.04048 0.25 0.02 pose: 0.52949502 5.95864 -1.89048 0 0.00159255 -0.00716135 -0.698669 0.715408 uwb: 0.49886601 981.899 424.034 -imu_odom_: 1691062819.378961400 0.452504 -0.241814 9.94312 -0.0447411 0.02024 0.0340885 0.2 0 pose: 0.0 5.95864 -1.89048 0 0.00159255 -0.00716135 -0.698669 0.715408 uwb: 0.0 981.899 424.034 -imu_odom_: 1691062819.395954926 0.399832 -0.517148 9.7037 -0.0532632 -0.0276969 0.0415453 0.2 0 pose: 0.34020591 5.95903 -1.90461 0 -0.000244836-0.00863815 -0.698654 0.715407 uwb: 0.50119046 982.397 423.83 -imu_odom_: 1691062819.421052217 0.414197 -0.294487 9.84256 -0.0191748 -0.015979 0.0394148 0.18 0 pose: 0.0 5.95903 -1.90461 0 -0.000244836-0.00863815 -0.698654 0.715407 uwb: 0.0 982.397 423.83 -imu_odom_: 1691062819.448250550 0.122104 -0.0861913 9.59117 -0.0479369 0.0351537 0.0319579 0.18 0 pose: 0.34963202 5.95903 -1.90461 0 -0.00154262 -0.00551957 -0.698683 0.715409 uwb: 0.49830021 984.397 423.303 -imu_odom_: 1691062819.473004279 0.31364 -0.059855 9.47386 -0.0500674 0.0138484 0.0436758 0.19 0 pose: 0.8008688 5.95903 -1.90461 0 -0.00164747 -0.00487212 -0.698683 0.715413 uwb: 0.0 984.397 423.303 -imu_odom_: 1691062819.490000138 0.560243 -0.268151 10.3118 -0.0617853 -0.0351537 0.0394148 0.19 0 pose: 0.0 5.95903 -1.90461 0 -0.00164747 -0.00487212 -0.698683 0.715413 uwb: 0.0 984.397 423.303 -imu_odom_: 1691062819.515988126 0.785298 0 10.2376 -0.0628506 -0.0383495 0.0543285 0.18 -0.02 pose: 0.52124134 5.95942 -1.91875 0 0.00180929 -0.00188019 -0.698754 0.715357 uwb: 0.49873186 982.878 423.064 -imu_odom_: 1691062819.543077090 0.586579 0.0167594 10.1897 -0.0585895 -0.015979 0.0298274 0.18 -0.02 pose: 0.0 5.95942 -1.91875 0 0.00180929 -0.00188019 -0.698754 0.715357 uwb: 0.0 982.878 423.064 -imu_odom_: 1691062819.567973435 0.215478 -0.155623 9.9096 -0.0543285 -0.00532632 0.0351537 0.18 0.02 pose: 0.41942368 5.95981 -1.93289 0 0.00132525 -0.00314897 -0.698685 0.715421 uwb: 0.50016677 979.338 422.827 -imu_odom_: 1691062819.595050442 0.751779 -0.160412 10.0006 -0.0223706 0.00639159 0.02024 0.22 0 pose: 0.52968459 5.95981 -1.93289 0 0.00110345 -0.00709599 -0.698685 0.715394 uwb: 0.50068590 980.34 422.628 -imu_odom_: 1691062819.610960199 0.519542 -0.174777 10.2113 -0.0479369 -0.015979 0.0490022 0.22 0 pose: 0.0 5.95981 -1.93289 0 0.00110345 -0.00709599 -0.698685 0.715394 uwb: 0.0 980.34 422.628 -imu_odom_: 1691062819.638064329 0.682347 -0.0430956 9.98143 -0.0479369 0.0426106 0.0458064 0.23 0 pose: 0.23986691 5.96019 -1.94702 0 0.00157242 -0.00614824 -0.698766 0.715322 uwb: 0.0 980.34 422.628 -imu_odom_: 1691062819.664059900 0.215478 -0.181959 9.51935 -0.0500674 0.0308927 0.052198 0.23 0 pose: 0.43028470 5.96019 -1.94702 0 -0.00113687 -0.00725761 -0.698814 0.715266 uwb: 0.49879019 981.339 422.266 -imu_odom_: 1691062819.690953459 0.143652 -0.0670376 9.6606 -0.0490022 0.0127832 0.0511327 0.25 0 pose: 0.46046164 5.96057 -1.96116 0 0.000489374 -0.00643757 -0.698659 0.715426 uwb: 0.0 981.339 422.266 -imu_odom_: 1691062819.716079332 0.457293 -0.514753 9.44991 -0.0639159 -0.0127832 0.056459 0.25 0 pose: 0.0 5.96057 -1.96116 0 0.000489374 -0.00643757 -0.698659 0.715426 uwb: 0.50136253 983.865 422.284 -imu_odom_: 1691062819.743064469 0.244209 -0.0933739 10.1107 -0.0532632 0.00106526 0.0511327 0.2 0 pose: 0.52019432 5.96085 -1.97119 0 0.000802036 -0.00310975 -0.698414 0.715687 uwb: 0.0 983.865 422.284 -imu_odom_: 1691062819.759008058 0.397437 -0.047884 10.1466 -0.0756338 -0.0149137 0.0575243 0.2 0 pose: 0.0 5.96085 -1.97119 0 0.000802036 -0.00310975 -0.698414 0.715687 uwb: 0.49840229 990.897 421.825 -imu_odom_: 1691062819.785986778 0.35913 -0.181959 10.2735 -0.0639159 -0.0298274 0.0543285 0.25 0.02 pose: 0.42928726 5.96097 -1.9753 0 0.00407975 -0.00308222 -0.698198 0.715886 uwb: 0.0 990.897 421.825 -imu_odom_: 1691062819.811195772 0.339977 -0.129287 9.96467 -0.0575243 -0.0298274 0.052198 0.19 0 pose: 0.0 5.96097 -1.9753 0 0.00407975 -0.00308222 -0.698198 0.715886 uwb: 0.50272162 991.399 421.535 -imu_odom_: 1691062819.838064541 0.572214 -0.0071826110.6398 -0.0692422 -0.015979 0.0458064 0.19 0 pose: 0.26978720 5.96125 -1.98518 0 0.0027461 -0.000747497-0.698069 0.716025 uwb: 0.0 991.399 421.535 -imu_odom_: 1691062819.864053112 1.01514 -0.0167594 9.91199 -0.04048 -0.0138484 0.0245011 0.18 0 pose: 0.52077763 5.96138 -1.98943 0 0.00399459 -0.00349429 -0.69788 0.716195 uwb: 0.49757109 990.892 421.52 -imu_odom_: 1691062819.881049846 0.555455 -0.476446 9.56962 -0.0884169 -0.0106526 0.0490022 0.18 0 pose: 0.0 5.96138 -1.98943 0 0.00399459 -0.00349429 -0.69788 0.716195 uwb: 0.0 990.892 421.52 -imu_odom_: 1691062819.897944795 0.342371 -0.390255 10.058 -0.0585895 -0.0106526 0.0468716 0.18 0.02 pose: 0.0 5.96138 -1.98943 0 0.00399459 -0.00349429 -0.69788 0.716195 uwb: 0.50101255 988.862 421.179 -imu_odom_: 1691062819.913058058 0.0383072 0.0311246 9.72764 -0.0351537 0.00426106 0.0383495 0.18 0.02 pose: 0.50996618 5.9618 -2.00357 0 0.000486423 -0.00412839 -0.697932 0.716152 uwb: 0.0 988.862 421.179 -imu_odom_: 1691062819.938106352 0.112527 -0.0383072 10.0963 -0.0585895 0.00958738 0.0511327 0.18 0.02 pose: 0.0 5.9618 -2.00357 0 0.000486423 -0.00412839 -0.697932 0.716152 uwb: 0.0 988.862 421.179 -imu_odom_: 1691062819.965087114 0.390255 -0.0670376 10.4076 -0.052198 -0.0553937 0.0426106 0.17 0.02 pose: 0.31048977 5.9618 -2.00357 0 0.00238182 -0.00250761 -0.697892 0.716194 uwb: 0.50077632 986.841 421.151 -imu_odom_: 1691062819.991097268 0.54109 -0.102951 9.91678 -0.0383495 -0.0458064 0.04048 0.18 -0.02 pose: 0.44976978 5.96221 -2.01771 0 0.00484776 -0.00454362 -0.697778 0.716283 uwb: 0.0 986.841 421.151 -imu_odom_: 1691062820.17985869 0.143652 -0.306458 9.98382 -0.0617853 0.00426106 0.0511327 0.18 -0.02 pose: 0.0 5.96221 -2.01771 0 0.00484776 -0.00454362 -0.697778 0.716283 uwb: 0.50057508 989.875 421.02 -imu_odom_: 1691062820.34018703 0.31364 -0.169988 10.0293 -0.0511327 -0.00532632 0.04048 0.18 0 pose: 0.8019188 5.96221 -2.01771 0 0.00414938 -0.00520768 -0.697772 0.716289 uwb: 0.0 989.875 421.02 -imu_odom_: 1691062820.60989550 0.361524 -0.272939 9.98382 -0.0809601 0.00426106 0.0671117 0.18 0 pose: 0.0 5.96221 -2.01771 0 0.00414938 -0.00520768 -0.697772 0.716289 uwb: 0.49725903 995.432 420.55 -imu_odom_: 1691062820.85933726 0.237026 -0.311246 10.1778 -0.0436758 0.0351537 0.0308927 0.18 0 pose: 0.52997916 5.96264 -2.03184 0 0.00329447 -0.00314292 -0.697663 0.716411 uwb: 0.0 995.432 420.55 -imu_odom_: 1691062820.113082771 0.620098 -0.536301 9.94791 -0.0798948 -0.0308927 0.0596548 0.23 0.02 pose: 0.42874480 5.96264 -2.03184 0 0.00200574 0.0010122 -0.697431 0.716649 uwb: 0.0 995.432 420.55 -imu_odom_: 1691062820.139006597 0.272939 -0.0454898 9.663 -0.0500674 0.02024 0.0479369 0.19 -0.02 pose: 0.0 5.96264 -2.03184 0 0.00200574 0.0010122 -0.697431 0.716649 uwb: 0.0 995.432 420.55 -imu_odom_: 1691062820.165989985 0.296881 -0.260968 9.60314 -0.0788296 0.0181095 0.0319579 0.23 0 pose: 0.52133468 5.96308 -2.04598 0 3.59615e-05 0.00271512 -0.697269 0.716805 uwb: 0.100074187 993.912 420.634 -imu_odom_: 1691062820.181927741 0.0622492 -0.517148 9.58878 -0.0383495 0.0234358 0.0276969 0.23 0 pose: 0.0 5.96308 -2.04598 0 3.59615e-05 0.00271512 -0.697269 0.716805 uwb: 0.0 993.912 420.634 -imu_odom_: 1691062820.198923309 0.744597 -0.0407014 9.94791 -0.0671117 -0.0394148 0.0490022 0.23 0 pose: 0.0 5.96308 -2.04598 0 3.59615e-05 0.00271512 -0.697269 0.716805 uwb: 0.49952807 1001.49 420.182 -imu_odom_: 1691062820.224009810 1.01754 -0.0646434 9.71088 -0.0298274 0.0127832 0.0255663 0.25 0.02 pose: 0.68823096 5.96352 -2.06011 0 0.0018772 0.00619727 -0.697321 0.71673 uwb: 0.0 1001.49 420.182 -imu_odom_: 1691062820.251120356 0.35913 -0.148441 9.77074 -0.0639159 0.0181095 0.0532632 0.23 0 pose: 0.34074548 5.96352 -2.06011 0 0.000646053 0.00298436 -0.697431 0.716646 uwb: 0.50087841 1003.01 420.117 -imu_odom_: 1691062820.267066279 0.754174 -0.160412 9.75398 -0.0543285 0.0138484 0.0330232 0.23 0 pose: 0.0 5.96352 -2.06011 0 0.000646053 0.00298436 -0.697431 0.716646 uwb: 0.0 1003.01 420.117 -imu_odom_: 1691062820.284048139 0.356736 -0.146046 9.80665 -0.0639159 0.0255663 0.0532632 0.23 0 pose: 0.0 5.96352 -2.06011 0 0.000646053 0.00298436 -0.697431 0.716646 uwb: 0.0 1003.01 420.117 -imu_odom_: 1691062820.301046332 0.45011 -0.31364 10.0533 -0.0756338 -0.00852212 0.0532632 0.18 0 pose: 0.6956126 5.96352 -2.06011 0 0.00114696 0.00254583 -0.697396 0.716681 uwb: 0.0 1003.01 420.117 -imu_odom_: 1691062820.318162934 0.361524 -0.215478 10.1514 -0.0426106 0.0308927 0.0415453 0.18 0 pose: 0.0 5.96352 -2.06011 0 0.00114696 0.00254583 -0.697396 0.716681 uwb: 0.0 1003.01 420.117 -imu_odom_: 1691062820.334162520 0.126893 0.00718261 9.56962 -0.0937433 0.0117179 0.0639159 0.18 0 pose: 0.0 5.96352 -2.06011 0 0.00114696 0.00254583 -0.697396 0.716681 uwb: 0.0 1003.01 420.117 -imu_odom_: 1691062820.350974349 0.823605 -0.1652 10.3501 -0.0735032 -0.0415453 0.0394148 0.25 0 pose: 0.61087975 5.96396 -2.07425 0 0.00257168 2.43008e-05 -0.697207 0.716866 uwb: 0.0 1003.01 420.117 -imu_odom_: 1691062820.366928145 0.730232 -0.191536 9.67976 -0.0585895 -0.0394148 0.0330232 0.18 0 pose: 0.0 5.96396 -2.07425 0 0.00257168 2.43008e-05 -0.697207 0.716866 uwb: 0.0 1003.01 420.117 -imu_odom_: 1691062820.383975335 0.162806 -0.407014 9.84256 -0.0553937 0.0223706 0.0436758 0.18 0 pose: 0.66932917 5.96441 -2.08838 0 0.00105319 0.000329679 -0.69703 0.717041 uwb: 0.0 1003.01 420.117 -imu_odom_: 1691062820.400982277 0.866701 -0.19393 10.2304 -0.0436758 -0.0191748 0.0319579 0.18 0 pose: 0.0 5.96441 -2.08838 0 0.00105319 0.000329679 -0.69703 0.717041 uwb: 0.150009787 1007.57 419.83 -imu_odom_: 1691062820.415971882 0.849942 -0.241814 9.78271 -0.0543285 -0.0351537 0.0458064 0.18 0 pose: 0.0 5.96441 -2.08838 0 0.00105319 0.000329679 -0.69703 0.717041 uwb: 0.0 1007.57 419.83 -imu_odom_: 1691062820.432970074 0.751779 -0.114922 9.39485 -0.0639159 0.00745685 0.0415453 0.18 0 pose: 0.32995154 5.96486 -2.10252 0 0.000161074 0.000829446 -0.697046 0.717025 uwb: 0.0 1007.57 419.83 -imu_odom_: 1691062820.446965155 0.268151 -0.167594 10.0892 -0.0532632 0.0191748 0.0330232 0.2 0 pose: 0.40988092 5.96486 -2.10252 0 -0.00238986 -0.0025565 -0.697024 0.71704 uwb: 0.50014345 1010.62 419.526 -imu_odom_: 1691062820.463020737 0.538695 -0.328006 9.6199 -0.0596548 0.00426106 0.04048 0.2 0 pose: 0.6003308 5.96486 -2.10252 0 -0.00183393 -0.00218134 -0.69704 0.717027 uwb: 0.0 1010.62 419.526 -imu_odom_: 1691062820.477954928 0.184354 -0.184354 9.83538 -0.0490022 0.0745685 0.0319579 0.2 0 pose: 0.0 5.96486 -2.10252 0 -0.00183393 -0.00218134 -0.69704 0.717027 uwb: 0.0 1010.62 419.526 -imu_odom_: 1691062820.494901207 0.433351 -0.474052 9.44752 -0.0415453 0.0276969 0.0223706 0.18 0 pose: 0.38981546 5.96192 -2.11346 0 -0.00101743 -0.000198484-0.697095 0.716978 uwb: 0.49721529 1015.19 419.345 -imu_odom_: 1691062820.508898038 1.00078 -0.395043 9.44991 -0.0617853 -0.0500674 0.0468716 0.18 0 pose: 0.0 5.96192 -2.11346 0 -0.00101743 -0.000198484-0.697095 0.716978 uwb: 0.0 1015.19 419.345 -imu_odom_: 1691062820.524959745 0.368707 -0.0766145 9.66779 -0.0426106 0.00106526 0.0426106 0.18 0 pose: 0.0 5.96192 -2.11346 0 -0.00101743 -0.000198484-0.697095 0.716978 uwb: 0.0 1015.19 419.345 -imu_odom_: 1691062820.539955182 0.383072 -0.131681 9.80426 -0.0245011 0.0127832 0.0372843 0.18 0 pose: 0.37948524 5.96532 -2.11665 0 -0.00276643 -0.000194517-0.697154 0.716916 uwb: 0.0 1015.19 419.345 -imu_odom_: 1691062820.556954250 0.960075 -0.174777 10.0461 -0.0617853 -0.00639159 0.0798948 0.15 0 pose: 0.0 5.96532 -2.11665 0 -0.00276643 -0.000194517-0.697154 0.716916 uwb: 0.50286454 1017.23 419.214 -imu_odom_: 1691062820.570954580 1.28569 -0.387861 9.81144 -0.0681769 -0.0479369 0.102265 0.15 0 pose: 0.0 5.96532 -2.11665 0 -0.00276643 -0.000194517-0.697154 0.716916 uwb: 0.0 1017.23 419.214 -imu_odom_: 1691062820.587890943 2.09971 -0.138864 10.3166 -0.0479369 -0.0798948 0.0575243 0.15 0 pose: 0.31027397 5.96577 -2.13079 0 -0.000652485-0.00155988 -0.697059 0.717012 uwb: 0.0 1017.23 419.214 -imu_odom_: 1691062820.601922188 1.93691 0 9.90481 -0.0436758 -0.0319579 0.0127832 0.13 -0.02 pose: 0.0 5.96577 -2.13079 0 -0.000652485-0.00155988 -0.697059 0.717012 uwb: 0.49902643 1017.23 419.167 -imu_odom_: 1691062820.618956545 1.74777 0.117316 10.3932 -0.0543285 0.0223706 0.0255663 0.13 -0.02 pose: 0.0 5.96577 -2.13079 0 -0.000652485-0.00155988 -0.697059 0.717012 uwb: 0.0 1017.23 419.167 -imu_odom_: 1691062820.633033871 1.35991 -0.316035 10.3669 -0.0713727 -0.0117179 0.0330232 0.13 -0.02 pose: 0.31054519 5.96577 -2.13079 0 -0.00342901 -0.00395854 -0.696544 0.717495 uwb: 0.0 1017.23 419.167 -imu_odom_: 1691062820.649913654 0.94571 -0.632069 9.88805 -0.0490022 0.00958738 0 0.13 -0.02 pose: 0.40971177 5.96577 -2.13079 0 -0.0058807 -0.00766658 -0.696679 0.717317 uwb: 0.50102715 1021.3 419.044 -imu_odom_: 1691062820.663895318 0.533907 -0.220267 9.73004 -0.0500674 -0.00106526 -0.0170442 0.13 -0.02 pose: 0.0 5.96577 -2.13079 0 -0.0058807 -0.00766658 -0.696679 0.717317 uwb: 0.0 1021.3 419.044 -imu_odom_: 1691062820.680038687 0.579397 0.129287 9.97903 -0.0479369 -0.00213053 -0.0170442 0.09 0 pose: 0.6085845 5.96577 -2.13079 0 -0.00642049 -0.00801156 -0.696689 0.7173 uwb: 0.0 1021.3 419.044 -imu_odom_: 1691062820.696935969 0.775721 -0.35913 10.1035 -0.0649811 -0.00958738 0.00958738 0.09 0 pose: 0.0 5.96577 -2.13079 0 -0.00642049 -0.00801156 -0.696689 0.7173 uwb: 0.49933850 1025.86 419.276 -imu_odom_: 1691062820.713030924 0.905008 -0.435745 9.76355 -0.0543285 -0.0266316 0.02024 0.09 0 pose: 0.0 5.96577 -2.13079 0 -0.00642049 -0.00801156 -0.696689 0.7173 uwb: 0.0 1025.86 419.276 -imu_odom_: 1691062820.731027141 0.766145 -0.328006 9.87608 -0.036219 0.00958738 0.0213053 0.11 -0.02 pose: 0.46177699 5.96623 -2.14492 0 -0.00702799 -0.0077406 -0.69737 0.716635 uwb: 0.0 1025.86 419.276 -imu_odom_: 1691062820.748103204 0.684742 -0.0766145 9.77313 -0.0479369 -0.00319579 0.0490022 0.07 -0.02 pose: 0.0 5.96623 -2.14492 0 -0.00702799 -0.0077406 -0.69737 0.716635 uwb: 0.49917809 1030.41 419.59 -imu_odom_: 1691062820.762022455 0.737414 -0.1652 10.0126 -0.0458064 0.00852212 0.0383495 0.07 -0.02 pose: 0.0 5.96623 -2.14492 0 -0.00702799 -0.0077406 -0.69737 0.716635 uwb: 0.0 1030.41 419.59 -imu_odom_: 1691062820.778023208 0.845153 -0.251391 9.98143 -0.0553937 -0.0234358 0.0330232 0.07 -0.02 pose: 0.66872546 5.96623 -2.14492 0 -0.0108775 -0.00934663 -0.697887 0.716065 uwb: 0.0 1030.41 419.59 -imu_odom_: 1691062820.793063559 0.699107 -0.229843 9.69652 -0.0468716 -0.00319579 0.0106526 0.06 -0.02 pose: 0.0 5.96623 -2.14492 0 -0.0108775 -0.00934663 -0.697887 0.716065 uwb: 0.0 1030.41 419.59 -imu_odom_: 1691062820.808975942 0.624887 -0.131681 9.85453 -0.0468716 -0.02024 0.0213053 0.06 -0.02 pose: 0.30940776 5.96623 -2.14492 0 -0.0106674 -0.0118119 -0.697875 0.716042 uwb: 0.50006762 1032.95 419.705 -imu_odom_: 1691062820.825893931 0.790087 -0.1652 9.97185 -0.0649811 0.00213053 0.0255663 0.06 0 pose: 0.15940965 5.96623 -2.14492 0 -0.0114395 -0.0115827 -0.697955 0.715956 uwb: 0.0 1032.95 419.705 -imu_odom_: 1691062820.843965101 0.670376 -0.292093 9.9096 -0.0447411 0.00106526 0.0298274 0.06 0 pose: 0.0 5.96623 -2.14492 0 -0.0114395 -0.0115827 -0.697955 0.715956 uwb: 0.49997721 1038.04 419.429 -imu_odom_: 1691062820.861022790 0.536301 -0.246603 9.97903 -0.0532632 0.0127832 0.0735032 0.06 0 pose: 0.0 5.96623 -2.14492 0 -0.0114395 -0.0115827 -0.697955 0.715956 uwb: 0.0 1038.04 419.429 -imu_odom_: 1691062820.877019459 0.447716 -0.392649 9.88805 -0.0500674 0.00106526 0.108657 0.05 0.02 pose: 0.31001439 5.95944 -2.15226 0 -0.0100653 -0.0116199 -0.698197 0.715741 uwb: 0.0 1038.04 419.429 -imu_odom_: 1691062820.895022675 0.565032 -0.181959 9.92157 -0.0458064 -0.02024 0.0980043 0.04 0.05 pose: 0.0 5.95944 -2.15226 0 -0.0100653 -0.0116199 -0.698197 0.715741 uwb: 0.49995680 1034.5 419.09 -imu_odom_: 1691062820.911874752 0.732626 -0.0861913 9.8665 -0.052198 -0.0127832 0.112918 0.04 0.05 pose: 0.69059624 5.96678 -2.15906 0 -0.00882994 -0.00768495 -0.697548 0.716443 uwb: 0.0 1034.5 419.09 -imu_odom_: 1691062820.926051821 0.744597 -0.220267 9.85693 -0.0575243 0.00213053 0.116114 0.04 0.05 pose: 0.0 5.96678 -2.15906 0 -0.00882994 -0.00768495 -0.697548 0.716443 uwb: 0.0 1034.5 419.09 -imu_odom_: 1691062820.950951084 0.553061 -0.265756 9.90242 -0.0543285 0.00106526 0.123571 0.03 0.02 pose: 0.0 5.96678 -2.15906 0 -0.00882994 -0.00768495 -0.697548 0.716443 uwb: 0.50072674 1033.47 419.312 -imu_odom_: 1691062820.967936735 -0.122104 -0.344765 9.72764 -0.0596548 0.0681769 0.0958738 0.03 0.02 pose: 0.32962197 5.96678 -2.15906 0 -0.00826052 -0.00970097 -0.696731 0.717219 uwb: 0.0 1033.47 419.312 -imu_odom_: 1691062820.984987717 -0.97444 0.0814029 9.98861 -0.0479369 0.0543285 -0.0298274 0.04 0.05 pose: 0.39948946 5.96678 -2.15906 0 -0.00767818 -0.00688667 -0.695624 0.718332 uwb: 0.0 1033.47 419.312 -imu_odom_: 1691062821.1900748 -1.16358 0.167594 9.48104 -0.0596548 -0.0319579 -0.136354 0.04 0.05 pose: 0.0 5.96678 -2.15906 0 -0.00767818 -0.00688667 -0.695624 0.718332 uwb: 0.49939392 1036.52 419.402 -imu_odom_: 1691062821.17939706 -0.215478 0.136469 10.2568 -0.0447411 -0.0671117 -0.251402 0.08 -0.29 pose: 0.43954166 5.9667 -2.15905 0 -0.00383049 -0.00374619 -0.696942 0.717107 uwb: 0.0 1036.52 419.402 -imu_odom_: 1691062821.35938548 0.426168 0.023942 10.0963 -0.0735032 -0.0681769 -0.285491 0.08 -0.29 pose: 0.0 5.9667 -2.15905 0 -0.00383049 -0.00374619 -0.696942 0.717107 uwb: 0.0 1036.52 419.402 -imu_odom_: 1691062821.53088982 0.318429 -0.148441 9.74201 -0.0532632 -0.0436758 -0.289752 0.08 -0.29 pose: 0.0 5.9667 -2.15905 0 -0.00383049 -0.00374619 -0.696942 0.717107 uwb: 0.49992764 1041.08 419.683 -imu_odom_: 1691062821.67059564 -0.191536 -0.263362 9.98861 -0.0394148 0.0223706 -0.318514 0.1 -0.41 pose: 0.8064976 5.96678 -2.15906 0 -0.00321347 -0.00368825 -0.697786 0.716289 uwb: 0.0 1041.08 419.683 -imu_odom_: 1691062821.83080149 -0.435745 0.143652 9.85453 -0.0575243 0.00532632 -0.36432 0.1 -0.38 pose: 0.0 5.96678 -2.15906 0 -0.00321347 -0.00368825 -0.697786 0.716289 uwb: 0.0 1041.08 419.683 -imu_odom_: 1691062821.98147333 -0.129287 0.179565 10.2113 -0.0617853 -0.0191748 -0.394148 0.1 -0.38 pose: 0.0 5.96678 -2.15906 0 -0.00321347 -0.00368825 -0.697786 0.716289 uwb: 0.50049052 1044.63 419.875 -imu_odom_: 1691062821.113974846 0.442927 -0.100556 10.082 -0.0777643 -0.0479369 -0.412257 0.1 -0.38 pose: 0.64185000 5.9673 -2.17321 0 0.00132562 -0.00246776 -0.705532 0.708673 uwb: 0.0 1044.63 419.875 -imu_odom_: 1691062821.131190609 0.565032 -0.318429 9.92397 -0.0777643 -0.0117179 -0.447411 0.1 -0.47 pose: 0.0 5.9673 -2.17321 0 0.00132562 -0.00246776 -0.705532 0.708673 uwb: 0.0 1044.63 419.875 -imu_odom_: 1691062821.148878261 -0.301669 -0.172383 9.56244 -0.0596548 0.0117179 -0.465521 0.1 -0.47 pose: 0.31053062 5.9673 -2.17321 0 0.00319349 -0.00248094 -0.710239 0.703949 uwb: 0.50135672 1042.11 419.545 -imu_odom_: 1691062821.165994864 0.567426 0.304064 10.3837 -0.0607201 -0.0287621 -0.488956 0.12 -0.55 pose: 0.43674475 5.96721 -2.1732 0 0.00223939 -0.00171284 -0.71769 0.696357 uwb: 0.0 1042.11 419.545 -imu_odom_: 1691062821.182995682 0.146046 -0.131681 9.2895 -0.0575243 0.00639159 -0.515588 0.12 -0.55 pose: 0.0 5.96721 -2.1732 0 0.00223939 -0.00171284 -0.71769 0.696357 uwb: 0.0 1042.11 419.545 -imu_odom_: 1691062821.200914612 0.342371 0.0622492 10.2041 -0.0703074 -0.0170442 -0.528371 0.12 -0.55 pose: 0.0 5.96721 -2.1732 0 0.00223939 -0.00171284 -0.71769 0.696357 uwb: 0.49930060 1045.65 420.001 -imu_odom_: 1691062821.217916013 0.445322 -0.126893 9.69173 -0.0756338 -0.00213053 -0.567786 0.13 -0.58 pose: 0.8130598 5.9673 -2.17321 0 0.00248208 -0.00250711 -0.719183 0.694812 uwb: 0.0 1045.65 420.001 -imu_odom_: 1691062821.233918224 0.703895 0.047884 10.4244 -0.0660464 -0.0820254 -0.569916 0.13 -0.61 pose: 0.0 5.9673 -2.17321 0 0.00248208 -0.00250711 -0.719183 0.694812 uwb: 0.0 1045.65 420.001 -imu_odom_: 1691062821.251917066 1.60412 -0.217872 9.62708 -0.0894822 -0.0213053 -0.52411 0.13 -0.61 pose: 0.66912212 5.96786 -2.18733 0 0.00328862 -0.00438915 -0.732363 0.680893 uwb: 0.49797068 1047.18 419.888 -imu_odom_: 1691062821.268916717 1.03908 -0.471658 9.77074 -0.0607201 0.00319579 -0.462325 0.11 -0.5 pose: 0.0 5.96786 -2.18733 0 0.00328862 -0.00438915 -0.732363 0.680893 uwb: 0.0 1047.18 419.888 -imu_odom_: 1691062821.285966240 1.04866 -0.263362 9.67018 -0.0575243 0.00532632 -0.42291 0.11 -0.5 pose: 0.0 5.96786 -2.18733 0 0.00328862 -0.00438915 -0.732363 0.680893 uwb: 0.0 1047.18 419.888 -imu_odom_: 1691062821.302904645 0.969652 -0.325611 10.0724 -0.0447411 0.00639159 -0.381365 0.11 -0.5 pose: 0.34939288 5.96786 -2.18733 0 0.000241745 -0.00658227 -0.739025 0.673645 uwb: 0.50187586 1047.16 420.145 -imu_odom_: 1691062821.318844735 0.603339 -0.035913 10.1059 -0.0585895 -0.0127832 -0.34408 0.11 -0.53 pose: 0.34058799 5.96109 -2.19469 0 -0.00274919 -0.00767634 -0.744321 0.667772 uwb: 0.0 1047.16 420.145 -imu_odom_: 1691062821.335838262 0.758962 -0.244209 9.77553 -0.0532632 -0.0149137 -0.313188 0.11 -0.53 pose: 0.0 5.96109 -2.19469 0 -0.00274919 -0.00767634 -0.744321 0.667772 uwb: 0.0 1047.16 420.145 -imu_odom_: 1691062821.353860435 0.691924 -0.201113 9.86411 -0.0532632 -0.00958738 -0.285491 0.06 -0.32 pose: 0.0 5.96109 -2.19469 0 -0.00274919 -0.00767634 -0.744321 0.667772 uwb: 0.50068301 1043.13 419.69 -imu_odom_: 1691062821.370860962 0.684742 -0.380678 9.63666 -0.0617853 -0.00852212 -0.252468 0.06 -0.32 pose: 0.42919104 5.96101 -2.19468 0 -0.00478221 -0.00982566 -0.749716 0.66167 uwb: 0.0 1043.13 419.69 -imu_odom_: 1691062821.387927984 0.751779 -0.287304 10.1562 -0.0596548 -0.00958738 -0.216249 0.06 -0.32 pose: 0.0 5.96101 -2.19468 0 -0.00478221 -0.00982566 -0.749716 0.66167 uwb: 0.0 1043.13 419.69 -imu_odom_: 1691062821.403963735 0.830788 -0.23942 9.77313 -0.0490022 -0.0117179 -0.209857 0.05 -0.26 pose: 0.8064102 5.96109 -2.19469 0 -0.00558373 -0.00992022 -0.750573 0.660689 uwb: 0.49922185 1042.6 419.957 -imu_odom_: 1691062821.421958202 0.816423 -0.251391 9.56244 -0.0490022 -0.0149137 -0.201335 0.05 -0.26 pose: 0.0 5.96109 -2.19469 0 -0.00558373 -0.00992022 -0.750573 0.660689 uwb: 0.0 1042.6 419.957 -imu_odom_: 1691062821.438897190 0.622492 -0.174777 10.0197 -0.056459 0.00745685 -0.18216 0.05 -0.26 pose: 0.0 5.96109 -2.19469 0 -0.00558373 -0.00992022 -0.750573 0.660689 uwb: 0.0 1042.6 419.957 -imu_odom_: 1691062821.452854356 0.679953 -0.356736 10.0963 -0.0649811 -0.0181095 -0.165116 0.04 -0.23 pose: 0.51025202 5.96848 -2.20142 0 -0.0103743 -0.00941755 -0.755227 0.655314 uwb: 0.49860064 1041.04 420.363 -imu_odom_: 1691062821.467836087 0.438139 -0.129287 9.77313 -0.0511327 -0.0181095 -0.165116 0.03 -0.14 pose: 0.0 5.96848 -2.20142 0 -0.0103743 -0.00941755 -0.755227 0.655314 uwb: 0.0 1041.04 420.363 -imu_odom_: 1691062821.486064165 0.696713 -0.244209 9.87129 -0.0607201 -0.0340885 -0.133158 0.03 -0.14 pose: 0.65047407 5.9617 -2.20877 0 -0.0113092 -0.00883644 -0.759994 0.649772 uwb: 0.0 1041.04 420.363 -imu_odom_: 1691062821.502832538 0.701501 -0.268151 9.81862 -0.0596548 -0.00532632 -0.102265 0.03 -0.11 pose: 0.0 5.9617 -2.20877 0 -0.0113092 -0.00883644 -0.759994 0.649772 uwb: 0.49890103 1044.06 420.726 -imu_odom_: 1691062821.516857367 0.677559 -0.445322 9.98143 -0.0511327 0.00426106 -0.092678 0.03 -0.11 pose: 0.0 5.9617 -2.20877 0 -0.0113092 -0.00883644 -0.759994 0.649772 uwb: 0.0 1044.06 420.726 -imu_odom_: 1691062821.531950507 0.617704 -0.203507 9.77074 -0.0543285 -0.00639159 -0.0852212 0.03 -0.11 pose: 0.32858079 5.9617 -2.20877 0 -0.0131079 -0.00827528 -0.761821 0.647602 uwb: 0.0 1044.06 420.726 -imu_odom_: 1691062821.549897727 0.694318 -0.148441 9.89524 -0.0532632 -0.0117179 -0.0649811 0.04 -0.17 pose: 0.39117455 5.96161 -2.20876 0 -0.0129666 -0.00666071 -0.763484 0.645662 uwb: 0.49923352 1045.06 420.944 -imu_odom_: 1691062821.566889212 0.646434 -0.220267 9.84256 -0.0617853 -0.00532632 -0.0479369 0.04 -0.17 pose: 0.7956484 5.9617 -2.20877 0 -0.0125317 -0.00734875 -0.76376 0.645337 uwb: 0.0 1045.06 420.944 -imu_odom_: 1691062821.580876419 0.579397 -0.282516 9.87608 -0.0553937 0 -0.0500674 0.04 -0.17 pose: 0.0 5.9617 -2.20877 0 -0.0125317 -0.00734875 -0.76376 0.645337 uwb: 0.0 1045.06 420.944 -imu_odom_: 1691062821.595896647 0.586579 -0.253785 9.93354 -0.0575243 -0.0149137 -0.0436758 0.01 -0.08 pose: 0.40969428 5.9617 -2.20877 0 -0.00997447 -0.00654065 -0.765016 0.643901 uwb: 0.50060135 1048.61 421.161 -imu_odom_: 1691062821.613843283 0.711078 -0.208296 9.89763 -0.056459 -0.00852212 -0.0213053 0.02 -0.05 pose: 0.0 5.9617 -2.20877 0 -0.00997447 -0.00654065 -0.765016 0.643901 uwb: 0.0 1048.61 421.161 -imu_odom_: 1691062821.630892515 0.727837 -0.335188 9.90481 -0.056459 -0.00426106 -0.00426106 0.02 -0.05 pose: 0.0 5.9617 -2.20877 0 -0.00997447 -0.00654065 -0.765016 0.643901 uwb: 0.0 1048.61 421.161 -imu_odom_: 1691062821.644821100 0.641646 -0.282516 9.8689 -0.0543285 -0.00319579 0.00426106 0.02 -0.05 pose: 0.23058373 5.9617 -2.20877 0 -0.00953724 -0.00610315 -0.76558 0.643241 uwb: 0.49923935 1044.04 421.007 -imu_odom_: 1691062821.659887408 0.629675 -0.198719 9.91678 -0.0543285 -0.00319579 0.0138484 0.01 -0.02 pose: 0.0 5.9617 -2.20877 0 -0.00953724 -0.00610315 -0.76558 0.643241 uwb: 0.0 1044.04 421.007 -imu_odom_: 1691062821.677832003 0.593762 -0.198719 9.87369 -0.0575243 -0.00745685 0.0234358 0.01 -0.02 pose: 0.0 5.9617 -2.20877 0 -0.00953724 -0.00610315 -0.76558 0.643241 uwb: 0.0 1044.04 421.007 -imu_odom_: 1691062821.691877539 0.687136 -0.220267 9.96946 -0.056459 -0.00958738 0.0266316 0 0 pose: 0.73897211 5.9617 -2.20877 0 -0.00869126 -0.00661218 -0.766398 0.642273 uwb: 0.0 1044.04 421.007 -imu_odom_: 1691062821.706837979 0.610521 -0.282516 9.8665 -0.0575243 -0.00106526 0.0415453 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00869126 -0.00661218 -0.766398 0.642273 uwb: 0.50240666 1045.07 420.968 -imu_odom_: 1691062821.721814460 0.481235 -0.31364 9.87608 -0.0532632 0.00958738 0.052198 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00869126 -0.00661218 -0.766398 0.642273 uwb: 0.0 1045.07 420.968 -imu_odom_: 1691062821.735891202 0.332794 -0.21069 9.92157 -0.0500674 0.00532632 0.0490022 0 0 pose: 0.6057263 5.9617 -2.20877 0 -0.00914403 -0.00703918 -0.766418 0.642238 uwb: 0.0 1045.07 420.968 -imu_odom_: 1691062821.750864766 0.31364 -0.124498 9.90481 -0.0543285 -0.00426106 0.0490022 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00914403 -0.00703918 -0.766418 0.642238 uwb: 0.49905562 1045.59 420.844 -imu_odom_: 1691062821.764834474 0.402226 -0.213084 9.87369 -0.0575243 -0.0106526 0.0426106 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00914403 -0.00703918 -0.766418 0.642238 uwb: 0.0 1045.59 420.844 -imu_odom_: 1691062821.778850845 0.514753 -0.208296 9.88326 -0.056459 -0.0138484 0.0330232 0 0 pose: 0.43930252 5.9617 -2.20877 0 -0.00869845 -0.00440172 -0.766362 0.642335 uwb: 0.0 1045.59 420.844 -imu_odom_: 1691062821.792830177 0.550666 -0.229843 9.88087 -0.0553937 -0.00745685 0.0340885 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00869845 -0.00440172 -0.766362 0.642335 uwb: 0.0 1045.59 420.844 -imu_odom_: 1691062821.807916317 0.509965 -0.282516 9.91439 -0.0543285 -0.00106526 0.0415453 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00869845 -0.00440172 -0.766362 0.642335 uwb: 0.49924518 1047.11 420.966 -imu_odom_: 1691062821.821909357 0.440533 -0.229843 9.88805 -0.0532632 0.00106526 0.0426106 0 0 pose: 0.43084176 5.9617 -2.20877 0 -0.00486054 -0.00339696 -0.766318 0.642434 uwb: 0.0 1047.11 420.966 -imu_odom_: 1691062821.835907646 0.407014 -0.167594 9.88087 -0.052198 -0.00106526 0.0415453 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00486054 -0.00339696 -0.766318 0.642434 uwb: 0.0 1047.11 420.966 -imu_odom_: 1691062821.850911833 0.40462 -0.174777 9.91678 -0.0532632 -0.00532632 0.04048 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00486054 -0.00339696 -0.766318 0.642434 uwb: 0.50088133 1037.48 420.734 -imu_odom_: 1691062821.864901372 0.517148 -0.232238 9.85453 -0.0543285 -0.00639159 0.036219 0 0 pose: 0.43150965 5.9617 -2.20877 0 -0.00541038 -0.00239486 -0.766338 0.642411 uwb: 0.0 1037.48 420.734 -imu_odom_: 1691062821.878966157 0.438139 -0.237026 9.90242 -0.0543285 -0.00426106 0.0372843 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00541038 -0.00239486 -0.766338 0.642411 uwb: 0.0 1037.48 420.734 -imu_odom_: 1691062821.893961303 0.457293 -0.232238 9.91439 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00541038 -0.00239486 -0.766338 0.642411 uwb: 0.49902062 1040.52 420.985 -imu_odom_: 1691062821.908966657 0.464475 -0.205901 9.92157 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.42773862 5.9617 -2.20877 0 -0.00231932 -0.00210313 -0.766336 0.642433 uwb: 0.0 1040.52 420.985 -imu_odom_: 1691062821.922913616 0.457293 -0.222661 9.88566 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00231932 -0.00210313 -0.766336 0.642433 uwb: 0.0 1040.52 420.985 -imu_odom_: 1691062821.937958342 0.474052 -0.215478 9.89524 -0.0543285 -0.00639159 0.0383495 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00231932 -0.00210313 -0.766336 0.642433 uwb: 0.0 1040.52 420.985 -imu_odom_: 1691062821.952859286 0.502782 -0.246603 9.84017 -0.052198 0 0.0394148 0 0 pose: 0.43144840 5.9617 -2.20877 0 -0.00349385 -0.00130802 -0.766347 0.642416 uwb: 0.49970598 1046.58 421.583 -imu_odom_: 1691062821.966848825 0.464475 -0.251391 9.90721 -0.0543285 -0.00213053 0.0394148 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00349385 -0.00130802 -0.766347 0.642416 uwb: 0.0 1046.58 421.583 -imu_odom_: 1691062821.981880136 0.466869 -0.189142 9.89045 -0.0553937 -0.00532632 0.0415453 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00349385 -0.00130802 -0.766347 0.642416 uwb: 0.0 1046.58 421.583 -imu_odom_: 1691062821.996828910 0.42138 -0.201113 9.91199 -0.0553937 -0.00745685 0.04048 0 0 pose: 0.43863172 5.9617 -2.20877 0 -0.00324542 -0.00209058 -0.76636 0.6424 uwb: 0.49970599 1043.03 421.472 -imu_odom_: 1691062822.10887278 0.466869 -0.225055 9.8689 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00324542 -0.00209058 -0.76636 0.6424 uwb: 0.0 1043.03 421.472 -imu_odom_: 1691062822.25799013 0.488417 -0.229843 9.91439 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00324542 -0.00209058 -0.76636 0.6424 uwb: 0.0 1043.03 421.472 -imu_odom_: 1691062822.40901487 0.466869 -0.246603 9.91678 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.44060327 5.9617 -2.20877 0 -0.00212072 -0.00171294 -0.766352 0.642415 uwb: 0.0 1043.03 421.472 -imu_odom_: 1691062822.54954314 0.490811 -0.215478 9.90481 -0.0543285 0 0.0415453 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00212072 -0.00171294 -0.766352 0.642415 uwb: 0.50070928 1044.55 421.517 -imu_odom_: 1691062822.69821427 0.442927 -0.208296 9.89524 -0.0543285 -0.00106526 0.04048 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00212072 -0.00171294 -0.766352 0.642415 uwb: 0.0 1044.55 421.517 -imu_odom_: 1691062822.84945774 0.440533 -0.21069 9.87369 -0.0543285 -0.00745685 0.04048 0 0 pose: 0.43903128 5.9617 -2.20877 0 -0.00385381 -0.00173425 -0.76635 0.642409 uwb: 0.0 1044.55 421.517 -imu_odom_: 1691062822.98950771 0.428562 -0.21069 9.88566 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00385381 -0.00173425 -0.76635 0.642409 uwb: 0.49916645 1040.48 421.477 -imu_odom_: 1691062822.113939793 0.457293 -0.205901 9.84496 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00385381 -0.00173425 -0.76635 0.642409 uwb: 0.0 1040.48 421.477 -imu_odom_: 1691062822.128079532 0.466869 -0.222661 9.87608 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.44046037 5.9617 -2.20877 0 -0.00151179 -0.00148912 -0.766344 0.642428 uwb: 0.0 1040.48 421.477 -imu_odom_: 1691062822.141938413 0.474052 -0.222661 9.87129 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00151179 -0.00148912 -0.766344 0.642428 uwb: 0.0 1040.48 421.477 -imu_odom_: 1691062822.156808442 0.428562 -0.189142 9.88566 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00151179 -0.00148912 -0.766344 0.642428 uwb: 0.50197211 1041.99 421.679 -imu_odom_: 1691062822.170928057 0.45011 -0.205901 9.90721 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.44251067 5.9617 -2.20877 0 -0.00247485 -0.00185142 -0.766336 0.642432 uwb: 0.0 1041.99 421.679 -imu_odom_: 1691062822.184854309 0.42138 -0.213084 9.88326 -0.0543285 -0.00639159 0.0372843 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00247485 -0.00185142 -0.766336 0.642432 uwb: 0.0 1041.99 421.679 -imu_odom_: 1691062822.206963365 0.490811 -0.258574 9.87369 -0.056459 -0.00213053 0.0383495 0 0 pose: 0.0 5.9617 -2.20877 0 -0.00247485 -0.00185142 -0.766336 0.642432 uwb: 0.49872898 1039.98 421.278 -imu_odom_: 1691062822.223956017 0.148441 -0.25618 9.80665 -0.0607201 0.0255663 0.0138484 0 0.02 pose: 0.42719033 5.9617 -2.20877 0 -0.0016029 -0.0018343 -0.766343 0.642428 uwb: 0.0 1039.98 421.278 -imu_odom_: 1691062822.240942544 -0.0814029 -0.158017 10.2783 -0.04048 0.0287621 -0.0830906 0.03 0.05 pose: 0.0 5.9617 -2.20877 0 -0.0016029 -0.0018343 -0.766343 0.642428 uwb: 0.0 1039.98 421.278 -imu_odom_: 1691062822.257890866 -1.16598 0.237026 9.70131 -0.0511327 0.0543285 -0.036219 0.03 0.05 pose: 0.69215951 5.9617 -2.20877 0 -0.0007962380.000865058 -0.766819 0.641863 uwb: 0.50043221 1041.51 421.338 -imu_odom_: 1691062822.275998785 -0.964863 -0.907402 9.93594 -0.076699 -0.0511327 0.102265 0.04 0.02 pose: 0.0 5.9617 -2.20877 0 -0.0007962380.000865058 -0.766819 0.641863 uwb: 0.0 1041.51 421.338 -imu_odom_: 1691062822.292879152 0.0837971 -0.612916 9.80426 -0.0490022 -0.0788296 0.0894822 0.04 0.02 pose: 0.0 5.9617 -2.20877 0 -0.0007962380.000865058 -0.766819 0.641863 uwb: 0.0 1041.51 421.338 -imu_odom_: 1691062822.309938300 0.454898 0.141258 9.66779 -0.036219 -0.0127832 0.0990696 0.04 0.02 pose: 0.33919392 5.9617 -2.20877 0 0.00219947 0.00300313 -0.767413 0.641142 uwb: 0.50115841 1037.96 421.165 -imu_odom_: 1691062822.326955743 0.263362 0.0622492 9.90721 -0.0553937 0.0234358 0.108657 0.06 0.08 pose: 0.34012719 5.9617 -2.20877 0 0.00195266 0.00435977 -0.766804 0.641864 uwb: 0.0 1037.96 421.165 -imu_odom_: 1691062822.343995059 -0.0790087 -0.167594 10.1754 -0.0458064 0.015979 0.0692422 0.06 0.08 pose: 0.0 5.9617 -2.20877 0 0.00195266 0.00435977 -0.766804 0.641864 uwb: 0.49918978 1044.04 421.313 -imu_odom_: 1691062822.358854880 0.0622492 -0.471658 10.0221 -0.0553937 -0.0106526 0.0713727 0.06 0.08 pose: 0.0 5.9617 -2.20877 0 0.00195266 0.00435977 -0.766804 0.641864 uwb: 0.0 1044.04 421.313 -imu_odom_: 1691062822.377018796 0.184354 -0.476446 9.94073 -0.0649811 -0.0138484 0.0777643 0.08 0.05 pose: 0.50931002 5.96222 -2.2229 0 0.00540676 0.00412609 -0.765991 0.642816 uwb: 0.0 1044.04 421.313 -imu_odom_: 1691062822.392847184 0.378284 -0.174777 9.9096 -0.0628506 -0.0276969 0.0681769 0.08 0.05 pose: 0.0 5.96222 -2.2229 0 0.00540676 0.00412609 -0.765991 0.642816 uwb: 0.0 1044.04 421.313 -imu_odom_: 1691062822.410861192 0.462081 -0.0550666 9.84735 -0.0639159 0.00319579 0.0798948 0.13 0.02 pose: 0.41951995 5.96222 -2.2229 0 0.00387522 0.00499355 -0.765551 0.643345 uwb: 0.50102717 1042.04 420.952 -imu_odom_: 1691062822.427023519 0.0981623 -0.208296 9.87129 -0.0383495 0.0127832 0.0511327 0.13 0.02 pose: 0.0 5.96222 -2.2229 0 0.00387522 0.00499355 -0.765551 0.643345 uwb: 0.0 1042.04 420.952 -imu_odom_: 1691062822.444927283 0.071826 -0.205901 9.9934 -0.0394148 -0.0223706 0.0447411 0.13 0.02 pose: 0.0 5.96222 -2.2229 0 0.00387522 0.00499355 -0.765551 0.643345 uwb: 0.49911687 1045.6 421.033 -imu_odom_: 1691062822.461986431 0.308852 -0.342371 9.75398 -0.0735032 0.00426106 0.0852212 0.11 0.02 pose: 0.8185136 5.96222 -2.2229 0 0.00382005 0.00422248 -0.765445 0.643476 uwb: 0.0 1045.6 421.033 -imu_odom_: 1691062822.474928659 0.435745 -0.337582 10.1251 -0.0490022 -0.00532632 0.0628506 0.11 0 pose: 0.0 5.96222 -2.2229 0 0.00382005 0.00422248 -0.765445 0.643476 uwb: 0.0 1045.6 421.033 -imu_odom_: 1691062822.490806628 0.737414 -0.146046 10.1299 -0.0607201 -0.0436758 0.0266316 0.11 0 pose: 0.66855051 5.95538 -2.2302 0 0.0044289 0.00584658 -0.764932 0.644069 uwb: 0.0 1045.6 421.033 -imu_odom_: 1691062822.508924463 1.13964 0.122104 9.6199 -0.0681769 -0.0553937 0.0617853 0.11 0 pose: 0.0 5.95538 -2.2302 0 0.0044289 0.00584658 -0.764932 0.644069 uwb: 0.50019598 1040.04 420.575 -imu_odom_: 1691062822.525920323 1.29047 -0.253785 9.98143 -0.0713727 -0.0106526 0.108657 0.14 0 pose: 0.0 5.95538 -2.2302 0 0.0044289 0.00584658 -0.764932 0.644069 uwb: 0.0 1040.04 420.575 -imu_odom_: 1691062822.539917737 1.21386 -0.691924 9.94312 -0.0596548 -0.0340885 0.105461 0.14 0 pose: 0.30947777 5.95538 -2.2302 0 0.00199185 0.00341479 -0.764905 0.644131 uwb: 0.0 1040.04 420.575 -imu_odom_: 1691062822.555928115 1.31202 -0.438139 9.88326 -0.036219 -0.0106526 0.0596548 0.07 -0.02 pose: 0.41082589 5.96268 -2.23703 0 -0.00169018 0.00100358 -0.764163 0.645021 uwb: 0.49925102 1039.54 420.376 -imu_odom_: 1691062822.570852099 1.24977 0.11971 9.93594 -0.0468716 0.00639159 0.0415453 0.07 -0.02 pose: 0.0 5.96268 -2.23703 0 -0.00169018 0.00100358 -0.764163 0.645021 uwb: 0.0 1039.54 420.376 -imu_odom_: 1691062822.587901039 0.797269 0.167594 9.91199 -0.0671117 0.0298274 0.0308927 0.07 -0.02 pose: 0.0 5.96268 -2.23703 0 -0.00169018 0.00100358 -0.764163 0.645021 uwb: 0.0 1039.54 420.376 -imu_odom_: 1691062822.601787335 0.706289 -0.112527 9.97424 -0.0639159 0.00106526 0.0245011 0.06 -0.02 pose: 0.7032247 5.96268 -2.23703 0 -0.00228308 0.000603325 -0.764117 0.645073 uwb: 0.50057220 1037.51 420.242 -imu_odom_: 1691062822.617791297 0.624887 -0.462081 9.88326 -0.056459 -0.015979 -0.00532632 0.06 -0.02 pose: 0.0 5.96268 -2.23703 0 -0.00228308 0.000603325 -0.764117 0.645073 uwb: 0.0 1037.51 420.242 -imu_odom_: 1691062822.634775491 0.907402 -0.222661 9.9934 -0.0490022 -0.0213053 -0.0117179 0.06 -0.02 pose: 0.0 5.96268 -2.23703 0 -0.00228308 0.000603325 -0.764117 0.645073 uwb: 0.0 1037.51 420.242 -imu_odom_: 1691062822.652827705 0.833182 -0.280122 9.79468 -0.0575243 0.00745685 0.0138484 0.05 0 pose: 0.46895451 5.95586 -2.24435 0 -0.00360714 -0.00321488 -0.764128 0.645046 uwb: 0.49999474 1040.57 420.259 -imu_odom_: 1691062822.669835523 0.782904 -0.332794 9.97424 -0.0607201 0.00958738 0.0213053 0.04 0 pose: 0.0 5.95586 -2.24435 0 -0.00360714 -0.00321488 -0.764128 0.645046 uwb: 0.0 1040.57 420.259 -imu_odom_: 1691062822.694758993 0.610521 -0.198719 9.95748 -0.0468716 0.00213053 -0.00532632 0.04 0 pose: 0.65971353 5.95586 -2.24435 0 -0.00894284 -0.0054748 -0.764832 0.644144 uwb: 0.50008806 1040.58 420.048 -imu_odom_: 1691062822.718909302 -0.622492 -0.158017 9.65821 -0.0436758 0.1012 0.015979 0.04 0 pose: 0.0 5.95586 -2.24435 0 -0.00894284 -0.0054748 -0.764832 0.644144 uwb: 0.0 1040.58 420.048 -imu_odom_: 1691062822.736885103 -1.1971 -0.380678 10.3717 -0.0468716 0.0415453 0.0585895 0.04 0 pose: 0.17044274 5.95586 -2.24435 0 -0.00928201 -0.00607613 -0.76499 0.643946 uwb: 0.0 1040.58 420.048 -imu_odom_: 1691062822.760914669 -0.550666 -0.169988 10.058 -0.0394148 -0.0809601 0.0692422 0.07 0.02 pose: 0.49978766 5.95586 -2.24435 0 -0.00406912 -0.00432326 -0.765429 0.643493 uwb: 0.49925394 1037.52 420.124 -imu_odom_: 1691062822.785790309 0.684742 -0.167594 10.0054 -0.0617853 -0.015979 0.0713727 0.07 0.02 pose: 0.0 5.95586 -2.24435 0 -0.00406912 -0.00432326 -0.765429 0.643493 uwb: 0.0 1037.52 420.124 -imu_odom_: 1691062822.810799524 0.181959 -0.277727 9.90481 -0.052198 0.0735032 0.04048 0.11 0.02 pose: 0.41977078 5.94901 -2.25163 0 -0.00244931 -0.00333001 -0.765065 0.64394 uwb: 0.50035055 1035.48 420.207 -imu_odom_: 1691062822.835915483 -0.237026 -0.0454898 9.46188 -0.0511327 0.0106526 0.0639159 0.11 0 pose: 0.41982618 5.95631 -2.25847 0 -0.00147779 -0.0019771 -0.764886 0.644161 uwb: 0.0 1035.48 420.207 -imu_odom_: 1691062822.851768662 -0.153229 -0.35913 9.72046 -0.052198 -0.0340885 0.0713727 0.11 0 pose: 0.0 5.95631 -2.25847 0 -0.00147779 -0.0019771 -0.764886 0.644161 uwb: 0.0 1035.48 420.207 -imu_odom_: 1691062822.877858437 0.620098 -0.126893 9.64624 -0.0447411 -0.0106526 0.0500674 0.11 0.02 pose: 0.7152115 5.95631 -2.25847 0 -0.000790132-0.00162866 -0.764832 0.644228 uwb: 0.0 1035.48 420.207 -imu_odom_: 1691062822.902838196 0.445322 -0.023942 10.0892 -0.052198 0.0138484 0.0436758 0.11 0.02 pose: 0.0 5.95631 -2.25847 0 -0.000790132-0.00162866 -0.764832 0.644228 uwb: 0.100112107 1038.5 420.329 -imu_odom_: 1691062822.919772810 -0.287304 0.047884 9.69652 -0.0703074 0.0234358 0.0884169 0.15 -0.02 pose: 0.41830378 5.95631 -2.25847 0 0.00120565 -0.000315201-0.764504 0.644618 uwb: 0.0 1038.5 420.329 -imu_odom_: 1691062822.944754902 0.596156 -0.37589 9.76595 -0.0575243 -0.00213053 0.02024 0.15 -0.02 pose: 0.0 5.95631 -2.25847 0 0.00120565 -0.000315201-0.764504 0.644618 uwb: 0.49846357 1032.91 420.315 -imu_odom_: 1691062822.969758284 0.169988 -0.0263362 9.94791 -0.0628506 -0.0138484 0.0617853 0.17 0.02 pose: 0.50007931 5.94948 -2.26578 0 0.0024451 -0.00352528 -0.764296 0.644852 uwb: 0.0 1032.91 420.315 -imu_odom_: 1691062822.993749061 -0.150835 -0.371101 9.74919 -0.0596548 -0.0191748 0.0543285 0.17 0.02 pose: 0.0 5.94948 -2.26578 0 0.0024451 -0.00352528 -0.764296 0.644852 uwb: 0.0 1032.91 420.315 -imu_odom_: 1691062823.17808375 0.706289 -0.0287304 10.149 -0.0383495 0.0138484 0.0330232 0.14 0 pose: 0.40984011 5.95679 -2.2726 0 0.00149519 -0.00236114 -0.764255 0.644908 uwb: 0.0 1032.91 420.315 -imu_odom_: 1691062823.34767196 0.6608 0.0143652 9.38766 -0.0639159 0.0415453 0.0639159 0.14 0 pose: 0.0 5.95679 -2.2726 0 0.00149519 -0.00236114 -0.764255 0.644908 uwb: 0.0 1032.91 420.315 -imu_odom_: 1691062823.59884030 0.248997 -0.189142 10.1299 -0.0777643 0.0138484 0.0447411 0.14 -0.02 pose: 0.50083760 5.94997 -2.27992 0 0.00388952 -0.000553554-0.764025 0.645175 uwb: 0.99871206 1029.02 419.566 -imu_odom_: 1691062823.76918680 0.0335188 -0.0909797 9.68933 -0.0479369 0.0308927 0.0340885 0.14 -0.02 pose: 0.0 5.94997 -2.27992 0 0.00388952 -0.000553554-0.764025 0.645175 uwb: 0.0 1029.02 419.566 -imu_odom_: 1691062823.100840920 0.282516 -0.294487 9.94312 -0.0639159 -0.0106526 0.0596548 0.15 0 pose: 0.42023451 5.94316 -2.28723 0 0.00329679 -0.00248781 -0.763907 0.645314 uwb: 0.49981684 1030.54 419.597 -imu_odom_: 1691062823.125828553 0.890643 -0.21069 10.2065 -0.0415453 -0.0426106 0.0276969 0.15 0 pose: 0.0 5.94316 -2.28723 0 0.00329679 -0.00248781 -0.763907 0.645314 uwb: 0.0 1030.54 419.597 -imu_odom_: 1691062823.151731091 -0.0143652 -0.0167594 10.1299 -0.0660464 0.0447411 0.0649811 0.15 0 pose: 0.41066258 5.95048 -2.29405 0 0.00545572 0.000867786 -0.763867 0.645351 uwb: 0.0 1030.54 419.597 -imu_odom_: 1691062823.175873525 0.507571 -0.153229 9.90002 -0.0617853 -0.00319579 0.0308927 0.18 -0.02 pose: 0.49866482 5.94367 -2.30137 0 0.00322565 0.00074357 -0.7638 0.645445 uwb: 0.0 1030.54 419.597 -imu_odom_: 1691062823.189874440 0.667982 0.0861913 9.78271 -0.0692422 -0.0213053 0.0468716 0.18 -0.02 pose: 0.0 5.94367 -2.30137 0 0.00322565 0.00074357 -0.7638 0.645445 uwb: 0.0 1030.54 419.597 -imu_odom_: 1691062823.214738414 0.373495 -0.294487 10.1131 -0.0671117 -0.00958738 0.0511327 0.18 -0.02 pose: 0.0 5.94367 -2.30137 0 0.00322565 0.00074357 -0.7638 0.645445 uwb: 0.100124358 1027.49 419.75 -imu_odom_: 1691062823.238895140 0.507571 -0.035913 10.1682 -0.04048 -0.0266316 0.0298274 0.15 0 pose: 0.63996306 5.94419 -2.3155 0 0.00252696 -0.000823833-0.763653 0.645622 uwb: 0.0 1027.49 419.75 -imu_odom_: 1691062823.254072859 0.385466 -0.129287 9.64624 -0.0681769 -0.0319579 0.0575243 0.15 0 pose: 0.0 5.94419 -2.3155 0 0.00252696 -0.000823833-0.763653 0.645622 uwb: 0.49873482 1028.51 419.776 -imu_odom_: 1691062823.277883688 0.553061 -0.122104 10.3406 -0.0660464 -0.0255663 0.0330232 0.16 -0.02 pose: 0.56262643 5.94072 -2.31924 0 0.00259305 -0.00266589 -0.763577 0.645706 uwb: 0.0 1028.51 419.776 -imu_odom_: 1691062823.302775953 0.529119 -0.1652 10.1035 -0.0575243 -0.0394148 0.0479369 0.16 -0.02 pose: 0.0 5.94072 -2.31924 0 0.00259305 -0.00266589 -0.763577 0.645706 uwb: 0.50055763 1033.07 419.83 -imu_odom_: 1691062823.325888282 0.88346 -0.222661 9.66539 -0.036219 -0.056459 0.0245011 0.17 0 pose: 0.7845365 5.93738 -2.32283 0 0.00196067 -0.00325545 -0.763592 0.645688 uwb: 0.0 1033.07 419.83 -imu_odom_: 1691062823.341759543 0.957681 -0.181959 10.2472 -0.0351537 -0.0415453 0.0372843 0.17 0 pose: 0.0 5.93738 -2.32283 0 0.00196067 -0.00325545 -0.763592 0.645688 uwb: 0.0 1033.07 419.83 -imu_odom_: 1691062823.367740826 0.835576 -0.368707 10.5656 -0.0532632 -0.0223706 0.056459 0.21 -0.02 pose: 0.47892892 5.94471 -2.32963 0 -0.00270577 -0.00614465 -0.76357 0.64569 uwb: 0.49964185 1031.53 420.05 -imu_odom_: 1691062823.393778689 0.919373 -0.179565 10.1035 -0.0490022 0.0596548 0.0426106 0.17 -0.02 pose: 0.39973740 5.9379 -2.33696 0 -0.0065601 -0.00861559 -0.763577 0.645626 uwb: 0.50012308 1035.05 420.628 -imu_odom_: 1691062823.410874585 0.0670376 -0.23942 9.91678 -0.0607201 -0.0500674 0.0426106 0.21 0.02 pose: 0.27014888 5.9379 -2.33696 0 -0.00889265 -0.00907936 -0.763442 0.645751 uwb: 0.0 1035.05 420.628 -imu_odom_: 1691062823.434887819 -0.189142 -0.0167594 9.76595 -0.0468716 -0.0276969 0.0436758 0.21 0.02 pose: 0.0 5.9379 -2.33696 0 -0.00889265 -0.00907936 -0.763442 0.645751 uwb: 0.0 1035.05 420.628 -imu_odom_: 1691062823.459821498 0.474052 -0.347159 9.47864 -0.0671117 -0.00852212 0.0617853 0.2 0 pose: 0.23978819 5.93843 -2.35109 0 -0.00932907 -0.00952025 -0.763411 0.645775 uwb: 0.50101843 1034.53 420.715 -imu_odom_: 1691062823.474930388 0.366313 -0.217872 9.8689 -0.0351537 -0.00213053 0.0340885 0.2 0 pose: 0.0 5.93843 -2.35109 0 -0.00932907 -0.00952025 -0.763411 0.645775 uwb: 0.0 1034.53 420.715 -imu_odom_: 1691062823.497861311 0.45011 -0.217872 9.85693 -0.0639159 0 0.0575243 0.17 0 pose: 0.42031616 5.93843 -2.35109 0 -0.00693096 -0.00723806 -0.763345 0.645914 uwb: 0.49855108 1035.01 421.12 -imu_odom_: 1691062823.515737369 0.0454898 -0.296881 9.94312 -0.0287621 -0.0308927 0.0298274 0.17 0 pose: 0.0 5.93843 -2.35109 0 -0.00693096 -0.00723806 -0.763345 0.645914 uwb: 0.0 1035.01 421.12 -imu_odom_: 1691062823.539729896 0.222661 -0.1652 10.1251 -0.0532632 -0.0255663 0.0607201 0.17 0 pose: 0.39089459 5.93163 -2.35843 0 -0.00530418 -0.00416321 -0.763222 0.646102 uwb: 0.0 1035.01 421.12 -imu_odom_: 1691062823.565704179 0.490811 -0.112527 10.2496 -0.0511327 -0.0330232 0.0426106 0.17 0 pose: 0.0 5.93163 -2.35843 0 -0.00530418 -0.00416321 -0.763222 0.646102 uwb: 0.50016099 1040.08 421.331 -imu_odom_: 1691062823.581764429 0.646434 0.124498 9.99579 -0.056459 -0.0213053 0.0468716 0.18 0 pose: 0.41862461 5.93896 -2.36522 0 -0.00231302 -0.00173257 -0.763143 0.646223 uwb: 0.0 1040.08 421.331 -imu_odom_: 1691062823.607739587 0.56982 -0.354342 9.59835 -0.0671117 0.00213053 0.0383495 0.18 0 pose: 0.0 5.93896 -2.36522 0 -0.00231302 -0.00173257 -0.763143 0.646223 uwb: 0.50042930 1040.57 421.53 -imu_odom_: 1691062823.621917824 0.105345 -0.100556 10.1131 -0.0649811 0.00426106 0.0511327 0.18 0.02 pose: 0.48952745 5.93217 -2.37256 0 -0.000762581-0.00469046 -0.76299 0.646393 uwb: 0.0 1040.57 421.53 -imu_odom_: 1691062823.646896126 0.407014 -0.581791 9.93594 -0.0958738 0.02024 0.0617853 0.18 0.02 pose: 0.0 5.93217 -2.37256 0 -0.000762581-0.00469046 -0.76299 0.646393 uwb: 0.49998600 1041.06 421.777 -imu_odom_: 1691062823.671989628 0.553061 -0.227449 9.97903 -0.0639159 -0.0245011 0.0553937 0.17 0 pose: 0.41049342 5.93271 -2.38669 0 -0.00250198 -0.00395026 -0.76295 0.646441 uwb: 0.0 1041.06 421.777 -imu_odom_: 1691062823.697934455 0.667982 -0.368707 9.79947 -0.0649811 -0.00213053 0.04048 0.17 0 pose: 0.40125397 5.92592 -2.39403 0 -0.00367264 -0.00134119 -0.762704 0.646735 uwb: 0.49938520 1042.56 422.074 -imu_odom_: 1691062823.714764659 0.0287304 -0.0167594 10.0533 -0.0266316 -0.00532632 0.0351537 0.18 -0.02 pose: 0.0 5.92592 -2.39403 0 -0.00367264 -0.00134119 -0.762704 0.646735 uwb: 0.0 1042.56 422.074 -imu_odom_: 1691062823.739703296 0.550666 -0.325611 9.71806 -0.0639159 -0.0191748 0.0617853 0.18 -0.02 pose: 0.0 5.92592 -2.39403 0 -0.00367264 -0.00134119 -0.762704 0.646735 uwb: 0.0 1042.56 422.074 -imu_odom_: 1691062823.761873598 0.835576 -0.124498 10.3477 -0.0447411 -0.0308927 0.0447411 0.18 0.02 pose: 0.51070119 5.93327 -2.40082 0 -0.00694201 -0.00257512 -0.762597 0.646831 uwb: 0.49982851 1042.06 421.919 -imu_odom_: 1691062823.786860648 0.605733 -0.220267 10.2065 -0.0479369 -0.0223706 0.0468716 0.18 0.02 pose: 0.40790358 5.92649 -2.40816 0 -0.0085619 -0.00200149 -0.762408 0.647037 uwb: 0.0 1042.06 421.919 -imu_odom_: 1691062823.811905737 0.701501 -0.0885855 10.647 -0.0660464 -0.052198 0.0575243 0.22 0.02 pose: 0.41110588 5.92688 -2.4178 0 -0.00811378 -0.00618223 -0.762334 0.647104 uwb: 0.50018140 1044.6 421.992 -imu_odom_: 1691062823.828901598 0.679953 -0.169988 9.79947 -0.0628506 0.0319579 0.0468716 0.22 0.02 pose: 0.0 5.92688 -2.4178 0 -0.00811378 -0.00618223 -0.762334 0.647104 uwb: 0.0 1044.6 421.992 -imu_odom_: 1691062823.854917879 0.519542 -0.220267 9.69412 -0.0415453 0.00426106 0.0330232 0.18 0 pose: 0.7905737 5.92706 -2.42229 0 -0.0081634 -0.00705307 -0.762288 0.647148 uwb: 0.50064804 1041.55 422.07 -imu_odom_: 1691062823.879853307 0.347159 -0.217872 9.7037 -0.072438 -0.0372843 0.0436758 0.18 0 pose: 0.24158766 5.92706 -2.42229 0 -0.00852863 -0.00945429 -0.762166 0.647256 uwb: 0.0 1041.55 422.07 -imu_odom_: 1691062823.896768381 0.354342 0.0550666 10.1323 -0.0255663 -0.0149137 0.0319579 0.18 0 pose: 0.0 5.92706 -2.42229 0 -0.00852863 -0.00945429 -0.762166 0.647256 uwb: 0.49988975 1044.59 422.132 -imu_odom_: 1691062823.921761556 0.605733 -0.287304 10.307 -0.0745685 -0.0213053 0.0383495 0.18 0 pose: 0.0 5.92706 -2.42229 0 -0.00852863 -0.00945429 -0.762166 0.647256 uwb: 0.0 1044.59 422.132 -imu_odom_: 1691062823.946900265 0.61531 -0.227449 10.2975 -0.04048 -0.0223706 0.0351537 0.18 0 pose: 0.43824969 5.92029 -2.42965 0 -0.00691508 -0.007509 -0.762207 0.647253 uwb: 0.50062763 1044.61 421.805 -imu_odom_: 1691062823.971924355 0.639252 -0.0981623 9.85453 -0.0511327 0.02024 0.0340885 0.18 0 pose: 0.84150145 5.92087 -2.44378 0 -0.00913523 -0.00688184 -0.762254 0.647177 uwb: 0.0 1044.61 421.805 -imu_odom_: 1691062823.988824263 0.397437 -0.0814029 10.1778 -0.0308927 -0.04048 0.04048 0.18 0 pose: 0.0 5.92087 -2.44378 0 -0.00913523 -0.00688184 -0.762254 0.647177 uwb: 0.0 1044.61 421.805 -imu_odom_: 1691062824.12705671 0.143652 -0.287304 9.6199 -0.0649811 -0.052198 0.0596548 0.2 0 pose: 0.7008915 5.92087 -2.44378 0 -0.00866507 -0.00741718 -0.762271 0.647157 uwb: 0.49932978 1046.12 422.064 -imu_odom_: 1691062824.38807989 0.397437 -0.246603 9.67018 -0.0585895 -0.0170442 0.0490022 0.2 0 pose: 0.0 5.92087 -2.44378 0 -0.00866507 -0.00741718 -0.762271 0.647157 uwb: 0.0 1046.12 422.064 -imu_odom_: 1691062824.51702678 0.217872 -0.0407014 10.2831 -0.0649811 -0.0394148 0.0692422 0.2 0 pose: 0.0 5.92087 -2.44378 0 -0.00866507 -0.00741718 -0.762271 0.647157 uwb: 0.50061014 1052.21 422.111 -imu_odom_: 1691062824.67939377 0.586579 -0.112527 9.79947 -0.0340885 -0.00852212 0.0852212 0.18 0 pose: 0.42932229 5.92144 -2.45791 0 -0.0056718 -0.0080538 -0.762278 0.647175 uwb: 0.0 1052.21 422.111 -imu_odom_: 1691062824.85751564 0.682347 -0.567426 9.8689 -0.0607201 -0.0276969 0.20027 0.18 0 pose: 0.0 5.92144 -2.45791 0 -0.0056718 -0.0080538 -0.762278 0.647175 uwb: 0.0 1052.21 422.111 -imu_odom_: 1691062824.102750342 0.634463 -0.634463 9.60793 -0.0756338 -0.0138484 0.247141 0.18 0.17 pose: 0.47869270 5.91467 -2.46527 0 -0.00361635 -0.00458184 -0.762063 0.647476 uwb: 0.49909648 1053.08 422.285 -imu_odom_: 1691062824.115743025 0.497994 -0.545878 9.52413 -0.0543285 0.0330232 0.270577 0.18 0.17 pose: 0.0 5.91467 -2.46527 0 -0.00361635 -0.00458184 -0.762063 0.647476 uwb: 0.0 1053.08 422.285 -imu_odom_: 1691062824.131740862 0.641646 -0.198719 10.2687 -0.0511327 0.0266316 0.329167 0.18 0.17 pose: 0.0 5.91467 -2.46527 0 -0.00361635 -0.00458184 -0.762063 0.647476 uwb: 0.0 1053.08 422.285 -imu_odom_: 1691062824.149751080 0.253785 -0.325611 9.90481 -0.0255663 -0.0745685 0.363255 0.26 0.44 pose: 0.49051616 5.92203 -2.47204 0 -0.00566327 -0.00493541 -0.760273 0.64956 uwb: 0.49932396 1056.6 422.737 -imu_odom_: 1691062824.166686570 1.01514 -0.402226 10.4004 -0.0340885 0.00426106 0.396278 0.26 0.44 pose: 0.0 5.92203 -2.47204 0 -0.00566327 -0.00493541 -0.760273 0.64956 uwb: 0.0 1056.6 422.737 -imu_odom_: 1691062824.179736999 0.73502 -0.047884 10.2783 -0.0671117 -0.0308927 0.456998 0.26 0.44 pose: 0.0 5.92203 -2.47204 0 -0.00566327 -0.00493541 -0.760273 0.64956 uwb: 0.0 1056.6 422.737 -imu_odom_: 1691062824.195683798 0.806846 -0.23942 9.95988 -0.076699 0.00958738 0.50387 0.17 0.41 pose: 0.45926010 5.91522 -2.47937 0 -0.00688839 -0.00406268 -0.756329 0.654143 uwb: 0.50010850 1055.61 422.452 -imu_odom_: 1691062824.212733906 0.627281 -0.497994 9.64384 -0.0798948 -0.00426106 0.509196 0.25 0.61 pose: 0.0 5.91522 -2.47937 0 -0.00688839 -0.00406268 -0.756329 0.654143 uwb: 0.0 1055.61 422.452 -imu_odom_: 1691062824.230735374 0.52433 0.0670376 9.10994 -0.0426106 -0.0298274 0.517718 0.25 0.61 pose: 0.64070678 5.91572 -2.4935 0 -0.00990308 -0.00573758 -0.747755 0.663876 uwb: 0.0 1055.61 422.452 -imu_odom_: 1691062824.243738848 0.672771 -0.37589 9.91918 -0.0862864 0.00213053 0.566721 0.25 0.61 pose: 0.0 5.91572 -2.4935 0 -0.00990308 -0.00573758 -0.747755 0.663876 uwb: 0.50047307 1058.14 422.7 -imu_odom_: 1691062824.259736977 0.76375 -0.361524 9.50977 -0.0862864 -0.0415453 0.594418 0.18 0.53 pose: 0.0 5.91572 -2.4935 0 -0.00990308 -0.00573758 -0.747755 0.663876 uwb: 0.0 1058.14 422.7 -imu_odom_: 1691062824.276669551 0.380678 -0.399832 10.2807 -0.0213053 -0.0245011 0.588026 0.18 0.53 pose: 0.32979700 5.90891 -2.50081 0 -0.00985196 -0.00585459 -0.742426 0.66983 uwb: 0.0 1058.14 422.7 -imu_odom_: 1691062824.294666352 0.593762 -0.632069 9.78271 -0.0330232 0.00639159 0.606135 0.18 0.58 pose: 0.39930868 5.91618 -2.50758 0 -0.0116809 -0.00448181 -0.735035 0.677913 uwb: 0.49918980 1057.63 422.697 -imu_odom_: 1691062824.307659619 0.517148 -0.280122 9.75158 -0.052198 -0.00639159 0.639159 0.18 0.58 pose: 0.0 5.91618 -2.50758 0 -0.0116809 -0.00448181 -0.735035 0.677913 uwb: 0.0 1057.63 422.697 -imu_odom_: 1691062824.322660891 0.500388 -0.47884 9.93594 -0.0500674 -0.0415453 0.641289 0.18 0.58 pose: 0.0 5.91618 -2.50758 0 -0.0116809 -0.00448181 -0.735035 0.677913 uwb: 0.0 1057.63 422.697 -imu_odom_: 1691062824.340870596 1.13246 -0.191536 9.8689 -0.0500674 -0.00532632 0.609331 0.23 0.67 pose: 0.8070810 5.91626 -2.50759 0 -0.0120819 -0.00384451 -0.733475 0.679598 uwb: 0.0 1057.63 422.697 -imu_odom_: 1691062824.357742506 1.02951 -0.205901 9.9096 -0.0511327 -0.0298274 0.614658 0.23 0.67 pose: 0.0 5.91626 -2.50759 0 -0.0120819 -0.00384451 -0.733475 0.679598 uwb: 0.50126052 1062.68 423.105 -imu_odom_: 1691062824.371814292 1.77889 -0.265756 10.4722 -0.0330232 -0.0660464 0.549676 0.23 0.67 pose: 0.0 5.91626 -2.50759 0 -0.0120819 -0.00384451 -0.733475 0.679598 uwb: 0.0 1062.68 423.105 -imu_odom_: 1691062824.387817671 1.42455 -0.177171 9.02614 -0.0458064 0.0149137 0.427171 0.12 0.35 pose: 0.45921052 5.90946 -2.51492 0 -0.0121485 -0.00208787 -0.72422 0.689459 uwb: 0.0 1062.68 423.105 -imu_odom_: 1691062824.404888777 1.40779 0.0909797 10.2208 -0.0585895 0.0553937 0.361125 0.17 0.5 pose: 0.0 5.90946 -2.51492 0 -0.0121485 -0.00208787 -0.72422 0.689459 uwb: 0.50023974 1061.68 422.88 -imu_odom_: 1691062824.422711464 1.06303 -0.0023942 9.71328 -0.0660464 0.02024 0.369647 0.17 0.5 pose: 0.65171071 5.91002 -2.52911 0 -0.0155471 -0.0077815 -0.713265 0.700679 uwb: 0.0 1061.68 422.88 -imu_odom_: 1691062824.435761311 0.56982 -0.483629 9.82341 -0.0553937 0.0490022 0.354733 0.17 0.5 pose: 0.0 5.91002 -2.52911 0 -0.0155471 -0.0077815 -0.713265 0.700679 uwb: 0.0 1061.68 422.88 -imu_odom_: 1691062824.451702860 0.627281 -0.263362 10.3286 -0.0426106 -0.02024 0.290817 0.11 0.32 pose: 0.0 5.91002 -2.52911 0 -0.0155471 -0.0077815 -0.713265 0.700679 uwb: 0.50010559 1065.22 423.174 -imu_odom_: 1691062824.468683555 0.758962 0.0885855 9.83059 -0.0436758 -0.0287621 0.250337 0.11 0.32 pose: 0.32940035 5.91002 -2.52911 0 -0.0155168 -0.00921797 -0.70952 0.704454 uwb: 0.0 1065.22 423.174 -imu_odom_: 1691062824.486713313 0.61531 -0.134075 10.0293 -0.0649811 0.0149137 0.28123 0.08 0.23 pose: 0.39911036 5.9138 -2.53266 0 -0.013032 -0.00947339 -0.706099 0.70793 uwb: 0.0 1065.22 423.174 -imu_odom_: 1691062824.500815139 0.931344 -0.560243 10.003 -0.0660464 -0.00639159 0.271642 0.08 0.23 pose: 0.0 5.9138 -2.53266 0 -0.013032 -0.00947339 -0.706099 0.70793 uwb: 0.50001517 1062.22 422.63 -imu_odom_: 1691062824.517806334 0.694318 -0.347159 9.8282 -0.0479369 0 0.245011 0.08 0.23 pose: 0.0 5.9138 -2.53266 0 -0.013032 -0.00947339 -0.706099 0.70793 uwb: 0.0 1062.22 422.63 -imu_odom_: 1691062824.533802421 0.770933 -0.0909797 9.991 -0.0479369 -0.00426106 0.251402 0.07 0.23 pose: 0.8064978 5.91739 -2.53587 0 -0.012212 -0.00947199 -0.705423 0.708618 uwb: 0.0 1062.22 422.63 -imu_odom_: 1691062824.551872135 0.766145 -0.134075 9.90481 -0.0585895 -0.00426106 0.259925 0.08 0.26 pose: 0.0 5.91739 -2.53587 0 -0.012212 -0.00947199 -0.705423 0.708618 uwb: 0.49971186 1062.22 422.56 -imu_odom_: 1691062824.566812744 0.773327 -0.306458 9.90481 -0.0532632 0 0.239684 0.08 0.26 pose: 0.65067243 5.9106 -2.5432 0 -0.0126282 -0.0100441 -0.700327 0.71364 uwb: 0.0 1062.22 422.56 -imu_odom_: 1691062824.583686987 0.773327 -0.196325 9.85932 -0.0500674 -0.00639159 0.207727 0.08 0.32 pose: 0.0 5.9106 -2.5432 0 -0.0126282 -0.0100441 -0.700327 0.71364 uwb: 0.0 1062.22 422.56 -imu_odom_: 1691062824.599809067 0.588974 -0.100556 9.85214 -0.0490022 0.00745685 0.224771 0.08 0.32 pose: 0.0 5.9106 -2.5432 0 -0.0126282 -0.0100441 -0.700327 0.71364 uwb: 0.50048473 1062.77 422.218 -imu_odom_: 1691062824.616795012 0.452504 -0.42138 9.95748 -0.0575243 -0.00106526 0.264186 0.08 0.32 pose: 0.33049987 5.9106 -2.5432 0 -0.0134731 -0.0114502 -0.697971 0.715908 uwb: 0.0 1062.77 422.218 -imu_odom_: 1691062824.632989421 0.555455 -0.438139 9.79468 -0.0436758 -0.0138484 0.259925 0.05 0.2 pose: 0.41929249 5.9106 -2.5432 0 -0.0113249 -0.0103073 -0.695036 0.718811 uwb: 0.0 1062.77 422.218 -imu_odom_: 1691062824.650824066 0.761356 -0.117316 9.94551 -0.0394148 -0.0117179 0.259925 0.05 0.2 pose: 0.8150139 5.9106 -2.5432 0 -0.0114814 -0.00955834 -0.694386 0.719447 uwb: 0.50084638 1062.77 422.218 -imu_odom_: 1691062824.666678995 0.706289 -0.169988 9.91199 -0.0511327 0.00319579 0.280165 0.05 0.2 pose: 0.0 5.9106 -2.5432 0 -0.0114814 -0.00955834 -0.694386 0.719447 uwb: 0.0 1062.77 422.218 -imu_odom_: 1691062824.683785391 0.624887 -0.296881 9.88805 -0.0543285 -0.00639159 0.272708 0.05 0.29 pose: 0.41733844 5.9106 -2.5432 0 -0.00990629 -0.0117557 -0.690976 0.722714 uwb: 0.0 1062.77 422.218 -imu_odom_: 1691062824.700816250 0.555455 -0.196325 9.85453 -0.0458064 0.00532632 0.262055 0.04 0.23 pose: 0.0 5.9106 -2.5432 0 -0.00990629 -0.0117557 -0.690976 0.722714 uwb: 0.49624123 1060.76 421.955 -imu_odom_: 1691062824.717660454 0.526724 -0.244209 9.94312 -0.052198 -0.00426106 0.270577 0.04 0.23 pose: 0.0 5.9106 -2.5432 0 -0.00990629 -0.0117557 -0.690976 0.722714 uwb: 0.0 1060.76 421.955 -imu_odom_: 1691062824.734696563 0.663194 -0.225055 9.88566 -0.0511327 -0.00639159 0.280165 0.03 0.2 pose: 0.25260618 5.9106 -2.5432 0 -0.00947263 -0.00959278 -0.688882 0.724748 uwb: 0.0 1060.76 421.955 -imu_odom_: 1691062824.750811060 0.648829 -0.296881 9.98143 -0.0511327 -0.00106526 0.276969 0.03 0.2 pose: 0.0 5.9106 -2.5432 0 -0.00947263 -0.00959278 -0.688882 0.724748 uwb: 0.50080846 1057.72 421.762 -imu_odom_: 1691062824.767888583 0.608127 -0.155623 9.85453 -0.0458064 -0.00106526 0.278034 0.03 0.2 pose: 0.33004490 5.91793 -2.55001 0 -0.00835311 -0.00815161 -0.686129 0.727386 uwb: 0.0 1057.72 421.762 -imu_odom_: 1691062824.783774135 0.691924 -0.215478 9.9096 -0.0490022 -0.0117179 0.272708 0.02 0.23 pose: 0.42944480 5.91784 -2.54999 0 -0.00848873 -0.00832602 -0.682391 0.730891 uwb: 0.0 1057.72 421.762 -imu_odom_: 1691062824.800652753 0.636858 -0.0526724 9.86411 -0.0468716 0.00639159 0.258859 0.02 0.23 pose: 0.7951817 5.91793 -2.55001 0 -0.00893786 -0.00902013 -0.681707 0.731515 uwb: 0.50122260 1055.7 421.611 -imu_odom_: 1691062824.816774250 0.624887 -0.186748 9.89524 -0.0575243 0.00319579 0.278034 0.02 0.23 pose: 0.0 5.91793 -2.55001 0 -0.00893786 -0.00902013 -0.681707 0.731515 uwb: 0.0 1055.7 421.611 -imu_odom_: 1691062824.832774712 0.627281 -0.332794 9.87608 -0.0532632 0.00958738 0.265251 0.02 0.29 pose: 0.40933850 5.91102 -2.5573 0 -0.00676951 -0.00933763 -0.678292 0.734702 uwb: 0.0 1055.7 421.611 -imu_odom_: 1691062824.848780133 0.502782 -0.181959 9.91199 -0.0468716 0.00532632 0.243946 0.01 0.2 pose: 0.0 5.91102 -2.5573 0 -0.00676951 -0.00933763 -0.678292 0.734702 uwb: 0.50013767 1057.71 421.808 -imu_odom_: 1691062824.864773595 0.402226 -0.122104 9.87129 -0.0532632 -0.00213053 0.236489 0.01 0.2 pose: 0.0 5.91102 -2.5573 0 -0.00676951 -0.00933763 -0.678292 0.734702 uwb: 0.0 1057.71 421.808 -imu_odom_: 1691062824.889696192 0.521936 -0.215478 9.9096 -0.0490022 -0.00639159 0.197074 0.01 0.17 pose: 0.23012294 5.9111 -2.55732 0 -0.00723566 -0.00781026 -0.676431 0.736429 uwb: 0.0 1057.71 421.808 -imu_odom_: 1691062824.905694904 0.0766145 -0.172383 9.75158 -0.0639159 0.0575243 0.176834 0.01 0.17 pose: 0.0 5.9111 -2.55732 0 -0.00723566 -0.00781026 -0.676431 0.736429 uwb: 0.50014641 1060.22 422.206 -imu_odom_: 1691062824.921735614 -0.845153 -0.129287 10.0006 -0.0660464 0.102265 0.125701 0.01 0.17 pose: 0.32971533 5.9111 -2.55732 0 -0.00464761 -0.00598019 -0.674152 0.738554 uwb: 0.0 1060.22 422.206 -imu_odom_: 1691062824.938617440 -1.58975 -0.0766145 9.88326 -0.0553937 -0.00426106 0.0809601 0.04 0.05 pose: 0.40950766 5.9111 -2.55732 0 -0.00177264 -0.00203026 -0.672113 0.740443 uwb: 0.0 1060.22 422.206 -imu_odom_: 1691062824.954620236 -0.675165 -0.229843 9.97664 -0.0553937 -0.0958738 0.0628506 0.04 0.05 pose: 0.0 5.9111 -2.55732 0 -0.00177264 -0.00203026 -0.672113 0.740443 uwb: 0.49755657 1058.17 422.35 -imu_odom_: 1691062824.971677635 0.31364 -0.423774 9.8258 -0.0458064 -0.0639159 0.0415453 0.09 -0.02 pose: 0.40911393 5.9111 -2.55732 0 0.000837158 0.0007083 -0.671464 0.741037 uwb: 0.0 1058.17 422.35 -imu_odom_: 1691062824.987677514 0.533907 -0.107739 10.1706 -0.0479369 -0.0266316 0.0596548 0.09 -0.02 pose: 0.0 5.9111 -2.55732 0 0.000837158 0.0007083 -0.671464 0.741037 uwb: 0.0 1058.17 422.35 -imu_odom_: 1691062825.4873447 0.37589 -0.174777 10.0676 -0.0575243 0.0149137 0.0351537 0.09 -0.02 pose: 0.0 5.9111 -2.55732 0 0.000837158 0.0007083 -0.671464 0.741037 uwb: 0.50012892 1057.71 421.832 -imu_odom_: 1691062825.20829579 -0.148441 0.0047884 9.72046 -0.052198 0.00319579 0.0330232 0.09 0 pose: 0.8060894 5.9111 -2.55732 0 0.000301555 0.00120335 -0.671458 0.741041 uwb: 0.0 1057.71 421.832 -imu_odom_: 1691062825.37699448 0 -0.21069 9.90721 -0.0649811 -0.0181095 0.0490022 0.13 0 pose: 0.0 5.9111 -2.55732 0 0.000301555 0.00120335 -0.671458 0.741041 uwb: 0.0 1057.71 421.832 -imu_odom_: 1691062825.53653830 0.241814 -0.387861 9.95748 -0.0607201 -0.00852212 0.0447411 0.13 0 pose: 0.66110474 5.91847 -2.56408 0 0.00331151 0.00130729 -0.671371 0.741113 uwb: 0.50073556 1052.14 421.445 -imu_odom_: 1691062825.70821764 0.416591 -0.177171 10.1586 -0.0703074 -0.00639159 0.0319579 0.14 0 pose: 0.0 5.91847 -2.56408 0 0.00331151 0.00130729 -0.671371 0.741113 uwb: 0.0 1052.14 421.445 -imu_odom_: 1691062825.86771480 0.277727 -0.304064 9.77553 -0.0649811 0.0181095 0.0426106 0.14 0 pose: 0.0 5.91847 -2.56408 0 0.00331151 0.00130729 -0.671371 0.741113 uwb: 0.0 1052.14 421.445 -imu_odom_: 1691062825.103704054 0.253785 -0.184354 9.84256 -0.0639159 -0.0127832 0.0351537 0.14 0 pose: 0.32989033 5.9117 -2.57145 0 0.00267801 0.00272054 -0.671337 0.741142 uwb: 0.50058098 1051.65 421.282 -imu_odom_: 1691062825.119770429 0.1652 -0.0023942 9.76834 -0.0426106 -0.0276969 0.0415453 0.13 0 pose: 0.41923417 5.9117 -2.57145 0 0.00354364 0.00403217 -0.671365 0.741107 uwb: 0.0 1051.65 421.282 -imu_odom_: 1691062825.135791307 0.117316 -0.150835 9.61033 -0.0447411 -0.02024 0.0458064 0.13 0 pose: 0.7069287 5.9117 -2.57145 0 0.00421767 0.00381722 -0.671357 0.741113 uwb: 0.0 1051.65 421.282 -imu_odom_: 1691062825.160828231 0.521936 -0.332794 9.81383 -0.0703074 0.00639159 0.0479369 0.12 0.02 pose: 0.0 5.9117 -2.57145 0 0.00421767 0.00381722 -0.671357 0.741113 uwb: 0.0 1051.65 421.282 -imu_odom_: 1691062825.177772762 0.349553 0.0167594 9.83299 -0.0479369 0.00639159 0.0319579 0.13 0 pose: 0.34141631 5.91907 -2.57821 0 0.00547159 0.00412632 -0.671279 0.741173 uwb: 0.0 1051.65 421.282 -imu_odom_: 1691062825.193784016 0.0526724 -0.260968 9.65342 -0.056459 0.0340885 -0.00958738 0.12 -0.11 pose: 0.0 5.91907 -2.57821 0 0.00547159 0.00412632 -0.671279 0.741173 uwb: 0.0 1051.65 421.282 -imu_odom_: 1691062825.210781336 -0.397437 -0.071826 9.72285 -0.0596548 -0.00639159 -0.0884169 0.12 -0.11 pose: 0.40980223 5.91231 -2.58558 0 0.00542044 0.00328352 -0.671425 0.741046 uwb: 0.100018495 1050.15 420.891 -imu_odom_: 1691062825.226766924 -0.361524 -0.0287304 10.0892 -0.0532632 -0.04048 -0.152333 0.13 -0.26 pose: 0.0 5.91231 -2.58558 0 0.00542044 0.00328352 -0.671425 0.741046 uwb: 0.0 1050.15 420.891 -imu_odom_: 1691062825.243714956 0.294487 0.059855 9.59117 -0.0628506 -0.0788296 -0.217314 0.13 -0.26 pose: 0.0 5.91231 -2.58558 0 0.00542044 0.00328352 -0.671425 0.741046 uwb: 0.0 1050.15 420.891 -imu_odom_: 1691062825.259762374 1.06781 -0.0502782 10.1442 -0.0745685 -0.0479369 -0.273773 0.13 -0.26 pose: 0.32886081 5.91231 -2.58558 0 0.00769698 0.0055283 -0.672928 0.739648 uwb: 0.49924232 1051.7 420.697 -imu_odom_: 1691062825.276824148 0.471658 -0.0646434 9.58878 -0.0628506 0.0117179 -0.34408 0.19 -0.53 pose: 0.40981098 5.91963 -2.59229 0 0.00729289 0.00254529 -0.676947 0.735991 uwb: 0.0 1051.7 420.697 -imu_odom_: 1691062825.292818778 0.258574 0.155623 10.2376 -0.0628506 -0.00319579 -0.38243 0.19 -0.53 pose: 0.8071977 5.91971 -2.5923 0 0.00702954 0.0018666 -0.678084 0.734948 uwb: 0.0 1051.7 420.697 -imu_odom_: 1691062825.309741144 0.277727 -0.100556 10.0676 -0.0809601 -0.00532632 -0.429302 0.19 -0.53 pose: 0.0 5.91971 -2.5923 0 0.00702954 0.0018666 -0.678084 0.734948 uwb: 0.50125761 1050.7 420.468 -imu_odom_: 1691062825.325742481 0.162806 -0.0670376 10.0197 -0.0649811 -0.0287621 -0.458064 0.14 -0.5 pose: 0.41906793 5.91295 -2.59973 0 0.00907125 0.00156866 -0.684704 0.728763 uwb: 0.0 1050.7 420.468 -imu_odom_: 1691062825.342803964 0.799663 -0.299275 9.90242 -0.0830906 -0.00213053 -0.478304 0.2 -0.64 pose: 0.0 5.91295 -2.59973 0 0.00907125 0.00156866 -0.684704 0.728763 uwb: 0.0 1050.7 420.468 -imu_odom_: 1691062825.358612521 0.418985 -0.3304 9.76116 -0.0735032 -0.0245011 -0.499609 0.2 -0.64 pose: 0.0 5.91295 -2.59973 0 0.00907125 0.00156866 -0.684704 0.728763 uwb: 0.49992769 1048.68 420.224 -imu_odom_: 1691062825.375664671 0.184354 0.208296 10.0533 -0.0628506 -0.0415453 -0.516653 0.2 -0.64 pose: 0.24129894 5.91303 -2.59974 0 0.00952031 0.00192697 -0.689124 0.724578 uwb: 0.0 1048.68 420.224 -imu_odom_: 1691062825.391718506 0.612916 0.0023942 10.1825 -0.0639159 -0.00532632 -0.534763 0.2 -0.7 pose: 0.0 5.91303 -2.59974 0 0.00952031 0.00192697 -0.689124 0.724578 uwb: 0.0 1048.68 420.224 -imu_odom_: 1691062825.408725158 0.260968 -0.124498 9.78271 -0.0458064 -0.0458064 -0.549676 0.2 -0.7 pose: 0.32752797 5.92048 -2.60642 0 0.00742383 0.00142635 -0.695487 0.718499 uwb: 0.49953397 1048.18 420.182 -imu_odom_: 1691062825.424665833 0.742203 -0.227449 9.29669 -0.0692422 -0.0127832 -0.583765 0.15 -0.58 pose: 0.42101323 5.91366 -2.6138 0 0.00786232 0.000808781 -0.704152 0.710005 uwb: 0.0 1048.18 420.182 -imu_odom_: 1691062825.441660820 0.888249 -0.0933739 10.4914 -0.0735032 -0.0479369 -0.56246 0.15 -0.58 pose: 0.0 5.91366 -2.6138 0 0.00786232 0.000808781 -0.704152 0.710005 uwb: 0.0 1048.18 420.182 -imu_odom_: 1691062825.457660407 1.06303 -0.25618 9.69652 -0.0660464 -0.0681769 -0.52198 0.15 -0.58 pose: 0.0 5.91366 -2.6138 0 0.00786232 0.000808781 -0.704152 0.710005 uwb: 0.49916357 1046.67 419.847 -imu_odom_: 1691062825.474594148 1.54426 -0.129287 10.2472 -0.0479369 -0.0234358 -0.50174 0.17 -0.67 pose: 0.7886488 5.91374 -2.61381 0 0.00713024 0.000423047 -0.705897 0.708279 uwb: 0.0 1046.67 419.847 -imu_odom_: 1691062825.490652357 1.51792 -0.268151 9.54808 -0.072438 0.00213053 -0.46339 0.11 -0.41 pose: 0.0 5.91374 -2.61381 0 0.00713024 0.000423047 -0.705897 0.708279 uwb: 0.0 1046.67 419.847 -imu_odom_: 1691062825.507585514 1.4054 -0.220267 10.1897 -0.076699 0.02024 -0.383495 0.11 -0.41 pose: 0.66051270 5.91442 -2.62795 0 0.0011989 -0.00429123 -0.719034 0.694961 uwb: 0.50117303 1048.2 419.83 -imu_odom_: 1691062825.524644080 1.02711 -0.572214 10.0317 -0.0468716 0.0617853 -0.350472 0.1 -0.38 pose: 0.0 5.91442 -2.62795 0 0.0011989 -0.00429123 -0.719034 0.694961 uwb: 0.0 1048.2 419.83 -imu_odom_: 1691062825.540585629 0.950498 -0.251391 9.92397 -0.0628506 0.0213053 -0.307861 0.1 -0.38 pose: 0.0 5.91442 -2.62795 0 0.0011989 -0.00429123 -0.719034 0.694961 uwb: 0.0 1048.2 419.83 -imu_odom_: 1691062825.556640630 0.715866 -0.198719 9.77074 -0.0532632 0.0436758 -0.299339 0.1 -0.38 pose: 0.32928370 5.91442 -2.62795 0 -0.00131041 -0.00541336 -0.723971 0.689808 uwb: 0.50002685 1050.23 419.956 -imu_odom_: 1691062825.573617826 0.629675 -0.047884 10.1155 -0.0553937 -0.00852212 -0.265251 0.1 -0.35 pose: 0.41049344 5.91434 -2.62794 0 -0.00418307 -0.00669041 -0.728933 0.684539 uwb: 0.0 1050.23 419.956 -imu_odom_: 1691062825.591639710 0.749385 -0.414197 10.003 -0.0575243 0.00213053 -0.223706 0.1 -0.35 pose: 0.8004606 5.91442 -2.62795 0 -0.00400878 -0.00748869 -0.729767 0.683643 uwb: 0.0 1050.23 419.956 -imu_odom_: 1691062825.606580903 0.897826 -0.356736 9.72046 -0.0458064 -0.0106526 -0.229032 0.1 -0.35 pose: 0.0 5.91442 -2.62795 0 -0.00400878 -0.00748869 -0.729767 0.683643 uwb: 0.49928023 1050.23 420.003 -imu_odom_: 1691062825.624577996 0.804452 -0.205901 9.68933 -0.0532632 0.00319579 -0.209857 0.06 -0.23 pose: 0.41935667 5.91828 -2.63858 0 -0.00694686 -0.00834729 -0.733653 0.679438 uwb: 0.0 1050.23 420.003 -imu_odom_: 1691062825.642618254 0.691924 -0.311246 9.81144 -0.0596548 -0.00426106 -0.167247 0.05 -0.2 pose: 0.0 5.91828 -2.63858 0 -0.00694686 -0.00834729 -0.733653 0.679438 uwb: 0.0 1050.23 420.003 -imu_odom_: 1691062825.656612170 0.505177 -0.31364 9.87848 -0.0596548 0.0138484 -0.167247 0.05 -0.2 pose: 0.0 5.91828 -2.63858 0 -0.00694686 -0.00834729 -0.733653 0.679438 uwb: 0.49950480 1050.73 420.117 -imu_odom_: 1691062825.674671384 0.497994 -0.265756 10.1179 -0.0490022 -0.0138484 -0.169377 0.05 -0.17 pose: 0.26005782 5.91511 -2.64207 0 -0.00901544 -0.00906396 -0.73571 0.677176 uwb: 0.0 1050.73 420.117 -imu_odom_: 1691062825.690735427 0.567426 -0.0622492 9.70849 -0.0639159 -0.0213053 -0.142745 0.05 -0.17 pose: 0.0 5.91511 -2.64207 0 -0.00901544 -0.00906396 -0.73571 0.677176 uwb: 0.0 1050.73 420.117 -imu_odom_: 1691062825.707667417 0.754174 -0.337582 9.93354 -0.0596548 -0.0138484 -0.117179 0.05 -0.17 pose: 0.32093378 5.91511 -2.64207 0 -0.0089657 -0.00657242 -0.737958 0.674755 uwb: 0.0 1050.73 420.117 -imu_odom_: 1691062825.723717168 0.768539 -0.294487 9.99819 -0.056459 -0.0319579 -0.0990696 0.04 -0.14 pose: 0.42987354 5.91511 -2.64207 0 -0.00902849 -0.00699597 -0.740539 0.671916 uwb: 0.0 1050.73 420.117 -imu_odom_: 1691062825.741744302 0.739808 -0.361524 9.60075 -0.0532632 0.00852212 -0.1012 0.04 -0.14 pose: 0.8141390 5.91511 -2.64207 0 -0.00988396 -0.00732847 -0.740908 0.671494 uwb: 0.0 1050.73 420.117 -imu_odom_: 1691062825.758792077 0.746991 -0.1652 9.98622 -0.0585895 -0.0149137 -0.0916127 0.04 -0.14 pose: 0.0 5.91511 -2.64207 0 -0.00988396 -0.00732847 -0.740908 0.671494 uwb: 0.99988455 1048.72 419.756 -imu_odom_: 1691062825.774667130 0.632069 -0.208296 9.8282 -0.0575243 -0.00319579 -0.0830906 0.04 -0.11 pose: 0.33957891 5.91511 -2.64207 0 -0.0122707 -0.00807311 -0.74245 0.669741 uwb: 0.0 1048.72 419.756 -imu_odom_: 1691062825.791604954 0.691924 -0.251391 9.93115 -0.0607201 -0.0191748 -0.072438 0.03 -0.11 pose: 0.0 5.91511 -2.64207 0 -0.0122707 -0.00807311 -0.74245 0.669741 uwb: 0.0 1048.72 419.756 -imu_odom_: 1691062825.808595857 0.617704 -0.234632 9.81144 -0.0575243 -0.00958738 -0.0649811 0.03 -0.11 pose: 0.0 5.91511 -2.64207 0 -0.0122707 -0.00807311 -0.74245 0.669741 uwb: 0.50058973 1050.76 419.86 -imu_odom_: 1691062825.824647067 0.658405 -0.258574 9.88326 -0.0543285 -0.0106526 -0.0468716 0.03 -0.11 pose: 0.32850792 5.91511 -2.64207 0 -0.0114474 -0.00855762 -0.743809 0.66824 uwb: 0.0 1050.76 419.86 -imu_odom_: 1691062825.841640887 0.730232 -0.241814 9.9096 -0.0575243 -0.00745685 -0.0319579 0.03 -0.11 pose: 0.0 5.91511 -2.64207 0 -0.0114474 -0.00855762 -0.743809 0.66824 uwb: 0.0 1050.76 419.86 -imu_odom_: 1691062825.857585353 0.68953 -0.253785 9.85453 -0.056459 0 -0.0213053 0.03 -0.11 pose: 0.33031905 5.91511 -2.64207 0 -0.0112348 -0.00708802 -0.744942 0.666997 uwb: 0.49854819 1057.86 420.36 -imu_odom_: 1691062825.873624313 0.636858 -0.265756 9.91678 -0.0532632 -0.00106526 -0.0181095 0.01 0 pose: 0.41935958 5.91511 -2.64207 0 -0.0121626 -0.00940911 -0.745923 0.665855 uwb: 0.0 1057.86 420.36 -imu_odom_: 1691062825.890564470 0.617704 -0.208296 9.84496 -0.0543285 -0.0106526 -0.00852212 0.01 0 pose: 0.6998999 5.91511 -2.64207 0 -0.0118611 -0.00877071 -0.746061 0.665715 uwb: 0.0 1057.86 420.36 -imu_odom_: 1691062825.906718340 0.648829 -0.229843 9.88805 -0.0575243 -0.00532632 0.00852212 0.01 0 pose: 0.0 5.91511 -2.64207 0 -0.0118611 -0.00877071 -0.746061 0.665715 uwb: 0.50005019 1057.86 420.36 -imu_odom_: 1691062825.922718511 0.624887 -0.275333 9.89524 -0.0553937 0.00426106 0.0223706 0.01 -0.02 pose: 0.42133988 5.91511 -2.64207 0 -0.0113297 -0.00720252 -0.746677 0.665051 uwb: 0.0 1057.86 420.36 -imu_odom_: 1691062825.938778179 0.579397 -0.323217 9.95509 -0.052198 -0.00319579 0.0447411 0 0.02 pose: 0.0 5.91511 -2.64207 0 -0.0113297 -0.00720252 -0.746677 0.665051 uwb: 0.0 1057.86 420.36 -imu_odom_: 1691062825.954756184 0.593762 -0.299275 9.79707 -0.0553937 0.00106526 0.0596548 0 0.02 pose: 0.0 5.91511 -2.64207 0 -0.0113297 -0.00720252 -0.746677 0.665051 uwb: 0.49939106 1060.39 420.665 -imu_odom_: 1691062825.970716982 0.533907 -0.253785 9.90242 -0.0511327 0.00639159 0.0585895 0 0.02 pose: 0.23923699 5.91511 -2.64207 0 -0.0106016 -0.00488977 -0.746758 0.664993 uwb: 0.0 1060.39 420.665 -imu_odom_: 1691062825.992729503 0.42138 -0.136469 9.89524 -0.0532632 -0.00426106 0.0383495 0 0.02 pose: 0.0 5.91511 -2.64207 0 -0.0106016 -0.00488977 -0.746758 0.664993 uwb: 0.0 1060.39 420.665 -imu_odom_: 1691062826.9731781 -0.248997 -0.19393 9.71806 -0.0543285 0.0671117 0.0447411 0 0.02 pose: 0.32096586 5.91511 -2.64207 0 -0.00915808 -0.00260921 -0.746591 0.665215 uwb: 0.50008226 1058.39 420.247 -imu_odom_: 1691062826.25657582 -0.979228 -0.316035 10.0844 -0.04048 0.0713727 0.0532632 0 0.02 pose: 0.37887574 5.91511 -2.64207 0 -0.00527375 -0.00223138 -0.746564 0.665289 uwb: 0.0 1058.39 420.247 -imu_odom_: 1691062826.42715857 -1.10852 -0.308852 9.99819 -0.052198 -0.0351537 0.0532632 0 0.02 pose: 0.0 5.91511 -2.64207 0 -0.00527375 -0.00223138 -0.746564 0.665289 uwb: 0.0 1058.39 420.247 -imu_odom_: 1691062826.60664829 -0.241814 0 9.75637 -0.0532632 -0.0660464 0.0703074 0.04 0.05 pose: 0.0 5.91511 -2.64207 0 -0.00527375 -0.00223138 -0.746564 0.665289 uwb: 0.49972938 1065.51 420.607 -imu_odom_: 1691062826.75823592 0.368707 -0.294487 10.0173 -0.0490022 -0.0394148 0.0756338 0.04 0.05 pose: 0.42089658 5.91172 -2.64574 0 -0.00158604 0.000949665 -0.746405 0.66549 uwb: 0.0 1065.51 420.607 -imu_odom_: 1691062826.92639798 0.47884 -0.306458 9.96467 -0.0628506 -0.00852212 0.0596548 0.04 0.05 pose: 0.0 5.91172 -2.64574 0 -0.00158604 0.000949665 -0.746405 0.66549 uwb: 0.0 1065.51 420.607 -imu_odom_: 1691062826.108588056 -0.00957681-0.272939 9.63427 -0.0426106 0.0276969 0.0617853 0.07 0.05 pose: 0.9018088 5.90832 -2.64942 0 -0.0009443980.00108013 -0.746312 0.665595 uwb: 0.50170677 1072.57 421.521 -imu_odom_: 1691062826.124767300 -0.0311246 -0.287304 10.0772 -0.0553937 0.00319579 0.0628506 0.07 0.05 pose: 0.0 5.90832 -2.64942 0 -0.0009443980.00108013 -0.746312 0.665595 uwb: 0.0 1072.57 421.521 -imu_odom_: 1691062826.141772786 0.011971 -0.373495 9.69891 -0.0575243 0 0.0660464 0.07 0.05 pose: 0.0 5.90832 -2.64942 0 -0.0009443980.00108013 -0.746312 0.665595 uwb: 0.0 1072.57 421.521 -imu_odom_: 1691062826.157711711 0.138864 -0.292093 10.0054 -0.0426106 -0.02024 0.0628506 0.12 0 pose: 0.47986515 5.91566 -2.6562 0 -0.00202651 0.00246736 -0.745871 0.666083 uwb: 0.50147344 1074.09 421.619 -imu_odom_: 1691062826.173595223 0.25618 -0.0622492 9.79707 -0.0372843 -0.0426106 0.0543285 0.09 0.02 pose: 0.0 5.91566 -2.6562 0 -0.00202651 0.00246736 -0.745871 0.666083 uwb: 0.0 1074.09 421.619 -imu_odom_: 1691062826.191767307 0.402226 -0.114922 9.86172 -0.0490022 -0.0170442 0.072438 0.09 0.02 pose: 0.65945402 5.91566 -2.6562 0 0.00260028 0.0060038 -0.745341 0.666652 uwb: 0.0 1074.09 421.619 -imu_odom_: 1691062826.209565204 0.280122 -0.562637 9.82341 -0.0553937 0.0106526 0.0639159 0.1 0.02 pose: 0.0 5.91566 -2.6562 0 0.00260028 0.0060038 -0.745341 0.666652 uwb: 0.49867361 1076.59 422.158 -imu_odom_: 1691062826.222561096 0.19393 -0.328006 9.83299 -0.0415453 0.015979 0.0394148 0.1 0.02 pose: 0.0 5.91566 -2.6562 0 0.00260028 0.0060038 -0.745341 0.666652 uwb: 0.0 1076.59 422.158 -imu_odom_: 1691062826.237612824 0.328006 -0.011971 9.88087 -0.0447411 0.00213053 0.0436758 0.1 0.02 pose: 0.34064637 5.9089 -2.66357 0 0.00272846 0.00407938 -0.74504 0.667002 uwb: 0.0 1076.59 422.158 -imu_odom_: 1691062826.255557130 0.328006 0.100556 10.3621 -0.0703074 -0.0106526 0.076699 0.15 0.02 pose: 0.37882325 5.91236 -2.66675 0 0.00360808 0.00488571 -0.744935 0.66711 uwb: 0.49993062 1076.1 422.021 -imu_odom_: 1691062826.272553867 0.888249 -0.526724 10.4555 -0.0436758 -0.0117179 0.0383495 0.15 0.02 pose: 0.7938110 5.91627 -2.67033 0 0.00399531 0.00425342 -0.744834 0.667224 uwb: 0.0 1076.1 422.021 -imu_odom_: 1691062826.286541658 1.21386 -0.114922 9.60793 -0.052198 -0.0436758 0.0340885 0.15 0.02 pose: 0.0 5.91627 -2.67033 0 0.00399531 0.00425342 -0.744834 0.667224 uwb: 0.0 1076.1 422.021 -imu_odom_: 1691062826.302553787 1.16119 -0.134075 9.64384 -0.052198 0.00852212 0.0777643 0.09 -0.02 pose: 0.40990724 5.91627 -2.67033 0 0.00173369 0.00168321 -0.744752 0.667337 uwb: 0.49998312 1076.06 422.277 -imu_odom_: 1691062826.318609080 1.20668 -0.246603 10.3525 -0.0607201 -0.0181095 0.123571 0.12 -0.02 pose: 0.0 5.91627 -2.67033 0 0.00173369 0.00168321 -0.744752 0.667337 uwb: 0.0 1076.06 422.277 -imu_odom_: 1691062826.332591913 1.11809 -0.316035 9.58399 -0.0639159 -0.0394148 0.129962 0.12 -0.02 pose: 0.0 5.91627 -2.67033 0 0.00173369 0.00168321 -0.744752 0.667337 uwb: 0.0 1076.06 422.277 -imu_odom_: 1691062826.347552063 1.33596 -0.344765 9.67018 -0.0468716 -0.00532632 0.0937433 0.12 -0.02 pose: 0.23061292 5.90952 -2.67771 0 0.000156787 7.93153e-05 -0.744352 0.667787 uwb: 0.50025435 1077.6 422.339 -imu_odom_: 1691062826.364753246 0.931344 -0.0957681 9.9096 -0.0553937 0.0415453 0.0703074 0.06 -0.02 pose: 0.0 5.90952 -2.67771 0 0.000156787 7.93153e-05 -0.744352 0.667787 uwb: 0.0 1077.6 422.339 -imu_odom_: 1691062826.381708278 0.514753 -0.186748 10.1825 -0.0553937 0.0213053 0.0426106 0.06 -0.02 pose: 0.0 5.90952 -2.67771 0 0.000156787 7.93153e-05 -0.744352 0.667787 uwb: 0.0 1077.6 422.339 -imu_odom_: 1691062826.398594771 0.553061 -0.184354 9.61751 -0.0660464 -0.0266316 0.00106526 0.07 -0.02 pose: 0.72105328 5.90952 -2.67771 0 -0.00289892 -0.00486425 -0.743208 0.669037 uwb: 0.49985187 1080.14 422.568 -imu_odom_: 1691062826.414826220 0.778116 -0.0933739 9.79228 -0.0553937 -0.00745685 -0.00852212 0.07 -0.02 pose: 0.0 5.90952 -2.67771 0 -0.00289892 -0.00486425 -0.743208 0.669037 uwb: 0.0 1080.14 422.568 -imu_odom_: 1691062826.431701048 0.85473 -0.363919 9.90242 -0.0639159 -0.0127832 0.0181095 0.07 -0.02 pose: 0.0 5.90952 -2.67771 0 -0.00289892 -0.00486425 -0.743208 0.669037 uwb: 0.0 1080.14 422.568 -imu_odom_: 1691062826.447686928 0.785298 -0.35913 9.89763 -0.0575243 0.00213053 0.0213053 0.04 0 pose: 0.6887297 5.90952 -2.67771 0 -0.00350731 -0.00533213 -0.743293 0.668936 uwb: 0.50065683 1078.69 421.848 -imu_odom_: 1691062826.464547465 0.746991 -0.213084 10.0054 -0.052198 0 0.0170442 0.05 0.02 pose: 0.0 5.90952 -2.67771 0 -0.00350731 -0.00533213 -0.743293 0.668936 uwb: 0.0 1078.69 421.848 -imu_odom_: 1691062826.489566599 0.457293 -0.0837971 9.94791 -0.0543285 -0.00319579 0.0117179 0.05 0.02 pose: 0.66986883 5.90952 -2.67771 0 -0.00904193 -0.00816809 -0.743906 0.668174 uwb: 0.0 1078.69 421.848 -imu_odom_: 1691062826.505608476 0.205901 -0.244209 9.96227 -0.0596548 0.0298274 0.0308927 0.03 0.02 pose: 0.0 5.90952 -2.67771 0 -0.00904193 -0.00816809 -0.743906 0.668174 uwb: 0.49927733 1080.22 421.963 -imu_odom_: 1691062826.530743686 -1.11809 -0.37589 10.2089 -0.0543285 0.0585895 0.0713727 0.03 0.02 pose: 0.40977599 5.91691 -2.68444 0 -0.00665788 -0.00774695 -0.744254 0.667818 uwb: 0.0 1080.22 421.963 -imu_odom_: 1691062826.557661749 -0.383072 -0.011971 9.87608 -0.0575243 -0.0905475 0.0660464 0.07 0.02 pose: 0.34183629 5.91239 -2.6894 0 -0.00369924 -0.00454676 -0.744039 0.66811 uwb: 0.49688580 1080.7 422.219 -imu_odom_: 1691062826.582678549 0.469264 -0.141258 10.0078 -0.0553937 -0.015979 0.0649811 0.07 0.02 pose: 0.7876573 5.91017 -2.69183 0 -0.0032778 -0.00436949 -0.743973 0.668188 uwb: 0.0 1080.7 422.219 -imu_odom_: 1691062826.599545794 0.462081 -0.117316 9.8689 -0.0617853 0.0149137 0.056459 0.12 0 pose: 0.0 5.91017 -2.69183 0 -0.0032778 -0.00436949 -0.743973 0.668188 uwb: 0.50244755 1080.18 422.312 -imu_odom_: 1691062826.615594379 0.232238 -0.186748 10.0078 -0.0628506 0.00106526 0.0617853 0.12 0 pose: 0.51068664 5.91017 -2.69183 0 0.00055138 -0.0053651 -0.743565 0.668641 uwb: 0.0 1080.18 422.312 -imu_odom_: 1691062826.631660172 -0.0215478 -0.148441 9.87848 -0.0617853 -0.0127832 0.0585895 0.15 0.02 pose: 0.0 5.91017 -2.69183 0 0.00055138 -0.0053651 -0.743565 0.668641 uwb: 0.0 1080.18 422.312 -imu_odom_: 1691062826.657543171 0.186748 -0.011971 9.73243 -0.072438 -0.0266316 0.052198 0.15 0.02 pose: 0.32995159 5.91017 -2.69183 0 0.00271137 -0.00376977 -0.743358 0.668878 uwb: 0.49924233 1078.64 422.22 -imu_odom_: 1691062826.682669923 0.361524 -0.155623 10.1155 -0.0607201 -0.0138484 0.0553937 0.14 0 pose: 0.34859089 5.90539 -2.697 0 0.00545319 -0.00257794 -0.743196 0.669046 uwb: 0.0 1078.64 422.22 -imu_odom_: 1691062826.705602015 0.373495 -0.397437 9.91199 -0.0617853 -0.00852212 0.0479369 0.14 0 pose: 0.7071037 5.90338 -2.69917 0 0.00489448 -0.00210816 -0.743163 0.669089 uwb: 0.50048184 1077.12 422.062 -imu_odom_: 1691062826.721647975 0.248997 -0.248997 10.4698 -0.0490022 0.0170442 0.0383495 0.13 0 pose: 0.0 5.90338 -2.69917 0 0.00489448 -0.00210816 -0.743163 0.669089 uwb: 0.0 1077.12 422.062 -imu_odom_: 1691062826.748536289 0.148441 -0.289698 9.8665 -0.0575243 -0.00745685 0.0436758 0.13 0 pose: 0.48946624 5.91072 -2.70596 0 0.00221154 0.00151369 -0.74302 0.669263 uwb: 0.49913733 1080.14 422.402 -imu_odom_: 1691062826.774588445 0.172383 -0.368707 9.64145 -0.0575243 0.0298274 0.0490022 0.14 0.02 pose: 0.34975457 5.90595 -2.71112 0 0.00375866 0.00469661 -0.742979 0.669287 uwb: 0.0 1080.14 422.402 -imu_odom_: 1691062826.790523287 -0.169988 -0.227449 9.46188 -0.0319579 -0.00852212 0.036219 0.14 0.02 pose: 0.8007523 5.90394 -2.7133 0 0.00383967 0.00559514 -0.742952 0.66931 uwb: 0.0 1080.14 422.402 -imu_odom_: 1691062826.815507422 0.52433 -0.246603 9.97903 -0.0681769 -0.0426106 0.0639159 0.14 0.02 pose: 0.0 5.90394 -2.7133 0 0.00383967 0.00559514 -0.742952 0.66931 uwb: 0.0 1080.14 422.402 -imu_odom_: 1691062826.841583785 0.52433 -0.153229 9.94073 -0.0543285 -0.0298274 0.0276969 0.14 0.02 pose: 0.42053493 5.91128 -2.72009 0 0.00469471 0.00775847 -0.742836 0.669412 uwb: 0.0 1080.14 422.402 -imu_odom_: 1691062826.865678099 -0.11971 -0.131681 10.0604 -0.0426106 0.0181095 0.0351537 0.15 0 pose: 0.42986480 5.90641 -2.72537 0 0.00190468 0.00379054 -0.742826 0.669471 uwb: 0.99964250 1082.18 422.523 -imu_odom_: 1691062826.890712690 0.0143652 -0.4956 9.89284 -0.0553937 0.0191748 0.0490022 0.15 0 pose: 0.6986750 5.9045 -2.72744 0 0.00261173 0.00413462 -0.742833 0.669459 uwb: 0.0 1082.18 422.523 -imu_odom_: 1691062826.906679905 0.371101 0.0023942 10.137 -0.0266316 -0.0298274 0.0383495 0.15 0 pose: 0.17107564 5.9045 -2.72744 0 0.004343 0.0049771 -0.742849 0.669426 uwb: 0.49987813 1078.64 422.101 -imu_odom_: 1691062826.932561446 0.272939 -0.124498 10.2759 -0.0628506 -0.00532632 0.0415453 0.15 0 pose: 0.0 5.9045 -2.72744 0 0.004343 0.0049771 -0.742849 0.669426 uwb: 0.0 1078.64 422.101 -imu_odom_: 1691062826.958785966 -0.208296 -0.287304 10.1754 -0.0351537 0.0138484 0.0308927 0.15 -0.02 pose: 0.6914129 5.9045 -2.72744 0 0.00443258 0.00572222 -0.742826 0.669445 uwb: 0.50114971 1079.19 421.867 -imu_odom_: 1691062826.983560115 0.131681 -0.351948 9.43315 -0.04048 -0.00745685 0.052198 0.16 0.02 pose: 0.42150613 5.90507 -2.74157 0 0.00543393 0.00513371 -0.742764 0.669512 uwb: 0.0 1079.19 421.867 -imu_odom_: 1691062826.999582160 0.442927 -0.172383 10.3789 -0.0447411 -0.0117179 0.052198 0.16 0.02 pose: 0.0 5.90507 -2.74157 0 0.00543393 0.00513371 -0.742764 0.669512 uwb: 0.50023393 1079.23 421.565 -imu_odom_: 1691062827.25569570 0.627281 -0.0861913 10.3525 -0.0490022 -0.0255663 0.0575243 0.16 0.02 pose: 0.50945005 5.90507 -2.74157 0 0.00799323 0.00633529 -0.742783 0.669454 uwb: 0.0 1079.23 421.565 -imu_odom_: 1691062827.51799924 0.739808 -0.205901 9.80665 -0.0532632 -0.0490022 0.0372843 0.16 0.02 pose: 0.0 5.90507 -2.74157 0 0.00799323 0.00633529 -0.742783 0.669454 uwb: 0.50003854 1078.19 421.637 -imu_odom_: 1691062827.75626504 0.308852 -0.0646434 9.65103 -0.0383495 -0.0468716 0.04048 0.15 0 pose: 0.42855238 5.90564 -2.7557 0 0.00623487 0.00568574 -0.742608 0.669673 uwb: 0.0 1078.19 421.637 -imu_odom_: 1691062827.91561055 0.632069 -0.395043 10.1299 -0.0607201 -0.036219 0.056459 0.15 0 pose: 0.0 5.90564 -2.7557 0 0.00623487 0.00568574 -0.742608 0.669673 uwb: 0.0 1078.19 421.637 -imu_odom_: 1691062827.106512164 0.766145 -0.0742203 9.85932 -0.0340885 -0.0170442 0.0394148 0.15 0 pose: 0.0 5.90564 -2.7557 0 0.00623487 0.00568574 -0.742608 0.669673 uwb: 0.49978481 1077.16 421.641 -imu_odom_: 1691062827.134585741 0.0287304 -0.306458 9.63666 -0.0490022 0.00426106 0.0617853 0.17 0 pose: 0.49982855 5.90564 -2.7557 0 0.00339122 0.00134583 -0.742541 0.669791 uwb: 0.0 1077.16 421.641 -imu_odom_: 1691062827.158653516 0.244209 -0.167594 9.66539 -0.0383495 0.04048 0.04048 0.17 0 pose: 0.39004010 5.89886 -2.76305 0 0.00247118 -0.0008054 -0.742444 0.669903 uwb: 0.49942025 1073.12 421.164 -imu_odom_: 1691062827.174656021 0.301669 -0.0622492 10.0317 -0.0500674 -0.00213053 0.0490022 0.17 0 pose: 0.0 5.89886 -2.76305 0 0.00247118 -0.0008054 -0.742444 0.669903 uwb: 0.0 1073.12 421.164 -imu_odom_: 1691062827.201536169 0.452504 -0.203507 9.8282 -0.0628506 0.00745685 0.04048 0.17 0 pose: 0.45014318 5.89944 -2.77718 0 0.00425736 0.00135971 -0.742233 0.670127 uwb: 0.50008229 1074.16 421.036 -imu_odom_: 1691062827.228705051 0.591368 -0.339977 10.2113 -0.0841559 -0.0255663 0.0585895 0.17 0 pose: 0.0 5.89944 -2.77718 0 0.00425736 0.00135971 -0.742233 0.670127 uwb: 0.0 1074.16 421.036 -imu_odom_: 1691062827.244618602 0.25618 -0.184354 10.0461 -0.0660464 -0.02024 0.0500674 0.17 -0.02 pose: 0.41214128 5.89944 -2.77718 0 0.00603282 0.000754216 -0.742161 0.670194 uwb: 0.50102431 1074.16 421.082 -imu_odom_: 1691062827.271767652 0.363919 -0.071826 10.386 -0.052198 -0.0213053 0.052198 0.17 -0.02 pose: 0.0 5.89944 -2.77718 0 0.00603282 0.000754216 -0.742161 0.670194 uwb: 0.0 1074.16 421.082 -imu_odom_: 1691062827.297599321 0.519542 -0.47884 10.3238 -0.0511327 -0.00639159 0.0479369 0.18 0 pose: 0.52916847 5.90004 -2.79131 0 0.00179576 0.00046914 -0.741965 0.670436 uwb: 0.50068017 1077.7 421.5 -imu_odom_: 1691062827.323562816 0.509965 -0.208296 9.991 -0.0745685 -0.0117179 0.0649811 0.23 0.02 pose: 0.42834823 5.89327 -2.79868 0 0.00317538 -0.00112545 -0.741794 0.67062 uwb: 0.0 1077.7 421.5 -imu_odom_: 1691062827.349506187 0.864307 -0.205901 9.67736 -0.0575243 0.02024 0.0426106 0.17 0.02 pose: 0.0 5.89327 -2.79868 0 0.00317538 -0.00112545 -0.741794 0.67062 uwb: 0.49750995 1078.24 421.289 -imu_odom_: 1691062827.376533327 0.141258 -0.138864 9.79468 -0.0681769 0.0191748 0.0596548 0.22 -0.02 pose: 0.52079231 5.90064 -2.80544 0 -0.0014371 -0.00219734 -0.741513 0.670933 uwb: 0.0 1078.24 421.289 -imu_odom_: 1691062827.393675889 0.318429 -0.289698 9.67736 -0.0490022 -0.0255663 0.0479369 0.22 -0.02 pose: 0.0 5.90064 -2.80544 0 -0.0014371 -0.00219734 -0.741513 0.670933 uwb: 0.49896235 1079.75 421.565 -imu_odom_: 1691062827.417523176 0.318429 -0.409408 9.74679 -0.0649811 -0.0394148 0.0607201 0.24 0 pose: 0.24971596 5.89389 -2.81281 0 -0.00199755 -0.00276698 -0.741445 0.671005 uwb: 0.0 1079.75 421.565 -imu_odom_: 1691062827.441644614 0.471658 -0.260968 9.80904 -0.0468716 0.0138484 0.0415453 0.24 0 pose: 0.44047500 5.90127 -2.81957 0 -0.0004376870.000676678 -0.74122 0.671262 uwb: 0.0 1079.75 421.565 -imu_odom_: 1691062827.466501300 0.457293 -0.402226 9.67497 -0.0681769 -0.0213053 0.0617853 0.18 0 pose: 0.41036222 5.89452 -2.82695 0 -0.00278875 0.000580211 -0.741085 0.671405 uwb: 0.50008521 1079.75 421.565 -imu_odom_: 1691062827.492506209 0.600945 -0.225055 10.1634 -0.0351537 0.00532632 0.04048 0.18 0 pose: 0.0 5.89452 -2.82695 0 -0.00278875 0.000580211 -0.741085 0.671405 uwb: 0.0 1079.75 421.565 -imu_odom_: 1691062827.508495590 0.792481 -0.184354 10.0772 -0.0532632 -0.00532632 0.0468716 0.18 0 pose: 0.50861595 5.89497 -2.83688 0 -0.00550412 -0.000469585-0.740891 0.671603 uwb: 0.50220258 1079.21 421.752 -imu_odom_: 1691062827.535553353 0.385466 -0.215478 9.56723 -0.0553937 0.0223706 0.04048 0.18 0 pose: 0.0 5.89497 -2.83688 0 -0.00550412 -0.000469585-0.740891 0.671603 uwb: 0.0 1079.21 421.752 -imu_odom_: 1691062827.561551845 0.203507 -0.428562 10.0461 -0.0735032 0.00532632 0.0553937 0.18 0 pose: 0.43047144 5.89517 -2.84108 0 -0.00348664 -0.000703838-0.740855 0.671656 uwb: 0.50055185 1079.21 421.752 -imu_odom_: 1691062827.588484782 0.533907 -0.371101 9.50019 -0.0596548 0.00532632 0.0436758 0.18 0 pose: 0.8020938 5.89517 -2.84108 0 -0.00332018 0.000156331 -0.740811 0.671705 uwb: 0.0 1079.21 421.752 -imu_odom_: 1691062827.604480288 0.608127 -0.31364 10.1586 -0.0543285 0.02024 0.056459 0.18 0 pose: 0.25987119 5.89582 -2.8552 0 -0.00372878 0.00206249 -0.7407 0.671822 uwb: 0.49984022 1077.22 421.269 -imu_odom_: 1691062827.631594922 0.656011 -0.186748 10.0987 -0.0330232 0.00106526 0.0330232 0.18 0 pose: 0.0 5.89582 -2.8552 0 -0.00372878 0.00206249 -0.7407 0.671822 uwb: 0.0 1077.22 421.269 -imu_odom_: 1691062827.647537931 0.318429 -0.186748 9.76595 -0.0436758 0.0213053 0.056459 0.25 0.02 pose: 0.26935853 5.89582 -2.8552 0 -0.00607162 0.00151142 -0.740627 0.671887 uwb: 0.49879320 1076.21 421.089 -imu_odom_: 1691062827.674551946 0.519542 -0.0502782 10.4459 -0.0394148 0.00639159 0.0458064 0.25 0.02 pose: 0.0 5.89582 -2.8552 0 -0.00607162 0.00151142 -0.740627 0.671887 uwb: 0.0 1076.21 421.089 -imu_odom_: 1691062827.699506918 0.921768 -0.37589 9.64145 -0.072438 -0.0127832 0.0511327 0.25 0.02 pose: 0.59044691 5.88908 -2.8626 0 -0.00450841 -0.00191817 -0.740557 0.671976 uwb: 0.50062184 1078.28 421.01 -imu_odom_: 1691062827.726486811 1.01514 -0.339977 9.991 -0.0447411 0.0245011 0.0436758 0.21 0.02 pose: 0.43964964 5.88975 -2.87672 0 -0.00575856 -0.0042848 -0.740413 0.672114 uwb: 0.0 1078.28 421.01 -imu_odom_: 1691062827.751619980 0.514753 -0.215478 9.84256 -0.0553937 0.00852212 0.052198 0.21 0.02 pose: 0.0 5.88975 -2.87672 0 -0.00575856 -0.0042848 -0.740413 0.672114 uwb: 0.49865320 1078.3 420.87 -imu_odom_: 1691062827.778454339 0.629675 -0.28491 9.38048 -0.0692422 -0.0255663 0.0511327 0.21 0 pose: 0.7030206 5.88975 -2.87672 0 -0.00627408 -0.00458424 -0.7404 0.672122 uwb: 0.0 1078.3 420.87 -imu_odom_: 1691062827.803511972 0.299275 -0.28491 9.66539 -0.056459 0.0276969 0.0426106 0.21 0 pose: 0.0 5.88975 -2.87672 0 -0.00627408 -0.00458424 -0.7404 0.672122 uwb: 0.50062768 1081.33 421.335 -imu_odom_: 1691062827.830471449 0.196325 -0.232238 9.87129 -0.0681769 -0.0117179 0.0575243 0.21 -0.02 pose: 0.52094980 5.89041 -2.89085 0 -0.00611888 -0.00440442 -0.74024 0.672301 uwb: 0.0 1081.33 421.335 -imu_odom_: 1691062827.846745188 0.486023 -0.227449 9.94791 -0.0596548 -0.0127832 0.0490022 0.21 -0.02 pose: 0.0 5.89041 -2.89085 0 -0.00611888 -0.00440442 -0.74024 0.672301 uwb: 0.0 1081.33 421.335 -imu_odom_: 1691062827.873486803 0.392649 -0.426168 10.0652 -0.0841559 0.0213053 0.0532632 0.18 0 pose: 0.53064713 5.89041 -2.89085 0 -0.00577872 -0.00212339 -0.740086 0.672484 uwb: 0.0 1081.33 421.335 -imu_odom_: 1691062827.898528686 0.205901 -0.40462 9.97185 -0.056459 0.0319579 0.0351537 0.19 0 pose: 0.61789986 5.88638 -2.91018 0 -0.00441234 0.000735512 -0.739801 0.672811 uwb: 0.100000709 1082.84 421.572 -imu_odom_: 1691062827.915604168 0.502782 -0.225055 10.6638 -0.0628506 -0.0372843 0.0490022 0.19 0 pose: 0.0 5.88638 -2.91018 0 -0.00441234 0.000735512 -0.739801 0.672811 uwb: 0.0 1082.84 421.572 -imu_odom_: 1691062827.940483020 0.430956 -0.191536 10.2448 -0.0351537 -0.0319579 0.0340885 0.18 0 pose: 0.8048353 5.88438 -2.91238 0 -0.00400434 0.00158355 -0.739811 0.672801 uwb: 0.0 1082.84 421.572 -imu_odom_: 1691062827.967522992 0.610521 -0.141258 9.52653 -0.0617853 -0.0223706 0.0511327 0.18 0 pose: 0.0 5.88438 -2.91238 0 -0.00400434 0.00158355 -0.739811 0.672801 uwb: 0.49943774 1086.4 421.904 -imu_odom_: 1691062827.993721556 1.00796 -0.237026 9.76116 -0.0511327 0.0308927 0.0298274 0.2 0 pose: 0.41961626 5.88438 -2.91238 0 -0.00304876 0.000846139 -0.7398 0.67282 uwb: 0.50049643 1090.91 422.762 -imu_odom_: 1691062828.20516835 0.430956 -0.282516 9.79947 -0.0628506 -0.0106526 0.0479369 0.2 0 pose: 0.0 5.88438 -2.91238 0 -0.00304876 0.000846139 -0.7398 0.67282 uwb: 0.0 1090.91 422.762 -imu_odom_: 1691062828.46622364 0.325611 -0.416591 9.57202 -0.0596548 -0.0532632 0.0340885 0.18 0 pose: 0.52024692 5.88507 -2.92651 0 -0.0035965 -0.00369084 -0.739749 0.672863 uwb: 0.49944067 1089.39 422.572 -imu_odom_: 1691062828.73494347 0.54109 -0.272939 9.81144 -0.0436758 -0.00213053 0.0351537 0.25 -0.02 pose: 0.53023300 5.88577 -2.94063 0 -0.00447157 -0.00133149 -0.739741 0.672876 uwb: 0.0 1089.39 422.572 -imu_odom_: 1691062828.89641510 0.411803 -0.318429 9.95509 -0.0447411 0.00639159 0.036219 0.25 -0.02 pose: 0.0 5.88577 -2.94063 0 -0.00447157 -0.00133149 -0.739741 0.672876 uwb: 0.0 1089.39 422.572 -imu_odom_: 1691062828.116475870 0.584185 -0.411803 9.67976 -0.0532632 -0.0223706 0.0543285 0.25 0.02 pose: 0.61096736 5.87905 -2.94804 0 -0.00566127 -0.000438022-0.739824 0.672777 uwb: 0.49997439 1093.52 422.585 -imu_odom_: 1691062828.142548443 0.560243 -0.452504 10.252 -0.0649811 -0.015979 0.0511327 0.25 0.02 pose: 0.7978942 5.87905 -2.94804 0 -0.00649195 -0.000332091-0.739779 0.672818 uwb: 0.0 1093.52 422.585 -imu_odom_: 1691062828.169457465 0.600945 -0.248997 10.4244 -0.0255663 -0.0617853 0.0372843 0.25 0 pose: 0.44927991 5.88161 -2.96011 0 -0.0108024 0.00138271 -0.739545 0.673019 uwb: 0.49974691 1090.49 422.149 -imu_odom_: 1691062828.195593034 0.572214 -0.270545 9.95748 -0.0596548 -0.0170442 0.0479369 0.25 0 pose: 0.0 5.88161 -2.96011 0 -0.0108024 0.00138271 -0.739545 0.673019 uwb: 0.50129265 1089.99 422.001 -imu_odom_: 1691062828.212495860 0.21069 -0.0814029 10.2017 -0.0351537 0.0106526 0.0426106 0.23 0.02 pose: 0.34978958 5.87975 -2.96217 0 -0.00958407 -0.00251779 -0.739567 0.67301 uwb: 0.0 1089.99 422.001 -imu_odom_: 1691062828.228520531 0.919373 -0.270545 10.1131 -0.0511327 -0.0458064 0.0628506 0.23 0.02 pose: 0.0 5.87975 -2.96217 0 -0.00958407 -0.00251779 -0.739567 0.67301 uwb: 0.0 1089.99 422.001 -imu_odom_: 1691062828.255523173 0.54109 -0.203507 9.92636 -0.0468716 0.0479369 0.0436758 0.25 0 pose: 0.50993130 5.88045 -2.97629 0 -0.00799539 -0.00467028 -0.73939 0.673214 uwb: 0.49727080 1093.55 422.376 -imu_odom_: 1691062828.271680836 0.316035 -0.146046 9.82341 -0.0436758 0.00958738 0.0458064 0.25 0 pose: 0.0 5.88045 -2.97629 0 -0.00799539 -0.00467028 -0.73939 0.673214 uwb: 0.0 1093.55 422.376 -imu_odom_: 1691062828.298582567 0.270545 -0.270545 10.2185 -0.0511327 -0.00213053 0.0458064 0.25 0.02 pose: 0.43160305 5.87701 -2.9801 0 -0.00312909 -0.0039698 -0.739353 0.673299 uwb: 0.50147347 1094.11 422.11 -imu_odom_: 1691062828.323622992 0.847547 -0.21069 10.2568 -0.076699 -0.0415453 0.0532632 0.25 0.02 pose: 0.7776828 5.87374 -2.98371 0 -0.00271865 -0.00330537 -0.739339 0.673319 uwb: 0.0 1094.11 422.11 -imu_odom_: 1691062828.350514224 0.409408 -0.234632 9.92875 -0.0490022 0.0117179 0.0383495 0.22 -0.02 pose: 0.27265126 5.88116 -2.99042 0 -0.00247889 -0.00226093 -0.739263 0.673408 uwb: 0.49886612 1092.6 421.889 -imu_odom_: 1691062828.375672476 0.627281 -0.198719 9.8282 -0.0649811 -0.04048 0.0511327 0.2 0 pose: 0.23830664 5.88116 -2.99042 0 -0.00359338 -0.00291841 -0.739184 0.673487 uwb: 0.0 1092.6 421.889 -imu_odom_: 1691062828.392486349 0.21069 0.00718261 9.57202 -0.0468716 -0.00532632 0.0436758 0.2 0 pose: 0.0 5.88116 -2.99042 0 -0.00359338 -0.00291841 -0.739184 0.673487 uwb: 0.0 1092.6 421.889 -imu_odom_: 1691062828.418563005 0.227449 -0.304064 10.1035 -0.0692422 0.0117179 0.0596548 0.18 -0.02 pose: 0.28191405 5.87446 -2.99784 0 -0.00285882 -0.00199657 -0.739163 0.673518 uwb: 0.49990440 1096.61 422.689 -imu_odom_: 1691062828.442456374 0.203507 -0.347159 9.97664 -0.0415453 0.0415453 0.0447411 0.18 -0.02 pose: 0.0 5.87446 -2.99784 0 -0.00285882 -0.00199657 -0.739163 0.673518 uwb: 0.0 1096.61 422.689 -imu_odom_: 1691062828.466483318 0.1652 -0.442927 10.0652 -0.0628506 -0.0181095 0.0479369 0.18 0 pose: 0.41820759 5.88188 -3.00454 0 -0.00213756 -0.00255896 -0.739024 0.673671 uwb: 0.49992189 1095.65 422.196 -imu_odom_: 1691062828.482414661 0.464475 -0.0790087 9.7851 -0.04048 -0.02024 0.0490022 0.18 0 pose: 0.0 5.88188 -3.00454 0 -0.00213756 -0.00255896 -0.739024 0.673671 uwb: 0.0 1095.65 422.196 -imu_odom_: 1691062828.509564877 0.648829 -0.1652 9.50498 -0.0639159 0.00639159 0.052198 0.25 0.02 pose: 0.48908421 5.87518 -3.01196 0 -5.22815e-050.0024534 -0.73884 0.673877 uwb: 0.50123432 1093.63 421.889 -imu_odom_: 1691062828.525444890 0.512359 -0.148441 10.07 -0.0415453 0.015979 0.0436758 0.25 0.02 pose: 0.0 5.87518 -3.01196 0 -5.22815e-050.0024534 -0.73884 0.673877 uwb: 0.0 1093.63 421.889 -imu_odom_: 1691062828.552430616 0.76375 -0.265756 9.81623 -0.0692422 -0.036219 0.0543285 0.25 0 pose: 0.40097987 5.87592 -3.02609 0 -0.0001013170.00182602 -0.738711 0.67402 uwb: 0.49866197 1098.15 422.711 -imu_odom_: 1691062828.577537829 0.821211 -0.208296 10.1083 -0.0383495 -0.0319579 0.0394148 0.25 0 pose: 0.0 5.87592 -3.02609 0 -0.0001013170.00182602 -0.738711 0.67402 uwb: 0.0 1098.15 422.711 -imu_odom_: 1691062828.594441239 0.395043 -0.19393 10.2208 -0.0575243 0.0181095 0.0436758 0.19 -0.02 pose: 0.42931068 5.87592 -3.02609 0 -0.00181896 -0.0017134 -0.738571 0.674171 uwb: 0.50249424 1099.7 422.785 -imu_odom_: 1691062828.619585783 0.426168 -0.11971 9.39964 -0.0639159 -0.00106526 0.0415453 0.19 -0.02 pose: 0.0 5.87592 -3.02609 0 -0.00181896 -0.0017134 -0.738571 0.674171 uwb: 0.0 1099.7 422.785 -imu_odom_: 1691062828.636558897 0.277727 0.00957681 10.2113 -0.0607201 -0.0308927 0.0426106 0.22 0.02 pose: 0.51979780 5.87666 -3.04021 0 -0.00508709 -0.00462823 -0.738449 0.674275 uwb: 0.0 1099.7 422.785 -imu_odom_: 1691062828.661762355 0.407014 -0.423774 9.53371 -0.0596548 -0.0149137 0.0436758 0.22 0.02 pose: 0.0 5.87666 -3.04021 0 -0.00508709 -0.00462823 -0.738449 0.674275 uwb: 0.50116140 1101.29 422.586 -imu_odom_: 1691062828.688500179 0.622492 -0.213084 9.80186 -0.0511327 0.0245011 0.0543285 0.23 0.02 pose: 0.42082077 5.86997 -3.04765 0 -0.00111049 -0.00415362 -0.738432 0.674314 uwb: 0.0 1101.29 422.586 -imu_odom_: 1691062828.713469734 0.646434 -0.31364 10.1131 -0.0287621 0.0149137 0.0266316 0.23 0.02 pose: 0.0 5.86997 -3.04765 0 -0.00111049 -0.00415362 -0.738432 0.674314 uwb: 0.49817783 1103.88 422.64 -imu_odom_: 1691062828.730493012 0.42138 -0.179565 9.85214 -0.0447411 -0.0117179 0.0543285 0.22 0 pose: 0.42019956 5.87741 -3.05433 0 -0.00210802 -0.00249092 -0.738355 0.674404 uwb: 0.0 1103.88 422.64 -imu_odom_: 1691062828.755615682 0.294487 -0.0742203 9.90721 -0.0447411 -0.00958738 0.0394148 0.22 0 pose: 0.0 5.87741 -3.05433 0 -0.00210802 -0.00249092 -0.738355 0.674404 uwb: 0.49915486 1101.36 422.216 -imu_odom_: 1691062828.782420877 0.895431 -0.299275 9.72525 -0.0735032 -0.0415453 0.0543285 0.23 0 pose: 0.51908908 5.87073 -3.06177 0 -0.00480768 -0.00378211 -0.738314 0.67443 uwb: 0.0 1101.36 422.216 -imu_odom_: 1691062828.798523418 0.342371 -0.0790087 9.84017 -0.0458064 0.072438 0.0372843 0.23 0 pose: 0.0 5.87073 -3.06177 0 -0.00480768 -0.00378211 -0.738314 0.67443 uwb: 0.50187594 1102.42 422.093 -imu_odom_: 1691062828.825547934 0.208296 -0.234632 9.59596 -0.0756338 0.0138484 0.0596548 0.25 0 pose: 0.78029603 5.86791 -3.07987 0 -0.00213634 -0.00409586 -0.738157 0.674613 uwb: 0.0 1102.42 422.093 -imu_odom_: 1691062828.850439035 0.213084 -0.316035 9.72046 -0.0628506 0.0681769 0.0426106 0.2 -0.02 pose: 0.6925213 5.8648 -3.08333 0 -0.0017171 -0.00345045 -0.738113 0.674666 uwb: 0.50005022 1103.5 421.904 -imu_odom_: 1691062828.875685656 0.189142 -0.4956 9.81144 -0.0543285 0.015979 0.0447411 0.21 0 pose: 0.44990404 5.87224 -3.09001 0 0.000921894 0.00144982 -0.737957 0.674846 uwb: 0.0 1103.5 421.904 -imu_odom_: 1691062828.898430802 0.565032 -0.466869 9.75637 -0.056459 0.0319579 0.0500674 0.21 0 pose: 0.0 5.87224 -3.09001 0 0.000921894 0.00144982 -0.737957 0.674846 uwb: 0.49812534 1103.02 421.652 -imu_odom_: 1691062828.914434474 0.347159 -0.162806 10.1538 -0.0745685 -0.0223706 0.0585895 0.18 0.02 pose: 0.31140854 5.86557 -3.09746 0 0.000223646 0.00418155 -0.73789 0.674908 uwb: 0.0 1103.02 421.652 -imu_odom_: 1691062828.939401404 0.632069 -0.0933739 9.61511 -0.0713727 0.0298274 0.0372843 0.18 0.02 pose: 0.0 5.86557 -3.09746 0 0.000223646 0.00418155 -0.73789 0.674908 uwb: 0.0 1103.02 421.652 -imu_odom_: 1691062828.962516652 0.624887 -0.490811 9.81862 -0.0841559 -0.00639159 0.0553937 0.23 0.02 pose: 0.40872316 5.87302 -3.10413 0 -0.0003965170.00270692 -0.737741 0.675079 uwb: 0.50049353 1103.05 421.467 -imu_odom_: 1691062828.978520616 0.148441 -0.385466 10.082 -0.0607201 0.036219 0.0351537 0.23 0.02 pose: 0.0 5.87302 -3.10413 0 -0.0003965170.00270692 -0.737741 0.675079 uwb: 0.0 1103.05 421.467 -imu_odom_: 1691062829.5439262 0.320823 -0.229843 9.94551 -0.0596548 0.0170442 0.0468716 0.25 0.02 pose: 0.56068411 5.86635 -3.11158 0 -0.00231067 0.00344972 -0.737651 0.67517 uwb: 0.49843740 1099.02 420.714 -imu_odom_: 1691062829.31523501 -0.237026 -0.201113 9.85693 -0.0266316 0.0234358 0.0394148 0.19 -0.02 pose: 0.7896696 5.86635 -3.11158 0 -0.00147018 0.00351075 -0.737631 0.675193 uwb: 0.0 1099.02 420.714 -imu_odom_: 1691062829.58548018 0.430956 -0.158017 9.84256 -0.0585895 -0.0181095 0.0458064 0.25 0 pose: 0.0 5.86635 -3.11158 0 -0.00147018 0.00351075 -0.737631 0.675193 uwb: 0.0 1099.02 420.714 -imu_odom_: 1691062829.83555487 0.110133 0.114922 10.8864 -0.0394148 -0.0276969 0.0415453 0.2 0.02 pose: 0.51995529 5.86713 -3.1257 0 0.00294217 0.00449577 -0.737558 0.675263 uwb: 0.0 1099.02 420.714 -imu_odom_: 1691062829.100547559 0.167594 -0.311246 9.1674 -0.0607201 -0.00745685 0.0490022 0.2 0.02 pose: 0.0 5.86713 -3.1257 0 0.00294217 0.00449577 -0.737558 0.675263 uwb: 0.99976214 1100.06 420.68 -imu_odom_: 1691062829.125423495 0.102951 -0.390255 9.13148 -0.0575243 -0.0415453 0.0447411 0.18 0 pose: 0.62134718 5.86792 -3.13982 0 0.00478691 0.00322318 -0.737441 0.675387 uwb: 0.0 1100.06 420.68 -imu_odom_: 1691062829.152387931 0.773327 -0.268151 9.87129 -0.0490022 -0.0213053 0.0372843 0.18 0 pose: 0.7995857 5.86792 -3.13982 0 0.00471895 0.00392675 -0.737428 0.675398 uwb: 0.50013481 1100.05 420.726 -imu_odom_: 1691062829.178548874 0.691924 -0.0790087 9.94312 -0.0394148 -0.015979 0.0426106 0.18 0.02 pose: 0.43844515 5.86318 -3.14512 0 0.00235149 0.00351733 -0.737435 0.675405 uwb: 0.0 1100.05 420.726 -imu_odom_: 1691062829.202453617 0.385466 -0.011971 9.84496 -0.0500674 0.0138484 0.0511327 0.18 0.02 pose: 0.0 5.86318 -3.14512 0 0.00235149 0.00351733 -0.737435 0.675405 uwb: 0.49975859 1104.21 420.838 -imu_odom_: 1691062829.217458683 0.459687 -0.275333 9.97903 -0.0575243 -0.00745685 0.0628506 0.18 0.02 pose: 0.50065686 5.86401 -3.1592 0 0.00299011 -0.000878434-0.737315 0.675542 uwb: 0.0 1104.21 420.838 -imu_odom_: 1691062829.242454195 0.430956 -0.241814 9.83059 -0.0500674 0.036219 0.0319579 0.18 0.02 pose: 0.0 5.86401 -3.1592 0 0.00299011 -0.000878434-0.737315 0.675542 uwb: 0.0 1104.21 420.838 -imu_odom_: 1691062829.267393710 0.656011 -0.397437 10.0533 -0.0415453 -0.0117179 0.0500674 0.25 0 pose: 0.40000578 5.86205 -3.1614 0 -0.00055754 0.000151591 -0.737263 0.675606 uwb: 0.50038562 1107.79 421.255 -imu_odom_: 1691062829.283449587 0.407014 -0.339977 9.71088 -0.0532632 -0.0127832 0.0458064 0.25 0 pose: 0.0 5.86205 -3.1614 0 -0.00055754 0.000151591 -0.737263 0.675606 uwb: 0.0 1107.79 421.255 -imu_odom_: 1691062829.309445457 0.553061 -0.304064 10.2017 -0.0585895 -0.00106526 0.0649811 0.18 0 pose: 0.40995392 5.86285 -3.17552 0 -0.00350253 0.00111232 -0.737133 0.675738 uwb: 0.50020773 1108.81 421.375 -imu_odom_: 1691062829.332444046 0.502782 -0.227449 10.3932 -0.0639159 -0.0106526 0.0458064 0.18 0 pose: 0.0 5.86285 -3.17552 0 -0.00350253 0.00111232 -0.737133 0.675738 uwb: 0.0 1108.81 421.375 -imu_odom_: 1691062829.349365247 0.0933739 -0.0526724 9.85932 -0.0447411 0.0287621 0.0447411 0.18 0.02 pose: 0.48994459 5.85833 -3.18059 0 -0.00461702 -0.00202914 -0.73687 0.676016 uwb: 0.49989857 1108.83 421.26 -imu_odom_: 1691062829.373368568 0.435745 -0.186748 9.84735 -0.0692422 -0.00745685 0.0447411 0.18 0.02 pose: 0.0 5.85833 -3.18059 0 -0.00461702 -0.00202914 -0.73687 0.676016 uwb: 0.0 1108.83 421.26 -imu_odom_: 1691062829.398562401 0.227449 -0.275333 9.6199 -0.0756338 -0.00745685 0.0639159 0.19 0 pose: 0.40924522 5.86366 -3.18963 0 -0.000579626-0.00203733 -0.736811 0.676096 uwb: 0.49907029 1110.86 421.644 -imu_odom_: 1691062829.425529463 0.512359 -0.138864 9.43794 -0.0596548 -0.0191748 0.0415453 0.19 0 pose: 0.8011606 5.86366 -3.18963 0 -0.000290597-0.00126685 -0.736746 0.676168 uwb: 0.0 1110.86 421.644 -imu_odom_: 1691062829.441527594 0.258574 -0.241814 10.4363 -0.056459 0.00852212 0.0468716 0.19 0 pose: 0.24221475 5.85702 -3.1971 0 0.000104237 -0.000320438-0.736601 0.676327 uwb: 0.0 1110.86 421.644 -imu_odom_: 1691062829.468438367 0.378284 -0.318429 10.0413 -0.056459 0.036219 0.0500674 0.19 0 pose: 0.0 5.85702 -3.1971 0 0.000104237 -0.000320438-0.736601 0.676327 uwb: 0.50030397 1108.37 420.958 -imu_odom_: 1691062829.494445027 0.533907 -0.174777 10.1993 -0.0660464 -0.0106526 0.0660464 0.18 0.05 pose: 0.28020499 5.86449 -3.20375 0 -8.21667e-05-0.00158592 -0.736567 0.676363 uwb: 0.50189054 1109.41 420.986 -imu_odom_: 1691062829.511412308 0.691924 -0.162806 10.1203 -0.0511327 -0.0468716 0.0479369 0.18 0.05 pose: 0.0 5.86449 -3.20375 0 -8.21667e-05-0.00158592 -0.736567 0.676363 uwb: 0.0 1109.41 420.986 -imu_odom_: 1691062829.537492756 0.667982 0.071826 10.5896 -0.0639159 -0.0308927 0.0490022 0.18 0 pose: 0.42820242 5.85785 -3.21122 0 -0.0008495940.00114717 -0.736381 0.676565 uwb: 0.0 1109.41 420.986 -imu_odom_: 1691062829.564519605 0.414197 -0.0287304 9.96706 -0.04048 -0.00106526 0.0511327 0.25 0 pose: 0.43134641 5.85785 -3.21122 0 -0.00273393 -0.00305509 -0.736145 0.676812 uwb: 0.49662918 1110.46 420.947 -imu_odom_: 1691062829.590643800 0.19393 -0.292093 9.64384 -0.0660464 0.0394148 0.052198 0.19 0 pose: 0.0 5.85785 -3.21122 0 -0.00273393 -0.00305509 -0.736145 0.676812 uwb: 0.0 1110.46 420.947 -imu_odom_: 1691062829.617383958 0.821211 -0.272939 9.89524 -0.0468716 -0.0170442 0.0372843 0.25 -0.02 pose: 0.52970805 5.85869 -3.22534 0 0.000452003 -0.00485646 -0.735959 0.677009 uwb: 0.50159014 1107.46 420.216 -imu_odom_: 1691062829.642527628 0.507571 -0.414197 9.39245 -0.0490022 -0.0266316 0.0479369 0.25 -0.02 pose: 0.0 5.85869 -3.22534 0 0.000452003 -0.00485646 -0.735959 0.677009 uwb: 0.0 1107.46 420.216 -imu_odom_: 1691062829.659514159 0.37589 -0.110133 10.2879 -0.0479369 0.0639159 0.0447411 0.21 0.02 pose: 0.69979792 5.85955 -3.23945 0 -0.00331494 -0.00285294 -0.735822 0.677161 uwb: 0.50023981 1108.48 420.358 -imu_odom_: 1691062829.676486981 0.270545 -0.296881 9.98382 -0.0511327 0.00852212 0.0394148 0.21 0.02 pose: 0.0 5.85955 -3.23945 0 -0.00331494 -0.00285294 -0.735822 0.677161 uwb: 0.0 1108.48 420.358 -imu_odom_: 1691062829.701428830 0.529119 -0.380678 9.9096 -0.04048 0.00426106 0.0287621 0.18 0 pose: 0.6897214 5.85955 -3.23945 0 -0.00243491 -0.00271436 -0.735814 0.677174 uwb: 0.50093976 1110.03 420.483 -imu_odom_: 1691062829.726576291 0.371101 -0.328006 10.0533 -0.0628506 -0.0319579 0.0447411 0.18 0 pose: 0.0 5.85955 -3.23945 0 -0.00243491 -0.00271436 -0.735814 0.677174 uwb: 0.0 1110.03 420.483 -imu_odom_: 1691062829.743392207 0.162806 0 9.67497 -0.0639159 -0.0266316 0.0468716 0.23 0 pose: 0.34120928 5.85292 -3.24694 0 -0.00114512 -0.000680028-0.735828 0.677167 uwb: 0.49828867 1112.08 420.755 -imu_odom_: 1691062829.759422128 0.538695 -0.287304 10.4004 -0.0713727 -0.0308927 0.0511327 0.23 0 pose: 0.0 5.85292 -3.24694 0 -0.00114512 -0.000680028-0.735828 0.677167 uwb: 0.0 1112.08 420.755 -imu_odom_: 1691062829.785362000 0.634463 -0.462081 9.54089 -0.0255663 -0.0340885 0.0266316 0.23 0 pose: 0.0 5.85292 -3.24694 0 -0.00114512 -0.000680028-0.735828 0.677167 uwb: 0.0 1112.08 420.755 -imu_odom_: 1691062829.801425460 0.320823 -0.11971 9.7875 -0.00532632 0.00426106 0.0383495 0.23 -0.02 pose: 0.49978774 5.85378 -3.26106 0 -0.00240832 0.00200315 -0.735822 0.677168 uwb: 0.50103017 1118.68 421.855 -imu_odom_: 1691062829.828436269 0.129287 -0.124498 9.71328 -0.0628506 0.0117179 0.056459 0.23 -0.02 pose: 0.0 5.85378 -3.26106 0 -0.00240832 0.00200315 -0.735822 0.677168 uwb: 0.0 1118.68 421.855 -imu_odom_: 1691062829.853353911 0.383072 -0.213084 9.72046 -0.0660464 -0.00106526 0.052198 0.21 0.02 pose: 0.75958895 5.85464 -3.27517 0 -0.00303246 0.000391754 -0.735809 0.677182 uwb: 0.49980233 1121.13 422.701 -imu_odom_: 1691062829.880608830 -0.047884 -0.308852 10.0245 -0.0436758 0.0223706 0.0340885 0.23 -0.02 pose: 0.43870472 5.84997 -3.28045 0 0.00117322 0.000665266 -0.735595 0.677421 uwb: 0.0 1121.13 422.701 -imu_odom_: 1691062829.905384730 0.1652 -0.306458 9.40682 -0.0745685 -0.0191748 0.0553937 0.23 -0.02 pose: 0.0 5.84997 -3.28045 0 0.00117322 0.000665266 -0.735595 0.677421 uwb: 0.49983150 1121.18 422.471 -imu_odom_: 1691062829.922542167 0.756568 0.107739 10.3094 -0.0511327 -0.0340885 0.0383495 0.22 0 pose: 0.7048872 5.84801 -3.28266 0 0.00166563 0.00128305 -0.735607 0.677405 uwb: 0.0 1121.18 422.471 -imu_odom_: 1691062829.947439977 0.414197 -0.0407014 10.0245 -0.0841559 -0.00426106 0.0479369 0.22 0 pose: 0.0 5.84801 -3.28266 0 0.00166563 0.00128305 -0.735607 0.677405 uwb: 0.49934152 1119.74 421.788 -imu_odom_: 1691062829.974353666 0.916979 -0.399832 9.56962 -0.0639159 0.00532632 0.0415453 0.23 0 pose: 0.52035777 5.85551 -3.28929 0 0.00334175 0.00468471 -0.735507 0.677493 uwb: 0.0 1119.74 421.788 -imu_odom_: 1691062829.999491503 0.371101 -0.268151 9.97185 -0.0671117 -0.0117179 0.0447411 0.23 0 pose: 0.0 5.85551 -3.28929 0 0.00334175 0.00468471 -0.735507 0.677493 uwb: 0.50012898 1120.27 421.777 -imu_odom_: 1691062830.16345917 0.416591 -0.059855 10.0317 -0.0628506 0.0223706 0.0372843 0.23 0.02 pose: 0.41988167 5.84889 -3.29678 0 0.00274836 0.00118614 -0.735435 0.677588 uwb: 0.0 1120.27 421.777 -imu_odom_: 1691062830.42530483 0.483629 -0.40462 9.52174 -0.0820254 -0.00106526 0.0543285 0.23 0.02 pose: 0.0 5.84889 -3.29678 0 0.00274836 0.00118614 -0.735435 0.677588 uwb: 0.0 1120.27 421.777 -imu_odom_: 1691062830.69463714 0.61531 -0.349553 9.68215 -0.0458064 0.0479369 0.0351537 0.23 -0.02 pose: 0.53100006 5.84976 -3.3109 0 -8.90898e-050.00213369 -0.735387 0.677644 uwb: 0.49877282 1122.9 421.825 -imu_odom_: 1691062830.95363048 -0.244209 -0.447716 9.63427 -0.0340885 0.0170442 0.0298274 0.19 0.02 pose: 0.41953462 5.84976 -3.3109 0 -0.00277019 0.002312 -0.735274 0.67776 uwb: 0.50170098 1125.51 421.931 -imu_odom_: 1691062830.122514432 0.146046 -0.169988 10.2735 -0.0436758 -0.00958738 0.036219 0.25 0 pose: 0.27881091 5.85064 -3.32501 0 -0.00357588 0.00241435 -0.735332 0.677694 uwb: 0.0 1125.51 421.931 -imu_odom_: 1691062830.147330580 0.177171 -0.174777 10.0341 -0.0319579 -0.0308927 0.0340885 0.2 0 pose: 0.25015928 5.85064 -3.32501 0 -0.00158623 0.00400476 -0.735392 0.677628 uwb: 0.49942903 1127.58 422.143 -imu_odom_: 1691062830.164328194 0.418985 -0.198719 9.65103 -0.0660464 -0.0351537 0.0479369 0.2 0 pose: 0.0 5.85064 -3.32501 0 -0.00158623 0.00400476 -0.735392 0.677628 uwb: 0.0 1127.58 422.143 -imu_odom_: 1691062830.190320855 0.292093 -0.0885855 10.1059 -0.0575243 -0.0266316 0.0447411 0.18 0 pose: 0.28135409 5.84403 -3.33251 0 0.00118439 0.0043613 -0.735421 0.677595 uwb: 0.0 1127.58 422.143 -imu_odom_: 1691062830.217314749 0.876278 -0.0885855 10.4866 -0.0681769 -0.0490022 0.0426106 0.18 0 pose: 0.0 5.84403 -3.33251 0 0.00118439 0.0043613 -0.735421 0.677595 uwb: 0.50030981 1128.11 422.117 -imu_odom_: 1691062830.233382876 0.675165 -0.251391 9.46667 -0.0468716 0.0138484 0.036219 0.19 0 pose: 0.41831844 5.85152 -3.33913 0 0.00240401 0.00233243 -0.735386 0.67764 uwb: 0.0 1128.11 422.117 -imu_odom_: 1691062830.259368830 0.390255 -0.107739 9.80904 -0.0543285 -0.00852212 0.0436758 0.19 0 pose: 0.0 5.85152 -3.33913 0 0.00240401 0.00233243 -0.735386 0.67764 uwb: 0.49953694 1129.68 422.225 -imu_odom_: 1691062830.274395769 0.234632 -0.469264 9.81623 -0.0490022 0.00106526 0.052198 0.17 0 pose: 0.52981014 5.8524 -3.35324 0 0.000972451 -0.0014344 -0.73533 0.677707 uwb: 0.0 1129.68 422.225 -imu_odom_: 1691062830.301393746 0.486023 -0.280122 10.2089 -0.0543285 -0.0298274 0.056459 0.17 0 pose: 0.0 5.8524 -3.35324 0 0.000972451 -0.0014344 -0.73533 0.677707 uwb: 0.50114393 1129.72 422.019 -imu_odom_: 1691062830.326316638 0.509965 -0.169988 10.4818 -0.0255663 0.00213053 0.0351537 0.2 0 pose: 0.40146986 5.84578 -3.36074 0 0.00252735 -0.00235544 -0.735276 0.677759 uwb: 0.0 1129.72 422.019 -imu_odom_: 1691062830.353316073 0.536301 -0.265756 10.0054 -0.0671117 -0.0213053 0.0511327 0.2 0 pose: 0.0 5.84578 -3.36074 0 0.00252735 -0.00235544 -0.735276 0.677759 uwb: 0.49832368 1133.32 422.525 -imu_odom_: 1691062830.378389456 -0.105345 -0.169988 9.78271 -0.0415453 0.0106526 0.0532632 0.18 0.02 pose: 0.42960818 5.84578 -3.36074 0 -0.000803136-0.00205587 -0.735096 0.67796 uwb: 0.0 1133.32 422.525 -imu_odom_: 1691062830.403321097 0.0837971 -0.179565 9.51456 -0.0500674 -0.0149137 0.056459 0.23 0.02 pose: 0.52913935 5.84667 -3.37485 0 -0.0035387 -0.00280735 -0.734967 0.678088 uwb: 0.0 1133.32 422.525 -imu_odom_: 1691062830.417378011 0.0335188 -0.110133 9.5385 -0.0426106 0.0191748 0.04048 0.23 0.02 pose: 0.0 5.84667 -3.37485 0 -0.0035387 -0.00280735 -0.734967 0.678088 uwb: 0.0 1133.32 422.525 -imu_odom_: 1691062830.442372065 0.181959 -0.339977 9.54568 -0.0681769 -0.0127832 0.0490022 0.23 0.02 pose: 0.0 5.84667 -3.37485 0 -0.0035387 -0.00280735 -0.734967 0.678088 uwb: 0.0 1133.32 422.525 -imu_odom_: 1691062830.469306171 0.59855 -0.363919 9.67257 -0.0639159 0.0149137 0.0575243 0.18 0 pose: 0.63000918 5.84757 -3.38896 0 0.00144246 0.000995046 -0.734725 0.678362 uwb: 0.100040963 1135.96 422.609 -imu_odom_: 1691062830.494351847 0.296881 -0.0167594 10.0197 -0.0681769 0.00745685 0.0490022 0.18 0.02 pose: 0.44958033 5.84097 -3.39647 0 -0.0007909530.00233282 -0.734508 0.678595 uwb: 0.50068021 1141.63 423.37 -imu_odom_: 1691062830.521435860 0.150835 -0.160412 10.1323 -0.0617853 -0.00319579 0.052198 0.18 0.02 pose: 0.0 5.84097 -3.39647 0 -0.0007909530.00233282 -0.734508 0.678595 uwb: 0.0 1141.63 423.37 -imu_odom_: 1691062830.546321129 0.177171 -0.227449 9.73482 -0.0447411 0.00319579 0.0468716 0.2 0 pose: 0.8013356 5.84097 -3.39647 0 -8.1319e-05 0.00203044 -0.734482 0.678625 uwb: 0.49926862 1145.64 424.442 -imu_odom_: 1691062830.563435111 0.454898 -0.181959 9.67736 -0.0543285 -0.0628506 0.056459 0.2 0 pose: 0.0 5.84097 -3.39647 0 -8.1319e-05 0.00203044 -0.734482 0.678625 uwb: 0.0 1145.64 424.442 -imu_odom_: 1691062830.588330005 0.543484 -0.0885855 10.2137 -0.0511327 -0.0319579 0.0426106 0.18 0 pose: 0.52010988 5.84188 -3.41059 0 0.00430146 0.00335672 -0.734281 0.678824 uwb: 0.0 1145.64 424.442 -imu_odom_: 1691062830.615314857 0.811634 0.0550666 10.1251 -0.0777643 -0.0479369 0.0543285 0.18 0 pose: 0.0 5.84188 -3.41059 0 0.00430146 0.00335672 -0.734281 0.678824 uwb: 0.50006483 1148.23 424.763 -imu_odom_: 1691062830.641461801 0.344765 -0.0143652 10.2232 -0.0532632 0.0276969 0.0458064 0.19 0 pose: 0.42123494 5.84188 -3.41059 0 0.00364516 0.00216872 -0.734136 0.678989 uwb: 0.0 1148.23 424.763 -imu_odom_: 1691062830.668311328 0.560243 -0.208296 9.73961 -0.0745685 -0.0266316 0.0447411 0.25 0.02 pose: 0.52039278 5.84281 -3.4247 0 0.00218517 -0.00252501 -0.733962 0.679182 uwb: 0.50047605 1151.33 425.185 -imu_odom_: 1691062830.685380104 0.356736 -0.0335188 9.6606 -0.0383495 0.0213053 0.0372843 0.25 0.02 pose: 0.0 5.84281 -3.4247 0 0.00218517 -0.00252501 -0.733962 0.679182 uwb: 0.0 1151.33 425.185 -imu_odom_: 1691062830.712397622 0.179565 -0.347159 9.3302 -0.0692422 -0.00213053 0.0479369 0.27 -0.02 pose: 0.61886817 5.84375 -3.43881 0 0.00302765 -0.00407811 -0.733883 0.679257 uwb: 0.49972651 1153.94 425.488 -imu_odom_: 1691062830.737571915 0.155623 -0.373495 9.13148 -0.0607201 0.0532632 0.0468716 0.27 -0.02 pose: 0.7014458 5.84375 -3.43881 0 0.0030394 -0.00333611 -0.733867 0.679278 uwb: 0.0 1153.94 425.488 -imu_odom_: 1691062830.754412913 0.577003 -0.0790087 10.6973 -0.052198 -0.0266316 0.0372843 0.21 -0.02 pose: 0.0 5.84375 -3.43881 0 0.0030394 -0.00333611 -0.733867 0.679278 uwb: 0.50158140 1152.89 425.401 -imu_odom_: 1691062830.780347828 0.529119 0.023942 10.3597 -0.0436758 -0.0287621 0.0340885 0.21 -0.02 pose: 0.45177353 5.83717 -3.44633 0 0.00370824 0.0018378 -0.733757 0.679399 uwb: 0.0 1152.89 425.401 -imu_odom_: 1691062830.807279017 0.744597 -0.198719 9.57681 -0.0671117 -0.00426106 0.0426106 0.23 0.02 pose: 0.42775913 5.83996 -3.45833 0 0.0028738 -0.0027683 -0.733812 0.679341 uwb: 0.0 1152.89 425.401 -imu_odom_: 1691062830.833355382 0.332794 -0.11971 9.94791 -0.0628506 0.0266316 0.0458064 0.23 0.02 pose: 0.0 5.83996 -3.45833 0 0.0028738 -0.0027683 -0.733812 0.679341 uwb: 0.0 1152.89 425.401 -imu_odom_: 1691062830.860438229 0.548272 -0.383072 9.76355 -0.04048 -0.0255663 0.0351537 0.25 0 pose: 0.53007554 5.83811 -3.46045 0 0.00301284 -0.00250658 -0.733728 0.679432 uwb: 0.99868308 1155.98 425.893 -imu_odom_: 1691062830.885463198 0.68953 -0.107739 9.79468 -0.0490022 -0.0106526 0.0553937 0.18 0 pose: 0.0 5.83811 -3.46045 0 0.00301284 -0.00250658 -0.733728 0.679432 uwb: 0.0 1155.98 425.893 -imu_odom_: 1691062830.912362597 0.294487 0.107739 10.1035 -0.0532632 0.0127832 0.0372843 0.18 0 pose: 0.35113411 5.83906 -3.47456 0 -0.000109618-0.00288087 -0.733725 0.67944 uwb: 0.49900613 1153.65 424.537 -imu_odom_: 1691062830.937456104 1.05824 -0.363919 9.40442 -0.0777643 0.00213053 0.0511327 0.18 0.02 pose: 0.43893804 5.83435 -3.47995 0 0.00179865 -0.00488271 -0.733654 0.679503 uwb: 0.0 1153.65 424.537 -imu_odom_: 1691062830.954367973 -0.136469 -0.35913 9.94551 -0.04048 0.0181095 0.0308927 0.18 0.02 pose: 0.0 5.83435 -3.47995 0 0.00179865 -0.00488271 -0.733654 0.679503 uwb: 0.50052855 1151.3 423.259 -imu_odom_: 1691062830.980435588 0.23942 -0.184354 9.43555 -0.0681769 -0.0394148 0.0500674 0.18 0 pose: 0.7926445 5.83248 -3.48208 0 0.00101919 -0.00509397 -0.73362 0.67954 uwb: 0.0 1151.3 423.259 -imu_odom_: 1691062830.997284169 0.646434 0.00957681 10.3453 -0.0532632 -0.0181095 0.0340885 0.18 0 pose: 0.0 5.83248 -3.48208 0 0.00101919 -0.00509397 -0.73362 0.67954 uwb: 0.50160182 1150.35 422.791 -imu_odom_: 1691062831.22426382 0.399832 -0.0143652 9.9527 -0.0852212 -0.0223706 0.0500674 0.18 0 pose: 0.42056998 5.84001 -3.48866 0 0.000721452 -0.00346094 -0.733577 0.679597 uwb: 0.0 1150.35 422.791 -imu_odom_: 1691062831.49388486 0.97444 -0.445322 9.61751 -0.0639159 0.00958738 0.0415453 0.18 0 pose: 0.0 5.84001 -3.48866 0 0.000721452 -0.00346094 -0.733577 0.679597 uwb: 0.0 1150.35 422.791 -imu_odom_: 1691062831.74332669 0.347159 -0.217872 10.1131 -0.0649811 -0.00106526 0.0532632 0.18 0 pose: 0.42989400 5.83343 -3.4962 0 0.00170754 -0.00430174 -0.733517 0.679656 uwb: 0.0 1150.35 422.791 -imu_odom_: 1691062831.91322992 0.399832 -0.0167594 10.0389 -0.0596548 0.0223706 0.036219 0.18 0 pose: 0.0 5.83343 -3.4962 0 0.00170754 -0.00430174 -0.733517 0.679656 uwb: 0.0 1150.35 422.791 -imu_odom_: 1691062831.116328421 0.373495 -0.395043 9.57681 -0.0841559 -0.0106526 0.0575243 0.18 0 pose: 0.52100817 5.83439 -3.51031 0 0.000463888 -0.00455906 -0.733394 0.679788 uwb: 0.0 1150.35 422.791 -imu_odom_: 1691062831.143480389 0.476446 -0.289698 9.27274 -0.0490022 0.00319579 0.0372843 0.23 0 pose: 0.58892164 5.83507 -3.52029 0 0.000641803 -0.00133569 -0.733193 0.680018 uwb: 0.149922040 1154.44 423.629 -imu_odom_: 1691062831.169324602 -0.0670376 -0.512359 9.49301 -0.0500674 0.0213053 0.0394148 0.19 0 pose: 0.7005708 5.83535 -3.52442 0 -2.94332e-06-0.00116155 -0.733199 0.680013 uwb: 0.0 1154.44 423.629 -imu_odom_: 1691062831.196270082 0.0885855 -0.213084 10.1275 -0.0479369 -0.0255663 0.0394148 0.25 0 pose: 0.28121994 5.83535 -3.52442 0 -0.00152363 0.000152217 -0.733212 0.679998 uwb: 0.49818954 1153.43 423.36 -imu_odom_: 1691062831.221272304 0.191536 -0.124498 10.3358 -0.0383495 -0.0276969 0.0394148 0.25 0 pose: 0.0 5.83535 -3.52442 0 -0.00152363 0.000152217 -0.733212 0.679998 uwb: 0.0 1153.43 423.36 -imu_odom_: 1691062831.248327736 0.155623 -0.222661 9.63187 -0.0841559 0.0149137 0.0479369 0.23 0 pose: 0.24944766 5.82878 -3.53195 0 -0.0002343190.00230932 -0.733209 0.679999 uwb: 0.50086687 1155.54 423.56 -imu_odom_: 1691062831.265532421 0.11971 -0.201113 10.1825 -0.0585895 -0.0234358 0.0436758 0.23 0 pose: 0.0 5.82878 -3.53195 0 -0.0002343190.00230932 -0.733209 0.679999 uwb: 0.0 1155.54 423.56 -imu_odom_: 1691062831.290530850 0.88346 -0.071826 10.2113 -0.0617853 -0.0458064 0.0415453 0.27 0 pose: 0.51938952 5.83632 -3.53852 0 0.00417164 0.00369083 -0.733174 0.680018 uwb: 0.0 1155.54 423.56 -imu_odom_: 1691062831.313353285 0.4956 -0.378284 9.68933 -0.0298274 -0.015979 0.0255663 0.27 0 pose: 0.0 5.83632 -3.53852 0 0.00417164 0.00369083 -0.733174 0.680018 uwb: 0.50018441 1157.12 423.72 -imu_odom_: 1691062831.338405086 0.184354 -0.339977 9.65342 -0.0575243 -0.0170442 0.0458064 0.18 0 pose: 0.43960885 5.82975 -3.54606 0 0.00624301 0.00574583 -0.733071 0.680099 uwb: 0.0 1157.12 423.72 -imu_odom_: 1691062831.355279624 0.25618 0.0430956 9.8665 -0.0490022 0.0106526 0.0500674 0.18 0 pose: 0.0 5.82975 -3.54606 0 0.00624301 0.00574583 -0.733071 0.680099 uwb: 0.50077355 1156.66 423.425 -imu_odom_: 1691062831.371375750 0.512359 -0.37589 9.90721 -0.0575243 -0.0308927 0.0596548 0.18 0 pose: 0.49016626 5.83072 -3.56017 0 0.0027652 0.00432285 -0.733173 0.680023 uwb: 0.0 1156.66 423.425 -imu_odom_: 1691062831.398255901 0.555455 -0.213084 10.0317 -0.0319579 0.0106526 0.0287621 0.18 0 pose: 0.0 5.83072 -3.56017 0 0.0027652 0.00432285 -0.733173 0.680023 uwb: 0.49900615 1154.23 422.406 -imu_odom_: 1691062831.424426178 0.258574 -0.0071826110.4531 -0.0394148 -0.00852212 0.0532632 0.18 0.02 pose: 0.41964838 5.83072 -3.56017 0 0.00341298 0.00465442 -0.733017 0.680186 uwb: 0.0 1154.23 422.406 -imu_odom_: 1691062831.451665349 0.11971 -0.100556 9.87608 -0.0436758 0.00745685 0.0490022 0.18 0.02 pose: 0.42992901 5.8317 -3.57428 0 0.0019321 0.00189018 -0.733036 0.680184 uwb: 0.49971486 1153.83 421.886 -imu_odom_: 1691062831.476536619 0.797269 -0.3304 9.60793 -0.0639159 -0.00532632 0.0585895 0.19 0 pose: 0.0 5.8317 -3.57428 0 0.0019321 0.00189018 -0.733036 0.680184 uwb: 0.0 1153.83 421.886 -imu_odom_: 1691062831.503371273 0.23942 -0.124498 9.82102 -0.0415453 0.0149137 0.0447411 0.23 0 pose: 0.53013971 5.83268 -3.58839 0 0.00567609 0.00175635 -0.732803 0.680415 uwb: 0.49991318 1155.25 422.654 -imu_odom_: 1691062831.529360436 0.428562 -0.416591 9.8665 -0.0649811 0.0149137 0.0436758 0.23 0 pose: 0.0 5.83268 -3.58839 0 0.00567609 0.00175635 -0.732803 0.680415 uwb: 0.0 1155.25 422.654 -imu_odom_: 1691062831.556295125 0.76375 -0.1652 10.1634 -0.0745685 -0.0415453 0.0511327 0.25 0 pose: 0.70071374 5.82612 -3.59594 0 0.00460605 0.00282144 -0.732614 0.680622 uwb: 0.49964486 1153.24 422.069 -imu_odom_: 1691062831.572348379 0.47884 -0.0502782 9.88566 -0.072438 -0.00639159 0.0468716 0.25 0 pose: 0.7016791 5.82612 -3.59594 0 0.00397952 0.00227368 -0.732589 0.680656 uwb: 0.0 1153.24 422.069 -imu_odom_: 1691062831.599294151 0.19393 -0.237026 10.0197 -0.0681769 -0.0266316 0.0511327 0.23 0.02 pose: 0.35971152 5.82712 -3.61004 0 0.00221071 -0.000794601-0.732472 0.680794 uwb: 0.49936196 1155.33 422.335 -imu_odom_: 1691062831.624357910 0.272939 -0.131681 9.62948 -0.0468716 -0.00213053 0.0511327 0.23 0.02 pose: 0.0 5.82712 -3.61004 0 0.00221071 -0.000794601-0.732472 0.680794 uwb: 0.0 1155.33 422.335 -imu_odom_: 1691062831.651305432 0.294487 -0.344765 9.84256 -0.0681769 -0.00852212 0.0553937 0.21 0.02 pose: 0.52009531 5.82712 -3.61004 0 0.00575097 0.00142125 -0.732258 0.681001 uwb: 0.49992485 1156.84 422.697 -imu_odom_: 1691062831.667291898 0.61531 -0.141258 9.99579 -0.0553937 0 0.0415453 0.21 0.02 pose: 0.0 5.82712 -3.61004 0 0.00575097 0.00142125 -0.732258 0.681001 uwb: 0.0 1156.84 422.697 -imu_odom_: 1691062831.694236212 0.684742 -0.220267 9.66779 -0.0820254 -0.00319579 0.0649811 0.2 0 pose: 0.33957313 5.82812 -3.62415 0 0.00345942 0.00298543 -0.732122 0.681158 uwb: 0.50080854 1157.45 422.471 -imu_odom_: 1691062831.711241700 0.399832 -0.332794 10.1107 -0.0479369 -0.00426106 0.0490022 0.2 0 pose: 0.0 5.82812 -3.62415 0 0.00345942 0.00298543 -0.732122 0.681158 uwb: 0.0 1157.45 422.471 -imu_odom_: 1691062831.727275705 0.617704 -0.203507 9.97424 -0.0490022 -0.00852212 0.0511327 0.18 0.02 pose: 0.44073462 5.82158 -3.63171 0 8.07509e-05 0.00124758 -0.731863 0.681451 uwb: 0.0 1157.45 422.471 -imu_odom_: 1691062831.755240791 0.337582 -0.265756 10.1251 -0.0511327 0.0181095 0.0500674 0.18 0.02 pose: 0.0 5.82158 -3.63171 0 8.07509e-05 0.00124758 -0.731863 0.681451 uwb: 0.50028649 1159.04 422.615 -imu_odom_: 1691062831.780251762 0.428562 -0.0790087 10.4196 -0.0649811 -0.0276969 0.0500674 0.18 0.02 pose: 0.32994287 5.82914 -3.63825 0 -0.00103171 0.00116693 -0.731743 0.681578 uwb: 0.0 1159.04 422.615 -imu_odom_: 1691062831.807264322 0.866701 -0.177171 10.2544 -0.0468716 -0.0287621 0.0458064 0.23 -0.02 pose: 0.44868790 5.82261 -3.64582 0 0.000793454 0.000558972 -0.731579 0.681756 uwb: 0.49974403 1161.1 422.992 -imu_odom_: 1691062831.832224254 0.706289 -0.0502782 10.6805 -0.0543285 -0.0213053 0.0394148 0.23 -0.02 pose: 0.0 5.82261 -3.64582 0 0.000793454 0.000558972 -0.731579 0.681756 uwb: 0.0 1161.1 422.992 -imu_odom_: 1691062831.849232367 0.268151 -0.21069 9.22965 -0.0660464 0.0117179 0.0394148 0.22 0 pose: 0.6996667 5.82261 -3.64582 0 0.000274536 -3.40039e-05-0.731564 0.681772 uwb: 0.50113810 1156.61 421.562 -imu_odom_: 1691062831.874229630 0.42138 -0.390255 9.42118 -0.0862864 -0.0308927 0.052198 0.22 0 pose: 0.0 5.82261 -3.64582 0 0.000274536 -3.40039e-05-0.731564 0.681772 uwb: 0.0 1156.61 421.562 -imu_odom_: 1691062831.901365557 0.711078 -0.354342 9.59117 -0.0639159 0.00532632 0.04048 0.21 -0.02 pose: 0.51983866 5.82364 -3.65992 0 -0.00158967 -0.00368141 -0.731519 0.681809 uwb: 0.49737292 1156.55 421.789 -imu_odom_: 1691062831.917500764 0.641646 -0.268151 9.84975 -0.0628506 0.0245011 0.052198 0.21 -0.02 pose: 0.0 5.82364 -3.65992 0 -0.00158967 -0.00368141 -0.731519 0.681809 uwb: 0.0 1156.55 421.789 -imu_odom_: 1691062831.944385582 0.397437 -0.31364 10.0269 -0.0276969 0.0117179 0.0266316 0.25 0 pose: 0.42063998 5.82364 -3.65992 0 -0.00351651 -0.000891437-0.731409 0.681929 uwb: 0.50037690 1154.02 421.087 -imu_odom_: 1691062831.969347264 0.770933 -0.416591 9.46428 -0.0543285 0.0138484 0.0532632 0.25 0 pose: 0.0 5.82364 -3.65992 0 -0.00351651 -0.000891437-0.731409 0.681929 uwb: 0.0 1154.02 421.087 -imu_odom_: 1691062831.996222165 0.718261 -0.0143652 10.4818 -0.0436758 -0.0585895 0.052198 0.23 0 pose: 0.43037815 5.82469 -3.67403 0 -0.00604406 -0.00174278 -0.731356 0.681967 uwb: 0.50090187 1156.54 421.811 -imu_odom_: 1691062832.13356854 0.483629 -0.526724 9.35415 -0.0617853 0.0436758 0.052198 0.23 0 pose: 0.0 5.82469 -3.67403 0 -0.00604406 -0.00174278 -0.731356 0.681967 uwb: 0.0 1156.54 421.811 -imu_odom_: 1691062832.39210400 0.260968 -0.387861 9.95509 -0.0426106 0.0149137 0.0543285 0.19 0 pose: 0.51896954 5.81816 -3.6816 0 -0.00701056 -0.00152217 -0.731292 0.682026 uwb: 0.0 1156.54 421.811 -imu_odom_: 1691062832.63376172 0.548272 -0.191536 9.56962 -0.0617853 0.0170442 0.0415453 0.18 -0.02 pose: 0.44232120 5.82573 -3.68813 0 -0.00722387 -0.00150558 -0.731092 0.682239 uwb: 0.50020192 1160.18 422.372 -imu_odom_: 1691062832.90363067 0.28491 -0.380678 9.68933 -0.0649811 -0.00639159 0.052198 0.18 -0.02 pose: 0.0 5.82573 -3.68813 0 -0.00722387 -0.00150558 -0.731092 0.682239 uwb: 0.0 1160.18 422.372 -imu_odom_: 1691062832.115212756 0.368707 -0.0670376 9.92875 -0.0468716 -0.0117179 0.04048 0.19 0 pose: 0.25874836 5.81921 -3.69571 0 -0.00596702 -0.000427918-0.730995 0.682356 uwb: 0.49951364 1163.26 423.038 -imu_odom_: 1691062832.142217442 0.356736 -0.203507 10.343 -0.0735032 -0.00532632 0.0543285 0.19 0 pose: 0.0 5.81921 -3.69571 0 -0.00596702 -0.000427918-0.730995 0.682356 uwb: 0.0 1163.26 423.038 -imu_odom_: 1691062832.168489505 0.584185 -0.141258 9.49301 -0.0713727 0.0330232 0.0426106 0.19 -0.02 pose: 0.51917080 5.82027 -3.70981 0 -0.00405402 0.000343889 -0.730872 0.682502 uwb: 0.49957779 1162.82 422.669 -imu_odom_: 1691062832.192342045 0.701501 -0.454898 9.59835 -0.0788296 -0.0287621 0.056459 0.19 -0.02 pose: 0.0 5.82027 -3.70981 0 -0.00405402 0.000343889 -0.730872 0.682502 uwb: 0.0 1162.82 422.669 -imu_odom_: 1691062832.207216161 0.222661 -0.402226 10.0485 -0.0628506 0.0298274 0.036219 0.25 0 pose: 0.52087694 5.82027 -3.70981 0 -0.0003832842.34866e-05 -0.73073 0.682667 uwb: 0.50065690 1167.92 423.888 -imu_odom_: 1691062832.232204092 0.196325 -0.323217 9.9934 -0.0575243 0.0127832 0.0458064 0.25 0 pose: 0.0 5.82027 -3.70981 0 -0.0003832842.34866e-05 -0.73073 0.682667 uwb: 0.0 1167.92 423.888 -imu_odom_: 1691062832.256205664 -0.100556 -0.311246 9.94312 -0.0330232 0.0245011 0.0394148 0.18 0 pose: 0.63954906 5.82134 -3.72391 0 -0.00276872 0.000960426 -0.730567 0.682835 uwb: 0.49905282 1170.94 424.775 -imu_odom_: 1691062832.271258561 0.1652 -0.234632 9.78989 -0.0490022 -0.015979 0.0426106 0.18 0 pose: 0.0 5.82134 -3.72391 0 -0.00276872 0.000960426 -0.730567 0.682835 uwb: 0.0 1170.94 424.775 -imu_odom_: 1691062832.288204553 0.694318 -0.272939 10.2089 -0.0639159 0.0127832 0.0436758 0.18 0 pose: 0.56960863 5.82242 -3.73801 0 0.00162889 0.00506544 -0.730497 0.682896 uwb: 0.0 1170.94 424.775 -imu_odom_: 1691062832.302206054 0.866701 -0.275333 9.55526 -0.0532632 0.036219 0.0308927 0.18 0 pose: 0.0 5.82242 -3.73801 0 0.00162889 0.00506544 -0.730497 0.682896 uwb: 0.50217931 1171 424.573 -imu_odom_: 1691062832.327266897 0.244209 -0.335188 9.22246 -0.0713727 0.0106526 0.0532632 0.18 0 pose: 0.6950295 5.82242 -3.73801 0 0.00113656 0.0046608 -0.73049 0.682906 uwb: 0.0 1171 424.573 -imu_odom_: 1691062832.352191249 0.428562 -0.373495 9.76116 -0.0628506 -0.0798948 0.0394148 0.23 0 pose: 0.0 5.82242 -3.73801 0 0.00113656 0.0046608 -0.73049 0.682906 uwb: 0.50046733 1169.07 423.686 -imu_odom_: 1691062832.375339456 0.153229 -0.225055 9.52174 -0.0681769 -0.0106526 0.0383495 0.18 0 pose: 0.73982393 5.81672 -3.75617 0 -0.0029016 0.00510589 -0.730408 0.682986 uwb: 0.0 1169.07 423.686 -imu_odom_: 1691062832.391353337 0.955286 -0.105345 10.4794 -0.0276969 0.00106526 0.0213053 0.18 0 pose: 0.0 5.81672 -3.75617 0 -0.0029016 0.00510589 -0.730408 0.682986 uwb: 0.0 1169.07 423.686 -imu_odom_: 1691062832.417349499 0.701501 -0.0837971 10.0341 -0.0436758 -0.00958738 0.0490022 0.25 0 pose: 0.39162088 5.81699 -3.7597 0 -0.00145162 0.00439774 -0.730517 0.682879 uwb: 0.49702586 1173.08 424.926 -imu_odom_: 1691062832.443403992 0.481235 -0.246603 10.0413 -0.0575243 0.0106526 0.056459 0.19 0 pose: 0.7902238 5.81699 -3.7597 0 -0.00163296 0.00358443 -0.730495 0.682906 uwb: 0.50061898 1173.15 424.678 -imu_odom_: 1691062832.470352973 0.399832 -0.31364 9.75877 -0.0436758 0.0234358 0.0319579 0.23 0.02 pose: 0.18093924 5.81248 -3.76496 0 -0.00204816 0.00172217 -0.730443 0.682968 uwb: 0.0 1173.15 424.678 -imu_odom_: 1691062832.486314940 0.19393 -0.129287 9.86411 -0.0191748 0.00426106 0.0276969 0.23 0.02 pose: 0.33049119 5.81808 -3.7738 0 -0.00318199 0.000372946 -0.730314 0.683104 uwb: 0.0 1173.15 424.678 -imu_odom_: 1691062832.513250505 0.684742 -0.220267 9.58399 -0.0372843 0.00852212 0.0511327 0.23 0 pose: 0.0 5.81808 -3.7738 0 -0.00318199 0.000372946 -0.730314 0.683104 uwb: 0.0 1173.15 424.678 -imu_odom_: 1691062832.529242804 0.442927 -0.215478 9.75637 -0.0436758 -0.0276969 0.0596548 0.23 0 pose: 0.0 5.81808 -3.7738 0 -0.00318199 0.000372946 -0.730314 0.683104 uwb: 0.0 1173.15 424.678 -imu_odom_: 1691062832.546199588 0.670376 -0.201113 9.77792 -0.0575243 -0.0415453 0.0532632 0.25 0.05 pose: 0.78844186 5.81916 -3.7879 0 -0.00179551 -0.00125078 -0.730216 0.683213 uwb: 0.100073341 1178.04 424.844 -imu_odom_: 1691062832.571365716 0.802058 -0.201113 9.96467 -0.036219 -0.0191748 0.0394148 0.25 0.05 pose: 0.6965170 5.81916 -3.7879 0 -0.0023614 -0.00185236 -0.730182 0.683246 uwb: 0.0 1178.04 424.844 -imu_odom_: 1691062832.588364789 0.335188 -0.110133 9.90481 -0.0607201 -0.00426106 0.056459 0.22 0.02 pose: 0.0 5.81916 -3.7879 0 -0.0023614 -0.00185236 -0.730182 0.683246 uwb: 0.0 1178.04 424.844 -imu_odom_: 1691062832.605372611 0.280122 -0.105345 10.0916 -0.0490022 -0.0138484 0.0458064 0.22 0.02 pose: 0.35157742 5.81266 -3.7955 0 -0.00488878 -0.00483765 -0.730123 0.683281 uwb: 0.0 1178.04 424.844 -imu_odom_: 1691062832.620183147 -0.0383072 -0.296881 9.85214 -0.0532632 0.0213053 0.0575243 0.22 0.02 pose: 0.0 5.81266 -3.7955 0 -0.00488878 -0.00483765 -0.730123 0.683281 uwb: 0.0 1178.04 424.844 -imu_odom_: 1691062832.637377041 0.397437 -0.246603 10.1754 -0.0820254 -0.00639159 0.0543285 0.18 0 pose: 0.41082308 5.82026 -3.802 0 -0.00125822 -0.00314995 -0.729966 0.683475 uwb: 0.0 1178.04 424.844 -imu_odom_: 1691062832.651289589 0.0909797 -0.246603 9.65582 -0.0628506 -0.00639159 0.0351537 0.18 0 pose: 0.0 5.82026 -3.802 0 -0.00125822 -0.00314995 -0.729966 0.683475 uwb: 0.100038344 1180.2 424.976 -imu_odom_: 1691062832.666203952 0.895431 -0.282516 10.4339 -0.0585895 -0.00532632 0.0394148 0.18 0 pose: 0.0 5.82026 -3.802 0 -0.00125822 -0.00314995 -0.729966 0.683475 uwb: 0.0 1180.2 424.976 -imu_odom_: 1691062832.683168902 0.299275 -0.260968 9.6606 -0.0788296 -0.0276969 0.0500674 0.18 0 pose: 0.45738197 5.81376 -3.8096 0 -0.0006517377.93696e-05 -0.729857 0.6836 uwb: 0.0 1180.2 424.976 -imu_odom_: 1691062832.700319632 0.0885855 -0.102951 9.91199 -0.0490022 -0.0223706 0.0436758 0.18 0 pose: 0.0 5.81376 -3.8096 0 -0.0006517377.93696e-05 -0.729857 0.6836 uwb: 0.49808746 1177.25 423.815 -imu_odom_: 1691062832.715241578 0.54109 -0.287304 10.1442 -0.0532632 -0.0287621 0.0543285 0.18 0.02 pose: 0.42133411 5.81156 -3.82087 0 0.00084355 0.00149141 -0.729769 0.683691 uwb: 0.0 1177.25 423.815 -imu_odom_: 1691062832.730361554 0.608127 -0.287304 9.54808 -0.072438 -0.015979 0.0596548 0.18 0.02 pose: 0.0 5.81156 -3.82087 0 0.00084355 0.00149141 -0.729769 0.683691 uwb: 0.0 1177.25 423.815 -imu_odom_: 1691062832.747236384 0.263362 -0.35913 9.81623 -0.0511327 0.00958738 0.0436758 0.18 0.02 pose: 0.0 5.81156 -3.82087 0 0.00084355 0.00149141 -0.729769 0.683691 uwb: 0.50039442 1177.42 423.276 -imu_odom_: 1691062832.764441069 0.943315 0.0263362 10.5872 -0.0692422 -0.0458064 0.0490022 0.18 0 pose: 0.7017083 5.81487 -3.8237 0 0.000139506 0.00115211 -0.729735 0.683729 uwb: 0.0 1177.42 423.276 -imu_odom_: 1691062832.779316352 0.332794 -0.287304 9.4571 -0.0639159 0.0383495 0.0415453 0.18 0 pose: 0.0 5.81487 -3.8237 0 0.000139506 0.00115211 -0.729735 0.683729 uwb: 0.0 1177.42 423.276 -imu_odom_: 1691062832.794233340 0.268151 -0.342371 10.0078 -0.0490022 0.0447411 0.04048 0.18 0 pose: 0.0 5.81487 -3.8237 0 0.000139506 0.00115211 -0.729735 0.683729 uwb: 0.49952821 1179.54 423.517 -imu_odom_: 1691062832.811344697 0.45011 -0.160412 9.76834 -0.0596548 -0.0394148 0.0553937 0.18 0 pose: 0.64055816 5.80838 -3.83131 0 -0.00215547 0.000738346 -0.729506 0.68397 uwb: 0.0 1179.54 423.517 -imu_odom_: 1691062832.828164114 0.474052 -0.11971 10.1801 -0.0500674 0.00213053 0.0436758 0.25 0.02 pose: 0.0 5.80838 -3.83131 0 -0.00215547 0.000738346 -0.729506 0.68397 uwb: 0.0 1179.54 423.517 -imu_odom_: 1691062832.843224593 0.471658 -0.292093 9.93354 -0.0340885 0.00319579 0.0330232 0.25 0.02 pose: 0.30803127 5.81599 -3.8378 0 -0.0009774440.00237015 -0.72945 0.684029 uwb: 0.49963321 1178.67 422.778 -imu_odom_: 1691062832.858228784 1.20907 -0.232238 9.91678 -0.0671117 -0.0660464 0.0553937 0.17 0 pose: 0.0 5.81599 -3.8378 0 -0.0009774440.00237015 -0.72945 0.684029 uwb: 0.0 1178.67 422.778 -imu_odom_: 1691062832.873164438 1.06063 -0.287304 10.1778 -0.0426106 -0.0127832 0.072438 0.17 0 pose: 0.41028935 5.8095 -3.84541 0 -0.0018595 -0.000108589-0.729413 0.684072 uwb: 0.0 1178.67 422.778 -imu_odom_: 1691062832.890213674 1.10133 -0.31364 9.82102 -0.0447411 0.0415453 0.111853 0.17 0 pose: 0.0 5.8095 -3.84541 0 -0.0018595 -0.000108589-0.729413 0.684072 uwb: 0.0 1178.67 422.778 -imu_odom_: 1691062832.907148001 1.63524 -0.459687 10.6853 -0.0458064 -0.00426106 0.0820254 0.14 -0.05 pose: 0.6948545 5.8095 -3.84541 0 -0.00254735 -0.000704755-0.729374 0.68411 uwb: 0.50063357 1179.38 422.261 -imu_odom_: 1691062832.924142407 1.5275 -0.201113 9.26077 -0.0308927 0.0127832 0.0191748 0.14 -0.05 pose: 0.0 5.8095 -3.84541 0 -0.00254735 -0.000704755-0.729374 0.68411 uwb: 0.0 1179.38 422.261 -imu_odom_: 1691062832.941204767 1.10133 -0.129287 9.76834 -0.0692422 0.0735032 0.0490022 0.14 -0.05 pose: 0.0 5.8095 -3.84541 0 -0.00254735 -0.000704755-0.729374 0.68411 uwb: 0.0 1179.38 422.261 -imu_odom_: 1691062832.959202155 0.651223 -0.454898 9.80904 -0.076699 0.00852212 0.0340885 0.11 0 pose: 0.46978582 5.81064 -3.8595 0 -0.00609136 -0.00363702 -0.728626 0.684875 uwb: 0.50067439 1183.05 422.919 -imu_odom_: 1691062832.976317596 0.418985 -0.268151 9.95988 -0.0671117 -0.00958738 -0.0308927 0.1 -0.02 pose: 0.0 5.81064 -3.8595 0 -0.00609136 -0.00363702 -0.728626 0.684875 uwb: 0.0 1183.05 422.919 -imu_odom_: 1691062832.992297063 0.742203 0.0167594 10.1466 -0.0617853 -0.0372843 -0.0127832 0.1 -0.02 pose: 0.69095225 5.81064 -3.8595 0 -0.00943821 -0.00461024 -0.728721 0.68473 uwb: 0.49758583 1186.87 423.111 -imu_odom_: 1691062833.10179541 0.885855 -0.0646434 9.77313 -0.0649811 -0.00852212 0.0319579 0.09 0 pose: 0.0 5.81064 -3.8595 0 -0.00943821 -0.00461024 -0.728721 0.68473 uwb: 0.0 1186.87 423.111 -imu_odom_: 1691062833.27294982 0.773327 -0.308852 9.93115 -0.052198 0.00532632 0.0458064 0.09 0 pose: 0.0 5.81064 -3.8595 0 -0.00943821 -0.00461024 -0.728721 0.68473 uwb: 0.0 1186.87 423.111 -imu_odom_: 1691062833.44362884 0.565032 -0.251391 9.60075 -0.0479369 0.00426106 0.0340885 0.09 0 pose: 0.34070766 5.80416 -3.86712 0 -0.00878489 -0.00638237 -0.729281 0.684128 uwb: 0.50132770 1190.52 423.908 -imu_odom_: 1691062833.61278546 0.629675 -0.213084 9.94791 -0.0490022 0.0127832 0.0447411 0.08 0 pose: 0.33987646 5.81178 -3.87361 0 -0.0101346 -0.00720427 -0.729268 0.684115 uwb: 0.0 1190.52 423.908 -imu_odom_: 1691062833.77164976 0.761356 -0.258574 10.0485 -0.0628506 -0.0138484 0.0596548 0.08 0 pose: 0.0 5.81178 -3.87361 0 -0.0101346 -0.00720427 -0.729268 0.684115 uwb: 0.0 1190.52 423.908 -imu_odom_: 1691062833.95158865 0.720655 -0.316035 9.87129 -0.0543285 0.00106526 0.0394148 0.09 -0.02 pose: 0.42859619 5.81178 -3.87361 0 -0.00981056 -0.0084637 -0.729151 0.68423 uwb: 0.49984904 1190.1 423.474 -imu_odom_: 1691062833.111262283 0.641646 -0.0981623 9.90002 -0.0479369 -0.0298274 0.0415453 0.09 -0.02 pose: 0.0 5.81178 -3.87361 0 -0.00981056 -0.0084637 -0.729151 0.68423 uwb: 0.0 1190.1 423.474 -imu_odom_: 1691062833.128265439 0.703895 -0.19393 9.78989 -0.0468716 0.00106526 0.0415453 0.09 -0.02 pose: 0.0 5.81178 -3.87361 0 -0.00981056 -0.0084637 -0.729151 0.68423 uwb: 0.0 1190.1 423.474 -imu_odom_: 1691062833.146166875 0.699107 -0.217872 9.97424 -0.0490022 -0.00213053 0.0415453 0.05 0.02 pose: 0.7998775 5.81178 -3.87361 0 -0.0105772 -0.00829554 -0.729141 0.684231 uwb: 0.50003861 1192.7 424.065 -imu_odom_: 1691062833.164147931 0.588974 -0.251391 9.83777 -0.052198 0.00213053 0.0447411 0.05 0.02 pose: 0.0 5.81178 -3.87361 0 -0.0105772 -0.00829554 -0.729141 0.684231 uwb: 0.0 1192.7 424.065 -imu_odom_: 1691062833.181155754 0.694318 -0.225055 10.0173 -0.0490022 -0.00426106 0.0330232 0.05 0.02 pose: 0.51050591 5.81178 -3.87361 0 -0.0109307 -0.0102881 -0.729106 0.684236 uwb: 0.0 1192.7 424.065 -imu_odom_: 1691062833.197206091 0.351948 -0.134075 9.57681 -0.0511327 0.00213053 0.0617853 0.06 0.11 pose: 0.0 5.81178 -3.87361 0 -0.0109307 -0.0102881 -0.729106 0.684236 uwb: 0.49998904 1193.35 423.811 -imu_odom_: 1691062833.214260286 0.335188 -0.383072 9.99579 -0.0607201 -0.00106526 0.115049 0.04 0.08 pose: 0.0 5.81178 -3.87361 0 -0.0109307 -0.0102881 -0.729106 0.684236 uwb: 0.0 1193.35 423.811 -imu_odom_: 1691062833.231282691 0.47884 -0.454898 9.64624 -0.0415453 -0.0191748 0.108657 0.04 0.08 pose: 0.69007731 5.8053 -3.88122 0 -0.00928887 -0.00813403 -0.728795 0.68462 uwb: 0.0 1193.35 423.811 -imu_odom_: 1691062833.248239183 0.720655 -0.0694318 10.0963 -0.0468716 -0.0127832 0.118244 0.03 0.08 pose: 0.0 5.8053 -3.88122 0 -0.00928887 -0.00813403 -0.728795 0.68462 uwb: 0.49965655 1192.39 423.318 -imu_odom_: 1691062833.265162136 0.727837 -0.131681 9.8258 -0.052198 -0.00639159 0.123571 0.03 0.08 pose: 0.0 5.8053 -3.88122 0 -0.00928887 -0.00813403 -0.728795 0.68462 uwb: 0.0 1192.39 423.318 -imu_odom_: 1691062833.283290475 0.663194 -0.232238 10.0293 -0.0553937 0.00958738 0.11931 0.03 0.08 pose: 0.34085058 5.8053 -3.88122 0 -0.00912166 -0.00656561 -0.727941 0.685547 uwb: 0.0 1192.39 423.318 -imu_odom_: 1691062833.301276197 0.402226 -0.263362 9.79947 -0.0543285 0.00319579 0.118244 0.03 0.11 pose: 0.33985605 5.8053 -3.88122 0 -0.00960233 -0.00868138 -0.726984 0.686532 uwb: 0.50078523 1193.03 423.086 -imu_odom_: 1691062833.317204626 0.447716 -0.25618 9.90242 -0.052198 -0.00532632 0.123571 0.03 0.11 pose: 0.0 5.8053 -3.88122 0 -0.00960233 -0.00868138 -0.726984 0.686532 uwb: 0.0 1193.03 423.086 -imu_odom_: 1691062833.334308109 0.584185 -0.220267 9.84975 -0.0553937 -0.015979 0.127832 0.03 0.08 pose: 0.43911890 5.8053 -3.88122 0 -0.00805351 -0.00548276 -0.725776 0.687862 uwb: 0.0 1193.03 423.086 -imu_odom_: 1691062833.352283624 0.701501 -0.227449 9.93594 -0.0500674 -0.00319579 0.123571 0.03 0.08 pose: 0.0 5.8053 -3.88122 0 -0.00805351 -0.00548276 -0.725776 0.687862 uwb: 0.0 1193.03 423.086 -imu_odom_: 1691062833.368156056 0.596156 -0.265756 9.91199 -0.0543285 0.00745685 0.127832 0.03 0.08 pose: 0.0 5.8053 -3.88122 0 -0.00805351 -0.00548276 -0.725776 0.687862 uwb: 0.0 1193.03 423.086 -imu_odom_: 1691062833.385293079 0.533907 -0.304064 9.8689 -0.056459 0.00319579 0.134223 0.01 0.08 pose: 0.6941837 5.8053 -3.88122 0 -0.00749928 -0.00588166 -0.725571 0.688081 uwb: 0.0 1193.03 423.086 -imu_odom_: 1691062833.403205889 0.562637 -0.23942 9.8665 -0.0543285 -0.0117179 0.125701 0.01 0.08 pose: 0.0 5.8053 -3.88122 0 -0.00749928 -0.00588166 -0.725571 0.688081 uwb: 0.0 1193.03 423.086 -imu_odom_: 1691062833.419158816 0.663194 -0.150835 9.83299 -0.0553937 -0.00958738 0.12144 0.01 0.11 pose: 0.51032800 5.81291 -3.8877 0 -0.00842315 -0.00525257 -0.724017 0.68971 uwb: 0.0 1193.03 423.086 -imu_odom_: 1691062833.436173638 0.651223 -0.196325 9.87848 -0.056459 0.00106526 0.127832 0 0.08 pose: 0.0 5.81291 -3.8877 0 -0.00842315 -0.00525257 -0.724017 0.68971 uwb: 0.0 1193.03 423.086 -imu_odom_: 1691062833.453146462 0.486023 -0.301669 9.93594 -0.0553937 0.00852212 0.11931 0 0.08 pose: 0.0 5.81291 -3.8877 0 -0.00842315 -0.00525257 -0.724017 0.68971 uwb: 0.150124452 1192.16 422.326 -imu_odom_: 1691062833.469209341 0.371101 -0.189142 9.83538 -0.0511327 0.00213053 0.107592 0 0.08 pose: 0.68985275 5.81291 -3.8877 0 -0.00748325 -0.00706932 -0.721971 0.691847 uwb: 0.0 1192.16 422.326 -imu_odom_: 1691062833.487173481 0.476446 -0.155623 9.86172 -0.056459 -0.0117179 0.0916127 0 0.05 pose: 0.0 5.81291 -3.8877 0 -0.00748325 -0.00706932 -0.721971 0.691847 uwb: 0.0 1192.16 422.326 -imu_odom_: 1691062833.503112701 0.579397 -0.114922 9.87608 -0.0543285 -0.00958738 0.0660464 0 0.05 pose: 0.0 5.81291 -3.8877 0 -0.00748325 -0.00706932 -0.721971 0.691847 uwb: 0.49778708 1194.8 422.838 -imu_odom_: 1691062833.520164271 0.553061 -0.222661 9.89045 -0.056459 0.00106526 0.0500674 0 0.05 pose: 0.33186777 5.81291 -3.8877 0 -0.00510209 -0.00517671 -0.721217 0.692671 uwb: 0.0 1194.8 422.838 -imu_odom_: 1691062833.536171444 0.445322 -0.244209 9.87848 -0.0585895 0.00106526 0.0426106 0 0.02 pose: 0.42812956 5.81291 -3.8877 0 -0.0050853 -0.00556703 -0.720831 0.69307 uwb: 0.0 1194.8 422.838 -imu_odom_: 1691062833.551129847 0.397437 -0.198719 9.87129 -0.0543285 -0.00213053 0.0372843 0 0.02 pose: 0.6952628 5.81291 -3.8877 0 -0.00477878 -0.0049187 -0.720826 0.693082 uwb: 0.50005903 1197.44 423.314 -imu_odom_: 1691062833.566295612 0.339977 -0.203507 9.90481 -0.0543285 -0.00532632 0.04048 0 0.02 pose: 0.0 5.81291 -3.8877 0 -0.00477878 -0.0049187 -0.720826 0.693082 uwb: 0.0 1197.44 423.314 -imu_odom_: 1691062833.589266788 0.462081 -0.205901 9.90481 -0.0553937 -0.00639159 0.0383495 0 0 pose: 0.39178713 5.81291 -3.8877 0 -0.00199531 -0.00222319 -0.720837 0.693098 uwb: 0.0 1197.44 423.314 -imu_odom_: 1691062833.606264986 -0.265756 -0.272939 9.65821 -0.0596548 0.0596548 0.0127832 0 0 pose: 0.0 5.81291 -3.8877 0 -0.00199531 -0.00222319 -0.720837 0.693098 uwb: 0.50015527 1196.55 422.615 -imu_odom_: 1691062833.623151191 -1.02472 -0.126893 10.0437 -0.0468716 0.0479369 -0.0958738 0.02 -0.14 pose: 0.39969374 5.81283 -3.88767 0 0.000740621 -0.00236492 -0.721012 0.692918 uwb: 0.0 1196.55 422.615 -imu_odom_: 1691062833.640122849 -1.14203 0.244209 9.90721 -0.0543285 -0.0340885 -0.198139 0.03 -0.2 pose: 0.0 5.81283 -3.88767 0 0.000740621 -0.00236492 -0.721012 0.692918 uwb: 0.0 1196.55 422.615 -imu_odom_: 1691062833.658114696 0.0215478 0.122104 10.0628 -0.0628506 -0.0884169 -0.257794 0.04 -0.26 pose: 0.0 5.81283 -3.88767 0 0.000740621 -0.00236492 -0.721012 0.692918 uwb: 0.0 1196.55 422.615 -imu_odom_: 1691062833.676368153 0.399832 -0.339977 9.81144 -0.0703074 -0.0553937 -0.299339 0.04 -0.26 pose: 0.41879094 5.81291 -3.8877 0 0.00421654 -0.000497507-0.724023 0.689763 uwb: 0.0 1196.55 422.615 -imu_odom_: 1691062833.693251441 0.409408 -0.351948 9.94312 -0.0649811 -0.0117179 -0.333428 0.07 -0.35 pose: 0.0 5.81291 -3.8877 0 0.00421654 -0.000497507-0.724023 0.689763 uwb: 0.99977683 1201.19 423.866 -imu_odom_: 1691062833.709123581 0.177171 -0.335188 9.67736 -0.0490022 0.0298274 -0.368581 0.07 -0.35 pose: 0.0 5.81291 -3.8877 0 0.00421654 -0.000497507-0.724023 0.689763 uwb: 0.0 1201.19 423.866 -imu_odom_: 1691062833.726397096 -0.186748 0.191536 10.1275 -0.0500674 0.0170442 -0.394148 0.07 -0.35 pose: 0.35114872 5.80642 -3.8953 0 0.00225521 0.000404076 -0.728063 0.685506 uwb: 0.0 1201.19 423.866 -imu_odom_: 1691062833.744160873 0.184354 0.0454898 9.60793 -0.072438 -0.0394148 -0.40267 0.08 -0.44 pose: 0.34144553 5.80642 -3.8953 0 0.00285998 0.0027433 -0.732772 0.680463 uwb: 0.50131603 1200.08 423.827 -imu_odom_: 1691062833.761314520 -0.102951 -0.356736 9.85453 -0.0607201 0.036219 -0.447411 0.08 -0.44 pose: 0.0 5.80642 -3.8953 0 0.00285998 0.0027433 -0.732772 0.680463 uwb: 0.0 1200.08 423.827 -imu_odom_: 1691062833.776315504 0.167594 -0.110133 9.86172 -0.0596548 -0.0255663 -0.477238 0.1 -0.53 pose: 0.0 5.80642 -3.8953 0 0.00285998 0.0027433 -0.732772 0.680463 uwb: 0.0 1200.08 423.827 -imu_odom_: 1691062833.793135212 -0.308852 -0.225055 9.34696 -0.0681769 0.015979 -0.471912 0.1 -0.53 pose: 0.43911015 5.80642 -3.8953 0 0.00606693 0.00403236 -0.73956 0.673051 uwb: 0.49850454 1200.22 423.428 -imu_odom_: 1691062833.810275444 -0.0885855 -0.150835 10.0963 -0.0703074 -0.0511327 -0.487891 0.1 -0.53 pose: 0.0 5.80642 -3.8953 0 0.00606693 0.00403236 -0.73956 0.673051 uwb: 0.0 1200.22 423.428 -imu_odom_: 1691062833.827107985 0.385466 -0.335188 9.64863 -0.0756338 -0.0458064 -0.527306 0.14 -0.76 pose: 0.6071556 5.80642 -3.8953 0 0.00661098 0.00402071 -0.740611 0.671889 uwb: 0.0 1200.22 423.428 -imu_odom_: 1691062833.844110266 0.308852 -0.201113 9.94312 -0.04048 0.0298274 -0.568851 0.14 -0.76 pose: 0.0 5.80642 -3.8953 0 0.00661098 0.00402071 -0.740611 0.671889 uwb: 0.50035359 1200.88 423.16 -imu_odom_: 1691062833.861117797 0.023942 0.0215478 9.51935 -0.056459 -0.0223706 -0.570982 0.14 -0.76 pose: 0.0 5.80642 -3.8953 0 0.00661098 0.00402071 -0.740611 0.671889 uwb: 0.0 1200.88 423.16 -imu_odom_: 1691062833.879176140 0.816423 -0.0023942 10.2065 -0.0745685 -0.0713727 -0.510262 0.11 -0.55 pose: 0.49929199 5.80752 -3.90942 0 0.00870685 0.0062513 -0.749347 0.662091 uwb: 0.0 1200.88 423.16 -imu_odom_: 1691062833.896144298 0.476446 -0.452504 9.34696 -0.0639159 0.0138484 -0.437824 0.09 -0.5 pose: 0.0 5.80752 -3.90942 0 0.00870685 0.0062513 -0.749347 0.662091 uwb: 0.50012028 1198.34 422.332 -imu_odom_: 1691062833.913130247 0.818817 -0.469264 10.0102 -0.0511327 -0.02024 -0.40267 0.09 -0.5 pose: 0.70026755 5.80752 -3.90942 0 0.0057813 0.0033996 -0.762493 0.646962 uwb: 0.0 1198.34 422.332 -imu_odom_: 1691062833.930475216 1.09415 -0.203507 9.34217 -0.052198 -0.0884169 -0.347276 0.1 -0.53 pose: 0.0 5.80752 -3.90942 0 0.0057813 0.0033996 -0.762493 0.646962 uwb: 0.0 1198.34 422.332 -imu_odom_: 1691062833.946119869 0.833182 -0.23942 9.50259 -0.04048 -0.0479369 -0.335558 0.1 -0.53 pose: 0.0 5.80752 -3.90942 0 0.0057813 0.0033996 -0.762493 0.646962 uwb: 0.49830330 1198.48 421.933 -imu_odom_: 1691062833.964122799 1.14203 -0.205901 9.79228 -0.0596548 -0.0149137 -0.335558 0.1 -0.53 pose: 0.32931876 5.80752 -3.90942 0 0.00244636 0.00250744 -0.767174 0.641429 uwb: 0.0 1198.48 421.933 -imu_odom_: 1691062833.982241222 1.33836 -0.112527 10.0628 -0.0671117 -0.00639159 -0.285491 0.06 -0.32 pose: 0.43848893 5.80101 -3.91701 0 -0.00154352 -0.000911189-0.772466 0.635054 uwb: 0.0 1198.48 421.933 -imu_odom_: 1691062833.996128397 1.05584 -0.351948 10.07 -0.0479369 0.0415453 -0.24288 0.06 -0.32 pose: 0.8026190 5.80101 -3.91701 0 -0.00213463 -0.00146267 -0.773293 0.634044 uwb: 0.50136853 1201.67 422.492 -imu_odom_: 1691062834.13242088 0.936133 -0.565032 9.72764 -0.0585895 -0.015979 -0.164051 0.06 -0.32 pose: 0.0 5.80101 -3.91701 0 -0.00213463 -0.00146267 -0.773293 0.634044 uwb: 0.0 1201.67 422.492 -imu_odom_: 1691062834.29239638 1.08936 -0.397437 9.95988 -0.0532632 0.00852212 -0.118244 0.04 -0.26 pose: 0.41093099 5.80093 -3.91698 0 -0.00564562 -0.00270798 -0.776654 0.629896 uwb: 0.0 1201.67 422.492 -imu_odom_: 1691062834.47171697 0.196325 -0.318429 9.71088 -0.0372843 0.0820254 -0.156594 0.06 -0.38 pose: 0.0 5.80093 -3.91698 0 -0.00564562 -0.00270798 -0.776654 0.629896 uwb: 0.50059275 1200.56 422.429 -imu_odom_: 1691062834.65120964 0.146046 0.150835 10.2185 -0.0436758 -0.0490022 -0.209857 0.06 -0.38 pose: 0.0 5.80093 -3.91698 0 -0.00564562 -0.00270798 -0.776654 0.629896 uwb: 0.0 1200.56 422.429 -imu_odom_: 1691062834.89241531 0.730232 -0.160412 9.8258 -0.0649811 -0.0276969 -0.153398 0.03 -0.17 pose: 0.23903872 5.80865 -3.92346 0 -0.00619619 -0.00255096 -0.777932 0.628312 uwb: 0.0 1200.56 422.429 -imu_odom_: 1691062834.114186299 0.533907 -0.770933 9.83059 -0.0745685 0.0181095 -0.140615 0.03 -0.17 pose: 0.35000545 5.80865 -3.92346 0 -0.00412995 -0.00282785 -0.780385 0.625279 uwb: 0.50093691 1202.69 422.823 -imu_odom_: 1691062834.129353815 -0.37589 -0.177171 9.83299 -0.0394148 0.072438 -0.252468 0.05 -0.26 pose: 0.42039794 5.80858 -3.92344 0 -0.00682441 -0.00196155 -0.782798 0.622235 uwb: 0.0 1202.69 422.823 -imu_odom_: 1691062834.153225605 -0.936133 0.517148 9.7851 -0.0490022 -0.0245011 -0.436758 0.05 -0.26 pose: 0.7060831 5.80865 -3.92346 0 -0.00598154 -0.00146149 -0.783444 0.621432 uwb: 0.49878453 1202.26 422.425 -imu_odom_: 1691062834.178225203 -0.0407014 -0.251391 10.4124 -0.0649811 -0.0351537 -0.454868 0.1 -0.5 pose: 0.31978475 5.80213 -3.93108 0 -0.00279757 -0.000722367-0.787704 0.616047 uwb: 0.0 1202.26 422.425 -imu_odom_: 1691062834.202239901 0.110133 -0.440533 9.63666 -0.076699 -0.0426106 -0.468716 0.1 -0.5 pose: 0.0 5.80213 -3.93108 0 -0.00279757 -0.000722367-0.787704 0.616047 uwb: 0.49845205 1204.29 423.09 -imu_odom_: 1691062834.225133207 0.217872 -0.047884 10.058 -0.0660464 0.00426106 -0.493217 0.1 -0.53 pose: 0.49014296 5.80213 -3.93108 0 -0.0009922890.00289529 -0.795207 0.60633 uwb: 0.0 1204.29 423.09 -imu_odom_: 1691062834.243243756 -0.155623 0.0646434 9.6606 -0.0607201 -0.0191748 -0.531567 0.1 -0.53 pose: 0.0 5.80213 -3.93108 0 -0.0009922890.00289529 -0.795207 0.60633 uwb: 0.49992780 1202.27 422.427 -imu_odom_: 1691062834.268267561 0.0287304 -0.0694318 9.84735 -0.0585895 -0.0511327 -0.575243 0.11 -0.58 pose: 0.41003855 5.79855 -3.93532 0 0.00284518 0.00257376 -0.801982 0.597335 uwb: 0.0 1202.27 422.427 -imu_odom_: 1691062834.294248559 0.35913 -0.136469 10.2879 -0.0458064 -0.0372843 -0.583765 0.11 -0.58 pose: 0.0 5.79855 -3.93532 0 0.00284518 0.00257376 -0.801982 0.597335 uwb: 0.49995112 1201.23 422.14 -imu_odom_: 1691062834.310247275 0.296881 -0.172383 9.59357 -0.0735032 -0.00745685 -0.591222 0.14 -0.67 pose: 0.32018723 5.79572 -3.93872 0 0.00460179 0.00192812 -0.807831 0.589392 uwb: 0.0 1201.23 422.14 -imu_odom_: 1691062834.336084490 -0.0047884 -0.0670376 9.96227 -0.0617853 -0.0223706 -0.598679 0.14 -0.67 pose: 0.0 5.79572 -3.93872 0 0.00460179 0.00192812 -0.807831 0.589392 uwb: 0.0 1201.23 422.14 -imu_odom_: 1691062834.358174886 0.107739 0.0287304 10.0844 -0.0490022 -0.0127832 -0.633832 0.13 -0.67 pose: 0.60822011 5.79845 -3.95095 0 0.00736274 0.00175831 -0.818989 0.57376 uwb: 0.0 1201.23 422.14 -imu_odom_: 1691062834.383161651 0.174777 -0.110133 9.44513 -0.0649811 -0.036219 -0.64342 0.13 -0.67 pose: 0.0 5.79845 -3.95095 0 0.00736274 0.00175831 -0.818989 0.57376 uwb: 0.0 1201.23 422.14 -imu_odom_: 1691062834.401221162 0.311246 0.0957681 9.79707 -0.0681769 0 -0.646616 0.16 -0.82 pose: 0.47077161 5.79685 -3.9528 0 0.0114148 0.00183049 -0.828014 0.560588 uwb: 0.99986726 1200.67 422.12 -imu_odom_: 1691062834.425220402 0.342371 -0.131681 9.84975 -0.0884169 -0.0394148 -0.661529 0.16 -0.82 pose: 0.8089770 5.79692 -3.95282 0 0.0114917 0.00111158 -0.829562 0.558296 uwb: 0.0 1200.67 422.12 -imu_odom_: 1691062834.451259439 -0.100556 -0.0215478 9.85693 -0.0596548 -0.015979 -0.717988 0.18 -0.91 pose: 0.33968981 5.79015 -3.96033 0 0.00871666 -0.000286726-0.836122 0.548474 uwb: 0.50001821 1206.78 424.054 -imu_odom_: 1691062834.465239066 0.797269 0.0646434 10.1179 -0.0671117 -0.00639159 -0.722249 0.18 -0.91 pose: 0.0 5.79015 -3.96033 0 0.00871666 -0.000286726-0.836122 0.548474 uwb: 0.0 1206.78 424.054 -imu_odom_: 1691062834.489078483 0.64404 0.0861913 10.477 -0.0692422 -0.0575243 -0.72651 0.14 -0.73 pose: 0.0 5.79015 -3.96033 0 0.00871666 -0.000286726-0.836122 0.548474 uwb: 0.0 1206.78 424.054 -imu_odom_: 1691062834.515215805 0.143652 -0.411803 10.1155 -0.0852212 0.0149137 -0.72651 0.14 -0.73 pose: 0.40018664 5.79009 -3.96031 0 0.010049 -0.000339446-0.844343 0.535708 uwb: 0.50178852 1201.73 422.338 -imu_odom_: 1691062834.541123599 0.361524 -0.124498 10.2089 -0.0500674 0.02024 -0.76486 0.16 -0.79 pose: 0.49976739 5.78335 -3.96787 0 0.00779817 0.0007055 -0.854459 0.51946 uwb: 0.0 1201.73 422.338 -imu_odom_: 1691062834.559081324 0.442927 -0.280122 9.79228 -0.0649811 0.00106526 -0.772317 0.16 -0.79 pose: 0.0 5.78335 -3.96787 0 0.00779817 0.0007055 -0.854459 0.51946 uwb: 0.49960698 1199.1 421.75 -imu_odom_: 1691062834.583205682 0.787692 0.0837971 9.98382 -0.0575243 -0.00852212 -0.778708 0.16 -0.79 pose: 0.43865519 5.78517 -3.98215 0 0.00447277 -0.000239063-0.863536 0.504267 uwb: 0.0 1199.1 421.75 -imu_odom_: 1691062834.609075854 0.241814 -0.009576819.49062 -0.0319579 -0.0255663 -0.780839 0.16 -0.79 pose: 0.6989085 5.78525 -3.98217 0 0.00409539 -0.000825772-0.864974 0.501799 uwb: 0.49962449 1197.04 421.168 -imu_odom_: 1691062834.634218068 0.268151 0.143652 9.33978 -0.056459 -0.0223706 -0.784035 0.16 -0.82 pose: 0.24175688 5.78525 -3.98217 0 -0.00382564 0.00256935 0.869894 -0.493216 uwb: 0.0 1197.04 421.168 -imu_odom_: 1691062834.659073883 0.332794 -0.260968 9.77313 -0.0468716 0.015979 -0.803209 0.16 -0.82 pose: 0.26990397 5.7788 -3.98981 0 -0.00610821 0.00396988 0.875295 -0.483534 uwb: 0.49889535 1201.15 422.36 -imu_odom_: 1691062834.673051469 0.277727 -0.011971 9.65821 -0.036219 -0.02024 -0.813862 0.18 -0.91 pose: 0.0 5.7788 -3.98981 0 -0.00610821 0.00396988 0.875295 -0.483534 uwb: 0.0 1201.15 422.36 -imu_odom_: 1691062834.697181952 0.608127 -0.435745 9.27035 -0.0532632 -0.0213053 -0.815993 0.18 -0.91 pose: 0.24114734 5.7788 -3.98981 0 -0.00694915 0.00453685 0.880079 -0.474754 uwb: 0.50121689 1202.67 422.89 -imu_odom_: 1691062834.721074449 0.251391 0.203507 9.59596 -0.0191748 -0.04048 -0.810666 0.16 -0.79 pose: 0.38996433 5.77234 -3.99744 0 -0.00668603 0.00363594 0.887824 -0.46012 uwb: 0.0 1202.67 422.89 -imu_odom_: 1691062834.747119027 -0.0335188 -0.102951 10.2352 -0.0575243 -0.00106526 -0.809601 0.22 -1.17 pose: 0.0 5.77234 -3.99744 0 -0.00668603 0.00363594 0.887824 -0.46012 uwb: 0.49925409 1199 422.038 -imu_odom_: 1691062834.763123576 0.253785 -0.0407014 9.79468 -0.0575243 0.0170442 -0.792557 0.22 -1.17 pose: 0.40726788 5.76758 -4.00278 0 -0.00650923 0.00530605 0.895671 -0.444638 uwb: 0.0 1199 422.038 -imu_odom_: 1691062834.789064035 0.414197 -0.136469 9.59835 -0.0426106 -0.0617853 -0.802144 0.22 -1.17 pose: 0.0 5.76758 -4.00278 0 -0.00650923 0.00530605 0.895671 -0.444638 uwb: 0.0 1199 422.038 -imu_odom_: 1691062834.811193511 0.509965 -0.114922 9.47146 -0.036219 0.0575243 -0.838363 0.21 -1.06 pose: 0.7109828 5.76593 -4.00512 0 -0.00712807 0.00488577 0.89701 -0.441927 uwb: 0.49942907 1200.98 422.823 -imu_odom_: 1691062834.836249981 0.117316 -0.0909797 9.4547 -0.0340885 -0.0138484 -0.817058 0.19 -0.94 pose: 0.42926991 5.76593 -4.00512 0 -0.00942747 0.00437757 0.904834 -0.425638 uwb: 0.0 1200.98 422.823 -imu_odom_: 1691062834.853174100 0.25618 0.344765 9.95748 -0.04048 -0.0884169 -0.809601 0.19 -0.94 pose: 0.0 5.76593 -4.00512 0 -0.00942747 0.00437757 0.904834 -0.425638 uwb: 0.49994238 1204.41 424.329 -imu_odom_: 1691062834.871182280 0.493206 -0.0670376 9.74919 -0.0479369 -0.0276969 -0.824515 0.19 -0.94 pose: 0.0 5.76593 -4.00512 0 -0.00942747 0.00437757 0.904834 -0.425638 uwb: 0.0 1204.41 424.329 -imu_odom_: 1691062834.896063177 0.447716 -0.134075 9.3709 -0.0756338 -0.02024 -0.840494 0.17 -0.88 pose: 0.47950942 5.75946 -4.01274 0 -0.00658419 0.0046876 0.91344 -0.406894 uwb: 0.50001821 1207.77 426.056 -imu_odom_: 1691062834.922193500 1.06781 0.0670376 9.98861 -0.0628506 -0.0298274 -0.833037 0.18 -0.94 pose: 0.77000967 5.74868 -4.02566 0 -0.00390456 0.00576592 0.926474 -0.376295 uwb: 0.0 1207.77 426.056 -imu_odom_: 1691062834.945247797 0.507571 -0.35913 9.69891 -0.0596548 -0.0149137 -0.869256 0.18 -0.94 pose: 0.0 5.74868 -4.02566 0 -0.00390456 0.00576592 0.926474 -0.376295 uwb: 0.50196643 1210.72 427.308 -imu_odom_: 1691062834.970079404 1.01754 0.253785 9.9096 -0.072438 -0.0543285 -0.870321 0.18 -0.91 pose: 0.7996442 5.74669 -4.02813 0 -0.0031556 0.00621183 0.927779 -0.373065 uwb: 0.0 1210.72 427.308 -imu_odom_: 1691062834.996194270 0.251391 -0.227449 9.94073 -0.0490022 0.0191748 -0.892692 0.18 -0.91 pose: 0.0 5.74669 -4.02813 0 -0.0031556 0.00621183 0.927779 -0.373065 uwb: 0.49947865 1209.99 427.742 -imu_odom_: 1691062835.22198017 0.577003 -0.21069 10.2496 -0.0319579 0.0170442 -0.884169 0.18 -0.91 pose: 0.49024212 5.74028 -4.03581 0 0.000647173 0.00600784 0.935744 -0.35263 uwb: 0.0 1209.99 427.742 -imu_odom_: 1691062835.46187342 0.248997 0.0933739 10.003 -0.0415453 -0.0479369 -0.887365 0.18 -0.91 pose: 0.0 5.74028 -4.03581 0 0.000647173 0.00600784 0.935744 -0.35263 uwb: 0.50052861 1210.19 428.741 -imu_odom_: 1691062835.63204206 -0.0263362 -0.0454898 9.663 -0.0394148 -0.015979 -0.892692 0.26 -1.32 pose: 0.52165276 5.7339 -4.04351 0 0.00068745 0.00521217 0.943968 -0.329994 uwb: 0.0 1210.19 428.741 -imu_odom_: 1691062835.89234202 0.0430956 0.148441 9.62469 -0.0607201 -0.0330232 -0.864995 0.26 -1.32 pose: 0.0 5.7339 -4.04351 0 0.00068745 0.00521217 0.943968 -0.329994 uwb: 0.0 1210.19 428.741 -imu_odom_: 1691062835.115044002 1.06063 -0.234632 10.2232 -0.0873517 -0.00106526 -0.860734 0.19 -0.97 pose: 0.47954151 5.71982 -4.04482 0 -0.0003992950.00623127 0.951063 -0.308933 uwb: 0.49787751 1206.52 427.974 -imu_odom_: 1691062835.141050083 0.986411 -0.280122 9.9096 -0.0511327 -0.00958738 -0.885235 0.19 -0.97 pose: 0.61840744 5.71498 -4.04974 0 -0.0009968270.00654217 0.959353 -0.282131 uwb: 0.0 1206.52 427.974 -imu_odom_: 1691062835.158278684 0.318429 0.102951 10.2711 -0.0436758 -0.0394148 -0.864995 0.19 -0.97 pose: 0.0 5.71498 -4.04974 0 -0.0009968270.00654217 0.959353 -0.282131 uwb: 0.49998614 1209.27 429.726 -imu_odom_: 1691062835.182085437 0.00718261 -0.0263362 9.82102 -0.0351537 0.0276969 -0.863929 0.18 -0.91 pose: 0.9145832 5.71345 -4.05253 0 -9.29532e-050.00652305 0.960536 -0.278078 uwb: 0.0 1209.27 429.726 -imu_odom_: 1691062835.200037329 0.131681 0.0454898 9.95509 -0.0319579 -0.0436758 -0.902279 0.18 -0.91 pose: 0.0 5.71345 -4.05253 0 -9.29532e-050.00652305 0.960536 -0.278078 uwb: 0.50049361 1209.12 430.122 -imu_odom_: 1691062835.216090876 0.246603 -0.0981623 9.77313 -0.0607201 -0.0308927 -0.890561 0.18 -0.91 pose: 0.0 5.71345 -4.05253 0 -9.29532e-050.00652305 0.960536 -0.278078 uwb: 0.0 1209.12 430.122 -imu_odom_: 1691062835.233028995 0.557849 0.047884 10.0413 -0.104396 -0.0575243 -0.861799 0.26 -1.32 pose: 0.41910011 5.70709 -4.06025 0 -0.0005273360.00763651 0.965672 -0.259653 uwb: 0.0 1209.12 430.122 -imu_odom_: 1691062835.249025378 0.505177 0.0407014 10.1682 -0.0937433 -0.0628506 -0.860734 0.26 -1.32 pose: 0.0 5.70709 -4.06025 0 -0.0005273360.00763651 0.965672 -0.259653 uwb: 0.50063068 1203.57 428.292 -imu_odom_: 1691062835.267058057 1.11091 0.416591 10.2328 -0.0628506 -0.0820254 -0.869256 0.24 -1.2 pose: 0.56952409 5.69302 -4.06163 0 -0.00438106 0.00726937 0.972163 -0.234153 uwb: 0.0 1203.57 428.292 -imu_odom_: 1691062835.282147703 0.833182 -0.1652 9.165 -0.106526 -0.0969391 -0.860734 0.18 -0.94 pose: 0.0 5.69302 -4.06163 0 -0.00438106 0.00726937 0.972163 -0.234153 uwb: 0.0 1203.57 428.292 -imu_odom_: 1691062835.300017350 0.794875 -0.191536 9.15303 -0.0596548 -0.0266316 -0.876713 0.24 -1.23 pose: 0.0 5.69302 -4.06163 0 -0.00438106 0.00726937 0.972163 -0.234153 uwb: 0.49924826 1209.96 430.905 -imu_odom_: 1691062835.317110334 0.859518 -0.196325 9.84256 -0.0703074 -0.0170442 -0.883104 0.24 -1.23 pose: 0.67039102 5.68667 -4.06936 0 0.00315547 0.00949815 0.978793 -0.204605 uwb: 0.0 1209.96 430.905 -imu_odom_: 1691062835.331019967 0.687136 -0.0407014 10.07 -0.0575243 -0.0543285 -0.889496 0.24 -1.23 pose: 0.0 5.68667 -4.06936 0 0.00315547 0.00949815 0.978793 -0.204605 uwb: 0.0 1209.96 430.905 -imu_odom_: 1691062835.349084727 0.474052 -0.387861 10.1227 -0.0628506 -0.00319579 -0.899083 0.18 -0.94 pose: 0.0 5.68667 -4.06936 0 0.00315547 0.00949815 0.978793 -0.204605 uwb: 0.50002406 1208.29 430.841 -imu_odom_: 1691062835.363030524 0.502782 0.248997 9.54329 -0.0777643 -0.0340885 -0.890561 0.18 -0.94 pose: 0.33993189 5.68667 -4.06936 0 0.00672962 0.00919641 0.98186 -0.189264 uwb: 0.0 1208.29 430.841 -imu_odom_: 1691062835.380026973 0.670376 0.122104 10.24 -0.0553937 -0.0607201 -0.903344 0.17 -0.88 pose: 0.38945979 5.67226 -4.07057 0 0.00689754 0.00893169 0.985141 -0.171376 uwb: 0.0 1208.29 430.841 -imu_odom_: 1691062835.403159432 0.555455 0.354342 10.4028 -0.0713727 -0.056459 -0.910801 0.17 -0.88 pose: 0.0 5.67226 -4.07057 0 0.00689754 0.00893169 0.985141 -0.171376 uwb: 0.49918993 1210.66 432.066 -imu_odom_: 1691062835.421022079 0.988805 0.0933739 10.1634 -0.0703074 0.0255663 -0.875647 0.18 -0.88 pose: 0.7130243 5.67259 -4.07068 0 0.00729234 0.00966524 0.985703 -0.168058 uwb: 0.0 1210.66 432.066 -imu_odom_: 1691062835.435082786 0.962469 0.0837971 9.67736 -0.0756338 -0.056459 -0.836233 0.19 -0.82 pose: 0.0 5.67259 -4.07068 0 0.00729234 0.00966524 0.985703 -0.168058 uwb: 0.0 1210.66 432.066 -imu_odom_: 1691062835.452029946 0.744597 -0.263362 9.89524 -0.0532632 -0.0213053 -0.828776 0.19 -0.76 pose: 0.0 5.67259 -4.07068 0 0.00729234 0.00966524 0.985703 -0.168058 uwb: 0.50147355 1206.4 431.38 -imu_odom_: 1691062835.470143120 0.471658 -0.148441 9.414 -0.0543285 0.0213053 -0.76699 0.19 -0.76 pose: 0.71865898 5.66625 -4.07841 0 0.011001 0.0132628 0.990635 -0.135444 uwb: 0.0 1206.4 431.38 -imu_odom_: 1691062835.484195661 0.294487 -0.196325 10.477 -0.0788296 0.0117179 -0.639159 0.2 -0.7 pose: 0.0 5.66625 -4.07841 0 0.011001 0.0132628 0.990635 -0.135444 uwb: 0.0 1206.4 431.38 -imu_odom_: 1691062835.501163236 0.68953 -0.387861 10.0054 -0.052198 -0.0671117 -0.541154 0.2 -0.7 pose: 0.0 5.66625 -4.07841 0 0.011001 0.0132628 0.990635 -0.135444 uwb: 0.49860955 1209.2 432.93 -imu_odom_: 1691062835.517150578 0.538695 -0.234632 9.5816 -0.0585895 -0.052198 -0.532632 0.2 -0.7 pose: 0.34117432 5.65215 -4.07973 0 0.00933218 0.0108011 0.99244 -0.121895 uwb: 0.0 1209.2 432.93 -imu_odom_: 1691062835.535152343 0.54109 0.071826 9.67497 -0.0703074 -0.00426106 -0.507066 0.23 -0.67 pose: 0.41006481 5.65206 -4.0797 0 0.00962076 0.00732842 0.993884 -0.109769 uwb: 0.0 1209.2 432.93 -imu_odom_: 1691062835.552147333 0.25618 0.0287304 10.0341 -0.0436758 0.015979 -0.470847 0.23 -0.67 pose: 0.8009566 5.65215 -4.07973 0 0.00925853 0.00800974 0.994121 -0.107583 uwb: 0.0 1209.2 432.93 -imu_odom_: 1691062835.569069120 0.155623 -0.526724 10.0963 -0.0585895 -0.0181095 -0.434628 0.23 -0.67 pose: 0.0 5.65215 -4.07973 0 0.00925853 0.00800974 0.994121 -0.107583 uwb: 0.0 1209.2 432.93 -imu_odom_: 1691062835.587007888 0.6608 -0.201113 9.94791 -0.0543285 -0.02024 -0.409062 0.18 -0.44 pose: 0.43908976 5.63798 -4.08095 0 0.00603535 0.00783871 0.99528 -0.0965356 uwb: 0.0 1209.2 432.93 -imu_odom_: 1691062835.604088332 0.816423 0.0023942 9.65103 -0.0245011 0.0149137 -0.383495 0.18 -0.38 pose: 0.0 5.63798 -4.08095 0 0.00603535 0.00783871 0.99528 -0.0965356 uwb: 0.100060224 1209.97 433.89 -imu_odom_: 1691062835.617195928 -0.0191536 -0.158017 10.0245 -0.0458064 0.052198 -0.345146 0.18 -0.38 pose: 0.0 5.63798 -4.08095 0 0.00603535 0.00783871 0.99528 -0.0965356 uwb: 0.0 1209.97 433.89 -imu_odom_: 1691062835.635137029 0.78051 -0.0383072 9.78031 -0.0798948 0.00958738 -0.332363 0.18 -0.38 pose: 0.25959125 5.63806 -4.08098 0 0.00813134 0.00721693 0.995804 -0.0908598 uwb: 0.0 1209.97 433.89 -imu_odom_: 1691062835.652060274 0.64404 -0.162806 9.69173 -0.0543285 0.0127832 -0.32171 0.18 -0.32 pose: 0.0 5.63806 -4.08098 0 0.00813134 0.00721693 0.995804 -0.0908598 uwb: 0.49939993 1210.73 434.874 -imu_odom_: 1691062835.669054098 0.201113 0.0215478 9.59357 -0.0372843 0.0436758 -0.302535 0.18 -0.32 pose: 0.30111336 5.62397 -4.08217 0 0.0078631 0.00766142 0.996323 -0.0849714 uwb: 0.0 1210.73 434.874 -imu_odom_: 1691062835.687129650 0.775721 -0.337582 10.2065 -0.0649811 -0.107592 -0.259925 0.17 -0.29 pose: 0.43914517 5.62034 -4.08638 0 0.00760485 0.00710174 0.996962 -0.0771899 uwb: 0.0 1210.73 434.874 -imu_odom_: 1691062835.700243371 0.847547 -0.227449 9.48104 -0.0628506 -0.0213053 -0.250337 0.17 -0.29 pose: 0.0 5.62034 -4.08638 0 0.00760485 0.00710174 0.996962 -0.0771899 uwb: 0.50090774 1208.44 435 -imu_odom_: 1691062835.717124327 0.907402 -0.383072 9.62708 -0.0532632 0.0830906 -0.216249 0.17 -0.29 pose: 0.0 5.62034 -4.08638 0 0.00760485 0.00710174 0.996962 -0.0771899 uwb: 0.0 1208.44 435 -imu_odom_: 1691062835.733119543 0.960075 -0.447716 10.5105 -0.0894822 -0.0628506 -0.165116 0.15 -0.32 pose: 0.8081020 5.61751 -4.08981 0 0.00857558 0.00652069 0.99705 -0.0759884 uwb: 0.0 1208.44 435 -imu_odom_: 1691062835.751137931 1.76692 -0.0981623 9.69891 -0.0585895 -0.0585895 -0.22051 0.13 -0.32 pose: 0.0 5.61751 -4.08981 0 0.00857558 0.00652069 0.99705 -0.0759884 uwb: 0.50030987 1207.17 435.408 -imu_odom_: 1691062835.768126214 1.90339 0.155623 9.7851 -0.0319579 0.0500674 -0.250337 0.13 -0.32 pose: 0.64055237 5.60986 -4.08336 0 0.0144221 0.00318083 0.997589 -0.0678151 uwb: 0.0 1207.17 435.408 -imu_odom_: 1691062835.785242531 0.993594 -0.0766145 10.0173 -0.0820254 0.102265 -0.191748 0.11 -0.26 pose: 0.0 5.60986 -4.08336 0 0.0144221 0.00318083 0.997589 -0.0678151 uwb: 0.0 1207.17 435.408 -imu_odom_: 1691062835.802139819 0.332794 -0.713472 10.0485 -0.0671117 0.0532632 -0.176834 0.11 -0.26 pose: 0.0 5.60986 -4.08336 0 0.0144221 0.00318083 0.997589 -0.0678151 uwb: 0.0 1207.17 435.408 -imu_odom_: 1691062835.818272986 0.663194 -0.347159 9.7444 -0.0660464 -0.015979 -0.229032 0.11 -0.26 pose: 0.33814409 5.60344 -4.09103 0 0.0170777 0.00424251 0.997841 -0.0632702 uwb: 0.0 1207.17 435.408 -imu_odom_: 1691062835.834992659 0.713472 0.0454898 9.66539 -0.0426106 0 -0.213053 0.13 -0.29 pose: 0.43268222 5.59952 -4.08776 0 0.0157927 0.00132954 0.998182 -0.058143 uwb: 0.0 1207.17 435.408 -imu_odom_: 1691062835.851143325 0.881066 0.071826 9.92397 -0.0671117 0.00958738 -0.156594 0.13 -0.29 pose: 0.7726666 5.59576 -4.08462 0 0.0157506 0.00216574 0.998239 -0.0571572 uwb: 0.99965438 1209.46 436.781 -imu_odom_: 1691062835.867990741 0.797269 -0.42138 10.3118 -0.0681769 -0.02024 -0.131028 0.13 -0.29 pose: 0.0 5.59576 -4.08462 0 0.0157506 0.00216574 0.998239 -0.0571572 uwb: 0.0 1209.46 436.781 -imu_odom_: 1691062835.884046329 0.687136 -0.244209 9.80665 -0.0447411 -0.0106526 -0.144876 0.07 -0.17 pose: 0.41991089 5.59576 -4.08462 0 0.0169782 0.00273128 0.998447 -0.0529985 uwb: 0.0 1209.46 436.781 -imu_odom_: 1691062835.909043595 0.785298 0.0287304 9.88566 -0.0596548 -0.00745685 -0.0958738 0.09 -0.23 pose: 0.0 5.59576 -4.08462 0 0.0169782 0.00273128 0.998447 -0.0529985 uwb: 0.49911411 1206.84 436.314 -imu_odom_: 1691062835.923038972 0.502782 -0.225055 9.7875 -0.0617853 0.0181095 -0.0852212 0.09 -0.23 pose: 0.24010032 5.59576 -4.08462 0 0.0163339 0.00226544 0.998563 -0.0509919 uwb: 0.0 1206.84 436.314 -imu_odom_: 1691062835.947007590 -0.275333 0.0526724 10.3238 -0.0223706 0.036219 -0.201335 0.07 -0.08 pose: 0.0 5.59576 -4.08462 0 0.0163339 0.00226544 0.998563 -0.0509919 uwb: 0.50170103 1207.07 437.222 -imu_odom_: 1691062835.973125372 -1.27611 -0.155623 9.99819 -0.0649811 0.0255663 -0.0500674 0.07 -0.08 pose: 0.39029682 5.58932 -4.09226 0 0.0143106 0.00366352 0.998739 -0.0479806 uwb: 0.0 1207.07 437.222 -imu_odom_: 1691062835.996141755 0.500388 -0.304064 9.991 -0.0383495 -0.0841559 -0.0660464 0.11 -0.08 pose: 0.42094917 5.58932 -4.09226 0 0.00939623 0.00393338 0.998941 -0.0448777 uwb: 0.0 1207.07 437.222 -imu_odom_: 1691062836.14133603 0.909797 0.059855 9.88087 -0.02024 -0.0117179 -0.0479369 0.11 -0.08 pose: 0.0 5.58932 -4.09226 0 0.00939623 0.00393338 0.998941 -0.0448777 uwb: 0.0 1207.07 437.222 -imu_odom_: 1691062836.40121019 -0.0670376 -0.428562 9.47625 -0.0671117 0.0276969 -0.0266316 0.12 -0.08 pose: 0.6913548 5.58932 -4.09226 0 0.00934958 0.00339392 0.998959 -0.0445171 uwb: 0.0 1207.07 437.222 -imu_odom_: 1691062836.65960860 0.124498 -0.289698 9.79468 -0.0415453 -0.0351537 -0.0703074 0.12 -0.08 pose: 0.0 5.58932 -4.09226 0 0.00934958 0.00339392 0.998959 -0.0445171 uwb: 0.99701205 1208.88 438.343 -imu_odom_: 1691062836.87021151 0.205901 -0.186748 9.68933 -0.0575243 0 0.00213053 0.13 -0.08 pose: 0.43111606 5.58169 -4.0858 0 0.00972644 0.00316735 0.99904 -0.0425885 uwb: 0.0 1208.88 438.343 -imu_odom_: 1691062836.99965424 0.416591 -0.438139 9.80904 -0.072438 0.0511327 -0.0191748 0.13 -0.08 pose: 0.0 5.58169 -4.0858 0 0.00972644 0.00316735 0.99904 -0.0425885 uwb: 0.49970616 1208.26 438.513 -imu_odom_: 1691062836.124111366 0.466869 -0.23942 9.92157 -0.0607201 -0.00319579 -0.0479369 0.13 -0.05 pose: 0.48834643 5.5752 -4.0934 0 0.00521625 0.00176659 0.999164 -0.0404992 uwb: 0.0 1208.26 438.513 -imu_odom_: 1691062836.149995245 0.169988 -0.174777 10.4531 -0.0639159 -0.052198 -0.00958738 0.13 -0.05 pose: 0.0 5.5752 -4.0934 0 0.00521625 0.00176659 0.999164 -0.0404992 uwb: 0.50006198 1208.09 438.976 -imu_odom_: 1691062836.176033408 -0.146046 -0.25618 9.76355 -0.052198 -0.00958738 -0.0255663 0.15 -0.08 pose: 0.78010076 5.56309 -4.0922 0 0.00154843 -0.0016296 0.999269 -0.0381604 uwb: 0.0 1208.09 438.976 -imu_odom_: 1691062836.193101603 0.785298 -0.146046 9.81383 -0.056459 -0.0777643 -0.00958738 0.15 -0.08 pose: 0.0 5.56309 -4.0922 0 0.00154843 -0.0016296 0.999269 -0.0381604 uwb: 0.0 1208.09 438.976 -imu_odom_: 1691062836.217099678 0.184354 0 10.0269 -0.0671117 0.00426106 0.0138484 0.17 -0.02 pose: 0.8057105 5.56108 -4.09455 0 0.000764554 -0.00165889 0.99928 -0.0378996 uwb: 0.0 1208.09 438.976 -imu_odom_: 1691062836.242984725 0.483629 -0.0550666 10.2544 -0.0639159 -0.0298274 -0.00958738 0.19 -0.02 pose: 0.24965768 5.56108 -4.09455 0 -5.67906e-05-0.00152289 0.999309 -0.0371454 uwb: 0.100147721 1208.31 439.862 -imu_odom_: 1691062836.267135916 0.318429 0.0335188 9.9503 -0.0575243 -0.00958738 0.0117179 0.19 -0.02 pose: 0.0 5.56108 -4.09455 0 -5.67906e-05-0.00152289 0.999309 -0.0371454 uwb: 0.0 1208.31 439.862 -imu_odom_: 1691062836.284960066 0.768539 -0.301669 10.319 -0.0479369 0.0149137 -0.00745685 0.19 -0.02 pose: 0.0 5.56108 -4.09455 0 -5.67906e-05-0.00152289 0.999309 -0.0371454 uwb: 0.0 1208.31 439.862 -imu_odom_: 1691062836.308995472 0.268151 -0.134075 9.85214 -0.0585895 -0.0394148 0.00745685 0.17 -0.08 pose: 0.42160830 5.55342 -4.08812 0 -9.1842e-05 0.000925801 0.999337 -0.0363902 uwb: 0.50093984 1214.44 442.809 -imu_odom_: 1691062836.334112606 0.40462 -0.339977 10.4339 -0.0628506 -0.015979 0.00319579 0.2 -0.02 pose: 0.49895080 5.54698 -4.09578 0 0.000506232 0.00419739 0.999363 -0.0354292 uwb: 0.0 1214.44 442.809 -imu_odom_: 1691062836.350002246 0.222661 -0.189142 10.0006 -0.0628506 0.00958738 0.00319579 0.2 -0.02 pose: 0.0 5.54698 -4.09578 0 0.000506232 0.00419739 0.999363 -0.0354292 uwb: 0.49872914 1212.18 442.898 -imu_odom_: 1691062836.376003661 0.500388 -0.497994 9.83538 -0.0639159 0.0138484 0.0255663 0.16 -0.02 pose: 0.41954634 5.53934 -4.08932 0 -0.0005481610.00299423 0.999395 -0.0346582 uwb: 0.0 1212.18 442.898 -imu_odom_: 1691062836.401107670 0.474052 -0.229843 10.2448 -0.0607201 -0.0585895 0.0234358 0.16 -0.02 pose: 0.0 5.53934 -4.08932 0 -0.0005481610.00299423 0.999395 -0.0346582 uwb: 0.50007948 1215.25 445.082 -imu_odom_: 1691062836.426000526 0.397437 -0.148441 9.83299 -0.0617853 -0.0117179 0.0266316 0.19 -0.02 pose: 0.41092810 5.53287 -4.09695 0 -0.00170051 0.000353694 0.99942 -0.0339983 uwb: 0.0 1215.25 445.082 -imu_odom_: 1691062836.442064280 0.354342 -0.237026 9.48343 -0.0617853 -0.0426106 0.015979 0.19 -0.02 pose: 0.0 5.53287 -4.09695 0 -0.00170051 0.000353694 0.99942 -0.0339983 uwb: 0.0 1215.25 445.082 -imu_odom_: 1691062836.468010865 0.155623 -0.155623 10.1155 -0.0575243 -0.0276969 0.0276969 0.17 -0.02 pose: 0.51131673 5.51878 -4.09809 0 0.00171459 -0.00032043 0.999433 -0.0336128 uwb: 0.49978783 1216.43 446.324 -imu_odom_: 1691062836.482005367 0.428562 -0.184354 9.94551 -0.0415453 -0.0394148 0.00852212 0.17 -0.02 pose: 0.0 5.51878 -4.09809 0 0.00171459 -0.00032043 0.999433 -0.0336128 uwb: 0.0 1216.43 446.324 -imu_odom_: 1691062836.499108852 0.627281 -0.0430956 9.69173 -0.0692422 -0.0191748 0.0138484 0.17 -0.02 pose: 0.0 5.51878 -4.09809 0 0.00171459 -0.00032043 0.999433 -0.0336128 uwb: 0.50091651 1215.68 446.813 -imu_odom_: 1691062836.523970501 0.471658 -0.0407014 10.2089 -0.0671117 -0.00958738 0.0458064 0.16 0.02 pose: 0.40788912 5.51116 -4.09161 0 -0.0007612850.000291041 0.999446 -0.0332643 uwb: 0.0 1215.68 446.813 -imu_odom_: 1691062836.548975641 0.339977 -0.21069 10.07 -0.0575243 0.0106526 0.00958738 0.19 -0.02 pose: 0.39097928 5.50468 -4.09922 0 -7.32898e-050.00144358 0.999459 -0.0328506 uwb: 0.49905579 1215.92 447.614 -imu_odom_: 1691062836.563923545 0.174777 -0.0287304 10.1275 -0.052198 0.00319579 0.0170442 0.19 -0.02 pose: 0.34830516 5.49951 -4.09481 0 0.00169424 0.00415511 0.999452 -0.0328001 uwb: 0.0 1215.92 447.614 -imu_odom_: 1691062836.588078528 0.459687 -0.138864 10.1993 -0.0490022 -0.0500674 0.0106526 0.19 -0.02 pose: 0.0 5.49951 -4.09481 0 0.00169424 0.00415511 0.999452 -0.0328001 uwb: 0.0 1215.92 447.614 -imu_odom_: 1691062836.614013738 -0.023942 -0.0814029 9.52892 -0.0479369 -0.00106526 0.0436758 0.17 -0.02 pose: 0.8011899 5.49707 -4.09273 0 0.00101911 0.0036317 0.999459 -0.0326786 uwb: 0.50007656 1215.15 448.169 -imu_odom_: 1691062836.637954067 0.225055 -0.0215478 9.4547 -0.0543285 0.0117179 0.0245011 0.19 -0.02 pose: 0.40020999 5.49058 -4.10033 0 -0.0007842250.0034131 0.999477 -0.032135 uwb: 0.0 1215.15 448.169 -imu_odom_: 1691062836.664093140 -0.117316 -0.25618 9.89284 -0.0458064 0.0266316 0.0330232 0.19 -0.02 pose: 0.0 5.49058 -4.10033 0 -0.0007842250.0034131 0.999477 -0.032135 uwb: 0.49993365 1215.44 448.838 -imu_odom_: 1691062836.688214000 0.294487 -0.160412 9.61511 -0.0703074 0.0127832 0.0298274 0.2 0 pose: 0.49965075 5.48292 -4.0939 0 -0.002157 0.00452172 0.999479 -0.0318886 uwb: 0.0 1215.44 448.838 -imu_odom_: 1691062836.706215473 0.42138 -0.100556 10.0868 -0.0490022 -0.0319579 0.0468716 0.2 0 pose: 0.0 5.48292 -4.0939 0 -0.002157 0.00452172 0.999479 -0.0318886 uwb: 0.49868247 1217.11 450.25 -imu_odom_: 1691062836.722978311 0.493206 -0.129287 9.90002 -0.0660464 0.00639159 0.0351537 0.18 -0.02 pose: 0.50129274 5.46883 -4.09513 0 -0.00627053 0.00383719 0.999473 -0.0316217 uwb: 0.0 1217.11 450.25 -imu_odom_: 1691062836.746097646 0.584185 0.112527 9.81144 -0.0745685 0.00532632 0.036219 0.18 -0.02 pose: 0.0 5.46883 -4.09513 0 -0.00627053 0.00383719 0.999473 -0.0316217 uwb: 0.50059570 1218.77 451.665 -imu_odom_: 1691062836.761929248 0.557849 -0.471658 9.61033 -0.0777643 0.0255663 0.052198 0.18 -0.02 pose: 0.0 5.46883 -4.09513 0 -0.00627053 0.00383719 0.999473 -0.0316217 uwb: 0.0 1218.77 451.665 -imu_odom_: 1691062836.787921622 0.395043 -0.153229 9.94791 -0.052198 -0.00213053 0.0191748 0.19 0 pose: 0.41993132 5.46883 -4.09513 0 -0.00333477 0.00318007 0.99949 -0.0315964 uwb: 0.0 1218.77 451.665 -imu_odom_: 1691062836.809935898 0.574608 -0.203507 10.2304 -0.0607201 -0.0170442 0.0436758 0.18 0 pose: 0.73830742 5.45474 -4.09634 0 0.000875735 0.00120649 0.999506 -0.0313939 uwb: 0.50052278 1223.41 453.921 -imu_odom_: 1691062836.826089772 0.761356 -0.577003 9.60793 -0.0575243 -0.00106526 0.0340885 0.18 0 pose: 0.0 5.45474 -4.09634 0 0.000875735 0.00120649 0.999506 -0.0313939 uwb: 0.0 1223.41 453.921 -imu_odom_: 1691062836.842942147 0.229843 -0.107739 10.07 -0.0415453 0.0500674 0.0245011 0.18 0 pose: 0.0 5.45474 -4.09634 0 0.000875735 0.00120649 0.999506 -0.0313939 uwb: 0.49862123 1222.15 454.271 -imu_odom_: 1691062836.866974345 0.390255 -0.0694318 10.0676 -0.0575243 0.0266316 0.0426106 0.25 -0.02 pose: 0.6162259 5.45474 -4.09634 0 0.00153106 0.00115947 0.999505 -0.0314072 uwb: 0.0 1222.15 454.271 -imu_odom_: 1691062836.884065289 0.296881 -0.0407014 10.1514 -0.0500674 -0.00639159 0.0319579 0.25 -0.02 pose: 0.0 5.45474 -4.09634 0 0.00153106 0.00115947 0.999505 -0.0314072 uwb: 0.0 1222.15 454.271 -imu_odom_: 1691062836.909050889 0.0933739 -0.1652 9.6199 -0.0607201 -0.0181095 0.0298274 0.18 -0.02 pose: 0.39886548 5.44065 -4.09756 0 0.00327778 0.000123651 0.999503 -0.0313417 uwb: 0.49987533 1223.73 455.853 -imu_odom_: 1691062836.926110626 0.634463 -0.220267 9.76116 -0.0511327 0.0138484 0.0351537 0.18 -0.02 pose: 0.0 5.44065 -4.09756 0 0.00327778 0.000123651 0.999503 -0.0313417 uwb: 0.0 1223.73 455.853 -imu_odom_: 1691062836.942055971 0.071826 -0.37589 10.0054 -0.0479369 -0.02024 0.0372843 0.2 -0.02 pose: 0.58963625 5.42656 -4.09877 0 -0.00123592 0.00374773 0.999506 -0.0311878 uwb: 0.0 1223.73 455.853 -imu_odom_: 1691062836.959002840 0.514753 -0.196325 9.76595 -0.0553937 -0.0276969 0.0319579 0.23 0 pose: 0.0 5.42656 -4.09877 0 -0.00123592 0.00374773 0.999506 -0.0311878 uwb: 0.50031863 1223.39 456.678 -imu_odom_: 1691062836.983928943 0.371101 -0.134075 9.6223 -0.0596548 -0.00639159 0.036219 0.18 0.02 pose: 0.66068786 5.4195 -4.09937 0 -0.0004760480.00202879 0.999518 -0.0309845 uwb: 0.0 1223.39 456.678 -imu_odom_: 1691062837.925101 0.519542 -0.0981623 9.74201 -0.0777643 -0.00532632 0.0255663 0.18 0.02 pose: 0.0 5.4195 -4.09937 0 -0.0004760480.00202879 0.999518 -0.0309845 uwb: 0.50125190 1225.99 458.419 -imu_odom_: 1691062837.24916177 0.56982 -0.241814 9.76595 -0.0628506 0.00426106 0.0319579 0.18 0 pose: 0.41922261 5.41247 -4.09997 0 -0.0001129920.00436263 0.999515 -0.0308294 uwb: 0.0 1225.99 458.419 -imu_odom_: 1691062837.41912626 0.289698 -0.251391 10.2663 -0.056459 -0.00213053 0.0394148 0.18 0 pose: 0.8025023 5.41247 -4.09997 0 0.000533964 0.00390553 0.999518 -0.030802 uwb: 0.0 1225.99 458.419 -imu_odom_: 1691062837.66928267 0.565032 -0.0095768110.1203 -0.0607201 0 0.0372843 0.18 -0.02 pose: 0.24016450 5.40602 -4.10761 0 0.00114526 0.0025394 0.999523 -0.0307456 uwb: 0.49991325 1224.24 458.631 -imu_odom_: 1691062837.92925307 0.711078 -0.378284 9.75877 -0.0671117 -0.0170442 0.0308927 0.18 -0.02 pose: 0.0 5.40602 -4.10761 0 0.00114526 0.0025394 0.999523 -0.0307456 uwb: 0.50037989 1221.49 458.592 -imu_odom_: 1691062837.115967065 0.802058 -0.215478 9.79468 -0.0458064 0.04048 0.0266316 0.19 0 pose: 0.18126591 5.39838 -4.10116 0 0.000979732 0.00269956 0.999523 -0.030734 uwb: 0.0 1221.49 458.592 -imu_odom_: 1691062837.132907518 0.739808 -0.418985 9.93115 -0.0511327 0.0351537 0.0394148 0.19 0 pose: 0.0 5.39838 -4.10116 0 0.000979732 0.00269956 0.999523 -0.030734 uwb: 0.0 1221.49 458.592 -imu_odom_: 1691062837.157967197 0.790087 -0.347159 9.98622 -0.0660464 0.00106526 0.0319579 0.21 0 pose: 0.48861767 5.39838 -4.10116 0 0.004703 0.00200683 0.99952 -0.030571 uwb: 0.50016990 1219.15 458.931 -imu_odom_: 1691062837.184059899 0.457293 -0.268151 9.66779 -0.0287621 -0.0266316 0.0330232 0.21 0 pose: 0.40967985 5.38428 -4.10235 0 0.00747936 0.00032541 0.999508 -0.030453 uwb: 0.0 1219.15 458.931 -imu_odom_: 1691062837.208941672 0.215478 -0.258574 10.1299 -0.0500674 -0.0394148 0.0372843 0.19 -0.02 pose: 0.43136982 5.37447 -4.10317 0 0.00677131 -0.00108315 0.999517 -0.0303212 uwb: 0.49967992 1220.25 460.29 -imu_odom_: 1691062837.226174357 0.464475 -0.270545 9.18895 -0.0692422 -0.0117179 0.0351537 0.19 -0.02 pose: 0.0 5.37447 -4.10317 0 0.00677131 -0.00108315 0.999517 -0.0303212 uwb: 0.0 1220.25 460.29 -imu_odom_: 1691062837.249956321 0.0502782 -0.304064 9.58399 -0.0671117 0.0426106 0.0500674 0.21 0 pose: 0.31889232 5.37019 -4.10353 0 0.00434603 -0.00183837 0.99953 -0.0302856 uwb: 0.49970910 1218.14 460.068 -imu_odom_: 1691062837.275946654 0.237026 -0.0837971 9.90242 -0.0649811 -0.0138484 0.0330232 0.22 0 pose: 0.0 5.37019 -4.10353 0 0.00434603 -0.00183837 0.99953 -0.0302856 uwb: 0.0 1218.14 460.068 -imu_odom_: 1691062837.288969089 0.445322 -0.373495 9.67976 -0.0447411 -0.0330232 0.04048 0.22 0 pose: 0.41965134 5.3561 -4.10471 0 0.00035031 -0.00264195 0.999535 -0.030373 uwb: 0.0 1218.14 460.068 -imu_odom_: 1691062837.312895711 0.418985 -0.275333 9.80186 -0.0607201 0.00639159 0.0468716 0.22 0 pose: 0.0 5.3561 -4.10471 0 0.00035031 -0.00264195 0.999535 -0.030373 uwb: 0.50041780 1216.45 460.174 -imu_odom_: 1691062837.338967997 0.100556 -0.011971 10.4076 -0.0500674 0.0287621 0.0639159 0.18 0.02 pose: 0.39063515 5.3561 -4.10471 0 0.000574575 -0.00296319 0.999535 -0.0303485 uwb: 0.0 1216.45 460.174 -imu_odom_: 1691062837.352950542 0.395043 -0.189142 9.75877 -0.072438 0 0.0607201 0.18 0.02 pose: 0.0 5.3561 -4.10471 0 0.000574575 -0.00296319 0.999535 -0.0303485 uwb: 0.49809335 1218.59 461.667 -imu_odom_: 1691062837.378892169 0.567426 -0.21069 10.0509 -0.0458064 0.0149137 0.04048 0.19 0.02 pose: 0.55972762 5.34201 -4.1059 0 -0.000576361-0.0008536120.999523 -0.0308716 uwb: 0.0 1218.59 461.667 -imu_odom_: 1691062837.403949807 0.227449 -0.397437 9.42358 -0.0585895 -0.00213053 0.052198 0.19 0.02 pose: 0.0 5.34201 -4.1059 0 -0.000576361-0.0008536120.999523 -0.0308716 uwb: 0.50009407 1216.42 461.604 -imu_odom_: 1691062837.430895583 0.672771 -0.328006 10.0844 -0.0490022 -0.0500674 0.0458064 0.2 0 pose: 0.8006941 5.34201 -4.1059 0 0.000138943 -0.00070044 0.999523 -0.0308745 uwb: 0.0 1216.42 461.604 -imu_odom_: 1691062837.455890224 0.727837 -0.100556 10.4411 -0.0575243 0.00213053 0.0490022 0.21 0 pose: 0.50969809 5.32791 -4.1071 0 0.000807931 -0.00222279 0.999515 -0.031066 uwb: 0.50000950 1216.61 462.49 -imu_odom_: 1691062837.478938981 0.620098 -0.0263362 10.659 -0.0607201 -0.0319579 0.0426106 0.21 0 pose: 0.0 5.32791 -4.1071 0 0.000807931 -0.00222279 0.999515 -0.031066 uwb: 0.0 1216.61 462.49 -imu_odom_: 1691062837.495882643 0.351948 -0.0430956 9.61511 -0.0458064 0.00745685 0.0511327 0.21 0 pose: 0.26984273 5.32791 -4.1071 0 0.00372636 -0.00212986 0.999505 -0.0311564 uwb: 0.50105943 1214.82 462.883 -imu_odom_: 1691062837.519948089 0.531513 -0.299275 9.50259 -0.0671117 0.0149137 0.0447411 0.25 0.02 pose: 0.48000235 5.31382 -4.1083 0 0.00572803 0.00140546 0.999493 -0.031295 uwb: 0.0 1214.82 462.883 -imu_odom_: 1691062837.537042533 0.533907 -0.363919 9.83777 -0.0585895 -0.00639159 0.0426106 0.25 0.02 pose: 0.0 5.31382 -4.1083 0 0.00572803 0.00140546 0.999493 -0.031295 uwb: 0.0 1214.82 462.883 -imu_odom_: 1691062837.562152085 0.438139 -0.35913 10.398 -0.0500674 0.0234358 0.0415453 0.22 0 pose: 0.41091645 5.31382 -4.1083 0 0.00566333 -0.00121511 0.999489 -0.0314339 uwb: 0.50058404 1217.87 464.772 -imu_odom_: 1691062837.586992152 0.727837 -0.11971 9.93115 -0.0703074 0.0181095 0.0458064 0.21 0.02 pose: 0.34148640 5.30182 -4.10704 0 0.00392864 -0.0040107 0.999488 -0.0314914 uwb: 0.0 1217.87 464.772 -imu_odom_: 1691062837.609961289 0.933739 -0.268151 10.3453 -0.0553937 -0.0287621 0.0553937 0.21 0.02 pose: 0.0 5.30182 -4.10704 0 0.00392864 -0.0040107 0.999488 -0.0314914 uwb: 0.49913454 1218.6 465.653 -imu_odom_: 1691062837.635889792 0.454898 -0.0861913 10.1442 -0.0394148 0.0191748 0.0298274 0.18 -0.02 pose: 0.7754373 5.29973 -4.10952 0 0.00446351 -0.00360534 0.999487 -0.0315106 uwb: 0.0 1218.6 465.653 -imu_odom_: 1691062837.652898491 -0.167594 -0.430956 9.63666 -0.0223706 -0.00213053 0.0394148 0.18 -0.02 pose: 0.0 5.29973 -4.10952 0 0.00446351 -0.00360534 0.999487 -0.0315106 uwb: 0.49901205 1222.02 467.908 -imu_odom_: 1691062837.676890442 0.354342 -0.172383 9.59117 -0.0394148 0 0.0490022 0.2 0 pose: 0.49003508 5.29208 -4.10308 0 0.00762631 -0.00177955 0.999467 -0.0316798 uwb: 0.0 1222.02 467.908 -imu_odom_: 1691062837.694072964 0.577003 -0.25618 10.1011 -0.0575243 0.02024 0.0585895 0.2 0 pose: 0.0 5.29208 -4.10308 0 0.00762631 -0.00177955 0.999467 -0.0316798 uwb: 0.50125192 1219.41 467.661 -imu_odom_: 1691062837.709943938 0.169988 -0.31364 9.67257 -0.0575243 0.0234358 0.0436758 0.2 0 pose: 0.0 5.29208 -4.10308 0 0.00762631 -0.00177955 0.999467 -0.0316798 uwb: 0.0 1219.41 467.661 -imu_odom_: 1691062837.737032622 0.483629 -0.213084 10.1394 -0.04048 -0.0340885 0.0511327 0.2 0 pose: 0.41979717 5.28565 -4.11073 0 0.0040904 -0.00015322 0.999491 -0.0316302 uwb: 0.0 1219.41 467.661 -imu_odom_: 1691062837.761950269 0.567426 -0.213084 9.44273 -0.0458064 -0.0149137 0.0458064 0.19 0 pose: 0.76142939 5.27156 -4.11196 0 0.00505955 0.000730999 0.999473 -0.0320572 uwb: 0.49882831 1219.61 468.482 -imu_odom_: 1691062837.778878181 0.620098 -0.0933739 10.4267 -0.0596548 0.0319579 0.0617853 0.19 0 pose: 0.0 5.27156 -4.11196 0 0.00505955 0.000730999 0.999473 -0.0320572 uwb: 0.0 1219.61 468.482 -imu_odom_: 1691062837.804988673 0.433351 -0.423774 9.65342 -0.0777643 0.0245011 0.0415453 0.19 0 pose: 0.8899972 5.27156 -4.11196 0 0.00599186 0.000687947 0.999467 -0.032086 uwb: 0.50283266 1219.68 469.628 -imu_odom_: 1691062837.821932917 0.275333 -0.270545 10.082 -0.0468716 -0.0276969 0.0500674 0.19 0 pose: 0.0 5.27156 -4.11196 0 0.00599186 0.000687947 0.999467 -0.032086 uwb: 0.0 1219.68 469.628 -imu_odom_: 1691062837.837926676 0.641646 -0.129287 10.058 -0.0905475 -0.0500674 0.0532632 0.19 0 pose: 0.0 5.27156 -4.11196 0 0.00599186 0.000687947 0.999467 -0.032086 uwb: 0.0 1219.68 469.628 -imu_odom_: 1691062837.861117758 0.462081 0.0574608 9.72525 -0.0479369 -0.0415453 0.04048 0.19 0 pose: 0.41086687 5.25747 -4.11319 0 0.00762754 0.00126035 0.999447 -0.0323268 uwb: 0.49697342 1220.73 471.007 -imu_odom_: 1691062837.885930702 0.407014 -0.201113 9.88326 -0.0511327 0.0191748 0.0468716 0.19 0 pose: 0.0 5.25747 -4.11319 0 0.00762754 0.00126035 0.999447 -0.0323268 uwb: 0.0 1220.73 471.007 -imu_odom_: 1691062837.901111343 0.469264 -0.117316 9.7851 -0.0575243 -0.0181095 0.04048 0.25 0 pose: 0.81932179 5.24339 -4.11443 0 0.00568292 0.00208871 0.999451 -0.0325742 uwb: 0.49980534 1222.88 472.366 -imu_odom_: 1691062837.923917448 0.203507 0.110133 10.2855 -0.04048 0.02024 0.0479369 0.25 0 pose: 0.0 5.24339 -4.11443 0 0.00568292 0.00208871 0.999451 -0.0325742 uwb: 0.0 1222.88 472.366 -imu_odom_: 1691062837.948852593 0.0407014 -0.129287 9.68933 -0.0479369 -0.0127832 0.0479369 0.18 0 pose: 0.38984478 5.23572 -4.10801 0 0.00309054 0.00369904 0.999455 -0.0326619 uwb: 0.50011740 1221.24 472.39 -imu_odom_: 1691062837.963934656 0.169988 -0.203507 10.1275 -0.0426106 -0.0308927 0.0458064 0.18 0 pose: 0.0 5.23572 -4.10801 0 0.00309054 0.00369904 0.999455 -0.0326619 uwb: 0.0 1221.24 472.39 -imu_odom_: 1691062837.989982735 0.325611 0.0526724 10.2592 -0.0426106 -0.0213053 0.0468716 0.18 0 pose: 0.55998718 5.2293 -4.11568 0 -0.00188211 0.00435592 0.999449 -0.0328526 uwb: 0.0 1221.24 472.39 -imu_odom_: 1691062838.12925916 0.533907 -0.0526724 10.2879 -0.0575243 -0.0617853 0.0436758 0.18 0 pose: 0.0 5.2293 -4.11568 0 -0.00188211 0.00435592 0.999449 -0.0328526 uwb: 0.49975284 1217.51 472.264 -imu_odom_: 1691062838.37860478 0.634463 -0.25618 9.76834 -0.0447411 -0.0585895 0.0394148 0.19 0 pose: 0.6992585 5.2293 -4.11568 0 -0.00200811 0.00507795 0.999444 -0.0328781 uwb: 0.0 1217.51 472.264 -imu_odom_: 1691062838.53863570 0.56982 -0.0861913 10.0868 -0.0756338 -0.0298274 0.0436758 0.19 0 pose: 0.0 5.2293 -4.11568 0 -0.00200811 0.00507795 0.999444 -0.0328781 uwb: 0.50149108 1218.18 473.252 -imu_odom_: 1691062838.79928857 0.387861 -0.071826 9.67018 -0.0660464 -0.00106526 0.0287621 0.18 -0.02 pose: 0.49971493 5.21522 -4.11693 0 0.00142822 0.00689633 0.99943 -0.0330093 uwb: 0.0 1218.18 473.252 -imu_odom_: 1691062838.107049040 0.462081 -0.311246 9.73961 -0.0713727 -0.0255663 0.0511327 0.22 0 pose: 0.41006193 5.20755 -4.11052 0 0.00421278 0.006175 0.999427 -0.0330052 uwb: 0.50003576 1219.77 474.625 -imu_odom_: 1691062838.133060663 0.502782 -0.0909797 10.1969 -0.0607201 0.00639159 0.0394148 0.19 0 pose: 0.25085053 5.20755 -4.11052 0 0.00255765 0.00572687 0.999438 -0.0329372 uwb: 0.0 1219.77 474.625 -imu_odom_: 1691062838.148872725 0.198719 -0.0837971 10.2352 -0.0671117 0.00426106 0.0575243 0.19 0 pose: 0.0 5.20755 -4.11052 0 0.00255765 0.00572687 0.999438 -0.0329372 uwb: 0.49864166 1219.82 475.77 -imu_odom_: 1691062838.174996926 0.143652 -0.378284 9.80426 -0.0511327 0.0191748 0.0319579 0.24 0 pose: 0.28107124 5.20113 -4.11819 0 0.00332258 0.00421648 0.999439 -0.0330563 uwb: 0.0 1219.82 475.77 -imu_odom_: 1691062838.201914412 0.301669 -0.169988 10.2448 -0.0458064 0.015979 0.0372843 0.23 -0.02 pose: 0.59899822 5.18902 -4.11708 0 0.000353539 0.00388523 0.999445 -0.0330831 uwb: 0.0 1219.82 475.77 -imu_odom_: 1691062838.226968842 0.557849 -0.181959 10.2472 -0.0426106 0.00213053 0.0383495 0.23 -0.02 pose: 0.0 5.18902 -4.11708 0 0.000353539 0.00388523 0.999445 -0.0330831 uwb: 0.0 1219.82 475.77 -imu_odom_: 1691062838.252842807 0.383072 0.071826 10.2568 -0.0330232 0.00106526 0.0340885 0.2 -0.02 pose: 0.7992359 5.18705 -4.11945 0 -0.00048589 0.00366303 0.999446 -0.0330714 uwb: 0.100187098 1218.96 476.553 -imu_odom_: 1691062838.277898112 0.445322 -0.155623 10.2496 -0.0575243 -0.0553937 0.0426106 0.2 -0.02 pose: 0.0 5.18705 -4.11945 0 -0.00048589 0.00366303 0.999446 -0.0330714 uwb: 0.0 1218.96 476.553 -imu_odom_: 1691062838.294854315 0.519542 -0.349553 9.31344 -0.052198 0.00106526 0.04048 0.19 0 pose: 0.52003706 5.17937 -4.11303 0 -0.0001965050.00386543 0.999447 -0.033013 uwb: 0.49921914 1221.77 478.809 -imu_odom_: 1691062838.319855957 -0.0502782 -0.222661 9.50019 -0.0671117 0.0245011 0.0468716 0.19 0 pose: 0.0 5.17937 -4.11303 0 -0.0001965050.00386543 0.999447 -0.033013 uwb: 0.0 1221.77 478.809 -imu_odom_: 1691062838.343839742 0.198719 -0.160412 10.1299 -0.0553937 -0.04048 0.0394148 0.22 0 pose: 0.49988701 5.16529 -4.11429 0 0.00206493 0.00329003 0.999447 -0.033012 uwb: 0.49775213 1221.46 479.522 -imu_odom_: 1691062838.359918372 0.969652 -0.280122 10.2855 -0.0500674 -0.0330232 0.0308927 0.22 0 pose: 0.0 5.16529 -4.11429 0 0.00206493 0.00329003 0.999447 -0.033012 uwb: 0.0 1221.46 479.522 -imu_odom_: 1691062838.385979867 0.823605 -0.246603 9.80665 -0.0468716 -0.00319579 0.0575243 0.18 0 pose: 0.41972719 5.15887 -4.12196 0 -0.0009841070.00193879 0.99945 -0.0331042 uwb: 0.0 1221.46 479.522 -imu_odom_: 1691062838.410850558 0.672771 -0.102951 10.2615 -0.0745685 -0.00319579 0.0500674 0.18 0 pose: 0.0 5.15887 -4.12196 0 -0.0009841070.00193879 0.99945 -0.0331042 uwb: 0.49981702 1218.81 479.47 -imu_odom_: 1691062838.436894263 0.447716 -0.23942 9.71088 -0.056459 0.0298274 0.0308927 0.21 0.02 pose: 0.41099811 5.1512 -4.11555 0 0.000259236 0.00178485 0.99945 -0.0331058 uwb: 0.0 1218.81 479.47 -imu_odom_: 1691062838.453000308 0.234632 -0.373495 9.76355 -0.0372843 0.00319579 0.0351537 0.21 0.02 pose: 0.0 5.1512 -4.11555 0 0.000259236 0.00178485 0.99945 -0.0331058 uwb: 0.50125484 1218.5 480.206 -imu_odom_: 1691062838.478985099 0.452504 -0.294487 9.83299 -0.0479369 -0.00532632 0.0479369 0.19 0 pose: 0.50858400 5.13711 -4.11682 0 0.00381001 0.00158859 0.999435 -0.0333687 uwb: 0.0 1218.5 480.206 -imu_odom_: 1691062838.505214293 0.629675 -0.112527 9.98622 -0.0479369 -0.0351537 0.0415453 0.18 0 pose: 0.60072477 5.12698 -4.11772 0 0.00233492 -0.00312471 0.999435 -0.0333742 uwb: 0.49990451 1221.39 482.22 -imu_odom_: 1691062838.530969265 0.011971 -0.258574 9.40682 -0.052198 0.056459 0.0372843 0.18 0 pose: 0.0 5.12698 -4.11772 0 0.00233492 -0.00312471 0.999435 -0.0333742 uwb: 0.0 1221.39 482.22 -imu_odom_: 1691062838.555820999 0.201113 -0.251391 9.84735 -0.0649811 -0.00852212 0.0553937 0.18 0.02 pose: 0.7005710 5.12303 -4.11808 0 0.00294559 -0.00260782 0.999435 -0.0333787 uwb: 0.49990743 1222.97 483.515 -imu_odom_: 1691062838.580959425 0.423774 -0.153229 10.3741 -0.0628506 0.0383495 0.0511327 0.18 0.02 pose: 0.0 5.12303 -4.11808 0 0.00294559 -0.00260782 0.999435 -0.0333787 uwb: 0.0 1222.97 483.515 -imu_odom_: 1691062838.596829233 0.646434 -0.0550666 10.2352 -0.0617853 -0.0436758 0.0372843 0.18 0 pose: 0.53007855 5.12303 -4.11808 0 0.000487187 -0.00146142 0.99944 -0.0334296 uwb: 0.49992492 1223.39 485.025 -imu_odom_: 1691062838.614069794 0.146046 0.0742203 9.96946 -0.0553937 0.00106526 0.0394148 0.18 0 pose: 0.0 5.12303 -4.11808 0 0.000487187 -0.00146142 0.99944 -0.0334296 uwb: 0.0 1223.39 485.025 -imu_odom_: 1691062838.640014630 0.265756 -0.191536 9.8282 -0.0660464 -0.0330232 0.04048 0.19 0 pose: 0.48895891 5.10894 -4.11935 0 5.1432e-05 0.000873636 0.999432 -0.0337028 uwb: 0.0 1223.39 485.025 -imu_odom_: 1691062838.665933509 0.035913 0.00957681 9.79468 -0.0458064 -0.0149137 0.0607201 0.19 0 pose: 0.0 5.10894 -4.11935 0 5.1432e-05 0.000873636 0.999432 -0.0337028 uwb: 0.50003284 1225.3 486.758 -imu_odom_: 1691062838.690956441 0.356736 -0.270545 9.67257 -0.056459 -0.0372843 0.0372843 0.2 0.02 pose: 0.33961985 5.10894 -4.11935 0 -0.0009954220.00225935 0.999429 -0.0336902 uwb: 0.0 1225.3 486.758 -imu_odom_: 1691062838.716985855 0.459687 -0.100556 10.24 -0.0223706 -0.0181095 0.0351537 0.2 0.02 pose: 0.0 5.10894 -4.11935 0 -0.0009954220.00225935 0.999429 -0.0336902 uwb: 0.49973827 1221.33 486.081 -imu_odom_: 1691062838.742874402 0.533907 -0.117316 9.5792 -0.0436758 -0.00745685 0.0415453 0.19 0 pose: 0.52120366 5.09486 -4.12063 0 -0.00423076 0.00238856 0.999412 -0.033953 uwb: 0.49991909 1225.47 488.784 -imu_odom_: 1691062838.758855038 0.459687 -0.457293 10.0221 -0.052198 -0.0181095 0.0490022 0.19 0 pose: 0.0 5.09486 -4.12063 0 -0.00423076 0.00238856 0.999412 -0.033953 uwb: 0.0 1225.47 488.784 -imu_odom_: 1691062838.783874762 -0.244209 -0.227449 9.80186 -0.0458064 -0.110787 0.0372843 0.23 0.02 pose: 0.50075030 5.08077 -4.12191 0 -0.0004939920.00314809 0.999421 -0.0338844 uwb: 0.0 1225.47 488.784 -imu_odom_: 1691062838.809940049 1.73101 -0.237026 9.72046 -0.0596548 -0.14168 0.04048 0.23 0.02 pose: 0.25766346 5.08077 -4.12191 0 0.0014631 0.00314514 0.999418 -0.0339423 uwb: 0.50019616 1225.5 489.926 -imu_odom_: 1691062838.835897717 0.869095 -0.289698 9.77074 -0.0468716 0.0106526 0.0756338 0.21 -0.02 pose: 0.34056480 5.06874 -4.12074 0 0.000473134 0.00214007 0.999421 -0.0339497 uwb: 0.0 1225.5 489.926 -imu_odom_: 1691062838.861858593 0.988805 -0.0023942 9.97185 -0.0585895 -0.00532632 0.0181095 0.21 -0.02 pose: 0.8015982 5.06669 -4.12319 0 0.0018271 0.00213044 0.999419 -0.0339538 uwb: 0.49852792 1221.41 489.571 -imu_odom_: 1691062838.878012760 0.232238 -0.146046 10.0102 -0.0468716 0.0394148 0.0181095 0.21 -0.02 pose: 0.0 5.06669 -4.12319 0 0.0018271 0.00213044 0.999419 -0.0339538 uwb: 0.0 1221.41 489.571 -imu_odom_: 1691062838.903962846 0.347159 -0.296881 10.1825 -0.0617853 -0.0181095 0.0532632 0.23 0 pose: 0.50968935 5.059 -4.1168 0 0.00782337 0.00182213 0.999377 -0.0343634 uwb: 0.50090779 1222.12 490.389 -imu_odom_: 1691062838.929812604 0.308852 -0.0023942 10.0149 -0.0383495 -0.0287621 0.0426106 0.23 0 pose: 0.0 5.059 -4.1168 0 0.00782337 0.00182213 0.999377 -0.0343634 uwb: 0.0 1222.12 490.389 -imu_odom_: 1691062838.955881390 0.531513 -0.172383 9.65821 -0.0511327 0.0298274 0.0532632 0.22 0 pose: 0.42990283 5.05261 -4.12449 0 0.00699246 0.00223955 0.999394 -0.0340347 uwb: 0.50172440 1219.89 490.651 -imu_odom_: 1691062838.971930272 0.634463 -0.268151 9.87369 -0.0500674 0.00852212 0.0308927 0.22 0 pose: 0.0 5.05261 -4.12449 0 0.00699246 0.00223955 0.999394 -0.0340347 uwb: 0.0 1219.89 490.651 -imu_odom_: 1691062838.987824287 0.395043 -0.205901 10.0987 -0.0308927 0.0490022 0.0351537 0.23 0.02 pose: 0.52103450 5.03853 -4.12577 0 0.00462796 0.00292228 0.999398 -0.0342495 uwb: 0.0 1219.89 490.651 -imu_odom_: 1691062839.14031899 0.488417 -0.172383 9.55526 -0.0607201 0.0181095 0.0436758 0.23 0.02 pose: 0.0 5.03853 -4.12577 0 0.00462796 0.00292228 0.999398 -0.0342495 uwb: 0.49817503 1222.17 492.692 -imu_odom_: 1691062839.39955737 0.31364 -0.189142 9.58878 -0.0617853 -0.00319579 0.0415453 0.23 0 pose: 0.40981402 5.03853 -4.12577 0 0.00631478 0.00151158 0.99939 -0.0343052 uwb: 0.0 1222.17 492.692 -imu_odom_: 1691062839.56944313 0.596156 -0.0814029 10.2041 -0.0543285 -0.0213053 0.04048 0.23 0 pose: 0.0 5.03853 -4.12577 0 0.00631478 0.00151158 0.99939 -0.0343052 uwb: 0.0 1222.17 492.692 -imu_odom_: 1691062839.81803630 0.68953 -0.141258 10.2663 -0.0660464 -0.0458064 0.0479369 0.23 0 pose: 0.41904473 5.02444 -4.12707 0 0.00256421 0.00321062 0.999402 -0.0343323 uwb: 0.0 1222.17 492.692 -imu_odom_: 1691062839.105811331 0.596156 0.0047884 10.3741 -0.0308927 -0.04048 0.0415453 0.23 0 pose: 0.0 5.02444 -4.12707 0 0.00256421 0.00321062 0.999402 -0.0343323 uwb: 0.100119145 1223.18 493.984 -imu_odom_: 1691062839.131868453 0.723049 -0.0071826110.149 -0.0607201 -0.00852212 0.0308927 0.19 0 pose: 0.43117152 5.01675 -4.12067 0 0.00322578 0.00341407 0.999398 -0.0343879 uwb: 0.0 1223.18 493.984 -imu_odom_: 1691062839.147950874 0.663194 -0.208296 9.63666 -0.0585895 0.0170442 0.0298274 0.19 0 pose: 0.0 5.01675 -4.12067 0 0.00322578 0.00341407 0.999398 -0.0343879 uwb: 0.49915790 1222.75 494.951 -imu_odom_: 1691062839.173799174 0.354342 -0.306458 9.7875 -0.0756338 0.00852212 0.0479369 0.19 0 pose: 0.48909599 5.01036 -4.12836 0 0.00748028 0.0062432 0.999359 -0.0344516 uwb: 0.0 1222.75 494.951 -imu_odom_: 1691062839.197795501 0.071826 -0.162806 9.82341 -0.0628506 -0.0298274 0.0500674 0.19 0 pose: 0.0 5.01036 -4.12836 0 0.00748028 0.0062432 0.999359 -0.0344516 uwb: 0.49989577 1221.43 495.574 -imu_odom_: 1691062839.215089434 0.64404 0.071826 10.2448 -0.0585895 -0.0106526 0.0543285 0.18 -0.02 pose: 0.43121234 4.99628 -4.12966 0 0.0092719 0.00517953 0.999354 -0.0343474 uwb: 0.0 1221.43 495.574 -imu_odom_: 1691062839.240814367 0.591368 -0.0574608 9.59596 -0.0468716 0.0191748 0.0255663 0.18 -0.02 pose: 0.0 4.99628 -4.12966 0 0.0092719 0.00517953 0.999354 -0.0343474 uwb: 0.0 1221.43 495.574 -imu_odom_: 1691062839.266957233 0.545878 -0.356736 10.2208 -0.04048 0.0426106 0.0415453 0.18 -0.02 pose: 0.49008761 4.99628 -4.12966 0 0.00608735 0.00420971 0.999374 -0.0345919 uwb: 0.49994827 1225.61 497.995 -imu_odom_: 1691062839.291958292 0.818817 -0.28491 9.94312 -0.0607201 0.0170442 0.04048 0.23 0 pose: 0.61961200 4.97662 -4.12633 0 0.00721746 0.00469875 0.999367 -0.0345314 uwb: 0.50020783 1224.41 498.31 -imu_odom_: 1691062839.313838119 0.332794 -0.287304 9.27514 -0.0703074 0 0.0479369 0.23 0 pose: 0.0 4.97662 -4.12633 0 0.00721746 0.00469875 0.999367 -0.0345314 uwb: 0.0 1224.41 498.31 -imu_odom_: 1691062839.329819338 0.129287 -0.189142 10.0006 -0.04048 -0.0276969 0.036219 0.23 0 pose: 0.0 4.97662 -4.12633 0 0.00721746 0.00469875 0.999367 -0.0345314 uwb: 0.0 1224.41 498.31 -imu_odom_: 1691062839.355800048 0.0933739 -0.0622492 10.0796 -0.052198 -0.0127832 0.0479369 0.19 -0.02 pose: 0.6886133 4.9745 -4.12457 0 0.00775173 0.00435181 0.999364 -0.0345398 uwb: 0.49998910 1222.29 498.366 -imu_odom_: 1691062839.371844554 0.287304 -0.0430956 10.0365 -0.0447411 -0.00852212 0.0500674 0.19 -0.02 pose: 0.0 4.9745 -4.12457 0 0.00775173 0.00435181 0.999364 -0.0345398 uwb: 0.0 1222.29 498.366 -imu_odom_: 1691062839.397794932 0.301669 -0.160412 9.89284 -0.0745685 0.00852212 0.04048 0.19 0 pose: 0.46988214 4.96811 -4.13226 0 0.00660948 0.00217602 0.999376 -0.0346436 uwb: 0.49973828 1223.3 499.637 -imu_odom_: 1691062839.422857529 0.169988 0.0047884 9.50977 -0.0969391 0.0181095 0.0639159 0.19 0.02 pose: 0.76963352 4.9559 -4.13132 0 -0.0006888730.00306476 0.999389 -0.0348082 uwb: 0.0 1223.3 499.637 -imu_odom_: 1691062839.448822781 0.533907 -0.701501 9.87369 -0.0841559 0.0138484 0.0532632 0.19 0.02 pose: 0.0 4.9559 -4.13132 0 -0.0006888730.00306476 0.999389 -0.0348082 uwb: 0.49907041 1222.58 500.064 -imu_odom_: 1691062839.474986646 -0.174777 0.00718261 10.1682 -0.0308927 0.0234358 0.0276969 0.19 0 pose: 0.7415477 4.95403 -4.13357 0 -0.00138185 0.00332325 0.999384 -0.034897 uwb: 0.0 1222.58 500.064 -imu_odom_: 1691062839.491819773 0.289698 -0.186748 9.38527 -0.0692422 0.0127832 0.0745685 0.19 0 pose: 0.0 4.95403 -4.13357 0 -0.00138185 0.00332325 0.999384 -0.034897 uwb: 0.0 1222.58 500.064 -imu_odom_: 1691062839.515774977 0.912191 -0.40462 10.082 0.0106526 0.0585895 -0.00106526 0.2 0 pose: 0.50771781 4.93995 -4.13488 0 -0.00313298 0.00143255 0.999373 -0.0352416 uwb: 0.50071822 1226.59 502.772 -imu_odom_: 1691062839.541828015 0.0837971 0.0861913 9.61272 -0.0511327 0.0372843 0.0809601 0.2 0 pose: 0.0 4.93995 -4.13488 0 -0.00313298 0.00143255 0.999373 -0.0352416 uwb: 0.0 1226.59 502.772 -imu_odom_: 1691062839.566924152 0.167594 -0.459687 10.2999 -0.0500674 -0.036219 0.0383495 0.17 0 pose: 0.42909788 4.93225 -4.1285 0 -0.00608367 0.000960135 0.999359 -0.0352682 uwb: 0.50040907 1224.77 503.336 -imu_odom_: 1691062839.592908653 0.457293 -0.0766145 10.4962 -0.0607201 -0.0308927 0.0500674 0.17 0 pose: 0.0 4.93225 -4.1285 0 -0.00608367 0.000960135 0.999359 -0.0352682 uwb: 0.49939414 1225.63 504.888 -imu_odom_: 1691062839.617900379 0.670376 -0.0814029 10.2999 -0.0628506 -0.0447411 0.0532632 0.17 0 pose: 0.50055199 4.92587 -4.1362 0 -0.00732234 0.00235741 0.999342 -0.035457 uwb: 0.0 1225.63 504.888 -imu_odom_: 1691062839.634105001 0.435745 -0.110133 9.69412 -0.052198 0.00106526 0.0490022 0.17 0 pose: 0.0 4.92587 -4.1362 0 -0.00732234 0.00235741 0.999342 -0.035457 uwb: 0.0 1225.63 504.888 -imu_odom_: 1691062839.650831384 0.505177 -0.323217 9.63427 -0.0660464 -0.0351537 0.0500674 0.18 0.02 pose: 0.51013849 4.91817 -4.12982 0 -0.00408796 0.00214952 0.999354 -0.0356297 uwb: 0.50182357 1225.29 505.636 -imu_odom_: 1691062839.676890256 0.263362 -0.112527 9.89763 -0.0500674 -0.0234358 0.0447411 0.18 0.02 pose: 0.0 4.91817 -4.12982 0 -0.00408796 0.00214952 0.999354 -0.0356297 uwb: 0.0 1225.29 505.636 -imu_odom_: 1691062839.702901588 0.553061 -0.122104 10.0365 -0.0543285 -0.0415453 0.0415453 0.17 0 pose: 0.58874967 4.90409 -4.13116 0 -0.0002558980.00248643 0.999351 -0.0359475 uwb: 0.50111486 1226.21 507.038 -imu_odom_: 1691062839.728764179 0.169988 -0.299275 9.67257 -0.0575243 0.015979 0.0639159 0.17 0 pose: 0.44065595 4.89208 -4.13421 0 0.00125217 0.00367613 0.999343 -0.0360224 uwb: 0.0 1226.21 507.038 -imu_odom_: 1691062839.754902088 0.102951 -0.308852 9.9527 -0.0543285 -0.0170442 0.0458064 0.19 -0.02 pose: 0.0 4.89208 -4.13421 0 0.00125217 0.00367613 0.999343 -0.0360224 uwb: 0.49744592 1227.48 508.79 -imu_odom_: 1691062839.780749513 0.203507 -0.354342 10.0724 -0.0276969 -0.0138484 0.04048 0.23 0.05 pose: 0.6998710 4.89001 -4.1325 0 0.000593282 0.00328735 0.999342 -0.0361062 uwb: 0.0 1227.48 508.79 -imu_odom_: 1691062839.795753123 0.581791 0.0167594 10.3813 -0.052198 -0.0575243 0.0383495 0.23 0.05 pose: 0.0 4.89001 -4.1325 0 0.000593282 0.00328735 0.999342 -0.0361062 uwb: 0.50113820 1227.19 509.429 -imu_odom_: 1691062839.821937695 0.189142 -0.0047884 9.95988 -0.0490022 -0.015979 0.0617853 0.23 0.05 pose: 0.51931670 4.88365 -4.14021 0 -0.00370383 0.00055459 0.99933 -0.0364064 uwb: 0.0 1227.19 509.429 -imu_odom_: 1691062839.847811078 0.217872 -0.342371 9.7851 -0.0532632 -0.00958738 0.0468716 0.21 0.05 pose: 0.0 4.88365 -4.14021 0 -0.00370383 0.00055459 0.99933 -0.0364064 uwb: 0.49896249 1228.2 510.601 -imu_odom_: 1691062839.873829993 0.656011 -0.143652 10.0245 -0.0372843 -0.0213053 0.0436758 0.23 0.02 pose: 0.40942031 4.87593 -4.13385 0 -0.00368354 0.000956476 0.999327 -0.0364823 uwb: 0.0 1228.2 510.601 -imu_odom_: 1691062839.899791453 0.543484 -0.0933739 9.67976 -0.0447411 -0.0106526 0.0479369 0.23 0.02 pose: 0.52005749 4.86185 -4.13521 0 -0.00509102 0.000418368 0.99931 -0.0367937 uwb: 0.50060156 1229.99 512.345 -imu_odom_: 1691062839.924805053 0.909797 -0.153229 9.92397 -0.0639159 -0.00319579 0.0490022 0.23 0 pose: 0.0 4.86185 -4.13521 0 -0.00509102 0.000418368 0.99931 -0.0367937 uwb: 0.0 1229.99 512.345 -imu_odom_: 1691062839.939742167 0.718261 -0.311246 9.77792 -0.0841559 0.0266316 0.0490022 0.23 0 pose: 0.0 4.86185 -4.13521 0 -0.00509102 0.000418368 0.99931 -0.0367937 uwb: 0.0 1229.99 512.345 -imu_odom_: 1691062839.955786383 0.217872 -0.0981623 10.1682 -0.052198 -0.00213053 0.0468716 0.19 0 pose: 0.51021432 4.86185 -4.13521 0 -0.0001189260.00239588 0.999313 -0.0369784 uwb: 0.49976161 1228.98 513.378 -imu_odom_: 1691062839.972724211 0.464475 -0.136469 10.2017 -0.092678 -0.0372843 0.0458064 0.19 0 pose: 0.0 4.86185 -4.13521 0 -0.0001189260.00239588 0.999313 -0.0369784 uwb: 0.0 1228.98 513.378 -imu_odom_: 1691062839.988745095 0.416591 -0.234632 9.81862 -0.0585895 0.0245011 0.0351537 0.19 0 pose: 0.40954280 4.84778 -4.13658 0 0.00222822 0.00180397 0.999305 -0.0371713 uwb: 0.0 1228.98 513.378 -imu_odom_: 1691062840.5198494 0.591368 -0.433351 9.78031 -0.0628506 -0.00213053 0.0511327 0.18 0 pose: 0.33032791 4.84778 -4.13658 0 0.00230651 0.0024463 0.999301 -0.0372395 uwb: 0.0 1228.98 513.378 -imu_odom_: 1691062840.21744638 0.328006 -0.114922 9.78031 -0.0511327 0.00213053 0.0436758 0.18 0 pose: 0.0 4.84778 -4.13658 0 0.00230651 0.0024463 0.999301 -0.0372395 uwb: 0.0 1228.98 513.378 -imu_odom_: 1691062840.37872265 0.553061 -0.143652 9.71806 -0.0543285 -0.0287621 0.0383495 0.18 0 pose: 0.41956387 4.8337 -4.13795 0 0.00128197 0.00118274 0.999301 -0.0373511 uwb: 0.0 1228.98 513.378 -imu_odom_: 1691062840.54754390 0.435745 -0.0430956 9.86411 -0.0308927 0.0106526 0.0394148 0.25 0 pose: 0.0 4.8337 -4.13795 0 0.00128197 0.00118274 0.999301 -0.0373511 uwb: 0.100039235 1228.65 514.079 -imu_odom_: 1691062840.70937430 0.25618 -0.205901 9.6223 -0.0671117 0.0191748 0.0447411 0.2 0 pose: 0.0 4.8337 -4.13795 0 0.00128197 0.00118274 0.999301 -0.0373511 uwb: 0.0 1228.65 514.079 -imu_odom_: 1691062840.87751308 0.387861 -0.201113 10.1538 -0.0532632 -0.0287621 0.0436758 0.2 0 pose: 0.8010734 4.8337 -4.13795 0 0.0021144 0.00151298 0.999299 -0.0373465 uwb: 0.0 1228.65 514.079 -imu_odom_: 1691062840.103821481 0.773327 -0.215478 9.79468 -0.0703074 -0.0575243 0.0543285 0.18 0.02 pose: 0.0 4.8337 -4.13795 0 0.0021144 0.00151298 0.999299 -0.0373465 uwb: 0.49872919 1228.18 515.078 -imu_odom_: 1691062840.120788767 0.311246 -0.0047884 10.2927 -0.0351537 0.00532632 0.052198 0.18 0.02 pose: 0.65071059 4.81963 -4.13933 0 0.000939159 0.00158086 0.999296 -0.0374587 uwb: 0.0 1228.18 515.078 -imu_odom_: 1691062840.145739662 0.0502782 -0.203507 10.2568 -0.0490022 -0.02024 0.0436758 0.18 0.02 pose: 0.0 4.81963 -4.13933 0 0.000939159 0.00158086 0.999296 -0.0374587 uwb: 0.49995119 1227.96 515.545 -imu_odom_: 1691062840.162819233 0.646434 -0.134075 9.59596 -0.052198 0 0.04048 0.18 0 pose: 0.33136327 4.81963 -4.13933 0 0.000274558 0.00287338 0.999287 -0.0376416 uwb: 0.0 1227.96 515.545 -imu_odom_: 1691062840.178929361 0.323217 -0.0957681 9.97424 -0.0756338 -0.00213053 0.0468716 0.18 0 pose: 0.0 4.81963 -4.13933 0 0.000274558 0.00287338 0.999287 -0.0376416 uwb: 0.0 1227.96 515.545 -imu_odom_: 1691062840.194742882 0.572214 -0.160412 9.90721 -0.0596548 -0.0372843 0.0340885 0.25 0 pose: 0.41858102 4.80555 -4.14072 0 -0.0002796120.00322694 0.999284 -0.0377089 uwb: 0.50008827 1228.49 516.624 -imu_odom_: 1691062840.219750067 0.354342 -0.251391 9.97903 -0.0447411 0.00106526 0.036219 0.25 0 pose: 0.0 4.80555 -4.14072 0 -0.0002796120.00322694 0.999284 -0.0377089 uwb: 0.0 1228.49 516.624 -imu_odom_: 1691062840.245789398 0.134075 -0.138864 10.2927 -0.0511327 0.00639159 0.0468716 0.21 0 pose: 0.33000710 4.80555 -4.14072 0 0.000358867 0.00285943 0.999285 -0.0376867 uwb: 0.50079990 1229.4 517.967 -imu_odom_: 1691062840.271738609 0.629675 0.023942 9.85932 -0.0756338 0.0287621 0.0500674 0.19 -0.02 pose: 0.42967828 4.79148 -4.14211 0 -0.00326283 0.00188526 0.99928 -0.0377479 uwb: 0.0 1229.4 517.967 -imu_odom_: 1691062840.297716986 0.246603 -0.531513 9.46188 -0.0479369 0.00319579 0.0415453 0.23 -0.02 pose: 0.0 4.79148 -4.14211 0 -0.00326283 0.00188526 0.99928 -0.0377479 uwb: 0.49934456 1230.99 520.003 -imu_odom_: 1691062840.314866553 0.751779 -0.189142 10.3884 -0.036219 -0.00745685 0.0319579 0.23 -0.02 pose: 0.7008334 4.79148 -4.14211 0 -0.0028138 0.00223047 0.999279 -0.0377876 uwb: 0.0 1230.99 520.003 -imu_odom_: 1691062840.339860613 0.35913 -0.181959 9.76595 -0.0532632 -0.015979 0.0490022 0.2 0 pose: 0.0 4.79148 -4.14211 0 -0.0028138 0.00223047 0.999279 -0.0377876 uwb: 0.0 1230.99 520.003 -imu_odom_: 1691062840.361997092 0.679953 -0.0957681 10.1921 -0.0415453 -0.00213053 0.0415453 0.2 0 pose: 0.52116286 4.77741 -4.1435 0 -0.00171964 0.000877187 0.99928 -0.0378872 uwb: 0.50051116 1231.49 521.105 -imu_odom_: 1691062840.388002884 0.442927 0.047884 10.477 -0.036219 0.00745685 0.0383495 0.18 -0.02 pose: 0.0 4.77741 -4.1435 0 -0.00171964 0.000877187 0.99928 -0.0378872 uwb: 0.0 1231.49 521.105 -imu_odom_: 1691062840.404852635 0.624887 -0.263362 9.91199 -0.0649811 0.0117179 0.0394148 0.18 -0.02 pose: 0.40973237 4.77741 -4.1435 0 -0.00235376 0.00209531 0.999274 -0.0379728 uwb: 0.49824213 1235.4 523.671 -imu_odom_: 1691062840.430987919 0.562637 -0.339977 9.34936 -0.0585895 -0.015979 0.0415453 0.23 -0.02 pose: 0.0 4.77741 -4.1435 0 -0.00235376 0.00209531 0.999274 -0.0379728 uwb: 0.0 1235.4 523.671 -imu_odom_: 1691062840.456751350 0.208296 -0.337582 9.6199 -0.0692422 -0.0500674 0.0490022 0.25 0.02 pose: 0.85100664 4.75772 -4.1403 0 0.00258615 0.00228581 0.999271 -0.0380207 uwb: 0.49997161 1235.91 524.735 -imu_odom_: 1691062840.482844636 0.61531 -0.0526724 9.73482 -0.0596548 -0.015979 0.0383495 0.25 0.02 pose: 0.6883217 4.7556 -4.13856 0 0.00218873 0.00183951 0.999272 -0.0380525 uwb: 0.0 1235.91 524.735 -imu_odom_: 1691062840.508745434 0.574608 -0.225055 10.1203 -0.0660464 -0.0191748 0.0490022 0.23 0 pose: 0.44973500 4.74926 -4.1463 0 0.00323609 0.00226192 0.999265 -0.0381224 uwb: 0.49993661 1238.31 527.172 -imu_odom_: 1691062840.534847762 0.275333 -0.0047884 10.1059 -0.0607201 0.0287621 0.056459 0.23 0 pose: 0.0 4.74926 -4.1463 0 0.00323609 0.00226192 0.999265 -0.0381224 uwb: 0.0 1238.31 527.172 -imu_odom_: 1691062840.550729820 0.454898 -0.263362 10.0054 -0.072438 0.0181095 0.0671117 0.23 0.02 pose: 0.32947047 4.74152 -4.13997 0 0.00510552 0.00144147 0.999252 -0.0383085 uwb: 0.50061616 1238.22 528.387 -imu_odom_: 1691062840.575848123 0.739808 -0.160412 10.2496 -0.0436758 0.0266316 0.0351537 0.23 0.02 pose: 0.0 4.74152 -4.13997 0 0.00510552 0.00144147 0.999252 -0.0383085 uwb: 0.0 1238.22 528.387 -imu_odom_: 1691062840.591721723 0.624887 -0.0933739 9.68933 -0.0458064 -0.0170442 0.0468716 0.21 -0.02 pose: 0.42937788 4.73519 -4.14771 0 0.0035689 0.000969895 0.999245 -0.0386671 uwb: 0.0 1238.22 528.387 -imu_odom_: 1691062840.607830393 0.323217 -0.52433 9.51456 -0.0607201 0.00745685 0.052198 0.21 -0.02 pose: 0.0 4.73519 -4.14771 0 0.0035689 0.000969895 0.999245 -0.0386671 uwb: 0.49919874 1240.27 530.457 -imu_odom_: 1691062840.634002134 0.201113 -0.25618 9.8282 -0.052198 -0.0340885 0.0500674 0.23 0 pose: 0.49100922 4.72112 -4.14912 0 0.00546064 0.00100556 0.999232 -0.0387931 uwb: 0.0 1240.27 530.457 -imu_odom_: 1691062840.658699878 0.371101 -0.023942 10.4028 -0.0500674 -0.0276969 0.0596548 0.23 0 pose: 0.7948613 4.72112 -4.14912 0 0.00480249 0.000847957 0.999234 -0.038835 uwb: 0.49978787 1239.1 530.707 -imu_odom_: 1691062840.684855577 0.730232 0.047884 10.6757 -0.0511327 -0.0138484 0.0372843 0.21 0.05 pose: 0.42920872 4.71338 -4.1428 0 0.00231306 0.00268278 0.999226 -0.0391713 uwb: 0.0 1239.1 530.707 -imu_odom_: 1691062840.710710586 0.435745 0.059855 10.4267 -0.04048 -0.0276969 0.052198 0.21 0.05 pose: 0.0 4.71338 -4.1428 0 0.00231306 0.00268278 0.999226 -0.0391713 uwb: 0.50028076 1240.05 531.879 -imu_odom_: 1691062840.727834196 0.433351 -0.418985 9.80904 -0.056459 -0.0117179 0.0394148 0.21 0 pose: 0.33151493 4.70706 -4.15055 0 0.00429693 0.00510821 0.99921 -0.039182 uwb: 0.0 1240.05 531.879 -imu_odom_: 1691062840.752706055 0.517148 -0.318429 9.56723 -0.0649811 0.0149137 0.0490022 0.21 0 pose: 0.0 4.70706 -4.15055 0 0.00429693 0.00510821 0.99921 -0.039182 uwb: 0.50048200 1237.89 532.09 -imu_odom_: 1691062840.778813632 0.371101 -0.160412 9.61272 -0.0617853 -0.0330232 0.0319579 0.18 -0.02 pose: 0.42874208 4.69931 -4.14423 0 0.00382043 0.00460179 0.999208 -0.0393293 uwb: 0.0 1237.89 532.09 -imu_odom_: 1691062840.803861356 0.636858 -0.19393 10.252 -0.0649811 -0.00639159 0.0639159 0.19 0 pose: 0.44088053 4.69299 -4.15198 0 0.00183572 0.0027014 0.999221 -0.0393158 uwb: 0.49989578 1239.71 533.551 -imu_odom_: 1691062840.829842649 0.665588 -0.0407014 9.57681 -0.0585895 -0.015979 0.0319579 0.19 0 pose: 0.0 4.69299 -4.15198 0 0.00183572 0.0027014 0.999221 -0.0393158 uwb: 0.0 1239.71 533.551 -imu_odom_: 1691062840.855900354 0.701501 -0.361524 9.50019 -0.0479369 0.0340885 0.0308927 0.19 -0.02 pose: 0.7010668 4.69299 -4.15198 0 0.00254037 0.00257933 0.999217 -0.0394029 uwb: 0.50023409 1240.04 534.91 -imu_odom_: 1691062840.872841683 0.217872 -0.339977 10.2711 -0.0479369 0.00532632 0.015979 0.19 -0.02 pose: 0.0 4.69299 -4.15198 0 0.00254037 0.00257933 0.999217 -0.0394029 uwb: 0.0 1240.04 534.91 -imu_odom_: 1691062840.889902588 0.414197 0.177171 10.1155 -0.0255663 -0.0276969 -0.0383495 0.19 -0.08 pose: 0.52151866 4.67892 -4.15342 0 0.00689897 0.00328546 0.999191 -0.0394958 uwb: 0.0 1240.04 534.91 -imu_odom_: 1691062840.904779623 0.0766145 0.11971 9.97424 -0.0553937 -0.0191748 -0.0671117 0.19 -0.08 pose: 0.0 4.67892 -4.15342 0 0.00689897 0.00328546 0.999191 -0.0394958 uwb: 0.49961872 1239.62 535.724 -imu_odom_: 1691062840.921891567 0.0814029 -0.177171 9.4547 -0.052198 -0.00213053 -0.0990696 0.19 -0.08 pose: 0.0 4.67892 -4.15342 0 0.00689897 0.00328546 0.999191 -0.0394958 uwb: 0.0 1239.62 535.724 -imu_odom_: 1691062840.938700195 1.04627 -0.272939 10.0485 -0.0553937 -0.0276969 -0.128897 0.19 -0.29 pose: 0.42876834 4.67117 -4.1471 0 0.00596789 0.00215724 0.999222 -0.038921 uwb: 0.0 1239.62 535.724 -imu_odom_: 1691062840.954837447 0.624887 -0.383072 9.70849 -0.0777643 -0.0213053 -0.186421 0.19 -0.29 pose: 0.0 4.67117 -4.1471 0 0.00596789 0.00215724 0.999222 -0.038921 uwb: 0.50062490 1240.99 537.044 -imu_odom_: 1691062840.972714096 0.828394 0.31364 10.647 -0.04048 0.0351537 -0.28336 0.19 -0.29 pose: 0.73984447 4.65705 -4.14858 0 0.00568296 0.00189121 0.999426 -0.0333482 uwb: 0.0 1240.99 537.044 -imu_odom_: 1691062840.988895095 1.12527 0.426168 9.71088 -0.0575243 -0.0191748 -0.319579 0.19 -0.41 pose: 0.0 4.65705 -4.14858 0 0.00568296 0.00189121 0.999426 -0.0333482 uwb: 0.0 1240.99 537.044 -imu_odom_: 1691062841.5756512 0.150835 -0.208296 9.60075 -0.0756338 -0.0117179 -0.376038 0.19 -0.41 pose: 0.0 4.65705 -4.14858 0 0.00568296 0.00189121 0.999426 -0.0333482 uwb: 0.50006494 1242.3 538.47 -imu_odom_: 1691062841.22783586 0.45011 -0.174777 9.38288 -0.0777643 -0.00106526 -0.427171 0.19 -0.41 pose: 0.8004317 4.65705 -4.14858 0 0.00591913 0.00264809 0.999465 -0.0320537 uwb: 0.0 1242.3 538.47 -imu_odom_: 1691062841.39727832 0.387861 -0.129287 10.0293 -0.0628506 0.0223706 -0.432497 0.25 -0.61 pose: 0.0 4.65705 -4.14858 0 0.00591913 0.00264809 0.999465 -0.0320537 uwb: 0.0 1242.3 538.47 -imu_odom_: 1691062841.56718742 0.636858 -0.423774 10.228 -0.0703074 -0.0351537 -0.437824 0.25 -0.61 pose: 0.66884244 4.64299 -4.15009 0 0.00358357 0.00330528 0.999818 -0.0184243 uwb: 0.50050826 1243.87 540.361 -imu_odom_: 1691062841.71720894 0.440533 -0.215478 9.83777 -0.0436758 -0.036219 -0.479369 0.25 -0.61 pose: 0.0 4.64299 -4.15009 0 0.00358357 0.00330528 0.999818 -0.0184243 uwb: 0.0 1243.87 540.361 -imu_odom_: 1691062841.88821173 0.596156 -0.0909797 10.1011 -0.0266316 -0.0394148 -0.510262 0.17 -0.53 pose: 0.0 4.64299 -4.15009 0 0.00358357 0.00330528 0.999818 -0.0184243 uwb: 0.0 1243.87 540.361 -imu_odom_: 1691062841.105948866 0.397437 -0.0574608 9.80904 -0.0617853 0.0191748 -0.518784 0.17 -0.53 pose: 0.33057583 4.63673 -4.15789 0 0.00336324 0.00154958 0.999939 -0.0104377 uwb: 0.49801757 1244.81 541.499 -imu_odom_: 1691062841.131882621 0.885855 0.0502782 9.75158 -0.0468716 -0.0862864 -0.539024 0.23 -0.73 pose: 0.43165275 4.62897 -4.15159 0 0.00323744 0.00354993 0.999988 0.00137236 uwb: 0.0 1244.81 541.499 -imu_odom_: 1691062841.148885197 1.1564 -0.241814 9.36851 -0.0969391 -0.0117179 -0.502805 0.16 -0.55 pose: 0.0 4.62897 -4.15159 0 0.00323744 0.00354993 0.999988 0.00137236 uwb: 0.49952539 1245.44 543.196 -imu_odom_: 1691062841.166969791 1.06063 -0.0095768110.1299 -0.0777643 0.0351537 -0.432497 0.22 -0.67 pose: 0.6882925 4.62897 -4.15159 0 0.00413686 0.00387575 0.999978 0.00336311 uwb: 0.0 1245.44 543.196 -imu_odom_: 1691062841.183910246 0.287304 -0.52433 9.6199 -0.072438 0.0276969 -0.438889 0.22 -0.67 pose: 0.0 4.62897 -4.15159 0 0.00413686 0.00387575 0.999978 0.00336311 uwb: 0.0 1245.44 543.196 -imu_odom_: 1691062841.198814113 -0.102951 -0.0933739 9.71328 -0.0511327 0.0351537 -0.475108 0.22 -0.67 pose: 0.0 4.62897 -4.15159 0 0.00413686 0.00387575 0.999978 0.00336311 uwb: 0.50033619 1245.92 544.225 -imu_odom_: 1691062841.215694196 -0.275333 0.428562 9.8282 -0.0585895 0.0181095 -0.400539 0.19 -0.41 pose: 0.44081346 4.61489 -4.1531 0 0.00895105 0.00423765 0.999833 0.0153687 uwb: 0.0 1245.92 544.225 -imu_odom_: 1691062841.232943798 -0.316035 -0.268151 9.96706 -0.0713727 -0.0340885 -0.267381 0.19 -0.41 pose: 0.0 4.61489 -4.1531 0 0.00895105 0.00423765 0.999833 0.0153687 uwb: 0.0 1245.92 544.225 -imu_odom_: 1691062841.249952207 0.316035 -0.742203 9.33499 -0.056459 -0.0916127 -0.276969 0.23 -0.44 pose: 0.76030661 4.60333 -4.15143 0 0.0035858 0.00382835 0.999474 0.0320008 uwb: 0.50147069 1243.83 544.302 -imu_odom_: 1691062841.266971990 0.986411 -0.19393 10.0868 -0.0788296 0.0276969 -0.265251 0.23 -0.44 pose: 0.0 4.60333 -4.15143 0 0.0035858 0.00382835 0.999474 0.0320008 uwb: 0.0 1243.83 544.302 -imu_odom_: 1691062841.283945693 0.28491 -0.184354 9.54329 -0.056459 -0.0170442 -0.219444 0.23 -0.44 pose: 0.0 4.60333 -4.15143 0 0.0035858 0.00382835 0.999474 0.0320008 uwb: 0.0 1243.83 544.302 -imu_odom_: 1691062841.300814985 0.0215478 -0.457293 9.87848 -0.0809601 0.00852212 -0.218379 0.18 -0.29 pose: 0.7013002 4.60082 -4.1546 0 0.00369465 0.00314338 0.99944 0.0331098 uwb: 0.0 1243.83 544.302 -imu_odom_: 1691062841.317759231 -0.0837971 -0.304064 10.0317 -0.0319579 -0.015979 -0.232228 0.18 -0.23 pose: 0.0 4.60082 -4.1546 0 0.00369465 0.00314338 0.99944 0.0331098 uwb: 0.0 1243.83 544.302 -imu_odom_: 1691062841.332683804 0.117316 0.100556 10.0892 -0.0319579 0.00106526 -0.2024 0.18 -0.23 pose: 0.68905083 4.59305 -4.14831 0 0.00133441 0.000769778 0.999085 0.0427461 uwb: 0.0 1243.83 544.302 -imu_odom_: 1691062841.348671149 0.756568 -0.339977 9.34936 -0.0628506 -0.00213053 -0.166181 0.18 -0.23 pose: 0.0 4.59305 -4.14831 0 0.00133441 0.000769778 0.999085 0.0427461 uwb: 0.99950869 1241.85 544.183 -imu_odom_: 1691062841.364731405 0.363919 -0.42138 10.1323 -0.0596548 0.0223706 -0.183225 0.17 -0.2 pose: 0.0 4.59305 -4.14831 0 0.00133441 0.000769778 0.999085 0.0427461 uwb: 0.0 1241.85 544.183 -imu_odom_: 1691062841.381687025 0.399832 0.023942 9.70131 -0.0511327 0.00213053 -0.165116 0.17 -0.2 pose: 0.30885086 4.58677 -4.1561 0 9.99164e-05 0.0016773 0.998918 0.0464842 uwb: 0.0 1241.85 544.183 -imu_odom_: 1691062841.399745664 -0.0861913 -0.117316 9.51935 -0.0607201 -0.0191748 -0.147006 0.18 -0.17 pose: 0.41940056 4.5789 -4.14982 0 0.000197819 0.001413 0.998702 0.0509195 uwb: 0.49989871 1242.61 545.626 -imu_odom_: 1691062841.413669880 0.694318 -0.196325 10.3501 -0.0511327 -0.0383495 -0.148072 0.18 -0.17 pose: 0.0 4.5789 -4.14982 0 0.000197819 0.001413 0.998702 0.0509195 uwb: 0.0 1242.61 545.626 -imu_odom_: 1691062841.429727220 1.02232 -0.177171 9.32302 -0.0692422 -0.0394148 -0.107592 0.18 -0.17 pose: 0.0 4.5789 -4.14982 0 0.000197819 0.001413 0.998702 0.0509195 uwb: 0.0 1242.61 545.626 -imu_odom_: 1691062841.444665793 1.10852 0.232238 10.2352 -0.056459 0.00532632 -0.0532632 0.14 -0.17 pose: 0.8006651 4.57897 -4.14985 0 -0.0005305660.00154275 0.998663 0.0516667 uwb: 0.49907042 1239.66 545.442 -imu_odom_: 1691062841.459727442 1.16598 -0.52433 9.88566 -0.0585895 -0.0894822 -0.052198 0.14 -0.17 pose: 0.0 4.57897 -4.14985 0 -0.0005305660.00154275 0.998663 0.0516667 uwb: 0.0 1239.66 545.442 -imu_odom_: 1691062841.475724411 1.49877 -0.035913 10.0556 -0.0458064 -0.0607201 -0.135289 0.14 -0.17 pose: 0.0 4.57897 -4.14985 0 -0.0005305660.00154275 0.998663 0.0516667 uwb: 0.0 1239.66 545.442 -imu_odom_: 1691062841.492751194 1.80762 0.299275 9.93594 -0.0692422 -0.0213053 -0.144876 0.11 -0.14 pose: 0.47037504 4.57117 -4.1436 0 0.00263751 0.00172852 0.998459 0.0554096 uwb: 0.50040035 1239.05 546.606 -imu_odom_: 1691062841.509786726 1.16837 -0.0885855 9.72046 -0.072438 -0.0191748 -0.0713727 0.14 -0.23 pose: 0.0 4.57117 -4.1436 0 0.00263751 0.00172852 0.998459 0.0554096 uwb: 0.0 1239.05 546.606 -imu_odom_: 1691062841.526785510 0.742203 -0.667982 9.92636 -0.0372843 0.00745685 -0.0958738 0.14 -0.23 pose: 0.62948436 4.56485 -4.15135 0 0.00978412 0.00188744 0.99816 0.0598097 uwb: 0.0 1239.05 546.606 -imu_odom_: 1691062841.542763813 0.634463 -0.0694318 9.92397 -0.0319579 -0.0394148 -0.143811 0.09 -0.14 pose: 0.0 4.56485 -4.15135 0 0.00978412 0.00188744 0.99816 0.0598097 uwb: 0.49979080 1237.93 546.813 -imu_odom_: 1691062841.560785412 0.723049 0.126893 9.78989 -0.0639159 -0.0266316 -0.0980043 0.09 -0.14 pose: 0.0 4.56485 -4.15135 0 0.00978412 0.00188744 0.99816 0.0598097 uwb: 0.0 1237.93 546.813 -imu_odom_: 1691062841.577893565 0.893037 -0.471658 10.0676 -0.072438 -0.00426106 -0.0575243 0.09 -0.14 pose: 0.34109271 4.55703 -4.14512 0 0.0113419 0.00114892 0.998002 0.0621444 uwb: 0.0 1237.93 546.813 -imu_odom_: 1691062841.593710294 0.634463 -0.407014 9.72764 -0.0383495 -0.0127832 -0.0841559 0.07 -0.08 pose: 0.35053339 4.55703 -4.14512 0 0.0129613 0.00297711 0.997822 0.0646104 uwb: 0.50236023 1236.12 546.424 -imu_odom_: 1691062841.609664682 0.675165 0.0885855 9.88566 -0.0479369 -0.00106526 -0.0692422 0.07 -0.08 pose: 0.0 4.55703 -4.14512 0 0.0129613 0.00297711 0.997822 0.0646104 uwb: 0.0 1236.12 546.424 -imu_odom_: 1691062841.636646625 0.749385 -0.316035 9.77313 -0.0607201 0.0106526 -0.0181095 0.06 -0.08 pose: 0.40822456 4.55703 -4.14512 0 0.0134203 0.00237396 0.997668 0.0668787 uwb: 0.0 1236.12 546.424 -imu_odom_: 1691062841.653710155 0.225055 -0.567426 9.55765 -0.0553937 0.0383495 -0.0745685 0.06 -0.08 pose: 0.0 4.55703 -4.14512 0 0.0134203 0.00237396 0.997668 0.0668787 uwb: 0.49754509 1237.06 547.501 -imu_odom_: 1691062841.670833474 -0.986411 0.296881 9.97185 -0.0191748 0.109722 -0.116114 0.08 -0.05 pose: 0.8001401 4.55703 -4.14512 0 0.0136972 0.00163459 0.997651 0.0670983 uwb: 0.0 1237.06 547.501 -imu_odom_: 1691062841.686646995 -1.47243 -0.299275 9.84017 -0.0639159 0.00426106 -0.0127832 0.09 0 pose: 0.0 4.55703 -4.14512 0 0.0136972 0.00163459 0.997651 0.0670983 uwb: 0.0 1237.06 547.501 -imu_odom_: 1691062841.702697044 -0.462081 -0.617704 9.90721 -0.0649811 -0.0884169 0.00532632 0.1 -0.02 pose: 0.0 4.55703 -4.14512 0 0.0136972 0.00163459 0.997651 0.0670983 uwb: 0.50056951 1237.42 548.747 -imu_odom_: 1691062841.718706553 0.909797 -0.229843 10.3118 -0.0181095 -0.076699 -0.0287621 0.1 -0.02 pose: 0.75994205 4.54298 -4.14665 0 0.0080288 -0.0003450750.997483 0.0704455 uwb: 0.0 1237.42 548.747 -imu_odom_: 1691062841.735642633 0.92895 0.19393 9.52653 -0.0660464 -0.015979 0.0319579 0.1 -0.02 pose: 0.0 4.54298 -4.14665 0 0.0080288 -0.0003450750.997483 0.0704455 uwb: 0.0 1237.42 548.747 -imu_odom_: 1691062841.751639018 0.225055 -0.296881 9.44034 -0.0628506 0.0340885 0.0213053 0.12 -0.02 pose: 0.0 4.54298 -4.14665 0 0.0080288 -0.0003450750.997483 0.0704455 uwb: 0.49776383 1235.8 548.96 -imu_odom_: 1691062841.767692859 -0.260968 -0.160412 10.4315 -0.04048 0.00745685 -0.0308927 0.12 -0.02 pose: 0.32047017 4.54298 -4.14665 0 0.0102648 -0.0001348270.997411 0.0711719 uwb: 0.0 1235.8 548.96 -imu_odom_: 1691062841.784684643 0.122104 -0.0837971 10.2137 -0.0585895 -0.0308927 0.00958738 0.12 -0.05 pose: 0.41985554 4.53523 -4.14032 0 0.0074537 0.000482935 0.997382 0.0719277 uwb: 0.0 1235.8 548.96 -imu_odom_: 1691062841.801617515 0.699107 -0.174777 10.0987 -0.0628506 -0.0245011 0.0266316 0.12 -0.05 pose: 0.0 4.53523 -4.14032 0 0.0074537 0.000482935 0.997382 0.0719277 uwb: 0.50151445 1236.32 549.871 -imu_odom_: 1691062841.817677188 0.622492 -0.186748 9.64863 -0.0660464 0.0181095 0.0117179 0.12 -0.05 pose: 0.0 4.53523 -4.14032 0 0.0074537 0.000482935 0.997382 0.0719277 uwb: 0.0 1236.32 549.871 -imu_odom_: 1691062841.833684948 0.37589 0.0023942 10.1083 -0.0458064 0.0276969 -0.0213053 0.18 -0.02 pose: 0.7994109 4.53523 -4.14032 0 0.00679995 0.000717259 0.997378 0.0720501 uwb: 0.0 1236.32 549.871 -imu_odom_: 1691062841.850615778 -0.11971 0.126893 9.96946 -0.0735032 -0.00319579 0.0298274 0.13 -0.05 pose: 0.0 4.53523 -4.14032 0 0.00679995 0.000717259 0.997378 0.0720501 uwb: 0.49997454 1233.17 549.209 -imu_odom_: 1691062841.867616312 -0.0407014 -0.543484 9.5792 -0.0649811 0.0170442 0.0213053 0.13 -0.05 pose: 0.65995298 4.52118 -4.14184 0 0.0072591 0.00225392 0.997299 0.0730567 uwb: 0.0 1233.17 549.209 -imu_odom_: 1691062841.883620864 0.126893 -0.143652 9.56244 -0.0532632 -0.0213053 0.00639159 0.14 0 pose: 0.0 4.52118 -4.14184 0 0.0072591 0.00225392 0.997299 0.0730567 uwb: 0.0 1233.17 549.209 -imu_odom_: 1691062841.900615273 0.323217 -0.0167594 9.66779 -0.0628506 -0.0181095 0.0138484 0.14 0 pose: 0.0 4.52118 -4.14184 0 0.0072591 0.00225392 0.997299 0.0730567 uwb: 0.49924249 1232.39 549.757 -imu_odom_: 1691062841.916671738 0.876278 0.172383 10.0604 -0.0649811 -0.0692422 0.0266316 0.14 0 pose: 0.33935739 4.52118 -4.14184 0 0.00407841 0.00179458 0.997293 0.0733945 uwb: 0.0 1232.39 549.757 -imu_odom_: 1691062841.933609568 1.01035 -0.234632 9.55047 -0.0841559 -0.0298274 0.0553937 0.18 -0.08 pose: 0.41053733 4.51703 -4.13849 0 0.00429546 0.00394811 0.997252 0.0738569 uwb: 0.0 1232.39 549.757 -imu_odom_: 1691062841.950776634 1.20428 -0.215478 10.3741 -0.0713727 0 0.0990696 0.18 -0.08 pose: 0.6964004 4.51341 -4.13556 0 0.00505111 0.00366182 0.997254 0.0737991 uwb: 0.50019911 1232.12 550.279 -imu_odom_: 1691062841.965832158 1.75734 -0.3304 10.5201 -0.0617853 -0.0948085 0.103331 0.18 -0.08 pose: 0.0 4.51341 -4.13556 0 0.00505111 0.00366182 0.997254 0.0737991 uwb: 0.0 1232.12 550.279 -imu_odom_: 1691062841.982771446 1.66636 -0.011971 9.64624 -0.0415453 -0.0138484 0.0458064 0.09 -0.02 pose: 0.42196416 4.50712 -4.14333 0 0.00992487 0.00235522 0.997301 0.0727157 uwb: 0.0 1232.12 550.279 -imu_odom_: 1691062841.996706745 1.14443 -0.0191536 9.91199 -0.0745685 0.0213053 0.0127832 0.1 -0.05 pose: 0.0 4.50712 -4.14333 0 0.00992487 0.00235522 0.997301 0.0727157 uwb: 0.49975289 1232.15 551.191 -imu_odom_: 1691062842.13640200 0.462081 -0.134075 9.92636 -0.0798948 0.0181095 -0.00532632 0.1 -0.05 pose: 0.0 4.50712 -4.14333 0 0.00992487 0.00235522 0.997301 0.0727157 uwb: 0.0 1232.15 551.191 -imu_odom_: 1691062842.35748099 0.699107 -0.442927 10.228 -0.0585895 -0.0223706 -0.0447411 0.09 0 pose: 0.22895644 4.50712 -4.14333 0 0.0122144 0.00261867 0.997273 0.072737 uwb: 0.0 1232.15 551.191 -imu_odom_: 1691062842.50767459 0.538695 -0.1652 9.77792 -0.0649811 -0.00852212 -0.0436758 0.09 0 pose: 0.0 4.50712 -4.14333 0 0.0122144 0.00261867 0.997273 0.072737 uwb: 0.50029244 1232.22 551.999 -imu_odom_: 1691062842.77783234 -1.10852 0.0454898 9.94551 -0.0415453 0.103331 -0.0852212 0.09 -0.02 pose: 0.62039657 4.49928 -4.13713 0 0.0102092 0.000919571 0.997148 0.0747703 uwb: 0.0 1232.22 551.999 -imu_odom_: 1691062842.103776194 -0.948104 -0.713472 10.1323 -0.0649811 -0.0607201 0.056459 0.09 -0.02 pose: 0.7926447 4.49928 -4.13713 0 0.00901129 0.00117414 0.997122 0.0752654 uwb: 0.50168070 1234.21 553.907 -imu_odom_: 1691062842.130892879 0.866701 -0.169988 9.65342 -0.015979 -0.0276969 0.0127832 0.14 0 pose: 0.45082288 4.49928 -4.13713 0 0.0043489 0.000892727 0.997079 0.076242 uwb: 0.0 1234.21 553.907 -imu_odom_: 1691062842.156642312 0.543484 -0.035913 9.8258 -0.0862864 0.0468716 0.076699 0.14 0 pose: 0.0 4.49928 -4.13713 0 0.0043489 0.000892727 0.997079 0.076242 uwb: 0.49865337 1234.02 554.26 -imu_odom_: 1691062842.173720426 -0.280122 -0.328006 9.75158 -0.0383495 0.0319579 0.00532632 0.17 -0.02 pose: 0.52866118 4.48927 -4.13823 0 0.00690597 0.00357022 0.997067 0.0761421 uwb: 0.0 1234.02 554.26 -imu_odom_: 1691062842.189746268 -0.153229 -0.248997 9.46667 -0.0575243 -0.0351537 0.0330232 0.17 -0.02 pose: 0.0 4.48927 -4.13823 0 0.00690597 0.00357022 0.997067 0.0761421 uwb: 0.0 1234.02 554.26 -imu_odom_: 1691062842.206635684 0.143652 -0.37589 9.5385 -0.0500674 -0.0628506 0.0628506 0.18 0 pose: 0.0 4.48927 -4.13823 0 0.00690597 0.00357022 0.997067 0.0761421 uwb: 0.50061326 1234.25 554.777 -imu_odom_: 1691062842.232667725 0.641646 -0.0790087 9.94551 -0.0436758 0.036219 0.0372843 0.18 0 pose: 0.40018963 4.48522 -4.13868 0 0.00317662 0.00294546 0.997067 0.0764167 uwb: 0.0 1234.25 554.777 -imu_odom_: 1691062842.256625264 0.0430956 -0.035913 9.81144 -0.04048 -0.0596548 0.0436758 0.19 0 pose: 0.36006450 4.4796 -4.13418 0 0.00455883 0.00349093 0.997066 0.0763267 uwb: 0.49947875 1233.51 555.238 -imu_odom_: 1691062842.280634425 0.37589 -0.277727 9.8258 -0.0490022 0.0394148 0.0234358 0.19 0 pose: 0.6985878 4.47741 -4.13243 0 0.0040897 0.0037399 0.997068 0.0763163 uwb: 0.0 1233.51 555.238 -imu_odom_: 1691062842.296817758 0.459687 -0.134075 9.57202 -0.0479369 -0.00426106 0.0383495 0.15 0.02 pose: 0.40980822 4.4732 -4.13769 0 0.00117335 0.00241315 0.997067 0.0764819 uwb: 0.50038286 1235.58 556.944 -imu_odom_: 1691062842.314767028 0.505177 -0.114922 10.24 -0.0532632 0.0191748 0.0298274 0.15 0.02 pose: 0.0 4.4732 -4.13769 0 0.00117335 0.00241315 0.997067 0.0764819 uwb: 0.0 1235.58 556.944 -imu_odom_: 1691062842.331816560 0.600945 -0.0766145 10.1394 -0.0628506 -0.015979 0.0383495 0.15 0.02 pose: 0.0 4.4732 -4.13769 0 0.00117335 0.00241315 0.997067 0.0764819 uwb: 0.0 1235.58 556.944 -imu_odom_: 1691062842.354591753 0.268151 -0.368707 9.81862 -0.0681769 -0.0266316 0.0458064 0.15 0 pose: 0.8190099 4.47116 -4.14023 0 0.00183096 0.00293588 0.997065 0.0764857 uwb: 0.49947582 1235.28 557.504 -imu_odom_: 1691062842.380608628 0.395043 -0.011971 10.0245 -0.0692422 -0.0138484 0.036219 0.15 0 pose: 0.32952589 4.46336 -4.13398 0 0.00465711 0.00428104 0.997044 0.0765734 uwb: 0.0 1235.28 557.504 -imu_odom_: 1691062842.397699574 0.416591 -0.201113 9.78989 -0.052198 -0.0266316 0.0383495 0.15 0 pose: 0.0 4.46336 -4.13398 0 0.00465711 0.00428104 0.997044 0.0765734 uwb: 0.49877879 1236.72 558.514 -imu_odom_: 1691062842.423784112 0.407014 -0.42138 9.69891 -0.0500674 -0.0234358 0.0266316 0.16 0.02 pose: 0.41035361 4.46336 -4.13398 0 0.0038763 0.00351646 0.997054 0.0765264 uwb: 0.0 1236.72 558.514 -imu_odom_: 1691062842.450650854 0.299275 -0.433351 9.79228 -0.0511327 0.0340885 0.0500674 0.16 0.02 pose: 0.0 4.46336 -4.13398 0 0.0038763 0.00351646 0.997054 0.0765264 uwb: 0.0 1236.72 558.514 -imu_odom_: 1691062842.467659554 -0.0885855 -0.117316 9.66539 -0.0181095 -0.0223706 0.0330232 0.17 0 pose: 0.42831629 4.45556 -4.12773 0 0.00240419 0.00272098 0.997053 0.0766275 uwb: 0.0 1236.72 558.514 -imu_odom_: 1691062842.491932075 0.0407014 -0.0454898 9.92875 -0.0500674 0.0479369 0.0490022 0.17 0 pose: 0.0 4.45556 -4.12773 0 0.00240419 0.00272098 0.997053 0.0766275 uwb: 0.99972161 1236.69 558.576 -imu_odom_: 1691062842.517677133 0.380678 0 10.3406 -0.0585895 -0.0479369 0.0426106 0.17 0 pose: 0.53015735 4.4415 -4.12927 0 -0.000553932-0.0007281620.99706 0.0766233 uwb: 0.0 1236.69 558.576 -imu_odom_: 1691062842.544655868 0.715866 -0.1652 9.83538 -0.0681769 -0.0287621 0.0607201 0.17 0 pose: 0.0 4.4415 -4.12927 0 -0.000553932-0.0007281620.99706 0.0766233 uwb: 0.50035661 1236.45 559.032 -imu_odom_: 1691062842.560626880 0.651223 -0.423774 10.1849 -0.0692422 0.0191748 0.0511327 0.17 0 pose: 0.41159895 4.4415 -4.12927 0 -0.00354132 0.00181903 0.99706 0.0765201 uwb: 0.0 1236.45 559.032 -imu_odom_: 1691062842.577628582 0.11971 0.0047884 9.71328 -0.0628506 0.0117179 0.0490022 0.17 0 pose: 0.0 4.4415 -4.12927 0 -0.00354132 0.00181903 0.99706 0.0765201 uwb: 0.0 1236.45 559.032 -imu_odom_: 1691062842.594844353 0.217872 -0.174777 10.0724 -0.052198 -0.00426106 0.0479369 0.17 0 pose: 0.0 4.4415 -4.12927 0 -0.00354132 0.00181903 0.99706 0.0765201 uwb: 0.50260814 1235.33 559.262 -imu_odom_: 1691062842.619658467 0.577003 -0.117316 9.79707 -0.0617853 0.0106526 0.0298274 0.17 0 pose: 0.52843661 4.42744 -4.13083 0 0.000891281 0.00224052 0.997094 0.0761461 uwb: 0.0 1235.33 559.262 -imu_odom_: 1691062842.636650835 0.0574608 -0.0790087 9.62708 -0.056459 -0.0490022 0.0298274 0.17 0 pose: 0.0 4.42744 -4.13083 0 0.000891281 0.00224052 0.997094 0.0761461 uwb: 0.0 1235.33 559.262 -imu_odom_: 1691062842.659612100 0.217872 -0.186748 10.2687 -0.0649811 -0.0234358 0.0596548 0.17 0 pose: 0.73961410 4.41964 -4.12458 0 -0.0002035720.00308095 0.997095 0.0761034 uwb: 0.49850755 1235.32 560.214 -imu_odom_: 1691062842.684710280 0.658405 -0.0407014 9.80904 -0.0692422 0.02024 0.0415453 0.18 0 pose: 0.0 4.41964 -4.12458 0 -0.0002035720.00308095 0.997095 0.0761034 uwb: 0.0 1235.32 560.214 -imu_odom_: 1691062842.701742021 0.150835 -0.481235 9.89524 -0.0703074 0.0245011 0.0426106 0.18 0 pose: 0.32987296 4.41011 -4.12564 0 -0.00299554 0.00286703 0.997104 0.0759341 uwb: 0.50008538 1233.78 560.325 -imu_odom_: 1691062842.717923021 0.198719 -0.316035 10.4722 -0.0500674 0 0.0276969 0.18 0 pose: 0.0 4.41011 -4.12564 0 -0.00299554 0.00286703 0.997104 0.0759341 uwb: 0.0 1233.78 560.325 -imu_odom_: 1691062842.744588233 0.708684 -0.174777 9.92875 -0.0436758 -0.0394148 0.04048 0.24 0 pose: 0.8053898 4.40558 -4.12614 0 -0.00232592 0.0030522 0.997106 0.0759229 uwb: 0.50079116 1233.17 560.557 -imu_odom_: 1691062842.770614441 0.574608 0.0837971 10.3765 -0.0543285 0.00852212 0.036219 0.18 0 pose: 0.58077601 4.39777 -4.1199 0 -0.0026242 0.00109523 0.997106 0.0759742 uwb: 0.0 1233.17 560.557 -imu_odom_: 1691062842.797636340 0.155623 -0.105345 9.44991 -0.0585895 -0.00426106 0.0511327 0.24 0 pose: 0.0 4.39777 -4.1199 0 -0.0026242 0.00109523 0.997106 0.0759742 uwb: 0.0 1233.17 560.557 -imu_odom_: 1691062842.822599195 0.385466 -0.0430956 10.1227 -0.0330232 0.0223706 0.0394148 0.19 0 pose: 0.51990295 4.38371 -4.12146 0 0.000338636 0.00341216 0.997104 0.0759666 uwb: 0.0 1233.17 560.557 -imu_odom_: 1691062842.849580263 0.483629 -0.0814029 10.2424 -0.0532632 -0.04048 0.0372843 0.19 0 pose: 0.0 4.38371 -4.12146 0 0.000338636 0.00341216 0.997104 0.0759666 uwb: 0.99888458 1234.03 561.708 -imu_odom_: 1691062842.865599981 0.435745 -0.543484 9.19373 -0.0553937 -0.0170442 0.0330232 0.2 -0.02 pose: 0.71846369 4.37816 -4.11702 0 0.00197468 0.00642106 0.997095 0.0758689 uwb: 0.0 1234.03 561.708 -imu_odom_: 1691062842.892645212 -0.047884 -0.265756 9.65821 -0.0426106 -0.0266316 0.0426106 0.2 -0.02 pose: 0.8074313 4.3759 -4.11522 0 0.00197505 0.00561139 0.997098 0.0758948 uwb: 0.50001538 1232.52 561.781 -imu_odom_: 1691062842.918632922 0.304064 0.0670376 9.81144 -0.052198 -0.0138484 0.0383495 0.18 0.02 pose: 0.34990636 4.36412 -4.1186 0 -0.0003507490.00437976 0.997106 0.0758923 uwb: 0.0 1232.52 561.781 -imu_odom_: 1691062842.945710235 0.454898 -0.272939 9.97903 -0.0628506 0.0170442 0.0479369 0.18 0.02 pose: 0.0 4.36412 -4.1186 0 -0.0003507490.00437976 0.997106 0.0758923 uwb: 0.49907044 1235.96 564.508 -imu_odom_: 1691062842.961703996 0.282516 -0.146046 10.1634 -0.0372843 0.00532632 0.0458064 0.2 0 pose: 0.33962571 4.36185 -4.11679 0 -0.0009021210.0060928 0.997098 0.0758762 uwb: 0.0 1235.96 564.508 -imu_odom_: 1691062842.988703146 0.430956 -0.265756 9.92397 -0.0458064 -0.0468716 0.052198 0.2 0 pose: 0.0 4.36185 -4.11679 0 -0.0009021210.0060928 0.997098 0.0758762 uwb: 0.0 1235.96 564.508 -imu_odom_: 1691062843.13571215 0.651223 -0.222661 10.1993 -0.0319579 0.0223706 0.0415453 0.23 0 pose: 0.42324160 4.35403 -4.11054 0 -0.00167522 0.00363945 0.997122 0.0757058 uwb: 0.49984330 1237.17 565.891 -imu_odom_: 1691062843.40649111 0.775721 -0.186748 9.8689 -0.0372843 0.00106526 0.0436758 0.2 0 pose: 0.44639272 4.34779 -4.11836 0 0.00171184 0.00161691 0.997139 0.0755548 uwb: 0.0 1237.17 565.891 -imu_odom_: 1691062843.65590384 0.675165 0.059855 10.2615 -0.0511327 0.0266316 0.0543285 0.2 0 pose: 0.8076063 4.34779 -4.11836 0 0.00250132 0.00161585 0.997139 0.0755366 uwb: 0.50093408 1238.92 568.085 -imu_odom_: 1691062843.92645241 0.507571 -0.0430956 9.98143 -0.0490022 -0.0127832 0.0500674 0.23 0 pose: 0.43943106 4.33998 -4.11212 0 0.00567359 0.00352925 0.997138 0.0753136 uwb: 0.49966541 1238.59 568.681 -imu_odom_: 1691062843.108602254 0.380678 -0.385466 9.73004 -0.0596548 0.0330232 0.056459 0.23 0 pose: 0.0 4.33998 -4.11212 0 0.00567359 0.00352925 0.997138 0.0753136 uwb: 0.0 1238.59 568.681 -imu_odom_: 1691062843.135669068 0.411803 -0.0502782 9.90242 -0.0585895 0.00745685 0.0490022 0.25 0 pose: 0.43011870 4.32592 -4.1137 0 0.00491316 0.00487543 0.997156 0.0750469 uwb: 0.0 1238.59 568.681 -imu_odom_: 1691062843.160676545 0.754174 -0.289698 10.4603 -0.0575243 0.0245011 0.0543285 0.25 0 pose: 0.0 4.32592 -4.1137 0 0.00491316 0.00487543 0.997156 0.0750469 uwb: 0.49965667 1238.52 569.691 -imu_odom_: 1691062843.187565745 0.622492 -0.169988 9.8689 -0.0756338 0.0245011 0.0500674 0.23 0 pose: 0.52074291 4.32035 -4.10927 0 0.00430908 0.0050569 0.997181 0.0747345 uwb: 0.0 1238.52 569.691 -imu_odom_: 1691062843.212696006 0.940921 -0.407014 10.1347 -0.0894822 0.036219 0.0479369 0.19 0 pose: 0.0 4.32035 -4.10927 0 0.00430908 0.0050569 0.997181 0.0747345 uwb: 0.49985790 1238.19 570.287 -imu_odom_: 1691062843.230735688 0.325611 -0.229843 9.79228 -0.0671117 -0.0543285 0.0500674 0.19 0 pose: 0.34915683 4.31188 -4.1153 0 0.00676385 0.00297615 0.997191 0.0745365 uwb: 0.0 1238.19 570.287 -imu_odom_: 1691062843.246681327 0.318429 0.318429 9.93833 -0.0468716 -0.0213053 0.104396 0.19 0 pose: 0.0 4.31188 -4.1153 0 0.00676385 0.00297615 0.997191 0.0745365 uwb: 0.50117032 1236.12 570.509 -imu_odom_: 1691062843.261556030 0.28491 -0.536301 9.67736 -0.0553937 -0.00319579 0.174703 0.18 0.08 pose: 0.42094340 4.30405 -4.10908 0 0.00626355 0.00188897 0.997226 0.0741424 uwb: 0.0 1236.12 570.509 -imu_odom_: 1691062843.278566189 0.64404 -0.490811 9.79468 -0.0415453 -0.0308927 0.248207 0.18 0.08 pose: 0.0 4.30405 -4.10908 0 0.00626355 0.00188897 0.997226 0.0741424 uwb: 0.0 1236.12 570.509 -imu_odom_: 1691062843.292613482 0.742203 -0.280122 9.96467 -0.0532632 -0.00852212 0.28123 0.18 0.08 pose: 0.0 4.30405 -4.10908 0 0.00626355 0.00188897 0.997226 0.0741424 uwb: 0.49936501 1237.42 572.571 -imu_odom_: 1691062843.307550598 0.512359 -0.414197 9.54568 -0.0372843 0.0181095 0.318514 0.19 0.23 pose: 0.47001925 4.29621 -4.10286 0 0.00660302 -0.0001901050.997502 0.0703317 uwb: 0.0 1237.42 572.571 -imu_odom_: 1691062843.324685291 0.368707 -0.203507 9.86411 -0.0436758 0.052198 0.383495 0.19 0.23 pose: 0.0 4.29621 -4.10286 0 0.00660302 -0.0001901050.997502 0.0703317 uwb: 0.0 1237.42 572.571 -imu_odom_: 1691062843.342686475 0.272939 -0.229843 9.28471 -0.0607201 -0.0266316 0.416518 0.18 0.41 pose: 0.39996798 4.28557 -4.10716 0 0.0047433 -0.00123106 0.997916 0.0643453 uwb: 0.50063368 1238.27 574.551 -imu_odom_: 1691062843.356674564 -0.0191536 -0.557849 9.99579 -0.0340885 -0.0692422 0.448476 0.18 0.41 pose: 0.0 4.28557 -4.10716 0 0.0047433 -0.00123106 0.997916 0.0643453 uwb: 0.0 1238.27 574.551 -imu_odom_: 1691062843.371552183 0.100556 -0.0981623 10.0533 -0.0490022 -0.072438 0.485761 0.18 0.41 pose: 0.0 4.28557 -4.10716 0 0.0047433 -0.00123106 0.997916 0.0643453 uwb: 0.0 1238.27 574.551 -imu_odom_: 1691062843.388568758 0.799663 -0.241814 9.31584 -0.0394148 0.0894822 0.510262 0.23 0.58 pose: 0.8022400 4.28217 -4.10444 0 0.00402923 -0.00120753 0.998015 0.0628359 uwb: 0.0 1238.27 574.551 -imu_odom_: 1691062843.406575192 0.1652 -0.811634 9.1674 -0.0170442 0.0649811 0.516653 0.23 0.58 pose: 0.0 4.28217 -4.10444 0 0.00402923 -0.00120753 0.998015 0.0628359 uwb: 0.49939710 1237.84 575.309 -imu_odom_: 1691062843.420688106 0.452504 0.023942 10.0389 -0.0500674 0.0884169 0.532632 0.23 0.58 pose: 0.0 4.28217 -4.10444 0 0.00402923 -0.00120753 0.998015 0.0628359 uwb: 0.0 1237.84 575.309 -imu_odom_: 1691062843.436689159 0.366313 -0.818817 9.64624 -0.052198 0.0426106 0.616788 0.17 0.55 pose: 0.45949654 4.28217 -4.10444 0 0.00193541 -0.00108584 0.998586 0.0531148 uwb: 0.0 1237.84 575.309 -imu_odom_: 1691062843.453586450 -0.0933739 -0.622492 9.73482 -0.04048 -0.0223706 0.599744 0.26 0.76 pose: 0.0 4.28217 -4.10444 0 0.00193541 -0.00108584 0.998586 0.0531148 uwb: 0.50131323 1238.01 575.886 -imu_odom_: 1691062843.469569128 0.634463 0.280122 10.0006 -0.0319579 -0.0245011 0.601874 0.26 0.76 pose: 0.0 4.28217 -4.10444 0 0.00193541 -0.00108584 0.998586 0.0531148 uwb: 0.0 1238.01 575.886 -imu_odom_: 1691062843.486548956 0.778116 -0.023942 9.60554 -0.0351537 -0.052198 0.611462 0.23 0.79 pose: 0.64995526 4.26811 -4.10594 0 -0.000568251-0.00269864 0.999332 0.0364538 uwb: 0.0 1238.01 575.886 -imu_odom_: 1691062843.504624219 1.02472 0.0167594 10.0509 -0.0223706 -0.0671117 0.611462 0.23 0.79 pose: 0.0 4.26811 -4.10594 0 -0.000568251-0.00269864 0.999332 0.0364538 uwb: 0.49860380 1234.83 575.488 -imu_odom_: 1691062843.518591600 1.22583 -0.126893 9.74201 -0.0394148 -0.0383495 0.612527 0.23 0.79 pose: 0.32896302 4.2603 -4.09969 0 0.000340468 -0.00116623 0.99963 0.0271857 uwb: 0.0 1234.83 575.488 -imu_odom_: 1691062843.535663297 1.26653 -0.481235 9.24401 -0.0532632 -0.0436758 0.597613 0.13 0.41 pose: 0.42042427 4.25013 -4.10434 0 0.00535528 0.000538485 0.999871 0.015161 uwb: 0.0 1234.83 575.488 -imu_odom_: 1691062843.549625721 1.43173 -0.172383 9.72764 -0.0426106 0.00852212 0.502805 0.13 0.41 pose: 0.7984486 4.24623 -4.10124 0 0.0062613 0.00024848 0.999897 0.0129315 uwb: 0.50052286 1234.98 576.966 -imu_odom_: 1691062843.565593817 1.51792 0.246603 10.0149 -0.0660464 -0.0117179 0.413323 0.13 0.41 pose: 0.0 4.24623 -4.10124 0 0.0062613 0.00024848 0.999897 0.0129315 uwb: 0.0 1234.98 576.966 -imu_odom_: 1691062843.582538355 1.08697 0.0574608 9.83538 -0.0660464 0.00319579 0.372843 0.12 0.35 pose: 0.39017731 4.24623 -4.10124 0 0.0101004 0.000613783 0.99994 0.00418303 uwb: 0.0 1234.98 576.966 -imu_odom_: 1691062843.600737860 0.816423 -0.146046 9.5792 -0.0649811 0.0287621 0.322775 0.12 0.35 pose: 0.0 4.24623 -4.10124 0 0.0101004 0.000613783 0.99994 0.00418303 uwb: 0.50072118 1235.41 577.932 -imu_odom_: 1691062843.617598987 0.835576 -0.287304 9.79947 -0.0649811 0.0117179 0.291882 0.1 0.26 pose: 0.0 4.24623 -4.10124 0 0.0101004 0.000613783 0.99994 0.00418303 uwb: 0.0 1235.41 577.932 -imu_odom_: 1691062843.632658304 0.857124 -0.208296 9.82341 -0.0607201 0.0149137 0.279099 0.09 0.29 pose: 0.42016761 4.24623 -4.10124 0 0.013563 0.00118269 0.999905 -0.00207804 uwb: 0.0 1235.41 577.932 -imu_odom_: 1691062843.649657089 0.936133 -0.189142 9.71328 -0.0649811 0.00426106 0.274838 0.09 0.26 pose: 0.0 4.24623 -4.10124 0 0.013563 0.00118269 0.999905 -0.00207804 uwb: 0.49760054 1237.54 580.155 -imu_odom_: 1691062843.667654773 0.758962 -0.0574608 9.88566 -0.0543285 -0.00426106 0.273773 0.09 0.26 pose: 0.32048186 4.23218 -4.10282 0 0.0163857 0.000529065 0.999848 -0.00597155 uwb: 0.0 1237.54 580.155 -imu_odom_: 1691062843.684770801 0.749385 -0.251391 9.90481 -0.0500674 0.0138484 0.255663 0.07 0.2 pose: 0.0 4.23218 -4.10282 0 0.0163857 0.000529065 0.999848 -0.00597155 uwb: 0.0 1237.54 580.155 -imu_odom_: 1691062843.702540707 0.68953 -0.124498 10.1586 -0.052198 -0.015979 0.245011 0.07 0.2 pose: 0.0 4.23218 -4.10282 0 0.0163857 0.000529065 0.999848 -0.00597155 uwb: 0.50189944 1236.22 580.785 -imu_odom_: 1691062843.727640054 0.677559 -0.143652 10.094 -0.0532632 0.0138484 0.217314 0.06 0.2 pose: 0.62881943 4.23212 -4.1028 0 0.0164427 0.00198675 0.99978 -0.012903 uwb: 0.0 1236.22 580.785 -imu_odom_: 1691062843.745635988 0.366313 -0.229843 9.57681 -0.0628506 0.0170442 0.193878 0.06 0.2 pose: 0.7058790 4.23218 -4.10282 0 0.0157848 0.00236218 0.999781 -0.0135231 uwb: 0.49879046 1236.78 582.346 -imu_odom_: 1691062843.762646147 -0.656011 0.00718261 9.76355 -0.0330232 0.118244 0.150202 0.06 0.2 pose: 0.0 4.23218 -4.10282 0 0.0157848 0.00236218 0.999781 -0.0135231 uwb: 0.0 1236.78 582.346 -imu_odom_: 1691062843.776649985 -1.403 -0.102951 10.0533 -0.0553937 0.036219 0.205596 0.08 0.17 pose: 0.42982705 4.23218 -4.10282 0 0.0110571 0.00292627 0.999792 -0.0168802 uwb: 0.0 1236.78 582.346 -imu_odom_: 1691062843.793523361 -0.806846 -0.713472 9.71806 -0.0671117 -0.0798948 0.221575 0.08 0.17 pose: 0.0 4.23218 -4.10282 0 0.0110571 0.00292627 0.999792 -0.0168802 uwb: 0.50065411 1236.36 583.102 -imu_odom_: 1691062843.810575226 0.761356 -0.11971 10.173 -0.0340885 -0.052198 0.166181 0.1 0.14 pose: 0.0 4.23218 -4.10282 0 0.0110571 0.00292627 0.999792 -0.0168802 uwb: 0.0 1236.36 583.102 -imu_odom_: 1691062843.827569053 0.746991 0.225055 9.66539 -0.0639159 -0.0106526 0.198139 0.1 0.14 pose: 0.48942851 4.22438 -4.09657 0 0.00782299 0.00264722 0.999753 -0.0206344 uwb: 0.0 1236.36 583.102 -imu_odom_: 1691062843.844571629 0.251391 -0.107739 9.63666 -0.0841559 0.00426106 0.196009 0.1 0.14 pose: 0.0 4.22438 -4.09657 0 0.00782299 0.00264722 0.999753 -0.0206344 uwb: 0.49984623 1238.22 584.896 -imu_odom_: 1691062843.860568307 -0.0215478 -0.227449 9.7875 -0.0490022 -0.00532632 0.134223 0.12 0.11 pose: 0.43046576 4.21816 -4.1044 0 0.00787725 0.0042837 0.999675 -0.0238607 uwb: 0.0 1238.22 584.896 -imu_odom_: 1691062843.877527428 -0.134075 -0.0383072 9.89763 -0.0585895 -0.0490022 0.16192 0.12 0.11 pose: 0.6998711 4.21816 -4.1044 0 0.00719353 0.00417719 0.999673 -0.0241901 uwb: 0.0 1238.22 584.896 -imu_odom_: 1691062843.895537653 0.742203 -0.543484 9.59117 -0.0681769 -0.0756338 0.190682 0.12 0.11 pose: 0.0 4.21816 -4.1044 0 0.00719353 0.00417719 0.999673 -0.0241901 uwb: 0.49942043 1239.93 586.941 -imu_odom_: 1691062843.909512617 0.383072 -0.268151 9.89045 -0.052198 -0.0117179 0.174703 0.13 0.08 pose: 0.33954114 4.21816 -4.1044 0 0.00572924 0.00350559 0.999633 -0.0262487 uwb: 0.0 1239.93 586.941 -imu_odom_: 1691062843.926523651 0.110133 -0.248997 9.96467 -0.0436758 -0.0170442 0.148072 0.13 0.11 pose: 0.0 4.21816 -4.1044 0 0.00572924 0.00350559 0.999633 -0.0262487 uwb: 0.0 1239.93 586.941 -imu_odom_: 1691062843.943517478 0.0407014 0.0526724 10.319 -0.0660464 -0.0234358 0.165116 0.13 0.11 pose: 0.0 4.21816 -4.1044 0 0.00572924 0.00350559 0.999633 -0.0262487 uwb: 0.49926001 1238.45 587.006 -imu_odom_: 1691062843.960518888 0.196325 -0.308852 9.76595 -0.0692422 -0.0511327 0.165116 0.18 0.11 pose: 0.32128973 4.21032 -4.09819 0 0.00479059 0.00169998 0.999584 -0.0283972 uwb: 0.0 1238.45 587.006 -imu_odom_: 1691062843.976510608 0.612916 -0.318429 9.73722 -0.0692422 -0.0117179 0.127832 0.18 0.11 pose: 0.0 4.21032 -4.09819 0 0.00479059 0.00169998 0.999584 -0.0283972 uwb: 0.0 1238.45 587.006 -imu_odom_: 1691062843.993512601 0.351948 -0.253785 9.44273 -0.0660464 0.00426106 0.140615 0.18 0.11 pose: 0.33003045 4.20406 -4.106 0 0.00216988 0.0018511 0.999534 -0.0303851 uwb: 0.50036537 1238.17 587.494 -imu_odom_: 1691062844.10629212 0.744597 -0.0981623 9.68933 -0.0596548 0.0191748 0.14168 0.14 0.08 pose: 0.42856129 4.19977 -4.10258 0 0.00131738 -0.0004807810.999468 -0.0325705 uwb: 0.0 1238.17 587.494 -imu_odom_: 1691062844.25635741 1.13485 -0.201113 9.88326 -0.0617853 0.00319579 0.174703 0.14 0.08 pose: 0.8128560 4.19622 -4.09979 0 0.00196826 -0.0001753380.999454 -0.0329843 uwb: 0.0 1238.17 587.494 -imu_odom_: 1691062844.41569422 0.979228 -0.481235 9.74919 -0.0649811 0.0298274 0.22264 0.14 0.08 pose: 0.0 4.19622 -4.09979 0 0.00196826 -0.0001753380.999454 -0.0329843 uwb: 0.49867381 1237.16 587.568 -imu_odom_: 1691062844.56521412 2.20745 -0.37589 10.5536 -0.0319579 -0.0671117 0.197074 0.11 0.02 pose: 0.39928261 4.19004 -4.10765 0 0.00529675 -0.0006132490.999341 -0.0359151 uwb: 0.0 1237.16 587.568 -imu_odom_: 1691062844.72649916 1.61369 0.122104 9.28471 -0.0298274 0.00106526 0.150202 0.1 0.02 pose: 0.0 4.19004 -4.10765 0 0.00529675 -0.0006132490.999341 -0.0359151 uwb: 0.0 1237.16 587.568 -imu_odom_: 1691062844.89780235 1.24977 -0.0287304 9.84496 -0.0596548 0.04048 0.134223 0.1 0.02 pose: 0.0 4.19004 -4.10765 0 0.00529675 -0.0006132490.999341 -0.0359151 uwb: 0.0 1237.16 587.568 -imu_odom_: 1691062844.107517769 0.493206 -0.244209 9.79707 -0.0660464 0.0138484 0.072438 0.09 0.02 pose: 0.22091568 4.19004 -4.10765 0 0.00790038 -0.0001674970.999266 -0.0374849 uwb: 0.50063078 1236.03 587.868 -imu_odom_: 1691062844.124503430 0.699107 -0.213084 10.4794 -0.0585895 0.0106526 0.0436758 0.09 0.02 pose: 0.0 4.19004 -4.10765 0 0.00790038 -0.0001674970.999266 -0.0374849 uwb: 0.0 1236.03 587.868 -imu_odom_: 1691062844.139554289 0.912191 -0.308852 9.78031 -0.0628506 -0.0234358 0.0596548 0.09 0.02 pose: 0.0 4.19004 -4.10765 0 0.00790038 -0.0001674970.999266 -0.0374849 uwb: 0.0 1236.03 587.868 -imu_odom_: 1691062844.155494387 0.80924 -0.220267 9.69173 -0.0553937 0.00852212 0.072438 0.06 0.08 pose: 0.75893299 4.18217 -4.10148 0 0.0113353 -0.00028275 0.999164 -0.0392666 uwb: 0.49969751 1236.15 588.502 -imu_odom_: 1691062844.172549460 0.773327 -0.189142 10.0963 -0.0617853 0.00426106 0.0937433 0.06 0.08 pose: 0.5957814 4.18217 -4.10148 0 0.0118909 -0.0002360140.999154 -0.0393634 uwb: 0.0 1236.15 588.502 -imu_odom_: 1691062844.190489107 0.622492 -0.349553 9.94312 -0.0532632 0.0213053 0.0958738 0.06 0.08 pose: 0.0 4.18217 -4.10148 0 0.0118909 -0.0002360140.999154 -0.0393634 uwb: 0.0 1236.15 588.502 -imu_odom_: 1691062844.207626134 0.648829 -0.148441 10.0844 -0.0575243 -0.00639159 0.0873517 0.05 0.05 pose: 0.44977004 4.18217 -4.10148 0 0.013406 -0.0012595 0.999089 -0.0405059 uwb: 0.49889255 1235.06 588.743 -imu_odom_: 1691062844.233791752 0.548272 -0.198719 9.7875 -0.0596548 0.0127832 0.0841559 0.05 0.02 pose: 0.0 4.18217 -4.10148 0 0.013406 -0.0012595 0.999089 -0.0405059 uwb: 0.0 1235.06 588.743 -imu_odom_: 1691062844.259811836 0.0287304 -0.277727 9.56005 -0.0607201 0.0351537 0.00745685 0.05 0.05 pose: 0.24019370 4.17603 -4.10938 0 0.0122809 0.000455826 0.999082 -0.0410451 uwb: 0.0 1235.06 588.743 -imu_odom_: 1691062844.282705731 -1.30963 0.229843 9.73482 -0.0490022 0.0692422 -0.0234358 0.05 0.05 pose: 0.0 4.17603 -4.10938 0 0.0122809 0.000455826 0.999082 -0.0410451 uwb: 0.0 1235.06 588.743 -imu_odom_: 1691062844.299501820 -0.816423 -0.646434 9.95988 -0.0756338 -0.0692422 0.0937433 0.09 0.02 pose: 0.26095913 4.17603 -4.10938 0 0.00939953 0.000527265 0.9991 -0.0413623 uwb: 0.100068117 1237.2 590.816 -imu_odom_: 1691062844.325488074 0.751779 -0.37589 9.88805 -0.0372843 -0.0330232 0.0553937 0.09 0.02 pose: 0.48902022 4.17603 -4.10938 0 0.00362584 0.000341651 0.999172 -0.0405174 uwb: 0.0 1237.2 590.816 -imu_odom_: 1691062844.342481026 0.584185 0.150835 9.4954 -0.0596548 0.0138484 0.0958738 0.09 0.02 pose: 0.0 4.17603 -4.10938 0 0.00362584 0.000341651 0.999172 -0.0405174 uwb: 0.50104201 1235.56 590.357 -imu_odom_: 1691062844.359689799 -0.186748 -0.282516 9.45949 -0.0617853 0.0330232 0.0149137 0.12 0 pose: 0.42981247 4.1682 -4.10316 0 0.00576302 -0.0003281180.999135 -0.0411896 uwb: 0.0 1235.56 590.357 -imu_odom_: 1691062844.374612915 -0.397437 0.248997 10.1586 -0.0511327 0.0181095 -0.0969391 0.12 0 pose: 0.0 4.1682 -4.10316 0 0.00576302 -0.0003281180.999135 -0.0411896 uwb: 0.0 1235.56 590.357 -imu_odom_: 1691062844.391604410 0.289698 0.270545 9.87369 -0.0745685 -0.00852212 -0.148072 0.12 -0.2 pose: 0.42125256 4.16486 -4.10731 0 0.00228307 0.000979219 0.999187 -0.0402328 uwb: 0.50019622 1235.08 590.355 -imu_odom_: 1691062844.408676107 0.0143652 -0.28491 10.1466 -0.076699 0.0255663 -0.165116 0.12 -0.2 pose: 0.0 4.16486 -4.10731 0 0.00228307 0.000979219 0.999187 -0.0402328 uwb: 0.0 1235.08 590.355 -imu_odom_: 1691062844.425729723 -0.232238 -0.52433 9.63906 -0.0490022 -0.0117179 -0.229032 0.12 -0.2 pose: 0.0 4.16486 -4.10731 0 0.00228307 0.000979219 0.999187 -0.0402328 uwb: 0.0 1235.08 590.355 -imu_odom_: 1691062844.443494671 0.378284 0.0694318 10.0102 -0.0490022 -0.0553937 -0.279099 0.13 -0.35 pose: 0.7010085 4.162 -4.11101 0 0.00204839 0.00156835 0.999213 -0.0395737 uwb: 0.50071245 1235.79 591.603 -imu_odom_: 1691062844.457514841 0.294487 0.059855 9.58878 -0.076699 -0.00532632 -0.288687 0.15 -0.44 pose: 0.0 4.162 -4.11101 0 0.00204839 0.00156835 0.999213 -0.0395737 uwb: 0.0 1235.79 591.603 -imu_odom_: 1691062844.473499853 0.608127 0.107739 10.5129 -0.0596548 -0.0447411 -0.347276 0.15 -0.44 pose: 0.67922521 4.15411 -4.10486 0 -0.00139118 0.00322547 0.99952 -0.0307752 uwb: 0.0 1235.79 591.603 -imu_odom_: 1691062844.488493257 0.366313 -0.126893 9.37569 -0.0458064 -0.0372843 -0.42291 0.15 -0.44 pose: 0.0 4.15411 -4.10486 0 -0.00139118 0.00322547 0.99952 -0.0307752 uwb: 0.0 1235.79 591.603 -imu_odom_: 1691062844.504477978 0.778116 -0.323217 9.66779 -0.00319579 0.0532632 -0.475108 0.14 -0.47 pose: 0.0 4.15411 -4.10486 0 -0.00139118 0.00322547 0.99952 -0.0307752 uwb: 0.49879339 1234.44 591.476 -imu_odom_: 1691062844.519533503 0.114922 -0.19393 10.398 -0.00958738 0.0181095 -0.496413 0.14 -0.47 pose: 0.30985708 4.15411 -4.10486 0 -0.0008883890.00492084 0.999681 -0.0247525 uwb: 0.0 1234.44 591.476 -imu_odom_: 1691062844.536473375 0.241814 0.191536 9.82102 -0.0617853 0.00852212 -0.475108 0.14 -0.53 pose: 0.39002274 4.14365 -4.10943 0 -0.00223791 0.00446614 0.999879 -0.0147617 uwb: 0.0 1234.44 591.476 -imu_odom_: 1691062844.550469338 0.198719 0.0837971 9.84735 -0.0479369 -0.00426106 -0.508131 0.14 -0.53 pose: 0.0 4.14365 -4.10943 0 -0.00223791 0.00446614 0.999879 -0.0147617 uwb: 0.49963917 1234.75 592.577 -imu_odom_: 1691062844.566519972 0.316035 0.00718261 9.8689 -0.0745685 -0.00213053 -0.531567 0.14 -0.53 pose: 0.0 4.14365 -4.10943 0 -0.00223791 0.00446614 0.999879 -0.0147617 uwb: 0.0 1234.75 592.577 -imu_odom_: 1691062844.583462469 0.617704 -0.0861913 10.0245 -0.0511327 0.00852212 -0.535828 0.15 -0.58 pose: 0.6945922 4.14006 -4.10661 0 -0.00254303 0.00508718 0.9999 -0.0129749 uwb: 0.0 1234.75 592.577 -imu_odom_: 1691062844.601464820 0.641646 -0.0095768110.1538 -0.0447411 0.0191748 -0.551807 0.15 -0.58 pose: 0.0 4.14006 -4.10661 0 -0.00254303 0.00508718 0.9999 -0.0129749 uwb: 0.50000665 1235.47 593.783 -imu_odom_: 1691062844.619456963 0.962469 0.162806 10.1251 -0.056459 -0.0617853 -0.504935 0.14 -0.55 pose: 0.47111878 4.14006 -4.10661 0 -0.00354956 0.00842782 0.999958 3.75727e-05 uwb: 0.0 1235.47 593.783 -imu_odom_: 1691062844.635534428 1.5706 -0.407014 9.36612 -0.076699 -0.0276969 -0.441019 0.13 -0.47 pose: 0.0 4.14006 -4.10661 0 -0.00354956 0.00842782 0.999958 3.75727e-05 uwb: 0.0 1235.47 593.783 -imu_odom_: 1691062844.653452784 1.52511 -0.3304 10.4962 -0.0585895 -0.02024 -0.417584 0.14 -0.58 pose: 0.0 4.14006 -4.10661 0 -0.00354956 0.00842782 0.999958 3.75727e-05 uwb: 0.50035080 1235.51 594.537 -imu_odom_: 1691062844.670506691 1.30484 -0.189142 9.93594 -0.0703074 0.0340885 -0.356864 0.14 -0.58 pose: 0.69880947 4.12603 -4.10834 0 0.0035416 0.00827543 0.999784 0.0187199 uwb: 0.0 1235.51 594.537 -imu_odom_: 1691062844.687449188 0.964863 -0.299275 9.97424 -0.072438 0.0319579 -0.286556 0.11 -0.38 pose: 0.0 4.12603 -4.10834 0 0.0035416 0.00827543 0.999784 0.0187199 uwb: 0.0 1235.51 594.537 -imu_odom_: 1691062844.704503970 0.545878 -0.466869 9.74201 -0.0596548 0.0426106 -0.284426 0.11 -0.38 pose: 0.0 4.12603 -4.10834 0 0.0035416 0.00827543 0.999784 0.0187199 uwb: 0.0 1235.51 594.537 -imu_odom_: 1691062844.722562318 0.694318 0.0287304 10.1514 -0.0479369 -0.00319579 -0.282295 0.11 -0.38 pose: 0.34982762 4.12603 -4.10834 0 0.00641949 0.00712437 0.999625 0.0256423 uwb: 0.0 1235.51 594.537 -imu_odom_: 1691062844.744456438 0.811634 -0.229843 9.56005 -0.0745685 -0.0138484 -0.219444 0.07 -0.26 pose: 0.44107306 4.11809 -4.10226 0 0.00798734 0.00614358 0.999413 0.032751 uwb: 0.100087658 1233.95 593.962 -imu_odom_: 1691062844.761587049 0.59855 -0.31364 10.0796 -0.0607201 0.0245011 -0.211988 0.07 -0.26 pose: 0.6022268 4.11809 -4.10226 0 0.00853422 0.00579561 0.999385 0.0335255 uwb: 0.0 1233.95 593.962 -imu_odom_: 1691062844.778526921 0.105345 -0.071826 9.96227 -0.0628506 0.0287621 -0.256729 0.1 -0.32 pose: 0.0 4.11809 -4.10226 0 0.00853422 0.00579561 0.999385 0.0335255 uwb: 0.0 1233.95 593.962 -imu_odom_: 1691062844.795524248 -0.167594 0.392649 10.2927 -0.0479369 0.0553937 -0.298274 0.1 -0.2 pose: 0.49942335 4.1119 -4.11014 0 0.00770492 0.00343948 0.999155 0.0402186 uwb: 0.49856882 1235.72 594.987 -imu_odom_: 1691062844.812592155 -1.25217 0.205901 9.67736 -0.0692422 0.0330232 -0.197074 0.14 -0.23 pose: 0.0 4.1119 -4.11014 0 0.00770492 0.00343948 0.999155 0.0402186 uwb: 0.0 1235.72 594.987 -imu_odom_: 1691062844.829649562 -0.385466 -0.871489 9.92397 -0.0777643 -0.0852212 -0.107592 0.14 -0.23 pose: 0.0 4.1119 -4.11014 0 0.00770492 0.00343948 0.999155 0.0402186 uwb: 0.0 1235.72 594.987 -imu_odom_: 1691062844.846468691 0.0957681 -0.268151 9.82102 -0.0585895 -0.0862864 -0.133158 0.15 -0.26 pose: 0.24103074 4.11197 -4.11016 0 0.00502888 0.00472703 0.99901 0.0439419 uwb: 0.50062786 1234.84 594.881 -imu_odom_: 1691062844.862582904 0.830788 0.155623 10.4531 -0.036219 -0.0330232 -0.125701 0.15 -0.26 pose: 0.0 4.11197 -4.11016 0 0.00502888 0.00472703 0.99901 0.0439419 uwb: 0.0 1234.84 594.881 -imu_odom_: 1691062844.880585255 0.553061 -0.059855 10.0533 -0.0713727 0.00852212 -0.0948085 0.15 -0.26 pose: 0.33971030 4.10408 -4.10401 0 0.00282128 0.00339253 0.998886 0.0469885 uwb: 0.0 1234.84 594.881 -imu_odom_: 1691062844.897604164 0.610521 -0.557849 10.1538 -0.0543285 0.0234358 -0.138484 0.17 -0.23 pose: 0.34050943 4.10408 -4.10401 0 0.00439601 0.00460913 0.998743 0.0497128 uwb: 0.49945544 1235.63 595.964 -imu_odom_: 1691062844.914585742 -0.0550666 -0.3304 9.47864 -0.0628506 -0.00426106 -0.110787 0.17 -0.23 pose: 0.0 4.10408 -4.10401 0 0.00439601 0.00460913 0.998743 0.0497128 uwb: 0.0 1235.63 595.964 -imu_odom_: 1691062844.931464951 0.114922 -0.299275 10.1538 -0.0585895 -0.056459 -0.0681769 0.13 -0.14 pose: 0.43933774 4.09577 -4.10504 0 0.00354071 0.00299099 0.998575 0.0531594 uwb: 0.0 1235.63 595.964 -imu_odom_: 1691062844.948584479 0.265756 -0.215478 9.56723 -0.0617853 -0.02024 -0.0873517 0.13 -0.14 pose: 0.0 4.09577 -4.10504 0 0.00354071 0.00299099 0.998575 0.0531594 uwb: 0.49985207 1233.52 595.531 -imu_odom_: 1691062844.963522470 0.56982 0.0861913 9.8689 -0.0415453 -0.0117179 -0.100135 0.13 -0.14 pose: 0.0 4.09577 -4.10504 0 0.00354071 0.00299099 0.998575 0.0531594 uwb: 0.0 1233.52 595.531 -imu_odom_: 1691062844.980569961 0.23942 -0.0790087 9.70131 -0.0649811 0.0234358 -0.0884169 0.13 -0.11 pose: 0.7006585 4.09005 -4.10575 0 0.00306131 0.0027365 0.998557 0.0535383 uwb: 0.0 1233.52 595.531 -imu_odom_: 1691062844.994586631 0.457293 0.0694318 10.0772 -0.0436758 -0.0138484 -0.0852212 0.13 -0.11 pose: 0.0 4.09005 -4.10575 0 0.00306131 0.0027365 0.998557 0.0535383 uwb: 0.49928045 1232.25 595.287 -imu_odom_: 1691062845.11631497 0.241814 -0.397437 9.43555 -0.0607201 0.0287621 -0.0639159 0.13 -0.11 pose: 0.0 4.09005 -4.10575 0 0.00306131 0.0027365 0.998557 0.0535383 uwb: 0.0 1232.25 595.287 -imu_odom_: 1691062845.26576780 0.612916 -0.129287 10.2328 -0.0447411 -0.0426106 -0.0532632 0.15 -0.11 pose: 0.49002058 4.09005 -4.10575 0 0.000971481 0.00356535 0.998387 0.0566561 uwb: 0.0 1232.25 595.287 -imu_odom_: 1691062845.43453656 1.14203 0.0335188 10.0102 -0.0415453 -0.0596548 -0.0213053 0.13 -0.11 pose: 0.0 4.09005 -4.10575 0 0.000971481 0.00356535 0.998387 0.0566561 uwb: 0.50103618 1232.6 596.304 -imu_odom_: 1691062845.57460994 1.30963 -0.225055 10.003 -0.0585895 -0.0213053 0.015979 0.13 -0.11 pose: 0.0 4.09005 -4.10575 0 0.000971481 0.00356535 0.998387 0.0566561 uwb: 0.0 1232.6 596.304 -imu_odom_: 1691062845.73590372 1.54905 -0.289698 10.3717 -0.0511327 -0.0884169 0.0234358 0.13 -0.11 pose: 0.62996854 4.07604 -4.10746 0 0.0018926 0.00405007 0.998191 0.0599508 uwb: 0.0 1232.6 596.304 -imu_odom_: 1691062845.90697068 1.25456 -0.363919 9.1267 -0.0319579 -0.0426106 -0.0330232 0.1 -0.11 pose: 0.0 4.07604 -4.10746 0 0.0018926 0.00405007 0.998191 0.0599508 uwb: 0.0 1232.6 596.304 -imu_odom_: 1691062845.108443352 1.52989 0.0694318 10.161 -0.0458064 0.0287621 -0.0703074 0.1 -0.11 pose: 0.30990958 4.07604 -4.10746 0 0.00563401 0.0038425 0.998147 0.0604611 uwb: 0.49963043 1233.1 597.077 -imu_odom_: 1691062845.125566088 0.864307 -0.287304 10.1179 -0.0798948 0.0266316 -0.0447411 0.09 -0.11 pose: 0.43861155 4.06816 -4.1013 0 0.0102985 0.00361968 0.99801 0.0621066 uwb: 0.0 1233.1 597.077 -imu_odom_: 1691062845.139626215 0.562637 -0.366313 9.95988 -0.0575243 0.0149137 -0.0894822 0.09 -0.11 pose: 0.0 4.06816 -4.1013 0 0.0102985 0.00361968 0.99801 0.0621066 uwb: 0.0 1233.1 597.077 -imu_odom_: 1691062845.157496740 0.804452 -0.0335188 9.84256 -0.0468716 -0.0500674 -0.122505 0.09 -0.11 pose: 0.0 4.06816 -4.1013 0 0.0102985 0.00361968 0.99801 0.0621066 uwb: 0.50196363 1234.66 598.422 -imu_odom_: 1691062845.173504501 0.912191 0.0526724 9.92875 -0.056459 -0.00958738 -0.0692422 0.07 -0.05 pose: 0.8011609 4.06816 -4.1013 0 0.0108254 0.00307562 0.997985 0.0624368 uwb: 0.0 1234.66 598.422 -imu_odom_: 1691062845.191549725 0.699107 -0.514753 9.96227 -0.0607201 0.00958738 -0.0479369 0.09 -0.08 pose: 0.0 4.06816 -4.1013 0 0.0108254 0.00307562 0.997985 0.0624368 uwb: 0.0 1234.66 598.422 -imu_odom_: 1691062845.207496240 0.56982 -0.301669 9.84496 -0.0447411 -0.0106526 -0.0735032 0.09 -0.08 pose: 0.65056192 4.06816 -4.1013 0 0.0140121 0.00228284 0.997694 0.0663718 uwb: 0.49797678 1235.74 599.79 -imu_odom_: 1691062845.224567646 0.634463 -0.0646434 9.94073 -0.0511327 -0.00213053 -0.0298274 0.07 -0.05 pose: 0.0 4.06816 -4.1013 0 0.0140121 0.00228284 0.997694 0.0663718 uwb: 0.0 1235.74 599.79 -imu_odom_: 1691062845.249518545 0.703895 -0.423774 9.97185 -0.0553937 -0.0149137 0.00319579 0.07 -0.05 pose: 0.25985087 4.06816 -4.1013 0 0.0129207 0.000171336 0.997623 0.0679669 uwb: 0.50009999 1236.52 600.854 -imu_odom_: 1691062845.275698746 -0.718261 -0.0407014 9.22007 -0.0500674 0.115049 0.00319579 0.06 -0.08 pose: 0.34044235 4.06278 -4.09714 0 0.01319 -0.0005637920.997549 0.0687139 uwb: 0.0 1236.52 600.854 -imu_odom_: 1691062845.292570664 -1.36948 -0.332794 10.2951 -0.0553937 0.0266316 0.0191748 0.06 -0.08 pose: 0.8020067 4.06025 -4.09518 0 0.0119267 -0.0003551770.997555 0.0688617 uwb: 0.50064829 1237.67 602.085 -imu_odom_: 1691062845.317637347 -0.136469 -0.150835 9.70849 -0.0585895 -0.092678 0.00958738 0.11 -0.02 pose: 0.0 4.06025 -4.09518 0 0.0119267 -0.0003551770.997555 0.0688617 uwb: 0.0 1237.67 602.085 -imu_odom_: 1691062845.342580663 0.737414 -0.126893 9.61033 -0.0617853 -0.0245011 -0.00319579 0.11 -0.02 pose: 0.35032052 4.05412 -4.10308 0 0.00711849 0.000138758 0.997566 0.0693687 uwb: 0.49964793 1239.06 602.917 -imu_odom_: 1691062845.368704867 -0.189142 -0.191536 10.3286 -0.0596548 0.0170442 0.00639159 0.11 -0.02 pose: 0.50009999 4.05412 -4.10308 0 0.0084055 0.000891141 0.997491 0.0702822 uwb: 0.0 1239.06 602.917 -imu_odom_: 1691062845.393595686 -0.222661 -0.177171 10.1634 -0.0415453 -0.0415453 0 0.11 -0.02 pose: 0.0 4.05412 -4.10308 0 0.0084055 0.000891141 0.997491 0.0702822 uwb: 0.49838801 1239.82 604.007 -imu_odom_: 1691062845.411571788 0.275333 -0.198719 9.83538 -0.0383495 -0.0628506 0 0.13 -0.02 pose: 0.51015023 4.04624 -4.09692 0 0.00350642 0.00136703 0.997454 0.0712151 uwb: 0.0 1239.82 604.007 -imu_odom_: 1691062845.435484415 0.500388 -0.306458 9.79707 -0.0458064 0.0234358 0.00745685 0.13 -0.02 pose: 0.0 4.04624 -4.09692 0 0.00350642 0.00136703 0.997454 0.0712151 uwb: 0.0 1239.82 604.007 -imu_odom_: 1691062845.461667241 0.124498 -0.0311246 10.0772 -0.0245011 -0.0543285 0.0127832 0.17 -0.02 pose: 0.41888729 4.04624 -4.09692 0 0.00275276 -0.0006385160.997404 0.0719489 uwb: 0.49981709 1238.84 604.072 -imu_odom_: 1691062845.477547259 0.459687 -0.131681 9.9934 -0.0553937 -0.0415453 0.0319579 0.17 -0.02 pose: 0.6973629 4.04624 -4.09692 0 0.00235666 -0.0001530570.997399 0.0720426 uwb: 0.0 1238.84 604.072 -imu_odom_: 1691062845.503566761 0.517148 -0.129287 10.2783 -0.0511327 -0.0276969 0.00532632 0.18 -0.05 pose: 0.35089215 4.0322 -4.0986 0 0.00245203 0.00247835 0.997372 0.0723613 uwb: 0.50172447 1238.69 604.313 -imu_odom_: 1691062845.528542741 0.141258 -0.179565 9.83299 -0.0607201 -0.0596548 0.0234358 0.18 -0.05 pose: 0.0 4.0322 -4.0986 0 0.00245203 0.00247835 0.997372 0.0723613 uwb: 0.0 1238.69 604.313 -imu_odom_: 1691062845.555446233 -0.37589 -0.158017 9.8689 -0.0500674 0.00958738 0.0319579 0.17 -0.05 pose: 0.7918573 4.0322 -4.0986 0 0.0032873 0.00276908 0.997359 0.0724954 uwb: 0.50011458 1239.01 605.354 -imu_odom_: 1691062845.579430022 0.514753 -0.19393 10.1323 -0.0756338 0.0191748 0.0426106 0.15 0 pose: 0.50987025 4.02429 -4.09248 0 0.00253984 0.00330211 0.99732 0.0730471 uwb: 0.0 1239.01 605.354 -imu_odom_: 1691062845.605430858 0.538695 -0.059855 10.2783 -0.0479369 -0.00532632 0.0213053 0.15 0 pose: 0.0 4.02429 -4.09248 0 0.00253984 0.00330211 0.99732 0.0730471 uwb: 0.49930378 1239.85 606.282 -imu_odom_: 1691062845.622471058 0.186748 -0.177171 10.0628 -0.0532632 -0.0447411 0.0308927 0.15 -0.02 pose: 0.68978001 4.01261 -4.09608 0 0.00415148 0.00404582 0.997292 0.0733169 uwb: 0.0 1239.85 606.282 -imu_odom_: 1691062845.639681581 0.739808 -0.196325 10.1538 -0.0596548 -0.00319579 0.0266316 0.15 -0.02 pose: 0.8013068 4.01026 -4.09426 0 0.00351503 0.00396886 0.997292 0.0733554 uwb: 0.0 1239.85 606.282 -imu_odom_: 1691062845.655407317 0.203507 -0.244209 9.36612 -0.0447411 0.04048 0.015979 0.15 -0.02 pose: 0.0 4.01026 -4.09426 0 0.00351503 0.00396886 0.997292 0.0733554 uwb: 0.49887215 1239.94 606.913 -imu_odom_: 1691062845.681478150 0.816423 -0.371101 9.36612 -0.0735032 -0.0276969 0.0490022 0.16 -0.02 pose: 0.32985256 4.01026 -4.09426 0 0.00363723 0.00322106 0.997277 0.0735822 uwb: 0.0 1239.94 606.913 -imu_odom_: 1691062845.707558023 0.462081 0.023942 10.2448 -0.0532632 -0.0340885 0.0266316 0.17 0 pose: 0.0 4.01026 -4.09426 0 0.00363723 0.00322106 0.997277 0.0735822 uwb: 0.49993375 1238.3 606.52 -imu_odom_: 1691062845.723565492 0.0646434 -0.222661 9.63187 -0.0607201 0.02024 0.0308927 0.17 0 pose: 0.35048968 4.0048 -4.09003 0 0.00501059 0.0013113 0.997278 0.0735574 uwb: 0.0 1238.3 606.52 -imu_odom_: 1691062845.749498666 0.603339 -0.1652 10.0365 -0.0415453 0.0117179 0.0106526 0.17 0 pose: 0.0 4.0048 -4.09003 0 0.00501059 0.0013113 0.997278 0.0735574 uwb: 0.50008249 1239.66 608.145 -imu_odom_: 1691062845.773457082 0.440533 -0.335188 9.73243 -0.0436758 -0.0255663 0.0394148 0.16 -0.02 pose: 0.49977042 3.99623 -4.09604 0 0.00400105 0.00351201 0.99725 0.0739233 uwb: 0.0 1239.66 608.145 -imu_odom_: 1691062845.798686797 0.347159 -0.179565 10.1347 -0.0628506 0.0298274 0.0191748 0.16 -0.02 pose: 0.42001890 3.98833 -4.0899 0 0.00492176 0.00108659 0.997233 0.0741677 uwb: 0.49986083 1237.5 607.847 -imu_odom_: 1691062845.822401102 0.395043 -0.244209 10.4435 -0.0468716 -0.04048 0.0415453 0.16 -0.02 pose: 0.6942130 3.98833 -4.0899 0 0.00411213 0.00114857 0.997231 0.0742396 uwb: 0.0 1237.5 607.847 -imu_odom_: 1691062845.839473092 0.845153 -0.347159 9.90481 -0.0660464 -0.0170442 0.0490022 0.21 0 pose: 0.0 3.98833 -4.0899 0 0.00411213 0.00114857 0.997231 0.0742396 uwb: 0.0 1237.5 607.847 -imu_odom_: 1691062845.864397450 0.778116 -0.107739 9.75398 -0.0447411 0.0383495 0.0127832 0.21 0 pose: 0.49010225 3.9743 -4.09165 0 0.00151172 -0.0006634840.997229 0.0743721 uwb: 0.50049955 1234.79 606.934 -imu_odom_: 1691062845.890593983 0.54109 -0.339977 9.69412 -0.0639159 0.0138484 0.0330232 0.22 -0.02 pose: 0.34988013 3.9743 -4.09165 0 0.00438575 -0.0001936290.997199 0.0746618 uwb: 0.0 1234.79 606.934 -imu_odom_: 1691062845.906546914 0.275333 -0.0622492 10.0149 -0.0532632 -0.0149137 0.0213053 0.22 -0.02 pose: 0.8077230 3.9743 -4.09165 0 0.00456788 -0.00098938 0.997196 0.074685 uwb: 0.49935337 1237.66 609.13 -imu_odom_: 1691062845.932429632 0.634463 -0.114922 9.85214 -0.0756338 -0.0383495 0.0436758 0.22 0 pose: 0.0 3.9743 -4.09165 0 0.00456788 -0.00098938 0.997196 0.074685 uwb: 0.0 1237.66 609.13 -imu_odom_: 1691062845.957597810 0.471658 -0.112527 9.65103 -0.0415453 0.00745685 0.0191748 0.22 0 pose: 0.42074510 3.96641 -4.08551 0 0.00472384 -0.00126031 0.997181 0.0748713 uwb: 0.50003874 1238.04 610.047 -imu_odom_: 1691062845.983565106 0.272939 -0.354342 9.60554 -0.072438 0.0213053 0.052198 0.2 0.02 pose: 0.43048620 3.95237 -4.08724 0 0.0053035 0.00204611 0.997159 0.0751105 uwb: 0.0 1238.04 610.047 -imu_odom_: 1691062845.999430542 0.318429 -0.122104 10.003 -0.0415453 -0.015979 0.0308927 0.2 0.02 pose: 0.7947154 3.95237 -4.08724 0 0.00454588 0.00153068 0.997167 0.0750599 uwb: 0.50150866 1238.33 611.105 -imu_odom_: 1691062846.24555556 0.411803 -0.110133 9.56244 -0.0617853 -0.0266316 0.0575243 0.24 0 pose: 0.0 3.95237 -4.08724 0 0.00454588 0.00153068 0.997167 0.0750599 uwb: 0.0 1238.33 611.105 -imu_odom_: 1691062846.49381046 0.73502 0.011971 10.4627 -0.0308927 0.00319579 0.0372843 0.24 0 pose: 0.33885578 3.94847 -4.0842 0 0.0016185 0.00136257 0.99718 0.0750165 uwb: 0.50034498 1239.11 612.112 -imu_odom_: 1691062846.74711964 0.52433 -0.339977 9.90002 -0.0692422 -0.00958738 0.0511327 0.18 0.02 pose: 0.49950504 3.94027 -4.0865 0 0.00369178 0.00494905 0.997178 0.074816 uwb: 0.0 1239.11 612.112 -imu_odom_: 1691062846.100394903 0.457293 0.0143652 9.95988 -0.0447411 -0.0191748 0.0532632 0.25 0 pose: 0.0 3.94027 -4.0865 0 0.00369178 0.00494905 0.997178 0.074816 uwb: 0.49988418 1237.95 612.475 -imu_odom_: 1691062846.114392617 0.603339 -0.158017 9.63427 -0.0681769 -0.0234358 0.0543285 0.25 0 pose: 0.32172722 3.93046 -4.08283 0 0.00418327 0.00298628 0.997199 0.0746164 uwb: 0.0 1237.95 612.475 -imu_odom_: 1691062846.139517922 0.11971 -0.150835 9.35415 -0.0447411 0.00639159 0.036219 0.25 0 pose: 0.0 3.93046 -4.08283 0 0.00418327 0.00298628 0.997199 0.0746164 uwb: 0.0 1237.95 612.475 -imu_odom_: 1691062846.164391534 0.186748 -0.134075 9.81383 -0.0830906 0.0117179 0.0607201 0.19 0.02 pose: 0.39844559 3.93046 -4.08283 0 0.0048974 0.00435605 0.997207 0.0743992 uwb: 0.49999792 1236.18 612.328 -imu_odom_: 1691062846.188446194 0.265756 -0.0047884 10.228 -0.0639159 0.0383495 0.0458064 0.18 0 pose: 0.0 3.93046 -4.08283 0 0.0048974 0.00435605 0.997207 0.0743992 uwb: 0.0 1236.18 612.328 -imu_odom_: 1691062846.206384383 0.409408 -0.277727 9.85453 -0.0777643 -0.0127832 0.052198 0.18 0 pose: 0.42993207 3.91833 -4.08213 0 0.000285182 0.00424197 0.997235 0.0741866 uwb: 0.49942921 1235.51 612.664 -imu_odom_: 1691062846.223379961 0.282516 -0.0143652 9.46188 -0.0681769 0.0245011 0.0351537 0.18 0 pose: 0.0 3.91833 -4.08213 0 0.000285182 0.00424197 0.997235 0.0741866 uwb: 0.0 1235.51 612.664 -imu_odom_: 1691062846.246535175 0.603339 -0.0095768110.1227 -0.0894822 -0.0138484 0.0585895 0.18 0 pose: 0.8126811 3.91642 -4.08458 0 -0.0004507110.00480952 0.997234 0.074163 uwb: 0.50192572 1234.43 612.917 -imu_odom_: 1691062846.263550876 0.572214 -0.184354 9.72525 -0.0884169 0.0234358 0.0553937 0.18 0 pose: 0.0 3.91642 -4.08458 0 -0.0004507110.00480952 0.997234 0.074163 uwb: 0.0 1234.43 612.917 -imu_odom_: 1691062846.288427696 0.59855 -0.347159 10.1778 -0.0639159 -0.0255663 0.0458064 0.19 0 pose: 0.41933061 3.90853 -4.07845 0 -0.00197923 0.00461699 0.997244 0.0740231 uwb: 0.0 1234.43 612.917 -imu_odom_: 1691062846.314520111 0.42138 -0.25618 10.0006 -0.0426106 -0.015979 0.0383495 0.19 0 pose: 0.0 3.90853 -4.07845 0 -0.00197923 0.00461699 0.997244 0.0740231 uwb: 0.49808762 1232.74 612.664 -imu_odom_: 1691062846.330394006 0.588974 -0.320823 9.59357 -0.036219 0.00852212 0.0340885 0.17 -0.02 pose: 0.56078641 3.8945 -4.08021 0 0.0014636 0.00397784 0.997276 0.0736419 uwb: 0.0 1232.74 612.664 -imu_odom_: 1691062846.356366552 0.509965 -0.148441 9.59117 -0.0596548 -0.00532632 0.0468716 0.17 -0.02 pose: 0.0 3.8945 -4.08021 0 0.0014636 0.00397784 0.997276 0.0736419 uwb: 0.49982876 1231.22 612.903 -imu_odom_: 1691062846.381385989 0.253785 -0.225055 9.84735 -0.0628506 -0.0181095 0.056459 0.23 0.02 pose: 0.51154140 3.8866 -4.07408 0 0.00233482 -0.00023688 0.997284 0.0736121 uwb: 0.0 1231.22 612.903 -imu_odom_: 1691062846.398413065 0.512359 -0.203507 10.0844 -0.0351537 -0.0170442 0.0490022 0.23 0.02 pose: 0.0 3.8866 -4.07408 0 0.00233482 -0.00023688 0.997284 0.0736121 uwb: 0.49884299 1232.19 614.337 -imu_odom_: 1691062846.422435352 0.383072 -0.294487 10.1251 -0.036219 -0.0245011 0.0490022 0.18 -0.02 pose: 0.76728878 3.87257 -4.07585 0 0.00400587 0.00069513 0.997305 0.0732567 uwb: 0.0 1232.19 614.337 -imu_odom_: 1691062846.448368527 0.471658 -0.339977 10.4148 -0.0426106 -0.00106526 0.0394148 0.18 -0.02 pose: 0.0 3.87257 -4.07585 0 0.00400587 0.00069513 0.997305 0.0732567 uwb: 0.50054623 1233.1 615.874 -imu_odom_: 1691062846.470403223 0.308852 -0.320823 10.2185 -0.04048 -0.00426106 0.0436758 0.18 0 pose: 0.8003152 3.87257 -4.07585 0 0.00348735 0.000239931 0.99731 0.0732173 uwb: 0.0 1233.1 615.874 -imu_odom_: 1691062846.495390870 0.335188 -0.0454898 10.0102 -0.0607201 -0.04048 0.0458064 0.18 0 pose: 0.48036700 3.86466 -4.06973 0 0.0020263 -0.00318696 0.997316 0.073119 uwb: 0.49931254 1232.77 616.417 -imu_odom_: 1691062846.512389656 0.0502782 -0.0550666 10.0844 -0.0575243 0.0181095 0.0639159 0.19 0 pose: 0.0 3.86466 -4.06973 0 0.0020263 -0.00318696 0.997316 0.073119 uwb: 0.0 1232.77 616.417 -imu_odom_: 1691062846.538515902 0.186748 -0.481235 9.55287 -0.0671117 0.0181095 0.0308927 0.19 0 pose: 0.24065451 3.86466 -4.06973 0 0.000417131 -0.00268442 0.997324 0.0730546 uwb: 0.0 1232.77 616.417 -imu_odom_: 1691062846.564464242 0.189142 -0.373495 9.63427 -0.0426106 -0.0191748 0.0447411 0.2 0 pose: 0.42034555 3.85063 -4.07152 0 -0.00199405 -0.0009160740.997342 0.0728292 uwb: 0.49979085 1232.42 616.999 -imu_odom_: 1691062846.589441973 0.371101 -0.275333 10.1658 -0.0213053 -0.0127832 0.0340885 0.17 0.02 pose: 0.43911319 3.84509 -4.06723 0 -0.00538292 -0.00357061 0.997323 0.0728397 uwb: 0.0 1232.42 616.999 -imu_odom_: 1691062846.614515365 0.617704 -0.11971 9.63427 -0.0575243 -0.00426106 0.0543285 0.17 0.02 pose: 0.0 3.84509 -4.06723 0 -0.00538292 -0.00357061 0.997323 0.0728397 uwb: 0.50016708 1232.44 617.725 -imu_odom_: 1691062846.631507734 0.464475 0.011971 10.0628 -0.0553937 0.0138484 0.0394148 0.18 0 pose: 0.8107854 3.84272 -4.0654 0 -0.00454019 -0.00328521 0.997326 0.0728649 uwb: 0.0 1232.44 617.725 -imu_odom_: 1691062846.656515797 0.263362 -0.131681 9.66539 -0.0713727 -0.00426106 0.0553937 0.18 0 pose: 0.0 3.84272 -4.0654 0 -0.00454019 -0.00328521 0.997326 0.0728649 uwb: 0.50051123 1231.01 617.821 -imu_odom_: 1691062846.681371618 0.696713 -0.213084 9.97424 -0.0617853 -0.00106526 0.0500674 0.17 0 pose: 0.48946938 3.82869 -4.06719 0 -0.000356968-0.0009738990.997351 0.0727369 uwb: 0.0 1231.01 617.821 -imu_odom_: 1691062846.698377987 0.474052 -0.148441 10.0437 -0.0756338 0.00639159 0.0639159 0.17 0 pose: 0.0 3.82869 -4.06719 0 -0.000356968-0.0009738990.997351 0.0727369 uwb: 0.49937379 1231.73 619.634 -imu_odom_: 1691062846.723371758 0.579397 -0.217872 9.9527 -0.0745685 0.0340885 0.0351537 0.19 0 pose: 0.43067285 3.82869 -4.06719 0 -0.00138797 0.00110054 0.997367 0.0724974 uwb: 0.0 1231.73 619.634 -imu_odom_: 1691062846.749497713 0.299275 -0.557849 9.78989 -0.0628506 0.0287621 0.0468716 0.19 0 pose: 0.0 3.82869 -4.06719 0 -0.00138797 0.00110054 0.997367 0.0724974 uwb: 0.50402852 1232.7 621.026 -imu_odom_: 1691062846.765400481 0.536301 -0.162806 9.85693 -0.0383495 -0.0458064 0.0276969 0.21 0 pose: 0.41903605 3.81467 -4.069 0 0.00219916 0.0012546 0.997386 0.0722165 uwb: 0.0 1232.7 621.026 -imu_odom_: 1691062846.789337606 0.418985 -0.203507 10.2544 -0.076699 -0.0138484 0.0639159 0.21 0 pose: 0.0 3.81467 -4.069 0 0.00219916 0.0012546 0.997386 0.0722165 uwb: 0.0 1232.7 621.026 -imu_odom_: 1691062846.815334943 0.196325 -0.179565 9.77074 -0.0468716 0.02024 0.0298274 0.26 0 pose: 0.50881157 3.80675 -4.06289 0 0.00254899 -0.00122271 0.997386 0.0721961 uwb: 0.49708142 1233.76 622.673 -imu_odom_: 1691062846.831540735 0.287304 -0.134075 9.90481 -0.0862864 0.00639159 0.0458064 0.26 0 pose: 0.0 3.80675 -4.06289 0 0.00254899 -0.00122271 0.997386 0.0721961 uwb: 0.0 1233.76 622.673 -imu_odom_: 1691062846.855491859 0.356736 -0.244209 9.86411 -0.0532632 0.0245011 0.0340885 0.25 -0.05 pose: 0.74169654 3.79273 -4.06471 0 -0.00285274 0.00159919 0.997397 0.0720328 uwb: 0.49869717 1236.98 625.522 -imu_odom_: 1691062846.881476364 0.550666 -0.418985 9.34457 -0.0745685 -0.0234358 0.0447411 0.25 -0.05 pose: 0.6965463 3.79273 -4.06471 0 -0.00286519 0.00092229 0.997396 0.0720537 uwb: 0.0 1236.98 625.522 -imu_odom_: 1691062846.906393140 0.11971 -0.337582 10.6111 -0.052198 -0.0298274 0.0479369 0.19 0 pose: 0.42970166 3.7848 -4.0586 0 -0.00089872 -0.00290514 0.997397 0.0720434 uwb: 0.0 1236.98 625.522 -imu_odom_: 1691062846.931485197 0.73502 -0.304064 10.568 -0.0596548 -0.0255663 0.0383495 0.19 0 pose: 0.0 3.7848 -4.0586 0 -0.00089872 -0.00290514 0.997397 0.0720434 uwb: 0.0 1236.98 625.522 -imu_odom_: 1691062846.956332561 1.00556 -0.0526724 10.1897 -0.072438 -0.0383495 0.0436758 0.23 -0.02 pose: 0.32938301 3.77078 -4.06042 0 -0.00216092 -0.00337699 0.997401 0.071939 uwb: 0.99986169 1234.45 625.205 -imu_odom_: 1691062846.981393412 0.646434 0.00957681 10.1299 -0.0447411 -0.0394148 0.0340885 0.18 -0.02 pose: 0.0 3.77078 -4.06042 0 -0.00216092 -0.00337699 0.997401 0.071939 uwb: 0.0 1234.45 625.205 -imu_odom_: 1691062846.998545314 0.253785 -0.378284 9.42118 -0.0671117 -0.0287621 0.0351537 0.18 -0.02 pose: 0.50001251 3.77078 -4.06042 0 0.00313932 -0.00245811 0.997401 0.0719357 uwb: 0.50070079 1234.99 626.517 -imu_odom_: 1691062847.22532020 0.385466 -0.304064 9.6606 -0.0553937 -0.00639159 0.0372843 0.18 0 pose: 0.0 3.77078 -4.06042 0 0.00313932 -0.00245811 0.997401 0.0719357 uwb: 0.0 1234.99 626.517 -imu_odom_: 1691062847.48363409 0.512359 -0.385466 10.07 -0.0639159 -0.0223706 0.0532632 0.18 0 pose: 0.42082094 3.76286 -4.05432 0 0.00250547 -0.00238807 0.997397 0.0720272 uwb: 0.50196073 1236.59 628.308 -imu_odom_: 1691062847.61478300 0.646434 -0.148441 10.1514 -0.0553937 -0.00958738 0.0511327 0.18 0 pose: 0.0 3.76286 -4.05432 0 0.00250547 -0.00238807 0.997397 0.0720272 uwb: 0.0 1236.59 628.308 -imu_odom_: 1691062847.85395594 0.373495 -0.31364 10.1945 -0.0479369 -0.04048 0.0490022 0.18 0 pose: 0.47880960 3.74883 -4.05614 0 0.00324816 -0.00512175 0.997398 0.0718334 uwb: 0.0 1236.59 628.308 -imu_odom_: 1691062847.111409556 0.521936 -0.229843 10.2735 -0.0415453 -0.036219 0.04048 0.23 -0.02 pose: 0.31016624 3.74356 -4.05208 0 0.00185745 -0.00466643 0.997416 0.0716711 uwb: 0.49748683 1238.11 630.201 -imu_odom_: 1691062847.135379055 1.19471 -0.117316 10.3214 -0.0543285 -0.0298274 0.0532632 0.23 -0.02 pose: 0.0 3.74356 -4.05208 0 0.00185745 -0.00466643 0.997416 0.0716711 uwb: 0.0 1238.11 630.201 -imu_odom_: 1691062847.153414655 0.316035 -0.282516 9.34457 -0.0681769 0.0213053 0.0436758 0.19 0.02 pose: 0.7990611 3.74091 -4.05004 0 0.00258543 -0.00408837 0.997417 0.0716706 uwb: 0.50033917 1238.37 631.21 -imu_odom_: 1691062847.177486232 -0.0550666 -0.363919 10.228 -0.0575243 -0.0127832 0.0671117 0.19 0.02 pose: 0.0 3.74091 -4.05004 0 0.00258543 -0.00408837 0.997417 0.0716706 uwb: 0.0 1238.37 631.21 -imu_odom_: 1691062847.201378735 0.158017 -0.184354 10.0796 -0.0607201 0.00213053 0.0394148 0.22 0.02 pose: 0.49952254 3.73481 -4.05796 0 0.00601286 -0.00257053 0.99742 0.0714943 uwb: 0.49993085 1238.76 632.722 -imu_odom_: 1691062847.225377983 0.754174 -0.0646434 10.252 -0.0671117 -0.02024 0.056459 0.22 0.02 pose: 0.0 3.73481 -4.05796 0 0.00601286 -0.00257053 0.99742 0.0714943 uwb: 0.0 1238.76 632.722 -imu_odom_: 1691062847.242322814 0.636858 -0.1652 9.47386 -0.0692422 0.00426106 0.0479369 0.25 0.02 pose: 0.41982059 3.72688 -4.05187 0 0.00181559 -0.00274456 0.997461 0.0711335 uwb: 0.50079413 1237.67 632.997 -imu_odom_: 1691062847.267523657 0.416591 -0.217872 9.40682 -0.0692422 -0.00426106 0.0490022 0.25 0.02 pose: 0.0 3.72688 -4.05187 0 0.00181559 -0.00274456 0.997461 0.0711335 uwb: 0.0 1237.67 632.997 -imu_odom_: 1691062847.292337773 0.476446 -0.107739 9.63427 -0.0681769 0.00958738 0.0394148 0.23 0 pose: 0.47001929 3.71895 -4.04578 0 0.00323114 -0.00119349 0.997477 0.0709073 uwb: 0.49940881 1238.04 634.527 -imu_odom_: 1691062847.309466635 0.59855 -0.390255 9.94551 -0.0798948 0.0351537 0.0490022 0.23 0 pose: 0.0 3.71895 -4.04578 0 0.00323114 -0.00119349 0.997477 0.0709073 uwb: 0.0 1238.04 634.527 -imu_odom_: 1691062847.334331207 0.593762 -0.270545 9.93833 -0.0905475 0 0.0490022 0.23 -0.02 pose: 0.43215736 3.70493 -4.04763 0 0.00192071 7.93412e-05 0.997492 0.0707526 uwb: 0.0 1238.04 634.527 -imu_odom_: 1691062847.359473428 0.672771 -0.385466 9.95988 -0.0649811 -0.0276969 0.0436758 0.23 -0.02 pose: 0.0 3.70493 -4.04763 0 0.00192071 7.93412e-05 0.997492 0.0707526 uwb: 0.50058706 1239.51 636.446 -imu_odom_: 1691062847.384323125 0.366313 -0.241814 10.24 -0.0394148 -0.015979 0.036219 0.19 0.02 pose: 0.41842068 3.70493 -4.04763 0 0.00368465 -0.0006320560.997495 0.0706335 uwb: 0.0 1239.51 636.446 -imu_odom_: 1691062847.409341396 0.584185 -0.134075 10.4267 -0.0490022 -0.0735032 0.04048 0.19 0.02 pose: 0.0 3.70493 -4.04763 0 0.00368465 -0.0006320560.997495 0.0706335 uwb: 0.49877592 1238.98 637.251 -imu_odom_: 1691062847.426338432 0.684742 -0.270545 9.47864 -0.0628506 0.0106526 0.0490022 0.18 0.02 pose: 0.50049082 3.69091 -4.04948 0 0.00647933 -0.00337213 0.997485 0.0705054 uwb: 0.0 1238.98 637.251 -imu_odom_: 1691062847.450319889 0.203507 -0.40462 9.67736 -0.0628506 -0.0117179 0.0532632 0.18 0.02 pose: 0.0 3.69091 -4.04948 0 0.00647933 -0.00337213 0.997485 0.0705054 uwb: 0.50054623 1236.17 636.704 -imu_odom_: 1691062847.467392463 0.433351 -0.287304 9.73243 -0.0436758 -0.0138484 0.0490022 0.18 -0.02 pose: 0.66926834 3.68297 -4.0434 0 0.0079274 -0.00177485 0.997487 0.0703883 uwb: 0.0 1236.17 636.704 -imu_odom_: 1691062847.492443981 0.758962 -0.0454898 10.3118 -0.0372843 -0.0426106 0.0479369 0.18 -0.02 pose: 0.0 3.68297 -4.0434 0 0.0079274 -0.00177485 0.997487 0.0703883 uwb: 0.50099829 1235.08 637.002 -imu_odom_: 1691062847.518395822 0.440533 -0.191536 9.98861 -0.0383495 0.00213053 0.0415453 0.18 0 pose: 0.42116509 3.66895 -4.04526 0 0.00584416 -0.00217337 0.997517 0.0701516 uwb: 0.0 1235.08 637.002 -imu_odom_: 1691062847.543315806 0.280122 -0.220267 9.72046 -0.052198 0.00213053 0.0383495 0.19 0 pose: 0.41923146 3.66348 -4.04108 0 0.00494888 7.7253e-05 0.99753 0.0700697 uwb: 0.49885175 1235.45 638.506 -imu_odom_: 1691062847.566311197 0.201113 0.107739 9.69891 -0.0617853 -0.00106526 0.0468716 0.19 0 pose: 0.0 3.66348 -4.04108 0 0.00494888 7.7253e-05 0.99753 0.0700697 uwb: 0.0 1235.45 638.506 -imu_odom_: 1691062847.590313069 0.502782 -0.304064 9.81623 -0.0788296 0.0106526 0.0511327 0.25 0 pose: 0.8120686 3.66101 -4.03919 0 0.004111 9.75371e-05 0.997533 0.0700749 uwb: 0.0 1235.45 638.506 -imu_odom_: 1691062847.607307481 0.153229 -0.407014 10.0078 -0.0500674 -0.0191748 0.0308927 0.25 0 pose: 0.0 3.66101 -4.03919 0 0.004111 9.75371e-05 0.997533 0.0700749 uwb: 0.49994836 1235.67 640.226 -imu_odom_: 1691062847.632290170 0.452504 -0.292093 9.60314 -0.0436758 -0.0223706 0.0426106 0.18 0.02 pose: 0.47915667 3.64699 -4.04106 0 0.00136968 0.00117082 0.997548 0.0699587 uwb: 0.0 1235.67 640.226 -imu_odom_: 1691062847.655351181 0.318429 -0.237026 9.91678 -0.0308927 0.0245011 0.0383495 0.18 0.02 pose: 0.0 3.64699 -4.04106 0 0.00136968 0.00117082 0.997548 0.0699587 uwb: 0.49952254 1236.09 641.65 -imu_odom_: 1691062847.680353703 0.277727 -0.244209 10.0317 -0.0447411 -0.0127832 0.0479369 0.25 -0.02 pose: 0.41941519 3.64699 -4.04106 0 0.00115449 -0.00193813 0.99755 0.0699215 uwb: 0.0 1236.09 641.65 -imu_odom_: 1691062847.694275004 0.519542 -0.136469 9.81623 -0.0585895 -0.00745685 0.0458064 0.25 -0.02 pose: 0.0 3.64699 -4.04106 0 0.00115449 -0.00193813 0.99755 0.0699215 uwb: 0.50050540 1237.55 643.497 -imu_odom_: 1691062847.718444575 0.440533 -0.304064 9.96467 -0.0479369 -0.0372843 0.0553937 0.17 -0.02 pose: 0.46928434 3.63904 -4.03499 0 -0.00114948 -0.00195838 0.997553 0.0698715 uwb: 0.0 1237.55 643.497 -imu_odom_: 1691062847.745298195 0.158017 -0.023942 9.87369 -0.0468716 0.0479369 0.04048 0.17 -0.02 pose: 0.0 3.63904 -4.03499 0 -0.00114948 -0.00195838 0.997553 0.0698715 uwb: 0.50105079 1237.95 644.244 -imu_odom_: 1691062847.770287009 -0.0550666 -0.189142 9.43794 -0.0948085 0.0127832 0.0596548 0.19 0 pose: 0.39169392 3.62503 -4.03687 0 -0.0008616 -0.00151097 0.997567 0.06969 uwb: 0.0 1237.95 644.244 -imu_odom_: 1691062847.788282945 0.526724 0.0766145 10.4531 -0.0436758 -0.0479369 0.0340885 0.19 0 pose: 0.0 3.62503 -4.03687 0 -0.0008616 -0.00151097 0.997567 0.06969 uwb: 0.0 1237.95 644.244 -imu_odom_: 1691062847.812343439 0.260968 -0.0742203 10.2568 -0.0681769 -0.0394148 0.0458064 0.18 -0.02 pose: 0.51882098 3.61708 -4.03081 0 -0.0030759 -0.0005900620.99758 0.0694603 uwb: 0.49837636 1235.92 643.934 -imu_odom_: 1691062847.835279333 0.141258 -0.208296 10.0078 -0.0383495 -0.0372843 0.0330232 0.18 -0.02 pose: 0.0 3.61708 -4.03081 0 -0.0030759 -0.0005900620.99758 0.0694603 uwb: 0.0 1235.92 643.934 -imu_odom_: 1691062847.853337098 0.548272 -0.196325 9.77553 -0.0735032 -0.02024 0.0639159 0.25 0 pose: 0.41942395 3.61101 -4.03876 0 -0.00348296 0.00148949 0.997588 0.0693151 uwb: 0.50112078 1235.64 644.654 -imu_odom_: 1691062847.877340429 0.253785 0.0191536 10.2352 -0.0639159 -0.0372843 0.0500674 0.25 0 pose: 0.0 3.61101 -4.03876 0 -0.00348296 0.00148949 0.997588 0.0693151 uwb: 0.0 1235.64 644.654 -imu_odom_: 1691062847.902323993 0.435745 -0.244209 9.69891 -0.0735032 0.0223706 0.0458064 0.21 -0.02 pose: 0.46990263 3.60306 -4.0327 0 -0.00494317 0.00238735 0.997584 0.0692463 uwb: 0.49945255 1235.85 645.692 -imu_odom_: 1691062847.917366978 -0.0574608 -0.220267 10.0533 -0.0553937 0.0330232 0.0319579 0.21 -0.02 pose: 0.0 3.60306 -4.0327 0 -0.00494317 0.00238735 0.997584 0.0692463 uwb: 0.0 1235.85 645.692 -imu_odom_: 1691062847.941302646 0.383072 -0.191536 10.3765 -0.0639159 -0.052198 0.0479369 0.18 0 pose: 0.41995766 3.58904 -4.03459 0 -0.00367732 0.00367868 0.997606 0.0689641 uwb: 0.49818679 1234.76 645.986 -imu_odom_: 1691062847.968278468 0.42138 -0.189142 10.5489 -0.0383495 -0.0276969 0.0298274 0.18 0 pose: 0.0 3.58904 -4.03459 0 -0.00367732 0.00367868 0.997606 0.0689641 uwb: 0.0 1234.76 645.986 -imu_odom_: 1691062847.993286822 0.454898 -0.0383072 10.161 -0.0660464 -0.0426106 0.052198 0.2 0 pose: 0.40028883 3.58904 -4.03459 0 -0.00356757 0.0019815 0.997613 0.0689366 uwb: 0.49981128 1234.56 646.955 -imu_odom_: 1691062848.19303117 0.588974 -0.0407014 10.2568 -0.0394148 -0.0340885 0.02024 0.2 0 pose: 0.52057672 3.58109 -4.02854 0 0.00175275 0.00217907 0.997617 0.068942 uwb: 0.0 1234.56 646.955 -imu_odom_: 1691062848.33307831 0.687136 -0.110133 10.1945 -0.0756338 -0.00319579 0.0479369 0.21 -0.02 pose: 0.0 3.58109 -4.02854 0 0.00175275 0.00217907 0.997617 0.068942 uwb: 0.0 1234.56 646.955 -imu_odom_: 1691062848.56277557 0.553061 0.124498 10.1394 -0.0553937 -0.00745685 0.0340885 0.21 -0.02 pose: 0.0 3.58109 -4.02854 0 0.00175275 0.00217907 0.997617 0.068942 uwb: 0.50175367 1233.32 647.487 -imu_odom_: 1691062848.82433260 0.306458 -0.184354 10.1251 -0.072438 0.00639159 0.0298274 0.18 0 pose: 0.62914030 3.56707 -4.03044 0 0.00660268 0.00552987 0.997576 0.0690461 uwb: 0.0 1233.32 647.487 -imu_odom_: 1691062848.106293100 0.387861 -0.280122 9.09318 -0.0436758 -0.0234358 0.0308927 0.2 -0.02 pose: 0.0 3.56707 -4.03044 0 0.00660268 0.00552987 0.997576 0.0690461 uwb: 0.50128995 1231.63 647.384 -imu_odom_: 1691062848.124497565 0.663194 -0.387861 9.94791 -0.0639159 -0.0276969 0.0511327 0.2 -0.02 pose: 0.42150633 3.55912 -4.02439 0 0.00438581 0.00581217 0.997574 0.0692366 uwb: 0.0 1231.63 647.384 -imu_odom_: 1691062848.149542668 0.40462 -0.124498 10.2017 -0.0372843 -0.015979 0.0340885 0.2 -0.02 pose: 0.0 3.55912 -4.02439 0 0.00438581 0.00581217 0.997574 0.0692366 uwb: 0.49809347 1231.43 648.352 -imu_odom_: 1691062848.174263457 0.047884 -0.203507 9.88805 -0.0607201 -0.0319579 0.0511327 0.18 0 pose: 0.7948614 3.55912 -4.02439 0 0.00406362 0.00516644 0.997576 0.069271 uwb: 0.0 1231.43 648.352 -imu_odom_: 1691062848.191253786 0.474052 -0.234632 9.56962 -0.0372843 0.0234358 0.0298274 0.18 0 pose: 0.0 3.55912 -4.02439 0 0.00406362 0.00516644 0.997576 0.069271 uwb: 0.0 1231.43 648.352 -imu_odom_: 1691062848.214323839 0.553061 -0.332794 9.96467 -0.0553937 0.0127832 0.0553937 0.18 -0.02 pose: 0.43030248 3.5451 -4.02628 0 0.00391014 0.0027535 0.997588 0.0692548 uwb: 0.50050833 1231.69 649.286 -imu_odom_: 1691062848.240420046 0.430956 -0.237026 10.3837 -0.0543285 0.0117179 0.0351537 0.25 0 pose: 0.80911717 3.53323 -4.02536 0 0.00231864 0.000213001 0.99761 0.0690638 uwb: 0.49943505 1232.32 650.998 -imu_odom_: 1691062848.256414100 0.272939 -0.179565 9.87369 -0.0628506 -0.02024 0.0553937 0.25 0 pose: 0.0 3.53323 -4.02536 0 0.00231864 0.000213001 0.99761 0.0690638 uwb: 0.0 1232.32 650.998 -imu_odom_: 1691062848.282269697 0.167594 -0.268151 9.76355 -0.0532632 0.0106526 0.0340885 0.23 0.02 pose: 0.8164725 3.53109 -4.02818 0 0.00176503 -0.0004333750.997609 0.0690805 uwb: 0.0 1232.32 650.998 -imu_odom_: 1691062848.305335375 0.629675 -0.201113 9.66779 -0.0788296 0.00106526 0.0585895 0.23 0.02 pose: 0.0 3.53109 -4.02818 0 0.00176503 -0.0004333750.997609 0.0690805 uwb: 0.50256738 1231.47 651.618 -imu_odom_: 1691062848.329328498 0.620098 -0.181959 10.3334 -0.0671117 0.00426106 0.0415453 0.18 0.02 pose: 0.41935396 3.52313 -4.02212 0 -0.00157158 -0.00116102 0.997614 0.0690096 uwb: 0.0 1231.47 651.618 -imu_odom_: 1691062848.347257938 0.258574 -0.220267 9.6199 -0.0660464 -0.0383495 0.0532632 0.18 0.02 pose: 0.0 3.52313 -4.02212 0 -0.00157158 -0.00116102 0.997614 0.0690096 uwb: 0.49623858 1229.25 651.672 -imu_odom_: 1691062848.371257478 0.229843 -0.277727 9.35415 -0.0713727 0 0.0372843 0.18 0 pose: 0.48915442 3.50912 -4.02402 0 -0.000514271-0.00124922 0.997627 0.0688326 uwb: 0.0 1229.25 651.672 -imu_odom_: 1691062848.394266576 0.586579 -0.186748 9.76834 -0.103331 -0.0351537 0.0596548 0.18 0 pose: 0.0 3.50912 -4.02402 0 -0.000514271-0.00124922 0.997627 0.0688326 uwb: 0.50158452 1231.47 654.222 -imu_odom_: 1691062848.420278205 0.545878 -0.385466 10.0413 -0.0671117 -0.0553937 0.036219 0.25 -0.02 pose: 0.41941229 3.50116 -4.01797 0 -0.00130222 -0.00112444 0.997636 0.068703 uwb: 0.0 1231.47 654.222 -imu_odom_: 1691062848.434260754 0.919373 -0.371101 10.896 -0.0500674 -0.0490022 0.0468716 0.25 -0.02 pose: 0.0 3.50116 -4.01797 0 -0.00130222 -0.00112444 0.997636 0.068703 uwb: 0.0 1231.47 654.222 -imu_odom_: 1691062848.458370828 0.593762 -0.0909797 9.95748 -0.036219 0.00852212 0.0500674 0.17 -0.02 pose: 0.47027595 3.50116 -4.01797 0 0.000418863 -0.00236507 0.997648 0.0685039 uwb: 0.50029250 1233.69 656.77 -imu_odom_: 1691062848.483229859 0.830788 -0.167594 10.7141 -0.0607201 -0.056459 0.04048 0.17 -0.02 pose: 0.0 3.50116 -4.01797 0 0.000418863 -0.00236507 0.997648 0.0685039 uwb: 0.0 1233.69 656.77 -imu_odom_: 1691062848.506251206 0.545878 -0.181959 9.75877 -0.0458064 -0.015979 0.052198 0.18 0.02 pose: 0.38998486 3.48714 -4.01989 0 0.00412085 -0.0034585 0.99764 0.0684543 uwb: 0.50045584 1233.51 657.673 -imu_odom_: 1691062848.522567533 0.4956 -0.395043 9.88805 -0.0511327 -0.00213053 0.0575243 0.18 0.02 pose: 0.0 3.48714 -4.01989 0 0.00412085 -0.0034585 0.99764 0.0684543 uwb: 0.0 1233.51 657.673 -imu_odom_: 1691062848.548324552 0.311246 -0.0837971 10.2065 -0.04048 0.00106526 0.0479369 0.25 0 pose: 0.48933816 3.47918 -4.01384 0 0.00795002 -0.0008184880.997631 0.0683285 uwb: 0.49935631 1232.51 657.868 -imu_odom_: 1691062848.573223830 0.536301 0.0335188 10.4651 -0.0745685 -0.015979 0.0500674 0.25 0 pose: 0.0 3.47918 -4.01384 0 0.00795002 -0.0008184880.997631 0.0683285 uwb: 0.0 1232.51 657.868 -imu_odom_: 1691062848.590273364 0.675165 -0.299275 9.7875 -0.0458064 -0.00532632 0.0351537 0.21 -0.02 pose: 0.40062715 3.47314 -4.02181 0 0.00651516 -0.0001977280.99766 0.0680521 uwb: 0.0 1232.51 657.868 -imu_odom_: 1691062848.615294260 0.311246 -0.234632 9.74201 -0.0436758 -0.0127832 0.0340885 0.21 -0.02 pose: 0.0 3.47314 -4.02181 0 0.00651516 -0.0001977280.99766 0.0680521 uwb: 0.49991628 1231.19 657.884 -imu_odom_: 1691062848.640352195 0.397437 -0.0526724 10.1323 -0.056459 -0.0330232 0.0426106 0.21 -0.02 pose: 0.50935989 3.46517 -4.01577 0 0.00618545 0.00258194 0.997671 0.0678773 uwb: 0.0 1231.19 657.884 -imu_odom_: 1691062848.664222534 0.634463 -0.304064 10.343 -0.0756338 -0.0426106 0.0543285 0.21 -0.02 pose: 0.0 3.46517 -4.01577 0 0.00618545 0.00258194 0.997671 0.0678773 uwb: 0.49813430 1231.75 658.977 -imu_odom_: 1691062848.690229497 0.73502 -0.220267 9.991 -0.0426106 -0.00319579 0.0223706 0.18 -0.02 pose: 0.42144508 3.4572 -4.00973 0 0.00417326 0.00221671 0.997677 0.0679527 uwb: 0.0 1231.75 658.977 -imu_odom_: 1691062848.703218104 0.440533 -0.198719 10.1849 -0.0383495 -0.0149137 0.0319579 0.18 -0.02 pose: 0.0 3.4572 -4.00973 0 0.00417326 0.00221671 0.997677 0.0679527 uwb: 0.49998336 1231.48 660.016 -imu_odom_: 1691062848.726216995 0.462081 -0.148441 10.1011 -0.0372843 -0.0117179 0.036219 0.18 0 pose: 0.48874903 3.44319 -4.01166 0 0.00626657 0.00137592 0.997677 0.0678161 uwb: 0.0 1231.48 660.016 -imu_odom_: 1691062848.752355491 0.438139 -0.181959 9.8258 -0.0426106 -0.0245011 0.0575243 0.18 0 pose: 0.0 3.44319 -4.01166 0 0.00626657 0.00137592 0.997677 0.0678161 uwb: 0.50127537 1230.6 660.669 -imu_odom_: 1691062848.765222772 0.301669 -0.251391 9.51456 -0.0490022 0.00532632 0.0490022 0.18 0 pose: 0.80096848 3.43067 -4.01162 0 0.00264107 0.0018303 0.997692 0.0678306 uwb: 0.0 1230.6 660.669 -imu_odom_: 1691062848.789426175 0.25618 -0.0957681 10.1562 -0.0617853 -0.036219 0.0543285 0.18 0 pose: 0.0 3.43067 -4.01162 0 0.00264107 0.0018303 0.997692 0.0678306 uwb: 0.0 1230.6 660.669 -imu_odom_: 1691062848.806229848 0.572214 -0.624887 9.64384 -0.0649811 0.00852212 0.0532632 0.24 0 pose: 0.5923400 3.42918 -4.01359 0 0.00206696 0.00162187 0.997695 0.0678032 uwb: 0.49988420 1229.96 661.622 -imu_odom_: 1691062848.831225079 0.416591 -0.169988 9.97185 -0.0511327 0.0138484 0.0628506 0.24 0 pose: 0.0 3.42918 -4.01359 0 0.00206696 0.00162187 0.997695 0.0678032 uwb: 0.0 1229.96 661.622 -imu_odom_: 1691062848.856372842 0.64404 -0.189142 9.79228 -0.0745685 0.0223706 0.0426106 0.22 0 pose: 0.38976321 3.4212 -4.00756 0 -0.0001144380.00174659 0.997715 0.0675443 uwb: 0.50255279 1230.99 663.269 -imu_odom_: 1691062848.878282130 0.890643 -0.280122 9.58399 -0.0745685 -0.0234358 0.0458064 0.22 0 pose: 0.0 3.4212 -4.00756 0 -0.0001144380.00174659 0.997715 0.0675443 uwb: 0.0 1230.99 663.269 -imu_odom_: 1691062848.894362805 0.521936 -0.533907 9.55526 -0.0607201 0.0287621 0.04048 0.18 0.02 pose: 0.81026918 3.4072 -4.0095 0 0.0054415 0.00140681 0.997732 0.0670693 uwb: 0.49797973 1229.77 663.798 -imu_odom_: 1691062848.919224168 0.222661 -0.366313 9.51216 -0.056459 0.0553937 0.0511327 0.18 0.02 pose: 0.7965821 3.4072 -4.0095 0 0.00529626 0.000597399 0.997735 0.0670614 uwb: 0.0 1229.77 663.798 -imu_odom_: 1691062848.942224225 0.294487 -0.198719 9.35415 -0.0713727 -0.0298274 0.0543285 0.18 0.02 pose: 0.32976217 3.39922 -4.00348 0 0.00215433 -0.00125151 0.997756 0.0669047 uwb: 0.50098372 1231.43 665.769 -imu_odom_: 1691062848.967232580 0.366313 -0.272939 10.0317 -0.0628506 -0.0117179 0.0394148 0.18 0.02 pose: 0.0 3.39922 -4.00348 0 0.00215433 -0.00125151 0.997756 0.0669047 uwb: 0.0 1231.43 665.769 -imu_odom_: 1691062848.983215552 0.658405 -0.553061 9.75398 -0.0639159 -0.0255663 0.0415453 0.22 -0.02 pose: 0.48008412 3.38933 -4.00487 0 -0.00153861 -0.002532 0.997766 0.0667344 uwb: 0.0 1231.43 665.769 -imu_odom_: 1691062849.8342025 0.402226 -0.332794 9.90481 -0.0426106 0.02024 0.0394148 0.22 -0.02 pose: 0.0 3.38933 -4.00487 0 -0.00153861 -0.002532 0.997766 0.0667344 uwb: 0.49712228 1231.25 666.648 -imu_odom_: 1691062849.33264927 0.68953 -0.237026 9.77313 -0.0543285 -0.0149137 0.04048 0.21 0 pose: 0.41109445 3.38521 -4.00545 0 -0.000761658-0.0061584 0.997752 0.0667253 uwb: 0.0 1231.25 666.648 -imu_odom_: 1691062849.49210860 0.337582 -0.42138 9.27514 -0.0308927 0.0479369 0.0255663 0.21 0 pose: 0.6880010 3.38521 -4.00545 0 -5.83783e-05-0.00598457 0.997753 0.0667261 uwb: 0.49986962 1232.97 668.508 -imu_odom_: 1691062849.73270188 0.519542 -0.483629 9.17698 0.0255663 0.0436758 0.0234358 0.18 0 pose: 0.33988825 3.37723 -3.99943 0 0.000197213 -0.00637356 0.997744 0.0668325 uwb: 0.0 1232.97 668.508 -imu_odom_: 1691062849.98346498 0.0694318 0.122104 9.45949 -0.0266316 0.0671117 0.0458064 0.18 0 pose: 0.0 3.37723 -3.99943 0 0.000197213 -0.00637356 0.997744 0.0668325 uwb: 0.50059292 1232.87 669.877 -imu_odom_: 1691062849.115363659 0.280122 0.100556 10.1083 -0.0745685 -0.0106526 0.0585895 0.18 -0.02 pose: 0.7004544 3.37723 -3.99943 0 0.000404498 -0.00668312 0.997738 0.0668918 uwb: 0.0 1232.87 669.877 -imu_odom_: 1691062849.140229981 0.380678 -0.409408 9.62708 -0.0596548 0.00639159 0.0191748 0.18 -0.02 pose: 0.0 3.37723 -3.99943 0 0.000404498 -0.00668312 0.997738 0.0668918 uwb: 0.0 1232.87 669.877 -imu_odom_: 1691062849.166204571 0.476446 -0.105345 10.173 -0.0330232 -0.0447411 0.0340885 0.19 0 pose: 0.49293421 3.36322 -4.00139 0 -0.00144689 -0.00428614 0.99775 0.0668875 uwb: 0.50061333 1232.29 670.703 -imu_odom_: 1691062849.191222259 0.105345 -0.155623 10.2208 -0.015979 -0.00426106 0.0394148 0.17 0 pose: 0.60695746 3.35111 -4.00084 0 -7.72635e-05-0.00338756 0.997739 0.0671205 uwb: 0.0 1232.29 670.703 -imu_odom_: 1691062849.214357059 0.897826 -0.198719 9.69652 -0.0553937 -0.0213053 0.0703074 0.17 0 pose: 0.0 3.35111 -4.00084 0 -7.72635e-05-0.00338756 0.997739 0.0671205 uwb: 0.0 1232.29 670.703 -imu_odom_: 1691062849.231470464 0.047884 -0.112527 10.2352 -0.0287621 0.015979 0.0479369 0.17 0 pose: 0.0 3.35111 -4.00084 0 -7.72635e-05-0.00338756 0.997739 0.0671205 uwb: 0.0 1232.29 670.703 -imu_odom_: 1691062849.257347060 0.61531 -0.201113 9.84735 -0.0426106 -0.0266316 0.0340885 0.25 -0.02 pose: 0.8180183 3.34922 -4.00335 0 -0.000797272-0.00285759 0.997741 0.0671187 uwb: 0.100064045 1231.54 671.76 -imu_odom_: 1691062849.284337757 0.847547 -0.0670376 10.6087 -0.0468716 -0.0266316 0.0532632 0.25 -0.02 pose: 0.47973415 3.34124 -3.99732 0 -0.000569769-0.00126547 0.99777 0.0667296 uwb: 0.0 1231.54 671.76 -imu_odom_: 1691062849.310309722 0.565032 0.0837971 9.75398 -0.0415453 -0.00213053 0.0447411 0.25 -0.02 pose: 0.0 3.34124 -3.99732 0 -0.000569769-0.00126547 0.99777 0.0667296 uwb: 0.49944674 1231.45 672.5 -imu_odom_: 1691062849.327354881 0.155623 -0.344765 10.0748 -0.0500674 -0.00639159 0.0692422 0.23 -0.02 pose: 0.43009834 3.33325 -3.9913 0 0.00226006 -0.0002057610.99777 0.0667088 uwb: 0.0 1231.45 672.5 -imu_odom_: 1691062849.353473254 0.56982 -0.191536 9.87129 -0.0532632 0.00532632 0.0383495 0.23 -0.02 pose: 0.0 3.33325 -3.9913 0 0.00226006 -0.0002057610.99777 0.0667088 uwb: 0.50187909 1231.59 673.519 -imu_odom_: 1691062849.380340000 0.612916 -0.205901 10.1993 -0.0671117 -0.0276969 0.0681769 0.23 0 pose: 0.52014801 3.32723 -3.99929 0 0.00451752 0.00274471 0.997778 0.0664181 uwb: 0.0 1231.59 673.519 -imu_odom_: 1691062849.406315757 0.454898 -0.172383 10.2999 -0.056459 0.0276969 0.04048 0.19 0 pose: 0.44148724 3.31924 -3.99327 0 0.00681915 0.00116151 0.997785 0.0661596 uwb: 0.0 1231.59 673.519 -imu_odom_: 1691062849.423438495 0.21069 -0.126893 9.88566 -0.076699 -0.04048 0.0532632 0.25 0 pose: 0.0 3.31924 -3.99327 0 0.00681915 0.00116151 0.997785 0.0661596 uwb: 0.0 1231.59 673.519 -imu_odom_: 1691062849.448252903 0.167594 -0.344765 9.51935 -0.0671117 0.0298274 0.04048 0.25 0 pose: 0.0 3.31924 -3.99327 0 0.00681915 0.00116151 0.997785 0.0661596 uwb: 0.99798352 1232.54 675.184 -imu_odom_: 1691062849.474268908 0.21069 -0.447716 9.85693 -0.0820254 -0.015979 0.0671117 0.21 0 pose: 0.52309659 3.30524 -3.99526 0 0.00525194 0.00110029 0.997816 0.0658319 uwb: 0.0 1232.54 675.184 -imu_odom_: 1691062849.497196928 0.497994 -0.414197 9.99819 -0.0617853 0.00426106 0.036219 0.21 0 pose: 0.42393870 3.29725 -3.98925 0 0.00122274 -0.0004936210.997842 0.0656475 uwb: 0.49865637 1231.88 675.517 -imu_odom_: 1691062849.513191274 0.462081 -0.172383 10.4866 -0.0532632 -0.015979 0.0479369 0.18 0 pose: 0.40961871 3.28754 -3.99064 0 0.000895179 -0.00409076 0.997848 0.0654384 uwb: 0.0 1231.88 675.517 -imu_odom_: 1691062849.536253745 0.713472 -0.0933739 10.2687 -0.0340885 -0.0266316 0.036219 0.18 0 pose: 0.0 3.28754 -3.99064 0 0.000895179 -0.00409076 0.997848 0.0654384 uwb: 0.0 1231.88 675.517 -imu_odom_: 1691062849.562311163 0.821211 -0.047884 9.62469 -0.0490022 -0.0149137 0.0426106 0.18 0.02 pose: 0.39056817 3.28325 -3.99125 0 0.0038277 -0.00125658 0.99785 0.0654194 uwb: 0.50104205 1231.56 675.957 -imu_odom_: 1691062849.587253314 0.732626 -0.148441 10.1634 -0.0490022 0.00213053 0.0479369 0.18 0.02 pose: 0.0 3.28325 -3.99125 0 0.0038277 -0.00125658 0.99785 0.0654194 uwb: 0.0 1231.56 675.957 -imu_odom_: 1691062849.610177543 0.399832 -0.0574608 10.2041 -0.0532632 0.0127832 0.0532632 0.18 0 pose: 0.33132250 3.27525 -3.98526 0 0.00701 8.29732e-05 0.997837 0.065357 uwb: 0.49872636 1233.58 678.509 -imu_odom_: 1691062849.626168681 0.071826 -0.311246 9.76834 -0.0468716 -0.00639159 0.0458064 0.18 0 pose: 0.0 3.27525 -3.98526 0 0.00701 8.29732e-05 0.997837 0.065357 uwb: 0.0 1233.58 678.509 -imu_odom_: 1691062849.651354943 0.342371 -0.275333 9.98861 -0.0575243 -0.0223706 0.0596548 0.25 0 pose: 0.24955859 3.27525 -3.98526 0 0.00810443 0.00101264 0.997836 0.06524 uwb: 0.50151162 1234.4 680.329 -imu_odom_: 1691062849.674353834 0.574608 -0.23942 10.2256 -0.0532632 -0.00213053 0.04048 0.25 0 pose: 0.0 3.27525 -3.98526 0 0.00810443 0.00101264 0.997836 0.06524 uwb: 0.0 1234.4 680.329 -imu_odom_: 1691062849.699303859 0.59855 -0.105345 10.3286 -0.0596548 -0.0149137 0.04048 0.18 0.02 pose: 0.38833996 3.26125 -3.98726 0 0.00468961 0.00141429 0.997872 0.0650226 uwb: 0.50062500 1234.49 681.363 -imu_odom_: 1691062849.725191829 0.452504 -0.122104 10.2424 -0.0511327 -0.036219 0.0500674 0.23 -0.02 pose: 0.49192802 3.25324 -3.98128 0 0.00591118 0.000180722 0.997879 0.0648242 uwb: 0.0 1234.49 681.363 -imu_odom_: 1691062849.741164010 0.296881 -0.198719 9.72764 -0.0681769 -0.00106526 0.0553937 0.23 -0.02 pose: 0.0 3.25324 -3.98128 0 0.00591118 0.000180722 0.997879 0.0648242 uwb: 0.49791557 1232.6 681.609 -imu_odom_: 1691062849.758228710 -0.0287304 -0.447716 10.1155 -0.0543285 -0.00745685 0.0351537 0.23 -0.02 pose: 0.0 3.25324 -3.98128 0 0.00591118 0.000180722 0.997879 0.0648242 uwb: 0.0 1232.6 681.609 -imu_odom_: 1691062849.783160654 0.301669 -0.320823 9.57441 -0.0458064 -0.0383495 0.0447411 0.18 0 pose: 0.75860058 3.23924 -3.9833 0 0.00228419 0.00179628 0.997906 0.0646195 uwb: 0.0 1232.6 681.609 -imu_odom_: 1691062849.810300383 0.342371 -0.177171 10.3142 -0.02024 -0.0127832 0.036219 0.23 0.02 pose: 0.8023276 3.23924 -3.9833 0 0.00182103 0.00129475 0.997909 0.064599 uwb: 0.50128704 1232.16 682.217 -imu_odom_: 1691062849.834298757 0.397437 -0.253785 10.0173 -0.0447411 -0.0234358 0.056459 0.19 0 pose: 0.44048397 3.23359 -3.97908 0 -0.00145606 0.00188797 0.997908 0.0646023 uwb: 0.0 1232.16 682.217 -imu_odom_: 1691062849.860193726 0.457293 -0.007182619.59835 -0.0372843 0.0319579 0.0447411 0.22 0 pose: 0.0 3.23359 -3.97908 0 -0.00145606 0.00188797 0.997908 0.0646023 uwb: 0.50059584 1234.83 685.511 -imu_odom_: 1691062849.886304225 0.282516 0.160412 10.0365 -0.0458064 0.0127832 0.0532632 0.22 0 pose: 0.31888949 3.22525 -3.98532 0 -0.0004504270.000502939 0.997925 0.0643826 uwb: 0.0 1234.83 685.511 -imu_odom_: 1691062849.912165363 0.565032 -0.234632 10.1155 -0.0820254 -0.0436758 0.0692422 0.24 0 pose: 0.0 3.22525 -3.98532 0 -0.0004504270.000502939 0.997925 0.0643826 uwb: 0.50038876 1236.31 687.533 -imu_odom_: 1691062849.926155787 0.430956 -0.349553 9.46188 -0.0735032 -0.0138484 0.0468716 0.24 0 pose: 0.52051257 3.21723 -3.97934 0 -0.0002556340.00445004 0.997938 0.0640381 uwb: 0.0 1236.31 687.533 -imu_odom_: 1691062849.943217862 0.725443 -0.0023942 10.3525 -0.0660464 0.0191748 0.0394148 0.24 0 pose: 0.0 3.21723 -3.97934 0 -0.0002556340.00445004 0.997938 0.0640381 uwb: 0.50037127 1235.37 688.209 -imu_odom_: 1691062849.969141413 0.622492 -0.464475 9.7037 -0.0862864 0.0213053 0.0447411 0.18 -0.02 pose: 0.38925283 3.20324 -3.98138 0 0.00206683 0.00190183 0.997964 0.0637159 uwb: 0.0 1235.37 688.209 -imu_odom_: 1691062849.994222098 0.40462 -0.169988 9.7851 -0.052198 0.0266316 0.0458064 0.21 0 pose: 0.0 3.20324 -3.98138 0 0.00206683 0.00190183 0.997964 0.0637159 uwb: 0.49583903 1235.72 689.445 -imu_odom_: 1691062850.17153034 0.897826 -0.155623 9.16022 -0.072438 -0.0138484 0.0532632 0.21 0 pose: 0.43133785 3.20324 -3.98138 0 0.00294044 6.88276e-05 0.99797 0.0636192 uwb: 0.0 1235.72 689.445 -imu_odom_: 1691062850.43309323 0.481235 -0.225055 9.90242 -0.056459 -0.0127832 0.0383495 0.18 -0.02 pose: 0.40853377 3.19522 -3.97541 0 0.00365191 0.00105444 0.99798 0.0634078 uwb: 0.50140662 1234.24 689.711 -imu_odom_: 1691062850.70365349 0.533907 -0.196325 9.92397 -0.0447411 -0.0436758 0.0351537 0.18 -0.02 pose: 0.8055358 3.19522 -3.97541 0 0.00381447 0.000251869 0.99798 0.0634098 uwb: 0.0 1234.24 689.711 -imu_odom_: 1691062850.86212705 0.984017 -0.126893 9.40203 -0.0351537 0.0223706 0.036219 0.2 0.02 pose: 0.0 3.19522 -3.97541 0 0.00381447 0.000251869 0.99798 0.0634098 uwb: 0.0 1234.24 689.711 -imu_odom_: 1691062850.112200711 0.452504 -0.126893 9.95509 -0.0447411 0.00426106 0.0372843 0.2 0.02 pose: 0.53104404 3.18122 -3.97747 0 0.00751141 0.000430923 0.997954 0.0634948 uwb: 0.49995130 1232.03 689.262 -imu_odom_: 1691062850.137147529 -0.0526724 -0.347159 9.52174 -0.0649811 0.0447411 0.0479369 0.19 0 pose: 0.33887915 3.17545 -3.97317 0 0.00594947 0.00220654 0.997958 0.06355 uwb: 0.0 1232.03 689.262 -imu_odom_: 1691062850.164273843 0.366313 -0.282516 9.63187 -0.0330232 -0.0596548 0.0223706 0.2 0 pose: 0.7003086 3.1732 -3.9715 0 0.00509709 0.00201275 0.997965 0.0635214 uwb: 0.50061918 1230.1 689.027 -imu_odom_: 1691062850.190143440 0.397437 -0.292093 9.73243 -0.0798948 -0.0394148 0.0436758 0.19 -0.02 pose: 0.45070046 3.16171 -3.97542 0 0.00173891 -0.0001270050.997969 0.0636788 uwb: 0.0 1230.1 689.027 -imu_odom_: 1691062850.207140769 0.536301 -0.222661 9.96946 -0.0660464 0.00426106 0.0330232 0.19 -0.02 pose: 0.0 3.16171 -3.97542 0 0.00173891 -0.0001270050.997969 0.0636788 uwb: 0.49928925 1229.91 689.852 -imu_odom_: 1691062850.231380046 0.667982 -0.23942 9.97903 -0.0798948 -0.0319579 0.0458064 0.25 0 pose: 0.33070422 3.15921 -3.97356 0 0.00150796 -0.00252036 0.997968 0.063648 uwb: 0.0 1229.91 689.852 -imu_odom_: 1691062850.258176504 0.921768 -0.217872 10.2017 -0.04048 0.00639159 0.0372843 0.21 0 pose: 0.34035781 3.15379 -3.96953 0 0.00513915 -0.00255496 0.997958 0.0636126 uwb: 0.50172745 1230.27 691.059 -imu_odom_: 1691062850.283146363 0.694318 -0.124498 10.4483 -0.052198 -0.0127832 0.0543285 0.21 0 pose: 0.7767207 3.15119 -3.96759 0 0.00587788 -0.00246584 0.997954 0.0636231 uwb: 0.0 1230.27 691.059 -imu_odom_: 1691062850.299136918 0.476446 -0.136469 9.5792 -0.0447411 0.0426106 0.0372843 0.21 0 pose: 0.0 3.15119 -3.96759 0 0.00587788 -0.00246584 0.997954 0.0636231 uwb: 0.50067750 1230.01 691.417 -imu_odom_: 1691062850.325186171 0.263362 -0.237026 9.58399 -0.0436758 -0.015979 0.0543285 0.23 0 pose: 0.51019695 3.13719 -3.96964 0 0.00898457 -0.0001011890.997942 0.0634925 uwb: 0.0 1230.01 691.417 -imu_odom_: 1691062850.351133346 0.244209 -0.179565 9.95988 -0.0383495 -0.00852212 0.0479369 0.22 0 pose: 0.35019223 3.13719 -3.96964 0 0.00564278 0.000456117 0.997977 0.0633158 uwb: 0.49765894 1231.63 693.724 -imu_odom_: 1691062850.377468415 0.483629 -0.23942 9.84735 -0.0372843 -0.0106526 0.0436758 0.22 0 pose: 0.0 3.13719 -3.96964 0 0.00564278 0.000456117 0.997977 0.0633158 uwb: 0.0 1231.63 693.724 -imu_odom_: 1691062850.394152222 0.368707 0.0191536 9.88326 -0.0532632 -0.00319579 0.0628506 0.23 0.02 pose: 0.52282244 3.1232 -3.9717 0 0.00412188 -0.00123151 0.997995 0.0631468 uwb: 0.49962465 1232.85 695.447 -imu_odom_: 1691062850.420130895 0.507571 0.0814029 9.92157 -0.0596548 -0.0319579 0.0479369 0.23 0.02 pose: 0.0 3.1232 -3.9717 0 0.00412188 -0.00123151 0.997995 0.0631468 uwb: 0.0 1232.85 695.447 -imu_odom_: 1691062850.447241169 0.799663 -0.246603 10.3908 -0.0788296 -0.0532632 0.0671117 0.25 -0.02 pose: 0.42662480 3.11517 -3.96574 0 0.00435757 0.0028222 0.998009 0.0628593 uwb: 0.50030711 1232.63 696.286 -imu_odom_: 1691062850.473335919 0.852336 -0.0191536 10.4842 -0.0617853 0.0127832 0.0436758 0.19 -0.02 pose: 0.0 3.11517 -3.96574 0 0.00435757 0.0028222 0.998009 0.0628593 uwb: 0.0 1232.63 696.286 -imu_odom_: 1691062850.499157685 0.938527 -0.0622492 10.0509 -0.0862864 -0.00639159 0.0553937 0.26 0.02 pose: 0.35112551 3.11517 -3.96574 0 0.00820005 0.0018089 0.998012 0.0624626 uwb: 0.50163995 1231.16 696.556 -imu_odom_: 1691062850.522133536 0.299275 -0.153229 10.0269 -0.0479369 0.0255663 0.0298274 0.26 0.02 pose: 0.26110499 3.10119 -3.96783 0 0.0104844 0.00252837 0.997995 0.0623649 uwb: 0.0 1231.16 696.556 -imu_odom_: 1691062850.538313663 0.469264 -0.342371 9.59117 -0.108657 -0.00319579 0.0639159 0.19 0 pose: 0.24824617 3.10119 -3.96783 0 0.0114301 0.00266122 0.997991 0.0622611 uwb: 0.0 1231.16 696.556 -imu_odom_: 1691062850.562133548 0.196325 -0.0885855 9.85693 -0.0713727 -0.02024 0.0458064 0.19 0 pose: 0.0 3.10119 -3.96783 0 0.0114301 0.00266122 0.997991 0.0622611 uwb: 0.49941174 1231.5 698.299 -imu_odom_: 1691062850.588120388 0.237026 -0.407014 9.64863 -0.0671117 -0.00213053 0.0468716 0.18 0 pose: 0.38957657 3.09315 -3.96188 0 0.00806639 0.00118727 0.998035 0.0621235 uwb: 0.0 1231.5 698.299 -imu_odom_: 1691062850.604184730 0.768539 -0.160412 10.1131 -0.0394148 -0.00319579 0.0394148 0.18 0 pose: 0.0 3.09315 -3.96188 0 0.00806639 0.00118727 0.998035 0.0621235 uwb: 0.50015837 1229.86 698.258 -imu_odom_: 1691062850.630175362 0.90022 -0.110133 9.7851 -0.0479369 -0.0149137 0.0447411 0.23 0 pose: 0.50026628 3.07916 -3.96397 0 0.00510813 6.44867e-05 0.998064 0.0619802 uwb: 0.0 1229.86 698.258 -imu_odom_: 1691062850.647228104 0.584185 -0.354342 9.51216 -0.056459 0.0106526 0.0532632 0.23 0 pose: 0.0 3.07916 -3.96397 0 0.00510813 6.44867e-05 0.998064 0.0619802 uwb: 0.49952841 1229.68 699.039 -imu_odom_: 1691062850.672105801 0.213084 -0.280122 9.68694 -0.0532632 -0.0191748 0.0532632 0.23 0 pose: 0.42031058 3.07916 -3.96397 0 0.0086915 8.22605e-05 0.998047 0.0618603 uwb: 0.0 1229.68 699.039 -imu_odom_: 1691062850.697180070 0.0742203 -0.263362 9.5792 -0.0500674 0.00106526 0.0426106 0.23 0 pose: 0.0 3.07916 -3.96397 0 0.0086915 8.22605e-05 0.998047 0.0618603 uwb: 0.50092833 1231.9 701.576 -imu_odom_: 1691062850.720283372 0.438139 -0.387861 9.92397 -0.0649811 0.00532632 0.0585895 0.23 0 pose: 0.34911896 3.07112 -3.95803 0 0.00637789 -0.00115716 0.998079 0.0616094 uwb: 0.0 1231.9 701.576 -imu_odom_: 1691062850.746109513 0.428562 -0.282516 10.1538 -0.0394148 0.0245011 0.0351537 0.18 0.02 pose: 0.7031960 3.07112 -3.95803 0 0.00565705 -0.00114754 0.998084 0.061598 uwb: 0.49688314 1233.15 703.72 -imu_odom_: 1691062850.762118442 0.37589 -0.172383 9.9934 -0.0383495 -0.0106526 0.0394148 0.18 0.02 pose: 0.0 3.07112 -3.95803 0 0.00565705 -0.00114754 0.998084 0.061598 uwb: 0.0 1233.15 703.72 -imu_odom_: 1691062850.788451178 0.275333 0.131681 9.69891 -0.0585895 0.0255663 0.0479369 0.18 0 pose: 0.49144388 3.05713 -3.96014 0 0.00205596 -0.00336657 0.998108 0.061356 uwb: 0.0 1233.15 703.72 -imu_odom_: 1691062850.815169183 0.181959 -0.433351 9.8689 -0.0703074 -0.0287621 0.0479369 0.18 0 pose: 0.0 3.05713 -3.96014 0 0.00205596 -0.00336657 0.998108 0.061356 uwb: 0.50013504 1234.38 705.869 -imu_odom_: 1691062850.839114477 0.323217 -0.385466 9.63666 -0.0415453 0.0479369 0.0223706 0.19 0 pose: 0.42947713 3.04908 -3.95421 0 -0.000646634-0.0006673660.998116 0.0613517 uwb: 0.0 1234.38 705.869 -imu_odom_: 1691062850.865105983 0.433351 -0.263362 9.92875 -0.0127832 -0.0149137 0.0372843 0.19 0 pose: 0.0 3.04908 -3.95421 0 -0.000646634-0.0006673660.998116 0.0613517 uwb: 0.50097499 1231.36 704.409 -imu_odom_: 1691062850.880162969 0.517148 -0.114922 10.0245 -0.02024 -0.00319579 0.0394148 0.2 0 pose: 0.51953556 3.0351 -3.95633 0 -0.00324757 -0.00189978 0.998116 0.061243 uwb: 0.0 1231.36 704.409 -imu_odom_: 1691062850.897364453 0.507571 -0.158017 9.66779 -0.0415453 0.00319579 0.0553937 0.2 0 pose: 0.0 3.0351 -3.95633 0 -0.00324757 -0.00189978 0.998116 0.061243 uwb: 0.50242740 1230.82 705.094 -imu_odom_: 1691062850.922106241 0.361524 -0.124498 10.5177 -0.0490022 0.0181095 0.0394148 0.19 0 pose: 0.48994772 3.0351 -3.95633 0 -0.000780412-0.00180127 0.99811 0.0614248 uwb: 0.0 1230.82 705.094 -imu_odom_: 1691062850.949130478 0.907402 -0.54109 9.44034 -0.076699 -0.00213053 0.0639159 0.19 0 pose: 0.0 3.0351 -3.95633 0 -0.000780412-0.00180127 0.99811 0.0614248 uwb: 0.49762102 1230.39 705.65 -imu_odom_: 1691062850.974363695 0.474052 -0.292093 10.1945 -0.0436758 0.0340885 0.0671117 0.19 0 pose: 0.76952288 3.01538 -3.95422 0 0.00163559 0.000130173 0.998139 0.0609642 uwb: 0.0 1230.39 705.65 -imu_odom_: 1691062851.1229567 0.548272 -0.0790087 9.76116 -0.072438 0.0127832 0.0543285 0.22 0 pose: 0.7994694 3.01307 -3.95251 0 0.00177814 -0.0005590170.998145 0.060853 uwb: 0.50114414 1230.59 706.976 -imu_odom_: 1691062851.17103754 -0.246603 -0.392649 9.69173 -0.056459 0.0330232 0.0458064 0.22 0 pose: 0.0 3.01307 -3.95251 0 0.00177814 -0.0005590170.998145 0.060853 uwb: 0.0 1230.59 706.976 -imu_odom_: 1691062851.33093727 0.56982 -0.0335188 10.4196 -0.0607201 -0.0553937 0.0500674 0.22 0 pose: 0.0 3.01307 -3.95251 0 0.00177814 -0.0005590170.998145 0.060853 uwb: 0.0 1230.59 706.976 -imu_odom_: 1691062851.59134230 0.90022 -0.134075 9.56723 -0.0532632 0.0127832 0.0447411 0.18 0 pose: 0.24192029 3.01307 -3.95251 0 0.00241381 -0.00152558 0.99816 0.0605641 uwb: 0.49862431 1230.71 707.878 -imu_odom_: 1691062851.84075216 0.0263362 -0.23942 9.88805 -0.0713727 0.0170442 0.0617853 0.18 0 pose: 0.0 3.01307 -3.95251 0 0.00241381 -0.00152558 0.99816 0.0605641 uwb: 0.0 1230.71 707.878 -imu_odom_: 1691062851.98244129 0.258574 0.0885855 10.0006 -0.0713727 -0.0308927 0.0458064 0.2 0 pose: 0.60780910 2.99909 -3.95465 0 0.00374548 0.000925326 0.998175 0.060268 uwb: 0.50021962 1231.61 709.859 -imu_odom_: 1691062851.123087704 0.409408 -0.335188 10.0676 -0.076699 -0.0213053 0.0458064 0.2 0 pose: 0.0 2.99909 -3.95465 0 0.00374548 0.000925326 0.998175 0.060268 uwb: 0.0 1231.61 709.859 -imu_odom_: 1691062851.150110774 0.59855 -0.304064 9.55765 -0.0490022 -0.00213053 0.0394148 0.25 0.02 pose: 0.48004915 2.99102 -3.94874 0 0.00230167 0.00124443 0.998199 0.0599324 uwb: 0.50119374 1230.84 710.834 -imu_odom_: 1691062851.175123506 0.754174 -0.301669 9.61272 -0.0585895 -0.0287621 0.0468716 0.25 0.02 pose: 0.40046386 2.97705 -3.95089 0 0.00218344 -0.00112343 0.998206 0.0598302 uwb: 0.0 1230.84 710.834 -imu_odom_: 1691062851.200099781 0.246603 -0.301669 10.5656 -0.0479369 -0.0330232 0.0500674 0.22 0.02 pose: 0.44974094 2.97705 -3.95089 0 0.00665561 -0.00268547 0.998188 0.0597413 uwb: 0.49977632 1230.86 711.843 -imu_odom_: 1691062851.214082913 0.703895 -0.0742203 9.81862 -0.0660464 -0.0500674 0.0575243 0.22 0.02 pose: 0.0 2.97705 -3.95089 0 0.00665561 -0.00268547 0.998188 0.0597413 uwb: 0.0 1230.86 711.843 -imu_odom_: 1691062851.239272384 0.950498 -0.0981623 9.5385 -0.0532632 0.00639159 0.0276969 0.17 0.02 pose: 0.38959407 2.96586 -3.94924 0 0.00593347 -0.00201298 0.99821 0.0594829 uwb: 0.0 1230.86 711.843 -imu_odom_: 1691062851.256081308 -0.100556 -0.160412 10.0963 -0.0681769 0.00319579 0.0479369 0.17 0.02 pose: 0.0 2.96586 -3.94924 0 0.00593347 -0.00201298 0.99821 0.0594829 uwb: 0.50001255 1231.95 713.568 -imu_odom_: 1691062851.281139536 0.316035 -0.308852 10.1035 -0.0543285 0.00426106 0.0308927 0.18 0 pose: 0.41998395 2.955 -3.94715 0 0.00650061 -0.00113673 0.998202 0.0595721 uwb: 0.0 1231.95 713.568 -imu_odom_: 1691062851.308124110 0.428562 -0.155623 10.2472 -0.0436758 0.0127832 0.0479369 0.18 0 pose: 0.0 2.955 -3.94715 0 0.00650061 -0.00113673 0.998202 0.0595721 uwb: 0.49809059 1233.4 715.849 -imu_odom_: 1691062851.333061012 0.560243 -0.0981623 10.4507 -0.0458064 0.0383495 0.0426106 0.18 0 pose: 0.32023692 2.955 -3.94715 0 0.00359897 -0.00117702 0.998212 0.0596469 uwb: 0.0 1233.4 715.849 -imu_odom_: 1691062851.360100998 0.136469 -0.366313 9.60554 -0.0468716 0.00852212 0.052198 0.21 -0.02 pose: 0.28038303 2.94693 -3.94125 0 0.00292348 0.00126232 0.99822 0.059557 uwb: 0.49936217 1232.27 716.225 -imu_odom_: 1691062851.386100671 0.177171 -0.220267 10.2089 -0.0543285 -0.00532632 0.0511327 0.21 -0.02 pose: 0.0 2.94693 -3.94125 0 0.00292348 0.00126232 0.99822 0.059557 uwb: 0.0 1232.27 716.225 -imu_odom_: 1691062851.402104934 0.474052 -0.181959 10.1275 -0.0319579 -0.0394148 0.0394148 0.23 0 pose: 0.23946752 2.94103 -3.94932 0 0.00321311 0.00214535 0.998222 0.0594883 uwb: 0.49999506 1231.33 716.861 -imu_odom_: 1691062851.428207560 1.06542 -0.141258 9.99579 -0.0532632 -0.0287621 0.0511327 0.23 0 pose: 0.0 2.94103 -3.94932 0 0.00321311 0.00214535 0.998222 0.0594883 uwb: 0.0 1231.33 716.861 -imu_odom_: 1691062851.455073431 0.387861 0.0383072 9.77074 -0.0500674 0.0149137 0.0468716 0.23 0 pose: 0.53011078 2.93296 -3.94342 0 -0.0004349460.001248 0.998244 0.0592159 uwb: 0.0 1231.33 716.861 -imu_odom_: 1691062851.471359136 0.138864 -0.3304 10.2208 -0.0553937 -0.0127832 0.0628506 0.23 0 pose: 0.0 2.93296 -3.94342 0 -0.0004349460.001248 0.998244 0.0592159 uwb: 0.0 1231.33 716.861 -imu_odom_: 1691062851.488343050 0.591368 -0.191536 9.70131 -0.0436758 -0.0213053 0.052198 0.25 0 pose: 0.42047975 2.91898 -3.94559 0 0.00329498 0.00211661 0.998248 0.059039 uwb: 0.0 1231.33 716.861 -imu_odom_: 1691062851.514196315 0.368707 -0.126893 9.9934 -0.056459 0.00958738 0.0532632 0.25 0 pose: 0.0 2.91898 -3.94559 0 0.00329498 0.00211661 0.998248 0.059039 uwb: 0.99969846 1231.09 717.664 -imu_odom_: 1691062851.541074728 0.462081 -0.277727 9.84735 -0.0628506 0.00213053 0.0394148 0.25 0 pose: 0.43984236 2.91898 -3.94559 0 0.00199027 0.00309089 0.998267 0.0587371 uwb: 0.50047920 1230.26 718.173 -imu_odom_: 1691062851.557216066 0.198719 -0.272939 9.51695 -0.0553937 -0.00426106 0.0500674 0.25 0 pose: 0.0 2.91898 -3.94559 0 0.00199027 0.00309089 0.998267 0.0587371 uwb: 0.0 1230.26 718.173 -imu_odom_: 1691062851.584254011 0.802058 -0.0957681 9.59596 -0.0660464 -0.0234358 0.0394148 0.23 0 pose: 0.41998978 2.9109 -3.9397 0 0.000556057 0.00309598 0.998282 0.0585082 uwb: 0.0 1230.26 718.173 -imu_odom_: 1691062851.609192955 0.457293 -0.0885855 10.0006 -0.0820254 -0.0245011 0.0532632 0.23 0 pose: 0.0 2.9109 -3.9397 0 0.000556057 0.00309598 0.998282 0.0585082 uwb: 0.49985214 1229.53 718.574 -imu_odom_: 1691062851.626186493 0.562637 -0.241814 9.88087 -0.0852212 0.00426106 0.0458064 0.23 0.02 pose: 0.43092663 2.89693 -3.9419 0 0.000344285 0.000778313 0.998292 0.0584236 uwb: 0.0 1229.53 718.574 -imu_odom_: 1691062851.651072648 0.490811 -0.428562 9.89763 -0.0628506 -0.0234358 0.0426106 0.23 0.02 pose: 0.0 2.89693 -3.9419 0 0.000344285 0.000778313 0.998292 0.0584236 uwb: 0.50163996 1229.88 720.141 -imu_odom_: 1691062851.678250002 0.653617 -0.122104 10.2615 -0.0340885 -0.0170442 0.0372843 0.23 0 pose: 0.51968431 2.88885 -3.93601 0 0.00348366 0.00258488 0.998293 0.0582353 uwb: 0.0 1229.88 720.141 -imu_odom_: 1691062851.703182238 0.790087 -0.155623 10.4627 -0.0500674 -0.0479369 0.0458064 0.18 0 pose: 0.41950856 2.88296 -3.9441 0 0.00497996 -0.0004423320.998295 0.0581628 uwb: 0.49953717 1230.01 721.47 -imu_odom_: 1691062851.730052192 0.52433 -0.167594 10.2448 -0.0415453 0.0319579 0.0458064 0.21 0 pose: 0.0 2.88296 -3.9441 0 0.00497996 -0.0004423320.998295 0.0581628 uwb: 0.0 1230.01 721.47 -imu_odom_: 1691062851.755086797 0.292093 -0.071826 10.0054 -0.0607201 0.0234358 0.0490022 0.18 0.02 pose: 0.51948307 2.87488 -3.93822 0 0.00911106 0.00122468 0.998269 0.0580913 uwb: 0.49990464 1228.29 721.578 -imu_odom_: 1691062851.772199328 0.299275 -0.282516 9.63906 -0.0383495 -0.00213053 0.0426106 0.18 0.02 pose: 0.0 2.87488 -3.93822 0 0.00911106 0.00122468 0.998269 0.0580913 uwb: 0.0 1228.29 721.578 -imu_odom_: 1691062851.798056385 0.486023 -0.114922 10.0341 -0.052198 -0.0213053 0.0479369 0.2 0 pose: 0.52121547 2.86091 -3.94043 0 0.00360048 0.00258096 0.998311 0.0579186 uwb: 0.0 1228.29 721.578 -imu_odom_: 1691062851.825123203 0.411803 -0.253785 9.38527 -0.0532632 0.0383495 0.0351537 0.2 0 pose: 0.9985202 2.86091 -3.94043 0 0.0027467 0.00213815 0.998316 0.0579036 uwb: 0.0 1228.29 721.578 -imu_odom_: 1691062851.851202205 0.155623 -0.316035 9.61751 -0.052198 0.0308927 0.0468716 0.19 0 pose: 0.8031151 2.86091 -3.94043 0 0.00325401 0.00281986 0.998315 0.057871 uwb: 0.99986762 1227.24 721.872 -imu_odom_: 1691062851.878122906 0.385466 -0.198719 10.2831 -0.0735032 -0.0585895 0.0575243 0.19 0 pose: 0.0 2.86091 -3.94043 0 0.00325401 0.00281986 0.998315 0.057871 uwb: 0.0 1227.24 721.872 -imu_odom_: 1691062851.894195124 0.790087 -0.265756 9.63666 -0.0628506 -0.0319579 0.0372843 0.2 0 pose: 0.52914542 2.85282 -3.93455 0 0.00149443 0.00180501 0.998324 0.0578238 uwb: 0.49990756 1226.63 722.62 -imu_odom_: 1691062851.920163299 0.521936 -0.184354 9.99579 -0.0330232 -0.00958738 0.0319579 0.2 0 pose: 0.0 2.85282 -3.93455 0 0.00149443 0.00180501 0.998324 0.0578238 uwb: 0.0 1226.63 722.62 -imu_odom_: 1691062851.943033281 0.416591 0.0670376 10.4986 -0.02024 -0.0117179 0.04048 0.24 0 pose: 0.52943998 2.83885 -3.93677 0 -0.000843567-0.00111753 0.998343 0.0575318 uwb: 0.49984923 1228.84 725.331 -imu_odom_: 1691062851.960029153 0.718261 -0.351948 9.28711 -0.0458064 0.00745685 0.0426106 0.24 0 pose: 0.0 2.83885 -3.93677 0 -0.000843567-0.00111753 0.998343 0.0575318 uwb: 0.0 1228.84 725.331 -imu_odom_: 1691062851.976158242 0.337582 -0.129287 10.1538 -0.0447411 -0.0149137 0.0543285 0.2 0 pose: 0.73940134 2.82602 -3.92746 0 0.00372639 0.0017173 0.998331 0.0576054 uwb: 0.0 1228.84 725.331 -imu_odom_: 1691062852.2092877 0.751779 -0.071826 10.252 -0.0500674 -0.0149137 0.0394148 0.2 0 pose: 0.0 2.82602 -3.92746 0 0.00372639 0.0017173 0.998331 0.0576054 uwb: 0.50004172 1229.12 726.455 -imu_odom_: 1691062852.28082343 0.572214 -0.42138 9.82341 -0.0511327 0.02024 0.0532632 0.2 0 pose: 0.7038959 2.82267 -3.92502 0 0.00311207 0.00201567 0.998335 0.0575557 uwb: 0.0 1229.12 726.455 -imu_odom_: 1691062852.45172125 0.356736 -0.158017 9.63666 -0.0500674 -0.00639159 0.0532632 0.23 0 pose: 0.0 2.82267 -3.92502 0 0.00311207 0.00201567 0.998335 0.0575557 uwb: 0.49872931 1230.26 728.488 -imu_odom_: 1691062852.61192721 0.746991 -0.244209 10.1203 -0.0756338 -0.0436758 0.0703074 0.2 0 pose: 0.78104013 2.8087 -3.92725 0 0.00362518 0.00118091 0.998356 0.0571828 uwb: 0.0 1230.26 728.488 -imu_odom_: 1691062852.78182468 0.584185 -0.148441 9.72285 -0.0713727 0.0170442 0.0394148 0.2 0 pose: 0.0 2.8087 -3.92725 0 0.00362518 0.00118091 0.998356 0.0571828 uwb: 0.0 1230.26 728.488 -imu_odom_: 1691062852.103029835 0.287304 -0.225055 9.65582 -0.0617853 0.015979 0.052198 0.18 0 pose: 0.33010343 2.80522 -3.93205 0 0.00677279 0.00128906 0.998354 0.0569395 uwb: 0.49998048 1229.68 729.17 -imu_odom_: 1691062852.129091046 0.126893 -0.28491 9.83059 -0.0447411 0.052198 0.0319579 0.18 0 pose: 0.6872428 2.80283 -3.93535 0 0.00601955 0.00119169 0.998361 0.0568969 uwb: 0.0 1229.68 729.17 -imu_odom_: 1691062852.154080154 0.325611 -0.246603 9.89045 -0.0735032 -0.00639159 0.0671117 0.18 0.02 pose: 0.44036150 2.79473 -3.92949 0 0.000767338 0.00059926 0.99838 0.0568837 uwb: 0.50066586 1228.7 729.851 -imu_odom_: 1691062852.180015373 0.447716 -0.153229 10.0078 -0.0639159 -0.0138484 0.0266316 0.21 -0.02 pose: 0.7008336 2.79473 -3.92949 0 0.00012413 0.000265732 0.998386 0.0567877 uwb: 0.0 1228.7 729.851 -imu_odom_: 1691062852.197119447 0.584185 -0.117316 9.78989 -0.0713727 0.0138484 0.0436758 0.18 -0.02 pose: 0.0 2.79473 -3.92949 0 0.00012413 0.000265732 0.998386 0.0567877 uwb: 0.49977925 1229.61 731.643 -imu_odom_: 1691062852.223176284 0.213084 -0.148441 9.61511 -0.0415453 0.0106526 0.0340885 0.18 -0.02 pose: 0.52138464 2.78077 -3.93174 0 0.00121102 0.00125995 0.99839 0.0566894 uwb: 0.0 1229.61 731.643 -imu_odom_: 1691062852.249060755 0.114922 -0.292093 9.53132 -0.0745685 -0.0138484 0.0553937 0.23 0.02 pose: 0.0 2.78077 -3.93174 0 0.00121102 0.00125995 0.99839 0.0566894 uwb: 0.49934177 1230.95 733.388 -imu_odom_: 1691062852.275117884 0.402226 -0.282516 9.59596 -0.0447411 -0.0127832 0.04048 0.23 0 pose: 0.60822909 2.77267 -3.92588 0 -0.00308946 0.00109178 0.998395 0.0565479 uwb: 0.0 1230.95 733.388 -imu_odom_: 1691062852.291023278 0.663194 -0.0526724 9.96467 -0.072438 -0.0383495 0.0553937 0.23 0 pose: 0.0 2.77267 -3.92588 0 -0.00308946 0.00109178 0.998395 0.0565479 uwb: 0.50233701 1230.94 734.343 -imu_odom_: 1691062852.317027326 0.629675 -0.0790087 9.8282 -0.0511327 0.0511327 0.0308927 0.23 0 pose: 0.7053251 2.77267 -3.92588 0 -0.00269016 0.000524383 0.998396 0.0565464 uwb: 0.0 1230.94 734.343 -imu_odom_: 1691062852.342014393 0.368707 -0.179565 9.55765 -0.0649811 0.0255663 0.0436758 0.23 0 pose: 0.0 2.77267 -3.92588 0 -0.00269016 0.000524383 0.998396 0.0565464 uwb: 0.49786019 1229.31 734.34 -imu_odom_: 1691062852.368290842 0.328006 -0.320823 9.45231 -0.0649811 -0.0298274 0.0372843 0.2 0 pose: 0.42931382 2.7587 -3.92813 0 0.000522211 3.86851e-05 0.998405 0.0564517 uwb: 0.0 1229.31 734.34 -imu_odom_: 1691062852.384031162 0.895431 -0.502782 10.0197 -0.0756338 -0.0266316 0.0468716 0.2 0 pose: 0.0 2.7587 -3.92813 0 0.000522211 3.86851e-05 0.998405 0.0564517 uwb: 0.0 1229.31 734.34 -imu_odom_: 1691062852.410151579 0.476446 -0.102951 10.5034 -0.0490022 0.0255663 0.0458064 0.23 0 pose: 0.50059295 2.7506 -3.92228 0 -0.00138115 0.000902285 0.998402 0.0564921 uwb: 0.50199870 1228.56 734.746 -imu_odom_: 1691062852.427152992 0.25618 -0.45011 9.55287 -0.0681769 -0.00958738 0.0553937 0.23 0 pose: 0.0 2.7506 -3.92228 0 -0.00138115 0.000902285 0.998402 0.0564921 uwb: 0.0 1228.56 734.746 -imu_odom_: 1691062852.453039797 0.110133 -0.148441 9.95988 -0.0298274 0.00745685 0.0447411 0.25 0 pose: 0.41956398 2.7506 -3.92228 0 -0.000138299-0.00127841 0.998405 0.0564415 uwb: 0.49773187 1228.41 735.391 -imu_odom_: 1691062852.478005281 0.383072 -0.196325 9.96706 -0.0394148 -0.0340885 0.0468716 0.25 0 pose: 0.0 2.7506 -3.92228 0 -0.000138299-0.00127841 0.998405 0.0564415 uwb: 0.0 1228.41 735.391 -imu_odom_: 1691062852.494127371 0.675165 0.0622492 9.88326 -0.0319579 -0.0127832 0.0426106 0.21 0 pose: 0.43233239 2.73664 -3.92453 0 -0.00110548 -0.0007075560.998417 0.0562304 uwb: 0.50071252 1228.59 736.577 -imu_odom_: 1691062852.520243996 0.476446 -0.234632 9.54089 -0.0628506 0.0340885 0.0490022 0.21 0 pose: 0.0 2.73664 -3.92453 0 -0.00110548 -0.0007075560.998417 0.0562304 uwb: 0.0 1228.59 736.577 -imu_odom_: 1691062852.546037765 0.265756 -0.361524 9.93833 -0.0585895 -0.0117179 0.0660464 0.23 0.02 pose: 0.50733880 2.72853 -3.91868 0 0.00032455 0.00181376 0.998425 0.0560753 uwb: 0.50002423 1229.59 738.203 -imu_odom_: 1691062852.572107143 0.634463 -0.215478 10.058 -0.0671117 -0.00958738 0.0426106 0.23 0.02 pose: 0.0 2.72853 -3.91868 0 0.00032455 0.00181376 0.998425 0.0560753 uwb: 0.0 1229.59 738.203 -imu_odom_: 1691062852.588152237 0.531513 -0.0909797 10.2352 -0.0479369 0.00532632 0.0543285 0.23 0 pose: 0.42078307 2.71457 -3.92095 0 0.0015945 -0.0001252680.998438 0.0558391 uwb: 0.0 1229.59 738.203 -imu_odom_: 1691062852.605049823 -0.141258 -0.301669 9.13148 -0.0798948 -0.0330232 0.0532632 0.23 0 pose: 0.0 2.71457 -3.92095 0 0.0015945 -0.0001252680.998438 0.0558391 uwb: 0.50053170 1230.04 739.534 -imu_odom_: 1691062852.622028487 0.241814 0.181959 10.0245 -0.0468716 -0.0298274 0.0479369 0.25 0 pose: 0.51938101 2.70645 -3.91511 0 0.00313351 -0.0006963610.998453 0.0555019 uwb: 0.0 1230.04 739.534 -imu_odom_: 1691062852.638070373 0.68953 -0.294487 9.09318 -0.0735032 0.0798948 0.0575243 0.25 0 pose: 0.0 2.70645 -3.91511 0 0.00313351 -0.0006963610.998453 0.0555019 uwb: 0.0 1230.04 739.534 -imu_odom_: 1691062852.655045246 0.320823 -0.428562 9.70849 -0.0671117 -0.0266316 0.0553937 0.25 0 pose: 0.0 2.70645 -3.91511 0 0.00313351 -0.0006963610.998453 0.0555019 uwb: 0.49913178 1229.7 740.37 -imu_odom_: 1691062852.671104923 -0.282516 -0.184354 9.85214 -0.0479369 0.0340885 0.0383495 0.18 0.02 pose: 0.76000638 2.69249 -3.91739 0 0.00165086 -0.0009691050.998486 0.0549708 uwb: 0.0 1229.7 740.37 -imu_odom_: 1691062852.688231454 0.677559 -0.198719 9.48822 -0.103331 -0.0191748 0.0692422 0.18 0.02 pose: 0.7953864 2.69249 -3.91739 0 0.000709982 -0.0008352540.998487 0.0549753 uwb: 0.0 1229.7 740.37 -imu_odom_: 1691062852.705242491 0.426168 -0.459687 10.1275 -0.0820254 0.00958738 0.0532632 0.18 0.02 pose: 0.0 2.69249 -3.91739 0 0.000709982 -0.0008352540.998487 0.0549753 uwb: 0.50128999 1229.77 741.211 -imu_odom_: 1691062852.720117488 0.723049 -0.265756 9.74679 -0.0553937 0.0585895 0.0351537 0.19 0.05 pose: 0.33007718 2.68437 -3.91156 0 0.00143391 -0.00190621 0.998501 0.0546728 uwb: 0.0 1229.77 741.211 -imu_odom_: 1691062852.735056648 0.25618 -0.0790087 9.99819 -0.0660464 0.00639159 0.0500674 0.19 0.02 pose: 0.0 2.68437 -3.91156 0 0.00143391 -0.00190621 0.998501 0.0546728 uwb: 0.0 1229.77 741.211 -imu_odom_: 1691062852.751048662 0.411803 -0.167594 10.1658 -0.04048 -0.0298274 0.0447411 0.19 0.02 pose: 0.0 2.68437 -3.91156 0 0.00143391 -0.00190621 0.998501 0.0546728 uwb: 0.49871473 1228.88 741.751 -imu_odom_: 1691062852.768110446 0.866701 -0.438139 9.45231 -0.0394148 0.0117179 0.0394148 0.19 0.02 pose: 0.31115205 2.67854 -3.91969 0 0.00178192 -0.00249794 0.998503 0.0546101 uwb: 0.0 1228.88 741.751 -imu_odom_: 1691062852.795118352 0.651223 -0.110133 9.78031 -0.0426106 0.0117179 0.0490022 0.18 0.02 pose: 0.0 2.67854 -3.91969 0 0.00178192 -0.00249794 0.998503 0.0546101 uwb: 0.50201619 1229.57 743.244 -imu_odom_: 1691062852.821042196 0.158017 -0.342371 9.62948 -0.0628506 -0.0191748 0.056459 0.19 0 pose: 0.67996319 2.67041 -3.91387 0 0.00470543 0.00049799 0.998508 0.0544068 uwb: 0.0 1229.57 743.244 -imu_odom_: 1691062852.837974197 0.292093 -0.148441 10.398 -0.0308927 -0.0394148 0.0543285 0.19 0 pose: 0.0 2.67041 -3.91387 0 0.00470543 0.00049799 0.998508 0.0544068 uwb: 0.0 1229.57 743.244 -imu_odom_: 1691062852.864140402 0.517148 -0.0143652 10.2065 -0.0575243 -0.0223706 0.0532632 0.18 0.02 pose: 0.7885326 2.67041 -3.91387 0 0.00402104 0.0001962 0.998514 0.0543398 uwb: 0.49803519 1229.52 744.205 -imu_odom_: 1691062852.891257968 0.407014 0.0335188 10.1299 -0.0394148 -0.0170442 0.0468716 0.18 0.02 pose: 0.0 2.67041 -3.91387 0 0.00402104 0.0001962 0.998514 0.0543398 uwb: 0.50014672 1229.41 745.219 -imu_odom_: 1691062852.908089058 0.526724 -0.349553 10.1011 -0.0426106 -0.00106526 0.0426106 0.18 -0.02 pose: 0.42981546 2.65646 -3.91618 0 0.00171233 0.00117317 0.998538 0.0540084 uwb: 0.0 1229.41 745.219 -imu_odom_: 1691062852.934018152 0.6608 0.0814029 9.90721 -0.0575243 -0.02024 0.0511327 0.18 -0.02 pose: 0.0 2.65646 -3.91618 0 0.00171233 0.00117317 0.998538 0.0540084 uwb: 0.0 1229.41 745.219 -imu_odom_: 1691062852.956990504 0.560243 -0.277727 10.3286 -0.0798948 -0.0287621 0.0585895 0.18 -0.02 pose: 0.53159237 2.64833 -3.91037 0 0.00259862 0.00490095 0.998537 0.0537802 uwb: 0.49911137 1228.87 745.814 -imu_odom_: 1691062852.983061340 0.533907 -0.143652 9.91678 -0.0458064 -0.0149137 0.0340885 0.18 -0.02 pose: 0.0 2.64833 -3.91037 0 0.00259862 0.00490095 0.998537 0.0537802 uwb: 0.0 1228.87 745.814 -imu_odom_: 1691062852.997113594 0.229843 -0.265756 9.94312 -0.0351537 -0.00639159 0.0351537 0.2 0 pose: 0.41992271 2.63438 -3.9127 0 0.00520347 0.00503764 0.998539 0.05354 uwb: 0.50261116 1228.39 746.8 -imu_odom_: 1691062853.22110285 0.490811 -0.158017 9.60314 -0.036219 -0.0266316 0.0383495 0.2 0 pose: 0.0 2.63438 -3.9127 0 0.00520347 0.00503764 0.998539 0.05354 uwb: 0.0 1228.39 746.8 -imu_odom_: 1691062853.48171789 0.507571 -0.169988 9.87848 -0.0394148 -0.0213053 0.0575243 0.23 0 pose: 0.48019498 2.63438 -3.9127 0 0.0079932 0.00318734 0.998533 0.0534564 uwb: 0.50058129 1227.57 746.822 -imu_odom_: 1691062853.62033304 0.260968 -0.28491 9.60314 -0.0426106 0.00106526 0.0479369 0.23 0 pose: 0.0 2.63438 -3.9127 0 0.0079932 0.00318734 0.998533 0.0534564 uwb: 0.0 1227.57 746.822 -imu_odom_: 1691062853.76987921 0.790087 -0.0694318 10.2448 -0.0426106 -0.00852212 0.0372843 0.17 0 pose: 0.72877074 2.61881 -3.90814 0 0.00494667 0.000451016 0.998572 0.0531863 uwb: 0.0 1227.57 746.822 -imu_odom_: 1691062853.94033082 0.409408 -0.131681 9.60314 -0.056459 0.0149137 0.0543285 0.17 0 pose: 0.6950298 2.61229 -3.90923 0 0.00561089 0.000748292 0.998568 0.0531949 uwb: 0.49601114 1227.49 747.796 -imu_odom_: 1691062853.110971791 0.646434 -0.198719 9.93115 -0.056459 -0.00852212 0.052198 0.17 0 pose: 0.0 2.61229 -3.90923 0 0.00561089 0.000748292 0.998568 0.0531949 uwb: 0.0 1227.49 747.796 -imu_odom_: 1691062853.125078583 0.938527 -0.241814 10.2256 -0.0532632 0.00426106 0.0543285 0.18 -0.02 pose: 0.32995469 2.61229 -3.90923 0 0.00551599 0.00173887 0.998576 0.0530338 uwb: 0.0 1227.49 747.796 -imu_odom_: 1691062853.141970045 0.122104 -0.134075 9.64863 -0.0809601 0.00213053 0.0660464 0.18 -0.02 pose: 0.0 2.61229 -3.90923 0 0.00551599 0.00173887 0.998576 0.0530338 uwb: 0.50160790 1228.61 749.641 -imu_odom_: 1691062853.163973246 0.861913 -0.0167594 10.2951 -0.0596548 -0.00639159 0.0447411 0.19 0.02 pose: 0.39990974 2.60414 -3.90344 0 0.00599935 0.00131908 0.998594 0.052649 uwb: 0.0 1228.61 749.641 -imu_odom_: 1691062853.190103579 0.505177 -0.105345 9.98382 -0.0756338 -0.0181095 0.0479369 0.19 0.02 pose: 0.0 2.60414 -3.90344 0 0.00599935 0.00131908 0.998594 0.052649 uwb: 0.49798269 1228.73 750.388 -imu_odom_: 1691062853.206123009 0.0694318 -0.25618 9.53371 -0.0479369 0.0351537 0.0330232 0.22 0 pose: 0.0 2.60414 -3.90344 0 0.00599935 0.00131908 0.998594 0.052649 uwb: 0.0 1228.73 750.388 -imu_odom_: 1691062853.223232332 0.356736 -0.112527 10.3358 -0.0585895 -0.0436758 0.0585895 0.18 0 pose: 0.48133534 2.59227 -3.90727 0 0.0065461 0.00386782 0.998592 0.0525078 uwb: 0.0 1228.73 750.388 -imu_odom_: 1691062853.240294992 0.136469 -0.325611 9.87129 -0.0681769 0.0319579 0.0500674 0.24 0 pose: 0.0 2.59227 -3.90727 0 0.0065461 0.00386782 0.998592 0.0525078 uwb: 0.0 1228.73 750.388 -imu_odom_: 1691062853.257045003 0.646434 -0.153229 9.99819 -0.0351537 0.0127832 0.0149137 0.24 0 pose: 0.40156922 2.5902 -3.9058 0 0.0025776 0.00358143 0.998618 0.0523744 uwb: 0.50101877 1228.31 751.281 -imu_odom_: 1691062853.272950106 0.914585 -0.035913 9.93115 -0.0500674 0.00213053 0.0308927 0.18 0 pose: 0.0 2.5902 -3.9058 0 0.0025776 0.00358143 0.998618 0.0523744 uwb: 0.0 1228.31 751.281 -imu_odom_: 1691062853.290176965 0.179565 -0.131681 9.86172 -0.0553937 0.0596548 0.0330232 0.18 0 pose: 0.0 2.5902 -3.9058 0 0.0025776 0.00358143 0.998618 0.0523744 uwb: 0.0 1228.31 751.281 -imu_odom_: 1691062853.305972991 0.47884 -0.208296 9.69891 -0.0553937 0.0127832 0.0426106 0.18 0 pose: 0.33785548 2.58204 -3.90001 0 0.00370717 0.00330443 0.998606 0.0525521 uwb: 0.49980259 1227.72 751.923 -imu_odom_: 1691062853.323098939 0.320823 -0.0670376 10.1418 -0.0649811 0.056459 0.0383495 0.23 0 pose: 0.41926942 2.57203 -3.90517 0 0.00282637 0.00225423 0.998608 0.0526195 uwb: 0.0 1227.72 751.923 -imu_odom_: 1691062853.340000899 0.251391 -0.19393 9.54329 -0.072438 0.0170442 0.036219 0.23 0 pose: 0.0 2.57203 -3.90517 0 0.00282637 0.00225423 0.998608 0.0526195 uwb: 0.0 1227.72 751.923 -imu_odom_: 1691062853.365002549 0.466869 -0.296881 9.83059 -0.0884169 0.02024 0.0553937 0.18 0 pose: 0.7150953 2.5681 -3.90237 0 0.00205187 0.00268305 0.998609 0.052626 uwb: 0.49929803 1226.8 752.488 -imu_odom_: 1691062853.389992241 -0.3304 -0.40462 9.71806 -0.0340885 0.0308927 0.00958738 0.18 -0.02 pose: 0.0 2.5681 -3.90237 0 0.00205187 0.00268305 0.998609 0.052626 uwb: 0.0 1226.8 752.488 -imu_odom_: 1691062853.407174768 0.612916 0.0981623 10.4531 -0.0681769 -0.0383495 0.0447411 0.25 0 pose: 0.76868297 2.55579 -3.90244 0 -0.00287695 7.18196e-07 0.998599 0.0528427 uwb: 0.50047338 1225.92 753.02 -imu_odom_: 1691062853.423090662 0.162806 -0.102951 9.42837 -0.0585895 0.0170442 0.0436758 0.25 0 pose: 0.0 2.55579 -3.90244 0 -0.00287695 7.18196e-07 0.998599 0.0528427 uwb: 0.0 1225.92 753.02 -imu_odom_: 1691062853.449980450 0.378284 -0.25618 9.58399 -0.0628506 -0.0585895 0.0394148 0.25 0 pose: 0.33098421 2.54981 -3.90164 0 -0.00300392 0.0018145 0.998601 0.0527623 uwb: 0.50046755 1225.36 753.628 -imu_odom_: 1691062853.465947966 1.00556 -0.452504 9.98861 -0.0798948 -0.0127832 0.0458064 0.25 0 pose: 0.6952048 2.546 -3.89894 0 -0.00255764 0.00113221 0.998603 0.0527647 uwb: 0.0 1225.36 753.628 -imu_odom_: 1691062853.492952956 0.363919 -0.177171 10.1251 -0.0543285 0.015979 0.0458064 0.25 0 pose: 0.35905256 2.546 -3.89894 0 0.000258751 -0.00163273 0.998608 0.0527234 uwb: 0.49998924 1224.16 753.648 -imu_odom_: 1691062853.518014685 0.713472 -0.227449 9.97185 -0.0617853 0.0106526 0.0447411 0.25 0 pose: 0.0 2.546 -3.89894 0 0.000258751 -0.00163273 0.998608 0.0527234 uwb: 0.0 1224.16 753.648 -imu_odom_: 1691062853.545095504 0.502782 -0.306458 9.76595 -0.0681769 0.00852212 0.0543285 0.21 0 pose: 0.8032901 2.546 -3.89894 0 -0.000229643-0.0009304320.99861 0.0526981 uwb: 0.50013215 1223.51 754.362 -imu_odom_: 1691062853.570017533 0.579397 -0.232238 9.41161 -0.0383495 0.036219 0.0255663 0.2 0 pose: 0.51061987 2.53206 -3.9013 0 0.0012886 -0.0002704910.998619 0.0525197 uwb: 0.0 1223.51 754.362 -imu_odom_: 1691062853.597061895 0.545878 -0.110133 9.79707 -0.0543285 -0.0372843 0.0490022 0.22 0 pose: 0.0 2.53206 -3.9013 0 0.0012886 -0.0002704910.998619 0.0525197 uwb: 0.49992216 1223.31 755.01 -imu_odom_: 1691062853.613958023 0.306458 0.0646434 9.8665 -0.04048 0.00106526 0.0340885 0.22 0 pose: 0.52024721 2.52391 -3.89551 0 0.00478155 -0.0009376160.998608 0.0525198 uwb: 0.0 1223.31 755.01 -imu_odom_: 1691062853.638923800 0.462081 -0.253785 9.67497 -0.0703074 -0.0181095 0.0585895 0.18 0.02 pose: 0.0 2.52391 -3.89551 0 0.00478155 -0.0009376160.998608 0.0525198 uwb: 0.0 1223.31 755.01 -imu_odom_: 1691062853.665961454 0.150835 -0.0502782 9.53371 -0.0426106 -0.00852212 0.0319579 0.18 -0.02 pose: 0.61856225 2.50996 -3.89787 0 0.00412287 -0.0001523750.998626 0.0522445 uwb: 0.49922512 1223.04 755.744 -imu_odom_: 1691062853.690995477 0.174777 -0.397437 9.4978 -0.0756338 -0.0138484 0.0511327 0.18 -0.02 pose: 0.0 2.50996 -3.89787 0 0.00412287 -0.0001523750.998626 0.0522445 uwb: 0.49930679 1222.14 755.44 -imu_odom_: 1691062853.707996598 0.782904 0.0383072 10.4052 -0.056459 -0.0191748 0.0468716 0.18 0.02 pose: 0.8022693 2.50996 -3.89787 0 0.00344295 0.00029072 0.998627 0.0522765 uwb: 0.0 1222.14 755.44 -imu_odom_: 1691062853.725125463 0.260968 -0.28491 9.5385 -0.0660464 -0.00532632 0.14168 0.18 0.02 pose: 0.0 2.50996 -3.89787 0 0.00344295 0.00029072 0.998627 0.0522765 uwb: 0.0 1222.14 755.44 -imu_odom_: 1691062853.742052214 0.588974 -0.687136 10.2544 -0.0788296 -0.0266316 0.206661 0.18 0.02 pose: 0.0 2.50996 -3.89787 0 0.00344295 0.00029072 0.998627 0.0522765 uwb: 0.50177705 1222.53 756.721 -imu_odom_: 1691062853.758116557 0.28491 -0.447716 9.30147 -0.0681769 0.04048 0.259925 0.18 0.23 pose: 0.51054987 2.50181 -3.89209 0 0.000554823 -2.44526e-050.998637 0.0521832 uwb: 0.0 1222.53 756.721 -imu_odom_: 1691062853.776122411 0.574608 -0.198719 9.90002 -0.0852212 -0.0276969 0.333428 0.18 0.23 pose: 0.0 2.50181 -3.89209 0 0.000554823 -2.44526e-050.998637 0.0521832 uwb: 0.0 1222.53 756.721 -imu_odom_: 1691062853.792929586 0.440533 -0.433351 10.2161 -0.0532632 0.0383495 0.352603 0.18 0.32 pose: 0.51007156 2.48787 -3.89446 0 5.77607e-05 -0.00266463 0.998791 0.0490952 uwb: 0.49812560 1222.01 757.294 -imu_odom_: 1691062853.816047763 0.383072 -0.244209 10.0868 -0.0585895 0.00639159 0.4048 0.19 0.35 pose: 0.0 2.48787 -3.89446 0 5.77607e-05 -0.00266463 0.998791 0.0490952 uwb: 0.0 1222.01 757.294 -imu_odom_: 1691062853.832929892 -0.11971 -0.596156 10.082 -0.052198 -0.0394148 0.451672 0.19 0.41 pose: 0.0 2.48787 -3.89446 0 5.77607e-05 -0.00266463 0.998791 0.0490952 uwb: 0.0 1222.01 757.294 -imu_odom_: 1691062853.847947214 0.409408 -0.380678 9.60554 -0.0447411 -0.0234358 0.405866 0.19 0.41 pose: 0.75058612 2.47395 -3.89681 0 -0.00103129 -0.00312883 0.999312 0.0369503 uwb: 0.50032756 1223.22 759.368 -imu_odom_: 1691062853.864168173 0.21069 -0.0430956 10.2759 -0.0170442 -0.0223706 0.360059 0.19 0.41 pose: 0.0 2.47395 -3.89681 0 -0.00103129 -0.00312883 0.999312 0.0369503 uwb: 0.0 1223.22 759.368 -imu_odom_: 1691062853.879047545 0.442927 0.0861913 9.4547 -0.0500674 -0.0319579 0.347276 0.18 0.32 pose: 0.0 2.47395 -3.89681 0 -0.00103129 -0.00312883 0.999312 0.0369503 uwb: 0.0 1223.22 759.368 -imu_odom_: 1691062853.896974362 0.821211 -0.409408 10.2137 -0.0617853 -0.0330232 0.316384 0.18 0.32 pose: 0.30994171 2.46579 -3.89103 0 -0.00135021 -0.00417008 0.999502 0.0312358 uwb: 0.49949344 1222.25 759.566 -imu_odom_: 1691062853.913975192 0.526724 -0.462081 10.2185 -0.04048 0.0117179 0.269512 0.17 0.23 pose: 0.41912943 2.46574 -3.89101 0 0.000713974 -0.00244178 0.999684 0.0250067 uwb: 0.0 1222.25 759.566 -imu_odom_: 1691062853.930967565 0.890643 0.232238 10.0006 -0.052198 -0.0436758 0.26099 0.17 0.23 pose: 0.0 2.46574 -3.89101 0 0.000713974 -0.00244178 0.999684 0.0250067 uwb: 0.0 1222.25 759.566 -imu_odom_: 1691062853.946911749 0.507571 -0.533907 10.1394 -0.0639159 0.0276969 0.258859 0.17 0.23 pose: 0.0 2.46574 -3.89101 0 0.000713974 -0.00244178 0.999684 0.0250067 uwb: 0.50103043 1222.08 760.175 -imu_odom_: 1691062853.963967992 0.107739 -0.270545 9.5385 -0.0394148 0.0149137 0.221575 0.23 0.26 pose: 0.6968381 2.46579 -3.89103 0 0.000975595 -0.00301021 0.999702 0.0242062 uwb: 0.0 1222.08 760.175 -imu_odom_: 1691062853.980962697 0.426168 0.0023942 10.0963 -0.0394148 -0.0287621 0.225836 0.18 0.2 pose: 0.0 2.46579 -3.89103 0 0.000975595 -0.00301021 0.999702 0.0242062 uwb: 0.0 1222.08 760.175 -imu_odom_: 1691062853.996975419 0.677559 -0.316035 9.93354 -0.0585895 -0.0106526 0.237554 0.18 0.2 pose: 0.68033651 2.45184 -3.89335 0 0.00106194 -0.00306587 0.999848 0.0171236 uwb: 0.50024589 1221.9 761.201 -imu_odom_: 1691062854.13912378 0.409408 -0.368707 10.1155 -0.0468716 -0.00852212 0.201335 0.18 0.17 pose: 0.0 2.45184 -3.89335 0 0.00106194 -0.00306587 0.999848 0.0171236 uwb: 0.0 1221.9 761.201 -imu_odom_: 1691062854.32080973 0.651223 -0.0143652 10.0269 -0.0340885 0.0127832 0.177899 0.18 0.17 pose: 0.0 2.45184 -3.89335 0 0.00106194 -0.00306587 0.999848 0.0171236 uwb: 0.0 1221.9 761.201 -imu_odom_: 1691062854.47970327 -0.0383072 -0.512359 9.73243 -0.052198 0.00426106 0.190682 0.18 0.17 pose: 0.32088732 2.44368 -3.88757 0 0.00248919 -0.00313437 0.999892 0.0141291 uwb: 0.49931846 1222.52 763.036 -imu_odom_: 1691062854.63907803 0.361524 -0.213084 10.1131 -0.0308927 -0.0415453 0.160855 0.18 0.14 pose: 0.43905201 2.43324 -3.89238 0 0.0015146 -0.00301547 0.999935 0.0108744 uwb: 0.0 1222.52 763.036 -imu_odom_: 1691062854.79905068 0.035913 0.0407014 9.83538 -0.0532632 -0.0500674 0.174703 0.18 0.14 pose: 0.6945049 2.42972 -3.88989 0 0.00111861 -0.00247754 0.999942 0.0104519 uwb: 0.0 1222.52 763.036 -imu_odom_: 1691062854.97087304 0.88346 -0.318429 9.79468 -0.0617853 -0.0575243 0.18003 0.18 0.14 pose: 0.0 2.42972 -3.88989 0 0.00111861 -0.00247754 0.999942 0.0104519 uwb: 0.50116460 1222.9 764.294 -imu_odom_: 1691062854.122988401 1.00796 -0.720655 9.43555 -0.0447411 -0.0117179 0.245011 0.15 0.11 pose: 0.32039151 2.42972 -3.88989 0 0.000588554 -0.0009412010.999965 0.00832721 uwb: 0.0 1222.9 764.294 -imu_odom_: 1691062854.139926235 1.92973 -0.361524 9.95748 -0.0447411 -0.0436758 0.178964 0.19 0.11 pose: 0.0 2.42972 -3.88989 0 0.000588554 -0.0009412010.999965 0.00832721 uwb: 0.0 1222.9 764.294 -imu_odom_: 1691062854.156929399 0.603339 0.114922 10.0054 -0.0447411 0.0798948 0.11931 0.19 0.11 pose: 0.43171411 2.41579 -3.89229 0 0.00476059 -0.00274089 0.999975 0.00445844 uwb: 0.49943803 1221.95 764.471 -imu_odom_: 1691062854.172058131 -0.342371 0.023942 10.5584 -0.0532632 0.0617853 0.0937433 0.19 0.11 pose: 0.0 2.41579 -3.89229 0 0.00476059 -0.00274089 0.999975 0.00445844 uwb: 0.0 1221.95 764.471 -imu_odom_: 1691062854.189237743 -0.562637 -0.0574608 9.55047 -0.0351537 -0.0351537 -0.0106526 0.15 0.05 pose: 0.0 2.41579 -3.89229 0 0.00476059 -0.00274089 0.999975 0.00445844 uwb: 0.0 1221.95 764.471 -imu_odom_: 1691062854.203177712 -0.933739 0.332794 9.89524 -0.0649811 0.0149137 -0.00852212 0.15 0.05 pose: 0.34006619 2.41579 -3.89229 0 0.00465096 -0.0007932880.999985 0.00291721 uwb: 0.49881099 1220.88 764.787 -imu_odom_: 1691062854.219943473 0.00957681 -0.354342 10.1155 -0.092678 -0.0649811 0.118244 0.15 0.05 pose: 0.39045155 2.40758 -3.88658 0 0.000771419 0.000353747 0.999994 0.00347059 uwb: 0.0 1220.88 764.787 -imu_odom_: 1691062854.234105096 0.438139 -1.14682 9.49062 -0.0639159 -0.0490022 0.120375 0.15 0.05 pose: 0.0 2.40758 -3.88658 0 0.000771419 0.000353747 0.999994 0.00347059 uwb: 0.0 1220.88 764.787 -imu_odom_: 1691062854.250049280 0.347159 -0.205901 9.87848 -0.0308927 -0.00852212 0.0862864 0.15 0.05 pose: 0.0 2.40758 -3.88658 0 0.000771419 0.000353747 0.999994 0.00347059 uwb: 0.50034798 1221.12 766.176 -imu_odom_: 1691062854.265102184 0.110133 0.114922 10.1347 -0.0276969 -0.0170442 0.109722 0.17 0.05 pose: 0.6896343 2.40758 -3.88658 0 0.000329984 -6.8501e-06 0.999995 0.00319957 uwb: 0.0 1221.12 766.176 -imu_odom_: 1691062854.282101847 0.169988 -0.0502782 9.663 -0.0500674 0.0106526 0.115049 0.17 0.05 pose: 0.0 2.40758 -3.88658 0 0.000329984 -6.8501e-06 0.999995 0.00319957 uwb: 0.0 1221.12 766.176 -imu_odom_: 1691062854.296175100 0.59855 -0.131681 9.87369 -0.0681769 -0.0511327 0.0990696 0.17 0.05 pose: 0.0 2.40758 -3.88658 0 0.000329984 -6.8501e-06 0.999995 0.00319957 uwb: 0.50117919 1220.61 766.706 -imu_odom_: 1691062854.313058979 0.371101 -0.363919 9.89284 -0.0713727 -0.00213053 0.0841559 0.16 0.05 pose: 0.46940106 2.40178 -3.89472 0 -0.00150216 -0.0001364920.999998 0.00161995 uwb: 0.0 1220.61 766.706 -imu_odom_: 1691062854.328107508 0.656011 -0.126893 10.3477 -0.0639159 -0.0426106 0.0894822 0.17 0.05 pose: 0.0 2.40178 -3.89472 0 -0.00150216 -0.0001364920.999998 0.00161995 uwb: 0.0 1220.61 766.706 -imu_odom_: 1691062854.345175418 0.746991 -0.158017 9.87129 -0.0788296 0.00532632 0.0948085 0.17 0.05 pose: 0.0 2.40178 -3.89472 0 -0.00150216 -0.0001364920.999998 0.00161995 uwb: 0.49930387 1222.01 768.49 -imu_odom_: 1691062854.362038881 0.220267 -0.4956 9.54089 -0.052198 0.0319579 0.0852212 0.17 0.05 pose: 0.63046447 2.38787 -3.89713 0 -0.0009006660.000228755 1 -0.000277824 uwb: 0.0 1222.01 768.49 -imu_odom_: 1691062854.379039420 0.670376 -0.215478 10.1107 -0.0479369 -0.056459 0.0798948 0.17 0.02 pose: 0.0 2.38787 -3.89713 0 -0.0009006660.000228755 1 -0.000277824 uwb: 0.0 1222.01 768.49 -imu_odom_: 1691062854.395897634 0.497994 -0.237026 9.67976 -0.0798948 -0.0340885 0.0948085 0.17 0.02 pose: 0.32998970 2.37968 -3.89139 0 0.0010263 -0.0001575020.999999 -0.00113198 uwb: 0.50077671 1222.49 769.606 -imu_odom_: 1691062854.412893214 0.739808 -0.129287 9.75158 -0.0447411 -0.0330232 0.102265 0.16 0.05 pose: 0.42838056 2.37538 -3.88832 0 0.00437973 -0.00121393 0.999987 -0.00214429 uwb: 0.0 1222.49 769.606 -imu_odom_: 1691062854.428998681 1.19231 -0.354342 9.8282 -0.0649811 -0.0308927 0.135289 0.16 0.05 pose: 0.0 2.37538 -3.88832 0 0.00437973 -0.00121393 0.999987 -0.00214429 uwb: 0.0 1222.49 769.606 -imu_odom_: 1691062854.444887452 1.16837 -0.124498 10.0293 -0.0660464 -0.0255663 0.152333 0.16 0.05 pose: 0.0 2.37538 -3.88832 0 0.00437973 -0.00121393 0.999987 -0.00214429 uwb: 0.49993967 1222.9 770.79 -imu_odom_: 1691062854.460897549 1.74298 -0.186748 10.2903 -0.0426106 -0.0617853 0.0937433 0.12 0 pose: 0.8007527 2.37154 -3.88558 0 0.00523023 -0.0008528060.999983 -0.00239328 uwb: 0.0 1222.9 770.79 -imu_odom_: 1691062854.476875856 1.75016 0.124498 9.80665 -0.0383495 -0.0319579 0.0383495 0.14 0 pose: 0.0 2.37154 -3.88558 0 0.00523023 -0.0008528060.999983 -0.00239328 uwb: 0.0 1222.9 770.79 -imu_odom_: 1691062854.493036445 1.73819 0.186748 10.0556 -0.0585895 0.00852212 0.0447411 0.14 0 pose: 0.64015890 2.36575 -3.89373 0 0.0125432 -0.00020484 0.99991 -0.0047624 uwb: 0.49954886 1223.85 772.213 -imu_odom_: 1691062854.509902533 1.66636 -0.368707 9.69412 -0.0511327 0.0170442 0.0660464 0.13 0 pose: 0.0 2.36575 -3.89373 0 0.0125432 -0.00020484 0.99991 -0.0047624 uwb: 0.0 1223.85 772.213 -imu_odom_: 1691062854.528034088 0.744597 -0.639252 9.84975 -0.0500674 0.0383495 0.0575243 0.13 0 pose: 0.0 2.36575 -3.89373 0 0.0125432 -0.00020484 0.99991 -0.0047624 uwb: 0.0 1223.85 772.213 -imu_odom_: 1691062854.545029377 0.588974 -0.153229 10.3358 -0.0479369 -0.036219 0.0181095 0.13 0 pose: 0.33023469 2.35757 -3.88798 0 0.0156255 0.000577922 0.999866 -0.00489522 uwb: 0.49975010 1223.07 772.606 -imu_odom_: 1691062854.561874467 0.792481 -0.0263362 9.74679 -0.0607201 -0.0276969 0.015979 0.1 0 pose: 0.44084857 2.35757 -3.88798 0 0.0149533 -0.0003560830.999876 -0.00501673 uwb: 0.0 1223.07 772.606 -imu_odom_: 1691062854.577930353 0.967257 -0.191536 10.1873 -0.0617853 -0.0191748 0.0511327 0.1 0 pose: 0.6898093 2.35757 -3.88798 0 0.0153473 0.000242447 0.99987 -0.00492576 uwb: 0.0 1223.07 772.606 -imu_odom_: 1691062854.595944373 0.773327 -0.548272 9.7444 -0.0617853 0 0.0671117 0.1 0 pose: 0.0 2.35757 -3.88798 0 0.0153473 0.000242447 0.99987 -0.00492576 uwb: 0.50057255 1223.4 774.251 -imu_odom_: 1691062854.620953315 0.754174 -0.155623 9.76595 -0.0511327 -0.00426106 0.0820254 0.07 0 pose: 0.44016903 2.35182 -3.89616 0 0.0177654 -0.0007813720.999829 -0.00516641 uwb: 0.0 1223.4 774.251 -imu_odom_: 1691062854.636956704 0.306458 -0.0957681 9.87848 -0.0649811 0.0330232 0.0649811 0.08 0 pose: 0.0 2.35182 -3.89616 0 0.0177654 -0.0007813720.999829 -0.00516641 uwb: 0.0 1223.4 774.251 -imu_odom_: 1691062854.662937421 -0.301669 -0.0143652 10.2448 -0.0383495 0.0181095 -0.0905475 0.08 0 pose: 0.30981631 2.35182 -3.89616 0 0.01732 0.00182984 0.999832 -0.00572614 uwb: 0.0 1223.4 774.251 -imu_odom_: 1691062854.688872349 -1.08936 -0.277727 9.9503 -0.0671117 0.00532632 0.0511327 0.12 0.08 pose: 0.0 2.35182 -3.89616 0 0.01732 0.00182984 0.999832 -0.00572614 uwb: 0.0 1223.4 774.251 -imu_odom_: 1691062854.714013116 0.54109 -0.507571 9.43315 -0.0532632 -0.0905475 0.0649811 0.1 0 pose: 0.42956757 2.34363 -3.89043 0 0.0125587 0.00250981 0.999909 -0.00418928 uwb: 0.100071346 1223.97 775.645 -imu_odom_: 1691062854.739953586 0.505177 -0.134075 9.8258 -0.0575243 -0.00639159 0.0777643 0.12 0.02 pose: 0.26067046 2.34363 -3.89043 0 0.0107572 0.00157624 0.999931 -0.004391 uwb: 0.0 1223.97 775.645 -imu_odom_: 1691062854.765997008 -0.0694318 -0.428562 10.0221 -0.0585895 0.0479369 0.0500674 0.12 0 pose: 0.26016298 2.34363 -3.89043 0 0.0105937 0.000272553 0.999932 -0.00478362 uwb: 0.0 1223.97 775.645 -imu_odom_: 1691062854.782926967 0.220267 -0.126893 9.90481 -0.0553937 0.0170442 0.0245011 0.12 0 pose: 0.0 2.34363 -3.89043 0 0.0105937 0.000272553 0.999932 -0.00478362 uwb: 0.0 1223.97 775.645 -imu_odom_: 1691062854.808892518 0.612916 -0.208296 9.95509 -0.0628506 -0.0181095 0.0798948 0.13 0.02 pose: 0.25992383 2.33545 -3.88468 0 0.00819614 0.00101514 0.999953 -0.00515899 uwb: 0.99780572 1223.67 776.718 -imu_odom_: 1691062854.834902401 0.407014 -0.253785 9.56244 -0.0511327 -0.0181095 0.0351537 0.13 0.02 pose: 0.0 2.33545 -3.88468 0 0.00819614 0.00101514 0.999953 -0.00515899 uwb: 0.0 1223.67 776.718 -imu_odom_: 1691062854.860026252 0.189142 -0.292093 10.0054 -0.0468716 0.0436758 0.0628506 0.14 0 pose: 0.41929860 2.3297 -3.89286 0 0.00495784 0.000716939 0.999974 -0.00526767 uwb: 0.50024590 1223.62 777.163 -imu_odom_: 1691062854.885904892 0.744597 -0.28491 10.0556 -0.0426106 -0.0245011 0.0458064 0.14 0 pose: 0.0 2.3297 -3.89286 0 0.00495784 0.000716939 0.999974 -0.00526767 uwb: 0.0 1223.62 777.163 -imu_odom_: 1691062854.910942998 0.428562 -0.0646434 9.68215 -0.0511327 -0.00426106 0.0713727 0.15 0.02 pose: 0.96016544 2.31749 -3.89275 0 0.00449648 -0.00108509 0.999971 -0.00597615 uwb: 0.49968011 1223.2 777.578 -imu_odom_: 1691062854.928919104 0.423774 -0.37589 10.1011 -0.0479369 0.0394148 0.0490022 0.15 0.02 pose: 0.0 2.31749 -3.89275 0 0.00449648 -0.00108509 0.999971 -0.00597615 uwb: 0.0 1223.2 777.578 -imu_odom_: 1691062854.945935975 0.0814029 -0.241814 9.40203 -0.0628506 0.0394148 0.0319579 0.15 0 pose: 0.8026776 2.31576 -3.8953 0 0.00422439 -0.0003129860.999972 -0.00610072 uwb: 0.50095461 1222.88 777.894 -imu_odom_: 1691062854.968954992 1.10612 -0.153229 10.0533 -0.0660464 -0.0383495 0.0830906 0.15 0 pose: 0.0 2.31576 -3.8953 0 0.00422439 -0.0003129860.999972 -0.00610072 uwb: 0.0 1222.88 777.894 -imu_odom_: 1691062854.994150297 0.332794 -0.28491 9.88805 -0.0713727 0.00319579 0.0468716 0.16 0 pose: 0.41944442 2.30762 -3.88949 0 0.00193575 -0.0004164830.999977 -0.00642961 uwb: 0.50007675 1223.93 779.18 -imu_odom_: 1691062855.19890112 0.186748 -0.0407014 9.76116 -0.0660464 0.00958738 0.0639159 0.16 0 pose: 0.0 2.30762 -3.88949 0 0.00193575 -0.0004164830.999977 -0.00642961 uwb: 0.0 1223.93 779.18 -imu_odom_: 1691062855.45947826 0.481235 -0.289698 10.082 -0.072438 -0.0191748 0.0447411 0.16 0.02 pose: 0.84014002 2.29367 -3.89184 0 -0.00111125 -0.0001057610.999973 -0.007301 uwb: 0.49857184 1223.23 779.482 -imu_odom_: 1691062855.71002265 0.292093 -0.0909797 9.57681 -0.076699 0.00852212 0.0553937 0.2 0 pose: 0.8191851 2.29367 -3.89184 0 -0.000384327-0.0006530780.999973 -0.00732162 uwb: 0.0 1223.23 779.482 -imu_odom_: 1691062855.86911451 0.253785 -0.409408 10.398 -0.0681769 0 0.0490022 0.2 0 pose: 0.0 2.29367 -3.89184 0 -0.000384327-0.0006530780.999973 -0.00732162 uwb: 0.0 1223.23 779.482 -imu_odom_: 1691062855.113847904 0.469264 -0.203507 10.0461 -0.0500674 -0.0234358 0.0426106 0.17 0.02 pose: 0.24950611 2.29367 -3.89184 0 0.00069572 -0.00138317 0.999971 -0.00742263 uwb: 0.49992802 1223.15 779.564 -imu_odom_: 1691062855.138072017 0.342371 -0.605733 9.87848 -0.0585895 -0.00745685 0.0394148 0.17 0.02 pose: 0.0 2.29367 -3.89184 0 0.00069572 -0.00138317 0.999971 -0.00742263 uwb: 0.0 1223.15 779.564 -imu_odom_: 1691062855.163992364 0.512359 -0.23942 9.62948 -0.0553937 0.00532632 0.0543285 0.19 0.02 pose: 0.41975358 2.27973 -3.89421 0 -0.000723641-0.00125374 0.99997 -0.00765088 uwb: 0.50193748 1222.94 780.156 -imu_odom_: 1691062855.179917883 0.440533 -0.435745 10.3142 -0.0681769 0.0266316 0.052198 0.19 0.02 pose: 0.0 2.27973 -3.89421 0 -0.000723641-0.00125374 0.99997 -0.00765088 uwb: 0.0 1222.94 780.156 -imu_odom_: 1691062855.197898947 -0.0981623 -0.270545 9.76355 -0.0532632 -0.00852212 0.0458064 0.19 0.02 pose: 0.0 2.27973 -3.89421 0 -0.000723641-0.00125374 0.99997 -0.00765088 uwb: 0.49996593 1222.81 780.665 -imu_odom_: 1691062855.214870030 0.131681 -0.28491 9.57681 -0.0532632 -0.0234358 0.0511327 0.2 0.02 pose: 0.50132793 2.27158 -3.88842 0 0.00135643 -0.00262574 0.999966 -0.00772896 uwb: 0.0 1222.81 780.665 -imu_odom_: 1691062855.229065192 0.792481 -0.138864 10.07 -0.0660464 -0.0500674 0.052198 0.2 0.02 pose: 0.0 2.27158 -3.88842 0 0.00135643 -0.00262574 0.999966 -0.00772896 uwb: 0.0 1222.81 780.665 -imu_odom_: 1691062855.254010555 0.684742 -0.11971 10.4746 -0.036219 -0.0330232 0.0308927 0.16 0.02 pose: 0.83924467 2.25763 -3.8908 0 0.000970757 -0.00325558 0.99996 -0.00822107 uwb: 0.49970927 1222.92 781.318 -imu_odom_: 1691062855.279861197 0.332794 -0.272939 9.663 -0.052198 0.00213053 0.0490022 0.16 0.02 pose: 0.0 2.25763 -3.8908 0 0.000970757 -0.00325558 0.99996 -0.00822107 uwb: 0.0 1222.92 781.318 -imu_odom_: 1691062855.305910160 0.229843 -0.0407014 9.80186 -0.0532632 -0.00213053 0.0468716 0.18 -0.02 pose: 0.6978880 2.25763 -3.8908 0 0.0016615 -0.0028148 0.999961 -0.00818886 uwb: 0.49747233 1223.23 782.541 -imu_odom_: 1691062855.322847703 0.335188 -0.0742203 10.1706 -0.0607201 -0.00852212 0.0671117 0.18 -0.02 pose: 0.0 2.25763 -3.8908 0 0.0016615 -0.0028148 0.999961 -0.00818886 uwb: 0.0 1223.23 782.541 -imu_odom_: 1691062855.347895142 0.584185 0.0191536 10.1754 -0.04048 -0.015979 0.0308927 0.18 0.02 pose: 0.50903332 2.24369 -3.89318 0 0.000337143 -0.00160532 0.999965 -0.00826015 uwb: 0.50328782 1223.3 783.226 -imu_odom_: 1691062855.373940023 0.282516 -0.378284 9.79707 -0.0383495 -0.0245011 0.04048 0.21 0 pose: 0.42954716 2.24369 -3.89318 0 -0.00092703 0.00193861 0.999961 -0.00853623 uwb: 0.0 1223.3 783.226 -imu_odom_: 1691062855.399096539 0.203507 -0.0167594 9.68455 -0.0319579 0.00319579 0.0330232 0.17 0 pose: 0.26040215 2.23553 -3.88741 0 0.000143817 0.00271014 0.99996 -0.00846375 uwb: 0.49942638 1223.45 784.221 -imu_odom_: 1691062855.416088329 0.605733 -0.134075 10.0245 -0.0596548 -0.0447411 0.0532632 0.17 0 pose: 0.25136975 2.22975 -3.89557 0 -0.0011114 0.00185307 0.999962 -0.00844526 uwb: 0.0 1223.45 784.221 -imu_odom_: 1691062855.441835144 0.667982 0.047884 10.3142 -0.0628506 -0.0383495 0.04048 0.18 0 pose: 0.0 2.22975 -3.89557 0 -0.0011114 0.00185307 0.999962 -0.00844526 uwb: 0.49832977 1223.35 785.069 -imu_odom_: 1691062855.458828683 0.316035 -0.167594 9.81862 -0.0671117 0.0319579 0.0447411 0.18 0 pose: 0.0 2.22975 -3.89557 0 -0.0011114 0.00185307 0.999962 -0.00844526 uwb: 0.0 1223.35 785.069 -imu_odom_: 1691062855.484879688 0.878672 -0.134075 10.0652 -0.052198 -0.0266316 0.0372843 0.18 0.02 pose: 0.41768287 2.22159 -3.8898 0 0.000183356 0.00372446 0.999957 -0.00851079 uwb: 0.0 1223.35 785.069 -imu_odom_: 1691062855.508983642 0.502782 -0.447716 9.91439 -0.0628506 -0.0138484 0.0575243 0.18 0.02 pose: 0.42979798 2.21582 -3.89796 0 0.000922854 0.00410131 0.999955 -0.00855713 uwb: 0.50070672 1222.94 785.835 -imu_odom_: 1691062855.534937528 0.351948 -0.114922 9.8689 -0.0490022 -0.0266316 0.0394148 0.18 0 pose: 0.0 2.21582 -3.89796 0 0.000922854 0.00410131 0.999955 -0.00855713 uwb: 0.0 1222.94 785.835 -imu_odom_: 1691062855.559827768 0.198719 -0.19393 10.0963 -0.0596548 -0.0266316 0.0458064 0.18 0 pose: 0.50036258 2.20765 -3.89219 0 0.00295464 0.00202371 0.999955 -0.00876351 uwb: 0.49877309 1222.9 786.989 -imu_odom_: 1691062855.576821599 0.857124 -0.186748 9.94312 -0.0447411 -0.0308927 0.0351537 0.18 0 pose: 0.0 2.20765 -3.89219 0 0.00295464 0.00202371 0.999955 -0.00876351 uwb: 0.0 1222.9 786.989 -imu_odom_: 1691062855.602984598 0.37589 -0.371101 9.94312 -0.0639159 0.0479369 0.0553937 0.18 0 pose: 0.60957946 2.19371 -3.89459 0 0.00124989 0.00255987 0.999957 -0.00879162 uwb: 0.50115586 1223.2 788.563 -imu_odom_: 1691062855.618841288 0.225055 -0.107739 10.2232 -0.056459 -0.0308927 0.0372843 0.18 0 pose: 0.7074541 2.19371 -3.89459 0 0.000898156 0.00183997 0.999959 -0.00884843 uwb: 0.0 1223.2 788.563 -imu_odom_: 1691062855.644810631 0.658405 -0.205901 10.0533 -0.0575243 -0.02024 0.0426106 0.23 0 pose: 0.0 2.19371 -3.89459 0 0.000898156 0.00183997 0.999959 -0.00884843 uwb: 0.49930680 1224.11 790.285 -imu_odom_: 1691062855.670823139 0.452504 -0.131681 10.1825 -0.0575243 0.02024 0.0255663 0.23 0 pose: 0.34945148 2.18554 -3.88883 0 -0.00119775 0.000709865 0.999959 -0.00898369 uwb: 0.0 1224.11 790.285 -imu_odom_: 1691062855.696984387 0.782904 -0.177171 10.003 -0.0617853 -0.015979 0.0394148 0.23 -0.02 pose: 0.51981851 2.17384 -3.89281 0 0.00187853 0.00316331 0.999954 -0.00883886 uwb: 0.49969178 1223.44 790.541 -imu_odom_: 1691062855.721885419 0.665588 0.0981623 10.1825 -0.0553937 -0.00745685 0.0372843 0.23 -0.02 pose: 0.0 2.17384 -3.89281 0 0.00187853 0.00316331 0.999954 -0.00883886 uwb: 0.0 1223.44 790.541 -imu_odom_: 1691062855.739953103 0.423774 -0.390255 9.89524 -0.0777643 -0.056459 0.0383495 0.21 0.02 pose: 0.51062280 2.16761 -3.89689 0 0.00604157 0.00500484 0.99993 -0.00880995 uwb: 0.0 1223.44 790.541 -imu_odom_: 1691062855.764982752 0.782904 -0.112527 9.991 -0.0490022 -0.0468716 0.0298274 0.21 0.02 pose: 0.0 2.16761 -3.89689 0 0.00604157 0.00500484 0.99993 -0.00880995 uwb: 0.50018758 1223.48 791.237 -imu_odom_: 1691062855.790939555 0.727837 -0.390255 9.8689 -0.0479369 0.02024 0.0287621 0.25 0 pose: 0.43097333 2.15767 -3.89363 0 0.00891724 0.00360165 0.999916 -0.00868443 uwb: 0.50098671 1224.77 793.317 -imu_odom_: 1691062855.806833284 0.4956 -0.268151 9.86411 -0.04048 0.0713727 0.0223706 0.25 0 pose: 0.0 2.15767 -3.89363 0 0.00891724 0.00360165 0.999916 -0.00868443 uwb: 0.0 1224.77 793.317 -imu_odom_: 1691062855.825001296 0.213084 -0.0646434 10.2424 -0.056459 -0.0298274 0.04048 0.22 0 pose: 0.41850532 2.15337 -3.89059 0 0.008138 0.000610841 0.999931 -0.00844412 uwb: 0.0 1224.77 793.317 -imu_odom_: 1691062855.849818332 0.110133 -0.131681 10.1658 -0.0479369 0.0213053 0.0287621 0.22 0 pose: 0.0 2.15337 -3.89059 0 0.008138 0.000610841 0.999931 -0.00844412 uwb: 0.49934471 1224.55 793.88 -imu_odom_: 1691062855.876790075 0.687136 -0.241814 9.91918 -0.0681769 0.0234358 0.036219 0.25 -0.02 pose: 0.42985048 2.14373 -3.89603 0 0.00389144 0.00166054 0.999957 -0.00830753 uwb: 0.0 1224.55 793.88 -imu_odom_: 1691062855.892788214 0.146046 -0.220267 9.95748 -0.056459 0.00639159 0.0308927 0.25 -0.02 pose: 0.0 2.14373 -3.89603 0 0.00389144 0.00166054 0.999957 -0.00830753 uwb: 0.49987260 1225.7 795.705 -imu_odom_: 1691062855.920089229 0.572214 -0.150835 10.2352 -0.0713727 -0.0298274 0.0490022 0.26 -0.02 pose: 0.42969882 2.13557 -3.89025 0 0.00444014 0.000660792 0.999956 -0.00819913 uwb: 0.0 1225.7 795.705 -imu_odom_: 1691062855.946086571 0.682347 -0.222661 9.71328 -0.0617853 0.00639159 0.0447411 0.2 0 pose: 0.0 2.13557 -3.89025 0 0.00444014 0.000660792 0.999956 -0.00819913 uwb: 0.0 1225.7 795.705 -imu_odom_: 1691062855.972840451 0.225055 -0.275333 9.72525 -0.0479369 -0.00319579 0.0298274 0.25 0 pose: 0.35303585 2.12979 -3.89841 0 0.00779752 0.00169004 0.999933 -0.00834486 uwb: 0.0 1225.7 795.705 -imu_odom_: 1691062855.997786397 0.469264 -0.493206 9.7037 -0.0639159 0.0330232 0.0585895 0.19 0 pose: 0.24775914 2.12163 -3.89264 0 0.00876122 0.000985277 0.999926 -0.00836591 uwb: 0.99937773 1226.38 797.235 -imu_odom_: 1691062856.23088155 0.433351 -0.241814 9.96706 -0.0330232 -0.00426106 0.0383495 0.19 0 pose: 0.0 2.12163 -3.89264 0 0.00876122 0.000985277 0.999926 -0.00836591 uwb: 0.0 1226.38 797.235 -imu_odom_: 1691062856.48939964 0.572214 -0.260968 9.9503 -0.0596548 0.0287621 0.0532632 0.17 0 pose: 0.28110634 2.12163 -3.89264 0 0.0064828 -0.0002253370.999944 -0.00835399 uwb: 0.50048507 1225.87 798.045 -imu_odom_: 1691062856.73784708 0.481235 0.102951 10.4244 -0.0426106 -0.0138484 0.0458064 0.17 0 pose: 0.0 2.12163 -3.89264 0 0.0064828 -0.0002253370.999944 -0.00835399 uwb: 0.0 1225.87 798.045 -imu_odom_: 1691062856.87961789 0.294487 -0.25618 9.7037 -0.0671117 0 0.0553937 0.18 0 pose: 0.49101521 2.10769 -3.89503 0 0.00387784 -0.00146331 0.999955 -0.00856059 uwb: 0.0 1225.87 798.045 -imu_odom_: 1691062856.112923483 0.751779 -0.177171 9.96467 -0.0458064 -0.00426106 0.0458064 0.18 0 pose: 0.0 2.10769 -3.89503 0 0.00387784 -0.00146331 0.999955 -0.00856059 uwb: 0.49931556 1226.1 799.258 -imu_odom_: 1691062856.137892470 0.308852 -0.289698 9.70131 -0.0852212 0.0468716 0.0628506 0.26 0.02 pose: 0.49712527 2.09952 -3.88925 0 0.00469632 0.000596821 0.99995 -0.00880086 uwb: 0.0 1226.1 799.258 -imu_odom_: 1691062856.161056437 0.440533 -0.301669 9.80904 -0.076699 0 0.0468716 0.26 0.02 pose: 0.0 2.09952 -3.88925 0 0.00469632 0.000596821 0.99995 -0.00880086 uwb: 0.50116171 1226.57 800.605 -imu_odom_: 1691062856.177085492 0.54109 -0.335188 10.0485 -0.0788296 -0.00213053 0.0458064 0.19 0 pose: 0.40080804 2.09375 -3.89742 0 0.00555228 0.000386201 0.999944 -0.00902501 uwb: 0.0 1226.57 800.605 -imu_odom_: 1691062856.203846956 0.490811 -0.146046 9.95509 -0.0330232 -0.04048 0.0394148 0.19 0 pose: 0.0 2.09375 -3.89742 0 0.00555228 0.000386201 0.999944 -0.00902501 uwb: 0.49991927 1226.41 801.098 -imu_odom_: 1691062856.228925603 0.179565 -0.320823 9.91199 -0.0543285 0.00532632 0.0394148 0.25 0 pose: 0.49101813 2.08558 -3.89166 0 0.00321793 -0.00354177 0.999945 -0.00935153 uwb: 0.0 1226.41 801.098 -imu_odom_: 1691062856.255911928 0.584185 -0.136469 9.9096 -0.0490022 -0.0426106 0.0468716 0.23 0.02 pose: 0.42851474 2.07165 -3.89408 0 0.00374561 -0.00132851 0.999948 -0.00936663 uwb: 0.50021968 1226.59 801.987 -imu_odom_: 1691062856.271852613 0.227449 -0.277727 9.46667 -0.0585895 -0.0319579 0.0575243 0.23 0.02 pose: 0.0 2.07165 -3.89408 0 0.00374561 -0.00132851 0.999948 -0.00936663 uwb: 0.0 1226.59 801.987 -imu_odom_: 1691062856.298780317 0.42138 -0.270545 9.70609 -0.04048 -0.0394148 0.0415453 0.23 0 pose: 0.24102495 2.07165 -3.89408 0 0.00269122 -0.00131157 0.999951 -0.00939308 uwb: 0.49972678 1227.78 804.079 -imu_odom_: 1691062856.323876463 0.304064 -0.229843 10.2185 -0.0340885 -0.0351537 0.04048 0.23 0 pose: 0.0 2.07165 -3.89408 0 0.00269122 -0.00131157 0.999951 -0.00939308 uwb: 0.0 1227.78 804.079 -imu_odom_: 1691062856.349809642 0.634463 -0.237026 9.51695 -0.0596548 -0.0127832 0.0468716 0.23 0.02 pose: 0.42934302 2.05771 -3.89649 0 0.00294404 -0.0008546670.999949 -0.00961509 uwb: 0.49961596 1227.59 804.585 -imu_odom_: 1691062856.375789194 0.47884 -0.339977 9.84017 -0.0532632 0.00426106 0.0468716 0.23 0.02 pose: 0.0 2.05771 -3.89649 0 0.00294404 -0.0008546670.999949 -0.00961509 uwb: 0.0 1227.59 804.585 -imu_odom_: 1691062856.392798774 0.536301 -0.268151 9.99579 -0.0628506 -0.0308927 0.0585895 0.21 0.02 pose: 0.51956479 2.04954 -3.89074 0 0.000587178 -0.00140159 0.999952 -0.00968211 uwb: 0.49941764 1227.57 805.64 -imu_odom_: 1691062856.409783273 0.586579 -0.308852 9.66779 -0.0596548 0.00319579 0.0447411 0.21 0.02 pose: 0.0 2.04954 -3.89074 0 0.000587178 -0.00140159 0.999952 -0.00968211 uwb: 0.0 1227.57 805.64 -imu_odom_: 1691062856.433822189 0.428562 -0.146046 9.75637 -0.0372843 0.015979 0.0372843 0.19 0 pose: 0.51974852 2.04378 -3.89892 0 0.003906 -0.00366971 0.999937 -0.00991233 uwb: 0.0 1227.57 805.64 -imu_odom_: 1691062856.458840464 0.550666 -0.172383 10.1586 -0.04048 0.0287621 0.0308927 0.19 0 pose: 0.0 2.04378 -3.89892 0 0.003906 -0.00366971 0.999937 -0.00991233 uwb: 0.50013510 1228.32 807.399 -imu_odom_: 1691062856.482937126 0.603339 -0.289698 9.88805 -0.0681769 0.0181095 0.0553937 0.21 0 pose: 0.34013036 2.0356 -3.89317 0 0.00607001 -0.00328864 0.999926 -0.0100334 uwb: 0.0 1228.32 807.399 -imu_odom_: 1691062856.506852675 0.447716 -0.349553 9.44034 -0.0745685 0.00745685 0.0436758 0.21 0 pose: 0.0 2.0356 -3.89317 0 0.00607001 -0.00328864 0.999926 -0.0100334 uwb: 0.49903849 1228 808.008 -imu_odom_: 1691062856.531789288 0.37589 -0.23942 9.84017 -0.0617853 0.0181095 0.04048 0.2 0 pose: 0.49008194 2.02167 -3.8956 0 0.00623846 4.37563e-05 0.999931 -0.00994567 uwb: 0.0 1228 808.008 -imu_odom_: 1691062856.548802660 0.675165 -0.332794 9.40442 -0.0639159 -0.00958738 0.0308927 0.2 0 pose: 0.0 2.02167 -3.8956 0 0.00623846 4.37563e-05 0.999931 -0.00994567 uwb: 0.49998053 1228.07 808.969 -imu_odom_: 1691062856.573807519 0.603339 -0.529119 9.67018 -0.0447411 -0.00532632 0.0585895 0.23 0 pose: 0.49008486 2.02167 -3.8956 0 0.00478286 -0.0031502 0.999932 -0.0101551 uwb: 0.0 1228.07 808.969 -imu_odom_: 1691062856.590967007 0.603339 -0.423774 10.0796 -0.0500674 -0.00958738 0.0308927 0.23 0 pose: 0.0 2.02167 -3.8956 0 0.00478286 -0.0031502 0.999932 -0.0101551 uwb: 0.49988427 1227.76 809.562 -imu_odom_: 1691062856.614915220 0.31364 -0.349553 9.086 -0.0585895 0.0255663 0.0468716 0.18 0 pose: 0.76142677 2.00316 -3.89483 0 0.00688982 -0.00665886 0.999901 -0.0102597 uwb: 0.0 1227.76 809.562 -imu_odom_: 1691062856.641910004 0.272939 -0.071826 9.99579 -0.0500674 -0.0447411 0.0372843 0.18 0 pose: 0.0 2.00316 -3.89483 0 0.00688982 -0.00665886 0.999901 -0.0102597 uwb: 0.49952555 1226.74 809.406 -imu_odom_: 1691062856.666937320 0.507571 -0.294487 10.3669 -0.0692422 -0.0276969 0.056459 0.19 0 pose: 0.7850037 1.99956 -3.8923 0 0.00598979 -0.0067334 0.999906 -0.0102931 uwb: 0.0 1226.74 809.406 -imu_odom_: 1691062856.691785563 0.64404 -0.0742203 10.2424 -0.0713727 -0.04048 0.0426106 0.22 0 pose: 0.51124111 1.98563 -3.89474 0 0.00388438 -0.00442751 0.999929 -0.010401 uwb: 0.49970054 1226.55 810.241 -imu_odom_: 1691062856.714775124 0.624887 -0.0335188 10.4387 -0.0543285 -0.0479369 0.04048 0.22 0 pose: 0.0 1.98563 -3.89474 0 0.00388438 -0.00442751 0.999929 -0.010401 uwb: 0.0 1226.55 810.241 -imu_odom_: 1691062856.739910351 0.366313 -0.174777 10.0796 -0.056459 0.0266316 0.0213053 0.19 0 pose: 0.64833969 1.97626 -3.89639 0 0.00851064 0.000269799 0.999908 -0.0105508 uwb: 0.0 1226.55 810.241 -imu_odom_: 1691062856.757028716 0.526724 -0.490811 9.54089 -0.0713727 -0.00745685 0.0394148 0.19 0 pose: 0.8146353 1.9717 -3.89719 0 0.00758083 0.000397171 0.999916 -0.0104751 uwb: 0.50016426 1227.1 811.122 -imu_odom_: 1691062856.781806964 0.399832 -0.035913 9.96946 -0.0596548 -0.00745685 0.0436758 0.19 0 pose: 0.0 1.9717 -3.89719 0 0.00758083 0.000397171 0.999916 -0.0104751 uwb: 0.0 1227.1 811.122 -imu_odom_: 1691062856.806808323 0.502782 -0.363919 9.89284 -0.0862864 -0.0468716 0.04048 0.19 0 pose: 0.34107239 1.9717 -3.89719 0 0.00578996 -0.00118133 0.999929 -0.0103247 uwb: 0.50086131 1227.14 812.093 -imu_odom_: 1691062856.820809248 0.632069 -0.258574 10.1945 -0.0436758 -0.0234358 0.036219 0.18 0 pose: 0.0 1.9717 -3.89719 0 0.00578996 -0.00118133 0.999929 -0.0103247 uwb: 0.0 1227.14 812.093 -imu_odom_: 1691062856.837873658 0.433351 -0.383072 9.51456 -0.04048 0.00426106 0.0394148 0.18 0 pose: 0.55841250 1.95777 -3.89964 0 0.00594903 -0.0019507 0.999927 -0.0103738 uwb: 0.0 1227.14 812.093 -imu_odom_: 1691062856.851749757 0.337582 -0.222661 9.90721 -0.0649811 0.00426106 0.0415453 0.18 0 pose: 0.0 1.95777 -3.89964 0 0.00594903 -0.0019507 0.999927 -0.0103738 uwb: 0.50146793 1227.03 812.517 -imu_odom_: 1691062856.868938410 0.378284 0.0047884 10.0844 -0.0340885 -0.0181095 0.0340885 0.18 0.02 pose: 0.0 1.95777 -3.89964 0 0.00594903 -0.0019507 0.999927 -0.0103738 uwb: 0.0 1227.03 812.517 -imu_odom_: 1691062856.882813050 0.984017 -0.301669 9.78989 -0.0394148 -0.0170442 0.0276969 0.18 0.02 pose: 0.45889003 1.94958 -3.8939 0 0.00413085 -0.00211464 0.999936 -0.0103642 uwb: 0.0 1227.03 812.517 -imu_odom_: 1691062856.897742879 0.577003 -0.134075 10.4651 -0.0788296 0.00426106 0.0351537 0.18 0.02 pose: 0.0 1.94958 -3.8939 0 0.00413085 -0.00211464 0.999936 -0.0103642 uwb: 0.49910849 1226.86 813.65 -imu_odom_: 1691062856.915859560 0.758962 0.023942 9.57681 -0.0426106 -0.00745685 0.0383495 0.26 0 pose: 0.38983910 1.94384 -3.90208 0 0.00598932 -1.36709e-050.99993 -0.0102095 uwb: 0.0 1226.86 813.65 -imu_odom_: 1691062856.932016941 0.814029 -0.0287304 10.0556 -0.0681769 0.00532632 0.0575243 0.26 0 pose: 0.0 1.94384 -3.90208 0 0.00598932 -1.36709e-050.99993 -0.0102095 uwb: 0.0 1226.86 813.65 -imu_odom_: 1691062856.957797588 0.356736 -0.181959 10.0628 -0.0617853 -0.0223706 0.0351537 0.18 0.02 pose: 0.34274062 1.93565 -3.89634 0 0.00859328 0.00213257 0.999907 -0.0103311 uwb: 0.50213289 1226.68 814.464 -imu_odom_: 1691062856.975782736 0.646434 -0.258574 10.0556 -0.0671117 -0.0287621 0.0394148 0.19 0.02 pose: 0.0 1.93565 -3.89634 0 0.00859328 0.00213257 0.999907 -0.0103311 uwb: 0.0 1226.68 814.464 -imu_odom_: 1691062856.999777904 0.742203 -0.423774 9.57681 -0.0585895 -0.0511327 0.0340885 0.18 -0.02 pose: 0.43765795 1.92795 -3.89769 0 0.007969 0.000827432 0.999915 -0.0102751 uwb: 0.49889851 1226.62 815.172 -imu_odom_: 1691062857.16743738 -0.0143652 -0.0502782 10.0389 -0.0607201 -0.0213053 0.0500674 0.18 -0.02 pose: 0.0 1.92795 -3.89769 0 0.007969 0.000827432 0.999915 -0.0102751 uwb: 0.0 1226.62 815.172 -imu_odom_: 1691062857.32744211 0.622492 -0.299275 9.70131 -0.0532632 -0.04048 0.0308927 0.18 0 pose: 0.0 1.92795 -3.89769 0 0.007969 0.000827432 0.999915 -0.0102751 uwb: 0.0 1226.62 815.172 -imu_odom_: 1691062857.59736370 0.457293 -0.344765 10.0173 -0.0436758 -0.126766 0.0468716 0.18 0 pose: 0.48979904 1.92172 -3.89878 0 0.00924811 -0.00121709 0.999904 -0.0102802 uwb: 0.49855144 1227.01 816.821 -imu_odom_: 1691062857.84927886 2.15718 -0.270545 9.43315 -0.0511327 0.00958738 0.0543285 0.19 0 pose: 0.34973730 1.90948 -3.89882 0 0.0092827 -0.00316064 0.999898 -0.0103729 uwb: 0.0 1227.01 816.821 -imu_odom_: 1691062857.101796891 0.632069 -0.241814 10.3142 -0.0628506 0.00852212 0.0649811 0.19 0 pose: 0.8261555 1.90779 -3.90122 0 0.0100513 -0.00313313 0.99989 -0.0104309 uwb: 0.0 1227.01 816.821 -imu_odom_: 1691062857.117871152 -0.0215478 -0.213084 10.0868 -0.056459 0.0170442 0.0415453 0.19 0 pose: 0.0 1.90779 -3.90122 0 0.0100513 -0.00313313 0.99989 -0.0104309 uwb: 0.0 1227.01 816.821 -imu_odom_: 1691062857.134861484 0.792481 0.0550666 9.82341 -0.0447411 0.00532632 0.0276969 0.19 0 pose: 0.41805619 1.89961 -3.89548 0 0.0102887 -0.00146449 0.999888 -0.0107537 uwb: 0.0 1227.01 816.821 -imu_odom_: 1691062857.150741507 0.0622492 -0.260968 9.93115 -0.0798948 -0.0181095 0.0703074 0.19 0 pose: 0.0 1.89961 -3.89548 0 0.0102887 -0.00146449 0.999888 -0.0107537 uwb: 0.99888196 1226.84 817.616 -imu_odom_: 1691062857.168767486 0.588974 -0.402226 9.83299 -0.0596548 0.0191748 0.0436758 0.18 0 pose: 0.0 1.89961 -3.89548 0 0.0102887 -0.00146449 0.999888 -0.0107537 uwb: 0.0 1226.84 817.616 -imu_odom_: 1691062857.192862691 0.466869 -0.260968 9.2919 -0.0788296 0.0255663 0.072438 0.18 0 pose: 0.32079985 1.89961 -3.89548 0 0.00961584 -9.04782e-050.999896 -0.0107551 uwb: 0.50111505 1226.35 818.661 -imu_odom_: 1691062857.209734613 -0.071826 -0.316035 9.95988 -0.0735032 0.00852212 0.0596548 0.23 0 pose: 0.50979162 1.88568 -3.89794 0 0.00599249 -0.00257835 0.999914 -0.0113426 uwb: 0.0 1226.35 818.661 -imu_odom_: 1691062857.225738003 0.682347 -0.129287 10.4244 -0.0873517 -0.0394148 0.0447411 0.23 0 pose: 0.0 1.88568 -3.89794 0 0.00599249 -0.00257835 0.999914 -0.0113426 uwb: 0.0 1226.35 818.661 -imu_odom_: 1691062857.252737453 0.703895 -0.248997 10.5273 -0.076699 0.0351537 0.056459 0.25 0.02 pose: 0.6883219 1.88568 -3.89794 0 0.00526355 -0.00270657 0.999917 -0.0114134 uwb: 0.49876435 1226.67 820.018 -imu_odom_: 1691062857.277733272 0.409408 -0.11971 10.3573 -0.0383495 0.0500674 0.0383495 0.18 -0.02 pose: 0.0 1.88568 -3.89794 0 0.00526355 -0.00270657 0.999917 -0.0114134 uwb: 0.0 1226.67 820.018 -imu_odom_: 1691062857.303725073 0.761356 0.0047884 9.93354 -0.0511327 -0.0170442 0.0287621 0.21 0.02 pose: 0.77987362 1.87176 -3.90042 0 0.00538185 -0.0003749130.999916 -0.0117429 uwb: 0.50049676 1226.81 821.519 -imu_odom_: 1691062857.319722630 0.493206 -0.179565 10.0389 -0.0575243 -0.0276969 0.0511327 0.21 0.02 pose: 0.0 1.87176 -3.90042 0 0.00538185 -0.0003749130.999916 -0.0117429 uwb: 0.0 1226.81 821.519 -imu_odom_: 1691062857.337870227 0.339977 -0.538695 9.94073 -0.0703074 0.0234358 0.0596548 0.18 0.02 pose: 0.33089091 1.86355 -3.8947 0 0.00683847 0.00153106 0.999908 -0.0116315 uwb: 0.0 1226.81 821.519 -imu_odom_: 1691062857.362855838 0.282516 -0.0646434 9.78271 -0.0479369 0.015979 0.0500674 0.18 0.02 pose: 0.0 1.86355 -3.8947 0 0.00683847 0.00153106 0.999908 -0.0116315 uwb: 0.49943223 1226.12 822.059 -imu_odom_: 1691062857.389757586 0.162806 -0.555455 10.0197 -0.0532632 0.0340885 0.0447411 0.18 0.02 pose: 0.34920067 1.85783 -3.9029 0 0.0042701 0.000345751 0.99992 -0.0119102 uwb: 0.50035676 1227.31 824.311 -imu_odom_: 1691062857.405854595 0.490811 0.0287304 10.4483 -0.0330232 -0.0415453 0.0298274 0.18 0.02 pose: 0.0 1.85783 -3.9029 0 0.0042701 0.000345751 0.99992 -0.0119102 uwb: 0.0 1227.31 824.311 -imu_odom_: 1691062857.423695961 0.409408 -0.361524 9.41161 -0.0575243 0.0170442 0.0490022 0.18 0.02 pose: 0.51995560 1.84963 -3.89718 0 0.000881969 0.000137908 0.999927 -0.01203 uwb: 0.0 1227.31 824.311 -imu_odom_: 1691062857.440695042 0.80924 -0.136469 10.0628 -0.0436758 0.00106526 0.0372843 0.18 0.02 pose: 0.0 1.84963 -3.89718 0 0.000881969 0.000137908 0.999927 -0.01203 uwb: 0.49949056 1227.05 824.513 -imu_odom_: 1691062857.454697425 0.392649 -0.112527 9.73961 -0.0394148 -0.00106526 0.0447411 0.18 0.02 pose: 0.0 1.84963 -3.89718 0 0.000881969 0.000137908 0.999927 -0.01203 uwb: 0.0 1227.05 824.513 -imu_odom_: 1691062857.477759899 0.464475 -0.225055 9.98622 -0.0543285 -0.00852212 0.0468716 0.2 0.02 pose: 0.48974947 1.83571 -3.89967 0 0.00219877 0.000302869 0.999925 -0.0120695 uwb: 0.0 1227.05 824.513 -imu_odom_: 1691062857.503988811 0.514753 -0.1652 9.8665 -0.0436758 0.00852212 0.0426106 0.23 -0.02 pose: 0.31046962 1.83571 -3.89967 0 0.00333819 -0.0006853420.99992 -0.0121774 uwb: 0.50126379 1227.15 825.381 -imu_odom_: 1691062857.520709951 0.304064 -0.37589 9.8665 -0.0319579 -0.0149137 0.04048 0.18 -0.02 pose: 0.0 1.83571 -3.89967 0 0.00333819 -0.0006853420.99992 -0.0121774 uwb: 0.0 1227.15 825.381 -imu_odom_: 1691062857.545919840 0.203507 -0.0574608 9.75398 -0.0276969 -0.00426106 0.0319579 0.18 0 pose: 0.42950052 1.82418 -3.89873 0 0.00361627 0.000598397 0.999919 -0.0122214 uwb: 0.49931265 1227.35 826.804 -imu_odom_: 1691062857.559714860 0.0550666 -0.129287 9.87848 -0.0436758 -0.0255663 0.0553937 0.18 0 pose: 0.0 1.82418 -3.89873 0 0.00361627 0.000598397 0.999919 -0.0122214 uwb: 0.0 1227.35 826.804 -imu_odom_: 1691062857.577007633 0.723049 -0.155623 9.77074 -0.0596548 0.00106526 0.0383495 0.17 0.02 pose: 0.0 1.82418 -3.89873 0 0.00361627 0.000598397 0.999919 -0.0122214 uwb: 0.0 1227.35 826.804 -imu_odom_: 1691062857.600909766 0.859518 -0.0646434 9.77313 -0.0585895 -0.00958738 0.04048 0.17 0.02 pose: 0.46173070 1.81358 -3.89646 0 0.000853445 0.00237604 0.999922 -0.0122241 uwb: 0.49933890 1227.69 827.798 -imu_odom_: 1691062857.616843160 0.591368 -0.351948 9.56723 -0.0617853 0.0138484 0.0319579 0.2 0 pose: 0.34026745 1.80953 -3.90228 0 0.0042197 0.00297493 0.999912 -0.0122351 uwb: 0.0 1227.69 827.798 -imu_odom_: 1691062857.633758830 0.268151 -0.0981623 9.85693 -0.0436758 -0.00958738 0.0447411 0.2 0 pose: 0.6974214 1.80787 -3.90467 0 0.00450507 0.00234716 0.999913 -0.0122122 uwb: 0.0 1227.69 827.798 -imu_odom_: 1691062857.659723216 0.696713 -0.328006 10.1442 -0.0553937 0.0149137 0.0426106 0.19 0 pose: 0.25874850 1.80351 -3.90163 0 0.0033276 0.00222219 0.999917 -0.0122217 uwb: 0.50185292 1228.56 829.943 -imu_odom_: 1691062857.684832194 0.481235 -0.141258 10.0796 -0.0532632 0.0500674 0.0479369 0.19 0 pose: 0.0 1.80351 -3.90163 0 0.0033276 0.00222219 0.999917 -0.0122217 uwb: 0.0 1228.56 829.943 -imu_odom_: 1691062857.710696253 0.31364 -0.244209 9.3709 -0.0703074 0.0426106 0.0351537 0.19 0 pose: 0.51073364 1.78958 -3.90076 0 0.00350489 0.00306403 0.999913 -0.0123639 uwb: 0.49932432 1229.47 831.44 -imu_odom_: 1691062857.727964819 0.727837 -0.0023942 9.70609 -0.11931 0.00958738 0.072438 0.19 0 pose: 0.0 1.78958 -3.90076 0 0.00350489 0.00306403 0.999913 -0.0123639 uwb: 0.0 1229.47 831.44 -imu_odom_: 1691062857.744773745 0.572214 -0.361524 10.0269 -0.0873517 0.0671117 0.0681769 0.19 0.02 pose: 0.0 1.78958 -3.90076 0 0.00350489 0.00306403 0.999913 -0.0123639 uwb: 0.50269287 1228.64 831.12 -imu_odom_: 1691062857.769820602 0.248997 -0.275333 9.61511 0.00106526 0.0458064 -0.0255663 0.19 0.02 pose: 0.43132625 1.78574 -3.90145 0 0.00202064 0.00192185 0.999917 -0.0125907 uwb: 0.0 1228.64 831.12 -imu_odom_: 1691062857.795763698 0.0694318 -0.517148 9.66779 -0.0937433 0.00106526 0.0894822 0.19 -0.02 pose: 0.41855783 1.77606 -3.9032 0 -0.0006054130.000166962 0.999928 -0.0120237 uwb: 0.49573412 1229.65 833.453 -imu_odom_: 1691062857.820698853 0.136469 -0.462081 10.1466 -0.0287621 0.015979 0.02024 0.19 -0.02 pose: 0.0 1.77606 -3.9032 0 -0.0006054130.000166962 0.999928 -0.0120237 uwb: 0.0 1229.65 833.453 -imu_odom_: 1691062857.845758251 0.292093 -0.184354 9.91439 -0.0830906 0.00426106 0.0436758 0.19 0 pose: 0.50878251 1.76595 -3.89987 0 -0.00457106 -0.00355792 0.999906 -0.0124265 uwb: 0.49913183 1229.37 834.269 -imu_odom_: 1691062857.861740934 0.6608 -0.428562 9.36133 -0.0735032 0.0372843 0.0383495 0.19 0 pose: 0.0 1.76595 -3.89987 0 -0.00457106 -0.00355792 0.999906 -0.0124265 uwb: 0.0 1229.37 834.269 -imu_odom_: 1691062857.878904214 0.186748 -0.445322 10.0149 -0.0735032 -0.0394148 0.0319579 0.19 0 pose: 0.41042081 1.76044 -3.9028 0 -0.00412319 -0.00234046 0.999911 -0.0124768 uwb: 0.0 1229.37 834.269 -imu_odom_: 1691062857.896741788 0.61531 0.047884 10.2065 -0.0372843 -0.015979 0.0383495 0.19 0 pose: 0.0 1.76044 -3.9028 0 -0.00412319 -0.00234046 0.999911 -0.0124768 uwb: 0.50105672 1229.31 835.525 -imu_odom_: 1691062857.920731416 0.596156 -0.11971 9.97185 -0.0639159 -0.00106526 0.0415453 0.18 0.02 pose: 0.35000854 1.74969 -3.90075 0 -0.0035191 -0.00239997 0.999914 -0.0123997 uwb: 0.0 1229.31 835.525 -imu_odom_: 1691062857.938662317 0.454898 -0.0023942 10.0197 -0.04048 -0.052198 0.0308927 0.18 0.02 pose: 0.0 1.74969 -3.90075 0 -0.0035191 -0.00239997 0.999914 -0.0123997 uwb: 0.0 1229.31 835.525 -imu_odom_: 1691062857.954665124 0.723049 -0.172383 9.663 -0.0553937 0.0106526 0.0372843 0.18 0.02 pose: 0.0 1.74969 -3.90075 0 -0.0035191 -0.00239997 0.999914 -0.0123997 uwb: 0.49995137 1229.99 837.16 -imu_odom_: 1691062857.977721473 0.397437 0.023942 10.5512 -0.0490022 -0.0447411 0.0383495 0.19 0 pose: 0.48955698 1.74148 -3.89504 0 0.000174755 0.000580232 0.999924 -0.0123393 uwb: 0.0 1229.99 837.16 -imu_odom_: 1691062857.994721430 0.471658 -0.433351 9.2919 -0.0447411 -0.00319579 0.0553937 0.19 0 pose: 0.0 1.74148 -3.89504 0 0.000174755 0.000580232 0.999924 -0.0123393 uwb: 0.50061341 1230.05 838.317 -imu_odom_: 1691062858.11658682 0.593762 -0.311246 10.3406 -0.0553937 -0.0447411 0.0479369 0.25 0 pose: 0.49023944 1.73577 -3.90325 0 0.00146026 0.00146393 0.99992 -0.01245 uwb: 0.0 1230.05 838.317 -imu_odom_: 1691062858.27822188 0.538695 -0.244209 10.0868 -0.0639159 -0.00426106 0.0394148 0.25 0 pose: 0.6946799 1.73577 -3.90325 0 0.00215227 0.00104288 0.999919 -0.0124802 uwb: 0.0 1230.05 838.317 -imu_odom_: 1691062858.53690622 0.373495 -0.174777 10.4244 -0.0692422 -0.015979 0.0490022 0.23 0.02 pose: 0.0 1.73577 -3.90325 0 0.00215227 0.00104288 0.999919 -0.0124802 uwb: 0.49994845 1229.58 838.951 -imu_odom_: 1691062858.79832915 0.572214 0 10.0173 -0.0585895 -0.0170442 0.036219 0.19 0 pose: 0.34094116 1.72756 -3.89754 0 0.00389949 -0.0001319870.999913 -0.0125612 uwb: 0.0 1229.58 838.951 -imu_odom_: 1691062858.105094426 0.984017 -0.342371 10.2328 -0.0458064 -0.00213053 0.0223706 0.22 0 pose: 0.44070570 1.71594 -3.90164 0 0.00379771 0.00260115 0.99991 -0.0125939 uwb: 0.49945558 1229.33 839.423 -imu_odom_: 1691062858.121722530 0.251391 0.00718261 9.93594 -0.0468716 0.0245011 0.0415453 0.22 0 pose: 0.0 1.71594 -3.90164 0 0.00379771 0.00260115 0.99991 -0.0125939 uwb: 0.0 1229.33 839.423 -imu_odom_: 1691062858.147812909 0.35913 -0.418985 9.51456 -0.0681769 0.0287621 0.0458064 0.23 0 pose: 0.41889615 1.71069 -3.9043 0 0.00453118 0.002892 0.999909 -0.0123952 uwb: 0.50058717 1229.58 840.734 -imu_odom_: 1691062858.161803043 0.500388 -0.198719 10.0628 -0.04048 -0.00852212 0.0308927 0.23 0 pose: 0.8133521 1.70794 -3.90826 0 0.00404073 0.00210739 0.999912 -0.012423 uwb: 0.0 1229.58 840.734 -imu_odom_: 1691062858.186667037 0.407014 -0.411803 10.0126 -0.0607201 -0.00106526 0.0490022 0.18 0 pose: 0.31946992 1.69973 -3.90255 0 0.00434351 0.000822051 0.999913 -0.0124233 uwb: 0.0 1229.58 840.734 -imu_odom_: 1691062858.210709745 0.486023 0.0790087 10.3262 -0.0479369 -0.0223706 0.0468716 0.18 0 pose: 0.0 1.69973 -3.90255 0 0.00434351 0.000822051 0.999913 -0.0124233 uwb: 0.0 1229.58 840.734 -imu_odom_: 1691062858.235678441 0.562637 -0.308852 10.3621 -0.0713727 0.00213053 0.0468716 0.18 0 pose: 0.7877744 1.69973 -3.90255 0 0.00405564 6.19567e-05 0.999914 -0.0124633 uwb: 0.0 1229.58 840.734 -imu_odom_: 1691062858.252673731 0.371101 -0.0263362 9.36372 -0.0660464 0.0191748 0.036219 0.18 0 pose: 0.0 1.69973 -3.90255 0 0.00405564 6.19567e-05 0.999914 -0.0124633 uwb: 0.100069604 1229.57 841.336 -imu_odom_: 1691062858.276670650 0.201113 -0.416591 9.4978 -0.0756338 -0.00213053 0.0543285 0.19 0 pose: 0.48183703 1.68581 -3.90506 0 0.00412982 0.000292556 0.999911 -0.0126579 uwb: 0.0 1229.57 841.336 -imu_odom_: 1691062858.302713782 0.225055 -0.31364 9.52892 -0.072438 0.00426106 0.0372843 0.18 0 pose: 0.41881157 1.68581 -3.90506 0 0.00349332 -0.0004093550.999913 -0.0127466 uwb: 0.49856312 1229.48 842.579 -imu_odom_: 1691062858.316826409 0.608127 -0.0790087 10.1442 -0.0617853 -0.0298274 0.0458064 0.2 -0.02 pose: 0.42968135 1.67334 -3.90548 0 -0.000461447-0.0026331 0.999914 -0.0128498 uwb: 0.0 1229.48 842.579 -imu_odom_: 1691062858.340736125 0.586579 -0.19393 10.0293 -0.0500674 -0.0298274 0.0340885 0.2 -0.02 pose: 0.0 1.67334 -3.90548 0 -0.000461447-0.0026331 0.999914 -0.0128498 uwb: 0.49942641 1229.44 844.073 -imu_odom_: 1691062858.358668194 0.373495 -0.186748 9.75398 -0.0681769 -0.0117179 0.0415453 0.23 0.02 pose: 0.38022343 1.66631 -3.90369 0 0.00334141 -0.0008894780.999912 -0.0128223 uwb: 0.0 1229.44 844.073 -imu_odom_: 1691062858.375724147 0.356736 -0.213084 10.1131 -0.0585895 -0.0234358 0.0287621 0.23 0.02 pose: 0.0 1.66631 -3.90369 0 0.00334141 -0.0008894780.999912 -0.0128223 uwb: 0.0 1229.44 844.073 -imu_odom_: 1691062858.400645304 0.742203 -0.514753 10.3645 -0.0713727 0.00319579 0.056459 0.2 0 pose: 0.34988022 1.66368 -3.90187 0 0.000247095 -0.0001442050.999919 -0.0127465 uwb: 0.49933016 1229.77 845.313 -imu_odom_: 1691062858.425693620 0.873884 -0.277727 10.4603 -0.0372843 -0.0117179 0.036219 0.2 0 pose: 0.0 1.66368 -3.90187 0 0.000247095 -0.0001442050.999919 -0.0127465 uwb: 0.0 1229.77 845.313 -imu_odom_: 1691062858.447865105 0.464475 -0.268151 10.422 -0.056459 -0.0447411 0.0500674 0.18 0 pose: 0.49969473 1.64976 -3.90438 0 0.00463635 -0.00184465 0.999904 -0.0129105 uwb: 0.50135129 1229.12 845.748 -imu_odom_: 1691062858.464660324 0.627281 -0.289698 9.48343 -0.0436758 0.0447411 0.0276969 0.18 0 pose: 0.0 1.64976 -3.90438 0 0.00463635 -0.00184465 0.999904 -0.0129105 uwb: 0.0 1229.12 845.748 -imu_odom_: 1691062858.480769291 0.574608 -0.198719 10.0317 -0.052198 -0.00426106 0.0500674 0.24 0 pose: 0.0 1.64976 -3.90438 0 0.00463635 -0.00184465 0.999904 -0.0129105 uwb: 0.0 1229.12 845.748 -imu_odom_: 1691062858.505798650 0.620098 -0.201113 10.0173 -0.0436758 -0.00852212 0.0319579 0.24 0 pose: 0.38966704 1.64503 -3.9011 0 0.00430896 -0.00285813 0.999903 -0.0129308 uwb: 0.49979389 1229.13 847.194 -imu_odom_: 1691062858.530841424 0.509965 -0.335188 9.97903 -0.052198 0.0181095 0.0713727 0.21 0.02 pose: 0.41138326 1.63584 -3.9069 0 0.00783379 -0.0005444560.999886 -0.0129027 uwb: 0.0 1229.13 847.194 -imu_odom_: 1691062858.554704477 0.246603 -0.28491 9.95748 -0.0351537 0.00532632 0.0255663 0.21 0.02 pose: 0.0 1.63584 -3.9069 0 0.00783379 -0.0005444560.999886 -0.0129027 uwb: 0.50053176 1228.8 848.277 -imu_odom_: 1691062858.572921195 0.213084 -0.150835 9.64624 -0.0479369 0.015979 0.0447411 0.19 0.02 pose: 0.48905827 1.62763 -3.9012 0 0.00406969 -0.00271757 0.999901 -0.0131614 uwb: 0.0 1228.8 848.277 -imu_odom_: 1691062858.596794747 0.0814029 -0.430956 9.05727 -0.0383495 0.00958738 0.0276969 0.19 0.02 pose: 0.0 1.62763 -3.9012 0 0.00406969 -0.00271757 0.999901 -0.0131614 uwb: 0.50056967 1229.04 848.981 -imu_odom_: 1691062858.622673680 0.153229 -0.349553 9.52892 -0.052198 0.00106526 0.0660464 0.23 0 pose: 0.42090270 1.61646 -3.90562 0 -8.37941e-05-0.0028442 0.99991 -0.0130748 uwb: 0.0 1229.04 848.981 -imu_odom_: 1691062858.646660100 0.150835 -0.227449 10.1227 -0.0447411 -0.0149137 0.036219 0.23 0 pose: 0.0 1.61646 -3.90562 0 -8.37941e-05-0.0028442 0.99991 -0.0130748 uwb: 0.50001554 1229.11 850.647 -imu_odom_: 1691062858.670637479 0.174777 -0.52433 9.71806 -0.0777643 0.0223706 0.0500674 0.18 0 pose: 0.49865353 1.61371 -3.90372 0 -0.00478631 -0.00286139 0.999895 -0.0133937 uwb: 0.0 1229.11 850.647 -imu_odom_: 1691062858.687791427 0.179565 -0.454898 9.80904 -0.0458064 0.0127832 0.0330232 0.18 0 pose: 0.0 1.61371 -3.90372 0 -0.00478631 -0.00286139 0.999895 -0.0133937 uwb: 0.0 1229.11 850.647 -imu_odom_: 1691062858.712663295 0.442927 -0.0191536 10.3382 -0.0436758 -0.0213053 0.0660464 0.23 0 pose: 0.30989799 1.5998 -3.90625 0 -0.0066632 -0.0058075 0.99987 -0.0134874 uwb: 0.49870020 1228.91 851.065 -imu_odom_: 1691062858.736787957 0.215478 -0.158017 10.1083 -0.015979 0 0.0340885 0.23 0 pose: 0.0 1.5998 -3.90625 0 -0.0066632 -0.0058075 0.99987 -0.0134874 uwb: 0.0 1228.91 851.065 -imu_odom_: 1691062858.753722000 0.632069 -0.361524 9.2488 -0.0639159 0.0245011 0.0543285 0.21 0 pose: 0.43160624 1.5998 -3.90625 0 -0.00629063 -0.00338446 0.99988 -0.0137713 uwb: 0.49994846 1228.5 852.467 -imu_odom_: 1691062858.778876185 0.208296 -0.196325 9.61272 -0.0436758 0.00958738 0.04048 0.21 0 pose: 0.0 1.5998 -3.90625 0 -0.00629063 -0.00338446 0.99988 -0.0137713 uwb: 0.0 1228.5 852.467 -imu_odom_: 1691062858.802740987 0.308852 -0.0047884 9.79468 -0.0458064 0.00319579 0.0639159 0.18 0 pose: 0.40846093 1.58588 -3.90879 0 -0.00639448 -0.00174454 0.999882 -0.0138628 uwb: 0.49987846 1229.35 854.729 -imu_odom_: 1691062858.825627597 0.351948 -0.0143652 9.79228 -0.0607201 -0.0372843 0.0426106 0.18 0 pose: 0.0 1.58588 -3.90879 0 -0.00639448 -0.00174454 0.999882 -0.0138628 uwb: 0.0 1229.35 854.729 -imu_odom_: 1691062858.840685168 0.258574 -0.229843 9.54089 -0.0735032 -0.0117179 0.0447411 0.18 -0.02 pose: 0.47988589 1.57766 -3.9031 0 -0.00700616 0.00232702 0.999872 -0.0142011 uwb: 0.50013803 1229.19 855.394 -imu_odom_: 1691062858.866636139 0.225055 -0.351948 9.76834 -0.0543285 -0.00532632 0.0308927 0.18 -0.02 pose: 0.0 1.57766 -3.9031 0 -0.00700616 0.00232702 0.999872 -0.0142011 uwb: 0.0 1229.19 855.394 -imu_odom_: 1691062858.890776842 0.136469 -0.0885855 10.3046 -0.0511327 -0.0266316 0.0511327 0.23 -0.02 pose: 0.39027659 1.57198 -3.91134 0 -0.00665041 0.00137823 0.999876 -0.0142259 uwb: 0.50005637 1229.56 856.833 -imu_odom_: 1691062858.908781531 0.775721 -0.304064 9.67976 -0.0628506 0.0436758 0.0415453 0.23 -0.02 pose: 0.0 1.57198 -3.91134 0 -0.00665041 0.00137823 0.999876 -0.0142259 uwb: 0.0 1229.56 856.833 -imu_odom_: 1691062858.932835322 0.581791 -0.335188 9.48343 -0.0681769 0.0340885 0.04048 0.19 -0.02 pose: 0.50007387 1.56375 -3.90566 0 -0.00794752 0.00127287 0.999865 -0.0142958 uwb: 0.0 1229.56 856.833 -imu_odom_: 1691062858.958791543 0.371101 -0.497994 9.60075 -0.0511327 -0.00426106 0.0330232 0.23 -0.02 pose: 0.34155071 1.55443 -3.90737 0 -0.0054501 -9.63015e-050.999883 -0.0143141 uwb: 0.49982597 1229.83 858.334 -imu_odom_: 1691062858.971831774 -0.0383072 -0.301669 9.9503 -0.0468716 -0.0245011 0.0266316 0.23 -0.02 pose: 0.0 1.55443 -3.90737 0 -0.0054501 -9.63015e-050.999883 -0.0143141 uwb: 0.0 1229.83 858.334 -imu_odom_: 1691062858.987825832 0.603339 -0.296881 10.2783 -0.0607201 -0.0372843 0.0468716 0.23 -0.02 pose: 0.0 1.55443 -3.90737 0 -0.0054501 -9.63015e-050.999883 -0.0143141 uwb: 0.0 1229.83 858.334 -imu_odom_: 1691062859.4666256 0.577003 -0.258574 9.60075 -0.0372843 0.0468716 0.0234358 0.25 0 pose: 0.7962906 1.54984 -3.90821 0 -0.00524454 -0.0008487540.999884 -0.0142837 uwb: 0.50021678 1230 859.883 -imu_odom_: 1691062859.29618620 0.205901 -0.371101 9.32781 -0.0543285 0.0170442 0.0394148 0.25 0 pose: 0.0 1.54984 -3.90821 0 -0.00524454 -0.0008487540.999884 -0.0142837 uwb: 0.0 1230 859.883 -imu_odom_: 1691062859.54755306 0.411803 -0.1652 9.58399 -0.0479369 -0.00958738 0.0394148 0.24 0 pose: 0.55217996 1.54161 -3.90253 0 -0.00347645 -0.00270894 0.999891 -0.0141183 uwb: 0.50000096 1230.04 860.681 -imu_odom_: 1691062859.79896658 -0.102951 -0.380678 10.2328 -0.0681769 0.00319579 0.0490022 0.19 0 pose: 0.0 1.54161 -3.90253 0 -0.00347645 -0.00270894 0.999891 -0.0141183 uwb: 0.0 1230.04 860.681 -imu_odom_: 1691062859.104645742 -0.143652 -0.181959 10.0054 -0.0553937 0.00745685 0.0330232 0.21 -0.02 pose: 0.65768710 1.5277 -3.90508 0 -0.00410998 -0.00232171 0.99989 -0.0140782 uwb: 0.50023720 1230.51 862.045 -imu_odom_: 1691062859.121765276 0.6608 -0.146046 10.2376 -0.0511327 -0.0181095 0.0490022 0.21 -0.02 pose: 0.0 1.5277 -3.90508 0 -0.00410998 -0.00232171 0.99989 -0.0140782 uwb: 0.0 1230.51 862.045 -imu_odom_: 1691062859.145764529 0.47884 -0.0814029 9.80426 -0.0479369 0.0340885 0.0234358 0.18 0 pose: 0.59980342 1.51719 -3.90998 0 -0.00672355 -0.0019825 0.999875 -0.0141744 uwb: 0.49991056 1230.88 863.459 -imu_odom_: 1691062859.170759181 0.143652 -0.42138 9.57202 -0.0458064 -0.0255663 0.0394148 0.18 0 pose: 0.7035460 1.51379 -3.90763 0 -0.00632101 -0.0015037 0.999879 -0.0141192 uwb: 0.0 1230.88 863.459 -imu_odom_: 1691062859.194760184 0.208296 -0.122104 9.53371 -0.0511327 0.00213053 0.0447411 0.18 -0.02 pose: 0.41958445 1.51379 -3.90763 0 -0.00660203 -0.00221483 0.999878 -0.0139732 uwb: 0.49944683 1231.19 864.908 -imu_odom_: 1691062859.220740029 0.438139 -0.373495 9.32302 -0.0649811 0.0415453 0.0458064 0.24 0 pose: 0.0 1.51379 -3.90763 0 -0.00660203 -0.00221483 0.999878 -0.0139732 uwb: 0.0 1231.19 864.908 -imu_odom_: 1691062859.236670799 0.325611 -0.0646434 10.2017 -0.0372843 0.00639159 0.0319579 0.24 0 pose: 0.32155231 1.49988 -3.91018 0 -0.00739947 -0.0006324360.999873 -0.0140726 uwb: 0.0 1231.19 864.908 -imu_odom_: 1691062859.253643633 0.454898 -0.160412 9.90721 -0.0617853 0.0223706 0.0585895 0.24 0 pose: 0.0 1.49988 -3.91018 0 -0.00739947 -0.0006324360.999873 -0.0140726 uwb: 0.49935933 1231.58 866.569 -imu_odom_: 1691062859.278657243 0.916979 -0.122104 10.0461 -0.0426106 0.0234358 0.0372843 0.18 0 pose: 0.50729221 1.49554 -3.90718 0 -0.00474915 0.000287229 0.999887 -0.0142317 uwb: 0.0 1231.58 866.569 -imu_odom_: 1691062859.303664145 0.117316 -0.203507 9.663 -0.0692422 0.0276969 0.0596548 0.18 0 pose: 0.8037568 1.49164 -3.90449 0 -0.00406688 0.000460111 0.99989 -0.0142232 uwb: 0.50123173 1231.98 867.947 -imu_odom_: 1691062859.328710420 0.299275 -0.265756 9.65582 -0.0628506 0.00852212 0.0479369 0.19 0 pose: 0.41982944 1.48226 -3.90622 0 -0.00552145 0.000554545 0.99988 -0.0144543 uwb: 0.0 1231.98 867.947 -imu_odom_: 1691062859.352684591 0.457293 -0.418985 9.85932 -0.0639159 -0.00426106 0.0543285 0.19 0 pose: 0.0 1.48226 -3.90622 0 -0.00552145 0.000554545 0.99988 -0.0144543 uwb: 0.49901811 1232.26 868.862 -imu_odom_: 1691062859.375592783 0.213084 -0.136469 9.56723 -0.0745685 0.0245011 0.036219 0.21 0 pose: 0.32118191 1.47774 -3.90705 0 -0.00508675 -0.00257106 0.999877 -0.0145943 uwb: 0.0 1232.26 868.862 -imu_odom_: 1691062859.401608501 0.167594 -0.691924 9.55287 -0.0681769 0.00319579 0.0372843 0.25 0 pose: 0.0 1.47774 -3.90705 0 -0.00508675 -0.00257106 0.999877 -0.0145943 uwb: 0.49991930 1232.11 869.747 -imu_odom_: 1691062859.414595361 0.328006 -0.124498 9.99579 -0.0490022 -0.0436758 0.0255663 0.25 0 pose: 0.47892054 1.46383 -3.90961 0 -0.00588235 -0.00309377 0.99987 -0.0146707 uwb: 0.0 1232.11 869.747 -imu_odom_: 1691062859.438577406 0.344765 -0.562637 9.78031 -0.0553937 -0.00106526 0.0383495 0.25 0 pose: 0.0 1.46383 -3.90961 0 -0.00588235 -0.00309377 0.99987 -0.0146707 uwb: 0.0 1232.11 869.747 -imu_odom_: 1691062859.464747115 0.507571 -0.160412 10.3094 -0.0447411 -0.0223706 0.0532632 0.17 -0.02 pose: 0.38991204 1.46383 -3.90961 0 -0.00567729 -0.00442993 0.999868 -0.0145481 uwb: 0.50092550 1232.54 871.102 -imu_odom_: 1691062859.480606723 0.107739 -0.237026 9.663 -0.0585895 -0.00745685 0.0607201 0.17 -0.02 pose: 0.0 1.46383 -3.90961 0 -0.00567729 -0.00442993 0.999868 -0.0145481 uwb: 0.0 1232.54 871.102 -imu_odom_: 1691062859.497645469 0.919373 -0.402226 10.094 -0.0426106 -0.0447411 0.0383495 0.18 0.02 pose: 0.48980198 1.44992 -3.91217 0 -0.00378694 -0.00402715 0.999875 -0.0147809 uwb: 0.50078550 1232.84 871.994 -imu_odom_: 1691062859.513702523 0.739808 -0.275333 9.31105 -0.0596548 0.00213053 0.0607201 0.18 0.02 pose: 0.0 1.44992 -3.91217 0 -0.00378694 -0.00402715 0.999875 -0.0147809 uwb: 0.0 1232.84 871.994 -imu_odom_: 1691062859.538643221 0.97444 -0.246603 9.44991 -0.0426106 0.0170442 0.0298274 0.25 0 pose: 0.17039330 1.44992 -3.91217 0 -0.00368765 -0.00392522 0.999875 -0.0148717 uwb: 0.0 1232.84 871.994 -imu_odom_: 1691062859.552750598 0.411803 -0.117316 9.92636 -0.0458064 0.0319579 0.0458064 0.25 0 pose: 0.0 1.44992 -3.91217 0 -0.00368765 -0.00392522 0.999875 -0.0148717 uwb: 0.50045010 1233.25 873.09 -imu_odom_: 1691062859.577860452 0.505177 -0.335188 10.0509 -0.0500674 0.0117179 0.04048 0.19 -0.02 pose: 0.32990515 1.44168 -3.90651 0 -0.000361056-0.00385589 0.99988 -0.0149836 uwb: 0.0 1233.25 873.09 -imu_odom_: 1691062859.594595300 0.320823 -0.0047884 9.76355 -0.0415453 0.00426106 0.0458064 0.22 0 pose: 0.0 1.44168 -3.90651 0 -0.000361056-0.00385589 0.99988 -0.0149836 uwb: 0.49813733 1233.14 874.467 -imu_odom_: 1691062859.611770538 0.344765 -0.258574 10.0102 -0.0617853 -0.00639159 0.0681769 0.18 0 pose: 0.0 1.44168 -3.90651 0 -0.000361056-0.00385589 0.99988 -0.0149836 uwb: 0.0 1233.14 874.467 -imu_odom_: 1691062859.628719457 0.538695 -0.368707 9.84735 -0.0447411 -0.0213053 0.0340885 0.18 0 pose: 0.72919663 1.42778 -3.90908 0 0.00167186 -0.00208569 0.999884 -0.0149946 uwb: 0.0 1233.14 874.467 -imu_odom_: 1691062859.653765440 0.761356 -0.282516 9.53132 -0.0426106 -0.0149137 0.0458064 0.18 0.02 pose: 0.0 1.42778 -3.90908 0 0.00167186 -0.00208569 0.999884 -0.0149946 uwb: 0.50003013 1233.44 875.619 -imu_odom_: 1691062859.678586853 0.653617 -0.181959 10.161 -0.0213053 -0.0255663 0.0266316 0.18 0.02 pose: 0.42060814 1.42778 -3.90908 0 0.00228532 -0.00312149 0.999877 -0.0152169 uwb: 0.0 1233.44 875.619 -imu_odom_: 1691062859.703693791 0.466869 -0.138864 10.3573 -0.0607201 -0.015979 0.0575243 0.21 -0.02 pose: 0.41930739 1.41387 -3.91166 0 0.00649495 -0.00135335 0.999864 -0.0150953 uwb: 0.50312745 1233.58 876.589 -imu_odom_: 1691062859.720674207 0.646434 -0.260968 9.50977 -0.0628506 0.0319579 0.04048 0.21 -0.02 pose: 0.0 1.41387 -3.91166 0 0.00649495 -0.00135335 0.999864 -0.0150953 uwb: 0.0 1233.58 876.589 -imu_odom_: 1691062859.745706483 0.325611 -0.184354 9.9527 -0.0660464 0.0330232 0.0490022 0.18 0 pose: 0.7022628 1.41387 -3.91166 0 0.00614369 -0.0007896340.999866 -0.015155 uwb: 0.49732654 1233.9 877.718 -imu_odom_: 1691062859.761645419 0.440533 -0.296881 9.69891 -0.0628506 -0.00639159 0.0298274 0.18 0 pose: 0.0 1.41387 -3.91166 0 0.00614369 -0.0007896340.999866 -0.015155 uwb: 0.0 1233.9 877.718 -imu_odom_: 1691062859.786577367 0.567426 -0.52433 9.55047 -0.0458064 0.00106526 0.0575243 0.23 -0.02 pose: 0.42974260 1.40563 -3.90599 0 0.00559292 5.83831e-05 0.999866 -0.0153567 uwb: 0.0 1233.9 877.718 -imu_odom_: 1691062859.810770567 0.323217 -0.308852 9.53371 -0.0223706 0.0170442 0.0266316 0.23 -0.02 pose: 0.0 1.40563 -3.90599 0 0.00559292 5.83831e-05 0.999866 -0.0153567 uwb: 0.49850189 1234.06 878.935 -imu_odom_: 1691062859.835599854 0.4956 -0.131681 10.173 -0.0575243 -0.00745685 0.052198 0.18 -0.02 pose: 0.41061915 1.39172 -3.90858 0 0.00334263 -0.00206925 0.999873 -0.0154364 uwb: 0.0 1234.06 878.935 -imu_odom_: 1691062859.852640642 0.181959 -0.234632 9.73482 -0.04048 0.0351537 0.0372843 0.18 -0.02 pose: 0.0 1.39172 -3.90858 0 0.00334263 -0.00206925 0.999873 -0.0154364 uwb: 0.50064551 1233.79 880.109 -imu_odom_: 1691062859.876568150 0.3304 0.0167594 9.78271 -0.0394148 0.0191748 0.0617853 0.18 0 pose: 0.49021612 1.39172 -3.90858 0 0.00159081 -0.0028911 0.999875 -0.0154945 uwb: 0.0 1233.79 880.109 -imu_odom_: 1691062859.901601592 0.263362 -0.114922 9.56484 -0.0511327 -0.00639159 0.0426106 0.18 0 pose: 0.0 1.39172 -3.90858 0 0.00159081 -0.0028911 0.999875 -0.0154945 uwb: 0.50032469 1234.19 881.955 -imu_odom_: 1691062859.924714522 0.557849 -0.129287 9.88805 -0.076699 0.0287621 0.0458064 0.19 0 pose: 0.82934324 1.37201 -3.90718 0 -0.00291989 0.00257437 0.999866 -0.0158813 uwb: 0.0 1234.19 881.955 -imu_odom_: 1691062859.940721121 0.131681 -0.56982 9.72285 -0.0639159 0.015979 0.0340885 0.19 0 pose: 0.0 1.37201 -3.90718 0 -0.00291989 0.00257437 0.999866 -0.0158813 uwb: 0.49986389 1233.85 882.896 -imu_odom_: 1691062859.965750772 0.225055 -0.126893 10.1418 -0.0511327 -0.0351537 0.0500674 0.25 -0.02 pose: 0.39119529 1.36392 -3.91376 0 -0.00200107 0.00128294 0.999871 -0.015915 uwb: 0.0 1233.85 882.896 -imu_odom_: 1691062859.988578469 0.0837971 -0.138864 9.8258 -0.0532632 -0.0127832 0.036219 0.25 -0.02 pose: 0.0 1.36392 -3.91376 0 -0.00200107 0.00128294 0.999871 -0.015915 uwb: 0.0 1233.85 882.896 -imu_odom_: 1691062860.13578955 0.509965 -0.464475 9.97185 -0.076699 -0.00852212 0.0479369 0.18 0.02 pose: 0.31927744 1.35567 -3.90811 0 -0.00457653 0.00240037 0.999858 -0.0160314 uwb: 0.50057552 1233.45 882.84 -imu_odom_: 1691062860.29567180 0.610521 -0.25618 9.72046 -0.0628506 0.036219 0.0351537 0.18 0.02 pose: 0.0 1.35567 -3.90811 0 -0.00457653 0.00240037 0.999858 -0.0160314 uwb: 0.0 1233.45 882.84 -imu_odom_: 1691062860.53830085 0.493206 -0.287304 9.30866 -0.0447411 0.00852212 0.0426106 0.23 0 pose: 0.47946302 1.35567 -3.90811 0 -0.00395457 0.000205491 0.999863 -0.0160837 uwb: 0.50072426 1233.27 883.95 -imu_odom_: 1691062860.79706394 0.603339 -0.265756 9.44513 -0.0255663 0.0127832 0.0234358 0.18 0 pose: 0.0 1.35567 -3.90811 0 -0.00395457 0.000205491 0.999863 -0.0160837 uwb: 0.0 1233.27 883.95 -imu_odom_: 1691062860.103654609 0.435745 -0.253785 9.46428 -0.0639159 0.0287621 0.0394148 0.18 0 pose: 0.41051416 1.34742 -3.90247 0 -0.000506649-0.0008765980.999871 -0.0160328 uwb: 0.49945268 1233.23 884.985 -imu_odom_: 1691062860.129589832 0.639252 -0.191536 9.50498 -0.04048 -0.00852212 0.0298274 0.19 -0.02 pose: 0.42008026 1.33815 -3.9042 0 0.00187273 -0.00307814 0.999867 -0.0158835 uwb: 0.0 1233.23 884.985 -imu_odom_: 1691062860.142586900 0.301669 -0.220267 9.39964 -0.0511327 0.0372843 0.04048 0.19 -0.02 pose: 0.7952407 1.33352 -3.90507 0 0.00262219 -0.00270915 0.999867 -0.015842 uwb: 0.50028679 1233.29 885.71 -imu_odom_: 1691062860.167587094 0.0407014 -0.380678 9.90481 -0.0436758 -0.036219 0.0319579 0.18 -0.02 pose: 0.0 1.33352 -3.90507 0 0.00262219 -0.00270915 0.999867 -0.015842 uwb: 0.0 1233.29 885.71 -imu_odom_: 1691062860.193582105 0.634463 -0.306458 10.4315 -0.0532632 -0.00958738 0.0372843 0.18 -0.02 pose: 0.39067616 1.33352 -3.90507 0 0.00212258 -0.00186535 0.999872 -0.0157269 uwb: 0.49941476 1233.15 886.539 -imu_odom_: 1691062860.206624379 0.481235 -0.440533 9.63666 -0.0671117 0.00319579 0.036219 0.18 -0.02 pose: 0.0 1.33352 -3.90507 0 0.00212258 -0.00186535 0.999872 -0.0157269 uwb: 0.0 1233.15 886.539 -imu_odom_: 1691062860.222630395 0.624887 -0.059855 9.9503 -0.04048 0.0181095 0.0138484 0.18 0 pose: 0.48923911 1.31961 -3.90766 0 0.00344805 -0.00338963 0.999866 -0.0156236 uwb: 0.0 1233.15 886.539 -imu_odom_: 1691062860.237573640 0.47884 -0.40462 9.52174 -0.0703074 -0.04048 0.04048 0.18 0 pose: 0.0 1.31961 -3.90766 0 0.00344805 -0.00338963 0.999866 -0.0156236 uwb: 0.0 1233.15 886.539 -imu_odom_: 1691062860.263590233 0.454898 -0.35913 9.76116 -0.0500674 -0.0149137 0.0223706 0.18 -0.02 pose: 0.37975097 1.31137 -3.90201 0 0.00443976 -0.00426084 0.999862 -0.0154124 uwb: 0.49927185 1233.12 887.303 -imu_odom_: 1691062860.280701017 0.73502 -0.155623 10.2304 -0.0543285 0 0.0575243 0.18 -0.02 pose: 0.0 1.31137 -3.90201 0 0.00443976 -0.00426084 0.999862 -0.0154124 uwb: 0.0 1233.12 887.303 -imu_odom_: 1691062860.305569386 0.842759 -0.213084 9.94312 -0.0319579 -0.0319579 0.0330232 0.18 -0.05 pose: 0.8017445 1.31137 -3.90201 0 0.00411506 -0.00495264 0.999861 -0.0153484 uwb: 0.50011472 1232.6 887.804 -imu_odom_: 1691062860.328695441 0.409408 -0.107739 10.1562 -0.0500674 -0.0106526 0.0532632 0.23 0 pose: 0.0 1.31137 -3.90201 0 0.00411506 -0.00495264 0.999861 -0.0153484 uwb: 0.0 1232.6 887.804 -imu_odom_: 1691062860.354746449 1.05345 -0.110133 9.78031 -0.0447411 -0.0138484 0.0436758 0.25 0.02 pose: 0.83104356 1.29746 -3.90459 0 0.00611931 -0.00246816 0.99986 -0.015402 uwb: 0.0 1232.6 887.804 -imu_odom_: 1691062860.370669636 0.452504 -0.277727 9.6223 -0.0735032 0.0298274 0.0617853 0.25 0.02 pose: 0.0 1.29746 -3.90459 0 0.00611931 -0.00246816 0.99986 -0.015402 uwb: 0.0 1232.6 887.804 -imu_odom_: 1691062860.396736976 0.208296 -0.366313 10.082 -0.0585895 -0.015979 0.0426106 0.18 0 pose: 0.33999332 1.28356 -3.90717 0 0.00783778 -0.00185511 0.999847 -0.0155359 uwb: 0.100055316 1232.51 888.598 -imu_odom_: 1691062860.421543516 0.442927 -0.241814 10.2304 -0.0798948 -0.00106526 0.0639159 0.18 -0.02 pose: 0.0 1.28356 -3.90717 0 0.00783778 -0.00185511 0.999847 -0.0155359 uwb: 0.0 1232.51 888.598 -imu_odom_: 1691062860.438523641 0.512359 -0.131681 10.1155 -0.0575243 -0.0181095 0.0447411 0.18 -0.02 pose: 0.41909740 1.28356 -3.90717 0 0.00394542 -0.00269147 0.999864 -0.0157729 uwb: 0.0 1232.51 888.598 -imu_odom_: 1691062860.463724490 0.545878 -0.150835 10.1347 -0.0735032 0.0394148 0.0436758 0.18 0.02 pose: 0.0 1.28356 -3.90717 0 0.00394542 -0.00269147 0.999864 -0.0157729 uwb: 0.49988140 1232.21 889.49 -imu_odom_: 1691062860.486689555 0.641646 -0.31364 9.56962 -0.0553937 -0.0181095 0.0319579 0.18 0.02 pose: 0.42068690 1.27531 -3.90152 0 0.00373597 4.80464e-05 0.999865 -0.016031 uwb: 0.0 1232.21 889.49 -imu_odom_: 1691062860.512712856 0.610521 -0.222661 9.84017 -0.0628506 0.00745685 0.0426106 0.25 0.02 pose: 0.40016352 1.26429 -3.90609 0 0.00656297 -0.0002843360.999851 -0.015981 uwb: 0.49811692 1231.78 889.693 -imu_odom_: 1691062860.536658446 0.505177 0.0502782 10.0461 -0.0639159 0.0149137 0.0340885 0.25 0.02 pose: 0.8075482 1.26141 -3.90412 0 0.0073247 -0.0003073360.999845 -0.0159927 uwb: 0.0 1231.78 889.693 -imu_odom_: 1691062860.553596573 0.555455 -0.442927 10.1634 -0.0777643 0.015979 0.056459 0.18 0.02 pose: 0.0 1.26141 -3.90412 0 0.0073247 -0.0003073360.999845 -0.0159927 uwb: 0.50020221 1231.76 890.694 -imu_odom_: 1691062860.578581019 0.849942 -0.337582 10.0844 -0.04048 -0.0500674 0.0351537 0.18 0.02 pose: 0.49809068 1.25576 -3.91237 0 0.0080075 0.000953757 0.999839 -0.016004 uwb: 0.0 1231.76 890.694 -imu_odom_: 1691062860.604590321 0.984017 -0.186748 10.1921 -0.056459 -0.0351537 0.0500674 0.2 0 pose: 0.34006914 1.24751 -3.90672 0 0.0107876 -0.0007709750.999813 -0.0160397 uwb: 0.49979974 1231.26 891.178 -imu_odom_: 1691062860.628654904 0.770933 -0.258574 10.1227 -0.0447411 -0.04048 0.0351537 0.2 0 pose: 0.8018028 1.24751 -3.90672 0 0.0117056 -0.0006584020.999802 -0.0160797 uwb: 0.0 1231.26 891.178 -imu_odom_: 1691062860.645594781 0.241814 -0.438139 9.67497 -0.0660464 0.0170442 0.0511327 0.19 0.02 pose: 0.0 1.24751 -3.90672 0 0.0117056 -0.0006584020.999802 -0.0160797 uwb: 0.50118216 1231.22 891.934 -imu_odom_: 1691062860.670649222 0.294487 -0.435745 9.55765 -0.0458064 -0.0255663 0.0415453 0.19 0.02 pose: 0.49998056 1.23361 -3.90933 0 0.0156776 -0.00136966 0.999745 -0.0161782 uwb: 0.0 1231.22 891.934 -imu_odom_: 1691062860.696521157 0.471658 -0.471658 9.63666 -0.0596548 -0.0117179 0.0479369 0.23 0.02 pose: 0.34052119 1.23361 -3.90933 0 0.0127744 -0.0027661 0.999782 -0.0162839 uwb: 0.49958683 1230.9 892.818 -imu_odom_: 1691062860.719518595 0.172383 -0.201113 9.91918 -0.0490022 0.00532632 0.0394148 0.23 0.02 pose: 0.8078691 1.23361 -3.90933 0 0.0122848 -0.00340282 0.999785 -0.016327 uwb: 0.0 1230.9 892.818 -imu_odom_: 1691062860.745576019 0.272939 -0.23942 10.4579 -0.0340885 0.02024 0.0372843 0.19 0 pose: 0.40790682 1.22161 -3.90917 0 0.00885375 -0.00421683 0.999817 -0.0164255 uwb: 0.50035095 1230.59 893.941 -imu_odom_: 1691062860.769652851 0.61531 -0.198719 10.1658 -0.0532632 -0.0117179 0.0532632 0.25 0.02 pose: 0.0 1.22161 -3.90917 0 0.00885375 -0.00421683 0.999817 -0.0164255 uwb: 0.0 1230.59 893.941 -imu_odom_: 1691062860.786511358 0.311246 -0.433351 9.70609 -0.0532632 -0.0106526 0.0511327 0.25 0.02 pose: 0.33100759 1.21146 -3.9063 0 0.00650459 -0.00295488 0.999839 -0.0164471 uwb: 0.0 1230.59 893.941 -imu_odom_: 1691062860.802570163 0.488417 -0.237026 10.0556 -0.0660464 -0.0575243 0.04048 0.25 0.02 pose: 0.0 1.21146 -3.9063 0 0.00650459 -0.00295488 0.999839 -0.0164471 uwb: 0.49987557 1230.99 895.457 -imu_odom_: 1691062860.827500070 0.411803 -0.198719 10.1442 -0.0575243 -0.0788296 0.0490022 0.19 -0.02 pose: 0.49950809 1.21146 -3.9063 0 0.00568003 -0.00186755 0.999843 -0.0166658 uwb: 0.0 1230.99 895.457 -imu_odom_: 1691062860.851657689 0.296881 -0.0790087 10.0269 -0.0426106 0.02024 0.036219 0.19 -0.02 pose: 0.7028461 1.21146 -3.9063 0 0.00531496 -0.00155294 0.999845 -0.0166988 uwb: 0.50132506 1231.02 896.659 -imu_odom_: 1691062860.876551723 0.766145 -0.160412 9.87848 -0.0511327 0.00426106 0.0468716 0.23 0 pose: 0.42059065 1.19756 -3.90892 0 0.00216437 0.000860665 0.999857 -0.0167377 uwb: 0.0 1231.02 896.659 -imu_odom_: 1691062860.899522621 0.797269 -0.253785 9.73722 -0.0585895 0.0234358 0.052198 0.19 0 pose: 0.0 1.19756 -3.90892 0 0.00216437 0.000860665 0.999857 -0.0167377 uwb: 0.49875855 1231.14 897.572 -imu_odom_: 1691062860.925539214 0.296881 -0.0646434 9.88805 -0.0426106 0.00319579 0.0436758 0.19 0 pose: 0.32029531 1.1893 -3.90328 0 0.00513201 0.00110484 0.999844 -0.0168764 uwb: 0.0 1231.14 897.572 -imu_odom_: 1691062860.949538467 0.189142 0.134075 9.87369 -0.0511327 0.0106526 0.0607201 0.25 0 pose: 0.0 1.1893 -3.90328 0 0.00513201 0.00110484 0.999844 -0.0168764 uwb: 0.49990181 1230.73 897.753 -imu_odom_: 1691062860.965651518 0.88346 -0.392649 10.058 -0.0585895 0.00213053 0.056459 0.25 0 pose: 0.49988723 1.18366 -3.91155 0 0.00346929 0.00282584 0.999844 -0.0171066 uwb: 0.0 1230.73 897.753 -imu_odom_: 1691062860.981699240 0.287304 0.00718261 9.92157 -0.0585895 -0.00106526 0.0543285 0.25 0 pose: 0.0 1.18366 -3.91155 0 0.00346929 0.00282584 0.999844 -0.0171066 uwb: 0.0 1230.73 897.753 -imu_odom_: 1691062860.999662224 0.282516 -0.339977 9.63666 -0.0681769 -0.0170442 0.0500674 0.18 0.02 pose: 0.39985437 1.1754 -3.90591 0 0.00295356 0.0036592 0.999836 -0.0174662 uwb: 0.49787777 1230.82 898.434 -imu_odom_: 1691062861.23479489 0.31364 -0.306458 9.68455 -0.0553937 0.0245011 0.0287621 0.18 0.02 pose: 0.0 1.1754 -3.90591 0 0.00295356 0.0036592 0.999836 -0.0174662 uwb: 0.0 1230.82 898.434 -imu_odom_: 1691062861.49510081 0.593762 -0.457293 10.0628 -0.0607201 -0.0745685 0.0479369 0.18 0.02 pose: 0.33896671 1.16151 -3.90856 0 0.00072592 0.00201076 0.999843 -0.0175711 uwb: 0.49960434 1231.11 899.987 -imu_odom_: 1691062861.72500520 0.323217 -0.229843 10.1418 -0.0468716 -0.0191748 0.0436758 0.18 0.02 pose: 0.0 1.16151 -3.90856 0 0.00072592 0.00201076 0.999843 -0.0175711 uwb: 0.0 1231.11 899.987 -imu_odom_: 1691062861.89500186 0.011971 0.059855 10.0149 -0.0607201 -0.0298274 0.0575243 0.19 0 pose: 0.48961826 1.16151 -3.90856 0 0.00141441 -0.00124044 0.999843 -0.0176082 uwb: 0.50098968 1230.9 900.559 -imu_odom_: 1691062861.112482166 0.701501 -0.150835 10.0293 -0.0394148 -0.0255663 0.0298274 0.19 0 pose: 0.0 1.16151 -3.90856 0 0.00141441 -0.00124044 0.999843 -0.0176082 uwb: 0.0 1230.9 900.559 -imu_odom_: 1691062861.136481420 0.56982 -0.205901 9.99579 -0.0607201 -0.0149137 0.0447411 0.19 0 pose: 0.39997104 1.14761 -3.9112 0 -0.0004555240.000130101 0.999842 -0.0177632 uwb: 0.0 1230.9 900.559 -imu_odom_: 1691062861.152485103 0.42138 -0.100556 10.1466 -0.0436758 -0.0330232 0.0319579 0.19 0 pose: 0.0 1.14761 -3.9112 0 -0.0004555240.000130101 0.999842 -0.0177632 uwb: 0.49992223 1230.68 900.891 -imu_odom_: 1691062861.169533183 0.536301 -0.270545 10.094 -0.0458064 0.00319579 0.0372843 0.25 0 pose: 0.46987942 1.13934 -3.90558 0 0.00355457 0.00118778 0.999836 -0.0177194 uwb: 0.0 1230.68 900.891 -imu_odom_: 1691062861.195554734 0.505177 -0.0383072 9.89045 -0.0468716 -0.0500674 0.0490022 0.25 0 pose: 0.0 1.13934 -3.90558 0 0.00355457 0.00118778 0.999836 -0.0177194 uwb: 0.50128133 1230.68 901.845 -imu_odom_: 1691062861.218532049 1.59693 -0.229843 11.4946 -0.0735032 -0.0841559 0.0607201 0.19 0.02 pose: 0.52049811 1.12769 -3.90975 0 0.00504885 0.00344332 0.999823 -0.0177812 uwb: 0.0 1230.68 901.845 -imu_odom_: 1691062861.242479389 1.72861 -0.174777 8.9208 -0.0617853 0.0639159 0.0458064 0.19 0.02 pose: 0.0 1.12769 -3.90975 0 0.00504885 0.00344332 0.999823 -0.0177812 uwb: 0.49933019 1230.92 903.639 -imu_odom_: 1691062861.268635391 1.4437 -0.277727 9.62948 -0.0660464 -0.00745685 0.0532632 0.26 -0.02 pose: 0.6999880 1.12545 -3.90823 0 0.00602856 0.00333766 0.999817 -0.0178565 uwb: 0.0 1230.92 903.639 -imu_odom_: 1691062861.294505576 0.773327 -0.0454898 9.78271 -0.0596548 0.0106526 0.0298274 0.19 0.02 pose: 0.48116043 1.11984 -3.91651 0 0.0106764 0.00288199 0.999774 -0.0181704 uwb: 0.50100717 1231.15 905.433 -imu_odom_: 1691062861.317561927 0.811634 -0.481235 9.47386 -0.052198 -0.0255663 0.0319579 0.19 0.02 pose: 0.0 1.11984 -3.91651 0 0.0106764 0.00288199 0.999774 -0.0181704 uwb: 0.0 1231.15 905.433 -imu_odom_: 1691062861.334497431 0.54109 -0.201113 10.1323 -0.0255663 -0.0149137 0.0255663 0.19 0.02 pose: 0.25988303 1.11156 -3.91089 0 0.0129996 0.00312409 0.999744 -0.0182543 uwb: 0.0 1231.15 905.433 -imu_odom_: 1691062861.359558872 0.519542 -0.177171 9.94312 -0.0511327 -0.0106526 0.0639159 0.25 0 pose: 0.47901097 1.10328 -3.90528 0 0.0146391 0.00226459 0.999727 -0.0180525 uwb: 0.49864482 1231.05 906.181 -imu_odom_: 1691062861.386551616 0.294487 -0.191536 9.14346 -0.0468716 0.00532632 0.0500674 0.23 0 pose: 0.34998815 1.09767 -3.91355 0 0.0112853 0.00221869 0.999767 -0.0182871 uwb: 0.0 1231.05 906.181 -imu_odom_: 1691062861.402484429 0.533907 -0.411803 10.1897 -0.0575243 -0.0255663 0.056459 0.23 0 pose: 0.0 1.09767 -3.91355 0 0.0112853 0.00221869 0.999767 -0.0182871 uwb: 0.49989891 1230.98 907.147 -imu_odom_: 1691062861.428685053 0.746991 -0.0957681 10.1538 -0.0607201 -0.036219 0.052198 0.23 0.02 pose: 0.7098749 1.09767 -3.91355 0 0.0105414 0.0022048 0.999774 -0.0183238 uwb: 0.0 1230.98 907.147 -imu_odom_: 1691062861.453482260 0.42138 -0.258574 10.2807 -0.0660464 0.0106526 0.0490022 0.23 0.02 pose: 0.0 1.09767 -3.91355 0 0.0105414 0.0022048 0.999774 -0.0183238 uwb: 0.50168088 1231.24 908.681 -imu_odom_: 1691062861.470621043 0.304064 -0.117316 9.18655 -0.0660464 0.0266316 0.0415453 0.21 -0.02 pose: 0.43922998 1.08939 -3.90794 0 0.00919577 0.000999558 0.999784 -0.0186207 uwb: 0.0 1231.24 908.681 -imu_odom_: 1691062861.496642594 0.543484 -0.378284 9.78271 -0.072438 0.00426106 0.0553937 0.21 -0.02 pose: 0.0 1.08939 -3.90794 0 0.00919577 0.000999558 0.999784 -0.0186207 uwb: 0.49814609 1231.18 910.098 -imu_odom_: 1691062861.523466182 0.691924 -0.339977 9.33978 -0.0713727 0 0.0479369 0.23 0 pose: 0.50943584 1.0755 -3.91062 0 0.00762693 0.00107064 0.999793 -0.0188535 uwb: 0.0 1231.18 910.098 -imu_odom_: 1691062861.548485043 0.387861 -0.1652 9.7851 -0.0415453 -0.00213053 0.0340885 0.23 0 pose: 0.0 1.0755 -3.91062 0 0.00762693 0.00107064 0.999793 -0.0188535 uwb: 0.50132216 1231.41 911.865 -imu_odom_: 1691062861.573615897 0.220267 -0.299275 10.2735 -0.0607201 -0.0553937 0.0532632 0.21 0 pose: 0.43147794 1.0755 -3.91062 0 0.00741549 -0.00197999 0.999788 -0.0191155 uwb: 0.0 1231.41 911.865 -imu_odom_: 1691062861.596472468 0.342371 -0.189142 10.2232 -0.0500674 -0.0340885 0.0298274 0.18 0 pose: 0.50870088 1.06162 -3.91331 0 0.00630113 -0.00176571 0.999795 -0.0191753 uwb: 0.50032180 1231.7 913.371 -imu_odom_: 1691062861.612520773 0.529119 -0.172383 9.7444 -0.0585895 -0.00106526 0.0490022 0.18 0 pose: 0.0 1.06162 -3.91331 0 0.00630113 -0.00176571 0.999795 -0.0191753 uwb: 0.0 1231.7 913.371 -imu_odom_: 1691062861.629574394 0.720655 -0.490811 9.87608 -0.0575243 -0.00532632 0.0436758 0.18 0 pose: 0.0 1.06162 -3.91331 0 0.00630113 -0.00176571 0.999795 -0.0191753 uwb: 0.0 1231.7 913.371 -imu_odom_: 1691062861.653459613 0.383072 -0.342371 9.62469 -0.0415453 -0.0138484 0.0479369 0.18 0.02 pose: 0.74032309 1.04773 -3.916 0 0.00542603 -0.00132376 0.999798 -0.019305 uwb: 0.49832983 1231.75 914.27 -imu_odom_: 1691062861.680590891 0.866701 -0.179565 10.173 -0.0394148 -0.00319579 0.0319579 0.18 0.02 pose: 0.7905160 1.04773 -3.916 0 0.00486035 -0.00178217 0.9998 -0.019342 uwb: 0.0 1231.75 914.27 -imu_odom_: 1691062861.705612377 0.694318 -0.177171 9.71088 -0.0543285 -0.00639159 0.0479369 0.2 0 pose: 0.43111337 1.03945 -3.9104 0 0.00632846 -0.00182446 0.999792 -0.0193043 uwb: 0.50143007 1231.53 914.352 -imu_odom_: 1691062861.731636261 0.299275 -0.191536 10.0485 -0.0394148 -0.00426106 0.0447411 0.21 0.02 pose: 0.0 1.03945 -3.9104 0 0.00632846 -0.00182446 0.999792 -0.0193043 uwb: 0.0 1231.53 914.352 -imu_odom_: 1691062861.754547079 0.37589 -0.117316 9.95748 -0.0596548 -0.00319579 0.0692422 0.21 0.02 pose: 0.33043888 1.03385 -3.91869 0 0.00782898 -0.0005933910.999781 -0.0194189 uwb: 0.49947018 1231.56 915.032 -imu_odom_: 1691062861.771607408 0.794875 -0.471658 9.72764 -0.0426106 0.00213053 0.0351537 0.21 0.02 pose: 0.0 1.03385 -3.91869 0 0.00782898 -0.0005933910.999781 -0.0194189 uwb: 0.0 1231.56 915.032 -imu_odom_: 1691062861.788703902 0.426168 -0.160412 9.87848 -0.0383495 0.00106526 0.0426106 0.19 0 pose: 0.48856833 1.02556 -3.9131 0 0.0047139 0.000562162 0.999793 -0.0197838 uwb: 0.0 1231.56 915.032 -imu_odom_: 1691062861.804462308 0.296881 -0.196325 10.3142 -0.036219 -0.056459 0.0479369 0.19 0 pose: 0.0 1.02556 -3.9131 0 0.0047139 0.000562162 0.999793 -0.0197838 uwb: 0.49775237 1231.13 914.961 -imu_odom_: 1691062861.829643617 0.457293 -0.0550666 9.59596 -0.0319579 0.00958738 0.0287621 0.2 0 pose: 0.41970696 1.01168 -3.91581 0 0.00273019 0.00121166 0.999798 -0.0198532 uwb: 0.0 1231.13 914.961 -imu_odom_: 1691062861.855629587 0.433351 -0.225055 9.67497 -0.0575243 -0.0266316 0.0553937 0.2 0 pose: 0.0 1.01168 -3.91581 0 0.00273019 0.00121166 0.999798 -0.0198532 uwb: 0.50000681 1230.94 915.26 -imu_odom_: 1691062861.880654864 0.471658 -0.100556 9.86172 -0.147006 0.0383495 0.0809601 0.19 0 pose: 0.8020361 1.01168 -3.91581 0 0.00266826 0.00210796 0.999798 -0.0198079 uwb: 0.0 1230.94 915.26 -imu_odom_: 1691062861.906450388 0.454898 -0.739808 9.52892 -0.02024 -0.0117179 0.00745685 0.22 0 pose: 0.51079785 1.00339 -3.91022 0 0.00232709 0.0018609 0.999794 -0.0200816 uwb: 0.50255875 1230.61 915.608 -imu_odom_: 1691062861.922501609 0.35913 0.0766145 9.67736 -0.0575243 0.0319579 0.015979 0.22 0 pose: 0.0 1.00339 -3.91022 0 0.00232709 0.0018609 0.999794 -0.0200816 uwb: 0.0 1230.61 915.608 -imu_odom_: 1691062861.949461981 0.426168 -0.732626 9.35415 -0.0532632 0.0234358 0.0660464 0.22 0 pose: 0.25042776 0.997807 -3.91852 0 0.00243948 0.00207699 0.999789 -0.0203052 uwb: 0.50029847 1230.54 917 -imu_odom_: 1691062861.973500607 0.464475 -0.155623 9.80665 -0.0426106 0.00319579 0.04048 0.24 -0.02 pose: 0.41050250 0.989508 -3.91294 0 0.00163014 0.00138917 0.999799 -0.0199264 uwb: 0.0 1230.54 917 -imu_odom_: 1691062861.999467912 0.869095 -0.497994 10.1658 -0.0713727 -0.052198 0.0511327 0.21 0.02 pose: 0.43845127 0.980293 -3.91474 0 0.00229753 0.00174984 0.999792 -0.0201998 uwb: 0.50014389 1231.18 918.588 -imu_odom_: 1691062862.15451471 0.129287 -0.392649 9.63427 -0.0372843 0.0543285 0.0553937 0.21 0.02 pose: 0.0 0.980293 -3.91474 0 0.00229753 0.00174984 0.999792 -0.0201998 uwb: 0.0 1231.18 918.588 -imu_odom_: 1691062862.40574160 0.31364 -0.162806 9.69412 -0.0575243 -0.0276969 0.0511327 0.22 0 pose: 0.8083358 0.975628 -3.91565 0 0.00314672 0.00121387 0.999789 -0.0202482 uwb: 0.49864482 1231.34 920.117 -imu_odom_: 1691062862.63436273 0.514753 -0.268151 9.6199 -0.0852212 0.0170442 0.0511327 0.22 0 pose: 0.0 0.975628 -3.91565 0 0.00314672 0.00121387 0.999789 -0.0202482 uwb: 0.0 1231.34 920.117 -imu_odom_: 1691062862.87528272 0.351948 -0.407014 9.39006 -0.0596548 -0.00745685 0.0330232 0.2 -0.02 pose: 0.40938549 0.975628 -3.91565 0 0.00255174 -0.0002978720.999786 -0.0205264 uwb: 0.0 1231.34 920.117 -imu_odom_: 1691062862.104527938 0.258574 -0.189142 10.3094 -0.0500674 -0.0223706 0.052198 0.2 -0.02 pose: 0.0 0.975628 -3.91565 0 0.00255174 -0.0002978720.999786 -0.0205264 uwb: 0.50028973 1231.3 921.257 -imu_odom_: 1691062862.129596088 0.656011 -0.0263362 10.1778 -0.0607201 -0.0266316 0.0340885 0.18 0 pose: 0.48920121 0.961753 -3.91838 0 0.00239779 -0.00191574 0.99978 -0.0207394 uwb: 0.0 1231.3 921.257 -imu_odom_: 1691062862.156638705 -0.25618 -0.186748 9.94312 -0.0596548 -0.0266316 0.0596548 0.18 0 pose: 0.0 0.961753 -3.91838 0 0.00239779 -0.00191574 0.99978 -0.0207394 uwb: 0.49976184 1231.26 922.619 -imu_odom_: 1691062862.181499492 -0.146046 -0.316035 10.0892 -0.0458064 0.0245011 0.0266316 0.21 0 pose: 0.41006795 0.953448 -3.91281 0 0.000906176 -0.00198145 0.999782 -0.0207801 uwb: 0.0 1231.26 922.619 -imu_odom_: 1691062862.197422096 0.483629 -0.220267 10.1682 -0.0617853 -0.0330232 0.0511327 0.21 0 pose: 0.0 0.953448 -3.91281 0 0.000906176 -0.00198145 0.999782 -0.0207801 uwb: 0.0 1231.26 922.619 -imu_odom_: 1691062862.213523774 0.517148 -0.311246 9.46907 -0.0351537 -0.00319579 0.0372843 0.18 0.02 pose: 0.52022397 0.939573 -3.91555 0 -0.00097456 -0.0008479590.99978 -0.0209533 uwb: 0.0 1231.26 922.619 -imu_odom_: 1691062862.240504269 0.514753 -0.45011 9.27514 -0.0639159 0.0181095 0.0426106 0.18 0.02 pose: 0.0 0.939573 -3.91555 0 -0.00097456 -0.0008479590.99978 -0.0209533 uwb: 0.99908621 1231.33 923.718 -imu_odom_: 1691062862.256441165 0.565032 -0.217872 9.80426 -0.0394148 -0.0383495 0.04048 0.2 0 pose: 0.41075041 0.939573 -3.91555 0 -0.00038453 -0.00123729 0.99978 -0.0209249 uwb: 0.0 1231.33 923.718 -imu_odom_: 1691062862.282559253 0.603339 0.0143652 10.4603 -0.0692422 -0.0138484 0.0553937 0.2 0 pose: 0.0 0.939573 -3.91555 0 -0.00038453 -0.00123729 0.99978 -0.0209249 uwb: 0.0 1231.33 923.718 -imu_odom_: 1691062862.308469687 0.651223 -0.131681 10.0173 -0.0628506 -0.0351537 0.036219 0.19 0 pose: 0.43024135 0.925699 -3.91829 0 0.00212825 -0.00357429 0.999772 -0.0209544 uwb: 0.50013807 1231.17 923.77 -imu_odom_: 1691062862.324491160 0.35913 -0.304064 9.6223 -0.0585895 0.00745685 0.0394148 0.19 0 pose: 0.0 0.925699 -3.91829 0 0.00212825 -0.00357429 0.999772 -0.0209544 uwb: 0.0 1231.17 923.77 -imu_odom_: 1691062862.350562293 0.407014 -0.418985 9.84496 -0.0585895 -0.0585895 0.0319579 0.2 0 pose: 0.41941240 0.917392 -3.91272 0 0.00494002 -0.0005100740.999764 -0.0211354 uwb: 0.49907646 1231.5 925.225 -imu_odom_: 1691062862.367487589 -0.0215478 0.023942 10.0221 -0.0479369 0.0213053 0.0553937 0.2 0 pose: 0.0 0.917392 -3.91272 0 0.00494002 -0.0005100740.999764 -0.0211354 uwb: 0.0 1231.5 925.225 -imu_odom_: 1691062862.383479314 0.543484 -0.435745 9.48822 -0.0468716 -0.0319579 0.0340885 0.19 0 pose: 0.41995779 0.911827 -3.92103 0 0.00511656 -0.00115558 0.999764 -0.0210766 uwb: 0.0 1231.5 925.225 -imu_odom_: 1691062862.399409502 0.553061 -0.124498 10.2424 -0.0298274 -0.00639159 0.0319579 0.19 0 pose: 0.0 0.911827 -3.92103 0 0.00511656 -0.00115558 0.999764 -0.0210766 uwb: 0.0 1231.5 925.225 -imu_odom_: 1691062862.415401519 0.641646 -0.306458 9.90002 -0.0703074 0.0127832 0.0671117 0.19 0 pose: 0.0 0.911827 -3.92103 0 0.00511656 -0.00115558 0.999764 -0.0210766 uwb: 0.0 1231.5 925.225 -imu_odom_: 1691062862.432486055 0.148441 -0.596156 9.72046 -0.0436758 0.0234358 0.0426106 0.23 0 pose: 0.82893497 0.893558 -3.92083 0 0.00602123 -0.00230791 0.999753 -0.0212619 uwb: 0.0 1231.5 925.225 -imu_odom_: 1691062862.448485655 0.371101 -0.0311246 10.1634 -0.04048 -0.0106526 0.0383495 0.23 0 pose: 0.7094957 0.889644 -3.91821 0 0.00540668 -0.00275609 0.999755 -0.0212768 uwb: 0.100067861 1231.68 926.503 -imu_odom_: 1691062862.464420801 0.493206 -0.172383 9.84496 -0.0649811 0.0372843 0.052198 0.23 0 pose: 0.0 0.889644 -3.91821 0 0.00540668 -0.00275609 0.999755 -0.0212768 uwb: 0.0 1231.68 926.503 -imu_odom_: 1691062862.480546977 0.0790087 -0.318429 9.92157 -0.0351537 0.0117179 0.0372843 0.18 0 pose: 0.41924325 0.889644 -3.91821 0 0.00381076 -0.0003495160.999764 -0.0213778 uwb: 0.0 1231.68 926.503 -imu_odom_: 1691062862.497427359 0.577003 -0.21069 9.71567 -0.0713727 -0.00319579 0.056459 0.23 -0.02 pose: 0.0 0.889644 -3.91821 0 0.00381076 -0.0003495160.999764 -0.0213778 uwb: 0.50267251 1231.89 927.327 -imu_odom_: 1691062862.513433375 0.363919 -0.217872 9.68215 -0.076699 0.0149137 0.0628506 0.23 -0.02 pose: 0.0 0.889644 -3.91821 0 0.00381076 -0.0003495160.999764 -0.0213778 uwb: 0.0 1231.89 927.327 -imu_odom_: 1691062862.529471181 0.713472 -0.339977 9.7851 -0.0532632 -0.02024 0.04048 0.23 -0.02 pose: 0.23256715 0.889644 -3.91821 0 0.00282227 -0.0005536310.999766 -0.0214215 uwb: 0.0 1231.89 927.327 -imu_odom_: 1691062862.545538736 0.667982 -0.198719 9.75637 -0.0756338 -0.00745685 0.0639159 0.25 0.02 pose: 0.0 0.889644 -3.91821 0 0.00282227 -0.0005536310.999766 -0.0214215 uwb: 0.49865357 1232.2 928.787 -imu_odom_: 1691062862.562536069 0.189142 -0.402226 9.60075 -0.0692422 -0.00532632 0.0575243 0.25 0.02 pose: 0.0 0.889644 -3.91821 0 0.00282227 -0.0005536310.999766 -0.0214215 uwb: 0.0 1232.2 928.787 -imu_odom_: 1691062862.578474131 0.814029 -0.105345 10.1083 -0.076699 -0.0330232 0.04048 0.18 0 pose: 0.49870607 0.875773 -3.92096 0 0.00445909 -0.0010598 0.999752 -0.0217925 uwb: 0.0 1232.2 928.787 -imu_odom_: 1691062862.594545477 0.411803 -0.107739 9.73243 -0.0628506 0.0213053 0.0511327 0.18 0 pose: 0.0 0.875773 -3.92096 0 0.00445909 -0.0010598 0.999752 -0.0217925 uwb: 0.0 1232.2 928.787 -imu_odom_: 1691062862.611560017 0.158017 -0.354342 10.0149 -0.0639159 -0.0170442 0.0426106 0.18 0 pose: 0.0 0.875773 -3.92096 0 0.00445909 -0.0010598 0.999752 -0.0217925 uwb: 0.0 1232.2 928.787 -imu_odom_: 1691062862.628558225 0.746991 -0.126893 9.87608 -0.0468716 -0.0553937 0.0287621 0.25 0 pose: 0.33000433 0.867455 -3.91541 0 0.00462483 -0.00165746 0.999745 -0.0220464 uwb: 0.0 1232.2 928.787 -imu_odom_: 1691062862.645434232 0.950498 -0.148441 9.72285 -0.0639159 -0.0575243 0.0671117 0.16 0 pose: 0.0 0.867455 -3.91541 0 0.00462483 -0.00165746 0.999745 -0.0220464 uwb: 0.99866623 1232.21 929.89 -imu_odom_: 1691062862.661561867 1.23301 -0.258574 9.97424 -0.052198 -0.00106526 0.0948085 0.16 0 pose: 0.65988908 0.853586 -3.91818 0 0.00585968 -9.76887e-050.999737 -0.0221765 uwb: 0.0 1232.21 929.89 -imu_odom_: 1691062862.679471771 1.53947 -0.45011 9.60075 -0.0607201 -0.0213053 0.106526 0.14 -0.02 pose: 0.0 0.853586 -3.91818 0 0.00585968 -9.76887e-050.999737 -0.0221765 uwb: 0.0 1232.21 929.89 -imu_odom_: 1691062862.695473996 1.16119 -0.342371 9.06684 -0.0575243 0.02024 0.0532632 0.14 -0.02 pose: 0.0 0.853586 -3.91818 0 0.00585968 -9.76887e-050.999737 -0.0221765 uwb: 0.49985517 1231.73 930.257 -imu_odom_: 1691062862.711538634 1.00078 0.0023942 10.0245 -0.0458064 0.0585895 0.0266316 0.14 -0.02 pose: 0.33035723 0.853586 -3.91818 0 0.00941283 -0.0001999860.999691 -0.0230125 uwb: 0.0 1231.73 930.257 -imu_odom_: 1691062862.727464155 0.514753 -0.134075 9.67976 -0.0617853 0.00319579 0.0234358 0.11 0 pose: 0.41965447 0.839723 -3.92098 0 0.0126658 0.000238302 0.999647 -0.0233404 uwb: 0.0 1231.73 930.257 -imu_odom_: 1691062862.743394634 0.64404 -0.265756 9.87129 -0.0511327 -0.00958738 0.00426106 0.11 0 pose: 0.7931117 0.839723 -3.92098 0 0.0119542 0.00061764 0.999658 -0.023271 uwb: 0.50145632 1231.56 930.75 -imu_odom_: 1691062862.760439215 0.73502 -0.454898 9.81144 -0.0532632 -0.0276969 -0.00213053 0.11 0 pose: 0.0 0.839723 -3.92098 0 0.0119542 0.00061764 0.999658 -0.023271 uwb: 0.0 1231.56 930.75 -imu_odom_: 1691062862.776437356 1.00078 -0.217872 9.78031 -0.0628506 -0.0223706 0.00745685 0.13 -0.02 pose: 0.40969464 0.839723 -3.92098 0 0.012748 -0.00197441 0.999661 -0.0225999 uwb: 0.0 1231.56 930.75 -imu_odom_: 1691062862.791506303 1.0343 -0.1652 10.0556 -0.0511327 -0.00852212 0.0319579 0.09 -0.02 pose: 0.0 0.839723 -3.92098 0 0.012748 -0.00197441 0.999661 -0.0225999 uwb: 0.50049388 1231.14 931.316 -imu_odom_: 1691062862.807441157 0.600945 -0.385466 9.64624 -0.0479369 0.0127832 0.0383495 0.09 -0.02 pose: 0.0 0.839723 -3.92098 0 0.012748 -0.00197441 0.999661 -0.0225999 uwb: 0.0 1231.14 931.316 -imu_odom_: 1691062862.823385052 0.648829 -0.134075 10.2304 -0.0436758 -0.0276969 0.0372843 0.09 -0.02 pose: 0.22948149 0.839723 -3.92098 0 0.0151629 -0.00159897 0.999635 -0.0223057 uwb: 0.0 1231.14 931.316 -imu_odom_: 1691062862.839450857 0.871489 -0.268151 9.7037 -0.052198 -0.0255663 0.0575243 0.07 0 pose: 0.0 0.839723 -3.92098 0 0.0151629 -0.00159897 0.999635 -0.0223057 uwb: 0.49866233 1231.68 932.911 -imu_odom_: 1691062862.856398026 0.849942 -0.306458 9.89763 -0.0479369 0.00426106 0.056459 0.07 0 pose: 0.0 0.839723 -3.92098 0 0.0151629 -0.00159897 0.999635 -0.0223057 uwb: 0.0 1231.68 932.911 -imu_odom_: 1691062862.872584865 0.706289 -0.258574 9.84017 -0.0575243 -0.00745685 0.0298274 0.09 0 pose: 0.73010662 0.828282 -3.92011 0 0.0176961 -0.00181501 0.999588 -0.0225446 uwb: 0.0 1231.68 932.911 -imu_odom_: 1691062862.889520660 0.746991 -0.134075 10.0269 -0.0532632 -0.00319579 0.015979 0.09 0 pose: 0.0 0.828282 -3.92011 0 0.0176961 -0.00181501 0.999588 -0.0225446 uwb: 0.0 1231.68 932.911 -imu_odom_: 1691062862.905519385 0.715866 -0.153229 9.89763 -0.0607201 -0.0117179 0.0340885 0.09 0 pose: 0.0 0.828282 -3.92011 0 0.0176961 -0.00181501 0.999588 -0.0225446 uwb: 0.50075636 1231.58 934.033 -imu_odom_: 1691062862.931449360 0.521936 -0.320823 9.90721 -0.0500674 0.0138484 0.0436758 0.05 0.05 pose: 0.7006879 0.825859 -3.92375 0 0.017007 -0.00185326 0.9996 -0.0225124 uwb: 0.0 1231.58 934.033 -imu_odom_: 1691062862.947441960 0.342371 -0.265756 10.0533 -0.052198 0.0298274 0.0798948 0.06 0.05 pose: 0.0 0.825859 -3.92375 0 0.017007 -0.00185326 0.9996 -0.0225124 uwb: 0.49902397 1231.71 935.525 -imu_odom_: 1691062862.964385046 -0.742203 -0.4956 9.52653 -0.0607201 0.0585895 0.0181095 0.06 0.05 pose: 0.74990671 0.825859 -3.92375 0 0.0130396 -0.0001310060.999664 -0.0223901 uwb: 0.0 1231.71 935.525 -imu_odom_: 1691062862.980726460 -0.964863 0.208296 10.137 -0.036219 0.00745685 -0.12144 0.1 -0.2 pose: 0.0 0.825859 -3.92375 0 0.0130396 -0.0001310060.999664 -0.0223901 uwb: 0.0 1231.71 935.525 -imu_odom_: 1691062862.997537137 -0.533907 0.217872 9.63666 -0.0660464 -0.0532632 -0.20027 0.1 -0.2 pose: 0.0 0.825859 -3.92375 0 0.0130396 -0.0001310060.999664 -0.0223901 uwb: 0.50076803 1231.57 935.998 -imu_odom_: 1691062863.14570927 -0.0957681 -0.160412 9.62469 -0.0617853 -0.036219 -0.257794 0.1 -0.2 pose: 0.33005974 0.825859 -3.92375 0 0.00908217 -0.0004355680.99972 -0.0218322 uwb: 0.0 1231.57 935.998 -imu_odom_: 1691062863.30434910 0.430956 -0.584185 9.76595 -0.0713727 0.00213053 -0.290817 0.11 -0.38 pose: 0.43169377 0.817518 -3.91818 0 0.00553359 0.000488028 0.999848 -0.0165264 uwb: 0.0 1231.57 935.998 -imu_odom_: 1691062863.46509756 -0.0790087 -0.430956 9.73961 -0.056459 0.0436758 -0.314253 0.11 -0.38 pose: 0.7947740 0.817542 -3.9182 0 0.00535841 -0.0003491480.99987 -0.0152175 uwb: 0.49982309 1231.74 937.689 -imu_odom_: 1691062863.63412012 -0.150835 -0.0383072 10.003 -0.0394148 0.0181095 -0.348341 0.11 -0.38 pose: 0.0 0.817542 -3.9182 0 0.00535841 -0.0003491480.99987 -0.0152175 uwb: 0.0 1231.74 937.689 -imu_odom_: 1691062863.79462942 0.011971 0.0143652 9.84975 -0.0607201 -0.00106526 -0.376038 0.15 -0.61 pose: 0.40893345 0.817518 -3.91818 0 0.0014896 -0.0010362 0.999968 -0.00779716 uwb: 0.0 1231.74 937.689 -imu_odom_: 1691062863.96435486 0.186748 0.0191536 10.1299 -0.056459 0.0117179 -0.403735 0.12 -0.44 pose: 0.0 0.817518 -3.91818 0 0.0014896 -0.0010362 0.999968 -0.00779716 uwb: 0.50013808 1231.46 937.763 -imu_odom_: 1691062863.112370632 -0.0143652 -0.363919 9.52653 -0.0490022 -0.00852212 -0.430367 0.12 -0.44 pose: 0.0 0.817518 -3.91818 0 0.0014896 -0.0010362 0.999968 -0.00779716 uwb: 0.0 1231.46 937.763 -imu_odom_: 1691062863.128358274 0.37589 -0.248997 9.89284 -0.0543285 -0.0255663 -0.475108 0.12 -0.44 pose: 0.24107456 0.81207 -3.92657 0 -0.0005283740.00032339 0.999996 -0.00267616 uwb: 0.0 1231.46 937.763 -imu_odom_: 1691062863.144510991 0.373495 -0.0263362 9.71806 -0.0735032 -0.02024 -0.472977 0.13 -0.55 pose: 0.0 0.81207 -3.92657 0 -0.0005283740.00032339 0.999996 -0.00267616 uwb: 0.49876149 1231.25 938.253 -imu_odom_: 1691062863.160435637 0.323217 -0.248997 9.88326 -0.0617853 0.00532632 -0.490022 0.13 -0.55 pose: 0.0 0.81207 -3.92657 0 -0.0005283740.00032339 0.999996 -0.00267616 uwb: 0.0 1231.25 938.253 -imu_odom_: 1691062863.176376908 0.292093 -0.138864 10.0006 -0.0490022 -0.00532632 -0.535828 0.16 -0.7 pose: 0.47995010 0.80369 -3.92112 0 -0.00160068 -0.0003427770.999958 0.00899688 uwb: 0.0 1231.25 938.253 -imu_odom_: 1691062863.193506067 0.263362 -0.0215478 9.67736 -0.0479369 -0.0127832 -0.549676 0.16 -0.7 pose: 0.0 0.80369 -3.92112 0 -0.00160068 -0.0003427770.999958 0.00899688 uwb: 0.50026057 1230.93 938.338 -imu_odom_: 1691062863.209482627 0.380678 -0.0909797 10.0844 -0.0351537 -0.0479369 -0.579504 0.16 -0.7 pose: 0.0 0.80369 -3.92112 0 -0.00160068 -0.0003427770.999958 0.00899688 uwb: 0.0 1230.93 938.338 -imu_odom_: 1691062863.226370592 1.37667 -0.160412 9.64863 -0.0617853 -0.0372843 -0.54435 0.12 -0.5 pose: 0.30876642 0.80369 -3.92112 0 -0.00311355 -8.67901e-050.999847 0.0172307 uwb: 0.0 1230.93 938.338 -imu_odom_: 1691062863.242510767 1.13485 -0.351948 10.0485 -0.0639159 -0.0106526 -0.458064 0.16 -0.67 pose: 0.0 0.80369 -3.92112 0 -0.00311355 -8.67901e-050.999847 0.0172307 uwb: 0.49857776 1231.1 939.157 -imu_odom_: 1691062863.259501976 1.4054 -0.476446 10.082 -0.0436758 -0.0532632 -0.448476 0.16 -0.67 pose: 0.66985185 0.789851 -3.92404 0 -0.00014849 0.00340104 0.999319 0.0367407 uwb: 0.0 1231.1 939.157 -imu_odom_: 1691062863.276369525 1.24259 -0.167594 9.43315 -0.0553937 0.0319579 -0.412257 0.16 -0.67 pose: 0.0 0.789851 -3.92404 0 -0.00014849 0.00340104 0.999319 0.0367407 uwb: 0.0 1231.1 939.157 -imu_odom_: 1691062863.292562489 0.866701 -0.287304 9.93115 -0.0532632 0.0553937 -0.343015 0.13 -0.58 pose: 0.0 0.789851 -3.92404 0 -0.00014849 0.00340104 0.999319 0.0367407 uwb: 0.50080887 1230.86 939.65 -imu_odom_: 1691062863.309507326 0.78051 -0.512359 9.70131 -0.0639159 0.0170442 -0.272708 0.13 -0.58 pose: 0.33136342 0.789851 -3.92404 0 0.00331219 0.00255535 0.99899 0.0447276 uwb: 0.0 1230.86 939.65 -imu_odom_: 1691062863.326500285 0.981623 -0.486023 9.93594 -0.0511327 0.00213053 -0.221575 0.07 -0.32 pose: 0.42994679 0.785211 -3.92101 0 0.00596043 0.000589164 0.998594 0.0526681 uwb: 0.0 1230.86 939.65 -imu_odom_: 1691062863.342382642 0.368707 -0.380678 9.72764 -0.0447411 0.0319579 -0.194943 0.07 -0.32 pose: 0.0 0.785211 -3.92101 0 0.00596043 0.000589164 0.998594 0.0526681 uwb: 0.49884023 1230.54 939.734 -imu_odom_: 1691062863.369372762 0.459687 0.189142 10.0748 -0.0681769 -0.0575243 -0.208792 0.06 -0.29 pose: 0.8102315 0.781498 -3.91854 0 0.00659893 0.000148229 0.998534 0.0537211 uwb: 0.0 1230.54 939.734 -imu_odom_: 1691062863.385416985 0.658405 -0.071826 9.78031 -0.0649811 -0.0127832 -0.184291 0.06 -0.26 pose: 0.0 0.781498 -3.91854 0 0.00659893 0.000148229 0.998534 0.0537211 uwb: 0.0 1230.54 939.734 -imu_odom_: 1691062863.401364089 0.289698 -0.679953 9.81862 -0.056459 0.0383495 -0.229032 0.07 -0.2 pose: 0.0 0.781498 -3.91854 0 0.00659893 0.000148229 0.998534 0.0537211 uwb: 0.50144759 1230.39 940.201 -imu_odom_: 1691062863.417443309 0.100556 0.0167594 10.3118 -0.0415453 0.0351537 -0.306796 0.07 -0.2 pose: 0.74773393 0.781498 -3.91854 0 0.00715228 0.00152784 0.997998 0.0628159 uwb: 0.0 1230.39 940.201 -imu_odom_: 1691062863.434374438 -1.02472 0.464475 9.91678 -0.0543285 0.036219 -0.183225 0.11 -0.17 pose: 0.0 0.781498 -3.91854 0 0.00715228 0.00152784 0.997998 0.0628159 uwb: 0.0 1230.39 940.201 -imu_odom_: 1691062863.450357706 -0.773327 -0.797269 9.81862 -0.0777643 -0.0830906 -0.0745685 0.11 -0.17 pose: 0.33022890 0.781498 -3.91854 0 0.00391664 0.00207812 0.997697 0.0676867 uwb: 0.49897148 1229.93 939.464 -imu_odom_: 1691062863.466344183 -0.148441 -0.483629 9.72285 -0.0447411 -0.110787 -0.12144 0.11 -0.17 pose: 0.0 0.781498 -3.91854 0 0.00391664 0.00207812 0.997697 0.0676867 uwb: 0.0 1229.93 939.464 -imu_odom_: 1691062863.483337141 0.73502 -0.0047884 9.94312 -0.0394148 -0.0468716 -0.1012 0.11 -0.14 pose: 0.40938259 0.767631 -3.92132 0 0.00145931 0.00104438 0.997483 0.0708874 uwb: 0.0 1229.93 939.464 -imu_odom_: 1691062863.499393613 0.294487 -0.0670376 9.8665 -0.0671117 -0.00319579 -0.0756338 0.11 -0.14 pose: 0.8063525 0.767631 -3.92132 0 0.00235064 0.00147013 0.99744 0.0714533 uwb: 0.50024015 1230.01 939.659 -imu_odom_: 1691062863.516392405 -0.0814029 -0.237026 9.85693 -0.0447411 0.00213053 -0.107592 0.11 -0.14 pose: 0.0 0.767631 -3.92132 0 0.00235064 0.00147013 0.99744 0.0714533 uwb: 0.0 1230.01 939.659 -imu_odom_: 1691062863.532392006 -0.222661 -0.0837971 9.7875 -0.0671117 -0.0447411 -0.0948085 0.16 -0.17 pose: 0.41984697 0.767631 -3.92132 0 0.000270557 0.00275245 0.997235 0.0742602 uwb: 0.0 1230.01 939.659 -imu_odom_: 1691062863.549396339 0.483629 -0.160412 9.84256 -0.0628506 -0.0458064 -0.0745685 0.12 -0.11 pose: 0.0 0.767631 -3.92132 0 0.000270557 0.00275245 0.997235 0.0742602 uwb: 0.49986101 1229.98 940.309 -imu_odom_: 1691062863.565332651 0.593762 -0.416591 10.0844 -0.056459 -0.0181095 -0.0820254 0.12 -0.11 pose: 0.0 0.767631 -3.92132 0 0.000270557 0.00275245 0.997235 0.0742602 uwb: 0.0 1229.98 940.309 -imu_odom_: 1691062863.581329335 0.469264 -0.0670376 10.2951 -0.0479369 -0.015979 -0.0852212 0.12 -0.11 pose: 0.23947341 0.75928 -3.91582 0 -3.40085e-050.00283445 0.99712 0.075788 uwb: 0.0 1229.98 940.309 -imu_odom_: 1691062863.597543298 0.641646 -0.162806 9.79947 -0.0553937 -0.00852212 -0.0873517 0.13 -0.11 pose: 0.0 0.75928 -3.91582 0 -3.40085e-050.00283445 0.99712 0.075788 uwb: 0.49937396 1230.02 940.084 -imu_odom_: 1691062863.614554339 0.457293 -0.143652 9.67497 -0.0585895 0.00213053 -0.0735032 0.13 -0.11 pose: 0.31999201 0.75928 -3.91582 0 0.00220768 0.0019935 0.996972 0.0777011 uwb: 0.0 1230.02 940.084 -imu_odom_: 1691062863.631549922 -0.0670376 -0.349553 9.82341 -0.052198 0.0127832 -0.056459 0.19 -0.17 pose: 0.33302291 0.75928 -3.91582 0 0.00350341 0.00316079 0.996804 0.0797421 uwb: 0.0 1230.02 940.084 -imu_odom_: 1691062863.649501241 0.378284 -0.0335188 10.3621 -0.0500674 -0.0191748 -0.0671117 0.19 -0.17 pose: 0.0 0.75928 -3.91582 0 0.00350341 0.00316079 0.996804 0.0797421 uwb: 0.49982601 1230.01 940.303 -imu_odom_: 1691062863.664352617 0.940921 -0.318429 9.60314 -0.0692422 -0.0276969 -0.0447411 0.19 -0.17 pose: 0.0 0.75928 -3.91582 0 0.00350341 0.00316079 0.996804 0.0797421 uwb: 0.0 1230.01 940.303 -imu_odom_: 1691062863.680399465 0.931344 -0.244209 10.0054 -0.0628506 0.0255663 -0.00852212 0.11 -0.11 pose: 0.16923838 0.750929 -3.91032 0 0.0019218 0.00345863 0.996736 0.0806341 uwb: 0.0 1230.01 940.303 -imu_odom_: 1691062863.694415849 1.25935 -0.282516 10.4866 -0.056459 -0.0213053 0.00213053 0.11 -0.11 pose: 0.0 0.750929 -3.91032 0 0.0019218 0.00345863 0.996736 0.0806341 uwb: 0.50060472 1230.29 940.444 -imu_odom_: 1691062863.710410783 1.69749 -0.174777 9.95748 -0.052198 -0.072438 -0.0372843 0.11 -0.11 pose: 0.0 0.750929 -3.91032 0 0.0019218 0.00345863 0.996736 0.0806341 uwb: 0.0 1230.29 940.444 -imu_odom_: 1691062863.726395218 1.60651 -0.0454898 9.48822 -0.0468716 0.0117179 -0.0713727 0.09 -0.11 pose: 0.63803288 0.745417 -3.91866 0 0.00408277 0.00353258 0.996524 0.0831266 uwb: 0.0 1230.29 940.444 -imu_odom_: 1691062863.743341512 1.2809 -0.136469 9.90481 -0.0607201 -0.0106526 -0.0575243 0.09 -0.11 pose: 0.0 0.745417 -3.91866 0 0.00408277 0.00353258 0.996524 0.0831266 uwb: 0.49866525 1230.46 941.042 -imu_odom_: 1691062863.759340238 1.22823 -0.296881 10.2424 -0.0756338 0.00426106 -0.0170442 0.09 -0.11 pose: 0.31041715 0.737046 -3.91319 0 0.0077056 0.0031567 0.996409 0.0842644 uwb: 0.0 1230.46 941.042 -imu_odom_: 1691062863.775380086 0.742203 -0.632069 9.45949 -0.0447411 0.0298274 -0.0532632 0.09 -0.11 pose: 0.41930159 0.737046 -3.91319 0 0.0116993 0.00234569 0.996223 0.086011 uwb: 0.0 1230.46 941.042 -imu_odom_: 1691062863.792377128 0.363919 -0.0646434 10.0078 -0.0426106 -0.0213053 -0.0969391 0.09 -0.11 pose: 0.7008337 0.737046 -3.91319 0 0.0117005 0.00170585 0.996197 0.0863261 uwb: 0.50049389 1230.94 941.777 -imu_odom_: 1691062863.808317232 0.672771 0.213084 10.0245 -0.0660464 -0.0255663 -0.0809601 0.09 -0.11 pose: 0.0 0.737046 -3.91319 0 0.0117005 0.00170585 0.996197 0.0863261 uwb: 0.0 1230.94 941.777 -imu_odom_: 1691062863.824487739 0.835576 -0.363919 10.0844 -0.0692422 -0.00852212 -0.0607201 0.06 -0.05 pose: 0.41968657 0.737046 -3.91319 0 0.0109317 0.00322985 0.995978 0.088871 uwb: 0.0 1230.94 941.777 -imu_odom_: 1691062863.850501708 0.701501 -0.435745 9.94791 -0.0511327 0.00213053 -0.0447411 0.06 -0.02 pose: 0.0 0.737046 -3.91319 0 0.0109317 0.00322985 0.995978 0.088871 uwb: 0.50032181 1230.88 941.794 -imu_odom_: 1691062863.875465156 -0.232238 -0.287304 9.73722 -0.0596548 0.0756338 0.0351537 0.04 -0.05 pose: 0.24058168 0.737046 -3.91319 0 0.0120511 0.00109759 0.99587 0.0899836 uwb: 0.0 1230.88 941.794 -imu_odom_: 1691062863.892477364 -1.10373 -0.287304 10.1442 -0.0596548 0.0692422 0.0223706 0.04 -0.05 pose: 0.0 0.737046 -3.91319 0 0.0120511 0.00109759 0.99587 0.0899836 uwb: 0.50065430 1230.95 942.203 -imu_odom_: 1691062863.917493309 -0.603339 -0.122104 10.0078 -0.0436758 -0.0649811 -0.00426106 0.08 -0.02 pose: 0.26025635 0.728699 -3.90768 0 0.0111562 -0.0006355280.995812 0.09074 uwb: 0.0 1230.95 942.203 -imu_odom_: 1691062863.943367870 0.648829 -0.430956 9.92157 -0.0671117 -0.0351537 0.0308927 0.08 -0.02 pose: 0.42161145 0.728699 -3.90768 0 0.00589189 -0.0003508760.995824 0.091103 uwb: 0.50117635 1230.8 941.598 -imu_odom_: 1691062863.959477422 0.474052 -0.368707 9.83538 -0.0426106 0.0426106 -0.00532632 0.08 -0.02 pose: 0.0 0.728699 -3.90768 0 0.00589189 -0.0003508760.995824 0.091103 uwb: 0.0 1230.8 941.598 -imu_odom_: 1691062863.985363066 -0.148441 0.0215478 10.1562 -0.0511327 -0.0138484 0.0245011 0.11 -0.05 pose: 0.49949353 0.723178 -3.91602 0 0.00585189 -0.0030105 0.995762 0.0917297 uwb: 0.0 1230.8 941.598 -imu_odom_: 1691062864.1465910 0.0837971 -0.201113 10.0102 -0.0383495 -0.0234358 0.0223706 0.11 -0.05 pose: 0.0 0.723178 -3.91602 0 0.00585189 -0.0030105 0.995762 0.0917297 uwb: 0.49808486 1230.92 942.64 -imu_odom_: 1691062864.27657787 0.11971 -0.0502782 9.48822 -0.0639159 -0.0138484 0.0106526 0.12 -0.02 pose: 0.41859579 0.714847 -3.91049 0 0.00245456 -0.00215762 0.995737 0.0921762 uwb: 0.0 1230.92 942.64 -imu_odom_: 1691062864.53487434 0.483629 -0.205901 10.5105 -0.0511327 -0.00745685 0.0191748 0.12 -0.02 pose: 0.35286675 0.714847 -3.91049 0 -0.000311695-0.0004224810.995701 0.0926286 uwb: 0.50139218 1230.77 942.249 -imu_odom_: 1691062864.70463769 0.177171 -0.28491 9.94073 -0.0553937 0.02024 0.0213053 0.12 -0.02 pose: 0.0 0.714847 -3.91049 0 -0.000311695-0.0004224810.995701 0.0926286 uwb: 0.0 1230.77 942.249 -imu_odom_: 1691062864.95466007 0.402226 -0.232238 10.0652 -0.0479369 -0.0639159 0.02024 0.14 -0.02 pose: 0.6831598 0.714847 -3.91049 0 0.000380485 -0.0003313960.995694 0.0926983 uwb: 0.50007976 1231.29 942.975 -imu_odom_: 1691062864.121454021 0.126893 -0.107739 9.88805 -0.0447411 0.076699 0.0319579 0.14 -0.02 pose: 0.0 0.714847 -3.91049 0 0.000380485 -0.0003313960.995694 0.0926983 uwb: 0.0 1231.29 942.975 -imu_odom_: 1691062864.146318017 0.572214 -0.378284 9.92157 -0.0639159 -0.0298274 0.0351537 0.15 -0.02 pose: 0.42973973 0.706472 -3.90503 0 0.000129851 -0.00082624 0.995655 0.0931126 uwb: 0.49865942 1231 943.262 -imu_odom_: 1691062864.163446884 0.354342 -0.0574608 10.0317 -0.0436758 -0.0372843 0.0255663 0.15 -0.02 pose: 0.0 0.706472 -3.90503 0 0.000129851 -0.00082624 0.995655 0.0931126 uwb: 0.0 1231 943.262 -imu_odom_: 1691062864.189382401 0.442927 -0.457293 9.88805 -0.0628506 -0.0138484 0.0458064 0.14 -0.05 pose: 0.50884965 0.692629 -3.90792 0 -0.00316758 -0.0008148820.995624 0.0933967 uwb: 0.0 1231 943.262 -imu_odom_: 1691062864.214326600 0.746991 -0.308852 10.0365 -0.0372843 -0.0213053 0.00106526 0.14 -0.05 pose: 0.0 0.692629 -3.90792 0 -0.00316758 -0.0008148820.995624 0.0933967 uwb: 0.50004184 1231.08 944.52 -imu_odom_: 1691062864.238459139 -0.0167594 0.0023942 9.6606 -0.0617853 -0.0127832 0.0585895 0.17 0 pose: 0.42977765 0.692629 -3.90792 0 -0.00108324 -0.0010199 0.995615 0.0935337 uwb: 0.0 1231.08 944.52 -imu_odom_: 1691062864.264342450 0.459687 -0.253785 10.149 -0.052198 -0.0276969 0.0138484 0.15 0 pose: 0.49028908 0.684265 -3.90244 0 0.00152112 -0.00282375 0.995576 0.0939067 uwb: 0.50095762 1230.95 944.553 -imu_odom_: 1691062864.279449604 0.823605 0.0263362 10.2208 -0.0511327 -0.00639159 0.0234358 0.15 0 pose: 0.0 0.684265 -3.90244 0 0.00152112 -0.00282375 0.995576 0.0939067 uwb: 0.0 1230.95 944.553 -imu_odom_: 1691062864.296437313 0.454898 -0.299275 10.2161 -0.0745685 0.0170442 0.0575243 0.15 0 pose: 0.0 0.684265 -3.90244 0 0.00152112 -0.00282375 0.995576 0.0939067 uwb: 0.50122886 1230.97 944.973 -imu_odom_: 1691062864.322511363 0.794875 -0.0071826110.2711 -0.0383495 -0.0223706 -0.00106526 0.2 0 pose: 0.25189768 0.684265 -3.90244 0 0.00090852 -0.001929 0.995586 0.093825 uwb: 0.0 1230.97 944.973 -imu_odom_: 1691062864.347307696 0.488417 -0.287304 10.24 -0.0703074 0.00639159 0.0553937 0.2 0 pose: 0.0 0.684265 -3.90244 0 0.00090852 -0.001929 0.995586 0.093825 uwb: 0.49974436 1231.14 945.998 -imu_odom_: 1691062864.373439201 0.347159 -0.215478 10.0293 -0.0436758 0.0106526 0.0213053 0.18 -0.02 pose: 0.58952283 0.670417 -3.90532 0 0.00386804 -0.00239291 0.995543 0.0942023 uwb: 0.0 1231.14 945.998 -imu_odom_: 1691062864.398438231 0.476446 -0.344765 9.44991 -0.0660464 -0.0127832 0.0543285 0.17 -0.02 pose: 0.49976769 0.662061 -3.89983 0 0.00340804 -0.00314727 0.995521 0.0944302 uwb: 0.49785447 1231.1 947.07 -imu_odom_: 1691062864.415446064 0.435745 -0.368707 9.81383 -0.0500674 -0.02024 0.0308927 0.17 -0.02 pose: 0.0 0.662061 -3.89983 0 0.00340804 -0.00314727 0.995521 0.0944302 uwb: 0.0 1231.1 947.07 -imu_odom_: 1691062864.440334559 0.201113 -0.0095768110.252 -0.0543285 0.0308927 0.0511327 0.17 0 pose: 0.26083966 0.662061 -3.89983 0 0.00185375 -0.00283585 0.995515 0.0945481 uwb: 0.49958687 1230.91 947.537 -imu_odom_: 1691062864.466491437 0.186748 -0.342371 10.3908 -0.052198 0.0245011 0.0394148 0.17 0 pose: 0.34888282 0.653706 -3.89433 0 0.00190213 -0.00616621 0.995506 0.0944797 uwb: 0.0 1230.91 947.537 -imu_odom_: 1691062864.492352583 0.639252 0.0215478 10.2137 -0.0639159 -0.00213053 0.0468716 0.17 -0.02 pose: 0.6933092 0.653706 -3.89433 0 0.00141024 -0.00556522 0.995514 0.0944398 uwb: 0.50173341 1230.87 948.395 -imu_odom_: 1691062864.517374653 0.76375 -0.110133 10.3286 -0.0330232 -0.0181095 0.015979 0.17 -0.02 pose: 0.0 0.653706 -3.89433 0 0.00141024 -0.00556522 0.995514 0.0944398 uwb: 0.0 1230.87 948.395 -imu_odom_: 1691062864.533310674 -0.0742203 -0.205901 9.87369 -0.0383495 0.0213053 0.0490022 0.17 0 pose: 0.52002567 0.639857 -3.8972 0 -0.00227648 -0.00369792 0.995534 0.0943014 uwb: 0.0 1230.87 948.395 -imu_odom_: 1691062864.559508383 0.248997 -0.237026 9.91199 -0.0426106 0.0308927 0.0319579 0.17 0 pose: 0.0 0.639857 -3.8972 0 -0.00227648 -0.00369792 0.995534 0.0943014 uwb: 0.49915231 1231 949.422 -imu_odom_: 1691062864.584499538 0.627281 0.0742203 10.4459 -0.0436758 0.00106526 0.0447411 0.18 0 pose: 0.49104154 0.639857 -3.8972 0 0.000915394 -0.00136792 0.995523 0.0945084 uwb: 0.0 1231 949.422 -imu_odom_: 1691062864.609418365 0.316035 -0.134075 10.0868 -0.0468716 0.00639159 0.0340885 0.18 0 pose: 0.0 0.639857 -3.8972 0 0.000915394 -0.00136792 0.995523 0.0945084 uwb: 0.49908232 1230.9 950.078 -imu_odom_: 1691062864.623424541 0.0981623 -0.112527 9.96227 -0.0671117 -0.00745685 0.0415453 0.19 0 pose: 0.42965806 0.631502 -3.8917 0 -0.00271629 -0.0001599850.995517 0.0945391 uwb: 0.0 1230.9 950.078 -imu_odom_: 1691062864.648367282 0.517148 -0.282516 9.95748 -0.0585895 -0.0308927 0.0394148 0.19 0 pose: 0.0 0.631502 -3.8917 0 -0.00271629 -0.0001599850.995517 0.0945391 uwb: 0.49998351 1231.07 951.096 -imu_odom_: 1691062864.674295507 0.0861913 -0.227449 10.0796 -0.0351537 0.0319579 0.0330232 0.24 0 pose: 0.48985453 0.617652 -3.89456 0 -0.00363074 0.00336009 0.995508 0.0945519 uwb: 0.0 1231.07 951.096 -imu_odom_: 1691062864.700432262 0.339977 -0.385466 9.93594 -0.0330232 -0.0340885 0.0266316 0.16 0.02 pose: 0.39927985 0.609297 -3.88907 0 -0.00289957 0.00197362 0.995512 0.0945731 uwb: 0.50207172 1230.71 951.802 -imu_odom_: 1691062864.717301853 0.555455 -0.0143652 9.97185 -0.0340885 0.00958738 0.04048 0.22 -0.02 pose: 0.26058009 0.609297 -3.88907 0 -0.00492466 0.00140814 0.995494 0.0946881 uwb: 0.0 1230.71 951.802 -imu_odom_: 1691062864.743419359 0.737414 -0.122104 10.3453 -0.0553937 -0.00426106 0.0372843 0.22 -0.02 pose: 0.26047510 0.600944 -3.88357 0 -0.00389973 0.00019932 0.995487 0.0948174 uwb: 0.0 1230.71 951.802 -imu_odom_: 1691062864.769434496 0.773327 -0.177171 9.74919 -0.056459 0.00426106 0.0458064 0.19 -0.02 pose: 0.0 0.600944 -3.88357 0 -0.00389973 0.00019932 0.995487 0.0948174 uwb: 0.0 1230.71 951.802 -imu_odom_: 1691062864.795310224 0.940921 -0.387861 9.71567 -0.0436758 -0.00106526 0.0276969 0.17 0 pose: 0.61963856 0.589373 -3.88793 0 0.00191863 0.00102337 0.995498 0.0947547 uwb: 0.99702136 1230.42 952.282 -imu_odom_: 1691062864.821316028 0.378284 -0.433351 9.99819 -0.056459 -0.0117179 0.0585895 0.17 0 pose: 0.0 0.589373 -3.88793 0 0.00191863 0.00102337 0.995498 0.0947547 uwb: 0.0 1230.42 952.282 -imu_odom_: 1691062864.838429730 0.320823 -0.260968 9.43555 -0.0500674 0.036219 0.0298274 0.2 0 pose: 0.7147454 0.587092 -3.88642 0 0.00255034 0.000743945 0.995493 0.0947955 uwb: 0.0 1230.42 952.282 -imu_odom_: 1691062864.855421814 0.263362 -0.0023942 10.1203 -0.0490022 0.0255663 0.0340885 0.2 0 pose: 0.0 0.587092 -3.88642 0 0.00255034 0.000743945 0.995493 0.0947955 uwb: 0.0 1230.42 952.282 -imu_odom_: 1691062864.871297172 0.550666 -0.320823 9.92875 -0.0575243 -0.0234358 0.0458064 0.2 0 pose: 0.0 0.587092 -3.88642 0 0.00255034 0.000743945 0.995493 0.0947955 uwb: 0.0 1230.42 952.282 -imu_odom_: 1691062864.898405994 0.299275 0.0574608 9.91439 -0.052198 0.0255663 0.0500674 0.23 0 pose: 0.52857392 0.57874 -3.88093 0 0.0019955 -0.00218857 0.995503 0.0946853 uwb: 0.100389846 1230.31 952.933 -imu_odom_: 1691062864.924342969 0.428562 -0.155623 9.91439 -0.0735032 0.0276969 0.0394148 0.18 0.02 pose: 0.50004767 0.564889 -3.88378 0 0.00091643 -0.0007499380.995507 0.094684 uwb: 0.0 1230.31 952.933 -imu_odom_: 1691062864.941465128 0.354342 -0.186748 10.1466 -0.0585895 -0.0149137 0.0330232 0.25 0 pose: 0.0 0.564889 -3.88378 0 0.00091643 -0.0007499380.995507 0.094684 uwb: 0.49796822 1229.94 954.055 -imu_odom_: 1691062864.957262324 0.557849 -0.174777 10.3597 -0.0426106 0.00639159 0.0394148 0.25 0 pose: 0.0 0.564889 -3.88378 0 0.00091643 -0.0007499380.995507 0.094684 uwb: 0.0 1229.94 954.055 -imu_odom_: 1691062864.984351898 0.603339 0.102951 10.307 -0.0372843 -0.0245011 0.0340885 0.25 -0.02 pose: 0.51972235 0.556535 -3.87829 0 0.000679592 0.00262403 0.995511 0.0946111 uwb: 0.0 1229.94 954.055 -imu_odom_: 1691062865.398162 0.275333 -0.423774 9.69652 -0.0575243 0.0287621 0.0479369 0.25 -0.02 pose: 0.0 0.556535 -3.87829 0 0.000679592 0.00262403 0.995511 0.0946111 uwb: 0.49828319 1230.09 955.067 -imu_odom_: 1691062865.27260833 0.591368 -0.201113 10.003 -0.0500674 -0.0372843 0.0426106 0.25 -0.02 pose: 0.68981818 0.548181 -3.87279 0 0.00204776 0.00322036 0.995503 0.0946493 uwb: 0.0 1230.09 955.067 -imu_odom_: 1691062865.53408087 0.31364 -0.294487 10.0724 -0.0575243 0.0298274 0.0383495 0.25 -0.02 pose: 0.7948908 0.548181 -3.87279 0 0.00290389 0.0028967 0.995504 0.0946346 uwb: 0.49993394 1230.11 956.936 -imu_odom_: 1691062865.80281841 0.102951 0 9.70131 -0.0585895 0.0181095 0.04048 0.25 -0.02 pose: 0.45061017 0.536659 -3.87718 0 0.00223186 0.000825068 0.995511 0.0946138 uwb: 0.0 1230.11 956.936 -imu_odom_: 1691062865.105442445 0.68953 -0.112527 9.99579 -0.072438 0.00852212 0.0436758 0.18 0 pose: 0.0 0.536659 -3.87718 0 0.00223186 0.000825068 0.995511 0.0946138 uwb: 0.50416869 1230 958.409 -imu_odom_: 1691062865.132420317 0.126893 -0.447716 9.7037 -0.0458064 0.0319579 0.0490022 0.18 0 pose: 0.35073480 0.53433 -3.87565 0 0.00048873 0.00236932 0.995514 0.094588 uwb: 0.0 1230 958.409 -imu_odom_: 1691062865.157332144 0.486023 -0.35913 10.0197 -0.0436758 0.0287621 0.036219 0.2 0.02 pose: 0.43938750 0.525976 -3.87015 0 -0.0005799570.0009489 0.995532 0.0944231 uwb: 0.0 1230 958.409 -imu_odom_: 1691062865.174317229 0.59855 -0.0454898 9.5792 -0.0372843 -0.0191748 0.04048 0.2 0.02 pose: 0.8036111 0.525976 -3.87015 0 -0.0003647920.000281025 0.995531 0.0944366 uwb: 0.0 1230 958.409 -imu_odom_: 1691062865.190375451 0.347159 -0.102951 10.2951 -0.0553937 0.0181095 0.0543285 0.18 0 pose: 0.0 0.525976 -3.87015 0 -0.0003647920.000281025 0.995531 0.0944366 uwb: 0.99706513 1229.86 959.675 -imu_odom_: 1691062865.217403487 0.148441 -0.351948 9.5792 -0.0479369 0.00106526 0.04048 0.18 0 pose: 0.41828957 0.512126 -3.87301 0 0.00101167 0.000768658 0.995533 0.0944011 uwb: 0.0 1229.86 959.675 -imu_odom_: 1691062865.242282066 0.617704 -0.318429 10.1155 -0.0458064 -0.0181095 0.0436758 0.2 -0.02 pose: 0.0 0.512126 -3.87301 0 0.00101167 0.000768658 0.995533 0.0944011 uwb: 0.49947314 1229.82 960.715 -imu_odom_: 1691062865.259330147 0.40462 0.0047884 10.0437 -0.0394148 0.0191748 0.0426106 0.2 -0.02 pose: 0.43001097 0.50377 -3.86752 0 -0.00124834 -9.6032e-06 0.995541 0.094318 uwb: 0.0 1229.82 960.715 -imu_odom_: 1691062865.284274639 0.617704 -0.0407014 10.1945 -0.076699 0.0308927 0.0575243 0.18 0 pose: 0.0 0.50377 -3.86752 0 -0.00124834 -9.6032e-06 0.995541 0.094318 uwb: 0.0 1229.82 960.715 -imu_odom_: 1691062865.311253095 0.603339 -0.220267 9.96467 -0.0617853 0.00852212 0.0479369 0.18 0 pose: 0.42012114 0.50377 -3.86752 0 0.000840185 0.00144543 0.995553 0.0941877 uwb: 0.50057557 1229.83 961.746 -imu_odom_: 1691062865.328392462 0.0502782 -0.150835 9.86172 -0.0500674 -0.0298274 0.0511327 0.19 0 pose: 0.0 0.50377 -3.86752 0 0.000840185 0.00144543 0.995553 0.0941877 uwb: 0.0 1229.83 961.746 -imu_odom_: 1691062865.354335562 0.325611 -0.071826 9.73243 -0.0553937 -0.00639159 0.0532632 0.19 0 pose: 0.52256594 0.489923 -3.87039 0 0.00359595 0.00119207 0.995577 0.0938678 uwb: 0.49934189 1229.43 962.635 -imu_odom_: 1691062865.380407279 0.553061 -0.296881 9.26556 -0.0671117 0.0330232 0.0308927 0.18 0 pose: 0.34780372 0.481561 -3.86491 0 0.00106789 0.00323033 0.995599 0.0936498 uwb: 0.0 1229.43 962.635 -imu_odom_: 1691062865.395404189 0.426168 -0.184354 9.84256 -0.0585895 0.0149137 0.0394148 0.18 0 pose: 0.7087083 0.481561 -3.86491 0 0.00137106 0.00264391 0.995598 0.0936782 uwb: 0.49971812 1229.24 964.307 -imu_odom_: 1691062865.419307783 0.399832 -0.4956 9.42837 -0.0660464 0.0191748 0.0426106 0.17 0 pose: 0.0 0.481561 -3.86491 0 0.00137106 0.00264391 0.995598 0.0936782 uwb: 0.0 1229.24 964.307 -imu_odom_: 1691062865.446383650 0.294487 -0.191536 9.80904 -0.0575243 0 0.0543285 0.17 0 pose: 0.39992732 0.473197 -3.85943 0 0.000502318 0.00102708 0.995595 0.0937486 uwb: 0.50133969 1229 964.957 -imu_odom_: 1691062865.471255813 0.251391 -0.265756 9.57681 -0.0468716 -0.00213053 0.0372843 0.19 0 pose: 0.44968273 0.463277 -3.86149 0 -0.00247545 0.00028321 0.995614 0.0935196 uwb: 0.0 1229 964.957 -imu_odom_: 1691062865.498269849 0.150835 -0.126893 10.2592 -0.0479369 -0.00319579 0.0628506 0.23 0.02 pose: 0.0 0.463277 -3.86149 0 -0.00247545 0.00028321 0.995614 0.0935196 uwb: 0.49888692 1228.88 966.202 -imu_odom_: 1691062865.515390551 0.720655 -0.246603 9.84975 -0.0543285 0.0117179 0.0532632 0.23 0.02 pose: 0.31885750 0.459352 -3.86231 0 -0.00535229 -2.88979e-050.995608 0.0934666 uwb: 0.0 1228.88 966.202 -imu_odom_: 1691062865.532391677 0.45011 -0.0766145 9.7037 -0.052198 0.00532632 0.136354 0.23 0.02 pose: 0.0 0.459352 -3.86231 0 -0.00535229 -2.88979e-050.995608 0.0934666 uwb: 0.0 1228.88 966.202 -imu_odom_: 1691062865.549240561 0.371101 -0.694318 9.78989 -0.0916127 0.00958738 0.237554 0.25 0.11 pose: 0.0 0.459352 -3.86231 0 -0.00535229 -2.88979e-050.995608 0.0934666 uwb: 0.49855444 1228.77 967.238 -imu_odom_: 1691062865.566288934 0.521936 -0.335188 9.85693 -0.056459 -0.00213053 0.259925 0.25 0.11 pose: 0.44129781 0.450985 -3.85684 0 -0.00480454 0.00144088 0.995675 0.0927716 uwb: 0.0 1228.77 967.238 -imu_odom_: 1691062865.583227646 0.481235 -0.351948 10.1347 -0.0426106 -0.015979 0.315318 0.19 0.29 pose: 0.0 0.450985 -3.85684 0 -0.00480454 0.00144088 0.995675 0.0927716 uwb: 0.0 1228.77 967.238 -imu_odom_: 1691062865.598228056 0.620098 -0.059855 9.91678 -0.0532632 -0.00639159 0.360059 0.19 0.29 pose: 0.43889753 0.439566 -3.85604 0 -0.00278777 -0.0009137950.996048 0.0887648 uwb: 0.49994561 1228.68 968.675 -imu_odom_: 1691062865.613359416 0.251391 -0.466869 9.90002 -0.0223706 0.00852212 0.378169 0.19 0.29 pose: 0.0 0.439566 -3.85604 0 -0.00278777 -0.0009137950.996048 0.0887648 uwb: 0.0 1228.68 968.675 -imu_odom_: 1691062865.630266047 0.699107 -0.397437 9.18655 -0.0820254 -0.00745685 0.432497 0.25 0.53 pose: 0.7946282 0.437138 -3.85974 0 -0.00218417 -0.00143609 0.996146 0.0876758 uwb: 0.0 1228.68 968.675 -imu_odom_: 1691062865.648300195 0.555455 -0.301669 10.2615 -0.0340885 0.0266316 0.46339 0.25 0.53 pose: 0.0 0.437138 -3.85974 0 -0.00218417 -0.00143609 0.996146 0.0876758 uwb: 0.50210381 1228.44 969.925 -imu_odom_: 1691062865.662349244 0.361524 -0.4956 9.57681 -0.0490022 -0.00106526 0.484695 0.25 0.53 pose: 0.0 0.437138 -3.85974 0 -0.00218417 -0.00143609 0.996146 0.0876758 uwb: 0.0 1228.44 969.925 -imu_odom_: 1691062865.678229561 0.435745 0.0550666 9.68455 -0.0298274 0.00426106 0.504935 0.17 0.47 pose: 0.46243073 0.42877 -3.85427 0 -0.000629675-0.00254644 0.996783 0.0801037 uwb: 0.0 1228.44 969.925 -imu_odom_: 1691062865.695251685 0.708684 -0.263362 10.0676 -0.0458064 -0.0447411 0.548611 0.17 0.47 pose: 0.0 0.42877 -3.85427 0 -0.000629675-0.00254644 0.996783 0.0801037 uwb: 0.49853694 1227.91 970.401 -imu_odom_: 1691062865.712291016 0.656011 -0.469264 10.0461 -0.0617853 -0.00106526 0.566721 0.17 0.47 pose: 0.0 0.42877 -3.85427 0 -0.000629675-0.00254644 0.996783 0.0801037 uwb: 0.0 1227.91 970.401 -imu_odom_: 1691062865.729226521 0.684742 -0.383072 10.1514 -0.0468716 0.0191748 0.58483 0.18 0.55 pose: 0.48878127 0.420414 -3.84877 0 0.00113595 -0.00382729 0.997564 0.0696368 uwb: 0.0 1227.91 970.401 -imu_odom_: 1691062865.745227872 0.505177 -0.126893 9.85932 -0.0809601 -0.00532632 0.627441 0.18 0.55 pose: 0.0 0.420414 -3.84877 0 0.00113595 -0.00382729 0.997564 0.0696368 uwb: 0.50009726 1227.38 972.082 -imu_odom_: 1691062865.761224556 0.19393 -0.579397 10.2544 -0.0532632 -0.00319579 0.649811 0.18 0.55 pose: 0.66947272 0.406544 -3.8516 0 0.00550696 -0.00437747 0.998617 0.0520956 uwb: 0.0 1227.38 972.082 -imu_odom_: 1691062865.776227299 0.797269 -0.52433 9.82341 -0.056459 -0.0308927 0.622114 0.18 0.55 pose: 0.0 0.406544 -3.8516 0 0.00550696 -0.00437747 0.998617 0.0520956 uwb: 0.0 1227.38 972.082 -imu_odom_: 1691062865.793221425 0.907402 -0.172383 9.89284 -0.0330232 0.0117179 0.598679 0.17 0.55 pose: 0.0 0.406544 -3.8516 0 0.00550696 -0.00437747 0.998617 0.0520956 uwb: 0.49995144 1226.89 973.147 -imu_odom_: 1691062865.810377125 1.21625 -0.40462 9.63906 -0.0532632 -0.00532632 0.588026 0.17 0.55 pose: 0.31932998 0.406544 -3.8516 0 0.00486297 -0.00509797 0.999069 0.0425561 uwb: 0.0 1226.89 973.147 -imu_odom_: 1691062865.827287839 1.39582 -0.251391 9.69173 -0.0308927 0.0308927 0.488956 0.14 0.41 pose: 0.42140439 0.398202 -3.84604 0 0.00871797 -0.00523911 0.999474 0.0307991 uwb: 0.0 1226.89 973.147 -imu_odom_: 1691062865.843231151 1.88663 0.136469 10.4172 -0.0287621 0.02024 0.418649 0.14 0.41 pose: 0.0 0.398202 -3.84604 0 0.00871797 -0.00523911 0.999474 0.0307991 uwb: 0.50076223 1227.03 974.335 -imu_odom_: 1691062865.861218927 1.50595 0.0263362 10.2208 -0.0468716 -0.0234358 0.409062 0.14 0.41 pose: 0.0 0.398202 -3.84604 0 0.00871797 -0.00523911 0.999474 0.0307991 uwb: 0.0 1227.03 974.335 -imu_odom_: 1691062865.877357062 0.766145 -0.349553 9.26317 -0.0426106 0.0692422 0.368581 0.11 0.32 pose: 0.7061709 0.39822 -3.84605 0 0.00929428 -0.00513435 0.999517 0.0292169 uwb: 0.0 1227.03 974.335 -imu_odom_: 1691062865.894290524 0.76375 -0.0694318 10.5536 -0.0372843 0.0213053 0.315318 0.1 0.26 pose: 0.0 0.39822 -3.84605 0 0.00929428 -0.00513435 0.999517 0.0292169 uwb: 0.49855735 1227.09 975.331 -imu_odom_: 1691062865.912211221 0.725443 -0.220267 10.1251 -0.0458064 -0.0298274 0.297209 0.1 0.26 pose: 0.66914316 0.384328 -3.849 0 0.0141435 -0.00375909 0.999747 0.0170761 uwb: 0.0 1227.09 975.331 -imu_odom_: 1691062865.928275860 0.940921 -0.337582 10.1849 -0.056459 -0.00426106 0.297209 0.12 0.35 pose: 0.0 0.384328 -3.849 0 0.0141435 -0.00375909 0.999747 0.0170761 uwb: 0.0 1227.09 975.331 -imu_odom_: 1691062865.945267361 0.711078 -0.428562 9.52892 -0.0585895 -0.0149137 0.286556 0.12 0.35 pose: 0.0 0.384328 -3.849 0 0.0141435 -0.00375909 0.999747 0.0170761 uwb: 0.50044433 1226.98 976.544 -imu_odom_: 1691062865.962205198 0.878672 -0.0790087 9.80904 -0.0543285 -0.00319579 0.267381 0.12 0.35 pose: 0.33925547 0.384328 -3.849 0 0.0162049 -0.00156902 0.999787 0.0126486 uwb: 0.0 1226.98 976.544 -imu_odom_: 1691062865.979206032 0.725443 -0.0502782 9.96946 -0.0596548 -0.0245011 0.28123 0.1 0.29 pose: 0.33940130 0.384328 -3.849 0 0.0174332 -0.00322196 0.999807 0.00844812 uwb: 0.0 1226.98 976.544 -imu_odom_: 1691062865.995322293 0.818817 -0.196325 9.97664 -0.056459 0.0106526 0.255663 0.1 0.29 pose: 0.0 0.384328 -3.849 0 0.0174332 -0.00322196 0.999807 0.00844812 uwb: 0.50008560 1227.1 977.933 -imu_odom_: 1691062866.12245840 0.653617 -0.263362 9.80665 -0.0490022 -0.00745685 0.230097 0.1 0.29 pose: 0.0 0.384328 -3.849 0 0.0174332 -0.00322196 0.999807 0.00844812 uwb: 0.0 1227.1 977.933 -imu_odom_: 1691062866.29266214 0.691924 -0.131681 9.81144 -0.0596548 0 0.223706 0.06 0.2 pose: 0.50049682 0.384328 -3.849 0 0.0185944 -0.0003558690.999823 0.00290985 uwb: 0.0 1227.1 977.933 -imu_odom_: 1691062866.45324145 0.641646 -0.153229 9.98861 -0.0532632 0.0117179 0.207727 0.06 0.2 pose: 0.0 0.384328 -3.849 0 0.0185944 -0.0003558690.999823 0.00290985 uwb: 0.49960438 1226.93 978.149 -imu_odom_: 1691062866.62263441 0.651223 -0.203507 9.8282 -0.0543285 -0.0149137 0.187487 0.05 0.2 pose: 0.43055636 0.373022 -3.84793 0 0.0152467 0.00143577 0.999882 -0.000925501 uwb: 0.0 1226.93 978.149 -imu_odom_: 1691062866.88348867 0.438139 -0.184354 10.0916 -0.0617853 0.0138484 0.246076 0.05 0.2 pose: 0.0 0.373022 -3.84793 0 0.0152467 0.00143577 0.999882 -0.000925501 uwb: 0.0 1226.93 978.149 -imu_odom_: 1691062866.105341243 0.277727 -0.514753 9.95509 -0.0585895 -0.00106526 0.273773 0.05 0.2 pose: 0.8010155 0.370498 -3.85191 0 0.0145329 0.00117029 0.999893 -0.00152074 uwb: 0.50097222 1226.73 978.768 -imu_odom_: 1691062866.122330994 -0.351948 -0.344765 9.57441 -0.0468716 0.0639159 0.246076 0.07 0.23 pose: 0.0 0.370498 -3.85191 0 0.0145329 0.00117029 0.999893 -0.00152074 uwb: 0.0 1226.73 978.768 -imu_odom_: 1691062866.138201395 -0.787692 -0.047884 10.2185 -0.0500674 0.0213053 0.216249 0.08 0.11 pose: 0.0 0.370498 -3.85191 0 0.0145329 0.00117029 0.999893 -0.00152074 uwb: 0.0 1226.73 978.768 -imu_odom_: 1691062866.155263767 -0.687136 0.059855 9.67018 -0.056459 -0.04048 0.18003 0.08 0.11 pose: 0.75881373 0.370498 -3.85191 0 0.00660072 -0.0004030290.999935 -0.00923879 uwb: 0.49927774 1226.43 979.194 -imu_odom_: 1691062866.171258119 0.225055 -0.0574608 9.91439 -0.0500674 -0.0394148 0.138484 0.09 0.11 pose: 0.0 0.370498 -3.85191 0 0.00660072 -0.0004030290.999935 -0.00923879 uwb: 0.0 1226.43 979.194 -imu_odom_: 1691062866.188252828 0.31364 -0.0814029 9.78271 -0.0671117 -0.00532632 0.155529 0.09 0.11 pose: 0.34048915 0.370498 -3.85191 0 0.00368478 0.000509977 0.999926 -0.0116229 uwb: 0.0 1226.43 979.194 -imu_odom_: 1691062866.205253079 0.124498 -0.452504 10.0748 -0.0692422 0.0149137 0.156594 0.09 0.11 pose: 0.0 0.370498 -3.85191 0 0.00368478 0.000509977 0.999926 -0.0116229 uwb: 0.49907067 1226.16 979.617 -imu_odom_: 1691062866.220259614 -0.11971 -0.311246 9.9503 -0.0468716 0.00426106 0.137419 0.11 0.08 pose: 0.41988491 0.362129 -3.84644 0 0.000360817 0.000597313 0.999902 -0.0139912 uwb: 0.0 1226.16 979.617 -imu_odom_: 1691062866.237193660 0.059855 -0.0095768110.173 -0.0532632 -0.0394148 0.150202 0.11 0.08 pose: 0.7023212 0.362129 -3.84644 0 -0.0003560220.000476333 0.999897 -0.0143344 uwb: 0.0 1226.16 979.617 -imu_odom_: 1691062866.251188462 0.143652 -0.349553 9.60075 -0.0703074 0.00532632 0.140615 0.11 0.08 pose: 0.0 0.362129 -3.84644 0 -0.0003560220.000476333 0.999897 -0.0143344 uwb: 0.50003311 1225.98 980.23 -imu_odom_: 1691062866.267335930 0.275333 -0.351948 9.8689 -0.0617853 0.0127832 0.116114 0.13 0.08 pose: 0.38912171 0.359216 -3.85088 0 -0.00350655 0.000279417 0.99986 -0.0163653 uwb: 0.0 1225.98 980.23 -imu_odom_: 1691062866.284338222 0.337582 -0.411803 9.84017 -0.0692422 -0.0213053 0.12144 0.17 0.08 pose: 0.0 0.359216 -3.85088 0 -0.00350655 0.000279417 0.99986 -0.0163653 uwb: 0.0 1225.98 980.23 -imu_odom_: 1691062866.302262127 0.40462 -0.323217 9.94551 -0.0617853 0.02024 0.120375 0.17 0.08 pose: 0.0 0.359216 -3.85088 0 -0.00350655 0.000279417 0.99986 -0.0163653 uwb: 0.50017893 1225.74 981.044 -imu_odom_: 1691062866.316216974 0.169988 -0.191536 9.58878 -0.072438 0.0223706 0.120375 0.17 0.08 pose: 0.23208303 0.356648 -3.8548 0 -0.00409339 -0.00202428 0.999841 -0.0172639 uwb: 0.0 1225.74 981.044 -imu_odom_: 1691062866.333469793 0.059855 -0.19393 9.50259 -0.0735032 0.0276969 0.110787 0.13 0.08 pose: 0.0 0.356648 -3.8548 0 -0.00409339 -0.00202428 0.999841 -0.0172639 uwb: 0.0 1225.74 981.044 -imu_odom_: 1691062866.349206910 0.301669 -0.260968 10.3477 -0.076699 0.052198 0.1012 0.13 0.08 pose: 0.0 0.356648 -3.8548 0 -0.00409339 -0.00202428 0.999841 -0.0172639 uwb: 0.50013228 1225.95 981.82 -imu_odom_: 1691062866.366197536 -0.148441 -0.162806 9.7444 -0.0553937 -0.0617853 0.104396 0.14 0.08 pose: 0.74810145 0.348271 -3.84934 0 -0.00515877 -0.00237389 0.999783 -0.0200599 uwb: 0.0 1225.95 981.82 -imu_odom_: 1691062866.383210911 0.435745 -0.265756 9.88087 -0.0511327 -0.0916127 0.131028 0.14 0.08 pose: 0.0 0.348271 -3.84934 0 -0.00515877 -0.00237389 0.999783 -0.0200599 uwb: 0.0 1225.95 981.82 -imu_odom_: 1691062866.400182580 0.969652 -0.442927 9.89763 -0.0458064 -0.0266316 0.190682 0.14 0.08 pose: 0.0 0.348271 -3.84934 0 -0.00515877 -0.00237389 0.999783 -0.0200599 uwb: 0.50109763 1226.07 982.208 -imu_odom_: 1691062866.416317507 1.70946 -0.577003 9.84256 -0.0660464 -0.0692422 0.164051 0.11 0.02 pose: 0.7122664 0.348271 -3.84934 0 -0.00565428 -0.00223511 0.999776 -0.0202935 uwb: 0.0 1226.07 982.208 -imu_odom_: 1691062866.433382795 1.34554 -0.0502782 9.57681 -0.0383495 -0.00639159 0.0894822 0.12 0.02 pose: 0.0 0.348271 -3.84934 0 -0.00565428 -0.00223511 0.999776 -0.0202935 uwb: 0.0 1226.07 982.208 -imu_odom_: 1691062866.450250346 1.42455 0.265756 10.1251 -0.0575243 0.04048 0.0916127 0.12 0.02 pose: 0.66989271 0.33445 -3.85234 0 0.000714308 -0.00262472 0.999712 -0.0238424 uwb: 0.50113554 1226 983.403 -imu_odom_: 1691062866.465329793 1.43892 -0.0047884 9.5792 -0.0713727 0.0138484 0.103331 0.12 0.02 pose: 0.0 0.33445 -3.85234 0 0.000714308 -0.00262472 0.999712 -0.0238424 uwb: 0.0 1226 983.403 -imu_odom_: 1691062866.481325894 0.0790087 -0.507571 9.26317 -0.0585895 0.0585895 0.092678 0.09 0.02 pose: 0.0 0.33445 -3.85234 0 0.000714308 -0.00262472 0.999712 -0.0238424 uwb: 0.0 1226 983.403 -imu_odom_: 1691062866.498260524 0.28491 -0.258574 10.4579 -0.036219 0.0149137 0.0117179 0.09 0.02 pose: 0.33929923 0.33445 -3.85234 0 0.00340389 -0.00136238 0.999687 -0.0247448 uwb: 0.49753951 1225.81 983.813 -imu_odom_: 1691062866.516328504 0.383072 0.179565 9.73961 -0.0415453 -0.0788296 0.00426106 0.06 0.02 pose: 0.41011756 0.32978 -3.84933 0 0.000446307 -0.00204567 0.99968 -0.0251975 uwb: 0.0 1225.81 983.813 -imu_odom_: 1691062866.541385573 0.802058 -0.438139 10.1227 -0.0649811 0.00532632 0.0585895 0.06 0.02 pose: 0.7986239 0.326045 -3.84692 0 0.000671969 -0.00118639 0.999685 -0.025057 uwb: 0.50146219 1226.17 984.184 -imu_odom_: 1691062866.568251744 0.47884 -0.373495 9.93833 -0.0426106 0.0319579 0 0.07 0.05 pose: 0.35138810 0.326045 -3.84692 0 0.00303894 -0.00143244 0.999679 -0.0251183 uwb: 0.0 1226.17 984.184 -imu_odom_: 1691062866.594238883 -1.33118 0.325611 10.4196 -0.0628506 0.0372843 0.0660464 0.08 0.02 pose: 0.0 0.326045 -3.84692 0 0.00303894 -0.00143244 0.999679 -0.0251183 uwb: 0.50232256 1226.15 984.582 -imu_odom_: 1691062866.611295714 -0.90022 -0.629675 9.81862 -0.0671117 -0.0969391 0.0884169 0.12 0.02 pose: 0.34834910 0.326045 -3.84692 0 0.00203631 -0.00371827 0.999686 -0.0247009 uwb: 0.0 1226.15 984.582 -imu_odom_: 1691062866.637315809 0.325611 -0.100556 10.058 -0.0287621 -0.0415453 0.0607201 0.12 0.02 pose: 0.0 0.326045 -3.84692 0 0.00203631 -0.00371827 0.999686 -0.0247009 uwb: 0.0 1226.15 984.582 -imu_odom_: 1691062866.664372719 0.270545 -0.253785 9.80665 -0.0617853 0.0372843 0.0862864 0.1 0 pose: 0.42969308 0.320625 -3.85533 0 -0.00100621 -0.00295558 0.999671 -0.0254525 uwb: 0.49759200 1226.19 985.57 -imu_odom_: 1691062866.690187202 -0.0311246 -0.21069 9.68694 -0.0553937 0.00532632 0.0703074 0.12 0.02 pose: 0.45182928 0.314599 -3.85145 0 -0.00445345 -0.00166417 0.999643 -0.0262817 uwb: 0.49943523 1226.44 987.338 -imu_odom_: 1691062866.717233612 0.107739 -0.311246 9.663 -0.0532632 0.0149137 0.0628506 0.12 0.02 pose: 0.7979239 0.312211 -3.84992 0 -0.00528858 -0.00160904 0.999636 -0.0264056 uwb: 0.0 1226.44 987.338 -imu_odom_: 1691062866.742181021 0.1652 -0.143652 10.094 -0.052198 -0.036219 0.0735032 0.13 0 pose: 0.44881654 0.312211 -3.84992 0 -0.00984861 -0.00264855 0.999584 -0.0269911 uwb: 0.49958981 1226.42 986.15 -imu_odom_: 1691062866.759302889 0.311246 -0.141258 10.0892 -0.0436758 -0.0713727 0.0607201 0.13 0 pose: 0.0 0.312211 -3.84992 0 -0.00984861 -0.00264855 0.999584 -0.0269911 uwb: 0.0 1226.42 986.15 -imu_odom_: 1691062866.785445186 0.462081 -0.363919 10.0485 -0.0553937 -0.0245011 0.0671117 0.13 0 pose: 0.42069277 0.298402 -3.85297 0 -0.00832462 0.000826218 0.999583 -0.0276298 uwb: 0.0 1226.42 986.15 -imu_odom_: 1691062866.812440850 0.222661 -0.110133 9.74919 -0.04048 0.0308927 0.0479369 0.13 0 pose: 0.0 0.298402 -3.85297 0 -0.00832462 0.000826218 0.999583 -0.0276298 uwb: 0.49955480 1226.47 986.941 -imu_odom_: 1691062866.837456796 0.778116 -0.45011 10.2113 -0.0617853 0.00639159 0.0830906 0.14 0 pose: 0.33035725 0.298402 -3.85297 0 -0.00641613 -5.42734e-050.999587 -0.0280108 uwb: 0.0 1226.47 986.941 -imu_odom_: 1691062866.854289932 0.56982 -0.225055 10.1682 -0.04048 0.0255663 0.0500674 0.14 0 pose: 0.0 0.298402 -3.85297 0 -0.00641613 -5.42734e-050.999587 -0.0280108 uwb: 0.49876444 1226.21 988.342 -imu_odom_: 1691062866.871290474 0.423774 -0.0742203 9.84735 -0.0500674 -0.0149137 0.0639159 0.15 0.02 pose: 0.27927776 0.298402 -3.85297 0 -0.00715955 0.00143563 0.999574 -0.0282735 uwb: 0.0 1226.21 988.342 -imu_odom_: 1691062866.897264489 0.42138 -0.351948 10.1347 -0.0479369 0.0500674 0.0692422 0.15 0.02 pose: 0.0 0.298402 -3.85297 0 -0.00715955 0.00143563 0.999574 -0.0282735 uwb: 0.49981729 1226.16 989.73 -imu_odom_: 1691062866.923303250 0.902614 -0.0263362 10.4172 -0.0415453 0.0468716 0.0479369 0.15 0 pose: 0.41988490 0.284581 -3.85604 0 -0.00374097 0.00129274 0.999576 -0.0288333 uwb: 0.0 1226.16 989.73 -imu_odom_: 1691062866.940153010 0.608127 -0.399832 9.79468 -0.0692422 0.0479369 0.0916127 0.15 0 pose: 0.0 0.284581 -3.85604 0 -0.00374097 0.00129274 0.999576 -0.0288333 uwb: 0.50116179 1225.75 990.539 -imu_odom_: 1691062866.957327084 0.19393 -0.0909797 10.0173 -0.0639159 -0.0106526 0.0660464 0.19 0.02 pose: 0.41954659 0.284581 -3.85604 0 -0.00225058 5.70944e-05 0.999566 -0.0293572 uwb: 0.0 1225.75 990.539 -imu_odom_: 1691062866.983283892 0.268151 0.0646434 9.58878 -0.0607201 0.0213053 0.056459 0.19 0.02 pose: 0.0 0.284581 -3.85604 0 -0.00225058 5.70944e-05 0.999566 -0.0293572 uwb: 0.0 1225.75 990.539 -imu_odom_: 1691062867.10148313 -0.301669 -0.385466 9.70849 -0.0639159 0.0213053 0.0703074 0.21 0.02 pose: 0.43025888 0.276182 -3.85061 0 -0.000693832-4.21154e-050.999551 -0.0299706 uwb: 0.49896276 1225.58 992.315 -imu_odom_: 1691062867.35261670 0.0143652 -0.0790087 9.97424 -0.0649811 0.0127832 0.0617853 0.21 0.02 pose: 0.0 0.276182 -3.85061 0 -0.000693832-4.21154e-050.999551 -0.0299706 uwb: 0.0 1225.58 992.315 -imu_odom_: 1691062867.62216212 0.385466 -0.258574 10.0245 -0.0607201 -0.00106526 0.0617853 0.19 0 pose: 0.42933435 0.262359 -3.8536 0 -0.00361138 0.00246038 0.999527 -0.0304303 uwb: 0.49975021 1225.29 992.916 -imu_odom_: 1691062867.87430188 0.332794 -0.0095768110.173 -0.0415453 -0.00319579 0.0585895 0.17 0 pose: 0.52057982 0.262359 -3.8536 0 -0.00774737 0.00192942 0.999485 -0.0310862 uwb: 0.0 1225.29 992.916 -imu_odom_: 1691062867.114299276 0.390255 -0.071826 9.80665 -0.0308927 -0.015979 0.0308927 0.17 0 pose: 0.0 0.262359 -3.8536 0 -0.00774737 0.00192942 0.999485 -0.0310862 uwb: 0.50145346 1225.61 993.498 -imu_odom_: 1691062867.130324835 0.612916 -0.0215478 9.65821 -0.0585895 -0.0117179 0.0479369 0.17 0 pose: 0.72072432 0.248543 -3.85662 0 -0.00328687 0.00553259 0.999484 -0.0314557 uwb: 0.0 1225.61 993.498 -imu_odom_: 1691062867.157296583 0.423774 -0.426168 9.91439 -0.0628506 -0.015979 0.052198 0.17 0 pose: 0.7896120 0.248543 -3.85662 0 -0.00251119 0.00578406 0.999484 -0.0314936 uwb: 0.50048517 1225.83 993.689 -imu_odom_: 1691062867.182212786 0.143652 -0.191536 9.5385 -0.0511327 -0.0127832 0.0575243 0.17 0 pose: 0.35101187 0.236314 -3.85718 0 -0.0010591 0.00329105 0.999491 -0.0317006 uwb: 0.0 1225.83 993.689 -imu_odom_: 1691062867.207195193 0.122104 -0.354342 9.9527 -0.0394148 -0.015979 0.052198 0.17 0 pose: 0.0 0.236314 -3.85718 0 -0.0010591 0.00329105 0.999491 -0.0317006 uwb: 0.49932441 1225.9 994.477 -imu_odom_: 1691062867.221203703 0.263362 -0.110133 9.90002 -0.0276969 -0.0330232 0.036219 0.19 0.02 pose: 0.49898610 0.228417 -3.85562 0 -0.00504585 0.00132255 0.999472 -0.0320602 uwb: 0.0 1225.9 994.477 -imu_odom_: 1691062867.246155195 0.203507 -0.351948 9.58638 -0.0543285 0.00745685 0.0596548 0.19 0.02 pose: 0.0 0.228417 -3.85562 0 -0.00504585 0.00132255 0.999472 -0.0320602 uwb: 0.49988438 1225.86 995.662 -imu_odom_: 1691062867.271412920 0.442927 -0.0311246 9.80186 -0.0543285 -0.0223706 0.0479369 0.23 0 pose: 0.38960002 0.22244 -3.86033 0 -0.00675806 0.000465933 0.999456 -0.0322754 uwb: 0.0 1225.86 995.662 -imu_odom_: 1691062867.285344726 0.785298 -0.227449 9.56723 -0.1012 0.0149137 0.0820254 0.23 0 pose: 0.0 0.22244 -3.86033 0 -0.00675806 0.000465933 0.999456 -0.0322754 uwb: 0.0 1225.86 995.662 -imu_odom_: 1691062867.310144561 0.651223 -0.483629 10.1825 -0.0681769 -0.0117179 0.0426106 0.16 0.02 pose: 0.39189531 0.212494 -3.85732 0 -0.00353722 0.00187713 0.999457 -0.0326943 uwb: 0.50135138 1226.09 995.657 -imu_odom_: 1691062867.334291392 0.186748 -0.275333 9.45949 -0.0340885 0.00213053 0.0245011 0.16 0.02 pose: 0.0 0.212494 -3.85732 0 -0.00353722 0.00187713 0.999457 -0.0326943 uwb: 0.0 1226.09 995.657 -imu_odom_: 1691062867.358127033 -0.155623 -0.301669 9.42118 -0.0553937 -0.0330232 0.056459 0.17 -0.02 pose: 0.48946666 0.212494 -3.85732 0 -0.00395214 -0.0005395740.999462 -0.032546 uwb: 0.0 1226.09 995.657 -imu_odom_: 1691062867.375324731 0.531513 0.0694318 10.149 -0.0585895 -0.0117179 0.0458064 0.17 -0.02 pose: 0.6843556 0.212494 -3.85732 0 -0.00452528 -0.0006687360.999458 -0.0326035 uwb: 0.0 1226.09 995.657 -imu_odom_: 1691062867.400149064 1.00556 -0.124498 10.0868 -0.0511327 -0.0181095 0.0308927 0.26 0.02 pose: 0.34189783 0.198687 -3.86039 0 -0.00483045 0.000345702 0.99945 -0.0328072 uwb: 0.100009540 1226.19 995.656 -imu_odom_: 1691062867.423209500 0.873884 -0.167594 9.96227 -0.0575243 -0.0276969 0.0479369 0.26 0.02 pose: 0.0 0.198687 -3.86039 0 -0.00483045 0.000345702 0.99945 -0.0328072 uwb: 0.0 1226.19 995.656 -imu_odom_: 1691062867.439209102 0.605733 -0.0670376 9.87608 -0.0596548 -0.0500674 0.0479369 0.18 0.02 pose: 0.6950883 0.198687 -3.86039 0 -0.00409417 0.000463829 0.999454 -0.0327778 uwb: 0.49841738 1225.86 997.24 -imu_odom_: 1691062867.466197183 0.153229 -0.0454898 9.99819 -0.0458064 0.0127832 0.0436758 0.18 0.02 pose: 0.0 0.198687 -3.86039 0 -0.00409417 0.000463829 0.999454 -0.0327778 uwb: 0.0 1225.86 997.24 -imu_odom_: 1691062867.491112511 0.129287 -0.344765 10.0485 -0.056459 0.0127832 0.0426106 0.22 -0.02 pose: 0.47955349 0.190251 -3.85502 0 0.0011007 0.0013609 0.999459 -0.03283 uwb: 0.49988729 1225.79 997.833 -imu_odom_: 1691062867.508132886 0.430956 -0.215478 9.85932 -0.0458064 -0.00852212 0.0330232 0.22 -0.02 pose: 0.0 0.190251 -3.85502 0 0.0011007 0.0013609 0.999459 -0.03283 uwb: 0.0 1225.79 997.833 -imu_odom_: 1691062867.533277158 0.754174 -0.102951 10.1801 -0.0639159 -0.0426106 0.0436758 0.2 0 pose: 0.77901923 0.176445 -3.85808 0 -0.00122071 0.00100828 0.999458 -0.032893 uwb: 0.0 1225.79 997.833 -imu_odom_: 1691062867.559189344 0.742203 -0.181959 9.72285 -0.0553937 -0.0426106 0.0468716 0.2 0 pose: 0.0 0.176445 -3.85808 0 -0.00122071 0.00100828 0.999458 -0.032893 uwb: 0.50025186 1226.27 998.422 -imu_odom_: 1691062867.584166793 0.725443 -0.205901 10.1682 -0.052198 -0.0170442 0.0479369 0.18 0 pose: 0.8165603 0.176445 -3.85808 0 -0.0002757220.00119645 0.999458 -0.0329107 uwb: 0.0 1226.27 998.422 -imu_odom_: 1691062867.611134458 0.64404 -0.0263362 9.92875 -0.0703074 0.0426106 0.0436758 0.19 -0.02 pose: 0.49975897 0.16264 -3.86116 0 0.00552877 0.00168166 0.999436 -0.0330754 uwb: 0.49988730 1226.32 999.015 -imu_odom_: 1691062867.636121532 0.610521 -0.181959 9.88326 -0.0681769 -0.0255663 0.0383495 0.19 -0.02 pose: 0.0 0.16264 -3.86116 0 0.00552877 0.00168166 0.999436 -0.0330754 uwb: 0.0 1226.32 999.015 -imu_odom_: 1691062867.661167519 0.497994 -0.332794 9.63427 -0.072438 0.0106526 0.0458064 0.23 0 pose: 0.69847146 0.148837 -3.86423 0 0.0104043 0.00216611 0.999392 -0.0331929 uwb: 0.49929232 1226.42 1000 -imu_odom_: 1691062867.675227651 0.713472 -0.433351 9.3326 -0.0628506 0.0351537 0.0340885 0.23 0 pose: 0.7019421 0.148837 -3.86423 0 0.00997743 0.00151194 0.999397 -0.0332198 uwb: 0.0 1226.42 1000 -imu_odom_: 1691062867.699385856 0.557849 -0.356736 9.34217 -0.0639159 0.00639159 0.0330232 0.18 0 pose: 0.0 0.148837 -3.86423 0 0.00997743 0.00151194 0.999397 -0.0332198 uwb: 0.50060184 1226.58 1000.6 -imu_odom_: 1691062867.726157825 0.711078 -0.392649 10.1969 -0.0490022 -0.0426106 0.0319579 0.18 0 pose: 0.39141408 0.140396 -3.85887 0 0.00931931 -0.00208627 0.999402 -0.0332424 uwb: 0.0 1226.58 1000.6 -imu_odom_: 1691062867.742102013 0.720655 -0.390255 9.35175 -0.0543285 -0.0106526 0.0372843 0.19 0 pose: 0.0 0.140396 -3.85887 0 0.00931931 -0.00208627 0.999402 -0.0332424 uwb: 0.49905026 1226.72 1000.2 -imu_odom_: 1691062867.769243502 0.349553 -0.213084 9.66779 -0.04048 0.00532632 0.0298274 0.19 0 pose: 0.51908075 0.135034 -3.86731 0 0.0124302 -0.00568658 0.999359 -0.0330986 uwb: 0.0 1226.72 1000.2 -imu_odom_: 1691062867.795098816 0.497994 -0.371101 9.40921 -0.0660464 0.0276969 0.0383495 0.2 -0.02 pose: 0.35053066 0.126594 -3.86195 0 0.010449 -0.00493626 0.99939 -0.0329643 uwb: 0.0 1226.72 1000.2 -imu_odom_: 1691062867.820329708 0.366313 -0.225055 9.54089 -0.0458064 -0.0287621 0.0383495 0.2 -0.02 pose: 0.7873954 0.126594 -3.86195 0 0.00966524 -0.00541265 0.999395 -0.0329663 uwb: 0.0 1226.72 1000.2 -imu_odom_: 1691062867.834158854 0.287304 -0.289698 9.39245 -0.0468716 0.0181095 0.052198 0.2 -0.02 pose: 0.0 0.126594 -3.86195 0 0.00966524 -0.00541265 0.999395 -0.0329663 uwb: 0.0 1226.72 1000.2 -imu_odom_: 1691062867.859157010 0.28491 -0.282516 9.84017 -0.0479369 -0.0490022 0.0287621 0.2 -0.02 pose: 0.49067408 0.11279 -3.86502 0 0.00536433 -0.00500877 0.999428 -0.0330024 uwb: 0.100006624 1226.94 1002.77 -imu_odom_: 1691062867.876162219 0.507571 -0.0909797 9.33978 -0.0639159 -0.00745685 0.0287621 0.25 0 pose: 0.0 0.11279 -3.86502 0 0.00536433 -0.00500877 0.999428 -0.0330024 uwb: 0.0 1226.94 1002.77 -imu_odom_: 1691062867.901108170 0.117316 -0.409408 9.62948 -0.0543285 0.00639159 0.036219 0.25 0 pose: 0.39916613 0.11279 -3.86502 0 0.00273415 -0.00387437 0.999448 -0.0328955 uwb: 0.49947023 1227.25 1002.97 -imu_odom_: 1691062867.926171364 -0.158017 -0.0622492 10.0269 -0.052198 0.0127832 0.052198 0.21 0 pose: 0.35006693 0.100562 -3.86561 0 0.000582462 -0.0039376 0.999454 -0.0328051 uwb: 0.0 1227.25 1002.97 -imu_odom_: 1691062867.949250466 0.220267 -0.246603 10.0317 -0.052198 0.0287621 0.0276969 0.21 0 pose: 0.7058502 0.0989841 -3.86809 0 -0.000140791-0.00368517 0.999453 -0.0328519 uwb: 0.50007979 1227.66 1002.58 -imu_odom_: 1691062867.965296149 0.287304 -0.208296 9.40921 -0.0532632 -0.00532632 0.0468716 0.18 -0.02 pose: 0.0 0.0989841 -3.86809 0 -0.000140791-0.00368517 0.999453 -0.0328519 uwb: 0.0 1227.66 1002.58 -imu_odom_: 1691062867.983119726 0.579397 -0.248997 10.2831 -0.0596548 -0.0340885 0.052198 0.18 -0.02 pose: 0.48996538 0.0905467 -3.86272 0 -0.005038 -0.00196296 0.999445 -0.0328732 uwb: 0.0 1227.66 1002.58 -imu_odom_: 1691062868.8093384 0.418985 -0.0311246 9.46428 -0.0511327 -0.00852212 0.0458064 0.18 0.02 pose: 0.0 0.0905467 -3.86272 0 -0.005038 -0.00196296 0.999445 -0.0328732 uwb: 0.50077682 1227.74 1003.38 -imu_odom_: 1691062868.32146888 0.73502 -0.205901 10.0676 -0.056459 -0.036219 0.0532632 0.18 0.02 pose: 0.34041041 0.0851798 -3.87116 0 -0.00309935 -0.0005145740.999449 -0.0330454 uwb: 0.0 1227.74 1003.38 -imu_odom_: 1691062868.47149923 0.600945 -0.0191536 9.67736 -0.0500674 -0.00426106 0.0458064 0.18 0 pose: 0.40942637 0.0767408 -3.8658 0 0.000286292 0.00110128 0.999446 -0.0332694 uwb: 0.49965690 1228.51 1004.19 -imu_odom_: 1691062868.72146621 0.399832 -0.196325 9.60554 -0.0745685 0.0106526 0.0649811 0.18 0 pose: 0.7070751 0.0767408 -3.8658 0 0.000792677 0.00161371 0.999444 -0.0332918 uwb: 0.0 1228.51 1004.19 -imu_odom_: 1691062868.99314651 0.371101 -0.248997 9.72046 -0.0596548 0.00213053 0.0511327 0.25 0.02 pose: 0.32928982 0.0668146 -3.86801 0 -0.0007826520.000396221 0.999434 -0.0336321 uwb: 0.49948191 1228.74 1003.19 -imu_odom_: 1691062868.124200522 0.447716 -0.378284 9.71806 -0.0703074 -0.0181095 0.0532632 0.25 0.02 pose: 0.0 0.0668146 -3.86801 0 -0.0007826520.000396221 0.999434 -0.0336321 uwb: 0.0 1228.74 1003.19 -imu_odom_: 1691062868.141143610 0.521936 -0.167594 9.90721 -0.0713727 -0.0213053 0.0447411 0.2 0 pose: 0.52053901 0.0569309 -3.86507 0 -0.000186772-0.00442519 0.999414 -0.0339504 uwb: 0.50043852 1229.19 1005.4 -imu_odom_: 1691062868.157196876 0.526724 -0.339977 9.72046 -0.0809601 0 0.0490022 0.2 0 pose: 0.0 0.0569309 -3.86507 0 -0.000186772-0.00442519 0.999414 -0.0339504 uwb: 0.0 1229.19 1005.4 -imu_odom_: 1691062868.184076755 0.383072 -0.179565 10.0748 -0.036219 -0.0330232 0.0319579 0.25 0 pose: 0.32996354 0.0517957 -3.86779 0 0.00246391 -0.00425316 0.999408 -0.0340614 uwb: 0.0 1229.19 1005.4 -imu_odom_: 1691062868.209073453 0.37589 -0.373495 9.7851 -0.0543285 0.0181095 0.0372843 0.25 0 pose: 0.0 0.0517957 -3.86779 0 0.00246391 -0.00425316 0.999408 -0.0340614 uwb: 0.50047644 1228.98 1005.39 -imu_odom_: 1691062868.226076621 0.581791 0.0215478 9.92636 -0.0500674 -0.0287621 0.0340885 0.21 0 pose: 0.51876577 0.0432118 -3.86822 0 0.000274987 -0.00399017 0.999416 -0.0339374 uwb: 0.0 1228.98 1005.39 -imu_odom_: 1691062868.251063403 0.0167594 -0.304064 9.80904 -0.0617853 0.00213053 0.0607201 0.21 0 pose: 0.7150664 0.0406938 -3.86663 0 0.000689988 -0.00333202 0.999419 -0.0339167 uwb: 0.50040644 1229.2 1007 -imu_odom_: 1691062868.268210938 0.280122 -0.466869 9.8665 -0.0553937 -0.0553937 0.0415453 0.23 0 pose: 0.34839286 0.0369152 -3.8726 0 -0.00129303 -0.00284541 0.999412 -0.0341582 uwb: 0.0 1229.2 1007 -imu_odom_: 1691062868.293075519 0.708684 -0.220267 9.90481 -0.0607201 -0.0617853 0.0458064 0.23 0 pose: 0.0 0.0369152 -3.8726 0 -0.00129303 -0.00284541 0.999412 -0.0341582 uwb: 0.49981147 1229.59 1007.41 -imu_odom_: 1691062868.318265289 0.591368 -0.0670376 10.2065 -0.036219 -0.0607201 0.0287621 0.22 0.02 pose: 0.7008922 0.0353447 -3.87508 0 -0.0013985 -0.00348077 0.999409 -0.0341655 uwb: 0.0 1229.59 1007.41 -imu_odom_: 1691062868.344152102 0.37589 -0.232238 10.1107 -0.0458064 -0.0340885 0.0532632 0.22 0.02 pose: 0.0 0.0353447 -3.87508 0 -0.0013985 -0.00348077 0.999409 -0.0341655 uwb: 0.49831531 1229.62 1007.21 -imu_odom_: 1691062868.361185602 0.4956 -0.287304 9.84735 -0.0468716 -0.0191748 0.0426106 0.19 0 pose: 0.42019115 0.0268938 -3.86973 0 0.00215073 -0.00313026 0.999408 -0.0342077 uwb: 0.0 1229.62 1007.21 -imu_odom_: 1691062868.386203590 0.342371 -0.361524 9.86172 -0.0692422 0.0149137 0.0628506 0.19 0 pose: 0.0 0.0268938 -3.86973 0 0.00215073 -0.00313026 0.999408 -0.0342077 uwb: 0.0 1229.62 1007.21 -imu_odom_: 1691062868.413078803 0.529119 -0.141258 9.9527 -0.0479369 -0.0255663 0.0426106 0.23 0 pose: 0.51033128 0.0130968 -3.87284 0 0.00207325 -0.00141442 0.999409 -0.0342971 uwb: 0.50019062 1229.5 1008.41 -imu_odom_: 1691062868.438218118 0.775721 -0.234632 10.2208 -0.0490022 -0.0213053 0.0383495 0.18 0.02 pose: 0.61954235 0.00708302 -3.86904 0 0.00272401 -0.00156953 0.999395 -0.034645 uwb: 0.0 1229.5 1008.41 -imu_odom_: 1691062868.463061409 0.651223 -0.0646434 10.4052 -0.0490022 0.00319579 0.0532632 0.21 -0.02 pose: 0.8112815 0.00464082 -3.8675 0 0.00360122 -0.00147865 0.999392 -0.0346387 uwb: 0.50009437 1229.57 1009.82 -imu_odom_: 1691062868.484068050 0.572214 -0.299275 9.66779 -0.0458064 -0.0479369 0.0436758 0.21 -0.02 pose: 0.23950844 -0.000697238-3.87596 0 0.00581589 -0.0007009060.999382 -0.034669 uwb: 0.0 1229.57 1009.82 -imu_odom_: 1691062868.509178200 0.593762 -0.167594 9.97185 -0.0628506 -0.04048 0.04048 0.18 0 pose: 0.0 -0.000697238-3.87596 0 0.00581589 -0.0007009060.999382 -0.034669 uwb: 0.49999230 1230.08 1010.04 -imu_odom_: 1691062868.527205058 0.438139 -0.213084 9.81862 -0.0628506 0.00213053 0.04048 0.18 0 pose: 0.24003048 -0.00915367-3.87062 0 0.00716401 0.000296209 0.999369 -0.0347987 uwb: 0.0 1230.08 1010.04 -imu_odom_: 1691062868.552125927 0.529119 -0.0837971 9.64624 -0.0713727 0.0181095 0.0532632 0.18 -0.02 pose: 0.47978682 -0.00915367-3.87062 0 0.00868036 0.00112442 0.999355 -0.0348336 uwb: 0.50114723 1230.36 1011.06 -imu_odom_: 1691062868.569122096 0.474052 -0.385466 10.1562 -0.0607201 0.00958738 0.052198 0.18 -0.02 pose: 0.0 -0.00915367-3.87062 0 0.00868036 0.00112442 0.999355 -0.0348336 uwb: 0.0 1230.36 1011.06 -imu_odom_: 1691062868.594060464 0.636858 -0.0957681 10.2927 -0.0479369 0.0245011 0.0426106 0.21 0 pose: 0.41945619 -0.0229466 -3.87374 0 0.00664686 0.00247604 0.999361 -0.0350361 uwb: 0.49881403 1230.23 1012.27 -imu_odom_: 1691062868.619171781 0.790087 -0.11971 9.92875 -0.0639159 0.0127832 0.0415453 0.23 -0.02 pose: 0.34990653 -0.0288996 -3.86999 0 0.00775926 0.00328492 0.999347 -0.0351355 uwb: 0.0 1230.23 1012.27 -imu_odom_: 1691062868.642169805 0.792481 -0.366313 9.39245 -0.0617853 0.00852212 0.0479369 0.23 -0.02 pose: 0.0 -0.0288996 -3.86999 0 0.00775926 0.00328492 0.999347 -0.0351355 uwb: 0.49998938 1229.99 1013.26 -imu_odom_: 1691062868.667142004 0.366313 -0.328006 9.84496 -0.0511327 0.0436758 0.0543285 0.19 0 pose: 0.7079792 -0.031407 -3.86841 0 0.00839569 0.00338487 0.999341 -0.0351435 uwb: 0.0 1229.99 1013.26 -imu_odom_: 1691062868.694091296 0.560243 -0.0837971 9.84496 -0.0820254 0.0245011 0.0468716 0.19 0 pose: 0.0 -0.031407 -3.86841 0 0.00839569 0.00338487 0.999341 -0.0351435 uwb: 0.50046186 1229.84 1013.25 -imu_odom_: 1691062868.711101756 0.174777 -0.258574 9.91439 -0.0500674 -0.0234358 0.0308927 0.19 -0.02 pose: 0.49034745 -0.036737 -3.87687 0 0.0106307 0.00154648 0.999317 -0.0353443 uwb: 0.0 1229.84 1013.25 -imu_odom_: 1691062868.737109020 0.739808 -0.215478 10.1347 -0.0649811 -0.072438 0.0426106 0.19 -0.02 pose: 0.0 -0.036737 -3.87687 0 0.0106307 0.00154648 0.999317 -0.0353443 uwb: 0.0 1229.84 1013.25 -imu_odom_: 1691062868.754167309 0.507571 -0.411803 9.33499 -0.0649811 0.0511327 0.0436758 0.18 0.02 pose: 0.51953573 -0.0505259 -3.88001 0 0.00729972 0.00279417 0.999339 -0.0355146 uwb: 0.50115306 1230.2 1013.68 -imu_odom_: 1691062868.779057556 0.596156 -0.28491 9.48822 -0.0553937 -0.0106526 0.0426106 0.18 0.02 pose: 0.0 -0.0505259 -3.88001 0 0.00729972 0.00279417 0.999339 -0.0355146 uwb: 0.0 1230.2 1013.68 -imu_odom_: 1691062868.803042522 0.47884 -0.476446 9.75877 -0.052198 0.00852212 0.0319579 0.23 0 pose: 0.42006575 -0.0589912 -3.87469 0 0.00956152 0.00126596 0.999322 -0.0355414 uwb: 0.50065434 1230.29 1014.49 -imu_odom_: 1691062868.830174678 0.519542 -0.177171 9.97664 -0.0607201 -0.0415453 0.0383495 0.23 0 pose: 0.0 -0.0589912 -3.87469 0 0.00956152 0.00126596 0.999322 -0.0355414 uwb: 0.0 1230.29 1014.49 -imu_odom_: 1691062868.855043925 0.380678 -0.143652 10.2161 -0.04048 -0.0628506 0.0394148 0.19 0 pose: 0.41996074 -0.0727794 -3.87783 0 0.00962353 -0.00268586 0.999316 -0.0356094 uwb: 0.49755994 1230.65 1015.12 -imu_odom_: 1691062868.872113298 0.153229 -0.407014 9.35654 -0.0617853 0.0191748 0.0436758 0.19 0 pose: 0.0 -0.0727794 -3.87783 0 0.00962353 -0.00268586 0.999316 -0.0356094 uwb: 0.0 1230.65 1015.12 -imu_odom_: 1691062868.897041167 0.497994 -0.141258 9.52174 -0.0436758 -0.0245011 0.04048 0.24 0 pose: 0.51956490 -0.0727794 -3.87783 0 0.00766757 -0.0013197 0.999338 -0.035529 uwb: 0.50062226 1231.08 1016.16 -imu_odom_: 1691062868.922025908 -0.110133 -0.373495 10.058 -0.0713727 0.0287621 0.056459 0.24 0 pose: 0.24045629 -0.0812451 -3.87251 0 0.00597035 -0.0007054790.99935 -0.0355427 uwb: 0.0 1231.08 1016.16 -imu_odom_: 1691062868.947107184 0.0622492 -0.153229 9.9934 -0.0532632 -0.02024 0.0351537 0.23 0 pose: 0.42033698 -0.0865678 -3.88097 0 0.00439434 0.00114875 0.999355 -0.0356266 uwb: 0.50048810 1231.36 1017.19 -imu_odom_: 1691062868.965038381 0.519542 0.0502782 10.3884 -0.0575243 -0.00532632 0.052198 0.23 0 pose: 0.0 -0.0865678 -3.88097 0 0.00439434 0.00114875 0.999355 -0.0356266 uwb: 0.0 1231.36 1017.19 -imu_odom_: 1691062868.989041138 0.100556 -0.0263362 9.92875 -0.0490022 0.0383495 0.0223706 0.19 0.02 pose: 0.50951757 -0.0950343 -3.87565 0 0.000425165 0.00145131 0.999359 -0.0357712 uwb: 0.49856613 1231.85 1017.03 -imu_odom_: 1691062869.16073550 0.442927 -0.390255 9.55765 -0.0490022 -0.0255663 0.0351537 0.24 -0.05 pose: 0.33922341 -0.105954 -3.8806 0 -0.00193491 0.0033158 0.999358 -0.0356225 uwb: 0.0 1231.85 1017.03 -imu_odom_: 1691062869.41059749 0.392649 -0.356736 9.64384 -0.052198 0.00213053 0.0426106 0.24 -0.05 pose: 0.0 -0.105954 -3.8806 0 -0.00193491 0.0033158 0.999358 -0.0356225 uwb: 0.50039186 1232.02 1017.86 -imu_odom_: 1691062869.66062573 -0.0143652 -0.337582 10.0556 -0.0340885 -0.0276969 0.0490022 0.2 0 pose: 0.8167353 -0.108821 -3.8788 0 -0.00157982 0.00257348 0.999361 -0.0356036 uwb: 0.0 1232.02 1017.86 -imu_odom_: 1691062869.80183369 0.270545 -0.0766145 9.65821 -0.0458064 -0.0127832 0.0383495 0.2 0 pose: 0.0 -0.108821 -3.8788 0 -0.00157982 0.00257348 0.999361 -0.0356036 uwb: 0.0 1232.02 1017.86 -imu_odom_: 1691062869.96128724 0.488417 -0.201113 9.68455 -0.0671117 0.0213053 0.0543285 0.17 0.02 pose: 0.50870680 -0.117287 -3.87348 0 -0.0012972 -0.00170519 0.999363 -0.0356299 uwb: 0.49986107 1232.31 1018.08 -imu_odom_: 1691062869.120023279 0.45011 -0.112527 9.75398 -0.0500674 0.0170442 0.0426106 0.17 0.02 pose: 0.0 -0.117287 -3.87348 0 -0.0012972 -0.00170519 0.999363 -0.0356299 uwb: 0.0 1232.31 1018.08 -imu_odom_: 1691062869.145165219 0.325611 -0.213084 10.2568 -0.076699 0.00958738 0.0617853 0.18 0.02 pose: 0.39120702 -0.122609 -3.88195 0 -0.00279253 -0.0005416520.999356 -0.035765 uwb: 0.50001563 1232.23 1017.67 -imu_odom_: 1691062869.169177018 0.258574 -0.268151 9.61751 -0.0617853 0.0127832 0.0479369 0.18 0.02 pose: 0.0 -0.122609 -3.88195 0 -0.00279253 -0.0005416520.999356 -0.035765 uwb: 0.0 1232.23 1017.67 -imu_odom_: 1691062869.193196399 0.368707 -0.395043 9.60554 -0.0703074 -0.00319579 0.0553937 0.19 0 pose: 0.41007675 -0.131077 -3.87663 0 -0.00163763 0.0010707 0.999351 -0.0359598 uwb: 0.50163430 1232.49 1019.12 -imu_odom_: 1691062869.218101228 0.395043 -0.306458 9.39006 -0.0745685 0.00213053 0.0436758 0.19 0 pose: 0.0 -0.131077 -3.87663 0 -0.00163763 0.0010707 0.999351 -0.0359598 uwb: 0.0 1232.49 1019.12 -imu_odom_: 1691062869.245033313 0.304064 -0.225055 9.73243 -0.0415453 -0.0191748 0.0383495 0.22 0 pose: 0.47942227 -0.144864 -3.87978 0 -0.00506778 -0.00212398 0.999326 -0.0362921 uwb: 0.50203677 1233.06 1019.16 -imu_odom_: 1691062869.261175823 0.464475 -0.167594 9.97424 -0.052198 0.0181095 0.0490022 0.22 0 pose: 0.0 -0.144864 -3.87978 0 -0.00506778 -0.00212398 0.999326 -0.0362921 uwb: 0.0 1233.06 1019.16 -imu_odom_: 1691062869.287306747 0.591368 -0.217872 10.1586 -0.0607201 0.00319579 0.0287621 0.25 0 pose: 0.49898611 -0.144864 -3.87978 0 -0.00243962 -0.00403808 0.999324 -0.0364568 uwb: 0.0 1233.06 1019.16 -imu_odom_: 1691062869.314346451 0.543484 -0.414197 10.398 -0.0756338 0.00639159 0.0585895 0.18 0.02 pose: 0.42988268 -0.158646 -3.88295 0 -0.00161289 -0.00132934 0.999332 -0.0364868 uwb: 0.49616003 1232.98 1020.59 -imu_odom_: 1691062869.331187754 0.146046 -0.1652 9.64863 -0.0500674 -0.0255663 0.0426106 0.23 -0.02 pose: 0.0 -0.158646 -3.88295 0 -0.00161289 -0.00132934 0.999332 -0.0364868 uwb: 0.0 1232.98 1020.59 -imu_odom_: 1691062869.356149455 0.344765 -0.246603 9.35893 -0.0553937 0.036219 0.0585895 0.23 -0.02 pose: 0.0 -0.158646 -3.88295 0 -0.00161289 -0.00132934 0.999332 -0.0364868 uwb: 0.50244507 1233.24 1021.64 -imu_odom_: 1691062869.382213007 0.117316 -0.292093 9.91199 -0.036219 -0.0213053 0.0298274 0.21 0.02 pose: 0.53337742 -0.172429 -3.88612 0 0.00107687 -0.00318029 0.999322 -0.0366555 uwb: 0.0 1233.24 1021.64 -imu_odom_: 1691062869.408287643 0.21069 -0.488417 9.73482 -0.0553937 0.00213053 0.0500674 0.19 0.02 pose: 0.59838611 -0.180907 -3.88082 0 -0.004909 -0.00241041 0.999308 -0.0367905 uwb: 0.49860697 1233.61 1022.29 -imu_odom_: 1691062869.425375681 0.435745 -0.253785 9.77553 -0.0436758 0.00319579 0.0511327 0.23 -0.02 pose: 0.9100341 -0.180907 -3.88082 0 -0.00525736 -0.00326349 0.999302 -0.0368346 uwb: 0.0 1233.61 1022.29 -imu_odom_: 1691062869.450012193 0.474052 -0.167594 10.0628 -0.0681769 0.00319579 0.0681769 0.23 -0.02 pose: 0.0 -0.180907 -3.88082 0 -0.00525736 -0.00326349 0.999302 -0.0368346 uwb: 0.49911445 1234.19 1022.14 -imu_odom_: 1691062869.467027319 0.826 -0.447716 9.80665 -0.0468716 0 0.0340885 0.18 -0.02 pose: 0.23875890 -0.186208 -3.8893 0 -0.00528786 -0.00457134 0.999292 -0.0369546 uwb: 0.0 1234.19 1022.14 -imu_odom_: 1691062869.492166342 0.665588 -0.220267 9.67497 -0.0436758 -0.00426106 0.0415453 0.18 -0.02 pose: 0.0 -0.186208 -3.8893 0 -0.00528786 -0.00457134 0.999292 -0.0369546 uwb: 0.49987564 1234.27 1022.56 -imu_odom_: 1691062869.517142334 0.596156 -0.258574 10.173 -0.0255663 -0.0330232 0.0223706 0.23 0.02 pose: 0.76977104 -0.204513 -3.88627 0 0.00143524 -0.00248472 0.999299 -0.0373271 uwb: 0.0 1234.27 1022.56 -imu_odom_: 1691062869.541159965 0.464475 -0.138864 10.4507 -0.0681769 -0.0319579 0.0585895 0.23 0.02 pose: 0.0 -0.204513 -3.88627 0 0.00143524 -0.00248472 0.999299 -0.0373271 uwb: 0.49956650 1234.87 1023.03 -imu_odom_: 1691062869.565035855 0.390255 -0.196325 10.4531 -0.0617853 -0.0447411 0.0415453 0.18 0.02 pose: 0.6882929 -0.208466 -3.88719 0 0.00221763 -0.00232351 0.9993 -0.0372665 uwb: 0.0 1234.87 1023.03 -imu_odom_: 1691062869.589157897 0.766145 -0.0861913 10.0987 -0.0607201 -0.0681769 0.0458064 0.25 0.02 pose: 0.49007039 -0.208466 -3.88719 0 0.0034749 0.000354388 0.999297 -0.0373327 uwb: 0.50024021 1234.81 1023.85 -imu_odom_: 1691062869.604154808 0.579397 -0.155623 9.8258 -0.0468716 -0.00639159 0.0330232 0.25 0.02 pose: 0.0 -0.208466 -3.88719 0 0.0034749 0.000354388 0.999297 -0.0373327 uwb: 0.0 1234.81 1023.85 -imu_odom_: 1691062869.628125775 0.447716 -0.160412 10.0126 -0.0681769 -0.0117179 0.0639159 0.25 0.02 pose: 0.0 -0.208466 -3.88719 0 0.0034749 0.000354388 0.999297 -0.0373327 uwb: 0.0 1234.81 1023.85 -imu_odom_: 1691062869.652991523 0.497994 -0.0790087 10.0604 -0.0500674 -0.0213053 0.0415453 0.18 0 pose: 0.62983177 -0.222243 -3.89038 0 0.00583295 0.00222403 0.999279 -0.0374518 uwb: 0.49984064 1235.15 1024.92 -imu_odom_: 1691062869.674998231 0.153229 -0.196325 9.79468 -0.0575243 -0.0138484 0.0628506 0.18 0 pose: 0.0 -0.222243 -3.89038 0 0.00583295 0.00222403 0.999279 -0.0374518 uwb: 0.0 1235.15 1024.92 -imu_odom_: 1691062869.691127909 0.433351 -0.0885855 10.1394 -0.0500674 -0.036219 0.0394148 0.18 0 pose: 0.48039345 -0.230729 -3.88509 0 0.0040198 0.00477245 0.999268 -0.0377359 uwb: 0.50000397 1235.98 1026.47 -imu_odom_: 1691062869.716982349 0.591368 -0.361524 9.99579 -0.0649811 -0.0298274 0.0639159 0.18 0 pose: 0.0 -0.230729 -3.88509 0 0.0040198 0.00477245 0.999268 -0.0377359 uwb: 0.0 1235.98 1026.47 -imu_odom_: 1691062869.742043502 0.725443 -0.227449 9.86411 -0.0713727 -0.0553937 0.0511327 0.21 -0.02 pose: 0.39983402 -0.244504 -3.88829 0 0.00244818 0.00505775 0.999262 -0.0380048 uwb: 0.49986107 1235.91 1027.92 -imu_odom_: 1691062869.759185787 0.488417 -0.0622492 9.87369 -0.076699 0.0266316 0.052198 0.21 -0.02 pose: 0.0 -0.244504 -3.88829 0 0.00244818 0.00505775 0.999262 -0.0380048 uwb: 0.0 1235.91 1027.92 -imu_odom_: 1691062869.784115698 0.517148 -0.318429 9.39006 -0.0639159 -0.0149137 0.036219 0.19 -0.02 pose: 0.49957525 -0.244504 -3.88829 0 0.00627679 0.00317185 0.999237 -0.0384204 uwb: 0.0 1235.91 1027.92 -imu_odom_: 1691062869.808071791 0.703895 -0.332794 9.4978 -0.0735032 0.0245011 0.0500674 0.22 0 pose: 0.0 -0.244504 -3.88829 0 0.00627679 0.00317185 0.999237 -0.0384204 uwb: 0.49944692 1236.16 1028.79 -imu_odom_: 1691062869.831045026 0.234632 -0.160412 10.0102 -0.0500674 0.0394148 0.0415453 0.22 0 pose: 0.35095939 -0.258274 -3.89151 0 0.00599495 0.0013814 0.999242 -0.0384489 uwb: 0.0 1236.16 1028.79 -imu_odom_: 1691062869.847135331 0.426168 -0.332794 9.62948 -0.0713727 0.0170442 0.0468716 0.22 0 pose: 0.0 -0.258274 -3.89151 0 0.00599495 0.0013814 0.999242 -0.0384489 uwb: 0.50185011 1236.61 1028.84 -imu_odom_: 1691062869.873239714 0.723049 -0.251391 10.2831 -0.0308927 -0.0649811 0.0340885 0.19 0 pose: 0.6992298 -0.258274 -3.89151 0 0.00647305 0.000917796 0.999238 -0.0384884 uwb: 0.0 1236.61 1028.84 -imu_odom_: 1691062869.899052740 0.754174 -0.0215478 9.89045 -0.0575243 -0.0191748 0.0479369 0.19 0 pose: 0.47007198 -0.266771 -3.88624 0 0.00445082 -0.0004835880.999243 -0.0386336 uwb: 0.49860406 1237.07 1029.53 -imu_odom_: 1691062869.923135993 1.25217 -0.318429 9.42837 -0.0458064 -0.0149137 0.0308927 0.19 0 pose: 0.0 -0.266771 -3.88624 0 0.00445082 -0.0004835880.999243 -0.0386336 uwb: 0.0 1237.07 1029.53 -imu_odom_: 1691062869.938136112 0.237026 -0.342371 9.36612 -0.0543285 0.0287621 0.0415453 0.18 0.02 pose: 0.43983959 -0.280539 -3.88947 0 0.00797655 -0.0003158660.999222 -0.0386278 uwb: 0.0 1237.07 1029.53 -imu_odom_: 1691062869.962256695 0.335188 -0.158017 9.48583 -0.0468716 -0.0308927 0.0468716 0.18 0.02 pose: 0.0 -0.280539 -3.88947 0 0.00797655 -0.0003158660.999222 -0.0386278 uwb: 0.0 1237.07 1029.53 -imu_odom_: 1691062869.988273293 -0.0981623 -0.339977 10.2328 -0.0660464 0.0106526 0.0585895 0.23 0.02 pose: 0.48057427 -0.280539 -3.88947 0 0.0109725 0.000491927 0.999194 -0.0385982 uwb: 0.0 1237.07 1029.53 -imu_odom_: 1691062870.14011073 0.191536 -0.150835 9.89284 -0.0553937 -0.0191748 0.036219 0.23 0.02 pose: 0.0 -0.280539 -3.88947 0 0.0109725 0.000491927 0.999194 -0.0385982 uwb: 0.99991169 1237.22 1030.39 -imu_odom_: 1691062870.30952120 0.395043 0.059855 10.2496 -0.0639159 -0.0149137 0.052198 0.23 -0.02 pose: 0.39864701 -0.294308 -3.8927 0 0.00723117 0.00054494 0.999222 -0.0387684 uwb: 0.0 1237.22 1030.39 -imu_odom_: 1691062870.55971276 0.0574608 -0.0287304 9.85932 -0.0511327 0.015979 0.0287621 0.23 -0.02 pose: 0.0 -0.294308 -3.8927 0 0.00723117 0.00054494 0.999222 -0.0387684 uwb: 0.50154681 1236.87 1031.61 -imu_odom_: 1691062870.79969951 0.138864 -0.342371 9.71806 -0.0426106 -0.0298274 0.0447411 0.22 0 pose: 0.52006071 -0.302809 -3.88743 0 0.00279023 0.00119415 0.999237 -0.0389465 uwb: 0.0 1236.87 1031.61 -imu_odom_: 1691062870.94256112 0.308852 -0.399832 9.85214 -0.0436758 -0.02024 0.0266316 0.22 0 pose: 0.0 -0.302809 -3.88743 0 0.00279023 0.00119415 0.999237 -0.0389465 uwb: 0.49857781 1236.72 1031.16 -imu_odom_: 1691062870.119118944 0.0790087 -0.471658 10.1083 -0.052198 -0.0127832 0.0745685 0.18 0 pose: 0.40973262 -0.308074 -3.89593 0 -0.0005260930.00246973 0.999241 -0.0388748 uwb: 0.0 1236.72 1031.16 -imu_odom_: 1691062870.144134017 0.507571 -0.0670376 10.3118 -0.036219 -0.00745685 0.0383495 0.18 0 pose: 0.0 -0.308074 -3.89593 0 -0.0005260930.00246973 0.999241 -0.0388748 uwb: 0.50122599 1237.13 1032.69 -imu_odom_: 1691062870.170170447 0.502782 -0.311246 10.3166 -0.0458064 -0.0266316 0.0575243 0.2 0 pose: 0.39129744 -0.316575 -3.89066 0 -0.00243371 -0.0002714530.999238 -0.0389548 uwb: 0.0 1237.13 1032.69 -imu_odom_: 1691062870.195105025 0.426168 -0.23942 9.71088 -0.0649811 0.00213053 0.0596548 0.2 0 pose: 0.0 -0.316575 -3.89066 0 -0.00243371 -0.0002714530.999238 -0.0389548 uwb: 0.49999815 1237.31 1033.98 -imu_odom_: 1691062870.220979589 0.505177 -0.0694318 9.90242 -0.0671117 -0.0181095 0.0553937 0.17 0.02 pose: 0.50011481 -0.330342 -3.8939 0 -0.00108522 0.000178142 0.999227 -0.0393082 uwb: 0.0 1237.31 1033.98 -imu_odom_: 1691062870.238098543 0.368707 -0.155623 9.76595 -0.0607201 -0.0213053 0.052198 0.17 0.02 pose: 0.0 -0.330342 -3.8939 0 -0.00108522 0.000178142 0.999227 -0.0393082 uwb: 0.0 1237.31 1033.98 -imu_odom_: 1691062870.262985582 0.732626 -0.411803 9.88087 -0.072438 -0.00213053 0.0490022 0.22 0 pose: 0.50859889 -0.344105 -3.89716 0 0.00283302 -0.00153342 0.999203 -0.0397772 uwb: 0.50089643 1237.57 1035.29 -imu_odom_: 1691062870.287104416 0.385466 -0.344765 9.44752 -0.0692422 -0.015979 0.0490022 0.24 0 pose: 0.24975701 -0.344105 -3.89716 0 0.00281777 0.000433902 0.999197 -0.0399567 uwb: 0.0 1237.57 1035.29 -imu_odom_: 1691062870.301102719 0.533907 -0.181959 10.1921 -0.0713727 0.0170442 0.052198 0.24 0 pose: 0.35008153 -0.350114 -3.89345 0 0.00406143 -0.0007150180.999186 -0.0401399 uwb: 0.49781077 1237.7 1036.16 -imu_odom_: 1691062870.326069087 0.617704 -0.0335188 10.3669 -0.0415453 0.00426106 0.0383495 0.24 0 pose: 0.0 -0.350114 -3.89345 0 0.00406143 -0.0007150180.999186 -0.0401399 uwb: 0.0 1237.7 1036.16 -imu_odom_: 1691062870.350971291 0.852336 0.00718261 10.1035 -0.0415453 -0.0276969 0.0330232 0.18 0 pose: 0.7024671 -0.352618 -3.89191 0 0.00368255 -0.00132376 0.999185 -0.0401754 uwb: 0.50058728 1237.99 1037.27 -imu_odom_: 1691062870.376025737 0.679953 -0.177171 9.56244 -0.0639159 -0.00852212 0.0543285 0.2 0 pose: 0.39090080 -0.357862 -3.90042 0 0.00385252 -0.00107935 0.999178 -0.0403359 uwb: 0.0 1237.99 1037.27 -imu_odom_: 1691062870.392988366 0.624887 -0.459687 10.0533 -0.0543285 0.0234358 0.0458064 0.2 0 pose: 0.0 -0.357862 -3.90042 0 0.00385252 -0.00107935 0.999178 -0.0403359 uwb: 0.50009731 1238.22 1037.94 -imu_odom_: 1691062870.408963470 0.158017 -0.0335188 10.1586 -0.0394148 0.0266316 0.0458064 0.2 0 pose: 0.0 -0.357862 -3.90042 0 0.00385252 -0.00107935 0.999178 -0.0403359 uwb: 0.0 1238.22 1037.94 -imu_odom_: 1691062870.433228129 0.426168 -0.399832 9.63187 -0.0681769 0.0266316 0.0490022 0.27 0 pose: 0.49925444 -0.366378 -3.89518 0 0.00783074 0.00207202 0.999155 -0.0402922 uwb: 0.0 1238.22 1037.94 -imu_odom_: 1691062870.458949577 0.464475 -0.229843 10.0437 -0.0500674 0.0127832 0.0511327 0.25 0.02 pose: 0.49937693 -0.380136 -3.89846 0 0.00782858 0.00110011 0.999147 -0.0405344 uwb: 0.49925152 1238.5 1038.84 -imu_odom_: 1691062870.484058270 0.368707 -0.385466 10.0149 -0.0436758 0.0266316 0.0372843 0.19 0 pose: 0.0 -0.380136 -3.89846 0 0.00737222 0.000444434 0.999149 -0.0405716 uwb: 0.0 1238.5 1038.84 -imu_odom_: 1691062870.508952892 0.397437 -0.337582 9.94791 -0.072438 -0.00745685 0.0671117 0.22 0.05 pose: 0.51138415 -0.393891 -3.90174 0 0.00293785 -0.0013379 0.999162 -0.0408061 uwb: 0.49994274 1238.39 1040.11 -imu_odom_: 1691062870.534096583 0.426168 -0.366313 9.94312 -0.0394148 -0.00532632 0.0287621 0.22 0.05 pose: 0.0 -0.393891 -3.90174 0 0.00293785 -0.0013379 0.999162 -0.0408061 uwb: 0.0 1238.39 1040.11 -imu_odom_: 1691062870.558004262 0.632069 -0.296881 9.60554 -0.0447411 -0.0351537 0.0468716 0.21 0 pose: 0.66992484 -0.400033 -3.89797 0 0.00145326 -0.00732871 0.999131 -0.0410029 uwb: 0.50061061 1238.7 1040.8 -imu_odom_: 1691062870.575948292 0.282516 -0.409408 9.33978 -0.0468716 0.0117179 0.0330232 0.21 0 pose: 0.0 -0.400033 -3.89797 0 0.00145326 -0.00732871 0.999131 -0.0410029 uwb: 0.0 1238.7 1040.8 -imu_odom_: 1691062870.599100891 0.277727 -0.440533 9.43315 -0.0607201 0.0351537 0.0692422 0.18 0 pose: 0.7014754 -0.402414 -3.89651 0 0.00222794 -0.00707051 0.999131 -0.0410241 uwb: 0.49933319 1238.55 1042.06 -imu_odom_: 1691062870.626012562 0.213084 -0.270545 9.61751 -0.0511327 0.0127832 0.0436758 0.18 0 pose: 0.0 -0.402414 -3.89651 0 0.00222794 -0.00707051 0.999131 -0.0410241 uwb: 0.0 1238.55 1042.06 -imu_odom_: 1691062870.642208444 0.742203 -0.203507 9.74679 -0.0649811 -0.0170442 0.0500674 0.2 0 pose: 0.41980911 -0.407643 -3.90504 0 0.00154897 -0.00748851 0.999124 -0.0411391 uwb: 0.50245383 1238.97 1042.57 -imu_odom_: 1691062870.668066968 0.423774 -0.296881 9.75158 -0.0383495 -0.0117179 0.0351537 0.2 0 pose: 0.0 -0.407643 -3.90504 0 0.00154897 -0.00748851 0.999124 -0.0411391 uwb: 0.0 1238.97 1042.57 -imu_odom_: 1691062870.690952416 0.447716 -0.0167594 10.3645 -0.0468716 -0.00852212 0.0713727 0.19 0 pose: 0.51011547 -0.416168 -3.89981 0 -0.00194925 -0.00683252 0.999113 -0.0414974 uwb: 0.49720998 1239.1 1042.81 -imu_odom_: 1691062870.707959959 0.684742 -0.402226 9.47386 -0.0585895 0.00213053 0.0415453 0.19 0 pose: 0.0 -0.416168 -3.89981 0 -0.00194925 -0.00683252 0.999113 -0.0414974 uwb: 0.0 1239.1 1042.81 -imu_odom_: 1691062870.734069593 0.246603 -0.277727 9.90721 -0.0479369 0.00958738 0.0543285 0.19 0 pose: 0.40966262 -0.429918 -3.90312 0 0.000853825 -0.00379746 0.999128 -0.0415802 uwb: 0.0 1239.1 1042.81 -imu_odom_: 1691062870.758978214 0.773327 -0.373495 10.1969 -0.0617853 -0.0639159 0.0383495 0.19 0 pose: 0.0 -0.429918 -3.90312 0 0.000853825 -0.00379746 0.999128 -0.0415802 uwb: 0.49996315 1238.88 1043.84 -imu_odom_: 1691062870.771946119 0.816423 -0.222661 9.66539 -0.0553937 -0.0351537 0.052198 0.2 0 pose: 0.41017008 -0.429918 -3.90312 0 0.00159297 -0.00295494 0.999116 -0.0419073 uwb: 0.0 1238.88 1043.84 -imu_odom_: 1691062870.796954776 0.957681 -0.42138 10.1825 -0.0553937 0.00532632 0.0543285 0.2 0 pose: 0.0 -0.429918 -3.90312 0 0.00159297 -0.00295494 0.999116 -0.0419073 uwb: 0.50029854 1239.49 1043.52 -imu_odom_: 1691062870.822083593 0.0885855 -0.0167594 9.63427 -0.0671117 -0.052198 0.0543285 0.23 -0.02 pose: 0.48923045 -0.443665 -3.90643 0 0.00353404 -0.00344426 0.999103 -0.0420602 uwb: 0.0 1239.49 1043.52 -imu_odom_: 1691062870.846941758 -0.229843 0.0550666 9.25119 -0.0660464 -0.187487 0.0308927 0.23 -0.02 pose: 0.0 -0.443665 -3.90643 0 0.00353404 -0.00344426 0.999103 -0.0420602 uwb: 0.50105976 1239.82 1044.23 -imu_odom_: 1691062870.872012536 0.912191 -0.500388 10.1897 -0.0830906 0.0106526 0.0639159 0.19 0.02 pose: 0.40216139 -0.452201 -3.90122 0 0.00611038 -0.00352337 0.999078 -0.0423408 uwb: 0.0 1239.82 1044.23 -imu_odom_: 1691062870.884948944 1.05345 -0.507571 8.9184 -0.0639159 0.0468716 0.0713727 0.19 0.02 pose: 0.0 -0.452201 -3.90122 0 0.00611038 -0.00352337 0.999078 -0.0423408 uwb: 0.0 1239.82 1044.23 -imu_odom_: 1691062870.901682920 -0.0885855 -0.112527 10.6398 -0.0426106 0.00852212 0.0170442 0.18 0 pose: 0.49877030 -0.465945 -3.90455 0 0.00568852 -0.00238231 0.999079 -0.0424655 uwb: 0.49886946 1239.54 1045.48 -imu_odom_: 1691062870.926959602 0.189142 -0.0550666 9.94791 -0.0852212 0.00532632 0.0394148 0.18 0 pose: 0.0 -0.465945 -3.90455 0 0.00568852 -0.00238231 0.999079 -0.0424655 uwb: 0.0 1239.54 1045.48 -imu_odom_: 1691062870.953195812 0.711078 -0.452504 9.2081 -0.0415453 -0.00319579 0.0383495 0.19 -0.02 pose: 0.37989978 -0.465945 -3.90455 0 0.00709789 -0.0037101 0.999052 -0.0427833 uwb: 0.50114725 1238.94 1046.23 -imu_odom_: 1691062870.978052520 0.502782 -0.059855 9.54808 -0.0351537 0.0308927 0.04048 0.19 -0.02 pose: 0.0 -0.465945 -3.90455 0 0.00709789 -0.0037101 0.999052 -0.0427833 uwb: 0.0 1238.94 1046.23 -imu_odom_: 1691062871.980549 0.603339 -0.263362 9.81144 -0.0596548 0.0436758 0.04048 0.18 -0.02 pose: 0.42943937 -0.479687 -3.9079 0 0.00469571 -0.00294849 0.999073 -0.0426783 uwb: 0.49996606 1239 1046.89 -imu_odom_: 1691062871.25969665 0.42138 -0.179565 9.31105 -0.0511327 -0.0106526 0.0426106 0.18 -0.02 pose: 0.0 -0.479687 -3.9079 0 0.00469571 -0.00294849 0.999073 -0.0426783 uwb: 0.0 1239 1046.89 -imu_odom_: 1691062871.52046635 0.380678 -0.418985 10.1179 -0.0745685 0.0468716 0.0628506 0.23 0 pose: 0.48982250 -0.488228 -3.9027 0 0.00591056 -0.00128608 0.999071 -0.0426681 uwb: 0.49997191 1239.42 1048.06 -imu_odom_: 1691062871.65045455 0.325611 -0.311246 9.7851 -0.052198 -0.04048 0.0351537 0.23 0 pose: 0.0 -0.488228 -3.9027 0 0.00591056 -0.00128608 0.999071 -0.0426681 uwb: 0.0 1239.42 1048.06 -imu_odom_: 1691062871.90058487 0.627281 -0.392649 9.89284 -0.0735032 -0.00639159 0.0479369 0.17 0.02 pose: 0.49046996 -0.493429 -3.91124 0 0.00440302 -0.00111044 0.999073 -0.042805 uwb: 0.50129308 1239.74 1049.21 -imu_odom_: 1691062871.115066853 0.804452 -0.287304 10.1897 -0.036219 -0.0106526 0.0255663 0.17 0.02 pose: 0.0 -0.493429 -3.91124 0 0.00440302 -0.00111044 0.999073 -0.042805 uwb: 0.0 1239.74 1049.21 -imu_odom_: 1691062871.128944122 0.45011 -0.143652 9.95748 -0.0436758 0.0138484 0.0575243 0.18 0 pose: 0.81000413 -0.513464 -3.91075 0 0.00684365 -0.00412895 0.999047 -0.0429096 uwb: 0.0 1239.74 1049.21 -imu_odom_: 1691062871.153056248 0.490811 -0.237026 10.1945 -0.0340885 0.0266316 0.0245011 0.18 0 pose: 0.0 -0.513464 -3.91075 0 0.00684365 -0.00412895 0.999047 -0.0429096 uwb: 0.49753955 1239.7 1049.64 -imu_odom_: 1691062871.176062148 0.833182 0.169988 10.1658 -0.0671117 -0.00319579 0.0628506 0.23 0 pose: 0.6015564 -0.515711 -3.90939 0 0.00648197 -0.00357761 0.999049 -0.0429615 uwb: 0.0 1239.7 1049.64 -imu_odom_: 1691062871.201976961 0.806846 -0.328006 9.96227 -0.0394148 -0.0426106 0.0340885 0.23 0 pose: 0.0 -0.515711 -3.90939 0 0.00648197 -0.00357761 0.999049 -0.0429615 uwb: 0.50115308 1240.15 1050.17 -imu_odom_: 1691062871.224965070 0.423774 -0.102951 9.81862 -0.0543285 0.00532632 0.0585895 0.2 0 pose: 0.39987194 -0.515711 -3.90939 0 0.00457632 -0.0001841990.999068 -0.0429317 uwb: 0.0 1240.15 1050.17 -imu_odom_: 1691062871.240907217 0.397437 -0.538695 9.76834 -0.0426106 0.0415453 0.0372843 0.2 0 pose: 0.0 -0.515711 -3.90939 0 0.00457632 -0.0001841990.999068 -0.0429317 uwb: 0.49923112 1240.15 1050.83 -imu_odom_: 1691062871.265888168 0.699107 -0.323217 9.53371 -0.0671117 0.036219 0.0660464 0.25 0 pose: 0.47923271 -0.529451 -3.91273 0 0.00781735 0.000628606 0.99904 -0.0430992 uwb: 0.0 1240.15 1050.83 -imu_odom_: 1691062871.283031037 0.667982 -0.335188 10.3358 -0.0639159 -0.0149137 0.0447411 0.25 0 pose: 0.0 -0.529451 -3.91273 0 0.00781735 0.000628606 0.99904 -0.0430992 uwb: 0.0 1240.15 1050.83 -imu_odom_: 1691062871.307930617 0.665588 -0.208296 9.64384 -0.0671117 0.00958738 0.0649811 0.18 0.02 pose: 0.74038155 -0.543187 -3.91609 0 0.00881378 -0.00221159 0.999007 -0.0436196 uwb: 0.50011482 1239.88 1052.08 -imu_odom_: 1691062871.332916817 0.509965 -0.158017 9.84496 -0.0607201 0.0117179 0.0415453 0.18 0.02 pose: 0.7898453 -0.543187 -3.91609 0 0.00942735 -0.00183628 0.998998 -0.0437138 uwb: 0.0 1239.88 1052.08 -imu_odom_: 1691062871.357172436 0.684742 -0.0790087 9.75158 -0.0585895 0.0106526 0.0511327 0.21 0.02 pose: 0.41987327 -0.551739 -3.9109 0 0.00857496 0.000427022 0.998998 -0.0439266 uwb: 0.49922528 1240.23 1051.94 -imu_odom_: 1691062871.382902634 0.23942 -0.366313 9.3709 -0.0426106 -0.00213053 0.0383495 0.25 0 pose: 0.0 -0.551739 -3.9109 0 0.00857496 0.000427022 0.998998 -0.0439266 uwb: 0.0 1240.23 1051.94 -imu_odom_: 1691062871.398880363 0.129287 -0.280122 10.0149 -0.0607201 -0.0372843 0.0617853 0.25 0 pose: 0.32005039 -0.556918 -3.91946 0 0.00922164 0.00193949 0.998985 -0.0440483 uwb: 0.50012940 1240 1053.21 -imu_odom_: 1691062871.421883638 0.555455 -0.172383 10.0652 -0.0617853 0.0170442 0.0372843 0.25 0 pose: 0.0 -0.556918 -3.91946 0 0.00922164 0.00193949 0.998985 -0.0440483 uwb: 0.0 1240 1053.21 -imu_odom_: 1691062871.446925543 0.622492 -0.179565 10.003 -0.128897 0.0639159 0.0788296 0.23 0 pose: 0.42061115 -0.565473 -3.91428 0 0.00673636 0.00137353 0.998999 -0.0442093 uwb: 0.49990191 1240.11 1054.99 -imu_odom_: 1691062871.471020462 1.08218 -0.560243 10.7859 -0.0575243 -0.036219 0.0426106 0.2 0.02 pose: 0.0 -0.565473 -3.91428 0 0.00673636 0.00137353 0.998999 -0.0442093 uwb: 0.0 1240.11 1054.99 -imu_odom_: 1691062871.485947086 0.603339 -0.361524 9.20331 -0.052198 -0.0117179 0.0287621 0.2 0.02 pose: 0.39942572 -0.57516 -3.91667 0 0.00912085 0.00138487 0.998959 -0.0446777 uwb: 0.0 1240.11 1054.99 -imu_odom_: 1691062871.511952602 0.265756 -0.368707 9.60314 -0.0436758 0.0298274 0.0490022 0.2 0.02 pose: 0.0 -0.57516 -3.91667 0 0.00912085 0.00138487 0.998959 -0.0446777 uwb: 0.49989024 1240.4 1055.5 -imu_odom_: 1691062871.536914595 0.553061 -0.299275 9.71806 -0.036219 0.0245011 0.0383495 0.25 0 pose: 0.7112166 -0.579204 -3.91767 0 0.00982093 0.000977692 0.998952 -0.0446925 uwb: 0.0 1240.4 1055.5 -imu_odom_: 1691062871.553894140 0.656011 -0.220267 9.74919 -0.0447411 -0.00213053 0.0436758 0.25 0 pose: 0.0 -0.579204 -3.91767 0 0.00982093 0.000977692 0.998952 -0.0446925 uwb: 0.50116767 1240.04 1058.06 -imu_odom_: 1691062871.579003708 0.35913 -0.234632 10.24 -0.0490022 0.00106526 0.0735032 0.21 -0.02 pose: 0.39930032 -0.579204 -3.91767 0 0.0106332 -0.00170379 0.998942 -0.0447073 uwb: 0.0 1240.04 1058.06 -imu_odom_: 1691062871.605096427 0.751779 -0.0694318 9.96946 -0.0340885 -0.036219 0.0308927 0.22 0 pose: 0.49933902 -0.592932 -3.92106 0 0.00796348 -0.00389802 0.998956 -0.0448199 uwb: 0.49864782 1240.73 1058.23 -imu_odom_: 1691062871.627988000 0.667982 -0.462081 9.94073 -0.0490022 0.00532632 0.0394148 0.22 0 pose: 0.0 -0.592932 -3.92106 0 0.00796348 -0.00389802 0.998956 -0.0448199 uwb: 0.0 1240.73 1058.23 -imu_odom_: 1691062871.645011001 0.0502782 -0.402226 9.14585 -0.0266316 -0.0106526 0.0308927 0.19 0 pose: 0.43030267 -0.601496 -3.9159 0 0.00687729 -0.00201205 0.998951 -0.0452244 uwb: 0.0 1240.73 1058.23 -imu_odom_: 1691062871.668011359 0.0646434 -0.241814 9.56244 -0.0490022 -0.00426106 0.0628506 0.19 0 pose: 0.0 -0.601496 -3.9159 0 0.00687729 -0.00201205 0.998951 -0.0452244 uwb: 0.0 1240.73 1058.23 -imu_odom_: 1691062871.690889808 0.1652 -0.246603 9.67736 -0.0490022 0 0.04048 0.19 0 pose: 0.47982475 -0.615221 -3.91931 0 0.00870762 -0.00263345 0.99894 -0.0451256 uwb: 0.99891429 1241.55 1058.43 -imu_odom_: 1691062871.715926464 0.035913 -0.560243 9.81623 -0.0649811 0 0.0468716 0.19 0 pose: 0.0 -0.615221 -3.91931 0 0.00870762 -0.00263345 0.99894 -0.0451256 uwb: 0.0 1241.55 1058.43 -imu_odom_: 1691062871.729927392 0.172383 -0.486023 9.64145 -0.052198 0.0149137 0.0276969 0.19 0 pose: 0.39982529 -0.615221 -3.91931 0 0.00475939 -0.00262634 0.998956 -0.0453684 uwb: 0.0 1241.55 1058.43 -imu_odom_: 1691062871.745931370 0.28491 0.011971 9.87129 -0.0500674 0.0213053 0.0447411 0.19 0 pose: 0.0 -0.615221 -3.91931 0 0.00475939 -0.00262634 0.998956 -0.0453684 uwb: 0.50049396 1241.59 1059.78 -imu_odom_: 1691062871.763053823 0.538695 -0.481235 9.65582 -0.0596548 0.00958738 0.0607201 0.19 0 pose: 0.0 -0.615221 -3.91931 0 0.00475939 -0.00262634 0.998956 -0.0453684 uwb: 0.0 1241.59 1059.78 -imu_odom_: 1691062871.787889241 0.493206 -0.0454898 10.4579 -0.04048 0.0117179 0.0426106 0.19 0 pose: 0.48038180 -0.628944 -3.92272 0 0.00047666 -0.00462134 0.998956 -0.0454413 uwb: 0.0 1241.59 1059.78 -imu_odom_: 1691062871.812887982 0.517148 -0.222661 10.4651 -0.0575243 -0.0138484 0.0426106 0.19 0 pose: 0.0 -0.628944 -3.92272 0 0.00047666 -0.00462134 0.998956 -0.0454413 uwb: 0.49928362 1242.09 1060.58 -imu_odom_: 1691062871.837022857 0.897826 -0.373495 9.53132 -0.0585895 -0.00745685 0.0532632 0.19 0 pose: 0.48055680 -0.637514 -3.91757 0 0.000236828 -0.00406497 0.99895 -0.0456316 uwb: 0.0 1242.09 1060.58 -imu_odom_: 1691062871.853907033 0.387861 -0.184354 10.4315 -0.0553937 0.0213053 0.0543285 0.19 0 pose: 0.0 -0.637514 -3.91757 0 0.000236828 -0.00406497 0.99895 -0.0456316 uwb: 0.49991066 1242.09 1062.15 -imu_odom_: 1691062871.877884417 0.282516 -0.105345 9.26077 -0.0703074 0.0234358 0.0500674 0.19 0 pose: 0.48963001 -0.642664 -3.92614 0 0.00368127 -0.0015149 0.998946 -0.0457341 uwb: 0.0 1242.09 1062.15 -imu_odom_: 1691062871.902892199 0.282516 -0.651223 9.51456 -0.0862864 0.0479369 0.0372843 0.19 0 pose: 0.23944720 -0.651236 -3.92099 0 0.00467454 -0.00162755 0.998934 -0.0458994 uwb: 0.50091102 1242.19 1063.08 -imu_odom_: 1691062871.927927980 -0.0143652 -0.191536 10.0245 -0.0458064 -0.0138484 0.0468716 0.19 -0.02 pose: 0.33985922 -0.660338 -3.92327 0 0.00133175 -4.34988e-050.998936 -0.0460945 uwb: 0.0 1242.19 1063.08 -imu_odom_: 1691062871.942868603 0.852336 -0.28491 10.0868 -0.0703074 -0.0500674 0.0458064 0.19 -0.02 pose: 0.0 -0.660338 -3.92327 0 0.00133175 -4.34988e-050.998936 -0.0460945 uwb: 0.50059603 1242.35 1065.16 -imu_odom_: 1691062871.965854963 0.737414 -0.225055 10.3382 -0.0415453 -0.0319579 0.0415453 0.18 -0.02 pose: 0.8060902 -0.664956 -3.92442 0 0.000906855 -0.0009530320.998937 -0.0460861 uwb: 0.0 1242.35 1065.16 -imu_odom_: 1691062871.991953806 0.462081 -0.248997 9.8689 -0.0660464 0.0245011 0.0383495 0.23 -0.02 pose: 0.49063912 -0.664956 -3.92442 0 -0.00147899 -0.00242897 0.998929 -0.0461878 uwb: 0.49829201 1242.75 1066.18 -imu_odom_: 1691062872.5917695 0.0790087 -0.275333 10.082 -0.0436758 0.052198 0.0287621 0.23 -0.02 pose: 0.0 -0.664956 -3.92442 0 -0.00147899 -0.00242897 0.998929 -0.0461878 uwb: 0.0 1242.75 1066.18 -imu_odom_: 1691062872.21993418 0.268151 -0.208296 9.9934 -0.0585895 0.0223706 0.0383495 0.23 -0.02 pose: 0.0 -0.664956 -3.92442 0 -0.00147899 -0.00242897 0.998929 -0.0461878 uwb: 0.0 1242.75 1066.18 -imu_odom_: 1691062872.47023366 0.203507 -0.167594 10.0604 -0.0447411 -0.0372843 0.0372843 0.19 0 pose: 0.38923258 -0.678674 -3.92786 0 0.0027318 -0.00174949 0.998926 -0.0462213 uwb: 0.50189097 1243.05 1067.86 -imu_odom_: 1691062872.70987044 0.21069 -0.280122 10.0748 -0.0532632 -0.0213053 0.0436758 0.19 0 pose: 0.0 -0.678674 -3.92786 0 0.0027318 -0.00174949 0.998926 -0.0462213 uwb: 0.0 1243.05 1067.86 -imu_odom_: 1691062872.96932188 0.311246 -0.0263362 9.93354 -0.0383495 -0.0330232 0.0426106 0.22 0 pose: 0.55124098 -0.687252 -3.92272 0 5.08008e-05 -0.0009768630.998936 -0.0461163 uwb: 0.49834451 1243.75 1068.51 -imu_odom_: 1691062872.121867350 0.938527 -0.203507 10.0916 -0.0681769 -0.015979 0.0436758 0.17 0 pose: 0.49829201 -0.700971 -3.92615 0 -0.00341512 -0.0003984410.998928 -0.0461609 uwb: 0.0 1243.75 1068.51 -imu_odom_: 1691062872.146847426 0.672771 -0.371101 9.33978 -0.0607201 -0.0308927 0.0383495 0.17 0 pose: 0.0 -0.700971 -3.92615 0 -0.00341512 -0.0003984410.998928 -0.0461609 uwb: 0.49970943 1243.64 1070.55 -imu_odom_: 1691062872.160907851 0.37589 -0.071826 10.1418 -0.0703074 -0.0181095 0.0532632 0.17 0 pose: 0.0 -0.700971 -3.92615 0 -0.00341512 -0.0003984410.998928 -0.0461609 uwb: 0.0 1243.64 1070.55 -imu_odom_: 1691062872.184853154 0.258574 -0.0526724 9.97664 -0.0490022 0.02024 0.0298274 0.18 -0.02 pose: 0.75048431 -0.709548 -3.92101 0 0.00143334 0.000693356 0.998927 -0.0462833 uwb: 0.0 1243.64 1070.55 -imu_odom_: 1691062872.210918167 0.462081 -0.392649 9.59596 -0.0447411 -0.0287621 0.0426106 0.24 0 pose: 0.30918935 -0.714688 -3.92959 0 -0.00104291 0.00276261 0.998927 -0.0462093 uwb: 0.50143891 1244.09 1071.61 -imu_odom_: 1691062872.236011986 0.337582 -0.325611 9.71567 -0.0511327 0.0223706 0.0468716 0.24 0 pose: 0.0 -0.714688 -3.92959 0 -0.00104291 0.00276261 0.998927 -0.0462093 uwb: 0.0 1244.09 1071.61 -imu_odom_: 1691062872.252855331 0.344765 -0.246603 10.3286 -0.052198 -0.0170442 0.0596548 0.21 0.02 pose: 0.8025321 -0.714688 -3.92959 0 -0.0006602530.00206014 0.998929 -0.0462212 uwb: 0.49874116 1244.43 1072.63 -imu_odom_: 1691062872.277998148 0.428562 -0.114922 9.59835 -0.0479369 -0.015979 0.0394148 0.21 0.02 pose: 0.0 -0.714688 -3.92959 0 -0.0006602530.00206014 0.998929 -0.0462212 uwb: 0.0 1244.43 1072.63 -imu_odom_: 1691062872.305203510 0.577003 -0.486023 9.51456 -0.0543285 0.0117179 0.0447411 0.23 0 pose: 0.50005650 -0.728405 -3.93303 0 -0.00194192 -0.0016914 0.998919 -0.0464094 uwb: 0.49993983 1244.57 1074.54 -imu_odom_: 1691062872.329836231 0.591368 -0.325611 9.51935 -0.0692422 0.0319579 0.0543285 0.23 0 pose: 0.0 -0.728405 -3.93303 0 -0.00194192 -0.0016914 0.998919 -0.0464094 uwb: 0.0 1244.57 1074.54 -imu_odom_: 1691062872.346828901 0.244209 -0.296881 10.0317 -0.0649811 -0.00958738 0.0468716 0.22 0 pose: 0.43039016 -0.736985 -3.92789 0 -0.00106431 -1.05661e-060.998916 -0.0465332 uwb: 0.49967735 1245.2 1074.73 -imu_odom_: 1691062872.362842211 0.201113 -0.114922 9.38048 -0.0649811 0.0149137 0.0415453 0.22 0 pose: 0.0 -0.736985 -3.92789 0 -0.00106431 -1.05661e-060.998916 -0.0465332 uwb: 0.0 1245.2 1074.73 -imu_odom_: 1691062872.379841006 0.356736 -0.246603 10.0628 -0.0830906 -0.0127832 0.0649811 0.25 0 pose: 0.51914496 -0.7507 -3.93134 0 0.00107493 -0.00278045 0.9989 -0.04679 uwb: 0.0 1245.2 1074.73 -imu_odom_: 1691062872.405990888 0.617704 -0.258574 10.1969 -0.0692422 -0.0383495 0.0532632 0.25 0 pose: 0.0 -0.7507 -3.93134 0 0.00107493 -0.00278045 0.9989 -0.04679 uwb: 0.50029856 1245.44 1076.68 -imu_odom_: 1691062872.431981530 0.706289 -0.201113 10.4148 -0.0703074 0.015979 0.0468716 0.25 0.02 pose: 0.68153251 -0.756545 -3.92785 0 0.000353101 -0.00185615 0.998882 -0.0472403 uwb: 0.0 1245.44 1076.68 -imu_odom_: 1691062872.455039344 0.577003 -0.172383 10.3477 -0.0383495 0.0106526 0.0330232 0.25 0.02 pose: 0.8017446 -0.759286 -3.92621 0 0.00105849 -0.00174433 0.99888 -0.0472678 uwb: 0.50003608 1245.98 1077.79 -imu_odom_: 1691062872.481974055 0.52433 -0.112527 9.8282 -0.0340885 -0.0181095 0.0287621 0.18 0 pose: 0.41031010 -0.770162 -3.93137 0 0.0043611 3.24091e-06 0.998874 -0.0472475 uwb: 0.0 1245.98 1077.79 -imu_odom_: 1691062872.506829013 0.536301 -0.158017 9.44513 -0.0617853 -0.00532632 0.0490022 0.18 0 pose: 0.0 -0.770162 -3.93137 0 0.0043611 3.24091e-06 0.998874 -0.0472475 uwb: 0.50123184 1246.54 1077.73 -imu_odom_: 1691062872.524105750 0.567426 -0.426168 10.1466 -0.0468716 0.0266316 0.0351537 0.2 0 pose: 0.51789669 -0.776469 -3.93549 0 0.00770452 0.00348381 0.998849 -0.0472106 uwb: 0.0 1246.54 1077.73 -imu_odom_: 1691062872.549849073 0.591368 -0.277727 9.19852 -0.052198 0.00319579 0.0532632 0.2 0 pose: 0.0 -0.776469 -3.93549 0 0.00770452 0.00348381 0.998849 -0.0472106 uwb: 0.50055813 1246.49 1079.38 -imu_odom_: 1691062872.573820333 0.835576 -0.23942 9.63666 -0.036219 0.0245011 0.0330232 0.18 0 pose: 0.26096803 -0.786709 -3.93314 0 0.00798731 0.00108021 0.99885 -0.0472546 uwb: 0.0 1246.49 1079.38 -imu_odom_: 1691062872.590820002 0.483629 -0.368707 9.94551 -0.0479369 0.0287621 0.0436758 0.18 0 pose: 0.0 -0.786709 -3.93314 0 0.00798731 0.00108021 0.99885 -0.0472546 uwb: 0.49881699 1247.01 1079.07 -imu_odom_: 1691062872.606812605 0.411803 -0.280122 9.98143 -0.0372843 -0.0213053 0.0532632 0.18 0 pose: 0.57894186 -0.794256 -3.93505 0 0.00947219 -0.00135251 0.998832 -0.0473541 uwb: 0.0 1247.01 1079.07 -imu_odom_: 1691062872.624062510 0.538695 -0.325611 9.97185 -0.04048 0.0138484 0.0426106 0.18 0 pose: 0.8093567 -0.80042 -3.93661 0 0.00874625 -0.00144993 0.998836 -0.0474133 uwb: 0.0 1247.01 1079.07 -imu_odom_: 1691062872.641875007 0.526724 -0.229843 10.0916 -0.0436758 0.00852212 0.0649811 0.18 0 pose: 0.0 -0.80042 -3.93661 0 0.00874625 -0.00144993 0.998836 -0.0474133 uwb: 0.50095185 1246.91 1079.99 -imu_odom_: 1691062872.655874769 0.397437 -0.445322 10.2376 -0.0447411 -0.00426106 0.0468716 0.18 -0.02 pose: 0.34150996 -0.80042 -3.93661 0 0.00702717 -0.00223861 0.998838 -0.0476217 uwb: 0.0 1246.91 1079.99 -imu_odom_: 1691062872.672875604 0.452504 -0.0909797 10.1179 -0.0607201 -0.0223706 0.0351537 0.17 0.02 pose: 0.0 -0.80042 -3.93661 0 0.00702717 -0.00223861 0.998838 -0.0476217 uwb: 0.0 1246.91 1079.99 -imu_odom_: 1691062872.685819887 0.277727 -0.311246 9.20331 -0.0394148 0.00319579 0.0426106 0.17 0.02 pose: 0.0 -0.80042 -3.93661 0 0.00702717 -0.00223861 0.998838 -0.0476217 uwb: 0.0 1246.91 1079.99 -imu_odom_: 1691062872.701943732 0.469264 -0.378284 10.2927 -0.0340885 0.00532632 0.0415453 0.17 0.02 pose: 0.30876355 -0.809013 -3.93149 0 0.00560189 -0.00177684 0.998841 -0.0477683 uwb: 0.49942070 1246.72 1081.12 -imu_odom_: 1691062872.718939610 0.234632 -0.0335188 9.88566 -0.0149137 -0.00106526 0.0255663 0.17 0 pose: 0.0 -0.809013 -3.93149 0 0.00560189 -0.00177684 0.998841 -0.0477683 uwb: 0.0 1246.72 1081.12 -imu_odom_: 1691062872.734943879 0.25618 -0.112527 9.72285 -0.0532632 -0.0287621 0.0585895 0.17 0 pose: 0.0 -0.809013 -3.93149 0 0.00560189 -0.00177684 0.998841 -0.0477683 uwb: 0.0 1246.72 1081.12 -imu_odom_: 1691062872.750949315 0.905008 -0.160412 9.97424 -0.0490022 -0.0213053 0.0436758 0.25 -0.02 pose: 0.30034071 -0.814127 -3.94009 0 0.0039817 -0.00206981 0.998848 -0.0477804 uwb: 0.49991067 1247.44 1081.35 -imu_odom_: 1691062872.767017456 0.632069 -0.126893 9.71806 -0.0543285 -0.0149137 0.0436758 0.25 -0.02 pose: 0.40968888 -0.822721 -3.93497 0 0.00139569 -0.0004558040.998855 -0.0478256 uwb: 0.0 1247.44 1081.35 -imu_odom_: 1691062872.783935463 -0.0215478 -0.409408 9.95748 -0.0543285 -0.0170442 0.0543285 0.25 -0.02 pose: 0.0 -0.822721 -3.93497 0 0.00139569 -0.0004558040.998855 -0.0478256 uwb: 0.0 1247.44 1081.35 -imu_odom_: 1691062872.800822264 0.349553 -0.349553 9.84496 -0.0319579 -0.02024 0.0340885 0.18 -0.02 pose: 0.7007173 -0.822721 -3.93497 0 0.00214346 -0.0003032140.998853 -0.0478394 uwb: 0.49875282 1247.09 1083.15 -imu_odom_: 1691062872.817878513 0.344765 0.112527 9.7037 -0.0607201 0.00213053 0.0479369 0.18 -0.02 pose: 0.0 -0.822721 -3.93497 0 0.00214346 -0.0003032140.998853 -0.0478394 uwb: 0.0 1247.09 1083.15 -imu_odom_: 1691062872.833927405 0.632069 -0.521936 10.2376 -0.0628506 0.00319579 0.052198 0.18 -0.02 pose: 0.0 -0.822721 -3.93497 0 0.00214346 -0.0003032140.998853 -0.0478394 uwb: 0.0 1247.09 1083.15 -imu_odom_: 1691062872.850813914 0.804452 0.0430956 10.0389 -0.0436758 -0.056459 0.0330232 0.25 -0.02 pose: 0.49998358 -0.836427 -3.93846 0 0.00269254 -0.0004816060.998844 -0.0479943 uwb: 0.49933904 1246.98 1083.84 -imu_odom_: 1691062872.866942718 0.936133 -0.301669 9.6199 -0.0468716 0.0117179 0.0756338 0.16 -0.02 pose: 0.0 -0.836427 -3.93846 0 0.00269254 -0.0004816060.998844 -0.0479943 uwb: 0.0 1246.98 1083.84 -imu_odom_: 1691062872.884055256 1.08218 -0.153229 9.95748 -0.0639159 -0.00319579 0.125701 0.16 -0.02 pose: 0.67000944 -0.845024 -3.93335 0 0.00491991 0.000247102 0.998824 -0.0482326 uwb: 0.0 1246.98 1083.84 -imu_odom_: 1691062872.899869953 1.95606 -0.562637 10.2592 -0.0511327 -0.056459 0.0788296 0.14 -0.02 pose: 0.0 -0.845024 -3.93335 0 0.00491991 0.000247102 0.998824 -0.0482326 uwb: 0.0 1246.98 1083.84 -imu_odom_: 1691062872.917865897 1.76692 -0.0526724 8.92798 -0.0436758 0.0287621 0.00213053 0.14 -0.02 pose: 0.0 -0.845024 -3.93335 0 0.00491991 0.000247102 0.998824 -0.0482326 uwb: 0.0 1246.98 1083.84 -imu_odom_: 1691062872.933862292 1.23062 0.0526724 9.78271 -0.0543285 0.0841559 0.00319579 0.14 -0.02 pose: 0.32869779 -0.85013 -3.94195 0 0.00829673 0.000231292 0.998751 -0.0492643 uwb: 0.0 1246.98 1083.84 -imu_odom_: 1691062872.949805023 1.10373 -0.0957681 10.2232 -0.0777643 0.00426106 0.0500674 0.11 -0.02 pose: 0.42042159 -0.85013 -3.94195 0 0.0114961 0.00121725 0.998742 -0.0487861 uwb: 0.100320447 1247.33 1084.92 -imu_odom_: 1691062872.966793318 0.787692 -0.512359 9.73722 -0.0511327 0.0308927 0.0436758 0.11 -0.02 pose: 0.7008339 -0.85013 -3.94195 0 0.0121455 0.00132476 0.998733 -0.0488202 uwb: 0.0 1247.33 1084.92 -imu_odom_: 1691062872.983851900 0.696713 -0.246603 10.0533 -0.04048 -0.0213053 0.015979 0.11 -0.02 pose: 0.0 -0.85013 -3.94195 0 0.0121455 0.00132476 0.998733 -0.0488202 uwb: 0.0 1247.33 1084.92 -imu_odom_: 1691062872.999847712 0.670376 0.0933739 9.6223 -0.0607201 -0.0255663 0.0127832 0.12 -0.02 pose: 0.42981269 -0.858734 -3.93685 0 0.0150229 -0.0007800130.998699 -0.0487309 uwb: 0.0 1247.33 1084.92 -imu_odom_: 1691062873.16796926 0.749385 -0.174777 9.89524 -0.0649811 -0.0149137 0.0458064 0.08 0 pose: 0.0 -0.858734 -3.93685 0 0.0150229 -0.0007800130.998699 -0.0487309 uwb: 0.0 1247.33 1084.92 -imu_odom_: 1691062873.32908523 0.902614 -0.59855 10.0221 -0.0649811 -0.00319579 0.0585895 0.08 0 pose: 0.0 -0.858734 -3.93685 0 0.0150229 -0.0007800130.998699 -0.0487309 uwb: 0.0 1247.33 1084.92 -imu_odom_: 1691062873.48853879 0.758962 -0.356736 9.75877 -0.052198 -0.0138484 0.0490022 0.08 0 pose: 0.24020258 -0.858734 -3.93685 0 0.0156973 0.0012579 0.998699 -0.0485094 uwb: 0.99903681 1247.49 1084.97 -imu_odom_: 1691062873.65806885 0.979228 -0.0526724 9.95988 -0.0553937 -0.00852212 0.0490022 0.08 0.02 pose: 0.0 -0.858734 -3.93685 0 0.0156973 0.0012579 0.998699 -0.0485094 uwb: 0.0 1247.49 1084.97 -imu_odom_: 1691062873.81809696 0.725443 -0.0215478 9.87369 -0.0660464 0.00106526 0.056459 0.08 0.02 pose: 0.32984982 -0.863836 -3.94545 0 0.0173611 -0.0005031760.99866 -0.0487548 uwb: 0.0 1247.49 1084.97 -imu_odom_: 1691062873.98932733 0.737414 -0.342371 9.85453 -0.0596548 -0.00426106 0.0351537 0.08 0 pose: 0.40952556 -0.868137 -3.9429 0 0.0183945 0.00137451 0.99863 -0.0489667 uwb: 0.49995151 1247.67 1086.97 -imu_odom_: 1691062873.115931236 0.567426 -0.349553 9.78989 -0.052198 -0.0138484 0.0117179 0.08 0 pose: 0.0 -0.868137 -3.9429 0 0.0183945 0.00137451 0.99863 -0.0489667 uwb: 0.0 1247.67 1086.97 -imu_odom_: 1691062873.132932364 0.708684 -0.205901 10.003 -0.0511327 -0.00958738 0.00958738 0.08 0 pose: 0.0 -0.868137 -3.9429 0 0.0183945 0.00137451 0.99863 -0.0489667 uwb: 0.0 1247.67 1086.97 -imu_odom_: 1691062873.148940717 0.656011 -0.174777 9.67018 -0.056459 -0.00532632 0.0351537 0.05 0.02 pose: 0.7989740 -0.87244 -3.94036 0 0.0182905 0.000564582 0.998633 -0.0489633 uwb: 0.49937404 1247.21 1088.75 -imu_odom_: 1691062873.165987925 0.658405 -0.342371 9.92875 -0.0607201 0.0106526 0.04048 0.05 0.02 pose: 0.0 -0.87244 -3.94036 0 0.0182905 0.000564582 0.998633 -0.0489633 uwb: 0.0 1247.21 1088.75 -imu_odom_: 1691062873.182925182 0.766145 -0.237026 9.99819 -0.0532632 -0.00426106 0.04048 0.05 0.02 pose: 0.67148519 -0.87244 -3.94036 0 0.0145895 0.000469532 0.99872 -0.0484285 uwb: 0.0 1247.21 1088.75 -imu_odom_: 1691062873.198930035 0.605733 -0.234632 9.83299 -0.0543285 0.015979 0.0756338 0.05 0.02 pose: 0.0 -0.87244 -3.94036 0 0.0145895 0.000469532 0.99872 -0.0484285 uwb: 0.50061064 1246.69 1090.27 -imu_odom_: 1691062873.215982201 0.567426 -0.445322 10.0126 -0.0585895 0.00106526 0.111853 0.04 0.05 pose: 0.0 -0.87244 -3.94036 0 0.0145895 0.000469532 0.99872 -0.0484285 uwb: 0.0 1246.69 1090.27 -imu_odom_: 1691062873.232785007 0.529119 -0.287304 9.88566 -0.0490022 0 0.0958738 0.04 0.05 pose: 0.34054170 -0.87244 -3.94036 0 0.0151387 -0.0003706960.998704 -0.0485968 uwb: 0.0 1246.69 1090.27 -imu_odom_: 1691062873.255778950 0.667982 -0.138864 9.86172 -0.0575243 -0.015979 0.123571 0.05 0.11 pose: 0.41782882 -0.87244 -3.94036 0 0.0117748 -0.00226295 0.998684 -0.0498601 uwb: 0.49878199 1246.83 1090.57 -imu_odom_: 1691062873.272836658 0.682347 -0.368707 10.0102 -0.0617853 0.0255663 0.118244 0.05 0.11 pose: 0.0 -0.87244 -3.94036 0 0.0117748 -0.00226295 0.998684 -0.0498601 uwb: 0.0 1246.83 1090.57 -imu_odom_: 1691062873.288801555 -0.395043 -0.320823 9.72285 -0.0479369 0.0948085 0.0106526 0.04 -0.08 pose: 0.7020297 -0.87244 -3.94036 0 0.0119763 -0.00158752 0.998669 -0.0501461 uwb: 0.50060189 1246.52 1091.68 -imu_odom_: 1691062873.305891636 -1.35991 0.363919 10.0413 -0.0532632 0.00745685 -0.129962 0.08 -0.23 pose: 0.0 -0.87244 -3.94036 0 0.0119763 -0.00158752 0.998669 -0.0501461 uwb: 0.0 1246.52 1091.68 -imu_odom_: 1691062873.321973192 -0.837971 0.0957681 9.76355 -0.0756338 -0.0990696 -0.210922 0.07 -0.26 pose: 0.0 -0.87244 -3.94036 0 0.0119763 -0.00158752 0.998669 -0.0501461 uwb: 0.0 1246.52 1091.68 -imu_odom_: 1691062873.338988028 0.124498 -0.162806 9.91918 -0.0671117 -0.0426106 -0.299339 0.07 -0.26 pose: 0.74029991 -0.877512 -3.94898 0 0.00813464 -0.00135635 0.998774 -0.0488195 uwb: 0.49910572 1246.4 1092.61 -imu_odom_: 1691062873.354772685 0.514753 -0.198719 9.89763 -0.0692422 -0.0255663 -0.322775 0.07 -0.26 pose: 0.0 -0.877512 -3.94898 0 0.00813464 -0.00135635 0.998774 -0.0488195 uwb: 0.0 1246.4 1092.61 -imu_odom_: 1691062873.371860433 0.181959 -0.536301 9.57681 -0.0713727 0.00532632 -0.336624 0.09 -0.38 pose: 0.0 -0.877512 -3.94898 0 0.00813464 -0.00135635 0.998774 -0.0488195 uwb: 0.0 1246.4 1092.61 -imu_odom_: 1691062873.389795423 -0.0383072 -0.268151 9.88566 -0.0308927 0.0276969 -0.38456 0.09 -0.38 pose: 0.33019105 -0.886116 -3.94388 0 0.0062141 -0.00036536 0.999034 -0.0434932 uwb: 0.50092270 1247.03 1092.36 -imu_odom_: 1691062873.404882163 -0.0502782 -0.0263362 9.20331 -0.04048 -0.02024 -0.418649 0.11 -0.44 pose: 0.42941023 -0.886116 -3.94388 0 0.00271748 -0.0009555130.999381 -0.0350529 uwb: 0.0 1247.03 1092.36 -imu_odom_: 1691062873.420790771 0.023942 0.296881 10.4387 -0.0426106 -0.00745685 -0.436758 0.11 -0.44 pose: 0.0 -0.886116 -3.94388 0 0.00271748 -0.0009555130.999381 -0.0350529 uwb: 0.0 1247.03 1092.36 -imu_odom_: 1691062873.445812262 0.512359 -0.179565 10.3238 -0.0585895 -0.0351537 -0.487891 0.12 -0.53 pose: 0.7017963 -0.886116 -3.94388 0 0.00211495 -0.0006517130.999438 -0.0334462 uwb: 0.49764748 1247.3 1093.44 -imu_odom_: 1691062873.462852179 0.452504 -0.150835 9.44513 -0.0681769 -0.00852212 -0.492152 0.12 -0.58 pose: 0.0 -0.886116 -3.94388 0 0.00211495 -0.0006517130.999438 -0.0334462 uwb: 0.0 1247.3 1093.44 -imu_odom_: 1691062873.478776537 0.459687 -0.0909797 9.80186 -0.0596548 0.0106526 -0.452737 0.13 -0.44 pose: 0.0 -0.886116 -3.94388 0 0.00211495 -0.0006517130.999438 -0.0334462 uwb: 0.0 1247.3 1093.44 -imu_odom_: 1691062873.495765998 0.277727 -0.452504 9.63427 -0.0617853 -0.0213053 -0.442085 0.13 -0.44 pose: 0.74035824 -0.899772 -3.94747 0 0.0027014 0.00373324 0.999881 -0.0147088 uwb: 0.49970944 1247.3 1093.69 -imu_odom_: 1691062873.511761227 0.438139 0.141258 10.2185 -0.0426106 0.00319579 -0.411192 0.13 -0.44 pose: 0.0 -0.899772 -3.94747 0 0.0027014 0.00373324 0.999881 -0.0147088 uwb: 0.0 1247.3 1093.69 -imu_odom_: 1691062873.527819743 -0.0861913 -0.438139 9.68933 -0.0639159 0.0628506 -0.288687 0.13 -0.32 pose: 0.0 -0.899772 -3.94747 0 0.0027014 0.00373324 0.999881 -0.0147088 uwb: 0.0 1247.3 1093.69 -imu_odom_: 1691062873.544909824 0.035913 -0.442927 10.0173 -0.0745685 -0.0756338 -0.208792 0.13 -0.32 pose: 0.32923152 -0.899772 -3.94747 0 0.00192322 0.00382781 0.999967 -0.00685794 uwb: 0.50187931 1247.29 1094.18 -imu_odom_: 1691062873.560957258 0.964863 -0.23942 9.78031 -0.0447411 -0.0511327 -0.235423 0.19 -0.35 pose: 0.41137462 -0.908406 -3.94243 0 -0.0007727180.00253026 0.999996 -0.000288067 uwb: 0.0 1247.29 1094.18 -imu_odom_: 1691062873.576920405 1.15401 -0.0167594 10.1299 -0.0735032 0.0308927 -0.198139 0.19 -0.35 pose: 0.0 -0.908406 -3.94243 0 -0.0007727180.00253026 0.999996 -0.000288067 uwb: 0.0 1247.29 1094.18 -imu_odom_: 1691062873.593900826 0.344765 -0.244209 9.67018 -0.0649811 0.0585895 -0.173638 0.19 -0.35 pose: 0.0 -0.908406 -3.94243 0 -0.0007727180.00253026 0.999996 -0.000288067 uwb: 0.49803245 1247.14 1095.11 -imu_odom_: 1691062873.611903478 0.533907 -0.500388 10.0748 -0.0458064 -0.036219 -0.196009 0.14 -0.2 pose: 0.6875055 -0.908406 -3.94243 0 6.85273e-05 0.00247912 0.999997 0.000656041 uwb: 0.0 1247.14 1095.11 -imu_odom_: 1691062873.626913806 0.260968 -0.217872 9.52413 -0.0617853 -0.0234358 -0.177899 0.15 -0.2 pose: 0.0 -0.908406 -3.94243 0 6.85273e-05 0.00247912 0.999997 0.000656041 uwb: 0.0 1247.14 1095.11 -imu_odom_: 1691062873.642776625 0.47884 -0.294487 9.95509 -0.052198 -0.0149137 -0.125701 0.15 -0.2 pose: 0.0 -0.908406 -3.94243 0 6.85273e-05 0.00247912 0.999997 0.000656041 uwb: 0.49939155 1247.54 1095.27 -imu_odom_: 1691062873.656909963 -0.124498 -0.117316 9.76355 -0.0372843 0.00426106 -0.12144 0.15 -0.2 pose: 0.67129271 -0.922113 -3.94591 0 0.000849824 -0.00012992 0.999964 0.00850049 uwb: 0.0 1247.54 1095.27 -imu_odom_: 1691062873.673957755 0.311246 -0.143652 9.83059 -0.0511327 -0.0223706 -0.122505 0.15 -0.17 pose: 0.0 -0.922113 -3.94591 0 0.000849824 -0.00012992 0.999964 0.00850049 uwb: 0.0 1247.54 1095.27 -imu_odom_: 1691062873.688894004 0.507571 -0.129287 9.84256 -0.0553937 -0.0170442 -0.138484 0.15 -0.17 pose: 0.29891747 -0.922113 -3.94591 0 0.000682221 -0.00109878 0.999937 0.0111659 uwb: 0.50046481 1248.28 1095.05 -imu_odom_: 1691062873.704864150 0.40462 -0.203507 9.76355 -0.0511327 0.052198 -0.131028 0.15 -0.14 pose: 0.40088107 -0.926695 -3.94321 0 0.000190262 0.00115698 0.999894 0.014526 uwb: 0.0 1248.28 1095.05 -imu_odom_: 1691062873.719895769 0.818817 -0.344765 9.8689 -0.0596548 -0.0223706 -0.092678 0.15 -0.14 pose: 0.0 -0.926695 -3.94321 0 0.000190262 0.00115698 0.999894 0.014526 uwb: 0.0 1248.28 1095.05 -imu_odom_: 1691062873.736910896 0.732626 -0.201113 9.3733 -0.0639159 -0.0394148 -0.0862864 0.15 -0.14 pose: 0.0 -0.926695 -3.94321 0 0.000190262 0.00115698 0.999894 0.014526 uwb: 0.0 1248.28 1095.05 -imu_odom_: 1691062873.752758549 1.04627 -0.205901 10.1586 -0.0458064 0.0170442 -0.0500674 0.12 -0.17 pose: 0.7021463 -0.930714 -3.94081 0 -0.0001323110.000483436 0.999885 0.0151247 uwb: 0.49996026 1248.09 1095.48 -imu_odom_: 1691062873.769895003 1.17795 -0.337582 10.0245 -0.0660464 0.00426106 0.00106526 0.12 -0.17 pose: 0.0 -0.930714 -3.94081 0 -0.0001323110.000483436 0.999885 0.0151247 uwb: 0.0 1248.09 1095.48 -imu_odom_: 1691062873.786781220 1.4437 -0.383072 9.94791 -0.0660464 -0.00639159 -0.0245011 0.12 -0.17 pose: 0.0 -0.930714 -3.94081 0 -0.0001323110.000483436 0.999885 0.0151247 uwb: 0.0 1248.09 1095.48 -imu_odom_: 1691062873.803927006 1.37188 -0.105345 9.70131 -0.0511327 0.0447411 -0.0798948 0.15 -0.17 pose: 0.48885133 -0.935792 -3.94942 0 0.00373729 -0.0007379250.999825 0.0183084 uwb: 0.50002150 1247.42 1097.21 -imu_odom_: 1691062873.819769119 0.888249 0.150835 9.92875 -0.0532632 0.0330232 -0.103331 0.09 -0.11 pose: 0.0 -0.935792 -3.94942 0 0.00373729 -0.0007379250.999825 0.0183084 uwb: 0.0 1247.42 1097.21 -imu_odom_: 1691062873.836754789 0.794875 0.0670376 10.1658 -0.0553937 -0.00213053 -0.0980043 0.09 -0.11 pose: 0.67108563 -0.944425 -3.94438 0 0.00938765 -0.0005365030.999732 0.0211416 uwb: 0.0 1247.42 1097.21 -imu_odom_: 1691062873.852889135 0.881066 -0.483629 9.94073 -0.0596548 -0.0106526 -0.0884169 0.09 -0.11 pose: 0.0 -0.944425 -3.94438 0 0.00938765 -0.0005365030.999732 0.0211416 uwb: 0.50000400 1246.77 1098.95 -imu_odom_: 1691062873.869881804 0.861913 -0.380678 9.80186 -0.0596548 -0.00639159 -0.092678 0.07 -0.08 pose: 0.0 -0.944425 -3.94438 0 0.00938765 -0.0005365030.999732 0.0211416 uwb: 0.0 1246.77 1098.95 -imu_odom_: 1691062873.885883158 0.885855 -0.158017 10.0317 -0.0575243 -0.0191748 -0.0756338 0.07 -0.08 pose: 0.32887571 -0.944425 -3.94438 0 0.0112858 0.000833414 0.999662 0.0233974 uwb: 0.0 1246.77 1098.95 -imu_odom_: 1691062873.902891577 0.905008 -0.217872 9.90481 -0.0649811 -0.00852212 -0.0490022 0.09 -0.08 pose: 0.41086424 -0.953057 -3.93933 0 0.0148375 -0.0004634440.999553 0.0259463 uwb: 0.49990193 1247.39 1098.69 -imu_odom_: 1691062873.918898471 0.701501 -0.318429 10.0604 -0.0575243 -0.00213053 -0.0372843 0.09 -0.08 pose: 0.0 -0.953057 -3.93933 0 0.0148375 -0.0004634440.999553 0.0259463 uwb: 0.0 1247.39 1098.69 -imu_odom_: 1691062873.945759395 0.636858 -0.0454898 10.1347 -0.0532632 -0.015979 -0.0500674 0.08 -0.08 pose: 0.7012422 -0.953057 -3.93933 0 0.0155528 -0.0005168220.999534 0.0262569 uwb: 0.50026358 1247.85 1099.38 -imu_odom_: 1691062873.970785553 -0.136469 -0.280122 9.77553 -0.0607201 0.0788296 -0.0649811 0.05 -0.05 pose: 0.0 -0.953057 -3.93933 0 0.0155528 -0.0005168220.999534 0.0262569 uwb: 0.0 1247.85 1099.38 -imu_odom_: 1691062873.987770056 -0.976834 -0.0574608 10.1586 -0.0543285 0.0585895 -0.0394148 0.09 -0.05 pose: 0.77889973 -0.953057 -3.93933 0 0.0116488 0.000229557 0.999487 0.0298382 uwb: 0.0 1247.85 1099.38 -imu_odom_: 1691062874.13884358 -0.545878 -0.52433 9.73722 -0.0617853 -0.0479369 0.00213053 0.09 -0.05 pose: 0.0 -0.953057 -3.93933 0 0.0116488 0.000229557 0.999487 0.0298382 uwb: 0.50111519 1248.09 1099.23 -imu_odom_: 1691062874.40799821 0.938527 -0.0885855 9.60793 -0.0617853 -0.0447411 0.0330232 0.08 0 pose: 0.25139900 -0.958136 -3.94794 0 0.00881656 0.000234337 0.999491 0.0306634 uwb: 0.50031607 1248.67 1098.46 -imu_odom_: 1691062874.56757427 0.488417 -0.335188 9.51216 -0.0639159 0.0436758 0.0117179 0.08 0 pose: 0.0 -0.958136 -3.94794 0 0.00881656 0.000234337 0.999491 0.0306634 uwb: 0.0 1248.67 1098.46 -imu_odom_: 1691062874.83747261 -0.0023942 -0.143652 9.90721 -0.0671117 0.0127832 -0.00106526 0.11 -0.02 pose: 0.52911356 -0.966745 -3.94286 0 0.00986411 -0.0002535930.999465 0.0311978 uwb: 0.0 1248.67 1098.46 -imu_odom_: 1691062874.108750087 0.21069 -0.342371 10.2544 -0.0777643 -0.0436758 0.0106526 0.12 -0.02 pose: 0.34910452 -0.966745 -3.94286 0 0.00624716 -0.0005542470.999473 0.0318549 uwb: 0.50269594 1248.43 1098.61 -imu_odom_: 1691062874.135767628 0.718261 -0.311246 9.98382 -0.0639159 -0.02024 0.0181095 0.12 -0.02 pose: 0.0 -0.966745 -3.94286 0 0.00624716 -0.0005542470.999473 0.0318549 uwb: 0.0 1248.43 1098.61 -imu_odom_: 1691062874.161900595 -0.0430956 -0.071826 10.0317 -0.0468716 0.0234358 0.00639159 0.13 0 pose: 0.8068486 -0.966745 -3.94286 0 0.00563858 -0.0009100380.999473 0.0319701 uwb: 0.49696211 1249.08 1097.61 -imu_odom_: 1691062874.188027730 0.371101 -0.134075 10.2137 -0.0468716 -0.0681769 0.0138484 0.13 0 pose: 0.0 -0.966745 -3.94286 0 0.00563858 -0.0009100380.999473 0.0319701 uwb: 0.0 1249.08 1097.61 -imu_odom_: 1691062874.210754522 0.502782 -0.191536 10.1299 -0.0383495 0.0319579 0.0191748 0.14 -0.02 pose: 0.51969619 -0.975341 -3.93775 0 0.00627756 -0.00231032 0.999445 0.0326351 uwb: 0.49974153 1249.51 1097.03 -imu_odom_: 1691062874.227002319 0.308852 -0.371101 9.72764 -0.0543285 -0.00532632 0.0223706 0.14 -0.02 pose: 0.0 -0.975341 -3.93775 0 0.00627756 -0.00231032 0.999445 0.0326351 uwb: 0.0 1249.51 1097.03 -imu_odom_: 1691062874.243893496 0.189142 -0.0861913 10.0533 -0.0490022 0.00958738 0.0117179 0.14 0 pose: 0.51045382 -0.989054 -3.9412 0 0.00380587 0.000616137 0.999436 0.0333449 uwb: 0.50129894 1249.66 1098.34 -imu_odom_: 1691062874.259717526 0.40462 -0.23942 10.1849 -0.0575243 -0.036219 0.02024 0.14 0 pose: 0.0 -0.989054 -3.9412 0 0.00380587 0.000616137 0.999436 0.0333449 uwb: 0.0 1249.66 1098.34 -imu_odom_: 1691062874.285888700 0.220267 -0.136469 9.62708 -0.0383495 -0.0436758 0.0234358 0.15 -0.02 pose: 0.64886778 -0.993281 -3.93867 0 0.00132785 -0.0001537780.99942 0.0340341 uwb: 0.0 1249.66 1098.34 -imu_odom_: 1691062874.302721254 0.349553 -0.402226 9.50737 -0.0671117 -0.0191748 0.0223706 0.15 -0.02 pose: 0.9238292 -0.99763 -3.93606 0 0.000661735 0.000280209 0.999418 0.0341089 uwb: 0.49904448 1249.92 1098.7 -imu_odom_: 1691062874.327782701 -0.0622492 -0.138864 9.991 -0.0468716 0.0415453 0.0266316 0.15 0 pose: 0.0 -0.99763 -3.93606 0 0.000661735 0.000280209 0.999418 0.0341089 uwb: 0.0 1249.92 1098.7 -imu_odom_: 1691062874.354711289 0.814029 -0.0383072 10.1825 -0.0575243 -0.0308927 0.0255663 0.15 0 pose: 0.33765436 -0.99763 -3.93606 0 -0.000830863-0.0006660910.999408 0.0343921 uwb: 0.49964820 1249.81 1098.91 -imu_odom_: 1691062874.370708559 0.332794 -0.124498 9.98861 -0.0543285 0.0266316 0.0213053 0.16 -0.02 pose: 0.0 -0.99763 -3.93606 0 -0.000830863-0.0006660910.999408 0.0343921 uwb: 0.0 1249.81 1098.91 -imu_odom_: 1691062874.387709396 0.148441 -0.280122 9.54568 -0.0585895 -0.00532632 0.036219 0.16 -0.02 pose: 0.51990035 -1.00889 -3.94096 0 -0.0009247560.000827892 0.999396 0.0347378 uwb: 0.0 1249.81 1098.91 -imu_odom_: 1691062874.403759455 0.64404 -0.263362 10.1131 -0.0681769 -0.0532632 0.0266316 0.16 -0.02 pose: 0.0 -1.00889 -3.94096 0 -0.0009247560.000827892 0.999396 0.0347378 uwb: 0.49864493 1249.69 1099.87 -imu_odom_: 1691062874.419769266 0.146046 -0.059855 10.2663 -0.0532632 -0.0127832 0.0245011 0.16 0 pose: 0.41073591 -1.01137 -3.9395 0 -0.00260511 0.00119338 0.999384 0.0349683 uwb: 0.0 1249.69 1099.87 -imu_odom_: 1691062874.445708578 0.758962 -0.521936 9.84975 -0.0617853 -0.0340885 0.0351537 0.16 0 pose: 0.0 -1.01137 -3.9395 0 -0.00260511 0.00119338 0.999384 0.0349683 uwb: 0.50064564 1249.2 1100.94 -imu_odom_: 1691062874.461713723 0.466869 -0.126893 9.97664 -0.036219 -0.0330232 0.0149137 0.21 -0.05 pose: 0.49923698 -1.02362 -3.9406 0 -0.0005788644.50115e-06 0.99938 0.0351995 uwb: 0.0 1249.2 1100.94 -imu_odom_: 1691062874.478707851 0.272939 -0.136469 10.0102 -0.0234358 -0.00639159 0.0149137 0.21 -0.05 pose: 0.7066669 -1.02506 -3.94304 0 2.91657e-06 0.000589823 0.999377 0.0352864 uwb: 0.0 1249.2 1100.94 -imu_odom_: 1691062874.505748432 0.59855 -0.567426 9.91199 -0.0575243 -0.0191748 0.0319579 0.22 -0.02 pose: 0.25932604 -1.03367 -3.93796 0 -0.0008130950.00222822 0.999363 0.035608 uwb: 0.49950238 1249.62 1101.61 -imu_odom_: 1691062874.521726162 0.232238 -0.117316 9.81623 -0.0383495 0.00745685 0.0138484 0.17 0 pose: 0.0 -1.03367 -3.93796 0 -0.0008130950.00222822 0.999363 0.035608 uwb: 0.0 1249.62 1101.61 -imu_odom_: 1691062874.548705497 0.102951 -0.225055 9.63666 -0.0575243 -0.056459 0.0500674 0.23 -0.02 pose: 0.0 -1.03367 -3.93796 0 -0.0008130950.00222822 0.999363 0.035608 uwb: 0.49972986 1249.96 1102.26 -imu_odom_: 1691062874.573773943 0.126893 0.0287304 9.6199 -0.0340885 -0.0213053 0.0266316 0.19 -0.02 pose: 0.43018311 -1.03367 -3.93796 0 -0.0008736060.000730297 0.999354 0.0359163 uwb: 0.0 1249.96 1102.26 -imu_odom_: 1691062874.600890645 0.169988 -0.208296 9.68694 -0.0873517 -0.0255663 0.0490022 0.19 -0.02 pose: 0.35053653 -1.04228 -3.93287 0 -0.00332981 0.0012386 0.999352 0.0358284 uwb: 0.50076814 1250.22 1102.63 -imu_odom_: 1691062874.616714675 0.517148 -0.0143652 10.2017 -0.0468716 -0.0426106 0.0255663 0.17 -0.02 pose: 0.44110830 -1.05211 -3.93539 0 -0.00666353 0.00160433 0.999335 0.0358163 uwb: 0.0 1250.22 1102.63 -imu_odom_: 1691062874.632756860 0.624887 -0.0526724 9.97424 -0.0703074 -0.0575243 0.052198 0.17 -0.02 pose: 0.7882704 -1.05598 -3.93638 0 -0.00584716 0.00205753 0.999337 0.0358682 uwb: 0.0 1250.22 1102.63 -imu_odom_: 1691062874.659761859 0.658405 -0.301669 9.44273 -0.0681769 0.0255663 0.0287621 0.17 -0.02 pose: 0.23983511 -1.05598 -3.93638 0 -0.00307113 0.00286861 0.99935 0.0358136 uwb: 0.50047065 1249.8 1103.47 -imu_odom_: 1691062874.676717199 0.198719 -0.141258 9.59835 -0.0490022 0.0298274 0.0383495 0.17 -0.02 pose: 0.0 -1.05598 -3.93638 0 -0.00307113 0.00286861 0.99935 0.0358136 uwb: 0.0 1249.8 1103.47 -imu_odom_: 1691062874.701761730 0.457293 -0.21069 9.40203 -0.0639159 0 0.0372843 0.17 0 pose: 0.0 -1.05598 -3.93638 0 -0.00307113 0.00286861 0.99935 0.0358136 uwb: 0.50037441 1249.42 1105.11 -imu_odom_: 1691062874.717698337 0.354342 0.0191536 9.93833 -0.0500674 0.0149137 0.0223706 0.17 0 pose: 0.43960339 -1.06458 -3.93129 0 -0.00296505 0.00205996 0.999346 0.0359667 uwb: 0.0 1249.42 1105.11 -imu_odom_: 1691062874.733793018 0.407014 -0.251391 10.0413 -0.0788296 -0.0117179 0.0575243 0.17 0 pose: 0.0 -1.06458 -3.93129 0 -0.00296505 0.00205996 0.999346 0.0359667 uwb: 0.0 1249.42 1105.11 -imu_odom_: 1691062874.750743983 0.205901 -0.19393 9.88326 -0.0458064 0.0234358 0.0351537 0.21 0 pose: 0.57075819 -1.07828 -3.93481 0 -0.00056862 0.00104072 0.999352 0.035985 uwb: 0.49841452 1249.87 1105.81 -imu_odom_: 1691062874.775892341 0.380678 0.0215478 9.84975 -0.052198 0.0394148 0.0330232 0.21 0 pose: 0.0 -1.07828 -3.93481 0 -0.00056862 0.00104072 0.999352 0.035985 uwb: 0.0 1249.87 1105.81 -imu_odom_: 1691062874.802832887 0.3304 -0.447716 9.42837 -0.0458064 -0.00532632 0.0223706 0.22 0 pose: 0.42099323 -1.07828 -3.93481 0 -0.0026387 0.00374372 0.999338 0.0360989 uwb: 0.49999527 1250.4 1105.77 -imu_odom_: 1691062874.819846556 0.37589 -0.11971 10.6781 -0.0479369 -0.0703074 0.0394148 0.18 0 pose: 0.0 -1.07828 -3.93481 0 -0.0026387 0.00374372 0.999338 0.0360989 uwb: 0.0 1250.4 1105.77 -imu_odom_: 1691062874.844896337 0.778116 -0.234632 10.1227 -0.0735032 -0.036219 0.036219 0.18 0 pose: 0.43954215 -1.08689 -3.92971 0 -0.00154316 0.00273488 0.999335 0.0363362 uwb: 0.50054356 1251.23 1105.61 -imu_odom_: 1691062874.861755723 0.416591 -0.181959 9.74201 -0.0415453 0.0468716 0.0149137 0.18 0 pose: 0.0 -1.08689 -3.92971 0 -0.00154316 0.00273488 0.999335 0.0363362 uwb: 0.0 1251.23 1105.61 -imu_odom_: 1691062874.875892852 0.141258 -0.344765 9.54089 -0.0703074 0.0191748 0.0447411 0.18 0 pose: 0.0 -1.08689 -3.92971 0 -0.00154316 0.00273488 0.999335 0.0363362 uwb: 0.0 1251.23 1105.61 -imu_odom_: 1691062874.891702300 0.574608 -0.502782 9.97185 -0.0681769 -0.0415453 0.036219 0.18 0 pose: 0.48053932 -1.10059 -3.93321 0 -0.00122095 0.000942398 0.99933 0.0365668 uwb: 0.49992527 1251.09 1106.32 -imu_odom_: 1691062874.916700460 0.950498 -0.251391 9.55047 -0.0628506 -0.0276969 0.0340885 0.18 0 pose: 0.23801812 -1.10059 -3.93321 0 -0.000849413-0.0009412550.99933 0.0365759 uwb: 0.0 1251.09 1106.32 -imu_odom_: 1691062874.941821403 0.6608 -0.332794 9.77074 -0.0447411 -0.0106526 0.0234358 0.18 0 pose: 0.0 -1.10059 -3.93321 0 -0.000849413-0.0009412550.99933 0.0365759 uwb: 0.50136602 1250.83 1106.99 -imu_odom_: 1691062874.967701511 0.529119 -0.289698 9.76355 -0.052198 0.00745685 0.0479369 0.24 -0.02 pose: 0.7035463 -1.10059 -3.93321 0 -6.52827e-05-0.00101935 0.99933 0.0365958 uwb: 0.0 1250.83 1106.99 -imu_odom_: 1691062874.983872604 0.610521 -0.323217 9.85693 -0.056459 0.00106526 0.0543285 0.24 -0.02 pose: 0.0 -1.10059 -3.93321 0 -6.52827e-05-0.00101935 0.99933 0.0365958 uwb: 0.0 1250.83 1106.99 -imu_odom_: 1691062875.825027 -0.205901 -0.0694318 9.87129 -0.0319579 0.0106526 0.0447411 0.22 0 pose: 0.50957595 -1.10919 -3.92811 0 0.00481633 -0.00270137 0.999307 0.0368151 uwb: 0.49909115 1250.37 1108.35 -imu_odom_: 1691062875.16819964 0.433351 -0.0885855 10.1466 -0.0585895 -0.0170442 0.0575243 0.22 0 pose: 0.0 -1.10919 -3.92811 0 0.00481633 -0.00270137 0.999307 0.0368151 uwb: 0.0 1250.37 1108.35 -imu_odom_: 1691062875.42886727 0.699107 -0.268151 10.0963 -0.0298274 -0.0447411 0.0276969 0.24 0 pose: 0.42149487 -1.12289 -3.9316 0 0.00664158 -0.00423759 0.999299 0.0365971 uwb: 0.49894241 1250.25 1110.11 -imu_odom_: 1691062875.59881148 0.442927 -0.153229 9.81144 -0.0511327 0.0234358 0.052198 0.24 0 pose: 0.0 -1.12289 -3.9316 0 0.00664158 -0.00423759 0.999299 0.0365971 uwb: 0.0 1250.25 1110.11 -imu_odom_: 1691062875.76671122 0.447716 -0.339977 9.57202 -0.0436758 -0.0266316 0.0468716 0.24 0 pose: 0.0 -1.12289 -3.9316 0 0.00664158 -0.00423759 0.999299 0.0365971 uwb: 0.0 1250.25 1110.11 -imu_odom_: 1691062875.100680006 0.675165 -0.320823 9.87608 -0.0543285 -0.0319579 0.0511327 0.18 0 pose: 0.84826277 -1.13448 -3.93154 0 0.00595846 -0.00232763 0.999316 0.036419 uwb: 0.49982904 1250.81 1110.36 -imu_odom_: 1691062875.126756686 0.531513 -0.232238 10.0509 -0.0436758 0.0266316 0.0287621 0.18 0 pose: 0.0 -1.13448 -3.93154 0 0.00595846 -0.00232763 0.999316 0.036419 uwb: 0.0 1250.81 1110.36 -imu_odom_: 1691062875.152826074 0.754174 -0.234632 9.97903 -0.0660464 -0.0426106 0.0628506 0.18 -0.02 pose: 0.7026713 -1.13659 -3.9351 0 0.00669379 -0.00262476 0.999312 0.0363777 uwb: 0.50145935 1250.83 1110.89 -imu_odom_: 1691062875.169830994 0.600945 -0.244209 9.65342 -0.0617853 -0.00319579 0.036219 0.18 -0.02 pose: 0.0 -1.13659 -3.9351 0 0.00669379 -0.00262476 0.999312 0.0363777 uwb: 0.0 1250.83 1110.89 -imu_odom_: 1691062875.185697605 0.0574608 -0.316035 9.67257 -0.0490022 0.00958738 0.0468716 0.22 0 pose: 0.50355048 -1.1452 -3.93 0 0.00717617 -0.00132647 0.999313 0.0363456 uwb: 0.0 1250.83 1110.89 -imu_odom_: 1691062875.202687359 0.840365 -0.0670376 10.0317 -0.076699 -0.0138484 0.0575243 0.22 0 pose: 0.0 -1.1452 -3.93 0 0.00717617 -0.00132647 0.999313 0.0363456 uwb: 0.49879951 1250.85 1111.95 -imu_odom_: 1691062875.227819969 0.739808 -0.1652 10.0485 -0.0383495 -0.015979 0.036219 0.18 0 pose: 0.68634476 -1.16183 -3.92696 0 0.0107226 -0.00157545 0.999295 0.0359513 uwb: 0.0 1250.85 1111.95 -imu_odom_: 1691062875.244723979 0.258574 -0.354342 9.2895 -0.0852212 -0.0223706 0.0596548 0.18 0 pose: 0.7034005 -1.1675 -3.92841 0 0.0113838 -0.00117859 0.999287 0.0359668 uwb: 0.50182391 1251.15 1112.08 -imu_odom_: 1691062875.260804369 0.691924 -0.414197 10.4315 -0.0553937 -0.00319579 0.0500674 0.18 0 pose: 0.0 -1.1675 -3.92841 0 0.0113838 -0.00117859 0.999287 0.0359668 uwb: 0.0 1251.15 1112.08 -imu_odom_: 1691062875.286694101 0.646434 -0.129287 10.2041 -0.0777643 0.0127832 0.0639159 0.24 0 pose: 0.42011537 -1.1675 -3.92841 0 0.0117722 -0.00164394 0.999289 0.035789 uwb: 0.0 1251.15 1112.08 -imu_odom_: 1691062875.312669287 0.481235 -0.335188 9.84256 -0.0649811 0.0426106 0.0415453 0.18 0 pose: 0.0 -1.1675 -3.92841 0 0.0117722 -0.00164394 0.999289 0.035789 uwb: 0.49941781 1250.91 1113.03 -imu_odom_: 1691062875.328661308 0.387861 -0.349553 9.8258 -0.0458064 0.00852212 0.04048 0.18 0 pose: 0.43014812 -1.17611 -3.92333 0 0.0109976 -0.0007488930.999311 0.0354386 uwb: 0.0 1250.91 1113.03 -imu_odom_: 1691062875.344714284 0.514753 -0.373495 9.93833 -0.0585895 -0.0308927 0.0479369 0.18 0.02 pose: 0.0 -1.17611 -3.92333 0 0.0109976 -0.0007488930.999311 0.0354386 uwb: 0.49848744 1251.02 1114.4 -imu_odom_: 1691062875.361690330 0.474052 -0.225055 10.1131 -0.0394148 0.0245011 0.0372843 0.18 0.02 pose: 0.40919601 -1.1898 -3.92685 0 0.00745333 -0.00320005 0.999342 0.0353579 uwb: 0.0 1251.02 1114.4 -imu_odom_: 1691062875.386693739 0.416591 -0.0814029 9.88566 -0.052198 -0.00532632 0.0447411 0.18 0 pose: 0.0 -1.1898 -3.92685 0 0.00745333 -0.00320005 0.999342 0.0353579 uwb: 0.0 1251.02 1114.4 -imu_odom_: 1691062875.412811833 0.806846 -0.184354 9.89045 -0.0415453 -0.00213053 0.0340885 0.18 0 pose: 0.33175138 -1.1898 -3.92685 0 0.00543949 -0.00212087 0.999359 0.0353202 uwb: 0.50003319 1251.37 1114.03 -imu_odom_: 1691062875.437799202 0.270545 -0.344765 9.34936 -0.056459 -0.0234358 0.0415453 0.18 0.02 pose: 0.0 -1.1898 -3.92685 0 0.00543949 -0.00212087 0.999359 0.0353202 uwb: 0.0 1251.37 1114.03 -imu_odom_: 1691062875.453715685 0.823605 -0.335188 9.98143 -0.036219 -0.0266316 0.0372843 0.18 0.02 pose: 0.43969381 -1.19842 -3.92177 0 0.00722859 -0.0001028670.999349 0.0353537 uwb: 0.50104521 1251.27 1115.04 -imu_odom_: 1691062875.479858861 0.845153 -0.304064 10.4291 -0.0639159 -0.0319579 0.0468716 0.18 0 pose: 0.7006881 -1.19842 -3.92177 0 0.00665767 -0.0004002230.999353 0.0353448 uwb: 0.0 1251.27 1115.04 -imu_odom_: 1691062875.505802840 0.770933 -0.220267 9.81144 -0.0617853 0.0170442 0.0447411 0.18 0 pose: 0.0 -1.19842 -3.92177 0 0.00665767 -0.0004002230.999353 0.0353448 uwb: 0.49951405 1250.83 1116.16 -imu_odom_: 1691062875.530963157 0.703895 -0.203507 9.79228 -0.072438 0.0117179 0.0340885 0.2 0 pose: 0.42024370 -1.21211 -3.9253 0 0.00777808 -0.00178818 0.999345 0.035308 uwb: 0.0 1250.83 1116.16 -imu_odom_: 1691062875.556814975 0.347159 -0.514753 10.1299 -0.0703074 -0.0191748 0.0617853 0.2 0 pose: 0.0 -1.21211 -3.9253 0 0.00777808 -0.00178818 0.999345 0.035308 uwb: 0.49933031 1251.23 1116.35 -imu_odom_: 1691062875.582667959 0.414197 -0.287304 10.1131 -0.0319579 0.00958738 0.0234358 0.2 0 pose: 0.50907140 -1.22072 -3.92022 0 0.0126088 -0.00170909 0.999299 0.0352099 uwb: 0.0 1251.23 1116.35 -imu_odom_: 1691062875.608699141 0.213084 -0.234632 10.2472 -0.04048 -0.0106526 0.0511327 0.23 -0.02 pose: 0.0 -1.22072 -3.92022 0 0.0126088 -0.00170909 0.999299 0.0352099 uwb: 0.49978237 1250.89 1117.26 -imu_odom_: 1691062875.624780115 0.308852 -0.0215478 9.85693 -0.0245011 -0.0319579 0.0372843 0.23 -0.02 pose: 0.51068715 -1.23442 -3.92376 0 0.011457 -0.00273437 0.999317 0.0350208 uwb: 0.0 1250.89 1117.26 -imu_odom_: 1691062875.650789132 0.328006 -0.0885855 9.87129 -0.0532632 0.00319579 0.056459 0.23 0 pose: 0.0 -1.23442 -3.92376 0 0.011457 -0.00273437 0.999317 0.0350208 uwb: 0.50112687 1251.7 1117.37 -imu_odom_: 1691062875.675702713 0.426168 -0.215478 9.73961 -0.0426106 0.0426106 0.0447411 0.23 0 pose: 0.51974287 -1.23442 -3.92376 0 0.0065723 -0.00156082 0.999364 0.0350184 uwb: 0.0 1251.7 1117.37 -imu_odom_: 1691062875.691636404 0.397437 -0.237026 9.85693 -0.0756338 -0.0532632 0.0596548 0.21 0 pose: 0.0 -1.23442 -3.92376 0 0.0065723 -0.00156082 0.999364 0.0350184 uwb: 0.49906200 1251.98 1118.04 -imu_odom_: 1691062875.718854309 0.727837 0.023942 10.501 -0.0660464 -0.0468716 0.0415453 0.21 0 pose: 0.75843178 -1.25263 -3.92463 0 0.000254377 -0.00110684 0.999401 0.0345929 uwb: 0.0 1251.98 1118.04 -imu_odom_: 1691062875.744654796 0.821211 -0.368707 9.81144 -0.0969391 0.0127832 0.0511327 0.25 0.02 pose: 0.8074610 -1.25673 -3.92223 0 0.00106661 -0.0006656130.999401 0.0345856 uwb: 0.50115020 1250.99 1120.25 -imu_odom_: 1691062875.769653539 0.627281 -0.114922 9.96706 -0.0532632 0.0447411 0.04048 0.19 -0.02 pose: 0.0 -1.25673 -3.92223 0 0.00106661 -0.0006656130.999401 0.0345856 uwb: 0.0 1250.99 1120.25 -imu_odom_: 1691062875.795640391 0.555455 -0.294487 9.67257 -0.0692422 0.00639159 0.04048 0.2 0.02 pose: 0.52090363 -1.26535 -3.91716 0 0.00541781 -0.0007966640.999393 0.0344162 uwb: 0.49995153 1250.95 1121.31 -imu_odom_: 1691062875.812633061 0.28491 -0.162806 9.7037 -0.0543285 0.0330232 0.0308927 0.2 0.02 pose: 0.0 -1.26535 -3.91716 0 0.00541781 -0.0007966640.999393 0.0344162 uwb: 0.0 1250.95 1121.31 -imu_odom_: 1691062875.838692242 0.653617 -0.246603 9.08839 -0.0436758 -0.00213053 0.0468716 0.25 -0.02 pose: 0.60831684 -1.27903 -3.92071 0 0.00502596 -0.0015652 0.999392 0.034465 uwb: 0.49879659 1250.48 1122.17 -imu_odom_: 1691062875.863705276 0.78051 0.0335188 9.37809 -0.0383495 0.00958738 0.0372843 0.19 -0.02 pose: 0.7012423 -1.27903 -3.92071 0 0.00571991 -0.00157915 0.999389 0.03444 uwb: 0.0 1250.48 1122.17 -imu_odom_: 1691062875.889787788 0.234632 -0.500388 9.414 -0.0575243 0.0149137 0.0351537 0.21 0.02 pose: 0.44059792 -1.28488 -3.91728 0 0.00913668 0.000439612 0.999366 0.0344154 uwb: 0.49991069 1250.69 1122.81 -imu_odom_: 1691062875.915698811 -0.162806 -0.438139 9.96467 -0.0639159 0.0266316 0.0553937 0.17 0 pose: 0.0 -1.28488 -3.91728 0 0.00913668 0.000439612 0.999366 0.0344154 uwb: 0.0 1250.69 1122.81 -imu_odom_: 1691062875.932639276 0.837971 -0.263362 9.89284 -0.0639159 0.02024 0.0436758 0.17 0 pose: 0.51993535 -1.29766 -3.91825 0 0.00395861 -0.0019764 0.999404 0.0342489 uwb: 0.0 1250.69 1122.81 -imu_odom_: 1691062875.958612420 0.35913 -0.229843 9.53611 -0.0692422 -0.00426106 0.0553937 0.19 0.02 pose: 0.0 -1.29766 -3.91825 0 0.00395861 -0.0019764 0.999404 0.0342489 uwb: 0.50042983 1250.04 1124.93 -imu_odom_: 1691062875.984752388 0.445322 -0.311246 10.2113 -0.052198 0.00213053 0.0372843 0.19 0.02 pose: 0.42913609 -1.30134 -3.9192 0 0.00287845 -0.00187243 0.999416 0.0340107 uwb: 0.0 1250.04 1124.93 -imu_odom_: 1691062876.697161 0.584185 -0.196325 10.1347 -0.0500674 -0.00532632 0.036219 0.19 0 pose: 0.0 -1.30134 -3.9192 0 0.00287845 -0.00187243 0.999416 0.0340107 uwb: 0.50087606 1250.24 1125.85 -imu_odom_: 1691062876.26663015 0.371101 -0.198719 9.52653 -0.0351537 0.00319579 0.0298274 0.19 0 pose: 0.42084741 -1.30997 -3.91415 0 0.00332218 -0.00336249 0.999408 0.0340661 uwb: 0.0 1250.24 1125.85 -imu_odom_: 1691062876.51678090 0.565032 -0.162806 9.97664 -0.0649811 -0.0138484 0.0490022 0.19 0 pose: 0.0 -1.30997 -3.91415 0 0.00332218 -0.00336249 0.999408 0.0340661 uwb: 0.49987278 1250.11 1126.88 -imu_odom_: 1691062876.68622347 0.47884 -0.167594 9.73961 -0.0415453 -0.0127832 0.0458064 0.19 0 pose: 0.33985634 -1.32365 -3.91771 0 0.00200496 -0.00107198 0.999414 0.034155 uwb: 0.0 1250.11 1126.88 -imu_odom_: 1691062876.94760857 0.6608 -0.181959 10.3765 -0.0575243 -0.0127832 0.0596548 0.18 -0.02 pose: 0.0 -1.32365 -3.91771 0 0.00200496 -0.00107198 0.999414 0.034155 uwb: 0.49886368 1250.18 1127.47 -imu_odom_: 1691062876.120785623 0.873884 -0.215478 10.0293 -0.0298274 -0.0149137 0.0287621 0.18 -0.02 pose: 0.24043007 -1.32365 -3.91771 0 0.00372826 0.000388184 0.999413 0.0340584 uwb: 0.0 1250.18 1127.47 -imu_odom_: 1691062876.145619876 0.861913 -0.466869 9.8258 -0.076699 -0.0394148 0.0660464 0.19 0 pose: 0.62059821 -1.33228 -3.91265 0 0.00939414 0.0013193 0.99938 0.0338967 uwb: 0.50037443 1250.04 1128.78 -imu_odom_: 1691062876.171824299 0.0861913 -0.107739 9.56962 -0.0575243 0.00426106 0.0607201 0.19 0 pose: 0.0 -1.33228 -3.91265 0 0.00939414 0.0013193 0.99938 0.0338967 uwb: 0.0 1250.04 1128.78 -imu_odom_: 1691062876.197784611 0.335188 -0.306458 9.77553 -0.0713727 -0.0351537 0.0447411 0.2 0.02 pose: 0.8000240 -1.33228 -3.91265 0 0.0100711 0.000637211 0.999378 0.0337855 uwb: 0.49919908 1249.53 1131 -imu_odom_: 1691062876.222684193 0.272939 -0.124498 10.3118 -0.0671117 -0.0479369 0.0575243 0.23 0 pose: 0.0 -1.33228 -3.91265 0 0.0100711 0.000637211 0.999378 0.0337855 uwb: 0.0 1249.53 1131 -imu_odom_: 1691062876.237771226 0.471658 -0.414197 9.39485 -0.0575243 -0.04048 0.0468716 0.23 0 pose: 0.51070174 -1.34596 -3.91623 0 0.00820186 -0.0005269230.999413 0.0332586 uwb: 0.0 1249.53 1131 -imu_odom_: 1691062876.254602614 0.430956 -0.102951 9.91678 -0.0532632 0.0191748 0.0426106 0.23 0 pose: 0.0 -1.34596 -3.91623 0 0.00820186 -0.0005269230.999413 0.0332586 uwb: 0.50077690 1249.44 1132.07 -imu_odom_: 1691062876.280732083 0.416591 -0.52433 9.76834 -0.0692422 -0.0149137 0.0500674 0.19 0 pose: 0.48849553 -1.3546 -3.91118 0 0.00506311 -0.0010197 0.999443 0.032965 uwb: 0.0 1249.44 1132.07 -imu_odom_: 1691062876.306770557 0.373495 -0.464475 10.2185 -0.015979 0.0213053 0.0308927 0.23 0 pose: 0.0 -1.3546 -3.91118 0 0.00506311 -0.0010197 0.999443 0.032965 uwb: 0.49973863 1250.41 1132.3 -imu_odom_: 1691062876.332670497 0.828394 -0.162806 10.0748 -0.0617853 0.00745685 0.0617853 0.18 0.02 pose: 0.33909513 -1.36828 -3.91478 0 0.00402319 -0.00120758 0.999451 0.0328636 uwb: 0.0 1250.41 1132.3 -imu_odom_: 1691062876.349623504 -0.114922 0.107739 9.30626 -0.0820254 0.0415453 0.072438 0.18 0.02 pose: 0.0 -1.36828 -3.91478 0 0.00402319 -0.00120758 0.999451 0.0328636 uwb: 0.49968904 1250.85 1132.53 -imu_odom_: 1691062876.374613498 0.248997 -0.320823 9.76116 -0.0830906 -0.0234358 0.0468716 0.18 0 pose: 0.52072865 -1.36828 -3.91478 0 0.0027102 -0.00456922 0.999449 0.0327778 uwb: 0.0 1250.85 1132.53 -imu_odom_: 1691062876.400609974 0.447716 -0.232238 10.307 -0.0458064 -0.0170442 0.0330232 0.23 0 pose: 0.0 -1.36828 -3.91478 0 0.0027102 -0.00456922 0.999449 0.0327778 uwb: 0.50004487 1250.39 1134.25 -imu_odom_: 1691062876.416612786 0.318429 -0.304064 9.50977 -0.056459 0.0117179 0.0490022 0.19 0.02 pose: 0.85922006 -1.38825 -3.91472 0 0.00178943 -0.0017251 0.999475 0.0323018 uwb: 0.0 1250.39 1134.25 -imu_odom_: 1691062876.443738238 0.500388 -0.213084 10.1275 -0.04048 -0.0191748 0.0436758 0.19 0.02 pose: 0.0 -1.38825 -3.91472 0 0.00178943 -0.0017251 0.999475 0.0323018 uwb: 0.50112104 1251.03 1134.6 -imu_odom_: 1691062876.468585907 0.612916 -0.148441 10.0245 -0.0458064 0.00426106 0.0436758 0.21 -0.02 pose: 0.7040421 -1.39059 -3.91335 0 0.00108956 -0.00201534 0.999477 0.0322671 uwb: 0.0 1251.03 1134.6 -imu_odom_: 1691062876.483584570 0.905008 -0.45011 9.64863 -0.052198 0.0191748 0.0383495 0.21 -0.02 pose: 0.0 -1.39059 -3.91335 0 0.00108956 -0.00201534 0.999477 0.0322671 uwb: 0.0 1251.03 1134.6 -imu_odom_: 1691062876.510715854 0.6608 -0.328006 10.3645 -0.0426106 0.0191748 0.0394148 0.18 0.02 pose: 0.17090373 -1.39059 -3.91335 0 0.000990004 -0.00196584 0.999479 0.032208 uwb: 0.49997487 1250.92 1135.95 -imu_odom_: 1691062876.536740329 0.426168 -0.220267 10.2615 -0.0436758 0.00426106 0.0426106 0.23 -0.02 pose: 0.66893038 -1.39923 -3.90833 0 0.0065647 -0.0009879180.999462 0.0321289 uwb: 0.0 1250.92 1135.95 -imu_odom_: 1691062876.552742558 0.0885855 -0.131681 9.76355 -0.0575243 0.00639159 0.0436758 0.17 0 pose: 0.0 -1.39923 -3.90833 0 0.0065647 -0.0009879180.999462 0.0321289 uwb: 0.0 1250.92 1135.95 -imu_odom_: 1691062876.578590002 0.272939 -0.186748 9.9503 -0.0692422 -0.0319579 0.0436758 0.17 0 pose: 0.0 -1.39923 -3.90833 0 0.0065647 -0.0009879180.999462 0.0321289 uwb: 0.0 1250.92 1135.95 -imu_odom_: 1691062876.603649700 0.251391 -0.0837971 10.0556 -0.0458064 -0.0319579 0.0458064 0.18 -0.02 pose: 0.52141111 -1.4129 -3.91194 0 0.00446133 -0.00108424 0.999475 0.0320688 uwb: 0.99873063 1250.63 1137.22 -imu_odom_: 1691062876.630703989 0.385466 -0.107739 10.0868 -0.0532632 0.0234358 0.0468716 0.21 0 pose: 0.59874783 -1.42155 -3.90692 0 -0.00019645 0.00127948 0.99949 0.0319217 uwb: 0.0 1250.63 1137.22 -imu_odom_: 1691062876.656572431 0.890643 -0.131681 9.64624 -0.0319579 0.0213053 0.0213053 0.19 0.02 pose: 0.7971366 -1.42155 -3.90692 0 -0.0004063 0.0020835 0.999489 0.0318924 uwb: 0.50017902 1250.14 1139.23 -imu_odom_: 1691062876.682658444 0.253785 -0.402226 9.68455 -0.0383495 0.00745685 0.0447411 0.23 -0.02 pose: 0.26036432 -1.43522 -3.91054 0 -0.0002996250.00408007 0.999483 0.0318828 uwb: 0.0 1250.14 1139.23 -imu_odom_: 1691062876.707597691 0.572214 -0.0574608 10.2568 -0.0468716 -0.0841559 0.0543285 0.23 -0.02 pose: 0.0 -1.43522 -3.91054 0 -0.0002996250.00408007 0.999483 0.0318828 uwb: 0.50103939 1249.64 1141.24 -imu_odom_: 1691062876.724703813 0.45011 -0.311246 9.38527 -0.0383495 0.0266316 0.0553937 0.21 0 pose: 0.26011351 -1.43522 -3.91054 0 0.00091587 0.00375072 0.999479 0.0320297 uwb: 0.0 1249.64 1141.24 -imu_odom_: 1691062876.750664709 0.296881 -0.0814029 9.94312 -0.0447411 0.0117179 0.0436758 0.21 0 pose: 0.0 -1.43522 -3.91054 0 0.00091587 0.00375072 0.999479 0.0320297 uwb: 0.49856328 1248.52 1143.48 -imu_odom_: 1691062876.776559399 0.0622492 -0.457293 9.84256 -0.0511327 -0.00213053 0.0468716 0.25 0 pose: 0.52047491 -1.44386 -3.90552 0 0.00272208 0.00293408 0.999489 0.0317286 uwb: 0.0 1248.52 1143.48 -imu_odom_: 1691062876.802562584 0.387861 -0.280122 10.2185 -0.0703074 -0.0181095 0.0468716 0.25 0 pose: 0.41925793 -1.45753 -3.90915 0 -0.0004081290.00319812 0.999496 0.0315852 uwb: 0.49900367 1249.19 1143.87 -imu_odom_: 1691062876.818565396 0.866701 -0.129287 9.54329 -0.0703074 -0.0340885 0.0340885 0.23 0 pose: 0.0 -1.45753 -3.90915 0 -0.0004081290.00319812 0.999496 0.0315852 uwb: 0.0 1249.19 1143.87 -imu_odom_: 1691062876.843565014 0.806846 -0.265756 9.55765 -0.0692422 -0.0181095 0.056459 0.23 0 pose: 0.0 -1.45753 -3.90915 0 -0.0004081290.00319812 0.999496 0.0315852 uwb: 0.49979696 1249.08 1144.96 -imu_odom_: 1691062876.860626223 0.428562 -0.380678 9.74201 -0.0788296 -0.00532632 0.0383495 0.2 0 pose: 0.51944831 -1.46618 -3.90413 0 -0.000399724-0.00068716 0.999505 0.0314499 uwb: 0.0 1249.08 1144.96 -imu_odom_: 1691062876.876614161 0.292093 -0.0837971 9.84975 -0.0490022 0.0276969 0.0351537 0.2 0 pose: 0.0 -1.46618 -3.90413 0 -0.000399724-0.00068716 0.999505 0.0314499 uwb: 0.0 1249.08 1144.96 -imu_odom_: 1691062876.902614720 0.761356 -0.251391 9.18176 -0.0447411 -0.00106526 0.052198 0.25 0.02 pose: 0.40987264 -1.47985 -3.90777 0 0.00306707 -0.0018711 0.999505 0.0312673 uwb: 0.50027235 1249.39 1146.02 -imu_odom_: 1691062876.928711232 0.526724 -0.059855 9.94791 -0.0511327 0.0330232 0.0372843 0.25 0.02 pose: 0.0 -1.47985 -3.90777 0 0.00306707 -0.0018711 0.999505 0.0312673 uwb: 0.0 1249.39 1146.02 -imu_odom_: 1691062876.953590399 0.232238 -0.442927 9.52892 -0.052198 0.0245011 0.0340885 0.23 -0.02 pose: 0.34002258 -1.47985 -3.90777 0 0.00228844 -0.00167069 0.999507 0.0312578 uwb: 0.50080898 1249.32 1147.15 -imu_odom_: 1691062876.968591978 0.339977 -0.241814 9.8665 -0.0458064 -0.0287621 0.0415453 0.23 -0.02 pose: 0.0 -1.47985 -3.90777 0 0.00228844 -0.00167069 0.999507 0.0312578 uwb: 0.0 1249.32 1147.15 -imu_odom_: 1691062876.995642768 0.715866 -0.294487 10.1754 -0.0756338 -0.0276969 0.0383495 0.19 0 pose: 0.51078339 -1.4885 -3.90276 0 0.00363902 0.00046468 0.999506 0.0312059 uwb: 0.49940323 1250.29 1147.14 -imu_odom_: 1691062877.11599500 0.42138 -0.253785 9.52653 -0.0394148 0.0223706 0.0276969 0.19 0 pose: 0.0 -1.4885 -3.90276 0 0.00363902 0.00046468 0.999506 0.0312059 uwb: 0.0 1250.29 1147.14 -imu_odom_: 1691062877.37628641 0.459687 -0.260968 9.83299 -0.0703074 -0.0255663 0.0447411 0.23 -0.02 pose: 0.41127548 -1.50217 -3.9064 0 0.00165088 -0.00109885 0.99951 0.03124 uwb: 0.0 1250.29 1147.14 -imu_odom_: 1691062877.62789834 0.988805 -0.385466 9.55765 -0.0585895 -0.0681769 0.0330232 0.23 -0.02 pose: 0.42898153 -1.50217 -3.9064 0 0.00265001 -0.00234991 0.999503 0.0313232 uwb: 0.49950823 1250.05 1148.47 -imu_odom_: 1691062877.88577490 0.294487 -0.258574 9.83777 -0.036219 0.00426106 0.0287621 0.21 0 pose: 0.0 -1.50217 -3.9064 0 0.00265001 -0.00234991 0.999503 0.0313232 uwb: 0.50025194 1250.4 1149.27 -imu_odom_: 1691062877.114712792 0.483629 -0.0023942 9.92875 -0.0617853 -0.0308927 0.0500674 0.2 0.02 pose: 0.49968323 -1.51082 -3.90139 0 0.0068493 -0.0040153 0.999475 0.0313973 uwb: 0.0 1250.4 1149.27 -imu_odom_: 1691062877.139571835 0.37589 -0.059855 9.81144 -0.0447411 0.0532632 0.0415453 0.23 -0.02 pose: 0.0 -1.51082 -3.90139 0 0.0068493 -0.0040153 0.999475 0.0313973 uwb: 0.50157603 1250.11 1150.58 -imu_odom_: 1691062877.162757685 0.751779 -0.0885855 9.64863 -0.0649811 -0.0127832 0.0607201 0.19 0.02 pose: 0.52020660 -1.52449 -3.90503 0 0.00456647 -0.0003977420.999498 0.0313642 uwb: 0.0 1250.11 1150.58 -imu_odom_: 1691062877.178559259 0.414197 -0.241814 9.87129 -0.0340885 0.0426106 0.0308927 0.19 0.02 pose: 0.0 -1.52449 -3.90503 0 0.00456647 -0.0003977420.999498 0.0313642 uwb: 0.0 1250.11 1150.58 -imu_odom_: 1691062877.204631857 0.342371 0.00718261 10.1035 -0.0553937 -0.0138484 0.0617853 0.19 0.02 pose: 0.24075673 -1.53314 -3.90002 0 0.00364261 0.0013368 0.999503 0.0312879 uwb: 0.49916117 1249.41 1152.54 -imu_odom_: 1691062877.229638766 0.390255 -0.107739 10.2352 -0.0436758 0.0138484 0.036219 0.23 0 pose: 0.39960075 -1.53314 -3.90002 0 0.00330707 0.00167602 0.99951 0.0310962 uwb: 0.0 1249.41 1152.54 -imu_odom_: 1691062877.246762097 0.308852 -0.265756 9.81862 -0.0692422 -0.00213053 0.0532632 0.23 0 pose: 0.0 -1.53314 -3.90002 0 0.00330707 0.00167602 0.99951 0.0310962 uwb: 0.50028403 1250.26 1152.46 -imu_odom_: 1691062877.272752449 0.0215478 -0.102951 9.53132 -0.04048 0.00958738 0.036219 0.21 0 pose: 0.51054426 -1.5468 -3.90366 0 -0.0002883480.00423722 0.999514 0.0308974 uwb: 0.0 1250.26 1152.46 -imu_odom_: 1691062877.297585244 0.196325 -0.476446 9.46667 -0.0756338 0.0245011 0.0500674 0.23 0 pose: 0.35992766 -1.55546 -3.89866 0 -0.00360627 0.00397053 0.999509 0.0308829 uwb: 0.50012653 1249.94 1153.76 -imu_odom_: 1691062877.322665941 0.158017 -0.395043 9.56723 -0.0649811 0.0191748 0.0458064 0.23 0 pose: 0.0 -1.55546 -3.89866 0 -0.00360627 0.00397053 0.999509 0.0308829 uwb: 0.0 1249.94 1153.76 -imu_odom_: 1691062877.347540734 0.328006 -0.134075 9.59357 -0.0617853 -0.0223706 0.0500674 0.18 -0.02 pose: 0.6960800 -1.55546 -3.89866 0 -0.00399247 0.00326768 0.999511 0.0308493 uwb: 0.49985238 1249.49 1155.29 -imu_odom_: 1691062877.364554403 0.459687 -0.0766145 9.86411 -0.0394148 0.00213053 0.0319579 0.18 -0.02 pose: 0.0 -1.55546 -3.89866 0 -0.00399247 0.00326768 0.999511 0.0308493 uwb: 0.0 1249.49 1155.29 -imu_odom_: 1691062877.390564588 0.529119 -0.244209 9.56962 -0.0820254 0.0138484 0.0415453 0.19 0 pose: 0.50892268 -1.56912 -3.90231 0 -0.0063447 2.74977e-05 0.99951 0.0306493 uwb: 0.49960448 1249.64 1156.29 -imu_odom_: 1691062877.417590879 0.986411 -0.227449 10.2424 -0.0703074 -0.0426106 0.0596548 0.19 0 pose: 0.0 -1.56912 -3.90231 0 -0.0063447 2.74977e-05 0.99951 0.0306493 uwb: 0.0 1249.64 1156.29 -imu_odom_: 1691062877.433656688 0.782904 -0.299275 9.22486 -0.0777643 -0.00106526 0.0639159 0.18 0.02 pose: 0.42117699 -1.57778 -3.89731 0 -0.00327034 0.00208391 0.999524 0.0306003 uwb: 0.0 1249.64 1156.29 -imu_odom_: 1691062877.459528047 0.162806 -0.155623 9.80186 -0.0490022 0.0298274 0.0340885 0.18 0.02 pose: 0.0 -1.57778 -3.89731 0 -0.00327034 0.00208391 0.999524 0.0306003 uwb: 0.49867994 1249.73 1157.57 -imu_odom_: 1691062877.485647309 0.177171 -0.531513 9.663 -0.0532632 0.0127832 0.0436758 0.18 0.02 pose: 0.52853320 -1.57778 -3.89731 0 0.00216879 0.000401422 0.999541 0.0302085 uwb: 0.0 1249.73 1157.57 -imu_odom_: 1691062877.512533900 0.301669 -0.217872 9.76834 -0.0479369 -0.0703074 0.0468716 0.2 0.02 pose: 0.60070773 -1.5978 -3.89732 0 -0.00179513 -0.00135926 0.999543 0.0301295 uwb: 0.50003321 1249.46 1158.61 -imu_odom_: 1691062877.538572083 0.296881 -0.282516 10.2975 -0.0340885 0.0170442 0.0383495 0.2 -0.02 pose: 0.6925219 -1.6001 -3.89599 0 -0.00221186 -0.0010888 0.999544 0.0301027 uwb: 0.50026360 1249.48 1159.55 -imu_odom_: 1691062877.555573503 0.3304 -0.205901 9.61751 -0.0788296 -0.0276969 0.0585895 0.2 -0.02 pose: 0.0 -1.6001 -3.89599 0 -0.00221186 -0.0010888 0.999544 0.0301027 uwb: 0.0 1249.48 1159.55 -imu_odom_: 1691062877.571522944 0.905008 -0.280122 10.0461 -0.0511327 -0.00106526 0.0436758 0.23 0.02 pose: 0.28029566 -1.6001 -3.89599 0 -0.00394287 -0.0008937090.999541 0.0300326 uwb: 0.0 1249.48 1159.55 -imu_odom_: 1691062877.598585400 0.773327 -0.323217 10.2592 -0.0426106 -0.0308927 0.0415453 0.23 0.02 pose: 0.0 -1.6001 -3.89599 0 -0.00394287 -0.0008937090.999541 0.0300326 uwb: 0.49966573 1249.3 1160.97 -imu_odom_: 1691062877.623601351 0.703895 -0.114922 9.48104 -0.0543285 0 0.0426106 0.18 0.02 pose: 0.77983306 -1.61986 -3.89616 0 0.000362288 -0.00146173 0.999554 0.0298275 uwb: 0.0 1249.3 1160.97 -imu_odom_: 1691062877.640579439 0.112527 -0.136469 9.9503 -0.0553937 -0.00852212 0.0426106 0.18 0.02 pose: 0.0 -1.61986 -3.89616 0 0.000362288 -0.00146173 0.999554 0.0298275 uwb: 0.49971822 1249.45 1161.68 -imu_odom_: 1691062877.666581749 0.184354 -0.201113 9.92636 -0.0479369 -0.0458064 0.0426106 0.18 0.02 pose: 0.8025321 -1.62243 -3.89468 0 0.00109235 -0.00115992 0.999554 0.0298166 uwb: 0.0 1249.45 1161.68 -imu_odom_: 1691062877.693535420 0.536301 -0.172383 10.2831 -0.0468716 -0.0117179 0.0426106 0.25 0 pose: 0.59971028 -1.63225 -3.89733 0 -0.00100793 0.000253783 0.999557 0.0297287 uwb: 0.49999529 1249.52 1162.66 -imu_odom_: 1691062877.709674724 0.409408 -0.296881 9.68455 -0.0500674 0.0127832 0.0330232 0.19 0 pose: 0.0 -1.63225 -3.89733 0 -0.00100793 0.000253783 0.999557 0.0297287 uwb: 0.0 1249.52 1162.66 -imu_odom_: 1691062877.736551108 0.418985 -0.342371 10.2328 -0.0319579 -0.00958738 0.0490022 0.19 0 pose: 0.34983076 -1.63608 -3.89836 0 0.00143866 0.000180546 0.999557 0.0297119 uwb: 0.0 1249.52 1162.66 -imu_odom_: 1691062877.761570559 0.129287 -0.0670376 10.2903 -0.0372843 0.0266316 0.036219 0.25 0 pose: 0.0 -1.63608 -3.89836 0 0.00143866 0.000180546 0.999557 0.0297119 uwb: 0.50084399 1250.4 1162.3 -imu_odom_: 1691062877.778666766 0.502782 -0.138864 9.98622 -0.0500674 -0.00213053 0.0553937 0.25 0 pose: 0.0 -1.63608 -3.89836 0 0.00143866 0.000180546 0.999557 0.0297119 uwb: 0.0 1250.4 1162.3 -imu_odom_: 1691062877.803507727 0.318429 -0.201113 10.003 -0.036219 0.0479369 0.04048 0.18 0 pose: 0.77101941 -1.6524 -3.89544 0 -6.20606e-05-0.0001379750.999564 0.0295107 uwb: 0.49968322 1250.28 1163.78 -imu_odom_: 1691062877.830672552 0.114922 -0.035913 9.39485 -0.0745685 -0.00213053 0.0543285 0.23 -0.02 pose: 0.7931410 -1.6584 -3.89707 0 -0.0010417 0.000118752 0.999564 0.0295071 uwb: 0.0 1250.28 1163.78 -imu_odom_: 1691062877.855541511 0.122104 -0.347159 9.47386 -0.0692422 0.0458064 0.0447411 0.18 0 pose: 0.0 -1.6584 -3.89707 0 -0.0010417 0.000118752 0.999564 0.0295071 uwb: 0.49963073 1249.73 1165.6 -imu_odom_: 1691062877.882744251 0.371101 -0.186748 9.8282 -0.0607201 -0.0426106 0.0426106 0.23 0 pose: 0.52035243 -1.66708 -3.89209 0 -0.0061093 0.0014995 0.999552 0.0292767 uwb: 0.0 1249.73 1165.6 -imu_odom_: 1691062877.907663083 0.553061 -0.047884 10.4244 -0.0543285 -0.0383495 0.0500674 0.23 0 pose: 0.0 -1.66708 -3.89209 0 -0.0061093 0.0014995 0.999552 0.0292767 uwb: 0.50249181 1249.22 1167.47 -imu_odom_: 1691062877.934673917 0.624887 -0.0550666 10.1754 -0.0351537 -0.0458064 0.0383495 0.22 0 pose: 0.69029664 -1.67678 -3.89472 0 -0.00204222 0.00197986 0.999574 0.0290565 uwb: 0.0 1249.22 1167.47 -imu_odom_: 1691062877.950702103 0.407014 -0.349553 9.43315 -0.052198 0.0255663 0.0394148 0.22 0 pose: 0.6896929 -1.68073 -3.89579 0 -0.00126076 0.00231477 0.999574 0.0290593 uwb: 0.50045026 1249.27 1168.45 -imu_odom_: 1691062877.977630108 0.553061 -0.37589 9.83059 -0.0553937 -0.0372843 0.04048 0.25 0 pose: 0.0 -1.68073 -3.89579 0 -0.00126076 0.00231477 0.999574 0.0290593 uwb: 0.0 1249.27 1168.45 -imu_odom_: 1691062878.2526483 0.531513 -0.23942 10.4004 -0.0617853 -0.0351537 0.0543285 0.25 0 pose: 0.36142091 -1.68509 -3.89329 0 0.000625619 0.00172772 0.999576 0.0290671 uwb: 0.49691838 1248.86 1169.76 -imu_odom_: 1691062878.29697433 0.742203 -0.150835 10.0485 -0.0532632 0.0245011 0.0276969 0.2 -0.02 pose: 0.51824380 -1.6894 -3.89081 0 0.00537285 -0.00119087 0.999568 0.0288677 uwb: 0.0 1248.86 1169.76 -imu_odom_: 1691062878.54631431 0.993594 -0.263362 9.43076 -0.0809601 -0.02024 0.0617853 0.19 -0.02 pose: 0.0 -1.6894 -3.89081 0 0.00537285 -0.00119087 0.999568 0.0288677 uwb: 0.50178894 1248.97 1170.47 -imu_odom_: 1691062878.71631685 -0.00957681-0.35913 10.0844 -0.0383495 -0.02024 0.0245011 0.21 0 pose: 0.52104948 -1.70305 -3.89452 0 0.0102232 -0.0009545640.999534 0.0287598 uwb: 0.0 1248.97 1170.47 -imu_odom_: 1691062878.87528921 0.629675 -0.0766145 10.0509 -0.0607201 -0.0330232 0.0426106 0.21 0 pose: 0.0 -1.70305 -3.89452 0 0.0102232 -0.0009545640.999534 0.0287598 uwb: 0.0 1248.97 1170.47 -imu_odom_: 1691062878.114529547 0.670376 0.107739 10.3358 -0.0490022 -0.0117179 0.0372843 0.25 -0.02 pose: 0.32897490 -1.71173 -3.88955 0 0.00947869 0.000322364 0.999538 0.0288716 uwb: 0.49818416 1248.05 1172.4 -imu_odom_: 1691062878.130659811 0.328006 -0.409408 9.44752 -0.0639159 -0.0415453 0.04048 0.25 -0.02 pose: 0.8144023 -1.71173 -3.88955 0 0.0097211 0.00113402 0.999535 0.028888 uwb: 0.0 1248.05 1172.4 -imu_odom_: 1691062878.147634692 0.509965 -0.0766145 10.4004 -0.0458064 -0.00426106 0.0458064 0.26 -0.02 pose: 0.34986867 -1.71608 -3.88705 0 0.00938976 0.00184854 0.999536 0.0289131 uwb: 0.50118522 1247.81 1173.84 -imu_odom_: 1691062878.163506262 0.605733 -0.241814 9.23444 -0.0415453 -0.00852212 0.0308927 0.26 -0.02 pose: 0.0 -1.71608 -3.88705 0 0.00938976 0.00184854 0.999536 0.0289131 uwb: 0.0 1247.81 1173.84 -imu_odom_: 1691062878.190648047 0.299275 -0.512359 9.69652 -0.0660464 0.00532632 0.0511327 0.25 0 pose: 0.8002281 -1.7204 -3.88458 0 0.00887268 0.00249625 0.99954 0.0288946 uwb: 0.50124356 1248.48 1173.67 -imu_odom_: 1691062878.216513574 0.198719 -0.126893 10.0892 -0.0394148 -0.00958738 0.0596548 0.25 0 pose: 0.0 -1.7204 -3.88458 0 0.00887268 0.00249625 0.99954 0.0288946 uwb: 0.0 1248.48 1173.67 -imu_odom_: 1691062878.243513326 0.64404 -0.237026 9.88087 -0.0490022 -0.0191748 0.0372843 0.23 0.02 pose: 0.32881741 -1.72537 -3.89325 0 0.00852918 0.00128868 0.999546 0.0288775 uwb: 0.0 1248.48 1173.67 -imu_odom_: 1691062878.268556109 0.744597 -0.102951 9.94791 -0.0426106 -0.0234358 0.0458064 0.23 0.02 pose: 0.0 -1.72537 -3.89325 0 0.00852918 0.00128868 0.999546 0.0288775 uwb: 0.0 1248.48 1173.67 -imu_odom_: 1691062878.295552069 0.349553 -0.0430956 9.79707 -0.0479369 0.0106526 0.0426106 0.21 0.02 pose: 0.52031744 -1.73405 -3.88828 0 0.00550229 0.000483015 0.999578 0.0285079 uwb: 0.0 1248.48 1173.67 -imu_odom_: 1691062878.321561962 0.304064 -0.363919 9.77074 -0.0617853 -0.0138484 0.056459 0.18 0 pose: 0.51939874 -1.7477 -3.892 0 0.0093908 0.0016943 0.99955 0.0284491 uwb: 0.0 1248.48 1173.67 -imu_odom_: 1691062878.338545301 0.59855 -0.31364 9.87848 -0.0447411 0.00532632 0.0340885 0.23 -0.02 pose: 0.0 -1.7477 -3.892 0 0.0093908 0.0016943 0.99955 0.0284491 uwb: 0.149809892 1248.32 1174.52 -imu_odom_: 1691062878.354664190 0.545878 -0.181959 9.90721 -0.0468716 0.015979 0.0458064 0.23 -0.02 pose: 0.0 -1.7477 -3.892 0 0.0093908 0.0016943 0.99955 0.0284491 uwb: 0.0 1248.32 1174.52 -imu_odom_: 1691062878.381491869 0.442927 -0.265756 10.1562 -0.0436758 0.00426106 0.04048 0.23 0.02 pose: 0.53100057 -1.75638 -3.88704 0 0.00598065 0.000539398 0.999584 0.0282216 uwb: 0.0 1248.32 1174.52 -imu_odom_: 1691062878.407505262 0.505177 -0.265756 10.0221 -0.0798948 -0.0245011 0.0532632 0.23 0.02 pose: 0.33918555 -1.75638 -3.88704 0 0.00638382 0.000849045 0.999582 0.0281956 uwb: 0.50005362 1248.51 1175.31 -imu_odom_: 1691062878.434651130 0.696713 -0.306458 9.79947 -0.0436758 -0.00639159 0.0340885 0.25 0 pose: 0.44971199 -1.77002 -3.89077 0 0.0053353 -0.00309335 0.999589 0.0279914 uwb: 0.0 1248.51 1175.31 -imu_odom_: 1691062878.459492092 0.73502 -0.203507 10.0341 -0.0713727 -0.0351537 0.0553937 0.18 0 pose: 0.7129665 -1.77002 -3.89077 0 0.00604136 -0.00320088 0.999584 0.028012 uwb: 0.49941492 1248.07 1176.62 -imu_odom_: 1691062878.486498843 0.275333 -0.213084 9.49301 -0.0617853 0.0436758 0.0511327 0.18 0 pose: 0.0 -1.77002 -3.89077 0 0.00604136 -0.00320088 0.999584 0.028012 uwb: 0.0 1248.07 1176.62 -imu_odom_: 1691062878.511494962 0.0143652 -0.162806 9.61033 -0.0671117 0.00532632 0.0585895 0.18 0.02 pose: 0.28041816 -1.77871 -3.88581 0 0.00888781 -0.0032649 0.999563 0.0280112 uwb: 0.49974156 1247.68 1177.98 -imu_odom_: 1691062878.538692744 0.529119 -0.260968 9.87848 -0.0511327 -0.015979 0.04048 0.18 0.02 pose: 0.0 -1.77871 -3.88581 0 0.00888781 -0.0032649 0.999563 0.0280112 uwb: 0.50062526 1247.79 1178.39 -imu_odom_: 1691062878.564546313 0.294487 -0.47884 9.78271 -0.0447411 0.00958738 0.0468716 0.18 -0.02 pose: 0.51853255 -1.7874 -3.88086 0 0.0065569 -0.00226014 0.999593 0.0276573 uwb: 0.0 1247.79 1178.39 -imu_odom_: 1691062878.581692392 0.648829 -0.272939 9.991 -0.04048 -0.015979 0.0500674 0.18 -0.02 pose: 0.0 -1.7874 -3.88086 0 0.0065569 -0.00226014 0.999593 0.0276573 uwb: 0.0 1247.79 1178.39 -imu_odom_: 1691062878.607492589 0.447716 -0.0215478 10.0844 -0.0458064 -0.00745685 0.0468716 0.18 0 pose: 0.52120405 -1.80104 -3.8846 0 0.00686676 -0.00328543 0.999594 0.027449 uwb: 0.49928367 1247.76 1179.68 -imu_odom_: 1691062878.634534047 0.344765 -0.442927 9.71088 -0.0735032 -0.0340885 0.0617853 0.25 0.02 pose: 0.42867239 -1.80104 -3.8846 0 0.00690072 -0.00315092 0.999599 0.0272641 uwb: 0.0 1247.76 1179.68 -imu_odom_: 1691062878.659618828 0.553061 -0.361524 10.1825 -0.0490022 -0.0319579 0.0458064 0.18 -0.02 pose: 0.25130570 -1.80973 -3.87966 0 0.00596523 -0.00195605 0.999612 0.0271249 uwb: 0.50128439 1248.1 1180.58 -imu_odom_: 1691062878.686545084 0.828394 -0.105345 10.3477 -0.0639159 -0.0426106 0.0479369 0.23 -0.02 pose: 0.27992235 -1.81467 -3.88836 0 0.0054327 -0.00427649 0.999615 0.0268661 uwb: 0.0 1248.1 1180.58 -imu_odom_: 1691062878.702606810 0.593762 -0.0933739 9.51695 -0.0553937 -0.00639159 0.0458064 0.23 -0.02 pose: 0.0 -1.81467 -3.88836 0 0.0054327 -0.00427649 0.999615 0.0268661 uwb: 0.49876745 1248.02 1181.52 -imu_odom_: 1691062878.729666350 0.464475 -0.3304 9.90721 -0.0660464 -0.0117179 0.0458064 0.25 0 pose: 0.23877643 -1.82337 -3.88342 0 0.00723701 -0.0053105 0.999601 0.0267843 uwb: 0.0 1248.02 1181.52 -imu_odom_: 1691062878.754519561 0.368707 -0.277727 9.68455 -0.0628506 0.0330232 0.0468716 0.25 0 pose: 0.0 -1.82337 -3.88342 0 0.00723701 -0.0053105 0.999601 0.0267843 uwb: 0.50048235 1248.14 1182.28 -imu_odom_: 1691062878.781702760 0.608127 -0.229843 9.81144 -0.0213053 -0.02024 0.0383495 0.23 0 pose: 0.44092459 -1.82337 -3.88342 0 0.00873852 -0.0030437 0.999602 0.0266515 uwb: 0.0 1248.14 1182.28 -imu_odom_: 1691062878.797473711 0.775721 -0.153229 9.93115 -0.0191748 0.0170442 0.0255663 0.23 0 pose: 0.0 -1.82337 -3.88342 0 0.00873852 -0.0030437 0.999602 0.0266515 uwb: 0.50007113 1248.46 1182.51 -imu_odom_: 1691062878.824530043 0.500388 -0.430956 9.30387 -0.0500674 0.0138484 0.0426106 0.25 0 pose: 0.50874770 -1.837 -3.88719 0 0.0048668 -0.00349679 0.999631 0.0264915 uwb: 0.0 1248.46 1182.51 -imu_odom_: 1691062878.849582159 0.35913 -0.114922 10.2185 -0.0447411 -0.0607201 0.056459 0.25 0 pose: 0.0 -1.837 -3.88719 0 0.0048668 -0.00349679 0.999631 0.0264915 uwb: 0.50085566 1248.66 1184 -imu_odom_: 1691062878.874474743 0.237026 -0.282516 9.94791 -0.0671117 -0.0585895 0.0500674 0.23 0 pose: 0.43017731 -1.8457 -3.88226 0 0.00791866 -0.00210188 0.999612 0.0266119 uwb: 0.0 1248.66 1184 -imu_odom_: 1691062878.897601680 0.378284 -0.0670376 10.0963 -0.052198 -0.02024 0.0500674 0.23 0 pose: 0.51961748 -1.8544 -3.87733 0 0.00556375 -0.00219923 0.999636 0.0263177 uwb: 0.50041236 1249.09 1184.32 -imu_odom_: 1691062878.914461067 0.679953 -0.222661 9.96467 -0.0585895 0.0106526 0.0426106 0.18 -0.02 pose: 0.0 -1.8544 -3.87733 0 0.00556375 -0.00219923 0.999636 0.0263177 uwb: 0.0 1249.09 1184.32 -imu_odom_: 1691062878.939521933 0.277727 -0.124498 10.2017 -0.0639159 -0.0447411 0.0607201 0.18 -0.02 pose: 0.49019295 -1.86803 -3.88111 0 0.00407149 -0.0004252990.999651 0.0260911 uwb: 0.49861871 1249.62 1184.71 -imu_odom_: 1691062878.964671168 0.957681 -0.169988 9.56244 -0.0692422 -0.00106526 0.0351537 0.19 0 pose: 0.0 -1.86803 -3.88111 0 0.00407149 -0.0004252990.999651 0.0260911 uwb: 0.0 1249.62 1184.71 -imu_odom_: 1691062878.990469032 -0.112527 -0.186748 9.58399 -0.0639159 0.04048 0.0607201 0.24 0 pose: 0.16120639 -1.86803 -3.88111 0 0.00439752 -0.0002048810.999652 0.0260036 uwb: 0.50035110 1249.33 1186.18 -imu_odom_: 1691062879.6448513 0.158017 -0.47884 9.92636 -0.0798948 0.00106526 0.04048 0.24 0 pose: 0.43066436 -1.87425 -3.8776 0 0.00560068 0.000398081 0.999649 0.0258726 uwb: 0.0 1249.33 1186.18 -imu_odom_: 1691062879.24512996 0.289698 -0.162806 9.4547 -0.0415453 0.00745685 0.0415453 0.24 0 pose: 0.0 -1.87425 -3.8776 0 0.00560068 0.000398081 0.999649 0.0258726 uwb: 0.0 1249.33 1186.18 -imu_odom_: 1691062879.42463154 0.414197 -0.361524 9.95509 -0.076699 -0.0255663 0.0543285 0.18 -0.02 pose: 0.6832183 -1.87673 -3.87619 0 0.00476411 0.000409527 0.999656 0.0258011 uwb: 0.50018780 1248.65 1187.71 -imu_odom_: 1691062879.67448774 0.943315 -0.186748 9.7037 -0.0479369 0.02024 0.0266316 0.18 -0.02 pose: 0.0 -1.87673 -3.87619 0 0.00476411 0.000409527 0.999656 0.0258011 uwb: 0.0 1248.65 1187.71 -imu_odom_: 1691062879.94518522 0.73502 -0.201113 9.80904 -0.0607201 0.00426106 0.0372843 0.21 -0.02 pose: 0.61094464 -1.89036 -3.87999 0 -0.000330424-0.00074509 0.999674 0.0255164 uwb: 0.49874704 1249.22 1188.48 -imu_odom_: 1691062879.119517558 1.15161 -0.0167594 9.94073 -0.0532632 -0.0585895 0.0500674 0.19 0 pose: 0.61920707 -1.90009 -3.8827 0 0.00464593 -0.00126036 0.999659 0.0256468 uwb: 0.0 1249.22 1188.48 -imu_odom_: 1691062879.146460147 0.270545 -0.208296 10.003 -0.0490022 0.0255663 0.0330232 0.22 0 pose: 0.0 -1.90009 -3.8827 0 0.00464593 -0.00126036 0.999659 0.0256468 uwb: 0.49917869 1248.66 1190.11 -imu_odom_: 1691062879.162447211 0.588974 -0.1652 10.4651 -0.0479369 -0.04048 0.0308927 0.22 0 pose: 0.0 -1.90009 -3.8827 0 0.00464593 -0.00126036 0.999659 0.0256468 uwb: 0.0 1248.66 1190.11 -imu_odom_: 1691062879.189584330 0.746991 -0.0311246 10.343 -0.0319579 -0.0490022 0.036219 0.23 -0.02 pose: 0.31982586 -1.90398 -3.88378 0 0.00691739 -0.0004428860.99965 0.0255437 uwb: 0.50138647 1249.29 1190.25 -imu_odom_: 1691062879.214457082 0.679953 -0.0167594 10.228 -0.0639159 0.00532632 0.036219 0.19 0 pose: 0.63083222 -1.91889 -3.87537 0 0.009119 0.00250244 0.999624 0.0257342 uwb: 0.0 1249.29 1190.25 -imu_odom_: 1691062879.238548796 0.184354 -0.0981623 9.65342 -0.0340885 -0.0170442 0.0298274 0.23 0 pose: 0.0 -1.91889 -3.87537 0 0.009119 0.00250244 0.999624 0.0257342 uwb: 0.49862163 1250 1190.45 -imu_odom_: 1691062879.253441008 0.490811 -0.316035 9.60314 -0.0490022 0.00426106 0.0383495 0.23 0 pose: 0.8073444 -1.9214 -3.87396 0 0.00954109 0.00313292 0.999618 0.0257527 uwb: 0.0 1250 1190.45 -imu_odom_: 1691062879.278447627 0.505177 -0.304064 9.81862 -0.0436758 -0.0234358 0.0553937 0.18 0 pose: 0.0 -1.9214 -3.87396 0 0.00954109 0.00313292 0.999618 0.0257527 uwb: 0.0 1250 1190.45 -imu_odom_: 1691062879.302490927 0.509965 -0.289698 10.1131 -0.0713727 0 0.0660464 0.18 0 pose: 0.47912486 -1.92632 -3.88266 0 0.00791278 0.00427559 0.999624 0.02592 uwb: 0.50001281 1250.19 1191.98 -imu_odom_: 1691062879.317447301 0.605733 -0.292093 9.77553 -0.0511327 -0.0681769 0.052198 0.19 0 pose: 0.0 -1.92632 -3.88266 0 0.00791278 0.00427559 0.999624 0.02592 uwb: 0.0 1250.19 1191.98 -imu_odom_: 1691062879.342449837 0.433351 -0.0191536 10.2208 -0.0383495 -0.036219 0.0490022 0.19 0 pose: 0.39863832 -1.93502 -3.87775 0 0.00688742 0.000584769 0.999648 0.0256101 uwb: 0.0 1250.19 1191.98 -imu_odom_: 1691062879.366489929 0.737414 -0.009576819.7444 -0.0458064 -0.0319579 0.0447411 0.25 0 pose: 0.0 -1.93502 -3.87775 0 0.00688742 0.000584769 0.999648 0.0256101 uwb: 0.0 1250.19 1191.98 -imu_odom_: 1691062879.390430861 0.445322 -0.0694318 10.3382 -0.0575243 0.00958738 0.052198 0.25 0 pose: 0.39017466 -1.94374 -3.87284 0 0.00771768 -0.00136467 0.999651 0.0252459 uwb: 0.99933731 1249.58 1193.59 -imu_odom_: 1691062879.406481213 0.179565 0.0909797 10.0987 -0.0532632 0.0149137 0.0436758 0.2 0 pose: 0.0 -1.94374 -3.87284 0 0.00771768 -0.00136467 0.999651 0.0252459 uwb: 0.0 1249.58 1193.59 -imu_odom_: 1691062879.423484384 0.861913 -0.344765 9.88087 -0.0426106 -0.0266316 0.036219 0.2 0 pose: 0.0 -1.94374 -3.87284 0 0.00771768 -0.00136467 0.999651 0.0252459 uwb: 0.0 1249.58 1193.59 -imu_odom_: 1691062879.448570623 0.536301 -0.519542 9.20331 -0.0617853 -0.0351537 0.0490022 0.18 0 pose: 0.49049044 -1.95736 -3.87664 0 0.00863153 0.0025236 0.999645 0.0250792 uwb: 0.50065152 1250.02 1194.29 -imu_odom_: 1691062879.473491205 0.335188 -0.160412 9.80186 -0.0532632 -0.0372843 0.0532632 0.18 0 pose: 0.75070021 -1.96956 -3.87794 0 0.00759774 0.000968956 0.999662 0.0248452 uwb: 0.0 1250.02 1194.29 -imu_odom_: 1691062879.496425071 0.246603 -0.146046 9.96467 -0.0596548 -0.0308927 0.0447411 0.18 0 pose: 0.0 -1.96956 -3.87794 0 0.00759774 0.000968956 0.999662 0.0248452 uwb: 0.49934492 1250.09 1195.39 -imu_odom_: 1691062879.522432048 0.232238 -0.0191536 9.95748 -0.056459 -0.0138484 0.0468716 0.18 0 pose: 0.6916761 -1.97097 -3.88046 0 0.00702986 0.00109152 0.999667 0.0247997 uwb: 0.0 1250.09 1195.39 -imu_odom_: 1691062879.547428459 0.667982 -0.3304 10.0509 -0.0543285 -0.00639159 0.0479369 0.23 0.02 pose: 0.0 -1.97097 -3.88046 0 0.00702986 0.00109152 0.999667 0.0247997 uwb: 0.50110649 1249.77 1196.9 -imu_odom_: 1691062879.561417140 0.186748 -0.136469 9.71328 -0.056459 0.0383495 0.0553937 0.23 0.02 pose: 0.48997131 -1.97969 -3.87556 0 0.00296996 0.00219304 0.999691 0.0246017 uwb: 0.0 1249.77 1196.9 -imu_odom_: 1691062879.586564917 0.122104 -0.146046 9.73004 -0.0639159 0.0340885 0.0553937 0.17 0 pose: 0.0 -1.97969 -3.87556 0 0.00296996 0.00219304 0.999691 0.0246017 uwb: 0.0 1249.77 1196.9 -imu_odom_: 1691062879.611555204 0.390255 -0.220267 9.65821 -0.052198 -0.0117179 0.0415453 0.17 0 pose: 0.49110583 -1.98841 -3.87066 0 0.00281878 0.0017621 0.999697 0.0243821 uwb: 0.49876746 1248.71 1199.25 -imu_odom_: 1691062879.637666300 0.196325 -0.356736 9.8258 -0.0383495 -0.0138484 0.0415453 0.18 0.02 pose: 0.0 -1.98841 -3.87066 0 0.00281878 0.0017621 0.999697 0.0243821 uwb: 0.0 1248.71 1199.25 -imu_odom_: 1691062879.663419542 0.37589 -0.153229 9.66539 -0.0479369 -0.0479369 0.0468716 0.21 0 pose: 0.39970284 -1.9933 -3.87938 0 -0.0009541960.00143497 0.999708 0.0241214 uwb: 0.50042695 1247.86 1201.07 -imu_odom_: 1691062879.677732245 0.323217 -0.105345 10.1011 -0.0415453 -0.0276969 0.0511327 0.21 0 pose: 0.0 -1.9933 -3.87938 0 -0.0009541960.00143497 0.999708 0.0241214 uwb: 0.0 1247.86 1201.07 -imu_odom_: 1691062879.695445000 1.00556 -0.114922 9.79707 -0.0500674 -0.0117179 0.0383495 0.21 0 pose: 0.50921143 -2.00203 -3.8745 0 -0.00229952 -0.0008465330.999708 0.0240532 uwb: 0.49972990 1247.83 1201.77 -imu_odom_: 1691062879.720493325 0.505177 -0.363919 9.67257 -0.0500674 0.00319579 0.0479369 0.18 -0.02 pose: 0.0 -2.00203 -3.8745 0 -0.00229952 -0.0008465330.999708 0.0240532 uwb: 0.0 1247.83 1201.77 -imu_odom_: 1691062879.747442621 0.502782 -0.347159 9.80426 -0.0500674 -0.0436758 0.04048 0.26 -0.02 pose: 0.76006800 -2.02166 -3.87497 0 0.000952507 0.00037272 0.999716 0.0237956 uwb: 0.50098983 1246.91 1203.9 -imu_odom_: 1691062879.772579316 0.526724 -0.100556 10.0509 -0.0511327 -0.0436758 0.0426106 0.19 -0.02 pose: 0.8086859 -2.02436 -3.87345 0 0.0015022 -0.0003196090.999716 0.0237911 uwb: 0.0 1246.91 1203.9 -imu_odom_: 1691062879.798438427 0.134075 -0.167594 9.24162 -0.0628506 -0.118244 0.0532632 0.22 0 pose: 0.43999132 -2.02436 -3.87345 0 0.00436044 0.000381526 0.999708 0.0237499 uwb: 0.49913202 1245.92 1206.34 -imu_odom_: 1691062879.820452721 -1.37667 -0.0335188 10.1754 -0.0351537 -0.0585895 0.04048 0.22 0 pose: 0.0 -2.02436 -3.87345 0 0.00436044 0.000381526 0.999708 0.0237499 uwb: 0.0 1245.92 1206.34 -imu_odom_: 1691062879.837561761 0.775721 -0.287304 8.24563 -0.0553937 0.152333 0.0735032 0.22 0 pose: 0.31875842 -2.03309 -3.86857 0 0.00283427 0.000717431 0.999718 0.0235746 uwb: 0.49965408 1245.13 1208.62 -imu_odom_: 1691062879.863410664 0.840365 -0.497994 9.28711 -0.0255663 0.0436758 0.0426106 0.19 -0.02 pose: 0.0 -2.03309 -3.86857 0 0.00283427 0.000717431 0.999718 0.0235746 uwb: 0.0 1245.13 1208.62 -imu_odom_: 1691062879.887557208 0.684742 0.198719 9.91918 -0.0308927 0.0255663 0.00213053 0.19 0 pose: 0.40052530 -2.0467 -3.87243 0 0.00237508 0.000292051 0.999727 0.0232626 uwb: 0.0 1245.13 1208.62 -imu_odom_: 1691062879.914401803 0.505177 -0.361524 9.84256 -0.0511327 0.00852212 0.0607201 0.19 0 pose: 0.43049520 -2.0467 -3.87243 0 0.00421352 0.00186136 0.999709 0.0236889 uwb: 0.50000697 1244.25 1210.45 -imu_odom_: 1691062879.930501735 -0.0502782 -0.277727 10.058 -0.0415453 -0.02024 0.0458064 0.21 0 pose: 0.6880597 -2.0467 -3.87243 0 0.00423136 0.00119115 0.999712 0.023613 uwb: 0.0 1244.25 1210.45 -imu_odom_: 1691062879.956595041 0.459687 0.0742203 10.149 -0.0383495 0.00213053 0.0596548 0.21 0 pose: 0.0 -2.0467 -3.87243 0 0.00423136 0.00119115 0.999712 0.023613 uwb: 0.50032778 1243.81 1211.56 -imu_odom_: 1691062879.981590869 0.138864 -0.277727 9.66539 -0.072438 0.015979 0.04048 0.19 0 pose: 0.44105001 -2.06031 -3.87628 0 0.00280151 0.000116093 0.999725 0.0232621 uwb: 0.0 1243.81 1211.56 -imu_odom_: 1691062880.7445896 0.292093 -0.138864 10.1083 -0.0585895 -0.0245011 0.0585895 0.19 0 pose: 0.43048063 -2.06904 -3.87141 0 0.000135466 0.00114281 0.999733 0.0230775 uwb: 0.50103941 1244.21 1212.29 -imu_odom_: 1691062880.32442891 0.397437 -0.153229 9.92397 -0.0660464 -0.0394148 0.0415453 0.19 -0.02 pose: 0.7842457 -2.06904 -3.87141 0 -0.0004880910.00147642 0.999734 0.0230039 uwb: 0.0 1244.21 1212.29 -imu_odom_: 1691062880.48443080 0.294487 -0.0957681 9.61751 -0.0468716 0.0245011 0.0490022 0.19 -0.02 pose: 0.0 -2.06904 -3.87141 0 -0.0004880910.00147642 0.999734 0.0230039 uwb: 0.49897454 1244.47 1212.89 -imu_odom_: 1691062880.73447949 0.73502 -0.251391 9.53611 -0.0777643 0.00852212 0.0468716 0.19 0 pose: 0.49014922 -2.08264 -3.87528 0 0.000105478 0.00355461 0.999734 0.0227771 uwb: 0.0 1244.47 1212.89 -imu_odom_: 1691062880.99389305 0.488417 -0.229843 9.97185 -0.0511327 -0.0308927 0.0511327 0.19 0 pose: 0.18011987 -2.08264 -3.87528 0 -0.00022922 0.00369412 0.999735 0.0227005 uwb: 0.49928369 1244.96 1213.69 -imu_odom_: 1691062880.115517236 0.842759 -0.189142 9.24401 -0.04048 -0.0223706 0.056459 0.21 0 pose: 0.0 -2.08264 -3.87528 0 -0.00022922 0.00369412 0.999735 0.0227005 uwb: 0.0 1244.96 1213.69 -imu_odom_: 1691062880.141407262 0.438139 0.129287 10.2975 -0.0532632 0.04048 0.04048 0.21 0 pose: 0.49077335 -2.09138 -3.87041 0 0.0038996 0.00101005 0.99974 0.0224232 uwb: 0.49985824 1245.01 1213.74 -imu_odom_: 1691062880.166411548 0.335188 -0.380678 9.50498 -0.052198 0.015979 0.0340885 0.18 -0.02 pose: 0.0 -2.09138 -3.87041 0 0.0038996 0.00101005 0.99974 0.0224232 uwb: 0.0 1245.01 1213.74 -imu_odom_: 1691062880.191544160 -0.0694318 -0.402226 10.1897 -0.0607201 0.0266316 0.052198 0.21 0 pose: 0.35869692 -2.09766 -3.86692 0 0.00394429 0.00366522 0.999736 0.0223385 uwb: 0.50090526 1244.57 1215.24 -imu_odom_: 1691062880.205533425 0.531513 -0.0837971 9.98861 -0.0660464 -0.0181095 0.0468716 0.21 0 pose: 0.0 -2.09766 -3.86692 0 0.00394429 0.00366522 0.999736 0.0223385 uwb: 0.0 1244.57 1215.24 -imu_odom_: 1691062880.230541502 0.581791 -0.112527 10.2951 -0.052198 -0.0330232 0.0479369 0.21 0 pose: 0.7014173 -2.10012 -3.86556 0 0.0035015 0.00308217 0.999739 0.0223565 uwb: 0.0 1244.57 1215.24 -imu_odom_: 1691062880.256417821 0.608127 0.248997 10.3789 -0.0372843 -0.0117179 0.036219 0.18 0 pose: 0.49005006 -2.11372 -3.86944 0 0.000129914 0.000942624 0.999753 0.0222235 uwb: 0.50057569 1243.8 1217.22 -imu_odom_: 1691062880.282649660 0.512359 -0.0191536 9.92875 -0.0660464 -0.0170442 0.0468716 0.19 0.02 pose: 0.0 -2.11372 -3.86944 0 0.000129914 0.000942624 0.999753 0.0222235 uwb: 0.0 1243.8 1217.22 -imu_odom_: 1691062880.299422428 0.52433 -0.28491 9.40442 -0.0308927 -0.015979 0.0287621 0.19 0.02 pose: 0.39991284 -2.11372 -3.86944 0 0.00373138 0.00313352 0.999744 0.0220998 uwb: 0.50176271 1243.95 1218.11 -imu_odom_: 1691062880.324428173 0.325611 -0.107739 10.1011 -0.0532632 -0.0191748 0.052198 0.2 0 pose: 0.0 -2.11372 -3.86944 0 0.00373138 0.00313352 0.999744 0.0220998 uwb: 0.0 1243.95 1218.11 -imu_odom_: 1691062880.350381778 0.493206 0.0430956 9.85693 -0.0383495 0.0447411 0.0415453 0.2 0 pose: 0.52032329 -2.12731 -3.87333 0 0.00542784 0.00688143 0.999718 0.0220814 uwb: 0.49835624 1243.11 1220.06 -imu_odom_: 1691062880.375374982 0.409408 -0.131681 9.68933 -0.0671117 0.0266316 0.0617853 0.19 0 pose: 0.0 -2.12731 -3.87333 0 0.00542784 0.00688143 0.999718 0.0220814 uwb: 0.0 1243.11 1220.06 -imu_odom_: 1691062880.392375820 0.282516 -0.349553 10.331 -0.0340885 -0.00852212 0.0330232 0.19 0 pose: 0.41987625 -2.13606 -3.86848 0 0.0032612 0.00662566 0.999731 0.02198 uwb: 0.50034821 1243.65 1220.93 -imu_odom_: 1691062880.418350716 0.430956 -0.25618 10.2687 -0.0713727 -0.0287621 0.0639159 0.18 0.02 pose: 0.0 -2.13606 -3.86848 0 0.0032612 0.00662566 0.999731 0.02198 uwb: 0.0 1243.65 1220.93 -imu_odom_: 1691062880.443424123 0.0933739 -0.0167594 9.98861 -0.0330232 0.0308927 0.0436758 0.18 0.02 pose: 0.50938351 -2.1448 -3.86363 0 0.00113834 0.00587805 0.999746 0.0217109 uwb: 0.0 1243.65 1220.93 -imu_odom_: 1691062880.465436668 0.483629 -0.620098 9.35175 -0.0191748 0.015979 0.0298274 0.18 0.02 pose: 0.0 -2.1448 -3.86363 0 0.00113834 0.00587805 0.999746 0.0217109 uwb: 0.0 1243.65 1220.93 -imu_odom_: 1691062880.491371025 0.746991 0.483629 9.55526 -0.100135 0.0266316 0.0873517 0.18 0.02 pose: 0.43130017 -2.14965 -3.87238 0 0.000444304 0.00270783 0.999767 0.0214156 uwb: 0.0 1243.65 1220.93 -imu_odom_: 1691062880.507424876 0.258574 -0.035913 9.43555 -0.157659 0.104396 0.134223 0.23 0.02 pose: 0.0 -2.14965 -3.87238 0 0.000444304 0.00270783 0.999767 0.0214156 uwb: 0.0 1243.65 1220.93 -imu_odom_: 1691062880.533499225 0.0933739 -0.713472 9.23922 -0.0394148 -0.0319579 -0.0245011 0.23 0.02 pose: 0.47899946 -2.1584 -3.86754 0 -0.0009705460.00245384 0.99977 0.0212989 uwb: 0.0 1243.65 1220.93 -imu_odom_: 1691062880.550408777 0.627281 0.339977 10.0245 -0.0681769 0.0319579 0.00213053 0.19 0 pose: 0.0 -2.1584 -3.86754 0 -0.0009705460.00245384 0.99977 0.0212989 uwb: 0.149931806 1242.25 1223.55 -imu_odom_: 1691062880.576550205 0.646434 -0.402226 9.97664 -0.0436758 -0.0127832 0.0671117 0.19 0 pose: 0.77002784 -2.17199 -3.87147 0 -0.00270053 0.00306085 0.999766 0.021263 uwb: 0.0 1242.25 1223.55 -imu_odom_: 1691062880.601490328 0.316035 0.0263362 9.66779 -0.0617853 0.00958738 0.0340885 0.2 -0.02 pose: 0.7094376 -2.17199 -3.87147 0 -0.00213252 0.00263773 0.99977 0.0211652 uwb: 0.49976783 1241.19 1225.31 -imu_odom_: 1691062880.626359580 0.160412 -0.0790087 9.5816 -0.0745685 0.0213053 0.072438 0.19 0 pose: 0.43987175 -2.17821 -3.86804 0 -0.0015618 0.00379577 0.999772 0.0209704 uwb: 0.0 1241.19 1225.31 -imu_odom_: 1691062880.651414614 0.37589 -0.244209 9.84017 -0.0671117 -0.0287621 0.0330232 0.19 0 pose: 0.0 -2.17821 -3.86804 0 -0.0015618 0.00379577 0.999772 0.0209704 uwb: 0.49964825 1242.02 1225.29 -imu_odom_: 1691062880.674510053 0.270545 -0.304064 9.87608 -0.0532632 -0.00213053 0.0458064 0.18 0 pose: 0.31896549 -2.18557 -3.8754 0 -0.00385729 0.00366256 0.999774 0.0205926 uwb: 0.0 1242.02 1225.29 -imu_odom_: 1691062880.699491591 0.258574 -0.45011 9.75637 -0.0426106 -0.0170442 0.0415453 0.18 0 pose: 0.0 -2.18557 -3.8754 0 -0.00385729 0.00366256 0.999774 0.0205926 uwb: 0.49925452 1243.66 1224.84 -imu_odom_: 1691062880.715392910 0.687136 -0.378284 9.91918 -0.0447411 -0.0447411 0.052198 0.23 0 pose: 0.47987149 -2.19433 -3.87057 0 -0.00426721 -0.0006128820.999779 0.020588 uwb: 0.0 1243.66 1224.84 -imu_odom_: 1691062880.740401279 0.794875 -0.059855 9.84496 -0.056459 -0.0383495 0.0543285 0.23 0 pose: 0.34018884 -2.19916 -3.86791 0 -0.0028415 -0.0026645 0.999783 0.020483 uwb: 0.50194353 1244.8 1224.71 -imu_odom_: 1691062880.757472113 0.881066 -0.426168 9.80904 -0.052198 0.0170442 0.036219 0.2 -0.02 pose: 0.8022988 -2.20309 -3.86575 0 -0.00197096 -0.0023477 0.999787 0.0204245 uwb: 0.0 1244.8 1224.71 -imu_odom_: 1691062880.782428277 0.792481 -0.351948 9.78031 -0.0479369 -0.0394148 0.0468716 0.2 -0.02 pose: 0.0 -2.20309 -3.86575 0 -0.00197096 -0.0023477 0.999787 0.0204245 uwb: 0.0 1244.8 1224.71 -imu_odom_: 1691062880.807473978 0.782904 -0.275333 10.1155 -0.0468716 -0.0383495 0.0415453 0.23 0.02 pose: 0.40944104 -2.21667 -3.86969 0 0.00206328 -0.00243792 0.999789 0.0203083 uwb: 0.49860998 1244.84 1225.54 -imu_odom_: 1691062880.832386102 0.402226 -0.059855 10.0317 -0.056459 -0.0394148 0.0468716 0.23 0.02 pose: 0.43113976 -2.21667 -3.86969 0 0.00705749 -0.00286058 0.999766 0.020225 uwb: 0.0 1244.84 1225.54 -imu_odom_: 1691062880.850321969 0.0622492 -0.237026 9.84256 -0.0511327 -0.00106526 0.0490022 0.2 0.02 pose: 0.6969842 -2.21667 -3.86969 0 0.00679957 -0.002283 0.99977 0.0202024 uwb: 0.49944409 1245.72 1225.55 -imu_odom_: 1691062880.874410767 0.4956 -0.390255 9.47146 -0.0703074 0.00745685 0.0436758 0.2 0.02 pose: 0.0 -2.21667 -3.86969 0 0.00679957 -0.002283 0.99977 0.0202024 uwb: 0.0 1245.72 1225.55 -imu_odom_: 1691062880.899444218 0.354342 -0.466869 10.0365 -0.072438 -0.0330232 0.0575243 0.23 0.02 pose: 0.35878149 -2.22544 -3.86487 0 0.00431344 -0.0007582210.999789 0.0200582 uwb: 0.50180354 1246.99 1225.14 -imu_odom_: 1691062880.921335437 0.260968 -0.35913 9.71567 -0.0490022 0.00319579 0.0372843 0.23 0.02 pose: 0.49122249 -2.23683 -3.87002 0 0.00314019 -0.00556915 0.999784 0.0197609 uwb: 0.0 1246.99 1225.14 -imu_odom_: 1691062880.943325233 0.596156 -0.102951 10.0149 -0.0394148 -0.0372843 0.0436758 0.19 0 pose: 0.0 -2.23683 -3.87002 0 0.00314019 -0.00556915 0.999784 0.0197609 uwb: 0.49806751 1247.24 1225.36 -imu_odom_: 1691062880.959480870 0.304064 -0.325611 9.73961 -0.0426106 0.0170442 0.0436758 0.19 0 pose: 0.0 -2.23683 -3.87002 0 0.00314019 -0.00556915 0.999784 0.0197609 uwb: 0.0 1247.24 1225.36 -imu_odom_: 1691062880.984530654 0.852336 -0.220267 10.0437 -0.0628506 -0.0681769 0.0575243 0.23 -0.02 pose: 0.51031971 -2.24778 -3.86401 0 0.001859 -0.00407205 0.999796 0.0197179 uwb: 0.0 1247.24 1225.36 -imu_odom_: 1691062880.998323638 0.861913 -0.430956 9.67257 -0.0681769 -0.00426106 0.0607201 0.23 -0.02 pose: 0.0 -2.24778 -3.86401 0 0.001859 -0.00407205 0.999796 0.0197179 uwb: 0.49969783 1248.78 1224.78 -imu_odom_: 1691062881.21347041 1.18752 -0.181959 10.1658 -0.0447411 -0.00213053 0.0436758 0.18 0 pose: 0.39889207 -2.25259 -3.87277 0 0.00469827 -0.00417076 0.999792 0.019418 uwb: 0.0 1248.78 1224.78 -imu_odom_: 1691062881.47422264 0.696713 -0.146046 9.86172 -0.0703074 -0.00532632 0.0490022 0.18 0 pose: 0.30981645 -2.26136 -3.86797 0 0.00769069 -0.00403059 0.999776 0.0193 uwb: 0.50006531 1248.81 1226.4 -imu_odom_: 1691062881.61539855 0.502782 0.134075 10.2759 -0.0692422 0.00426106 0.0500674 0.2 0 pose: 0.8073735 -2.26136 -3.86797 0 0.00827168 -0.00352717 0.999774 0.019269 uwb: 0.0 1248.81 1226.4 -imu_odom_: 1691062881.78534569 0.490811 -0.232238 10.0509 -0.0660464 -0.00426106 0.116114 0.2 0 pose: 0.0 -2.26136 -3.86797 0 0.00827168 -0.00352717 0.999774 0.019269 uwb: 0.0 1248.81 1226.4 -imu_odom_: 1691062881.92350885 0.126893 -0.280122 10.2759 -0.0575243 -0.0117179 0.176834 0.2 0 pose: 0.39119836 -2.27013 -3.86317 0 0.00849752 -0.00114161 0.999785 0.0188716 uwb: 0.50140399 1248.25 1227.88 -imu_odom_: 1691062881.107458917 0.773327 -0.526724 9.60554 -0.0703074 -0.0447411 0.233293 0.18 0.23 pose: 0.0 -2.27013 -3.86317 0 0.00849752 -0.00114161 0.999785 0.0188716 uwb: 0.0 1248.25 1227.88 -imu_odom_: 1691062881.124434674 0.773327 -0.4956 9.96946 -0.0639159 -0.0436758 0.294013 0.18 0.23 pose: 0.0 -2.27013 -3.86317 0 0.00849752 -0.00114161 0.999785 0.0188716 uwb: 0.0 1248.25 1227.88 -imu_odom_: 1691062881.142438787 0.234632 -0.347159 9.38288 -0.0436758 -0.00106526 0.333428 0.18 0.23 pose: 0.46780304 -2.27493 -3.87194 0 0.00813274 -0.00321003 0.999848 0.0150669 uwb: 0.50054362 1248.75 1228.34 -imu_odom_: 1691062881.155370530 0.548272 -0.146046 9.79947 -0.0617853 -0.00532632 0.368581 0.19 0.29 pose: 0.0 -2.27493 -3.87194 0 0.00813274 -0.00321003 0.999848 0.0150669 uwb: 0.0 1248.75 1228.34 -imu_odom_: 1691062881.171352345 0.59855 -0.390255 9.66539 -0.0660464 -0.00426106 0.400539 0.17 0.32 pose: 0.0 -2.27493 -3.87194 0 0.00813274 -0.00321003 0.999848 0.0150669 uwb: 0.0 1248.75 1228.34 -imu_odom_: 1691062881.189399330 0.641646 -0.258574 9.40442 -0.0713727 0.0319579 0.425041 0.17 0.32 pose: 0.47992982 -2.28369 -3.86713 0 0.00751507 -0.00368988 0.999935 0.00769393 uwb: 0.49886081 1248.2 1229.84 -imu_odom_: 1691062881.206347088 0.610521 -0.229843 9.92875 -0.0532632 0.0234358 0.46339 0.17 0.32 pose: 0.0 -2.28369 -3.86713 0 0.00751507 -0.00368988 0.999935 0.00769393 uwb: 0.0 1248.2 1229.84 -imu_odom_: 1691062881.220475178 0.158017 -0.301669 9.57441 -0.0585895 0.0841559 0.499609 0.19 0.41 pose: 0.43033190 -2.29248 -3.86235 0 0.00961246 -0.00242194 0.999951 -0.000796691 uwb: 0.0 1248.2 1229.84 -imu_odom_: 1691062881.236460492 0.586579 -0.347159 9.42118 -0.052198 0.0106526 0.530502 0.19 0.41 pose: 0.6164598 -2.29248 -3.86235 0 0.00872237 -0.00250532 0.999956 -0.00221591 uwb: 0.0 1248.2 1229.84 -imu_odom_: 1691062881.251578441 0.213084 -0.335188 9.87129 -0.0415453 0.0106526 0.549676 0.18 0.5 pose: 0.0 -2.29248 -3.86235 0 0.00872237 -0.00250532 0.999956 -0.00221591 uwb: 0.49968617 1247.82 1231.5 -imu_odom_: 1691062881.268515700 0.47884 -0.823605 10.1562 -0.052198 0.0117179 0.563525 0.18 0.5 pose: 0.39066755 -2.30603 -3.86634 0 0.00654653 -0.00415198 0.9999 -0.011845 uwb: 0.0 1247.82 1231.5 -imu_odom_: 1691062881.284462808 0.715866 0.0526724 10.1514 -0.0500674 -0.0340885 0.610397 0.18 0.5 pose: 0.0 -2.30603 -3.86634 0 0.00654653 -0.00415198 0.9999 -0.011845 uwb: 0.0 1247.82 1231.5 -imu_odom_: 1691062881.302330429 1.09894 -0.213084 9.96467 -0.0490022 -0.00426106 0.627441 0.18 0.55 pose: 0.0 -2.30603 -3.86634 0 0.00654653 -0.00415198 0.9999 -0.011845 uwb: 0.50005657 1249.01 1231.8 -imu_odom_: 1691062881.319378514 0.842759 -0.40462 9.73722 -0.0500674 0.00532632 0.627441 0.18 0.55 pose: 0.22943199 -2.30604 -3.86636 0 0.00657155 -0.00529162 0.999802 -0.0180022 uwb: 0.0 1249.01 1231.8 -imu_odom_: 1691062881.335406701 1.17316 -0.521936 9.96467 -0.0447411 0.00639159 0.611462 0.18 0.55 pose: 0.0 -2.30604 -3.86636 0 0.00657155 -0.00529162 0.999802 -0.0180022 uwb: 0.0 1249.01 1231.8 -imu_odom_: 1691062881.353295613 1.18034 -0.0622492 10.4052 -0.0607201 -0.0149137 0.612527 0.2 0.64 pose: 0.34907248 -2.31482 -3.86157 0 0.00948491 -0.00428184 0.999549 -0.0281568 uwb: 0.50128441 1250.04 1231.95 -imu_odom_: 1691062881.369398462 1.86029 -0.304064 10.0652 -0.0511327 -0.0671117 0.621049 0.15 0.44 pose: 0.33932848 -2.31966 -3.87031 0 0.0125017 -0.00476723 0.999191 -0.0379258 uwb: 0.0 1250.04 1231.95 -imu_odom_: 1691062881.386393467 1.94409 -0.280122 9.28232 -0.056459 -0.0351537 0.518784 0.15 0.44 pose: 0.0 -2.31966 -3.87031 0 0.0125017 -0.00476723 0.999191 -0.0379258 uwb: 0.0 1250.04 1231.95 -imu_odom_: 1691062881.403355516 1.64482 0.122104 9.85932 -0.0372843 -0.0127832 0.456998 0.12 0.29 pose: 0.0 -2.31966 -3.87031 0 0.0125017 -0.00476723 0.999191 -0.0379258 uwb: 0.49917870 1249.2 1233.61 -imu_odom_: 1691062881.420312899 0.957681 -0.316035 9.65103 -0.0681769 0.0394148 0.410127 0.12 0.29 pose: 0.43031731 -2.32846 -3.86555 0 0.0174528 -0.00423255 0.998613 -0.0494863 uwb: 0.0 1249.2 1233.61 -imu_odom_: 1691062881.438368925 0.931344 -0.265756 10.0485 -0.0607201 0.0181095 0.320645 0.12 0.29 pose: 0.0 -2.32846 -3.86555 0 0.0174528 -0.00423255 0.998613 -0.0494863 uwb: 0.50097526 1248.81 1234.88 -imu_odom_: 1691062881.463420168 0.823605 -0.282516 10.2472 -0.0479369 0.00532632 0.273773 0.09 0.29 pose: 0.8013948 -2.32846 -3.86555 0 0.0181797 -0.00380481 0.998518 -0.0511476 uwb: 0.0 1248.81 1234.88 -imu_odom_: 1691062881.480363551 0.792481 -0.268151 10.3166 -0.056459 0.0106526 0.279099 0.09 0.29 pose: 0.0 -2.32846 -3.86555 0 0.0181797 -0.00380481 0.998518 -0.0511476 uwb: 0.0 1248.81 1234.88 -imu_odom_: 1691062881.497291769 0.21069 -0.344765 9.65582 -0.0585895 0.0468716 0.204531 0.1 0.2 pose: 0.51970792 -2.32846 -3.86555 0 0.0211821 -0.00245333 0.997997 -0.0595654 uwb: 0.49779920 1248.93 1235.4 -imu_odom_: 1691062881.512355762 -0.237026 0.296881 10.0509 -0.0319579 0.0639159 0.108657 0.11 0.26 pose: 0.0 -2.32846 -3.86555 0 0.0211821 -0.00245333 0.997997 -0.0595654 uwb: 0.0 1248.93 1235.4 -imu_odom_: 1691062881.529286313 -0.720655 -0.158017 10.3094 -0.0692422 0.0223706 0.194943 0.11 0.23 pose: 0.0 -2.32846 -3.86555 0 0.0211821 -0.00245333 0.997997 -0.0595654 uwb: 0.0 1248.93 1235.4 -imu_odom_: 1691062881.546290359 -0.0454898 -0.711078 10.2568 -0.0703074 -0.0415453 0.262055 0.11 0.23 pose: 0.73991794 -2.34199 -3.86962 0 0.0133057 -0.00145427 0.997722 -0.0661142 uwb: 0.50046488 1249.74 1234.93 -imu_odom_: 1691062881.563286823 0.675165 -0.610521 10.307 -0.0266316 -0.00745685 0.216249 0.12 0.14 pose: 0.0 -2.34199 -3.86962 0 0.0133057 -0.00145427 0.997722 -0.0661142 uwb: 0.0 1249.74 1234.93 -imu_odom_: 1691062881.580282411 0.849942 0.0430956 9.92157 -0.0543285 -0.0138484 0.251402 0.12 0.14 pose: 0.32925198 -2.34199 -3.86962 0 0.011406 -0.00326204 0.997523 -0.069333 uwb: 0.0 1249.74 1234.93 -imu_odom_: 1691062881.597319706 0.141258 -0.112527 9.9096 -0.0490022 0.0330232 0.24288 0.12 0.14 pose: 0.0 -2.34199 -3.86962 0 0.011406 -0.00326204 0.997523 -0.069333 uwb: 0.50101609 1250.3 1235.46 -imu_odom_: 1691062881.615372816 0.3304 -0.229843 9.76116 -0.0500674 0.00532632 0.199204 0.13 0.17 pose: 0.44024507 -2.35341 -3.86966 0 0.0105285 -0.00217513 0.997221 -0.0737271 uwb: 0.0 1250.3 1235.46 -imu_odom_: 1691062881.632427026 0.339977 -0.320823 9.81144 -0.056459 0.0255663 0.203466 0.13 0.17 pose: 0.0 -2.35341 -3.86966 0 0.0105285 -0.00217513 0.997221 -0.0737271 uwb: 0.0 1250.3 1235.46 -imu_odom_: 1691062881.646366710 0.641646 -0.270545 10.1442 -0.0532632 0.0255663 0.20027 0.13 0.17 pose: 0.0 -2.35341 -3.86966 0 0.0105285 -0.00217513 0.997221 -0.0737271 uwb: 0.49851666 1249.39 1237.49 -imu_odom_: 1691062881.664427695 0.311246 -0.181959 9.80904 -0.0500674 0.02024 0.20027 0.14 0.14 pose: 0.8118650 -2.35554 -3.87361 0 0.00967623 -0.00210012 0.997181 -0.0743751 uwb: 0.0 1249.39 1237.49 -imu_odom_: 1691062881.681426492 0.486023 -0.122104 10.1921 -0.056459 0.0468716 0.204531 0.15 0.17 pose: 0.0 -2.35554 -3.87361 0 0.00967623 -0.00210012 0.997181 -0.0743751 uwb: 0.0 1249.39 1237.49 -imu_odom_: 1691062881.698436663 0.0574608 -0.308852 9.48583 -0.0617853 0.0543285 0.199204 0.15 0.17 pose: 0.67005620 -2.36434 -3.86886 0 0.00550783 -0.00113741 0.996796 -0.0797825 uwb: 0.50046487 1248.08 1239.56 -imu_odom_: 1691062881.715440709 0.347159 -0.0287304 10.0197 -0.0500674 0.0117179 0.176834 0.15 0.11 pose: 0.0 -2.36434 -3.86886 0 0.00550783 -0.00113741 0.996796 -0.0797825 uwb: 0.0 1248.08 1239.56 -imu_odom_: 1691062881.732305347 0.37589 -0.21069 9.81144 -0.0841559 -0.0500674 0.204531 0.15 0.11 pose: 0.0 -2.36434 -3.86886 0 0.00550783 -0.00113741 0.996796 -0.0797825 uwb: 0.0 1248.08 1239.56 -imu_odom_: 1691062881.749328351 0.97444 -0.11971 9.78031 -0.0575243 -0.0298274 0.206661 0.15 0.11 pose: 0.32998694 -2.36909 -3.87766 0 0.00242349 -0.0002523740.996601 -0.0823498 uwb: 0.49997199 1247.57 1241.17 -imu_odom_: 1691062881.767431916 1.36948 -0.181959 9.91439 -0.0671117 -0.0213053 0.266316 0.14 0.11 pose: 0.33878017 -2.36909 -3.87766 0 0.00131042 0.000296922 0.99638 -0.0850007 uwb: 0.0 1247.57 1241.17 -imu_odom_: 1691062881.784437713 1.74537 -0.4956 10.2065 -0.0543285 -0.0308927 0.245011 0.14 0.11 pose: 0.0 -2.36909 -3.87766 0 0.00131042 0.000296922 0.99638 -0.0850007 uwb: 0.0 1247.57 1241.17 -imu_odom_: 1691062881.801301476 1.56341 -0.0215478 9.61033 -0.0319579 0.0255663 0.157659 0.14 0.08 pose: 0.45117026 -2.37791 -3.87294 0 0.00628497 0.000442857 0.995956 -0.0896186 uwb: 0.49928370 1246.21 1243.64 -imu_odom_: 1691062881.818494220 1.39343 -0.0981623 9.89284 -0.0426106 0.0490022 0.137419 0.14 0.08 pose: 0.0 -2.37791 -3.87294 0 0.00628497 0.000442857 0.995956 -0.0896186 uwb: 0.0 1246.21 1243.64 -imu_odom_: 1691062881.834424996 0.6608 -0.399832 9.93115 -0.056459 0.0585895 0.0980043 0.14 0.08 pose: 0.0 -2.37791 -3.87294 0 0.00628497 0.000442857 0.995956 -0.0896186 uwb: 0.0 1246.21 1243.64 -imu_odom_: 1691062881.852562392 0.811634 -0.385466 10.1442 -0.0628506 -0.0138484 0.0532632 0.09 0.08 pose: 0.8008115 -2.37791 -3.87294 0 0.00692932 0.000740551 0.995909 -0.0900886 uwb: 0.50199895 1244.5 1245.78 -imu_odom_: 1691062881.869551565 0.895431 -0.071826 9.74919 -0.0575243 -0.0223706 0.0490022 0.09 0.08 pose: 0.0 -2.37791 -3.87294 0 0.00692932 0.000740551 0.995909 -0.0900886 uwb: 0.0 1244.5 1245.78 -imu_odom_: 1691062881.884603601 0.826 -0.172383 9.95988 -0.0543285 0.0170442 0.076699 0.09 0.08 pose: 0.0 -2.37791 -3.87294 0 0.00692932 0.000740551 0.995909 -0.0900886 uwb: 0.0 1244.5 1245.78 -imu_odom_: 1691062881.901521902 0.706289 -0.203507 9.94312 -0.0543285 -0.00426106 0.072438 0.06 0.08 pose: 0.50002448 -2.38261 -3.88176 0 0.00984147 -0.0003813930.995712 -0.0919793 uwb: 0.49934494 1243.21 1247.92 -imu_odom_: 1691062881.918408414 0.45011 -0.258574 9.79947 -0.0500674 -0.00958738 0.0841559 0.06 0.08 pose: 0.0 -2.38261 -3.88176 0 0.00984147 -0.0003813930.995712 -0.0919793 uwb: 0.0 1243.21 1247.92 -imu_odom_: 1691062881.935369004 0.718261 -0.167594 9.82102 -0.0585895 0.00319579 0.113983 0.06 0.08 pose: 0.65966764 -2.39145 -3.87707 0 0.0142446 0.00151769 0.995581 -0.0928054 uwb: 0.0 1243.21 1247.92 -imu_odom_: 1691062881.960283755 0.711078 -0.385466 9.84735 -0.0553937 0 0.11931 0.05 0.05 pose: 0.0 -2.39145 -3.87707 0 0.0142446 0.00151769 0.995581 -0.0928054 uwb: 0.49961618 1243.24 1248.81 -imu_odom_: 1691062881.985456031 -0.131681 -0.124498 9.91439 -0.0490022 0.0660464 0.111853 0.05 0.05 pose: 0.34891500 -2.39145 -3.87707 0 0.0145978 0.00163992 0.995467 -0.0939695 uwb: 0.0 1243.24 1248.81 -imu_odom_: 1691062881.998408482 -0.933739 -0.265756 9.86172 -0.0596548 0.0681769 0.106526 0.07 0.08 pose: 0.42149491 -2.39145 -3.87707 0 0.0115249 7.09816e-05 0.995355 -0.0955756 uwb: 0.50115317 1242.38 1250.11 -imu_odom_: 1691062882.23334898 -0.881066 -0.253785 9.80186 -0.0500674 -0.0628506 0.103331 0.07 0.08 pose: 0.5860991 -2.39145 -3.87707 0 0.0107328 -3.16396e-050.995345 -0.0957721 uwb: 0.0 1242.38 1250.11 -imu_odom_: 1691062882.47405031 0.203507 0.0167594 9.71328 -0.0543285 -0.04048 0.100135 0.11 0.08 pose: 0.32017876 -2.39144 -3.87705 0 0.00801595 -0.0002972690.995271 -0.0968065 uwb: 0.49793919 1241.59 1251.49 -imu_odom_: 1691062882.70309441 0.304064 -0.378284 9.72764 -0.072438 0.0426106 0.0820254 0.11 0.08 pose: 0.0 -2.39144 -3.87705 0 0.00801595 -0.0002972690.995271 -0.0968065 uwb: 0.0 1241.59 1251.49 -imu_odom_: 1691062882.96324877 -0.21069 -0.203507 9.67018 -0.0479369 -0.0117179 0.0873517 0.11 0.02 pose: 0.46974543 -2.40501 -3.88108 0 0.00416921 -0.0008563390.995176 -0.0980166 uwb: 0.50059321 1241.99 1251.89 -imu_odom_: 1691062882.113316966 0.100556 0 10.1299 -0.0532632 -0.036219 0.0735032 0.11 0.02 pose: 0.0 -2.40501 -3.88108 0 0.00416921 -0.0008563390.995176 -0.0980166 uwb: 0.0 1241.99 1251.89 -imu_odom_: 1691062882.137361726 0.292093 -0.167594 9.34936 -0.0543285 0.0255663 0.0756338 0.12 0.02 pose: 0.43007525 -2.40501 -3.88108 0 0.000443776 5.45698e-06 0.995095 -0.0989262 uwb: 0.0 1241.99 1251.89 -imu_odom_: 1691062882.162391387 0.296881 -0.201113 9.87608 -0.0383495 0.00319579 0.0756338 0.12 0.02 pose: 0.0 -2.40501 -3.88108 0 0.000443776 5.45698e-06 0.995095 -0.0989262 uwb: 0.49997492 1242.3 1252.22 -imu_odom_: 1691062882.187376425 0.469264 -0.0790087 10.5465 -0.0553937 -0.0426106 0.0873517 0.13 0.05 pose: 0.49074421 -2.41381 -3.87634 0 -0.00481429 0.000472272 0.994996 -0.0998021 uwb: 0.49915829 1242.65 1252.59 -imu_odom_: 1691062882.211315316 -0.0430956 -0.287304 9.78989 -0.056459 0.0127832 0.0660464 0.14 0.02 pose: 0.0 -2.41381 -3.87634 0 -0.00481429 0.000472272 0.994996 -0.0998021 uwb: 0.0 1242.65 1252.59 -imu_odom_: 1691062882.229369884 0.196325 -0.177171 10.2448 -0.0447411 0.00213053 0.0639159 0.14 0.02 pose: 0.33010943 -2.41854 -3.88515 0 -0.00325581 0.0018407 0.994929 -0.100508 uwb: 0.0 1242.65 1252.59 -imu_odom_: 1691062882.246276229 0.138864 -0.102951 9.77792 -0.0543285 0.00639159 0.0798948 0.14 0.02 pose: 0.0 -2.41854 -3.88515 0 -0.00325581 0.0018407 0.994929 -0.100508 uwb: 0.50107151 1242.92 1253.31 -imu_odom_: 1691062882.269382460 0.203507 -0.25618 10.1035 -0.0330232 -0.0809601 0.0628506 0.14 0 pose: 0.50873899 -2.42736 -3.88044 0 -0.00837891 0.00184292 0.994822 -0.101268 uwb: 0.0 1242.92 1253.31 -imu_odom_: 1691062882.285319944 0.356736 0.0383072 9.99579 -0.0266316 -0.0426106 0.0543285 0.14 0 pose: 0.7135207 -2.42736 -3.88044 0 -0.00830356 0.00126258 0.994816 -0.101343 uwb: 0.0 1242.92 1253.31 -imu_odom_: 1691062882.303444509 0.349553 0.023942 10.1179 -0.0585895 -0.04048 0.0980043 0.2 0.02 pose: 0.0 -2.42736 -3.88044 0 -0.00830356 0.00126258 0.994816 -0.101343 uwb: 0.49961036 1242.94 1253.78 -imu_odom_: 1691062882.319315205 0.768539 -0.488417 9.40682 -0.0479369 -0.00426106 0.0671117 0.15 0 pose: 0.50033073 -2.43206 -3.88926 0 -0.00638819 0.0034445 0.99474 -0.102178 uwb: 0.0 1242.94 1253.78 -imu_odom_: 1691062882.337313194 0.562637 -0.246603 9.89524 -0.0436758 -0.0213053 0.0575243 0.21 0.02 pose: 0.0 -2.43206 -3.88926 0 -0.00638819 0.0034445 0.99474 -0.102178 uwb: 0.0 1242.94 1253.78 -imu_odom_: 1691062882.354252202 0.562637 0.0143652 10.3382 -0.0458064 0.02024 0.0735032 0.21 0.02 pose: 0.0 -2.43206 -3.88926 0 -0.00638819 0.0034445 0.99474 -0.102178 uwb: 0.49957535 1242.69 1254.84 -imu_odom_: 1691062882.368262174 0.440533 -0.28491 10.5489 -0.052198 0 0.0745685 0.21 0.02 pose: 0.23904768 -2.44088 -3.88456 0 -0.00418233 0.00255174 0.994724 -0.102469 uwb: 0.0 1242.69 1254.84 -imu_odom_: 1691062882.385494583 0.277727 -0.162806 9.97664 -0.0575243 0.015979 0.0553937 0.15 0 pose: 0.0 -2.44088 -3.88456 0 -0.00418233 0.00255174 0.994724 -0.102469 uwb: 0.0 1242.69 1254.84 -imu_odom_: 1691062882.401249203 0.380678 -0.19393 9.47625 -0.0735032 -0.00106526 0.0830906 0.15 0 pose: 0.33040108 -2.44088 -3.88456 0 -0.00182936 0.00310284 0.994679 -0.102959 uwb: 0.49980575 1243.17 1255.35 -imu_odom_: 1691062882.418386242 0.691924 -0.282516 9.98143 -0.0830906 -0.0351537 0.0809601 0.16 0.02 pose: 0.15998731 -2.44564 -3.89335 0 -0.00231663 0.00235358 0.99466 -0.103158 uwb: 0.0 1243.17 1255.35 -imu_odom_: 1691062882.434322267 0.304064 -0.299275 10.0868 -0.0596548 0.0117179 0.0479369 0.16 0.02 pose: 0.0 -2.44564 -3.89335 0 -0.00231663 0.00235358 0.99466 -0.103158 uwb: 0.0 1243.17 1255.35 -imu_odom_: 1691062882.451229195 0.316035 -0.167594 9.89524 -0.0468716 0.00639159 0.056459 0.16 0.02 pose: 0.0 -2.44564 -3.89335 0 -0.00231663 0.00235358 0.99466 -0.103158 uwb: 0.49943537 1243.05 1256.11 -imu_odom_: 1691062882.467383958 -0.110133 -0.225055 10.0006 -0.0500674 -0.00426106 0.0703074 0.16 0 pose: 0.32870368 -2.45444 -3.8886 0 -0.00106925 0.00101554 0.994604 -0.103735 uwb: 0.0 1243.05 1256.11 -imu_odom_: 1691062882.484291177 0.691924 -0.433351 10.1634 -0.056459 -0.0319579 0.0490022 0.22 0 pose: 0.0 -2.45444 -3.8886 0 -0.00106925 0.00101554 0.994604 -0.103735 uwb: 0.0 1243.05 1256.11 -imu_odom_: 1691062882.499293049 0.972046 -0.0646434 9.67257 -0.0383495 0.0117179 0.04048 0.22 0 pose: 0.0 -2.45444 -3.8886 0 -0.00106925 0.00101554 0.994604 -0.103735 uwb: 0.50057279 1243.12 1256.63 -imu_odom_: 1691062882.517239416 0.11971 -0.0454898 10.0149 -0.052198 0.0234358 0.0841559 0.21 0.02 pose: 0.66051635 -2.45917 -3.89741 0 -0.0034122 -6.51507e-050.994528 -0.104413 uwb: 0.0 1243.12 1256.63 -imu_odom_: 1691062882.533290935 -0.0263362 -0.162806 9.6606 -0.0628506 -0.015979 0.0681769 0.21 0.02 pose: 0.0 -2.45917 -3.89741 0 -0.0034122 -6.51507e-050.994528 -0.104413 uwb: 0.0 1243.12 1256.63 -imu_odom_: 1691062882.550219445 0.488417 -0.059855 10.1131 -0.0383495 -0.0330232 0.052198 0.21 0.02 pose: 0.31937090 -2.46798 -3.89267 0 -0.00202544 0.000527782 0.994508 -0.104638 uwb: 0.50049113 1243.41 1257.39 -imu_odom_: 1691062882.566430496 0.562637 -0.0861913 10.0485 -0.0692422 -0.056459 0.100135 0.15 0 pose: 0.42972236 -2.47515 -3.89483 0 -0.00308614 0.00217848 0.994444 -0.105197 uwb: 0.0 1243.41 1257.39 -imu_odom_: 1691062882.583375630 1.42455 -0.368707 10.2185 -0.0617853 -0.0298274 0.134223 0.15 0 pose: 0.8000531 -2.48152 -3.89676 0 -0.00215312 0.0024986 0.99442 -0.105441 uwb: 0.0 1243.41 1257.39 -imu_odom_: 1691062882.599249534 2.28407 -0.608127 10.5967 -0.0479369 -0.0873517 0.1012 0.15 0 pose: 0.0 -2.48152 -3.89676 0 -0.00215312 0.0024986 0.99442 -0.105441 uwb: 0.50056405 1243.11 1258.88 -imu_odom_: 1691062882.617307019 1.94649 0.158017 9.35654 -0.056459 -0.00958738 0.0447411 0.17 -0.02 pose: 0.41029558 -2.48152 -3.89676 0 0.00294181 0.00255767 0.994254 -0.10698 uwb: 0.0 1243.11 1258.88 -imu_odom_: 1691062882.633369913 1.82438 0.131681 10.2615 -0.0671117 0.0447411 0.0575243 0.12 -0.02 pose: 0.0 -2.48152 -3.89676 0 0.00294181 0.00255767 0.994254 -0.10698 uwb: 0.0 1243.11 1258.88 -imu_odom_: 1691062882.651372276 0.770933 -0.181959 9.62948 -0.0660464 0.0649811 0.0191748 0.12 -0.02 pose: 0.0 -2.48152 -3.89676 0 0.00294181 0.00255767 0.994254 -0.10698 uwb: 0.49994283 1243.75 1259.11 -imu_odom_: 1691062882.668233123 0.68953 -0.241814 10.489 -0.0479369 0.00319579 -0.0149137 0.09 0 pose: 0.26012228 -2.48152 -3.89676 0 0.00526726 0.00332037 0.994229 -0.1071 uwb: 0.0 1243.75 1259.11 -imu_odom_: 1691062882.681226113 0.54109 -0.220267 9.40921 -0.0607201 -0.00958738 -0.0287621 0.09 0 pose: 0.0 -2.48152 -3.89676 0 0.00526726 0.00332037 0.994229 -0.1071 uwb: 0.0 1243.75 1259.11 -imu_odom_: 1691062882.698227243 0.656011 0.00957681 10.0126 -0.0511327 0.02024 -0.0149137 0.09 0 pose: 0.32999569 -2.49035 -3.89207 0 0.00762924 0.00311739 0.994245 -0.106815 uwb: 0.50045322 1245.01 1258.63 -imu_odom_: 1691062882.712231382 0.670376 -0.268151 10.2256 -0.0671117 -0.0255663 0.02024 0.08 0 pose: 0.39965912 -2.49299 -3.89703 0 0.00826919 0.00316839 0.994364 -0.105645 uwb: 0.0 1245.01 1258.63 -imu_odom_: 1691062882.727222463 0.744597 -0.416591 9.56484 -0.0543285 -0.0106526 0.0266316 0.08 0 pose: 0.7006590 -2.49506 -3.9009 0 0.00888055 0.00268047 0.994367 -0.105582 uwb: 0.0 1245.01 1258.63 -imu_odom_: 1691062882.745260407 0.653617 -0.304064 9.90002 -0.04048 0.00106526 0.036219 0.08 0 pose: 0.0 -2.49506 -3.9009 0 0.00888055 0.00268047 0.994367 -0.105582 uwb: 0.49823668 1244.07 1259.91 -imu_odom_: 1691062882.769231672 0.574608 -0.0287304 9.80186 -0.0575243 0.00852212 0.04048 0.06 0 pose: 0.40026574 -2.49506 -3.9009 0 0.0114258 -0.0003196090.994362 -0.105422 uwb: 0.0 1244.07 1259.91 -imu_odom_: 1691062882.787276616 0.371101 -0.301669 9.93354 -0.0628506 0.0223706 0.0213053 0.07 -0.02 pose: 0.0 -2.49506 -3.9009 0 0.0114258 -0.0003196090.994362 -0.105422 uwb: 0.0 1244.07 1259.91 -imu_odom_: 1691062882.803223724 -0.490811 -0.181959 9.60793 -0.0490022 0.0532632 -0.0649811 0.07 -0.02 pose: 0.32027502 -2.49506 -3.9009 0 0.00970283 0.00148032 0.994388 -0.105338 uwb: 0.50124650 1244.72 1260.14 -imu_odom_: 1691062882.820253436 -1.12049 0.0047884 9.46188 -0.0340885 0.00852212 -0.167247 0.11 -0.2 pose: 0.0 -2.49506 -3.9009 0 0.00970283 0.00148032 0.994388 -0.105338 uwb: 0.0 1244.72 1260.14 -imu_odom_: 1691062882.838330462 -0.756568 0.260968 10.3214 -0.0788296 -0.04048 -0.22051 0.11 -0.2 pose: 0.0 -2.49506 -3.9009 0 0.00970283 0.00148032 0.994388 -0.105338 uwb: 0.49940328 1246.37 1259.61 -imu_odom_: 1691062882.851204167 0.196325 -0.232238 9.95509 -0.076699 -0.0617853 -0.274838 0.11 -0.2 pose: 0.34013926 -2.49506 -3.9009 0 0.00577796 0.000940902 0.994603 -0.103593 uwb: 0.0 1246.37 1259.61 -imu_odom_: 1691062882.867297392 0.366313 -0.203507 9.7037 -0.0649811 0.0351537 -0.311057 0.1 -0.32 pose: 0.0 -2.49506 -3.9009 0 0.00577796 0.000940902 0.994603 -0.103593 uwb: 0.0 1246.37 1259.61 -imu_odom_: 1691062882.884360935 0.11971 -0.351948 9.97185 -0.0639159 -0.00319579 -0.308927 0.1 -0.32 pose: 0.0 -2.49506 -3.9009 0 0.00577796 0.000940902 0.994603 -0.103593 uwb: 0.0 1246.37 1259.61 -imu_odom_: 1691062882.900390872 0.1652 -0.246603 9.48583 -0.0490022 -0.0138484 -0.347276 0.1 -0.32 pose: 0.48124518 -2.5039 -3.89624 0 0.001556 0.000796126 0.995295 -0.0968792 uwb: 0.49984367 1246.68 1259.94 -imu_odom_: 1691062882.918285034 0.0885855 -0.0981623 10.1538 -0.0394148 -0.0245011 -0.383495 0.16 -0.55 pose: 0.40964519 -2.50859 -3.90507 0 -0.00232304 -0.0006177190.995988 -0.0894569 uwb: 0.0 1246.68 1259.94 -imu_odom_: 1691062882.933351069 0.169988 0.0407014 10.1586 -0.0660464 -0.0308927 -0.383495 0.12 -0.44 pose: 0.0 -2.50859 -3.90507 0 -0.00232304 -0.0006177190.995988 -0.0894569 uwb: 0.0 1246.68 1259.94 -imu_odom_: 1691062882.951361598 0.390255 -0.153229 9.84496 -0.0447411 0.0287621 -0.419714 0.12 -0.44 pose: 0.25979564 -2.50859 -3.90507 0 -0.00421945 0.000744749 0.996458 -0.0839862 uwb: 0.49939745 1246.68 1260.85 -imu_odom_: 1691062882.968354854 0.138864 -0.244209 10.0892 -0.052198 0.0170442 -0.450607 0.13 -0.53 pose: 0.0 -2.50859 -3.90507 0 -0.00421945 0.000744749 0.996458 -0.0839862 uwb: 0.0 1246.68 1260.85 -imu_odom_: 1691062882.982360743 0.253785 0.0837971 9.27753 -0.0639159 0.00745685 -0.462325 0.13 -0.53 pose: 0.0 -2.50859 -3.90507 0 -0.00421945 0.000744749 0.996458 -0.0839862 uwb: 0.0 1246.68 1260.85 -imu_odom_: 1691062882.998349266 0.138864 0.148441 10.1969 -0.0468716 0.0234358 -0.474043 0.13 -0.53 pose: 0.32994027 -2.51744 -3.90041 0 -0.00406143 0.00178499 0.997064 -0.0764419 uwb: 0.50109776 1245.27 1263.01 -imu_odom_: 1691062883.16234678 0.61531 -0.21069 9.87129 -0.0628506 -0.00639159 -0.525175 0.19 -0.73 pose: 0.38984803 -2.51978 -3.9049 0 -0.00654716 0.00405029 0.997747 -0.0666509 uwb: 0.0 1245.27 1263.01 -imu_odom_: 1691062883.33346927 0.31364 0.0981623 9.83777 -0.0639159 -0.0106526 -0.556068 0.19 -0.73 pose: 0.7890288 -2.52205 -3.90929 0 -0.00576812 0.0038671 0.997898 -0.0644304 uwb: 0.0 1245.27 1263.01 -imu_odom_: 1691062883.49347116 1.07739 0.272939 10.5967 -0.052198 -0.0660464 -0.556068 0.19 -0.73 pose: 0.0 -2.52205 -3.90929 0 -0.00576812 0.0038671 0.997898 -0.0644304 uwb: 0.49939454 1245.88 1263.21 -imu_odom_: 1691062883.67401976 1.46765 -0.213084 9.49301 -0.0852212 -0.0798948 -0.50387 0.17 -0.67 pose: 0.43107562 -2.53091 -3.90464 0 -0.00298727 0.00605566 0.998635 -0.0517874 uwb: 0.0 1245.88 1263.21 -imu_odom_: 1691062883.82343769 1.29047 -0.423774 9.19373 -0.0617853 0.0394148 -0.458064 0.11 -0.44 pose: 0.0 -2.53091 -3.90464 0 -0.00298727 0.00605566 0.998635 -0.0517874 uwb: 0.0 1245.88 1263.21 -imu_odom_: 1691062883.99215699 0.806846 -0.519542 9.92397 -0.0490022 0.0149137 -0.407996 0.11 -0.44 pose: 0.0 -2.53091 -3.90464 0 -0.00298727 0.00605566 0.998635 -0.0517874 uwb: 0.49990492 1246.3 1263.66 -imu_odom_: 1691062883.116347197 0.667982 -0.35913 9.51695 -0.0415453 0.00852212 -0.36432 0.1 -0.38 pose: 0.25955357 -2.53091 -3.90464 0 5.88695e-05 0.00545457 0.998975 -0.0449366 uwb: 0.0 1246.3 1263.66 -imu_odom_: 1691062883.133339869 0.866701 -0.186748 9.80665 -0.0468716 -0.0287621 -0.284426 0.1 -0.38 pose: 0.0 -2.53091 -3.90464 0 5.88695e-05 0.00545457 0.998975 -0.0449366 uwb: 0.0 1246.3 1263.66 -imu_odom_: 1691062883.148222457 0.711078 -0.474052 9.56484 -0.0596548 0.00213053 -0.232228 0.1 -0.38 pose: 0.32066290 -2.53091 -3.90464 0 0.00215818 0.00361761 0.999277 -0.037785 uwb: 0.49942954 1245.79 1264.96 -imu_odom_: 1691062883.174341138 0.464475 -0.0574608 9.87129 -0.0351537 0.00639159 -0.248207 0.11 -0.41 pose: 0.40853694 -2.53979 -3.90005 0 0.0054963 0.0018909 0.999496 -0.0312175 uwb: 0.0 1245.79 1264.96 -imu_odom_: 1691062883.189280889 0.280122 -0.0311246 9.76355 -0.0596548 0 -0.238619 0.11 -0.41 pose: 0.0 -2.53979 -3.90005 0 0.0054963 0.0018909 0.999496 -0.0312175 uwb: 0.50196688 1246.36 1265.11 -imu_odom_: 1691062883.206220189 0.0047884 -0.1652 9.64384 -0.0543285 0.0479369 -0.273773 0.08 -0.23 pose: 0.8132941 -2.53979 -3.90005 0 0.00513553 0.00272958 0.999532 -0.0300436 uwb: 0.0 1246.36 1265.11 -imu_odom_: 1691062883.219209096 -0.0263362 -0.272939 10.2903 -0.0426106 0.056459 -0.333428 0.09 -0.17 pose: 0.0 -2.53979 -3.90005 0 0.00513553 0.00272958 0.999532 -0.0300436 uwb: 0.0 1246.36 1265.11 -imu_odom_: 1691062883.236346136 -0.869095 0.251391 9.8689 -0.0426106 0.0330232 -0.259925 0.1 -0.14 pose: 0.0 -2.53979 -3.90005 0 0.00513553 0.00272958 0.999532 -0.0300436 uwb: 0.0 1246.36 1265.11 -imu_odom_: 1691062883.251219391 -0.648829 -0.725443 9.991 -0.0745685 -0.0745685 -0.109722 0.1 -0.14 pose: 0.71032428 -2.54443 -3.90891 0 -0.00178187 0.00482369 0.999805 -0.0190495 uwb: 0.49874708 1245.99 1266.1 -imu_odom_: 1691062883.268408635 0.138864 -0.378284 9.80426 -0.0213053 -0.0948085 -0.136354 0.1 -0.14 pose: 0.0 -2.54443 -3.90891 0 -0.00178187 0.00482369 0.999805 -0.0190495 uwb: 0.0 1245.99 1266.1 -imu_odom_: 1691062883.285464304 0.866701 0.248997 10.2711 -0.036219 -0.0276969 -0.106526 0.1 -0.17 pose: 0.0 -2.54443 -3.90891 0 -0.00178187 0.00482369 0.999805 -0.0190495 uwb: 0.0 1245.99 1266.1 -imu_odom_: 1691062883.302347025 0.490811 -0.155623 9.71806 -0.0692422 -0.00213053 -0.100135 0.1 -0.17 pose: 0.31988129 -2.55328 -3.90425 0 -0.00369181 0.00367475 0.999861 -0.0158603 uwb: 0.50001284 1245.76 1266.79 -imu_odom_: 1691062883.318292092 0.0526724 -0.318429 9.65582 -0.0532632 0.0127832 -0.135289 0.13 -0.14 pose: 0.42971070 -2.55328 -3.90425 0 -0.0006457 0.00390572 0.999912 -0.0126475 uwb: 0.0 1245.76 1266.79 -imu_odom_: 1691062883.335374301 -0.280122 -0.131681 9.44273 -0.0692422 -0.0106526 -0.113983 0.13 -0.14 pose: 0.0 -2.55328 -3.90425 0 -0.0006457 0.00390572 0.999912 -0.0126475 uwb: 0.0 1245.76 1266.79 -imu_odom_: 1691062883.351228665 0.047884 -0.466869 9.84735 -0.0543285 -0.0245011 -0.0948085 0.13 -0.14 pose: 0.0 -2.55328 -3.90425 0 -0.0006457 0.00390572 0.999912 -0.0126475 uwb: 0.49948786 1246.14 1266.73 -imu_odom_: 1691062883.369222571 -0.203507 -0.244209 9.35654 -0.0436758 0.00106526 -0.102265 0.18 -0.2 pose: 0.8011323 -2.55328 -3.90425 0 -0.00142094 0.00353076 0.999921 -0.0119443 uwb: 0.0 1246.14 1266.73 -imu_odom_: 1691062883.386247034 0.433351 0.107739 10.0221 -0.0383495 -0.0372843 -0.0788296 0.13 -0.11 pose: 0.0 -2.55328 -3.90425 0 -0.00142094 0.00353076 0.999921 -0.0119443 uwb: 0.0 1246.14 1266.73 -imu_odom_: 1691062883.401196701 0.117316 -0.308852 9.58878 -0.0830906 0.00852212 -0.0671117 0.13 -0.11 pose: 0.66862714 -2.56681 -3.90839 0 -0.00605892 0.00252257 0.999953 -0.00710752 uwb: 0.49964536 1246.44 1267.06 -imu_odom_: 1691062883.418254411 0.131681 -0.275333 9.96946 -0.052198 -0.0106526 -0.0937433 0.13 -0.11 pose: 0.0 -2.56681 -3.90839 0 -0.00605892 0.00252257 0.999953 -0.00710752 uwb: 0.0 1246.44 1267.06 -imu_odom_: 1691062883.431189655 0.177171 -0.217872 9.54329 -0.056459 0.0245011 -0.0777643 0.13 -0.11 pose: 0.0 -2.56681 -3.90839 0 -0.00605892 0.00252257 0.999953 -0.00710752 uwb: 0.0 1246.44 1267.06 -imu_odom_: 1691062883.448194285 0.318429 -0.136469 10.0485 -0.0639159 -0.0127832 -0.052198 0.13 -0.11 pose: 0.32077082 -2.56681 -3.90839 0 -0.00731515 0.00170703 0.999958 -0.00522823 uwb: 0.50104819 1247.68 1266.53 -imu_odom_: 1691062883.465200082 0.553061 -0.244209 10.0892 -0.0628506 -0.0639159 -0.0532632 0.14 -0.14 pose: 0.0 -2.56681 -3.90376 0 -0.00789408 0.00154824 0.999963 -0.00309215 uwb: 0.0 1247.68 1266.53 -imu_odom_: 1691062883.482188963 1.24259 -0.198719 10.228 -0.052198 -0.0245011 -0.0213053 0.14 -0.14 pose: 0.0 -2.57567 -3.90376 0 -0.00789408 0.00154824 0.999963 -0.00309215 uwb: 0.0 1247.68 1266.53 -imu_odom_: 1691062883.499247840 1.60412 -0.323217 10.3645 -0.0607201 -0.0351537 0.0426106 0.14 -0.14 pose: 0.0 -2.57567 -3.90376 0 -0.00789408 0.00154824 0.999963 -0.00309215 uwb: 0.49938287 1246.47 1268.5 -imu_odom_: 1691062883.516335882 1.83875 -0.263362 9.82341 -0.0703074 -0.0479369 0.036219 0.11 -0.14 pose: 0.7018256 -2.57567 -3.90376 0 -0.00699639 0.00138568 0.999971 -0.00276625 uwb: 0.0 1246.47 1268.5 -imu_odom_: 1691062883.533275475 1.5682 -0.0215478 9.72285 -0.0426106 0.0276969 -0.0490022 0.11 -0.14 pose: 0.0 -2.57567 -3.90376 0 -0.00699639 0.00138568 0.999971 -0.00276625 uwb: 0.0 1246.47 1268.5 -imu_odom_: 1691062883.550219734 0.694318 0.198719 10.0149 -0.056459 0.0468716 -0.052198 0.09 -0.05 pose: 0.51000767 -2.58919 -3.90793 0 -0.00103837 0.000868909 0.999997 -0.00180275 uwb: 0.50080029 1245.96 1269.83 -imu_odom_: 1691062883.565325433 0.512359 -0.311246 10.0652 -0.0735032 0.0106526 -0.0628506 0.09 -0.08 pose: 0.0 -2.58919 -3.90793 0 -0.00103837 0.000868909 0.999997 -0.00180275 uwb: 0.0 1245.96 1269.83 -imu_odom_: 1691062883.582325397 0.677559 -0.311246 9.91678 -0.0585895 -0.02024 -0.0820254 0.07 -0.08 pose: 0.0 -2.58919 -3.90793 0 -0.00103837 0.000868909 0.999997 -0.00180275 uwb: 0.0 1245.96 1269.83 -imu_odom_: 1691062883.598190261 0.864307 -0.203507 9.88326 -0.0660464 0 -0.0543285 0.07 -0.08 pose: 0.66181129 -2.58919 -3.90793 0 0.00329876 0.000676034 0.999994 0.000938186 uwb: 0.49877041 1247.01 1269.09 -imu_odom_: 1691062883.616265829 0.88346 -0.19393 10.0485 -0.0617853 0.0106526 -0.0213053 0.08 -0.05 pose: 0.0 -2.58919 -3.90793 0 0.00329876 0.000676034 0.999994 0.000938186 uwb: 0.0 1247.01 1269.09 -imu_odom_: 1691062883.633322373 0.574608 -0.31364 9.84735 -0.052198 0 -0.015979 0.08 -0.05 pose: 0.0 -2.58919 -3.90793 0 0.00329876 0.000676034 0.999994 0.000938186 uwb: 0.0 1247.01 1269.09 -imu_odom_: 1691062883.649373892 0.679953 -0.146046 9.9527 -0.0511327 -0.00426106 -0.0276969 0.08 -0.05 pose: 0.33876560 -2.58919 -3.90793 0 0.00655779 0.000159807 0.999975 0.0025313 uwb: 0.50053488 1246.91 1269.92 -imu_odom_: 1691062883.667253471 0.718261 -0.0909797 9.91918 -0.0575243 -0.0149137 -0.0170442 0.06 -0.02 pose: 0.33973679 -2.59803 -3.90325 0 0.00840274 -0.00100667 0.999958 0.00353381 uwb: 0.0 1246.91 1269.92 -imu_odom_: 1691062883.692397459 0.627281 -0.215478 10.0772 -0.0511327 -0.0149137 -0.0351537 0.06 -0.02 pose: 0.0 -2.59803 -3.90325 0 0.00840274 -0.00100667 0.999958 0.00353381 uwb: 0.49955787 1244.64 1272.65 -imu_odom_: 1691062883.718182492 -0.0023942 -0.275333 9.65342 -0.0575243 0.0916127 -0.0308927 0.04 -0.02 pose: 0.35100322 -2.59803 -3.90325 0 0.0110699 0.000196916 0.999928 0.00465947 uwb: 0.0 1244.64 1272.65 -imu_odom_: 1691062883.743166364 -1.54187 -0.328006 9.87848 -0.0415453 0.0170442 0.0181095 0.08 0 pose: 0.0 -2.59803 -3.90325 0 0.0110699 0.000196916 0.999928 0.00465947 uwb: 0.50146524 1244.58 1273.55 -imu_odom_: 1691062883.769241589 -0.0790087 -0.100556 9.84496 -0.0436758 -0.0830906 0.00532632 0.08 0 pose: 0.42837494 -2.59803 -3.90325 0 0.0084379 -0.00123699 0.999944 0.00618725 uwb: 0.0 1244.58 1273.55 -imu_odom_: 1691062883.794381493 0.653617 -0.3304 9.4978 -0.0585895 -0.015979 0.00745685 0.1 -0.05 pose: 0.8113692 -2.59803 -3.90325 0 0.007541 -0.00120926 0.999951 0.00627278 uwb: 0.49844085 1244.9 1273.9 -imu_odom_: 1691062883.820188983 0.0861913 -0.246603 9.88566 -0.04048 0.0234358 -0.00426106 0.1 -0.05 pose: 0.0 -2.59803 -3.90325 0 0.007541 -0.00120926 0.999951 0.00627278 uwb: 0.0 1244.9 1273.9 -imu_odom_: 1691062883.836307874 -0.112527 -0.148441 9.52892 -0.0543285 -0.0255663 0.0127832 0.12 -0.02 pose: 0.50901023 -2.60269 -3.91209 0 0.00488475 -0.0008469110.999963 0.00702195 uwb: 0.0 1244.9 1273.9 -imu_odom_: 1691062883.861174503 0.457293 -0.241814 10.2927 -0.0415453 0 -0.0117179 0.12 -0.02 pose: 0.0 -2.60269 -3.91209 0 0.00488475 -0.0008469110.999963 0.00702195 uwb: 0.49973285 1244.65 1274.59 -imu_odom_: 1691062883.884192364 -0.191536 -0.229843 9.52653 -0.0383495 0.0191748 0.0255663 0.12 -0.02 pose: 0.50146233 -2.61153 -3.90742 0 0.00286662 -0.00144689 0.999963 0.00795049 uwb: 0.0 1244.65 1274.59 -imu_odom_: 1691062883.900322629 0 -0.296881 10.1418 -0.0330232 -0.00213053 -0.00213053 0.12 -0.02 pose: 0.0 -2.61153 -3.90742 0 0.00286662 -0.00144689 0.999963 0.00795049 uwb: 0.50149441 1246.11 1274.29 -imu_odom_: 1691062883.926220823 -0.0430956 -0.349553 9.44513 -0.0617853 -0.0245011 0.0223706 0.17 -0.05 pose: 0.40921356 -2.61153 -3.90742 0 0.00370766 -0.00133201 0.999954 0.00875822 uwb: 0.0 1246.11 1274.29 -imu_odom_: 1691062883.949278932 0.713472 -0.134075 10.0006 -0.0447411 -0.00426106 0.00213053 0.17 -0.05 pose: 0.0 -2.61153 -3.90742 0 0.00370766 -0.00133201 0.999954 0.00875822 uwb: 0.49856334 1246.85 1274.14 -imu_odom_: 1691062883.973172618 -0.0502782 -0.251391 10.003 -0.0511327 0.00319579 0.015979 0.14 -0.02 pose: 0.39928873 -2.62035 -3.90271 0 -0.000375272-0.00138533 0.999956 0.00926796 uwb: 0.0 1246.85 1274.14 -imu_odom_: 1691062883.990158583 -0.0047884 -0.213084 9.58638 -0.0585895 -0.052198 0.0191748 0.14 -0.02 pose: 0.0 -2.62035 -3.90271 0 -0.000375272-0.00138533 0.999956 0.00926796 uwb: 0.49933329 1247.89 1273.86 -imu_odom_: 1691062884.16314594 0.466869 -0.153229 9.30387 -0.0575243 -0.0479369 0.00852212 0.14 0 pose: 0.49038548 -2.62504 -3.91154 0 -0.00057578 -0.00102939 0.99995 0.00994842 uwb: 0.0 1247.89 1273.86 -imu_odom_: 1691062884.33301726 0.304064 -0.0814029 9.78271 -0.0511327 0.0138484 0.0149137 0.14 0 pose: 0.0 -2.62504 -3.91154 0 -0.00057578 -0.00102939 0.99995 0.00994842 uwb: 0.0 1247.89 1273.86 -imu_odom_: 1691062884.59362660 0.0335188 -0.248997 9.90002 -0.0490022 0.0234358 0.0149137 0.15 -0.02 pose: 0.42134619 -2.6339 -3.90691 0 -0.00252747 -0.0004856850.999942 0.0104475 uwb: 0.50019367 1249.07 1273.24 -imu_odom_: 1691062884.86303793 0.627281 -0.107739 10.1394 -0.0266316 -0.0575243 0.00426106 0.15 -0.02 pose: 0.0 -2.6339 -3.90691 0 -0.00252747 -0.0004856850.999942 0.0104475 uwb: 0.0 1249.07 1273.24 -imu_odom_: 1691062884.112225611 0.59855 -0.409408 10.1227 -0.0500674 -0.0575243 0.0276969 0.15 -0.02 pose: 0.41980045 -2.64276 -3.90226 0 -0.00269771 0.0016967 0.999934 0.0110181 uwb: 0.49900956 1250.43 1272.82 -imu_odom_: 1691062884.138368498 0.129287 0.0837971 9.98622 -0.0340885 -0.0181095 0.00958738 0.21 -0.02 pose: 0.53929221 -2.64742 -3.9111 0 -0.0005314740.0017616 0.999929 0.0117692 uwb: 0.50088779 1249.33 1274.97 -imu_odom_: 1691062884.161156832 0.591368 -0.361524 9.59357 -0.0596548 -0.052198 0.0436758 0.21 -0.02 pose: 0.0 -2.64742 -3.9111 0 -0.0005314740.0017616 0.999929 0.0117692 uwb: 0.0 1249.33 1274.97 -imu_odom_: 1691062884.186188827 -0.0909797 -0.0407014 10.2376 -0.0266316 0.0191748 0.0245011 0.16 -0.02 pose: 0.65880730 -2.65626 -3.90643 0 0.0015422 0.000988777 0.999924 0.0122163 uwb: 0.0 1249.33 1274.97 -imu_odom_: 1691062884.203167209 0.507571 0.0335188 9.59596 -0.0660464 -0.0585895 0.0575243 0.16 -0.02 pose: 0.8155107 -2.65626 -3.90643 0 0.000667693 0.00134582 0.999923 0.0122786 uwb: 0.50060198 1250.24 1275 -imu_odom_: 1691062884.227294798 0.328006 -0.203507 9.7444 -0.0532632 -0.0170442 0.0213053 0.16 0 pose: 0.0 -2.65626 -3.90643 0 0.000667693 0.00134582 0.999923 0.0122786 uwb: 0.0 1250.24 1275 -imu_odom_: 1691062884.253140786 0.227449 -0.28491 10.0317 -0.0703074 0.04048 0.0543285 0.16 0 pose: 0.41945047 -2.6651 -3.90175 0 -0.0004002590.00298143 0.999919 0.0123289 uwb: 0.49868292 1249.82 1275.99 -imu_odom_: 1691062884.277152882 0.742203 -0.342371 9.44273 -0.0617853 0.0287621 0.0223706 0.17 0 pose: 0.41883800 -2.67618 -3.9072 0 -0.00426319 0.000343157 0.999915 0.0122948 uwb: 0.0 1249.82 1275.99 -imu_odom_: 1691062884.295291738 0.0814029 -0.007182619.73482 -0.0500674 -0.0149137 0.0479369 0.17 0 pose: 0.7154749 -2.67862 -3.90591 0 -0.00370211 9.60582e-05 0.999917 0.012357 uwb: 0.50103070 1249.86 1276.52 -imu_odom_: 1691062884.320169742 0.471658 -0.234632 9.47864 -0.0649811 -0.0127832 0.0308927 0.17 0 pose: 0.34996203 -2.6835 -3.90332 0 -0.00369532 0.000702038 0.999916 0.0124244 uwb: 0.0 1249.86 1276.52 -imu_odom_: 1691062884.346153972 0.349553 -0.1652 9.80426 -0.0500674 -0.0276969 0.0436758 0.17 0 pose: 0.0 -2.6835 -3.90332 0 -0.00369532 0.000702038 0.999916 0.0124244 uwb: 0.49956662 1249.06 1278.07 -imu_odom_: 1691062884.369222873 0.124498 -0.172383 9.991 -0.0500674 0.0213053 0.0330232 0.19 0 pose: 0.50862234 -2.68745 -3.90123 0 -0.00220494 0.00227814 0.999917 0.0124768 uwb: 0.0 1249.06 1278.07 -imu_odom_: 1691062884.385160941 0.744597 -0.0646434 9.82341 -0.0468716 0.0117179 0.0234358 0.19 0 pose: 0.0 -2.68745 -3.90123 0 -0.00220494 0.00227814 0.999917 0.0124768 uwb: 0.0 1249.06 1278.07 -imu_odom_: 1691062884.410143938 0.23942 -0.354342 9.39724 -0.0798948 0.00319579 0.0553937 0.24 0 pose: 0.39006969 -2.70097 -3.90538 0 -0.00337865 0.00277499 0.99991 0.0126804 uwb: 0.50069822 1248.2 1279.56 -imu_odom_: 1691062884.433136719 0.112527 -0.0550666 9.46907 -0.0383495 0.0117179 0.0372843 0.24 0 pose: 0.7013590 -2.70097 -3.90538 0 -0.00374069 0.00207275 0.999911 0.0126276 uwb: 0.0 1248.2 1279.56 -imu_odom_: 1691062884.458275457 0.153229 -0.268151 9.72525 -0.0553937 0.0106526 0.0543285 0.18 0 pose: 0.25111031 -2.70097 -3.90538 0 -0.00528666 0.000776506 0.999908 0.0124989 uwb: 0.50033657 1247.85 1280.65 -imu_odom_: 1691062884.474157820 0.0814029 -0.289698 9.79707 -0.0308927 -0.0426106 0.015979 0.18 0 pose: 0.0 -2.70097 -3.90538 0 -0.00528666 0.000776506 0.999908 0.0124989 uwb: 0.0 1247.85 1280.65 -imu_odom_: 1691062884.491144951 0.447716 -0.23942 9.89284 -0.0671117 -0.00426106 0.0553937 0.18 -0.02 pose: 0.23915560 -2.70981 -3.9007 0 -0.0073772 0.00142789 0.999894 0.012458 uwb: 0.49944121 1248.7 1280.62 -imu_odom_: 1691062884.516137281 0.68953 0.0622492 10.3597 -0.0372843 -0.036219 0.0266316 0.18 -0.02 pose: 0.0 -2.70981 -3.9007 0 -0.0073772 0.00142789 0.999894 0.012458 uwb: 0.0 1248.7 1280.62 -imu_odom_: 1691062884.541145069 0.505177 -0.071826 10.1035 -0.0703074 -0.0181095 0.0426106 0.18 -0.02 pose: 0.40972687 -2.71449 -3.90953 0 -0.00919834 -0.0002359960.99988 0.0124744 uwb: 0.50003909 1248.2 1281.54 -imu_odom_: 1691062884.565129458 0.509965 -0.0670376 9.52174 -0.0266316 -0.0415453 0.02024 0.18 -0.02 pose: 0.0 -2.71449 -3.90953 0 -0.00919834 -0.0002359960.99988 0.0124744 uwb: 0.0 1248.2 1281.54 -imu_odom_: 1691062884.591280512 0.332794 -0.213084 9.60554 -0.0681769 0.00319579 0.0511327 0.21 0 pose: 0.41029268 -2.72333 -3.90485 0 -0.00510105 0.00143163 0.999907 0.0125442 uwb: 0.49752799 1248.62 1282.01 -imu_odom_: 1691062884.617146041 0.071826 -0.0550666 9.64384 -0.0383495 0.0287621 0.0458064 0.2 0 pose: 0.49966286 -2.73216 -3.90016 0 -0.00142589 0.00305545 0.999914 0.0126909 uwb: 0.0 1248.62 1282.01 -imu_odom_: 1691062884.643267055 0.0622492 -0.40462 9.85932 -0.0511327 -0.02024 0.056459 0.2 0 pose: 0.0 -2.73216 -3.90016 0 -0.00142589 0.00305545 0.999914 0.0126909 uwb: 0.50107445 1248.48 1282.35 -imu_odom_: 1691062884.659304284 0.792481 -0.19393 10.082 -0.0340885 -0.0490022 0.0255663 0.18 0 pose: 0.70097692 -2.74568 -3.90431 0 -0.00699029 0.00105293 0.999899 0.0123069 uwb: 0.0 1248.48 1282.35 -imu_odom_: 1691062884.676173589 0.52433 -0.162806 9.80904 -0.0490022 0.0223706 0.00745685 0.18 0 pose: 0.8002282 -2.74568 -3.90431 0 -0.00600987 0.00112782 0.999905 0.012363 uwb: 0.0 1248.48 1282.35 -imu_odom_: 1691062884.692174070 0.00718261 -0.158017 9.51216 -0.0511327 0.0181095 -0.0532632 0.18 0 pose: 0.0 -2.74568 -3.90431 0 -0.00600987 0.00112782 0.999905 0.012363 uwb: 0.49986118 1250.66 1281.34 -imu_odom_: 1691062884.709165285 0.469264 0.153229 9.991 -0.052198 -0.0660464 -0.0841559 0.18 -0.14 pose: 0.32843246 -2.75452 -3.89963 0 -0.0044534 0.0015633 0.999904 0.0130566 uwb: 0.0 1250.66 1281.34 -imu_odom_: 1691062884.725155266 0.299275 -0.380678 9.87129 -0.0735032 -0.0298274 -0.109722 0.18 -0.14 pose: 0.0 -2.75452 -3.89963 0 -0.0044534 0.0015633 0.999904 0.0130566 uwb: 0.0 1250.66 1281.34 -imu_odom_: 1691062884.742239517 0.174777 -0.186748 9.83059 -0.0447411 -0.0340885 -0.167247 0.24 -0.35 pose: 0.0 -2.75452 -3.89963 0 -0.0044534 0.0015633 0.999904 0.0130566 uwb: 0.50137485 1252.58 1280.53 -imu_odom_: 1691062884.758181377 0.385466 -0.047884 10.0772 -0.0585895 -0.0287621 -0.210922 0.24 -0.35 pose: 0.49044965 -2.768 -3.9039 0 -0.00470497 0.00149562 0.999852 0.0165037 uwb: 0.0 1252.58 1280.53 -imu_odom_: 1691062884.775109303 0.823605 0.294487 9.98861 -0.0735032 -0.0245011 -0.276969 0.24 -0.35 pose: 0.0 -2.768 -3.9039 0 -0.00470497 0.00149562 0.999852 0.0165037 uwb: 0.0 1252.58 1280.53 -imu_odom_: 1691062884.791108618 0.596156 -0.0861913 9.14824 -0.056459 -0.00639159 -0.337689 0.18 -0.41 pose: 0.32961656 -2.768 -3.9039 0 -0.00369777 0.00327058 0.999774 0.0206843 uwb: 0.49986993 1254.78 1279.52 -imu_odom_: 1691062884.807158971 0.122104 0.0383072 9.80665 -0.0585895 -0.00958738 -0.388822 0.18 -0.41 pose: 0.0 -2.768 -3.9039 0 -0.00369777 0.00327058 0.999774 0.0206843 uwb: 0.0 1254.78 1279.52 -imu_odom_: 1691062884.824102355 0.723049 -0.0071826110.0293 -0.0852212 -0.00745685 -0.423975 0.18 -0.41 pose: 0.0 -2.768 -3.9039 0 -0.00369777 0.00327058 0.999774 0.0206843 uwb: 0.0 1254.78 1279.52 -imu_odom_: 1691062884.841126526 0.318429 -0.308852 9.45949 -0.0713727 -0.0447411 -0.454868 0.24 -0.61 pose: 0.16054145 -2.768 -3.9039 0 -0.00223735 0.00391633 0.999715 0.0234314 uwb: 0.49999826 1255.37 1280.16 -imu_odom_: 1691062884.857168421 0.519542 0.059855 9.84735 -0.0788296 -0.0415453 -0.465521 0.18 -0.5 pose: 0.0 -2.768 -3.9039 0 -0.00223735 0.00391633 0.999715 0.0234314 uwb: 0.0 1255.37 1280.16 -imu_odom_: 1691062884.874223799 0.641646 -0.205901 9.69891 -0.056459 -0.00745685 -0.458064 0.18 -0.5 pose: 0.65955101 -2.78583 -3.89485 0 -0.0007225010.00390248 0.999253 0.0384465 uwb: 0.0 1255.37 1280.16 -imu_odom_: 1691062884.890091288 0.562637 -0.407014 9.79947 -0.0681769 -0.0127832 -0.491087 0.18 -0.55 pose: 0.0 -2.78583 -3.89485 0 -0.0007225010.00390248 0.999253 0.0384465 uwb: 0.49914956 1255.52 1280.82 -imu_odom_: 1691062884.906086519 0.699107 -0.143652 9.71567 -0.0607201 -0.00852212 -0.526241 0.18 -0.55 pose: 0.0 -2.78583 -3.89485 0 -0.0007225010.00390248 0.999253 0.0384465 uwb: 0.0 1255.52 1280.82 -imu_odom_: 1691062884.923239016 0.56982 0.0766145 9.14106 -0.0639159 -0.0245011 -0.511327 0.18 -0.55 pose: 0.34044259 -2.79036 -3.90377 0 0.00192446 0.00313902 0.998885 0.0470629 uwb: 0.0 1255.52 1280.82 -imu_odom_: 1691062884.940130486 0.799663 -0.189142 9.8258 -0.0596548 -0.0735032 -0.48363 0.22 -0.7 pose: 0.41066307 -2.79922 -3.89916 0 0.00477227 0.00388972 0.998274 0.0583965 uwb: 0.49944413 1256.23 1281.6 -imu_odom_: 1691062884.956289333 1.2378 -0.411803 9.21528 -0.0873517 -0.0181095 -0.46339 0.22 -0.7 pose: 0.7066961 -2.79924 -3.89918 0 0.00569617 0.00370376 0.998161 0.0602393 uwb: 0.0 1256.23 1281.6 -imu_odom_: 1691062884.973290755 1.25696 -0.409408 10.3453 -0.0543285 -0.0287621 -0.448476 0.22 -0.7 pose: 0.0 -2.79924 -3.89918 0 0.00569617 0.00370376 0.998161 0.0602393 uwb: 0.0 1256.23 1281.6 -imu_odom_: 1691062884.989108955 1.28808 -0.110133 9.87369 -0.0553937 -0.0276969 -0.407996 0.12 -0.41 pose: 0.33997887 -2.79924 -3.89918 0 0.00935914 0.00222654 0.997585 0.0687939 uwb: 0.49984951 1256.88 1281.81 -imu_odom_: 1691062885.6230829 1.30723 -0.11971 9.64384 -0.0735032 0.0660464 -0.331297 0.17 -0.53 pose: 0.0 -2.79924 -3.89918 0 0.00935914 0.00222654 0.997585 0.0687939 uwb: 0.0 1256.88 1281.81 -imu_odom_: 1691062885.23234002 0.512359 -0.411803 10.1418 -0.0458064 0.0191748 -0.28336 0.17 -0.53 pose: 0.0 -2.79924 -3.89918 0 0.00935914 0.00222654 0.997585 0.0687939 uwb: 0.0 1256.88 1281.81 -imu_odom_: 1691062885.40114098 0.648829 -0.222661 9.89045 -0.0372843 0.00319579 -0.290817 0.15 -0.44 pose: 0.32872994 -2.80815 -3.89463 0 0.0125606 0.00185852 0.997028 0.075992 uwb: 0.50136027 1256.05 1283.39 -imu_odom_: 1691062885.56368898 1.00796 -0.134075 9.75398 -0.0543285 -0.0447411 -0.258859 0.15 -0.44 pose: 0.0 -2.80815 -3.89463 0 0.0125606 0.00185852 0.997028 0.075992 uwb: 0.0 1256.05 1283.39 -imu_odom_: 1691062885.73364196 0.866701 -0.354342 9.84256 -0.0660464 0.02024 -0.214118 0.15 -0.44 pose: 0.33087941 -2.80815 -3.89463 0 0.0121244 -5.12629e-050.996597 0.0815318 uwb: 0.0 1256.05 1283.39 -imu_odom_: 1691062885.90131132 0.964863 -0.414197 9.79707 -0.052198 -0.00745685 -0.227967 0.08 -0.26 pose: 0.43099397 -2.8216 -3.89892 0 0.0153022 -0.00189766 0.996028 0.08769 uwb: 0.49886667 1254.65 1285.31 -imu_odom_: 1691062885.106154362 0.737414 -0.167594 9.81623 -0.0649811 -0.0117179 -0.210922 0.08 -0.26 pose: 0.7953576 -2.82162 -3.89894 0 0.0159216 -0.00238924 0.995925 0.0887417 uwb: 0.0 1254.65 1285.31 -imu_odom_: 1691062885.123228989 0.593762 -0.131681 9.81623 -0.0575243 0.0245011 -0.184291 0.08 -0.26 pose: 0.0 -2.82162 -3.89894 0 0.0159216 -0.00238924 0.995925 0.0887417 uwb: 0.0 1254.65 1285.31 -imu_odom_: 1691062885.140367195 0.641646 -0.0933739 10.058 -0.0553937 -0.00532632 -0.178964 0.06 -0.2 pose: 0.41911217 -2.8216 -3.89892 0 0.0153391 -0.0003949990.995468 0.0938533 uwb: 0.50103071 1256.92 1283.84 -imu_odom_: 1691062885.157358702 0.567426 -0.222661 9.84496 -0.056459 -0.0170442 -0.177899 0.09 -0.26 pose: 0.0 -2.8216 -3.89892 0 0.0153391 -0.0003949990.995468 0.0938533 uwb: 0.0 1256.92 1283.84 -imu_odom_: 1691062885.173227649 0.725443 -0.244209 9.87608 -0.0500674 -0.00319579 -0.165116 0.09 -0.26 pose: 0.0 -2.8216 -3.89892 0 0.0153391 -0.0003949990.995468 0.0938533 uwb: 0.0 1256.92 1283.84 -imu_odom_: 1691062885.190339315 0.696713 -0.251391 9.86411 -0.0575243 0 -0.152333 0.07 -0.2 pose: 0.24087925 -2.82162 -3.89894 0 0.0139414 0.000901977 0.995236 0.0964917 uwb: 0.49888125 1255.82 1285.62 -imu_odom_: 1691062885.208084444 0.605733 -0.222661 9.90242 -0.0596548 -0.00213053 -0.142745 0.07 -0.2 pose: 0.0 -2.82162 -3.89894 0 0.0139414 0.000901977 0.995236 0.0964917 uwb: 0.0 1255.82 1285.62 -imu_odom_: 1691062885.221089392 0.651223 -0.129287 9.92397 -0.052198 -0.00639159 -0.133158 0.07 -0.2 pose: 0.33983013 -2.82162 -3.89894 0 0.0142827 -0.00136234 0.994891 0.0999333 uwb: 0.0 1255.82 1285.62 -imu_odom_: 1691062885.237081707 0.715866 -0.263362 9.84017 -0.056459 -0.00213053 -0.126766 0.04 -0.08 pose: 0.39789465 -2.82576 -3.8968 0 0.0128134 -0.00059315 0.994544 0.10353 uwb: 0.0 1255.82 1285.62 -imu_odom_: 1691062885.254115795 0.445322 -0.251391 9.73482 -0.0500674 0.0191748 -0.111853 0.04 -0.08 pose: 0.0 -2.82576 -3.8968 0 0.0128134 -0.00059315 0.994544 0.10353 uwb: 0.49961037 1256.07 1286.41 -imu_odom_: 1691062885.270117734 0.514753 -0.234632 10.082 -0.0511327 0.00958738 -0.0852212 0.04 -0.08 pose: 0.0 -2.82576 -3.8968 0 0.0128134 -0.00059315 0.994544 0.10353 uwb: 0.0 1256.07 1286.41 -imu_odom_: 1691062885.287331478 0.390255 -0.306458 9.77792 -0.0532632 -0.00958738 -0.056459 0.05 -0.11 pose: 0.7999658 -2.8305 -3.89434 0 0.0133119 -0.00120748 0.994468 0.104184 uwb: 0.50307517 1255.73 1287.53 -imu_odom_: 1691062885.303203633 0.608127 -0.248997 9.91918 -0.0479369 -0.00958738 -0.0394148 0.03 -0.05 pose: 0.0 -2.8305 -3.89434 0 0.0133119 -0.00120748 0.994468 0.104184 uwb: 0.0 1255.73 1287.53 -imu_odom_: 1691062885.320084605 0.73502 -0.167594 9.87608 -0.0511327 -0.00745685 -0.0330232 0.03 -0.05 pose: 0.66204171 -2.8305 -3.89434 0 0.00933753 -0.00240993 0.994079 0.108235 uwb: 0.0 1255.73 1287.53 -imu_odom_: 1691062885.337083986 0.667982 -0.136469 9.90002 -0.052198 0.00319579 -0.0266316 0.03 -0.05 pose: 0.0 -2.8305 -3.89434 0 0.00933753 -0.00240993 0.994079 0.108235 uwb: 0.49574019 1257.81 1286.33 -imu_odom_: 1691062885.354189819 0.612916 -0.198719 9.89045 -0.0532632 0 -0.00958738 0.03 -0.05 pose: 0.0 -2.8305 -3.89434 0 0.00933753 -0.00240993 0.994079 0.108235 uwb: 0.0 1257.81 1286.33 -imu_odom_: 1691062885.370185342 0.536301 -0.260968 9.81623 -0.056459 0.00532632 0.00319579 0.03 -0.05 pose: 0.33033402 -2.8305 -3.89434 0 0.0119816 -0.00122298 0.99392 0.109442 uwb: 0.0 1257.81 1286.33 -imu_odom_: 1691062885.386208280 0.557849 -0.263362 9.94073 -0.0500674 -0.00213053 0 0.03 -0.05 pose: 0.41858719 -2.8305 -3.89434 0 0.00920881 -0.00124525 0.993839 0.11044 uwb: 0.0 1257.81 1286.33 -imu_odom_: 1691062885.402083644 0.61531 -0.112527 9.82102 -0.0543285 -0.00745685 0.00426106 0.03 -0.05 pose: 0.6886723 -2.8305 -3.89434 0 0.00877577 -0.00176506 0.993828 0.11057 uwb: 0.50028408 1257.95 1287 -imu_odom_: 1691062885.419066693 0.617704 -0.155623 9.84735 -0.0543285 0.00106526 0.0149137 0.03 -0.05 pose: 0.0 -2.8305 -3.89434 0 0.00877577 -0.00176506 0.993828 0.11057 uwb: 0.0 1257.95 1287 -imu_odom_: 1691062885.435122296 0.627281 -0.280122 9.93354 -0.0543285 -0.00426106 0.0234358 0.01 -0.02 pose: 0.41994628 -2.8305 -3.89434 0 0.00998829 0.000295231 0.993742 0.111253 uwb: 0.0 1257.95 1287 -imu_odom_: 1691062885.452126343 0.56982 -0.248997 9.89045 -0.052198 -0.00106526 0.036219 0.01 0 pose: 0.0 -2.8305 -3.89434 0 0.00998829 0.000295231 0.993742 0.111253 uwb: 0.49954913 1258.82 1286.95 -imu_odom_: 1691062885.468119533 0.632069 -0.217872 9.90002 -0.0532632 -0.0106526 0.0479369 0.01 0 pose: 0.0 -2.8305 -3.89434 0 0.00998829 0.000295231 0.993742 0.111253 uwb: 0.0 1258.82 1286.95 -imu_odom_: 1691062885.485135247 0.636858 -0.169988 9.88326 -0.0543285 -0.00426106 0.0447411 0 0.02 pose: 0.24026970 -2.8305 -3.89434 0 0.00964404 -0.00171375 0.99373 0.111374 uwb: 0.0 1258.82 1286.95 -imu_odom_: 1691062885.509062764 0.584185 -0.205901 9.85453 -0.0585895 -0.00106526 0.0447411 0 0.02 pose: 0.0 -2.8305 -3.89434 0 0.00964404 -0.00171375 0.99373 0.111374 uwb: 0.50040657 1259.51 1286.7 -imu_odom_: 1691062885.524116551 0.476446 -0.275333 9.90242 -0.0543285 0.0234358 0.04048 0 0.02 pose: 0.32036252 -2.8305 -3.89434 0 0.0108538 -0.00117933 0.993726 0.111311 uwb: 0.0 1259.51 1286.7 -imu_odom_: 1691062885.539054261 -0.521936 -0.179565 9.75877 -0.0490022 0.0798948 0.0681769 0 0 pose: 0.39994787 -2.8305 -3.89434 0 0.00833293 -0.0009250460.99376 0.111227 uwb: 0.50032200 1258.73 1287.85 -imu_odom_: 1691062885.556196259 -1.15879 -0.37589 10.0461 -0.0447411 0.0490022 0.0852212 0 0 pose: 0.0 -2.8305 -3.89434 0 0.00833293 -0.0009250460.99376 0.111227 uwb: 0.0 1258.73 1287.85 -imu_odom_: 1691062885.573259511 -1.04387 -0.1652 9.89524 -0.0426106 -0.04048 0.0628506 0.04 0 pose: 0.41071557 -2.8305 -3.89434 0 0.00315293 -0.0007984010.993858 0.110619 uwb: 0.0 1258.73 1287.85 -imu_odom_: 1691062885.590222728 -0.112527 0.00718261 9.97903 -0.0490022 -0.0809601 0.0692422 0.04 0 pose: 0.0 -2.8305 -3.89434 0 0.00315293 -0.0007984010.993858 0.110619 uwb: 0.49927790 1258.84 1288.48 -imu_odom_: 1691062885.608195927 0.447716 -0.141258 9.84975 -0.0639159 -0.0287621 0.0745685 0.04 0 pose: 0.0 -2.8305 -3.89434 0 0.00315293 -0.0007984010.993858 0.110619 uwb: 0.0 1258.84 1288.48 -imu_odom_: 1691062885.623071807 0.248997 -0.304064 9.88805 -0.0468716 0.0170442 0.0436758 0.06 0.02 pose: 0.8019489 -2.8305 -3.89434 0 0.0025096 -0.0006445250.99387 0.110526 uwb: 0.0 1258.84 1288.48 -imu_odom_: 1691062885.640231887 -0.0885855 -0.0502782 9.99579 -0.0511327 0.00852212 0.052198 0.07 0 pose: 0.0 -2.8305 -3.89434 0 0.0025096 -0.0006445250.99387 0.110526 uwb: 0.0 1258.84 1288.48 -imu_odom_: 1691062885.655214511 -0.1652 -0.248997 9.85932 -0.0553937 -0.00106526 0.0713727 0.07 0 pose: 0.0 -2.8305 -3.89434 0 0.0025096 -0.0006445250.99387 0.110526 uwb: 0.0 1258.84 1288.48 -imu_odom_: 1691062885.672143896 0.146046 -0.203507 10.0221 -0.0543285 -0.0426106 0.0703074 0.07 0 pose: 0.66141758 -2.83939 -3.88978 0 -0.0001593140.00147902 0.993954 0.109786 uwb: 0.0 1258.84 1288.48 -imu_odom_: 1691062885.688209707 0.177171 -0.179565 9.60075 -0.0468716 -0.0458064 0.0628506 0.1 0.02 pose: 0.0 -2.83939 -3.88978 0 -0.0001593140.00147902 0.993954 0.109786 uwb: 0.100108730 1257.86 1290.43 -imu_odom_: 1691062885.705111386 0.418985 -0.0694318 10.2161 -0.0426106 -0.00532632 0.0585895 0.1 0.02 pose: 0.31856888 -2.83939 -3.88978 0 -0.0032251 0.00185301 0.993992 0.109385 uwb: 0.0 1257.86 1290.43 -imu_odom_: 1691062885.721053829 0.275333 -0.174777 9.91678 -0.0500674 0.0117179 0.056459 0.1 0 pose: 0.42896992 -2.8443 -3.88722 0 -0.00387596 0.00324456 0.994042 0.108885 uwb: 0.0 1257.86 1290.43 -imu_odom_: 1691062885.738203409 0.126893 -0.25618 9.85214 -0.0500674 0.0106526 0.0415453 0.1 0 pose: 0.0 -2.8443 -3.88722 0 -0.00387596 0.00324456 0.994042 0.108885 uwb: 0.50025492 1256.86 1291.87 -imu_odom_: 1691062885.754184933 0.071826 -0.0311246 9.8689 -0.0543285 -0.02024 0.0553937 0.1 0 pose: 0.0 -2.8443 -3.88722 0 -0.00387596 0.00324456 0.994042 0.108885 uwb: 0.0 1256.86 1291.87 -imu_odom_: 1691062885.771047822 0.277727 -0.320823 9.84017 -0.0585895 -0.0351537 0.0660464 0.15 0 pose: 0.7956201 -2.84826 -3.88515 0 -0.00471436 0.00310479 0.994045 0.108821 uwb: 0.0 1256.86 1291.87 -imu_odom_: 1691062885.787185671 0.830788 -0.177171 10.0844 -0.0490022 -0.0756338 0.0372843 0.11 0 pose: 0.0 -2.84826 -3.88515 0 -0.00471436 0.00310479 0.994045 0.108821 uwb: 0.0 1256.86 1291.87 -imu_odom_: 1691062885.803084658 1.02711 0.0933739 9.60075 -0.0436758 -0.0596548 0.0458064 0.11 0 pose: 0.66115510 -2.85288 -3.89402 0 -0.00664166 0.00172988 0.994082 0.108417 uwb: 0.50010035 1256.45 1292.95 -imu_odom_: 1691062885.820030667 1.06542 -0.268151 9.73961 -0.0671117 0.0500674 0.092678 0.08 0 pose: 0.0 -2.85288 -3.89402 0 -0.00664166 0.00172988 0.994082 0.108417 uwb: 0.0 1256.45 1292.95 -imu_odom_: 1691062885.836084812 1.24498 -0.45011 10.4603 -0.0639159 -0.0319579 0.12144 0.08 0 pose: 0.0 -2.85288 -3.89402 0 -0.00664166 0.00172988 0.994082 0.108417 uwb: 0.0 1256.45 1292.95 -imu_odom_: 1691062885.852039212 1.49877 -0.320823 9.5792 -0.0585895 -0.0372843 0.0948085 0.08 0 pose: 0.31916967 -2.86175 -3.88941 0 -0.00301329 0.00192393 0.994127 0.108161 uwb: 0.49886666 1255.22 1294.11 -imu_odom_: 1691062885.868035610 1.25217 0.0430956 9.71088 -0.0415453 0.0223706 0.0596548 0.08 0 pose: 0.40939148 -2.86175 -3.88941 0 0.0011287 0.000588738 0.994276 0.106831 uwb: 0.0 1255.22 1294.11 -imu_odom_: 1691062885.885095946 0.826 0.0215478 10.0245 -0.0628506 0.0213053 0.052198 0.08 0 pose: 0.7003674 -2.86175 -3.88941 0 0.00173128 0.000771994 0.994283 0.10676 uwb: 0.0 1255.22 1294.11 -imu_odom_: 1691062885.901247210 0.40462 -0.282516 9.89763 -0.0553937 0.00639159 0.00213053 0.08 0 pose: 0.0 -2.86175 -3.88941 0 0.00173128 0.000771994 0.994283 0.10676 uwb: 0.50347473 1256.69 1293.21 -imu_odom_: 1691062885.918314546 0.617704 -0.0957681 10.0054 -0.0532632 -0.0436758 -0.0298274 0.05 0 pose: 0.42204324 -2.86175 -3.88941 0 0.00274637 0.000396398 0.99427 0.10686 uwb: 0.0 1256.69 1293.21 -imu_odom_: 1691062885.935321218 0.790087 -0.124498 9.76116 -0.0639159 -0.0181095 0.00319579 0.06 0.02 pose: 0.0 -2.86175 -3.88941 0 0.00274637 0.000396398 0.99427 0.10686 uwb: 0.0 1256.69 1293.21 -imu_odom_: 1691062885.951174125 0.842759 -0.35913 9.87608 -0.0617853 0 0.0287621 0.06 0.02 pose: 0.0 -2.86175 -3.88941 0 0.00274637 0.000396398 0.99427 0.10686 uwb: 0.49931289 1256.21 1294.22 -imu_odom_: 1691062885.967134942 0.56982 -0.306458 9.88326 -0.0511327 0.00639159 0.0170442 0.05 0.02 pose: 0.24081217 -2.86175 -3.88941 0 0.00534813 0.00117872 0.994182 0.107576 uwb: 0.0 1256.21 1294.22 -imu_odom_: 1691062885.984285689 0.428562 0.0047884 9.90721 -0.0447411 0.0234358 0.0287621 0.05 0.02 pose: 0.0 -2.86175 -3.88941 0 0.00534813 0.00117872 0.994182 0.107576 uwb: 0.0 1256.21 1294.22 -imu_odom_: 1691062886.11123287 0.426168 -0.383072 9.84256 -0.0575243 -0.00745685 0.0703074 0.04 0.02 pose: 0.32846163 -2.86175 -3.88941 0 0.00765701 -0.0004433340.994132 0.107906 uwb: 0.49936831 1254.68 1295.58 -imu_odom_: 1691062886.36020831 -0.677559 -0.105345 9.54568 -0.0426106 0.0841559 0.0511327 0.04 0.02 pose: 0.34032886 -2.87062 -3.8848 0 0.00632218 -0.0002698640.994133 0.107978 uwb: 0.0 1254.68 1295.58 -imu_odom_: 1691062886.60286371 -1.05345 -0.304064 9.88326 -0.0585895 -0.0468716 0.0585895 0.07 0.02 pose: 0.43813355 -2.87062 -3.8848 0 0.00174092 -0.00101652 0.994199 0.107537 uwb: 0.49872668 1254.2 1296.06 -imu_odom_: 1691062886.75103339 -0.392649 -0.155623 9.81383 -0.0500674 -0.0820254 0.0383495 0.07 0.02 pose: 0.0 -2.87062 -3.8848 0 0.00174092 -0.00101652 0.994199 0.107537 uwb: 0.0 1254.2 1296.06 -imu_odom_: 1691062886.100328989 0.4956 -0.0670376 9.55526 -0.052198 -0.00958738 0.0394148 0.08 0.02 pose: 0.39082508 -2.87062 -3.8848 0 -0.00104664 -0.0006893460.994225 0.107313 uwb: 0.50042700 1255.81 1295.32 -imu_odom_: 1691062886.127134797 -0.0766145 -0.28491 9.86172 -0.0468716 0.0245011 0.0639159 0.08 0.02 pose: 0.0 -2.87062 -3.8848 0 -0.00104664 -0.0006893460.994225 0.107313 uwb: 0.0 1255.81 1295.32 -imu_odom_: 1691062886.153125153 0.213084 -0.0646434 9.58399 -0.052198 -0.0191748 0.0319579 0.11 0.02 pose: 0.52031458 -2.87694 -3.88153 0 -0.00238048 0.00118815 0.994256 0.106992 uwb: 0.49804714 1254.78 1296.73 -imu_odom_: 1691062886.170038206 0.270545 -0.150835 9.60314 -0.0596548 -0.015979 0.0543285 0.11 0.02 pose: 0.0 -2.87694 -3.88153 0 -0.00238048 0.00118815 0.994256 0.106992 uwb: 0.0 1254.78 1296.73 -imu_odom_: 1691062886.186103142 0.244209 -0.0957681 10.0317 -0.0436758 0.0255663 0.0415453 0.11 0 pose: 0.42903409 -2.87951 -3.88021 0 -0.00539669 0.00366993 0.994241 0.106965 uwb: 0.0 1254.78 1296.73 -imu_odom_: 1691062886.213034943 0.378284 -0.155623 9.78271 -0.0490022 -0.04048 0.0596548 0.11 0 pose: 0.0 -2.87951 -3.88021 0 -0.00539669 0.00366993 0.994241 0.106965 uwb: 0.50002452 1255.24 1296.74 -imu_odom_: 1691062886.238117685 -0.0550666 0.0287304 9.6606 -0.0436758 0.00639159 0.0330232 0.13 0 pose: 0.42996737 -2.88575 -3.87698 0 -0.00343557 0.00428079 0.994279 0.106673 uwb: 0.50042409 1254.64 1297.63 -imu_odom_: 1691062886.255061945 -0.059855 -0.009576819.17219 -0.0553937 -0.0319579 0.0628506 0.13 0 pose: 0.0 -2.88575 -3.87698 0 -0.00343557 0.00428079 0.994279 0.106673 uwb: 0.0 1254.64 1297.63 -imu_odom_: 1691062886.280011403 0.778116 -0.342371 9.83299 -0.0617853 0.0170442 0.0479369 0.13 -0.02 pose: 0.42027002 -2.89298 -3.88451 0 -0.00704165 0.00636104 0.99426 0.106566 uwb: 0.0 1254.64 1297.63 -imu_odom_: 1691062886.305086271 -0.234632 -0.153229 9.93594 -0.0607201 -0.0340885 0.0490022 0.13 -0.02 pose: 0.0 -2.89298 -3.88451 0 -0.00704165 0.00636104 0.99426 0.106566 uwb: 0.49981453 1255.91 1297 -imu_odom_: 1691062886.319046080 0.184354 -0.110133 9.68455 -0.052198 -0.0223706 0.0607201 0.13 0.02 pose: 0.50024326 -2.89973 -3.88103 0 -0.00729713 0.00508392 0.994289 0.106352 uwb: 0.0 1255.91 1297 -imu_odom_: 1691062886.335042770 -0.00957681-0.158017 9.72046 -0.0681769 -0.00426106 0.0649811 0.13 0.02 pose: 0.0 -2.89973 -3.88103 0 -0.00729713 0.00508392 0.994289 0.106352 uwb: 0.0 1255.91 1297 -imu_odom_: 1691062886.360022852 0.23942 -0.0670376 10.1083 -0.0490022 -0.0149137 0.0287621 0.21 0 pose: 0.29956499 -2.90187 -3.87993 0 -0.0100502 0.00550561 0.994299 0.106012 uwb: 0.49999244 1255.9 1297.51 -imu_odom_: 1691062886.383066380 0.385466 -0.227449 10.0485 -0.0703074 -0.0106526 0.0596548 0.21 0 pose: 0.0 -2.90187 -3.87993 0 -0.0100502 0.00550561 0.994299 0.106012 uwb: 0.0 1255.9 1297.51 -imu_odom_: 1691062886.408304280 0.253785 -0.138864 9.55765 -0.0575243 -0.0553937 0.0394148 0.14 0 pose: 0.48023610 -2.91076 -3.87535 0 -0.00653909 0.00546108 0.994341 0.105895 uwb: 0.49991953 1255.53 1298.66 -imu_odom_: 1691062886.435284494 0.399832 -0.138864 10.2831 -0.0575243 -0.0308927 0.0543285 0.14 0 pose: 0.0 -2.91076 -3.87535 0 -0.00653909 0.00546108 0.994341 0.105895 uwb: 0.0 1255.53 1298.66 -imu_odom_: 1691062886.451232479 0.4956 -0.172383 10.2711 -0.0660464 -0.0276969 0.0575243 0.15 -0.05 pose: 0.52218114 -2.91715 -3.87207 0 -0.00490811 0.00378065 0.994377 0.105715 uwb: 0.50108613 1256.51 1298.22 -imu_odom_: 1691062886.478231067 0.260968 0.011971 10.1083 -0.0628506 0 0.052198 0.15 -0.05 pose: 0.0 -2.91715 -3.87207 0 -0.00490811 0.00378065 0.994377 0.105715 uwb: 0.0 1256.51 1298.22 -imu_odom_: 1691062886.503011369 0.114922 -0.311246 9.77313 -0.134223 -0.0649811 0.0905475 0.15 0 pose: 0.42946573 -2.9229 -3.87711 0 -0.00404379 0.00581103 0.994405 0.105393 uwb: 0.50002161 1256.94 1298.19 -imu_odom_: 1691062886.530005291 0.600945 -0.244209 10.149 -0.0585895 -0.1012 0.0266316 0.2 0 pose: 0.0 -2.9229 -3.87711 0 -0.00404379 0.00581103 0.994405 0.105393 uwb: 0.0 1256.94 1298.19 -imu_odom_: 1691062886.555135281 0.423774 -0.349553 9.85693 -0.0628506 -0.0234358 0.0692422 0.16 0.02 pose: 0.31791851 -2.93312 -3.87513 0 -0.0043274 0.00289969 0.994477 0.104828 uwb: 0.49970662 1256.3 1299.55 -imu_odom_: 1691062886.582017793 0.0766145 -0.105345 10.0509 -0.0479369 0.0213053 0.0394148 0.2 0 pose: 0.45112363 -2.93945 -3.87189 0 -0.000771121-0.00052905 0.994515 0.104591 uwb: 0.0 1256.3 1299.55 -imu_odom_: 1691062886.598008941 0.40462 -0.179565 10.0413 -0.0735032 -0.0127832 0.0756338 0.2 0 pose: 0.6894013 -2.94203 -3.87058 0 -0.00147006 -0.0001783630.994514 0.104591 uwb: 0.49906208 1258.83 1298.27 -imu_odom_: 1691062886.623999881 0.646434 -0.380678 9.80904 -0.04048 -0.00106526 0.0255663 0.21 0 pose: 0.0 -2.94203 -3.87058 0 -0.00147006 -0.0001783630.994514 0.104591 uwb: 0.0 1258.83 1298.27 -imu_odom_: 1691062886.639021003 0.318429 -0.146046 10.4411 -0.0468716 -0.00213053 0.0426106 0.21 0 pose: 0.43091232 -2.94203 -3.87058 0 -0.00134115 0.000670533 0.994539 0.104351 uwb: 0.50162860 1257.81 1299.21 -imu_odom_: 1691062886.665266844 0.35913 -0.28491 10.3118 -0.0372843 -0.00106526 0.0468716 0.21 0 pose: 0.0 -2.94203 -3.87058 0 -0.00134115 0.000670533 0.994539 0.104351 uwb: 0.0 1257.81 1299.21 -imu_odom_: 1691062886.691283156 0.263362 0.0143652 9.71328 -0.0756338 0.00106526 0.0596548 0.19 0 pose: 0.40959564 -2.95094 -3.86604 0 -0.0011884 0.000194937 0.994531 0.104436 uwb: 0.49886376 1260.36 1297.94 -imu_odom_: 1691062886.718251705 0.402226 -0.380678 9.57441 -0.0862864 -0.0266316 0.0500674 0.21 0.02 pose: 0.45203066 -2.95984 -3.86149 0 -0.00273419 0.000832083 0.994562 0.104103 uwb: 0.0 1260.36 1297.94 -imu_odom_: 1691062886.743124751 0.246603 -0.110133 9.71567 -0.0511327 -0.0191748 0.036219 0.21 0.02 pose: 0.0 -2.95984 -3.86149 0 -0.00273419 0.000832083 0.994562 0.104103 uwb: 0.50070698 1261.11 1297.75 -imu_odom_: 1691062886.760010681 0.378284 -0.459687 9.80665 -0.0607201 -0.0298274 0.0479369 0.2 0 pose: 0.6992300 -2.95984 -3.86149 0 -0.00254003 2.89414e-05 0.994567 0.104068 uwb: 0.0 1261.11 1297.75 -imu_odom_: 1691062886.785141254 0.258574 -0.263362 9.60793 -0.052198 -0.0511327 0.0575243 0.2 0 pose: 0.0 -2.95984 -3.86149 0 -0.00254003 2.89414e-05 0.994567 0.104068 uwb: 0.0 1261.11 1297.75 -imu_odom_: 1691062886.812016183 0.383072 -0.213084 9.85932 -0.0543285 -0.0436758 0.0436758 0.22 0.02 pose: 0.51804264 -2.97329 -3.86587 0 -0.00303521 -0.0008708240.994575 0.103975 uwb: 0.50044159 1259.56 1299.63 -imu_odom_: 1691062886.837987290 -0.0191536 -0.117316 10.2615 -0.0532632 -0.0372843 0.0575243 0.22 0.02 pose: 0.0 -2.97329 -3.86587 0 -0.00303521 -0.0008708240.994575 0.103975 uwb: 0.49859252 1260.82 1298.97 -imu_odom_: 1691062886.865010669 0.416591 -0.11971 9.86411 -0.0447411 -0.0436758 0.0490022 0.24 0 pose: 0.42076582 -2.98221 -3.86134 0 -0.00403249 -0.00152951 0.9946 0.103691 uwb: 0.0 1260.82 1298.97 -imu_odom_: 1691062886.890008541 0.670376 -0.244209 9.64145 -0.072438 -0.0266316 0.0639159 0.17 0.02 pose: 0.53007318 -2.98221 -3.86134 0 -0.00317829 0.000853594 0.994637 0.103378 uwb: 0.50083531 1259.89 1300.56 -imu_odom_: 1691062886.916983506 0.21069 -0.222661 10.3238 -0.0383495 0.0266316 0.0415453 0.17 0.02 pose: 0.0 -2.98221 -3.86134 0 -0.00317829 0.000853594 0.994637 0.103378 uwb: 0.0 1259.89 1300.56 -imu_odom_: 1691062886.942112329 0.304064 -0.320823 9.91918 -0.0713727 0.00106526 0.0617853 0.2 0 pose: 0.71819886 -3.00074 -3.85984 0 -0.00174802 0.00128984 0.994684 0.102949 uwb: 0.49998369 1259.21 1301.36 -imu_odom_: 1691062886.959091295 0.40462 -0.0981623 9.71328 -0.0649811 -0.00213053 0.0372843 0.2 0 pose: 0.8002282 -3.0046 -3.86106 0 -0.0021994 0.000548162 0.994693 0.102863 uwb: 0.0 1259.21 1301.36 -imu_odom_: 1691062886.985097983 0.454898 -0.268151 10.1706 -0.0671117 0.0181095 0.0585895 0.18 0 pose: 0.0 -3.0046 -3.86106 0 -0.0021994 0.000548162 0.994693 0.102863 uwb: 0.0 1259.21 1301.36 -imu_odom_: 1691062887.2121280 0.553061 -0.167594 10.1059 -0.0745685 -0.0458064 0.0458064 0.18 0 pose: 0.34105507 -3.00958 -3.85847 0 -0.00237599 0.000372456 0.99471 0.102692 uwb: 0.49919041 1259.52 1301.72 -imu_odom_: 1691062887.26998409 0.493206 -0.318429 10.0126 -0.0735032 -0.0532632 0.0585895 0.18 0 pose: 0.0 -3.00958 -3.85847 0 -0.00237599 0.000372456 0.99471 0.102692 uwb: 0.0 1259.52 1301.72 -imu_odom_: 1691062887.54101409 0.385466 -0.282516 9.77792 -0.0415453 -0.0117179 0.0298274 0.18 0 pose: 0.51062890 -3.01348 -3.85646 0 0.00196753 -0.00169572 0.994748 0.10232 uwb: 0.49942956 1260.09 1302.38 -imu_odom_: 1691062887.79124655 0.35913 -0.0263362 10.0221 -0.0553937 -0.00213053 0.0415453 0.18 0 pose: 0.43947224 -3.02236 -3.85186 0 0.000571846 -0.0032145 0.99475 0.102281 uwb: 0.0 1260.09 1302.38 -imu_odom_: 1691062887.105977419 0.845153 -0.232238 9.39485 -0.0394148 0.0330232 0.0372843 0.23 0 pose: 0.25023246 -3.02863 -3.84862 0 0.000197747 -0.00073364 0.994758 0.102257 uwb: 0.50099281 1258.15 1304.4 -imu_odom_: 1691062887.132159097 0.232238 -0.304064 9.74201 -0.0500674 0.0319579 0.0543285 0.23 0 pose: 0.0 -3.02863 -3.84862 0 0.000197747 -0.00073364 0.994758 0.102257 uwb: 0.0 1258.15 1304.4 -imu_odom_: 1691062887.148002088 0.6608 -0.186748 9.8258 -0.0394148 0.0170442 0.036219 0.25 -0.02 pose: 0.7071920 -3.03124 -3.84727 0 0.000775551 -0.0007435340.994757 0.102266 uwb: 0.49877919 1258.47 1304.78 -imu_odom_: 1691062887.174024818 0.773327 -0.430956 9.79707 -0.0436758 0.0245011 0.0543285 0.25 -0.02 pose: 0.0 -3.03124 -3.84727 0 0.000775551 -0.0007435340.994757 0.102266 uwb: 0.0 1258.47 1304.78 -imu_odom_: 1691062887.201021657 0.126893 -0.0814029 10.1801 -0.0458064 -0.00426106 0.0394148 0.23 0 pose: 0.52788290 -3.04472 -3.85156 0 1.19633e-06 -0.00116483 0.994773 0.102107 uwb: 0.49995745 1256.95 1306.22 -imu_odom_: 1691062887.225950992 0.392649 -0.354342 9.79228 -0.0681769 -0.00213053 0.0468716 0.23 0 pose: 0.0 -3.04472 -3.85156 0 1.19633e-06 -0.00116483 0.994773 0.102107 uwb: 0.0 1256.95 1306.22 -imu_odom_: 1691062887.243032910 0.153229 -0.160412 9.67018 -0.0511327 -0.0479369 0.0458064 0.23 0 pose: 0.42009795 -3.04472 -3.85156 0 0.00200199 -0.00189125 0.994787 0.101933 uwb: 0.0 1256.95 1306.22 -imu_odom_: 1691062887.269095304 0.73502 -0.232238 9.89045 -0.0671117 -0.0607201 0.0319579 0.23 0 pose: 0.0 -3.04472 -3.85156 0 0.00200199 -0.00189125 0.994787 0.101933 uwb: 0.0 1256.95 1306.22 -imu_odom_: 1691062887.296022147 0.790087 -0.385466 9.52413 -0.0585895 -0.0127832 0.0458064 0.25 0 pose: 0.52117788 -3.0536 -3.84697 0 -0.000767628-0.00289773 0.994799 0.101817 uwb: 0.100013364 1257.75 1306.09 -imu_odom_: 1691062887.322034960 0.155623 0.0909797 10.003 -0.0436758 -0.0234358 0.0426106 0.16 -0.02 pose: 0.42864329 -3.06249 -3.84239 0 0.0025708 -0.00296256 0.99479 0.101865 uwb: 0.0 1257.75 1306.09 -imu_odom_: 1691062887.349156626 0.416591 -0.158017 9.8258 -0.0660464 -0.0298274 0.0458064 0.25 -0.02 pose: 0.0 -3.06249 -3.84239 0 0.0025708 -0.00296256 0.99479 0.101865 uwb: 0.50180943 1257.16 1307.02 -imu_odom_: 1691062887.365094694 0.622492 -0.174777 10.0461 -0.0372843 -0.0191748 0.0372843 0.25 -0.02 pose: 0.53066232 -3.07142 -3.83789 0 0.00294478 -0.00107936 0.994805 0.101749 uwb: 0.0 1257.16 1307.02 -imu_odom_: 1691062887.392109324 1.01275 -0.282516 9.88805 -0.0511327 0.0330232 0.0447411 0.18 -0.02 pose: 0.0 -3.07142 -3.83789 0 0.00294478 -0.00107936 0.994805 0.101749 uwb: 0.49820463 1257.15 1308.1 -imu_odom_: 1691062887.416977996 0.557849 -0.105345 9.75877 -0.0543285 0.0447411 0.04048 0.2 -0.02 pose: 0.63066315 -3.08485 -3.84233 0 0.00615048 0.000161653 0.994803 0.101631 uwb: 0.0 1257.15 1308.1 -imu_odom_: 1691062887.443974835 0.37589 -0.533907 9.47864 -0.0660464 0.0319579 0.0596548 0.2 -0.02 pose: 0.0 -3.08485 -3.84233 0 0.00615048 0.000161653 0.994803 0.101631 uwb: 0.50047367 1254.68 1310.6 -imu_odom_: 1691062887.469968983 0.126893 -0.234632 10.0006 -0.0479369 -0.0106526 0.0308927 0.18 0 pose: 0.7890581 -3.08485 -3.84233 0 0.00632087 0.000886747 0.994802 0.101632 uwb: 0.0 1254.68 1310.6 -imu_odom_: 1691062887.497059150 0.514753 -0.387861 10.4627 -0.0436758 -0.0287621 0.0351537 0.18 0 pose: 0.0 -3.08485 -3.84233 0 0.00632087 0.000886747 0.994802 0.101632 uwb: 0.49932166 1254.54 1311.54 -imu_odom_: 1691062887.522108936 0.521936 -0.0981623 10.1658 -0.0553937 0.0106526 0.0458064 0.18 0 pose: 0.52117496 -3.09378 -3.83783 0 0.00417006 -5.80511e-060.994838 0.101386 uwb: 0.0 1254.54 1311.54 -imu_odom_: 1691062887.539031905 0.397437 -0.292093 9.35415 -0.076699 -0.0319579 0.0479369 0.18 0 pose: 0.0 -3.09378 -3.83783 0 0.00417006 -5.80511e-060.994838 0.101386 uwb: 0.49974455 1254.86 1312.49 -imu_odom_: 1691062887.555966832 1.0343 -0.225055 10.2017 -0.0426106 0.00213053 0.0287621 0.23 0.02 pose: 0.53202432 -3.10272 -3.83334 0 0.00365258 -0.00164652 0.994828 0.101494 uwb: 0.0 1254.86 1312.49 -imu_odom_: 1691062887.580998245 0.720655 -0.0766145 10.6207 -0.0490022 0.00213053 0.0543285 0.23 0.02 pose: 0.0 -3.10272 -3.83334 0 0.00365258 -0.00164652 0.994828 0.101494 uwb: 0.0 1254.86 1312.49 -imu_odom_: 1691062887.603942612 0.579397 -0.25618 10.1299 -0.0436758 -0.0447411 0.0575243 0.2 0 pose: 0.75678412 -3.12283 -3.83443 0 0.00681115 -4.28807e-050.994834 0.101291 uwb: 0.50152652 1254.28 1314.02 -imu_odom_: 1691062887.630068877 0.593762 -0.160412 10.1442 -0.0532632 -0.0234358 0.0383495 0.2 0 pose: 0.0 -3.12283 -3.83443 0 0.00681115 -4.28807e-050.994834 0.101291 uwb: 0.0 1254.28 1314.02 -imu_odom_: 1691062887.656992221 0.802058 -0.167594 10.0868 -0.0468716 -0.0213053 0.0585895 0.25 0 pose: 0.5984942 -3.12508 -3.8333 0 0.00724166 -0.0005352350.994836 0.101234 uwb: 0.49855754 1252.3 1316.06 -imu_odom_: 1691062887.673003785 0.452504 -0.344765 9.39485 -0.0639159 0.00426106 0.0553937 0.25 0 pose: 0.0 -3.12508 -3.8333 0 0.00724166 -0.0005352350.994836 0.101234 uwb: 0.0 1252.3 1316.06 -imu_odom_: 1691062887.700079369 0.581791 -0.251391 9.79228 -0.0596548 -0.0447411 0.0575243 0.18 0.02 pose: 0.50158777 -3.13402 -3.82882 0 0.0103401 0.000548951 0.994829 0.10104 uwb: 0.50142153 1253.38 1316.28 -imu_odom_: 1691062887.726085766 0.52433 -0.28491 10.0868 -0.0490022 0.00639159 0.0308927 0.18 -0.02 pose: 0.62937405 -3.14296 -3.82434 0 0.009866 -0.00256688 0.99489 0.10045 uwb: 0.0 1253.38 1316.28 -imu_odom_: 1691062887.753052857 0.483629 -0.191536 9.91678 -0.0703074 -0.0149137 0.0607201 0.18 -0.02 pose: 0.0 -3.14296 -3.82434 0 0.009866 -0.00256688 0.99489 0.10045 uwb: 0.49872961 1252.61 1317.02 -imu_odom_: 1691062887.779064212 0.428562 -0.124498 9.87608 -0.0468716 0.0255663 0.0415453 0.18 0.02 pose: 0.7891456 -3.14296 -3.82434 0 0.0090863 -0.0028127 0.994894 0.10048 uwb: 0.0 1252.61 1317.02 -imu_odom_: 1691062887.805942933 0.280122 -0.533907 9.66779 -0.0820254 -0.00958738 0.0649811 0.18 0.02 pose: 0.0 -3.14296 -3.82434 0 0.0090863 -0.0028127 0.994894 0.10048 uwb: 0.50056408 1251.74 1318.76 -imu_odom_: 1691062887.830978137 0.761356 -0.37589 10.0652 -0.0585895 0.0298274 0.0298274 0.18 0.02 pose: 0.52965905 -3.15637 -3.82881 0 0.00524306 -0.0007372950.994946 0.100274 uwb: 0.0 1251.74 1318.76 -imu_odom_: 1691062887.858084053 0.720655 -0.387861 10.2639 -0.0596548 0.00106526 0.0447411 0.21 0 pose: 0.53039984 -3.16531 -3.82433 0 0.00299344 -0.00207918 0.994985 0.0999575 uwb: 0.50111822 1252.31 1318.91 -imu_odom_: 1691062887.874063828 0.189142 -0.143652 9.27035 -0.0553937 0.0234358 0.0458064 0.21 0 pose: 0.0 -3.16531 -3.82433 0 0.00299344 -0.00207918 0.994985 0.0999575 uwb: 0.0 1252.31 1318.91 -imu_odom_: 1691062887.891140496 0.28491 -0.40462 9.59835 -0.0639159 -0.00852212 0.0490022 0.21 0 pose: 0.0 -3.16531 -3.82433 0 0.00299344 -0.00207918 0.994985 0.0999575 uwb: 0.49810839 1249.52 1322.26 -imu_odom_: 1691062887.916088497 0.354342 -0.268151 9.98382 -0.036219 -0.0308927 0.0426106 0.18 0 pose: 0.77163782 -3.17927 -3.81736 0 0.0032126 -0.0045063 0.994989 0.099832 uwb: 0.0 1249.52 1322.26 -imu_odom_: 1691062887.943093502 0.636858 -0.433351 9.87369 -0.0532632 -0.036219 0.0500674 0.21 0 pose: 0.7878623 -3.18319 -3.81536 0 0.00257991 -0.00418448 0.994994 0.0998173 uwb: 0.50291478 1247.83 1324.15 -imu_odom_: 1691062887.969257098 0.507571 -0.203507 10.1203 -0.0511327 0.00639159 0.0660464 0.18 0.02 pose: 0.44074383 -3.18644 -3.82173 0 0.00362459 -0.00533482 0.995002 0.099646 uwb: 0.0 1247.83 1324.15 -imu_odom_: 1691062887.995985328 0.241814 -0.035913 10.0078 -0.0436758 0.0138484 0.0383495 0.25 0 pose: 0.0 -3.18644 -3.82173 0 0.00362459 -0.00533482 0.995002 0.099646 uwb: 0.49870919 1247.44 1325.4 -imu_odom_: 1691062888.21119401 0.25618 0.122104 10.3573 -0.0745685 -0.00958738 0.0660464 0.25 0 pose: 0.32971282 -3.19664 -3.81972 0 0.00373214 -0.00221021 0.995046 0.0993211 uwb: 0.0 1247.44 1325.4 -imu_odom_: 1691062888.48001914 0.416591 -0.155623 10.0533 -0.0575243 0.00639159 0.0383495 0.23 0 pose: 0.45054617 -3.20305 -3.81646 0 0.00125474 0.00145375 0.995085 0.0990106 uwb: 0.49858087 1247.2 1326.26 -imu_odom_: 1691062888.72924542 0.414197 -0.179565 10.4962 -0.072438 -0.00532632 0.0596548 0.23 0 pose: 0.7073087 -3.20556 -3.81518 0 0.00107768 0.00214398 0.995083 0.0990158 uwb: 0.0 1247.2 1326.26 -imu_odom_: 1691062888.99912048 1.00796 -0.0407014 10.173 -0.0671117 0.00426106 0.0372843 0.23 -0.02 pose: 0.44732054 -3.21185 -3.81198 0 0.000693186 0.00137438 0.995108 0.0987802 uwb: 0.50289729 1246.11 1327.79 -imu_odom_: 1691062888.115953070 0.280122 -0.272939 9.56723 -0.0777643 0.0234358 0.0500674 0.23 -0.02 pose: 0.0 -3.21185 -3.81198 0 0.000693186 0.00137438 0.995108 0.0987802 uwb: 0.0 1246.11 1327.79 -imu_odom_: 1691062888.140973400 0.296881 -0.191536 10.1323 -0.0340885 0.00639159 0.0319579 0.23 0 pose: 0.43028528 -3.2195 -3.80809 0 0.00150773 0.000849735 0.995113 0.0987244 uwb: 0.49863337 1246.56 1328.39 -imu_odom_: 1691062888.163951016 0.586579 -0.0143652 9.7875 -0.0532632 0.0234358 0.0383495 0.23 0 pose: 0.0 -3.2195 -3.80809 0 0.00150773 0.000849735 0.995113 0.0987244 uwb: 0.0 1246.56 1328.39 -imu_odom_: 1691062888.179900750 0.318429 -0.229843 10.1323 -0.0351537 0.056459 0.0394148 0.18 -0.02 pose: 0.47997946 -3.23397 -3.81196 0 0.000499147 0.00279203 0.9951 0.0988307 uwb: 0.0 1246.56 1328.39 -imu_odom_: 1691062888.206973710 0.529119 -0.237026 10.398 -0.0543285 0.00426106 0.0511327 0.18 -0.02 pose: 0.0 -3.23397 -3.81196 0 0.000499147 0.00279203 0.9951 0.0988307 uwb: 0.49978538 1247.19 1328.63 -imu_odom_: 1691062888.232053829 0.574608 -0.296881 9.87608 -0.0351537 0.00852212 0.0383495 0.25 0 pose: 0.23145606 -3.23683 -3.8105 0 -0.0006939940.00179855 0.995106 0.0987918 uwb: 0.0 1247.19 1328.63 -imu_odom_: 1691062888.258906010 0.481235 0.191536 10.0461 -0.04048 0.0213053 0.0490022 0.21 -0.02 pose: 0.44957207 -3.24318 -3.80727 0 0.0028009 -0.0004183510.995115 0.0986863 uwb: 0.49774968 1246.9 1330.04 -imu_odom_: 1691062888.283980878 0.11971 -0.122104 10.0509 -0.0394148 0.0308927 0.0351537 0.21 -0.02 pose: 0.6887014 -3.24574 -3.80597 0 0.002823 0.00032217 0.995118 0.0986558 uwb: 0.0 1246.9 1330.04 -imu_odom_: 1691062888.300890141 0.502782 -0.311246 9.65821 -0.0575243 -0.0276969 0.0426106 0.23 0 pose: 0.0 -3.24574 -3.80597 0 0.002823 0.00032217 0.995118 0.0986558 uwb: 0.0 1246.9 1330.04 -imu_odom_: 1691062888.326950493 0.457293 -0.105345 10.0509 -0.0490022 -0.0351537 0.0468716 0.23 0 pose: 0.51970505 -3.25467 -3.80147 0 0.000418595 0.00261207 0.995122 0.0986173 uwb: 0.0 1246.9 1330.04 -imu_odom_: 1691062888.354143904 0.804452 -0.301669 9.63187 -0.0543285 0.00852212 0.0319579 0.23 -0.02 pose: 0.36039145 -3.25467 -3.80147 0 0.0028262 0.00394599 0.995125 0.0985062 uwb: 0.99933162 1245.08 1332.42 -imu_odom_: 1691062888.378924498 0.158017 -0.19393 9.92157 -0.0511327 0.0213053 0.0383495 0.23 -0.02 pose: 0.7076587 -3.25467 -3.80147 0 0.00338917 0.0035913 0.995122 0.0985294 uwb: 0.0 1245.08 1332.42 -imu_odom_: 1691062888.395916881 0.45011 -0.316035 10.252 -0.0639159 -0.00958738 0.0330232 0.22 0 pose: 0.0 -3.25467 -3.80147 0 0.00338917 0.0035913 0.995122 0.0985294 uwb: 0.50005078 1243.81 1334.35 -imu_odom_: 1691062888.422059770 0.938527 -0.260968 10.094 -0.0447411 -0.04048 0.052198 0.22 0 pose: 0.44897418 -3.26807 -3.80599 0 0.00219797 0.0026236 0.99512 0.0986162 uwb: 0.0 1243.81 1334.35 -imu_odom_: 1691062888.448906410 0.529119 0.00718261 10.1969 -0.0415453 0.0117179 0.036219 0.25 0 pose: 0.43135272 -3.27703 -3.80155 0 0.00518021 0.000333894 0.995123 0.0985003 uwb: 0.50125530 1244.67 1334.3 -imu_odom_: 1691062888.473916241 0.792481 -0.222661 10.1682 -0.0468716 0.056459 0.0479369 0.19 0 pose: 0.0 -3.27703 -3.80155 0 0.00518021 0.000333894 0.995123 0.0985003 uwb: 0.0 1244.67 1334.3 -imu_odom_: 1691062888.490981535 0.232238 0.0047884 10.0676 -0.0372843 -0.02024 0.0245011 0.23 -0.02 pose: 0.51856471 -3.28599 -3.79711 0 0.00712378 0.00241684 0.995115 0.0984362 uwb: 0.0 1244.67 1334.3 -imu_odom_: 1691062888.516916187 0.483629 -0.143652 10.0748 -0.0692422 -0.0394148 0.0692422 0.23 -0.02 pose: 0.0 -3.28599 -3.79711 0 0.00712378 0.00241684 0.995115 0.0984362 uwb: 0.0 1244.67 1334.3 -imu_odom_: 1691062888.544050977 1.06781 -0.0646434 10.2448 -0.0479369 -0.0170442 0.0181095 0.18 0.02 pose: 0.25186862 -3.29495 -3.79268 0 0.00518319 0.0032309 0.995123 0.0984573 uwb: 0.0 1244.67 1334.3 -imu_odom_: 1691062888.569906591 0.521936 -0.289698 9.59835 -0.0745685 0.0383495 0.0447411 0.19 0 pose: 0.44947874 -3.29813 -3.79909 0 0.00664299 0.00289486 0.995112 0.0984826 uwb: 0.0 1244.67 1334.3 -imu_odom_: 1691062888.596890890 0.433351 -0.328006 9.67497 -0.0681769 -0.036219 0.0479369 0.19 0 pose: 0.7997033 -3.29939 -3.80164 0 0.0063807 0.0020394 0.995119 0.0984573 uwb: 0.150156686 1245.03 1333.57 -imu_odom_: 1691062888.612952327 0.550666 -0.526724 10.1179 -0.0575243 0.0138484 0.0649811 0.2 0.02 pose: 0.44842880 -3.30835 -3.7972 0 0.00455217 -0.00221701 0.995146 0.098278 uwb: 0.0 1245.03 1333.57 -imu_odom_: 1691062888.639940417 0.684742 0.0167594 10.082 -0.04048 0.00639159 0.0383495 0.2 0.02 pose: 0.0 -3.30835 -3.7972 0 0.00455217 -0.00221701 0.995146 0.098278 uwb: 0.49814049 1245.47 1334.18 -imu_odom_: 1691062888.665033076 0.483629 -0.196325 10.0341 -0.0596548 0.0223706 0.0490022 0.17 0 pose: 0.43049527 -3.31732 -3.79277 0 0.00606293 -0.00145799 0.995157 0.0980997 uwb: 0.0 1245.47 1334.18 -imu_odom_: 1691062888.682089038 -0.138864 -0.203507 10.07 -0.0372843 0.0319579 0.0490022 0.17 0 pose: 0.0 -3.31732 -3.79277 0 0.00606293 -0.00145799 0.995157 0.0980997 uwb: 0.0 1245.47 1334.18 -imu_odom_: 1691062888.698026523 0.399832 -0.21069 10.1131 -0.0532632 -0.0213053 0.0490022 0.18 -0.02 pose: 0.0 -3.31732 -3.79277 0 0.00606293 -0.00145799 0.995157 0.0980997 uwb: 0.49864795 1242.24 1337.11 -imu_odom_: 1691062888.725081693 0.727837 -0.131681 9.80426 -0.0458064 0.00958738 0.0351537 0.18 -0.02 pose: 0.42148621 -3.32628 -3.78834 0 0.0019782 0.000659774 0.995193 0.0979131 uwb: 0.0 1242.24 1337.11 -imu_odom_: 1691062888.741025594 -0.0023942 -0.196325 10.1801 -0.0500674 0.0117179 0.0585895 0.2 0.02 pose: 0.0 -3.32628 -3.78834 0 0.0019782 0.000659774 0.995193 0.0979131 uwb: 0.49994871 1244.6 1336.04 -imu_odom_: 1691062888.767910732 0.6608 -0.177171 10.1801 -0.0500674 -0.02024 0.036219 0.2 0.02 pose: 0.42992655 -3.33262 -3.78522 0 0.00306407 0.000851262 0.995191 0.0978973 uwb: 0.0 1244.6 1336.04 -imu_odom_: 1691062888.793953586 0.703895 -0.411803 10.3142 -0.0681769 -0.00213053 0.0543285 0.18 0.02 pose: 0.42829039 -3.34605 -3.78974 0 0.0042617 0.000991877 0.995197 0.0977898 uwb: 0.50009745 1245.79 1336.45 -imu_odom_: 1691062888.810881222 0.11971 -0.160412 9.42837 -0.0415453 -0.00213053 0.0191748 0.18 0.02 pose: 0.0 -3.34605 -3.78974 0 0.0042617 0.000991877 0.995197 0.0977898 uwb: 0.0 1245.79 1336.45 -imu_odom_: 1691062888.836013837 0.114922 -0.323217 9.414 -0.0788296 0.0117179 0.056459 0.18 0 pose: 0.42970490 -3.34864 -3.78846 0 0.00418544 -0.0006579890.995201 0.0977609 uwb: 0.0 1245.79 1336.45 -imu_odom_: 1691062888.862870393 0.196325 -0.0622492 9.40921 -0.0511327 -0.015979 0.0383495 0.18 0 pose: 0.0 -3.34864 -3.78846 0 0.00418544 -0.0006579890.995201 0.0977609 uwb: 0.50029577 1243.82 1338.69 -imu_odom_: 1691062888.887872349 0.407014 -0.40462 9.7875 -0.0660464 -0.0372843 0.056459 0.19 0 pose: 0.51989171 -3.35761 -3.78404 0 -0.00034797 0.000463881 0.995229 0.0975645 uwb: 0.50091116 1243.98 1340.17 -imu_odom_: 1691062888.914879980 0.356736 -0.011971 10.0437 -0.0426106 -0.015979 0.0372843 0.21 0 pose: 0.0 -3.35761 -3.78404 0 -0.00034797 0.000463881 0.995229 0.0975645 uwb: 0.0 1243.98 1340.17 -imu_odom_: 1691062888.939868811 0.59855 -0.361524 9.93115 -0.0553937 0.0117179 0.0511327 0.21 0 pose: 0.32035087 -3.36658 -3.77962 0 -7.55852e-05-0.00146729 0.995248 0.0973632 uwb: 0.49997787 1243.75 1341.09 -imu_odom_: 1691062888.957119012 0.433351 -0.179565 9.96467 -0.0436758 -0.052198 0.0553937 0.21 0.02 pose: 0.0 -3.36658 -3.77962 0 -7.55852e-05-0.00146729 0.995248 0.0973632 uwb: 0.0 1243.75 1341.09 -imu_odom_: 1691062888.972867800 0.457293 -0.158017 9.73243 -0.0575243 0 0.103331 0.21 0.02 pose: 0.44963331 -3.37287 -3.77653 0 0.00144603 -0.00108589 0.995259 0.0972405 uwb: 0.0 1243.75 1341.09 -imu_odom_: 1691062888.989868057 0.442927 -0.304064 9.72046 -0.0639159 0.0490022 0.184291 0.21 0.02 pose: 0.0 -3.37287 -3.77653 0 0.00144603 -0.00108589 0.995259 0.0972405 uwb: 0.50049118 1245.4 1340.89 -imu_odom_: 1691062889.7861089 0.497994 -0.318429 10.1418 -0.0351537 -0.0490022 0.246076 0.18 0.2 pose: 0.7210454 -3.37554 -3.77518 0 0.00168963 -0.0003421290.995265 0.0971847 uwb: 0.0 1245.4 1340.89 -imu_odom_: 1691062889.21863480 0.553061 -0.347159 9.78031 -0.052198 -0.0213053 0.3036 0.18 0.2 pose: 0.0 -3.37554 -3.77518 0 0.00168963 -0.0003421290.995265 0.0971847 uwb: 0.0 1245.4 1340.89 -imu_odom_: 1691062889.37858421 0.550666 -0.217872 9.84735 -0.0490022 -0.00958738 0.367516 0.18 0.2 pose: 0.0 -3.37554 -3.77518 0 0.00168963 -0.0003421290.995265 0.0971847 uwb: 0.49909418 1246.67 1340.75 -imu_odom_: 1691062889.53848112 0.337582 -0.514753 9.81144 -0.0585895 0 0.400539 0.18 0.32 pose: 0.50911234 -3.38898 -3.77962 0 0.00248422 -0.0003444810.995518 0.0945436 uwb: 0.0 1246.67 1340.75 -imu_odom_: 1691062889.69843344 0.670376 -0.138864 9.7875 -0.0468716 0.00852212 0.425041 0.18 0.35 pose: 0.0 -3.38898 -3.77962 0 0.00248422 -0.0003444810.995518 0.0945436 uwb: 0.0 1246.67 1340.75 -imu_odom_: 1691062889.85997234 0.378284 -0.517148 9.91199 -0.0692422 -0.052198 0.472977 0.18 0.35 pose: 0.0 -3.38898 -3.77962 0 0.00248422 -0.0003444810.995518 0.0945436 uwb: 0.0 1246.67 1340.75 -imu_odom_: 1691062889.101993050 0.54109 -0.0814029 9.77313 -0.052198 -0.0106526 0.48363 0.18 0.35 pose: 0.62863620 -3.39794 -3.77519 0 0.00498743 -0.00264591 0.996378 0.0848512 uwb: 0.50031036 1246.82 1341.6 -imu_odom_: 1691062889.118855648 0.402226 -0.0981623 10.2903 -0.0575243 -0.0426106 0.54222 0.21 0.47 pose: 0.0 -3.39794 -3.77519 0 0.00498743 -0.00264591 0.996378 0.0848512 uwb: 0.0 1246.82 1341.6 -imu_odom_: 1691062889.137001797 0.761356 -0.629675 10.003 -0.0756338 0.0191748 0.563525 0.21 0.47 pose: 0.31034146 -3.39794 -3.77519 0 0.00536759 -0.00310944 0.996908 0.07833 uwb: 0.49969207 1248.23 1341.65 -imu_odom_: 1691062889.153007820 0.229843 -0.703895 10.0916 -0.036219 0.0234358 0.570982 0.18 0.53 pose: 0.45113532 -3.40967 -3.77632 0 0.00563986 -0.00257999 0.997725 0.0671299 uwb: 0.0 1248.23 1341.65 -imu_odom_: 1691062889.170002828 0.246603 -0.318429 9.73004 -0.0458064 0 0.590156 0.18 0.53 pose: 0.0 -3.40967 -3.77632 0 0.00563986 -0.00257999 0.997725 0.0671299 uwb: 0.0 1248.23 1341.65 -imu_odom_: 1691062889.187989736 0.553061 -0.162806 9.84017 -0.0319579 -0.0585895 0.618919 0.18 0.53 pose: 0.0 -3.40967 -3.77632 0 0.00563986 -0.00257999 0.997725 0.0671299 uwb: 0.50137196 1247.64 1343.36 -imu_odom_: 1691062889.205161774 0.383072 -0.191536 9.83299 -0.056459 -0.0319579 0.638093 0.18 0.61 pose: 0.6010024 -3.41135 -3.77971 0 0.0051963 -0.00300722 0.997832 0.0655329 uwb: 0.0 1247.64 1343.36 -imu_odom_: 1691062889.221983250 0.984017 -0.486023 10.2879 -0.0383495 -0.0852212 0.633832 0.18 0.58 pose: 0.0 -3.41135 -3.77971 0 0.0051963 -0.00300722 0.997832 0.0655329 uwb: 0.0 1247.64 1343.36 -imu_odom_: 1691062889.239853206 0.864307 -0.227449 10.07 -0.0553937 -0.0436758 0.637028 0.18 0.58 pose: 0.68941307 -3.4203 -3.77524 0 0.00403 -0.00165508 0.998939 0.0458551 uwb: 0.50053494 1249.47 1343.37 -imu_odom_: 1691062889.256990539 1.96564 -0.560243 10.0245 -0.0511327 -0.111853 0.64342 0.14 0.44 pose: 0.0 -3.4203 -3.77524 0 0.00403 -0.00165508 0.998939 0.0458551 uwb: 0.0 1249.47 1343.37 -imu_odom_: 1691062889.274008003 1.71425 -0.416591 9.50498 -0.0266316 -0.0372843 0.50174 0.14 0.44 pose: 0.0 -3.4203 -3.77524 0 0.00403 -0.00165508 0.998939 0.0458551 uwb: 0.0 1249.47 1343.37 -imu_odom_: 1691062889.291998703 1.25217 0.203507 10.173 -0.0372843 0.0383495 0.400539 0.14 0.44 pose: 0.35095658 -3.42924 -3.77076 0 0.00852946 -0.00227066 0.999335 0.0353737 uwb: 0.49809966 1247.32 1346.08 -imu_odom_: 1691062889.308990210 0.931344 0.0263362 9.79947 -0.0628506 0.0234358 0.381365 0.16 0.44 pose: 0.35009914 -3.42924 -3.77076 0 0.0124576 -0.00210958 0.999556 0.0269943 uwb: 0.0 1247.32 1346.08 -imu_odom_: 1691062889.323988584 0.861913 -0.234632 9.85214 -0.0639159 0.0245011 0.340885 0.16 0.44 pose: 0.0 -3.42924 -3.77076 0 0.0124576 -0.00210958 0.999556 0.0269943 uwb: 0.0 1247.32 1346.08 -imu_odom_: 1691062889.341842500 0.737414 -0.191536 9.97185 -0.052198 -0.015979 0.3036 0.1 0.29 pose: 0.41929884 -3.4426 -3.77531 0 0.015337 -0.0006774870.999681 0.0200643 uwb: 0.49991663 1247.13 1347.11 -imu_odom_: 1691062889.359886279 0.97444 -0.0311246 9.65821 -0.052198 -0.0149137 0.3036 0.1 0.29 pose: 0.0 -3.4426 -3.77531 0 0.015337 -0.0006774870.999681 0.0200643 uwb: 0.0 1247.13 1347.11 -imu_odom_: 1691062889.375938383 0.912191 -0.205901 9.90002 -0.0458064 -0.015979 0.311057 0.1 0.29 pose: 0.0 -3.4426 -3.77531 0 0.015337 -0.0006774870.999681 0.0200643 uwb: 0.0 1247.13 1347.11 -imu_odom_: 1691062889.392828105 0.756568 -0.155623 9.76355 -0.0458064 0.0234358 0.275903 0.1 0.26 pose: 0.8065862 -3.44262 -3.77533 0 0.0159779 -0.0001351350.999692 0.0190082 uwb: 0.50156446 1245.69 1348.93 -imu_odom_: 1691062889.418970703 0.562637 -0.0742203 9.45231 -0.0479369 -0.00532632 0.252468 0.07 0.2 pose: 0.0 -3.44262 -3.77533 0 0.0159779 -0.0001351350.999692 0.0190082 uwb: 0.0 1245.69 1348.93 -imu_odom_: 1691062889.435962503 0.466869 -0.196325 10.1658 -0.0585895 0.0330232 0.230097 0.07 0.2 pose: 0.68938099 -3.4516 -3.77093 0 0.0178594 0.0028022 0.999783 0.0103395 uwb: 0.0 1245.69 1348.93 -imu_odom_: 1691062889.453901580 0.11971 -0.253785 9.9934 -0.0436758 0.0298274 0.124636 0.09 0.29 pose: 0.0 -3.4516 -3.77093 0 0.0178594 0.0028022 0.999783 0.0103395 uwb: 0.49980581 1248.24 1348.02 -imu_odom_: 1691062889.467904845 -1.13246 0.390255 9.414 -0.0298274 0.0756338 0.111853 0.09 0.29 pose: 0.0 -3.4516 -3.77093 0 0.0178594 0.0028022 0.999783 0.0103395 uwb: 0.0 1248.24 1348.02 -imu_odom_: 1691062889.484996097 -1.18992 -0.390255 10.0556 -0.0798948 -0.0234358 0.219444 0.09 0.29 pose: 0.25885655 -3.4516 -3.77093 0 0.0153479 0.00345391 0.999847 0.00769083 uwb: 0.0 1248.24 1348.02 -imu_odom_: 1691062889.502993213 -0.0957681 -0.696713 9.90002 -0.0426106 -0.102265 0.18216 0.1 0.17 pose: 0.48144938 -3.4516 -3.77093 0 0.00969508 0.00343111 0.999935 0.00492359 uwb: 0.49907668 1247.71 1349.2 -imu_odom_: 1691062889.518971821 0.593762 -0.071826 9.51935 -0.0234358 -0.0234358 0.168312 0.1 0.17 pose: 0.0 -3.4516 -3.77093 0 0.00969508 0.00343111 0.999935 0.00492359 uwb: 0.0 1247.71 1349.2 -imu_odom_: 1691062889.536855485 0.603339 0.0335188 9.61511 -0.0777643 0.0426106 0.237554 0.12 0.11 pose: 0.43948683 -3.45655 -3.7684 0 0.00896399 0.00389616 0.999951 0.00172517 uwb: 0.50081200 1248 1349.61 -imu_odom_: 1691062889.552895340 -0.0287304 -0.447716 9.79707 -0.0543285 0.052198 0.198139 0.12 0.11 pose: 0.0 -3.45655 -3.7684 0 0.00896399 0.00389616 0.999951 0.00172517 uwb: 0.0 1248 1349.61 -imu_odom_: 1691062889.569838142 0.174777 -0.308852 10.1227 -0.052198 -0.00426106 0.162985 0.12 0.11 pose: 0.0 -3.45655 -3.7684 0 0.00896399 0.00389616 0.999951 0.00172517 uwb: 0.0 1248 1349.61 -imu_odom_: 1691062889.588315021 0.399832 -0.0454898 10.2759 -0.0490022 -0.0223706 0.188552 0.13 0.08 pose: 0.8022115 -3.46055 -3.76647 0 0.0089169 0.00459042 0.999949 0.000937758 uwb: 0.50117365 1247.16 1352.33 -imu_odom_: 1691062889.605149913 0.924162 -0.265756 9.57681 -0.0639159 -0.02024 0.198139 0.2 0.2 pose: 0.0 -3.46055 -3.76647 0 0.0089169 0.00459042 0.999949 0.000937758 uwb: 0.0 1247.16 1352.33 -imu_odom_: 1691062889.620963739 0.253785 -0.19393 9.8282 -0.056459 0.0468716 0.165116 0.2 0.2 pose: 0.67878535 -3.47397 -3.771 0 0.0048966 0.00485744 0.999967 -0.00423509 uwb: 0.0 1247.16 1352.33 -imu_odom_: 1691062889.638904566 0.0287304 0.122104 9.87369 -0.0575243 -0.0149137 0.174703 0.19 0.11 pose: 0.0 -3.47397 -3.771 0 0.0048966 0.00485744 0.999967 -0.00423509 uwb: 0.49738511 1245.3 1354.26 -imu_odom_: 1691062889.656016525 0.438139 -0.174777 9.94073 -0.0830906 -0.0852212 0.175769 0.19 0.11 pose: 0.0 -3.47397 -3.771 0 0.0048966 0.00485744 0.999967 -0.00423509 uwb: 0.0 1245.3 1354.26 -imu_odom_: 1691062889.671840559 0.61531 -0.268151 10.3022 -0.0575243 -0.056459 0.143811 0.19 0.11 pose: 0.34153631 -3.47397 -3.771 0 0.00336601 0.00446628 0.999963 -0.00658539 uwb: 0.0 1245.3 1354.26 -imu_odom_: 1691062889.689148799 0.826 -0.143652 9.59117 -0.0607201 -0.00532632 0.151268 0.18 0.08 pose: 0.42814457 -3.48294 -3.76657 0 0.00450085 0.00209868 0.999945 -0.00924008 uwb: 0.0 1245.3 1354.26 -imu_odom_: 1691062889.706836474 1.15161 -0.0957681 10.1131 -0.052198 -0.00426106 0.160855 0.18 0.08 pose: 0.7109835 -3.48294 -3.76657 0 0.00521376 0.00215168 0.999938 -0.00963811 uwb: 0.0 1245.3 1354.26 -imu_odom_: 1691062889.720863363 1.1995 -0.198719 9.75398 -0.0628506 -0.0436758 0.199204 0.18 0.08 pose: 0.0 -3.48294 -3.76657 0 0.00521376 0.00215168 0.999938 -0.00963811 uwb: 0.0 1245.3 1354.26 -imu_odom_: 1691062889.737907076 1.06063 -0.241814 10.0987 -0.0692422 0.0415453 0.24288 0.12 0.08 pose: 0.41912969 -3.48731 -3.77556 0 0.00967555 0.00237156 0.999873 -0.012406 uwb: 0.100174358 1245.39 1355.05 -imu_odom_: 1691062889.751894301 1.9417 -0.368707 10.5153 -0.0383495 -0.0447411 0.204531 0.11 0.05 pose: 0.0 -3.48731 -3.77556 0 0.00967555 0.00237156 0.999873 -0.012406 uwb: 0.0 1245.39 1355.05 -imu_odom_: 1691062889.767947280 1.67115 0.0143652 9.68455 -0.0383495 0.00106526 0.137419 0.11 0.05 pose: 0.0 -3.48731 -3.77556 0 0.00967555 0.00237156 0.999873 -0.012406 uwb: 0.0 1245.39 1355.05 -imu_odom_: 1691062889.782944779 1.47722 0.0287304 10.1562 -0.0617853 0.00852212 0.125701 0.11 0.05 pose: 0.23047612 -3.48731 -3.77556 0 0.0116956 0.00195914 0.999822 -0.0146414 uwb: 0.0 1245.39 1355.05 -imu_odom_: 1691062889.799825751 0.708684 -0.0670376 9.52174 -0.0735032 0.0351537 0.0980043 0.1 0.05 pose: 0.0 -3.48731 -3.77556 0 0.0116956 0.00195914 0.999822 -0.0146414 uwb: 0.50225858 1244.64 1356.62 -imu_odom_: 1691062889.813821434 0.514753 -0.126893 10.07 -0.0671117 0.0191748 0.0820254 0.1 0.05 pose: 0.0 -3.48731 -3.77556 0 0.0116956 0.00195914 0.999822 -0.0146414 uwb: 0.0 1244.64 1356.62 -imu_odom_: 1691062889.829808500 0.608127 -0.251391 10.1179 -0.052198 -0.0276969 0.0639159 0.07 0.05 pose: 0.31037646 -3.49631 -3.77118 0 0.0148096 0.00252489 0.999753 -0.0163882 uwb: 0.0 1244.64 1356.62 -imu_odom_: 1691062889.844877453 0.715866 -0.347159 9.5792 -0.052198 -0.0181095 0.0756338 0.07 0.05 pose: 0.45932775 -3.49631 -3.77118 0 0.0135365 0.00357586 0.999747 -0.0175795 uwb: 0.49491485 1243.43 1358.19 -imu_odom_: 1691062889.862059116 0.952892 -0.0790087 9.96467 -0.0585895 -0.00213053 0.113983 0.07 0.05 pose: 0.0 -3.49631 -3.77118 0 0.0135365 0.00357586 0.999747 -0.0175795 uwb: 0.0 1243.43 1358.19 -imu_odom_: 1691062889.876808713 0.785298 -0.368707 9.90002 -0.0532632 -0.00319579 0.128897 0.07 0.05 pose: 0.41177720 -3.49631 -3.77118 0 0.0153598 0.00206904 0.999707 -0.0186194 uwb: 0.0 1243.43 1358.19 -imu_odom_: 1691062889.894031207 0.749385 -0.196325 10.0604 -0.0458064 0.0213053 0.0873517 0.07 0.05 pose: 0.0 -3.49631 -3.77118 0 0.0153598 0.00206904 0.999707 -0.0186194 uwb: 0.50124072 1243.78 1358.71 -imu_odom_: 1691062889.910961469 0.641646 0.0335188 9.80186 -0.052198 -0.00639159 0.0862864 0.07 0.05 pose: 0.0 -3.49631 -3.77118 0 0.0153598 0.00206904 0.999707 -0.0186194 uwb: 0.0 1243.78 1358.71 -imu_odom_: 1691062889.937935560 0.706289 -0.258574 9.78271 -0.0596548 -0.00213053 0.0788296 0.07 0.05 pose: 0.5892781 -3.49631 -3.77118 0 0.0155989 0.00153362 0.999699 -0.0188913 uwb: 0.50059326 1240.97 1360.64 -imu_odom_: 1691062889.962800733 0.299275 -0.129287 9.6199 -0.0553937 0.02024 0.0223706 0.05 0.05 pose: 0.69983663 -3.50849 -3.77339 0 0.0161314 0.000242348 0.999657 -0.0206431 uwb: 0.0 1240.97 1360.64 -imu_odom_: 1691062889.987844978 -1.1995 0.28491 9.46428 -0.0511327 0.0884169 -0.0340885 0.08 0.08 pose: 0.0 -3.50849 -3.77339 0 0.0161314 0.000242348 0.999657 -0.0206431 uwb: 0.49795967 1242.22 1361.13 -imu_odom_: 1691062890.10816470 -0.933739 -0.634463 10.0485 -0.0798948 -0.0596548 0.0862864 0.08 0.08 pose: 0.31002356 -3.50966 -3.77579 0 0.0125018 0.000860741 0.999718 -0.020194 uwb: 0.0 1242.22 1361.13 -imu_odom_: 1691062890.27935137 0.234632 -0.287304 10.0748 -0.0394148 -0.103331 0.0713727 0.08 0.08 pose: 0.0 -3.50966 -3.77579 0 0.0125018 0.000860741 0.999718 -0.020194 uwb: 0.0 1242.22 1361.13 -imu_odom_: 1691062890.52930678 0.663194 -0.0311246 9.73961 -0.0490022 0.0245011 0.0937433 0.1 0 pose: 0.48882812 -3.50966 -3.77579 0 0.00790282 0.000274556 0.999766 -0.0201418 uwb: 0.50125531 1240.48 1362.63 -imu_odom_: 1691062890.78797667 0.0861913 -0.543484 10.2304 -0.0458064 0.0234358 0.0681769 0.12 0.02 pose: 0.35109950 -3.51865 -3.77142 0 0.00835991 0.00232085 0.999743 -0.0209662 uwb: 0.0 1240.48 1362.63 -imu_odom_: 1691062890.102822598 -0.246603 0 9.91918 -0.036219 -0.0234358 0.0500674 0.12 0.02 pose: 0.0 -3.51865 -3.77142 0 0.00835991 0.00232085 0.999743 -0.0209662 uwb: 0.49884921 1239.86 1363.77 -imu_odom_: 1691062890.128935448 0.42138 -0.438139 10.1754 -0.0873517 0.0213053 0.0809601 0.13 0.02 pose: 0.6892847 -3.51865 -3.77142 0 0.00772534 0.00192097 0.999746 -0.0210677 uwb: 0.0 1239.86 1363.77 -imu_odom_: 1691062890.145867168 0.071826 0.0047884 10.0341 -0.0479369 -0.0308927 0.04048 0.13 0.02 pose: 0.0 -3.51865 -3.77142 0 0.00772534 0.00192097 0.999746 -0.0210677 uwb: 0.50043286 1240.65 1364.27 -imu_odom_: 1691062890.171802403 0.407014 -0.179565 10.2615 -0.0671117 0.00532632 0.0745685 0.14 0.02 pose: 0.50151780 -3.51865 -3.77142 0 0.00362904 0.000797503 0.999759 -0.0216193 uwb: 0.0 1240.65 1364.27 -imu_odom_: 1691062890.196812234 0.0909797 -0.268151 9.81144 -0.0607201 -0.0340885 0.0607201 0.14 0.02 pose: 0.0 -3.51865 -3.77142 0 0.00362904 0.000797503 0.999759 -0.0216193 uwb: 0.49992248 1238.34 1366.32 -imu_odom_: 1691062890.221797859 0.28491 -0.0981623 9.88805 -0.0415453 0.0266316 0.0660464 0.14 0.02 pose: 0.43896478 -3.53205 -3.77595 0 0.00125237 0.000170945 0.999754 -0.0221637 uwb: 0.0 1238.34 1366.32 -imu_odom_: 1691062890.238795200 -0.0502782 -0.071826 10.0317 -0.0585895 0.0181095 0.0905475 0.14 0.02 pose: 0.0 -3.53205 -3.77595 0 0.00125237 0.000170945 0.999754 -0.0221637 uwb: 0.50075367 1239.25 1366.31 -imu_odom_: 1691062890.264860511 0.332794 -0.246603 9.64145 -0.0511327 -0.015979 0.0596548 0.16 0.02 pose: 0.48957767 -3.53205 -3.77595 0 -0.00242241 0.00125093 0.999736 -0.0228153 uwb: 0.0 1239.25 1366.31 -imu_odom_: 1691062890.281862518 0.737414 -0.11971 10.0724 -0.0490022 -0.0490022 0.0660464 0.16 0.02 pose: 0.0 -3.53205 -3.77595 0 -0.00242241 0.00125093 0.999736 -0.0228153 uwb: 0.0 1239.25 1366.31 -imu_odom_: 1691062890.307945620 0.1652 -0.217872 10.252 -0.0479369 -0.0266316 0.0777643 0.16 0.02 pose: 0.43974057 -3.54102 -3.77154 0 -0.00542274 0.00242061 0.999704 -0.023575 uwb: 0.49999539 1235.61 1369.13 -imu_odom_: 1691062890.333850816 -0.0622492 0.0263362 9.19852 -0.0298274 0.0191748 0.0553937 0.2 0.02 pose: 0.42163497 -3.5544 -3.77613 0 -0.00316888 0.00111484 0.999704 -0.0241101 uwb: 0.0 1235.61 1369.13 -imu_odom_: 1691062890.355793660 0.328006 -0.371101 10.3717 -0.0777643 -0.0340885 0.0969391 0.14 0.02 pose: 0.0 -3.5544 -3.77613 0 -0.00316888 0.00111484 0.999704 -0.0241101 uwb: 0.49988748 1236.41 1368.96 -imu_odom_: 1691062890.380771993 0.555455 -0.0454898 9.94073 -0.04048 0.0266316 0.0500674 0.16 0 pose: 0.50910943 -3.5544 -3.77613 0 -0.00709101 0.00181494 0.999665 -0.0248453 uwb: 0.0 1236.41 1368.96 -imu_odom_: 1691062890.406788599 0.890643 -0.167594 10.1682 -0.0756338 -0.00319579 0.0809601 0.16 0 pose: 0.0 -3.5544 -3.77613 0 -0.00709101 0.00181494 0.999665 -0.0248453 uwb: 0.49877921 1236.84 1369.63 -imu_odom_: 1691062890.422907491 0.21069 -0.328006 9.85932 -0.0479369 0.0234358 0.0468716 0.17 0 pose: 0.22925412 -3.56339 -3.77176 0 -0.00578847 0.000582091 0.999662 -0.0253318 uwb: 0.0 1236.84 1369.63 -imu_odom_: 1691062890.448780605 0.483629 -0.071826 9.83538 -0.076699 -0.0127832 0.0937433 0.17 0 pose: 0.51011271 -3.57675 -3.7764 0 -0.00254802 0.0010519 0.999658 -0.0259999 uwb: 0.50176570 1240.25 1368.55 -imu_odom_: 1691062890.473778479 0.548272 -0.146046 10.489 -0.0575243 -0.00852212 0.056459 0.17 -0.02 pose: 0.34965875 -3.57675 -3.7764 0 -0.00134389 0.0019708 0.99964 -0.0267391 uwb: 0.0 1240.25 1368.55 -imu_odom_: 1691062890.499809667 0.52433 -0.0550666 10.0916 -0.0830906 0.0287621 0.0681769 0.17 -0.02 pose: 0.0 -3.57675 -3.7764 0 -0.00134389 0.0019708 0.99964 -0.0267391 uwb: 0.49873546 1239.06 1370.24 -imu_odom_: 1691062890.516050469 -0.112527 -0.28491 10.0126 -0.0756338 -0.00426106 0.0703074 0.17 0 pose: 0.51029062 -3.58334 -3.77322 0 0.00239902 0.00404887 0.999615 -0.0273293 uwb: 0.0 1239.06 1370.24 -imu_odom_: 1691062890.541844546 0.0694318 -0.0885855 10.0676 -0.0660464 -0.0117179 0.0596548 0.17 0 pose: 0.0 -3.58334 -3.77322 0 0.00239902 0.00404887 0.999615 -0.0273293 uwb: 0.49960166 1239.42 1370.8 -imu_odom_: 1691062890.566945081 0.466869 -0.342371 9.88805 -0.0937433 0.0149137 0.0681769 0.19 0 pose: 0.42034879 -3.59658 -3.77796 0 -0.00161379 0.00364262 0.999605 -0.0278225 uwb: 0.0 1239.42 1370.8 -imu_odom_: 1691062890.592925814 0.725443 -0.114922 10.0126 -0.0798948 -0.00745685 0.0553937 0.19 0 pose: 0.0 -3.59658 -3.77796 0 -0.00161379 0.00364262 0.999605 -0.0278225 uwb: 0.50232567 1238.96 1372.21 -imu_odom_: 1691062890.617906480 0.797269 -0.383072 11.1953 -0.056459 0.00426106 0.0351537 0.19 0.02 pose: 0.33097276 -3.59911 -3.77675 0 7.51805e-05 0.00102132 0.9996 -0.0282476 uwb: 0.0 1238.96 1372.21 -imu_odom_: 1691062890.634891863 1.13485 -0.354342 9.34217 -0.0415453 -0.0223706 0.0266316 0.19 0.02 pose: 0.0 -3.59911 -3.77675 0 7.51805e-05 0.00102132 0.9996 -0.0282476 uwb: 0.0 1238.96 1372.21 -imu_odom_: 1691062890.661039711 0.785298 -0.272939 9.10994 -0.052198 -0.0213053 0.052198 0.2 0 pose: 0.50853781 -3.60813 -3.77244 0 0.0048096 2.27767e-05 0.999588 -0.0282911 uwb: 0.49793051 1239.79 1372.79 -imu_odom_: 1691062890.686770792 0.407014 -0.0023942 9.87369 -0.0532632 -0.0255663 0.0500674 0.23 0.02 pose: 0.35244108 -3.61244 -3.78146 0 0.00858739 -0.0004543680.99956 -0.0284 uwb: 0.0 1239.79 1372.79 -imu_odom_: 1691062890.712758816 0.68953 -0.208296 10.0987 -0.0436758 -0.0436758 0.0394148 0.23 0.02 pose: 0.6975385 -3.61244 -3.78146 0 0.00823611 0.00010903 0.999562 -0.0284321 uwb: 0.50027246 1241.63 1372.78 -imu_odom_: 1691062890.729913065 0.0023942 -0.208296 10.058 -0.0468716 0.0330232 0.0447411 0.22 0.02 pose: 0.0 -3.61244 -3.78146 0 0.00823611 0.00010903 0.999562 -0.0284321 uwb: 0.0 1241.63 1372.78 -imu_odom_: 1691062890.754822277 0.610521 -0.387861 10.0197 -0.056459 0.0266316 0.0340885 0.22 0.02 pose: 0.51923843 -3.62142 -3.77706 0 0.00952947 0.00144709 0.999546 -0.0285413 uwb: 0.49961332 1244.28 1371.87 -imu_odom_: 1691062890.780807968 0.270545 -0.323217 10.0078 -0.0426106 0.0117179 0.04048 0.22 0.02 pose: 0.34883338 -3.63345 -3.77888 0 0.00854415 -0.00101816 0.999556 -0.0285201 uwb: 0.0 1244.28 1371.87 -imu_odom_: 1691062890.805762969 0.426168 -0.244209 9.85214 -0.056459 -0.0223706 0.0351537 0.22 0.02 pose: 0.8013949 -3.6348 -3.78165 0 0.00771303 -0.00120546 0.999563 -0.0285271 uwb: 0.49891629 1244.17 1372.42 -imu_odom_: 1691062890.831815156 0.550666 -0.543484 9.58878 -0.0788296 -0.0468716 0.0607201 0.21 0 pose: 0.42926743 -3.64101 -3.77861 0 0.00357939 -0.00155686 0.999586 -0.0284916 uwb: 0.0 1244.17 1372.42 -imu_odom_: 1691062890.848864702 0.392649 -0.332794 9.67736 -0.056459 0.00745685 0.0245011 0.21 0 pose: 0.0 -3.64101 -3.77861 0 0.00357939 -0.00155686 0.999586 -0.0284916 uwb: 0.0 1244.17 1372.42 -imu_odom_: 1691062890.873767207 0.596156 -0.131681 9.89524 -0.0436758 -0.0234358 0.0490022 0.25 0.02 pose: 0.43101733 -3.64378 -3.77725 0 0.00318638 -0.00492139 0.999572 -0.028655 uwb: 0.0 1244.17 1372.42 -imu_odom_: 1691062890.896788862 0.775721 -0.129287 9.84256 -0.02024 -0.00532632 0.02024 0.25 0.02 pose: 0.0 -3.64378 -3.77725 0 0.00318638 -0.00492139 0.999572 -0.028655 uwb: 0.100041075 1245.81 1372.07 -imu_odom_: 1691062890.921799277 0.476446 -0.181959 10.1921 -0.0468716 0.0330232 0.0596548 0.18 0 pose: 0.47924160 -3.65716 -3.78184 0 0.00687106 -0.00122115 0.999569 -0.0285287 uwb: 0.0 1245.81 1372.07 -imu_odom_: 1691062890.939794643 0.258574 -0.385466 9.76595 -0.0468716 -0.056459 0.036219 0.18 0 pose: 0.0 -3.65716 -3.78184 0 0.00687106 -0.00122115 0.999569 -0.0285287 uwb: 0.50052036 1245.68 1373.28 -imu_odom_: 1691062890.956744445 0.486023 0.3304 10.3597 -0.0340885 -0.036219 0.0415453 0.22 -0.02 pose: 0.32981200 -3.66614 -3.77744 0 0.00412766 7.93566e-05 0.999578 -0.0287596 uwb: 0.0 1245.68 1373.28 -imu_odom_: 1691062890.980731169 0.395043 -0.023942 10.161 -0.0681769 -0.02024 0.0553937 0.22 -0.02 pose: 0.0 -3.66614 -3.77744 0 0.00412766 7.93566e-05 0.999578 -0.0287596 uwb: 0.0 1245.68 1373.28 -imu_odom_: 1691062890.997886001 0.912191 -0.287304 9.68933 -0.056459 0.036219 0.0394148 0.18 0 pose: 0.50961107 -3.6757 -3.78072 0 0.00288049 0.00332619 0.999572 -0.0289357 uwb: 0.49994581 1247.09 1373.31 -imu_odom_: 1691062891.23890941 0.265756 -0.363919 10.1514 -0.072438 0.0127832 0.0415453 0.18 0 pose: 0.7177498 -3.67952 -3.78203 0 0.00342893 0.00313308 0.99957 -0.0289383 uwb: 0.0 1247.09 1373.31 -imu_odom_: 1691062891.40738666 0.679953 -0.0861913 9.65582 -0.0617853 0.0213053 0.0223706 0.21 0 pose: 0.0 -3.67952 -3.78203 0 0.00342893 0.00313308 0.99957 -0.0289383 uwb: 0.49943542 1246.4 1374.38 -imu_odom_: 1691062891.65866907 0.639252 -0.306458 9.93594 -0.056459 0.0266316 0.0490022 0.19 -0.02 pose: 0.42985365 -3.67952 -3.78203 0 0.00264304 0.00112217 0.999578 -0.0289093 uwb: 0.0 1246.4 1374.38 -imu_odom_: 1691062891.92879206 0.047884 -0.0383072 10.0533 -0.052198 0.0276969 0.0426106 0.21 -0.02 pose: 0.34972875 -3.6885 -3.77764 0 0.00509433 0.000116306 0.999568 -0.028951 uwb: 0.50388600 1248.46 1374.66 -imu_odom_: 1691062891.117892829 0.304064 -0.31364 9.67736 -0.076699 -0.00426106 0.0436758 0.17 0 pose: 0.0 -3.6885 -3.77764 0 0.00509433 0.000116306 0.999568 -0.028951 uwb: 0.0 1248.46 1374.66 -imu_odom_: 1691062891.144943041 0.31364 -0.158017 10.0987 -0.0671117 -0.015979 0.0351537 0.17 0 pose: 0.34943419 -3.69289 -3.78663 0 0.00152654 0.000436625 0.999578 -0.0290041 uwb: 0.49511027 1247.34 1376.52 -imu_odom_: 1691062891.170801865 0.141258 -0.294487 9.71567 -0.0458064 -0.00426106 0.0298274 0.2 -0.02 pose: 0.0 -3.69289 -3.78663 0 0.00152654 0.000436625 0.999578 -0.0290041 uwb: 0.0 1247.34 1376.52 -imu_odom_: 1691062891.197870452 0.500388 -0.0742203 10.1658 -0.0617853 -0.0127832 0.0447411 0.2 -0.02 pose: 0.52222201 -3.70188 -3.78224 0 -0.00249295 0.00029312 0.999578 -0.0289409 uwb: 0.50200778 1248.46 1376.8 -imu_odom_: 1691062891.222734750 0.260968 -0.150835 9.98382 -0.0298274 0.0340885 0.0319579 0.18 -0.02 pose: 0.44837925 -3.71399 -3.78441 0 -0.0019426 0.00134044 0.999579 -0.0289288 uwb: 0.0 1248.46 1376.8 -imu_odom_: 1691062891.239752507 0.251391 -0.323217 9.95988 -0.0820254 -0.02024 0.0553937 0.18 -0.02 pose: 0.0 -3.71399 -3.78441 0 -0.0019426 0.00134044 0.999579 -0.0289288 uwb: 0.49842632 1250.72 1375.92 -imu_odom_: 1691062891.264727924 0.294487 -0.189142 9.69412 -0.0575243 -0.00319579 0.0340885 0.23 0 pose: 0.7893789 -3.71521 -3.78697 0 -0.00285086 0.00167373 0.999577 -0.0288981 uwb: 0.0 1250.72 1375.92 -imu_odom_: 1691062891.291761221 0.531513 -0.260968 9.67257 -0.0692422 -0.0266316 0.0468716 0.23 0 pose: 0.23977683 -3.72423 -3.78267 0 -0.00496904 0.00163376 0.999569 -0.028884 uwb: 0.49934793 1249.45 1377.58 -imu_odom_: 1691062891.307742746 0.634463 -0.129287 9.92636 -0.0394148 -0.00958738 0.0138484 0.23 0 pose: 0.0 -3.72423 -3.78267 0 -0.00496904 0.00163376 0.999569 -0.028884 uwb: 0.0 1249.45 1377.58 -imu_odom_: 1691062891.334738420 0.878672 -0.383072 10.1155 -0.0862864 -0.0149137 0.0681769 0.23 -0.02 pose: 0.41997257 -3.72423 -3.78267 0 -0.00605857 0.00218072 0.999561 -0.0289245 uwb: 0.0 1249.45 1377.58 -imu_odom_: 1691062891.360756193 0.177171 -0.248997 9.69652 -0.0639159 0.0319579 0.0436758 0.23 -0.02 pose: 0.0 -3.72423 -3.78267 0 -0.00605857 0.00218072 0.999561 -0.0289245 uwb: 0.50122032 1251.82 1376.88 -imu_odom_: 1691062891.387767908 0.823605 -0.371101 9.96467 -0.0585895 -0.0660464 0.0468716 0.25 0 pose: 0.44055720 -3.73756 -3.78739 0 -0.00152704 0.00145488 0.99958 -0.028912 uwb: 0.49878214 1252.08 1377.98 -imu_odom_: 1691062891.403731643 0.562637 -0.234632 9.72046 -0.0415453 0.0340885 0.0468716 0.25 0 pose: 0.0 -3.73756 -3.78739 0 -0.00152704 0.00145488 0.99958 -0.028912 uwb: 0.0 1252.08 1377.98 -imu_odom_: 1691062891.430835810 0.347159 -0.280122 9.92636 -0.0468716 -0.0266316 0.0532632 0.25 0 pose: 0.51983632 -3.74659 -3.78309 0 -0.00175277 -0.0003691160.99957 -0.0292623 uwb: 0.0 1252.08 1377.98 -imu_odom_: 1691062891.455767480 0.567426 -0.253785 10.1993 -0.0575243 -0.0245011 0.0543285 0.25 0 pose: 0.0 -3.74659 -3.78309 0 -0.00175277 -0.0003691160.99957 -0.0292623 uwb: 0.50080618 1249.06 1380.6 -imu_odom_: 1691062891.472709116 0.627281 -0.28491 9.663 -0.0671117 -0.0138484 0.0426106 0.23 0 pose: 0.43017155 -3.75992 -3.78783 0 0.00152586 -0.00111982 0.999565 -0.0294396 uwb: 0.0 1249.06 1380.6 -imu_odom_: 1691062891.497922519 0.699107 -0.220267 10.2185 -0.0553937 -0.036219 0.0639159 0.23 0 pose: 0.0 -3.75992 -3.78783 0 0.00152586 -0.00111982 0.999565 -0.0294396 uwb: 0.49940043 1247.75 1382.23 -imu_odom_: 1691062891.522869646 0.4956 -0.035913 10.3238 -0.0436758 -0.0553937 0.0543285 0.22 -0.02 pose: 0.51933177 -3.75992 -3.78783 0 0.00345328 -0.00206275 0.999549 -0.029769 uwb: 0.0 1247.75 1382.23 -imu_odom_: 1691062891.547741236 0.641646 0.253785 10.2879 -0.0713727 -0.0191748 0.0575243 0.22 -0.02 pose: 0.0 -3.75992 -3.78783 0 0.00345328 -0.00206275 0.999549 -0.029769 uwb: 0.50146822 1246.21 1384.23 -imu_odom_: 1691062891.572715195 0.675165 -0.203507 10.0269 -0.0575243 -0.00213053 0.04048 0.18 0 pose: 0.42423940 -3.76895 -3.78355 0 0.00732588 -0.0009337580.999519 -0.0301306 uwb: 0.0 1246.21 1384.23 -imu_odom_: 1691062891.599732451 0.531513 -0.385466 9.82341 -0.0777643 -0.00106526 0.0553937 0.25 0.02 pose: 0.49620979 -3.78227 -3.78831 0 0.00853129 0.00289346 0.999495 -0.0304618 uwb: 0.50069536 1245.03 1386.1 -imu_odom_: 1691062891.624719825 0.248997 -0.299275 9.33739 -0.0660464 0.0287621 0.0351537 0.25 0.02 pose: 0.0 -3.78227 -3.78831 0 0.00853129 0.00289346 0.999495 -0.0304618 uwb: 0.0 1245.03 1386.1 -imu_odom_: 1691062891.641748956 0.466869 -0.0885855 10.1921 -0.0958738 -0.00532632 0.0543285 0.21 0.02 pose: 0.24963751 -3.78227 -3.78831 0 0.00997956 0.00149544 0.999483 -0.0305408 uwb: 0.50025788 1244.11 1387.63 -imu_odom_: 1691062891.666776870 0.23942 0.0047884 10.0413 -0.0628506 -0.0255663 0.0468716 0.21 0.02 pose: 0.52116916 -3.79563 -3.79295 0 0.00623772 -0.0008670820.999508 -0.0307136 uwb: 0.0 1244.11 1387.63 -imu_odom_: 1691062891.690867422 0.342371 -0.201113 10.398 -0.0649811 0.00426106 0.0490022 0.21 0 pose: 0.34922419 -3.80463 -3.78859 0 0.00410919 0.00126326 0.999514 -0.0308625 uwb: 0.49997498 1244.43 1388.15 -imu_odom_: 1691062891.705889129 0.292093 -0.0502782 9.76595 -0.0500674 -0.0127832 0.0468716 0.21 0 pose: 0.0 -3.80463 -3.78859 0 0.00410919 0.00126326 0.999514 -0.0308625 uwb: 0.0 1244.43 1388.15 -imu_odom_: 1691062891.729781067 0.622492 -0.184354 10.2615 -0.0479369 -0.0149137 0.0340885 0.17 0 pose: 0.39112259 -3.80951 -3.78623 0 0.000595356 0.00199786 0.999516 -0.0310258 uwb: 0.0 1244.43 1388.15 -imu_odom_: 1691062891.754710695 0.476446 -0.0790087 9.7851 -0.0447411 -0.0106526 0.0468716 0.17 0 pose: 0.0 -3.80951 -3.78623 0 0.000595356 0.00199786 0.999516 -0.0310258 uwb: 0.49832716 1244.01 1388.97 -imu_odom_: 1691062891.777840845 0.0766145 -0.141258 9.49062 -0.0649811 0.00639159 0.052198 0.2 0 pose: 0.48821566 -3.81687 -3.79094 0 0.00341161 0.00466803 0.999501 -0.0310482 uwb: 0.0 1244.01 1388.97 -imu_odom_: 1691062891.793708044 0.371101 -0.208296 10.1442 -0.0426106 -0.0298274 0.0500674 0.2 0 pose: 0.0 -3.81687 -3.79094 0 0.00341161 0.00466803 0.999501 -0.0310482 uwb: 0.50231693 1245.08 1389.18 -imu_odom_: 1691062891.811704577 0.897826 -0.112527 9.83777 -0.0543285 0.0255663 0.04048 0.2 0 pose: 0.0 -3.81687 -3.79094 0 0.00341161 0.00466803 0.999501 -0.0310482 uwb: 0.0 1245.08 1389.18 -imu_odom_: 1691062891.835893123 0.881066 -0.0766145 9.42837 -0.0490022 -0.0181095 0.0372843 0.25 0.02 pose: 0.47122416 -3.82699 -3.78889 0 0.00102848 0.0032647 0.999505 -0.0312709 uwb: 0.0 1245.08 1389.18 -imu_odom_: 1691062891.861700325 0.526724 -0.265756 9.73961 -0.0596548 0.02024 0.0447411 0.22 0 pose: 0.34060012 -3.83342 -3.78578 0 0.00439709 0.00394664 0.999494 -0.0312574 uwb: 0.49813758 1243.86 1391 -imu_odom_: 1691062891.883774119 0.1652 0.0837971 9.91199 -0.0553937 0.00319579 0.0426106 0.22 0 pose: 0.6825185 -3.83599 -3.78454 0 0.00452736 0.00328061 0.999495 -0.031279 uwb: 0.0 1243.86 1391 -imu_odom_: 1691062891.908708122 0.320823 0.0407014 9.99819 -0.0681769 0.0191748 0.0585895 0.18 0 pose: 0.41055811 -3.84659 -3.79053 0 0.00305332 0.00276985 0.9995 -0.0313636 uwb: 0.50047954 1242.55 1392.72 -imu_odom_: 1691062891.933928817 0.399832 -0.347159 9.54808 -0.0639159 0.0106526 0.0319579 0.18 0 pose: 0.0 -3.84659 -3.79053 0 0.00305332 0.00276985 0.9995 -0.0313636 uwb: 0.0 1242.55 1392.72 -imu_odom_: 1691062891.947685639 0.371101 -0.351948 9.72046 -0.0468716 0.0468716 0.0287621 0.2 -0.02 pose: 0.0 -3.84659 -3.79053 0 0.00305332 0.00276985 0.9995 -0.0313636 uwb: 0.0 1242.55 1392.72 -imu_odom_: 1691062891.972725219 0.3304 -0.351948 9.33739 -0.0266316 0.00639159 0.04048 0.2 -0.02 pose: 0.55969608 -3.84935 -3.7892 0 0.000522428 0.00141599 0.999504 -0.0314664 uwb: 0.0 1242.55 1392.72 -imu_odom_: 1691062891.997675845 0.656011 -0.0622492 10.2999 -0.0372843 -0.076699 0.0500674 0.23 -0.02 pose: 0.32981492 -3.8627 -3.79386 0 -0.00107379 -0.00124506 0.999504 -0.0314351 uwb: 0.100071700 1244.51 1392.81 -imu_odom_: 1691062892.11728400 0.54109 -0.335188 9.76595 -0.056459 -0.036219 0.0532632 0.23 -0.02 pose: 0.7020881 -3.8627 -3.79386 0 -0.000242649-0.0007753280.999504 -0.0314719 uwb: 0.0 1244.51 1392.81 -imu_odom_: 1691062892.35664670 0.605733 -0.244209 9.52174 -0.0372843 0.0106526 0.0415453 0.17 0.02 pose: 0.0 -3.8627 -3.79386 0 -0.000242649-0.0007753280.999504 -0.0314719 uwb: 0.0 1244.51 1392.81 -imu_odom_: 1691062892.61672235 0.4956 0.0574608 10.0126 -0.0681769 -0.0276969 0.0532632 0.17 0.02 pose: 0.38936978 -3.87171 -3.78952 0 0.00365464 -0.00064057 0.999491 -0.0316706 uwb: 0.50199611 1243.97 1394.25 -imu_odom_: 1691062892.83676326 0.318429 -0.316035 10.1993 -0.0447411 0.0149137 0.0596548 0.2 0 pose: 0.0 -3.87171 -3.78952 0 0.00365464 -0.00064057 0.999491 -0.0316706 uwb: 0.0 1243.97 1394.25 -imu_odom_: 1691062892.100667251 0.237026 -0.172383 9.23204 -0.0894822 0.00319579 0.0585895 0.2 0 pose: 0.49005598 -3.87171 -3.78952 0 0.00480917 0.00149473 0.999478 -0.0319121 uwb: 0.49794219 1244.72 1394.7 -imu_odom_: 1691062892.116815309 0.407014 -0.162806 10.7955 -0.0607201 -0.0330232 0.0308927 0.25 -0.02 pose: 0.0 -3.87171 -3.78952 0 0.00480917 0.00149473 0.999478 -0.0319121 uwb: 0.0 1244.72 1394.7 -imu_odom_: 1691062892.141882596 0.768539 -0.328006 9.86411 -0.076699 -0.0468716 0.0532632 0.25 -0.02 pose: 0.39236793 -3.88505 -3.79419 0 0.00132869 0.000991695 0.99948 -0.0322069 uwb: 0.49855174 1241.61 1397.38 -imu_odom_: 1691062892.167845539 0.612916 -0.100556 9.991 -0.0340885 0.0319579 0.04048 0.23 0.02 pose: 0.0 -3.88505 -3.79419 0 0.00132869 0.000991695 0.99948 -0.0322069 uwb: 0.0 1241.61 1397.38 -imu_odom_: 1691062892.193731195 0.893037 0.0191536 9.4954 -0.0735032 -0.0266316 0.0607201 0.23 0.02 pose: 0.42810668 -3.89407 -3.78986 0 0.00420043 0.00117269 0.999467 -0.0323395 uwb: 0.50085285 1241.89 1398.62 -imu_odom_: 1691062892.217887660 0.715866 -0.114922 10.0844 -0.0575243 0.0351537 0.036219 0.21 0 pose: 0.43995058 -3.90485 -3.79578 0 0.00785416 0.00349246 0.999431 -0.032615 uwb: 0.0 1241.89 1398.62 -imu_odom_: 1691062892.243672697 0.131681 -0.423774 9.67736 -0.0596548 0.0127832 0.0372843 0.21 0 pose: 0.7091169 -3.90741 -3.79455 0 0.00840057 0.00366092 0.999426 -0.0326043 uwb: 0.49875881 1241.16 1399.77 -imu_odom_: 1691062892.267801747 0.229843 -0.294487 10.2496 -0.0713727 -0.0276969 0.0585895 0.19 0.02 pose: 0.42850333 -3.91399 -3.79139 0 0.00733972 0.00258732 0.99944 -0.032555 uwb: 0.0 1241.16 1399.77 -imu_odom_: 1691062892.284679220 0.399832 -0.287304 9.74679 -0.0628506 0.00958738 0.0351537 0.19 0.02 pose: 0.0 -3.91399 -3.79139 0 0.00733972 0.00258732 0.99944 -0.032555 uwb: 0.0 1241.16 1399.77 -imu_odom_: 1691062892.309816212 0.505177 -0.153229 9.43315 -0.0553937 -0.00213053 0.0500674 0.19 0 pose: 0.41006523 -3.91873 -3.79514 0 0.00407626 0.000210151 0.999455 -0.0327512 uwb: 0.50114159 1238.63 1402.7 -imu_odom_: 1691062892.326830760 0.426168 -0.275333 9.79228 -0.072438 -0.0213053 0.0479369 0.19 0 pose: 0.0 -3.91873 -3.79514 0 0.00407626 0.000210151 0.999455 -0.0327512 uwb: 0.0 1238.63 1402.7 -imu_odom_: 1691062892.352869824 0.806846 -0.191536 10.0317 -0.0660464 -0.0649811 0.0468716 0.2 0 pose: 0.42151540 -3.92979 -3.79502 0 0.00419518 0.000982876 0.999448 -0.0329482 uwb: 0.49759804 1239.85 1403.15 -imu_odom_: 1691062892.377815201 0.715866 -0.023942 10.3334 -0.0447411 -0.052198 0.0330232 0.2 0 pose: 0.8121568 -3.92979 -3.79502 0 0.00525485 0.000990448 0.999442 -0.0329779 uwb: 0.0 1239.85 1403.15 -imu_odom_: 1691062892.403690358 0.775721 0.126893 10.1059 -0.0692422 -0.0372843 0.0511327 0.19 0.02 pose: 0.24923212 -3.92979 -3.79502 0 0.00820961 0.00158751 0.99942 -0.0330166 uwb: 0.50003040 1240.51 1404.27 -imu_odom_: 1691062892.429687424 0.706289 -0.0790087 9.94073 -0.0447411 0.0394148 0.0308927 0.21 -0.02 pose: 0.24962876 -3.94308 -3.79986 0 0.0102538 0.00364039 0.999397 -0.0329829 uwb: 0.0 1240.51 1404.27 -imu_odom_: 1691062892.454723504 0.342371 -0.373495 9.43076 -0.0639159 0.0255663 0.0585895 0.21 -0.02 pose: 0.0 -3.94308 -3.79986 0 0.0102538 0.00364039 0.999397 -0.0329829 uwb: 0.49981750 1239.87 1405.6 -imu_odom_: 1691062892.472735203 0.52433 -0.150835 9.991 -0.0372843 0.0170442 0.0319579 0.22 0 pose: 0.25880698 -3.94308 -3.79986 0 0.0119466 0.00556011 0.999367 -0.033045 uwb: 0.0 1239.87 1405.6 -imu_odom_: 1691062892.496646391 0.481235 -0.409408 9.38766 -0.0585895 -0.0245011 0.056459 0.22 0 pose: 0.0 -3.94308 -3.79986 0 0.0119466 0.00556011 0.999367 -0.033045 uwb: 0.49993415 1241.58 1406.06 -imu_odom_: 1691062892.522737952 0.138864 0.0407014 9.8665 -0.0394148 0.0213053 0.0511327 0.24 0 pose: 0.52010465 -3.95214 -3.79563 0 0.010104 0.00464772 0.999387 -0.0331823 uwb: 0.0 1241.58 1406.06 -imu_odom_: 1691062892.547655914 0.179565 -0.426168 9.07402 -0.0703074 0.0351537 0.0436758 0.24 0 pose: 0.0 -3.95214 -3.79563 0 0.010104 0.00464772 0.999387 -0.0331823 uwb: 0.50129033 1240.71 1407.84 -imu_odom_: 1691062892.572664871 0.122104 -0.445322 9.65582 -0.0585895 0.00958738 0.0649811 0.21 0.02 pose: 0.41013815 -3.96543 -3.80047 0 0.0078478 0.00250069 0.999408 -0.0334004 uwb: 0.0 1240.71 1407.84 -imu_odom_: 1691062892.586662013 0.387861 -0.629675 9.76116 -0.0585895 -0.00958738 0.0575243 0.21 0.02 pose: 0.0 -3.96543 -3.80047 0 0.0078478 0.00250069 0.999408 -0.0334004 uwb: 0.0 1240.71 1407.84 -imu_odom_: 1691062892.610802729 0.248997 -0.179565 9.78989 -0.036219 -0.0117179 0.0458064 0.18 0 pose: 0.50989982 -3.97449 -3.79623 0 0.00291273 0.00114805 0.999429 -0.0336474 uwb: 0.49966000 1240.75 1408.71 -imu_odom_: 1691062892.627777905 0.497994 -0.246603 9.48343 -0.0841559 -0.00106526 0.0628506 0.18 0 pose: 0.0 -3.97449 -3.79623 0 0.00291273 0.00114805 0.999429 -0.0336474 uwb: 0.0 1240.75 1408.71 -imu_odom_: 1691062892.652647745 0.186748 -0.275333 9.38288 -0.0713727 0.0479369 0.0490022 0.18 0 pose: 0.38988600 -3.97449 -3.79623 0 0.000680222 -0.00114057 0.99942 -0.0340271 uwb: 0.49886381 1244.61 1407.9 -imu_odom_: 1691062892.676709716 0.102951 -0.220267 9.80426 -0.072438 0 0.0575243 0.18 0 pose: 0.0 -3.97449 -3.79623 0 0.000680222 -0.00114057 0.99942 -0.0340271 uwb: 0.0 1244.61 1407.9 -imu_odom_: 1691062892.700638694 0.181959 -0.172383 10.1347 -0.0745685 0.0394148 0.0511327 0.18 -0.02 pose: 0.41961676 -3.98777 -3.8011 0 -0.000214486-0.00124088 0.99941 -0.0343166 uwb: 0.50062536 1247.95 1407.01 -imu_odom_: 1691062892.725686732 0.428562 -0.56982 9.9503 -0.0916127 0.0308927 0.0575243 0.18 -0.02 pose: 0.0 -3.98777 -3.8011 0 -0.000214486-0.00124088 0.99941 -0.0343166 uwb: 0.0 1247.95 1407.01 -imu_odom_: 1691062892.750899261 0.687136 -0.52433 10.3286 -0.0617853 0.00532632 0.0490022 0.23 0 pose: 0.47999990 -3.99681 -3.79682 0 -0.00551636 -0.0015224 0.999383 -0.0346611 uwb: 0.50126116 1247.67 1408.16 -imu_odom_: 1691062892.764661333 0.703895 -0.287304 9.70609 -0.0500674 -0.0127832 0.0479369 0.23 0 pose: 0.0 -3.99681 -3.79682 0 -0.00551636 -0.0015224 0.999383 -0.0346611 uwb: 0.0 1247.67 1408.16 -imu_odom_: 1691062892.781711171 0.208296 -0.311246 10.2711 -0.0223706 0.0287621 0.0394148 0.18 0 pose: 0.48975267 -4.01004 -3.80162 0 -0.0060133 -0.00389422 0.999361 -0.0350043 uwb: 0.0 1247.67 1408.16 -imu_odom_: 1691062892.806850787 0.349553 -0.229843 9.39245 -0.0617853 0.00213053 0.0490022 0.18 0 pose: 0.0 -4.01004 -3.80162 0 -0.0060133 -0.00389422 0.999361 -0.0350043 uwb: 0.50014415 1248.2 1409.03 -imu_odom_: 1691062892.830642690 0.442927 -0.3304 9.55765 -0.0617853 0.0255663 0.0543285 0.19 0 pose: 0.74191878 -4.02216 -3.80386 0 -0.00381289 -0.00244142 0.999368 -0.0352582 uwb: 0.0 1248.2 1409.03 -imu_odom_: 1691062892.855695395 0.40462 -0.378284 9.70609 -0.0500674 0.00213053 0.0575243 0.19 0 pose: 0.7006591 -4.02336 -3.80638 0 -0.00331187 -0.00282338 0.999367 -0.0353069 uwb: 0.50028997 1247.68 1410.6 -imu_odom_: 1691062892.878661638 0.225055 -0.464475 9.47625 -0.0458064 0.04048 0.0458064 0.19 0 pose: 0.41838017 -4.02986 -3.8033 0 -0.00103693 -0.00589841 0.999347 -0.0356383 uwb: 0.0 1247.68 1410.6 -imu_odom_: 1691062892.896643880 0.433351 -0.277727 9.65582 -0.0500674 -0.0330232 0.0458064 0.19 0 pose: 0.0 -4.02986 -3.8033 0 -0.00103693 -0.00589841 0.999347 -0.0356383 uwb: 0.49767095 1248.07 1411.24 -imu_odom_: 1691062892.922644737 0.275333 -0.0622492 9.29429 -0.0308927 -0.00958738 0.0394148 0.18 -0.02 pose: 0.30996232 -4.0324 -3.80211 0 -0.00247585 -0.00686549 0.999335 -0.0357372 uwb: 0.0 1248.07 1411.24 -imu_odom_: 1691062892.946644003 0.28491 -0.0167594 9.80904 -0.0639159 -0.0127832 0.0511327 0.22 0 pose: 0.0 -4.0324 -3.80211 0 -0.00247585 -0.00686549 0.999335 -0.0357372 uwb: 0.50060495 1246.5 1413.5 -imu_odom_: 1691062892.970991791 0.268151 -0.169988 9.89524 -0.0841559 -0.0138484 0.0617853 0.22 0 pose: 0.43004324 -4.04571 -3.80688 0 -0.00264996 -0.00280632 0.999351 -0.035817 uwb: 0.0 1246.5 1413.5 -imu_odom_: 1691062892.995778511 0.0047884 -0.275333 9.79707 -0.0490022 -0.00319579 0.0372843 0.19 0 pose: 0.0 -4.04571 -3.80688 0 -0.00264996 -0.00280632 0.999351 -0.035817 uwb: 0.50030747 1245.09 1415.26 -imu_odom_: 1691062893.12639069 0.864307 -0.0311246 10.3669 -0.0330232 -0.036219 0.036219 0.19 0 pose: 0.49098051 -4.05475 -3.80262 0 -0.00555941 -0.0001928980.999329 -0.0361892 uwb: 0.0 1245.09 1415.26 -imu_odom_: 1691062893.37782477 0.797269 -0.205901 10.0796 -0.0276969 -0.0223706 0.0415453 0.19 0 pose: 0.0 -4.05475 -3.80262 0 -0.00555941 -0.0001928980.999329 -0.0361892 uwb: 0.49996333 1246.3 1415.64 -imu_odom_: 1691062893.61686665 0.881066 -0.112527 10.2879 -0.0426106 -0.0170442 0.0596548 0.19 0 pose: 0.41899555 -4.0638 -3.79836 0 -0.00449376 0.000355122 0.999336 -0.0361489 uwb: 0.0 1246.3 1415.64 -imu_odom_: 1691062893.75740679 0.186748 -0.059855 9.43794 -0.0553937 0.0479369 0.0436758 0.19 0 pose: 0.0 -4.0638 -3.79836 0 -0.00449376 0.000355122 0.999336 -0.0361489 uwb: 0.0 1246.3 1415.64 -imu_odom_: 1691062893.91752828 0.222661 -0.174777 9.72285 -0.04048 0.0415453 -0.0127832 0.19 0 pose: 0.0 -4.0638 -3.79836 0 -0.00449376 0.000355122 0.999336 -0.0361489 uwb: 0.50024914 1246.02 1416.84 -imu_odom_: 1691062893.109754319 0.414197 0.0837971 10.0245 -0.0596548 -0.00852212 -0.0617853 0.19 0 pose: 0.48080778 -4.06806 -3.8074 0 -0.0009517090.00163 0.999335 -0.0364214 uwb: 0.0 1246.02 1416.84 -imu_odom_: 1691062893.127641484 -0.0766145 0.196325 9.73722 -0.0479369 0.0223706 -0.100135 0.19 -0.17 pose: 0.40979984 -4.07711 -3.80315 0 -0.00318045 0.00371214 0.999372 -0.0351088 uwb: 0.0 1246.02 1416.84 -imu_odom_: 1691062893.143624468 0.0670376 -0.474052 10.0628 -0.0671117 -0.0553937 -0.104396 0.19 -0.17 pose: 0.0 -4.07711 -3.80315 0 -0.00318045 0.00371214 0.999372 -0.0351088 uwb: 0.50102202 1249.8 1415.74 -imu_odom_: 1691062893.161728328 0.600945 -0.136469 10.3597 -0.0692422 -0.0820254 -0.175769 0.19 -0.17 pose: 0.0 -4.07711 -3.80315 0 -0.00318045 0.00371214 0.999372 -0.0351088 uwb: 0.0 1249.8 1415.74 -imu_odom_: 1691062893.177728228 0.806846 -0.0167594 9.18416 -0.0607201 -0.0383495 -0.259925 0.18 -0.32 pose: 0.8081320 -4.07711 -3.80315 0 -0.00393993 0.00422011 0.999387 -0.0345439 uwb: 0.0 1249.8 1415.74 -imu_odom_: 1691062893.195611018 0.775721 0.129287 9.90002 -0.0809601 -0.00745685 -0.297209 0.25 -0.53 pose: 0.0 -4.07711 -3.80315 0 -0.00393993 0.00422011 0.999387 -0.0345439 uwb: 0.49880839 1250.1 1416.24 -imu_odom_: 1691062893.212595818 0.861913 -0.162806 10.0604 -0.0607201 -0.00958738 -0.360059 0.25 -0.53 pose: 0.67902163 -4.09038 -3.80803 0 -0.0003528280.00420571 0.999626 -0.0270186 uwb: 0.0 1250.1 1416.24 -imu_odom_: 1691062893.225592602 0.251391 -0.25618 9.45949 -0.0660464 0.0383495 -0.399474 0.25 -0.53 pose: 0.0 -4.09038 -3.80803 0 -0.0003528280.00420571 0.999626 -0.0270186 uwb: 0.0 1250.1 1416.24 -imu_odom_: 1691062893.241593376 0.663194 0.172383 9.85932 -0.0703074 -0.0330232 -0.421845 0.18 -0.44 pose: 0.0 -4.09038 -3.80803 0 -0.0003528280.00420571 0.999626 -0.0270186 uwb: 0.50299649 1249.03 1418.59 -imu_odom_: 1691062893.259653489 0.579397 -0.126893 9.77553 -0.0553937 -0.0223706 -0.450607 0.18 -0.44 pose: 0.32864541 -4.09948 -3.80387 0 0.00155417 0.00413956 0.999777 -0.0206558 uwb: 0.0 1249.03 1418.59 -imu_odom_: 1691062893.276673580 0.641646 -0.225055 10.0221 -0.0383495 -0.0191748 -0.48363 0.18 -0.5 pose: 0.41051146 -4.10868 -3.81064 0 0.00394053 0.00484437 0.99992 -0.0110131 uwb: 0.0 1249.03 1418.59 -imu_odom_: 1691062893.289757275 0.533907 -0.0957681 9.52174 -0.0532632 0.0628506 -0.500674 0.18 -0.5 pose: 0.0 -4.10868 -3.81064 0 0.00394053 0.00484437 0.99992 -0.0110131 uwb: 0.49609314 1249.64 1419.62 -imu_odom_: 1691062893.305681929 0.208296 -0.167594 9.63906 -0.0596548 0.0191748 -0.507066 0.18 -0.5 pose: 0.0 -4.10868 -3.81064 0 0.00394053 0.00484437 0.99992 -0.0110131 uwb: 0.0 1249.64 1419.62 -imu_odom_: 1691062893.320739800 0.222661 0.0526724 10.1275 -0.0862864 0 -0.526241 0.25 -0.79 pose: 0.8039323 -4.11276 -3.80881 0 0.00466489 0.00448521 0.999939 -0.00891508 uwb: 0.0 1249.64 1419.62 -imu_odom_: 1691062893.333758749 0.409408 -0.304064 9.38766 -0.0692422 -0.00426106 -0.531567 0.25 -0.79 pose: 0.0 -4.11276 -3.80881 0 0.00466489 0.00448521 0.999939 -0.00891508 uwb: 0.0 1249.64 1419.62 -imu_odom_: 1691062893.349629739 1.13485 0.196325 10.2424 -0.0639159 -0.0511327 -0.533697 0.25 -0.79 pose: 0.0 -4.11276 -3.80881 0 0.00466489 0.00448521 0.999939 -0.00891508 uwb: 0.50202821 1248.29 1421.53 -imu_odom_: 1691062893.367664771 1.61369 0.138864 10.1155 -0.0692422 -0.0245011 -0.488956 0.21 -0.67 pose: 0.43929728 -4.11276 -3.80881 0 0.00342037 0.00517726 0.999976 0.00300711 uwb: 0.0 1248.29 1421.53 -imu_odom_: 1691062893.385601516 1.53229 -0.253785 10.2089 -0.0447411 -0.0447411 -0.465521 0.14 -0.41 pose: 0.0 -4.11276 -3.80881 0 0.00342037 0.00517726 0.999976 0.00300711 uwb: 0.0 1248.29 1421.53 -imu_odom_: 1691062893.399590783 0.849942 -0.184354 9.46907 -0.052198 0.0255663 -0.437824 0.14 -0.41 pose: 0.64054138 -4.12189 -3.80474 0 0.00698107 0.00499089 0.99975 0.0206329 uwb: 0.49818718 1248.65 1422.14 -imu_odom_: 1691062893.416720242 1.20428 -0.229843 10.082 -0.0745685 -0.0181095 -0.369647 0.13 -0.44 pose: 0.0 -4.12189 -3.80474 0 0.00698107 0.00499089 0.99975 0.0206329 uwb: 0.0 1248.65 1422.14 -imu_odom_: 1691062893.433663045 1.24498 -0.248997 10.173 -0.0703074 -0.00639159 -0.316384 0.13 -0.44 pose: 0.0 -4.12189 -3.80474 0 0.00698107 0.00499089 0.99975 0.0206329 uwb: 0.0 1248.65 1422.14 -imu_odom_: 1691062893.450623347 0.648829 -0.52433 9.69412 -0.0319579 0.056459 -0.311057 0.13 -0.44 pose: 0.30947236 -4.13512 -3.80975 0 0.0100146 0.00442098 0.999551 0.0278951 uwb: 0.49943544 1250.12 1422.09 -imu_odom_: 1691062893.468741790 0.723049 -0.114922 9.73961 -0.0511327 0.0372843 -0.282295 0.1 -0.29 pose: 0.43999433 -4.13509 -3.80973 0 0.0121579 0.00221763 0.999279 0.0359038 uwb: 0.0 1250.12 1422.09 -imu_odom_: 1691062893.485728923 0.442927 -0.134075 9.94073 -0.0468716 0.0181095 -0.24075 0.1 -0.29 pose: 0.8004908 -4.13512 -3.80975 0 0.0127028 0.00261949 0.999224 0.037193 uwb: 0.0 1250.12 1422.09 -imu_odom_: 1691062893.499789353 0.828394 -0.447716 10.1514 -0.0596548 0.00213053 -0.216249 0.1 -0.29 pose: 0.0 -4.13512 -3.80975 0 0.0127028 0.00261949 0.999224 0.037193 uwb: 0.50114159 1251.9 1421.74 -imu_odom_: 1691062893.516603830 0.90022 -0.363919 9.5385 -0.0511327 -0.00426106 -0.211988 0.07 -0.26 pose: 0.41161098 -4.14419 -3.80559 0 0.0121555 0.00214822 0.998999 0.0429874 uwb: 0.0 1251.9 1421.74 -imu_odom_: 1691062893.532739639 0.988805 -0.0981623 10.137 -0.0553937 -0.0223706 -0.196009 0.07 -0.23 pose: 0.0 -4.14419 -3.80559 0 0.0121555 0.00214822 0.998999 0.0429874 uwb: 0.0 1251.9 1421.74 -imu_odom_: 1691062893.550844666 0.943315 -0.126893 9.79707 -0.0585895 0 -0.164051 0.07 -0.23 pose: 0.0 -4.14419 -3.80559 0 0.0121555 0.00214822 0.998999 0.0429874 uwb: 0.50061663 1252.99 1421.88 -imu_odom_: 1691062893.574653193 0.620098 -0.246603 9.89045 -0.0479369 -0.00426106 -0.169377 0.07 -0.23 pose: 0.23985851 -4.14422 -3.80561 0 0.014228 0.00130616 0.998843 0.0459279 uwb: 0.0 1252.99 1421.88 -imu_odom_: 1691062893.592661101 0.390255 -0.186748 9.82102 -0.0511327 0.0255663 -0.162985 0.07 -0.23 pose: 0.0 -4.14422 -3.80561 0 0.014228 0.00130616 0.998843 0.0459279 uwb: 0.49879964 1253.46 1422.67 -imu_odom_: 1691062893.609662234 0.0143652 -0.0837971 9.96227 -0.0500674 0.0308927 -0.204531 0.07 -0.14 pose: 0.34885672 -4.14422 -3.80561 0 0.0162843 0.00135104 0.998634 0.0496339 uwb: 0.0 1253.46 1422.67 -imu_odom_: 1691062893.623599004 -1.03908 -0.0454898 9.44513 -0.0308927 0.105461 -0.253533 0.07 -0.14 pose: 0.42069296 -4.14422 -3.80561 0 0.0119533 0.00095317 0.998463 0.0541007 uwb: 0.0 1253.46 1422.67 -imu_odom_: 1691062893.640726130 -1.14443 -0.059855 10.3477 -0.0532632 0.0287621 -0.157659 0.07 -0.14 pose: 0.0 -4.14422 -3.80561 0 0.0119533 0.00095317 0.998463 0.0541007 uwb: 0.0 1253.46 1422.67 -imu_odom_: 1691062893.657636268 -0.426168 -0.952892 10.07 -0.0980043 -0.0468716 -0.072438 0.1 -0.11 pose: 0.39995958 -4.15331 -3.80143 0 0.00680059 0.00187114 0.998238 0.0589241 uwb: 0.0 1253.46 1422.67 -imu_odom_: 1691062893.674630110 0.378284 -0.344765 9.98622 -0.0298274 -0.0319579 -0.105461 0.1 -0.11 pose: 0.0 -4.15331 -3.80143 0 0.00680059 0.00187114 0.998238 0.0589241 uwb: 0.0 1253.46 1422.67 -imu_odom_: 1691062893.691625410 0.646434 0.141258 9.58399 -0.0532632 0.00106526 -0.0649811 0.1 -0.11 pose: 0.0 -4.15331 -3.80143 0 0.00680059 0.00187114 0.998238 0.0589241 uwb: 0.0 1253.46 1422.67 -imu_odom_: 1691062893.708573171 -0.148441 -0.141258 9.94551 -0.0681769 0.0340885 -0.056459 0.12 -0.11 pose: 0.6999008 -4.15331 -3.80143 0 0.00637218 0.00130699 0.998218 0.0593153 uwb: 0.0 1253.46 1422.67 -imu_odom_: 1691062893.725575471 -0.189142 -0.45011 9.83299 -0.0426106 0 -0.105461 0.12 -0.11 pose: 0.0 -4.15331 -3.80143 0 0.00637218 0.00130699 0.998218 0.0593153 uwb: 0.0 1253.46 1422.67 -imu_odom_: 1691062893.742581562 -0.229843 -0.383072 9.68455 -0.0543285 0 -0.0894822 0.12 -0.11 pose: 0.68916812 -4.16661 -3.80636 0 0.00269712 0.00103517 0.997985 0.0633865 uwb: 0.149900337 1252.51 1423.59 -imu_odom_: 1691062893.759568404 0.311246 -0.217872 9.92636 -0.0511327 -0.0351537 -0.056459 0.12 -0.11 pose: 0.0 -4.16661 -3.80636 0 0.00269712 0.00103517 0.997985 0.0633865 uwb: 0.0 1252.51 1423.59 -imu_odom_: 1691062893.777563479 0.4956 -0.311246 9.75158 -0.072438 -0.00852212 -0.04048 0.13 -0.11 pose: 0.0 -4.16661 -3.80636 0 0.00269712 0.00103517 0.997985 0.0633865 uwb: 0.0 1252.51 1423.59 -imu_odom_: 1691062893.794599318 0.47884 -0.225055 10.4435 -0.0649811 0.00532632 -0.072438 0.13 -0.11 pose: 0.32931037 -4.16661 -3.80636 0 -0.0004596350.000435814 0.997855 0.0654644 uwb: 0.50043580 1250.06 1426.21 -imu_odom_: 1691062893.810589302 0.23942 -0.205901 9.61511 -0.0660464 0.0170442 -0.0596548 0.14 -0.11 pose: 0.36052272 -4.17569 -3.80216 0 0.000771152 -0.0010165 0.997744 0.067115 uwb: 0.0 1250.06 1426.21 -imu_odom_: 1691062893.828645915 0.471658 -0.260968 10.1586 -0.056459 -0.02024 -0.0511327 0.14 -0.11 pose: 0.0 -4.17569 -3.80216 0 0.000771152 -0.0010165 0.997744 0.067115 uwb: 0.0 1250.06 1426.21 -imu_odom_: 1691062893.844640857 -0.00957681-0.229843 9.55526 -0.0543285 -0.0117179 -0.0415453 0.14 -0.11 pose: 0.43020656 -4.17569 -3.80216 0 0.00161603 -0.00161187 0.997598 0.0692263 uwb: 0.50208654 1250.98 1426.93 -imu_odom_: 1691062893.861849644 1.1157 -0.0550666 10.6374 -0.0415453 -0.0873517 -0.0585895 0.2 -0.11 pose: 0.0 -4.17569 -3.80216 0 0.00161603 -0.00161187 0.997598 0.0692263 uwb: 0.0 1250.98 1426.93 -imu_odom_: 1691062893.878584210 1.09415 0.0622492 9.57202 -0.0585895 -0.056459 -0.015979 0.13 -0.08 pose: 0.0 -4.17569 -3.80216 0 0.00161603 -0.00161187 0.997598 0.0692263 uwb: 0.0 1250.98 1426.93 -imu_odom_: 1691062893.895642798 1.57778 -0.37589 10.4459 -0.0617853 0.0191748 0.0383495 0.13 -0.08 pose: 0.7140750 -4.17569 -3.80216 0 0.00093236 -0.00153924 0.997579 0.0695143 uwb: 0.49788678 1249.58 1428.81 -imu_odom_: 1691062893.913684828 1.32878 -0.634463 9.97424 -0.0553937 -0.0340885 0.0436758 0.11 -0.08 pose: 0.0 -4.17569 -3.80216 0 0.00093236 -0.00153924 0.997579 0.0695143 uwb: 0.0 1249.58 1428.81 -imu_odom_: 1691062893.930891283 1.34794 -0.246603 9.68933 -0.04048 0.00958738 -0.02024 0.11 -0.08 pose: 0.49799761 -4.18477 -3.79798 0 0.00510338 -0.0006883910.99745 0.071185 uwb: 0.0 1249.58 1428.81 -imu_odom_: 1691062893.947577434 1.17076 0.191536 9.92157 -0.0553937 0.0287621 -0.036219 0.11 -0.08 pose: 0.0 -4.18477 -3.79798 0 0.00510338 -0.0006883910.99745 0.071185 uwb: 0.50149158 1248.43 1430.29 -imu_odom_: 1691062893.965700252 0.696713 -0.246603 9.79228 -0.0681769 0.0213053 -0.0276969 0.09 -0.02 pose: 0.0 -4.18477 -3.79798 0 0.00510338 -0.0006883910.99745 0.071185 uwb: 0.0 1248.43 1430.29 -imu_odom_: 1691062893.982697010 0.713472 -0.344765 9.9503 -0.056459 -0.0234358 -0.072438 0.09 -0.02 pose: 0.69997666 -4.19388 -3.79385 0 0.0111641 -0.00129243 0.9973 0.0725697 uwb: 0.0 1248.43 1430.29 -imu_odom_: 1691062893.995621173 0.775721 -0.181959 9.93354 -0.0500674 -0.0276969 -0.0671117 0.09 -0.02 pose: 0.0 -4.19388 -3.79385 0 0.0111641 -0.00129243 0.9973 0.0725697 uwb: 0.0 1248.43 1430.29 -imu_odom_: 1691062894.12564559 0.943315 -0.112527 9.84256 -0.0543285 -0.00958738 -0.0340885 0.07 -0.05 pose: 0.0 -4.19388 -3.79385 0 0.0111641 -0.00129243 0.9973 0.0725697 uwb: 0.0 1248.43 1430.29 -imu_odom_: 1691062894.28564751 0.727837 -0.349553 9.87608 -0.0553937 0.0191748 -0.0138484 0.07 -0.05 pose: 0.33041864 -4.19802 -3.80295 0 0.0135337 -0.00291414 0.99715 0.0741576 uwb: 0.0 1248.43 1430.29 -imu_odom_: 1691062894.45585133 0.792481 -0.229843 10.0173 -0.0447411 0 -0.0394148 0.06 -0.05 pose: 0.39938795 -4.19802 -3.80295 0 0.0157113 -0.0034665 0.997011 0.0755696 uwb: 0.100062953 1249.56 1430.51 -imu_odom_: 1691062894.71625072 0.778116 -0.0957681 9.83299 -0.056459 -0.00106526 -0.0245011 0.06 -0.05 pose: 0.0 -4.19802 -3.80295 0 0.0157113 -0.0034665 0.997011 0.0755696 uwb: 0.0 1249.56 1430.51 -imu_odom_: 1691062894.96604865 -0.122104 -0.349553 9.76834 -0.0490022 0.0809601 -0.0276969 0.06 -0.02 pose: 0.8031448 -4.19802 -3.80295 0 0.0164644 -0.00317484 0.996975 0.0758908 uwb: 0.49782263 1251.74 1429.94 -imu_odom_: 1691062894.112624306 -1.31921 -0.0861913 10.1801 -0.0532632 0.0862864 -0.00852212 0.06 0 pose: 0.0 -4.19802 -3.80295 0 0.0164644 -0.00317484 0.996975 0.0758908 uwb: 0.0 1251.74 1429.94 -imu_odom_: 1691062894.136753356 -0.864307 -0.383072 9.96467 -0.056459 -0.0830906 0.0276969 0.08 -0.02 pose: 0.76028107 -4.20712 -3.7988 0 0.0122112 -0.0001391780.996851 0.0783491 uwb: 0.49950253 1253.76 1429.08 -imu_odom_: 1691062894.162698218 1.07978 -0.258574 10.2831 -0.0468716 -0.0543285 0.0351537 0.12 -0.02 pose: 0.0 -4.20712 -3.7988 0 0.0122112 -0.0001391780.996851 0.0783491 uwb: 0.0 1253.76 1429.08 -imu_odom_: 1691062894.188569000 -0.0023942 -0.0814029 10.3286 -0.056459 0.0575243 0.0181095 0.12 -0.02 pose: 0.32011466 -4.20712 -3.7988 0 0.0117207 -0.0004657850.996845 0.0785076 uwb: 0.50202530 1255.24 1429.02 -imu_odom_: 1691062894.213567459 -0.361524 -0.426168 9.60793 -0.0532632 -0.00532632 0.0106526 0.15 0 pose: 0.43933228 -4.20712 -3.7988 0 0.0106496 -5.90024e-050.996831 0.0788287 uwb: 0.0 1255.24 1429.02 -imu_odom_: 1691062894.228556210 0.124498 -0.112527 10.2161 -0.052198 0.00213053 0.0106526 0.15 0 pose: 0.8012491 -4.20712 -3.7988 0 0.00986261 -0.0001703470.99683 0.0789435 uwb: 0.0 1255.24 1429.02 -imu_odom_: 1691062894.251586033 0.320823 -0.282516 9.79228 -0.0585895 -0.00319579 0.0351537 0.12 -0.02 pose: 0.0 -4.20712 -3.7988 0 0.00986261 -0.0001703470.99683 0.0789435 uwb: 0.49804428 1255.06 1429.57 -imu_odom_: 1691062894.268633538 0.344765 -0.177171 10.2568 -0.0447411 0.00426106 0.0106526 0.12 -0.02 pose: 0.39041390 -4.21621 -3.79463 0 0.00602821 -0.0001470550.996823 0.0794211 uwb: 0.0 1255.06 1429.57 -imu_odom_: 1691062894.293551793 -0.189142 -0.320823 9.66539 -0.0649811 -0.00745685 0.0426106 0.14 -0.02 pose: 0.0 -4.21621 -3.79463 0 0.00602821 -0.0001470550.996823 0.0794211 uwb: 0.50002458 1252.09 1431.4 -imu_odom_: 1691062894.319599607 0.529119 -0.189142 9.71088 -0.0735032 -0.0127832 0.02024 0.14 -0.02 pose: 0.42036923 -4.21621 -3.79463 0 0.0019304 -4.74525e-050.996818 0.0796883 uwb: 0.0 1252.09 1431.4 -imu_odom_: 1691062894.341564617 0.430956 -0.131681 10.228 -0.052198 0.00532632 0.0213053 0.14 -0.02 pose: 0.0 -4.21621 -3.79463 0 0.0019304 -4.74525e-050.996818 0.0796883 uwb: 0.50175990 1253.5 1431.22 -imu_odom_: 1691062894.366613240 -0.158017 -0.280122 9.39245 -0.0703074 -0.00852212 0.0213053 0.14 -0.02 pose: 0.47913663 -4.22529 -3.79044 0 0.00281083 0.000502617 0.996793 0.0799722 uwb: 0.0 1253.5 1431.22 -imu_odom_: 1691062894.384624647 -0.0263362 -0.150835 9.7851 -0.0458064 -0.0426106 0.0181095 0.17 -0.02 pose: 0.0 -4.22529 -3.79044 0 0.00281083 0.000502617 0.996793 0.0799722 uwb: 0.0 1253.5 1431.22 -imu_odom_: 1691062894.407527020 0.682347 -0.260968 9.80904 -0.0511327 0.00426106 0.0213053 0.17 -0.02 pose: 0.49041181 -4.23856 -3.79533 0 -0.0008545750.00177789 0.996757 0.0804428 uwb: 0.49852842 1255.36 1430.07 -imu_odom_: 1691062894.433531961 0.371101 -0.490811 9.64145 -0.0490022 0.0255663 0.0149137 0.19 0 pose: 0.32912372 -4.23856 -3.79533 0 0.000423305 0.00126874 0.996733 0.0807574 uwb: 0.0 1255.36 1430.07 -imu_odom_: 1691062894.446571325 0.277727 -0.366313 9.81144 -0.0468716 0.0553937 0.02024 0.19 0 pose: 0.8097069 -4.23856 -3.79533 0 0.000138609 0.000511426 0.996726 0.0808567 uwb: 0.50167240 1256.96 1429.34 -imu_odom_: 1691062894.471586991 0.651223 -0.311246 10.1586 -0.0468716 -0.0308927 0.0340885 0.15 -0.02 pose: 0.0 -4.23856 -3.79533 0 0.000138609 0.000511426 0.996726 0.0808567 uwb: 0.0 1256.96 1429.34 -imu_odom_: 1691062894.496546660 0.387861 -0.150835 9.41879 -0.0543285 -0.0372843 0.0319579 0.15 -0.02 pose: 0.39137925 -4.24763 -3.79112 0 -0.000929352-0.00215897 0.996693 0.0812257 uwb: 0.49824260 1256.04 1430.35 -imu_odom_: 1691062894.517585975 0.629675 -0.179565 10.3262 -0.0617853 -0.0415453 0.04048 0.17 -0.02 pose: 0.0 -4.24763 -3.79112 0 -0.000929352-0.00215897 0.996693 0.0812257 uwb: 0.0 1256.04 1430.35 -imu_odom_: 1691062894.532603015 1.11809 -0.229843 9.73961 -0.0553937 0.0181095 0.0330232 0.17 -0.02 pose: 0.47800795 -4.2567 -3.78691 0 0.00145786 -0.0001262470.996683 0.0813675 uwb: 0.0 1256.04 1430.35 -imu_odom_: 1691062894.556521203 0.610521 -0.129287 10.137 -0.0383495 -0.0170442 0.0234358 0.16 0 pose: 0.0 -4.2567 -3.78691 0 0.00145786 -0.0001262470.996683 0.0813675 uwb: 0.49832718 1256.55 1430.35 -imu_odom_: 1691062894.574548068 0.42138 -0.227449 9.6199 -0.0639159 -0.00532632 0.0553937 0.16 0 pose: 0.38044239 -4.2567 -3.78691 0 0.0053039 0.000260402 0.996661 0.0814747 uwb: 0.0 1256.55 1430.35 -imu_odom_: 1691062894.598865525 0.395043 0.0861913 10.343 -0.0479369 -0.00958738 0.0245011 0.16 0.02 pose: 0.0 -4.2567 -3.78691 0 0.0053039 0.000260402 0.996661 0.0814747 uwb: 0.50128451 1258.4 1430.04 -imu_odom_: 1691062894.624749140 0.272939 -0.349553 10.6207 -0.0575243 0.00532632 0.0394148 0.16 0.02 pose: 0.41936887 -4.26999 -3.79175 0 0.00487255 0.0013486 0.996658 0.0815269 uwb: 0.0 1258.4 1430.04 -imu_odom_: 1691062894.647687677 0.225055 -0.237026 10.0269 -0.0276969 0.0245011 0.0223706 0.18 -0.02 pose: 0.0 -4.26999 -3.79175 0 0.00487255 0.0013486 0.996658 0.0815269 uwb: 0.49983793 1256.72 1431.5 -imu_odom_: 1691062894.672623139 0.47884 -0.311246 9.55287 -0.0468716 0.00745685 0.0383495 0.18 -0.02 pose: 0.49259918 -4.27905 -3.78753 0 0.00150177 0.00133859 0.996653 0.0817199 uwb: 0.0 1256.72 1431.5 -imu_odom_: 1691062894.689570609 0.320823 -0.296881 10.2807 -0.0372843 -0.0170442 0.0245011 0.19 0 pose: 0.0 -4.27905 -3.78753 0 0.00150177 0.00133859 0.996653 0.0817199 uwb: 0.50130201 1256.56 1432.09 -imu_odom_: 1691062894.713543919 0.919373 -0.225055 10.1969 -0.0426106 -0.0426106 0.0426106 0.19 0 pose: 0.48899731 -4.28812 -3.78331 0 0.000175915 -0.0010472 0.996637 0.0819308 uwb: 0.0 1256.56 1432.09 -imu_odom_: 1691062894.738545877 0.306458 -0.143652 10.2544 -0.0447411 -0.00426106 0.0351537 0.2 -0.02 pose: 0.32840335 -4.28812 -3.78331 0 0.0023365 -0.0014107 0.996632 0.0819628 uwb: 0.50194947 1257.08 1432.11 -imu_odom_: 1691062894.752580058 0.746991 -0.0957681 10.3382 -0.0340885 -0.0181095 0.0372843 0.2 -0.02 pose: 0.8007241 -4.28812 -3.78331 0 0.00170693 -0.0008758270.996632 0.0819808 uwb: 0.0 1257.08 1432.11 -imu_odom_: 1691062894.777602140 0.0957681 -0.258574 9.93354 -0.0628506 0.00426106 0.0447411 0.17 0.05 pose: 0.0 -4.28812 -3.78331 0 0.00170693 -0.0008758270.996632 0.0819808 uwb: 0.0 1257.08 1432.11 -imu_odom_: 1691062894.802585141 0.186748 -0.213084 10.0533 -0.0458064 0.00958738 0.0607201 0.17 0.05 pose: 0.39039348 -4.29718 -3.77908 0 0.00100987 0.000633159 0.99663 0.0820144 uwb: 0.49677560 1254.5 1434.64 -imu_odom_: 1691062894.827597891 0.265756 -0.464475 9.77074 -0.0511327 0.0223706 0.0468716 0.16 0 pose: 0.41994633 -4.30754 -3.78528 0 -0.00342039 0.000684665 0.99665 0.081709 uwb: 0.0 1254.5 1434.64 -imu_odom_: 1691062894.853638996 0.328006 -0.169988 9.88566 -0.0458064 -0.0213053 0.04048 0.16 0 pose: 0.8103194 -4.31047 -3.78392 0 -0.00380367 -5.16343e-050.996651 0.0816823 uwb: 0.50231695 1251.68 1436.8 -imu_odom_: 1691062894.866630239 0.100556 -0.203507 9.74919 -0.0607201 -0.0127832 0.0490022 0.19 0 pose: 0.0 -4.31047 -3.78392 0 -0.00380367 -5.16343e-050.996651 0.0816823 uwb: 0.0 1251.68 1436.8 -imu_odom_: 1691062894.881632114 0.78051 -0.301669 10.07 -0.0436758 -0.0276969 0.02024 0.19 0 pose: 0.48837318 -4.31954 -3.77969 0 -0.00435287 0.00108255 0.996657 0.0815769 uwb: 0.0 1251.68 1436.8 -imu_odom_: 1691062894.899514029 -0.155623 -0.299275 9.25359 -0.056459 0.0298274 0.0479369 0.19 0 pose: 0.0 -4.31954 -3.77969 0 -0.00435287 0.00108255 0.996657 0.0815769 uwb: 0.49824260 1251.9 1437.16 -imu_odom_: 1691062894.923499005 0.117316 -0.129287 9.4954 -0.0575243 -0.0319579 0.04048 0.24 0 pose: 0.30096494 -4.31954 -3.77969 0 -0.00434459 0.000677241 0.996651 0.0816574 uwb: 0.0 1251.9 1437.16 -imu_odom_: 1691062894.949505404 0.174777 -0.150835 9.85693 -0.0585895 -0.00106526 0.0490022 0.22 0 pose: 0.33876858 -4.32857 -3.77545 0 -0.00726474 0.00169874 0.996637 0.0815997 uwb: 0.50066038 1251.68 1437.67 -imu_odom_: 1691062894.970554343 0.155623 -0.191536 10.1083 -0.0575243 0.04048 0.04048 0.22 0 pose: 0.0 -4.32857 -3.77545 0 -0.00726474 0.00169874 0.996637 0.0815997 uwb: 0.0 1251.68 1437.67 -imu_odom_: 1691062894.983496880 0.294487 -0.158017 9.67257 -0.0426106 0.0170442 0.04048 0.22 0 pose: 0.0 -4.32857 -3.77545 0 -0.00726474 0.00169874 0.996637 0.0815997 uwb: 0.0 1251.68 1437.67 -imu_odom_: 1691062895.7548060 0.1652 -0.160412 9.35654 -0.0649811 0.00426106 0.0511327 0.17 0 pose: 0.8072279 -4.3286 -3.77547 0 -0.00796855 0.00210618 0.996634 0.0815593 uwb: 0.50047664 1251.67 1438.54 -imu_odom_: 1691062895.24508363 0.344765 -0.172383 9.96946 -0.0319579 0.0458064 0.0276969 0.17 0 pose: 0.0 -4.3286 -3.77547 0 -0.00796855 0.00210618 0.996634 0.0815593 uwb: 0.0 1251.67 1438.54 -imu_odom_: 1691062895.49565735 0.328006 -0.227449 10.0102 -0.0532632 0 0.0543285 0.23 0.02 pose: 0.44940587 -4.33767 -3.77125 0 -0.0114845 0.00253096 0.996607 0.0814644 uwb: 0.49704976 1250.39 1439.86 -imu_odom_: 1691062895.75579718 0.507571 -0.0383072 10.4435 -0.0372843 -0.0255663 0.0383495 0.21 0 pose: 0.73053864 -4.35095 -3.7761 0 -0.00949677 0.00279841 0.996646 0.0812301 uwb: 0.0 1250.39 1439.86 -imu_odom_: 1691062895.98497839 0.641646 -0.289698 9.95988 -0.0660464 -0.0127832 0.0543285 0.21 0 pose: 0.0 -4.35095 -3.7761 0 -0.00949677 0.00279841 0.996646 0.0812301 uwb: 0.50047956 1248.91 1441.73 -imu_odom_: 1691062895.122504106 0.466869 -0.251391 9.68455 -0.0394148 -0.0276969 0.0308927 0.18 0 pose: 0.8069362 -4.35095 -3.7761 0 -0.0086424 0.0031296 0.996653 0.0812318 uwb: 0.0 1248.91 1441.73 -imu_odom_: 1691062895.139489490 0.471658 -0.129287 10.1131 -0.0788296 -0.0287621 0.0628506 0.18 0 pose: 0.0 -4.35095 -3.7761 0 -0.0086424 0.0031296 0.996653 0.0812318 uwb: 0.50056706 1247.9 1443.56 -imu_odom_: 1691062895.164509823 0.366313 -0.107739 10.0413 -0.0575243 0.036219 0.0490022 0.18 0 pose: 0.48951062 -4.36002 -3.77189 0 -0.00379637 0.00238718 0.996696 0.0811023 uwb: 0.0 1247.9 1443.56 -imu_odom_: 1691062895.188558087 0.447716 -0.141258 10.3094 -0.0649811 0.0511327 0.0532632 0.18 0 pose: 0.0 -4.36002 -3.77189 0 -0.00379637 0.00238718 0.996696 0.0811023 uwb: 0.49930713 1245.64 1445.89 -imu_odom_: 1691062895.205508765 -0.0670376 -0.174777 9.5385 -0.0500674 0.00213053 0.036219 0.18 0 pose: 0.41171599 -4.36909 -3.76768 0 -0.0008641930.00284402 0.996715 0.0809327 uwb: 0.0 1245.64 1445.89 -imu_odom_: 1691062895.231770650 0.320823 -0.117316 9.45231 -0.0745685 -0.0436758 0.0553937 0.18 0 pose: 0.0 -4.36909 -3.76768 0 -0.0008641930.00284402 0.996715 0.0809327 uwb: 0.0 1245.64 1445.89 -imu_odom_: 1691062895.256507499 0.723049 0.0191536 10.2448 -0.0500674 -0.0468716 0.0426106 0.17 0 pose: 0.47884208 -4.37816 -3.76347 0 -0.0007066580.00383882 0.996732 0.0806912 uwb: 0.50109203 1245 1447.5 -imu_odom_: 1691062895.281625826 0.0861913 -0.263362 9.12909 -0.0575243 -0.0639159 0.0436758 0.17 0 pose: 0.0 -4.37816 -3.76347 0 -0.0007066580.00383882 0.996732 0.0806912 uwb: 0.0 1245 1447.5 -imu_odom_: 1691062895.298576504 0.708684 0.0407014 10.8793 -0.0426106 -0.116114 0.0298274 0.18 0.02 pose: 0.44011100 -4.39144 -3.76834 0 -0.00240482 0.00535503 0.996738 0.0804949 uwb: 0.50117368 1247.39 1448.14 -imu_odom_: 1691062895.323499426 1.56341 -0.241814 8.93755 -0.0735032 0.0553937 0.0671117 0.18 0.02 pose: 0.0 -4.39144 -3.76834 0 -0.00240482 0.00535503 0.996738 0.0804949 uwb: 0.0 1247.39 1448.14 -imu_odom_: 1691062895.347625269 1.21865 -0.354342 9.10275 -0.0351537 -0.036219 0.0575243 0.2 0 pose: 0.48878732 -4.39144 -3.76834 0 -0.00094976 0.00498896 0.996745 0.0804607 uwb: 0.50038916 1246.56 1449.41 -imu_odom_: 1691062895.373569839 0.481235 -0.155623 9.26317 -0.0639159 0.0426106 0.0276969 0.2 0 pose: 0.0 -4.39144 -3.76834 0 -0.00094976 0.00498896 0.996745 0.0804607 uwb: 0.0 1246.56 1449.41 -imu_odom_: 1691062895.388557132 0.107739 -0.047884 10.1131 -0.0500674 -0.00958738 0.0532632 0.18 0 pose: 0.42977202 -4.40052 -3.76414 0 0.00314487 0.00449703 0.996774 0.0800723 uwb: 0.0 1246.56 1449.41 -imu_odom_: 1691062895.412500985 0.251391 -0.0071826110.5058 -0.0660464 -0.0617853 0.0543285 0.18 0 pose: 0.0 -4.40052 -3.76414 0 0.00314487 0.00449703 0.996774 0.0800723 uwb: 0.0 1246.56 1449.41 -imu_odom_: 1691062895.437559232 0.366313 0.1652 10.2185 -0.0447411 -0.0319579 0.052198 0.18 0 pose: 0.48021575 -4.40959 -3.75995 0 0.00293752 0.00181155 0.996787 0.0800254 uwb: 0.99976627 1243.51 1452.24 -imu_odom_: 1691062895.462485070 0.395043 -0.232238 9.92157 -0.0660464 0.00639159 0.052198 0.18 0 pose: 0.0 -4.40959 -3.75995 0 0.00293752 0.00181155 0.996787 0.0800254 uwb: 0.0 1243.51 1452.24 -imu_odom_: 1691062895.479611613 0.560243 -0.0311246 9.90721 -0.072438 -0.0266316 0.0415453 0.18 0 pose: 0.65980777 -4.42286 -3.76483 0 0.000991198 0.00547385 0.996812 0.079596 uwb: 0.0 1243.51 1452.24 -imu_odom_: 1691062895.503490137 0.56982 -0.011971 10.1921 -0.0852212 -0.0149137 0.0553937 0.18 0 pose: 0.0 -4.42286 -3.76483 0 0.000991198 0.00547385 0.996812 0.079596 uwb: 0.49815803 1245.07 1452.3 -imu_odom_: 1691062895.529782354 0.011971 -0.0933739 9.96227 -0.0426106 -0.0308927 0.0458064 0.18 0 pose: 0.42006008 -4.43195 -3.76065 0 0.00282592 0.00479826 0.996827 0.0794043 uwb: 0.0 1245.07 1452.3 -imu_odom_: 1691062895.554495579 0.244209 -0.122104 9.7037 -0.0511327 0.0127832 0.0340885 0.2 -0.02 pose: 0.42264994 -4.4383 -3.75773 0 0.00194028 0.00586889 0.996839 0.0792103 uwb: 0.50180074 1248.78 1451.59 -imu_odom_: 1691062895.571487380 0.703895 -0.172383 9.81862 -0.0351537 -0.00958738 0.0479369 0.2 -0.02 pose: 0.0 -4.4383 -3.75773 0 0.00194028 0.00586889 0.996839 0.0792103 uwb: 0.0 1248.78 1451.59 -imu_odom_: 1691062895.596494005 0.418985 -0.117316 10.3932 -0.0394148 0.0127832 0.0490022 0.18 -0.02 pose: 0.7852375 -4.44103 -3.75647 0 0.00109016 0.00585862 0.996838 0.079236 uwb: 0.49931880 1247.87 1453.67 -imu_odom_: 1691062895.622556110 0.466869 0.0814029 10.4651 -0.0479369 0.0181095 0.0458064 0.18 -0.02 pose: 0.0 -4.44103 -3.75647 0 0.00109016 0.00585862 0.996838 0.079236 uwb: 0.0 1247.87 1453.67 -imu_odom_: 1691062895.647476698 1.11091 -0.225055 9.49062 -0.0703074 -0.0223706 0.0553937 0.21 0 pose: 0.42878625 -4.45012 -3.75229 0 0.00107901 0.00471166 0.99685 0.0791673 uwb: 0.49930129 1246.76 1455.4 -imu_odom_: 1691062895.664531495 0.141258 -0.241814 9.95509 -0.0287621 -0.0170442 0.0330232 0.21 0 pose: 0.0 -4.45012 -3.75229 0 0.00107901 0.00471166 0.99685 0.0791673 uwb: 0.0 1246.76 1455.4 -imu_odom_: 1691062895.688460475 0.184354 -0.126893 9.7875 -0.0703074 -0.0266316 0.056459 0.18 0 pose: 0.50059913 -4.46338 -3.7572 0 0.00254232 0.00565582 0.99686 0.0789389 uwb: 0.49912048 1245.75 1457.36 -imu_odom_: 1691062895.705475316 0.629675 0.189142 10.24 -0.0447411 -0.0298274 0.0511327 0.18 0 pose: 0.0 -4.46338 -3.7572 0 0.00254232 0.00565582 0.99686 0.0789389 uwb: 0.0 1245.75 1457.36 -imu_odom_: 1691062895.730538521 0.153229 -0.0526724 10.1442 -0.072438 0.0149137 0.0490022 0.19 0 pose: 0.42100212 -4.47247 -3.75303 0 0.00208809 0.00477298 0.996877 0.0787945 uwb: 0.0 1245.75 1457.36 -imu_odom_: 1691062895.756531797 0.749385 -0.102951 10.0916 -0.0511327 -0.0255663 0.0340885 0.19 0 pose: 0.0 -4.47247 -3.75303 0 0.00208809 0.00477298 0.996877 0.0787945 uwb: 0.50220029 1244.05 1458.98 -imu_odom_: 1691062895.779452252 0.64404 -0.445322 9.25598 -0.0692422 0 0.0415453 0.19 -0.02 pose: 0.41841810 -4.47247 -3.75303 0 0.00102139 0.00620472 0.996892 0.0785317 uwb: 0.0 1244.05 1458.98 -imu_odom_: 1691062895.803502849 0.19393 -0.474052 9.77553 -0.0447411 -0.0287621 0.0490022 0.19 -0.02 pose: 0.0 -4.47247 -3.75303 0 0.00102139 0.00620472 0.996892 0.0785317 uwb: 0.49816679 1244.73 1460.27 -imu_odom_: 1691062895.829613368 0.526724 -0.162806 10.252 -0.0351537 -0.0223706 0.0351537 0.26 -0.02 pose: 0.48967102 -4.48156 -3.74886 0 0.00244768 0.0054732 0.996895 0.0785127 uwb: 0.0 1244.73 1460.27 -imu_odom_: 1691062895.855635225 0.648829 -0.035913 10.4507 -0.0479369 -0.0458064 0.052198 0.18 -0.02 pose: 0.47026174 -4.49481 -3.75379 0 0.00258125 0.00229627 0.996917 0.0783931 uwb: 0.50290025 1245.5 1460.74 -imu_odom_: 1691062895.872524365 0.31364 -0.122104 9.56244 -0.0553937 0.0191748 0.0447411 0.18 -0.02 pose: 0.0 -4.49481 -3.75379 0 0.00258125 0.00229627 0.996917 0.0783931 uwb: 0.0 1245.5 1460.74 -imu_odom_: 1691062895.896458011 0.280122 -0.263362 10.1299 -0.0649811 -0.00213053 0.0649811 0.2 -0.02 pose: 0.19104803 -4.50119 -3.75087 0 0.00468013 0.00239385 0.996906 0.0784303 uwb: 0.49810262 1249.65 1459.79 -imu_odom_: 1691062895.922455370 0.464475 -0.433351 9.73243 -0.00426106 0.052198 0.0127832 0.2 -0.02 pose: 0.50918822 -4.50391 -3.74963 0 0.00478604 0.00370748 0.996925 0.0781322 uwb: 0.0 1249.65 1459.79 -imu_odom_: 1691062895.935521566 0.751779 -0.383072 10.1897 -0.0138484 0.0319579 0.0287621 0.2 -0.02 pose: 0.0 -4.50391 -3.74963 0 0.00478604 0.00370748 0.996925 0.0781322 uwb: 0.0 1249.65 1459.79 -imu_odom_: 1691062895.960601395 0.617704 0.0287304 10.2137 -0.0543285 -0.00639159 0.0596548 0.18 -0.02 pose: 0.47936996 -4.513 -3.74547 0 0.00285791 0.000797789 0.996925 0.0782992 uwb: 0.49942087 1250.92 1460.22 -imu_odom_: 1691062895.986497260 1.03908 -0.270545 9.71088 -0.072438 -0.0585895 0.036219 0.23 -0.02 pose: 0.32132209 -4.52206 -3.74129 0 0.00486696 0.00252272 0.996931 0.078089 uwb: 0.50110661 1248.2 1462.87 -imu_odom_: 1691062896.9488295 0.656011 -0.277727 9.88326 -0.0596548 0.00745685 0.0447411 0.23 -0.02 pose: 0.0 -4.52206 -3.74129 0 0.00486696 0.00252272 0.996931 0.078089 uwb: 0.0 1248.2 1462.87 -imu_odom_: 1691062896.26541925 0.366313 -0.134075 9.76595 -0.0692422 0.0383495 0.0426106 0.19 0 pose: 0.7032840 -4.52209 -3.74131 0 0.00572984 0.00225381 0.996927 0.0780987 uwb: 0.0 1248.2 1462.87 -imu_odom_: 1691062896.50479071 0.560243 -0.23942 9.57681 -0.104396 0.0170442 0.0681769 0.19 0 pose: 0.0 -4.52209 -3.74131 0 0.00572984 0.00225381 0.996927 0.0780987 uwb: 0.49755141 1247.3 1464.12 -imu_odom_: 1691062896.68606556 0.275333 -0.225055 10.8314 -0.04048 -0.00426106 0.0447411 0.19 0 pose: 0.0 -4.52209 -3.74131 0 0.00572984 0.00225381 0.996927 0.0780987 uwb: 0.0 1247.3 1464.12 -imu_odom_: 1691062896.92445999 0.107739 -0.105345 10.07 -0.0383495 -0.00532632 0.0319579 0.2 -0.02 pose: 0.48978478 -4.5353 -3.74638 0 0.0085322 -6.47626e-050.996914 0.0780404 uwb: 0.50169574 1248.76 1464.89 -imu_odom_: 1691062896.117588533 0.31364 -0.19393 9.91199 -0.0490022 -0.0138484 0.0639159 0.24 0 pose: 0.75833286 -4.54439 -3.74222 0 0.00394557 -0.0009616120.996967 0.0777182 uwb: 0.0 1248.76 1464.89 -imu_odom_: 1691062896.141447517 0.694318 -0.126893 9.63906 -0.0415453 0.00958738 0.0543285 0.24 0 pose: 0.0 -4.54439 -3.74222 0 0.00394557 -0.0009616120.996967 0.0777182 uwb: 0.49741142 1250.81 1464.82 -imu_odom_: 1691062896.165498407 0.531513 -0.155623 9.77553 -0.0649811 0.0330232 0.052198 0.19 0 pose: 0.8024741 -4.54439 -3.74222 0 0.0032122 -0.00072175 0.996977 0.077621 uwb: 0.0 1250.81 1464.82 -imu_odom_: 1691062896.183498149 0.138864 0.0790087 10.307 -0.0479369 -0.0149137 0.0458064 0.19 0 pose: 0.0 -4.54439 -3.74222 0 0.0032122 -0.00072175 0.996977 0.077621 uwb: 0.0 1250.81 1464.82 -imu_odom_: 1691062896.207621951 0.416591 -0.0263362 10.331 -0.0500674 -0.0191748 0.0458064 0.18 0.02 pose: 0.49014642 -4.55349 -3.73807 0 0.0043342 0.000975423 0.997007 0.0771896 uwb: 0.50108328 1249.49 1466.26 -imu_odom_: 1691062896.225611777 0.462081 -0.337582 9.33739 -0.0671117 -0.0149137 0.0511327 0.18 0.02 pose: 0.0 -4.55349 -3.73807 0 0.0043342 0.000975423 0.997007 0.0771896 uwb: 0.0 1249.49 1466.26 -imu_odom_: 1691062896.249582462 0.392649 -0.201113 9.26077 -0.0777643 -0.00319579 0.0596548 0.18 -0.02 pose: 0.42096421 -4.56673 -3.74304 0 0.00380414 0.00372276 0.997015 0.0770226 uwb: 0.0 1249.49 1466.26 -imu_odom_: 1691062896.274445888 0.260968 -0.208296 9.62948 -0.0628506 -0.0298274 0.0426106 0.18 -0.02 pose: 0.0 -4.56673 -3.74304 0 0.00380414 0.00372276 0.997015 0.0770226 uwb: 0.0 1249.49 1466.26 -imu_odom_: 1691062896.297519751 0.335188 -0.112527 9.81623 -0.0649811 -0.00319579 0.0468716 0.18 0 pose: 0.41926388 -4.57584 -3.7389 0 0.00261385 0.00278936 0.99704 0.0767952 uwb: 0.99886218 1251.87 1465.8 -imu_odom_: 1691062896.313503611 0.500388 -0.287304 9.62708 -0.0490022 -0.0117179 0.0596548 0.18 0 pose: 0.0 -4.57584 -3.7389 0 0.00261385 0.00278936 0.99704 0.0767952 uwb: 0.0 1251.87 1465.8 -imu_odom_: 1691062896.330457205 0.268151 -0.426168 9.80186 -0.0639159 0.0170442 0.14168 0.23 0.14 pose: 0.47950413 -4.58494 -3.73476 0 -0.00124696 0.00195512 0.997061 0.0765781 uwb: 0.0 1251.87 1465.8 -imu_odom_: 1691062896.346585140 0.533907 -0.529119 10.1706 -0.0532632 -0.0213053 0.204531 0.23 0.14 pose: 0.0 -4.58494 -3.73476 0 -0.00124696 0.00195512 0.997061 0.0765781 uwb: 0.50205156 1253.45 1465.8 -imu_odom_: 1691062896.363514528 0.169988 -0.196325 9.49301 -0.0447411 0.02024 0.262055 0.23 0.14 pose: 0.0 -4.58494 -3.73476 0 -0.00124696 0.00195512 0.997061 0.0765781 uwb: 0.0 1253.45 1465.8 -imu_odom_: 1691062896.379445891 -0.0215478 -0.548272 10.0868 -0.0308927 -0.0308927 0.318514 0.18 0.26 pose: 0.40044665 -4.59405 -3.73064 0 -0.00134263 0.00143688 0.997109 0.0759526 uwb: 0.0 1253.45 1465.8 -imu_odom_: 1691062896.397575125 0.610521 -0.126893 10.0676 -0.0383495 -0.02024 0.356864 0.18 0.26 pose: 0.0 -4.59405 -3.73064 0 -0.00134263 0.00143688 0.997109 0.0759526 uwb: 0.49965712 1252.45 1466.88 -imu_odom_: 1691062896.414479140 0.3304 -0.368707 9.64384 -0.0692422 0.0511327 0.409062 0.18 0.26 pose: 0.0 -4.59405 -3.73064 0 -0.00134263 0.00143688 0.997109 0.0759526 uwb: 0.0 1252.45 1466.88 -imu_odom_: 1691062896.428418827 0.40462 -0.502782 10.1945 -0.0585895 0.0234358 0.429302 0.19 0.35 pose: 0.50043874 -4.59405 -3.73064 0 -0.00347036 -0.00073509 0.997457 0.0711783 uwb: 0.0 1252.45 1466.88 -imu_odom_: 1691062896.444478516 0.490811 -0.189142 9.80426 -0.0500674 0.00852212 0.474043 0.18 0.41 pose: 0.0 -4.59405 -3.73064 0 -0.00347036 -0.00073509 0.997457 0.0711783 uwb: 0.0 1252.45 1466.88 -imu_odom_: 1691062896.461491315 0.296881 -0.335188 10.0341 -0.0553937 -0.0340885 0.513457 0.18 0.41 pose: 0.64881550 -4.61642 -3.73156 0 -0.00239054 -0.00303522 0.998211 0.0596576 uwb: 0.0 1252.45 1466.88 -imu_odom_: 1691062896.478426245 0.768539 -0.366313 10.0269 -0.0426106 0.0117179 0.528371 0.18 0.47 pose: 0.0 -4.61642 -3.73156 0 -0.00239054 -0.00303522 0.998211 0.0596576 uwb: 0.0 1252.45 1466.88 -imu_odom_: 1691062896.495442544 0.737414 -0.40462 10.2927 -0.0862864 0.0745685 0.559264 0.18 0.47 pose: 0.0 -4.61642 -3.73156 0 -0.00239054 -0.00303522 0.998211 0.0596576 uwb: 0.99948339 1252.56 1468.07 -imu_odom_: 1691062896.510426337 1.02472 -0.265756 9.84017 -0.0958738 0.0138484 0.609331 0.18 0.47 pose: 0.33066072 -4.61642 -3.73156 0 -0.00212635 -0.00379279 0.998641 0.0519369 uwb: 0.0 1252.56 1468.07 -imu_odom_: 1691062896.526423613 0.471658 -0.893037 9.93354 -0.0298274 0.0543285 0.599744 0.18 0.53 pose: 0.40931572 -4.62548 -3.7274 0 0.000899548 -0.00499717 0.999142 0.0410972 uwb: 0.0 1252.56 1468.07 -imu_odom_: 1691062896.542664999 0.282516 -0.366313 10.0676 -0.0383495 0.00426106 0.608266 0.18 0.53 pose: 0.7065213 -4.62552 -3.72742 0 0.000714445 -0.00560708 0.999219 0.0391203 uwb: 0.0 1252.56 1468.07 -imu_odom_: 1691062896.560553331 0.648829 -0.37589 9.68933 -0.0436758 0.00532632 0.622114 0.18 0.53 pose: 0.0 -4.62552 -3.72742 0 0.000714445 -0.00560708 0.999219 0.0391203 uwb: 0.0 1252.56 1468.07 -imu_odom_: 1691062896.576613020 0.778116 -0.143652 9.39964 -0.056459 -0.0735032 0.648746 0.18 0.61 pose: 0.33178649 -4.63465 -3.72334 0 -0.000482726-0.00656347 0.999538 0.0296706 uwb: 0.0 1252.56 1468.07 -imu_odom_: 1691062896.593603946 0.677559 -0.555455 9.69652 -0.0234358 -0.0372843 0.650877 0.23 0.79 pose: 0.0 -4.63465 -3.72334 0 -0.000482726-0.00656347 0.999538 0.0296706 uwb: 0.100023877 1255.89 1467.38 -imu_odom_: 1691062896.609545225 1.075 -0.0957681 9.69652 -0.0553937 -0.00532632 0.656203 0.23 0.79 pose: 0.0 -4.63465 -3.72334 0 -0.000482726-0.00656347 0.999538 0.0296706 uwb: 0.0 1255.89 1467.38 -imu_odom_: 1691062896.626545192 1.91776 -0.553061 9.95748 -0.0458064 -0.0873517 0.618919 0.2 0.58 pose: 0.33894066 -4.63874 -3.73246 0 0.00305828 -0.00643095 0.999785 0.0194875 uwb: 0.0 1255.89 1467.38 -imu_odom_: 1691062896.643549825 1.60651 -0.213084 9.25359 -0.056459 0.00319579 0.492152 0.2 0.58 pose: 0.0 -4.63874 -3.73246 0 0.00305828 -0.00643095 0.999785 0.0194875 uwb: 0.50099870 1255.62 1468.82 -imu_odom_: 1691062896.658544410 1.84354 0.205901 10.5082 -0.056459 0.0149137 0.418649 0.2 0.58 pose: 0.32990534 -4.64787 -3.72837 0 0.00638444 -0.00648446 0.999913 0.00950635 uwb: 0.0 1255.62 1468.82 -imu_odom_: 1691062896.675540877 1.02472 0.0526724 9.83059 -0.0543285 0.00852212 0.357929 0.11 0.32 pose: 0.40989611 -4.64783 -3.72835 0 0.0104461 -0.00589038 0.999928 0.000243688 uwb: 0.0 1255.62 1468.82 -imu_odom_: 1691062896.691546319 0.572214 -0.3304 10.149 -0.0607201 0.00745685 0.331297 0.11 0.32 pose: 0.7998783 -4.64787 -3.72837 0 0.0109795 -0.00535974 0.999925 -0.00102002 uwb: 0.50074497 1255.17 1469.94 -imu_odom_: 1691062896.708538995 0.751779 -0.414197 9.96706 -0.0426106 -0.02024 0.289752 0.11 0.32 pose: 0.0 -4.64787 -3.72837 0 0.0109795 -0.00535974 0.999925 -0.00102002 uwb: 0.0 1255.17 1469.94 -imu_odom_: 1691062896.725598458 0.943315 -0.071826 9.96467 -0.0500674 -0.015979 0.288687 0.09 0.26 pose: 0.41995802 -4.657 -3.72429 0 0.0115257 -0.00610742 0.999891 -0.00691589 uwb: 0.0 1255.17 1469.94 -imu_odom_: 1691062896.741551986 0.914585 -0.263362 9.84735 -0.0596548 0 0.313188 0.09 0.26 pose: 0.0 -4.657 -3.72429 0 0.0115257 -0.00610742 0.999891 -0.00691589 uwb: 0.49809971 1255.78 1470.09 -imu_odom_: 1691062896.766475492 0.778116 -0.407014 9.60793 -0.0415453 -0.00319579 0.270577 0.09 0.26 pose: 0.23976810 -4.657 -3.72429 0 0.0135683 -0.00486671 0.999846 -0.00996143 uwb: 0.0 1255.78 1470.09 -imu_odom_: 1691062896.782538972 0.732626 -0.0407014 9.8665 -0.0511327 0.0234358 0.252468 0.08 0.26 pose: 0.0 -4.657 -3.72429 0 0.0135683 -0.00486671 0.999846 -0.00996143 uwb: 0.0 1255.78 1470.09 -imu_odom_: 1691062896.799540105 0.227449 -0.153229 9.77792 -0.0532632 0.0426106 0.2024 0.08 0.26 pose: 0.0 -4.657 -3.72429 0 0.0135683 -0.00486671 0.999846 -0.00996143 uwb: 0.50062831 1252.75 1472.34 -imu_odom_: 1691062896.815533298 -0.172383 0.265756 10.24 -0.0383495 0.0681769 0.0948085 0.08 0.26 pose: 0.39903798 -4.66101 -3.73345 0 0.0161376 -0.00571916 0.999745 -0.0147089 uwb: 0.0 1252.75 1472.34 -imu_odom_: 1691062896.832534140 -1.28329 0.0861913 10.1035 -0.0543285 0.0479369 0.156594 0.1 0.2 pose: 0.35129785 -4.67017 -3.72944 0 0.0130318 -0.00372474 0.999757 -0.0173688 uwb: 0.0 1252.75 1472.34 -imu_odom_: 1691062896.848415631 -0.28491 -0.804452 10.4028 -0.0532632 -0.0841559 0.217314 0.1 0.2 pose: 0.0 -4.67017 -3.72944 0 0.0130318 -0.00372474 0.999757 -0.0173688 uwb: 0.49975628 1255.54 1471.61 -imu_odom_: 1691062896.865461387 0.61531 -0.608127 10.0293 -0.0223706 -0.0862864 0.184291 0.15 0.2 pose: 0.40866243 -4.67017 -3.72944 0 0.00922441 -0.00377094 0.99975 -0.0200068 uwb: 0.0 1255.54 1471.61 -imu_odom_: 1691062896.882452605 0.627281 0.292093 9.81862 -0.0330232 -0.0255663 0.2024 0.15 0.2 pose: 0.0 -4.67017 -3.72944 0 0.00922441 -0.00377094 0.99975 -0.0200068 uwb: 0.0 1255.54 1471.61 -imu_odom_: 1691062896.898466504 0.335188 0.167594 10.082 -0.0436758 0.00106526 0.230097 0.15 0.2 pose: 0.0 -4.67017 -3.72944 0 0.00922441 -0.00377094 0.99975 -0.0200068 uwb: 0.49993127 1254.48 1473.57 -imu_odom_: 1691062896.915461805 -0.0263362 -0.21069 10.0078 -0.0383495 -0.0106526 0.196009 0.13 0.11 pose: 0.7989451 -4.67017 -3.72944 0 0.00964089 -0.00443168 0.999732 -0.020594 uwb: 0.0 1254.48 1473.57 -imu_odom_: 1691062896.931461997 -0.167594 -0.0861913 9.83538 -0.0500674 -0.0298274 0.181095 0.13 0.11 pose: 0.0 -4.67017 -3.72944 0 0.00964089 -0.00443168 0.999732 -0.020594 uwb: 0.0 1254.48 1473.57 -imu_odom_: 1691062896.948386719 0.0861913 0.0143652 9.66779 -0.0543285 -0.036219 0.203466 0.13 0.11 pose: 0.67006801 -4.67928 -3.72532 0 0.00709619 -0.00147788 0.999635 -0.026039 uwb: 0.49842927 1255.57 1473.63 -imu_odom_: 1691062896.964389244 0.0837971 -0.277727 9.65342 -0.0447411 -0.0170442 0.194943 0.13 0.11 pose: 0.0 -4.67928 -3.72532 0 0.00709619 -0.00147788 0.999635 -0.026039 uwb: 0.0 1255.57 1473.63 -imu_odom_: 1691062896.982435067 0.071826 -0.138864 10.0197 -0.0479369 -0.0223706 0.178964 0.13 0.11 pose: 0.0 -4.67928 -3.72532 0 0.00709619 -0.00147788 0.999635 -0.026039 uwb: 0.0 1255.57 1473.63 -imu_odom_: 1691062896.999437659 0.0263362 -0.102951 9.80904 -0.0692422 -0.0298274 0.196009 0.13 0.11 pose: 0.32982077 -4.68336 -3.73445 0 0.00445069 -0.0005543510.99958 -0.0286157 uwb: 0.50053498 1256.58 1474.5 -imu_odom_: 1691062897.13435093 0.251391 -0.220267 10.5632 -0.0660464 -0.0117179 0.177899 0.14 0.14 pose: 0.43043699 -4.69247 -3.73033 0 0.000665255 7.26564e-05 0.999493 -0.0318239 uwb: 0.0 1256.58 1474.5 -imu_odom_: 1691062897.30424269 0.703895 -0.0933739 10.0461 -0.076699 -0.00958738 0.160855 0.14 0.14 pose: 0.0 -4.69247 -3.73033 0 0.000665255 7.26564e-05 0.999493 -0.0318239 uwb: 0.0 1256.58 1474.5 -imu_odom_: 1691062897.43369723 0.217872 -0.100556 10.137 -0.0628506 -0.0575243 0.154463 0.14 0.14 pose: 0.0 -4.69247 -3.73033 0 0.000665255 7.26564e-05 0.999493 -0.0318239 uwb: 0.49786056 1255.63 1475.73 -imu_odom_: 1691062897.59468784 0.938527 -0.0790087 10.137 -0.0585895 -0.1012 0.187487 0.13 0.08 pose: 0.6999300 -4.69247 -3.73033 0 -5.75696e-06-1.48319e-050.999478 -0.0323077 uwb: 0.0 1255.63 1475.73 -imu_odom_: 1691062897.76385632 1.37667 -0.452504 10.0078 -0.0639159 -0.0394148 0.251402 0.13 0.08 pose: 0.0 -4.69247 -3.73033 0 -5.75696e-06-1.48319e-050.999478 -0.0323077 uwb: 0.0 1255.63 1475.73 -imu_odom_: 1691062897.92440946 2.2314 -0.641646 10.6638 -0.04048 -0.0873517 0.219444 0.13 0.08 pose: 0.0 -4.69247 -3.73033 0 -5.75696e-06-1.48319e-050.999478 -0.0323077 uwb: 0.50344857 1250.15 1479.45 -imu_odom_: 1691062897.108369101 1.55144 -0.122104 9.10036 -0.0340885 -0.0223706 0.160855 0.14 0.08 pose: 0.44941755 -4.70161 -3.72627 0 0.00128241 0.00111413 0.99938 -0.0351557 uwb: 0.0 1250.15 1479.45 -imu_odom_: 1691062897.125427981 1.41497 0.148441 9.95748 -0.0607201 0.0298274 0.149137 0.09 0.05 pose: 0.0 -4.70161 -3.72627 0 0.00128241 0.00111413 0.99938 -0.0351557 uwb: 0.0 1250.15 1479.45 -imu_odom_: 1691062897.142427949 0.61531 -0.186748 9.8689 -0.0703074 0.0585895 0.100135 0.09 0.05 pose: 0.64997920 -4.70563 -3.73543 0 0.00895279 0.00131541 0.999143 -0.0403931 uwb: 0.49932173 1251.43 1479.87 -imu_odom_: 1691062897.158370394 0.474052 -0.205901 10.1203 -0.0681769 -0.015979 0.0788296 0.08 0.05 pose: 0.0 -4.70563 -3.73543 0 0.00895279 0.00131541 0.999143 -0.0403931 uwb: 0.0 1251.43 1479.87 -imu_odom_: 1691062897.175365404 0.531513 -0.237026 9.68694 -0.0607201 -0.0287621 0.0713727 0.08 0.05 pose: 0.0 -4.70563 -3.73543 0 0.00895279 0.00131541 0.999143 -0.0403931 uwb: 0.0 1251.43 1479.87 -imu_odom_: 1691062897.191520754 0.713472 -0.153229 9.7851 -0.0596548 -0.00319579 0.0916127 0.08 0.05 pose: 0.33998185 -4.70563 -3.73543 0 0.0100332 0.00162168 0.999085 -0.0415544 uwb: 0.49951713 1251.46 1480.94 -imu_odom_: 1691062897.207516279 0.706289 -0.251391 10.1155 -0.0575243 -0.00745685 0.127832 0.09 0.05 pose: 0.41145935 -4.7148 -3.73145 0 0.00970615 0.00089962 0.999053 -0.0424032 uwb: 0.0 1251.46 1480.94 -imu_odom_: 1691062897.224515372 0.787692 -0.277727 9.81623 -0.0585895 -0.0117179 0.140615 0.09 0.05 pose: 0.7011549 -4.7148 -3.73145 0 0.0103737 0.000640618 0.999033 -0.0427149 uwb: 0.0 1251.46 1480.94 -imu_odom_: 1691062897.241585627 0.964863 -0.129287 10.0293 -0.0426106 0.00532632 0.104396 0.09 0.05 pose: 0.0 -4.7148 -3.73145 0 0.0103737 0.000640618 0.999033 -0.0427149 uwb: 0.50119120 1248.73 1482.89 -imu_odom_: 1691062897.266520798 0.651223 -0.102951 9.82102 -0.0681769 0.0181095 0.103331 0.05 0.05 pose: 0.33000451 -4.7148 -3.73145 0 0.0135393 6.01104e-05 0.998931 -0.0442011 uwb: 0.0 1248.73 1482.89 -imu_odom_: 1691062897.293587637 0.174777 -0.328006 9.85453 -0.0681769 0.0266316 0.04048 0.06 0.08 pose: 0.34988044 -4.7148 -3.73145 0 0.0133796 0.00266103 0.998881 -0.0452795 uwb: 0.49954922 1249.4 1483.15 -imu_odom_: 1691062897.309594246 -0.071826 -0.186748 10.1299 -0.04048 0.0372843 -0.056459 0.06 0.08 pose: 0.0 -4.7148 -3.73145 0 0.0133796 0.00266103 0.998881 -0.0452795 uwb: 0.0 1249.4 1483.15 -imu_odom_: 1691062897.336595755 -1.06542 -0.126893 10.4244 -0.0745685 -0.0181095 0.0756338 0.07 0.05 pose: 0.35040541 -4.7148 -3.73145 0 0.00945921 0.00157296 0.998945 -0.0449153 uwb: 0.0 1249.4 1483.15 -imu_odom_: 1691062897.361444015 0.497994 -0.622492 10.1778 -0.0543285 -0.11931 0.072438 0.1 0.02 pose: 0.0 -4.7148 -3.73145 0 0.00945921 0.00157296 0.998945 -0.0449153 uwb: 0.49825429 1247.15 1485.02 -imu_odom_: 1691062897.388378737 0.399832 0.102951 9.71328 -0.076699 -0.00106526 0.112918 0.1 0.02 pose: 0.42862585 -4.72396 -3.72744 0 0.00642119 0.000568585 0.99896 -0.0451433 uwb: 0.50113287 1247.49 1485.69 -imu_odom_: 1691062897.404531462 0.189142 -0.0957681 10.2951 -0.052198 -0.00958738 0.0841559 0.12 0 pose: 0.0 -4.72396 -3.72744 0 0.00642119 0.000568585 0.99896 -0.0451433 uwb: 0.0 1247.49 1485.69 -imu_odom_: 1691062897.431505556 0.462081 -0.0837971 10.1251 -0.0617853 -0.0138484 0.0607201 0.12 0 pose: 0.43954813 -4.72677 -3.73387 0 0.00619151 0.00105808 0.998903 -0.0463996 uwb: 0.0 1247.49 1485.69 -imu_odom_: 1691062897.456486517 0.129287 -0.363919 9.73961 -0.0596548 -0.0266316 0.0862864 0.14 0.02 pose: 0.43126819 -4.73441 -3.73375 0 0.00381509 0.00391397 0.998879 -0.0470265 uwb: 0.49931589 1246.18 1487.33 -imu_odom_: 1691062897.483394406 0.445322 0.205901 10.3477 -0.04048 0.0287621 0.056459 0.14 0.02 pose: 0.0 -4.73441 -3.73375 0 0.00381509 0.00391397 0.998879 -0.0470265 uwb: 0.0 1246.18 1487.33 -imu_odom_: 1691062897.508381492 0.126893 -0.287304 9.53611 -0.0692422 -0.0511327 0.0894822 0.14 0 pose: 0.51888850 -4.73713 -3.73261 0 0.00145356 0.00530885 0.99884 -0.0478278 uwb: 0.50108329 1246.85 1487.59 -imu_odom_: 1691062897.524424556 0.694318 -0.280122 9.9934 -0.0596548 -0.0276969 0.0490022 0.14 0 pose: 0.0 -4.73713 -3.73261 0 0.00145356 0.00530885 0.99884 -0.0478278 uwb: 0.0 1246.85 1487.59 -imu_odom_: 1691062897.551432190 -0.287304 -0.124498 9.80904 -0.0479369 0.00213053 0.0777643 0.16 0.02 pose: 0.32045591 -4.74627 -3.72856 0 0.000657654 0.00355515 0.998818 -0.0484736 uwb: 0.49892217 1245.18 1488.52 -imu_odom_: 1691062897.576369403 0.0814029 -0.392649 10.0796 -0.0543285 -0.00426106 0.0703074 0.19 0.02 pose: 0.0 -4.74627 -3.72856 0 0.000657654 0.00355515 0.998818 -0.0484736 uwb: 0.0 1245.18 1488.52 -imu_odom_: 1691062897.590412335 0.47884 -0.196325 9.43794 -0.0436758 0.0671117 0.0468716 0.19 0.02 pose: 0.42963495 -4.75031 -3.73771 0 -0.00172093 0.0027997 0.998787 -0.0491303 uwb: 0.50051749 1244.99 1489.21 -imu_odom_: 1691062897.615475249 0.603339 -0.426168 9.75158 -0.0703074 -0.0149137 0.0830906 0.19 0.02 pose: 0.0 -4.75031 -3.73771 0 -0.00172093 0.0027997 0.998787 -0.0491303 uwb: 0.0 1244.99 1489.21 -imu_odom_: 1691062897.642395971 0.842759 -0.158017 10.0461 -0.052198 -0.0255663 0.0713727 0.15 0 pose: 0.39036433 -4.75946 -3.73369 0 -0.00160126 0.00105579 0.998767 -0.0496066 uwb: 0.49929840 1245.76 1489.67 -imu_odom_: 1691062897.668640067 0.328006 -0.225055 10.0844 -0.0639159 -0.00426106 0.0713727 0.16 -0.02 pose: 0.44956046 -4.75946 -3.73369 0 0.00276272 0.00026945 0.998724 -0.0504247 uwb: 0.0 1245.76 1489.67 -imu_odom_: 1691062897.695631660 0.392649 -0.25618 9.89284 -0.0426106 0.0149137 0.0479369 0.16 -0.02 pose: 0.0 -4.75946 -3.73369 0 0.00276272 0.00026945 0.998724 -0.0504247 uwb: 0.49972128 1245.65 1490.51 -imu_odom_: 1691062897.711371409 0.852336 -0.227449 9.74201 -0.0553937 0.0106526 0.0671117 0.16 0 pose: 0.8130901 -4.75946 -3.73369 0 0.00196045 0.000112833 0.998719 -0.0505539 uwb: 0.0 1245.65 1490.51 -imu_odom_: 1691062897.728416874 0.452504 -0.241814 9.79947 -0.0490022 0.00958738 0.0628506 0.16 0 pose: 0.0 -4.75946 -3.73369 0 0.00196045 0.000112833 0.998719 -0.0505539 uwb: 0.0 1245.65 1490.51 -imu_odom_: 1691062897.754506978 0.371101 -0.222661 9.96467 -0.0532632 0.0117179 0.0639159 0.15 0 pose: 0.53149361 -4.77263 -3.73886 0 -0.000164316-0.00255309 0.998692 -0.0510631 uwb: 0.49992253 1241.69 1493.34 -imu_odom_: 1691062897.781368787 0.198719 -0.289698 9.64863 -0.056459 -0.0394148 0.072438 0.15 0 pose: 0.0 -4.77263 -3.73886 0 -0.000164316-0.00255309 0.998692 -0.0510631 uwb: 0.0 1241.69 1493.34 -imu_odom_: 1691062897.797360522 0.703895 -0.0670376 9.98143 -0.0575243 -0.0351537 0.0660464 0.16 0.02 pose: 0.32847335 -4.7818 -3.73487 0 0.0010602 -0.00132128 0.998674 -0.0514598 uwb: 0.49953463 1243.12 1494.07 -imu_odom_: 1691062897.824539937 0.828394 -0.0215478 10.2232 -0.0532632 -0.0458064 0.072438 0.16 0.02 pose: 0.0 -4.7818 -3.73487 0 0.0010602 -0.00132128 0.998674 -0.0514598 uwb: 0.0 1243.12 1494.07 -imu_odom_: 1691062897.849345033 0.926556 -0.047884 9.94312 -0.0639159 -0.00958738 0.0532632 0.18 0 pose: 0.52972037 -4.78578 -3.74405 0 -0.00201165 -0.00133366 0.998632 -0.0522295 uwb: 0.50417186 1244.62 1493.86 -imu_odom_: 1691062897.865399181 0.141258 -0.287304 9.54329 -0.0639159 0.0383495 0.0617853 0.18 0 pose: 0.0 -4.78578 -3.74405 0 -0.00201165 -0.00133366 0.998632 -0.0522295 uwb: 0.0 1244.62 1493.86 -imu_odom_: 1691062897.882337610 0.342371 -0.361524 10.173 -0.0735032 0.0117179 0.0532632 0.18 0.05 pose: 0.42873376 -4.79495 -3.74008 0 0.00250722 0.000641617 0.9986 -0.0528324 uwb: 0.0 1244.62 1493.86 -imu_odom_: 1691062897.898335177 0.179565 -0.0837971 9.33739 -0.0681769 -0.0298274 0.0553937 0.18 0.05 pose: 0.0 -4.79495 -3.74008 0 0.00250722 0.000641617 0.9986 -0.0528324 uwb: 0.49642857 1245.28 1494.11 -imu_odom_: 1691062897.914409740 1.07021 0.0694318 10.2711 -0.0660464 -0.0234358 0.0607201 0.18 0.05 pose: 0.0 -4.79495 -3.74008 0 0.00250722 0.000641617 0.9986 -0.0528324 uwb: 0.0 1245.28 1494.11 -imu_odom_: 1691062897.941506327 0.773327 -0.332794 10.0772 -0.0681769 0.0181095 0.0511327 0.21 0 pose: 0.40971820 -4.80414 -3.73613 0 0.00180067 -0.0001500680.998583 -0.0531816 uwb: 0.49830678 1243.86 1495.57 -imu_odom_: 1691062897.967460231 0.397437 -0.272939 10.2017 -0.0553937 -0.015979 0.052198 0.17 0.02 pose: 0.49062765 -4.80809 -3.74532 0 0.00234468 2.12043e-05 0.99856 -0.053587 uwb: 0.0 1243.86 1495.57 -imu_odom_: 1691062897.983336181 0.220267 -0.251391 9.67497 -0.0543285 0.0181095 0.0490022 0.23 0 pose: 0.0 -4.80809 -3.74532 0 0.00234468 2.12043e-05 0.99856 -0.053587 uwb: 0.0 1243.86 1495.57 -imu_odom_: 1691062897.999398495 0.497994 -0.289698 9.8689 -0.0394148 0.0276969 0.0532632 0.23 0 pose: 0.0 -4.80809 -3.74532 0 0.00234468 2.12043e-05 0.99856 -0.053587 uwb: 0.50106871 1246.92 1494.16 -imu_odom_: 1691062898.15329566 0.129287 -0.426168 9.69173 -0.0383495 0.0106526 0.04048 0.23 0 pose: 0.51978095 -4.81727 -3.74136 0 0.00107007 -0.0019393 0.998544 -0.0539024 uwb: 0.0 1246.92 1494.16 -imu_odom_: 1691062898.32330992 0.318429 -0.141258 10.0485 -0.056459 -0.00958738 0.0585895 0.22 0 pose: 0.0 -4.81727 -3.74136 0 0.00107007 -0.0019393 0.998544 -0.0539024 uwb: 0.0 1246.92 1494.16 -imu_odom_: 1691062898.49405330 0.509965 -0.201113 9.67018 -0.052198 -0.0117179 0.0617853 0.22 0 pose: 0.0 -4.81727 -3.74136 0 0.00107007 -0.0019393 0.998544 -0.0539024 uwb: 0.49925465 1246.2 1494.88 -imu_odom_: 1691062898.74385124 0.117316 -0.217872 9.53132 -0.0617853 -0.00106526 0.0596548 0.17 0 pose: 0.75023669 -4.83045 -3.74648 0 0.000617909 -0.0009917020.998518 -0.0544157 uwb: 0.0 1246.2 1494.88 -imu_odom_: 1691062898.90466979 0.184354 -0.253785 9.99579 -0.0468716 -0.052198 0.0607201 0.17 0 pose: 0.0 -4.83045 -3.74648 0 0.000617909 -0.0009917020.998518 -0.0544157 uwb: 0.50027251 1247.76 1494.78 -imu_odom_: 1691062898.106462797 0.864307 -0.155623 10.2663 -0.0447411 -0.0447411 0.0458064 0.18 0 pose: 0.7990035 -4.83045 -3.74648 0 -0.000192555-0.00101836 0.998513 -0.0544965 uwb: 0.0 1247.76 1494.78 -imu_odom_: 1691062898.122474364 0.42138 -0.146046 9.60793 -0.0532632 0.0117179 0.0575243 0.22 0.02 pose: 0.0 -4.83045 -3.74648 0 -0.000192555-0.00101836 0.998513 -0.0544965 uwb: 0.0 1247.76 1494.78 -imu_odom_: 1691062898.148349231 0.299275 -0.280122 9.89284 -0.0511327 0.0276969 0.0490022 0.17 0.02 pose: 0.65078999 -4.84694 -3.74534 0 -0.0007138180.000653819 0.998484 -0.0550331 uwb: 0.50076540 1253.2 1492.69 -imu_odom_: 1691062898.175488399 0.76375 -0.222661 9.94073 -0.0692422 -0.00852212 0.0511327 0.22 0 pose: 0.0 -4.84694 -3.74534 0 -0.0007138180.000653819 0.998484 -0.0550331 uwb: 0.0 1253.2 1492.69 -imu_odom_: 1691062898.200382740 0.78051 -0.246603 10.0245 -0.0671117 -0.0106526 0.0585895 0.22 0 pose: 0.33005409 -4.85278 -3.74762 0 -0.00225361 -0.00111056 0.998473 -0.055193 uwb: 0.49843221 1254.85 1492.71 -imu_odom_: 1691062898.217457953 0.723049 -0.114922 9.74201 -0.0585895 -0.0287621 0.0426106 0.22 0 pose: 0.0 -4.85278 -3.74762 0 -0.00225361 -0.00111056 0.998473 -0.055193 uwb: 0.0 1254.85 1492.71 -imu_odom_: 1691062898.233328362 0.6608 -0.25618 9.83299 -0.0575243 0.0181095 0.0426106 0.22 0 pose: 0.51870478 -4.86194 -3.74362 0 0.00307301 -0.0008434340.998451 -0.0555499 uwb: 0.0 1254.85 1492.71 -imu_odom_: 1691062898.260353495 0.37589 -0.342371 9.51216 -0.0479369 -0.0245011 0.0426106 0.23 0 pose: 0.0 -4.86194 -3.74362 0 0.00307301 -0.0008434340.998451 -0.0555499 uwb: 0.50179200 1251.78 1495.18 -imu_odom_: 1691062898.286341522 0.395043 -0.533907 9.93354 -0.0447411 0.0191748 0.0511327 0.23 0 pose: 0.25978111 -4.86194 -3.74362 0 0.00549672 -0.00058577 0.998439 -0.0555865 uwb: 0.49996920 1249.12 1497.47 -imu_odom_: 1691062898.312475666 0.323217 -0.196325 10.1825 -0.0500674 -0.0245011 0.0532632 0.22 -0.02 pose: 0.8017449 -4.86194 -3.74362 0 0.00499624 -0.00110641 0.99844 -0.0556024 uwb: 0.0 1249.12 1497.47 -imu_odom_: 1691062898.335399330 0.486023 -0.136469 9.82341 -0.0628506 0.015979 0.0479369 0.22 -0.02 pose: 0.0 -4.86194 -3.74362 0 0.00499624 -0.00110641 0.99844 -0.0556024 uwb: 0.50016169 1252.97 1496.45 -imu_odom_: 1691062898.351348775 0.457293 -0.354342 9.45231 -0.0585895 0.0127832 0.0458064 0.18 0 pose: 0.52006969 -4.8751 -3.74879 0 0.00241242 -0.00429563 0.998427 -0.05585 uwb: 0.0 1252.97 1496.45 -imu_odom_: 1691062898.377314054 0.0814029 -0.217872 10.307 -0.0426106 0.0106526 0.0607201 0.18 0 pose: 0.0 -4.8751 -3.74879 0 0.00241242 -0.00429563 0.998427 -0.05585 uwb: 0.0 1252.97 1496.45 -imu_odom_: 1691062898.403327454 0.471658 -0.009576819.50498 -0.076699 -0.00426106 0.0511327 0.19 0 pose: 0.49040892 -4.88427 -3.7448 0 0.00183885 -0.00171446 0.998422 -0.0560985 uwb: 0.50022876 1250.31 1498.76 -imu_odom_: 1691062898.429332981 -0.114922 -0.268151 9.85214 -0.0671117 0.0745685 0.0511327 0.19 0 pose: 0.0 -4.88427 -3.7448 0 0.00183885 -0.00171446 0.998422 -0.0560985 uwb: 0.0 1250.31 1498.76 -imu_odom_: 1691062898.455395670 0.287304 -0.0837971 9.82341 -0.0575243 -0.0245011 0.0319579 0.19 0 pose: 0.41994636 -4.89743 -3.74998 0 -0.000610144-0.00161474 0.998404 -0.0564487 uwb: 0.49915841 1252.74 1498.14 -imu_odom_: 1691062898.481451068 0.306458 -0.289698 9.96467 -0.0756338 -0.0117179 0.0681769 0.21 -0.02 pose: 0.53026868 -4.90661 -3.746 0 -0.00386372 0.000131962 0.998385 -0.0566802 uwb: 0.0 1252.74 1498.14 -imu_odom_: 1691062898.497446011 0.141258 -0.138864 10.1562 -0.0575243 0.0117179 0.0479369 0.21 -0.02 pose: 0.0 -4.90661 -3.746 0 -0.00386372 0.000131962 0.998385 -0.0566802 uwb: 0.49870052 1251.86 1499.67 -imu_odom_: 1691062898.514501392 0.490811 0.129287 10.1418 -0.0703074 0.0543285 0.00426106 0.21 -0.02 pose: 0.0 -4.90661 -3.746 0 -0.00386372 0.000131962 0.998385 -0.0566802 uwb: 0.0 1251.86 1499.67 -imu_odom_: 1691062898.530501001 0.486023 -0.1652 9.52174 -0.0841559 -0.0138484 -0.04048 0.19 -0.17 pose: 0.77086216 -4.91972 -3.75118 0 -0.00564875 0.000942341 0.998371 -0.0567591 uwb: 0.0 1251.86 1499.67 -imu_odom_: 1691062898.547369727 0.114922 -0.100556 9.97903 -0.0788296 -0.0276969 -0.072438 0.19 -0.17 pose: 0.6887890 -4.91976 -3.7512 0 -0.00493428 0.000975535 0.998391 -0.0564859 uwb: 0.50138370 1253.31 1500.36 -imu_odom_: 1691062898.565440632 0.385466 -0.0694318 10.0652 -0.072438 0.0372843 -0.115049 0.19 -0.17 pose: 0.0 -4.91976 -3.7512 0 -0.00493428 0.000975535 0.998391 -0.0564859 uwb: 0.0 1253.31 1500.36 -imu_odom_: 1691062898.579493480 0.890643 -0.205901 9.96946 -0.0703074 -0.036219 -0.177899 0.2 -0.29 pose: 0.44051350 -4.93135 -3.75303 0 -0.00470065 0.00270243 0.998537 -0.0537978 uwb: 0.0 1253.31 1500.36 -imu_odom_: 1691062898.596449116 0.751779 0.25618 9.8665 -0.0511327 0.0383495 -0.279099 0.18 -0.29 pose: 0.0 -4.93135 -3.75303 0 -0.00470065 0.00270243 0.998537 -0.0537978 uwb: 0.49846720 1249.66 1502.92 -imu_odom_: 1691062898.613365089 0.706289 -0.148441 10.07 -0.0830906 0.02024 -0.290817 0.18 -0.29 pose: 0.0 -4.93135 -3.75303 0 -0.00470065 0.00270243 0.998537 -0.0537978 uwb: 0.0 1249.66 1502.92 -imu_odom_: 1691062898.629299077 0.282516 0.0407014 9.78271 -0.0607201 -0.00319579 -0.353668 0.23 -0.5 pose: 0.20889991 -4.93288 -3.75652 0 -0.00276654 0.00307694 0.99868 -0.0511907 uwb: 0.0 1249.66 1502.92 -imu_odom_: 1691062898.645354100 0.488417 -0.205901 10.0916 -0.0447411 -0.0245011 -0.407996 0.23 -0.5 pose: 0.0 -4.93288 -3.75652 0 -0.00276654 0.00307694 0.99868 -0.0511907 uwb: 0.50036584 1245.98 1505.46 -imu_odom_: 1691062898.662466936 0.445322 0.423774 10.319 -0.0628506 -0.0319579 -0.430367 0.23 -0.5 pose: 0.34065265 -4.9421 -3.75265 0 -0.00122279 0.00418709 0.998958 -0.0454199 uwb: 0.0 1245.98 1505.46 -imu_odom_: 1691062898.679289289 0.627281 -0.260968 9.64145 -0.0777643 -0.0351537 -0.44315 0.23 -0.58 pose: 0.33080655 -4.9421 -3.75265 0 -0.0001323560.00484403 0.999259 -0.0381768 uwb: 0.0 1245.98 1505.46 -imu_odom_: 1691062898.695353061 0.888249 -0.244209 10.1275 -0.0660464 -0.0255663 -0.495348 0.23 -0.58 pose: 0.0 -4.9421 -3.75265 0 -0.0001323560.00484403 0.999259 -0.0381768 uwb: 0.49941798 1245.43 1506.59 -imu_odom_: 1691062898.712294115 1.18992 0.201113 10.5177 -0.0340885 -0.00745685 -0.511327 0.23 -0.58 pose: 0.0 -4.9421 -3.75265 0 -0.0001323560.00484403 0.999259 -0.0381768 uwb: 0.0 1245.43 1506.59 -imu_odom_: 1691062898.729347746 0.667982 -0.112527 9.78031 -0.0639159 -0.0127832 -0.500674 0.18 -0.55 pose: 0.32826920 -4.95519 -3.75802 0 0.00242515 0.0044215 0.999533 -0.0301422 uwb: 0.0 1245.43 1506.59 -imu_odom_: 1691062898.746291426 0.548272 0.124498 9.94073 -0.056459 -0.0330232 -0.523045 0.18 -0.55 pose: 0.0 -4.95519 -3.75802 0 0.00242515 0.0044215 0.999533 -0.0301422 uwb: 0.49982045 1247.09 1506.64 -imu_odom_: 1691062898.762348782 0.653617 0.162806 9.72764 -0.0298274 -0.0681769 -0.519849 0.18 -0.58 pose: 0.16999093 -4.95519 -3.75802 0 0.00410681 0.00461967 0.999655 -0.0255397 uwb: 0.0 1247.09 1506.64 -imu_odom_: 1691062898.778283645 1.57299 -0.1652 10.3094 -0.0639159 -0.0649811 -0.490022 0.18 -0.58 pose: 0.0 -4.95519 -3.75802 0 0.00410681 0.00461967 0.999655 -0.0255397 uwb: 0.0 1247.09 1506.64 -imu_odom_: 1691062898.794282379 1.58257 -0.1652 9.77553 -0.0575243 -0.0191748 -0.459129 0.18 -0.58 pose: 0.0 -4.95519 -3.75802 0 0.00410681 0.00461967 0.999655 -0.0255397 uwb: 0.0 1247.09 1506.64 -imu_odom_: 1691062898.811288179 1.62806 -0.42138 9.55287 -0.0553937 -0.0181095 -0.433563 0.17 -0.55 pose: 0.51049775 -4.96443 -3.75421 0 0.00751581 0.00774778 0.999876 -0.0114313 uwb: 0.0 1247.09 1506.64 -imu_odom_: 1691062898.827287789 0.993594 -0.0287304 9.50737 -0.0596548 0.00958738 -0.377104 0.12 -0.38 pose: 0.0 -4.96443 -3.75421 0 0.00751581 0.00774778 0.999876 -0.0114313 uwb: 0.0 1247.09 1506.64 -imu_odom_: 1691062898.843283023 0.799663 -0.191536 9.83777 -0.0553937 0.036219 -0.315318 0.12 -0.38 pose: 0.65000253 -4.97752 -3.75966 0 0.0142089 0.00780755 0.999858 0.00467109 uwb: 0.100107874 1245.53 1507.93 -imu_odom_: 1691062898.859348254 0.246603 -0.399832 9.77792 -0.0511327 -0.00426106 -0.286556 0.11 -0.35 pose: 0.0 -4.97752 -3.75966 0 0.0142089 0.00780755 0.999858 0.00467109 uwb: 0.0 1245.53 1507.93 -imu_odom_: 1691062898.876344138 0.517148 -0.270545 9.74201 -0.0394148 -0.036219 -0.278034 0.11 -0.35 pose: 0.0 -4.97752 -3.75966 0 0.0142089 0.00780755 0.999858 0.00467109 uwb: 0.0 1245.53 1507.93 -imu_odom_: 1691062898.892346664 0.821211 -0.0430956 9.7851 -0.0532632 -0.0436758 -0.236489 0.11 -0.35 pose: 0.31944680 -4.97752 -3.75966 0 0.0149114 0.00628216 0.999815 0.0104315 uwb: 0.0 1245.53 1507.93 -imu_odom_: 1691062898.908287943 0.818817 -0.349553 9.77074 -0.0585895 -0.0223706 -0.207727 0.11 -0.35 pose: 0.41049400 -4.98241 -3.75762 0 0.0150947 0.0054953 0.999732 0.0166401 uwb: 0.0 1245.53 1507.93 -imu_odom_: 1691062898.925335741 1.0343 -0.371101 9.91439 -0.0585895 -0.0149137 -0.226901 0.11 -0.35 pose: 0.0 -4.98241 -3.75762 0 0.0150947 0.0054953 0.999732 0.0166401 uwb: 0.0 1245.53 1507.93 -imu_odom_: 1691062898.941277021 0.730232 -0.141258 9.80665 -0.0575243 -0.0308927 -0.199204 0.11 -0.35 pose: 0.0 -4.98241 -3.75762 0 0.0150947 0.0054953 0.999732 0.0166401 uwb: 0.99936385 1242.02 1510.88 -imu_odom_: 1691062898.958337360 0.799663 -0.146046 9.89045 -0.0628506 0.00532632 -0.168312 0.07 -0.26 pose: 0.7003675 -4.98676 -3.75584 0 0.0154624 0.00486652 0.999716 0.0174952 uwb: 0.0 1242.02 1510.88 -imu_odom_: 1691062898.975335869 0.732626 -0.131681 10.0748 -0.0575243 -0.00532632 -0.171508 0.09 -0.29 pose: 0.0 -4.98676 -3.75584 0 0.0154624 0.00486652 0.999716 0.0174952 uwb: 0.0 1242.02 1510.88 -imu_odom_: 1691062898.992392417 0.507571 -0.181959 9.79228 -0.052198 -0.0213053 -0.169377 0.09 -0.29 pose: 0.65997404 -4.98676 -3.75584 0 0.0172898 0.00371551 0.999524 0.0252637 uwb: 0.49954338 1246.48 1509.89 -imu_odom_: 1691062899.6333271 0.679953 -0.189142 9.88566 -0.0585895 -0.02024 -0.151268 0.06 -0.2 pose: 0.0 -4.98676 -3.75584 0 0.0172898 0.00371551 0.999524 0.0252637 uwb: 0.0 1246.48 1509.89 -imu_odom_: 1691062899.21329022 0.775721 -0.35913 9.9503 -0.0671117 -0.00852212 -0.122505 0.06 -0.2 pose: 0.0 -4.98676 -3.75584 0 0.0172898 0.00371551 0.999524 0.0252637 uwb: 0.0 1246.48 1509.89 -imu_odom_: 1691062899.37417877 0.720655 -0.387861 10.0676 -0.0532632 0.0106526 -0.122505 0.06 -0.2 pose: 0.32996660 -4.98676 -3.75584 0 0.0146805 0.00291471 0.999477 0.0286656 uwb: 0.49980880 1247.69 1510.11 -imu_odom_: 1691062899.56361106 0.737414 -0.0981623 9.85693 -0.0553937 -0.0138484 -0.111853 0.05 -0.11 pose: 0.39073474 -4.99138 -3.75392 0 0.0151329 -0.0008940060.999376 0.0318898 uwb: 0.0 1247.69 1510.11 -imu_odom_: 1691062899.71423062 0.792481 -0.158017 9.73482 -0.0575243 -0.00639159 -0.092678 0.05 -0.11 pose: 0.9025099 -4.99601 -3.75203 0 0.015474 -3.25922e-050.999349 0.0325857 uwb: 0.0 1247.69 1510.11 -imu_odom_: 1691062899.89411139 0.770933 -0.213084 9.91439 -0.0585895 -0.0127832 -0.0841559 0.05 -0.11 pose: 0.0 -4.99601 -3.75203 0 0.015474 -3.25922e-050.999349 0.0325857 uwb: 0.49993129 1243.2 1513.36 -imu_odom_: 1691062899.107468629 0.632069 -0.339977 9.73243 -0.052198 0.00639159 -0.0798948 0.04 -0.08 pose: 0.42968163 -4.99601 -3.75203 0 0.0184639 -9.85313e-050.999201 0.0354364 uwb: 0.0 1243.2 1513.36 -imu_odom_: 1691062899.121470438 0.658405 -0.126893 10.082 -0.052198 -0.00532632 -0.076699 0.04 -0.11 pose: 0.0 -4.99601 -3.75203 0 0.0184639 -9.85313e-050.999201 0.0354364 uwb: 0.0 1243.2 1513.36 -imu_odom_: 1691062899.138410326 0.596156 -0.167594 9.73243 -0.0585895 -0.0181095 -0.0596548 0.04 -0.11 pose: 0.0 -4.99601 -3.75203 0 0.0184639 -9.85313e-050.999201 0.0354364 uwb: 0.50167535 1242.64 1514.51 -imu_odom_: 1691062899.155518496 0.797269 -0.304064 9.98143 -0.0553937 -0.00319579 -0.0415453 0.04 -0.11 pose: 0.23908274 -4.99601 -3.75203 0 0.0167377 -0.0008516 0.999181 0.0368381 uwb: 0.0 1242.64 1514.51 -imu_odom_: 1691062899.172397429 0.737414 -0.277727 9.79707 -0.0607201 -0.00532632 -0.0298274 0.03 -0.02 pose: 0.0 -4.99601 -3.75203 0 0.0167377 -0.0008516 0.999181 0.0368381 uwb: 0.0 1242.64 1514.51 -imu_odom_: 1691062899.188290586 0.588974 -0.184354 9.94551 -0.0532632 0.00852212 -0.00426106 0.03 -0.02 pose: 0.32240704 -4.99601 -3.75203 0 0.0152365 -0.0001530410.999144 0.0384538 uwb: 0.50024335 1240.69 1516.18 -imu_odom_: 1691062899.205267222 0.543484 -0.280122 9.98143 -0.056459 -0.00319579 0.0298274 0.03 0 pose: 0.42730469 -4.99601 -3.75203 0 0.0150228 -0.00173281 0.999095 0.0397645 uwb: 0.0 1240.69 1516.18 -imu_odom_: 1691062899.221264207 0.593762 -0.251391 9.8665 -0.052198 -0.00958738 0.036219 0.03 0 pose: 0.0 -4.99601 -3.75203 0 0.0150228 -0.00173281 0.999095 0.0397645 uwb: 0.0 1240.69 1516.18 -imu_odom_: 1691062899.237267899 0.823605 -0.227449 9.97424 -0.052198 -0.00958738 0.0479369 0.03 0 pose: 0.0 -4.99601 -3.75203 0 0.0150228 -0.00173281 0.999095 0.0397645 uwb: 0.50018503 1239.31 1517.88 -imu_odom_: 1691062899.254252410 0.636858 -0.179565 9.84735 -0.0532632 0.00745685 0.0617853 0.01 0.05 pose: 0.7115086 -4.99601 -3.75203 0 0.0143252 -0.00189703 0.999103 0.039796 uwb: 0.0 1239.31 1517.88 -imu_odom_: 1691062899.271319165 0.600945 -0.265756 9.92636 -0.0532632 0.00213053 0.0649811 0.01 0 pose: 0.0 -4.99601 -3.75203 0 0.0143252 -0.00189703 0.999103 0.039796 uwb: 0.0 1239.31 1517.88 -imu_odom_: 1691062899.288259345 0.59855 -0.208296 9.87608 -0.0532632 -0.00852212 0.0703074 0.01 0 pose: 0.65853913 -4.99601 -3.75203 0 0.0121657 -0.0009105 0.999144 0.0395361 uwb: 0.50138079 1239.55 1518.41 -imu_odom_: 1691062899.304290453 0.787692 -0.229843 9.93115 -0.0543285 -0.0117179 0.0809601 0 0.08 pose: 0.0 -4.99601 -3.75203 0 0.0121657 -0.0009105 0.999144 0.0395361 uwb: 0.0 1239.55 1518.41 -imu_odom_: 1691062899.329403239 0.605733 -0.189142 9.92397 -0.0532632 0.0106526 0.0671117 0 0.08 pose: 0.0 -4.99601 -3.75203 0 0.0121657 -0.0009105 0.999144 0.0395361 uwb: 0.0 1239.55 1518.41 -imu_odom_: 1691062899.346281881 0.112527 -0.191536 9.92875 -0.056459 0.056459 0.0500674 0 0.02 pose: 0.33042450 -4.99601 -3.75203 0 0.0109163 -0.0004014930.999178 0.0390264 uwb: 0.49781391 1244.39 1516.98 -imu_odom_: 1691062899.362266616 -1.27132 -0.189142 9.81383 -0.0532632 0.120375 0.0138484 0 0.02 pose: 0.42000177 -4.99601 -3.75203 0 0.00899578 0.00120789 0.999219 0.0384576 uwb: 0.0 1244.39 1516.98 -imu_odom_: 1691062899.379344455 -1.94888 -0.110133 10.1227 -0.0447411 0.0138484 -0.0287621 0 0.02 pose: 0.0 -4.99601 -3.75203 0 0.00899578 0.00120789 0.999219 0.0384576 uwb: 0.0 1244.39 1516.98 -imu_odom_: 1691062899.396411210 -1.01035 -0.0167594 9.76116 -0.0596548 -0.0948085 -0.0468716 0.06 -0.02 pose: 0.43042243 -4.99601 -3.75203 0 0.00324477 0.00156771 0.999225 0.0391992 uwb: 0.50004211 1244.08 1517.49 -imu_odom_: 1691062899.413346723 0.380678 -0.265756 10.1059 -0.0596548 -0.0894822 -0.0394148 0.06 -0.02 pose: 0.0 -4.99601 -3.75203 0 0.00324477 0.00156771 0.999225 0.0391992 uwb: 0.0 1244.08 1517.49 -imu_odom_: 1691062899.429265254 0.749385 -0.325611 9.46188 -0.0617853 -0.00319579 -0.0596548 0.06 -0.02 pose: 0.0 -4.99601 -3.75203 0 0.00324477 0.00156771 0.999225 0.0391992 uwb: 0.0 1244.08 1517.49 -imu_odom_: 1691062899.445294029 0.162806 -0.138864 10.2807 -0.04048 0.0426106 -0.0745685 0.12 -0.14 pose: 0.8069654 -4.99601 -3.75203 0 0.00281052 0.00165855 0.999212 0.0395501 uwb: 0.49990504 1242.94 1518.6 -imu_odom_: 1691062899.462248499 -0.282516 -0.387861 9.50498 -0.0532632 0.0181095 -0.0660464 0.1 -0.08 pose: 0.0 -4.99601 -3.75203 0 0.00281052 0.00165855 0.999212 0.0395501 uwb: 0.0 1242.94 1518.6 -imu_odom_: 1691062899.477247459 -0.131681 -0.126893 9.89524 -0.0596548 0.00106526 -0.0639159 0.1 -0.08 pose: 0.65897661 -5.00912 -3.75733 0 0.000632327 0.000155037 0.999086 0.0427354 uwb: 0.0 1242.94 1518.6 -imu_odom_: 1691062899.493239485 0.222661 -0.217872 10.24 -0.0511327 -0.0351537 -0.0490022 0.1 -0.08 pose: 0.0 -5.00912 -3.75733 0 0.000632327 0.000155037 0.999086 0.0427354 uwb: 0.49748727 1240.35 1520.16 -imu_odom_: 1691062899.510289325 0.612916 -0.177171 10.0317 -0.0628506 0.00532632 -0.0511327 0.1 -0.05 pose: 0.0 -5.00912 -3.75733 0 0.000632327 0.000155037 0.999086 0.0427354 uwb: 0.0 1240.35 1520.16 -imu_odom_: 1691062899.527386412 0.306458 -0.0742203 9.77792 -0.0490022 0.0223706 -0.0649811 0.1 -0.05 pose: 0.30955113 -5.00912 -3.75733 0 -0.00244616 0.000273968 0.999016 0.0442929 uwb: 0.0 1240.35 1520.16 -imu_odom_: 1691062899.544273803 -0.0023942 0.0335188 9.5385 -0.0596548 0.00852212 -0.0340885 0.16 -0.08 pose: 0.43119529 -5.01833 -3.75342 0 -0.00249181 0.00199092 0.99892 0.0463522 uwb: 0.50126413 1235.07 1523.06 -imu_odom_: 1691062899.561250148 0.0407014 -0.304064 9.18895 -0.0756338 0.00106526 -0.0330232 0.16 -0.08 pose: 0.0 -5.01833 -3.75342 0 -0.00249181 0.00199092 0.99892 0.0463522 uwb: 0.0 1235.07 1523.06 -imu_odom_: 1691062899.577252090 0.0047884 -0.383072 9.80904 -0.0628506 0.0191748 -0.0468716 0.16 -0.08 pose: 0.0 -5.01833 -3.75342 0 -0.00249181 0.00199092 0.99892 0.0463522 uwb: 0.0 1235.07 1523.06 -imu_odom_: 1691062899.594380967 0.0191536 -0.311246 9.65821 -0.0553937 0.0479369 -0.0511327 0.13 -0.08 pose: 0.7003676 -5.01833 -3.75342 0 -0.00312266 0.00236411 0.998905 0.0466099 uwb: 0.49976213 1232.43 1524.52 -imu_odom_: 1691062899.611380352 0.402226 -0.0574608 9.75398 -0.0713727 0.0191748 -0.0415453 0.12 -0.05 pose: 0.0 -5.01833 -3.75342 0 -0.00312266 0.00236411 0.998905 0.0466099 uwb: 0.0 1232.43 1524.52 -imu_odom_: 1691062899.628440400 0.488417 -0.215478 9.55526 -0.0692422 0.0117179 0.00852212 0.12 -0.05 pose: 0.68005412 -5.02754 -3.74954 0 -0.00868642 0.000957751 0.998741 0.0493931 uwb: 0.0 1232.43 1524.52 -imu_odom_: 1691062899.646294318 0.828394 -0.481235 9.88087 -0.0639159 0.0308927 0.0308927 0.1 -0.08 pose: 0.0 -5.02754 -3.74954 0 -0.00868642 0.000957751 0.998741 0.0493931 uwb: 0.49989337 1227.94 1526.77 -imu_odom_: 1691062899.660230797 0.866701 -0.378284 9.68455 -0.0553937 -0.0319579 0.0255663 0.1 -0.08 pose: 0.0 -5.02754 -3.74954 0 -0.00868642 0.000957751 0.998741 0.0493931 uwb: 0.0 1227.94 1526.77 -imu_odom_: 1691062899.675374415 1.43652 -0.0933739 10.1011 -0.0479369 -0.0127832 0.00745685 0.1 -0.08 pose: 0.33983895 -5.02754 -3.74954 0 -0.00599681 0.000681698 0.998728 0.0500507 uwb: 0.0 1227.94 1526.77 -imu_odom_: 1691062899.692315761 1.43892 0.181959 10.1897 -0.0607201 0.0500674 -0.0276969 0.11 -0.11 pose: 0.38995020 -5.03246 -3.74751 0 -0.0022204 -0.0001508780.998725 0.0504393 uwb: 0.0 1227.94 1526.77 -imu_odom_: 1691062899.710246967 0.56982 -0.107739 9.63666 -0.0671117 0.0287621 -0.0138484 0.11 -0.11 pose: 0.7005717 -5.03678 -3.74571 0 -0.00174216 5.06864e-05 0.998714 0.0506743 uwb: 0.0 1227.94 1526.77 -imu_odom_: 1691062899.724382935 0.608127 -0.440533 9.76595 -0.0660464 0.0191748 -0.0351537 0.11 -0.11 pose: 0.0 -5.03678 -3.74571 0 -0.00174216 5.06864e-05 0.998714 0.0506743 uwb: 0.0 1227.94 1526.77 -imu_odom_: 1691062899.740245469 0.469264 -0.332794 9.93833 -0.0585895 -0.0127832 -0.0788296 0.06 -0.08 pose: 0.42002803 -5.04062 -3.75495 0 0.000924104 -0.00018684 0.998646 0.0520107 uwb: 0.100086002 1231.93 1525.85 -imu_odom_: 1691062899.755429917 0.699107 -0.0407014 10.1107 -0.056459 -0.00958738 -0.0703074 0.06 -0.02 pose: 0.0 -5.04062 -3.75495 0 0.000924104 -0.00018684 0.998646 0.0520107 uwb: 0.0 1231.93 1525.85 -imu_odom_: 1691062899.771431860 0.85473 -0.0526724 9.8689 -0.0649811 -0.0149137 -0.0213053 0.06 -0.02 pose: 0.0 -5.04062 -3.75495 0 0.000924104 -0.00018684 0.998646 0.0520107 uwb: 0.0 1231.93 1525.85 -imu_odom_: 1691062899.788443494 0.708684 -0.474052 9.87369 -0.0585895 0.0138484 -0.0149137 0.06 -0.02 pose: 0.23060448 -5.04062 -3.75495 0 0.00213061 -0.00130063 0.998573 0.0533437 uwb: 0.49912925 1233.89 1525.31 -imu_odom_: 1691062899.804550139 0.746991 -0.265756 9.91918 -0.052198 -0.0127832 -0.0181095 0.07 -0.08 pose: 0.0 -5.04062 -3.75495 0 0.00213061 -0.00130063 0.998573 0.0533437 uwb: 0.0 1233.89 1525.31 -imu_odom_: 1691062899.831379867 0.620098 -0.126893 9.80665 -0.0543285 0.0191748 -0.00319579 0.07 -0.08 pose: 0.30946072 -5.04062 -3.75495 0 0.00474684 -0.0009174860.998504 0.0544597 uwb: 0.0 1233.89 1525.31 -imu_odom_: 1691062899.847244443 0.265756 -0.225055 9.94073 -0.0575243 0.0298274 -0.015979 0.06 -0.02 pose: 0.33908357 -5.04062 -3.75495 0 0.00731312 -0.00131973 0.998439 0.055365 uwb: 0.50095790 1234.97 1525.27 -imu_odom_: 1691062899.874343072 -1.30723 -0.380678 10.0892 -0.0500674 0.0255663 0.0181095 0.06 -0.02 pose: 0.0 -5.04062 -3.75495 0 0.00731312 -0.00131973 0.998439 0.055365 uwb: 0.0 1234.97 1525.27 -imu_odom_: 1691062899.899303618 -0.0814029 -0.366313 9.76595 -0.052198 -0.0820254 0.0213053 0.08 -0.02 pose: 0.43016577 -5.04982 -3.75102 0 0.00547375 0.000180967 0.998398 0.0563125 uwb: 0.49922841 1235.49 1525.19 -imu_odom_: 1691062899.926304545 0.457293 0.0574608 9.7851 -0.0426106 -0.00319579 0.00852212 0.11 0 pose: 0.43989229 -5.04982 -3.75102 0 0.00182497 -0.0003998750.998387 0.0567431 uwb: 0.0 1235.49 1525.19 -imu_odom_: 1691062899.952251450 -0.0550666 -0.304064 10.0078 -0.0532632 0.0532632 0.0106526 0.11 0 pose: 0.0 -5.04982 -3.75102 0 0.00182497 -0.0003998750.998387 0.0567431 uwb: 0.50062250 1235.2 1525.78 -imu_odom_: 1691062899.979344246 -0.00957681-0.392649 9.87369 -0.0319579 0 0.00426106 0.15 -0.05 pose: 0.7084171 -5.04982 -3.75102 0 0.00191111 0.000349937 0.998381 0.0568541 uwb: 0.0 1235.2 1525.78 -imu_odom_: 1691062899.995244695 0.493206 -0.1652 9.38288 -0.052198 0.00532632 0.0149137 0.15 -0.05 pose: 0.0 -5.04982 -3.75102 0 0.00191111 0.000349937 0.998381 0.0568541 uwb: 0.49921675 1232.7 1527.59 -imu_odom_: 1691062900.22239497 0.586579 -0.253785 9.8689 -0.0436758 0.0245011 0.0372843 0.17 0 pose: 0.52927416 -5.05904 -3.74716 0 -0.00177255 0.00174544 0.998333 0.0576703 uwb: 0.0 1232.7 1527.59 -imu_odom_: 1691062900.47217542 0.201113 -0.143652 9.9934 -0.0532632 -0.0458064 0.0138484 0.17 0 pose: 0.0 -5.05904 -3.74716 0 -0.00177255 0.00174544 0.998333 0.0576703 uwb: 0.50017628 1231.91 1528.29 -imu_odom_: 1691062900.74287882 -0.00957681-0.0933739 9.54089 -0.0585895 -0.0330232 0.0287621 0.15 -0.02 pose: 0.43922732 -5.05904 -3.74716 0 -0.00146469 0.00116618 0.998301 0.05823 uwb: 0.0 1231.91 1528.29 -imu_odom_: 1691062900.90216329 -0.0023942 -0.275333 9.69652 -0.0436758 -0.0287621 0.0266316 0.15 -0.02 pose: 0.0 -5.05904 -3.74716 0 -0.00146469 0.00116618 0.998301 0.05823 uwb: 0.49982046 1230.15 1529.3 -imu_odom_: 1691062900.117213757 0.363919 -0.138864 10.1155 -0.0543285 0.0138484 0.02024 0.15 0 pose: 0.51030236 -5.06825 -3.74328 0 -0.00234696 0.00168675 0.998277 0.0586121 uwb: 0.0 1230.15 1529.3 -imu_odom_: 1691062900.143243199 0.634463 -0.263362 9.55047 -0.0660464 0.0234358 0.0255663 0.15 -0.02 pose: 0.62945584 -5.07862 -3.74975 0 -0.00319003 0.00326568 0.998243 0.0590794 uwb: 0.49983797 1234.86 1527.48 -imu_odom_: 1691062900.170359036 0.155623 -0.459687 9.43315 -0.0809601 0.00745685 0.036219 0.15 -0.02 pose: 0.0 -5.07862 -3.74975 0 -0.00319003 0.00326568 0.998243 0.0590794 uwb: 0.0 1234.86 1527.48 -imu_odom_: 1691062900.196294858 0.629675 -0.275333 10.058 -0.056459 0.0308927 0.0191748 0.15 -0.02 pose: 0.8006950 -5.08136 -3.74859 0 -0.00256668 0.00291263 0.998243 0.0591337 uwb: 0.50013837 1234.64 1528.24 -imu_odom_: 1691062900.223274787 0.730232 -0.1652 10.5417 -0.0351537 -0.0117179 0.015979 0.15 -0.02 pose: 0.0 -5.08136 -3.74859 0 -0.00256668 0.00291263 0.998243 0.0591337 uwb: 0.0 1234.64 1528.24 -imu_odom_: 1691062900.248328369 0.622492 -0.0646434 10.0054 -0.0575243 -0.056459 0.0308927 0.15 0 pose: 0.53017245 -5.08136 -3.74859 0 -0.00251785 -0.0004269010.998232 0.0593878 uwb: 0.50036877 1239.42 1526.56 -imu_odom_: 1691062900.265394833 0.543484 -0.158017 9.98382 -0.0585895 -0.0170442 0.0500674 0.15 0 pose: 0.0 -5.08136 -3.74859 0 -0.00251785 -0.0004269010.998232 0.0593878 uwb: 0.0 1239.42 1526.56 -imu_odom_: 1691062900.291205246 0.395043 -0.126893 9.72525 -0.0607201 -0.015979 0.0255663 0.15 -0.05 pose: 0.53083741 -5.09056 -3.74468 0 0.0025781 0.000234027 0.998199 0.0599292 uwb: 0.49927217 1237.6 1527.43 -imu_odom_: 1691062900.308201715 0.521936 -0.0215478 10.2113 -0.04048 -0.00106526 0.0319579 0.15 -0.05 pose: 0.0 -5.09056 -3.74468 0 0.0025781 0.000234027 0.998199 0.0599292 uwb: 0.0 1237.6 1527.43 -imu_odom_: 1691062900.334284529 0.215478 -0.387861 9.71567 -0.0394148 -0.00958738 0.0319579 0.16 -0.05 pose: 0.76880022 -5.10478 -3.73862 0 0.00447446 0.00450561 0.998168 0.0601764 uwb: 0.0 1237.6 1527.43 -imu_odom_: 1691062900.361207585 0.378284 -0.134075 9.56723 -0.0639159 0.00319579 0.0479369 0.2 -0.02 pose: 0.8071988 -5.10897 -3.73687 0 0.00389216 0.00403725 0.99817 0.0602075 uwb: 0.50022877 1237.88 1528.06 -imu_odom_: 1691062900.386205754 0.708684 -0.0646434 10.7021 -0.0607201 -0.052198 0.0468716 0.18 0 pose: 0.44933882 -5.1128 -3.74611 0 -4.109e-05 0.00381121 0.998181 0.0601746 uwb: 0.49978839 1237.19 1528.98 -imu_odom_: 1691062900.413217181 0.723049 -0.047884 10.2759 -0.0607201 -0.0266316 0.04048 0.19 -0.02 pose: 0.0 -5.1128 -3.74611 0 -4.109e-05 0.00381121 0.998181 0.0601746 uwb: 0.0 1237.19 1528.98 -imu_odom_: 1691062900.429220582 0.816423 -0.311246 9.75637 -0.0575243 0.0308927 0.0308927 0.19 -0.02 pose: 0.32008553 -5.12204 -3.74228 0 0.00378254 0.00424469 0.998178 0.0600709 uwb: 0.0 1237.19 1528.98 -imu_odom_: 1691062900.456295588 0.383072 -0.0790087 9.81144 -0.0532632 0.0436758 0.0319579 0.23 -0.02 pose: 0.0 -5.12204 -3.74228 0 0.00378254 0.00424469 0.998178 0.0600709 uwb: 0.49874720 1240.68 1528.1 -imu_odom_: 1691062900.482280408 -0.102951 -0.28491 9.72764 -0.0607201 -0.0170442 0.0511327 0.23 -0.02 pose: 0.44012269 -5.13128 -3.73846 0 0.00604121 0.00404784 0.998163 0.0601469 uwb: 0.0 1240.68 1528.1 -imu_odom_: 1691062900.509253045 0.179565 -0.023942 9.75398 -0.0703074 -0.036219 0.0351537 0.21 -0.02 pose: 0.45052001 -5.13128 -3.73846 0 0.001468 0.00420733 0.998183 0.0600916 uwb: 0.50119414 1238.61 1529.68 -imu_odom_: 1691062900.535206950 0.332794 -0.114922 10.0916 -0.0617853 -0.00319579 0.0426106 0.21 -0.02 pose: 0.7094962 -5.13128 -3.73846 0 0.000945356 0.00447099 0.998181 0.0601109 uwb: 0.0 1238.61 1529.68 -imu_odom_: 1691062900.562222751 0.385466 -0.246603 9.79228 -0.052198 0.00745685 0.0500674 0.23 -0.02 pose: 0.45831580 -5.14315 -3.74097 0 -0.00313498 0.00511823 0.998172 0.0601388 uwb: 0.49869178 1243.56 1528.28 -imu_odom_: 1691062900.578344270 0.469264 -0.320823 10.0245 -0.0543285 -0.0607201 0.0532632 0.23 -0.02 pose: 0.0 -5.14315 -3.74097 0 -0.00313498 0.00511823 0.998172 0.0601388 uwb: 0.0 1243.56 1528.28 -imu_odom_: 1691062900.605339073 0.682347 -0.0047884 10.1562 -0.0426106 -0.0394148 0.0340885 0.22 0 pose: 0.43137320 -5.15359 -3.74004 0 -0.00111751 0.00123587 0.998203 0.0598937 uwb: 0.50001004 1244.3 1528.69 -imu_odom_: 1691062900.631344308 0.639252 -0.1652 10.2041 -0.0500674 -0.0287621 0.0394148 0.18 0 pose: 0.0 -5.15359 -3.74004 0 -0.00111751 0.00123587 0.998203 0.0598937 uwb: 0.0 1244.3 1528.69 -imu_odom_: 1691062900.658257157 0.797269 0.0167594 9.81144 -0.0490022 -0.0138484 0.0458064 0.23 0 pose: 0.53000038 -5.16283 -3.73622 0 0.00466252 0.00247056 0.998187 0.059959 uwb: 0.0 1244.3 1528.69 -imu_odom_: 1691062900.674249184 0.605733 -0.217872 9.99819 -0.0628506 -0.00639159 0.052198 0.23 0 pose: 0.0 -5.16283 -3.73622 0 0.00466252 0.00247056 0.998187 0.059959 uwb: 0.0 1244.3 1528.69 -imu_odom_: 1691062900.701364729 0.572214 -0.19393 9.93354 -0.0735032 0 0.0394148 0.18 0 pose: 0.34935840 -5.17207 -3.7324 0 0.00765522 0.00305927 0.998175 0.0598171 uwb: 0.100020382 1246.43 1528.43 -imu_odom_: 1691062900.727462418 0.557849 -0.189142 10.1801 -0.0681769 -0.0372843 0.0458064 0.18 0.02 pose: 0.35084581 -5.17207 -3.7324 0 0.00881945 -0.0004716390.998175 0.0597416 uwb: 0.0 1246.43 1528.43 -imu_odom_: 1691062900.754430097 0.409408 -0.0383072 9.83059 -0.0692422 -0.0745685 0.0500674 0.18 0.02 pose: 0.0 -5.17207 -3.7324 0 0.00881945 -0.0004716390.998175 0.0597416 uwb: 0.0 1246.43 1528.43 -imu_odom_: 1691062900.780177805 1.21625 -0.335188 9.9527 -0.056459 -0.0617853 0.0298274 0.18 -0.02 pose: 0.7987702 -5.17207 -3.7324 0 0.00843447 8.13274e-05 0.998179 0.0597226 uwb: 0.0 1246.43 1528.43 -imu_odom_: 1691062900.807200314 0.385466 -0.289698 10.1562 -0.0351537 -0.0117179 0.036219 0.18 -0.02 pose: 0.0 -5.17207 -3.7324 0 0.00843447 8.13274e-05 0.998179 0.0597226 uwb: 0.100106419 1253.34 1526.37 -imu_odom_: 1691062900.824198241 0.25618 -0.296881 9.46667 -0.0703074 0.00639159 0.04048 0.18 0 pose: 0.52867629 -5.18513 -3.73782 0 0.00768875 0.00285619 0.998189 0.0595935 uwb: 0.0 1253.34 1526.37 -imu_odom_: 1691062900.851319911 0.682347 -0.301669 10.1418 -0.0692422 -0.0298274 0.0511327 0.18 0 pose: 0.0 -5.18513 -3.73782 0 0.00768875 0.00285619 0.998189 0.0595935 uwb: 0.50147121 1253.99 1526.55 -imu_odom_: 1691062900.876313122 0.215478 -0.347159 9.91199 -0.0543285 -0.00319579 0.0330232 0.24 0.02 pose: 0.53012287 -5.19437 -3.734 0 0.00683076 0.000914773 0.998192 0.0597056 uwb: 0.0 1253.99 1526.55 -imu_odom_: 1691062900.903181349 0.873884 -0.131681 9.71088 -0.0585895 -0.0170442 0.0447411 0.22 -0.02 pose: 0.61080775 -5.20361 -3.73018 0 0.00601046 -0.0018882 0.998202 0.0596086 uwb: 0.49866845 1254.82 1527.09 -imu_odom_: 1691062900.919358281 1.02472 -0.172383 9.88805 -0.0447411 0.00106526 0.0458064 0.22 -0.02 pose: 0.0 -5.20361 -3.73018 0 0.00601046 -0.0018882 0.998202 0.0596086 uwb: 0.0 1254.82 1527.09 -imu_odom_: 1691062900.946193843 0.35913 -0.138864 10.0987 -0.0575243 0.0330232 0.0490022 0.23 0.05 pose: 0.6898973 -5.20361 -3.73018 0 0.00672276 -0.00173273 0.998199 0.0595929 uwb: 0.49878219 1255.16 1527.79 -imu_odom_: 1691062900.971169263 0.426168 -0.0574608 9.91678 -0.0543285 0.02024 0.0447411 0.23 0.05 pose: 0.0 -5.20361 -3.73018 0 0.00672276 -0.00173273 0.998199 0.0595929 uwb: 0.0 1255.16 1527.79 -imu_odom_: 1691062900.988171856 0.296881 -0.378284 9.93833 -0.0511327 0.00745685 0.0447411 0.21 0 pose: 0.44039976 -5.21286 -3.72637 0 0.00948286 -0.00078973 0.998185 0.0594641 uwb: 0.49975339 1255.67 1528.85 -imu_odom_: 1691062901.13302726 0.0550666 -0.287304 9.83059 -0.0660464 0 0.0500674 0.21 0 pose: 0.0 -5.21286 -3.72637 0 0.00948286 -0.00078973 0.998185 0.0594641 uwb: 0.0 1255.67 1528.85 -imu_odom_: 1691062901.40176202 0.392649 -0.28491 9.8282 -0.0777643 0.0383495 0.0585895 0.23 0 pose: 0.51034319 -5.22591 -3.73179 0 0.00503884 0.0015368 0.998226 0.059313 uwb: 0.50187077 1258.84 1528.32 -imu_odom_: 1691062901.65142582 0.739808 -0.409408 10.2185 -0.0745685 0.0351537 0.0447411 0.23 0 pose: 0.0 -5.22591 -3.73179 0 0.00503884 0.0015368 0.998226 0.059313 uwb: 0.0 1258.84 1528.32 -imu_odom_: 1691062901.92149342 0.0574608 -0.0981623 10.0892 -0.0575243 0.0276969 0.0500674 0.21 -0.02 pose: 0.42011553 -5.23516 -3.72798 0 0.00116977 -0.0002819420.998252 0.0590883 uwb: 0.49837390 1262.25 1527.14 -imu_odom_: 1691062901.117197092 0.474052 -0.258574 9.84975 -0.0607201 0.0255663 0.0436758 0.18 0 pose: 0.51897020 -5.24441 -3.72418 0 0.000679592 -0.00318099 0.998264 0.0588008 uwb: 0.0 1262.25 1527.14 -imu_odom_: 1691062901.144185770 0.399832 -0.208296 9.4978 -0.0468716 -0.0223706 0.036219 0.2 0 pose: 0.0 -5.24441 -3.72418 0 0.000679592 -0.00318099 0.998264 0.0588008 uwb: 0.50085874 1260.72 1528.68 -imu_odom_: 1691062901.160306123 0.320823 0.0311246 10.5848 -0.0287621 -0.0149137 0.0458064 0.2 0 pose: 0.52139672 -5.25366 -3.72038 0 0.000588497 -0.00167838 0.998276 0.05866 uwb: 0.0 1260.72 1528.68 -imu_odom_: 1691062901.187156851 0.766145 -0.0335188 10.1251 -0.0447411 -0.0458064 0.0458064 0.18 0.02 pose: 0.0 -5.25366 -3.72038 0 0.000588497 -0.00167838 0.998276 0.05866 uwb: 0.50000713 1263.96 1528.25 -imu_odom_: 1691062901.213298287 0.40462 0.0383072 10.1442 -0.0458064 0.0106526 0.0468716 0.19 0 pose: 0.43902609 -5.25746 -3.72963 0 0.00072242 0.00231026 0.998278 0.058617 uwb: 0.0 1263.96 1528.25 -imu_odom_: 1691062901.230302922 0.488417 -0.342371 9.85214 -0.0585895 -0.0415453 0.0468716 0.19 0 pose: 0.0 -5.25746 -3.72963 0 0.00072242 0.00231026 0.998278 0.058617 uwb: 0.0 1263.96 1528.25 -imu_odom_: 1691062901.255211554 0.656011 -0.368707 10.0006 -0.0468716 -0.00319579 0.0447411 0.18 0 pose: 0.27078215 -5.26671 -3.72583 0 0.00269263 0.0037952 0.998275 0.0585276 uwb: 0.50007422 1261.08 1530.57 -imu_odom_: 1691062901.282138986 0.344765 0.0263362 9.91918 -0.0596548 0.00213053 0.052198 0.18 0 pose: 0.0 -5.26671 -3.72583 0 0.00269263 0.0037952 0.998275 0.0585276 uwb: 0.0 1261.08 1530.57 -imu_odom_: 1691062901.307200735 0.6608 -0.059855 10.2448 -0.0756338 0.015979 0.052198 0.18 -0.02 pose: 0.42865504 -5.27596 -3.72203 0 0.00321701 0.00332633 0.998284 0.0583788 uwb: 0.49840889 1260.1 1532.1 -imu_odom_: 1691062901.324203328 -0.0430956 -0.368707 9.90242 -0.0543285 0.0117179 0.0330232 0.18 -0.02 pose: 0.0 -5.27596 -3.72203 0 0.00321701 0.00332633 0.998284 0.0583788 uwb: 0.0 1260.1 1532.1 -imu_odom_: 1691062901.349234162 0.047884 -0.189142 10.1682 -0.0394148 -0.0170442 0.036219 0.18 0 pose: 0.51965848 -5.28521 -3.71824 0 0.00342546 0.0043972 0.998294 0.0581164 uwb: 0.50049418 1261.43 1532.46 -imu_odom_: 1691062901.376212341 0.665588 -0.205901 10.1083 -0.0553937 -0.0308927 0.036219 0.18 0 pose: 0.0 -5.28521 -3.71824 0 0.00342546 0.0043972 0.998294 0.0581164 uwb: 0.0 1261.43 1532.46 -imu_odom_: 1691062901.402226326 0.471658 -0.433351 9.83777 -0.0319579 0.0213053 0.0383495 0.18 0.02 pose: 0.41998721 -5.289 -3.7275 0 0.00244647 0.00403149 0.998301 0.0580785 uwb: 0.49968340 1260.48 1534.05 -imu_odom_: 1691062901.429165132 0.40462 0.11971 10.2999 -0.0330232 0.0447411 0.0383495 0.23 0 pose: 0.52084550 -5.29826 -3.72371 0 0.00361579 0.00239489 0.998298 0.0581509 uwb: 0.0 1260.48 1534.05 -imu_odom_: 1691062901.454296585 0.562637 -0.0526724 10.2472 -0.0575243 0.0106526 0.0458064 0.23 0 pose: 0.0 -5.29826 -3.72371 0 0.00361579 0.00239489 0.998298 0.0581509 uwb: 0.0 1260.48 1534.05 -imu_odom_: 1691062901.481282930 0.134075 -0.0766145 10.0628 -0.0607201 0.0127832 0.0458064 0.23 -0.02 pose: 0.70066503 -5.31408 -3.71722 0 0.00422034 0.00511827 0.998289 0.0580932 uwb: 0.0 1260.48 1534.05 -imu_odom_: 1691062901.506169106 0.445322 -0.0502782 9.67018 -0.0916127 -0.0149137 0.0628506 0.23 -0.02 pose: 0.6943012 -5.31676 -3.71612 0 0.00347265 0.0052061 0.998293 0.0580755 uwb: 0.100008426 1258.49 1535.91 -imu_odom_: 1691062901.523284859 0.833182 -0.296881 9.82102 -0.092678 0.0500674 0.0500674 0.21 -0.02 pose: 0.0 -5.31676 -3.71612 0 0.00347265 0.0052061 0.998293 0.0580755 uwb: 0.0 1258.49 1535.91 -imu_odom_: 1691062901.539195224 0.19393 -0.304064 9.84496 -0.0553937 0.00639159 0.0266316 0.21 -0.02 pose: 0.51921810 -5.32602 -3.71234 0 0.00285658 0.00675582 0.998308 0.0576899 uwb: 0.50126706 1261.19 1535.51 -imu_odom_: 1691062901.566252440 0.287304 -0.136469 10.149 -0.0458064 -0.0287621 0.0394148 0.25 0 pose: 0.0 -5.32602 -3.71234 0 0.00285658 0.00675582 0.998308 0.0576899 uwb: 0.0 1261.19 1535.51 -imu_odom_: 1691062901.591133366 0.567426 -0.304064 10.0437 -0.0553937 -0.00426106 0.0447411 0.25 0 pose: 0.33988854 -5.3298 -3.72159 0 0.0013331 0.00506161 0.998318 0.0577406 uwb: 0.49858679 1258.38 1538.07 -imu_odom_: 1691062901.618108045 0.433351 0.0263362 9.64145 -0.0436758 -0.00319579 0.0383495 0.21 -0.02 pose: 0.43983105 -5.33906 -3.71781 0 0.00127846 0.00300972 0.99833 0.0576816 uwb: 0.0 1258.38 1538.07 -imu_odom_: 1691062901.644144487 0.282516 -0.272939 9.53371 -0.0628506 0.0340885 0.0340885 0.19 -0.02 pose: 0.7018258 -5.33906 -3.71781 0 0.00135297 0.00374889 0.998327 0.0576864 uwb: 0.49998964 1257.9 1539.47 -imu_odom_: 1691062901.668242042 0.529119 -0.371101 9.67736 -0.0585895 0.0298274 0.0511327 0.25 0 pose: 0.45992863 -5.34831 -3.71403 0 -0.0007325880.00389318 0.998322 0.0577765 uwb: 0.0 1257.9 1539.47 -imu_odom_: 1691062901.692112694 0.56982 -0.191536 9.55765 -0.0458064 0.0383495 0.0415453 0.25 0 pose: 0.0 -5.34831 -3.71403 0 -0.0007325880.00389318 0.998322 0.0577765 uwb: 0.50043002 1257.3 1540.64 -imu_odom_: 1691062901.708221381 0.141258 -0.462081 10.3669 -0.0394148 0.0117179 0.0415453 0.18 0.02 pose: 0.31048442 -5.35757 -3.71025 0 0.000563395 0.00172292 0.998337 0.057625 uwb: 0.0 1257.3 1540.64 -imu_odom_: 1691062901.735273055 0.64404 -0.263362 10.2807 -0.056459 -0.0383495 0.0500674 0.18 0.02 pose: 0.0 -5.35757 -3.71025 0 0.000563395 0.00172292 0.998337 0.057625 uwb: 0.0 1257.3 1540.64 -imu_odom_: 1691062901.760121316 0.363919 -0.289698 10.0126 -0.0532632 -0.00106526 0.0415453 0.25 0 pose: 0.41220308 -5.35757 -3.71025 0 0.00145364 0.000445128 0.998342 0.0575452 uwb: 0.49950841 1258.54 1540.81 -imu_odom_: 1691062901.785269977 0.56982 0.122104 10.0963 -0.0394148 -0.0415453 0.0394148 0.21 0 pose: 0.43708079 -5.37061 -3.71573 0 0.0013953 -0.00145036 0.998348 0.0574156 uwb: 0.0 1258.54 1540.81 -imu_odom_: 1691062901.799120420 0.1652 -0.201113 9.82102 -0.0458064 0.00426106 0.0351537 0.21 0 pose: 0.0 -5.37061 -3.71573 0 0.0013953 -0.00145036 0.998348 0.0574156 uwb: 0.49987297 1261.8 1540.33 -imu_odom_: 1691062901.824185961 0.172383 -0.253785 9.57441 -0.0607201 0 0.0415453 0.17 0 pose: 0.7068422 -5.37061 -3.71573 0 0.00181711 -0.0007554580.998348 0.0574172 uwb: 0.0 1261.8 1540.33 -imu_odom_: 1691062901.849156131 0.356736 -0.0263362 10.2663 -0.0788296 0.0191748 0.0543285 0.17 0 pose: 0.0 -5.37061 -3.71573 0 0.00181711 -0.0007554580.998348 0.0574172 uwb: 0.49995464 1260.73 1541.74 -imu_odom_: 1691062901.872184207 0.538695 -0.234632 10.1083 -0.0713727 0.00532632 0.0415453 0.2 0 pose: 0.38979855 -5.37987 -3.71195 0 0.000745329 0.000982376 0.998348 0.057447 uwb: 0.0 1260.73 1541.74 -imu_odom_: 1691062901.888107988 0.141258 -0.457293 9.71806 -0.052198 0.0383495 0.0330232 0.2 0 pose: 0.0 -5.37987 -3.71195 0 0.000745329 0.000982376 0.998348 0.057447 uwb: 0.49982922 1258.24 1543.84 -imu_odom_: 1691062901.915166370 0.505177 -0.215478 10.2592 -0.0468716 -0.0394148 0.0458064 0.25 -0.02 pose: 0.48996272 -5.38913 -3.70817 0 -0.00106761 0.00251359 0.998357 0.0572367 uwb: 0.0 1258.24 1543.84 -imu_odom_: 1691062901.931156064 0.11971 0.136469 9.59835 -0.0649811 -0.0170442 0.0585895 0.25 -0.02 pose: 0.0 -5.38913 -3.70817 0 -0.00106761 0.00251359 0.998357 0.0572367 uwb: 0.0 1258.24 1543.84 -imu_odom_: 1691062901.958111494 0.186748 -0.287304 9.3326 -0.0628506 -0.0170442 0.0308927 0.25 0 pose: 0.40946157 -5.39839 -3.7044 0 -0.0002170620.00048844 0.99836 0.0572447 uwb: 0.50140413 1258.69 1544.79 -imu_odom_: 1691062901.984222307 -0.0191536 -0.395043 10.07 -0.04048 -0.0138484 0.0532632 0.25 0 pose: 0.0 -5.39839 -3.7044 0 -0.0002170620.00048844 0.99836 0.0572447 uwb: 0.0 1258.69 1544.79 -imu_odom_: 1691062902.11165196 0.445322 -0.203507 9.663 -0.0511327 -0.0234358 0.0458064 0.25 0.02 pose: 0.43090949 -5.40216 -3.71366 0 0.000373545 0.00111279 0.998369 0.0570719 uwb: 0.49891928 1257.2 1546.58 -imu_odom_: 1691062902.36102995 0.792481 -0.351948 10.1155 -0.0575243 -0.0234358 0.0585895 0.25 0.02 pose: 0.0 -5.40216 -3.71366 0 0.000373545 0.00111279 0.998369 0.0570719 uwb: 0.49964257 1253.18 1549.13 -imu_odom_: 1691062902.53160418 0.440533 -0.196325 9.58878 -0.0671117 0.00532632 0.0436758 0.23 -0.02 pose: 0.51934933 -5.41142 -3.70989 0 -0.0028274 -0.00028501 0.998373 0.0569584 uwb: 0.0 1253.18 1549.13 -imu_odom_: 1691062902.79212318 0.471658 -0.459687 9.64384 -0.0671117 0.0330232 0.0468716 0.23 -0.02 pose: 0.0 -5.41142 -3.70989 0 -0.0028274 -0.00028501 0.998373 0.0569584 uwb: 0.0 1253.18 1549.13 -imu_odom_: 1691062902.105191597 0.718261 -0.136469 9.91439 -0.0617853 0.0127832 0.0372843 0.18 0 pose: 0.51995015 -5.42069 -3.70612 0 0.00191267 -0.0002794690.998392 0.0566471 uwb: 0.50095209 1252.55 1550.3 -imu_odom_: 1691062902.130112479 0.603339 -0.42138 9.98143 -0.072438 -0.00639159 0.0511327 0.2 0 pose: 0.62058678 -5.42995 -3.70236 0 0.00384212 -0.00127288 0.998391 0.0565651 uwb: 0.0 1252.55 1550.3 -imu_odom_: 1691062902.157158613 0.497994 -0.0263362 9.61511 -0.0628506 -0.00213053 0.0394148 0.2 0 pose: 0.0 -5.42995 -3.70236 0 0.00384212 -0.00127288 0.998391 0.0565651 uwb: 0.0 1252.55 1550.3 -imu_odom_: 1691062902.182227070 0.696713 -0.208296 9.67497 -0.0639159 -0.0394148 0.0415453 0.19 0 pose: 0.5909989 -5.42995 -3.70236 0 0.00414371 -0.00183477 0.998391 0.0565295 uwb: 0.0 1252.55 1550.3 -imu_odom_: 1691062902.209099089 0.787692 -0.308852 9.60314 -0.0639159 -0.00852212 0.0266316 0.19 0 pose: 0.0 -5.42995 -3.70236 0 0.00414371 -0.00183477 0.998391 0.0565295 uwb: 0.100089797 1253.44 1550.98 -imu_odom_: 1691062902.234254749 0.56982 -0.608127 9.53132 -0.0607201 0.0276969 0.0447411 0.18 -0.02 pose: 0.54262882 -5.45224 -3.7041 0 0.00612916 -0.00104021 0.998387 0.056425 uwb: 0.0 1253.44 1550.98 -imu_odom_: 1691062902.251348045 0.196325 -0.385466 10.2185 -0.0276969 0.00745685 0.0351537 0.18 -0.02 pose: 0.0 -5.45224 -3.7041 0 0.00612916 -0.00104021 0.998387 0.056425 uwb: 0.49963674 1250.98 1553.24 -imu_odom_: 1691062902.277303409 0.61531 -0.198719 9.36612 -0.0458064 0.0287621 0.0490022 0.18 0.02 pose: 0.51817108 -5.46151 -3.70035 0 0.0103732 -0.00303018 0.998341 0.056548 uwb: 0.0 1250.98 1553.24 -imu_odom_: 1691062902.304124681 0.397437 0.0263362 10.1227 -0.0490022 -0.015979 0.0436758 0.23 -0.05 pose: 0.42115382 -5.46151 -3.70035 0 0.00838286 -0.00406347 0.99836 0.0564829 uwb: 0.50005964 1246.02 1556.46 -imu_odom_: 1691062902.329169806 0.426168 -0.399832 9.99579 -0.0639159 0.00319579 0.0458064 0.17 -0.02 pose: 0.25018001 -5.47078 -3.69659 0 0.00879548 -0.00185794 0.998367 0.0564057 uwb: 0.0 1246.02 1556.46 -imu_odom_: 1691062902.346120194 0.61531 -0.433351 10.0365 -0.0426106 0.0127832 0.04048 0.17 -0.02 pose: 0.0 -5.47078 -3.69659 0 0.00879548 -0.00185794 0.998367 0.0564057 uwb: 0.49992256 1245.48 1557.88 -imu_odom_: 1691062902.363144661 0.184354 -0.0047884 9.56723 -0.0671117 0 0.0447411 0.23 0 pose: 0.27870919 -5.47453 -3.70585 0 0.00736623 -0.0007701010.998384 0.0563482 uwb: 0.0 1245.48 1557.88 -imu_odom_: 1691062902.390094842 0.0167594 -0.433351 9.79947 -0.0639159 -0.00426106 0.0458064 0.23 0 pose: 0.0 -5.47453 -3.70585 0 0.00736623 -0.0007701010.998384 0.0563482 uwb: 0.49982340 1245.31 1558.83 -imu_odom_: 1691062902.406125367 0.667982 -0.0909797 10.0892 -0.0617853 -0.0649811 0.0319579 0.26 0 pose: 0.42057343 -5.4838 -3.7021 0 0.00611781 -0.00314975 0.998393 0.0562499 uwb: 0.0 1245.31 1558.83 -imu_odom_: 1691062902.433134753 1.14203 -0.299275 9.74679 -0.0447411 0.0149137 0.0351537 0.26 0 pose: 0.0 -5.4838 -3.7021 0 0.00611781 -0.00314975 0.998393 0.0562499 uwb: 0.0 1245.31 1558.83 -imu_odom_: 1691062902.458130881 0.665588 -0.150835 10.0796 -0.0436758 0.0340885 0.0330232 0.23 0 pose: 0.16020026 -5.4838 -3.7021 0 0.00473796 -0.00284564 0.998404 0.0562045 uwb: 0.49986131 1242.84 1561.16 -imu_odom_: 1691062902.475128224 0.646434 -0.280122 10.1035 -0.0532632 -0.0191748 0.04048 0.23 0 pose: 0.0 -5.4838 -3.7021 0 0.00473796 -0.00284564 0.998404 0.0562045 uwb: 0.0 1242.84 1561.16 -imu_odom_: 1691062902.500130477 0.371101 -0.378284 9.52653 -0.0660464 -0.0340885 0.0372843 0.18 0 pose: 0.42881545 -5.49307 -3.69834 0 0.00518015 -0.00258044 0.998402 0.0562189 uwb: 0.49994589 1240.75 1563.08 -imu_odom_: 1691062902.527187402 0.220267 -0.435745 9.76116 -0.0383495 -0.00745685 0.0447411 0.23 0 pose: 0.69939928 -5.50234 -3.69459 0 0.00929202 -0.00247305 0.998365 0.0563517 uwb: 0.0 1240.75 1563.08 -imu_odom_: 1691062902.552086994 0.390255 -0.117316 9.991 -0.0500674 0.036219 0.0415453 0.18 -0.02 pose: 0.0 -5.50234 -3.69459 0 0.00929202 -0.00247305 0.998365 0.0563517 uwb: 0.49887845 1240.99 1563.64 -imu_odom_: 1691062902.579206915 0.339977 -0.189142 9.55526 -0.0745685 -0.00426106 0.052198 0.23 0 pose: 0.52062677 -5.51536 -3.7001 0 0.00500257 -0.0035023 0.998397 0.0562683 uwb: 0.0 1240.99 1563.64 -imu_odom_: 1691062902.604068300 0.0622492 -0.177171 9.89524 -0.052198 0.0447411 0.0340885 0.23 0 pose: 0.0 -5.51536 -3.7001 0 0.00500257 -0.0035023 0.998397 0.0562683 uwb: 0.49994590 1237.36 1566.05 -imu_odom_: 1691062902.621199803 0.73502 0.107739 10.5465 -0.0639159 -0.0692422 0.0436758 0.23 0 pose: 0.23950272 -5.52463 -3.69634 0 0.00310751 -0.0017678 0.998412 0.0562135 uwb: 0.0 1237.36 1566.05 -imu_odom_: 1691062902.647063880 0.555455 0.150835 10.2472 -0.04048 -0.0276969 0.0351537 0.23 0 pose: 0.52069093 -5.5339 -3.69259 0 -0.000955505-5.74712e-050.998422 0.0561393 uwb: 0.50028420 1240.09 1565.61 -imu_odom_: 1691062902.664068224 0.433351 -0.258574 9.59835 -0.0798948 -0.0607201 0.052198 0.25 0 pose: 0.0 -5.5339 -3.69259 0 -0.000955505-5.74712e-050.998422 0.0561393 uwb: 0.0 1240.09 1565.61 -imu_odom_: 1691062902.689061727 0.476446 -0.392649 9.38527 -0.0628506 0.00852212 0.036219 0.25 0 pose: 0.42902835 -5.54317 -3.68884 0 0.00177478 0.00221464 0.998419 0.0561302 uwb: 0.49959008 1243.38 1565.1 -imu_odom_: 1691062902.716101444 0.553061 -0.351948 9.93594 -0.0596548 -0.02024 0.0436758 0.23 0 pose: 0.34992130 -5.54581 -3.69536 0 0.00217568 -0.00149064 0.998421 0.0561034 uwb: 0.0 1243.38 1565.1 -imu_odom_: 1691062902.741267312 0.35913 -0.21069 10.0748 -0.0490022 -0.0276969 0.0500674 0.23 0 pose: 0.7106336 -5.54692 -3.69811 0 0.00269296 -0.00204945 0.99842 0.0560882 uwb: 0.49995756 1242.68 1566.19 -imu_odom_: 1691062902.768173746 0.778116 -0.0574608 9.73722 -0.0575243 -0.0170442 0.0351537 0.23 0 pose: 0.45099249 -5.55619 -3.69435 0 0.00230258 -0.0022247 0.998431 0.0559107 uwb: 0.0 1242.68 1566.19 -imu_odom_: 1691062902.794052405 0.275333 -0.409408 9.40921 -0.056459 0.0458064 0.0447411 0.2 0.02 pose: 0.0 -5.55619 -3.69435 0 0.00230258 -0.0022247 0.998431 0.0559107 uwb: 0.50110957 1243.33 1567.72 -imu_odom_: 1691062902.811198199 0.471658 -0.25618 10.0987 -0.0553937 -0.0468716 0.0479369 0.25 0.02 pose: 0.52785093 -5.56546 -3.6906 0 0.00212274 -0.00252116 0.998431 0.0559023 uwb: 0.0 1243.33 1567.72 -imu_odom_: 1691062902.837043902 0.344765 -0.0646434 10.0652 -0.0511327 -0.0266316 0.0511327 0.25 0.02 pose: 0.0 -5.56546 -3.6906 0 0.00212274 -0.00252116 0.998431 0.0559023 uwb: 0.49876763 1241.7 1569.39 -imu_odom_: 1691062902.864058829 0.529119 0.160412 10.1179 -0.0415453 -0.0191748 0.0415453 0.18 0 pose: 0.25037251 -5.57473 -3.68686 0 0.00381277 -0.00152332 0.998434 0.0557908 uwb: 0.0 1241.7 1569.39 -imu_odom_: 1691062902.889104246 0.521936 -0.0814029 10.252 -0.0596548 0.00106526 0.0426106 0.18 0.02 pose: 0.44969173 -5.58124 -3.68423 0 0.00384061 0.00279791 0.998438 0.0556714 uwb: 0.50012963 1236.48 1572.29 -imu_odom_: 1691062902.916113340 0.138864 -0.0574608 9.88566 -0.0553937 0.0106526 0.0426106 0.18 0.02 pose: 0.0 -5.58124 -3.68423 0 0.00384061 0.00279791 0.998438 0.0556714 uwb: 0.0 1236.48 1572.29 -imu_odom_: 1691062902.933138974 0.605733 -0.217872 9.84735 -0.0692422 -0.00426106 0.0500674 0.18 0.02 pose: 0.8028533 -5.58401 -3.68311 0 0.00427585 0.00344321 0.998435 0.0556603 uwb: 0.0 1236.48 1572.29 -imu_odom_: 1691062902.959180374 0.380678 -0.117316 9.66539 -0.0585895 0.00106526 0.0266316 0.18 0.02 pose: 0.0 -5.58401 -3.68311 0 0.00427585 0.00344321 0.998435 0.0556603 uwb: 0.50042128 1235.41 1573.97 -imu_odom_: 1691062902.983161853 0.397437 -0.0814029 10.0868 -0.0681769 -0.036219 0.0436758 0.2 0 pose: 0.52124215 -5.58775 -3.69238 0 0.00299713 0.0048482 0.998439 0.055564 uwb: 0.0 1235.41 1573.97 -imu_odom_: 1691062903.10171531 0.68953 -0.186748 10.0054 -0.0735032 -0.0490022 0.0490022 0.2 0 pose: 0.0 -5.58775 -3.69238 0 0.00299713 0.0048482 0.998439 0.055564 uwb: 0.0 1235.41 1573.97 -imu_odom_: 1691062903.35039041 0.21069 -0.426168 9.87608 -0.0511327 0.00958738 0.0298274 0.19 0 pose: 0.42030220 -5.59702 -3.68864 0 0.000868509 0.00529262 0.998434 0.0556816 uwb: 0.0 1235.41 1573.97 -imu_odom_: 1691062903.62093925 0.859518 -0.19393 9.77074 -0.0575243 -0.0479369 0.0490022 0.23 0.02 pose: 0.51890020 -5.6063 -3.6849 0 0.00286354 0.00476599 0.99844 0.0555527 uwb: 0.99798731 1232.16 1576.05 -imu_odom_: 1691062903.79146974 0.814029 -0.131681 10.161 -0.0468716 -0.0308927 0.0426106 0.23 0.02 pose: 0.0 -5.6063 -3.6849 0 0.00286354 0.00476599 0.99844 0.0555527 uwb: 0.0 1232.16 1576.05 -imu_odom_: 1691062903.104067565 0.581791 -0.213084 10.2615 -0.056459 0.04048 0.0490022 0.25 0 pose: 0.23934232 -5.61557 -3.68115 0 0.00247062 0.00340969 0.998444 0.0556012 uwb: 0.50007131 1231.47 1577.24 -imu_odom_: 1691062903.127105849 0.474052 -0.126893 10.0245 -0.0575243 0.0234358 0.0426106 0.25 0 pose: 0.37080925 -5.61766 -3.68635 0 0.00681929 0.00307937 0.998432 0.0554694 uwb: 0.0 1231.47 1577.24 -imu_odom_: 1691062903.152176056 0.459687 -0.0861913 9.90721 -0.0585895 0.0234358 0.0490022 0.19 0 pose: 0.7099337 -5.61931 -3.69043 0 0.00701068 0.00246586 0.998435 0.0554303 uwb: 0.49989340 1236.94 1576.29 -imu_odom_: 1691062903.169171067 0.246603 -0.244209 9.7851 -0.0628506 -0.00639159 0.0447411 0.19 0 pose: 0.0 -5.61931 -3.69043 0 0.00701068 0.00246586 0.998435 0.0554303 uwb: 0.0 1236.94 1576.29 -imu_odom_: 1691062903.194116156 0.596156 -0.107739 10.3765 -0.0660464 0.0234358 0.0543285 0.2 0 pose: 0.48943192 -5.62858 -3.68669 0 0.00494771 0.00315598 0.998454 0.055277 uwb: 0.49981757 1236.33 1577.66 -imu_odom_: 1691062903.220094853 0.641646 -0.493206 10.0006 -0.0756338 0.0138484 0.0426106 0.2 0 pose: 0.0 -5.62858 -3.68669 0 0.00494771 0.00315598 0.998454 0.055277 uwb: 0.0 1236.33 1577.66 -imu_odom_: 1691062903.242066865 0.995988 -0.186748 10.058 -0.0671117 -0.0117179 0.0394148 0.17 0 pose: 0.42097300 -5.63786 -3.68295 0 0.00304959 0.00388806 0.998468 0.0551048 uwb: 0.50033088 1234.66 1579.35 -imu_odom_: 1691062903.260304595 0.177171 -0.263362 9.77074 -0.0639159 0.0415453 0.0372843 0.17 0 pose: 0.0 -5.63786 -3.68295 0 0.00304959 0.00388806 0.998468 0.0551048 uwb: 0.0 1234.66 1579.35 -imu_odom_: 1691062903.286032764 0.588974 -0.459687 9.55287 -0.0660464 0.0117179 0.0298274 0.19 0.02 pose: 0.48790368 -5.64714 -3.67922 0 0.00573966 0.00123892 0.998473 0.05492 uwb: 0.50135748 1234.51 1580.42 -imu_odom_: 1691062903.303170975 0.457293 -0.134075 10.0724 -0.0500674 -0.00213053 0.0276969 0.19 0.02 pose: 0.0 -5.64714 -3.67922 0 0.00573966 0.00123892 0.998473 0.05492 uwb: 0.0 1234.51 1580.42 -imu_odom_: 1691062903.328171770 0.215478 -0.244209 10.0533 -0.0266316 0.00213053 0.036219 0.18 -0.02 pose: 0.77093804 -5.66532 -3.68268 0 0.00490149 -0.0002946690.998465 0.0551616 uwb: 0.0 1234.51 1580.42 -imu_odom_: 1691062903.352175122 0.823605 -0.181959 9.80426 -0.052198 0.00319579 0.0436758 0.18 -0.02 pose: 0.7912456 -5.66941 -3.68099 0 0.00409088 -0.0002165460.998468 0.0551742 uwb: 0.49966300 1235.33 1581 -imu_odom_: 1691062903.376040525 0.399832 -0.174777 9.83059 -0.0394148 0.00852212 0.0458064 0.18 0.02 pose: 0.41091691 -5.66941 -3.68099 0 0.00465306 6.09351e-05 0.998467 0.0551517 uwb: 0.0 1235.33 1581 -imu_odom_: 1691062903.401039278 0.572214 0.251391 10.1323 -0.0340885 0.00426106 0.0479369 0.18 0.02 pose: 0.0 -5.66941 -3.68099 0 0.00465306 6.09351e-05 0.998467 0.0551517 uwb: 0.0 1235.33 1581 -imu_odom_: 1691062903.425052255 0.184354 -0.011971 10.07 -0.0447411 -0.00319579 0.0394148 0.23 -0.02 pose: 0.48864156 -5.67864 -3.67716 0 0.00303392 0.00382914 0.998475 0.0549805 uwb: 0.0 1235.33 1581 -imu_odom_: 1691062903.440035758 0.186748 -0.311246 9.18895 -0.072438 -0.00745685 0.0447411 0.23 -0.02 pose: 0.0 -5.67864 -3.67716 0 0.00303392 0.00382914 0.998475 0.0549805 uwb: 0.99869020 1233.15 1582.92 -imu_odom_: 1691062903.465180919 0.0454898 -0.435745 9.76595 -0.0596548 -0.0415453 0.0458064 0.18 0 pose: 0.38996480 -5.68792 -3.67343 0 -0.0002934080.00403565 0.99848 0.0549606 uwb: 0.0 1233.15 1582.92 -imu_odom_: 1691062903.482142682 1.01275 -0.138864 9.96946 -0.0713727 -0.0500674 0.0340885 0.18 0 pose: 0.7180124 -5.68792 -3.67343 0 -0.0007303240.00357566 0.998483 0.0549414 uwb: 0.0 1233.15 1582.92 -imu_odom_: 1691062903.507092438 0.667982 -0.354342 9.80426 -0.0468716 0.0479369 0.04048 0.2 -0.02 pose: 0.34926800 -5.69681 -3.68063 0 0.000255394 0.00225324 0.998487 0.0549362 uwb: 0.50103375 1237.06 1582.35 -imu_odom_: 1691062903.531133122 0.138864 -0.0766145 9.97664 -0.036219 0.036219 0.0383495 0.2 -0.02 pose: 0.0 -5.69681 -3.68063 0 0.000255394 0.00225324 0.998487 0.0549362 uwb: 0.0 1237.06 1582.35 -imu_odom_: 1691062903.554103743 0.497994 -0.306458 9.62948 -0.0500674 -0.0127832 0.0468716 0.18 0 pose: 0.7893207 -5.70093 -3.67898 0 0.000673338 0.00180993 0.998488 0.0549307 uwb: 0.50038629 1235.88 1583.82 -imu_odom_: 1691062903.580046566 0.347159 0.0191536 10.2256 -0.0426106 0.0223706 0.0330232 0.18 -0.02 pose: 0.48035871 -5.71021 -3.67525 0 -0.0006084220.00160959 0.99849 0.0549107 uwb: 0.0 1235.88 1583.82 -imu_odom_: 1691062903.604068293 0.45011 -0.0095768110.2855 -0.0490022 0.0117179 0.0394148 0.18 -0.02 pose: 0.0 -5.71021 -3.67525 0 -0.0006084220.00160959 0.99849 0.0549107 uwb: 0.50120874 1240.37 1583.18 -imu_odom_: 1691062903.619051796 0.0383072 -0.366313 9.54089 -0.0543285 -0.00106526 0.0479369 0.18 -0.02 pose: 0.0 -5.71021 -3.67525 0 -0.0006084220.00160959 0.99849 0.0549107 uwb: 0.0 1240.37 1583.18 -imu_odom_: 1691062903.635085529 0.684742 -0.160412 10.58 -0.0532632 -0.00745685 0.0511327 0.19 0 pose: 0.73008375 -5.71949 -3.67152 0 -0.0002000280.00499755 0.998479 0.0549082 uwb: 0.0 1240.37 1583.18 -imu_odom_: 1691062903.660156611 0.835576 -0.244209 9.76834 -0.0745685 -0.0223706 0.0458064 0.19 0 pose: 0.0 -5.71949 -3.67152 0 -0.0002000280.00499755 0.998479 0.0549082 uwb: 0.49861306 1239.88 1584.88 -imu_odom_: 1691062903.685280774 0.368707 -0.241814 9.87369 -0.0532632 0.056459 0.0415453 0.25 0 pose: 0.31142062 -5.72877 -3.66779 0 0.00145197 0.00400943 0.998491 0.0547543 uwb: 0.50005380 1246.47 1583.56 -imu_odom_: 1691062903.710080913 0.581791 -0.0861913 9.78031 -0.0490022 0.0234358 0.0330232 0.2 0 pose: 0.0 -5.72877 -3.66779 0 0.00145197 0.00400943 0.998491 0.0547543 uwb: 0.0 1246.47 1583.56 -imu_odom_: 1691062903.733024995 0.114922 -0.148441 9.663 -0.0639159 -0.00426106 0.0500674 0.2 0 pose: 0.43058577 -5.73925 -3.67435 0 0.000669904 0.00166972 0.998503 0.0546653 uwb: 0.0 1246.47 1583.56 -imu_odom_: 1691062903.751137607 0.787692 -0.577003 9.70609 -0.0777643 -0.02024 0.0436758 0.2 0 pose: 0.0 -5.73925 -3.67435 0 0.000669904 0.00166972 0.998503 0.0546653 uwb: 0.50044462 1244.28 1585.5 -imu_odom_: 1691062903.776023492 0.648829 -0.270545 10.3908 -0.052198 -0.00426106 0.0383495 0.18 -0.02 pose: 0.6828394 -5.74177 -3.67334 0 0.00118756 0.00200191 0.998501 0.0546866 uwb: 0.0 1244.28 1585.5 -imu_odom_: 1691062903.802020270 0.73502 -0.215478 9.71088 -0.0607201 -0.00213053 0.0479369 0.22 0 pose: 0.48945234 -5.74177 -3.67334 0 0.000822639 0.00224762 0.998505 0.0546121 uwb: 0.50059628 1237.9 1588.88 -imu_odom_: 1691062903.828050005 0.42138 -0.232238 9.65582 -0.0628506 0 0.0447411 0.22 0 pose: 0.0 -5.74177 -3.67334 0 0.000822639 0.00224762 0.998505 0.0546121 uwb: 0.0 1237.9 1588.88 -imu_odom_: 1691062903.852984303 0.61531 -0.0287304 9.91918 -0.04048 0.0308927 0.0351537 0.23 -0.02 pose: 0.42012138 -5.75105 -3.66962 0 0.00449458 0.000258532 0.9985 0.05457 uwb: 0.49878221 1236.73 1590.44 -imu_odom_: 1691062903.867139521 0.174777 -0.442927 9.70131 -0.0468716 -0.0138484 0.0479369 0.23 -0.02 pose: 0.0 -5.75105 -3.66962 0 0.00449458 0.000258532 0.9985 0.05457 uwb: 0.0 1236.73 1590.44 -imu_odom_: 1691062903.892014323 0.287304 -0.471658 9.38766 -0.0553937 0.00213053 0.0490022 0.18 0 pose: 0.51993265 -5.76033 -3.66589 0 0.00405432 6.35023e-05 0.998509 0.0544381 uwb: 0.50016172 1239.08 1590.32 -imu_odom_: 1691062903.916098754 0.486023 -0.349553 9.9527 -0.0660464 -0.015979 0.0500674 0.18 0 pose: 0.0 -5.76033 -3.66589 0 0.00405432 6.35023e-05 0.998509 0.0544381 uwb: 0.0 1239.08 1590.32 -imu_odom_: 1691062903.931137962 0.430956 -0.45011 9.65582 -0.0543285 -0.0127832 0.0426106 0.18 0.02 pose: 0.39005521 -5.77334 -3.67145 0 0.00336386 0.000272251 0.998514 0.0543874 uwb: 0.0 1239.08 1590.32 -imu_odom_: 1691062903.947084201 0.0957681 -0.189142 9.69652 -0.0479369 0.0170442 0.0372843 0.18 0.02 pose: 0.0 -5.77334 -3.67145 0 0.00336386 0.000272251 0.998514 0.0543874 uwb: 0.49966883 1236.43 1592.68 -imu_odom_: 1691062903.964136958 0.545878 -0.213084 10.2687 -0.0628506 -0.0575243 0.0511327 0.18 0.02 pose: 0.0 -5.77334 -3.67145 0 0.00336386 0.000272251 0.998514 0.0543874 uwb: 0.0 1236.43 1592.68 -imu_odom_: 1691062903.990138986 0.490811 -0.0957681 10.343 -0.0681769 0.015979 0.0532632 0.18 0 pose: 0.49090768 -5.78262 -3.66773 0 0.00284976 -0.00430387 0.998519 0.0541541 uwb: 0.49994882 1240.88 1591.8 -imu_odom_: 1691062904.15018163 0.823605 -0.196325 10.1682 -0.0692422 -0.0149137 0.036219 0.18 0 pose: 0.66982892 -5.7919 -3.66402 0 0.00309947 -0.00114228 0.998541 0.0538921 uwb: 0.0 1240.88 1591.8 -imu_odom_: 1691062904.39057097 1.01514 -0.0430956 10.1442 -0.0426106 -0.0170442 0.0372843 0.18 0 pose: 0.0 -5.7919 -3.66402 0 0.00309947 -0.00114228 0.998541 0.0538921 uwb: 0.50068669 1238.07 1593.77 -imu_odom_: 1691062904.56039567 0.577003 -0.344765 9.54089 -0.0681769 -0.0127832 0.0458064 0.27 0.02 pose: 0.7916248 -5.7919 -3.66402 0 0.0039303 -0.00115832 0.998538 0.0539064 uwb: 0.0 1238.07 1593.77 -imu_odom_: 1691062904.81090235 0.667982 -0.354342 9.84735 -0.0713727 -0.0276969 0.0468716 0.27 0.02 pose: 0.0 -5.7919 -3.66402 0 0.0039303 -0.00115832 0.998538 0.0539064 uwb: 0.0 1238.07 1593.77 -imu_odom_: 1691062904.107974212 0.821211 -0.174777 10.1083 -0.0479369 -0.00852212 0.04048 0.21 0.02 pose: 0.48017497 -5.80119 -3.66031 0 0.00825618 -0.00105954 0.998509 0.0539423 uwb: 0.0 1238.07 1593.77 -imu_odom_: 1691062904.133044711 0.675165 -0.385466 9.72525 -0.056459 0.00639159 0.0447411 0.21 0.02 pose: 0.0 -5.80119 -3.66031 0 0.00825618 -0.00105954 0.998509 0.0539423 uwb: 0.0 1238.07 1593.77 -imu_odom_: 1691062904.157980468 0.679953 -0.0766145 9.62948 -0.052198 -0.00319579 0.0415453 0.22 0 pose: 0.42009222 -5.81419 -3.66588 0 0.0109221 -0.00393584 0.998484 0.0538016 uwb: 0.99936684 1237.42 1595.17 -imu_odom_: 1691062904.172041191 0.691924 -0.172383 10.0245 -0.0596548 0.0287621 0.0532632 0.22 0 pose: 0.0 -5.81419 -3.66588 0 0.0109221 -0.00393584 0.998484 0.0538016 uwb: 0.0 1237.42 1595.17 -imu_odom_: 1691062904.195997006 0.339977 -0.0814029 9.91439 -0.056459 0.0255663 0.0426106 0.18 0 pose: 0.52049845 -5.82347 -3.66217 0 0.0130735 -0.00478748 0.998459 0.0537144 uwb: 0.50020839 1240.94 1594.92 -imu_odom_: 1691062904.223011058 0.268151 -0.442927 9.79468 -0.0607201 0.015979 0.0468716 0.18 0 pose: 0.0 -5.82347 -3.66217 0 0.0130735 -0.00478748 0.998459 0.0537144 uwb: 0.0 1240.94 1594.92 -imu_odom_: 1691062904.238995212 0.368707 -0.23942 10.0269 -0.0596548 -0.00532632 0.04048 0.18 0 pose: 0.38909569 -5.83276 -3.65846 0 0.0128025 -0.00134033 0.998477 0.0536387 uwb: 0.49988466 1242.81 1595.04 -imu_odom_: 1691062904.264973616 0.454898 -0.347159 9.56005 -0.0713727 0.0234358 0.056459 0.18 0 pose: 0.0 -5.83276 -3.65846 0 0.0128025 -0.00134033 0.998477 0.0536387 uwb: 0.0 1242.81 1595.04 -imu_odom_: 1691062904.290108862 0.423774 -0.208296 9.76834 -0.0575243 0.0447411 0.0415453 0.2 0 pose: 0.52123634 -5.83276 -3.65846 0 0.00762672 -0.00191813 0.998537 0.053506 uwb: 0.0 1242.81 1595.04 -imu_odom_: 1691062904.307123413 0.545878 -0.217872 10.1131 -0.0617853 -0.0138484 0.0372843 0.2 0 pose: 0.0 -5.83276 -3.65846 0 0.00762672 -0.00191813 0.998537 0.053506 uwb: 0.0 1242.81 1595.04 -imu_odom_: 1691062904.332039922 0.37589 -0.395043 9.59357 -0.0596548 -0.0447411 0.0394148 0.18 -0.02 pose: 0.75958412 -5.85506 -3.66013 0 0.00422467 -0.00163284 0.99857 0.0532737 uwb: 0.0 1242.81 1595.04 -imu_odom_: 1691062904.355970362 0.277727 -0.560243 9.72046 -0.0340885 -0.0287621 0.0287621 0.18 -0.02 pose: 0.8064114 -5.85506 -3.66013 0 0.00388648 -0.00229126 0.99857 0.0532707 uwb: 0.100036136 1243.66 1595.63 -imu_odom_: 1691062904.380157746 0.335188 -0.0191536 10.6183 -0.0191748 -0.0106526 0.0458064 0.18 -0.02 pose: 0.40782835 -5.8616 -3.65752 0 0.00203192 -0.00533265 0.998558 0.0533802 uwb: 0.0 1243.66 1595.63 -imu_odom_: 1691062904.405077171 0.373495 0.0167594 10.5441 -0.0287621 -0.0213053 0.0415453 0.2 0 pose: 0.0 -5.8616 -3.65752 0 0.00203192 -0.00533265 0.998558 0.0533802 uwb: 0.50047671 1248.21 1594.85 -imu_odom_: 1691062904.421980312 0.126893 -0.184354 9.44273 -0.04048 0.0383495 0.052198 0.2 0 pose: 0.32090216 -5.86435 -3.65643 0 0.0013378 -0.00171478 0.998576 0.0532977 uwb: 0.0 1248.21 1594.85 -imu_odom_: 1691062904.446045495 0.572214 0.011971 10.0676 -0.0596548 -0.0447411 0.0479369 0.2 0 pose: 0.0 -5.86435 -3.65643 0 0.0013378 -0.00171478 0.998576 0.0532977 uwb: 0.49934802 1248.65 1595.91 -imu_odom_: 1691062904.464112610 0.548272 -0.42138 10.0054 -0.0330232 0.0138484 0.0447411 0.2 0 pose: 0.41925227 -5.87364 -3.65273 0 -8.98267e-050.00111845 0.998586 0.0531418 uwb: 0.0 1248.65 1595.91 -imu_odom_: 1691062904.487992012 0.545878 -0.416591 10.161 -0.0415453 0.0138484 0.0426106 0.2 0 pose: 0.0 -5.87364 -3.65273 0 -8.98267e-050.00111845 0.998586 0.0531418 uwb: 0.49842933 1249.56 1596.62 -imu_odom_: 1691062904.515007523 0.476446 -0.0933739 9.79468 -0.0639159 0.0223706 0.0511327 0.18 -0.02 pose: 0.42017096 -5.88663 -3.65832 0 0.00212273 9.9581e-05 0.998592 0.0530086 uwb: 0.0 1249.56 1596.62 -imu_odom_: 1691062904.538991919 0.292093 -0.292093 9.66539 -0.0575243 0.0351537 0.0372843 0.2 0 pose: 0.43004622 -5.89316 -3.65573 0 0.00278377 0.00129396 0.998599 0.0528332 uwb: 0.49981466 1249.47 1597.88 -imu_odom_: 1691062904.564992198 0.35913 -0.220267 10.1299 -0.0426106 0.0191748 0.0298274 0.2 0 pose: 0.0 -5.89316 -3.65573 0 0.00278377 0.00129396 0.998599 0.0528332 uwb: 0.0 1249.47 1597.88 -imu_odom_: 1691062904.586162757 0.663194 -0.260968 9.59117 -0.0543285 -0.02024 0.0436758 0.18 0 pose: 0.8036408 -5.89592 -3.65463 0 0.00192765 0.000894545 0.998601 0.0528421 uwb: 0.49992549 1244.47 1600.63 -imu_odom_: 1691062904.599093630 0.557849 -0.007182619.43555 -0.0479369 -0.0106526 0.0415453 0.18 0 pose: 0.0 -5.89592 -3.65463 0 0.00192765 0.000894545 0.998601 0.0528421 uwb: 0.0 1244.47 1600.63 -imu_odom_: 1691062904.623029028 0.600945 -0.339977 9.88566 -0.052198 -0.00213053 0.0383495 0.18 0 pose: 0.47948376 -5.90522 -3.65093 0 -0.00201358 -0.0001150870.998594 0.0529743 uwb: 0.0 1244.47 1600.63 -imu_odom_: 1691062904.649001017 0.227449 -0.162806 10.0197 -0.052198 -0.00532632 0.0394148 0.18 0 pose: 0.0 -5.90522 -3.65093 0 -0.00201358 -0.0001150870.998594 0.0529743 uwb: 0.49997215 1246.39 1600.83 -imu_odom_: 1691062904.664962713 0.35913 -0.423774 9.74679 -0.0319579 -0.0426106 0.0468716 0.18 -0.02 pose: 0.35983156 -5.90522 -3.65093 0 0.00107818 0.00014895 0.998597 0.0529356 uwb: 0.0 1246.39 1600.83 -imu_odom_: 1691062904.688966358 0.548272 -0.179565 9.7875 -0.0511327 0.00532632 0.0447411 0.18 -0.02 pose: 0.0 -5.90522 -3.65093 0 0.00107818 0.00014895 0.998597 0.0529356 uwb: 0.49995174 1247.32 1601.59 -imu_odom_: 1691062904.714966928 0.445322 -0.0814029 9.88566 -0.0660464 0 0.052198 0.25 -0.02 pose: 0.49296964 -5.9182 -3.65653 0 -0.000160079-0.00055625 0.998599 0.0529199 uwb: 0.0 1247.32 1601.59 -imu_odom_: 1691062904.731175360 0.380678 -0.208296 9.36133 -0.0490022 0.0319579 0.0415453 0.25 -0.02 pose: 0.0 -5.9182 -3.65653 0 -0.000160079-0.00055625 0.998599 0.0529199 uwb: 0.0 1247.32 1601.59 -imu_odom_: 1691062904.756036163 0.0430956 -0.347159 9.8258 -0.056459 -0.0127832 0.0436758 0.24 0 pose: 0.40764461 -5.9275 -3.65284 0 0.00199966 0.00030582 0.998604 0.0527803 uwb: 0.49995757 1247.63 1602.35 -imu_odom_: 1691062904.770028348 -0.0023942 -0.225055 9.60075 -0.0660464 -0.0117179 0.0372843 0.24 0 pose: 0.0 -5.9275 -3.65284 0 0.00199966 0.00030582 0.998604 0.0527803 uwb: 0.0 1247.63 1602.35 -imu_odom_: 1691062904.787019860 0.608127 0.0957681 10.1107 -0.0585895 -0.015979 0.0436758 0.24 0 pose: 0.0 -5.9275 -3.65284 0 0.00199966 0.00030582 0.998604 0.0527803 uwb: 0.50072169 1242.18 1605.48 -imu_odom_: 1691062904.801050251 0.112527 -0.172383 9.65582 -0.0649811 -0.036219 0.0511327 0.18 0.02 pose: 0.42006014 -5.93679 -3.64915 0 -0.0003571680.00107858 0.998613 0.0526408 uwb: 0.0 1242.18 1605.48 -imu_odom_: 1691062904.817037613 0.799663 -0.337582 10.0604 -0.0820254 -0.0330232 0.0436758 0.18 0.02 pose: 0.0 -5.93679 -3.64915 0 -0.0003571680.00107858 0.998613 0.0526408 uwb: 0.0 1242.18 1605.48 -imu_odom_: 1691062904.831007925 0.538695 -0.339977 9.67257 -0.0479369 0 0.0287621 0.18 0.02 pose: 0.0 -5.93679 -3.64915 0 -0.0003571680.00107858 0.998613 0.0526408 uwb: 0.0 1242.18 1605.48 -imu_odom_: 1691062904.845925515 0.667982 -0.0909797 10.1825 -0.0596548 0.00745685 0.0415453 0.19 0 pose: 0.53901821 -5.94609 -3.64546 0 -0.00243595 0.00161131 0.998614 0.052552 uwb: 0.49912345 1243.14 1606.36 -imu_odom_: 1691062904.863973381 0.430956 -0.502782 9.49062 -0.0532632 0.0191748 0.0394148 0.23 0 pose: 0.0 -5.94609 -3.64546 0 -0.00243595 0.00161131 0.998614 0.052552 uwb: 0.0 1243.14 1606.36 -imu_odom_: 1691062904.879979699 0.454898 -0.222661 9.9503 -0.0447411 -0.0191748 0.0479369 0.23 0 pose: 0.61039073 -5.95907 -3.65107 0 0.000773621 -0.0003347230.998619 0.0525342 uwb: 0.0 1243.14 1606.36 -imu_odom_: 1691062904.897976235 0.339977 -0.201113 9.7037 -0.0639159 0 0.0426106 0.25 -0.02 pose: 0.0 -5.95907 -3.65107 0 0.000773621 -0.0003347230.998619 0.0525342 uwb: 0.50037463 1247.4 1606.28 -imu_odom_: 1691062904.914971538 0.481235 -0.124498 10.1394 -0.0319579 -0.0223706 0.0351537 0.25 -0.02 pose: 0.0 -5.95907 -3.65107 0 0.000773621 -0.0003347230.998619 0.0525342 uwb: 0.0 1247.4 1606.28 -imu_odom_: 1691062904.937068377 0.940921 -0.148441 10.7021 -0.0426106 0.00639159 0.0426106 0.25 -0.02 pose: 0.33939566 -5.96836 -3.64739 0 0.00147597 -0.0004736430.998622 0.0524574 uwb: 0.50215661 1248.3 1606.95 -imu_odom_: 1691062904.950120867 1.06781 -0.40462 9.87369 -0.0596548 -0.04048 0.0276969 0.18 0.02 pose: 0.33162612 -5.96836 -3.64739 0 0.00229401 0.00132358 0.998619 0.0524704 uwb: 0.0 1248.3 1606.95 -imu_odom_: 1691062904.968057907 0.112527 0.184354 10.6279 -0.0553937 0.0639159 -0.0127832 0.18 0.02 pose: 0.0 -5.96836 -3.64739 0 0.00229401 0.00132358 0.998619 0.0524704 uwb: 0.0 1248.3 1606.95 -imu_odom_: 1691062904.984057809 0.227449 -0.0742203 9.32781 -0.0532632 0.0127832 -0.0660464 0.2 -0.17 pose: 0.46971933 -5.97766 -3.6437 0 0.00339065 0.00222927 0.998587 0.0529941 uwb: 0.0 1248.3 1606.95 -imu_odom_: 1691062905.987782 0.52433 -0.0047884 10.1562 -0.0671117 -0.0372843 -0.134223 0.2 -0.17 pose: 0.0 -5.97766 -3.6437 0 0.00339065 0.00222927 0.998587 0.0529941 uwb: 0.49752230 1240.57 1610.71 -imu_odom_: 1691062905.16951228 0.703895 -0.304064 10.0868 -0.0436758 -0.0149137 -0.143811 0.2 -0.17 pose: 0.0 -5.97766 -3.6437 0 0.00339065 0.00222927 0.998587 0.0529941 uwb: 0.0 1240.57 1610.71 -imu_odom_: 1691062905.34909267 0.311246 -0.47884 9.16979 -0.076699 0.0234358 -0.171508 0.27 -0.41 pose: 0.8006951 -5.97766 -3.6437 0 0.00259675 0.00258403 0.998565 0.053419 uwb: 0.49983508 1241.28 1610.96 -imu_odom_: 1691062905.51074534 0.878672 -0.0646434 10.4172 -0.0607201 -0.00958738 -0.221575 0.27 -0.41 pose: 0.0 -5.97766 -3.6437 0 0.00259675 0.00258403 0.998565 0.053419 uwb: 0.0 1241.28 1610.96 -imu_odom_: 1691062905.68068379 0.995988 0.150835 9.62948 -0.0692422 -0.00319579 -0.302535 0.27 -0.41 pose: 0.0 -5.97766 -3.6437 0 0.00259675 0.00258403 0.998565 0.053419 uwb: 0.0 1241.28 1610.96 -imu_odom_: 1691062905.86142786 0.955286 0.0670376 9.62469 -0.0617853 -0.00639159 -0.368581 0.18 -0.41 pose: 0.48849574 -5.99064 -3.64929 0 0.00382198 0.00256232 0.998329 0.0576034 uwb: 0.50063129 1236.43 1614.34 -imu_odom_: 1691062905.99040702 0.577003 -0.047884 9.663 -0.056459 0.0532632 -0.427171 0.18 -0.41 pose: 0.0 -5.99064 -3.64929 0 0.00382198 0.00256232 0.998329 0.0576034 uwb: 0.0 1236.43 1614.34 -imu_odom_: 1691062905.114922778 0.852336 -0.0622492 10.1969 -0.0873517 0 -0.431432 0.18 -0.41 pose: 0.67163425 -5.99993 -3.64561 0 0.00794447 0.00388965 0.997596 0.0687272 uwb: 0.0 1236.43 1614.34 -imu_odom_: 1691062905.132969478 0.277727 -0.174777 9.79468 -0.0649811 -0.04048 -0.452737 0.25 -0.64 pose: 0.0 -5.99993 -3.64561 0 0.00794447 0.00388965 0.997596 0.0687272 uwb: 0.0 1236.43 1614.34 -imu_odom_: 1691062905.149970614 0.217872 -0.0335188 10.1873 -0.0426106 -0.0426106 -0.474043 0.25 -0.64 pose: 0.0 -5.99993 -3.64561 0 0.00794447 0.00388965 0.997596 0.0687272 uwb: 0.50050296 1238.38 1614.59 -imu_odom_: 1691062905.163976799 0.555455 0.124498 10.137 -0.0383495 -0.0106526 -0.506001 0.25 -0.64 pose: 0.30849247 -6.00926 -3.64199 0 0.00883163 0.00436614 0.997056 0.0760456 uwb: 0.0 1238.38 1614.59 -imu_odom_: 1691062905.181040347 0.430956 -0.23942 10.5369 -0.0735032 0.0287621 -0.513457 0.17 -0.53 pose: 0.41049695 -6.01413 -3.64006 0 0.00701204 0.00637476 0.99619 0.0866927 uwb: 0.0 1238.38 1614.59 -imu_odom_: 1691062905.193976178 0.746991 -0.0766145 9.89524 -0.0607201 -0.0330232 -0.539024 0.17 -0.53 pose: 0.0 -6.01413 -3.64006 0 0.00701204 0.00637476 0.99619 0.0866927 uwb: 0.49949385 1237.53 1615.6 -imu_odom_: 1691062905.209919792 0.35913 -0.0335188 9.35654 -0.0394148 -0.0298274 -0.579504 0.17 -0.53 pose: 0.0 -6.01413 -3.64006 0 0.00701204 0.00637476 0.99619 0.0866927 uwb: 0.0 1237.53 1615.6 -imu_odom_: 1691062905.228025989 1.09654 0.0215478 10.1514 -0.056459 -0.04048 -0.533697 0.24 -0.79 pose: 0.7013300 -6.01857 -3.63835 0 0.00645675 0.00577489 0.996028 0.0886235 uwb: 0.0 1237.53 1615.6 -imu_odom_: 1691062905.244901423 1.63285 -0.160412 10.0461 -0.0681769 -0.0447411 -0.476173 0.24 -0.79 pose: 0.0 -6.01857 -3.63835 0 0.00645675 0.00577489 0.996028 0.0886235 uwb: 0.49924304 1231.96 1618.78 -imu_odom_: 1691062905.257893542 1.42694 -0.612916 9.59117 -0.0681769 0.00319579 -0.461259 0.24 -0.79 pose: 0.0 -6.01857 -3.63835 0 0.00645675 0.00577489 0.996028 0.0886235 uwb: 0.0 1231.96 1618.78 -imu_odom_: 1691062905.274031104 1.81002 -0.0574608 10.3238 -0.0426106 -0.0276969 -0.452737 0.13 -0.44 pose: 0.46939269 -6.02789 -3.63472 0 0.00686383 0.0059475 0.994711 0.102314 uwb: 0.0 1231.96 1618.78 -imu_odom_: 1691062905.291945395 1.43892 -0.0047884 9.87369 -0.0543285 0.00319579 -0.383495 0.18 -0.55 pose: 0.0 -6.02789 -3.63472 0 0.00686383 0.0059475 0.994711 0.102314 uwb: 0.50189413 1227.94 1621.24 -imu_odom_: 1691062905.308975404 0.893037 -0.466869 9.79228 -0.0745685 0.0458064 -0.312122 0.18 -0.55 pose: 0.64143393 -6.04084 -3.6404 0 0.0135038 0.00477735 0.99287 0.11834 uwb: 0.0 1227.94 1621.24 -imu_odom_: 1691062905.321965190 0.991199 -0.363919 10.1035 -0.0628506 0.0223706 -0.307861 0.18 -0.55 pose: 0.0 -6.04084 -3.6404 0 0.0135038 0.00477735 0.99287 0.11834 uwb: 0.0 1227.94 1621.24 -imu_odom_: 1691062905.337907637 0.859518 -0.0430956 10.1347 -0.0532632 0.00319579 -0.313188 0.11 -0.38 pose: 0.0 -6.04084 -3.6404 0 0.0135038 0.00477735 0.99287 0.11834 uwb: 0.49872098 1231.03 1621.25 -imu_odom_: 1691062905.355904465 0.677559 0.0023942 9.73243 -0.0777643 0.0149137 -0.273773 0.11 -0.38 pose: 0.32899544 -6.04084 -3.6404 0 0.015001 0.00274741 0.992118 0.124379 uwb: 0.0 1231.03 1621.25 -imu_odom_: 1691062905.372962181 0.632069 -0.433351 9.77553 -0.0703074 0.00319579 -0.243946 0.09 -0.29 pose: 0.40932160 -6.04084 -3.6404 0 0.0162622 0.00455548 0.991213 0.131194 uwb: 0.0 1231.03 1621.25 -imu_odom_: 1691062905.386021962 0.840365 -0.31364 9.90721 -0.0692422 0.00639159 -0.234358 0.09 -0.29 pose: 0.0 -6.04084 -3.6404 0 0.0162622 0.00455548 0.991213 0.131194 uwb: 0.49936553 1225.86 1623.93 -imu_odom_: 1691062905.401889164 0.950498 -0.241814 9.84017 -0.0500674 0.0223706 -0.218379 0.09 -0.29 pose: 0.0 -6.04084 -3.6404 0 0.0162622 0.00455548 0.991213 0.131194 uwb: 0.0 1225.86 1623.93 -imu_odom_: 1691062905.427973730 0.68953 -0.0957681 9.83777 -0.0575243 -0.00213053 -0.184291 0.1 -0.35 pose: 0.8009284 -6.04084 -3.6404 0 0.0159575 0.00376124 0.991073 0.13231 uwb: 0.0 1225.86 1623.93 -imu_odom_: 1691062905.453987716 -0.0766145 -0.397437 9.51216 -0.0490022 0.0692422 -0.24075 0.07 -0.23 pose: 0.64059981 -6.05013 -3.63671 0 0.0159072 0.00321036 0.989981 0.140265 uwb: 0.50003632 1236.23 1620.58 -imu_odom_: 1691062905.470917398 -0.42138 -0.0502782 9.95509 -0.0383495 0.0319579 -0.401605 0.07 -0.23 pose: 0.0 -6.05013 -3.63671 0 0.0159072 0.00321036 0.989981 0.140265 uwb: 0.0 1236.23 1620.58 -imu_odom_: 1691062905.494907335 -0.296881 0.4956 9.84735 -0.0458064 -0.0543285 -0.498544 0.1 -0.41 pose: 0.0 -6.05013 -3.63671 0 0.0159072 0.00321036 0.989981 0.140265 uwb: 0.50006257 1237.11 1621.27 -imu_odom_: 1691062905.521150850 -0.318429 -0.572214 9.7875 -0.076699 -0.0287621 -0.493217 0.1 -0.41 pose: 0.51075736 -6.05013 -3.63671 0 0.0100726 0.00410764 0.988664 0.14975 uwb: 0.0 1237.11 1621.27 -imu_odom_: 1691062905.546973806 0.462081 -0.0454898 9.87608 -0.0596548 -0.0383495 -0.527306 0.12 -0.55 pose: 0.23930150 -6.05944 -3.63307 0 0.00861442 0.0048955 0.98769 0.156112 uwb: 0.49922846 1236.24 1622.25 -imu_odom_: 1691062905.563898821 0.397437 -0.277727 9.87129 -0.052198 0.0436758 -0.523045 0.12 -0.55 pose: 0.0 -6.05944 -3.63307 0 0.00861442 0.0048955 0.98769 0.156112 uwb: 0.0 1236.24 1622.25 -imu_odom_: 1691062905.579955304 -0.201113 0.0047884 9.80665 -0.0436758 0 -0.552872 0.15 -0.67 pose: 0.26086315 -6.05944 -3.63307 0 0.00674747 0.00472774 0.986572 0.163121 uwb: 0.0 1236.24 1622.25 -imu_odom_: 1691062905.597907801 0.418985 -0.23942 9.95748 -0.0553937 -0.0298274 -0.568851 0.15 -0.67 pose: 0.0 -6.05944 -3.63307 0 0.00674747 0.00472774 0.986572 0.163121 uwb: 0.49994299 1242.14 1621.34 -imu_odom_: 1691062905.621932444 0.557849 -0.155623 10.2903 -0.0820254 0.00745685 -0.58483 0.13 -0.64 pose: 0.68841870 -6.06869 -3.62939 0 0.00262336 0.00384812 0.983121 0.182897 uwb: 0.0 1242.14 1621.34 -imu_odom_: 1691062905.647959555 0.423774 -0.31364 9.54089 -0.0830906 0.0117179 -0.588026 0.13 -0.64 pose: 0.0 -6.06869 -3.62939 0 0.00262336 0.00384812 0.983121 0.182897 uwb: 0.0 1242.14 1621.34 -imu_odom_: 1691062905.671042754 0.31364 -0.0167594 10.0078 -0.0649811 0.0181095 -0.593352 0.15 -0.73 pose: 0.8132068 -6.06875 -3.62941 0 0.0032907 0.00342696 0.982654 0.185389 uwb: 0.0 1242.14 1621.34 -imu_odom_: 1691062905.694977278 0.158017 -0.4956 9.51935 -0.0809601 -0.00532632 -0.619984 0.14 -0.7 pose: 0.0 -6.06875 -3.62941 0 0.0032907 0.00342696 0.982654 0.185389 uwb: 0.99999390 1242.88 1621.61 -imu_odom_: 1691062905.712900901 0.648829 0.0215478 9.63666 -0.0543285 -0.0127832 -0.658333 0.2 -0.97 pose: 0.72887051 -6.07806 -3.62577 0 0.00104711 0.0014904 0.978134 0.207967 uwb: 0.0 1242.88 1621.61 -imu_odom_: 1691062905.736923795 0.529119 -0.146046 9.51695 -0.052198 -0.0213053 -0.687096 0.2 -0.97 pose: 0.0 -6.07806 -3.62577 0 0.00104711 0.0014904 0.978134 0.207967 uwb: 0.49919637 1240.98 1623.18 -imu_odom_: 1691062905.762942448 0.363919 -0.102951 10.5608 -0.0553937 0.0106526 -0.725445 0.15 -0.73 pose: 0.42189462 -6.08738 -3.62215 0 0.00225195 0.00131377 0.975007 0.222159 uwb: 0.0 1240.98 1623.18 -imu_odom_: 1691062905.775885570 0.811634 -0.172383 9.91678 -0.0532632 -0.0266316 -0.736098 0.15 -0.73 pose: 0.0 -6.08738 -3.62215 0 0.00225195 0.00131377 0.975007 0.222159 uwb: 0.0 1240.98 1623.18 -imu_odom_: 1691062905.799901756 -0.0407014 -0.205901 9.42837 -0.0458064 -0.00958738 -0.740359 0.15 -0.73 pose: 0.54769188 -6.09648 -3.61844 0 0.00315986 0.00295534 0.970189 0.24231 uwb: 0.50143332 1240.09 1624.12 -imu_odom_: 1691062905.825949574 0.727837 0.169988 10.2783 -0.0735032 -0.0298274 -0.76699 0.15 -0.73 pose: 0.0 -6.09648 -3.61844 0 0.00315986 0.00295534 0.970189 0.24231 uwb: 0.0 1240.09 1624.12 -imu_odom_: 1691062905.849917054 0.744597 0.0837971 10.3022 -0.0809601 -0.02024 -0.754207 0.17 -0.85 pose: 0.8009284 -6.09671 -3.61852 0 0.00238577 0.00309664 0.969429 0.245342 uwb: 0.50239577 1236.44 1626.07 -imu_odom_: 1691062905.867075098 0.529119 0.00718261 9.8258 -0.0553937 -0.0447411 -0.76699 0.17 -0.85 pose: 0.0 -6.09671 -3.61852 0 0.00238577 0.00309664 0.969429 0.245342 uwb: 0.0 1236.44 1626.07 -imu_odom_: 1691062905.891945817 0.268151 0.0191536 9.94073 -0.0415453 -0.0308927 -0.797883 0.16 -0.82 pose: 0.49095143 -6.10603 -3.61491 0 0.00402802 0.00448063 0.96444 0.264232 uwb: 0.49770021 1232.83 1628.12 -imu_odom_: 1691062905.908871999 0.670376 -0.0646434 9.86172 -0.0660464 -0.00745685 -0.782969 0.16 -0.82 pose: 0.0 -6.10603 -3.61491 0 0.00402802 0.00448063 0.96444 0.264232 uwb: 0.0 1232.83 1628.12 -imu_odom_: 1691062905.934118947 0.272939 -0.0933739 9.7875 -0.0468716 -0.0117179 -0.778708 0.15 -0.76 pose: 0.66898316 -6.11168 -3.60203 0 0.00604992 0.00729468 0.956832 0.290485 uwb: 0.0 1232.83 1628.12 -imu_odom_: 1691062905.960898222 -0.009576810.129287 9.7037 -0.0415453 -0.0543285 -0.801079 0.21 -1.06 pose: 0.0 -6.11168 -3.60203 0 0.00604992 0.00729468 0.956832 0.290485 uwb: 0.50042130 1228.47 1629.84 -imu_odom_: 1691062905.985868102 0.409408 0.0191536 9.84496 -0.0703074 -0.0458064 -0.784035 0.21 -1.06 pose: 0.34230634 -6.11148 -3.60195 0 0.00438448 0.00729311 0.95267 0.303889 uwb: 0.49813477 1229.33 1630.48 -imu_odom_: 1691062906.11968125 0.332794 0.11971 10.4435 -0.0639159 -0.056459 -0.793622 0.21 -1.06 pose: 0.7839544 -6.11168 -3.60203 0 0.00396377 0.00780375 0.951659 0.307033 uwb: 0.0 1229.33 1630.48 -imu_odom_: 1691062906.34955372 0.205901 -0.107739 10.3022 -0.052198 -0.00532632 -0.810666 0.21 -1.06 pose: 0.0 -6.11168 -3.60203 0 0.00396377 0.00780375 0.951659 0.307033 uwb: 0.49982925 1234.66 1629.67 -imu_odom_: 1691062906.51870763 0.529119 0.011971 10.0413 -0.0756338 -0.0575243 -0.803209 0.17 -0.85 pose: 0.51997932 -6.12102 -3.59844 0 0.00423791 0.0116121 0.944755 0.327543 uwb: 0.0 1234.66 1629.67 -imu_odom_: 1691062906.75016083 0.280122 -0.438139 10.1107 -0.0628506 0.0245011 -0.831972 0.17 -0.85 pose: 0.0 -6.12102 -3.59844 0 0.00423791 0.0116121 0.944755 0.327543 uwb: 0.0 1234.66 1629.67 -imu_odom_: 1691062906.98877403 0.778116 0.0287304 10.082 -0.0671117 -0.00852212 -0.843689 0.17 -0.85 pose: 0.48959527 -6.13034 -3.59483 0 0.00250165 0.011752 0.937788 0.347 uwb: 0.50141583 1236.06 1630.07 -imu_odom_: 1691062906.115877956 0.447716 -0.45011 10.0628 -0.072438 -0.00852212 -0.833037 0.17 -0.85 pose: 0.0 -6.13034 -3.59483 0 0.00250165 0.011752 0.937788 0.347 uwb: 0.0 1236.06 1630.07 -imu_odom_: 1691062906.140874668 0.203507 -0.395043 9.67497 -0.0447411 0.00958738 -0.840494 0.19 -0.97 pose: 0.39988966 -6.13615 -3.58195 0 0.00245325 0.00915037 0.931659 0.36321 uwb: 0.50091128 1237.86 1629.83 -imu_odom_: 1691062906.166949318 0.596156 0.0550666 10.0006 -0.0436758 -0.015979 -0.833037 0.19 -0.97 pose: 0.0 -6.13615 -3.58195 0 0.00245325 0.00915037 0.931659 0.36321 uwb: 0.0 1237.86 1629.83 -imu_odom_: 1691062906.192158060 0.227449 -0.122104 10.3501 -0.0607201 0 -0.834102 0.19 -0.97 pose: 0.42086218 -6.14549 -3.57837 0 0.00254996 0.00650505 0.924812 0.38036 uwb: 0.49899514 1239.71 1629.72 -imu_odom_: 1691062906.207926976 -0.158017 -0.141258 10.0652 -0.0543285 -0.0149137 -0.850081 0.19 -0.97 pose: 0.0 -6.14549 -3.57837 0 0.00254996 0.00650505 0.924812 0.38036 uwb: 0.0 1239.71 1629.72 -imu_odom_: 1691062906.231869375 -0.035913 0.131681 10.8266 -0.0276969 -0.0213053 -0.8863 0.2 -1 pose: 0.50027257 -6.14549 -3.57837 0 0.00296218 0.00651019 0.916265 0.400509 uwb: 0.0 1239.71 1629.72 -imu_odom_: 1691062906.257857405 0.220267 0.301669 10.2328 -0.0585895 0.00106526 -0.877778 0.2 -1 pose: 0.0 -6.14549 -3.57837 0 0.00296218 0.00651019 0.916265 0.400509 uwb: 0.50048255 1242.71 1629.3 -imu_odom_: 1691062906.280853109 0.826 0.186748 9.85693 -0.076699 -0.0596548 -0.875647 0.2 -0.94 pose: 0.40923702 -6.15133 -3.56553 0 -0.0006992530.00788983 0.908803 0.41715 uwb: 0.0 1242.71 1629.3 -imu_odom_: 1691062906.296870802 0.605733 0.0957681 10.1035 -0.0745685 -0.0628506 -0.898018 0.2 -0.94 pose: 0.0 -6.15133 -3.56553 0 -0.0006992530.00788983 0.908803 0.41715 uwb: 0.49994009 1243.39 1629.42 -imu_odom_: 1691062906.313886229 0.969652 0.011971 10.1897 -0.0745685 -0.0340885 -0.896953 0.25 -1.23 pose: 0.48928029 -6.16067 -3.56195 0 -0.0002714410.0116068 0.899159 0.437469 uwb: 0.0 1243.39 1629.42 -imu_odom_: 1691062906.339003393 0.153229 -0.0981623 10.1083 -0.0415453 -0.00319579 -0.8863 0.25 -1.23 pose: 0.0 -6.16067 -3.56195 0 -0.0002714410.0116068 0.899159 0.437469 uwb: 0.49945594 1245.8 1629.09 -imu_odom_: 1691062906.364237508 0.25618 -0.148441 10.1945 -0.0415453 0.052198 -0.887365 0.21 -1.06 pose: 0.74133271 -6.16624 -3.54897 0 0.0024728 0.0100588 0.883594 0.468139 uwb: 0.0 1245.8 1629.09 -imu_odom_: 1691062906.388005209 0.876278 0.105345 9.60793 -0.0692422 -0.0692422 -0.863929 0.21 -1.06 pose: 0.7874250 -6.16644 -3.54904 0 0.0015621 0.00986315 0.881881 0.471366 uwb: 0.50018799 1243.05 1630.16 -imu_odom_: 1691062906.412853472 0.744597 0.241814 10.0987 -0.0692422 -0.0383495 -0.864995 0.19 -0.94 pose: 0.41127566 -6.17533 -3.54532 0 0.00237557 0.00841058 0.872886 0.487845 uwb: 0.0 1243.05 1630.16 -imu_odom_: 1691062906.437982885 0.979228 -0.21069 9.85453 -0.0937433 -0.0127832 -0.883104 0.25 -1.23 pose: 0.0 -6.17533 -3.54532 0 0.00237557 0.00841058 0.872886 0.487845 uwb: 0.49981468 1247.22 1629.46 -imu_odom_: 1691062906.460840347 0.241814 -0.282516 9.81862 -0.0628506 -0.00639159 -0.919323 0.25 -1.23 pose: 0.31862730 -6.17227 -3.53612 0 0.00543157 0.00777629 0.86574 0.500405 uwb: 0.0 1247.22 1629.46 -imu_odom_: 1691062906.484867325 0.790087 -0.153229 9.9503 -0.0607201 0.0372843 -0.908671 0.18 -0.91 pose: 0.0 -6.17227 -3.53612 0 0.00543157 0.00777629 0.86574 0.500405 uwb: 0.0 1247.22 1629.46 -imu_odom_: 1691062906.501905792 0.512359 -0.122104 10.1562 -0.0692422 0.0106526 -0.899083 0.18 -0.91 pose: 0.49033898 -6.18162 -3.53259 0 0.00462249 0.0049638 0.853957 0.5203 uwb: 0.49985550 1234.83 1634.79 -imu_odom_: 1691062906.526831342 0.220267 -0.153229 10.0676 -0.0500674 -0.0319579 -0.895887 0.18 -0.94 pose: 0.0 -6.18162 -3.53259 0 0.00462249 0.0049638 0.853957 0.5203 uwb: 0.0 1234.83 1634.79 -imu_odom_: 1691062906.543845894 0.474052 -0.0430956 9.74919 -0.0458064 -0.0628506 -0.901214 0.18 -0.94 pose: 0.41003614 -6.1875 -3.51973 0 0.00540812 0.00284355 0.843767 0.536674 uwb: 0.50038048 1237.18 1634.32 -imu_odom_: 1691062906.568896561 0.354342 -0.131681 10.1155 -0.0617853 0.0127832 -0.896953 0.19 -0.94 pose: 0.0 -6.1875 -3.51973 0 0.00540812 0.00284355 0.843767 0.536674 uwb: 0.0 1237.18 1634.32 -imu_odom_: 1691062906.593839902 0.677559 -0.215478 9.93354 -0.0617853 0.0340885 -0.941694 0.19 -0.94 pose: 0.41989974 -6.1875 -3.51973 0 0.00510116 0.00420301 0.833028 0.553191 uwb: 0.49828059 1237.86 1634.46 -imu_odom_: 1691062906.619064101 0.366313 0.217872 9.87369 -0.0607201 -0.0852212 -0.919323 0.19 -0.94 pose: 0.41944477 -6.19044 -3.50785 0 0.00412897 0.00267293 0.821698 0.569902 uwb: 0.0 1237.86 1634.46 -imu_odom_: 1691062906.635836876 0.785298 0.378284 10.0556 -0.056459 -0.0681769 -0.92465 0.19 -0.94 pose: 0.0 -6.19044 -3.50785 0 0.00412897 0.00267293 0.821698 0.569902 uwb: 0.50078879 1234.55 1635.74 -imu_odom_: 1691062906.660929541 0.423774 -0.0407014 10.0149 -0.0596548 -0.0298274 -0.92678 0.19 -0.94 pose: 0.41996974 -6.19124 -3.50156 0 0.0078659 0.00465976 0.810001 0.586358 uwb: 0.0 1234.55 1635.74 -imu_odom_: 1691062906.686888114 0.545878 -0.196325 9.7851 -0.0585895 0.0181095 -0.92678 0.19 -0.94 pose: 0.0 -6.19124 -3.50156 0 0.0078659 0.00465976 0.810001 0.586358 uwb: 0.49981176 1234.15 1636.37 -imu_odom_: 1691062906.702848936 0.241814 -0.0430956 9.65582 -0.0245011 0.00958738 -0.92678 0.19 -0.97 pose: 0.51051238 -6.1964 -3.48709 0 0.00597577 0.00390808 0.795302 0.606172 uwb: 0.0 1234.15 1636.37 -imu_odom_: 1691062906.719958857 0.299275 -0.0694318 9.8665 -0.0394148 0.00213053 -0.916127 0.19 -0.97 pose: 0.0 -6.1964 -3.48709 0 0.00597577 0.00390808 0.795302 0.606172 uwb: 0.0 1234.15 1636.37 -imu_odom_: 1691062906.735944761 0.90022 -0.430956 10.1299 -0.0585895 -0.0106526 -0.871386 0.19 -0.97 pose: 0.0 -6.1964 -3.48709 0 0.00597577 0.00390808 0.795302 0.606172 uwb: 0.49897764 1235.31 1636.09 -imu_odom_: 1691062906.752808821 0.567426 -0.0335188 10.489 -0.0575243 -0.00426106 -0.826645 0.19 -0.79 pose: 0.41068945 -6.1958 -3.48463 0 0.00384273 0.00590241 0.783301 0.621602 uwb: 0.0 1235.31 1636.09 -imu_odom_: 1691062906.768971756 -0.0885855 -0.0790087 9.93833 -0.0532632 0.00532632 -0.728641 0.19 -0.79 pose: 0.0 -6.1958 -3.48463 0 0.00384273 0.00590241 0.783301 0.621602 uwb: 0.0 1235.31 1636.09 -imu_odom_: 1691062906.785026197 -0.241814 -0.500388 9.41879 -0.0692422 -0.0117179 -0.635963 0.25 -0.85 pose: 0.0 -6.1958 -3.48463 0 0.00384273 0.00590241 0.783301 0.621602 uwb: 0.50076545 1238.77 1635.18 -imu_odom_: 1691062906.801907757 0.153229 -0.531513 9.96467 -0.0447411 -0.02024 -0.585895 0.25 -0.85 pose: 0.49082894 -6.20158 -3.47172 0 0.00339928 0.00562431 0.770795 0.63705 uwb: 0.0 1238.77 1635.18 -imu_odom_: 1691062906.818825773 0.545878 -0.378284 10.2999 -0.056459 0.0170442 -0.540089 0.25 -0.85 pose: 0.0 -6.20158 -3.47172 0 0.00339928 0.00562431 0.770795 0.63705 uwb: 0.0 1238.77 1635.18 -imu_odom_: 1691062906.834885172 0.912191 -0.397437 10.7524 -0.0681769 0.00319579 -0.50174 0.19 -0.53 pose: 0.41785820 -6.19959 -3.46656 0 0.000891404 0.00340674 0.76253 0.646943 uwb: 0.0 1238.77 1635.18 -imu_odom_: 1691062906.852876167 0.426168 -0.225055 9.70609 -0.0479369 0.00639159 -0.487891 0.25 -0.67 pose: 0.0 -6.19959 -3.46656 0 0.000891404 0.00340674 0.76253 0.646943 uwb: 0.0 1238.77 1635.18 -imu_odom_: 1691062906.867871628 0.500388 -0.0454898 9.7875 -0.0511327 0.0287621 -0.452737 0.25 -0.67 pose: 0.0 -6.19959 -3.46656 0 0.000891404 0.00340674 0.76253 0.646943 uwb: 0.0 1238.77 1635.18 -imu_odom_: 1691062906.884817934 -0.0502782 -0.047884 10.1011 -0.0820254 -0.0255663 -0.393083 0.25 -0.61 pose: 0.23999270 -6.19802 -3.46238 0 0.00120719 0.00120118 0.758354 0.65184 uwb: 0.0 1238.77 1635.18 -imu_odom_: 1691062906.900881416 0.373495 -0.418985 9.85453 -0.0458064 -0.00426106 -0.389887 0.25 -0.61 pose: 0.0 -6.19802 -3.46238 0 0.00120719 0.00120118 0.758354 0.65184 uwb: 0.99969935 1241.04 1634.47 -imu_odom_: 1691062906.918887285 0.593762 -0.184354 9.63666 -0.0532632 -0.0394148 -0.357929 0.25 -0.61 pose: 0.33056161 -6.20737 -3.45883 0 0.00170079 0.00151713 0.753065 0.657942 uwb: 0.0 1241.04 1634.47 -imu_odom_: 1691062906.933878372 0.339977 -0.294487 9.50259 -0.0628506 0.0223706 -0.331297 0.25 -0.53 pose: 0.32956707 -6.20377 -3.4495 0 0.000821383 0.000479282 0.748464 0.663174 uwb: 0.0 1241.04 1634.47 -imu_odom_: 1691062906.951938488 0.658405 -0.54109 9.99579 -0.0553937 -0.0149137 -0.314253 0.25 -0.53 pose: 0.0 -6.20377 -3.4495 0 0.000821383 0.000479282 0.748464 0.663174 uwb: 0.50036006 1244.51 1633.59 -imu_odom_: 1691062906.968876336 0.811634 0.0670376 10.5656 -0.0458064 -0.00745685 -0.309992 0.25 -0.53 pose: 0.0 -6.20377 -3.4495 0 0.000821383 0.000479282 0.748464 0.663174 uwb: 0.0 1244.51 1633.59 -imu_odom_: 1691062906.982935309 1.16598 0.0550666 9.93115 -0.0639159 -0.0415453 -0.252468 0.18 -0.29 pose: 0.51103444 -6.20944 -3.43655 0 0.000860624 -0.00216977 0.742215 0.670158 uwb: 0.0 1244.51 1633.59 -imu_odom_: 1691062906.999852742 1.58017 -0.287304 10.0221 -0.0713727 -0.0447411 -0.203466 0.18 -0.29 pose: 0.0 -6.20944 -3.43655 0 0.000860624 -0.00216977 0.742215 0.670158 uwb: 0.50018215 1252.36 1630.93 -imu_odom_: 1691062907.13925132 1.27611 -0.428562 9.87369 -0.0490022 -0.056459 -0.189617 0.14 -0.26 pose: 0.0 -6.20944 -3.43655 0 0.000860624 -0.00216977 0.742215 0.670158 uwb: 0.0 1252.36 1630.93 -imu_odom_: 1691062907.29865246 1.65679 -0.184354 10.0149 -0.0511327 -0.0500674 -0.191748 0.14 -0.26 pose: 0.39911387 -6.20944 -3.43655 0 0.00461137 -0.00444191 0.738387 0.674347 uwb: 0.0 1252.36 1630.93 -imu_odom_: 1691062907.46807761 1.63763 -0.19393 9.8689 -0.0575243 0.0191748 -0.205596 0.14 -0.26 pose: 0.0 -6.20944 -3.43655 0 0.00461137 -0.00444191 0.738387 0.674347 uwb: 0.50042714 1248.5 1632.47 -imu_odom_: 1691062907.62918491 1.18752 0.0383072 10.1897 -0.0490022 0.0340885 -0.214118 0.11 -0.26 pose: 0.6945346 -6.20944 -3.43655 0 0.00513042 -0.00513397 0.737847 0.674929 uwb: 0.0 1248.5 1632.47 -imu_odom_: 1691062907.79859256 0.972046 -0.181959 9.54089 -0.0543285 0.0181095 -0.216249 0.11 -0.26 pose: 0.0 -6.20944 -3.43655 0 0.00513042 -0.00513397 0.737847 0.674929 uwb: 0.0 1248.5 1632.47 -imu_odom_: 1691062907.95874616 0.97444 -0.37589 10.058 -0.052198 -0.036219 -0.204531 0.11 -0.26 pose: 0.0 -6.20944 -3.43655 0 0.00513042 -0.00513397 0.737847 0.674929 uwb: 0.49936555 1246.72 1632.79 -imu_odom_: 1691062907.112813922 0.565032 -0.323217 9.81383 -0.056459 0.0138484 -0.187487 0.13 -0.26 pose: 0.48070579 -6.20579 -3.42724 0 0.00899501 -0.00817792 0.733909 0.679139 uwb: 0.0 1246.72 1632.79 -imu_odom_: 1691062907.128883238 0.787692 -0.316035 10.0485 -0.0585895 -0.0138484 -0.15979 0.08 -0.17 pose: 0.0 -6.20579 -3.42724 0 0.00899501 -0.00817792 0.733909 0.679139 uwb: 0.0 1246.72 1632.79 -imu_odom_: 1691062907.145891957 0.610521 -0.356736 9.81144 -0.0607201 -0.00745685 -0.142745 0.08 -0.17 pose: 0.64981304 -6.20222 -3.4179 0 0.00987784 -0.0112779 0.728604 0.684771 uwb: 0.49917305 1247.7 1632.05 -imu_odom_: 1691062907.161801157 0.746991 -0.220267 10.0006 -0.0617853 -0.00639159 -0.126766 0.07 -0.17 pose: 0.0 -6.20222 -3.4179 0 0.00987784 -0.0112779 0.728604 0.684771 uwb: 0.0 1247.7 1632.05 -imu_odom_: 1691062907.178953076 0.885855 -0.428562 9.80186 -0.0553937 -0.0127832 -0.120375 0.07 -0.17 pose: 0.0 -6.20222 -3.4179 0 0.00987784 -0.0112779 0.728604 0.684771 uwb: 0.0 1247.7 1632.05 -imu_odom_: 1691062907.203815630 0.802058 -0.141258 9.84975 -0.0628506 -0.015979 -0.111853 0.06 -0.11 pose: 0.33950651 -6.21156 -3.41433 0 0.00912447 -0.0123287 0.726481 0.687016 uwb: 0.50149166 1250.98 1630.68 -imu_odom_: 1691062907.228814676 0.311246 -0.392649 9.71806 -0.0607201 0.0127832 -0.135289 0.06 -0.11 pose: 0.34063810 -6.21156 -3.41433 0 0.0109293 -0.0138066 0.724581 0.688964 uwb: 0.0 1250.98 1630.68 -imu_odom_: 1691062907.243808095 -0.821211 0.0047884 9.86172 -0.036219 0.109722 -0.178964 0.06 -0.11 pose: 0.0 -6.21156 -3.41433 0 0.0109293 -0.0138066 0.724581 0.688964 uwb: 0.49926930 1248.79 1631.57 -imu_odom_: 1691062907.267807366 -1.20189 -0.351948 9.85453 -0.072438 -0.0266316 -0.0436758 0.07 -0.08 pose: 0.48014291 -6.21156 -3.41433 0 0.00936156 -0.0113136 0.721731 0.692017 uwb: 0.0 1248.79 1631.57 -imu_odom_: 1691062907.294803338 0.390255 -0.447716 9.89763 -0.036219 -0.0852212 -0.0628506 0.14 -0.08 pose: 0.31928643 -6.20794 -3.40501 0 0.00686129 -0.00906867 0.720472 0.693391 uwb: 0.50066922 1247.63 1631.87 -imu_odom_: 1691062907.319804134 0.52433 0.110133 9.83777 -0.052198 0.0319579 -0.0543285 0.14 -0.08 pose: 0.0 -6.20794 -3.40501 0 0.00686129 -0.00906867 0.720472 0.693391 uwb: 0.0 1247.63 1631.87 -imu_odom_: 1691062907.344878134 -0.167594 -0.316035 9.97424 -0.04048 -0.0149137 -0.0276969 0.15 -0.11 pose: 0.51996768 -6.20794 -3.40501 0 0.00620342 -0.00701141 0.718715 0.695242 uwb: 0.49861308 1247.55 1631.66 -imu_odom_: 1691062907.371977058 -0.117316 -0.1652 10.2592 -0.0500674 -0.0138484 -0.0436758 0.15 -0.11 pose: 0.0 -6.20794 -3.40501 0 0.00620342 -0.00701141 0.718715 0.695242 uwb: 0.0 1247.55 1631.66 -imu_odom_: 1691062907.388933863 0.466869 -0.0335188 9.68215 -0.0649811 -0.0575243 -0.0266316 0.15 -0.08 pose: 0.33291522 -6.20432 -3.39569 0 0.00395898 -0.00482146 0.717912 0.696106 uwb: 0.50263202 1246.93 1631.7 -imu_odom_: 1691062907.413799917 -0.0861913 -0.52433 9.96467 -0.0532632 0.0330232 -0.015979 0.15 -0.08 pose: 0.0 -6.20432 -3.39569 0 0.00395898 -0.00482146 0.717912 0.696106 uwb: 0.0 1246.93 1631.7 -imu_odom_: 1691062907.439853569 0.466869 -0.112527 10.2208 -0.052198 0.00745685 -0.036219 0.17 -0.08 pose: 0.27043511 -6.20432 -3.39569 0 0.00347441 -0.00293671 0.717181 0.696872 uwb: 0.49865100 1242.55 1633.51 -imu_odom_: 1691062907.453956874 0.770933 -0.232238 9.33739 -0.0703074 -0.0266316 -0.00852212 0.17 -0.08 pose: 0.0 -6.20432 -3.39569 0 0.00347441 -0.00293671 0.717181 0.696872 uwb: 0.0 1242.55 1633.51 -imu_odom_: 1691062907.479928571 0.586579 -0.155623 10.2472 -0.0681769 0.0181095 -0.00958738 0.14 -0.02 pose: 0.41732156 -6.20998 -3.38272 0 0.00207929 -0.0009810240.716287 0.697802 uwb: 0.0 1242.55 1633.51 -imu_odom_: 1691062907.505079275 0.6608 -0.318429 9.87848 -0.0798948 0.0181095 -0.0138484 0.14 -0.02 pose: 0.0 -6.20998 -3.38272 0 0.00207929 -0.0009810240.716287 0.697802 uwb: 0.50069254 1239.65 1634.19 -imu_odom_: 1691062907.528804979 0.68953 -0.3304 9.45949 -0.0745685 -0.0415453 -0.0149137 0.15 -0.02 pose: 0.40073836 -6.20998 -3.38272 0 0.00490944 -0.0016822 0.71543 0.698665 uwb: 0.0 1239.65 1634.19 -imu_odom_: 1691062907.544790299 0.545878 -0.21069 10.1897 -0.0553937 0.0138484 -0.0138484 0.15 -0.02 pose: 0.0 -6.20998 -3.38272 0 0.00490944 -0.0016822 0.71543 0.698665 uwb: 0.49901557 1241.25 1633.41 -imu_odom_: 1691062907.569850883 0.423774 -0.146046 10.1969 -0.0617853 -0.0319579 -0.00426106 0.15 -0.02 pose: 0.49867433 -6.20635 -3.3734 0 0.00573838 -0.006012 0.714522 0.699563 uwb: 0.0 1241.25 1633.41 -imu_odom_: 1691062907.594888719 0.177171 -0.328006 9.98861 -0.0585895 -0.0181095 0.00106526 0.15 -0.02 pose: 0.0 -6.20635 -3.3734 0 0.00573838 -0.006012 0.714522 0.699563 uwb: 0.0 1241.25 1633.41 -imu_odom_: 1691062907.609785311 0.402226 -0.0861913 10.4267 -0.0479369 -0.036219 -0.00852212 0.15 -0.02 pose: 0.83076127 -6.21201 -3.36044 0 0.00284042 -0.00334758 0.713192 0.700955 uwb: 0.0 1241.25 1633.41 -imu_odom_: 1691062907.626789947 0.385466 -0.435745 9.45949 -0.0500674 -0.0127832 -0.00213053 0.15 -0.02 pose: 0.0 -6.21201 -3.36044 0 0.00284042 -0.00334758 0.713192 0.700955 uwb: 0.0 1241.25 1633.41 -imu_odom_: 1691062907.652944801 0.308852 -0.363919 9.83299 -0.0532632 0.0447411 -0.00639159 0.16 -0.02 pose: 0.31901228 -6.21022 -3.3558 0 0.00187328 -0.00274953 0.712695 0.701466 uwb: 0.99996476 1234.98 1635.24 -imu_odom_: 1691062907.669021116 0.73502 -0.335188 9.4954 -0.0394148 0.0372843 0.00106526 0.16 -0.02 pose: 0.0 -6.21022 -3.3558 0 0.00187328 -0.00274953 0.712695 0.701466 uwb: 0.0 1234.98 1635.24 -imu_odom_: 1691062907.685904134 -0.0191536 -0.265756 8.99023 -0.0426106 0 0.00852212 0.16 -0.02 pose: 0.0 -6.21022 -3.3558 0 0.00187328 -0.00274953 0.712695 0.701466 uwb: 0.50074796 1236 1634.58 -imu_odom_: 1691062907.712907980 0.217872 -0.277727 9.8665 -0.0649811 0.015979 0.0127832 0.16 -0.05 pose: 0.50275451 -6.20842 -3.3511 0 -0.00102578 -0.00254944 0.711973 0.702202 uwb: 0.0 1236 1634.58 -imu_odom_: 1691062907.737852487 0.371101 -0.31364 9.77553 -0.052198 0.0415453 0.00532632 0.17 0 pose: 0.35842582 -6.21146 -3.3392 0 -0.00398397 -4.12819e-050.711625 0.702548 uwb: 0.49981759 1231.52 1636.08 -imu_odom_: 1691062907.764917580 0.37589 -0.296881 9.60314 -0.0639159 0.00213053 0.0245011 0.17 0 pose: 0.8054781 -6.21413 -3.33816 0 -0.00435624 -0.0006689590.711524 0.702648 uwb: 0.0 1231.52 1636.08 -imu_odom_: 1691062907.789859754 0.40462 0.00957681 10.0533 -0.0532632 -0.0117179 0.0149137 0.17 -0.02 pose: 0.43954819 -6.21166 -3.33182 0 -0.00257763 -0.0022362 0.71117 0.703011 uwb: 0.49940346 1223.69 1638.68 -imu_odom_: 1691062907.815773706 0.280122 -0.184354 10.1418 -0.0543285 -0.0127832 0.0181095 0.17 -0.02 pose: 0.0 -6.21166 -3.33182 0 -0.00257763 -0.0022362 0.71117 0.703011 uwb: 0.0 1223.69 1638.68 -imu_odom_: 1691062907.838813157 0.229843 -0.296881 9.99579 -0.0266316 -0.0106526 0.00745685 0.21 -0.02 pose: 0.32959625 -6.2105 -3.32885 0 -0.0009906120.000165276 0.710898 0.703294 uwb: 0.50045339 1219.06 1639.76 -imu_odom_: 1691062907.862774514 0.21069 -0.141258 9.57441 -0.036219 -0.0276969 0.0245011 0.17 0 pose: 0.0 -6.2105 -3.32885 0 -0.0009906120.000165276 0.710898 0.703294 uwb: 0.0 1219.06 1639.76 -imu_odom_: 1691062907.878809415 0.428562 -0.241814 10.2783 -0.036219 -0.0245011 0.0234358 0.17 0 pose: 0.48896531 -6.20686 -3.31953 0 -0.00359784 0.00315614 0.710453 0.703729 uwb: 0.0 1219.06 1639.76 -imu_odom_: 1691062907.904888731 0.59855 -0.335188 10.3094 -0.056459 0.00639159 0.0351537 0.17 -0.02 pose: 0.0 -6.20686 -3.31953 0 -0.00359784 0.00315614 0.710453 0.703729 uwb: 0.50085004 1215.59 1640.54 -imu_odom_: 1691062907.931096374 0.641646 -0.325611 10.3573 -0.0372843 0.0266316 0.0191748 0.17 -0.02 pose: 0.41137191 -6.21252 -3.30657 0 -0.00228938 0.00247487 0.710268 0.703924 uwb: 0.0 1215.59 1640.54 -imu_odom_: 1691062907.945831100 -0.117316 -0.0766145 9.71328 -0.0372843 0.04048 0.0330232 0.17 -0.02 pose: 0.0 -6.21252 -3.30657 0 -0.00228938 0.00247487 0.710268 0.703924 uwb: 0.49813770 1217.28 1639.99 -imu_odom_: 1691062907.972804031 0.148441 -0.318429 9.35893 -0.0617853 0.0266316 0.0383495 0.18 -0.02 pose: 0.50013258 -6.20887 -3.29726 0 -0.00114855 -0.0002218030.710037 0.704163 uwb: 0.0 1217.28 1639.99 -imu_odom_: 1691062907.998834934 0.299275 -0.280122 10.0652 -0.0692422 -0.0138484 0.0617853 0.19 -0.02 pose: 0.34879846 -6.20887 -3.29726 0 -0.00444298 0.00192234 0.71 0.704185 uwb: 0.50056713 1218.84 1639.09 -imu_odom_: 1691062908.23769817 0.402226 -0.213084 9.88326 -0.0809601 0.00852212 0.0340885 0.19 -0.02 pose: 0.0 -6.20887 -3.29726 0 -0.00444298 0.00192234 0.71 0.704185 uwb: 0.0 1218.84 1639.09 -imu_odom_: 1691062908.48895148 0.579397 -0.311246 10.0149 -0.076699 -0.0298274 0.0575243 0.18 0 pose: 0.8972895 -6.20887 -3.29726 0 -0.00529809 0.00153703 0.710065 0.704114 uwb: 0.50055256 1214.22 1640.18 -imu_odom_: 1691062908.74953466 0.476446 -0.0622492 9.89524 -0.0532632 0.0149137 0.0266316 0.18 0 pose: 0.0 -6.20887 -3.29726 0 -0.00529809 0.00153703 0.710065 0.704114 uwb: 0.0 1214.22 1640.18 -imu_odom_: 1691062908.90774296 0.260968 -0.232238 9.88805 -0.056459 -0.0447411 0.0490022 0.18 0 pose: 0.49999843 -6.21451 -3.2843 0 -0.00428335 -0.00033839 0.710201 0.703986 uwb: 0.49838852 1216.52 1639.61 -imu_odom_: 1691062908.116759702 0.459687 -0.244209 9.73961 -0.0649811 -0.0149137 0.0308927 0.18 0 pose: 0.0 -6.21451 -3.2843 0 -0.00428335 -0.00033839 0.710201 0.703986 uwb: 0.0 1216.52 1639.61 -imu_odom_: 1691062908.141875700 0.691924 -0.0454898 10.0868 -0.0756338 -0.0308927 0.0458064 0.22 -0.02 pose: 0.50203122 -6.21085 -3.27499 0 -0.00136653 -0.0003496580.710215 0.703983 uwb: 0.49969512 1213.07 1640.42 -imu_odom_: 1691062908.166750212 0.366313 -0.0957681 10.1394 -0.0607201 -0.0266316 0.0351537 0.2 0 pose: 0.16853270 -6.21085 -3.27499 0 -0.00131167 -0.00050101 0.71022 0.703978 uwb: 0.0 1213.07 1640.42 -imu_odom_: 1691062908.182806112 0.919373 -0.232238 9.9096 -0.0585895 -0.0351537 0.0436758 0.2 0 pose: 0.43042539 -6.2072 -3.26568 0 0.00241295 -0.00274281 0.710211 0.703979 uwb: 0.0 1213.07 1640.42 -imu_odom_: 1691062908.198878636 0.344765 -0.474052 9.41879 -0.0713727 0.0276969 0.04048 0.2 0 pose: 0.0 -6.2072 -3.26568 0 0.00241295 -0.00274281 0.710211 0.703979 uwb: 0.50096962 1209.16 1641.73 -imu_odom_: 1691062908.224869291 0.294487 -0.509965 9.42597 -0.052198 0.0415453 0.0276969 0.18 0 pose: 0.6891391 -6.2072 -3.26568 0 0.00249298 -0.00212104 0.7102 0.703992 uwb: 0.0 1209.16 1641.73 -imu_odom_: 1691062908.249870962 0.588974 -0.395043 9.79707 -0.0426106 -0.036219 0.0426106 0.18 0 pose: 0.0 -6.2072 -3.26568 0 0.00249298 -0.00212104 0.7102 0.703992 uwb: 0.50016758 1203.99 1643 -imu_odom_: 1691062908.273880441 0.624887 -0.263362 9.94312 -0.0490022 -0.0191748 0.0458064 0.18 0 pose: 0.58174492 -6.21285 -3.25272 0 0.00119301 -0.00246423 0.710171 0.704023 uwb: 0.0 1203.99 1643 -imu_odom_: 1691062908.298889987 0.474052 -0.323217 9.97424 -0.0415453 -0.0245011 0.0351537 0.18 0 pose: 0.49899516 -6.20919 -3.24341 0 0.000460277 -0.00570263 0.71013 0.704047 uwb: 0.49973594 1200.58 1643.92 -imu_odom_: 1691062908.326008452 0.600945 -0.191536 9.77074 -0.0745685 -0.0117179 0.0553937 0.18 0 pose: 0.0 -6.20919 -3.24341 0 0.000460277 -0.00570263 0.71013 0.704047 uwb: 0.0 1200.58 1643.92 -imu_odom_: 1691062908.341790492 0.694318 -0.282516 9.7875 -0.0596548 0.0276969 0.036219 0.18 0 pose: 0.24955882 -6.20919 -3.24341 0 0.00129936 -0.00667083 0.710149 0.704018 uwb: 0.49906223 1201.04 1643.43 -imu_odom_: 1691062908.367870101 0.476446 -0.476446 10.2544 -0.0585895 0.0319579 0.052198 0.18 0 pose: 0.51104028 -6.21484 -3.23045 0 0.00278279 -0.007199 0.710255 0.703902 uwb: 0.0 1201.04 1643.43 -imu_odom_: 1691062908.393889338 0.277727 -0.28491 9.56005 -0.056459 -0.0106526 0.036219 0.18 0.02 pose: 0.34969092 -6.21118 -3.22114 0 0.000485243 -0.00844209 0.710368 0.70378 uwb: 0.50001301 1206.71 1641.93 -imu_odom_: 1691062908.409821578 0.107739 -0.059855 10.1754 -0.0394148 -0.00745685 0.0458064 0.18 0.02 pose: 0.0 -6.21118 -3.22114 0 0.000485243 -0.00844209 0.710368 0.70378 uwb: 0.0 1206.71 1641.93 -imu_odom_: 1691062908.434828499 0.550666 -0.40462 9.98622 -0.0575243 0.0170442 0.0383495 0.18 0 pose: 0.6922014 -6.21118 -3.22114 0 8.41926e-05 -0.00790576 0.710365 0.703789 uwb: 0.49972136 1204.33 1642.22 -imu_odom_: 1691062908.460788240 0.617704 -0.282516 10.1897 -0.0596548 -0.00106526 0.0468716 0.18 0 pose: 0.0 -6.21118 -3.22114 0 8.41926e-05 -0.00790576 0.710365 0.703789 uwb: 0.0 1204.33 1642.22 -imu_odom_: 1691062908.485721373 0.0957681 -0.299275 10.0963 -0.04048 0.0553937 0.0287621 0.18 -0.02 pose: 0.43071996 -6.20753 -3.21183 0 -0.00129341 -0.00553448 0.710393 0.703782 uwb: 0.50014717 1212.11 1639.52 -imu_odom_: 1691062908.511856395 0.378284 -0.426168 9.9527 -0.0639159 0 0.0553937 0.18 -0.02 pose: 0.0 -6.20753 -3.21183 0 -0.00129341 -0.00553448 0.710393 0.703782 uwb: 0.0 1212.11 1639.52 -imu_odom_: 1691062908.537920547 0.189142 -0.294487 9.86172 -0.0383495 0.0266316 0.036219 0.19 0 pose: 0.49932180 -6.21319 -3.19887 0 0.000248541 -0.00742498 0.710404 0.703754 uwb: 0.50127002 1207.56 1640.79 -imu_odom_: 1691062908.554853729 0.514753 -0.0909797 10.0293 -0.0660464 -0.0447411 0.056459 0.19 0 pose: 0.0 -6.21319 -3.19887 0 0.000248541 -0.00742498 0.710404 0.703754 uwb: 0.0 1207.56 1640.79 -imu_odom_: 1691062908.579791820 0.778116 -0.160412 10.1059 -0.0553937 -0.00319579 0.036219 0.23 -0.02 pose: 0.50969286 -6.20954 -3.18956 0 -0.00435864 -0.00537182 0.710493 0.70367 uwb: 0.0 1207.56 1640.79 -imu_odom_: 1691062908.605869679 0.54109 -0.40462 9.76116 -0.0745685 0.0191748 0.0468716 0.23 0.02 pose: 0.61026243 -6.20701 -3.18311 0 -0.00136052 -0.00422961 0.710551 0.703632 uwb: 0.49926930 1205.24 1641.27 -imu_odom_: 1691062908.630723192 0.153229 -0.213084 9.5792 -0.0735032 -0.0106526 0.0458064 0.23 0.02 pose: 0.0 -6.20701 -3.18311 0 -0.00136052 -0.00422961 0.710551 0.703632 uwb: 0.0 1205.24 1641.27 -imu_odom_: 1691062908.656717931 0.452504 -0.447716 9.81623 -0.0756338 0.0191748 0.0394148 0.21 -0.02 pose: 0.8004327 -6.20589 -3.18025 0 -0.00153131 -0.00501698 0.710567 0.70361 uwb: 0.49931597 1208 1640.23 -imu_odom_: 1691062908.672708501 0.476446 -0.184354 10.2951 -0.0458064 0.0319579 0.0330232 0.21 -0.02 pose: 0.0 -6.20589 -3.18025 0 -0.00153131 -0.00501698 0.710567 0.70361 uwb: 0.0 1208 1640.23 -imu_odom_: 1691062908.698718405 0.543484 -0.392649 9.91678 -0.0798948 0.0308927 0.0447411 0.23 0 pose: 0.50941871 -6.21158 -3.16728 0 -0.00361478 -0.00541491 0.710668 0.703498 uwb: 0.49904182 1210.21 1639.41 -imu_odom_: 1691062908.721842144 1.01514 -0.227449 9.9934 -0.0426106 -0.0340885 0.0298274 0.23 0 pose: 0.0 -6.21158 -3.16728 0 -0.00361478 -0.00541491 0.710668 0.703498 uwb: 0.0 1210.21 1639.41 -imu_odom_: 1691062908.748904029 0.766145 -0.19393 9.54089 -0.0532632 0.00852212 0.036219 0.18 0 pose: 0.42097594 -6.21158 -3.16728 0 -0.00353023 -0.00650897 0.71063 0.703527 uwb: 0.50087337 1212.4 1638.51 -imu_odom_: 1691062908.764831894 0.584185 -0.275333 9.58638 -0.0308927 0.0191748 0.0340885 0.18 0 pose: 0.0 -6.21158 -3.16728 0 -0.00353023 -0.00650897 0.71063 0.703527 uwb: 0.0 1212.4 1638.51 -imu_odom_: 1691062908.790706181 0.426168 -0.318429 10.3645 -0.0330232 -0.0298274 0.036219 0.24 0 pose: 0.49017566 -6.20803 -3.15793 0 -0.000109593-0.00951314 0.710535 0.703598 uwb: 0.49879683 1213.98 1637.74 -imu_odom_: 1691062908.814713327 0.586579 -0.131681 9.68694 -0.0490022 -0.0287621 0.0447411 0.24 0 pose: 0.0 -6.20803 -3.15793 0 -0.000109593-0.00951314 0.710535 0.703598 uwb: 0.0 1213.98 1637.74 -imu_odom_: 1691062908.838697724 0.272939 -0.225055 9.99579 -0.0436758 -0.0149137 0.0245011 0.18 -0.05 pose: 0.42872507 -6.21383 -3.14503 0 0.00272963 -0.00863356 0.710455 0.703684 uwb: 0.50286535 1212.34 1638.41 -imu_odom_: 1691062908.854752749 0.591368 0.0335188 10.4459 -0.0575243 -0.0308927 0.0330232 0.18 -0.05 pose: 0.0 -6.21383 -3.14503 0 0.00272963 -0.00863356 0.710455 0.703684 uwb: 0.0 1212.34 1638.41 -imu_odom_: 1691062908.871710721 0.414197 -0.363919 9.55287 -0.0585895 -0.0340885 0.0394148 0.18 0 pose: 0.50013842 -6.21027 -3.13568 0 0.00361022 -0.00604756 0.710444 0.703718 uwb: 0.0 1212.34 1638.41 -imu_odom_: 1691062908.896760223 0.387861 -0.225055 9.8282 -0.0500674 -0.0713727 0.0447411 0.18 0 pose: 0.0 -6.21027 -3.13568 0 0.00361022 -0.00604756 0.710444 0.703718 uwb: 0.49859851 1211.63 1638.15 -imu_odom_: 1691062908.922690215 0.620098 -0.275333 9.59117 -0.0628506 -0.0319579 0.0308927 0.2 0.02 pose: 0.74020696 -6.21297 -3.12395 0 0.00188192 -0.00325298 0.710383 0.703805 uwb: 0.0 1211.63 1638.15 -imu_odom_: 1691062908.947685179 0.565032 -0.253785 9.93594 -0.04048 -0.0308927 0.0372843 0.2 0.02 pose: 0.8346140 -6.21606 -3.12278 0 0.00235287 -0.00408411 0.710355 0.703828 uwb: 0.49965719 1205.88 1639.49 -imu_odom_: 1691062908.971743655 0.512359 -0.19393 10.1801 -0.0266316 -0.0287621 0.0500674 0.21 0.02 pose: 0.42578816 -6.2125 -3.11343 0 0.00527517 -0.0078927 0.710256 0.703879 uwb: 0.0 1205.88 1639.49 -imu_odom_: 1691062908.995843545 0.620098 -0.155623 10.3022 -0.0500674 0.00213053 0.0500674 0.21 0.02 pose: 0.0 -6.2125 -3.11343 0 0.00527517 -0.0078927 0.710256 0.703879 uwb: 0.50057298 1202.95 1639.93 -imu_odom_: 1691062909.13921161 0.395043 -0.462081 9.71328 -0.0490022 -0.00745685 0.0340885 0.18 0 pose: 0.31073526 -6.20894 -3.10409 0 0.00608109 -0.00543967 0.710373 0.703778 uwb: 0.0 1202.95 1639.93 -imu_odom_: 1691062909.37826521 0.517148 -0.258574 9.99819 -0.0468716 -0.0287621 0.056459 0.18 0 pose: 0.0 -6.20894 -3.10409 0 0.00608109 -0.00543967 0.710373 0.703778 uwb: 0.50005676 1197.85 1641.3 -imu_odom_: 1691062909.62743323 0.577003 -0.0742203 10.0078 -0.0553937 -0.0234358 0.0468716 0.2 0 pose: 0.41135734 -6.20894 -3.10409 0 0.00554423 -0.00572164 0.710442 0.70371 uwb: 0.0 1197.85 1641.3 -imu_odom_: 1691062909.88835764 0.703895 -0.392649 10.0269 -0.0713727 -0.00532632 0.0596548 0.25 0 pose: 0.42848884 -6.21473 -3.09118 0 0.00622996 -0.0046192 0.710609 0.703544 uwb: 0.49922265 1193.22 1642.22 -imu_odom_: 1691062909.105035739 0.186748 -0.351948 9.79228 -0.072438 0.0553937 0.036219 0.25 0 pose: 0.0 -6.21473 -3.09118 0 0.00622996 -0.0046192 0.710609 0.703544 uwb: 0.0 1193.22 1642.22 -imu_odom_: 1691062909.130676707 0.124498 -0.402226 9.78989 -0.0745685 -0.0117179 0.0660464 0.23 -0.02 pose: 0.6948554 -6.21473 -3.09118 0 0.00609551 -0.0053496 0.710659 0.703489 uwb: 0.0 1193.22 1642.22 -imu_odom_: 1691062909.155677503 0.347159 -0.402226 10.0556 -0.0607201 0.0319579 0.0340885 0.23 -0.02 pose: 0.0 -6.21473 -3.09118 0 0.00609551 -0.0053496 0.710659 0.703489 uwb: 0.50128752 1194.78 1641.31 -imu_odom_: 1691062909.179696607 0.521936 -0.287304 10.4651 -0.0703074 0.0266316 0.056459 0.21 0.02 pose: 0.42022640 -6.21117 -3.08184 0 0.00322622 -0.00612917 0.710857 0.703303 uwb: 0.0 1194.78 1641.31 -imu_odom_: 1691062909.194699360 0.56982 -0.270545 9.73961 -0.072438 -0.00958738 0.036219 0.21 0.02 pose: 0.0 -6.21117 -3.08184 0 0.00322622 -0.00612917 0.710857 0.703303 uwb: 0.49892516 1194.21 1641.46 -imu_odom_: 1691062909.221764162 0.459687 -0.1652 9.84735 -0.0862864 0.00106526 0.0585895 0.18 0.02 pose: 0.49999260 -6.20763 -3.07249 0 -0.00099434 -0.0052835 0.711038 0.703133 uwb: 0.0 1194.21 1641.46 -imu_odom_: 1691062909.246839912 0.514753 -0.263362 9.87608 -0.0639159 0.0628506 0.0372843 0.18 0.02 pose: 0.0 -6.20763 -3.07249 0 -0.00099434 -0.0052835 0.711038 0.703133 uwb: 0.49989344 1194.2 1641.41 -imu_odom_: 1691062909.271757589 0.557849 -0.371101 9.31584 -0.0916127 0.00639159 0.0500674 0.2 0 pose: 0.39996259 -6.21344 -3.05959 0 0.00171092 -0.00624098 0.711154 0.703007 uwb: 0.0 1194.2 1641.41 -imu_odom_: 1691062909.294821539 0.88346 -0.203507 9.66539 -0.0511327 0.00213053 0.0330232 0.2 0 pose: 0.0 -6.21344 -3.05959 0 0.00171092 -0.00624098 0.711154 0.703007 uwb: 0.49916723 1196.38 1640.55 -imu_odom_: 1691062909.310892314 0.842759 -0.366313 10.0844 -0.00426106 -0.04048 0.0191748 0.19 0 pose: 0.93111503 -6.2099 -3.05024 0 0.0027041 -0.0099629 0.711269 0.702844 uwb: 0.0 1196.38 1640.55 -imu_odom_: 1691062909.337829956 0.59855 0.0526724 10.3789 0.00106526 -0.0426106 -0.00639159 0.19 0 pose: 0.0 -6.2099 -3.05024 0 0.0027041 -0.0099629 0.711269 0.702844 uwb: 0.50079464 1194.16 1641.3 -imu_odom_: 1691062909.363696952 0.701501 -0.105345 9.22486 -0.0756338 -0.0245011 0.0458064 0.25 0 pose: 0.23920818 -6.20637 -3.04088 0 0.00489735 -0.0105446 0.711013 0.703083 uwb: 0.0 1194.16 1641.3 -imu_odom_: 1691062909.390939077 0.311246 -0.241814 10.0604 -0.0809601 0 0.0958738 0.23 -0.02 pose: 0.44954595 -6.2132 -3.03069 0 0.0093305 -0.0088577 0.710722 0.703356 uwb: 0.0 1194.16 1641.3 -imu_odom_: 1691062909.406834569 0.0694318 -0.837971 9.31584 -0.076699 0.0127832 0.0798948 0.23 -0.02 pose: 0.7265286 -6.21218 -3.02799 0 0.00868993 -0.00845352 0.710872 0.703217 uwb: 0.0 1194.16 1641.3 -imu_odom_: 1691062909.433797002 0.114922 -0.244209 9.34217 -0.0287621 0.0138484 0.0255663 0.23 -0.02 pose: 0.35872331 -6.21212 -3.02798 0 0.00512638 -0.00751538 0.711522 0.702605 uwb: 0.0 1194.16 1641.3 -imu_odom_: 1691062909.460054517 0.208296 -0.0143652 10.2065 -0.0490022 0.00958738 0.036219 0.23 -0.02 pose: 0.0 -6.21212 -3.02798 0 0.00512638 -0.00751538 0.711522 0.702605 uwb: 0.99885068 1188.99 1642.23 -imu_odom_: 1691062909.486719759 0.124498 -0.107739 9.98622 -0.076699 -0.0330232 0.052198 0.25 -0.02 pose: 0.53219948 -6.21517 -3.01612 0 0.00279412 -0.00240479 0.711383 0.702795 uwb: 0.50113004 1190.06 1641.72 -imu_odom_: 1691062909.511665142 0.146046 0.0526724 9.69891 -0.0543285 -0.0298274 0.0436758 0.25 -0.02 pose: 0.0 -6.21517 -3.01612 0 0.00279412 -0.00240479 0.711383 0.702795 uwb: 0.0 1190.06 1641.72 -imu_odom_: 1691062909.527805037 1.075 -0.0766145 10.4148 -0.052198 -0.0436758 0.0458064 0.22 0 pose: 0.34692317 -6.21437 -3.00577 0 0.00158935 0.000184996 0.711513 0.702671 uwb: 0.0 1190.06 1641.72 -imu_odom_: 1691062909.544710513 0.428562 -0.579397 9.22486 -0.0511327 0.0415453 0.0319579 0.22 0 pose: 0.0 -6.21437 -3.00577 0 0.00158935 0.000184996 0.711513 0.702671 uwb: 0.49843811 1184.42 1643.14 -imu_odom_: 1691062909.569656771 0.452504 -0.287304 9.88326 -0.0266316 0.0713727 0.04048 0.25 0 pose: 0.49963679 -6.21075 -2.99644 0 0.00170737 -0.0003342290.71153 0.702653 uwb: 0.0 1184.42 1643.14 -imu_odom_: 1691062909.583661498 0.371101 -0.397437 9.7444 -0.0649811 0.00852212 0.0617853 0.25 0 pose: 0.0 -6.21075 -2.99644 0 0.00170737 -0.0003342290.71153 0.702653 uwb: 0.0 1184.42 1643.14 -imu_odom_: 1691062909.607665436 0.529119 -0.122104 9.78031 -0.052198 0.036219 0.0330232 0.18 0 pose: 0.38950985 -6.20883 -2.99149 0 -0.00137928 -0.00216883 0.711651 0.702528 uwb: 0.50144210 1189.37 1641.34 -imu_odom_: 1691062909.624941015 0.308852 -0.169988 10.0963 -0.0681769 -0.02024 0.0511327 0.18 0 pose: 0.7050632 -6.20713 -2.98712 0 -0.000771338-0.00198623 0.711634 0.702547 uwb: 0.0 1189.37 1641.34 -imu_odom_: 1691062909.649683702 0.332794 -0.222661 9.97185 -0.0372843 -0.0319579 0.0298274 0.18 0 pose: 0.34228885 -6.21645 -2.9835 0 9.05869e-05 -0.00010853 0.711664 0.70252 uwb: 0.49980886 1193.21 1639.9 -imu_odom_: 1691062909.676783793 0.514753 -0.203507 9.44273 -0.0873517 -0.0191748 0.0511327 0.18 0 pose: 0.0 -6.21645 -2.9835 0 9.05869e-05 -0.00010853 0.711664 0.70252 uwb: 0.0 1193.21 1639.9 -imu_odom_: 1691062909.702873318 -0.150835 -0.229843 9.63666 -0.0639159 0.0191748 0.0490022 0.19 0 pose: 0.7821462 -6.21645 -2.9835 0 -0.0003949160.000353634 0.711637 0.702547 uwb: 0.49999260 1190.9 1640.32 -imu_odom_: 1691062909.729718216 0.6608 -0.469264 9.77792 -0.0820254 -0.0191748 0.0372843 0.19 0 pose: 0.0 -6.21645 -2.9835 0 -0.0003949160.000353634 0.711637 0.702547 uwb: 0.0 1190.9 1640.32 -imu_odom_: 1691062909.754670307 0.296881 -0.318429 10.2256 -0.0585895 -0.0372843 0.0447411 0.2 0 pose: 0.52077848 -6.21283 -2.97418 0 -0.000202961-0.0002414690.711717 0.702466 uwb: 0.0 1190.9 1640.32 -imu_odom_: 1691062909.770896822 1.06542 -0.289698 9.6223 -0.0585895 0.015979 0.036219 0.2 0 pose: 0.0 -6.21283 -2.97418 0 -0.000202961-0.0002414690.711717 0.702466 uwb: 0.0 1190.9 1640.32 -imu_odom_: 1691062909.796916934 0.646434 -0.126893 9.88566 -0.0458064 -0.0234358 0.0340885 0.19 0 pose: 0.52905257 -6.20931 -2.96482 0 -0.00223359 -0.00180963 0.711766 0.702411 uwb: 0.100021560 1188.62 1640.85 -imu_odom_: 1691062909.823766498 0.320823 -0.296881 10.058 -0.0468716 -0.00319579 0.0351537 0.23 0 pose: 0.42099053 -6.21515 -2.95194 0 -0.00167393 -0.00273676 0.711756 0.702419 uwb: 0.0 1188.62 1640.85 -imu_odom_: 1691062909.849704366 0.100556 -0.272939 10.1873 -0.0394148 0.0298274 0.0372843 0.19 0 pose: 0.23891361 -6.21515 -2.95194 0 -0.000415152-0.00280376 0.711712 0.702466 uwb: 0.49958429 1190.31 1640.4 -imu_odom_: 1691062909.876791916 0.272939 -0.203507 10.1945 -0.0298274 -0.00532632 0.0383495 0.22 0 pose: 0.28090825 -6.21162 -2.94258 0 -0.00277555 -0.00111289 0.711679 0.702498 uwb: 0.0 1190.31 1640.4 -imu_odom_: 1691062909.892777237 0.35913 -0.179565 10.0509 -0.0607201 -0.00106526 0.0500674 0.22 0 pose: 0.0 -6.21162 -2.94258 0 -0.00277555 -0.00111289 0.711679 0.702498 uwb: 0.50127003 1193.09 1639.49 -imu_odom_: 1691062909.919675798 0.672771 -0.517148 9.73961 -0.0468716 0.00958738 0.02024 0.23 0 pose: 0.25139039 -6.21162 -2.94258 0 -0.00411213 0.00124235 0.711663 0.702508 uwb: 0.0 1193.09 1639.49 -imu_odom_: 1691062909.944679511 0.371101 -0.574608 9.64863 -0.072438 -0.0127832 0.0415453 0.23 0 pose: 0.0 -6.21162 -2.94258 0 -0.00411213 0.00124235 0.711663 0.702508 uwb: 0.49808521 1185.74 1641.13 -imu_odom_: 1691062909.971922511 0.663194 -0.220267 10.0365 -0.0585895 -0.0703074 0.0468716 0.23 0 pose: 0.43711876 -6.21746 -2.9297 0 -0.00238202 0.00240292 0.711669 0.702506 uwb: 0.0 1185.74 1641.13 -imu_odom_: 1691062909.987802837 0.703895 -0.545878 9.94073 -0.0798948 0.0170442 0.0532632 0.23 0 pose: 0.0 -6.21746 -2.9297 0 -0.00238202 0.00240292 0.711669 0.702506 uwb: 0.50059631 1181.3 1642.59 -imu_odom_: 1691062910.13666917 0.59855 -0.31364 10.0868 -0.0415453 0.0415453 0.0234358 0.25 -0.02 pose: 0.51255395 -6.21393 -2.92034 0 -0.00332133 -0.00194756 0.711567 0.702607 uwb: 0.0 1181.3 1642.59 -imu_odom_: 1691062910.39661365 0.517148 -0.514753 9.91199 -0.0543285 -0.00852212 0.0468716 0.25 -0.02 pose: 0.0 -6.21393 -2.92034 0 -0.00332133 -0.00194756 0.711567 0.702607 uwb: 0.50035134 1178.46 1643.24 -imu_odom_: 1691062910.66644796 0.718261 -0.246603 10.4124 -0.0468716 -0.015979 0.0543285 0.23 0 pose: 0.41733615 -6.21041 -2.91098 0 -0.00107472 -0.00538805 0.711649 0.702514 uwb: 0.0 1178.46 1643.24 -imu_odom_: 1691062910.92734905 0.567426 -0.107739 10.3597 -0.0372843 0.0127832 0.0415453 0.18 -0.02 pose: 0.53145578 -6.21624 -2.8981 0 -0.000765755-0.00873542 0.711619 0.702511 uwb: 0.50015593 1171.12 1645.13 -imu_odom_: 1691062910.119652132 0.507571 -0.11971 10.2185 -0.0692422 -0.0191748 0.0607201 0.18 -0.02 pose: 0.0 -6.21624 -2.8981 0 -0.000765755-0.00873542 0.711619 0.702511 uwb: 0.0 1171.12 1645.13 -imu_odom_: 1691062910.135690533 0.411803 -0.146046 9.7444 -0.0575243 -0.0181095 0.0532632 0.2 0.02 pose: 0.27841757 -6.21624 -2.8981 0 0.00187257 -0.00867785 0.711711 0.702416 uwb: 0.50061674 1168.86 1645.63 -imu_odom_: 1691062910.162790917 0.665588 -0.399832 9.92875 -0.072438 -0.0308927 0.0617853 0.2 0.02 pose: 0.0 -6.21624 -2.8981 0 0.00187257 -0.00867785 0.711711 0.702416 uwb: 0.0 1168.86 1645.63 -imu_odom_: 1691062910.188778656 0.701501 -0.0933739 9.7444 -0.0447411 0.00319579 0.0340885 0.18 0.02 pose: 0.53058958 -6.21272 -2.88874 0 0.00436063 -0.00440016 0.711952 0.7022 uwb: 0.49883184 1165.96 1646.09 -imu_odom_: 1691062910.215703466 0.502782 -0.435745 9.31823 -0.0873517 -0.0106526 0.0511327 0.18 0.02 pose: 0.0 -6.21272 -2.88874 0 0.00436063 -0.00440016 0.711952 0.7022 uwb: 0.0 1165.96 1646.09 -imu_odom_: 1691062910.232664064 0.287304 -0.150835 10.0892 -0.0372843 -0.00958738 0.0383495 0.2 0.02 pose: 0.43207322 -6.2092 -2.87938 0 0.00484537 -0.00670152 0.712178 0.70195 uwb: 0.0 1165.96 1646.09 -imu_odom_: 1691062910.259767947 0.684742 -0.361524 10.501 -0.0756338 -0.02024 0.0681769 0.2 0.02 pose: 0.52933548 -6.21505 -2.86651 0 0.0037799 -0.0073428 0.712255 0.701872 uwb: 0.50008010 1167.13 1645.94 -imu_odom_: 1691062910.285775519 0.995988 -0.0933739 10.647 -0.0660464 0.0255663 0.0319579 0.25 -0.02 pose: 0.0 -6.21505 -2.86651 0 0.0037799 -0.0073428 0.712255 0.701872 uwb: 0.49981178 1167.63 1645.54 -imu_odom_: 1691062910.312675830 0.543484 -0.454898 9.92157 -0.0777643 0.0234358 0.0468716 0.23 0 pose: 0.61921610 -6.21155 -2.85714 0 0.00598677 -0.0101014 0.712416 0.701659 uwb: 0.0 1167.63 1645.54 -imu_odom_: 1691062910.338834477 0.454898 -0.438139 10.2137 -0.0681769 0.00426106 0.0532632 0.23 0 pose: 0.0 -6.21155 -2.85714 0 0.00598677 -0.0101014 0.712416 0.701659 uwb: 0.0 1167.63 1645.54 -imu_odom_: 1691062910.365826949 0.555455 -0.387861 10.0533 -0.052198 0.0191748 0.0351537 0.23 0.02 pose: 0.53058958 -6.21571 -2.84783 0 0.000209896 -0.0106761 0.712655 0.701433 uwb: 0.0 1167.63 1645.54 -imu_odom_: 1691062910.382607307 0.21069 -0.107739 10.2065 -0.0596548 0.00319579 0.0447411 0.23 0.02 pose: 0.0 -6.21571 -2.84783 0 0.000209896 -0.0106761 0.712655 0.701433 uwb: 0.0 1167.63 1645.54 -imu_odom_: 1691062910.406619412 0.608127 -0.277727 9.68933 -0.0426106 0.0138484 0.0426106 0.18 -0.05 pose: 0.43772830 -6.21539 -2.83907 0 -0.00199963 -0.0106903 0.712657 0.701428 uwb: 0.0 1167.63 1645.54 -imu_odom_: 1691062910.431688163 0.253785 -0.160412 9.63187 -0.0671117 -0.00106526 0.0575243 0.18 -0.05 pose: 0.0 -6.21539 -2.83907 0 -0.00199963 -0.0106903 0.712657 0.701428 uwb: 0.0 1167.63 1645.54 -imu_odom_: 1691062910.448621637 0.0981623 -0.378284 10.0604 -0.0426106 -0.0170442 0.0447411 0.23 0.02 pose: 0.49080856 -6.2138 -2.83493 0 -0.000336975-0.00778467 0.712845 0.701278 uwb: 0.149922828 1165.92 1645.91 -imu_odom_: 1691062910.474671498 0.416591 -0.0550666 10.2735 -0.056459 -0.0383495 0.0479369 0.23 0.02 pose: 0.0 -6.2138 -2.83493 0 -0.000336975-0.00778467 0.712845 0.701278 uwb: 0.0 1165.92 1645.91 -imu_odom_: 1691062910.501601558 0.852336 -0.0454898 10.0269 -0.0490022 -0.0234358 0.0426106 0.25 0 pose: 0.42983335 -6.21694 -2.82301 0 0.00017563 -0.00486262 0.712971 0.701177 uwb: 0.49946181 1165.24 1645.62 -imu_odom_: 1691062910.526674101 0.756568 0.0287304 10.3669 -0.0575243 0.015979 0.0543285 0.18 0.02 pose: 0.0 -6.21694 -2.82301 0 0.00017563 -0.00486262 0.712971 0.701177 uwb: 0.0 1165.24 1645.62 -imu_odom_: 1691062910.543708486 0.0909797 -0.378284 9.73961 -0.056459 -0.0245011 0.0372843 0.21 0 pose: 0.35025673 -6.21597 -2.81267 0 0.0037915 -0.00543431 0.713023 0.70111 uwb: 0.50241913 1169.2 1644.65 -imu_odom_: 1691062910.568660869 0.351948 -0.265756 9.63906 -0.0692422 -0.0490022 0.0543285 0.21 0 pose: 0.0 -6.21597 -2.81267 0 0.0037915 -0.00543431 0.713023 0.70111 uwb: 0.0 1169.2 1644.65 -imu_odom_: 1691062910.595606386 0.42138 0 10.0341 -0.0447411 0.0319579 0.0319579 0.23 0 pose: 0.58963698 -6.21342 -2.80604 0 0.00203449 -0.0038101 0.713233 0.700913 uwb: 0.50007135 1169.69 1644.23 -imu_odom_: 1691062910.621600250 0.308852 -0.538695 9.30147 -0.0500674 0.0490022 0.0394148 0.19 0 pose: 0.6955262 -6.21239 -2.80333 0 0.00231527 -0.00309125 0.713214 0.700935 uwb: 0.0 1169.69 1644.23 -imu_odom_: 1691062910.647611613 0.117316 -0.311246 9.81383 -0.0213053 0.0266316 0.0447411 0.25 0 pose: 0.45984119 -6.21653 -2.79405 0 0.000276186 -0.00148864 0.713163 0.700996 uwb: 0.0 1169.69 1644.23 -imu_odom_: 1691062910.663715344 0.442927 -0.488417 9.64145 -0.0585895 -0.0191748 0.052198 0.25 0 pose: 0.0 -6.21653 -2.79405 0 0.000276186 -0.00148864 0.713163 0.700996 uwb: 0.0 1169.69 1644.23 -imu_odom_: 1691062910.690616531 0.275333 -0.0454898 10.2161 -0.0330232 -0.0138484 0.0436758 0.17 0 pose: 0.33044788 -6.21815 -2.79042 0 -0.00226223 -0.0002486610.713242 0.700914 uwb: 0.99907235 1169.13 1644.4 -imu_odom_: 1691062910.715595162 0.64404 -0.217872 10.0437 -0.072438 -0.02024 0.0468716 0.18 0.02 pose: 0.35971493 -6.21457 -2.78108 0 -0.00147069 0.00156138 0.713324 0.700831 uwb: 0.0 1169.13 1644.4 -imu_odom_: 1691062910.742683004 0.347159 -0.155623 10.0197 -0.0841559 -0.00639159 0.0596548 0.18 0.02 pose: 0.8130902 -6.21457 -2.78108 0 -0.0009018980.000885642 0.713346 0.700811 uwb: 0.50098130 1166.79 1644.67 -imu_odom_: 1691062910.758688741 0.308852 -0.399832 9.96946 -0.072438 0.0138484 0.0447411 0.19 0 pose: 0.0 -6.21457 -2.78108 0 -0.0009018980.000885642 0.713346 0.700811 uwb: 0.0 1166.79 1644.67 -imu_odom_: 1691062910.785660507 0.646434 -0.205901 9.86172 -0.0756338 -0.00639159 0.052198 0.19 0 pose: 0.43935571 -6.21203 -2.77445 0 -9.64484e-050.00189543 0.713578 0.700573 uwb: 0.49827771 1159.34 1646.11 -imu_odom_: 1691062910.810600640 0.679953 -0.459687 9.93354 -0.0649811 0.0330232 0.0330232 0.18 -0.02 pose: 0.42977503 -6.21779 -2.76149 0 0.000150618 -0.0008462730.713726 0.700425 uwb: 0.0 1159.34 1646.11 -imu_odom_: 1691062910.837598946 0.177171 -0.102951 10.1634 -0.072438 0.00958738 0.052198 0.18 -0.02 pose: 0.0 -6.21779 -2.76149 0 0.000150618 -0.0008462730.713726 0.700425 uwb: 0.49933639 1153.06 1647.39 -imu_odom_: 1691062910.862597702 0.289698 -0.282516 10.1083 -0.0468716 0.0458064 0.0298274 0.19 0 pose: 0.32008264 -6.21677 -2.75883 0 -0.000363755-0.00242436 0.713698 0.700449 uwb: 0.0 1153.06 1647.39 -imu_odom_: 1691062910.888639688 0.253785 -0.469264 9.34217 -0.0490022 -0.0117179 0.0319579 0.21 -0.02 pose: 0.0 -6.21677 -2.75883 0 -0.000363755-0.00242436 0.713698 0.700449 uwb: 0.50186208 1153.62 1647.23 -imu_odom_: 1691062910.905133938 0.526724 -0.241814 9.96227 -0.0372843 -0.0298274 0.0340885 0.21 -0.02 pose: 0.44928931 -6.21316 -2.74948 0 -0.00380479 0.000896585 0.713699 0.700442 uwb: 0.0 1153.62 1647.23 -imu_odom_: 1691062910.931624481 0.337582 -0.263362 9.64384 -0.0639159 -0.00745685 0.0479369 0.23 0 pose: 0.0 -6.21316 -2.74948 0 -0.00380479 0.000896585 0.713699 0.700442 uwb: 0.0 1153.62 1647.23 -imu_odom_: 1691062910.957731797 0.246603 -0.160412 9.97185 -0.0511327 0.00852212 0.0468716 0.23 0 pose: 0.49201598 -6.21912 -2.73664 0 -0.00432428 -0.0003498080.71361 0.700529 uwb: 0.49636740 1151.93 1647.68 -imu_odom_: 1691062910.984788725 0.653617 -0.387861 9.91918 -0.0735032 -0.00106526 0.036219 0.25 -0.02 pose: 0.45932497 -6.21661 -2.72988 0 -0.00409118 0.00430517 0.713743 0.700383 uwb: 0.50316576 1148.99 1647.86 -imu_odom_: 1691062911.10642306 0.380678 -0.454898 10.1442 -0.0628506 -0.0117179 0.0458064 0.25 -0.02 pose: 0.0 -6.21661 -2.72988 0 -0.00409118 0.00430517 0.713743 0.700383 uwb: 0.0 1148.99 1647.86 -imu_odom_: 1691062911.27597362 0.754174 -0.289698 9.75637 -0.0809601 -0.0223706 0.0436758 0.25 -0.02 pose: 0.7020592 -6.21564 -2.72726 0 -0.00390654 0.00360659 0.713736 0.700394 uwb: 0.0 1148.99 1647.86 -imu_odom_: 1691062911.52662614 0.964863 -0.277727 9.55526 -0.0660464 -0.0298274 0.0479369 0.25 -0.02 pose: 0.0 -6.21564 -2.72726 0 -0.00390654 0.00360659 0.713736 0.700394 uwb: 0.49919932 1145.48 1648.17 -imu_odom_: 1691062911.79581883 0.203507 -0.493206 9.67257 -0.0372843 0.0138484 0.0287621 0.21 0.02 pose: 0.52869969 -6.21217 -2.71788 0 -0.00426181 -0.00132231 0.713771 0.700364 uwb: 0.0 1145.48 1648.17 -imu_odom_: 1691062911.105598788 0.299275 -0.263362 9.71806 -0.0415453 -0.0351537 0.0458064 0.18 -0.02 pose: 0.61959525 -6.21908 -2.70773 0 -0.00430208 -0.0036788 0.713752 0.700375 uwb: 0.50015010 1147.15 1647.77 -imu_odom_: 1691062911.132718712 0.579397 -0.373495 9.58878 -0.0319579 0.00213053 0.0490022 0.23 0.02 pose: 0.8024450 -6.21809 -2.70503 0 -0.00435947 -0.00294438 0.713775 0.700356 uwb: 0.0 1147.15 1647.77 -imu_odom_: 1691062911.157720676 0.543484 -0.047884 9.82102 -0.04048 -0.00106526 0.0468716 0.19 0 pose: 0.25132040 -6.21809 -2.70503 0 -0.00414263 -0.00186822 0.713845 0.700289 uwb: 0.49980304 1148.32 1647.67 -imu_odom_: 1691062911.174722979 0.296881 -0.227449 9.89763 -0.036219 0.00106526 0.0436758 0.19 0 pose: 0.0 -6.21809 -2.70503 0 -0.00414263 -0.00186822 0.713845 0.700289 uwb: 0.0 1148.32 1647.67 -imu_odom_: 1691062911.200590560 0.304064 -0.526724 9.81623 -0.0703074 0.00532632 0.0553937 0.18 0 pose: 0.27880546 -6.21462 -2.69565 0 -0.00238984 -0.00317598 0.713924 0.700212 uwb: 0.50029593 1153.44 1646.55 -imu_odom_: 1691062911.227639321 0.612916 -0.289698 10.319 -0.0575243 -0.036219 0.0703074 0.18 0 pose: 0.0 -6.21462 -2.69565 0 -0.00238984 -0.00317598 0.713924 0.700212 uwb: 0.0 1153.44 1646.55 -imu_odom_: 1691062911.252638368 0.648829 -0.146046 10.2472 -0.0735032 -0.0319579 0.0436758 0.18 0 pose: 0.42042766 -6.21116 -2.68627 0 -0.00227744 -0.00133718 0.714039 0.700101 uwb: 0.50036884 1159.04 1645 -imu_odom_: 1691062911.269775123 0.289698 -0.234632 9.89284 -0.0543285 0.0106526 0.0372843 0.18 0 pose: 0.0 -6.21116 -2.68627 0 -0.00227744 -0.00133718 0.714039 0.700101 uwb: 0.0 1159.04 1645 -imu_odom_: 1691062911.294757254 0.373495 -0.483629 9.53132 -0.0681769 -0.0127832 0.0447411 0.18 0 pose: 0.52939090 -6.21708 -2.67343 0 -0.000875554-0.00453281 0.714426 0.699695 uwb: 0.49993720 1162.92 1643.86 -imu_odom_: 1691062911.321631901 0.459687 -0.275333 9.91439 -0.0543285 -0.0447411 0.052198 0.18 0 pose: 0.0 -6.21708 -2.67343 0 -0.000875554-0.00453281 0.714426 0.699695 uwb: 0.0 1162.92 1643.86 -imu_odom_: 1691062911.337737090 0.514753 -0.174777 9.63187 -0.0681769 -0.0255663 0.0596548 0.2 -0.02 pose: 0.42141051 -6.21708 -2.67343 0 -0.000902305-0.00395558 0.714452 0.699672 uwb: 0.49932474 1167.37 1642.53 -imu_odom_: 1691062911.364634486 0.332794 -0.21069 10.1179 -0.0649811 0.00106526 0.0447411 0.2 -0.02 pose: 0.0 -6.21708 -2.67343 0 -0.000902305-0.00395558 0.714452 0.699672 uwb: 0.0 1167.37 1642.53 -imu_odom_: 1691062911.389595910 0.179565 -0.691924 9.74679 -0.0671117 0.0511327 0.0415453 0.23 0.05 pose: 0.51872236 -6.21363 -2.66404 0 0.00132472 -0.00434828 0.714652 0.699466 uwb: 0.49830396 1165.59 1642.58 -imu_odom_: 1691062911.416577884 0.275333 -0.418985 10.2663 -0.0649811 -0.0191748 0.0500674 0.21 0.02 pose: 0.59981848 -6.21948 -2.65124 0 -0.00251435 -0.00228057 0.714779 0.699343 uwb: 0.0 1165.59 1642.58 -imu_odom_: 1691062911.441543975 0.335188 -0.354342 10.0437 -0.0308927 0.0234358 0.0340885 0.21 0.02 pose: 0.0 -6.21948 -2.65124 0 -0.00251435 -0.00228057 0.714779 0.699343 uwb: 0.49935390 1165.54 1642.42 -imu_odom_: 1691062911.468764226 0.61531 -0.222661 10.2161 -0.0596548 -0.00106526 0.0511327 0.23 0 pose: 0.8104946 -6.21948 -2.65124 0 -0.00330851 -0.00239666 0.714808 0.699309 uwb: 0.0 1165.54 1642.42 -imu_odom_: 1691062911.484649220 0.246603 -0.0885855 9.74201 -0.0383495 -0.00213053 0.0415453 0.23 0 pose: 0.0 -6.21948 -2.65124 0 -0.00330851 -0.00239666 0.714808 0.699309 uwb: 0.0 1165.54 1642.42 -imu_odom_: 1691062911.511539324 0.459687 -0.232238 10.2041 -0.0585895 -0.0298274 0.0500674 0.23 0 pose: 0.50903958 -6.21595 -2.64189 0 -0.00704636 -0.00242056 0.714848 0.699241 uwb: 0.50029301 1167.21 1641.92 -imu_odom_: 1691062911.536581827 0.222661 -0.579397 9.70131 -0.0298274 -0.00106526 0.0234358 0.23 0 pose: 0.0 -6.21595 -2.64189 0 -0.00704636 -0.00242056 0.714848 0.699241 uwb: 0.50071591 1168.94 1641.63 -imu_odom_: 1691062911.563618340 0.395043 -0.248997 9.77792 -0.04048 -0.0298274 0.0479369 0.23 0 pose: 0.42980711 -6.22177 -2.629 0 -0.00393585 -0.00167956 0.714976 0.699136 uwb: 0.0 1168.94 1641.63 -imu_odom_: 1691062911.579559038 0.418985 -0.277727 10.0102 -0.0426106 0.0500674 0.0383495 0.23 0 pose: 0.0 -6.22177 -2.629 0 -0.00393585 -0.00167956 0.714976 0.699136 uwb: 0.0 1168.94 1641.63 -imu_odom_: 1691062911.606701128 0.675165 -0.562637 9.83777 -0.0830906 0.0308927 0.0596548 0.2 0 pose: 0.52143179 -6.21824 -2.61964 0 -0.0033397 -0.0022505 0.71493 0.699185 uwb: 0.50065757 1163.76 1642.42 -imu_odom_: 1691062911.631615013 0.201113 -0.502782 9.71806 -0.0490022 0.0223706 0.036219 0.18 0 pose: 0.62972424 -6.21471 -2.61029 0 -0.00257767 -0.00507648 0.71516 0.698938 uwb: 0.0 1163.76 1642.42 -imu_odom_: 1691062911.658702273 0.761356 -0.344765 10.0006 -0.0585895 -0.00426106 0.0372843 0.18 0 pose: 0.0 -6.21471 -2.61029 0 -0.00257767 -0.00507648 0.71516 0.698938 uwb: 0.50190583 1161.02 1643.35 -imu_odom_: 1691062911.674813295 0.184354 -0.241814 9.47146 -0.0532632 0.0490022 0.0340885 0.2 0 pose: 0.8055657 -6.21471 -2.61029 0 -0.00343702 -0.00489514 0.715152 0.698943 uwb: 0.0 1161.02 1643.35 -imu_odom_: 1691062911.701807518 0.292093 -0.25618 9.90002 -0.0500674 -0.0436758 0.0287621 0.2 0 pose: 0.0 -6.21471 -2.61029 0 -0.00343702 -0.00489514 0.715152 0.698943 uwb: 0.49994887 1155.89 1644.3 -imu_odom_: 1691062911.726815606 0.0670376 -0.117316 10.24 -0.04048 -0.00745685 0.0468716 0.18 0 pose: 0.51927649 -6.22054 -2.5974 0 -0.00376977 -0.00552618 0.715087 0.699004 uwb: 0.0 1155.89 1644.3 -imu_odom_: 1691062911.753624632 0.447716 -0.100556 10.228 -0.0436758 -0.02024 0.0330232 0.18 0 pose: 0.0 -6.22054 -2.5974 0 -0.00376977 -0.00552618 0.715087 0.699004 uwb: 0.50006261 1154.19 1644.68 -imu_odom_: 1691062911.778786711 0.399832 -0.198719 10.1323 -0.0628506 -0.0330232 0.056459 0.19 0 pose: 0.42913048 -6.21701 -2.58805 0 -0.00444049 -0.0014968 0.715013 0.699095 uwb: 0.0 1154.19 1644.68 -imu_odom_: 1691062911.805613528 0.845153 -0.244209 9.99579 -0.0553937 0.0234358 0.0351537 0.23 -0.02 pose: 0.52018061 -6.21348 -2.57869 0 -0.0009939830.000647963 0.715059 0.699063 uwb: 0.49829813 1153.66 1644.93 -imu_odom_: 1691062911.830690737 0.457293 -0.399832 9.75158 -0.0830906 0.0149137 0.0511327 0.23 -0.02 pose: 0.0 -6.21348 -2.57869 0 -0.0009939830.000647963 0.715059 0.699063 uwb: 0.0 1153.66 1644.93 -imu_odom_: 1691062911.857734249 0.4956 -0.347159 9.72525 -0.0756338 -0.0276969 0.0479369 0.23 -0.02 pose: 0.69075194 -6.21927 -2.5658 0 0.000158349 -0.00335855 0.715224 0.698888 uwb: 0.50079173 1156.52 1644.44 -imu_odom_: 1691062911.873620992 0.287304 -0.519542 10.2544 -0.0596548 0.0245011 0.056459 0.23 -0.02 pose: 0.6884975 -6.21931 -2.5658 0 -3.74585e-05-0.00412233 0.715242 0.698865 uwb: 0.0 1156.52 1644.44 -imu_odom_: 1691062911.900547261 0.538695 -0.0766145 10.0963 -0.056459 0.00106526 0.0383495 0.23 0 pose: 0.0 -6.21931 -2.5658 0 -3.74585e-05-0.00412233 0.715242 0.698865 uwb: 0.49997803 1157.05 1644.19 -imu_odom_: 1691062911.926546959 0.198719 -0.517148 9.45231 -0.0660464 0.0234358 0.0415453 0.23 0 pose: 0.43166783 -6.21588 -2.55641 0 -0.00177657 -0.00592257 0.71539 0.698698 uwb: 0.0 1157.05 1644.19 -imu_odom_: 1691062911.953688465 0.1652 -0.593762 10.3477 -0.0511327 0.00213053 0.0266316 0.25 -0.02 pose: 0.45804464 -6.22283 -2.54627 0 -0.00302582 -0.00466697 0.715403 0.69869 uwb: 0.49936557 1152.39 1644.58 -imu_odom_: 1691062911.969666203 0.737414 -0.0814029 10.0173 -0.0543285 -0.0436758 0.0266316 0.25 -0.02 pose: 0.7138418 -6.22185 -2.54359 0 -0.00374561 -0.00465857 0.715371 0.698719 uwb: 0.0 1152.39 1644.58 -imu_odom_: 1691062911.996672384 0.588974 -0.260968 10.2903 -0.056459 -0.0170442 0.0543285 0.25 0 pose: 0.35980826 -6.22001 -2.53854 0 -0.00393994 -0.00501572 0.715209 0.698882 uwb: 0.49895142 1147.27 1645.53 -imu_odom_: 1691062912.22677914 0.342371 -0.172383 10.2544 -0.0415453 0.0287621 0.0308927 0.19 0 pose: 0.0 -6.22001 -2.53854 0 -0.00393994 -0.00501572 0.715209 0.698882 uwb: 0.0 1147.27 1645.53 -imu_odom_: 1691062912.47651297 0.799663 -0.454898 9.85693 -0.0713727 -0.0394148 0.0543285 0.23 0 pose: 0.53011711 -6.21595 -2.52739 0 -0.00129122 -0.00298554 0.715269 0.698841 uwb: 0.50003345 1150.66 1644.79 -imu_odom_: 1691062912.70539384 0.830788 -0.339977 9.69412 -0.0458064 -0.0149137 0.0191748 0.2 0 pose: 0.0 -6.21595 -2.52739 0 -0.00129122 -0.00298554 0.715269 0.698841 uwb: 0.0 1150.66 1644.79 -imu_odom_: 1691062912.86663530 0.265756 -0.196325 9.79947 -0.0500674 -0.0266316 0.0468716 0.2 0 pose: 0.30918663 -6.22439 -2.52138 0 0.000146102 -0.00625107 0.715341 0.698748 uwb: 0.0 1150.66 1644.79 -imu_odom_: 1691062912.113716959 0.545878 -0.134075 10.4459 -0.0553937 -0.00958738 0.0351537 0.25 0 pose: 0.0 -6.22439 -2.52138 0 0.000146102 -0.00625107 0.715341 0.698748 uwb: 0.0 1150.66 1644.79 -imu_odom_: 1691062912.139551291 1.23301 -0.320823 10.2544 -0.0841559 -0.0117179 0.0553937 0.25 0 pose: 0.41076821 -6.22097 -2.51198 0 0.00154617 -0.00578988 0.715246 0.698847 uwb: 0.99990941 1153.47 1644.16 -imu_odom_: 1691062912.166668882 0.368707 -0.299275 10.2352 -0.0276969 0.00319579 0.0276969 0.25 0.02 pose: 0.44877893 -6.2186 -2.5055 0 0.00465219 -0.00717514 0.715336 0.698729 uwb: 0.0 1153.47 1644.16 -imu_odom_: 1691062912.182702618 0.708684 -0.258574 9.61033 -0.0415453 -0.0319579 0.0447411 0.25 0.02 pose: 0.0 -6.2186 -2.5055 0 0.00465219 -0.00717514 0.715336 0.698729 uwb: 0.0 1153.47 1644.16 -imu_odom_: 1691062912.199510391 0.497994 -0.0861913 9.94551 -0.0245011 0 0.0415453 0.25 0.02 pose: 0.0 -6.2186 -2.5055 0 0.00465219 -0.00717514 0.715336 0.698729 uwb: 0.50005678 1153.33 1643.54 -imu_odom_: 1691062912.224578851 0.28491 -0.213084 9.96946 -0.0468716 0.00958738 0.0532632 0.23 -0.02 pose: 0.8002577 -6.21754 -2.50259 0 0.00402561 -0.00665772 0.71531 0.698764 uwb: 0.0 1153.33 1643.54 -imu_odom_: 1691062912.251636654 0.567426 -0.191536 9.80426 -0.0372843 -0.00426106 0.0394148 0.23 0 pose: 0.42984211 -6.21754 -2.50259 0 0.00432466 -0.00584655 0.715269 0.698811 uwb: 0.0 1153.33 1643.54 -imu_odom_: 1691062912.277510360 0.363919 -0.474052 9.70849 -0.0649811 0 0.0585895 0.23 0 pose: 0.0 -6.21754 -2.50259 0 0.00432466 -0.00584655 0.715269 0.698811 uwb: 0.0 1153.33 1643.54 -imu_odom_: 1691062912.294561952 0.433351 -0.0909797 10.2232 -0.0553937 0.00958738 0.04048 0.25 -0.02 pose: 0.41103362 -6.22351 -2.48976 0 0.00367724 -0.00324835 0.715402 0.698696 uwb: 0.0 1153.33 1643.54 -imu_odom_: 1691062912.310565356 0.100556 -0.246603 9.71806 -0.0756338 -0.015979 0.0649811 0.25 -0.02 pose: 0.0 -6.22351 -2.48976 0 0.00367724 -0.00324835 0.715402 0.698696 uwb: 0.0 1153.33 1643.54 -imu_odom_: 1691062912.337561329 0.332794 -0.407014 9.79228 -0.0468716 0.0298274 0.0340885 0.23 0 pose: 0.52932675 -6.22008 -2.48037 0 0.00309032 -0.00405268 0.71558 0.698512 uwb: 0.149904458 1151.57 1643.64 -imu_odom_: 1691062912.362630373 -0.0407014 -0.344765 9.68215 -0.0692422 0.00319579 0.056459 0.23 0 pose: 0.0 -6.22008 -2.48037 0 0.00309032 -0.00405268 0.71558 0.698512 uwb: 0.0 1151.57 1643.64 -imu_odom_: 1691062912.379693632 0.68953 0.0574608 10.1897 -0.04048 -0.0170442 0.0351537 0.21 0 pose: 0.33008041 -6.21666 -2.47097 0 0.00128791 -0.00225187 0.715717 0.698386 uwb: 0.0 1151.57 1643.64 -imu_odom_: 1691062912.395524087 0.160412 -0.265756 9.31584 -0.0585895 -0.0138484 0.0500674 0.21 0 pose: 0.0 -6.21666 -2.47097 0 0.00128791 -0.00225187 0.715717 0.698386 uwb: 0.50067508 1152.14 1643.53 -imu_odom_: 1691062912.422577807 0.418985 -0.272939 9.59117 -0.0649811 -0.0106526 0.0436758 0.23 0 pose: 0.52049559 -6.22265 -2.45816 0 -0.0023594 -0.0009900150.715823 0.698278 uwb: 0.0 1152.14 1643.53 -imu_odom_: 1691062912.447502775 0.351948 -0.160412 10.082 -0.076699 -0.0106526 0.0394148 0.23 0 pose: 0.0 -6.22265 -2.45816 0 -0.0023594 -0.0009900150.715823 0.698278 uwb: 0.50259996 1151.6 1643.76 -imu_odom_: 1691062912.464548535 0.711078 -0.316035 10.1538 -0.0809601 0.0543285 0.0468716 0.21 0 pose: 0.77871059 -6.21923 -2.44876 0 -0.00113681 -0.0005861860.715903 0.698199 uwb: 0.0 1151.6 1643.76 -imu_odom_: 1691062912.489634786 1.09176 -0.186748 10.0413 -0.056459 -0.0245011 0.0458064 0.21 0 pose: 0.7057049 -6.21923 -2.44876 0 -0.000973306-0.00110548 0.71592 0.698181 uwb: 0.49891935 1149.34 1644.26 -imu_odom_: 1691062912.516507100 0.59855 -0.332794 9.87848 -0.056459 0.0308927 0.0372843 0.21 0 pose: 0.35074962 -6.22357 -2.43947 0 0.00138805 -0.00360296 0.715991 0.698099 uwb: 0.0 1149.34 1644.26 -imu_odom_: 1691062912.542511756 0.521936 -0.301669 10.1921 -0.0575243 0.00426106 0.0500674 0.21 0 pose: 0.0 -6.22357 -2.43947 0 0.00138805 -0.00360296 0.715991 0.698099 uwb: 0.49932474 1146.57 1645.11 -imu_odom_: 1691062912.569515895 0.557849 -0.134075 10.2879 -0.0234358 0.00213053 0.036219 0.25 0 pose: 0.52876970 -6.22277 -2.42918 0 0.000763215 -0.00836529 0.716051 0.697998 uwb: 0.0 1146.57 1645.11 -imu_odom_: 1691062912.585632459 0.663194 -0.0694318 9.82102 -0.0703074 0 0.0532632 0.25 0 pose: 0.0 -6.22277 -2.42918 0 0.000763215 -0.00836529 0.716051 0.697998 uwb: 0.0 1146.57 1645.11 -imu_odom_: 1691062912.602644387 0.23942 -0.332794 10.0341 -0.0372843 -0.00639159 0.0351537 0.18 0.02 pose: 0.35136792 -6.22182 -2.42654 0 0.00386481 -0.00619337 0.716048 0.698013 uwb: 0.0 1146.57 1645.11 -imu_odom_: 1691062912.627637894 0.378284 -0.1652 10.2711 -0.0596548 -0.0245011 0.0479369 0.18 0.02 pose: 0.0 -6.22182 -2.42654 0 0.00386481 -0.00619337 0.716048 0.698013 uwb: 0.0 1146.57 1645.11 -imu_odom_: 1691062912.654527706 0.701501 -0.220267 10.3932 -0.0479369 -0.0213053 0.04048 0.2 0 pose: 0.33069870 -6.21831 -2.41718 0 0.00301104 -0.00448676 0.716092 0.697985 uwb: 0.99903446 1144.3 1645.53 -imu_odom_: 1691062912.670526152 0.529119 -0.198719 10.003 -0.0649811 0.02024 0.0532632 0.2 0 pose: 0.0 -6.21831 -2.41718 0 0.00301104 -0.00448676 0.716092 0.697985 uwb: 0.0 1144.3 1645.53 -imu_odom_: 1691062912.697518625 0.203507 -0.426168 9.50259 -0.0585895 -0.00213053 0.0394148 0.18 -0.02 pose: 0.51763743 -6.22418 -2.40431 0 0.00492339 -0.00416701 0.716177 0.697888 uwb: 0.50108339 1145.44 1645.32 -imu_odom_: 1691062912.722522048 0.378284 -0.203507 9.92636 -0.0649811 0 0.0532632 0.18 0 pose: 0.35036464 -6.22418 -2.40431 0 0.00233681 -0.00301566 0.716225 0.697859 uwb: 0.0 1145.44 1645.32 -imu_odom_: 1691062912.749528229 0.462081 -0.0502782 10.2256 -0.04048 0.015979 0.0330232 0.18 0 pose: 0.0 -6.22418 -2.40431 0 0.00233681 -0.00301566 0.716225 0.697859 uwb: 0.49999845 1139.19 1646.48 -imu_odom_: 1691062912.775574007 0.581791 -0.574608 9.50259 -0.0532632 0.0149137 0.0394148 0.18 0.02 pose: 0.8120987 -6.22418 -2.40431 0 0.00184878 -0.00235432 0.716266 0.697821 uwb: 0.0 1139.19 1646.48 -imu_odom_: 1691062912.792631433 0.304064 -0.368707 9.75877 -0.0330232 0.0106526 0.0308927 0.18 0.02 pose: 0.0 -6.22418 -2.40431 0 0.00184878 -0.00235432 0.716266 0.697821 uwb: 0.0 1139.19 1646.48 -imu_odom_: 1691062912.818635797 0.773327 -0.667982 10.2352 -0.0617853 -0.0681769 0.0575243 0.18 -0.02 pose: 0.51994729 -6.22069 -2.39494 0 0.00262475 0.000209662 0.716283 0.697804 uwb: 0.0 1139.19 1646.48 -imu_odom_: 1691062912.845507819 1.03669 0.0023942 9.56723 -0.0394148 0.036219 0.0490022 0.18 -0.02 pose: 0.0 -6.22069 -2.39494 0 0.00262475 0.000209662 0.716283 0.697804 uwb: 0.100006399 1138.67 1646.83 -imu_odom_: 1691062912.861797331 1.26653 -0.390255 9.78031 -0.0905475 0.00213053 0.0639159 0.18 0 pose: 0.42943672 -6.22656 -2.38208 0 0.000205277 -0.00218636 0.716287 0.697803 uwb: 0.0 1138.67 1646.83 -imu_odom_: 1691062912.888574567 0.378284 -0.351948 9.90721 -0.0532632 0.0436758 0.0255663 0.18 0 pose: 0.0 -6.22656 -2.38208 0 0.000205277 -0.00218636 0.716287 0.697803 uwb: 0.49870061 1139.15 1646.3 -imu_odom_: 1691062912.913559324 0.244209 -0.378284 9.84256 -0.0809601 0.00319579 0.0543285 0.19 -0.02 pose: 0.53140621 -6.22307 -2.37271 0 0.0030635 -0.00552098 0.716537 0.697521 uwb: 0.0 1139.15 1646.3 -imu_odom_: 1691062912.940613044 0.52433 -0.196325 9.75398 -0.0660464 -0.0266316 0.0415453 0.23 0.02 pose: 0.42901674 -6.21967 -2.3633 0 -0.000481451-0.00494878 0.716532 0.697537 uwb: 0.50100172 1139.17 1646.41 -imu_odom_: 1691062912.965730793 0.414197 -0.416591 9.52653 -0.072438 0.0106526 0.0383495 0.2 -0.02 pose: 0.23942693 -6.22908 -2.35991 0 -0.00152178 -0.00444069 0.716628 0.69744 uwb: 0.0 1139.17 1646.41 -imu_odom_: 1691062912.991521087 0.244209 -0.222661 10.4579 -0.0639159 0.00852212 0.0426106 0.23 -0.02 pose: 0.28080618 -6.22569 -2.3505 0 -0.000255038-0.00483194 0.716634 0.697432 uwb: 0.50098423 1138.59 1646.46 -imu_odom_: 1691062913.16611421 0.481235 -0.234632 10.1323 -0.0479369 0.0138484 0.0287621 0.23 -0.02 pose: 0.0 -6.22569 -2.3505 0 -0.000255038-0.00483194 0.716634 0.697432 uwb: 0.0 1138.59 1646.46 -imu_odom_: 1691062913.33892834 0.418985 -0.507571 9.53611 -0.0575243 -0.00639159 0.0319579 0.19 0 pose: 0.23870072 -6.22569 -2.3505 0 -0.00227236 -0.00493232 0.716638 0.697424 uwb: 0.0 1138.59 1646.46 -imu_odom_: 1691062913.58517112 0.138864 -0.344765 10.2855 -0.0415453 -0.00532632 0.0351537 0.19 0 pose: 0.0 -6.22569 -2.3505 0 -0.00227236 -0.00493232 0.716638 0.697424 uwb: 0.49752235 1139.64 1645.85 -imu_odom_: 1691062913.85609621 0.656011 -0.117316 9.95748 -0.0532632 -0.0340885 0.0436758 0.2 0 pose: 0.51250439 -6.22229 -2.34109 0 -0.00117535 -0.00353586 0.716549 0.697527 uwb: 0.50018512 1138.42 1645.64 -imu_odom_: 1691062913.101475075 0.787692 -0.198719 10.1083 -0.04048 -0.0234358 0.0276969 0.2 0 pose: 0.0 -6.22229 -2.34109 0 -0.00117535 -0.00353586 0.716549 0.697527 uwb: 0.0 1138.42 1645.64 -imu_odom_: 1691062913.128522087 0.758962 -0.474052 9.74201 -0.0756338 -0.0479369 0.0490022 0.25 0 pose: 0.41951480 -6.22831 -2.32829 0 -0.00299143 -0.00284656 0.716501 0.697574 uwb: 0.0 1138.42 1645.64 -imu_odom_: 1691062913.154517119 0.392649 -0.371101 10.1203 -0.0340885 0.0245011 0.0181095 0.25 0 pose: 0.0 -6.22831 -2.32829 0 -0.00299143 -0.00284656 0.716501 0.697574 uwb: 0.49949390 1131.58 1646.73 -imu_odom_: 1691062913.181594755 0.706289 -0.232238 9.99579 -0.0671117 -0.0340885 0.0372843 0.25 -0.02 pose: 0.43876077 -6.22491 -2.31889 0 0.000944166 -0.00521709 0.71648 0.697587 uwb: 0.0 1131.58 1646.73 -imu_odom_: 1691062913.207652491 0.885855 -0.366313 9.98861 -0.056459 -0.0255663 0.04048 0.19 0 pose: 0.51867570 -6.22491 -2.31889 0 -0.00044945 -0.00665635 0.716346 0.697713 uwb: 0.49935099 1132.72 1646.54 -imu_odom_: 1691062913.224586257 -0.117316 -0.205901 9.65103 -0.0596548 -0.0170442 0.0458064 0.25 0 pose: 0.0 -6.22491 -2.31889 0 -0.00044945 -0.00665635 0.716346 0.697713 uwb: 0.0 1132.72 1646.54 -imu_odom_: 1691062913.250559999 0.624887 -0.270545 10.1682 -0.0308927 -0.02024 0.0255663 0.25 0 pose: 0.53099500 -6.23092 -2.30608 0 0.00283815 -0.00957716 0.716322 0.697698 uwb: 0.50007138 1133.88 1646.47 -imu_odom_: 1691062913.277574346 0.699107 -0.258574 9.91199 -0.036219 -0.0181095 0.0490022 0.18 0 pose: 0.0 -6.23092 -2.30608 0 0.00283815 -0.00957716 0.716322 0.697698 uwb: 0.0 1133.88 1646.47 -imu_odom_: 1691062913.303458843 0.42138 -0.229843 10.4914 -0.0436758 0.0138484 0.0490022 0.19 0 pose: 0.63015589 -6.22509 -2.28995 0 0.00770302 -0.0108134 0.716262 0.697706 uwb: 0.50030177 1130.43 1646.87 -imu_odom_: 1691062913.330507022 0.526724 -0.105345 9.99579 -0.0330232 -0.00426106 0.0383495 0.19 0 pose: 0.0 -6.22509 -2.28995 0 0.00770302 -0.0108134 0.716262 0.697706 uwb: 0.0 1130.43 1646.87 -imu_odom_: 1691062913.347623361 0.402226 -0.3304 9.94791 -0.0500674 0.0149137 0.0532632 0.18 0.02 pose: 0.7997911 -6.22412 -2.28727 0 0.00719008 -0.0101005 0.716297 0.697686 uwb: 0.49944141 1126.42 1647.33 -imu_odom_: 1691062913.373683722 0.351948 -0.0790087 10.4674 -0.0511327 0.0255663 0.0436758 0.18 0.02 pose: 0.0 -6.22412 -2.28727 0 0.00719008 -0.0101005 0.716297 0.697686 uwb: 0.0 1126.42 1647.33 -imu_odom_: 1691062913.400464458 0.59855 -0.373495 9.62469 -0.0873517 0.0191748 0.0649811 0.2 0.02 pose: 0.52883970 -6.22072 -2.27787 0 0.00616398 -0.00550928 0.716403 0.697637 uwb: 0.50161419 1123.56 1647.71 -imu_odom_: 1691062913.417529467 -0.148441 -0.383072 9.85932 -0.0415453 0.0213053 0.0276969 0.2 0.02 pose: 0.0 -6.22072 -2.27787 0 0.00616398 -0.00550928 0.716403 0.697637 uwb: 0.0 1123.56 1647.71 -imu_odom_: 1691062913.442471352 0.497994 -0.328006 9.52653 -0.072438 -0.0447411 0.056459 0.18 0 pose: 0.43066165 -6.23013 -2.27447 0 0.00408439 -0.00322864 0.716567 0.697499 uwb: 0.49827190 1123.02 1647.93 -imu_odom_: 1691062913.469457993 0.136469 -0.181959 9.49062 -0.0575243 0.0170442 0.0415453 0.18 0 pose: 0.0 -6.23013 -2.27447 0 0.00408439 -0.00322864 0.716567 0.697499 uwb: 0.0 1123.02 1647.93 -imu_odom_: 1691062913.494443625 0.328006 -0.174777 10.2759 -0.0916127 -0.0127832 0.076699 0.19 0 pose: 0.42947464 -6.22673 -2.26506 0 0.0014031 -0.00471065 0.716717 0.697347 uwb: 0.50004512 1119.59 1648.39 -imu_odom_: 1691062913.520562024 0.251391 -0.220267 9.79228 -0.0234358 0.0490022 -0.00745685 0.23 0 pose: 0.52210842 -6.22334 -2.25566 0 -0.000978647-0.00346524 0.716947 0.697118 uwb: 0.0 1119.59 1648.39 -imu_odom_: 1691062913.545426330 0.196325 -0.390255 9.97903 -0.0543285 0.0319579 0.0671117 0.23 0 pose: 0.0 -6.22334 -2.25566 0 -0.000978647-0.00346524 0.716947 0.697118 uwb: 0.50002762 1117.84 1648.44 -imu_odom_: 1691062913.571541813 0.141258 -0.277727 10.1706 -0.0639159 0.00319579 0.0532632 0.21 -0.02 pose: 0.68745632 -6.22937 -2.24286 0 -0.00565129 0.00132258 0.716982 0.697068 uwb: 0.0 1117.84 1648.44 -imu_odom_: 1691062913.588467413 0.622492 -0.0837971 10.2232 -0.0671117 -0.0426106 0.0213053 0.21 -0.02 pose: 0.8013951 -6.22937 -2.24286 0 -0.00628166 0.00186757 0.717018 0.697023 uwb: 0.50092590 1113.86 1649.06 -imu_odom_: 1691062913.614494818 0.318429 -0.378284 10.0461 -0.0735032 -0.0127832 0.0596548 0.25 -0.02 pose: 0.0 -6.22937 -2.24286 0 -0.00628166 0.00186757 0.717018 0.697023 uwb: 0.0 1113.86 1649.06 -imu_odom_: 1691062913.639446911 0.555455 0.0790087 10.2065 -0.0351537 0.00213053 0.0447411 0.25 -0.02 pose: 0.35027132 -6.22599 -2.23345 0 -0.00592127 0.00231185 0.717004 0.69704 uwb: 0.49905643 1113.85 1649.01 -imu_odom_: 1691062913.665489481 0.335188 -0.311246 10.0221 -0.0607201 0.0330232 0.0532632 0.2 0 pose: 0.50979498 -6.22927 -2.22165 0 -0.00470994 0.000595875 0.717228 0.696822 uwb: 0.0 1113.85 1649.01 -imu_odom_: 1691062913.682567031 0.287304 -0.124498 10.0197 -0.0351537 0.0127832 0.0298274 0.2 0 pose: 0.0 -6.22927 -2.22165 0 -0.00470994 0.000595875 0.717228 0.696822 uwb: 0.0 1113.85 1649.01 -imu_odom_: 1691062913.708574895 0.280122 -0.141258 9.55287 -0.0788296 0.00319579 0.0575243 0.25 0 pose: 0.43120120 -6.22865 -2.21125 0 -0.0056241 0.000383989 0.717287 0.696755 uwb: 0.50023470 1106.48 1650.24 -imu_odom_: 1691062913.734494973 0.263362 -0.232238 9.61272 -0.0543285 0.036219 0.0383495 0.25 0 pose: 0.0 -6.22865 -2.21125 0 -0.0056241 0.000383989 0.717287 0.696755 uwb: 0.0 1106.48 1650.24 -imu_odom_: 1691062913.759428692 0.59855 -0.565032 9.71567 -0.0852212 0.0394148 0.0575243 0.21 0 pose: 0.51927942 -6.22619 -2.20437 0 -0.0064596 0.00509522 0.71744 0.696572 uwb: 0.50052343 1103.61 1650.46 -imu_odom_: 1691062913.774457694 0.174777 -0.339977 9.89524 -0.04048 -0.0149137 0.0287621 0.21 0 pose: 0.0 -6.22619 -2.20437 0 -0.0064596 0.00509522 0.71744 0.696572 uwb: 0.0 1103.61 1650.46 -imu_odom_: 1691062913.801483707 0.356736 -0.220267 10.3118 -0.0777643 -0.0223706 0.056459 0.18 0.02 pose: 0.39962721 -6.23024 -2.20006 0 -0.00835876 0.00294939 0.717524 0.696477 uwb: 0.0 1103.61 1650.46 -imu_odom_: 1691062913.827416618 0.270545 -0.205901 9.68933 -0.0436758 0.0330232 0.0372843 0.19 0 pose: 0.8111070 -6.23469 -2.19847 0 -0.0075799 0.00264473 0.717578 0.696432 uwb: 0.0 1103.61 1650.46 -imu_odom_: 1691062913.852420040 0.0646434 -0.122104 9.991 -0.0436758 0.00852212 0.0319579 0.23 0 pose: 0.18914943 -6.23233 -2.19186 0 -0.00576356 0.00193425 0.717702 0.696324 uwb: 0.99900530 1104.17 1650.33 -imu_odom_: 1691062913.877415005 0.301669 -0.0909797 10.2424 -0.036219 -0.0181095 0.0468716 0.2 0 pose: 0.33009791 -6.23133 -2.18905 0 -0.00540736 0.00555795 0.717665 0.696346 uwb: 0.0 1104.17 1650.33 -imu_odom_: 1691062913.894633713 0.325611 -0.263362 9.97664 -0.0415453 0.00426106 0.0511327 0.2 0 pose: 0.0 -6.23133 -2.18905 0 -0.00540736 0.00555795 0.717665 0.696346 uwb: 0.49994013 1099.02 1650.89 -imu_odom_: 1691062913.920450256 0.701501 -0.131681 9.89763 -0.0660464 -0.0426106 0.0543285 0.19 0 pose: 0.24066644 -6.22797 -2.17963 0 -0.00535658 0.00745162 0.71763 0.696364 uwb: 0.0 1099.02 1650.89 -imu_odom_: 1691062913.946476785 0.205901 -0.237026 9.77553 -0.0490022 0.0415453 0.0372843 0.19 0 pose: 0.44078481 -6.2246 -2.17021 0 -0.00283855 0.00543825 0.71781 0.696212 uwb: 0.50053509 1098.42 1650.77 -imu_odom_: 1691062913.971468251 0.0957681 -0.134075 9.7037 -0.076699 0.0127832 0.0649811 0.18 0 pose: 0.43838162 -6.23147 -2.15969 0 -0.00410285 0.00531493 0.717875 0.696139 uwb: 0.0 1098.42 1650.77 -imu_odom_: 1691062913.989448164 0.639252 -0.373495 10.0868 -0.0511327 -0.0319579 0.0447411 0.18 0 pose: 0.0 -6.23147 -2.15969 0 -0.00410285 0.00531493 0.717875 0.696139 uwb: 0.50010346 1095.56 1651.1 -imu_odom_: 1691062914.14410465 0.486023 -0.107739 10.2304 -0.0852212 0.00319579 0.0479369 0.19 0 pose: 0.5953738 -6.23066 -2.15744 0 -0.0044517 0.00583624 0.717926 0.696081 uwb: 0.0 1095.56 1651.1 -imu_odom_: 1691062914.40558321 0.629675 -0.318429 9.94791 -0.0703074 -0.00319579 0.036219 0.19 0 pose: 0.0 -6.23066 -2.15744 0 -0.0044517 0.00583624 0.717926 0.696081 uwb: 0.50058176 1097.25 1650.71 -imu_odom_: 1691062914.65489123 0.351948 -0.213084 9.93115 -0.0830906 0.015979 0.0447411 0.19 -0.02 pose: 0.44007027 -6.23066 -2.15744 0 -0.00414372 0.00535849 0.718151 0.695855 uwb: 0.0 1097.25 1650.71 -imu_odom_: 1691062914.91552110 -0.023942 -0.402226 9.88805 -0.0372843 0.0319579 0.0383495 0.19 -0.02 pose: 0.0 -6.23066 -2.15744 0 -0.00414372 0.00535849 0.718151 0.695855 uwb: 0.50060509 1096.17 1651.3 -imu_odom_: 1691062914.108403631 0.641646 -0.251391 10.094 -0.0639159 -0.0426106 0.0330232 0.19 -0.02 pose: 0.51015079 -6.22731 -2.14801 0 -0.00203754 0.00129956 0.718204 0.695829 uwb: 0.0 1096.17 1651.3 -imu_odom_: 1691062914.134527573 0.136469 -0.246603 9.84256 -0.0340885 0.04048 0.0436758 0.19 -0.02 pose: 0.0 -6.22731 -2.14801 0 -0.00203754 0.00129956 0.718204 0.695829 uwb: 0.0 1096.17 1651.3 -imu_odom_: 1691062914.160737259 0.435745 -0.347159 9.48343 -0.0692422 0.0117179 0.0415453 0.25 0 pose: 0.51193569 -6.23338 -2.13524 0 -0.00460972 0.000458953 0.718202 0.695819 uwb: 0.49861605 1095.63 1651.57 -imu_odom_: 1691062914.186440933 0.177171 -0.411803 9.74679 -0.0447411 -0.015979 0.0447411 0.21 0.02 pose: 0.62091061 -6.23004 -2.12582 0 -0.00534319 -0.0002595050.718226 0.695789 uwb: 0.49939475 1097.35 1651.38 -imu_odom_: 1691062914.203507109 0.634463 0.0191536 10.3334 -0.052198 -0.0319579 0.0426106 0.21 0.02 pose: 0.0 -6.23004 -2.12582 0 -0.00534319 -0.0002595050.718226 0.695789 uwb: 0.0 1097.35 1651.38 -imu_odom_: 1691062914.228434703 0.730232 0.114922 10.3142 -0.0532632 -0.02024 0.0298274 0.23 -0.02 pose: 0.6828395 -6.23004 -2.12582 0 -0.00596832 -0.0001900650.718236 0.695774 uwb: 0.0 1097.35 1651.38 -imu_odom_: 1691062914.254550769 0.538695 -0.105345 9.9503 -0.0500674 -0.0447411 0.04048 0.23 -0.02 pose: 0.0 -6.23004 -2.12582 0 -0.00596832 -0.0001900650.718236 0.695774 uwb: 0.50017053 1094.54 1652.03 -imu_odom_: 1691062914.279581024 0.363919 -0.318429 9.86411 -0.0681769 0.0106526 0.0458064 0.19 0.02 pose: 0.43136745 -6.23611 -2.11305 0 -0.00503339 -0.0001390970.71827 0.695747 uwb: 0.0 1094.54 1652.03 -imu_odom_: 1691062914.304535450 0.337582 -0.387861 9.81383 -0.0266316 -0.0426106 0.0245011 0.19 0.02 pose: 0.0 -6.23611 -2.11305 0 -0.00503339 -0.0001390970.71827 0.695747 uwb: 0.50036303 1096.82 1651.72 -imu_odom_: 1691062914.321513256 0.500388 -0.160412 9.81383 -0.0319579 -0.00532632 0.052198 0.19 0.02 pose: 0.50862255 -6.23276 -2.10363 0 -0.000836182-0.0008719990.718242 0.695792 uwb: 0.0 1096.82 1651.72 -imu_odom_: 1691062914.338458105 0.502782 -0.605733 9.91678 -0.0532632 -0.015979 0.140615 0.19 0.02 pose: 0.0 -6.23276 -2.10363 0 -0.000836182-0.0008719990.718242 0.695792 uwb: 0.0 1096.82 1651.72 -imu_odom_: 1691062914.355531280 0.304064 -0.533907 9.31105 -0.0276969 0.0181095 0.197074 0.19 0.02 pose: 0.0 -6.23276 -2.10363 0 -0.000836182-0.0008719990.718242 0.695792 uwb: 0.0 1096.82 1651.72 -imu_odom_: 1691062914.372528043 0.155623 -0.438139 9.98143 -0.0394148 -0.0298274 0.258859 0.25 0.17 pose: 0.49912351 -6.22941 -2.0942 0 -0.0036545 -0.00241182 0.718175 0.695849 uwb: 0.0 1096.82 1651.72 -imu_odom_: 1691062914.389374023 0.591368 -0.349553 9.84256 -0.0543285 0.0287621 0.319579 0.25 0.17 pose: 0.0 -6.22941 -2.0942 0 -0.0036545 -0.00241182 0.718175 0.695849 uwb: 0.99920656 1097.41 1651.78 -imu_odom_: 1691062914.405487087 0.641646 -0.684742 10.1778 -0.0298274 0.0106526 0.34195 0.2 0.38 pose: 0.77897018 -6.2335 -2.07621 0 -0.0051479 -0.00451317 0.72266 0.691169 uwb: 0.0 1097.41 1651.78 -imu_odom_: 1691062914.423486834 0.184354 -0.129287 9.84735 -0.04048 0.0127832 0.401605 0.2 0.38 pose: 0.0 -6.2335 -2.07621 0 -0.0051479 -0.00451317 0.72266 0.691169 uwb: 0.0 1097.41 1651.78 -imu_odom_: 1691062914.439383202 0.378284 -0.248997 9.64145 -0.0852212 0.0138484 0.453803 0.2 0.38 pose: 0.0 -6.2335 -2.07621 0 -0.0051479 -0.00451317 0.72266 0.691169 uwb: 0.50084716 1097.95 1651.53 -imu_odom_: 1691062914.454497658 0.454898 -0.665588 10.0221 -0.0628506 0.0266316 0.458064 0.19 0.41 pose: 0.8067032 -6.23206 -2.07196 0 -0.00522042 -0.00519209 0.723497 0.690288 uwb: 0.0 1097.95 1651.53 -imu_odom_: 1691062914.471441924 0.0430956 -0.584185 10.0509 -0.0394148 0.0127832 0.497478 0.18 0.44 pose: 0.0 -6.23206 -2.07196 0 -0.00522042 -0.00519209 0.723497 0.690288 uwb: 0.0 1097.95 1651.53 -imu_odom_: 1691062914.485381615 0.502782 -0.328006 10.2089 -0.052198 -0.00958738 0.529436 0.18 0.44 pose: 0.0 -6.23206 -2.07196 0 -0.00522042 -0.00519209 0.723497 0.690288 uwb: 0.50064885 1095.67 1651.77 -imu_odom_: 1691062914.502470247 0.11971 -0.514753 9.67976 -0.0330232 0.0298274 0.561394 0.18 0.44 pose: 0.64009241 -6.22865 -2.06256 0 -0.00620345 -0.00371953 0.732087 0.681173 uwb: 0.0 1095.67 1651.77 -imu_odom_: 1691062914.516424228 0.519542 -0.277727 9.98861 -0.0553937 0.0266316 0.577373 0.17 0.44 pose: 0.0 -6.22865 -2.06256 0 -0.00620345 -0.00371953 0.732087 0.681173 uwb: 0.0 1095.67 1651.77 -imu_odom_: 1691062914.532573457 0.466869 -0.42138 9.92397 -0.0649811 -0.00852212 0.627441 0.17 0.44 pose: 0.31000033 -6.23804 -2.05912 0 -0.00670923 -0.00387066 0.737201 0.675629 uwb: 0.0 1095.67 1651.77 -imu_odom_: 1691062914.548382331 0.272939 -0.782904 9.55765 -0.0511327 0.015979 0.638093 0.18 0.55 pose: 0.40123128 -6.23464 -2.04971 0 -0.00615983 -0.00529347 0.74465 0.667405 uwb: 0.50180961 1089.41 1652.76 -imu_odom_: 1691062914.565372386 0.423774 -0.366313 10.0173 -0.0596548 0.0170442 0.638093 0.18 0.55 pose: 0.0 -6.23464 -2.04971 0 -0.00615983 -0.00529347 0.74465 0.667405 uwb: 0.0 1089.41 1652.76 -imu_odom_: 1691062914.582432145 0.715866 -0.25618 9.48343 -0.0852212 -0.0287621 0.66579 0.18 0.55 pose: 0.0 -6.23464 -2.04971 0 -0.00615983 -0.00529347 0.74465 0.667405 uwb: 0.0 1089.41 1652.76 -imu_odom_: 1691062914.599427450 0.723049 -0.344765 10.1011 -0.0511327 -0.0532632 0.658333 0.22 0.7 pose: 0.6826646 -6.23464 -2.04971 0 -0.00678351 -0.00559903 0.746008 0.665879 uwb: 0.0 1089.41 1652.76 -imu_odom_: 1691062914.615478101 1.06781 -0.59855 9.25359 -0.0458064 -0.0127832 0.659399 0.22 0.7 pose: 0.0 -6.23464 -2.04971 0 -0.00678351 -0.00559903 0.746008 0.665879 uwb: 0.0 1089.41 1652.76 -imu_odom_: 1691062914.633425642 1.30484 -0.416591 9.95988 -0.0639159 -0.0415453 0.642354 0.2 0.58 pose: 0.50088216 -6.23121 -2.04032 0 -0.00384895 -0.00748325 0.75609 0.654414 uwb: 0.0 1089.41 1652.76 -imu_odom_: 1691062914.650439321 1.29526 -0.234632 9.71328 -0.0245011 0.0340885 0.540089 0.13 0.38 pose: 0.0 -6.23121 -2.04032 0 -0.00384895 -0.00748325 0.75609 0.654414 uwb: 0.99600132 1084.86 1653.48 -imu_odom_: 1691062914.664504421 1.22104 0.0550666 10.0628 -0.052198 0.0255663 0.477238 0.13 0.38 pose: 0.0 -6.23121 -2.04032 0 -0.00384895 -0.00748325 0.75609 0.654414 uwb: 0.0 1084.86 1653.48 -imu_odom_: 1691062914.680509283 0.986411 -0.0335188 9.75398 -0.0681769 0.0287621 0.407996 0.13 0.38 pose: 0.67030732 -6.23729 -2.02747 0 0.00132253 -0.0114633 0.768357 0.639917 uwb: 0.0 1084.86 1653.48 -imu_odom_: 1691062914.697555043 0.828394 -0.225055 9.52174 -0.0543285 0.0287621 0.345146 0.13 0.38 pose: 0.0 -6.23729 -2.02747 0 0.00132253 -0.0114633 0.768357 0.639917 uwb: 0.49917310 1087.19 1653.48 -imu_odom_: 1691062914.713399498 0.828394 -0.296881 10.0892 -0.0617853 0.0106526 0.324906 0.16 0.5 pose: 0.0 -6.23729 -2.02747 0 0.00132253 -0.0114633 0.768357 0.639917 uwb: 0.0 1087.19 1653.48 -imu_odom_: 1691062914.730424259 0.790087 -0.416591 9.75877 -0.0596548 -0.00852212 0.309992 0.16 0.5 pose: 0.30938495 -6.23729 -2.02747 0 0.00388892 -0.0115154 0.771998 0.635508 uwb: 0.0 1087.19 1653.48 -imu_odom_: 1691062914.748375592 0.80924 -0.162806 9.99819 -0.0553937 0.00532632 0.286556 0.08 0.29 pose: 0.42966713 -6.23729 -2.02747 0 0.00650472 -0.0140674 0.775813 0.630772 uwb: 0.50189127 1086.6 1653.42 -imu_odom_: 1691062914.774575945 0.634463 -0.263362 9.7851 -0.0500674 0.0106526 0.286556 0.08 0.29 pose: 0.0 -6.23729 -2.02747 0 0.00650472 -0.0140674 0.775813 0.630772 uwb: 0.0 1086.6 1653.42 -imu_odom_: 1691062914.791587291 0.672771 -0.222661 9.91439 -0.0660464 0.0181095 0.280165 0.08 0.29 pose: 0.8091239 -6.23729 -2.02747 0 0.00723968 -0.0138287 0.776434 0.630005 uwb: 0.49939475 1083.73 1653.75 -imu_odom_: 1691062914.808483726 -0.201113 -0.486023 9.75637 -0.0585895 0.0703074 0.169377 0.09 0.08 pose: 0.0 -6.23729 -2.02747 0 0.00723968 -0.0138287 0.776434 0.630005 uwb: 0.0 1083.73 1653.75 -imu_odom_: 1691062914.825542319 -0.667982 0.225055 10.1873 -0.0511327 -0.0138484 -0.0191748 0.14 0.02 pose: 0.0 -6.23729 -2.02747 0 0.00723968 -0.0138287 0.776434 0.630005 uwb: 0.0 1083.73 1653.75 -imu_odom_: 1691062914.841529391 -0.344765 0.407014 9.52174 -0.0511327 -0.0308927 -0.135289 0.14 0.02 pose: 0.77099064 -6.24344 -2.01472 0 0.00650516 -0.00815563 0.781087 0.624335 uwb: 0.50065176 1088.87 1653.09 -imu_odom_: 1691062914.859607591 -0.162806 -0.215478 9.65103 -0.0745685 0.0106526 -0.148072 0.15 -0.14 pose: 0.0 -6.24344 -2.01472 0 0.00650516 -0.00815563 0.781087 0.624335 uwb: 0.0 1088.87 1653.09 -imu_odom_: 1691062914.876365784 -0.0742203 -0.785298 10.0102 -0.0628506 -0.0223706 -0.164051 0.15 -0.14 pose: 0.33767498 -6.24344 -2.01472 0 0.00512489 -0.00538133 0.779587 0.62625 uwb: 0.0 1088.87 1653.09 -imu_odom_: 1691062914.890360597 -0.356736 -0.519542 9.73482 -0.0532632 0.0149137 -0.204531 0.15 -0.14 pose: 0.0 -6.24344 -2.01472 0 0.00512489 -0.00538133 0.779587 0.62625 uwb: 0.49887561 1090.04 1653.14 -imu_odom_: 1691062914.907357068 -0.011971 0.0933739 9.84496 -0.0511327 -0.0383495 -0.216249 0.12 -0.26 pose: 0.40978537 -6.24008 -2.00528 0 0.00125623 -0.0043642 0.776862 0.629655 uwb: 0.0 1090.04 1653.14 -imu_odom_: 1691062914.921490122 0.107739 0.0933739 9.71328 -0.0511327 -0.0138484 -0.239684 0.12 -0.26 pose: 0.7009218 -6.24014 -2.00528 0 0.00118519 -0.00374861 0.776299 0.630352 uwb: 0.0 1090.04 1653.14 -imu_odom_: 1691062914.937365492 0.54109 -0.023942 10.4794 -0.0660464 0.0117179 -0.271642 0.12 -0.26 pose: 0.0 -6.24014 -2.00528 0 0.00118519 -0.00374861 0.776299 0.630352 uwb: 0.0 1090.04 1653.14 -imu_odom_: 1691062914.952408202 0.363919 -0.222661 9.69173 -0.0490022 0.015979 -0.304666 0.14 -0.38 pose: 0.39995677 -6.24014 -2.00528 0 0.00230564 -0.0008272170.772682 0.634789 uwb: 0.0 1090.04 1653.14 -imu_odom_: 1691062914.969404965 0.0574608 -0.263362 10.0676 -0.0426106 0 -0.34408 0.13 -0.35 pose: 0.0 -6.24014 -2.00528 0 0.00230564 -0.0008272170.772682 0.634789 uwb: 0.0 1090.04 1653.14 -imu_odom_: 1691062914.983479689 0.107739 -0.177171 9.68933 -0.0628506 -0.0117179 -0.36432 0.13 -0.35 pose: 0.0 -6.24014 -2.00528 0 0.00230564 -0.0008272170.772682 0.634789 uwb: 0.0 1090.04 1653.14 -imu_odom_: 1691062914.999479593 0.363919 0.220267 10.5896 -0.0585895 -0.0340885 -0.379234 0.13 -0.41 pose: 0.22012847 -6.24625 -1.99252 0 0.000254229 0.000309391 0.770185 0.63782 uwb: 0.99912198 1091.18 1652.96 -imu_odom_: 1691062915.16550727 0.304064 -0.237026 9.60793 -0.0500674 -0.0117179 -0.395213 0.13 -0.41 pose: 0.0 -6.24625 -1.99252 0 0.000254229 0.000309391 0.770185 0.63782 uwb: 0.0 1091.18 1652.96 -imu_odom_: 1691062915.34532391 0.158017 -0.277727 9.62708 -0.0511327 0.00532632 -0.409062 0.13 -0.41 pose: 0.0 -6.24625 -1.99252 0 0.000254229 0.000309391 0.770185 0.63782 uwb: 0.50138380 1090.03 1653 -imu_odom_: 1691062915.52474100 0.952892 0.0311246 10.1658 -0.0596548 -0.0490022 -0.425041 0.15 -0.5 pose: 0.75154052 -6.24436 -1.98726 0 -0.00374513 0.00330213 0.759959 0.649951 uwb: 0.0 1090.03 1653 -imu_odom_: 1691062915.68532917 1.47243 -0.215478 9.80426 -0.0745685 -0.0937433 -0.370712 0.15 -0.5 pose: 0.0 -6.24436 -1.98726 0 -0.00374513 0.00330213 0.759959 0.649951 uwb: 0.0 1090.03 1653 -imu_odom_: 1691062915.85408646 1.59214 -0.428562 9.5792 -0.0692422 -0.00639159 -0.357929 0.15 -0.5 pose: 0.0 -6.24436 -1.98726 0 -0.00374513 0.00330213 0.759959 0.649951 uwb: 0.50028137 1083.19 1653.98 -imu_odom_: 1691062915.103477513 1.11091 -0.335188 9.23922 -0.0479369 0.0479369 -0.350472 0.11 -0.35 pose: 0.7953580 -6.24296 -1.98308 0 -0.00287815 0.00289482 0.758761 0.651356 uwb: 0.0 1083.19 1653.98 -imu_odom_: 1691062915.120426154 0.916979 -0.237026 9.74201 -0.056459 0.0298274 -0.297209 0.1 -0.32 pose: 0.0 -6.24296 -1.98308 0 -0.00287815 0.00289482 0.758761 0.651356 uwb: 0.0 1083.19 1653.98 -imu_odom_: 1691062915.137473081 0.646434 -0.4956 9.67497 -0.052198 0.0223706 -0.233293 0.1 -0.32 pose: 0.67995219 -6.2524 -1.9798 0 0.00208149 -0.00214401 0.749791 0.661668 uwb: 0.50052928 1084.89 1653.64 -imu_odom_: 1691062915.154415306 0.555455 -0.526724 10.0078 -0.0543285 0.0330232 -0.223706 0.09 -0.26 pose: 0.0 -6.2524 -1.9798 0 0.00208149 -0.00214401 0.749791 0.661668 uwb: 0.0 1084.89 1653.64 -imu_odom_: 1691062915.171588809 0.438139 -0.148441 10.0652 -0.0351537 0.0106526 -0.227967 0.09 -0.26 pose: 0.0 -6.2524 -1.9798 0 0.00208149 -0.00214401 0.749791 0.661668 uwb: 0.0 1084.89 1653.64 -imu_odom_: 1691062915.189403941 0.646434 0.162806 10.2161 -0.0585895 -0.0372843 -0.18003 0.09 -0.26 pose: 0.34999426 -6.24908 -1.97036 0 0.00174684 -0.00482324 0.746436 0.665438 uwb: 0.50057302 1081.49 1654.22 -imu_odom_: 1691062915.206478283 0.665588 -0.282516 9.84975 -0.0585895 -0.0170442 -0.125701 0.06 -0.2 pose: 0.43923325 -6.24908 -1.97036 0 0.00360255 -0.00308388 0.742807 0.669488 uwb: 0.0 1081.49 1654.22 -imu_odom_: 1691062915.223404467 0.766145 -0.574608 9.80665 -0.052198 0.0117179 -0.123571 0.06 -0.2 pose: 0.7071923 -6.24908 -1.97036 0 0.00393535 -0.0037589 0.742414 0.669919 uwb: 0.0 1081.49 1654.22 -imu_odom_: 1691062915.240331818 0.837971 -0.373495 9.77313 -0.0436758 0.0106526 -0.127832 0.07 -0.2 pose: 0.0 -6.24908 -1.97036 0 0.00393535 -0.0037589 0.742414 0.669919 uwb: 0.49691865 1082.05 1654.05 -imu_odom_: 1691062915.258468931 0.648829 -0.110133 10.0389 -0.0553937 0.00213053 -0.0937433 0.05 -0.14 pose: 0.43855954 -6.24908 -1.97036 0 0.00480604 -0.00764417 0.739971 0.672578 uwb: 0.0 1082.05 1654.05 -imu_odom_: 1691062915.272475410 0.617704 -0.213084 9.76834 -0.0607201 -0.00106526 -0.0756338 0.05 -0.17 pose: 0.0 -6.24908 -1.97036 0 0.00480604 -0.00764417 0.739971 0.672578 uwb: 0.0 1082.05 1654.05 -imu_odom_: 1691062915.297400379 0.696713 -0.320823 10.0221 -0.056459 -0.00532632 -0.0894822 0.05 -0.17 pose: 0.24040395 -6.24908 -1.97036 0 0.00700822 -0.00707863 0.738908 0.673732 uwb: 0.50085883 1074.05 1655.01 -imu_odom_: 1691062915.315468663 0.131681 -0.292093 9.80665 -0.0681769 0.0276969 -0.110787 0.06 -0.17 pose: 0.33028166 -6.24574 -1.96094 0 0.00761634 -0.00979742 0.737499 0.675234 uwb: 0.0 1074.05 1655.01 -imu_odom_: 1691062915.341484111 -0.656011 -0.0646434 9.8689 -0.0511327 0.0138484 -0.307861 0.06 -0.17 pose: 0.7944831 -6.24574 -1.96094 0 0.00687086 -0.00925233 0.737105 0.67568 uwb: 0.50246583 1074.07 1655.12 -imu_odom_: 1691062915.365399973 -0.483629 0.416591 9.81144 -0.0500674 -0.0117179 -0.449542 0.08 -0.35 pose: 0.36138901 -6.24569 -1.96094 0 0.00419779 -0.0062971 0.733557 0.679586 uwb: 0.0 1074.07 1655.12 -imu_odom_: 1691062915.381385586 -0.268151 -0.114922 10.1299 -0.0713727 -0.0852212 -0.420779 0.08 -0.35 pose: 0.0 -6.24569 -1.96094 0 0.00419779 -0.0062971 0.733557 0.679586 uwb: 0.0 1074.07 1655.12 -imu_odom_: 1691062915.407388785 0.19393 -0.306458 10.1562 -0.0585895 -0.0426106 -0.474043 0.13 -0.58 pose: 0.39901475 -6.24568 -1.96094 0 0.0031436 -0.00325064 0.727057 0.686562 uwb: 0.49928976 1076.36 1654.84 -imu_odom_: 1691062915.433633178 0.117316 0.234632 9.95509 -0.0703074 -0.0447411 -0.460194 0.13 -0.58 pose: 0.0 -6.24568 -1.96094 0 0.0031436 -0.00325064 0.727057 0.686562 uwb: 0.0 1076.36 1654.84 -imu_odom_: 1691062915.459478011 0.208296 -0.339977 9.79228 -0.0703074 -0.0340885 -0.508131 0.14 -0.7 pose: 0.52247592 -6.25163 -1.94817 0 0.00181708 -0.0003182030.717912 0.696131 uwb: 0.49767111 1074.08 1655.17 -imu_odom_: 1691062915.484491058 0.385466 0.0933739 9.8665 -0.0756338 -0.0532632 -0.547546 0.12 -0.58 pose: 0.0 -6.25163 -1.94817 0 0.00181708 -0.0003182030.717912 0.696131 uwb: 0.0 1074.08 1655.17 -imu_odom_: 1691062915.501496863 -0.0742203 -0.0622492 10.0772 -0.0692422 0.0213053 -0.558199 0.12 -0.58 pose: 0.33959112 -6.25183 -1.94818 0 5.47829e-05 0.000190637 0.711296 0.702893 uwb: 0.50230250 1070.66 1655.74 -imu_odom_: 1691062915.527462438 0.430956 -0.0574608 9.65821 -0.0703074 -0.00852212 -0.586961 0.13 -0.64 pose: 0.0 -6.25183 -1.94818 0 5.47829e-05 0.000190637 0.711296 0.702893 uwb: 0.0 1070.66 1655.74 -imu_odom_: 1691062915.552315662 0.237026 -0.366313 9.80665 -0.0617853 0.00213053 -0.612527 0.13 -0.64 pose: 0.41741201 -6.24848 -1.93875 0 0.000953716 0.00275361 0.702452 0.711725 uwb: 0.49936559 1072.95 1655.46 -imu_odom_: 1691062915.569447168 0.325611 -0.0814029 10.0197 -0.0266316 0.0170442 -0.638093 0.14 -0.7 pose: 0.0 -6.24848 -1.93875 0 0.000953716 0.00275361 0.702452 0.711725 uwb: 0.0 1072.95 1655.46 -imu_odom_: 1691062915.595435200 0.445322 -0.100556 9.9527 -0.0607201 -0.04048 -0.637028 0.14 -0.7 pose: 0.50136922 -6.24519 -1.92931 0 0.000315294 0.00356603 0.690824 0.723014 uwb: 0.50005097 1077.01 1655.4 -imu_odom_: 1691062915.621455315 0.260968 -0.318429 9.52653 -0.0660464 0.00106526 -0.657268 0.14 -0.76 pose: 0.35964787 -6.24474 -1.92929 0 0.00335499 0.00320172 0.681977 0.731359 uwb: 0.0 1077.01 1655.4 -imu_odom_: 1691062915.647453847 0.665588 0.0215478 10.2448 -0.0426106 -0.0266316 -0.70627 0.14 -0.76 pose: 0.0 -6.24474 -1.92929 0 0.00335499 0.00320172 0.681977 0.731359 uwb: 0.50057593 1082.09 1654.26 -imu_odom_: 1691062915.663321634 0.169988 -0.0287304 9.47386 -0.0543285 -0.0308927 -0.72438 0.17 -0.82 pose: 0.7914499 -6.24519 -1.92931 0 0.00251476 0.00310731 0.679958 0.73324 uwb: 0.0 1082.09 1654.26 -imu_odom_: 1691062915.688564793 0.323217 -0.296881 9.09318 -0.0756338 -0.0458064 -0.721184 0.17 -0.82 pose: 0.0 -6.24519 -1.92931 0 0.00251476 0.00310731 0.679958 0.73324 uwb: 0.50013846 1078.07 1654.33 -imu_odom_: 1691062915.714383669 0.385466 -0.035913 9.41879 -0.0436758 -0.0436758 -0.752077 0.15 -0.76 pose: 0.51165571 -6.25141 -1.91662 0 0.00324362 0.00272514 0.666126 0.745827 uwb: 0.0 1078.07 1654.33 -imu_odom_: 1691062915.731509633 0.272939 -0.181959 9.61272 -0.0639159 -0.0245011 -0.754207 0.15 -0.76 pose: 0.0 -6.25141 -1.91662 0 0.00324362 0.00272514 0.666126 0.745827 uwb: 0.0 1078.07 1654.33 -imu_odom_: 1691062915.748503188 0.433351 -0.131681 10.2208 -0.0553937 -0.0181095 -0.755272 0.17 -0.85 pose: 0.40899209 -6.25141 -1.91662 0 0.00142607 0.00251452 0.654347 0.756189 uwb: 0.49974182 1072.28 1654.38 -imu_odom_: 1691062915.765382417 0.852336 -0.237026 10.1394 -0.0532632 -0.0106526 -0.756338 0.17 -0.85 pose: 0.0 -6.25141 -1.91662 0 0.00142607 0.00251452 0.654347 0.756189 uwb: 0.0 1072.28 1654.38 -imu_odom_: 1691062915.782356723 0.225055 -0.102951 9.9503 -0.0511327 0.0117179 -0.763795 0.17 -0.85 pose: 0.0 -6.25141 -1.91662 0 0.00142607 0.00251452 0.654347 0.756189 uwb: 0.0 1072.28 1654.38 -imu_odom_: 1691062915.799298072 0.332794 -0.0814029 9.61272 -0.0266316 -0.0138484 -0.758468 0.16 -0.82 pose: 0.44165686 -6.2481 -1.90719 0 0.00224052 0.00344007 0.640999 0.767531 uwb: 0.49896020 1074.02 1654.4 -imu_odom_: 1691062915.817299861 0.361524 0.00718261 9.68933 -0.0596548 -0.0276969 -0.748881 0.16 -0.82 pose: 0.0 -6.2481 -1.90719 0 0.00224052 0.00344007 0.640999 0.767531 uwb: 0.0 1074.02 1654.4 -imu_odom_: 1691062915.834356704 0.107739 -0.100556 9.65582 -0.0468716 -0.0191748 -0.768056 0.17 -0.82 pose: 0.77719696 -6.24287 -1.89247 0 0.0045438 0.00574293 0.616938 0.786977 uwb: 0.0 1074.02 1654.4 -imu_odom_: 1691062915.851282013 0.0766145 -0.545878 9.85693 -0.0660464 0.036219 -0.789361 0.17 -0.82 pose: 0.0 -6.24287 -1.89247 0 0.0045438 0.00574293 0.616938 0.786977 uwb: 0.50036886 1078 1653.72 -imu_odom_: 1691062915.869356713 0.0837971 -0.0981623 9.84256 -0.0617853 -0.0223706 -0.788296 0.17 -0.82 pose: 0.0 -6.24287 -1.89247 0 0.0045438 0.00574293 0.616938 0.786977 uwb: 0.0 1078 1653.72 -imu_odom_: 1691062915.886325770 0.390255 0.213084 10.2161 -0.0692422 -0.0415453 -0.778708 0.17 -0.82 pose: 0.8001702 -6.24159 -1.88828 0 0.00404424 0.00631895 0.614387 0.788969 uwb: 0.49982349 1076.26 1653.67 -imu_odom_: 1691062915.902443500 0.447716 -0.117316 9.46188 -0.0511327 -0.04048 -0.786165 0.17 -0.85 pose: 0.0 -6.24159 -1.88828 0 0.00404424 0.00631895 0.614387 0.788969 uwb: 0.0 1076.26 1653.67 -imu_odom_: 1691062915.920437414 0.641646 -0.136469 9.68215 -0.072438 0.00106526 -0.802144 0.17 -0.85 pose: 0.67030441 -6.23836 -1.87881 0 0.00243045 0.00785376 0.592388 0.805611 uwb: 0.0 1076.26 1653.67 -imu_odom_: 1691062915.945295304 0.620098 -0.114922 9.84017 -0.0596548 -0.0223706 -0.821319 0.17 -0.88 pose: 0.0 -6.23836 -1.87881 0 0.00243045 0.00785376 0.592388 0.805611 uwb: 0.49951433 1072.76 1653.4 -imu_odom_: 1691062915.962410477 0.395043 -0.184354 9.66539 -0.0692422 0.0213053 -0.797883 0.17 -0.88 pose: 0.34971428 -6.23836 -1.87882 0 0.00397226 0.00456343 0.580504 0.814235 uwb: 0.0 1072.76 1653.4 -imu_odom_: 1691062915.978359051 0.675165 -0.423774 9.9503 -0.0596548 0.0436758 -0.770186 0.18 -0.76 pose: 0.35107045 -6.23513 -1.86933 0 0.00313053 0.0023878 0.568313 0.822803 uwb: 0.0 1072.76 1653.4 -imu_odom_: 1691062915.996291135 0.723049 -0.172383 9.98382 -0.0596548 0.02024 -0.768056 0.18 -0.76 pose: 0.7960871 -6.23519 -1.86933 0 0.00284212 0.00176493 0.565661 0.824631 uwb: 0.50043594 1069.28 1653.29 -imu_odom_: 1691062916.13345937 0.184354 -0.37589 9.8665 -0.0575243 0.0745685 -0.680704 0.18 -0.76 pose: 0.0 -6.23519 -1.86933 0 0.00284212 0.00176493 0.565661 0.824631 uwb: 0.0 1069.28 1653.29 -imu_odom_: 1691062916.27319167 0.0766145 -0.277727 10.2328 -0.0692422 -0.0138484 -0.570982 0.18 -0.58 pose: 0.42974589 -6.23191 -1.85986 0 0.001315 0.000855286 0.55189 0.833915 uwb: 0.0 1069.28 1653.29 -imu_odom_: 1691062916.44424716 0.380678 -0.538695 9.663 -0.0426106 -0.0713727 -0.508131 0.18 -0.58 pose: 0.0 -6.23191 -1.85986 0 0.001315 0.000855286 0.55189 0.833915 uwb: 0.50027846 1073.29 1652.94 -imu_odom_: 1691062916.57333425 0.761356 -0.361524 9.72046 -0.0468716 -0.0351537 -0.491087 0.18 -0.58 pose: 0.0 -6.23191 -1.85986 0 0.001315 0.000855286 0.55189 0.833915 uwb: 0.0 1073.29 1652.94 -imu_odom_: 1691062916.73428991 0.828394 -0.0143652 10.2352 -0.0181095 -0.0308927 -0.449542 0.17 -0.47 pose: 0.43987488 -6.22862 -1.85042 0 -0.00038845 -0.00110853 0.541524 0.840685 uwb: 0.0 1073.29 1652.94 -imu_odom_: 1691062916.91425529 0.593762 -0.124498 9.65342 -0.0458064 -0.0255663 -0.426106 0.24 -0.64 pose: 0.0 -6.22862 -1.85042 0 -0.00038845 -0.00110853 0.541524 0.840685 uwb: 0.49969224 1073.25 1652.64 -imu_odom_: 1691062916.108350255 0.184354 -0.21069 9.94791 -0.0426106 0.0426106 -0.398409 0.24 -0.64 pose: 0.0 -6.22862 -1.85042 0 -0.00038845 -0.00110853 0.541524 0.840685 uwb: 0.0 1073.25 1652.64 -imu_odom_: 1691062916.125302688 0.363919 -0.533907 10.1059 -0.0713727 0.00745685 -0.360059 0.18 -0.44 pose: 0.24096684 -6.22868 -1.85042 0 0.00219033 -0.00231829 0.536635 0.843808 uwb: 0.0 1073.25 1652.64 -imu_odom_: 1691062916.142277869 0.169988 0.0263362 9.99579 -0.052198 -0.00852212 -0.343015 0.18 -0.44 pose: 0.0 -6.22868 -1.85042 0 0.00219033 -0.00231829 0.536635 0.843808 uwb: 0.49989932 1073.23 1652.48 -imu_odom_: 1691062916.159409375 0.392649 0.0646434 9.40203 -0.0628506 -0.0447411 -0.299339 0.18 -0.44 pose: 0.33938114 -6.22536 -1.84099 0 0.00135102 -0.00127427 0.530347 0.847779 uwb: 0.0 1073.23 1652.48 -imu_odom_: 1691062916.176410221 0.071826 -0.131681 9.54329 -0.0596548 -0.015979 -0.288687 0.26 -0.47 pose: 0.44041152 -6.22204 -1.83153 0 0.00224108 0.000722079 0.523432 0.852064 uwb: 0.0 1073.23 1652.48 -imu_odom_: 1691062916.192404001 0.383072 -0.136469 10.1801 -0.0511327 -0.0181095 -0.292948 0.26 -0.47 pose: 0.7006301 -6.2221 -1.83154 0 0.00195347 0.00131785 0.52245 0.852667 uwb: 0.50066344 1070.9 1652.29 -imu_odom_: 1691062916.210339293 0.354342 -0.253785 9.86411 -0.0383495 0.00213053 -0.262055 0.23 -0.35 pose: 0.0 -6.2221 -1.83154 0 0.00195347 0.00131785 0.52245 0.852667 uwb: 0.0 1070.9 1652.29 -imu_odom_: 1691062916.226280576 0.921768 -0.320823 10.1179 -0.0490022 -0.0106526 -0.239684 0.17 -0.29 pose: 0.43923617 -6.22018 -1.82598 0 0.00139195 0.00250912 0.51646 0.856306 uwb: 0.0 1070.9 1652.29 -imu_odom_: 1691062916.240350343 0.998382 -0.0263362 10.2663 -0.0553937 -0.0170442 -0.211988 0.17 -0.29 pose: 0.0 -6.22018 -1.82598 0 0.00139195 0.00250912 0.51646 0.856306 uwb: 0.50009763 1069.15 1652.1 -imu_odom_: 1691062916.256340331 1.10373 -0.447716 9.52413 -0.0639159 -0.0223706 -0.181095 0.17 -0.29 pose: 0.0 -6.22018 -1.82598 0 0.00139195 0.00250912 0.51646 0.856306 uwb: 0.0 1069.15 1652.1 -imu_odom_: 1691062916.274339786 1.30723 -0.181959 9.7851 -0.0351537 -0.0916127 -0.177899 0.19 -0.35 pose: 0.22948168 -6.21882 -1.82209 0 0.00239077 0.000419372 0.513801 0.857906 uwb: 0.0 1069.15 1652.1 -imu_odom_: 1691062916.291293677 1.47243 -0.220267 9.54808 -0.0735032 -0.0628506 -0.20027 0.19 -0.35 pose: 0.0 -6.21882 -1.82209 0 0.00239077 0.000419372 0.513801 0.857906 uwb: 0.49863064 1073.09 1651.31 -imu_odom_: 1691062916.304279965 1.75974 0.110133 10.3453 -0.052198 -0.0340885 -0.226901 0.19 -0.35 pose: 0.0 -6.21882 -1.82209 0 0.00239077 0.000419372 0.513801 0.857906 uwb: 0.0 1073.09 1651.31 -imu_odom_: 1691062916.320286286 1.44849 -0.0694318 9.8282 -0.0575243 -0.0468716 -0.190682 0.11 -0.2 pose: 0.70992504 -6.21554 -1.81262 0 0.00659827 -0.00705342 0.506586 0.862136 uwb: 0.0 1073.09 1651.31 -imu_odom_: 1691062916.338422233 1.28329 -0.248997 9.55047 -0.0681769 -0.0330232 -0.123571 0.11 -0.2 pose: 0.8089781 -6.21559 -1.81262 0 0.00717574 -0.00784439 0.505778 0.862598 uwb: 0.50040679 1067.36 1651.53 -imu_odom_: 1691062916.355370874 0.885855 -0.402226 9.48343 -0.0490022 -0.00213053 -0.132093 0.11 -0.2 pose: 0.0 -6.21559 -1.81262 0 0.00717574 -0.00784439 0.505778 0.862598 uwb: 0.0 1067.36 1651.53 -imu_odom_: 1691062916.368373495 0.572214 -0.11971 10.3597 -0.0415453 0.00213053 -0.172573 0.1 -0.2 pose: 0.43001128 -6.20613 -1.81586 0 0.00815368 -0.0121456 0.502452 0.864481 uwb: 0.0 1067.36 1651.53 -imu_odom_: 1691062916.384376024 0.713472 0.0861913 9.7444 -0.0628506 -0.0607201 -0.153398 0.09 -0.14 pose: 0.0 -6.20613 -1.81586 0 0.00815368 -0.0121456 0.502452 0.864481 uwb: 0.49961058 1065.58 1651 -imu_odom_: 1691062916.401371038 0.835576 -0.208296 9.89045 -0.076699 0.00319579 -0.122505 0.09 -0.14 pose: 0.0 -6.20613 -1.81586 0 0.00815368 -0.0121456 0.502452 0.864481 uwb: 0.0 1065.58 1651 -imu_odom_: 1691062916.418377134 0.967257 -0.543484 10.161 -0.0596548 -0.00958738 -0.111853 0.07 -0.11 pose: 0.20930244 -6.20289 -1.8064 0 0.00907194 -0.0106932 0.500584 0.865574 uwb: 0.0 1065.58 1651 -imu_odom_: 1691062916.433320683 0.864307 -0.260968 9.81862 -0.0553937 -0.0223706 -0.105461 0.07 -0.11 pose: 0.0 -6.20289 -1.8064 0 0.00907194 -0.0106932 0.500584 0.865574 uwb: 0.0 1065.58 1651 -imu_odom_: 1691062916.456411759 0.895431 -0.114922 10.0317 -0.0596548 -0.00532632 -0.0607201 0.07 -0.11 pose: 0.33186823 -6.20289 -1.8064 0 0.0096759 -0.01308 0.498177 0.866923 uwb: 0.49996639 1062.14 1651.03 -imu_odom_: 1691062916.481418974 0.234632 -0.371101 9.991 -0.0575243 0.0415453 -0.107592 0.06 -0.14 pose: 0.30820378 -6.20289 -1.8064 0 0.0100707 -0.01581 0.496343 0.867924 uwb: 0.0 1062.14 1651.03 -imu_odom_: 1691062916.506279489 -0.830788 0.253785 9.72525 -0.0500674 0.0671117 -0.183225 0.07 -0.08 pose: 0.41110655 -6.20289 -1.8064 0 0.00935588 -0.0143735 0.494054 0.869262 uwb: 0.50006556 1063.21 1650.29 -imu_odom_: 1691062916.531605186 -0.811634 -0.988805 9.56962 -0.0777643 -0.0394148 -0.0255663 0.07 -0.08 pose: 0.0 -6.20289 -1.8064 0 0.00935588 -0.0143735 0.494054 0.869262 uwb: 0.0 1063.21 1650.29 -imu_odom_: 1691062916.557259863 0.651223 -0.277727 9.70131 -0.036219 -0.0692422 -0.0671117 0.14 -0.11 pose: 0.7019134 -6.20289 -1.8064 0 0.00909471 -0.0134571 0.493378 0.869663 uwb: 0.50113591 1061.49 1650.27 -imu_odom_: 1691062916.573374678 0.620098 0.112527 9.38048 -0.0596548 -0.0223706 -0.0106526 0.14 -0.11 pose: 0.0 -6.20289 -1.8064 0 0.00909471 -0.0134571 0.493378 0.869663 uwb: 0.0 1061.49 1650.27 -imu_odom_: 1691062916.591419047 0.114922 -0.229843 9.89045 -0.0681769 0.00532632 0.0990696 0.14 0.02 pose: 0.50967834 -6.19957 -1.79697 0 0.00588022 -0.0110245 0.490602 0.871294 uwb: 0.0 1061.49 1650.27 -imu_odom_: 1691062916.607420118 0.141258 -0.902614 9.85453 -0.0532632 -0.0426106 0.157659 0.14 0.02 pose: 0.0 -6.19957 -1.79697 0 0.00588022 -0.0110245 0.490602 0.871294 uwb: 0.0 1061.49 1650.27 -imu_odom_: 1691062916.621318395 0.378284 -0.555455 9.55526 -0.0436758 -0.0213053 0.201335 0.14 0.02 pose: 0.0 -6.19957 -1.79697 0 0.00588022 -0.0110245 0.490602 0.871294 uwb: 0.0 1061.49 1650.27 -imu_odom_: 1691062916.637256178 0.134075 -0.299275 9.90002 -0.0511327 -0.00213053 0.276969 0.13 0.2 pose: 0.41935149 -6.19957 -1.79697 0 0.00592029 -0.0111884 0.489626 0.871841 uwb: 0.100011944 1059.73 1649.82 -imu_odom_: 1691062916.655246009 0.237026 -0.462081 9.73961 -0.0628506 0.0117179 0.340885 0.13 0.2 pose: 0.0 -6.19957 -1.79697 0 0.00592029 -0.0111884 0.489626 0.871841 uwb: 0.0 1059.73 1649.82 -imu_odom_: 1691062916.672257646 0.0646434 -0.471658 10.1394 -0.0372843 0.015979 0.36219 0.13 0.2 pose: 0.0 -6.19957 -1.79697 0 0.00592029 -0.0111884 0.489626 0.871841 uwb: 0.0 1059.73 1649.82 -imu_odom_: 1691062916.685303431 0.143652 -0.260968 9.63187 -0.0276969 0.0298274 0.386691 0.14 0.32 pose: 0.48061543 -6.19626 -1.78754 0 0.00218844 -0.00959316 0.492569 0.870218 uwb: 0.49975058 1057.42 1649.58 -imu_odom_: 1691062916.701289045 0.265756 -0.361524 9.60554 -0.0735032 0.0266316 0.437824 0.13 0.35 pose: 0.0 -6.19626 -1.78754 0 0.00218844 -0.00959316 0.492569 0.870218 uwb: 0.0 1057.42 1649.58 -imu_odom_: 1691062916.719289958 0.529119 -0.368707 9.92875 -0.0415453 0.00426106 0.453803 0.13 0.35 pose: 0.63919415 -6.19292 -1.77811 0 -0.00246544 -0.00453389 0.501507 0.865138 uwb: 0.0 1057.42 1649.58 -imu_odom_: 1691062916.736231308 0.339977 -0.0766145 9.98382 -0.0458064 0.0213053 0.477238 0.13 0.35 pose: 0.0 -6.19292 -1.77811 0 -0.00246544 -0.00453389 0.501507 0.865138 uwb: 0.49870938 1060.76 1648.71 -imu_odom_: 1691062916.749227803 -0.011971 -0.435745 9.74201 -0.0543285 -0.0255663 0.527306 0.15 0.44 pose: 0.0 -6.19292 -1.77811 0 -0.00246544 -0.00453389 0.501507 0.865138 uwb: 0.0 1060.76 1648.71 -imu_odom_: 1691062916.765284580 0.234632 -0.565032 10.3334 -0.0543285 -0.0213053 0.551807 0.15 0.44 pose: 0.32969544 -6.1896 -1.76868 0 -0.00290453 -0.00490464 0.507414 0.861683 uwb: 0.0 1060.76 1648.71 -imu_odom_: 1691062916.783287826 0.191536 -0.577003 9.45949 -0.0490022 0.0351537 0.561394 0.21 0.7 pose: 0.38992987 -6.1896 -1.76868 0 -0.00483609 -0.00311555 0.51555 0.85684 uwb: 0.0 1060.76 1648.71 -imu_odom_: 1691062916.800222468 0.64404 -0.131681 9.98861 -0.0585895 0.0149137 0.598679 0.21 0.7 pose: 0.8002577 -6.1896 -1.76868 0 -0.00569319 -0.00283055 0.517338 0.855757 uwb: 0.49969516 1064.16 1648.5 -imu_odom_: 1691062916.813220130 0.275333 -0.134075 10.0796 -0.0468716 0.00745685 0.617853 0.21 0.7 pose: 0.0 -6.1896 -1.76868 0 -0.00569319 -0.00283055 0.517338 0.855757 uwb: 0.0 1064.16 1648.5 -imu_odom_: 1691062916.830456338 0.225055 -0.833182 9.74201 -0.0394148 -0.0308927 0.641289 0.15 0.55 pose: 0.39932973 -6.17682 -1.7625 0 -0.00469014 -0.0016012 0.526808 0.84997 uwb: 0.0 1064.16 1648.5 -imu_odom_: 1691062916.847386314 1.01993 -0.727837 10.1203 -0.0713727 -0.0340885 0.611462 0.15 0.55 pose: 0.0 -6.17682 -1.7625 0 -0.00469014 -0.0016012 0.526808 0.84997 uwb: 0.50002473 1061.85 1648.18 -imu_odom_: 1691062916.865383436 0.742203 -0.304064 9.68933 -0.0394148 -0.015979 0.600809 0.15 0.55 pose: 0.0 -6.17682 -1.7625 0 -0.00469014 -0.0016012 0.526808 0.84997 uwb: 0.0 1061.85 1648.18 -imu_odom_: 1691062916.882381074 1.55144 -0.52433 10.4914 -0.0681769 -0.0596548 0.591222 0.11 0.38 pose: 0.24026397 -6.17688 -1.7625 0 -0.00610874 -0.00293384 0.532845 0.846185 uwb: 0.0 1061.85 1648.18 -imu_odom_: 1691062916.896233562 1.62327 -0.184354 9.40442 -0.0223706 -0.0308927 0.488956 0.11 0.41 pose: 0.0 -6.17688 -1.7625 0 -0.00610874 -0.00293384 0.532845 0.846185 uwb: 0.50203711 1058.97 1647.91 -imu_odom_: 1691062916.913401232 1.59693 -0.0191536 10.003 -0.0436758 0.0266316 0.409062 0.11 0.41 pose: 0.36022534 -6.17358 -1.75306 0 -0.00435652 -0.00636392 0.541364 0.840753 uwb: 0.0 1058.97 1647.91 -imu_odom_: 1691062916.930400620 1.20428 -0.0143652 9.95748 -0.076699 0.0127832 0.36432 0.09 0.29 pose: 0.40132171 -6.17358 -1.75306 0 -0.00149616 -0.00930437 0.548707 0.835961 uwb: 0.0 1058.97 1647.91 -imu_odom_: 1691062916.947511127 0.799663 -0.344765 9.64863 -0.0607201 0.036219 0.305731 0.09 0.29 pose: 0.6980345 -6.17358 -1.75306 0 -0.00100045 -0.00964954 0.549647 0.835341 uwb: 0.49812316 1060.04 1647.2 -imu_odom_: 1691062916.963238631 0.572214 -0.387861 9.92157 -0.056459 -0.0149137 0.265251 0.09 0.29 pose: 0.0 -6.17358 -1.75306 0 -0.00100045 -0.00964954 0.549647 0.835341 uwb: 0.0 1060.04 1647.2 -imu_odom_: 1691062916.981362620 0.782904 -0.155623 9.94312 -0.0436758 -0.0117179 0.22264 0.1 0.35 pose: 0.42857054 -6.17192 -1.74841 0 -0.00122549 -0.0118197 0.554366 0.832188 uwb: 0.0 1060.04 1647.2 -imu_odom_: 1691062916.998360842 0.785298 -0.150835 9.86172 -0.056459 -0.00426106 0.24075 0.1 0.35 pose: 0.0 -6.17192 -1.74841 0 -0.00122549 -0.0118197 0.554366 0.832188 uwb: 0.50005681 1060.01 1646.87 -imu_odom_: 1691062917.11488871 0.756568 -0.380678 9.87608 -0.0532632 0.00532632 0.237554 0.1 0.35 pose: 0.0 -6.17192 -1.74841 0 -0.00122549 -0.0118197 0.554366 0.832188 uwb: 0.0 1060.01 1646.87 -imu_odom_: 1691062917.27296287 0.790087 -0.409408 9.9527 -0.0490022 0.00639159 0.209857 0.05 0.2 pose: 0.26156898 -6.17035 -1.74359 0 0.00144438 -0.0122825 0.556389 0.83083 uwb: 0.0 1060.01 1646.87 -imu_odom_: 1691062917.45241204 0.890643 -0.126893 9.84735 -0.0447411 -0.00639159 0.20027 0.08 0.29 pose: 0.0 -6.17035 -1.74359 0 0.00144438 -0.0122825 0.556389 0.83083 uwb: 0.49892812 1060.55 1646.56 -imu_odom_: 1691062917.62294548 0.526724 -0.201113 9.79947 -0.0660464 0.0319579 0.22051 0.08 0.29 pose: 0.29986551 -6.17035 -1.74359 0 0.0024227 -0.0144383 0.55875 0.829207 uwb: 0.0 1060.55 1646.56 -imu_odom_: 1691062917.85294338 0.40462 -0.222661 9.91918 -0.0543285 0.0149137 0.209857 0.05 0.17 pose: 0.42912468 -6.17029 -1.7436 0 0.00398238 -0.0135959 0.561757 0.827181 uwb: 0.49982058 1056.52 1645.98 -imu_odom_: 1691062917.103269587 -0.232238 -0.328006 9.70609 -0.0553937 0.0596548 0.230097 0.05 0.17 pose: 0.0 -6.17029 -1.7436 0 0.00398238 -0.0135959 0.561757 0.827181 uwb: 0.0 1056.52 1645.98 -imu_odom_: 1691062917.116358827 -0.859518 -0.395043 10.1011 -0.0585895 0.0756338 0.225836 0.05 0.17 pose: 0.7074548 -6.17035 -1.74359 0 0.00372234 -0.0128661 0.562261 0.826852 uwb: 0.0 1056.52 1645.98 -imu_odom_: 1691062917.134440528 -0.866701 -0.289698 10.1251 -0.0553937 -0.0298274 0.210922 0.07 0.17 pose: 0.0 -6.17035 -1.74359 0 0.00372234 -0.0128661 0.562261 0.826852 uwb: 0.0 1056.52 1645.98 -imu_odom_: 1691062917.149432782 -0.227449 -0.215478 9.77074 -0.052198 -0.0649811 0.2024 0.07 0.17 pose: 0.0 -6.17035 -1.74359 0 0.00372234 -0.0128661 0.562261 0.826852 uwb: 0.0 1056.52 1645.98 -imu_odom_: 1691062917.167431654 0.533907 -0.270545 9.79707 -0.0490022 -0.0468716 0.181095 0.13 0.2 pose: 0.73076634 -6.16705 -1.73416 0 -0.000572309-0.00606124 0.567671 0.823233 uwb: 0.0 1056.52 1645.98 -imu_odom_: 1691062917.185317658 0.667982 -0.129287 9.76834 -0.0575243 -0.0170442 0.178964 0.13 0.2 pose: 0.0 -6.16705 -1.73416 0 -0.000572309-0.00606124 0.567671 0.823233 uwb: 0.100101774 1054.81 1645.92 -imu_odom_: 1691062917.198433147 0.409408 -0.399832 9.94551 -0.0585895 0.0266316 0.173638 0.13 0.2 pose: 0.0 -6.16705 -1.73416 0 -0.000572309-0.00606124 0.567671 0.823233 uwb: 0.0 1054.81 1645.92 -imu_odom_: 1691062917.214371805 -0.275333 -0.526724 9.76834 -0.0735032 0.0351537 0.158724 0.11 0.11 pose: 0.32991710 -6.16705 -1.73416 0 0.00175593 -0.00712285 0.569633 0.821866 uwb: 0.0 1054.81 1645.92 -imu_odom_: 1691062917.232472463 -0.0311246 -0.335188 10.0485 -0.0628506 -0.00319579 0.152333 0.11 0.11 pose: 0.38934365 -6.16541 -1.72946 0 -0.000250985-0.00583817 0.571712 0.820434 uwb: 0.0 1054.81 1645.92 -imu_odom_: 1691062917.249346442 0.3304 -0.354342 10.2496 -0.0543285 -0.0127832 0.165116 0.11 0.11 pose: 0.0 -6.16541 -1.72946 0 -0.000250985-0.00583817 0.571712 0.820434 uwb: 0.50064011 1054.78 1645.52 -imu_odom_: 1691062917.262344979 0.624887 -0.0909797 10.2376 -0.0543285 -0.0330232 0.158724 0.12 0.11 pose: 0.0 -6.16541 -1.72946 0 -0.000250985-0.00583817 0.571712 0.820434 uwb: 0.0 1054.78 1645.52 -imu_odom_: 1691062917.279371491 0.529119 -0.344765 9.94791 -0.0479369 -0.0426106 0.156594 0.12 0.11 pose: 0.8061782 -6.16376 -1.72471 0 -0.000802547-0.00523689 0.572089 0.820174 uwb: 0.0 1054.78 1645.52 -imu_odom_: 1691062917.294490322 -0.00718261-0.213084 9.94073 -0.0553937 0.00639159 0.140615 0.12 0.11 pose: 0.0 -6.16376 -1.72471 0 -0.000802547-0.00523689 0.572089 0.820174 uwb: 0.50120883 1054.76 1645.31 -imu_odom_: 1691062917.312494444 0.225055 -0.153229 10.4483 -0.0383495 -0.0308927 0.138484 0.13 0.05 pose: 0.63954122 -6.16376 -1.72471 0 -0.00167447 -0.00528366 0.575167 0.818017 uwb: 0.0 1054.76 1645.31 -imu_odom_: 1691062917.328217281 0.679953 -0.229843 10.0054 -0.0617853 -0.0543285 0.135289 0.13 0.05 pose: 0.0 -6.16376 -1.72471 0 -0.00167447 -0.00528366 0.575167 0.818017 uwb: 0.0 1054.76 1645.31 -imu_odom_: 1691062917.346427016 0.718261 -0.198719 9.90242 -0.0383495 -0.00852212 0.11931 0.13 0.05 pose: 0.0 -6.16376 -1.72471 0 -0.00167447 -0.00528366 0.575167 0.818017 uwb: 0.0 1054.76 1645.31 -imu_odom_: 1691062917.363356409 1.23541 -0.275333 9.94791 -0.0607201 -0.052198 0.142745 0.14 0.08 pose: 0.34113979 -6.16047 -1.71527 0 -0.00118027 -0.00355518 0.576553 0.817051 uwb: 0.0 1054.76 1645.31 -imu_odom_: 1691062917.380361339 1.2402 -0.150835 9.84735 -0.0490022 -0.0213053 0.173638 0.14 0.08 pose: 0.33926156 -6.15722 -1.70581 0 0.00156747 -0.00618126 0.577769 0.816175 uwb: 0.0 1054.76 1645.31 -imu_odom_: 1691062917.398354669 1.12288 -0.160412 10.003 -0.0585895 -0.0596548 0.22264 0.14 0.08 pose: 0.0 -6.15722 -1.70581 0 0.00156747 -0.00618126 0.577769 0.816175 uwb: 0.99759960 1054.73 1644.91 -imu_odom_: 1691062917.415345892 1.83635 -0.320823 10.058 -0.0479369 -0.0351537 0.183225 0.1 0.02 pose: 0.43926825 -6.15716 -1.70581 0 0.00500586 -0.0101176 0.580381 0.814267 uwb: 0.0 1054.73 1644.91 -imu_odom_: 1691062917.431272009 1.48441 0.0023942 9.77074 -0.0372843 0.0351537 0.103331 0.09 0.05 pose: 0.0 -6.15716 -1.70581 0 0.00500586 -0.0101176 0.580381 0.814267 uwb: 0.0 1054.73 1644.91 -imu_odom_: 1691062917.448270231 0.979228 0.0191536 9.80904 -0.0490022 0.0181095 0.0756338 0.09 0.05 pose: 0.0 -6.15716 -1.70581 0 0.00500586 -0.0101176 0.580381 0.814267 uwb: 0.0 1054.73 1644.91 -imu_odom_: 1691062917.465267578 0.634463 -0.339977 9.91918 -0.0703074 -0.00106526 0.0617853 0.08 0.02 pose: 0.8042242 -6.15722 -1.70581 0 0.0055245 -0.0108852 0.580845 0.813923 uwb: 0.0 1054.73 1644.91 -imu_odom_: 1691062917.482260550 0.821211 -0.445322 9.85932 -0.052198 -0.0298274 0.0308927 0.08 0.02 pose: 0.0 -6.15722 -1.70581 0 0.0055245 -0.0108852 0.580845 0.813923 uwb: 0.0 1054.73 1644.91 -imu_odom_: 1691062917.499324393 0.871489 -0.208296 9.90481 -0.0575243 -0.0276969 0.0447411 0.08 0.02 pose: 0.49818734 -6.15398 -1.69635 0 0.00802945 -0.0126923 0.582067 0.813002 uwb: 0.100041694 1053 1644.59 -imu_odom_: 1691062917.515330714 0.893037 -0.251391 9.95509 -0.0649811 -0.00745685 0.0788296 0.06 0.02 pose: 0.0 -6.15398 -1.69635 0 0.00802945 -0.0126923 0.582067 0.813002 uwb: 0.0 1053 1644.59 -imu_odom_: 1691062917.533334836 0.823605 -0.407014 9.79707 -0.0532632 -0.00745685 0.0841559 0.06 0.02 pose: 0.0 -6.15398 -1.69635 0 0.00802945 -0.0126923 0.582067 0.813002 uwb: 0.0 1053 1644.59 -imu_odom_: 1691062917.550217272 0.682347 -0.234632 9.96706 -0.0511327 -0.00958738 0.072438 0.05 0.05 pose: 0.67182976 -6.15398 -1.69635 0 0.00870767 -0.0176004 0.582497 0.812595 uwb: 0.49999848 1055.21 1644.02 -imu_odom_: 1691062917.575200572 0.691924 -0.100556 10.1035 -0.0553937 -0.0149137 0.0458064 0.05 0.02 pose: 0.0 -6.15398 -1.69635 0 0.00870767 -0.0176004 0.582497 0.812595 uwb: 0.0 1055.21 1644.02 -imu_odom_: 1691062917.592183629 0.251391 -0.174777 9.65582 -0.0607201 0.0426106 0.036219 0.05 0.05 pose: 0.33873659 -6.15398 -1.69635 0 0.00839512 -0.0161899 0.582934 0.812315 uwb: 0.49928978 1050.71 1644.25 -imu_odom_: 1691062917.617454204 -1.08218 -0.292093 10.3262 -0.0553937 0.0298274 0.0713727 0.05 0.05 pose: 0.34911349 -6.15398 -1.69635 0 0.00829309 -0.0129507 0.582959 0.812356 uwb: 0.0 1050.71 1644.25 -imu_odom_: 1691062917.642399589 -0.454898 -0.253785 9.98622 -0.0394148 -0.0777643 0.0703074 0.06 0 pose: 0.7079214 -6.15398 -1.69635 0 0.00778906 -0.0122925 0.583058 0.8123 uwb: 0.50383076 1050.11 1643.85 -imu_odom_: 1691062917.667345266 0.385466 -0.0622492 9.52892 -0.0575243 -0.0213053 0.0809601 0.1 0.02 pose: 0.43136746 -6.15078 -1.68688 0 0.00569111 -0.00923257 0.583639 0.811941 uwb: 0.0 1050.11 1643.85 -imu_odom_: 1691062917.692342857 -0.0047884 -0.306458 9.48822 -0.0490022 0.00426106 0.0745685 0.1 0.02 pose: 0.0 -6.15078 -1.68688 0 0.00569111 -0.00923257 0.583639 0.811941 uwb: 0.49609620 1044.47 1643.89 -imu_odom_: 1691062917.709325622 -0.361524 -0.277727 9.85932 -0.0500674 -0.00426106 0.0681769 0.1 0.02 pose: 0.49943268 -6.15078 -1.68688 0 0.00404575 -0.00506139 0.584425 0.811422 uwb: 0.0 1044.47 1643.89 -imu_odom_: 1691062917.727194126 0.0430956 -0.215478 10.0868 -0.0543285 -0.0543285 0.162985 0.11 0.02 pose: 0.0 -6.15078 -1.68688 0 0.00404575 -0.00506139 0.584425 0.811422 uwb: 0.0 1044.47 1643.89 -imu_odom_: 1691062917.744326799 0.47884 -0.703895 9.84017 -0.0490022 -0.0181095 0.238619 0.11 0.02 pose: 0.0 -6.15078 -1.68688 0 0.00404575 -0.00506139 0.584425 0.811422 uwb: 0.49948518 1046.15 1643.72 -imu_odom_: 1691062917.761318604 0.320823 -0.639252 9.76355 -0.0234358 -0.00532632 0.291882 0.13 0.26 pose: 0.41920567 -6.14749 -1.67743 0 0.00166486 -0.00311279 0.586097 0.810233 uwb: 0.0 1046.15 1643.72 -imu_odom_: 1691062917.779316601 0.1652 -0.265756 9.89763 -0.0266316 0.00852212 0.36219 0.13 0.26 pose: 0.0 -6.14749 -1.67743 0 0.00166486 -0.00311279 0.586097 0.810233 uwb: 0.0 1046.15 1643.72 -imu_odom_: 1691062917.796319198 0.316035 -0.351948 9.91918 -0.0415453 -0.0298274 0.437824 0.14 0.35 pose: 0.35055424 -6.14749 -1.67743 0 -0.000907752-0.00328608 0.589697 0.807618 uwb: 0.50036888 1041.64 1643.84 -imu_odom_: 1691062917.809240448 0.146046 -0.40462 9.76834 -0.0383495 -0.0127832 0.46339 0.15 0.44 pose: 0.0 -6.14749 -1.67743 0 -0.000907752-0.00328608 0.589697 0.807618 uwb: 0.0 1041.64 1643.84 -imu_odom_: 1691062917.826302541 0.847547 -0.232238 10.0365 -0.0255663 -0.0117179 0.477238 0.13 0.47 pose: 0.0 -6.14749 -1.67743 0 -0.000907752-0.00328608 0.589697 0.807618 uwb: 0.0 1041.64 1643.84 -imu_odom_: 1691062917.842226909 0.68953 -0.141258 9.71088 -0.036219 0.0170442 0.493217 0.13 0.47 pose: 0.48042295 -6.14422 -1.66798 0 -0.00319912 -0.0019038 0.59736 0.801965 uwb: 0.49997223 1038.83 1643.97 -imu_odom_: 1691062917.859219589 0.162806 -0.471658 9.68455 -0.0596548 0.0340885 0.529436 0.14 0.47 pose: 0.0 -6.14422 -1.66798 0 -0.00319912 -0.0019038 0.59736 0.801965 uwb: 0.0 1038.83 1643.97 -imu_odom_: 1691062917.875176913 0.143652 -0.311246 10.1227 -0.0447411 0.00639159 0.568851 0.14 0.47 pose: 0.41858446 -6.14089 -1.65853 0 -0.00288889 -0.00225311 0.605131 0.796117 uwb: 0.0 1038.83 1643.97 -imu_odom_: 1691062917.892172218 0.354342 -0.45011 9.88805 -0.0585895 0.0127832 0.575243 0.14 0.47 pose: 0.0 -6.14089 -1.65853 0 -0.00288889 -0.00225311 0.605131 0.796117 uwb: 0.0 1038.83 1643.97 -imu_odom_: 1691062917.908166290 0.361524 -0.191536 9.89045 -0.0447411 -0.0191748 0.58483 0.15 0.58 pose: 0.0 -6.14089 -1.65853 0 -0.00288889 -0.00225311 0.605131 0.796117 uwb: 0.0 1038.83 1643.97 -imu_odom_: 1691062917.925254340 0.304064 -0.481235 9.38766 -0.0436758 0.0149137 0.618919 0.15 0.58 pose: 0.8080739 -6.14095 -1.65853 0 -0.00343 -0.00158951 0.606834 0.79482 uwb: 0.0 1038.83 1643.97 -imu_odom_: 1691062917.941191832 0.141258 -0.555455 10.0006 -0.0436758 -0.0138484 0.627441 0.15 0.58 pose: 0.0 -6.14095 -1.65853 0 -0.00343 -0.00158951 0.606834 0.79482 uwb: 0.100002322 1038.84 1644.21 -imu_odom_: 1691062917.959313780 0.385466 -0.0502782 9.87369 -0.0500674 0.0266316 0.66579 0.2 0.85 pose: 0.65963006 -6.13768 -1.64908 0 -0.00650895 -0.00107074 0.621271 0.783568 uwb: 0.0 1038.84 1644.21 -imu_odom_: 1691062917.976203217 0.866701 -0.543484 10.2615 -0.0468716 -0.072438 0.657268 0.14 0.58 pose: 0.0 -6.13768 -1.64908 0 -0.00650895 -0.00107074 0.621271 0.783568 uwb: 0.0 1038.84 1644.21 -imu_odom_: 1691062917.992454232 1.10133 0.102951 9.50259 -0.0436758 -0.0191748 0.616788 0.14 0.58 pose: 0.0 -6.13768 -1.64908 0 -0.00650895 -0.00107074 0.621271 0.783568 uwb: 0.49931310 1036 1644 -imu_odom_: 1691062918.10180703 1.17555 -0.316035 9.59357 -0.0511327 -0.0191748 0.633832 0.12 0.44 pose: 0.33943363 -6.13768 -1.64908 0 -0.00538135 -0.0008210790.629423 0.777044 uwb: 0.0 1036 1644 -imu_odom_: 1691062918.27175717 1.72143 -0.275333 9.97903 -0.0511327 -0.0436758 0.548611 0.12 0.44 pose: 0.33122078 -6.13442 -1.63963 0 -0.00274326 -0.00314487 0.637009 0.770845 uwb: 0.0 1036 1644 -imu_odom_: 1691062918.44175397 1.84114 -0.011971 9.88087 -0.04048 0.0181095 0.450607 0.12 0.44 pose: 0.0 -6.13442 -1.63963 0 -0.00274326 -0.00314487 0.637009 0.770845 uwb: 0.50069553 1033.72 1643.58 -imu_odom_: 1691062918.61222325 1.22344 0.0335188 9.76116 -0.052198 0.0181095 0.386691 0.1 0.32 pose: 0.0 -6.13442 -1.63963 0 -0.00274326 -0.00314487 0.637009 0.770845 uwb: 0.0 1033.72 1643.58 -imu_odom_: 1691062918.78287334 0.565032 -0.0766145 9.39485 -0.0585895 0.0394148 0.338754 0.1 0.32 pose: 0.43846622 -6.13959 -1.6378 0 0.000539685 -0.00630016 0.645235 0.763958 uwb: 0.0 1033.72 1643.58 -imu_odom_: 1691062918.95226060 0.711078 -0.363919 10.1514 -0.0617853 -0.00639159 0.292948 0.1 0.32 pose: 0.0 -6.13959 -1.6378 0 0.000539685 -0.00630016 0.645235 0.763958 uwb: 0.50061387 1030.34 1643.44 -imu_odom_: 1691062918.112218449 0.754174 -0.146046 9.87608 -0.0447411 0 0.265251 0.07 0.29 pose: 0.8053033 -6.14388 -1.63639 0 0.00120666 -0.00657649 0.646297 0.763057 uwb: 0.0 1030.34 1643.44 -imu_odom_: 1691062918.128223312 0.849942 -0.138864 10.1083 -0.056459 -0.00852212 0.274838 0.07 0.23 pose: 0.0 -6.14388 -1.63639 0 0.00120666 -0.00657649 0.646297 0.763057 uwb: 0.0 1030.34 1643.44 -imu_odom_: 1691062918.145222409 0.761356 -0.287304 9.59835 -0.052198 -0.00213053 0.266316 0.07 0.23 pose: 0.0 -6.14388 -1.63639 0 0.00120666 -0.00657649 0.646297 0.763057 uwb: 0.50056137 1028.65 1643.54 -imu_odom_: 1691062918.161144443 0.768539 -0.222661 9.97903 -0.0500674 0 0.24075 0.07 0.23 pose: 0.51001082 -6.14065 -1.62692 0 0.00408308 -0.00777746 0.651721 0.758408 uwb: 0.0 1028.65 1643.54 -imu_odom_: 1691062918.179230519 0.725443 -0.0191536 9.90481 -0.0511327 0.00106526 0.234358 0.07 0.23 pose: 0.0 -6.14065 -1.62692 0 0.00408308 -0.00777746 0.651721 0.758408 uwb: 0.0 1028.65 1643.54 -imu_odom_: 1691062918.195141762 0.677559 -0.251391 9.92397 -0.0553937 0.00639159 0.245011 0.07 0.23 pose: 0.65981088 -6.14065 -1.62692 0 0.00891409 -0.0109199 0.657114 0.753659 uwb: 0.49816401 1028.65 1643.54 -imu_odom_: 1691062918.212163316 0.596156 -0.308852 9.87129 -0.0575243 -0.00532632 0.251402 0.07 0.29 pose: 0.0 -6.14065 -1.62692 0 0.00891409 -0.0109199 0.657114 0.753659 uwb: 0.0 1028.65 1643.54 -imu_odom_: 1691062918.229199453 0.567426 -0.304064 9.85453 -0.0490022 0 0.245011 0.07 0.29 pose: 0.0 -6.14065 -1.62692 0 0.00891409 -0.0109199 0.657114 0.753659 uwb: 0.0 1028.65 1643.54 -imu_odom_: 1691062918.243141477 0.670376 -0.158017 9.93833 -0.0511327 -0.0255663 0.251402 0.07 0.29 pose: 0.34023568 -6.14065 -1.62692 0 0.00757562 -0.011185 0.659742 0.751371 uwb: 0.50055554 1028.66 1643.59 -imu_odom_: 1691062918.259142257 0.708684 -0.184354 9.76116 -0.0500674 -0.00745685 0.258859 0.04 0.2 pose: 0.39907309 -6.13733 -1.61747 0 0.00649806 -0.0100765 0.66289 0.748621 uwb: 0.0 1028.66 1643.59 -imu_odom_: 1691062918.276141646 0.766145 -0.351948 10.0341 -0.0575243 -0.00639159 0.266316 0.05 0.29 pose: 0.8007827 -6.13739 -1.61747 0 0.0073065 -0.0101911 0.663537 0.748039 uwb: 0.0 1028.66 1643.59 -imu_odom_: 1691062918.293173116 0.605733 -0.213084 9.80426 -0.0490022 0.00852212 0.262055 0.05 0.29 pose: 0.0 -6.13739 -1.61747 0 0.0073065 -0.0101911 0.663537 0.748039 uwb: 0.49947060 1028.11 1643.99 -imu_odom_: 1691062918.307158304 0.600945 -0.253785 10.0221 -0.0575243 0.00426106 0.270577 0.05 0.29 pose: 0.42023812 -6.13739 -1.61747 0 0.00747156 -0.0102546 0.667043 0.744911 uwb: 0.0 1028.11 1643.99 -imu_odom_: 1691062918.322158726 0.663194 -0.234632 9.83299 -0.0553937 -0.0149137 0.269512 0.03 0.23 pose: 0.0 -6.13739 -1.61747 0 0.00747156 -0.0102546 0.667043 0.744911 uwb: 0.0 1028.11 1643.99 -imu_odom_: 1691062918.340206595 0.667982 -0.215478 9.85453 -0.0500674 0.00319579 0.262055 0.03 0.23 pose: 0.0 -6.13739 -1.61747 0 0.00747156 -0.0102546 0.667043 0.744911 uwb: 0.50195838 1032.04 1643.64 -imu_odom_: 1691062918.357193734 0.639252 -0.160412 9.8258 -0.0553937 0 0.270577 0.02 0.2 pose: 0.21999432 -6.13739 -1.61747 0 0.00693933 -0.00991832 0.668937 0.743221 uwb: 0.0 1032.04 1643.64 -imu_odom_: 1691062918.373187806 0.632069 -0.277727 9.91918 -0.0543285 -0.00213053 0.279099 0.02 0.2 pose: 0.0 -6.13739 -1.61747 0 0.00693933 -0.00991832 0.668937 0.743221 uwb: 0.0 1032.04 1643.64 -imu_odom_: 1691062918.390171738 0.574608 -0.201113 9.84256 -0.0458064 0.00532632 0.271642 0.02 0.2 pose: 0.33007459 -6.13739 -1.61747 0 0.00953511 -0.00926342 0.671671 0.74073 uwb: 0.49754571 1027.55 1644.11 -imu_odom_: 1691062918.405361440 0.591368 -0.184354 9.89045 -0.0532632 0.00639159 0.273773 0.02 0.23 pose: 0.41991731 -6.13739 -1.61747 0 0.00746657 -0.00762917 0.675338 0.737431 uwb: 0.0 1027.55 1644.11 -imu_odom_: 1691062918.422165423 0.548272 -0.227449 9.88805 -0.052198 -0.00852212 0.257794 0.02 0.26 pose: 0.7069298 -6.13739 -1.61747 0 0.00751965 -0.00690021 0.675948 0.736879 uwb: 0.0 1027.55 1644.11 -imu_odom_: 1691062918.437182760 0.531513 -0.227449 9.86172 -0.0468716 -0.00213053 0.232228 0.02 0.26 pose: 0.0 -6.13739 -1.61747 0 0.00751965 -0.00690021 0.675948 0.736879 uwb: 0.49935978 1025.3 1644.1 -imu_odom_: 1691062918.454153275 0.562637 -0.146046 9.87608 -0.0532632 -0.00426106 0.211988 0.02 0.23 pose: 0.39941724 -6.13739 -1.61747 0 0.00455014 -0.00543964 0.679084 0.734026 uwb: 0.0 1025.3 1644.1 -imu_odom_: 1691062918.469209110 0.531513 -0.184354 9.87369 -0.0543285 -0.00213053 0.201335 0.02 0.23 pose: 0.0 -6.13739 -1.61747 0 0.00455014 -0.00543964 0.679084 0.734026 uwb: 0.0 1025.3 1644.1 -imu_odom_: 1691062918.486143461 0.562637 -0.237026 9.87129 -0.0532632 0.00319579 0.183225 0.02 0.23 pose: 0.0 -6.13739 -1.61747 0 0.00455014 -0.00543964 0.679084 0.734026 uwb: 0.50033680 1021.93 1644.35 -imu_odom_: 1691062918.510290893 0.596156 -0.153229 9.88326 -0.052198 0.00106526 0.16192 0.01 0.17 pose: 0.24979509 -6.13739 -1.61747 0 0.00569737 -0.0039432 0.680622 0.732602 uwb: 0.0 1021.93 1644.35 -imu_odom_: 1691062918.527280365 0.35913 -0.1652 9.9096 -0.0575243 0.0426106 0.153398 0.01 0.17 pose: 0.0 -6.13739 -1.61747 0 0.00569737 -0.0039432 0.680622 0.732602 uwb: 0.0 1021.93 1644.35 -imu_odom_: 1691062918.543155152 -0.770933 -0.272939 9.75637 -0.0596548 0.1012 0.122505 0.03 0.08 pose: 0.31995435 -6.13739 -1.61747 0 0.0058204 -0.00493598 0.682288 0.731044 uwb: 0.49920520 1016.87 1644.26 -imu_odom_: 1691062918.560144042 -1.66397 -0.215478 10.07 -0.0585895 0.0213053 0.0916127 0.06 0.02 pose: 0.41132238 -6.13739 -1.61747 0 0.00513005 -0.00255495 0.683957 0.729499 uwb: 0.0 1016.87 1644.26 -imu_odom_: 1691062918.576141905 -0.972046 -0.275333 9.91199 -0.0628506 -0.0649811 0.0671117 0.06 -0.02 pose: 0.0 -6.13739 -1.61747 0 0.00513005 -0.00255495 0.683957 0.729499 uwb: 0.0 1016.87 1644.26 -imu_odom_: 1691062918.593172792 0.301669 -0.023942 10.2017 -0.0490022 -0.0884169 0.0340885 0.06 -0.02 pose: 0.40851963 -6.13581 -1.61282 0 0.00201405 0.000317148 0.684683 0.728838 uwb: 0.50176005 1017.43 1644.25 -imu_odom_: 1691062918.609142074 0.646434 -0.263362 9.52653 -0.0596548 -0.0426106 0.0372843 0.06 -0.02 pose: 0.0 -6.13581 -1.61282 0 0.00201405 0.000317148 0.684683 0.728838 uwb: 0.0 1017.43 1644.25 -imu_odom_: 1691062918.626278829 0.311246 -0.292093 9.7444 -0.0532632 0.052198 0.0426106 0.08 0 pose: 0.0 -6.13581 -1.61282 0 0.00201405 0.000317148 0.684683 0.728838 uwb: 0.0 1017.43 1644.25 -imu_odom_: 1691062918.642213696 -0.201113 -0.387861 9.92636 -0.0596548 0.0308927 0.0298274 0.08 0 pose: 0.8197399 -6.13418 -1.608 0 0.00238757 0.000894907 0.684664 0.728854 uwb: 0.49835942 1019.13 1644.36 -imu_odom_: 1691062918.659278414 -0.464475 -0.181959 9.81623 -0.0607201 -0.0351537 0.0319579 0.14 -0.02 pose: 0.0 -6.13418 -1.608 0 0.00238757 0.000894907 0.684664 0.728854 uwb: 0.0 1019.13 1644.36 -imu_odom_: 1691062918.675353273 -0.201113 -0.225055 9.6223 -0.0479369 -0.0255663 0.036219 0.14 -0.02 pose: 0.0 -6.13418 -1.608 0 0.00238757 0.000894907 0.684664 0.728854 uwb: 0.0 1019.13 1644.36 -imu_odom_: 1691062918.693284775 0.452504 -0.31364 9.46907 -0.0543285 -0.00213053 0.0394148 0.14 -0.02 pose: 0.65967673 -6.13418 -1.608 0 -0.0006332770.0017418 0.684574 0.728941 uwb: 0.50025514 1023.07 1644.33 -imu_odom_: 1691062918.710295538 0.299275 -0.306458 9.88326 -0.0436758 0.0340885 0.0458064 0.11 -0.02 pose: 0.0 -6.13418 -1.608 0 -0.0006332770.0017418 0.684574 0.728941 uwb: 0.0 1023.07 1644.33 -imu_odom_: 1691062918.726281735 -0.126893 -0.320823 9.95509 -0.0703074 0.0340885 0.0426106 0.11 0 pose: 0.32868926 -6.13098 -1.59853 0 -0.00214186 0.00255836 0.684524 0.728983 uwb: 0.0 1023.07 1644.33 -imu_odom_: 1691062918.744204487 0.356736 -0.148441 10.0149 -0.052198 0.0372843 0.0266316 0.11 0 pose: 0.43105832 -6.13098 -1.59853 0 -0.00551591 0.00268436 0.684567 0.728924 uwb: 0.49944143 1027.02 1644.39 -imu_odom_: 1691062918.761135921 0.653617 -0.344765 9.10036 -0.0532632 0.0862864 0.0255663 0.12 0.02 pose: 0.7923540 -6.13098 -1.59853 0 -0.00484352 0.00297305 0.684534 0.728959 uwb: 0.0 1027.02 1644.39 -imu_odom_: 1691062918.777189489 -0.328006 -0.150835 10.4507 -0.056459 0.0287621 0.0628506 0.12 0.02 pose: 0.0 -6.13098 -1.59853 0 -0.00484352 0.00297305 0.684534 0.728959 uwb: 0.0 1027.02 1644.39 -imu_odom_: 1691062918.794184212 0.701501 -0.699107 9.8282 -0.056459 -0.0692422 0.0479369 0.12 0.02 pose: 0.42984214 -6.13429 -1.59182 0 -0.00493243 0.00385886 0.684535 0.728953 uwb: 0.49990225 1027.02 1644.39 -imu_odom_: 1691062918.810179159 0.864307 -0.110133 9.50019 -0.0436758 -0.0532632 0.0383495 0.11 0 pose: 0.0 -6.13429 -1.59182 0 -0.00493243 0.00385886 0.684535 0.728953 uwb: 0.0 1027.02 1644.39 -imu_odom_: 1691062918.827239502 1.075 -0.179565 10.0772 -0.0617853 0.0276969 0.116114 0.11 0 pose: 0.0 -6.13429 -1.59182 0 -0.00493243 0.00385886 0.684535 0.728953 uwb: 0.0 1027.02 1644.39 -imu_odom_: 1691062918.845127547 1.71185 -0.474052 10.3837 -0.0639159 -0.0117179 0.137419 0.11 0 pose: 0.25009258 -6.13725 -1.58585 0 -0.00385476 0.00122203 0.684584 0.728923 uwb: 0.0 1027.02 1644.39 -imu_odom_: 1691062918.861127744 1.52511 -0.318429 9.6223 -0.052198 0.00639159 0.0777643 0.08 0 pose: 0.0 -6.13725 -1.58585 0 -0.00385476 0.00122203 0.684584 0.728923 uwb: 0.0 1027.02 1644.39 -imu_odom_: 1691062918.878165339 1.23301 0.177171 10.2185 -0.0543285 0.0607201 0.0276969 0.07 -0.02 pose: 0.33056165 -6.13725 -1.58585 0 -0.00151177 -0.0009866910.685343 0.728218 uwb: 0.0 1027.02 1644.39 -imu_odom_: 1691062918.895139645 0.445322 -0.1652 9.55047 -0.0649811 0.0245011 0.0255663 0.07 -0.02 pose: 0.42910427 -6.13406 -1.57637 0 0.00126842 -0.00312778 0.685833 0.727752 uwb: 0.100139106 1031.52 1644.09 -imu_odom_: 1691062918.911148008 0.45011 -0.296881 10.07 -0.0532632 -0.00745685 -0.0181095 0.09 0 pose: 0.7983620 -6.13406 -1.57637 0 0.00160119 -0.00240358 0.685791 0.727793 uwb: 0.0 1031.52 1644.09 -imu_odom_: 1691062918.928253849 0.672771 -0.167594 10.0221 -0.0553937 -0.0213053 -0.036219 0.09 0 pose: 0.0 -6.13406 -1.57637 0 0.00160119 -0.00240358 0.685791 0.727793 uwb: 0.0 1031.52 1644.09 -imu_odom_: 1691062918.944252879 0.823605 -0.184354 9.92875 -0.0553937 -0.00958738 -0.00958738 0.09 0 pose: 0.42104890 -6.13406 -1.57637 0 0.00240579 -0.00358333 0.684932 0.728594 uwb: 0.50040096 1030.96 1644.26 -imu_odom_: 1691062918.960314614 0.85473 -0.347159 9.75398 -0.0639159 0.0117179 0.0149137 0.05 -0.02 pose: 0.0 -6.13406 -1.57637 0 0.00240579 -0.00358333 0.684932 0.728594 uwb: 0.0 1030.96 1644.26 -imu_odom_: 1691062918.977316336 0.670376 -0.299275 9.8689 -0.0543285 0.00639159 0.0223706 0.05 -0.02 pose: 0.0 -6.13406 -1.57637 0 0.00240579 -0.00358333 0.684932 0.728594 uwb: 0.0 1030.96 1644.26 -imu_odom_: 1691062919.2181809 0.596156 -0.107739 9.8689 -0.0543285 0.00213053 0.0181095 0.04 0 pose: 0.24017940 -6.13406 -1.57637 0 0.00392376 -0.00534298 0.684564 0.728923 uwb: 0.49956976 1029.26 1644.13 -imu_odom_: 1691062919.18287875 0.248997 -0.217872 9.85693 -0.0681769 0.0500674 0.0191748 0.05 0.02 pose: 0.0 -6.13406 -1.57637 0 0.00392376 -0.00534298 0.684564 0.728923 uwb: 0.0 1029.26 1644.13 -imu_odom_: 1691062919.43125351 -1.31202 -0.222661 10.2328 -0.0553937 0.0756338 0.0234358 0.06 0 pose: 0.66016086 -6.13406 -1.57637 0 0.00509273 -0.00478656 0.684055 0.729397 uwb: 0.49946186 1031.51 1643.88 -imu_odom_: 1691062919.68247185 -0.591368 -0.354342 9.78031 -0.0607201 -0.0660464 0.0532632 0.09 0 pose: 0.7839254 -6.13406 -1.57637 0 0.00433675 -0.00399035 0.684014 0.729445 uwb: 0.0 1031.51 1643.88 -imu_odom_: 1691062919.93175072 0.469264 -0.234632 9.51216 -0.0543285 0.00319579 0.0543285 0.09 0 pose: 0.42120056 -6.13085 -1.5669 0 0.00122261 -0.00129646 0.684049 0.729433 uwb: 0.49924895 1033.22 1644.24 -imu_odom_: 1691062919.110254373 0.253785 -0.23942 10.1347 -0.0660464 0.0511327 0.0479369 0.1 -0.02 pose: 0.0 -6.13085 -1.5669 0 0.00122261 -0.00129646 0.684049 0.729433 uwb: 0.0 1033.22 1644.24 -imu_odom_: 1691062919.135253423 -0.42138 -0.191536 9.70609 -0.0649811 0.00106526 0.0415453 0.1 -0.02 pose: 0.42007188 -6.13085 -1.5669 0 0.000112391 -0.00213048 0.684238 0.729256 uwb: 0.0 1033.22 1644.24 -imu_odom_: 1691062919.160271138 0.215478 -0.059855 9.91678 -0.0607201 -0.0245011 0.0298274 0.14 -0.02 pose: 0.0 -6.13085 -1.5669 0 0.000112391 -0.00213048 0.684238 0.729256 uwb: 0.0 1033.22 1644.24 -imu_odom_: 1691062919.185131071 0.0933739 -0.272939 9.96227 -0.0681769 0.0127832 0.0585895 0.14 -0.02 pose: 0.50016765 -6.12764 -1.55743 0 -0.00133618 0.0020229 0.684172 0.729317 uwb: 0.100002616 1033.78 1644.14 -imu_odom_: 1691062919.202368446 -0.0766145 -0.402226 9.69891 -0.0585895 -0.0117179 0.0394148 0.13 -0.02 pose: 0.0 -6.12764 -1.55743 0 -0.00133618 0.0020229 0.684172 0.729317 uwb: 0.0 1033.78 1644.14 -imu_odom_: 1691062919.228256444 0.646434 0.0622492 10.3094 -0.0660464 -0.0394148 0.0532632 0.13 -0.02 pose: 0.32894300 -6.12764 -1.55743 0 -0.00442872 0.00367639 0.684332 0.729148 uwb: 0.0 1033.78 1644.14 -imu_odom_: 1691062919.253251119 0.229843 -0.486023 9.79947 -0.0745685 0.0255663 0.0383495 0.17 0 pose: 0.0 -6.12764 -1.55743 0 -0.00442872 0.00367639 0.684332 0.729148 uwb: 0.49994016 1030.39 1644.24 -imu_odom_: 1691062919.278244628 0.0622492 -0.047884 9.96227 -0.0468716 -0.00958738 0.036219 0.17 0 pose: 0.43103208 -6.1339 -1.54475 0 -0.00336586 0.00288745 0.684465 0.729032 uwb: 0.0 1030.39 1644.24 -imu_odom_: 1691062919.303241344 0.143652 -0.363919 9.90002 -0.0553937 0.0234358 0.0596548 0.14 0 pose: 0.41975982 -6.13168 -1.5382 0 -0.00515513 0.00478607 0.684421 0.729053 uwb: 0.50059638 1028.13 1644.15 -imu_odom_: 1691062919.319301621 -0.268151 -0.339977 9.62469 -0.0426106 -0.00958738 0.02024 0.14 0 pose: 0.0 -6.13168 -1.5382 0 -0.00515513 0.00478607 0.684421 0.729053 uwb: 0.0 1028.13 1644.15 -imu_odom_: 1691062919.346249474 0.0981623 -0.268151 9.87369 -0.0671117 0.0436758 0.0649811 0.15 0 pose: 0.8014243 -6.1307 -1.53528 0 -0.00603189 0.00483848 0.684474 0.728997 uwb: 0.49935394 1025.88 1644.08 -imu_odom_: 1691062919.371187569 0.220267 -0.342371 10.307 -0.0553937 0.0181095 0.0287621 0.14 0 pose: 0.0 -6.1307 -1.53528 0 -0.00603189 0.00483848 0.684474 0.728997 uwb: 0.0 1025.88 1644.08 -imu_odom_: 1691062919.396235908 0.818817 -0.263362 10.2592 -0.0617853 -0.00745685 0.0415453 0.14 0 pose: 0.42020896 -6.1307 -1.53528 0 -0.00988581 0.00671676 0.684535 0.728882 uwb: 0.49991392 1027.57 1644.11 -imu_odom_: 1691062919.411245370 0.536301 -0.402226 9.88326 -0.0575243 0.0585895 0.056459 0.14 0 pose: 0.0 -6.1307 -1.53528 0 -0.00988581 0.00671676 0.684535 0.728882 uwb: 0.0 1027.57 1644.11 -imu_odom_: 1691062919.437193448 0.88346 -0.0861913 10.422 -0.0319579 0.0138484 0.015979 0.15 -0.02 pose: 0.49982058 -6.12749 -1.5258 0 -0.0108868 0.00543393 0.684588 0.728829 uwb: 0.50127009 1027 1644.01 -imu_odom_: 1691062919.452112791 0.246603 -0.21069 9.42837 -0.0458064 0.0298274 0.0468716 0.15 -0.02 pose: 0.0 -6.12749 -1.5258 0 -0.0108868 0.00543393 0.684588 0.728829 uwb: 0.0 1027 1644.01 -imu_odom_: 1691062919.479238551 -0.0383072 -0.31364 9.96706 -0.04048 0.0181095 0.0383495 0.15 0 pose: 0.41124365 -6.12429 -1.51633 0 -0.00856851 0.0028393 0.684631 0.728834 uwb: 0.0 1027 1644.01 -imu_odom_: 1691062919.504118024 0 -0.0790087 10.24 -0.0426106 0.0138484 0.0553937 0.16 -0.02 pose: 0.0 -6.12429 -1.51633 0 -0.00856851 0.0028393 0.684631 0.728834 uwb: 0.49995183 1027.56 1643.94 -imu_odom_: 1691062919.530104308 0.301669 -0.25618 10.489 -0.0415453 -0.00852212 0.0394148 0.16 -0.02 pose: 0.40774384 -6.13377 -1.51313 0 -0.00726555 0.00449016 0.68452 0.728944 uwb: 0.0 1027.56 1643.94 -imu_odom_: 1691062919.555102775 0.399832 -0.23942 10.1251 -0.0351537 0.0330232 0.04048 0.17 0 pose: 0.0 -6.13377 -1.51313 0 -0.00726555 0.00449016 0.68452 0.728944 uwb: 0.50124383 1029.25 1643.89 -imu_odom_: 1691062919.581108308 0.464475 -0.0981623 10.4244 -0.0319579 -0.00213053 0.0330232 0.17 0 pose: 0.52097978 -6.13056 -1.50366 0 -0.0083826 0.00796176 0.684646 0.728784 uwb: 0.0 1029.25 1643.89 -imu_odom_: 1691062919.596219556 0.378284 -0.0909797 10.4196 -0.0330232 -0.00852212 0.0372843 0.18 0.02 pose: 0.0 -6.13056 -1.50366 0 -0.0083826 0.00796176 0.684646 0.728784 uwb: 0.49928687 1029.81 1643.65 -imu_odom_: 1691062919.614167681 0.509965 -0.337582 9.8689 -0.0671117 0.0127832 0.072438 0.18 0.02 pose: 0.50898130 -6.12736 -1.49418 0 -0.00497099 0.00498464 0.684654 0.728834 uwb: 0.0 1029.81 1643.65 -imu_odom_: 1691062919.639225061 0.234632 -0.0909797 10.0437 -0.04048 0.036219 0.0234358 0.17 0 pose: 0.0 -6.12736 -1.49418 0 -0.00497099 0.00498464 0.684654 0.728834 uwb: 0.49934228 1029.81 1643.77 -imu_odom_: 1691062919.664120867 0.605733 -0.337582 9.43315 -0.0543285 0.0138484 0.056459 0.17 0 pose: 0.76068379 -6.12416 -1.48471 0 -0.0016671 0.00606678 0.684679 0.728817 uwb: 0.0 1029.81 1643.77 -imu_odom_: 1691062919.687113366 0.138864 -0.205901 9.44513 -0.04048 -0.0191748 0.0330232 0.17 0 pose: 0.0 -6.12416 -1.48471 0 -0.0016671 0.00606678 0.684679 0.728817 uwb: 0.50058471 1028.13 1643.94 -imu_odom_: 1691062919.713273474 0.148441 -0.186748 9.96227 -0.0628506 -0.00852212 0.0703074 0.17 0 pose: 0.7020009 -6.12416 -1.48471 0 -0.00154856 0.00543167 0.684725 0.728779 uwb: 0.0 1028.13 1643.94 -imu_odom_: 1691062919.739089143 0.110133 0.110133 9.89045 -0.0735032 -0.015979 0.0468716 0.24 0 pose: 0.49006491 -6.13044 -1.47204 0 -0.00334835 0.00583332 0.684862 0.728642 uwb: 0.49942395 1025.32 1643.96 -imu_odom_: 1691062919.764215352 0.725443 -0.351948 10.161 -0.0937433 0.015979 0.0617853 0.18 0 pose: 0.0 -6.13044 -1.47204 0 -0.00334835 0.00583332 0.684862 0.728642 uwb: 0.0 1025.32 1643.96 -imu_odom_: 1691062919.781278029 0.138864 -0.306458 9.75637 -0.0649811 -0.00532632 0.04048 0.18 0 pose: 0.25998533 -6.12725 -1.46256 0 -0.00434846 0.0076938 0.685076 0.728418 uwb: 0.0 1025.32 1643.96 -imu_odom_: 1691062919.805204390 -0.0957681 -0.416591 9.7444 -0.052198 0.0106526 0.0628506 0.18 0 pose: 0.49973601 -6.12725 -1.46256 0 -0.00404766 0.00663595 0.685345 0.728177 uwb: 0.49998099 1024.19 1643.75 -imu_odom_: 1691062919.828070606 0.399832 -0.318429 9.37569 -0.0628506 0.0117179 0.04048 0.18 0 pose: 0.33980695 -6.12407 -1.45308 0 -0.00749922 0.00734196 0.68552 0.727978 uwb: 0.0 1024.19 1643.75 -imu_odom_: 1691062919.854087805 0.395043 -0.342371 9.4571 -0.0809601 0.00958738 0.0575243 0.24 0 pose: 0.0 -6.12407 -1.45308 0 -0.00749922 0.00734196 0.68552 0.727978 uwb: 0.49984684 1020.8 1643.7 -imu_odom_: 1691062919.879275260 0.268151 -0.344765 10.2352 -0.0436758 0.00532632 0.0340885 0.24 0 pose: 0.48883415 -6.12089 -1.4436 0 -0.00692834 0.00256869 0.685699 0.727848 uwb: 0.0 1020.8 1643.7 -imu_odom_: 1691062919.896079827 0.600945 -0.414197 9.95988 -0.0735032 -0.00852212 0.056459 0.21 0 pose: 0.0 -6.12089 -1.4436 0 -0.00692834 0.00256869 0.685699 0.727848 uwb: 0.50002766 1019.68 1643.64 -imu_odom_: 1691062919.920072685 0.950498 -0.280122 9.89284 -0.0553937 -0.00852212 0.0330232 0.21 0 pose: 0.41992022 -6.12263 -1.43247 0 -0.00805036 -0.0005511930.685727 0.727814 uwb: 0.0 1019.68 1643.64 -imu_odom_: 1691062919.947306647 0.684742 -0.296881 10.2376 -0.0617853 0.036219 0.0490022 0.21 0 pose: 0.0 -6.12263 -1.43247 0 -0.00805036 -0.0005511930.685727 0.727814 uwb: 0.50062554 1016.87 1643.89 -imu_odom_: 1691062919.963200683 0.117316 -0.459687 9.1267 -0.0575243 0.0383495 0.0372843 0.21 0 pose: 0.32094013 -6.1272 -1.43094 0 -0.00573135 -0.0026078 0.685693 0.727864 uwb: 0.0 1016.87 1643.89 -imu_odom_: 1691062919.990202492 -0.0526724 -0.126893 9.85693 -0.0532632 -0.00639159 0.0532632 0.25 0.02 pose: 0.0 -6.1272 -1.43094 0 -0.00573135 -0.0026078 0.685693 0.727864 uwb: 0.49813777 1022.49 1644 -imu_odom_: 1691062920.15216416 0.0287304 -0.23942 10.0317 -0.0255663 0.00213053 0.0308927 0.25 0.02 pose: 0.42927926 -6.12403 -1.42146 0 -0.0065177 -0.00206473 0.685781 0.727776 uwb: 0.0 1022.49 1644 -imu_odom_: 1691062920.42075899 0.035913 -0.296881 10.1586 -0.056459 -0.0223706 0.0479369 0.23 -0.02 pose: 0.0 -6.12403 -1.42146 0 -0.0065177 -0.00206473 0.685781 0.727776 uwb: 0.49979434 1024.74 1643.89 -imu_odom_: 1691062920.58186923 0.378284 -0.191536 9.92875 -0.0330232 0.00319579 0.036219 0.23 -0.02 pose: 0.52114602 -6.12086 -1.41197 0 -0.00844756 0.00283995 0.685832 0.727705 uwb: 0.0 1024.74 1643.89 -imu_odom_: 1691062920.83241095 0.390255 -0.205901 9.98143 -0.0703074 -0.0276969 0.0628506 0.25 0.02 pose: 0.0 -6.12086 -1.41197 0 -0.00844756 0.00283995 0.685832 0.727705 uwb: 0.0 1024.74 1643.89 -imu_odom_: 1691062920.106060355 0.414197 -0.0861913 10.1251 -0.0245011 0.0127832 0.0351537 0.25 0.02 pose: 0.42857931 -6.11769 -1.40249 0 -0.00720979 0.00347979 0.68595 0.727605 uwb: 0.49988184 1019.69 1644.42 -imu_odom_: 1691062920.132074638 0.203507 -0.19393 9.44752 -0.0511327 -0.0372843 0.0575243 0.18 -0.02 pose: 0.39986056 -6.12172 -1.39442 0 -0.00317812 0.00329316 0.686079 0.727513 uwb: 0.0 1019.69 1644.42 -imu_odom_: 1691062920.159052823 0.306458 -0.246603 9.72285 -0.0479369 -0.015979 0.0468716 0.25 -0.02 pose: 0.9073224 -6.12401 -1.38984 0 -0.00354955 0.00396205 0.686136 0.727454 uwb: 0.50024640 1019.69 1644.28 -imu_odom_: 1691062920.175169971 0.720655 -0.270545 10.4483 -0.072438 -0.04048 0.0596548 0.25 -0.02 pose: 0.0 -6.12401 -1.38984 0 -0.00354955 0.00396205 0.686136 0.727454 uwb: 0.0 1019.69 1644.28 -imu_odom_: 1691062920.201172297 0.555455 0.0383072 10.1801 -0.0585895 -0.0266316 0.0490022 0.25 0 pose: 0.43919244 -6.12176 -1.38307 0 -0.00447784 0.00249691 0.68631 0.727291 uwb: 0.50050597 1021.96 1644.7 -imu_odom_: 1691062920.226110100 0.840365 -0.11971 10.4315 -0.0703074 -0.0276969 0.0468716 0.25 0 pose: 0.42119474 -6.12085 -1.38035 0 -0.0005857750.0010339 0.686527 0.727104 uwb: 0.0 1021.96 1644.7 -imu_odom_: 1691062920.253099368 0.464475 -0.0670376 9.87129 -0.0660464 -0.00745685 0.0490022 0.21 0 pose: 0.0 -6.12085 -1.38035 0 -0.0005857750.0010339 0.686527 0.727104 uwb: 0.49942395 1019.71 1644.77 -imu_odom_: 1691062920.269096065 0.423774 -0.433351 9.88326 -0.0671117 0.0213053 0.0532632 0.21 0 pose: 0.51927071 -6.1177 -1.37086 0 0.00375338 0.000491108 0.686679 0.726951 uwb: 0.0 1019.71 1644.77 -imu_odom_: 1691062920.296092333 0.153229 -0.0909797 10.1466 -0.0596548 -0.0106526 0.0500674 0.25 0.02 pose: 0.0 -6.1177 -1.37086 0 0.00375338 0.000491108 0.686679 0.726951 uwb: 0.50126134 1016.89 1644.94 -imu_odom_: 1691062920.321167212 0.572214 -0.253785 10.1418 -0.0671117 -0.0138484 0.036219 0.25 0.02 pose: 0.24017940 -6.11455 -1.36137 0 0.00196173 0.000270074 0.686794 0.72685 uwb: 0.0 1016.89 1644.94 -imu_odom_: 1691062920.337089830 0.270545 0.0215478 9.6223 -0.0596548 -0.02024 0.0340885 0.21 0 pose: 0.0 -6.11455 -1.36137 0 0.00196173 0.000270074 0.686794 0.72685 uwb: 0.50010641 1018.58 1644.8 -imu_odom_: 1691062920.364045558 0.282516 -0.466869 9.85693 -0.0639159 -0.00852212 0.0479369 0.21 0 pose: 0.59972522 -6.1209 -1.34873 0 0.00227339 0.000816107 0.686801 0.726842 uwb: 0.0 1018.58 1644.8 -imu_odom_: 1691062920.389046358 0.608127 -0.0383072 10.0509 -0.0500674 -0.0191748 0.04048 0.23 0 pose: 0.8972896 -6.1209 -1.34873 0 0.00140451 0.000496552 0.686829 0.726817 uwb: 0.49982351 1018.02 1644.89 -imu_odom_: 1691062920.412160476 0.150835 -0.409408 9.75637 -0.0511327 0.0383495 0.0308927 0.23 0 pose: 0.42983632 -6.11865 -1.34193 0 0.00233262 -0.0004602630.68689 0.726757 uwb: 0.0 1018.02 1644.89 -imu_odom_: 1691062920.437082239 0.186748 -0.19393 9.83299 -0.0340885 -0.0213053 0.052198 0.18 -0.02 pose: 0.0 -6.11865 -1.34193 0 0.00233262 -0.0004602630.68689 0.726757 uwb: 0.49924604 1015.77 1645.25 -imu_odom_: 1691062920.453073394 0.507571 -0.0143652 9.77313 -0.036219 -0.0287621 0.0255663 0.18 -0.02 pose: 0.31072948 -6.11776 -1.33924 0 -0.0006330470.000939978 0.686856 0.726793 uwb: 0.0 1015.77 1645.25 -imu_odom_: 1691062920.479233502 0.371101 -0.260968 9.39485 -0.072438 0.0191748 0.052198 0.19 0 pose: 0.0 -6.11776 -1.33924 0 -0.0006330470.000939978 0.686856 0.726793 uwb: 0.0 1015.77 1645.25 -imu_odom_: 1691062920.505222995 -0.215478 -0.332794 9.35175 -0.0490022 0.00319579 0.04048 0.19 0 pose: 0.41198443 -6.11462 -1.32974 0 -0.00035438 0.00186714 0.686891 0.726758 uwb: 0.49976227 1013.52 1645.42 -imu_odom_: 1691062920.520094215 0.519542 -0.0670376 9.991 -0.0458064 -0.0490022 0.0447411 0.18 0.02 pose: 0.0 -6.11462 -1.32974 0 -0.00035438 0.00186714 0.686891 0.726758 uwb: 0.0 1013.52 1645.42 -imu_odom_: 1691062920.546151371 0.859518 -0.205901 10.5489 -0.036219 -0.00639159 0.0266316 0.18 0.02 pose: 0.50834260 -6.11157 -1.32022 0 -0.00325687 0.00227761 0.686991 0.726655 uwb: 0.50082387 1012.95 1645.36 -imu_odom_: 1691062920.572047535 0.823605 0.0191536 10.1538 -0.0468716 0.00532632 0.0426106 0.21 0 pose: 0.33999362 -6.11899 -1.31056 0 -0.0002771050.000387841 0.686889 0.726762 uwb: 0.0 1012.95 1645.36 -imu_odom_: 1691062920.596149471 0.699107 -0.153229 10.0269 -0.0532632 -0.036219 0.0436758 0.21 0 pose: 0.0 -6.11899 -1.31056 0 -0.0002771050.000387841 0.686889 0.726762 uwb: 0.49851108 1012.96 1645.79 -imu_odom_: 1691062920.621029236 0.830788 -0.110133 9.99819 -0.056459 0.00213053 0.0585895 0.21 0 pose: 0.7915082 -6.11805 -1.30765 0 0.000473304 0.00019103 0.686898 0.726754 uwb: 0.0 1012.96 1645.79 -imu_odom_: 1691062920.647019604 0.42138 -0.0383072 9.98382 -0.0394148 -0.00319579 0.0330232 0.18 0 pose: 0.0 -6.11805 -1.30765 0 0.000473304 0.00019103 0.686898 0.726754 uwb: 0.50085304 1018.6 1646.07 -imu_odom_: 1691062920.663072589 0.409408 -0.241814 9.71806 -0.052198 0.0191748 0.0447411 0.18 0 pose: 0.49165440 -6.11501 -1.29812 0 0.00488894 -0.00244007 0.686994 0.726642 uwb: 0.0 1018.6 1646.07 -imu_odom_: 1691062920.680073436 0.349553 -0.227449 9.79947 -0.0490022 0.0149137 0.0372843 0.18 0 pose: 0.0 -6.11501 -1.29812 0 0.00488894 -0.00244007 0.686994 0.726642 uwb: 0.0 1018.6 1646.07 -imu_odom_: 1691062920.705059071 0.45011 -0.270545 9.62469 -0.0617853 0.00319579 0.0649811 0.18 0 pose: 0.50848259 -6.11501 -1.29813 0 0.00593171 -0.0006644890.687057 0.726579 uwb: 0.49931603 1014.09 1645.86 -imu_odom_: 1691062920.730999858 0.225055 -0.162806 9.6606 -0.0458064 0.0213053 0.0372843 0.19 0.02 pose: 0.0 -6.11501 -1.29813 0 0.00593171 -0.0006644890.687057 0.726579 uwb: 0.0 1014.09 1645.86 -imu_odom_: 1691062920.746020695 -0.0550666 -0.189142 9.72285 -0.0585895 0.0223706 0.052198 0.19 0.02 pose: 0.76919706 -6.11589 -1.27677 0 -1.21313e-060.000808729 0.687285 0.726387 uwb: 0.49987893 1015.78 1645.68 -imu_odom_: 1691062920.761138651 0.533907 0.0335188 10.4411 -0.0490022 -0.036219 0.0937433 0.19 0.02 pose: 0.6189974 -6.11833 -1.27597 0 -0.0004756350.00132558 0.687313 0.72636 uwb: 0.0 1015.78 1645.68 -imu_odom_: 1691062920.778135415 0.380678 -0.502782 9.17937 -0.0628506 -0.0149137 0.165116 0.18 0.14 pose: 0.0 -6.11833 -1.27597 0 -0.0004756350.00132558 0.687313 0.72636 uwb: 0.0 1015.78 1645.68 -imu_odom_: 1691062920.795070350 0.548272 -0.373495 10.0916 -0.072438 -0.0117179 0.254598 0.18 0.14 pose: 0.31958980 -6.1152 -1.26647 0 -2.24427e-050.00148975 0.688017 0.725693 uwb: 0.50062554 1011.82 1645.69 -imu_odom_: 1691062920.811069380 0.37589 -0.715866 9.39245 -0.0756338 0.0191748 0.294013 0.18 0.14 pose: 0.0 -6.1152 -1.26647 0 -2.24427e-050.00148975 0.688017 0.725693 uwb: 0.0 1011.82 1645.69 -imu_odom_: 1691062920.827162905 0.514753 -0.217872 10.422 -0.052198 0.0106526 0.329167 0.25 0.38 pose: 0.0 -6.1152 -1.26647 0 -2.24427e-050.00148975 0.688017 0.725693 uwb: 0.0 1011.82 1645.69 -imu_odom_: 1691062920.844285079 -0.0837971 -0.533907 9.86172 -0.0628506 -0.00958738 0.385626 0.19 0.35 pose: 0.49018740 -6.11208 -1.25697 0 -0.00157955 -0.00220363 0.691956 0.721935 uwb: 0.50065472 1014.65 1645.96 -imu_odom_: 1691062920.860037957 0.675165 -0.203507 9.83299 -0.0617853 0.0170442 0.413323 0.19 0.35 pose: 0.0 -6.11208 -1.25697 0 -0.00157955 -0.00220363 0.691956 0.721935 uwb: 0.0 1014.65 1645.96 -imu_odom_: 1691062920.877015472 0.201113 -0.433351 9.65582 -0.0511327 -0.0117179 0.460194 0.19 0.41 pose: 0.41870405 -6.11039 -1.25205 0 -0.00123382 -0.00271555 0.697139 0.71693 uwb: 0.0 1014.65 1645.96 -imu_odom_: 1691062920.893009836 0.265756 -0.428562 9.61751 -0.0681769 -0.0330232 0.507066 0.19 0.41 pose: 0.8253104 -6.10897 -1.24746 0 -0.00202061 -0.00259183 0.698383 0.715716 uwb: 0.49875023 1012.39 1645.68 -imu_odom_: 1691062920.910067263 0.316035 -0.196325 9.72285 -0.0447411 0.00745685 0.518784 0.19 0.41 pose: 0.0 -6.10897 -1.24746 0 -0.00202061 -0.00259183 0.698383 0.715716 uwb: 0.0 1012.39 1645.68 -imu_odom_: 1691062920.926066294 0.507571 -0.579397 10.2687 -0.0308927 -0.0255663 0.530502 0.24 0.64 pose: 0.41776202 -6.10892 -1.24747 0 -0.00392612 -0.0009296080.705272 0.708926 uwb: 0.0 1012.39 1645.68 -imu_odom_: 1691062920.943157261 0.318429 -0.430956 9.99579 -0.0426106 -0.0245011 0.573112 0.24 0.64 pose: 0.0 -6.10892 -1.24747 0 -0.00392612 -0.0009296080.705272 0.708926 uwb: 0.50036890 1011.82 1645.43 -imu_odom_: 1691062920.959118960 0.790087 -0.560243 9.87848 -0.0820254 -0.0223706 0.611462 0.24 0.64 pose: 0.0 -6.10892 -1.24747 0 -0.00392612 -0.0009296080.705272 0.708926 uwb: 0.0 1011.82 1645.43 -imu_odom_: 1691062920.976061185 0.703895 -0.253785 9.86172 -0.0340885 -0.0170442 0.604005 0.18 0.55 pose: 0.24009774 -6.11538 -1.23486 0 -0.00485018 -0.00269246 0.709549 0.704634 uwb: 0.0 1011.82 1645.43 -imu_odom_: 1691062920.992055549 0.493206 -0.620098 10.3813 -0.0298274 -0.0106526 0.615723 0.24 0.79 pose: 0.0 -6.11538 -1.23486 0 -0.00485018 -0.00269246 0.709549 0.704634 uwb: 0.49977101 1006.21 1645.14 -imu_odom_: 1691062921.8110868 0.368707 -0.071826 9.78031 -0.072438 -0.02024 0.655138 0.24 0.79 pose: 0.32995795 -6.11538 -1.23486 0 -0.00440092 -0.00508182 0.71601 0.698058 uwb: 0.0 1006.21 1645.14 -imu_odom_: 1691062921.25105591 1.19471 -0.292093 10.1179 -0.0490022 -0.0234358 0.649811 0.24 0.79 pose: 0.41038036 -6.1122 -1.22536 0 -0.00337826 -0.00548292 0.724392 0.689358 uwb: 0.0 1006.21 1645.14 -imu_odom_: 1691062921.41133495 1.46765 -0.201113 9.9527 -0.0383495 -0.0223706 0.660464 0.21 0.7 pose: 0.0 -6.1122 -1.22536 0 -0.00337826 -0.00548292 0.724392 0.689358 uwb: 0.49939187 1004.52 1645.6 -imu_odom_: 1691062921.58134342 1.75974 -0.395043 9.89763 -0.0426106 -0.0553937 0.624245 0.21 0.7 pose: 0.0 -6.1122 -1.22536 0 -0.00337826 -0.00548292 0.724392 0.689358 uwb: 0.0 1004.52 1645.6 -imu_odom_: 1691062921.74191120 1.67834 -0.385466 9.76355 -0.0585895 0.015979 0.523045 0.12 0.35 pose: 0.8008994 -6.11225 -1.22536 0 -0.00270416 -0.00602355 0.72607 0.687589 uwb: 0.0 1004.52 1645.6 -imu_odom_: 1691062921.90133862 1.55384 0.143652 10.1394 -0.0447411 0.0308927 0.455933 0.12 0.35 pose: 0.0 -6.11225 -1.22536 0 -0.00270416 -0.00602355 0.72607 0.687589 uwb: 0.50082971 1002.83 1645.3 -imu_odom_: 1691062921.107131793 0.933739 -0.0957681 10.0245 -0.076699 0.0585895 0.358994 0.12 0.35 pose: 0.65020105 -6.10912 -1.21586 0 0.00259831 -0.0101442 0.738289 0.674403 uwb: 0.0 1002.83 1645.3 -imu_odom_: 1691062921.123002789 0.553061 0.0311246 9.99579 -0.0713727 0.0330232 0.30147 0.14 0.41 pose: 0.0 -6.10912 -1.21586 0 0.00259831 -0.0101442 0.738289 0.674403 uwb: 0.0 1002.83 1645.3 -imu_odom_: 1691062921.140039509 0.723049 -0.301669 9.84735 -0.0500674 -0.015979 0.284426 0.09 0.29 pose: 0.0 -6.10912 -1.21586 0 0.00259831 -0.0101442 0.738289 0.674403 uwb: 0.49929563 998.324 1645.35 -imu_odom_: 1691062921.156135076 0.866701 -0.272939 10.1155 -0.0447411 0.00426106 0.274838 0.09 0.29 pose: 0.32902758 -6.11866 -1.21288 0 0.00472936 -0.00969758 0.741954 0.670364 uwb: 0.0 998.324 1645.35 -imu_odom_: 1691062921.182249687 0.579397 -0.1652 9.96467 -0.0490022 -0.00106526 0.270577 0.08 0.26 pose: 0.42092351 -6.11563 -1.20334 0 0.00740304 -0.0112014 0.745363 0.666524 uwb: 0.0 998.324 1645.35 -imu_odom_: 1691062921.199181996 0.373495 -0.387861 9.94791 -0.056459 0.0372843 0.221575 0.08 0.26 pose: 0.0 -6.11563 -1.20334 0 0.00740304 -0.0112014 0.745363 0.666524 uwb: 0.50102511 995.505 1645.41 -imu_odom_: 1691062921.215988313 -0.198719 -0.0311246 10.0509 -0.052198 0.0490022 0.0958738 0.09 0.08 pose: 0.8020368 -6.11569 -1.20333 0 0.00750549 -0.0103845 0.745981 0.665843 uwb: 0.0 995.505 1645.41 -imu_odom_: 1691062921.230170949 -0.76375 0.237026 9.62948 -0.0447411 0.0543285 -0.0298274 0.09 0.08 pose: 0.0 -6.11569 -1.20333 0 0.00750549 -0.0103845 0.745981 0.665843 uwb: 0.0 995.505 1645.41 -imu_odom_: 1691062921.246056236 -0.732626 0.292093 10.1801 -0.0671117 0.00106526 -0.0852212 0.09 0.08 pose: 0.0 -6.11569 -1.20333 0 0.00750549 -0.0103845 0.745981 0.665843 uwb: 0.50151509 996.067 1645.58 -imu_odom_: 1691062921.261988188 0 -0.189142 10.2089 -0.0809601 -0.0447411 -0.0958738 0.11 -0.14 pose: 0.72845651 -6.11569 -1.20333 0 0.00330494 -0.00407683 0.748144 0.663516 uwb: 0.0 996.067 1645.58 -imu_odom_: 1691062921.278980286 0.351948 -0.519542 9.96946 -0.0745685 -0.0298274 -0.157659 0.11 -0.14 pose: 0.0 -6.11569 -1.20333 0 0.00330494 -0.00407683 0.748144 0.663516 uwb: 0.0 996.067 1645.58 -imu_odom_: 1691062921.296031880 0.500388 -0.229843 10.0796 -0.0639159 -0.0340885 -0.189617 0.11 -0.14 pose: 0.0 -6.11569 -1.20333 0 0.00330494 -0.00407683 0.748144 0.663516 uwb: 0.0 996.067 1645.58 -imu_odom_: 1691062921.312120739 0.275333 0.0526724 9.54568 -0.072438 -0.00532632 -0.207727 0.18 -0.35 pose: 0.33028168 -6.11261 -1.19382 0 0.00117684 -0.00299619 0.746531 0.665342 uwb: 0.0 996.067 1645.58 -imu_odom_: 1691062921.329009301 0.150835 -0.100556 9.81383 -0.0617853 -0.00319579 -0.24288 0.18 -0.35 pose: 0.42091476 -6.11261 -1.19382 0 0.00236383 -0.00244618 0.743306 0.668943 uwb: 0.0 996.067 1645.58 -imu_odom_: 1691062921.345008332 -0.21069 -0.023942 10.0102 -0.036219 -0.00852212 -0.292948 0.18 -0.35 pose: 0.0 -6.11261 -1.19382 0 0.00236383 -0.00244618 0.743306 0.668943 uwb: 0.99756173 996.067 1645.67 -imu_odom_: 1691062921.361039152 0.351948 -0.129287 10.0102 -0.0415453 -0.0308927 -0.338754 0.14 -0.38 pose: 0.0 -6.11261 -1.19382 0 0.00236383 -0.00244618 0.743306 0.668943 uwb: 0.0 996.067 1645.67 -imu_odom_: 1691062921.377160967 0.603339 -0.181959 9.92397 -0.052198 -0.0351537 -0.346211 0.18 -0.5 pose: 0.7926457 -6.11261 -1.19382 0 0.0019792 -0.0017558 0.742558 0.669777 uwb: 0.0 996.067 1645.67 -imu_odom_: 1691062921.394129150 0.217872 -0.241814 9.47386 -0.0735032 -0.00639159 -0.36219 0.18 -0.5 pose: 0.0 -6.11261 -1.19382 0 0.0019792 -0.0017558 0.742558 0.669777 uwb: 0.50059930 993.806 1646.14 -imu_odom_: 1691062921.411168495 0.0263362 0.0335188 9.79468 -0.0543285 0.0106526 -0.38243 0.2 -0.58 pose: 0.65107599 -6.11908 -1.18124 0 0.00166866 0.00100422 0.734688 0.678402 uwb: 0.0 993.806 1646.14 -imu_odom_: 1691062921.427992894 0.54109 -0.275333 9.60554 -0.0798948 0 -0.4048 0.2 -0.58 pose: 0.0 -6.11908 -1.18124 0 0.00166866 0.00100422 0.734688 0.678402 uwb: 0.0 993.806 1646.14 -imu_odom_: 1691062921.444169248 0.177171 0.00957681 10.2041 -0.0426106 0.0170442 -0.447411 0.2 -0.58 pose: 0.0 -6.11908 -1.18124 0 0.00166866 0.00100422 0.734688 0.678402 uwb: 0.49970394 991.55 1646.05 -imu_odom_: 1691062921.462116791 0.61531 -0.035913 10.0724 -0.0692422 -0.0649811 -0.413323 0.15 -0.5 pose: 0.33820872 -6.11612 -1.17169 0 0.000351675 0.00223667 0.729828 0.683627 uwb: 0.0 991.55 1646.05 -imu_odom_: 1691062921.479110347 0.840365 -0.143652 9.80186 -0.076699 -0.0255663 -0.34408 0.15 -0.5 pose: 0.33141037 -6.11612 -1.17169 0 0.0012199 0.0026853 0.724514 0.689253 uwb: 0.0 991.55 1646.05 -imu_odom_: 1691062921.495098586 1.5682 -0.782904 9.61511 -0.0820254 -0.0127832 -0.320645 0.15 -0.5 pose: 0.0 -6.11612 -1.17169 0 0.0012199 0.0026853 0.724514 0.689253 uwb: 0.49933063 987.604 1645.87 -imu_odom_: 1691062921.510989998 1.45089 -0.201113 9.95748 -0.052198 0.0298274 -0.354733 0.11 -0.35 pose: 0.0 -6.11612 -1.17169 0 0.0012199 0.0026853 0.724514 0.689253 uwb: 0.0 987.604 1645.87 -imu_odom_: 1691062921.528211916 1.02232 0.0933739 9.88326 -0.0543285 -0.0106526 -0.308927 0.1 -0.35 pose: 0.50043014 -6.11314 -1.16215 0 0.00438685 -0.0013777 0.717733 0.696303 uwb: 0.0 987.604 1645.87 -imu_odom_: 1691062921.545024358 0.876278 -0.172383 9.55765 -0.0585895 -0.0298274 -0.223706 0.1 -0.35 pose: 0.0 -6.11314 -1.16215 0 0.00438685 -0.0013777 0.717733 0.696303 uwb: 0.50010058 987.611 1645.52 -imu_odom_: 1691062921.560968558 0.560243 -0.725443 9.50498 -0.0692422 0.0372843 -0.189617 0.09 -0.26 pose: 0.16944851 -6.12268 -1.15916 0 0.0057073 -0.00213586 0.715528 0.698557 uwb: 0.0 987.611 1645.52 -imu_odom_: 1691062921.578075858 0.440533 -0.296881 9.77553 -0.056459 0.0127832 -0.20027 0.09 -0.26 pose: 0.0 -6.12268 -1.15916 0 0.0057073 -0.00213586 0.715528 0.698557 uwb: 0.0 987.611 1645.52 -imu_odom_: 1691062921.595159825 0.248997 0.0814029 10.2639 -0.0607201 -0.00213053 -0.192813 0.09 -0.26 pose: 0.0 -6.12268 -1.15916 0 0.0057073 -0.00213586 0.715528 0.698557 uwb: 0.50054681 989.857 1645.81 -imu_odom_: 1691062921.612110217 0.59855 -0.0502782 9.92875 -0.0671117 -0.0383495 -0.157659 0.11 -0.29 pose: 0.33922950 -6.12268 -1.15916 0 0.00719027 -0.00427681 0.712221 0.701906 uwb: 0.0 989.857 1645.81 -imu_odom_: 1691062921.628164661 0.830788 -0.414197 9.58638 -0.0692422 -0.015979 -0.137419 0.11 -0.29 pose: 0.0 -6.12268 -1.15916 0 0.00719027 -0.00427681 0.712221 0.701906 uwb: 0.0 989.857 1645.81 -imu_odom_: 1691062921.645079181 0.768539 -0.292093 10.1778 -0.0553937 -0.00958738 -0.133158 0.11 -0.29 pose: 0.67030446 -6.11974 -1.14961 0 0.00652731 -0.00364402 0.70707 0.707104 uwb: 0.49980893 986.481 1645.35 -imu_odom_: 1691062921.661068587 0.861913 -0.186748 9.93594 -0.0575243 -0.00958738 -0.11931 0.06 -0.17 pose: 0.0 -6.11974 -1.14961 0 0.00652731 -0.00364402 0.70707 0.707104 uwb: 0.0 986.481 1645.35 -imu_odom_: 1691062921.678073809 0.682347 -0.232238 9.83538 -0.0596548 0.00426106 -0.103331 0.07 -0.2 pose: 0.0 -6.11974 -1.14961 0 0.00652731 -0.00364402 0.70707 0.707104 uwb: 0.0 986.481 1645.35 -imu_odom_: 1691062921.694015676 0.476446 -0.311246 9.70131 -0.0607201 0.00958738 -0.104396 0.07 -0.2 pose: 0.32910925 -6.11974 -1.14961 0 0.00775114 -0.00670324 0.705075 0.709058 uwb: 0.50116219 982.542 1645.05 -imu_odom_: 1691062921.710009749 0.596156 -0.229843 9.84017 -0.0617853 -0.00745685 -0.110787 0.06 -0.2 pose: 0.41046786 -6.11968 -1.14961 0 0.00716562 -0.00838434 0.702948 0.711155 uwb: 0.0 982.542 1645.05 -imu_odom_: 1691062921.726956058 0.699107 -0.268151 9.93354 -0.0596548 0.00426106 -0.092678 0.06 -0.2 pose: 0.0 -6.11968 -1.14961 0 0.00716562 -0.00838434 0.702948 0.711155 uwb: 0.0 982.542 1645.05 -imu_odom_: 1691062921.743014293 0.658405 -0.253785 9.88566 -0.0639159 0.00852212 -0.0692422 0.06 -0.2 pose: 0.0 -6.11968 -1.14961 0 0.00716562 -0.00838434 0.702948 0.711155 uwb: 0.49808528 987.6 1645.66 -imu_odom_: 1691062921.759005157 0.584185 -0.263362 9.80426 -0.0543285 0.00106526 -0.0671117 0.04 -0.08 pose: 0.6998136 -6.11974 -1.14961 0 0.00667604 -0.00789937 0.702579 0.71153 uwb: 0.0 987.6 1645.66 -imu_odom_: 1691062921.775068934 0.56982 -0.234632 9.87129 -0.0553937 0.00319579 -0.0649811 0.04 -0.08 pose: 0.0 -6.11974 -1.14961 0 0.00667604 -0.00789937 0.702579 0.71153 uwb: 0.0 987.6 1645.66 -imu_odom_: 1691062921.791940872 0.397437 -0.153229 10.07 -0.052198 -0.0106526 -0.0596548 0.04 -0.08 pose: 0.0 -6.11974 -1.14961 0 0.00667604 -0.00789937 0.702579 0.71153 uwb: 0.50093179 989.852 1645.93 -imu_odom_: 1691062921.808047522 0.627281 -0.225055 9.83299 -0.0553937 -0.0106526 -0.052198 0.04 -0.08 pose: 0.64946609 -6.11682 -1.14004 0 0.00578031 -0.00854836 0.699816 0.714249 uwb: 0.0 989.852 1645.93 -imu_odom_: 1691062921.823934850 0.68953 -0.280122 9.86172 -0.056459 -0.00213053 -0.0383495 0.03 -0.05 pose: 0.0 -6.11682 -1.14004 0 0.00578031 -0.00854836 0.699816 0.714249 uwb: 0.0 989.852 1645.93 -imu_odom_: 1691062921.839937089 0.591368 -0.272939 9.8282 -0.0575243 -0.00426106 -0.0266316 0.03 -0.05 pose: 0.32984712 -6.11682 -1.14004 0 0.00552323 -0.00657134 0.698653 0.715409 uwb: 0.49961936 990.412 1646.2 -imu_odom_: 1691062921.857011724 0.596156 -0.246603 9.84496 -0.052198 0.00639159 -0.0255663 0.02 -0.02 pose: 0.40991956 -6.11682 -1.14004 0 0.00504595 -0.00897851 0.697535 0.716476 uwb: 0.0 990.412 1646.2 -imu_odom_: 1691062921.874142647 0.452504 -0.225055 9.83299 -0.0543285 0 -0.00852212 0.02 -0.02 pose: 0.8002869 -6.11682 -1.14004 0 0.00558262 -0.00836028 0.697345 0.716666 uwb: 0.0 990.412 1646.2 -imu_odom_: 1691062921.889954439 0.452504 -0.328006 9.94312 -0.0553937 -0.0106526 0.0106526 0.02 -0.02 pose: 0.0 -6.11682 -1.14004 0 0.00558262 -0.00836028 0.697345 0.716666 uwb: 0.49958436 984.213 1646.05 -imu_odom_: 1691062921.907114235 0.682347 -0.287304 9.9503 -0.052198 -0.015979 0.02024 0.02 -0.02 pose: 0.42014481 -6.11682 -1.14004 0 0.00349978 -0.00626251 0.696692 0.717335 uwb: 0.0 984.213 1646.05 -imu_odom_: 1691062921.923089059 0.632069 -0.220267 9.85693 -0.052198 -0.00319579 0.0330232 0.02 -0.02 pose: 0.0 -6.11682 -1.14004 0 0.00349978 -0.00626251 0.696692 0.717335 uwb: 0.0 984.213 1646.05 -imu_odom_: 1691062921.940095448 0.694318 -0.25618 9.87369 -0.0543285 -0.00106526 0.0458064 0.02 -0.02 pose: 0.0 -6.11682 -1.14004 0 0.00349978 -0.00626251 0.696692 0.717335 uwb: 0.49988476 984.771 1646.28 -imu_odom_: 1691062921.957016675 0.509965 -0.251391 9.87608 -0.0553937 0.00213053 0.0447411 0.01 0 pose: 0.25153916 -6.11682 -1.14004 0 0.00523298 -0.00797456 0.696536 0.717458 uwb: 0.0 984.771 1646.28 -imu_odom_: 1691062921.971981515 0.519542 -0.237026 9.91678 -0.0543285 -0.00426106 0.0490022 0.01 0 pose: 0.0 -6.11682 -1.14004 0 0.00523298 -0.00797456 0.696536 0.717458 uwb: 0.0 984.771 1646.28 -imu_odom_: 1691062921.987932132 0.603339 -0.215478 9.90721 -0.0553937 -0.0106526 0.052198 0.01 0 pose: 0.32944465 -6.11682 -1.14004 0 0.00638711 -0.00894639 0.696558 0.717417 uwb: 0.49859276 986.453 1646.76 -imu_odom_: 1691062922.3984243 0.608127 -0.220267 9.84975 -0.0553937 -0.00319579 0.0479369 0 0.02 pose: 0.39879312 -6.11682 -1.14004 0 0.00645223 -0.00732376 0.6967 0.717296 uwb: 0.0 986.453 1646.76 -imu_odom_: 1691062922.17988389 0.486023 -0.205901 9.89284 -0.0543285 0.0106526 0.04048 0 0.02 pose: 0.6996386 -6.11682 -1.14004 0 0.00703861 -0.00769829 0.696715 0.717272 uwb: 0.0 986.453 1646.76 -imu_odom_: 1691062922.32979187 0.275333 -0.203507 9.88805 -0.056459 0.00852212 0.0394148 0 0.02 pose: 0.0 -6.11682 -1.14004 0 0.00703861 -0.00769829 0.696715 0.717272 uwb: 0.0 986.453 1646.76 -imu_odom_: 1691062922.48190180 0.258574 -0.253785 9.89763 -0.0553937 -0.00745685 0.0383495 0 0 pose: 0.0 -6.11682 -1.14004 0 0.00703861 -0.00769829 0.696715 0.717272 uwb: 0.50057597 984.194 1646.64 -imu_odom_: 1691062922.70231610 0.526724 -0.241814 9.89284 -0.0553937 -0.0138484 0.036219 0 0 pose: 0.38050669 -6.11682 -1.14004 0 0.00575407 -0.00584944 0.696758 0.71726 uwb: 0.0 984.194 1646.64 -imu_odom_: 1691062922.85980697 -0.129287 -0.241814 9.70609 -0.0543285 0.0692422 0.0511327 0 0 pose: 0.0 -6.11682 -1.14004 0 0.00575407 -0.00584944 0.696758 0.71726 uwb: 0.49955229 984.191 1646.76 -imu_odom_: 1691062922.102957921 -1.05105 -0.328006 10.1418 -0.0436758 0.0735032 0.0639159 0.02 0.02 pose: 0.43999157 -6.11682 -1.14004 0 0.00204637 -0.00530146 0.696776 0.717266 uwb: 0.0 984.191 1646.76 -imu_odom_: 1691062922.119074778 -1.26174 -0.277727 9.84975 -0.052198 -0.0276969 0.0617853 0.03 0.02 pose: 0.0 -6.11682 -1.14004 0 0.00204637 -0.00530146 0.696776 0.717266 uwb: 0.0 984.191 1646.76 -imu_odom_: 1691062922.135963633 -0.174777 -0.0670376 10.0054 -0.0490022 -0.0703074 0.052198 0.03 0.02 pose: 0.0 -6.11682 -1.14004 0 0.00204637 -0.00530146 0.696776 0.717266 uwb: 0.49978560 989.837 1646.92 -imu_odom_: 1691062922.153134804 0.512359 -0.225055 9.79468 -0.0596548 -0.0426106 0.0660464 0.03 0.02 pose: 0.34168519 -6.11682 -1.14004 0 -0.000922499-0.00217219 0.697041 0.717028 uwb: 0.0 989.837 1646.92 -imu_odom_: 1691062922.170004701 0.545878 -0.292093 9.90002 -0.0575243 0.0276969 0.052198 0.05 0.02 pose: 0.0 -6.11682 -1.14004 0 -0.000922499-0.00217219 0.697041 0.717028 uwb: 0.0 989.837 1646.92 -imu_odom_: 1691062922.186141390 0.035913 -0.189142 9.85693 -0.04048 0.0234358 0.0511327 0.05 0.02 pose: 0.32957298 -6.11682 -1.14004 0 -0.000973384-0.00112192 0.697263 0.716814 uwb: 0.50201965 993.793 1646.97 -imu_odom_: 1691062922.202074216 -0.356736 -0.220267 9.69652 -0.0575243 -0.0213053 0.0649811 0.1 0 pose: 0.42037229 -6.11386 -1.13049 0 -0.000737887-0.00162937 0.697491 0.716591 uwb: 0.0 993.793 1646.97 -imu_odom_: 1691062922.219075939 -0.0790087 -0.349553 9.74201 -0.0468716 -0.02024 0.0383495 0.1 0 pose: 0.6821396 -6.11386 -1.13049 0 -0.00116163 -0.00117136 0.697554 0.71653 uwb: 0.0 993.793 1646.97 -imu_odom_: 1691062922.236202196 0.117316 -0.167594 9.76116 -0.0458064 -0.0308927 0.0500674 0.1 0 pose: 0.0 -6.11386 -1.13049 0 -0.00116163 -0.00117136 0.697554 0.71653 uwb: 0.49936855 990.413 1646.48 -imu_odom_: 1691062922.252191602 0.332794 -0.411803 10.082 -0.0628506 -0.0138484 0.056459 0.09 -0.02 pose: 0.43239410 -6.11386 -1.13049 0 -0.00350846 0.00177229 0.697696 0.716384 uwb: 0.0 990.413 1646.48 -imu_odom_: 1691062922.269191866 0.112527 -0.148441 10.0987 -0.0436758 0.0106526 0.0298274 0.13 0.02 pose: 0.0 -6.11386 -1.13049 0 -0.00350846 0.00177229 0.697696 0.716384 uwb: 0.0 990.413 1646.48 -imu_odom_: 1691062922.285200522 0.205901 0.0023942 10.0485 -0.0511327 -0.0447411 0.0532632 0.13 0.02 pose: 0.0 -6.11386 -1.13049 0 -0.00350846 0.00177229 0.697696 0.716384 uwb: 0.50008308 992.671 1646.74 -imu_odom_: 1691062922.300956608 0.172383 -0.265756 9.84256 -0.0681769 -0.00319579 0.0585895 0.14 0.02 pose: 0.23003874 -6.11386 -1.13049 0 -0.00480311 0.00127877 0.697762 0.716312 uwb: 0.0 992.671 1646.74 -imu_odom_: 1691062922.318144695 0.172383 -0.323217 10.1825 -0.0330232 -0.0149137 0.0298274 0.14 0.02 pose: 0.0 -6.11386 -1.13049 0 -0.00480311 0.00127877 0.697762 0.716312 uwb: 0.0 992.671 1646.74 -imu_odom_: 1691062922.335004384 0.25618 -0.237026 10.1586 -0.0553937 -0.0490022 0.0479369 0.14 0.02 pose: 0.32803307 -6.12047 -1.11798 0 -0.00475862 0.00385773 0.697857 0.716211 uwb: 0.49933939 989.847 1646.89 -imu_odom_: 1691062922.352072311 0.97444 -0.469264 10.0269 -0.0639159 -0.0596548 0.0639159 0.1 0 pose: 0.42995007 -6.12047 -1.11798 0 -0.00517291 0.00423275 0.697906 0.716158 uwb: 0.0 989.847 1646.89 -imu_odom_: 1691062922.369198277 1.00078 -0.282516 9.39006 -0.056459 -0.0138484 0.0543285 0.1 0 pose: 0.8006369 -6.12047 -1.11798 0 -0.00469822 0.00332703 0.697978 0.716096 uwb: 0.0 989.847 1646.89 -imu_odom_: 1691062922.386078090 0.890643 -0.275333 9.85453 -0.0607201 0.0351537 0.0788296 0.1 0 pose: 0.0 -6.12047 -1.11798 0 -0.00469822 0.00332703 0.697978 0.716096 uwb: 0.50054098 987.588 1646.74 -imu_odom_: 1691062922.402077120 1.36709 -0.248997 10.3166 -0.056459 -0.052198 0.0820254 0.07 0 pose: 0.43067337 -6.11875 -1.11259 0 -0.00214896 -0.0001315710.698389 0.715715 uwb: 0.0 987.588 1646.74 -imu_odom_: 1691062922.417979032 1.49159 -0.148441 9.42837 -0.0479369 -0.0117179 0.0500674 0.06 -0.02 pose: 0.0 -6.11875 -1.11259 0 -0.00214896 -0.0001315710.698389 0.715715 uwb: 0.0 987.588 1646.74 -imu_odom_: 1691062922.434980754 1.30963 0.0047884 9.9096 -0.0479369 0.0287621 0.0596548 0.06 -0.02 pose: 0.0 -6.11875 -1.11259 0 -0.00214896 -0.0001315710.698389 0.715715 uwb: 0.49992268 987.589 1646.71 -imu_odom_: 1691062922.451041032 0.600945 -0.507571 9.7851 -0.0639159 0.0340885 0.0735032 0.07 -0.02 pose: 0.22913463 -6.11744 -1.10845 0 -0.000208379-0.00200875 0.698656 0.715455 uwb: 0.0 987.589 1646.71 -imu_odom_: 1691062922.467919970 0.435745 -0.153229 10.2592 -0.0372843 0.00532632 -0.04048 0.07 -0.02 pose: 0.0 -6.11744 -1.10845 0 -0.000208379-0.00200875 0.698656 0.715455 uwb: 0.0 987.589 1646.71 -imu_odom_: 1691062922.484916442 0.418985 0.138864 9.67736 -0.0543285 -0.0308927 -0.0372843 0.07 -0.02 pose: 0.32935715 -6.11744 -1.10846 0 0.00149121 -0.00376805 0.698889 0.715218 uwb: 0.49876483 986.464 1646.5 -imu_odom_: 1691062922.500917515 0.802058 -0.155623 10.0149 -0.0713727 0.0276969 -0.0170442 0.04 0.05 pose: 0.42989174 -6.11744 -1.10846 0 0.00294863 -0.00162445 0.698046 0.716045 uwb: 0.0 986.464 1646.5 -imu_odom_: 1691062922.517922154 0.25618 -0.632069 9.68694 -0.0575243 0.00319579 0.0415453 0.04 0.05 pose: 0.7012719 -6.11744 -1.10846 0 0.00337663 -0.00202471 0.697902 0.716182 uwb: 0.0 986.464 1646.5 -imu_odom_: 1691062922.533911560 0.466869 -0.486023 10.0365 -0.0490022 -0.00745685 0.072438 0.04 0.05 pose: 0.0 -6.11744 -1.10846 0 0.00337663 -0.00202471 0.697902 0.716182 uwb: 0.0 986.464 1646.5 -imu_odom_: 1691062922.549922257 0.646434 -0.0957681 9.89524 -0.0426106 -0.0255663 0.0777643 0.04 0.02 pose: 0.41982399 -6.11744 -1.10846 0 0.0011024 -0.00403339 0.697929 0.716155 uwb: 0.0 986.464 1646.5 -imu_odom_: 1691062922.566893940 0.653617 0.0694318 9.78271 -0.0511327 0.00745685 0.0798948 0.03 0 pose: 0.0 -6.11744 -1.10846 0 0.0011024 -0.00403339 0.697929 0.716155 uwb: 0.0 986.464 1646.5 -imu_odom_: 1691062922.594214231 0.794875 -0.335188 9.93833 -0.056459 -0.0106526 0.0287621 0.03 0 pose: 0.24065772 -6.11744 -1.10846 0 0.00364238 -0.00388635 0.698253 0.715831 uwb: 0.100003202 987.029 1646.54 -imu_odom_: 1691062922.619907991 -0.871489 -0.282516 9.80665 -0.0596548 0.102265 0.0777643 0.04 0 pose: 0.0 -6.11744 -1.10846 0 0.00364238 -0.00388635 0.698253 0.715831 uwb: 0.0 987.029 1646.54 -imu_odom_: 1691062922.646907176 -1.4868 -0.25618 9.91439 -0.052198 -0.0340885 0.0585895 0.07 0.02 pose: 0.61930659 -6.11441 -1.09892 0 0.00253047 -0.00352893 0.698634 0.715466 uwb: 0.50030766 981.395 1646 -imu_odom_: 1691062922.662888999 -0.363919 -0.0383072 10.1418 -0.0511327 -0.100135 0.0607201 0.07 0.02 pose: 0.0 -6.11441 -1.09892 0 0.00253047 -0.00352893 0.698634 0.715466 uwb: 0.0 981.395 1646 -imu_odom_: 1691062922.689991428 0.770933 -0.217872 9.98622 -0.0553937 0 0.0447411 0.11 0.02 pose: 0.7022051 -6.11441 -1.09892 0 0.0021136 -0.00310105 0.698684 0.715421 uwb: 0.50028724 978.578 1645.96 -imu_odom_: 1691062922.715963130 -0.167594 -0.160412 10.0533 -0.0543285 0.0394148 0.0479369 0.11 0.02 pose: 0.0 -6.11441 -1.09892 0 0.0021136 -0.00310105 0.698684 0.715421 uwb: 0.0 978.578 1645.96 -imu_odom_: 1691062922.742919442 -0.112527 -0.414197 9.93115 -0.0468716 -0.00319579 0.0287621 0.14 0.02 pose: 0.42994424 -6.11441 -1.09892 0 0.00114537 -0.00153067 0.698959 0.715159 uwb: 0.50361206 981.405 1646 -imu_odom_: 1691062922.768953558 0.323217 -0.21069 9.81862 -0.0426106 -0.052198 0.0596548 0.14 0.02 pose: 0.0 -6.11441 -1.09892 0 0.00114537 -0.00153067 0.698959 0.715159 uwb: 0.0 981.405 1646 -imu_odom_: 1691062922.796053653 0.129287 0.0670376 10.1418 -0.0372843 0.00213053 0.0330232 0.16 0.02 pose: 0.52994511 -6.11441 -1.09892 0 -0.000113683-0.0001813860.699047 0.715075 uwb: 0.49575500 976.895 1645.64 -imu_odom_: 1691062922.811946815 0.0311246 -0.373495 9.79228 -0.0532632 -0.00426106 0.0628506 0.16 0.02 pose: 0.0 -6.11441 -1.09892 0 -0.000113683-0.0001813860.699047 0.715075 uwb: 0.0 976.895 1645.64 -imu_odom_: 1691062922.838897003 0.684742 -0.141258 9.72525 -0.0436758 -0.0191748 0.0298274 0.12 0 pose: 0.53061590 -6.12093 -1.08638 0 -0.00207025 0.00360346 0.699139 0.714974 uwb: 0.50176883 976.325 1645.79 -imu_odom_: 1691062922.863885262 -0.047884 -0.344765 9.89284 -0.0553937 0.0479369 0.056459 0.13 0 pose: 0.62916436 -6.11792 -1.07684 0 -0.0009230670.00419284 0.69913 0.714981 uwb: 0.0 976.325 1645.79 -imu_odom_: 1691062922.890902237 0.445322 -0.0023942 10.1227 -0.0543285 -0.0511327 0.0553937 0.13 0 pose: 0.0 -6.11792 -1.07684 0 -0.0009230670.00419284 0.69913 0.714981 uwb: 0.0 976.325 1645.79 -imu_odom_: 1691062922.915896330 0.588974 -0.160412 10.0389 -0.0607201 -0.0149137 0.0351537 0.14 0 pose: 0.8100572 -6.11792 -1.07684 0 -0.00182756 0.00463388 0.699175 0.714933 uwb: 0.0 976.325 1645.79 -imu_odom_: 1691062922.932949966 0.423774 -0.0502782 9.9934 -0.0713727 0.0287621 0.0671117 0.14 0 pose: 0.0 -6.11792 -1.07684 0 -0.00182756 0.00463388 0.699175 0.714933 uwb: 0.0 976.325 1645.79 -imu_odom_: 1691062922.957888062 0.203507 -0.191536 9.96467 -0.0532632 0.02024 0.036219 0.14 0.02 pose: 0.51913656 -6.11492 -1.0673 0 -4.92924e-060.00454799 0.699427 0.71469 uwb: 0.99971995 977.456 1645.76 -imu_odom_: 1691062922.984942077 0.258574 -0.270545 10.2879 -0.0575243 0.0181095 0.0436758 0.14 0.02 pose: 0.0 -6.11492 -1.0673 0 -4.92924e-060.00454799 0.699427 0.71469 uwb: 0.49814362 979.155 1645.51 -imu_odom_: 1691062923.1866512 0.023942 -0.160412 9.89045 -0.0511327 -0.00213053 0.0543285 0.15 0 pose: 0.42028189 -6.11492 -1.0673 0 0.00170834 0.00427265 0.699563 0.714556 uwb: 0.0 979.155 1645.51 -imu_odom_: 1691062923.26923018 0.715866 -0.208296 10.0844 -0.0585895 -0.0276969 0.0383495 0.15 0 pose: 0.0 -6.11492 -1.0673 0 0.00170834 0.00427265 0.699563 0.714556 uwb: 0.0 979.155 1645.51 -imu_odom_: 1691062923.49906477 0.533907 -0.270545 9.67976 -0.056459 -0.00639159 0.0617853 0.14 0 pose: 0.51974028 -6.11192 -1.05776 0 -0.00327433 0.00525952 0.699605 0.714503 uwb: 0.49988769 976.353 1644.94 -imu_odom_: 1691062923.76017006 0.0837971 -0.385466 9.22965 -0.0628506 -0.00639159 0.0447411 0.15 0 pose: 0.34009570 -6.11683 -1.04836 0 -0.00198205 0.00386817 0.699649 0.714474 uwb: 0.0 976.353 1644.94 -imu_odom_: 1691062923.102876199 -0.100556 -0.332794 9.71806 -0.0639159 0.0383495 0.0447411 0.19 0 pose: 0.25024424 -6.11847 -1.04523 0 -0.00185459 0.00188916 0.699849 0.714286 uwb: 0.50002185 971.281 1644.83 -imu_odom_: 1691062923.129121177 0.0742203 -0.35913 9.78989 -0.0543285 0.072438 0.04048 0.16 -0.02 pose: 0.25001385 -6.11847 -1.04523 0 -0.00435882 0.00269993 0.699887 0.714236 uwb: 0.0 971.281 1644.83 -imu_odom_: 1691062923.145886080 0.277727 -0.0909797 9.91918 -0.0447411 0.0149137 0.0500674 0.16 -0.02 pose: 0.0 -6.11847 -1.04523 0 -0.00435882 0.00269993 0.699887 0.714236 uwb: 0.50166383 971.27 1645.09 -imu_odom_: 1691062923.172157599 0.380678 -0.129287 9.57441 -0.0628506 0.00639159 0.0511327 0.16 0 pose: 0.28070122 -6.11548 -1.03568 0 -0.00740081 0.00445334 0.699907 0.714181 uwb: 0.0 971.27 1645.09 -imu_odom_: 1691062923.199016792 0.430956 -0.392649 9.36851 -0.0468716 -0.0308927 0.0351537 0.16 0 pose: 0.0 -6.11548 -1.03568 0 -0.00740081 0.00445334 0.699907 0.714181 uwb: 0.49995186 966.784 1644.45 -imu_odom_: 1691062923.224873293 0.201113 -0.526724 9.26317 -0.0628506 -0.00958738 0.0458064 0.17 -0.02 pose: 0.42913929 -6.11249 -1.02614 0 -0.00737467 0.00602934 0.700011 0.714068 uwb: 0.0 966.784 1644.45 -imu_odom_: 1691062923.251892311 -0.0670376 -0.368707 9.11473 -0.0617853 0.0149137 0.0543285 0.17 -0.02 pose: 0.53112630 -6.11249 -1.02614 0 -0.00612279 0.00243898 0.70007 0.714044 uwb: 0.49933064 963.406 1644.41 -imu_odom_: 1691062923.269003985 0.691924 -0.260968 9.9096 -0.0543285 -0.02024 0.0415453 0.17 -0.02 pose: 0.0 -6.11249 -1.02614 0 -0.00612279 0.00243898 0.70007 0.714044 uwb: 0.0 963.406 1644.41 -imu_odom_: 1691062923.292867352 -0.00957681-0.237026 10.252 -0.0458064 -0.0127832 0.0351537 0.17 -0.02 pose: 0.0 -6.11249 -1.02614 0 -0.00612279 0.00243898 0.70007 0.714044 uwb: 0.50164342 961.731 1644.12 -imu_odom_: 1691062923.317955064 0.129287 -0.351948 10.0892 -0.0628506 -0.0266316 0.0436758 0.17 0.02 pose: 0.52880476 -6.11905 -1.01361 0 -0.00957657 0.00266621 0.700236 0.713842 uwb: 0.0 961.731 1644.12 -imu_odom_: 1691062923.344951333 0.567426 -0.009576819.81383 -0.0585895 -0.00639159 0.04048 0.22 0 pose: 0.58059301 -6.11607 -1.00407 0 -0.0121258 0.00431936 0.700224 0.713807 uwb: 0.49817862 960.024 1644.42 -imu_odom_: 1691062923.360874535 0.531513 -0.311246 10.1586 -0.0681769 0 0.0617853 0.22 0 pose: 0.0 -6.11607 -1.00407 0 -0.0121258 0.00431936 0.700224 0.713807 uwb: 0.0 960.024 1644.42 -imu_odom_: 1691062923.387894135 0.452504 -0.280122 10.137 -0.0319579 0.0138484 0.0255663 0.24 0.02 pose: 0.6929890 -6.11607 -1.00407 0 -0.0114403 0.00422669 0.700234 0.71381 uwb: 0.49948229 958.347 1644.15 -imu_odom_: 1691062923.412882104 0.416591 -0.198719 9.9527 -0.0532632 0 0.0628506 0.24 0.02 pose: 0.0 -6.11607 -1.00407 0 -0.0114403 0.00422669 0.700234 0.71381 uwb: 0.0 958.347 1644.15 -imu_odom_: 1691062923.439897038 0.141258 -0.28491 9.43555 -0.0660464 0.0181095 0.04048 0.22 -0.02 pose: 0.44134484 -6.1131 -0.994521 0 -0.00786263 0.00230733 0.700351 0.713751 uwb: 0.49900983 961.166 1644.25 -imu_odom_: 1691062923.464893755 0.318429 -0.486023 9.65103 -0.0575243 0.0617853 0.0532632 0.22 -0.02 pose: 0.0 -6.1131 -0.994521 0 -0.00786263 0.00230733 0.700351 0.713751 uwb: 0.0 961.166 1644.25 -imu_odom_: 1691062923.491881566 -0.162806 -0.25618 10.0269 -0.0468716 0.00213053 0.052198 0.21 0 pose: 0.51044833 -6.11012 -0.984974 0 -0.0046063 0.0014495 0.700477 0.713659 uwb: 0.49960187 961.705 1644.69 -imu_odom_: 1691062923.507957884 0.0263362 -0.25618 9.50977 -0.0671117 -0.0319579 0.052198 0.21 0 pose: 0.0 -6.11012 -0.984974 0 -0.0046063 0.0014495 0.700477 0.713659 uwb: 0.0 961.705 1644.69 -imu_odom_: 1691062923.525016187 0.591368 -0.0191536 10.2089 -0.0575243 -0.0436758 0.0394148 0.22 -0.02 pose: 0.51955946 -6.11669 -0.972453 0 -0.00890242 0.00187107 0.700608 0.713489 uwb: 0.0 961.705 1644.69 -imu_odom_: 1691062923.549886620 0.328006 -0.0454898 10.0389 -0.0692422 -0.00745685 0.0500674 0.22 -0.02 pose: 0.0 -6.11669 -0.972453 0 -0.00890242 0.00187107 0.700608 0.713489 uwb: 0.49984978 958.89 1644.49 -imu_odom_: 1691062923.576886388 0.447716 -0.191536 10.0772 -0.0596548 -0.00213053 0.0426106 0.23 0 pose: 0.43035547 -6.11373 -0.962903 0 -0.0100209 0.00449117 0.700775 0.713298 uwb: 0.0 958.89 1644.49 -imu_odom_: 1691062923.601893605 0.531513 -0.466869 9.35654 -0.0894822 0.0106526 0.0426106 0.23 0 pose: 0.0 -6.11373 -0.962903 0 -0.0100209 0.00449117 0.700775 0.713298 uwb: 0.50014434 961.69 1644.94 -imu_odom_: 1691062923.628900957 0.107739 -0.361524 9.70849 -0.0660464 0.00319579 0.056459 0.22 -0.02 pose: 0.41856116 -6.11373 -0.962903 0 -0.00609039 0.00448808 0.700913 0.713206 uwb: 0.0 961.69 1644.94 -imu_odom_: 1691062923.654020167 0.337582 -0.28491 9.99579 -0.0617853 0.00852212 0.0330232 0.18 0 pose: 0.52111395 -6.11077 -0.953352 0 -0.00563391 0.00102149 0.701009 0.71313 uwb: 0.50047099 961.117 1645.07 -imu_odom_: 1691062923.679918957 0.699107 0.0311246 10.4986 -0.052198 -0.052198 0.04048 0.18 0 pose: 0.0 -6.11077 -0.953352 0 -0.00563391 0.00102149 0.701009 0.71313 uwb: 0.0 961.117 1645.07 -imu_odom_: 1691062923.705024169 0.146046 -0.299275 9.98382 -0.0308927 -0.0372843 0.0372843 0.18 0 pose: 0.70895682 -6.1152 -0.933855 0 -0.00265803 -0.0002580940.701085 0.713073 uwb: 0.49945313 963.923 1645.45 -imu_odom_: 1691062923.721898149 0.407014 -0.268151 10.0987 -0.0585895 -0.0490022 0.0426106 0.18 0 pose: 0.0 -6.1152 -0.933855 0 -0.00265803 -0.0002580940.701085 0.713073 uwb: 0.0 963.923 1645.45 -imu_odom_: 1691062923.747850020 0.47884 -0.35913 10.0126 -0.0617853 0.0106526 0.0458064 0.18 0 pose: 0.6985012 -6.1144 -0.931289 0 -0.00309266 0.000114987 0.701079 0.713077 uwb: 0.50010934 969.549 1645.93 -imu_odom_: 1691062923.774883911 0.244209 -0.373495 9.85453 -0.0639159 -0.0181095 0.0479369 0.18 0 pose: 0.0 -6.1144 -0.931289 0 -0.00309266 0.000114987 0.701079 0.713077 uwb: 0.0 969.549 1645.93 -imu_odom_: 1691062923.801051894 0.761356 -0.229843 10.4363 -0.0468716 -0.0394148 0.0447411 0.18 0.02 pose: 0.42997050 -6.11145 -0.921736 0 -0.0029461 -0.00130672 0.701098 0.713057 uwb: 0.49949105 965.007 1646.26 -imu_odom_: 1691062923.818112238 0.407014 -0.21069 9.92875 -0.0585895 0.0426106 0.0351537 0.18 0.02 pose: 0.0 -6.11145 -0.921736 0 -0.0029461 -0.00130672 0.701098 0.713057 uwb: 0.0 965.007 1646.26 -imu_odom_: 1691062923.843931117 0.0790087 -0.3304 9.66779 -0.0340885 0.0276969 0.0319579 0.25 0.02 pose: 0.53119629 -6.10849 -0.912182 0 -0.00465533 -0.00283215 0.701229 0.712916 uwb: 0.50001018 968.942 1646.81 -imu_odom_: 1691062923.870930885 0.277727 -0.318429 9.72525 -0.0575243 -0.0330232 0.0468716 0.23 0 pose: 0.60910469 -6.11591 -0.902317 0 -0.0042754 -0.0003484340.701167 0.712984 uwb: 0.0 968.942 1646.81 -imu_odom_: 1691062923.895985349 0.430956 -0.385466 9.69652 -0.0394148 0.0170442 0.0553937 0.23 0 pose: 0.0 -6.11591 -0.902317 0 -0.0042754 -0.0003484340.701167 0.712984 uwb: 0.50075097 967.251 1646.66 -imu_odom_: 1691062923.923108777 0.237026 -0.0526724 10.1849 -0.0436758 -0.0415453 0.0436758 0.23 0 pose: 0.6896642 -6.11509 -0.899676 0 -0.00487415 -0.0002305710.701184 0.712964 uwb: 0.0 967.251 1646.66 -imu_odom_: 1691062923.949023900 0.457293 -0.328006 9.67736 -0.0340885 -0.0170442 0.0372843 0.23 0 pose: 0.0 -6.11509 -0.899676 0 -0.00487415 -0.0002305710.701184 0.712964 uwb: 0.50066640 961.593 1646.61 -imu_odom_: 1691062923.965898755 0.299275 -0.462081 9.75637 -0.0500674 -0.0213053 0.0468716 0.23 0.05 pose: 0.52156893 -6.11214 -0.890122 0 -0.00582465 -0.00145244 0.701376 0.712766 uwb: 0.0 961.593 1646.61 -imu_odom_: 1691062923.990894306 0.459687 -0.23942 9.83777 -0.0490022 -0.0777643 0.0660464 0.23 0.05 pose: 0.0 -6.11214 -0.890122 0 -0.00582465 -0.00145244 0.701376 0.712766 uwb: 0.49977394 958.757 1646.72 -imu_odom_: 1691062924.7900695 0.921768 -0.0622492 9.83299 -0.0575243 -0.00745685 0.0596548 0.18 0 pose: 0.52900017 -6.10919 -0.880566 0 -0.004014 -0.00239179 0.701408 0.712745 uwb: 0.0 958.757 1646.72 -imu_odom_: 1691062924.32823918 0.967257 -0.0574608 9.74919 -0.0511327 0.0234358 0.0383495 0.18 0 pose: 0.0 -6.10919 -0.880566 0 -0.004014 -0.00239179 0.701408 0.712745 uwb: 0.0 958.757 1646.72 -imu_odom_: 1691062924.59830977 0.486023 -0.304064 9.68455 -0.0575243 -0.00532632 0.0447411 0.21 0 pose: 0.76939249 -6.11581 -0.868065 0 0.00200084 -0.00475702 0.701766 0.712389 uwb: 0.50142761 957.592 1647.18 -imu_odom_: 1691062924.85839137 0.311246 -0.411803 9.9096 -0.0745685 -0.015979 0.0607201 0.18 0.02 pose: 0.7099630 -6.11581 -0.868065 0 0.0014163 -0.00517373 0.70178 0.712373 uwb: 0.49798905 957.023 1647.19 -imu_odom_: 1691062924.112873612 0.684742 -0.1652 9.5792 -0.0617853 -0.0149137 0.0372843 0.25 0.02 pose: 0.0 -6.11581 -0.868065 0 0.0014163 -0.00517373 0.70178 0.712373 uwb: 0.0 957.023 1647.19 -imu_odom_: 1691062924.128958388 0.335188 -0.335188 10.1514 -0.0660464 0.00852212 0.0500674 0.25 0.02 pose: 0.52923058 -6.11287 -0.858506 0 -0.00211677 -0.00615071 0.702018 0.71213 uwb: 0.0 957.023 1647.19 -imu_odom_: 1691062924.155954656 0.308852 -0.289698 9.77792 -0.0479369 0.0394148 0.0415453 0.18 0.02 pose: 0.0 -6.11287 -0.858506 0 -0.00211677 -0.00615071 0.702018 0.71213 uwb: 0.49989936 957.02 1647.24 -imu_odom_: 1691062924.181022829 0.507571 -0.342371 9.991 -0.0660464 0.0127832 0.0639159 0.2 0.02 pose: 0.63108050 -6.10994 -0.848945 0 -0.00347385 -0.00298802 0.702091 0.712072 uwb: 0.0 957.02 1647.24 -imu_odom_: 1691062924.205899095 0.447716 -0.433351 9.78031 -0.056459 0.0308927 0.0351537 0.2 0.02 pose: 0.0 -6.10994 -0.848945 0 -0.00347385 -0.00298802 0.702091 0.712072 uwb: 0.50123512 956.998 1647.57 -imu_odom_: 1691062924.219844912 0.0407014 -0.35913 9.76834 -0.0468716 0.0319579 0.04048 0.18 0 pose: 0.7962914 -6.10994 -0.848945 0 -0.00320435 -0.00368605 0.702157 0.712006 uwb: 0.0 956.998 1647.57 -imu_odom_: 1691062924.235847735 0.656011 -0.272939 10.2592 -0.0585895 0 0.0500674 0.18 0 pose: 0.0 -6.10994 -0.848945 0 -0.00320435 -0.00368605 0.702157 0.712006 uwb: 0.49952605 957.022 1647.21 -imu_odom_: 1691062924.260878284 0.672771 -0.0790087 9.85693 -0.0607201 0.00426106 0.0468716 0.18 0 pose: 0.0 -6.10994 -0.848945 0 -0.00320435 -0.00368605 0.702157 0.712006 uwb: 0.0 957.022 1647.21 -imu_odom_: 1691062924.277879715 0.203507 -0.366313 9.31105 -0.0692422 0.0490022 0.0532632 0.18 0 pose: 0.47933222 -6.11657 -0.836456 0 -0.00503496 -0.00623758 0.702251 0.711884 uwb: 0.0 957.022 1647.21 -imu_odom_: 1691062924.304084738 0.215478 -0.521936 9.62708 -0.0330232 -0.00106526 0.0319579 0.18 0 pose: 0.0 -6.11657 -0.836456 0 -0.00503496 -0.00623758 0.702251 0.711884 uwb: 0.50099597 956.437 1647.46 -imu_odom_: 1691062924.329943864 0.37589 -0.35913 9.32302 -0.0447411 -0.0170442 0.0426106 0.18 0 pose: 0.73014518 -6.11073 -0.81733 0 -0.00431888 -0.00469129 0.702442 0.711712 uwb: 0.0 956.437 1647.46 -imu_odom_: 1691062924.354853087 0.383072 -0.167594 9.49301 -0.0447411 -0.0276969 0.0447411 0.19 0 pose: 0.45078554 -6.10859 -0.810325 0 -0.00848589 -0.00447533 0.702415 0.711703 uwb: 0.49890191 958.098 1648.06 -imu_odom_: 1691062924.371813105 1.63524 -0.241814 11.224 -0.0735032 0.076699 0.0479369 0.19 0 pose: 0.0 -6.10859 -0.810325 0 -0.00848589 -0.00447533 0.702415 0.711703 uwb: 0.0 958.098 1648.06 -imu_odom_: 1691062924.396836071 1.02472 -0.409408 9.48822 -0.0745685 0.145941 0.0543285 0.18 0 pose: 0.6951473 -6.10781 -0.807766 0 -0.00784209 -0.00409534 0.702434 0.711694 uwb: 0.50053516 959.782 1648.36 -imu_odom_: 1691062924.422816232 0.253785 -0.337582 9.16022 -0.0543285 0.00532632 0.0351537 0.18 0 pose: 0.0 -6.10781 -0.807766 0 -0.00784209 -0.00409534 0.702434 0.711694 uwb: 0.0 959.782 1648.36 -imu_odom_: 1691062924.447867780 0.775721 -0.342371 9.89763 -0.0639159 -0.0394148 0.056459 0.18 0 pose: 0.41968692 -6.10781 -0.807766 0 -0.0054532 -0.00405077 0.702552 0.7116 uwb: 0.49915566 960.345 1648.46 -imu_odom_: 1691062924.464846463 0.392649 -0.423774 9.2488 -0.052198 0.00426106 0.0458064 0.18 0 pose: 0.0 -6.10781 -0.807766 0 -0.0054532 -0.00405077 0.702552 0.7116 uwb: 0.0 960.345 1648.46 -imu_odom_: 1691062924.489825682 0.124498 -0.181959 9.9096 -0.0276969 0.02024 0.0372843 0.19 0 pose: 0.52114022 -6.11445 -0.795284 0 -0.00657701 -0.00330384 0.702647 0.711501 uwb: 0.50041558 960.352 1648.34 -imu_odom_: 1691062924.516819617 -0.167594 -0.428562 9.4978 -0.0553937 -0.00639159 0.0479369 0.19 0 pose: 0.0 -6.11445 -0.795284 0 -0.00657701 -0.00330384 0.702647 0.711501 uwb: 0.0 960.352 1648.34 -imu_odom_: 1691062924.542080570 0.102951 -0.282516 9.72764 -0.056459 -0.0276969 0.052198 0.19 0.02 pose: 0.41963734 -6.11154 -0.785718 0 -0.00662179 -0.00483354 0.702771 0.711369 uwb: 0.50104846 961.45 1649 -imu_odom_: 1691062924.567952237 -0.035913 -0.328006 10.1801 -0.0436758 -0.00213053 0.0394148 0.23 0 pose: 0.51020918 -6.10863 -0.776151 0 -0.0092311 -0.0006877980.702888 0.711241 uwb: 0.0 961.45 1649 -imu_odom_: 1691062924.593932398 0.0263362 -0.275333 9.68694 -0.0649811 -0.0298274 0.052198 0.23 0 pose: 0.0 -6.10863 -0.776151 0 -0.0092311 -0.0006877980.702888 0.711241 uwb: 0.49856652 959.746 1648.94 -imu_odom_: 1691062924.610797921 0.670376 -0.0502782 10.1801 -0.0692422 -0.0127832 0.0426106 0.23 0 pose: 0.69969695 -6.11529 -0.763676 0 -0.0125193 0.00485616 0.703093 0.710971 uwb: 0.0 959.746 1648.94 -imu_odom_: 1691062924.636849827 0.785298 -0.40462 9.90002 -0.0798948 -0.0340885 0.0479369 0.23 0 pose: 0.8002870 -6.11529 -0.763676 0 -0.0117691 0.00455625 0.703111 0.710969 uwb: 0.49915566 957.447 1649.27 -imu_odom_: 1691062924.660980929 0.926556 -0.318429 9.92397 -0.056459 0.00532632 0.0436758 0.25 0 pose: 0.34914559 -6.11239 -0.754107 0 -0.00938042 0.00160298 0.703215 0.710914 uwb: 0.0 957.447 1649.27 -imu_odom_: 1691062924.676791263 0.215478 -0.1652 10.1897 -0.076699 -0.0181095 0.0532632 0.25 0 pose: 0.0 -6.11239 -0.754107 0 -0.00938042 0.00160298 0.703215 0.710914 uwb: 0.0 957.447 1649.27 -imu_odom_: 1691062924.703855777 0.323217 -0.071826 9.9503 -0.0735032 0.0170442 0.0436758 0.18 -0.02 pose: 0.6961680 -6.11239 -0.754107 0 -0.00891262 0.00113198 0.703225 0.71091 uwb: 0.50018809 954.587 1649.42 -imu_odom_: 1691062924.729850229 0.481235 -0.517148 9.2081 -0.072438 -0.0468716 0.0468716 0.18 -0.02 pose: 0.0 -6.11239 -0.754107 0 -0.00891262 0.00113198 0.703225 0.71091 uwb: 0.0 954.587 1649.42 -imu_odom_: 1691062924.755796267 0.519542 -0.414197 9.47864 -0.0394148 -0.0106526 0.0287621 0.23 0 pose: 0.41096369 -6.10949 -0.744536 0 -0.00672388 0.00174467 0.703356 0.710804 uwb: 0.49973020 948.917 1649.05 -imu_odom_: 1691062924.780936185 0.023942 -0.287304 10.082 -0.0298274 -0.0490022 0.0330232 0.23 0 pose: 0.0 -6.10949 -0.744536 0 -0.00672388 0.00174467 0.703356 0.710804 uwb: 0.0 948.917 1649.05 -imu_odom_: 1691062924.798862146 0.409408 -0.25618 9.98382 -0.0660464 -0.0607201 0.04048 0.22 0 pose: 0.51888284 -6.1066 -0.734964 0 -0.00549235 -0.0009048950.703425 0.710747 uwb: 0.50103972 947.26 1648.42 -imu_odom_: 1691062924.822799592 0.665588 -0.308852 10.0844 -0.0703074 -0.00852212 0.0447411 0.22 0 pose: 0.0 -6.1066 -0.734964 0 -0.00549235 -0.0009048950.703425 0.710747 uwb: 0.0 947.26 1648.42 -imu_odom_: 1691062924.848801335 0.306458 -0.433351 10.07 -0.072438 -0.0149137 0.0490022 0.23 0 pose: 0.52062983 -6.11327 -0.722499 0 -0.00499374 -0.00123866 0.703302 0.710873 uwb: 0.49862485 943.868 1648.11 -imu_odom_: 1691062924.865842723 0.521936 -0.169988 10.343 -0.0596548 -0.0234358 0.0436758 0.23 0 pose: 0.0 -6.11327 -0.722499 0 -0.00499374 -0.00123866 0.703302 0.710873 uwb: 0.0 943.868 1648.11 -imu_odom_: 1691062924.882805948 -0.0143652 -0.385466 9.13388 -0.0713727 0.0426106 0.0426106 0.25 0 pose: 0.76983580 -6.11038 -0.712927 0 -0.00322911 -0.00396535 0.703457 0.710719 uwb: 0.0 943.868 1648.11 -imu_odom_: 1691062924.909035469 0.059855 -0.124498 10.0628 -0.056459 -0.0191748 0.0447411 0.25 0 pose: 0.7015635 -6.11038 -0.712927 0 -0.00396084 -0.00348743 0.703466 0.710709 uwb: 0.50123220 939.901 1647.83 -imu_odom_: 1691062924.934910053 0.373495 -0.287304 9.97185 -0.0447411 -0.0255663 0.0330232 0.25 0 pose: 0.36177111 -6.10748 -0.703355 0 -0.0054221 -0.0003922650.703538 0.710637 uwb: 0.50009185 938.238 1647.34 -imu_odom_: 1691062924.959770862 0.395043 -0.215478 9.99579 -0.0553937 -0.036219 0.0543285 0.17 0.02 pose: 0.0 -6.10748 -0.703355 0 -0.0054221 -0.0003922650.703538 0.710637 uwb: 0.0 938.238 1647.34 -imu_odom_: 1691062924.976832957 0.409408 -0.378284 10.0293 -0.0735032 -0.0181095 0.0596548 0.21 0 pose: 0.50735393 -6.11417 -0.690891 0 -0.000755413-0.0006091890.703614 0.710581 uwb: 0.0 938.238 1647.34 -imu_odom_: 1691062925.2767912 0.45011 -0.371101 9.92875 -0.0575243 0.00532632 0.0298274 0.21 0 pose: 0.0 -6.11417 -0.690891 0 -0.000755413-0.0006091890.703614 0.710581 uwb: 0.49915565 945.552 1648.33 -imu_odom_: 1691062925.28898565 0.533907 -0.351948 9.96946 -0.0490022 -0.00106526 0.0415453 0.25 0.02 pose: 0.42997050 -6.11209 -0.684009 0 -0.00298066 -0.00442061 0.703634 0.710542 uwb: 0.0 945.552 1648.33 -imu_odom_: 1691062925.54782190 0.368707 -0.229843 10.5991 0.0223706 -0.0383495 0.00958738 0.18 0.02 pose: 0.26130653 -6.11128 -0.681316 0 -0.00174641 -0.00665309 0.703637 0.710526 uwb: 0.50038642 943.828 1648.46 -imu_odom_: 1691062925.71898823 0.0454898 -0.241814 9.46188 -0.00745685 -0.0436758 0.0468716 0.23 -0.02 pose: 0.0 -6.11128 -0.681316 0 -0.00174641 -0.00665309 0.703637 0.710526 uwb: 0.0 943.828 1648.46 -imu_odom_: 1691062925.98042308 0.488417 -0.0167594 9.77553 -0.052198 0.00319579 0.0777643 0.23 -0.02 pose: 0.33028752 -6.10839 -0.671743 0 -0.00093418 -0.00310185 0.703402 0.710785 uwb: 0.50046225 943.282 1648.18 -imu_odom_: 1691062925.123798482 0.426168 -0.277727 9.59596 -0.0745685 0.00958738 0.0415453 0.18 -0.02 pose: 0.0 -6.10839 -0.671743 0 -0.00093418 -0.00310185 0.703402 0.710785 uwb: 0.0 943.282 1648.18 -imu_odom_: 1691062925.148859363 0.483629 -0.112527 10.1778 -0.0660464 0.0170442 0.0308927 0.19 0 pose: 0.61871165 -6.11241 -0.660082 0 -0.00123239 -0.00273197 0.703803 0.710388 uwb: 0.49996353 939.321 1647.8 -imu_odom_: 1691062925.174786736 0.411803 -0.462081 9.9096 -0.072438 -0.0149137 0.052198 0.19 0 pose: 0.0 -6.11241 -0.660082 0 -0.00123239 -0.00273197 0.703803 0.710388 uwb: 0.0 939.321 1647.8 -imu_odom_: 1691062925.191770669 -0.122104 -0.445322 9.93594 -0.0372843 0.00958738 0.036219 0.18 0.02 pose: 0.7055591 -6.11507 -0.659282 0 -0.000667946-0.00241395 0.703781 0.710412 uwb: 0.49983812 938.193 1647.67 -imu_odom_: 1691062925.217873323 0.457293 -0.351948 9.33499 -0.072438 -0.0287621 0.052198 0.18 0.02 pose: 0.0 -6.11507 -0.659282 0 -0.000667946-0.00241395 0.703781 0.710412 uwb: 0.0 938.193 1647.67 -imu_odom_: 1691062925.243765697 0.0143652 -0.275333 9.86411 -0.0458064 -0.0106526 0.0468716 0.19 0.02 pose: 0.50990296 -6.11219 -0.649707 0 -0.00191521 -0.00306328 0.703833 0.710356 uwb: 0.49858986 935.861 1648.13 -imu_odom_: 1691062925.269001568 0.646434 -0.251391 10.2304 -0.0511327 -0.0276969 0.0479369 0.19 0.02 pose: 0.0 -6.11219 -0.649707 0 -0.00191521 -0.00306328 0.703833 0.710356 uwb: 0.0 935.861 1648.13 -imu_odom_: 1691062925.293778383 0.378284 -0.0023942 10.4052 -0.04048 -0.0394148 0.0415453 0.18 -0.02 pose: 0.43979326 -6.1093 -0.640131 0 -0.00338462 -0.00481391 0.703953 0.710222 uwb: 0.50019394 933.03 1647.84 -imu_odom_: 1691062925.310947805 0.251391 -0.418985 9.29429 -0.0639159 0.0245011 0.0490022 0.18 -0.02 pose: 0.0 -6.1093 -0.640131 0 -0.00338462 -0.00481391 0.703953 0.710222 uwb: 0.0 933.03 1647.84 -imu_odom_: 1691062925.334021968 0.543484 -0.390255 9.7037 -0.0617853 -0.00106526 0.0596548 0.19 0.02 pose: 0.50068974 -6.10643 -0.630554 0 -0.00142619 -0.00424255 0.704084 0.710103 uwb: 0.50108346 937.571 1648.13 -imu_odom_: 1691062925.358745702 0.555455 -0.246603 10.0149 -0.052198 -0.00852212 0.0479369 0.19 0.02 pose: 0.0 -6.10643 -0.630554 0 -0.00142619 -0.00424255 0.704084 0.710103 uwb: 0.0 937.571 1648.13 -imu_odom_: 1691062925.375835795 0.823605 -0.483629 9.94551 -0.0511327 0.0276969 0.0394148 0.22 0 pose: 0.40904463 -6.10643 -0.630554 0 -0.00204744 -0.00322595 0.7042 0.709992 uwb: 0.0 937.571 1648.13 -imu_odom_: 1691062925.400867219 0.806846 -0.339977 10.1251 -0.0287621 -0.0106526 0.0426106 0.22 0 pose: 0.0 -6.10643 -0.630554 0 -0.00204744 -0.00322595 0.7042 0.709992 uwb: 0.49945023 930.78 1647.49 -imu_odom_: 1691062925.427990939 0.651223 -0.229843 10.2376 -0.0490022 0.0255663 0.0426106 0.18 0.02 pose: 0.49089031 -6.11313 -0.618103 0 0.00059365 -0.00620139 0.704374 0.709802 uwb: 0.0 930.78 1647.49 -imu_odom_: 1691062925.443808856 -0.0191536 -0.23942 9.84735 -0.0330232 0.036219 0.0383495 0.18 0.02 pose: 0.0 -6.11313 -0.618103 0 0.00059365 -0.00620139 0.704374 0.709802 uwb: 0.49902733 925.122 1646.9 -imu_odom_: 1691062925.469931342 0.19393 -0.122104 10.2232 -0.0490022 -0.00958738 0.0436758 0.18 -0.02 pose: 0.68887675 -6.1074 -0.598942 0 0.00454959 -0.00803456 0.704388 0.709755 uwb: 0.0 925.122 1646.9 -imu_odom_: 1691062925.494891604 0.368707 -0.361524 9.8282 -0.056459 0.00745685 0.0372843 0.19 -0.02 pose: 0.35157504 -6.1074 -0.598942 0 0.00292465 -0.00477324 0.704442 0.709739 uwb: 0.50075682 925.109 1647.02 -imu_odom_: 1691062925.520881390 0.754174 -0.213084 9.92397 -0.056459 -0.0117179 0.056459 0.19 -0.02 pose: 0.0 -6.1074 -0.598942 0 0.00292465 -0.00477324 0.704442 0.709739 uwb: 0.0 925.109 1647.02 -imu_odom_: 1691062925.545859151 0.354342 -0.277727 10.1658 -0.0319579 0.0223706 0.0223706 0.21 0 pose: 0.6815564 -6.1074 -0.598942 0 0.00221404 -0.00469744 0.70444 0.709744 uwb: 0.50180967 925.136 1646.79 -imu_odom_: 1691062925.571791482 0.588974 -0.399832 9.56484 -0.0607201 -0.00745685 0.0543285 0.21 0 pose: 0.0 -6.1074 -0.598942 0 0.00221404 -0.00469744 0.70444 0.709744 uwb: 0.0 925.136 1646.79 -imu_odom_: 1691062925.588764623 0.536301 -0.0335188 10.0844 -0.0394148 -0.0138484 0.0383495 0.19 -0.02 pose: 0.51250155 -6.11411 -0.586496 0 0.00200094 -0.00542122 0.704537 0.709644 uwb: 0.0 925.136 1646.79 -imu_odom_: 1691062925.612875601 0.258574 -0.213084 9.82102 -0.056459 -0.0436758 0.0479369 0.19 -0.02 pose: 0.0 -6.11411 -0.586496 0 0.00200094 -0.00542122 0.704537 0.709644 uwb: 0.0 925.136 1646.79 -imu_odom_: 1691062925.639014420 1.15401 -0.19393 10.2711 -0.0468716 -0.0138484 0.0426106 0.19 0.02 pose: 0.50743560 -6.11125 -0.576915 0 0.00104378 -0.00617187 0.704561 0.709615 uwb: 0.99875463 922.22 1647.2 -imu_odom_: 1691062925.664728888 0.694318 -0.186748 9.59596 -0.0575243 0.00532632 0.04048 0.19 0.02 pose: 0.0 -6.11125 -0.576915 0 0.00104378 -0.00617187 0.704561 0.709615 uwb: 0.0 922.22 1647.2 -imu_odom_: 1691062925.689790061 0.562637 -0.241814 9.45231 -0.0798948 -0.0575243 0.0490022 0.2 0 pose: 0.41023164 -6.10839 -0.567333 0 0.0015062 -0.00431218 0.704641 0.709549 uwb: 0.49863069 921.648 1647.18 -imu_odom_: 1691062925.706731996 0.464475 -0.368707 10.0317 -0.0426106 0.0106526 0.0372843 0.2 0 pose: 0.0 -6.10839 -0.567333 0 0.0015062 -0.00431218 0.704641 0.709549 uwb: 0.0 921.648 1647.18 -imu_odom_: 1691062925.732740447 0.253785 -0.234632 10.137 -0.0511327 0.00639159 0.052198 0.18 -0.02 pose: 0.50996420 -6.10553 -0.557751 0 0.00502298 -0.00728505 0.704663 0.709487 uwb: 0.0 921.648 1647.18 -imu_odom_: 1691062925.757761081 0.59855 -0.289698 9.69173 -0.0660464 0.00532632 0.0372843 0.23 0 pose: 0.26013118 -6.11511 -0.554892 0 0.00343453 -0.00914585 0.704729 0.709409 uwb: 0.50001311 921.625 1647.36 -imu_odom_: 1691062925.782919081 0.610521 -0.160412 10.149 -0.0745685 -0.00852212 0.0596548 0.23 0 pose: 0.35967124 -6.11225 -0.545308 0 0.00101386 -0.00648743 0.704867 0.709309 uwb: 0.0 921.625 1647.36 -imu_odom_: 1691062925.798732623 0.213084 -0.339977 9.87608 -0.0596548 0.0308927 0.0340885 0.23 0 pose: 0.0 -6.11225 -0.545308 0 0.00101386 -0.00648743 0.704867 0.709309 uwb: 0.50120596 927.249 1648.28 -imu_odom_: 1691062925.824847818 0.648829 -0.0454898 10.5249 -0.0426106 -0.0426106 0.036219 0.19 0 pose: 0.7163502 -6.11225 -0.545308 0 0.00146061 -0.00700506 0.704856 0.709314 uwb: 0.0 927.249 1648.28 -imu_odom_: 1691062925.849777457 0.536301 -0.186748 10.0963 -0.036219 -0.0500674 0.0330232 0.2 -0.02 pose: 0.48837920 -6.1094 -0.535724 0 0.00417385 -0.0071362 0.704983 0.709176 uwb: 0.49995478 924.948 1648.4 -imu_odom_: 1691062925.871707187 0.548272 -0.201113 9.84735 -0.04048 -0.0245011 0.0308927 0.2 -0.02 pose: 0.0 -6.1094 -0.535724 0 0.00417385 -0.0071362 0.704983 0.709176 uwb: 0.0 924.948 1648.4 -imu_odom_: 1691062925.887728383 0.802058 -0.126893 9.73482 -0.0735032 -0.0106526 0.036219 0.19 0 pose: 0.43049839 -6.10655 -0.526139 0 0.00614088 -0.00525429 0.704906 0.709255 uwb: 0.49949105 925.485 1648.72 -imu_odom_: 1691062925.913872743 0.402226 -0.320823 9.75398 -0.0671117 -0.0213053 0.0490022 0.19 0 pose: 0.0 -6.10655 -0.526139 0 0.00614088 -0.00525429 0.704906 0.709255 uwb: 0.0 925.485 1648.72 -imu_odom_: 1691062925.939735078 0.328006 -0.222661 10.3022 -0.0543285 -0.0255663 0.0436758 0.19 0 pose: 0.46955612 -6.11328 -0.513701 0 0.006274 -0.00610103 0.704788 0.709364 uwb: 0.0 925.485 1648.72 -imu_odom_: 1691062925.956784048 0.873884 -0.323217 9.58638 -0.0585895 -0.00745685 0.0319579 0.19 0 pose: 0.0 -6.11328 -0.513701 0 0.006274 -0.00610103 0.704788 0.709364 uwb: 0.0 925.485 1648.72 -imu_odom_: 1691062925.981855429 0.732626 -0.234632 9.60314 -0.0415453 0 0.0298274 0.19 0 pose: 0.42143100 -6.11042 -0.504118 0 0.00414954 -0.00572346 0.70489 0.709281 uwb: 0.0 925.485 1648.72 -imu_odom_: 1691062926.7734096 0.37589 -0.059855 9.87369 -0.0532632 -0.0127832 0.0468716 0.19 0 pose: 0.0 -6.11042 -0.504118 0 0.00414954 -0.00572346 0.70489 0.709281 uwb: 0.99925627 927.183 1648.96 -imu_odom_: 1691062926.33895372 0.0670376 -0.323217 9.59117 -0.0532632 0.0319579 0.0500674 0.19 0 pose: 0.42983051 -6.11042 -0.504118 0 0.00447988 -0.00637596 0.704844 0.709319 uwb: 0.50137220 930.521 1649.96 -imu_odom_: 1691062926.58782722 0.387861 -0.167594 9.65342 -0.036219 -0.0319579 0.0426106 0.19 0 pose: 0.0 -6.11042 -0.504118 0 0.00447988 -0.00637596 0.704844 0.709319 uwb: 0.0 930.521 1649.96 -imu_odom_: 1691062926.74791961 0.507571 -0.215478 10.2256 -0.0255663 -0.0149137 0.0319579 0.19 0 pose: 0.51850079 -6.10757 -0.494534 0 0.00494552 -0.0044502 0.704874 0.709301 uwb: 0.0 930.521 1649.96 -imu_odom_: 1691062926.100737708 0.452504 -0.493206 9.80904 -0.0607201 -0.0255663 0.052198 0.19 0 pose: 0.0 -6.10757 -0.494534 0 0.00494552 -0.0044502 0.704874 0.709301 uwb: 0.49906525 922.599 1649.02 -imu_odom_: 1691062926.125845254 0.208296 -0.155623 9.61511 -0.0479369 -0.0436758 0.0617853 0.19 0 pose: 0.49096322 -6.1143 -0.482098 0 0.00301795 -0.00152858 0.704965 0.709234 uwb: 0.0 922.599 1649.02 -imu_odom_: 1691062926.142706985 0.790087 -0.268151 10.0389 -0.0596548 -0.0351537 0.0575243 0.19 0 pose: 0.0 -6.1143 -0.482098 0 0.00301795 -0.00152858 0.704965 0.709234 uwb: 0.50130221 923.131 1649.39 -imu_odom_: 1691062926.160783146 0 -0.100556 9.63427 -0.0436758 0.0266316 0.0415453 0.21 -0.02 pose: 0.69136453 -6.10859 -0.462928 0 0.00150166 -0.0030368 0.705313 0.708888 uwb: 0.0 923.131 1649.39 -imu_odom_: 1691062926.183832811 0.337582 -0.158017 9.58399 -0.0777643 0.00213053 0.0596548 0.21 -0.02 pose: 0.0 -6.10859 -0.462928 0 0.00150166 -0.0030368 0.705313 0.708888 uwb: 0.49884944 922.499 1649.86 -imu_odom_: 1691062926.207760633 0.445322 -0.150835 9.9527 -0.0628506 0.0106526 0.0596548 0.19 0.02 pose: 0.49876486 -6.10657 -0.456111 0 0.000398351 0.000147398 0.705547 0.708663 uwb: 0.0 922.499 1649.86 -imu_odom_: 1691062926.224687694 0.629675 -0.246603 9.94073 -0.0692422 -0.0372843 0.056459 0.19 0.02 pose: 0.0 -6.10657 -0.456111 0 0.000398351 0.000147398 0.705547 0.708663 uwb: 0.0 922.499 1649.86 -imu_odom_: 1691062926.249751784 0.509965 -0.21069 9.83059 -0.0543285 0.0383495 0.0330232 0.18 0 pose: 0.6951472 -6.10575 -0.45334 0 0.00102821 0.00029012 0.705597 0.708613 uwb: 0.50036017 923.02 1650.32 -imu_odom_: 1691062926.267690578 0.122104 -0.232238 9.92157 -0.0713727 -0.00106526 0.0500674 0.23 0.02 pose: 0.0 -6.10575 -0.45334 0 0.00102821 0.00029012 0.705597 0.708613 uwb: 0.0 923.02 1650.32 -imu_odom_: 1691062926.292684380 -0.0383072 -0.0814029 9.87608 -0.0479369 -0.0149137 0.0426106 0.18 0.02 pose: 0.76906295 -6.11251 -0.440919 0 0.00215841 -0.00212358 0.705832 0.708373 uwb: 0.49740285 924.121 1650.76 -imu_odom_: 1691062926.317728345 0.464475 -0.339977 9.87369 -0.0671117 -0.0223706 0.0553937 0.25 0.02 pose: 0.0 -6.11251 -0.440919 0 0.00215841 -0.00212358 0.705832 0.708373 uwb: 0.0 924.121 1650.76 -imu_odom_: 1691062926.341686791 0.244209 -0.354342 9.79228 -0.036219 0.00852212 0.0340885 0.25 0.02 pose: 0.31016369 -6.10968 -0.431327 0 0.000809531 -0.0005904560.705895 0.708316 uwb: 0.50043310 920.145 1650.28 -imu_odom_: 1691062926.368682477 0.723049 -0.244209 9.991 -0.0703074 -0.0213053 0.0500674 0.19 -0.02 pose: 0.42979844 -6.10773 -0.42471 0 -0.00224708 -0.00154449 0.705958 0.708249 uwb: 0.0 920.145 1650.28 -imu_odom_: 1691062926.393723234 0.859518 -0.272939 9.84496 -0.0543285 -0.0223706 0.0553937 0.19 -0.02 pose: 0.8041076 -6.10686 -0.421735 0 -0.00163375 -0.00216415 0.705986 0.70822 uwb: 0.50308418 919.542 1650.49 -imu_odom_: 1691062926.411831185 0.275333 -0.208296 9.90721 -0.0713727 -0.00852212 0.0458064 0.2 0 pose: 0.0 -6.10686 -0.421735 0 -0.00163375 -0.00216415 0.705986 0.70822 uwb: 0.0 919.542 1650.49 -imu_odom_: 1691062926.435680554 0.603339 -0.328006 9.8282 -0.0468716 0.00532632 0.0319579 0.2 0 pose: 0.43995367 -6.10686 -0.421735 0 0.00172364 -0.00557561 0.70618 0.708008 uwb: 0.49660082 912.725 1649.71 -imu_odom_: 1691062926.462698113 0.818817 -0.304064 9.94312 -0.036219 -0.0330232 0.0415453 0.23 0.02 pose: 0.41957320 -6.1108 -0.410154 0 0.00147508 -0.00625351 0.706153 0.70803 uwb: 0.0 912.725 1649.71 -imu_odom_: 1691062926.478833637 0.505177 -0.124498 9.92636 -0.0511327 0.0607201 0.0436758 0.23 0.02 pose: 0.0 -6.1108 -0.410154 0 0.00147508 -0.00625351 0.706153 0.70803 uwb: 0.0 912.725 1649.71 -imu_odom_: 1691062926.495814653 0.565032 -0.179565 10.0844 -0.0575243 -0.0106526 0.04048 0.23 0 pose: 0.0 -6.1108 -0.410154 0 0.00147508 -0.00625351 0.706153 0.70803 uwb: 0.50001603 914.413 1650.05 -imu_odom_: 1691062926.520739043 0.208296 -0.347159 9.85214 -0.0447411 0 0.0319579 0.23 0 pose: 0.50156177 -6.11082 -0.399728 0 0.00454998 -0.00613905 0.706176 0.707996 uwb: 0.0 914.413 1650.05 -imu_odom_: 1691062926.547748728 0.665588 -0.181959 9.87129 -0.0692422 -0.0490022 0.0447411 0.23 0 pose: 0.34902312 -6.10882 -0.392926 0 0.00318849 -0.00445153 0.706122 0.708069 uwb: 0.50042434 916.632 1650.76 -imu_odom_: 1691062926.563758259 0.392649 -0.335188 9.32302 -0.0575243 -0.00532632 0.036219 0.23 0 pose: 0.6960221 -6.108 -0.390133 0 0.00388292 -0.00491719 0.70613 0.708054 uwb: 0.0 916.632 1650.76 -imu_odom_: 1691062926.581757716 0.768539 -0.282516 10.2256 -0.0575243 -0.0223706 0.0543285 0.23 0 pose: 0.0 -6.108 -0.390133 0 0.00388292 -0.00491719 0.70613 0.708054 uwb: 0.0 916.632 1650.76 -imu_odom_: 1691062926.605670955 0.363919 -0.351948 9.93833 -0.0340885 0.0266316 0.0245011 0.23 0 pose: 0.44028033 -6.10518 -0.380539 0 0.00478658 -0.0067052 0.706181 0.707983 uwb: 0.49935399 911.527 1650.04 -imu_odom_: 1691062926.622683178 0.189142 0.0814029 10.2328 -0.0351537 -0.0330232 0.0468716 0.23 0.02 pose: 0.0 -6.10518 -0.380539 0 0.00478658 -0.0067052 0.706181 0.707983 uwb: 0.0 911.527 1650.04 -imu_odom_: 1691062926.647735019 0.37589 -0.0909797 9.42597 -0.0458064 -0.0276969 0.0436758 0.23 0.02 pose: 0.40962502 -6.11477 -0.37772 0 0.0031763 -0.00570653 0.706143 0.70804 uwb: 0.50045934 908.668 1649.79 -imu_odom_: 1691062926.674679374 0.306458 -0.263362 10.1107 -0.0607201 -0.0319579 0.0479369 0.22 0 pose: 0.0 -6.11477 -0.37772 0 0.0031763 -0.00570653 0.706143 0.70804 uwb: 0.0 908.668 1649.79 -imu_odom_: 1691062926.699673176 0.897826 -0.158017 10.0389 -0.0415453 -0.0308927 0.0383495 0.22 0 pose: 0.42030232 -6.11195 -0.368126 0 0.00313228 -0.00214694 0.706229 0.707974 uwb: 0.50021435 908.691 1649.63 -imu_odom_: 1691062926.726760440 0.488417 -0.205901 9.65582 -0.0596548 -0.0127832 0.0468716 0.23 0 pose: 0.44953145 -6.10913 -0.358531 0 0.00380903 -0.00319634 0.706273 0.707922 uwb: 0.0 908.691 1649.63 -imu_odom_: 1691062926.752672939 0.217872 -0.0143652 9.80665 -0.0660464 -0.0383495 0.0490022 0.2 0 pose: 0.7003386 -6.10913 -0.358531 0 0.00334264 -0.00271525 0.706293 0.707906 uwb: 0.50103681 908.146 1649.38 -imu_odom_: 1691062926.769658913 0.414197 -0.517148 9.77553 -0.0553937 -0.00106526 0.0426106 0.24 0 pose: 0.0 -6.10913 -0.358531 0 0.00334264 -0.00271525 0.706293 0.707906 uwb: 0.0 908.146 1649.38 -imu_odom_: 1691062926.786679011 0.806846 -0.222661 9.92875 -0.0532632 -0.0447411 0.0436758 0.24 0 pose: 0.45996377 -6.10632 -0.348936 0 0.0019775 0.000833785 0.706431 0.707778 uwb: 0.49813197 902.471 1648.63 -imu_odom_: 1691062926.803733814 0.328006 -0.306458 9.59117 -0.0703074 0.00106526 0.0575243 0.27 -0.02 pose: 0.0 -6.10632 -0.348936 0 0.0019775 0.000833785 0.706431 0.707778 uwb: 0.0 902.471 1648.63 -imu_odom_: 1691062926.827723175 0.320823 -0.141258 9.58399 -0.0713727 -0.0340885 0.0436758 0.27 -0.02 pose: 0.41011208 -6.10351 -0.339339 0 0.00140915 -0.00173555 0.706521 0.707689 uwb: 0.0 902.471 1648.63 -imu_odom_: 1691062926.853641506 0.395043 -0.277727 10.2711 -0.0777643 -0.0106526 0.0479369 0.23 0.02 pose: 0.0 -6.10351 -0.339339 0 0.00140915 -0.00173555 0.706521 0.707689 uwb: 0.50044768 897.91 1648.28 -imu_odom_: 1691062926.876671339 0.531513 -0.368707 10.2328 -0.0394148 -0.00852212 0.0255663 0.23 0.02 pose: 0.41971318 -6.1131 -0.336529 0 -0.000410951-0.0002174470.706645 0.707568 uwb: 0.0 897.91 1648.28 -imu_odom_: 1691062926.892658121 0.529119 -0.304064 10.6231 -0.0628506 -0.0458064 0.052198 0.18 0 pose: 0.41015874 -6.1103 -0.326931 0 -0.00145442 -0.00375557 0.706575 0.707627 uwb: 0.50069849 900.696 1649 -imu_odom_: 1691062926.919664890 0.682347 -0.268151 10.3693 -0.036219 -0.00426106 0.0308927 0.18 0 pose: 0.8141695 -6.1103 -0.326931 0 -0.000860773-0.004544 0.706608 0.70759 uwb: 0.0 900.696 1649 -imu_odom_: 1691062926.944658400 0.600945 -0.148441 9.42118 -0.0681769 -0.00745685 0.0511327 0.18 0 pose: 0.34851856 -6.10749 -0.317333 0 0.00203917 -0.00676343 0.70654 0.707638 uwb: 0.49872694 897.281 1648.58 -imu_odom_: 1691062926.961860778 -0.105345 -0.306458 10.2065 -0.0383495 0.015979 0.036219 0.18 0 pose: 0.0 -6.10749 -0.317333 0 0.00203917 -0.00676343 0.70654 0.707638 uwb: 0.0 897.281 1648.58 -imu_odom_: 1691062926.987872438 0.107739 -0.169988 10.0676 -0.0639159 -0.0138484 0.0511327 0.18 0 pose: 0.42195888 -6.10468 -0.307736 0 0.00305002 -0.00504509 0.706617 0.707571 uwb: 0.50022602 895.534 1648.61 -imu_odom_: 1691062927.13726024 0.857124 -0.191536 10.2185 -0.052198 -0.00639159 0.0394148 0.18 0 pose: 0.0 -6.10468 -0.307736 0 0.00305002 -0.00504509 0.706617 0.707571 uwb: 0.0 895.534 1648.61 -imu_odom_: 1691062927.30779078 0.454898 -0.237026 9.90002 -0.0639159 0.0276969 0.0372843 0.17 0.02 pose: 0.51865246 -6.11224 -0.297937 0 0.00364365 -0.00467756 0.70672 0.707468 uwb: 0.0 895.534 1648.61 -imu_odom_: 1691062927.56795696 0.371101 -0.368707 9.69412 -0.0298274 -0.0223706 0.0266316 0.17 0.02 pose: 0.0 -6.11224 -0.297937 0 0.00364365 -0.00467756 0.70672 0.707468 uwb: 0.50110972 890.44 1647.8 -imu_odom_: 1691062927.82794815 0.663194 -0.361524 9.88087 -0.0575243 -0.00852212 0.04048 0.25 -0.02 pose: 0.24076272 -6.11148 -0.295331 0 0.00145984 -0.00355438 0.706685 0.707518 uwb: 0.0 890.44 1647.8 -imu_odom_: 1691062927.106789425 0.213084 -0.0885855 10.3358 -0.0330232 -0.00852212 0.0617853 0.23 0.02 pose: 0.0 -6.11148 -0.295331 0 0.00145984 -0.00355438 0.706685 0.707518 uwb: 0.49875903 890.959 1648.17 -imu_odom_: 1691062927.129673433 0.337582 -0.299275 9.52413 -0.0415453 -0.0308927 0.0436758 0.23 0.02 pose: 0.51878953 -6.10867 -0.285732 0 0.00075878 -0.0054828 0.706658 0.707534 uwb: 0.0 890.959 1648.17 -imu_odom_: 1691062927.154655569 0.407014 -0.268151 9.65342 -0.0276969 0.0170442 0.0276969 0.17 0 pose: 0.39992184 -6.10673 -0.279096 0 -0.00112169 -0.00280881 0.70684 0.707367 uwb: 0.50047101 884.826 1646.66 -imu_odom_: 1691062927.171726997 0.253785 -0.3304 9.93354 -0.0681769 -0.015979 0.0490022 0.17 0 pose: 0.0 -6.10673 -0.279096 0 -0.00112169 -0.00280881 0.70684 0.707367 uwb: 0.0 884.826 1646.66 -imu_odom_: 1691062927.187825773 0.373495 -0.205901 9.73482 -0.0415453 -0.00852212 0.0436758 0.17 0 pose: 0.0 -6.10673 -0.279096 0 -0.00112169 -0.00280881 0.70684 0.707367 uwb: 0.50029311 887.061 1647.17 -imu_odom_: 1691062927.213826350 0.770933 -0.294487 9.84496 -0.0532632 -0.0447411 0.0596548 0.18 0 pose: 0.7134045 -6.10587 -0.276133 0 -0.0016241 -0.00219519 0.706812 0.707396 uwb: 0.0 887.061 1647.17 -imu_odom_: 1691062927.239690144 0.984017 -0.1652 10.0796 -0.0394148 -0.00532632 0.0383495 0.17 0.02 pose: 0.42926472 -6.11266 -0.263732 0 -0.00375486 2.04002e-05 0.706809 0.707394 uwb: 0.50049434 888.645 1648.11 -imu_odom_: 1691062927.263655297 0.550666 -0.380678 9.28471 -0.0735032 -0.0266316 0.0479369 0.17 0.02 pose: 0.0 -6.11266 -0.263732 0 -0.00375486 2.04002e-05 0.706809 0.707394 uwb: 0.0 888.645 1648.11 -imu_odom_: 1691062927.286652757 0.469264 -0.426168 9.6223 -0.0692422 0.0234358 0.0596548 0.18 0 pose: 0.41937196 -6.11266 -0.263732 0 -0.000260632-0.00240758 0.707002 0.707208 uwb: 0.50059059 887.991 1648.52 -imu_odom_: 1691062927.302772240 0.682347 -0.25618 10.0509 -0.076699 0.02024 0.0532632 0.18 0 pose: 0.0 -6.11266 -0.263732 0 -0.000260632-0.00240758 0.707002 0.707208 uwb: 0.0 887.991 1648.52 -imu_odom_: 1691062927.327716170 0.1652 -0.23942 10.058 -0.0415453 0.036219 0.0383495 0.23 0 pose: 0.81101094 -6.10707 -0.244529 0 -0.000207173-0.00785254 0.707284 0.706885 uwb: 0.0 887.991 1648.52 -imu_odom_: 1691062927.350863246 0.565032 -0.217872 9.67736 -0.0703074 -0.0245011 0.052198 0.23 0 pose: 0.8028826 -6.10707 -0.244529 0 -0.000692473-0.0070068 0.707287 0.706891 uwb: 0.49809990 892.463 1649.66 -imu_odom_: 1691062927.375777136 0.11971 -0.282516 9.41879 -0.052198 0.0245011 0.0458064 0.18 0.05 pose: 0.40062180 -6.10517 -0.237974 0 0.000627186 -0.00577974 0.707384 0.706805 uwb: 0.0 892.463 1649.66 -imu_odom_: 1691062927.402778072 0.385466 -0.301669 9.50259 -0.0500674 -0.00532632 0.052198 0.18 0.05 pose: 0.0 -6.10517 -0.237974 0 0.000627186 -0.00577974 0.707384 0.706805 uwb: 0.50116222 889.614 1649.25 -imu_odom_: 1691062927.426643190 0.402226 -0.213084 9.93833 -0.0458064 -0.00639159 0.0351537 0.18 -0.02 pose: 0.51914826 -6.11191 -0.225294 0 -0.00378057 -0.00261968 0.707577 0.706621 uwb: 0.0 889.614 1649.25 -imu_odom_: 1691062927.444653147 0.687136 -0.253785 9.85214 -0.0681769 -0.00639159 0.0436758 0.18 -0.02 pose: 0.0 -6.11191 -0.225294 0 -0.00378057 -0.00261968 0.707577 0.706621 uwb: 0.50058767 890.695 1649.77 -imu_odom_: 1691062927.468804664 0.739808 -0.25618 9.84975 -0.0596548 0.0127832 0.056459 0.18 0 pose: 0.41875075 -6.10957 -0.217221 0 -0.000524653-0.00253737 0.707569 0.70664 uwb: 0.0 890.695 1649.77 -imu_odom_: 1691062927.494780160 0.392649 -0.129287 10.2065 -0.0479369 0.00532632 0.0436758 0.18 0 pose: 0.8055366 -6.10832 -0.21293 0 -1.42423e-05-0.00306938 0.707614 0.706592 uwb: 0.49994896 888.364 1649.73 -imu_odom_: 1691062927.508652481 0.696713 -0.275333 9.73722 -0.0372843 -0.00106526 0.0287621 0.2 0 pose: 0.24070439 -6.10832 -0.21293 0 0.00116752 -0.00330494 0.707717 0.706487 uwb: 0.0 888.364 1649.73 -imu_odom_: 1691062927.524844877 0.486023 -0.129287 10.1945 -0.0660464 -0.02024 0.0585895 0.2 0 pose: 0.0 -6.10832 -0.21293 0 0.00116752 -0.00330494 0.707717 0.706487 uwb: 0.0 888.364 1649.73 -imu_odom_: 1691062927.550831163 0.742203 -0.122104 10.0341 -0.036219 0.0191748 0.0330232 0.25 0 pose: 0.23921990 -6.10832 -0.21293 0 0.00187187 -0.00189865 0.70772 0.706488 uwb: 0.49933066 884.34 1649.34 -imu_odom_: 1691062927.575698389 1.01035 -0.0981623 10.2161 -0.072438 -0.015979 0.04048 0.25 0 pose: 0.0 -6.10832 -0.21293 0 0.00187187 -0.00189865 0.70772 0.706488 uwb: 0.0 884.34 1649.34 -imu_odom_: 1691062927.601827293 0.634463 -0.397437 9.8689 -0.0692422 0.02024 0.0415453 0.21 0.05 pose: 0.30988955 -6.10555 -0.203323 0 0.00424386 -0.00196594 0.707775 0.706423 uwb: 0.49994312 889.414 1650.41 -imu_odom_: 1691062927.625769698 0.715866 -0.25618 9.78031 -0.0596548 -0.0138484 0.036219 0.21 0.05 pose: 0.51036085 -6.11238 -0.19094 0 0.00736248 -0.00498722 0.70773 0.706427 uwb: 0.0 889.414 1650.41 -imu_odom_: 1691062927.651686280 0.768539 -0.222661 10.331 -0.0713727 -0.0149137 0.052198 0.22 -0.05 pose: 0.0 -6.11238 -0.19094 0 0.00736248 -0.00498722 0.70773 0.706427 uwb: 0.0 889.414 1650.41 -imu_odom_: 1691062927.674616660 0.509965 -0.323217 9.69173 -0.0436758 -0.0149137 0.036219 0.22 -0.05 pose: 0.50951216 -6.1096 -0.181334 0 0.00801541 -0.00933926 0.707737 0.706369 uwb: 0.0 889.414 1650.41 -imu_odom_: 1691062927.698611562 0.433351 -0.0957681 10.252 -0.0468716 -0.0255663 0.0511327 0.2 -0.02 pose: 0.0 -6.1096 -0.181334 0 0.00801541 -0.00933926 0.707737 0.706369 uwb: 0.100063871 891.652 1651 -imu_odom_: 1691062927.715751819 0.383072 -0.265756 9.81144 -0.0490022 0.00213053 0.0490022 0.2 -0.02 pose: 0.24012109 -6.1096 -0.181334 0 0.00883055 -0.0104986 0.707797 0.706282 uwb: 0.0 891.652 1651 -imu_odom_: 1691062927.740943943 0.785298 -0.19393 10.4603 -0.0649811 -0.0543285 0.0543285 0.22 0 pose: 0.48073799 -6.1096 -0.181334 0 0.00661092 -0.00733168 0.707934 0.706209 uwb: 0.0 891.652 1651 -imu_odom_: 1691062927.766646163 0.3304 -0.172383 9.77792 -0.0490022 0.0575243 0.04048 0.21 -0.02 pose: 0.35180837 -6.11341 -0.169829 0 0.00820535 -0.00870559 0.70808 0.706031 uwb: 0.0 891.652 1651 -imu_odom_: 1691062927.782754563 0.0287304 -0.131681 10.319 -0.0511327 -0.0383495 0.0575243 0.21 -0.02 pose: 0.0 -6.11341 -0.169829 0 0.00820535 -0.00870559 0.70808 0.706031 uwb: 0.0 891.652 1651 -imu_odom_: 1691062927.807771114 0.519542 -0.280122 9.98382 -0.0394148 -0.0468716 0.0394148 0.25 -0.02 pose: 0.7888835 -6.11644 -0.168956 0 0.00758845 -0.00787614 0.70809 0.706037 uwb: 0.99783304 889.385 1650.57 -imu_odom_: 1691062927.830750783 0.342371 -0.325611 9.80904 -0.0617853 -0.0266316 0.052198 0.25 -0.02 pose: 0.0 -6.11644 -0.168956 0 0.00758845 -0.00787614 0.70809 0.706037 uwb: 0.0 889.385 1650.57 -imu_odom_: 1691062927.846751856 0.237026 -0.0694318 10.3166 -0.0479369 -0.02024 0.0436758 0.25 -0.02 pose: 0.0 -6.11644 -0.168956 0 0.00758845 -0.00787614 0.70809 0.706037 uwb: 0.49988771 890.413 1651.41 -imu_odom_: 1691062927.873792456 0.560243 0.011971 10.173 -0.0703074 -0.00745685 0.052198 0.18 0 pose: 0.40812302 -6.11367 -0.159346 0 0.00496308 -0.00523114 0.708222 0.705953 uwb: 0.0 890.413 1651.41 -imu_odom_: 1691062927.897751777 -0.102951 0.0430956 10.0341 -0.0511327 0.00106526 0.0415453 0.19 -0.02 pose: 0.84147376 -6.10894 -0.142863 0 0.00386893 -0.00282407 0.708484 0.705711 uwb: 0.50171344 892.102 1651.79 -imu_odom_: 1691062927.915750068 0.402226 -0.282516 9.78031 -0.0628506 0.00106526 0.0479369 0.19 -0.02 pose: 0.0 -6.10894 -0.142863 0 0.00386893 -0.00282407 0.708484 0.705711 uwb: 0.0 892.102 1651.79 -imu_odom_: 1691062927.931812096 0.517148 -0.47884 9.72525 -0.0852212 -0.0319579 0.0543285 0.19 -0.02 pose: 0.0 -6.10894 -0.142863 0 0.00386893 -0.00282407 0.708484 0.705711 uwb: 0.0 892.102 1651.79 -imu_odom_: 1691062927.957589561 0.316035 -0.227449 9.84496 -0.0458064 0.0181095 0.04048 0.2 0 pose: 0.7975747 -6.10815 -0.140123 0 0.00355331 -0.00206233 0.70849 0.705709 uwb: 0.49932774 893.718 1652.63 -imu_odom_: 1691062927.973734126 0.280122 -0.320823 9.91918 -0.0553937 0.00426106 0.0415453 0.2 0 pose: 0.0 -6.10815 -0.140123 0 0.00355331 -0.00206233 0.70849 0.705709 uwb: 0.0 893.718 1652.63 -imu_odom_: 1691062927.990599357 0.933739 -0.208296 10.2544 -0.04048 -0.0319579 0.0234358 0.19 0 pose: 0.41968985 -6.11776 -0.137367 0 0.000766404 -0.00202285 0.7086 0.705607 uwb: 0.50098140 891.953 1652.67 -imu_odom_: 1691062928.6594306 0.624887 -0.31364 9.8665 -0.0607201 -0.0213053 0.0447411 0.19 0 pose: 0.0 -6.11776 -0.137367 0 0.000766404 -0.00202285 0.7086 0.705607 uwb: 0.0 891.953 1652.67 -imu_odom_: 1691062928.24654427 0.639252 -0.0430956 10.0916 -0.0479369 -0.0127832 0.0436758 0.25 0 pose: 0.40006183 -6.11501 -0.127754 0 -0.00186392 -0.0004052180.708658 0.705549 uwb: 0.0 891.953 1652.67 -imu_odom_: 1691062928.41587029 0.828394 -0.0454898 10.2663 -0.0490022 -0.0138484 0.0319579 0.25 0 pose: 0.0 -6.11501 -0.127754 0 -0.00186392 -0.0004052180.708658 0.705549 uwb: 0.49779659 889.061 1652.45 -imu_odom_: 1691062928.54640398 0.232238 -0.246603 9.5792 -0.0639159 -0.00213053 0.052198 0.25 0 pose: 0.0 -6.11501 -0.127754 0 -0.00186392 -0.0004052180.708658 0.705549 uwb: 0.0 889.061 1652.45 -imu_odom_: 1691062928.71644164 0.830788 -0.306458 10.0413 -0.0660464 -0.0298274 0.0415453 0.18 0 pose: 0.50912718 -6.11226 -0.11814 0 0.000376765 -0.0028642 0.708603 0.705601 uwb: 0.0 889.061 1652.45 -imu_odom_: 1691062928.88583474 0.363919 -0.368707 9.28471 -0.0585895 0.0436758 0.0340885 0.18 0 pose: 0.0 -6.11226 -0.11814 0 0.000376765 -0.0028642 0.708603 0.705601 uwb: 0.50057892 890.711 1653.1 -imu_odom_: 1691062928.104654835 0.557849 -0.0933739 10.2687 -0.0585895 -0.0372843 0.0394148 0.18 0 pose: 0.0 -6.11226 -0.11814 0 0.000376765 -0.0028642 0.708603 0.705601 uwb: 0.0 890.711 1653.1 -imu_odom_: 1691062928.121639935 0.694318 -0.337582 9.75637 -0.0468716 0.00426106 0.0330232 0.26 0 pose: 0.47999429 -6.10951 -0.108526 0 0.00253931 -0.00335183 0.708629 0.705569 uwb: 0.0 890.711 1653.1 -imu_odom_: 1691062928.137631092 0.385466 -0.275333 10.1825 -0.0458064 0.0117179 0.0372843 0.19 0.02 pose: 0.0 -6.10951 -0.108526 0 0.00253931 -0.00335183 0.708629 0.705569 uwb: 0.0 890.711 1653.1 -imu_odom_: 1691062928.154632233 0.696713 -0.339977 9.81383 -0.0543285 -0.00426106 0.0394148 0.19 0.02 pose: 0.67043575 -6.11637 -0.0961593 0 0.00254146 -0.00472255 0.708556 0.705635 uwb: 0.0 890.711 1653.1 -imu_odom_: 1691062928.171635706 0.306458 0.035913 10.0604 -0.0426106 0.0223706 0.0479369 0.18 0.02 pose: 0.0 -6.11637 -0.0961593 0 0.00254146 -0.00472255 0.708556 0.705635 uwb: 0.0 890.711 1653.1 -imu_odom_: 1691062928.188699551 0.490811 -0.3304 9.73004 -0.0649811 -0.00532632 0.0575243 0.18 0.02 pose: 0.0 -6.11637 -0.0961593 0 0.00254146 -0.00472255 0.708556 0.705635 uwb: 0.99954503 893.562 1653.6 -imu_odom_: 1691062928.204566758 0.442927 -0.167594 9.83299 -0.0372843 -0.0245011 0.0458064 0.18 0.02 pose: 0.31880821 -6.11361 -0.0865461 0 0.00255171 -0.00502849 0.708568 0.70562 uwb: 0.0 893.562 1653.6 -imu_odom_: 1691062928.222635336 0.73502 -0.177171 9.88087 -0.0298274 -0.00106526 0.0319579 0.25 -0.02 pose: 0.42986844 -6.11361 -0.0865461 0 0.00209786 -0.00365319 0.708746 0.705451 uwb: 0.0 893.562 1653.6 -imu_odom_: 1691062928.239621019 0.811634 -0.263362 10.1299 -0.0383495 -0.0383495 0.0490022 0.25 -0.02 pose: 0.0 -6.11361 -0.0865461 0 0.00209786 -0.00365319 0.708746 0.705451 uwb: 0.49993439 892.377 1653.67 -imu_odom_: 1691062928.252558312 0.972046 -0.294487 9.414 -0.0458064 -0.00213053 0.0681769 0.25 -0.02 pose: 0.0 -6.11361 -0.0865461 0 0.00209786 -0.00365319 0.708746 0.705451 uwb: 0.0 892.377 1653.67 -imu_odom_: 1691062928.268562301 1.1971 -0.191536 10.3813 -0.0426106 0.0138484 0.106526 0.14 0 pose: 0.8071699 -6.11361 -0.0865461 0 0.00284863 -0.00399518 0.708721 0.705472 uwb: 0.0 892.377 1653.67 -imu_odom_: 1691062928.286598799 1.83396 -0.447716 10.3765 -0.0628506 -0.056459 0.120375 0.19 -0.02 pose: 0.0 -6.11361 -0.0865461 0 0.00284863 -0.00399518 0.708721 0.705472 uwb: 0.50056726 896.826 1655.12 -imu_odom_: 1691062928.303578649 1.72622 -0.246603 9.66539 -0.052198 -0.015979 0.0553937 0.19 -0.02 pose: 0.63926714 -6.11086 -0.0769317 0 0.00766062 -0.00858356 0.709449 0.704663 uwb: 0.0 896.826 1655.12 -imu_odom_: 1691062928.316581271 1.39582 0.454898 9.90002 -0.0585895 0.0298274 0.0351537 0.19 -0.02 pose: 0.0 -6.11086 -0.0769317 0 0.00766062 -0.00858356 0.709449 0.704663 uwb: 0.0 896.826 1655.12 -imu_odom_: 1691062928.332637466 0.991199 -0.0454898 9.90721 -0.0490022 0.0117179 0.0319579 0.12 -0.02 pose: 0.0 -6.11086 -0.0769317 0 0.00766062 -0.00858356 0.709449 0.704663 uwb: 0.0 896.826 1655.12 -imu_odom_: 1691062928.350591134 0.746991 -0.275333 10.149 -0.0511327 -0.0117179 0.00639159 0.12 -0.02 pose: 0.33027004 -6.10813 -0.0673112 0 0.0101902 -0.0108285 0.709784 0.704263 uwb: 0.49991105 893.937 1654.85 -imu_odom_: 1691062928.367572734 0.936133 -0.529119 9.76595 -0.052198 -0.0138484 0.0181095 0.09 -0.02 pose: 0.15005381 -6.11776 -0.0645923 0 0.011547 -0.0108957 0.709731 0.704294 uwb: 0.0 893.937 1654.85 -imu_odom_: 1691062928.380566023 0.785298 -0.306458 9.79947 -0.0735032 0.0106526 0.0181095 0.09 -0.02 pose: 0.0 -6.11776 -0.0645923 0 0.011547 -0.0108957 0.709731 0.704294 uwb: 0.0 893.937 1654.85 -imu_odom_: 1691062928.404571133 0.718261 -0.287304 9.82102 -0.0585895 0.00213053 0.0479369 0.09 -0.02 pose: 0.33108083 -6.11776 -0.0645923 0 0.011246 -0.0132261 0.709452 0.70454 uwb: 0.50074225 890.555 1653.98 -imu_odom_: 1691062928.422721082 0.617704 -0.167594 10.1706 -0.0692422 0.0287621 0.0553937 0.08 0.02 pose: 0.0 -6.11776 -0.0645923 0 0.011246 -0.0132261 0.709452 0.70454 uwb: 0.0 890.555 1653.98 -imu_odom_: 1691062928.439591855 -0.0383072 -0.292093 9.80186 -0.0575243 0.0511327 -0.0191748 0.09 0 pose: 0.0 -6.11776 -0.0645923 0 0.011246 -0.0132261 0.709452 0.70454 uwb: 0.49940941 888.873 1653.51 -imu_odom_: 1691062928.453755535 -0.600945 0.110133 10.0341 -0.0468716 0.0735032 -0.0788296 0.09 0 pose: 0.72045078 -6.11503 -0.0549713 0 0.00790779 -0.0115092 0.709359 0.704709 uwb: 0.0 888.873 1653.51 -imu_odom_: 1691062928.470744426 -1.02711 0.124498 10.1035 -0.0830906 0.0223706 0.0330232 0.1 0 pose: 0.0 -6.11503 -0.0549713 0 0.00790779 -0.0115092 0.709359 0.704709 uwb: 0.0 888.873 1653.51 -imu_odom_: 1691062928.484587874 -0.54109 -0.948104 9.96706 -0.076699 -0.0532632 0.0703074 0.1 0 pose: 0.0 -6.11503 -0.0549713 0 0.00790779 -0.0115092 0.709359 0.704709 uwb: 0.50010354 887.166 1653.19 -imu_odom_: 1691062928.508712269 0.452504 0.0335188 9.88566 -0.0351537 -0.0511327 0.0330232 0.1 0 pose: 0.31973856 -6.11503 -0.0549713 0 0.005397 -0.00829974 0.708579 0.705562 uwb: 0.0 887.166 1653.19 -imu_odom_: 1691062928.525707576 0.445322 0.0263362 9.88805 -0.0735032 0.0117179 0.0830906 0.11 0.02 pose: 0.30068509 -6.11228 -0.0453577 0 0.00401739 -0.00699139 0.708705 0.705459 uwb: 0.0 887.166 1653.19 -imu_odom_: 1691062928.542769088 -0.0502782 -0.371101 9.8282 -0.0532632 0.0447411 -0.0106526 0.11 0.02 pose: 0.0 -6.11228 -0.0453577 0 0.00401739 -0.00699139 0.708705 0.705459 uwb: 0.49884652 887.653 1653.78 -imu_odom_: 1691062928.557705640 -0.129287 -0.112527 9.98382 -0.0426106 -0.00852212 -0.100135 0.14 -0.14 pose: 0.0 -6.11228 -0.0453577 0 0.00401739 -0.00699139 0.708705 0.705459 uwb: 0.0 887.653 1653.78 -imu_odom_: 1691062928.574585746 0.136469 0.0766145 10.0341 -0.052198 -0.0447411 -0.154463 0.14 -0.14 pose: 0.41939821 -6.11228 -0.0453577 0 0.00473961 -0.00353697 0.70878 0.705404 uwb: 0.0 887.653 1653.78 -imu_odom_: 1691062928.588590768 0.325611 -0.177171 9.80665 -0.076699 -0.0170442 -0.178964 0.14 -0.14 pose: 0.0 -6.11228 -0.0453577 0 0.00473961 -0.00353697 0.70878 0.705404 uwb: 0.50146263 885.344 1653.52 -imu_odom_: 1691062928.605570910 0.536301 -0.292093 10.0916 -0.0575243 -0.00852212 -0.234358 0.14 -0.32 pose: 0.15866915 -6.11228 -0.0453577 0 0.00342494 -0.00237908 0.70829 0.705909 uwb: 0.0 885.344 1653.52 -imu_odom_: 1691062928.621700017 0.277727 -0.189142 9.55526 -0.0426106 -0.0436758 -0.292948 0.14 -0.32 pose: 0.0 -6.11228 -0.0453577 0 0.00342494 -0.00237908 0.70829 0.705909 uwb: 0.0 885.344 1653.52 -imu_odom_: 1691062928.639565316 0.632069 0.00957681 9.80426 -0.0777643 -0.0383495 -0.32384 0.14 -0.32 pose: 0.0 -6.11228 -0.0453577 0 0.00342494 -0.00237908 0.70829 0.705909 uwb: 0.50000438 887.618 1653.98 -imu_odom_: 1691062928.655681591 0.799663 -0.100556 9.98861 -0.076699 -0.0319579 -0.373908 0.15 -0.41 pose: 0.47114854 -6.10951 -0.0357466 0 0.00203858 -0.0002553640.70486 0.709344 uwb: 0.0 887.618 1653.98 -imu_odom_: 1691062928.673764169 0.107739 0.129287 9.43076 -0.0553937 -0.00426106 -0.420779 0.21 -0.58 pose: 0.0 -6.10951 -0.0357466 0 0.00203858 -0.0002553640.70486 0.709344 uwb: 0.0 887.618 1653.98 -imu_odom_: 1691062928.691756335 0.349553 -0.0143652 10.0221 -0.0500674 0.0479369 -0.462325 0.21 -0.58 pose: 0.66996329 -6.11637 -0.0233758 0 0.00446683 -0.0007969950.696059 0.71797 uwb: 0.50052059 890.474 1654.47 -imu_odom_: 1691062928.707698204 0.368707 0.205901 10.0628 -0.0245011 0.0181095 -0.491087 0.14 -0.47 pose: 0.0 -6.11637 -0.0233758 0 0.00446683 -0.0007969950.696059 0.71797 uwb: 0.0 890.474 1654.47 -imu_odom_: 1691062928.725625040 -0.129287 -0.335188 9.73722 -0.0490022 0.00106526 -0.529436 0.14 -0.47 pose: 0.0 -6.11637 -0.0233758 0 0.00446683 -0.0007969950.696059 0.71797 uwb: 0.0 890.474 1654.47 -imu_odom_: 1691062928.741696401 0.445322 -0.205901 9.7875 -0.0703074 0.0255663 -0.543285 0.14 -0.47 pose: 0.35874089 -6.11367 -0.0137471 0 0.00477715 0.00318515 0.689624 0.724144 uwb: 0.49816115 888.161 1654.27 -imu_odom_: 1691062928.758688209 0.816423 -0.158017 10.2544 -0.0703074 0.00532632 -0.547546 0.23 -0.85 pose: 0.42111311 -6.1122 -0.00860495 0 0.00287822 0.00334897 0.680932 0.732334 uwb: 0.0 888.161 1654.27 -imu_odom_: 1691062928.774741196 0.445322 -0.208296 9.51216 -0.056459 -0.0426106 -0.551807 0.23 -0.85 pose: 0.7036926 -6.11099 -0.00411301 0 0.00324854 0.00279324 0.67942 0.733737 uwb: 0.0 888.161 1654.27 -imu_odom_: 1691062928.792694865 0.797269 0.0526724 9.93354 -0.0777643 -0.0532632 -0.529436 0.21 -0.79 pose: 0.0 -6.11099 -0.00411301 0 0.00324854 0.00279324 0.67942 0.733737 uwb: 0.50051477 884.703 1653.86 -imu_odom_: 1691062928.809757543 1.22583 -0.189142 9.88566 -0.0777643 -0.0138484 -0.478304 0.14 -0.53 pose: 0.43961538 -6.11093 -0.00413107 0 0.0050229 -0.0005499640.669993 0.74235 uwb: 0.0 884.703 1653.86 -imu_odom_: 1691062928.824678929 1.65679 -0.533907 10.0485 -0.0628506 0.0138484 -0.470847 0.12 -0.44 pose: 0.0 -6.11093 -0.00413107 0 0.0050229 -0.0005499640.669993 0.74235 uwb: 0.0 884.703 1653.86 -imu_odom_: 1691062928.842599933 1.10612 -0.19393 9.50498 -0.0479369 0.0383495 -0.455933 0.12 -0.44 pose: 0.0 -6.11093 -0.00413107 0 0.0050229 -0.0005499640.669993 0.74235 uwb: 0.50033977 886.416 1654.16 -imu_odom_: 1691062928.858598090 0.88346 -0.162806 10.24 -0.0394148 -0.0138484 -0.366451 0.12 -0.44 pose: 0.24124394 -6.11099 -0.004113 0 0.0062342 -0.0026507 0.665362 0.74649 uwb: 0.0 886.416 1654.16 -imu_odom_: 1691062928.875597480 0.557849 -0.390255 9.81383 -0.04048 0.00213053 -0.294013 0.1 -0.41 pose: 0.0 -6.11099 -0.004113 0 0.0062342 -0.0026507 0.665362 0.74649 uwb: 0.0 886.416 1654.16 -imu_odom_: 1691062928.891620427 0.383072 -0.464475 9.63906 -0.0372843 0.0138484 -0.285491 0.1 -0.41 pose: 0.32728063 -6.10824 0.00550301 0 0.0079376 -0.00486948 0.659473 0.75167 uwb: 0.49919068 884.157 1653.62 -imu_odom_: 1691062928.908548947 0.399832 -0.110133 10.0221 -0.0394148 -0.0245011 -0.264186 0.11 -0.41 pose: 0.42073105 -6.10824 0.00550301 0 0.0056914 -0.006198 0.654016 0.756434 uwb: 0.0 884.157 1653.62 -imu_odom_: 1691062928.924539229 0.806846 -0.320823 9.87129 -0.0649811 -0.00639159 -0.234358 0.11 -0.41 pose: 0.0 -6.10824 0.00550301 0 0.0056914 -0.006198 0.654016 0.756434 uwb: 0.0 884.157 1653.62 -imu_odom_: 1691062928.949542656 0.90022 -0.220267 9.99819 -0.0458064 -0.0298274 -0.232228 0.1 -0.38 pose: 0.6926099 -6.10824 0.00550301 0 0.00565946 -0.00552789 0.65322 0.757127 uwb: 0.50007437 885.814 1654.24 -imu_odom_: 1691062928.963608342 0.651223 -0.354342 9.67018 -0.0713727 0.0213053 -0.216249 0.07 -0.23 pose: 0.0 -6.10824 0.00550301 0 0.00565946 -0.00552789 0.65322 0.757127 uwb: 0.0 885.814 1654.24 -imu_odom_: 1691062928.979596291 0.00957681 -0.42138 9.83059 -0.0628506 0.0937433 -0.28123 0.08 -0.35 pose: 0.0 -6.10824 0.00550301 0 0.00565946 -0.00552789 0.65322 0.757127 uwb: 0.0 885.814 1654.24 -imu_odom_: 1691062928.996531810 -0.52433 -0.0526724 10.0604 -0.036219 0.0308927 -0.42291 0.08 -0.35 pose: 0.73048936 -6.10548 0.0151125 0 0.00583017 -0.0085942 0.645476 0.76371 uwb: 0.50171928 880.163 1652.95 -imu_odom_: 1691062929.13693358 -0.253785 0.445322 10.0293 -0.0575243 -0.0223706 -0.515588 0.1 -0.41 pose: 0.0 -6.10548 0.0151125 0 0.00583017 -0.0085942 0.645476 0.76371 uwb: 0.0 880.163 1652.95 -imu_odom_: 1691062929.30639377 0.0574608 0.253785 9.97424 -0.0756338 0.00213053 -0.530502 0.1 -0.41 pose: 0.0 -6.10548 0.0151125 0 0.00583017 -0.0085942 0.645476 0.76371 uwb: 0.0 880.163 1652.95 -imu_odom_: 1691062929.46581245 -0.416591 -0.47884 9.89045 -0.0820254 0.00213053 -0.507066 0.1 -0.41 pose: 0.32963133 -6.10548 0.0151128 0 0.00405148 -0.00531143 0.639806 0.768507 uwb: 0.49863071 881.312 1653.11 -imu_odom_: 1691062929.63517640 0.117316 -0.584185 9.991 -0.0628506 -0.0394148 -0.536893 0.17 -0.79 pose: 0.42022650 -6.10277 0.0247385 0 0.00260297 -0.00202572 0.630753 0.775976 uwb: 0.0 881.312 1653.11 -imu_odom_: 1691062929.79578501 0.0574608 -0.335188 9.62948 -0.0745685 -0.0191748 -0.520914 0.17 -0.79 pose: 0.0 -6.10277 0.0247385 0 0.00260297 -0.00202572 0.630753 0.775976 uwb: 0.0 881.312 1653.11 -imu_odom_: 1691062929.96582267 0.158017 0.160412 10.1251 -0.0596548 -0.00745685 -0.531567 0.17 -0.79 pose: 0.0 -6.10277 0.0247385 0 0.00260297 -0.00202572 0.630753 0.775976 uwb: 0.49929859 885.258 1654.08 -imu_odom_: 1691062929.112578966 0.438139 -0.292093 9.80665 -0.0649811 0.00319579 -0.553937 0.12 -0.58 pose: 0.7017677 -6.10277 0.0247385 0 0.00196375 -0.00209398 0.629184 0.777251 uwb: 0.0 885.258 1654.08 -imu_odom_: 1691062929.130518635 -0.0861913 -0.011971 9.93594 -0.0543285 -0.0127832 -0.586961 0.18 -0.82 pose: 0.0 -6.10277 0.0247385 0 0.00196375 -0.00209398 0.629184 0.777251 uwb: 0.0 885.258 1654.08 -imu_odom_: 1691062929.145575347 0.25618 0.0311246 10.0652 -0.072438 -0.0127832 -0.594418 0.18 -0.82 pose: 0.66930125 -6.09998 0.0343429 0 -0.000806295-0.0005189520.613951 0.789343 uwb: 0.50003355 883.543 1653.8 -imu_odom_: 1691062929.163580929 0.493206 -0.117316 9.90242 -0.0969391 -0.0660464 -0.599744 0.18 -0.82 pose: 0.0 -6.09998 0.0343429 0 -0.000806295-0.0005189520.613951 0.789343 uwb: 0.0 883.543 1653.8 -imu_odom_: 1691062929.179569170 0.337582 -0.292093 9.80665 -0.0692422 -0.0319579 -0.613592 0.18 -0.82 pose: 0.0 -6.09998 0.0343429 0 -0.000806295-0.0005189520.613951 0.789343 uwb: 0.0 883.543 1653.8 -imu_odom_: 1691062929.196504398 0.344765 -0.0407014 10.1394 -0.0511327 0.036219 -0.656203 0.18 -0.82 pose: 0.33063461 -6.10959 0.0371028 0 0.000363428 0.0011028 0.60566 0.795722 uwb: 0.50101932 880.068 1653.48 -imu_odom_: 1691062929.213505539 0.591368 -0.251391 9.83538 -0.0617853 -0.00106526 -0.656203 0.14 -0.67 pose: 0.42911890 -6.10686 0.0467183 0 0.000605166 0.00181601 0.594215 0.804304 uwb: 0.0 880.068 1653.48 -imu_odom_: 1691062929.227563350 0.430956 -0.0694318 10.2592 -0.0511327 0.0191748 -0.653007 0.14 -0.67 pose: 0.0 -6.10686 0.0467183 0 0.000605166 0.00181601 0.594215 0.804304 uwb: 0.0 880.068 1653.48 -imu_odom_: 1691062929.243505218 0.699107 0.0191536 10.2903 -0.056459 -0.0798948 -0.592287 0.14 -0.67 pose: 0.0 -6.10686 0.0467183 0 0.000605166 0.00181601 0.594215 0.804304 uwb: 0.49945316 878.35 1653.21 -imu_odom_: 1691062929.260631768 0.995988 -0.371101 9.65821 -0.0649811 -0.0308927 -0.533697 0.17 -0.79 pose: 0.8005495 -6.10691 0.0467373 0 0.000828611 0.00105343 0.591974 0.805956 uwb: 0.0 878.35 1653.21 -imu_odom_: 1691062929.277506916 1.08457 -0.474052 9.63187 -0.0511327 -0.0245011 -0.504935 0.1 -0.47 pose: 0.0 -6.10691 0.0467373 0 0.000828611 0.00105343 0.591974 0.805956 uwb: 0.0 878.35 1653.21 -imu_odom_: 1691062929.291622765 1.11091 -0.181959 9.9527 -0.0543285 -0.0319579 -0.507066 0.1 -0.47 pose: 0.0 -6.10691 0.0467373 0 0.000828611 0.00105343 0.591974 0.805956 uwb: 0.50184470 877.175 1653.18 -imu_odom_: 1691062929.307534594 0.658405 -0.244209 9.34217 -0.0500674 0.0181095 -0.4815 0.1 -0.47 pose: 0.64019168 -6.09457 0.0536583 0 0.00472407 -0.00275909 0.575663 0.817669 uwb: 0.0 877.175 1653.18 -imu_odom_: 1691062929.324845467 0.964863 -0.136469 9.96706 -0.0617853 -0.0191748 -0.399474 0.09 -0.44 pose: 0.0 -6.09457 0.0536583 0 0.00472407 -0.00275909 0.575663 0.817669 uwb: 0.0 877.175 1653.18 -imu_odom_: 1691062929.341794985 0.706289 -0.52433 9.65821 -0.0500674 -0.0138484 -0.337689 0.09 -0.44 pose: 0.31027453 -6.09457 0.0536583 0 0.0059114 -0.0056955 0.568797 0.822437 uwb: 0.49784909 877.775 1653.12 -imu_odom_: 1691062929.356531757 0.830788 -0.344765 10.0317 -0.0500674 -0.0575243 -0.278034 0.07 -0.38 pose: 0.16195313 -6.09457 0.0536583 0 0.00654348 -0.00705616 0.565597 0.824626 uwb: 0.0 877.775 1653.12 -imu_odom_: 1691062929.373707304 0.976834 -0.306458 9.69412 -0.0617853 -0.00958738 -0.194943 0.07 -0.38 pose: 0.0 -6.09457 0.0536583 0 0.00654348 -0.00705616 0.565597 0.824626 uwb: 0.0 877.775 1653.12 -imu_odom_: 1691062929.389644215 0.162806 -0.454898 9.67736 -0.0500674 0.0639159 -0.2024 0.07 -0.38 pose: 0.0 -6.09457 0.0536583 0 0.00654348 -0.00705616 0.565597 0.824626 uwb: 0.50220050 874.953 1652.47 -imu_odom_: 1691062929.407495223 0.0933739 0 10.2568 -0.04048 -0.0553937 -0.289752 0.06 -0.29 pose: 0.33057044 -6.09457 0.0536583 0 0.00638333 -0.00996919 0.560389 0.828145 uwb: 0.0 874.953 1652.47 -imu_odom_: 1691062929.422516353 0.509965 0.181959 9.54089 -0.0639159 -0.0649811 -0.274838 0.05 -0.26 pose: 0.0 -6.09457 0.0536583 0 0.00638333 -0.00996919 0.560389 0.828145 uwb: 0.0 874.953 1652.47 -imu_odom_: 1691062929.449525748 0.849942 -0.761356 9.96467 -0.0585895 -0.00319579 -0.206661 0.05 -0.26 pose: 0.66800632 -6.0918 0.0632659 0 0.0063274 -0.00934445 0.552602 0.833369 uwb: 0.49802408 871.011 1651.54 -imu_odom_: 1691062929.474511676 -0.272939 -0.227449 9.54089 -0.0266316 0.0617853 -0.276969 0.07 -0.32 pose: 0.0 -6.0918 0.0632659 0 0.0063274 -0.00934445 0.552602 0.833369 uwb: 0.0 871.011 1651.54 -imu_odom_: 1691062929.492619919 -0.703895 0.25618 10.4579 -0.0383495 -0.0170442 -0.389887 0.07 -0.32 pose: 0.14980883 -6.0918 0.0632659 0 0.00642717 -0.00967477 0.550866 0.834513 uwb: 0.0 871.011 1651.54 -imu_odom_: 1691062929.516541617 -0.433351 0.174777 10.1754 -0.0394148 0.0287621 -0.493217 0.09 -0.44 pose: 0.51975490 -6.0918 0.0632659 0 0.00383193 -0.00740725 0.544199 0.838915 uwb: 0.0 871.011 1651.54 -imu_odom_: 1691062929.542574568 0.270545 -0.507571 9.50737 -0.0756338 -0.0298274 -0.482565 0.12 -0.58 pose: 0.0 -6.0918 0.0632659 0 0.00383193 -0.00740725 0.544199 0.838915 uwb: 0.100004960 867.588 1650.9 -imu_odom_: 1691062929.565637358 0.0407014 -0.0694318 9.6606 -0.0490022 -0.00319579 -0.519849 0.12 -0.58 pose: 0.42059982 -6.08904 0.0728768 0 0.0024651 -0.00369012 0.53525 0.844682 uwb: 0.0 867.588 1650.9 -imu_odom_: 1691062929.581551812 0.169988 0.035913 10.1131 -0.0692422 0.00106526 -0.54435 0.12 -0.58 pose: 0.0 -6.08904 0.0728768 0 0.0024651 -0.00369012 0.53525 0.844682 uwb: 0.0 867.588 1650.9 -imu_odom_: 1691062929.607645717 0.464475 -0.0622492 9.75877 -0.052198 -0.0511327 -0.598679 0.11 -0.58 pose: 0.49037702 -6.08904 0.0728768 0 0.000460385 -0.00076436 0.523825 0.851826 uwb: 0.50069851 862.562 1649.52 -imu_odom_: 1691062929.631509669 0.356736 -0.0861913 9.96706 -0.0596548 -0.0330232 -0.621049 0.13 -0.64 pose: 0.0 -6.08904 0.0728768 0 0.000460385 -0.00076436 0.523825 0.851826 uwb: 0.0 862.562 1649.52 -imu_odom_: 1691062929.657610283 0.0526724 -0.007182619.62469 -0.0681769 -0.0138484 -0.627441 0.13 -0.64 pose: 0.33982157 -6.08691 0.0797582 0 0.00350845 -3.57143e-050.514736 0.857341 uwb: 0.49852863 861.495 1648.95 -imu_odom_: 1691062929.673639063 0.102951 -0.150835 10.2161 -0.0681769 0.00319579 -0.659399 0.13 -0.67 pose: 0.6997554 -6.0863 0.0824945 0 0.0036585 0.000570104 0.51275 0.85853 uwb: 0.0 861.495 1648.95 -imu_odom_: 1691062929.698557037 0.25618 -0.174777 10.07 -0.0628506 -0.036219 -0.682835 0.13 -0.67 pose: 0.0 -6.0863 0.0824945 0 0.0036585 0.000570104 0.51275 0.85853 uwb: 0.50068101 855.919 1647.33 -imu_odom_: 1691062929.723639210 0.328006 -0.217872 9.68933 -0.0703074 0.0127832 -0.699879 0.14 -0.7 pose: 0.49847322 -6.0863 0.082495 0 0.0029022 0.00497248 0.498335 0.866965 uwb: 0.0 855.919 1647.33 -imu_odom_: 1691062929.748652553 0.0646434 0 9.98622 -0.0639159 -0.00852212 -0.714792 0.14 -0.7 pose: 0.0 -6.0863 0.082495 0 0.0029022 0.00497248 0.498335 0.866965 uwb: 0.50049436 857.083 1647.42 -imu_odom_: 1691062929.765648444 0.6608 0.071826 10.1873 -0.0798948 -0.0234358 -0.733967 0.21 -1 pose: 0.41086162 -6.08347 0.0920847 0 -0.0004941670.00572146 0.485436 0.874254 uwb: 0.0 857.083 1647.42 -imu_odom_: 1691062929.790550960 0.438139 -0.385466 9.80186 -0.0777643 0.0149137 -0.741424 0.21 -1 pose: 0.0 -6.08347 0.0920847 0 -0.0004941670.00572146 0.485436 0.874254 uwb: 0.50005688 852.612 1646.18 -imu_odom_: 1691062929.815615342 0.687136 -0.220267 9.78031 -0.0649811 0.0170442 -0.758468 0.19 -0.97 pose: 0.50093767 -6.08065 0.101679 0 -0.0008539660.00620654 0.468895 0.883232 uwb: 0.0 852.612 1646.18 -imu_odom_: 1691062929.840556065 0.186748 -0.172383 9.35654 -0.0511327 0.0117179 -0.768056 0.19 -0.97 pose: 0.0 -6.08065 0.101679 0 -0.0008539660.00620654 0.468895 0.883232 uwb: 0.49957274 852.073 1645.93 -imu_odom_: 1691062929.857602411 -0.0023942 -0.126893 9.89763 -0.052198 0.00213053 -0.771251 0.17 -0.82 pose: 0.41999901 -6.07105 0.0988697 0 -0.00154329 0.00293239 0.454333 0.890826 uwb: 0.0 852.073 1645.93 -imu_odom_: 1691062929.882479846 0.19393 -0.0454898 9.80904 -0.0490022 -0.00852212 -0.762729 0.17 -0.82 pose: 0.0 -6.07105 0.0988697 0 -0.00154329 0.00293239 0.454333 0.890826 uwb: 0.0 852.073 1645.93 -imu_odom_: 1691062929.900698333 0.471658 -0.354342 9.98861 -0.052198 0.0479369 -0.790426 0.16 -0.79 pose: 0.50846806 -6.06831 0.108487 0 -0.00172248 0.00486795 0.436012 0.899926 uwb: 0.49896319 851.535 1645.69 -imu_odom_: 1691062929.924560534 0.73502 -0.0311246 9.67257 -0.0692422 -0.015979 -0.777643 0.16 -0.79 pose: 0.0 -6.06831 0.108487 0 -0.00172248 0.00486795 0.436012 0.899926 uwb: 0.0 851.535 1645.69 -imu_odom_: 1691062929.950692938 0.179565 -0.241814 9.39485 -0.0479369 0.0170442 -0.761664 0.21 -1.03 pose: 0.76043305 -6.05894 0.116209 0 0.000182363 0.00458024 0.40795 0.912993 uwb: 0.49930151 848.23 1644.56 -imu_odom_: 1691062929.975631327 0.713472 0.126893 10.0987 -0.0713727 -0.00532632 -0.784035 0.21 -1.03 pose: 0.0 -6.05894 0.116209 0 0.000182363 0.00458024 0.40795 0.912993 uwb: 0.0 848.23 1644.56 -imu_odom_: 1691062930.1678569 0.612916 -0.385466 9.5792 -0.0798948 -0.0149137 -0.811731 0.18 -0.88 pose: 0.8098531 -6.05591 0.115315 0 -0.0004417420.00521583 0.404982 0.91431 uwb: 0.50094349 847.208 1643.86 -imu_odom_: 1691062930.24637532 0.948104 0.0885855 9.81383 -0.0479369 -0.0319579 -0.810666 0.18 -0.88 pose: 0.51008380 -6.05318 0.124935 0 -0.0001911650.00438269 0.38578 0.92258 uwb: 0.0 847.208 1643.86 -imu_odom_: 1691062930.42499331 0.675165 -0.519542 9.91439 -0.0436758 -0.00958738 -0.818123 0.17 -0.85 pose: 0.0 -6.05318 0.124935 0 -0.0001911650.00438269 0.38578 0.92258 uwb: 0.49971857 847.371 1643.17 -imu_odom_: 1691062930.68620069 0.227449 -0.141258 9.78271 -0.0298274 -0.00639159 -0.831972 0.17 -0.85 pose: 0.24980971 -6.05043 0.134549 0 -0.0001958380.0019072 0.375955 0.926636 uwb: 0.0 847.371 1643.17 -imu_odom_: 1691062930.93467464 0.241814 -0.215478 9.3326 -0.0479369 0.0436758 -0.823449 0.17 -0.85 pose: 0.43007260 -6.04079 0.131882 0 0.000495893 4.93702e-05 0.358802 0.933414 uwb: 0.49999272 845.772 1642.41 -imu_odom_: 1691062930.107507776 0.806846 0.11971 10.2807 -0.0596548 0.0372843 -0.833037 0.17 -0.85 pose: 0.0 -6.04079 0.131882 0 0.000495893 4.93702e-05 0.358802 0.933414 uwb: 0.0 845.772 1642.41 -imu_odom_: 1691062930.131584924 0.23942 -0.368707 9.15543 -0.072438 -0.0191748 -0.833037 0.18 -0.88 pose: 0.48863879 -6.03806 0.141501 0 -0.00025057 0.00424362 0.338939 0.940799 uwb: 0.0 845.772 1642.41 -imu_odom_: 1691062930.157501798 0.529119 -0.275333 9.72764 -0.0681769 0.0234358 -0.837298 0.22 -1.06 pose: 0.0 -6.03806 0.141501 0 -0.00025057 0.00424362 0.338939 0.940799 uwb: 0.49883487 843.693 1641.2 -imu_odom_: 1691062930.183466795 0.0574608 0.129287 9.99819 -0.0479369 -0.0351537 -0.857538 0.22 -1.06 pose: 0.31065369 -6.03605 0.147874 0 -0.00232932 0.00407294 0.32615 0.945306 uwb: 0.50007147 844.897 1641.11 -imu_odom_: 1691062930.209465915 0.0526724 -0.023942 9.81623 -0.0671117 0.02024 -0.844755 0.21 -1.03 pose: 0.7923833 -6.03532 0.151119 0 -0.00232409 0.00336549 0.322863 0.946437 uwb: 0.0 844.897 1641.11 -imu_odom_: 1691062930.233631141 0.213084 -0.25618 9.85693 -0.0447411 -0.0298274 -0.862864 0.21 -1.03 pose: 0.0 -6.03532 0.151119 0 -0.00232409 0.00336549 0.322863 0.946437 uwb: 0.50110099 843.301 1640.36 -imu_odom_: 1691062930.250665822 0.385466 0.112527 10.1634 -0.036219 -0.0383495 -0.873517 0.18 -0.91 pose: 0.52036154 -6.02569 0.148419 0 -0.0005660470.00441182 0.300916 0.95364 uwb: 0.0 843.301 1640.36 -imu_odom_: 1691062930.275567172 0.416591 -0.0861913 9.83777 -0.0681769 0.0149137 -0.858603 0.18 -0.91 pose: 0.0 -6.02569 0.148419 0 -0.0005660470.00441182 0.300916 0.95364 uwb: 0.0 843.301 1640.36 -imu_odom_: 1691062930.300466189 0.766145 -0.122104 9.75877 -0.0553937 0.0181095 -0.877778 0.19 -0.97 pose: 0.49962524 -6.01339 0.155403 0 -0.00141978 0.00697094 0.279449 0.960134 uwb: 0.49948525 845.613 1640.6 -imu_odom_: 1691062930.323463941 0.42138 -0.172383 9.51456 -0.0607201 -0.0234358 -0.867125 0.19 -0.97 pose: 0.0 -6.01339 0.155403 0 -0.00141978 0.00697094 0.279449 0.960134 uwb: 0.0 845.613 1640.6 -imu_odom_: 1691062930.339453932 0.268151 -0.162806 9.3709 -0.0798948 -0.02024 -0.862864 0.18 -0.88 pose: 0.42041025 -6.01076 0.165052 0 0.00147719 0.00470784 0.261158 0.965284 uwb: 0.49990523 844.089 1639.56 -imu_odom_: 1691062930.356454489 0.237026 -0.232238 9.48104 -0.0703074 -0.0234358 -0.870321 0.18 -0.88 pose: 0.0 -6.01076 0.165052 0 0.00147719 0.00470784 0.261158 0.965284 uwb: 0.0 844.089 1639.56 -imu_odom_: 1691062930.381509247 0.617704 -0.0790087 9.81144 -0.0426106 -0.00639159 -0.872452 0.18 -0.88 pose: 0.47927684 -6.00113 0.162359 0 0.00198677 0.00153163 0.240064 0.970754 uwb: 0.0 844.089 1639.56 -imu_odom_: 1691062930.407507200 0.545878 -0.011971 10.0173 -0.0415453 -0.0383495 -0.860734 0.18 -0.88 pose: 0.0 -6.00113 0.162359 0 0.00198677 0.00153163 0.240064 0.970754 uwb: 0.0 844.089 1639.56 -imu_odom_: 1691062930.420507781 0.490811 0.0646434 9.48104 -0.0415453 0.02024 -0.864995 0.18 -0.94 pose: 0.76031056 -5.98869 0.16931 0 0.00459803 -0.0004309490.206477 0.978441 uwb: 0.0 844.089 1639.56 -imu_odom_: 1691062930.437505422 0.572214 -0.0335188 9.87848 -0.0447411 0.0149137 -0.836233 0.18 -0.94 pose: 0.6003903 -5.98886 0.169372 0 0.00522291 -0.0003964570.203819 0.978995 uwb: 0.100047833 840.303 1638.12 -imu_odom_: 1691062930.452491846 0.538695 -0.344765 10.0126 -0.0511327 -0.0181095 -0.804275 0.18 -0.94 pose: 0.0 -5.98886 0.169372 0 0.00522291 -0.0003964570.203819 0.978995 uwb: 0.0 840.303 1638.12 -imu_odom_: 1691062930.468576332 0.332794 -0.40462 9.99819 -0.0511327 0.0330232 -0.76486 0.18 -0.64 pose: 0.38980743 -5.981 0.177592 0 0.00579106 -0.00223528 0.187229 0.982297 uwb: 0.0 840.303 1638.12 -imu_odom_: 1691062930.484510618 0.270545 -0.287304 10.58 -0.0745685 -0.0191748 -0.637028 0.18 -0.64 pose: 0.0 -5.981 0.177592 0 0.00579106 -0.00223528 0.187229 0.982297 uwb: 0.50009189 842.636 1638.26 -imu_odom_: 1691062930.501631627 0.617704 -0.184354 10.4938 -0.0372843 -0.056459 -0.560329 0.18 -0.64 pose: 0.0 -5.981 0.177592 0 0.00579106 -0.00223528 0.187229 0.982297 uwb: 0.0 842.636 1638.26 -imu_odom_: 1691062930.518607102 0.897826 -0.148441 9.7037 -0.0458064 -0.0713727 -0.532632 0.18 -0.55 pose: 0.40086388 -5.97655 0.176346 0 0.00300348 -0.00162245 0.173187 0.984883 uwb: 0.0 842.636 1638.26 -imu_odom_: 1691062930.534631508 0.213084 0.172383 10.2615 -0.0585895 -0.0319579 -0.491087 0.26 -0.76 pose: 0.0 -5.97655 0.176346 0 0.00300348 -0.00162245 0.173187 0.984883 uwb: 0.50051185 846.075 1638.69 -imu_odom_: 1691062930.550629957 0.665588 -0.332794 10.2137 -0.0575243 -0.00852212 -0.468716 0.26 -0.76 pose: 0.33016505 -5.96428 0.183377 0 0.00414988 -0.00447302 0.163894 0.986459 uwb: 0.0 846.075 1638.69 -imu_odom_: 1691062930.568689786 0.948104 0.186748 10.24 -0.0436758 -0.0447411 -0.450607 0.23 -0.58 pose: 0.0 -5.96428 0.183377 0 0.00414988 -0.00447302 0.163894 0.986459 uwb: 0.0 846.075 1638.69 -imu_odom_: 1691062930.585448274 0.620098 -0.220267 9.93594 -0.072438 -0.0319579 -0.395213 0.23 -0.58 pose: 0.0 -5.96428 0.183377 0 0.00414988 -0.00447302 0.163894 0.986459 uwb: 0.49930152 853.4 1639.93 -imu_odom_: 1691062930.601501845 0.574608 -0.0933739 9.89524 -0.0820254 -0.0468716 -0.354733 0.23 -0.58 pose: 0.33097584 -5.96428 0.183377 0 0.00437292 -0.00580405 0.155565 0.987799 uwb: 0.0 853.4 1639.93 -imu_odom_: 1691062930.619507428 0.531513 -0.21069 10.1969 -0.0426106 -0.00639159 -0.352603 0.18 -0.38 pose: 0.42809522 -5.95458 0.180704 0 0.00548239 -0.00831576 0.146403 0.989175 uwb: 0.0 853.4 1639.93 -imu_odom_: 1691062930.636468904 0.608127 0.105345 10.2161 -0.0639159 0.015979 -0.316384 0.18 -0.38 pose: 0.8006370 -5.95464 0.180725 0 0.00482233 -0.00796809 0.144855 0.989409 uwb: 0.50019104 860.229 1640.88 -imu_odom_: 1691062930.661651113 0.3304 -0.0407014 10.2951 -0.0692422 -0.00426106 -0.299339 0.18 -0.35 pose: 0.0 -5.95464 0.180725 0 0.00482233 -0.00796809 0.144855 0.989409 uwb: 0.0 860.229 1640.88 -imu_odom_: 1691062930.677460573 0.035913 -0.153229 9.79707 -0.0607201 -0.0372843 -0.288687 0.18 -0.32 pose: 0.26960689 -5.95197 0.190362 0 0.00562057 -0.00739417 0.13992 0.990119 uwb: 0.0 860.229 1640.88 -imu_odom_: 1691062930.693562557 0.514753 -0.272939 9.48104 -0.0585895 -0.0266316 -0.292948 0.26 -0.47 pose: 0.0 -5.95197 0.190362 0 0.00562057 -0.00739417 0.13992 0.990119 uwb: 0.49913527 865.373 1641.47 -imu_odom_: 1691062930.709486927 0.0670376 -0.0023942 9.80665 -0.0585895 -0.0170442 -0.351537 0.26 -0.47 pose: 0.47998846 -5.94234 0.187673 0 0.00495753 -0.00392718 0.131946 0.991237 uwb: 0.0 865.373 1641.47 -imu_odom_: 1691062930.726490401 0.617704 0.0167594 10.0413 -0.0553937 -0.015979 -0.405866 0.23 -0.58 pose: 0.0 -5.94234 0.187673 0 0.00495753 -0.00392718 0.131946 0.991237 uwb: 0.0 865.373 1641.47 -imu_odom_: 1691062930.742415354 0.318429 -0.126893 9.24162 -0.0777643 0.00532632 -0.434628 0.23 -0.58 pose: 0.0 -5.94234 0.187673 0 0.00495753 -0.00392718 0.131946 0.991237 uwb: 0.50090850 866.582 1641.27 -imu_odom_: 1691062930.759569028 0.486023 -0.280122 10.1706 -0.0575243 0.00852212 -0.459129 0.23 -0.58 pose: 0.33027005 -5.93006 0.194691 0 0.00505971 -0.00336211 0.125586 0.992064 uwb: 0.0 866.582 1641.27 -imu_odom_: 1691062930.776569294 0.624887 -0.146046 9.96467 -0.0777643 0.00852212 -0.472977 0.18 -0.55 pose: 0.42074273 -5.93001 0.19467 0 0.00366636 -0.00261861 0.115602 0.993285 uwb: 0.0 866.582 1641.27 -imu_odom_: 1691062930.792578242 0.447716 0.0143652 9.64145 -0.0713727 -0.0436758 -0.492152 0.18 -0.55 pose: 0.0 -5.93001 0.19467 0 0.00366636 -0.00261861 0.115602 0.993285 uwb: 0.49821658 861.682 1639.56 -imu_odom_: 1691062930.809568592 0.785298 0.241814 9.69891 -0.0735032 -0.052198 -0.54222 0.18 -0.55 pose: 0.0 -5.93001 0.19467 0 0.00366636 -0.00261861 0.115602 0.993285 uwb: 0.0 861.682 1639.56 -imu_odom_: 1691062930.825461172 0.531513 0.153229 9.87369 -0.076699 -0.0276969 -0.594418 0.24 -0.82 pose: 0.7900792 -5.93006 0.19469 0 0.00368297 -0.00335546 0.113593 0.993515 uwb: 0.0 861.682 1639.56 -imu_odom_: 1691062930.841470411 0.148441 -0.222661 9.49301 -0.0575243 -0.0213053 -0.619984 0.18 -0.64 pose: 0.0 -5.93006 0.19469 0 0.00368297 -0.00335546 0.113593 0.993515 uwb: 0.50018521 864.61 1639.54 -imu_odom_: 1691062930.858623502 0.6608 -0.162806 9.73482 -0.0490022 -0.00319579 -0.658333 0.18 -0.64 pose: 0.65159812 -5.90817 0.199173 0 0.00761235 -0.00476117 0.094736 0.995462 uwb: 0.0 864.61 1639.54 -imu_odom_: 1691062930.876449720 0.586579 -0.0454898 9.7444 -0.0447411 -0.00106526 -0.661529 0.18 -0.67 pose: 0.0 -5.90817 0.199173 0 0.00761235 -0.00476117 0.094736 0.995462 uwb: 0.0 864.61 1639.54 -imu_odom_: 1691062930.892575328 0.316035 -0.186748 9.56723 -0.0511327 -0.0149137 -0.66366 0.18 -0.67 pose: 0.0 -5.90817 0.199173 0 0.00761235 -0.00476117 0.094736 0.995462 uwb: 0.49980606 862.011 1638.04 -imu_odom_: 1691062930.909561303 0.0407014 0.191536 10.0149 -0.0490022 -0.0543285 -0.689226 0.18 -0.67 pose: 0.33795793 -5.90817 0.199173 0 0.00729043 -0.00612639 0.0831571 0.996491 uwb: 0.0 862.011 1638.04 -imu_odom_: 1691062930.925620707 0.567426 -0.275333 10.0389 -0.0692422 -0.0223706 -0.692422 0.18 -0.73 pose: 0.34148398 -5.89851 0.19656 0 0.00767981 -0.0049324 0.0710827 0.997429 uwb: 0.0 862.011 1638.04 -imu_odom_: 1691062930.942560893 0.950498 0.0502782 10.1514 -0.0617853 -0.0372843 -0.695618 0.18 -0.73 pose: 0.0 -5.89851 0.19656 0 0.00767981 -0.0049324 0.0710827 0.997429 uwb: 0.50008022 860.443 1637.2 -imu_odom_: 1691062930.958557008 1.30245 -0.344765 9.59596 -0.0830906 -0.0628506 -0.66579 0.18 -0.73 pose: 0.0 -5.89851 0.19656 0 0.00767981 -0.0049324 0.0710827 0.997429 uwb: 0.0 860.443 1637.2 -imu_odom_: 1691062930.975559316 1.35033 -0.0837971 9.6606 -0.076699 -0.0500674 -0.632767 0.16 -0.64 pose: 0.49996356 -5.89851 0.19656 0 0.00686634 -0.00782067 0.0529235 0.998544 uwb: 0.0 860.443 1637.2 -imu_odom_: 1691062930.993579189 1.39821 -0.395043 9.77553 -0.0543285 0.0106526 -0.649811 0.16 -0.64 pose: 0.0 -5.89851 0.19656 0 0.00686634 -0.00782067 0.0529235 0.998544 uwb: 0.50051186 857.831 1635.87 -imu_odom_: 1691062931.8558614 1.34315 0.0670376 10.3286 -0.0639159 -0.04048 -0.590156 0.13 -0.53 pose: 0.43009010 -5.88619 0.203572 0 0.00608052 -0.0124017 0.0382236 0.999174 uwb: 0.0 857.831 1635.87 -imu_odom_: 1691062931.24417362 0.919373 -0.225055 9.46428 -0.0553937 -0.0319579 -0.507066 0.13 -0.53 pose: 0.0 -5.88619 0.203572 0 0.00608052 -0.0124017 0.0382236 0.999174 uwb: 0.0 857.831 1635.87 -imu_odom_: 1691062931.38435801 1.19231 -0.517148 10.3406 -0.0820254 0.00532632 -0.459129 0.13 -0.53 pose: 0.0 -5.88619 0.203572 0 0.00608052 -0.0124017 0.0382236 0.999174 uwb: 0.49937734 857.388 1635.25 -imu_odom_: 1691062931.53420184 1.12527 -0.371101 9.73961 -0.0639159 -0.0234358 -0.417584 0.1 -0.38 pose: 0.7041592 -5.88624 0.203593 0 0.00627672 -0.0131946 0.0360085 0.999245 uwb: 0.0 857.388 1635.25 -imu_odom_: 1691062931.70558692 0.80924 -0.466869 9.49301 -0.056459 0.0458064 -0.361125 0.1 -0.38 pose: 0.0 -5.88624 0.203593 0 0.00627672 -0.0131946 0.0360085 0.999245 uwb: 0.0 857.388 1635.25 -imu_odom_: 1691062931.86443689 0.969652 -0.227449 9.97903 -0.0639159 0.02024 -0.300405 0.1 -0.38 pose: 0.0 -5.88624 0.203593 0 0.00627672 -0.0131946 0.0360085 0.999245 uwb: 0.49991982 855.863 1634.25 -imu_odom_: 1691062931.103690982 0.40462 -0.433351 9.7444 -0.056459 0.0383495 -0.278034 0.12 -0.5 pose: 0.44830947 -5.87661 0.200912 0 0.0045237 -0.0173837 0.0241248 0.999548 uwb: 0.0 855.863 1634.25 -imu_odom_: 1691062931.121575531 0.567426 -0.244209 10.1969 -0.0372843 0.0117179 -0.312122 0.08 -0.35 pose: 0.0 -5.87661 0.200912 0 0.0045237 -0.0173837 0.0241248 0.999548 uwb: 0.0 855.863 1634.25 -imu_odom_: 1691062931.136727029 0.730232 -0.112527 9.7037 -0.0532632 -0.0394148 -0.295078 0.08 -0.35 pose: 0.67248900 -5.87661 0.200912 0 0.00101876 -0.0166862 0.0119239 0.999789 uwb: 0.50270798 857.642 1634.12 -imu_odom_: 1691062931.153556388 0.998382 -0.160412 9.38527 -0.056459 -0.0223706 -0.254598 0.06 -0.32 pose: 0.0 -5.87661 0.200912 0 0.00101876 -0.0166862 0.0119239 0.999789 uwb: 0.0 857.642 1634.12 -imu_odom_: 1691062931.167559369 0.866701 -0.45011 10.173 -0.056459 0.00319579 -0.223706 0.06 -0.32 pose: 0.0 -5.87661 0.200912 0 0.00101876 -0.0166862 0.0119239 0.999789 uwb: 0.0 857.642 1634.12 -imu_odom_: 1691062931.184451725 0.78051 -0.411803 9.79228 -0.0532632 0.00852212 -0.231162 0.06 -0.32 pose: 0.31721580 -5.87661 0.200912 0 0.00247292 -0.0172486 0.0066799 0.999826 uwb: 0.49779369 857.719 1633.78 -imu_odom_: 1691062931.200534752 0.605733 -0.196325 9.80426 -0.0426106 0.00745685 -0.24288 0.06 -0.23 pose: 0.40029517 -5.86696 0.198269 0 -0.000390446-0.0186604 0.0012657 0.999825 uwb: 0.0 857.719 1633.78 -imu_odom_: 1691062931.217517519 0.433351 -0.0143652 9.76116 -0.0596548 -0.0223706 -0.223706 0.06 -0.23 pose: 0.7990621 -5.86696 0.198269 0 -0.000188907-0.0178249 0.000136155 0.999841 uwb: 0.0 857.719 1633.78 -imu_odom_: 1691062931.233575756 0.622492 -0.270545 9.88326 -0.0607201 -0.00958738 -0.20027 0.06 -0.23 pose: 0.0 -5.86696 0.198269 0 -0.000188907-0.0178249 0.000136155 0.999841 uwb: 0.50171346 854.524 1632.48 -imu_odom_: 1691062931.250394033 0.670376 -0.416591 9.87848 -0.0575243 0.00426106 -0.199204 0.07 -0.29 pose: 0.41133410 -5.86696 0.198269 0 -9.32597e-05-0.0145452 -0.00517109 0.999881 uwb: 0.0 854.524 1632.48 -imu_odom_: 1691062931.266397732 0.713472 -0.306458 9.91199 -0.0607201 -0.0138484 -0.183225 0.04 -0.2 pose: 0.0 -5.86696 0.198269 0 -9.32597e-05-0.0145452 -0.00517109 0.999881 uwb: 0.0 854.524 1632.48 -imu_odom_: 1691062931.283388665 0.627281 -0.134075 9.90481 -0.0628506 -0.00958738 -0.170442 0.04 -0.2 pose: 0.0 -5.86696 0.198269 0 -9.32597e-05-0.0145452 -0.00517109 0.999881 uwb: 0.49809117 856.39 1631.94 -imu_odom_: 1691062931.299440194 0.596156 -0.251391 9.90002 -0.0575243 -0.0213053 -0.15979 0.04 -0.2 pose: 0.24832813 -5.86696 0.198268 0 -0.00248739 -0.0147153 -0.00803788 0.999856 uwb: 0.0 856.39 1631.94 -imu_odom_: 1691062931.315395771 0.543484 -0.272939 9.90481 -0.056459 0.00213053 -0.160855 0.04 -0.2 pose: 0.0 -5.86696 0.198268 0 -0.00248739 -0.0147153 -0.00803788 0.999856 uwb: 0.0 856.39 1631.94 -imu_odom_: 1691062931.330488355 0.641646 -0.308852 9.92397 -0.052198 0.00213053 -0.151268 0.04 -0.2 pose: 0.33029922 -5.86696 0.198268 0 -0.00177447 -0.0136588 -0.0115241 0.999839 uwb: 0.0 856.39 1631.94 -imu_odom_: 1691062931.347399085 0.6608 -0.251391 10.0533 -0.0660464 -0.0106526 -0.128897 0.04 -0.17 pose: 0.39049864 -5.86696 0.198268 0 -0.00355692 -0.0116719 -0.0153358 0.999808 uwb: 0.50008023 852.163 1630.12 -imu_odom_: 1691062931.363392284 0.574608 -0.19393 9.78989 -0.0543285 -0.00426106 -0.124636 0.04 -0.17 pose: 0.0 -5.86696 0.198268 0 -0.00355692 -0.0116719 -0.0153358 0.999808 uwb: 0.0 852.163 1630.12 -imu_odom_: 1691062931.379501852 0.600945 -0.205901 9.94551 -0.0553937 -0.0191748 -0.111853 0.04 -0.17 pose: 0.0 -5.86696 0.198268 0 -0.00355692 -0.0116719 -0.0153358 0.999808 uwb: 0.0 852.163 1630.12 -imu_odom_: 1691062931.395424180 0.744597 -0.203507 9.81623 -0.0628506 -0.0127832 -0.0937433 0.03 -0.11 pose: 0.7019427 -5.86696 0.198268 0 -0.00304962 -0.0121465 -0.0159352 0.999795 uwb: 0.49990231 848.979 1628.86 -imu_odom_: 1691062931.412404031 0.653617 -0.308852 9.94312 -0.0532632 -0.00213053 -0.0713727 0.03 -0.14 pose: 0.0 -5.86696 0.198268 0 -0.00304962 -0.0121465 -0.0159352 0.999795 uwb: 0.0 848.979 1628.86 -imu_odom_: 1691062931.428532556 0.665588 -0.371101 9.81862 -0.0543285 -0.00639159 -0.0617853 0.03 -0.14 pose: 0.0 -5.86696 0.198268 0 -0.00304962 -0.0121465 -0.0159352 0.999795 uwb: 0.0 848.979 1628.86 -imu_odom_: 1691062931.444408220 0.591368 -0.203507 9.8665 -0.052198 0.00106526 -0.052198 0.03 -0.14 pose: 0.66061302 -5.85461 0.205197 0 -0.000891686-0.0122962 -0.0208386 0.999707 uwb: 0.50000731 850.712 1628.91 -imu_odom_: 1691062931.461597184 0.579397 -0.222661 9.90002 -0.0553937 -0.00426106 -0.0383495 0.02 -0.14 pose: 0.0 -5.85461 0.205197 0 -0.000891686-0.0122962 -0.0208386 0.999707 uwb: 0.0 850.712 1628.91 -imu_odom_: 1691062931.478600366 0.641646 -0.234632 9.8665 -0.0585895 -0.0117179 -0.0234358 0.02 -0.14 pose: 0.31868280 -5.85461 0.205197 0 -0.00277946 -0.0121683 -0.0224375 0.99967 uwb: 0.0 850.712 1628.91 -imu_odom_: 1691062931.494532611 0.624887 -0.342371 9.90721 -0.0585895 -0.00745685 -0.0117179 0.01 -0.05 pose: 0.43163002 -5.85455 0.205176 0 -0.00131826 -0.0118489 -0.0240692 0.999639 uwb: 0.50014439 853.036 1628.9 -imu_odom_: 1691062931.511522086 0.624887 -0.282516 9.8665 -0.0553937 -0.00532632 -0.00958738 0.01 -0.05 pose: 0.0 -5.85455 0.205176 0 -0.00131826 -0.0118489 -0.0240692 0.999639 uwb: 0.0 853.036 1628.9 -imu_odom_: 1691062931.527518493 0.624887 -0.237026 9.85693 -0.0553937 -0.00426106 0.00319579 0.01 -0.05 pose: 0.0 -5.85455 0.205176 0 -0.00131826 -0.0118489 -0.0240692 0.999639 uwb: 0.0 853.036 1628.9 -imu_odom_: 1691062931.543446071 0.627281 -0.25618 9.85453 -0.056459 -0.00639159 0.0181095 0 -0.02 pose: 0.7829339 -5.85461 0.205197 0 -0.00210655 -0.011764 -0.0242607 0.999634 uwb: 0.50037479 852.609 1628.25 -imu_odom_: 1691062931.558494033 0.634463 -0.296881 9.88566 -0.0553937 -0.00532632 0.0319579 0 0.02 pose: 0.0 -5.85461 0.205197 0 -0.00210655 -0.011764 -0.0242607 0.999634 uwb: 0.0 852.609 1628.25 -imu_odom_: 1691062931.572446851 0.579397 -0.272939 9.91918 -0.0553937 0.00213053 0.0436758 0 0.02 pose: 0.0 -5.85461 0.205197 0 -0.00210655 -0.011764 -0.0242607 0.999634 uwb: 0.0 852.609 1628.25 -imu_odom_: 1691062931.586387419 0.474052 -0.28491 9.88805 -0.052198 0.00958738 0.0479369 0 0.02 pose: 0.64026169 -5.85461 0.205197 0 -0.00222677 -0.0119729 -0.0253721 0.999604 uwb: 0.49926360 846.751 1626.29 -imu_odom_: 1691062931.600488395 0.335188 -0.196325 9.87848 -0.0543285 0.00213053 0.0426106 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00222677 -0.0119729 -0.0253721 0.999604 uwb: 0.0 846.751 1626.29 -imu_odom_: 1691062931.614362467 0.337582 -0.179565 9.92157 -0.0543285 -0.00745685 0.04048 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00222677 -0.0119729 -0.0253721 0.999604 uwb: 0.0 846.751 1626.29 -imu_odom_: 1691062931.628365156 0.42138 -0.237026 9.87369 -0.056459 -0.0117179 0.0351537 0 0 pose: 0.41932239 -5.85461 0.205197 0 -0.00300373 -0.00838142 -0.0252873 0.999641 uwb: 0.0 846.751 1626.29 -imu_odom_: 1691062931.642369595 0.536301 -0.260968 9.89763 -0.0575243 -0.00958738 0.0340885 0 0 pose: 0.35977043 -5.85461 0.205197 0 -0.00194045 -0.00500731 -0.0252994 0.999665 uwb: 0.50126432 846.812 1626.04 -imu_odom_: 1691062931.656362952 0.529119 -0.275333 9.88326 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.6028693 -5.85461 0.205197 0 -0.00214455 -0.00559384 -0.025316 0.999662 uwb: 0.0 846.812 1626.04 -imu_odom_: 1691062931.670424555 0.483629 -0.248997 9.88566 -0.0553937 0 0.0436758 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00214455 -0.00559384 -0.025316 0.999662 uwb: 0.0 846.812 1626.04 -imu_odom_: 1691062931.684365123 0.416591 -0.213084 9.91678 -0.0543285 0.00106526 0.0415453 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00214455 -0.00559384 -0.025316 0.999662 uwb: 0.49858114 843.1 1624.68 -imu_odom_: 1691062931.698558260 0.392649 -0.184354 9.88326 -0.056459 -0.00639159 0.0394148 0 0 pose: 0.42031984 -5.85461 0.205197 0 -0.00257159 -0.00474114 -0.0253053 0.999665 uwb: 0.0 843.1 1624.68 -imu_odom_: 1691062931.712533826 0.428562 -0.205901 9.90242 -0.056459 -0.00958738 0.036219 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00257159 -0.00474114 -0.0253053 0.999665 uwb: 0.0 843.1 1624.68 -imu_odom_: 1691062931.727471253 0.500388 -0.244209 9.90721 -0.0553937 -0.00745685 0.0383495 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00257159 -0.00474114 -0.0253053 0.999665 uwb: 0.0 843.1 1624.68 -imu_odom_: 1691062931.741530231 0.4956 -0.268151 9.87608 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.43008135 -5.85461 0.205197 0 -0.000560132-0.00265055 -0.0253296 0.999675 uwb: 0.50119724 849.091 1626.18 -imu_odom_: 1691062931.756525405 0.438139 -0.241814 9.88566 -0.0543285 -0.00319579 0.0415453 0 0 pose: 0.0 -5.85461 0.205197 0 -0.000560132-0.00265055 -0.0253296 0.999675 uwb: 0.0 849.091 1626.18 -imu_odom_: 1691062931.771538369 0.418985 -0.234632 9.94551 -0.056459 -0.00319579 0.0415453 0 0 pose: 0.0 -5.85461 0.205197 0 -0.000560132-0.00265055 -0.0253296 0.999675 uwb: 0.0 849.091 1626.18 -imu_odom_: 1691062931.785531143 0.438139 -0.232238 9.87608 -0.056459 -0.00532632 0.0372843 0 0 pose: 0.43983121 -5.85461 0.205197 0 -0.00146517 -0.00203628 -0.0253085 0.999677 uwb: 0.49865406 849.753 1625.83 -imu_odom_: 1691062931.800573855 0.438139 -0.246603 9.90242 -0.0553937 -0.00745685 0.0383495 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00146517 -0.00203628 -0.0253085 0.999677 uwb: 0.0 849.753 1625.83 -imu_odom_: 1691062931.814584419 0.481235 -0.260968 9.8665 -0.056459 -0.00852212 0.0383495 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00146517 -0.00203628 -0.0253085 0.999677 uwb: 0.0 849.753 1625.83 -imu_odom_: 1691062931.829572302 0.462081 -0.244209 9.89763 -0.0553937 -0.00213053 0.0394148 0 0 pose: 0.37156766 -5.85461 0.205197 0 -0.00181385 -0.00167842 -0.025324 0.999676 uwb: 0.0 849.753 1625.83 -imu_odom_: 1691062931.844516145 0.433351 -0.248997 9.87608 -0.0543285 -0.00319579 0.0415453 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00181385 -0.00167842 -0.025324 0.999676 uwb: 0.50049436 847.615 1625.1 -imu_odom_: 1691062931.859393201 0.387861 -0.23942 9.86411 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00181385 -0.00167842 -0.025324 0.999676 uwb: 0.0 847.615 1625.1 -imu_odom_: 1691062931.874569197 0.435745 -0.23942 9.87608 -0.056459 -0.00639159 0.0394148 0 0 pose: 0.43942290 -5.85461 0.205197 0 -0.00165234 -0.00167216 -0.0253215 0.999677 uwb: 0.0 847.615 1625.1 -imu_odom_: 1691062931.889454711 0.464475 -0.23942 9.8689 -0.0553937 -0.00639159 0.04048 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00165234 -0.00167216 -0.0253215 0.999677 uwb: 0.49860447 850.972 1625.57 -imu_odom_: 1691062931.904390096 0.505177 -0.246603 9.85453 -0.056459 -0.00319579 0.0383495 0 0 pose: 0.44938566 -5.85461 0.205197 0 -0.0013553 -0.00324818 -0.0253192 0.999673 uwb: 0.0 850.972 1625.57 -imu_odom_: 1691062931.918563693 0.454898 -0.244209 9.87129 -0.0543285 -0.00106526 0.04048 0 0 pose: 0.0 -5.85461 0.205197 0 -0.0013553 -0.00324818 -0.0253192 0.999673 uwb: 0.0 850.972 1625.57 -imu_odom_: 1691062931.933503453 0.426168 -0.232238 9.93354 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 -5.85461 0.205197 0 -0.0013553 -0.00324818 -0.0253192 0.999673 uwb: 0.0 850.972 1625.57 -imu_odom_: 1691062931.947439938 0.411803 -0.237026 9.88566 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.44048742 -5.85461 0.205197 0 -0.00114807 -0.00182832 -0.0253135 0.999677 uwb: 0.0 850.972 1625.57 -imu_odom_: 1691062931.962561979 0.454898 -0.217872 9.90481 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00114807 -0.00182832 -0.0253135 0.999677 uwb: 0.0 850.972 1625.57 -imu_odom_: 1691062931.977364664 0.488417 -0.270545 9.88805 -0.056459 -0.00639159 0.0394148 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00114807 -0.00182832 -0.0253135 0.999677 uwb: 0.0 850.972 1625.57 -imu_odom_: 1691062931.991572675 0.483629 -0.268151 9.89045 -0.0543285 -0.00106526 0.0394148 0 0 pose: 0.43861211 -5.85461 0.205197 0 -0.00162426 -0.00291343 -0.0253315 0.999674 uwb: 0.100096832 847.838 1624.21 -imu_odom_: 1691062932.13341707 0.47884 -0.234632 9.89763 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00162426 -0.00291343 -0.0253315 0.999674 uwb: 0.0 847.838 1624.21 -imu_odom_: 1691062932.30501797 -0.201113 -0.275333 9.67497 -0.052198 0.0745685 0.0458064 0 0 pose: 0.0 -5.85461 0.205197 0 -0.00162426 -0.00291343 -0.0253315 0.999674 uwb: 0.0 847.838 1624.21 -imu_odom_: 1691062932.47505272 -1.05345 -0.25618 10.1562 -0.0415453 0.0713727 0.0415453 0.02 0 pose: 0.43210541 -5.85461 0.205197 0 -0.000510837-0.00281682 -0.0253186 0.999675 uwb: 0.49984107 851.634 1625.2 -imu_odom_: 1691062932.64501746 -1.17076 -0.23942 9.87608 -0.0617853 -0.0245011 0.0458064 0.05 0.08 pose: 0.0 -5.85461 0.205197 0 -0.000510837-0.00281682 -0.0253186 0.999675 uwb: 0.0 851.634 1625.2 -imu_odom_: 1691062932.80499904 -0.323217 -0.225055 9.93833 -0.0617853 -0.0575243 0.056459 0.05 0.08 pose: 0.33937536 -5.85461 0.205197 0 -0.0004110520.00153865 -0.0252476 0.99968 uwb: 0.0 851.634 1625.2 -imu_odom_: 1691062932.97501045 0.411803 -0.268151 9.91439 -0.0596548 -0.0468716 0.0585895 0.07 0.05 pose: 0.0 -5.85461 0.205197 0 -0.0004110520.00153865 -0.0252476 0.99968 uwb: 0.50044771 850.601 1624.68 -imu_odom_: 1691062932.116548693 0.605733 -0.263362 9.88805 -0.0543285 -0.00319579 0.0596548 0.07 0.05 pose: 0.0 -5.85461 0.205197 0 -0.0004110520.00153865 -0.0252476 0.99968 uwb: 0.0 850.601 1624.68 -imu_odom_: 1691062932.132489687 -0.181959 -0.198719 9.6223 -0.0649811 0.0319579 0.0660464 0.07 0.05 pose: 0.33069878 -5.85461 0.205197 0 -0.0008255060.00284921 -0.025014 0.999683 uwb: 0.49947651 853.933 1625.23 -imu_odom_: 1691062932.149370085 -0.181959 -0.265756 10.1538 -0.0447411 0 0.0447411 0.07 0 pose: 0.35928629 -5.85461 0.205197 0 -0.00151503 0.00071482 -0.0246407 0.999695 uwb: 0.0 853.933 1625.23 -imu_odom_: 1691062932.165363868 -0.0407014 -0.179565 9.8689 -0.0617853 -0.0308927 0.0436758 0.07 0 pose: 0.0 -5.85461 0.205197 0 -0.00151503 0.00071482 -0.0246407 0.999695 uwb: 0.0 853.933 1625.23 -imu_odom_: 1691062932.182549915 0.416591 -0.23942 10.1538 -0.0639159 -0.0298274 0.0511327 0.07 0 pose: 0.0 -5.85461 0.205197 0 -0.00151503 0.00071482 -0.0246407 0.999695 uwb: 0.0 853.933 1625.23 -imu_odom_: 1691062932.198397581 0.282516 -0.440533 9.80665 -0.0500674 0.00745685 0.04048 0.12 0 pose: 0.49044704 -5.845 0.202432 0 -0.00119162 0.00404203 -0.0243974 0.999693 uwb: 0.50075685 852.364 1624.55 -imu_odom_: 1691062932.215486801 -0.00718261-0.134075 9.95988 -0.0287621 -0.00426106 0.036219 0.12 0 pose: 0.0 -5.845 0.202432 0 -0.00119162 0.00404203 -0.0243974 0.999693 uwb: 0.0 852.364 1624.55 -imu_odom_: 1691062932.231488166 0.385466 -0.0574608 9.99819 -0.0543285 -0.0532632 0.0543285 0.1 0.02 pose: 0.42930849 -5.845 0.202432 0 -0.00181365 0.00509949 -0.0243601 0.999689 uwb: 0.0 852.364 1624.55 -imu_odom_: 1691062932.248485516 0.198719 -0.134075 9.67257 -0.0532632 -0.0127832 0.0543285 0.1 0.02 pose: 0.0 -5.845 0.202432 0 -0.00181365 0.00509949 -0.0243601 0.999689 uwb: 0.49957859 849.169 1623.45 -imu_odom_: 1691062932.264484549 0.229843 -0.399832 9.7037 -0.0543285 -0.00958738 0.056459 0.1 0.02 pose: 0.0 -5.845 0.202432 0 -0.00181365 0.00509949 -0.0243601 0.999689 uwb: 0.0 849.169 1623.45 -imu_odom_: 1691062932.280484748 0.035913 -0.181959 9.83059 -0.0532632 0.00106526 0.0383495 0.15 0.02 pose: 0.8013661 -5.845 0.202432 0 -0.00108247 0.00457427 -0.0242977 0.999694 uwb: 0.0 849.169 1623.45 -imu_odom_: 1691062932.297372729 0.725443 -0.356736 10.422 -0.0468716 -0.0351537 0.0415453 0.11 0 pose: 0.0 -5.845 0.202432 0 -0.00108247 0.00457427 -0.0242977 0.999694 uwb: 0.49950276 847.013 1622.82 -imu_odom_: 1691062932.313354262 1.01754 -0.126893 9.87369 -0.0553937 -0.0383495 0.0553937 0.11 0 pose: 0.65004947 -5.83538 0.199677 0 -0.00063695 0.00659195 -0.0239797 0.999691 uwb: 0.0 847.013 1622.82 -imu_odom_: 1691062932.328356727 1.26414 -0.217872 9.71806 -0.0585895 0.0181095 0.0841559 0.11 0 pose: 0.0 -5.83538 0.199677 0 -0.00063695 0.00659195 -0.0239797 0.999691 uwb: 0.0 847.013 1622.82 -imu_odom_: 1691062932.344484086 1.2378 -0.40462 9.93833 -0.0500674 -0.0106526 0.0969391 0.08 -0.02 pose: 0.0 -5.83538 0.199677 0 -0.00063695 0.00659195 -0.0239797 0.999691 uwb: 0.50068978 843.75 1622.04 -imu_odom_: 1691062932.361481727 1.14922 -0.380678 9.76116 -0.0458064 -0.00639159 0.104396 0.08 -0.02 pose: 0.31988440 -5.83538 0.199677 0 -0.0006826410.00311068 -0.0236889 0.999714 uwb: 0.0 843.75 1622.04 -imu_odom_: 1691062932.378478785 1.34315 -0.272939 10.0604 -0.0511327 0.0181095 0.104396 0.09 -0.02 pose: 0.40987878 -5.82577 0.196931 0 -0.00128857 -0.000896522-0.0225053 0.999745 uwb: 0.0 843.75 1622.04 -imu_odom_: 1691062932.394567646 0.682347 -0.141258 9.81383 -0.0500674 0.036219 0.0756338 0.09 -0.02 pose: 0.0 -5.82577 0.196931 0 -0.00128857 -0.000896522-0.0225053 0.999745 uwb: 0.49924319 847.058 1622.67 -imu_odom_: 1691062932.411488583 0.438139 0.023942 9.84975 -0.0490022 0.0276969 0.0127832 0.09 -0.02 pose: 0.0 -5.82577 0.196931 0 -0.00128857 -0.000896522-0.0225053 0.999745 uwb: 0.0 847.058 1622.67 -imu_odom_: 1691062932.427407995 0.742203 -0.0287304 9.95509 -0.056459 -0.0351537 0.00639159 0.05 0.02 pose: 0.8002579 -5.82577 0.196931 0 -0.00131655 -0.00160674 -0.0222471 0.99975 uwb: 0.0 847.058 1622.67 -imu_odom_: 1691062932.444419344 0.890643 -0.380678 9.94551 -0.0660464 0.00532632 0.0117179 0.06 0.02 pose: 0.0 -5.82577 0.196931 0 -0.00131655 -0.00160674 -0.0222471 0.99975 uwb: 0.50087352 848.792 1622.63 -imu_odom_: 1691062932.460362963 0.972046 -0.414197 10.0317 -0.052198 -0.00745685 0.0223706 0.06 0.02 pose: 0.65063568 -5.82577 0.196931 0 0.00142634 -0.00533804 -0.0222651 0.999737 uwb: 0.0 848.792 1622.63 -imu_odom_: 1691062932.477489514 0.675165 -0.318429 9.74679 -0.0447411 0.00852212 0.00958738 0.05 0.02 pose: 0.0 -5.82577 0.196931 0 0.00142634 -0.00533804 -0.0222651 0.999737 uwb: 0.0 848.792 1622.63 -imu_odom_: 1691062932.494407826 0.675165 0.0502782 10.1107 -0.0553937 0.00213053 0.0138484 0.05 0.02 pose: 0.0 -5.82577 0.196931 0 0.00142634 -0.00533804 -0.0222651 0.999737 uwb: 0.49988482 850.49 1622.75 -imu_odom_: 1691062932.519478626 0.311246 -0.244209 9.87608 -0.0617853 0.00958738 0.0330232 0.05 0.02 pose: 0.34005782 -5.82577 0.196931 0 -0.000317547-0.00814942 -0.0226479 0.99971 uwb: 0.0 850.49 1622.75 -imu_odom_: 1691062932.544401267 -0.696713 -0.354342 9.47146 -0.0532632 0.0735032 0.0639159 0.03 0.02 pose: 0.32991132 -5.82577 0.196931 0 0.000587557 -0.00853362 -0.0230318 0.999698 uwb: 0.49944151 849.974 1622.51 -imu_odom_: 1691062932.561453447 -1.15401 -0.160412 10.1323 -0.0532632 0.0426106 0.0692422 0.03 0.02 pose: 0.0 -5.82577 0.196931 0 0.000587557 -0.00853362 -0.0230318 0.999698 uwb: 0.0 849.974 1622.51 -imu_odom_: 1691062932.586369963 -0.452504 -0.0454898 9.76595 -0.0585895 -0.0777643 0.0735032 0.08 0.05 pose: 0.49991399 -5.81615 0.194197 0 0.000120001 -0.00230159 -0.0226802 0.99974 uwb: 0.49956984 848.42 1621.79 -imu_odom_: 1691062932.613483186 0.481235 -0.203507 9.66539 -0.0490022 -0.02024 0.0447411 0.1 0.02 pose: 0.34833776 -5.81615 0.194197 0 0.000644864 0.000445857 -0.0221121 0.999755 uwb: 0.0 848.42 1621.79 -imu_odom_: 1691062932.639450808 -0.114922 -0.150835 9.67736 -0.0617853 0.0138484 0.0617853 0.1 0.02 pose: 0.0 -5.81615 0.194197 0 0.000644864 0.000445857 -0.0221121 0.999755 uwb: 0.0 848.42 1621.79 -imu_odom_: 1691062932.666329252 0.167594 -0.160412 10.0102 -0.0639159 -0.00106526 0.0191748 0.14 -0.02 pose: 0.6994637 -5.81615 0.194197 0 0.000642182 -0.000310384-0.0220937 0.999756 uwb: 0.0 848.42 1621.79 -imu_odom_: 1691062932.691387511 0.442927 -0.54109 9.92636 -0.0681769 0 0.0756338 0.14 -0.02 pose: 0.0 -5.81615 0.194197 0 0.000642182 -0.000310384-0.0220937 0.999756 uwb: 0.100097416 847.893 1621.59 -imu_odom_: 1691062932.716317735 -0.047884 -0.0742203 9.71328 -0.0671117 0.0127832 0.0213053 0.15 0 pose: 0.54105994 -5.81343 0.203822 0 0.000958272 0.00113746 -0.0218372 0.99976 uwb: 0.0 847.893 1621.59 -imu_odom_: 1691062932.739329195 0.102951 -0.177171 9.76834 -0.0756338 -0.00852212 0.0607201 0.15 0 pose: 0.51015964 -5.80381 0.201111 0 -0.00111307 0.00315749 -0.0216485 0.99976 uwb: 0.49901571 847.446 1621.07 -imu_odom_: 1691062932.755385974 0.270545 -0.299275 9.91678 -0.0649811 -0.0319579 0.0479369 0.13 0.02 pose: 0.0 -5.80381 0.201111 0 -0.00111307 0.00315749 -0.0216485 0.99976 uwb: 0.0 847.446 1621.07 -imu_odom_: 1691062932.782458949 0.287304 -0.452504 10.0054 -0.0596548 0.0127832 0.0351537 0.13 0.02 pose: 0.23850537 -5.80381 0.201111 0 -0.0004043990.00551682 -0.0217422 0.999748 uwb: 0.49982941 845.829 1620.62 -imu_odom_: 1691062932.807523915 0.155623 -0.244209 9.77792 -0.0447411 -0.0372843 0.052198 0.18 0 pose: 0.41140702 -5.79418 0.198403 0 -0.00265211 0.00681391 -0.0215259 0.999742 uwb: 0.0 845.829 1620.62 -imu_odom_: 1691062932.824514265 0.629675 -0.536301 10.331 -0.0585895 -0.0862864 0.0596548 0.18 0 pose: 0.0 -5.79418 0.198403 0 -0.00265211 0.00681391 -0.0215259 0.999742 uwb: 0.0 845.829 1620.62 -imu_odom_: 1691062932.850337812 0.308852 -0.181959 9.18176 -0.0575243 -0.0245011 0.0223706 0.17 0.02 pose: 0.50994966 -5.78455 0.195698 0 -0.00363813 0.00775853 -0.0213377 0.999736 uwb: 0.50052936 840.077 1618.39 -imu_odom_: 1691062932.877638274 0.289698 -0.342371 9.56484 -0.0596548 -0.0127832 0.056459 0.2 -0.02 pose: 0.35865049 -5.78455 0.195698 0 -0.0017274 0.00569071 -0.02145 0.999752 uwb: 0.0 840.077 1618.39 -imu_odom_: 1691062932.903312788 0.1652 -0.356736 9.85453 -0.0490022 -0.00745685 0.0340885 0.2 -0.02 pose: 0.0 -5.78455 0.195698 0 -0.0017274 0.00569071 -0.02145 0.999752 uwb: 0.49998982 837.966 1617.64 -imu_odom_: 1691062932.930325683 0.653617 -0.150835 10.058 -0.0511327 0.0287621 0.052198 0.19 0 pose: 0.7042468 -5.78455 0.195698 0 -0.00244403 0.00572612 -0.0213943 0.999752 uwb: 0.0 837.966 1617.64 -imu_odom_: 1691062932.956341428 0.414197 -0.263362 10.3956 -0.0447411 -0.00213053 0.0255663 0.19 0 pose: 0.45932508 -5.77493 0.192996 0 -0.0053525 0.00818201 -0.0212989 0.999725 uwb: 0.50036313 837.509 1617.18 -imu_odom_: 1691062932.973444647 0.316035 -0.0430956 10.2424 -0.0468716 0.00958738 0.0490022 0.21 0 pose: 0.0 -5.77493 0.192996 0 -0.0050753 0.00764521 -0.0212569 0.999732 uwb: 0.0 837.509 1617.18 -imu_odom_: 1691062932.999464474 0.227449 -0.172383 9.92875 -0.0415453 -0.0394148 0.0447411 0.21 0 pose: 0.0 -5.77493 0.192996 0 -0.0050753 0.00764521 -0.0212569 0.999732 uwb: 0.49892821 836.462 1616.79 -imu_odom_: 1691062933.26310546 0.00957681 -0.112527 10.1059 -0.0340885 -0.00106526 0.0436758 0.22 0 pose: 0.53058096 -5.7626 0.199925 0 -0.00269121 0.00371258 -0.0212915 0.999763 uwb: 0.0 836.462 1616.79 -imu_odom_: 1691062933.51445508 0.68953 -0.414197 10.4315 -0.0511327 0.00532632 0.0372843 0.16 0 pose: 0.43087757 -5.7626 0.199925 0 0.000458133 0.0060735 -0.0211486 0.999758 uwb: 0.50066644 841.337 1617.96 -imu_odom_: 1691062933.68446941 0.622492 -0.0383072 10.0772 -0.0426106 0.0149137 0.0170442 0.17 -0.02 pose: 0.28016462 -5.75297 0.197229 0 0.0010137 0.00726942 -0.0211169 0.99975 uwb: 0.0 841.337 1617.96 -imu_odom_: 1691062933.84297232 0.246603 -0.148441 10.1873 -0.0458064 0.0330232 0.0351537 0.17 -0.02 pose: 0.0 -5.75297 0.197229 0 0.0010137 0.00726942 -0.0211169 0.99975 uwb: 0.49814660 839.871 1616.95 -imu_odom_: 1691062933.111400831 0.3304 -0.339977 9.89045 -0.0340885 -0.0245011 0.0276969 0.22 0 pose: 0.23907408 -5.75297 0.197229 0 0.000615107 0.00528932 -0.0212176 0.999761 uwb: 0.0 839.871 1616.95 -imu_odom_: 1691062933.127479776 0.0766145 -0.0383072 9.74679 -0.0383495 -0.0255663 0.0394148 0.22 0 pose: 0.0 -5.75297 0.197229 0 0.000615107 0.00528932 -0.0212176 0.999761 uwb: 0.0 839.871 1616.95 -imu_odom_: 1691062933.154430841 0.416591 -0.349553 9.76595 -0.0692422 -0.00852212 0.0479369 0.21 -0.02 pose: 0.33015923 -5.74334 0.19453 0 0.0015185 0.00580696 -0.0214074 0.999753 uwb: 0.50145682 837.895 1615.71 -imu_odom_: 1691062933.179310902 0.395043 -0.0047884 10.0102 -0.0585895 0.00958738 0.0372843 0.21 -0.02 pose: 0.0 -5.74334 0.19453 0 0.0015185 0.00580696 -0.0214074 0.999753 uwb: 0.0 837.895 1615.71 -imu_odom_: 1691062933.196312043 0.416591 -0.440533 9.53132 -0.0532632 0.0234358 0.0543285 0.18 -0.02 pose: 0.44044660 -5.73371 0.191827 0 0.000286583 0.00562629 -0.0215046 0.999753 uwb: 0.50092310 835.323 1614.56 -imu_odom_: 1691062933.221493961 0.107739 -0.248997 9.81623 -0.015979 0.0340885 0.0298274 0.18 -0.02 pose: 0.0 -5.73371 0.191827 0 0.000286583 0.00562629 -0.0215046 0.999753 uwb: 0.0 835.323 1614.56 -imu_odom_: 1691062933.248486441 0.560243 -0.289698 10.0628 -0.0745685 0.00319579 0.0649811 0.21 0 pose: 0.50884723 -5.73101 0.201454 0 0.000353529 0.00359632 -0.0214024 0.999764 uwb: 0.49999565 831.699 1613.07 -imu_odom_: 1691062933.274409733 0.617704 -0.0814029 10.1299 -0.0490022 -0.00852212 0.036219 0.18 0 pose: 0.42129687 -5.72138 0.198752 0 -0.0005016590.00576501 -0.021368 0.999755 uwb: 0.0 831.699 1613.07 -imu_odom_: 1691062933.291299755 -0.122104 -0.268151 9.69652 -0.056459 -0.00319579 0.0713727 0.22 0 pose: 0.0 -5.72138 0.198752 0 -0.0005016590.00576501 -0.021368 0.999755 uwb: 0.49768579 834.588 1613.03 -imu_odom_: 1691062933.307325620 0.184354 -0.260968 9.80665 -0.04048 -0.0351537 0.0383495 0.22 0 pose: 0.0 -5.72138 0.198752 0 -0.0005016590.00576501 -0.021368 0.999755 uwb: 0.0 834.588 1613.03 -imu_odom_: 1691062933.332286176 0.0287304 0.0023942 9.56962 -0.072438 -0.00639159 0.0596548 0.24 0 pose: 0.52829735 -5.71175 0.196052 0 1.53188e-05 0.00222896 -0.0210493 0.999776 uwb: 0.0 834.588 1613.03 -imu_odom_: 1691062933.355442878 0.31364 -0.198719 9.79947 -0.0745685 -0.00319579 0.0394148 0.24 0 pose: 0.0 -5.71175 0.196052 0 1.53188e-05 0.00222896 -0.0210493 0.999776 uwb: 0.50003065 836.426 1612.6 -imu_odom_: 1691062933.380475471 0.610521 -0.1652 9.63427 -0.0852212 -0.00639159 0.0500674 0.19 0.02 pose: 0.74142336 -5.69555 0.191521 0 0.000671086 0.00414825 -0.0206414 0.999778 uwb: 0.0 836.426 1612.6 -imu_odom_: 1691062933.407282462 0.380678 -0.380678 9.80186 -0.0543285 0.0287621 0.0298274 0.19 0.02 pose: 0.7892918 -5.69249 0.190669 0 0.000641627 0.00335791 -0.0205987 0.999782 uwb: 0.50002774 839.247 1612.74 -imu_odom_: 1691062933.432300472 0.0550666 -0.344765 10.1059 -0.0660464 0.0117179 0.0500674 0.18 0 pose: 0.43946666 -5.68386 0.195538 0 -0.00208128 0.00199352 -0.0206407 0.999783 uwb: 0.0 839.247 1612.74 -imu_odom_: 1691062933.449312405 0.426168 -0.23942 10.1347 -0.0596548 0.02024 0.0276969 0.18 0 pose: 0.0 -5.68386 0.195538 0 -0.00208128 0.00199352 -0.0206407 0.999783 uwb: 0.0 839.247 1612.74 -imu_odom_: 1691062933.474282585 0.457293 -0.378284 9.7875 -0.0617853 0.00319579 0.0447411 0.21 -0.02 pose: 0.32145640 -5.68017 0.197615 0 -0.00266851 0.00401843 -0.0205494 0.999777 uwb: 0.0 839.247 1612.74 -imu_odom_: 1691062933.491410302 0.131681 -0.399832 9.69412 -0.0585895 -0.0106526 0.0394148 0.21 -0.02 pose: 0.0 -5.68017 0.197615 0 -0.00266851 0.00401843 -0.0205494 0.999777 uwb: 0.99989798 842.498 1613.39 -imu_odom_: 1691062933.516344026 0.0502782 -0.19393 9.85214 -0.0340885 0.0458064 0.0426106 0.18 0 pose: 0.51982200 -5.67054 0.194929 0 -0.0049712 0.00309505 -0.0205505 0.999772 uwb: 0.0 842.498 1613.39 -imu_odom_: 1691062933.532252648 0.509965 -0.1652 10.1754 -0.0575243 -0.04048 0.0372843 0.18 0 pose: 0.7932291 -5.67054 0.194929 0 -0.00457076 0.00402222 -0.0205351 0.999771 uwb: 0.0 842.498 1613.39 -imu_odom_: 1691062933.558287058 0.0407014 -0.203507 9.98382 -0.0426106 0.0330232 0.0372843 0.18 0 pose: 0.0 -5.67054 0.194929 0 -0.00457076 0.00402222 -0.0205351 0.999771 uwb: 0.49994899 848.015 1614.1 -imu_odom_: 1691062933.585297620 0.354342 -0.260968 10.0796 -0.056459 -0.0213053 0.0287621 0.23 0 pose: 0.32910055 -5.66548 0.193517 0 -0.00298742 0.00431773 -0.0205201 0.999776 uwb: 0.50125850 847.137 1613.06 -imu_odom_: 1691062933.610491496 0.430956 0.0502782 9.58878 -0.0777643 0.0287621 0.0490022 0.18 0 pose: 0.53044972 -5.65403 0.190325 0 -0.00222293 0.00438005 -0.0206935 0.999774 uwb: 0.0 847.137 1613.06 -imu_odom_: 1691062933.637428562 -0.0311246 -0.459687 9.75877 -0.0458064 0.0415453 0.0266316 0.23 -0.02 pose: 0.0 -5.65403 0.190325 0 -0.00222293 0.00438005 -0.0206935 0.999774 uwb: 0.49850240 845.778 1611.68 -imu_odom_: 1691062933.663279233 -0.0837971 -0.007182619.72764 -0.0713727 -0.0266316 0.0500674 0.23 -0.02 pose: 0.32213303 -5.65127 0.189556 0 -0.0004792150.00465791 -0.0206133 0.999777 uwb: 0.0 845.778 1611.68 -imu_odom_: 1691062933.690397122 0.691924 -0.131681 9.89763 -0.0308927 -0.0234358 0.0276969 0.23 -0.02 pose: 0.45768310 -5.63895 0.196502 0 -0.0001832140.00862887 -0.0205956 0.999751 uwb: 0.0 845.778 1611.68 -imu_odom_: 1691062933.706279495 0.85473 -0.138864 10.1059 -0.0596548 0.0223706 0.0500674 0.23 -0.02 pose: 0.7062883 -5.63895 0.196502 0 2.35531e-05 0.00786347 -0.0206375 0.999756 uwb: 0.0 845.778 1611.68 -imu_odom_: 1691062933.733379302 0.440533 -0.260968 10.003 -0.0351537 0.00532632 0.0383495 0.23 0 pose: 0.0 -5.63895 0.196502 0 2.35531e-05 0.00786347 -0.0206375 0.999756 uwb: 0.100231576 843.827 1610.43 -imu_odom_: 1691062933.759330009 0.639252 -0.308852 9.73482 -0.0607201 0.0266316 0.0426106 0.23 0 pose: 0.43958040 -5.62932 0.193815 0 0.000452422 0.00363884 -0.0206775 0.999779 uwb: 0.0 843.827 1610.43 -imu_odom_: 1691062933.786408526 0.402226 -0.0694318 10.1347 -0.0340885 0.0234358 0.0553937 0.25 0.02 pose: 0.45029853 -5.6224 0.191881 0 -0.00112899 -2.88643e-05-0.0206555 0.999786 uwb: 0.49924903 845.744 1609.59 -imu_odom_: 1691062933.812315485 0.438139 -0.0957681 10.422 -0.0681769 0.0372843 0.0383495 0.18 0.02 pose: 0.0 -5.6224 0.191881 0 -0.00112899 -2.88643e-05-0.0206555 0.999786 uwb: 0.0 845.744 1609.59 -imu_odom_: 1691062933.829315751 0.0215478 -0.0622492 9.84735 -0.0532632 0.0245011 0.0468716 0.18 0.02 pose: 0.35115218 -5.61969 0.191127 0 0.00253536 9.36758e-05 -0.0204456 0.999788 uwb: 0.0 845.744 1609.59 -imu_odom_: 1691062933.855327705 0.234632 -0.351948 9.61272 -0.0788296 0.0490022 0.0458064 0.2 0 pose: 0.0 -5.61969 0.191127 0 0.00253536 9.36758e-05 -0.0204456 0.999788 uwb: 0.49918487 842.2 1607.93 -imu_odom_: 1691062933.882447052 0.158017 -0.244209 9.56962 -0.0777643 -0.00106526 0.0596548 0.2 0 pose: 0.42865812 -5.61006 0.188443 0 0.00361428 0.00216102 -0.0203744 0.999784 uwb: 0.49940652 843.014 1606.97 -imu_odom_: 1691062933.907409650 0.438139 -0.287304 10.0126 -0.0809601 -0.00745685 0.0436758 0.18 0.02 pose: 0.45136013 -5.5985 0.192672 0 0.000725088 0.00624967 -0.020057 0.999779 uwb: 0.0 843.014 1606.97 -imu_odom_: 1691062933.934460168 0.452504 -0.246603 10.0796 -0.0756338 0.00426106 0.0543285 0.18 0.02 pose: 0.7889127 -5.59774 0.195395 0 0.000239238 0.00554941 -0.0200423 0.999784 uwb: 0.50041563 847.424 1607.4 -imu_odom_: 1691062933.960373252 0.251391 -0.241814 10.0197 -0.0330232 -0.00852212 0.0340885 0.18 0.02 pose: 0.44123989 -5.58811 0.192719 0 -0.00143204 0.00147184 -0.0198135 0.999802 uwb: 0.0 847.424 1607.4 -imu_odom_: 1691062933.977302939 0.514753 -0.361524 9.73482 -0.072438 -0.0191748 0.0426106 0.18 0.02 pose: 0.0 -5.58811 0.192719 0 -0.00143204 0.00147184 -0.0198135 0.999802 uwb: 0.0 847.424 1607.4 -imu_odom_: 1691062933.994456322 0.667982 -0.237026 9.66539 -0.0713727 -0.0319579 0.0415453 0.25 0.02 pose: 0.0 -5.58811 0.192719 0 -0.00143204 0.00147184 -0.0198135 0.999802 uwb: 0.49917612 850.936 1606.86 -imu_odom_: 1691062934.19346590 0.344765 -0.311246 9.91678 -0.0575243 -0.00319579 0.0490022 0.25 0.02 pose: 0.32813518 -5.57847 0.190047 0 -0.00150941 0.00338272 -0.0198725 0.999796 uwb: 0.0 850.936 1606.86 -imu_odom_: 1691062934.42367092 0.56982 -0.311246 10.1418 -0.0287621 -0.00958738 0.04048 0.18 0 pose: 0.52072904 -5.57843 0.190032 0 -0.00405591 0.00227817 -0.0197256 0.999795 uwb: 0.50005690 850.209 1605.26 -imu_odom_: 1691062934.67273109 0.354342 -0.225055 10.1227 -0.0628506 -0.015979 0.056459 0.18 0 pose: 0.6054358 -5.57847 0.190048 0 -0.00402898 0.00165706 -0.0197256 0.999796 uwb: 0.0 850.209 1605.26 -imu_odom_: 1691062934.94298546 0.531513 -0.220267 9.76355 -0.0394148 -0.0170442 0.0436758 0.21 -0.02 pose: 0.41872161 -5.56886 0.187281 0 -0.00203202 0.0012408 -0.0195093 0.999807 uwb: 0.50235511 848.304 1603.89 -imu_odom_: 1691062934.119294975 0.124498 -0.215478 10.1682 -0.0532632 -0.00745685 0.0585895 0.18 0 pose: 0.0 -5.56886 0.187281 0 -0.00203202 0.0012408 -0.0195093 0.999807 uwb: 0.0 848.304 1603.89 -imu_odom_: 1691062934.146367075 0.373495 0.0574608 10.0197 -0.0479369 -0.0234358 0.0447411 0.18 0 pose: 0.35047848 -5.55649 0.194131 0 -0.00119309 -0.000801078-0.0193815 0.999811 uwb: 0.49877656 844.415 1601.54 -imu_odom_: 1691062934.162359692 0.54109 -0.490811 9.4164 -0.0649811 -0.052198 0.0639159 0.18 -0.02 pose: 0.0 -5.55649 0.194131 0 -0.00119309 -0.000801078-0.0193815 0.999811 uwb: 0.0 844.415 1601.54 -imu_odom_: 1691062934.189244262 0.754174 -0.138864 10.0317 -0.0330232 -0.0234358 0.0213053 0.18 -0.02 pose: 0.51987742 -5.54688 0.191373 0 0.00103233 0.000142683 -0.0190494 0.999818 uwb: 0.50074520 846.29 1600.79 -imu_odom_: 1691062934.215240175 0.402226 -0.21069 9.92875 -0.0628506 -0.0276969 0.0490022 0.19 0 pose: 0.34935563 -5.54005 0.189419 0 0.00104608 -0.0033001 -0.0191966 0.99981 uwb: 0.0 846.29 1600.79 -imu_odom_: 1691062934.242344940 0.366313 -0.294487 9.46188 -0.072438 -0.0649811 0.056459 0.19 0 pose: 0.8120988 -5.53726 0.18862 0 0.000814363 -0.00260665 -0.0191588 0.999813 uwb: 0.50003358 848.633 1600.36 -imu_odom_: 1691062934.258277185 0.543484 -0.35913 9.73722 -0.0788296 -0.0223706 0.0468716 0.2 0 pose: 0.0 -5.53726 0.18862 0 0.000814363 -0.00260665 -0.0191588 0.999813 uwb: 0.0 848.633 1600.36 -imu_odom_: 1691062934.285299997 0.584185 -0.203507 9.77313 -0.0436758 -0.0170442 0.0436758 0.2 0 pose: 0.44979690 -5.53039 0.186653 0 -0.00217685 -0.00035801 -0.0188453 0.99982 uwb: 0.49940361 851.423 1600.36 -imu_odom_: 1691062934.311247787 0.339977 -0.332794 10.1107 -0.0426106 0.0138484 0.0308927 0.18 0 pose: 0.42955057 -5.52765 0.185868 0 -0.00201594 -0.00434536 -0.0187432 0.999813 uwb: 0.0 851.423 1600.36 -imu_odom_: 1691062934.338404175 0.414197 -0.160412 10.1131 -0.0809601 -0.0266316 0.072438 0.23 0 pose: 0.0 -5.52765 0.185868 0 -0.00201594 -0.00434536 -0.0187432 0.999813 uwb: 0.49984983 856.944 1600.49 -imu_odom_: 1691062934.364361881 0.292093 -0.213084 9.84017 -0.0426106 0.0287621 0.0213053 0.18 0 pose: 0.33090877 -5.51803 0.18312 0 -0.00240817 -0.00172525 -0.0187294 0.99982 uwb: 0.0 856.944 1600.49 -imu_odom_: 1691062934.391279116 0.730232 -0.25618 10.1059 -0.0820254 -0.0639159 0.056459 0.25 0 pose: 0.45971007 -5.50835 0.190758 0 -0.0002165060.00146995 -0.0186387 0.999825 uwb: 0.49915862 855.083 1599.01 -imu_odom_: 1691062934.407239068 1.20189 -0.184354 9.87369 -0.0372843 0.0213053 0.0223706 0.25 0 pose: 0.0 -5.50835 0.190758 0 -0.0002165060.00146995 -0.0186387 0.999825 uwb: 0.0 855.083 1599.01 -imu_odom_: 1691062934.434282295 0.411803 -0.299275 10.0676 -0.0820254 0.0287621 0.0575243 0.25 0 pose: 0.42877187 -5.50058 0.188541 0 -0.000697131-0.00339538 -0.0185506 0.999822 uwb: 0.49956111 853.186 1597.7 -imu_odom_: 1691062934.450250121 0.373495 -0.464475 9.65103 -0.0745685 0.00958738 0.0319579 0.25 0 pose: 0.7049467 -5.49606 0.18725 0 -0.00132594 -0.00281971 -0.0184857 0.999824 uwb: 0.0 853.186 1597.7 -imu_odom_: 1691062934.466229322 0.361524 -0.124498 10.2472 -0.052198 0.02024 0.02024 0.25 0 pose: 0.0 -5.49606 0.18725 0 -0.00132594 -0.00281971 -0.0184857 0.999824 uwb: 0.0 853.186 1597.7 -imu_odom_: 1691062934.483248254 0.519542 -0.411803 9.7444 -0.0852212 -0.00106526 0.0479369 0.23 0 pose: 0.42950390 -5.49606 0.18725 0 -0.00410453 -0.000343264-0.0184269 0.999822 uwb: 0.50014731 858.111 1597.9 -imu_odom_: 1691062934.510259691 0.299275 -0.217872 9.8689 -0.0532632 -0.00213053 0.0458064 0.23 0 pose: 0.0 -5.49606 0.18725 0 -0.00410453 -0.000343264-0.0184269 0.999822 uwb: 0.0 858.111 1597.9 -imu_odom_: 1691062934.535221997 0.555455 -0.409408 9.75877 -0.0809601 -0.0298274 0.0266316 0.25 -0.02 pose: 0.33182456 -5.48644 0.184509 0 -0.00435581 -0.000458156-0.0184216 0.999821 uwb: 0.50282467 853.757 1595.37 -imu_odom_: 1691062934.562224685 0.368707 -0.328006 10.0149 -0.052198 -0.0191748 0.0415453 0.2 0 pose: 0.44800616 -5.4768 0.181864 0 -0.00503852 -0.00110871 -0.0185216 0.999815 uwb: 0.0 853.757 1595.37 -imu_odom_: 1691062934.587269237 1.08218 -0.227449 9.72764 -0.0340885 0.0255663 0.0223706 0.2 0 pose: 0.0 -5.4768 0.181864 0 -0.00503852 -0.00110871 -0.0185216 0.999815 uwb: 0.49687500 851.345 1594 -imu_odom_: 1691062934.614263175 0.61531 -0.318429 9.92157 -0.0745685 0.0298274 0.0458064 0.23 -0.02 pose: 0.7064633 -5.4768 0.181864 0 -0.00518167 -0.000471868-0.0185108 0.999815 uwb: 0.0 851.345 1594 -imu_odom_: 1691062934.639395221 0.73502 -0.21069 9.77074 -0.0511327 -0.00639159 0.0287621 0.23 -0.02 pose: 0.0 -5.4768 0.181864 0 -0.00518167 -0.000471868-0.0185108 0.999815 uwb: 0.50002191 849.495 1592.59 -imu_odom_: 1691062934.666242751 0.155623 -0.579397 9.93354 -0.0628506 0.0223706 0.0340885 0.21 -0.02 pose: 0.51943995 -5.46451 0.188861 0 -0.0051203 -0.0013728 -0.018694 0.999811 uwb: 0.0 849.495 1592.59 -imu_odom_: 1691062934.691244722 0.416591 0.023942 9.87369 -0.0553937 -0.0330232 0.04048 0.18 0 pose: 0.72012126 -5.45486 0.186212 0 -0.00618191 -0.0029096 -0.0188518 0.999799 uwb: 0.50017357 849.726 1591.68 -imu_odom_: 1691062934.708260446 0.785298 -0.363919 9.97185 -0.0820254 -0.00745685 0.0479369 0.23 0 pose: 0.8200609 -5.45486 0.186212 0 -0.00536825 -0.00293931 -0.0188493 0.999804 uwb: 0.0 849.726 1591.68 -imu_odom_: 1691062934.724361264 -0.0814029 -0.383072 9.43794 -0.0383495 0.0117179 0.0223706 0.23 0 pose: 0.0 -5.45486 0.186212 0 -0.00536825 -0.00293931 -0.0188493 0.999804 uwb: 0.0 849.726 1591.68 -imu_odom_: 1691062934.751261875 0.687136 -0.354342 9.64624 -0.0649811 -0.036219 0.04048 0.25 -0.02 pose: 0.23807665 -5.44522 0.183559 0 -0.00397198 -0.00368856 -0.018817 0.999808 uwb: 0.49962526 853.061 1591.5 -imu_odom_: 1691062934.776286010 0.296881 -0.203507 9.80904 -0.0298274 0.00106526 0.0234358 0.25 -0.02 pose: 0.0 -5.44522 0.183559 0 -0.00397198 -0.00368856 -0.018817 0.999808 uwb: 0.0 853.061 1591.5 -imu_odom_: 1691062934.793228530 0.270545 -0.289698 9.90002 -0.0692422 0.0149137 0.0575243 0.23 -0.02 pose: 0.34169981 -5.44522 0.183559 0 -0.00468584 -0.00385769 -0.0189075 0.999803 uwb: 0.50142766 848.61 1589.58 -imu_odom_: 1691062934.818477528 0.596156 -0.155623 10.0078 -0.0458064 0.0127832 0.04048 0.23 -0.02 pose: 0.0 -5.44522 0.183559 0 -0.00468584 -0.00385769 -0.0189075 0.999803 uwb: 0.0 848.61 1589.58 -imu_odom_: 1691062934.845417220 0.222661 -0.531513 9.64863 -0.0479369 0.0351537 0.036219 0.23 0 pose: 0.50819102 -5.43293 0.190547 0 -0.0038368 -0.00293334 -0.0190358 0.999807 uwb: 0.0 848.61 1589.58 -imu_odom_: 1691062934.861279177 0.158017 -0.114922 9.75637 -0.0234358 0.00958738 0.0298274 0.23 0 pose: 0.0 -5.43293 0.190547 0 -0.0038368 -0.00293334 -0.0190358 0.999807 uwb: 0.0 848.61 1589.58 -imu_odom_: 1691062934.878347981 0.311246 -0.462081 9.7875 -0.0830906 -0.00958738 0.0713727 0.25 0 pose: 0.42249848 -5.42328 0.187891 0 -0.00263183 -0.00294275 -0.018952 0.999813 uwb: 0.0 848.61 1589.58 -imu_odom_: 1691062934.894259519 0.426168 -0.356736 9.66539 -0.0692422 -0.0106526 0.0468716 0.25 0 pose: 0.0 -5.42328 0.187891 0 -0.00263183 -0.00294275 -0.018952 0.999813 uwb: 0.0 848.61 1589.58 -imu_odom_: 1691062934.911365363 0.565032 -0.0790087 9.71806 -0.0447411 0.00532632 0.0415453 0.25 0 pose: 0.43016886 -5.41364 0.185236 0 -0.00360802 0.000523386 -0.0189355 0.999814 uwb: 0.0 848.61 1589.58 -imu_odom_: 1691062934.936334377 0.773327 -0.430956 10.0485 -0.0884169 -0.00213053 0.0543285 0.25 0 pose: 0.0 -5.41364 0.185236 0 -0.00360802 0.000523386 -0.0189355 0.999814 uwb: 0.149986157 849.884 1588.88 -imu_odom_: 1691062934.963195906 0.351948 -0.131681 9.47146 -0.072438 0.0138484 0.0585895 0.23 -0.02 pose: 0.67827535 -5.404 0.182581 0 -0.00582901 -0.00319544 -0.0185404 0.999806 uwb: 0.0 849.884 1588.88 -imu_odom_: 1691062934.979265518 0.454898 -0.462081 10.0556 -0.0937433 -0.00532632 0.0628506 0.23 -0.02 pose: 0.0 -5.404 0.182581 0 -0.00582901 -0.00319544 -0.0185404 0.999806 uwb: 0.0 849.884 1588.88 -imu_odom_: 1691062934.996173915 0.462081 -0.306458 10.1945 -0.0447411 0.0692422 0.04048 0.23 -0.02 pose: 0.0 -5.404 0.182581 0 -0.00582901 -0.00319544 -0.0185404 0.999806 uwb: 0.49872115 847.546 1587.34 -imu_odom_: 1691062935.21228674 -0.0023942 -0.0861913 10.1203 -0.072438 0.0649811 0.0628506 0.25 0 pose: 0.7877461 -5.404 0.182581 0 -0.00520961 -0.00273371 -0.0184662 0.999812 uwb: 0.0 847.546 1587.34 -imu_odom_: 1691062935.48172741 -0.198719 -0.177171 9.80904 -0.0426106 0.0234358 0.0330232 0.23 0.02 pose: 0.41983280 -5.39436 0.179936 0 -0.00511186 -0.00201179 -0.0181006 0.999821 uwb: 0.50005107 843.704 1585.31 -imu_odom_: 1691062935.74325853 0.143652 -0.0766145 9.63187 -0.0415453 -0.0191748 0.0532632 0.23 0.02 pose: 0.0 -5.39436 0.179936 0 -0.00511186 -0.00201179 -0.0181006 0.999821 uwb: 0.0 843.704 1585.31 -imu_odom_: 1691062935.101206340 0.440533 -0.277727 9.87369 -0.0585895 -0.0106526 0.0511327 0.23 0 pose: 0.42048317 -5.38207 0.186944 0 -0.00327276 0.00152941 -0.01783 0.999835 uwb: 0.50070438 840.309 1583.68 -imu_odom_: 1691062935.117374239 0.610521 -0.208296 10.0197 -0.052198 0.0117179 0.0426106 0.23 0 pose: 0.0 -5.38207 0.186944 0 -0.00327276 0.00152941 -0.01783 0.999835 uwb: 0.0 840.309 1583.68 -imu_odom_: 1691062935.143181746 0.555455 -0.268151 9.75637 -0.0553937 -0.0223706 0.0543285 0.25 0.02 pose: 0.53118470 -5.37243 0.184292 0 -0.0009290730.0046803 -0.0176594 0.999833 uwb: 0.0 840.309 1583.68 -imu_odom_: 1691062935.166323866 0.739808 0.047884 9.9934 -0.0490022 -0.00426106 0.0458064 0.25 0.02 pose: 0.0 -5.37243 0.184292 0 -0.0009290730.0046803 -0.0176594 0.999833 uwb: 0.0 840.309 1583.68 -imu_odom_: 1691062935.191198969 0.514753 -0.117316 9.68933 -0.056459 0.0245011 0.0490022 0.18 -0.02 pose: 0.84961961 -5.35627 0.179719 0 -0.000159131-0.003196 -0.0172742 0.999846 uwb: 0.99988050 844.675 1583.72 -imu_odom_: 1691062935.218209240 0.574608 -0.392649 9.73722 -0.0319579 -0.015979 0.0266316 0.23 0.02 pose: 0.8083366 -5.35319 0.178847 0 0.000553327 -0.00345829 -0.0172385 0.999845 uwb: 0.0 844.675 1583.72 -imu_odom_: 1691062935.243168046 0.0814029 -0.627281 9.4571 -0.0703074 -0.00106526 0.0628506 0.23 0.02 pose: 0.0 -5.35319 0.178847 0 0.000553327 -0.00345829 -0.0172385 0.999845 uwb: 0.49793953 847.026 1583.08 -imu_odom_: 1691062935.260168605 0.68953 -0.268151 9.991 -0.0553937 0.00532632 0.0287621 0.21 0 pose: 0.23883785 -5.35319 0.178847 0 0.00146087 -0.004318 -0.0172067 0.999842 uwb: 0.0 847.026 1583.08 -imu_odom_: 1691062935.285176700 0.711078 -0.102951 10.1849 -0.0617853 -0.0181095 0.0468716 0.21 0 pose: 0.0 -5.35319 0.178847 0 0.00146087 -0.004318 -0.0172067 0.999842 uwb: 0.49994900 848.228 1582.64 -imu_odom_: 1691062935.312191929 0.608127 -0.3304 9.3733 -0.0511327 0.00319579 0.0383495 0.23 0.02 pose: 0.51894707 -5.34085 0.185754 0 -0.00210848 -0.00401586 -0.0170668 0.999844 uwb: 0.0 848.228 1582.64 -imu_odom_: 1691062935.328222752 0.672771 -0.265756 10.2113 -0.0585895 -0.0298274 0.0532632 0.23 0.02 pose: 0.0 -5.34085 0.185754 0 -0.00210848 -0.00401586 -0.0170668 0.999844 uwb: 0.0 848.228 1582.64 -imu_odom_: 1691062935.355420262 0.814029 -0.457293 9.80665 -0.052198 0.00639159 0.0330232 0.25 0.02 pose: 0.42188893 -5.33122 0.183039 0 -0.00139669 -0.00754478 -0.0170432 0.999825 uwb: 0.49982943 843.826 1580.82 -imu_odom_: 1691062935.380225952 0.600945 -0.351948 9.87848 -0.0319579 0.0138484 0.0532632 0.25 0.02 pose: 0.0 -5.33122 0.183039 0 -0.00139669 -0.00754478 -0.0170432 0.999825 uwb: 0.0 843.826 1580.82 -imu_odom_: 1691062935.407237682 0.342371 0.201113 10.1754 -0.0287621 0.00532632 0.0458064 0.23 0 pose: 0.43813091 -5.3216 0.180326 0 -0.00347915 -0.010926 -0.0169613 0.99979 uwb: 0.50068979 842.555 1579.48 -imu_odom_: 1691062935.433247594 -0.0167594 -0.512359 9.68215 -0.0820254 0.00532632 0.0596548 0.19 -0.02 pose: 0.50991467 -5.3216 0.180326 0 -0.00558651 -0.0100064 -0.0167943 0.999793 uwb: 0.50165223 841.785 1578.32 -imu_odom_: 1691062935.460164829 0.25618 -0.114922 10.0868 -0.0575243 -0.0191748 0.052198 0.23 0.02 pose: 0.0 -5.3216 0.180326 0 -0.00558651 -0.0100064 -0.0167943 0.999793 uwb: 0.0 841.785 1578.32 -imu_odom_: 1691062935.476211692 0.682347 -0.390255 10.0437 -0.0681769 -0.00639159 0.0585895 0.23 0.02 pose: 0.53028058 -5.31197 0.177618 0 -0.00437095 -0.00595839 -0.0164251 0.999838 uwb: 0.0 841.785 1578.32 -imu_odom_: 1691062935.503436034 0.184354 -0.0861913 9.85214 -0.0575243 0.0255663 0.0628506 0.23 0.02 pose: 0.0 -5.31197 0.177618 0 -0.00437095 -0.00595839 -0.0164251 0.999838 uwb: 0.49821077 840.541 1576.93 -imu_odom_: 1691062935.529303913 0.270545 -0.196325 10.0533 -0.076699 -0.0170442 0.0553937 0.18 -0.02 pose: 0.63228801 -5.2927 0.182601 0 -0.00272816 -0.00316832 -0.0158315 0.999866 uwb: 0.0 840.541 1576.93 -imu_odom_: 1691062935.556310685 0.701501 -0.579397 9.78989 -0.072438 0.015979 0.0490022 0.25 0 pose: 0.7854713 -5.29001 0.18185 0 -0.00253241 -0.00248301 -0.0157685 0.999869 uwb: 0.49982359 839.848 1575.52 -imu_odom_: 1691062935.582227852 0.153229 -0.296881 9.96706 -0.0436758 0.0394148 0.04048 0.18 -0.02 pose: 0.24944515 -5.29001 0.18185 0 -0.00267412 -0.00128537 -0.0155919 0.999874 uwb: 0.49982359 840.721 1574.32 -imu_odom_: 1691062935.599209453 0.366313 -0.225055 9.79468 -0.0873517 0.00106526 0.052198 0.18 -0.02 pose: 0.0 -5.29001 0.18185 0 -0.00267412 -0.00128537 -0.0155919 0.999874 uwb: 0.0 840.721 1574.32 -imu_odom_: 1691062935.625206825 0.426168 -0.40462 9.52653 -0.0596548 0.0479369 0.0372843 0.18 0.02 pose: 0.28024921 -5.28037 0.179184 0 -0.00431422 -0.00140081 -0.0154927 0.99987 uwb: 0.0 840.721 1574.32 -imu_odom_: 1691062935.652202513 0.545878 -0.155623 10.5656 -0.052198 -0.0127832 0.0308927 0.18 0.02 pose: 0.0 -5.28037 0.179184 0 -0.00431422 -0.00140081 -0.0154927 0.99987 uwb: 0.50016482 835.567 1571.57 -imu_odom_: 1691062935.678288838 0.76375 -0.0694318 10.0485 -0.0372843 -0.0298274 0.0426106 0.18 0 pose: 0.42966140 -5.27071 0.176597 0 -0.00357815 0.0012953 -0.0153794 0.999874 uwb: 0.0 835.567 1571.57 -imu_odom_: 1691062935.705224155 0.790087 -0.323217 10.1634 -0.0266316 -0.0809601 0.0266316 0.18 0 pose: 0.53088429 -5.26105 0.17401 0 -0.00288317 -0.00163138 -0.0155197 0.999874 uwb: 0.0 835.567 1571.57 -imu_odom_: 1691062935.731423348 0.416591 -0.0407014 9.84975 -0.0553937 -0.0394148 0.0628506 0.18 0 pose: 0.0 -5.26105 0.17401 0 -0.00288317 -0.00163138 -0.0155197 0.999874 uwb: 0.0 835.567 1571.57 -imu_odom_: 1691062935.756352115 1.01275 -0.217872 9.69652 -0.052198 0.00213053 0.0308927 0.23 -0.02 pose: 0.52867651 -5.24881 0.181079 0 -0.00138982 -0.00681192 -0.0155822 0.999854 uwb: 0.99962094 834.948 1569.98 -imu_odom_: 1691062935.770291808 0.442927 -0.272939 9.87129 -0.0617853 0 0.0447411 0.23 -0.02 pose: 0.0 -5.24881 0.181079 0 -0.00138982 -0.00681192 -0.0155822 0.999854 uwb: 0.0 834.948 1569.98 -imu_odom_: 1691062935.787191456 0.823605 -0.270545 10.2065 -0.0820254 -0.0149137 0.0447411 0.23 -0.02 pose: 0.0 -5.24881 0.181079 0 -0.00138982 -0.00681192 -0.0155822 0.999854 uwb: 0.50123809 833.401 1567.89 -imu_odom_: 1691062935.810313160 0.519542 -0.387861 9.78989 -0.0543285 -0.0671117 0.0298274 0.18 0.02 pose: 0.74009053 -5.23915 0.178493 0 -0.00104365 -0.00910208 -0.0154014 0.999839 uwb: 0.0 833.401 1567.89 -imu_odom_: 1691062935.836153916 0.543484 -0.320823 9.72764 -0.0553937 -0.00213053 0.0394148 0.18 0.02 pose: 0.6012360 -5.23915 0.178493 0 -0.0016017 -0.00906609 -0.0154252 0.999839 uwb: 0.49938320 832.794 1566.29 -imu_odom_: 1691062935.862144579 0.232238 -0.0670376 9.97424 -0.056459 0.00106526 0.0617853 0.25 -0.02 pose: 0.42950100 -5.23224 0.176644 0 -0.00529228 -0.00743355 -0.0154715 0.999839 uwb: 0.0 832.794 1566.29 -imu_odom_: 1691062935.888170824 0.225055 -0.189142 9.65103 -0.052198 0.0436758 0.0383495 0.19 0 pose: 0.0 -5.23224 0.176644 0 -0.00529228 -0.00743355 -0.0154715 0.999839 uwb: 0.0 832.794 1566.29 -imu_odom_: 1691062935.905169632 0.402226 -0.349553 10.0126 -0.0468716 -0.02024 0.0490022 0.19 0 pose: 0.33055004 -5.22949 0.175906 0 -0.00342612 -0.00450528 -0.015189 0.999869 uwb: 0.0 832.794 1566.29 -imu_odom_: 1691062935.931203751 0.172383 -0.318429 10.3382 -0.0287621 -0.0117179 0.0436758 0.18 0 pose: 0.0 -5.22949 0.175906 0 -0.00342612 -0.00450528 -0.015189 0.999869 uwb: 0.0 832.794 1566.29 -imu_odom_: 1691062935.958326599 0.553061 -0.244209 9.81144 -0.0820254 -0.0213053 0.0756338 0.18 0 pose: 0.43953375 -5.21725 0.182985 0 -0.00409306 -0.0007638 -0.0150926 0.999877 uwb: 0.100052213 832.033 1565.23 -imu_odom_: 1691062935.983134331 0.134075 -0.110133 9.71328 -0.0490022 0.0372843 0.0468716 0.2 0 pose: 0.45164304 -5.20758 0.180405 0 -0.00362325 -0.00188133 -0.014567 0.999886 uwb: 0.49996067 834.297 1564.82 -imu_odom_: 1691062936.10206432 0.0407014 -0.153229 10.0533 -0.072438 -0.0234358 0.0628506 0.2 0 pose: 0.6953223 -5.20758 0.180405 0 -0.00324712 -0.0011367 -0.0145407 0.999888 uwb: 0.0 834.297 1564.82 -imu_odom_: 1691062936.27135536 0.816423 -0.203507 10.1586 -0.0447411 -0.0255663 0.0308927 0.18 0.02 pose: 0.44926610 -5.19792 0.177835 0 -0.00168159 0.00309809 -0.0141507 0.999894 uwb: 0.0 834.297 1564.82 -imu_odom_: 1691062936.52183880 0.811634 -0.447716 9.42837 -0.0916127 -0.00532632 0.0692422 0.18 0.02 pose: 0.0 -5.19792 0.177835 0 -0.00168159 0.00309809 -0.0141507 0.999894 uwb: 0.49858408 835.619 1563.96 -imu_odom_: 1691062936.75208173 0.035913 -0.265756 9.69412 -0.0607201 0.015979 0.0394148 0.2 -0.02 pose: 0.41977448 -5.19068 0.175914 0 -0.00302004 -0.00102325 -0.0138592 0.999899 uwb: 0.0 835.619 1563.96 -imu_odom_: 1691062936.100133440 0.287304 -0.277727 9.991 -0.0692422 -0.0117179 0.052198 0.2 -0.02 pose: 0.0 -5.19068 0.175914 0 -0.00302004 -0.00102325 -0.0138592 0.999899 uwb: 0.50143642 835.476 1562.62 -imu_odom_: 1691062936.127293328 0.146046 -0.222661 9.79707 -0.04048 -0.0287621 0.0372843 0.23 0 pose: 0.47949560 -5.18144 0.173472 0 -0.0032425 0.00391729 -0.0136897 0.999893 uwb: 0.0 835.476 1562.62 -imu_odom_: 1691062936.144275804 0.548272 -0.426168 9.9527 -0.0553937 -0.0351537 0.0426106 0.23 0 pose: 0.0 -5.18144 0.173472 0 -0.0032425 0.00391729 -0.0136897 0.999893 uwb: 0.49926071 835.349 1561.24 -imu_odom_: 1691062936.169345729 0.658405 -0.179565 10.3262 -0.0436758 -0.056459 0.0458064 0.18 0 pose: 0.35125136 -5.17603 0.182388 0 -0.00264765 0.00537484 -0.0137007 0.999888 uwb: 0.0 835.349 1561.24 -imu_odom_: 1691062936.192286319 0.248997 -0.328006 9.88326 -0.0479369 -0.0308927 0.0447411 0.18 0 pose: 0.0 -5.17603 0.182388 0 -0.00264765 0.00537484 -0.0137007 0.999888 uwb: 0.50078021 835.627 1560.29 -imu_odom_: 1691062936.218193571 0.557849 -0.0047884 10.2448 -0.0266316 -0.0617853 0.0436758 0.2 0 pose: 0.40101556 -5.16636 0.179834 0 -0.00258692 0.00185633 -0.0136002 0.999902 uwb: 0.0 835.627 1560.29 -imu_odom_: 1691062936.235269375 0.337582 -0.380678 9.63666 -0.0617853 0.00639159 0.0500674 0.2 0 pose: 0.0 -5.16636 0.179834 0 -0.00258692 0.00185633 -0.0136002 0.999902 uwb: 0.49926363 838.838 1560.2 -imu_odom_: 1691062936.261321869 0.263362 -0.263362 9.72285 -0.0447411 0.00639159 0.0500674 0.25 0 pose: 0.49975651 -5.15672 0.177186 0 -0.00161133 0.00104192 -0.0134612 0.999908 uwb: 0.0 838.838 1560.2 -imu_odom_: 1691062936.288249312 0.306458 -0.244209 9.97664 -0.0415453 -0.0106526 0.0330232 0.25 0.02 pose: 0.35986086 -5.14972 0.175266 0 -0.00237615 0.00417589 -0.0132665 0.9999 uwb: 0.49921405 833.731 1557.75 -imu_odom_: 1691062936.313222993 0.316035 -0.253785 10.0365 -0.0671117 -0.0308927 0.0692422 0.25 0.02 pose: 0.0 -5.14972 0.175266 0 -0.00237615 0.00417589 -0.0132665 0.9999 uwb: 0.0 833.731 1557.75 -imu_odom_: 1691062936.330178054 0.811634 -0.323217 10.1299 -0.056459 0.0117179 0.0426106 0.23 0.02 pose: 0.6818772 -5.14708 0.174542 0 -0.00179503 0.00457733 -0.0132858 0.9999 uwb: 0.0 833.731 1557.75 -imu_odom_: 1691062936.355252354 0.876278 -0.201113 10.2041 -0.036219 -0.0170442 0.0319579 0.23 0.02 pose: 0.0 -5.14708 0.174542 0 -0.00179503 0.00457733 -0.0132858 0.9999 uwb: 0.49993734 834.06 1556.65 -imu_odom_: 1691062936.381216477 0.356736 -0.263362 9.31344 -0.0575243 -0.0181095 0.0351537 0.21 0 pose: 0.52119570 -5.13743 0.171901 0 -0.00234807 0.00331183 -0.0129745 0.999908 uwb: 0.0 834.06 1556.65 -imu_odom_: 1691062936.407135103 0.533907 -0.497994 9.71806 -0.0735032 -0.0372843 0.0607201 0.21 0 pose: 0.0 -5.13743 0.171901 0 -0.00234807 0.00331183 -0.0129745 0.999908 uwb: 0.50021440 835.852 1555.95 -imu_odom_: 1691062936.434154124 0.727837 -0.392649 9.79707 -0.0458064 0.00319579 0.0255663 0.23 -0.02 pose: 0.41866620 -5.13479 0.181547 0 -0.00213928 0.000376132 -0.0130775 0.999912 uwb: 0.50071605 839.671 1555.48 -imu_odom_: 1691062936.450144991 0.452504 -0.0454898 9.56244 -0.0500674 0.0223706 0.0426106 0.23 -0.02 pose: 0.0 -5.13479 0.181547 0 -0.00213928 0.000376132 -0.0130775 0.999912 uwb: 0.0 839.671 1555.48 -imu_odom_: 1691062936.477216801 0.35913 -0.363919 9.92875 -0.036219 0.0245011 0.0266316 0.2 0 pose: 0.52025367 -5.12515 0.178909 0 -0.00508539 -0.000474749-0.0129011 0.999904 uwb: 0.0 839.671 1555.48 -imu_odom_: 1691062936.502291684 0.766145 -0.490811 9.40921 -0.0820254 0.0138484 0.0745685 0.18 0.02 pose: 0.63064603 -5.10858 0.174382 0 -0.00531608 0.000304842 -0.0131964 0.999899 uwb: 0.49880574 839.99 1554.37 -imu_odom_: 1691062936.529166338 0.0694318 -0.213084 10.0796 -0.04048 -0.00852212 0.036219 0.18 0.02 pose: 0.0 -5.10858 0.174382 0 -0.00531608 0.000304842 -0.0131964 0.999899 uwb: 0.0 839.99 1554.37 -imu_odom_: 1691062936.554112896 0.687136 -0.31364 10.0317 -0.0681769 -0.0713727 0.0490022 0.19 0 pose: 0.7888544 -5.10586 0.173637 0 -0.00577281 -0.000328345-0.0130626 0.999898 uwb: 0.50138100 840.863 1553.16 -imu_odom_: 1691062936.571240030 1.08218 -0.126893 9.89763 -0.0415453 0.0319579 0.0287621 0.19 0 pose: 0.0 -5.10586 0.173637 0 -0.00577281 -0.000328345-0.0130626 0.999898 uwb: 0.0 840.863 1553.16 -imu_odom_: 1691062936.596100259 0.368707 -0.351948 9.7851 -0.0756338 0.00852212 0.0639159 0.18 0 pose: 0.52023908 -5.0962 0.171028 0 -0.0056396 -0.00032074 -0.0127657 0.999903 uwb: 0.49884657 839.689 1551.79 -imu_odom_: 1691062936.623132988 0.725443 -0.337582 9.50498 -0.0628506 -0.0170442 0.0372843 0.18 0 pose: 0.0 -5.0962 0.171028 0 -0.0056396 -0.00032074 -0.0127657 0.999903 uwb: 0.0 839.689 1551.79 -imu_odom_: 1691062936.648256868 0.371101 -0.395043 10.0341 -0.056459 0.00532632 0.0330232 0.19 0 pose: 0.42107523 -5.0962 0.171028 0 -0.00542735 -0.00311284 -0.012695 0.9999 uwb: 0.50007733 839.873 1551.16 -imu_odom_: 1691062936.675257807 0.0430956 -0.323217 10.3286 -0.0607201 -0.02024 0.056459 0.22 0 pose: 0.51908707 -5.084 0.178168 0 -0.00668949 -0.00351192 -0.0125478 0.999893 uwb: 0.0 839.873 1551.16 -imu_odom_: 1691062936.691111890 -0.11971 -0.272939 9.96946 -0.0671117 -0.015979 0.0596548 0.22 0 pose: 0.0 -5.084 0.178168 0 -0.00668949 -0.00351192 -0.0125478 0.999893 uwb: 0.49985276 841.584 1550.65 -imu_odom_: 1691062936.718098829 -0.047884 -0.411803 10.1754 -0.0543285 0.00319579 0.0276969 0.25 0 pose: 0.59966407 -5.0695 0.174376 0 -0.00698397 0.00206876 -0.0121718 0.999899 uwb: 0.0 841.584 1550.65 -imu_odom_: 1691062936.743113633 0.213084 -0.445322 9.78031 -0.0383495 -0.015979 0.0266316 0.25 0 pose: 0.8046326 -5.06465 0.17311 0 -0.00707872 0.00289691 -0.0122144 0.999896 uwb: 0.49969527 843.329 1550 -imu_odom_: 1691062936.760297056 0.646434 -0.205901 9.89045 -0.0511327 -0.02024 0.0490022 0.21 -0.02 pose: 0.0 -5.06465 0.17311 0 -0.00707872 0.00289691 -0.0122144 0.999896 uwb: 0.0 843.329 1550 -imu_odom_: 1691062936.786095231 0.509965 -0.169988 10.1873 -0.0458064 0.0298274 0.0223706 0.21 -0.02 pose: 0.51055048 -5.05497 0.170583 0 -0.00842497 0.00587744 -0.0124404 0.99987 uwb: 0.50156183 843.945 1549.67 -imu_odom_: 1691062936.812356837 0.646434 -0.627281 9.32302 -0.0703074 0.0117179 0.0553937 0.23 0 pose: 0.35881967 -5.05497 0.170583 0 -0.0060255 0.00348625 -0.0126297 0.999896 uwb: 0.0 843.945 1549.67 -imu_odom_: 1691062936.838173969 0.280122 -0.169988 10.1227 -0.0287621 0.02024 0.015979 0.23 0 pose: 0.7001053 -5.05497 0.170583 0 -0.00657422 0.00304973 -0.0125792 0.999895 uwb: 0.50159975 846.074 1549.46 -imu_odom_: 1691062936.863232812 0.248997 -0.418985 10.0149 -0.0820254 -0.00532632 0.0681769 0.2 0 pose: 0.45077685 -5.04276 0.177725 0 -0.00534596 0.00314079 -0.0127358 0.9999 uwb: 0.0 846.074 1549.46 -imu_odom_: 1691062936.877153840 0.586579 -0.342371 9.96227 -0.0585895 -0.0340885 0.0340885 0.2 0 pose: 0.0 -5.04276 0.177725 0 -0.00534596 0.00314079 -0.0127358 0.9999 uwb: 0.0 846.074 1549.46 -imu_odom_: 1691062936.894130191 0.658405 -0.105345 9.85932 -0.04048 0.0245011 0.0223706 0.17 0.02 pose: 0.0 -5.04276 0.177725 0 -0.00534596 0.00314079 -0.0127358 0.9999 uwb: 0.49736790 847.28 1548.85 -imu_odom_: 1691062936.908142506 -0.00957681-0.186748 9.44752 -0.0639159 -0.00958738 0.0479369 0.17 0.02 pose: 0.46076002 -5.03309 0.175192 0 -0.00691948 0.00283003 -0.0124838 0.999894 uwb: 0.0 847.28 1548.85 -imu_odom_: 1691062936.933090230 0.196325 -0.268151 9.77553 -0.04048 -0.00958738 0.0298274 0.18 0 pose: 0.0 -5.03309 0.175192 0 -0.00691948 0.00283003 -0.0124838 0.999894 uwb: 0.49971277 844.273 1546.71 -imu_odom_: 1691062936.960255076 0.696713 -0.325611 9.8282 -0.0490022 -0.0500674 0.052198 0.18 0 pose: 0.30886881 -5.02342 0.172661 0 -0.00544431 0.00407934 -0.0125353 0.999898 uwb: 0.0 844.273 1546.71 -imu_odom_: 1691062936.976226986 0.744597 -0.112527 9.81383 -0.0468716 -0.00319579 0.0415453 0.18 0 pose: 0.0 -5.02342 0.172661 0 -0.00544431 0.00407934 -0.0125353 0.999898 uwb: 0.0 844.273 1546.71 -imu_odom_: 1691062937.3089099 0.497994 -0.296881 9.90002 -0.0511327 0.0117179 0.0330232 0.19 0 pose: 0.53112053 -5.01374 0.17013 0 -0.00430794 0.00162832 -0.0124457 0.999912 uwb: 0.50048856 843.148 1545.24 -imu_odom_: 1691062937.28343930 0.663194 -0.186748 9.83059 -0.0553937 0.00532632 0.0617853 0.2 0 pose: 0.34840194 -5.01374 0.17013 0 -0.00402489 -0.00155719 -0.0125401 0.999912 uwb: 0.0 843.148 1545.24 -imu_odom_: 1691062937.55343703 0.373495 -0.167594 10.3693 -0.0532632 0.0234358 0.0372843 0.2 0 pose: 0.0 -5.01374 0.17013 0 -0.00402489 -0.00155719 -0.0125401 0.999912 uwb: 0.49931321 842.49 1543.95 -imu_odom_: 1691062937.80303385 0.766145 -0.251391 10.2185 -0.0628506 -0.0276969 0.0639159 0.18 0 pose: 0.8085991 -5.01374 0.17013 0 -0.00369481 -0.00225647 -0.012454 0.999913 uwb: 0.0 842.49 1543.95 -imu_odom_: 1691062937.107189122 1.20907 -0.0646434 10.1347 -0.0458064 -0.0106526 0.0255663 0.23 0 pose: 0.51963537 -5.00154 0.177276 0 -0.00110098 -0.0023532 -0.0122107 0.999922 uwb: 0.49999276 843.694 1543.34 -imu_odom_: 1691062937.132205384 0.371101 -0.356736 9.77553 -0.0852212 0.0287621 0.072438 0.18 0.02 pose: 0.0 -5.00154 0.177276 0 -0.00110098 -0.0023532 -0.0122107 0.999922 uwb: 0.50122060 845.854 1542.96 -imu_odom_: 1691062937.149072367 0.0933739 -0.205901 9.98143 -0.0713727 0.00106526 0.0426106 0.18 0.02 pose: 0.0 -5.00154 0.177276 0 -0.00110098 -0.0023532 -0.0122107 0.999922 uwb: 0.0 845.854 1542.96 -imu_odom_: 1691062937.165083358 0.629675 -0.0670376 10.5034 -0.0649811 -0.0170442 0.0351537 0.21 -0.02 pose: 0.52086322 -4.99186 0.174752 0 -0.00115684 -0.00621042 -0.0120618 0.999907 uwb: 0.0 845.854 1542.96 -imu_odom_: 1691062937.192118711 0.184354 -0.28491 9.81862 -0.0351537 0.0106526 0.0308927 0.21 -0.02 pose: 0.0 -4.99186 0.174752 0 -0.00115684 -0.00621042 -0.0120618 0.999907 uwb: 0.50044482 843.295 1541.17 -imu_odom_: 1691062937.217186012 0.505177 -0.342371 9.71088 -0.0681769 -0.0234358 0.0500674 0.25 0.02 pose: 0.57859821 -4.98218 0.172231 0 -0.0012416 -0.00317497 -0.0118236 0.999924 uwb: 0.0 843.295 1541.17 -imu_odom_: 1691062937.234110450 0.464475 -0.155623 9.57681 -0.0628506 -0.0394148 0.0447411 0.25 0.02 pose: 0.0 -4.98218 0.172231 0 -0.0012416 -0.00317497 -0.0118236 0.999924 uwb: 0.49807662 842.567 1540.15 -imu_odom_: 1691062937.259210416 0.373495 -0.328006 9.77792 -0.0607201 -0.0170442 0.0426106 0.2 0 pose: 0.61025680 -4.96681 0.168232 0 -0.00186703 -0.0032985 -0.0117311 0.999924 uwb: 0.0 842.567 1540.15 -imu_odom_: 1691062937.286207271 1.29526 -0.0933739 10.1945 -0.0458064 0.00319579 0.036219 0.2 0 pose: 0.0 -4.96681 0.168232 0 -0.00186703 -0.0032985 -0.0117311 0.999924 uwb: 0.50137226 844.984 1540.63 -imu_odom_: 1691062937.311090249 0.730232 -0.373495 9.36133 -0.0745685 0.0117179 0.0553937 0.19 0 pose: 0.6969264 -4.96283 0.167198 0 -0.00232573 -0.00280208 -0.0117181 0.999925 uwb: 0.0 844.984 1540.63 -imu_odom_: 1691062937.328196385 0.0742203 -0.246603 10.149 -0.0308927 0.0106526 0.0447411 0.19 0 pose: 0.0 -4.96283 0.167198 0 -0.00232573 -0.00280208 -0.0117181 0.999925 uwb: 0.0 844.984 1540.63 -imu_odom_: 1691062937.354243046 0.505177 -0.411803 9.85693 -0.0596548 0.00745685 0.0426106 0.18 0.02 pose: 0.53021934 -4.95063 0.174362 0 -0.00322588 -0.00471558 -0.0116786 0.999915 uwb: 0.49886990 843.306 1539.37 -imu_odom_: 1691062937.371125778 0.21069 -0.294487 10.0245 -0.052198 0.00852212 0.0319579 0.18 0.02 pose: 0.0 -4.95063 0.174362 0 -0.00322588 -0.00471558 -0.0116786 0.999915 uwb: 0.0 843.306 1539.37 -imu_odom_: 1691062937.396074669 0.155623 -0.555455 9.31344 -0.0777643 0.00745685 0.0660464 0.18 0 pose: 0.77024130 -4.94095 0.171852 0 -0.00599391 -0.00270259 -0.0115033 0.999912 uwb: 0.0 843.306 1539.37 -imu_odom_: 1691062937.423240682 -0.368707 -0.356736 9.47625 -0.0287621 0.0127832 0.0298274 0.23 0.02 pose: 0.8127697 -4.94095 0.171852 0 -0.00657486 -0.00200495 -0.011391 0.999911 uwb: 0.0 843.306 1539.37 -imu_odom_: 1691062937.448049872 0.150835 -0.0646434 9.9934 -0.0426106 -0.0319579 0.0426106 0.18 0.02 pose: 0.43987207 -4.93127 0.169344 0 -0.007371 0.00238228 -0.0112716 0.999906 uwb: 0.100002927 839.846 1537.25 -imu_odom_: 1691062937.475079393 0.0550666 0.0766145 10.2448 -0.0458064 -0.0276969 0.0447411 0.23 -0.02 pose: 0.0 -4.93127 0.169344 0 -0.007371 0.00238228 -0.0112716 0.999906 uwb: 0.0 839.846 1537.25 -imu_odom_: 1691062937.500269770 0.390255 -0.071826 9.64384 -0.0490022 -0.0223706 0.0479369 0.23 -0.02 pose: 0.31876740 -4.92159 0.166838 0 -0.00454953 0.0037542 -0.0111942 0.99992 uwb: 0.50004817 839.605 1536.34 -imu_odom_: 1691062937.527138883 0.105345 -0.107739 10.0844 -0.0490022 0.0330232 0.0372843 0.23 0 pose: 0.45152348 -4.91295 0.171927 0 -0.00038616 0.00349877 -0.0110166 0.999933 uwb: 0.0 839.605 1536.34 -imu_odom_: 1691062937.552226891 0.536301 -0.268151 9.80665 -0.036219 0.0181095 0.0351537 0.23 0 pose: 0.6985596 -4.90941 0.174015 0 -4.04573e-050.00424855 -0.0110233 0.99993 uwb: 0.50166974 840.79 1535.79 -imu_odom_: 1691062937.569288112 0.416591 -0.217872 10.2759 -0.0436758 0.0213053 0.0671117 0.22 0 pose: 0.0 -4.90941 0.174015 0 -4.04573e-050.00424855 -0.0110233 0.99993 uwb: 0.0 840.79 1535.79 -imu_odom_: 1691062937.586123597 0.0933739 -0.519542 9.44513 -0.0713727 -0.0255663 0.0585895 0.22 0 pose: 0.44971525 -4.90257 0.172248 0 0.000496095 0.00424614 -0.0111016 0.999929 uwb: 0.50054981 839.206 1534.28 -imu_odom_: 1691062937.610101003 0.191536 -0.0742203 9.71328 -0.0479369 -0.015979 0.0543285 0.19 0 pose: 0.0 -4.90257 0.172248 0 0.000496095 0.00424614 -0.0111016 0.999929 uwb: 0.0 839.206 1534.28 -imu_odom_: 1691062937.635194844 0.213084 -0.287304 9.55526 -0.0596548 0.0458064 0.0319579 0.19 0 pose: 0.40814056 -4.89973 0.171513 0 -0.0004996520.0040929 -0.0106575 0.999935 uwb: 0.49752540 838.531 1533.15 -imu_odom_: 1691062937.662113829 -0.191536 -0.222661 9.66779 -0.0671117 0.0106526 0.0660464 0.22 0 pose: 0.42153897 -4.89004 0.169019 0 -0.0008872920.00757924 -0.0106308 0.999914 uwb: 0.0 838.531 1533.15 -imu_odom_: 1691062937.687052512 0.335188 -0.354342 9.6199 -0.0607201 0.0181095 0.0308927 0.22 0 pose: 0.7011844 -4.89004 0.169019 0 -0.0009034180.00833306 -0.0105369 0.999909 uwb: 0.50047398 842.125 1533 -imu_odom_: 1691062937.714032452 0.457293 -0.0742203 10.4004 -0.0628506 -0.0298274 0.0468716 0.23 0 pose: 0.44845824 -4.88036 0.166527 0 -0.00271606 0.00892776 -0.0103979 0.999902 uwb: 0.0 842.125 1533 -imu_odom_: 1691062937.730097690 0.622492 -0.280122 9.75877 -0.0628506 -0.00106526 0.0319579 0.23 0 pose: 0.0 -4.88036 0.166527 0 -0.00271606 0.00892776 -0.0103979 0.999902 uwb: 0.0 842.125 1533 -imu_odom_: 1691062937.757012884 0.519542 -0.248997 9.85932 -0.0681769 -0.0447411 0.052198 0.19 0 pose: 0.35000601 -4.86818 0.173723 0 -0.00124756 0.00571175 -0.0103203 0.99993 uwb: 0.49951737 841.403 1532.03 -imu_odom_: 1691062937.782054519 0.694318 -0.347159 9.80665 -0.036219 -0.0106526 0.0287621 0.19 0 pose: 0.0 -4.86818 0.173723 0 -0.00124756 0.00571175 -0.0103203 0.99993 uwb: 0.49980902 840.682 1531.05 -imu_odom_: 1691062937.799024163 0.047884 -0.624887 9.4954 -0.0681769 0.00852212 0.0415453 0.19 0 pose: 0.43067635 -4.86818 0.173723 0 -0.00184138 0.000891275 -0.010231 0.999946 uwb: 0.0 840.682 1531.05 -imu_odom_: 1691062937.824139002 -0.105345 -0.263362 9.66779 -0.0287621 0.0500674 0.0308927 0.19 0 pose: 0.0 -4.86818 0.173723 0 -0.00184138 0.000891275 -0.010231 0.999946 uwb: 0.0 840.682 1531.05 -imu_odom_: 1691062937.849066603 0.531513 -0.323217 9.63427 -0.072438 0.0234358 0.0479369 0.19 0 pose: 0.41998739 -4.8585 0.171236 0 -0.00334325 0.00157203 -0.0103396 0.99994 uwb: 0.49998109 839.191 1529.3 -imu_odom_: 1691062937.872169350 0.706289 -0.208296 9.64863 -0.0543285 -0.00852212 0.0394148 0.18 0 pose: 0.0 -4.8585 0.171236 0 -0.00334325 0.00157203 -0.0103396 0.99994 uwb: 0.0 839.191 1529.3 -imu_odom_: 1691062937.888085555 0.306458 -0.332794 9.84017 -0.0479369 -0.00106526 0.0511327 0.18 0 pose: 0.48122509 -4.84881 0.168748 0 -0.00373497 0.001051 -0.0103176 0.999939 uwb: 0.50122061 837.587 1527.95 -imu_odom_: 1691062937.915032539 0.311246 -0.117316 10.1131 -0.0351537 -0.00745685 0.0266316 0.25 0 pose: 0.0 -4.84881 0.168748 0 -0.00373497 0.001051 -0.0103176 0.999939 uwb: 0.0 837.587 1527.95 -imu_odom_: 1691062937.940043259 0.632069 -0.418985 9.87608 -0.0788296 0.0287621 0.0585895 0.25 0 pose: 0.40895427 -4.83913 0.16626 0 -0.00314267 0.00112422 -0.0102778 0.999942 uwb: 0.49989651 837.801 1527.25 -imu_odom_: 1691062937.967089987 0.435745 -0.167594 9.79468 -0.0479369 0.0245011 0.0213053 0.21 0 pose: 0.43905836 -4.83051 0.171353 0 -0.00293064 0.00018421 -0.0101632 0.999944 uwb: 0.0 837.801 1527.25 -imu_odom_: 1691062937.992102750 0.184354 -0.363919 9.63427 -0.0340885 -0.0266316 0.0255663 0.21 0 pose: 0.6999012 -4.82695 0.173459 0 -0.00224313 5.02027e-05 -0.0102281 0.999945 uwb: 0.50010942 839.447 1526.8 -imu_odom_: 1691062938.19084440 0.818817 -0.287304 9.80665 -0.056459 -0.0308927 0.0500674 0.22 0 pose: 0.45060479 -4.82037 0.171767 0 -0.00133891 0.00150704 -0.0105878 0.999942 uwb: 0.0 839.447 1526.8 -imu_odom_: 1691062938.44125492 0.0885855 -0.114922 10.4603 -0.02024 0.00426106 0.0383495 0.19 0 pose: 0.0 -4.82037 0.171767 0 -0.00133891 0.00150704 -0.0105878 0.999942 uwb: 0.50179807 834.24 1524.17 -imu_odom_: 1691062938.61063638 0.134075 -0.287304 9.70609 -0.0575243 0.02024 0.0500674 0.19 0 pose: 0.35007601 -4.81727 0.170968 0 -0.00122741 -0.000755691-0.0104539 0.999944 uwb: 0.0 834.24 1524.17 -imu_odom_: 1691062938.86031486 0.799663 0.0143652 9.76834 -0.0340885 0.0170442 0.0276969 0.18 0 pose: 0.0 -4.81727 0.170968 0 -0.00122741 -0.000755691-0.0104539 0.999944 uwb: 0.49801538 833.995 1523.36 -imu_odom_: 1691062938.112008443 0.337582 -0.433351 9.73004 -0.0830906 0.00213053 0.0681769 0.18 0 pose: 0.41966657 -4.80758 0.168477 0 -0.0002700710.00212271 -0.0104209 0.999943 uwb: 0.0 833.995 1523.36 -imu_odom_: 1691062938.134070584 0.0454898 -0.146046 9.85214 -0.0500674 0.0106526 0.0436758 0.2 0 pose: 0.42931435 -4.80023 0.166586 0 -0.0021875 0.00146181 -0.0101518 0.999945 uwb: 0.49864534 833.823 1522.32 -imu_odom_: 1691062938.151068810 0.512359 -0.205901 10.2951 -0.0671117 -0.0127832 0.0596548 0.2 0 pose: 0.0 -4.80023 0.166586 0 -0.0021875 0.00146181 -0.0101518 0.999945 uwb: 0.0 833.823 1522.32 -imu_odom_: 1691062938.174197806 0.42138 -0.323217 9.63906 -0.0479369 -0.0553937 0.0308927 0.23 0.02 pose: 0.6009736 -4.7979 0.165988 0 -0.00197253 0.00207454 -0.0101381 0.999945 uwb: 0.0 833.823 1522.32 -imu_odom_: 1691062938.192021109 0.301669 -0.0694318 9.50977 -0.0841559 0.00852212 0.0628506 0.23 0.02 pose: 0.0 -4.7979 0.165988 0 -0.00197253 0.00207454 -0.0101381 0.999945 uwb: 0.50032816 834.507 1521.75 -imu_odom_: 1691062938.217073828 0.124498 -0.433351 9.9527 -0.072438 0.0191748 0.0468716 0.19 0 pose: 0.39023619 -4.78573 0.173192 0 -0.0016569 0.00149755 -0.0099587 0.999948 uwb: 0.0 834.507 1521.75 -imu_odom_: 1691062938.244081766 0.533907 -0.335188 10.0317 -0.0873517 -0.0234358 0.0511327 0.19 0 pose: 0.0 -4.78573 0.173192 0 -0.0016569 0.00149755 -0.0099587 0.999948 uwb: 0.50099604 836.681 1521.2 -imu_odom_: 1691062938.269068280 0.497994 -0.433351 10.6949 -0.0394148 -0.00958738 0.0245011 0.19 0 pose: 0.41982406 -4.78573 0.173192 0 -0.0021568 0.00168341 -0.00980112 0.999948 uwb: 0.0 836.681 1521.2 -imu_odom_: 1691062938.286199790 0.447716 -0.328006 9.55526 -0.0681769 -0.0372843 0.0447411 0.19 0 pose: 0.0 -4.78573 0.173192 0 -0.0021568 0.00168341 -0.00980112 0.999948 uwb: 0.50029900 836.088 1519.91 -imu_odom_: 1691062938.311198261 0.0694318 -0.234632 9.74679 -0.0415453 0 0.0426106 0.2 0 pose: 0.53052559 -4.77604 0.170714 0 -0.00506328 -1.3105e-05 -0.00964971 0.999941 uwb: 0.0 836.088 1519.91 -imu_odom_: 1691062938.338023336 0.380678 -0.294487 9.9503 -0.0532632 -0.0458064 0.0490022 0.2 0 pose: 0.0 -4.77604 0.170714 0 -0.00506328 -1.3105e-05 -0.00964971 0.999941 uwb: 0.0 836.088 1519.91 -imu_odom_: 1691062938.354043951 1.02951 0.0287304 10.1514 -0.0308927 -0.02024 0.0330232 0.18 -0.02 pose: 0.41929617 -4.76635 0.168239 0 -0.00580193 -0.00234682 -0.00973236 0.999933 uwb: 0.0 836.088 1519.91 -imu_odom_: 1691062938.381128011 0.299275 -0.3304 9.69173 -0.0553937 0.00319579 0.0553937 0.18 -0.02 pose: 0.0 -4.76635 0.168239 0 -0.00580193 -0.00234682 -0.00973236 0.999933 uwb: 0.0 836.088 1519.91 -imu_odom_: 1691062938.406068736 0.440533 -0.332794 10.0772 -0.0426106 0.00213053 0.0500674 0.19 0.02 pose: 0.52067074 -4.75666 0.165763 0 -0.00330533 0.000246385 -0.00958601 0.999949 uwb: 0.99852144 834.155 1518.13 -imu_odom_: 1691062938.430012018 0.447716 -0.347159 9.84735 -0.052198 -0.0213053 0.0458064 0.19 0.02 pose: 0.0 -4.75666 0.165763 0 -0.00330533 0.000246385 -0.00958601 0.999949 uwb: 0.0 834.155 1518.13 -imu_odom_: 1691062938.455168272 0.538695 -0.155623 9.91918 -0.0703074 -0.056459 0.0660464 0.18 0.02 pose: 0.43017471 -4.7445 0.17298 0 -0.00440952 0.00127562 -0.00935498 0.999946 uwb: 0.50005109 832.337 1516.04 -imu_odom_: 1691062938.480024419 0.612916 -0.160412 9.991 -0.0500674 -0.0468716 0.0415453 0.19 0 pose: 0.47979602 -4.73481 0.170493 0 -0.00601443 -0.0026992 -0.0091162 0.999937 uwb: 0.0 832.337 1516.04 -imu_odom_: 1691062938.496988521 0.517148 -0.134075 10.1083 -0.0383495 0.0340885 0.0266316 0.19 0 pose: 0.0 -4.73481 0.170493 0 -0.00601443 -0.0026992 -0.0091162 0.999937 uwb: 0.49986152 835.329 1516.02 -imu_odom_: 1691062938.522012950 0.181959 -0.220267 9.87848 -0.0585895 -0.0319579 0.04048 0.19 0 pose: 0.25936125 -4.73481 0.170493 0 -0.00393908 -0.0046757 -0.008879 0.999942 uwb: 0.0 835.329 1516.02 -imu_odom_: 1691062938.546996839 0.533907 -0.42138 9.5792 -0.0671117 -0.0681769 0.0617853 0.2 0 pose: 0.41058169 -4.72515 0.167936 0 -0.000795597-0.00514684 -0.00898707 0.999946 uwb: 0.50111854 835.186 1514.91 -imu_odom_: 1691062938.570015591 0.493206 -0.383072 9.165 -0.0639159 -0.0319579 0.036219 0.18 0 pose: 0.42932018 -4.71548 0.165378 0 -0.0033013 -0.00514511 -0.00869242 0.999944 uwb: 0.0 835.186 1514.91 -imu_odom_: 1691062938.586137409 0.754174 -0.225055 10.2759 -0.0490022 -0.0447411 0.0447411 0.18 0 pose: 0.0 -4.71548 0.165378 0 -0.0033013 -0.00514511 -0.00869242 0.999944 uwb: 0.50114186 833.678 1513.44 -imu_odom_: 1691062938.612011997 0.440533 -0.220267 10.1562 -0.0479369 -0.00426106 0.0340885 0.26 0 pose: 0.6007986 -4.71548 0.165378 0 -0.00392796 -0.00520332 -0.00869919 0.999941 uwb: 0.0 833.678 1513.44 -imu_odom_: 1691062938.637074923 0.318429 -0.0909797 10.41 -0.0500674 0.0276969 0.0692422 0.26 0 pose: 0.0 -4.71548 0.165378 0 -0.00392796 -0.00520332 -0.00869919 0.999941 uwb: 0.49764206 832.609 1512.15 -imu_odom_: 1691062938.662049188 0.430956 -0.134075 9.76595 -0.0596548 0.0436758 0.0298274 0.22 0 pose: 0.41029878 -4.70581 0.162825 0 -0.00447063 -0.00658868 -0.00870871 0.99993 uwb: 0.0 832.609 1512.15 -imu_odom_: 1691062938.676031463 0.217872 -0.0287304 9.76355 -0.0532632 -0.00958738 0.0532632 0.22 0 pose: 0.0 -4.70581 0.162825 0 -0.00447063 -0.00658868 -0.00870871 0.99993 uwb: 0.0 832.609 1512.15 -imu_odom_: 1691062938.700985312 0.0215478 -0.318429 9.73961 -0.0575243 0.0330232 0.0298274 0.18 -0.02 pose: 0.50007442 -4.69359 0.169949 0 -0.000715163-0.00270579 -0.00842848 0.999961 uwb: 0.50050315 832.901 1511.26 -imu_odom_: 1691062938.727037806 0.122104 -0.260968 9.71088 -0.0681769 -0.0149137 0.0660464 0.18 -0.02 pose: 0.0 -4.69359 0.169949 0 -0.000715163-0.00270579 -0.00842848 0.999961 uwb: 0.0 832.901 1511.26 -imu_odom_: 1691062938.751986697 0.493206 -0.464475 9.40921 -0.0681769 0.00532632 0.0308927 0.19 0 pose: 0.38922417 -4.69359 0.169949 0 0.00162148 7.9246e-05 -0.00846324 0.999963 uwb: 0.50003943 832.823 1510 -imu_odom_: 1691062938.769088167 0.268151 0.126893 10.1514 -0.0660464 0.0181095 0.0383495 0.19 0 pose: 0.0 -4.69359 0.169949 0 0.00162148 7.9246e-05 -0.00846324 0.999963 uwb: 0.0 832.823 1510 -imu_odom_: 1691062938.794034725 0.390255 -0.215478 9.94791 -0.0585895 0 0.0298274 0.19 0 pose: 0.51157418 -4.68389 0.167497 0 -0.0004464730.00413947 -0.00824535 0.999957 uwb: 0.50091729 833.101 1509.15 -imu_odom_: 1691062938.819111358 0.742203 -0.521936 9.63906 -0.0916127 0.0351537 0.0490022 0.19 0 pose: 0.0 -4.68389 0.167497 0 -0.0004464730.00413947 -0.00824535 0.999957 uwb: 0.0 833.101 1509.15 -imu_odom_: 1691062938.840134351 0.548272 -0.234632 9.70131 -0.0660464 0.052198 0.0276969 0.18 0.02 pose: 0.42966433 -4.6742 0.16505 0 -0.0003544080.00293628 -0.00837248 0.999961 uwb: 0.49881159 834.208 1508.77 -imu_odom_: 1691062938.854117501 0.177171 -0.21069 9.74201 -0.0490022 -0.0127832 0.0372843 0.18 0.02 pose: 0.0 -4.6742 0.16505 0 -0.0003544080.00293628 -0.00837248 0.999961 uwb: 0.0 834.208 1508.77 -imu_odom_: 1691062938.878246273 0.0837971 -0.418985 9.68933 -0.0596548 0.0191748 0.0330232 0.17 0 pose: 0.47915438 -4.6645 0.162599 0 -0.00217389 -0.000535825-0.00837543 0.999962 uwb: 0.0 834.208 1508.77 -imu_odom_: 1691062938.903247953 0.301669 -0.320823 10.1825 -0.052198 0.0138484 0.0490022 0.17 0 pose: 0.0 -4.6645 0.162599 0 -0.00217389 -0.000535825-0.00837543 0.999962 uwb: 0.49958445 836.683 1508.71 -imu_odom_: 1691062938.928162138 0.246603 -0.399832 9.49062 -0.0479369 0.0681769 0.0191748 0.2 0 pose: 0.35998336 -4.65236 0.169843 0 -0.00206985 0.000405939 -0.00850469 0.999962 uwb: 0.0 836.683 1508.71 -imu_odom_: 1691062938.946230718 0.426168 -0.102951 9.91439 -0.0532632 -0.0266316 0.0479369 0.2 0 pose: 0.0 -4.65236 0.169843 0 -0.00206985 0.000405939 -0.00850469 0.999962 uwb: 0.50121186 838.385 1507.97 -imu_odom_: 1691062938.962105217 0.227449 -0.600945 9.29669 -0.072438 0.0287621 0.0394148 0.18 -0.02 pose: 0.50134018 -4.64266 0.167391 0 -0.00500612 0.0050892 -0.00852161 0.999938 uwb: 0.0 838.385 1507.97 -imu_odom_: 1691062938.987084732 0.0885855 -0.0837971 9.74919 -0.0607201 -0.0106526 0.0532632 0.18 -0.02 pose: 0.0 -4.64266 0.167391 0 -0.00500612 0.0050892 -0.00852161 0.999938 uwb: 0.49919072 838.335 1506.6 -imu_odom_: 1691062939.11178214 0.167594 -0.387861 10.2232 -0.0671117 -0.0223706 0.052198 0.18 0 pose: 0.40926926 -4.63297 0.164936 0 -0.00538342 0.00577596 -0.0086222 0.999932 uwb: 0.0 838.335 1506.6 -imu_odom_: 1691062939.35033418 0.428562 -0.0574608 10.1442 -0.052198 -0.0234358 0.0319579 0.18 0 pose: 0.0 -4.63297 0.164936 0 -0.00538342 0.00577596 -0.0086222 0.999932 uwb: 0.50060524 839.084 1505.78 -imu_odom_: 1691062939.59964227 0.955286 -0.311246 10.0724 -0.0340885 -0.015979 0.015979 0.18 -0.02 pose: 0.42110149 -4.63297 0.164936 0 -0.00504347 0.00806911 -0.00838967 0.99992 uwb: 0.0 839.084 1505.78 -imu_odom_: 1691062939.76995118 0.23942 -0.0167594 9.80904 -0.0490022 0.0223706 0.0479369 0.18 -0.02 pose: 0.0 -4.63297 0.164936 0 -0.00504347 0.00806911 -0.00838967 0.99992 uwb: 0.0 839.084 1505.78 -imu_odom_: 1691062939.99002429 0.452504 -0.289698 9.81623 -0.0458064 -0.00532632 0.0479369 0.19 0 pose: 0.47848359 -4.62327 0.162485 0 -0.00431192 0.00674781 -0.00845179 0.999932 uwb: 0.49876783 839.791 1505.06 -imu_odom_: 1691062939.123960070 0.488417 -0.131681 9.67976 -0.0543285 -0.015979 0.0532632 0.19 0 pose: 0.0 -4.62327 0.162485 0 -0.00431192 0.00674781 -0.00845179 0.999932 uwb: 0.0 839.791 1505.06 -imu_odom_: 1691062939.149952776 0.567426 -0.129287 9.64863 -0.0426106 -0.0255663 0.0319579 0.23 0 pose: 0.40995173 -4.61113 0.169727 0 -0.00252494 0.00487653 -0.00857013 0.999948 uwb: 0.49999569 841.873 1504.61 -imu_odom_: 1691062939.164679342 1.34794 -0.071826 10.2185 -0.0532632 0.036219 0.0553937 0.23 0 pose: 0.0 -4.61113 0.169727 0 -0.00252494 0.00487653 -0.00857013 0.999948 uwb: 0.0 841.873 1504.61 -imu_odom_: 1691062939.181096893 1.31681 -0.440533 9.67018 -0.0820254 0.0500674 0.0660464 0.18 0 pose: 0.47985726 -4.60143 0.167276 0 -0.00066472 0.000599516 -0.00836477 0.999965 uwb: 0.0 841.873 1504.61 -imu_odom_: 1691062939.206097698 0.474052 -0.349553 9.53371 -0.0458064 -0.00639159 0.0511327 0.18 0 pose: 0.0 -4.60143 0.167276 0 -0.00066472 0.000599516 -0.00836477 0.999965 uwb: 0.49990527 841.757 1503.44 -imu_odom_: 1691062939.232272393 0.620098 -0.196325 9.47625 -0.0713727 0.0127832 0.0436758 0.2 0 pose: 0.75095160 -4.59174 0.164826 0 -0.00246082 -0.00364156 -0.00794784 0.999959 uwb: 0.49981195 842.102 1502.35 -imu_odom_: 1691062939.257039295 0.533907 -0.158017 9.38527 -0.0798948 0.00532632 0.0649811 0.2 0 pose: 0.8026203 -4.59174 0.164826 0 -0.00221286 -0.00431374 -0.00793475 0.999957 uwb: 0.0 842.102 1502.35 -imu_odom_: 1691062939.280973537 0.433351 -0.37589 9.74679 -0.0777643 0.0191748 0.0479369 0.23 0.02 pose: 0.42915394 -4.58204 0.162385 0 0.000436599 -0.00635255 -0.00760757 0.999951 uwb: 0.0 842.102 1502.35 -imu_odom_: 1691062939.308436158 0.414197 -0.395043 10.1658 -0.0937433 -0.00319579 0.052198 0.25 0.02 pose: 0.0 -4.58204 0.162385 0 0.000436599 -0.00635255 -0.00760757 0.999951 uwb: 0.50144518 841.741 1501.96 -imu_odom_: 1691062939.325080029 0.035913 -0.430956 9.84256 -0.0468716 0.0319579 0.0266316 0.25 0.02 pose: 0.31136534 -4.5699 0.16965 0 -0.00267657 -0.00452893 -0.00744787 0.999958 uwb: 0.0 841.741 1501.96 -imu_odom_: 1691062939.349942592 0.586579 -0.392649 9.60554 -0.0713727 -0.0500674 0.0500674 0.18 0.02 pose: 0.0 -4.5699 0.16965 0 -0.00267657 -0.00452893 -0.00744787 0.999958 uwb: 0.49877076 840.303 1500.42 -imu_odom_: 1691062939.374052407 0.682347 -0.186748 9.73722 -0.056459 0.0138484 0.0394148 0.18 0.02 pose: 0.43794719 -4.5699 0.16965 0 -0.00553536 -0.00229576 -0.00737697 0.999955 uwb: 0.0 840.303 1500.42 -imu_odom_: 1691062939.401048972 -0.00957681-0.272939 9.83538 -0.0500674 -0.0234358 0.0479369 0.23 -0.02 pose: 0.42081859 -4.5602 0.167219 0 -0.005069 -0.00598609 -0.0073099 0.999943 uwb: 0.0 840.303 1500.42 -imu_odom_: 1691062939.425929325 0.129287 -0.296881 9.91918 -0.0117179 -0.0511327 0.036219 0.23 -0.02 pose: 0.7949207 -4.5602 0.167219 0 -0.00498394 -0.00526943 -0.00727258 0.999947 uwb: 0.0 840.303 1500.42 -imu_odom_: 1691062939.442945634 0.387861 -0.399832 9.40921 -0.0681769 0.0138484 0.056459 0.23 0.02 pose: 0.0 -4.5602 0.167219 0 -0.00498394 -0.00526943 -0.00727258 0.999947 uwb: 0.99999137 840.675 1499.26 -imu_odom_: 1691062939.467015201 0.373495 -0.318429 9.76595 -0.0394148 0.0106526 0.0532632 0.23 0.02 pose: 0.50948306 -4.5505 0.164791 0 -0.00483173 -0.00130427 -0.00714758 0.999962 uwb: 0.0 840.675 1499.26 -imu_odom_: 1691062939.492957451 0.411803 -0.354342 9.99819 -0.0500674 -0.00958738 0.0468716 0.24 0 pose: 0.34065281 -4.5408 0.162365 0 -0.00517884 0.00173349 -0.00688334 0.999961 uwb: 0.50035149 842.124 1499.22 -imu_odom_: 1691062939.518102040 0.263362 -0.124498 10.3765 -0.0649811 -0.00958738 0.0607201 0.24 0 pose: 0.8010453 -4.5408 0.162365 0 -0.00569149 0.00111373 -0.00685807 0.99996 uwb: 0.0 842.124 1499.22 -imu_odom_: 1691062939.535957716 0.842759 -0.253785 10.1251 -0.0585895 0.0383495 0.0543285 0.19 0 pose: 0.24986223 -4.52868 0.169646 0 -0.00627487 8.25858e-05 -0.00672445 0.999958 uwb: 0.49826912 842.015 1498.06 -imu_odom_: 1691062939.559943871 0.191536 -0.196325 9.91678 -0.0372843 0.00213053 0.0340885 0.19 0 pose: 0.0 -4.52868 0.169646 0 -0.00482801 0.000996056 -0.00652685 0.999967 uwb: 0.0 842.015 1498.06 -imu_odom_: 1691062939.585085543 0.423774 -0.280122 9.28471 -0.0596548 -0.0468716 0.04048 0.19 0 pose: 0.26015454 -4.51897 0.167233 0 -0.00420155 0.000356385 -0.00642464 0.99997 uwb: 0.50118270 841.836 1497.11 -imu_odom_: 1691062939.609078698 0.466869 -0.363919 9.4571 -0.0798948 -0.0458064 0.0649811 0.19 0 pose: 0.0 -4.51897 0.167233 0 -0.00420155 0.000356385 -0.00642464 0.99997 uwb: 0.0 841.836 1497.11 -imu_odom_: 1691062939.626066425 0.306458 -0.354342 9.95988 -0.0500674 0.00106526 0.0479369 0.19 0 pose: 0.47978436 -4.51897 0.167233 0 -0.00432153 -0.00167486 -0.00636842 0.999969 uwb: 0.0 841.836 1497.11 -imu_odom_: 1691062939.650070662 0.557849 -0.229843 10.2999 -0.0394148 -0.0447411 0.0468716 0.19 0 pose: 0.0 -4.51897 0.167233 0 -0.00432153 -0.00167486 -0.00636842 0.999969 uwb: 0.49865993 844.694 1497.13 -imu_odom_: 1691062939.674990680 0.553061 -0.177171 9.91678 -0.0511327 0.0106526 0.0383495 0.19 0.02 pose: 0.24880937 -4.50927 0.164822 0 -0.00614196 -0.00196161 -0.0061145 0.999961 uwb: 0.0 844.694 1497.13 -imu_odom_: 1691062939.700976970 0.380678 -0.292093 9.95988 -0.0777643 -0.0106526 0.0735032 0.23 -0.02 pose: 0.16095861 -4.50927 0.164822 0 -0.00573215 -0.00171821 -0.00604818 0.999964 uwb: 0.49983236 845.408 1496.37 -imu_odom_: 1691062939.717085372 0.0790087 -0.272939 9.80186 -0.0532632 -0.0340885 0.0479369 0.23 -0.02 pose: 0.0 -4.50927 0.164822 0 -0.00573215 -0.00171821 -0.00604818 0.999964 uwb: 0.0 845.408 1496.37 -imu_odom_: 1691062939.742934295 0.56982 -0.248997 10.2352 -0.0596548 -0.036219 0.0617853 0.24 0 pose: 0.49919365 -4.49956 0.162417 0 -0.00268709 -0.00383021 -0.00588435 0.999972 uwb: 0.50136061 846.107 1495.65 -imu_odom_: 1691062939.767981472 0.629675 -0.325611 10.1778 -0.0319579 -0.0532632 0.0340885 0.24 0 pose: 0.0 -4.49956 0.162417 0 -0.00268709 -0.00383021 -0.00588435 0.999972 uwb: 0.0 846.107 1495.65 -imu_odom_: 1691062939.793974470 0.708684 -0.323217 9.62469 -0.0809601 0 0.0617853 0.2 0.02 pose: 0.41947992 -4.48746 0.169723 0 -0.00315995 -0.00167101 -0.00541543 0.999979 uwb: 0.49877950 842.073 1493.39 -imu_odom_: 1691062939.809967379 0.509965 -0.251391 9.88326 -0.0745685 -0.015979 0.0479369 0.2 0.02 pose: 0.0 -4.48746 0.169723 0 -0.00315995 -0.00167101 -0.00541543 0.999979 uwb: 0.0 842.073 1493.39 -imu_odom_: 1691062939.835923920 0.52433 -0.696713 10.2137 0.0149137 -0.0170442 0.00426106 0.22 0 pose: 0.50987970 -4.47775 0.167331 0 -0.00370062 -0.00744076 -0.00520394 0.999952 uwb: 0.49999860 841.149 1491.84 -imu_odom_: 1691062939.859911534 0.0646434 0.011971 10.0461 -0.0426106 -0.0191748 0.0628506 0.22 0 pose: 0.0 -4.47775 0.167331 0 -0.00370062 -0.00744076 -0.00520394 0.999952 uwb: 0.0 841.149 1491.84 -imu_odom_: 1691062939.885923489 0.596156 -0.246603 9.91199 -0.0884169 -0.00213053 0.0575243 0.21 -0.02 pose: 0.40992839 -4.46804 0.164945 0 -0.00409084 -0.00788797 -0.00505966 0.999948 uwb: 0.49998402 841.902 1490.97 -imu_odom_: 1691062939.908925034 0.727837 -0.167594 10.2496 -0.0458064 -0.0223706 0.0181095 0.21 -0.02 pose: 0.0 -4.46804 0.164945 0 -0.00409084 -0.00788797 -0.00505966 0.999948 uwb: 0.0 841.902 1490.97 -imu_odom_: 1691062939.927108817 0.713472 -0.407014 8.89207 -0.0596548 -0.0127832 0.0298274 0.19 0 pose: 0.50995552 -4.45833 0.16256 0 -0.00355762 -0.00670702 -0.00502668 0.999959 uwb: 0.0 841.902 1490.97 -imu_odom_: 1691062939.951979254 -0.0622492 -0.232238 10.24 -0.0234358 -0.015979 0.0266316 0.19 0 pose: 0.0 -4.45833 0.16256 0 -0.00355762 -0.00670702 -0.00502668 0.999959 uwb: 0.49986444 843.488 1490.44 -imu_odom_: 1691062939.976907438 0.244209 -0.397437 9.9527 -0.0543285 -0.0245011 0.0447411 0.22 -0.02 pose: 0.49210656 -4.44861 0.160175 0 -0.00225317 -0.0109147 -0.00517396 0.999925 uwb: 0.0 843.488 1490.44 -imu_odom_: 1691062940.1064792 0.337582 -0.1652 9.65821 -0.0415453 -0.00639159 0.0383495 0.22 -0.02 pose: 0.42833732 -4.44623 0.169886 0 -0.00278842 -0.00856355 -0.00534054 0.999945 uwb: 0.50054107 839.924 1488.32 -imu_odom_: 1691062940.17062951 0.469264 -0.234632 10.0293 -0.0820254 0.00426106 0.0468716 0.19 -0.02 pose: 0.41103958 -4.43652 0.167495 0 -0.0020358 -0.00508053 -0.0053018 0.999971 uwb: 0.0 839.924 1488.32 -imu_odom_: 1691062940.42908666 0.332794 -0.162806 9.65582 -0.0639159 0.00106526 0.0468716 0.19 -0.02 pose: 0.0 -4.43652 0.167495 0 -0.0020358 -0.00508053 -0.0053018 0.999971 uwb: 0.50007735 836.622 1486.88 -imu_odom_: 1691062940.69055071 0.497994 -0.373495 10.4531 -0.0649811 -0.0287621 0.0500674 0.26 0.02 pose: 0.24054985 -4.42681 0.165105 0 -0.00108253 -0.00290194 -0.00521722 0.999982 uwb: 0.0 836.622 1486.88 -imu_odom_: 1691062940.93939800 0.608127 -0.0646434 10.5345 -0.0617853 -0.0117179 0.0415453 0.23 -0.02 pose: 0.0 -4.42681 0.165105 0 -0.00108253 -0.00290194 -0.00521722 0.999982 uwb: 0.49916449 837.375 1486.04 -imu_odom_: 1691062940.117971161 0.744597 -0.215478 10.0365 -0.0298274 -0.0245011 0.015979 0.23 -0.02 pose: 0.50942473 -4.4171 0.162717 0 -0.00225384 -0.00311097 -0.00500958 0.99998 uwb: 0.0 837.375 1486.04 -imu_odom_: 1691062940.135063590 0.143652 0.00957681 9.65103 -0.0532632 0.0149137 0.0553937 0.23 -0.02 pose: 0.0 -4.4171 0.162717 0 -0.00225384 -0.00311097 -0.00500958 0.99998 uwb: 0.49990236 839.372 1485.69 -imu_odom_: 1691062940.161101794 0.299275 -0.306458 9.5385 -0.0500674 0.0245011 0.0340885 0.18 0 pose: 0.48990169 -4.4171 0.162717 0 -4.88351e-05-0.00619515 -0.00522968 0.999967 uwb: 0.0 839.372 1485.69 -imu_odom_: 1691062940.184955540 0.126893 -0.306458 9.67018 -0.0532632 -0.0106526 0.0575243 0.23 0 pose: 0.36049375 -4.40568 0.167259 0 -0.000604863-0.00253145 -0.00521978 0.999983 uwb: 0.50158227 838.68 1484.94 -imu_odom_: 1691062940.198887360 0.502782 -0.35913 9.71328 -0.0394148 -0.0106526 0.036219 0.23 0 pose: 0.0 -4.40568 0.167259 0 -0.000604863-0.00253145 -0.00521978 0.999983 uwb: 0.0 838.68 1484.94 -imu_odom_: 1691062940.223225829 0.519542 -0.0454898 10.3789 -0.0447411 -0.0149137 0.0660464 0.17 0 pose: 0.0 -4.40568 0.167259 0 -0.000604863-0.00253145 -0.00521978 0.999983 uwb: 0.0 838.68 1484.94 -imu_odom_: 1691062940.249927244 0.517148 -0.0335188 10.5177 -0.0553937 0.0138484 0.036219 0.17 0 pose: 0.45809436 -4.39529 0.16765 0 -0.00136513 -0.00153983 -0.00492205 0.999986 uwb: 0.49861326 838.517 1484.02 -imu_odom_: 1691062940.274902093 0.215478 -0.500388 9.56962 -0.0862864 0.036219 0.072438 0.19 0 pose: 0.43016014 -4.38846 0.165975 0 0.00271458 -0.00299689 -0.00475932 0.99998 uwb: 0.0 838.517 1484.02 -imu_odom_: 1691062940.299937021 0.746991 -0.1652 9.7851 -0.0532632 0.0266316 0.0287621 0.19 0 pose: 0.8024453 -4.38557 0.165268 0 0.00194226 -0.00236029 -0.00462678 0.999985 uwb: 0.49997236 841.301 1484.08 -imu_odom_: 1691062940.312868774 -0.0766145 -0.277727 9.74679 -0.0809601 0.04048 0.0628506 0.2 -0.02 pose: 0.0 -4.38557 0.165268 0 0.00194226 -0.00236029 -0.00462678 0.999985 uwb: 0.0 841.301 1484.08 -imu_odom_: 1691062940.329961494 0.287304 -0.337582 10.4148 -0.0681769 -0.0117179 0.0628506 0.2 -0.02 pose: 0.47923606 -4.37586 0.162891 0 0.000504414 -0.00239379 -0.00441279 0.999987 uwb: 0.0 841.301 1484.08 -imu_odom_: 1691062940.355034045 0.711078 0.0430956 10.3932 -0.056459 -0.0138484 0.0330232 0.18 0.02 pose: 0.0 -4.37586 0.162891 0 0.000504414 -0.00239379 -0.00441279 0.999987 uwb: 0.49987612 841.77 1482.65 -imu_odom_: 1691062940.379021659 0.392649 -0.483629 9.6199 -0.0458064 0.0223706 0.0223706 0.18 0.02 pose: 0.31200988 -4.37586 0.162891 0 -0.000437708-0.000877856-0.0041557 0.999991 uwb: 0.0 841.77 1482.65 -imu_odom_: 1691062940.403950718 0.557849 -0.241814 10.0293 -0.0628506 -0.0394148 0.0543285 0.25 0 pose: 0.0 -4.37586 0.162891 0 -0.000437708-0.000877856-0.0041557 0.999991 uwb: 0.50129936 842.868 1482.14 -imu_odom_: 1691062940.427048509 1.02951 -0.126893 9.91918 -0.0532632 0.0223706 0.04048 0.25 0 pose: 0.49867160 -4.36377 0.170238 0 -0.00149833 -0.00244639 -0.00435955 0.999986 uwb: 0.0 842.868 1482.14 -imu_odom_: 1691062940.442921550 0.641646 -0.253785 9.95748 -0.0532632 0.00639159 0.0436758 0.2 0 pose: 0.0 -4.36377 0.170238 0 -0.00149833 -0.00244639 -0.00435955 0.999986 uwb: 0.50004819 843.195 1481.14 -imu_odom_: 1691062940.468915423 0.318429 -0.452504 9.98622 -0.0351537 -0.0117179 0.0394148 0.2 0 pose: 0.48143510 -4.35406 0.167866 0 -0.00116627 -0.00714939 -0.00421531 0.999965 uwb: 0.0 843.195 1481.14 -imu_odom_: 1691062940.485024408 0.68953 0.0502782 9.9527 -0.0436758 -0.0330232 0.0468716 0.2 0 pose: 0.0 -4.35406 0.167866 0 -0.00116627 -0.00714939 -0.00421531 0.999965 uwb: 0.49983819 843.914 1480.36 -imu_odom_: 1691062940.510026672 0.840365 -0.047884 10.1107 -0.0394148 -0.0479369 0.0458064 0.2 0 pose: 0.41080626 -4.34434 0.165496 0 -0.0020666 -0.00646873 -0.00416091 0.999968 uwb: 0.0 843.914 1480.36 -imu_odom_: 1691062940.534019827 0.617704 -0.007182619.35654 -0.0532632 0.0149137 0.0436758 0.17 0.02 pose: 0.0 -4.34434 0.165496 0 -0.0020666 -0.00646873 -0.00416091 0.999968 uwb: 0.49994028 843.322 1479.33 -imu_odom_: 1691062940.556912879 0.134075 -0.318429 9.77553 -0.0543285 0.0223706 0.0340885 0.17 0.02 pose: 0.40889012 -4.33463 0.163129 0 0.00100876 -0.00973041 -0.00405805 0.999944 uwb: 0.0 843.322 1479.33 -imu_odom_: 1691062940.575121160 0.349553 -0.0287304 10.3932 -0.0607201 -0.0340885 0.0575243 0.25 0 pose: 0.0 -4.33463 0.163129 0 0.00100876 -0.00973041 -0.00405805 0.999944 uwb: 0.0 843.322 1479.33 -imu_odom_: 1691062940.598919785 0.732626 -0.0837971 9.84975 -0.0458064 -0.0649811 0.04048 0.25 0 pose: 0.47993310 -4.32491 0.160762 0 0.00243015 -0.0068566 -0.004032 0.999965 uwb: 0.49947072 842.727 1478.32 -imu_odom_: 1691062940.621936205 0.416591 -0.110133 9.97424 -0.0319579 -0.0223706 0.0287621 0.23 0 pose: 0.0 -4.32491 0.160762 0 0.00243015 -0.0068566 -0.004032 0.999965 uwb: 0.0 842.727 1478.32 -imu_odom_: 1691062940.647865331 0.409408 -0.31364 10.2304 -0.0340885 -0.0330232 0.036219 0.23 0 pose: 0.40891637 -4.32255 0.170478 0 0.00406376 -0.00853407 -0.00397803 0.999947 uwb: 0.50055274 843.013 1477.44 -imu_odom_: 1691062940.671915358 0.768539 -0.287304 10.331 -0.0543285 -0.0319579 0.0479369 0.2 0.02 pose: 0.41923785 -4.3128 0.168097 0 0.00269107 -0.00595365 -0.00410731 0.99997 uwb: 0.0 843.013 1477.44 -imu_odom_: 1691062940.686860953 0.155623 -0.0287304 9.61033 -0.0468716 -0.0106526 0.0426106 0.2 0.02 pose: 0.0 -4.3128 0.168097 0 0.00269107 -0.00595365 -0.00410731 0.99997 uwb: 0.49869493 842.006 1476.3 -imu_odom_: 1691062940.705191144 0.392649 -0.150835 10.07 -0.0426106 -0.0138484 0.0436758 0.25 0.02 pose: 0.0 -4.3128 0.168097 0 0.00269107 -0.00595365 -0.00410731 0.99997 uwb: 0.0 842.006 1476.3 -imu_odom_: 1691062940.729010184 0.514753 -0.280122 9.60793 -0.0426106 -0.0308927 0.0330232 0.25 0.02 pose: 0.46992368 -4.30314 0.165648 0 0.00233464 -0.00631191 -0.00396469 0.999969 uwb: 0.0 842.006 1476.3 -imu_odom_: 1691062940.755066761 0.629675 -0.112527 9.93115 -0.0607201 -0.0298274 0.0713727 0.23 0.02 pose: 0.34152485 -4.29671 0.164016 0 0.000317415 -0.00586419 -0.00401131 0.999975 uwb: 0.50117104 843.97 1475.93 -imu_odom_: 1691062940.779919117 0.840365 -0.0814029 10.2759 -0.0628506 -0.0117179 0.036219 0.23 0.02 pose: 0.8105531 -4.29345 0.163186 0 0.000819636 -0.00658631 -0.00388549 0.99997 uwb: 0.0 843.97 1475.93 -imu_odom_: 1691062940.805964903 0.782904 -0.225055 9.68455 -0.0798948 -0.0223706 0.0617853 0.19 0.02 pose: 0.42803402 -4.28685 0.161514 0 0.00264089 -0.0106336 -0.00365148 0.999933 uwb: 0.49878826 844.16 1475.35 -imu_odom_: 1691062940.829987224 1.23062 -0.0742203 10.0437 -0.0436758 -0.036219 0.0340885 0.2 0 pose: 0.0 -4.28685 0.161514 0 0.00264089 -0.0106336 -0.00365148 0.999933 uwb: 0.0 844.16 1475.35 -imu_odom_: 1691062940.855864437 0.624887 -0.280122 9.71806 -0.0756338 0.0149137 0.0575243 0.2 0 pose: 0.33998202 -4.28375 0.16073 0 0.00164582 -0.014233 -0.00337277 0.999892 uwb: 0.49993153 844.023 1474.36 -imu_odom_: 1691062940.869908833 0.514753 -0.232238 9.99819 -0.0798948 -0.00213053 0.0436758 0.2 0 pose: 0.0 -4.28375 0.16073 0 0.00164582 -0.014233 -0.00337277 0.999892 uwb: 0.0 844.023 1474.36 -imu_odom_: 1691062940.892854091 0.368707 -0.134075 10.0317 -0.076699 -0.00639159 0.0436758 0.2 0.02 pose: 0.47944604 -4.27161 0.167975 0 -0.000340423-0.0135668 -0.00314858 0.999903 uwb: 0.49982945 842.376 1472.41 -imu_odom_: 1691062940.918050593 0.517148 -0.280122 9.81862 -0.0585895 0.0213053 0.0255663 0.23 -0.02 pose: 0.0 -4.27161 0.167975 0 -0.000340423-0.0135668 -0.00314858 0.999903 uwb: 0.0 842.376 1472.41 -imu_odom_: 1691062940.933055101 0.512359 -0.272939 10.0054 -0.0671117 -0.00852212 0.0607201 0.23 -0.02 pose: 0.30992168 -4.26516 0.166361 0 -5.8985e-05 -0.0105915 -0.00309635 0.999939 uwb: 0.50133727 839.247 1470.81 -imu_odom_: 1691062940.956895140 0.471658 -0.141258 9.79707 -0.072438 -0.0426106 0.0351537 0.23 -0.02 pose: 0.0 -4.26516 0.166361 0 -5.8985e-05 -0.0105915 -0.00309635 0.999939 uwb: 0.0 839.247 1470.81 -imu_odom_: 1691062940.983122333 0.35913 -0.260968 10.3214 -0.0575243 -0.0394148 0.0308927 0.18 0 pose: 0.8160070 -4.26191 0.165551 0 -0.000541976-0.00982008 -0.00314867 0.999947 uwb: 0.0 839.247 1470.81 -imu_odom_: 1691062941.119392 0.301669 -0.320823 9.46188 -0.0553937 -0.00213053 0.0308927 0.18 0 pose: 0.0 -4.26191 0.165551 0 -0.000541976-0.00982008 -0.00314867 0.999947 uwb: 0.0 839.247 1470.81 -imu_odom_: 1691062941.26120848 0.0574608 -0.344765 10.4196 -0.0575243 0.0234358 0.0532632 0.19 -0.02 pose: 0.39845780 -4.25219 0.163202 0 -0.00172001 -0.00668596 -0.00311346 0.999971 uwb: 0.0 839.247 1470.81 -imu_odom_: 1691062941.50850127 0.416591 -0.275333 9.79947 -0.036219 0.0426106 0.0191748 0.18 -0.02 pose: 0.50280720 -4.24247 0.160854 0 -0.0013847 -0.0033829 -0.0032991 0.999988 uwb: 0.99880729 837.431 1469.44 -imu_odom_: 1691062941.76838459 0.555455 -0.0861913 9.77792 -0.0532632 -0.0149137 0.0511327 0.18 -0.02 pose: 0.0 -4.24247 0.160854 0 -0.0013847 -0.0033829 -0.0032991 0.999988 uwb: 0.0 837.431 1469.44 -imu_odom_: 1691062941.90845525 0.287304 -0.102951 9.80904 -0.0447411 -0.0149137 0.0245011 0.2 -0.05 pose: 0.43863840 -4.24247 0.160854 0 -0.00283171 -0.00017858 -0.00324554 0.999991 uwb: 0.50045650 840.021 1468.56 -imu_odom_: 1691062941.114836930 0.272939 0.0574608 9.75877 -0.0788296 0.0117179 0.0639159 0.2 -0.05 pose: 0.0 -4.24247 0.160854 0 -0.00283171 -0.00017858 -0.00324554 0.999991 uwb: 0.0 840.021 1468.56 -imu_odom_: 1691062941.139987061 0.871489 -0.21069 9.97903 -0.056459 0 0.0351537 0.25 0 pose: 0.47993019 -4.23039 0.168223 0 -0.00100135 -0.00222282 -0.00331511 0.999992 uwb: 0.49938031 839.045 1467.41 -imu_odom_: 1691062941.164910871 0.277727 -0.426168 9.68933 -0.0575243 0.0276969 0.0511327 0.25 0 pose: 0.0 -4.23039 0.168223 0 -0.00100135 -0.00222282 -0.00331511 0.999992 uwb: 0.0 839.045 1467.41 -imu_odom_: 1691062941.182045297 -0.035913 -0.387861 9.77313 -0.0330232 -0.0213053 0.0298274 0.18 0 pose: 0.39842573 -4.22068 0.165871 0 0.00130222 -0.00105669 -0.00310276 0.999994 uwb: 0.49868619 841.815 1467.31 -imu_odom_: 1691062941.205178377 0.964863 -0.191536 10.0485 -0.056459 -0.0671117 0.0553937 0.18 0 pose: 0.0 -4.22068 0.165871 0 0.00130222 -0.00105669 -0.00310276 0.999994 uwb: 0.0 841.815 1467.31 -imu_odom_: 1691062941.230040941 0.746991 -0.296881 9.45949 -0.04048 0.015979 0.0308927 0.2 0 pose: 0.50040984 -4.21095 0.163524 0 -0.000974551-0.000139941-0.00302828 0.999995 uwb: 0.0 841.815 1467.31 -imu_odom_: 1691062941.253873397 0.445322 -0.363919 9.33499 -0.0596548 -0.0298274 0.0553937 0.2 0 pose: 0.0 -4.21095 0.163524 0 -0.000974551-0.000139941-0.00302828 0.999995 uwb: 0.50002194 841.769 1466.11 -imu_odom_: 1691062941.278891410 0.277727 -0.177171 10.0748 -0.0340885 0.0330232 0.0340885 0.25 0 pose: 0.40124598 -4.20123 0.161179 0 -0.00111181 -0.00307603 -0.00292501 0.99999 uwb: 0.0 841.769 1466.11 -imu_odom_: 1691062941.292867269 0.433351 0.0837971 10.0916 -0.056459 -0.00532632 0.0703074 0.25 0 pose: 0.0 -4.20123 0.161179 0 -0.00111181 -0.00307603 -0.00292501 0.99999 uwb: 0.50088231 839.283 1464.09 -imu_odom_: 1691062941.316866841 0.617704 0.00718261 10.5129 -0.0543285 0.02024 0.0372843 0.18 0 pose: 0.49052583 -4.19151 0.158835 0 -0.00318211 -0.00323023 -0.00282133 0.999986 uwb: 0.0 839.283 1464.09 -imu_odom_: 1691062941.333825694 0.282516 -0.31364 9.83777 -0.0703074 -0.0149137 0.0490022 0.18 0 pose: 0.0 -4.19151 0.158835 0 -0.00318211 -0.00323023 -0.00282133 0.999986 uwb: 0.49973905 836.743 1462.3 -imu_odom_: 1691062941.358823292 -0.21069 -0.426168 9.48822 -0.056459 0.0447411 0.0394148 0.18 0 pose: 0.37988555 -4.18917 0.168557 0 -0.000244326-0.00180232 -0.00266261 0.999995 uwb: 0.0 836.743 1462.3 -imu_odom_: 1691062941.382844445 0.292093 -0.244209 9.92636 -0.0820254 0.0181095 0.0681769 0.18 0 pose: 0.0 -4.18917 0.168557 0 -0.000244326-0.00180232 -0.00266261 0.999995 uwb: 0.50014735 836.25 1461.13 -imu_odom_: 1691062941.407969785 0.459687 -0.445322 10.0748 -0.0692422 0.0245011 0.0458064 0.25 0.02 pose: 0.42791152 -4.17945 0.166218 0 -0.000288405-0.000250116-0.00260474 0.999997 uwb: 0.0 836.25 1461.13 -imu_odom_: 1691062941.420970951 0.718261 -0.234632 10.0413 -0.0543285 -0.0181095 0.0372843 0.25 0.02 pose: 0.0 -4.17945 0.166218 0 -0.000288405-0.000250116-0.00260474 0.999997 uwb: 0.0 836.25 1461.13 -imu_odom_: 1691062941.439003951 0.371101 -0.213084 9.78989 -0.0713727 0.0234358 0.0511327 0.18 0 pose: 0.48009060 -4.16972 0.163879 0 -0.00223638 0.00395394 -0.00223896 0.999987 uwb: 0.50021735 837.826 1460.52 -imu_odom_: 1691062941.463977341 0.0407014 -0.268151 10.0389 -0.0372843 -0.00106526 0.036219 0.18 0 pose: 0.0 -4.16972 0.163879 0 -0.00223638 0.00395394 -0.00223896 0.999987 uwb: 0.0 837.826 1460.52 -imu_odom_: 1691062941.489838222 0.177171 -0.500388 9.52653 -0.052198 0.0223706 0.0511327 0.21 0 pose: 0.38136713 -4.16 0.161548 0 -0.00282524 0.00190605 -0.00216459 0.999992 uwb: 0.50017651 837.698 1459.6 -imu_odom_: 1691062941.513801337 0.409408 -0.344765 9.78271 -0.0458064 0.00532632 0.0458064 0.21 0 pose: 0.0 -4.16 0.161548 0 -0.00282524 0.00190605 -0.00216459 0.999992 uwb: 0.0 837.698 1459.6 -imu_odom_: 1691062941.531892667 0.392649 -0.122104 10.0365 -0.052198 -0.0287621 0.0458064 0.19 0 pose: 0.43028847 -4.16 0.161548 0 -0.00248005 0.00503295 -0.00209967 0.999982 uwb: 0.50001903 836.942 1457.91 -imu_odom_: 1691062941.556810061 0.476446 0.0383072 10.4196 -0.0553937 -0.00745685 0.0500674 0.19 0 pose: 0.0 -4.16 0.161548 0 -0.00248005 0.00503295 -0.00209967 0.999982 uwb: 0.0 836.942 1457.91 -imu_odom_: 1691062941.574939596 0.11971 -0.397437 9.69173 -0.0479369 0.0234358 0.0468716 0.25 0 pose: 0.49798331 -4.14795 0.168945 0 -0.00406028 0.00367027 -0.00191686 0.999983 uwb: 0.0 836.942 1457.91 -imu_odom_: 1691062941.598024846 0.435745 -0.397437 10.0221 -0.0372843 -0.00213053 0.0479369 0.25 0 pose: 0.0 -4.14795 0.168945 0 -0.00406028 0.00367027 -0.00191686 0.999983 uwb: 0.49993736 837.61 1457.3 -imu_odom_: 1691062941.624084049 0.521936 -0.215478 10.1251 -0.04048 -0.0319579 0.0372843 0.2 -0.02 pose: 0.43103801 -4.13824 0.166523 0 -0.0012441 0.00292883 -0.00171894 0.999993 uwb: 0.0 837.61 1457.3 -imu_odom_: 1691062941.641061568 0.153229 -0.124498 9.95988 -0.0394148 0.0276969 0.0500674 0.2 -0.02 pose: 0.0 -4.13824 0.166523 0 -0.0012441 0.00292883 -0.00171894 0.999993 uwb: 0.0 837.61 1457.3 -imu_odom_: 1691062941.665825845 0.548272 -0.37589 10.1562 -0.0649811 0.0223706 0.0458064 0.25 0 pose: 0.41103375 -4.12854 0.164104 0 -0.00306658 0.00168823 -0.00160794 0.999993 uwb: 0.0 837.61 1457.3 -imu_odom_: 1691062941.688903220 0.624887 -0.19393 10.1107 -0.0426106 0.0191748 0.0298274 0.25 0 pose: 0.0 -4.12854 0.164104 0 -0.00306658 0.00168823 -0.00160794 0.999993 uwb: 0.100173546 837.112 1456.17 -imu_odom_: 1691062941.713876027 0.349553 -0.237026 9.34936 -0.0617853 -0.0234358 0.04048 0.18 0.02 pose: 0.42810694 -4.11884 0.161688 0 -0.00184213 0.00101657 -0.00151803 0.999997 uwb: 0.0 837.112 1456.17 -imu_odom_: 1691062941.731801117 0.129287 -0.234632 9.91678 -0.0298274 0.0138484 0.0458064 0.18 0.02 pose: 0.0 -4.11884 0.161688 0 -0.00184213 0.00101657 -0.00151803 0.999997 uwb: 0.0 837.112 1456.17 -imu_odom_: 1691062941.755854935 0.282516 -0.320823 9.80904 -0.0532632 -0.0106526 0.0426106 0.2 -0.02 pose: 0.49009710 -4.10913 0.159274 0 -0.00190796 -0.00121312 -0.00158289 0.999996 uwb: 0.49855203 835.169 1454.1 -imu_odom_: 1691062941.782073379 0.715866 -0.122104 10.2065 -0.0458064 -0.0458064 0.0447411 0.2 -0.02 pose: 0.0 -4.10913 0.159274 0 -0.00190796 -0.00121312 -0.00158289 0.999996 uwb: 0.50224139 835.538 1453.08 -imu_odom_: 1691062941.807875055 0.457293 -0.354342 10.1251 -0.0500674 0.0319579 0.0298274 0.2 0.02 pose: 0.84234883 -4.09701 0.166564 0 -0.00197173 0.000803869 -0.00141411 0.999997 uwb: 0.0 835.538 1453.08 -imu_odom_: 1691062941.832815780 0.399832 -0.368707 10.094 -0.076699 -0.0127832 0.0703074 0.2 0.02 pose: 0.0 -4.09701 0.166564 0 -0.00197173 0.000803869 -0.00141411 0.999997 uwb: 0.0 835.538 1453.08 -imu_odom_: 1691062941.847929365 0.138864 -0.40462 9.73004 -0.056459 -0.0447411 0.0500674 0.21 -0.02 pose: 0.25801676 -4.09035 0.164906 0 -0.00401835 -0.00020649 -0.00154552 0.999991 uwb: 0.0 835.538 1453.08 -imu_odom_: 1691062941.871846692 0.344765 -0.227449 9.94312 -0.056459 -0.0298274 0.0479369 0.21 -0.02 pose: 0.0 -4.09035 0.164906 0 -0.00401835 -0.00020649 -0.00154552 0.999991 uwb: 0.0 835.538 1453.08 -imu_odom_: 1691062941.897798859 0.708684 -0.392649 10.1778 -0.0415453 -0.0479369 0.0308927 0.18 -0.02 pose: 0.48000309 -4.0776 0.161738 0 -0.00634783 0.00123548 -0.00103275 0.999979 uwb: 0.99723530 833.53 1451.25 -imu_odom_: 1691062941.921854719 0.316035 -0.155623 9.52413 -0.0703074 -0.0127832 0.0639159 0.19 0 pose: 0.41923495 -4.07092 0.160082 0 -0.00525514 -0.00162137 -0.00108306 0.999984 uwb: 0.0 833.53 1451.25 -imu_odom_: 1691062941.939798182 0.521936 -0.201113 9.99819 -0.0788296 -0.0106526 0.0458064 0.19 0 pose: 0.8076075 -4.0679 0.159333 0 -0.00466745 -0.00117297 -0.00098323 0.999988 uwb: 0.49977113 835.453 1450.88 -imu_odom_: 1691062941.963793379 0.229843 0.023942 10.0365 -0.0777643 0.0149137 0.0383495 0.18 0 pose: 0.0 -4.0679 0.159333 0 -0.00466745 -0.00117297 -0.00098323 0.999988 uwb: 0.0 835.453 1450.88 -imu_odom_: 1691062941.981775632 0.260968 -0.316035 10.1897 -0.052198 -0.00639159 0.036219 0.18 0 pose: 0.33923248 -4.06656 0.164721 0 -0.0026551 -0.00179415 -0.0007350920.999995 uwb: 0.49994028 835.006 1449.66 -imu_odom_: 1691062942.4896754 0.337582 -0.244209 10.2903 -0.0585895 -0.0191748 0.0479369 0.18 0 pose: 0.0 -4.06656 0.164721 0 -0.0026551 -0.00179415 -0.0007350920.999995 uwb: 0.0 835.006 1449.66 -imu_odom_: 1691062942.30792342 0.557849 -0.225055 10.1275 -0.0745685 -0.0181095 0.0308927 0.18 -0.02 pose: 0.50050608 -4.05581 0.166749 0 -0.00167682 0.00211746 -0.0007437540.999996 uwb: 0.0 835.006 1449.66 -imu_odom_: 1691062942.54865701 0.584185 -0.42138 9.54089 -0.0777643 0.0127832 0.0415453 0.17 0 pose: 0.40943552 -4.04608 0.164447 0 -0.00144977 0.000716965 -0.0007918370.999998 uwb: 0.50029026 836.025 1449.31 -imu_odom_: 1691062942.80926945 0.620098 -0.241814 9.71328 -0.0330232 0.036219 0.0319579 0.17 0 pose: 0.8005496 -4.04608 0.164447 0 -0.00208327 0.000196345 -0.0007852510.999998 uwb: 0.0 836.025 1449.31 -imu_odom_: 1691062942.105156046 0.608127 -0.265756 9.43555 -0.0777643 0.0383495 0.0436758 0.2 -0.02 pose: 0.42129107 -4.03932 0.162848 0 -0.00258985 -0.00288633 -0.0008818820.999992 uwb: 0.50006861 836.565 1447.83 -imu_odom_: 1691062942.121789127 0.174777 -0.196325 9.88805 -0.0298274 0.0223706 0.0245011 0.2 -0.02 pose: 0.0 -4.03932 0.162848 0 -0.00258985 -0.00288633 -0.0008818820.999992 uwb: 0.0 836.565 1447.83 -imu_odom_: 1691062942.138834017 0.143652 -0.0861913 9.97185 -0.0479369 0.00319579 0.036219 0.19 -0.02 pose: 0.0 -4.03932 0.162848 0 -0.00258985 -0.00288633 -0.0008818820.999992 uwb: 0.50071899 840.485 1447.97 -imu_odom_: 1691062942.155840701 0.268151 -0.617704 9.97185 -0.0660464 0.0191748 0.0415453 0.19 -0.02 pose: 0.48907633 -4.02661 0.159838 0 -0.0018993 -0.00221612 -0.0009756770.999995 uwb: 0.0 840.485 1447.97 -imu_odom_: 1691062942.179790693 0.186748 -0.122104 9.94551 -0.0511327 -0.0170442 0.0426106 0.19 0 pose: 0.0 -4.02661 0.159838 0 -0.0018993 -0.00221612 -0.0009756770.999995 uwb: 0.0 840.485 1447.97 -imu_odom_: 1691062942.205913475 0.54109 -0.287304 10.2448 -0.0660464 -0.0394148 0.04048 0.19 0 pose: 0.33956497 -4.02431 0.169568 0 -0.00261974 9.24166e-05 -0.0009567820.999996 uwb: 0.49916450 840.323 1447.19 -imu_odom_: 1691062942.220879194 0.711078 -0.335188 9.61511 -0.0468716 0.00958738 0.0213053 0.19 0 pose: 0.0 -4.02431 0.169568 0 -0.00261974 9.24166e-05 -0.0009567820.999996 uwb: 0.0 840.323 1447.19 -imu_odom_: 1691062942.246819404 0.299275 -0.407014 9.69652 -0.0436758 -0.00213053 0.0394148 0.19 -0.02 pose: 0.49054041 -4.01458 0.167262 0 -0.00257748 -0.00231141 -0.0009856830.999994 uwb: 0.49997237 843.287 1447.49 -imu_odom_: 1691062942.271832167 0.565032 -0.277727 10.0149 -0.0575243 -0.0266316 0.052198 0.19 0.02 pose: 0.33974288 -4.00485 0.164956 0 -0.00429601 -0.00103574 -0.0010519 0.99999 uwb: 0.0 843.287 1447.49 -imu_odom_: 1691062942.288815519 0.366313 -0.237026 9.77553 -0.0500674 -0.0234358 0.0490022 0.19 0.02 pose: 0.0 -4.00485 0.164956 0 -0.00429601 -0.00103574 -0.0010519 0.99999 uwb: 0.49863078 841.667 1445.87 -imu_odom_: 1691062942.313768495 0.191536 -0.172383 9.71567 -0.0575243 0.0234358 0.0500674 0.19 0 pose: 0.8118947 -4.00485 0.164956 0 -0.00418116 -0.00193017 -0.00100388 0.999989 uwb: 0.0 841.667 1445.87 -imu_odom_: 1691062942.338902876 0.557849 -0.237026 9.87608 -0.0319579 -0.0468716 0.0436758 0.19 0 pose: 0.0 -4.00485 0.164956 0 -0.00418116 -0.00193017 -0.00100388 0.999989 uwb: 0.49995778 841.687 1444.58 -imu_odom_: 1691062942.361977335 0.320823 -0.143652 10.1131 -0.0798948 0.00852212 0.0671117 0.19 0 pose: 0.42857066 -3.99512 0.162649 0 -0.00282873 -0.00146809 -0.0007714660.999995 uwb: 0.0 841.687 1444.58 -imu_odom_: 1691062942.377972869 0.54109 -0.339977 9.87848 -0.0713727 -0.00532632 0.0532632 0.19 0 pose: 0.0 -3.99512 0.162649 0 -0.00282873 -0.00146809 -0.0007714660.999995 uwb: 0.0 841.687 1444.58 -imu_odom_: 1691062942.394936389 0.533907 -0.181959 9.7444 -0.0511327 -0.00213053 0.0458064 0.19 0 pose: 0.48124845 -3.98539 0.160347 0 -0.00128826 -0.00218326 -0.0005421220.999997 uwb: 0.50018236 845.879 1445.06 -imu_odom_: 1691062942.419905405 0.667982 -0.299275 9.59835 -0.0830906 0.00958738 0.0500674 0.25 0 pose: 0.0 -3.98539 0.160347 0 -0.00128826 -0.00218326 -0.0005421220.999997 uwb: 0.0 845.879 1445.06 -imu_odom_: 1691062942.446755854 0.0933739 -0.263362 9.59117 -0.0852212 0.0298274 0.0628506 0.24 0 pose: 0.39946693 -3.97336 0.167789 0 -0.00127175 -0.002603 -0.0001902440.999996 uwb: 0.49972446 842.784 1442.73 -imu_odom_: 1691062942.471803907 0.509965 -0.387861 10.0652 -0.0735032 0.0138484 0.0447411 0.24 0 pose: 0.0 -3.97336 0.167789 0 -0.00127175 -0.002603 -0.0001902440.999996 uwb: 0.0 842.784 1442.73 -imu_odom_: 1691062942.488904211 0.493206 -0.023942 10.24 -0.056459 -0.0170442 0.036219 0.23 0 pose: 0.85936952 -3.96362 0.165502 0 -0.00487932 -0.00322123 0.000347624 0.999983 uwb: 0.49983238 846.209 1442.86 -imu_odom_: 1691062942.512815121 0.371101 -0.318429 9.77553 -0.0575243 0.0287621 0.0308927 0.23 0 pose: 0.7012428 -3.96362 0.165502 0 -0.00418321 -0.00332613 0.000333498 0.999986 uwb: 0.0 846.209 1442.86 -imu_odom_: 1691062942.538811619 0.280122 -0.337582 9.61511 -0.0660464 -0.0319579 0.0479369 0.2 0 pose: 0.33998786 -3.95389 0.163222 0 -0.00414791 -0.0008809190.000218241 0.999991 uwb: 0.50067524 846.124 1441.86 -imu_odom_: 1691062942.552810519 0.196325 -0.481235 9.65342 -0.0585895 0.0276969 0.0511327 0.2 0 pose: 0.0 -3.95389 0.163222 0 -0.00414791 -0.0008809190.000218241 0.999991 uwb: 0.0 846.124 1441.86 -imu_odom_: 1691062942.575792816 0.481235 -0.174777 9.93354 -0.0447411 0 0.0500674 0.17 0.02 pose: 0.0 -3.95389 0.163222 0 -0.00414791 -0.0008809190.000218241 0.999991 uwb: 0.0 846.124 1441.86 -imu_odom_: 1691062942.592766836 0.538695 -0.196325 10.0293 -0.0511327 -0.0575243 0.0490022 0.17 0.02 pose: 0.39995398 -3.9487 0.162006 0 -0.00604551 0.00248791 0.00042297 0.999979 uwb: 0.50104564 843.793 1439.92 -imu_odom_: 1691062942.617813722 0.483629 0.0143652 10.2544 -0.0319579 -0.052198 0.04048 0.19 0 pose: 0.0 -3.9487 0.162006 0 -0.00604551 0.00248791 0.00042297 0.999979 uwb: 0.0 843.793 1439.92 -imu_odom_: 1691062942.643749849 0.782904 0.0574608 9.82102 -0.0426106 -0.0447411 0.0511327 0.19 0 pose: 0.39956317 -3.93933 0.159812 0 -0.00318001 -0.0007836530.000615539 0.999994 uwb: 0.50041567 842.879 1438.85 -imu_odom_: 1691062942.668785944 0.588974 0.0215478 9.70849 -0.0553937 0.00319579 0.0479369 0.19 0 pose: 0.50983013 -3.92542 0.166832 0 0.00137569 -0.00445453 0.00077162 0.999989 uwb: 0.0 842.879 1438.85 -imu_odom_: 1691062942.694030861 0.155623 -0.332794 9.7875 -0.052198 0.02024 0.0351537 0.19 0 pose: 0.0 -3.92542 0.166832 0 0.00137569 -0.00445453 0.00077162 0.999989 uwb: 0.50050026 841.76 1437.14 -imu_odom_: 1691062942.708762385 0.184354 -0.102951 10.3046 -0.0639159 -0.0138484 0.056459 0.18 -0.02 pose: 0.50281012 -3.9224 0.166126 0 0.00248363 -0.00290466 0.000811621 0.999992 uwb: 0.0 841.76 1437.14 -imu_odom_: 1691062942.732806871 0.270545 -0.143652 10.1203 -0.0447411 -0.0607201 0.0447411 0.18 -0.02 pose: 0.0 -3.9224 0.166126 0 0.00248363 -0.00290466 0.000811621 0.999992 uwb: 0.49873285 842.534 1436.2 -imu_odom_: 1691062942.759024148 0.581791 -0.134075 10.6686 -0.0436758 -0.0191748 0.036219 0.25 0 pose: 0.38776010 -3.91266 0.163856 0 0.00310056 0.000182295 0.000984554 0.999995 uwb: 0.0 842.534 1436.2 -imu_odom_: 1691062942.784791409 0.991199 0.0646434 10.1442 -0.0340885 -0.0181095 0.0330232 0.25 0 pose: 0.8014828 -3.91266 0.163856 0 0.00321458 -0.0006774230.00097338 0.999994 uwb: 0.50054692 838.266 1433.78 -imu_odom_: 1691062942.801748513 0.476446 -0.380678 9.55287 -0.0713727 -0.0660464 0.0575243 0.23 0 pose: 0.26109950 -3.90292 0.161587 0 0.00384734 -0.00342175 0.000923904 0.999986 uwb: 0.0 838.266 1433.78 -imu_odom_: 1691062942.826756027 0.490811 -0.282516 10.1011 -0.0468716 -0.0298274 0.0330232 0.23 0 pose: 0.0 -3.90292 0.161587 0 0.00384734 -0.00342175 0.000923904 0.999986 uwb: 0.0 838.266 1433.78 -imu_odom_: 1691062942.852885226 0.634463 -0.608127 9.7851 -0.0607201 -0.00426106 0.0500674 0.19 0 pose: 0.24984182 -3.90292 0.161587 0 0.00392504 -0.00536134 0.000935436 0.999977 uwb: 0.49993737 839.063 1432.8 -imu_odom_: 1691062942.878850226 0.282516 -0.0694318 9.80186 -0.0181095 0.0127832 0.0372843 0.18 0 pose: 0.60969395 -3.89089 0.169042 0 -0.00204937 -0.00621293 0.0011071 0.999978 uwb: 0.0 839.063 1432.8 -imu_odom_: 1691062942.894726767 0.577003 -0.337582 9.67497 -0.0809601 -0.00426106 0.0660464 0.18 0 pose: 0.0 -3.89089 0.169042 0 -0.00204937 -0.00621293 0.0011071 0.999978 uwb: 0.49939198 838.651 1431.59 -imu_odom_: 1691062942.919732822 0.208296 -0.294487 9.5792 -0.056459 0.0585895 0.0308927 0.18 -0.02 pose: 0.8031744 -3.89092 0.169058 0 -0.00141124 -0.00550688 0.00109695 0.999983 uwb: 0.0 838.651 1431.59 -imu_odom_: 1691062942.945791442 0.280122 -0.208296 10.1011 -0.0660464 -0.0479369 0.0596548 0.18 -0.02 pose: 0.0 -3.89092 0.169058 0 -0.00141124 -0.00550688 0.00109695 0.999983 uwb: 0.50191768 838.587 1430.62 -imu_odom_: 1691062942.961724563 1.19471 -0.258574 10.4124 -0.0415453 -0.0298274 0.0308927 0.18 -0.02 pose: 0.0 -3.89092 0.169058 0 -0.00141124 -0.00550688 0.00109695 0.999983 uwb: 0.0 838.587 1430.62 -imu_odom_: 1691062942.984726109 0.423774 -0.332794 9.61511 -0.0777643 -0.0245011 0.0607201 0.19 0 pose: 0.41831333 -3.8812 0.166695 0 -0.00157958 -0.00388572 0.00125506 0.99999 uwb: 0.49871827 839.964 1430.38 -imu_odom_: 1691062943.12067988 0.550666 -0.0814029 9.85932 -0.0575243 -0.0223706 0.0351537 0.25 0 pose: 0.81977806 -3.86498 0.16293 0 -0.00379839 -0.00156606 0.00162604 0.99999 uwb: 0.0 839.964 1430.38 -imu_odom_: 1691062943.37752421 0.600945 -0.40462 9.46667 -0.0852212 0.0127832 0.0436758 0.25 0 pose: 0.0 -3.86498 0.16293 0 -0.00379839 -0.00156606 0.00162604 0.99999 uwb: 0.49994029 838.831 1428.82 -imu_odom_: 1691062943.63999155 0.138864 -0.232238 9.77553 -0.056459 0.00639159 0.0458064 0.25 -0.02 pose: 0.8032036 -3.86172 0.162174 0 -0.00310689 -0.00203305 0.00160593 0.999992 uwb: 0.0 838.831 1428.82 -imu_odom_: 1691062943.86866835 0.184354 -0.131681 9.63666 -0.076699 -0.0511327 0.0447411 0.25 -0.02 pose: 0.0 -3.86172 0.162174 0 -0.00310689 -0.00203305 0.00160593 0.999992 uwb: 0.49865120 838.347 1427.84 -imu_odom_: 1691062943.103733235 0.859518 -0.0957681 10.0269 -0.0394148 -0.0181095 0.036219 0.18 0 pose: 0.53186720 -3.85197 0.159918 0 -0.00366072 -0.00375441 0.0016402 0.999985 uwb: 0.0 838.347 1427.84 -imu_odom_: 1691062943.128865575 0.620098 -0.124498 9.87608 -0.0553937 -0.00745685 0.0372843 0.18 0 pose: 0.0 -3.85197 0.159918 0 -0.00366072 -0.00375441 0.0016402 0.999985 uwb: 0.0 838.347 1427.84 -imu_odom_: 1691062943.153726098 0.588974 -0.153229 9.70131 -0.052198 0.00639159 0.0468716 0.19 -0.02 pose: 0.48928049 -3.83998 0.167406 0 -0.0021445 -0.00123391 0.00175114 0.999995 uwb: 0.49970697 837.375 1427.02 -imu_odom_: 1691062943.177703796 0.744597 -0.179565 10.3741 -0.0490022 0.02024 0.0276969 0.19 -0.02 pose: 0.0 -3.83998 0.167406 0 -0.0021445 -0.00123391 0.00175114 0.999995 uwb: 0.0 837.375 1427.02 -imu_odom_: 1691062943.193852447 0.402226 -0.237026 9.56244 -0.0340885 -0.00852212 0.0319579 0.25 0 pose: 0.65916943 -3.83023 0.165152 0 0.00114915 -0.00679231 0.00174191 0.999975 uwb: 0.49935990 836.312 1425.33 -imu_odom_: 1691062943.219711578 0.146046 -0.325611 10.4722 -0.0511327 -0.0319579 0.0426106 0.25 0 pose: 0.0 -3.83023 0.165152 0 0.00114915 -0.00679231 0.00174191 0.999975 uwb: 0.0 836.312 1425.33 -imu_odom_: 1691062943.244729883 0.0957681 -0.035913 9.94073 -0.0617853 -0.00639159 0.0500674 0.19 0 pose: 0.23919368 -3.83023 0.165152 0 0.0011823 -0.00761642 0.00161782 0.999969 uwb: 0.50026694 833.047 1422.77 -imu_odom_: 1691062943.271987476 1.34794 -0.514753 10.2496 -0.0596548 0.0628506 0.0330232 0.18 0 pose: 0.17012517 -3.82049 0.162896 0 0.000784482 -0.00612127 0.00159765 0.99998 uwb: 0.0 833.047 1422.77 -imu_odom_: 1691062943.287851768 -0.0670376 -0.0861913 9.15543 -0.0553937 0.0575243 0.0191748 0.18 0 pose: 0.0 -3.82049 0.162896 0 0.000784482 -0.00612127 0.00159765 0.99998 uwb: 0.50120605 833.006 1421.79 -imu_odom_: 1691062943.314791753 -0.155623 -0.435745 10.2113 -0.0276969 -0.0628506 0.0127832 0.24 0 pose: 0.51165003 -3.81075 0.160641 0 0.000875907 -0.00288731 0.00172771 0.999994 uwb: 0.0 833.006 1421.79 -imu_odom_: 1691062943.340777752 0.507571 -0.201113 10.7045 -0.0596548 -0.0330232 0.056459 0.24 0 pose: 0.0 -3.81075 0.160641 0 0.000875907 -0.00288731 0.00172771 0.999994 uwb: 0.49889036 835.122 1421.81 -imu_odom_: 1691062943.363729718 0.114922 -0.0837971 10.4028 -0.02024 -0.0255663 0.036219 0.25 -0.02 pose: 0.42992101 -3.8085 0.170383 0 0.000361845 -0.00149528 0.00139862 0.999998 uwb: 0.0 835.122 1421.81 -imu_odom_: 1691062943.380746027 0.397437 -0.304064 9.65103 -0.0532632 0.02024 0.0553937 0.25 -0.02 pose: 0.0 -3.8085 0.170383 0 0.000361845 -0.00149528 0.00139862 0.999998 uwb: 0.0 835.122 1421.81 -imu_odom_: 1691062943.405696378 0.823605 -0.181959 9.49062 -0.0436758 0.0276969 0.0287621 0.18 -0.02 pose: 0.51863212 -3.79875 0.168123 0 0.000627204 -0.00264667 0.00135264 0.999995 uwb: 0.49984113 832.749 1420.3 -imu_odom_: 1691062943.422735144 0.414197 0 10.3166 -0.0500674 -0.0138484 0.0575243 0.18 -0.02 pose: 0.0 -3.79875 0.168123 0 0.000627204 -0.00264667 0.00135264 0.999995 uwb: 0.0 832.749 1420.3 -imu_odom_: 1691062943.448862884 0.402226 -0.246603 10.6087 -0.0543285 0.02024 0.0351537 0.18 0 pose: 0.41965202 -3.78901 0.165862 0 -5.64808e-05-0.00141967 0.00141221 0.999998 uwb: 0.50024652 833.515 1419.44 -imu_odom_: 1691062943.475856534 0.011971 -0.373495 9.53132 -0.076699 0.0298274 0.0713727 0.18 0 pose: 0.0 -3.78901 0.165862 0 -5.64808e-05-0.00141967 0.00141221 0.999998 uwb: 0.0 833.515 1419.44 -imu_odom_: 1691062943.500831674 0.414197 -0.162806 10.0197 -0.0585895 0.0340885 0.0298274 0.18 0 pose: 0.41059628 -3.77927 0.163602 0 0.00124893 -0.00190483 0.00145677 0.999996 uwb: 0.50029318 831.333 1417.5 -imu_odom_: 1691062943.527756494 0.411803 -0.488417 10.1155 -0.0948085 0.0117179 0.0585895 0.23 0 pose: 0.52944942 -3.76953 0.161346 0 -0.0008385350.00206524 0.00181101 0.999996 uwb: 0.0 831.333 1417.5 -imu_odom_: 1691062943.543741238 0.146046 -0.428562 9.64384 -0.0628506 0.0330232 0.0330232 0.23 0 pose: 0.0 -3.76953 0.161346 0 -0.0008385350.00206524 0.00181101 0.999996 uwb: 0.50002196 829.239 1415.35 -imu_odom_: 1691062943.570961499 0.215478 -0.0766145 10.1634 -0.072438 -0.0127832 0.0607201 0.25 0 pose: 0.25134090 -3.76728 0.171089 0 -0.0004295260.00135523 0.00180432 0.999997 uwb: 0.0 829.239 1415.35 -imu_odom_: 1691062943.596928832 0.1652 -0.265756 9.84735 -0.0415453 0.00213053 0.0287621 0.25 0 pose: 0.43072595 -3.75753 0.168836 0 -0.00303409 0.0032624 0.00202169 0.999988 uwb: 0.50239015 831.492 1415 -imu_odom_: 1691062943.622757049 0.217872 -0.248997 9.55765 -0.0447411 -0.00852212 0.0500674 0.24 0 pose: 0.45010317 -3.74779 0.166588 0 -0.00174249 0.00684069 0.00209328 0.999973 uwb: 0.0 831.492 1415 -imu_odom_: 1691062943.648688218 0.0311246 -0.0837971 9.93354 -0.052198 0.0181095 0.04048 0.24 0 pose: 0.0 -3.74779 0.166588 0 -0.00174249 0.00684069 0.00209328 0.999973 uwb: 0.49875327 834.406 1415.09 -imu_odom_: 1691062943.673677066 0.0311246 -0.581791 9.90002 -0.056459 0.0117179 0.0426106 0.23 0.02 pose: 0.51759386 -3.73805 0.164342 0 4.81252e-05 0.0116174 0.00226167 0.99993 uwb: 0.0 834.406 1415.09 -imu_odom_: 1691062943.697701137 0.19393 -0.414197 10.082 -0.0532632 -0.00532632 0.052198 0.23 0.02 pose: 0.0 -3.73805 0.164342 0 4.81252e-05 0.0116174 0.00226167 0.99993 uwb: 0.49819914 834.986 1414.69 -imu_odom_: 1691062943.712699812 0.533907 -0.146046 9.84017 -0.0415453 -0.0394148 0.0511327 0.18 0 pose: 0.32357089 -3.73805 0.164342 0 -0.00299328 0.0125143 0.00230947 0.999915 uwb: 0.0 834.986 1414.69 -imu_odom_: 1691062943.737841777 0.675165 -0.0550666 9.97903 -0.0426106 -0.0287621 0.0415453 0.18 0 pose: 0.0 -3.73805 0.164342 0 -0.00299328 0.0125143 0.00230947 0.999915 uwb: 0.49934241 834.567 1413.63 -imu_odom_: 1691062943.760943651 0.272939 -0.100556 9.7851 -0.0532632 0.0276969 0.0351537 0.19 0.02 pose: 0.23887870 -3.7283 0.162099 0 -0.00423692 0.0112496 0.00243509 0.999925 uwb: 0.0 834.567 1413.63 -imu_odom_: 1691062943.785744385 0.227449 -0.131681 9.68933 -0.0671117 0.0117179 0.0703074 0.19 0.02 pose: 0.0 -3.7283 0.162099 0 -0.00423692 0.0112496 0.00243509 0.999925 uwb: 0.50168436 837.369 1413.91 -imu_odom_: 1691062943.801664674 0.0047884 -0.617704 9.97903 -0.0596548 0.0340885 0.0543285 0.23 0 pose: 0.39988399 -3.71631 0.169604 0 -0.00188375 0.00786239 0.00249685 0.999964 uwb: 0.0 837.369 1413.91 -imu_odom_: 1691062943.827836162 0.37589 -0.0766145 9.87129 -0.0394148 -0.00639159 0.0276969 0.23 0 pose: 0.0 -3.71631 0.169604 0 -0.00188375 0.00786239 0.00249685 0.999964 uwb: 0.0 837.369 1413.91 -imu_odom_: 1691062943.852763181 0.102951 -0.464475 10.003 -0.0458064 -0.0170442 0.0372843 0.18 0 pose: 0.46924706 -3.70657 0.167369 0 0.00141433 0.00916634 0.00291374 0.999953 uwb: 0.49883202 835.439 1412.46 -imu_odom_: 1691062943.875669649 0.514753 -0.418985 10.0054 -0.0628506 -0.0255663 0.056459 0.18 0 pose: 0.0 -3.70657 0.167369 0 0.00141433 0.00916634 0.00291374 0.999953 uwb: 0.0 835.439 1412.46 -imu_odom_: 1691062943.891736055 0.222661 -0.342371 9.92636 -0.0490022 -0.0149137 0.0511327 0.18 0 pose: 0.67864289 -3.69682 0.165139 0 -0.00021738 0.00802145 0.00284311 0.999964 uwb: 0.0 835.439 1412.46 -imu_odom_: 1691062943.909012807 0.588974 -0.0646434 9.95748 -0.0372843 0.00106526 0.036219 0.18 0 pose: 0.0 -3.69682 0.165139 0 -0.00021738 0.00802145 0.00284311 0.999964 uwb: 0.0 835.439 1412.46 -imu_odom_: 1691062943.933829873 0.442927 -0.196325 9.6199 -0.0596548 -0.0245011 0.0500674 0.18 0 pose: 0.49302236 -3.68707 0.162907 0 -0.00154818 0.00576408 0.00302676 0.999978 uwb: 0.100187838 835.743 1411.7 -imu_odom_: 1691062943.959861078 0.464475 -0.296881 9.76116 -0.0245011 -0.0287621 0.04048 0.18 0 pose: 0.0 -3.68707 0.162907 0 -0.00154818 0.00576408 0.00302676 0.999978 uwb: 0.0 835.743 1411.7 -imu_odom_: 1691062943.982700467 0.0143652 0.122104 10.0269 -0.0543285 -0.0937433 0.0490022 0.19 0 pose: 0.7707138 -3.68707 0.162907 0 -0.00132873 0.00495104 0.00306761 0.999982 uwb: 0.49804165 835.462 1410.32 -imu_odom_: 1691062944.6691582 0.294487 -0.174777 9.28471 -0.0990696 -0.0511327 0.0862864 0.19 0 pose: 0.50053525 -3.6751 0.17043 0 -0.00118811 0.000719064 0.00319738 0.999994 uwb: 0.0 835.462 1410.32 -imu_odom_: 1691062944.23768554 0.694318 -0.543484 10.1969 -0.076699 -0.0319579 0.0372843 0.18 -0.02 pose: 0.0 -3.6751 0.17043 0 -0.00118811 0.000719064 0.00319738 0.999994 uwb: 0.0 835.462 1410.32 -imu_odom_: 1691062944.48808149 0.981623 -0.332794 9.97903 -0.0553937 -0.0553937 0.0372843 0.18 -0.02 pose: 0.0 -3.6751 0.17043 0 -0.00118811 0.000719064 0.00319738 0.999994 uwb: 0.49906535 835.411 1409.41 -imu_odom_: 1691062944.74732611 0.373495 0.0502782 10.477 -0.0745685 0.0117179 0.0436758 0.2 0 pose: 0.65011662 -3.66535 0.168209 0 -0.00107259 0.000299802 0.00380641 0.999992 uwb: 0.0 835.411 1409.41 -imu_odom_: 1691062944.99763457 0.385466 -0.0766145 9.57681 -0.0820254 -0.00745685 0.0447411 0.19 0.02 pose: 0.42947479 -3.65824 0.166598 0 0.000937748 -0.00102014 0.00383388 0.999992 uwb: 0.0 835.411 1409.41 -imu_odom_: 1691062944.126722692 0.687136 -0.47884 9.64863 -0.0596548 0.0351537 0.04048 0.19 0.02 pose: 0.0 -3.65824 0.166598 0 0.000937748 -0.00102014 0.00383388 0.999992 uwb: 0.0 835.411 1409.41 -imu_odom_: 1691062944.142649980 0.1652 -0.270545 10.2472 -0.0607201 -0.00745685 0.0436758 0.19 -0.02 pose: 0.7093215 -3.65559 0.165996 0 0.00152069 -0.00082057 0.00385118 0.999991 uwb: 0.100102969 836.466 1408.85 -imu_odom_: 1691062944.168667478 0.785298 -0.131681 9.7851 -0.0671117 0.0117179 0.0181095 0.19 -0.02 pose: 0.0 -3.65559 0.165996 0 0.00152069 -0.00082057 0.00385118 0.999991 uwb: 0.0 836.466 1408.85 -imu_odom_: 1691062944.194682350 0.246603 -0.656011 9.23683 -0.0479369 -0.00426106 0.0468716 0.19 0 pose: 0.52848990 -3.64584 0.163784 0 0.000664684 -0.00080466 0.00393048 0.999992 uwb: 0.50023778 836.451 1407.86 -imu_odom_: 1691062944.220673016 0.275333 -0.294487 9.46667 -0.0149137 0.0149137 0.0298274 0.19 0 pose: 0.0 -3.64584 0.163784 0 0.000664684 -0.00080466 0.00393048 0.999992 uwb: 0.0 836.451 1407.86 -imu_odom_: 1691062944.245666239 0.208296 -0.208296 9.88566 -0.0596548 -0.0287621 0.0383495 0.2 0 pose: 0.41999324 -3.63388 0.171324 0 8.0564e-05 -0.00207308 0.00369901 0.999991 uwb: 0.50003654 836.594 1406.47 -imu_odom_: 1691062944.272661347 -0.011971 -0.260968 10.1203 -0.0394148 -0.00319579 0.0351537 0.22 0 pose: 0.52063869 -3.62413 0.169108 0 -0.0016466 0.00204598 0.00364357 0.99999 uwb: 0.0 836.594 1406.47 -imu_odom_: 1691062944.289656366 0.442927 -0.545878 9.56005 -0.0798948 0.0127832 0.0458064 0.22 0 pose: 0.0 -3.62413 0.169108 0 -0.0016466 0.00204598 0.00364357 0.99999 uwb: 0.50002779 836.971 1405.53 -imu_odom_: 1691062944.313714268 0.296881 -0.0646434 9.67018 -0.0479369 -0.0191748 0.0458064 0.25 0 pose: 0.24003655 -3.62413 0.169108 0 -0.00126816 0.00419606 0.00362198 0.999984 uwb: 0.0 836.971 1405.53 -imu_odom_: 1691062944.338718866 0.533907 -0.0095768110.0724 -0.0830906 -0.0106526 0.0553937 0.25 0 pose: 0.43919255 -3.61437 0.166891 0 -0.00223207 0.00551431 0.00364879 0.999976 uwb: 0.49929866 837.745 1404.63 -imu_odom_: 1691062944.352805844 0.363919 -0.332794 9.81862 -0.0479369 -0.0532632 0.0319579 0.25 0 pose: 0.0 -3.61437 0.166891 0 -0.00223207 0.00551431 0.00364879 0.999976 uwb: 0.0 837.745 1404.63 -imu_odom_: 1691062944.376874537 0.167594 -0.275333 9.48822 -0.0777643 -0.0170442 0.0383495 0.18 0.02 pose: 0.47999728 -3.60462 0.164675 0 0.000312778 0.00318672 0.00389449 0.999987 uwb: 0.0 837.745 1404.63 -imu_odom_: 1691062944.402671256 0.430956 -0.150835 9.96227 -0.0287621 -0.02024 0.036219 0.23 0 pose: 0.32213890 -3.59764 0.163091 0 -0.00139642 0.00497635 0.00384568 0.999979 uwb: 0.50057318 838.396 1404.03 -imu_odom_: 1691062944.428772457 0.577003 -0.0383072 10.0437 -0.0426106 -0.00106526 0.0319579 0.23 0 pose: 0.0 -3.59764 0.163091 0 -0.00139642 0.00497635 0.00384568 0.999979 uwb: 0.0 838.396 1404.03 -imu_odom_: 1691062944.445642066 0.500388 -0.205901 9.69652 -0.0372843 -0.00745685 0.0415453 0.21 0 pose: 0.6819065 -3.59487 0.162463 0 -0.0009042360.00437072 0.00383509 0.999983 uwb: 0.49994904 835.587 1401.87 -imu_odom_: 1691062944.461634392 0.260968 -0.323217 9.71088 -0.0479369 -0.0234358 0.0575243 0.21 0 pose: 0.0 -3.59487 0.162463 0 -0.0009042360.00437072 0.00383509 0.999983 uwb: 0.0 835.587 1401.87 -imu_odom_: 1691062944.488685497 0.770933 -0.0790087 10.161 -0.0234358 -0.0394148 0.0351537 0.25 0 pose: 0.52144947 -3.58291 0.170001 0 0.00204785 -6.16244e-050.00371906 0.999991 uwb: 0.49890494 836.085 1400.66 -imu_odom_: 1691062944.505653975 0.519542 -0.28491 9.46667 -0.076699 -0.00213053 0.0649811 0.25 0 pose: 0.0 -3.58291 0.170001 0 0.00204785 -6.16244e-050.00371906 0.999991 uwb: 0.0 836.085 1400.66 -imu_odom_: 1691062944.532662499 0.758962 -0.150835 9.97185 -0.0458064 -0.0436758 0.0500674 0.25 -0.02 pose: 0.32888184 -3.58291 0.170001 0 0.00117864 -0.0007767590.00385738 0.999992 uwb: 0.49936575 838.109 1400.69 -imu_odom_: 1691062944.557638223 0.672771 -0.320823 10.2041 -0.0948085 -0.0372843 0.0585895 0.25 -0.02 pose: 0.0 -3.58291 0.170001 0 0.00117864 -0.0007767590.00385738 0.999992 uwb: 0.0 838.109 1400.69 -imu_odom_: 1691062944.584780031 0.593762 -0.059855 10.1035 -0.0628506 -0.0234358 0.0553937 0.21 0.02 pose: 0.43964752 -3.57315 0.167789 0 0.000621978 -0.0046543 0.00407245 0.999981 uwb: 0.49998987 837.012 1399.38 -imu_odom_: 1691062944.600659197 0.3304 -0.395043 9.74679 -0.0894822 0.0223706 0.0596548 0.21 0.02 pose: 0.0 -3.57315 0.167789 0 0.000621978 -0.0046543 0.00407245 0.999981 uwb: 0.0 837.012 1399.38 -imu_odom_: 1691062944.626702360 0.435745 -0.347159 9.7037 -0.0543285 -0.0106526 0.0298274 0.23 0.02 pose: 0.52118116 -3.5634 0.165583 0 -0.00044866 -0.00929328 0.00447428 0.999947 uwb: 0.0 837.012 1399.38 -imu_odom_: 1691062944.651685667 0.42138 -0.296881 9.55287 -0.0916127 -0.0149137 0.0479369 0.23 0.02 pose: 0.0 -3.5634 0.165583 0 -0.00044866 -0.00929328 0.00447428 0.999947 uwb: 0.50015320 838.028 1398.88 -imu_odom_: 1691062944.676744803 0.229843 -0.222661 9.60554 -0.0447411 -0.0351537 0.0340885 0.19 0 pose: 0.42871940 -3.55364 0.163385 0 -0.000323501-0.00766627 0.00474813 0.999959 uwb: 0.0 838.028 1398.88 -imu_odom_: 1691062944.690647167 0.318429 -0.409408 10.0078 -0.0639159 -0.00532632 0.0298274 0.19 0 pose: 0.0 -3.55364 0.163385 0 -0.000323501-0.00766627 0.00474813 0.999959 uwb: 0.49992863 840.007 1399 -imu_odom_: 1691062944.716682163 0.68953 -0.220267 9.95988 -0.0308927 -0.0617853 0.0490022 0.17 0 pose: 0.50978348 -3.54169 0.170947 0 -0.00308279 -0.00376253 0.00476232 0.999977 uwb: 0.0 840.007 1399 -imu_odom_: 1691062944.741654096 0.608127 -0.28491 10.2735 -0.0649811 -0.0170442 0.0468716 0.17 0 pose: 0.0 -3.54169 0.170947 0 -0.00308279 -0.00376253 0.00476232 0.999977 uwb: 0.50213350 838.658 1397.34 -imu_odom_: 1691062944.756764182 0.845153 0.0143652 9.97903 -0.0308927 -0.00106526 0.0234358 0.18 0 pose: 0.39062119 -3.54169 0.170947 0 -0.00344282 -0.00223619 0.00468647 0.999981 uwb: 0.0 838.658 1397.34 -imu_odom_: 1691062944.782714600 0.667982 -0.454898 9.53132 -0.0788296 -0.0170442 0.0511327 0.18 0 pose: 0.0 -3.54169 0.170947 0 -0.00344282 -0.00223619 0.00468647 0.999981 uwb: 0.49814374 838.072 1395.8 -imu_odom_: 1691062944.808663560 0.447716 -0.277727 9.8689 -0.0330232 -0.0127832 0.0426106 0.24 0 pose: 0.50948891 -3.53194 0.168751 0 -0.00257513 -0.00774446 0.00479494 0.999955 uwb: 0.0 838.072 1395.8 -imu_odom_: 1691062944.834659475 0.426168 -0.423774 9.72046 -0.0607201 -0.0319579 0.0468716 0.23 0 pose: 0.59992661 -3.52218 0.166557 0 -0.00376665 -0.0072571 0.00493852 0.999954 uwb: 0.49935699 839.507 1395.25 -imu_odom_: 1691062944.850696424 0.895431 -0.213084 9.93115 -0.0340885 -0.0213053 0.0245011 0.23 0 pose: 0.0 -3.52218 0.166557 0 -0.00376665 -0.0072571 0.00493852 0.999954 uwb: 0.0 839.507 1395.25 -imu_odom_: 1691062944.876615636 0.835576 -0.299275 10.1658 -0.0596548 -0.00319579 0.0490022 0.23 0.02 pose: 0.7127922 -3.52218 0.166557 0 -0.00433055 -0.00689589 0.00497043 0.999954 uwb: 0.0 839.507 1395.25 -imu_odom_: 1691062944.902746877 0.981623 -0.363919 10.0365 -0.0234358 -0.00213053 0.0213053 0.23 0.02 pose: 0.0 -3.52218 0.166557 0 -0.00433055 -0.00689589 0.00497043 0.999954 uwb: 0.50016487 839.481 1394.32 -imu_odom_: 1691062944.926625998 0.596156 -0.124498 10.094 -0.0585895 -0.0351537 0.0468716 0.23 0 pose: 0.42925604 -3.51242 0.164367 0 -0.00512552 -0.00840227 0.00495698 0.999939 uwb: 0.0 839.481 1394.32 -imu_odom_: 1691062944.942737317 0.430956 -0.339977 9.62469 -0.0330232 0.0255663 0.0330232 0.23 0 pose: 0.0 -3.51242 0.164367 0 -0.00512552 -0.00840227 0.00495698 0.999939 uwb: 0.50099023 839.854 1393.41 -imu_odom_: 1691062944.960620409 0.531513 -0.311246 10.1394 -0.0681769 -0.0170442 0.0415453 0.23 0 pose: 0.0 -3.51242 0.164367 0 -0.00512552 -0.00840227 0.00495698 0.999939 uwb: 0.0 839.854 1393.41 -imu_odom_: 1691062944.985602258 0.526724 -0.220267 9.93833 -0.0223706 0.0127832 0.0298274 0.18 0 pose: 0.50978348 -3.50048 0.171934 0 -0.00427908 -0.0126362 0.00480441 0.999899 uwb: 0.49879120 838.847 1391.96 -imu_odom_: 1691062945.9823193 0.407014 -0.0885855 10.1873 -0.0436758 -0.00106526 0.0468716 0.23 -0.02 pose: 0.40990508 -3.49072 0.169741 0 -0.00341399 -0.00993007 0.00482178 0.999933 uwb: 0.0 838.847 1391.96 -imu_odom_: 1691062945.25821936 0.533907 -0.304064 9.54808 -0.0458064 0.0181095 0.0308927 0.23 -0.02 pose: 0.0 -3.49072 0.169741 0 -0.00341399 -0.00993007 0.00482178 0.999933 uwb: 0.0 838.847 1391.96 -imu_odom_: 1691062945.52766880 0.588974 -0.447716 9.8665 -0.0639159 0.0138484 0.052198 0.18 0.02 pose: 0.41920287 -3.48096 0.167547 0 -0.000911928-0.00684368 0.00472983 0.999965 uwb: 0.50047110 839.799 1391.58 -imu_odom_: 1691062945.78754046 0.682347 -0.105345 10.4722 -0.0479369 -0.0458064 0.04048 0.18 0.02 pose: 0.0 -3.48096 0.167547 0 -0.000911928-0.00684368 0.00472983 0.999965 uwb: 0.0 839.799 1391.58 -imu_odom_: 1691062945.103698564 0.744597 -0.263362 9.75637 -0.072438 0.0255663 0.0490022 0.23 0 pose: 0.41186497 -3.48096 0.167547 0 -0.001814 -0.00604551 0.00477988 0.999969 uwb: 0.49929575 839.509 1390.35 -imu_odom_: 1691062945.118599246 0.507571 -0.205901 10.0126 -0.0308927 0.0330232 0.0308927 0.23 0 pose: 0.0 -3.48096 0.167547 0 -0.001814 -0.00604551 0.00477988 0.999969 uwb: 0.0 839.509 1390.35 -imu_odom_: 1691062945.145734929 0.241814 -0.562637 9.84735 -0.0788296 0 0.056459 0.19 0 pose: 0.51865547 -3.46901 0.17511 0 -0.00166196 -0.00920233 0.00493518 0.999944 uwb: 0.50116232 838.204 1388.69 -imu_odom_: 1691062945.171605144 0.505177 -0.181959 9.94791 -0.0447411 0.00639159 0.0255663 0.19 0 pose: 0.0 -3.46901 0.17511 0 -0.00166196 -0.00920233 0.00493518 0.999944 uwb: 0.0 838.204 1388.69 -imu_odom_: 1691062945.197607184 0.794875 -0.222661 9.9503 -0.0660464 -0.0298274 0.0458064 0.22 -0.05 pose: 0.40954927 -3.45926 0.172919 0 -0.00185387 -0.00850107 0.00502253 0.99995 uwb: 0.50018237 838.629 1387.67 -imu_odom_: 1691062945.220600856 0.486023 -0.244209 10.1634 -0.0543285 -0.0415453 0.036219 0.22 -0.05 pose: 0.0 -3.45926 0.172919 0 -0.00185387 -0.00850107 0.00502253 0.99995 uwb: 0.0 838.629 1387.67 -imu_odom_: 1691062945.236657054 0.148441 0.0407014 9.84735 -0.0532632 -0.056459 0.0426106 0.19 0 pose: 0.53051103 -3.4495 0.170729 0 -0.00085678 -0.0069515 0.0050248 0.999963 uwb: 0.49912659 839.265 1387.09 -imu_odom_: 1691062945.262631388 -0.0622492 -0.361524 10.082 -0.0490022 0.0245011 0.0298274 0.19 0 pose: 0.0 -3.4495 0.170729 0 -0.00085678 -0.0069515 0.0050248 0.999963 uwb: 0.0 839.265 1387.09 -imu_odom_: 1691062945.287663692 0.198719 -0.486023 9.67257 -0.0479369 -0.0181095 0.0330232 0.2 -0.02 pose: 0.47945773 -3.43974 0.16854 0 -0.000726402-0.0067301 0.00505331 0.999964 uwb: 0.50009488 837.241 1385.33 -imu_odom_: 1691062945.303658644 0.648829 -0.0550666 10.3334 -0.0383495 -0.0330232 0.0372843 0.2 -0.02 pose: 0.0 -3.43974 0.16854 0 -0.000726402-0.0067301 0.00505331 0.999964 uwb: 0.0 837.241 1385.33 -imu_odom_: 1691062945.331669860 0.663194 -0.270545 10.1897 -0.052198 0.0298274 0.0223706 0.18 0.02 pose: 0.76048568 -3.42365 0.170359 0 -0.0011168 -0.00306872 0.00484601 0.999983 uwb: 0.49930159 838.813 1385.35 -imu_odom_: 1691062945.356735412 0.706289 -0.174777 9.65342 -0.072438 0.00532632 0.0511327 0.19 0 pose: 0.8020370 -3.41804 0.173915 0 -0.00123283 -0.00372383 0.00477638 0.999981 uwb: 0.0 838.813 1385.35 -imu_odom_: 1691062945.383729937 0.299275 -0.294487 10.1466 -0.0330232 -0.00319579 0.02024 0.23 -0.02 pose: 0.45056398 -3.41111 0.172356 0 -0.000908092-0.00760651 0.00473815 0.999959 uwb: 0.50131688 838.496 1384.22 -imu_odom_: 1691062945.408606501 0.648829 -0.323217 10.0293 -0.0841559 -0.0170442 0.0585895 0.18 0.02 pose: 0.0 -3.41111 0.172356 0 -0.000908092-0.00760651 0.00473815 0.999959 uwb: 0.0 838.496 1384.22 -imu_odom_: 1691062945.435587026 0.778116 -0.464475 9.84496 -0.0383495 -0.0607201 0.02024 0.18 0.02 pose: 0.34949857 -3.40828 0.171719 0 -0.00174591 -0.00571377 0.00456285 0.999972 uwb: 0.49985864 841.214 1384.31 -imu_odom_: 1691062945.451663056 0.0909797 -0.203507 9.87129 -0.052198 0.0234358 0.0468716 0.19 0 pose: 0.0 -3.40828 0.171719 0 -0.00174591 -0.00571377 0.00456285 0.999972 uwb: 0.0 841.214 1384.31 -imu_odom_: 1691062945.478666039 0.325611 -0.407014 9.94312 -0.0276969 -0.0287621 0.0298274 0.19 0 pose: 0.51934960 -3.39852 0.16952 0 -0.00414418 -0.00924098 0.00450522 0.999939 uwb: 0.0 841.214 1384.31 -imu_odom_: 1691062945.505118678 0.672771 -0.181959 9.95509 -0.0532632 -0.0266316 0.052198 0.19 0.02 pose: 0.35045810 -3.39166 0.167973 0 -0.0047713 -0.00622813 0.00442838 0.999959 uwb: 0.49886120 841.157 1383.5 -imu_odom_: 1691062945.531769056 0.545878 -0.177171 10.2376 -0.0372843 -0.0170442 0.0479369 0.19 0.02 pose: 0.0 -3.39166 0.167973 0 -0.0047713 -0.00622813 0.00442838 0.999959 uwb: 0.50048277 840.09 1382.29 -imu_odom_: 1691062945.557589107 0.608127 -0.244209 10.0197 -0.0330232 -0.0383495 0.0426106 0.19 0 pose: 0.7944250 -3.38877 0.167321 0 -0.00424158 -0.00691636 0.00447285 0.999957 uwb: 0.0 840.09 1382.29 -imu_odom_: 1691062945.574642747 0.423774 -0.129287 10.1849 -0.0351537 0.00319579 0.056459 0.19 0 pose: 0.0 -3.38877 0.167321 0 -0.00424158 -0.00691636 0.00447285 0.999957 uwb: 0.0 840.09 1382.29 -imu_odom_: 1691062945.600640413 0.502782 -0.150835 10.2017 -0.0649811 0.015979 0.0436758 0.23 0.02 pose: 0.53014355 -3.37682 0.174879 0 -0.000481009-0.00875414 0.00468625 0.999951 uwb: 0.49930742 841.769 1382.02 -imu_odom_: 1691062945.626604539 0.950498 -0.253785 10.1251 -0.0756338 -0.00426106 0.0649811 0.23 0 pose: 0.61015769 -3.36706 0.172685 0 0.00138524 -0.00679678 0.00489742 0.999964 uwb: 0.0 841.769 1382.02 -imu_odom_: 1691062945.652592580 1.00317 -0.124498 10.1035 -0.0500674 0.0276969 0.0319579 0.23 0 pose: 0.0 -3.36706 0.172685 0 0.00138524 -0.00679678 0.00489742 0.999964 uwb: 0.50275472 841.427 1380.96 -imu_odom_: 1691062945.669603056 0.0023942 -0.316035 9.57681 -0.0862864 0.0351537 0.0553937 0.21 0 pose: 0.7020011 -3.36706 0.172685 0 0.00120527 -0.00749101 0.00498776 0.999959 uwb: 0.0 841.427 1380.96 -imu_odom_: 1691062945.694701857 0.395043 -0.268151 9.93115 -0.0692422 -0.0149137 0.04048 0.21 0 pose: 0.0 -3.36706 0.172685 0 0.00120527 -0.00749101 0.00498776 0.999959 uwb: 0.49863079 840.425 1379.63 -imu_odom_: 1691062945.721699298 0.462081 -0.332794 9.92157 -0.0703074 -0.02024 0.056459 0.21 0.02 pose: 0.52001164 -3.3573 0.170494 0 0.00102183 -0.0106701 0.00518618 0.999929 uwb: 0.0 840.425 1379.63 -imu_odom_: 1691062945.747772501 0.414197 -0.244209 10.2496 -0.0372843 -0.00426106 0.0298274 0.21 0.02 pose: 0.0 -3.3573 0.170494 0 0.00102183 -0.0106701 0.00518618 0.999929 uwb: 0.49931909 839.44 1378.26 -imu_odom_: 1691062945.764570364 0.213084 -0.462081 9.66779 -0.0596548 0.00532632 0.0415453 0.23 -0.02 pose: 0.43109928 -3.34754 0.168309 0 -0.00103225 -0.00684359 0.00535277 0.999962 uwb: 0.0 839.44 1378.26 -imu_odom_: 1691062945.790663691 0.459687 -0.179565 9.83538 -0.036219 -0.0394148 0.04048 0.23 -0.02 pose: 0.0 -3.34754 0.168309 0 -0.00103225 -0.00684359 0.00535277 0.999962 uwb: 0.50060234 841.009 1378.24 -imu_odom_: 1691062945.817681256 0.531513 -0.3304 10.3286 -0.0553937 -0.0276969 0.0458064 0.18 0 pose: 0.51883629 -3.33779 0.166128 0 -0.00232635 -0.00276341 0.00540976 0.999979 uwb: 0.0 841.009 1378.24 -imu_odom_: 1691062945.842593984 0.814029 0.0502782 10.2328 -0.0458064 -0.0468716 0.0458064 0.18 0.02 pose: 0.63026111 -3.32584 0.173705 0 -0.00246698 -0.00466174 0.00552053 0.999971 uwb: 0.49982656 840.705 1377.12 -imu_odom_: 1691062945.869573051 0.54109 0.117316 10.1323 -0.0553937 -0.00852212 0.0426106 0.18 0.02 pose: 0.0 -3.32584 0.173705 0 -0.00246698 -0.00466174 0.00552053 0.999971 uwb: 0.0 840.705 1377.12 -imu_odom_: 1691062945.885853236 0.19393 -0.399832 9.97664 -0.0426106 -0.00852212 0.04048 0.18 0.02 pose: 0.7948333 -3.32584 0.173705 0 -0.00186362 -0.00539188 0.00554184 0.999968 uwb: 0.50147438 841.756 1376.46 -imu_odom_: 1691062945.912692312 0.45011 -0.155623 9.95748 -0.0458064 0.00319579 0.0383495 0.18 0.02 pose: 0.0 -3.32584 0.173705 0 -0.00186362 -0.00539188 0.00554184 0.999968 uwb: 0.0 841.756 1376.46 -imu_odom_: 1691062945.937592499 0.454898 -0.11971 10.0389 -0.0617853 0.00319579 0.0681769 0.18 0.02 pose: 0.52086617 -3.31608 0.171526 0 0.00172963 -0.0063208 0.00561514 0.999963 uwb: 0.49904785 842.111 1375.62 -imu_odom_: 1691062945.964828218 0.42138 -0.287304 9.95748 -0.0458064 0.0553937 0.0234358 0.18 0.02 pose: 0.0 -3.31608 0.171526 0 0.00172963 -0.0063208 0.00561514 0.999963 uwb: 0.0 842.111 1375.62 -imu_odom_: 1691062945.980686386 0.371101 -0.143652 9.9096 -0.0330232 0.00319579 0.0298274 0.18 0 pose: 0.42930271 -3.30635 0.169258 0 0.00342443 -0.00292329 0.00570584 0.999974 uwb: 0.0 842.111 1375.62 -imu_odom_: 1691062946.6615805 0.588974 -0.28491 9.91439 -0.0330232 -0.0298274 0.0319579 0.18 0 pose: 0.0 -3.30635 0.169258 0 0.00342443 -0.00292329 0.00570584 0.999974 uwb: 0.49954365 842.221 1374.44 -imu_odom_: 1691062946.29704847 0.651223 -0.301669 10.2615 -0.056459 -0.0191748 0.0511327 0.25 0 pose: 0.51991540 -3.29661 0.166987 0 0.00283042 -0.0003945610.0056905 0.99998 uwb: 0.0 842.221 1374.44 -imu_odom_: 1691062946.55700180 0.59855 -0.356736 9.92875 -0.0458064 -0.00106526 0.0319579 0.25 0 pose: 0.0 -3.29661 0.166987 0 0.00283042 -0.0003945610.0056905 0.99998 uwb: 0.50073651 841.292 1373 -imu_odom_: 1691062946.81682972 0.514753 -0.368707 9.94791 -0.0372843 -0.0213053 0.0468716 0.18 -0.02 pose: 0.63968140 -3.28459 0.17445 0 0.000304256 -0.00462078 0.00567169 0.999973 uwb: 0.49939784 841.715 1372 -imu_odom_: 1691062946.98549956 0.701501 -0.141258 9.61033 -0.0383495 0.00852212 0.0298274 0.18 -0.02 pose: 0.0 -3.28459 0.17445 0 0.000304256 -0.00462078 0.00567169 0.999973 uwb: 0.0 841.715 1372 -imu_odom_: 1691062946.123651090 0.469264 -0.627281 9.40921 -0.0830906 0.0298274 0.0639159 0.21 0 pose: 0.51991540 -3.27486 0.172175 0 -0.0030382 -0.00643629 0.00567992 0.999959 uwb: 0.0 841.715 1372 -imu_odom_: 1691062946.150693738 0.591368 0.0454898 10.2615 -0.0308927 -0.0319579 0.0394148 0.23 -0.02 pose: 0.35053393 -3.26797 0.170568 0 -0.00517328 -0.00630235 0.00594588 0.999949 uwb: 0.0 841.715 1372 -imu_odom_: 1691062946.176554620 0.548272 -0.416591 9.96227 -0.072438 -0.0117179 0.0575243 0.23 -0.02 pose: 0.0 -3.26797 0.170568 0 -0.00517328 -0.00630235 0.00594588 0.999949 uwb: 0.0 841.715 1372 -imu_odom_: 1691062946.193750877 0.203507 -0.191536 9.83299 -0.0298274 0.0319579 0.0287621 0.26 0.02 pose: 0.7025845 -3.26511 0.169932 0 -0.0043923 -0.00651078 0.0059414 0.999952 uwb: 0.99845736 842.705 1371.48 -imu_odom_: 1691062946.218676146 0.656011 -0.318429 9.97664 -0.0884169 0.00639159 0.0671117 0.26 0.02 pose: 0.0 -3.26511 0.169932 0 -0.0043923 -0.00651078 0.0059414 0.999952 uwb: 0.0 842.705 1371.48 -imu_odom_: 1691062946.245690795 0.445322 -0.0909797 10.0197 -0.0479369 0.00319579 0.0276969 0.21 -0.02 pose: 0.52899738 -3.25535 0.167762 0 -0.00465551 -0.00651562 0.00614106 0.999949 uwb: 0.50130522 843.601 1371.17 -imu_odom_: 1691062946.270562984 0.265756 -0.268151 10.5058 -0.056459 -0.0330232 0.0426106 0.21 -0.02 pose: 0.0 -3.25535 0.167762 0 -0.00465551 -0.00651562 0.00614106 0.999949 uwb: 0.0 843.601 1371.17 -imu_odom_: 1691062946.287674955 0.529119 -0.299275 9.71806 -0.0639159 -0.00426106 0.0468716 0.21 -0.02 pose: 0.41986492 -3.24342 0.175359 0 -0.00429388 -0.0073745 0.00637602 0.999943 uwb: 0.50173687 843.117 1370.5 -imu_odom_: 1691062946.312576892 0.112527 -0.0383072 9.80186 -0.0681769 -0.0490022 0.052198 0.21 -0.02 pose: 0.0 -3.24342 0.175359 0 -0.00429388 -0.0073745 0.00637602 0.999943 uwb: 0.0 843.117 1370.5 -imu_odom_: 1691062946.339548668 0.392649 -0.31364 10.1251 -0.056459 -0.0340885 0.04048 0.23 0 pose: 0.52011081 -3.24342 0.175359 0 -0.00294351 -0.00481067 0.00631808 0.999964 uwb: 0.49806791 846.287 1371.09 -imu_odom_: 1691062946.365544584 1.05584 -0.258574 9.95509 -0.0340885 0.00532632 0.0234358 0.19 0 pose: 0.61974422 -3.22671 0.171658 0 -0.00378886 -0.00206109 0.00653841 0.999969 uwb: 0.0 846.287 1371.09 -imu_odom_: 1691062946.392534151 0.737414 -0.225055 9.81623 -0.0692422 0.0319579 0.0511327 0.25 0 pose: 0.8089492 -3.22389 0.171035 0 -0.00365687 -0.00282968 0.00646997 0.999968 uwb: 0.0 846.287 1371.09 -imu_odom_: 1691062946.417579872 0.852336 -0.304064 9.63906 -0.0511327 -0.0276969 0.0436758 0.21 0 pose: 0.25098217 -3.22389 0.171035 0 -0.00325363 -0.00510174 0.00635624 0.999961 uwb: 0.0 846.287 1371.09 -imu_odom_: 1691062946.434512769 0.265756 -0.356736 9.55765 -0.0468716 0.00639159 0.0553937 0.21 0 pose: 0.0 -3.22389 0.171035 0 -0.00325363 -0.00510174 0.00635624 0.999961 uwb: 0.99943147 846.074 1369.78 -imu_odom_: 1691062946.459589697 0.383072 -0.155623 10.0054 -0.0351537 -0.0287621 0.0298274 0.2 0 pose: 0.27810853 -3.21413 0.168872 0 -0.00300558 -0.00756566 0.0064751 0.999946 uwb: 0.0 846.074 1369.78 -imu_odom_: 1691062946.486567014 0.821211 -0.387861 9.83059 -0.0820254 -0.00426106 0.0596548 0.2 0 pose: 0.0 -3.21413 0.168872 0 -0.00300558 -0.00756566 0.0064751 0.999946 uwb: 0.49991697 846.544 1368.65 -imu_odom_: 1691062946.512556514 0.636858 -0.232238 9.69173 -0.0500674 0.0330232 0.0266316 0.19 0 pose: 0.41981826 -3.20221 0.176477 0 -0.00293616 -0.00718596 0.00661087 0.999948 uwb: 0.0 846.544 1368.65 -imu_odom_: 1691062946.539540248 0.545878 -0.428562 9.81144 -0.0319579 -0.04048 0.0351537 0.19 0 pose: 0.52224569 -3.19244 0.17432 0 -0.00275803 -0.00902238 0.00673831 0.999933 uwb: 0.49870080 847.198 1367.98 -imu_odom_: 1691062946.556513976 0.543484 -0.0861913 9.62948 -0.0415453 0.00213053 0.0511327 0.19 0.02 pose: 0.0 -3.19244 0.17432 0 -0.00275803 -0.00902238 0.00673831 0.999933 uwb: 0.0 847.198 1367.98 -imu_odom_: 1691062946.581584779 0.323217 -0.100556 9.91678 -0.0500674 0.0319579 0.0394148 0.19 0.02 pose: 0.0 -3.19244 0.17432 0 -0.00275803 -0.00902238 0.00673831 0.999933 uwb: 0.49988781 846.552 1366.82 -imu_odom_: 1691062946.606530755 0.150835 -0.186748 9.87848 -0.056459 0.0298274 0.0553937 0.18 0.02 pose: 0.52871448 -3.18268 0.172161 0 -0.00317439 -0.00969267 0.00662152 0.999926 uwb: 0.0 846.552 1366.82 -imu_odom_: 1691062946.633566694 0.42138 -0.325611 9.53132 -0.04048 0.0127832 0.0234358 0.25 0 pose: 0.58905682 -3.17594 0.170673 0 -0.000642377-0.00394251 0.00685321 0.999969 uwb: 0.50015612 846.249 1365.75 -imu_odom_: 1691062946.649656141 0.332794 0.0143652 10.4914 -0.0479369 -0.02024 0.0639159 0.19 0.02 pose: 0.8074326 -3.17291 0.170006 0 -0.00128737 -0.00347925 0.00679127 0.99997 uwb: 0.0 846.249 1365.75 -imu_odom_: 1691062946.676674581 0.600945 -0.102951 10.331 -0.0543285 0.0181095 0.0383495 0.19 0.02 pose: 0.27092811 -3.17291 0.170006 0 -0.00202232 -0.00213839 0.00674408 0.999973 uwb: 0.0 846.249 1365.75 -imu_odom_: 1691062946.701725551 0.260968 -0.373495 9.49301 -0.0798948 0.0394148 0.0703074 0.25 0 pose: 0.0 -3.17291 0.170006 0 -0.00202232 -0.00213839 0.00674408 0.999973 uwb: 0.49987614 845.732 1364.3 -imu_odom_: 1691062946.728665246 0.198719 -0.28491 9.73722 -0.0500674 0.02024 0.0351537 0.21 0.02 pose: 0.60027659 -3.161 0.177615 0 -0.00136141 -0.00113005 0.0072061 0.999972 uwb: 0.0 845.732 1364.3 -imu_odom_: 1691062946.753650887 0.373495 -0.385466 10.1418 -0.0937433 0.0213053 0.0628506 0.21 0.02 pose: 0.0 -3.161 0.177615 0 -0.00136141 -0.00113005 0.0072061 0.999972 uwb: 0.49916744 846.679 1363.84 -imu_odom_: 1691062946.770534787 0.253785 -0.373495 9.63906 -0.0660464 0.015979 0.036219 0.23 0.02 pose: 0.6820232 -3.161 0.177615 0 -0.00147896 -0.0003776890.00719198 0.999973 uwb: 0.0 846.679 1363.84 -imu_odom_: 1691062946.796530995 0.232238 -0.129287 9.99579 -0.0692422 0.0149137 0.0596548 0.23 0.02 pose: 0.0 -3.161 0.177615 0 -0.00147896 -0.0003776890.00719198 0.999973 uwb: 0.49993155 847.044 1362.97 -imu_odom_: 1691062946.823903498 0.0909797 -0.0909797 10.1323 -0.0436758 -0.00532632 0.036219 0.25 0 pose: 0.52110824 -3.15123 0.175468 0 -0.00521005 0.00266568 0.00742639 0.999955 uwb: 0.0 847.044 1362.97 -imu_odom_: 1691062946.848645903 0.0790087 -0.158017 9.53611 -0.0436758 0.00319579 0.0511327 0.25 0 pose: 0.0 -3.15123 0.175468 0 -0.00521005 0.00266568 0.00742639 0.999955 uwb: 0.50016196 847.951 1362.58 -imu_odom_: 1691062946.875733756 0.19393 -0.292093 10.0892 -0.0575243 -0.0234358 0.0447411 0.21 -0.02 pose: 0.43143176 -3.14146 0.173325 0 -0.00311039 0.00556168 0.00767969 0.99995 uwb: 0.0 847.951 1362.58 -imu_odom_: 1691062946.891571216 0.610521 -0.0694318 10.2424 -0.052198 0.00213053 0.0479369 0.21 -0.02 pose: 0.0 -3.14146 0.173325 0 -0.00311039 0.00556168 0.00767969 0.99995 uwb: 0.49994906 847.099 1361.08 -imu_odom_: 1691062946.918708358 0.636858 -0.368707 9.51935 -0.0585895 -0.0138484 0.0543285 0.23 0 pose: 0.52873490 -3.13169 0.171187 0 -0.00126337 0.00955399 0.00782359 0.999923 uwb: 0.0 847.099 1361.08 -imu_odom_: 1691062946.944538034 0.253785 -0.509965 10.2256 -0.0426106 0.0351537 0.036219 0.19 0 pose: 0.41861666 -3.11979 0.178821 0 -0.00255038 0.00786312 0.0079732 0.999934 uwb: 0.50207226 846.458 1359.96 -imu_odom_: 1691062946.971719506 0.622492 -0.418985 9.8282 -0.0607201 -0.00852212 0.0543285 0.25 -0.02 pose: 0.0 -3.11979 0.178821 0 -0.00255038 0.00786312 0.0079732 0.999934 uwb: 0.0 846.458 1359.96 -imu_odom_: 1691062946.987703958 0.0263362 -0.416591 9.75158 -0.0447411 0.0255663 0.0383495 0.25 -0.02 pose: 0.53145891 -3.11002 0.176689 0 -0.00572224 0.00594506 0.00810128 0.999933 uwb: 0.49885245 845.841 1358.8 -imu_odom_: 1691062947.14483537 0.289698 -0.493206 9.33978 -0.076699 0.00745685 0.0628506 0.19 0 pose: 0.0 -3.11002 0.176689 0 -0.00572224 0.00594506 0.00810128 0.999933 uwb: 0.0 845.841 1358.8 -imu_odom_: 1691062947.39510009 -0.217872 -0.40462 9.64145 -0.0266316 0.0287621 0.0287621 0.19 0 pose: 0.62802707 -3.10023 0.174544 0 -0.00961556 0.00599046 0.00852885 0.999899 uwb: 0.50029904 846.534 1358.05 -imu_odom_: 1691062947.66638402 0.263362 -0.0263362 9.93115 -0.0447411 -0.0372843 0.0490022 0.19 0 pose: 0.0 -3.10023 0.174544 0 -0.00961556 0.00599046 0.00852885 0.999899 uwb: 0.0 846.534 1358.05 -imu_odom_: 1691062947.92510659 0.222661 0.0311246 10.2951 -0.0468716 -0.0117179 0.0458064 0.18 0.02 pose: 0.8005788 -3.10025 0.174559 0 -0.00952092 0.00692359 0.00849113 0.999895 uwb: 0.50060235 846.784 1357.47 -imu_odom_: 1691062947.109627879 0.337582 -0.397437 9.78031 -0.0575243 -0.015979 0.0532632 0.18 0.02 pose: 0.0 -3.10025 0.174559 0 -0.00952092 0.00692359 0.00849113 0.999895 uwb: 0.0 846.784 1357.47 -imu_odom_: 1691062947.135515885 0.679953 -0.0933739 10.1658 -0.0479369 -0.0383495 0.04048 0.18 -0.02 pose: 0.52173822 -3.0905 0.172339 0 -0.00563078 0.00822043 0.00859531 0.999913 uwb: 0.49999864 847.466 1356.73 -imu_odom_: 1691062947.162765020 0.641646 -0.383072 9.76355 -0.0426106 -0.00532632 0.04048 0.18 -0.02 pose: 0.0 -3.0905 0.172339 0 -0.00563078 0.00822043 0.00859531 0.999913 uwb: 0.0 847.466 1356.73 -imu_odom_: 1691062947.187600170 0.198719 -0.0622492 10.4267 -0.0468716 0.0351537 0.0660464 0.18 0.02 pose: 0.43031766 -3.07853 0.179871 0 -0.00466805 0.00616399 0.00877189 0.999932 uwb: 0.49990240 848.559 1355.9 -imu_odom_: 1691062947.214747520 0.442927 -0.0430956 10.149 -0.056459 0.0149137 0.0340885 0.21 -0.02 pose: 0.53085519 -3.06878 0.177657 0 -0.00365236 0.00228529 0.00888601 0.999951 uwb: 0.0 848.559 1355.9 -imu_odom_: 1691062947.230647394 0.407014 -0.260968 9.72525 -0.0511327 -0.0138484 0.0553937 0.21 -0.02 pose: 0.0 -3.06878 0.177657 0 -0.00365236 0.00228529 0.00888601 0.999951 uwb: 0.0 848.559 1355.9 -imu_odom_: 1691062947.257672250 0.732626 -0.263362 10.1251 -0.0394148 -0.052198 0.0351537 0.25 0 pose: 0.24054112 -3.06878 0.177657 0 -0.00157279 0.003338 0.00909516 0.999952 uwb: 0.50065485 848.298 1354.79 -imu_odom_: 1691062947.282479693 0.35913 -0.25618 9.54329 -0.0788296 -0.00426106 0.0628506 0.25 0 pose: 0.43676896 -3.059 0.175547 0 -0.0008474150.000399698 0.00914946 0.999958 uwb: 0.49868330 847.162 1353.17 -imu_odom_: 1691062947.309533423 0.19393 -0.136469 9.87129 -0.052198 -0.00319579 0.0372843 0.23 0 pose: 0.43968253 -3.04923 0.173438 0 -0.00189809 0.000390498 0.00939693 0.999954 uwb: 0.0 847.162 1353.17 -imu_odom_: 1691062947.334591977 0.371101 -0.0335188 10.0006 -0.0798948 -0.00426106 0.0532632 0.23 0 pose: 0.0 -3.04923 0.173438 0 -0.00189809 0.000390498 0.00939693 0.999954 uwb: 0.50107191 847.518 1351.51 -imu_odom_: 1691062947.351477336 0.567426 -0.366313 9.7444 -0.0490022 0.0330232 0.0319579 0.21 -0.02 pose: 0.52112284 -3.03802 0.178004 0 0.00165129 0.00249094 0.00954982 0.99995 uwb: 0.0 847.518 1351.51 -imu_odom_: 1691062947.367597405 0.577003 -0.0814029 10.0772 -0.0585895 -0.0245011 0.052198 0.21 -0.02 pose: 0.0 -3.03802 0.178004 0 0.00165129 0.00249094 0.00954982 0.99995 uwb: 0.0 847.518 1351.51 -imu_odom_: 1691062947.384477223 0.0837971 -0.21069 9.73243 -0.0617853 -0.0181095 0.0511327 0.21 -0.02 pose: 0.0 -3.03802 0.178004 0 0.00165129 0.00249094 0.00954982 0.99995 uwb: 0.49880871 847.474 1350.77 -imu_odom_: 1691062947.410501429 0.237026 -0.402226 9.56005 -0.0500674 0.0234358 0.0319579 0.25 0 pose: 0.39904405 -3.02756 0.179006 0 0.00133814 0.000615741 0.00962782 0.999953 uwb: 0.0 847.474 1350.77 -imu_odom_: 1691062947.437470872 0.651223 -0.191536 10.5321 -0.0223706 -0.056459 0.0276969 0.25 0 pose: 0.36005047 -3.02054 0.177498 0 -0.0009062290.00330122 0.00957997 0.999948 uwb: 0.49981781 846.886 1349.61 -imu_odom_: 1691062947.463471163 1.88184 -0.21069 9.11951 -0.0820254 0.0458064 0.0415453 0.25 0 pose: 0.7057926 -3.01778 0.176906 0 -0.00069027 0.00241909 0.00953753 0.999951 uwb: 0.0 846.886 1349.61 -imu_odom_: 1691062947.490523435 0.423774 -0.280122 8.84657 -0.052198 -0.072438 0.0372843 0.23 -0.02 pose: 0.45911808 -3.01103 0.175454 0 -0.000399487-0.00202223 0.00944297 0.999953 uwb: 0.50064611 846.227 1348.63 -imu_odom_: 1691062947.515591321 0.993594 -0.392649 9.98622 -0.0798948 -0.0490022 0.0490022 0.23 -0.02 pose: 0.0 -3.01103 0.175454 0 -0.000399487-0.00202223 0.00944297 0.999953 uwb: 0.0 846.227 1348.63 -imu_odom_: 1691062947.542516725 0.562637 -0.244209 9.64863 -0.0575243 -0.00639159 0.0479369 0.21 0 pose: 0.52120158 -3.00106 0.173309 0 -0.00379351 -0.00533116 0.0095307 0.999933 uwb: 0.50073943 842.99 1346.13 -imu_odom_: 1691062947.568531890 0.445322 -0.225055 10.1778 -0.0713727 -0.0436758 0.0500674 0.2 0 pose: 0.0 -3.00106 0.173309 0 -0.00379351 -0.00533116 0.0095307 0.999933 uwb: 0.0 842.99 1346.13 -imu_odom_: 1691062947.595580663 0.948104 -0.124498 10.2735 -0.0798948 -0.0287621 0.0511327 0.2 0 pose: 0.34968523 -2.99823 0.172702 0 -0.00201435 -0.00689316 0.00966821 0.999927 uwb: 0.49806208 841.137 1343.83 -imu_odom_: 1691062947.611455163 0.232238 -0.502782 9.64624 -0.0458064 0.0223706 0.0415453 0.18 0 pose: 0.24996433 -2.99613 0.182479 0 -0.00150227 -0.00629289 0.00979998 0.999931 uwb: 0.0 841.137 1343.83 -imu_odom_: 1691062947.638496644 0.371101 -0.21069 9.91439 -0.0596548 -0.0479369 0.0607201 0.18 0 pose: 0.0 -2.99613 0.182479 0 -0.00150227 -0.00629289 0.00979998 0.999931 uwb: 0.49996364 841.232 1342.84 -imu_odom_: 1691062947.654449598 0.639252 -0.294487 9.95748 -0.0500674 -0.0181095 0.0553937 0.17 0 pose: 0.27929554 -2.98635 0.180383 0 -0.00163711 -0.00774242 0.00992122 0.999919 uwb: 0.0 841.232 1342.84 -imu_odom_: 1691062947.681606280 0.275333 -0.155623 9.90481 -0.0532632 0.0127832 0.0543285 0.17 0 pose: 0.0 -2.98635 0.180383 0 -0.00163711 -0.00774242 0.00992122 0.999919 uwb: 0.50008030 840.742 1341.55 -imu_odom_: 1691062947.706473512 0.488417 -0.265756 10.082 -0.0308927 -0.0276969 0.0436758 0.2 0.02 pose: 0.42964395 -2.97658 0.178291 0 -0.00170726 -0.00579571 0.010285 0.999929 uwb: 0.0 840.742 1341.55 -imu_odom_: 1691062947.733464537 0.409408 -0.373495 9.72046 -0.0820254 0.00958738 0.0692422 0.2 0.02 pose: 0.0 -2.97658 0.178291 0 -0.00170726 -0.00579571 0.010285 0.999929 uwb: 0.49994323 839.071 1339.69 -imu_odom_: 1691062947.758507342 0.0215478 -0.107739 9.87848 -0.0468716 -0.0255663 0.0490022 0.18 0 pose: 0.43062973 -2.9668 0.176206 0 -0.00163489 -0.00415249 0.0105667 0.999934 uwb: 0.0 839.071 1339.69 -imu_odom_: 1691062947.785603944 0.751779 -0.186748 10.1442 -0.092678 -0.0458064 0.0596548 0.23 0.02 pose: 0.52028580 -2.95701 0.17413 0 -0.00508429 -0.0022761 0.0110629 0.999923 uwb: 0.49927826 838.883 1338.56 -imu_odom_: 1691062947.801595979 0.790087 -0.0670376 9.75877 -0.0468716 0.04048 0.0298274 0.23 0.02 pose: 0.0 -2.95701 0.17413 0 -0.00508429 -0.0022761 0.0110629 0.999923 uwb: 0.0 838.883 1338.56 -imu_odom_: 1691062947.819476156 -0.0550666 -0.220267 9.71088 -0.0820254 0.02024 0.056459 0.23 0.02 pose: 0.0 -2.95701 0.17413 0 -0.00508429 -0.0022761 0.0110629 0.999923 uwb: 0.0 838.883 1338.56 -imu_odom_: 1691062947.844605872 0.474052 -0.258574 10.1466 -0.0692422 0.00639159 0.0447411 0.18 0 pose: 0.77934377 -2.94516 0.181845 0 -0.0029548 -0.00297486 0.011478 0.999925 uwb: 0.50066069 839.327 1337.63 -imu_odom_: 1691062947.871631604 0.548272 -0.23942 9.85214 -0.0681769 -0.0117179 0.056459 0.25 0 pose: 0.7142504 -2.94516 0.181845 0 -0.00242747 -0.00335853 0.0114932 0.999925 uwb: 0.0 839.327 1337.63 -imu_odom_: 1691062947.896583705 0.586579 -0.3304 10.3573 -0.0490022 0.0298274 0.0298274 0.2 0 pose: 0.0 -2.94516 0.181845 0 -0.00242747 -0.00335853 0.0114932 0.999925 uwb: 0.49937451 839.093 1336.6 -imu_odom_: 1691062947.923604770 0.342371 -0.54109 9.59835 -0.0596548 0.02024 0.0500674 0.23 0 pose: 0.52868823 -2.93538 0.179783 0 -0.00204151 -0.00731782 0.0117224 0.999902 uwb: 0.0 839.093 1336.6 -imu_odom_: 1691062947.949576188 0.225055 -0.189142 9.81862 -0.0479369 0.00106526 0.0500674 0.23 0 pose: 0.0 -2.93538 0.179783 0 -0.00204151 -0.00731782 0.0117224 0.999902 uwb: 0.50086484 839.863 1335.75 -imu_odom_: 1691062947.976578004 0.45011 -0.555455 9.93115 -0.0490022 -0.00745685 0.0415453 0.23 0 pose: 0.70088705 -2.92561 0.177626 0 -0.00455003 -0.00330167 0.0119553 0.999913 uwb: 0.0 839.863 1335.75 -imu_odom_: 1691062948.1623142 0.433351 -0.225055 10.3908 -0.0511327 -0.00852212 0.0575243 0.23 0 pose: 0.7007179 -2.92561 0.177626 0 -0.00522714 -0.00327425 0.0119648 0.999909 uwb: 0.49948825 839.744 1334.49 -imu_odom_: 1691062948.18450171 0.483629 -0.0143652 10.0389 -0.0490022 -0.0191748 0.0532632 0.21 0.02 pose: 0.0 -2.92561 0.177626 0 -0.00522714 -0.00327425 0.0119648 0.999909 uwb: 0.0 839.744 1334.49 -imu_odom_: 1691062948.43502600 0.347159 -0.378284 9.49301 -0.0617853 0.02024 0.0500674 0.21 0.02 pose: 0.45039775 -2.91432 0.182417 0 -0.00467856 -0.00262155 0.0122139 0.999911 uwb: 0.49942701 840.623 1334.15 -imu_odom_: 1691062948.70488376 0.526724 -0.502782 9.69891 -0.0319579 -0.0319579 0.0319579 0.18 0 pose: 0.24849733 -2.90393 0.183096 0 -0.00354288 -0.00223077 0.0123697 0.999915 uwb: 0.0 840.623 1334.15 -imu_odom_: 1691062948.95596219 0.706289 -0.459687 9.4547 -0.0671117 -0.0319579 0.0660464 0.2 0 pose: 0.0 -2.90393 0.183096 0 -0.00354288 -0.00223077 0.0123697 0.999915 uwb: 0.50134315 841.339 1333.4 -imu_odom_: 1691062948.122524540 0.466869 -0.292093 9.87129 0.0266316 -0.0458064 0.0127832 0.2 0 pose: 0.52029163 -2.89416 0.180952 0 -0.00720085 -0.00337968 0.0124621 0.999891 uwb: 0.0 841.339 1333.4 -imu_odom_: 1691062948.138441621 0.129287 -0.186748 9.79468 0.00106526 -0.00852212 0.0298274 0.2 -0.02 pose: 0.0 -2.89416 0.180952 0 -0.00720085 -0.00337968 0.0124621 0.999891 uwb: 0.50062277 840.852 1332.18 -imu_odom_: 1691062948.155486221 0.488417 0.191536 10.3693 -0.052198 -0.0649811 0.0735032 0.2 -0.02 pose: 0.52121034 -2.8844 0.17881 0 -0.00395944 -0.00384354 0.0122906 0.999909 uwb: 0.0 840.852 1332.18 -imu_odom_: 1691062948.181478637 0.584185 -0.246603 9.91199 -0.105461 -0.0319579 0.0628506 0.18 0 pose: 0.0 -2.8844 0.17881 0 -0.00395944 -0.00384354 0.0122906 0.999909 uwb: 0.0 840.852 1332.18 -imu_odom_: 1691062948.198601107 0.325611 -0.215478 9.96706 -0.0649811 -0.02024 0.0117179 0.18 0 pose: 0.32886144 -2.8844 0.17881 0 -0.00193724 -0.00460055 0.0126325 0.999908 uwb: 0.49974200 838.94 1330.23 -imu_odom_: 1691062948.224522361 0.299275 -0.258574 9.74679 -0.0596548 0.056459 0.0415453 0.18 0 pose: 0.0 -2.8844 0.17881 0 -0.00193724 -0.00460055 0.0126325 0.999908 uwb: 0.0 838.94 1330.23 -imu_odom_: 1691062948.251409560 0.596156 -0.169988 9.59117 -0.0298274 -0.00213053 0.0340885 0.18 0 pose: 0.42984228 -2.87463 0.176671 0 -0.00207497 -0.00408459 0.0126086 0.99991 uwb: 0.49970407 838.255 1328.72 -imu_odom_: 1691062948.276423783 0.445322 -0.514753 9.54089 -0.0756338 -0.00745685 0.0703074 0.18 0 pose: 0.0 -2.87463 0.176671 0 -0.00207497 -0.00408459 0.0126086 0.99991 uwb: 0.0 838.255 1328.72 -imu_odom_: 1691062948.293416760 0.428562 -0.0861913 10.1394 -0.0607201 0.0255663 0.0351537 0.18 0 pose: 0.52974401 -2.86272 0.184301 0 -0.00141351 -0.00398538 0.012675 0.999911 uwb: 0.50028446 839.275 1328.09 -imu_odom_: 1691062948.318626389 0.914585 -0.335188 9.61751 -0.0884169 -0.00319579 0.0628506 0.18 0 pose: 0.0 -2.86272 0.184301 0 -0.00141351 -0.00398538 0.012675 0.999911 uwb: 0.0 839.275 1328.09 -imu_odom_: 1691062948.345483547 0.229843 -0.399832 9.96467 -0.0266316 0.0234358 0.0308927 0.18 0 pose: 0.42111319 -2.85295 0.182165 0 -0.00196186 -0.00393682 0.0129919 0.999906 uwb: 0.49955534 836.487 1325.84 -imu_odom_: 1691062948.370611805 0.47884 -0.304064 10.0126 -0.072438 0.0213053 0.0596548 0.19 0 pose: 0.43904383 -2.84597 0.180643 0 -0.00334453 -0.00281794 0.0130848 0.999905 uwb: 0.0 836.487 1325.84 -imu_odom_: 1691062948.387409378 0.0957681 -0.25618 9.65582 -0.0511327 0.0266316 0.0351537 0.19 0 pose: 0.7953000 -2.84318 0.180034 0 -0.00399107 -0.00326401 0.0131638 0.9999 uwb: 0.0 836.487 1325.84 -imu_odom_: 1691062948.413544411 0.380678 0.0694318 10.0149 -0.0777643 -0.00852212 0.0553937 0.18 0 pose: 0.33972831 -2.83781 0.178865 0 -0.00510995 -0.00230571 0.0133041 0.999896 uwb: 0.0 836.487 1325.84 -imu_odom_: 1691062948.430419562 0.821211 -0.430956 9.71088 -0.0596548 0.015979 0.0351537 0.18 0 pose: 0.0 -2.83781 0.178865 0 -0.00510995 -0.00230571 0.0133041 0.999896 uwb: 0.0 836.487 1325.84 -imu_odom_: 1691062948.456434436 0.349553 -0.40462 9.94073 -0.0649811 -0.00852212 0.0458064 0.18 -0.02 pose: 0.43010184 -2.83341 0.177907 0 -0.00350678 -0.00327945 0.0134658 0.999898 uwb: 0.99997979 835.849 1324.28 -imu_odom_: 1691062948.483585869 0.967257 0.0191536 9.99819 -0.0394148 -0.0415453 0.036219 0.25 0 pose: 0.0 -2.83341 0.177907 0 -0.00350678 -0.00327945 0.0134658 0.999898 uwb: 0.50149189 835.225 1323.41 -imu_odom_: 1691062948.509475916 0.418985 -0.225055 10.0245 -0.0649811 0.00319579 0.04048 0.19 0 pose: 0.53166307 -2.82159 0.185677 0 -0.00380066 -0.00431459 0.0135016 0.999892 uwb: 0.0 835.225 1323.41 -imu_odom_: 1691062948.536501940 0.701501 -0.339977 9.26556 -0.052198 0.0138484 0.0436758 0.21 -0.02 pose: 0.0 -2.82159 0.185677 0 -0.00380066 -0.00431459 0.0135016 0.999892 uwb: 0.49899245 835.057 1322.35 -imu_odom_: 1691062948.561489331 0.562637 -0.275333 10.3286 -0.0436758 0.0436758 0.015979 0.21 -0.02 pose: 0.32900726 -2.8118 0.183653 0 -0.00235865 -0.00293494 0.0135253 0.999901 uwb: 0.0 835.057 1322.35 -imu_odom_: 1691062948.588571351 0.40462 -0.550666 9.73722 -0.0585895 0.00426106 0.0532632 0.2 0 pose: 0.45002736 -2.80486 0.182219 0 -0.00274302 -0.00656144 0.0132595 0.999887 uwb: 0.49882622 836.222 1322.15 -imu_odom_: 1691062948.614449733 0.385466 -0.0957681 9.94791 -0.0330232 0 0.0308927 0.2 0 pose: 0.6984722 -2.80201 0.181629 0 -0.0033982 -0.00625849 0.0133121 0.999886 uwb: 0.0 836.222 1322.15 -imu_odom_: 1691062948.641438134 0.447716 -0.397437 9.97903 -0.0809601 0.0106526 0.0511327 0.23 -0.02 pose: 0.45975680 -2.79523 0.180229 0 -0.00273884 -0.00405962 0.013347 0.999899 uwb: 0.50036612 837.123 1321.76 -imu_odom_: 1691062948.666544227 0.462081 -0.373495 9.77313 -0.0479369 0.0447411 0.0223706 0.18 0.02 pose: 0.0 -2.79523 0.180229 0 -0.00273884 -0.00405962 0.013347 0.999899 uwb: 0.0 837.123 1321.76 -imu_odom_: 1691062948.683436585 0.25618 -0.225055 9.55765 -0.0745685 -0.0468716 0.0447411 0.18 0.02 pose: 0.34997689 -2.79221 0.179603 0 -0.0064754 -0.00298429 0.0134458 0.999884 uwb: 0.50007739 837.009 1320.6 -imu_odom_: 1691062948.699610318 1.00078 -0.167594 9.99579 -0.0340885 0.0181095 0.0255663 0.18 0.02 pose: 0.0 -2.79221 0.179603 0 -0.0064754 -0.00298429 0.0134458 0.999884 uwb: 0.0 837.009 1320.6 -imu_odom_: 1691062948.726470685 0.466869 -0.174777 10.1682 -0.0649811 0.0191748 0.0585895 0.18 0 pose: 0.42110153 -2.7804 0.187372 0 -0.00693904 -0.0022161 0.0132933 0.999885 uwb: 0.0 837.009 1320.6 -imu_odom_: 1691062948.751452243 0.603339 -0.258574 9.85453 -0.0426106 -0.0106526 0.0415453 0.18 -0.02 pose: 0.34913110 -2.7735 0.185944 0 -0.00403207 -0.00265169 0.0134751 0.999898 uwb: 0.49862497 836.706 1319.81 -imu_odom_: 1691062948.778589094 0.531513 -0.383072 9.84496 -0.0458064 0.00426106 0.0383495 0.18 -0.02 pose: 0.0 -2.7735 0.185944 0 -0.00403207 -0.00265169 0.0134751 0.999898 uwb: 0.0 836.706 1319.81 -imu_odom_: 1691062948.803530404 0.605733 -0.0790087 10.2951 -0.0458064 0.00106526 0.0607201 0.2 0 pose: 0.7997330 -2.7706 0.185345 0 -0.0037868 -0.00345257 0.0134796 0.999896 uwb: 0.50002489 836.813 1318.91 -imu_odom_: 1691062948.830525221 0.600945 -0.213084 10.5249 -0.056459 0.0181095 0.0394148 0.2 0 pose: 0.0 -2.7706 0.185345 0 -0.0037868 -0.00345257 0.0134796 0.999896 uwb: 0.0 836.813 1318.91 -imu_odom_: 1691062948.855400036 0.826 -0.232238 9.96946 -0.0777643 0.00106526 0.0660464 0.2 0 pose: 0.52044038 -2.76081 0.183321 0 -0.00495281 -0.00602559 0.0135613 0.999878 uwb: 0.50004531 836.568 1318.02 -imu_odom_: 1691062948.872396221 -0.0646434 -0.299275 9.82102 -0.0543285 0.0181095 0.0426106 0.2 0 pose: 0.0 -2.76081 0.183321 0 -0.00495281 -0.00602559 0.0135613 0.999878 uwb: 0.0 836.568 1318.02 -imu_odom_: 1691062948.897544312 0.0383072 -0.270545 9.62948 -0.0852212 0.0234358 0.0596548 0.22 0 pose: 0.51996208 -2.75102 0.181302 0 -0.00128448 -0.00874965 0.0138101 0.999866 uwb: 0.49989657 836.103 1316.88 -imu_odom_: 1691062948.923598850 0.591368 -0.361524 9.84017 -0.0756338 -0.00958738 0.0383495 0.23 0.02 pose: 0.23916744 -2.75102 0.181302 0 -0.00146165 -0.0096163 0.0140415 0.999854 uwb: 0.0 836.103 1316.88 -imu_odom_: 1691062948.949436984 0.577003 -0.244209 9.88326 -0.0703074 -0.0127832 0.0543285 0.23 0.02 pose: 0.35119307 -2.74122 0.179289 0 -0.00208626 -0.00565475 0.014313 0.999879 uwb: 0.50001323 836.471 1316.17 -imu_odom_: 1691062948.974438082 0.351948 -0.323217 10.2496 -0.04048 -0.00745685 0.0383495 0.23 0 pose: 0.6999013 -2.74122 0.179289 0 -0.00271025 -0.00610351 0.0143105 0.999875 uwb: 0.0 836.471 1316.17 -imu_odom_: 1691062948.991742834 0.457293 -0.486023 9.85214 -0.0628506 -0.0245011 0.0468716 0.23 0 pose: 0.0 -2.74122 0.179289 0 -0.00271025 -0.00610351 0.0143105 0.999875 uwb: 0.50124982 836.52 1315.4 -imu_odom_: 1691062949.18400795 0.205901 -0.179565 10.0485 -0.0394148 0 0.0447411 0.18 0 pose: 0.51858840 -2.72942 0.187079 0 -0.00244969 -0.0079844 0.0144706 0.99986 uwb: 0.0 836.52 1315.4 -imu_odom_: 1691062949.43371855 0.282516 -0.232238 10.1011 -0.052198 -0.0191748 0.0458064 0.18 0 pose: 0.0 -2.72942 0.187079 0 -0.00244969 -0.0079844 0.0144706 0.99986 uwb: 0.49854915 837.341 1315.16 -imu_odom_: 1691062949.70743192 0.711078 0.0742203 10.2735 -0.0490022 -0.0415453 0.0458064 0.21 0.02 pose: 0.42201148 -2.71963 0.185036 0 -0.00421896 -0.00529957 0.0145635 0.999871 uwb: 0.0 837.341 1315.16 -imu_odom_: 1691062949.95533428 0.588974 0.0407014 10.0293 -0.0543285 -0.0276969 0.0468716 0.21 0.02 pose: 0.0 -2.71963 0.185036 0 -0.00421896 -0.00529957 0.0145635 0.999871 uwb: 0.50016488 836.742 1313.63 -imu_odom_: 1691062949.112436286 0.339977 -0.263362 10.1921 -0.0415453 -0.0308927 0.04048 0.23 0.02 pose: 0.51856508 -2.70985 0.182936 0 -0.00211791 -0.00174524 0.0147248 0.999888 uwb: 0.0 836.742 1313.63 -imu_odom_: 1691062949.137508839 0.407014 -0.198719 10.0221 -0.0415453 -0.0170442 0.0372843 0.23 0.02 pose: 0.0 -2.70985 0.182936 0 -0.00211791 -0.00174524 0.0147248 0.999888 uwb: 0.0 836.742 1313.63 -imu_odom_: 1691062949.164395163 0.603339 -0.0430956 9.67976 -0.0681769 -0.0149137 0.0681769 0.18 0 pose: 0.51968501 -2.70007 0.18084 0 0.00154791 -0.00415223 0.0148696 0.99988 uwb: 0.0 836.742 1313.63 -imu_odom_: 1691062949.190524072 0.627281 -0.325611 10.1586 -0.0415453 0.0511327 0.0287621 0.19 0 pose: 0.61966841 -2.69107 0.189139 0 0.00265061 -0.00324518 0.0152289 0.999875 uwb: 0.100002063 835.998 1312.39 -imu_odom_: 1691062949.217423228 0.0981623 -0.430956 9.72764 -0.0415453 0.0106526 0.0490022 0.19 0 pose: 0.0 -2.69107 0.189139 0 0.00265061 -0.00324518 0.0152289 0.999875 uwb: 0.0 835.998 1312.39 -imu_odom_: 1691062949.233405347 0.620098 -0.237026 10.161 -0.0266316 -0.0170442 0.0330232 0.2 0 pose: 0.8321353 -2.6882 0.188525 0 0.00211541 -0.00360261 0.0151881 0.999876 uwb: 0.49960493 835.653 1311.07 -imu_odom_: 1691062949.251504845 0.617704 -0.397437 9.5816 -0.0649811 -0.0628506 0.0628506 0.2 0 pose: 0.0 -2.6882 0.188525 0 0.00211541 -0.00360261 0.0151881 0.999876 uwb: 0.0 835.653 1311.07 -imu_odom_: 1691062949.276377035 0.347159 -0.445322 9.43794 -0.0639159 -0.0181095 0.036219 0.18 0 pose: 0.51651478 -2.67842 0.186437 0 -0.000220185-0.00261469 0.01521 0.999881 uwb: 0.0 835.653 1311.07 -imu_odom_: 1691062949.293430384 0.775721 -0.138864 9.92636 -0.0436758 -0.0351537 0.0490022 0.18 0 pose: 0.0 -2.67842 0.186437 0 -0.000220185-0.00261469 0.01521 0.999881 uwb: 0.50151231 836.166 1310.75 -imu_odom_: 1691062949.318376361 0.579397 -0.23942 9.9096 -0.0479369 0.00106526 0.0372843 0.18 0 pose: 0.34039619 -2.66864 0.18435 0 -0.00220012 -0.00490924 0.0153874 0.999867 uwb: 0.0 836.166 1310.75 -imu_odom_: 1691062949.345514087 0.42138 -0.280122 9.98861 -0.0713727 0.02024 0.0713727 0.18 0 pose: 0.0 -2.66864 0.18435 0 -0.00220012 -0.00490924 0.0153874 0.999867 uwb: 0.0 836.166 1310.75 -imu_odom_: 1691062949.370437607 0.337582 -0.162806 9.60075 -0.0671117 0.0330232 0.0287621 0.19 0 pose: 0.43030017 -2.66864 0.18435 0 -0.00242017 -0.00642272 0.015426 0.999857 uwb: 0.0 836.166 1310.75 -imu_odom_: 1691062949.387511372 0.399832 -0.117316 10.3501 -0.0532632 -0.0276969 0.0543285 0.19 0 pose: 0.0 -2.66864 0.18435 0 -0.00242017 -0.00642272 0.015426 0.999857 uwb: 0.99888028 835.222 1309.27 -imu_odom_: 1691062949.412557093 0.605733 -0.337582 9.96467 -0.0383495 -0.0436758 0.0351537 0.18 0 pose: 0.52041414 -2.65678 0.192047 0 -0.00209876 -0.00409134 0.0157926 0.999865 uwb: 0.0 835.222 1309.27 -imu_odom_: 1691062949.436528960 0.332794 -0.153229 9.93354 -0.0692422 -0.0351537 0.0649811 0.18 0 pose: 0.0 -2.65678 0.192047 0 -0.00209876 -0.00409134 0.0157926 0.999865 uwb: 0.0 835.222 1309.27 -imu_odom_: 1691062949.451644296 0.483629 0.0933739 10.2304 -0.0617853 -0.0330232 0.0553937 0.18 -0.02 pose: 0.41933414 -2.647 0.189971 0 -0.000127663-0.00265301 0.015806 0.999872 uwb: 0.0 835.222 1309.27 -imu_odom_: 1691062949.476452323 0.217872 -0.0526724 10.1083 -0.0777643 0.00639159 0.0415453 0.18 -0.02 pose: 0.0 -2.647 0.189971 0 -0.000127663-0.00265301 0.015806 0.999872 uwb: 0.0 835.222 1309.27 -imu_odom_: 1691062949.500362360 0.548272 -0.234632 9.90242 -0.0553937 -0.00213053 0.0351537 0.25 0 pose: 0.48142930 -2.63721 0.187916 0 0.000605329 -0.00275085 0.0161257 0.999866 uwb: 0.99979314 835.037 1308.31 -imu_odom_: 1691062949.524404806 0.64404 -0.102951 10.0676 -0.0788296 0.0149137 0.0500674 0.25 0 pose: 0.0 -2.63721 0.187916 0 0.000605329 -0.00275085 0.0161257 0.999866 uwb: 0.0 835.037 1308.31 -imu_odom_: 1691062949.540398883 0.0407014 -0.059855 9.90721 -0.0745685 -0.0458064 0.0458064 0.18 0.02 pose: 0.39831202 -2.62741 0.185944 0 0.00198254 -0.00122897 0.0161911 0.999866 uwb: 0.49992282 837.877 1308.81 -imu_odom_: 1691062949.558375887 0.878672 -0.0526724 9.85453 -0.0415453 -0.0245011 0.036219 0.18 0.02 pose: 0.0 -2.62741 0.185944 0 0.00198254 -0.00122897 0.0161911 0.999866 uwb: 0.0 837.877 1308.81 -imu_odom_: 1691062949.582388877 0.85473 -0.105345 9.98143 -0.0713727 -0.00426106 0.04048 0.18 0 pose: 0.49204535 -2.6176 0.183973 0 0.00215172 -0.0040592 0.016305 0.999857 uwb: 0.50110983 837.777 1307.69 -imu_odom_: 1691062949.609349863 0.727837 -0.4956 9.39006 -0.052198 0.0170442 0.0468716 0.18 0 pose: 0.0 -2.6176 0.183973 0 0.00215172 -0.0040592 0.016305 0.999857 uwb: 0.0 837.777 1307.69 -imu_odom_: 1691062949.625358231 0.205901 -0.399832 9.66539 -0.0649811 -0.00958738 0.0447411 0.19 0 pose: 0.32929892 -2.6176 0.183973 0 0.00298455 -0.00606795 0.0163022 0.999844 uwb: 0.0 837.777 1307.69 -imu_odom_: 1691062949.642341876 0.550666 0 10.0389 -0.0415453 -0.0149137 0.0383495 0.19 0 pose: 0.0 -2.6176 0.183973 0 0.00298455 -0.00606795 0.0163022 0.999844 uwb: 0.50018822 838.593 1306.79 -imu_odom_: 1691062949.667410638 0.349553 -0.311246 9.79707 -0.0894822 -0.00213053 0.0532632 0.18 0 pose: 0.50894646 -2.60583 0.191808 0 0.000434859 -0.0081624 0.0164545 0.999831 uwb: 0.0 838.593 1306.79 -imu_odom_: 1691062949.694345667 0.648829 -0.167594 9.75637 -0.0649811 -0.015979 0.0479369 0.18 0 pose: 0.0 -2.60583 0.191808 0 0.000434859 -0.0081624 0.0164545 0.999831 uwb: 0.49876497 838.22 1305.55 -imu_odom_: 1691062949.719466925 0.383072 -0.217872 10.3214 -0.0660464 -0.0191748 0.0553937 0.18 0.02 pose: 0.33969332 -2.59602 0.189842 0 0.00118595 -0.00679842 0.0165145 0.99984 uwb: 0.0 838.22 1305.55 -imu_odom_: 1691062949.743394753 0.320823 -0.0957681 10.1849 -0.0468716 -0.00745685 0.0330232 0.18 0.02 pose: 0.0 -2.59602 0.189842 0 0.00118595 -0.00679842 0.0165145 0.99984 uwb: 0.50043904 837.41 1303.87 -imu_odom_: 1691062949.758466633 0.268151 -0.304064 9.75398 -0.0735032 -0.0372843 0.0490022 0.18 0 pose: 0.51977542 -2.58622 0.187878 0 0.000627143 -0.00732045 0.0168031 0.999832 uwb: 0.0 837.41 1303.87 -imu_odom_: 1691062949.783341448 0.430956 -0.0861913 10.094 -0.04048 -0.00213053 0.0383495 0.18 0 pose: 0.0 -2.58622 0.187878 0 0.000627143 -0.00732045 0.0168031 0.999832 uwb: 0.49932494 838.78 1303.85 -imu_odom_: 1691062949.807620422 0.565032 -0.263362 10.1706 -0.0468716 -0.02024 0.0543285 0.25 0 pose: 0.47972316 -2.58622 0.187878 0 0.0012019 -0.0032058 0.0168854 0.999852 uwb: 0.0 838.78 1303.85 -imu_odom_: 1691062949.831481462 0.529119 -0.169988 10.0676 -0.0415453 0.02024 0.0468716 0.25 0 pose: 0.0 -2.58622 0.187878 0 0.0012019 -0.0032058 0.0168854 0.999852 uwb: 0.50116817 839.519 1303.1 -imu_odom_: 1691062949.847367337 0.438139 -0.244209 9.74679 -0.0660464 0.0191748 0.0436758 0.18 0 pose: 0.40046439 -2.57641 0.185921 0 0.00286986 -0.00261544 0.0169564 0.999849 uwb: 0.0 839.519 1303.1 -imu_odom_: 1691062949.871465488 0.361524 -0.122104 9.76116 -0.0383495 -0.0149137 0.0511327 0.18 0 pose: 0.0 -2.57641 0.185921 0 0.00286986 -0.00261544 0.0169564 0.999849 uwb: 0.0 839.519 1303.1 -imu_odom_: 1691062949.895588138 0.280122 -0.368707 9.59117 -0.0681769 0.02024 0.0649811 0.18 0 pose: 0.48993964 -2.56465 0.193771 0 0.00192904 -0.00537621 0.0171976 0.999836 uwb: 0.49887288 839.543 1301.78 -imu_odom_: 1691062949.920327335 0.00718261 -0.306458 9.37809 -0.0639159 -0.00319579 0.0490022 0.18 0 pose: 0.0 -2.56465 0.193771 0 0.00192904 -0.00537621 0.0171976 0.999836 uwb: 0.0 839.543 1301.78 -imu_odom_: 1691062949.937576382 0.514753 -0.155623 9.96946 -0.0756338 -0.0681769 0.0617853 0.23 0.02 pose: 0.80952079 -2.54799 0.190464 0 -0.0001601540.00156916 0.0177713 0.999841 uwb: 0.50117108 841.848 1301.88 -imu_odom_: 1691062949.962382659 0.476446 0.0526724 10.3597 -0.0660464 -0.0106526 0.0500674 0.23 0.02 pose: 0.0 -2.54799 0.190464 0 -0.0001601540.00156916 0.0177713 0.999841 uwb: 0.0 841.848 1301.88 -imu_odom_: 1691062949.987353718 0.318429 -0.265756 10.556 -0.0649811 -0.0117179 0.0617853 0.23 -0.02 pose: 0.7294163 -2.54503 0.189879 0 7.13692e-05 0.000670285 0.0178528 0.99984 uwb: 0.49924327 841.99 1300.97 -imu_odom_: 1691062950.8451959 0.605733 -0.299275 9.89763 -0.052198 -0.0127832 0.036219 0.23 -0.02 pose: 0.0 -2.54503 0.189879 0 7.13692e-05 0.000670285 0.0178528 0.99984 uwb: 0.0 841.99 1300.97 -imu_odom_: 1691062950.31315556 0.177171 -0.28491 9.70609 -0.0585895 -0.0138484 0.0415453 0.18 0 pose: 0.41717593 -2.53522 0.187942 0 0.00215318 -0.0007045280.0181691 0.999832 uwb: 0.49807960 841.937 1299.8 -imu_odom_: 1691062950.47485498 0.612916 -0.42138 10.5967 -0.056459 0.0213053 0.015979 0.18 0 pose: 0.0 -2.53522 0.187942 0 0.00215318 -0.0007045280.0181691 0.999832 uwb: 0.0 841.937 1299.8 -imu_odom_: 1691062950.64375524 0.378284 -0.316035 9.56005 -0.056459 -0.0106526 -0.04048 0.23 -0.11 pose: 0.45045609 -2.53522 0.187942 0 -0.000216954-0.0009726210.0183386 0.999831 uwb: 0.0 841.937 1299.8 -imu_odom_: 1691062950.81467954 0.217872 0.0526724 9.59117 -0.0681769 -0.0372843 -0.0809601 0.23 -0.11 pose: 0.0 -2.53522 0.187942 0 -0.000216954-0.0009726210.0183386 0.999831 uwb: 0.49964284 840.225 1297.36 -imu_odom_: 1691062950.96588832 0.545878 -0.289698 10.1035 -0.0543285 -0.00319579 -0.0958738 0.23 -0.11 pose: 0.0 -2.53522 0.187942 0 -0.000216954-0.0009726210.0183386 0.999831 uwb: 0.0 840.225 1297.36 -imu_odom_: 1691062950.113382905 0.543484 -0.196325 9.75877 -0.0596548 -0.00958738 -0.155529 0.18 -0.17 pose: 0.74128056 -2.51367 0.193887 0 -0.00207035 6.34209e-05 0.0159851 0.99987 uwb: 0.0 840.225 1297.36 -imu_odom_: 1691062950.127441594 0.893037 -0.11971 9.51456 -0.0553937 -0.0149137 -0.198139 0.18 -0.17 pose: 0.0 -2.51367 0.193887 0 -0.00207035 6.34209e-05 0.0159851 0.99987 uwb: 0.0 840.225 1297.36 -imu_odom_: 1691062950.144496985 0.993594 -0.385466 9.9934 -0.0649811 -0.0223706 -0.233293 0.18 -0.29 pose: 0.38928838 -2.50839 0.192834 0 -0.00111509 -0.00370177 0.0121208 0.999919 uwb: 0.50029905 839.68 1295.89 -imu_odom_: 1691062950.158327312 0.526724 -0.107739 9.78031 -0.0575243 -0.0426106 -0.296144 0.18 -0.29 pose: 0.0 -2.50839 0.192834 0 -0.00111509 -0.00370177 0.0121208 0.999919 uwb: 0.0 839.68 1295.89 -imu_odom_: 1691062950.174429300 0.610521 0.205901 9.38288 -0.0394148 0.00426106 -0.353668 0.18 -0.29 pose: 0.0 -2.50839 0.192834 0 -0.00111509 -0.00370177 0.0121208 0.999919 uwb: 0.0 839.68 1295.89 -imu_odom_: 1691062950.189319482 0.373495 -0.189142 9.46907 -0.0585895 0.00213053 -0.388822 0.19 -0.44 pose: 0.7003387 -2.50386 0.191947 0 -0.00132881 -0.00444285 0.0111652 0.999927 uwb: 0.50123525 838.375 1294 -imu_odom_: 1691062950.205362265 0.25618 -0.0694318 10.5441 -0.036219 -0.015979 -0.417584 0.19 -0.44 pose: 0.0 -2.50386 0.191947 0 -0.00132881 -0.00444285 0.0111652 0.999927 uwb: 0.0 838.375 1294 -imu_odom_: 1691062950.220292112 0.0885855 -0.42138 8.98065 -0.0681769 0.0213053 -0.451672 0.19 -0.44 pose: 0.0 -2.50386 0.191947 0 -0.00132881 -0.00444285 0.0111652 0.999927 uwb: 0.0 838.375 1294 -imu_odom_: 1691062950.236296105 0.306458 -0.0885855 10.0533 -0.0458064 0.0319579 -0.474043 0.18 -0.47 pose: 0.46951250 -2.50386 0.191947 0 0.00144969 -0.00549221 0.00279673 0.99998 uwb: 0.49989658 837.805 1292.61 -imu_odom_: 1691062950.251293615 0.737414 0.0622492 9.91199 -0.0596548 -0.0234358 -0.471912 0.18 -0.47 pose: 0.0 -2.50386 0.191947 0 0.00144969 -0.00549221 0.00279673 0.99998 uwb: 0.0 837.805 1292.61 -imu_odom_: 1691062950.268323924 0.864307 0.035913 9.50977 -0.0607201 -0.00426106 -0.518784 0.18 -0.47 pose: 0.0 -2.50386 0.191947 0 0.00144969 -0.00549221 0.00279673 0.99998 uwb: 0.0 837.805 1292.61 -imu_odom_: 1691062950.282432193 0.191536 -0.150835 9.80186 -0.0681769 -0.0191748 -0.537959 0.18 -0.61 pose: 0.45894602 -2.49405 0.190007 0 0.00184223 -0.00117284 -0.00803905 0.999965 uwb: 0.50134899 837.855 1291.32 -imu_odom_: 1691062950.298433562 0.129287 -0.325611 9.73243 -0.056459 -0.0127832 -0.566721 0.18 -0.53 pose: 0.0 -2.49405 0.190007 0 0.00184223 -0.00117284 -0.00803905 0.999965 uwb: 0.0 837.855 1291.32 -imu_odom_: 1691062950.313434571 0.931344 0.146046 9.97185 -0.0553937 -0.00532632 -0.546481 0.18 -0.53 pose: 0.0 -2.49405 0.190007 0 0.00184223 -0.00117284 -0.00803905 0.999965 uwb: 0.0 837.855 1291.32 -imu_odom_: 1691062950.330445923 1.25935 -0.466869 10.0868 -0.0607201 -0.0596548 -0.498544 0.15 -0.47 pose: 0.62170705 -2.4725 0.196058 0 0.00340345 -0.00129574 -0.0251472 0.999677 uwb: 0.49863956 838.661 1291.07 -imu_odom_: 1691062950.344320581 1.32878 -0.296881 10.3334 -0.0553937 -0.00426106 -0.52198 0.15 -0.47 pose: 0.0 -2.4725 0.196058 0 0.00340345 -0.00129574 -0.0251472 0.999677 uwb: 0.0 838.661 1291.07 -imu_odom_: 1691062950.361357890 1.3216 -0.150835 10.7571 -0.04048 0.0127832 -0.493217 0.15 -0.47 pose: 0.30990712 -2.4725 0.196058 0 0.00337862 -0.00268533 -0.0341434 0.999408 uwb: 0.0 838.661 1291.07 -imu_odom_: 1691062950.375406663 1.35272 -0.311246 9.60793 -0.0660464 -0.0276969 -0.449542 0.14 -0.47 pose: 0.40905640 -2.46268 0.194178 0 0.00277059 -0.00676692 -0.0452429 0.998949 uwb: 0.0 838.661 1291.07 -imu_odom_: 1691062950.392557423 0.919373 -0.332794 9.27993 -0.0330232 0.0287621 -0.380299 0.14 -0.47 pose: 0.6010612 -2.46268 0.194178 0 0.00260738 -0.00741749 -0.0467089 0.998878 uwb: 0.50052946 838.841 1290.14 -imu_odom_: 1691062950.406302005 1.14443 -0.397437 9.94073 -0.0447411 0.0234358 -0.345146 0.14 -0.47 pose: 0.0 -2.46268 0.194178 0 0.00260738 -0.00741749 -0.0467089 0.998878 uwb: 0.0 838.841 1290.14 -imu_odom_: 1691062950.423296733 0.907402 -0.184354 9.81623 -0.0426106 -0.0596548 -0.279099 0.1 -0.32 pose: 0.38933503 -2.46266 0.19416 0 0.00134934 -0.0105782 -0.0548825 0.998436 uwb: 0.0 838.841 1290.14 -imu_odom_: 1691062950.440296127 0.459687 -0.493206 9.46188 -0.0436758 0.0255663 -0.24288 0.1 -0.32 pose: 0.0 -2.46266 0.19416 0 0.00134934 -0.0105782 -0.0548825 0.998436 uwb: 0.49864248 840.162 1290.15 -imu_odom_: 1691062950.457288522 0.550666 -0.45011 10.0868 -0.0383495 0.0106526 -0.252468 0.1 -0.32 pose: 0.0 -2.46266 0.19416 0 0.00134934 -0.0105782 -0.0548825 0.998436 uwb: 0.0 840.162 1290.15 -imu_odom_: 1691062950.474350621 0.378284 -0.110133 9.8665 -0.0585895 -0.0415453 -0.232228 0.09 -0.26 pose: 0.40996927 -2.45286 0.192258 0 -0.000532664-0.0112635 -0.0609719 0.998076 uwb: 0.0 840.162 1290.15 -imu_odom_: 1691062950.491312976 0.670376 -0.23942 9.88566 -0.0617853 -0.0127832 -0.218379 0.12 -0.41 pose: 0.0 -2.45286 0.192258 0 -0.000532664-0.0112635 -0.0609719 0.998076 uwb: 0.49932494 839.458 1288.44 -imu_odom_: 1691062950.508287871 1.02232 -0.342371 9.73722 -0.0681769 -0.0500674 -0.186421 0.12 -0.41 pose: 0.34053035 -2.45286 0.192258 0 -0.000809564-0.0103402 -0.0656369 0.99779 uwb: 0.0 839.458 1288.44 -imu_odom_: 1691062950.524423690 0.948104 -0.253785 9.97664 -0.0617853 0.00532632 -0.170442 0.07 -0.2 pose: 0.0 -2.45286 0.192258 0 -0.000809564-0.0103402 -0.0656369 0.99779 uwb: 0.0 839.458 1288.44 -imu_odom_: 1691062950.541290967 0.708684 -0.124498 10.07 -0.0575243 -0.0170442 -0.160855 0.07 -0.2 pose: 0.0 -2.45286 0.192258 0 -0.000809564-0.0103402 -0.0656369 0.99779 uwb: 0.49996949 838.947 1286.99 -imu_odom_: 1691062950.557401413 0.687136 -0.158017 9.8689 -0.0575243 -0.00639159 -0.15979 0.07 -0.2 pose: 0.34009580 -2.45286 0.192258 0 -0.00202798 -0.0139444 -0.069564 0.997478 uwb: 0.0 838.947 1286.99 -imu_odom_: 1691062950.574347144 0.658405 -0.316035 9.79228 -0.0490022 -0.00106526 -0.155529 0.07 -0.23 pose: 0.42039866 -2.44304 0.190369 0 0.001095 -0.0148828 -0.0738497 0.997158 uwb: 0.0 838.947 1286.99 -imu_odom_: 1691062950.592365854 0.550666 -0.335188 9.91439 -0.056459 0 -0.144876 0.07 -0.23 pose: 0.8008413 -2.44304 0.190369 0 0.000364117 -0.0146479 -0.0746174 0.997105 uwb: 0.50041863 839.293 1286.38 -imu_odom_: 1691062950.606434459 0.667982 -0.316035 10.0389 -0.0543285 0.00639159 -0.13955 0.07 -0.23 pose: 0.0 -2.44304 0.190369 0 0.000364117 -0.0146479 -0.0746174 0.997105 uwb: 0.0 839.293 1286.38 -imu_odom_: 1691062950.623431520 0.588974 -0.129287 9.8665 -0.0596548 -0.015979 -0.11931 0.04 -0.14 pose: 0.41024633 -2.44304 0.190369 0 -0.00298125 -0.0128833 -0.0783528 0.996838 uwb: 0.0 839.293 1286.38 -imu_odom_: 1691062950.640567406 0.584185 -0.335188 9.7037 -0.0596548 0.00213053 -0.107592 0.05 -0.11 pose: 0.0 -2.44304 0.190369 0 -0.00298125 -0.0128833 -0.0783528 0.996838 uwb: 0.50151523 838.405 1285.04 -imu_odom_: 1691062950.657618131 0.694318 -0.229843 9.87608 -0.0596548 -0.0330232 -0.092678 0.05 -0.11 pose: 0.0 -2.44304 0.190369 0 -0.00298125 -0.0128833 -0.0783528 0.996838 uwb: 0.0 838.405 1285.04 -imu_odom_: 1691062950.675342275 0.703895 -0.289698 9.75637 -0.0532632 0.00213053 -0.0798948 0.04 -0.08 pose: 0.25012182 -2.44304 0.190369 0 -0.00215552 -0.0118305 -0.0802971 0.996698 uwb: 0.0 838.405 1285.04 -imu_odom_: 1691062950.691416556 0.684742 -0.251391 9.96467 -0.052198 -0.00639159 -0.072438 0.04 -0.08 pose: 0.0 -2.44304 0.190369 0 -0.00215552 -0.0118305 -0.0802971 0.996698 uwb: 0.49946202 839.794 1284.9 -imu_odom_: 1691062950.708473697 0.593762 -0.234632 9.82102 -0.0553937 -0.00319579 -0.0617853 0.04 -0.08 pose: 0.34085700 -2.44304 0.190369 0 -0.00314631 -0.0136762 -0.0825515 0.996488 uwb: 0.0 839.794 1284.9 -imu_odom_: 1691062950.726348332 0.667982 -0.268151 9.93594 -0.0596548 -0.00852212 -0.0479369 0.03 -0.05 pose: 0.42941356 -2.44304 0.190369 0 -0.00210082 -0.0122767 -0.0849062 0.996311 uwb: 0.0 839.794 1284.9 -imu_odom_: 1691062950.743580463 0.471658 -0.282516 9.90242 -0.0607201 -0.00319579 -0.0479369 0.03 -0.05 pose: 0.7947458 -2.44304 0.190369 0 -0.00281834 -0.0126632 -0.0852445 0.996276 uwb: 0.50114776 840.151 1284.27 -imu_odom_: 1691062950.761286525 0.677559 -0.294487 9.94312 -0.0500674 0.00106526 -0.0447411 0.03 -0.05 pose: 0.0 -2.44304 0.190369 0 -0.00281834 -0.0126632 -0.0852445 0.996276 uwb: 0.0 840.151 1284.27 -imu_odom_: 1691062950.778320917 0.632069 -0.186748 9.90721 -0.0607201 -0.0117179 -0.0170442 0.02 -0.02 pose: 0.44865370 -2.43737 0.189251 0 -0.00471167 -0.0128247 -0.0871494 0.996102 uwb: 0.0 840.151 1284.27 -imu_odom_: 1691062950.795256440 0.591368 -0.368707 9.8258 -0.056459 -0.00426106 -0.00213053 0.02 -0.02 pose: 0.0 -2.43737 0.189251 0 -0.00471167 -0.0128247 -0.0871494 0.996102 uwb: 0.49930161 839.026 1282.79 -imu_odom_: 1691062950.812435491 0.593762 -0.179565 9.94791 -0.0500674 -0.00639159 -0.00106526 0.02 -0.02 pose: 0.0 -2.43737 0.189251 0 -0.00471167 -0.0128247 -0.0871494 0.996102 uwb: 0.0 839.026 1282.79 -imu_odom_: 1691062950.828549728 0.612916 -0.181959 9.82341 -0.0553937 -0.0127832 0.0138484 0.01 -0.02 pose: 0.24047404 -2.43323 0.188434 0 -0.00368266 -0.012167 -0.0877882 0.996058 uwb: 0.0 839.026 1282.79 -imu_odom_: 1691062950.846555897 0.703895 -0.306458 9.91199 -0.0585895 -0.00852212 0.0191748 0.01 -0.02 pose: 0.0 -2.43323 0.188434 0 -0.00368266 -0.012167 -0.0877882 0.996058 uwb: 0.50068403 838.473 1282.04 -imu_odom_: 1691062950.863456714 0.708684 -0.258574 9.85453 -0.0532632 -0.00319579 0.0245011 0.01 -0.02 pose: 0.35295172 -2.43323 0.188434 0 -0.00202875 -0.0111032 -0.0884612 0.996016 uwb: 0.0 838.473 1282.04 -imu_odom_: 1691062950.877366953 0.667982 -0.23942 9.88566 -0.0553937 -0.00213053 0.0383495 0.01 0 pose: 0.42827613 -2.43323 0.188434 0 -0.0031494 -0.0138545 -0.0888621 0.995943 uwb: 0.0 838.473 1282.04 -imu_odom_: 1691062950.893360155 0.639252 -0.282516 9.89763 -0.0532632 0 0.0447411 0.01 0 pose: 0.5911450 -2.43323 0.188434 0 -0.00266202 -0.0135129 -0.088872 0.995948 uwb: 0.49805626 839.445 1282.05 -imu_odom_: 1691062950.910350217 0.579397 -0.196325 9.87608 -0.0532632 0.00213053 0.0468716 0.01 0 pose: 0.0 -2.43323 0.188434 0 -0.00266202 -0.0135129 -0.088872 0.995948 uwb: 0.0 839.445 1282.05 -imu_odom_: 1691062950.934303418 0.550666 -0.244209 9.85932 -0.056459 -0.00426106 0.0490022 0 0.02 pose: 0.40982053 -2.43323 0.188434 0 -0.00211558 -0.0110764 -0.0887759 0.995988 uwb: 0.50134024 838.393 1281.04 -imu_odom_: 1691062950.950353784 0.349553 -0.251391 9.991 -0.052198 0.0394148 0.04048 0 0 pose: 0.0 -2.43323 0.188434 0 -0.00211558 -0.0110764 -0.0887759 0.995988 uwb: 0.0 838.393 1281.04 -imu_odom_: 1691062950.967474213 -0.775721 -0.186748 9.73961 -0.0479369 0.0905475 0.0553937 0 0 pose: 0.30028851 -2.43323 0.188434 0 -0.00212445 -0.00793866 -0.0886571 0.996028 uwb: 0.0 838.393 1281.04 -imu_odom_: 1691062950.984282285 -1.24498 -0.418985 9.86411 -0.0575243 0.00106526 0.0756338 0.03 0.02 pose: 0.0 -2.43323 0.188434 0 -0.00212445 -0.00793866 -0.0886571 0.996028 uwb: 0.49838875 838.268 1280.13 -imu_odom_: 1691062951.1320760 -0.593762 -0.299275 9.86411 -0.0585895 -0.0649811 0.052198 0.03 0.02 pose: 0.0 -2.43323 0.188434 0 -0.00212445 -0.00793866 -0.0886571 0.996028 uwb: 0.0 838.268 1280.13 -imu_odom_: 1691062951.18255991 0.378284 -0.023942 9.92397 -0.0532632 -0.0617853 0.04048 0.03 0.02 pose: 0.35098308 -2.43323 0.188434 0 -0.00170106 -0.00339981 -0.0883723 0.99608 uwb: 0.0 838.268 1280.13 -imu_odom_: 1691062951.36320491 0.529119 -0.225055 9.96467 -0.0703074 -0.00532632 0.0596548 0.06 0 pose: 0.42778615 -2.43323 0.188434 0 -8.29919e-05-0.00154159 -0.088096 0.996111 uwb: 0.50001907 838.259 1279.58 -imu_odom_: 1691062951.50302476 0.268151 -0.459687 9.7851 -0.0575243 0.015979 0.0543285 0.06 0 pose: 0.8005789 -2.43323 0.188434 0 -0.000308275-0.00232408 -0.0880158 0.996116 uwb: 0.0 838.259 1279.58 -imu_odom_: 1691062951.67295163 -0.265756 -0.308852 9.94312 -0.0490022 -0.00639159 0.0585895 0.06 0 pose: 0.0 -2.43323 0.188434 0 -0.000308275-0.00232408 -0.0880158 0.996116 uwb: 0.0 838.259 1279.58 -imu_odom_: 1691062951.83246076 0.011971 -0.217872 10.0772 -0.056459 -0.0308927 0.0617853 0.08 0.02 pose: 0.41033383 -2.43322 0.188416 0 -0.00154309 -0.000499015-0.087645 0.99615 uwb: 0.49989658 839.456 1280.32 -imu_odom_: 1691062951.100237887 0.25618 -0.3304 9.96467 -0.0500674 -0.0106526 0.0479369 0.11 0 pose: 0.0 -2.43322 0.188416 0 -0.00154309 -0.000499015-0.087645 0.99615 uwb: 0.0 839.456 1280.32 -imu_odom_: 1691062951.117235532 0.277727 -0.191536 10.3669 -0.0458064 -0.0213053 0.0468716 0.11 0 pose: 0.0 -2.43322 0.188416 0 -0.00154309 -0.000499015-0.087645 0.99615 uwb: 0.0 839.456 1280.32 -imu_odom_: 1691062951.134422457 0.342371 -0.371101 9.40921 -0.0436758 -0.00426106 0.0532632 0.12 0.02 pose: 0.22956634 -2.42342 0.186486 0 -0.00164705 0.00145798 -0.0874362 0.996168 uwb: 0.50135192 839.225 1279.59 -imu_odom_: 1691062951.150423826 0.368707 -0.201113 10.4076 -0.052198 -0.00958738 0.052198 0.12 0.02 pose: 0.0 -2.42342 0.186486 0 -0.00164705 0.00145798 -0.0874362 0.996168 uwb: 0.0 839.225 1279.59 -imu_odom_: 1691062951.168472285 0.107739 -0.19393 10.2663 -0.0479369 0.0138484 0.0511327 0.12 0.02 pose: 0.33993539 -2.42342 0.186486 0 -0.00148051 0.00340017 -0.0872809 0.996177 uwb: 0.0 839.225 1279.59 -imu_odom_: 1691062951.185292314 0.363919 -0.277727 9.89763 -0.0585895 -0.00852212 0.0543285 0.1 0 pose: 0.44226949 -2.42342 0.186486 0 -0.0004585730.00453193 -0.0870048 0.996197 uwb: 0.49993741 840.808 1280.23 -imu_odom_: 1691062951.199402334 0.454898 -0.215478 9.99819 -0.0692422 0.0298274 0.0490022 0.1 0 pose: 0.6998429 -2.42342 0.186486 0 -0.0009984590.00405728 -0.086956 0.996203 uwb: 0.0 840.808 1280.23 -imu_odom_: 1691062951.215401661 1.11809 -0.186748 10.1059 -0.0607201 -0.0585895 0.0447411 0.1 0 pose: 0.0 -2.42342 0.186486 0 -0.0009984590.00405728 -0.086956 0.996203 uwb: 0.0 840.808 1280.23 -imu_odom_: 1691062951.232270688 1.10612 -0.0263362 9.60075 -0.056459 -0.0500674 0.0543285 0.1 0 pose: 0.39930947 -2.41361 0.184549 0 -0.00158305 0.00023962 -0.0867837 0.996226 uwb: 0.49875914 841.891 1280.6 -imu_odom_: 1691062951.250258192 1.14922 -0.296881 9.99579 -0.0490022 0 0.0937433 0.09 -0.02 pose: 0.0 -2.41361 0.184549 0 -0.00158305 0.00023962 -0.0867837 0.996226 uwb: 0.0 841.891 1280.6 -imu_odom_: 1691062951.267368705 1.1133 -0.560243 10.0533 -0.0639159 -0.0500674 0.113983 0.09 -0.02 pose: 0.0 -2.41361 0.184549 0 -0.00158305 0.00023962 -0.0867837 0.996226 uwb: 0.0 841.891 1280.6 -imu_odom_: 1691062951.281364981 1.32639 -0.143652 10.2041 -0.0436758 -0.0287621 0.0756338 0.09 -0.02 pose: 0.24899605 -2.41361 0.184549 0 -0.00137845 -0.00257049 -0.0864455 0.996252 uwb: 0.49995491 841.239 1280.04 -imu_odom_: 1691062951.298257631 1.1133 -0.131681 9.56244 -0.052198 0 0.0585895 0.07 0 pose: 0.0 -2.41361 0.184549 0 -0.00137845 -0.00257049 -0.0864455 0.996252 uwb: 0.0 841.239 1280.04 -imu_odom_: 1691062951.314388493 1.09894 -0.19393 10.149 -0.0671117 0.0106526 0.0745685 0.07 0 pose: 0.0 -2.41361 0.184549 0 -0.00137845 -0.00257049 -0.0864455 0.996252 uwb: 0.0 841.239 1280.04 -imu_odom_: 1691062951.331398386 0.567426 -0.526724 9.9503 -0.056459 0.0436758 0.0255663 0.07 0 pose: 0.74087227 -2.4038 0.182642 0 -0.00223627 -0.0100783 -0.0848587 0.99634 uwb: 0.49996366 841.53 1279.53 -imu_odom_: 1691062951.348398364 0.407014 -0.0885855 10.0556 -0.052198 -0.0319579 -0.0287621 0.07 0 pose: 0.0 -2.4038 0.182642 0 -0.00223627 -0.0100783 -0.0848587 0.99634 uwb: 0.0 841.53 1279.53 -imu_odom_: 1691062951.365397758 0.691924 0.00957681 9.65582 -0.0628506 -0.015979 -0.0223706 0.07 0 pose: 0.0 -2.4038 0.182642 0 -0.00223627 -0.0100783 -0.0848587 0.99634 uwb: 0.0 841.53 1279.53 -imu_odom_: 1691062951.381275759 0.955286 -0.488417 10.1275 -0.0671117 -0.0191748 0.00852212 0.04 0 pose: 0.8054785 -2.4038 0.182642 0 -0.003012 -0.00971458 -0.084907 0.996337 uwb: 0.49933953 840.905 1278.36 -imu_odom_: 1691062951.398350983 0.792481 -0.519542 9.94312 -0.0532632 0 0.00745685 0.05 0.02 pose: 0.0 -2.4038 0.182642 0 -0.003012 -0.00971458 -0.084907 0.996337 uwb: 0.0 840.905 1278.36 -imu_odom_: 1691062951.416390984 0.577003 -0.208296 10.0844 -0.0500674 0.0117179 0.056459 0.05 0.02 pose: 0.65983152 -2.4038 0.182642 0 -0.00293903 -0.0110302 -0.086431 0.996192 uwb: 0.0 840.905 1278.36 -imu_odom_: 1691062951.441445747 0.476446 -0.225055 10.1251 -0.0543285 -0.0181095 0.0681769 0.04 0 pose: 0.0 -2.4038 0.182642 0 -0.00293903 -0.0110302 -0.086431 0.996192 uwb: 0.50327972 841.566 1278.33 -imu_odom_: 1691062951.467309838 -0.600945 -0.153229 9.66539 -0.0660464 0.0916127 0.0436758 0.04 0 pose: 0.35909679 -2.4038 0.182642 0 -0.00217381 -0.00946459 -0.0863294 0.996219 uwb: 0.0 841.566 1278.33 -imu_odom_: 1691062951.492268940 -1.01035 -0.469264 9.89763 -0.0617853 -0.0468716 0.0543285 0.07 0 pose: 0.42973729 -2.4038 0.182642 0 -0.00141962 -0.00411276 -0.086037 0.996282 uwb: 0.49942411 843.432 1279.57 -imu_odom_: 1691062951.509369245 -0.0335188 -0.220267 10.1801 -0.0511327 -0.0596548 0.0490022 0.07 0 pose: 0.0 -2.4038 0.182642 0 -0.00141962 -0.00411276 -0.086037 0.996282 uwb: 0.0 843.432 1279.57 -imu_odom_: 1691062951.533236118 0.490811 -0.356736 9.75158 -0.0543285 -0.0117179 0.0458064 0.09 0 pose: 0.42059407 -2.39398 0.180724 0 -0.00148734 -0.00092543 -0.0857664 0.996314 uwb: 0.49741172 843.538 1279.95 -imu_odom_: 1691062951.557260774 0.229843 -0.296881 9.77792 -0.0468716 0.00426106 0.0383495 0.09 0 pose: 0.0 -2.39398 0.180724 0 -0.00148734 -0.00092543 -0.0857664 0.996314 uwb: 0.0 843.538 1279.95 -imu_odom_: 1691062951.582364826 0.205901 -0.37589 9.90481 -0.0436758 -0.0213053 0.0447411 0.14 0 pose: 0.31024252 -2.39398 0.180724 0 -0.00359652 -0.0012979 -0.0856931 0.996314 uwb: 0.50127900 843.002 1279.19 -imu_odom_: 1691062951.607296221 0.354342 -0.184354 10.1945 -0.0607201 -0.00639159 0.0585895 0.11 0.02 pose: 0.24999350 -2.39398 0.180724 0 -0.00373803 0.00114531 -0.0856738 0.996316 uwb: 0.0 843.002 1279.19 -imu_odom_: 1691062951.624362695 0.452504 -0.339977 10.1562 -0.056459 -0.00106526 0.0553937 0.11 0.02 pose: 0.0 -2.39398 0.180724 0 -0.00373803 0.00114531 -0.0856738 0.996316 uwb: 0.0 843.002 1279.19 -imu_odom_: 1691062951.649229927 0.181959 -0.268151 9.77074 -0.0490022 -0.0170442 0.0479369 0.12 0 pose: 0.24030197 -2.38417 0.178813 0 -0.00356117 0.00254282 -0.0855556 0.996324 uwb: 0.49950869 842.642 1278.13 -imu_odom_: 1691062951.673294539 0.512359 -0.553061 10.1299 -0.0500674 -0.0276969 0.0543285 0.12 0 pose: 0.0 -2.38417 0.178813 0 -0.00356117 0.00254282 -0.0855556 0.996324 uwb: 0.0 842.642 1278.13 -imu_odom_: 1691062951.690382304 0.445322 -0.332794 10.003 -0.0479369 -0.036219 0.0511327 0.12 0 pose: 0.0 -2.38417 0.178813 0 -0.00356117 0.00254282 -0.0855556 0.996324 uwb: 0.50039822 842.02 1277.53 -imu_odom_: 1691062951.716423426 -0.0454898 -0.222661 9.90002 -0.0543285 0.0276969 0.052198 0.17 0.02 pose: 0.90960045 -2.37435 0.17691 0 -0.00501502 0.00141551 -0.0849361 0.996373 uwb: 0.0 842.02 1277.53 -imu_odom_: 1691062951.741240495 0.500388 -0.248997 10.4291 -0.0617853 0.00426106 0.0607201 0.18 0 pose: 0.36040337 -2.37435 0.17691 0 -0.00451635 0.00321603 -0.084708 0.99639 uwb: 0.49846166 842.183 1277.24 -imu_odom_: 1691062951.755214897 0.658405 -0.323217 9.91678 -0.0607201 -0.0447411 0.0511327 0.18 0 pose: 0.0 -2.37435 0.17691 0 -0.00451635 0.00321603 -0.084708 0.99639 uwb: 0.0 842.183 1277.24 -imu_odom_: 1691062951.778344188 0.533907 -0.237026 9.79228 -0.0490022 -0.0191748 0.0553937 0.18 0 pose: 0.0 -2.37435 0.17691 0 -0.00451635 0.00321603 -0.084708 0.99639 uwb: 0.0 842.183 1277.24 -imu_odom_: 1691062951.804280025 -0.158017 -0.31364 9.6223 -0.0490022 0.0127832 0.0415453 0.13 0 pose: 0.6976848 -2.37435 0.17691 0 -0.00432553 0.00258173 -0.0846371 0.996399 uwb: 0.50006282 842.899 1277.11 -imu_odom_: 1691062951.827303155 0.584185 -0.136469 10.2065 -0.056459 -0.0330232 0.0500674 0.15 0 pose: 0.38872549 -2.36453 0.175018 0 -0.00389426 -0.00139506 -0.0843268 0.99643 uwb: 0.0 842.899 1277.11 -imu_odom_: 1691062951.851433097 0.251391 -0.237026 9.94073 -0.076699 -0.0170442 0.0585895 0.15 0 pose: 0.0 -2.36453 0.175018 0 -0.00389426 -0.00139506 -0.0843268 0.99643 uwb: 0.49988492 843.478 1276.65 -imu_odom_: 1691062951.868241461 0.134075 -0.531513 9.14106 -0.0617853 0.00426106 0.0394148 0.19 0.02 pose: 0.48977050 -2.35471 0.173134 0 -0.00271504 -0.000869578-0.0841385 0.99645 uwb: 0.0 843.478 1276.65 -imu_odom_: 1691062951.885223356 0.711078 -0.220267 9.9527 -0.0458064 -0.0372843 0.04048 0.19 0.02 pose: 0.0 -2.35471 0.173134 0 -0.00271504 -0.000869578-0.0841385 0.99645 uwb: 0.50278974 844.661 1276.8 -imu_odom_: 1691062951.910364739 0.418985 -0.409408 9.84496 -0.0628506 0.00213053 0.052198 0.15 0 pose: 0.47019204 -2.35471 0.173134 0 -0.00226088 0.000380561 -0.0838262 0.996478 uwb: 0.0 844.661 1276.8 -imu_odom_: 1691062951.934333981 0.617704 -0.0383072 9.50259 -0.0607201 -0.0170442 0.0426106 0.15 0 pose: 0.0 -2.35471 0.173134 0 -0.00226088 0.000380561 -0.0838262 0.996478 uwb: 0.49926662 844.133 1276.05 -imu_odom_: 1691062951.960245612 0.225055 -0.227449 9.56244 -0.0703074 0.00958738 0.0756338 0.2 0 pose: 0.33972541 -2.34489 0.171259 0 -0.00347591 -0.000701167-0.083777 0.996478 uwb: 0.0 844.133 1276.05 -imu_odom_: 1691062951.982218219 0.68953 -0.143652 10.3573 -0.052198 0.00852212 0.0383495 0.2 0 pose: 0.0 -2.34489 0.171259 0 -0.00347591 -0.000701167-0.083777 0.996478 uwb: 0.49686926 844.662 1276.24 -imu_odom_: 1691062952.7223402 0.691924 -0.378284 10.2615 -0.0585895 0.00532632 0.0543285 0.17 0 pose: 0.50123525 -2.33506 0.169386 0 -0.00340488 -0.00131197 -0.0834872 0.996502 uwb: 0.0 844.662 1276.24 -imu_odom_: 1691062952.31256516 0.61531 -0.124498 10.1634 -0.0479369 -0.0468716 0.0308927 0.17 0 pose: 0.0 -2.33506 0.169386 0 -0.00340488 -0.00131197 -0.0834872 0.996502 uwb: 0.50117109 845.214 1276.38 -imu_odom_: 1691062952.48201955 0.557849 -0.241814 9.75877 -0.0756338 -0.00213053 0.0660464 0.24 0 pose: 0.48937677 -2.32524 0.167519 0 -0.00266497 -0.00214741 -0.083116 0.996534 uwb: 0.0 845.214 1276.38 -imu_odom_: 1691062952.74193789 0.337582 -0.572214 10.0221 -0.0617853 -0.00319579 0.0649811 0.24 0 pose: 0.0 -2.32524 0.167519 0 -0.00266497 -0.00214741 -0.083116 0.996534 uwb: 0.0 845.214 1276.38 -imu_odom_: 1691062952.99478373 0.651223 -0.253785 9.83538 -0.0628506 0.0170442 0.0511327 0.21 -0.02 pose: 0.46898170 -2.32524 0.167519 0 -0.00194414 -0.00638468 -0.0830231 0.996525 uwb: 0.50065196 845.043 1275.56 -imu_odom_: 1691062952.116479809 0.138864 -0.292093 9.46667 -0.0458064 0.00958738 0.0383495 0.21 -0.02 pose: 0.0 -2.32524 0.167519 0 -0.00194414 -0.00638468 -0.0830231 0.996525 uwb: 0.0 845.043 1275.56 -imu_odom_: 1691062952.141225132 0.172383 -0.294487 9.44991 -0.0479369 -0.00106526 0.0532632 0.21 0.02 pose: 0.43229507 -2.31541 0.16566 0 -0.00420035 -0.00636894 -0.082508 0.996561 uwb: 0.49993741 845.24 1275.21 -imu_odom_: 1691062952.166230023 0.378284 -0.0574608 9.95748 -0.0383495 0.0170442 0.04048 0.21 0.02 pose: 0.0 -2.31541 0.16566 0 -0.00420035 -0.00636894 -0.082508 0.996561 uwb: 0.0 845.24 1275.21 -imu_odom_: 1691062952.190215014 0.682347 -0.102951 10.5489 -0.056459 0.00426106 0.0596548 0.2 0 pose: 0.42885943 -2.30559 0.163811 0 -0.00371157 -0.00534357 -0.0823631 0.996581 uwb: 0.50046530 844.844 1274.23 -imu_odom_: 1691062952.207261073 0.122104 -0.320823 9.59596 -0.0628506 0.00106526 0.052198 0.2 0 pose: 0.0 -2.30559 0.163811 0 -0.00371157 -0.00534357 -0.0823631 0.996581 uwb: 0.0 844.844 1274.23 -imu_odom_: 1691062952.231321602 0.299275 -0.158017 9.56484 -0.0585895 0.00745685 0.0532632 0.17 0 pose: 0.50058196 -2.29576 0.161967 0 -0.000673621-0.00323281 -0.0821572 0.996614 uwb: 0.50032532 844.714 1273.34 -imu_odom_: 1691062952.257262981 0.483629 -0.442927 9.88566 -0.0596548 0 0.0436758 0.17 0 pose: 0.40908849 -2.28593 0.160127 0 -9.7067e-05 -0.00211189 -0.0818397 0.996643 uwb: 0.0 844.714 1273.34 -imu_odom_: 1691062952.270241107 0.521936 -0.155623 9.80904 -0.0553937 -0.00852212 0.0394148 0.17 0 pose: 0.41979496 -2.28593 0.160127 0 -0.00201607 -0.0010301 -0.0816771 0.996656 uwb: 0.0 844.714 1273.34 -imu_odom_: 1691062952.295465902 0.596156 -0.356736 9.67497 -0.0511327 -0.0191748 0.0447411 0.17 0 pose: 0.0 -2.28593 0.160127 0 -0.00201607 -0.0010301 -0.0816771 0.996656 uwb: 0.49919079 846.005 1273.29 -imu_odom_: 1691062952.320346259 0.758962 -0.246603 9.82102 -0.0383495 -0.0223706 0.0426106 0.22 0 pose: 0.38202921 -2.2761 0.158294 0 -0.00287688 -0.00406455 -0.0816136 0.996652 uwb: 0.0 846.005 1273.29 -imu_odom_: 1691062952.345315861 0.4956 -0.189142 9.77792 -0.0649811 -0.0181095 0.0639159 0.22 0 pose: 0.0 -2.2761 0.158294 0 -0.00287688 -0.00406455 -0.0816136 0.996652 uwb: 0.50183605 845.655 1272.79 -imu_odom_: 1691062952.362188679 0.828394 -0.222661 9.8689 -0.052198 -0.0436758 0.0394148 0.2 0 pose: 0.32900728 -2.26627 0.156463 0 -0.00206325 -0.00647576 -0.0814873 0.996651 uwb: 0.0 845.655 1272.79 -imu_odom_: 1691062952.378296792 0.826 -0.435745 9.81623 -0.0426106 0.0756338 0.0447411 0.2 0 pose: 0.0 -2.26627 0.156463 0 -0.00206325 -0.00647576 -0.0814873 0.996651 uwb: 0.0 845.655 1272.79 -imu_odom_: 1691062952.395457469 0.0215478 -0.469264 9.73243 -0.0319579 -0.00958738 0.04048 0.2 0 pose: 0.25050388 -2.26627 0.156463 0 -0.000730696-0.00676295 -0.0812907 0.996667 uwb: 0.49743798 845.876 1272.4 -imu_odom_: 1691062952.420181501 0.0335188 -0.0311246 9.43076 -0.052198 -0.0191748 0.0479369 0.24 0 pose: 0.0 -2.26627 0.156463 0 -0.000730696-0.00676295 -0.0812907 0.996667 uwb: 0.0 845.876 1272.4 -imu_odom_: 1691062952.445462001 0.3304 -0.474052 9.43076 -0.0660464 0.00106526 0.0394148 0.23 0 pose: 0.66764483 -2.25643 0.154638 0 -0.000944158-0.00477812 -0.0811253 0.996692 uwb: 0.50017074 845.229 1271.33 -imu_odom_: 1691062952.468250645 0.718261 -0.294487 9.65582 -0.0671117 -0.00319579 0.0468716 0.23 0 pose: 0.0 -2.25643 0.154638 0 -0.000944158-0.00477812 -0.0811253 0.996692 uwb: 0.0 845.229 1271.33 -imu_odom_: 1691062952.493193998 0.387861 -0.368707 9.71806 -0.0639159 0.0585895 0.0415453 0.18 0 pose: 0.8083367 -2.25643 0.154638 0 -0.00162423 -0.00425715 -0.0811228 0.996694 uwb: 0.49982075 843.812 1269.43 -imu_odom_: 1691062952.511392365 0.155623 -0.0263362 10.1227 -0.0511327 -0.00426106 0.0500674 0.18 0 pose: 0.0 -2.25643 0.154638 0 -0.00162423 -0.00425715 -0.0811228 0.996694 uwb: 0.0 843.812 1269.43 -imu_odom_: 1691062952.529276626 0.325611 -0.0574608 9.64145 -0.0852212 -0.0660464 0.0692422 0.2 0 pose: 0.49082336 -2.2466 0.152816 0 -0.00412751 -0.00430841 -0.0810267 0.996694 uwb: 0.0 843.812 1269.43 -imu_odom_: 1691062952.554301349 0.0191536 -0.272939 10.094 -0.0575243 0.0149137 0.0266316 0.2 0 pose: 0.0 -2.2466 0.152816 0 -0.00412751 -0.00430841 -0.0810267 0.996694 uwb: 0.49922579 843.399 1267.44 -imu_odom_: 1691062952.572376348 -0.11971 -0.138864 9.11473 -0.052198 0.0628506 0.0415453 0.19 0 pose: 0.42125320 -2.23677 0.150996 0 -0.00300491 -0.00119366 -0.0807865 0.996726 uwb: 0.0 843.399 1267.44 -imu_odom_: 1691062952.596170892 -0.486023 -0.299275 11.6406 -0.0298274 0.0287621 0.0372843 0.19 0 pose: 0.0 -2.23677 0.150996 0 -0.00300491 -0.00119366 -0.0807865 0.996726 uwb: 0.50190606 843.792 1266.77 -imu_odom_: 1691062952.620349831 -0.0957681 -0.0933739 11.0636 -0.0543285 -0.0223706 0.0585895 0.24 0 pose: 0.42740702 -2.22694 0.149181 0 -0.00188008 0.00262454 -0.080788 0.996726 uwb: 0.0 843.792 1266.77 -imu_odom_: 1691062952.638506784 0.847547 -0.339977 8.79869 -0.0511327 -0.0500674 0.0575243 0.24 0 pose: 0.0 -2.22694 0.149181 0 -0.00188008 0.00262454 -0.080788 0.996726 uwb: 0.49954368 843.893 1266.07 -imu_odom_: 1691062952.655182739 0.483629 0.102951 10.1275 -0.0511327 0 0.0628506 0.24 0 pose: 0.0 -2.22694 0.149181 0 -0.00188008 0.00262454 -0.080788 0.996726 uwb: 0.0 843.893 1266.07 -imu_odom_: 1691062952.680179755 0.509965 -0.047884 10.5345 -0.052198 -0.0436758 0.0234358 0.18 0 pose: 0.42033451 -2.2171 0.147365 0 -0.0007372350.00731803 -0.0807198 0.99671 uwb: 0.49968368 843.178 1264.63 -imu_odom_: 1691062952.706221170 0.754174 0.0215478 10.1131 -0.0553937 -0.00532632 0.0394148 0.19 -0.02 pose: 0.75933078 -2.20727 0.145551 0 0.00220683 0.00281743 -0.0803951 0.996757 uwb: 0.0 843.178 1264.63 -imu_odom_: 1691062952.722313242 0.0790087 -0.426168 9.38288 -0.0660464 -0.00319579 0.0479369 0.19 -0.02 pose: 0.0 -2.20727 0.145551 0 0.00220683 0.00281743 -0.0803951 0.996757 uwb: 0.0 843.178 1264.63 -imu_odom_: 1691062952.747242596 0.275333 -0.270545 9.3326 -0.0617853 -0.0170442 0.0351537 0.18 0 pose: 0.7213668 -2.20727 0.145551 0 0.00246504 0.00213925 -0.0803936 0.996758 uwb: 0.49916163 842.292 1262.98 -imu_odom_: 1691062952.770166274 0.318429 -0.308852 9.82102 -0.0500674 -0.0106526 0.0468716 0.18 0 pose: 0.0 -2.20727 0.145551 0 0.00246504 0.00213925 -0.0803936 0.996758 uwb: 0.0 842.292 1262.98 -imu_odom_: 1691062952.795146375 0.134075 -0.402226 9.90242 -0.0575243 -0.00426106 0.0639159 0.2 0 pose: 0.41934581 -2.19743 0.143743 0 0.00162789 0.00218243 -0.0803443 0.996763 uwb: 0.50120901 842.378 1262.32 -imu_odom_: 1691062952.812151894 0.866701 -0.146046 10.0006 -0.0458064 -0.0191748 0.0511327 0.2 0 pose: 0.0 -2.19743 0.143743 0 0.00162789 0.00218243 -0.0803443 0.996763 uwb: 0.0 842.378 1262.32 -imu_odom_: 1691062952.836176842 0.577003 -0.134075 9.79228 -0.052198 0.00213053 0.036219 0.18 0.02 pose: 0.49894289 -2.1876 0.141937 0 -0.00224727 0.00471979 -0.0802035 0.996765 uwb: 0.49847625 842.068 1261.28 -imu_odom_: 1691062952.861200107 0.713472 0.0191536 10.1083 -0.0436758 -0.0479369 0.0458064 0.18 0.02 pose: 0.0 -2.1876 0.141937 0 -0.00224727 0.00471979 -0.0802035 0.996765 uwb: 0.0 842.068 1261.28 -imu_odom_: 1691062952.875164593 0.31364 -0.328006 9.00938 -0.0713727 0.0191748 0.0628506 0.18 0.02 pose: 0.40056065 -2.17776 0.140135 0 -0.00247103 0.00362408 -0.0799299 0.996791 uwb: 0.0 842.068 1261.28 -imu_odom_: 1691062952.899167667 0.392649 -0.354342 9.63906 -0.0607201 -0.0276969 0.0681769 0.18 0.02 pose: 0.0 -2.17776 0.140135 0 -0.00247103 0.00362408 -0.0799299 0.996791 uwb: 0.50039822 840.294 1259.09 -imu_odom_: 1691062952.925159501 0.260968 -0.047884 10.0461 -0.0585895 0.00319579 0.0532632 0.23 0.02 pose: 0.48933594 -2.16792 0.138337 0 -0.0007902588.26355e-05 -0.0798012 0.99681 uwb: 0.0 840.294 1259.09 -imu_odom_: 1691062952.938158043 0.371101 -0.275333 9.53132 -0.0468716 -0.0276969 0.04048 0.23 0.02 pose: 0.0 -2.16792 0.138337 0 -0.0007902588.26355e-05 -0.0798012 0.99681 uwb: 0.49933954 840.751 1258.35 -imu_odom_: 1691062952.963300301 0.248997 -0.23942 9.33739 -0.0617853 -0.00106526 0.0479369 0.17 0.02 pose: 0.39009042 -2.16613 0.148175 0 -0.0030754 0.000953706 -0.0793222 0.996844 uwb: 0.0 840.751 1258.35 -imu_odom_: 1691062952.990158627 0.177171 -0.411803 9.98622 -0.04048 -0.00639159 0.04048 0.17 0.02 pose: 0.0 -2.16613 0.148175 0 -0.0030754 0.000953706 -0.0793222 0.996844 uwb: 0.50099902 840.958 1257.01 -imu_odom_: 1691062953.15217182 0.442927 -0.071826 9.83538 -0.0628506 -0.0106526 0.0628506 0.2 -0.02 pose: 0.39155742 -2.15629 0.146388 0 -0.00250228 0.0025622 -0.0791555 0.996856 uwb: 0.0 840.958 1257.01 -imu_odom_: 1691062953.32198203 0.711078 -0.435745 10.4315 -0.0681769 0.0138484 0.0372843 0.2 -0.02 pose: 0.0 -2.15629 0.146388 0 -0.00250228 0.0025622 -0.0791555 0.996856 uwb: 0.50207229 840.202 1255.23 -imu_odom_: 1691062953.58281616 0.356736 -0.141258 9.93594 -0.0660464 0.00745685 0.0628506 0.18 0.02 pose: 0.52852202 -2.14645 0.144605 0 -0.00296437 0.00559106 -0.0789629 0.996857 uwb: 0.0 840.202 1255.23 -imu_odom_: 1691062953.83171305 0.948104 -0.189142 9.87608 -0.0575243 -0.0415453 0.0458064 0.18 0.02 pose: 0.0 -2.14645 0.144605 0 -0.00296437 0.00559106 -0.0789629 0.996857 uwb: 0.49793671 840.334 1254.04 -imu_odom_: 1691062953.106163813 0.682347 -0.220267 10.0796 -0.0617853 -0.0276969 0.056459 0.2 0 pose: 0.41962580 -2.13661 0.142825 0 -0.00185008 0.00310473 -0.0786928 0.996892 uwb: 0.0 840.334 1254.04 -imu_odom_: 1691062953.122268717 0.921768 -0.148441 10.1275 -0.0628506 0.00426106 0.0372843 0.2 0 pose: 0.0 -2.13661 0.142825 0 -0.00185008 0.00310473 -0.0786928 0.996892 uwb: 0.0 840.334 1254.04 -imu_odom_: 1691062953.147157824 0.316035 -0.258574 9.49062 -0.0745685 0.0319579 0.0649811 0.25 0 pose: 0.48984925 -2.12677 0.141053 0 -0.00044219 -0.000807636-0.078355 0.996925 uwb: 0.49943286 840.249 1252.7 -imu_odom_: 1691062953.171293307 0.383072 -0.272939 9.69652 -0.0532632 0.0298274 0.0596548 0.25 0 pose: 0.0 -2.12677 0.141053 0 -0.00044219 -0.000807636-0.078355 0.996925 uwb: 0.0 840.249 1252.7 -imu_odom_: 1691062953.196276325 0.323217 0.0502782 10.2639 -0.100135 0.0117179 0.0713727 0.19 0 pose: 0.39974403 -2.11693 0.139287 0 -0.000738878-0.00319268 -0.0781402 0.996937 uwb: 0.50028740 840.275 1251.69 -imu_odom_: 1691062953.212139451 0.799663 -0.356736 9.8665 -0.0862864 -0.0191748 0.0490022 0.19 0 pose: 0.0 -2.11693 0.139287 0 -0.000738878-0.00319268 -0.0781402 0.996937 uwb: 0.0 840.275 1251.69 -imu_odom_: 1691062953.237198006 0.600945 -0.459687 9.84496 -0.0596548 -0.0617853 0.0394148 0.25 0.02 pose: 0.49164873 -2.10708 0.13753 0 -0.00188968 0.00133141 -0.0775505 0.996986 uwb: 0.50103111 840.01 1250.65 -imu_odom_: 1691062953.253195292 0.505177 -0.172383 9.79468 -0.0436758 0.0149137 0.0340885 0.25 0.02 pose: 0.0 -2.10708 0.13753 0 -0.00188968 0.00133141 -0.0775505 0.996986 uwb: 0.0 840.01 1250.65 -imu_odom_: 1691062953.270201395 0.591368 -0.0837971 10.0389 -0.0479369 -0.0149137 0.0458064 0.18 0.02 pose: 0.73879573 -2.09724 0.135785 0 -0.00202329 -0.00284956 -0.0772591 0.997005 uwb: 0.0 840.01 1250.65 -imu_odom_: 1691062953.295187912 -0.0407014 -0.40462 9.7851 -0.0617853 0.0276969 0.0426106 0.18 0.02 pose: 0.0 -2.09724 0.135785 0 -0.00202329 -0.00284956 -0.0772591 0.997005 uwb: 0.49926663 840.042 1249.16 -imu_odom_: 1691062953.311137368 0.538695 -0.222661 10.2544 -0.0245011 -0.0756338 0.0266316 0.19 -0.02 pose: 0.7953583 -2.09724 0.135785 0 -0.00140713 -0.00342818 -0.077237 0.997006 uwb: 0.0 840.042 1249.16 -imu_odom_: 1691062953.336132926 0.45011 -0.124498 10.0006 -0.0117179 -0.0628506 0.0223706 0.18 0.02 pose: 0.0 -2.09724 0.135785 0 -0.00140713 -0.00342818 -0.077237 0.997006 uwb: 0.50078028 839.66 1247.85 -imu_odom_: 1691062953.360202788 0.68953 -0.0335188 9.96227 -0.036219 -0.00639159 0.0490022 0.2 0 pose: 0.74984051 -2.0805 0.132652 0 0.00191936 -0.00388317 -0.0774945 0.996983 uwb: 0.0 839.66 1247.85 -imu_odom_: 1691062953.377201016 0.612916 -0.392649 9.7851 -0.0447411 0.0149137 0.0490022 0.2 0 pose: 0.0 -2.0805 0.132652 0 0.00191936 -0.00388317 -0.0774945 0.996983 uwb: 0.0 839.66 1247.85 -imu_odom_: 1691062953.393125681 0.605733 0.0263362 10.082 -0.00319579 0.00426106 0.0213053 0.19 0 pose: 0.41068090 -2.07758 0.132115 0 0.00176543 -0.00638585 -0.0772876 0.996987 uwb: 0.49893123 841.667 1248.05 -imu_odom_: 1691062953.410128576 0.311246 -0.277727 9.36851 -0.0607201 0.0490022 0.0436758 0.19 0 pose: 0.7008929 -2.07758 0.132115 0 0.00257946 -0.00668016 -0.0773534 0.996978 uwb: 0.0 841.667 1248.05 -imu_odom_: 1691062953.426107196 0.531513 -0.301669 10.319 -0.0596548 -0.0330232 0.0479369 0.19 0 pose: 0.0 -2.07758 0.132115 0 0.00257946 -0.00668016 -0.0773534 0.996978 uwb: 0.0 841.667 1248.05 -imu_odom_: 1691062953.443142755 0.311246 -0.296881 9.48104 -0.0394148 -0.0245011 0.0383495 0.19 -0.02 pose: 0.34014831 -2.06773 0.130367 0 0.00196404 -0.00530701 -0.0773641 0.996987 uwb: 0.49990826 841.718 1247.01 -imu_odom_: 1691062953.459263117 0.253785 -0.0885855 10.0868 -0.0426106 -0.0298274 0.0426106 0.19 -0.02 pose: 0.0 -2.06773 0.130367 0 0.00196404 -0.00530701 -0.0773641 0.996987 uwb: 0.0 841.718 1247.01 -imu_odom_: 1691062953.484193638 0.25618 -0.134075 10.3334 -0.04048 -0.052198 0.0383495 0.25 0 pose: 0.41038341 -2.05788 0.128619 0 0.00142413 -0.00296552 -0.0773155 0.997001 uwb: 0.49828376 841.608 1245.77 -imu_odom_: 1691062953.507172730 0.37589 -0.629675 9.84017 -0.0596548 -0.0234358 0.0553937 0.25 0 pose: 0.0 -2.05788 0.128619 0 0.00142413 -0.00296552 -0.0773155 0.997001 uwb: 0.0 841.608 1245.77 -imu_odom_: 1691062953.523110810 -0.100556 -0.225055 9.45231 -0.0340885 -0.0234358 0.04048 0.19 0 pose: 0.8098825 -2.05788 0.128619 0 0.00171017 -0.00239037 -0.0773225 0.997002 uwb: 0.0 841.608 1245.77 -imu_odom_: 1691062953.539098764 0.517148 -0.0909797 10.3717 -0.0617853 -0.0266316 0.052198 0.25 0 pose: 0.0 -2.05788 0.128619 0 0.00171017 -0.00239037 -0.0773225 0.997002 uwb: 0.49996076 842.09 1245.49 -imu_odom_: 1691062953.555249749 0.275333 -0.371101 9.93115 -0.0468716 0.00958738 0.0511327 0.18 -0.02 pose: 0.0 -2.05788 0.128619 0 0.00171017 -0.00239037 -0.0773225 0.997002 uwb: 0.0 842.09 1245.49 -imu_odom_: 1691062953.580151105 -0.0407014 -0.0430956 10.1059 -0.0511327 0.04048 0.0500674 0.18 -0.02 pose: 0.79863061 -2.03819 0.12513 0 0.000627545 -0.000370464-0.0769995 0.997031 uwb: 0.0 842.09 1245.49 -imu_odom_: 1691062953.596099685 0.00718261 -0.328006 9.96706 -0.0649811 0.0181095 0.0703074 0.18 0 pose: 0.0 -2.03819 0.12513 0 0.000627545 -0.000370464-0.0769995 0.997031 uwb: 0.50105152 842.473 1244.89 -imu_odom_: 1691062953.613130286 0.337582 -0.514753 9.19373 -0.0617853 0.00106526 0.0436758 0.18 0 pose: 0.39987819 -2.03819 0.12513 0 0.00101446 0.00378501 -0.0767156 0.997045 uwb: 0.0 842.473 1244.89 -imu_odom_: 1691062953.638266712 0.665588 -0.155623 10.2208 -0.0511327 -0.0372843 0.0394148 0.18 0 pose: 0.25917464 -2.02834 0.123395 0 -0.00104166 0.00479851 -0.0765538 0.997053 uwb: 0.50041573 843.069 1244.44 -imu_odom_: 1691062953.654436071 0.861913 -0.325611 9.60075 -0.0553937 0.0234358 0.0383495 0.18 0 pose: 0.8270023 -2.02834 0.123395 0 -0.0009001620.00384408 -0.0765549 0.997058 uwb: 0.0 843.069 1244.44 -imu_odom_: 1691062953.680122839 0.521936 -0.213084 9.5816 -0.0532632 0.0287621 0.0426106 0.18 0 pose: 0.0 -2.02834 0.123395 0 -0.0009001620.00384408 -0.0765549 0.997058 uwb: 0.0 843.069 1244.44 -imu_odom_: 1691062953.705357551 0.713472 -0.129287 9.94551 -0.0607201 -0.0607201 0.0596548 0.18 0 pose: 0.41887626 -2.01849 0.121663 0 -0.000924548-0.000175561-0.0765565 0.997065 uwb: 0.49865416 844.303 1244.39 -imu_odom_: 1691062953.728258772 0.622492 -0.0670376 9.96227 -0.0692422 0.00213053 0.04048 0.18 -0.02 pose: 0.42069616 -2.01132 0.120402 0 -0.000205303-0.0047239 -0.0762821 0.997075 uwb: 0.0 844.303 1244.39 -imu_odom_: 1691062953.753262788 0.416591 -0.21069 9.991 -0.0660464 0.00213053 0.0447411 0.18 -0.02 pose: 0.6763360 -2.00864 0.119933 0 0.000223463 -0.00518154 -0.0762815 0.997073 uwb: 0.50183022 845.284 1244.25 -imu_odom_: 1691062953.779377116 0.344765 -0.071826 10.0509 -0.0735032 -0.00639159 0.0479369 0.23 0 pose: 0.41141877 -2.00195 0.11876 0 0.00063466 -0.00372824 -0.0762172 0.997084 uwb: 0.0 845.284 1244.25 -imu_odom_: 1691062953.805335411 0.138864 -0.059855 10.4722 -0.0458064 -0.0170442 0.0372843 0.23 0 pose: 0.0 -2.00195 0.11876 0 0.00063466 -0.00372824 -0.0762172 0.997084 uwb: 0.49948537 844.965 1242.88 -imu_odom_: 1691062953.821115126 0.395043 -0.442927 9.54568 -0.0468716 -0.00319579 0.0415453 0.21 0.02 pose: 0.52072623 -1.99155 0.11694 0 0.00347293 0.000224608 -0.0761552 0.99709 uwb: 0.0 844.965 1242.88 -imu_odom_: 1691062953.837106578 0.158017 -0.260968 10.2232 -0.0426106 0.00213053 0.0351537 0.21 0.02 pose: 0.0 -1.99155 0.11694 0 0.00347293 0.000224608 -0.0761552 0.99709 uwb: 0.50052363 845.473 1242.08 -imu_odom_: 1691062953.861117527 0.337582 -0.237026 9.52653 -0.0660464 0.02024 0.0628506 0.23 0 pose: 0.31771167 -1.98894 0.116483 0 0.00164226 0.00192515 -0.0761791 0.997091 uwb: 0.0 845.473 1242.08 -imu_odom_: 1691062953.878226291 0.0646434 -0.248997 10.0868 -0.0458064 0.0117179 0.0511327 0.23 0 pose: 0.8039329 -1.98894 0.116483 0 0.000929555 0.00245914 -0.0760876 0.997098 uwb: 0.0 845.473 1242.08 -imu_odom_: 1691062953.903107522 0.155623 -0.131681 10.3789 -0.0319579 -0.0191748 0.0394148 0.19 0 pose: 0.33080384 -1.97909 0.114761 0 -0.0003869930.00536194 -0.075806 0.997108 uwb: 0.49931913 846.14 1241.5 -imu_odom_: 1691062953.928267863 0.629675 0.0047884 10.2735 -0.0255663 -0.0532632 0.0436758 0.19 0 pose: 0.0 -1.97909 0.114761 0 -0.0003869930.00536194 -0.075806 0.997108 uwb: 0.0 846.14 1241.5 -imu_odom_: 1691062953.953119638 0.641646 -0.0933739 9.67736 -0.0628506 0.00958738 0.0681769 0.18 0.02 pose: 0.8950733 -1.97909 0.114761 0 0.000288398 0.00597426 -0.0758036 0.997105 uwb: 0.49987909 846.412 1240.61 -imu_odom_: 1691062953.979239799 0.344765 -0.201113 9.62708 -0.052198 0.0276969 0.0447411 0.18 0.02 pose: 0.0 -1.97909 0.114761 0 0.000288398 0.00597426 -0.0758036 0.997105 uwb: 0.0 846.412 1240.61 -imu_odom_: 1691062954.2226473 0.0981623 -0.342371 9.42358 -0.0585895 0.052198 0.0458064 0.18 0.02 pose: 0.48086644 -1.96924 0.113044 0 0.00292036 0.0034773 -0.0756394 0.997125 uwb: 0.49936578 845.98 1239.44 -imu_odom_: 1691062954.27171285 0.167594 -0.047884 9.51216 -0.0532632 -0.0138484 0.0490022 0.19 0 pose: 0.50883857 -1.95939 0.11133 0 0.000598155 0.00429676 -0.0752979 0.997152 uwb: 0.0 845.98 1239.44 -imu_odom_: 1691062954.52080224 0.232238 -0.299275 10.0389 -0.0532632 0.00426106 0.0468716 0.19 0 pose: 0.0 -1.95939 0.11133 0 0.000598155 0.00429676 -0.0752979 0.997152 uwb: 0.49966911 846.546 1239.02 -imu_odom_: 1691062954.74220822 0.328006 -0.0215478 10.24 -0.0511327 0.0127832 0.0415453 0.18 -0.02 pose: 0.65932699 -1.94954 0.109624 0 -0.0002744030.008088 -0.0750474 0.997147 uwb: 0.0 846.546 1239.02 -imu_odom_: 1691062954.91148180 0.572214 -0.366313 9.34696 -0.0671117 -0.0436758 0.0532632 0.18 -0.02 pose: 0.7005138 -1.94954 0.109624 0 0.000370491 0.00782912 -0.0750359 0.99715 uwb: 0.49960203 846.669 1238.37 -imu_odom_: 1691062954.117251133 0.304064 -0.232238 9.76834 -0.0532632 -0.0266316 0.0447411 0.25 0.02 pose: 0.0 -1.94954 0.109624 0 0.000370491 0.00782912 -0.0750359 0.99715 uwb: 0.0 846.669 1238.37 -imu_odom_: 1691062954.142199444 0.61531 -0.373495 10.3094 -0.0639159 -0.0223706 0.052198 0.25 0.02 pose: 0.32062818 -1.93968 0.107922 0 0.000693985 0.00554032 -0.0749004 0.997175 uwb: 0.50099319 846.768 1237.76 -imu_odom_: 1691062954.158166690 0.275333 -0.1652 9.76834 -0.04048 0.0213053 0.0500674 0.21 -0.02 pose: 0.0 -1.93968 0.107922 0 0.000693985 0.00554032 -0.0749004 0.997175 uwb: 0.0 846.768 1237.76 -imu_odom_: 1691062954.184095529 0.332794 -0.500388 9.56244 -0.076699 0.0426106 0.0585895 0.21 -0.02 pose: 0.58072735 -1.92983 0.106223 0 -0.0023643 0.00254139 -0.0746598 0.997203 uwb: 0.50070738 846.543 1236.29 -imu_odom_: 1691062954.210080364 0.0670376 -0.215478 10.0533 -0.0553937 0.04048 0.0468716 0.23 0.02 pose: 0.34874614 -1.91996 0.104514 0 -0.00436655 0.00412565 -0.0743717 0.997212 uwb: 0.0 846.543 1236.29 -imu_odom_: 1691062954.236080656 0.567426 -0.268151 10.3142 -0.072438 0.0138484 0.0575243 0.23 0.02 pose: 0.8066160 -1.91997 0.104528 0 -0.00402907 0.00504541 -0.0743385 0.997212 uwb: 0.50016783 845.994 1234.44 -imu_odom_: 1691062954.262078033 0.658405 -0.138864 10.0413 -0.0479369 0.0287621 0.0490022 0.22 0.02 pose: 0.43918967 -1.91013 0.102727 0 -0.00347053 0.00473791 -0.0740405 0.997238 uwb: 0.0 845.994 1234.44 -imu_odom_: 1691062954.275078908 0.316035 -0.299275 9.92157 -0.0511327 0.0266316 0.04048 0.22 0.02 pose: 0.0 -1.91013 0.102727 0 -0.00347053 0.00473791 -0.0740405 0.997238 uwb: 0.0 845.994 1234.44 -imu_odom_: 1691062954.300075925 0.25618 -0.335188 9.67976 -0.0458064 0.0117179 0.0490022 0.18 0 pose: 0.38998252 -1.90558 0.101918 0 -0.00320214 0.00395208 -0.0739194 0.997251 uwb: 0.50055573 846.188 1234.15 -imu_odom_: 1691062954.324082208 0.457293 -0.244209 9.51935 -0.0458064 0.0617853 0.0340885 0.18 0 pose: 0.0 -1.90558 0.101918 0 -0.00320214 0.00395208 -0.0739194 0.997251 uwb: 0.0 846.188 1234.15 -imu_odom_: 1691062954.341218678 0.308852 -0.0574608 10.2017 -0.0436758 0.00532632 0.04048 0.26 -0.02 pose: 0.49003300 -1.89336 0.0997196 0 -0.00352726 0.00475537 -0.0738772 0.99725 uwb: 0.49747590 846.364 1232.99 -imu_odom_: 1691062954.359093314 0.28491 -0.0502782 10.0628 -0.0617853 -0.00532632 0.0596548 0.26 -0.02 pose: 0.0 -1.89336 0.0997196 0 -0.00352726 0.00475537 -0.0738772 0.99725 uwb: 0.0 846.364 1232.99 -imu_odom_: 1691062954.384072832 0.47884 -0.126893 9.55526 -0.0617853 -0.0340885 0.0532632 0.19 0 pose: 0.35011106 -1.89045 0.0992057 0 1.9171e-05 0.00482693 -0.0736751 0.997271 uwb: 0.50004241 845.004 1231.1 -imu_odom_: 1691062954.408125778 0.500388 -0.299275 9.61751 -0.0703074 -0.00213053 0.0415453 0.19 0 pose: 0.7143088 -1.89045 0.0992057 0 0.000293166 0.00407606 -0.073625 0.997278 uwb: 0.0 845.004 1231.1 -imu_odom_: 1691062954.425317954 0.397437 -0.395043 9.91678 -0.0511327 -0.00106526 0.0351537 0.24 0 pose: 0.41889376 -1.8806 0.0974185 0 -0.0007385 0.000387462 -0.0734774 0.997297 uwb: 0.0 845.004 1231.1 -imu_odom_: 1691062954.450061527 0.395043 -0.426168 9.92636 -0.04048 -0.00745685 0.0436758 0.24 0 pose: 0.0 -1.8806 0.0974185 0 -0.0007385 0.000387462 -0.0734774 0.997297 uwb: 0.50122360 844.795 1230.1 -imu_odom_: 1691062954.477214128 0.407014 -0.0167594 10.0676 -0.0415453 0.0106526 0.0479369 0.23 0 pose: 0.8015705 -1.88061 0.0974333 0 -0.00152159 0.000453935 -0.0734953 0.997294 uwb: 0.0 844.795 1230.1 -imu_odom_: 1691062954.494142361 0.21069 -0.308852 10.1083 -0.0628506 -0.0372843 0.0543285 0.23 0 pose: 0.0 -1.88061 0.0974333 0 -0.00152159 0.000453935 -0.0734953 0.997294 uwb: 0.49913831 845.138 1229.59 -imu_odom_: 1691062954.520078199 0.402226 -0.155623 10.082 -0.0415453 -0.0276969 0.0340885 0.25 0.02 pose: 0.40968929 -1.87076 0.0956635 0 -0.00395287 0.00064926 -0.0734365 0.997292 uwb: 0.0 845.138 1229.59 -imu_odom_: 1691062954.544120646 0.526724 -0.208296 9.77792 -0.0351537 -0.0553937 0.036219 0.25 0.02 pose: 0.0 -1.87076 0.0956635 0 -0.00395287 0.00064926 -0.0734365 0.997292 uwb: 0.50019699 845.799 1229.04 -imu_odom_: 1691062954.570061442 0.344765 -0.134075 9.65103 -0.0511327 -0.0127832 0.0500674 0.2 -0.02 pose: 0.45066027 -1.86092 0.0938948 0 -0.0014769 0.00154405 -0.0732469 0.997312 uwb: 0.0 845.799 1229.04 -imu_odom_: 1691062954.596189477 0.294487 -0.0215478 9.4954 -0.0490022 -0.0223706 0.0383495 0.18 0.02 pose: 0.50018241 -1.85107 0.0921504 0 0.000860212 -0.00178615 -0.0732931 0.997308 uwb: 0.50021158 845.915 1228.01 -imu_odom_: 1691062954.613177497 0.387861 -0.64404 9.72285 -0.0585895 0.00639159 0.0468716 0.18 0.02 pose: 0.0 -1.85107 0.0921504 0 0.000860212 -0.00178615 -0.0732931 0.997308 uwb: 0.0 845.915 1228.01 -imu_odom_: 1691062954.639266160 0.347159 -0.3304 10.0293 -0.0511327 0.02024 0.0479369 0.19 0 pose: 0.60982817 -1.84121 0.0904847 0 0.00256584 0.000889355 -0.0731625 0.997316 uwb: 0.49919080 845.651 1226.69 -imu_odom_: 1691062954.662187505 0.840365 -0.110133 9.76355 -0.0703074 0.00319579 0.0585895 0.19 0 pose: 0.8973775 -1.84121 0.0904847 0 0.00172906 0.00124586 -0.0731263 0.99732 uwb: 0.0 845.651 1226.69 -imu_odom_: 1691062954.679193316 0.629675 -0.395043 9.36133 -0.0788296 0.04048 0.0458064 0.25 -0.02 pose: 0.0 -1.84121 0.0904847 0 0.00172906 0.00124586 -0.0731263 0.99732 uwb: 0.0 845.651 1226.69 -imu_odom_: 1691062954.704108379 0.3304 -0.361524 9.06445 -0.04048 0.015979 0.0479369 0.25 -0.02 pose: 0.47052162 -1.83135 0.0888207 0 -0.000261103-0.000586171-0.0728167 0.997345 uwb: 0.49989659 845.135 1224.91 -imu_odom_: 1691062954.730104297 0.258574 -0.289698 9.44513 -0.036219 -0.00532632 0.0372843 0.23 0 pose: 0.34904945 -1.82452 0.0876712 0 -0.00276654 0.000767577 -0.0726775 0.997351 uwb: 0.0 845.135 1224.91 -imu_odom_: 1691062954.756060259 0.0766145 -0.395043 9.80186 -0.0436758 0.00958738 0.0468716 0.23 0 pose: 0.7069010 -1.82149 0.0871637 0 -0.00276578 0.00146375 -0.0726836 0.99735 uwb: 0.0 845.135 1224.91 -imu_odom_: 1691062954.782088550 0.4956 -0.167594 9.81383 -0.0490022 0.015979 0.0372843 0.23 -0.02 pose: 0.44882870 -1.81472 0.0860269 0 -0.00350902 0.00592745 -0.0726019 0.997337 uwb: 0.100095687 845.124 1223.67 -imu_odom_: 1691062954.808306122 0.457293 -0.150835 9.98622 -0.0543285 -0.0138484 0.0372843 0.23 -0.02 pose: 0.0 -1.81472 0.0860269 0 -0.00350902 0.00592745 -0.0726019 0.997337 uwb: 0.0 845.124 1223.67 -imu_odom_: 1691062954.824094295 0.311246 -0.272939 9.77792 -0.0692422 -0.00106526 0.0394148 0.23 0 pose: 0.52245863 -1.80445 0.0843043 0 -0.0006159330.00165749 -0.0726641 0.997355 uwb: 0.0 845.124 1223.67 -imu_odom_: 1691062954.840124829 0.292093 -0.153229 9.90002 -0.056459 -0.0340885 0.0490022 0.23 0 pose: 0.0 -1.80445 0.0843043 0 -0.0006159330.00165749 -0.0726641 0.997355 uwb: 0.0 845.124 1223.67 -imu_odom_: 1691062954.857059186 0.804452 -0.186748 9.82341 -0.0703074 -0.00213053 0.0394148 0.23 0 pose: 0.0 -1.80445 0.0843043 0 -0.0006159330.00165749 -0.0726641 0.997355 uwb: 0.0 845.124 1223.67 -imu_odom_: 1691062954.882115408 0.292093 -0.189142 9.7037 -0.0351537 0.0383495 0.0415453 0.23 0 pose: 0.38797304 -1.80177 0.083854 0 -0.0001786840.00279127 -0.0725849 0.997358 uwb: 0.99954237 845.802 1223.11 -imu_odom_: 1691062954.908076911 0.260968 -0.316035 9.78271 -0.0458064 0 0.04048 0.23 0.02 pose: 0.35011982 -1.79074 0.0891643 0 0.00119214 0.00455579 -0.0725585 0.997353 uwb: 0.0 845.802 1223.11 -imu_odom_: 1691062954.922182847 0.25618 -0.244209 9.88326 -0.0436758 -0.00852212 0.04048 0.23 0.02 pose: 0.7098465 -1.79025 0.0920631 0 0.000601277 0.00490392 -0.0725587 0.997352 uwb: 0.0 845.802 1223.11 -imu_odom_: 1691062954.939183701 0.926556 -0.071826 10.0102 -0.0575243 -0.00639159 0.0543285 0.23 0.02 pose: 0.0 -1.79025 0.0920631 0 0.000601277 0.00490392 -0.0725587 0.997352 uwb: 0.49927538 845.677 1222.04 -imu_odom_: 1691062954.954181503 0.634463 -0.124498 10.0341 -0.0500674 -0.00639159 0.0415453 0.18 0 pose: 0.41004803 -1.78039 0.0904103 0 -0.0007518560.00640576 -0.0724918 0.997348 uwb: 0.0 845.677 1222.04 -imu_odom_: 1691062954.971296974 0.25618 -0.469264 9.37809 -0.0415453 0.0170442 0.0394148 0.18 0 pose: 0.0 -1.78039 0.0904103 0 -0.0007518560.00640576 -0.0724918 0.997348 uwb: 0.0 845.677 1222.04 -imu_odom_: 1691062954.987162434 0.100556 -0.325611 10.3094 -0.0500674 0 0.0479369 0.2 0 pose: 0.0 -1.78039 0.0904103 0 -0.0007518560.00640576 -0.0724918 0.997348 uwb: 0.50180690 845.102 1220.81 -imu_odom_: 1691062955.13100897 0.593762 -0.0885855 9.92636 -0.0575243 -0.00319579 0.0553937 0.2 0 pose: 0.49177414 -1.77053 0.0887586 0 -0.00185712 0.00561361 -0.0723844 0.997359 uwb: 0.0 845.102 1220.81 -imu_odom_: 1691062955.29029937 0.414197 -0.162806 9.97185 -0.0798948 0.0106526 0.0713727 0.2 0 pose: 0.0 -1.77053 0.0887586 0 -0.00185712 0.00561361 -0.0723844 0.997359 uwb: 0.0 845.102 1220.81 -imu_odom_: 1691062955.46043623 0.42138 -0.136469 9.98861 -0.0585895 -0.00745685 0.131028 0.24 0.11 pose: 0.49633847 -1.76066 0.0870923 0 -0.00019433 0.00289536 -0.0718901 0.997408 uwb: 0.49935121 844.726 1219.3 -imu_odom_: 1691062955.62221732 0.155623 -0.737414 9.63427 -0.0649811 0.0383495 0.20027 0.18 0.14 pose: 0.0 -1.76066 0.0870923 0 -0.00019433 0.00289536 -0.0718901 0.997408 uwb: 0.0 844.726 1219.3 -imu_odom_: 1691062955.79277707 0.126893 -0.572214 9.72764 -0.0490022 -0.0191748 0.248207 0.18 0.14 pose: 0.0 -1.76066 0.0870923 0 -0.00019433 0.00289536 -0.0718901 0.997408 uwb: 0.0 844.726 1219.3 -imu_odom_: 1691062955.95026799 0.222661 -0.246603 9.84975 -0.0255663 -0.0213053 0.298274 0.18 0.14 pose: 0.25139634 -1.76066 0.087109 0 0.000221752 0.00219041 -0.0704611 0.997512 uwb: 0.49991702 844.891 1218.26 -imu_odom_: 1691062955.112087149 0.909797 -0.418985 9.9096 -0.0830906 0.0181095 0.361125 0.18 0.26 pose: 0.0 -1.76066 0.087109 0 0.000221752 0.00219041 -0.0704611 0.997512 uwb: 0.0 844.891 1218.26 -imu_odom_: 1691062955.128086185 0.739808 -0.289698 10.0916 -0.0330232 -0.00745685 0.369647 0.18 0.26 pose: 0.32973058 -1.75081 0.0853991 0 -0.00160943 0.00432165 -0.0670283 0.99774 uwb: 0.0 844.891 1218.26 -imu_odom_: 1691062955.145155576 0.141258 -0.289698 9.43794 -0.0458064 0.015979 0.412257 0.25 0.47 pose: 0.40943556 -1.74096 0.0836583 0 -0.00218486 0.00201324 -0.0606462 0.998155 uwb: 0.50040698 845.344 1217.22 -imu_odom_: 1691062955.162265215 0.608127 -0.196325 10.1323 -0.0681769 -0.0671117 0.460194 0.25 0.47 pose: 0.0 -1.74096 0.0836583 0 -0.00218486 0.00201324 -0.0606462 0.998155 uwb: 0.0 845.344 1217.22 -imu_odom_: 1691062955.179156991 0.567426 -0.514753 9.80665 -0.0372843 0.00639159 0.496413 0.25 0.47 pose: 0.0 -1.74096 0.0836583 0 -0.00218486 0.00201324 -0.0606462 0.998155 uwb: 0.0 845.344 1217.22 -imu_odom_: 1691062955.195023326 1.10852 -0.3304 10.1873 -0.0671117 -0.00319579 0.508131 0.18 0.47 pose: 0.7960000 -1.74096 0.0836583 0 -0.00220264 0.00288797 -0.0591642 0.998242 uwb: 0.49728342 845.448 1215.87 -imu_odom_: 1691062955.211027320 0.869095 0.0646434 10.0987 -0.0500674 -0.00745685 0.550742 0.25 0.67 pose: 0.0 -1.74096 0.0836583 0 -0.00220264 0.00288797 -0.0591642 0.998242 uwb: 0.0 845.448 1215.87 -imu_odom_: 1691062955.228024674 0.713472 -0.758962 10.0724 -0.0681769 0.0170442 0.579504 0.25 0.67 pose: 0.66100397 -1.73111 0.0819743 0 -0.00313372 -0.00131432 -0.0445042 0.999003 uwb: 0.0 845.448 1215.87 -imu_odom_: 1691062955.244080581 0.208296 -0.373495 9.93594 -0.0639159 0.0351537 0.589091 0.24 0.7 pose: 0.0 -1.73111 0.0819743 0 -0.00313372 -0.00131432 -0.0445042 0.999003 uwb: 0.50164650 847.033 1215.64 -imu_odom_: 1691062955.259127964 0.325611 -0.411803 10.1538 -0.0607201 0.0138484 0.617853 0.24 0.7 pose: 0.0 -1.73111 0.0819743 0 -0.00313372 -0.00131432 -0.0445042 0.999003 uwb: 0.0 847.033 1215.64 -imu_odom_: 1691062955.275005674 0.40462 -0.387861 10.0293 -0.0809601 0 0.657268 0.24 0.7 pose: 0.32950309 -1.72125 0.0802842 0 -0.00445374 -0.00176462 -0.0357094 0.999351 uwb: 0.0 847.033 1215.64 -imu_odom_: 1691062955.291002668 0.938527 -0.603339 9.92157 -0.0703074 0.00958738 0.638093 0.19 0.61 pose: 0.39908783 -1.71605 0.0793392 0 -0.00761609 0.000395772 -0.0239851 0.999683 uwb: 0.50113902 847.429 1215.08 -imu_odom_: 1691062955.308053102 1.01754 -0.588974 10.1394 -0.0372843 -0.0266316 0.608266 0.19 0.61 pose: 0.8001997 -1.7114 0.078562 0 -0.00801547 -0.000253257-0.0215972 0.999735 uwb: 0.0 847.429 1215.08 -imu_odom_: 1691062955.324050388 1.17795 -0.0550666 9.89763 -0.0340885 0.0106526 0.617853 0.19 0.61 pose: 0.0 -1.7114 0.078562 0 -0.00801547 -0.000253257-0.0215972 0.999735 uwb: 0.0 847.429 1215.08 -imu_odom_: 1691062955.341183067 1.60412 -0.292093 10.5249 -0.0532632 -0.0788296 0.591222 0.19 0.53 pose: 0.41042717 -1.7114 0.078562 0 -0.00804984 -0.00395877 -0.00976552 0.999912 uwb: 0.49880583 847.771 1214.6 -imu_odom_: 1691062955.359350228 1.6113 -0.105345 9.03572 -0.0245011 -0.0319579 0.482565 0.12 0.35 pose: 0.0 -1.7114 0.078562 0 -0.00804984 -0.00395877 -0.00976552 0.999912 uwb: 0.0 847.771 1214.6 -imu_odom_: 1691062955.376155093 1.39343 -0.146046 9.84256 -0.056459 0.052198 0.420779 0.12 0.35 pose: 0.0 -1.7114 0.078562 0 -0.00804984 -0.00395877 -0.00976552 0.999912 uwb: 0.0 847.771 1214.6 -imu_odom_: 1691062955.393031703 0.727837 -0.0646434 9.77553 -0.0479369 0.0191748 0.360059 0.14 0.41 pose: 0.26016042 -1.70154 0.076907 0 -0.00761881 -0.00724444 -0.00308815 0.99994 uwb: 0.50194398 847.365 1212.8 -imu_odom_: 1691062955.418015888 0.708684 -0.124498 9.54808 -0.0490022 -0.00639159 0.295078 0.14 0.41 pose: 0.0 -1.70154 0.076907 0 -0.00761881 -0.00724444 -0.00308815 0.99994 uwb: 0.0 847.365 1212.8 -imu_odom_: 1691062955.434068004 0.802058 -0.102951 9.72764 -0.0532632 0.00958738 0.298274 0.14 0.41 pose: 0.34237068 -1.70154 0.076907 0 -0.00616308 -0.0096587 0.00344124 0.999928 uwb: 0.49867750 846.71 1211.37 -imu_odom_: 1691062955.449149801 0.253785 -0.371101 9.88087 -0.0543285 0.0500674 0.247141 0.11 0.32 pose: 0.40729777 -1.69167 0.0752763 0 -0.00269621 -0.0117024 0.00889377 0.999888 uwb: 0.0 846.71 1211.37 -imu_odom_: 1691062955.465203084 -0.174777 0.0885855 10.2113 -0.036219 0.0490022 0.151268 0.11 0.32 pose: 0.0 -1.69167 0.0752763 0 -0.00269621 -0.0117024 0.00889377 0.999888 uwb: 0.0 846.71 1211.37 -imu_odom_: 1691062955.482073570 -0.948104 0.25618 9.77553 -0.0649811 0.0308927 0.197074 0.11 0.23 pose: 0.40169809 -1.69167 0.0752597 0 -0.00173988 -0.00852668 0.0125198 0.999884 uwb: 0.49977702 846.661 1210.67 -imu_odom_: 1691062955.499149377 -0.464475 -0.806846 9.81383 -0.0649811 -0.0671117 0.257794 0.11 0.23 pose: 0.0 -1.69167 0.0752597 0 -0.00173988 -0.00852668 0.0125198 0.999884 uwb: 0.0 846.661 1210.67 -imu_odom_: 1691062955.515005796 0.390255 -0.766145 9.35893 -0.0351537 -0.0798948 0.221575 0.11 0.23 pose: 0.0 -1.69167 0.0752597 0 -0.00173988 -0.00852668 0.0125198 0.999884 uwb: 0.0 846.661 1210.67 -imu_odom_: 1691062955.531193530 0.531513 -0.0885855 9.8258 -0.0511327 0.00106526 0.245011 0.18 0.26 pose: 0.9008772 -1.69167 0.0752764 0 -0.00151631 -0.00750978 0.0132277 0.999883 uwb: 0.49919664 847.005 1209.81 -imu_odom_: 1691062955.548002477 0.141258 -0.0287304 9.61272 -0.0777643 0.0149137 0.251402 0.18 0.26 pose: 0.0 -1.69167 0.0752764 0 -0.00151631 -0.00750978 0.0132277 0.999883 uwb: 0.0 847.005 1209.81 -imu_odom_: 1691062955.565060202 0.059855 -0.110133 9.89284 -0.0436758 -0.00426106 0.215183 0.18 0.26 pose: 0.0 -1.69167 0.0752764 0 -0.00151631 -0.00750978 0.0132277 0.999883 uwb: 0.0 847.005 1209.81 -imu_odom_: 1691062955.581140317 -0.0622492 -0.277727 9.90242 -0.0415453 -0.00213053 0.186421 0.14 0.17 pose: 0.47806078 -1.68182 0.0735786 0 -0.00295286 -0.0059595 0.0178867 0.999818 uwb: 0.49930455 847.197 1208.78 -imu_odom_: 1691062955.598036760 0.246603 -0.153229 9.99819 -0.052198 -0.0319579 0.203466 0.19 0.2 pose: 0.0 -1.68182 0.0735786 0 -0.00295286 -0.0059595 0.0178867 0.999818 uwb: 0.0 847.197 1208.78 -imu_odom_: 1691062955.615107317 0.304064 -0.402226 9.34936 -0.0458064 -0.00852212 0.20027 0.19 0.2 pose: 0.65980529 -1.67029 0.0817729 0 -0.000607417-0.0005619110.0238427 0.999715 uwb: 0.0 847.197 1208.78 -imu_odom_: 1691062955.631064939 0.0742203 -0.277727 10.0892 -0.0415453 -0.0191748 0.175769 0.21 0.17 pose: 0.0 -1.67029 0.0817729 0 -0.000607417-0.0005619110.0238427 0.999715 uwb: 0.50089404 846.471 1207.48 -imu_odom_: 1691062955.647053184 0.380678 -0.0861913 9.65821 -0.0415453 -0.0596548 0.187487 0.21 0.17 pose: 0.0 -1.67029 0.0817729 0 -0.000607417-0.0005619110.0238427 0.999715 uwb: 0.0 846.471 1207.48 -imu_odom_: 1691062955.664180905 0.500388 -0.222661 10.1059 -0.0543285 0.00106526 0.193878 0.21 0.17 pose: 0.34111659 -1.67029 0.0817729 0 -0.00169365 0.00158181 0.0265142 0.999646 uwb: 0.0 846.471 1207.48 -imu_odom_: 1691062955.680283768 0.0861913 -0.514753 9.85214 -0.0607201 0.0245011 0.175769 0.15 0.11 pose: 0.42070783 -1.66042 0.0800864 0 -7.74576e-050.000104473 0.0296318 0.999561 uwb: 0.0 846.471 1207.48 -imu_odom_: 1691062955.696134938 0.579397 -0.174777 9.48343 -0.0532632 -0.0127832 0.157659 0.15 0.11 pose: 0.7975165 -1.66043 0.0801031 0 -0.0006686610.000781325 0.0301745 0.999544 uwb: 0.50118861 846.655 1206.85 -imu_odom_: 1691062955.713273741 0.782904 0.035913 9.82102 -0.0649811 -0.0383495 0.203466 0.15 0.11 pose: 0.0 -1.66043 0.0801031 0 -0.0006686610.000781325 0.0301745 0.999544 uwb: 0.0 846.655 1206.85 -imu_odom_: 1691062955.730271678 1.01035 -0.502782 9.4954 -0.0713727 0.0117179 0.252468 0.17 0.08 pose: 0.41117671 -1.65518 0.0792223 0 0.000215417 -0.0017631 0.0330647 0.999452 uwb: 0.49808837 846.785 1206.3 -imu_odom_: 1691062955.747110957 1.4461 -0.651223 9.9503 -0.0511327 -0.0234358 0.225836 0.11 0.08 pose: 0.0 -1.65518 0.0792223 0 0.000215417 -0.0017631 0.0330647 0.999452 uwb: 0.0 846.785 1206.3 -imu_odom_: 1691062955.763063038 1.14682 0.1652 9.36851 -0.0330232 0.0266316 0.164051 0.11 0.08 pose: 0.0 -1.65518 0.0792223 0 0.000215417 -0.0017631 0.0330647 0.999452 uwb: 0.0 846.785 1206.3 -imu_odom_: 1691062955.778995578 1.39103 0.363919 10.4196 -0.0490022 0.0223706 0.14168 0.11 0.08 pose: 0.24871900 -1.65057 0.0784561 0 -0.000916241-0.00398418 0.0356075 0.999357 uwb: 0.0 846.785 1206.3 -imu_odom_: 1691062955.796003139 0.751779 -0.105345 9.67736 -0.0575243 0.0170442 0.115049 0.09 0.05 pose: 0.0 -1.65057 0.0784561 0 -0.000916241-0.00398418 0.0356075 0.999357 uwb: 0.50191190 846.57 1205.47 -imu_odom_: 1691062955.812993493 0.727837 -0.354342 10.173 -0.0607201 0.0319579 0.0873517 0.09 0.05 pose: 0.32921435 -1.65057 0.0784561 0 0.000325161 -0.00651283 0.0378341 0.999263 uwb: 0.0 846.57 1205.47 -imu_odom_: 1691062955.829051442 0.553061 -0.371101 9.78989 -0.0575243 -0.0308927 0.0649811 0.12 0.14 pose: 0.41926417 -1.64502 0.0775324 0 0.000304863 -0.0092894 0.0392892 0.999185 uwb: 0.0 846.57 1205.47 -imu_odom_: 1691062955.845044062 0.919373 -0.112527 10.0437 -0.0575243 -0.0330232 0.0745685 0.12 0.14 pose: 0.0 -1.64502 0.0775324 0 0.000304863 -0.0092894 0.0392892 0.999185 uwb: 0.49820211 847.036 1204.84 -imu_odom_: 1691062955.862307400 0.859518 -0.227449 9.7851 -0.0543285 -0.00852212 0.115049 0.12 0.14 pose: 0.0 -1.64502 0.0775324 0 0.000304863 -0.0092894 0.0392892 0.999185 uwb: 0.0 847.036 1204.84 -imu_odom_: 1691062955.878063491 0.756568 -0.316035 9.87848 -0.056459 0.0149137 0.129962 0.06 0.08 pose: 0.7003388 -1.6407 0.0768251 0 -0.000393026-0.00927759 0.0393845 0.999181 uwb: 0.0 847.036 1204.84 -imu_odom_: 1691062955.894043279 0.737414 -0.342371 9.91918 -0.0490022 0.00852212 0.124636 0.08 0.05 pose: 0.0 -1.6407 0.0768251 0 -0.000393026-0.00927759 0.0393845 0.999181 uwb: 0.50094945 847.296 1204.12 -imu_odom_: 1691062955.920978601 0.612916 -0.0287304 9.86411 -0.052198 0.00106526 0.110787 0.08 0.05 pose: 0.65087206 -1.6407 0.0768251 0 -0.00198487 -0.0142361 0.0414528 0.999037 uwb: 0.0 847.296 1204.12 -imu_odom_: 1691062955.947992377 0.270545 -0.229843 9.77553 -0.0660464 0.0330232 0.072438 0.05 0.08 pose: 0.0 -1.6407 0.0768251 0 -0.00198487 -0.0142361 0.0414528 0.999037 uwb: 0.50148318 847.686 1203.97 -imu_odom_: 1691062955.974201491 -1.23301 0.122104 9.81144 -0.0447411 0.0852212 0.0106526 0.07 0.08 pose: 0.62908290 -1.6407 0.0768251 0 -0.000396156-0.0105812 0.0432111 0.99901 uwb: 0.0 847.686 1203.97 -imu_odom_: 1691062955.990987981 -1.15161 -0.232238 10.2376 -0.0617853 -0.0394148 0.0990696 0.07 0.08 pose: 0.0 -1.6407 0.0768251 0 -0.000396156-0.0105812 0.0432111 0.99901 uwb: 0.49783463 848.302 1203.52 -imu_odom_: 1691062956.7036306 0.0143652 -0.816423 9.84975 -0.0703074 -0.0958738 0.107592 0.07 0.08 pose: 0.0 -1.6407 0.0768251 0 -0.000396156-0.0105812 0.0432111 0.99901 uwb: 0.0 848.302 1203.52 -imu_odom_: 1691062956.33985920 0.758962 -0.0550666 10.0173 -0.0500674 -0.00319579 0.105461 0.11 0.02 pose: 0.8037578 -1.6407 0.0768251 0 -0.000250462-0.00942489 0.0430947 0.999027 uwb: 0.49943871 849.322 1203.63 -imu_odom_: 1691062956.50030162 0.251391 0.0287304 10.1083 -0.0777643 0.00745685 0.105461 0.11 0.02 pose: 0.0 -1.6407 0.0768251 0 -0.000250462-0.00942489 0.0430947 0.999027 uwb: 0.0 849.322 1203.63 -imu_odom_: 1691062956.77201429 -0.342371 -0.222661 9.58399 -0.0703074 0.0490022 0.0500674 0.12 0.05 pose: 0.43221050 -1.6292 0.0850518 0 -0.000755763-0.00531261 0.0436147 0.999034 uwb: 0.0 849.322 1203.63 -imu_odom_: 1691062956.103010691 0.837971 -0.459687 10.0724 -0.0607201 -0.0649811 0.0820254 0.12 0.05 pose: 0.42799325 -1.6292 0.0850518 0 0.000753133 -0.00657045 0.0450183 0.998964 uwb: 0.50145985 849.631 1203.21 -imu_odom_: 1691062956.130023592 0.146046 -0.0550666 9.98622 -0.0436758 -0.0319579 0.0894822 0.12 0.05 pose: 0.0 -1.6292 0.0850518 0 0.000753133 -0.00657045 0.0450183 0.998964 uwb: 0.49921706 849.311 1202.53 -imu_odom_: 1691062956.156114005 0.399832 -0.0023942 9.50019 -0.0745685 0.0351537 0.0692422 0.15 0.02 pose: 0.43006979 -1.61932 0.0834537 0 0.000283432 -0.00337414 0.045585 0.998955 uwb: 0.0 849.311 1202.53 -imu_odom_: 1691062956.183020746 0.861913 -0.292093 9.88087 -0.0639159 -0.02024 0.0617853 0.15 0.02 pose: 0.0 -1.61932 0.0834537 0 0.000283432 -0.00337414 0.045585 0.998955 uwb: 0.50006284 850.188 1202.83 -imu_odom_: 1691062956.198985951 0.395043 -0.270545 9.96706 -0.056459 0.0234358 0.0660464 0.14 0.02 pose: 0.52998029 -1.60946 0.0818421 0 0.00124253 -0.00290751 0.0467549 0.998901 uwb: 0.0 850.188 1202.83 -imu_odom_: 1691062956.216163252 0.454898 -0.184354 10.4387 -0.0617853 -0.00852212 0.0735032 0.14 0.02 pose: 0.0 -1.60946 0.0818421 0 0.00124253 -0.00290751 0.0467549 0.998901 uwb: 0.0 850.188 1202.83 -imu_odom_: 1691062956.232001881 0.356736 -0.270545 9.97903 -0.0447411 0.00319579 0.0575243 0.14 0.02 pose: 0.52953697 -1.60946 0.0818421 0 0.00140164 -0.00406397 0.0474291 0.998865 uwb: 0.50101362 849.199 1201.95 -imu_odom_: 1691062956.259108694 0.727837 -0.124498 10.4962 -0.0458064 0.0106526 0.0649811 0.14 0.02 pose: 0.0 -1.60946 0.0818421 0 0.00140164 -0.00406397 0.0474291 0.998865 uwb: 0.0 849.199 1201.95 -imu_odom_: 1691062956.285102279 0.37589 -0.148441 9.7851 -0.0479369 -0.0127832 0.0649811 0.15 0 pose: 0.68099659 -1.59843 0.0871527 0 0.00164813 -0.00334131 0.0483104 0.998825 uwb: 0.49896332 848.954 1201.17 -imu_odom_: 1691062956.312006686 0.0933739 -0.37589 9.6606 -0.0681769 -0.00532632 0.0607201 0.15 0 pose: 0.0 -1.59843 0.0871527 0 0.00164813 -0.00334131 0.0483104 0.998825 uwb: 0.0 848.954 1201.17 -imu_odom_: 1691062956.337041618 0.976834 -0.294487 9.77074 -0.0532632 -0.0500674 0.072438 0.15 0 pose: 0.7904877 -1.59795 0.0900552 0 0.00193756 -0.00262655 0.0484087 0.998822 uwb: 0.49841503 848.803 1200.65 -imu_odom_: 1691062956.353006240 0.720655 -0.201113 9.83777 -0.0617853 0.0298274 0.0660464 0.15 0 pose: 0.0 -1.59795 0.0900552 0 0.00193756 -0.00262655 0.0484087 0.998822 uwb: 0.0 848.803 1200.65 -imu_odom_: 1691062956.379103360 0.474052 -0.0981623 9.6606 -0.072438 -0.0213053 0.072438 0.16 0.02 pose: 0.51980754 -1.58809 0.0884231 0 0.000814385 0.00033129 0.0490284 0.998797 uwb: 0.0 848.803 1200.65 -imu_odom_: 1691062956.406081264 0.440533 -0.203507 10.1921 -0.0511327 0.0181095 0.0607201 0.16 0.02 pose: 0.0 -1.58809 0.0884231 0 0.000814385 0.00033129 0.0490284 0.998797 uwb: 0.49964578 849.295 1200.72 -imu_odom_: 1691062956.422000388 -0.136469 -0.186748 9.46667 -0.0553937 -0.0213053 0.0617853 0.17 0 pose: 0.43144638 -1.57822 0.0868032 0 0.00151756 -0.003317 0.0496837 0.998758 uwb: 0.0 849.295 1200.72 -imu_odom_: 1691062956.449102242 -0.0957681 -0.0143652 9.90481 -0.04048 -0.0351537 0.0628506 0.17 0 pose: 0.51972296 -1.56835 0.0852043 0 0.000888001 -0.0009459930.0503337 0.998732 uwb: 0.50123527 850.103 1200.74 -imu_odom_: 1691062956.474292332 0.189142 -0.378284 10.0963 -0.0394148 -0.0191748 0.052198 0.22 0.02 pose: 0.0 -1.56835 0.0852043 0 0.000888001 -0.0009459930.0503337 0.998732 uwb: 0.0 850.103 1200.74 -imu_odom_: 1691062956.501073372 0.229843 -0.246603 9.95988 -0.0532632 -0.0117179 0.0703074 0.19 0.05 pose: 0.43059185 -1.56835 0.0852043 0 0.00132176 0.00240078 0.0507809 0.998706 uwb: 0.49967787 849.872 1199.59 -imu_odom_: 1691062956.517108281 0.418985 -0.311246 10.0533 -0.0628506 -0.00213053 0.0681769 0.19 0.05 pose: 0.0 -1.56835 0.0852043 0 0.00132176 0.00240078 0.0507809 0.998706 uwb: 0.0 849.872 1199.59 -imu_odom_: 1691062956.534096885 0.237026 -0.208296 9.99819 -0.0426106 -0.00639159 0.0511327 0.19 0.05 pose: 0.0 -1.56835 0.0852043 0 0.00132176 0.00240078 0.0507809 0.998706 uwb: 0.50160859 849.723 1199.06 -imu_odom_: 1691062956.560059263 0.205901 -0.282516 9.64863 -0.0585895 0.0383495 0.0703074 0.17 0 pose: 0.23857833 -1.55847 0.0836197 0 -0.0001286930.0039367 0.0509858 0.998692 uwb: 0.0 849.723 1199.06 -imu_odom_: 1691062956.584990660 0.337582 -0.117316 9.94791 -0.0490022 0.0276969 0.052198 0.17 0 pose: 0.0 -1.55847 0.0836197 0 -0.0001286930.0039367 0.0509858 0.998692 uwb: 0.49852001 849.59 1198.52 -imu_odom_: 1691062956.607990751 0.474052 -0.299275 10.1634 -0.0756338 0.00852212 0.0660464 0.17 0.02 pose: 0.60932946 -1.54702 0.0919183 0 -0.00147567 0.00672027 0.0517347 0.998637 uwb: 0.0 849.59 1198.52 -imu_odom_: 1691062956.623948373 0.696713 -0.253785 9.85214 -0.0671117 -0.0319579 0.0649811 0.17 0.02 pose: 0.0 -1.54702 0.0919183 0 -0.00147567 0.00672027 0.0517347 0.998637 uwb: 0.0 849.59 1198.52 -imu_odom_: 1691062956.651126348 0.411803 -0.1652 10.058 -0.0841559 0.00639159 0.0713727 0.22 0 pose: 0.50124694 -1.53714 0.0903588 0 -0.0007519730.00693204 0.0522693 0.998609 uwb: 0.49859585 849.875 1198.14 -imu_odom_: 1691062956.676216693 0.452504 -0.0143652 10.1945 -0.0841559 -0.00852212 0.0607201 0.18 0 pose: 0.40023985 -1.53714 0.0903588 0 -0.0010042 0.00314366 0.0528096 0.998599 uwb: 0.0 849.875 1198.14 -imu_odom_: 1691062956.703129558 0.509965 -0.148441 9.98382 -0.0745685 -0.02024 0.056459 0.21 0.02 pose: 0.26924531 -1.52726 0.0888154 0 0.000687681 0.00157588 0.0532006 0.998582 uwb: 0.50390387 849.743 1197.24 -imu_odom_: 1691062956.719088055 0.608127 -0.42138 9.40442 -0.0585895 -0.0820254 0.0490022 0.21 0.02 pose: 0.0 -1.52726 0.0888154 0 0.000687681 0.00157588 0.0532006 0.998582 uwb: 0.0 849.743 1197.24 -imu_odom_: 1691062956.746086082 0.464475 -0.328006 9.64863 -0.052198 -0.0553937 0.0532632 0.18 0 pose: 0.23965744 -1.52726 0.0888154 0 0.00215798 0.000200459 0.053444 0.998568 uwb: 0.49622181 850.087 1196.79 -imu_odom_: 1691062956.771998006 0.514753 0.0407014 10.1323 -0.0628506 -0.0255663 0.04048 0.17 0.02 pose: 0.63085905 -1.51585 0.0971654 0 -0.00141952 -0.00419764 0.0538892 0.998537 uwb: 0.0 850.087 1196.79 -imu_odom_: 1691062956.799209520 0.23942 -0.19393 9.98622 -0.0681769 -0.00319579 0.0543285 0.17 0.02 pose: 0.0 -1.51585 0.0971654 0 -0.00141952 -0.00419764 0.0538892 0.998537 uwb: 0.50120611 850.63 1196.43 -imu_odom_: 1691062956.816259954 0.715866 -0.335188 9.87608 -0.0553937 -0.0213053 0.04048 0.17 -0.02 pose: 0.8015122 -1.51585 0.0971654 0 -0.000642831-0.00432234 0.0538895 0.998537 uwb: 0.0 850.63 1196.43 -imu_odom_: 1691062956.833210352 0.632069 -0.31364 9.95988 -0.0458064 -0.00852212 0.0617853 0.17 -0.02 pose: 0.0 -1.51585 0.0971654 0 -0.000642831-0.00432234 0.0538895 0.998537 uwb: 0.50123819 850.132 1195.66 -imu_odom_: 1691062956.849052189 0.126893 -0.409408 10.0796 -0.0500674 -0.00852212 0.052198 0.17 -0.02 pose: 0.0 -1.51585 0.0971654 0 -0.000642831-0.00432234 0.0538895 0.998537 uwb: 0.0 850.132 1195.66 -imu_odom_: 1691062956.864999020 0.584185 -0.0430956 10.1586 -0.0543285 -0.0255663 0.0394148 0.18 0 pose: 0.52951073 -1.50598 0.0955431 0 0.000510488 -0.00266598 0.0540919 0.998532 uwb: 0.0 850.132 1195.66 -imu_odom_: 1691062956.880984640 0.538695 -0.301669 9.55765 -0.0543285 -0.0372843 0.056459 0.18 0 pose: 0.0 -1.50598 0.0955431 0 0.000510488 -0.00266598 0.0540919 0.998532 uwb: 0.50181566 849.24 1194.71 -imu_odom_: 1691062956.907943003 0.42138 -0.155623 10.0987 -0.04048 -0.04048 0.0436758 0.22 0 pose: 0.73932363 -1.48625 0.0923112 0 -0.00114331 -0.00571909 0.0545264 0.998495 uwb: 0.0 849.24 1194.71 -imu_odom_: 1691062956.932940604 0.440533 -0.162806 10.2975 -0.0511327 -0.0255663 0.0703074 0.22 0 pose: 0.0 -1.48625 0.0923112 0 -0.00114331 -0.00571909 0.0545264 0.998495 uwb: 0.49718426 849.041 1193.57 -imu_odom_: 1691062956.949093339 0.737414 -0.311246 10.0365 -0.0511327 0.00958738 0.0394148 0.21 0 pose: 0.6989389 -1.48625 0.0923112 0 -0.000636769-0.00530595 0.0545394 0.998497 uwb: 0.0 849.041 1193.57 -imu_odom_: 1691062956.966069694 -0.0311246 -0.172383 9.77313 -0.0468716 -0.00106526 -0.00213053 0.18 -0.08 pose: 0.0 -1.48625 0.0923112 0 -0.000636769-0.00530595 0.0545394 0.998497 uwb: 0.0 849.041 1193.57 -imu_odom_: 1691062956.983088922 0.0933739 0.00718261 10.4148 -0.036219 -0.0330232 -0.0479369 0.24 -0.17 pose: 0.0 -1.48625 0.0923112 0 -0.000636769-0.00530595 0.0545394 0.998497 uwb: 0.50087072 848.483 1192.2 -imu_odom_: 1691062957.58568 0.232238 -0.318429 9.68694 -0.0458064 -0.0106526 -0.105461 0.24 -0.17 pose: 0.78095665 -1.47477 0.100557 0 0.00178949 -0.00203493 0.0546004 0.998505 uwb: 0.0 848.483 1192.2 -imu_odom_: 1691062957.17113669 0.143652 0.167594 9.5816 -0.0394148 -0.0117179 -0.129962 0.26 -0.38 pose: 0.0 -1.47477 0.100557 0 0.00178949 -0.00203493 0.0546004 0.998505 uwb: 0.0 848.483 1192.2 -imu_odom_: 1691062957.33059333 0.804452 -0.227449 10.4507 -0.0798948 -0.0532632 -0.16192 0.26 -0.38 pose: 0.40893977 -1.46488 0.0990581 0 0.002214 0.000890093 0.052036 0.998642 uwb: 0.49880291 847.817 1190.98 -imu_odom_: 1691062957.50041813 0.912191 -0.258574 9.62708 -0.0543285 -0.0234358 -0.280165 0.26 -0.38 pose: 0.0 -1.46488 0.0990581 0 0.002214 0.000890093 0.052036 0.998642 uwb: 0.0 847.817 1190.98 -imu_odom_: 1691062957.67106538 0.897826 0.438139 10.331 -0.0511327 -0.0372843 -0.312122 0.25 -0.44 pose: 0.33113924 -1.46488 0.0990581 0 0.00261697 -0.00124374 0.0484561 0.998821 uwb: 0.0 847.817 1190.98 -imu_odom_: 1691062957.82978998 0.521936 -0.107739 9.78031 -0.052198 -0.0266316 -0.325971 0.25 -0.44 pose: 0.0 -1.46488 0.0990581 0 0.00261697 -0.00124374 0.0484561 0.998821 uwb: 0.50009785 846.725 1189.28 -imu_odom_: 1691062957.101045832 0.715866 -0.213084 9.98861 -0.052198 -0.0181095 -0.395213 0.18 -0.41 pose: 0.0 -1.46488 0.0990581 0 0.00261697 -0.00124374 0.0484561 0.998821 uwb: 0.0 846.725 1189.28 -imu_odom_: 1691062957.117162403 0.830788 0.316035 10.1586 -0.0308927 -0.00532632 -0.428236 0.18 -0.41 pose: 0.42901403 -1.455 0.0975088 0 0.00498297 -0.0049615 0.0409698 0.999136 uwb: 0.0 846.725 1189.28 -imu_odom_: 1691062957.134046888 0.368707 -0.011971 9.72046 -0.0617853 0.0308927 -0.431432 0.18 -0.41 pose: 0.0 -1.455 0.0975088 0 0.00498297 -0.0049615 0.0409698 0.999136 uwb: 0.50037199 846.767 1188.55 -imu_odom_: 1691062957.151041034 1.27372 -0.0861913 11.1857 -0.0798948 0.0436758 -0.460194 0.18 -0.53 pose: 0.8292480 -1.455 0.0975257 0 0.00470462 -0.00578197 0.0391736 0.999205 uwb: 0.0 846.767 1188.55 -imu_odom_: 1691062957.167033945 0.208296 0.162806 8.89207 -0.0458064 0.0245011 -0.498544 0.18 -0.53 pose: 0.0 -1.455 0.0975257 0 0.00470462 -0.00578197 0.0391736 0.999205 uwb: 0.0 846.767 1188.55 -imu_odom_: 1691062957.183042315 0.0790087 -0.0311246 10.8218 -0.0351537 0.0873517 -0.515588 0.18 -0.53 pose: 0.0 -1.455 0.0975257 0 0.00470462 -0.00578197 0.0391736 0.999205 uwb: 0.49884376 845.816 1187.04 -imu_odom_: 1691062957.199963256 0.466869 0.0143652 8.79151 -0.0745685 0.00106526 -0.536893 0.18 -0.58 pose: 0.50713828 -1.44362 0.105895 0 0.00657763 -0.00630009 0.0273197 0.999585 uwb: 0.0 845.816 1187.04 -imu_odom_: 1691062957.215964917 0.555455 0.167594 10.9583 -0.0639159 -0.0372843 -0.54435 0.22 -0.76 pose: 0.0 -1.44362 0.105895 0 0.00657763 -0.00630009 0.0273197 0.999585 uwb: 0.0 845.816 1187.04 -imu_odom_: 1691062957.231923122 1.31681 -0.280122 10.3046 -0.072438 -0.0511327 -0.487891 0.22 -0.76 pose: 0.64994754 -1.42383 0.103016 0 0.00996007 -0.00350669 0.00937088 0.9999 uwb: 0.49970120 845.851 1186.34 -imu_odom_: 1691062957.248973265 1.58496 -0.378284 9.30866 -0.0553937 -0.00213053 -0.478304 0.22 -0.76 pose: 0.0 -1.42383 0.103016 0 0.00996007 -0.00350669 0.00937088 0.9999 uwb: 0.0 845.851 1186.34 -imu_odom_: 1691062957.265953995 1.33118 -0.246603 10.1035 -0.052198 -0.0383495 -0.474043 0.19 -0.58 pose: 0.0 -1.42383 0.103016 0 0.00996007 -0.00350669 0.00937088 0.9999 uwb: 0.0 845.851 1186.34 -imu_odom_: 1691062957.282032943 1.34794 -0.0191536 9.51216 -0.0788296 0.0617853 -0.421845 0.19 -0.58 pose: 0.32958767 -1.42383 0.103016 0 0.00989639 -0.00657186 0.000486293 0.999929 uwb: 0.50232896 846.322 1185.44 -imu_odom_: 1691062957.299026797 1.29287 -0.232238 10.556 -0.0553937 -0.0330232 -0.346211 0.12 -0.38 pose: 0.42094116 -1.41854 0.102225 0 0.00910109 -0.0103176 -0.00987754 0.999857 uwb: 0.0 846.322 1185.44 -imu_odom_: 1691062957.314903340 1.25935 -0.402226 9.15064 -0.0447411 -0.0458064 -0.302535 0.12 -0.38 pose: 0.0 -1.41854 0.102225 0 0.00910109 -0.0103176 -0.00987754 0.999857 uwb: 0.0 846.322 1185.44 -imu_odom_: 1691062957.330955748 1.22823 -0.184354 9.61272 -0.0511327 0.0181095 -0.26312 0.12 -0.38 pose: 0.0 -1.41854 0.102225 0 0.00910109 -0.0103176 -0.00987754 0.999857 uwb: 0.49890208 846.366 1184.4 -imu_odom_: 1691062957.346883914 0.620098 -0.430956 9.78031 -0.0660464 -0.00319579 -0.210922 0.1 -0.32 pose: 0.7883587 -1.41394 0.101543 0 0.00887412 -0.0111688 -0.0113896 0.999833 uwb: 0.0 846.366 1184.4 -imu_odom_: 1691062957.363877768 0.325611 -0.318429 9.85932 -0.0415453 0.0138484 -0.238619 0.11 -0.35 pose: 0.0 -1.41394 0.101543 0 0.00887412 -0.0111688 -0.0113896 0.999833 uwb: 0.0 846.366 1184.4 -imu_odom_: 1691062957.379877679 0.28491 -0.0407014 9.95988 -0.0532632 -0.0181095 -0.235423 0.11 -0.35 pose: 0.64028518 -1.41394 0.101543 0 0.00574144 -0.014165 -0.0211956 0.999659 uwb: 0.0 846.366 1184.4 -imu_odom_: 1691062957.397041856 1.0319 -0.222661 9.90002 -0.0660464 -0.02024 -0.198139 0.1 -0.35 pose: 0.0 -1.41394 0.101543 0 0.00574144 -0.014165 -0.0211956 0.999659 uwb: 0.0 846.366 1184.4 -imu_odom_: 1691062957.412894776 1.10133 -0.457293 10.0796 -0.0617853 -0.00958738 -0.186421 0.1 -0.35 pose: 0.0 -1.41394 0.101543 0 0.00574144 -0.014165 -0.0211956 0.999659 uwb: 0.0 846.366 1184.4 -imu_odom_: 1691062957.428882438 0.672771 -0.328006 9.60314 -0.0436758 0.0308927 -0.185356 0.1 -0.35 pose: 0.33019722 -1.40404 0.100114 0 0.0054118 -0.0124654 -0.0256217 0.999579 uwb: 0.0 846.366 1184.4 -imu_odom_: 1691062957.445883292 0.493206 -0.136469 10.058 -0.0479369 0.0106526 -0.165116 0.06 -0.2 pose: 0.41917668 -1.40404 0.100097 0 0.00251992 -0.0143371 -0.0303533 0.999433 uwb: 0.99834664 845.639 1182.99 -imu_odom_: 1691062957.461940366 0.474052 -0.174777 9.84496 -0.0617853 0 -0.145941 0.06 -0.2 pose: 0.8009288 -1.40404 0.100114 0 0.0026674 -0.0134823 -0.0311758 0.999419 uwb: 0.0 845.639 1182.99 -imu_odom_: 1691062957.478939178 0.545878 -0.301669 10.0437 -0.0511327 0.00426106 -0.150202 0.06 -0.2 pose: 0.0 -1.40404 0.100114 0 0.0026674 -0.0134823 -0.0311758 0.999419 uwb: 0.0 845.639 1182.99 -imu_odom_: 1691062957.494945797 0.629675 -0.270545 9.81383 -0.0617853 -0.00532632 -0.138484 0.07 -0.23 pose: 0.42047452 -1.40404 0.100098 0 0.00118928 -0.010012 -0.035189 0.99933 uwb: 0.49959912 845.588 1182.08 -imu_odom_: 1691062957.510939001 0.684742 -0.153229 10.0844 -0.0553937 -0.00532632 -0.128897 0.05 -0.17 pose: 0.0 -1.40404 0.100098 0 0.00118928 -0.010012 -0.035189 0.99933 uwb: 0.0 845.588 1182.08 -imu_odom_: 1691062957.526879999 0.624887 -0.246603 9.84735 -0.0596548 -0.0127832 -0.109722 0.05 -0.17 pose: 0.0 -1.40404 0.100098 0 0.00118928 -0.010012 -0.035189 0.99933 uwb: 0.0 845.588 1182.08 -imu_odom_: 1691062957.544026094 0.608127 -0.167594 9.88566 -0.0553937 -0.00852212 -0.106526 0.04 -0.14 pose: 0.23954078 -1.40404 0.100114 0 0.000140204 -0.0111706 -0.0372718 0.999243 uwb: 0.50007160 845.409 1181.65 -imu_odom_: 1691062957.561083819 0.751779 -0.215478 9.97185 -0.0500674 -0.00958738 -0.0958738 0.04 -0.14 pose: 0.0 -1.40404 0.100114 0 0.000140204 -0.0111706 -0.0372718 0.999243 uwb: 0.0 845.409 1181.65 -imu_odom_: 1691062957.576955113 0.553061 -0.253785 9.68215 -0.0543285 0.0117179 -0.0937433 0.04 -0.14 pose: 0.32003906 -1.39415 0.0986482 0 -0.000183231-0.0113486 -0.0397194 0.999146 uwb: 0.0 845.409 1181.65 -imu_odom_: 1691062957.593948967 0.646434 -0.189142 10.1299 -0.0490022 -0.00319579 -0.0894822 0.04 -0.14 pose: 0.42057951 -1.39415 0.0986482 0 -0.000355797-0.0112631 -0.0425916 0.999029 uwb: 0.50141902 846.225 1181.01 -imu_odom_: 1691062957.609941295 0.608127 -0.198719 9.8258 -0.0596548 -0.00958738 -0.0703074 0.04 -0.14 pose: 0.6947391 -1.39415 0.0986482 0 0.000204585 -0.0117069 -0.0430452 0.999005 uwb: 0.0 846.225 1181.01 -imu_odom_: 1691062957.625876460 0.555455 -0.203507 9.96706 -0.0553937 -0.00213053 -0.0575243 0.04 -0.14 pose: 0.0 -1.39415 0.0986482 0 0.000204585 -0.0117069 -0.0430452 0.999005 uwb: 0.0 846.225 1181.01 -imu_odom_: 1691062957.642938268 0.627281 -0.294487 9.8282 -0.056459 -0.0127832 -0.0447411 0.03 -0.05 pose: 0.41973956 -1.39415 0.0986482 0 0.000332328 -0.00928381 -0.0453478 0.998928 uwb: 0.50042157 845.665 1179.75 -imu_odom_: 1691062957.660016409 0.624887 -0.172383 9.90481 -0.052198 -0.00106526 -0.0436758 0.04 -0.11 pose: 0.0 -1.39415 0.0986482 0 0.000332328 -0.00928381 -0.0453478 0.998928 uwb: 0.0 845.665 1179.75 -imu_odom_: 1691062957.676005529 0.648829 -0.167594 9.87848 -0.0585895 -0.00958738 -0.0319579 0.04 -0.11 pose: 0.0 -1.39415 0.0986482 0 0.000332328 -0.00928381 -0.0453478 0.998928 uwb: 0.0 845.665 1179.75 -imu_odom_: 1691062957.693005800 0.557849 -0.225055 9.80904 -0.056459 0.00852212 -0.0181095 0.04 -0.11 pose: 0.24071904 -1.39415 0.0986482 0 -0.000606073-0.0103061 -0.0463493 0.998872 uwb: 0.49952621 845.689 1178.77 -imu_odom_: 1691062957.708876218 0.509965 -0.289698 9.95748 -0.0532632 0.00319579 -0.00958738 0.03 -0.05 pose: 0.0 -1.39415 0.0986482 0 -0.000606073-0.0103061 -0.0463493 0.998872 uwb: 0.0 845.689 1178.77 -imu_odom_: 1691062957.724870880 0.452504 -0.237026 9.78271 -0.056459 -0.0106526 0.0106526 0.03 -0.05 pose: 0.32999599 -1.39415 0.0986482 0 0.000945398 -0.0113843 -0.0475552 0.998803 uwb: 0.0 845.689 1178.77 -imu_odom_: 1691062957.741937355 0.627281 -0.234632 9.94312 -0.056459 -0.0127832 0.0287621 0.01 -0.02 pose: 0.41922917 -1.39415 0.0986482 0 -0.000733079-0.00763845 -0.0484499 0.998796 uwb: 0.50049158 845.375 1177.88 -imu_odom_: 1691062957.758925959 0.675165 -0.232238 9.89045 -0.0532632 -0.00958738 0.0372843 0.01 -0.02 pose: 0.8009580 -1.39415 0.0986482 0 -0.000915297-0.00845347 -0.0484921 0.998787 uwb: 0.0 845.375 1177.88 -imu_odom_: 1691062957.774929953 0.670376 -0.19393 9.91678 -0.0532632 0.00106526 0.0447411 0.01 -0.02 pose: 0.0 -1.39415 0.0986482 0 -0.000915297-0.00845347 -0.0484921 0.998787 uwb: 0.0 845.375 1177.88 -imu_odom_: 1691062957.792001969 0.636858 -0.237026 9.86172 -0.0575243 0 0.0532632 0 0.02 pose: 0.42049493 -1.39415 0.0986482 0 -0.000383577-0.0124111 -0.0485277 0.998745 uwb: 0.49853751 845.346 1176.97 -imu_odom_: 1691062957.807875013 0.557849 -0.229843 9.88805 -0.0543285 0 0.0532632 0 0.02 pose: 0.0 -1.39415 0.0986482 0 -0.000383577-0.0124111 -0.0485277 0.998745 uwb: 0.0 845.346 1176.97 -imu_odom_: 1691062957.823874049 0.476446 -0.23942 9.91678 -0.056459 0.00106526 0.0543285 0 0.02 pose: 0.0 -1.39415 0.0986482 0 -0.000383577-0.0124111 -0.0485277 0.998745 uwb: 0.0 845.346 1176.97 -imu_odom_: 1691062957.838863685 0.397437 -0.191536 9.88087 -0.0543285 0 0.04048 0 0.02 pose: 0.24082404 -1.39415 0.0986482 0 -0.00185523 -0.0110883 -0.0483443 0.998767 uwb: 0.49991994 845.456 1176.53 -imu_odom_: 1691062957.853925651 0.380678 -0.138864 9.87129 -0.0553937 -0.00319579 0.0340885 0 0 pose: 0.0 -1.39415 0.0986482 0 -0.00185523 -0.0110883 -0.0483443 0.998767 uwb: 0.0 845.456 1176.53 -imu_odom_: 1691062957.868864831 0.397437 -0.237026 9.89524 -0.0596548 -0.00852212 0.0383495 0 0 pose: 0.0 -1.39415 0.0986482 0 -0.00185523 -0.0110883 -0.0483443 0.998767 uwb: 0.0 845.456 1176.53 -imu_odom_: 1691062957.883930005 0.416591 -0.289698 9.91439 -0.0553937 -0.00852212 0.036219 0 0 pose: 0.30872887 -1.39415 0.0986482 0 -0.00143086 -0.00797533 -0.0481638 0.998807 uwb: 0.50105154 845.322 1175.76 -imu_odom_: 1691062957.898919932 0.447716 -0.208296 9.93115 -0.0553937 0 0.0394148 0 0 pose: 0.14991095 -1.39415 0.0986482 0 -0.000830557-0.00658882 -0.0481794 0.998817 uwb: 0.0 845.322 1175.76 -imu_odom_: 1691062957.912917376 0.440533 -0.241814 9.82341 -0.0575243 -0.00852212 0.0468716 0 0 pose: 0.0 -1.39415 0.0986482 0 -0.000830557-0.00658882 -0.0481794 0.998817 uwb: 0.0 845.322 1175.76 -imu_odom_: 1691062957.928015506 0.418985 -0.201113 9.93833 -0.0543285 -0.00213053 0.0394148 0 0 pose: 0.30050143 -1.39415 0.0986482 0 -0.00096278 -0.00391836 -0.0482234 0.998828 uwb: 0.0 845.322 1175.76 -imu_odom_: 1691062957.942889940 0.428562 -0.186748 9.87369 -0.0543285 -0.00319579 0.0372843 0 0 pose: 0.0 -1.39415 0.0986482 0 -0.00096278 -0.00391836 -0.0482234 0.998828 uwb: 0.49747300 844.606 1174.11 -imu_odom_: 1691062957.956904882 0.426168 -0.215478 9.91439 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 -1.39415 0.0986482 0 -0.00096278 -0.00391836 -0.0482234 0.998828 uwb: 0.0 844.606 1174.11 -imu_odom_: 1691062957.971968014 0.445322 -0.229843 9.89045 -0.0553937 -0.00639159 0.0383495 0 0 pose: 0.44009964 -1.39415 0.0986482 0 -0.000953743-0.00162059 -0.0481872 0.998837 uwb: 0.0 844.606 1174.11 -imu_odom_: 1691062957.986992648 0.426168 -0.222661 9.92157 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 -1.39415 0.0986482 0 -0.000953743-0.00162059 -0.0481872 0.998837 uwb: 0.50168734 844.795 1173.9 -imu_odom_: 1691062958.7856404 0.411803 -0.191536 9.89045 -0.0543285 -0.00213053 0.0426106 0 0 pose: 0.0 -1.39415 0.0986482 0 -0.000953743-0.00162059 -0.0481872 0.998837 uwb: 0.0 844.795 1173.9 -imu_odom_: 1691062958.24915880 -0.430956 -0.21069 9.63666 -0.0553937 0.0756338 0.0500674 0 0 pose: 0.44074418 -1.39415 0.0986482 0 -0.000453204-0.00164811 -0.0482106 0.998836 uwb: 0.0 844.795 1173.9 -imu_odom_: 1691062958.42004812 -1.07978 -0.272939 10.2161 -0.0500674 0.0735032 0.0553937 0.02 0.02 pose: 0.0 -1.39415 0.0986482 0 -0.000453204-0.00164811 -0.0482106 0.998836 uwb: 0.50107779 844.947 1174.04 -imu_odom_: 1691062958.57868522 -1.20668 -0.272939 9.7875 -0.0575243 -0.0351537 0.0543285 0.02 0.02 pose: 0.70003841 -1.39415 0.0986482 0 0.00170548 0.00317697 -0.048036 0.998839 uwb: 0.0 844.947 1174.04 -imu_odom_: 1691062958.73864642 -0.059855 -0.112527 9.99579 -0.056459 -0.0798948 0.0511327 0.04 0.02 pose: 0.0 -1.39415 0.0986482 0 0.00170548 0.00317697 -0.048036 0.998839 uwb: 0.0 844.947 1174.04 -imu_odom_: 1691062958.89852888 0.366313 -0.21069 9.73482 -0.0575243 -0.0458064 0.0617853 0.04 0.02 pose: 0.0 -1.39415 0.0986482 0 0.00170548 0.00317697 -0.048036 0.998839 uwb: 0.50001035 844.886 1173.19 -imu_odom_: 1691062958.106904489 0.177171 -0.268151 9.89045 -0.0511327 0.0191748 0.0543285 0.04 0.02 pose: 0.31869163 -1.39415 0.0986482 0 0.00185297 0.00618143 -0.0478116 0.998836 uwb: 0.0 844.886 1173.19 -imu_odom_: 1691062958.123862470 -0.294487 -0.172383 9.97424 -0.056459 0.0213053 0.0490022 0.07 0 pose: 0.42020621 -1.38426 0.0971724 0 0.000715637 0.00657771 -0.0474646 0.998851 uwb: 0.0 844.886 1173.19 -imu_odom_: 1691062958.140975609 -0.181959 -0.234632 9.89284 -0.056459 -0.0287621 0.0639159 0.07 0 pose: 0.8008996 -1.38426 0.0971891 0 0.000802774 0.00747756 -0.0474266 0.998846 uwb: 0.49803881 845.602 1173.61 -imu_odom_: 1691062958.156908441 -0.0023942 -0.244209 9.75877 -0.0500674 -0.015979 0.0468716 0.07 0 pose: 0.0 -1.38426 0.0971891 0 0.000802774 0.00747756 -0.0474266 0.998846 uwb: 0.0 845.602 1173.61 -imu_odom_: 1691062958.173905503 0.227449 -0.251391 10.0054 -0.0585895 -0.02024 0.0447411 0.11 0 pose: 0.41994956 -1.38426 0.0971891 0 0.000683333 0.0114729 -0.0471223 0.998823 uwb: 0.0 845.602 1173.61 -imu_odom_: 1691062958.189846209 0.00718261 -0.205901 9.87369 -0.0468716 0.00852212 0.0298274 0.09 0.02 pose: 0.0 -1.38426 0.0971891 0 0.000683333 0.0114729 -0.0471223 0.998823 uwb: 0.50118862 845.431 1172.88 -imu_odom_: 1691062958.206905393 -0.201113 -0.241814 9.65342 -0.0458064 0.00426106 0.0426106 0.09 0.02 pose: 0.0 -1.38426 0.0971891 0 0.000683333 0.0114729 -0.0471223 0.998823 uwb: 0.0 845.431 1172.88 -imu_odom_: 1691062958.223954369 0.0981623 -0.260968 9.88326 -0.0639159 0.00852212 0.0479369 0.1 0.02 pose: 0.24949770 -1.38426 0.0971891 0 -0.0002690820.0108715 -0.0471275 0.99883 uwb: 0.0 845.431 1172.88 -imu_odom_: 1691062958.239830329 0.311246 -0.201113 10.0796 -0.0490022 0.00532632 0.0255663 0.1 0.02 pose: 0.0 -1.38426 0.0971891 0 -0.0002690820.0108715 -0.0471275 0.99883 uwb: 0.49878250 845.636 1172.65 -imu_odom_: 1691062958.255889445 0.234632 0.0454898 9.69652 -0.0490022 -0.00852212 0.0436758 0.1 0.02 pose: 0.33056470 -1.37438 0.0956442 0 -0.0004997080.0141781 -0.0471106 0.998789 uwb: 0.0 845.636 1172.65 -imu_odom_: 1691062958.271828985 -0.112527 -0.169988 9.59117 -0.056459 0.00639159 0.0596548 0.11 0 pose: 0.40974764 -1.37438 0.0956442 0 0.00083413 0.0128939 -0.0471375 0.998805 uwb: 0.0 845.636 1172.65 -imu_odom_: 1691062958.286826788 0.545878 -0.387861 10.1825 -0.04048 -0.0649811 0.0394148 0.11 0 pose: 0.7940459 -1.37438 0.0956442 0 0.00098702 0.0137161 -0.047056 0.998798 uwb: 0.50119154 846.046 1172.2 -imu_odom_: 1691062958.302880946 0.866701 -0.169988 9.54329 -0.0532632 -0.0298274 0.052198 0.11 0 pose: 0.0 -1.37438 0.0956442 0 0.00098702 0.0137161 -0.047056 0.998798 uwb: 0.0 846.046 1172.2 -imu_odom_: 1691062958.318883482 0.893037 -0.289698 9.93594 -0.0639159 0.0532632 0.0862864 0.1 0 pose: 0.39051042 -1.3645 0.094101 0 0.000623361 0.0109174 -0.0468847 0.99884 uwb: 0.0 846.046 1172.2 -imu_odom_: 1691062958.334989846 1.24498 -0.258574 10.2304 -0.0553937 -0.0372843 0.122505 0.1 0 pose: 0.0 -1.3645 0.094101 0 0.000623361 0.0109174 -0.0468847 0.99884 uwb: 0.49950580 845.453 1171.95 -imu_odom_: 1691062958.351860915 1.32639 -0.268151 9.23922 -0.0500674 -0.0127832 0.129962 0.1 0 pose: 0.0 -1.3645 0.094101 0 0.000623361 0.0109174 -0.0468847 0.99884 uwb: 0.0 845.453 1171.95 -imu_odom_: 1691062958.367840411 1.34554 -0.0957681 10.0748 -0.0426106 0.0287621 0.102265 0.06 0 pose: 0.39045208 -1.3645 0.094101 0 0.000141986 0.00720529 -0.045535 0.998937 uwb: 0.0 845.453 1171.95 -imu_odom_: 1691062958.384860805 0.500388 -0.023942 9.75637 -0.0511327 0.0553937 0.0383495 0.09 -0.02 pose: 0.0 -1.3645 0.094101 0 0.000141986 0.00720529 -0.045535 0.998937 uwb: 0.49989953 845.777 1171.89 -imu_odom_: 1691062958.401942738 0.696713 -0.0191536 10.2639 -0.0543285 -0.0330232 0.00852212 0.09 -0.02 pose: 0.0 -1.3645 0.094101 0 0.000141986 0.00720529 -0.045535 0.998937 uwb: 0.0 845.777 1171.89 -imu_odom_: 1691062958.416849837 0.68953 -0.306458 9.55765 -0.0649811 -0.0170442 -0.00213053 0.05 0.05 pose: 0.32953226 -1.3645 0.094101 0 0.00080347 0.00452182 -0.0445895 0.998995 uwb: 0.0 845.777 1171.89 -imu_odom_: 1691062958.431869221 0.905008 -0.260968 9.97903 -0.0607201 0.00532632 0.00852212 0.05 0.05 pose: 0.0 -1.3645 0.094101 0 0.00080347 0.00452182 -0.0445895 0.998995 uwb: 0.50010368 845.998 1171.64 -imu_odom_: 1691062958.448861034 0.773327 -0.378284 9.81144 -0.0553937 0.00532632 0.0245011 0.05 0.05 pose: 0.34009291 -1.3645 0.094101 0 0.00181304 0.00156547 -0.044997 0.998984 uwb: 0.0 845.998 1171.64 -imu_odom_: 1691062958.465848764 0.732626 -0.107739 10.0461 -0.0585895 0.00852212 0.0213053 0.04 0.02 pose: 0.39972363 -1.35461 0.0925985 0 0.000284962 -0.00200376 -0.0455187 0.998961 uwb: 0.0 845.998 1171.64 -imu_odom_: 1691062958.481987209 0.476446 -0.186748 9.76834 -0.0468716 -0.00213053 0.0138484 0.04 0.02 pose: 0.8038162 -1.35461 0.0925985 0 0.000500319 -0.00272335 -0.0455923 0.998956 uwb: 0.49909166 845.998 1171.64 -imu_odom_: 1691062958.500050543 0.392649 -0.160412 10.003 -0.0585895 0.00745685 0.0436758 0.04 0.02 pose: 0.0 -1.35461 0.0925985 0 0.000500319 -0.00272335 -0.0455923 0.998956 uwb: 0.0 845.998 1171.64 -imu_odom_: 1691062958.517943845 0.430956 -0.423774 9.84735 -0.056459 -0.015979 0.076699 0.03 0 pose: 0.43151347 -1.35461 0.0925985 0 0.00236943 -0.00247619 -0.0458532 0.998942 uwb: 0.0 845.998 1171.64 -imu_odom_: 1691062958.542990152 0.804452 -0.0670376 9.8689 -0.0490022 -0.00958738 0.076699 0.03 0.02 pose: 0.0 -1.35461 0.0925985 0 0.00236943 -0.00247619 -0.0458532 0.998942 uwb: 0.49894583 846.212 1171.11 -imu_odom_: 1691062958.559848680 0.00718261 -0.131681 9.71567 -0.0628506 0.0809601 0.0894822 0.03 0.02 pose: 0.23945328 -1.35461 0.0925985 0 0.000782467 -0.00296602 -0.0454058 0.998964 uwb: 0.0 846.212 1171.11 -imu_odom_: 1691062958.585881055 -1.40779 -0.328006 10.1538 -0.0511327 0.0255663 0.0585895 0.03 0.05 pose: 0.0 -1.35461 0.0925985 0 0.000782467 -0.00296602 -0.0454058 0.998964 uwb: 0.50048575 844.946 1170.41 -imu_odom_: 1691062958.611895056 -0.31364 -0.299275 9.81623 -0.0575243 -0.0671117 0.0639159 0.08 0 pose: 0.43894763 -1.35461 0.0925985 0 0.0016426 -0.00151575 -0.0445611 0.999004 uwb: 0.0 844.946 1170.41 -imu_odom_: 1691062958.637886309 0.646434 -0.131681 9.5792 -0.0596548 -0.0255663 0.0511327 0.08 0 pose: 0.0 -1.35461 0.0925985 0 0.0016426 -0.00151575 -0.0445611 0.999004 uwb: 0.49920540 845.079 1170.56 -imu_odom_: 1691062958.663962431 -0.514753 -0.272939 9.80665 -0.056459 0.0500674 0.0479369 0.12 0 pose: 0.25113969 -1.35461 0.0925985 0 0.00152731 0.00103454 -0.0443076 0.999016 uwb: 0.0 845.079 1170.56 -imu_odom_: 1691062958.689853356 0.220267 -0.0909797 9.6199 -0.0479369 -0.0852212 0.0319579 0.12 0 pose: 0.0 -1.35461 0.0925985 0 0.00152731 0.00103454 -0.0443076 0.999016 uwb: 0.50051491 845.026 1170.32 -imu_odom_: 1691062958.705975760 0.383072 -0.241814 9.87129 -0.0607201 -0.00958738 0.0596548 0.14 0 pose: 0.51893551 -1.34472 0.0911097 0 0.00158391 0.000371765 -0.0438996 0.999035 uwb: 0.0 845.026 1170.32 -imu_odom_: 1691062958.731096729 0.102951 -0.0023942 9.65821 -0.0628506 0.00639159 0.0340885 0.14 0 pose: 0.0 -1.34472 0.0911097 0 0.00158391 0.000371765 -0.0438996 0.999035 uwb: 0.50194399 845.286 1170.33 -imu_odom_: 1691062958.756984446 0.011971 -0.395043 10.0197 -0.0553937 -0.0436758 0.0511327 0.14 0 pose: 0.51990963 -1.34472 0.0911097 0 0.00257458 0.00336533 -0.0438511 0.999029 uwb: 0.0 845.286 1170.33 -imu_odom_: 1691062958.774017964 0.203507 -0.229843 9.87369 -0.052198 -0.0585895 0.0266316 0.14 0 pose: 0.0 -1.34472 0.0911097 0 0.00257458 0.00336533 -0.0438511 0.999029 uwb: 0.0 845.286 1170.33 -imu_odom_: 1691062958.799947095 0.37589 -0.129287 9.79947 -0.0585895 0.0479369 0.0447411 0.16 0 pose: 0.42106657 -1.33335 0.09952 0 0.00277699 0.00544615 -0.0437876 0.999022 uwb: 0.49909166 844.46 1169.45 -imu_odom_: 1691062958.825941264 0.162806 -0.150835 9.81144 -0.0511327 -0.0276969 0.0383495 0.12 0 pose: 0.41956457 -1.33335 0.09952 0 0.00121031 0.00714068 -0.0437922 0.999014 uwb: 0.0 844.46 1169.45 -imu_odom_: 1691062958.850873536 0.445322 -0.009576819.85693 -0.0628506 -0.0106526 0.0575243 0.17 0 pose: 0.0 -1.33335 0.09952 0 0.00121031 0.00714068 -0.0437922 0.999014 uwb: 0.50076281 844.197 1169.14 -imu_odom_: 1691062958.872830104 0.328006 -0.248997 10.0485 -0.0553937 0.0458064 0.0426106 0.14 0.02 pose: 0.52025086 -1.32346 0.0980414 0 0.0032343 0.00758536 -0.043684 0.999011 uwb: 0.0 844.197 1169.14 -imu_odom_: 1691062958.889869164 0.301669 -0.186748 10.1514 -0.111853 -0.052198 0.0745685 0.14 0.02 pose: 0.0 -1.32346 0.0980414 0 0.0032343 0.00758536 -0.043684 0.999011 uwb: 0.49895166 844.229 1169.11 -imu_odom_: 1691062958.914832058 0.198719 -0.0957681 10.2711 -0.100135 0.0191748 0.0490022 0.14 0.02 pose: 0.23902164 -1.32346 0.0980414 0 0.00363846 0.00599889 -0.0435038 0.999029 uwb: 0.0 844.229 1169.11 -imu_odom_: 1691062958.939822077 0.557849 -0.289698 9.66539 -0.0745685 -0.0575243 0.0340885 0.18 -0.02 pose: 0.39997737 -1.31357 0.0965689 0 0.00105361 0.00461607 -0.0431526 0.999057 uwb: 0.50012702 845.363 1170.24 -imu_odom_: 1691062958.965819745 0.383072 -0.203507 9.52413 -0.0671117 0 0.0543285 0.15 0 pose: 0.42944859 -1.30642 0.0955081 0 0.000632674 0.0031964 -0.0431326 0.999064 uwb: 0.0 845.363 1170.24 -imu_odom_: 1691062958.980829797 0.059855 -0.244209 10.0533 -0.0607201 0.0340885 0.0447411 0.15 0 pose: 0.0 -1.30642 0.0955081 0 0.000632674 0.0031964 -0.0431326 0.999064 uwb: 0.49982953 845.49 1170.1 -imu_odom_: 1691062959.7868364 0.237026 -0.280122 10.1323 -0.04048 -0.00852212 0.0319579 0.16 0.02 pose: 0.7223000 -1.30368 0.0951031 0 0.000592002 0.00249002 -0.0430788 0.999068 uwb: 0.0 845.49 1170.1 -imu_odom_: 1691062959.32846133 0.347159 -0.411803 9.9527 -0.0436758 -0.052198 0.0319579 0.16 0.02 pose: 0.0 -1.30368 0.0951031 0 0.000592002 0.00249002 -0.0430788 0.999068 uwb: 0.50043908 845.337 1169.68 -imu_odom_: 1691062959.58948213 0.277727 -0.114922 9.74679 -0.0490022 0.00958738 0.052198 0.17 0.02 pose: 0.41919126 -1.30368 0.0951031 0 1.7982e-05 0.00313727 -0.0429332 0.999073 uwb: 0.0 845.337 1169.68 -imu_odom_: 1691062959.76013813 0.222661 -0.179565 10.1323 -0.0479369 -0.0170442 0.0436758 0.17 0.02 pose: 0.0 -1.30368 0.0951031 0 1.7982e-05 0.00313727 -0.0429332 0.999073 uwb: 0.0 845.337 1169.68 -imu_odom_: 1691062959.100801135 0.0215478 -0.275333 9.84975 -0.0479369 0.00639159 0.0372843 0.22 0 pose: 0.51003437 -1.29379 0.0936414 0 -0.00238751 0.00399948 -0.0430674 0.999061 uwb: 0.50029618 845.337 1169.68 -imu_odom_: 1691062959.125831693 0.251391 -0.277727 9.75158 -0.056459 0.00426106 0.0490022 0.22 0 pose: 0.0 -1.29379 0.0936414 0 -0.00238751 0.00399948 -0.0430674 0.999061 uwb: 0.0 845.337 1169.68 -imu_odom_: 1691062959.151948355 0.325611 -0.158017 9.23204 -0.0692422 0.00958738 0.0436758 0.17 0.02 pose: 0.42880404 -1.2839 0.0921769 0 0.000351127 0.00671435 -0.0429089 0.999056 uwb: 0.50065782 845.888 1169.66 -imu_odom_: 1691062959.174804080 0.474052 -0.1652 9.90721 -0.0607201 -0.0266316 0.0372843 0.17 0.02 pose: 0.0 -1.2839 0.0921769 0 0.000351127 0.00671435 -0.0429089 0.999056 uwb: 0.0 845.888 1169.66 -imu_odom_: 1691062959.190959149 0.387861 -0.19393 9.6606 -0.0426106 -0.0298274 0.0319579 0.17 0 pose: 0.51053017 -1.274 0.090716 0 -0.00179616 0.0078008 -0.0428145 0.999051 uwb: 0.49859002 845.6 1168.79 -imu_odom_: 1691062959.216811284 0.469264 -0.198719 9.65582 -0.0511327 -0.0330232 0.0447411 0.17 0 pose: 0.0 -1.274 0.090716 0 -0.00179616 0.0078008 -0.0428145 0.999051 uwb: 0.0 845.6 1168.79 -imu_odom_: 1691062959.242860867 0.577003 -0.217872 10.0245 -0.0543285 -0.0276969 0.0511327 0.21 -0.02 pose: 0.64062351 -1.26411 0.0892574 0 0.000624928 0.00184358 -0.0428328 0.99908 uwb: 0.49966330 846.13 1168.51 -imu_odom_: 1691062959.268926782 0.3304 -0.0909797 10.1323 -0.0415453 -0.0308927 0.0394148 0.21 0 pose: 0.44897455 -1.25422 0.0877978 0 0.000305649 -0.00320231 -0.0426311 0.999086 uwb: 0.0 846.13 1168.51 -imu_odom_: 1691062959.285955051 0.59855 -0.105345 10.1107 -0.0415453 -0.0681769 0.0479369 0.21 0 pose: 0.0 -1.25422 0.0877978 0 0.000305649 -0.00320231 -0.0426311 0.999086 uwb: 0.50036034 846.063 1168.29 -imu_odom_: 1691062959.311817686 0.586579 -0.323217 9.94073 -0.0447411 -0.0191748 0.0479369 0.23 -0.02 pose: 0.6951766 -1.25422 0.0877978 0 0.000819996 -0.00278358 -0.0426333 0.999087 uwb: 0.0 846.063 1168.29 -imu_odom_: 1691062959.336792830 0.672771 -0.332794 9.78031 -0.0671117 -0.0330232 0.0575243 0.23 -0.02 pose: 0.0 -1.25422 0.0877978 0 0.000819996 -0.00278358 -0.0426333 0.999087 uwb: 0.50138403 846.007 1167.47 -imu_odom_: 1691062959.362854954 0.68953 0.102951 10.3884 -0.052198 -0.04048 0.0468716 0.2 -0.02 pose: 0.43028854 -1.24432 0.086342 0 0.00231576 -0.00420623 -0.0425341 0.999083 uwb: 0.0 846.007 1167.47 -imu_odom_: 1691062959.378797702 0.555455 -0.172383 9.63427 -0.0660464 -0.0330232 0.04048 0.2 -0.02 pose: 0.0 -1.24432 0.086342 0 0.00231576 -0.00420623 -0.0425341 0.999083 uwb: 0.0 846.007 1167.47 -imu_odom_: 1691062959.404947903 0.509965 -0.172383 9.43555 -0.0671117 0.00426106 0.0490022 0.22 0 pose: 0.51965590 -1.23443 0.0848901 0 -0.000307462-0.00801638 -0.0421885 0.999077 uwb: 0.49852003 845.908 1166.99 -imu_odom_: 1691062959.430857202 0.42138 -0.538695 9.42118 -0.0703074 0.00958738 0.0511327 0.22 0 pose: 0.0 -1.23443 0.0848901 0 -0.000307462-0.00801638 -0.0421885 0.999077 uwb: 0.50076573 846.31 1166.84 -imu_odom_: 1691062959.456815207 0.392649 -0.268151 10.003 -0.0713727 -0.0468716 0.0479369 0.22 0.02 pose: 0.42160029 -1.23443 0.0848901 0 0.00196602 -0.00703293 -0.0421019 0.999087 uwb: 0.0 846.31 1166.84 -imu_odom_: 1691062959.482825416 0.584185 -0.203507 10.0724 -0.0639159 -0.0671117 0.0276969 0.18 0 pose: 0.50847112 -1.22454 0.0834446 0 -0.00112825 -0.00382116 -0.0418313 0.999117 uwb: 0.49850836 847.34 1166.89 -imu_odom_: 1691062959.499924556 0.641646 -0.136469 9.76355 -0.0479369 -0.00426106 0.036219 0.18 0 pose: 0.0 -1.22454 0.0834446 0 -0.00112825 -0.00382116 -0.0418313 0.999117 uwb: 0.0 847.34 1166.89 -imu_odom_: 1691062959.524815706 0.68953 -0.282516 9.50977 -0.052198 0.00426106 0.0511327 0.18 0 pose: 0.62110338 -1.20877 0.081152 0 -0.000254664-0.00712849 -0.0419432 0.999095 uwb: 0.0 847.34 1166.89 -imu_odom_: 1691062959.550779543 0.553061 -0.0550666 10.2328 -0.0532632 0.0575243 0.0298274 0.18 0 pose: 0.6925226 -1.20474 0.0805652 0 -0.000554133-0.00771901 -0.0419009 0.999092 uwb: 0.49986162 847.499 1166.72 -imu_odom_: 1691062959.575771311 0.529119 -0.0861913 9.74201 -0.072438 -0.0191748 0.0490022 0.19 0 pose: 0.43929761 -1.19766 0.0795336 0 0.00129361 -0.00801439 -0.0419416 0.999087 uwb: 0.0 847.499 1166.72 -imu_odom_: 1691062959.593775149 -0.0933739 -0.241814 10.0173 -0.0490022 -0.0298274 0.0340885 0.19 0 pose: 0.0 -1.19766 0.0795336 0 0.00129361 -0.00801439 -0.0419416 0.999087 uwb: 0.50053241 848.09 1166.07 -imu_odom_: 1691062959.618768959 0.361524 -0.138864 9.87848 -0.0703074 -0.0511327 0.0351537 0.18 0 pose: 0.42995606 -1.19485 0.0791237 0 0.00334457 -0.00606237 -0.0419011 0.999098 uwb: 0.0 848.09 1166.07 -imu_odom_: 1691062959.643861930 0.490811 -0.337582 10.4004 -0.052198 0.0127832 0.04048 0.18 0 pose: 0.0 -1.19485 0.0791237 0 0.00334457 -0.00606237 -0.0419011 0.999098 uwb: 0.49881459 848.746 1165.64 -imu_odom_: 1691062959.665794000 0.878672 -0.148441 10.4148 -0.0671117 -0.0596548 0.04048 0.18 0 pose: 0.50086781 -1.18386 0.0851846 0 0.000865553 -0.00389788 -0.0419473 0.999112 uwb: 0.0 848.746 1165.64 -imu_odom_: 1691062959.682769189 0.490811 -0.244209 9.50977 -0.0436758 0.0276969 0.0340885 0.18 0 pose: 0.0 -1.18386 0.0851846 0 0.000865553 -0.00389788 -0.0419473 0.999112 uwb: 0.50128487 848.44 1165.11 -imu_odom_: 1691062959.709046258 0.361524 -0.0861913 9.71088 -0.056459 -0.00532632 0.0351537 0.24 0 pose: 0.38907259 -1.17362 0.086135 0 -0.000352506-0.00536571 -0.0419746 0.999104 uwb: 0.0 848.44 1165.11 -imu_odom_: 1691062959.734770068 0.308852 -0.366313 9.54568 -0.0596548 0.0287621 0.0447411 0.24 0 pose: 0.0 -1.17362 0.086135 0 -0.000352506-0.00536571 -0.0419746 0.999104 uwb: 0.50108072 847.93 1164.22 -imu_odom_: 1691062959.759902995 0.459687 -0.270545 9.63427 -0.0330232 0.00745685 0.0372843 0.21 0 pose: 0.34316397 -1.16372 0.0846919 0 0.000881171 -0.00281849 -0.0420204 0.999112 uwb: 0.0 847.93 1164.22 -imu_odom_: 1691062959.784979341 0.483629 -0.361524 9.96706 -0.056459 0.0149137 0.0500674 0.18 0 pose: 0.0 -1.16372 0.0846919 0 0.000881171 -0.00281849 -0.0420204 0.999112 uwb: 0.49957288 848.507 1163.88 -imu_odom_: 1691062959.801880743 0.371101 -0.371101 9.97185 -0.0617853 0.00639159 0.0468716 0.18 0 pose: 0.42817409 -1.16372 0.0846919 0 -0.00231024 -0.0024394 -0.0419979 0.999112 uwb: 0.0 848.507 1163.88 -imu_odom_: 1691062959.818901429 0.325611 -0.277727 9.8282 -0.056459 0 0.0436758 0.18 0 pose: 0.0 -1.16372 0.0846919 0 -0.00231024 -0.0024394 -0.0419979 0.999112 uwb: 0.0 848.507 1163.88 -imu_odom_: 1691062959.844902597 0.562637 -0.416591 9.9096 -0.0543285 -0.0426106 0.0490022 0.24 0 pose: 0.58998434 -1.14802 0.0824034 0 -0.00498706 0.00026695 -0.0417496 0.999116 uwb: 0.0 848.507 1163.88 -imu_odom_: 1691062959.861990363 0.201113 -0.0909797 9.43315 -0.0639159 0.0383495 0.0458064 0.24 0 pose: 0.6941266 -1.14393 0.081809 0 -0.00539063 -0.000432269-0.0417191 0.999115 uwb: 0.0 848.507 1163.88 -imu_odom_: 1691062959.887768419 0.253785 -0.277727 9.31344 -0.072438 0.0287621 0.0394148 0.23 0 pose: 0.36147668 -1.14393 0.081809 0 -0.00531737 -0.000807257-0.0415803 0.999121 uwb: 0.100097733 848.063 1162.08 -imu_odom_: 1691062959.903804495 0.608127 -0.356736 10.0365 -0.0511327 -0.0191748 0.0372843 0.19 0 pose: 0.0 -1.14393 0.081809 0 -0.00531737 -0.000807257-0.0415803 0.999121 uwb: 0.0 848.063 1162.08 -imu_odom_: 1691062959.929955572 0.610521 -0.169988 10.2089 -0.0585895 -0.0351537 0.0415453 0.21 0 pose: 0.32918812 -1.13403 0.0803742 0 -0.00504465 0.0013808 -0.0415838 0.999121 uwb: 0.0 848.063 1162.08 -imu_odom_: 1691062959.955914160 0.342371 -0.280122 9.67257 -0.052198 0.0234358 0.0458064 0.18 0 pose: 0.35046397 -1.12689 0.0793388 0 -0.00385684 -0.00215143 -0.0415815 0.999125 uwb: 0.0 848.063 1162.08 -imu_odom_: 1691062959.981879164 0.308852 -0.246603 9.69173 -0.0671117 0.00745685 0.0436758 0.18 0 pose: 0.0 -1.12689 0.0793388 0 -0.00385684 -0.00215143 -0.0415815 0.999125 uwb: 0.99942867 848.331 1161.23 -imu_odom_: 1691062959.998791356 0.102951 -0.129287 9.96227 -0.0639159 -0.00852212 0.0585895 0.18 0 pose: 0.0 -1.12689 0.0793388 0 -0.00385684 -0.00215143 -0.0415815 0.999125 uwb: 0.0 848.331 1161.23 -imu_odom_: 1691062960.24944475 0.385466 -0.299275 9.64384 -0.0692422 -0.0479369 0.0383495 0.18 0 pose: 0.59863468 -1.11424 0.0775056 0 -0.0021384 0.00393552 -0.0413522 0.999135 uwb: 0.0 848.331 1161.23 -imu_odom_: 1691062960.50823734 0.383072 -0.205901 10.1897 -0.0628506 -0.0170442 0.0553937 0.19 0.02 pose: 0.35125435 -1.107 0.0764596 0 -0.00348249 0.0020266 -0.0412885 0.999139 uwb: 0.49903042 848.321 1159.55 -imu_odom_: 1691062960.76773572 0.603339 -0.23942 9.72764 -0.0703074 0.00106526 0.0468716 0.19 0.02 pose: 0.0 -1.107 0.0764596 0 -0.00348249 0.0020266 -0.0412885 0.999139 uwb: 0.0 848.321 1159.55 -imu_odom_: 1691062960.102770658 0.416591 -0.234632 9.81862 -0.056459 -0.00213053 0.0575243 0.2 -0.02 pose: 0.7013595 -1.10434 0.0760754 0 -0.00283163 0.00180289 -0.0412323 0.999144 uwb: 0.50030784 847.323 1157.55 -imu_odom_: 1691062960.128778826 0.31364 -0.3304 9.88326 -0.0372843 0 0.0458064 0.23 -0.02 pose: 0.52867080 -1.09444 0.0746514 0 -0.00103916 -0.000595929-0.0409165 0.999162 uwb: 0.0 847.323 1157.55 -imu_odom_: 1691062960.153883464 0.411803 0.105345 10.24 -0.0596548 -0.02024 0.0426106 0.23 -0.02 pose: 0.0 -1.09444 0.0746514 0 -0.00103916 -0.000595929-0.0409165 0.999162 uwb: 0.0 847.323 1157.55 -imu_odom_: 1691062960.170884609 0.768539 -0.174777 10.319 -0.04048 0.0149137 0.0500674 0.2 0 pose: 0.24985061 -1.09444 0.0746514 0 -0.0007186920.00141909 -0.0407332 0.999169 uwb: 0.0 847.323 1157.55 -imu_odom_: 1691062960.196774368 0.770933 -0.320823 9.9503 -0.0511327 -0.0106526 0.036219 0.2 0 pose: 0.52152829 -1.09444 0.0746514 0 0.000394892 0.00110243 -0.0405894 0.999175 uwb: 0.99931785 847.862 1156.72 -imu_odom_: 1691062960.222760954 0.390255 -0.0837971 9.77074 -0.056459 0.0106526 0.0553937 0.25 0 pose: 0.34811328 -1.08771 0.0736883 0 -0.000308028-0.00223119 -0.040585 0.999174 uwb: 0.0 847.862 1156.72 -imu_odom_: 1691062960.247872299 0.651223 -0.160412 9.43076 -0.0692422 -0.0255663 0.0415453 0.25 0 pose: 0.0 -1.08771 0.0736883 0 -0.000308028-0.00223119 -0.040585 0.999174 uwb: 0.50036034 848.488 1156.07 -imu_odom_: 1691062960.265870304 0.189142 -0.208296 10.0533 -0.0415453 -0.015979 0.0436758 0.2 0 pose: 0.51097931 -1.07766 0.0722525 0 0.001989 -0.00390829 -0.0403554 0.999176 uwb: 0.0 848.488 1156.07 -imu_odom_: 1691062960.290812492 0.481235 -0.304064 9.9934 -0.0458064 -0.0436758 0.0394148 0.2 0 pose: 0.0 -1.07766 0.0722525 0 0.001989 -0.00390829 -0.0403554 0.999176 uwb: 0.49849379 847.747 1153.85 -imu_odom_: 1691062960.315785595 0.682347 -0.25618 10.1658 -0.0426106 0.0330232 0.0447411 0.25 0.02 pose: 0.42940193 -1.0672 0.0707621 0 -0.000374393-0.00328472 -0.0403178 0.999181 uwb: 0.0 847.747 1153.85 -imu_odom_: 1691062960.339764464 0.54109 -0.172383 9.97664 -0.0479369 0.00532632 0.0394148 0.25 0.02 pose: 0.0 -1.0672 0.0707621 0 -0.000374393-0.00328472 -0.0403178 0.999181 uwb: 0.50015619 848.816 1153.84 -imu_odom_: 1691062960.356742569 0.155623 -0.110133 10.1323 -0.0394148 -0.0170442 0.0372843 0.19 0 pose: 0.30914011 -1.06475 0.070413 0 -0.000210397-0.00558333 -0.040255 0.999174 uwb: 0.0 848.816 1153.84 -imu_odom_: 1691062960.382743738 0.205901 -0.342371 9.88805 -0.0436758 -0.0106526 0.0383495 0.19 0 pose: 0.0 -1.06475 0.070413 0 -0.000210397-0.00558333 -0.040255 0.999174 uwb: 0.50137236 848.696 1152.63 -imu_odom_: 1691062960.409763057 1.07978 -0.186748 10.635 -0.0490022 -0.0245011 0.0436758 0.21 0 pose: 0.25006935 -1.05484 0.0690043 0 0.00154997 -0.005903 -0.0402743 0.99917 uwb: 0.0 848.696 1152.63 -imu_odom_: 1691062960.435712604 0.699107 -0.141258 9.9503 -0.052198 0.015979 0.0436758 0.19 -0.05 pose: 0.43033521 -1.05484 0.0690043 0 0.000803456 -0.00354944 -0.0402873 0.999182 uwb: 0.49857253 848.504 1150.96 -imu_odom_: 1691062960.462699257 0.612916 -0.112527 9.4954 -0.072438 -0.0436758 0.0394148 0.23 -0.02 pose: 0.0 -1.05484 0.0690043 0 0.000803456 -0.00354944 -0.0402873 0.999182 uwb: 0.0 848.504 1150.96 -imu_odom_: 1691062960.479701278 0.153229 -0.131681 10.2376 -0.0372843 0.0245011 0.0415453 0.23 -0.02 pose: 0.52960699 -1.04354 0.0774956 0 0.0019167 -0.00863819 -0.0401959 0.999153 uwb: 0.0 848.504 1150.96 -imu_odom_: 1691062960.505792275 0.416591 -0.280122 10.3358 -0.0585895 -0.0298274 0.0532632 0.19 0 pose: 0.0 -1.04354 0.0774956 0 0.0019167 -0.00863819 -0.0401959 0.999153 uwb: 0.50077741 848.127 1149.51 -imu_odom_: 1691062960.530722505 0.6608 -0.208296 10.094 -0.0692422 0.0308927 0.0426106 0.18 0 pose: 0.63064617 -1.02638 0.0750557 0 0.00170588 -0.00680658 -0.040013 0.999175 uwb: 0.49993161 848.322 1148.79 -imu_odom_: 1691062960.556714341 0.56982 -0.222661 10.0126 -0.0671117 0.00106526 0.0415453 0.18 0 pose: 0.0 -1.02638 0.0750557 0 0.00170588 -0.00680658 -0.040013 0.999175 uwb: 0.0 848.322 1148.79 -imu_odom_: 1691062960.582717260 0.035913 -0.253785 9.89045 -0.0468716 0.0149137 0.0415453 0.18 -0.02 pose: 0.6941850 -1.02374 0.0746806 0 0.0014558 -0.00734535 -0.0399999 0.999172 uwb: 0.49879710 848.846 1148.28 -imu_odom_: 1691062960.597857971 0.181959 -0.136469 10.3765 -0.0447411 -0.0213053 0.0511327 0.18 -0.02 pose: 0.0 -1.02374 0.0746806 0 0.0014558 -0.00734535 -0.0399999 0.999172 uwb: 0.0 848.846 1148.28 -imu_odom_: 1691062960.621831882 0.100556 -0.363919 9.73004 -0.0479369 0.0213053 0.0351537 0.17 0.02 pose: 0.51056225 -1.01383 0.0732774 0 -0.00183059 -0.00733189 -0.039912 0.999175 uwb: 0.0 848.846 1148.28 -imu_odom_: 1691062960.648752040 0.0694318 -0.0933739 10.3789 -0.0490022 0 0.0436758 0.17 0.02 pose: 0.0 -1.01383 0.0732774 0 -0.00183059 -0.00733189 -0.039912 0.999175 uwb: 0.49997245 847.709 1145.54 -imu_odom_: 1691062960.673740308 0.308852 -0.287304 10.1107 -0.0426106 -0.0532632 0.0308927 0.19 0 pose: 0.41059927 -1.01383 0.0732774 0 -0.00126579 -0.00321448 -0.039817 0.999201 uwb: 0.0 847.709 1145.54 -imu_odom_: 1691062960.690855781 0.318429 -0.227449 9.55287 -0.0660464 -0.0213053 0.0394148 0.19 0 pose: 0.0 -1.01383 0.0732774 0 -0.00126579 -0.00321448 -0.039817 0.999201 uwb: 0.50114197 848.101 1144.4 -imu_odom_: 1691062960.706741366 0.641646 -0.167594 10.1083 -0.0596548 -0.015979 0.0394148 0.19 0 pose: 0.52107331 -1.00393 0.0718776 0 -0.0009132160.00155074 -0.0398292 0.999205 uwb: 0.0 848.101 1144.4 -imu_odom_: 1691062960.733755726 0.842759 -0.234632 10.003 -0.0553937 -0.00958738 0.0319579 0.19 0 pose: 0.0 -1.00393 0.0718776 0 -0.0009132160.00155074 -0.0398292 0.999205 uwb: 0.49954080 848.257 1143.5 -imu_odom_: 1691062960.758699373 0.667982 -0.177171 9.34457 -0.0436758 0.0447411 0.0351537 0.18 0.02 pose: 0.41907170 -0.994031 0.0704774 0 -0.0008969260.00289436 -0.0398992 0.999199 uwb: 0.0 848.257 1143.5 -imu_odom_: 1691062960.785863058 0.253785 -0.19393 9.54808 -0.056459 0.0117179 0.0319579 0.18 0.02 pose: 0.0 -0.994031 0.0704774 0 -0.0008969260.00289436 -0.0398992 0.999199 uwb: 0.50121488 848.181 1142.07 -imu_odom_: 1691062960.811835645 0.146046 -0.414197 9.71806 -0.0596548 0.0500674 0.0500674 0.19 0 pose: 0.42852115 -0.98413 0.0690752 0 -0.000712386-0.00129016 -0.0400239 0.999198 uwb: 0.0 848.181 1142.07 -imu_odom_: 1691062960.838779134 0.304064 -0.0909797 10.137 -0.0319579 -0.0319579 0.0351537 0.22 0.02 pose: 0.52123955 -0.97423 0.0676695 0 -0.0003559740.00120318 -0.0401257 0.999194 uwb: 0.49931040 848.68 1141.36 -imu_odom_: 1691062960.863834191 0.634463 -0.258574 10.1442 -0.0458064 -0.00852212 0.052198 0.22 0.02 pose: 0.0 -0.97423 0.0676695 0 -0.0003559740.00120318 -0.0401257 0.999194 uwb: 0.0 848.68 1141.36 -imu_odom_: 1691062960.880834462 0.1652 -0.347159 9.65103 -0.0532632 0.0106526 0.0415453 0.23 0.02 pose: 0.25039308 -0.97423 0.0676695 0 -0.0006786510.00317715 -0.040045 0.999193 uwb: 0.49984413 849.494 1140.6 -imu_odom_: 1691062960.905865312 0.260968 -0.201113 9.79947 -0.0639159 -0.0266316 0.0596548 0.23 0.02 pose: 0.51973173 -0.964329 0.066265 0 0.000574116 0.00146 -0.0399179 0.999202 uwb: 0.0 849.494 1140.6 -imu_odom_: 1691062960.932853132 0.459687 -0.189142 10.0556 -0.0532632 -0.0127832 0.04048 0.23 0 pose: 0.35011983 -0.954427 0.0648631 0 0.000407876 0.00456819 -0.0396566 0.999203 uwb: 0.49877085 849.979 1140.14 -imu_odom_: 1691062960.958956670 0.567426 -0.136469 10.1562 -0.0639159 -0.0298274 0.0394148 0.23 0 pose: 0.0 -0.954427 0.0648631 0 0.000407876 0.00456819 -0.0396566 0.999203 uwb: 0.0 849.979 1140.14 -imu_odom_: 1691062960.985855245 0.435745 -0.263362 10.4651 -0.0692422 0.036219 0.0553937 0.25 0 pose: 0.6926392 -0.954427 0.0648631 0 0.000484226 0.00384875 -0.0396531 0.999206 uwb: 0.50125571 850.446 1139.46 -imu_odom_: 1691062961.10758061 0.653617 -0.0957681 10.0437 -0.0553937 -0.0106526 0.0351537 0.18 0.02 pose: 0.53055194 -0.944525 0.0634665 0 0.000564451 -0.00101059 -0.0395864 0.999215 uwb: 0.0 850.446 1139.46 -imu_odom_: 1691062961.27824536 0.672771 -0.126893 9.77074 -0.0543285 -0.0149137 0.0394148 0.21 -0.02 pose: 0.0 -0.944525 0.0634665 0 0.000564451 -0.00101059 -0.0395864 0.999215 uwb: 0.0 850.446 1139.46 -imu_odom_: 1691062961.52818930 0.402226 -0.19393 9.68694 -0.0703074 -0.0255663 0.0436758 0.21 -0.02 pose: 0.0 -0.944525 0.0634665 0 0.000564451 -0.00101059 -0.0395864 0.999215 uwb: 0.49869502 850.776 1138.67 -imu_odom_: 1691062961.79820750 0.605733 -0.272939 9.9096 -0.0628506 0.0255663 0.0490022 0.18 0 pose: 0.51996796 -0.934623 0.062072 0 -3.60484e-05-0.00374934 -0.0394862 0.999213 uwb: 0.49869211 851.002 1138.22 -imu_odom_: 1691062961.104834684 0.577003 -0.246603 9.32063 -0.0607201 0.0447411 0.0351537 0.18 0.02 pose: 0.61977056 -0.917724 0.0596944 0 -0.000786809-0.00452939 -0.0393093 0.999217 uwb: 0.0 851.002 1138.22 -imu_odom_: 1691062961.128701851 0.59855 -0.462081 9.49062 -0.0788296 0.036219 0.056459 0.18 0.02 pose: 0.0 -0.917724 0.0596944 0 -0.000786809-0.00452939 -0.0393093 0.999217 uwb: 0.0 851.002 1138.22 -imu_odom_: 1691062961.145807407 0.251391 -0.430956 10.1107 -0.0671117 0.0234358 0.0468716 0.18 0 pose: 0.7940751 -0.914818 0.0592865 0 -0.0010094 -0.00510027 -0.0393266 0.999213 uwb: 0.50012994 852.006 1138.01 -imu_odom_: 1691062961.171817034 0.622492 -0.0766145 10.0006 -0.0575243 0.0298274 0.0479369 0.18 0 pose: 0.0 -0.914818 0.0592865 0 -0.0010094 -0.00510027 -0.0393266 0.999213 uwb: 0.0 852.006 1138.01 -imu_odom_: 1691062961.197954404 0.265756 -0.282516 10.0652 -0.0351537 -0.00106526 0.0447411 0.18 -0.02 pose: 0.48059523 -0.914818 0.0592865 0 -0.00436736 -0.00575745 -0.0391215 0.999208 uwb: 0.50238149 851.109 1136.2 -imu_odom_: 1691062961.223810915 0.536301 0.0023942 10.1778 -0.0308927 -0.0234358 0.0372843 0.18 -0.02 pose: 0.0 -0.914818 0.0592865 0 -0.00436736 -0.00575745 -0.0391215 0.999208 uwb: 0.0 851.109 1136.2 -imu_odom_: 1691062961.241003966 0.174777 -0.407014 9.69412 -0.0436758 -0.0117179 0.0426106 0.18 0 pose: 0.43025064 -0.904915 0.0579009 0 -0.00255306 -0.00486413 -0.0389701 0.999225 uwb: 0.49994037 850.614 1134.98 -imu_odom_: 1691062961.266949430 0.687136 -0.112527 9.67497 -0.0468716 -0.0394148 0.0394148 0.18 0 pose: 0.0 -0.904915 0.0579009 0 -0.00255306 -0.00486413 -0.0389701 0.999225 uwb: 0.0 850.614 1134.98 -imu_odom_: 1691062961.291806748 0.562637 -0.1652 9.7037 -0.0543285 -0.0628506 0.0500674 0.19 0 pose: 0.88103342 -0.883724 0.0650394 0 0.000630398 -0.00542731 -0.0389276 0.999227 uwb: 0.50067241 850.373 1134.26 -imu_odom_: 1691062961.317683091 0.555455 -0.191536 10.3837 -0.0639159 -0.036219 0.04048 0.19 0 pose: 0.7770719 -0.883724 0.0650394 0 0.00099636 -0.00633842 -0.0388884 0.999223 uwb: 0.0 850.373 1134.26 -imu_odom_: 1691062961.334813438 0.435745 -0.237026 9.69891 -0.0628506 0.0170442 0.036219 0.2 0.02 pose: 0.0 -0.883724 0.0650394 0 0.00099636 -0.00633842 -0.0388884 0.999223 uwb: 0.49853170 849.893 1133.04 -imu_odom_: 1691062961.359663756 0.629675 -0.241814 10.0556 -0.0617853 -0.0149137 0.0426106 0.2 0.02 pose: 0.42962942 -0.87382 0.0636578 0 -0.00023454 -0.00700298 -0.03878 0.999223 uwb: 0.0 849.893 1133.04 -imu_odom_: 1691062961.384701898 0.509965 -0.306458 10.0221 -0.04048 -0.0181095 0.0447411 0.19 0 pose: 0.41980665 -0.866418 0.0626267 0 -0.00116466 -0.00770128 -0.0387682 0.999218 uwb: 0.49949415 849.688 1132.06 -imu_odom_: 1691062961.408727431 0.493206 -0.356736 9.8282 -0.0394148 -0.0106526 0.04048 0.19 0 pose: 0.0 -0.866418 0.0626267 0 -0.00116466 -0.00770128 -0.0387682 0.999218 uwb: 0.0 849.688 1132.06 -imu_odom_: 1691062961.432674218 0.52433 -0.0670376 10.2137 -0.0415453 -0.02024 0.0330232 0.25 -0.02 pose: 0.49063675 -0.856915 0.0613051 0 -0.00503893 -0.00552062 -0.038655 0.999225 uwb: 0.49982371 849.391 1130.92 -imu_odom_: 1691062961.447670854 0.383072 -0.351948 9.98143 -0.0585895 -0.0596548 0.0511327 0.25 -0.02 pose: 0.0 -0.856915 0.0613051 0 -0.00503893 -0.00552062 -0.038655 0.999225 uwb: 0.0 849.391 1130.92 -imu_odom_: 1691062961.472804948 0.409408 -0.263362 10.0102 -0.0351537 -0.02024 0.0436758 0.17 -0.02 pose: 0.38943423 -0.84881 0.0601786 0 -0.00332106 -0.00500553 -0.0386508 0.999235 uwb: 0.0 849.391 1130.92 -imu_odom_: 1691062961.499792185 0.105345 -0.0885855 9.58638 -0.0553937 0.0276969 0.0532632 0.17 -0.02 pose: 0.7211626 -0.844106 0.0595249 0 -0.00312482 -0.00435567 -0.0386339 0.999239 uwb: 0.50164361 849.642 1130.02 -imu_odom_: 1691062961.515715393 0.234632 -0.464475 9.91678 -0.0649811 0.00106526 0.0468716 0.19 0 pose: 0.17922468 -0.844106 0.0595249 0 -0.00263711 -0.00274063 -0.0385918 0.999248 uwb: 0.0 849.642 1130.02 -imu_odom_: 1691062961.542652758 0.454898 -0.234632 10.1035 -0.0490022 -0.00958738 0.0372843 0.19 0 pose: 0.34957737 -0.834201 0.0581511 0 -0.00198822 0.000588791 -0.0383762 0.999261 uwb: 0.49852003 849.405 1128.4 -imu_odom_: 1691062961.558666669 0.648829 -0.0287304 9.67018 -0.0692422 -0.00852212 0.0500674 0.25 0 pose: 0.0 -0.834201 0.0581511 0 -0.00198822 0.000588791 -0.0383762 0.999261 uwb: 0.0 849.405 1128.4 -imu_odom_: 1691062961.575780392 0.521936 -0.409408 10.0509 -0.0628506 0.0191748 0.0575243 0.25 0 pose: 0.0 -0.834201 0.0581511 0 -0.00198822 0.000588791 -0.0383762 0.999261 uwb: 0.0 849.405 1128.4 -imu_odom_: 1691062961.592777163 0.586579 -0.0957681 10.3837 -0.0649811 -0.0266316 0.0394148 0.19 0 pose: 0.15052633 -0.834201 0.0581511 0 -0.00234601 0.000439674 -0.0383562 0.999261 uwb: 0.49975663 848.912 1127.01 -imu_odom_: 1691062961.607677846 -0.071826 0.023942 10.0652 -0.0479369 -0.0106526 0.052198 0.19 0 pose: 0.52965074 -0.824295 0.0567801 0 -0.00223919 -0.00296327 -0.038145 0.999265 uwb: 0.0 848.912 1127.01 -imu_odom_: 1691062961.632778692 -0.0622492 -0.37589 9.9096 -0.0607201 0.015979 0.036219 0.19 0 pose: 0.0 -0.824295 0.0567801 0 -0.00223919 -0.00296327 -0.038145 0.999265 uwb: 0.50011828 848.616 1126.13 -imu_odom_: 1691062961.657907828 0.335188 -0.323217 10.058 -0.0415453 -0.00958738 0.0447411 0.23 -0.05 pose: 0.7924419 -0.824295 0.0567801 0 -0.0016633 -0.00354754 -0.0381485 0.999264 uwb: 0.0 848.616 1126.13 -imu_odom_: 1691062961.683671594 0.387861 -0.179565 9.86411 -0.0553937 -0.0255663 0.0490022 0.2 0 pose: 0.74203017 -0.807476 0.0544604 0 -0.00268151 0.00134941 -0.0380328 0.999272 uwb: 0.49866295 848.543 1124.85 -imu_odom_: 1691062961.700895269 0.620098 -0.131681 10.0868 -0.0585895 0.015979 0.0340885 0.2 0 pose: 0.0 -0.807476 0.0544604 0 -0.00268151 0.00134941 -0.0380328 0.999272 uwb: 0.0 848.543 1124.85 -imu_odom_: 1691062961.725719923 0.234632 -0.071826 10.0413 -0.0649811 -0.00532632 0.0543285 0.21 0 pose: 0.32962852 -0.804483 0.0540482 0 7.90742e-05 0.000104992 -0.0379282 0.99928 uwb: 0.0 848.543 1124.85 -imu_odom_: 1691062961.752726117 0.507571 -0.557849 10.2472 -0.0607201 0.0170442 0.0276969 0.23 0 pose: 0.34849243 -0.797469 0.0530835 0 0.00180945 0.00119027 -0.0377746 0.999284 uwb: 0.50104864 848.927 1124.54 -imu_odom_: 1691062961.777703303 0.129287 -0.258574 9.87369 -0.0458064 0.015979 0.036219 0.23 0 pose: 0.6941850 -0.794576 0.0526866 0 0.00112891 0.00106471 -0.0378161 0.999284 uwb: 0.0 848.927 1124.54 -imu_odom_: 1691062961.804953026 0.806846 -0.339977 10.0844 -0.0628506 -0.0660464 0.0351537 0.22 0 pose: 0.45041530 -0.787565 0.051724 0 -0.0008728980.00344329 -0.0379761 0.999272 uwb: 0.50121196 848.773 1123.34 -imu_odom_: 1691062961.830644754 0.579397 -0.253785 9.48583 -0.0426106 0.036219 0.0372843 0.22 0 pose: 0.0 -0.787565 0.051724 0 -0.0008728980.00344329 -0.0379761 0.999272 uwb: 0.49955248 849.007 1122.27 -imu_odom_: 1691062961.847708896 0.292093 -0.316035 9.92875 -0.0458064 0.00745685 0.0383495 0.25 0 pose: 0.52941451 -0.777563 0.0503464 0 -0.00172351 -0.00207933 -0.0380747 0.999271 uwb: 0.0 849.007 1122.27 -imu_odom_: 1691062961.872639127 0.316035 -0.332794 9.92397 -0.0351537 -0.00852212 0.0468716 0.25 0 pose: 0.0 -0.777563 0.0503464 0 -0.00172351 -0.00207933 -0.0380747 0.999271 uwb: 0.0 849.007 1122.27 -imu_odom_: 1691062961.897779346 0.555455 -0.40462 10.0078 -0.0500674 -0.0308927 0.0500674 0.21 0.02 pose: 0.41994373 -0.767752 0.0489942 0 -0.00346831 0.00157571 -0.0379847 0.999271 uwb: 0.49908875 848.808 1121.35 -imu_odom_: 1691062961.921767256 0.579397 -0.181959 10.2041 -0.0468716 0.02024 0.0490022 0.21 0.02 pose: 0.7008055 -0.764856 0.0485956 0 -0.00386361 0.000912749 -0.0379502 0.999272 uwb: 0.0 848.808 1121.35 -imu_odom_: 1691062961.937712046 0.454898 -0.11971 10.0197 -0.056459 -0.00852212 0.0596548 0.2 0.02 pose: 0.25447909 -0.764856 0.0485956 0 -0.00440463 -0.00129307 -0.0378303 0.999274 uwb: 0.50147154 848.522 1119.85 -imu_odom_: 1691062961.964768404 0.466869 -0.071826 9.90002 -0.052198 0 0.04048 0.2 0.02 pose: 0.0 -0.764856 0.0485956 0 -0.00440463 -0.00129307 -0.0378303 0.999274 uwb: 0.0 848.522 1119.85 -imu_odom_: 1691062961.989632139 0.260968 -0.339977 9.64624 -0.0585895 -0.0127832 0.0500674 0.23 0 pose: 0.24563335 -0.754949 0.0472356 0 -0.00252306 -0.00246506 -0.037683 0.999284 uwb: 0.50028160 848.347 1119.12 -imu_odom_: 1691062962.6824898 0.21069 -0.0407014 10.1801 -0.0553937 -0.00319579 0.0490022 0.23 0 pose: 0.0 -0.754949 0.0472356 0 -0.00252306 -0.00246506 -0.037683 0.999284 uwb: 0.0 848.347 1119.12 -imu_odom_: 1691062962.31671426 0.514753 -0.102951 9.9503 -0.0703074 -0.0351537 0.0436758 0.23 0.02 pose: 0.67001308 -0.745041 0.0458797 0 2.8413e-05 -0.000319163-0.0374348 0.999299 uwb: 0.50034285 848.26 1118.13 -imu_odom_: 1691062962.56773438 0.708684 0.0383072 10.2448 -0.0585895 -0.0319579 0.0532632 0.21 0.02 pose: 0.0 -0.745041 0.0458797 0 2.8413e-05 -0.000319163-0.0374348 0.999299 uwb: 0.0 848.26 1118.13 -imu_odom_: 1691062962.82658531 0.639252 -0.0861913 10.3908 -0.0500674 -0.00532632 0.0383495 0.21 0.02 pose: 0.35011692 -0.738339 0.0449646 0 0.00201663 -0.00193625 -0.0373343 0.999299 uwb: 0.49990538 848.132 1116.95 -imu_odom_: 1691062962.107643301 0.471658 -0.272939 9.71567 -0.0596548 -0.0117179 0.0436758 0.21 0 pose: 0.8133240 -0.735133 0.0445276 0 0.00247854 -0.00270723 -0.0372784 0.999298 uwb: 0.0 848.132 1116.95 -imu_odom_: 1691062962.123635630 0.617704 -0.007182619.69891 -0.0745685 -0.0500674 0.0394148 0.21 0 pose: 0.0 -0.735133 0.0445276 0 0.00247854 -0.00270723 -0.0372784 0.999298 uwb: 0.0 848.132 1116.95 -imu_odom_: 1691062962.149689587 0.591368 -0.47884 9.69173 -0.072438 -0.00319579 0.0553937 0.18 0.02 pose: 0.49871836 -0.723875 0.0530868 0 0.00364435 -0.00653536 -0.0371547 0.999282 uwb: 0.49684597 847.704 1115.18 -imu_odom_: 1691062962.174766227 0.718261 -0.191536 9.76355 -0.0532632 -0.0330232 0.0340885 0.18 0.02 pose: 0.0 -0.723875 0.0530868 0 0.00364435 -0.00653536 -0.0371547 0.999282 uwb: 0.0 847.704 1115.18 -imu_odom_: 1691062962.198760845 0.337582 -0.215478 10.0963 -0.0607201 0 0.0607201 0.22 0.02 pose: 0.41956750 -0.723875 0.0530868 0 0.00225486 -0.00721865 -0.0370508 0.999285 uwb: 0.50034868 848.403 1115.28 -imu_odom_: 1691062962.216771391 0.73502 -0.270545 9.61272 -0.0735032 -0.015979 0.0490022 0.22 0.02 pose: 0.0 -0.723875 0.0530868 0 0.00225486 -0.00721865 -0.0370508 0.999285 uwb: 0.0 848.403 1115.28 -imu_odom_: 1691062962.240764843 0.502782 -0.220267 9.80426 -0.0735032 0.0117179 0.0415453 0.18 -0.02 pose: 0.50044493 -0.713966 0.0517414 0 0.000365181 -0.00959503 -0.036891 0.999273 uwb: 0.50052368 848.66 1114.04 -imu_odom_: 1691062962.267768996 0.711078 -0.296881 9.9096 -0.0479369 -0.0276969 0.0436758 0.18 -0.02 pose: 0.0 -0.713966 0.0517414 0 0.000365181 -0.00959503 -0.036891 0.999273 uwb: 0.0 848.66 1114.04 -imu_odom_: 1691062962.292710018 1.02232 -0.383072 10.058 -0.0426106 -0.0372843 0.0276969 0.19 0 pose: 0.42097326 -0.704056 0.0503993 0 -0.000615164-0.00885726 -0.0366157 0.99929 uwb: 0.49963706 849.309 1113.76 -imu_odom_: 1691062962.317675830 1.17795 -0.122104 10.1011 -0.0511327 0.0319579 0.0383495 0.23 0 pose: 0.51902011 -0.694146 0.0490629 0 -0.00202757 -0.010652 -0.0365817 0.999272 uwb: 0.0 849.309 1113.76 -imu_odom_: 1691062962.331698064 0.54109 -0.253785 10.1442 -0.0490022 0.0170442 0.0458064 0.23 0 pose: 0.0 -0.694146 0.0490629 0 -0.00202757 -0.010652 -0.0365817 0.999272 uwb: 0.49990829 849.509 1113.2 -imu_odom_: 1691062962.347618064 0.304064 -0.337582 9.95509 -0.0372843 -0.0106526 0.04048 0.23 0 pose: 0.0 -0.694146 0.0490629 0 -0.00202757 -0.010652 -0.0365817 0.999272 uwb: 0.0 849.509 1113.2 -imu_odom_: 1691062962.371776589 0.112527 -0.277727 9.78989 -0.0617853 0.00426106 0.0500674 0.19 0 pose: 0.71940982 -0.678756 0.0469874 0 -0.00213424 -0.0114814 -0.0366423 0.99926 uwb: 0.0 849.509 1113.2 -imu_odom_: 1691062962.396805398 0.268151 -0.428562 9.92875 -0.0660464 -0.00639159 0.0394148 0.19 0 pose: 0.7147463 -0.674326 0.0463899 0 -0.00217191 -0.0107354 -0.0366038 0.99927 uwb: 0.49941832 849.809 1112.77 -imu_odom_: 1691062962.423718265 0.363919 -0.454898 9.75158 -0.0532632 0.0181095 0.0394148 0.23 0 pose: 0.42039871 -0.667641 0.0454902 0 -0.00354552 -0.00675613 -0.0365004 0.999305 uwb: 0.0 849.809 1112.77 -imu_odom_: 1691062962.439633307 0.213084 -0.282516 9.62708 -0.0500674 0.0245011 0.0351537 0.23 0 pose: 0.0 -0.667641 0.0454902 0 -0.00354552 -0.00675613 -0.0365004 0.999305 uwb: 0.49999288 849.643 1111.87 -imu_odom_: 1691062962.465613769 1.00078 -0.390255 10.4459 -0.0468716 -0.0191748 0.052198 0.19 0.02 pose: 0.34857409 -0.664415 0.0450561 0 -0.0052243 -0.00361149 -0.0364987 0.999314 uwb: 0.0 849.643 1111.87 -imu_odom_: 1691062962.490663576 1.08697 -0.531513 9.34217 -0.0543285 0.072438 0.0436758 0.19 0.02 pose: 0.0 -0.664415 0.0450561 0 -0.0052243 -0.00361149 -0.0364987 0.999314 uwb: 0.50052659 850.098 1111.33 -imu_odom_: 1691062962.514661402 -0.0047884 -0.418985 9.17698 -0.0276969 -0.0138484 0.052198 0.19 0.02 pose: 0.40965433 -0.654504 0.0437232 0 -0.00568149 -0.00584405 -0.0363484 0.999306 uwb: 0.0 850.098 1111.33 -imu_odom_: 1691062962.537667911 0.361524 -0.105345 9.90721 -0.00958738 -0.00106526 0.0500674 0.18 -0.02 pose: 0.0 -0.654504 0.0437232 0 -0.00568149 -0.00584405 -0.0363484 0.999306 uwb: 0.49994912 850.304 1110.37 -imu_odom_: 1691062962.551596525 0.737414 -0.196325 10.319 -0.0394148 -0.0372843 0.0479369 0.18 -0.02 pose: 0.49052591 -0.644593 0.0423938 0 -0.00557326 -0.00422451 -0.0361121 0.999323 uwb: 0.0 850.304 1110.37 -imu_odom_: 1691062962.568642002 0.59855 -0.205901 9.42597 -0.0628506 0.00106526 0.0553937 0.18 -0.02 pose: 0.0 -0.644593 0.0423938 0 -0.00557326 -0.00422451 -0.0361121 0.999323 uwb: 0.0 850.304 1110.37 -imu_odom_: 1691062962.593615106 0.318429 -0.11971 9.92636 -0.072438 0.00852212 0.0490022 0.2 0 pose: 0.46961171 -0.634681 0.0410678 0 -0.00244747 -0.00641911 -0.0358504 0.999334 uwb: 0.50141029 850.17 1109.06 -imu_odom_: 1691062962.617656388 0.677559 -0.141258 9.97185 -0.0735032 -0.0436758 0.0415453 0.2 0 pose: 0.0 -0.634681 0.0410678 0 -0.00244747 -0.00641911 -0.0358504 0.999334 uwb: 0.0 850.17 1109.06 -imu_odom_: 1691062962.642718153 1.00556 -0.292093 9.87129 -0.0713727 -0.0117179 0.0607201 0.23 0 pose: 0.49014386 -0.627689 0.0401375 0 -0.000462594-0.00686912 -0.0357225 0.999338 uwb: 0.49883211 850.686 1109.08 -imu_odom_: 1691062962.667783418 0.122104 -0.0981623 10.0485 -0.0543285 0.0213053 0.0319579 0.19 -0.02 pose: 0.0 -0.627689 0.0401375 0 -0.000462594-0.00686912 -0.0357225 0.999338 uwb: 0.0 850.686 1109.08 -imu_odom_: 1691062962.691724664 0.335188 -0.301669 9.77313 -0.0575243 -0.0532632 0.0468716 0.19 -0.02 pose: 0.32021697 -0.624769 0.039749 0 -0.000923595-0.00866481 -0.0354843 0.999332 uwb: 0.49972164 849.973 1107.61 -imu_odom_: 1691062962.706660054 0.818817 -0.169988 10.173 -0.056459 -0.0585895 0.0298274 0.19 -0.02 pose: 0.0 -0.624769 0.039749 0 -0.000923595-0.00866481 -0.0354843 0.999332 uwb: 0.0 849.973 1107.61 -imu_odom_: 1691062962.730708335 0.950498 -0.107739 10.1754 -0.0596548 -0.00213053 0.0490022 0.18 -0.02 pose: 0.49182085 -0.614855 0.0384351 0 -0.00115249 -0.00595766 -0.0354997 0.999351 uwb: 0.50194109 849.773 1105.98 -imu_odom_: 1691062962.754580752 0.754174 -0.268151 9.64384 -0.0575243 -0.0138484 0.0458064 0.22 0 pose: 0.31848165 -0.604942 0.0371209 0 -0.000468994-0.00923724 -0.0354321 0.999329 uwb: 0.0 849.773 1105.98 -imu_odom_: 1691062962.771633520 0.548272 -0.217872 9.97903 -0.0639159 0.0266316 0.0351537 0.22 0 pose: 0.0 -0.604942 0.0371209 0 -0.000468994-0.00923724 -0.0354321 0.999329 uwb: 0.0 849.773 1105.98 -imu_odom_: 1691062962.796586208 0.526724 -0.56982 9.25598 -0.076699 0.0191748 0.0500674 0.18 0 pose: 0.6944475 -0.604942 0.0371209 0 -0.000695352-0.00992988 -0.0354086 0.999323 uwb: 0.50227941 850.026 1105.8 -imu_odom_: 1691062962.821728469 0.778116 -0.54109 10.0533 -0.0703074 0.00639159 0.0308927 0.18 0 pose: 0.0 -0.604942 0.0371209 0 -0.000695352-0.00992988 -0.0354086 0.999323 uwb: 0.0 850.026 1105.8 -imu_odom_: 1691062962.846612327 0.275333 -0.217872 9.94791 -0.0415453 -0.00852212 0.04048 0.19 0 pose: 0.40938310 -0.595028 0.0358093 0 -0.00174253 -0.00945962 -0.0353501 0.999329 uwb: 0.49631808 850.628 1105.37 -imu_odom_: 1691062962.871659218 0.337582 -0.203507 9.75158 -0.0607201 -0.0809601 0.036219 0.19 0 pose: 0.0 -0.595028 0.0358093 0 -0.00174253 -0.00945962 -0.0353501 0.999329 uwb: 0.0 850.628 1105.37 -imu_odom_: 1691062962.888709945 0.402226 -0.368707 9.86172 -0.0511327 0.0245011 0.0415453 0.18 0 pose: 0.51025603 -0.585115 0.0344986 0 -0.00561752 -0.00947989 -0.0353322 0.999315 uwb: 0.50030202 850.156 1103.95 -imu_odom_: 1691062962.911709162 1.04627 -0.371101 10.4076 -0.0671117 0.0276969 0.0394148 0.18 0 pose: 0.0 -0.585115 0.0344986 0 -0.00561752 -0.00947989 -0.0353322 0.999315 uwb: 0.0 850.156 1103.95 -imu_odom_: 1691062962.936578438 0.639252 -0.234632 9.81862 -0.0479369 0.0351537 0.0415453 0.2 0 pose: 0.50017953 -0.573891 0.0431021 0 -0.00428683 -0.00582855 -0.0353438 0.999349 uwb: 0.49981789 850.272 1102.91 -imu_odom_: 1691062962.959612361 0.474052 -0.227449 9.93354 -0.0628506 -0.0138484 0.0553937 0.2 0 pose: 0.0 -0.573891 0.0431021 0 -0.00428683 -0.00582855 -0.0353438 0.999349 uwb: 0.0 850.272 1102.91 -imu_odom_: 1691062962.973778671 0.047884 -0.184354 9.93115 -0.0511327 -0.00426106 0.0468716 0.19 0 pose: 0.39961282 -0.573891 0.0431021 0 -0.00469688 -0.00730419 -0.0353413 0.999338 uwb: 0.0 850.272 1102.91 -imu_odom_: 1691062962.998643572 0.459687 -0.198719 10.0628 -0.0628506 -0.00106526 0.0500674 0.19 0 pose: 0.0 -0.573891 0.0431021 0 -0.00469688 -0.00730419 -0.0353413 0.999338 uwb: 0.50172819 850.138 1102.04 -imu_odom_: 1691062963.23617842 0.181959 -0.35913 9.71567 -0.0511327 0.00319579 0.0436758 0.18 0 pose: 0.46074554 -0.563977 0.0417916 0 -0.00242441 -0.00589744 -0.0351384 0.999362 uwb: 0.0 850.138 1102.04 -imu_odom_: 1691062963.47573379 0.263362 -0.0909797 9.84256 -0.0543285 -0.0436758 0.0628506 0.18 0 pose: 0.0 -0.563977 0.0417916 0 -0.00242441 -0.00589744 -0.0351384 0.999362 uwb: 0.49812631 850.217 1100.84 -imu_odom_: 1691062963.65627965 0.830788 -0.102951 9.9096 -0.0479369 -0.0287621 0.0436758 0.25 0 pose: 0.39921326 -0.554063 0.0404847 0 -0.00062513 -0.00289514 -0.0349698 0.999384 uwb: 0.0 850.217 1100.84 -imu_odom_: 1691062963.81555548 0.117316 -0.323217 9.4571 -0.0671117 0.00745685 0.0458064 0.25 0 pose: 0.0 -0.554063 0.0404847 0 -0.00062513 -0.00289514 -0.0349698 0.999384 uwb: 0.49912668 850.185 1099.72 -imu_odom_: 1691062963.107550593 0.490811 -0.301669 9.55765 -0.0607201 -0.00958738 0.036219 0.25 0 pose: 0.75963710 -0.538893 0.0384935 0 0.000167826 -0.000322045-0.0345635 0.999402 uwb: 0.0 850.185 1099.72 -imu_odom_: 1691062963.131711160 0.0622492 -0.143652 10.1275 -0.0937433 -0.0117179 0.076699 0.25 0 pose: 0.7012721 -0.534233 0.0378845 0 -0.000387807-0.000791987-0.034575 0.999402 uwb: 0.49937749 850.494 1099.33 -imu_odom_: 1691062963.154594300 0.514753 -0.241814 9.8282 -0.0777643 -0.0106526 0.0298274 0.21 0 pose: 0.43142891 -0.527224 0.0369685 0 -0.00162737 0.000165495 -0.0341561 0.999415 uwb: 0.0 850.494 1099.33 -imu_odom_: 1691062963.179596569 0.857124 -0.368707 9.89045 -0.0745685 -0.0298274 0.0543285 0.21 0 pose: 0.0 -0.527224 0.0369685 0 -0.00162737 0.000165495 -0.0341561 0.999415 uwb: 0.50078325 850.401 1097.89 -imu_odom_: 1691062963.193588472 0.826 -0.134075 9.82102 -0.0894822 -0.0319579 0.0585895 0.18 0.02 pose: 0.0 -0.527224 0.0369685 0 -0.00162737 0.000165495 -0.0341561 0.999415 uwb: 0.0 850.401 1097.89 -imu_odom_: 1691062963.217712583 0.0383072 -0.198719 9.7037 -0.0426106 -0.0234358 0.0276969 0.18 0.02 pose: 0.47885409 -0.524317 0.036591 0 -0.00290421 -0.00487838 -0.0340891 0.999403 uwb: 0.0 850.401 1097.89 -imu_odom_: 1691062963.243578427 0.442927 -0.100556 10.386 -0.0575243 -0.0308927 0.0543285 0.21 0 pose: 0.38116014 -0.5144 0.0353062 0 -0.0021281 -0.00423335 -0.0341011 0.999407 uwb: 0.49983830 850.659 1097.72 -imu_odom_: 1691062963.268605777 0.260968 -0.292093 10.2855 -0.0575243 0.00426106 0.0511327 0.21 0 pose: 0.0 -0.5144 0.0353062 0 -0.0021281 -0.00423335 -0.0341011 0.999407 uwb: 0.0 850.659 1097.72 -imu_odom_: 1691062963.293641002 0.627281 -0.177171 9.7875 -0.0756338 0.00639159 0.0490022 0.19 -0.02 pose: 0.50893194 -0.504482 0.0340207 0 -0.000534774-0.00141828 -0.0337724 0.999428 uwb: 0.50001621 850.718 1096.94 -imu_odom_: 1691062963.309564502 0.442927 -0.299275 9.84975 -0.0788296 0.0117179 0.0426106 0.19 -0.02 pose: 0.0 -0.504482 0.0340207 0 -0.000534774-0.00141828 -0.0337724 0.999428 uwb: 0.0 850.718 1096.94 -imu_odom_: 1691062963.333673739 0.277727 -0.550666 9.75398 -0.0479369 -0.00639159 0.04048 0.19 0 pose: 0.32040072 -0.494565 0.0327415 0 -0.00100652 -0.00338763 -0.033644 0.999428 uwb: 0.49952916 850.677 1094.94 -imu_odom_: 1691062963.358571014 0.567426 -0.622492 9.62948 -0.04048 -0.0170442 0.0383495 0.19 0 pose: 0.0 -0.494565 0.0327415 0 -0.00100652 -0.00338763 -0.033644 0.999428 uwb: 0.0 850.677 1094.94 -imu_odom_: 1691062963.372553292 0.517148 0.011971 9.77074 -0.0607201 -0.0298274 0.0479369 0.25 0 pose: 0.40967766 -0.494565 0.0327415 0 -0.00454525 -0.00196973 -0.0336123 0.999423 uwb: 0.0 850.677 1094.94 -imu_odom_: 1691062963.395697459 0.445322 -0.0957681 10.173 -0.0532632 -0.0426106 0.0500674 0.25 0 pose: 0.0 -0.494565 0.0327415 0 -0.00454525 -0.00196973 -0.0336123 0.999423 uwb: 0.49991996 850.339 1093.33 -imu_odom_: 1691062963.420611066 0.550666 -0.158017 10.07 -0.0447411 -0.0394148 0.0351537 0.19 0 pose: 0.37945398 -0.484646 0.0314648 0 -0.00399495 -0.00318622 -0.0335321 0.999425 uwb: 0.0 850.339 1093.33 -imu_odom_: 1691062963.445583003 0.706289 -0.328006 10.2831 -0.0500674 -0.0436758 0.0500674 0.19 0 pose: 0.0 -0.484646 0.0314648 0 -0.00399495 -0.00318622 -0.0335321 0.999425 uwb: 0.50001912 850.985 1092.39 -imu_odom_: 1691062963.462676019 0.548272 -0.110133 9.79947 -0.072438 -0.0191748 0.0500674 0.18 0 pose: 0.48067108 -0.474728 0.0301898 0 -0.000698612-0.00614338 -0.0334756 0.99942 uwb: 0.0 850.985 1092.39 -imu_odom_: 1691062963.487619666 0.462081 -0.308852 9.49301 -0.0671117 -0.0234358 0.04048 0.18 0 pose: 0.0 -0.474728 0.0301898 0 -0.000698612-0.00614338 -0.0334756 0.99942 uwb: 0.50052952 850.805 1091.78 -imu_odom_: 1691062963.513613253 0.23942 -0.37589 9.65821 -0.0479369 -0.00426106 0.0340885 0.18 -0.02 pose: 0.42962068 -0.46481 0.0289157 0 -0.000657077-0.00757459 -0.0332935 0.999417 uwb: 0.0 850.805 1091.78 -imu_odom_: 1691062963.538562150 0.560243 -0.416591 9.84975 -0.0426106 -0.0298274 0.0447411 0.18 0.02 pose: 0.24187107 -0.46481 0.0289157 0 -0.00220861 -0.00586362 -0.0332937 0.999426 uwb: 0.50290937 851.49 1092.26 -imu_odom_: 1691062963.555695413 0.490811 -0.0383072 10.0365 -0.0426106 0.00639159 0.0426106 0.18 0.02 pose: 0.0 -0.46481 0.0289157 0 -0.00220861 -0.00586362 -0.0332937 0.999426 uwb: 0.0 851.49 1092.26 -imu_odom_: 1691062963.579559955 0.653617 -0.162806 10.4244 -0.0436758 -0.0170442 0.0330232 0.18 0 pose: 0.25771932 -0.454891 0.0276452 0 -0.00343202 -0.00449766 -0.0333169 0.999429 uwb: 0.49658058 851.132 1091.22 -imu_odom_: 1691062963.604582640 1.01754 -0.143652 9.76834 -0.0500674 -0.0106526 0.0479369 0.18 0 pose: 0.0 -0.454891 0.0276452 0 -0.00343202 -0.00449766 -0.0333169 0.999429 uwb: 0.0 851.132 1091.22 -imu_odom_: 1691062963.630640681 0.756568 -0.299275 10.1778 -0.0500674 0.0223706 0.0447411 0.18 -0.02 pose: 0.42039288 -0.444972 0.0263751 0 -0.00268258 -0.00589995 -0.0332736 0.999425 uwb: 0.50033702 850.933 1089.56 -imu_odom_: 1691062963.647680616 -0.134075 -0.155623 9.54089 -0.0575243 -0.02024 0.0596548 0.18 -0.02 pose: 0.0 -0.444972 0.0263751 0 -0.00268258 -0.00589995 -0.0332736 0.999425 uwb: 0.0 850.933 1089.56 -imu_odom_: 1691062963.665741910 0.442927 0.189142 10.1203 -0.0468716 -0.0106526 0.116114 0.18 0.08 pose: 0.50182444 -0.435052 0.0251054 0 -0.00141641 -0.0105421 -0.0332146 0.999392 uwb: 0.0 850.933 1089.56 -imu_odom_: 1691062963.679608111 0.0526724 -0.476446 9.36851 -0.0585895 -0.0351537 0.171508 0.18 0.08 pose: 0.0 -0.435052 0.0251054 0 -0.00141641 -0.0105421 -0.0332146 0.999392 uwb: 0.50031077 850.938 1088.51 -imu_odom_: 1691062963.696547428 0.574608 -0.296881 9.87608 -0.0596548 -0.0479369 0.229032 0.18 0.08 pose: 0.0 -0.435052 0.0251054 0 -0.00141641 -0.0105421 -0.0332146 0.999392 uwb: 0.0 850.938 1088.51 -imu_odom_: 1691062963.710665615 0.861913 -0.325611 9.87129 -0.0735032 0.00426106 0.286556 0.19 0.26 pose: 0.42992399 -0.433761 0.0350218 0 -0.00112633 -0.0101206 -0.0326887 0.999414 uwb: 0.0 850.938 1088.51 -imu_odom_: 1691062963.728656620 0.409408 -0.323217 9.8665 -0.056459 0.0106526 0.333428 0.19 0.26 pose: 0.0 -0.433761 0.0350218 0 -0.00112633 -0.0101206 -0.0326887 0.999414 uwb: 0.0 850.938 1088.51 -imu_odom_: 1691062963.745595645 0.134075 -0.35913 9.98622 -0.0553937 -0.0117179 0.372843 0.19 0.26 pose: 0.0 -0.433761 0.0350218 0 -0.00112633 -0.0101206 -0.0326887 0.999414 uwb: 0.49990830 850.604 1087.47 -imu_odom_: 1691062963.762540794 0.272939 -0.390255 9.81144 -0.0735032 -0.0106526 0.410127 0.19 0.35 pose: 0.47943156 -0.423854 0.0336642 0 -0.00277856 -0.00974183 -0.0288947 0.999531 uwb: 0.0 850.604 1087.47 -imu_odom_: 1691062963.780595088 0.174777 -0.1652 9.52413 -0.0383495 -0.00213053 0.442085 0.18 0.38 pose: 0.0 -0.423854 0.0336642 0 -0.00277856 -0.00974183 -0.0288947 0.999531 uwb: 0.49957582 850.725 1086.88 -imu_odom_: 1691062963.797766266 0.452504 -0.311246 9.93354 -0.0575243 -0.0191748 0.494283 0.18 0.38 pose: 0.66913231 -0.404026 0.0310454 0 -0.00417627 -0.00456011 -0.0177802 0.999823 uwb: 0.0 850.725 1086.88 -imu_odom_: 1691062963.813543066 0.85473 -0.488417 10.1658 -0.0415453 -0.0223706 0.516653 0.2 0.5 pose: 0.0 -0.404026 0.0310454 0 -0.00417627 -0.00456011 -0.0177802 0.999823 uwb: 0.0 850.725 1086.88 -imu_odom_: 1691062963.830530796 0.730232 -0.31364 9.76834 -0.056459 0.0106526 0.528371 0.2 0.5 pose: 0.0 -0.404026 0.0310454 0 -0.00417627 -0.00456011 -0.0177802 0.999823 uwb: 0.50105740 849.808 1084.46 -imu_odom_: 1691062963.846592246 0.687136 0.1652 10.1658 -0.0468716 -0.0266316 0.56246 0.2 0.5 pose: 0.33989459 -0.404026 0.0310454 0 -0.00523075 -0.00323269 -0.0102276 0.999929 uwb: 0.0 849.808 1084.46 -imu_odom_: 1691062963.863538270 0.577003 -0.732626 10.1754 -0.0543285 0.0372843 0.597613 0.25 0.7 pose: 0.41985041 -0.394123 0.0297209 0 -0.00397142 -0.00635553 0.000231269 0.999972 uwb: 0.0 849.808 1084.46 -imu_odom_: 1691062963.879528850 0.409408 -0.399832 10.2472 -0.0394148 0.00639159 0.597613 0.25 0.7 pose: 0.8175238 -0.394112 0.029737 0 -0.00479551 -0.00626238 0.00251636 0.999966 uwb: 0.0 849.808 1084.46 -imu_odom_: 1691062963.896583076 0.507571 -0.390255 9.44991 -0.0330232 -0.0468716 0.630637 0.25 0.7 pose: 0.0 -0.394112 0.029737 0 -0.00479551 -0.00626238 0.00251636 0.999966 uwb: 0.49942416 849.888 1083.04 -imu_odom_: 1691062963.913539600 0.756568 -0.466869 10.2999 -0.0415453 -0.0628506 0.632767 0.17 0.53 pose: 0.41815592 -0.384215 0.0283681 0 -0.0078426 -0.0055554 0.0144888 0.999849 uwb: 0.0 849.888 1083.04 -imu_odom_: 1691062963.930716902 0.976834 -0.61531 9.61751 -0.0532632 -0.0330232 0.619984 0.22 0.64 pose: 0.0 -0.384215 0.0283681 0 -0.0078426 -0.0055554 0.0144888 0.999849 uwb: 0.50074533 849.789 1082.07 -imu_odom_: 1691062963.947643678 1.56102 -0.445322 10.1131 -0.0500674 -0.131028 0.581634 0.22 0.64 pose: 0.0 -0.384215 0.0283681 0 -0.0078426 -0.0055554 0.0144888 0.999849 uwb: 0.0 849.789 1082.07 -imu_odom_: 1691062963.964583285 1.08218 -0.294487 8.76278 -0.0340885 0.0117179 0.493217 0.14 0.38 pose: 0.24146568 -0.384204 0.0283841 0 -0.00866015 -0.008328 0.0215958 0.999695 uwb: 0.0 849.789 1082.07 -imu_odom_: 1691062963.981581515 1.43652 -0.169988 10.6087 -0.0873517 0.0660464 0.438889 0.14 0.38 pose: 0.0 -0.384204 0.0283841 0 -0.00866015 -0.008328 0.0215958 0.999695 uwb: 0.49856088 849.687 1080.43 -imu_odom_: 1691062963.998642741 1.37427 -0.0095768110.0054 -0.0553937 0.0127832 0.394148 0.14 0.38 pose: 0.34922447 -0.374285 0.027113 0 -0.00891644 -0.0127529 0.0308767 0.999402 uwb: 0.0 849.687 1080.43 -imu_odom_: 1691062964.16717159 1.12049 -0.280122 9.95748 -0.0671117 0.0372843 0.366451 0.12 0.32 pose: 0.33885049 -0.374285 0.027113 0 -0.00805532 -0.015125 0.037648 0.999144 uwb: 0.0 849.687 1080.43 -imu_odom_: 1691062964.33534857 0.617704 -0.418985 9.50498 -0.0703074 0.015979 0.334493 0.12 0.32 pose: 0.0 -0.374285 0.027113 0 -0.00805532 -0.015125 0.037648 0.999144 uwb: 0.50040993 849.375 1079.07 -imu_odom_: 1691062964.49515229 0.629675 -0.23942 9.63906 -0.0479369 -0.0170442 0.265251 0.09 0.29 pose: 0.0 -0.374285 0.027113 0 -0.00805532 -0.015125 0.037648 0.999144 uwb: 0.0 849.375 1079.07 -imu_odom_: 1691062964.67648851 0.727837 0.0837971 9.9527 -0.0585895 -0.0138484 0.253533 0.09 0.29 pose: 0.43997717 -0.364374 0.0258482 0 -0.00832048 -0.0155282 0.0446707 0.998846 uwb: 0.0 849.375 1079.07 -imu_odom_: 1691062964.91519519 0.919373 -0.428562 9.90242 -0.0575243 0.00426106 0.252468 0.09 0.29 pose: 0.0 -0.364374 0.0258482 0 -0.00832048 -0.0155282 0.0446707 0.998846 uwb: 0.50021746 849.47 1078.02 -imu_odom_: 1691062964.108696238 0.514753 -0.301669 9.82102 -0.0628506 0.0191748 0.223706 0.1 0.32 pose: 0.6987348 -0.364363 0.0258641 0 -0.00767299 -0.0152648 0.0454521 0.99882 uwb: 0.0 849.47 1078.02 -imu_odom_: 1691062964.124585615 -0.572214 -0.071826 9.82102 -0.0500674 0.103331 0.215183 0.1 0.23 pose: 0.0 -0.364363 0.0258641 0 -0.00767299 -0.0152648 0.0454521 0.99882 uwb: 0.0 849.47 1078.02 -imu_odom_: 1691062964.142542206 -1.12049 -0.435745 9.90481 -0.0617853 -0.036219 0.251402 0.1 0.23 pose: 0.76047997 -0.364363 0.025864 0 -0.00572164 -0.0140711 0.0531794 0.998469 uwb: 0.50029328 849.303 1076.44 -imu_odom_: 1691062964.158521120 -0.260968 -0.344765 9.80904 -0.0500674 -0.092678 0.22051 0.1 0.23 pose: 0.0 -0.364363 0.025864 0 -0.00572164 -0.0140711 0.0531794 0.998469 uwb: 0.0 849.303 1076.44 -imu_odom_: 1691062964.175570680 0.90022 -0.237026 10.1227 -0.0436758 -0.04048 0.232228 0.11 0.2 pose: 0.0 -0.364363 0.025864 0 -0.00572164 -0.0140711 0.0531794 0.998469 uwb: 0.0 849.303 1076.44 -imu_odom_: 1691062964.192623156 0.500388 -0.047884 9.78271 -0.0713727 0.0479369 0.24288 0.11 0.2 pose: 0.34128576 -0.353115 0.0344362 0 -0.00588577 -0.0108749 0.0565414 0.998324 uwb: 0.49780842 849.177 1075.18 -imu_odom_: 1691062964.206642766 0.265756 -0.282516 10.2855 -0.0490022 0.0596548 0.20027 0.12 0.17 pose: 0.41924378 -0.353115 0.0344362 0 -0.0038187 -0.0110201 0.0605939 0.998094 uwb: 0.0 849.177 1075.18 -imu_odom_: 1691062964.224778430 -0.402226 -0.0742203 9.82102 -0.0511327 0.0436758 0.18216 0.12 0.17 pose: 0.6942726 -0.353115 0.0344362 0 -0.0038132 -0.0101 0.0611532 0.99807 uwb: 0.0 849.177 1075.18 -imu_odom_: 1691062964.239654615 0.0694318 -0.31364 9.78989 -0.056459 0.00319579 0.211988 0.12 0.17 pose: 0.0 -0.353115 0.0344362 0 -0.0038132 -0.0101 0.0611532 0.99807 uwb: 0.50114781 848.784 1073.25 -imu_odom_: 1691062964.257652621 0.363919 -0.4956 9.84496 -0.056459 -0.0340885 0.198139 0.15 0.2 pose: 0.40088733 -0.343197 0.0331565 0 -0.00369809 -0.00539456 0.0643035 0.997909 uwb: 0.0 848.784 1073.25 -imu_odom_: 1691062964.273542289 0.342371 -0.222661 9.75877 -0.0479369 0.0223706 0.177899 0.14 0.11 pose: 0.0 -0.343197 0.0331565 0 -0.00369809 -0.00539456 0.0643035 0.997909 uwb: 0.0 848.784 1073.25 -imu_odom_: 1691062964.291632456 0.11971 -0.21069 10.2065 -0.0500674 0.0383495 0.191748 0.14 0.11 pose: 0.0 -0.343197 0.0331565 0 -0.00369809 -0.00539456 0.0643035 0.997909 uwb: 0.49927834 848.581 1071.72 -imu_odom_: 1691062964.308510234 0.0981623 -0.110133 9.62469 -0.0575243 0.0458064 0.162985 0.14 0.14 pose: 0.26015169 -0.343197 0.0331565 0 -0.00481608 -0.003932 0.0662947 0.997781 uwb: 0.0 848.581 1071.72 -imu_odom_: 1691062964.322558426 0.629675 -0.0981623 10.1682 -0.0436758 0.0170442 0.165116 0.14 0.14 pose: 0.0 -0.343197 0.0331565 0 -0.00481608 -0.003932 0.0662947 0.997781 uwb: 0.0 848.581 1071.72 -imu_odom_: 1691062964.338566796 0.517148 -0.488417 9.76355 -0.0745685 0.0191748 0.191748 0.14 0.14 pose: 0.34018625 -0.333279 0.0318792 0 -0.00367409 -4.9597e-05 0.0687158 0.99763 uwb: 0.50164654 848.231 1070.76 -imu_odom_: 1691062964.356621964 0.378284 -0.301669 10.082 -0.0607201 0.0223706 0.166181 0.22 0.17 pose: 0.0 -0.333279 0.0318792 0 -0.00367409 -4.9597e-05 0.0687158 0.99763 uwb: 0.0 848.231 1070.76 -imu_odom_: 1691062964.372556839 0.608127 -0.179565 9.90721 -0.0479369 -0.056459 0.166181 0.22 0.17 pose: 0.0 -0.333279 0.0318792 0 -0.00367409 -4.9597e-05 0.0687158 0.99763 uwb: 0.0 848.231 1070.76 -imu_odom_: 1691062964.389550985 1.11809 -0.227449 9.77553 -0.0639159 -0.0255663 0.235423 0.22 0.17 pose: 0.46822638 -0.333279 0.0318792 0 -0.00418114 0.000244194 0.0718537 0.997406 uwb: 0.49858421 848.187 1069.81 -imu_odom_: 1691062964.407605279 1.24498 -0.646434 9.87608 -0.076699 -0.0607201 0.298274 0.12 0.05 pose: 0.34009292 -0.32336 0.030613 0 -0.00355251 -0.00131155 0.0742732 0.997231 uwb: 0.0 848.187 1069.81 -imu_odom_: 1691062964.420544909 1.58017 -0.656011 10.3932 -0.0649811 -0.0351537 0.217314 0.11 0.08 pose: 0.0 -0.32336 0.030613 0 -0.00355251 -0.00131155 0.0742732 0.997231 uwb: 0.0 848.187 1069.81 -imu_odom_: 1691062964.436488241 1.4461 0.215478 9.40921 -0.0490022 0.0575243 0.112918 0.11 0.08 pose: 0.0 -0.32336 0.030613 0 -0.00355251 -0.00131155 0.0742732 0.997231 uwb: 0.50224150 847.784 1068.23 -imu_odom_: 1691062964.453541010 0.979228 0.433351 9.89763 -0.0788296 0.0372843 0.147006 0.11 0.08 pose: 0.33046555 -0.32209 0.040532 0 -0.00438058 -0.00518703 0.0780029 0.99693 uwb: 0.0 847.784 1068.23 -imu_odom_: 1691062964.471501975 0.526724 -0.617704 9.73961 -0.0617853 0.0426106 0.0980043 0.13 0.08 pose: 0.0 -0.32209 0.040532 0 -0.00438058 -0.00518703 0.0780029 0.99693 uwb: 0.0 847.784 1068.23 -imu_odom_: 1691062964.484557974 0.696713 -0.486023 10.3645 -0.0596548 -0.00958738 0.0372843 0.13 0.08 pose: 0.30939094 -0.312168 0.0392894 0 -0.00306979 -0.00701117 0.0796098 0.996797 uwb: 0.49782009 847.929 1066.73 -imu_odom_: 1691062964.500492848 0.723049 -0.277727 9.64384 -0.052198 -0.0479369 0.0426106 0.07 0.08 pose: 0.0 -0.312168 0.0392894 0 -0.00306979 -0.00701117 0.0796098 0.996797 uwb: 0.0 847.929 1066.73 -imu_odom_: 1691062964.517469787 0.893037 -0.184354 9.89045 -0.0639159 0.015979 0.0980043 0.07 0.08 pose: 0.40051986 -0.312168 0.0392894 0 -0.00518895 -0.00790786 0.080605 0.996701 uwb: 0.0 847.929 1066.73 -imu_odom_: 1691062964.535473917 0.715866 -0.500388 9.99819 -0.0543285 -0.0127832 0.127832 0.07 0.08 pose: 0.0 -0.312168 0.0392894 0 -0.00518895 -0.00790786 0.080605 0.996701 uwb: 0.50033994 847.507 1065.04 -imu_odom_: 1691062964.548471586 0.512359 -0.4956 9.64384 -0.0490022 0.015979 0.092678 0.06 0.05 pose: 0.7980999 -0.312168 0.0392894 0 -0.00489424 -0.00883239 0.0806116 0.996694 uwb: 0.0 847.507 1065.04 -imu_odom_: 1691062964.564472665 0.588974 -0.0191536 10.0748 -0.0447411 -0.0127832 0.0798948 0.06 0.05 pose: 0.0 -0.312168 0.0392894 0 -0.00489424 -0.00883239 0.0806116 0.996694 uwb: 0.0 847.507 1065.04 -imu_odom_: 1691062964.581470311 0.64404 -0.215478 9.73243 -0.056459 -0.00852212 0.0948085 0.06 0.05 pose: 0.0 -0.312168 0.0392894 0 -0.00489424 -0.00883239 0.0806116 0.996694 uwb: 0.50009204 847.795 1064.13 -imu_odom_: 1691062964.605484178 0.773327 -0.387861 10.0102 -0.0553937 -0.0170442 0.0905475 0.05 0.08 pose: 0.48942057 -0.312168 0.0392894 0 -0.00590313 -0.0117512 0.0820658 0.99654 uwb: 0.0 847.795 1064.13 -imu_odom_: 1691062964.631645756 0.122104 -0.129287 9.8665 -0.0543285 0.0798948 0.0585895 0.06 0.05 pose: 0.64003148 -0.302247 0.0380296 0 -0.00426669 -0.0138358 0.0836287 0.996392 uwb: 0.50135197 847.781 1063.67 -imu_odom_: 1691062964.656605152 -1.55863 -0.208296 10.1347 -0.0596548 0.04048 0.092678 0.08 0.05 pose: 0.0 -0.302247 0.0380296 0 -0.00426669 -0.0138358 0.0836287 0.996392 uwb: 0.0 847.781 1063.67 -imu_odom_: 1691062964.680628644 -0.189142 -0.380678 9.87848 -0.0479369 -0.0990696 0.0692422 0.08 0.05 pose: 0.34073747 -0.302247 0.0380296 0 -0.00375462 -0.00923574 0.0840886 0.996408 uwb: 0.49835090 847.692 1063.08 -imu_odom_: 1691062964.704656802 0.64404 -0.198719 9.9934 -0.0585895 -0.0372843 0.1012 0.13 0.05 pose: 0.41070719 -0.302258 0.0380151 0 -0.0041713 -0.00592013 0.0849195 0.996361 uwb: 0.0 847.692 1063.08 -imu_odom_: 1691062964.729638072 0.158017 -0.100556 10.3046 -0.052198 0.0149137 0.0660464 0.13 0.05 pose: 0.8028246 -0.302247 0.0380296 0 -0.00361299 -0.00662813 0.0851606 0.996339 uwb: 0.50024078 847.695 1062.15 -imu_odom_: 1691062964.745694564 0.107739 -0.181959 9.91678 -0.056459 0.015979 0.0607201 0.11 0.02 pose: 0.0 -0.302247 0.0380296 0 -0.00361299 -0.00662813 0.0851606 0.996339 uwb: 0.0 847.695 1062.15 -imu_odom_: 1691062964.763621699 0.31364 -0.373495 10.3525 -0.0458064 0.0298274 0.0713727 0.11 0.02 pose: 0.47913116 -0.292332 0.0367311 0 -0.00161311 -0.00467233 0.0860447 0.996279 uwb: 0.0 847.695 1062.15 -imu_odom_: 1691062964.787672898 0.146046 -0.100556 9.75158 -0.056459 -0.0191748 0.0713727 0.12 0 pose: 0.0 -0.292332 0.0367311 0 -0.00161311 -0.00467233 0.0860447 0.996279 uwb: 0.49935417 847.34 1059.98 -imu_odom_: 1691062964.814487770 0.150835 -0.246603 10.1873 -0.0468716 -0.0138484 0.0607201 0.12 0 pose: 0.35068565 -0.292332 0.0367311 0 -0.0023316 -0.00135576 0.0865608 0.996243 uwb: 0.0 847.34 1059.98 -imu_odom_: 1691062964.840608225 -0.114922 -0.447716 9.34696 -0.0553937 -0.00958738 0.0553937 0.13 -0.02 pose: 0.42849199 -0.281554 0.0421641 0 -0.00174486 0.00253361 0.0871044 0.996194 uwb: 0.50064034 847.406 1059.49 -imu_odom_: 1691062964.857537917 0.059855 -0.299275 9.74201 -0.0575243 -0.0255663 0.0660464 0.13 -0.02 pose: 0.9062729 -0.281145 0.0453794 0 -0.00217736 0.00330594 0.0871758 0.996185 uwb: 0.0 847.406 1059.49 -imu_odom_: 1691062964.881463706 0.217872 -0.160412 9.86172 -0.0490022 0.0308927 0.0703074 0.14 0.02 pose: 0.0 -0.281145 0.0453794 0 -0.00217736 0.00330594 0.0871758 0.996185 uwb: 0.49923751 847.234 1058.19 -imu_odom_: 1691062964.907454085 0.339977 -0.251391 10.3358 -0.0639159 -0.0127832 0.0639159 0.14 0.02 pose: 0.33987418 -0.275629 0.0446793 0 -0.00337756 0.00622746 0.0875361 0.996136 uwb: 0.0 847.234 1058.19 -imu_odom_: 1691062964.932608595 0.435745 -0.225055 9.89284 -0.0479369 -0.04048 0.0628506 0.14 0 pose: 0.49916168 -0.271225 0.0441235 0 -0.00180538 0.00527342 0.0882278 0.996085 uwb: 0.49854629 847.076 1057.64 -imu_odom_: 1691062964.956591548 0.131681 -0.42138 9.81623 -0.0426106 0.0149137 0.0500674 0.14 0 pose: 0.0 -0.271225 0.0441235 0 -0.00180538 0.00527342 0.0882278 0.996085 uwb: 0.0 847.076 1057.64 -imu_odom_: 1691062964.978525951 0.658405 -0.442927 10.2376 -0.0319579 0.00319579 0.0415453 0.2 0.02 pose: 0.49137463 -0.261301 0.0428871 0 -0.00273653 0.0042944 0.0886405 0.996051 uwb: 0.0 847.076 1057.64 -imu_odom_: 1691062964.995574053 0.356736 -0.0047884 9.97424 -0.0372843 -0.0234358 0.0660464 0.2 0.02 pose: 0.0 -0.261301 0.0428871 0 -0.00273653 0.0042944 0.0886405 0.996051 uwb: 0.50086200 847.182 1057.44 -imu_odom_: 1691062965.11524093 0.373495 -0.37589 9.69412 -0.04048 -0.02024 0.0617853 0.15 0 pose: 0.0 -0.261301 0.0428871 0 -0.00273653 0.0042944 0.0886405 0.996051 uwb: 0.0 847.182 1057.44 -imu_odom_: 1691062965.37467225 0.227449 -0.0407014 9.77792 -0.0436758 -0.0127832 0.056459 0.15 0 pose: 0.46994127 -0.251377 0.0416596 0 -0.00217322 0.00210663 0.0889679 0.99603 uwb: 0.49908002 846.95 1056.62 -imu_odom_: 1691062965.61526007 0.725443 -0.220267 10.0102 -0.0692422 -0.015979 0.0628506 0.16 0.02 pose: 0.33881550 -0.250533 0.0485032 0 -0.0006193230.00330378 0.0892798 0.996001 uwb: 0.0 846.95 1056.62 -imu_odom_: 1691062965.87467097 0.237026 -0.229843 9.76116 -0.0553937 0.0234358 0.0436758 0.16 0.02 pose: 0.0 -0.250533 0.0485032 0 -0.0006193230.00330378 0.0892798 0.996001 uwb: 0.50148613 846.253 1055.96 -imu_odom_: 1691062965.111534920 0.351948 -0.385466 9.8282 -0.0713727 -0.0213053 0.0639159 0.17 0 pose: 0.8057703 -0.250156 0.0515847 0 -0.0005969950.00244924 0.0893734 0.995995 uwb: 0.0 846.253 1055.96 -imu_odom_: 1691062965.137504008 0.361524 -0.45011 9.70849 -0.0607201 0.036219 0.04048 0.17 0.02 pose: 0.48985222 -0.24023 0.0503696 0 -0.0016565 0.00346053 0.0896952 0.995962 uwb: 0.49883795 845.616 1054.82 -imu_odom_: 1691062965.162658227 0.258574 -0.486023 9.61272 -0.0426106 0.0628506 0.0490022 0.17 0.02 pose: 0.0 -0.24023 0.0503696 0 -0.0016565 0.00346053 0.0896952 0.995962 uwb: 0.0 845.616 1054.82 -imu_odom_: 1691062965.179585294 0.00718261 -0.0766145 9.95509 -0.0436758 -0.00639159 0.0553937 0.18 0 pose: 0.25127386 -0.24023 0.0503696 0 -0.0042707 0.00292018 0.0898954 0.995938 uwb: 0.50226776 845.543 1054.55 -imu_odom_: 1691062965.195541750 0.105345 -0.153229 9.68933 -0.0415453 -0.0319579 0.0458064 0.18 0 pose: 0.50973691 -0.230303 0.0491647 0 -0.00780493 0.0052726 0.0900744 0.99589 uwb: 0.0 845.543 1054.55 -imu_odom_: 1691062965.220540811 0.35913 -0.241814 9.94551 -0.0671117 -0.0319579 0.0692422 0.18 0 pose: 0.0 -0.230303 0.0491647 0 -0.00780493 0.0052726 0.0900744 0.99589 uwb: 0.0 845.543 1054.55 -imu_odom_: 1691062965.236495226 0.399832 -0.0095768110.0844 -0.0319579 0.00213053 0.0543285 0.23 0 pose: 0.32937187 -0.220375 0.0479628 0 -0.00546268 0.00621683 0.0903386 0.995877 uwb: 0.49749636 845.077 1053.65 -imu_odom_: 1691062965.261443832 0.23942 -0.169988 10.2352 -0.052198 0.0181095 0.0490022 0.23 0 pose: 0.0 -0.220375 0.0479628 0 -0.00546268 0.00621683 0.0903386 0.995877 uwb: 0.0 845.077 1053.65 -imu_odom_: 1691062965.286579676 0.462081 -0.248997 10.1897 -0.0532632 0.0127832 0.0426106 0.17 0.02 pose: 0.40929853 -0.219179 0.057891 0 -0.00207504 0.0050383 0.0907565 0.995858 uwb: 0.50127323 844.638 1052.44 -imu_odom_: 1691062965.310496425 0.452504 -0.287304 9.7851 -0.0617853 -0.0607201 0.0458064 0.17 0 pose: 0.0 -0.219179 0.057891 0 -0.00207504 0.0050383 0.0907565 0.995858 uwb: 0.0 844.638 1052.44 -imu_odom_: 1691062965.328462349 0.893037 -0.497994 9.75637 -0.0660464 0.0245011 0.0383495 0.17 0 pose: 0.42101409 -0.209249 0.0567034 0 -0.00097843 0.00409558 0.0908792 0.995853 uwb: 0.0 844.638 1052.44 -imu_odom_: 1691062965.345586863 0.117316 -0.45011 9.50019 -0.0447411 -0.0191748 -0.02024 0.17 0 pose: 0.0 -0.209249 0.0567034 0 -0.00097843 0.00409558 0.0908792 0.995853 uwb: 0.49981498 844.614 1051.54 -imu_odom_: 1691062965.360453132 0.301669 -0.035913 9.80904 -0.0660464 -0.0372843 -0.0745685 0.18 -0.11 pose: 0.8068203 -0.209249 0.0567034 0 -0.00125896 0.00310705 0.0909029 0.995854 uwb: 0.0 844.614 1051.54 -imu_odom_: 1691062965.377585813 0.620098 0.0407014 9.87129 -0.0671117 -0.0234358 -0.107592 0.18 -0.11 pose: 0.0 -0.209249 0.0567034 0 -0.00125896 0.00310705 0.0909029 0.995854 uwb: 0.0 844.614 1051.54 -imu_odom_: 1691062965.393610224 0.0311246 -0.150835 9.47864 -0.0436758 0.0255663 -0.142745 0.18 -0.11 pose: 0.0 -0.209249 0.0567034 0 -0.00125896 0.00310705 0.0909029 0.995854 uwb: 0.49973331 844.415 1050.55 -imu_odom_: 1691062965.411832508 0.179565 -0.282516 10.1131 -0.0735032 -0.0138484 -0.168312 0.21 -0.32 pose: 0.57946456 -0.19932 0.0555187 0 -0.00290671 0.00110413 0.0900315 0.995934 uwb: 0.0 844.415 1050.55 -imu_odom_: 1691062965.429435911 0.553061 -0.0981623 9.96467 -0.0330232 -0.0340885 -0.252468 0.18 -0.35 pose: 0.0 -0.19932 0.0555187 0 -0.00290671 0.00110413 0.0900315 0.995934 uwb: 0.50067826 844.19 1050.47 -imu_odom_: 1691062965.443575972 0.363919 0.124498 9.98143 -0.0287621 -0.0223706 -0.298274 0.18 -0.35 pose: 0.67036016 -0.178294 0.0630814 0 -0.0009187020.00280398 0.0838563 0.996473 uwb: 0.0 844.19 1050.47 -imu_odom_: 1691062965.461583311 0.531513 -0.110133 10.1011 -0.072438 -0.0245011 -0.354733 0.17 -0.38 pose: 0.0 -0.178294 0.0630814 0 -0.0009187020.00280398 0.0838563 0.996473 uwb: 0.0 844.19 1050.47 -imu_odom_: 1691062965.477553475 0.672771 -0.126893 9.72764 -0.0543285 -0.0287621 -0.411192 0.17 -0.38 pose: 0.0 -0.178294 0.0630814 0 -0.0009187020.00280398 0.0838563 0.996473 uwb: 0.0 844.19 1050.47 -imu_odom_: 1691062965.494677114 0.550666 -0.378284 10.228 -0.0649811 0.0106526 -0.455933 0.17 -0.38 pose: 0.31938286 -0.178293 0.0630814 0 0.00171479 0.00110919 0.0784827 0.996913 uwb: 0.49998122 843.675 1049.89 -imu_odom_: 1691062965.511558976 1.07021 0.160412 10.6279 -0.0628506 -0.0138484 -0.474043 0.25 -0.64 pose: 0.34007251 -0.168358 0.0619472 0 0.00181358 -0.00197306 0.0709496 0.997476 uwb: 0.0 843.675 1049.89 -imu_odom_: 1691062965.527558596 0.399832 -0.150835 9.62948 -0.0660464 -0.015979 -0.500674 0.25 -0.64 pose: 0.0 -0.168358 0.0619472 0 0.00181358 -0.00197306 0.0709496 0.997476 uwb: 0.0 843.675 1049.89 -imu_odom_: 1691062965.543579216 -0.258574 0.0694318 10.0365 -0.0500674 0.0308927 -0.52411 0.25 -0.64 pose: 0.0 -0.168358 0.0619472 0 0.00181358 -0.00197306 0.0709496 0.997476 uwb: 0.50225901 843.124 1047.96 -imu_odom_: 1691062965.560665232 0.397437 -0.54109 9.95748 -0.0745685 -0.00319579 -0.523045 0.18 -0.55 pose: 0.49990247 -0.158417 0.0608615 0 0.0025748 -0.0015176 0.057802 0.998324 uwb: 0.0 843.124 1047.96 -imu_odom_: 1691062965.576499196 0.814029 0.110133 10.2256 -0.0372843 -0.0426106 -0.561394 0.18 -0.55 pose: 0.0 -0.158417 0.0608615 0 0.0025748 -0.0015176 0.057802 0.998324 uwb: 0.0 843.124 1047.96 -imu_odom_: 1691062965.594432163 1.05345 -0.272939 9.78271 -0.0532632 -0.0596548 -0.578439 0.25 -0.82 pose: 0.40933061 -0.158431 0.0608448 0 0.00212268 -0.00208221 0.0459946 0.998937 uwb: 0.49882337 842.61 1046.92 -imu_odom_: 1691062965.611546762 1.61369 0.124498 9.79707 -0.0532632 -0.0703074 -0.535828 0.25 -0.82 pose: 0.0 -0.158431 0.0608448 0 0.00212268 -0.00208221 0.0459946 0.998937 uwb: 0.0 842.61 1046.92 -imu_odom_: 1691062965.625423171 1.65918 -0.42138 9.68933 -0.0575243 -0.0191748 -0.502805 0.25 -0.82 pose: 0.0 -0.158431 0.0608448 0 0.00212268 -0.00208221 0.0459946 0.998937 uwb: 0.0 842.61 1046.92 -imu_odom_: 1691062965.643549503 1.62087 -0.325611 10.2615 -0.0585895 -0.0255663 -0.484695 0.13 -0.41 pose: 0.7999081 -0.158417 0.0608615 0 0.00205633 -0.00309309 0.0435267 0.999045 uwb: 0.49984997 842.286 1045.82 -imu_odom_: 1691062965.656429053 1.17555 -0.339977 9.56005 -0.0372843 -0.0234358 -0.454868 0.13 -0.5 pose: 0.0 -0.158417 0.0608615 0 0.00205633 -0.00309309 0.0435267 0.999045 uwb: 0.0 842.286 1045.82 -imu_odom_: 1691062965.673416783 1.41976 -0.258574 10.1897 -0.0543285 0.0213053 -0.386691 0.13 -0.5 pose: 0.0 -0.158417 0.0608615 0 0.00205633 -0.00309309 0.0435267 0.999045 uwb: 0.0 842.286 1045.82 -imu_odom_: 1691062965.687476932 1.12049 -0.500388 9.75877 -0.0713727 0 -0.330232 0.13 -0.5 pose: 0.65059213 -0.147353 0.0696628 0 0.00204975 -0.0106173 0.0255579 0.999615 uwb: 0.49919085 842.307 1044.77 -imu_odom_: 1691062965.703477720 0.857124 -0.272939 9.8258 -0.0511327 0.00426106 -0.315318 0.11 -0.38 pose: 0.0 -0.147353 0.0696628 0 0.00204975 -0.0106173 0.0255579 0.999615 uwb: 0.0 842.307 1044.77 -imu_odom_: 1691062965.720473616 0.636858 -0.0335188 9.85693 -0.0511327 -0.0319579 -0.264186 0.11 -0.38 pose: 0.30917512 -0.137424 0.0684685 0 0.00145992 -0.0133918 0.018949 0.99973 uwb: 0.0 842.307 1044.77 -imu_odom_: 1691062965.736412865 0.61531 -0.263362 9.5792 -0.0660464 -0.0276969 -0.230097 0.09 -0.29 pose: 0.39998614 -0.137424 0.0684685 0 0.00219898 -0.0149946 0.012226 0.99981 uwb: 0.49944750 841.868 1044 -imu_odom_: 1691062965.753472342 1.09894 -0.459687 10.0604 -0.0596548 -0.0223706 -0.225836 0.09 -0.29 pose: 0.0 -0.137424 0.0684685 0 0.00219898 -0.0149946 0.012226 0.99981 uwb: 0.0 841.868 1044 -imu_odom_: 1691062965.769522126 0.972046 -0.23942 9.991 -0.0639159 0.0106526 -0.215183 0.09 -0.29 pose: 0.0 -0.137424 0.0684685 0 0.00219898 -0.0149946 0.012226 0.99981 uwb: 0.0 841.868 1044 -imu_odom_: 1691062965.786411862 0.699107 -0.0383072 10.058 -0.052198 0.00745685 -0.208792 0.1 -0.35 pose: 0.8008414 -0.137424 0.0684685 0 0.00155126 -0.0145826 0.0111538 0.99983 uwb: 0.49833923 841.624 1044.37 -imu_odom_: 1691062965.802462813 0.876278 -0.148441 9.74201 -0.0585895 -0.0234358 -0.185356 0.06 -0.2 pose: 0.0 -0.137424 0.0684685 0 0.00155126 -0.0145826 0.0111538 0.99983 uwb: 0.0 841.624 1044.37 -imu_odom_: 1691062965.819552038 0.821211 -0.289698 9.84735 -0.052198 0.00958738 -0.166181 0.06 -0.2 pose: 0.65995701 -0.127495 0.0672861 0 0.00174354 -0.0175833 0.00276401 0.99984 uwb: 0.0 841.624 1044.37 -imu_odom_: 1691062965.835420416 0.565032 -0.248997 9.98861 -0.0585895 0.00213053 -0.165116 0.06 -0.2 pose: 0.0 -0.127495 0.0672861 0 0.00174354 -0.0175833 0.00276401 0.99984 uwb: 0.50023495 841.165 1043.15 -imu_odom_: 1691062965.852555138 0.718261 -0.198719 9.79947 -0.0607201 -0.0138484 -0.153398 0.06 -0.17 pose: 0.0 -0.127495 0.0672861 0 0.00174354 -0.0175833 0.00276401 0.99984 uwb: 0.0 841.165 1043.15 -imu_odom_: 1691062965.871606291 0.663194 -0.227449 9.76116 -0.0575243 -0.0117179 -0.123571 0.06 -0.17 pose: 0.33152425 -0.127495 0.0672861 0 0.000331963 -0.0182916 -0.0006882590.999832 uwb: 0.0 841.165 1043.15 -imu_odom_: 1691062965.887445796 0.68953 -0.328006 9.87608 -0.0575243 -0.00532632 -0.106526 0.05 -0.14 pose: 0.43976135 -0.127508 0.0672695 0 -8.92025e-05-0.014513 -0.00469032 0.999884 uwb: 0.49965749 841.249 1043.28 -imu_odom_: 1691062965.905665164 0.488417 -0.306458 9.72285 -0.0511327 0.00426106 -0.102265 0.05 -0.14 pose: 0.0 -0.127508 0.0672695 0 -8.92025e-05-0.014513 -0.00469032 0.999884 uwb: 0.0 841.249 1043.28 -imu_odom_: 1691062965.922603606 0.593762 -0.100556 10.0078 -0.0532632 -0.0255663 -0.0969391 0.05 -0.14 pose: 0.0 -0.127508 0.0672695 0 -8.92025e-05-0.014513 -0.00469032 0.999884 uwb: 0.0 841.249 1043.28 -imu_odom_: 1691062965.937551537 0.64404 -0.253785 9.81144 -0.0596548 -0.0181095 -0.0830906 0.04 -0.11 pose: 0.8008998 -0.127495 0.067286 0 -0.000890589-0.0145351 -0.00526383 0.99988 uwb: 0.50000455 840.923 1041.88 -imu_odom_: 1691062965.954597889 0.744597 -0.294487 9.89284 -0.0607201 -0.0117179 -0.076699 0.04 -0.08 pose: 0.0 -0.127495 0.067286 0 -0.000890589-0.0145351 -0.00526383 0.99988 uwb: 0.0 840.923 1041.88 -imu_odom_: 1691062965.971541872 0.799663 -0.387861 9.81862 -0.0585895 -0.0127832 -0.0660464 0.04 -0.08 pose: 0.65816919 -0.117556 0.0661753 0 -0.00239137 -0.0132536 -0.00963436 0.999863 uwb: 0.0 840.923 1041.88 -imu_odom_: 1691062965.987660486 0.754174 -0.205901 9.991 -0.0575243 -0.00106526 -0.0468716 0.04 -0.08 pose: 0.0 -0.117556 0.0661753 0 -0.00239137 -0.0132536 -0.00963436 0.999863 uwb: 0.50022329 840.786 1040.88 -imu_odom_: 1691062966.4471768 0.588974 -0.248997 9.78271 -0.056459 0.00426106 -0.036219 0.04 -0.08 pose: 0.0 -0.117556 0.0661753 0 -0.00239137 -0.0132536 -0.00963436 0.999863 uwb: 0.0 840.786 1040.88 -imu_odom_: 1691062966.21547868 0.342371 -0.220267 9.87129 -0.0511327 0.00639159 -0.0383495 0.04 -0.08 pose: 0.33128218 -0.117556 0.0661753 0 -0.00340103 -0.0157199 -0.0113594 0.999806 uwb: 0.0 840.786 1040.88 -imu_odom_: 1691062966.37566446 0.438139 -0.28491 9.85693 -0.0575243 -0.0181095 -0.00106526 0.02 -0.02 pose: 0.42987442 -0.117556 0.0661753 0 -0.0021683 -0.0126265 -0.0130673 0.999833 uwb: 0.50001330 840.366 1040.1 -imu_odom_: 1691062966.54608716 0.754174 -0.40462 9.9503 -0.0607201 -0.015979 0.0170442 0.02 -0.02 pose: 0.7944835 -0.117556 0.0661753 0 -0.00228157 -0.0118937 -0.0132258 0.999839 uwb: 0.0 840.366 1040.1 -imu_odom_: 1691062966.79659690 0.766145 -0.220267 9.83538 -0.0532632 0.00639159 0.0394148 0.01 0.02 pose: 0.0 -0.117556 0.0661753 0 -0.00228157 -0.0118937 -0.0132258 0.999839 uwb: 0.50166988 840.666 1039.43 -imu_odom_: 1691062966.96601340 0.469264 -0.248997 9.991 -0.0543285 0.0490022 0.056459 0.01 0.02 pose: 0.34080163 -0.117556 0.0661753 0 -0.0033087 -0.0131245 -0.013576 0.999816 uwb: 0.0 840.666 1039.43 -imu_odom_: 1691062966.113556698 -1.09894 -0.191536 9.91199 -0.0394148 0.12144 0.1012 0.04 0.08 pose: 0.0 -0.117556 0.0661753 0 -0.0033087 -0.0131245 -0.013576 0.999816 uwb: 0.0 840.666 1039.43 -imu_odom_: 1691062966.130412894 -1.62806 -0.526724 10.0221 -0.0543285 0.00958738 0.18003 0.04 0.08 pose: 0.42036373 -0.117556 0.0661753 0 -0.00231028 -0.0108677 -0.0131688 0.999852 uwb: 0.50141905 840.771 1039.26 -imu_odom_: 1691062966.147421915 -0.73502 -0.545878 9.56005 -0.0617853 -0.0692422 0.264186 0.06 0.2 pose: 0.0 -0.117556 0.0661753 0 -0.00231028 -0.0108677 -0.0131688 0.999852 uwb: 0.0 840.771 1039.26 -imu_odom_: 1691062966.163567069 0.167594 -0.378284 10.161 -0.0511327 -0.0628506 0.332363 0.06 0.2 pose: 0.0 -0.117556 0.0661753 0 -0.00231028 -0.0108677 -0.0131688 0.999852 uwb: 0.0 840.771 1039.26 -imu_odom_: 1691062966.180534384 0.691924 -0.363919 9.95748 -0.0585895 -0.0266316 0.365386 0.06 0.2 pose: 0.32881774 -0.117556 0.0661753 0 -0.00258893 -0.00724634 -0.0108237 0.999912 uwb: 0.49791635 840.452 1038.45 -imu_odom_: 1691062966.196529339 0.37589 -0.0502782 9.76834 -0.0511327 -0.00213053 0.369647 0.13 0.44 pose: 0.42043371 -0.107626 0.064995 0 -0.00403319 -0.00727412 -0.00468105 0.999954 uwb: 0.0 840.452 1038.45 -imu_odom_: 1691062966.213455531 0.00718261 -0.282516 9.50498 -0.0649811 0.0372843 0.399474 0.13 0.44 pose: 0.0 -0.107626 0.064995 0 -0.00403319 -0.00727412 -0.00468105 0.999954 uwb: 0.0 840.452 1038.45 -imu_odom_: 1691062966.229444361 -0.011971 -0.426168 10.2735 -0.0798948 0 0.452737 0.13 0.44 pose: 0.0 -0.107626 0.064995 0 -0.00403319 -0.00727412 -0.00468105 0.999954 uwb: 0.50010663 840.594 1038.12 -imu_odom_: 1691062966.245436982 0.0885855 -0.818817 9.69652 -0.052198 -0.00852212 0.452737 0.11 0.38 pose: 0.7011264 -0.107626 0.064995 0 -0.00344932 -0.00686449 -0.00352653 0.999964 uwb: 0.0 840.594 1038.12 -imu_odom_: 1691062966.262497625 0.553061 -0.186748 10.2256 -0.0596548 -0.015979 0.465521 0.14 0.55 pose: 0.0 -0.107626 0.064995 0 -0.00344932 -0.00686449 -0.00352653 0.999964 uwb: 0.0 840.594 1038.12 -imu_odom_: 1691062966.278515328 -0.0023942 0.0215478 9.74919 -0.052198 0.0255663 0.498544 0.14 0.55 pose: 0.65901498 -0.107626 0.064995 0 -0.00426351 -0.00241046 0.00932329 0.999945 uwb: 0.0 840.594 1038.12 -imu_odom_: 1691062966.295393982 0.306458 -0.565032 9.8282 -0.0735032 -0.00745685 0.519849 0.14 0.55 pose: 0.0 -0.107626 0.064995 0 -0.00426351 -0.00241046 0.00932329 0.999945 uwb: 0.0 840.594 1038.12 -imu_odom_: 1691062966.311463307 0.287304 -0.502782 9.73482 -0.036219 -0.0308927 0.523045 0.16 0.64 pose: 0.0 -0.107626 0.064995 0 -0.00426351 -0.00241046 0.00932329 0.999945 uwb: 0.0 840.594 1038.12 -imu_odom_: 1691062966.328436163 0.435745 -0.526724 10.137 -0.0372843 -0.0298274 0.555003 0.16 0.64 pose: 0.33065805 -0.0977007 0.0637767 0 -0.00354529 -0.00116586 0.0168457 0.999851 uwb: 0.0 840.594 1038.12 -imu_odom_: 1691062966.344375413 0.328006 -0.347159 9.56962 -0.0585895 0.00213053 0.578439 0.13 0.53 pose: 0.41923212 -0.0924773 0.0631189 0 -0.00717818 -0.0006850320.0272414 0.999603 uwb: 0.99851586 840.527 1037.84 -imu_odom_: 1691062966.361366643 0.646434 -0.428562 10.2256 -0.0351537 -0.0330232 0.577373 0.13 0.53 pose: 0.0 -0.0924773 0.0631189 0 -0.00717818 -0.0006850320.0272414 0.999603 uwb: 0.0 840.527 1037.84 -imu_odom_: 1691062966.377363347 1.12527 -0.296881 9.92157 -0.04048 -0.0543285 0.541154 0.13 0.53 pose: 0.0 -0.0924773 0.0631189 0 -0.00717818 -0.0006850320.0272414 0.999603 uwb: 0.0 840.527 1037.84 -imu_odom_: 1691062966.394523735 1.07021 -0.234632 9.49301 -0.0511327 -0.00426106 0.546481 0.14 0.55 pose: 0.7997915 -0.0877715 0.0625874 0 -0.00718197 0.000156341 0.0294009 0.999542 uwb: 0.50044203 840.178 1037.19 -imu_odom_: 1691062966.411394514 1.96325 -0.433351 10.6015 -0.0585895 -0.0532632 0.495348 0.09 0.32 pose: 0.0 -0.0877715 0.0625874 0 -0.00718197 0.000156341 0.0294009 0.999542 uwb: 0.0 840.178 1037.19 -imu_odom_: 1691062966.436430323 1.47243 0.146046 10.228 -0.0415453 0.0553937 0.309992 0.09 0.32 pose: 0.66122278 -0.0877715 0.0625874 0 -0.00666119 -0.00546263 0.0462567 0.998892 uwb: 0.49955250 840.221 1036.74 -imu_odom_: 1691062966.453426511 0.675165 0.105345 9.81144 -0.0628506 0.0585895 0.268447 0.08 0.29 pose: 0.0 -0.0877715 0.0625874 0 -0.00666119 -0.00546263 0.0462567 0.998892 uwb: 0.0 840.221 1036.74 -imu_odom_: 1691062966.469481254 0.107739 -0.311246 9.75398 -0.0713727 0.0394148 0.176834 0.08 0.29 pose: 0.0 -0.0877715 0.0625874 0 -0.00666119 -0.00546263 0.0462567 0.998892 uwb: 0.0 840.221 1036.74 -imu_odom_: 1691062966.485545329 -1.15879 0.0837971 9.48583 -0.0319579 0.115049 0.0894822 0.08 0.29 pose: 0.16981897 -0.0877715 0.0625874 0 -0.00622638 -0.00699846 0.0493546 0.998737 uwb: 0.50037786 840.212 1036.59 -imu_odom_: 1691062966.501411083 -1.05345 0.0167594 10.7691 -0.0777643 0.015979 0.221575 0.09 0.23 pose: 0.56959222 -0.0767169 0.0714076 0 -0.00385961 -0.00470822 0.0548226 0.998478 uwb: 0.0 840.212 1036.59 -imu_odom_: 1691062966.519432420 -0.205901 -1.13246 9.77313 -0.0490022 -0.103331 0.253533 0.09 0.23 pose: 0.0 -0.0767169 0.0714076 0 -0.00385961 -0.00470822 0.0548226 0.998478 uwb: 0.0 840.212 1036.59 -imu_odom_: 1691062966.535444290 0.622492 -0.11971 9.81144 -0.0181095 -0.0511327 0.186421 0.11 0.14 pose: 0.42934945 -0.0767314 0.071391 0 -0.00498645 -0.00142554 0.0584284 0.998278 uwb: 0.50078618 840.155 1036.02 -imu_odom_: 1691062966.551374790 0.682347 0.136469 9.9096 -0.04048 0.00958738 0.243946 0.11 0.14 pose: 0.0 -0.0767314 0.071391 0 -0.00498645 -0.00142554 0.0584284 0.998278 uwb: 0.0 840.155 1036.02 -imu_odom_: 1691062966.568429600 0.490811 -0.0837971 10.1897 -0.0660464 0.0298274 0.235423 0.11 0.14 pose: 0.0 -0.0767314 0.071391 0 -0.00498645 -0.00142554 0.0584284 0.998278 uwb: 0.0 840.155 1036.02 -imu_odom_: 1691062966.585417914 0.205901 -0.23942 9.76595 -0.0351537 -0.00852212 0.178964 0.13 0.14 pose: 0.8058286 -0.0767169 0.0714076 0 -0.00422932 -0.00214555 0.0590167 0.998246 uwb: 0.49877671 840.267 1036.73 -imu_odom_: 1691062966.601476448 -0.126893 -0.232238 9.7875 -0.0585895 0.0106526 0.186421 0.17 0.2 pose: 0.0 -0.0767169 0.0714076 0 -0.00422932 -0.00214555 0.0590167 0.998246 uwb: 0.0 840.267 1036.73 -imu_odom_: 1691062966.617479569 0.258574 -0.351948 10.1969 -0.0553937 -0.0308927 0.201335 0.17 0.2 pose: 0.64958887 -0.066792 0.0701838 0 -0.000440848-0.0008061660.0645749 0.997912 uwb: 0.0 840.267 1036.73 -imu_odom_: 1691062966.634413052 0.42138 -0.440533 9.76834 -0.0351537 -0.0266316 0.187487 0.17 0.17 pose: 0.0 -0.066792 0.0701838 0 -0.000440848-0.0008061660.0645749 0.997912 uwb: 0.50230567 840.427 1036.25 -imu_odom_: 1691062966.650359885 0.349553 -0.138864 9.72525 -0.0415453 -0.0234358 0.157659 0.17 0.17 pose: 0.0 -0.066792 0.0701838 0 -0.000440848-0.0008061660.0645749 0.997912 uwb: 0.0 840.427 1036.25 -imu_odom_: 1691062966.666567452 0.373495 -0.047884 9.81144 -0.0340885 -0.0511327 0.166181 0.17 0.17 pose: 0.33040431 -0.0568658 0.0689713 0 -0.00235027 0.000766689 0.0671184 0.997742 uwb: 0.0 840.427 1036.25 -imu_odom_: 1691062966.683508518 0.483629 -0.0957681 9.79468 -0.0490022 0.00319579 0.170442 0.15 0.11 pose: 0.41077428 -0.0568658 0.0689713 0 0.000308258 0.000697079 0.0697434 0.997565 uwb: 0.49885254 840.713 1035.46 -imu_odom_: 1691062966.699387104 0.244209 -0.25618 10.6326 -0.0468716 -0.0223706 0.153398 0.15 0.11 pose: 0.8056244 -0.0568658 0.0689713 0 0.000985218 0.000256156 0.0702698 0.997528 uwb: 0.0 840.713 1035.46 -imu_odom_: 1691062966.715562298 0.320823 -0.158017 9.64624 -0.0639159 -0.052198 0.152333 0.15 0.11 pose: 0.0 -0.0568658 0.0689713 0 0.000985218 0.000256156 0.0702698 0.997528 uwb: 0.0 840.713 1035.46 -imu_odom_: 1691062966.732499574 1.11091 -0.213084 10.2975 -0.0500674 -0.0649811 0.192813 0.17 0.11 pose: 0.40938602 -0.0469379 0.0677728 0 0.00167414 0.00209579 0.0726573 0.997353 uwb: 0.49803592 840.635 1035.33 -imu_odom_: 1691062966.749499553 1.36469 -0.490811 9.84256 -0.056459 -0.0181095 0.24288 0.12 0.08 pose: 0.0 -0.0469379 0.0677728 0 0.00167414 0.00209579 0.0726573 0.997353 uwb: 0.0 840.635 1035.33 -imu_odom_: 1691062966.765358599 2.09253 -0.56982 10.3693 -0.0447411 -0.0660464 0.215183 0.12 0.08 pose: 0.0 -0.0469379 0.0677728 0 0.00167414 0.00209579 0.0726573 0.997353 uwb: 0.0 840.635 1035.33 -imu_odom_: 1691062966.782416617 1.71425 -0.126893 9.3709 -0.0383495 -0.00106526 0.137419 0.12 0.08 pose: 0.24899026 -0.0469378 0.0677727 0 0.00161214 -0.0009410240.0747619 0.9972 uwb: 0.49933959 840.855 1034.55 -imu_odom_: 1691062966.799429430 1.36469 0.11971 10.2448 -0.0585895 0.0447411 0.136354 0.1 0.08 pose: 0.0 -0.0469378 0.0677727 0 0.00161214 -0.0009410240.0747619 0.9972 uwb: 0.0 840.855 1034.55 -imu_odom_: 1691062966.816488906 0.658405 -0.296881 9.65821 -0.072438 0.0255663 0.113983 0.1 0.08 pose: 0.32101319 -0.0370111 0.0665643 0 0.00143133 -0.00463485 0.0774215 0.996987 uwb: 0.0 840.855 1034.55 -imu_odom_: 1691062966.832382950 0.550666 -0.292093 10.1538 -0.0607201 0.00106526 0.0692422 0.08 0.05 pose: 0.43926263 -0.0358557 0.0764973 0 0.00105407 -0.00782387 0.0793634 0.996814 uwb: 0.50260024 841.074 1033.06 -imu_odom_: 1691062966.849489965 0.636858 -0.263362 9.75637 -0.0511327 -0.0234358 0.0607201 0.08 0.05 pose: 0.0 -0.0358557 0.0764973 0 0.00105407 -0.00782387 0.0793634 0.996814 uwb: 0.0 841.074 1033.06 -imu_odom_: 1691062966.865356010 0.814029 -0.0526724 9.96706 -0.0543285 -0.02024 0.092678 0.08 0.05 pose: 0.0 -0.0358557 0.0764973 0 0.00105407 -0.00782387 0.0793634 0.996814 uwb: 0.0 841.074 1033.06 -imu_odom_: 1691062966.882621683 0.617704 -0.380678 9.71567 -0.0532632 -0.00745685 0.116114 0.09 0.05 pose: 0.8013080 -0.0358557 0.0764973 0 0.000228323 -0.00776907 0.079488 0.996806 uwb: 0.49876796 841.203 1032.74 -imu_odom_: 1691062966.901557635 0.78051 -0.203507 9.991 -0.0426106 -0.0117179 0.108657 0.06 0.05 pose: 0.0 -0.0358557 0.0764973 0 0.000228323 -0.00776907 0.079488 0.996806 uwb: 0.0 841.203 1032.74 -imu_odom_: 1691062966.917422805 0.713472 -0.191536 9.81623 -0.0458064 -0.00106526 0.124636 0.06 0.05 pose: 0.67017935 -0.0259179 0.0753822 0 -0.00102735 -0.0118809 0.0811771 0.996628 uwb: 0.0 841.203 1032.74 -imu_odom_: 1691062966.944478289 0.565032 -0.263362 9.90242 -0.0511327 -0.00426106 0.115049 0.06 0.08 pose: 0.0 -0.0259179 0.0753822 0 -0.00102735 -0.0118809 0.0811771 0.996628 uwb: 0.50007455 840.95 1032.21 -imu_odom_: 1691062966.962597330 0.158017 -0.287304 9.72046 -0.0617853 0.0415453 0.0458064 0.06 0.08 pose: 0.33971961 -0.0259179 0.0753822 0 0.000323345 -0.0131785 0.0824823 0.996505 uwb: 0.0 840.95 1032.21 -imu_odom_: 1691062966.978414961 -0.627281 0.0263362 10.003 -0.0415453 0.0330232 -0.1012 0.07 -0.11 pose: 0.37105448 -0.0259179 0.0753822 0 -0.000843419-0.00925213 0.0832695 0.996484 uwb: 0.0 840.95 1032.21 -imu_odom_: 1691062966.994495077 -0.861913 0.335188 9.87608 -0.0447411 -0.0255663 -0.219444 0.07 -0.11 pose: 0.7843340 -0.0259179 0.0753822 0 -0.000688407-0.0083257 0.0827199 0.996538 uwb: 0.49993456 840.862 1031.65 -imu_odom_: 1691062967.11358565 -0.600945 0.205901 9.51935 -0.0756338 -0.0298274 -0.236489 0.07 -0.11 pose: 0.0 -0.0259179 0.0753822 0 -0.000688407-0.0083257 0.0827199 0.996538 uwb: 0.0 840.862 1031.65 -imu_odom_: 1691062967.28540535 0.0550666 -0.543484 9.75637 -0.0735032 -0.0756338 -0.268447 0.13 -0.38 pose: 0.40917895 -0.0259179 0.0753822 0 0.000401867 -0.00462439 0.0777605 0.996961 uwb: 0.0 840.862 1031.65 -imu_odom_: 1691062967.44359624 0.201113 -0.318429 9.32302 -0.0543285 -0.0127832 -0.325971 0.13 -0.38 pose: 0.0 -0.0259179 0.0753822 0 0.000401867 -0.00462439 0.0777605 0.996961 uwb: 0.50070160 840.522 1031.29 -imu_odom_: 1691062967.60482613 -0.00957681-0.126893 10.0126 -0.0447411 0.00958738 -0.325971 0.13 -0.38 pose: 0.0 -0.0259179 0.0753822 0 0.000401867 -0.00462439 0.0777605 0.996961 uwb: 0.0 840.522 1031.29 -imu_odom_: 1691062967.77542381 -0.342371 -0.0742203 9.92875 -0.0596548 -0.0127832 -0.329167 0.11 -0.38 pose: 0.40028655 -0.0159865 0.0742118 0 -0.00121737 -0.00181034 0.0709661 0.997476 uwb: 0.0 840.522 1031.29 -imu_odom_: 1691062967.93344847 -0.277727 -0.0981623 9.75398 -0.0596548 -0.0245011 -0.38243 0.16 -0.58 pose: 0.0 -0.0159865 0.0742118 0 -0.00121737 -0.00181034 0.0709661 0.997476 uwb: 0.49937459 840.748 1030.95 -imu_odom_: 1691062967.109356134 0.414197 -0.205901 10.0892 -0.0671117 -0.0681769 -0.413323 0.16 -0.58 pose: 0.0 -0.0159865 0.0742118 0 -0.00121737 -0.00181034 0.0709661 0.997476 uwb: 0.0 840.748 1030.95 -imu_odom_: 1691062967.126538395 0.143652 -0.0670376 9.17937 -0.0639159 -0.0266316 -0.415453 0.15 -0.58 pose: 0.33043640 -0.0159865 0.0742118 0 -0.0007214960.00137258 0.0647225 0.997902 uwb: 0.0 840.748 1030.95 -imu_odom_: 1691062967.144412450 0.323217 -0.112527 10.1562 -0.0660464 -0.0340885 -0.425041 0.15 -0.58 pose: 0.0 -0.0159865 0.0742118 0 -0.0007214960.00137258 0.0647225 0.997902 uwb: 0.49987332 840.621 1030.55 -imu_odom_: 1691062967.158347189 0.328006 -0.452504 9.663 -0.0777643 -0.00106526 -0.455933 0.15 -0.58 pose: 0.33075430 -0.006048960.0730964 0 0.000249007 0.000796862 0.0573772 0.998352 uwb: 0.0 840.621 1030.55 -imu_odom_: 1691062967.173329827 0.0981623 -0.0957681 9.91678 -0.0543285 0.0138484 -0.478304 0.13 -0.5 pose: 0.40840899 -0.006064450.0730797 0 0.000478825 0.00233096 0.0477296 0.998857 uwb: 0.0 840.621 1030.55 -imu_odom_: 1691062967.190326307 0.222661 -0.126893 9.96467 -0.0820254 -0.0191748 -0.4815 0.13 -0.5 pose: 0.7013305 -0.006049060.0730965 0 0.000712104 0.00305673 0.0459157 0.99894 uwb: 0.50173404 840.729 1030.09 -imu_odom_: 1691062967.206384550 0.684742 0.0311246 10.0892 -0.0756338 -0.0830906 -0.493217 0.13 -0.5 pose: 0.0 -0.006049060.0730965 0 0.000712104 0.00305673 0.0459157 0.99894 uwb: 0.0 840.729 1030.09 -imu_odom_: 1691062967.223448401 0.775721 -0.047884 9.8665 -0.0479369 -0.0415453 -0.532632 0.19 -0.79 pose: 0.41024056 0.00496325 0.0819331 0 0.00223786 0.0032195 0.0351639 0.999374 uwb: 0.0 840.729 1030.09 -imu_odom_: 1691062967.241349871 1.56102 -0.146046 9.61272 -0.0490022 -0.0575243 -0.512392 0.13 -0.55 pose: 0.0 0.00496325 0.0819331 0 0.00223786 0.0032195 0.0351639 0.999374 uwb: 0.49866589 840.974 1029.33 -imu_odom_: 1691062967.255463975 1.6113 -0.220267 9.55287 -0.0703074 -0.0479369 -0.471912 0.13 -0.55 pose: 0.0 0.00496325 0.0819331 0 0.00223786 0.0032195 0.0351639 0.999374 uwb: 0.0 840.974 1029.33 -imu_odom_: 1691062967.270326745 1.19471 -0.229843 10.8649 -0.0468716 0 -0.46339 0.13 -0.55 pose: 0.25007227 0.00497876 0.0819501 0 0.00287559 0.000288366 0.0280993 0.999601 uwb: 0.0 840.974 1029.33 -imu_odom_: 1691062967.286327241 1.20668 0.124498 9.92636 -0.0490022 -0.0181095 -0.427171 0.1 -0.44 pose: 0.0 0.00497876 0.0819501 0 0.00287559 0.000288366 0.0280993 0.999601 uwb: 0.49802425 841.081 1028.45 -imu_odom_: 1691062967.303445048 1.29766 -0.272939 9.6223 -0.0458064 -0.0138484 -0.370712 0.1 -0.44 pose: 0.31086378 0.0149241 0.0809062 0 0.00280187 -0.00335396 0.0199873 0.999791 uwb: 0.0 841.081 1028.45 -imu_odom_: 1691062967.319380214 0.955286 -0.387861 9.91678 -0.072438 -0.0138484 -0.295078 0.12 -0.44 pose: 0.40966893 0.0149241 0.0809062 0 0.00332524 -0.00745495 0.0107802 0.999909 uwb: 0.0 841.081 1028.45 -imu_odom_: 1691062967.336353070 1.08936 -0.395043 10.1993 -0.052198 0.00319579 -0.24288 0.12 -0.44 pose: 0.0 0.0149241 0.0809062 0 0.00332524 -0.00745495 0.0107802 0.999909 uwb: 0.50246317 841.288 1027.84 -imu_odom_: 1691062967.353328843 0.97444 -0.383072 9.86411 -0.0639159 -0.00213053 -0.2024 0.12 -0.44 pose: 0.0 0.0149241 0.0809062 0 0.00332524 -0.00745495 0.0107802 0.999909 uwb: 0.0 841.288 1027.84 -imu_odom_: 1691062967.369458832 0.40462 -0.253785 9.56962 -0.052198 0.0319579 -0.201335 0.06 -0.26 pose: 0.7001638 0.0149241 0.0809062 0 0.00292781 -0.00809373 0.00961273 0.999917 uwb: 0.0 841.288 1027.84 -imu_odom_: 1691062967.386336902 0.481235 -0.179565 9.90481 -0.0575243 -0.00852212 -0.201335 0.09 -0.32 pose: 0.0 0.0149241 0.0809062 0 0.00292781 -0.00809373 0.00961273 0.999917 uwb: 0.49986748 841.667 1028.2 -imu_odom_: 1691062967.403333674 0.684742 -0.0335188 9.73722 -0.0585895 -0.0191748 -0.18003 0.09 -0.32 pose: 0.66090780 0.0149241 0.0809062 0 0.000716222 -0.00933094 0.000899447 0.999956 uwb: 0.0 841.667 1028.2 -imu_odom_: 1691062967.419365960 1.1157 -0.349553 10.1035 -0.0639159 -0.0234358 -0.155529 0.05 -0.23 pose: 0.0 0.0149241 0.0809062 0 0.000716222 -0.00933094 0.000899447 0.999956 uwb: 0.0 841.667 1028.2 -imu_odom_: 1691062967.436337358 0.835576 -0.280122 9.84017 -0.0532632 0.00213053 -0.138484 0.05 -0.23 pose: 0.0 0.0149241 0.0809062 0 0.000716222 -0.00933094 0.000899447 0.999956 uwb: 0.50036913 841.406 1027.82 -imu_odom_: 1691062967.453320714 0.799663 -0.131681 10.0437 -0.0543285 0.00958738 -0.123571 0.05 -0.23 pose: 0.33829637 0.0248647 0.0798183 0 0.00201548 -0.0102539 -0.00284349 0.999941 uwb: 0.0 841.406 1027.82 -imu_odom_: 1691062967.469294087 0.464475 -0.203507 9.7444 -0.056459 0.00852212 -0.122505 0.05 -0.17 pose: 0.33963503 0.0248647 0.0798183 0 0.00132867 -0.0133515 -0.00587193 0.999893 uwb: 0.0 841.406 1027.82 -imu_odom_: 1691062967.486310107 0.59855 -0.0694318 10.1227 -0.0553937 -0.0266316 -0.136354 0.05 -0.17 pose: 0.0 0.0248647 0.0798183 0 0.00132867 -0.0133515 -0.00587193 0.999893 uwb: 0.50122073 841.356 1026.83 -imu_odom_: 1691062967.502311770 0.782904 -0.222661 9.7444 -0.0607201 -0.0181095 -0.124636 0.05 -0.17 pose: 0.0 0.0248647 0.0798183 0 0.00132867 -0.0133515 -0.00587193 0.999893 uwb: 0.0 841.356 1026.83 -imu_odom_: 1691062967.519312041 0.790087 -0.320823 10.0365 -0.056459 0.00852212 -0.100135 0.05 -0.2 pose: 0.48986098 0.0248647 0.0798183 0 0.00278467 -0.0125796 -0.00999074 0.999867 uwb: 0.0 841.356 1026.83 -imu_odom_: 1691062967.535458945 0.703895 -0.35913 9.84975 -0.056459 -0.00213053 -0.0798948 0.05 -0.2 pose: 0.0 0.0248647 0.0798183 0 0.00278467 -0.0125796 -0.00999074 0.999867 uwb: 0.49616645 841.123 1026.3 -imu_odom_: 1691062967.551447775 0.651223 -0.179565 9.85453 -0.0532632 0 -0.0703074 0.03 -0.11 pose: 0.17030312 0.0248647 0.0798183 0 0.00174529 -0.0138842 -0.0112738 0.999839 uwb: 0.0 841.123 1026.3 -imu_odom_: 1691062967.567446521 0.471658 -0.234632 9.7851 -0.0596548 -0.00106526 -0.0628506 0.03 -0.11 pose: 0.0 0.0248647 0.0798183 0 0.00174529 -0.0138842 -0.0112738 0.999839 uwb: 0.0 841.123 1026.3 -imu_odom_: 1691062967.584334216 0.617704 -0.241814 9.99579 -0.0532632 -0.00958738 -0.0660464 0.03 -0.11 pose: 0.0 0.0248647 0.0798183 0 0.00174529 -0.0138842 -0.0112738 0.999839 uwb: 0.50100784 841.021 1024.61 -imu_odom_: 1691062967.600309047 0.718261 -0.268151 9.88566 -0.0543285 -0.0149137 -0.052198 0.03 -0.08 pose: 0.32109485 0.0248647 0.0798183 0 -8.83588e-06-0.0140773 -0.0132222 0.999813 uwb: 0.0 841.021 1024.61 -imu_odom_: 1691062967.616377497 0.667982 -0.280122 9.89763 -0.056459 0 -0.0340885 0.02 -0.05 pose: 0.0 0.0248647 0.0798183 0 -8.83588e-06-0.0140773 -0.0132222 0.999813 uwb: 0.0 841.021 1024.61 -imu_odom_: 1691062967.633315356 0.622492 -0.272939 9.88326 -0.0553937 -0.00426106 -0.0191748 0.02 -0.05 pose: 0.64873142 0.0248647 0.0798183 0 -0.00227347 -0.0129499 -0.0163958 0.999779 uwb: 0.50151822 841.186 1024.59 -imu_odom_: 1691062967.649314977 0.565032 -0.186748 9.89284 -0.0575243 -0.00639159 -0.0138484 0.02 -0.05 pose: 0.0 0.0248647 0.0798183 0 -0.00227347 -0.0129499 -0.0163958 0.999779 uwb: 0.0 841.186 1024.59 -imu_odom_: 1691062967.665307015 0.636858 -0.203507 9.92397 -0.056459 -0.00745685 -0.00639159 0.01 -0.05 pose: 0.0 0.0248647 0.0798183 0 -0.00227347 -0.0129499 -0.0163958 0.999779 uwb: 0.0 841.186 1024.59 -imu_odom_: 1691062967.681307802 0.620098 -0.263362 9.87848 -0.056459 -0.00852212 0.00106526 0.01 -0.05 pose: 0.32992601 0.0248647 0.0798183 0 -0.00259657 -0.0111651 -0.0174033 0.999783 uwb: 0.49856672 840.925 1024.77 -imu_odom_: 1691062967.697368961 0.701501 -0.277727 9.87369 -0.0553937 -0.00532632 0.0117179 0 -0.02 pose: 0.40985558 0.0248647 0.0798183 0 -0.00207867 -0.0112118 -0.018324 0.999767 uwb: 0.0 840.925 1024.77 -imu_odom_: 1691062967.713355166 0.677559 -0.260968 9.84496 -0.056459 -0.00213053 0.0287621 0 -0.02 pose: 0.0 0.0248647 0.0798183 0 -0.00207867 -0.0112118 -0.018324 0.999767 uwb: 0.0 840.925 1024.77 -imu_odom_: 1691062967.729414867 0.593762 -0.229843 9.93115 -0.0543285 0.00213053 0.0394148 0 -0.02 pose: 0.0 0.0248647 0.0798183 0 -0.00207867 -0.0112118 -0.018324 0.999767 uwb: 0.0 840.925 1024.77 -imu_odom_: 1691062967.743357190 0.42138 -0.225055 9.84735 -0.0543285 0.00532632 0.0458064 0 0 pose: 0.7018263 0.0248647 0.0798183 0 -0.00231431 -0.0118775 -0.0184204 0.999757 uwb: 0.50007164 840.882 1024.49 -imu_odom_: 1691062967.758296955 0.387861 -0.229843 9.90481 -0.0543285 -0.00106526 0.0394148 0 0 pose: 0.0 0.0248647 0.0798183 0 -0.00231431 -0.0118775 -0.0184204 0.999757 uwb: 0.0 840.882 1024.49 -imu_odom_: 1691062967.772289733 0.349553 -0.203507 9.90242 -0.0553937 -0.00852212 0.036219 0 0 pose: 0.0 0.0248647 0.0798183 0 -0.00231431 -0.0118775 -0.0184204 0.999757 uwb: 0.0 840.882 1024.49 -imu_odom_: 1691062967.786304093 0.466869 -0.220267 9.87848 -0.0553937 -0.0106526 0.0383495 0 0 pose: 0.47041668 0.0348069 0.0787444 0 -0.00201257 -0.0121402 -0.0186215 0.999751 uwb: 0.49962541 840.625 1024.39 -imu_odom_: 1691062967.800295121 0.548272 -0.294487 9.84735 -0.0553937 -0.00639159 0.04048 0 0 pose: 0.0 0.0348069 0.0787444 0 -0.00201257 -0.0121402 -0.0186215 0.999751 uwb: 0.0 840.625 1024.39 -imu_odom_: 1691062967.814349146 0.52433 -0.248997 9.92157 -0.0553937 -0.00106526 0.04048 0 0 pose: 0.0 0.0348069 0.0787444 0 -0.00201257 -0.0121402 -0.0186215 0.999751 uwb: 0.0 840.625 1024.39 -imu_odom_: 1691062967.828348340 0.459687 -0.203507 9.88566 -0.0553937 0 0.04048 0 0 pose: 0.42988901 0.0348069 0.0787444 0 -0.00136595 -0.00788108 -0.0186246 0.999795 uwb: 0.0 840.625 1024.39 -imu_odom_: 1691062967.843334478 0.430956 -0.189142 9.89524 -0.056459 -0.00426106 0.0415453 0 0 pose: 0.0 0.0348069 0.0787444 0 -0.00136595 -0.00788108 -0.0186246 0.999795 uwb: 0.50012414 840.656 1023.96 -imu_odom_: 1691062967.857272134 0.442927 -0.203507 9.91439 -0.056459 -0.00745685 0.0383495 0 0 pose: 0.0 0.0348069 0.0787444 0 -0.00136595 -0.00788108 -0.0186246 0.999795 uwb: 0.0 840.656 1023.96 -imu_odom_: 1691062967.871272495 0.483629 -0.248997 9.89045 -0.0553937 -0.00639159 0.0372843 0 0 pose: 0.41975126 0.0348069 0.0787444 0 -0.00146809 -0.00556411 -0.0186087 0.99981 uwb: 0.0 840.656 1023.96 -imu_odom_: 1691062967.886331253 0.536301 -0.244209 9.90242 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.0348069 0.0787444 0 -0.00146809 -0.00556411 -0.0186087 0.99981 uwb: 0.49993748 840.609 1023.96 -imu_odom_: 1691062967.901300184 0.507571 -0.260968 9.88087 -0.0553937 -0.00213053 0.04048 0 0 pose: 0.0 0.0348069 0.0787444 0 -0.00146809 -0.00556411 -0.0186087 0.99981 uwb: 0.0 840.609 1023.96 -imu_odom_: 1691062967.915430329 0.464475 -0.189142 9.88566 -0.052198 -0.00213053 0.04048 0 0 pose: 0.42945737 0.0348069 0.0787444 0 -0.000101103-0.00276383 -0.0186113 0.999823 uwb: 0.0 840.609 1023.96 -imu_odom_: 1691062967.930431049 0.442927 -0.220267 9.89284 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.0348069 0.0787444 0 -0.000101103-0.00276383 -0.0186113 0.999823 uwb: 0.50077743 840.756 1023.66 -imu_odom_: 1691062967.945311026 0.493206 -0.246603 9.88805 -0.0543285 -0.00639159 0.0383495 0 0 pose: 0.0 0.0348069 0.0787444 0 -0.000101103-0.00276383 -0.0186113 0.999823 uwb: 0.0 840.756 1023.66 -imu_odom_: 1691062967.967296469 0.505177 -0.265756 9.88087 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.44053131 0.0348069 0.0787444 0 -0.00195034 -0.00498644 -0.0186063 0.999813 uwb: 0.0 840.756 1023.66 -imu_odom_: 1691062967.982377101 0.201113 -0.294487 9.86172 -0.0639159 0.0245011 0.0191748 0 0 pose: 0.0 0.0348069 0.0787444 0 -0.00195034 -0.00498644 -0.0186063 0.999813 uwb: 0.0 840.756 1023.66 -imu_odom_: 1691062967.996294050 -0.574608 -0.189142 9.88566 -0.04048 0.0894822 -0.0266316 0.01 0.02 pose: 0.43984594 0.0348069 0.0787444 0 -0.00208144 -0.00474583 -0.0186133 0.999813 uwb: 0.0 840.756 1023.66 -imu_odom_: 1691062968.12442121 -1.45567 0.0215478 9.94791 -0.0458064 0.0479369 0.0213053 0.03 0.02 pose: 0.0 0.0348069 0.0787444 0 -0.00208144 -0.00474583 -0.0186133 0.999813 uwb: 0.0 840.756 1023.66 -imu_odom_: 1691062968.28424826 -0.509965 -0.665588 10.1203 -0.0639159 -0.0852212 0.0713727 0.04 0.05 pose: 0.0 0.0348069 0.0787444 0 -0.00208144 -0.00474583 -0.0186133 0.999813 uwb: 0.0 840.756 1023.66 -imu_odom_: 1691062968.45442014 0.229843 -0.42138 9.58638 -0.052198 -0.0575243 0.0585895 0.04 0.05 pose: 0.68011586 0.0348069 0.0787444 0 -0.00317396 0.000484957 -0.0192501 0.99981 uwb: 0.99819797 840.934 1024.2 -imu_odom_: 1691062968.62322417 0.641646 -0.138864 10.24 -0.056459 -0.0127832 0.0692422 0.06 0.02 pose: 0.0 0.0348069 0.0787444 0 -0.00317396 0.000484957 -0.0192501 0.99981 uwb: 0.0 840.934 1024.2 -imu_odom_: 1691062968.79477847 -0.0335188 -0.047884 9.5792 -0.0468716 0.0245011 0.0447411 0.06 0.02 pose: 0.0 0.0348069 0.0787444 0 -0.00317396 0.000484957 -0.0192501 0.99981 uwb: 0.50041288 840.986 1023.91 -imu_odom_: 1691062968.95353517 -0.071826 -0.215478 10.0293 -0.0596548 0.0223706 0.0298274 0.06 0.02 pose: 0.34001127 0.0348069 0.0787444 0 -0.00425209 0.00109209 -0.0188205 0.999813 uwb: 0.0 840.986 1023.91 -imu_odom_: 1691062968.111480005 -0.1652 -0.35913 9.79947 -0.056459 -0.0117179 0.0511327 0.11 0.05 pose: 0.42025582 0.0348069 0.0787444 0 -0.00265732 0.00379827 -0.0187134 0.999814 uwb: 0.0 840.986 1023.91 -imu_odom_: 1691062968.128478527 0.332794 -0.47884 10.0317 -0.036219 -0.015979 0.052198 0.11 0.05 pose: 0.6962557 0.0348069 0.0787444 0 -0.00277519 0.00445935 -0.0186717 0.999812 uwb: 0.0 840.986 1023.91 -imu_odom_: 1691062968.145421344 0.155623 -0.225055 9.77313 -0.0500674 -0.0127832 0.0596548 0.11 0.05 pose: 0.0 0.0348069 0.0787444 0 -0.00277519 0.00445935 -0.0186717 0.999812 uwb: 0.49940084 841.028 1024.18 -imu_odom_: 1691062968.161421548 0.289698 -0.208296 9.92875 -0.0607201 0.00639159 0.0681769 0.1 0 pose: 0.43105270 0.0447371 0.0775655 0 -0.00361317 0.00640452 -0.0183389 0.999805 uwb: 0.0 841.028 1024.18 -imu_odom_: 1691062968.177365173 0.229843 -0.241814 9.80665 -0.052198 -0.0149137 0.0479369 0.13 0.02 pose: 0.0 0.0447371 0.0775655 0 -0.00361317 0.00640452 -0.0183389 0.999805 uwb: 0.0 841.028 1024.18 -imu_odom_: 1691062968.194415900 0.25618 -0.059855 9.83299 -0.0447411 -0.0287621 0.0319579 0.13 0.02 pose: 0.0 0.0447371 0.0775655 0 -0.00361317 0.00640452 -0.0183389 0.999805 uwb: 0.49978583 840.936 1024.06 -imu_odom_: 1691062968.211291929 0.244209 0.0550666 9.78031 -0.0479369 0.0106526 0.0596548 0.14 0 pose: 0.22970637 0.0447371 0.0775655 0 -0.00185622 0.00687411 -0.0180692 0.999811 uwb: 0.0 840.936 1024.06 -imu_odom_: 1691062968.228422860 0.37589 -0.627281 10.1993 -0.0479369 0.0106526 0.0607201 0.14 0 pose: 0.0 0.0447371 0.0775655 0 -0.00185622 0.00687411 -0.0180692 0.999811 uwb: 0.0 840.936 1024.06 -imu_odom_: 1691062968.244543224 0.603339 -0.318429 9.79468 -0.0458064 -0.0351537 0.0287621 0.14 0 pose: 0.33028474 0.0447371 0.0775655 0 0.000938556 0.00750632 -0.0180052 0.999809 uwb: 0.50129074 840.779 1023.65 -imu_odom_: 1691062968.262411737 1.10133 -0.222661 9.79707 -0.0575243 -0.0117179 0.0447411 0.1 0.02 pose: 0.43122769 0.054669 0.0764002 0 -6.90326e-050.0055281 -0.0178213 0.999826 uwb: 0.0 840.779 1023.65 -imu_odom_: 1691062968.278378985 1.39103 -0.148441 10.4244 -0.0607201 -0.0106526 0.0958738 0.1 0.02 pose: 0.7897296 0.054669 0.0764002 0 -9.66913e-050.00470908 -0.0178011 0.99983 uwb: 0.0 840.779 1023.65 -imu_odom_: 1691062968.294534056 1.43173 -0.304064 10.1155 -0.0511327 -0.0447411 0.127832 0.1 0.02 pose: 0.0 0.054669 0.0764002 0 -9.66913e-050.00470908 -0.0178011 0.99983 uwb: 0.49877088 840.963 1023.91 -imu_odom_: 1691062968.311468706 1.13485 -0.361524 9.23444 -0.0532632 -0.0127832 0.137419 0.07 0 pose: 0.42093536 0.054669 0.0764002 0 -0.0002251929.38464e-05 -0.0166139 0.999862 uwb: 0.0 840.963 1023.91 -imu_odom_: 1691062968.328392566 1.23062 -0.0957681 10.2927 -0.0319579 0.02024 0.0948085 0.09 -0.02 pose: 0.0 0.054669 0.0764002 0 -0.0002251929.38464e-05 -0.0166139 0.999862 uwb: 0.0 840.963 1023.91 -imu_odom_: 1691062968.344379354 0.845153 0.117316 10.1179 -0.0575243 0.00852212 0.0553937 0.09 -0.02 pose: 0.0 0.054669 0.0764002 0 -0.0002251929.38464e-05 -0.0166139 0.999862 uwb: 0.50003665 840.494 1023.84 -imu_odom_: 1691062968.361421040 0.816423 -0.110133 10.1873 -0.0575243 -0.00639159 0.0266316 0.07 0 pose: 0.23981203 0.054669 0.0764002 0 -0.000373427-0.00224758 -0.0155918 0.999876 uwb: 0.0 840.494 1023.84 -imu_odom_: 1691062968.377406662 0.696713 -0.3304 9.59117 -0.0639159 -0.02024 0 0.07 0 pose: 0.0 0.054669 0.0764002 0 -0.000373427-0.00224758 -0.0155918 0.999876 uwb: 0.0 840.494 1023.84 -imu_odom_: 1691062968.393283790 1.01035 -0.189142 9.93833 -0.0532632 -0.00426106 0.0106526 0.07 0 pose: 0.32820528 0.0646063 0.0752827 0 0.00106391 -0.00490553 -0.0152418 0.999871 uwb: 0.50110991 840.105 1023.33 -imu_odom_: 1691062968.410297186 0.766145 -0.301669 9.88087 -0.0596548 0.0149137 0.0255663 0.04 0.02 pose: 0.41948003 0.0646063 0.0752827 0 0.000279226 -0.00885813 -0.0158456 0.999835 uwb: 0.0 840.105 1023.33 -imu_odom_: 1691062968.427426659 0.629675 -0.146046 9.98861 -0.052198 0.00319579 0.00958738 0.04 0.02 pose: 0.8165905 0.0646063 0.0752827 0 -0.000114155-0.00950441 -0.0158993 0.999828 uwb: 0.0 840.105 1023.33 -imu_odom_: 1691062968.453277922 0.691924 -0.124498 9.91439 -0.056459 -0.00213053 0.00213053 0.03 0.02 pose: 0.25976964 0.0646063 0.0752827 0 0.00111126 -0.0107012 -0.0162308 0.99981 uwb: 0.50020289 839.918 1022.36 -imu_odom_: 1691062968.470265652 0.292093 -0.318429 9.95748 -0.0575243 0.0543285 0.0287621 0.04 0.05 pose: 0.0 0.0646063 0.0752827 0 0.00111126 -0.0107012 -0.0162308 0.99981 uwb: 0.0 839.918 1022.36 -imu_odom_: 1691062968.496252240 -1.50116 -0.308852 10.2424 -0.04048 0.0575243 0.0639159 0.05 0.02 pose: 0.42838993 0.0646063 0.0752827 0 0.00202955 -0.0106419 -0.0168162 0.9998 uwb: 0.49975374 839.935 1021.78 -imu_odom_: 1691062968.523321433 -0.237026 -0.0263362 9.77313 -0.0543285 -0.105461 0.0490022 0.09 0.02 pose: 0.0 0.0646063 0.0752827 0 0.00202955 -0.0106419 -0.0168162 0.9998 uwb: 0.0 839.935 1021.78 -imu_odom_: 1691062968.539277015 0.725443 -0.246603 9.85453 -0.052198 -0.0628506 0.0532632 0.09 0.02 pose: 0.0 0.0646063 0.0752827 0 0.00202955 -0.0106419 -0.0168162 0.9998 uwb: 0.0 839.935 1021.78 -imu_odom_: 1691062968.566330166 0.538695 -0.469264 9.96946 -0.0575243 0.0479369 0.0607201 0.12 0.02 pose: 0.69011363 0.0745417 0.0741474 0 0.00202234 -0.00790029 -0.0162698 0.999834 uwb: 0.0 839.935 1021.78 -imu_odom_: 1691062968.592314713 -0.464475 -0.0885855 10.2927 -0.0553937 -0.00532632 0.036219 0.12 0.02 pose: 0.8058869 0.0745417 0.0741474 0 0.001213 -0.00762436 -0.0161781 0.999839 uwb: 0.100029203 839.865 1021.08 -imu_odom_: 1691062968.619316534 0.442927 -0.45011 9.38527 -0.0681769 -0.0372843 0.0500674 0.15 0.02 pose: 0.44978829 0.0745417 0.0741474 0 -0.000302035-0.00441974 -0.0160068 0.999862 uwb: 0.0 839.865 1021.08 -imu_odom_: 1691062968.645449531 0.694318 -0.150835 9.84256 -0.0511327 0.02024 0.0511327 0.15 0.02 pose: 0.0 0.0745417 0.0741474 0 -0.000302035-0.00441974 -0.0160068 0.999862 uwb: 0.49839757 840.541 1021.28 -imu_odom_: 1691062968.672301444 -0.138864 -0.184354 9.81144 -0.0617853 0.0181095 0.0255663 0.17 0 pose: 0.35029776 0.0844782 0.0730226 0 -0.0027105 -0.00493243 -0.0158117 0.999859 uwb: 0.0 840.541 1021.28 -imu_odom_: 1691062968.688300190 0.0622492 0.220267 9.86172 -0.056459 0.00639159 0.0415453 0.17 0 pose: 0.0 0.0844782 0.0730226 0 -0.0027105 -0.00493243 -0.0158117 0.999859 uwb: 0.50060244 840.314 1021.73 -imu_odom_: 1691062968.715407297 0.773327 -0.459687 10.3525 -0.072438 0.0106526 0.0415453 0.13 0.02 pose: 0.52956911 0.0844782 0.0730226 0 -0.000942366-0.00274462 -0.0158964 0.999869 uwb: 0.0 840.314 1021.73 -imu_odom_: 1691062968.741240185 0.423774 -0.189142 9.75398 -0.0511327 0.0117179 0.0340885 0.13 -0.02 pose: 0.35105897 0.0944149 0.0718991 0 -0.00220251 -0.00413879 -0.0158608 0.999863 uwb: 0.49959042 840.139 1021.33 -imu_odom_: 1691062968.768225091 0.162806 -0.148441 9.69652 -0.0713727 -0.0127832 0.0703074 0.13 -0.02 pose: 0.7835466 0.0944149 0.0718991 0 -0.00159289 -0.00356225 -0.0158838 0.999866 uwb: 0.0 840.139 1021.33 -imu_odom_: 1691062968.794362170 0.457293 -0.323217 9.90721 -0.0639159 0.0191748 0.0351537 0.14 0 pose: 0.44982328 0.10149 0.0710993 0 0.000270737 0.000261185 -0.0155234 0.999879 uwb: 0.49989665 839.97 1020.22 -imu_odom_: 1691062968.810264089 0.21069 -0.222661 10.0676 -0.0703074 0.0479369 0.0319579 0.14 0 pose: 0.0 0.10149 0.0710993 0 0.000270737 0.000261185 -0.0155234 0.999879 uwb: 0.0 839.97 1020.22 -imu_odom_: 1691062968.836278967 0.517148 -0.586579 9.67736 -0.0745685 0.0426106 0.0575243 0.14 0 pose: 0.42038998 0.105468 0.0807154 0 -0.00199272 0.00137674 -0.0156398 0.999875 uwb: 0.50032247 839.953 1020.08 -imu_odom_: 1691062968.863248415 0.0502782 -0.220267 9.81144 -0.0511327 -0.02024 0.0479369 0.14 0 pose: 0.0 0.105468 0.0807154 0 -0.00199272 0.00137674 -0.0156398 0.999875 uwb: 0.0 839.953 1020.08 -imu_odom_: 1691062968.888263809 0.696713 -0.253785 10.5105 -0.0628506 0.00745685 0.0543285 0.15 0.02 pose: 0.52984326 0.115406 0.0795983 0 -0.00389038 0.00341352 -0.0152859 0.99987 uwb: 0.49954667 840.013 1019.79 -imu_odom_: 1691062968.915243173 0.581791 0.0311246 10.7284 -0.0447411 0.0127832 0.0255663 0.18 -0.02 pose: 0.0 0.115406 0.0795983 0 -0.00389038 0.00341352 -0.0152859 0.99987 uwb: 0.0 840.013 1019.79 -imu_odom_: 1691062968.932228279 0.399832 -0.294487 9.3733 -0.0671117 0 0.0671117 0.18 -0.02 pose: 0.32075946 0.115406 0.0795983 0 -0.00309147 0.000749395 -0.0151612 0.99988 uwb: 0.49986749 839.948 1019.65 -imu_odom_: 1691062968.959427256 0.483629 -0.112527 9.96946 -0.0458064 -0.0596548 0.0383495 0.23 0 pose: 0.36903918 0.125344 0.0784894 0 -0.00308389 0.000106415 -0.0150695 0.999882 uwb: 0.0 839.948 1019.65 -imu_odom_: 1691062968.984368279 0.56982 -0.059855 9.31823 -0.0607201 0.0671117 0.0447411 0.23 0 pose: 0.0 0.125344 0.0784894 0 -0.00308389 0.000106415 -0.0150695 0.999882 uwb: 0.50187987 839.888 1018.95 -imu_odom_: 1691062969.11244691 -0.823605 -0.248997 9.64863 -0.0479369 -0.00639159 0.0276969 0.2 0 pose: 0.7064344 0.125344 0.0784894 0 -0.00242586 -0.000416256-0.0150742 0.999883 uwb: 0.0 839.888 1018.95 -imu_odom_: 1691062969.37249361 0.232238 -0.146046 9.9503 -0.0617853 -0.0649811 0.0607201 0.2 0 pose: 0.0 0.125344 0.0784894 0 -0.00242586 -0.000416256-0.0150742 0.999883 uwb: 0.49955834 839.925 1018.24 -imu_odom_: 1691062969.64227851 0.497994 -0.0742203 9.97424 -0.0479369 -0.00958738 0.0255663 0.22 0 pose: 0.52078461 0.135283 0.0773822 0 0.00132581 -0.00191077 -0.0150707 0.999884 uwb: 0.0 839.925 1018.24 -imu_odom_: 1691062969.90302226 0.409408 -0.0742203 9.77792 -0.0649811 0.0340885 0.0617853 0.17 0 pose: 0.52867959 0.145221 0.076275 0 0.00236152 0.00120972 -0.0149679 0.999884 uwb: 0.49980624 839.974 1017.38 -imu_odom_: 1691062969.107273041 0.0047884 -0.560243 10.0556 -0.0458064 0.0426106 0.0340885 0.17 0 pose: 0.0 0.145221 0.076275 0 0.00236152 0.00120972 -0.0149679 0.999884 uwb: 0.0 839.974 1017.38 -imu_odom_: 1691062969.124275646 0.574608 0.035913 9.94551 -0.0138484 -0.0415453 0.0276969 0.17 0 pose: 0.0 0.145221 0.076275 0 0.00236152 0.00120972 -0.0149679 0.999884 uwb: 0.0 839.974 1017.38 -imu_odom_: 1691062969.141278543 0.579397 -0.502782 9.7875 -0.0617853 0.0149137 0.0585895 0.17 0 pose: 0.71042996 0.15516 0.0751691 0 0.00559071 0.000778642 -0.0149084 0.999873 uwb: 0.49975375 840.312 1016.5 -imu_odom_: 1691062969.157272039 0.428562 -0.366313 9.98143 -0.0436758 -0.0266316 0.0298274 0.17 0 pose: 0.0 0.15516 0.0751691 0 0.00559071 0.000778642 -0.0149084 0.999873 uwb: 0.0 840.312 1016.5 -imu_odom_: 1691062969.173269911 0.311246 0.0023942 9.67976 -0.0426106 -0.0383495 0.0447411 0.23 -0.02 pose: 0.0 0.15516 0.0751691 0 0.00559071 0.000778642 -0.0149084 0.999873 uwb: 0.0 840.312 1016.5 -imu_odom_: 1691062969.189215285 1.07978 -0.349553 10.094 -0.0671117 -0.0245011 0.072438 0.23 -0.02 pose: 0.41990000 0.165099 0.0740653 0 0.00317278 -0.000856229-0.0148693 0.999884 uwb: 0.49949710 840.486 1015.36 -imu_odom_: 1691062969.206325509 -0.0933739 -0.253785 9.44513 -0.0351537 0.0276969 0.0319579 0.23 -0.02 pose: 0.0 0.165099 0.0740653 0 0.00317278 -0.000856229-0.0148693 0.999884 uwb: 0.0 840.486 1015.36 -imu_odom_: 1691062969.222326588 0.232238 0.184354 10.3525 -0.0500674 -0.0276969 0.0447411 0.17 0 pose: 0.7007181 0.165099 0.0740653 0 0.00379895 -0.000587899-0.0148533 0.999882 uwb: 0.0 840.486 1015.36 -imu_odom_: 1691062969.239209909 0.378284 -0.397437 9.84735 -0.072438 -0.00852212 0.0628506 0.17 0 pose: 0.0 0.165099 0.0740653 0 0.00379895 -0.000587899-0.0148533 0.999882 uwb: 0.49904503 840.41 1014.8 -imu_odom_: 1691062969.256265886 0.37589 -0.260968 10.058 -0.0649811 -0.0117179 0.0298274 0.17 0 pose: 0.0 0.165099 0.0740653 0 0.00379895 -0.000587899-0.0148533 0.999882 uwb: 0.0 840.41 1014.8 -imu_odom_: 1691062969.270221916 0.430956 0.0023942 9.3733 -0.0596548 -0.0255663 0.0394148 0.17 0 pose: 0.50000165 0.175038 0.0729624 0 0.00454648 0.000308509 -0.0146155 0.999883 uwb: 0.0 840.41 1014.8 -imu_odom_: 1691062969.285325881 0.68953 -0.6608 9.91199 -0.0788296 0.00958738 0.0777643 0.16 0 pose: 0.0 0.175038 0.0729624 0 0.00454648 0.000308509 -0.0146155 0.999883 uwb: 0.50000165 840.454 1014.24 -imu_odom_: 1691062969.301265130 0.141258 -0.385466 9.76116 -0.0628506 -0.00958738 0.052198 0.16 0 pose: 0.0 0.175038 0.0729624 0 0.00454648 0.000308509 -0.0146155 0.999883 uwb: 0.0 840.454 1014.24 -imu_odom_: 1691062969.318265402 0.756568 0.0622492 10.2592 -0.0500674 -0.02024 0.036219 0.17 0 pose: 0.61992808 0.184977 0.0718644 0 0.00240256 6.44207e-05 -0.0143702 0.999894 uwb: 0.0 840.454 1014.24 -imu_odom_: 1691062969.334220109 0.723049 -0.387861 9.61511 -0.0820254 0.0628506 0.052198 0.17 0 pose: 0.0 0.184977 0.0718644 0 0.00240256 6.44207e-05 -0.0143702 0.999894 uwb: 0.50109243 840.216 1013.14 -imu_odom_: 1691062969.351343749 0 -0.361524 9.67018 -0.0660464 -0.00745685 0.0394148 0.17 0 pose: 0.33000185 0.194918 0.0707738 0 0.000987358 0.000211561 -0.0141101 0.9999 uwb: 0.0 840.216 1013.14 -imu_odom_: 1691062969.368217153 0.663194 0.011971 10.1754 -0.0426106 -0.0820254 0.0245011 0.23 0 pose: 0.42071371 0.194918 0.0707738 0 -0.0002260530.000208138 -0.014022 0.999902 uwb: 0.0 840.216 1013.14 -imu_odom_: 1691062969.384287937 1.17555 -0.399832 9.0022 -0.0575243 -0.0138484 0.0585895 0.23 0 pose: 0.7008638 0.194918 0.0707738 0 0.000269698 -0.000599751-0.0140748 0.999901 uwb: 0.50080368 840.699 1011.98 -imu_odom_: 1691062969.401259919 0.773327 -0.416591 10.0221 -0.0543285 0.00639159 0.103331 0.23 0 pose: 0.0 0.194918 0.0707738 0 0.000269698 -0.000599751-0.0140748 0.999901 uwb: 0.0 840.699 1011.98 -imu_odom_: 1691062969.417292788 1.64003 -0.287304 10.0509 -0.0426106 -0.0532632 0.0681769 0.13 0 pose: 0.42907532 0.204858 0.0696865 0 -0.000482829-0.00464643 -0.013449 0.999899 uwb: 0.0 840.699 1011.98 -imu_odom_: 1691062969.434356056 1.50835 -0.0814029 10.1442 -0.0490022 -0.0213053 0.0149137 0.17 -0.05 pose: 0.0 0.204858 0.0696865 0 -0.000482829-0.00464643 -0.013449 0.999899 uwb: 0.49883797 840.993 1012.38 -imu_odom_: 1691062969.452405685 1.67355 -0.253785 10.0844 -0.0553937 0.02024 -0.0117179 0.17 -0.05 pose: 0.0 0.204858 0.0696865 0 -0.000482829-0.00464643 -0.013449 0.999899 uwb: 0.0 840.993 1012.38 -imu_odom_: 1691062969.466245055 1.06781 -0.282516 9.94791 -0.072438 0.0117179 0.015979 0.1 0 pose: 0.23156126 0.204858 0.0696865 0 -0.000382706-0.00740981 -0.0133079 0.999884 uwb: 0.0 840.993 1012.38 -imu_odom_: 1691062969.482359586 1.03669 -0.229843 10.003 -0.0617853 0.0330232 0.0436758 0.1 0 pose: 0.0 0.204858 0.0696865 0 -0.000382706-0.00740981 -0.0133079 0.999884 uwb: 0.50133449 840.771 1011.97 -imu_odom_: 1691062969.498229715 0.794875 -0.301669 9.69652 -0.0479369 -0.00426106 0.076699 0.1 0 pose: 0.0 0.204858 0.0696865 0 -0.000382706-0.00740981 -0.0133079 0.999884 uwb: 0.0 840.771 1011.97 -imu_odom_: 1691062969.514379536 0.438139 -0.323217 9.82102 -0.0585895 0.0447411 0.0798948 0.08 0 pose: 0.73813670 0.214801 0.0686144 0 -0.0014074 -0.0140336 -0.0137205 0.999806 uwb: 0.0 840.771 1011.97 -imu_odom_: 1691062969.533369152 0.21069 -0.150835 10.2783 -0.0447411 0.0191748 0.00958738 0.08 0 pose: 0.0 0.214801 0.0686144 0 -0.0014074 -0.0140336 -0.0137205 0.999806 uwb: 0.50016789 840.634 1010.73 -imu_odom_: 1691062969.550214557 0.471658 -0.0837971 9.96467 -0.0607201 -0.0468716 -0.00319579 0.08 0 pose: 0.0 0.214801 0.0686144 0 -0.0014074 -0.0140336 -0.0137205 0.999806 uwb: 0.0 840.634 1010.73 -imu_odom_: 1691062969.566336963 0.679953 -0.172383 9.71328 -0.0639159 -0.00639159 0.0170442 0.06 0.02 pose: 0.7046553 0.214801 0.0686144 0 -0.00164648 -0.0131942 -0.0135749 0.999819 uwb: 0.0 840.634 1010.73 -imu_odom_: 1691062969.583350359 0.869095 -0.471658 10.1849 -0.0649811 -0.0223706 0.04048 0.09 0.02 pose: 0.0 0.214801 0.0686144 0 -0.00164648 -0.0131942 -0.0135749 0.999819 uwb: 0.49910337 840.797 1010.3 -imu_odom_: 1691062969.600351798 0.948104 -0.325611 9.85932 -0.0479369 -0.00213053 0.0383495 0.09 0.02 pose: 0.68024128 0.225827 0.0774784 0 -0.000135682-0.0113742 -0.0142242 0.999834 uwb: 0.0 840.797 1010.3 -imu_odom_: 1691062969.615328020 0.770933 -0.208296 9.91199 -0.0532632 0.0106526 0.0458064 0.06 0 pose: 0.0 0.225827 0.0774784 0 -0.000135682-0.0113742 -0.0142242 0.999834 uwb: 0.0 840.797 1010.3 -imu_odom_: 1691062969.631322099 0.502782 -0.1652 9.69891 -0.0543285 0.0138484 0.0426106 0.06 0 pose: 0.0 0.225827 0.0774784 0 -0.000135682-0.0113742 -0.0142242 0.999834 uwb: 0.49747013 840.618 1008.91 -imu_odom_: 1691062969.646323695 0.562637 -0.248997 10.1299 -0.0490022 0.0170442 0.0138484 0.06 0 pose: 0.33922673 0.225827 0.0774784 0 -0.00120221 -0.0143451 -0.0141982 0.999796 uwb: 0.0 840.618 1008.91 -imu_odom_: 1691062969.662264986 0.474052 -0.131681 9.94073 -0.0617853 -0.00426106 0.0447411 0.04 0 pose: 0.39100626 0.225827 0.0774784 0 -0.000745869-0.0117977 -0.0143467 0.999827 uwb: 0.0 840.618 1008.91 -imu_odom_: 1691062969.679315713 0.531513 -0.442927 9.78989 -0.0639159 0.0138484 0.0873517 0.04 0 pose: 0.7118590 0.225827 0.0774784 0 -0.000400472-0.0111881 -0.0143326 0.999835 uwb: 0.50201403 840.951 1007.5 -imu_odom_: 1691062969.696312485 0.562637 -0.371101 9.93115 -0.052198 -0.00319579 0.0862864 0.04 0 pose: 0.0 0.225827 0.0774784 0 -0.000400472-0.0111881 -0.0143326 0.999835 uwb: 0.0 840.951 1007.5 -imu_odom_: 1691062969.711191879 0.4956 -0.0622492 9.81862 -0.0500674 0.00106526 0.0958738 0.04 0.08 pose: 0.42870200 0.225827 0.0774784 0 -0.00328345 -0.00928862 -0.013478 0.999861 uwb: 0.0 840.951 1007.5 -imu_odom_: 1691062969.727186542 0.591368 -0.232238 9.94312 -0.0617853 -0.00426106 0.110787 0.03 0.08 pose: 0.0 0.225827 0.0774784 0 -0.00328345 -0.00928862 -0.013478 0.999861 uwb: 0.0 840.951 1007.5 -imu_odom_: 1691062969.744246019 0.677559 -0.320823 9.93354 -0.0468716 -0.00639159 0.0990696 0.03 0.08 pose: 0.0 0.225827 0.0774784 0 -0.00328345 -0.00928862 -0.013478 0.999861 uwb: 0.49921711 840.903 1007.51 -imu_odom_: 1691062969.761301121 0.612916 -0.301669 9.91918 -0.052198 0.00745685 0.0980043 0.03 0.05 pose: 0.21885116 0.235767 0.0763843 0 -0.00140153 -0.00919879 -0.0128261 0.999874 uwb: 0.0 840.903 1007.51 -imu_odom_: 1691062969.776178182 0.526724 -0.189142 9.89763 -0.0543285 0.00213053 0.113983 0.03 0.05 pose: 0.0 0.235767 0.0763843 0 -0.00140153 -0.00919879 -0.0128261 0.999874 uwb: 0.0 840.903 1007.51 -imu_odom_: 1691062969.792229134 0.497994 -0.265756 9.8689 -0.0596548 -0.00426106 0.122505 0.03 0.05 pose: 0.0 0.235767 0.0763843 0 -0.00140153 -0.00919879 -0.0128261 0.999874 uwb: 0.49986166 841.094 1007.5 -imu_odom_: 1691062969.808177716 0.629675 -0.292093 9.9527 -0.0575243 -0.015979 0.117179 0.02 0.08 pose: 0.74031533 0.235767 0.0763843 0 -0.00265646 -0.00801527 -0.0102613 0.999912 uwb: 0.0 841.094 1007.5 -imu_odom_: 1691062969.825318855 0.663194 -0.220267 9.83777 -0.0490022 -0.00532632 0.107592 0.02 0.08 pose: 0.7068135 0.235767 0.0763843 0 -0.00293209 -0.00871163 -0.00998656 0.999908 uwb: 0.0 841.094 1007.5 -imu_odom_: 1691062969.841246439 0.565032 -0.248997 9.94551 -0.0532632 0.00319579 0.117179 0.02 0.08 pose: 0.0 0.235767 0.0763843 0 -0.00293209 -0.00871163 -0.00998656 0.999908 uwb: 0.50160281 841.087 1006.8 -imu_odom_: 1691062969.857330346 0.529119 -0.320823 9.91678 -0.056459 0.00213053 0.126766 0.02 0.08 pose: 0.41949170 0.235767 0.0763843 0 -0.00197111 -0.00932207 -0.00845335 0.999919 uwb: 0.0 841.087 1006.8 -imu_odom_: 1691062969.874391865 0.586579 -0.28491 9.89524 -0.0532632 -0.00426106 0.12144 0.01 0.05 pose: 0.0 0.235767 0.0763843 0 -0.00197111 -0.00932207 -0.00845335 0.999919 uwb: 0.0 841.087 1006.8 -imu_odom_: 1691062969.891211314 0.536301 -0.158017 9.89524 -0.0543285 -0.00532632 0.122505 0.01 0.05 pose: 0.0 0.235767 0.0763843 0 -0.00197111 -0.00932207 -0.00845335 0.999919 uwb: 0.49824592 841.201 1006.1 -imu_odom_: 1691062969.909188030 0.653617 -0.21069 9.90481 -0.0607201 -0.00319579 0.123571 0 0.05 pose: 0.24099030 0.235767 0.0763842 0 -0.0035115 -0.0089771 -0.00741073 0.999926 uwb: 0.0 841.201 1006.1 -imu_odom_: 1691062969.924299285 0.584185 -0.351948 9.8689 -0.056459 0.00426106 0.109722 0 0.05 pose: 0.0 0.235767 0.0763842 0 -0.0035115 -0.0089771 -0.00741073 0.999926 uwb: 0.0 841.201 1006.1 -imu_odom_: 1691062969.941304224 0.416591 -0.225055 9.92636 -0.0532632 0.00852212 0.0990696 0 0.05 pose: 0.33869301 0.235767 0.0763842 0 -0.00188414 -0.00979866 -0.00602503 0.999932 uwb: 0.49996957 841.181 1005.55 -imu_odom_: 1691062969.957189226 0.392649 -0.205901 9.90721 -0.056459 -0.00639159 0.0948085 0 0.02 pose: 0.42089454 0.235767 0.0763842 0 -0.00243222 -0.00844305 -0.00456136 0.999951 uwb: 0.0 841.181 1005.55 -imu_odom_: 1691062969.974187748 0.493206 -0.215478 9.84496 -0.0543285 -0.00852212 0.0692422 0 0.02 pose: 0.6882645 0.235767 0.0763842 0 -0.00222726 -0.00779432 -0.00437153 0.999958 uwb: 0.0 841.181 1005.55 -imu_odom_: 1691062969.989165137 0.526724 -0.169988 9.87129 -0.052198 -0.00106526 0.0479369 0 0.02 pose: 0.0 0.235767 0.0763842 0 -0.00222726 -0.00779432 -0.00437153 0.999958 uwb: 0.49986457 841.44 1004.71 -imu_odom_: 1691062970.4283684 0.476446 -0.248997 9.9096 -0.0585895 -0.00319579 0.0383495 0 0 pose: 0.40978268 0.235767 0.0763842 0 0.000612011 -0.00595834 -0.00382181 0.999975 uwb: 0.0 841.44 1004.71 -imu_odom_: 1691062970.19222574 0.438139 -0.270545 9.84735 -0.0575243 0.00213053 0.0319579 0 0 pose: 0.0 0.235767 0.0763842 0 0.000612011 -0.00595834 -0.00382181 0.999975 uwb: 0.0 841.44 1004.71 -imu_odom_: 1691062970.33288848 0.318429 -0.296881 9.87848 -0.0543285 0 0.036219 0 0 pose: 0.0 0.235767 0.0763842 0 0.000612011 -0.00595834 -0.00382181 0.999975 uwb: 0.49940377 841.156 1003.88 -imu_odom_: 1691062970.48149577 0.347159 -0.282516 9.90721 -0.0553937 -0.00958738 0.0447411 0 0 pose: 0.21012208 0.235767 0.0763842 0 -0.000879092-0.00442998 -0.00384584 0.999982 uwb: 0.0 841.156 1003.88 -imu_odom_: 1691062970.63306330 0.426168 -0.234632 9.88805 -0.0532632 -0.00852212 0.0415453 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000879092-0.00442998 -0.00384584 0.999982 uwb: 0.0 841.156 1003.88 -imu_odom_: 1691062970.77330315 0.462081 -0.196325 9.86411 -0.0532632 -0.00426106 0.0372843 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000879092-0.00442998 -0.00384584 0.999982 uwb: 0.0 841.156 1003.88 -imu_odom_: 1691062970.92258414 0.416591 -0.232238 9.87608 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.29105784 0.235767 0.0763842 0 -0.00205839 -0.00175884 -0.00388043 0.999989 uwb: 0.49971292 841.197 1003.6 -imu_odom_: 1691062970.107307257 0.361524 -0.270545 9.86411 -0.0553937 -0.00106526 0.036219 0 0 pose: 0.43930639 0.235767 0.0763842 0 -0.000152698-0.00176474 -0.00386031 0.999991 uwb: 0.0 841.197 1003.6 -imu_odom_: 1691062970.122242065 0.351948 -0.296881 9.87848 -0.056459 -0.00745685 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000152698-0.00176474 -0.00386031 0.999991 uwb: 0.0 841.197 1003.6 -imu_odom_: 1691062970.137231702 0.40462 -0.28491 9.88326 -0.0553937 -0.00745685 0.0415453 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000152698-0.00176474 -0.00386031 0.999991 uwb: 0.50106035 840.836 1003.47 -imu_odom_: 1691062970.151193858 0.457293 -0.25618 9.90002 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.44977663 0.235767 0.0763842 0 -0.00300464 0.000729253 -0.00387145 0.999988 uwb: 0.0 840.836 1003.47 -imu_odom_: 1691062970.166205077 0.423774 -0.234632 9.92875 -0.0543285 -0.00106526 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00300464 0.000729253 -0.00387145 0.999988 uwb: 0.0 840.836 1003.47 -imu_odom_: 1691062970.180171607 0.366313 -0.246603 9.85453 -0.056459 -0.00213053 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00300464 0.000729253 -0.00387145 0.999988 uwb: 0.50259442 840.538 1002.92 -imu_odom_: 1691062970.195431021 0.354342 -0.277727 9.90721 -0.0532632 -0.00532632 0.0394148 0 0 pose: 0.44147044 0.235767 0.0763842 0 -0.00145171 -0.000449704-0.00387624 0.999991 uwb: 0.0 840.538 1002.92 -imu_odom_: 1691062970.210377786 0.411803 -0.227449 9.86172 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00145171 -0.000449704-0.00387624 0.999991 uwb: 0.0 840.538 1002.92 -imu_odom_: 1691062970.224195866 0.402226 -0.244209 9.89045 -0.056459 -0.00958738 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00145171 -0.000449704-0.00387624 0.999991 uwb: 0.0 840.538 1002.92 -imu_odom_: 1691062970.239215544 0.447716 -0.258574 9.87129 -0.0553937 -0.00213053 0.0383495 0 0 pose: 0.44040591 0.235767 0.0763842 0 -0.00155756 -0.000174202-0.00388029 0.999991 uwb: 0.49866590 840.87 1002.78 -imu_odom_: 1691062970.254302885 0.409408 -0.270545 9.89284 -0.0543285 -0.00106526 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00155756 -0.000174202-0.00388029 0.999991 uwb: 0.0 840.87 1002.78 -imu_odom_: 1691062970.269181112 0.37589 -0.251391 9.87608 -0.0532632 -0.00319579 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00155756 -0.000174202-0.00388029 0.999991 uwb: 0.0 840.87 1002.78 -imu_odom_: 1691062970.283195764 0.366313 -0.251391 9.92397 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.43929765 0.235767 0.0763842 0 -0.00248402 -0.000285365-0.00387389 0.999989 uwb: 0.49903920 840.718 1002.22 -imu_odom_: 1691062970.298295062 0.445322 -0.246603 9.88326 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00248402 -0.000285365-0.00387389 0.999989 uwb: 0.0 840.718 1002.22 -imu_odom_: 1691062970.313303949 0.445322 -0.25618 9.89524 -0.056459 -0.00639159 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00248402 -0.000285365-0.00387389 0.999989 uwb: 0.0 840.718 1002.22 -imu_odom_: 1691062970.327313351 0.416591 -0.28491 9.89284 -0.056459 -0.00319579 0.0372843 0 0 pose: 0.37986231 0.235767 0.0763842 0 -0.00177615 0.000388004 -0.00386233 0.999991 uwb: 0.0 840.718 1002.22 -imu_odom_: 1691062970.342302114 0.378284 -0.265756 9.89045 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00177615 0.000388004 -0.00386233 0.999991 uwb: 0.49969543 840.666 1001.95 -imu_odom_: 1691062970.357225256 0.380678 -0.237026 9.85453 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.6010321 0.235767 0.0763842 0 -0.00186342 -0.000213658-0.00386071 0.999991 uwb: 0.0 840.666 1001.95 -imu_odom_: 1691062970.371204910 0.409408 -0.251391 9.87848 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00186342 -0.000213658-0.00386071 0.999991 uwb: 0.0 840.666 1001.95 -imu_odom_: 1691062970.386136801 0.426168 -0.234632 9.85214 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00186342 -0.000213658-0.00386071 0.999991 uwb: 0.50043038 840.593 1001.81 -imu_odom_: 1691062970.401132272 0.411803 -0.263362 9.91918 -0.0553937 -0.00213053 0.0394148 0 0 pose: 0.43999761 0.235767 0.0763842 0 -0.00224609 0.000841217 -0.00386868 0.99999 uwb: 0.0 840.593 1001.81 -imu_odom_: 1691062970.415187463 0.397437 -0.237026 9.8689 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00224609 0.000841217 -0.00386868 0.99999 uwb: 0.0 840.593 1001.81 -imu_odom_: 1691062970.430126937 0.402226 -0.270545 9.88805 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00224609 0.000841217 -0.00386868 0.99999 uwb: 0.49971875 840.321 1000 -imu_odom_: 1691062970.445320146 0.402226 -0.251391 9.91199 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.81821793 0.235767 0.0763842 0 -0.00260657 9.81132e-05 -0.00386035 0.999989 uwb: 0.0 840.321 1000 -imu_odom_: 1691062970.459280843 0.40462 -0.25618 9.89045 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.6067484 0.235767 0.0763842 0 -0.00200056 6.39925e-05 -0.0038609 0.999991 uwb: 0.0 840.321 1000 -imu_odom_: 1691062970.474278064 0.411803 -0.244209 9.92397 -0.0553937 -0.00426106 0.0415453 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00200056 6.39925e-05 -0.0038609 0.999991 uwb: 0.0 840.321 1000 -imu_odom_: 1691062970.489160666 0.407014 -0.234632 9.93115 -0.0532632 -0.00426106 0.0394148 0 0 pose: 0.38083643 0.235767 0.0763842 0 -0.00105648 -0.000593571-0.00384221 0.999992 uwb: 0.49962834 840.608 999.443 -imu_odom_: 1691062970.504206592 0.414197 -0.227449 9.91199 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00105648 -0.000593571-0.00384221 0.999992 uwb: 0.0 840.608 999.443 -imu_odom_: 1691062970.519171731 0.40462 -0.227449 9.91439 -0.056459 -0.00639159 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00105648 -0.000593571-0.00384221 0.999992 uwb: 0.0 840.608 999.443 -imu_odom_: 1691062970.533189592 0.402226 -0.248997 9.90481 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.44893667 0.235767 0.0763842 0 -0.0006855010.000887786 -0.00384457 0.999992 uwb: 0.49875048 840.822 999.722 -imu_odom_: 1691062970.548297639 0.402226 -0.272939 9.8665 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0006855010.000887786 -0.00384457 0.999992 uwb: 0.0 840.822 999.722 -imu_odom_: 1691062970.563288152 0.402226 -0.246603 9.93115 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0006855010.000887786 -0.00384457 0.999992 uwb: 0.0 840.822 999.722 -imu_odom_: 1691062970.577194602 0.397437 -0.253785 9.92397 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.44116421 0.235767 0.0763842 0 -0.00179472 6.08814e-05 -0.00384169 0.999991 uwb: 0.0 840.822 999.722 -imu_odom_: 1691062970.592190364 0.373495 -0.244209 9.81862 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00179472 6.08814e-05 -0.00384169 0.999991 uwb: 0.49983250 840.584 1000.55 -imu_odom_: 1691062970.607128380 0.392649 -0.220267 9.89045 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00179472 6.08814e-05 -0.00384169 0.999991 uwb: 0.0 840.584 1000.55 -imu_odom_: 1691062970.622192097 0.411803 -0.253785 9.90721 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.43840228 0.235767 0.0763842 0 -0.0002683010.000508315 -0.00384027 0.999992 uwb: 0.0 840.584 1000.55 -imu_odom_: 1691062970.637200400 0.395043 -0.225055 9.92875 -0.056459 -0.00319579 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0002683010.000508315 -0.00384027 0.999992 uwb: 0.50014456 840.655 1000.42 -imu_odom_: 1691062970.652250118 0.397437 -0.272939 9.86411 -0.0553937 -0.00639159 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0002683010.000508315 -0.00384027 0.999992 uwb: 0.0 840.655 1000.42 -imu_odom_: 1691062970.666195649 0.402226 -0.244209 9.88326 -0.0532632 -0.00532632 0.04048 0 0 pose: 0.45121738 0.235767 0.0763842 0 -0.00180672 0.000399955 -0.0038448 0.999991 uwb: 0.0 840.655 1000.42 -imu_odom_: 1691062970.681182078 0.397437 -0.248997 9.92157 -0.0553937 -0.00745685 0.0415453 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00180672 0.000399955 -0.0038448 0.999991 uwb: 0.50110409 840.774 1000.42 -imu_odom_: 1691062970.696242004 0.430956 -0.232238 9.87848 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00180672 0.000399955 -0.0038448 0.999991 uwb: 0.0 840.774 1000.42 -imu_odom_: 1691062970.710173827 0.397437 -0.237026 9.89284 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.43991886 0.235767 0.0763842 0 -0.0011797 -0.000910178-0.00383516 0.999992 uwb: 0.0 840.774 1000.42 -imu_odom_: 1691062970.725269042 0.40462 -0.260968 9.89524 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.5944408 0.235767 0.0763842 0 -0.00116298 -0.000315846-0.0038318 0.999992 uwb: 0.0 840.774 1000.42 -imu_odom_: 1691062970.740283179 0.390255 -0.227449 9.91918 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00116298 -0.000315846-0.0038318 0.999992 uwb: 0.49853174 841.186 998.613 -imu_odom_: 1691062970.754189629 0.411803 -0.260968 9.88326 -0.056459 -0.00532632 0.04048 0 0 pose: 0.13929782 0.235767 0.0763842 0 -0.00168355 0.00023684 -0.00383148 0.999991 uwb: 0.0 841.186 998.613 -imu_odom_: 1691062970.769241388 0.390255 -0.258574 9.84735 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00168355 0.00023684 -0.00383148 0.999991 uwb: 0.0 841.186 998.613 -imu_odom_: 1691062970.784119032 0.392649 -0.234632 9.88566 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00168355 0.00023684 -0.00383148 0.999991 uwb: 0.50182738 841.335 998.06 -imu_odom_: 1691062970.798115602 0.37589 -0.265756 9.89045 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.30164765 0.235767 0.0763842 0 -0.00163651 9.66337e-05 -0.00382781 0.999991 uwb: 0.0 841.335 998.06 -imu_odom_: 1691062970.813176402 0.397437 -0.251391 9.8689 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00163651 9.66337e-05 -0.00382781 0.999991 uwb: 0.0 841.335 998.06 -imu_odom_: 1691062970.828232536 0.409408 -0.260968 9.86411 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00163651 9.66337e-05 -0.00382781 0.999991 uwb: 0.0 841.335 998.06 -imu_odom_: 1691062970.842174276 0.407014 -0.225055 9.90242 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.57907960 0.235767 0.0763842 0 -0.0019587 0.000562823 -0.00381609 0.999991 uwb: 0.50148615 841.295 997.505 -imu_odom_: 1691062970.857108500 0.411803 -0.268151 9.88805 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0019587 0.000562823 -0.00381609 0.999991 uwb: 0.0 841.295 997.505 -imu_odom_: 1691062970.872100179 0.40462 -0.237026 9.87848 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0019587 0.000562823 -0.00381609 0.999991 uwb: 0.0 841.295 997.505 -imu_odom_: 1691062970.886146329 0.402226 -0.251391 9.91199 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.29942528 0.235767 0.0763842 0 -0.00261976 -0.000301828-0.00381189 0.999989 uwb: 0.49933961 841.534 997.508 -imu_odom_: 1691062970.901261668 0.399832 -0.248997 9.91439 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.43975553 0.235767 0.0763842 0 -0.00195027 0.000354449 -0.00381016 0.999991 uwb: 0.0 841.534 997.508 -imu_odom_: 1691062970.916263264 0.397437 -0.272939 9.90721 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00195027 0.000354449 -0.00381016 0.999991 uwb: 0.0 841.534 997.508 -imu_odom_: 1691062970.931142366 0.378284 -0.23942 9.84496 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00195027 0.000354449 -0.00381016 0.999991 uwb: 0.49927545 841.247 997.504 -imu_odom_: 1691062970.946257413 0.423774 -0.227449 9.87608 -0.0543285 -0.00426106 0.0415453 0 0 pose: 0.44161335 0.235767 0.0763842 0 -0.00244546 0.000589116 -0.00380752 0.99999 uwb: 0.0 841.247 997.504 -imu_odom_: 1691062970.960253983 0.392649 -0.234632 9.88805 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00244546 0.000589116 -0.00380752 0.99999 uwb: 0.0 841.247 997.504 -imu_odom_: 1691062970.975306325 0.390255 -0.237026 9.86411 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00244546 0.000589116 -0.00380752 0.99999 uwb: 0.0 841.247 997.504 -imu_odom_: 1691062970.990126515 0.416591 -0.251391 9.90721 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.15072174 0.235767 0.0763842 0 -0.0014009 0.000474328 -0.003806 0.999992 uwb: 0.49923461 841.066 996.946 -imu_odom_: 1691062971.5266352 0.392649 -0.237026 9.9096 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0014009 0.000474328 -0.003806 0.999992 uwb: 0.0 841.066 996.946 -imu_odom_: 1691062971.20330069 0.402226 -0.253785 9.88566 -0.0543285 -0.00319579 0.0383495 0 0 pose: 0.28917670 0.235767 0.0763842 0 -0.00119599 0.000484814 -0.00378854 0.999992 uwb: 0.0 841.066 996.946 -imu_odom_: 1691062971.35386203 0.373495 -0.241814 9.87129 -0.0532632 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00119599 0.000484814 -0.00378854 0.999992 uwb: 0.50149782 841.104 997.503 -imu_odom_: 1691062971.50365050 0.40462 -0.241814 9.88805 -0.0543285 -0.00639159 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00119599 0.000484814 -0.00378854 0.999992 uwb: 0.0 841.104 997.503 -imu_odom_: 1691062971.64382035 0.392649 -0.244209 9.87129 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.45036576 0.235767 0.0763842 0 -0.0022302 0.000138776 -0.00378217 0.99999 uwb: 0.0 841.104 997.503 -imu_odom_: 1691062971.79386256 0.409408 -0.25618 9.92157 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0022302 0.000138776 -0.00378217 0.99999 uwb: 0.50007165 841.095 996.669 -imu_odom_: 1691062971.94257775 0.380678 -0.234632 9.93354 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0022302 0.000138776 -0.00378217 0.99999 uwb: 0.0 841.095 996.669 -imu_odom_: 1691062971.108139435 0.418985 -0.234632 9.90721 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.45094032 0.235767 0.0763842 0 -0.00148258 0.000396663 -0.00379148 0.999992 uwb: 0.0 841.095 996.669 -imu_odom_: 1691062971.123263232 0.407014 -0.260968 9.85453 -0.056459 -0.00426106 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00148258 0.000396663 -0.00379148 0.999992 uwb: 0.0 841.095 996.669 -imu_odom_: 1691062971.138262203 0.40462 -0.248997 9.87608 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00148258 0.000396663 -0.00379148 0.999992 uwb: 0.49839759 841.084 996.113 -imu_odom_: 1691062971.152222608 0.383072 -0.268151 9.91199 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.43860935 0.235767 0.0763842 0 -0.0011369 0.000318162 -0.00378368 0.999992 uwb: 0.0 841.084 996.113 -imu_odom_: 1691062971.167164998 0.40462 -0.237026 9.89763 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0011369 0.000318162 -0.00378368 0.999992 uwb: 0.0 841.084 996.113 -imu_odom_: 1691062971.182121388 0.392649 -0.246603 9.9096 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0011369 0.000318162 -0.00378368 0.999992 uwb: 0.50151532 841.405 995.705 -imu_odom_: 1691062971.196108625 0.42138 -0.232238 9.87369 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.43927140 0.235767 0.0763842 0 -0.00155525 0.000313454 -0.00379156 0.999992 uwb: 0.0 841.405 995.705 -imu_odom_: 1691062971.211093597 0.392649 -0.220267 9.92636 -0.0532632 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00155525 0.000313454 -0.00379156 0.999992 uwb: 0.0 841.405 995.705 -imu_odom_: 1691062971.226154689 0.390255 -0.232238 9.90481 -0.0532632 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00155525 0.000313454 -0.00379156 0.999992 uwb: 0.0 841.405 995.705 -imu_odom_: 1691062971.240125594 0.42138 -0.248997 9.85453 -0.0575243 -0.00426106 0.0394148 0 0 pose: 0.43942015 0.235767 0.0763842 0 -0.0017003 0.000453104 -0.00378304 0.999991 uwb: 0.49922004 841.298 995.287 -imu_odom_: 1691062971.255145271 0.37589 -0.248997 9.86172 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0017003 0.000453104 -0.00378304 0.999991 uwb: 0.0 841.298 995.287 -imu_odom_: 1691062971.270237570 0.392649 -0.246603 9.88326 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0017003 0.000453104 -0.00378304 0.999991 uwb: 0.0 841.298 995.287 -imu_odom_: 1691062971.284114855 0.373495 -0.270545 9.85214 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.44108254 0.235767 0.0763842 0 -0.0016605 4.14845e-05 -0.00378082 0.999991 uwb: 0.49908004 841.484 995.431 -imu_odom_: 1691062971.299092827 0.418985 -0.234632 9.90002 -0.0532632 -0.00319579 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0016605 4.14845e-05 -0.00378082 0.999991 uwb: 0.0 841.484 995.431 -imu_odom_: 1691062971.314199125 0.380678 -0.265756 9.90242 -0.0532632 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0016605 4.14845e-05 -0.00378082 0.999991 uwb: 0.0 841.484 995.431 -imu_odom_: 1691062971.328102950 0.402226 -0.227449 9.88805 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.43867644 0.235767 0.0763842 0 -0.00136397 -0.000102658-0.003781 0.999992 uwb: 0.0 841.484 995.431 -imu_odom_: 1691062971.343091421 0.383072 -0.275333 9.87608 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00136397 -0.000102658-0.003781 0.999992 uwb: 0.50035164 841.616 995.019 -imu_odom_: 1691062971.358112849 0.397437 -0.246603 9.83777 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00136397 -0.000102658-0.003781 0.999992 uwb: 0.0 841.616 995.019 -imu_odom_: 1691062971.372148208 0.368707 -0.248997 9.92157 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.44051674 0.235767 0.0763842 0 -0.00142148 0.000258591 -0.00376358 0.999992 uwb: 0.0 841.616 995.019 -imu_odom_: 1691062971.387110723 0.40462 -0.248997 9.90481 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00142148 0.000258591 -0.00376358 0.999992 uwb: 0.49888755 841.433 995.568 -imu_odom_: 1691062971.402100361 0.399832 -0.270545 9.90242 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00142148 0.000258591 -0.00376358 0.999992 uwb: 0.0 841.433 995.568 -imu_odom_: 1691062971.416092556 0.416591 -0.268151 9.87369 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.44010552 0.235767 0.0763842 0 -0.00108551 0.000241679 -0.00376757 0.999992 uwb: 0.0 841.433 995.568 -imu_odom_: 1691062971.431227727 0.414197 -0.23942 9.88566 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00108551 0.000241679 -0.00376757 0.999992 uwb: 0.49969835 841.787 995.716 -imu_odom_: 1691062971.446101288 0.387861 -0.244209 9.90242 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00108551 0.000241679 -0.00376757 0.999992 uwb: 0.0 841.787 995.716 -imu_odom_: 1691062971.460236392 0.385466 -0.23942 9.90002 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.81944287 0.235767 0.0763842 0 -0.00154614 0.000893364 -0.00377643 0.999991 uwb: 0.0 841.787 995.716 -imu_odom_: 1691062971.475120161 0.402226 -0.241814 9.89045 -0.056459 -0.00319579 0.04048 0 0 pose: 0.6136314 0.235767 0.0763842 0 -0.0009325720.000917388 -0.00377633 0.999992 uwb: 0.0 841.787 995.716 -imu_odom_: 1691062971.490259707 0.402226 -0.220267 9.89284 -0.0543285 -0.00639159 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0009325720.000917388 -0.00377633 0.999992 uwb: 0.50036913 841.914 995.443 -imu_odom_: 1691062971.504351646 0.380678 -0.23942 9.90242 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.38022105 0.235767 0.0763842 0 0.000170256 1.15283e-05 -0.00378002 0.999993 uwb: 0.0 841.914 995.443 -imu_odom_: 1691062971.519245331 0.399832 -0.268151 9.90242 -0.0575243 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 0.000170256 1.15283e-05 -0.00378002 0.999993 uwb: 0.0 841.914 995.443 -imu_odom_: 1691062971.534157682 0.399832 -0.253785 9.91678 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 0.000170256 1.15283e-05 -0.00378002 0.999993 uwb: 0.50026123 841.865 996.408 -imu_odom_: 1691062971.548287536 0.414197 -0.232238 9.84256 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.43897975 0.235767 0.0763842 0 -0.000978842-0.000309932-0.00379407 0.999992 uwb: 0.0 841.865 996.408 -imu_odom_: 1691062971.563283006 0.363919 -0.251391 9.88087 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000978842-0.000309932-0.00379407 0.999992 uwb: 0.0 841.865 996.408 -imu_odom_: 1691062971.578113695 0.395043 -0.272939 9.87848 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000978842-0.000309932-0.00379407 0.999992 uwb: 0.0 841.865 996.408 -imu_odom_: 1691062971.592351460 0.399832 -0.265756 9.87608 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.20078636 0.235767 0.0763842 0 -0.000788628-0.00112047 -0.00379334 0.999992 uwb: 0.49898963 842.132 995.314 -imu_odom_: 1691062971.607212480 0.383072 -0.25618 9.90242 -0.0575243 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000788628-0.00112047 -0.00379334 0.999992 uwb: 0.0 842.132 995.314 -imu_odom_: 1691062971.622078166 0.414197 -0.23942 9.90002 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000788628-0.00112047 -0.00379334 0.999992 uwb: 0.0 842.132 995.314 -imu_odom_: 1691062971.637072471 0.409408 -0.237026 9.87848 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.30032356 0.235767 0.0763842 0 -0.0030422 -3.91901e-07-0.00379307 0.999988 uwb: 0.50004249 842.136 995.176 -imu_odom_: 1691062971.652218141 0.409408 -0.265756 9.89524 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.43921891 0.235767 0.0763842 0 -0.000905938-0.000287371-0.003804 0.999992 uwb: 0.0 842.136 995.176 -imu_odom_: 1691062971.666233377 0.411803 -0.227449 9.88326 -0.0543285 -0.00319579 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000905938-0.000287371-0.003804 0.999992 uwb: 0.0 842.136 995.176 -imu_odom_: 1691062971.681211640 0.392649 -0.23942 9.89763 -0.056459 -0.00639159 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000905938-0.000287371-0.003804 0.999992 uwb: 0.49997833 841.965 995.309 -imu_odom_: 1691062971.696200695 0.442927 -0.23942 9.88326 -0.056459 -0.00532632 0.04048 0 0 pose: 0.44054008 0.235767 0.0763842 0 -0.000590301-0.000126608-0.00380897 0.999993 uwb: 0.0 841.965 995.309 -imu_odom_: 1691062971.710215055 0.395043 -0.244209 9.90721 -0.0575243 -0.00319579 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000590301-0.000126608-0.00380897 0.999993 uwb: 0.0 841.965 995.309 -imu_odom_: 1691062971.725131781 0.392649 -0.246603 9.88566 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000590301-0.000126608-0.00380897 0.999993 uwb: 0.0 841.965 995.309 -imu_odom_: 1691062971.740127835 0.416591 -0.246603 9.90721 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.43897975 0.235767 0.0763842 0 -0.00185736 0.000857736 -0.00379122 0.999991 uwb: 0.50148032 841.745 996.408 -imu_odom_: 1691062971.754128488 0.409408 -0.244209 9.88566 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00185736 0.000857736 -0.00379122 0.999991 uwb: 0.0 841.745 996.408 -imu_odom_: 1691062971.769062129 0.399832 -0.23942 9.89763 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00185736 0.000857736 -0.00379122 0.999991 uwb: 0.0 841.745 996.408 -imu_odom_: 1691062971.784066349 0.390255 -0.260968 9.87369 -0.056459 -0.00532632 0.04048 0 0 pose: 0.43924515 0.235767 0.0763842 0 -0.00115593 -0.000344957-0.00379461 0.999992 uwb: 0.49996374 841.701 996.268 -imu_odom_: 1691062971.798120666 0.426168 -0.268151 9.87608 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00115593 -0.000344957-0.00379461 0.999992 uwb: 0.0 841.701 996.268 -imu_odom_: 1691062971.813123428 0.418985 -0.265756 9.89763 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00115593 -0.000344957-0.00379461 0.999992 uwb: 0.0 841.701 996.268 -imu_odom_: 1691062971.828105483 0.416591 -0.251391 9.89524 -0.0543285 -0.00639159 0.04048 0 0 pose: 0.43997136 0.235767 0.0763842 0 -0.0022964 -0.00103997 -0.00378694 0.99999 uwb: 0.0 841.701 996.268 -imu_odom_: 1691062971.842270918 0.395043 -0.23942 9.85932 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0022964 -0.00103997 -0.00378694 0.99999 uwb: 0.50001624 842.107 996.278 -imu_odom_: 1691062971.857222058 0.399832 -0.244209 9.91439 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0022964 -0.00103997 -0.00378694 0.99999 uwb: 0.0 842.107 996.278 -imu_odom_: 1691062971.872186614 0.414197 -0.246603 9.92397 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.38206719 0.235767 0.0763842 0 -0.0009264850.000679604 -0.00376713 0.999992 uwb: 0.0 842.107 996.278 -imu_odom_: 1691062971.886131270 0.395043 -0.237026 9.88326 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0009264850.000679604 -0.00376713 0.999992 uwb: 0.49870382 841.81 995.718 -imu_odom_: 1691062971.901060828 0.385466 -0.237026 9.87848 -0.0543285 -0.00426106 0.0426106 0 0 pose: 0.6005655 0.235767 0.0763842 0 -0.00138364 0.000283129 -0.0037715 0.999992 uwb: 0.0 841.81 995.718 -imu_odom_: 1691062971.916214374 0.428562 -0.23942 9.90002 -0.0532632 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00138364 0.000283129 -0.0037715 0.999992 uwb: 0.0 841.81 995.718 -imu_odom_: 1691062971.930082618 0.414197 -0.260968 9.92636 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00138364 0.000283129 -0.0037715 0.999992 uwb: 0.50171947 842.014 996.137 -imu_odom_: 1691062971.945172291 0.371101 -0.23942 9.90721 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.43797647 0.235767 0.0763842 0 -0.00113979 0.000867564 -0.00375587 0.999992 uwb: 0.0 842.014 996.137 -imu_odom_: 1691062971.960105932 0.409408 -0.23942 9.88566 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00113979 0.000867564 -0.00375587 0.999992 uwb: 0.0 842.014 996.137 -imu_odom_: 1691062971.974113293 0.383072 -0.263362 9.92636 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00113979 0.000867564 -0.00375587 0.999992 uwb: 0.0 842.014 996.137 -imu_odom_: 1691062971.989175552 0.390255 -0.25618 9.8689 -0.0575243 -0.00426106 0.0394148 0 0 pose: 0.44145295 0.235767 0.0763842 0 -0.00206483 -5.37452e-06-0.0037388 0.999991 uwb: 0.49699184 842.087 997.242 -imu_odom_: 1691062972.4053196 0.387861 -0.234632 9.91439 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00206483 -5.37452e-06-0.0037388 0.999991 uwb: 0.0 842.087 997.242 -imu_odom_: 1691062972.19104664 0.399832 -0.253785 9.87369 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00206483 -5.37452e-06-0.0037388 0.999991 uwb: 0.0 842.087 997.242 -imu_odom_: 1691062972.33119900 0.426168 -0.244209 9.87608 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.43851311 0.235767 0.0763842 0 -0.00232164 0.00101557 -0.00373251 0.99999 uwb: 0.50091452 842.254 997.245 -imu_odom_: 1691062972.48158826 0.407014 -0.251391 9.87608 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00232164 0.00101557 -0.00373251 0.99999 uwb: 0.0 842.254 997.245 -imu_odom_: 1691062972.63107050 0.409408 -0.253785 9.85932 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00232164 0.00101557 -0.00373251 0.99999 uwb: 0.0 842.254 997.245 -imu_odom_: 1691062972.77106828 0.392649 -0.246603 9.91199 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.45049409 0.235767 0.0763842 0 -0.00188747 -0.000713136-0.00372725 0.999991 uwb: 0.0 842.254 997.245 -imu_odom_: 1691062972.92097633 0.392649 -0.244209 9.85932 -0.0553937 -0.00426106 0.0415453 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00188747 -0.000713136-0.00372725 0.999991 uwb: 0.49922587 841.875 997.1 -imu_odom_: 1691062972.107157267 0.397437 -0.248997 9.90721 -0.056459 -0.00639159 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00188747 -0.000713136-0.00372725 0.999991 uwb: 0.0 841.875 997.1 -imu_odom_: 1691062972.122040453 0.414197 -0.251391 9.87369 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.43990428 0.235767 0.0763842 0 -0.001972 -0.000869434-0.00372741 0.999991 uwb: 0.0 841.875 997.1 -imu_odom_: 1691062972.136035564 0.395043 -0.263362 9.88087 -0.0532632 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.001972 -0.000869434-0.00372741 0.999991 uwb: 0.50099036 842.087 997.242 -imu_odom_: 1691062972.151036285 0.399832 -0.253785 9.87608 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.001972 -0.000869434-0.00372741 0.999991 uwb: 0.0 842.087 997.242 -imu_odom_: 1691062972.166033214 0.416591 -0.234632 9.89524 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.43933849 0.235767 0.0763842 0 -0.00188078 -0.000624298-0.00370693 0.999991 uwb: 0.0 842.087 997.242 -imu_odom_: 1691062972.180030368 0.411803 -0.258574 9.94791 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00188078 -0.000624298-0.00370693 0.999991 uwb: 0.50020290 841.961 997.654 -imu_odom_: 1691062972.195127333 0.414197 -0.244209 9.87848 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00188078 -0.000624298-0.00370693 0.999991 uwb: 0.0 841.961 997.654 -imu_odom_: 1691062972.210097430 0.407014 -0.268151 9.8665 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.44055466 0.235767 0.0763842 0 -0.00129981 0.000463222 -0.00371467 0.999992 uwb: 0.0 841.961 997.654 -imu_odom_: 1691062972.224156997 0.402226 -0.241814 9.86411 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00129981 0.000463222 -0.00371467 0.999992 uwb: 0.0 841.961 997.654 -imu_odom_: 1691062972.239224213 0.385466 -0.232238 9.87129 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00129981 0.000463222 -0.00371467 0.999992 uwb: 0.50152991 842.323 997.384 -imu_odom_: 1691062972.254164271 0.40462 -0.277727 9.85932 -0.0532632 -0.00319579 0.0394148 0 0 pose: 0.43946973 0.235767 0.0763842 0 -0.00156196 -0.000493286-0.00370821 0.999992 uwb: 0.0 842.323 997.384 -imu_odom_: 1691062972.268165216 0.418985 -0.232238 9.8665 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00156196 -0.000493286-0.00370821 0.999992 uwb: 0.0 842.323 997.384 -imu_odom_: 1691062972.283331302 0.383072 -0.260968 9.90721 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00156196 -0.000493286-0.00370821 0.999992 uwb: 0.49810885 842.319 997.659 -imu_odom_: 1691062972.298202238 0.40462 -0.272939 9.89524 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.44124879 0.235767 0.0763842 0 -0.00121398 0.00129134 -0.00369701 0.999992 uwb: 0.0 842.319 997.659 -imu_odom_: 1691062972.312188892 0.423774 -0.265756 9.88566 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00121398 0.00129134 -0.00369701 0.999992 uwb: 0.0 842.319 997.659 -imu_odom_: 1691062972.327188446 0.428562 -0.251391 9.85453 -0.0543285 -0.00319579 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00121398 0.00129134 -0.00369701 0.999992 uwb: 0.0 842.319 997.659 -imu_odom_: 1691062972.342060258 0.387861 -0.246603 9.94073 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.44150836 0.235767 0.0763842 0 -0.00257934 0.000347284 -0.00370346 0.99999 uwb: 0.49999583 842.336 998.21 -imu_odom_: 1691062972.356187779 0.397437 -0.215478 9.90242 -0.0553937 -0.00639159 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00257934 0.000347284 -0.00370346 0.99999 uwb: 0.0 842.336 998.21 -imu_odom_: 1691062972.371245663 0.409408 -0.270545 9.85453 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00257934 0.000347284 -0.00370346 0.99999 uwb: 0.0 842.336 998.21 -imu_odom_: 1691062972.386093267 0.409408 -0.237026 9.89524 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.43881059 0.235767 0.0763842 0 -0.00111076 -0.000497274-0.00371385 0.999992 uwb: 0.50020873 842.293 997.796 -imu_odom_: 1691062972.400046090 0.409408 -0.270545 9.84017 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00111076 -0.000497274-0.00371385 0.999992 uwb: 0.0 842.293 997.796 -imu_odom_: 1691062972.415103974 0.395043 -0.258574 9.84975 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00111076 -0.000497274-0.00371385 0.999992 uwb: 0.0 842.293 997.796 -imu_odom_: 1691062972.430175274 0.378284 -0.246603 9.89045 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.58874489 0.235767 0.0763842 0 -0.000937731-0.000810252-0.00372602 0.999992 uwb: 0.49978584 842.361 998.072 -imu_odom_: 1691062972.444175635 0.409408 -0.253785 9.89045 -0.0532632 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000937731-0.000810252-0.00372602 0.999992 uwb: 0.0 842.361 998.072 -imu_odom_: 1691062972.459307598 0.407014 -0.23942 9.87608 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000937731-0.000810252-0.00372602 0.999992 uwb: 0.0 842.361 998.072 -imu_odom_: 1691062972.474177660 0.402226 -0.253785 9.85693 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.29108701 0.235767 0.0763842 0 -0.00191164 0.00107653 -0.00372693 0.999991 uwb: 0.0 842.361 998.072 -imu_odom_: 1691062972.489177505 0.407014 -0.268151 9.87129 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.44122255 0.235767 0.0763842 0 -0.00120549 -0.000492656-0.00374185 0.999992 uwb: 0.50008041 842.245 997.796 -imu_odom_: 1691062972.504277970 0.399832 -0.234632 9.8665 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00120549 -0.000492656-0.00374185 0.999992 uwb: 0.0 842.245 997.796 -imu_odom_: 1691062972.518094884 0.397437 -0.248997 9.91439 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00120549 -0.000492656-0.00374185 0.999992 uwb: 0.0 842.245 997.796 -imu_odom_: 1691062972.533236472 0.416591 -0.253785 9.85932 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.44787799 0.235767 0.0763842 0 -0.00165515 0.000488888 -0.00375808 0.999991 uwb: 0.50219487 842.085 997.381 -imu_odom_: 1691062972.548042662 0.407014 -0.248997 9.87608 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00165515 0.000488888 -0.00375808 0.999991 uwb: 0.0 842.085 997.381 -imu_odom_: 1691062972.562023191 0.42138 -0.234632 9.90481 -0.056459 -0.00639159 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00165515 0.000488888 -0.00375808 0.999991 uwb: 0.0 842.085 997.381 -imu_odom_: 1691062972.577309437 0.40462 -0.244209 9.92875 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.43937931 0.235767 0.0763842 0 -0.000713154-0.000221416-0.00376668 0.999993 uwb: 0.0 842.085 997.381 -imu_odom_: 1691062972.592016466 0.392649 -0.237026 9.90002 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000713154-0.000221416-0.00376668 0.999993 uwb: 0.49757513 841.992 997.241 -imu_odom_: 1691062972.606079824 0.40462 -0.270545 9.9096 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.000713154-0.000221416-0.00376668 0.999993 uwb: 0.0 841.992 997.241 -imu_odom_: 1691062972.621128084 0.399832 -0.275333 9.87608 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.43989846 0.235767 0.0763842 0 -0.0008846530.000554657 -0.00375666 0.999992 uwb: 0.0 841.992 997.241 -imu_odom_: 1691062972.636014477 0.42138 -0.241814 9.87129 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0008846530.000554657 -0.00375666 0.999992 uwb: 0.50023790 841.796 997.514 -imu_odom_: 1691062972.650024755 0.385466 -0.241814 9.90721 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0008846530.000554657 -0.00375666 0.999992 uwb: 0.0 841.796 997.514 -imu_odom_: 1691062972.665076223 0.361524 -0.229843 9.88566 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.37989731 0.235767 0.0763842 0 -0.00189216 -0.000619054-0.00375915 0.999991 uwb: 0.0 841.796 997.514 -imu_odom_: 1691062972.680017739 0.409408 -0.241814 9.85932 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00189216 -0.000619054-0.00375915 0.999991 uwb: 0.49941836 841.701 997.513 -imu_odom_: 1691062972.694208256 0.392649 -0.237026 9.8665 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.6148564 0.235767 0.0763842 0 -0.00169875 -3.2197e-05 -0.00376196 0.999991 uwb: 0.0 841.701 997.513 -imu_odom_: 1691062972.709086192 0.402226 -0.25618 9.86172 -0.0532632 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00169875 -3.2197e-05 -0.00376196 0.999991 uwb: 0.0 841.701 997.513 -imu_odom_: 1691062972.724254903 0.387861 -0.25618 9.88326 -0.0532632 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00169875 -3.2197e-05 -0.00376196 0.999991 uwb: 0.0 841.701 997.513 -imu_odom_: 1691062972.753147491 0.37589 -0.251391 9.90242 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.43918974 0.235767 0.0763842 0 -0.00104141 2.29823e-05 -0.00376383 0.999992 uwb: 0.50148908 841.866 997.653 -imu_odom_: 1691062972.768143545 0.42138 -0.227449 9.87848 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00104141 2.29823e-05 -0.00376383 0.999992 uwb: 0.0 841.866 997.653 -imu_odom_: 1691062972.782096076 0.414197 -0.248997 9.86172 -0.0532632 -0.00639159 0.0394148 0 0 pose: 0.43934431 0.235767 0.0763842 0 -0.0017571 0.00112673 -0.00376 0.999991 uwb: 0.49843550 841.761 998.343 -imu_odom_: 1691062972.797013094 0.390255 -0.265756 9.89763 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0017571 0.00112673 -0.00376 0.999991 uwb: 0.0 841.761 998.343 -imu_odom_: 1691062972.812006523 0.397437 -0.237026 9.87369 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0017571 0.00112673 -0.00376 0.999991 uwb: 0.0 841.761 998.343 -imu_odom_: 1691062972.826194124 0.402226 -0.270545 9.87369 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.44245039 0.235767 0.0763842 0 -0.0016081 -0.000172443-0.0037574 0.999992 uwb: 0.0 841.761 998.343 -imu_odom_: 1691062972.841129806 0.407014 -0.246603 9.87608 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0016081 -0.000172443-0.0037574 0.999992 uwb: 0.50280442 841.352 998.754 -imu_odom_: 1691062972.856056740 0.40462 -0.234632 9.90481 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0016081 -0.000172443-0.0037574 0.999992 uwb: 0.0 841.352 998.754 -imu_odom_: 1691062972.870020353 0.414197 -0.260968 9.84975 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.43810481 0.235767 0.0763842 0 -0.00160022 0.000202895 -0.00376371 0.999992 uwb: 0.0 841.352 998.754 -imu_odom_: 1691062972.885008533 0.418985 -0.265756 9.89524 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00160022 0.000202895 -0.00376371 0.999992 uwb: 0.49985000 841.829 998.758 -imu_odom_: 1691062972.900007212 0.40462 -0.251391 9.92397 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00160022 0.000202895 -0.00376371 0.999992 uwb: 0.0 841.829 998.758 -imu_odom_: 1691062972.915006766 0.397437 -0.234632 9.84256 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.44003261 0.235767 0.0763842 0 -0.00145148 0.000575856 -0.00375271 0.999992 uwb: 0.0 841.829 998.758 -imu_odom_: 1691062972.929120871 0.40462 -0.260968 9.88566 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00145148 0.000575856 -0.00375271 0.999992 uwb: 0.49912088 841.86 998.068 -imu_odom_: 1691062972.944125092 0.385466 -0.23942 9.89524 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00145148 0.000575856 -0.00375271 0.999992 uwb: 0.0 841.86 998.068 -imu_odom_: 1691062972.959138645 0.387861 -0.253785 9.90242 -0.0543285 -0.00319579 0.0383495 0 0 pose: 0.43991303 0.235767 0.0763842 0 -0.00134817 0.000152894 -0.0037451 0.999992 uwb: 0.0 841.86 998.068 -imu_odom_: 1691062972.974178446 0.411803 -0.234632 9.88805 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00134817 0.000152894 -0.0037451 0.999992 uwb: 0.0 841.86 998.068 -imu_odom_: 1691062972.989123462 0.40462 -0.280122 9.91439 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00134817 0.000152894 -0.0037451 0.999992 uwb: 0.50024957 841.531 997.649 -imu_odom_: 1691062973.3050619 0.409408 -0.251391 9.88326 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.44066549 0.235767 0.0763842 0 -0.00151492 0.00102486 -0.00375086 0.999991 uwb: 0.0 841.531 997.649 -imu_odom_: 1691062973.18046090 0.392649 -0.25618 9.85453 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00151492 0.00102486 -0.00375086 0.999991 uwb: 0.0 841.531 997.649 -imu_odom_: 1691062973.32104782 0.392649 -0.265756 9.87369 -0.056459 -0.00639159 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00151492 0.00102486 -0.00375086 0.999991 uwb: 0.0 841.531 997.649 -imu_odom_: 1691062973.47178415 0.402226 -0.227449 9.90481 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.44999246 0.235767 0.0763842 0 -0.00206255 -0.000274441-0.00375407 0.999991 uwb: 0.0 841.531 997.649 -imu_odom_: 1691062973.62124306 0.402226 -0.232238 9.91199 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00206255 -0.000274441-0.00375407 0.999991 uwb: 0.0 841.531 997.649 -imu_odom_: 1691062973.77029949 0.399832 -0.246603 9.88566 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00206255 -0.000274441-0.00375407 0.999991 uwb: 0.0 841.531 997.649 -imu_odom_: 1691062973.92055168 0.414197 -0.244209 9.91918 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.43048691 0.235767 0.0763842 0 -0.00296542 0.000129693 -0.00375777 0.999989 uwb: 0.99940253 841.464 997.371 -imu_odom_: 1691062973.107132884 0.442927 -0.244209 9.8689 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00296542 0.000129693 -0.00375777 0.999989 uwb: 0.0 841.464 997.371 -imu_odom_: 1691062973.121051584 0.397437 -0.251391 9.88326 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00296542 0.000129693 -0.00375777 0.999989 uwb: 0.0 841.464 997.371 -imu_odom_: 1691062973.136039181 0.409408 -0.270545 9.9096 -0.0543285 -0.00426106 0.0415453 0 0 pose: 0.44944707 0.235767 0.0763842 0 -0.00170593 -0.00027828 -0.00375434 0.999991 uwb: 0.49863091 841.746 997.652 -imu_odom_: 1691062973.150983030 0.385466 -0.253785 9.91918 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00170593 -0.00027828 -0.00375434 0.999991 uwb: 0.0 841.746 997.652 -imu_odom_: 1691062973.165113175 0.397437 -0.229843 9.93354 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00170593 -0.00027828 -0.00375434 0.999991 uwb: 0.0 841.746 997.652 -imu_odom_: 1691062973.179985862 0.414197 -0.270545 9.88805 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.58866615 0.235767 0.0763842 0 -0.00259617 0.000237232 -0.00373919 0.99999 uwb: 0.50047705 841.359 998.062 -imu_odom_: 1691062973.194995624 0.385466 -0.241814 9.88805 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00259617 0.000237232 -0.00373919 0.99999 uwb: 0.0 841.359 998.062 -imu_odom_: 1691062973.208990152 0.383072 -0.258574 9.84017 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00259617 0.000237232 -0.00373919 0.99999 uwb: 0.0 841.359 998.062 -imu_odom_: 1691062973.223990290 0.411803 -0.244209 9.83059 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.29127075 0.235767 0.0763842 0 -0.00128137 4.67873e-05 -0.00374015 0.999992 uwb: 0.0 841.359 998.062 -imu_odom_: 1691062973.238983136 0.40462 -0.23942 9.89763 -0.0532632 -0.00426106 0.04048 0 0 pose: 0.43874061 0.235767 0.0763842 0 -0.00235179 0.000579905 -0.00375141 0.99999 uwb: 0.50009208 841.577 997.788 -imu_odom_: 1691062973.253054952 0.402226 -0.251391 9.87848 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00235179 0.000579905 -0.00375141 0.99999 uwb: 0.0 841.577 997.788 -imu_odom_: 1691062973.268045173 0.392649 -0.265756 9.90481 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00235179 0.000579905 -0.00375141 0.99999 uwb: 0.0 841.577 997.788 -imu_odom_: 1691062973.282976481 0.426168 -0.248997 9.91199 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.44056925 0.235767 0.0763842 0 -0.00220958 0.000331878 -0.00375109 0.99999 uwb: 0.50044206 841.226 997.367 -imu_odom_: 1691062973.297118877 0.387861 -0.232238 9.88087 -0.056459 -0.00426106 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00220958 0.000331878 -0.00375109 0.99999 uwb: 0.0 841.226 997.367 -imu_odom_: 1691062973.312121347 0.416591 -0.251391 9.85693 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00220958 0.000331878 -0.00375109 0.99999 uwb: 0.0 841.226 997.367 -imu_odom_: 1691062973.327116527 0.407014 -0.246603 9.85932 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.44075590 0.235767 0.0763842 0 -0.00149896 -2.6797e-05 -0.00376862 0.999992 uwb: 0.0 841.226 997.367 -imu_odom_: 1691062973.342015753 0.40462 -0.253785 9.88087 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00149896 -2.6797e-05 -0.00376862 0.999992 uwb: 0.49813219 841.369 997.37 -imu_odom_: 1691062973.357052347 0.438139 -0.260968 9.91199 -0.0553937 -0.00426106 0.0415453 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00149896 -2.6797e-05 -0.00376862 0.999992 uwb: 0.0 841.369 997.37 -imu_odom_: 1691062973.372119564 0.423774 -0.227449 9.87848 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.38889764 0.235767 0.0763842 0 -0.00242214 -0.000408946-0.00376479 0.99999 uwb: 0.0 841.369 997.37 -imu_odom_: 1691062973.386995750 0.399832 -0.25618 9.88566 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00242214 -0.000408946-0.00376479 0.99999 uwb: 0.49961668 841.356 998.333 -imu_odom_: 1691062973.401981888 0.387861 -0.246603 9.90242 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.6004197 0.235767 0.0763842 0 -0.00240082 -0.00100973 -0.00376036 0.99999 uwb: 0.0 841.356 998.333 -imu_odom_: 1691062973.416003540 0.399832 -0.25618 9.90721 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00240082 -0.00100973 -0.00376036 0.99999 uwb: 0.0 841.356 998.333 -imu_odom_: 1691062973.430994053 0.411803 -0.234632 9.85693 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00240082 -0.00100973 -0.00376036 0.99999 uwb: 0.50012125 841.378 998.472 -imu_odom_: 1691062973.446020148 0.409408 -0.260968 9.89284 -0.0553937 -0.00532632 0.0415453 0 0 pose: 0.44966289 0.235767 0.0763842 0 -0.00173635 0.000482447 -0.00374617 0.999991 uwb: 0.0 841.378 998.472 -imu_odom_: 1691062973.459996594 0.402226 -0.246603 9.89763 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00173635 0.000482447 -0.00374617 0.999991 uwb: 0.0 841.378 998.472 -imu_odom_: 1691062973.475046020 0.40462 -0.25618 9.88566 -0.0532632 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00173635 0.000482447 -0.00374617 0.999991 uwb: 0.0 841.378 998.472 -imu_odom_: 1691062973.489959246 0.40462 -0.260968 9.88805 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.44088132 0.235767 0.0763842 0 -0.00140864 -0.000467241-0.00373723 0.999992 uwb: 0.50110410 841.186 998.609 -imu_odom_: 1691062973.504083267 0.42138 -0.248997 9.91199 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00140864 -0.000467241-0.00373723 0.999992 uwb: 0.0 841.186 998.609 -imu_odom_: 1691062973.519022742 0.395043 -0.241814 9.87848 -0.0575243 -0.00639159 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00140864 -0.000467241-0.00373723 0.999992 uwb: 0.0 841.186 998.609 -imu_odom_: 1691062973.533961633 0.411803 -0.251391 9.88087 -0.0532632 -0.00639159 0.0394148 0 0 pose: 0.43890101 0.235767 0.0763842 0 -0.00216616 0.000298717 -0.00372203 0.999991 uwb: 0.49989375 841.252 1000.13 -imu_odom_: 1691062973.547958494 0.397437 -0.225055 9.90002 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00216616 0.000298717 -0.00372203 0.999991 uwb: 0.0 841.252 1000.13 -imu_odom_: 1691062973.562958340 0.416591 -0.265756 9.93115 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00216616 0.000298717 -0.00372203 0.999991 uwb: 0.0 841.252 1000.13 -imu_odom_: 1691062973.578004558 0.409408 -0.258574 9.93594 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.43998595 0.235767 0.0763842 0 -0.00139641 0.000469781 -0.00373297 0.999992 uwb: 0.0 841.252 1000.13 -imu_odom_: 1691062973.592002587 0.387861 -0.251391 9.88326 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00139641 0.000469781 -0.00373297 0.999992 uwb: 0.50071913 841.538 999.717 -imu_odom_: 1691062973.606944103 0.433351 -0.258574 9.93354 -0.0543285 -0.00639159 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00139641 0.000469781 -0.00373297 0.999992 uwb: 0.0 841.538 999.717 -imu_odom_: 1691062973.622000529 0.390255 -0.227449 9.92636 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.44100089 0.235767 0.0763842 0 -0.00252991 -0.000269723-0.00373759 0.99999 uwb: 0.0 841.538 999.717 -imu_odom_: 1691062973.636055429 0.392649 -0.260968 9.88805 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00252991 -0.000269723-0.00373759 0.99999 uwb: 0.49928712 841.611 1000.55 -imu_odom_: 1691062973.650994320 0.37589 -0.263362 9.89284 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00252991 -0.000269723-0.00373759 0.99999 uwb: 0.0 841.611 1000.55 -imu_odom_: 1691062973.665938169 0.385466 -0.241814 9.89045 -0.052198 -0.00532632 0.0415453 0 0 pose: 0.43939973 0.235767 0.0763842 0 -0.00179826 -0.000500492-0.00374585 0.999991 uwb: 0.0 841.611 1000.55 -imu_odom_: 1691062973.679941155 0.402226 -0.275333 9.89045 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00179826 -0.000500492-0.00374585 0.999991 uwb: 0.50113619 841.302 1000.96 -imu_odom_: 1691062973.695155655 0.407014 -0.25618 9.87369 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00179826 -0.000500492-0.00374585 0.999991 uwb: 0.0 841.302 1000.96 -imu_odom_: 1691062973.710037383 0.402226 -0.253785 9.89524 -0.0553937 -0.00213053 0.0394148 0 0 pose: 0.44053425 0.235767 0.0763842 0 -0.00206511 0.00162854 -0.00373359 0.99999 uwb: 0.0 841.302 1000.96 -imu_odom_: 1691062973.724100741 0.42138 -0.244209 9.8665 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00206511 0.00162854 -0.00373359 0.99999 uwb: 0.0 841.302 1000.96 -imu_odom_: 1691062973.739100295 0.407014 -0.237026 9.93354 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00206511 0.00162854 -0.00373359 0.99999 uwb: 0.49994916 841.544 1001.38 -imu_odom_: 1691062973.754185594 0.399832 -0.248997 9.88087 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.44166294 0.235767 0.0763842 0 -0.00184707 -0.000196972-0.00373169 0.999991 uwb: 0.0 841.544 1001.38 -imu_odom_: 1691062973.769154817 0.414197 -0.241814 9.87608 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00184707 -0.000196972-0.00373169 0.999991 uwb: 0.0 841.544 1001.38 -imu_odom_: 1691062973.784015254 0.430956 -0.244209 9.88326 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00184707 -0.000196972-0.00373169 0.999991 uwb: 0.50125576 841.45 1001.52 -imu_odom_: 1691062973.798070738 0.402226 -0.263362 9.91199 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.43881352 0.235767 0.0763842 0 -0.00117317 0.000258048 -0.00373563 0.999992 uwb: 0.0 841.45 1001.52 -imu_odom_: 1691062973.828116218 0.418985 -0.229843 9.89284 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.44977372 0.235767 0.0763842 0 -0.00222322 -0.00136971 -0.00374824 0.99999 uwb: 0.49929879 841.445 1000.96 -imu_odom_: 1691062973.843056276 0.395043 -0.251391 9.89045 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00222322 -0.00136971 -0.00374824 0.99999 uwb: 0.0 841.445 1000.96 -imu_odom_: 1691062973.858118826 0.42138 -0.260968 9.89045 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00222322 -0.00136971 -0.00374824 0.99999 uwb: 0.0 841.445 1000.96 -imu_odom_: 1691062973.872001945 0.40462 -0.263362 9.85932 -0.0543285 -0.00639159 0.0415453 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00222322 -0.00136971 -0.00374824 0.99999 uwb: 0.0 841.445 1000.96 -imu_odom_: 1691062973.886993916 0.418985 -0.222661 9.8689 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.58895488 0.235767 0.0763842 0 -0.00194834 -0.000468569-0.00375813 0.999991 uwb: 0.49876507 841.808 1001.51 -imu_odom_: 1691062973.901981512 0.392649 -0.272939 9.88566 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00194834 -0.000468569-0.00375813 0.999991 uwb: 0.0 841.808 1001.51 -imu_odom_: 1691062973.916050995 0.40462 -0.263362 9.89524 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00194834 -0.000468569-0.00375813 0.999991 uwb: 0.0 841.808 1001.51 -imu_odom_: 1691062973.929927697 0.397437 -0.23942 9.90481 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.29030831 0.235767 0.0763842 0 -0.00194077 -3.73858e-05-0.003747 0.999991 uwb: 0.50047997 841.384 1002.07 -imu_odom_: 1691062973.945050036 0.402226 -0.232238 9.86172 -0.0575243 -0.00532632 0.04048 0 0 pose: 0.43994512 0.235767 0.0763842 0 -0.00218583 -0.00070159 -0.00374968 0.99999 uwb: 0.0 841.384 1002.07 -imu_odom_: 1691062973.958980693 0.399832 -0.227449 9.89045 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00218583 -0.00070159 -0.00374968 0.99999 uwb: 0.0 841.384 1002.07 -imu_odom_: 1691062973.972990388 0.390255 -0.260968 9.92157 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00218583 -0.00070159 -0.00374968 0.99999 uwb: 0.0 841.384 1002.07 -imu_odom_: 1691062973.987105951 0.363919 -0.246603 9.87369 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.42983362 0.235767 0.0763842 0 -0.00206389 0.000445627 -0.00373626 0.999991 uwb: 0.49875341 841.603 1002.35 -imu_odom_: 1691062974.1096688 0.409408 -0.263362 9.85693 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00206389 0.000445627 -0.00373626 0.999991 uwb: 0.0 841.603 1002.35 -imu_odom_: 1691062974.16123074 0.40462 -0.232238 9.89524 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00206389 0.000445627 -0.00373626 0.999991 uwb: 0.0 841.603 1002.35 -imu_odom_: 1691062974.31073631 0.37589 -0.237026 9.89045 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.41966670 0.235767 0.0763842 0 -0.00165316 0.000326437 -0.00374322 0.999992 uwb: 0.50127034 842.104 1002.34 -imu_odom_: 1691062974.45064077 0.414197 -0.263362 9.91678 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00165316 0.000326437 -0.00374322 0.999992 uwb: 0.0 842.104 1002.34 -imu_odom_: 1691062974.60219664 0.397437 -0.258574 9.92157 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00165316 0.000326437 -0.00374322 0.999992 uwb: 0.0 842.104 1002.34 -imu_odom_: 1691062974.73997497 0.402226 -0.253785 9.93833 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.44236290 0.235767 0.0763842 0 -0.00253858 0.000379068 -0.00373539 0.99999 uwb: 0.0 842.104 1002.34 -imu_odom_: 1691062974.87962277 0.407014 -0.253785 9.90002 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00253858 0.000379068 -0.00373539 0.99999 uwb: 0.49993168 842.194 1001.92 -imu_odom_: 1691062974.101995887 0.399832 -0.25618 9.92875 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00253858 0.000379068 -0.00373539 0.99999 uwb: 0.0 842.194 1001.92 -imu_odom_: 1691062974.116951402 0.416591 -0.258574 9.89763 -0.056459 -0.00639159 0.04048 0 0 pose: 0.42820913 0.235767 0.0763842 0 -0.00179395 -0.000616347-0.00373377 0.999991 uwb: 0.0 842.194 1001.92 -imu_odom_: 1691062974.130931057 0.411803 -0.263362 9.8689 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00179395 -0.000616347-0.00373377 0.999991 uwb: 0.49925796 842.176 1002.34 -imu_odom_: 1691062974.145104075 0.40462 -0.263362 9.9096 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00179395 -0.000616347-0.00373377 0.999991 uwb: 0.0 842.176 1002.34 -imu_odom_: 1691062974.158921281 0.387861 -0.253785 9.87848 -0.056459 -0.00426106 0.04048 0 0 pose: 0.42938156 0.235767 0.0763842 0 -0.00223835 -0.000480256-0.00372866 0.99999 uwb: 0.0 842.176 1002.34 -imu_odom_: 1691062974.172923684 0.378284 -0.241814 9.89524 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00223835 -0.000480256-0.00372866 0.99999 uwb: 0.0 842.176 1002.34 -imu_odom_: 1691062974.187171948 0.395043 -0.25618 9.91199 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00223835 -0.000480256-0.00372866 0.99999 uwb: 0.50122077 842.266 1001.92 -imu_odom_: 1691062974.201928266 0.363919 -0.241814 9.88326 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.50224154 0.235767 0.0763842 0 -0.00219343 0.000314131 -0.00371716 0.999991 uwb: 0.0 842.266 1001.92 -imu_odom_: 1691062974.216058704 0.414197 -0.232238 9.91199 -0.0553937 -0.00639159 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00219343 0.000314131 -0.00371716 0.999991 uwb: 0.0 842.266 1001.92 -imu_odom_: 1691062974.229928990 0.402226 -0.268151 9.89524 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00219343 0.000314131 -0.00371716 0.999991 uwb: 0.50004833 841.864 1002.2 -imu_odom_: 1691062974.244927961 0.371101 -0.25618 9.91439 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.5888120 0.235767 0.0763842 0 -0.00194041 0.000843008 -0.0037164 0.999991 uwb: 0.0 841.864 1002.2 -imu_odom_: 1691062974.258918407 0.399832 -0.25618 9.85932 -0.0553937 -0.00319579 0.0372843 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00194041 0.000843008 -0.0037164 0.999991 uwb: 0.0 841.864 1002.2 -imu_odom_: 1691062974.272981765 0.423774 -0.222661 9.91199 -0.0553937 -0.00319579 0.0415453 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00194041 0.000843008 -0.0037164 0.999991 uwb: 0.0 841.864 1002.2 -imu_odom_: 1691062974.287990652 0.395043 -0.251391 9.8665 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.71929906 0.235767 0.0763842 0 -0.00163262 -0.000207236-0.00371599 0.999992 uwb: 0.49800387 842.011 1002.48 -imu_odom_: 1691062974.302058676 0.387861 -0.246603 9.8689 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00163262 -0.000207236-0.00371599 0.999992 uwb: 0.0 842.011 1002.48 -imu_odom_: 1691062974.316059913 0.418985 -0.258574 9.91199 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00163262 -0.000207236-0.00371599 0.999992 uwb: 0.0 842.011 1002.48 -imu_odom_: 1691062974.329932824 0.399832 -0.246603 9.91439 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.28973084 0.235767 0.0763842 0 -0.00151804 0.000902562 -0.00371115 0.999992 uwb: 0.49996958 841.86 1001.93 -imu_odom_: 1691062974.344047804 0.380678 -0.25618 9.89524 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00151804 0.000902562 -0.00371115 0.999992 uwb: 0.0 841.86 1001.93 -imu_odom_: 1691062974.358990486 0.378284 -0.263362 9.89524 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.41971921 0.235767 0.0763842 0 -0.0017612 -0.000538987-0.00370924 0.999991 uwb: 0.0 841.86 1001.93 -imu_odom_: 1691062974.372919685 0.392649 -0.253785 9.89763 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0017612 -0.000538987-0.00370924 0.999991 uwb: 0.0 841.86 1001.93 -imu_odom_: 1691062974.386932005 0.430956 -0.265756 9.92397 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.0017612 -0.000538987-0.00370924 0.999991 uwb: 0.50009792 841.873 1000.41 -imu_odom_: 1691062974.400921867 0.411803 -0.248997 9.88566 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.14119646 0.235767 0.0763842 0 -0.00221045 0.000777969 -0.00371228 0.99999 uwb: 0.0 841.873 1000.41 -imu_odom_: 1691062974.415982085 0.409408 -0.25618 9.88566 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00221045 0.000777969 -0.00371228 0.99999 uwb: 0.0 841.873 1000.41 -imu_odom_: 1691062974.429918283 0.371101 -0.244209 9.8665 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00221045 0.000777969 -0.00371228 0.99999 uwb: 0.49874174 841.801 1000.27 -imu_odom_: 1691062974.443926228 0.399832 -0.23942 9.88566 -0.056459 -0.00532632 0.04048 0 0 pose: 0.71939531 0.235767 0.0763842 0 -0.00245261 3.19874e-05 -0.0037047 0.99999 uwb: 0.0 841.801 1000.27 -imu_odom_: 1691062974.457974129 0.385466 -0.241814 9.91918 -0.0532632 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00245261 3.19874e-05 -0.0037047 0.99999 uwb: 0.0 841.801 1000.27 -imu_odom_: 1691062974.471903619 0.390255 -0.25618 9.84975 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00245261 3.19874e-05 -0.0037047 0.99999 uwb: 0.0 841.801 1000.27 -imu_odom_: 1691062974.485967561 0.407014 -0.260968 9.90002 -0.056459 -0.00532632 0.04048 0 0 pose: 0.27991682 0.235767 0.0763842 0 -0.00116317 0.000458144 -0.00369813 0.999992 uwb: 0.49979168 841.849 1000.41 -imu_odom_: 1691062974.499913384 0.37589 -0.268151 9.89284 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00116317 0.000458144 -0.00369813 0.999992 uwb: 0.0 841.849 1000.41 -imu_odom_: 1691062974.513981700 0.409408 -0.280122 9.89763 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.49927546 0.235767 0.0763842 0 -0.00243064 0.000336094 -0.00370412 0.99999 uwb: 0.0 841.849 1000.41 -imu_odom_: 1691062974.527942689 0.416591 -0.260968 9.9096 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00243064 0.000336094 -0.00370412 0.99999 uwb: 0.50026416 841.467 999.446 -imu_odom_: 1691062974.542911329 0.40462 -0.253785 9.88566 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00243064 0.000336094 -0.00370412 0.99999 uwb: 0.0 841.467 999.446 -imu_odom_: 1691062974.557907383 0.380678 -0.263362 9.8665 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.6056693 0.235767 0.0763842 0 -0.00292725 -1.20295e-05-0.00370563 0.999989 uwb: 0.0 841.467 999.446 -imu_odom_: 1691062974.571896662 0.411803 -0.268151 9.90721 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00292725 -1.20295e-05-0.00370563 0.999989 uwb: 0.0 841.467 999.446 -imu_odom_: 1691062974.586011351 0.430956 -0.248997 9.88566 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00292725 -1.20295e-05-0.00370563 0.999989 uwb: 0.50037206 841.278 999.168 -imu_odom_: 1691062974.601045320 0.409408 -0.244209 9.90002 -0.0553937 -0.00426106 0.0372843 0 0 pose: 0.71980654 0.235767 0.0763842 0 -0.00247365 -0.000387743-0.00369728 0.99999 uwb: 0.0 841.278 999.168 -imu_odom_: 1691062974.615101678 0.392649 -0.241814 9.90002 -0.0553937 -0.00639159 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00247365 -0.000387743-0.00369728 0.99999 uwb: 0.0 841.278 999.168 -imu_odom_: 1691062974.630012862 0.426168 -0.258574 9.92875 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00247365 -0.000387743-0.00369728 0.99999 uwb: 0.49976543 841.172 997.782 -imu_odom_: 1691062974.644039181 0.430956 -0.248997 9.87369 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.28988541 0.235767 0.0763842 0 -0.00148309 0.000684114 -0.00370795 0.999992 uwb: 0.0 841.172 997.782 -imu_odom_: 1691062974.658037793 0.416591 -0.253785 9.89284 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.235767 0.0763842 0 -0.00148309 0.000684114 -0.00370795 0.999992 uwb: 0.0 841.172 997.782 -imu_odom_: 1691062974.672041363 0.418985 -0.215478 9.9096 -0.0532632 -0.00532632 0.0394148 0 0 pose: 0.42990945 0.235767 0.0763842 0 -0.00192781 -0.000911486-0.00369577 0.999991 uwb: 0.0 841.172 997.782 diff --git a/Code/MowingRobot/Robot_ROS_APP/dataset/data2.txt b/Code/MowingRobot/Robot_ROS_APP/dataset/data2.txt deleted file mode 100644 index c3e001f..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/dataset/data2.txt +++ /dev/null @@ -1,9313 +0,0 @@ -imu_odom_: 1691062406.60567234 0.40462 -0.203507 9.88087 -0.0553937 -0.00532632 0.04048 0 0 pose: 4.992375385 0 0 0 -0.0001201543.25945e-05 0.0017383 0.999998 uwb: 5.69647 848.899 990.624 -imu_odom_: 1691062406.74560911 0.395043 -0.217872 9.89284 -0.0532632 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 -0.0001201543.25945e-05 0.0017383 0.999998 uwb: 0.0 848.899 990.624 -imu_odom_: 1691062406.88551088 0.407014 -0.220267 9.93354 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 0 0 0 -0.0001201543.25945e-05 0.0017383 0.999998 uwb: 0.0 848.899 990.624 -imu_odom_: 1691062406.103499256 0.407014 -0.201113 9.86411 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.41938452 0 0 0 -0.000324512-8.4751e-05 0.00174832 0.999998 uwb: 0.49796316 848.749 990.349 -imu_odom_: 1691062406.117553882 0.395043 -0.215478 9.90721 -0.0553937 -0.00639159 0.0383495 0 0 pose: 0.0 0 0 0 -0.000324512-8.4751e-05 0.00174832 0.999998 uwb: 0.0 848.749 990.349 -imu_odom_: 1691062406.131637380 0.411803 -0.234632 9.89763 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.0 0 0 0 -0.000324512-8.4751e-05 0.00174832 0.999998 uwb: 0.0 848.749 990.349 -imu_odom_: 1691062406.145511781 0.402226 -0.213084 9.86172 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.42989764 0 0 0 -0.000664817-3.48417e-060.00173524 0.999998 uwb: 0.0 848.749 990.349 -imu_odom_: 1691062406.159568449 0.385466 -0.21069 9.90242 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.000664817-3.48417e-060.00173524 0.999998 uwb: 0.50022618 848.829 990.222 -imu_odom_: 1691062406.174740294 0.395043 -0.198719 9.88805 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.000664817-3.48417e-060.00173524 0.999998 uwb: 0.0 848.829 990.222 -imu_odom_: 1691062406.189629554 0.368707 -0.21069 9.90242 -0.0553937 -0.00213053 0.0394148 0 0 pose: 0.42203248 0 0 0 0.000574562 0.000871917 0.00174669 0.999998 uwb: 0.0 848.829 990.222 -imu_odom_: 1691062406.203636062 0.399832 -0.215478 9.88326 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 0.000574562 0.000871917 0.00174669 0.999998 uwb: 0.50110397 848.408 991.655 -imu_odom_: 1691062406.218761831 0.40462 -0.198719 9.85693 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.000574562 0.000871917 0.00174669 0.999998 uwb: 0.0 848.408 991.655 -imu_odom_: 1691062406.232487212 0.397437 -0.227449 9.91918 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.43939590 0 0 0 0.000515237 -2.01853e-050.00174243 0.999998 uwb: 0.0 848.408 991.655 -imu_odom_: 1691062406.246468640 0.392649 -0.205901 9.88566 -0.056459 -0.00319579 0.04048 0 0 pose: 0.0 0 0 0 0.000515237 -2.01853e-050.00174243 0.999998 uwb: 0.49904509 848.374 990.99 -imu_odom_: 1691062406.261469884 0.442927 -0.208296 9.88805 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0 0 0 0.000515237 -2.01853e-050.00174243 0.999998 uwb: 0.0 848.374 990.99 -imu_odom_: 1691062406.275469393 0.392649 -0.203507 9.90721 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.42895860 0 0 0 0.000866584 0.000589087 0.00175076 0.999998 uwb: 0.0 848.374 990.99 -imu_odom_: 1691062406.289530144 0.397437 -0.208296 9.88566 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 0.000866584 0.000589087 0.00175076 0.999998 uwb: 0.0 848.374 990.99 -imu_odom_: 1691062406.303534610 0.395043 -0.196325 9.91678 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.000866584 0.000589087 0.00175076 0.999998 uwb: 0.49984707 848.287 991.251 -imu_odom_: 1691062406.317526828 0.407014 -0.246603 9.88087 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.43000554 0 0 0 0.000633687 0.000122746 0.00174983 0.999998 uwb: 0.0 848.287 991.251 -imu_odom_: 1691062406.331611784 0.390255 -0.208296 9.88087 -0.0553937 -0.00426106 0.0415453 0 0 pose: 0.0 0 0 0 0.000633687 0.000122746 0.00174983 0.999998 uwb: 0.0 848.287 991.251 -imu_odom_: 1691062406.346509209 0.397437 -0.222661 9.86172 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 0.000633687 0.000122746 0.00174983 0.999998 uwb: 0.50000746 848.374 990.591 -imu_odom_: 1691062406.361576361 0.399832 -0.222661 9.85932 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.42095055 0 0 0 0.000423404 0.000852043 0.00176396 0.999998 uwb: 0.0 848.374 990.591 -imu_odom_: 1691062406.375555456 0.407014 -0.213084 9.87608 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 0.000423404 0.000852043 0.00176396 0.999998 uwb: 0.0 848.374 990.591 -imu_odom_: 1691062406.389449105 0.409408 -0.246603 9.92875 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.000423404 0.000852043 0.00176396 0.999998 uwb: 0.0 848.374 990.591 -imu_odom_: 1691062406.403450072 0.407014 -0.232238 9.90242 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.43840729 0 0 0 -0.000477101-0.0002333210.00177124 0.999998 uwb: 0.49956418 848.589 991.4 -imu_odom_: 1691062406.417437916 0.40462 -0.232238 9.90002 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.000477101-0.0002333210.00177124 0.999998 uwb: 0.0 848.589 991.4 -imu_odom_: 1691062406.431440341 0.387861 -0.213084 9.89284 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.000477101-0.0002333210.00177124 0.999998 uwb: 0.0 848.589 991.4 -imu_odom_: 1691062406.445570207 0.385466 -0.234632 9.87369 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 0 0 0 -0.000477101-0.0002333210.00177124 0.999998 uwb: 0.49974208 848.861 991.68 -imu_odom_: 1691062406.459430902 0.40462 -0.222661 9.89524 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.41972863 0 0 0 -0.00079746 0.000198817 0.00178639 0.999998 uwb: 0.0 848.861 991.68 -imu_odom_: 1691062406.473489903 0.385466 -0.203507 9.92636 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.00079746 0.000198817 0.00178639 0.999998 uwb: 0.0 848.861 991.68 -imu_odom_: 1691062406.487484162 0.378284 -0.21069 9.90242 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.41991528 0 0 0 -5.58655e-050.000411178 0.00178643 0.999998 uwb: 0.0 848.861 991.68 -imu_odom_: 1691062406.501428554 0.383072 -0.196325 9.88566 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -5.58655e-050.000411178 0.00178643 0.999998 uwb: 0.50040991 849.074 991.295 -imu_odom_: 1691062406.515422522 0.418985 -0.215478 9.93833 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -5.58655e-050.000411178 0.00178643 0.999998 uwb: 0.0 849.074 991.295 -imu_odom_: 1691062406.529420281 0.423774 -0.203507 9.91199 -0.0553937 -0.00639159 0.04048 0 0 pose: 0.42008151 0 0 0 0.000522006 0.000584839 0.00179126 0.999998 uwb: 0.0 849.074 991.295 -imu_odom_: 1691062406.543414541 0.414197 -0.213084 9.87848 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 0.000522006 0.000584839 0.00179126 0.999998 uwb: 0.0 849.074 991.295 -imu_odom_: 1691062406.557481999 0.42138 -0.232238 9.91439 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 0.000522006 0.000584839 0.00179126 0.999998 uwb: 0.49959626 849.679 990.803 -imu_odom_: 1691062406.571417058 0.399832 -0.222661 9.89524 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.50036616 0 0 0 -0.00121253 -0.00117036 0.00181061 0.999997 uwb: 0.0 849.679 990.803 -imu_odom_: 1691062406.585471685 0.402226 -0.232238 9.90242 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0 0 0 -0.00121253 -0.00117036 0.00181061 0.999997 uwb: 0.0 849.679 990.803 -imu_odom_: 1691062406.600479636 0.428562 -0.198719 9.87848 -0.0553937 -0.00213053 0.0394148 0 0 pose: 0.0 0 0 0 -0.00121253 -0.00117036 0.00181061 0.999997 uwb: 0.50178346 849.711 991.069 -imu_odom_: 1691062406.614416446 0.390255 -0.196325 9.91199 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.5995248 0 0 0 -0.000904869-0.0006590710.00181358 0.999998 uwb: 0.0 849.711 991.069 -imu_odom_: 1691062406.628428786 0.387861 -0.191536 9.87129 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 -0.000904869-0.0006590710.00181358 0.999998 uwb: 0.0 849.711 991.069 -imu_odom_: 1691062406.642425087 0.40462 -0.229843 9.90002 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0 0 0 -0.000904869-0.0006590710.00181358 0.999998 uwb: 0.0 849.711 991.069 -imu_odom_: 1691062406.657601891 0.392649 -0.208296 9.91199 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.70946788 0 0 0 0.00112456 0.00085094 0.00180015 0.999997 uwb: 0.49945046 849.52 990.662 -imu_odom_: 1691062406.671486499 0.387861 -0.198719 9.90481 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.00112456 0.00085094 0.00180015 0.999997 uwb: 0.0 849.52 990.662 -imu_odom_: 1691062406.685474634 0.409408 -0.220267 9.90242 -0.0575243 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 0.00112456 0.00085094 0.00180015 0.999997 uwb: 0.0 849.52 990.662 -imu_odom_: 1691062406.699437690 0.385466 -0.234632 9.87369 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.29053246 0 0 0 -0.0003847890.00103862 0.00179286 0.999998 uwb: 0.49975666 849.584 991.193 -imu_odom_: 1691062406.713414744 0.387861 -0.234632 9.87608 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.0 0 0 0 -0.0003847890.00103862 0.00179286 0.999998 uwb: 0.0 849.584 991.193 -imu_odom_: 1691062406.728469356 0.42138 -0.229843 9.88805 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.49937463 0 0 0 -0.00147886 -0.0004448520.00179571 0.999997 uwb: 0.0 849.584 991.193 -imu_odom_: 1691062406.742406457 0.409408 -0.227449 9.91199 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0 0 0 -0.00147886 -0.0004448520.00179571 0.999997 uwb: 0.0 849.584 991.193 -imu_odom_: 1691062406.756404799 0.407014 -0.222661 9.92875 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.00147886 -0.0004448520.00179571 0.999997 uwb: 0.49735366 849.998 991.48 -imu_odom_: 1691062406.770462342 0.407014 -0.232238 9.90721 -0.056459 -0.00426106 0.04048 0 0 pose: 0.6061447 0 0 0 -0.000978658-0.0007928610.00179124 0.999998 uwb: 0.0 849.998 991.48 -imu_odom_: 1691062406.784402651 0.42138 -0.215478 9.88087 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0 0 0 -0.000978658-0.0007928610.00179124 0.999998 uwb: 0.0 849.998 991.48 -imu_odom_: 1691062406.798463401 0.390255 -0.201113 9.90242 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.000978658-0.0007928610.00179124 0.999998 uwb: 0.50061404 849.918 990.424 -imu_odom_: 1691062406.813396988 0.445322 -0.225055 9.86411 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.70934831 0 0 0 0.000341352 -0.0005377510.00179746 0.999998 uwb: 0.0 849.918 990.424 -imu_odom_: 1691062406.827453656 0.440533 -0.215478 9.89284 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0 0 0 0.000341352 -0.0005377510.00179746 0.999998 uwb: 0.0 849.918 990.424 -imu_odom_: 1691062406.841578272 0.411803 -0.213084 9.91918 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 0.000341352 -0.0005377510.00179746 0.999998 uwb: 0.0 849.918 990.424 -imu_odom_: 1691062406.856536939 0.378284 -0.21069 9.85214 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.42987139 0 0 0 6.30002e-07 -0.00194115 0.00179076 0.999997 uwb: 0.49960501 849.951 990.295 -imu_odom_: 1691062406.871512521 0.399832 -0.213084 9.87369 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0 0 0 6.30002e-07 -0.00194115 0.00179076 0.999997 uwb: 0.0 849.951 990.295 -imu_odom_: 1691062406.885396254 0.414197 -0.213084 9.89524 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.38114360 0 0 0 -0.000303558-0.00105341 0.00180333 0.999998 uwb: 0.0 849.951 990.295 -imu_odom_: 1691062406.900382917 0.409408 -0.208296 9.87369 -0.0553937 -0.00639159 0.04048 0 0 pose: 0.5994373 0 0 0 6.63217e-05 -0.0005848740.00180578 0.999998 uwb: 0.0 849.951 990.295 -imu_odom_: 1691062406.914379510 0.373495 -0.220267 9.92157 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 6.63217e-05 -0.0005848740.00180578 0.999998 uwb: 0.0 849.951 990.295 -imu_odom_: 1691062406.929440538 0.390255 -0.21069 9.88805 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.36872616 0 0 0 -0.0002704940.00015937 0.00181564 0.999998 uwb: 0.0 849.951 990.295 -imu_odom_: 1691062406.944369167 0.42138 -0.25618 9.91918 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.0002704940.00015937 0.00181564 0.999998 uwb: 0.0 849.951 990.295 -imu_odom_: 1691062406.958454706 0.395043 -0.21069 9.91678 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0 0 0 -0.0002704940.00015937 0.00181564 0.999998 uwb: 0.100083731 849.831 990.287 -imu_odom_: 1691062406.973370504 0.416591 -0.220267 9.85214 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.44075196 0 0 0 0.000963665 0.000485006 0.00180471 0.999998 uwb: 0.0 849.831 990.287 -imu_odom_: 1691062406.987376429 0.407014 -0.217872 9.90481 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0 0 0 0.000963665 0.000485006 0.00180471 0.999998 uwb: 0.0 849.831 990.287 -imu_odom_: 1691062407.1429305 0.423774 -0.232238 9.9096 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 0.000963665 0.000485006 0.00180471 0.999998 uwb: 0.50059946 849.568 990.666 -imu_odom_: 1691062407.15432613 0.390255 -0.217872 9.89763 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 0 0 0 0.000963665 0.000485006 0.00180471 0.999998 uwb: 0.0 849.568 990.666 -imu_odom_: 1691062407.30440866 0.37589 -0.220267 9.85453 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.42974599 0 0 0 -0.000713508-0.0004941290.00180113 0.999998 uwb: 0.0 849.568 990.666 -imu_odom_: 1691062407.44421428 0.402226 -0.222661 9.88326 -0.0553937 -0.00532632 0.0415453 0 0 pose: 0.0 0 0 0 -0.000713508-0.0004941290.00180113 0.999998 uwb: 0.0 849.568 990.666 -imu_odom_: 1691062407.58423863 0.395043 -0.227449 9.93115 -0.0532632 -0.00639159 0.0394148 0 0 pose: 0.0 0 0 0 -0.000713508-0.0004941290.00180113 0.999998 uwb: 0.49981234 848.948 991.024 -imu_odom_: 1691062407.73422784 0.411803 -0.201113 9.89763 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.42992123 0 0 0 -0.0004521030.000819597 0.00182034 0.999998 uwb: 0.0 848.948 991.024 -imu_odom_: 1691062407.87360769 0.399832 -0.208296 9.9096 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 -0.0004521030.000819597 0.00182034 0.999998 uwb: 0.0 848.948 991.024 -imu_odom_: 1691062407.101494435 0.399832 -0.227449 9.89284 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 -0.0004521030.000819597 0.00182034 0.999998 uwb: 0.50077476 848.995 990.63 -imu_odom_: 1691062407.115550820 0.397437 -0.227449 9.8689 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.42939341 0 0 0 0.000178155 0.000909794 0.00181455 0.999998 uwb: 0.0 848.995 990.63 -imu_odom_: 1691062407.130418218 0.385466 -0.198719 9.88326 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 0.000178155 0.000909794 0.00181455 0.999998 uwb: 0.0 848.995 990.63 -imu_odom_: 1691062407.144481018 0.380678 -0.227449 9.90242 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 0.000178155 0.000909794 0.00181455 0.999998 uwb: 0.0 848.995 990.63 -imu_odom_: 1691062407.159402659 0.37589 -0.215478 9.87369 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.49119775 0 0 0 0.000739394 0.000878484 0.00182992 0.999998 uwb: 0.49777976 848.884 990.491 -imu_odom_: 1691062407.173460794 0.380678 -0.215478 9.91678 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 0.000739394 0.000878484 0.00182992 0.999998 uwb: 0.0 848.884 990.491 -imu_odom_: 1691062407.187552757 0.402226 -0.222661 9.87848 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.000739394 0.000878484 0.00182992 0.999998 uwb: 0.0 848.884 990.491 -imu_odom_: 1691062407.202425404 0.392649 -0.225055 9.90721 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.42984834 0 0 0 -0.0002404190.000545218 0.00182954 0.999998 uwb: 0.50013609 848.685 990.611 -imu_odom_: 1691062407.216487038 0.409408 -0.241814 9.90242 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 -0.0002404190.000545218 0.00182954 0.999998 uwb: 0.0 848.685 990.611 -imu_odom_: 1691062407.230513094 0.390255 -0.217872 9.90002 -0.056459 -0.00532632 0.04048 0 0 pose: 0.37021660 0 0 0 -0.00121172 8.37096e-06 0.00183332 0.999998 uwb: 0.0 848.685 990.611 -imu_odom_: 1691062407.245489560 0.387861 -0.203507 9.88566 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.6008959 0 0 0 -0.0007046690.000322611 0.00183642 0.999998 uwb: 0.50020317 849.112 989.58 -imu_odom_: 1691062407.259619727 0.407014 -0.222661 9.88805 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 -0.0007046690.000322611 0.00183642 0.999998 uwb: 0.0 849.112 989.58 -imu_odom_: 1691062407.273382444 0.409408 -0.21069 9.91678 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.37123730 0 0 0 0.000229183 0.000148828 0.00184672 0.999998 uwb: 0.0 849.112 989.58 -imu_odom_: 1691062407.288316916 0.402226 -0.208296 9.88566 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 0.000229183 0.000148828 0.00184672 0.999998 uwb: 0.0 849.112 989.58 -imu_odom_: 1691062407.302315267 0.407014 -0.198719 9.87369 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.000229183 0.000148828 0.00184672 0.999998 uwb: 0.50020901 849.288 989.46 -imu_odom_: 1691062407.316325867 0.378284 -0.220267 9.90721 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.42695540 0 0 0 0.00134726 -0.0007230960.00185888 0.999997 uwb: 0.0 849.288 989.46 -imu_odom_: 1691062407.331441731 0.411803 -0.215478 9.90721 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.00134726 -0.0007230960.00185888 0.999997 uwb: 0.0 849.288 989.46 -imu_odom_: 1691062407.345438041 0.407014 -0.220267 9.88087 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.00134726 -0.0007230960.00185888 0.999997 uwb: 0.50005444 849.274 989.327 -imu_odom_: 1691062407.360320311 0.416591 -0.205901 9.89284 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.43122774 0 0 0 -0.0002431980.000452744 0.00185516 0.999998 uwb: 0.0 849.274 989.327 -imu_odom_: 1691062407.375309025 0.409408 -0.225055 9.89045 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.0002431980.000452744 0.00185516 0.999998 uwb: 0.0 849.274 989.327 -imu_odom_: 1691062407.389306794 0.395043 -0.196325 9.8689 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0 0 0 -0.0002431980.000452744 0.00185516 0.999998 uwb: 0.0 849.274 989.327 -imu_odom_: 1691062407.403402257 0.392649 -0.232238 9.87848 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.43868753 0 0 0 0.000496921 0.000274422 0.00185247 0.999998 uwb: 0.49890835 849.246 989.722 -imu_odom_: 1691062407.417313412 0.366313 -0.205901 9.88326 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0 0 0 0.000496921 0.000274422 0.00185247 0.999998 uwb: 0.0 849.246 989.722 -imu_odom_: 1691062407.432424901 0.399832 -0.203507 9.85932 -0.0575243 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 0.000496921 0.000274422 0.00185247 0.999998 uwb: 0.0 849.246 989.722 -imu_odom_: 1691062407.446329640 0.414197 -0.237026 9.87369 -0.056459 -0.00319579 0.04048 0 0 pose: 0.0 0 0 0 0.000496921 0.000274422 0.00185247 0.999998 uwb: 0.49992904 849.274 989.328 -imu_odom_: 1691062407.461370847 0.40462 -0.19393 9.89284 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.49024996 0 0 0 2.81445e-05 -0.0001227620.00185344 0.999998 uwb: 0.0 849.274 989.328 -imu_odom_: 1691062407.476362186 0.399832 -0.215478 9.90002 -0.0532632 -0.00319579 0.0383495 0 0 pose: 0.0 0 0 0 2.81445e-05 -0.0001227620.00185344 0.999998 uwb: 0.0 849.274 989.328 -imu_odom_: 1691062407.490371619 0.395043 -0.213084 9.86411 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.38030396 0 0 0 -0.00063261 0.000392392 0.00184606 0.999998 uwb: 0.0 849.274 989.328 -imu_odom_: 1691062407.505449863 0.407014 -0.203507 9.92157 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.00063261 0.000392392 0.00184606 0.999998 uwb: 0.49953535 848.927 989.833 -imu_odom_: 1691062407.520425454 0.40462 -0.225055 9.87369 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.00063261 0.000392392 0.00184606 0.999998 uwb: 0.0 848.927 989.833 -imu_odom_: 1691062407.534504877 0.414197 -0.21069 9.89045 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.6003710 0 0 0 -3.18713e-050.000408123 0.00184581 0.999998 uwb: 0.0 848.927 989.833 -imu_odom_: 1691062407.549458013 0.402226 -0.215478 9.86172 -0.0532632 -0.00532632 0.0383495 0 0 pose: 0.0 0 0 0 -3.18713e-050.000408123 0.00184581 0.999998 uwb: 0.50132593 848.719 990.084 -imu_odom_: 1691062407.564475015 0.380678 -0.222661 9.91199 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 -3.18713e-050.000408123 0.00184581 0.999998 uwb: 0.0 848.719 990.084 -imu_odom_: 1691062407.578365465 0.402226 -0.222661 9.90481 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.44148422 0 0 0 -0.000211341-0.0002558890.00185183 0.999998 uwb: 0.0 848.719 990.084 -imu_odom_: 1691062407.593355054 0.40462 -0.229843 9.90242 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.000211341-0.0002558890.00185183 0.999998 uwb: 0.0 848.719 990.084 -imu_odom_: 1691062407.608349892 0.385466 -0.232238 9.85453 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0 0 0 -0.000211341-0.0002558890.00185183 0.999998 uwb: 0.50094682 847.842 990.694 -imu_odom_: 1691062407.622390530 0.373495 -0.241814 9.89763 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.43854755 0 0 0 -0.0004917090.00143281 0.00184329 0.999997 uwb: 0.0 847.842 990.694 -imu_odom_: 1691062407.637341333 0.383072 -0.215478 9.92397 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.0004917090.00143281 0.00184329 0.999997 uwb: 0.0 847.842 990.694 -imu_odom_: 1691062407.651341142 0.418985 -0.213084 9.91678 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 -0.0004917090.00143281 0.00184329 0.999997 uwb: 0.49902500 847.818 990.692 -imu_odom_: 1691062407.665261921 0.390255 -0.208296 9.90721 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.80972069 0 0 0 -5.6394e-05 -0.0001700510.00186564 0.999998 uwb: 0.0 847.818 990.692 -imu_odom_: 1691062407.680261425 0.392649 -0.225055 9.91199 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0 0 0 -5.6394e-05 -0.0001700510.00186564 0.999998 uwb: 0.0 847.818 990.692 -imu_odom_: 1691062407.694314894 0.397437 -0.225055 9.88805 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -5.6394e-05 -0.0001700510.00186564 0.999998 uwb: 0.0 847.818 990.692 -imu_odom_: 1691062407.708345325 0.402226 -0.220267 9.92875 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.42973752 0 0 0 0.000487665 -0.0001557160.00187594 0.999998 uwb: 0.49846217 847.849 990.961 -imu_odom_: 1691062407.723336664 0.399832 -0.208296 9.89763 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.5950051 0 0 0 -8.83478e-05-6.57095e-060.00187547 0.999998 uwb: 0.0 847.849 990.961 -imu_odom_: 1691062407.738328877 0.397437 -0.208296 9.86172 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -8.83478e-05-6.57095e-060.00187547 0.999998 uwb: 0.0 847.849 990.961 -imu_odom_: 1691062407.752334228 0.428562 -0.222661 9.90481 -0.056459 -0.00426106 0.04048 0 0 pose: 0.38063932 0 0 0 -0.0007430650.000750997 0.00187999 0.999998 uwb: 0.49974531 847.778 990.956 -imu_odom_: 1691062407.767246828 0.40462 -0.215478 9.85932 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0 0 0 -0.0007430650.000750997 0.00187999 0.999998 uwb: 0.0 847.778 990.956 -imu_odom_: 1691062407.781369703 0.42138 -0.19393 9.91199 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 0 0 0 -0.0007430650.000750997 0.00187999 0.999998 uwb: 0.0 847.778 990.956 -imu_odom_: 1691062407.795250238 0.397437 -0.201113 9.92397 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.6001668 0 0 0 -0.0006497120.00015766 0.00188232 0.999998 uwb: 0.50001653 847.651 991.082 -imu_odom_: 1691062407.810257908 0.390255 -0.23942 9.91199 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.0006497120.00015766 0.00188232 0.999998 uwb: 0.0 847.651 991.082 -imu_odom_: 1691062407.824384283 0.392649 -0.215478 9.89284 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.0006497120.00015766 0.00188232 0.999998 uwb: 0.0 847.651 991.082 -imu_odom_: 1691062407.838398383 0.42138 -0.21069 9.88805 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.42994458 0 0 0 0.000832779 -0.0002189910.00187816 0.999998 uwb: 0.0 847.651 991.082 -imu_odom_: 1691062407.853310982 0.387861 -0.222661 9.87848 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 0.000832779 -0.0002189910.00187816 0.999998 uwb: 0.50142801 847.819 991.492 -imu_odom_: 1691062407.867266173 0.411803 -0.21069 9.87369 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 0.000832779 -0.0002189910.00187816 0.999998 uwb: 0.0 847.819 991.492 -imu_odom_: 1691062407.881337140 0.402226 -0.208296 9.89524 -0.056459 -0.00319579 0.04048 0 0 pose: 0.43000873 0 0 0 0.000393929 -0.0001092860.00187834 0.999998 uwb: 0.0 847.819 991.492 -imu_odom_: 1691062407.896259655 0.426168 -0.203507 9.92157 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.000393929 -0.0001092860.00187834 0.999998 uwb: 0.50050646 847.754 990.955 -imu_odom_: 1691062407.910362117 0.387861 -0.215478 9.92636 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.000393929 -0.0001092860.00187834 0.999998 uwb: 0.0 847.754 990.955 -imu_odom_: 1691062407.925347040 0.409408 -0.229843 9.89045 -0.0553937 -0.00639159 0.0383495 0 0 pose: 0.42962088 0 0 0 0.000325992 -0.0001172390.00187823 0.999998 uwb: 0.0 847.754 990.955 -imu_odom_: 1691062407.939314187 0.397437 -0.220267 9.86411 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 0.000325992 -0.0001172390.00187823 0.999998 uwb: 0.0 847.754 990.955 -imu_odom_: 1691062407.953262962 0.407014 -0.234632 9.88566 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0 0 0 0.000325992 -0.0001172390.00187823 0.999998 uwb: 0.49909207 847.484 991.073 -imu_odom_: 1691062407.968366286 0.385466 -0.203507 9.87129 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.43028869 0 0 0 -0.00037905 9.11783e-05 0.00187558 0.999998 uwb: 0.0 847.484 991.073 -imu_odom_: 1691062407.983340418 0.416591 -0.222661 9.92875 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.00037905 9.11783e-05 0.00187558 0.999998 uwb: 0.0 847.484 991.073 -imu_odom_: 1691062407.997255948 0.418985 -0.208296 9.88087 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 -0.00037905 9.11783e-05 0.00187558 0.999998 uwb: 0.49886461 847.897 990.564 -imu_odom_: 1691062408.12244668 0.399832 -0.234632 9.89524 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.42967628 0 0 0 -0.000720653-1.03628e-050.00187451 0.999998 uwb: 0.0 847.897 990.564 -imu_odom_: 1691062408.27431114 0.395043 -0.203507 9.9096 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.000720653-1.03628e-050.00187451 0.999998 uwb: 0.0 847.897 990.564 -imu_odom_: 1691062408.42303188 0.409408 -0.220267 9.92397 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.000720653-1.03628e-050.00187451 0.999998 uwb: 0.0 847.897 990.564 -imu_odom_: 1691062408.56234474 0.399832 -0.189142 9.89284 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.43991819 0 0 0 0.000357955 -0.0004988840.0018812 0.999998 uwb: 0.50114248 848.35 990.592 -imu_odom_: 1691062408.71271900 0.426168 -0.229843 9.89045 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 0.000357955 -0.0004988840.0018812 0.999998 uwb: 0.0 848.35 990.592 -imu_odom_: 1691062408.86254499 0.402226 -0.227449 9.91678 -0.0575243 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 0.000357955 -0.0004988840.0018812 0.999998 uwb: 0.0 848.35 990.592 -imu_odom_: 1691062408.100252860 0.42138 -0.191536 9.87608 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.44978128 0 0 0 0.000284091 -0.0001479330.00190184 0.999998 uwb: 0.49924696 848.318 991.121 -imu_odom_: 1691062408.115283869 0.407014 -0.23942 9.89524 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 0.000284091 -0.0001479330.00190184 0.999998 uwb: 0.0 848.318 991.121 -imu_odom_: 1691062408.129218364 0.423774 -0.215478 9.89524 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 0.000284091 -0.0001479330.00190184 0.999998 uwb: 0.0 848.318 991.121 -imu_odom_: 1691062408.144344443 0.411803 -0.237026 9.94312 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.44066213 0 0 0 -0.0004370390.000174625 0.00191979 0.999998 uwb: 0.0 848.318 991.121 -imu_odom_: 1691062408.159348623 0.40462 -0.198719 9.88566 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.0004370390.000174625 0.00191979 0.999998 uwb: 0.49949484 848.255 990.984 -imu_odom_: 1691062408.174455456 0.423774 -0.191536 9.91678 -0.056459 -0.00426106 0.0383495 0 0 pose: 0.0 0 0 0 -0.0004370390.000174625 0.00191979 0.999998 uwb: 0.0 848.255 990.984 -imu_odom_: 1691062408.188266592 0.399832 -0.213084 9.84975 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.42966197 0 0 0 -0.000659841-0.0007072660.0019313 0.999998 uwb: 0.0 848.255 990.984 -imu_odom_: 1691062408.203339888 0.411803 -0.208296 9.90242 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.000659841-0.0007072660.0019313 0.999998 uwb: 0.50012767 848.43 990.862 -imu_odom_: 1691062408.218335611 0.387861 -0.213084 9.88326 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.000659841-0.0007072660.0019313 0.999998 uwb: 0.0 848.43 990.862 -imu_odom_: 1691062408.232210030 0.411803 -0.213084 9.88805 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.58924579 0 0 0 0.000346888 -0.00066466 0.00191459 0.999998 uwb: 0.0 848.43 990.862 -imu_odom_: 1691062408.247255912 0.414197 -0.201113 9.85693 -0.0543285 -0.00639159 0.04048 0 0 pose: 0.0 0 0 0 0.000346888 -0.00066466 0.00191459 0.999998 uwb: 0.50067592 848.183 990.98 -imu_odom_: 1691062408.261395129 0.414197 -0.21069 9.89045 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.000346888 -0.00066466 0.00191459 0.999998 uwb: 0.0 848.183 990.98 -imu_odom_: 1691062408.276198086 0.402226 -0.191536 9.88805 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.30022942 0 0 0 9.4087e-06 -0.0006464870.00192502 0.999998 uwb: 0.0 848.183 990.98 -imu_odom_: 1691062408.291196142 0.409408 -0.23942 9.85693 -0.056459 -0.00532632 0.04048 0 0 pose: 0.42974946 0 0 0 2.88088e-05 -0.0004788010.00193201 0.999998 uwb: 0.0 848.183 990.98 -imu_odom_: 1691062408.306192740 0.397437 -0.205901 9.91918 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0 0 0 2.88088e-05 -0.0004788010.00193201 0.999998 uwb: 0.50139042 847.96 990.7 -imu_odom_: 1691062408.320313875 0.383072 -0.205901 9.91678 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0 0 0 2.88088e-05 -0.0004788010.00193201 0.999998 uwb: 0.0 847.96 990.7 -imu_odom_: 1691062408.335313389 0.395043 -0.205901 9.86172 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.45125982 0 0 0 0.000462345 0.000973844 0.00194381 0.999998 uwb: 0.0 847.96 990.7 -imu_odom_: 1691062408.350342941 0.418985 -0.220267 9.87129 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 0.000462345 0.000973844 0.00194381 0.999998 uwb: 0.50057969 848.175 990.714 -imu_odom_: 1691062408.364306014 0.399832 -0.237026 9.91199 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.0 0 0 0 0.000462345 0.000973844 0.00194381 0.999998 uwb: 0.0 848.175 990.714 -imu_odom_: 1691062408.379376977 0.416591 -0.198719 9.93115 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.43983099 0 0 0 -0.000721934-0.00047258 0.00195666 0.999998 uwb: 0.0 848.175 990.714 -imu_odom_: 1691062408.393308555 0.387861 -0.213084 9.9096 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 -0.000721934-0.00047258 0.00195666 0.999998 uwb: 0.0 848.175 990.714 -imu_odom_: 1691062408.408194626 0.426168 -0.241814 9.92397 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.000721934-0.00047258 0.00195666 0.999998 uwb: 0.49794922 848.104 990.709 -imu_odom_: 1691062408.423323914 0.385466 -0.21069 9.89524 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.42995069 0 0 0 -0.0002737120.000458477 0.00196829 0.999998 uwb: 0.0 848.104 990.709 -imu_odom_: 1691062408.438302139 0.409408 -0.215478 9.8665 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.0002737120.000458477 0.00196829 0.999998 uwb: 0.0 848.104 990.709 -imu_odom_: 1691062408.452176267 0.399832 -0.225055 9.88805 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 -0.0002737120.000458477 0.00196829 0.999998 uwb: 0.49977771 848.033 990.305 -imu_odom_: 1691062408.467296222 0.390255 -0.19393 9.88566 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.45009915 0 0 0 -0.000400283-6.45934e-050.00198092 0.999998 uwb: 0.0 848.033 990.305 -imu_odom_: 1691062408.482293403 0.390255 -0.213084 9.90481 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0 0 0 -0.000400283-6.45934e-050.00198092 0.999998 uwb: 0.0 848.033 990.305 -imu_odom_: 1691062408.496224398 0.423774 -0.208296 9.88566 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 -0.000400283-6.45934e-050.00198092 0.999998 uwb: 0.49995270 848.214 989.386 -imu_odom_: 1691062408.511290986 0.411803 -0.189142 9.90002 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.44035592 0 0 0 -0.0004511660.00015853 0.00198154 0.999998 uwb: 0.0 848.214 989.386 -imu_odom_: 1691062408.526294875 0.411803 -0.220267 9.92636 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 -0.0004511660.00015853 0.00198154 0.999998 uwb: 0.0 848.214 989.386 -imu_odom_: 1691062408.540206039 0.407014 -0.237026 9.87608 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 -0.0004511660.00015853 0.00198154 0.999998 uwb: 0.0 848.214 989.386 -imu_odom_: 1691062408.555157434 0.414197 -0.225055 9.87129 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.37935933 0 0 0 -1.71129e-05-0.0004492120.00197805 0.999998 uwb: 0.50000810 848.262 989.389 -imu_odom_: 1691062408.570146450 0.402226 -0.201113 9.9096 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -1.71129e-05-0.0004492120.00197805 0.999998 uwb: 0.0 848.262 989.389 -imu_odom_: 1691062408.584201969 0.395043 -0.217872 9.91918 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.5918850 0 0 0 -0.000598935-0.0003256810.00198097 0.999998 uwb: 0.0 848.262 989.389 -imu_odom_: 1691062408.599169404 0.399832 -0.229843 9.88087 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 -0.000598935-0.0003256810.00198097 0.999998 uwb: 0.49993519 848.733 989.157 -imu_odom_: 1691062408.613214133 0.378284 -0.201113 9.88805 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 -0.000598935-0.0003256810.00198097 0.999998 uwb: 0.0 848.733 989.157 -imu_odom_: 1691062408.628153864 0.402226 -0.241814 9.89524 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.43935272 0 0 0 0.000332678 0.000381464 0.00199099 0.999998 uwb: 0.0 848.733 989.157 -imu_odom_: 1691062408.643259822 0.397437 -0.220267 9.90002 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0 0 0 0.000332678 0.000381464 0.00199099 0.999998 uwb: 0.0 848.733 989.157 -imu_odom_: 1691062408.657166611 0.373495 -0.205901 9.93115 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 0.000332678 0.000381464 0.00199099 0.999998 uwb: 0.50061177 848.9 989.169 -imu_odom_: 1691062408.672139879 0.395043 -0.203507 9.91439 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.43072641 0 0 0 -0.00107771 0.000137046 0.00199845 0.999997 uwb: 0.0 848.9 989.169 -imu_odom_: 1691062408.687139685 0.426168 -0.222661 9.8689 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.00107771 0.000137046 0.00199845 0.999997 uwb: 0.0 848.9 989.169 -imu_odom_: 1691062408.702133074 0.407014 -0.225055 9.92875 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 -0.00107771 0.000137046 0.00199845 0.999997 uwb: 0.50050387 849.067 989.181 -imu_odom_: 1691062408.717196746 0.414197 -0.205901 9.89045 -0.0532632 -0.00426106 0.0394148 0 0 pose: 0.43925648 0 0 0 0.00048425 0.000785263 0.00199286 0.999998 uwb: 0.0 849.067 989.181 -imu_odom_: 1691062408.731205605 0.418985 -0.19393 9.88087 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 0.00048425 0.000785263 0.00199286 0.999998 uwb: 0.0 849.067 989.181 -imu_odom_: 1691062408.746201037 0.409408 -0.217872 9.89045 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0 0 0 0.00048425 0.000785263 0.00199286 0.999998 uwb: 0.49811545 849.062 988.916 -imu_odom_: 1691062408.760151570 0.42138 -0.205901 9.89284 -0.0575243 -0.00426106 0.0394148 0 0 pose: 0.45044328 0 0 0 -0.00013769 -6.95455e-050.00199448 0.999998 uwb: 0.0 849.062 988.916 -imu_odom_: 1691062408.775239155 0.414197 -0.225055 9.90002 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0 0 0 -0.00013769 -6.95455e-050.00199448 0.999998 uwb: 0.0 849.062 988.916 -imu_odom_: 1691062408.790250043 0.414197 -0.21069 9.88326 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0 0 0 -0.00013769 -6.95455e-050.00199448 0.999998 uwb: 0.0 849.062 988.916 -imu_odom_: 1691062408.812188516 0.40462 -0.217872 9.91439 -0.0532632 -0.00426106 0.0383495 0 0 pose: 0.44013428 0 0 0 0.00041827 -0.00116151 0.00200636 0.999997 uwb: 0.50263274 848.816 989.691 -imu_odom_: 1691062408.829120930 0.0909797 -0.270545 9.8282 -0.0639159 0.0266316 0.0138484 0 0 pose: 0.0 0 0 0 0.00041827 -0.00116151 0.00200636 0.999997 uwb: 0.0 848.816 989.691 -imu_odom_: 1691062408.845170299 -0.0430956 0.0215478 10.0437 -0.052198 0.00639159 -0.0607201 0.02 0.05 pose: 0.43972308 0 0 0 0.00045809 -0.0002698340.00200829 0.999998 uwb: 0.49653483 848.807 989.823 -imu_odom_: 1691062408.862170954 -0.64404 0.184354 9.43076 -0.0511327 0.0245011 -0.0319579 0.04 0.11 pose: 0.0 0 0 0 0.00045809 -0.0002698340.00200829 0.999998 uwb: 0.0 848.807 989.823 -imu_odom_: 1691062408.878282731 -0.739808 -0.675165 10.094 -0.0649811 0.0127832 0.106526 0.03 0.11 pose: 0.0 0 0 0 0.00045809 -0.0002698340.00200829 0.999998 uwb: 0.0 848.807 989.823 -imu_odom_: 1691062408.895170235 -0.342371 -0.976834 9.83777 -0.0479369 -0.0671117 0.153398 0.03 0.11 pose: 0.74006915 0 0 0 -0.0001087880.00620026 0.000642013 0.999981 uwb: 0.49887076 848.631 989.944 -imu_odom_: 1691062408.911129491 0.213084 0.0287304 9.89284 -0.0276969 -0.0458064 0.152333 0.03 0.11 pose: 0.0 0 0 0 -0.0001087880.00620026 0.000642013 0.999981 uwb: 0.0 848.631 989.944 -imu_odom_: 1691062408.928170099 0.385466 0.222661 9.76116 -0.052198 -0.0170442 0.18003 0.05 0.11 pose: 0.0 0 0 0 -0.0001087880.00620026 0.000642013 0.999981 uwb: 0.0 848.631 989.944 -imu_odom_: 1691062408.944113316 0.184354 -0.237026 10.0556 -0.0607201 0.0149137 0.149137 0.05 0.11 pose: 0.32988199 0 0 0 -0.0008164670.00749711 0.00232018 0.999969 uwb: 0.0 848.631 989.944 -imu_odom_: 1691062408.961166463 -0.11971 -0.287304 9.98861 -0.0553937 -0.00745685 0.111853 0.09 0.11 pose: 0.40940852 0 0 0 0.000799371 0.00832667 0.00484823 0.999953 uwb: 0.50107837 848.885 990.093 -imu_odom_: 1691062408.977217874 -0.244209 -0.301669 9.59835 -0.0596548 -0.00745685 0.126766 0.09 0.11 pose: 0.0 0 0 0 0.000799371 0.00832667 0.00484823 0.999953 uwb: 0.0 848.885 990.093 -imu_odom_: 1691062408.994266647 -0.0263362 -0.181959 9.95988 -0.0639159 -0.0191748 0.118244 0.09 0.11 pose: 0.0 0 0 0 0.000799371 0.00832667 0.00484823 0.999953 uwb: 0.0 848.885 990.093 -imu_odom_: 1691062409.10154167 0.131681 -0.124498 9.78271 -0.0639159 -0.00852212 0.122505 0.08 0.05 pose: 0.7076607 0 0 0 0.00062707 0.00900129 0.00510189 0.999946 uwb: 0.50116294 848.787 990.485 -imu_odom_: 1691062409.27200035 0.35913 -0.28491 10.1418 -0.0639159 -0.00532632 0.118244 0.12 0.08 pose: 0.0 0 0 0 0.00062707 0.00900129 0.00510189 0.999946 uwb: 0.0 848.787 990.485 -imu_odom_: 1691062409.43199838 -0.0502782 -0.234632 9.51935 -0.0617853 -0.00958738 0.0830906 0.12 0.08 pose: 0.50992632 0.00999995 3.22119e-05 0 0.000945413 0.013217 0.00716805 0.999887 uwb: 0.0 848.787 990.485 -imu_odom_: 1691062409.60086186 -0.222661 -0.155623 9.8665 -0.0660464 -0.0138484 0.0894822 0.13 0.08 pose: 0.7142520 0.00999995 3.22119e-05 0 0.00136536 0.0127285 0.0077875 0.999888 uwb: 0.49916557 848.787 991.279 -imu_odom_: 1691062409.76209055 0.423774 -0.265756 10.1347 -0.0820254 -0.00852212 0.107592 0.13 0.08 pose: 0.0 0.00999995 3.22119e-05 0 0.00136536 0.0127285 0.0077875 0.999888 uwb: 0.0 848.787 991.279 -imu_odom_: 1691062409.93085487 0.380678 -0.122104 10.1275 -0.0798948 -0.02024 0.0788296 0.13 0.08 pose: 0.33829562 0.00999995 3.22119e-05 0 0.000636734 0.0141049 0.0087162 0.999862 uwb: 0.0 848.787 991.279 -imu_odom_: 1691062409.109086457 0.837971 0.0047884 9.63666 -0.092678 -0.0671117 0.0980043 0.11 0.05 pose: 0.41959238 0.0158599 7.59036e-05 0 0.000546147 0.0116114 0.00983104 0.999884 uwb: 0.49943975 848.844 991.547 -imu_odom_: 1691062409.126130283 0.933739 -0.141258 9.85932 -0.1012 -0.0330232 0.125701 0.11 0.05 pose: 0.7017120 0.0199998 7.4575e-05 0 0.000637725 0.0107217 0.0100404 0.999892 uwb: 0.0 848.844 991.547 -imu_odom_: 1691062409.142129794 0.857124 -0.632069 9.91439 -0.0894822 -0.00106526 0.12144 0.11 0.05 pose: 0.0 0.0199998 7.4575e-05 0 0.000637725 0.0107217 0.0100404 0.999892 uwb: 0.0 848.844 991.547 -imu_odom_: 1691062409.159078842 1.16358 -0.452504 10.1323 -0.0713727 -0.0319579 0.0894822 0.11 0 pose: 0.42027187 0.0199998 7.4575e-05 0 -0.0006555480.00634185 0.0116994 0.999911 uwb: 0.50039337 849.131 991.563 -imu_odom_: 1691062409.175124430 0.962469 0.100556 9.84975 -0.0639159 -0.0340885 0.0671117 0.08 -0.02 pose: 0.0 0.0199998 7.4575e-05 0 -0.0006555480.00634185 0.0116994 0.999911 uwb: 0.0 849.131 991.563 -imu_odom_: 1691062409.192118971 1.1564 -0.0454898 10.149 -0.0639159 0.0394148 0.0596548 0.08 -0.02 pose: 0.0 0.0199998 7.4575e-05 0 -0.0006555480.00634185 0.0116994 0.999911 uwb: 0.0 849.131 991.563 -imu_odom_: 1691062409.208068906 0.476446 -0.344765 9.83538 -0.056459 0.036219 0.0319579 0.06 0.02 pose: 0.23952169 0.0199998 7.4575e-05 0 -0.000882 0.00373478 0.0122172 0.999918 uwb: 0.50006383 849.114 991.43 -imu_odom_: 1691062409.225062281 0.481235 -0.445322 10.0365 -0.0500674 -0.00106526 0.00745685 0.06 0.02 pose: 0.0 0.0199998 7.4575e-05 0 -0.000882 0.00373478 0.0122172 0.999918 uwb: 0.0 849.114 991.43 -imu_odom_: 1691062409.241060917 0.890643 -0.349553 9.68455 -0.0628506 -0.00106526 0.0138484 0.06 0.02 pose: 0.34065489 0.0199998 7.4575e-05 0 -0.0008057940.00116573 0.0124822 0.999921 uwb: 0.0 849.114 991.43 -imu_odom_: 1691062409.268142240 0.737414 -0.378284 9.93354 -0.0511327 -0.0287621 0.0490022 0.07 0.02 pose: 0.40913465 0.0299997 0.00012129 0 -0.00320648 -0.0014515 0.0119651 0.999922 uwb: 0.49941642 849.392 990.787 -imu_odom_: 1691062409.293055902 0.196325 -0.246603 9.68694 -0.0479369 0.0511327 -0.0308927 0.05 0 pose: 0.7018578 0.0299997 0.00012129 0 -0.00340129 -0.0022077 0.0119966 0.99992 uwb: 0.0 849.392 990.787 -imu_odom_: 1691062409.310065608 -1.29287 0.296881 9.98143 -0.0383495 0.0798948 -0.0543285 0.08 0.05 pose: 0.0 0.0299997 0.00012129 0 -0.00340129 -0.0022077 0.0119966 0.99992 uwb: 0.50004633 849.432 990.526 -imu_odom_: 1691062409.335110210 -0.612916 -0.770933 10.0149 -0.0660464 -0.052198 0.0788296 0.08 0.05 pose: 0.0 0.0299997 0.00012129 0 -0.00340129 -0.0022077 0.0119966 0.99992 uwb: 0.0 849.432 990.526 -imu_odom_: 1691062409.352102127 0.229843 -0.802058 9.84256 -0.0351537 -0.076699 0.0575243 0.1 0 pose: 0.52051852 0.0299997 0.00012129 0 -0.00324234 -0.00024472 0.0108837 0.999935 uwb: 0.50108744 849.338 990.124 -imu_odom_: 1691062409.377201847 0.711078 0.0622492 9.36372 -0.0426106 0.00213053 0.0735032 0.1 0 pose: 0.0 0.0299997 0.00012129 0 -0.00324234 -0.00024472 0.0108837 0.999935 uwb: 0.0 849.338 990.124 -imu_odom_: 1691062409.401203009 -0.0861913 -0.208296 10.0293 -0.0607201 0.0298274 0.0500674 0.12 0 pose: 0.77070500 0.0399997 0.000140628 0 -0.00359622 0.000890675 0.0114886 0.999927 uwb: 0.49867568 849.249 990.382 -imu_odom_: 1691062409.425189590 0.0574608 -0.349553 9.39245 -0.0532632 -0.0415453 0.0490022 0.12 0 pose: 0.6903968 0.0399997 0.000140628 0 -0.00351178 0.00169089 0.0115269 0.999926 uwb: 0.0 849.249 990.382 -imu_odom_: 1691062409.450047260 0.258574 -0.507571 9.90481 -0.0543285 0.00213053 0.0788296 0.11 0 pose: 0.41083775 0.0399997 0.000140628 0 -0.0039215 0.00553469 0.0117413 0.999908 uwb: 0.50004050 849.436 989.735 -imu_odom_: 1691062409.475034995 0.0742203 -0.0981623 9.91918 -0.052198 -0.0276969 0.0639159 0.14 0 pose: 0.0 0.0399997 0.000140628 0 -0.0039215 0.00553469 0.0117413 0.999908 uwb: 0.0 849.436 989.735 -imu_odom_: 1691062409.489026074 0.282516 -0.414197 9.51456 -0.0500674 -0.00532632 0.072438 0.14 0 pose: 0.0 0.0399997 0.000140628 0 -0.0039215 0.00553469 0.0117413 0.999908 uwb: 0.0 849.436 989.735 -imu_odom_: 1691062409.505228849 0.476446 -0.407014 9.74919 -0.0511327 -0.0170442 0.0617853 0.14 0 pose: 0.31914451 0.0499996 0.000179442 0 -0.00582917 0.00637566 0.0123088 0.999887 uwb: 0.0 849.436 989.735 -imu_odom_: 1691062409.529199099 0.481235 -0.248997 10.0054 -0.0458064 0.0170442 0.0585895 0.19 0.05 pose: 0.0 0.0499996 0.000179442 0 -0.00582917 0.00637566 0.0123088 0.999887 uwb: 0.0 849.436 989.735 -imu_odom_: 1691062409.554056769 0.184354 -0.184354 9.71567 -0.0458064 -0.00106526 0.0553937 0.19 0.05 pose: 0.55059689 0.0499996 0.000179442 0 -0.00599331 0.00495178 0.0129925 0.999885 uwb: 0.100085090 849.165 989.848 -imu_odom_: 1691062409.579369667 0.107739 -0.318429 9.97903 -0.0372843 -0.00532632 0.0458064 0.14 0.02 pose: 0.41893039 0.0599994 0.000238711 0 -0.00344069 0.00554724 0.0133589 0.999889 uwb: 0.0 849.165 989.848 -imu_odom_: 1691062409.606126118 0.557849 -0.124498 9.60554 -0.0660464 -0.0117179 0.056459 0.19 0.02 pose: 0.7053281 0.0599994 0.000238711 0 -0.00352574 0.00623393 0.013382 0.999885 uwb: 0.50027963 849.173 989.717 -imu_odom_: 1691062409.631229046 0.469264 -0.476446 9.8665 -0.0735032 -0.036219 0.0617853 0.19 0.02 pose: 0.0 0.0599994 0.000238711 0 -0.00352574 0.00623393 0.013382 0.999885 uwb: 0.0 849.173 989.717 -imu_odom_: 1691062409.648058527 0.28491 -0.181959 9.83538 -0.056459 -0.0117179 0.0490022 0.18 0.02 pose: 0.25057726 0.0599994 0.000238711 0 -0.00346067 0.00738586 0.0134999 0.999876 uwb: 0.50041670 848.763 989.423 -imu_odom_: 1691062409.673209573 0.011971 -0.220267 9.7037 -0.056459 -0.00639159 0.0426106 0.18 0.02 pose: 0.0 0.0599994 0.000238711 0 -0.00346067 0.00738586 0.0134999 0.999876 uwb: 0.0 848.763 989.423 -imu_odom_: 1691062409.698152398 0.512359 -0.418985 9.97664 -0.0490022 -0.0149137 0.0372843 0.19 0 pose: 0.52016273 0.0699992 0.000308221 0 -0.00411926 0.0037554 0.0139731 0.999887 uwb: 0.49926769 848.748 989.289 -imu_odom_: 1691062409.711992705 0.320823 -0.0430956 9.8258 -0.0394148 -0.00319579 0.0383495 0.19 0 pose: 0.0 0.0699992 0.000308221 0 -0.00411926 0.0037554 0.0139731 0.999887 uwb: 0.0 848.748 989.289 -imu_odom_: 1691062409.736134432 0.351948 -0.328006 10.3477 -0.0436758 0.015979 0.0426106 0.16 0 pose: 0.42133631 0.0799991 0.000287955 0 -0.00316824 0.00590524 0.0140602 0.999879 uwb: 0.0 848.748 989.289 -imu_odom_: 1691062409.753110892 0.110133 -0.0550666 9.90242 -0.04048 -0.00106526 0.0458064 0.16 0 pose: 0.0 0.0799991 0.000287955 0 -0.00316824 0.00590524 0.0140602 0.999879 uwb: 0.49995301 848.667 988.752 -imu_odom_: 1691062409.778114958 0.37589 -0.0814029 10.2232 -0.0447411 -0.00745685 0.0479369 0.16 0 pose: 0.38782549 0.0799991 0.000287955 0 -0.00311066 0.0040003 0.0140331 0.999889 uwb: 0.0 848.667 988.752 -imu_odom_: 1691062409.795004222 0.521936 -0.155623 10.3741 -0.0553937 -0.0170442 0.0500674 0.16 0 pose: 0.0 0.0799991 0.000287955 0 -0.00311066 0.0040003 0.0140331 0.999889 uwb: 0.49881275 848.636 988.218 -imu_odom_: 1691062409.819998665 0.775721 -0.213084 9.81383 -0.0500674 0.00213053 0.056459 0.17 0.02 pose: 0.40916965 0.0899991 0.000268383 0 -0.00240933 0.00425923 0.0141421 0.999888 uwb: 0.0 848.636 988.218 -imu_odom_: 1691062409.844996899 0.392649 -0.241814 9.77313 -0.0745685 -0.0351537 0.0649811 0.17 0.02 pose: 0.0 0.0899991 0.000268383 0 -0.00240933 0.00425923 0.0141421 0.999888 uwb: 0.50114285 848.589 986.752 -imu_odom_: 1691062409.868009739 0.833182 -0.146046 10.2496 -0.0500674 -0.00319579 0.036219 0.17 0 pose: 0.43129827 0.0999988 0.000351029 0 4.45041e-05 0.00121224 0.0143822 0.999896 uwb: 0.0 848.589 986.752 -imu_odom_: 1691062409.884019165 0.275333 -0.138864 10.1825 -0.0660464 -0.02024 0.052198 0.17 0 pose: 0.0 0.0999988 0.000351029 0 4.45041e-05 0.00121224 0.0143822 0.999896 uwb: 0.0 848.589 986.752 -imu_odom_: 1691062409.911027873 0.428562 -0.177171 9.44991 -0.0490022 -0.0511327 0.0415453 0.21 -0.02 pose: 0.47865260 0.109999 0.000340999 0 -0.00207654 -7.61926e-050.014831 0.999888 uwb: 0.49736628 848.269 985.789 -imu_odom_: 1691062409.936120011 0.536301 -0.213084 10.1418 -0.0703074 0.00213053 0.0532632 0.21 -0.02 pose: 0.0 0.109999 0.000340999 0 -0.00207654 -7.61926e-050.014831 0.999888 uwb: 0.0 848.269 985.789 -imu_odom_: 1691062409.952992944 0.162806 -0.174777 10.0652 -0.0596548 0.00958738 0.0479369 0.21 0.02 pose: 0.40070373 0.109999 0.000340999 0 -9.21659e-05-0.0008595810.0149073 0.999889 uwb: 0.50115743 848.129 985.241 -imu_odom_: 1691062409.978108120 0.071826 -0.136469 9.69891 -0.0745685 0.0234358 0.0490022 0.21 0.02 pose: 0.0 0.109999 0.000340999 0 -9.21659e-05-0.0008595810.0149073 0.999889 uwb: 0.0 848.129 985.241 -imu_odom_: 1691062410.3023240 0.136469 -0.294487 10.4076 -0.0639159 0.0181095 0.0255663 0.21 -0.02 pose: 0.52022106 0.119998 0.000439156 0 0.000874678 -0.00343258 0.0151317 0.999879 uwb: 0.50003758 848.079 984.298 -imu_odom_: 1691062410.26077797 0.636858 -0.0335188 9.97424 -0.036219 0.00639159 0.0276969 0.21 -0.02 pose: 0.0 0.119998 0.000439156 0 0.000874678 -0.00343258 0.0151317 0.999879 uwb: 0.0 848.079 984.298 -imu_odom_: 1691062410.50984184 0.462081 -0.150835 10.2113 -0.0692422 -0.0138484 0.0308927 0.17 -0.02 pose: 0.41930075 0.129998 0.000541744 0 0.000736568 0.00117063 0.0152376 0.999883 uwb: 0.50097397 847.89 982.936 -imu_odom_: 1691062410.68022771 0.246603 -0.179565 9.89524 -0.052198 0 0.0245011 0.17 -0.02 pose: 0.0 0.129998 0.000541744 0 0.000736568 0.00117063 0.0152376 0.999883 uwb: 0.0 847.89 982.936 -imu_odom_: 1691062410.92954238 0.45011 -0.440533 9.46907 -0.0607201 -0.0127832 0.0468716 0.17 -0.02 pose: 0.49006415 0.139997 0.000644866 0 0.00169411 0.00044293 0.0149427 0.999887 uwb: 0.0 847.89 982.936 -imu_odom_: 1691062410.117986317 0.476446 -0.275333 9.55526 -0.0468716 -0.00958738 0.0234358 0.17 -0.02 pose: 0.0 0.139997 0.000644866 0 0.00169411 0.00044293 0.0149427 0.999887 uwb: 0.49874891 847.942 981.464 -imu_odom_: 1691062410.140991005 -0.174777 -0.0335188 10.0221 -0.0692422 0.00213053 0.0330232 0.19 -0.05 pose: 0.41930393 0.149997 0.000740542 0 0.0013751 0.000331139 0.014769 0.99989 uwb: 0.0 847.942 981.464 -imu_odom_: 1691062410.156952324 0.181959 -0.351948 10.343 -0.0468716 0.00532632 0.0245011 0.19 -0.05 pose: 0.0 0.149997 0.000740542 0 0.0013751 0.000331139 0.014769 0.99989 uwb: 0.50111692 847.782 979.692 -imu_odom_: 1691062410.184063993 0.687136 -0.102951 10.2807 -0.0639159 -0.0351537 0.0394148 0.25 0.02 pose: 0.48015770 0.149997 0.000740542 0 -0.00156645 -0.00160602 0.014609 0.999891 uwb: 0.0 847.782 979.692 -imu_odom_: 1691062410.209946455 0.414197 -0.102951 9.97185 -0.0479369 -0.0234358 0.036219 0.18 0 pose: 0.40024321 0.159996 0.000832782 0 -0.00155694 0.000801571 0.0144346 0.999894 uwb: 0.49877515 847.581 979.394 -imu_odom_: 1691062410.237045292 0.658405 -0.280122 10.3046 -0.0575243 -0.00426106 0.0319579 0.21 -0.02 pose: 0.28012796 0.169996 0.000921454 0 6.30117e-05 -0.00128815 0.0144174 0.999895 uwb: 0.0 847.581 979.394 -imu_odom_: 1691062410.252919997 0.335188 -0.1652 9.55765 -0.0511327 -0.015979 0.04048 0.21 -0.02 pose: 0.0 0.169996 0.000921454 0 6.30117e-05 -0.00128815 0.0144174 0.999895 uwb: 0.50149020 847.531 978.708 -imu_odom_: 1691062410.280039540 0.385466 -0.452504 9.61511 -0.0628506 -0.0213053 0.0426106 0.24 0 pose: 0.25035286 0.169996 0.000921454 0 0.00161788 -0.00188057 0.0143598 0.999894 uwb: 0.0 847.531 978.708 -imu_odom_: 1691062410.305113904 0.452504 -0.167594 9.92397 -0.0351537 0.0127832 0.0383495 0.18 -0.02 pose: 0.42995414 0.179996 0.0010086 0 0.000480605 -0.00216994 0.0143048 0.999895 uwb: 0.49774280 847.388 978.01 -imu_odom_: 1691062410.329982380 0.675165 -0.148441 10.2711 -0.0479369 -0.0106526 0.0287621 0.23 0 pose: 0.0 0.179996 0.0010086 0 0.000480605 -0.00216994 0.0143048 0.999895 uwb: 0.0 847.388 978.01 -imu_odom_: 1691062410.351932255 -0.0502782 -0.282516 9.94312 -0.0585895 -0.00426106 0.0543285 0.23 0 pose: 0.51971396 0.189995 0.0010949 0 0.00135025 -0.00275179 0.0142811 0.999893 uwb: 0.50178183 847.502 977.074 -imu_odom_: 1691062410.367966480 0.414197 -0.0526724 10.3453 -0.0394148 -0.0234358 0.0490022 0.18 -0.02 pose: 0.0 0.189995 0.0010949 0 0.00135025 -0.00275179 0.0142811 0.999893 uwb: 0.0 847.502 977.074 -imu_odom_: 1691062410.393127749 0.550666 0.0287304 9.70131 -0.0511327 -0.036219 0.052198 0.18 -0.02 pose: 0.24023925 0.189995 0.0010949 0 0.00164105 -0.003975 0.0142296 0.99989 uwb: 0.0 847.502 977.074 -imu_odom_: 1691062410.415186692 0.198719 -0.117316 9.67736 -0.076699 -0.0479369 0.052198 0.21 0 pose: 0.38884351 0.199995 0.00117938 0 0.00359645 -0.00255431 0.0144599 0.999886 uwb: 0.49887139 847.545 975.854 -imu_odom_: 1691062410.430954953 0.790087 -0.177171 10.228 -0.0543285 0.0287621 0.0372843 0.21 0 pose: 0.0 0.199995 0.00117938 0 0.00359645 -0.00255431 0.0144599 0.999886 uwb: 0.0 847.545 975.854 -imu_odom_: 1691062410.455904209 0.837971 -0.265756 10.307 -0.0745685 -0.0223706 0.036219 0.22 0 pose: 0.56020051 0.209994 0.0012684 0 0.00470743 -0.00329706 0.0146889 0.999876 uwb: 0.50122482 847.716 974.654 -imu_odom_: 1691062410.479940090 0.23942 -0.232238 9.94551 -0.0639159 0.0117179 0.0340885 0.22 0 pose: 0.0 0.209994 0.0012684 0 0.00470743 -0.00329706 0.0146889 0.999876 uwb: 0.0 847.716 974.654 -imu_odom_: 1691062410.497043128 0.409408 -0.215478 9.83777 -0.0862864 -0.0191748 0.056459 0.18 0.02 pose: 0.6964631 0.209994 0.0012684 0 0.00439303 -0.00401186 0.0146805 0.999875 uwb: 0.49976085 847.569 973.945 -imu_odom_: 1691062410.521097381 0.603339 -0.287304 9.33739 -0.0681769 0.0223706 0.0543285 0.18 0.02 pose: 0.0 0.209994 0.0012684 0 0.00439303 -0.00401186 0.0146805 0.999875 uwb: 0.0 847.569 973.945 -imu_odom_: 1691062410.546917435 0.225055 -0.186748 10.3956 -0.0426106 0.00213053 0.0255663 0.18 0 pose: 0.49082249 0.219994 0.00136167 0 0.00214947 -0.00290943 0.0146486 0.999886 uwb: 0.49915427 848.203 972.279 -imu_odom_: 1691062410.571883897 -0.0694318 -0.1652 9.99579 -0.04048 0.0319579 0.0255663 0.18 0 pose: 0.41046473 0.229994 0.00145453 0 5.4736e-05 -0.00328385 0.014867 0.999884 uwb: 0.0 848.203 972.279 -imu_odom_: 1691062410.596884188 0.0670376 -0.320823 9.90242 -0.0511327 -0.0223706 0.0308927 0.18 0 pose: 0.43835591 0.239993 0.00155188 0 0.000720276 0.0016003 0.014559 0.999892 uwb: 0.49947797 848.189 971.179 -imu_odom_: 1691062410.613071809 0.794875 -0.150835 9.56723 -0.0426106 -0.015979 0.04048 0.18 0 pose: 0.0 0.239993 0.00155188 0 0.000720276 0.0016003 0.014559 0.999892 uwb: 0.0 848.189 971.179 -imu_odom_: 1691062410.634896867 0.332794 -0.347159 9.84975 -0.0447411 -0.0138484 0.0436758 0.19 0 pose: 0.41187912 0.246348 0.0016095 0 0.000178374 0.00199674 0.0144545 0.999894 uwb: 0.0 848.189 971.179 -imu_odom_: 1691062410.660038597 0.418985 -0.181959 9.84256 -0.0319579 0.0138484 0.0276969 0.19 0 pose: 0.0 0.246348 0.0016095 0 0.000178374 0.00199674 0.0144545 0.999894 uwb: 0.50058325 848.655 970.033 -imu_odom_: 1691062410.677019443 0.418985 -0.306458 9.95988 -0.0553937 -0.00319579 0.0426106 0.21 0 pose: 0.28936670 0.249993 0.00164198 0 -0.0012274 0.00194653 0.0144524 0.999893 uwb: 0.0 848.655 970.033 -imu_odom_: 1691062410.702084767 0.56982 -0.196325 9.73482 -0.0287621 0.0308927 0.0287621 0.21 0 pose: 0.0 0.249993 0.00164198 0 -0.0012274 0.00194653 0.0144524 0.999893 uwb: 0.49871099 848.583 968.23 -imu_odom_: 1691062410.727990559 0.538695 -0.198719 10.0317 -0.0426106 0.0255663 0.0276969 0.23 0.02 pose: 0.24953047 0.259992 0.00173041 0 -0.0003239960.000682612 0.0143554 0.999897 uwb: 0.0 848.583 968.23 -imu_odom_: 1691062410.755164636 0.361524 0.023942 10.0652 -0.0500674 -0.0383495 0.0479369 0.23 0.02 pose: 0.43037992 0.259992 0.00173041 0 -8.27458e-05-0.00228652 0.0141833 0.999897 uwb: 0.50165351 848.607 967.545 -imu_odom_: 1691062410.770865531 0.711078 -0.392649 9.78271 -0.0809601 0.0170442 0.0436758 0.23 0 pose: 0.0 0.259992 0.00173041 0 -8.27458e-05-0.00228652 0.0141833 0.999897 uwb: 0.0 848.607 967.545 -imu_odom_: 1691062410.795850366 0.215478 -0.25618 9.95509 -0.0298274 0.00958738 0.02024 0.23 0 pose: 0.50912499 0.269992 0.00181409 0 0.00246155 -0.00333799 0.0141933 0.999891 uwb: 0.49888598 848.843 966.351 -imu_odom_: 1691062410.818909881 0.603339 -0.201113 9.60314 -0.04048 -0.02024 0.0255663 0.22 -0.02 pose: 0.0 0.269992 0.00181409 0 0.00246155 -0.00333799 0.0141933 0.999891 uwb: 0.0 848.843 966.351 -imu_odom_: 1691062410.836904421 0.356736 -0.31364 9.20331 -0.0223706 0.00745685 0.0266316 0.22 -0.02 pose: 0.0 0.269992 0.00181409 0 0.00246155 -0.00333799 0.0141933 0.999891 uwb: 0.0 848.843 966.351 -imu_odom_: 1691062410.860965382 0.258574 -0.337582 9.69891 -0.0511327 -0.0106526 0.0394148 0.18 -0.02 pose: 0.75992404 0.289991 0.00197646 0 0.000327618 -0.00254233 0.0137064 0.999903 uwb: 0.49855935 848.89 966.362 -imu_odom_: 1691062410.885892766 0.665588 -0.0143652 9.98382 -0.0308927 -0.0415453 0.036219 0.18 -0.02 pose: 0.5949770 0.289991 0.00197646 0 4.23546e-06 -0.00207026 0.0137066 0.999904 uwb: 0.0 848.89 966.362 -imu_odom_: 1691062410.910905889 0.553061 -0.368707 9.93354 -0.0585895 -0.00958738 0.0490022 0.19 0 pose: 0.43038575 0.297469 0.00203174 0 0.00100464 -0.00294734 0.0136631 0.999902 uwb: 0.49976960 849.149 964.897 -imu_odom_: 1691062410.934077972 0.593762 -0.220267 10.2089 -0.0511327 -0.04048 0.0553937 0.18 0 pose: 0.0 0.297469 0.00203174 0 0.00100464 -0.00294734 0.0136631 0.999902 uwb: 0.0 849.149 964.897 -imu_odom_: 1691062410.951877997 -0.059855 -0.251391 9.54568 -0.0777643 0.04048 0.052198 0.18 0 pose: 0.30978933 0.299991 0.0020502 0 -0.00109394 -0.00490976 0.0138345 0.999892 uwb: 0.50147562 849.329 963.827 -imu_odom_: 1691062410.975932542 0.292093 -0.035913 9.58399 -0.0532632 0.0127832 0.0255663 0.18 0 pose: 0.0 0.299991 0.0020502 0 -0.00109394 -0.00490976 0.0138345 0.999892 uwb: 0.0 849.329 963.827 -imu_odom_: 1691062411.862843 0.11971 -0.323217 10.137 -0.0788296 -0.00745685 0.0383495 0.18 0 pose: 0.41015851 0.309991 0.00212702 0 -0.000577791-0.00425005 0.0140363 0.999892 uwb: 0.49971711 849.265 962.975 -imu_odom_: 1691062411.25825819 0.383072 -0.222661 10.343 -0.0553937 0.00213053 0.0394148 0.19 0 pose: 0.42975293 0.31999 0.00220781 0 -0.000472306-0.0005026780.01389 0.999903 uwb: 0.0 849.265 962.975 -imu_odom_: 1691062411.41825059 0.332794 -0.177171 9.9527 -0.0639159 -0.0106526 0.0511327 0.19 0 pose: 0.6006056 0.31999 0.00220781 0 -0.00044633 0.000116802 0.0138897 0.999903 uwb: 0.0 849.265 962.975 -imu_odom_: 1691062411.66819825 0.521936 -0.0694318 10.2304 -0.0617853 -0.0223706 0.0351537 0.18 -0.02 pose: 0.0 0.31999 0.00220781 0 -0.00044633 0.000116802 0.0138897 0.999903 uwb: 0.49980486 849.396 962.449 -imu_odom_: 1691062411.82943589 0.110133 -0.19393 9.89524 -0.0628506 0.0383495 0.0298274 0.18 -0.02 pose: 0.40958135 0.32999 0.00228561 0 0.00122292 0.0023898 0.0139727 0.999899 uwb: 0.0 849.396 962.449 -imu_odom_: 1691062411.108809445 -0.122104 0.0167594 9.97424 -0.0479369 -0.0213053 0.0340885 0.19 0 pose: 0.0 0.32999 0.00228561 0 0.00122292 0.0023898 0.0139727 0.999899 uwb: 0.50140885 849.317 961.589 -imu_odom_: 1691062411.133927277 -0.035913 -0.198719 10.3382 -0.0703074 -0.0255663 0.0319579 0.19 0 pose: 0.42013242 0.33999 0.00236419 0 0.00233512 0.00321807 0.0138339 0.999896 uwb: 0.0 849.317 961.589 -imu_odom_: 1691062411.158808017 0.37589 -0.294487 9.78271 -0.0585895 -0.0447411 0.0468716 0.18 -0.02 pose: 0.44087001 0.347589 0.00242258 0 0.00251598 0.00704307 0.013674 0.999879 uwb: 0.49983699 849.029 961.656 -imu_odom_: 1691062411.181785015 0.332794 -0.577003 10.0341 -0.0820254 -0.0372843 0.0479369 0.18 -0.02 pose: 0.6011599 0.34999 0.00244031 0 0.00205025 0.00653032 0.0136934 0.999883 uwb: 0.0 849.029 961.656 -imu_odom_: 1691062411.205811288 0.665588 -0.167594 10.1011 -0.0468716 -0.0745685 0.0383495 0.23 -0.02 pose: 0.41846139 0.357019 0.00249245 0 -0.00200224 0.00434008 0.0138407 0.999893 uwb: 0.49762063 849.058 959.837 -imu_odom_: 1691062411.222855427 0.593762 -0.0454898 9.93594 -0.076699 -0.0479369 0.0330232 0.23 -0.02 pose: 0.0 0.357019 0.00249245 0 -0.00200224 0.00434008 0.0138407 0.999893 uwb: 0.0 849.058 959.837 -imu_odom_: 1691062411.246824832 0.248997 -0.251391 9.71328 -0.0575243 0.00426106 0.0266316 0.19 0 pose: 0.41070412 0.359989 0.00251521 0 -0.000295431-0.0004547770.0137698 0.999905 uwb: 0.50114348 848.866 958.088 -imu_odom_: 1691062411.271788685 0.407014 -0.299275 9.54089 -0.0756338 -0.00852212 0.0319579 0.19 0 pose: 0.0 0.359989 0.00251521 0 -0.000295431-0.0004547770.0137698 0.999905 uwb: 0.0 848.866 958.088 -imu_odom_: 1691062411.288783831 0.629675 -0.220267 10.24 -0.0383495 -0.00745685 0.036219 0.19 0 pose: 0.0 0.359989 0.00251521 0 -0.000295431-0.0004547770.0137698 0.999905 uwb: 0.0 848.866 958.088 -imu_odom_: 1691062411.312907507 0.864307 -0.282516 10.1035 -0.0745685 -0.0426106 0.0500674 0.19 0 pose: 0.48933258 0.369989 0.00258971 0 -0.00318602 0.000632022 0.0135155 0.999903 uwb: 0.0 848.866 958.088 -imu_odom_: 1691062411.336772802 0.708684 -0.349553 10.2975 -0.04048 -0.0234358 0.0394148 0.19 0 pose: 0.41118822 0.379989 0.00265975 0 -0.00289243 -0.00391939 0.013603 0.999896 uwb: 0.0 848.866 958.088 -imu_odom_: 1691062411.353793611 0.213084 -0.339977 9.55526 -0.0575243 -0.00958738 0.0426106 0.19 0 pose: 0.0 0.379989 0.00265975 0 -0.00289243 -0.00391939 0.013603 0.999896 uwb: 0.99841998 848.757 957.06 -imu_odom_: 1691062411.377825716 0.385466 -0.433351 9.75398 -0.0436758 0.0170442 0.0383495 0.19 0 pose: 0.40886104 0.389988 0.00273208 0 -0.00378944 -0.00479822 0.0136323 0.999888 uwb: 0.0 848.757 957.06 -imu_odom_: 1691062411.402823398 0.586579 -0.550666 9.47864 -0.0692422 0.0372843 0.0276969 0.19 0 pose: 0.0 0.389988 0.00273208 0 -0.00378944 -0.00479822 0.0136323 0.999888 uwb: 0.50031526 848.679 956.466 -imu_odom_: 1691062411.426772098 0.349553 -0.440533 9.57681 -0.0490022 -0.0340885 0.0596548 0.2 -0.02 pose: 0.49029787 0.397477 0.00280557 0 -0.0079478 -0.00383507 0.0134796 0.99987 uwb: 0.0 848.679 956.466 -imu_odom_: 1691062411.443849191 0.691924 -0.189142 10.1969 -0.0479369 -0.0394148 0.0468716 0.2 -0.02 pose: 0.0 0.397477 0.00280557 0 -0.0079478 -0.00383507 0.0134796 0.99987 uwb: 0.0 848.679 956.466 -imu_odom_: 1691062411.467911042 0.667982 -0.0383072 10.161 -0.0511327 -0.00213053 0.0447411 0.2 0 pose: 0.41025793 0.406058 0.0129288 0 -0.00793795 -0.00374099 0.013795 0.999866 uwb: 0.49955994 848.705 955.184 -imu_odom_: 1691062411.491920983 0.402226 -0.380678 9.75158 -0.0745685 0.0276969 0.0394148 0.2 0 pose: 0.0 0.406058 0.0129288 0 -0.00793795 -0.00374099 0.013795 0.999866 uwb: 0.0 848.705 955.184 -imu_odom_: 1691062411.517801711 0.402226 -0.229843 9.3733 -0.0681769 0.00958738 0.0479369 0.23 0 pose: 0.48071792 0.416939 0.0131009 0 -0.00723827 -0.00242659 0.0138527 0.999875 uwb: 0.50109973 848.514 953.829 -imu_odom_: 1691062411.541755369 0.435745 -0.181959 9.13388 -0.0596548 0.0170442 0.0436758 0.19 -0.02 pose: 0.0 0.416939 0.0131009 0 -0.00723827 -0.00242659 0.0138527 0.999875 uwb: 0.0 848.514 953.829 -imu_odom_: 1691062411.558752556 0.318429 -0.229843 9.83299 -0.0713727 0.0127832 0.052198 0.19 -0.02 pose: 0.31894369 0.419814 0.013152 0 -0.00440155 -0.00129708 0.0139712 0.999892 uwb: 0.49946079 848.619 952.124 -imu_odom_: 1691062411.582807408 0.148441 -0.363919 9.96227 -0.0607201 0.0372843 0.052198 0.18 0.02 pose: 0.0 0.419814 0.013152 0 -0.00440155 -0.00129708 0.0139712 0.999892 uwb: 0.0 848.619 952.124 -imu_odom_: 1691062411.606759899 0.746991 -0.4956 10.0748 -0.0617853 -0.0255663 0.0383495 0.18 0.02 pose: 0.42003909 0.429812 0.0133316 0 -0.00257465 0.00132522 0.0141599 0.999896 uwb: 0.50052815 848.638 950.966 -imu_odom_: 1691062411.630758759 0.349553 -0.395043 9.48343 -0.0383495 -0.00319579 0.0394148 0.25 0.02 pose: 0.40940638 0.436872 0.0133903 0 -0.00448025 0.000836703 0.0142451 0.999888 uwb: 0.0 848.638 950.966 -imu_odom_: 1691062411.647728825 0.445322 -0.371101 9.91918 -0.0383495 -0.00958738 0.0351537 0.25 0.02 pose: 0.0 0.436872 0.0133903 0 -0.00448025 0.000836703 0.0142451 0.999888 uwb: 0.49981366 848.298 950.855 -imu_odom_: 1691062411.672798538 0.414197 -0.280122 9.2895 -0.0447411 -0.0117179 0.0468716 0.18 0 pose: 0.40968926 0.445685 0.013465 0 -0.00696463 2.96602e-05 0.0141955 0.999875 uwb: 0.0 848.298 950.855 -imu_odom_: 1691062411.696798856 0.272939 -0.428562 9.40921 -0.0532632 -0.00532632 0.052198 0.18 0 pose: 0.0 0.445685 0.013465 0 -0.00696463 2.96602e-05 0.0141955 0.999875 uwb: 0.49995947 848.372 949.558 -imu_odom_: 1691062411.713745883 1.02232 -0.205901 10.307 -0.0383495 -0.0117179 0.0415453 0.18 0.02 pose: 0.0 0.445685 0.013465 0 -0.00696463 2.96602e-05 0.0141955 0.999875 uwb: 0.0 848.372 949.558 -imu_odom_: 1691062411.737907763 0.68953 -0.275333 10.2065 -0.0596548 -0.0383495 0.0532632 0.18 0.02 pose: 0.56113114 0.459811 0.0135853 0 -0.0058122 0.00043354 0.0144472 0.999879 uwb: 0.0 848.372 949.558 -imu_odom_: 1691062411.761857629 0.782904 -0.0191536 10.0485 -0.0266316 -0.0138484 0.0372843 0.19 0 pose: 0.34065824 0.459811 0.0135853 0 -0.00509058 -0.0033553 0.0146056 0.999875 uwb: 0.49725317 848.507 949.455 -imu_odom_: 1691062411.778782493 0.270545 -0.201113 9.47864 -0.0458064 0.0191748 0.04048 0.19 0 pose: 0.6955012 0.459811 0.0135853 0 -0.00450438 -0.00388609 0.014594 0.999876 uwb: 0.0 848.507 949.455 -imu_odom_: 1691062411.795840630 0.227449 -0.201113 10.2663 -0.0511327 -0.00745685 0.0458064 0.19 0 pose: 0.0 0.459811 0.0135853 0 -0.00450438 -0.00388609 0.014594 0.999876 uwb: 0.50265411 848.616 947.869 -imu_odom_: 1691062411.819855237 0.445322 -0.0837971 10.2807 -0.0511327 0.00213053 0.0607201 0.19 0 pose: 0.41866553 0.469811 0.0136775 0 -0.00229465 -0.00260508 0.0146016 0.999887 uwb: 0.0 848.616 947.869 -imu_odom_: 1691062411.844778554 0.94571 -0.0885855 10.2831 -0.0713727 -0.0383495 0.0330232 0.19 0 pose: 0.0 0.469811 0.0136775 0 -0.00229465 -0.00260508 0.0146016 0.999887 uwb: 0.49889795 848.644 946.988 -imu_odom_: 1691062411.861707209 0.363919 -0.222661 9.78031 -0.0351537 -0.00213053 0.0266316 0.19 0 pose: 0.41064287 0.47981 0.0137714 0 0.000532899 -0.00263415 0.0148548 0.999886 uwb: 0.0 848.644 946.988 -imu_odom_: 1691062411.885775184 0.0670376 -0.289698 9.9527 -0.0383495 -0.00213053 0.0308927 0.19 0 pose: 0.0 0.47981 0.0137714 0 0.000532899 -0.00263415 0.0148548 0.999886 uwb: 0.0 848.644 946.988 -imu_odom_: 1691062411.910869103 0.529119 -0.416591 9.94312 -0.0276969 -0.0213053 0.04048 0.19 0 pose: 0.40995756 0.48981 0.0138685 0 0.00056242 -0.00219203 0.0146595 0.99989 uwb: 0.50030651 848.751 944.499 -imu_odom_: 1691062411.935813126 0.337582 -0.402226 9.5816 -0.04048 -0.0213053 0.0447411 0.19 0.02 pose: 0.42079732 0.497003 0.0139355 0 -0.0015107 -0.00197992 0.0145991 0.99989 uwb: 0.0 848.751 944.499 -imu_odom_: 1691062411.952692204 0.586579 0.0933739 10.0963 -0.0490022 -0.0106526 0.0511327 0.19 0.02 pose: 0.0 0.497003 0.0139355 0 -0.0015107 -0.00197992 0.0145991 0.99989 uwb: 0.49991864 848.861 943.789 -imu_odom_: 1691062411.976676774 0.732626 -0.172383 9.94791 -0.0713727 0.0308927 0.0500674 0.18 -0.02 pose: 0.41823101 0.50536 0.0140127 0 -0.00182783 -0.00157981 0.0147644 0.999888 uwb: 0.0 848.861 943.789 -imu_odom_: 1691062411.994679491 0.47884 -0.325611 10.2855 -0.0447411 0.02024 0.056459 0.18 -0.02 pose: 0.0 0.50536 0.0140127 0 -0.00182783 -0.00157981 0.0147644 0.999888 uwb: 0.49975242 848.862 942.432 -imu_odom_: 1691062412.18712189 0.790087 -0.325611 10.0341 -0.0809601 -0.00639159 0.0426106 0.19 0 pose: 0.0 0.50536 0.0140127 0 -0.00182783 -0.00157981 0.0147644 0.999888 uwb: 0.0 848.862 942.432 -imu_odom_: 1691062412.42687442 0.385466 -0.435745 9.77313 -0.0596548 -0.0468716 0.0436758 0.19 0 pose: 0.41987287 0.509809 0.0140551 0 -0.00308567 -0.00339796 0.0150417 0.999876 uwb: 0.0 848.862 942.432 -imu_odom_: 1691062412.67736757 0.557849 -0.452504 9.7037 -0.0447411 0.00958738 0.036219 0.19 0 pose: 0.48007951 0.519809 0.0141564 0 -0.00559293 -0.00477456 0.0151378 0.999858 uwb: 0.0 848.862 942.432 -imu_odom_: 1691062412.91674098 0.88346 -0.023942 9.59117 -0.0692422 -0.0681769 0.0628506 0.19 0 pose: 0.0 0.519809 0.0141564 0 -0.00559293 -0.00477456 0.0151378 0.999858 uwb: 0.0 848.862 942.432 -imu_odom_: 1691062412.108685294 0.723049 -0.191536 10.1083 -0.0916127 -0.0447411 0.0532632 0.24 0 pose: 0.48986656 0.529808 0.0142596 0 -0.00620749 -0.00827243 0.0153597 0.999829 uwb: 0.99998367 848.654 941.443 -imu_odom_: 1691062412.124722164 0.418985 0.107739 9.7444 -0.0607201 -0.056459 0.0596548 0.24 0 pose: 0.7011884 0.529808 0.0142596 0 -0.00583996 -0.00891579 0.0154003 0.999825 uwb: 0.0 848.654 941.443 -imu_odom_: 1691062412.141665119 1.70946 -0.418985 10.4004 -0.072438 -0.0692422 0.0255663 0.24 0 pose: 0.0 0.529808 0.0142596 0 -0.00583996 -0.00891579 0.0154003 0.999825 uwb: 0.0 848.654 941.443 -imu_odom_: 1691062412.157673118 1.89142 -0.169988 9.28711 -0.072438 -0.0138484 -0.0937433 0.22 -0.26 pose: 0.33048940 0.539807 0.0143687 0 -0.00399612 -0.010558 0.0155588 0.999815 uwb: 0.49949027 848.974 939.588 -imu_odom_: 1691062412.175658931 1.64003 0.160412 10.1251 -0.0340885 0.04048 -0.205596 0.22 -0.26 pose: 0.0 0.539807 0.0143687 0 -0.00399612 -0.010558 0.0155588 0.999815 uwb: 0.0 848.974 939.588 -imu_odom_: 1691062412.191668388 1.0343 0.368707 9.67976 -0.0372843 0.00958738 -0.279099 0.12 -0.35 pose: 0.43924009 0.539807 0.0143687 0 -0.00309589 -0.0147632 0.0121882 0.999812 uwb: 0.0 848.974 939.588 -imu_odom_: 1691062412.206660941 0.890643 -0.237026 9.55047 -0.0543285 0.0490022 -0.371777 0.12 -0.35 pose: 0.0 0.539807 0.0143687 0 -0.00309589 -0.0147632 0.0121882 0.999812 uwb: 0.49929487 849.139 937.352 -imu_odom_: 1691062412.223687885 0.567426 -0.136469 9.62948 -0.0617853 -0.02024 -0.406931 0.12 -0.35 pose: 0.0 0.539807 0.0143687 0 -0.00309589 -0.0147632 0.0121882 0.999812 uwb: 0.0 849.139 937.352 -imu_odom_: 1691062412.237709027 0.514753 -0.114922 10.0245 -0.0607201 0.0319579 -0.409062 0.1 -0.41 pose: 0.7069335 0.539807 0.0143687 0 -0.00238987 -0.0150457 0.0110525 0.999823 uwb: 0.0 849.139 937.352 -imu_odom_: 1691062412.252707412 1.18274 -0.387861 9.58878 -0.0681769 0.0170442 -0.421845 0.1 -0.41 pose: 0.0 0.539807 0.0143687 0 -0.00238987 -0.0150457 0.0110525 0.999823 uwb: 0.0 849.139 937.352 -imu_odom_: 1691062412.269648034 0.816423 -0.454898 9.5816 -0.0692422 -0.0298274 -0.435693 0.1 -0.41 pose: 0.0 0.539807 0.0143687 0 -0.00238987 -0.0150457 0.0110525 0.999823 uwb: 0.0 849.139 937.352 -imu_odom_: 1691062412.285762185 0.785298 -0.0694318 9.98143 -0.0628506 -0.0117179 -0.444215 0.08 -0.47 pose: 0.46934476 0.549805 0.0145905 0 -8.23879e-05-0.0146233 0.00136852 0.999892 uwb: 0.0 849.139 937.352 -imu_odom_: 1691062412.303853860 0.708684 0.0694318 9.97664 -0.0639159 -0.0191748 -0.446346 0.08 -0.47 pose: 0.0 0.549805 0.0145905 0 -8.23879e-05-0.0146233 0.00136852 0.999892 uwb: 0.100171891 849.757 936.067 -imu_odom_: 1691062412.319974135 0.821211 -0.0550666 9.93833 -0.0543285 -0.0127832 -0.488956 0.07 -0.53 pose: 0.46989885 0.559804 0.0147485 0 -0.001117 -0.0163287 -0.00960608 0.99982 uwb: 0.0 849.757 936.067 -imu_odom_: 1691062412.336842433 0.768539 -0.110133 10.0724 -0.056459 0.00958738 -0.52198 0.07 -0.5 pose: 0.0 0.559804 0.0147485 0 -0.001117 -0.0163287 -0.00960608 0.99982 uwb: 0.0 849.757 936.067 -imu_odom_: 1691062412.353641908 0.792481 -0.208296 9.65342 -0.076699 0.0106526 -0.509196 0.06 -0.53 pose: 0.0 0.559804 0.0147485 0 -0.001117 -0.0163287 -0.00960608 0.99982 uwb: 0.50037681 849.788 936.544 -imu_odom_: 1691062412.369633284 0.574608 -0.373495 9.96227 -0.0639159 -0.0181095 -0.527306 0.06 -0.53 pose: 0.67187692 0.559804 0.0147484 0 0.00389373 -0.0184121 -0.0271953 0.999453 uwb: 0.0 849.788 936.544 -imu_odom_: 1691062412.386644480 0.52433 -0.0861913 9.77074 -0.0735032 -0.0276969 -0.520914 0.06 -0.53 pose: 0.0 0.559804 0.0147484 0 0.00389373 -0.0184121 -0.0271953 0.999453 uwb: 0.0 849.788 936.544 -imu_odom_: 1691062412.402766213 0.509965 -0.258574 9.8665 -0.0692422 -0.0127832 -0.461259 0.08 -0.67 pose: 0.0 0.559804 0.0147484 0 0.00389373 -0.0184121 -0.0271953 0.999453 uwb: 0.49818085 850.021 936.178 -imu_odom_: 1691062412.419721999 0.711078 -0.512359 9.86172 -0.056459 0.0149137 -0.434628 0.08 -0.67 pose: 0.32797849 0.559804 0.0147484 0 0.00202002 -0.0171876 -0.0363487 0.999189 uwb: 0.0 850.021 936.178 -imu_odom_: 1691062412.435757411 0.545878 -0.354342 9.97664 -0.0500674 0.0234358 -0.4048 0.04 -0.38 pose: 0.43083831 0.565645 0.014873 0 2.06073e-05 -0.0147981 -0.0471809 0.998777 uwb: 0.0 850.021 936.178 -imu_odom_: 1691062412.452806518 0.749385 -0.131681 10.1778 -0.056459 -0.00213053 -0.352603 0.04 -0.38 pose: 0.7008968 0.569803 0.0148963 0 -0.000413967-0.0141914 -0.0487292 0.998711 uwb: 0.50123128 849.977 936.159 -imu_odom_: 1691062412.468894423 0.423774 -0.213084 9.7875 -0.0543285 -0.00106526 -0.325971 0.04 -0.38 pose: 0.0 0.569803 0.0148963 0 -0.000413967-0.0141914 -0.0487292 0.998711 uwb: 0.0 849.977 936.159 -imu_odom_: 1691062412.486789832 0.572214 -0.244209 9.7851 -0.052198 -0.00852212 -0.315318 0.05 -0.47 pose: 0.42163456 0.569795 0.0148961 0 0.000322298 -0.012931 -0.0570152 0.99829 uwb: 0.0 849.977 936.159 -imu_odom_: 1691062412.501772178 0.684742 -0.246603 9.82341 -0.0575243 -0.00958738 -0.285491 0.04 -0.29 pose: 0.0 0.569795 0.0148961 0 0.000322298 -0.012931 -0.0570152 0.99829 uwb: 0.50045263 850.024 934.782 -imu_odom_: 1691062412.518642226 0.871489 -0.25618 10.0796 -0.0607201 -0.0149137 -0.247141 0.04 -0.29 pose: 0.0 0.569795 0.0148961 0 0.000322298 -0.012931 -0.0570152 0.99829 uwb: 0.0 850.024 934.782 -imu_odom_: 1691062412.534815577 0.579397 -0.332794 9.84256 -0.0585895 -0.00639159 -0.230097 0.04 -0.29 pose: 0.24895336 0.569803 0.0148963 0 -0.000862751-0.0119966 -0.0613062 0.998047 uwb: 0.0 850.024 934.782 -imu_odom_: 1691062412.552605126 0.588974 -0.282516 9.97185 -0.0479369 -0.00213053 -0.225836 0.03 -0.23 pose: 0.0 0.569803 0.0148963 0 -0.000862751-0.0119966 -0.0613062 0.998047 uwb: 0.49803213 850.267 934.108 -imu_odom_: 1691062412.567653671 0.471658 -0.198719 9.95509 -0.0553937 -0.0106526 -0.208792 0.03 -0.23 pose: 0.32860841 0.569803 0.0148963 0 -0.00219897 -0.0138214 -0.0660753 0.997716 uwb: 0.0 850.267 934.108 -imu_odom_: 1691062412.584883879 0.588974 -0.234632 9.94551 -0.0553937 -0.00852212 -0.192813 0.04 -0.29 pose: 0.33013653 0.569803 0.0148963 0 -0.00288313 -0.0109 -0.0703857 0.997456 uwb: 0.0 850.267 934.108 -imu_odom_: 1691062412.600674032 0.667982 -0.366313 9.80904 -0.0596548 -0.0149137 -0.175769 0.04 -0.29 pose: 0.0 0.569803 0.0148963 0 -0.00288313 -0.0109 -0.0703857 0.997456 uwb: 0.50276232 850.586 934.093 -imu_odom_: 1691062412.617604447 0.593762 -0.260968 9.95509 -0.0553937 -0.00639159 -0.160855 0.04 -0.29 pose: 0.0 0.569803 0.0148963 0 -0.00288313 -0.0109 -0.0703857 0.997456 uwb: 0.0 850.586 934.093 -imu_odom_: 1691062412.633715682 0.682347 -0.213084 9.96467 -0.056459 -0.0117179 -0.132093 0.01 -0.14 pose: 0.14989054 0.569803 0.0148963 0 -0.00203267 -0.00972495 -0.0721928 0.997341 uwb: 0.0 850.586 934.093 -imu_odom_: 1691062412.650593896 0.620098 -0.280122 9.85932 -0.0543285 0.00319579 -0.107592 0.02 -0.17 pose: 0.0 0.569803 0.0148963 0 -0.00203267 -0.00972495 -0.0721928 0.997341 uwb: 0.49652150 850.643 933.494 -imu_odom_: 1691062412.666654679 0.61531 -0.25618 9.93594 -0.0543285 -0.00852212 -0.0916127 0.02 -0.17 pose: 0.67018256 0.569803 0.0148964 0 -0.00379338 -0.0105458 -0.0787124 0.996834 uwb: 0.0 850.643 933.494 -imu_odom_: 1691062412.683745489 0.684742 -0.208296 9.88805 -0.0543285 -0.00745685 -0.0607201 0.01 -0.17 pose: 0.0 0.569803 0.0148964 0 -0.00379338 -0.0105458 -0.0787124 0.996834 uwb: 0.0 850.643 933.494 -imu_odom_: 1691062412.699673290 0.634463 -0.342371 9.87608 -0.0553937 0.00106526 -0.0340885 0.01 -0.17 pose: 0.0 0.569803 0.0148964 0 -0.00379338 -0.0105458 -0.0787124 0.996834 uwb: 0.49990729 850.273 933.329 -imu_odom_: 1691062412.715650959 0.52433 -0.339977 9.9503 -0.0553937 0 -0.00639159 0.01 -0.17 pose: 0.31984501 0.569803 0.0148964 0 -0.00260586 -0.011265 -0.080781 0.996665 uwb: 0.0 850.273 933.329 -imu_odom_: 1691062412.730762204 0.519542 -0.28491 9.90002 -0.0543285 -0.00213053 0.0234358 0 -0.02 pose: 0.41994895 0.569803 0.0148964 0 -0.00438321 -0.0104067 -0.0822107 0.996551 uwb: 0.0 850.273 933.329 -imu_odom_: 1691062412.745581530 0.533907 -0.25618 9.93354 -0.0553937 -0.00639159 0.0447411 0 -0.02 pose: 0.7002552 0.569803 0.0148964 0 -0.00433246 -0.00970106 -0.0822651 0.996554 uwb: 0.49990437 851.086 931.191 -imu_odom_: 1691062412.759577593 0.4956 -0.270545 9.8282 -0.0543285 0.00106526 0.0500674 0 -0.02 pose: 0.0 0.569803 0.0148964 0 -0.00433246 -0.00970106 -0.0822651 0.996554 uwb: 0.0 851.086 931.191 -imu_odom_: 1691062412.773748049 0.433351 -0.203507 9.9096 -0.0500674 0.00213053 0.04048 0 0 pose: 0.36924082 0.569803 0.0148964 0 -0.00335836 -0.00623273 -0.0822165 0.996589 uwb: 0.0 851.086 931.191 -imu_odom_: 1691062412.787730988 0.342371 -0.162806 9.86411 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00335836 -0.00623273 -0.0822165 0.996589 uwb: 0.0 851.086 931.191 -imu_odom_: 1691062412.801862949 0.392649 -0.237026 9.92157 -0.056459 -0.00852212 0.0394148 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00335836 -0.00623273 -0.0822165 0.996589 uwb: 0.50112921 850.76 931.671 -imu_odom_: 1691062412.816741767 0.466869 -0.272939 9.90002 -0.0553937 -0.00852212 0.0351537 0 0 pose: 0.42285356 0.569803 0.0148964 0 -0.00148016 -0.00255511 -0.0822154 0.99661 uwb: 0.0 850.76 931.671 -imu_odom_: 1691062412.830841649 0.4956 -0.248997 9.87848 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00148016 -0.00255511 -0.0822154 0.99661 uwb: 0.0 850.76 931.671 -imu_odom_: 1691062412.844794259 0.466869 -0.270545 9.90002 -0.056459 -0.00106526 0.0426106 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00148016 -0.00255511 -0.0822154 0.99661 uwb: 0.50045847 851.02 930.37 -imu_odom_: 1691062412.858580933 0.438139 -0.232238 9.87369 -0.0553937 -0.00213053 0.04048 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00148016 -0.00255511 -0.0822154 0.99661 uwb: 0.0 851.02 930.37 -imu_odom_: 1691062412.873562987 0.409408 -0.225055 9.87608 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.42931310 0.569803 0.0148964 0 -0.00308728 -0.00304234 -0.0822319 0.996604 uwb: 0.0 851.02 930.37 -imu_odom_: 1691062412.887563133 0.452504 -0.272939 9.88326 -0.0543285 -0.00639159 0.0383495 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00308728 -0.00304234 -0.0822319 0.996604 uwb: 0.0 851.02 930.37 -imu_odom_: 1691062412.901565611 0.457293 -0.265756 9.87129 -0.0543285 -0.00532632 0.0372843 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00308728 -0.00304234 -0.0822319 0.996604 uwb: 0.49881660 850.964 930.66 -imu_odom_: 1691062412.916559331 0.447716 -0.260968 9.89524 -0.0543285 -0.00319579 0.0383495 0 0 pose: 0.42768874 0.569803 0.0148964 0 -0.00227781 -0.00176265 -0.0822282 0.996609 uwb: 0.0 850.964 930.66 -imu_odom_: 1691062412.930840896 0.440533 -0.23942 9.86172 -0.056459 -0.00319579 0.0415453 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00227781 -0.00176265 -0.0822282 0.996609 uwb: 0.0 850.964 930.66 -imu_odom_: 1691062412.944616780 0.426168 -0.248997 9.8689 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00227781 -0.00176265 -0.0822282 0.996609 uwb: 0.50047597 851.067 929.597 -imu_odom_: 1691062412.959572296 0.45011 -0.225055 9.88805 -0.0543285 -0.00532632 0.0372843 0 0 pose: 0.43277763 0.569803 0.0148964 0 -0.000871205-0.00191191 -0.0822422 0.99661 uwb: 0.0 851.067 929.597 -imu_odom_: 1691062412.973722630 0.502782 -0.232238 9.89763 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.569803 0.0148964 0 -0.000871205-0.00191191 -0.0822422 0.99661 uwb: 0.0 851.067 929.597 -imu_odom_: 1691062412.987676406 0.486023 -0.251391 9.90242 -0.0532632 -0.00426106 0.0383495 0 0 pose: 0.0 0.569803 0.0148964 0 -0.000871205-0.00191191 -0.0822422 0.99661 uwb: 0.0 851.067 929.597 -imu_odom_: 1691062413.1710089 0.459687 -0.25618 9.88326 -0.0553937 -0.00213053 0.0394148 0 0 pose: 0.48868256 0.569803 0.0148964 0 -0.00165661 -0.00380177 -0.0822568 0.996603 uwb: 0.50072676 851.181 929.969 -imu_odom_: 1691062413.16548962 0.440533 -0.222661 9.88566 -0.056459 -0.00532632 0.0415453 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00165661 -0.00380177 -0.0822568 0.996603 uwb: 0.0 851.181 929.969 -imu_odom_: 1691062413.30742465 0.438139 -0.241814 9.90721 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00165661 -0.00380177 -0.0822568 0.996603 uwb: 0.0 851.181 929.969 -imu_odom_: 1691062413.44718414 0.476446 -0.248997 9.90481 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.43008895 0.569803 0.0148964 0 -0.00149798 -0.00169664 -0.0822447 0.99661 uwb: 0.50107697 851.052 929.908 -imu_odom_: 1691062413.58736941 0.47884 -0.237026 9.85932 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00149798 -0.00169664 -0.0822447 0.99661 uwb: 0.0 851.052 929.908 -imu_odom_: 1691062413.72568243 0.471658 -0.263362 9.91678 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00149798 -0.00169664 -0.0822447 0.99661 uwb: 0.0 851.052 929.908 -imu_odom_: 1691062413.86633429 0.459687 -0.244209 9.84496 -0.0553937 -0.00213053 0.04048 0 0 pose: 0.41888477 0.569803 0.0148964 0 -0.00199159 -0.00360883 -0.0822655 0.996602 uwb: 0.0 851.052 929.908 -imu_odom_: 1691062413.100553094 0.440533 -0.248997 9.92875 -0.0543285 -0.00319579 0.0415453 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00199159 -0.00360883 -0.0822655 0.996602 uwb: 0.49744626 851.02 930.37 -imu_odom_: 1691062413.114537209 0.442927 -0.215478 9.88326 -0.0543285 -0.00639159 0.04048 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00199159 -0.00360883 -0.0822655 0.996602 uwb: 0.0 851.02 930.37 -imu_odom_: 1691062413.128550195 0.466869 -0.217872 9.87129 -0.0553937 -0.00639159 0.0383495 0 0 pose: 0.41943012 0.569803 0.0148964 0 -0.00151909 -0.00156314 -0.0822408 0.99661 uwb: 0.0 851.02 930.37 -imu_odom_: 1691062413.143533133 0.433351 -0.260968 9.89524 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00151909 -0.00156314 -0.0822408 0.99661 uwb: 0.0 851.02 930.37 -imu_odom_: 1691062413.157538536 0.459687 -0.234632 9.85214 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00151909 -0.00156314 -0.0822408 0.99661 uwb: 0.50009133 851.717 930.063 -imu_odom_: 1691062413.171640760 0.445322 -0.244209 9.90002 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.43003660 0.569803 0.0148964 0 -0.00128594 -0.00275889 -0.082248 0.996607 uwb: 0.0 851.717 930.063 -imu_odom_: 1691062413.185584921 0.454898 -0.229843 9.89045 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00128594 -0.00275889 -0.082248 0.996607 uwb: 0.0 851.717 930.063 -imu_odom_: 1691062413.199585659 0.438139 -0.253785 9.88566 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00128594 -0.00275889 -0.082248 0.996607 uwb: 0.50045002 851.677 930.203 -imu_odom_: 1691062413.214517562 0.445322 -0.23942 9.90002 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.41991422 0.569803 0.0148964 0 -0.000851786-0.00258398 -0.0822373 0.996609 uwb: 0.0 851.677 930.203 -imu_odom_: 1691062413.228518299 0.435745 -0.241814 9.89763 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.569803 0.0148964 0 -0.000851786-0.00258398 -0.0822373 0.996609 uwb: 0.0 851.677 930.203 -imu_odom_: 1691062413.250551620 0.474052 -0.25618 9.94551 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.36973681 0.569803 0.0148964 0 -0.00172132 -0.00164854 -0.0822379 0.99661 uwb: 0.50077665 851.659 931.141 -imu_odom_: 1691062413.266630786 0.19393 -0.244209 9.9096 -0.0500674 0.0372843 0.00958738 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00172132 -0.00164854 -0.0822379 0.99661 uwb: 0.0 851.659 931.141 -imu_odom_: 1691062413.282577844 -0.696713 -0.0550666 9.92636 -0.0330232 0.076699 -0.00639159 0 0 pose: 0.0 0.569803 0.0148964 0 -0.00172132 -0.00164854 -0.0822379 0.99661 uwb: 0.0 851.659 931.141 -imu_odom_: 1691062413.299511186 -1.03669 -0.220267 9.84256 -0.0500674 -0.0149137 0.0319579 0.04 0.08 pose: 0.6035812 0.569803 0.0148964 0 -0.00193836 -0.00221175 -0.0822389 0.996608 uwb: 0.49780497 852.07 930.544 -imu_odom_: 1691062413.315505779 -0.361524 -0.402226 9.90721 -0.0596548 -0.0553937 0.0681769 0.04 0.08 pose: 0.0 0.569803 0.0148964 0 -0.00193836 -0.00221175 -0.0822389 0.996608 uwb: 0.0 852.07 930.544 -imu_odom_: 1691062413.332500655 0.407014 -0.476446 9.94312 -0.0426106 -0.0319579 0.0798948 0.04 0.08 pose: 0.0 0.569803 0.0148964 0 -0.00193836 -0.00221175 -0.0822389 0.996608 uwb: 0.0 852.07 930.544 -imu_odom_: 1691062413.348690638 0.275333 -0.160412 9.89763 -0.0298274 0.0106526 0.0884169 0.06 0.02 pose: 0.55020456 0.569803 0.0148964 0 -0.00151127 0.00105179 -0.0828687 0.996559 uwb: 0.50047044 852.256 929.37 -imu_odom_: 1691062413.365558656 -0.0526724 -0.0167594 9.85693 -0.0468716 0.02024 0.0788296 0.09 0.05 pose: 0.0 0.569803 0.0148964 0 -0.00151127 0.00105179 -0.0828687 0.996559 uwb: 0.0 852.256 929.37 -imu_odom_: 1691062413.381555874 -0.0215478 -0.11971 10.1514 -0.052198 -0.00213053 0.0713727 0.09 0.05 pose: 0.65997894 0.579803 0.0149371 0 -0.00117505 0.0041407 -0.081802 0.996639 uwb: 0.0 852.256 929.37 -imu_odom_: 1691062413.398514587 0.177171 -0.301669 9.78989 -0.0532632 -0.0138484 0.0703074 0.1 0.05 pose: 0.0 0.579803 0.0149371 0 -0.00117505 0.0041407 -0.081802 0.996639 uwb: 0.49936225 852.305 929.71 -imu_odom_: 1691062413.414492558 0.332794 -0.246603 9.94791 -0.0532632 -0.00852212 0.0649811 0.1 0.05 pose: 0.0 0.579803 0.0149371 0 -0.00117505 0.0041407 -0.081802 0.996639 uwb: 0.0 852.305 929.71 -imu_odom_: 1691062413.431665035 0.035913 -0.186748 9.60075 -0.0426106 0.0234358 0.052198 0.1 0.05 pose: 0.32929685 0.579864 0.00493726 0 -0.00024034 0.00709102 -0.0812413 0.996669 uwb: 0.0 852.305 929.71 -imu_odom_: 1691062413.446665762 0.138864 -0.205901 10.0748 -0.0500674 -0.015979 0.0639159 0.09 0.02 pose: 0.43162889 0.579864 0.00493726 0 -0.00034317 0.00811941 -0.0807802 0.996699 uwb: 0.0 852.305 929.71 -imu_odom_: 1691062413.464605510 0.112527 -0.244209 9.68933 -0.0436758 -0.02024 0.0543285 0.09 0.02 pose: 0.7887353 0.579864 0.00493726 0 -5.45902e-050.0088131 -0.0806817 0.996701 uwb: 0.0 852.305 929.71 -imu_odom_: 1691062413.480660470 0.162806 -0.361524 9.5816 -0.0511327 0.00319579 0.052198 0.09 0.02 pose: 0.0 0.579864 0.00493726 0 -5.45902e-050.0088131 -0.0806817 0.996701 uwb: 0.0 852.305 929.71 -imu_odom_: 1691062413.497513615 0.37589 -0.296881 9.89284 -0.0479369 0.00106526 0.052198 0.14 0.05 pose: 0.41108082 0.589864 0.00502167 0 -0.00135214 0.0116231 -0.0803784 0.996696 uwb: 0.99973937 852.648 928.448 -imu_odom_: 1691062413.513479045 0.181959 -0.134075 9.56244 -0.0585895 -0.00319579 0.0447411 0.11 -0.02 pose: 0.0 0.589864 0.00502167 0 -0.00135214 0.0116231 -0.0803784 0.996696 uwb: 0.0 852.648 928.448 -imu_odom_: 1691062413.530596404 -0.222661 0.117316 9.80904 -0.0500674 -0.0117179 0.0436758 0.11 -0.02 pose: 0.0 0.589864 0.00502167 0 -0.00135214 0.0116231 -0.0803784 0.996696 uwb: 0.0 852.648 928.448 -imu_odom_: 1691062413.545521017 1.07021 -0.227449 10.4124 -0.0511327 -0.111853 0.0628506 0.11 -0.02 pose: 0.24856566 0.589864 0.00502167 0 -0.0009572290.01019 -0.0802531 0.996722 uwb: 0.50003300 853.365 927.688 -imu_odom_: 1691062413.562624378 1.1157 -0.253785 9.64384 -0.0575243 0.00213053 0.0830906 0.11 0.02 pose: 0.0 0.589864 0.00502167 0 -0.0009572290.01019 -0.0802531 0.996722 uwb: 0.0 853.365 927.688 -imu_odom_: 1691062413.578492696 0.950498 -0.531513 9.79707 -0.0575243 0.0351537 0.107592 0.11 0.02 pose: 0.33136157 0.599864 0.00511443 0 0.000953633 0.0102678 -0.0800841 0.996735 uwb: 0.0 853.365 927.688 -imu_odom_: 1691062413.595630469 0.80924 -0.435745 9.79228 -0.0649811 -0.00426106 0.126766 0.1 -0.02 pose: 0.39839503 0.599864 0.00511443 0 -0.0001153730.0064988 -0.0791036 0.996845 uwb: 0.49945558 852.984 928.138 -imu_odom_: 1691062413.610545750 0.914585 -0.105345 9.75637 -0.0543285 0.0255663 0.0937433 0.1 -0.02 pose: 0.0 0.599864 0.00511443 0 -0.0001153730.0064988 -0.0791036 0.996845 uwb: 0.0 852.984 928.138 -imu_odom_: 1691062413.628612064 0.794875 -0.035913 9.85932 -0.0543285 -0.0170442 0.072438 0.1 -0.02 pose: 0.0 0.599864 0.00511443 0 -0.0001153730.0064988 -0.0791036 0.996845 uwb: 0.0 852.984 928.138 -imu_odom_: 1691062413.644549790 0.533907 -0.0550666 9.29908 -0.0607201 0 0.0415453 0.06 0 pose: 0.7199405 0.599864 0.00511443 0 -0.0004639180.00585357 -0.078793 0.996874 uwb: 0.49965971 853.341 927.198 -imu_odom_: 1691062413.661558080 0.878672 -0.328006 10.1658 -0.0543285 -0.0298274 0.0234358 0.07 0.02 pose: 0.0 0.599864 0.00511443 0 -0.0004639180.00585357 -0.078793 0.996874 uwb: 0.0 853.341 927.198 -imu_odom_: 1691062413.677610416 0.826 -0.328006 9.83059 -0.0596548 -0.0213053 0.0223706 0.07 0.02 pose: 0.65946275 0.599864 0.00511443 0 0.000630246 -5.58816e-05-0.0777054 0.996976 uwb: 0.0 853.341 927.198 -imu_odom_: 1691062413.694576712 0.926556 -0.296881 9.97185 -0.0543285 0.00958738 0.0308927 0.06 0.02 pose: 0.0 0.599864 0.00511443 0 0.000630246 -5.58816e-05-0.0777054 0.996976 uwb: 0.50153197 853.491 927.432 -imu_odom_: 1691062413.709541569 0.766145 -0.299275 9.8665 -0.0607201 -0.00958738 0.0340885 0.06 0.02 pose: 0.0 0.599864 0.00511443 0 0.000630246 -5.58816e-05-0.0777054 0.996976 uwb: 0.0 853.491 927.432 -imu_odom_: 1691062413.735505152 0.742203 -0.172383 9.97903 -0.052198 -0.00426106 0.00958738 0.06 0.02 pose: 0.32922978 0.609863 0.0052102 0 -0.000489959-0.00337725 -0.0779509 0.996951 uwb: 0.0 853.491 927.432 -imu_odom_: 1691062413.749481976 0.390255 -0.253785 9.8689 -0.0649811 0.0383495 0.00213053 0.05 0.05 pose: 0.32985094 0.609863 0.0052102 0 -0.00112351 -0.00651483 -0.078154 0.996919 uwb: 0.49881108 853.066 927.701 -imu_odom_: 1691062413.772490207 -1.41497 -0.263362 10.2496 -0.0607201 0.0777643 0.0468716 0.05 0.05 pose: 0.0 0.609863 0.0052102 0 -0.00112351 -0.00651483 -0.078154 0.996919 uwb: 0.0 853.066 927.701 -imu_odom_: 1691062413.795541890 -0.806846 -0.430956 9.70609 -0.0585895 -0.103331 0.0628506 0.05 0.05 pose: 0.38938958 0.609863 0.0052102 0 -0.000952515-0.00560988 -0.0786601 0.996885 uwb: 0.50097787 852.674 928.941 -imu_odom_: 1691062413.813444310 0.766145 -0.105345 10.1059 -0.0468716 -0.0841559 0.0426106 0.05 0.05 pose: 0.0 0.609863 0.0052102 0 -0.000952515-0.00560988 -0.0786601 0.996885 uwb: 0.0 852.674 928.941 -imu_odom_: 1691062413.837432701 0.6608 -0.237026 9.94073 -0.0671117 0.0308927 0.052198 0.09 0.02 pose: 0.56958904 0.609863 0.0052102 0 -0.000601219-0.0046161 -0.0783068 0.996918 uwb: 0.0 852.674 928.941 -imu_odom_: 1691062413.862591100 -0.387861 -0.225055 9.95988 -0.0458064 0.0276969 0.0319579 0.09 0.02 pose: 0.0 0.609863 0.0052102 0 -0.000601219-0.0046161 -0.0783068 0.996918 uwb: 0.49866235 852.939 927.798 -imu_odom_: 1691062413.876549260 -0.217872 -0.356736 9.65821 -0.0585895 -0.0266316 0.0426106 0.1 0.02 pose: 0.8099950 0.609863 0.0052102 0 -0.000786651-0.00526798 -0.0782556 0.996919 uwb: 0.0 852.939 927.798 -imu_odom_: 1691062413.899448131 0.402226 -0.179565 10.149 -0.0553937 -0.0234358 0.0426106 0.1 0.02 pose: 0.0 0.609863 0.0052102 0 -0.000786651-0.00526798 -0.0782556 0.996919 uwb: 0.50052293 852.83 927.425 -imu_odom_: 1691062413.922429532 0.215478 -0.0670376 9.98622 -0.0553937 0.00745685 0.0319579 0.14 0 pose: 0.77903871 0.619863 0.00524351 0 0.000745296 -0.00114537 -0.0781956 0.996937 uwb: 0.0 852.83 927.425 -imu_odom_: 1691062413.945426973 0.294487 -0.35913 9.35893 -0.0511327 -0.0127832 0.0479369 0.14 0 pose: 0.0 0.619863 0.00524351 0 0.000745296 -0.00114537 -0.0781956 0.996937 uwb: 0.50124033 853.385 925.94 -imu_odom_: 1691062413.963424463 0.323217 -0.402226 9.58638 -0.0500674 -0.0255663 0.04048 0.17 0 pose: 0.45978842 0.629863 0.00527743 0 0.0001885 0.00191084 -0.0781942 0.996936 uwb: 0.0 853.385 925.94 -imu_odom_: 1691062413.987471471 0.677559 -0.21069 9.59357 -0.0681769 0.0308927 0.0468716 0.17 0 pose: 0.8053873 0.629863 0.00527743 0 -0.0005650630.00206584 -0.0781921 0.996936 uwb: 0.0 853.385 925.94 -imu_odom_: 1691062414.12539472 0.0143652 -0.25618 9.82341 -0.0447411 -0.0149137 0.0479369 0.14 0 pose: 0.33990625 0.629863 0.00527743 0 -0.00153353 0.000283397 -0.0781061 0.996944 uwb: 0.49786038 853.192 926.164 -imu_odom_: 1691062414.26444856 -0.280122 -0.1652 9.73482 -0.0532632 -0.00639159 0.0575243 0.14 0 pose: 0.0 0.629863 0.00527743 0 -0.00153353 0.000283397 -0.0781061 0.996944 uwb: 0.0 853.192 926.164 -imu_odom_: 1691062414.49437061 0.622492 -0.296881 10.0317 -0.0575243 -0.00426106 0.0415453 0.13 0 pose: 0.6964061 0.629863 0.00527743 0 -0.00146574 0.00093917 -0.0780759 0.996946 uwb: 0.50208047 853.888 924.588 -imu_odom_: 1691062414.73419634 0.129287 -0.0981623 9.6199 -0.0585895 0.0234358 0.0479369 0.13 0 pose: 0.0 0.629863 0.00527743 0 -0.00146574 0.00093917 -0.0780759 0.996946 uwb: 0.0 853.888 924.588 -imu_odom_: 1691062414.90460014 0.56982 -0.19393 9.88087 -0.0628506 -0.036219 0.0553937 0.19 0 pose: 0.39130576 0.639863 0.00531429 0 -0.00119275 0.00330623 -0.0778648 0.996958 uwb: 0.0 853.888 924.588 -imu_odom_: 1691062414.114546989 0.378284 -0.138864 10.2687 -0.0500674 0.0213053 0.0308927 0.19 0 pose: 0.0 0.639863 0.00531429 0 -0.00119275 0.00330623 -0.0778648 0.996958 uwb: 0.49819314 854.415 923.729 -imu_odom_: 1691062414.137531904 -0.0694318 -0.354342 9.47864 -0.0639159 0.00639159 0.0500674 0.19 0 pose: 0.47864243 0.649863 0.00535612 0 -0.0002225840.00312224 -0.0776841 0.996973 uwb: 0.0 854.415 923.729 -imu_odom_: 1691062414.155428794 0.416591 -0.387861 10.1083 -0.0447411 -0.052198 0.0351537 0.19 0 pose: 0.0 0.649863 0.00535612 0 -0.0002225840.00312224 -0.0776841 0.996973 uwb: 0.50189389 854.704 922.418 -imu_odom_: 1691062414.179392119 -0.00718261-0.217872 9.67976 -0.0532632 0.0149137 0.0553937 0.14 0 pose: 0.41162642 0.649863 0.00535612 0 0.00190938 0.00253252 -0.0776725 0.996974 uwb: 0.0 854.704 922.418 -imu_odom_: 1691062414.197424324 0.222661 -0.361524 9.96467 -0.0607201 -0.0319579 0.0490022 0.14 0 pose: 0.0 0.649863 0.00535612 0 0.00190938 0.00253252 -0.0776725 0.996974 uwb: 0.49924299 854.936 921.234 -imu_odom_: 1691062414.221391441 0.440533 -0.0742203 10.0509 -0.0511327 -0.00639159 0.0340885 0.15 0 pose: 0.40909800 0.659863 0.00540119 0 -0.0001149790.00382016 -0.07758 0.996979 uwb: 0.0 854.936 921.234 -imu_odom_: 1691062414.247382744 0.0454898 -0.184354 9.69173 -0.0500674 -0.00639159 0.0415453 0.15 0 pose: 0.0 0.659863 0.00540119 0 -0.0001149790.00382016 -0.07758 0.996979 uwb: 0.50036867 855.005 921.107 -imu_odom_: 1691062414.271385731 0.146046 -0.301669 9.75398 -0.0340885 0.00106526 0.0394148 0.16 0 pose: 0.41921749 0.669863 0.0054497 0 -0.0009710680.00566799 -0.0773963 0.996984 uwb: 0.0 855.005 921.107 -imu_odom_: 1691062414.294431012 0.411803 -0.301669 9.20571 -0.0415453 -0.0255663 0.0394148 0.16 0 pose: 0.0 0.669863 0.0054497 0 -0.0009710680.00566799 -0.0773963 0.996984 uwb: 0.50026661 855.121 920.348 -imu_odom_: 1691062414.320498430 0.112527 -0.251391 10.4483 -0.0468716 -0.0308927 0.04048 0.22 -0.02 pose: 0.48986717 0.669863 0.0054497 0 0.000458481 0.00762677 -0.0774112 0.99697 uwb: 0.0 855.121 920.348 -imu_odom_: 1691062414.345468454 -0.205901 -0.0502782 10.5919 -0.0340885 0.00106526 0.036219 0.17 0 pose: 0.48035719 0.679863 0.00549986 0 -0.00107583 0.00745613 -0.0774295 0.996969 uwb: 0.50023161 854.71 920.452 -imu_odom_: 1691062414.362413471 0.572214 -0.189142 10.0533 -0.0511327 -0.0426106 0.0468716 0.17 0 pose: 0.0 0.679863 0.00549986 0 -0.00107583 0.00745613 -0.0774295 0.996969 uwb: 0.0 854.71 920.452 -imu_odom_: 1691062414.387378537 0.308852 -0.110133 10.2951 -0.04048 0.00639159 0.0436758 0.17 0 pose: 0.26181445 0.689862 0.00554948 0 -0.0004148340.00973704 -0.0774274 0.99695 uwb: 0.0 854.71 920.452 -imu_odom_: 1691062414.410398739 0.248997 -0.476446 9.3709 -0.0713727 0.00852212 0.0543285 0.17 0 pose: 0.41975407 0.689862 0.00554948 0 0.00124838 0.0086647 -0.0773652 0.996964 uwb: 0.49842060 854.39 920.442 -imu_odom_: 1691062414.427507360 0.265756 -0.323217 9.89284 -0.0436758 0.0106526 0.0255663 0.17 0 pose: 0.0 0.689862 0.00554948 0 0.00124838 0.0086647 -0.0773652 0.996964 uwb: 0.0 854.39 920.442 -imu_odom_: 1691062414.451372698 0.742203 -0.323217 9.2081 -0.0490022 0.0170442 0.0330232 0.23 0 pose: 0.47806501 0.699913 -0.00439919 0 -0.00065345 0.00793863 -0.0772307 0.996981 uwb: 0.50002456 854.72 919.299 -imu_odom_: 1691062414.477398414 0.0430956 -0.363919 9.44513 -0.0394148 0.0170442 0.0383495 0.2 -0.02 pose: 0.32962367 0.706498 -0.0043653 0 -0.00193285 0.00582619 -0.0773897 0.996982 uwb: 0.0 854.72 919.299 -imu_odom_: 1691062414.501340450 0.351948 -0.208296 10.003 -0.0553937 -0.0426106 0.056459 0.2 -0.02 pose: 0.0 0.706498 -0.0043653 0 -0.00193285 0.00582619 -0.0773897 0.996982 uwb: 0.50006247 855.041 918.481 -imu_odom_: 1691062414.527407285 0.383072 -0.337582 9.70609 -0.0575243 -0.0287621 0.04048 0.18 -0.02 pose: 0.49967752 0.716567 -0.00431472 0 -0.00146489 0.00596855 -0.0772006 0.996997 uwb: 0.0 855.041 918.481 -imu_odom_: 1691062414.542401897 0.713472 -0.136469 10.0149 -0.0596548 -0.015979 0.0447411 0.18 -0.02 pose: 0.0 0.716567 -0.00431472 0 -0.00146489 0.00596855 -0.0772006 0.996997 uwb: 0.0 855.041 918.481 -imu_odom_: 1691062414.559490687 0.433351 -0.399832 9.47146 -0.0628506 -0.0181095 0.0383495 0.17 -0.02 pose: 0.0 0.716567 -0.00431472 0 -0.00146489 0.00596855 -0.0772006 0.996997 uwb: 0.49986707 854.607 918.572 -imu_odom_: 1691062414.583344944 0.567426 -0.440533 9.165 -0.0692422 -0.0298274 0.0639159 0.17 -0.02 pose: 0.49014422 0.719913 -0.00429659 0 -0.00379026 0.00198894 -0.0771745 0.997008 uwb: 0.0 854.607 918.572 -imu_odom_: 1691062414.606356980 0.217872 -0.114922 10.0676 -0.0500674 0.0255663 0.0340885 0.2 -0.02 pose: 0.32990072 0.729913 -0.00424176 0 -0.00642299 -0.000535192-0.0769017 0.997018 uwb: 0.50054074 854.932 917.416 -imu_odom_: 1691062414.629347728 0.306458 0.0957681 10.2496 -0.0671117 0.0149137 0.0490022 0.2 -0.02 pose: 0.8040754 0.729913 -0.00424176 0 -0.00575766 7.59938e-05 -0.076922 0.99702 uwb: 0.0 854.932 917.416 -imu_odom_: 1691062414.655450724 0.725443 -0.265756 10.307 -0.0511327 0.0181095 0.036219 0.24 -0.02 pose: 0.37962030 0.739913 -0.0041817 0 -0.00235256 0.00171226 -0.076849 0.997038 uwb: 0.49878805 855.027 916.292 -imu_odom_: 1691062414.671408291 0.217872 -0.354342 9.57202 -0.0596548 -0.0372843 0.0426106 0.24 -0.02 pose: 0.0 0.739913 -0.0041817 0 -0.00235256 0.00171226 -0.076849 0.997038 uwb: 0.0 855.027 916.292 -imu_odom_: 1691062414.694386499 0.251391 -0.177171 9.36612 -0.0809601 -0.0426106 0.0575243 0.17 0.02 pose: 0.42060563 0.745519 -0.00414743 0 -0.00309924 0.00062604 -0.0768712 0.997036 uwb: 0.0 855.027 916.292 -imu_odom_: 1691062414.718404358 0.428562 -0.0502782 9.9934 -0.072438 0.00426106 0.0458064 0.17 0.02 pose: 0.0 0.745519 -0.00414743 0 -0.00309924 0.00062604 -0.0768712 0.997036 uwb: 0.0 855.027 916.292 -imu_odom_: 1691062414.735408868 0.445322 -0.557849 9.663 -0.0649811 0.00426106 0.036219 0.24 0 pose: 0.0 0.745519 -0.00414743 0 -0.00309924 0.00062604 -0.0768712 0.997036 uwb: 0.0 855.027 916.292 -imu_odom_: 1691062414.759407188 0.222661 -0.23942 9.63427 -0.0340885 0.00532632 0.0351537 0.24 0 pose: 0.46996067 0.756857 -0.00407733 0 3.15403e-05 0.00127614 -0.0765805 0.997063 uwb: 0.100048656 854.75 915.962 -imu_odom_: 1691062414.776396825 0.557849 -0.277727 10.0963 -0.0511327 -0.00639159 0.0394148 0.22 -0.02 pose: 0.0 0.756857 -0.00407733 0 3.15403e-05 0.00127614 -0.0765805 0.997063 uwb: 0.0 854.75 915.962 -imu_odom_: 1691062414.801318438 0.428562 -0.122104 9.75158 -0.0426106 0.0255663 0.0479369 0.22 -0.02 pose: 0.49082079 0.759979 -0.0140567 0 -0.00131017 0.00283693 -0.0766619 0.997052 uwb: 0.50130188 855.638 914.445 -imu_odom_: 1691062414.825334548 0.701501 -0.275333 10.0341 -0.0575243 -0.015979 0.052198 0.22 0 pose: 0.33832001 0.769979 -0.0139915 0 0.000842636 0.0010486 -0.0765595 0.997064 uwb: 0.0 855.638 914.445 -imu_odom_: 1691062414.849310997 0.768539 -0.289698 10.0556 -0.0383495 0.00639159 0.0415453 0.22 0 pose: 0.8078083 0.769979 -0.0139915 0 0.000584448 0.000231233 -0.0765084 0.997069 uwb: 0.49916425 855.882 912.373 -imu_odom_: 1691062414.872301744 0.78051 -0.220267 10.1035 -0.0468716 -0.0351537 0.0447411 0.17 0.02 pose: 0.39914476 0.779979 -0.0139232 0 -0.00043297 -0.0035604 -0.076382 0.997072 uwb: 0.0 855.882 912.373 -imu_odom_: 1691062414.896309106 0.136469 -0.186748 10.0293 -0.0383495 -0.0191748 0.0436758 0.17 0.02 pose: 0.0 0.779979 -0.0139232 0 -0.00043297 -0.0035604 -0.076382 0.997072 uwb: 0.49945880 856.08 912.322 -imu_odom_: 1691062414.913293784 0.435745 -0.253785 9.96227 -0.0575243 -0.02024 0.0617853 0.21 0 pose: 0.46998109 0.789978 -0.0138519 0 -4.03012e-06-0.00403375 -0.0762733 0.997079 uwb: 0.0 856.08 912.322 -imu_odom_: 1691062414.928401548 1.09894 -0.124498 10.1323 -0.0809601 -0.092678 0.128897 0.21 0 pose: 0.0 0.789978 -0.0138519 0 -4.03012e-06-0.00403375 -0.0762733 0.997079 uwb: 0.0 856.08 912.322 -imu_odom_: 1691062414.946296397 0.723049 -0.1652 9.17937 -0.0894822 0.0117179 0.197074 0.21 0 pose: 0.0 0.789978 -0.0138519 0 -4.03012e-06-0.00403375 -0.0762733 0.997079 uwb: 0.49999831 856.157 912.196 -imu_odom_: 1691062414.961284302 0.940921 -0.579397 10.2663 -0.0671117 0.0426106 0.223706 0.2 0.14 pose: 0.40100826 0.789978 -0.0138519 0 -0.00119995 -0.00572751 -0.0747833 0.997183 uwb: 0.0 856.157 912.196 -imu_odom_: 1691062414.978278896 1.21625 -0.37589 9.92397 -0.0500674 0.00319579 0.236489 0.2 0.14 pose: 0.0 0.789978 -0.0138519 0 -0.00119995 -0.00572751 -0.0747833 0.997183 uwb: 0.0 856.157 912.196 -imu_odom_: 1691062414.994395982 0.991199 -0.131681 9.92636 -0.0447411 -0.00852212 0.287621 0.12 0.32 pose: 0.0 0.789978 -0.0138519 0 -0.00119995 -0.00572751 -0.0747833 0.997183 uwb: 0.49983791 855.501 913.003 -imu_odom_: 1691062415.11337213 1.27132 -0.488417 9.41161 -0.0596548 -0.0330232 0.338754 0.12 0.32 pose: 0.49998372 0.799978 -0.013749 0 -0.00249405 -0.0096914 -0.0699559 0.9975 uwb: 0.0 855.501 913.003 -imu_odom_: 1691062415.26331252 1.13485 -0.397437 9.97424 -0.0426106 0.00319579 0.38456 0.12 0.32 pose: 0.0 0.799978 -0.013749 0 -0.00249405 -0.0096914 -0.0699559 0.9975 uwb: 0.0 855.501 913.003 -imu_odom_: 1691062415.43266072 0.751779 -0.289698 9.75637 -0.052198 0.0308927 0.468716 0.13 0.5 pose: 0.39922948 0.809968 -0.0137487 0 -0.0034938 -0.0136245 -0.0638523 0.99786 uwb: 0.0 855.501 913.003 -imu_odom_: 1691062415.59388127 0.799663 -0.555455 9.77074 -0.0660464 -0.0308927 0.54435 0.13 0.5 pose: 0.0 0.809968 -0.0137487 0 -0.0034938 -0.0136245 -0.0638523 0.99786 uwb: 0.49995773 856.207 911.023 -imu_odom_: 1691062415.76265788 0.749385 -0.272939 9.414 -0.04048 -0.0138484 0.552872 0.13 0.5 pose: 0.0 0.809968 -0.0137487 0 -0.0034938 -0.0136245 -0.0638523 0.99786 uwb: 0.0 856.207 911.023 -imu_odom_: 1691062415.91388726 0.766145 -0.296881 9.79468 -0.0543285 0.0298274 0.585895 0.08 0.47 pose: 0.8004305 0.809978 -0.013749 0 -0.00377419 -0.01423 -0.0621369 0.997959 uwb: 0.0 856.207 911.023 -imu_odom_: 1691062415.108381289 0.828394 -0.301669 10.0389 -0.0511327 -0.00745685 0.64342 0.1 0.64 pose: 0.0 0.809978 -0.013749 0 -0.00377419 -0.01423 -0.0621369 0.997959 uwb: 0.50108055 856.091 910.082 -imu_odom_: 1691062415.124275290 0.857124 -0.426168 9.8282 -0.0500674 0.0394148 0.680704 0.1 0.64 pose: 0.65078472 0.809978 -0.013749 0 -0.00534236 -0.0191002 -0.0452924 0.998777 uwb: 0.0 856.091 910.082 -imu_odom_: 1691062415.141319471 0.292093 -0.490811 9.96467 -0.0532632 0.052198 0.681769 0.09 0.73 pose: 0.0 0.809978 -0.013749 0 -0.00534236 -0.0191002 -0.0452924 0.998777 uwb: 0.0 856.091 910.082 -imu_odom_: 1691062415.154262784 0.316035 -0.356736 9.97185 -0.0372843 0.0149137 0.649811 0.09 0.73 pose: 0.0 0.809978 -0.013749 0 -0.00534236 -0.0191002 -0.0452924 0.998777 uwb: 0.49920539 855.752 910.221 -imu_odom_: 1691062415.171255930 0.296881 0.0191536 9.76355 -0.0490022 -0.0255663 0.646616 0.09 0.73 pose: 0.32913102 0.819978 -0.0137497 0 -0.00714801 -0.0192472 -0.0348852 0.99918 uwb: 0.0 855.752 910.221 -imu_odom_: 1691062415.186257551 0.914585 -0.160412 9.85214 -0.0532632 -0.0138484 0.639159 0.06 0.58 pose: 0.38928799 0.819968 -0.0137495 0 -0.00624501 -0.0155389 -0.0228877 0.999598 uwb: 0.0 855.752 910.221 -imu_odom_: 1691062415.203255946 0.861913 -0.414197 9.97185 -0.0458064 -0.00106526 0.586961 0.06 0.58 pose: 0.7004606 0.819978 -0.0137496 0 -0.00583912 -0.0161116 -0.0207983 0.999637 uwb: 0.50063728 855.115 910.526 -imu_odom_: 1691062415.219304510 0.718261 -0.227449 9.93594 -0.0490022 -0.00106526 0.551807 0.06 0.58 pose: 0.0 0.819978 -0.0137496 0 -0.00583912 -0.0161116 -0.0207983 0.999637 uwb: 0.0 855.115 910.526 -imu_odom_: 1691062415.235245172 0.574608 -0.0694318 9.89763 -0.056459 0.00745685 0.536893 0.06 0.55 pose: 0.41043974 0.819968 -0.0137495 0 -0.00496186 -0.0174364 -0.00966332 0.999789 uwb: 0.0 855.115 910.526 -imu_odom_: 1691062415.251274489 0.565032 -0.114922 9.84256 -0.0553937 0 0.517718 0.06 0.55 pose: 0.0 0.819968 -0.0137495 0 -0.00496186 -0.0174364 -0.00966332 0.999789 uwb: 0.49995195 854.788 910.149 -imu_odom_: 1691062415.268250137 0.651223 -0.28491 9.84975 -0.0532632 0 0.478304 0.06 0.55 pose: 0.0 0.819968 -0.0137495 0 -0.00496186 -0.0174364 -0.00966332 0.999789 uwb: 0.0 854.788 910.149 -imu_odom_: 1691062415.292366582 0.708684 -0.131681 9.80186 -0.0532632 -0.00319579 0.426106 0.04 0.35 pose: 0.39102318 0.819978 -0.0137496 0 -0.00289462 -0.0145977 -0.0003329040.999889 uwb: 0.0 854.788 910.149 -imu_odom_: 1691062415.309294987 0.579397 -0.184354 10.003 -0.0596548 0.0181095 0.393083 0.04 0.38 pose: 0.0 0.819978 -0.0137496 0 -0.00289462 -0.0145977 -0.0003329040.999889 uwb: 0.49857255 854.598 909.326 -imu_odom_: 1691062415.324226617 0.122104 -0.251391 9.77074 -0.0649811 0.0426106 0.32384 0.04 0.38 pose: 0.42030259 0.819978 -0.0137497 0 -0.00068663 -0.0134544 0.00788274 0.999878 uwb: 0.0 854.598 909.326 -imu_odom_: 1691062415.341355078 -0.454898 0.122104 10.1873 -0.052198 0.056459 0.175769 0.04 0.38 pose: 0.0 0.819978 -0.0137497 0 -0.00068663 -0.0134544 0.00788274 0.999878 uwb: 0.0 854.598 909.326 -imu_odom_: 1691062415.357228374 -1.34075 0.402226 9.58878 -0.0649811 0.0308927 0.176834 0.08 0.29 pose: 0.0 0.819978 -0.0137497 0 -0.00068663 -0.0134544 0.00788274 0.999878 uwb: 0.50114471 854.495 908.908 -imu_odom_: 1691062415.373230861 -0.811634 -0.670376 9.92875 -0.0862864 -0.0628506 0.26099 0.08 0.29 pose: 0.31798501 0.829977 -0.0135918 0 -0.000295395-0.00970658 0.0121093 0.99988 uwb: 0.0 854.495 908.908 -imu_odom_: 1691062415.386282659 0.167594 -0.885855 9.96946 -0.0756338 -0.0873517 0.252468 0.08 0.17 pose: 0.0 0.829977 -0.0135918 0 -0.000295395-0.00970658 0.0121093 0.99988 uwb: 0.0 854.495 908.908 -imu_odom_: 1691062415.401277280 0.775721 -0.529119 9.70131 -0.0447411 -0.0127832 0.207727 0.08 0.17 pose: 0.40995273 0.829977 -0.0135918 0 -0.000427854-0.00572894 0.0155853 0.999862 uwb: 0.49960491 854.291 908.426 -imu_odom_: 1691062415.418281508 0.294487 0.179565 9.87369 -0.0809601 0.0191748 0.24288 0.08 0.17 pose: 0.0 0.829977 -0.0135918 0 -0.000427854-0.00572894 0.0155853 0.999862 uwb: 0.0 854.291 908.426 -imu_odom_: 1691062415.434510007 0.0981623 -0.0814029 9.9096 -0.0745685 0.036219 0.230097 0.1 0.17 pose: 0.6023570 0.829977 -0.0135918 0 -0.00102611 -0.00570733 0.0162294 0.999851 uwb: 0.0 854.291 908.426 -imu_odom_: 1691062415.451220857 0.213084 -0.476446 9.61272 -0.0639159 0.0276969 0.168312 0.1 0.17 pose: 0.0 0.829977 -0.0135918 0 -0.00102611 -0.00570733 0.0162294 0.999851 uwb: 0.49916165 855.289 905.501 -imu_odom_: 1691062415.466330380 0.126893 -0.31364 9.67257 -0.0639159 0.00532632 0.154463 0.1 0.17 pose: 0.0 0.829977 -0.0135918 0 -0.00102611 -0.00570733 0.0162294 0.999851 uwb: 0.0 855.289 905.501 -imu_odom_: 1691062415.483210083 0.181959 -0.299275 9.50019 -0.0692422 -0.0298274 0.181095 0.15 0.17 pose: 0.47198194 0.839974 -0.0133791 0 -0.00127203 -0.00483091 0.0207415 0.999772 uwb: 0.0 855.289 905.501 -imu_odom_: 1691062415.499206446 0.0574608 -0.447716 9.6199 -0.0585895 -0.0298274 0.18216 0.12 0.11 pose: 0.0 0.839974 -0.0133791 0 -0.00127203 -0.00483091 0.0207415 0.999772 uwb: 0.49906540 855.688 904.677 -imu_odom_: 1691062415.516209216 0.0837971 -0.196325 10.1083 -0.0553937 -0.00852212 0.173638 0.12 0.11 pose: 0.0 0.839974 -0.0133791 0 -0.00127203 -0.00483091 0.0207415 0.999772 uwb: 0.0 855.688 904.677 -imu_odom_: 1691062415.531267121 0.225055 -0.19393 9.89284 -0.0415453 -0.0287621 0.166181 0.12 0.11 pose: 0.64893871 0.839974 -0.0133791 0 -0.00346193 0.00118366 0.0252411 0.999675 uwb: 0.0 855.688 904.677 -imu_odom_: 1691062415.548200775 0.593762 -0.191536 9.80904 -0.04048 -0.04048 0.160855 0.13 0.08 pose: 0.0 0.839974 -0.0133791 0 -0.00346193 0.00118366 0.0252411 0.999675 uwb: 0.50246870 855.319 904.978 -imu_odom_: 1691062415.564318455 0.320823 -0.191536 9.71806 -0.0585895 -0.0372843 0.176834 0.13 0.08 pose: 0.31865284 0.849972 -0.0131744 0 -0.00289047 0.00385228 0.0273963 0.999613 uwb: 0.0 855.319 904.978 -imu_odom_: 1691062415.580199625 0.905008 -0.371101 10.0149 -0.0500674 -0.0479369 0.172573 0.17 0.14 pose: 0.33127158 0.849972 -0.0131744 0 -0.00110206 0.00278099 0.0294957 0.99956 uwb: 0.0 855.319 904.978 -imu_odom_: 1691062415.595322854 0.988805 -0.25618 9.5792 -0.0553937 -0.0500674 0.206661 0.17 0.14 pose: 0.0 0.849972 -0.0131744 0 -0.00110206 0.00278099 0.0294957 0.99956 uwb: 0.49882627 855.463 903.982 -imu_odom_: 1691062415.611311343 0.761356 -0.337582 9.39485 -0.0532632 -0.00745685 0.26099 0.17 0.14 pose: 0.0 0.849972 -0.0131744 0 -0.00110206 0.00278099 0.0294957 0.99956 uwb: 0.0 855.463 903.982 -imu_odom_: 1691062415.625317055 1.54665 -0.493206 10.6638 -0.052198 -0.0287621 0.232228 0.09 0.05 pose: 0.14866305 0.849972 -0.0131744 0 -0.0005719070.00226228 0.0305028 0.999532 uwb: 0.0 855.463 903.982 -imu_odom_: 1691062415.642368818 1.4054 0.112527 9.663 -0.0298274 -0.0127832 0.109722 0.09 0.05 pose: 0.0 0.849972 -0.0131744 0 -0.0005719070.00226228 0.0305028 0.999532 uwb: 0.0 855.463 903.982 -imu_odom_: 1691062415.658186122 1.01514 0.0430956 9.62708 -0.0585895 0.0298274 0.105461 0.09 0.05 pose: 0.0 0.849972 -0.0131744 0 -0.0005719070.00226228 0.0305028 0.999532 uwb: 0.50047105 855.647 903.192 -imu_odom_: 1691062415.675304376 0.670376 -0.275333 9.84017 -0.0681769 0.0191748 0.118244 0.11 0.11 pose: 0.47122079 0.85997 -0.0129643 0 -0.00128945 -0.00300712 0.0348045 0.999389 uwb: 0.0 855.647 903.192 -imu_odom_: 1691062415.691187879 0.536301 -0.624887 9.94073 -0.0511327 0.00106526 0.0830906 0.07 0.08 pose: 0.0 0.85997 -0.0129643 0 -0.00128945 -0.00300712 0.0348045 0.999389 uwb: 0.0 855.647 903.192 -imu_odom_: 1691062415.707247525 0.715866 -0.143652 9.92636 -0.0490022 -0.0223706 0.0777643 0.07 0.08 pose: 0.64983401 0.85997 -0.0129643 0 -0.00129669 -0.00787473 0.0374422 0.999267 uwb: 0.0 855.647 903.192 -imu_odom_: 1691062415.723180313 0.732626 -0.110133 9.71806 -0.0585895 0.00106526 0.11931 0.06 0.05 pose: 0.0 0.85997 -0.0129643 0 -0.00129669 -0.00787473 0.0374422 0.999267 uwb: 0.0 855.647 903.192 -imu_odom_: 1691062415.740235576 0.730232 -0.40462 9.97664 -0.0553937 0.00319579 0.135289 0.06 0.05 pose: 0.0 0.85997 -0.0129643 0 -0.00129669 -0.00787473 0.0374422 0.999267 uwb: 0.0 855.647 903.192 -imu_odom_: 1691062415.755194327 0.715866 -0.430956 9.88087 -0.0436758 -0.00319579 0.115049 0.06 0.05 pose: 0.30881041 0.869967 -0.012715 0 -0.000562915-0.00973396 0.0381875 0.999223 uwb: 0.99939063 855.691 902.487 -imu_odom_: 1691062415.781189729 0.687136 -0.162806 9.67497 -0.0543285 0.0170442 0.120375 0.06 0.11 pose: 0.41002563 0.869956 -0.012715 0 -0.00258466 -0.0120364 0.0399464 0.999126 uwb: 0.0 855.691 902.487 -imu_odom_: 1691062415.794175036 0.45011 -0.270545 9.97185 -0.0607201 0.0351537 0.1012 0.06 0.11 pose: 0.0 0.869956 -0.012715 0 -0.00258466 -0.0120364 0.0399464 0.999126 uwb: 0.49866296 855.675 901.368 -imu_odom_: 1691062415.818189410 -0.924162 -0.0502782 9.86411 -0.0319579 0.0958738 -0.0138484 0.05 0.08 pose: 0.8067589 0.869967 -0.012715 0 -0.00185433 -0.0122855 0.0402621 0.999112 uwb: 0.0 855.675 901.368 -imu_odom_: 1691062415.843216900 -0.794875 -0.600945 9.92157 -0.0841559 -0.0873517 0.116114 0.1 0.11 pose: 0.0 0.869967 -0.012715 0 -0.00185433 -0.0122855 0.0402621 0.999112 uwb: 0.0 855.675 901.368 -imu_odom_: 1691062415.866230117 0.466869 -0.4956 9.69173 -0.0319579 -0.0532632 0.0639159 0.08 0.05 pose: 0.79954984 0.869967 -0.012715 0 -0.00126011 -0.00638574 0.0416904 0.999109 uwb: 0.50182129 855.266 901.461 -imu_odom_: 1691062415.882188859 0.648829 0.232238 9.90002 -0.0468716 -0.0426106 0.0905475 0.08 0.05 pose: 0.0 0.869967 -0.012715 0 -0.00126011 -0.00638574 0.0416904 0.999109 uwb: 0.0 855.266 901.461 -imu_odom_: 1691062415.899158967 0.497994 -0.047884 10.1778 -0.0692422 0.0372843 0.118244 0.14 0.05 pose: 0.38971959 0.879964 -0.0124788 0 -0.00158677 -0.00712028 0.0423841 0.999075 uwb: 0.49739437 855.64 900.788 -imu_odom_: 1691062415.923364358 -0.0957681 -0.411803 9.94791 -0.0617853 -0.00745685 0.0553937 0.14 0.05 pose: 0.8076046 0.879964 -0.0124788 0 -0.000872959-0.00674092 0.0426957 0.999065 uwb: 0.0 855.64 900.788 -imu_odom_: 1691062415.949154454 0.40462 -0.294487 10.0628 -0.0532632 -0.0276969 0.0937433 0.13 0 pose: 0.33099453 0.879964 -0.0124788 0 -0.00097051 -0.00407945 0.0432353 0.999056 uwb: 0.50023483 855.577 899.624 -imu_odom_: 1691062415.973202366 0.215478 -0.40462 9.67736 -0.0511327 -0.0245011 0.0639159 0.13 0 pose: 0.0 0.879964 -0.0124788 0 -0.00097051 -0.00407945 0.0432353 0.999056 uwb: 0.0 855.577 899.624 -imu_odom_: 1691062415.999143816 0.227449 0.102951 10.0916 -0.0500674 -0.0234358 0.0809601 0.13 0.05 pose: 0.7897278 0.879964 -0.0124788 0 -0.00144986 -0.00355258 0.0434518 0.999048 uwb: 0.50039231 855.564 898.108 -imu_odom_: 1691062416.24161988 0.1652 -0.481235 9.73004 -0.0383495 -0.0127832 0.0596548 0.13 0.05 pose: 0.50029899 0.88996 -0.0122095 0 -0.00306884 -0.0002966530.044412 0.999009 uwb: 0.0 855.564 898.108 -imu_odom_: 1691062416.47168512 0.94571 -0.265756 10.2639 -0.0500674 -0.00426106 0.0639159 0.13 0.05 pose: 0.0 0.88996 -0.0122095 0 -0.00306884 -0.0002966530.044412 0.999009 uwb: 0.50055589 855.658 897.234 -imu_odom_: 1691062416.64139213 0.395043 -0.328006 9.87608 -0.0426106 0.0245011 0.0756338 0.13 0.05 pose: 0.0 0.88996 -0.0122095 0 -0.00306884 -0.0002966530.044412 0.999009 uwb: 0.0 855.658 897.234 -imu_odom_: 1691062416.88424816 0.19393 -0.0981623 9.85214 -0.0575243 -0.0181095 0.0745685 0.19 0.02 pose: 0.73884203 0.899959 -0.0120119 0 -0.00363491 -0.00011811 0.0454537 0.99896 uwb: 0.0 855.658 897.234 -imu_odom_: 1691062416.115280535 0.454898 -0.0742203 10.2759 -0.0553937 0.00532632 0.072438 0.17 0 pose: 0.33249078 0.906664 -0.0118715 0 -0.00283898 0.00179667 0.046049 0.998934 uwb: 0.49978311 854.803 897.577 -imu_odom_: 1691062416.132197577 0.387861 -0.28491 9.67497 -0.072438 0.0213053 0.0809601 0.17 0 pose: 0.0 0.906664 -0.0118715 0 -0.00283898 0.00179667 0.046049 0.998934 uwb: 0.0 854.803 897.577 -imu_odom_: 1691062416.156155099 0.555455 -0.100556 10.2448 -0.0543285 -0.0138484 0.0617853 0.22 0.02 pose: 0.43772761 0.909956 -0.0117987 0 -0.00219668 0.000977277 0.0468392 0.9989 uwb: 0.49927568 854.296 898.549 -imu_odom_: 1691062416.180199234 0.148441 -0.0191536 10.5201 -0.0511327 0.00213053 0.0745685 0.22 0.02 pose: 0.0 0.909956 -0.0117987 0 -0.00219668 0.000977277 0.0468392 0.9989 uwb: 0.0 854.296 898.549 -imu_odom_: 1691062416.204143924 0.035913 -0.184354 10.0556 -0.0596548 -0.0234358 0.0575243 0.22 0 pose: 0.48001657 0.919953 -0.0115598 0 0.000923597 0.00122523 0.0475231 0.998869 uwb: 0.50011264 854.215 897.544 -imu_odom_: 1691062416.220144671 0.505177 0.174777 10.161 -0.0458064 -0.0500674 0.0500674 0.22 0 pose: 0.0 0.919953 -0.0115598 0 0.000923597 0.00122523 0.0475231 0.998869 uwb: 0.0 854.215 897.544 -imu_odom_: 1691062416.244195222 0.141258 -0.28491 10.0892 -0.0639159 0.0149137 0.0649811 0.17 0 pose: 0.0 0.919953 -0.0115598 0 0.000923597 0.00122523 0.0475231 0.998869 uwb: 0.49905404 855.485 895.395 -imu_odom_: 1691062416.267191539 0.435745 -0.217872 10.1586 -0.0607201 0.0245011 0.0458064 0.17 0 pose: 0.47947414 0.92995 -0.0113077 0 0.00196215 0.00318506 0.0479228 0.998844 uwb: 0.0 855.485 895.395 -imu_odom_: 1691062416.284176238 -0.009576810 9.93115 -0.0596548 0.0447411 0.0617853 0.2 0.02 pose: 0.0 0.92995 -0.0113077 0 0.00196215 0.00318506 0.0479228 0.998844 uwb: 0.0 855.485 895.395 -imu_odom_: 1691062416.309120628 0.560243 -0.361524 9.86411 -0.0660464 0.00745685 0.0500674 0.2 0.02 pose: 0.46992042 0.939947 -0.011047 0 0.000886632 0.00366371 0.0482831 0.998827 uwb: 0.50079506 855.606 894.904 -imu_odom_: 1691062416.336152200 0.610521 -0.059855 9.83777 -0.0649811 -0.0138484 0.0575243 0.19 -0.02 pose: 0.33981938 0.939947 -0.011047 0 -0.0002248490.00273197 0.0485122 0.998819 uwb: 0.0 855.606 894.904 -imu_odom_: 1691062416.352150613 0.122104 -0.155623 10.2065 -0.0585895 0.0213053 0.0415453 0.19 -0.02 pose: 0.8066427 0.939947 -0.011047 0 0.000186926 0.00202086 0.0485857 0.998817 uwb: 0.49934567 855.648 894.161 -imu_odom_: 1691062416.378090330 0.428562 -0.143652 10.1107 -0.0394148 0.0276969 0.0319579 0.21 0.02 pose: 0.0 0.939947 -0.011047 0 0.000186926 0.00202086 0.0485857 0.998817 uwb: 0.0 855.648 894.161 -imu_odom_: 1691062416.402141464 0.270545 -0.440533 9.60793 -0.0500674 0.0458064 0.0543285 0.21 0.02 pose: 0.34963558 0.949943 -0.010775 0 0.00124594 0.00214827 0.0487726 0.998807 uwb: 0.49982102 855.898 892.982 -imu_odom_: 1691062416.425100744 0.866701 -0.356736 10.2113 -0.0372843 0.00745685 0.0308927 0.17 0 pose: 0.49990851 0.956744 -0.0105877 0 0.000750977 0.00195188 0.0488551 0.998804 uwb: 0.0 855.898 892.982 -imu_odom_: 1691062416.442154267 0.751779 -0.42138 9.62708 -0.0607201 -0.00532632 0.0649811 0.17 0 pose: 0.0 0.956744 -0.0105877 0 0.000750977 0.00195188 0.0488551 0.998804 uwb: 0.0 855.898 892.982 -imu_odom_: 1691062416.467095742 0.713472 -0.179565 10.0652 -0.0596548 -0.0181095 0.0394148 0.17 0 pose: 0.40012803 0.965208 -0.0103531 0 -0.000504063-0.00162935 0.0489728 0.998799 uwb: 0.50038094 856.439 891.822 -imu_odom_: 1691062416.491100799 0.519542 -0.0622492 10.3334 -0.0596548 -0.0490022 0.0490022 0.17 0 pose: 0.0 0.965208 -0.0103531 0 -0.000504063-0.00162935 0.0489728 0.998799 uwb: 0.0 856.439 891.822 -imu_odom_: 1691062416.514091282 0.921768 -0.189142 10.0126 -0.0596548 -0.0426106 0.0394148 0.25 0.02 pose: 0.48946532 0.969935 -0.0102207 0 0.00233614 -0.00511605 0.0490707 0.998779 uwb: 0.49938941 855.171 893.806 -imu_odom_: 1691062416.537138050 0.533907 -0.263362 9.78031 -0.0809601 -0.0351537 0.0617853 0.25 0.02 pose: 0.0 0.969935 -0.0102207 0 0.00233614 -0.00511605 0.0490707 0.998779 uwb: 0.0 855.171 893.806 -imu_odom_: 1691062416.554074339 0.749385 -0.414197 10.0963 -0.076699 -0.0191748 0.0575243 0.23 0 pose: 0.46037251 0.97965 5.684e-05 0 -0.000198956-0.00774229 0.0493412 0.998752 uwb: 0.50059967 854.985 892.695 -imu_odom_: 1691062416.569073053 0.395043 -0.395043 9.44034 -0.04048 0.00639159 0.0351537 0.23 0 pose: 0.0 0.97965 5.684e-05 0 -0.000198956-0.00774229 0.0493412 0.998752 uwb: 0.0 854.985 892.695 -imu_odom_: 1691062416.585098005 0.395043 -0.208296 10.1011 -0.0479369 0.02024 0.0447411 0.23 0 pose: 0.0 0.97965 5.684e-05 0 -0.000198956-0.00774229 0.0493412 0.998752 uwb: 0.0 854.985 892.695 -imu_odom_: 1691062416.610077974 0.409408 -0.0957681 9.8258 -0.052198 0.0245011 0.0426106 0.21 0.02 pose: 0.39110798 0.989646 0.00034575 0 -0.00215122 -0.00717198 0.0494971 0.998746 uwb: 0.49929026 855.112 891.609 -imu_odom_: 1691062416.635131433 0.337582 -0.452504 10.0963 -0.0639159 0.00532632 0.0543285 0.2 0 pose: 0.33829126 0.99669 0.000550592 0 0.000142064 -0.00432549 0.0495485 0.998762 uwb: 0.0 855.112 891.609 -imu_odom_: 1691062416.657280571 0.632069 -0.126893 10.2831 -0.0287621 -0.0255663 0.0436758 0.2 0 pose: 0.7080725 0.999642 0.000636633 0 -0.000504858-0.00393991 0.0496032 0.998761 uwb: 0.50003099 854.581 892.003 -imu_odom_: 1691062416.673072803 0.299275 -0.294487 10.1035 -0.052198 -0.00319579 0.0543285 0.2 0 pose: 0.0 0.999642 0.000636633 0 -0.000504858-0.00393991 0.0496032 0.998761 uwb: 0.0 854.581 892.003 -imu_odom_: 1691062416.699089510 0.301669 -0.196325 9.8258 -0.0426106 -0.0351537 0.0479369 0.19 0 pose: 0.48069606 0.999642 0.000636633 0 -0.000665179-0.0041101 0.0498409 0.998748 uwb: 0.49987643 854.37 891.45 -imu_odom_: 1691062416.714080641 0.363919 -0.215478 9.68933 -0.0553937 -0.0223706 0.0532632 0.19 0 pose: 0.0 0.999642 0.000636633 0 -0.000665179-0.0041101 0.0498409 0.998748 uwb: 0.0 854.37 891.45 -imu_odom_: 1691062416.740133509 0.483629 -0.169988 9.83777 -0.0436758 -0.0394148 0.0479369 0.19 0 pose: 0.40945138 1.00964 0.000933898 0 -0.000243716-0.0005630920.0500597 0.998746 uwb: 0.0 854.37 891.45 -imu_odom_: 1691062416.764134192 0.177171 -0.105345 10.0269 -0.0596548 -0.00639159 0.0479369 0.17 0.02 pose: 0.33960066 1.01694 0.0011543 0 0.00138374 -0.00248021 0.0502223 0.998734 uwb: 0.49943899 853.799 891.422 -imu_odom_: 1691062416.788126417 -0.0407014 -0.263362 9.75877 -0.076699 0.0127832 0.0436758 0.17 0.02 pose: 0.0 1.01694 0.0011543 0 0.00138374 -0.00248021 0.0502223 0.998734 uwb: 0.0 853.799 891.422 -imu_odom_: 1691062416.812055068 0.378284 -0.146046 10.0102 -0.0756338 0.00106526 0.0596548 0.21 0 pose: 0.6959408 1.01963 0.00123633 0 0.00153889 -0.00181233 0.05025 0.998734 uwb: 0.49913278 853.532 891.422 -imu_odom_: 1691062416.828160217 0.462081 -0.430956 9.84256 -0.0852212 0 0.0607201 0.21 0 pose: 0.0 1.01963 0.00123633 0 0.00153889 -0.00181233 0.05025 0.998734 uwb: 0.0 853.532 891.422 -imu_odom_: 1691062416.852113948 0.383072 -0.366313 9.59357 -0.0607201 0.0149137 0.0532632 0.17 0 pose: 0.47985909 1.02963 0.00154234 0 0.00166105 0.00210472 0.0504343 0.998724 uwb: 0.50043052 853.631 889.702 -imu_odom_: 1691062416.878038792 0.737414 -0.294487 9.85214 -0.0660464 -0.0298274 0.0298274 0.17 0 pose: 0.0 1.02963 0.00154234 0 0.00166105 0.00210472 0.0504343 0.998724 uwb: 0.0 853.631 889.702 -imu_odom_: 1691062416.902043557 0.363919 -0.474052 9.81144 -0.0607201 -0.0607201 0.0468716 0.18 0.02 pose: 0.41085993 1.03962 0.00185469 0 0.000483385 0.00103103 0.0508334 0.998706 uwb: 0.50059967 853.235 889.202 -imu_odom_: 1691062416.918100005 0.732626 -0.294487 10.0389 -0.0490022 -0.04048 0.0479369 0.18 0.02 pose: 0.0 1.03962 0.00185469 0 0.000483385 0.00103103 0.0508334 0.998706 uwb: 0.0 853.235 889.202 -imu_odom_: 1691062416.942082607 0.936133 -0.174777 9.94073 -0.0500674 0.0223706 0.052198 0.19 0.02 pose: 0.48885290 1.03962 0.00185469 0 -0.00225726 -0.00181254 0.0508392 0.998703 uwb: 0.0 853.235 889.202 -imu_odom_: 1691062416.967327082 0.531513 -0.124498 10.0652 -0.0479369 -0.0149137 0.0458064 0.19 0.02 pose: 0.0 1.03962 0.00185469 0 -0.00225726 -0.00181254 0.0508392 0.998703 uwb: 0.49990559 852.392 889.573 -imu_odom_: 1691062416.983045533 0.390255 -0.301669 9.4547 -0.0511327 0.00639159 0.0415453 0.18 0 pose: 0.39988598 1.04962 0.00217195 0 -0.00355697 -0.00432379 0.0510068 0.998683 uwb: 0.0 852.392 889.573 -imu_odom_: 1691062417.9020834 0.299275 -0.399832 9.66779 -0.0532632 0.0170442 0.052198 0.18 0 pose: 0.0 1.04962 0.00217195 0 -0.00355697 -0.00432379 0.0510068 0.998683 uwb: 0.49881490 852.241 889.259 -imu_odom_: 1691062417.34030855 0.395043 -0.337582 9.78271 -0.0255663 0.0245011 0.0319579 0.17 0 pose: 0.49198498 1.05961 0.0024928 0 -0.000769626-0.00539627 0.0511794 0.998675 uwb: 0.0 852.241 889.259 -imu_odom_: 1691062417.60150522 0.548272 -0.0909797 10.228 -0.052198 0.00106526 0.0490022 0.17 0 pose: 0.0 1.05961 0.0024928 0 -0.000769626-0.00539627 0.0511794 0.998675 uwb: 0.50187143 852.877 887.513 -imu_odom_: 1691062417.84012404 0.378284 -0.222661 10.3238 -0.0490022 -0.0170442 0.0543285 0.2 0 pose: 0.42831980 1.06961 0.00281807 0 -0.00351423 -0.00181823 0.0513377 0.998674 uwb: 0.0 852.877 887.513 -imu_odom_: 1691062417.108215491 0.881066 -0.150835 10.161 -0.0511327 -0.015979 0.0372843 0.2 0 pose: 0.50232057 1.0796 0.0031452 0 -0.00192263 -0.00120749 0.0514485 0.998673 uwb: 0.49820570 852.217 888.027 -imu_odom_: 1691062417.124003942 0.31364 -0.23942 9.71806 -0.0500674 0.0340885 0.0383495 0.19 0 pose: 0.0 1.0796 0.0031452 0 -0.00192263 -0.00120749 0.0514485 0.998673 uwb: 0.0 852.217 888.027 -imu_odom_: 1691062417.140035903 0.378284 -0.380678 10.0461 -0.0479369 -0.0223706 0.04048 0.19 0 pose: 0.0 1.0796 0.0031452 0 -0.00192263 -0.00120749 0.0514485 0.998673 uwb: 0.0 852.217 888.027 -imu_odom_: 1691062417.165039217 0.371101 -0.0766145 9.991 -0.0468716 -0.00106526 0.0308927 0.18 0.02 pose: 0.72734661 1.0896 0.0034769 0 -0.00212117 -0.0004010170.0515435 0.998668 uwb: 0.50282800 851.906 887.179 -imu_odom_: 1691062417.188972548 0.28491 -0.272939 10.2352 -0.056459 -0.0266316 0.0447411 0.18 0.02 pose: 0.0 1.0896 0.0034769 0 -0.00212117 -0.0004010170.0515435 0.998668 uwb: 0.0 851.906 887.179 -imu_odom_: 1691062417.214056935 0.68953 -0.244209 9.85453 -0.0340885 -0.00745685 0.0458064 0.26 0 pose: 0.7976902 1.0896 0.0034769 0 -0.00131609 -0.0001828620.0515091 0.998672 uwb: 0.49786158 852.21 885.769 -imu_odom_: 1691062417.236141636 0.54109 -0.253785 9.87608 -0.0426106 0 0.0511327 0.18 0 pose: 0.0 1.0896 0.0034769 0 -0.00131609 -0.0001828620.0515091 0.998672 uwb: 0.0 852.21 885.769 -imu_odom_: 1691062417.252260793 0.476446 -0.167594 9.8282 -0.056459 0.0213053 0.0426106 0.2 0 pose: 0.72084913 1.10925 0.014133 0 -0.000679935-0.00111192 0.0516056 0.998667 uwb: 0.49904851 851.447 885.592 -imu_odom_: 1691062417.275981527 0.56982 -0.287304 10.058 -0.0681769 -0.0372843 0.0532632 0.2 0 pose: 0.0 1.10925 0.014133 0 -0.000679935-0.00111192 0.0516056 0.998667 uwb: 0.0 851.447 885.592 -imu_odom_: 1691062417.301005547 0.76375 -0.208296 10.4291 -0.0543285 0.0138484 0.04048 0.18 0 pose: 0.55883809 1.1163 0.0143698 0 -0.00077464 -0.00524961 0.051883 0.998639 uwb: 0.50127945 851.629 884.696 -imu_odom_: 1691062417.315966941 0.830788 -0.174777 10.0389 -0.0500674 -0.00532632 0.0511327 0.18 0 pose: 0.0 1.1163 0.0143698 0 -0.00077464 -0.00524961 0.051883 0.998639 uwb: 0.0 851.629 884.696 -imu_odom_: 1691062417.339011098 0.88346 -0.023942 10.1682 -0.052198 -0.0383495 0.0383495 0.25 -0.02 pose: 0.39985414 1.12451 0.0146475 0 3.32989e-05 -0.00895176 0.051972 0.998608 uwb: 0.0 851.629 884.696 -imu_odom_: 1691062417.364959287 0.471658 -0.153229 9.8689 -0.0745685 -0.0394148 0.0532632 0.25 -0.02 pose: 0.7014529 1.12924 0.0148085 0 0.000468777 -0.00963485 0.0519638 0.998602 uwb: 0.49980674 851.438 884.13 -imu_odom_: 1691062417.379962676 0.608127 -0.31364 9.74679 -0.0703074 -0.0191748 0.0500674 0.19 0.02 pose: 0.41977817 1.12924 0.0148085 0 0.00183607 -0.00913798 0.0521096 0.998598 uwb: 0.0 851.438 884.13 -imu_odom_: 1691062417.398032241 0.454898 -0.131681 10.2687 -0.0490022 0.0127832 0.0383495 0.19 0.02 pose: 0.0 1.12924 0.0148085 0 0.00183607 -0.00913798 0.0521096 0.998598 uwb: 0.50034625 850.959 883.548 -imu_odom_: 1691062417.423077258 0.378284 -0.129287 10.1466 -0.0575243 0.015979 0.0383495 0.18 -0.02 pose: 0.6018328 1.12924 0.0148085 0 0.00121263 -0.00934429 0.0521462 0.998595 uwb: 0.0 850.959 883.548 -imu_odom_: 1691062417.446979385 0.502782 -0.0287304 10.1993 -0.0468716 -0.0479369 0.0372843 0.18 -0.02 pose: 0.0 1.12924 0.0148085 0 0.00121263 -0.00934429 0.0521462 0.998595 uwb: 0.49952094 850.604 883.27 -imu_odom_: 1691062417.461950986 0.452504 -0.488417 9.23204 -0.0607201 0.02024 0.04048 0.18 -0.02 pose: 0.0 1.12924 0.0148085 0 0.00121263 -0.00934429 0.0521462 0.998595 uwb: 0.0 850.604 883.27 -imu_odom_: 1691062417.488966242 0.584185 -0.423774 9.6606 -0.04048 0.0394148 0.0298274 0.18 0 pose: 0.35202714 1.13924 0.0151517 0 0.00142302 -0.00704357 0.0521747 0.998612 uwb: 0.0 850.604 883.27 -imu_odom_: 1691062417.514018550 0.225055 -0.361524 9.73004 -0.0500674 0.02024 0.0436758 0.18 -0.02 pose: 0.82785913 1.15653 0.0157456 0 0.000506754 -0.00551379 0.0520198 0.998631 uwb: 0.49992048 851.014 881.483 -imu_odom_: 1691062417.529957190 0.648829 -0.268151 9.23683 -0.04048 -0.0298274 0.0276969 0.18 -0.02 pose: 0.0 1.15653 0.0157456 0 0.000506754 -0.00551379 0.0520198 0.998631 uwb: 0.0 851.014 881.483 -imu_odom_: 1691062417.554955255 0.493206 -0.246603 10.5608 -0.0436758 0.015979 0.0330232 0.18 -0.02 pose: 0.7009864 1.15923 0.0158375 0 0.000159576 -0.00482509 0.0520362 0.998634 uwb: 0.50049789 850.172 881.666 -imu_odom_: 1691062417.580965853 0.418985 0.00718261 10.647 -0.0415453 0.00213053 0.0191748 0.18 -0.02 pose: 0.0 1.15923 0.0158375 0 0.000159576 -0.00482509 0.0520362 0.998634 uwb: 0.0 850.172 881.666 -imu_odom_: 1691062417.605967125 0.148441 0.0215478 9.73243 -0.0585895 -0.0426106 0.0458064 0.19 0 pose: 0.42057140 1.16922 0.0161782 0 -0.00137827 -0.0041964 0.0519603 0.998639 uwb: 0.49809488 849.84 880.977 -imu_odom_: 1691062417.631935437 0.545878 -0.11971 9.50977 -0.0713727 0.00532632 0.0447411 0.19 0 pose: 0.0 1.16922 0.0161782 0 -0.00137827 -0.0041964 0.0519603 0.998639 uwb: 0.0 849.84 880.977 -imu_odom_: 1691062417.647944942 0.306458 -0.292093 10.2352 -0.0596548 0.00426106 0.0351537 0.19 0 pose: 0.50203185 1.17921 0.0165162 0 0.000610555 -0.00180603 0.0516633 0.998663 uwb: 0.50063788 849.256 880.3 -imu_odom_: 1691062417.671049175 0.0622492 -0.294487 9.93354 -0.0287621 0.0181095 0.0170442 0.19 0 pose: 0.0 1.17921 0.0165162 0 0.000610555 -0.00180603 0.0516633 0.998663 uwb: 0.0 849.256 880.3 -imu_odom_: 1691062417.696981908 0.442927 -0.258574 9.80665 -0.0458064 -0.0372843 0.0458064 0.24 0 pose: 0.50788192 1.18921 0.0168515 0 0.00220887 -0.00228349 0.0517695 0.998654 uwb: 0.50024418 848.945 879.622 -imu_odom_: 1691062417.713929289 0.11971 0.035913 9.89284 -0.0511327 0.0181095 0.0479369 0.24 0 pose: 0.0 1.18921 0.0168515 0 0.00220887 -0.00228349 0.0517695 0.998654 uwb: 0.0 848.945 879.622 -imu_odom_: 1691062417.737924736 0.600945 -0.150835 9.65582 -0.0511327 -0.015979 0.04048 0.25 0 pose: 0.74904666 1.1992 0.0171821 0 0.000419318 0.000214681 0.0516392 0.998666 uwb: 0.0 848.945 879.622 -imu_odom_: 1691062417.762983460 0.205901 -0.280122 10.2065 -0.0394148 0.04048 0.0500674 0.25 0 pose: 0.7008405 1.1992 0.0171821 0 0.000657542 -0.0004914910.0516426 0.998665 uwb: 0.50073995 848.836 878.885 -imu_odom_: 1691062417.786046573 0.651223 -0.363919 10.0556 -0.0468716 0.0234358 0.052198 0.18 0 pose: 0.42045766 1.20672 0.0174333 0 0.000430587 0.000675048 0.0517826 0.998658 uwb: 0.0 848.836 878.885 -imu_odom_: 1691062417.802900925 0.28491 -0.114922 10.0054 -0.0447411 -0.0191748 0.0543285 0.18 0 pose: 0.0 1.20672 0.0174333 0 0.000430587 0.000675048 0.0517826 0.998658 uwb: 0.49802489 849.314 877.311 -imu_odom_: 1691062417.826926993 0.56982 -0.148441 9.63906 -0.0458064 -0.0245011 0.0532632 0.18 0.02 pose: 0.39917465 1.21479 0.0177051 0 0.00050992 0.000210207 0.0520522 0.998644 uwb: 0.0 849.314 877.311 -imu_odom_: 1691062417.842893629 0.814029 -0.328006 10.1514 -0.0607201 0.0319579 0.0490022 0.18 0.02 pose: 0.0 1.21479 0.0177051 0 0.00050992 0.000210207 0.0520522 0.998644 uwb: 0.0 849.326 876.884 -imu_odom_: 1691062417.866978607 0.646434 -0.304064 10.4244 -0.0873517 -0.0255663 0.0617853 0.18 0 pose: 0.0 1.21479 0.0177051 0 0.00050992 0.000210207 0.0520522 0.998644 uwb: 0.0 849.326 876.884 -imu_odom_: 1691062417.890895607 0.557849 0.0550666 9.85453 -0.0607201 -0.0106526 0.0553937 0.18 0 pose: 0.47009567 1.22919 0.0181996 0 0.000506778 -0.00419363 0.052375 0.998619 uwb: 0.0 849.326 876.884 -imu_odom_: 1691062417.914958420 0.452504 -0.258574 9.89045 -0.0820254 -0.0181095 0.0479369 0.18 0.02 pose: 0.40985115 1.22919 0.0181996 0 0.00174681 -0.00617859 0.0527411 0.998588 uwb: 0.49992339 849.572 875.985 -imu_odom_: 1691062417.939931989 0.368707 -0.328006 9.75158 -0.0575243 0.0117179 0.036219 0.18 -0.02 pose: 0.7025611 1.22919 0.0181996 0 0.00113761 -0.00575737 0.0527723 0.998589 uwb: 0.0 849.572 875.985 -imu_odom_: 1691062417.954954333 0.416591 -0.347159 9.83059 -0.0713727 0.00213053 0.036219 0.18 -0.02 pose: 0.17037202 1.236 0.0184422 0 -0.000339699-0.0047359 0.0528479 0.998591 uwb: 0.50013919 850.732 874.076 -imu_odom_: 1691062417.981948009 -0.272939 -0.220267 9.65342 -0.0415453 0.0426106 0.0479369 0.18 -0.02 pose: 0.0 1.236 0.0184422 0 -0.000339699-0.0047359 0.0528479 0.998591 uwb: 0.0 850.732 874.076 -imu_odom_: 1691062418.7010817 0.186748 -0.134075 9.71806 -0.0415453 -0.0266316 0.0351537 0.18 0 pose: 0.7949489 1.23918 0.018556 0 -0.000886422-0.00408322 0.0528373 0.998594 uwb: 0.50169358 851.182 872.667 -imu_odom_: 1691062418.30945620 0.526724 -0.241814 9.95509 -0.0383495 -0.0149137 0.0426106 0.2 0.02 pose: 0.40049572 1.24917 0.0189132 0 -0.00352352 -0.00116224 0.0528294 0.998597 uwb: 0.0 851.182 872.667 -imu_odom_: 1691062418.48032410 0.703895 -0.203507 10.1658 -0.0490022 0.00745685 0.0394148 0.2 0.02 pose: 0.0 1.24917 0.0189132 0 -0.00352352 -0.00116224 0.0528294 0.998597 uwb: 0.49939578 850.951 872.243 -imu_odom_: 1691062418.70874482 0.244209 -0.0526724 9.81862 -0.04048 0.0287621 0.0532632 0.19 0 pose: 0.50034339 1.25917 0.0192704 0 -0.00165684 0.00236914 0.0528759 0.998597 uwb: 0.0 850.951 872.243 -imu_odom_: 1691062418.96853891 0.557849 -0.143652 9.63906 -0.0511327 -0.0298274 0.0436758 0.19 0 pose: 0.0 1.25917 0.0192704 0 -0.00165684 0.00236914 0.0528759 0.998597 uwb: 0.49899922 851.599 870.083 -imu_odom_: 1691062418.111866620 0.526724 -0.433351 9.87848 -0.0340885 0.00639159 0.0340885 0.19 0 pose: 0.0 1.25917 0.0192704 0 -0.00165684 0.00236914 0.0528759 0.998597 uwb: 0.0 851.599 870.083 -imu_odom_: 1691062418.137879566 0.363919 -0.361524 10.1083 -0.0436758 -0.0447411 0.0479369 0.25 0 pose: 0.40906983 1.25917 0.0192704 0 -0.000583403-0.0005587910.0529365 0.998598 uwb: 0.0 851.599 870.083 -imu_odom_: 1691062418.162936847 0.366313 -0.110133 10.4866 -0.0500674 -0.00852212 0.0543285 0.21 -0.02 pose: 0.83980763 1.27915 0.0199918 0 -0.00170514 -0.00163719 0.0531838 0.998582 uwb: 0.0 851.599 870.083 -imu_odom_: 1691062418.186873983 0.943315 -0.112527 10.4004 -0.056459 -0.0149137 0.036219 0.21 -0.02 pose: 0.0 1.27915 0.0199918 0 -0.00170514 -0.00163719 0.0531838 0.998582 uwb: 0.0 851.599 870.083 -imu_odom_: 1691062418.211035673 0.555455 -0.0502782 10.4603 -0.0458064 -0.0234358 0.0383495 0.18 0.02 pose: 0.7132352 1.27915 0.0199918 0 -0.00106156 -0.00130581 0.053236 0.998581 uwb: 0.99937785 852.472 868.094 -imu_odom_: 1691062418.226994445 0.770933 -0.325611 9.55526 -0.0617853 -0.04048 0.0394148 0.18 0.02 pose: 0.0 1.27915 0.0199918 0 -0.00106156 -0.00130581 0.053236 0.998581 uwb: 0.0 852.472 868.094 -imu_odom_: 1691062418.251865374 0.667982 -0.531513 9.54329 -0.0543285 -0.0138484 0.0394148 0.19 0 pose: 0.48893513 1.28915 0.0203575 0 0.00173509 -0.00334101 0.0533218 0.99857 uwb: 0.50129142 852.271 867.216 -imu_odom_: 1691062418.277986223 0.509965 -0.260968 9.83059 -0.0458064 -0.0234358 0.0383495 0.19 0 pose: 0.0 1.28915 0.0203575 0 0.00173509 -0.00334101 0.0533218 0.99857 uwb: 0.0 852.271 867.216 -imu_odom_: 1691062418.302852778 0.703895 -0.311246 9.90481 -0.0255663 -0.0436758 0.0447411 0.19 0 pose: 0.41072336 1.29914 0.0207243 0 0.00183143 -0.00641623 0.053317 0.998555 uwb: 0.50033197 851.876 866.627 -imu_odom_: 1691062418.317859967 0.624887 -0.0526724 9.82102 -0.0543285 0.00852212 0.0436758 0.19 0 pose: 0.0 1.29914 0.0207243 0 0.00183143 -0.00641623 0.053317 0.998555 uwb: 0.0 851.876 866.627 -imu_odom_: 1691062418.344910818 0.849942 -0.201113 9.28711 -0.0575243 -0.0308927 0.0575243 0.18 0 pose: 0.49951832 1.30913 0.021091 0 -0.0017734 -0.00682387 0.0533451 0.998551 uwb: 0.49915087 851.605 865.441 -imu_odom_: 1691062418.369833658 0.215478 -0.215478 9.92157 -0.0511327 0.0191748 0.036219 0.18 0 pose: 0.0 1.30913 0.021091 0 -0.0017734 -0.00682387 0.0533451 0.998551 uwb: 0.0 851.605 865.441 -imu_odom_: 1691062418.384918419 0.531513 -0.102951 10.3262 -0.0394148 -0.0319579 0.0383495 0.19 -0.02 pose: 0.40998263 1.31913 0.0214592 0 -0.000317181-0.00998903 0.0534795 0.998519 uwb: 0.0 851.605 865.441 -imu_odom_: 1691062418.409845050 0.0766145 -0.3304 9.91678 -0.052198 -0.0372843 0.0468716 0.19 -0.02 pose: 0.0 1.31913 0.0214592 0 -0.000317181-0.00998903 0.0534795 0.998519 uwb: 0.49999659 851.959 864.104 -imu_odom_: 1691062418.434949283 0.407014 -0.0191536 10.1083 -0.0671117 -0.0106526 0.0383495 0.19 0 pose: 0.50017448 1.31913 0.0214592 0 0.000540013 -0.00910638 0.0535977 0.998521 uwb: 0.0 851.959 864.104 -imu_odom_: 1691062418.449838653 0.493206 -0.23942 9.85693 -0.076699 -0.0138484 0.0458064 0.19 0 pose: 0.0 1.31913 0.0214592 0 0.000540013 -0.00910638 0.0535977 0.998521 uwb: 0.50034946 852.208 863.378 -imu_odom_: 1691062418.475957460 0.624887 -0.148441 9.50498 -0.0607201 -0.0276969 0.0479369 0.26 -0.02 pose: 0.73893343 1.33911 0.0222043 0 0.000897194 -0.00515811 0.0537028 0.998543 uwb: 0.0 852.208 863.378 -imu_odom_: 1691062418.499938924 0.071826 -0.0430956 10.2639 -0.056459 -0.0106526 0.0351537 0.26 -0.02 pose: 0.0 1.33911 0.0222043 0 0.000897194 -0.00515811 0.0537028 0.998543 uwb: 0.50153639 852.456 861.684 -imu_odom_: 1691062418.523988337 0.100556 -0.311246 10.3118 -0.0660464 -0.0138484 0.0298274 0.19 -0.02 pose: 0.7082192 1.33911 0.0222043 0 0.00120246 -0.00587523 0.0537308 0.998537 uwb: 0.0 852.456 861.684 -imu_odom_: 1691062418.539819376 0.438139 -0.0215478 10.1586 -0.0458064 -0.0596548 0.0298274 0.19 -0.02 pose: 0.0 1.33911 0.0222043 0 0.00120246 -0.00587523 0.0537308 0.998537 uwb: 0.0 852.456 861.684 -imu_odom_: 1691062418.565839029 0.557849 -0.253785 9.38288 -0.0575243 -0.036219 0.0447411 0.19 0 pose: 0.49926169 1.34911 0.0225793 0 0.00224977 -0.00493443 0.0537109 0.998542 uwb: 0.49805435 852.094 860.858 -imu_odom_: 1691062418.591153234 0.445322 -0.162806 9.88566 -0.0617853 0.00106526 0.0308927 0.19 0 pose: 0.41137369 1.35873 0.0329452 0 0.00258545 -0.00416933 0.0535676 0.998552 uwb: 0.0 852.094 860.858 -imu_odom_: 1691062418.614924434 0.433351 -0.316035 9.52174 -0.0692422 -0.00532632 0.0500674 0.19 -0.02 pose: 0.43168851 1.36639 0.0332307 0 0.00215979 -0.00331304 0.0535027 0.99856 uwb: 0.50031738 852.292 859.579 -imu_odom_: 1691062418.631922568 0.282516 -0.220267 10.5489 -0.0468716 0.0106526 0.0319579 0.19 -0.02 pose: 0.0 1.36639 0.0332307 0 0.00215979 -0.00331304 0.0535027 0.99856 uwb: 0.0 852.292 859.579 -imu_odom_: 1691062418.655797588 -0.0407014 -0.246603 10.647 -0.0479369 0.0276969 0.0223706 0.21 0 pose: 0.5812151 1.36872 0.0333169 0 0.00154873 -0.00320968 0.0535347 0.99856 uwb: 0.49833431 852.449 858.249 -imu_odom_: 1691062418.679784593 0.636858 -0.0454898 10.4172 -0.0713727 -0.0287621 0.0330232 0.21 0 pose: 0.0 1.36872 0.0333169 0 0.00154873 -0.00320968 0.0535347 0.99856 uwb: 0.0 852.449 858.249 -imu_odom_: 1691062418.704946859 0.890643 -0.512359 9.31823 -0.0703074 -0.0394148 0.0479369 0.19 0 pose: 0.41836110 1.37871 0.0336883 0 -0.000373896-0.0002619560.053511 0.998567 uwb: 0.50020657 853.305 856.345 -imu_odom_: 1691062418.727774350 0.943315 -0.414197 9.44991 -0.0500674 -0.0149137 0.0276969 0.19 0 pose: 0.48078704 1.38871 0.0340552 0 0.000344274 -0.00126986 0.0533192 0.998577 uwb: 0.0 853.305 856.345 -imu_odom_: 1691062418.744830518 0.407014 -0.277727 10.1155 -0.0436758 0.015979 0.0383495 0.18 -0.02 pose: 0.0 1.38871 0.0340552 0 0.000344274 -0.00126986 0.0533192 0.998577 uwb: 0.50098229 853.402 854.929 -imu_odom_: 1691062418.769771439 0.622492 -0.289698 9.90481 -0.0543285 0.00426106 0.0500674 0.18 -0.02 pose: 0.0 1.38871 0.0340552 0 0.000344274 -0.00126986 0.0533192 0.998577 uwb: 0.0 853.402 854.929 -imu_odom_: 1691062418.792780906 0.577003 -0.414197 9.65103 -0.0607201 -0.0276969 0.0575243 0.19 -0.02 pose: 0.41036174 1.3987 0.0344229 0 -0.00192399 -0.00433105 0.053292 0.998568 uwb: 0.0 853.402 854.929 -imu_odom_: 1691062418.808785171 0.23942 -0.112527 10.2185 -0.0340885 -0.0117179 0.0372843 0.19 -0.02 pose: 0.0 1.3987 0.0344229 0 -0.00192399 -0.00433105 0.053292 0.998568 uwb: 0.49799602 853.761 853.761 -imu_odom_: 1691062418.834766622 0.665588 -0.208296 9.76595 -0.0511327 -0.00532632 0.052198 0.18 -0.02 pose: 0.56908331 1.40869 0.0347894 0 -0.00340559 -0.00593251 0.0535831 0.99854 uwb: 0.0 853.761 853.761 -imu_odom_: 1691062418.858803495 0.550666 -0.390255 9.52413 -0.0458064 0.0490022 0.04048 0.18 -0.02 pose: 0.0 1.40869 0.0347894 0 -0.00340559 -0.00593251 0.0535831 0.99854 uwb: 0.50088315 853.934 852.654 -imu_odom_: 1691062418.883831321 0.280122 -0.282516 9.27753 -0.0617853 -0.00319579 0.0607201 0.19 0 pose: 0.7007535 1.40869 0.0347894 0 -0.00303656 -0.00654112 0.0536231 0.998535 uwb: 0.0 853.934 852.654 -imu_odom_: 1691062418.898778142 0.191536 -0.260968 9.9503 -0.0660464 -0.0149137 0.0532632 0.19 0 pose: 0.0 1.40869 0.0347894 0 -0.00303656 -0.00654112 0.0536231 0.998535 uwb: 0.49983911 853.483 852.199 -imu_odom_: 1691062418.925848241 0.768539 -0.107739 10.422 -0.0809601 -0.0298274 0.0575243 0.25 0 pose: 0.50024448 1.41868 0.0351627 0 -0.00437047 -0.00688821 0.0538377 0.998516 uwb: 0.0 853.483 852.199 -imu_odom_: 1691062418.950862360 0.521936 -0.0550666 10.0197 -0.0639159 0 0.0511327 0.19 0 pose: 0.40021891 1.42868 0.0355406 0 -0.00398642 -0.00433024 0.0542031 0.998513 uwb: 0.49842763 853.322 851.259 -imu_odom_: 1691062418.967777964 0.373495 -0.222661 9.64624 -0.0905475 0.00745685 0.0500674 0.24 0 pose: 0.28154955 1.42868 0.0355406 0 -0.00223662 -0.00613225 0.0544129 0.998497 uwb: 0.0 853.322 851.259 -imu_odom_: 1691062418.992905526 0.521936 -0.289698 9.56962 -0.076699 -0.0106526 0.0340885 0.24 0 pose: 0.0 1.42868 0.0355406 0 -0.00223662 -0.00613225 0.0544129 0.998497 uwb: 0.50090356 853.111 849.739 -imu_odom_: 1691062419.17814960 0.320823 -0.447716 10.0054 -0.0639159 -0.00745685 0.0372843 0.23 0 pose: 0.23914681 1.43867 0.0359301 0 -0.000740168-0.00526581 0.0545363 0.998498 uwb: 0.0 853.111 849.739 -imu_odom_: 1691062419.31805249 0.725443 -0.181959 10.1897 -0.0649811 -0.0234358 0.0394148 0.23 0 pose: 0.0 1.43867 0.0359301 0 -0.000740168-0.00526581 0.0545363 0.998498 uwb: 0.0 853.111 849.739 -imu_odom_: 1691062419.55899295 0.414197 -0.282516 10.2927 -0.0490022 -0.0170442 0.0351537 0.17 -0.02 pose: 0.41868773 1.44866 0.0363214 0 -0.00359962 -0.00544573 0.0545202 0.998491 uwb: 0.49915694 852.746 848.839 -imu_odom_: 1691062419.80814276 0.438139 -0.131681 10.2472 -0.0415453 -0.0191748 0.0436758 0.17 -0.02 pose: 0.0 1.44866 0.0363214 0 -0.00359962 -0.00544573 0.0545202 0.998491 uwb: 0.0 852.746 848.839 -imu_odom_: 1691062419.102734232 1.9393 -0.260968 11.734 -0.0479369 0.0127832 0.04048 0.2 -0.02 pose: 0.39009962 1.44866 0.0363214 0 -0.00406608 -0.00484558 0.054488 0.998494 uwb: 0.50359849 852.914 847.421 -imu_odom_: 1691062419.118723342 0.25618 0.186748 8.53054 -0.0649811 -0.00106526 0.0383495 0.2 -0.02 pose: 0.0 1.44866 0.0363214 0 -0.00406608 -0.00484558 0.054488 0.998494 uwb: 0.0 852.914 847.421 -imu_odom_: 1691062419.143718521 -0.914585 -0.351948 10.9702 -0.0692422 0.00213053 0.0468716 0.23 0.02 pose: 0.48062984 1.45866 0.036712 0 -0.00102039 -0.00345097 0.0545053 0.998507 uwb: 0.49755887 852.536 847.029 -imu_odom_: 1691062419.165788666 -0.682347 -0.167594 10.8577 -0.0543285 -0.0138484 0.04048 0.23 0.02 pose: 0.0 1.45866 0.036712 0 -0.00102039 -0.00345097 0.0545053 0.998507 uwb: 0.0 852.536 847.029 -imu_odom_: 1691062419.189755271 0.390255 -0.208296 10.2256 -0.0500674 0.015979 0.0490022 0.19 0 pose: 0.38939390 1.46865 0.0371026 0 0.000225285 -0.00332019 0.0545201 0.998507 uwb: 0.0 852.536 847.029 -imu_odom_: 1691062419.214731493 0.555455 -0.294487 9.93354 -0.0543285 0.0990696 0.0415453 0.19 0 pose: 0.46942548 1.47864 0.0374939 0 0.00052884 0.000748817 0.054629 0.998506 uwb: 0.50113133 852.229 846.174 -imu_odom_: 1691062419.229724109 0.141258 -0.342371 9.50737 -0.0532632 -0.00213053 0.036219 0.24 0 pose: 0.0 1.47864 0.0374939 0 0.00052884 0.000748817 0.054629 0.998506 uwb: 0.0 852.229 846.174 -imu_odom_: 1691062419.246738585 0.806846 -0.167594 10.5058 -0.0628506 0.00106526 0.0351537 0.24 0 pose: 0.0 1.47864 0.0374939 0 0.00052884 0.000748817 0.054629 0.998506 uwb: 0.50047515 851.848 846.047 -imu_odom_: 1691062419.272792083 0.304064 -0.320823 10.082 -0.0585895 0.00106526 0.0415453 0.23 0 pose: 0.48069400 1.48824 0.0478811 0 0.000521424 0.000813439 0.0547301 0.998501 uwb: 0.0 851.848 846.047 -imu_odom_: 1691062419.297854044 0.337582 -0.0837971 9.80426 -0.0575243 -0.0170442 0.0330232 0.23 0 pose: 0.0 1.48824 0.0478811 0 0.000521424 0.000813439 0.0547301 0.998501 uwb: 0.49948071 851.842 845.232 -imu_odom_: 1691062419.322765233 0.402226 -0.253785 10.0126 -0.0639159 -0.0298274 0.0426106 0.19 -0.02 pose: 0.77052306 1.49823 0.0482752 0 0.000596233 0.00209427 0.0546259 0.998505 uwb: 0.0 851.842 845.232 -imu_odom_: 1691062419.346714923 0.696713 -0.294487 9.73961 -0.0479369 0.0394148 0.0351537 0.19 -0.02 pose: 0.5939304 1.49823 0.0482752 0 0.000119505 0.00163549 0.0546343 0.998505 uwb: 0.49739264 852.052 843.823 -imu_odom_: 1691062419.370752977 0.505177 -0.392649 9.59117 -0.0553937 0.0127832 0.0468716 0.19 0 pose: 0.42921575 1.50822 0.0486684 0 -0.00163297 -0.00168054 0.0546035 0.998505 uwb: 0.0 852.052 843.823 -imu_odom_: 1691062419.386702134 0.311246 -0.122104 10.1179 -0.0553937 0.0383495 0.0458064 0.19 0 pose: 0.0 1.50822 0.0486684 0 -0.00163297 -0.00168054 0.0546035 0.998505 uwb: 0.0 852.052 843.823 -imu_odom_: 1691062419.403707861 0.438139 -0.0885855 9.93115 -0.0639159 0.00532632 0.056459 0.18 -0.02 pose: 0.0 1.50822 0.0486684 0 -0.00163297 -0.00168054 0.0546035 0.998505 uwb: 0.50074054 851.805 843.014 -imu_odom_: 1691062419.429692534 0.282516 -0.351948 10.094 -0.0639159 0.00213053 0.0436758 0.18 -0.02 pose: 0.48036155 1.51821 0.0490615 0 -0.00181836 -0.00121655 0.0548081 0.998495 uwb: 0.0 851.805 843.014 -imu_odom_: 1691062419.454761495 0.234632 -0.280122 10.1466 -0.0660464 -0.0234358 0.0532632 0.17 -0.02 pose: 0.34941456 1.52546 0.0493492 0 -0.00282905 0.000804474 0.054939 0.998485 uwb: 0.50088927 851.519 842.437 -imu_odom_: 1691062419.480748793 0.31364 -0.0837971 9.81862 -0.04048 0.0117179 0.0351537 0.17 -0.02 pose: 0.7120983 1.52821 0.0494588 0 -0.00294861 0.00144203 0.0549897 0.998482 uwb: 0.0 851.519 842.437 -imu_odom_: 1691062419.505795881 0.442927 -0.203507 10.0963 -0.0681769 -0.0468716 0.0500674 0.19 0 pose: 0.43935276 1.53551 0.0497529 0 -0.0005187950.00377173 0.0550684 0.998475 uwb: 0.49950695 851.227 841.574 -imu_odom_: 1691062419.529689870 0.64404 0.0215478 10.0341 -0.0553937 -0.0287621 0.04048 0.21 0 pose: 0.0 1.53551 0.0497529 0 -0.0005187950.00377173 0.0550684 0.998475 uwb: 0.0 851.227 841.574 -imu_odom_: 1691062419.553784500 0.457293 -0.172383 9.88087 -0.0596548 -0.00639159 0.0479369 0.21 0 pose: 0.30967727 1.5382 0.0498611 0 0.000288844 0.000291375 0.0552042 0.998475 uwb: 0.49989481 851.86 840.304 -imu_odom_: 1691062419.578674400 0.586579 0.0861913 9.9527 -0.0585895 -0.052198 0.0394148 0.19 0 pose: 0.0 1.5382 0.0498611 0 0.000288844 0.000291375 0.0552042 0.998475 uwb: 0.0 851.86 840.304 -imu_odom_: 1691062419.593839369 0.296881 -0.399832 9.82102 -0.0575243 0.056459 0.0287621 0.19 0 pose: 0.48976365 1.54819 0.0502656 0 0.00324317 -0.00378959 0.0553126 0.998457 uwb: 0.50034101 851.677 839.827 -imu_odom_: 1691062419.610669243 0.684742 -0.497994 10.1394 -0.0479369 -0.00852212 0.0351537 0.19 0 pose: 0.0 1.54819 0.0502656 0 0.00324317 -0.00378959 0.0553126 0.998457 uwb: 0.0 851.677 839.827 -imu_odom_: 1691062419.635734704 0.921768 -0.232238 9.39724 -0.0575243 0.00106526 0.0468716 0.25 0 pose: 0.40055160 1.55818 0.0506721 0 0.003063 -0.00396542 0.0552163 0.998462 uwb: 0.0 851.677 839.827 -imu_odom_: 1691062419.662724329 -0.258574 -0.141258 9.97664 -0.0426106 0.0127832 0.0383495 0.24 0 pose: 0.34986659 1.56817 0.0510766 0 0.00206368 -0.00696945 0.0552964 0.998444 uwb: 0.50062389 851.809 839.126 -imu_odom_: 1691062419.687746629 0.198719 -0.363919 9.81862 -0.0617853 0.0138484 0.0415453 0.24 0 pose: 0.0 1.56817 0.0510766 0 0.00206368 -0.00696945 0.0552964 0.998444 uwb: 0.0 851.809 839.126 -imu_odom_: 1691062419.714687260 0.0550666 -0.131681 10.5417 -0.052198 -0.00426106 0.0319579 0.22 0 pose: 0.6959420 1.56817 0.0510766 0 0.00210132 -0.00621186 0.0552914 0.998449 uwb: 0.49934655 851.844 838.033 -imu_odom_: 1691062419.739871122 0.751779 -0.514753 10.2472 -0.0468716 -0.0127832 0.0308927 0.22 0 pose: 0.0 1.56817 0.0510766 0 0.00210132 -0.00621186 0.0552914 0.998449 uwb: 0.0 851.844 838.033 -imu_odom_: 1691062419.763773860 0.653617 -0.4956 9.13627 -0.0106526 -0.0607201 0.0234358 0.2 0 pose: 0.51993260 1.57816 0.0514827 0 0.000724686 -0.00110773 0.0552766 0.99847 uwb: 0.49995315 851.858 837.764 -imu_odom_: 1691062419.778774641 -0.0766145 -0.0335188 9.71567 -0.0436758 -0.0223706 0.0585895 0.2 0 pose: 0.0 1.57816 0.0514827 0 0.000724686 -0.00110773 0.0552766 0.99847 uwb: 0.0 851.858 837.764 -imu_odom_: 1691062419.794650308 0.557849 -0.141258 9.97664 -0.0308927 -0.0532632 0.0511327 0.18 0 pose: 0.52133826 1.58816 0.0518887 0 -0.00077087 -0.00186647 0.0550346 0.998482 uwb: 0.49925031 851.045 837.159 -imu_odom_: 1691062419.818657741 0.531513 -0.25618 9.8282 -0.0447411 -0.0117179 0.0479369 0.18 0 pose: 0.0 1.58816 0.0518887 0 -0.00077087 -0.00186647 0.0550346 0.998482 uwb: 0.0 851.045 837.159 -imu_odom_: 1691062419.842659633 0.622492 -0.0311246 9.93115 -0.076699 -0.0127832 0.056459 0.18 0.02 pose: 0.38857151 1.59815 0.0522899 0 -0.000461203-0.00285807 0.0550817 0.998478 uwb: 0.0 851.045 837.159 -imu_odom_: 1691062419.867674642 -0.198719 -0.328006 9.87608 -0.0639159 -0.036219 0.0287621 0.18 0.02 pose: 0.0 1.59815 0.0522899 0 -0.000461203-0.00285807 0.0550817 0.998478 uwb: 0.50011062 850.169 836.775 -imu_odom_: 1691062419.891683825 0.742203 -0.620098 10.2185 -0.0394148 -0.0553937 0.036219 0.23 0 pose: 0.40009957 1.59815 0.0522899 0 -0.000378273-0.0061082 0.0552922 0.998451 uwb: 0.0 850.169 836.775 -imu_odom_: 1691062419.916781073 0.869095 -0.292093 9.96946 -0.04048 0 0.0511327 0.23 0 pose: 0.0 1.59815 0.0522899 0 -0.000378273-0.0061082 0.0552922 0.998451 uwb: 0.0 850.169 836.775 -imu_odom_: 1691062419.933770468 0.205901 -0.0957681 9.99819 -0.0596548 0.0245011 0.0596548 0.19 0 pose: 0.49033524 1.60814 0.0526964 0 -0.000163871-0.00541528 0.0552816 0.998456 uwb: 0.0 850.169 836.775 -imu_odom_: 1691062419.956656007 0.0215478 0.0263362 10.0173 -0.0532632 0.0106526 0.0511327 0.19 0 pose: 0.0 1.60814 0.0526964 0 -0.000163871-0.00541528 0.0552816 0.998456 uwb: 0.99922096 850.23 835.405 -imu_odom_: 1691062419.972693235 0.287304 -0.270545 9.73004 -0.0553937 -0.0266316 0.0447411 0.2 0.02 pose: 0.50119256 1.61773 0.0630943 0 -0.00116678 -0.00835271 0.0554823 0.998424 uwb: 0.0 850.23 835.405 -imu_odom_: 1691062419.999644365 0.488417 -0.105345 10.003 -0.0628506 -0.0511327 0.0490022 0.2 0.02 pose: 0.0 1.61773 0.0630943 0 -0.00116678 -0.00835271 0.0554823 0.998424 uwb: 0.50063264 850.282 834.304 -imu_odom_: 1691062420.24692924 0.287304 -0.237026 9.90721 -0.0862864 0.0191748 0.052198 0.19 0 pose: 0.74803267 1.6351 0.0638111 0 0.00221386 -0.00449756 0.0558584 0.998426 uwb: 0.0 850.282 834.304 -imu_odom_: 1691062420.49835972 0.071826 -0.320823 9.4547 -0.076699 -0.00958738 0.04048 0.19 0 pose: 0.7020081 1.63771 0.0639202 0 0.00186467 -0.00375964 0.0559021 0.998427 uwb: 0.50004669 850.044 834.04 -imu_odom_: 1691062420.72752729 0.395043 -0.181959 10.3956 -0.0500674 0.00106526 0.0383495 0.18 0.02 pose: 0.43171526 1.64527 0.0642388 0 -0.0002233390.000391084 0.0560244 0.998429 uwb: 0.0 850.044 834.04 -imu_odom_: 1691062420.88692854 0.124498 -0.430956 9.48104 -0.0553937 0.00532632 0.0458064 0.18 0.02 pose: 0.0 1.64527 0.0642388 0 -0.0002233390.000391084 0.0560244 0.998429 uwb: 0.0 850.044 834.04 -imu_odom_: 1691062420.114611635 0.215478 -0.452504 10.2089 -0.0458064 0.00319579 0.0330232 0.25 0 pose: 0.0 1.64527 0.0642388 0 -0.0002233390.000391084 0.0560244 0.998429 uwb: 0.50090415 849.484 834.005 -imu_odom_: 1691062420.138619082 0.172383 -0.282516 9.90721 -0.052198 -0.00106526 0.0479369 0.25 0 pose: 0.38856882 1.65306 0.0645667 0 0.00096118 0.00173983 0.0560578 0.998426 uwb: 0.0 849.484 834.005 -imu_odom_: 1691062420.162620113 0.272939 -0.407014 10.0772 -0.0394148 0.00213053 0.0383495 0.18 0.02 pose: 0.49926228 1.66488 0.0650645 0 -0.00195995 0.00535522 0.0560673 0.998411 uwb: 0.49967638 849.349 832.978 -imu_odom_: 1691062420.188607718 0.608127 -0.402226 9.71806 -0.0458064 -0.00852212 0.0479369 0.23 -0.02 pose: 0.0 1.66488 0.0650645 0 -0.00195995 0.00535522 0.0560673 0.998411 uwb: 0.0 849.349 832.978 -imu_odom_: 1691062420.203710870 0.509965 -0.253785 9.97903 -0.0639159 -0.00958738 0.0553937 0.23 -0.02 pose: 0.31083231 1.66768 0.0651829 0 -0.00433467 0.00493608 0.0560641 0.998406 uwb: 0.0 849.349 832.978 -imu_odom_: 1691062420.219577797 0.411803 -0.294487 10.0509 -0.0553937 0.02024 0.036219 0.23 -0.02 pose: 0.0 1.66768 0.0651829 0 -0.00433467 0.00493608 0.0560641 0.998406 uwb: 0.0 849.349 832.978 -imu_odom_: 1691062420.246591059 0.476446 -0.328006 10.1466 -0.0426106 -0.015979 0.0383495 0.18 0 pose: 0.49875484 1.67767 0.0656042 0 -0.00410666 0.000243157 0.0562133 0.99841 uwb: 0.100006435 849.512 831.688 -imu_odom_: 1691062420.270743737 0.596156 -0.112527 9.88087 -0.0490022 -0.0255663 0.036219 0.18 0 pose: 0.8083652 1.67767 0.0656042 0 -0.00429672 -0.00057312 0.0562053 0.99841 uwb: 0.0 849.512 831.688 -imu_odom_: 1691062420.295577368 0.536301 -0.349553 10.2256 -0.0458064 -0.02024 0.0500674 0.19 0 pose: 0.43082288 1.68766 0.0660289 0 -0.00264784 -0.00408773 0.0561359 0.998411 uwb: 0.49781288 849.249 831.098 -imu_odom_: 1691062420.320608722 0.948104 -0.0766145 10.0892 -0.0511327 -0.0149137 0.0351537 0.19 0 pose: 0.0 1.68766 0.0660289 0 -0.00264784 -0.00408773 0.0561359 0.998411 uwb: 0.0 849.249 831.098 -imu_odom_: 1691062420.337692907 0.0837971 -0.397437 10.3142 -0.0543285 0 0.0394148 0.19 0 pose: 0.31974448 1.69766 0.0664537 0 -0.00408246 -0.00645985 0.0562494 0.998388 uwb: 0.0 849.249 831.098 -imu_odom_: 1691062420.362587780 0.493206 -0.31364 9.97903 -0.0511327 0.0234358 0.0351537 0.19 0 pose: 0.0 1.69766 0.0664537 0 -0.00408246 -0.00645985 0.0562494 0.998388 uwb: 0.50093914 848.953 829.872 -imu_odom_: 1691062420.386570730 0.579397 -0.617704 9.56244 -0.056459 -0.0543285 0.0479369 0.19 0 pose: 0.42876690 1.69766 0.0664537 0 -0.00403986 -0.00566122 0.0561936 0.998396 uwb: 0.0 848.953 829.872 -imu_odom_: 1691062420.411664201 0.610521 -0.270545 9.95988 -0.0223706 0.00213053 0.0447411 0.19 0 pose: 0.40975855 1.70765 0.0668786 0 -0.0072467 -0.00558099 0.0562733 0.998374 uwb: 0.50117536 849.135 828.575 -imu_odom_: 1691062420.435577452 0.526724 -0.23942 9.85453 -0.0681769 0.00852212 0.0468716 0.19 0 pose: 0.0 1.70765 0.0668786 0 -0.0072467 -0.00558099 0.0562733 0.998374 uwb: 0.0 849.135 828.575 -imu_odom_: 1691062420.452589896 0.169988 -0.0694318 9.54808 -0.0490022 0.0191748 0.0543285 0.22 0 pose: 0.7064119 1.70765 0.0668786 0 -0.00663602 -0.00605674 0.0562856 0.998374 uwb: 0.49994468 848.776 828.167 -imu_odom_: 1691062420.477625042 0.423774 -0.397437 9.77553 -0.0692422 -0.0458064 0.056459 0.22 0 pose: 0.0 1.70765 0.0668786 0 -0.00663602 -0.00605674 0.0562856 0.998374 uwb: 0.0 848.776 828.167 -imu_odom_: 1691062420.502639191 0.4956 -0.205901 10.1131 -0.0479369 -0.0383495 0.0426106 0.22 0.02 pose: 0.48934398 1.71764 0.0673056 0 -0.00255933 -0.00593342 0.0564395 0.998385 uwb: 0.49971430 848.53 827.281 -imu_odom_: 1691062420.516619865 0.517148 -0.198719 10.07 -0.072438 -0.0426106 0.0596548 0.22 0.02 pose: 0.0 1.71764 0.0673056 0 -0.00255933 -0.00593342 0.0564395 0.998385 uwb: 0.0 848.53 827.281 -imu_odom_: 1691062420.540578026 0.399832 -0.107739 10.0533 -0.0532632 -0.00958738 0.0351537 0.18 0 pose: 0.42063338 1.72763 0.0677352 0 -0.00377239 -0.00455532 0.0567456 0.998371 uwb: 0.0 848.53 827.281 -imu_odom_: 1691062420.564552811 0.847547 -0.143652 10.1801 -0.0628506 -0.0617853 0.0490022 0.18 0 pose: 0.0 1.72763 0.0677352 0 -0.00377239 -0.00455532 0.0567456 0.998371 uwb: 0.49903480 848.543 826.075 -imu_odom_: 1691062420.589579208 0.457293 0.0454898 9.99819 -0.052198 -0.0138484 0.0415453 0.19 0 pose: 0.38929498 1.73762 0.0681723 0 -0.000136502-0.00505994 0.0568818 0.998368 uwb: 0.0 848.543 826.075 -imu_odom_: 1691062420.614656057 0.184354 -0.0694318 9.84735 -0.0660464 0.0149137 0.0383495 0.19 0 pose: 0.0 1.73762 0.0681723 0 -0.000136502-0.00505994 0.0568818 0.998368 uwb: 0.49740169 849.237 824.413 -imu_odom_: 1691062420.631600843 0.265756 -0.509965 10.0556 -0.0639159 0.0372843 0.0298274 0.26 0 pose: 0.48012560 1.74761 0.0686108 0 0.00218096 -0.00670325 0.0569523 0.998352 uwb: 0.0 849.237 824.413 -imu_odom_: 1691062420.656582037 0.217872 -0.136469 10.082 -0.0415453 -0.04048 0.0340885 0.26 0 pose: 0.0 1.74761 0.0686108 0 0.00218096 -0.00670325 0.0569523 0.998352 uwb: 0.50102371 849.191 823.114 -imu_odom_: 1691062420.673743504 0.390255 -0.428562 9.42358 -0.0351537 0.00426106 0.0340885 0.21 -0.02 pose: 0.50001468 1.75716 0.0790403 0 0.00347628 -0.00293494 0.0568984 0.99837 uwb: 0.0 849.191 823.114 -imu_odom_: 1691062420.698581217 0.304064 -0.23942 9.47386 -0.0511327 0.0458064 0.0468716 0.21 -0.02 pose: 0.0 1.75716 0.0790403 0 0.00347628 -0.00293494 0.0568984 0.99837 uwb: 0.50021590 849.372 821.441 -imu_odom_: 1691062420.725650472 0.371101 -0.023942 9.75637 -0.0479369 -0.0532632 0.0415453 0.21 -0.02 pose: 0.42127788 1.76715 0.0794779 0 0.00225841 -0.0001910330.0567568 0.998385 uwb: 0.0 849.372 821.441 -imu_odom_: 1691062420.750608045 0.275333 -0.299275 10.1203 -0.0553937 0.0127832 0.0308927 0.21 -0.02 pose: 0.0 1.76715 0.0794779 0 0.00225841 -0.0001910330.0567568 0.998385 uwb: 0.50107037 848.263 821.078 -imu_odom_: 1691062420.774560083 0.246603 -0.179565 10.5441 -0.0490022 -0.0372843 0.0436758 0.23 0 pose: 0.41928314 1.76715 0.0794779 0 0.000899397 0.00246537 0.0568267 0.998381 uwb: 0.0 848.263 821.078 -imu_odom_: 1691062420.790597029 0.37589 -0.191536 9.59117 -0.0681769 -0.0372843 0.056459 0.23 0 pose: 0.0 1.76715 0.0794779 0 0.000899397 0.00246537 0.0568267 0.998381 uwb: 0.0 848.263 821.078 -imu_odom_: 1691062420.807592559 0.557849 -0.28491 10.0317 -0.0553937 0.0223706 0.0383495 0.19 0 pose: 0.51941672 1.77714 0.0799149 0 0.000909314 0.00390062 0.0567495 0.99838 uwb: 0.49854778 847.819 820.556 -imu_odom_: 1691062420.832655409 0.658405 -0.196325 10.319 -0.0745685 -0.0255663 0.04048 0.19 0 pose: 0.0 1.77714 0.0799149 0 0.000909314 0.00390062 0.0567495 0.99838 uwb: 0.0 847.819 820.556 -imu_odom_: 1691062420.849585906 0.699107 -0.411803 9.39724 -0.0372843 0.0255663 0.0213053 0.21 -0.02 pose: 0.75081524 1.79437 0.0806683 0 0.000437851 -0.0007130360.0569232 0.998378 uwb: 0.49985428 847.604 819.344 -imu_odom_: 1691062420.874525398 0.816423 -0.318429 9.78271 -0.0692422 -0.00319579 0.0532632 0.21 -0.02 pose: 0.6899057 1.79712 0.0807894 0 0.000121796 -0.00118793 0.0568608 0.998381 uwb: 0.0 847.604 819.344 -imu_odom_: 1691062420.901531078 0.581791 -0.220267 9.60075 -0.0458064 -0.0170442 0.0490022 0.23 -0.02 pose: 0.34970932 1.80413 0.0810964 0 -0.000983355-0.00432415 0.0569397 0.998368 uwb: 0.50067959 848.566 817.921 -imu_odom_: 1691062420.926536769 0.0670376 -0.349553 9.75158 -0.0490022 -0.00852212 0.0330232 0.23 -0.02 pose: 0.0 1.80413 0.0810964 0 -0.000983355-0.00432415 0.0569397 0.998368 uwb: 0.0 848.566 817.921 -imu_odom_: 1691062420.943532007 0.287304 -0.258574 10.0317 -0.0266316 0.0191748 0.0308927 0.21 0.02 pose: 0.52011371 1.81428 0.0815445 0 -0.000898401-0.00478524 0.0569868 0.998363 uwb: 0.49925352 848.697 817.107 -imu_odom_: 1691062420.968529825 0.31364 -0.339977 9.64624 -0.0383495 0.00639159 0.0511327 0.21 0.02 pose: 0.0 1.81428 0.0815445 0 -0.000898401-0.00478524 0.0569868 0.998363 uwb: 0.0 848.697 817.107 -imu_odom_: 1691062420.993483315 0.526724 -0.0287304 10.137 -0.0511327 0.0170442 0.0607201 0.24 0 pose: 0.41993056 1.82416 0.0819794 0 -0.00231044 -0.0008128990.0570683 0.998367 uwb: 0.50191318 848.07 816.674 -imu_odom_: 1691062421.16519646 0.335188 -0.184354 9.81144 -0.052198 0.036219 0.0532632 0.24 0 pose: 0.7029706 1.82709 0.082109 0 -0.00164804 -0.00100043 0.0571412 0.998364 uwb: 0.0 848.07 816.674 -imu_odom_: 1691062421.32497109 0.318429 -0.294487 9.54329 -0.0585895 -0.00106526 0.0447411 0.19 0 pose: 0.23956412 1.82709 0.082109 0 0.000195136 -0.0007720440.0573681 0.998353 uwb: 0.0 848.07 816.674 -imu_odom_: 1691062421.59492015 0.574608 -0.0957681 10.1706 -0.0777643 -0.0372843 0.0511327 0.19 0 pose: 0.0 1.82709 0.082109 0 0.000195136 -0.0007720440.0573681 0.998353 uwb: 0.49774312 847.633 816.147 -imu_odom_: 1691062421.84565962 0.237026 -0.328006 9.8665 -0.0841559 0.0319579 0.0500674 0.18 0.02 pose: 0.25164350 1.82709 0.082109 0 -8.68974e-050.00164666 0.0575034 0.998344 uwb: 0.0 847.633 816.147 -imu_odom_: 1691062421.109499927 -0.0814029 -0.349553 9.26077 -0.0745685 -0.0117179 0.04048 0.18 0.02 pose: 0.42849593 1.83708 0.0825596 0 -0.0001169790.000157646 0.0577227 0.998333 uwb: 0.50023952 848.145 814.469 -imu_odom_: 1691062421.123530477 0.311246 -0.222661 9.96946 -0.0543285 0.0372843 0.0266316 0.18 0 pose: 0.0 1.83708 0.0825596 0 -0.0001169790.000157646 0.0577227 0.998333 uwb: 0.0 848.145 814.469 -imu_odom_: 1691062421.139589889 0.227449 -0.428562 10.0173 -0.0617853 -0.0255663 0.0415453 0.18 0 pose: 0.0 1.83708 0.0825596 0 -0.0001169790.000157646 0.0577227 0.998333 uwb: 0.0 848.145 814.469 -imu_odom_: 1691062421.156478692 0.737414 -0.251391 9.87608 -0.0468716 0.0298274 0.0351537 0.18 0 pose: 0.48024254 1.84707 0.0830145 0 -0.00181915 0.00438871 0.0577884 0.998318 uwb: 0.50040575 848.405 813.129 -imu_odom_: 1691062421.181503645 0.701501 -0.158017 10.0006 -0.0585895 -0.0340885 0.0458064 0.18 0 pose: 0.0 1.84707 0.0830145 0 -0.00181915 0.00438871 0.0577884 0.998318 uwb: 0.0 848.405 813.129 -imu_odom_: 1691062421.205461821 0.845153 -0.134075 9.91678 -0.0500674 0.0138484 0.0468716 0.2 0 pose: 0.65949505 1.85706 0.0834703 0 -0.00167552 0.000992031 0.0577838 0.998327 uwb: 0.50059530 848.301 811.997 -imu_odom_: 1691062421.222500521 0.560243 -0.442927 9.87848 -0.0426106 -0.02024 0.0383495 0.2 0 pose: 0.5972265 1.85706 0.0834703 0 -0.00148889 0.000475479 0.0578047 0.998327 uwb: 0.0 848.301 811.997 -imu_odom_: 1691062421.246463946 0.579397 -0.260968 9.83059 -0.0383495 -0.0117179 0.0436758 0.18 -0.02 pose: 0.0 1.85706 0.0834703 0 -0.00148889 0.000475479 0.0578047 0.998327 uwb: 0.49865890 848.663 811.1 -imu_odom_: 1691062421.263448404 0.612916 -0.0550666 10.2951 -0.0543285 -0.00532632 0.0553937 0.18 -0.02 pose: 0.40988711 1.86705 0.0839268 0 -0.00209906 -0.00284104 0.0578685 0.998318 uwb: 0.0 848.663 811.1 -imu_odom_: 1691062421.278626513 0.493206 -0.0502782 9.87848 -0.0479369 -0.0319579 0.0426106 0.18 -0.02 pose: 0.0 1.86705 0.0839268 0 -0.00209906 -0.00284104 0.0578685 0.998318 uwb: 0.0 848.663 811.1 -imu_odom_: 1691062421.294506864 0.351948 -0.325611 9.98622 -0.0340885 0.0287621 0.0319579 0.17 0 pose: 0.50161892 1.87658 0.0943743 0 0.00124155 -0.00544894 0.058042 0.998299 uwb: 0.50103275 847.724 810.945 -imu_odom_: 1691062421.309509996 0.718261 -0.265756 10.3693 -0.036219 -0.0191748 0.0500674 0.17 0 pose: 0.5997928 1.87658 0.0943743 0 0.000896208 -0.00490236 0.0580214 0.998303 uwb: 0.0 847.724 810.945 -imu_odom_: 1691062421.327511072 0.141258 -0.292093 9.27753 -0.0383495 -0.00532632 0.0436758 0.17 0 pose: 0.0 1.87658 0.0943743 0 0.000896208 -0.00490236 0.0580214 0.998303 uwb: 0.0 847.724 810.945 -imu_odom_: 1691062421.351452624 0.208296 -0.351948 9.64145 -0.0532632 0.00213053 0.0532632 0.19 0 pose: 0.42886631 1.88657 0.0948352 0 -8.61223e-05-0.00384845 0.058108 0.998303 uwb: 0.49889802 847.596 810.108 -imu_odom_: 1691062421.376484577 -0.0957681 -0.0694318 9.98143 -0.0500674 0.00745685 0.0394148 0.21 0 pose: 0.0 1.88657 0.0948352 0 -8.61223e-05-0.00384845 0.058108 0.998303 uwb: 0.0 847.596 810.108 -imu_odom_: 1691062421.400462000 0.0167594 -0.246603 10.0078 -0.0607201 -0.0149137 0.0436758 0.18 0 pose: 0.30981762 1.89656 0.0952996 0 -0.00104971 -0.00096168 0.0582766 0.998299 uwb: 0.50013162 847.329 809.776 -imu_odom_: 1691062421.425496577 0.6608 -0.308852 9.9934 -0.0447411 -0.00106526 0.0287621 0.18 0 pose: 0.0 1.89656 0.0952996 0 -0.00104971 -0.00096168 0.0582766 0.998299 uwb: 0.0 847.329 809.776 -imu_odom_: 1691062421.451437536 0.565032 -0.54109 9.56723 -0.0426106 -0.0149137 0.0436758 0.25 -0.02 pose: 0.67003743 1.90655 0.0957658 0 -0.00122944 0.000725005 0.0581874 0.998305 uwb: 0.49996830 846.764 809.412 -imu_odom_: 1691062421.467509196 0.19393 -0.244209 10.058 -0.0383495 0.0181095 0.0351537 0.25 -0.02 pose: 0.8139650 1.90655 0.0957658 0 -0.00185402 0.000234766 0.0582029 0.998303 uwb: 0.0 846.764 809.412 -imu_odom_: 1691062421.493593053 0.433351 -0.0407014 9.991 -0.0447411 -0.00319579 0.0479369 0.22 0 pose: 0.0 1.90655 0.0957658 0 -0.00185402 0.000234766 0.0582029 0.998303 uwb: 0.49893303 845.82 809.263 -imu_odom_: 1691062421.518515062 0.112527 -0.150835 9.73243 -0.0511327 0.0276969 0.0479369 0.22 0 pose: 0.40986085 1.91654 0.0962304 0 -0.00219484 0.000840224 0.0582359 0.9983 uwb: 0.0 845.82 809.263 -imu_odom_: 1691062421.544430649 0.45011 -0.248997 9.90721 -0.0628506 -0.0298274 0.0447411 0.21 0 pose: 0.43892750 1.92653 0.0966955 0 0.000248968 0.00340023 0.0584202 0.998286 uwb: 0.49932672 845.753 808.497 -imu_odom_: 1691062421.569436355 0.553061 -0.146046 10.4339 -0.0426106 -0.0415453 0.0447411 0.21 0 pose: 0.6998506 1.92653 0.0966955 0 1.74592e-05 0.00264198 0.0584379 0.998288 uwb: 0.0 845.753 808.497 -imu_odom_: 1691062421.586429270 0.64404 -0.102951 9.69412 -0.0713727 0.00106526 0.0607201 0.2 -0.02 pose: 0.0 1.92653 0.0966955 0 1.74592e-05 0.00264198 0.0584379 0.998288 uwb: 0.0 845.753 808.497 -imu_odom_: 1691062421.611494468 0.438139 -0.25618 9.81862 -0.0660464 -0.0276969 0.0436758 0.2 -0.02 pose: 0.51976406 1.93652 0.0971648 0 0.00114642 -0.00272533 0.0586338 0.998275 uwb: 0.50006162 844.29 808.739 -imu_odom_: 1691062421.628415642 0.368707 -0.385466 9.70849 -0.0532632 -0.00106526 0.0426106 0.23 0 pose: 0.0 1.93652 0.0971648 0 0.00114642 -0.00272533 0.0586338 0.998275 uwb: 0.0 844.29 808.739 -imu_odom_: 1691062421.653407350 0.344765 -0.102951 10.3286 -0.0479369 0.00958738 0.0340885 0.23 0 pose: 0.42023118 1.94651 0.0976389 0 -0.00160855 -0.00240611 0.058799 0.998266 uwb: 0.50010537 843.097 808.983 -imu_odom_: 1691062421.679526203 0.366313 -0.253785 9.89524 -0.0585895 0.0106526 0.0500674 0.22 0 pose: 0.33894258 1.95364 0.0979792 0 -0.00023866 -0.0004198110.0587458 0.998273 uwb: 0.0 843.097 808.983 -imu_odom_: 1691062421.704398926 0.3304 0.0311246 10.1275 -0.0490022 -0.0287621 0.0415453 0.22 0 pose: 0.7174359 1.9565 0.0981151 0 -0.0007209730.000177825 0.0587836 0.99827 uwb: 0.50098609 842.692 808.49 -imu_odom_: 1691062421.730451871 0.260968 -0.308852 9.78271 -0.0511327 0.0181095 0.0245011 0.22 0 pose: 0.43817217 1.96334 0.0984429 0 0.000552515 0.00190902 0.0589135 0.998261 uwb: 0.0 842.692 808.49 -imu_odom_: 1691062421.754463706 0.435745 -0.4956 9.91199 -0.0511327 0.0255663 0.0383495 0.19 0 pose: 0.0 1.96334 0.0984429 0 0.000552515 0.00190902 0.0589135 0.998261 uwb: 0.49998580 842.839 807.301 -imu_odom_: 1691062421.780459200 0.402226 -0.416591 9.65821 -0.04048 0 0.0330232 0.19 0 pose: 0.33034537 1.96648 0.0985936 0 -0.00198331 0.00371514 0.0587051 0.998266 uwb: 0.0 842.839 807.301 -imu_odom_: 1691062421.796451245 0.59855 0.0047884 10.2759 -0.0681769 -0.00852212 0.0447411 0.19 0 pose: 0.0 1.96648 0.0985936 0 -0.00198331 0.00371514 0.0587051 0.998266 uwb: 0.50084611 842.455 806.486 -imu_odom_: 1691062421.820553777 0.912191 -0.179565 10.3286 -0.0649811 -0.015979 0.0287621 0.19 0 pose: 0.50039117 1.97647 0.0990681 0 -0.00504869 0.00164827 0.0586066 0.998267 uwb: 0.0 842.455 806.486 -imu_odom_: 1691062421.837408460 0.339977 -0.3304 10.0293 -0.0553937 0.00852212 0.0298274 0.19 0 pose: 0.0 1.97647 0.0990681 0 -0.00504869 0.00164827 0.0586066 0.998267 uwb: 0.0 842.455 806.486 -imu_odom_: 1691062421.863390247 0.586579 -0.0502782 10.6542 -0.0660464 -0.0234358 0.0298274 0.18 -0.02 pose: 0.39954886 1.98646 0.0995405 0 -0.00411416 -0.0006783210.0584595 0.998281 uwb: 0.49895635 841.854 806.093 -imu_odom_: 1691062421.889518723 0.725443 -0.548272 9.22007 -0.0788296 -0.0266316 0.0500674 0.21 0 pose: 0.35962781 1.99371 0.0998814 0 -0.00254437 -0.00142308 0.0582836 0.998296 uwb: 0.0 841.854 806.093 -imu_odom_: 1691062421.914511889 0.634463 -0.426168 9.22486 -0.0308927 0.0287621 0.0223706 0.21 0 pose: 0.0 1.99371 0.0998814 0 -0.00254437 -0.00142308 0.0582836 0.998296 uwb: 0.50129230 841.367 805.149 -imu_odom_: 1691062421.939428940 0.828394 -0.399832 9.62708 -0.0756338 -0.00639159 0.0532632 0.19 -0.02 pose: 0.51121642 1.99645 0.100009 0 -0.00561802 -0.00538779 0.0581967 0.998275 uwb: 0.0 841.367 805.149 -imu_odom_: 1691062421.956366446 0.244209 -0.25618 9.60314 -0.0372843 0.0213053 0.04048 0.19 -0.02 pose: 0.0 1.99645 0.100009 0 -0.00561802 -0.00538779 0.0581967 0.998275 uwb: 0.49914883 841.758 803.889 -imu_odom_: 1691062421.971413905 0.85473 -0.0909797 10.3238 -0.0426106 -0.00639159 0.0543285 0.17 -0.11 pose: 0.0 1.99645 0.100009 0 -0.00561802 -0.00538779 0.0581967 0.998275 uwb: 0.0 841.758 803.889 -imu_odom_: 1691062421.988356368 1.87466 -0.390255 10.1754 -0.0607201 -0.0745685 0.00852212 0.17 -0.11 pose: 0.47857151 2.00597 0.110464 0 -0.00533236 -0.00647653 0.058408 0.998258 uwb: 0.0 841.758 803.889 -imu_odom_: 1691062422.5415484 1.80523 0.0263362 9.38288 -0.0394148 0.0245011 -0.143811 0.17 -0.11 pose: 0.0 2.00597 0.110464 0 -0.00533236 -0.00647653 0.058408 0.998258 uwb: 0.49987498 842.346 802.51 -imu_odom_: 1691062422.22352999 1.74298 0.270545 9.99579 -0.0585895 -0.00319579 -0.213053 0.13 -0.29 pose: 0.43046444 2.01596 0.110934 0 -0.00401335 -0.0108453 0.0566234 0.998329 uwb: 0.0 842.346 802.51 -imu_odom_: 1691062422.38459080 1.35512 0.0574608 9.93594 -0.0649811 0.0255663 -0.309992 0.13 -0.29 pose: 0.6960890 2.01596 0.110934 0 -0.00366415 -0.0114471 0.0557389 0.998373 uwb: 0.0 842.346 802.51 -imu_odom_: 1691062422.55356058 0.888249 -0.196325 10.1299 -0.052198 0.0298274 -0.399474 0.13 -0.29 pose: 0.0 2.01596 0.110934 0 -0.00366415 -0.0114471 0.0557389 0.998373 uwb: 0.49939403 842.162 801.569 -imu_odom_: 1691062422.72342276 0.584185 0.0837971 9.4571 -0.0532632 -0.0181095 -0.401605 0.14 -0.53 pose: 0.42979684 2.02595 0.11145 0 -0.00170427 -0.0147623 0.0479253 0.99874 uwb: 0.0 842.162 801.569 -imu_odom_: 1691062422.88405779 0.553061 -0.447716 9.48343 -0.0639159 -0.00745685 -0.411192 0.1 -0.44 pose: 0.0 2.02595 0.11145 0 -0.00170427 -0.0147623 0.0479253 0.99874 uwb: 0.0 842.162 801.569 -imu_odom_: 1691062422.105359333 0.591368 -0.342371 9.57681 -0.052198 -0.0468716 -0.426106 0.1 -0.44 pose: 0.0 2.02595 0.11145 0 -0.00170427 -0.0147623 0.0479253 0.99874 uwb: 0.50049352 841.374 801.291 -imu_odom_: 1691062422.121380842 0.349553 -0.296881 9.43076 -0.0649811 0.00319579 -0.444215 0.1 -0.44 pose: 0.24998430 2.02595 0.11145 0 -0.000737914-0.0140295 0.0423666 0.999003 uwb: 0.0 841.374 801.291 -imu_odom_: 1691062422.138398847 0.600945 -0.0383072 9.87608 -0.0575243 -0.0383495 -0.456998 0.08 -0.5 pose: 0.0 2.02595 0.11145 0 -0.000737914-0.0140295 0.0423666 0.999003 uwb: 0.0 841.374 801.291 -imu_odom_: 1691062422.154473724 0.878672 -0.294487 9.67257 -0.0788296 -0.0330232 -0.477238 0.08 -0.5 pose: 0.33080341 2.02595 0.11145 0 -0.00285869 -0.0122476 0.0346922 0.999319 uwb: 0.49990443 841.28 800.46 -imu_odom_: 1691062422.171344164 0.658405 -0.0837971 9.96706 -0.0458064 -0.0245011 -0.529436 0.1 -0.67 pose: 0.41038895 2.031 0.111751 0 -0.00163098 -0.0133466 0.0243801 0.999612 uwb: 0.0 841.28 800.46 -imu_odom_: 1691062422.187345259 0.624887 -0.270545 9.5792 -0.0671117 -0.00639159 -0.517718 0.1 -0.67 pose: 0.0 2.031 0.111751 0 -0.00163098 -0.0133466 0.0243801 0.999612 uwb: 0.0 841.28 800.46 -imu_odom_: 1691062422.204454251 0.354342 -0.356736 9.76595 -0.0809601 0.0170442 -0.497478 0.1 -0.67 pose: 0.0 2.031 0.111751 0 -0.00163098 -0.0133466 0.0243801 0.999612 uwb: 0.49924827 841.087 799.859 -imu_odom_: 1691062422.220384772 0.500388 -0.368707 10.0604 -0.0458064 -0.00745685 -0.540089 0.06 -0.58 pose: 0.7932306 2.03593 0.111992 0 -0.000768104-0.0133782 0.0221142 0.999666 uwb: 0.0 841.087 799.859 -imu_odom_: 1691062422.237500764 0.758962 0.0454898 10.1083 -0.0713727 -0.0394148 -0.493217 0.07 -0.64 pose: 0.0 2.03593 0.111992 0 -0.000768104-0.0133782 0.0221142 0.999666 uwb: 0.0 841.087 799.859 -imu_odom_: 1691062422.253379083 0.526724 -0.366313 9.53132 -0.0745685 -0.00852212 -0.426106 0.07 -0.64 pose: 0.64997666 2.03593 0.111992 0 -0.00242064 -0.0102119 0.00405609 0.999937 uwb: 0.0 841.087 799.859 -imu_odom_: 1691062422.270444623 0.761356 -0.519542 9.94073 -0.0532632 0.0127832 -0.413323 0.07 -0.64 pose: 0.0 2.03593 0.111992 0 -0.00242064 -0.0102119 0.00405609 0.999937 uwb: 0.0 841.087 799.859 -imu_odom_: 1691062422.286379518 0.675165 -0.148441 9.95748 -0.0575243 -0.0266316 -0.394148 0.06 -0.55 pose: 0.0 2.03593 0.111992 0 -0.00242064 -0.0102119 0.00405609 0.999937 uwb: 0.0 841.087 799.859 -imu_odom_: 1691062422.303530505 0.794875 -0.205901 10.0173 -0.0660464 -0.0138484 -0.339819 0.06 -0.55 pose: 0.33039222 2.03593 0.111992 0 -0.0035736 -0.0103416 -0.00392166 0.999932 uwb: 0.100016466 840.281 799.565 -imu_odom_: 1691062422.319469483 0.581791 -0.363919 9.66539 -0.0607201 0.00106526 -0.32384 0.04 -0.32 pose: 0.43087587 2.03591 0.11199 0 -0.00231832 -0.0132855 -0.0129184 0.999826 uwb: 0.0 840.281 799.565 -imu_odom_: 1691062422.346352710 0.588974 -0.225055 9.96467 -0.0596548 -0.00319579 -0.300405 0.04 -0.32 pose: 0.0 2.03591 0.11199 0 -0.00231832 -0.0132855 -0.0129184 0.999826 uwb: 0.50372477 840.998 797.943 -imu_odom_: 1691062422.362472206 0.124498 -0.241814 9.85214 -0.0660464 0.0532632 -0.243946 0.04 -0.26 pose: 0.7909851 2.03593 0.111992 0 -0.00296321 -0.0128057 -0.0143462 0.999811 uwb: 0.0 840.998 797.943 -imu_odom_: 1691062422.379468630 -1.01993 -0.402226 10.0461 -0.0468716 0.0905475 -0.206661 0.07 -0.32 pose: 0.0 2.03593 0.111992 0 -0.00296321 -0.0128057 -0.0143462 0.999811 uwb: 0.0 840.998 797.943 -imu_odom_: 1691062422.395473808 -1.28808 -0.356736 10.0461 -0.0553937 -0.0276969 -0.193878 0.07 -0.23 pose: 0.0 2.03593 0.111992 0 -0.00296321 -0.0128057 -0.0143462 0.999811 uwb: 0.49615117 841.431 796.674 -imu_odom_: 1691062422.413514263 -0.337582 -0.047884 9.94073 -0.056459 -0.0937433 -0.166181 0.07 -0.23 pose: 0.76029405 2.04593 0.112405 0 -0.0017618 -0.00515921 -0.0256879 0.999655 uwb: 0.0 841.431 796.674 -imu_odom_: 1691062422.429327257 0.588974 -0.411803 9.72285 -0.0735032 -0.0692422 -0.124636 0.07 -0.23 pose: 0.0 2.04593 0.112405 0 -0.0017618 -0.00515921 -0.0256879 0.999655 uwb: 0.0 841.431 796.674 -imu_odom_: 1691062422.446307350 0.584185 -0.277727 9.75877 -0.0575243 0 -0.132093 0.1 -0.2 pose: 0.0 2.04593 0.112405 0 -0.0017618 -0.00515921 -0.0256879 0.999655 uwb: 0.50122259 841.844 795.367 -imu_odom_: 1691062422.462341399 0.270545 -0.342371 9.94791 -0.0500674 0.0394148 -0.137419 0.1 -0.2 pose: 0.32877951 2.04593 0.112405 0 -0.00198485 -0.00410862 -0.0290325 0.999568 uwb: 0.0 841.844 795.367 -imu_odom_: 1691062422.479342489 -0.19393 -0.253785 9.9503 -0.052198 0.0255663 -0.11931 0.15 -0.2 pose: 0.41993687 2.05123 0.112628 0 -0.00341955 -0.00462074 -0.0326393 0.999451 uwb: 0.0 841.844 795.367 -imu_odom_: 1691062422.495352041 -0.129287 -0.292093 9.77074 -0.0617853 -0.0149137 -0.127832 0.15 -0.2 pose: 0.0 2.05123 0.112628 0 -0.00341955 -0.00462074 -0.0326393 0.999451 uwb: 0.49849879 842.473 793.96 -imu_odom_: 1691062422.512287223 0.0622492 -0.110133 9.8258 -0.0585895 0.015979 -0.12144 0.15 -0.2 pose: 0.0 2.05123 0.112628 0 -0.00341955 -0.00462074 -0.0326393 0.999451 uwb: 0.0 842.473 793.96 -imu_odom_: 1691062422.528403511 0.275333 -0.31364 10.1347 -0.0639159 0.0117179 -0.0969391 0.11 -0.11 pose: 0.6952725 2.05592 0.112791 0 -0.00335458 -0.00382473 -0.0331896 0.999436 uwb: 0.0 842.473 793.96 -imu_odom_: 1691062422.546292903 -0.0047884 -0.196325 9.59357 -0.0735032 -0.0266316 -0.0798948 0.17 -0.17 pose: 0.0 2.05592 0.112791 0 -0.00335458 -0.00382473 -0.0331896 0.999436 uwb: 0.50187292 843.083 792.518 -imu_odom_: 1691062422.562333951 0.260968 -0.361524 9.53371 -0.0607201 -0.0234358 -0.0873517 0.17 -0.17 pose: 0.67005531 2.05625 0.102797 0 -0.00304494 0.00284475 -0.038242 0.99926 uwb: 0.0 843.083 792.518 -imu_odom_: 1691062422.579400074 0.452504 -0.234632 9.85214 -0.0671117 -0.0490022 -0.0735032 0.18 -0.17 pose: 0.0 2.05625 0.102797 0 -0.00304494 0.00284475 -0.038242 0.99926 uwb: 0.0 843.083 792.518 -imu_odom_: 1691062422.595283059 0.414197 -0.0383072 9.83059 -0.0479369 -0.0372843 -0.092678 0.18 -0.17 pose: 0.0 2.05625 0.102797 0 -0.00304494 0.00284475 -0.038242 0.99926 uwb: 0.49825965 843.202 791.541 -imu_odom_: 1691062422.612403134 0.500388 -0.196325 9.78271 -0.0532632 -0.036219 -0.0735032 0.18 -0.17 pose: 0.33107463 2.06625 0.103131 0 -0.00391247 0.00381028 -0.0402523 0.999175 uwb: 0.0 843.202 791.541 -imu_odom_: 1691062422.628333363 0.588974 -0.486023 9.78031 -0.0628506 -0.0426106 -0.0703074 0.18 -0.14 pose: 0.33012975 2.06625 0.103131 0 -0.00175751 0.00118241 -0.042268 0.999104 uwb: 0.0 843.202 791.541 -imu_odom_: 1691062422.645298291 1.04627 -0.114922 9.79468 -0.0436758 -0.0266316 -0.0735032 0.18 -0.14 pose: 0.0 2.06625 0.103131 0 -0.00175751 0.00118241 -0.042268 0.999104 uwb: 0.50001525 843.943 790.249 -imu_odom_: 1691062422.661395332 0.940921 -0.112527 10.0556 -0.0436758 0.0298274 -0.0223706 0.18 -0.14 pose: 0.0 2.06625 0.103131 0 -0.00175751 0.00118241 -0.042268 0.999104 uwb: 0.0 843.943 790.249 -imu_odom_: 1691062422.678385923 1.00078 -0.397437 9.83059 -0.0596548 -0.0234358 0.00106526 0.1 -0.11 pose: 0.32917321 2.07624 0.103486 0 -0.00259484 -0.00189267 -0.0441055 0.999022 uwb: 0.0 843.943 790.249 -imu_odom_: 1691062422.694361938 1.51792 -0.292093 9.98622 -0.0511327 -0.0276969 -0.0319579 0.1 -0.11 pose: 0.0 2.07624 0.103486 0 -0.00259484 -0.00189267 -0.0441055 0.999022 uwb: 0.49968571 844.211 789.463 -imu_odom_: 1691062422.711334157 1.34075 -0.0981623 9.52653 -0.0458064 0.0319579 -0.0735032 0.11 -0.14 pose: 0.17974256 2.07624 0.103486 0 -0.00209105 -0.00362834 -0.0449211 0.998982 uwb: 0.0 844.211 789.463 -imu_odom_: 1691062422.727319503 0.481235 -0.0646434 9.88566 -0.0628506 0.02024 -0.0692422 0.11 -0.14 pose: 0.0 2.07624 0.103486 0 -0.00209105 -0.00362834 -0.0449211 0.998982 uwb: 0.0 844.211 789.463 -imu_odom_: 1691062422.744274808 0.426168 -0.100556 9.9503 -0.0617853 -0.00319579 -0.0862864 0.11 -0.14 pose: 0.0 2.07624 0.103486 0 -0.00209105 -0.00362834 -0.0449211 0.998982 uwb: 0.49982861 844.17 789.023 -imu_odom_: 1691062422.760384972 0.871489 -0.361524 10.1131 -0.0628506 -0.0543285 -0.0798948 0.06 -0.05 pose: 0.47951082 2.07624 0.103486 0 -0.00238463 -0.00838845 -0.0464654 0.998882 uwb: 0.0 844.17 789.023 -imu_odom_: 1691062422.777376146 0.852336 -0.368707 9.60793 -0.0607201 0.00426106 -0.0628506 0.08 -0.11 pose: 0.0 2.07624 0.103486 0 -0.00238463 -0.00838845 -0.0464654 0.998882 uwb: 0.0 844.17 789.023 -imu_odom_: 1691062422.793249508 1.02472 -0.447716 9.92636 -0.0628506 -0.00106526 -0.0340885 0.08 -0.11 pose: 0.66128021 2.08624 0.103856 0 -0.000892336-0.00943187 -0.0503053 0.998689 uwb: 0.50023106 844.999 787.829 -imu_odom_: 1691062422.810286760 0.579397 -0.380678 9.79228 -0.0596548 0.0106526 -0.0351537 0.07 -0.08 pose: 0.0 2.08624 0.103856 0 -0.000892336-0.00943187 -0.0503053 0.998689 uwb: 0.0 844.999 787.829 -imu_odom_: 1691062422.835391634 0.806846 -0.198719 9.93354 -0.0543285 -0.015979 -0.0372843 0.07 -0.08 pose: 0.0 2.08624 0.103856 0 -0.000892336-0.00943187 -0.0503053 0.998689 uwb: 0.0 844.999 787.829 -imu_odom_: 1691062422.852338773 0.328006 -0.253785 9.73004 -0.0660464 0.0351537 -0.0319579 0.07 -0.08 pose: 0.32878534 2.08624 0.103856 0 -0.00293532 -0.0112555 -0.0516433 0.998598 uwb: 0.49897706 844.836 787.217 -imu_odom_: 1691062422.877529969 -1.18992 -0.217872 9.96467 -0.0500674 0.0841559 -0.0234358 0.05 -0.05 pose: 0.42089925 2.08624 0.103856 0 -0.0029645 -0.0124541 -0.0532347 0.9985 uwb: 0.0 844.836 787.217 -imu_odom_: 1691062422.902397749 -0.787692 -0.502782 9.93115 -0.0553937 -0.104396 0.0181095 0.1 -0.02 pose: 0.35170737 2.09336 0.104115 0 -0.00260636 -0.00763927 -0.054382 0.998488 uwb: 0.50125175 845.275 786.256 -imu_odom_: 1691062422.925257080 0.687136 -0.0790087 9.67018 -0.0447411 -0.056459 -0.0138484 0.1 -0.02 pose: 0.0 2.09336 0.104115 0 -0.00260636 -0.00763927 -0.054382 0.998488 uwb: 0.0 845.275 786.256 -imu_odom_: 1691062422.941374535 0.612916 -0.196325 9.65582 -0.0468716 -0.0149137 0.00319579 0.11 -0.02 pose: 0.6871069 2.09623 0.104205 0 -0.00271117 -0.00730031 -0.0544526 0.998486 uwb: 0.0 845.275 786.256 -imu_odom_: 1691062422.968298299 -0.25618 -0.344765 9.76595 -0.04048 0.0468716 -0.015979 0.11 -0.02 pose: 0.0 2.09623 0.104205 0 -0.00271117 -0.00730031 -0.0544526 0.998486 uwb: 0.49800302 845.144 785.681 -imu_odom_: 1691062422.993224696 0.184354 -0.177171 10.1849 -0.0468716 -0.0351537 0.0181095 0.12 -0.02 pose: 0.48994239 2.09623 0.104205 0 -0.000759749-0.00932082 -0.0554112 0.99842 uwb: 0.50055768 844.625 785.357 -imu_odom_: 1691062423.18235382 0.0909797 -0.397437 9.44513 -0.0490022 -0.0138484 -0.0117179 0.12 -0.02 pose: 0.0 2.09623 0.104205 0 -0.000759749-0.00932082 -0.0554112 0.99842 uwb: 0.0 844.625 785.357 -imu_odom_: 1691062423.40277582 0.452504 -0.186748 10.0916 -0.0628506 -0.0617853 0.0106526 0.13 -0.05 pose: 0.42853992 2.10622 0.104591 0 -0.000165888-0.00601549 -0.0563884 0.998391 uwb: 0.0 844.625 785.357 -imu_odom_: 1691062423.56372007 0.605733 -0.011971 9.65821 -0.0532632 -0.056459 0.00532632 0.13 -0.05 pose: 0.0 2.10622 0.104591 0 -0.000165888-0.00601549 -0.0563884 0.998391 uwb: 0.50065123 844.939 784.607 -imu_odom_: 1691062423.81293461 0.122104 -0.531513 9.79468 -0.0607201 0.0191748 0.0191748 0.13 -0.02 pose: 0.47995422 2.10622 0.104591 0 -0.000147899-0.00262666 -0.0572964 0.998354 uwb: 0.0 844.939 784.607 -imu_odom_: 1691062423.104275873 0.502782 -0.0191536 9.79947 -0.052198 -0.0426106 0.0223706 0.13 -0.02 pose: 0.0 2.10622 0.104591 0 -0.000147899-0.00262666 -0.0572964 0.998354 uwb: 0.49941478 844.903 783.761 -imu_odom_: 1691062423.120236440 0.289698 -0.311246 9.71806 -0.0553937 0.0117179 0.0181095 0.15 0 pose: 0.39089377 2.11622 0.10494 0 0.00206127 -0.00411058 -0.0578793 0.998313 uwb: 0.0 844.903 783.761 -imu_odom_: 1691062423.144290589 0.526724 -0.237026 10.0054 -0.0607201 -0.0426106 0.0181095 0.15 0 pose: 0.0 2.11622 0.10494 0 0.00206127 -0.00411058 -0.0578793 0.998313 uwb: 0.49979973 844.388 783.84 -imu_odom_: 1691062423.161272150 0.706289 -0.387861 9.85214 -0.0479369 -0.00106526 0.0117179 0.14 -0.02 pose: 0.47953734 2.11622 0.10494 0 0.00258195 -0.00315612 -0.0583374 0.998289 uwb: 0.0 844.388 783.84 -imu_odom_: 1691062423.178216382 0.191536 -0.215478 9.79468 -0.0490022 0.0170442 0.0170442 0.14 -0.02 pose: 0.0 2.11622 0.10494 0 0.00258195 -0.00315612 -0.0583374 0.998289 uwb: 0.0 844.388 783.84 -imu_odom_: 1691062423.203235532 0.509965 -0.433351 10.3741 -0.0490022 0.0415453 0.02024 0.15 -0.02 pose: 0.40002468 2.12656 0.0952784 0 -0.000151616-0.00508694 -0.0587791 0.998258 uwb: 0.49963350 844.787 782.799 -imu_odom_: 1691062423.228312132 0.466869 -0.136469 10.3789 -0.0553937 -0.0372843 0.036219 0.15 -0.02 pose: 0.0 2.12656 0.0952784 0 -0.000151616-0.00508694 -0.0587791 0.998258 uwb: 0.0 844.787 782.799 -imu_odom_: 1691062423.242312077 0.782904 -0.407014 9.76116 -0.0735032 -0.0351537 0.0436758 0.15 -0.02 pose: 0.0 2.12656 0.0952784 0 -0.000151616-0.00508694 -0.0587791 0.998258 uwb: 0.49975016 844.012 782.919 -imu_odom_: 1691062423.266235868 0.287304 -0.349553 9.87129 -0.0585895 0.00106526 0.0245011 0.17 0 pose: 0.34924039 2.12656 0.0952784 0 -0.0013624 -0.00379194 -0.0591786 0.998239 uwb: 0.0 844.012 782.919 -imu_odom_: 1691062423.283172809 0.519542 -0.320823 9.42118 -0.0639159 -0.0617853 0.0372843 0.17 0 pose: 0.0 2.12656 0.0952784 0 -0.0013624 -0.00379194 -0.0591786 0.998239 uwb: 0.0 844.012 782.919 -imu_odom_: 1691062423.299177704 0.828394 -0.385466 9.59835 -0.0681769 -0.0308927 0.0820254 0.2 -0.02 pose: 0.86971080 2.14654 0.0961058 0 -0.00302572 -0.00359549 -0.0595341 0.998215 uwb: 0.50156117 845.244 781.431 -imu_odom_: 1691062423.316396943 1.01514 -0.31364 9.23922 -0.0596548 -0.00213053 0.108657 0.2 -0.02 pose: 0.0 2.14654 0.0961058 0 -0.00302572 -0.00359549 -0.0595341 0.998215 uwb: 0.0 845.244 781.431 -imu_odom_: 1691062423.333236188 1.6113 -0.265756 10.2568 -0.0426106 -0.0660464 0.167247 0.11 0.23 pose: 0.43211554 2.15216 0.0963356 0 -0.0047586 -0.00790619 -0.0586196 0.998238 uwb: 0.0 845.244 781.431 -imu_odom_: 1691062423.350214833 1.44849 -0.452504 9.55526 -0.0436758 -0.0266316 0.268447 0.11 0.23 pose: 0.0 2.15216 0.0963356 0 -0.0047586 -0.00790619 -0.0586196 0.998238 uwb: 0.50000971 844.917 781.374 -imu_odom_: 1691062423.366268138 1.41976 -0.667982 10.5225 -0.056459 0.0415453 0.324906 0.11 0.23 pose: 0.0 2.15216 0.0963356 0 -0.0047586 -0.00790619 -0.0586196 0.998238 uwb: 0.0 844.917 781.374 -imu_odom_: 1691062423.383178833 1.05824 -0.42138 9.991 -0.0532632 0.00106526 0.373908 0.12 0.44 pose: 0.7953308 2.15654 0.096479 0 -0.0047456 -0.00894697 -0.0581145 0.998259 uwb: 0.0 844.917 781.374 -imu_odom_: 1691062423.399227472 0.701501 -0.203507 9.91199 -0.056459 0.0330232 0.425041 0.09 0.38 pose: 0.0 2.15654 0.096479 0 -0.0047456 -0.00894697 -0.0581145 0.998259 uwb: 0.49922813 845.245 780.621 -imu_odom_: 1691062423.416178704 0.586579 -0.126893 10.0796 -0.0426106 -0.00852212 0.494283 0.09 0.38 pose: 0.66837591 2.15654 0.0964789 0 -0.00561743 -0.0144549 -0.0489738 0.99868 uwb: 0.0 845.245 780.621 -imu_odom_: 1691062423.433171055 0.567426 -0.538695 9.79707 -0.0553937 -0.0276969 0.526241 0.09 0.38 pose: 0.0 2.15654 0.0964789 0 -0.00561743 -0.0144549 -0.0489738 0.99868 uwb: 0.0 845.245 780.621 -imu_odom_: 1691062423.450167780 0.902614 -0.220267 9.83059 -0.0340885 -0.00213053 0.502805 0.07 0.41 pose: 0.0 2.15654 0.0964789 0 -0.00561743 -0.0144549 -0.0489738 0.99868 uwb: 0.49991055 844.384 780.623 -imu_odom_: 1691062423.467228664 0.696713 -0.102951 9.59357 -0.0415453 -0.00745685 0.520914 0.07 0.41 pose: 0.32991705 2.16653 0.0968003 0 -0.00408044 -0.0133498 -0.0416501 0.999035 uwb: 0.0 844.384 780.623 -imu_odom_: 1691062423.483232976 0.778116 -0.215478 10.0173 -0.0617853 0.0138484 0.569916 0.06 0.5 pose: 0.43049117 2.16651 0.0967991 0 -0.00258679 -0.0148852 -0.0314501 0.999391 uwb: 0.0 844.384 780.623 -imu_odom_: 1691062423.500178374 0.907402 -0.481235 10.1849 -0.0479369 0.02024 0.58483 0.06 0.5 pose: 0.0 2.16651 0.0967991 0 -0.00258679 -0.0148852 -0.0314501 0.999391 uwb: 0.50047048 844.029 780.123 -imu_odom_: 1691062423.517163726 0.754174 -0.428562 9.92875 -0.0596548 0.0223706 0.607201 0.06 0.5 pose: 0.0 2.16651 0.0967991 0 -0.00258679 -0.0148852 -0.0314501 0.999391 uwb: 0.0 844.029 780.123 -imu_odom_: 1691062423.534163368 0.509965 -0.222661 9.67497 -0.056459 0 0.66366 0.07 0.82 pose: 0.7000556 2.16653 0.0968004 0 -0.00233026 -0.0154474 -0.0296013 0.99944 uwb: 0.0 844.029 780.123 -imu_odom_: 1691062423.550177303 0.608127 -0.306458 9.84496 -0.0426106 -0.00745685 0.670051 0.05 0.58 pose: 0.0 2.16653 0.0968004 0 -0.00233026 -0.0154474 -0.0296013 0.99944 uwb: 0.50001846 843.92 779.969 -imu_odom_: 1691062423.567152740 0.749385 0.011971 10.1203 -0.0436758 0 0.641289 0.05 0.58 pose: 0.66999445 2.16653 0.0968004 0 -0.00466015 -0.0145065 -0.0102076 0.999832 uwb: 0.0 843.92 779.969 -imu_odom_: 1691062423.583150927 0.500388 -0.158017 9.75877 -0.0490022 0.0181095 0.606135 0.05 0.58 pose: 0.0 2.16653 0.0968004 0 -0.00466015 -0.0145065 -0.0102076 0.999832 uwb: 0.0 843.92 779.969 -imu_odom_: 1691062423.600173025 0.272939 -0.158017 9.88805 -0.0596548 0.00639159 0.525175 0.04 0.41 pose: 0.0 2.16653 0.0968004 0 -0.00466015 -0.0145065 -0.0102076 0.999832 uwb: 0.50075336 843.923 779.157 -imu_odom_: 1691062423.616148757 0.526724 -0.0550666 9.91199 -0.0436758 -0.0245011 0.462325 0.04 0.41 pose: 0.33930751 2.16653 0.0968004 0 -0.00256419 -0.0131848 -3.43402e-050.99991 uwb: 0.0 843.923 779.157 -imu_odom_: 1691062423.634151894 0.818817 -0.184354 9.76834 -0.0553937 -0.0223706 0.426106 0.05 0.53 pose: 0.40989341 2.17652 0.0972003 0 -0.000262757-0.0101845 0.00971889 0.999901 uwb: 0.0 843.923 779.157 -imu_odom_: 1691062423.649197913 0.828394 -0.162806 9.92397 -0.0553937 0.00319579 0.415453 0.05 0.53 pose: 0.0 2.17652 0.0972003 0 -0.000262757-0.0101845 0.00971889 0.999901 uwb: 0.49847282 843.347 779.161 -imu_odom_: 1691062423.666204845 0.679953 -0.3304 9.90481 -0.0479369 -0.00106526 0.38243 0.05 0.53 pose: 0.0 2.17652 0.0972003 0 -0.000262757-0.0101845 0.00971889 0.999901 uwb: 0.0 843.347 779.161 -imu_odom_: 1691062423.691194832 0.59855 -0.0502782 9.90481 -0.0447411 -0.00106526 0.316384 0.03 0.29 pose: 0.8007259 2.17652 0.0972003 0 -0.000135917-0.0110452 0.0112644 0.999876 uwb: 0.0 843.347 779.161 -imu_odom_: 1691062423.708223345 0.488417 -0.141258 9.97664 -0.056459 0.015979 0.275903 0.03 0.29 pose: 0.0 2.17652 0.0972003 0 -0.000135917-0.0110452 0.0112644 0.999876 uwb: 0.49958975 844.527 777.55 -imu_odom_: 1691062423.724151541 -0.138864 -0.023942 9.89524 -0.0596548 0.0990696 0.192813 0.03 0.29 pose: 0.74004959 2.17652 0.0972002 0 0.00136474 -0.011981 0.0232024 0.999658 uwb: 0.0 844.527 777.55 -imu_odom_: 1691062423.742124932 -1.38624 -0.023942 10.058 -0.0809601 0.0713727 0.189617 0.07 0.26 pose: 0.0 2.17652 0.0972002 0 0.00136474 -0.011981 0.0232024 0.999658 uwb: 0.49929813 844.004 777.628 -imu_odom_: 1691062423.757191948 -1.23541 -0.52433 10.082 -0.0628506 -0.0607201 0.22051 0.07 0.26 pose: 0.0 2.17652 0.0972002 0 0.00136474 -0.011981 0.0232024 0.999658 uwb: 0.0 844.004 777.628 -imu_odom_: 1691062423.774175550 -0.107739 -0.770933 9.6606 -0.0479369 -0.102265 0.22264 0.07 0.26 pose: 0.34021739 2.17652 0.0972002 0 0.00180185 -0.00743334 0.026202 0.999627 uwb: 0.0 844.004 777.628 -imu_odom_: 1691062423.790117745 0.634463 -0.244209 9.97903 -0.0266316 -0.0458064 0.217314 0.08 0.17 pose: 0.41992836 2.17652 0.0972002 0 0.000205163 -0.00466092 0.0298638 0.999543 uwb: 0.0 844.004 777.628 -imu_odom_: 1691062423.808119424 0.342371 0.126893 9.62469 -0.0458064 0.0181095 0.238619 0.08 0.17 pose: 0.7980138 2.17652 0.0972002 0 0.000171761 -0.00560854 0.0305739 0.999517 uwb: 0.50005345 843.607 777.475 -imu_odom_: 1691062423.824111779 0.0861913 -0.141258 10.3334 -0.0596548 0.0223706 0.219444 0.08 0.17 pose: 0.0 2.17652 0.0972002 0 0.000171761 -0.00560854 0.0305739 0.999517 uwb: 0.0 843.607 777.475 -imu_odom_: 1691062423.839238579 -0.3304 -0.160412 9.72764 -0.0735032 0.00532632 0.181095 0.1 0.11 pose: 0.41956091 2.18651 0.0977116 0 0.0018131 -0.00363879 0.0344977 0.999397 uwb: 0.0 843.607 777.475 -imu_odom_: 1691062423.854177570 -0.0622492 -0.107739 9.81623 -0.0607201 -0.0319579 0.175769 0.11 0.14 pose: 0.0 2.18651 0.0977116 0 0.0018131 -0.00363879 0.0344977 0.999397 uwb: 0.50093417 843.968 777.164 -imu_odom_: 1691062423.872113632 0.304064 -0.553061 9.34217 -0.0585895 -0.0436758 0.199204 0.11 0.14 pose: 0.0 2.18651 0.0977116 0 0.0018131 -0.00363879 0.0344977 0.999397 uwb: 0.0 843.968 777.164 -imu_odom_: 1691062423.888120277 0.148441 -0.490811 9.50737 -0.0585895 0 0.185356 0.11 0.11 pose: 0.22141354 2.18651 0.0977116 0 0.00172183 -0.00146144 0.0360403 0.999348 uwb: 0.0 843.968 777.164 -imu_odom_: 1691062423.905194867 0.361524 -0.246603 9.9503 -0.0617853 0.00213053 0.167247 0.11 0.11 pose: 0.0 2.18651 0.0977116 0 0.00172183 -0.00146144 0.0360403 0.999348 uwb: 0.49866530 844.323 776.427 -imu_odom_: 1691062423.922109353 0.488417 0.0047884 9.83299 -0.0692422 -0.0191748 0.171508 0.11 0.11 pose: 0.32865721 2.1965 0.0982242 0 -0.000490048-0.0001931570.0385189 0.999258 uwb: 0.0 844.323 776.427 -imu_odom_: 1691062423.938106958 0.390255 -0.158017 10.0126 -0.0660464 0.015979 0.165116 0.14 0.14 pose: 0.42990499 2.1965 0.0982242 0 -0.0003333310.00127119 0.0413829 0.999142 uwb: 0.0 844.323 776.427 -imu_odom_: 1691062423.955165508 0.512359 -0.177171 10.0652 -0.0575243 -0.0447411 0.144876 0.14 0.14 pose: 0.8004927 2.1965 0.0982242 0 0.000411862 0.00122477 0.0418859 0.999122 uwb: 0.50038299 844.215 776.272 -imu_odom_: 1691062423.971100704 1.01514 -0.342371 10.0269 -0.036219 -0.0745685 0.152333 0.14 0.14 pose: 0.0 2.1965 0.0982242 0 0.000411862 0.00122477 0.0418859 0.999122 uwb: 0.0 844.215 776.272 -imu_odom_: 1691062423.988101221 1.41497 -0.371101 10.0221 -0.0617853 -0.0266316 0.209857 0.16 0.17 pose: 0.40986424 2.20648 0.0987619 0 0.00124012 -0.00296965 0.0441864 0.999018 uwb: 0.0 844.215 776.272 -imu_odom_: 1691062424.4255722 1.31442 -0.529119 9.62948 -0.0543285 0.00426106 0.272708 0.1 0.08 pose: 0.0 2.20648 0.0987619 0 0.00124012 -0.00296965 0.0441864 0.999018 uwb: 0.50002720 844.627 775.612 -imu_odom_: 1691062424.21097310 1.25696 -0.766145 9.76116 -0.0628506 -0.0106526 0.258859 0.1 0.08 pose: 0.0 2.20648 0.0987619 0 0.00124012 -0.00296965 0.0441864 0.999018 uwb: 0.0 844.627 775.612 -imu_odom_: 1691062424.38162578 1.26893 0.0335188 10.0748 -0.0234358 -0.0106526 0.157659 0.08 0.05 pose: 0.25015942 2.20648 0.0987619 0 0.000684431 -0.00557128 0.0465696 0.998899 uwb: 0.0 844.627 775.612 -imu_odom_: 1691062424.54162524 1.18034 0.438139 9.90002 -0.0511327 0.0266316 0.118244 0.08 0.05 pose: 0.0 2.20648 0.0987619 0 0.000684431 -0.00557128 0.0465696 0.998899 uwb: 0.49954040 844.399 775.283 -imu_odom_: 1691062424.70095396 0.802058 -0.0957681 9.83059 -0.0777643 0.0319579 0.111853 0.08 0.05 pose: 0.32993177 2.20648 0.0987619 0 -0.00016514 -0.00850879 0.0498393 0.998721 uwb: 0.0 844.399 775.283 -imu_odom_: 1691062424.88096502 0.380678 -0.605733 9.85453 -0.0660464 0.0127832 0.0809601 0.07 0.08 pose: 0.40985573 2.21644 0.0993568 0 0.00216497 -0.0112446 0.0515548 0.998605 uwb: 0.0 844.399 775.283 -imu_odom_: 1691062424.104159440 0.711078 -0.577003 10.0078 -0.0511327 -0.0223706 0.0479369 0.07 0.08 pose: 0.8065298 2.21647 0.0993589 0 0.00139821 -0.0108124 0.0517286 0.998602 uwb: 0.49986709 844.23 775.457 -imu_odom_: 1691062424.121088517 0.756568 -0.0430956 9.92636 -0.0468716 -0.02024 0.0713727 0.07 0.08 pose: 0.0 2.21647 0.0993589 0 0.00139821 -0.0108124 0.0517286 0.998602 uwb: 0.0 844.23 775.457 -imu_odom_: 1691062424.137145331 0.758962 -0.169988 9.88087 -0.0532632 0.0138484 0.109722 0.05 0.08 pose: 0.32942730 2.21647 0.0993589 0 -0.000401408-0.0113674 0.0521291 0.998576 uwb: 0.0 844.23 775.457 -imu_odom_: 1691062424.154088990 0.553061 -0.308852 9.90721 -0.0511327 0.0117179 0.0990696 0.06 0.08 pose: 0.0 2.21647 0.0993589 0 -0.000401408-0.0113674 0.0521291 0.998576 uwb: 0.49999249 845.679 773.773 -imu_odom_: 1691062424.170086311 0.59855 -0.138864 9.84735 -0.0394148 -0.0127832 0.0788296 0.06 0.08 pose: 0.0 2.21647 0.0993589 0 -0.000401408-0.0113674 0.0521291 0.998576 uwb: 0.0 845.679 773.773 -imu_odom_: 1691062424.187085671 0.715866 -0.155623 9.97185 -0.0585895 -0.00852212 0.104396 0.05 0.08 pose: 0.33051216 2.21647 0.0993589 0 0.000659956 -0.0127433 0.0530474 0.99851 uwb: 0.0 845.679 773.773 -imu_odom_: 1691062424.212099877 0.481235 -0.337582 10.003 -0.0543285 0.00106526 0.0990696 0.05 0.08 pose: 0.0 2.21647 0.0993589 0 0.000659956 -0.0127433 0.0530474 0.99851 uwb: 0.50008290 844.165 774.526 -imu_odom_: 1691062424.237083754 -0.134075 -0.244209 9.663 -0.0511327 0.0681769 0.107592 0.04 0.11 pose: 0.67945237 2.21647 0.0993589 0 0.000558017 -0.011011 0.0549547 0.998428 uwb: 0.0 844.165 774.526 -imu_odom_: 1691062424.260065887 -1.32878 -0.316035 9.95509 -0.0543285 0.0596548 0.115049 0.04 0.11 pose: 0.7157165 2.21647 0.0993589 0 0.000489582 -0.0100389 0.0551988 0.998425 uwb: 0.49980584 844.911 773.498 -imu_odom_: 1691062424.285080676 -0.289698 -0.325611 10.094 -0.0553937 -0.0756338 0.0937433 0.07 0.08 pose: 0.40808845 2.22325 0.0997015 0 3.45027e-05 -0.00459856 0.0566745 0.998382 uwb: 0.0 844.911 773.498 -imu_odom_: 1691062424.310061345 0.706289 -0.141258 9.81383 -0.052198 -0.0319579 0.076699 0.07 0.08 pose: 0.0 2.22325 0.0997015 0 3.45027e-05 -0.00459856 0.0566745 0.998382 uwb: 0.49980585 843.696 773.847 -imu_odom_: 1691062424.324119040 0.435745 -0.047884 9.73243 -0.056459 0.0245011 0.0894822 0.1 0.02 pose: 0.0 2.22325 0.0997015 0 3.45027e-05 -0.00459856 0.0566745 0.998382 uwb: 0.0 843.696 773.847 -imu_odom_: 1691062424.348066467 -0.347159 -0.464475 9.73482 -0.0671117 0.0351537 0.0607201 0.1 0.02 pose: 0.56074469 2.22645 0.0998727 0 0.00113514 -0.00530826 0.0579605 0.998304 uwb: 0.50133107 843.942 772.933 -imu_odom_: 1691062424.373048010 0.268151 -0.335188 9.93594 -0.0585895 -0.0383495 0.0777643 0.13 0.02 pose: 0.31926111 2.23351 0.100268 0 0.00076917 -0.00211779 0.0584086 0.99829 uwb: 0.0 843.942 772.933 -imu_odom_: 1691062424.386133122 0.339977 -0.289698 9.87848 -0.0671117 0.00213053 0.0884169 0.13 0.02 pose: 0.7018349 2.23644 0.100435 0 0.000310522 -0.00170178 0.0585429 0.998283 uwb: 0.0 843.942 772.933 -imu_odom_: 1691062424.411078212 0.268151 -0.287304 9.90002 -0.0490022 -0.0330232 0.0660464 0.11 0.05 pose: 0.0 2.23644 0.100435 0 0.000310522 -0.00170178 0.0585429 0.998283 uwb: 0.0 843.942 772.933 -imu_odom_: 1691062424.436112832 0.105345 -0.318429 9.8689 -0.0745685 0.0213053 0.0713727 0.11 0.05 pose: 0.39058486 2.23644 0.100435 0 -0.00204674 0.00102633 0.0593139 0.998237 uwb: 0.0 843.942 772.933 -imu_odom_: 1691062424.449050671 0.483629 -0.071826 10.2017 -0.0543285 0.0127832 0.04048 0.11 0.05 pose: 0.0 2.23644 0.100435 0 -0.00204674 0.00102633 0.0593139 0.998237 uwb: 0.99832561 843.82 772.33 -imu_odom_: 1691062424.473164909 -0.0766145 -0.201113 9.29669 -0.0852212 0.0170442 0.0841559 0.14 0.02 pose: 0.47972426 2.24642 0.101 0 -0.00305338 0.00476218 0.0599449 0.998186 uwb: 0.0 843.82 772.33 -imu_odom_: 1691062424.497117585 0.59855 -0.40462 10.0509 -0.0756338 -0.0170442 0.0681769 0.16 0.02 pose: 0.0 2.24642 0.101 0 -0.00305338 0.00476218 0.0599449 0.998186 uwb: 0.50027828 844.563 771.708 -imu_odom_: 1691062424.520178458 0.0023942 -0.172383 9.79707 -0.0585895 -0.00426106 0.0575243 0.16 0.02 pose: 0.37939797 2.24642 0.101 0 -0.00299617 0.00633386 0.0605885 0.998138 uwb: 0.0 844.563 771.708 -imu_odom_: 1691062424.536044255 -0.1652 -0.40462 9.414 -0.0660464 0.0191748 0.0809601 0.15 0 pose: 0.0 2.24642 0.101 0 -0.00299617 0.00633386 0.0605885 0.998138 uwb: 0.0 844.563 771.708 -imu_odom_: 1691062424.561027840 -0.366313 -0.0430956 10.5752 -0.0394148 0.00852212 0.0607201 0.15 0 pose: 0.47022298 2.25641 0.101511 0 -0.00342432 0.00754816 0.0611852 0.998092 uwb: 0.49977669 843.62 772.038 -imu_odom_: 1691062424.583023100 0.011971 -0.220267 10.3813 -0.0543285 0.0351537 0.0596548 0.14 0 pose: 0.0 2.25641 0.101511 0 -0.00342432 0.00754816 0.0611852 0.998092 uwb: 0.0 843.62 772.038 -imu_odom_: 1691062424.599046085 0.610521 -0.220267 10.3717 -0.0553937 -0.0511327 0.0671117 0.14 0 pose: 0.40039527 2.25641 0.101511 0 -0.00270922 0.0117463 0.0617091 0.998021 uwb: 0.49974460 844.285 770.87 -imu_odom_: 1691062424.624063207 0.897826 -0.222661 10.0628 -0.0436758 -0.0298274 0.052198 0.18 0.02 pose: 0.0 2.25641 0.101511 0 -0.00270922 0.0117463 0.0617091 0.998021 uwb: 0.0 844.285 770.87 -imu_odom_: 1691062424.648034547 0.543484 -0.260968 9.56484 -0.0500674 -0.0234358 0.0532632 0.18 0.02 pose: 0.38928128 2.26639 0.102046 0 -0.00212565 0.0108794 0.062138 0.998006 uwb: 0.50068949 843.858 771.103 -imu_odom_: 1691062424.664014954 0.452504 -0.392649 9.92397 -0.0617853 -0.00958738 0.0649811 0.18 0.02 pose: 0.0 2.26639 0.102046 0 -0.00212565 0.0108794 0.062138 0.998006 uwb: 0.0 843.858 771.103 -imu_odom_: 1691062424.689013121 0.325611 -0.205901 9.87129 -0.0415453 0.0149137 0.0500674 0.15 0.02 pose: 0.50202807 2.27638 0.102591 0 -0.00230434 0.00555923 0.06251 0.998026 uwb: 0.0 843.858 771.103 -imu_odom_: 1691062424.703014824 0.25618 -0.337582 9.50498 -0.052198 0.0117179 0.0511327 0.15 0.02 pose: 0.0 2.27638 0.102591 0 -0.00230434 0.00555923 0.06251 0.998026 uwb: 0.49933049 844.648 770.111 -imu_odom_: 1691062424.726021745 0.509965 -0.203507 10.0868 -0.0383495 -0.015979 0.052198 0.15 0 pose: 0.38811185 2.27638 0.102591 0 -0.00080078 0.0047232 0.0627764 0.998016 uwb: 0.0 844.648 770.111 -imu_odom_: 1691062424.749004171 0.217872 -0.258574 10.0317 -0.0319579 -0.00426106 0.0532632 0.15 0 pose: 0.0 2.27638 0.102591 0 -0.00080078 0.0047232 0.0627764 0.998016 uwb: 0.50061657 844.384 769.72 -imu_odom_: 1691062424.767013151 0.114922 -0.37589 9.37569 -0.0532632 0.0117179 0.0479369 0.2 0.02 pose: 0.39075984 2.28636 0.103147 0 -0.0009433970.00352312 0.0630177 0.998006 uwb: 0.0 844.384 769.72 -imu_odom_: 1691062424.791057981 0.426168 -0.186748 10.0892 -0.0458064 0.0276969 0.0628506 0.2 0.02 pose: 0.0 2.28636 0.103147 0 -0.0009433970.00352312 0.0630177 0.998006 uwb: 0.0 844.384 769.72 -imu_odom_: 1691062424.808011847 0.213084 -0.416591 10.2352 -0.0500674 0.0394148 0.0511327 0.16 0 pose: 0.39928708 2.29579 0.113692 0 -0.00201567 0.00596079 0.0632707 0.997977 uwb: 0.49970378 845.537 767.952 -imu_odom_: 1691062424.833014096 0.107739 -0.0909797 9.78031 -0.0479369 0.0298274 0.0426106 0.16 0 pose: 0.0 2.29579 0.113692 0 -0.00201567 0.00596079 0.0632707 0.997977 uwb: 0.0 845.537 767.952 -imu_odom_: 1691062424.849998874 0.294487 -0.155623 9.91918 -0.056459 -0.0447411 0.0532632 0.21 0 pose: 0.42085598 2.30577 0.114258 0 -0.00217815 0.00652911 0.0635752 0.997953 uwb: 0.50073323 845.669 767.27 -imu_odom_: 1691062424.873995586 0.356736 -0.169988 9.8665 -0.0479369 -0.00958738 0.04048 0.21 0 pose: 0.0 2.30577 0.114258 0 -0.00217815 0.00652911 0.0635752 0.997953 uwb: 0.0 845.669 767.27 -imu_odom_: 1691062424.899011833 0.227449 -0.237026 9.97664 -0.0543285 -0.0234358 0.0543285 0.2 0 pose: 0.41886124 2.30577 0.114258 0 0.000711208 0.00609067 0.0637422 0.997948 uwb: 0.49903886 845.369 766.818 -imu_odom_: 1691062424.924032455 0.493206 -0.189142 10.1682 -0.0372843 0.02024 0.0447411 0.15 0 pose: 0.0 2.30577 0.114258 0 0.000711208 0.00609067 0.0637422 0.997948 uwb: 0.0 845.369 766.818 -imu_odom_: 1691062424.948000295 0.608127 -0.0263362 9.93594 -0.0340885 -0.0340885 0.0532632 0.18 0 pose: 0.40975949 2.31575 0.114833 0 -6.63615e-050.0063595 0.0639276 0.997934 uwb: 0.50040077 844.913 766.13 -imu_odom_: 1691062424.961983625 -0.0167594 -0.148441 9.9527 -0.052198 -0.00213053 0.0575243 0.18 0 pose: 0.0 2.31575 0.114833 0 -6.63615e-050.0063595 0.0639276 0.997934 uwb: 0.0 844.913 766.13 -imu_odom_: 1691062424.978041022 0.167594 -0.23942 10.07 -0.0543285 -0.0149137 0.0607201 0.17 0 pose: 0.8045759 2.31575 0.114833 0 0.000119927 0.00566607 0.0639489 0.997937 uwb: 0.0 844.913 766.13 -imu_odom_: 1691062425.3030731 0.368707 -0.35913 9.89284 -0.0681769 -0.0458064 0.0596548 0.17 0 pose: 0.0 2.31575 0.114833 0 0.000119927 0.00566607 0.0639489 0.997937 uwb: 0.49904470 844.257 766.028 -imu_odom_: 1691062425.16985781 0.519542 -0.258574 10.0485 -0.0596548 -0.0426106 0.0479369 0.17 -0.02 pose: 0.47941221 2.32574 0.115413 0 0.00216478 0.00259805 0.064224 0.99793 uwb: 0.0 844.257 766.028 -imu_odom_: 1691062425.40027711 0.124498 -0.129287 10.0892 -0.0703074 -0.0468716 0.0660464 0.17 -0.02 pose: 0.0 2.32574 0.115413 0 0.00216478 0.00259805 0.064224 0.99793 uwb: 0.0 844.257 766.028 -imu_odom_: 1691062425.56989169 0.646434 -0.107739 10.2735 -0.0500674 -0.0490022 0.0436758 0.17 -0.02 pose: 0.54028985 2.33572 0.115998 0 -0.00105286 0.00253474 0.0647137 0.9979 uwb: 0.49948527 844.288 765.186 -imu_odom_: 1691062425.73118608 0.35913 -0.177171 10.1706 -0.0671117 -0.0351537 0.0479369 0.22 0 pose: 0.0 2.33572 0.115998 0 -0.00105286 0.00253474 0.0647137 0.9979 uwb: 0.0 844.288 765.186 -imu_odom_: 1691062425.90117102 0.42138 -0.42138 9.92397 -0.0607201 0.0138484 0.0532632 0.22 0 pose: 0.0 2.33572 0.115998 0 -0.00105286 0.00253474 0.0647137 0.9979 uwb: 0.0 844.288 765.186 -imu_odom_: 1691062425.113949640 0.107739 -0.328006 9.71328 -0.0479369 0.0447411 0.0394148 0.17 -0.02 pose: 0.70989595 2.3457 0.116597 0 0.000836181 0.00183425 0.0652061 0.99787 uwb: 0.49928703 844.605 764.326 -imu_odom_: 1691062425.137955988 0.047884 -0.332794 9.91199 -0.0745685 0.0426106 0.0490022 0.17 -0.02 pose: 0.0 2.3457 0.116597 0 0.000836181 0.00183425 0.0652061 0.99787 uwb: 0.0 844.605 764.326 -imu_odom_: 1691062425.163125064 0.409408 -0.538695 9.61033 -0.0681769 0.0138484 0.0436758 0.24 0 pose: 0.18118642 2.35568 0.117201 0 -0.0005088990.00254832 0.0652725 0.997864 uwb: 0.49999568 844.628 763.464 -imu_odom_: 1691062425.187945350 0.433351 -0.390255 9.53611 -0.0543285 0.0276969 0.0308927 0.18 0 pose: 0.39819953 2.36273 0.117629 0 -0.0024427 0.00708997 0.0653801 0.997832 uwb: 0.0 844.628 763.464 -imu_odom_: 1691062425.210949077 0.438139 -0.500388 9.61751 -0.0308927 0.00319579 0.0287621 0.18 -0.02 pose: 0.7015729 2.36567 0.117808 0 -0.00309782 0.00679512 0.0653895 0.997832 uwb: 0.0 844.628 763.464 -imu_odom_: 1691062425.236114653 -0.0430956 -0.517148 9.36372 -0.0127832 -0.0149137 0.0170442 0.18 -0.02 pose: 0.0 2.36567 0.117808 0 -0.00309782 0.00679512 0.0653895 0.997832 uwb: 0.0 844.628 763.464 -imu_odom_: 1691062425.248935556 0.469264 -0.304064 10.0963 -0.0298274 -0.0649811 0.0372843 0.25 0.02 pose: 0.0 2.36567 0.117808 0 -0.00309782 0.00679512 0.0653895 0.997832 uwb: 0.100165950 844.33 763.01 -imu_odom_: 1691062425.264048374 0.715866 0.0335188 9.7037 -0.0436758 -0.0532632 0.0660464 0.25 0.02 pose: 0.50059936 2.36567 0.117808 0 -0.00644832 0.0038288 0.0652431 0.997841 uwb: 0.0 844.33 763.01 -imu_odom_: 1691062425.281932256 1.72622 -0.251391 10.5512 -0.0681769 -0.125701 0.0553937 0.21 -0.23 pose: 0.0 2.36567 0.117808 0 -0.00644832 0.0038288 0.0652431 0.997841 uwb: 0.0 844.33 763.01 -imu_odom_: 1691062425.298069860 1.55623 -0.294487 9.35654 -0.056459 -0.0106526 -0.0873517 0.21 -0.23 pose: 0.86900603 2.3856 0.119008 0 -0.00597487 -0.0007333950.0651914 0.997855 uwb: 0.0 844.33 763.01 -imu_odom_: 1691062425.314918457 1.94649 0.126893 9.84017 -0.0543285 0.0213053 -0.20027 0.21 -0.23 pose: 0.0 2.3856 0.119008 0 -0.00597487 -0.0007333950.0651914 0.997855 uwb: 0.0 844.33 763.01 -imu_odom_: 1691062425.330982571 1.38385 0.138864 9.88087 -0.0681769 0.0213053 -0.298274 0.11 -0.35 pose: 0.0 2.3856 0.119008 0 -0.00597487 -0.0007333950.0651914 0.997855 uwb: 0.0 844.33 763.01 -imu_odom_: 1691062425.348049889 0.940921 0.244209 10.6159 -0.0745685 0.0127832 -0.415453 0.11 -0.35 pose: 0.7999977 2.38563 0.11901 0 -0.00590327 -0.00155884 0.0646801 0.997887 uwb: 0.100116664 845.03 761.82 -imu_odom_: 1691062425.362914823 0.591368 0.105345 10.331 -0.0873517 -0.0340885 -0.417584 0.11 -0.35 pose: 0.0 2.38563 0.11901 0 -0.00590327 -0.00155884 0.0646801 0.997887 uwb: 0.0 845.03 761.82 -imu_odom_: 1691062425.380982723 0.847547 -0.248997 9.72525 -0.0980043 -0.0468716 -0.426106 0.13 -0.58 pose: 0.66188792 2.39561 0.119704 0 -0.00259014 -0.00606694 0.0536742 0.998537 uwb: 0.0 845.03 761.82 -imu_odom_: 1691062425.396968388 1.04387 -0.248997 9.87608 -0.0830906 -0.100135 -0.420779 0.08 -0.44 pose: 0.0 2.39561 0.119704 0 -0.00259014 -0.00606694 0.0536742 0.998537 uwb: 0.49796303 844.789 760.993 -imu_odom_: 1691062425.413918763 1.10133 -0.146046 9.97185 -0.0553937 -0.0117179 -0.446346 0.08 -0.44 pose: 0.0 2.39561 0.119704 0 -0.00259014 -0.00606694 0.0536742 0.998537 uwb: 0.0 844.789 760.993 -imu_odom_: 1691062425.429913761 1.18274 -0.158017 9.93115 -0.0511327 -0.02024 -0.472977 0.07 -0.5 pose: 0.32808015 2.39561 0.119705 0 -0.00220666 -0.00966383 0.046081 0.998889 uwb: 0.0 844.789 760.993 -imu_odom_: 1691062425.446925962 0.842759 0.0047884 9.73961 -0.052198 0.0436758 -0.50387 0.07 -0.5 pose: 0.40984721 2.40053 0.120086 0 -0.00123975 -0.0142491 0.0360029 0.999249 uwb: 0.50052645 845.438 759.703 -imu_odom_: 1691062425.462971411 0.88346 -0.323217 10.2879 -0.0553937 0.0191748 -0.517718 0.07 -0.5 pose: 0.8068219 2.40558 0.1204 0 -0.000512923-0.0144765 0.0338016 0.999324 uwb: 0.0 845.438 759.703 -imu_odom_: 1691062425.479975738 0.588974 -0.186748 9.94312 -0.0596548 0 -0.526241 0.08 -0.7 pose: 0.0 2.40558 0.1204 0 -0.000512923-0.0144765 0.0338016 0.999324 uwb: 0.0 845.438 759.703 -imu_odom_: 1691062425.495912702 0.61531 -0.320823 9.80426 -0.0596548 -0.0234358 -0.52198 0.08 -0.7 pose: 0.41993758 2.40555 0.120398 0 0.000144963 -0.0142957 0.0220874 0.999654 uwb: 0.50119428 844.622 759.359 -imu_odom_: 1691062425.512914696 0.799663 -0.0646434 9.90242 -0.0532632 -0.0234358 -0.543285 0.08 -0.7 pose: 0.0 2.40555 0.120398 0 0.000144963 -0.0142957 0.0220874 0.999654 uwb: 0.0 844.622 759.359 -imu_odom_: 1691062425.527965397 0.737414 -0.0670376 9.76116 -0.0607201 -0.0245011 -0.512392 0.05 -0.5 pose: 0.0 2.40555 0.120398 0 0.000144963 -0.0142957 0.0220874 0.999654 uwb: 0.0 844.622 759.359 -imu_odom_: 1691062425.553021029 0.624887 -0.572214 9.97424 -0.0575243 -0.00745685 -0.444215 0.07 -0.64 pose: 0.24015390 2.40558 0.1204 0 -0.000485017-0.014175 0.0152699 0.999783 uwb: 0.49944451 843.633 759.213 -imu_odom_: 1691062425.566962372 0.483629 -0.411803 9.92397 -0.0575243 0.0181095 -0.416518 0.07 -0.64 pose: 0.0 2.40558 0.1204 0 -0.000485017-0.014175 0.0152699 0.999783 uwb: 0.0 843.633 759.213 -imu_odom_: 1691062425.582964369 0.105345 -0.126893 9.95748 -0.0415453 0.0340885 -0.427171 0.06 -0.32 pose: 0.32014783 2.40558 0.1204 0 0.000980741 -0.0152429 0.00655159 0.999862 uwb: 0.0 843.633 759.213 -imu_odom_: 1691062425.600966651 -1.00317 0.237026 9.38288 -0.0181095 0.0511327 -0.415453 0.06 -0.32 pose: 0.38976269 2.40558 0.1204 0 -0.00128165 -0.0127829 -0.00257603 0.999914 uwb: 0.49737102 843.605 758.248 -imu_odom_: 1691062425.616891366 -1.31681 -0.251391 9.99579 -0.0617853 -0.0245011 -0.262055 0.06 -0.32 pose: 0.0 2.40558 0.1204 0 -0.00128165 -0.0127829 -0.00257603 0.999914 uwb: 0.0 843.605 758.248 -imu_odom_: 1691062425.633037720 -0.52433 -1.075 9.8258 -0.0681769 -0.100135 -0.192813 0.09 -0.23 pose: 0.0 2.40558 0.1204 0 -0.00128165 -0.0127829 -0.00257603 0.999914 uwb: 0.0 843.605 758.248 -imu_odom_: 1691062425.649907605 0.727837 -0.713472 10.0844 -0.0276969 -0.092678 -0.206661 0.09 -0.23 pose: 0.41909186 2.41557 0.120949 0 -0.000189155-0.00819712 -0.0109375 0.999907 uwb: 0.50123803 844.641 756.601 -imu_odom_: 1691062425.665918351 0.6608 0.347159 9.25119 -0.0458064 -0.0276969 -0.164051 0.11 -0.26 pose: 0.0 2.41557 0.120949 0 -0.000189155-0.00819712 -0.0109375 0.999907 uwb: 0.0 844.641 756.601 -imu_odom_: 1691062425.682031167 0.335188 -0.215478 9.75637 -0.0649811 0.0298274 -0.153398 0.11 -0.26 pose: 0.7065014 2.41557 0.120949 0 -0.000663811-0.0079756 -0.0117551 0.999899 uwb: 0.0 844.641 756.601 -imu_odom_: 1691062425.698107529 -0.299275 -0.430956 9.87848 -0.0479369 0.00426106 -0.190682 0.11 -0.26 pose: 0.0 2.41557 0.120949 0 -0.000663811-0.0079756 -0.0117551 0.999899 uwb: 0.49994903 843.762 756.632 -imu_odom_: 1691062425.715027575 -0.423774 -0.35913 9.60554 -0.0447411 -0.02024 -0.174703 0.14 -0.23 pose: 0.0 2.41557 0.120949 0 -0.000663811-0.0079756 -0.0117551 0.999899 uwb: 0.0 843.762 756.632 -imu_odom_: 1691062425.731027239 0.136469 -0.265756 9.81383 -0.0447411 -0.0415453 -0.150202 0.14 -0.23 pose: 0.49084144 2.41557 0.120949 0 -0.000930785-0.00862 -0.0171994 0.999814 uwb: 0.0 843.762 756.632 -imu_odom_: 1691062425.747870878 0.354342 -0.282516 9.65103 -0.0777643 -0.0170442 -0.132093 0.14 -0.23 pose: 0.0 2.41557 0.120949 0 -0.000930785-0.00862 -0.0171994 0.999814 uwb: 0.50060810 843.529 755.801 -imu_odom_: 1691062425.764987774 0.407014 -0.213084 10.0413 -0.0628506 0.00213053 -0.129962 0.13 -0.17 pose: 0.66005357 2.42555 0.121505 0 -0.00164486 -0.00239627 -0.0239237 0.99971 uwb: 0.0 843.529 755.801 -imu_odom_: 1691062425.780921529 -0.0430956 -0.126893 9.5385 -0.0596548 0.0298274 -0.145941 0.13 -0.17 pose: 0.0 2.42555 0.121505 0 -0.00164486 -0.00239627 -0.0239237 0.99971 uwb: 0.0 843.529 755.801 -imu_odom_: 1691062425.797866364 0.0454898 -0.241814 10.331 -0.0447411 0.0127832 -0.144876 0.13 -0.17 pose: 0.0 2.42555 0.121505 0 -0.00164486 -0.00239627 -0.0239237 0.99971 uwb: 0.50029315 843.662 754.597 -imu_odom_: 1691062425.812856698 0.162806 -0.464475 9.99819 -0.0703074 -0.00213053 -0.105461 0.13 -0.11 pose: 0.32827554 2.43554 0.122007 0 -0.0005474980.000163054 -0.0267686 0.999641 uwb: 0.0 843.662 754.597 -imu_odom_: 1691062425.830982632 0.399832 -0.45011 10.0485 -0.052198 -0.0351537 -0.112918 0.13 -0.11 pose: 0.40983263 2.43554 0.122007 0 -0.00159462 0.00398214 -0.0302583 0.999533 uwb: 0.0 843.662 754.597 -imu_odom_: 1691062425.845861272 0.727837 -0.430956 9.67736 -0.0596548 -0.0990696 -0.0937433 0.13 -0.11 pose: 0.8007268 2.43554 0.122007 0 -0.00234748 0.00360096 -0.0308719 0.999514 uwb: 0.49896332 843.762 753.807 -imu_odom_: 1691062425.862973793 1.16119 -0.184354 9.59117 -0.0841559 -0.0234358 -0.0543285 0.15 -0.17 pose: 0.0 2.43554 0.122007 0 -0.00234748 0.00360096 -0.0308719 0.999514 uwb: 0.0 843.762 753.807 -imu_odom_: 1691062425.877855350 1.403 -0.280122 10.1993 -0.0532632 -0.0138484 -0.0191748 0.15 -0.17 pose: 0.42109827 2.44553 0.122489 0 -0.00402446 -0.00081625 -0.0334511 0.999432 uwb: 0.0 843.762 753.807 -imu_odom_: 1691062425.895867256 1.32639 -0.354342 9.72285 -0.0553937 -0.0415453 -0.0234358 0.15 -0.17 pose: 0.0 2.44553 0.122489 0 -0.00402446 -0.00081625 -0.0334511 0.999432 uwb: 0.50172213 843.446 753.309 -imu_odom_: 1691062425.911921163 1.652 -0.181959 9.79947 -0.0351537 -0.00745685 -0.0852212 0.09 -0.14 pose: 0.0 2.44553 0.122489 0 -0.00402446 -0.00081625 -0.0334511 0.999432 uwb: 0.0 843.446 753.309 -imu_odom_: 1691062425.928867747 1.15401 0.0502782 10.0078 -0.0660464 0.0149137 -0.0980043 0.11 -0.17 pose: 0.23007227 2.44553 0.122489 0 -0.00412881 -0.00333945 -0.0341518 0.999403 uwb: 0.0 843.446 753.309 -imu_odom_: 1691062425.944881118 0.876278 -0.289698 10.0054 -0.0628506 -0.00958738 -0.0948085 0.11 -0.17 pose: 0.0 2.44553 0.122489 0 -0.00412881 -0.00333945 -0.0341518 0.999403 uwb: 0.49821675 843.131 752.812 -imu_odom_: 1691062425.962145870 0.746991 -0.373495 9.87369 -0.0649811 -0.0287621 -0.116114 0.1 -0.11 pose: 0.0 2.44553 0.122489 0 -0.00412881 -0.00333945 -0.0341518 0.999403 uwb: 0.0 843.131 752.812 -imu_odom_: 1691062425.976895610 0.859518 -0.225055 9.89524 -0.0543285 -0.00213053 -0.0980043 0.1 -0.11 pose: 0.76164850 2.45551 0.123069 0 -0.00450726 -0.0108081 -0.0390677 0.999168 uwb: 0.0 843.131 752.812 -imu_odom_: 1691062425.995127113 0.85473 -0.270545 10.0293 -0.0596548 0.00532632 -0.0575243 0.1 -0.11 pose: 0.7785921 2.45551 0.123069 0 -0.00431156 -0.0115584 -0.039608 0.999139 uwb: 0.49998694 844.348 750.903 -imu_odom_: 1691062426.10124450 0.663194 -0.31364 9.88326 -0.0458064 0.00745685 -0.0575243 0.06 -0.08 pose: 0.0 2.45551 0.123069 0 -0.00431156 -0.0115584 -0.039608 0.999139 uwb: 0.0 844.348 750.903 -imu_odom_: 1691062426.27157950 0.677559 -0.217872 9.79468 -0.0511327 -0.0191748 -0.0543285 0.06 -0.08 pose: 0.40192659 2.45551 0.123069 0 -0.00530623 -0.0131353 -0.0416895 0.99903 uwb: 0.0 844.348 750.903 -imu_odom_: 1691062426.44861614 0.706289 -0.169988 9.94551 -0.0553937 0 -0.0351537 0.06 -0.08 pose: 0.0 2.45551 0.123069 0 -0.00530623 -0.0131353 -0.0416895 0.99903 uwb: 0.49970136 844.864 750.276 -imu_odom_: 1691062426.68991335 0.679953 -0.318429 9.85932 -0.0553937 -0.015979 -0.0447411 0.04 -0.08 pose: 0.25899330 2.45551 0.123069 0 -0.00276034 -0.0139216 -0.0428547 0.998981 uwb: 0.0 844.864 750.276 -imu_odom_: 1691062426.92835551 -0.316035 -0.0766145 9.59357 -0.0415453 0.108657 -0.0777643 0.04 -0.05 pose: 0.0 2.45551 0.123069 0 -0.00276034 -0.0139216 -0.0428547 0.998981 uwb: 0.49999596 845.559 748.959 -imu_odom_: 1691062426.116845121 -1.39103 -0.418985 10.1993 -0.0756338 -0.0266316 0.0106526 0.04 -0.05 pose: 0.40983285 2.45551 0.123069 0 -0.00404269 -0.0129753 -0.0446492 0.99891 uwb: 0.0 845.559 748.959 -imu_odom_: 1691062426.141824651 0.600945 -0.289698 10.0676 -0.04048 -0.109722 -0.00958738 0.09 -0.05 pose: 0.39838056 2.4655 0.123576 0 -0.00380121 -0.00841714 -0.0459195 0.998902 uwb: 0.49989390 844.58 748.843 -imu_odom_: 1691062426.163823436 0.486023 0.102951 9.36133 -0.0692422 0.0117179 0.00852212 0.09 -0.02 pose: 0.0 2.4655 0.123576 0 -0.00380121 -0.00841714 -0.0459195 0.998902 uwb: 0.0 844.58 748.843 -imu_odom_: 1691062426.178824568 -0.0023942 -0.349553 9.95509 -0.0649811 0.0511327 0.0191748 0.09 -0.02 pose: 0.7188961 2.4655 0.123576 0 -0.00398112 -0.00948495 -0.0460946 0.998884 uwb: 0.0 844.58 748.843 -imu_odom_: 1691062426.202875550 -0.172383 -0.304064 9.73243 -0.056459 -0.0234358 -0.0330232 0.09 -0.02 pose: 0.0 2.4655 0.123576 0 -0.00398112 -0.00948495 -0.0460946 0.998884 uwb: 0.50065213 844.282 748.362 -imu_odom_: 1691062426.227854497 0.632069 -0.395043 9.92636 -0.0820254 -0.02024 0.0330232 0.13 -0.05 pose: 0.23829926 2.4655 0.123576 0 -0.00388897 -0.0118932 -0.0466284 0.998834 uwb: 0.0 844.282 748.362 -imu_odom_: 1691062426.241856507 0.586579 -0.205901 9.43555 -0.0649811 0.0447411 -0.00426106 0.13 -0.05 pose: 0.0 2.4655 0.123576 0 -0.00388897 -0.0118932 -0.0466284 0.998834 uwb: 0.0 844.282 748.362 -imu_odom_: 1691062426.264837208 0.047884 -0.220267 9.51935 -0.0490022 -0.0138484 0 0.12 0 pose: 0.62063145 2.47548 0.124057 0 -0.00343661 -0.00759392 -0.0479303 0.998816 uwb: 0.49977724 845.135 747.283 -imu_odom_: 1691062426.288828697 0.3304 -0.294487 10.2448 -0.0340885 0.00745685 -0.00745685 0.12 0 pose: 0.0 2.47548 0.124057 0 -0.00343661 -0.00759392 -0.0479303 0.998816 uwb: 0.0 845.135 747.283 -imu_odom_: 1691062426.314818723 0.265756 -0.134075 10.0509 -0.056459 -0.0234358 0.0138484 0.18 -0.02 pose: 0.63120593 2.47602 0.114072 0 -0.00340823 -0.00557736 -0.0489416 0.99878 uwb: 0.49812954 843.736 747.48 -imu_odom_: 1691062426.328812568 0.177171 -0.438139 9.67736 -0.0490022 0.00639159 0.00106526 0.18 -0.02 pose: 0.0 2.47602 0.114072 0 -0.00340823 -0.00557736 -0.0489416 0.99878 uwb: 0.0 843.736 747.48 -imu_odom_: 1691062426.345851900 -0.047884 -0.114922 9.66539 -0.0596548 -0.00639159 0.00213053 0.14 -0.02 pose: 0.55764822 2.48601 0.11459 0 -0.00249225 -0.000808918-0.0499044 0.998751 uwb: 0.50012428 844.717 746.102 -imu_odom_: 1691062426.369812476 0.0167594 -0.169988 10.0892 -0.0543285 -0.0436758 0.0138484 0.14 -0.02 pose: 0.7019523 2.48601 0.11459 0 -0.00226502 -0.000157283-0.0500343 0.998745 uwb: 0.0 844.717 746.102 -imu_odom_: 1691062426.386805147 0.138864 -0.225055 10.2017 -0.0436758 -0.0106526 0.00213053 0.17 -0.05 pose: 0.0 2.48601 0.11459 0 -0.00226502 -0.000157283-0.0500343 0.998745 uwb: 0.0 844.717 746.102 -imu_odom_: 1691062426.401873938 0.407014 -0.205901 10.0724 -0.04048 -0.0181095 0.00639159 0.17 -0.05 pose: 0.42159719 2.496 0.115089 0 -0.00115002 0.0033906 -0.0506731 0.998709 uwb: 0.49976266 845.519 745.42 -imu_odom_: 1691062426.424822851 0.430956 -0.387861 9.65582 -0.0447411 -0.0106526 0.0127832 0.17 -0.05 pose: 0.0 2.496 0.115089 0 -0.00115002 0.0033906 -0.0506731 0.998709 uwb: 0.0 845.519 745.42 -imu_odom_: 1691062426.451010019 0.45011 -0.287304 9.54568 -0.0319579 0.0181095 0 0.19 -0.05 pose: 0.31834866 2.496 0.115089 0 -0.00111196 0.00234825 -0.0511949 0.998685 uwb: 0.49994930 845.472 744.842 -imu_odom_: 1691062426.474777829 0.581791 -0.21069 9.92875 -0.0490022 0.00213053 0.0223706 0.15 -0.02 pose: 0.41183343 2.50599 0.115564 0 -0.00304973 -0.000455469-0.0519259 0.998646 uwb: 0.0 845.472 744.842 -imu_odom_: 1691062426.500791769 0.0430956 -0.294487 9.56723 -0.0426106 0.00745685 0.0106526 0.15 -0.02 pose: 0.0 2.50599 0.115564 0 -0.00304973 -0.000455469-0.0519259 0.998646 uwb: 0.50006596 846.357 743.786 -imu_odom_: 1691062426.523847710 0.811634 -0.351948 10.0437 -0.056459 -0.00106526 0.0191748 0.15 -0.05 pose: 0.7873999 2.50599 0.115564 0 -0.00278235 -0.00118245 -0.0519961 0.998643 uwb: 0.0 846.357 743.786 -imu_odom_: 1691062426.539788474 0.440533 -0.426168 9.4978 -0.0490022 0.0447411 0.0213053 0.15 -0.05 pose: 0.0 2.50599 0.115564 0 -0.00278235 -0.00118245 -0.0519961 0.998643 uwb: 0.0 846.357 743.786 -imu_odom_: 1691062426.563768297 0.201113 -0.246603 9.73004 -0.0628506 -0.0117179 0.0340885 0.22 -0.02 pose: 0.48924066 2.51597 0.116024 0 -0.00238113 -0.000569246-0.0525802 0.998614 uwb: 0.0 846.357 743.786 -imu_odom_: 1691062426.579777302 0.811634 -0.129287 10.0916 -0.052198 -0.0372843 0.0138484 0.22 -0.02 pose: 0.0 2.51597 0.116024 0 -0.00238113 -0.000569246-0.0525802 0.998614 uwb: 0.0 846.357 743.786 -imu_odom_: 1691062426.595834717 0.608127 -0.282516 10.0078 -0.0649811 -0.0223706 0.02024 0.22 -0.02 pose: 0.0 2.51597 0.116024 0 -0.00238113 -0.000569246-0.0525802 0.998614 uwb: 0.100091931 847.164 742.591 -imu_odom_: 1691062426.621885403 1.01754 -0.277727 10.0987 -0.0479369 -0.0458064 0.0106526 0.16 -0.02 pose: 0.77965413 2.52596 0.116569 0 -0.00338924 -0.00177988 -0.0532158 0.998576 uwb: 0.0 847.164 742.591 -imu_odom_: 1691062426.645772780 1.24259 -0.258574 10.0987 -0.0500674 -0.0245011 0.036219 0.17 0 pose: 0.36111906 2.53595 0.117104 0 -0.00356763 -0.00602534 -0.053698 0.998533 uwb: 0.50132580 847.242 741.695 -imu_odom_: 1691062426.668809182 0.196325 -0.246603 9.69173 -0.0660464 -0.0234358 0.0308927 0.17 0 pose: 0.0 2.53595 0.117104 0 -0.00356763 -0.00602534 -0.053698 0.998533 uwb: 0.0 847.242 741.695 -imu_odom_: 1691062426.693752842 0.351948 -0.047884 9.91199 -0.0553937 -0.0170442 0.036219 0.23 0 pose: 0.7920367 2.53595 0.117104 0 -0.00357047 -0.00689937 -0.0537133 0.998526 uwb: 0.49964892 846.325 741.691 -imu_odom_: 1691062426.715797703 0.237026 -0.131681 10.149 -0.0490022 0.0181095 0.02024 0.23 0 pose: 0.0 2.53595 0.117104 0 -0.00357047 -0.00689937 -0.0537133 0.998526 uwb: 0.0 846.325 741.691 -imu_odom_: 1691062426.731740217 0.356736 -0.31364 9.29429 -0.0596548 0.0149137 0.0394148 0.16 -0.02 pose: 0.47006602 2.54646 0.107642 0 -0.00277288 -0.00617164 -0.0538558 0.998526 uwb: 0.0 846.325 741.691 -imu_odom_: 1691062426.754792367 0.323217 -0.509965 9.94551 -0.0628506 -0.0340885 0.0415453 0.16 -0.02 pose: 0.0 2.54646 0.107642 0 -0.00277288 -0.00617164 -0.0538558 0.998526 uwb: 0.49950603 847.596 740.229 -imu_odom_: 1691062426.777796690 0.380678 -0.244209 9.93354 -0.0532632 0.0234358 0.0298274 0.23 0 pose: 0.77979995 2.55644 0.108163 0 -0.00363701 -0.000969841-0.0540752 0.99853 uwb: 0.0 847.596 740.229 -imu_odom_: 1691062426.800748811 0.775721 -0.40462 9.60793 -0.056459 0.0181095 0.0415453 0.23 0 pose: 0.0 2.55644 0.108163 0 -0.00363701 -0.000969841-0.0540752 0.99853 uwb: 0.49992306 848.831 738.691 -imu_odom_: 1691062426.817743232 0.481235 -0.172383 10.1897 -0.0458064 0.0170442 0.0213053 0.23 0 pose: 0.0 2.55644 0.108163 0 -0.00363701 -0.000969841-0.0540752 0.99853 uwb: 0.0 848.831 738.691 -imu_odom_: 1691062426.842746384 0.287304 -0.0790087 10.1658 -0.0575243 -0.02024 0.0436758 0.23 -0.02 pose: 0.54059955 2.56643 0.10868 0 -0.00219336 -0.00122129 -0.0542432 0.998525 uwb: 0.50002512 847.718 738.874 -imu_odom_: 1691062426.867754785 0.577003 -0.059855 10.4603 -0.0735032 0.00106526 0.0266316 0.19 0 pose: 0.33894062 2.57642 0.109194 0 0.000490162 -0.000215428-0.0542763 0.998526 uwb: 0.0 847.718 738.874 -imu_odom_: 1691062426.891814807 0.605733 -0.0933739 10.0054 -0.0798948 -0.00745685 0.0372843 0.19 0 pose: 0.8033811 2.57642 0.109194 0 0.000905187 -0.000830331-0.054328 0.998522 uwb: 0.49940979 846.329 739.115 -imu_odom_: 1691062426.915860248 0.423774 -0.270545 9.43315 -0.056459 0.00639159 0.015979 0.18 0 pose: 0.41034612 2.58319 0.109542 0 0.00247072 -0.00434927 -0.0544631 0.998503 uwb: 0.0 846.329 739.115 -imu_odom_: 1691062426.931911539 0.725443 -0.387861 10.3022 -0.0617853 -0.00106526 0.0330232 0.18 0 pose: 0.0 2.58319 0.109542 0 0.00247072 -0.00434927 -0.0544631 0.998503 uwb: 0.0 846.329 739.115 -imu_odom_: 1691062426.947769480 0.459687 -0.363919 9.61511 -0.076699 -0.0181095 0.0351537 0.18 0 pose: 0.0 2.58319 0.109542 0 0.00247072 -0.00434927 -0.0544631 0.998503 uwb: 0.50091169 846.439 738.257 -imu_odom_: 1691062426.970888121 0.411803 -0.471658 9.82102 -0.0426106 0.00106526 0.0415453 0.17 0 pose: 0.48032556 2.59639 0.110212 0 -0.00148819 -0.00406735 -0.0548043 0.998488 uwb: 0.0 846.439 738.257 -imu_odom_: 1691062426.995737293 0.385466 -0.198719 9.66539 -0.0468716 -0.0149137 0.0351537 0.24 0 pose: 0.0 2.59639 0.110212 0 -0.00148819 -0.00406735 -0.0548043 0.998488 uwb: 0.49714382 846.963 737.05 -imu_odom_: 1691062427.18874024 0.198719 -0.246603 9.79228 -0.0479369 0.0181095 0.0383495 0.24 0 pose: 0.38943919 2.59639 0.110212 0 -0.00369179 -0.00262491 -0.0548022 0.998487 uwb: 0.0 846.963 737.05 -imu_odom_: 1691062427.43774536 0.241814 -0.42138 9.56244 -0.0596548 0.0383495 0.0319579 0.18 0 pose: 0.40082742 2.60688 0.100728 0 -0.00194577 0.00085495 -0.054849 0.998492 uwb: 0.49896090 846.979 736.55 -imu_odom_: 1691062427.60726389 0.0191536 -0.0814029 10.137 -0.04048 -0.02024 0.036219 0.18 0 pose: 0.7891792 2.60688 0.100728 0 -0.00251971 0.00157376 -0.0548786 0.998489 uwb: 0.0 846.979 736.55 -imu_odom_: 1691062427.84773301 0.19393 -0.37589 9.54089 -0.052198 -0.0127832 0.0447411 0.18 0 pose: 0.0 2.60688 0.100728 0 -0.00251971 0.00157376 -0.0548786 0.998489 uwb: 0.0 846.979 736.55 -imu_odom_: 1691062427.101775313 0.761356 -0.251391 9.99579 -0.0543285 0.00426106 0.036219 0.18 0 pose: 0.41997888 2.61687 0.101229 0 -0.00310258 0.00496237 -0.0549417 0.998472 uwb: 0.50069907 846.66 736 -imu_odom_: 1691062427.126773813 0.687136 -0.160412 10.3214 -0.0756338 0.0106526 0.052198 0.17 0.02 pose: 0.0 2.61687 0.101229 0 -0.00310258 0.00496237 -0.0549417 0.998472 uwb: 0.0 846.66 736 -imu_odom_: 1691062427.149824518 0.938527 -0.205901 9.87608 -0.056459 0.0106526 0.0266316 0.17 0.02 pose: 0.40988266 2.62686 0.101729 0 -0.00377391 0.00386 -0.0548881 0.998478 uwb: 0.50061158 846.536 735.255 -imu_odom_: 1691062427.174763234 0.873884 -0.414197 9.92397 -0.0703074 -0.0266316 0.0394148 0.24 -0.02 pose: 0.0 2.62686 0.101729 0 -0.00377391 0.00386 -0.0548881 0.998478 uwb: 0.0 846.536 735.255 -imu_odom_: 1691062427.197697870 0.943315 -0.232238 9.49062 -0.0511327 0.0181095 0.0308927 0.24 -0.02 pose: 0.47969589 2.62686 0.101729 0 -0.00357333 -0.000587612-0.054945 0.998483 uwb: 0.49982709 846.448 734.57 -imu_odom_: 1691062427.213764918 0.354342 -0.392649 10.4627 -0.0596548 0.0330232 0.0447411 0.18 0 pose: 0.0 2.62686 0.101729 0 -0.00357333 -0.000587612-0.054945 0.998483 uwb: 0.0 846.448 734.57 -imu_odom_: 1691062427.238885610 0.476446 -0.201113 10.1849 -0.0681769 0.0383495 0.0394148 0.18 0 pose: 0.48040456 2.63684 0.10223 0 -0.00448456 -0.00357536 -0.0550364 0.998468 uwb: 0.0 846.448 734.57 -imu_odom_: 1691062427.254744434 0.433351 -0.356736 9.89524 -0.0468716 -0.00213053 0.0500674 0.18 0.02 pose: 0.0 2.63684 0.10223 0 -0.00448456 -0.00357536 -0.0550364 0.998468 uwb: 0.49991750 845.677 734.309 -imu_odom_: 1691062427.280670900 0.531513 -0.174777 9.70609 -0.0500674 -0.00852212 0.0351537 0.18 0.02 pose: 0.40957644 2.64683 0.102729 0 -0.00327784 -0.00238813 -0.0549826 0.998479 uwb: 0.0 845.677 734.309 -imu_odom_: 1691062427.304705855 0.577003 -0.311246 9.86411 -0.052198 -0.0138484 0.0447411 0.18 0 pose: 0.0 2.64683 0.102729 0 -0.00327784 -0.00238813 -0.0549826 0.998479 uwb: 0.50001666 845.925 733.13 -imu_odom_: 1691062427.327748103 0.318429 -0.222661 9.86411 -0.0553937 -0.0255663 0.0383495 0.18 0 pose: 0.40988266 2.65682 0.103228 0 -0.00233739 -0.00444448 -0.0549867 0.998474 uwb: 0.0 845.925 733.13 -imu_odom_: 1691062427.350734066 0.325611 -0.392649 9.92157 -0.072438 -0.0234358 0.0596548 0.25 0 pose: 0.40040178 2.66396 0.0935732 0 -0.00265753 -0.00393975 -0.0549516 0.998478 uwb: 0.50118026 846.845 731.489 -imu_odom_: 1691062427.367832025 0.859518 -0.308852 10.1849 -0.0617853 -0.015979 0.0383495 0.25 0 pose: 0.0 2.66396 0.0935732 0 -0.00265753 -0.00393975 -0.0549516 0.998478 uwb: 0.0 846.845 731.489 -imu_odom_: 1691062427.392696666 0.895431 -0.222661 10.3142 -0.076699 -0.00426106 0.0575243 0.18 0.02 pose: 0.40083922 2.6726 0.0940071 0 -0.00443477 -0.00409988 -0.054728 0.998483 uwb: 0.49992625 846.589 731.038 -imu_odom_: 1691062427.417796653 0.550666 -0.117316 10.1251 -0.0671117 -0.0287621 0.0351537 0.18 0.02 pose: 0.0 2.6726 0.0940071 0 -0.00443477 -0.00409988 -0.054728 0.998483 uwb: 0.0 846.589 731.038 -imu_odom_: 1691062427.440661881 0.392649 -0.258574 9.84496 -0.0532632 0.00958738 0.036219 0.18 0 pose: 0.49964628 2.67729 0.0942441 0 -0.00203337 -0.00715257 -0.054591 0.998481 uwb: 0.0 846.589 731.038 -imu_odom_: 1691062427.455666522 0.620098 -0.282516 10.1993 -0.0681769 0.0106526 0.0383495 0.18 0 pose: 0.0 2.67729 0.0942441 0 -0.00203337 -0.00715257 -0.054591 0.998481 uwb: 0.49967836 846.462 730.27 -imu_odom_: 1691062427.481721596 0.557849 -0.201113 10.3908 -0.0628506 -0.0213053 0.0330232 0.23 0 pose: 0.37869869 2.68728 0.0947516 0 -0.00260875 -0.00602104 -0.0546354 0.998485 uwb: 0.0 846.462 730.27 -imu_odom_: 1691062427.505741678 0.265756 -0.023942 9.9503 -0.056459 0 0.0330232 0.23 0 pose: 0.0 2.68728 0.0947516 0 -0.00260875 -0.00602104 -0.0546354 0.998485 uwb: 0.50021205 845.9 729.831 -imu_odom_: 1691062427.521803185 0.380678 -0.366313 9.84256 -0.0500674 -0.02024 0.0351537 0.18 0.02 pose: 0.0 2.68728 0.0947516 0 -0.00260875 -0.00602104 -0.0546354 0.998485 uwb: 0.0 845.9 729.831 -imu_odom_: 1691062427.546645663 0.593762 -0.268151 9.8282 -0.04048 -0.0213053 0.0298274 0.18 0.02 pose: 0.50075156 2.69408 0.0950963 0 0.00101556 -0.00549899 -0.0548269 0.99848 uwb: 0.49866057 846.248 728.793 -imu_odom_: 1691062427.570643873 0.54109 -0.25618 9.75398 -0.0372843 -0.0234358 0.0319579 0.18 -0.02 pose: 0.40903985 2.7043 0.0956103 0 -0.00132613 -0.00695642 -0.0549705 0.998463 uwb: 0.0 846.248 728.793 -imu_odom_: 1691062427.585696341 0.792481 0.023942 9.85214 -0.0500674 -0.00532632 0.0394148 0.18 -0.02 pose: 0.0 2.7043 0.0956103 0 -0.00132613 -0.00695642 -0.0549705 0.998463 uwb: 0.0 846.248 728.793 -imu_odom_: 1691062427.611697755 0.536301 -0.356736 9.97664 -0.0532632 0.0106526 0.0383495 0.25 -0.02 pose: 0.39050678 2.71225 0.0960081 0 -0.00236331 -0.00836037 -0.0550556 0.998445 uwb: 0.50071657 845.894 728.722 -imu_odom_: 1691062427.625697440 0.502782 -0.572214 9.19134 -0.0777643 -0.00106526 0.0500674 0.25 -0.02 pose: 0.0 2.71225 0.0960081 0 -0.00236331 -0.00836037 -0.0550556 0.998445 uwb: 0.0 845.894 728.722 -imu_odom_: 1691062427.641751073 0.203507 -0.117316 9.89524 -0.0468716 0.015979 0.0415453 0.25 -0.02 pose: 0.0 2.71225 0.0960081 0 -0.00236331 -0.00836037 -0.0550556 0.998445 uwb: 0.49933716 845.067 728.922 -imu_odom_: 1691062427.663649549 0.438139 -0.260968 10.2089 -0.0511327 -0.0276969 0.0553937 0.18 0 pose: 0.47101700 2.71774 0.0862696 0 -0.00584351 -0.00628964 -0.0549585 0.998452 uwb: 0.0 845.067 728.922 -imu_odom_: 1691062427.676690647 0.385466 -0.507571 9.37569 -0.072438 -0.00319579 0.0479369 0.18 0 pose: 0.0 2.71774 0.0862696 0 -0.00584351 -0.00628964 -0.0549585 0.998452 uwb: 0.0 845.067 728.922 -imu_odom_: 1691062427.700699938 0.557849 -0.349553 9.8282 -0.0394148 -0.0170442 0.0330232 0.18 0.02 pose: 0.43892606 2.72773 0.0867703 0 -0.00522266 -0.00338616 -0.0547126 0.998483 uwb: 0.50005457 845.261 728.161 -imu_odom_: 1691062427.726804006 0.356736 -0.0861913 10.0628 -0.04048 0.00639159 0.036219 0.18 0.02 pose: 0.8086892 2.72773 0.0867703 0 -0.00553051 -0.00416123 -0.0547408 0.998477 uwb: 0.0 845.261 728.161 -imu_odom_: 1691062427.750780052 0.447716 -0.251391 10.477 -0.0468716 0.0394148 0.0479369 0.19 0 pose: 0.42026467 2.73772 0.0872752 0 -0.0036963 -0.00421033 -0.0548452 0.998479 uwb: 0.50077197 844.603 727.559 -imu_odom_: 1691062427.767689910 0.0766145 -0.505177 9.72764 -0.0553937 -0.0106526 0.0447411 0.19 0 pose: 0.0 2.73772 0.0872752 0 -0.0036963 -0.00421033 -0.0548452 0.998479 uwb: 0.0 844.603 727.559 -imu_odom_: 1691062427.792669745 0.181959 -0.114922 9.80904 -0.0436758 -0.0585895 0.056459 0.18 -0.02 pose: 0.40885904 2.7477 0.0877784 0 -0.00291906 -0.000465631-0.0546986 0.998499 uwb: 0.49937799 843.632 727.518 -imu_odom_: 1691062427.815615464 0.462081 -0.272939 9.22007 -0.056459 -0.0447411 0.0436758 0.18 -0.02 pose: 0.0 2.7477 0.0877784 0 -0.00291906 -0.000465631-0.0546986 0.998499 uwb: 0.0 843.632 727.518 -imu_odom_: 1691062427.832613102 0.4956 0.220267 10.2352 -0.0426106 0.0276969 0.0500674 0.25 -0.02 pose: 0.47925554 2.75435 0.0881177 0 -0.00242052 -0.0016435 -0.054437 0.998513 uwb: 0.0 843.632 727.518 -imu_odom_: 1691062427.857619476 0.430956 -0.296881 9.79707 -0.0553937 0.00213053 0.04048 0.25 -0.02 pose: 0.0 2.75435 0.0881177 0 -0.00242052 -0.0016435 -0.054437 0.998513 uwb: 0.49952963 844.462 726.203 -imu_odom_: 1691062427.883683590 0.00718261 -0.114922 10.1801 -0.0649811 0.0415453 0.0543285 0.23 0.02 pose: 0.42004012 2.76434 0.0886289 0 -0.00310172 -0.00127705 -0.0543363 0.998517 uwb: 0.0 844.462 726.203 -imu_odom_: 1691062427.907612975 0.162806 -0.213084 10.4244 -0.0553937 0.0298274 0.0319579 0.23 0.02 pose: 0.8008443 2.76768 0.0888002 0 -0.00280641 -0.000358127-0.0542761 0.998522 uwb: 0.49986209 845.792 724.641 -imu_odom_: 1691062427.923676232 0.35913 -0.153229 9.92636 -0.0511327 -0.0479369 0.0415453 0.19 -0.02 pose: 0.25044286 2.76768 0.0888002 0 -0.00194158 0.00250443 -0.0541654 0.998527 uwb: 0.0 845.792 724.641 -imu_odom_: 1691062427.939607381 0.627281 0.0167594 9.68215 -0.0681769 -0.00852212 0.056459 0.19 -0.02 pose: 0.0 2.76768 0.0888002 0 -0.00194158 0.00250443 -0.0541654 0.998527 uwb: 0.0 845.792 724.641 -imu_odom_: 1691062427.962591594 0.500388 -0.134075 10.2089 -0.0553937 0.00106526 0.0308927 0.23 -0.02 pose: 0.24020082 2.77766 0.0893157 0 -0.0008189620.0039494 -0.0542166 0.998521 uwb: 0.50045410 846.193 723.662 -imu_odom_: 1691062427.985791613 0.723049 0.0023942 10.963 -0.0500674 -0.00639159 0.04048 0.23 -0.02 pose: 0.0 2.77766 0.0893157 0 -0.0008189620.0039494 -0.0542166 0.998521 uwb: 0.0 846.193 723.662 -imu_odom_: 1691062428.11644301 0.924162 0.0311246 10.0509 -0.04048 -0.0351537 0.0266316 0.25 0 pose: 0.31917998 2.77766 0.0893157 0 0.00109538 0.00140502 -0.0540965 0.998534 uwb: 0.49997875 846.183 723.075 -imu_odom_: 1691062428.35625901 0.600945 -0.25618 9.91199 -0.0468716 -0.0149137 0.0415453 0.25 0 pose: 0.0 2.77766 0.0893157 0 0.00109538 0.00140502 -0.0540965 0.998534 uwb: 0.0 846.183 723.075 -imu_odom_: 1691062428.51606635 0.172383 -0.189142 9.50977 -0.0511327 0.0117179 0.0426106 0.17 0.02 pose: 0.47028501 2.78765 0.089833 0 0.00308613 -0.00301458 -0.0541984 0.998521 uwb: 0.50072844 846.532 721.993 -imu_odom_: 1691062428.76585609 0.42138 -0.347159 10.0221 -0.0532632 -0.0245011 0.0617853 0.17 0.02 pose: 0.0 2.78765 0.089833 0 0.00308613 -0.00301458 -0.0541984 0.998521 uwb: 0.0 846.532 721.993 -imu_odom_: 1691062428.100623494 0.225055 -0.354342 10.0389 -0.04048 0.0340885 0.0394148 0.21 0 pose: 0.48986232 2.79764 0.0903481 0 0.00198156 -0.0058527 -0.0542633 0.998508 uwb: 0.49879500 847.13 720.777 -imu_odom_: 1691062428.123645340 0.351948 -0.579397 9.663 -0.0671117 0.0468716 0.0500674 0.21 0 pose: 0.0 2.79764 0.0903481 0 0.00198156 -0.0058527 -0.0542633 0.998508 uwb: 0.0 847.13 720.777 -imu_odom_: 1691062428.138620826 0.361524 -0.354342 9.81623 -0.052198 0.0394148 0.0383495 0.18 0 pose: 0.40979247 2.80762 0.0908636 0 -0.000461481-0.0032629 -0.0539658 0.998537 uwb: 0.0 847.13 720.777 -imu_odom_: 1691062428.163703329 0.555455 -0.512359 9.46188 -0.0596548 -0.0383495 0.0490022 0.18 0 pose: 0.0 2.80762 0.0908636 0 -0.000461481-0.0032629 -0.0539658 0.998537 uwb: 0.0 847.13 720.777 -imu_odom_: 1691062428.187632144 0.189142 -0.0383072 9.47146 -0.0479369 -0.0127832 0.0468716 0.18 0 pose: 0.47013654 2.81761 0.0913843 0 -0.00390944 0.000386767 -0.0538431 0.998542 uwb: 0.0 847.13 720.777 -imu_odom_: 1691062428.210638242 0.167594 -0.234632 9.69652 -0.0692422 -0.0671117 0.0553937 0.18 0 pose: 0.0 2.81761 0.0913843 0 -0.00390944 0.000386767 -0.0538431 0.998542 uwb: 0.99983555 847.313 719.952 -imu_odom_: 1691062428.227566773 1.0319 -0.150835 10.24 -0.052198 -0.0234358 0.0330232 0.21 0 pose: 0.39973707 2.81761 0.0913843 0 -0.00607832 -0.000471424-0.0537075 0.998538 uwb: 0.0 847.313 719.952 -imu_odom_: 1691062428.251561205 0.720655 -0.464475 9.64384 -0.0639159 0.00639159 0.0394148 0.21 0 pose: 0.0 2.81761 0.0913843 0 -0.00607832 -0.000471424-0.0537075 0.998538 uwb: 0.49973113 847.442 719.024 -imu_odom_: 1691062428.277558551 0.112527 -0.471658 9.55287 -0.0585895 0.036219 0.0436758 0.21 0.02 pose: 0.47020653 2.8276 0.0919095 0 -0.00392812 0.00113186 -0.0534699 0.998561 uwb: 0.0 847.442 719.024 -imu_odom_: 1691062428.300625016 0.0861913 -0.160412 9.62948 -0.0681769 0.00106526 0.0394148 0.21 0.02 pose: 0.41987995 2.83758 0.0924393 0 -0.00546109 -0.000933847-0.0534956 0.998553 uwb: 0.50042521 848.751 717.329 -imu_odom_: 1691062428.316550632 0.35913 -0.306458 9.81383 -0.072438 0.00639159 0.0479369 0.18 0 pose: 0.41024742 2.8481 0.0829827 0 -0.0050683 0.00309415 -0.0534397 0.998553 uwb: 0.0 848.751 717.329 -imu_odom_: 1691062428.339606016 0.301669 -0.47884 10.252 -0.056459 -0.0117179 0.04048 0.18 0 pose: 0.0 2.8481 0.0829827 0 -0.0050683 0.00309415 -0.0534397 0.998553 uwb: 0.0 848.751 717.329 -imu_odom_: 1691062428.354694071 0.462081 -0.11971 9.90481 -0.0468716 -0.0138484 0.0394148 0.19 0 pose: 0.6965871 2.8481 0.0829827 0 -0.0046904 0.00259009 -0.0534123 0.998558 uwb: 0.49948033 848.731 716.699 -imu_odom_: 1691062428.381670710 0.797269 -0.184354 10.0197 -0.0500674 -0.0298274 0.0490022 0.19 0 pose: 0.0 2.8481 0.0829827 0 -0.0046904 0.00259009 -0.0534123 0.998558 uwb: 0.0 848.731 716.699 -imu_odom_: 1691062428.406535948 0.799663 -0.071826 9.89524 -0.0511327 0.0149137 0.0447411 0.19 0 pose: 0.39134689 2.85808 0.0835143 0 -0.00568125 0.00240544 -0.0533668 0.998556 uwb: 0.50049521 848.431 716.138 -imu_odom_: 1691062428.429523090 0.732626 -0.234632 9.78989 -0.0681769 0.0127832 0.0436758 0.19 0 pose: 0.0 2.85808 0.0835143 0 -0.00568125 0.00240544 -0.0533668 0.998556 uwb: 0.0 848.431 716.138 -imu_odom_: 1691062428.452527439 0.656011 -0.191536 9.80904 -0.0543285 0.00639159 0.0415453 0.25 0 pose: 0.82797514 2.86807 0.0840467 0 -0.00297509 -0.00504253 -0.0531599 0.998569 uwb: 0.50192418 849.071 714.944 -imu_odom_: 1691062428.468524504 0.474052 -0.306458 10.1179 -0.0713727 0.00213053 0.0649811 0.25 0 pose: 0.7020115 2.86807 0.0840467 0 -0.00269104 -0.00565101 -0.0531562 0.998567 uwb: 0.0 849.071 714.944 -imu_odom_: 1691062428.494530599 0.730232 -0.220267 10.0796 -0.0681769 0.00745685 0.036219 0.18 0.02 pose: 0.0 2.86807 0.0840467 0 -0.00269104 -0.00565101 -0.0531562 0.998567 uwb: 0.49862003 849.357 713.674 -imu_odom_: 1691062428.519529987 0.227449 -0.476446 10.2208 -0.0447411 -0.00532632 0.0308927 0.18 0.02 pose: 0.31981299 2.87806 0.0845831 0 -0.00311469 -0.00568533 -0.0529371 0.998577 uwb: 0.0 849.357 713.674 -imu_odom_: 1691062428.534661204 0.215478 -0.102951 9.74679 -0.0447411 0.00319579 0.0426106 0.2 -0.02 pose: 0.0 2.87806 0.0845831 0 -0.00311469 -0.00568533 -0.0529371 0.998577 uwb: 0.0 849.357 713.674 -imu_odom_: 1691062428.559529358 0.335188 -0.138864 10.3525 -0.0543285 -0.0319579 0.0436758 0.2 -0.02 pose: 0.57091799 2.88804 0.0851235 0 -0.00351148 -0.00539106 -0.0530749 0.99857 uwb: 0.49872500 850.501 712.199 -imu_odom_: 1691062428.582534873 0.514753 -0.138864 10.2855 -0.0617853 -0.0319579 0.0383495 0.18 -0.02 pose: 0.0 2.88804 0.0851235 0 -0.00351148 -0.00539106 -0.0530749 0.99857 uwb: 0.0 850.501 712.199 -imu_odom_: 1691062428.608513263 0.509965 -0.248997 10.3166 -0.0575243 -0.0255663 0.0394148 0.18 -0.02 pose: 0.7015741 2.89803 0.0856619 0 -0.00072962 -0.00351989 -0.0530187 0.998587 uwb: 0.49860836 850.197 711.614 -imu_odom_: 1691062428.632524901 1.00556 -0.258574 10.2041 -0.0340885 -0.00213053 0.0351537 0.23 0 pose: 0.41968164 2.90571 0.0760619 0 -0.00195361 -0.00540368 -0.053024 0.998577 uwb: 0.0 850.197 711.614 -imu_odom_: 1691062428.648515551 0.462081 -0.260968 9.73961 -0.036219 0.00639159 0.0383495 0.23 0 pose: 0.0 2.90571 0.0760619 0 -0.00195361 -0.00540368 -0.053024 0.998577 uwb: 0.50055645 850.564 710.469 -imu_odom_: 1691062428.674519312 0.411803 -0.3304 9.70609 -0.0500674 0.036219 0.036219 0.18 -0.02 pose: 0.40002288 2.90855 0.0762151 0 -0.00194312 -0.00612678 -0.0530832 0.998569 uwb: 0.0 850.564 710.469 -imu_odom_: 1691062428.699494204 0.4956 -0.533907 9.65821 -0.0692422 -0.0308927 0.0426106 0.18 -0.02 pose: 0.0 2.90855 0.0762151 0 -0.00194312 -0.00612678 -0.0530832 0.998569 uwb: 0.50113387 851.494 708.537 -imu_odom_: 1691062428.723504967 0.553061 -0.474052 9.69652 -0.0575243 0.0223706 0.0490022 0.21 -0.02 pose: 0.50978653 2.91854 0.0767527 0 -0.00600698 -0.00386992 -0.0530673 0.998565 uwb: 0.0 851.494 708.537 -imu_odom_: 1691062428.739561233 0.488417 -0.268151 10.4722 -0.0468716 -0.0223706 0.052198 0.21 -0.02 pose: 0.0 2.91854 0.0767527 0 -0.00600698 -0.00386992 -0.0530673 0.998565 uwb: 0.0 851.494 708.537 -imu_odom_: 1691062428.764514835 0.730232 -0.342371 10.3813 -0.0490022 0.0213053 0.0255663 0.18 -0.02 pose: 0.40067029 2.92852 0.0772918 0 -0.00658253 -0.00446207 -0.0528562 0.99857 uwb: 0.50000526 851.576 707.438 -imu_odom_: 1691062428.787534057 0.651223 -0.332794 9.70609 -0.056459 -0.0490022 0.0340885 0.18 -0.02 pose: 0.6968788 2.92852 0.0772918 0 -0.00658515 -0.00507183 -0.0529097 0.998565 uwb: 0.0 851.576 707.438 -imu_odom_: 1691062428.812636682 0.42138 -0.28491 9.54568 -0.0351537 0.0234358 0.0426106 0.19 0 pose: 0.24116041 2.93851 0.0778335 0 -0.00662779 -0.00739517 -0.0530672 0.998542 uwb: 0.50124761 852.12 706.609 -imu_odom_: 1691062428.828557049 0.0933739 -0.19393 10.0533 -0.052198 -0.0255663 0.0479369 0.19 0 pose: 0.0 2.93851 0.0778335 0 -0.00662779 -0.00739517 -0.0530672 0.998542 uwb: 0.0 852.12 706.609 -imu_odom_: 1691062428.853494320 0.325611 -0.0837971 9.95748 -0.0745685 -0.0170442 0.0458064 0.18 0 pose: 0.25032343 2.93851 0.0778335 0 -0.00637631 -0.00858013 -0.0531063 0.998532 uwb: 0.49827298 853.733 704.697 -imu_odom_: 1691062428.879541826 0.332794 -0.667982 9.59117 -0.0639159 -0.0340885 0.0383495 0.21 0 pose: 0.40882426 2.94849 0.0783716 0 -0.00456076 -0.00497497 -0.0529804 0.998573 uwb: 0.0 853.733 704.697 -imu_odom_: 1691062428.895481732 0.189142 -0.0143652 10.635 -0.0458064 0.0138484 0.0319579 0.19 -0.02 pose: 0.0 2.94849 0.0783716 0 -0.00456076 -0.00497497 -0.0529804 0.998573 uwb: 0.50020649 853.077 704.024 -imu_odom_: 1691062428.921479953 0.385466 -0.0933739 10.0341 -0.0671117 0.0127832 0.0511327 0.19 -0.02 pose: 0.0 2.94849 0.0783716 0 -0.00456076 -0.00497497 -0.0529804 0.998573 uwb: 0.0 853.077 704.024 -imu_odom_: 1691062428.946473509 0.581791 -0.308852 9.5385 -0.0479369 0.0223706 0.0298274 0.23 -0.02 pose: 0.49969905 2.95848 0.0789125 0 -0.00531118 -0.0028757 -0.0529586 0.998578 uwb: 0.50115429 852.991 703.199 -imu_odom_: 1691062428.962530650 0.172383 -0.265756 9.87129 -0.0703074 -0.04048 0.0553937 0.23 -0.02 pose: 0.0 2.95848 0.0789125 0 -0.00531118 -0.0028757 -0.0529586 0.998578 uwb: 0.0 852.991 703.199 -imu_odom_: 1691062428.987481919 0.588974 -0.490811 9.67257 -0.0511327 -0.00745685 0.0276969 0.22 0 pose: 0.75999914 2.969 0.0694675 0 -0.00307625 -0.00200685 -0.0528409 0.998596 uwb: 0.0 852.991 703.199 -imu_odom_: 1691062429.12473730 0.490811 -0.0837971 10.0078 -0.0543285 -0.0170442 0.056459 0.2 0 pose: 0.0 2.969 0.0694675 0 -0.00307625 -0.00200685 -0.0528409 0.998596 uwb: 0.49826423 852.833 702.227 -imu_odom_: 1691062429.36459134 0.454898 -0.196325 10.2592 -0.0543285 0.00852212 0.0319579 0.22 0 pose: 0.31979841 2.97899 0.0700091 0 -0.0044822 -0.00344408 -0.0529311 0.998582 uwb: 0.0 852.833 702.227 -imu_odom_: 1691062429.60514238 0.976834 0 10.5824 -0.0596548 -0.0383495 0.0330232 0.19 0 pose: 0.0 2.97899 0.0700091 0 -0.0044822 -0.00344408 -0.0529311 0.998582 uwb: 0.50151903 851.417 701.983 -imu_odom_: 1691062429.76460277 0.591368 -0.244209 9.82341 -0.0553937 0.00852212 0.0319579 0.19 0 pose: 0.48960596 2.98897 0.0705518 0 -0.000182444-0.00363002 -0.0529087 0.998593 uwb: 0.0 851.417 701.983 -imu_odom_: 1691062429.101452680 0.299275 -0.282516 9.28711 -0.0553937 -0.0213053 0.04048 0.18 0 pose: 0.0 2.98897 0.0705518 0 -0.000182444-0.00363002 -0.0529087 0.998593 uwb: 0.49826159 850.841 701.481 -imu_odom_: 1691062429.127510407 0.158017 -0.433351 9.69412 -0.0511327 -0.00106526 0.0415453 0.18 0 pose: 0.41053344 2.99896 0.0710928 0 -0.000634022-0.00607746 -0.0530167 0.998575 uwb: 0.0 850.841 701.481 -imu_odom_: 1691062429.143447406 0.490811 -0.339977 9.991 -0.0543285 -0.0340885 0.0458064 0.17 -0.02 pose: 0.0 2.99896 0.0710928 0 -0.000634022-0.00607746 -0.0530167 0.998575 uwb: 0.50115748 849.274 701.609 -imu_odom_: 1691062429.169723855 0.296881 -0.0742203 9.87848 -0.04048 0.0287621 0.0426106 0.17 -0.02 pose: 0.49986264 3.00894 0.0716318 0 -0.002854 -0.00261999 -0.0529497 0.99859 uwb: 0.0 849.274 701.609 -imu_odom_: 1691062429.193459333 0.926556 -0.059855 10.0413 -0.0607201 -0.00958738 0.0458064 0.19 -0.02 pose: 0.35213160 3.00894 0.0716318 0 -0.00133801 -0.00112684 -0.0528829 0.998599 uwb: 0.49940186 849.517 700.142 -imu_odom_: 1691062429.217487023 0.497994 -0.311246 9.97424 -0.0553937 -0.00958738 0.0372843 0.19 -0.02 pose: 0.0 3.00894 0.0716318 0 -0.00133801 -0.00112684 -0.0528829 0.998599 uwb: 0.0 849.517 700.142 -imu_odom_: 1691062429.233437437 0.514753 -0.402226 9.54808 -0.0511327 -0.0351537 0.052198 0.18 0.02 pose: 0.6893260 3.00894 0.0716318 0 -0.00115819 -0.00180446 -0.0528625 0.998599 uwb: 0.0 849.517 700.142 -imu_odom_: 1691062429.257580613 0.0957681 -0.169988 9.55287 -0.0458064 0.0245011 0.0426106 0.18 0.02 pose: 0.0 3.00894 0.0716318 0 -0.00115819 -0.00180446 -0.0528625 0.998599 uwb: 0.50119247 851.492 698.188 -imu_odom_: 1691062429.281440908 0.0646434 -0.253785 9.63427 -0.0745685 -0.0490022 0.0543285 0.25 0 pose: 0.47829951 3.01893 0.0721738 0 -0.00373554 -0.0043278 -0.0527853 0.99859 uwb: 0.0 851.492 698.188 -imu_odom_: 1691062429.306707151 0.368707 -0.304064 10.1394 -0.056459 -0.0298274 0.0394148 0.25 0 pose: 0.0 3.01893 0.0721738 0 -0.00373554 -0.0043278 -0.0527853 0.99859 uwb: 0.49797870 850.864 697.579 -imu_odom_: 1691062429.321666023 0.842759 -0.337582 9.85693 -0.0628506 -0.0298274 0.04048 0.19 0 pose: 0.40157748 3.02946 0.0627324 0 -0.00361173 -0.00147956 -0.052629 0.998607 uwb: 0.0 850.864 697.579 -imu_odom_: 1691062429.347631595 0.596156 -0.234632 9.84975 -0.0553937 0.0511327 0.0394148 0.19 0 pose: 0.0 3.02946 0.0627324 0 -0.00361173 -0.00147956 -0.052629 0.998607 uwb: 0.49874278 851.008 696.537 -imu_odom_: 1691062429.372430355 1.3623 -0.588974 9.1267 -0.0980043 0.0820254 0.0372843 0.18 0.02 pose: 0.48863488 3.03944 0.0632799 0 -0.00460218 0.00111871 -0.0524902 0.99861 uwb: 0.0 851.008 696.537 -imu_odom_: 1691062429.398440838 0.368707 -0.387861 9.44991 -0.0415453 -0.0106526 0.0447411 0.18 0.02 pose: 0.0 3.03944 0.0632799 0 -0.00460218 0.00111871 -0.0524902 0.99861 uwb: 0.50044882 851.78 695.426 -imu_odom_: 1691062429.414471450 0.011971 -0.102951 10.3286 -0.0468716 -0.0735032 0.0426106 0.18 -0.02 pose: 0.42181952 3.04943 0.0638292 0 -0.00435874 -0.0019495 -0.0525203 0.998608 uwb: 0.0 851.78 695.426 -imu_odom_: 1691062429.440628040 0.282516 -0.201113 9.85693 -0.0500674 0.0287621 0.0436758 0.18 -0.02 pose: 0.0 3.04943 0.0638292 0 -0.00435874 -0.0019495 -0.0525203 0.998608 uwb: 0.0 851.78 695.426 -imu_odom_: 1691062429.465533829 0.277727 -0.387861 9.73722 -0.056459 0.0372843 0.0458064 0.23 -0.02 pose: 0.49820035 3.05941 0.0643785 0 -0.00627783 -0.000456117-0.0524485 0.998604 uwb: 0.50071711 851.686 694.556 -imu_odom_: 1691062429.480411335 0.174777 -0.258574 9.81383 -0.0543285 -0.00106526 0.0543285 0.23 -0.02 pose: 0.0 3.05941 0.0643785 0 -0.00627783 -0.000456117-0.0524485 0.998604 uwb: 0.0 851.686 694.556 -imu_odom_: 1691062429.507471395 0.902614 -0.268151 10.0173 -0.0639159 -0.0447411 0.0415453 0.18 0 pose: 0.42101754 3.0694 0.0649292 0 -0.00422053 0.00279983 -0.0523456 0.998616 uwb: 0.49843948 852.128 693.427 -imu_odom_: 1691062429.531401973 0.509965 -0.177171 10.0485 -0.0649811 -0.015979 0.0500674 0.18 0 pose: 0.0 3.0694 0.0649292 0 -0.00422053 0.00279983 -0.0523456 0.998616 uwb: 0.0 852.128 693.427 -imu_odom_: 1691062429.556411873 0.454898 -0.0215478 9.86172 -0.056459 -0.0319579 0.0394148 0.19 -0.02 pose: 0.40916278 3.0694 0.0649292 0 -0.00482514 0.00480813 -0.0521639 0.998615 uwb: 0.50017760 851.573 692.962 -imu_odom_: 1691062429.579402236 0.414197 -0.138864 9.9527 -0.0447411 -0.0170442 0.0330232 0.2 0 pose: 0.49932895 3.07938 0.0654847 0 -0.00282523 0.000251152 -0.0520322 0.998641 uwb: 0.0 851.573 692.962 -imu_odom_: 1691062429.595404851 0.605733 -0.301669 9.92397 -0.0628506 -0.00213053 0.0458064 0.2 0 pose: 0.0 3.07938 0.0654847 0 -0.00282523 0.000251152 -0.0520322 0.998641 uwb: 0.49999095 851.483 692.091 -imu_odom_: 1691062429.620464620 0.356736 -0.442927 10.2663 -0.0649811 -0.0276969 0.0447411 0.2 0 pose: 0.0 3.07938 0.0654847 0 -0.00282523 0.000251152 -0.0520322 0.998641 uwb: 0.0 851.483 692.091 -imu_odom_: 1691062429.646389073 0.474052 -0.0861913 10.2328 -0.056459 -0.0287621 0.04048 0.19 -0.02 pose: 0.63999671 3.08993 0.0560589 0 -0.000338627-0.00187823 -0.0520387 0.998643 uwb: 0.50105832 852.494 690.744 -imu_odom_: 1691062429.670394308 0.37589 -0.23942 10.0461 -0.0543285 -0.0127832 0.0383495 0.21 0 pose: 0.43968186 3.09991 0.0566173 0 0.000365104 -0.00242918 -0.0519819 0.998645 uwb: 0.0 852.494 690.744 -imu_odom_: 1691062429.686384966 0.550666 -0.129287 9.7444 -0.0415453 0.0319579 0.0383495 0.21 0 pose: 0.0 3.09991 0.0566173 0 0.000365104 -0.00242918 -0.0519819 0.998645 uwb: 0.0 852.494 690.744 -imu_odom_: 1691062429.702393706 0.124498 -0.418985 9.66539 -0.0372843 0.0170442 0.0394148 0.21 0 pose: 0.0 3.09991 0.0566173 0 0.000365104 -0.00242918 -0.0519819 0.998645 uwb: 0.49875153 853.274 689.592 -imu_odom_: 1691062429.727438893 0.126893 -0.64404 9.56244 -0.052198 0.0394148 0.04048 0.23 -0.02 pose: 0.7013119 3.09991 0.0566173 0 0.000106926 -0.00180689 -0.0519859 0.998646 uwb: 0.0 853.274 689.592 -imu_odom_: 1691062429.750438005 0.141258 -0.275333 10.0509 -0.0394148 0.00106526 0.04048 0.23 -0.02 pose: 0.0 3.09991 0.0566173 0 0.000106926 -0.00180689 -0.0519859 0.998646 uwb: 0.50003762 853.294 688.932 -imu_odom_: 1691062429.775439157 0.526724 -0.229843 9.81862 -0.0436758 0.00852212 0.0426106 0.19 0 pose: 0.55058585 3.1099 0.0571768 0 -0.0007425080.000616871 -0.0520041 0.998646 uwb: 0.0 853.294 688.932 -imu_odom_: 1691062429.801424268 0.627281 -0.102951 10.659 -0.0490022 -0.0276969 0.0543285 0.23 0 pose: 0.48944561 3.11988 0.057736 0 -0.00196707 0.00384269 -0.0519711 0.998639 uwb: 0.50043423 853.447 687.845 -imu_odom_: 1691062429.817408802 0.169988 -0.169988 9.91918 -0.0575243 -0.00213053 0.0340885 0.23 0 pose: 0.0 3.11988 0.057736 0 -0.00196707 0.00384269 -0.0519711 0.998639 uwb: 0.0 853.447 687.845 -imu_odom_: 1691062429.833365048 0.440533 -0.234632 10.1418 -0.0543285 -0.0308927 0.0245011 0.23 0 pose: 0.0 3.11988 0.057736 0 -0.00196707 0.00384269 -0.0519711 0.998639 uwb: 0.0 853.447 687.845 -imu_odom_: 1691062429.849366205 0.488417 -0.447716 9.74919 -0.056459 -0.0181095 0.0308927 0.19 -0.02 pose: 0.75959710 3.13985 0.0588572 0 -0.000607548-0.000646162-0.0519219 0.998651 uwb: 0.49934645 850.997 688.302 -imu_odom_: 1691062429.873343152 0.545878 -0.265756 9.69891 -0.0340885 0.0223706 0.0372843 0.19 -0.02 pose: 0.7017785 3.13985 0.0588572 0 -0.00129166 -0.000876772-0.051952 0.998648 uwb: 0.0 850.997 688.302 -imu_odom_: 1691062429.898383674 0.61531 -0.292093 9.51216 -0.0809601 0.0511327 0.0426106 0.19 -0.02 pose: 0.32960319 3.14746 0.0492684 0 -0.00223862 -0.00323964 -0.0520227 0.998638 uwb: 0.50009594 852.068 687.037 -imu_odom_: 1691062429.914353043 0.203507 -0.344765 9.57681 -0.0628506 0.0181095 0.0383495 0.18 -0.02 pose: 0.0 3.14746 0.0492684 0 -0.00223862 -0.00323964 -0.0520227 0.998638 uwb: 0.0 852.068 687.037 -imu_odom_: 1691062429.929465603 0.636858 -0.232238 9.70849 -0.056459 -0.0447411 0.0426106 0.19 0.02 pose: 0.0 3.14746 0.0492684 0 -0.00223862 -0.00323964 -0.0520227 0.998638 uwb: 0.0 852.068 687.037 -imu_odom_: 1691062429.956482210 0.790087 -0.0047884 10.2735 -0.0617853 0.00426106 0.036219 0.19 0.02 pose: 0.47057423 3.15039 0.0494328 0 -0.00350162 -0.00388257 -0.051987 0.998634 uwb: 0.50073461 852.284 686.077 -imu_odom_: 1691062429.981467906 0.237026 -0.146046 10.1203 -0.1012 -0.00426106 0.0607201 0.17 -0.02 pose: 0.36081635 3.16038 0.0499925 0 -0.00162335 -0.00687428 -0.0520375 0.99862 uwb: 0.0 852.284 686.077 -imu_odom_: 1691062430.7471392 0.452504 -0.246603 9.40442 -0.0916127 0.00213053 0.0351537 0.2 0.02 pose: 0.6941087 3.16038 0.0499925 0 -0.00154425 -0.00621368 -0.0519662 0.998628 uwb: 0.50034091 851.87 685.908 -imu_odom_: 1691062430.23475182 0.409408 -0.565032 9.82341 -0.0894822 -0.0735032 0.0479369 0.17 0 pose: 0.0 3.16038 0.0499925 0 -0.00154425 -0.00621368 -0.0519662 0.998628 uwb: 0.0 851.87 685.908 -imu_odom_: 1691062430.47325866 0.548272 -0.512359 9.44273 -0.04048 0.0181095 0.0223706 0.17 0 pose: 0.50953315 3.17036 0.0505537 0 -0.00329179 -0.00199982 -0.0518034 0.99865 uwb: 0.49904337 853.207 684.475 -imu_odom_: 1691062430.63392940 0.392649 0.102951 10.4698 -0.0639159 0.0106526 0.052198 0.19 -0.02 pose: 0.0 3.17036 0.0505537 0 -0.00329179 -0.00199982 -0.0518034 0.99865 uwb: 0.0 853.207 684.475 -imu_odom_: 1691062430.79320907 0.124498 -0.304064 9.59357 -0.0756338 -0.0468716 0.0511327 0.19 -0.02 pose: 0.39973459 3.18035 0.051117 0 -0.00571363 -0.00265602 -0.0519247 0.998631 uwb: 0.0 853.207 684.475 -imu_odom_: 1691062430.104404020 0.770933 -0.294487 10.0413 -0.0500674 0.00958738 0.0245011 0.19 0 pose: 0.24970836 3.18594 0.0514312 0 -0.00494614 -0.00121998 -0.0517699 0.998646 uwb: 0.50076696 853.077 683.472 -imu_odom_: 1691062430.129331403 0.167594 -0.208296 9.71088 -0.052198 -0.0276969 0.0266316 0.19 0 pose: 0.7024496 3.19033 0.0516793 0 -0.00492624 -0.00187631 -0.0518264 0.998642 uwb: 0.0 853.077 683.472 -imu_odom_: 1691062430.152369897 0.397437 -0.275333 10.2927 -0.0458064 0.0266316 0.0372843 0.19 0 pose: 0.42986000 3.19033 0.0516793 0 -0.00398448 -0.00151637 -0.0521234 0.998632 uwb: 0.49898218 854.87 681.533 -imu_odom_: 1691062430.177320027 0.363919 -0.222661 10.1442 -0.0351537 0.0308927 0.0458064 0.19 0 pose: 0.0 3.19033 0.0516793 0 -0.00398448 -0.00151637 -0.0521234 0.998632 uwb: 0.0 854.87 681.533 -imu_odom_: 1691062430.201353854 0.507571 -0.28491 9.95509 -0.052198 -0.0213053 0.0479369 0.24 0 pose: 0.47988624 3.20805 0.0426516 0 -0.0002268920.00230922 -0.0520639 0.998641 uwb: 0.50020703 855.213 680.808 -imu_odom_: 1691062430.215299902 0.0383072 -0.117316 9.98143 -0.04048 0.0106526 0.04048 0.24 0 pose: 0.0 3.20805 0.0426516 0 -0.0002268920.00230922 -0.0520639 0.998641 uwb: 0.0 855.213 680.808 -imu_odom_: 1691062430.231430260 0.100556 -0.232238 9.95748 -0.0383495 0.00745685 0.0308927 0.18 0.02 pose: 0.0 3.20805 0.0426516 0 -0.0002268920.00230922 -0.0520639 0.998641 uwb: 0.0 855.213 680.808 -imu_odom_: 1691062430.255336645 0.0023942 -0.304064 9.73722 -0.0447411 -0.0181095 0.04048 0.18 0.02 pose: 0.44985416 3.21086 0.0428086 0 -0.0005480390.00207527 -0.0519889 0.998645 uwb: 0.49957128 853.795 680.653 -imu_odom_: 1691062430.280430841 0.270545 -0.201113 10.1179 -0.0490022 0.00852212 0.0447411 0.18 0 pose: 0.33031202 3.21789 0.0432027 0 -0.0007236460.00522325 -0.0520171 0.998632 uwb: 0.0 853.795 680.653 -imu_odom_: 1691062430.306392052 0.213084 -0.158017 10.3214 -0.0607201 -0.0127832 0.0458064 0.18 0 pose: 0.7059493 3.22084 0.0433679 0 -0.0001416730.00570242 -0.0519958 0.998631 uwb: 0.50093902 853.521 680.053 -imu_odom_: 1691062430.330320018 0.80924 -0.124498 10.41 -0.0777643 -0.00319579 0.0575243 0.21 0 pose: 0.43995914 3.22816 0.0437792 0 0.00295956 0.00879274 -0.05185 0.998612 uwb: 0.0 853.521 680.053 -imu_odom_: 1691062430.355320892 0.488417 -0.213084 9.94551 -0.056459 0.0415453 0.0330232 0.21 0 pose: 0.0 3.22816 0.0437792 0 0.00295956 0.00879274 -0.05185 0.998612 uwb: 0.50067364 853.187 679.326 -imu_odom_: 1691062430.379379217 0.617704 -0.244209 9.81383 -0.0607201 -0.0340885 0.0447411 0.19 0 pose: 0.48928840 3.23828 0.0443527 0 0.00209683 0.00457625 -0.0517053 0.99865 uwb: 0.0 853.187 679.326 -imu_odom_: 1691062430.395416253 0.100556 -0.246603 9.56484 -0.0458064 -0.0426106 0.0351537 0.19 0 pose: 0.0 3.23828 0.0443527 0 0.00209683 0.00457625 -0.0517053 0.99865 uwb: 0.49678912 853.367 678.235 -imu_odom_: 1691062430.419412752 0.371101 -0.323217 9.21528 -0.0735032 -0.0383495 0.0383495 0.19 0 pose: 0.40095361 3.24644 0.0448147 0 0.00119624 0.00317149 -0.0516807 0.998658 uwb: 0.0 853.367 678.235 -imu_odom_: 1691062430.435271019 0.656011 0.124498 10.319 -0.0628506 -0.0191748 0.04048 0.19 0 pose: 0.7006707 3.25079 0.0450612 0 0.000433277 0.00294692 -0.0516871 0.998659 uwb: 0.0 853.367 678.235 -imu_odom_: 1691062430.461376004 0.454898 -0.361524 9.93833 -0.0681769 0.00639159 0.0447411 0.25 0.02 pose: 0.32848059 3.25079 0.0450612 0 -0.0003024990.00122553 -0.0516938 0.998662 uwb: 0.50086612 852.433 677.678 -imu_odom_: 1691062430.477490031 0.387861 -0.174777 9.8689 -0.0447411 -0.0223706 0.0351537 0.25 0.02 pose: 0.0 3.25079 0.0450612 0 -0.0003024990.00122553 -0.0516938 0.998662 uwb: 0.0 852.433 677.678 -imu_odom_: 1691062430.502274223 0.610521 -0.253785 9.95509 -0.0511327 -0.0245011 0.0500674 0.24 0 pose: 0.7185768 3.25079 0.0450612 0 -0.0009960670.000957323 -0.0516761 0.998663 uwb: 0.50008454 852.44 676.95 -imu_odom_: 1691062430.525313884 0.68953 -0.160412 9.67736 -0.0596548 -0.00958738 0.0372843 0.24 0 pose: 0.0 3.25079 0.0450612 0 -0.0009960670.000957323 -0.0516761 0.998663 uwb: 0.0 852.44 676.95 -imu_odom_: 1691062430.550299009 0.605733 -0.474052 9.7875 -0.0713727 -0.0234358 0.0532632 0.19 0 pose: 0.41832310 3.26134 0.0356429 0 -0.00121584 -0.00050414 -0.0516291 0.998665 uwb: 0.50032077 852.371 676.05 -imu_odom_: 1691062430.576271886 0.706289 -0.009576819.79707 -0.056459 0.0436758 0.036219 0.22 0.02 pose: 0.48989207 3.27133 0.0362096 0 -0.0016732 -0.0051118 -0.0515098 0.998658 uwb: 0.0 852.371 676.05 -imu_odom_: 1691062430.601382121 0.277727 -0.143652 9.54089 -0.0852212 -0.0213053 0.0596548 0.17 0 pose: 0.0 3.27133 0.0362096 0 -0.0016732 -0.0051118 -0.0515098 0.998658 uwb: 0.50032368 852.225 674.979 -imu_odom_: 1691062430.618264593 0.675165 -0.433351 10.2592 -0.0500674 0.0394148 0.0298274 0.17 0 pose: 0.0 3.27133 0.0362096 0 -0.0016732 -0.0051118 -0.0515098 0.998658 uwb: 0.0 852.225 674.979 -imu_odom_: 1691062430.634374245 0.474052 -0.153229 9.97664 -0.0479369 -0.00426106 0.0351537 0.2 -0.02 pose: 0.50033827 3.28131 0.0367796 0 -0.00118299 -0.00625996 -0.0513809 0.998659 uwb: 0.0 852.225 674.979 -imu_odom_: 1691062430.660290254 0.428562 -0.311246 9.67736 -0.0553937 -0.0127832 0.0447411 0.2 -0.02 pose: 0.0 3.28131 0.0367796 0 -0.00118299 -0.00625996 -0.0513809 0.998659 uwb: 0.50161561 851.59 674.337 -imu_odom_: 1691062430.686264006 0.282516 -0.198719 9.88566 -0.056459 0.00852212 0.0372843 0.23 0.02 pose: 0.58140854 3.29129 0.0373513 0 -0.00101424 -0.00446424 -0.0513024 0.998673 uwb: 0.0 851.59 674.337 -imu_odom_: 1691062430.702278295 0.490811 -0.198719 10.1634 -0.0596548 -0.0223706 0.0372843 0.23 0.02 pose: 0.0 3.29129 0.0373513 0 -0.00101424 -0.00446424 -0.0513024 0.998673 uwb: 0.49748028 851.808 673.307 -imu_odom_: 1691062430.728265170 0.600945 -0.383072 10.4507 -0.0532632 -0.02024 0.0394148 0.23 0 pose: 0.51841350 3.30128 0.0379246 0 -0.001221 -0.00142684 -0.0512831 0.998682 uwb: 0.0 851.808 673.307 -imu_odom_: 1691062430.744290833 0.177171 -0.160412 9.7875 -0.0426106 0.0287621 0.0426106 0.23 0 pose: 0.0 3.30128 0.0379246 0 -0.001221 -0.00142684 -0.0512831 0.998682 uwb: 0.50062698 853.204 671.827 -imu_odom_: 1691062430.769299872 0.505177 -0.337582 10.2472 -0.0394148 0.00958738 0.04048 0.2 0 pose: 0.50996498 3.31126 0.0384982 0 -0.00203272 -0.00245021 -0.0512679 0.99868 uwb: 0.0 853.204 671.827 -imu_odom_: 1691062430.795244753 0.172383 -0.316035 9.96946 -0.0330232 0.0181095 0.0319579 0.2 0 pose: 0.0 3.31126 0.0384982 0 -0.00203272 -0.00245021 -0.0512679 0.99868 uwb: 0.49940505 851.376 671.591 -imu_odom_: 1691062430.811268082 0.225055 -0.155623 10.1418 -0.0479369 -0.0351537 0.04048 0.19 -0.02 pose: 0.7081948 3.31126 0.0384982 0 -0.00259981 -0.0027355 -0.0512637 0.998678 uwb: 0.0 851.376 671.591 -imu_odom_: 1691062430.837235710 0.562637 -0.198719 9.86172 -0.0553937 0.0245011 0.0415453 0.19 -0.02 pose: 0.0 3.31126 0.0384982 0 -0.00259981 -0.0027355 -0.0512637 0.998678 uwb: 0.0 851.376 671.591 -imu_odom_: 1691062430.861353819 0.227449 -0.294487 10.0365 -0.0745685 0.0106526 0.0585895 0.23 0.02 pose: 0.50888303 3.32182 0.0290887 0 -0.00336508 -0.000144811-0.051336 0.998676 uwb: 0.50168559 854.299 668.87 -imu_odom_: 1691062430.886225500 0.186748 -0.0933739 10.1107 -0.0468716 0.00426106 0.0276969 0.2 0 pose: 0.16032370 3.3318 0.0296612 0 -0.00253892 -0.000132013-0.0513243 0.998679 uwb: 0.0 854.299 668.87 -imu_odom_: 1691062430.910285575 0.47884 -0.1652 9.8282 -0.0532632 -0.0372843 0.0298274 0.2 0 pose: 0.43060365 3.3389 0.0300687 0 -0.00247084 0.000936662 -0.0510779 0.998691 uwb: 0.49958295 853.079 668.456 -imu_odom_: 1691062430.936248828 0.797269 -0.229843 10.2496 -0.0458064 -0.0532632 0.0426106 0.19 0.02 pose: 0.6933799 3.34178 0.0302354 0 -0.00196238 0.00146749 -0.0511174 0.99869 uwb: 0.0 853.079 668.456 -imu_odom_: 1691062430.961339815 0.672771 -0.007182619.7851 -0.0468716 -0.04048 0.0394148 0.19 0.02 pose: 0.0 3.34178 0.0302354 0 -0.00196238 0.00146749 -0.0511174 0.99869 uwb: 0.0 853.079 668.456 -imu_odom_: 1691062430.976253783 0.792481 -0.31364 9.85453 -0.0490022 0.0191748 0.0340885 0.2 0 pose: 0.49061823 3.35177 0.030811 0 0.000269696 -0.000642827-0.0513247 0.998682 uwb: 0.0 853.079 668.456 -imu_odom_: 1691062430.993221995 0.263362 -0.699107 9.37569 -0.0681769 -0.0149137 0.0426106 0.2 0 pose: 0.0 3.35177 0.030811 0 0.000269696 -0.000642827-0.0513247 0.998682 uwb: 0.99836390 852.784 667.79 -imu_odom_: 1691062431.19232209 0.442927 -0.363919 9.32302 -0.0447411 0.00745685 0.0415453 0.19 0 pose: 0.49897927 3.35177 0.030811 0 0.00159156 -0.00580265 -0.0513148 0.998664 uwb: 0.0 852.784 667.79 -imu_odom_: 1691062431.44337208 0.560243 -0.409408 9.72764 -0.0596548 0.0245011 0.036219 0.19 0 pose: 0.0 3.35177 0.030811 0 0.00159156 -0.00580265 -0.0513148 0.998664 uwb: 0.0 852.784 667.79 -imu_odom_: 1691062431.59413331 0.399832 -0.316035 9.74201 -0.0468716 0.0191748 0.0351537 0.19 0 pose: 0.0 3.35177 0.030811 0 0.00159156 -0.00580265 -0.0513148 0.998664 uwb: 0.0 852.784 667.79 -imu_odom_: 1691062431.86231075 0.251391 -0.222661 10.2065 -0.0575243 0.0468716 0.0394148 0.19 -0.05 pose: 0.32999707 3.36175 0.0313837 0 -0.000985709-0.00537203 -0.0512913 0.998669 uwb: 0.0 852.784 667.79 -imu_odom_: 1691062431.111269290 0.349553 -0.179565 9.96946 -0.0468716 -0.0266316 0.0372843 0.19 0 pose: 0.50006146 3.37173 0.0319572 0 -0.00494221 -0.00432694 -0.0513073 0.998661 uwb: 0.100112902 854.327 665.775 -imu_odom_: 1691062431.126191432 0.526724 -0.301669 9.56005 -0.0585895 -0.0266316 0.0596548 0.19 0 pose: 0.0 3.37173 0.0319572 0 -0.00494221 -0.00432694 -0.0513073 0.998661 uwb: 0.0 854.327 665.775 -imu_odom_: 1691062431.142189982 0.634463 -0.0861913 10.5369 -0.0596548 -0.0181095 0.036219 0.19 0 pose: 0.0 3.37173 0.0319572 0 -0.00494221 -0.00432694 -0.0513073 0.998661 uwb: 0.49920701 855.085 664.317 -imu_odom_: 1691062431.157247732 0.213084 -0.222661 9.34696 -0.072438 -0.0127832 0.0383495 0.19 -0.02 pose: 0.42967358 3.38172 0.0325305 0 -0.00317826 4.74422e-05 -0.0513278 0.998677 uwb: 0.0 855.085 664.317 -imu_odom_: 1691062431.182245994 0.229843 -0.328006 9.61272 -0.0703074 0.00745685 0.036219 0.19 -0.02 pose: 0.0 3.38172 0.0325305 0 -0.00317826 4.74422e-05 -0.0513278 0.998677 uwb: 0.0 855.085 664.317 -imu_odom_: 1691062431.207187388 0.605733 -0.514753 10.647 -0.0479369 0.00958738 0.0351537 0.19 0.02 pose: 0.89025415 3.39948 0.0235368 0 -0.0023834 0.00164197 -0.0512744 0.99868 uwb: 0.49900870 855.715 663.355 -imu_odom_: 1691062431.230222103 0.591368 -0.263362 10.1945 -0.056459 0.02024 0.0500674 0.19 0.02 pose: 0.0 3.39948 0.0235368 0 -0.0023834 0.00164197 -0.0512744 0.99868 uwb: 0.0 855.715 663.355 -imu_odom_: 1691062431.246194406 0.311246 -0.277727 10.4148 -0.036219 -0.00213053 0.0532632 0.25 0 pose: 0.6950426 3.40226 0.0236966 0 -0.0028847 0.00123733 -0.0512918 0.998679 uwb: 0.50040852 853.947 663.297 -imu_odom_: 1691062431.263186832 0.25618 -0.205901 9.72285 -0.0511327 -0.0106526 0.0415453 0.25 0 pose: 0.0 3.40226 0.0236966 0 -0.0028847 0.00123733 -0.0512918 0.998679 uwb: 0.0 853.947 663.297 -imu_odom_: 1691062431.287183927 0.299275 -0.306458 9.48583 -0.0426106 0.0298274 0.0458064 0.24 0 pose: 0.47987483 3.41224 0.0242703 0 -0.00368981 -0.00111904 -0.0511768 0.998682 uwb: 0.0 853.947 663.297 -imu_odom_: 1691062431.312269095 0.481235 -0.52433 9.7875 -0.0490022 0.0479369 0.0415453 0.24 0 pose: 0.0 3.41224 0.0242703 0 -0.00368981 -0.00111904 -0.0511768 0.998682 uwb: 0.49876081 853.582 662.455 -imu_odom_: 1691062431.337213114 0.0814029 -0.205901 10.0461 -0.0468716 0.0426106 0.0479369 0.19 0 pose: 0.75085192 3.42222 0.024848 0 -0.00548611 0.00325078 -0.051002 0.998678 uwb: 0.0 853.582 662.455 -imu_odom_: 1691062431.354258325 0.636858 -0.0790087 10.3046 -0.0490022 -0.0415453 0.0468716 0.19 0 pose: 0.8037041 3.42222 0.024848 0 -0.00506915 0.00415061 -0.0509645 0.998679 uwb: 0.0 853.582 662.455 -imu_odom_: 1691062431.379169390 0.744597 0.124498 9.96946 -0.056459 -0.00106526 0.0468716 0.18 -0.02 pose: 0.0 3.42222 0.024848 0 -0.00506915 0.00415061 -0.0509645 0.998679 uwb: 0.0 853.582 662.455 -imu_odom_: 1691062431.404166194 0.392649 -0.19393 9.75158 -0.0585895 -0.00958738 0.0394148 0.18 -0.02 pose: 0.33952189 3.43221 0.0254275 0 -0.00330393 0.00424564 -0.0508239 0.998693 uwb: 0.100092204 853.798 661.336 -imu_odom_: 1691062431.427415841 0.632069 -0.131681 9.57441 -0.0585895 -0.0127832 0.0351537 0.18 -0.02 pose: 0.49907869 3.43962 0.0258604 0 0.000339539 0.000919925 -0.0507325 0.998712 uwb: 0.0 853.798 661.336 -imu_odom_: 1691062431.452212878 -0.347159 -0.225055 9.414 -0.0628506 0.0191748 0.0319579 0.18 -0.02 pose: 0.0 3.43962 0.0258604 0 0.000339539 0.000919925 -0.0507325 0.998712 uwb: 0.50000315 854.037 660.26 -imu_odom_: 1691062431.478209391 0.318429 -0.198719 9.98861 -0.0628506 -0.0394148 0.0394148 0.19 0 pose: 0.31222529 3.44278 0.0160281 0 0.000867032 -0.000537812-0.0508136 0.998708 uwb: 0.0 854.037 660.26 -imu_odom_: 1691062431.493164195 0.68953 -0.0383072 9.87129 -0.0458064 -0.0372843 0.036219 0.19 0 pose: 0.0 3.44278 0.0160281 0 0.000867032 -0.000537812-0.0508136 0.998708 uwb: 0.49995650 854.475 658.818 -imu_odom_: 1691062431.520381181 0.754174 -0.296881 9.99579 -0.0596548 -0.00213053 0.0468716 0.19 0 pose: 0.48766136 3.45276 0.0166111 0 0.00112552 0.00283781 -0.0508921 0.998699 uwb: 0.0 854.475 658.818 -imu_odom_: 1691062431.536290784 0.442927 -0.150835 9.7037 -0.0468716 0.0298274 0.0330232 0.19 0 pose: 0.0 3.45276 0.0166111 0 0.00112552 0.00283781 -0.0508921 0.998699 uwb: 0.0 854.475 658.818 -imu_odom_: 1691062431.562370703 0.294487 -0.320823 10.0676 -0.052198 -0.0245011 0.0500674 0.17 -0.02 pose: 0.44110841 3.46274 0.0171925 0 0.00128664 -0.000961811-0.0508302 0.998706 uwb: 0.50135341 854.704 657.698 -imu_odom_: 1691062431.587289642 0.371101 -0.177171 9.75877 -0.056459 -0.00639159 0.0394148 0.17 0.02 pose: 0.34105003 3.4701 0.0176218 0 0.00018909 0.000331325 -0.050722 0.998713 uwb: 0.0 854.704 657.698 -imu_odom_: 1691062431.612313276 0.507571 -0.407014 9.60075 -0.0639159 -0.02024 0.0479369 0.17 0.02 pose: 0.0 3.4701 0.0176218 0 0.00018909 0.000331325 -0.050722 0.998713 uwb: 0.49847793 854.899 656.491 -imu_odom_: 1691062431.634126351 0.0407014 -0.294487 9.81144 -0.052198 -0.00745685 0.0351537 0.18 0 pose: 0.49942573 3.48027 0.0182175 0 -8.58538e-050.000330127 -0.0506206 0.998718 uwb: 0.0 854.899 656.491 -imu_odom_: 1691062431.658180315 0.3304 -0.476446 9.92397 -0.0809601 0.0372843 0.0628506 0.18 0 pose: 0.0 3.48027 0.0182175 0 -8.58538e-050.000330127 -0.0506206 0.998718 uwb: 0.50082555 853.613 655.963 -imu_odom_: 1691062431.675198987 0.730232 -0.191536 10.149 -0.0671117 0.00639159 0.0287621 0.19 0.02 pose: 0.5831440 3.48271 0.018361 0 -0.0001727230.000895907 -0.0506335 0.998717 uwb: 0.0 853.613 655.963 -imu_odom_: 1691062431.691126379 0.174777 -0.366313 9.67018 -0.0479369 0.0117179 0.0340885 0.19 0.02 pose: 0.40035599 3.4899 0.0187834 0 -0.00307012 0.00332202 -0.0503939 0.998719 uwb: 0.49799382 854.048 654.475 -imu_odom_: 1691062431.717192008 0.196325 -0.143652 9.85214 -0.0490022 -0.0170442 0.0436758 0.19 0.02 pose: 0.7004961 3.49269 0.0189488 0 -0.00299015 0.00267087 -0.0504336 0.998719 uwb: 0.0 854.048 654.475 -imu_odom_: 1691062431.742130778 0.414197 -0.232238 10.2256 -0.056459 -0.0213053 0.0351537 0.19 0.02 pose: 0.0 3.49269 0.0189488 0 -0.00299015 0.00267087 -0.0504336 0.998719 uwb: 0.49992442 854.324 653.44 -imu_odom_: 1691062431.769269607 0.445322 -0.251391 9.87608 -0.052198 0.0511327 0.0447411 0.2 -0.02 pose: 0.33075256 3.49269 0.0189488 0 -0.00288513 0.00377371 -0.0505129 0.998712 uwb: 0.0 854.324 653.44 -imu_odom_: 1691062431.785168127 0.304064 -0.349553 9.92157 -0.0490022 0.00319579 0.0383495 0.2 -0.02 pose: 0.0 3.49269 0.0189488 0 -0.00288513 0.00377371 -0.0505129 0.998712 uwb: 0.0 854.324 653.44 -imu_odom_: 1691062431.802114475 0.761356 -0.160412 10.2544 -0.0383495 -0.0181095 0.0330232 0.23 0.02 pose: 0.0 3.49269 0.0189488 0 -0.00288513 0.00377371 -0.0505129 0.998712 uwb: 0.50039103 853.968 652.594 -imu_odom_: 1691062431.818178933 0.447716 -0.148441 9.71806 -0.0351537 0.0276969 0.0447411 0.23 0.02 pose: 0.50868208 3.50326 0.0095549 0 -0.00132307 0.00174824 -0.0505058 0.998721 uwb: 0.0 853.968 652.594 -imu_odom_: 1691062431.835250391 0.3304 -0.25618 10.1323 -0.0415453 -0.00639159 0.0436758 0.23 0.02 pose: 0.0 3.50326 0.0095549 0 -0.00132307 0.00174824 -0.0505058 0.998721 uwb: 0.0 853.968 652.594 -imu_odom_: 1691062431.851496243 0.770933 -0.0837971 9.81383 -0.0500674 -0.0149137 0.0340885 0.2 -0.02 pose: 0.86121651 3.52323 0.0107333 0 -0.0009009690.000980092 -0.0504503 0.998726 uwb: 0.49923908 852.185 652.607 -imu_odom_: 1691062431.868277820 0.545878 -0.258574 9.60314 -0.0426106 0.0138484 0.0394148 0.2 -0.02 pose: 0.0 3.52323 0.0107333 0 -0.0009009690.000980092 -0.0504503 0.998726 uwb: 0.0 852.185 652.607 -imu_odom_: 1691062431.884148927 0.517148 -0.217872 9.84017 -0.0468716 -0.0372843 0.0447411 0.2 -0.02 pose: 0.0 3.52323 0.0107333 0 -0.0009009690.000980092 -0.0504503 0.998726 uwb: 0.0 852.185 652.607 -imu_odom_: 1691062431.911139900 0.967257 -0.0023942 10.3837 -0.0500674 -0.0149137 0.0543285 0.25 -0.02 pose: 0.6850980 3.52323 0.0107333 0 -0.0006699720.00029158 -0.0504695 0.998725 uwb: 0.50019855 850.757 651.785 -imu_odom_: 1691062431.936171408 0.440533 -0.0790087 9.61272 -0.056459 -0.0181095 0.0447411 0.18 0.02 pose: 0.69038529 3.53321 0.0113232 0 0.000461103 -0.00659733 -0.0502628 0.998714 uwb: 0.0 850.757 651.785 -imu_odom_: 1691062431.953149252 0.237026 -0.244209 10.0533 -0.0553937 -0.0245011 0.0276969 0.18 0.02 pose: 0.0 3.53321 0.0113232 0 0.000461103 -0.00659733 -0.0502628 0.998714 uwb: 0.49989817 851.512 650.184 -imu_odom_: 1691062431.978137307 0.703895 -0.37589 9.99819 -0.0532632 -0.0372843 0.0372843 0.23 -0.02 pose: 0.32042301 3.54319 0.0119173 0 0.00235654 -0.00479685 -0.0502559 0.998722 uwb: 0.0 851.512 650.184 -imu_odom_: 1691062432.3204686 1.0319 -0.1652 10.161 -0.0458064 -0.0213053 0.0532632 0.21 0 pose: 0.0 3.54319 0.0119173 0 0.00235654 -0.00479685 -0.0502559 0.998722 uwb: 0.49988942 849.21 650.709 -imu_odom_: 1691062432.26201209 0.217872 -0.100556 9.83299 -0.0447411 -0.0468716 0.0458064 0.21 0 pose: 0.42090134 3.55317 0.0125107 0 0.00037243 -0.00687473 -0.0502858 0.998711 uwb: 0.0 849.21 650.709 -imu_odom_: 1691062432.42071158 0.682347 -0.3304 10.1778 -0.0468716 0.0223706 0.0340885 0.21 0 pose: 0.0 3.55317 0.0125107 0 0.00037243 -0.00687473 -0.0502858 0.998711 uwb: 0.49997128 848.865 649.91 -imu_odom_: 1691062432.66079348 0.47884 -0.153229 10.0916 -0.0458064 -0.00426106 0.0351537 0.2 0 pose: 0.47817770 3.56316 0.0131041 0 0.000799887 -0.00748213 -0.0501116 0.998715 uwb: 0.0 848.865 649.91 -imu_odom_: 1691062432.82091321 0.462081 -0.395043 9.14346 -0.0511327 0.0372843 0.0511327 0.2 0 pose: 0.0 3.56316 0.0131041 0 0.000799887 -0.00748213 -0.0501116 0.998715 uwb: 0.0 848.865 649.91 -imu_odom_: 1691062432.108137134 0.531513 -0.500388 9.53132 -0.0649811 0.036219 0.0479369 0.18 0 pose: 0.40007915 3.56375 0.00312193 0 0.000968303 -0.00563317 -0.0501494 0.998725 uwb: 0.49972637 848.659 648.59 -imu_odom_: 1691062432.131101870 0.258574 -0.294487 10.2544 -0.0500674 0.056459 0.0266316 0.18 0 pose: 0.0 3.56375 0.00312193 0 0.000968303 -0.00563317 -0.0501494 0.998725 uwb: 0.0 848.659 648.59 -imu_odom_: 1691062432.156071857 0.344765 -0.19393 9.80904 -0.0628506 -0.02024 0.052198 0.18 -0.02 pose: 0.41048744 3.57373 0.00371801 0 -0.00259566 -0.00403799 -0.0500081 0.998737 uwb: 0.50247062 845.916 648.987 -imu_odom_: 1691062432.173114452 0.373495 -0.102951 9.4164 -0.0308927 -0.00532632 0.0245011 0.18 -0.02 pose: 0.0 3.57373 0.00371801 0 -0.00259566 -0.00403799 -0.0500081 0.998737 uwb: 0.0 845.916 648.987 -imu_odom_: 1691062432.198083273 0.438139 -0.237026 9.81144 -0.0777643 0.00958738 0.0585895 0.22 0 pose: 0.48999466 3.58372 0.00431726 0 -0.0004140343.3274e-05 -0.0500075 0.998749 uwb: 0.49935017 845.595 648.255 -imu_odom_: 1691062432.215201984 0.538695 -0.301669 9.48583 -0.0628506 0.00532632 0.0372843 0.22 0 pose: 0.0 3.58372 0.00431726 0 -0.0004140343.3274e-05 -0.0500075 0.998749 uwb: 0.0 845.595 648.255 -imu_odom_: 1691062432.240058819 0.629675 -0.493206 9.43076 -0.0596548 0.00213053 0.0394148 0.21 -0.02 pose: 0.42067118 3.5937 0.00491634 0 -0.00175538 -0.00194449 -0.0498527 0.998753 uwb: 0.0 845.595 648.255 -imu_odom_: 1691062432.257064960 0.663194 -0.225055 9.7444 -0.0500674 -0.00745685 0.0276969 0.21 -0.02 pose: 0.0 3.5937 0.00491634 0 -0.00175538 -0.00194449 -0.0498527 0.998753 uwb: 0.49923352 844.351 647.929 -imu_odom_: 1691062432.273122719 0.823605 -0.354342 9.95509 -0.0575243 0.0117179 0.0426106 0.21 -0.02 pose: 0.41878724 3.60368 0.00551857 0 -0.0042166 -0.00469173 -0.0499092 0.998734 uwb: 0.0 844.351 647.929 -imu_odom_: 1691062432.290051287 0.433351 -0.440533 9.66539 -0.0649811 -0.00532632 0.0447411 0.21 -0.02 pose: 0.0 3.60368 0.00551857 0 -0.0042166 -0.00469173 -0.0499092 0.998734 uwb: 0.0 844.351 647.929 -imu_odom_: 1691062432.306058011 0.270545 -0.0694318 9.73004 -0.0351537 0.0149137 0.0532632 0.2 -0.02 pose: 0.0 3.60368 0.00551857 0 -0.0042166 -0.00469173 -0.0499092 0.998734 uwb: 0.50048461 844.691 647.033 -imu_odom_: 1691062432.323118687 0.462081 -0.409408 10.1107 -0.0532632 -0.00852212 0.0511327 0.2 -0.02 pose: 0.51069459 3.61366 0.00611997 0 -0.00503074 -0.00539224 -0.0498411 0.99873 uwb: 0.0 844.691 647.033 -imu_odom_: 1691062432.339049295 0.402226 -0.253785 10.0796 -0.0415453 -0.00213053 0.0415453 0.2 -0.02 pose: 0.0 3.61366 0.00611997 0 -0.00503074 -0.00539224 -0.0498411 0.99873 uwb: 0.0 844.691 647.033 -imu_odom_: 1691062432.356111430 0.177171 -0.196325 9.61272 -0.0458064 0.0340885 0.0436758 0.25 0 pose: 0.40887764 3.61366 0.00611997 0 -0.0047325 -0.00297499 -0.0496605 0.998751 uwb: 0.50007050 845.885 645.561 -imu_odom_: 1691062432.372107946 0.227449 -0.201113 10.1897 -0.052198 0.00319579 0.0468716 0.25 0 pose: 0.0 3.61366 0.00611997 0 -0.0047325 -0.00297499 -0.0496605 0.998751 uwb: 0.0 845.885 645.561 -imu_odom_: 1691062432.389238906 0.782904 -0.114922 9.59357 -0.0500674 -0.0117179 0.0330232 0.25 0 pose: 0.0 3.61366 0.00611997 0 -0.0047325 -0.00297499 -0.0496605 0.998751 uwb: 0.0 845.885 645.561 -imu_odom_: 1691062432.405181762 0.560243 -0.215478 9.71567 -0.0415453 0.0117179 0.0468716 0.18 -0.02 pose: 0.40002082 3.62425 -0.0032551 0 -0.00294783 -0.000281409-0.0495838 0.998766 uwb: 0.49875233 846.788 644.247 -imu_odom_: 1691062432.432035974 0.462081 -0.153229 10.137 -0.0490022 -0.0127832 0.0447411 0.25 0.02 pose: 0.0 3.62425 -0.0032551 0 -0.00294783 -0.000281409-0.0495838 0.998766 uwb: 0.0 846.788 644.247 -imu_odom_: 1691062432.448034532 0.881066 0.0574608 9.36612 -0.0532632 -0.0777643 0.0681769 0.25 0.02 pose: 0.34010242 3.63423 -0.00264738 0 -0.00118063 -0.00278437 -0.0495484 0.998767 uwb: 0.50235105 847.918 642.587 -imu_odom_: 1691062432.465031050 0.852336 -0.268151 9.48583 -0.0692422 0.0213053 0.136354 0.17 0.02 pose: 0.0 3.63423 -0.00264738 0 -0.00118063 -0.00278437 -0.0495484 0.998767 uwb: 0.0 847.918 642.587 -imu_odom_: 1691062432.481028442 1.16119 -0.304064 10.082 -0.056459 0.0106526 0.158724 0.17 0.02 pose: 0.0 3.63423 -0.00264738 0 -0.00118063 -0.00278437 -0.0495484 0.998767 uwb: 0.0 847.918 642.587 -imu_odom_: 1691062432.498276928 0.486023 -0.56982 9.32781 -0.0276969 -0.0383495 0.196009 0.19 0.35 pose: 0.67966823 3.64417 -0.00203713 0 0.000549954 -0.0078723 -0.0474947 0.99884 uwb: 0.49903229 846.43 642.558 -imu_odom_: 1691062432.514030516 1.42934 -0.354342 9.79468 -0.0585895 -0.0287621 0.290817 0.19 0.35 pose: 0.0 3.64417 -0.00203713 0 0.000549954 -0.0078723 -0.0474947 0.99884 uwb: 0.0 846.43 642.558 -imu_odom_: 1691062432.531143395 1.48201 -0.653617 10.1873 -0.0628506 0.0330232 0.38243 0.19 0.35 pose: 0.0 3.64417 -0.00203713 0 0.000549954 -0.0078723 -0.0474947 0.99884 uwb: 0.0 846.43 642.558 -imu_odom_: 1691062432.547180156 0.933739 -0.486023 9.71806 -0.0372843 0.0351537 0.411192 0.11 0.38 pose: 0.7121908 3.64421 -0.00203616 0 -5.81585e-05-0.00784921 -0.0469322 0.998867 uwb: 0.49909353 846.436 641.711 -imu_odom_: 1691062432.574194473 0.790087 -0.28491 9.96706 -0.0681769 -0.0149137 0.565655 0.11 0.38 pose: 0.0 3.64421 -0.00203616 0 -5.81585e-05-0.00784921 -0.0469322 0.998867 uwb: 0.0 846.436 641.711 -imu_odom_: 1691062432.590002014 0.828394 -0.61531 9.57681 -0.0532632 -0.0181095 0.637028 0.1 0.44 pose: 0.50880483 3.6542 -0.00146899 0 -0.00258808 -0.0111986 -0.0397491 0.999144 uwb: 0.0 846.436 641.711 -imu_odom_: 1691062432.607020987 -0.344765 -0.679953 9.06684 -0.0543285 0.116114 0.532632 0.14 0.47 pose: 0.0 3.6542 -0.00146899 0 -0.00258808 -0.0111986 -0.0397491 0.999144 uwb: 0.49985469 845.283 641.617 -imu_odom_: 1691062432.623069997 -1.40061 0.641646 10.3741 -0.0213053 -0.00106526 0.328101 0.11 0.32 pose: 0.0 3.6542 -0.00146899 0 -0.00258808 -0.0111986 -0.0397491 0.999144 uwb: 0.0 845.283 641.617 -imu_odom_: 1691062432.640007022 -0.909797 0.459687 9.76595 -0.0660464 -0.106526 0.297209 0.11 0.32 pose: 0.75989579 3.6542 -0.00146901 0 -0.00535069 -0.0117501 -0.0210347 0.999695 uwb: 0.0 845.283 641.617 -imu_odom_: 1691062432.656126607 0.560243 -0.407014 10.4818 -0.072438 -0.0500674 0.291882 0.13 0.26 pose: 0.0 3.6542 -0.00146901 0 -0.00535069 -0.0117501 -0.0210347 0.999695 uwb: 0.49927435 844.737 641.213 -imu_odom_: 1691062432.673177659 0.758962 -0.739808 9.34457 -0.0553937 -0.0266316 0.262055 0.13 0.26 pose: 0.33112602 3.66417 -0.0007890840 -0.0050022 -0.0101451 -0.016656 0.999797 uwb: 0.0 844.737 641.213 -imu_odom_: 1691062432.689126057 0.122104 -0.31364 9.47146 -0.052198 0.0777643 0.245011 0.13 0.26 pose: 0.0 3.66417 -0.0007890840 -0.0050022 -0.0101451 -0.016656 0.999797 uwb: 0.0 844.737 641.213 -imu_odom_: 1691062432.706196065 -0.265756 0.0430956 9.60075 -0.0543285 0.015979 0.247141 0.19 0.23 pose: 0.40993043 3.66417 -0.0007890840 -0.00723249 -0.00846985 -0.0120856 0.999865 uwb: 0.50117578 843.941 641.097 -imu_odom_: 1691062432.722109759 -0.275333 -0.40462 10.0844 -0.0756338 -0.0330232 0.246076 0.19 0.23 pose: 0.0 3.66417 -0.0007890840 -0.00723249 -0.00846985 -0.0120856 0.999865 uwb: 0.0 843.941 641.097 -imu_odom_: 1691062432.739105985 0.682347 -0.47884 10.2831 -0.0596548 -0.0415453 0.207727 0.19 0.23 pose: 0.0 3.66417 -0.0007890840 -0.00723249 -0.00846985 -0.0120856 0.999865 uwb: 0.0 843.941 641.097 -imu_odom_: 1691062432.754993432 0.548272 -0.287304 9.91199 -0.0532632 -0.00958738 0.2024 0.14 0.17 pose: 0.8021880 3.66417 -0.0007890840 -0.00688279 -0.00766175 -0.0112516 0.999884 uwb: 0.49793576 844.326 640.263 -imu_odom_: 1691062432.772054691 0.275333 -0.0574608 9.74679 -0.0639159 0.0394148 0.225836 0.2 0.17 pose: 0.0 3.66417 -0.0007890840 -0.00688279 -0.00766175 -0.0112516 0.999884 uwb: 0.0 844.326 640.263 -imu_odom_: 1691062432.788046542 -0.126893 -0.301669 9.94312 -0.0884169 0.00532632 0.224771 0.2 0.17 pose: 0.64997441 3.67415 -0.0001135950 -0.00577582 -0.00654618 -0.00528359 0.999948 uwb: 0.0 844.326 640.263 -imu_odom_: 1691062432.805167294 0.526724 -0.272939 9.88326 -0.0607201 -0.0255663 0.169377 0.19 0.14 pose: 0.0 3.67415 -0.0001135950 -0.00577582 -0.00654618 -0.00528359 0.999948 uwb: 0.50009091 843.999 639.508 -imu_odom_: 1691062432.821064073 0.730232 -0.186748 10.173 -0.0553937 -0.0287621 0.169377 0.19 0.14 pose: 0.0 3.67415 -0.0001135950 -0.00577582 -0.00654618 -0.00528359 0.999948 uwb: 0.0 843.999 639.508 -imu_odom_: 1691062432.839246069 0.275333 -0.337582 9.50977 -0.0553937 0.0532632 0.170442 0.19 0.14 pose: 0.32855968 3.68413 0.000580923 0 -0.00487133 -0.00452094 -0.00242951 0.999975 uwb: 0.0 843.999 639.508 -imu_odom_: 1691062432.855008406 0.565032 -0.466869 10.3046 -0.0436758 -0.0276969 0.158724 0.16 0.14 pose: 0.44244723 3.69001 0.000942103 0 -0.00387705 -0.00465317 0.000443445 0.999982 uwb: 0.50263976 843.997 638.638 -imu_odom_: 1691062432.872186318 1.09654 -0.0670376 9.28232 -0.0468716 -0.0106526 0.191748 0.16 0.14 pose: 0.6842526 3.69411 0.00123151 0 -0.00447738 -0.00497957 0.000853558 0.999977 uwb: 0.0 843.997 638.638 -imu_odom_: 1691062432.889256910 1.01993 -0.0071826110.1682 -0.0511327 0.0170442 0.257794 0.16 0.14 pose: 0.0 3.69411 0.00123151 0 -0.00447738 -0.00497957 0.000853558 0.999977 uwb: 0.0 843.997 638.638 -imu_odom_: 1691062432.905086614 1.63763 -0.536301 9.7851 -0.0468716 -0.0447411 0.24075 0.17 0.11 pose: 0.43168315 3.69411 0.00123151 0 -0.00360135 -0.00829753 0.00453267 0.999949 uwb: 0.49783078 846.357 637.168 -imu_odom_: 1691062432.922130084 1.60412 -0.007182619.61272 -0.0276969 0.00958738 0.134223 0.11 0.08 pose: 0.0 3.69411 0.00123151 0 -0.00360135 -0.00829753 0.00453267 0.999949 uwb: 0.0 846.357 637.168 -imu_odom_: 1691062432.939175595 1.30484 0.304064 9.85693 -0.0479369 0.0287621 0.117179 0.11 0.08 pose: 0.0 3.69411 0.00123151 0 -0.00360135 -0.00829753 0.00453267 0.999949 uwb: 0.0 846.357 637.168 -imu_odom_: 1691062432.954996842 0.677559 -0.277727 9.91199 -0.0617853 0.0394148 0.11931 0.1 0.05 pose: 0.23883955 3.70408 0.00194444 0 -0.00357007 -0.0108737 0.00650046 0.999913 uwb: 0.49998592 847.752 636.045 -imu_odom_: 1691062432.972109429 0.392649 -0.593762 9.9934 -0.0543285 0.00426106 0.0852212 0.1 0.05 pose: 0.0 3.70408 0.00194444 0 -0.00357007 -0.0108737 0.00650046 0.999913 uwb: 0.0 847.752 636.045 -imu_odom_: 1691062432.988027205 0.653617 -0.009576819.67736 -0.0436758 -0.0234358 0.0649811 0.1 0.05 pose: 0.33016365 3.70408 0.00194444 0 -0.00248936 -0.0130648 0.00784673 0.999881 uwb: 0.0 847.752 636.045 -imu_odom_: 1691062433.5136293 0.770933 0 9.76355 -0.0553937 0.00106526 0.122505 0.1 0.11 pose: 0.41869975 3.70408 0.00194444 0 -0.00268839 -0.0125846 0.00879937 0.999878 uwb: 0.49933268 849.011 634.579 -imu_odom_: 1691062433.20960756 0.711078 -0.459687 9.8282 -0.0585895 -0.00106526 0.134223 0.1 0.11 pose: 0.7959180 3.70408 0.00194444 0 -0.00196869 -0.0128929 0.00911926 0.999873 uwb: 0.0 849.011 634.579 -imu_odom_: 1691062433.37954949 0.68953 -0.435745 9.92157 -0.0436758 -0.00852212 0.110787 0.1 0.11 pose: 0.0 3.70408 0.00194444 0 -0.00196869 -0.0128929 0.00911926 0.999873 uwb: 0.0 849.011 634.579 -imu_odom_: 1691062433.54135785 0.617704 -0.0646434 9.93354 -0.0436758 0.00745685 0.0937433 0.05 0.08 pose: 0.41968564 3.71474 -0.00734984 0 -0.00431178 -0.0138506 0.0108839 0.999836 uwb: 0.50151718 849.398 633.707 -imu_odom_: 1691062433.81071376 0.663194 -0.244209 9.79707 -0.0681769 -0.00852212 0.111853 0.07 0.08 pose: 0.0 3.71474 -0.00734984 0 -0.00431178 -0.0138506 0.0108839 0.999836 uwb: 0.0 849.398 633.707 -imu_odom_: 1691062433.105957387 0.100556 -0.325611 9.85693 -0.0532632 0.0372843 0.0117179 0.05 0.02 pose: 0.24148477 3.71474 -0.00734984 0 -0.00191389 -0.0134307 0.0115795 0.999841 uwb: 0.49967998 849.228 633.294 -imu_odom_: 1691062433.133078455 -1.41737 0.155623 10.1083 -0.0681769 0.0340885 0.0585895 0.05 0.02 pose: 0.0 3.71474 -0.00734984 0 -0.00191389 -0.0134307 0.0115795 0.999841 uwb: 0.0 849.228 633.294 -imu_odom_: 1691062433.158036499 -0.354342 -0.869095 9.663 -0.0575243 -0.103331 0.0681769 0.09 0.02 pose: 0.70975029 3.71474 -0.00734984 0 -0.000318458-0.00744581 0.012151 0.999898 uwb: 0.49949041 850.431 631.659 -imu_odom_: 1691062433.184944094 0.691924 0.0191536 9.663 -0.0607201 -0.0308927 0.0969391 0.09 0.02 pose: 0.7999721 3.71474 -0.00734984 0 -0.000798665-0.00719732 0.0122693 0.999899 uwb: 0.0 850.431 631.659 -imu_odom_: 1691062433.201010902 0.23942 -0.0646434 9.54568 -0.0713727 0.0372843 0.0980043 0.11 0 pose: 0.0 3.71474 -0.00734984 0 -0.000798665-0.00719732 0.0122693 0.999899 uwb: 0.49983454 848.352 632.078 -imu_odom_: 1691062433.227954075 -0.155623 -0.191536 9.97185 -0.0458064 -0.00319579 0.0543285 0.11 0 pose: 0.50886343 3.72472 -0.00670477 0 0.000657383 -0.00759467 0.0134757 0.99988 uwb: 0.0 848.352 632.078 -imu_odom_: 1691062433.252936033 0.172383 -0.277727 9.87608 -0.0415453 0.00745685 0.0756338 0.16 0.02 pose: 0.35989556 3.72472 -0.00670477 0 0.00105386 -0.00386247 0.0139333 0.999895 uwb: 0.0 848.352 632.078 -imu_odom_: 1691062433.269934601 0.0837971 -0.0790087 9.60554 -0.0447411 0.015979 0.0639159 0.16 0.02 pose: 0.7063003 3.72472 -0.00670477 0 0.000908043 -0.00314052 0.0140609 0.999896 uwb: 0.0 848.352 632.078 -imu_odom_: 1691062433.285929084 -0.102951 -0.0957681 10.1682 -0.0415453 0.0245011 0.0809601 0.15 0.05 pose: 0.0 3.72472 -0.00670477 0 0.000908043 -0.00314052 0.0140609 0.999896 uwb: 0.0 848.352 632.078 -imu_odom_: 1691062433.303046346 -0.208296 -0.268151 9.46428 -0.0490022 -0.0213053 0.0617853 0.15 0.05 pose: 0.42925117 3.7347 -0.00602412 0 0.00137846 0.00137385 0.014755 0.999889 uwb: 0.99929288 848.324 631.097 -imu_odom_: 1691062433.327939065 0.397437 -0.0742203 9.89045 -0.0383495 -0.02024 0.0628506 0.14 0.02 pose: 0.0 3.7347 -0.00602412 0 0.00137846 0.00137385 0.014755 0.999889 uwb: 0.0 848.324 631.097 -imu_odom_: 1691062433.352918980 1.1157 -0.459687 10.1969 -0.0596548 -0.0532632 0.0894822 0.14 0.02 pose: 0.33111163 3.7347 -0.00602412 0 0.00211421 0.00335105 0.0152017 0.999877 uwb: 0.50138018 849.835 629.261 -imu_odom_: 1691062433.375905893 -0.227449 -0.189142 9.57441 -0.0458064 0.0308927 0.056459 0.14 0.02 pose: 0.0 3.7347 -0.00602412 0 0.00211421 0.00335105 0.0152017 0.999877 uwb: 0.0 849.835 629.261 -imu_odom_: 1691062433.391924290 -0.0335188 -0.0837971 10.1227 -0.0575243 0.00213053 0.0916127 0.14 0 pose: 0.47900044 3.74467 -0.00532051 0 0.00273128 0.000140661 0.0160812 0.999867 uwb: 0.49886925 848.878 628.762 -imu_odom_: 1691062433.408980892 -0.107739 -0.347159 9.13627 -0.072438 -0.00745685 0.0884169 0.2 0.05 pose: 0.0 3.74467 -0.00532051 0 0.00273128 0.000140661 0.0160812 0.999867 uwb: 0.0 848.878 628.762 -imu_odom_: 1691062433.433955267 0.536301 -0.0430956 10.2065 -0.0617853 -0.0458064 0.0596548 0.2 0.05 pose: 0.39991313 3.75465 -0.00459949 0 0.00262815 0.00439192 0.0168022 0.999846 uwb: 0.0 848.878 628.762 -imu_odom_: 1691062433.458043085 -0.272939 -0.260968 10.4363 -0.0596548 0.00319579 0.0884169 0.16 0.02 pose: 0.35010552 3.75465 -0.00459949 0 0.00327438 0.00258293 0.0173042 0.999842 uwb: 0.0 848.878 628.762 -imu_odom_: 1691062433.481081616 0.383072 -0.296881 9.72764 -0.0553937 0.0138484 0.0479369 0.16 0.02 pose: 0.0 3.75465 -0.00459949 0 0.00327438 0.00258293 0.0173042 0.999842 uwb: 0.0 848.878 628.762 -imu_odom_: 1691062433.494904618 0.773327 -0.131681 9.98143 -0.0447411 -0.0351537 0.0596548 0.15 0.02 pose: 0.0 3.75465 -0.00459949 0 0.00327438 0.00258293 0.0173042 0.999842 uwb: 0.100052939 848.243 628.132 -imu_odom_: 1691062433.511928557 0.11971 -0.241814 9.94551 -0.0639159 -0.00532632 0.0894822 0.15 0.02 pose: 0.53017871 3.76462 -0.00385053 0 0.000874939 0.00341408 0.0180335 0.999831 uwb: 0.0 848.243 628.132 -imu_odom_: 1691062433.536912265 0.011971 -0.383072 9.81862 -0.0585895 0.0681769 0.0468716 0.16 0.02 pose: 0.0 3.76462 -0.00385053 0 0.000874939 0.00341408 0.0180335 0.999831 uwb: 0.0 848.243 628.132 -imu_odom_: 1691062433.561897430 0.23942 -0.500388 9.43315 -0.0543285 -0.00106526 0.0830906 0.16 0.02 pose: 0.32953390 3.7746 -0.00319025 0 0.000167325 0.00513128 0.0185633 0.999815 uwb: 0.49924836 845.739 628.501 -imu_odom_: 1691062433.575955194 0.708684 -0.517148 9.36372 -0.0735032 -0.0543285 0.0713727 0.18 0.02 pose: 0.0 3.7746 -0.00319025 0 0.000167325 0.00513128 0.0185633 0.999815 uwb: 0.0 845.739 628.501 -imu_odom_: 1691062433.599911487 0.143652 -0.153229 9.90242 -0.0511327 -0.0223706 0.0543285 0.15 0 pose: 0.56028666 3.77992 -0.002832 0 -0.00400705 0.00585881 0.019363 0.999787 uwb: 0.49952541 845.848 627.845 -imu_odom_: 1691062433.624893736 0.122104 -0.361524 10.1059 -0.0649811 0.0351537 0.0628506 0.2 0 pose: 0.0 3.77992 -0.002832 0 -0.00400705 0.00585881 0.019363 0.999787 uwb: 0.0 845.848 627.845 -imu_odom_: 1691062433.647898729 0.636858 0.0143652 9.34696 -0.052198 -0.02024 0.0468716 0.2 0 pose: 0.6969390 3.78457 -0.00251223 0 -0.00351786 0.00630821 0.0194194 0.999785 uwb: 0.50059278 845.008 627.659 -imu_odom_: 1691062433.672890893 0.414197 -0.438139 10.0221 -0.0681769 0.00852212 0.0692422 0.18 0 pose: 0.48063066 3.79455 -0.0018195 0 -0.00365505 0.00929799 0.0198634 0.999753 uwb: 0.0 845.008 627.659 -imu_odom_: 1691062433.696888014 0.806846 -0.342371 10.1706 -0.0319579 -0.0181095 0.0372843 0.2 0 pose: 0.0 3.79455 -0.0018195 0 -0.00365505 0.00929799 0.0198634 0.999753 uwb: 0.49917546 847.292 625.802 -imu_odom_: 1691062433.712876082 0.260968 -0.138864 9.43555 -0.0745685 0.0149137 0.072438 0.2 0 pose: 0.0 3.79455 -0.0018195 0 -0.00365505 0.00929799 0.0198634 0.999753 uwb: 0.0 847.292 625.802 -imu_odom_: 1691062433.738866206 0.361524 -0.0790087 10.1586 -0.0330232 -0.00319579 0.0383495 0.17 0 pose: 0.72914373 3.80452 -0.00111986 0 -0.00382438 0.00402356 0.0203621 0.999777 uwb: 0.0 847.292 625.802 -imu_odom_: 1691062433.752862728 0.244209 -0.141258 9.71806 -0.0692422 0.00745685 0.0532632 0.17 0 pose: 0.0 3.80452 -0.00111986 0 -0.00382438 0.00402356 0.0203621 0.999777 uwb: 0.50058111 848.628 624.397 -imu_odom_: 1691062433.768898332 0.395043 -0.320823 9.9503 -0.0777643 -0.00639159 0.0639159 0.17 0 pose: 0.48960705 3.8145 -0.0004134750 0.000548768 0.00505738 0.0206064 0.999775 uwb: 0.0 848.628 624.397 -imu_odom_: 1691062433.793916451 0.732626 -0.454898 10.2113 -0.0426106 -0.0223706 0.0330232 0.17 0.02 pose: 0.0 3.8145 -0.0004134750 0.000548768 0.00505738 0.0206064 0.999775 uwb: 0.49875259 847.584 623.703 -imu_odom_: 1691062433.818971316 0.567426 -0.332794 10.1634 -0.0660464 -0.00852212 0.0596548 0.17 0.02 pose: 0.7015176 3.8145 -0.0004134750 -7.72448e-050.00461045 0.0206897 0.999775 uwb: 0.0 847.584 623.703 -imu_odom_: 1691062433.835847691 0.452504 -0.189142 9.98143 -0.0245011 0.00958738 0.036219 0.24 0 pose: 0.0 3.8145 -0.0004134750 -7.72448e-050.00461045 0.0206897 0.999775 uwb: 0.0 847.584 623.703 -imu_odom_: 1691062433.860904014 0.579397 -0.0981623 10.058 -0.0628506 0.0127832 0.0649811 0.24 0 pose: 0.75969787 3.82447 0.00029983 0 -0.00108002 -0.0012992 0.0209221 0.99978 uwb: 0.50113230 848.263 622.542 -imu_odom_: 1691062433.885846310 1.67834 -0.0694318 9.11233 -0.0468716 0.0479369 0.0191748 0.17 0.02 pose: 0.0 3.82447 0.00029983 0 -0.00108002 -0.0012992 0.0209221 0.99978 uwb: 0.0 848.263 622.542 -imu_odom_: 1691062433.899892118 -0.203507 0.100556 11.0971 -0.0490022 0.116114 0.0671117 0.17 0.02 pose: 0.32035045 3.83445 0.00101972 0 0.000672383 -0.00340849 0.0211647 0.99977 uwb: 0.49933002 847.6 621.846 -imu_odom_: 1691062433.916056330 0.371101 -0.445322 8.7556 -0.052198 -0.0213053 0.0458064 0.17 0 pose: 0.0 3.83445 0.00101972 0 0.000672383 -0.00340849 0.0211647 0.99977 uwb: 0.0 847.6 621.846 -imu_odom_: 1691062433.940942341 1.21386 -0.392649 9.23204 -0.0639159 -0.0958738 0.0649811 0.17 0 pose: 0.48173594 3.84442 0.00174238 0 -1.28184e-05-0.00227125 0.0212263 0.999772 uwb: 0.49982579 847.98 620.881 -imu_odom_: 1691062433.965858973 1.17076 -0.390255 9.79468 -0.0639159 0.0138484 0.056459 0.19 0.02 pose: 0.6890650 3.84442 0.00174238 0 -0.000175975-0.00326272 0.021314 0.999767 uwb: 0.0 847.98 620.881 -imu_odom_: 1691062433.981985566 0.445322 -0.227449 10.4052 -0.0447411 -0.0223706 0.0426106 0.18 0 pose: 0.0 3.84442 0.00174238 0 -0.000175975-0.00326272 0.021314 0.999767 uwb: 0.0 847.98 620.881 -imu_odom_: 1691062433.996004543 0.366313 -0.0814029 9.67976 -0.0756338 -0.0447411 0.0319579 0.17 -0.02 pose: 0.48930667 3.85439 0.00247024 0 -0.00115905 -0.00751956 0.0217635 0.999734 uwb: 0.49949041 845.338 621.012 -imu_odom_: 1691062434.19915350 0.306458 -0.217872 10.07 -0.0639159 -0.0511327 0.0468716 0.17 -0.02 pose: 0.0 3.85439 0.00247024 0 -0.00115905 -0.00751956 0.0217635 0.999734 uwb: 0.0 845.338 621.012 -imu_odom_: 1691062434.47006686 0.914585 -0.162806 10.0173 -0.0713727 -0.0127832 0.0553937 0.22 0.02 pose: 0.31044084 3.85439 0.00247024 0 -0.000212066-0.0053262 0.0217461 0.999749 uwb: 0.50169243 845.977 619.737 -imu_odom_: 1691062434.71874629 0.991199 0.122104 10.4986 -0.0607201 -0.015979 0.0511327 0.22 0.02 pose: 0.0 3.85439 0.00247024 0 -0.000212066-0.0053262 0.0217461 0.999749 uwb: 0.0 845.977 619.737 -imu_odom_: 1691062434.88880496 0.138864 -0.435745 9.73004 -0.092678 -0.0383495 0.0671117 0.23 0 pose: 0.68952898 3.87142 0.00372583 0 0.00141275 -0.00891412 0.0221507 0.999714 uwb: 0.0 845.977 619.737 -imu_odom_: 1691062434.113966871 0.349553 -0.277727 9.61511 -0.0617853 -0.00745685 0.04048 0.23 0 pose: 0.6958602 3.87434 0.00394323 0 0.000931206 -0.00843648 0.0222476 0.999716 uwb: 0.49879659 845.309 619.044 -imu_odom_: 1691062434.139908598 0.428562 -0.248997 10.1155 -0.0820254 0.0181095 0.0649811 0.19 0.02 pose: 0.35133640 3.88156 0.00448182 0 -0.000663038-0.00541439 0.0224042 0.999734 uwb: 0.0 845.309 619.044 -imu_odom_: 1691062434.163844197 0.40462 -0.189142 9.93594 -0.0468716 0.0138484 0.0287621 0.2 0 pose: 0.0 3.88156 0.00448182 0 -0.000663038-0.00541439 0.0224042 0.999734 uwb: 0.50003020 847.634 617.121 -imu_odom_: 1691062434.181823820 0.155623 -0.423774 9.65821 -0.0830906 0.00426106 0.0607201 0.2 0 pose: 0.49877326 3.89119 0.00520525 0 0.00025435 -0.00082117 0.0226053 0.999744 uwb: 0.0 847.634 617.121 -imu_odom_: 1691062434.205834368 0.603339 -0.186748 10.0533 -0.0276969 -0.00319579 0.0394148 0.18 -0.02 pose: 0.0 3.89119 0.00520525 0 0.00025435 -0.00082117 0.0226053 0.999744 uwb: 0.50060179 848.327 615.935 -imu_odom_: 1691062434.229827710 0.773327 -0.124498 9.84256 -0.0575243 0.00213053 0.0468716 0.18 -0.02 pose: 0.41990171 3.89428 0.0054383 0 -0.00022111 -0.00168381 0.0227911 0.999739 uwb: 0.0 848.327 615.935 -imu_odom_: 1691062434.255945874 0.718261 -0.227449 9.89045 -0.0468716 -0.015979 0.0500674 0.19 0 pose: 0.0 3.89428 0.0054383 0 -0.00022111 -0.00168381 0.0227911 0.999739 uwb: 0.49935361 850.11 614.555 -imu_odom_: 1691062434.279817606 0.169988 -0.0454898 9.85932 -0.0585895 -0.02024 0.0436758 0.19 0 pose: 0.31026894 3.90426 0.00619395 0 0.00044365 -0.00464723 0.022914 0.999727 uwb: 0.0 850.11 614.555 -imu_odom_: 1691062434.296982704 0.409408 -0.167594 10.0006 -0.0223706 -0.0308927 0.0447411 0.25 -0.02 pose: 0.0 3.90426 0.00619395 0 0.00044365 -0.00464723 0.022914 0.999727 uwb: 0.50213869 851.066 613.025 -imu_odom_: 1691062434.312967281 0.47884 -0.107739 10.3094 -0.056459 -0.0117179 0.0575243 0.25 -0.02 pose: 0.49974440 3.91423 0.00695375 0 0.00159474 -0.00406481 0.023074 0.999724 uwb: 0.0 851.066 613.025 -imu_odom_: 1691062434.339889763 0.483629 -0.131681 9.991 -0.0543285 0.00639159 0.0394148 0.25 -0.02 pose: 0.0 3.91423 0.00695375 0 0.00159474 -0.00406481 0.023074 0.999724 uwb: 0.0 851.066 613.025 -imu_odom_: 1691062434.364999176 0.272939 -0.301669 9.98861 -0.056459 -0.0127832 0.0426106 0.25 -0.02 pose: 0.33009400 3.91423 0.00695375 0 0.00414276 -0.00382749 0.0232359 0.999714 uwb: 0.49814334 852.177 611.869 -imu_odom_: 1691062434.381937677 0.0933739 -0.1652 9.98143 -0.0468716 -0.0308927 0.036219 0.23 0 pose: 0.0 3.91423 0.00695375 0 0.00414276 -0.00382749 0.0232359 0.999714 uwb: 0.0 852.177 611.869 -imu_odom_: 1691062434.406804745 0.797269 -0.241814 9.83299 -0.0543285 -0.00426106 0.0468716 0.23 0 pose: 0.62092575 3.92975 0.00814282 0 0.0039709 -0.00170322 0.023233 0.999721 uwb: 0.49921946 850.221 611.839 -imu_odom_: 1691062434.432815880 0.474052 -0.107739 10.0317 -0.0223706 -0.00213053 0.0298274 0.23 0 pose: 0.7901154 3.93417 0.00848121 0 0.00377375 -0.00246759 0.0232652 0.999719 uwb: 0.0 850.221 611.839 -imu_odom_: 1691062434.458055361 0.335188 -0.225055 9.80904 -0.0553937 -0.02024 0.0340885 0.23 0 pose: 0.0 3.93417 0.00848121 0 0.00377375 -0.00246759 0.0232652 0.999719 uwb: 0.49950817 850.722 611.117 -imu_odom_: 1691062434.474941368 0.675165 -0.0766145 9.73004 -0.0245011 -0.0149137 0.0351537 0.21 0 pose: 0.0 3.93417 0.00848121 0 0.00377375 -0.00246759 0.0232652 0.999719 uwb: 0.0 850.722 611.117 -imu_odom_: 1691062434.490832915 0.363919 -0.169988 9.85453 -0.0511327 0.00745685 0.0575243 0.21 0 pose: 0.50016142 3.94414 0.00924556 0 0.00576691 -0.00286 0.0231752 0.999711 uwb: 0.49939153 852.162 609.787 -imu_odom_: 1691062434.516858340 0.179565 -0.0814029 10.0724 -0.0394148 0.00213053 0.0351537 0.25 0 pose: 0.0 3.94414 0.00924556 0 0.00576691 -0.00286 0.0231752 0.999711 uwb: 0.0 852.162 609.787 -imu_odom_: 1691062434.541937132 0.191536 -0.268151 9.29669 -0.072438 0.0191748 0.0532632 0.25 0 pose: 0.58089942 3.95411 0.0100068 0 0.00459545 -0.00122267 0.0232097 0.999719 uwb: 0.49960441 853.31 608.701 -imu_odom_: 1691062434.566809449 0.114922 -0.201113 9.59835 -0.0308927 0.00745685 0.0245011 0.18 0 pose: 0.0 3.95411 0.0100068 0 0.00459545 -0.00122267 0.0232097 0.999719 uwb: 0.0 853.31 608.701 -imu_odom_: 1691062434.588925855 0.107739 -0.335188 9.59596 -0.0639159 0.0340885 0.0479369 0.18 0 pose: 0.43992217 3.96128 0.0105556 0 0.0032807 0.00299469 0.0233217 0.999718 uwb: 0.0 853.31 608.701 -imu_odom_: 1691062434.614927659 0.337582 -0.158017 9.88326 -0.0553937 0.00852212 0.0458064 0.19 -0.02 pose: 0.7027428 3.96408 0.0107709 0 0.003202 0.00372135 0.0232658 0.999717 uwb: 0.50008560 854.319 607.221 -imu_odom_: 1691062434.631921569 0.557849 0.00957681 9.94551 -0.0639159 -0.0223706 0.052198 0.19 -0.02 pose: 0.0 3.96408 0.0107709 0 0.003202 0.00372135 0.0232658 0.999717 uwb: 0.0 854.319 607.221 -imu_odom_: 1691062434.647852486 0.402226 -0.339977 9.81623 -0.0639159 0.0639159 0.0181095 0.2 0 pose: 0.0 3.96408 0.0107709 0 0.003202 0.00372135 0.0232658 0.999717 uwb: 0.50019934 855.311 605.677 -imu_odom_: 1691062434.674825420 0.225055 -0.335188 10.1921 -0.0607201 -0.015979 0.0543285 0.2 0 pose: 0.47998349 3.97405 0.0115353 0 0.00161298 0.00685759 0.0232328 0.999705 uwb: 0.0 855.311 605.677 -imu_odom_: 1691062434.699777352 0.414197 -0.0766145 10.0341 -0.0511327 -0.0447411 0.0426106 0.19 0 pose: 0.77862511 3.98479 0.0023308 0 -0.0007524830.00499569 0.023427 0.999713 uwb: 0.0 855.311 605.677 -imu_odom_: 1691062434.716761639 0.699107 -0.280122 9.93594 -0.0660464 0.0330232 0.0490022 0.19 0 pose: 0.0 3.98479 0.0023308 0 -0.0007524830.00499569 0.023427 0.999713 uwb: 0.0 855.311 605.677 -imu_odom_: 1691062434.741768982 0.0574608 0.251391 9.88566 -0.0415453 -0.0255663 0.0351537 0.19 0 pose: 0.8010807 3.98479 0.0023308 0 -7.43923e-050.00437511 0.0234422 0.999716 uwb: 0.100066698 853.624 605.348 -imu_odom_: 1691062434.766738704 0.538695 -0.131681 9.53371 -0.0692422 0.00639159 0.052198 0.19 0 pose: 0.0 3.98479 0.0023308 0 -7.43923e-050.00437511 0.0234422 0.999716 uwb: 0.0 853.624 605.348 -imu_odom_: 1691062434.780805224 0.593762 -0.31364 9.39724 -0.0468716 0.0276969 0.0170442 0.19 0 pose: 0.0 3.98479 0.0023308 0 -7.43923e-050.00437511 0.0234422 0.999716 uwb: 0.0 853.624 605.348 -imu_odom_: 1691062434.796772303 0.536301 -0.265756 10.2161 -0.0607201 -0.0213053 0.0383495 0.19 0 pose: 0.41978797 3.99476 0.00309894 0 0.00157601 0.00211569 0.0235387 0.999719 uwb: 0.50078552 852.203 604.698 -imu_odom_: 1691062434.820804432 0.790087 -0.414197 9.84017 -0.0553937 -0.0287621 0.0383495 0.27 0 pose: 0.0 3.99476 0.00309894 0 0.00157601 0.00211569 0.0235387 0.999719 uwb: 0.0 852.203 604.698 -imu_odom_: 1691062434.837863376 0.373495 -0.0574608 9.93833 -0.0351537 0.0500674 0.0287621 0.27 0 pose: 0.78971583 4.00473 0.00386906 0 0.00109277 -0.00238859 0.023505 0.99972 uwb: 0.0 852.203 604.698 -imu_odom_: 1691062434.861880049 0.548272 -0.107739 9.65103 -0.0617853 -0.0298274 0.036219 0.18 0 pose: 0.0 4.00473 0.00386906 0 0.00109277 -0.00238859 0.023505 0.99972 uwb: 0.50031016 854.353 603.074 -imu_odom_: 1691062434.885772487 0.363919 -0.158017 9.79468 -0.0426106 0.0170442 0.0276969 0.18 0 pose: 0.58093442 4.02179 0.00518539 0 0.00319859 -0.00473131 0.0233586 0.999711 uwb: 0.0 854.353 603.074 -imu_odom_: 1691062434.901765812 0.344765 -0.308852 9.991 -0.0703074 -0.036219 0.052198 0.19 0 pose: 0.0 4.02179 0.00518539 0 0.00319859 -0.00473131 0.0233586 0.999711 uwb: 0.49975315 852.962 602.509 -imu_odom_: 1691062434.926718620 0.42138 -0.205901 10.0221 -0.0394148 0.0127832 0.0436758 0.19 0 pose: 0.6913400 4.02467 0.00540681 0 0.00320847 -0.00396542 0.023316 0.999715 uwb: 0.0 852.962 602.509 -imu_odom_: 1691062434.940768809 0.92895 -0.265756 9.71088 -0.0585895 -0.0117179 0.0596548 0.19 0 pose: 0.0 4.02467 0.00540681 0 0.00320847 -0.00396542 0.023316 0.999715 uwb: 0.49913780 855.121 600.866 -imu_odom_: 1691062434.956721889 0.605733 -0.311246 10.0102 -0.0553937 0.0607201 0.0340885 0.17 -0.02 pose: 0.71975360 4.03464 0.00617283 0 -0.000428578-0.00169939 0.0235052 0.999722 uwb: 0.0 855.121 600.866 -imu_odom_: 1691062434.973839452 0.258574 -0.143652 9.90721 -0.0308927 0.00639159 0.0383495 0.17 -0.02 pose: 0.0 4.03464 0.00617283 0 -0.000428578-0.00169939 0.0235052 0.999722 uwb: 0.0 855.121 600.866 -imu_odom_: 1691062434.990827530 0.110133 -0.244209 9.96227 -0.0639159 -0.0234358 0.0671117 0.18 0 pose: 0.0 4.03464 0.00617283 0 -0.000428578-0.00169939 0.0235052 0.999722 uwb: 0.49980272 855.15 599.856 -imu_odom_: 1691062435.6792569 0.167594 -0.213084 9.77074 -0.056459 -0.00426106 0.0372843 0.18 0 pose: 0.40082614 4.04461 0.00694185 0 -0.000322302-0.0003301760.0235483 0.999723 uwb: 0.0 855.15 599.856 -imu_odom_: 1691062435.31784176 0.347159 -0.215478 10.1227 -0.0671117 -0.0372843 0.0628506 0.25 0.02 pose: 0.0 4.04461 0.00694185 0 -0.000322302-0.0003301760.0235483 0.999723 uwb: 0.0 855.15 599.856 -imu_odom_: 1691062435.45915738 0.471658 -0.565032 9.97185 -0.0660464 0.00319579 0.0319579 0.18 0 pose: 0.33001240 4.04461 0.00694185 0 -0.0001510840.00267243 0.0237515 0.999714 uwb: 0.50104527 855.49 598.608 -imu_odom_: 1691062435.61994811 0.629675 -0.105345 10.5177 -0.0394148 -0.0276969 0.0383495 0.17 0.02 pose: 0.0 4.04461 0.00694185 0 -0.0001510840.00267243 0.0237515 0.999714 uwb: 0.0 855.49 598.608 -imu_odom_: 1691062435.86718993 0.397437 -0.220267 10.2568 -0.0617853 -0.0575243 0.0415453 0.17 0.02 pose: 0.48142148 4.06023 0.00815483 0 -1.0619e-05 0.00180305 0.0238955 0.999713 uwb: 0.0 855.49 598.608 -imu_odom_: 1691062435.100765690 0.725443 -0.201113 9.47864 -0.052198 -0.0266316 0.0383495 0.18 0 pose: 0.0 4.06023 0.00815483 0 -1.0619e-05 0.00180305 0.0238955 0.999713 uwb: 0.49896891 854.222 598.391 -imu_odom_: 1691062435.124859074 0.866701 -0.122104 10.1323 -0.0809601 0.0106526 0.0543285 0.18 0 pose: 0.6879574 4.06455 0.00849169 0 -0.0001501370.00094226 0.0239021 0.999714 uwb: 0.0 854.222 598.391 -imu_odom_: 1691062435.148732276 0.845153 0.0167594 10.7284 -0.0596548 -0.00958738 0.0372843 0.23 0 pose: 0.0 4.06455 0.00849169 0 -0.0001501370.00094226 0.0239021 0.999714 uwb: 0.49878811 855.292 596.955 -imu_odom_: 1691062435.173706094 0.562637 -0.0311246 10.1083 -0.0809601 -0.00852212 0.0543285 0.23 0 pose: 0.79857891 4.07452 0.00927091 0 0.00134423 -0.00698821 0.0240484 0.999685 uwb: 0.0 855.292 596.955 -imu_odom_: 1691062435.197775855 0.363919 -0.0454898 9.84975 -0.0617853 0.0468716 0.0426106 0.18 0.02 pose: 0.0 4.07452 0.00927091 0 0.00134423 -0.00698821 0.0240484 0.999685 uwb: 0.50045915 854.566 596.042 -imu_odom_: 1691062435.214783190 0.332794 -0.225055 9.99579 -0.0830906 0.00958738 0.0607201 0.18 0.02 pose: 0.32090488 4.08449 0.0100524 0 0.00382363 -0.00648008 0.0242196 0.999678 uwb: 0.0 854.566 596.042 -imu_odom_: 1691062435.239675351 0.517148 -0.217872 10.0748 -0.0500674 -0.00106526 0.0266316 0.2 0 pose: 0.0 4.08449 0.0100524 0 0.00382363 -0.00648008 0.0242196 0.999678 uwb: 0.49946761 853.886 595.263 -imu_odom_: 1691062435.263966169 0.241814 -0.244209 9.76595 -0.0553937 -0.0426106 0.0490022 0.2 0 pose: 0.41943532 4.08449 0.0100524 0 0.00280204 -0.00349299 0.0243645 0.999693 uwb: 0.0 853.886 595.263 -imu_odom_: 1691062435.287975272 0.299275 -0.316035 10.0245 -0.0436758 -0.0308927 0.0532632 0.18 0 pose: 0.41199873 4.09446 0.0108388 0 0.000932275 -0.00262673 0.0243758 0.999699 uwb: 0.0 853.886 595.263 -imu_odom_: 1691062435.303846120 0.893037 -0.105345 9.9503 -0.056459 -0.0276969 0.0479369 0.18 0 pose: 0.0 4.09446 0.0108388 0 0.000932275 -0.00262673 0.0243758 0.999699 uwb: 0.49982339 852.498 594.741 -imu_odom_: 1691062435.330720206 0.80924 -0.0263362 10.3669 -0.0458064 -0.00639159 0.0479369 0.25 -0.02 pose: 0.6774588 4.09446 0.0108388 0 0.00055141 -0.00218646 0.0244228 0.999699 uwb: 0.0 852.498 594.741 -imu_odom_: 1691062435.346688167 0.186748 -0.411803 9.63187 -0.0745685 -0.00958738 0.056459 0.25 -0.02 pose: 0.0 4.09446 0.0108388 0 0.00055141 -0.00218646 0.0244228 0.999699 uwb: 0.50040374 853.2 593.361 -imu_odom_: 1691062435.370797883 0.246603 -0.411803 9.93594 -0.0426106 -0.0394148 0.0383495 0.25 0 pose: 0.40201328 4.10443 0.0116264 0 0.000391285 -0.00340384 0.0246363 0.999691 uwb: 0.0 853.2 593.361 -imu_odom_: 1691062435.395674879 0.790087 -0.248997 10.1418 -0.0628506 0.0106526 0.0532632 0.25 0 pose: 0.0 4.10443 0.0116264 0 0.000391285 -0.00340384 0.0246363 0.999691 uwb: 0.50088785 851.096 593.1 -imu_odom_: 1691062435.419662109 0.474052 -0.158017 10.2113 -0.0468716 -0.0351537 0.0415453 0.18 0 pose: 0.42831548 4.11439 0.0124183 0 -6.34763e-05-0.00350368 0.0248508 0.999685 uwb: 0.0 851.096 593.1 -imu_odom_: 1691062435.443741203 0.533907 -0.186748 10.1466 -0.0628506 -0.056459 0.0447411 0.23 0 pose: 0.0 4.11439 0.0124183 0 -6.34763e-05-0.00350368 0.0248508 0.999685 uwb: 0.49826026 851.5 592.002 -imu_odom_: 1691062435.468732810 0.509965 -0.0766145 10.0461 -0.0426106 -0.00319579 0.04048 0.23 0 pose: 0.48927802 4.12436 0.0132155 0 -0.000515146-0.00473029 0.0250158 0.999676 uwb: 0.0 851.5 592.002 -imu_odom_: 1691062435.484829381 0.679953 -0.289698 9.83538 -0.0596548 0.0191748 0.0479369 0.23 0 pose: 0.0 4.12436 0.0132155 0 -0.000515146-0.00473029 0.0250158 0.999676 uwb: 0.0 851.5 592.002 -imu_odom_: 1691062435.501781889 0.167594 -0.299275 10.0461 -0.0213053 -0.00426106 0.0213053 0.18 0 pose: 0.48021413 4.13433 0.0140154 0 0.00223001 -0.00717411 0.0250857 0.999657 uwb: 0.50134862 850.076 591.421 -imu_odom_: 1691062435.525709627 0.454898 -0.387861 9.93833 -0.0575243 -0.0170442 0.0511327 0.18 0 pose: 0.0 4.13433 0.0140154 0 0.00223001 -0.00717411 0.0250857 0.999657 uwb: 0.0 850.076 591.421 -imu_odom_: 1691062435.542663885 0.392649 -0.146046 10.1011 -0.0234358 0.0255663 0.0287621 0.2 -0.05 pose: 0.0 4.13433 0.0140154 0 0.00223001 -0.00717411 0.0250857 0.999657 uwb: 0.50002171 848.616 590.756 -imu_odom_: 1691062435.566642658 0.531513 -0.366313 9.83059 -0.0511327 -0.00852212 0.0596548 0.2 -0.05 pose: 0.40947029 4.13433 0.0140154 0 0.00273145 -0.00682239 0.0250993 0.999658 uwb: 0.0 848.616 590.756 -imu_odom_: 1691062435.591688217 0.392649 -0.0191536 9.90481 -0.0308927 0.00958738 0.0372843 0.18 0 pose: 0.74972781 4.15427 0.0156178 0 -0.000942277-0.00450341 0.0253135 0.999669 uwb: 0.49994004 847.85 589.787 -imu_odom_: 1691062435.614640448 0.402226 -0.153229 9.8282 -0.0798948 -0.0117179 0.0596548 0.18 0 pose: 0.0 4.15427 0.0156178 0 -0.000942277-0.00450341 0.0253135 0.999669 uwb: 0.0 847.85 589.787 -imu_odom_: 1691062435.630755101 0.37589 -0.251391 9.64384 -0.0639159 0.0340885 0.0351537 0.2 0.02 pose: 0.7052511 4.15427 0.0156178 0 -0.000222471-0.00414467 0.0253032 0.999671 uwb: 0.0 847.85 589.787 -imu_odom_: 1691062435.655640846 0.423774 -0.275333 10.0102 -0.0585895 0.00532632 0.056459 0.2 0.02 pose: 0.0 4.15427 0.0156178 0 -0.000222471-0.00414467 0.0253032 0.999671 uwb: 0.49739995 847.173 589.06 -imu_odom_: 1691062435.669638841 0.153229 -0.474052 9.7444 -0.0777643 -0.0372843 0.0426106 0.25 -0.02 pose: 0.0 4.15427 0.0156178 0 -0.000222471-0.00414467 0.0253032 0.999671 uwb: 0.0 847.173 589.06 -imu_odom_: 1691062435.685702749 0.751779 0.00957681 10.0796 -0.0553937 -0.00852212 0.0394148 0.25 -0.02 pose: 0.48961340 4.16423 0.0164243 0 0.00157339 -0.0006625220.0254822 0.999674 uwb: 0.0 847.173 589.06 -imu_odom_: 1691062435.710643321 0.543484 -0.0837971 9.97424 -0.0585895 -0.0340885 0.0532632 0.19 0 pose: 0.0 4.16423 0.0164243 0 0.00157339 -0.0006625220.0254822 0.999674 uwb: 0.50104824 845.808 588.692 -imu_odom_: 1691062435.726644820 0.588974 -0.282516 9.76355 -0.0575243 0.0596548 0.0149137 0.19 0 pose: 0.70002514 4.1742 0.0172331 0 -0.00111447 -0.00158537 0.0257411 0.999667 uwb: 0.0 845.808 588.692 -imu_odom_: 1691062435.743748393 0.459687 -0.514753 9.63187 -0.0607201 -0.0351537 0.0575243 0.19 0 pose: 0.0 4.1742 0.0172331 0 -0.00111447 -0.00158537 0.0257411 0.999667 uwb: 0.50009170 847.295 587.185 -imu_odom_: 1691062435.760671738 0.347159 -0.0861913 10.3717 -0.0607201 0.0127832 0.0447411 0.18 0 pose: 0.0 4.1742 0.0172331 0 -0.00111447 -0.00158537 0.0257411 0.999667 uwb: 0.0 847.295 587.185 -imu_odom_: 1691062435.785749377 0.136469 -0.0981623 9.84496 -0.0649811 0.0394148 0.0436758 0.18 0 pose: 0.51089370 4.18417 0.0180471 0 -0.00218183 -0.00399997 0.0258262 0.999656 uwb: 0.0 847.295 587.185 -imu_odom_: 1691062435.810690823 0.251391 -0.574608 9.34457 -0.056459 0.00426106 0.0351537 0.23 0 pose: 0.6963856 4.18417 0.0180471 0 -0.0016638 -0.00349817 0.0258429 0.999659 uwb: 0.0 847.295 587.185 -imu_odom_: 1691062435.824817136 0.0287304 -0.0814029 10.1299 -0.0436758 0.00213053 0.04048 0.23 0 pose: 0.0 4.18417 0.0180471 0 -0.0016638 -0.00349817 0.0258429 0.999659 uwb: 0.0 847.295 587.185 -imu_odom_: 1691062435.839819216 0.699107 -0.368707 10.1011 -0.0639159 -0.0649811 0.056459 0.23 0 pose: 0.0 4.18417 0.0180471 0 -0.0016638 -0.00349817 0.0258429 0.999659 uwb: 0.0 847.295 587.185 -imu_odom_: 1691062435.856773473 0.577003 -0.198719 9.14824 -0.0479369 0.00532632 0.0223706 0.24 0 pose: 0.81068159 4.2041 0.0196802 0 -0.00201452 0.00155143 0.0259289 0.999661 uwb: 0.99971678 846.567 586.327 -imu_odom_: 1691062435.880655717 0.258574 -0.318429 9.40203 -0.0894822 0.0287621 0.0479369 0.24 0 pose: 0.0 4.2041 0.0196802 0 -0.00201452 0.00155143 0.0259289 0.999661 uwb: 0.0 846.567 586.327 -imu_odom_: 1691062435.904628948 0.328006 -0.19393 9.96467 -0.0500674 -0.0276969 0.0298274 0.21 -0.02 pose: 0.32981713 4.21407 0.0204972 0 -0.00216692 -0.0001357420.0258804 0.999663 uwb: 0.50008878 845.927 585.711 -imu_odom_: 1691062435.927739828 0.591368 -0.1652 10.3501 -0.0841559 0 0.0415453 0.18 0 pose: 0.39866827 4.21407 0.0204972 0 -0.0009645550.00244795 0.0258399 0.999663 uwb: 0.0 845.927 585.711 -imu_odom_: 1691062435.952628197 0.636858 -0.136469 9.93115 -0.04048 0.00319579 0.0213053 0.17 -0.02 pose: 0.7050179 4.21407 0.0204972 0 -0.0008561750.00178721 0.025847 0.999664 uwb: 0.50007420 845.706 585.117 -imu_odom_: 1691062435.975632340 0.37589 -0.23942 9.52413 -0.056459 -0.0191748 0.0511327 0.17 -0.02 pose: 0.40949070 4.22403 0.0213132 0 0.000508538 -0.00192764 0.0256344 0.999669 uwb: 0.0 845.706 585.117 -imu_odom_: 1691062435.992613719 0.486023 -0.260968 9.54329 -0.0479369 -0.0330232 0.0372843 0.21 0 pose: 0.0 4.22403 0.0213132 0 0.000508538 -0.00192764 0.0256344 0.999669 uwb: 0.0 845.706 585.117 -imu_odom_: 1691062436.8602973 0.773327 -0.0861913 10.2017 -0.0607201 0.00213053 0.0607201 0.21 0 pose: 0.0 4.22403 0.0213132 0 0.000508538 -0.00192764 0.0256344 0.999669 uwb: 0.0 845.706 585.117 -imu_odom_: 1691062436.32597214 1.16837 -0.169988 10.1873 -0.0468716 0.015979 0.0308927 0.25 0 pose: 0.48059034 4.234 0.0221259 0 -0.00084029 -0.00261378 0.0258317 0.999663 uwb: 0.0 845.706 585.117 -imu_odom_: 1691062436.57617706 0.225055 0.0550666 10.0173 -0.056459 0 0.0575243 0.25 0 pose: 0.0 4.234 0.0221259 0 -0.00084029 -0.00261378 0.0258317 0.999663 uwb: 0.99965281 843.59 584.98 -imu_odom_: 1691062436.81800050 0.117316 -0.174777 9.87848 -0.052198 -0.0106526 0.0340885 0.18 0.02 pose: 0.39008868 4.24397 0.0229416 0 0.000315128 -0.00490583 0.0258686 0.999653 uwb: 0.0 843.59 584.98 -imu_odom_: 1691062436.105617271 0.440533 -0.232238 10.1586 -0.0671117 -0.0149137 0.0575243 0.18 0.02 pose: 0.42103951 4.25104 0.0235213 0 0.00157413 -0.00120199 0.025953 0.999661 uwb: 0.50088519 843.927 583.673 -imu_odom_: 1691062436.130724669 0.351948 -0.112527 9.68694 -0.0372843 -0.0127832 0.0266316 0.23 0 pose: 0.0 4.25104 0.0235213 0 0.00157413 -0.00120199 0.025953 0.999661 uwb: 0.0 843.927 583.673 -imu_odom_: 1691062436.146606608 -0.0933739 -0.409408 10.003 -0.0617853 -0.00745685 0.0639159 0.23 0 pose: 0.48924619 4.26171 0.0171672 0 0.00135213 -0.0005356140.0260055 0.999661 uwb: 0.49898084 843.556 582.683 -imu_odom_: 1691062436.161579533 0.337582 -0.268151 9.97185 -0.0628506 -0.0266316 0.0415453 0.18 0 pose: 0.0 4.26171 0.0171672 0 0.00135213 -0.0005356140.0260055 0.999661 uwb: 0.0 843.556 582.683 -imu_odom_: 1691062436.185744378 0.244209 -0.114922 9.98382 -0.0436758 -0.0213053 0.0383495 0.18 0 pose: 0.0 4.26171 0.0171672 0 0.00135213 -0.0005356140.0260055 0.999661 uwb: 0.0 843.556 582.683 -imu_odom_: 1691062436.208688165 0.11971 -0.184354 9.58878 -0.0596548 -0.0245011 0.0468716 0.21 0.02 pose: 0.37894839 4.26472 0.0146133 0 -0.0001626120.00204632 0.0262067 0.999654 uwb: 0.50069855 844.993 580.969 -imu_odom_: 1691062436.233699907 0.47884 -0.205901 9.83777 -0.0692422 -0.0149137 0.0447411 0.21 0.02 pose: 0.40068657 4.27469 0.0154365 0 0.00102689 0.00528461 0.0262796 0.99964 uwb: 0.0 844.993 580.969 -imu_odom_: 1691062436.255564075 0.835576 -0.31364 9.90481 -0.0735032 -0.00319579 0.0426106 0.18 0 pose: 0.7071763 4.27469 0.0154365 0 0.000942199 0.00453874 0.0262987 0.999643 uwb: 0.49993447 844.732 580.263 -imu_odom_: 1691062436.271630617 0.600945 -0.0526724 9.8665 -0.052198 0.0330232 0.04048 0.18 0 pose: 0.0 4.27469 0.0154365 0 0.000942199 0.00453874 0.0262987 0.999643 uwb: 0.0 844.732 580.263 -imu_odom_: 1691062436.296563036 0.1652 -0.296881 9.78989 -0.0873517 0.0106526 0.0553937 0.23 0 pose: 0.45895447 4.28465 0.0162618 0 0.000472652 0.00015378 0.0263841 0.999652 uwb: 0.50051190 845.921 578.974 -imu_odom_: 1691062436.318614431 0.457293 -0.0981623 10.2137 -0.0426106 0.00639159 0.0319579 0.23 0 pose: 0.0 4.28465 0.0162618 0 0.000472652 0.00015378 0.0263841 0.999652 uwb: 0.0 845.921 578.974 -imu_odom_: 1691062436.343564348 0.481235 -0.220267 9.63427 -0.0585895 -0.0117179 0.0394148 0.18 -0.02 pose: 0.40930427 4.29462 0.0170895 0 0.000205957 0.00169127 0.0265618 0.999646 uwb: 0.50124098 846.271 577.646 -imu_odom_: 1691062436.360544570 0.0335188 -0.244209 10.2137 -0.0394148 -0.00958738 0.0479369 0.18 -0.02 pose: 0.0 4.29462 0.0170895 0 0.000205957 0.00169127 0.0265618 0.999646 uwb: 0.0 846.271 577.646 -imu_odom_: 1691062436.376578740 0.433351 -0.105345 10.319 -0.0436758 -0.0660464 0.0468716 0.18 0 pose: 0.47994316 4.30458 0.0179195 0 0.000672727 -0.0009366850.0265327 0.999647 uwb: 0.0 846.271 577.646 -imu_odom_: 1691062436.401710635 0.481235 -0.0215478 10.2615 -0.0287621 -0.0447411 0.0383495 0.18 0 pose: 0.0 4.30458 0.0179195 0 0.000672727 -0.0009366850.0265327 0.999647 uwb: 0.49768600 844.865 577.234 -imu_odom_: 1691062436.426743083 0.452504 -0.191536 9.67736 -0.0426106 0.00639159 0.0458064 0.19 0 pose: 0.34057556 4.30458 0.0179195 0 0.00313782 -0.0013445 0.026627 0.99964 uwb: 0.0 844.865 577.234 -imu_odom_: 1691062436.451546018 0.371101 0.0335188 9.34936 -0.0330232 0.0170442 0.0383495 0.19 0 pose: 0.0 4.30458 0.0179195 0 0.00313782 -0.0013445 0.026627 0.99964 uwb: 0.49964284 844.952 576.326 -imu_odom_: 1691062436.475546384 0.275333 0.0646434 9.87369 -0.056459 -0.0170442 0.0479369 0.2 0 pose: 0.49082683 4.31455 0.0187511 0 0.00335637 -0.00198005 0.0266952 0.999636 uwb: 0.0 844.952 576.326 -imu_odom_: 1691062436.499575038 0.399832 0.0622492 10.1514 -0.0585895 -0.0138484 0.0436758 0.18 0.02 pose: 0.41826027 4.32452 0.019584 0 0.00697625 0.000344138 0.0267682 0.999617 uwb: 0.50060231 846.403 574.548 -imu_odom_: 1691062436.524596988 0.445322 -0.253785 9.83059 -0.0703074 0.0106526 0.0276969 0.18 0.02 pose: 0.0 4.32452 0.019584 0 0.00697625 0.000344138 0.0267682 0.999617 uwb: 0.0 846.403 574.548 -imu_odom_: 1691062436.538527331 0.416591 -0.280122 9.65103 -0.0490022 0.0149137 0.0330232 0.18 0.02 pose: 0.0 4.32452 0.019584 0 0.00697625 0.000344138 0.0267682 0.999617 uwb: 0.0 846.403 574.548 -imu_odom_: 1691062436.554539629 0.483629 -0.397437 9.79947 -0.056459 -0.0628506 0.052198 0.2 0 pose: 0.54997545 4.33448 0.0204187 0 0.00613307 -5.29946e-050.0266558 0.999626 uwb: 0.50047399 847.249 573.394 -imu_odom_: 1691062436.571612881 0.828394 -0.246603 10.1658 -0.0426106 0.0681769 0.0223706 0.2 0 pose: 0.0 4.33448 0.0204187 0 0.00613307 -5.29946e-050.0266558 0.999626 uwb: 0.0 847.249 573.394 -imu_odom_: 1691062436.595546172 0.129287 -0.138864 9.9503 -0.0351537 0.0234358 0.0447411 0.18 0 pose: 0.30993680 4.34445 0.0212509 0 0.00370422 -0.0013858 0.0266754 0.999636 uwb: 0.49919081 845.831 572.955 -imu_odom_: 1691062436.619682146 -0.126893 0.0694318 10.0676 -0.0319579 -0.0127832 0.0287621 0.18 0 pose: 0.34008563 4.35137 0.0218296 0 0.00375022 0.000733345 0.0266492 0.999638 uwb: 0.0 845.831 572.955 -imu_odom_: 1691062436.644679016 0.366313 -0.160412 10.1778 -0.0649811 -0.0330232 0.0607201 0.19 0 pose: 0.0 4.35137 0.0218296 0 0.00375022 0.000733345 0.0266492 0.999638 uwb: 0.50012404 845.17 572.295 -imu_odom_: 1691062436.660513127 0.624887 -0.490811 9.8258 -0.0490022 -0.00852212 0.0340885 0.21 0 pose: 0.7005271 4.35441 0.0220833 0 0.00407834 0.00136294 0.0266088 0.999637 uwb: 0.0 845.17 572.295 -imu_odom_: 1691062436.677519596 0.483629 0.129287 10.4004 -0.0426106 0.0213053 0.052198 0.18 0 pose: 0.0 4.35441 0.0220833 0 0.00407834 0.00136294 0.0266088 0.999637 uwb: 0.0 845.17 572.295 -imu_odom_: 1691062436.700496045 0.593762 -0.143652 10.3837 -0.0649811 -0.0191748 0.0383495 0.18 0 pose: 0.0 4.35441 0.0220833 0 0.00407834 0.00136294 0.0266088 0.999637 uwb: 0.49947661 846.395 571.004 -imu_odom_: 1691062436.725512162 0.61531 -0.282516 9.59357 -0.0735032 0.00745685 0.0532632 0.25 0 pose: 0.48136632 4.36438 0.0229155 0 0.00204235 0.00112529 0.0267551 0.999639 uwb: 0.0 846.395 571.004 -imu_odom_: 1691062436.747579888 0.857124 -0.337582 10.149 -0.0735032 0.00426106 0.0266316 0.25 0 pose: 0.33828043 4.36438 0.0229155 0 0.00307799 -0.0004659790.0268349 0.999635 uwb: 0.49865713 845.703 570.254 -imu_odom_: 1691062436.772576758 0.272939 -0.0861913 10.0485 -0.0596548 0.0351537 0.056459 0.19 0 pose: 0.40996044 4.37434 0.0237513 0 0.00144177 -0.00409267 0.02701 0.999626 uwb: 0.0 845.703 570.254 -imu_odom_: 1691062436.797565753 0.818817 -0.160412 9.47625 -0.0468716 0.0394148 0.0170442 0.18 -0.02 pose: 0.6009642 4.37434 0.0237513 0 0.00117716 -0.00463176 0.0269725 0.999625 uwb: 0.50081520 844.922 569.261 -imu_odom_: 1691062436.813636086 0.179565 -0.289698 9.9096 -0.0745685 0.00319579 0.0426106 0.18 -0.02 pose: 0.0 4.37434 0.0237513 0 0.00117716 -0.00463176 0.0269725 0.999625 uwb: 0.0 844.922 569.261 -imu_odom_: 1691062436.838497347 0.6608 -0.562637 9.45231 -0.0468716 -0.00532632 0.0308927 0.18 -0.02 pose: 0.48091138 4.38431 0.0245897 0 0.00154051 -0.003848 0.0269978 0.999627 uwb: 0.0 844.922 569.261 -imu_odom_: 1691062436.851632704 0.960075 -0.112527 9.77074 -0.0479369 -0.015979 0.0245011 0.18 -0.02 pose: 0.0 4.38431 0.0245897 0 0.00154051 -0.003848 0.0269978 0.999627 uwb: 0.50005404 845.309 567.973 -imu_odom_: 1691062436.874487834 0.636858 -0.215478 10.4627 -0.0671117 -0.0447411 0.036219 0.18 -0.02 pose: 0.0 4.38431 0.0245897 0 0.00154051 -0.003848 0.0269978 0.999627 uwb: 0.0 845.309 567.973 -imu_odom_: 1691062436.892565172 0.347159 0.0837971 9.80426 -0.0468716 -0.0330232 0.0340885 0.21 -0.02 pose: 0.40890473 4.39427 0.0254272 0 0.000529064 -0.00400267 0.0267949 0.999633 uwb: 0.50017652 848.828 565.908 -imu_odom_: 1691062436.916492922 0.186748 -0.399832 9.56723 -0.0884169 -0.00213053 0.0372843 0.21 -0.02 pose: 0.0 4.39427 0.0254272 0 0.000529064 -0.00400267 0.0267949 0.999633 uwb: 0.0 848.828 565.908 -imu_odom_: 1691062436.942497086 0.222661 -0.11971 10.2185 -0.0458064 -0.0138484 0.0351537 0.22 0.02 pose: 0.80057116 4.40424 0.0262622 0 0.0006585 -0.00738421 0.0265102 0.999621 uwb: 0.49974492 847.705 565.13 -imu_odom_: 1691062436.966697219 0.588974 -0.548272 9.83059 -0.0788296 -0.00319579 0.0372843 0.19 0 pose: 0.41936555 4.4142 0.0270914 0 0.000517119 -0.00364511 0.0264347 0.999644 uwb: 0.0 847.705 565.13 -imu_odom_: 1691062436.990617678 0.320823 -0.447716 9.56005 -0.0639159 -0.0234358 0.036219 0.18 0 pose: 0.0 4.4142 0.0270914 0 0.000517119 -0.00364511 0.0264347 0.999644 uwb: 0.49998988 847.317 564.021 -imu_odom_: 1691062437.15625052 0.260968 -0.323217 9.29908 -0.0394148 0.0213053 0.02024 0.22 0 pose: 0.7011103 4.4142 0.0270914 0 -0.000224129-0.00388446 0.0264289 0.999643 uwb: 0.0 847.317 564.021 -imu_odom_: 1691062437.28505239 0.550666 -0.380678 10.0916 -0.0245011 0.00106526 0.0266316 0.22 0 pose: 0.0 4.4142 0.0270914 0 -0.000224129-0.00388446 0.0264289 0.999643 uwb: 0.0 847.317 564.021 -imu_odom_: 1691062437.51474409 0.56982 -0.296881 10.1849 -0.0649811 -0.0415453 0.052198 0.22 0 pose: 0.48126717 4.42417 0.0279192 0 -0.00407311 -0.00240955 0.0263209 0.999642 uwb: 0.50108077 848.572 562.713 -imu_odom_: 1691062437.69637495 0.373495 0.0670376 9.84256 -0.0340885 0.0181095 0.04048 0.21 -0.02 pose: 0.0 4.42417 0.0279192 0 -0.00407311 -0.00240955 0.0263209 0.999642 uwb: 0.0 848.572 562.713 -imu_odom_: 1691062437.93462312 0.0957681 -0.244209 9.65342 -0.0713727 0.0191748 0.052198 0.21 -0.02 pose: 0.38854322 4.43413 0.0287449 0 -0.00463236 -0.0024513 0.0261137 0.999645 uwb: 0.49808871 847.476 562.024 -imu_odom_: 1691062437.116667703 0.519542 -0.134075 9.84496 -0.0287621 -0.0181095 0.0298274 0.22 0 pose: 0.0 4.43413 0.0287449 0 -0.00463236 -0.0024513 0.0261137 0.999645 uwb: 0.0 847.476 562.024 -imu_odom_: 1691062437.141532768 0.68953 -0.241814 9.73004 -0.0756338 -0.0330232 0.0543285 0.25 0 pose: 0.41017645 4.4441 0.0295673 0 -0.00264235 -0.00257788 0.0262567 0.999648 uwb: 0.49946811 848.033 561.159 -imu_odom_: 1691062437.165459072 0.47884 -0.414197 9.56005 -0.0553937 -0.0117179 0.0468716 0.18 0 pose: 0.0 4.4441 0.0295673 0 -0.00264235 -0.00257788 0.0262567 0.999648 uwb: 0.0 848.033 561.159 -imu_odom_: 1691062437.180465542 0.380678 -0.23942 10.0221 -0.0575243 -0.00319579 0.0447411 0.18 0 pose: 0.46985005 4.45407 0.0303916 0 -0.000633998-0.00321003 0.0262999 0.999649 uwb: 0.0 848.033 561.159 -imu_odom_: 1691062437.204499749 0.474052 -0.191536 10.3669 -0.036219 -0.0511327 0.0351537 0.25 -0.02 pose: 0.0 4.45407 0.0303916 0 -0.000633998-0.00321003 0.0262999 0.999649 uwb: 0.49988515 848.086 560.071 -imu_odom_: 1691062437.221451400 0.620098 -0.438139 9.3709 -0.0798948 -0.076699 0.0596548 0.25 -0.02 pose: 0.0 4.45407 0.0303916 0 -0.000633998-0.00321003 0.0262999 0.999649 uwb: 0.0 848.086 560.071 -imu_odom_: 1691062437.236446204 0.828394 -0.237026 9.92157 -0.0585895 0.0191748 0.0351537 0.2 0 pose: 0.49039839 4.46403 0.0312183 0 -0.00301135 -0.00426096 0.0265461 0.999634 uwb: 0.0 848.086 560.071 -imu_odom_: 1691062437.259473992 0.536301 -0.227449 9.80904 -0.0660464 0.00319579 0.0490022 0.2 0 pose: 0.0 4.46403 0.0312183 0 -0.00301135 -0.00426096 0.0265461 0.999634 uwb: 0.50121499 846.27 559.806 -imu_odom_: 1691062437.285428300 0.632069 -0.380678 9.5816 -0.0532632 0.0394148 0.0287621 0.25 0.02 pose: 0.70962635 4.474 0.032049 0 -0.000907505-0.00687943 0.0266757 0.99962 uwb: 0.0 846.27 559.806 -imu_odom_: 1691062437.299450514 0.105345 -0.260968 10.0509 -0.0532632 0.0127832 0.0458064 0.25 0.02 pose: 0.0 4.474 0.032049 0 -0.000907505-0.00687943 0.0266757 0.99962 uwb: 0.50050924 845.184 559.165 -imu_odom_: 1691062437.323457308 0.4956 -0.275333 10.1083 -0.0841559 0.00958738 0.0479369 0.17 -0.02 pose: 0.54956162 4.48396 0.0328818 0 -0.00173703 -0.00601978 0.0266574 0.999625 uwb: 0.0 845.184 559.165 -imu_odom_: 1691062437.341434043 0.603339 -0.0430956 10.0413 -0.0490022 0.00639159 0.0372843 0.17 -0.02 pose: 0.0 4.48396 0.0328818 0 -0.00173703 -0.00601978 0.0266574 0.999625 uwb: 0.50029927 844.943 558.478 -imu_odom_: 1691062437.364438500 0.332794 -0.383072 9.63187 -0.0905475 0 0.0607201 0.18 0 pose: 0.41983529 4.49393 0.0337151 0 -0.00200207 -0.00472656 0.026738 0.999629 uwb: 0.0 844.943 558.478 -imu_odom_: 1691062437.387565443 0.54109 -0.28491 10.1347 -0.0458064 0.00532632 0.0319579 0.18 0 pose: 0.0 4.49393 0.0337151 0 -0.00200207 -0.00472656 0.026738 0.999629 uwb: 0.0 844.943 558.478 -imu_odom_: 1691062437.404482389 0.258574 -0.411803 9.54089 -0.0703074 0.0298274 0.0458064 0.18 0 pose: 0.46131400 4.50056 0.0342736 0 -0.00346391 -0.00511184 0.0268914 0.999619 uwb: 0.49889944 845.103 557.7 -imu_odom_: 1691062437.429484521 0.395043 -0.134075 9.91918 -0.0351537 0.0127832 0.0436758 0.25 0.02 pose: 0.0 4.50056 0.0342736 0 -0.00346391 -0.00511184 0.0268914 0.999619 uwb: 0.0 845.103 557.7 -imu_odom_: 1691062437.452475855 0.481235 -0.186748 10.0676 -0.0511327 0.0308927 0.0415453 0.23 0 pose: 0.25906480 4.50389 0.0345532 0 -0.00353643 -0.00290743 0.0269692 0.999626 uwb: 0.49878278 845.226 556.81 -imu_odom_: 1691062437.476474192 0.964863 0.0287304 10.331 -0.0383495 -0.0372843 0.0415453 0.23 0 pose: 0.0 4.50389 0.0345532 0 -0.00353643 -0.00290743 0.0269692 0.999626 uwb: 0.0 845.226 556.81 -imu_odom_: 1691062437.500621843 0.723049 -0.186748 9.67018 -0.0458064 -0.0138484 0.0458064 0.24 0 pose: 0.46954092 4.51386 0.0353919 0 0.000591533 -0.00359748 0.0270227 0.999628 uwb: 0.50310185 843.706 556.198 -imu_odom_: 1691062437.514471704 0.0957681 -0.134075 9.95748 -0.0426106 0.00106526 0.04048 0.24 0 pose: 0.0 4.51386 0.0353919 0 0.000591533 -0.00359748 0.0270227 0.999628 uwb: 0.0 843.706 556.198 -imu_odom_: 1691062437.537598355 0.299275 -0.158017 10.3813 -0.0692422 -0.00958738 0.0553937 0.17 0 pose: 0.54045689 4.52382 0.0362314 0 0.00188317 -0.00639693 0.027119 0.99961 uwb: 0.0 843.706 556.198 -imu_odom_: 1691062437.555405943 0.442927 -0.366313 9.76116 -0.056459 -0.02024 0.0351537 0.17 0 pose: 0.0 4.52382 0.0362314 0 0.00188317 -0.00639693 0.027119 0.99961 uwb: 0.49814411 842.554 555.408 -imu_odom_: 1691062437.570401914 0.304064 -0.0814029 10.4124 -0.0490022 -0.0191748 0.0394148 0.17 0 pose: 0.7137092 4.52382 0.0362314 0 0.00187937 -0.00570459 0.0271736 0.999613 uwb: 0.0 842.554 555.408 -imu_odom_: 1691062437.593416287 0.699107 -0.196325 10.228 -0.0649811 -0.0500674 0.04048 0.25 0.02 pose: 0.0 4.52382 0.0362314 0 0.00187937 -0.00570459 0.0271736 0.999613 uwb: 0.49980641 846.019 552.829 -imu_odom_: 1691062437.618618769 0.639252 -0.0526724 10.3525 -0.0490022 -0.00319579 0.0479369 0.25 0.02 pose: 0.71807491 4.54111 0.0276586 0 0.000983199 -0.0056673 0.0272696 0.999612 uwb: 0.0 846.019 552.829 -imu_odom_: 1691062437.634385522 0.605733 -0.246603 9.7851 -0.0596548 0.0245011 0.0500674 0.18 0 pose: 0.0 4.54111 0.0276586 0 0.000983199 -0.0056673 0.0272696 0.999612 uwb: 0.0 846.019 552.829 -imu_odom_: 1691062437.657448597 0.701501 -0.0885855 9.83299 -0.0181095 -0.00852212 0.0213053 0.18 0 pose: 0.40969235 4.54459 0.0279537 0 0.00174805 -0.00792545 0.0274602 0.99959 uwb: 0.49996389 845.812 552.229 -imu_odom_: 1691062437.680463554 0.114922 -0.308852 9.84975 -0.0468716 -0.0106526 0.0479369 0.24 0 pose: 0.7012274 4.54459 0.0279537 0 0.00228674 -0.00850872 0.0273947 0.999586 uwb: 0.0 845.812 552.229 -imu_odom_: 1691062437.697520191 0.035913 -0.047884 10.137 -0.0372843 -0.0298274 0.0223706 0.24 0 pose: 0.24082326 4.55456 0.0288004 0 0.00328397 -0.00911251 0.027279 0.999581 uwb: 0.50078337 847.443 550.604 -imu_odom_: 1691062437.721448245 0.521936 -0.251391 9.8665 -0.0649811 -0.036219 0.0607201 0.18 0 pose: 0.0 4.55456 0.0288004 0 0.00328397 -0.00911251 0.027279 0.999581 uwb: 0.0 847.443 550.604 -imu_odom_: 1691062437.739481264 0.907402 -0.428562 9.73482 -0.0426106 0.015979 0.0298274 0.18 0 pose: 0.21956335 4.55456 0.0288004 0 0.0030397 -0.00715012 0.0272798 0.999598 uwb: 0.49786707 848.693 549.116 -imu_odom_: 1691062437.762436436 -0.155623 -0.146046 9.79947 -0.0585895 -0.00213053 0.0617853 0.18 0 pose: 0.0 4.55456 0.0288004 0 0.0030397 -0.00715012 0.0272798 0.999598 uwb: 0.0 848.693 549.116 -imu_odom_: 1691062437.779381087 0.656011 -0.220267 10.3717 -0.0628506 -0.00106526 0.0351537 0.18 0 pose: 0.42109222 4.56452 0.0296446 0 0.000476233 -0.00722619 0.0274191 0.999598 uwb: 0.0 848.693 549.116 -imu_odom_: 1691062437.803368925 0.881066 -0.201113 9.72764 -0.0713727 0.00639159 0.0479369 0.18 0 pose: 0.0 4.56452 0.0296446 0 0.000476233 -0.00722619 0.0274191 0.999598 uwb: 0.49990848 850.01 547.809 -imu_odom_: 1691062437.826397880 0.787692 -0.337582 10.1035 -0.072438 0.00532632 0.0287621 0.18 0 pose: 0.39903614 4.57449 0.0304933 0 0.000138612 -0.00636688 0.0276128 0.999598 uwb: 0.0 850.01 547.809 -imu_odom_: 1691062437.849581690 0.811634 -0.37589 9.70849 -0.0617853 -0.00852212 0.0543285 0.25 0 pose: 0.0 4.57449 0.0304933 0 0.000138612 -0.00636688 0.0276128 0.999598 uwb: 0.50010096 849.677 546.806 -imu_odom_: 1691062437.866486680 0.222661 -0.186748 10.3382 -0.0820254 -0.0223706 0.0479369 0.25 0 pose: 0.42098140 4.57449 0.0304933 0 -0.000414399-0.0102894 0.0276467 0.999565 uwb: 0.0 849.677 546.806 -imu_odom_: 1691062437.890379446 0.232238 0.0407014 10.2208 -0.0468716 0.052198 0.0287621 0.18 0 pose: 0.0 4.57449 0.0304933 0 -0.000414399-0.0102894 0.0276467 0.999565 uwb: 0.50100501 845.47 547.378 -imu_odom_: 1691062437.907398464 0.505177 -0.320823 9.58399 -0.0713727 -0.0607201 0.0511327 0.18 0 pose: 0.46005123 4.58445 0.0313454 0 -0.002603 -0.0127887 0.0277861 0.999529 uwb: 0.0 845.47 547.378 -imu_odom_: 1691062437.932505874 0.725443 -0.138864 9.65582 -0.0511327 -0.0735032 0.0276969 0.18 0.02 pose: 0.0 4.58445 0.0313454 0 -0.002603 -0.0127887 0.0277861 0.999529 uwb: 0.0 845.47 547.378 -imu_odom_: 1691062437.949529266 0.134075 -0.23942 9.8258 -0.0735032 0.0234358 0.0585895 0.18 0.02 pose: 0.40863956 4.59441 0.032201 0 -0.00175525 -0.00907371 0.0277342 0.999573 uwb: 0.50009513 847.889 545.395 -imu_odom_: 1691062437.965503660 0.54109 -0.517148 9.52653 -0.0532632 0.0170442 0.0223706 0.18 0.02 pose: 0.0 4.59441 0.032201 0 -0.00175525 -0.00907371 0.0277342 0.999573 uwb: 0.0 847.889 545.395 -imu_odom_: 1691062437.990516290 0.282516 -0.272939 10.5848 -0.0575243 0.00426106 0.0426106 0.18 0 pose: 0.42103098 4.60438 0.0330544 0 -0.00088072 -0.0105964 0.0277031 0.99956 uwb: 0.49986182 850.349 543.491 -imu_odom_: 1691062438.14495093 -0.0957681 -0.186748 10.2065 -0.0436758 0.0255663 0.015979 0.18 0 pose: 0.0 4.60438 0.0330544 0 -0.00088072 -0.0105964 0.0277031 0.99956 uwb: 0.0 850.349 543.491 -imu_odom_: 1691062438.30410294 0.227449 -0.596156 9.7851 -0.0511327 -0.0276969 0.0479369 0.18 0 pose: 0.0 4.60438 0.0330544 0 -0.00088072 -0.0105964 0.0277031 0.99956 uwb: 0.0 850.349 543.491 -imu_odom_: 1691062438.46365741 0.955286 -0.248997 10.7404 -0.0532632 0.285491 0.0394148 0.18 0 pose: 0.32908546 4.60438 0.0330544 0 -0.00260125 -0.00838475 0.0276812 0.999578 uwb: 0.50033445 849.946 542.263 -imu_odom_: 1691062438.63492962 2.09253 -0.306458 7.91284 -0.0500674 0.286556 0.0223706 0.25 0 pose: 0.0 4.60438 0.0330544 0 -0.00260125 -0.00838475 0.0276812 0.999578 uwb: 0.0 849.946 542.263 -imu_odom_: 1691062438.87384574 -0.356736 -0.54109 8.67659 -0.0735032 -0.112918 0.0351537 0.25 0 pose: 0.90064806 4.6243 0.0347561 0 -0.00342119 -0.00162755 0.0273307 0.999619 uwb: 0.0 849.946 542.263 -imu_odom_: 1691062438.111417918 0.500388 -0.316035 10.6231 -0.0458064 -0.156594 0.0170442 0.19 0 pose: 0.0 4.6243 0.0347561 0 -0.00342119 -0.00162755 0.0273307 0.999619 uwb: 0.49939838 850.848 540.956 -imu_odom_: 1691062438.136328199 0.632069 -0.294487 10.5273 -0.0671117 -0.0351537 0.0628506 0.25 0 pose: 0.8007615 4.6243 0.0347561 0 -0.00376012 -0.00131351 0.0273173 0.999619 uwb: 0.0 850.848 540.956 -imu_odom_: 1691062438.161395668 0.0885855 -0.141258 10.5393 -0.0447411 0.00639159 0.0458064 0.19 0 pose: 0.0 4.6243 0.0347561 0 -0.00376012 -0.00131351 0.0273173 0.999619 uwb: 0.49998747 852.496 539.19 -imu_odom_: 1691062438.178348494 0.272939 0.0143652 9.67257 -0.0681769 0.0532632 0.0266316 0.19 0 pose: 0.64827622 4.64103 0.036173 0 -0.00420827 -0.00777257 0.0272952 0.999588 uwb: 0.0 852.496 539.19 -imu_odom_: 1691062438.202329637 0.505177 -0.203507 9.65103 -0.04048 0.0447411 0.0287621 0.18 0 pose: 0.0 4.64103 0.036173 0 -0.00420827 -0.00777257 0.0272952 0.999588 uwb: 0.49864306 850.635 538.925 -imu_odom_: 1691062438.219348954 0.177171 -0.533907 9.93594 -0.056459 0.00958738 0.0511327 0.18 0 pose: 0.50092944 4.6542 0.0372904 0 -0.00137349 -0.00389175 0.027216 0.999621 uwb: 0.0 850.635 538.925 -imu_odom_: 1691062438.234400635 -0.0311246 -0.234632 10.4507 -0.036219 0.00532632 0.0394148 0.19 0 pose: 0.0 4.6542 0.0372904 0 -0.00137349 -0.00389175 0.027216 0.999621 uwb: 0.0 850.635 538.925 -imu_odom_: 1691062438.257333654 0.584185 -0.203507 10.1035 -0.0500674 -0.0223706 0.0607201 0.19 0 pose: 0.47979492 4.65945 0.0377349 0 -0.00103509 -0.00144088 0.0272274 0.999628 uwb: 0.50082737 851.519 537.529 -imu_odom_: 1691062438.283387421 0.354342 -0.0981623 9.76595 -0.0372843 -0.0138484 0.0276969 0.25 -0.02 pose: 0.0 4.65945 0.0377349 0 -0.00103509 -0.00144088 0.0272274 0.999628 uwb: 0.0 851.519 537.529 -imu_odom_: 1691062438.307356607 0.73502 -0.397437 9.39485 -0.0777643 0 0.0490022 0.25 -0.02 pose: 0.8069149 4.66416 0.0381339 0 -0.000822318-0.00229766 0.0273116 0.999624 uwb: 0.49983583 850.451 536.984 -imu_odom_: 1691062438.322357544 0.751779 -0.23942 10.0006 -0.0617853 0.0298274 0.0340885 0.18 0 pose: 0.0 4.66416 0.0381339 0 -0.000822318-0.00229766 0.0273116 0.999624 uwb: 0.0 850.451 536.984 -imu_odom_: 1691062438.339393776 0.150835 -0.177171 9.76834 -0.0436758 -0.0351537 0.0372843 0.18 0 pose: 0.0 4.66416 0.0381339 0 -0.000822318-0.00229766 0.0273116 0.999624 uwb: 0.0 850.451 534.915 -imu_odom_: 1691062438.355365262 0.852336 -0.325611 10.3884 -0.0798948 -0.0607201 0.0543285 0.18 0 pose: 0.32029295 4.67413 0.0389803 0 -0.000137642-0.0053039 0.0273839 0.999611 uwb: 0.0 852.913 534.915 -imu_odom_: 1691062438.380328619 1.17076 -0.0407014 10.6494 -0.0543285 0.00106526 0.0394148 0.18 0 pose: 0.0 4.67413 0.0389803 0 -0.000137642-0.0053039 0.0273839 0.999611 uwb: 0.0 852.913 534.915 -imu_odom_: 1691062438.404308887 0.651223 -0.131681 10.0173 -0.0777643 -0.00213053 0.0479369 0.17 0 pose: 0.41029331 4.68409 0.0398269 0 -0.000226533-0.00660768 0.0274805 0.9996 uwb: 0.49989416 853.767 533.365 -imu_odom_: 1691062438.421445149 0.225055 -0.301669 9.73243 -0.0468716 -0.00319579 0.0298274 0.17 0 pose: 0.40922012 4.69073 0.0403922 0 0.00172486 -0.00985441 0.0275591 0.99957 uwb: 0.0 853.767 533.365 -imu_odom_: 1691062438.437507332 0.248997 -0.181959 10.082 -0.0777643 -0.00639159 0.0607201 0.17 0 pose: 0.0 4.69073 0.0403922 0 0.00172486 -0.00985441 0.0275591 0.99957 uwb: 0.0 853.767 533.365 -imu_odom_: 1691062438.454325715 0.0766145 -0.433351 9.71567 -0.0798948 -0.0106526 0.0500674 0.25 0 pose: 0.0 4.69073 0.0403922 0 0.00172486 -0.00985441 0.0275591 0.99957 uwb: 0.50042784 851.847 532.96 -imu_odom_: 1691062438.479418265 0.679953 -0.454898 9.63427 -0.0628506 0.0266316 0.0287621 0.25 0 pose: 0.7996825 4.69405 0.0406761 0 0.00149995 -0.0090928 0.027522 0.999579 uwb: 0.0 851.847 532.96 -imu_odom_: 1691062438.503360329 0.371101 -0.299275 10.003 -0.0468716 0.0383495 0.0351537 0.21 0 pose: 0.32213314 4.69405 0.0406761 0 0.000654801 -0.00604929 0.0276837 0.999598 uwb: 0.50086237 852.485 532.142 -imu_odom_: 1691062438.520381105 0.124498 -0.292093 9.93115 -0.04048 -0.0287621 0.0458064 0.25 0 pose: 0.0 4.69405 0.0406761 0 0.000654801 -0.00604929 0.0276837 0.999598 uwb: 0.0 852.485 532.142 -imu_odom_: 1691062438.545357877 0.42138 -0.237026 9.56244 -0.0479369 -0.0255663 0.0351537 0.18 0 pose: 0.0 4.69405 0.0406761 0 0.000654801 -0.00604929 0.0276837 0.999598 uwb: 0.49887344 852.647 531.229 -imu_odom_: 1691062438.568355347 0.694318 -0.272939 10.2352 -0.0500674 -0.0170442 0.0468716 0.18 0 pose: 0.42924644 4.70402 0.0415287 0 -0.00221229 -0.00545031 0.0275958 0.999602 uwb: 0.0 852.647 531.229 -imu_odom_: 1691062438.585486651 0.301669 -0.071826 9.88326 -0.0511327 0.00213053 0.0479369 0.23 0 pose: 0.0 4.70402 0.0415287 0 -0.00221229 -0.00545031 0.0275958 0.999602 uwb: 0.0 852.647 531.229 -imu_odom_: 1691062438.611394311 0.203507 -0.198719 9.42118 -0.0447411 0.0276969 0.0426106 0.23 0 pose: 0.88959538 4.72394 0.0432312 0 -0.000226617-0.00266984 0.0276863 0.999613 uwb: 0.50063781 850.358 531.116 -imu_odom_: 1691062438.628331680 0.378284 -0.260968 10.1466 -0.0596548 0.0127832 0.0458064 0.18 0.02 pose: 0.0 4.72394 0.0432312 0 -0.000226617-0.00266984 0.0276863 0.999613 uwb: 0.0 850.358 531.116 -imu_odom_: 1691062438.643285081 0.227449 -0.122104 10.0413 -0.0436758 0.0117179 0.0266316 0.18 0.02 pose: 0.43027007 4.73391 0.044084 0 -0.0002599820.00114343 0.0277856 0.999613 uwb: 0.49874804 848.852 530.637 -imu_odom_: 1691062438.669489913 0.620098 -0.445322 9.68933 -0.0777643 -0.0213053 0.0543285 0.21 0 pose: 0.0 4.73391 0.044084 0 -0.0002599820.00114343 0.0277856 0.999613 uwb: 0.0 848.852 530.637 -imu_odom_: 1691062438.694271001 0.636858 -0.0957681 9.5792 -0.0468716 0.00639159 0.0223706 0.21 0 pose: 0.31908268 4.73391 0.044084 0 -0.0008046750.00189582 0.027776 0.999612 uwb: 0.50062032 848.11 529.74 -imu_odom_: 1691062438.719354510 0.713472 -0.438139 10.0437 -0.0596548 0.0149137 0.0500674 0.21 0 pose: 0.0 4.73391 0.044084 0 -0.0008046750.00189582 0.027776 0.999612 uwb: 0.0 848.11 529.74 -imu_odom_: 1691062438.742276739 0.325611 -0.363919 9.80904 0.0468716 -0.0287621 0.00319579 0.21 0 pose: 0.50947132 4.74387 0.0449385 0 -0.00110406 -0.00214992 0.027732 0.999612 uwb: 0.49998456 845.766 529.515 -imu_odom_: 1691062438.758264265 0.320823 -0.198719 10.1418 -0.113983 -0.0958738 0.0916127 0.18 0 pose: 0.0 4.74387 0.0449385 0 -0.00110406 -0.00214992 0.027732 0.999612 uwb: 0.0 845.766 529.515 -imu_odom_: 1691062438.781380721 0.215478 -0.035913 9.75877 -0.176834 -0.107592 0.113983 0.18 0 pose: 0.48027028 4.75384 0.0457922 0 -0.00223757 -0.00149058 0.0276288 0.999615 uwb: 0.0 845.766 529.515 -imu_odom_: 1691062438.804398021 0.857124 -0.675165 10.0676 -0.0873517 -0.0756338 0.00532632 0.23 0 pose: 0.0 4.75384 0.0457922 0 -0.00223757 -0.00149058 0.0276288 0.999615 uwb: 0.49936046 846.377 528.598 -imu_odom_: 1691062438.821542157 0.924162 -0.811634 9.60075 -0.0575243 -0.00745685 -0.0117179 0.23 0 pose: 0.39025824 4.7638 0.0466439 0 -0.00249139 -0.00162288 0.0285627 0.999588 uwb: 0.0 846.377 528.598 -imu_odom_: 1691062438.837520059 0.61531 -0.0814029 10.489 -0.0447411 0.0266316 0.0575243 0.17 -0.02 pose: 0.0 4.7638 0.0466439 0 -0.00249139 -0.00162288 0.0285627 0.999588 uwb: 0.0 846.377 528.598 -imu_odom_: 1691062438.863269071 0.507571 -0.428562 10.0365 -0.0490022 0.0255663 0.0319579 0.17 -0.02 pose: 0.40218888 4.77376 0.0475142 0 -0.0042389 -0.00469935 0.0279307 0.99959 uwb: 0.50182767 844.517 528.491 -imu_odom_: 1691062438.888376495 0.610521 -0.232238 9.86172 -0.0703074 0.00426106 0.0660464 0.2 0 pose: 0.0 4.77376 0.0475142 0 -0.0042389 -0.00469935 0.0279307 0.99959 uwb: 0.0 844.517 528.491 -imu_odom_: 1691062438.911247688 0.799663 -0.395043 9.7851 -0.0713727 0.0106526 0.0298274 0.19 0 pose: 0.41798364 4.77376 0.0475142 0 -0.00549483 -0.00532864 0.0280095 0.999578 uwb: 0.49715865 847.903 526.277 -imu_odom_: 1691062438.935370564 0.624887 -0.351948 9.50498 -0.0639159 0.0117179 0.0415453 0.25 0 pose: 0.0 4.77376 0.0475142 0 -0.00549483 -0.00532864 0.0280095 0.999578 uwb: 0.0 847.903 526.277 -imu_odom_: 1691062438.958301250 0.505177 -0.521936 10.1514 -0.0394148 -0.00852212 0.0223706 0.25 0 pose: 0.48103726 4.78372 0.0483754 0 -0.00571354 -0.00922213 0.0281074 0.999546 uwb: 0.49994082 847.238 525.628 -imu_odom_: 1691062438.975372186 0.11971 0.0143652 10.0509 -0.0394148 0.0383495 0.0298274 0.26 0 pose: 0.0 4.78372 0.0483754 0 -0.00571354 -0.00922213 0.0281074 0.999546 uwb: 0.0 847.238 525.628 -imu_odom_: 1691062438.991528858 0.351948 -0.213084 10.1203 -0.0596548 -0.0468716 0.0660464 0.26 0 pose: 0.46791677 4.79369 0.0492376 0 -0.00771211 -0.00864136 0.0279138 0.999543 uwb: 0.50080404 846.157 525.113 -imu_odom_: 1691062439.7445228 0.251391 -0.304064 9.73004 -0.04048 0.00319579 0.0319579 0.22 -0.02 pose: 0.0 4.79369 0.0492376 0 -0.00771211 -0.00864136 0.0279138 0.999543 uwb: 0.0 846.157 525.113 -imu_odom_: 1691062439.23371519 0.311246 0.110133 10.1778 -0.052198 0.0585895 0.0383495 0.22 -0.02 pose: 0.0 4.79369 0.0492376 0 -0.00771211 -0.00864136 0.0279138 0.999543 uwb: 0.0 846.157 525.113 -imu_odom_: 1691062439.40412426 0.0215478 -0.586579 10.0556 -0.0628506 -0.0138484 0.0340885 0.22 -0.02 pose: 0.41194106 4.80413 0.0445061 0 -0.00592243 -0.00509886 0.0280368 0.999576 uwb: 0.50062925 844.672 524.781 -imu_odom_: 1691062439.56258810 0.301669 -0.244209 10.2376 -0.04048 -0.0117179 0.0138484 0.19 -0.02 pose: 0.0 4.80413 0.0445061 0 -0.00592243 -0.00509886 0.0280368 0.999576 uwb: 0.0 844.672 524.781 -imu_odom_: 1691062439.79299744 0.684742 -0.301669 10.2999 -0.0617853 -0.0692422 0.0575243 0.23 0 pose: 0.7073523 4.80451 0.0401333 0 -0.00527499 -0.00458009 0.0280298 0.999583 uwb: 0.0 844.672 524.781 -imu_odom_: 1691062439.96220499 0.203507 -0.184354 9.65342 -0.0436758 0.0138484 0.0213053 0.23 0 pose: 0.0 4.80451 0.0401333 0 -0.00527499 -0.00458009 0.0280298 0.999583 uwb: 0.50050100 841.544 525.047 -imu_odom_: 1691062439.122406971 0.0502782 -0.102951 9.55526 -0.076699 0.00852212 0.0511327 0.18 0 pose: 0.49797839 4.81447 0.0409934 0 -0.00459002 -0.00229735 0.0278568 0.999599 uwb: 0.0 841.544 525.047 -imu_odom_: 1691062439.138267062 0.471658 -0.392649 9.92397 -0.0713727 -0.0170442 0.0319579 0.18 0 pose: 0.0 4.81447 0.0409934 0 -0.00459002 -0.00229735 0.0278568 0.999599 uwb: 0.0 841.544 525.047 -imu_odom_: 1691062439.162281171 0.385466 -0.280122 9.75398 -0.0639159 -0.015979 0.0372843 0.18 0 pose: 0.73950472 4.83005 0.0423332 0 -0.00453339 -0.0009424020.0279298 0.999599 uwb: 0.49879787 840.498 524.678 -imu_odom_: 1691062439.178271621 0.428562 -0.344765 9.72285 -0.0713727 -0.0308927 0.0426106 0.18 0 pose: 0.0 4.83005 0.0423332 0 -0.00453339 -0.0009424020.0279298 0.999599 uwb: 0.0 840.498 524.678 -imu_odom_: 1691062439.202207281 0.562637 -0.316035 10.0868 -0.0266316 -0.0181095 0.0223706 0.2 0 pose: 0.40004559 4.8344 0.0427076 0 -0.00476751 -0.00020927 0.0279315 0.999598 uwb: 0.49982441 839.382 524.112 -imu_odom_: 1691062439.225214678 0.40462 -0.354342 9.76355 -0.0713727 -0.0276969 0.052198 0.2 0 pose: 0.7967958 4.8344 0.0427076 0 -0.00466091 -0.00105861 0.0278594 0.9996 uwb: 0.0 839.382 524.112 -imu_odom_: 1691062439.248204869 0.351948 -0.232238 9.71328 -0.0458064 0 0.0372843 0.25 0 pose: 0.24060187 4.84436 0.0435639 0 -0.00511459 -0.00231862 0.0277702 0.999599 uwb: 0.49992648 838.702 523.473 -imu_odom_: 1691062439.274263315 0.148441 -0.608127 9.65342 -0.0628506 -0.0138484 0.0511327 0.25 0 pose: 0.22949945 4.84436 0.0435639 0 -0.00567076 -0.0009935860.0278651 0.999595 uwb: 0.0 838.702 523.473 -imu_odom_: 1691062439.298196934 0.383072 -0.244209 10.0341 -0.0330232 0.0106526 0.0330232 0.19 0 pose: 0.0 4.84436 0.0435639 0 -0.00567076 -0.0009935860.0278651 0.999595 uwb: 0.50018896 838.743 522.219 -imu_odom_: 1691062439.314194675 0.00718261 -0.21069 9.94073 -0.0628506 -0.0287621 0.0596548 0.19 0 pose: 0.0 4.84436 0.0435639 0 -0.00567076 -0.0009935860.0278651 0.999595 uwb: 0.0 838.743 522.219 -imu_odom_: 1691062439.330209330 0.150835 -0.222661 9.86172 -0.0490022 -0.0319579 0.0298274 0.24 0 pose: 0.71955713 4.86429 0.0452773 0 -0.00381935 0.00199671 0.0280057 0.999598 uwb: 0.0 838.743 522.219 -imu_odom_: 1691062439.355235984 0.746991 -0.296881 10.252 -0.0649811 -0.0426106 0.0543285 0.24 0 pose: 0.0 4.86429 0.0452773 0 -0.00381935 0.00199671 0.0280057 0.999598 uwb: 0.50029102 835.601 522.546 -imu_odom_: 1691062439.371196980 0.682347 -0.593762 9.44513 -0.0585895 0.0234358 0.0213053 0.19 0.02 pose: 0.50030560 4.87142 0.0458919 0 -0.00333717 0.00110315 0.028208 0.999596 uwb: 0.0 835.601 522.546 -imu_odom_: 1691062439.395250167 -0.189142 -0.454898 9.85214 -0.0617853 -0.0127832 0.0617853 0.19 0.02 pose: 0.0 4.87142 0.0458919 0 -0.00333717 0.00110315 0.028208 0.999596 uwb: 0.49928198 833.671 522.369 -imu_odom_: 1691062439.411257824 0.378284 -0.287304 10.2185 -0.0543285 -0.0415453 0.0308927 0.19 0 pose: 0.7145848 4.87425 0.0461375 0 -0.00385582 0.000694619 0.0281401 0.999596 uwb: 0.0 833.671 522.369 -imu_odom_: 1691062439.434305757 0.588974 -0.177171 9.7037 -0.056459 -0.0351537 0.0447411 0.19 0 pose: 0.0 4.87425 0.0461375 0 -0.00385582 0.000694619 0.0281401 0.999596 uwb: 0.0 833.671 522.369 -imu_odom_: 1691062439.460335915 0.828394 -0.263362 9.81862 -0.0596548 -0.0138484 0.0287621 0.18 0.02 pose: 0.71923925 4.88421 0.0470021 0 -0.00281751 -0.00124725 0.0283182 0.999594 uwb: 0.50101135 834.624 521.069 -imu_odom_: 1691062439.475307696 0.538695 -0.277727 10.1682 -0.0607201 0.0287621 0.0351537 0.18 0.02 pose: 0.0 4.88421 0.0470021 0 -0.00281751 -0.00124725 0.0283182 0.999594 uwb: 0.0 834.624 521.069 -imu_odom_: 1691062439.498298762 0.493206 -0.23942 10.5632 -0.0916127 -0.0245011 0.0575243 0.17 -0.02 pose: 0.41001939 4.88917 0.0474319 0 -0.00290246 -0.00522455 0.0281322 0.999586 uwb: 0.50020062 834.348 520.27 -imu_odom_: 1691062439.515172272 0.490811 -0.392649 9.61272 -0.0511327 -0.0276969 0.0340885 0.17 -0.02 pose: 0.8013452 4.89418 0.0478653 0 -0.00232225 -0.00496265 0.0282009 0.999587 uwb: 0.0 834.348 520.27 -imu_odom_: 1691062439.540228673 0.514753 -0.227449 9.94551 -0.0873517 0.0191748 0.0607201 0.18 0 pose: 0.31851124 4.89911 0.0482928 0 -0.00288252 -0.00475569 0.0282906 0.999584 uwb: 0.50033185 831.647 520.588 -imu_odom_: 1691062439.563222654 0.409408 -0.306458 10.1251 -0.0479369 -0.00745685 0.0245011 0.18 0 pose: 0.0 4.89911 0.0482928 0 -0.00288252 -0.00475569 0.0282906 0.999584 uwb: 0.0 831.647 520.588 -imu_odom_: 1691062439.587292465 0.263362 -0.35913 9.78989 -0.0575243 -0.0245011 0.0479369 0.25 0.02 pose: 0.9140608 4.90414 0.0487295 0 -0.00218116 -0.00498689 0.0283812 0.999582 uwb: 0.0 831.647 520.588 -imu_odom_: 1691062439.610151130 0.107739 -0.332794 10.0533 -0.0426106 -0.00106526 0.0511327 0.25 0.02 pose: 0.0 4.90414 0.0487295 0 -0.00218116 -0.00498689 0.0283812 0.999582 uwb: 0.49815919 832.588 519.239 -imu_odom_: 1691062439.627229657 0.64404 -0.174777 10.1825 -0.0500674 -0.0607201 0.0447411 0.24 0 pose: 0.46969596 4.90414 0.0487295 0 -0.00260565 -0.00293316 0.0284121 0.999589 uwb: 0.0 832.588 519.239 -imu_odom_: 1691062439.643161489 0.591368 -0.227449 9.80904 -0.0468716 0.0532632 0.0276969 0.24 0 pose: 0.0 4.90414 0.0487295 0 -0.00260565 -0.00293316 0.0284121 0.999589 uwb: 0.50017146 833.035 517.815 -imu_odom_: 1691062439.659195101 0.31364 -0.134075 10.2017 -0.0426106 0.00745685 0.0436758 0.24 0 pose: 0.71879013 4.92406 0.0504666 0 -0.00232498 -0.00247585 0.0285653 0.999586 uwb: 0.0 833.035 517.815 -imu_odom_: 1691062439.683308948 0.557849 -0.385466 9.95509 -0.0532632 -0.0340885 0.0394148 0.18 0 pose: 0.0 4.92406 0.0504666 0 -0.00232498 -0.00247585 0.0285653 0.999586 uwb: 0.0 833.035 517.815 -imu_odom_: 1691062439.708308480 0.411803 -0.462081 9.85214 -0.0490022 -0.00852212 0.0447411 0.18 0 pose: 0.6996242 4.92406 0.0504666 0 -0.00181872 -0.00190833 0.0285798 0.999588 uwb: 0.49894368 831.947 517.397 -imu_odom_: 1691062439.733302180 0.493206 -0.311246 9.84975 -0.0553937 -0.0266316 0.0298274 0.18 0 pose: 0.0 4.92406 0.0504666 0 -0.00181872 -0.00190833 0.0285798 0.999588 uwb: 0.0 831.947 517.397 -imu_odom_: 1691062439.749178018 0.260968 -0.129287 10.2855 -0.0490022 -0.0149137 0.0426106 0.18 0 pose: 0.83144449 4.94121 0.0519665 0 -0.00475621 -0.0053972 0.0285362 0.999567 uwb: 0.50109010 833.382 516.08 -imu_odom_: 1691062439.765155345 0.572214 -0.620098 9.53611 -0.0777643 -0.0213053 0.0468716 0.18 0 pose: 0.0 4.94121 0.0519665 0 -0.00475621 -0.0053972 0.0285362 0.999567 uwb: 0.0 833.382 516.08 -imu_odom_: 1691062439.791152257 0.368707 -0.184354 9.62708 -0.0458064 0.0170442 0.0330232 0.18 0 pose: 0.31853165 4.94399 0.0522089 0 -0.00549598 -0.00479366 0.0286248 0.999564 uwb: 0.49847999 829.647 516.236 -imu_odom_: 1691062439.815199904 0.423774 -0.40462 10.0149 -0.0585895 0.00852212 0.0479369 0.19 0 pose: 0.8091609 4.94399 0.0522089 0 -0.00487143 -0.0041507 0.0285984 0.99957 uwb: 0.0 829.647 516.236 -imu_odom_: 1691062439.832128824 0.557849 -0.184354 9.87129 -0.0191748 -0.0234358 0.0149137 0.19 0 pose: 0.24966286 4.95395 0.0530802 0 -0.00418979 -0.00252332 0.0285715 0.99958 uwb: 0.0 829.647 516.236 -imu_odom_: 1691062439.847139392 0.560243 -0.203507 10.3406 -0.0266316 0.0213053 0.04048 0.18 -0.02 pose: 0.0 4.95395 0.0530802 0 -0.00418979 -0.00252332 0.0285715 0.99958 uwb: 0.50183375 829.013 515.787 -imu_odom_: 1691062439.864175050 0.397437 -0.380678 9.38527 -0.0532632 -0.00532632 0.0330232 0.18 -0.02 pose: 0.0 4.95395 0.0530802 0 -0.00418979 -0.00252332 0.0285715 0.99958 uwb: 0.0 829.013 515.787 -imu_odom_: 1691062439.880171624 0.311246 -0.110133 9.81383 -0.0191748 -0.00639159 0.0351537 0.18 -0.02 pose: 0.24950247 4.95395 0.0530802 0 -0.00509549 -0.00258781 0.0285462 0.999576 uwb: 0.0 829.013 515.787 -imu_odom_: 1691062439.905212859 0.620098 -0.203507 9.5792 -0.0532632 -0.0191748 0.0575243 0.18 0 pose: 0.0 4.95395 0.0530802 0 -0.00509549 -0.00258781 0.0285462 0.999576 uwb: 0.49856457 826.586 515.653 -imu_odom_: 1691062439.921143525 0.624887 -0.0383072 10.1275 -0.0319579 -0.00639159 0.0340885 0.18 0 pose: 0.82049372 4.97099 0.0545665 0 -0.00182361 -0.00457724 0.0285664 0.99958 uwb: 0.0 826.586 515.653 -imu_odom_: 1691062439.937176553 0.1652 -0.248997 9.72046 -0.0628506 -0.00426106 0.0585895 0.18 0 pose: 0.0 4.97099 0.0545665 0 -0.00182361 -0.00457724 0.0285664 0.99958 uwb: 0.0 826.586 515.653 -imu_odom_: 1691062439.962107844 0.158017 -0.114922 10.0652 -0.0596548 -0.0138484 0.0351537 0.18 0 pose: 0.6942581 4.97387 0.0548187 0 -0.00113906 -0.00492642 0.0285443 0.99958 uwb: 0.50064098 828.41 514.107 -imu_odom_: 1691062439.977164198 0.440533 -0.265756 9.64145 -0.0671117 -0.0287621 0.052198 0.19 0 pose: 0.0 4.97387 0.0548187 0 -0.00113906 -0.00492642 0.0285443 0.99958 uwb: 0.0 828.41 514.107 -imu_odom_: 1691062439.993109736 0.691924 -0.356736 10.0772 -0.0713727 -0.00532632 0.0553937 0.18 0.02 pose: 0.0 4.97387 0.0548187 0 -0.00113906 -0.00492642 0.0285443 0.99958 uwb: 0.50087720 827.617 513.216 -imu_odom_: 1691062440.9165515 0.153229 -0.25618 9.56005 -0.0490022 0.02024 0.0266316 0.18 0 pose: 0.71967378 4.98384 0.0556898 0 -0.0016726 -0.00262652 0.0287639 0.999581 uwb: 0.0 827.617 513.216 -imu_odom_: 1691062440.25219840 0.696713 -0.19393 10.1227 -0.0596548 -0.0426106 0.0479369 0.18 0 pose: 0.0 4.98384 0.0556898 0 -0.0016726 -0.00262652 0.0287639 0.999581 uwb: 0.0 827.617 513.216 -imu_odom_: 1691062440.41157221 0.481235 -0.0694318 10.2185 -0.0735032 -0.0266316 0.0479369 0.18 0 pose: 0.0 4.98384 0.0556898 0 -0.0016726 -0.00262652 0.0287639 0.999581 uwb: 0.0 827.617 513.216 -imu_odom_: 1691062440.58155267 0.124498 -0.213084 10.0365 -0.0308927 -0.00639159 0.0276969 0.18 0 pose: 0.32108641 4.9938 0.0565641 0 -0.00192032 -0.00247481 0.0287618 0.999581 uwb: 0.0 827.617 513.216 -imu_odom_: 1691062440.73255373 0.399832 -0.543484 9.46428 -0.0511327 -0.0351537 0.0532632 0.18 0 pose: 0.41923808 4.99973 0.0570846 0 -4.06345e-05-0.00203288 0.0287586 0.999584 uwb: 0.0 827.617 513.216 -imu_odom_: 1691062440.89103806 0.184354 -0.189142 10.3022 -0.0575243 -0.00319579 0.04048 0.18 -0.02 pose: 0.0 4.99973 0.0570846 0 -4.06345e-05-0.00203288 0.0287586 0.999584 uwb: 0.0 827.617 513.216 -imu_odom_: 1691062440.106227545 0.402226 -0.0957681 10.0341 -0.0458064 -0.0649811 0.0372843 0.18 -0.02 pose: 0.0 4.99973 0.0570846 0 -4.06345e-05-0.00203288 0.0287586 0.999584 uwb: 0.99926431 827.62 511.87 -imu_odom_: 1691062440.122272247 0.617704 -0.258574 9.98861 -0.0671117 0.0287621 0.0490022 0.18 -0.02 pose: 0.6113475 5.00376 0.0574384 0 -0.000634409-0.00206779 0.0288016 0.999583 uwb: 0.0 827.62 511.87 -imu_odom_: 1691062440.138092392 0.191536 -0.402226 10.0365 -0.056459 0.0575243 0.0330232 0.25 -0.02 pose: 0.0 5.00376 0.0574384 0 -0.000634409-0.00206779 0.0288016 0.999583 uwb: 0.0 827.62 511.87 -imu_odom_: 1691062440.163087270 0.861913 -0.35913 9.4547 -0.0436758 0.00639159 0.0500674 0.25 -0.02 pose: 0.48963797 5.01372 0.0583139 0 0.000360781 -0.00145461 0.0288877 0.999582 uwb: 0.49964968 831.2 509.775 -imu_odom_: 1691062440.188163222 0.208296 -0.253785 9.84496 -0.04048 0.0426106 0.0138484 0.21 -0.02 pose: 0.0 5.01372 0.0583139 0 0.000360781 -0.00145461 0.0288877 0.999582 uwb: 0.0 831.2 509.775 -imu_odom_: 1691062440.212093062 -0.0311246 -0.603339 9.39245 -0.0916127 0.00958738 0.0532632 0.18 -0.02 pose: 0.74930683 5.02368 0.0591918 0 -0.00139082 0.000355925 0.0286912 0.999587 uwb: 0.50033793 830.803 508.62 -imu_odom_: 1691062440.229088774 0.486023 -0.368707 9.68215 -0.0532632 -0.0351537 0.0340885 0.18 -0.02 pose: 0.0 5.02368 0.0591918 0 -0.00139082 0.000355925 0.0286912 0.999587 uwb: 0.0 830.803 508.62 -imu_odom_: 1691062440.253155972 0.823605 -0.282516 9.41879 -0.0479369 -0.0298274 0.0330232 0.18 -0.02 pose: 0.40925552 5.03364 0.0600655 0 -0.00433962 0.000602384 0.0288036 0.999575 uwb: 0.49846274 832.203 507.098 -imu_odom_: 1691062440.269171802 0.555455 -0.253785 9.40442 -0.0596548 -0.00745685 0.0351537 0.18 0 pose: 0.7074985 5.03364 0.0600655 0 -0.00426997 -0.0001942450.0287778 0.999577 uwb: 0.0 832.203 507.098 -imu_odom_: 1691062440.293134888 0.507571 -0.237026 10.058 -0.0415453 0.0308927 0.0234358 0.18 0 pose: 0.33008043 5.03925 0.0605573 0 -0.00358989 -0.00364018 0.0286729 0.999576 uwb: 0.50048667 831.87 506.12 -imu_odom_: 1691062440.309191546 0.344765 -0.265756 9.63666 -0.0745685 -0.0181095 0.056459 0.18 0.02 pose: 0.0 5.03925 0.0605573 0 -0.00358989 -0.00364018 0.0286729 0.999576 uwb: 0.0 831.87 506.12 -imu_odom_: 1691062440.326285247 0.54109 -0.248997 10.1083 -0.0276969 -0.00319579 0.0372843 0.18 0.02 pose: 0.6998286 5.04361 0.0609392 0 -0.00295237 -0.00388864 0.0286126 0.999579 uwb: 0.0 831.87 506.12 -imu_odom_: 1691062440.343227591 0.196325 -0.1652 9.72525 -0.0617853 0.00426106 0.0585895 0.18 0.02 pose: 0.0 5.04361 0.0609392 0 -0.00295237 -0.00388864 0.0286126 0.999579 uwb: 0.49975759 829.522 506.304 -imu_odom_: 1691062440.360103734 0.950498 -0.246603 10.0437 -0.0468716 -0.0436758 0.0415453 0.23 0.02 pose: 0.0 5.04361 0.0609392 0 -0.00295237 -0.00388864 0.0286126 0.999579 uwb: 0.0 829.522 506.304 -imu_odom_: 1691062440.385055743 0.325611 -0.253785 10.4148 -0.0330232 0.0117179 0.0372843 0.18 -0.02 pose: 0.41108697 5.04361 0.0609392 0 -0.00166846 -0.00382552 0.0285945 0.999582 uwb: 0.0 829.522 506.304 -imu_odom_: 1691062440.402335796 0.445322 -0.339977 9.67257 -0.0681769 -0.02024 0.0490022 0.18 -0.02 pose: 0.0 5.04361 0.0609392 0 -0.00166846 -0.00382552 0.0285945 0.999582 uwb: 0.49998797 827.466 505.949 -imu_odom_: 1691062440.427284597 0.47884 -0.426168 9.5792 -0.0681769 -0.0245011 0.0479369 0.18 0.02 pose: 0.74967721 5.06353 0.0626843 0 -0.00179889 -0.00239153 0.0287711 0.999582 uwb: 0.0 827.466 505.949 -imu_odom_: 1691062440.443209729 0.529119 -0.177171 9.91439 -0.0671117 -0.00319579 0.0500674 0.18 0.02 pose: 0.0 5.06353 0.0626843 0 -0.00179889 -0.00239153 0.0287711 0.999582 uwb: 0.49989757 828.848 504.349 -imu_odom_: 1691062440.469199072 0.694318 -0.0335188 10.647 -0.0394148 -0.015979 0.0383495 0.18 0 pose: 0.50963223 5.07437 0.0535971 0 -0.00407948 -0.00388611 0.0290046 0.999563 uwb: 0.0 828.848 504.349 -imu_odom_: 1691062440.493211443 0.407014 -0.414197 10.2065 -0.0585895 -0.0426106 0.0351537 0.18 0 pose: 0.0 5.07437 0.0535971 0 -0.00407948 -0.00388611 0.0290046 0.999563 uwb: 0.50086871 829.387 503.096 -imu_odom_: 1691062440.510068922 0.402226 -0.158017 9.44034 -0.0468716 0.00106526 0.0330232 0.27 0.02 pose: 0.9022794 5.07437 0.0535971 0 -0.00328007 -0.00447469 0.0289945 0.999564 uwb: 0.0 829.387 503.096 -imu_odom_: 1691062440.535203201 0.287304 -0.457293 9.44991 -0.0841559 0.0266316 0.0532632 0.27 0.02 pose: 0.0 5.07437 0.0535971 0 -0.00328007 -0.00447469 0.0289945 0.999564 uwb: 0.0 829.387 503.096 -imu_odom_: 1691062440.552030642 0.758962 -0.0933739 10.6231 -0.0479369 -0.02024 0.0287621 0.21 0 pose: 0.47959708 5.08433 0.0544762 0 -0.00323607 -0.00433795 0.0289128 0.999567 uwb: 0.49998505 828.166 502.373 -imu_odom_: 1691062440.577125550 0.502782 -0.241814 9.80665 -0.0777643 -0.0383495 0.0575243 0.21 0 pose: 0.0 5.08433 0.0544762 0 -0.00323607 -0.00433795 0.0289128 0.999567 uwb: 0.0 828.166 502.373 -imu_odom_: 1691062440.601034100 0.639252 -0.105345 10.2232 -0.0458064 0.00958738 0.0351537 0.2 0 pose: 0.76933319 5.10134 0.0559768 0 -0.00195264 -0.0052494 0.029175 0.999559 uwb: 0.49981300 828.536 500.631 -imu_odom_: 1691062440.626371354 0.395043 -0.299275 9.76355 -0.0798948 -0.0287621 0.0575243 0.2 0 pose: 0.6929752 5.10425 0.056235 0 -0.0013835 -0.00563827 0.0291561 0.999558 uwb: 0.0 828.536 500.631 -imu_odom_: 1691062440.650108717 0.778116 -0.181959 10.0102 -0.0607201 0.0255663 0.0330232 0.18 0.02 pose: 0.42316052 5.11151 0.0568785 0 -0.00166052 -0.00477456 0.029344 0.999557 uwb: 0.50010755 826.483 500.346 -imu_odom_: 1691062440.675176503 0.507571 -0.287304 9.85214 -0.0479369 0.0383495 0.0340885 0.18 0.02 pose: 0.0 5.11151 0.0568785 0 -0.00166052 -0.00477456 0.029344 0.999557 uwb: 0.0 826.483 500.346 -imu_odom_: 1691062440.690062552 0.0311246 -0.246603 10.058 -0.0383495 0.0234358 0.0490022 0.22 0.02 pose: 0.30732733 5.11421 0.0571185 0 -0.00170966 -0.00625082 0.0292436 0.999551 uwb: 0.49977216 828.295 498.504 -imu_odom_: 1691062440.707174334 0.469264 -0.248997 10.1538 -0.0458064 -0.0788296 0.0511327 0.22 0.02 pose: 0.0 5.11421 0.0571185 0 -0.00170966 -0.00625082 0.0292436 0.999551 uwb: 0.0 828.295 498.504 -imu_odom_: 1691062440.724121344 0.543484 -0.387861 9.72525 -0.0426106 0.052198 0.0308927 0.18 0 pose: 0.0 5.11421 0.0571185 0 -0.00170966 -0.00625082 0.0292436 0.999551 uwb: 0.0 828.295 498.504 -imu_odom_: 1691062440.749162300 -0.174777 -0.306458 9.42118 -0.0628506 -0.00106526 0.0607201 0.18 0 pose: 0.58158652 5.12417 0.0580025 0 -0.00195264 -0.00409617 0.0293431 0.999559 uwb: 0.49969926 829.306 497.166 -imu_odom_: 1691062440.772167667 0.107739 -0.19393 10.0676 -0.0394148 0.00213053 0.0436758 0.18 -0.02 pose: 0.33899561 5.13162 0.0586654 0 -0.00302328 -0.00169058 0.0295791 0.999556 uwb: 0.0 829.306 497.166 -imu_odom_: 1691062440.788035932 0.474052 -0.464475 9.71567 -0.0468716 -0.0138484 0.0468716 0.18 0 pose: 0.6024236 5.13413 0.0588896 0 -0.00284683 -0.00108042 0.0295931 0.999557 uwb: 0.0 829.306 497.166 -imu_odom_: 1691062440.814038689 0.890643 -0.301669 9.4978 -0.0511327 0 0.036219 0.25 -0.02 pose: 0.0 5.13413 0.0588896 0 -0.00284683 -0.00108042 0.0295931 0.999557 uwb: 0.49868730 830.689 495.46 -imu_odom_: 1691062440.839046108 0.318429 -0.246603 9.79228 -0.0607201 -0.0436758 0.0543285 0.18 0 pose: 0.32849396 5.13909 0.0593341 0 -0.00372944 -8.28618e-050.0296877 0.999552 uwb: 0.49992382 831.639 493.904 -imu_odom_: 1691062440.854209207 0.526724 -0.275333 9.87848 -0.0681769 -0.0106526 0.0351537 0.18 0 pose: 0.0 5.13909 0.0593341 0 -0.00372944 -8.28618e-050.0296877 0.999552 uwb: 0.0 831.639 493.904 -imu_odom_: 1691062440.871157967 0.560243 -0.167594 9.74919 -0.0415453 0.015979 0.036219 0.18 0 pose: 0.33149775 5.14409 0.059782 0 -0.00351517 -0.00207743 0.0296893 0.999551 uwb: 0.0 831.639 493.904 -imu_odom_: 1691062440.895164797 0.184354 -0.572214 9.47864 -0.0585895 0.0276969 0.0511327 0.22 0.02 pose: 0.0 5.14409 0.059782 0 -0.00351517 -0.00207743 0.0296893 0.999551 uwb: 0.50006963 830.405 493.152 -imu_odom_: 1691062440.920178631 0.227449 -0.155623 10.1011 -0.0117179 0 0.0276969 0.22 0.02 pose: 0.56983377 5.15405 0.0606748 0 -0.00237748 -0.0027422 0.0297967 0.999549 uwb: 0.0 830.405 493.152 -imu_odom_: 1691062440.944051019 0.577003 -0.411803 10.0054 -0.0479369 0 0.0276969 0.19 0 pose: 0.42009547 5.16156 0.0613507 0 -0.00186024 0.000796416 0.0297587 0.999555 uwb: 0.50023587 831.091 492.255 -imu_odom_: 1691062440.968117926 0.608127 -0.555455 9.67976 -0.0543285 -0.0458064 0.0490022 0.23 0.02 pose: 0.0 5.16156 0.0613507 0 -0.00186024 0.000796416 0.0297587 0.999555 uwb: 0.0 831.091 492.255 -imu_odom_: 1691062440.992984778 0.691924 -0.438139 9.84975 -0.0383495 -0.00639159 0.0308927 0.23 0.02 pose: 0.23872388 5.16401 0.0615704 0 -0.00325726 -0.00102004 0.029612 0.999556 uwb: 0.0 831.091 492.255 -imu_odom_: 1691062441.8002938 0.584185 0.047884 10.2783 -0.0383495 0.00106526 0.0468716 0.23 0.02 pose: 0.0 5.16401 0.0615704 0 -0.00325726 -0.00102004 0.029612 0.999556 uwb: 0.0 831.091 492.255 -imu_odom_: 1691062441.33000162 0.744597 -0.246603 10.3142 -0.0639159 0.0255663 0.0330232 0.18 0 pose: 0.54950704 5.17397 0.0624624 0 -0.0054039 -0.00527623 0.0296263 0.999533 uwb: 0.0 831.091 492.255 -imu_odom_: 1691062441.47065858 0.105345 -0.059855 9.44513 -0.0543285 0.0191748 0.036219 0.18 0 pose: 0.0 5.17397 0.0624624 0 -0.0054039 -0.00527623 0.0296263 0.999533 uwb: 0.100029984 827.169 492.311 -imu_odom_: 1691062441.62000325 0.414197 -0.160412 10.1969 -0.072438 -0.0181095 0.0553937 0.19 0 pose: 0.0 5.17397 0.0624624 0 -0.0054039 -0.00527623 0.0296263 0.999533 uwb: 0.0 827.169 492.311 -imu_odom_: 1691062441.78997504 0.857124 -0.457293 9.69652 -0.0660464 0.0170442 0.0276969 0.19 0 pose: 0.40011888 5.18393 0.0633544 0 -0.00358087 -0.00682283 0.0295448 0.999534 uwb: 0.0 827.169 492.311 -imu_odom_: 1691062441.104041680 0.445322 -0.172383 10.1969 -0.0607201 0.0298274 0.0532632 0.18 0 pose: 0.39983893 5.19389 0.0642447 0 -0.0031253 -0.00642874 0.0295443 0.999538 uwb: 0.0 827.169 492.311 -imu_odom_: 1691062441.128975037 0.634463 -0.304064 9.91199 -0.0415453 0.0713727 0.0170442 0.18 0 pose: 0.0 5.19389 0.0642447 0 -0.0031253 -0.00642874 0.0295443 0.999538 uwb: 0.0 827.169 492.311 -imu_odom_: 1691062441.150990325 0.756568 -0.316035 9.6223 -0.0500674 0.00745685 0.0479369 0.2 -0.02 pose: 0.8078494 5.19389 0.0642447 0 -0.00252994 -0.00577414 0.0295967 0.999542 uwb: 0.99904906 827.273 491.159 -imu_odom_: 1691062441.175978508 0.782904 -0.0861913 9.67257 -0.0340885 0.02024 0.0181095 0.2 0 pose: 0.0 5.19389 0.0642447 0 -0.00252994 -0.00577414 0.0295967 0.999542 uwb: 0.0 827.273 491.159 -imu_odom_: 1691062441.190978593 0.174777 -0.244209 9.663 -0.0639159 0.0138484 0.0447411 0.19 0 pose: 0.71949368 5.21381 0.0660246 0 -0.00184802 -0.00832171 0.0294245 0.999531 uwb: 0.49988615 827.046 490.492 -imu_odom_: 1691062441.205158608 -0.100556 -0.481235 10.082 -0.0703074 -0.00213053 0.0490022 0.19 0 pose: 0.0 5.21381 0.0660246 0 -0.00184802 -0.00832171 0.0294245 0.999531 uwb: 0.0 827.046 490.492 -imu_odom_: 1691062441.229033049 -0.0646434 -0.215478 10.1801 -0.0394148 0.052198 0.0372843 0.19 0.02 pose: 0.46133242 5.21922 0.0665045 0 -0.00140035 -0.00646104 0.0293431 0.999548 uwb: 0.0 827.046 490.492 -imu_odom_: 1691062441.246074556 0.64404 -0.308852 9.84735 -0.0617853 -0.0319579 0.0553937 0.19 0.02 pose: 0.6881637 5.22377 0.0669095 0 -0.00133542 -0.00557649 0.0293363 0.999553 uwb: 0.50010487 824.486 490.275 -imu_odom_: 1691062441.271131273 0.926556 -0.0694318 9.89524 -0.0415453 0.00106526 0.0245011 0.2 0.02 pose: 0.34034311 5.22377 0.0669095 0 -0.00180332 -0.00523237 0.0294539 0.999551 uwb: 0.0 824.486 490.275 -imu_odom_: 1691062441.295961392 0.744597 -0.134075 10.1227 -0.076699 -0.0138484 0.0426106 0.2 0.02 pose: 0.0 5.22377 0.0669095 0 -0.00180332 -0.00523237 0.0294539 0.999551 uwb: 0.49993573 825.962 488.777 -imu_odom_: 1691062441.310987140 0.124498 -0.337582 9.34696 -0.0468716 -0.0308927 0.0308927 0.18 0 pose: 0.8079369 5.22377 0.0669095 0 -0.00140389 -0.00594097 0.0293901 0.999549 uwb: 0.0 825.962 488.777 -imu_odom_: 1691062441.337014407 0.198719 -0.222661 9.92397 -0.0777643 -0.0191748 0.0468716 0.18 0 pose: 0.0 5.22377 0.0669095 0 -0.00140389 -0.00594097 0.0293901 0.999549 uwb: 0.0 825.962 488.777 -imu_odom_: 1691062441.360027368 0.416591 -0.42138 10.1658 -0.0351537 -0.00745685 0.0255663 0.18 0.02 pose: 0.47843080 5.23373 0.0677964 0 0.000199966 -0.0092498 0.0292567 0.999529 uwb: 0.50123641 826.871 487.055 -imu_odom_: 1691062441.376021625 0.447716 -0.584185 9.89284 -0.0660464 -0.00745685 0.0532632 0.18 0.02 pose: 0.0 5.23373 0.0677964 0 0.000199966 -0.0092498 0.0292567 0.999529 uwb: 0.0 826.871 487.055 -imu_odom_: 1691062441.392964853 0.107739 -0.248997 9.68694 -0.052198 0 0.0468716 0.18 0.02 pose: 0.0 5.23373 0.0677964 0 0.000199966 -0.0092498 0.0292567 0.999529 uwb: 0.49977533 823.878 487.056 -imu_odom_: 1691062441.408954152 0.521936 -0.169988 10.1538 -0.0447411 -0.00319579 0.0447411 0.25 0 pose: 0.41987404 5.24369 0.0686805 0 -0.000948102-0.00579549 0.0292699 0.999554 uwb: 0.0 823.878 487.056 -imu_odom_: 1691062441.432929498 0.414197 -0.399832 9.92875 -0.0479369 -0.04048 0.0458064 0.25 0 pose: 0.0 5.24369 0.0686805 0 -0.000948102-0.00579549 0.0292699 0.999554 uwb: 0.0 823.878 487.056 -imu_odom_: 1691062441.454933704 0.45011 -0.272939 10.0413 -0.0330232 0.0234358 0.036219 0.18 0 pose: 0.88945089 5.26101 0.0702185 0 -0.00428965 -0.00332139 0.0294735 0.999551 uwb: 0.50001447 827.087 484.702 -imu_odom_: 1691062441.471033824 0.220267 -0.148441 9.991 -0.0617853 -0.0213053 0.0596548 0.18 0 pose: 0.0 5.26101 0.0702185 0 -0.00428965 -0.00332139 0.0294735 0.999551 uwb: 0.0 827.087 484.702 -imu_odom_: 1691062441.495956390 0.378284 0.0143652 10.1658 -0.0415453 0.0308927 0.0500674 0.21 0 pose: 0.38104326 5.26925 0.0709534 0 -0.00153946 -0.00054238 0.0295987 0.999561 uwb: 0.49861172 830.808 482.332 -imu_odom_: 1691062441.517999675 0.356736 -0.356736 9.95748 -0.0703074 0.00532632 0.0490022 0.19 0 pose: 0.0 5.26925 0.0709534 0 -0.00153946 -0.00054238 0.0295987 0.999561 uwb: 0.0 830.808 482.332 -imu_odom_: 1691062441.533935314 0.023942 0 9.68933 -0.0458064 -0.00745685 0.0276969 0.18 0 pose: 0.46965851 5.28053 0.0719646 0 -0.0012446 0.000878155 0.0298308 0.999554 uwb: 0.0 830.808 482.332 -imu_odom_: 1691062441.548992849 0.1652 -0.512359 9.8689 -0.072438 0.00958738 0.0617853 0.18 0 pose: 0.0 5.28053 0.0719646 0 -0.0012446 0.000878155 0.0298308 0.999554 uwb: 0.50130057 829.142 481.84 -imu_odom_: 1691062441.574053941 0.222661 -0.220267 10.1801 -0.0394148 0 0.0330232 0.18 0.02 pose: 0.0 5.28053 0.0719646 0 -0.0012446 0.000878155 0.0298308 0.999554 uwb: 0.0 829.142 481.84 -imu_odom_: 1691062441.599912353 0.502782 -0.184354 10.2927 -0.0820254 -0.0628506 0.0553937 0.18 0.02 pose: 0.39029673 5.28354 0.0722353 0 -0.00151734 0.0039174 0.0298784 0.999545 uwb: 0.49949536 832.36 479.433 -imu_odom_: 1691062441.624906953 0.634463 -0.0742203 10.0676 -0.0468716 -0.0490022 0.0287621 0.18 0.02 pose: 0.42883005 5.2935 0.0731316 0 -0.00072274 0.00235102 0.0300342 0.999546 uwb: 0.0 832.36 479.433 -imu_odom_: 1691062441.649921091 0.708684 -0.191536 10.0293 -0.0777643 -0.0372843 0.0543285 0.18 0.02 pose: 0.0 5.2935 0.0731316 0 -0.00072274 0.00235102 0.0300342 0.999546 uwb: 0.49926790 833.383 477.921 -imu_odom_: 1691062441.663953249 0.323217 -0.035913 9.64384 -0.0447411 0.02024 0.0372843 0.2 -0.02 pose: 0.8025417 5.2935 0.0731316 0 -0.0002750350.00148099 0.0299913 0.999549 uwb: 0.0 833.383 477.921 -imu_odom_: 1691062441.688180857 0.299275 -0.122104 9.85693 -0.0905475 0 0.0639159 0.2 -0.02 pose: 0.0 5.2935 0.0731316 0 -0.0002750350.00148099 0.0299913 0.999549 uwb: 0.0 833.383 477.921 -imu_odom_: 1691062441.712113333 0.205901 -0.189142 9.82102 -0.0575243 0.00106526 0.0330232 0.24 0 pose: 0.48017767 5.30346 0.0740302 0 0.001043 -0.00280121 0.0300777 0.999543 uwb: 0.49981324 835.811 476.07 -imu_odom_: 1691062441.737065354 0.339977 -0.457293 9.54808 -0.0713727 0.0319579 0.0479369 0.24 0 pose: 0.0 5.30346 0.0740302 0 0.001043 -0.00280121 0.0300777 0.999543 uwb: 0.0 835.811 476.07 -imu_odom_: 1691062441.752917586 0.162806 -0.311246 10.0604 -0.0298274 -0.0213053 0.0372843 0.18 0.02 pose: 0.81109817 5.32061 0.0755864 0 -0.0008867340.00308753 0.0303702 0.999534 uwb: 0.49980450 838.758 474.221 -imu_odom_: 1691062441.767968998 0.320823 -0.423774 9.91918 -0.0447411 -0.0458064 0.0458064 0.18 0.02 pose: 0.0 5.32061 0.0755864 0 -0.0008867340.00308753 0.0303702 0.999534 uwb: 0.0 838.758 474.221 -imu_odom_: 1691062441.784037912 0.656011 -0.158017 10.1179 -0.0543285 0.015979 0.0436758 0.18 0.02 pose: 0.0 5.32061 0.0755864 0 -0.0008867340.00308753 0.0303702 0.999534 uwb: 0.0 838.758 474.221 -imu_odom_: 1691062441.799902685 0.248997 -0.21069 9.91439 -0.0223706 -0.00745685 0.0383495 0.18 -0.02 pose: 0.6891552 5.32337 0.0758374 0 -0.00110046 0.00365023 0.0303616 0.999532 uwb: 0.50020694 838.071 473.622 -imu_odom_: 1691062441.813926677 0.574608 -0.423774 9.88326 -0.0532632 0.0213053 0.0575243 0.18 -0.02 pose: 0.0 5.32337 0.0758374 0 -0.00110046 0.00365023 0.0303616 0.999532 uwb: 0.0 838.071 473.622 -imu_odom_: 1691062441.839110837 0.61531 -0.356736 10.3765 -0.0319579 0.04048 0.0351537 0.17 0 pose: 0.30982676 5.32337 0.0758374 0 -0.00255257 0.00340476 0.0304038 0.999529 uwb: 0.0 838.071 473.622 -imu_odom_: 1691062441.856048232 0.521936 -0.45011 9.71088 -0.0500674 -0.0394148 0.04048 0.17 0 pose: 0.0 5.32337 0.0758374 0 -0.00255257 0.00340476 0.0304038 0.999529 uwb: 0.50088354 833.639 473.971 -imu_odom_: 1691062441.872090025 0.94571 -0.0957681 9.69891 -0.0607201 -0.0372843 0.052198 0.17 0 pose: 0.0 5.32337 0.0758374 0 -0.00255257 0.00340476 0.0304038 0.999529 uwb: 0.0 833.639 473.971 -imu_odom_: 1691062441.889039376 1.67594 -0.323217 10.07 -0.0575243 -0.0447411 0.0117179 0.21 -0.26 pose: 0.46127993 5.33424 0.0667855 0 -0.00229012 0.00259275 0.0305177 0.999528 uwb: 0.0 833.639 473.971 -imu_odom_: 1691062441.906026348 1.60172 -0.174777 9.21289 -0.0671117 -0.02024 -0.122505 0.13 -0.29 pose: 0.0 5.33424 0.0667855 0 -0.00229012 0.00259275 0.0305177 0.999528 uwb: 0.49985115 827.948 475.162 -imu_odom_: 1691062441.922901042 1.75495 0.141258 9.86411 -0.0607201 0.0213053 -0.213053 0.13 -0.29 pose: 0.75991385 5.3442 0.0676949 0 -0.00330663 -0.0047593 0.0296774 0.999543 uwb: 0.0 827.948 475.162 -imu_odom_: 1691062441.939027117 0.881066 -0.0981623 9.71088 -0.0500674 0.0468716 -0.298274 0.13 -0.29 pose: 0.0 5.3442 0.0676949 0 -0.00330663 -0.0047593 0.0296774 0.999543 uwb: 0.0 827.948 475.162 -imu_odom_: 1691062441.956093704 0.73502 0.158017 9.81862 -0.0575243 0.00213053 -0.374973 0.13 -0.44 pose: 0.0 5.3442 0.0676949 0 -0.00330663 -0.0047593 0.0296774 0.999543 uwb: 0.49755018 829.05 473.863 -imu_odom_: 1691062441.971948853 0.54109 -0.0933739 9.69412 -0.0596548 -0.0234358 -0.394148 0.13 -0.44 pose: 0.33982110 5.35415 0.0686872 0 -0.00228472 -0.00761435 0.0254274 0.999645 uwb: 0.0 829.05 473.863 -imu_odom_: 1691062441.989142300 0.957681 -0.440533 9.98382 -0.0500674 -0.0383495 -0.421845 0.13 -0.55 pose: 0.40907783 5.35415 0.0686872 0 0.00125671 -0.00848133 0.0170717 0.999818 uwb: 0.0 829.05 473.863 -imu_odom_: 1691062442.5006490 0.938527 -0.148441 9.84256 -0.0479369 -0.0330232 -0.434628 0.13 -0.55 pose: 0.0 5.35415 0.0686872 0 0.00125671 -0.00848133 0.0170717 0.999818 uwb: 0.49997365 830.597 472.352 -imu_odom_: 1691062442.20967801 1.08936 0.0023942 10.1442 -0.0383495 -0.0170442 -0.425041 0.13 -0.55 pose: 0.0 5.35415 0.0686872 0 0.00125671 -0.00848133 0.0170717 0.999818 uwb: 0.0 830.597 472.352 -imu_odom_: 1691062442.37908703 1.17555 -0.217872 10.0293 -0.0617853 -0.00958738 -0.437824 0.08 -0.47 pose: 0.7068864 5.35415 0.0686872 0 0.000919914 -0.00920139 0.0154449 0.999838 uwb: 0.0 830.597 472.352 -imu_odom_: 1691062442.52849010 0.85473 -0.148441 9.98861 -0.0468716 0.00213053 -0.492152 0.1 -0.7 pose: 0.0 5.35415 0.0686872 0 0.000919914 -0.00920139 0.0154449 0.999838 uwb: 0.49995632 832.002 470.375 -imu_odom_: 1691062442.66914713 0.68953 -0.162806 10.0892 -0.056459 -0.0351537 -0.494283 0.1 -0.7 pose: 0.0 5.35415 0.0686872 0 0.000919914 -0.00920139 0.0154449 0.999838 uwb: 0.0 832.002 470.375 -imu_odom_: 1691062442.81849770 0.787692 -0.148441 9.57441 -0.0617853 -0.0319579 -0.476173 0.1 -0.7 pose: 0.64849319 5.3641 0.0696944 0 0.00177364 -0.0158478 1.45038e-05 0.999873 uwb: 0.0 832.002 470.375 -imu_odom_: 1691062442.98909367 0.833182 -0.538695 9.63666 -0.0649811 -0.0191748 -0.50174 0.06 -0.5 pose: 0.0 5.3641 0.0696944 0 0.00177364 -0.0158478 1.45038e-05 0.999873 uwb: 0.50112875 831.219 469.515 -imu_odom_: 1691062442.114845889 0.603339 -0.184354 10.0533 -0.0553937 0.0117179 -0.516653 0.06 -0.5 pose: 0.29987060 5.3641 0.0696944 0 0.00255038 -0.0162957 -0.007927 0.999833 uwb: 0.0 831.219 469.515 -imu_odom_: 1691062442.130845986 0.557849 -0.155623 10.161 -0.0617853 0.00213053 -0.476173 0.07 -0.67 pose: 0.0 5.3641 0.0696944 0 0.00255038 -0.0162957 -0.007927 0.999833 uwb: 0.0 831.219 469.515 -imu_odom_: 1691062442.146843167 0.574608 -0.181959 9.94312 -0.0617853 -0.0266316 -0.426106 0.07 -0.67 pose: 0.48037913 5.3641 0.0696944 0 0.00134458 -0.0152894 -0.0208322 0.999665 uwb: 0.50135039 829.647 469.401 -imu_odom_: 1691062442.163891974 0.821211 -0.4956 9.59835 -0.0532632 -0.015979 -0.381365 0.07 -0.67 pose: 0.0 5.3641 0.0696944 0 0.00134458 -0.0152894 -0.0208322 0.999665 uwb: 0.0 829.647 469.401 -imu_odom_: 1691062442.179897029 0.778116 -0.354342 10.0317 -0.0553937 0.00532632 -0.337689 0.05 -0.38 pose: 0.41999965 5.37398 0.0706717 0 4.73243e-05 -0.0138224 -0.0304373 0.999441 uwb: 0.0 829.647 469.401 -imu_odom_: 1691062442.196863303 0.366313 -0.356736 9.7875 -0.0596548 0.0138484 -0.311057 0.05 -0.38 pose: 0.0 5.37398 0.0706717 0 4.73243e-05 -0.0138224 -0.0304373 0.999441 uwb: 0.49901441 831.644 467.631 -imu_odom_: 1691062442.212972763 0.418985 -0.0694318 10.1035 -0.0543285 -0.0245011 -0.296144 0.05 -0.38 pose: 0.0 5.37398 0.0706717 0 4.73243e-05 -0.0138224 -0.0304373 0.999441 uwb: 0.0 831.644 467.631 -imu_odom_: 1691062442.229969950 0.610521 -0.272939 9.81144 -0.0628506 -0.0170442 -0.26312 0.05 -0.32 pose: 0.8004423 5.37405 0.070676 0 -0.000607343-0.014213 -0.0319368 0.999389 uwb: 0.0 831.644 467.631 -imu_odom_: 1691062442.245851354 0.758962 -0.40462 9.83538 -0.0617853 -0.0127832 -0.224771 0.03 -0.26 pose: 0.0 5.37405 0.070676 0 -0.000607343-0.014213 -0.0319368 0.999389 uwb: 0.49934105 832.315 466.508 -imu_odom_: 1691062442.261964021 0.629675 -0.442927 9.96706 -0.0596548 0.00852212 -0.206661 0.03 -0.26 pose: 0.66081768 5.37405 0.0706762 0 -0.00302652 -0.0117014 -0.0427156 0.999014 uwb: 0.0 832.315 466.508 -imu_odom_: 1691062442.277900252 0.476446 -0.155623 10.0628 -0.0553937 0.00426106 -0.194943 0.03 -0.26 pose: 0.0 5.37405 0.0706762 0 -0.00302652 -0.0117014 -0.0427156 0.999014 uwb: 0.0 832.315 466.508 -imu_odom_: 1691062442.294903563 0.488417 -0.220267 9.83538 -0.0553937 -0.00745685 -0.175769 0.03 -0.23 pose: 0.0 5.37405 0.0706762 0 -0.00302652 -0.0117014 -0.0427156 0.999014 uwb: 0.50199198 830.195 466.292 -imu_odom_: 1691062442.310841252 0.517148 -0.268151 9.80426 -0.0628506 -0.0149137 -0.157659 0.03 -0.23 pose: 0.31933411 5.37405 0.0706762 0 -0.00467662 -0.01131 -0.0466465 0.998836 uwb: 0.0 830.195 466.292 -imu_odom_: 1691062442.327999712 0.627281 -0.380678 9.78031 -0.0543285 -0.00745685 -0.143811 0.04 -0.23 pose: 0.0 5.37405 0.0706762 0 -0.00467662 -0.01131 -0.0466465 0.998836 uwb: 0.0 830.195 466.292 -imu_odom_: 1691062442.352980033 0.629675 -0.275333 9.92397 -0.052198 -0.00639159 -0.117179 0.04 -0.23 pose: 0.47934968 5.37405 0.0706762 0 -0.00380638 -0.00812064 -0.0516227 0.998626 uwb: 0.49947811 831.075 465.84 -imu_odom_: 1691062442.368815359 0.512359 -0.299275 9.80186 -0.0596548 0.00106526 -0.0990696 0.03 -0.17 pose: 0.0 5.37405 0.0706762 0 -0.00380638 -0.00812064 -0.0516227 0.998626 uwb: 0.0 831.075 465.84 -imu_odom_: 1691062442.384975854 0.169988 -0.270545 9.83299 -0.0490022 0.0234358 -0.135289 0.02 -0.23 pose: 0.42020379 5.37405 0.0706762 0 -0.0038945 -0.0103334 -0.054992 0.998426 uwb: 0.0 831.075 465.84 -imu_odom_: 1691062442.409824941 0.0215478 0.0143652 9.7037 -0.0575243 -0.0213053 -0.211988 0.03 -0.35 pose: 0.0 5.37405 0.0706762 0 -0.0038945 -0.0103334 -0.054992 0.998426 uwb: 0.49746002 834.74 464.474 -imu_odom_: 1691062442.431805827 0.782904 -0.0670376 9.73482 -0.0553937 -0.0287621 -0.302535 0.03 -0.35 pose: 0.31967532 5.37405 0.0706765 0 -0.00346929 -0.00708135 -0.0578759 0.998293 uwb: 0.0 834.74 464.474 -imu_odom_: 1691062442.447803009 0.732626 -0.222661 9.94551 -0.0617853 0.00958738 -0.334493 0.02 -0.32 pose: 0.0 5.37405 0.0706765 0 -0.00346929 -0.00708135 -0.0578759 0.998293 uwb: 0.50113167 833.162 464.348 -imu_odom_: 1691062442.464859397 0.366313 -0.35913 9.96706 -0.0617853 0.00852212 -0.336624 0.02 -0.32 pose: 0.24119715 5.384 0.0717168 0 -0.00219465 -0.00631889 -0.0611859 0.998104 uwb: 0.0 833.162 464.348 -imu_odom_: 1691062442.489828054 0.52433 -0.167594 9.96467 -0.0458064 -0.00213053 -0.38456 0.02 -0.41 pose: 0.48905227 5.38393 0.071713 0 -0.00216953 -0.00772312 -0.0700793 0.997509 uwb: 0.49925064 833.05 463.989 -imu_odom_: 1691062442.516827052 0.653617 -0.117316 9.85214 -0.0596548 0.00532632 -0.413323 0.02 -0.41 pose: 0.0 5.38393 0.071713 0 -0.00216953 -0.00772312 -0.0700793 0.997509 uwb: 0.0 833.05 463.989 -imu_odom_: 1691062442.541866866 0.52433 -0.344765 10.0245 -0.0649811 0.00106526 -0.435693 0.02 -0.5 pose: 0.7954846 5.384 0.0717174 0 -0.00136454 -0.00746182 -0.0717672 0.997393 uwb: 0.49967642 834.821 463.072 -imu_odom_: 1691062442.558820892 0.653617 -0.383072 9.60314 -0.0649811 -0.00745685 -0.433563 0.02 -0.5 pose: 0.0 5.384 0.0717174 0 -0.00136454 -0.00746182 -0.0717672 0.997393 uwb: 0.0 834.821 463.072 -imu_odom_: 1691062442.583809963 0.395043 -0.201113 10.0389 -0.0639159 -0.00426106 -0.442085 0.02 -0.47 pose: 0.51103257 5.384 0.0717173 0 0.00103396 -0.00881553 -0.0831527 0.996497 uwb: 0.0 834.821 463.072 -imu_odom_: 1691062442.600854686 0.488417 -0.349553 9.73243 -0.0553937 -0.0127832 -0.448476 0.02 -0.47 pose: 0.0 5.384 0.0717173 0 0.00103396 -0.00881553 -0.0831527 0.996497 uwb: 0.50079629 831.516 463.977 -imu_odom_: 1691062442.616794707 0.407014 -0.304064 9.991 -0.0660464 0.00319579 -0.462325 0.02 -0.5 pose: 0.43028843 5.384 0.0717172 0 -0.00203053 -0.00803989 -0.0933221 0.995601 uwb: 0.0 831.516 463.977 -imu_odom_: 1691062442.642846485 0.471658 -0.270545 9.84975 -0.056459 -0.00532632 -0.46339 0.02 -0.5 pose: 0.41873396 5.384 0.0717171 0 -0.0032858 -0.00500126 -0.103481 0.994613 uwb: 0.50033259 831.802 463.247 -imu_odom_: 1691062442.664809582 0.536301 -0.318429 9.84975 -0.0575243 -0.015979 -0.467651 0.03 -0.53 pose: 0.34026746 5.38395 0.0717141 0 -0.00280662 -0.00171476 -0.111976 0.993705 uwb: 0.0 831.802 463.247 -imu_odom_: 1691062442.689854354 0.383072 -0.136469 9.88805 -0.0575243 -0.0106526 -0.493217 0.03 -0.53 pose: 0.0 5.38395 0.0717141 0 -0.00280662 -0.00171476 -0.111976 0.993705 uwb: 0.0 831.802 463.247 -imu_odom_: 1691062442.713849251 0.4956 -0.059855 9.94073 -0.0436758 -0.00958738 -0.540089 0.02 -0.64 pose: 0.6128938 5.384 0.0717172 0 -0.00317523 -0.00225062 -0.113521 0.993528 uwb: 0.0 831.802 463.247 -imu_odom_: 1691062442.728902420 0.639252 -0.287304 9.89524 -0.056459 -0.0117179 -0.543285 0.02 -0.64 pose: 0.0 5.384 0.0717172 0 -0.00317523 -0.00225062 -0.113521 0.993528 uwb: 0.0 831.802 463.247 -imu_odom_: 1691062442.743950922 0.557849 -0.320823 9.75877 -0.0511327 -0.00426106 -0.569916 0.02 -0.64 pose: 0.0 5.384 0.0717172 0 -0.00317523 -0.00225062 -0.113521 0.993528 uwb: 0.99939368 830.382 463.645 -imu_odom_: 1691062442.761057763 0.438139 -0.0957681 9.87369 -0.0490022 -0.00426106 -0.600809 0.02 -0.61 pose: 0.47837854 5.384 0.0717178 0 -0.00120175 -0.00284925 -0.126141 0.992007 uwb: 0.0 830.382 463.645 -imu_odom_: 1691062442.785917349 0.701501 -0.201113 9.77313 -0.072438 -0.0308927 -0.60507 0.02 -0.61 pose: 0.0 5.384 0.0717178 0 -0.00120175 -0.00284925 -0.126141 0.992007 uwb: 0.0 830.382 463.645 -imu_odom_: 1691062442.802800800 0.505177 -0.351948 9.86172 -0.056459 0.00319579 -0.616788 0.01 -0.61 pose: 0.72126424 5.384 0.0717178 0 -0.000191798-0.00561142 -0.147863 0.988992 uwb: 0.50135330 827.94 464.078 -imu_odom_: 1691062442.818833560 0.47884 -0.129287 10.0197 -0.0511327 -0.0117179 -0.640224 0.01 -0.61 pose: 0.0 5.384 0.0717178 0 -0.000191798-0.00561142 -0.147863 0.988992 uwb: 0.0 827.94 464.078 -imu_odom_: 1691062442.835776213 0.311246 -0.148441 9.65103 -0.0575243 0 -0.647681 0.02 -0.97 pose: 0.49893859 5.38927 0.0722911 0 -0.000517887-0.00619964 -0.164119 0.986421 uwb: 0.0 827.94 464.078 -imu_odom_: 1691062442.851766103 0.366313 -0.208296 9.94791 -0.0500674 -0.0181095 -0.666856 0.02 -0.97 pose: 0.0 5.38927 0.0722911 0 -0.000517887-0.00619964 -0.164119 0.986421 uwb: 0.49861197 827.4 464.005 -imu_odom_: 1691062442.868766207 0.701501 -0.186748 9.73961 -0.0596548 -0.0170442 -0.692422 0.02 -0.97 pose: 0.0 5.38927 0.0722911 0 -0.000517887-0.00619964 -0.164119 0.986421 uwb: 0.0 827.4 464.005 -imu_odom_: 1691062442.884825214 0.68953 -0.213084 10.0269 -0.056459 -0.00532632 -0.702009 0.01 -0.73 pose: 0.6944050 5.39394 0.0727592 0 -0.000219775-0.00555257 -0.166474 0.98603 uwb: 0.0 827.4 464.005 -imu_odom_: 1691062442.901761742 0.620098 -0.318429 9.71328 -0.0607201 -0.00106526 -0.714792 0.01 -0.73 pose: 0.0 5.39394 0.0727592 0 -0.000219775-0.00555257 -0.166474 0.98603 uwb: 0.50046091 828.689 463.198 -imu_odom_: 1691062442.917762423 0.452504 -0.263362 9.95748 -0.0490022 -0.00958738 -0.729706 0.01 -0.73 pose: 0.0 5.39394 0.0727592 0 -0.000219775-0.00555257 -0.166474 0.98603 uwb: 0.0 828.689 463.198 -imu_odom_: 1691062442.934766318 0.409408 -0.148441 10.0197 -0.0607201 -0.0117179 -0.72651 0.01 -1 pose: 0.50998561 5.39394 0.0727593 0 -0.000106867-0.00569735 -0.184466 0.982822 uwb: 0.0 828.689 463.198 -imu_odom_: 1691062442.950760583 0.59855 -0.272939 9.94073 -0.056459 -0.0298274 -0.735032 0.01 -0.76 pose: 0.0 5.39394 0.0727593 0 -0.000106867-0.00569735 -0.184466 0.982822 uwb: 0.49995056 832.921 461.939 -imu_odom_: 1691062442.967829220 0.617704 -0.198719 9.90002 -0.0532632 -0.00745685 -0.782969 0.01 -0.76 pose: 0.65999528 5.39394 0.0727602 0 -0.00137252 -0.0053259 -0.209104 0.977878 uwb: 0.0 832.921 461.939 -imu_odom_: 1691062442.992745382 0.536301 -0.0933739 10.1107 -0.0596548 -0.0213053 -0.782969 0 -0.79 pose: 0.0 5.39394 0.0727602 0 -0.00137252 -0.0053259 -0.209104 0.977878 uwb: 0.50003221 835.209 461.013 -imu_odom_: 1691062443.9811108 0.565032 -0.23942 9.61511 -0.0596548 -0.0170442 -0.778708 0 -0.79 pose: 0.33331787 5.39394 0.0727599 0 -0.000912336-0.00783999 -0.222307 0.974945 uwb: 0.0 835.209 461.013 -imu_odom_: 1691062443.25922908 0.430956 -0.392649 10.0413 -0.0671117 -0.0234358 -0.791491 0 -0.79 pose: 0.0 5.39394 0.0727599 0 -0.000912336-0.00783999 -0.222307 0.974945 uwb: 0.0 835.209 461.013 -imu_odom_: 1691062443.41749201 0.426168 -0.148441 9.93833 -0.0553937 -0.00958738 -0.80534 0 -0.88 pose: 0.41822369 5.39394 0.0727599 0 -0.00155794 -0.00755929 -0.239037 0.97098 uwb: 0.50033571 833.715 461.177 -imu_odom_: 1691062443.57744640 0.500388 -0.203507 9.94312 -0.0575243 -0.0287621 -0.80534 0 -0.88 pose: 0.0 5.39394 0.0727599 0 -0.00155794 -0.00755929 -0.239037 0.97098 uwb: 0.0 833.715 461.177 -imu_odom_: 1691062443.74743294 0.502782 -0.31364 9.93833 -0.0681769 -0.0276969 -0.819188 0 -1.06 pose: 0.39814785 5.39387 0.0727553 0 -0.000569587-0.00462183 -0.255287 0.966854 uwb: 0.0 833.715 461.177 -imu_odom_: 1691062443.90747774 0.596156 -0.268151 9.80426 -0.0745685 -0.0127832 -0.814927 0 -1.06 pose: 0.0 5.39387 0.0727553 0 -0.000569587-0.00462183 -0.255287 0.966854 uwb: 0.50085194 833.674 461.042 -imu_odom_: 1691062443.107852874 0.428562 -0.296881 9.96227 -0.0596548 -0.0319579 -0.836233 0 -1.06 pose: 0.0 5.39387 0.0727553 0 -0.000569587-0.00462183 -0.255287 0.966854 uwb: 0.0 833.674 461.042 -imu_odom_: 1691062443.123756449 0.521936 -0.110133 9.89045 -0.0671117 -0.0223706 -0.837298 0 -0.85 pose: 0.7069163 5.39394 0.07276 0 -0.00131702 -0.00456729 -0.258218 0.966075 uwb: 0.0 833.674 461.042 -imu_odom_: 1691062443.140737313 0.701501 -0.35913 9.78989 -0.0490022 -0.02024 -0.828776 0 -0.85 pose: 0.0 5.39394 0.07276 0 -0.00131702 -0.00456729 -0.258218 0.966075 uwb: 0.49787146 832.832 461.647 -imu_odom_: 1691062443.156852030 0.383072 -0.234632 9.91678 -0.056459 -0.00213053 -0.833037 0 -0.85 pose: 0.0 5.39394 0.07276 0 -0.00131702 -0.00456729 -0.258218 0.966075 uwb: 0.0 832.832 461.647 -imu_odom_: 1691062443.173849517 0.351948 -0.280122 10.0413 -0.0511327 -0.00532632 -0.851146 0 -1.09 pose: 0.50924220 5.39394 0.0727599 0 -0.00304798 -0.00478695 -0.279446 0.960145 uwb: 0.0 832.832 461.647 -imu_odom_: 1691062443.189976774 0.56982 -0.186748 9.83777 -0.0532632 -0.0149137 -0.850081 0 -1.09 pose: 0.0 5.39394 0.0727599 0 -0.00304798 -0.00478695 -0.279446 0.960145 uwb: 0.50086361 833.316 461.546 -imu_odom_: 1691062443.206725208 0.622492 -0.337582 10.07 -0.0575243 -0.0191748 -0.841559 0 -1.09 pose: 0.47999150 5.39394 0.0727599 0 -0.0029193 -0.00422493 -0.299529 0.954073 uwb: 0.0 833.316 461.546 -imu_odom_: 1691062443.222834384 0.203507 -0.349553 9.53611 -0.0617853 -0.00426106 -0.836233 0 -0.85 pose: 0.0 5.39394 0.0727599 0 -0.0029193 -0.00422493 -0.299529 0.954073 uwb: 0.0 833.316 461.546 -imu_odom_: 1691062443.239780544 0.392649 -0.258574 10.0987 -0.0511327 -0.0117179 -0.844755 0 -1.17 pose: 0.0 5.39394 0.0727599 0 -0.0029193 -0.00422493 -0.299529 0.954073 uwb: 0.49930629 830.504 462.449 -imu_odom_: 1691062443.255724656 0.454898 -0.059855 9.88566 -0.0575243 -0.0138484 -0.84795 0 -1.17 pose: 0.66061094 5.39394 0.0727603 0 -0.0035626 -0.00358886 -0.327237 0.944929 uwb: 0.0 830.504 462.449 -imu_odom_: 1691062443.272838796 0.612916 -0.153229 9.79707 -0.052198 -0.0181095 -0.844755 0 -1.17 pose: 0.0 5.39394 0.0727603 0 -0.0035626 -0.00358886 -0.327237 0.944929 uwb: 0.0 830.504 462.449 -imu_odom_: 1691062443.288841818 0.368707 -0.325611 9.74201 -0.0468716 -0.00958738 -0.826645 0 -1.17 pose: 0.0 5.39394 0.0727603 0 -0.0035626 -0.00358886 -0.327237 0.944929 uwb: 0.0 830.504 462.449 -imu_odom_: 1691062443.305829389 0.605733 -0.387861 10.0365 -0.072438 -0.0330232 -0.76486 0 -1.17 pose: 0.32994677 5.39394 0.0727605 0 -0.00158902 -0.00393378 -0.341017 0.940048 uwb: 0.49988665 831.338 461.818 -imu_odom_: 1691062443.321767669 0.514753 -0.423774 9.74679 -0.0553937 -0.015979 -0.713727 0 -0.7 pose: 0.43036445 5.39388 0.0727563 0 -0.00377677 -0.0042614 -0.358063 0.93368 uwb: 0.0 831.338 461.818 -imu_odom_: 1691062443.338881226 0.497994 -0.507571 10.0078 -0.0543285 -0.00319579 -0.659399 0 -0.7 pose: 0.6886310 5.39394 0.0727605 0 -0.00443608 -0.00409597 -0.36048 0.932748 uwb: 0.0 831.338 461.818 -imu_odom_: 1691062443.354708393 0.64404 -0.275333 9.90721 -0.0585895 -0.0266316 -0.600809 0 -0.7 pose: 0.0 5.39394 0.0727605 0 -0.00443608 -0.00409597 -0.36048 0.932748 uwb: 0.49986039 830.44 462.248 -imu_odom_: 1691062443.370709082 0.486023 -0.366313 9.89045 -0.0511327 0.00745685 -0.551807 0 -0.85 pose: 0.41992694 5.39387 0.0727565 0 -0.00702631 -0.00494721 -0.373915 0.927423 uwb: 0.0 830.44 462.248 -imu_odom_: 1691062443.387762854 0.553061 -0.328006 10.003 -0.0585895 -0.0266316 -0.523045 0 -0.58 pose: 0.0 5.39387 0.0727565 0 -0.00702631 -0.00494721 -0.373915 0.927423 uwb: 0.0 830.44 462.248 -imu_odom_: 1691062443.404715722 0.574608 -0.158017 9.73961 -0.0468716 -0.00532632 -0.509196 0 -0.58 pose: 0.0 5.39387 0.0727565 0 -0.00702631 -0.00494721 -0.373915 0.927423 uwb: 0.49994788 828.455 462.483 -imu_odom_: 1691062443.420707370 0.509965 -0.28491 9.92636 -0.0500674 0 -0.48363 0 -0.47 pose: 0.24012115 5.39394 0.0727605 0 -0.00793816 -0.00427886 -0.380374 0.924789 uwb: 0.0 828.455 462.483 -imu_odom_: 1691062443.436698726 0.397437 -0.383072 9.81623 -0.052198 0 -0.449542 0 -0.47 pose: 0.0 5.39394 0.0727605 0 -0.00793816 -0.00427886 -0.380374 0.924789 uwb: 0.0 828.455 462.483 -imu_odom_: 1691062443.453720711 0.454898 -0.435745 9.99819 -0.0511327 -0.0127832 -0.407996 0 -0.47 pose: 0.33980976 5.39394 0.0727606 0 -0.00632873 -0.00540794 -0.388961 0.921217 uwb: 0.49990997 831.095 461.033 -imu_odom_: 1691062443.470699533 0.390255 -0.349553 9.89763 -0.0585895 -0.0149137 -0.357929 0 -0.58 pose: 0.41019227 5.39394 0.0727606 0 -0.00740141 -0.00204381 -0.397962 0.91737 uwb: 0.0 831.095 461.033 -imu_odom_: 1691062443.486698181 0.402226 -0.35913 9.89284 -0.052198 -0.0149137 -0.318514 0 -0.58 pose: 0.6984589 5.39394 0.0727606 0 -0.00725564 -0.00140487 -0.399232 0.91682 uwb: 0.0 831.095 461.033 -imu_odom_: 1691062443.513699817 0.488417 -0.100556 9.84496 -0.0500674 -0.0106526 -0.305731 0 -0.53 pose: 0.0 5.39394 0.0727606 0 -0.00725564 -0.00140487 -0.399232 0.91682 uwb: 0.49991873 832.901 460.199 -imu_odom_: 1691062443.538763557 0.395043 -0.335188 9.91439 -0.0585895 0.00106526 -0.302535 0 -0.35 pose: 0.34000224 5.39394 0.0727609 0 -0.00625876 0.0004959 -0.404927 0.914327 uwb: 0.50006162 830.974 460.652 -imu_odom_: 1691062443.563755265 0.301669 0.0454898 9.89045 -0.0490022 -0.00852212 -0.409062 0 -0.47 pose: 0.44058033 5.39394 0.072761 0 -0.00521623 0.00181863 -0.41183 0.911244 uwb: 0.0 830.974 460.652 -imu_odom_: 1691062443.577806101 0.292093 0.0574608 9.8282 -0.0532632 -0.0191748 -0.437824 0 -0.47 pose: 0.0 5.39394 0.072761 0 -0.00521623 0.00181863 -0.41183 0.911244 uwb: 0.0 830.974 460.652 -imu_odom_: 1691062443.593805331 0.481235 -0.248997 9.88326 -0.0553937 -0.0181095 -0.486826 0 -0.44 pose: 0.0 5.39394 0.072761 0 -0.00521623 0.00181863 -0.41183 0.911244 uwb: 0.49881051 830.404 460.486 -imu_odom_: 1691062443.609756734 0.447716 -0.184354 9.85453 -0.0468716 -0.00958738 -0.52411 0 -0.44 pose: 0.45997095 5.39394 0.072761 0 -0.00166114 0.000438912 -0.421641 0.906761 uwb: 0.0 830.404 460.486 -imu_odom_: 1691062443.636679630 0.459687 -0.445322 9.82341 -0.0575243 -0.0149137 -0.536893 0 -0.53 pose: 0.0 5.39394 0.072761 0 -0.00166114 0.000438912 -0.421641 0.906761 uwb: 0.0 830.404 460.486 -imu_odom_: 1691062443.661696417 0.608127 -0.107739 9.89045 -0.0479369 -0.0117179 -0.58483 0 -0.53 pose: 0.32988261 5.39394 0.0727611 0 -0.00163366 -0.00135138 -0.429949 0.90285 uwb: 0.49979332 829.82 460.276 -imu_odom_: 1691062443.688677639 0.466869 -0.251391 9.91678 -0.0607201 -0.00958738 -0.609331 0 -0.7 pose: 0.43947504 5.39388 0.0727575 0 -0.00259615 -0.00330906 -0.441891 0.897059 uwb: 0.50024243 828.457 460.881 -imu_odom_: 1691062443.713719507 0.308852 -0.167594 9.9527 -0.0532632 0.00106526 -0.631702 0 -0.7 pose: 0.8054880 5.39394 0.0727611 0 -0.00293449 -0.00258515 -0.444231 0.895904 uwb: 0.0 828.457 460.881 -imu_odom_: 1691062443.739808918 0.483629 -0.217872 9.98143 -0.056459 -0.0287621 -0.656203 0 -0.85 pose: 0.43968210 5.39371 0.072747 0 -0.00143474 0.000271139 -0.457211 0.889357 uwb: 0.0 828.457 460.881 -imu_odom_: 1691062443.755806690 0.708684 -0.0694318 9.90242 -0.0511327 -0.0223706 -0.691357 0 -0.85 pose: 0.0 5.39371 0.072747 0 -0.00143474 0.000271139 -0.457211 0.889357 uwb: 0.0 828.457 460.881 -imu_odom_: 1691062443.772667985 0.517148 -0.0861913 9.90481 -0.0585895 -0.0117179 -0.698813 0 -0.91 pose: 0.0 5.39371 0.072747 0 -0.00143474 0.000271139 -0.457211 0.889357 uwb: 0.0 828.457 460.881 -imu_odom_: 1691062443.797727060 0.0694318 -0.299275 9.65103 -0.052198 0.00852212 -0.730771 0 -0.91 pose: 0.49022487 5.39394 0.0727616 0 -0.00133406 -0.00480273 -0.472692 0.881214 uwb: 0.99963914 831.221 459.787 -imu_odom_: 1691062443.823833968 0.464475 -0.248997 9.83299 -0.0596548 -0.0394148 -0.738228 0 -0.91 pose: 0.34985066 5.39371 0.0727469 0 0.000126831 -0.00288269 -0.484393 0.874846 uwb: 0.0 831.221 459.787 -imu_odom_: 1691062443.848657987 0.459687 -0.143652 9.94791 -0.0596548 -0.0181095 -0.755272 0 -0.91 pose: 0.8068294 5.39394 0.0727609 0 -0.000719955-0.00276239 -0.487134 0.873322 uwb: 0.50038533 832.075 459.202 -imu_odom_: 1691062443.874766062 0.253785 -0.162806 9.74201 -0.0628506 0.00532632 -0.778708 0 -0.91 pose: 0.42862633 5.39371 0.0727468 0 -0.000423456-0.00359035 -0.501808 0.864971 uwb: 0.0 832.075 459.202 -imu_odom_: 1691062443.898657442 0.229843 -0.246603 9.75398 -0.0596548 -0.0106526 -0.80534 0 -0.82 pose: 0.0 5.39371 0.0727468 0 -0.000423456-0.00359035 -0.501808 0.864971 uwb: 0.49948127 831.97 458.865 -imu_odom_: 1691062443.915641222 0.694318 -0.189142 10.1059 -0.0649811 -0.0255663 -0.801079 0 -0.82 pose: 0.33119495 5.39394 0.0727608 0 0.00127085 -0.000659586-0.513571 0.858046 uwb: 0.0 831.97 458.865 -imu_odom_: 1691062443.941645476 0.378284 -0.387861 9.78989 -0.0681769 0.00426106 -0.800014 0 -0.79 pose: 0.0 5.39394 0.0727608 0 0.00127085 -0.000659586-0.513571 0.858046 uwb: 0.50113774 833.389 458.427 -imu_odom_: 1691062443.957799272 0.4956 -0.311246 10.1083 -0.0596548 -0.00532632 -0.811731 0 -0.79 pose: 0.40865245 5.39394 0.0727606 0 -8.36158e-06-9.72928e-05-0.528261 0.849082 uwb: 0.0 833.389 458.427 -imu_odom_: 1691062443.981793889 0.416591 0.0023942 9.83059 -0.0607201 -0.0181095 -0.829841 0 -0.79 pose: 0.0 5.39394 0.0727606 0 -8.36158e-06-9.72928e-05-0.528261 0.849082 uwb: 0.0 833.389 458.427 -imu_odom_: 1691062443.998784377 0.78051 -0.153229 10.149 -0.0639159 -0.0436758 -0.820254 0 -0.88 pose: 0.42076101 5.39394 0.0727606 0 -0.0024375 0.000142277 -0.543342 0.839508 uwb: 0.49996247 832.332 458.36 -imu_odom_: 1691062444.14659379 0.241814 -0.385466 9.51216 -0.0585895 -0.015979 -0.830906 0 -0.88 pose: 0.0 5.39394 0.0727606 0 -0.0024375 0.000142277 -0.543342 0.839508 uwb: 0.0 832.332 458.36 -imu_odom_: 1691062444.39630101 0.433351 -0.126893 9.8258 -0.0628506 -0.0266316 -0.855407 0 -1.11 pose: 0.49940551 5.39368 0.0727443 0 -0.00209612 -0.00114504 -0.561377 0.827557 uwb: 0.49941147 829.497 459.246 -imu_odom_: 1691062444.64625904 0.665588 -0.316035 10.3046 -0.0596548 -0.0223706 -0.840494 0 -1.11 pose: 0.0 5.39368 0.0727443 0 -0.00209612 -0.00114504 -0.561377 0.827557 uwb: 0.0 829.497 459.246 -imu_odom_: 1691062444.88737768 0.737414 -0.172383 10.0844 -0.0628506 -0.0213053 -0.870321 0 -0.85 pose: 0.6991301 5.39394 0.07276 0 -0.00154215 -0.00153431 -0.563965 0.825796 uwb: 0.49988688 831.31 458.407 -imu_odom_: 1691062444.105742846 0.514753 -0.0526724 9.65103 -0.0628506 -0.0298274 -0.879908 0 -0.85 pose: 0.0 5.39394 0.07276 0 -0.00154215 -0.00153431 -0.563965 0.825796 uwb: 0.0 831.31 458.407 -imu_odom_: 1691062444.121621932 0.433351 -0.059855 9.93354 -0.0575243 0.0117179 -0.880974 0 -0.88 pose: 0.49063047 5.39394 0.0727627 0 -0.00283934 -0.00431858 -0.581835 0.81329 uwb: 0.0 831.31 458.407 -imu_odom_: 1691062444.148617457 0.395043 -0.258574 9.59596 -0.0607201 -0.0458064 -0.878843 0 -0.88 pose: 0.0 5.39394 0.0727627 0 -0.00283934 -0.00431858 -0.581835 0.81329 uwb: 0.50054306 830.978 459.002 -imu_odom_: 1691062444.164787883 0.612916 -0.311246 9.79707 -0.0660464 -0.0255663 -0.889496 0 -1 pose: 0.77903730 5.39347 0.0727364 0 -0.00128281 -0.0044055 -0.610531 0.791979 uwb: 0.0 830.978 459.002 -imu_odom_: 1691062444.181724136 0.723049 -0.0670376 10.0748 -0.0607201 -0.00106526 -0.894822 0 -1 pose: 0.7124285 5.39394 0.0727622 0 -0.00205234 -0.00453267 -0.613145 0.789955 uwb: 0.0 830.978 459.002 -imu_odom_: 1691062444.197898937 0.605733 -0.1652 10.1394 -0.0660464 -0.02024 -0.882039 0 -1 pose: 0.0 5.39394 0.0727622 0 -0.00205234 -0.00453267 -0.613145 0.789955 uwb: 0.50105924 834.21 457.733 -imu_odom_: 1691062444.214757032 0.531513 -0.280122 9.91199 -0.0585895 -0.0234358 -0.874582 0 -0.97 pose: 0.34028820 5.39394 0.0727622 0 -0.00349572 -0.00714059 -0.625556 0.780139 uwb: 0.0 834.21 457.733 -imu_odom_: 1691062444.230764728 0.56982 -0.361524 9.76834 -0.0596548 -0.0213053 -0.8863 0 -0.97 pose: 0.0 5.39394 0.0727622 0 -0.00349572 -0.00714059 -0.625556 0.780139 uwb: 0.0 834.21 457.733 -imu_odom_: 1691062444.247629239 0.706289 -0.162806 9.96706 -0.0596548 0.0127832 -0.895887 0 -1.23 pose: 0.0 5.39394 0.0727622 0 -0.00349572 -0.00714059 -0.625556 0.780139 uwb: 0.49947568 833.202 457.821 -imu_odom_: 1691062444.264664647 0.469264 -0.323217 10.0365 -0.0681769 0.00319579 -0.889496 0 -1.23 pose: 0.48003548 5.39394 0.0727621 0 -0.00622421 -0.00644279 -0.642653 0.766105 uwb: 0.0 833.202 457.821 -imu_odom_: 1691062444.289614079 0.521936 -0.332794 10.1778 -0.0490022 -0.0223706 -0.909736 0 -0.88 pose: 0.0 5.39394 0.0727621 0 -0.00622421 -0.00644279 -0.642653 0.766105 uwb: 0.49911114 834.244 457.845 -imu_odom_: 1691062444.306616533 0.215478 -0.0861913 9.66539 -0.0617853 0.0298274 -0.899083 0 -0.91 pose: 0.33838967 5.39394 0.0727621 0 -0.00661068 -0.00501717 -0.654688 0.755854 uwb: 0.0 834.244 457.845 -imu_odom_: 1691062444.321659217 -0.0742203 -0.162806 10.1754 -0.0607201 0.00958738 -0.874582 0.01 -0.97 pose: 0.0 5.39394 0.0727621 0 -0.00661068 -0.00501717 -0.654688 0.755854 uwb: 0.0 834.244 457.845 -imu_odom_: 1691062444.336651449 -0.557849 -0.483629 9.55765 -0.0585895 0.00213053 -0.921454 0.01 -0.97 pose: 0.0 5.39394 0.0727621 0 -0.00661068 -0.00501717 -0.654688 0.755854 uwb: 0.0 834.244 457.845 -imu_odom_: 1691062444.352654187 -0.280122 0.0407014 10.3621 -0.0532632 -0.0181095 -0.932106 0.01 -0.97 pose: 0.41002332 5.39394 0.0727641 0 -0.00501114 -0.00240526 -0.669131 0.743124 uwb: 0.49997438 834.326 458.115 -imu_odom_: 1691062444.368586350 -0.514753 -0.205901 9.81383 -0.0777643 -0.00852212 -0.797883 0.03 -0.82 pose: 0.0 5.39394 0.0727641 0 -0.00501114 -0.00240526 -0.669131 0.743124 uwb: 0.0 834.326 458.115 -imu_odom_: 1691062444.385648879 -0.493206 -0.787692 9.87848 -0.0596548 -0.0639159 -0.666856 0.03 -0.82 pose: 0.31058837 5.39394 0.0727641 0 -0.00289109 -0.000225485-0.680022 0.733186 uwb: 0.0 834.326 458.115 -imu_odom_: 1691062444.402586299 -0.213084 -0.687136 9.50737 -0.0436758 -0.104396 -0.609331 0.07 -0.85 pose: 0.41974633 5.39472 0.0627968 0 -0.00114834 0.00260462 -0.692427 0.721483 uwb: 0.49988396 833.915 458.462 -imu_odom_: 1691062444.419580586 0.574608 -0.0933739 9.9096 -0.0596548 -0.036219 -0.583765 0.07 -0.85 pose: 0.0 5.39472 0.0627968 0 -0.00114834 0.00260462 -0.692427 0.721483 uwb: 0.0 833.915 458.462 -imu_odom_: 1691062444.435582157 0.646434 0.114922 10.0293 -0.0479369 -0.0127832 -0.590156 0.07 -0.85 pose: 0.0 5.39472 0.0627968 0 -0.00114834 0.00260462 -0.692427 0.721483 uwb: 0.0 833.915 458.462 -imu_odom_: 1691062444.451627765 0.136469 -0.0383072 9.91918 -0.0607201 0.0308927 -0.586961 0.08 -0.61 pose: 0.7955437 5.39478 0.0627998 0 -0.00128042 0.00306906 -0.694284 0.719694 uwb: 0.50184082 833.094 459.157 -imu_odom_: 1691062444.468725874 0.217872 -0.428562 10.1897 -0.0426106 0.00745685 -0.569916 0.09 -0.55 pose: 0.0 5.39478 0.0627998 0 -0.00128042 0.00306906 -0.694284 0.719694 uwb: 0.0 833.094 459.157 -imu_odom_: 1691062444.485616632 0.0694318 -0.37589 10.0341 -0.0788296 0.00106526 -0.519849 0.09 -0.55 pose: 0.66074541 5.39478 0.0627998 0 0.000377829 0.0013742 -0.709056 0.70515 uwb: 0.0 833.094 459.157 -imu_odom_: 1691062444.502601004 0.241814 -0.282516 9.98143 -0.072438 0 -0.491087 0.1 -0.5 pose: 0.0 5.39478 0.0627998 0 0.000377829 0.0013742 -0.709056 0.70515 uwb: 0.49861245 830.836 460.203 -imu_odom_: 1691062444.519714278 0.0622492 -0.270545 9.88566 -0.0703074 -0.0511327 -0.442085 0.1 -0.5 pose: 0.0 5.39478 0.0627998 0 0.000377829 0.0013742 -0.709056 0.70515 uwb: 0.0 830.836 460.203 -imu_odom_: 1691062444.537717321 0.354342 -0.318429 9.72285 -0.0703074 -0.0149137 -0.436758 0.1 -0.5 pose: 0.33958537 5.39562 0.0528349 0 0.00122773 0.00476926 -0.715791 0.698298 uwb: 0.0 830.836 460.203 -imu_odom_: 1691062444.554681279 0.155623 -0.213084 9.8665 -0.0585895 0.00852212 -0.410127 0.1 -0.47 pose: 0.34088897 5.39562 0.0528349 0 0.00161114 0.00645851 -0.721626 0.692251 uwb: 0.49971482 828.184 461.633 -imu_odom_: 1691062444.569733296 0.560243 -0.335188 10.0149 -0.0735032 -0.0671117 -0.380299 0.1 -0.47 pose: 0.0 5.39562 0.0528349 0 0.00161114 0.00645851 -0.721626 0.692251 uwb: 0.0 828.184 461.633 -imu_odom_: 1691062444.585563970 1.21625 -0.397437 9.72764 -0.0735032 -0.056459 -0.353668 0.1 -0.47 pose: 0.0 5.39562 0.0528349 0 0.00161114 0.00645851 -0.721626 0.692251 uwb: 0.0 828.184 461.633 -imu_odom_: 1691062444.601624743 1.26893 -0.248997 10.1083 -0.0649811 0.0298274 -0.320645 0.09 -0.38 pose: 0.48017254 5.3965 0.0428733 0 -0.0001683210.0053605 -0.728886 0.684614 uwb: 0.49840248 827.829 462.141 -imu_odom_: 1691062444.617559822 1.41976 -0.533907 10.1873 -0.0585895 0.0106526 -0.285491 0.09 -0.38 pose: 0.0 5.3965 0.0428733 0 -0.0001683210.0053605 -0.728886 0.684614 uwb: 0.0 827.829 462.141 -imu_odom_: 1691062444.633565768 1.14922 -0.122104 9.70849 -0.0585895 0.00639159 -0.26099 0.07 -0.38 pose: 0.41816277 5.38647 0.0420061 0 -0.00351387 0.0030377 -0.733957 0.67918 uwb: 0.0 827.829 462.141 -imu_odom_: 1691062444.649558007 1.03908 -0.0694318 9.96706 -0.0372843 0.00958738 -0.24288 0.07 -0.38 pose: 0.0 5.38647 0.0420061 0 -0.00351387 0.0030377 -0.733957 0.67918 uwb: 0.50012893 827.453 462.582 -imu_odom_: 1691062444.665556662 0.938527 -0.181959 9.76116 -0.0617853 0.00213053 -0.24075 0.07 -0.38 pose: 0.0 5.38647 0.0420061 0 -0.00351387 0.0030377 -0.733957 0.67918 uwb: 0.0 827.453 462.582 -imu_odom_: 1691062444.682549783 0.699107 -0.196325 10.1203 -0.056459 0.00745685 -0.252468 0.07 -0.38 pose: 0.7005882 5.38653 0.0420089 0 -0.00388308 0.00248262 -0.734674 0.678405 uwb: 0.0 827.453 462.582 -imu_odom_: 1691062444.698559228 0.847547 -0.203507 9.94312 -0.0585895 -0.00852212 -0.264186 0.07 -0.38 pose: 0.0 5.38653 0.0420089 0 -0.00388308 0.00248262 -0.734674 0.678405 uwb: 0.49969441 827.575 462.962 -imu_odom_: 1691062444.715614759 0.864307 -0.222661 9.76116 -0.0617853 -0.02024 -0.243946 0.07 -0.38 pose: 0.0 5.38653 0.0420089 0 -0.00388308 0.00248262 -0.734674 0.678405 uwb: 0.0 827.575 462.962 -imu_odom_: 1691062444.732613421 0.742203 -0.294487 9.81383 -0.0575243 0 -0.229032 0.04 -0.23 pose: 0.47992466 5.38653 0.0420089 0 -0.00608282 -0.00156033 -0.73933 0.673314 uwb: 0.0 827.575 462.962 -imu_odom_: 1691062444.749552590 0.924162 -0.275333 9.90002 -0.0585895 -0.0181095 -0.216249 0.06 -0.32 pose: 0.0 5.38653 0.0420089 0 -0.00608282 -0.00156033 -0.73933 0.673314 uwb: 0.49993646 830.922 462.121 -imu_odom_: 1691062444.765606655 0.675165 -0.198719 9.77553 -0.0596548 0.00213053 -0.210922 0.06 -0.32 pose: 0.66994641 5.3874 0.0320469 0 -0.0107834 -0.00630366 -0.745647 0.666225 uwb: 0.0 830.922 462.121 -imu_odom_: 1691062444.792741872 0.675165 -0.23942 9.90242 -0.0596548 -0.0181095 -0.199204 0.05 -0.29 pose: 0.0 5.3874 0.0320469 0 -0.0107834 -0.00630366 -0.745647 0.666225 uwb: 0.50007644 829.507 462.543 -imu_odom_: 1691062444.808551257 0.502782 -0.289698 9.92157 -0.0692422 0.0191748 -0.20027 0.05 -0.29 pose: 0.34241128 5.3874 0.0320469 0 -0.0116578 -0.00823981 -0.748476 0.663009 uwb: 0.0 829.507 462.543 -imu_odom_: 1691062444.825561876 -1.03908 -0.0957681 9.61033 -0.0223706 0.131028 -0.227967 0.06 -0.26 pose: 0.34757318 5.38734 0.0320441 0 -0.012443 -0.00665674 -0.751212 0.65991 uwb: 0.0 829.507 462.543 -imu_odom_: 1691062444.842582411 -1.55623 -0.253785 10.1586 -0.0500674 0.0511327 -0.155529 0.06 -0.26 pose: 0.7050502 5.3874 0.0320467 0 -0.0114255 -0.00603365 -0.751846 0.659212 uwb: 0.50003853 831.034 462.479 -imu_odom_: 1691062444.869575019 0.392649 -0.332794 10.0604 -0.0543285 -0.116114 -0.120375 0.11 -0.2 pose: 0.0 5.3874 0.0320467 0 -0.0114255 -0.00603365 -0.751846 0.659212 uwb: 0.0 831.034 462.479 -imu_odom_: 1691062444.894576654 0.797269 -0.047884 9.58878 -0.0628506 0.0191748 -0.107592 0.11 -0.2 pose: 0.26980652 5.3874 0.0320467 0 -0.00830586 -0.00378201 -0.753843 0.656991 uwb: 0.50113799 830.642 462.874 -imu_odom_: 1691062444.911568025 -0.21069 -0.325611 10.0221 -0.0532632 0.0532632 -0.116114 0.12 -0.2 pose: 0.0 5.3874 0.0320467 0 -0.00830586 -0.00378201 -0.753843 0.656991 uwb: 0.0 830.642 462.874 -imu_odom_: 1691062444.937552169 -0.136469 -0.440533 9.47864 -0.036219 -0.00852212 -0.108657 0.12 -0.2 pose: 0.51994243 5.38802 0.024999 0 -0.00820355 -0.00468751 -0.756464 0.653967 uwb: 0.0 830.642 462.874 -imu_odom_: 1691062444.964591439 0.6608 0.102951 9.9096 -0.0575243 -0.0319579 -0.0937433 0.15 -0.17 pose: 0.42975515 5.38821 0.0220818 0 -0.00507926 -0.00123484 -0.758598 0.651538 uwb: 0.49860662 830.223 463.178 -imu_odom_: 1691062444.980538767 0.727837 -0.229843 9.88805 -0.0479369 0.00213053 -0.072438 0.15 -0.17 pose: 0.6994217 5.38826 0.0220837 0 -0.00496325 -0.0019668 -0.758903 0.651182 uwb: 0.0 830.223 463.178 -imu_odom_: 1691062445.7579496 0.129287 -0.179565 10.2256 -0.056459 -0.0436758 -0.0745685 0.15 -0.17 pose: 0.35992381 5.38872 0.0167691 0 -0.0058426 -0.00501534 -0.760347 0.649472 uwb: 0.50006769 830.287 463.38 -imu_odom_: 1691062445.32632471 0.136469 -0.232238 9.9934 -0.0607201 0.00426106 -0.0575243 0.15 -0.17 pose: 0.0 5.38872 0.0167691 0 -0.0058426 -0.00501534 -0.760347 0.649472 uwb: 0.0 830.287 463.38 -imu_odom_: 1691062445.59628300 0.469264 0.0191536 10.0509 -0.0745685 -0.0287621 -0.056459 0.16 -0.14 pose: 0.6980218 5.38911 0.0121195 0 -0.00538185 -0.00469477 -0.760609 0.649171 uwb: 0.50258465 831.756 463.139 -imu_odom_: 1691062445.85624122 0.344765 -0.380678 10.3286 -0.0511327 0.00106526 -0.0575243 0.14 -0.08 pose: 0.0 5.38911 0.0121195 0 -0.00538185 -0.00469477 -0.760609 0.649171 uwb: 0.0 831.756 463.139 -imu_odom_: 1691062445.102616376 0.430956 0.0047884 10.5584 -0.0500674 -0.0255663 -0.072438 0.18 -0.11 pose: 0.52149118 5.38911 0.0121195 0 -0.00187887 -0.00247991 -0.762377 0.647126 uwb: 0.49823649 831.456 463.824 -imu_odom_: 1691062445.119622920 0.220267 0.0885855 9.94312 -0.0681769 0.00532632 -0.0330232 0.18 -0.11 pose: 0.0 5.38911 0.0121195 0 -0.00187887 -0.00247991 -0.762377 0.647126 uwb: 0.0 831.456 463.824 -imu_odom_: 1691062445.136627132 0.349553 -0.409408 9.56005 -0.0671117 0.0170442 -0.0223706 0.21 -0.11 pose: 0.52976778 5.38997 0.00215651 0 -0.000862945-0.00206891 -0.764069 0.64513 uwb: 0.0 831.456 463.824 -imu_odom_: 1691062445.152502434 0.102951 -0.110133 9.76355 -0.0617853 0.00532632 -0.0372843 0.21 -0.11 pose: 0.0 5.38997 0.00215651 0 -0.000862945-0.00206891 -0.764069 0.64513 uwb: 0.49987545 829.571 464.37 -imu_odom_: 1691062445.169607550 0.0383072 -0.0191536 9.97185 -0.0735032 -0.00106526 -0.0255663 0.21 -0.11 pose: 0.0 5.38997 0.00215651 0 -0.000862945-0.00206891 -0.764069 0.64513 uwb: 0.0 829.571 464.37 -imu_odom_: 1691062445.186539145 0.217872 -0.47884 9.13867 -0.0756338 0.0276969 -0.00639159 0.2 -0.08 pose: 0.66976883 5.38088 -0.00861165 0 0.00290503 -0.000261538-0.765713 0.643175 uwb: 0.0 829.571 464.37 -imu_odom_: 1691062445.203513901 -0.0215478 -0.517148 9.71567 -0.0490022 -0.00426106 -0.0340885 0.2 -0.08 pose: 0.0 5.38088 -0.00861165 0 0.00290503 -0.000261538-0.765713 0.643175 uwb: 0.49886058 829.735 464.885 -imu_odom_: 1691062445.229499224 0.198719 -0.035913 10.0485 -0.0383495 0.0276969 -0.0181095 0.16 -0.05 pose: 0.43892137 5.38135 -0.0140532 0 0.00369885 0.00364308 -0.766575 0.642134 uwb: 0.0 829.735 464.885 -imu_odom_: 1691062445.256762480 0.620098 -0.373495 10.1538 -0.052198 -0.0127832 -0.0319579 0.16 -0.05 pose: 0.0 5.38135 -0.0140532 0 0.00369885 0.00364308 -0.766575 0.642134 uwb: 0.50005627 832.185 464.506 -imu_odom_: 1691062445.273648872 0.342371 -0.11971 10.1993 -0.0543285 0.00426106 -0.0245011 0.15 -0.08 pose: 0.53248579 5.3823 -0.0257216 0 0.00382945 0.00219599 -0.76768 0.640818 uwb: 0.0 832.185 464.506 -imu_odom_: 1691062445.300701278 0.316035 -0.124498 10.5034 -0.056459 -0.0372843 0 0.15 -0.08 pose: 0.0 5.3823 -0.0257216 0 0.00382945 0.00219599 -0.76768 0.640818 uwb: 0.50178857 833.699 464.427 -imu_odom_: 1691062445.317471017 0.466869 -0.3304 10.2161 -0.0532632 0.00852212 -0.0138484 0.23 -0.05 pose: 0.23894611 5.38253 -0.0285435 0 0.00493639 0.000128706 -0.768107 0.640302 uwb: 0.0 833.699 464.427 -imu_odom_: 1691062445.344483761 0.732626 -0.131681 9.87129 -0.0394148 0.00213053 0.0138484 0.23 -0.05 pose: 0.0 5.38253 -0.0285435 0 0.00493639 0.000128706 -0.768107 0.640302 uwb: 0.49949050 834.194 464.372 -imu_odom_: 1691062445.370534118 -0.100556 -0.517148 10.0102 -0.0479369 0.0426106 0.00745685 0.21 -0.05 pose: 0.43878138 5.38253 -0.0285435 0 0.00420308 -0.00133687 -0.768702 0.639591 uwb: 0.0 834.194 464.372 -imu_odom_: 1691062445.387469504 0.203507 -0.0047884 10.3334 -0.036219 0.0127832 0.00319579 0.21 -0.05 pose: 0.0 5.38253 -0.0285435 0 0.00420308 -0.00133687 -0.768702 0.639591 uwb: 0.0 834.194 464.372 -imu_odom_: 1691062445.413518695 0.35913 -0.335188 9.61511 -0.0500674 -0.0127832 0.0106526 0.19 -0.02 pose: 0.52981444 5.37343 -0.0393689 0 0.00474201 -1.53259e-05-0.769213 0.638974 uwb: 0.49907930 835.694 464.254 -imu_odom_: 1691062445.430498992 0.61531 -0.107739 9.73961 -0.04048 -0.0245011 -0.00532632 0.19 -0.02 pose: 0.0 5.37343 -0.0393689 0 0.00474201 -1.53259e-05-0.769213 0.638974 uwb: 0.0 835.694 464.254 -imu_odom_: 1691062445.456532143 0.160412 -0.31364 10.1131 -0.0681769 0.0266316 0.0490022 0.22 -0.02 pose: 0.42974369 5.37427 -0.049333 0 0.00336362 0.000652648 -0.769679 0.638422 uwb: 0.49865060 837.977 463.363 -imu_odom_: 1691062445.473528480 0.445322 -0.268151 10.0197 -0.0511327 -0.0490022 0.0106526 0.22 -0.02 pose: 0.0 5.37427 -0.049333 0 0.00336362 0.000652648 -0.769679 0.638422 uwb: 0.0 837.977 463.363 -imu_odom_: 1691062445.490524817 0.732626 -0.213084 9.69891 -0.0426106 -0.00745685 0.0191748 0.21 -0.05 pose: 0.43041154 5.37511 -0.0592983 0 0.00289993 0.00230271 -0.769811 0.638261 uwb: 0.50077660 839.436 463.12 -imu_odom_: 1691062445.507462244 0.181959 -0.335188 9.92397 -0.0511327 0.0266316 0.0308927 0.21 -0.05 pose: 0.0 5.37511 -0.0592983 0 0.00289993 0.00230271 -0.769811 0.638261 uwb: 0.0 839.436 463.12 -imu_odom_: 1691062445.523460324 0.169988 -0.311246 9.21528 -0.0458064 -0.0426106 0.00319579 0.17 0 pose: 0.0 5.37511 -0.0592983 0 0.00289993 0.00230271 -0.769811 0.638261 uwb: 0.0 839.436 463.12 -imu_odom_: 1691062445.540523445 0.442927 -0.141258 10.0006 -0.0543285 -0.0223706 0.0330232 0.17 0 pose: 0.43930048 5.37556 -0.0648131 0 0.00135457 0.00240074 -0.770065 0.637959 uwb: 0.49998045 842.264 462.332 -imu_odom_: 1691062445.558514248 0.349553 -0.272939 10.307 -0.0756338 -0.0223706 0.0436758 0.17 0 pose: 0.0 5.37556 -0.0648131 0 0.00135457 0.00240074 -0.770065 0.637959 uwb: 0.0 842.264 462.332 -imu_odom_: 1691062445.572511729 0.390255 -0.189142 9.69412 -0.0585895 -0.052198 0.0245011 0.18 0.02 pose: 0.8005310 5.37593 -0.0692642 0 0.00162998 0.00298485 -0.770157 0.637846 uwb: 0.0 842.264 462.332 -imu_odom_: 1691062445.588507476 0.605733 -0.100556 9.87848 -0.0575243 -0.00106526 0.0255663 0.18 0.02 pose: 0.0 5.37593 -0.0692642 0 0.00162998 0.00298485 -0.770157 0.637846 uwb: 0.49869434 845.59 461.514 -imu_odom_: 1691062445.612567150 0.847547 -0.308852 9.39964 -0.0681769 -0.0553937 0.0287621 0.17 -0.02 pose: 0.49048781 5.36596 -0.0700801 0 0.000374327 0.002658 -0.770292 0.637686 uwb: 0.0 845.59 461.514 -imu_odom_: 1691062445.628442744 0.897826 -0.071826 10.568 -0.0607201 -0.0170442 0.0170442 0.17 0 pose: 0.0 5.36596 -0.0700801 0 0.000374327 0.002658 -0.770292 0.637686 uwb: 0.0 845.59 461.514 -imu_odom_: 1691062445.654453147 0.466869 -0.0981623 10.0389 -0.076699 0.00106526 0.0607201 0.23 0 pose: 0.63926409 5.3672 -0.0852484 0 -0.00370565 -0.00253135 -0.770596 0.637309 uwb: 0.49972381 849.384 460.562 -imu_odom_: 1691062445.671506644 0.658405 -0.387861 9.6606 -0.056459 -0.0490022 0.0213053 0.23 0 pose: 0.0 5.3672 -0.0852484 0 -0.00370565 -0.00253135 -0.770596 0.637309 uwb: 0.0 849.384 460.562 -imu_odom_: 1691062445.688502690 0.517148 0.0023942 10.3573 -0.0575243 -0.0117179 0.0383495 0.18 0 pose: 0.0 5.3672 -0.0852484 0 -0.00370565 -0.00253135 -0.770596 0.637309 uwb: 0.0 849.384 460.562 -imu_odom_: 1691062445.705438951 0.107739 -0.440533 9.64863 -0.0639159 -0.00319579 0.0436758 0.18 0 pose: 0.33006373 5.36758 -0.0900146 0 -0.00262506 -0.00389456 -0.770467 0.637463 uwb: 0.50105365 850.377 460.481 -imu_odom_: 1691062445.722451036 0.481235 -0.260968 9.97185 -0.0447411 -0.0213053 0.00958738 0.25 -0.02 pose: 0.43989834 5.36839 -0.099982 0 -0.00235388 -0.0035385 -0.770514 0.637409 uwb: 0.0 850.377 460.481 -imu_odom_: 1691062445.748437526 0.172383 -0.100556 9.71806 -0.0628506 -0.00532632 0.0575243 0.25 -0.02 pose: 0.7069753 5.36839 -0.099982 0 -0.00281097 -0.00304738 -0.77058 0.63733 uwb: 0.50015834 848.627 461.482 -imu_odom_: 1691062445.775580338 0.59855 -0.244209 10.1011 -0.0500674 -0.0255663 0.0308927 0.24 0 pose: 0.35928822 5.36897 -0.107146 0 -0.00105486 -0.00147551 -0.770531 0.6374 uwb: 0.0 848.627 461.482 -imu_odom_: 1691062445.792454189 0.814029 0.0215478 10.0437 -0.0713727 0.0330232 0.0426106 0.18 0 pose: 0.0 5.36897 -0.107146 0 -0.00105486 -0.00147551 -0.770531 0.6374 uwb: 0.49987254 851.123 461.346 -imu_odom_: 1691062445.817564615 0.557849 -0.248997 10.398 -0.0458064 -0.00745685 0.0117179 0.25 -0.02 pose: 0.44016663 5.35923 -0.110754 0 -0.0039148 -0.00424207 -0.770581 0.637317 uwb: 0.0 851.123 461.346 -imu_odom_: 1691062445.840482840 0.658405 -0.134075 9.49062 -0.0532632 -0.0149137 0.0511327 0.17 0 pose: 0.0 5.35923 -0.110754 0 -0.0039148 -0.00424207 -0.770581 0.637317 uwb: 0.50057538 849.369 462.322 -imu_odom_: 1691062445.856457589 0.222661 -0.42138 9.40921 -0.0628506 -0.00745685 0.0351537 0.17 0 pose: 0.31164715 5.36003 -0.120722 0 -0.00643087 -0.0043771 -0.770764 0.637073 uwb: 0.0 849.369 462.322 -imu_odom_: 1691062445.883437378 0.550666 -0.225055 10.0916 -0.0617853 -0.0394148 0.0447411 0.17 0 pose: 0.0 5.36003 -0.120722 0 -0.00643087 -0.0043771 -0.770764 0.637073 uwb: 0.0 849.369 462.322 -imu_odom_: 1691062445.908405196 0.610521 -0.253785 10.5034 -0.0511327 -0.0308927 0.0298274 0.24 -0.02 pose: 0.40959773 5.36003 -0.120722 0 -0.00584667 -0.00409298 -0.770716 0.637138 uwb: 0.49969756 850.953 462.563 -imu_odom_: 1691062445.935413274 0.474052 -0.129287 9.9096 -0.072438 -0.04048 0.0415453 0.22 -0.02 pose: 0.43826519 5.36083 -0.13069 0 -0.00723701 -0.00429064 -0.770753 0.637079 uwb: 0.0 850.953 462.563 -imu_odom_: 1691062445.960558112 0.555455 -0.186748 9.82341 -0.0330232 0.00745685 0.0170442 0.22 -0.02 pose: 0.0 5.36083 -0.13069 0 -0.00723701 -0.00429064 -0.770753 0.637079 uwb: 0.49977339 852.067 462.938 -imu_odom_: 1691062445.977538993 0.629675 -0.229843 9.95748 -0.0436758 0.0213053 0.0330232 0.23 0 pose: 0.7017551 5.36083 -0.13069 0 -0.00668277 -0.00445684 -0.770754 0.637083 uwb: 0.0 852.067 462.938 -imu_odom_: 1691062445.994421593 0.114922 -0.414197 9.96227 -0.0468716 -0.00532632 0.0330232 0.23 0 pose: 0.0 5.36083 -0.13069 0 -0.00668277 -0.00445684 -0.770754 0.637083 uwb: 0.50029540 853.559 462.87 -imu_odom_: 1691062446.21471967 0.620098 -0.270545 9.77074 -0.0607201 -0.0191748 0.0543285 0.26 -0.02 pose: 0.52148250 5.35166 -0.141454 0 -0.00546766 -0.00741587 -0.770939 0.636843 uwb: 0.0 853.559 462.87 -imu_odom_: 1691062446.46381470 0.577003 -0.23942 10.003 -0.0426106 -0.0266316 0.036219 0.26 -0.02 pose: 0.0 5.35166 -0.141454 0 -0.00546766 -0.00741587 -0.770939 0.636843 uwb: 0.50021976 853.701 463.391 -imu_odom_: 1691062446.63416602 0.581791 -0.0957681 9.63906 -0.0426106 -0.0138484 0.0351537 0.22 0.02 pose: 0.33845983 5.35245 -0.151423 0 -0.00631372 -0.00562983 -0.770955 0.636833 uwb: 0.0 853.701 463.391 -imu_odom_: 1691062446.88388514 0.395043 -0.308852 9.94551 -0.0468716 -0.02024 0.0372843 0.22 0.02 pose: 0.0 5.35245 -0.151423 0 -0.00631372 -0.00562983 -0.770955 0.636833 uwb: 0.49861292 856.599 462.95 -imu_odom_: 1691062446.105428604 0.059855 -0.0885855 9.85214 -0.0458064 -0.0127832 0.0415453 0.23 0 pose: 0.86971534 5.3538 -0.168421 0 -0.00519042 -0.00354924 -0.770932 0.636886 uwb: 0.0 856.599 462.95 -imu_odom_: 1691062446.130539334 0.296881 -0.263362 9.94551 -0.072438 -0.0511327 0.0340885 0.23 0 pose: 0.7083755 5.35403 -0.17136 0 -0.00454083 -0.00331629 -0.770931 0.636894 uwb: 0.0 856.599 462.95 -imu_odom_: 1691062446.147374115 0.636858 -0.0622492 10.0604 -0.0479369 -0.00532632 0.0276969 0.23 0 pose: 0.0 5.35403 -0.17136 0 -0.00454083 -0.00331629 -0.770931 0.636894 uwb: 0.49932451 857.212 463.37 -imu_odom_: 1691062446.172363233 0.830788 -0.339977 9.4547 -0.0660464 0.00319579 0.0436758 0.23 0 pose: 0.42078203 5.35403 -0.17136 0 -0.00278717 -0.00190338 -0.771004 0.636822 uwb: 0.0 857.212 463.37 -imu_odom_: 1691062446.189522601 0.263362 -0.148441 10.1969 -0.04048 -0.015979 0.0276969 0.21 0 pose: 0.0 5.35403 -0.17136 0 -0.00278717 -0.00190338 -0.771004 0.636822 uwb: 0.50177714 858.281 463.621 -imu_odom_: 1691062446.205437573 0.52433 -0.220267 9.72525 -0.0468716 -0.0276969 0.0532632 0.21 0 pose: 0.41877560 5.34496 -0.18221 0 -0.00461167 -0.00334372 -0.771026 0.636778 uwb: 0.0 858.281 463.621 -imu_odom_: 1691062446.232378005 0.588974 -0.201113 9.82102 -0.0458064 -0.00319579 0.0266316 0.25 0 pose: 0.0 5.34496 -0.18221 0 -0.00461167 -0.00334372 -0.771026 0.636778 uwb: 0.0 858.281 463.621 -imu_odom_: 1691062446.257437699 0.47884 -0.177171 10.0892 -0.0500674 0.0383495 0.0458064 0.25 0 pose: 0.33977234 5.34585 -0.192171 0 -0.00559082 -0.00466513 -0.77102 0.636769 uwb: 0.49929535 859.776 463.592 -imu_odom_: 1691062446.282432941 0.378284 0.0430956 10.252 -0.0426106 0.0553937 0.0234358 0.19 -0.02 pose: 0.44032433 5.34648 -0.199217 0 -0.00388019 -0.00489055 -0.77106 0.636732 uwb: 0.0 859.776 463.592 -imu_odom_: 1691062446.296600451 0.215478 -0.325611 9.84496 -0.0628506 0.0276969 0.0585895 0.19 -0.02 pose: 0.0 5.34648 -0.199217 0 -0.00388019 -0.00489055 -0.77106 0.636732 uwb: 0.0 859.776 463.592 -imu_odom_: 1691062446.312431141 0.440533 -0.529119 9.82341 -0.076699 0.0383495 0.0468716 0.19 -0.02 pose: 0.0 5.34648 -0.199217 0 -0.00388019 -0.00489055 -0.77106 0.636732 uwb: 0.0 859.776 463.592 -imu_odom_: 1691062446.336422001 0.411803 -0.112527 10.6231 -0.0511327 0.0127832 0.0383495 0.18 -0.02 pose: 0.7012888 5.34674 -0.202131 0 -0.00302171 -0.00500595 -0.7711 0.636687 uwb: 0.0 859.776 463.592 -imu_odom_: 1691062446.361384290 0.452504 -0.213084 9.98143 -0.0426106 -0.0394148 0.0223706 0.18 -0.02 pose: 0.0 5.34674 -0.202131 0 -0.00302171 -0.00500595 -0.7711 0.636687 uwb: 0.99944517 862.136 463.053 -imu_odom_: 1691062446.378396675 0.136469 -0.0430956 9.72525 -0.0479369 0.02024 0.0426106 0.22 0 pose: 0.54976235 5.34763 -0.212092 0 -0.000406762-0.00243005 -0.771088 0.636724 uwb: 0.0 862.136 463.053 -imu_odom_: 1691062446.394508207 0.452504 -0.442927 10.2352 -0.072438 -0.0191748 0.0426106 0.22 0 pose: 0.0 5.34763 -0.212092 0 -0.000406762-0.00243005 -0.771088 0.636724 uwb: 0.50101598 862.773 463.593 -imu_odom_: 1691062446.412451191 0.794875 -0.1652 9.51456 -0.0479369 -0.02024 0.0223706 0.25 0 pose: 0.49089342 5.33855 -0.222938 0 -0.000466223-0.00224973 -0.771225 0.636558 uwb: 0.0 862.773 463.593 -imu_odom_: 1691062446.436509419 0.280122 -0.220267 9.63666 -0.0649811 -0.02024 0.0553937 0.25 0 pose: 0.0 5.33855 -0.222938 0 -0.000466223-0.00224973 -0.771225 0.636558 uwb: 0.0 862.773 463.593 -imu_odom_: 1691062446.463501761 0.371101 -0.0933739 10.2017 -0.036219 0.0340885 0.0340885 0.23 0 pose: 0.67993255 5.33944 -0.232899 0 -0.000536016-0.000634055-0.77118 0.636617 uwb: 0.49948199 865.573 462.836 -imu_odom_: 1691062446.479370655 0.337582 -0.191536 9.74679 -0.0575243 -0.0287621 0.0649811 0.23 0 pose: 0.0 5.33944 -0.232899 0 -0.000536016-0.000634055-0.77118 0.636617 uwb: 0.0 865.573 462.836 -imu_odom_: 1691062446.497559778 0.830788 -0.213084 9.96706 -0.0340885 -0.0234358 0.0436758 0.25 0.02 pose: 0.7003555 5.33944 -0.232899 0 0.000227677 -0.000930843-0.771192 0.636601 uwb: 0.0 865.573 462.836 -imu_odom_: 1691062446.514488464 0.0861913 -0.265756 9.62948 -0.0394148 0.00426106 0.0447411 0.25 0.02 pose: 0.0 5.33944 -0.232899 0 0.000227677 -0.000930843-0.771192 0.636601 uwb: 0.0 865.573 462.836 -imu_odom_: 1691062446.537413699 0.289698 -0.387861 9.82102 -0.0490022 0.00639159 0.0490022 0.25 0.02 pose: 0.0 5.33944 -0.232899 0 0.000227677 -0.000930843-0.771192 0.636601 uwb: 0.0 865.573 462.836 -imu_odom_: 1691062446.563341874 0.390255 -0.483629 10.058 -0.0692422 0.0117179 0.0681769 0.18 -0.02 pose: 0.43869411 5.34032 -0.242859 0 0.00207245 -0.000951964-0.77109 0.636722 uwb: 0.99840988 865.322 463.819 -imu_odom_: 1691062446.588351407 0.538695 -0.40462 9.7875 -0.0426106 -0.0276969 0.0415453 0.25 0.05 pose: 0.33072881 5.34032 -0.242859 0 0.00218827 0.00023263 -0.771033 0.636791 uwb: 0.50146218 866.389 464.109 -imu_odom_: 1691062446.611388046 0.617704 -0.225055 10.252 -0.0490022 -0.00745685 0.0468716 0.25 0.05 pose: 0.0 5.34032 -0.242859 0 0.00218827 0.00023263 -0.771033 0.636791 uwb: 0.0 866.389 464.109 -imu_odom_: 1691062446.627633437 0.342371 -0.270545 9.63187 -0.0468716 0.00958738 0.0415453 0.2 0 pose: 0.49953157 5.33125 -0.253709 0 -0.0008418210.00374301 -0.770746 0.637131 uwb: 0.0 866.389 464.109 -imu_odom_: 1691062446.644444888 0.493206 -0.102951 10.0293 -0.0500674 -0.00426106 0.0372843 0.2 0 pose: 0.0 5.33125 -0.253709 0 -0.0008418210.00374301 -0.770746 0.637131 uwb: 0.50112388 866.976 464.471 -imu_odom_: 1691062446.669315895 0.766145 -0.198719 9.91918 -0.0671117 0.0149137 0.0500674 0.2 0 pose: 0.0 5.33125 -0.253709 0 -0.0008418210.00374301 -0.770746 0.637131 uwb: 0.0 866.976 464.471 -imu_odom_: 1691062446.694434207 0.47884 -0.184354 9.81383 -0.0575243 -0.00319579 0.0447411 0.18 0 pose: 0.49005059 5.33205 -0.263677 0 -0.0031444 0.00178907 -0.770685 0.637206 uwb: 0.49987570 867.545 464.766 -imu_odom_: 1691062446.717402020 0.816423 -0.486023 9.54329 -0.0671117 0.0490022 0.0394148 0.18 0 pose: 0.75020725 5.33285 -0.273645 0 -0.00230544 -0.00315172 -0.770576 0.637336 uwb: 0.0 867.545 464.766 -imu_odom_: 1691062446.742316481 0.294487 0.0742203 9.60554 -0.0681769 0.0223706 0.0532632 0.18 0 pose: 0.0 5.33285 -0.273645 0 -0.00230544 -0.00315172 -0.770576 0.637336 uwb: 0.49985528 864.922 466.173 -imu_odom_: 1691062446.759316326 0.718261 -0.320823 10.2639 -0.072438 0.0213053 0.0575243 0.21 -0.02 pose: 0.5898560 5.33285 -0.273645 0 -0.00279653 -0.00301817 -0.770575 0.637336 uwb: 0.0 864.922 466.173 -imu_odom_: 1691062446.784345107 0.584185 -0.0670376 10.0916 -0.0511327 -0.0106526 0.0458064 0.21 -0.02 pose: 0.0 5.33285 -0.273645 0 -0.00279653 -0.00301817 -0.770575 0.637336 uwb: 0.0 864.922 466.173 -imu_odom_: 1691062446.809310603 0.481235 -0.368707 9.83538 -0.0660464 0.0149137 0.0436758 0.23 0 pose: 0.49047638 5.32369 -0.284418 0 -0.0023363 -0.00304809 -0.77043 0.637514 uwb: 0.49881415 864.089 466.796 -imu_odom_: 1691062446.823362043 0.73502 0.0502782 9.95748 -0.0298274 -0.0138484 0.0234358 0.23 0 pose: 0.0 5.32369 -0.284418 0 -0.0023363 -0.00304809 -0.77043 0.637514 uwb: 0.0 864.089 466.796 -imu_odom_: 1691062446.839305594 0.529119 -0.452504 9.5792 -0.0649811 0.0223706 0.0607201 0.23 0 pose: 0.0 5.32369 -0.284418 0 -0.0023363 -0.00304809 -0.77043 0.637514 uwb: 0.50000110 867.894 466.18 -imu_odom_: 1691062446.862364105 0.490811 -0.201113 9.77792 -0.0553937 0 0.0479369 0.17 -0.02 pose: 0.41957759 5.3245 -0.294385 0 -0.00331319 -0.00500503 -0.770307 0.637644 uwb: 0.0 867.894 466.18 -imu_odom_: 1691062446.884286708 0.632069 -0.0861913 9.97903 -0.0735032 0.0287621 0.0500674 0.17 -0.02 pose: 0.0 5.3245 -0.294385 0 -0.00331319 -0.00500503 -0.770307 0.637644 uwb: 0.0 867.894 466.18 -imu_odom_: 1691062446.909347860 0.603339 -0.241814 10.2208 -0.0532632 0.00532632 0.0308927 0.19 0 pose: 0.55036020 5.32531 -0.304352 0 -0.00430111 -0.00343226 -0.770224 0.637749 uwb: 0.49987861 867.541 466.751 -imu_odom_: 1691062446.936463854 0.916979 -0.457293 10.4172 -0.0628506 -0.0266316 0.0436758 0.21 -0.02 pose: 0.22072210 5.32612 -0.314319 0 -0.00277287 -0.00388317 -0.770169 0.637822 uwb: 0.0 867.541 466.751 -imu_odom_: 1691062446.961461139 0.593762 -0.342371 10.0317 -0.0340885 0.00958738 0.0330232 0.21 -0.02 pose: 0.0 5.32612 -0.314319 0 -0.00277287 -0.00388317 -0.770169 0.637822 uwb: 0.50120554 871.338 466.136 -imu_odom_: 1691062446.978285421 -0.292093 -0.0909797 9.9096 -0.0745685 0.0117179 0.056459 0.21 0 pose: 0.47897731 5.32612 -0.314319 0 -0.00619761 -0.00523974 -0.770151 0.63781 uwb: 0.0 871.338 466.136 -imu_odom_: 1691062446.994286716 0.361524 -0.344765 10.1347 -0.0585895 -0.04048 0.0383495 0.21 0 pose: 0.0 5.32612 -0.314319 0 -0.00619761 -0.00523974 -0.770151 0.63781 uwb: 0.49856626 872.835 466.212 -imu_odom_: 1691062447.12338775 0.794875 0.0502782 9.64624 -0.072438 -0.036219 0.0490022 0.21 0 pose: 0.0 5.32612 -0.314319 0 -0.00619761 -0.00523974 -0.770151 0.63781 uwb: 0.0 872.835 466.212 -imu_odom_: 1691062447.28276793 0.342371 -0.399832 9.84256 -0.0713727 0.0330232 0.0372843 0.25 0.02 pose: 0.52132818 5.31697 -0.325102 0 -0.00895533 -0.00313256 -0.770107 0.637844 uwb: 0.0 872.835 466.212 -imu_odom_: 1691062447.43276629 0.493206 -0.222661 9.9503 -0.0351537 -0.00213053 0.0223706 0.25 0.02 pose: 0.0 5.31697 -0.325102 0 -0.00895533 -0.00313256 -0.770107 0.637844 uwb: 0.49840895 872.468 466.734 -imu_odom_: 1691062447.59297179 0.586579 -0.294487 9.63666 -0.0468716 0.0138484 0.0330232 0.18 0 pose: 0.33810129 5.31779 -0.335068 0 -0.00760115 -0.00219261 -0.770045 0.637941 uwb: 0.0 872.468 466.734 -imu_odom_: 1691062447.74408419 0.529119 -0.3304 9.84496 -0.0628506 0.036219 0.0383495 0.18 0 pose: 0.48020238 5.31861 -0.345035 0 -0.00621287 -0.00215616 -0.770132 0.63785 uwb: 0.0 872.468 466.734 -imu_odom_: 1691062447.99331349 0.229843 -0.0383072 9.57681 -0.0415453 0.0149137 0.0447411 0.18 0 pose: 0.0 5.31861 -0.345035 0 -0.00621287 -0.00215616 -0.770132 0.63785 uwb: 0.50280684 877.154 465.78 -imu_odom_: 1691062447.116289206 0.818817 -0.272939 10.2951 -0.0628506 0.0266316 0.0532632 0.25 -0.02 pose: 0.31100585 5.31943 -0.355001 0 -0.0068445 -0.000808507-0.770138 0.63784 uwb: 0.0 877.154 465.78 -imu_odom_: 1691062447.141287961 0.718261 -0.435745 9.35654 -0.0447411 -0.00852212 0.0394148 0.18 0 pose: 0.0 5.31943 -0.355001 0 -0.0068445 -0.000808507-0.770138 0.63784 uwb: 0.49883189 878.632 465.804 -imu_odom_: 1691062447.158268857 0.268151 -0.339977 9.85453 -0.0671117 0.00958738 0.0490022 0.18 0 pose: 0.42969161 5.30946 -0.355821 0 -0.00681097 -0.00171629 -0.770037 0.63796 uwb: 0.0 878.632 465.804 -imu_odom_: 1691062447.183265570 0.282516 -0.220267 9.62948 -0.0585895 0.00106526 0.0415453 0.18 0 pose: 0.0 5.30946 -0.355821 0 -0.00681097 -0.00171629 -0.770037 0.63796 uwb: 0.0 878.632 465.804 -imu_odom_: 1691062447.200326374 1.01514 -0.0502782 10.8888 -0.0649811 -0.0213053 0.0490022 0.18 0 pose: 0.41929490 5.31028 -0.365787 0 -0.00657589 -5.78548e-05-0.769976 0.638039 uwb: 0.49833319 876.434 466.911 -imu_odom_: 1691062447.225260386 0.490811 0.0814029 9.95748 -0.0426106 -0.0191748 0.0213053 0.19 0 pose: 0.34019828 5.31111 -0.375754 0 -0.00589105 -0.000960428-0.76992 0.638113 uwb: 0.0 876.434 466.911 -imu_odom_: 1691062447.250300261 1.12767 -0.328006 9.89045 -0.0703074 -0.0127832 0.0479369 0.19 0 pose: 0.8066269 5.31111 -0.375754 0 -0.00536567 -0.00164051 -0.769971 0.638054 uwb: 0.50004508 880.17 466.106 -imu_odom_: 1691062447.264415866 0.897826 -0.107739 9.73004 -0.0490022 -0.0181095 0.0372843 0.2 0 pose: 0.0 5.31111 -0.375754 0 -0.00536567 -0.00164051 -0.769971 0.638054 uwb: 0.0 880.17 466.106 -imu_odom_: 1691062447.289262972 0.047884 -0.160412 10.1227 -0.0809601 -0.0245011 0.0607201 0.2 0 pose: 0.47904169 5.31193 -0.38572 0 -0.00696284 -0.0047964 -0.769997 0.637991 uwb: 0.49997217 881.149 466.104 -imu_odom_: 1691062447.306349439 0.442927 -0.220267 9.93833 -0.0436758 -0.0308927 0.0351537 0.25 -0.02 pose: 0.0 5.31193 -0.38572 0 -0.00696284 -0.0047964 -0.769997 0.637991 uwb: 0.0 881.149 466.104 -imu_odom_: 1691062447.331298908 0.565032 -0.272939 9.64384 -0.0553937 -0.0490022 0.0596548 0.25 -0.02 pose: 0.40011714 5.31193 -0.38572 0 -0.00519873 -0.00377696 -0.769861 0.638179 uwb: 0.0 881.149 466.104 -imu_odom_: 1691062447.356308161 0.94571 -0.162806 9.96706 -0.0447411 -0.0575243 0.0372843 0.23 0 pose: 0.34990382 5.30279 -0.396512 0 -0.00739106 -0.00350839 -0.7697 0.638354 uwb: 0.50061085 880.816 466.804 -imu_odom_: 1691062447.373388796 0.23942 -0.356736 9.54808 -0.0639159 0.0191748 0.0617853 0.23 0 pose: 0.6992185 5.30279 -0.396512 0 -0.00793136 -0.00421439 -0.769701 0.638342 uwb: 0.0 880.816 466.804 -imu_odom_: 1691062447.397526651 0.651223 -0.191536 9.40682 -0.076699 -0.0458064 0.0490022 0.18 0 pose: 0.0 5.30279 -0.396512 0 -0.00793136 -0.00421439 -0.769701 0.638342 uwb: 0.50088789 882.767 466.805 -imu_odom_: 1691062447.412513946 0.407014 -0.158017 9.9934 -0.0426106 0.0372843 0.0340885 0.18 0 pose: 0.42003273 5.30362 -0.406477 0 -0.00860743 -0.00511925 -0.769567 0.638488 uwb: 0.0 882.767 466.805 -imu_odom_: 1691062447.428358642 0.830788 -0.299275 10.2759 -0.0660464 -0.00426106 0.0372843 0.17 0 pose: 0.0 5.30362 -0.406477 0 -0.00860743 -0.00511925 -0.769567 0.638488 uwb: 0.0 882.767 466.805 -imu_odom_: 1691062447.445236301 0.462081 -0.3304 9.61511 -0.0458064 -0.00852212 0.0276969 0.17 0 pose: 0.0 5.30362 -0.406477 0 -0.00860743 -0.00511925 -0.769567 0.638488 uwb: 0.49945307 882.429 467.48 -imu_odom_: 1691062447.462225946 0.557849 -0.488417 9.84975 -0.0490022 -0.0585895 0.056459 0.17 0 pose: 0.39228389 5.30445 -0.416442 0 -0.00839008 -0.00639937 -0.769552 0.638497 uwb: 0.0 882.429 467.48 -imu_odom_: 1691062447.479345077 0.402226 -0.071826 9.81862 -0.056459 0.015979 0.0426106 0.18 0 pose: 0.0 5.30445 -0.416442 0 -0.00839008 -0.00639937 -0.769552 0.638497 uwb: 0.0 882.429 467.48 -imu_odom_: 1691062447.496217486 0.483629 -0.292093 10.1897 -0.0553937 -0.0234358 0.0372843 0.18 0 pose: 0.50884947 5.30529 -0.426407 0 -0.00902142 -0.00404511 -0.76951 0.638559 uwb: 0.50010048 884.915 467.73 -imu_odom_: 1691062447.513215298 0.0143652 -0.248997 9.41879 -0.0681769 -0.00213053 0.0575243 0.18 0.02 pose: 0.0 5.30529 -0.426407 0 -0.00902142 -0.00404511 -0.76951 0.638559 uwb: 0.0 884.915 467.73 -imu_odom_: 1691062447.530257437 0.612916 -0.320823 10.4076 -0.04048 -0.0308927 0.0330232 0.18 0.02 pose: 0.0 5.30529 -0.426407 0 -0.00902142 -0.00404511 -0.76951 0.638559 uwb: 0.0 884.915 467.73 -imu_odom_: 1691062447.555239569 0.399832 -0.263362 9.52892 -0.052198 -0.0106526 0.0607201 0.18 0.02 pose: 0.50953772 5.29616 -0.437211 0 -0.00692295 -0.0018381 -0.769446 0.638672 uwb: 0.50009758 884.55 468.29 -imu_odom_: 1691062447.579286142 0.21069 -0.316035 10.0269 -0.0394148 0.00745685 0.0319579 0.18 -0.02 pose: 0.16177448 5.29616 -0.437211 0 -0.00725132 -0.00175066 -0.769411 0.63871 uwb: 0.0 884.55 468.29 -imu_odom_: 1691062447.604232403 0.112527 -0.509965 10.0748 -0.052198 -0.00106526 0.0553937 0.25 0.02 pose: 0.25854113 5.29616 -0.437211 0 -0.00517822 -0.000239027-0.769318 0.638846 uwb: 0.49980010 883.302 469.26 -imu_odom_: 1691062447.629364725 0.486023 -0.0311246 9.95988 -0.0245011 -0.0170442 0.0330232 0.26 0.02 pose: 0.40839368 5.29701 -0.447175 0 -0.00320693 0.00329116 -0.769222 0.638965 uwb: 0.0 883.302 469.26 -imu_odom_: 1691062447.655206881 0.914585 -0.407014 10.0748 -0.0639159 -0.0383495 0.0649811 0.26 0.02 pose: 0.0 5.29701 -0.447175 0 -0.00320693 0.00329116 -0.769222 0.638965 uwb: 0.50010632 882.023 470.072 -imu_odom_: 1691062447.671269134 0.308852 -0.169988 9.98622 -0.0447411 0.0266316 0.0340885 0.21 0 pose: 0.7091632 5.29701 -0.447175 0 -0.00288024 0.00253016 -0.76924 0.638949 uwb: 0.0 882.023 470.072 -imu_odom_: 1691062447.688373975 0.778116 -0.203507 10.1945 -0.0490022 -0.0351537 0.0468716 0.21 0 pose: 0.0 5.29701 -0.447175 0 -0.00288024 0.00253016 -0.76924 0.638949 uwb: 0.49912644 881.708 470.841 -imu_odom_: 1691062447.713200083 0.842759 -0.122104 10.3238 -0.0255663 -0.04048 0.0308927 0.24 0 pose: 0.50896320 5.29785 -0.457139 0 -0.00406059 -0.000392958-0.769083 0.639136 uwb: 0.0 881.708 470.841 -imu_odom_: 1691062447.737200870 0.629675 -0.296881 9.79468 -0.056459 -0.0383495 0.0596548 0.24 0 pose: 0.0 5.29785 -0.457139 0 -0.00406059 -0.000392958-0.769083 0.639136 uwb: 0.0 881.708 470.841 -imu_odom_: 1691062447.762309278 0.562637 -0.222661 9.87848 -0.0500674 -0.0266316 0.0340885 0.18 0 pose: 0.33016029 5.2987 -0.467103 0 -0.00472955 -0.00240518 -0.769076 0.639135 uwb: 0.49939474 883.135 470.716 -imu_odom_: 1691062447.786246781 0.184354 -0.378284 9.94791 -0.072438 -0.00106526 0.0575243 0.18 0 pose: 0.0 5.2987 -0.467103 0 -0.00472955 -0.00240518 -0.769076 0.639135 uwb: 0.0 883.135 470.716 -imu_odom_: 1691062447.811247285 0.457293 -0.114922 10.1347 -0.0490022 0.0149137 0.0372843 0.18 0.02 pose: 0.49084990 5.28959 -0.477918 0 -0.00780389 -0.00474713 -0.768961 0.63923 uwb: 0.49994300 885.109 470.885 -imu_odom_: 1691062447.835227950 0.742203 -0.289698 10.4579 -0.076699 -0.0170442 0.0617853 0.18 0.02 pose: 0.0 5.28959 -0.477918 0 -0.00780389 -0.00474713 -0.768961 0.63923 uwb: 0.0 885.109 470.885 -imu_odom_: 1691062447.852174142 0.567426 -0.198719 9.76834 -0.052198 0.0276969 0.0287621 0.24 0 pose: 0.48870640 5.28959 -0.477918 0 -0.00448286 -0.00316004 -0.768886 0.639363 uwb: 0.50115328 883.853 471.784 -imu_odom_: 1691062447.869175745 0.208296 -0.311246 10.0173 -0.0596548 -0.0511327 0.0543285 0.24 0 pose: 0.0 5.28959 -0.477918 0 -0.00448286 -0.00316004 -0.768886 0.639363 uwb: 0.0 883.853 471.784 -imu_odom_: 1691062447.886204469 0.94571 -0.268151 10.0149 -0.0628506 0.0351537 0.0436758 0.24 0 pose: 0.49056118 5.29045 -0.487881 0 -0.00542713 -0.00498864 -0.768747 0.639511 uwb: 0.0 883.853 471.784 -imu_odom_: 1691062447.910179010 0.656011 0.023942 9.76834 -0.0511327 -0.0138484 0.0479369 0.23 0 pose: 0.0 5.29045 -0.487881 0 -0.00542713 -0.00498864 -0.768747 0.639511 uwb: 0.49893396 886.231 471.603 -imu_odom_: 1691062447.928232240 0.761356 -0.373495 10.1801 -0.0596548 0.00213053 0.0607201 0.23 0 pose: 0.33937005 5.29131 -0.497844 0 -0.00564697 -0.0048481 -0.768691 0.639577 uwb: 0.0 886.231 471.603 -imu_odom_: 1691062447.944180465 0.584185 -0.0981623 10.2807 -0.0426106 0.00958738 0.04048 0.2 0 pose: 0.41997732 5.28221 -0.508669 0 -0.00645322 -0.00743774 -0.76855 0.639714 uwb: 0.49897479 886.821 472.101 -imu_odom_: 1691062447.961230479 0.512359 -0.0550666 9.87369 -0.0713727 0.00639159 0.0511327 0.2 0 pose: 0.0 5.28221 -0.508669 0 -0.00645322 -0.00743774 -0.76855 0.639714 uwb: 0.0 886.821 472.101 -imu_odom_: 1691062447.979161223 0.562637 -0.440533 9.91199 -0.0447411 0.0234358 0.0319579 0.19 0 pose: 0.43047610 5.28269 -0.514218 0 -0.00432424 -0.00838125 -0.768433 0.639861 uwb: 0.0 886.821 472.101 -imu_odom_: 1691062447.996181199 0.184354 -0.287304 9.4978 -0.0511327 0.0543285 0.0426106 0.19 0 pose: 0.0 5.28269 -0.514218 0 -0.00432424 -0.00838125 -0.768433 0.639861 uwb: 0.50039503 885.093 473.028 -imu_odom_: 1691062448.13172016 0.550666 -0.328006 10.2807 -0.0607201 -0.0511327 0.0468716 0.19 0 pose: 0.0 5.28269 -0.514218 0 -0.00432424 -0.00838125 -0.768433 0.639861 uwb: 0.0 885.093 473.028 -imu_odom_: 1691062448.30164002 0.349553 -0.0311246 9.76834 -0.0308927 0.0191748 0.0287621 0.18 -0.02 pose: 0.42011147 5.28308 -0.518631 0 -0.00447711 -0.00479188 -0.768446 0.63988 uwb: 0.0 885.093 473.028 -imu_odom_: 1691062448.46248136 0.148441 -0.251391 10.1442 -0.056459 -0.0276969 0.0511327 0.19 0 pose: 0.0 5.28308 -0.518631 0 -0.00447711 -0.00479188 -0.768446 0.63988 uwb: 0.50032522 888.846 472.56 -imu_odom_: 1691062448.70253309 0.0957681 -0.234632 9.94551 -0.0543285 -0.0351537 0.0394148 0.19 0 pose: 0.33967059 5.28395 -0.528593 0 -0.00303816 -0.00396029 -0.768464 0.639874 uwb: 0.0 888.846 472.56 -imu_odom_: 1691062448.88347376 0.622492 0.153229 9.76595 -0.0575243 -0.0266316 0.0426106 0.25 0.02 pose: 0.0 5.28395 -0.528593 0 -0.00303816 -0.00396029 -0.768464 0.639874 uwb: 0.50024362 887.595 473.449 -imu_odom_: 1691062448.104148334 0.536301 -0.208296 10.0868 -0.0798948 -0.00958738 0.04048 0.25 0.02 pose: 0.41047904 5.28482 -0.538555 0 -0.00102232 -0.00270483 -0.768432 0.639924 uwb: 0.0 887.595 473.449 -imu_odom_: 1691062448.127201035 0.536301 -0.371101 9.85932 -0.0532632 0.00319579 0.0255663 0.19 0 pose: 0.25891745 5.27486 -0.539426 0 -0.00260185 -0.00392512 -0.768411 0.63994 uwb: 0.0 887.595 473.449 -imu_odom_: 1691062448.141195327 0.428562 -0.363919 9.77074 -0.052198 0.0255663 0.0372843 0.19 0 pose: 0.7015228 5.27486 -0.539426 0 -0.00314233 -0.0034988 -0.76844 0.639905 uwb: 0.50005114 885.932 474.648 -imu_odom_: 1691062448.158379209 0.435745 -0.0766145 9.78989 -0.0308927 -0.00745685 0.0319579 0.19 0 pose: 0.0 5.27486 -0.539426 0 -0.00314233 -0.0034988 -0.76844 0.639905 uwb: 0.0 885.932 474.648 -imu_odom_: 1691062448.174298861 0.117316 -0.0981623 9.75637 -0.0383495 0.0319579 0.0415453 0.19 0 pose: 0.47215647 5.27573 -0.549388 0 -0.00297379 -0.00221454 -0.768561 0.639765 uwb: 0.0 885.932 474.648 -imu_odom_: 1691062448.199194681 0.237026 -0.177171 9.93115 -0.0628506 0.00319579 0.052198 0.19 0 pose: 0.0 5.27573 -0.549388 0 -0.00297379 -0.00221454 -0.768561 0.639765 uwb: 0.49952329 891.491 473.736 -imu_odom_: 1691062448.213294545 0.110133 -0.275333 9.93354 -0.0490022 -0.0138484 0.0372843 0.18 0 pose: 0.0 5.27573 -0.549388 0 -0.00297379 -0.00221454 -0.768561 0.639765 uwb: 0.0 891.491 473.736 -imu_odom_: 1691062448.230369647 0.962469 -0.126893 9.97664 -0.0458064 0.00532632 0.0532632 0.18 0.05 pose: 0.40815472 5.27659 -0.559351 0 0.000948882 -0.000118556-0.768458 0.6399 uwb: 0.0 891.491 473.736 -imu_odom_: 1691062448.255287339 0.687136 0.00957681 9.73004 -0.0415453 -0.0170442 0.036219 0.19 0 pose: 0.0 5.27659 -0.559351 0 0.000948882 -0.000118556-0.768458 0.6399 uwb: 0.49981201 889.729 474.486 -imu_odom_: 1691062448.272120386 0.397437 -0.438139 9.63187 -0.0660464 -0.0511327 0.0585895 0.19 0 pose: 0.31174966 5.27708 -0.564958 0 0.000702389 -0.00031266 -0.768394 0.639977 uwb: 0.0 889.729 474.486 -imu_odom_: 1691062448.296115352 0.464475 -0.229843 9.61511 -0.0383495 -0.0170442 0.015979 0.19 0 pose: 0.0 5.27708 -0.564958 0 0.000702389 -0.00031266 -0.768394 0.639977 uwb: 0.50121476 889.839 475.015 -imu_odom_: 1691062448.314139427 0.840365 -0.225055 10.0341 -0.0660464 0.0149137 0.0458064 0.19 0 pose: 0.48780840 5.2675 -0.570186 0 -0.00184951 -0.00168333 -0.768366 0.640006 uwb: 0.0 889.839 475.015 -imu_odom_: 1691062448.339288384 0.770933 -0.11971 9.72764 -0.0468716 -0.02024 0.0394148 0.18 0.02 pose: 0.34988940 5.26838 -0.580148 0 -0.00480763 -0.00263658 -0.768449 0.639888 uwb: 0.50006281 888.081 475.747 -imu_odom_: 1691062448.364145708 0.531513 -0.0047884 9.83299 -0.076699 -0.00532632 0.0596548 0.18 0.02 pose: 0.8128682 5.26838 -0.580148 0 -0.00520081 -0.00343157 -0.768447 0.639883 uwb: 0.0 888.081 475.747 -imu_odom_: 1691062448.389127559 0.265756 -0.0430956 10.3597 -0.0415453 0.0458064 0.0245011 0.2 0 pose: 0.41877599 5.26925 -0.59011 0 -0.0043973 -0.00660898 -0.768296 0.640046 uwb: 0.50005989 890.032 475.982 -imu_odom_: 1691062448.406120421 0.471658 -0.136469 9.50019 -0.0575243 -0.0308927 0.0553937 0.2 0 pose: 0.0 5.26925 -0.59011 0 -0.0043973 -0.00660898 -0.768296 0.640046 uwb: 0.0 890.032 475.982 -imu_odom_: 1691062448.422304002 0.225055 -0.435745 9.63427 -0.0500674 0.0500674 0.0383495 0.2 -0.02 pose: 0.0 5.26925 -0.59011 0 -0.0043973 -0.00660898 -0.768296 0.640046 uwb: 0.0 890.032 475.982 -imu_odom_: 1691062448.440298622 0.174777 -0.253785 9.50259 -0.0479369 -0.0319579 0.0490022 0.2 -0.02 pose: 0.33110533 5.27012 -0.600072 0 -0.000690362-0.00563031 -0.768397 0.639949 uwb: 0.49847050 890.547 476.162 -imu_odom_: 1691062448.464125024 0.560243 -0.407014 9.74201 -0.0713727 0.0138484 0.0543285 0.18 -0.02 pose: 0.0 5.27012 -0.600072 0 -0.000690362-0.00563031 -0.768397 0.639949 uwb: 0.0 890.547 476.162 -imu_odom_: 1691062448.482099522 0.19393 -0.311246 9.58878 -0.076699 0.0117179 0.0458064 0.18 -0.02 pose: 0.50988501 5.27099 -0.610033 0 0.000447459 -0.00206187 -0.768281 0.640109 uwb: 0.0 890.547 476.162 -imu_odom_: 1691062448.499094425 0.471658 -0.435745 10.0987 -0.0713727 -0.015979 0.0436758 0.18 -0.02 pose: 0.0 5.27099 -0.610033 0 0.000447459 -0.00206187 -0.768281 0.640109 uwb: 0.49991116 887.888 477.133 -imu_odom_: 1691062448.520187936 0.253785 -0.21069 10.5345 -0.0298274 0.00639159 0.0266316 0.2 0 pose: 0.50849683 5.26158 -0.617102 0 -0.0018395 0.00142852 -0.768146 0.640271 uwb: 0.0 887.888 477.133 -imu_odom_: 1691062448.537242332 0.445322 -0.361524 9.63666 -0.052198 -0.0500674 0.0511327 0.19 0 pose: 0.0 5.26158 -0.617102 0 -0.0018395 0.00142852 -0.768146 0.640271 uwb: 0.49996949 888.846 477.145 -imu_odom_: 1691062448.554090252 0.339977 -0.347159 9.94551 -0.0575243 -0.00426106 0.0330232 0.19 0 pose: 0.0 5.26158 -0.617102 0 -0.0018395 0.00142852 -0.768146 0.640271 uwb: 0.0 888.846 477.145 -imu_odom_: 1691062448.578101841 0.562637 -0.263362 10.2496 -0.0713727 -0.00213053 0.0479369 0.18 0 pose: 0.28082783 5.26191 -0.62087 0 -0.0004006940.00220154 -0.768206 0.640199 uwb: 0.0 888.846 477.145 -imu_odom_: 1691062448.604153110 0.85473 -0.337582 10.3286 -0.0394148 -0.0553937 0.036219 0.18 0 pose: 0.35117550 5.26279 -0.630832 0 -0.00220091 0.00348638 -0.768179 0.640222 uwb: 0.50406109 890.208 476.809 -imu_odom_: 1691062448.630102599 0.895431 -0.0790087 10.1969 -0.0639159 -0.0319579 0.0628506 0.19 0 pose: 0.41858352 5.2634 -0.637737 0 -0.00580744 0.000322089 -0.768167 0.640224 uwb: 0.0 890.208 476.809 -imu_odom_: 1691062448.654113604 0.830788 -0.100556 10.3166 -0.036219 -0.00319579 0.0330232 0.19 0 pose: 0.7973824 5.26367 -0.640793 0 -0.0062164 -0.00046073 -0.768108 0.64029 uwb: 0.49566791 894.863 476.285 -imu_odom_: 1691062448.668088066 0.251391 -0.112527 9.62708 -0.0479369 0.0266316 0.0436758 0.18 0.02 pose: 0.0 5.26367 -0.640793 0 -0.0062164 -0.00046073 -0.768108 0.64029 uwb: 0.0 894.863 476.285 -imu_odom_: 1691062448.684141287 0.6608 -0.481235 9.76834 -0.0596548 0.00106526 0.0436758 0.18 0.02 pose: 0.48976818 5.26367 -0.640793 0 -0.0070051 -0.00439954 -0.768019 0.640374 uwb: 0.0 894.863 476.285 -imu_odom_: 1691062448.702121909 1.1564 -0.0670376 10.24 -0.0340885 -0.0490022 0.04048 0.18 0.02 pose: 0.0 5.26367 -0.640793 0 -0.0070051 -0.00439954 -0.768019 0.640374 uwb: 0.49990241 896.274 476.195 -imu_odom_: 1691062448.726297104 1.76932 -0.258574 9.60793 -0.0628506 0.0511327 0.0596548 0.25 0.02 pose: 0.31109057 5.25459 -0.651637 0 -0.00818924 -0.00424845 -0.767976 0.640412 uwb: 0.0 896.274 476.195 -imu_odom_: 1691062448.751104267 0.715866 -0.167594 9.086 -0.0308927 0.015979 0.0415453 0.23 0 pose: 0.34084295 5.25519 -0.658443 0 -0.0102355 -0.0063374 -0.7678 0.640576 uwb: 0.50003948 897.811 476.755 -imu_odom_: 1691062448.776077078 -0.0430956 -0.277727 9.49301 -0.0351537 0.0458064 0.0330232 0.23 0 pose: 0.0 5.25519 -0.658443 0 -0.0102355 -0.0063374 -0.7678 0.640576 uwb: 0.0 897.811 476.755 -imu_odom_: 1691062448.793092687 0.301669 -0.222661 9.94551 -0.0447411 0.00745685 0.0458064 0.2 0 pose: 0.7945536 5.25548 -0.661598 0 -0.0102783 -0.00713831 -0.767795 0.640574 uwb: 0.49939497 898.34 477.035 -imu_odom_: 1691062448.809206275 0.42138 -0.0981623 10.2161 -0.0692422 0.00852212 0.0575243 0.2 0 pose: 0.0 5.25548 -0.661598 0 -0.0102783 -0.00713831 -0.767795 0.640574 uwb: 0.0 898.34 477.035 -imu_odom_: 1691062448.826200012 0.509965 -0.25618 9.54329 -0.0490022 -0.0468716 0.0308927 0.2 0 pose: 0.0 5.25548 -0.661598 0 -0.0102783 -0.00713831 -0.767795 0.640574 uwb: 0.0 898.34 477.035 -imu_odom_: 1691062448.843091677 0.684742 0.105345 10.1682 -0.0511327 -0.036219 0.0511327 0.23 0.02 pose: 0.48903034 5.25637 -0.671558 0 -0.00738496 -0.00638998 -0.767849 0.640556 uwb: 0.50063441 900.609 476.503 -imu_odom_: 1691062448.868135938 0.675165 -0.0167594 10.0245 -0.0426106 0.00213053 0.0308927 0.23 0.02 pose: 0.0 5.25637 -0.671558 0 -0.00738496 -0.00638998 -0.767849 0.640556 uwb: 0.0 900.609 476.503 -imu_odom_: 1691062448.892221018 0.684742 -0.354342 9.70131 -0.0830906 0.0149137 0.0649811 0.18 0 pose: 0.84990264 5.25035 -0.682136 0 -0.00485267 -0.00845637 -0.767806 0.640608 uwb: 0.50089980 899.276 476.973 -imu_odom_: 1691062448.916062877 0.593762 -0.220267 9.73243 -0.0575243 0.00958738 0.0330232 0.18 0 pose: 0.0 5.25035 -0.682136 0 -0.00485267 -0.00845637 -0.767806 0.640608 uwb: 0.0 899.276 476.973 -imu_odom_: 1691062448.939102453 0.871489 -0.0454898 9.91678 -0.0681769 -0.0149137 0.0543285 0.27 0.02 pose: 0.7949327 5.2473 -0.682409 0 -0.00559906 -0.00801559 -0.767737 0.640691 uwb: 0.49927540 900.217 476.937 -imu_odom_: 1691062448.965081980 0.572214 -0.112527 10.0485 -0.0436758 0.0181095 0.0351537 0.24 0 pose: 0.47023461 5.24819 -0.692369 0 -0.00859016 -0.00570092 -0.767597 0.64085 uwb: 0.0 900.217 476.937 -imu_odom_: 1691062448.990058582 0.0191536 -0.0766145 9.6199 -0.0745685 0.0308927 0.0479369 0.24 0 pose: 0.0 5.24819 -0.692369 0 -0.00859016 -0.00570092 -0.767597 0.64085 uwb: 0.50083272 905.76 476.244 -imu_odom_: 1691062449.8082077 0.792481 -0.222661 10.3022 -0.0660464 -0.00532632 0.0447411 0.18 -0.02 pose: 0.24023546 5.24908 -0.702329 0 -0.008278 -0.00748157 -0.767538 0.640906 uwb: 0.0 905.76 476.244 -imu_odom_: 1691062449.32122840 0.306458 -0.316035 10.1969 -0.0735032 0.0149137 0.0468716 0.18 -0.02 pose: 0.51037203 5.24998 -0.712288 0 -0.00478376 -0.00667565 -0.767521 0.640971 uwb: 0.0 905.76 476.244 -imu_odom_: 1691062449.58036762 0.639252 -0.0502782 10.3142 -0.0553937 -0.0319579 0.036219 0.2 0 pose: 0.33953365 5.24998 -0.712288 0 -0.00470032 -0.00457615 -0.767453 0.641071 uwb: 0.49929306 904.45 476.839 -imu_odom_: 1691062449.80042802 0.849942 -0.363919 10.3286 -0.0671117 -0.0415453 0.0447411 0.2 0 pose: 0.0 5.24998 -0.712288 0 -0.00470032 -0.00457615 -0.767453 0.641071 uwb: 0.0 904.45 476.839 -imu_odom_: 1691062449.105169023 0.610521 -0.237026 10.1442 -0.036219 -0.00213053 0.0266316 0.19 0 pose: 0.47919962 5.24092 -0.723148 0 -0.00729375 -0.00768372 -0.767418 0.641059 uwb: 0.49945062 903.607 477.4 -imu_odom_: 1691062449.123067996 -0.110133 -0.201113 9.51216 -0.0777643 0.0458064 0.0500674 0.19 0 pose: 0.0 5.24092 -0.723148 0 -0.00729375 -0.00768372 -0.767418 0.641059 uwb: 0.0 903.607 477.4 -imu_odom_: 1691062449.146050424 0.177171 -0.0335188 9.97664 -0.0500674 0 0.036219 0.18 0.02 pose: 0.43025194 5.24182 -0.733108 0 -0.0069328 -0.00427949 -0.767463 0.641042 uwb: 0.50115083 906.315 476.741 -imu_odom_: 1691062449.172192111 0.572214 -0.232238 10.0844 -0.0756338 0.00426106 0.0394148 0.18 0.02 pose: 0.0 5.24182 -0.733108 0 -0.0069328 -0.00427949 -0.767463 0.641042 uwb: 0.0 906.315 476.741 -imu_odom_: 1691062449.195042720 0.529119 -0.378284 9.91199 -0.0436758 0.0255663 0.0223706 0.19 0 pose: 0.49124115 5.24247 -0.740254 0 -0.00713389 -0.00447333 -0.767489 0.641007 uwb: 0.49937479 902.257 477.77 -imu_odom_: 1691062449.212099166 0.0502782 -0.363919 9.77074 -0.056459 0.0138484 0.0426106 0.19 0 pose: 0.0 5.24247 -0.740254 0 -0.00713389 -0.00447333 -0.767489 0.641007 uwb: 0.0 902.257 477.77 -imu_odom_: 1691062449.235146044 0.37589 -0.0502782 10.4459 -0.00958738 0.00958738 0.0298274 0.19 0 pose: 0.39907055 5.24323 -0.748659 0 -0.00654081 -0.000876821-0.767591 0.640906 uwb: 0.0 902.257 477.77 -imu_odom_: 1691062449.259171059 0.667982 -0.146046 10.3717 -0.0649811 -0.00852212 0.0575243 0.19 0 pose: 0.0 5.24323 -0.748659 0 -0.00654081 -0.000876821-0.767591 0.640906 uwb: 0.50051216 903.75 478.186 -imu_odom_: 1691062449.285016155 0.474052 -0.28491 9.89763 -0.0436758 -0.0287621 0.0351537 0.25 0 pose: 0.47071893 5.23426 -0.760578 0 -0.00497296 -0.00408297 -0.767533 0.640977 uwb: 0.0 903.75 478.186 -imu_odom_: 1691062449.298083937 0.23942 -0.0694318 9.84975 -0.0585895 0.0426106 0.0511327 0.25 0 pose: 0.0 5.23426 -0.760578 0 -0.00497296 -0.00408297 -0.767533 0.640977 uwb: 0.49991139 903.784 478.37 -imu_odom_: 1691062449.323083298 0.37589 0.110133 9.99579 -0.0532632 0.0149137 0.0436758 0.18 0 pose: 0.38912878 5.23456 -0.763883 0 -0.00365927 -0.00148549 -0.767524 0.641008 uwb: 0.0 903.784 478.37 -imu_odom_: 1691062449.340151117 0.706289 -0.0861913 10.149 -0.0735032 -0.0415453 0.0553937 0.18 0 pose: 0.7944082 5.23456 -0.763883 0 -0.00293543 -0.00188651 -0.767517 0.641019 uwb: 0.50039550 906.12 478.303 -imu_odom_: 1691062449.365015160 0.349553 -0.11971 9.79228 -0.0532632 -0.0181095 0.0234358 0.18 0 pose: 0.34123098 5.23546 -0.773842 0 -0.00250787 -0.0043501 -0.767407 0.641141 uwb: 0.0 906.12 478.303 -imu_odom_: 1691062449.390041935 0.316035 -0.323217 10.3262 -0.076699 -0.0553937 0.0543285 0.18 0 pose: 0.0 5.23546 -0.773842 0 -0.00250787 -0.0043501 -0.767407 0.641141 uwb: 0.49804203 905.227 478.536 -imu_odom_: 1691062449.413074523 0.181959 -0.141258 9.93594 -0.052198 -0.00639159 0.0340885 0.19 0 pose: 0.7967121 5.23546 -0.773842 0 -0.00178136 -0.00416036 -0.767452 0.641091 uwb: 0.0 905.227 478.536 -imu_odom_: 1691062449.437070083 0.715866 -0.138864 9.98622 -0.092678 -0.0458064 0.0553937 0.19 0 pose: 0.0 5.23546 -0.773842 0 -0.00178136 -0.00416036 -0.767452 0.641091 uwb: 0.0 905.227 478.536 -imu_odom_: 1691062449.455120705 0.555455 -0.172383 9.27514 -0.0681769 -0.0138484 0.0319579 0.19 0 pose: 0.48903348 5.23636 -0.783801 0 -0.00024976 -0.00116677 -0.767446 0.641112 uwb: 0.49982682 907.54 478.336 -imu_odom_: 1691062449.479046857 0.117316 -0.344765 10.0916 -0.0798948 -0.015979 0.0426106 0.19 0 pose: 0.0 5.23636 -0.783801 0 -0.00024976 -0.00116677 -0.767446 0.641112 uwb: 0.0 907.54 478.336 -imu_odom_: 1691062449.505187086 -0.0622492 -0.184354 10.2687 -0.04048 0.0213053 0.0319579 0.18 0 pose: 0.65986333 5.2273 -0.794663 0 -0.00205252 -0.00291659 -0.767384 0.641178 uwb: 0.0 907.54 478.336 -imu_odom_: 1691062449.518108759 0.0766145 -0.201113 9.991 -0.0585895 0.00426106 0.0585895 0.18 0 pose: 0.0 5.2273 -0.794663 0 -0.00205252 -0.00291659 -0.767384 0.641178 uwb: 0.0 907.54 478.336 -imu_odom_: 1691062449.542002540 0.557849 -0.268151 10.1442 -0.0447411 0.0351537 0.0340885 0.18 -0.02 pose: 0.55100840 5.22821 -0.804622 0 0.00198983 0.0010924 -0.767357 0.641216 uwb: 0.100042938 908.028 478.44 -imu_odom_: 1691062449.568009492 0.696713 -0.440533 10.3932 -0.0628506 -0.00532632 0.04048 0.18 -0.02 pose: 0.0 5.22821 -0.804622 0 0.00198983 0.0010924 -0.767357 0.641216 uwb: 0.0 908.028 478.44 -imu_odom_: 1691062449.593040350 0.610521 -0.023942 10.1801 -0.04048 -0.00639159 0.0308927 0.19 0 pose: 0.8015241 5.22821 -0.804622 0 0.00139771 0.000853809 -0.767372 0.6412 uwb: 0.49967809 909.895 478.377 -imu_odom_: 1691062449.610103211 0.339977 -0.505177 10.5201 -0.0575243 -0.0106526 0.0394148 0.19 0 pose: 0.0 5.22821 -0.804622 0 0.00139771 0.000853809 -0.767372 0.6412 uwb: 0.0 909.895 478.377 -imu_odom_: 1691062449.634094689 0.0885855 -0.258574 10.137 -0.036219 0.0117179 0.0245011 0.21 0 pose: 0.49907732 5.22911 -0.814581 0 -0.0023805 -0.000564884-0.767416 0.641145 uwb: 0.0 909.895 478.377 -imu_odom_: 1691062449.659990821 0.828394 -0.466869 9.49062 -0.0511327 -0.0308927 0.0351537 0.2 -0.02 pose: 0.25094142 5.23001 -0.82454 0 -0.00249133 -0.00160967 -0.767463 0.641086 uwb: 0.49936604 911.38 478.837 -imu_odom_: 1691062449.686097804 0.378284 -0.162806 9.68215 -0.0234358 -0.0468716 0.0458064 0.2 -0.02 pose: 0.32968815 5.22393 -0.831827 0 -0.0007199950.000824773 -0.767579 0.640954 uwb: 0.0 911.38 478.837 -imu_odom_: 1691062449.709977586 0.129287 -0.11971 9.99819 -0.0458064 -0.0127832 0.0500674 0.22 0 pose: 0.7899753 5.22095 -0.8354 0 -0.00156483 0.000590291 -0.76759 0.640939 uwb: 0.49919106 910.009 479.025 -imu_odom_: 1691062449.724051793 0.641646 -0.225055 9.84975 -0.0447411 0.0213053 0.0340885 0.22 0 pose: 0.0 5.22095 -0.8354 0 -0.00156483 0.000590291 -0.76759 0.640939 uwb: 0.0 910.009 479.025 -imu_odom_: 1691062449.748043562 0.739808 -0.124498 9.91918 -0.0415453 -0.0255663 0.0447411 0.18 0.02 pose: 0.50997565 5.22095 -0.8354 0 -0.000461377-0.000927301-0.767541 0.640998 uwb: 0.50127040 909.151 479.483 -imu_odom_: 1691062449.774044098 0.301669 -0.009576819.80426 -0.0596548 0.00639159 0.0607201 0.18 0.02 pose: 0.0 5.22095 -0.8354 0 -0.000461377-0.000927301-0.767541 0.640998 uwb: 0.0 909.151 479.483 -imu_odom_: 1691062449.786961397 0.011971 -0.306458 9.62708 -0.0798948 -0.0127832 0.0745685 0.18 0.02 pose: 0.0 5.22095 -0.8354 0 -0.000461377-0.000927301-0.767541 0.640998 uwb: 0.0 909.151 479.483 -imu_odom_: 1691062449.811033074 -0.011971 -0.294487 10.0509 -0.0543285 0.0191748 0.036219 0.18 0.02 pose: 0.39160766 5.22185 -0.845359 0 -0.000419957-0.00181917 -0.767494 0.641053 uwb: 0.49872737 910.484 479.062 -imu_odom_: 1691062449.837007947 0.486023 -0.380678 9.91199 -0.052198 -0.0490022 0.0490022 0.22 0 pose: 0.78880301 5.21675 -0.862525 0 0.00319797 -3.22951e-05-0.767181 0.641423 uwb: 0.0 910.484 479.062 -imu_odom_: 1691062449.850943920 0.632069 -0.179565 10.2831 -0.0330232 -0.0490022 0.0266316 0.22 0 pose: 0.0 5.21675 -0.862525 0 0.00319797 -3.22951e-05-0.767181 0.641423 uwb: 0.50038675 911.86 478.899 -imu_odom_: 1691062449.878106031 0.117316 -0.229843 10.0987 -0.0788296 -0.015979 0.0607201 0.18 0 pose: 0.8022531 5.2137 -0.866186 0 0.00230477 8.82657e-05 -0.76716 0.641452 uwb: 0.0 911.86 478.899 -imu_odom_: 1691062449.902971532 0.533907 -0.246603 9.61751 -0.0639159 -0.00319579 0.0394148 0.18 0 pose: 0.0 5.2137 -0.866186 0 0.00230477 8.82657e-05 -0.76716 0.641452 uwb: 0.49987640 913.785 479.243 -imu_odom_: 1691062449.929009981 0.725443 -0.31364 9.5816 -0.0639159 -0.0255663 0.04048 0.2 0 pose: 0.40253806 5.21461 -0.876145 0 -0.000251183-0.000385443-0.76711 0.641515 uwb: 0.0 913.785 479.243 -imu_odom_: 1691062449.941947403 0.665588 -0.260968 10.1299 -0.0543285 -0.0191748 0.036219 0.2 0 pose: 0.0 5.21461 -0.876145 0 -0.000251183-0.000385443-0.76711 0.641515 uwb: 0.49939812 915.21 479.39 -imu_odom_: 1691062449.965951712 0.620098 -0.308852 10.4531 -0.0809601 -0.0490022 0.0660464 0.18 0 pose: 0.51747937 5.21461 -0.876145 0 -0.00216703 -0.000493754-0.766981 0.641666 uwb: 0.0 915.21 479.39 -imu_odom_: 1691062449.991061602 0.667982 -0.213084 10.3453 -0.0500674 -0.00958738 0.036219 0.18 0 pose: 0.0 5.21461 -0.876145 0 -0.00216703 -0.000493754-0.766981 0.641666 uwb: 0.50012137 914.32 479.655 -imu_odom_: 1691062450.4987368 0.828394 -0.201113 9.84017 -0.0575243 0.0170442 0.056459 0.18 0 pose: 0.0 5.21461 -0.876145 0 -0.00216703 -0.000493754-0.766981 0.641666 uwb: 0.0 914.32 479.655 -imu_odom_: 1691062450.28920530 0.718261 -0.112527 9.92875 -0.0170442 0.0181095 0.0223706 0.18 0 pose: 0.38895088 5.21553 -0.886103 0 -0.00611833 -0.00229848 -0.766909 0.641723 uwb: 0.0 914.32 479.655 -imu_odom_: 1691062450.55077394 0.244209 0.0047884 9.85214 -0.0575243 -0.015979 0.0671117 0.23 0.02 pose: 0.78968094 5.2071 -0.9036 0 -0.00892744 -0.00871795 -0.766839 0.641718 uwb: 0.49992322 911.202 480.536 -imu_odom_: 1691062450.76911964 0.641646 -0.011971 10.1323 -0.0468716 0.0106526 0.0436758 0.23 0.02 pose: 0.0 5.2071 -0.9036 0 -0.00892744 -0.00871795 -0.766839 0.641718 uwb: 0.0 911.202 480.536 -imu_odom_: 1691062450.93918840 0.500388 -0.268151 9.84496 -0.0660464 -0.00745685 0.0479369 0.19 0 pose: 0.8065696 5.20741 -0.90694 0 -0.00818486 -0.00855458 -0.766777 0.641804 uwb: 0.50246633 911.262 480.883 -imu_odom_: 1691062450.118033397 0.706289 -0.311246 10.2161 -0.04048 -0.0649811 0.0308927 0.19 0 pose: 0.0 5.20741 -0.90694 0 -0.00818486 -0.00855458 -0.766777 0.641804 uwb: 0.0 911.262 480.883 -imu_odom_: 1691062450.141908524 0.632069 -0.198719 10.2161 -0.052198 -0.0298274 0.0458064 0.18 -0.02 pose: 0.47940982 5.20833 -0.916898 0 -0.00536284 -0.00925256 -0.766595 0.642042 uwb: 0.49772729 914.889 480.3 -imu_odom_: 1691062450.158918900 0.701501 -0.332794 9.56005 -0.0415453 -0.00426106 0.0255663 0.18 -0.02 pose: 0.0 5.20833 -0.916898 0 -0.00536284 -0.00925256 -0.766595 0.642042 uwb: 0.0 914.889 480.3 -imu_odom_: 1691062450.183993222 0.0383072 -0.153229 9.48822 -0.0735032 0.0308927 0.0553937 0.19 0 pose: 0.40996615 5.20833 -0.916898 0 -0.00822996 -0.00761765 -0.766597 0.642031 uwb: 0.0 914.889 480.3 -imu_odom_: 1691062450.201028094 0.23942 -0.229843 10.0916 -0.0458064 -0.0415453 0.0394148 0.19 0 pose: 0.0 5.20833 -0.916898 0 -0.00822996 -0.00761765 -0.766597 0.642031 uwb: 0.50125022 917.719 480.534 -imu_odom_: 1691062450.217046042 0.687136 -0.105345 9.46188 -0.052198 -0.015979 0.0372843 0.19 0 pose: 0.0 5.20833 -0.916898 0 -0.00822996 -0.00761765 -0.766597 0.642031 uwb: 0.0 917.719 480.534 -imu_odom_: 1691062450.233980010 0.392649 -0.332794 10.1801 -0.0809601 0.00106526 0.0458064 0.18 0.02 pose: 0.42006831 5.20926 -0.926855 0 -0.00903089 -0.00545773 -0.766586 0.642055 uwb: 0.0 917.719 480.534 -imu_odom_: 1691062450.259035667 0.339977 -0.4956 9.98861 -0.0458064 -0.00639159 0.0298274 0.18 0.02 pose: 0.0 5.20926 -0.926855 0 -0.00903089 -0.00545773 -0.766586 0.642055 uwb: 0.49932836 920.951 480.412 -imu_odom_: 1691062450.282012856 0.679953 -0.442927 10.3597 -0.0532632 0.00426106 0.0351537 0.18 0.02 pose: 0.74990826 5.20116 -0.947696 0 -0.00623441 -0.00257506 -0.766534 0.642169 uwb: 0.0 920.951 480.412 -imu_odom_: 1691062450.307900543 0.237026 -0.0766145 10.0149 -0.0468716 -0.02024 0.052198 0.18 0.02 pose: 0.0 5.20116 -0.947696 0 -0.00623441 -0.00257506 -0.766534 0.642169 uwb: 0.50002244 924.197 480.427 -imu_odom_: 1691062450.331938984 0.593762 -0.229843 9.94073 -0.0532632 -0.036219 0.0394148 0.25 -0.02 pose: 0.24099685 5.20116 -0.947696 0 -0.00700838 -0.000954096-0.766586 0.642102 uwb: 0.0 924.197 480.427 -imu_odom_: 1691062450.356974227 0.68953 -0.35913 10.3046 -0.0532632 -0.0287621 0.0553937 0.2 0 pose: 0.22902822 5.20116 -0.947696 0 -0.00768177 -0.000837432-0.76657 0.642114 uwb: 0.50037532 927.869 480.213 -imu_odom_: 1691062450.372953971 0.849942 -0.500388 9.52892 -0.0532632 0.0468716 0.0372843 0.2 0 pose: 0.0 5.20116 -0.947696 0 -0.00768177 -0.000837432-0.76657 0.642114 uwb: 0.0 927.869 480.213 -imu_odom_: 1691062450.397952469 0.251391 0.160412 9.4547 -0.0575243 0.00958738 0.0639159 0.18 0 pose: 0.50065820 5.20209 -0.957653 0 -0.008033 -0.0034801 -0.766456 0.642237 uwb: 0.49961708 929.754 480.476 -imu_odom_: 1691062450.422889432 0.184354 -0.196325 9.87129 -0.0735032 -0.00852212 0.0234358 0.18 0 pose: 0.0 5.20209 -0.957653 0 -0.008033 -0.0034801 -0.766456 0.642237 uwb: 0.0 929.754 480.476 -imu_odom_: 1691062450.446901043 0.332794 -0.411803 10.1299 -0.0681769 -0.00426106 0.0553937 0.18 0 pose: 0.40973284 5.20302 -0.967609 0 -0.0103386 -0.00354482 -0.766299 0.642391 uwb: 0.50043073 927.541 481.184 -imu_odom_: 1691062450.469875315 0.636858 -0.153229 9.48343 -0.0532632 -0.0181095 0.0266316 0.18 0 pose: 0.0 5.20302 -0.967609 0 -0.0103386 -0.00354482 -0.766299 0.642391 uwb: 0.0 927.541 481.184 -imu_odom_: 1691062450.487897366 0.881066 -0.0814029 9.64863 -0.0649811 -0.0468716 0.052198 0.25 -0.02 pose: 0.49997870 5.194 -0.978502 0 -0.00647205 -0.00161195 -0.766287 0.642464 uwb: 0.49935169 929.389 481.19 -imu_odom_: 1691062450.502873017 0.804452 -0.11971 9.95509 -0.0788296 -0.0383495 0.056459 0.25 -0.02 pose: 0.0 5.194 -0.978502 0 -0.00647205 -0.00161195 -0.766287 0.642464 uwb: 0.0 929.389 481.19 -imu_odom_: 1691062450.527935965 0.849942 -0.373495 9.87369 -0.0681769 -0.00852212 0.0372843 0.25 0 pose: 0.46970427 5.19494 -0.988458 0 -0.00701949 -0.00320939 -0.766269 0.642474 uwb: 0.0 929.389 481.19 -imu_odom_: 1691062450.542877495 0.0047884 -0.237026 10.0149 -0.0692422 0.0213053 0.0511327 0.25 0 pose: 0.0 5.19494 -0.988458 0 -0.00701949 -0.00320939 -0.766269 0.642474 uwb: 0.50060279 929.456 481.678 -imu_odom_: 1691062450.565968421 0.881066 -0.0766145 9.59357 -0.052198 0.0308927 0.0276969 0.25 0 pose: 0.0 5.19494 -0.988458 0 -0.00701949 -0.00320939 -0.766269 0.642474 uwb: 0.0 929.456 481.678 -imu_odom_: 1691062450.582982004 0.351948 -0.131681 9.90721 -0.0671117 0.00426106 0.0607201 0.17 0.02 pose: 0.32956581 5.19588 -0.998414 0 -0.00929435 -0.00577596 -0.766137 0.642584 uwb: 0.0 929.456 481.678 -imu_odom_: 1691062450.606865005 0.742203 -0.275333 9.65103 -0.0617853 0.00852212 0.0330232 0.17 0.02 pose: 0.0 5.19588 -0.998414 0 -0.00929435 -0.00577596 -0.766137 0.642584 uwb: 0.49955000 928.579 482.012 -imu_odom_: 1691062450.631911914 0.347159 -0.452504 10.3549 -0.072438 -0.0181095 0.0468716 0.18 0 pose: 0.40025768 5.19588 -0.998414 0 -0.0099085 -0.00562401 -0.766121 0.642595 uwb: 0.0 928.579 482.012 -imu_odom_: 1691062450.654903392 0.277727 -0.0407014 10.647 -0.0266316 0.00426106 0.0245011 0.18 0 pose: 0.0 5.19588 -0.998414 0 -0.0099085 -0.00562401 -0.766121 0.642595 uwb: 0.50170517 929.909 481.617 -imu_odom_: 1691062450.670868846 0.390255 -0.292093 9.66779 -0.0543285 -0.0394148 0.0490022 0.2 -0.02 pose: 0.40003021 5.18687 -1.00931 0 -0.0092327 -0.00645414 -0.766092 0.642632 uwb: 0.0 929.909 481.617 -imu_odom_: 1691062450.693939066 0.411803 -0.0814029 9.48343 -0.0458064 -0.0127832 0.0287621 0.2 -0.02 pose: 0.0 5.18687 -1.00931 0 -0.0092327 -0.00645414 -0.766092 0.642632 uwb: 0.49815308 929.538 482.284 -imu_odom_: 1691062450.718940480 0.308852 -0.201113 9.49301 -0.0735032 0.0181095 0.0575243 0.25 0.02 pose: 0.88185182 5.18875 -1.02922 0 -0.00613968 -0.00354412 -0.766175 0.642593 uwb: 0.0 929.538 482.284 -imu_odom_: 1691062450.742123853 0.811634 -0.124498 10.2472 -0.0287621 0.00426106 0.0351537 0.25 0.02 pose: 0.0 5.18875 -1.02922 0 -0.00613968 -0.00354412 -0.766175 0.642593 uwb: 0.50164392 932.729 482.049 -imu_odom_: 1691062450.760904441 0.0814029 -0.493206 9.65582 -0.0532632 0.00319579 0.056459 0.18 0.02 pose: 0.46924641 5.18875 -1.02922 0 -0.00293132 -0.00275092 -0.766111 0.642695 uwb: 0.0 932.729 482.049 -imu_odom_: 1691062450.784891555 0.61531 -0.148441 10.1682 -0.0330232 -0.0234358 0.0319579 0.18 0.02 pose: 0.0 5.18875 -1.02922 0 -0.00293132 -0.00275092 -0.766111 0.642695 uwb: 0.0 932.729 482.049 -imu_odom_: 1691062450.801908346 0.624887 0 9.77553 -0.0458064 -0.0106526 0.0415453 0.2 0 pose: 0.42894854 5.18969 -1.03918 0 -0.00340951 -0.00320901 -0.766048 0.642766 uwb: 0.49808017 934.151 482.387 -imu_odom_: 1691062450.818021658 0.837971 -0.275333 10.3382 -0.0596548 0.00639159 0.0415453 0.2 0 pose: 0.0 5.18969 -1.03918 0 -0.00340951 -0.00320901 -0.766048 0.642766 uwb: 0.0 934.151 482.387 -imu_odom_: 1691062450.835027076 0.383072 -0.059855 10.1778 -0.0245011 -0.00319579 0.0415453 0.23 0 pose: 0.49100223 5.18068 -1.05008 0 -0.0051402 -0.00709929 -0.766047 0.642725 uwb: 0.0 934.151 482.387 -imu_odom_: 1691062450.850837673 0.191536 -0.320823 9.61033 -0.0649811 0.0191748 0.0735032 0.23 0 pose: 0.0 5.18068 -1.05008 0 -0.0051402 -0.00709929 -0.766047 0.642725 uwb: 0.50243716 939.147 482.06 -imu_odom_: 1691062450.867848631 0.354342 -0.203507 9.85932 -0.0479369 -0.0479369 0.0383495 0.23 0 pose: 0.0 5.18068 -1.05008 0 -0.0051402 -0.00709929 -0.766047 0.642725 uwb: 0.0 939.147 482.06 -imu_odom_: 1691062450.884025811 0.766145 -0.263362 9.73482 -0.0394148 -0.02024 0.0372843 0.18 0 pose: 0.49826973 5.18163 -1.06003 0 -0.00178484 -0.00430324 -0.765898 0.642945 uwb: 0.0 939.147 482.06 -imu_odom_: 1691062450.900956570 -0.0814029 -0.452504 10.1706 -0.0607201 -0.00745685 0.056459 0.25 0.02 pose: 0.0 5.18163 -1.06003 0 -0.00178484 -0.00430324 -0.765898 0.642945 uwb: 0.49845930 936.924 482.657 -imu_odom_: 1691062450.917013014 0.59855 -0.148441 10.3286 -0.0223706 -0.052198 0.0287621 0.25 0.02 pose: 0.0 5.18163 -1.06003 0 -0.00178484 -0.00430324 -0.765898 0.642945 uwb: 0.0 936.924 482.657 -imu_odom_: 1691062450.932960095 0.00718261 -0.124498 9.49062 -0.0596548 0.00213053 0.0681769 0.23 0.02 pose: 0.24144596 5.18258 -1.06999 0 -0.00297693 -0.00437303 -0.76586 0.642985 uwb: 0.0 936.924 482.657 -imu_odom_: 1691062450.949838944 0.380678 -0.31364 10.1849 -0.0596548 -0.0266316 0.0500674 0.23 0.02 pose: 0.0 5.18258 -1.06999 0 -0.00297693 -0.00437303 -0.76586 0.642985 uwb: 0.49829597 940.553 482.346 -imu_odom_: 1691062450.966853985 0.521936 -0.107739 9.9096 -0.0500674 0.0106526 0.0340885 0.23 0.02 pose: 0.32059518 5.18258 -1.06999 0 -0.00288844 -0.00501191 -0.765802 0.643051 uwb: 0.0 940.553 482.346 -imu_odom_: 1691062450.982879807 0.189142 -0.112527 10.1945 -0.0703074 -0.0255663 0.0617853 0.18 0 pose: 0.42801240 5.17829 -1.08044 0 -0.0018294 -0.00449614 -0.765699 0.64318 uwb: 0.0 940.553 482.346 -imu_odom_: 1691062450.999880850 0.806846 -0.296881 9.64145 -0.0596548 -0.0351537 0.0340885 0.18 0 pose: 0.0 5.17829 -1.08044 0 -0.0018294 -0.00449614 -0.765699 0.64318 uwb: 0.49817933 939.726 483.104 -imu_odom_: 1691062451.15999709 0.536301 -0.131681 10.1945 -0.0553937 0.00958738 0.0436758 0.18 0 pose: 0.0 5.17829 -1.08044 0 -0.0018294 -0.00449614 -0.765699 0.64318 uwb: 0.0 939.726 483.104 -imu_odom_: 1691062451.32862817 0.543484 -0.344765 9.50737 -0.0777643 -0.0127832 0.0692422 0.24 0 pose: 0.8082028 5.17357 -1.0809 0 -0.0012304 -0.00410848 -0.765646 0.643248 uwb: 0.0 939.726 483.104 -imu_odom_: 1691062451.48868232 0.246603 -0.373495 9.56962 -0.0532632 -0.00213053 0.0372843 0.18 0 pose: 0.0 5.17357 -1.0809 0 -0.0012304 -0.00410848 -0.765646 0.643248 uwb: 0.49969014 942.432 482.772 -imu_odom_: 1691062451.65798708 0.703895 -0.155623 9.85453 -0.056459 -0.0138484 0.0447411 0.18 0 pose: 0.65885767 5.17453 -1.09085 0 -0.00359656 -0.00404462 -0.765433 0.643493 uwb: 0.0 942.432 482.772 -imu_odom_: 1691062451.81009422 1.19471 -0.112527 10.0604 -0.0617853 -0.02024 0.0852212 0.18 0 pose: 0.0 5.17453 -1.09085 0 -0.00359656 -0.00404462 -0.765433 0.643493 uwb: 0.0 942.432 482.772 -imu_odom_: 1691062451.98819464 1.0343 -0.481235 9.59357 -0.0511327 0.0234358 0.11931 0.16 0 pose: 0.0 5.17453 -1.09085 0 -0.00359656 -0.00404462 -0.765433 0.643493 uwb: 0.50025306 944.725 482.852 -imu_odom_: 1691062451.115872717 1.51314 -0.402226 10.0963 -0.0575243 -0.0703074 0.108657 0.16 0 pose: 0.32044951 5.1755 -1.1008 0 -0.00496139 -0.00522969 -0.765298 0.643636 uwb: 0.0 944.725 482.852 -imu_odom_: 1691062451.138879079 1.2378 0.0143652 9.61272 -0.0490022 0.0575243 0.0436758 0.14 -0.02 pose: 0.43005986 5.1755 -1.1008 0 -0.00907325 -0.00717381 -0.764302 0.644754 uwb: 0.49986519 939.827 483.943 -imu_odom_: 1691062451.163914042 -0.0407014 -0.153229 9.28471 -0.0692422 0.0426106 -0.00106526 0.14 -0.02 pose: 0.0 5.1755 -1.1008 0 -0.00907325 -0.00717381 -0.764302 0.644754 uwb: 0.0 939.827 483.943 -imu_odom_: 1691062451.188820395 -0.366313 0.0909797 10.0987 -0.0351537 0.0149137 -0.11931 0.17 0.02 pose: 0.7011446 5.1755 -1.1008 0 -0.00923226 -0.00766606 -0.764291 0.64476 uwb: 0.49993519 937.119 484.242 -imu_odom_: 1691062451.211963534 -0.493206 -0.47884 10.1921 -0.0820254 -0.00958738 0.0532632 0.17 0.02 pose: 0.0 5.1755 -1.1008 0 -0.00923226 -0.00766606 -0.764291 0.64476 uwb: 0.0 937.119 484.242 -imu_odom_: 1691062451.227798052 0.318429 -0.881066 9.66779 -0.0479369 -0.0756338 0.0426106 0.14 0.05 pose: 0.48075738 5.17649 -1.11075 0 -0.0064745 -0.00655494 -0.76499 0.643976 uwb: 0.0 937.119 484.242 -imu_odom_: 1691062451.252907381 1.01993 0.0143652 9.85932 -0.0543285 -0.0181095 0.0639159 0.14 0.05 pose: 0.0 5.17649 -1.11075 0 -0.0064745 -0.00655494 -0.76499 0.643976 uwb: 0.50046595 936.679 484.391 -imu_odom_: 1691062451.275907619 0.282516 -0.299275 9.56484 -0.0585895 0 0.0394148 0.2 0 pose: 0.64847274 5.16749 -1.12166 0 -0.00495847 -0.00351712 -0.765742 0.643119 uwb: 0.0 936.679 484.391 -imu_odom_: 1691062451.300913127 -0.0957681 -0.217872 9.55287 -0.04048 -0.00319579 0.0308927 0.15 0 pose: 0.0 5.16749 -1.12166 0 -0.00495847 -0.00351712 -0.765742 0.643119 uwb: 0.0 936.679 484.391 -imu_odom_: 1691062451.317913887 0.579397 -0.371101 9.79947 -0.0692422 -0.0756338 0.0596548 0.15 0 pose: 0.40100444 5.1681 -1.12801 0 -0.00453869 -0.00313404 -0.765612 0.643279 uwb: 0.0 936.679 484.391 -imu_odom_: 1691062451.333838228 0.770933 -0.354342 10.3501 -0.0468716 -0.0639159 0.0308927 0.15 0 pose: 0.0 5.1681 -1.12801 0 -0.00453869 -0.00313404 -0.765612 0.643279 uwb: 0.0 936.679 484.391 -imu_odom_: 1691062451.360801761 0.720655 -0.248997 10.0341 -0.0660464 -0.036219 0.0532632 0.22 0 pose: 0.9014967 5.16844 -1.13161 0 -0.00379489 -0.00260992 -0.76564 0.643253 uwb: 0.100055571 933.107 485.079 -imu_odom_: 1691062451.384817175 0.670376 -0.263362 10.0748 -0.0458064 -0.00958738 0.0149137 0.22 0 pose: 0.0 5.16844 -1.13161 0 -0.00379489 -0.00260992 -0.76564 0.643253 uwb: 0.0 933.107 485.079 -imu_odom_: 1691062451.409785062 0.440533 -0.37589 9.87608 -0.0617853 0.00319579 0.0490022 0.19 0 pose: 0.56971718 5.1694 -1.14157 0 -0.0072203 -0.00311902 -0.765566 0.643309 uwb: 0.49867533 931.352 485.642 -imu_odom_: 1691062451.434833440 0.794875 -0.299275 9.7875 -0.0266316 -0.0298274 0.0191748 0.17 0 pose: 0.50942493 5.1694 -1.14157 0 -0.0105114 -0.00531697 -0.765621 0.643184 uwb: 0.0 931.352 485.642 -imu_odom_: 1691062451.459815909 0.306458 -0.205901 9.65342 -0.0692422 0.00426106 0.0628506 0.17 0 pose: 0.0 5.1694 -1.14157 0 -0.0105114 -0.00531697 -0.765621 0.643184 uwb: 0.50183663 932.233 485.383 -imu_odom_: 1691062451.486812689 0.294487 -0.179565 9.90721 -0.0436758 -0.00639159 0.036219 0.23 -0.02 pose: 0.66979112 5.16108 -1.15949 0 -0.00979261 -0.00421669 -0.76555 0.643288 uwb: 0.0 932.233 485.383 -imu_odom_: 1691062451.502907053 0.706289 -0.141258 10.1514 -0.0575243 -0.0330232 0.0617853 0.23 -0.02 pose: 0.7129558 5.16136 -1.16243 0 -0.00911398 -0.00397596 -0.765563 0.643284 uwb: 0.49930817 932.273 485.686 -imu_odom_: 1691062451.519958264 0.723049 -0.423774 10.0987 -0.0553937 -0.00213053 0.0436758 0.23 0 pose: 0.0 5.16136 -1.16243 0 -0.00911398 -0.00397596 -0.765563 0.643284 uwb: 0.0 932.273 485.686 -imu_odom_: 1691062451.537956992 0.112527 0.0622492 9.7875 -0.0394148 0.015979 0.0383495 0.23 0 pose: 0.42952034 5.16136 -1.16243 0 -0.00842639 -0.00484401 -0.765465 0.643404 uwb: 0.50027056 931.86 486.025 -imu_odom_: 1691062451.553953367 0.679953 -0.21069 10.2663 -0.0660464 -0.0351537 0.0585895 0.23 0 pose: 0.0 5.16136 -1.16243 0 -0.00842639 -0.00484401 -0.765465 0.643404 uwb: 0.0 931.86 486.025 -imu_odom_: 1691062451.571901934 0.354342 -0.287304 9.76355 -0.0596548 -0.0426106 0.0276969 0.17 -0.02 pose: 0.0 5.16136 -1.16243 0 -0.00842639 -0.00484401 -0.765465 0.643404 uwb: 0.0 931.86 486.025 -imu_odom_: 1691062451.588032751 0.658405 -0.289698 9.7444 -0.056459 0.0127832 0.036219 0.17 -0.02 pose: 0.44055866 5.16233 -1.17238 0 -0.0084925 -0.00583165 -0.76536 0.64352 uwb: 0.0 931.86 486.025 -imu_odom_: 1691062451.603764614 0.253785 -0.347159 9.89045 -0.0660464 -0.0117179 0.0585895 0.17 -0.02 pose: 0.0 5.16233 -1.17238 0 -0.0084925 -0.00583165 -0.76536 0.64352 uwb: 0.50163249 933.69 486.046 -imu_odom_: 1691062451.618809973 0.28491 -0.246603 9.64863 -0.0351537 0.0117179 0.0287621 0.17 0.02 pose: 0.49811247 5.16329 -1.18234 0 -0.00835177 -0.00350069 -0.765348 0.643553 uwb: 0.0 933.69 486.046 -imu_odom_: 1691062451.635836396 0.270545 -0.0646434 10.0269 -0.0479369 0.0138484 0.0458064 0.2 0 pose: 0.0 5.16329 -1.18234 0 -0.00835177 -0.00350069 -0.765348 0.643553 uwb: 0.0 933.69 486.046 -imu_odom_: 1691062451.660892065 0.275333 -0.531513 9.53371 -0.0798948 0.0617853 0.0415453 0.2 0 pose: 0.23015987 5.16329 -1.18234 0 -0.00607472 -0.00257369 -0.765398 0.643524 uwb: 0.49869574 937.796 486.077 -imu_odom_: 1691062451.686768973 0.536301 -0.335188 9.20571 -0.0447411 0.00426106 0.0436758 0.21 0.02 pose: 0.0 5.16329 -1.18234 0 -0.00607472 -0.00257369 -0.765398 0.643524 uwb: 0.0 937.796 486.077 -imu_odom_: 1691062451.712854399 0.586579 -0.258574 9.71328 -0.0479369 0.015979 0.0298274 0.18 0 pose: 0.42009183 5.1543 -1.19326 0 -0.0054542 0.00071251 -0.765354 0.643586 uwb: 0.49917694 937.426 486.785 -imu_odom_: 1691062451.738731016 -0.0023942 -0.351948 10.1442 -0.0735032 0.0234358 0.0703074 0.22 0.02 pose: 0.26048389 5.15527 -1.20321 0 -0.00730193 -0.000195182-0.765352 0.643571 uwb: 0.50058261 938.817 486.995 -imu_odom_: 1691062451.753737295 0.237026 -0.533907 10.1514 -0.0777643 0.04048 0.056459 0.22 0.02 pose: 0.0 5.15527 -1.20321 0 -0.00730193 -0.000195182-0.765352 0.643571 uwb: 0.0 938.817 486.995 -imu_odom_: 1691062451.770851792 0.162806 0.0335188 10.0916 -0.0628506 0.0308927 0.0383495 0.18 0 pose: 0.25986271 5.15527 -1.20321 0 -0.00711211 -0.00112763 -0.765337 0.64359 uwb: 0.0 938.817 486.995 -imu_odom_: 1691062451.787914669 0.438139 -0.373495 9.67976 -0.0756338 0.00958738 0.0607201 0.18 0 pose: 0.0 5.15527 -1.20321 0 -0.00711211 -0.00112763 -0.765337 0.64359 uwb: 0.0 938.817 486.995 -imu_odom_: 1691062451.803850092 0.282516 -0.306458 9.72525 -0.0351537 -0.00426106 0.0213053 0.18 0 pose: 0.40974469 5.15624 -1.21316 0 -0.00460603 0.00227931 -0.765083 0.643911 uwb: 0.0 938.817 486.995 -imu_odom_: 1691062451.819913250 0.416591 0.0502782 10.1801 -0.0415453 -0.015979 0.036219 0.24 0 pose: 0.0 5.15624 -1.21316 0 -0.00460603 0.00227931 -0.765083 0.643911 uwb: 0.0 938.817 486.995 -imu_odom_: 1691062451.836919842 0.454898 -0.366313 10.149 -0.072438 -0.0213053 0.0468716 0.24 0 pose: 0.0 5.15624 -1.21316 0 -0.00460603 0.00227931 -0.765083 0.643911 uwb: 0.0 938.817 486.995 -imu_odom_: 1691062451.852735404 0.464475 -0.162806 9.98143 -0.0500674 -0.0308927 0.0319579 0.18 0 pose: 0.75120929 5.15188 -1.22364 0 -0.00429176 0.00338393 -0.765035 0.643965 uwb: 0.100227051 939.743 487.146 -imu_odom_: 1691062451.876780564 0.703895 -0.289698 10.58 -0.0692422 -0.0255663 0.0543285 0.18 0 pose: 0.0 5.15188 -1.22364 0 -0.00429176 0.00338393 -0.765035 0.643965 uwb: 0.0 939.743 487.146 -imu_odom_: 1691062451.899728016 0.488417 -0.332794 9.98622 -0.0308927 -0.0191748 0.0255663 0.26 0 pose: 0.7893053 5.14727 -1.22409 0 -0.00401259 0.00258951 -0.765058 0.643943 uwb: 0.49815913 940.197 487.14 -imu_odom_: 1691062451.925772613 0.629675 -0.378284 9.69412 -0.052198 -0.0266316 0.056459 0.24 0 pose: 0.0 5.14727 -1.22409 0 -0.00401259 0.00258951 -0.765058 0.643943 uwb: 0.0 940.197 487.14 -imu_odom_: 1691062451.951932406 0.481235 -0.167594 10.1682 -0.0330232 -0.00213053 0.0308927 0.18 -0.02 pose: 0.80959718 5.14891 -1.24089 0 -0.00988475 0.000513454 -0.764901 0.644072 uwb: 0.49751172 939.821 487.775 -imu_odom_: 1691062451.977711325 0.162806 -0.418985 10.0389 -0.0500674 -0.0255663 0.052198 0.22 0 pose: 0.0 5.14891 -1.24089 0 -0.00988475 0.000513454 -0.764901 0.644072 uwb: 0.0 939.821 487.775 -imu_odom_: 1691062452.693774 0.665588 -0.124498 9.8282 -0.0266316 -0.00958738 0.0340885 0.22 0 pose: 0.33107371 5.14922 -1.244 0 -0.00708956 -0.000456666-0.764967 0.64403 uwb: 0.50124753 940.291 487.91 -imu_odom_: 1691062452.16721067 0.706289 -0.356736 9.90481 -0.0692422 0.00852212 0.0745685 0.22 0 pose: 0.0 5.14922 -1.244 0 -0.00708956 -0.000456666-0.764967 0.64403 uwb: 0.0 940.291 487.91 -imu_odom_: 1691062452.39725690 0.670376 -0.141258 9.78989 -0.0458064 -0.052198 0.0298274 0.18 0 pose: 0.48866650 5.1502 -1.25395 0 -0.00694298 -0.00171375 -0.764853 0.644166 uwb: 0.49853550 938.574 488.704 -imu_odom_: 1691062452.65731512 0.627281 -0.306458 9.94791 -0.0458064 0.015979 0.052198 0.18 0 pose: 0.31979056 5.14435 -1.26107 0 -0.0082287 -0.00460677 -0.764819 0.644176 uwb: 0.0 938.574 488.704 -imu_odom_: 1691062452.90842020 0.97444 0.023942 10.2041 -0.0276969 -0.0127832 0.0308927 0.18 0 pose: 0.0 5.14435 -1.26107 0 -0.0082287 -0.00460677 -0.764819 0.644176 uwb: 0.50051576 940.805 488.418 -imu_odom_: 1691062452.104960283 0.110133 -0.282516 9.26077 -0.0745685 -0.0213053 0.0671117 0.18 0 pose: 0.0 5.14435 -1.26107 0 -0.0082287 -0.00460677 -0.764819 0.644176 uwb: 0.0 940.805 488.418 -imu_odom_: 1691062452.129783531 -0.059855 -0.342371 9.65342 -0.0639159 -0.0447411 0.036219 0.18 0 pose: 0.9010305 5.14123 -1.26488 0 -0.00900913 -0.0043708 -0.764774 0.64422 uwb: 0.0 940.805 488.418 -imu_odom_: 1691062452.154782927 0.385466 -0.201113 10.319 -0.0692422 -0.0660464 0.0617853 0.24 0 pose: 0.48122130 5.14221 -1.27483 0 -0.0103604 -0.00631437 -0.76471 0.644261 uwb: 0.49994416 943.101 488.724 -imu_odom_: 1691062452.177896037 0.301669 -0.0023942 9.84017 -0.0585895 -0.0308927 0.0308927 0.24 0 pose: 0.0 5.14221 -1.27483 0 -0.0103604 -0.00631437 -0.76471 0.644261 uwb: 0.0 943.101 488.724 -imu_odom_: 1691062452.193721813 0.529119 -0.25618 9.79947 -0.072438 -0.0149137 0.0596548 0.2 0 pose: 0.39931898 5.1432 -1.28478 0 -0.00821368 -0.00396473 -0.764633 0.644401 uwb: 0.50006081 943.558 488.768 -imu_odom_: 1691062452.219752132 0.339977 -0.270545 10.0389 -0.0511327 -0.0191748 0.036219 0.2 0 pose: 0.0 5.1432 -1.28478 0 -0.00821368 -0.00396473 -0.764633 0.644401 uwb: 0.0 943.558 488.768 -imu_odom_: 1691062452.244821811 0.713472 -0.153229 9.73961 -0.0681769 -0.0330232 0.056459 0.18 0.02 pose: 0.49128265 5.1432 -1.28478 0 -0.00566755 -0.00328358 -0.764536 0.644548 uwb: 0.50058284 949.388 488.465 -imu_odom_: 1691062452.268821487 0.718261 -0.143652 9.63187 -0.0308927 -0.0287621 0.0181095 0.18 0.02 pose: 0.0 5.1432 -1.28478 0 -0.00566755 -0.00328358 -0.764536 0.644548 uwb: 0.0 949.388 488.465 -imu_odom_: 1691062452.284744086 0.351948 -0.143652 9.76834 -0.056459 -0.0106526 0.0553937 0.18 0.02 pose: 0.41792227 5.13424 -1.29573 0 -0.00503748 -0.00178837 -0.76447 0.644637 uwb: 0.0 949.388 488.465 -imu_odom_: 1691062452.311674677 0.1652 -0.277727 9.39006 -0.0479369 -0.0191748 0.0415453 0.18 0.02 pose: 0.0 5.13424 -1.29573 0 -0.00503748 -0.00178837 -0.76447 0.644637 uwb: 0.49880096 953.423 488.247 -imu_odom_: 1691062452.336733274 0.754174 -0.28491 10.0676 -0.0681769 -0.0372843 0.0490022 0.18 0 pose: 0.47999644 5.13523 -1.30568 0 -0.00638611 -0.00577482 -0.764501 0.644566 uwb: 0.0 953.423 488.247 -imu_odom_: 1691062452.361805869 0.47884 -0.244209 10.1825 -0.04048 -0.0351537 0.0223706 0.18 0 pose: 0.0 5.13523 -1.30568 0 -0.00638611 -0.00577482 -0.764501 0.644566 uwb: 0.50094737 956.149 488.501 -imu_odom_: 1691062452.377945151 0.387861 -0.169988 9.92397 -0.0607201 -0.0383495 0.0532632 0.18 0.02 pose: 0.44045095 5.13623 -1.31563 0 -0.00485356 -0.00391123 -0.764425 0.644682 uwb: 0.0 956.149 488.501 -imu_odom_: 1691062452.394813517 0.562637 -0.368707 9.70131 -0.0628506 0.0191748 0.0330232 0.18 0.02 pose: 0.0 5.13623 -1.31563 0 -0.00485356 -0.00391123 -0.764425 0.644682 uwb: 0.50009873 962.376 487.747 -imu_odom_: 1691062452.419716089 0.648829 -0.349553 9.67976 -0.0447411 -0.00106526 0.036219 0.18 0 pose: 0.48971367 5.13722 -1.32558 0 -0.00467846 -0.00305069 -0.76448 0.644623 uwb: 0.0 962.376 487.747 -imu_odom_: 1691062452.435770215 0.265756 -0.232238 9.88566 -0.0745685 -0.0223706 0.0479369 0.18 0 pose: 0.0 5.13722 -1.32558 0 -0.00467846 -0.00305069 -0.76448 0.644623 uwb: 0.0 962.376 487.747 -imu_odom_: 1691062452.460774276 0.418985 -0.232238 9.98622 -0.0532632 -0.0383495 0.0330232 0.18 0 pose: 0.67043594 5.12826 -1.33652 0 -0.00653259 -0.00145585 -0.764446 0.644653 uwb: 0.50009289 962.371 487.676 -imu_odom_: 1691062452.486700190 0.73502 -0.356736 9.74679 -0.0628506 0.0255663 0.0266316 0.18 0 pose: 0.7977047 5.12826 -1.33652 0 -0.00586674 -0.00131828 -0.764465 0.644637 uwb: 0.0 962.371 487.676 -imu_odom_: 1691062452.511652633 0.68953 -0.292093 9.75877 -0.0415453 -0.0181095 0.0340885 0.19 0 pose: 0.42952928 5.12926 -1.34647 0 -0.00667835 -0.0015145 -0.764606 0.644462 uwb: 0.50040203 965.082 487.861 -imu_odom_: 1691062452.527719298 0.538695 -0.45011 9.9527 -0.0575243 -0.0127832 0.0383495 0.19 0 pose: 0.0 5.12926 -1.34647 0 -0.00667835 -0.0015145 -0.764606 0.644462 uwb: 0.0 965.082 487.861 -imu_odom_: 1691062452.544705775 0.806846 -0.131681 9.94312 -0.0191748 -0.0149137 0.0298274 0.18 -0.02 pose: 0.0 5.12926 -1.34647 0 -0.00667835 -0.0015145 -0.764606 0.644462 uwb: 0.49991791 966.448 488.194 -imu_odom_: 1691062452.570644813 0.52433 -0.0957681 10.0485 -0.0713727 0.0191748 0.0543285 0.18 -0.02 pose: 0.49092394 5.13025 -1.35642 0 -0.00970387 -0.00271162 -0.764658 0.644358 uwb: 0.0 966.448 488.194 -imu_odom_: 1691062452.595638375 0.782904 -0.1652 9.83059 -0.0458064 -0.0245011 0.0319579 0.19 0.02 pose: 0.34852229 5.13097 -1.36368 0 -0.00744644 -0.00459104 -0.764592 0.644456 uwb: 0.49924424 968.254 488.361 -imu_odom_: 1691062452.621694066 0.782904 -0.395043 9.80186 -0.052198 0.0213053 0.0372843 0.19 0.02 pose: 0.7014365 5.13123 -1.36638 0 -0.00783515 -0.00526754 -0.764606 0.644429 uwb: 0.0 968.254 488.361 -imu_odom_: 1691062452.644670693 0.0957681 0.0335188 9.52892 -0.0745685 0.00426106 0.0596548 0.19 0.02 pose: 0.44034888 5.12477 -1.37426 0 -0.0111357 -0.00650151 -0.76463 0.644341 uwb: 0.50042827 969.602 488.397 -imu_odom_: 1691062452.671775681 0.550666 -0.497994 9.60554 -0.0681769 -0.0276969 0.0255663 0.19 -0.02 pose: 0.0 5.12477 -1.37426 0 -0.0111357 -0.00650151 -0.76463 0.644341 uwb: 0.0 969.602 488.397 -imu_odom_: 1691062452.687776729 0.914585 -0.378284 9.91918 -0.04048 -0.0106526 0.0330232 0.19 -0.02 pose: 0.30993919 5.12227 -1.37731 0 -0.00944357 -0.00509784 -0.76454 0.644487 uwb: 0.49894677 966.911 488.399 -imu_odom_: 1691062452.714784603 0.488417 -0.0885855 9.88566 -0.0308927 -0.0138484 0.036219 0.23 0 pose: 0.0 5.12227 -1.37731 0 -0.00944357 -0.00509784 -0.76454 0.644487 uwb: 0.0 966.911 488.399 -imu_odom_: 1691062452.740646358 0.1652 -0.260968 9.59117 -0.0639159 0.00958738 0.0607201 0.23 0 pose: 0.42048282 5.12326 -1.38726 0 -0.0113122 -0.00454753 -0.764645 0.644336 uwb: 0.49862889 968.247 488.244 -imu_odom_: 1691062452.756642448 0.459687 -0.31364 9.47386 -0.0617853 -0.0149137 0.0340885 0.23 -0.02 pose: 0.0 5.12326 -1.38726 0 -0.0113122 -0.00454753 -0.764645 0.644336 uwb: 0.0 968.247 488.244 -imu_odom_: 1691062452.782657894 0.577003 -0.363919 10.3932 -0.0436758 0.0500674 0.0394148 0.23 -0.02 pose: 0.52922998 5.12425 -1.39722 0 -0.007138 -0.00273798 -0.764539 0.644532 uwb: 0.0 968.247 488.244 -imu_odom_: 1691062452.807601587 0.481235 -0.0071826110.738 -0.0372843 -0.0106526 0.0266316 0.23 0 pose: 0.34998629 5.12425 -1.39722 0 -0.00866286 -0.000432352-0.76454 0.644518 uwb: 0.50130317 969.587 488.139 -imu_odom_: 1691062452.829611157 0.258574 -0.253785 9.92397 -0.0713727 -0.00213053 0.0692422 0.23 0 pose: 0.0 5.12425 -1.39722 0 -0.00866286 -0.000432352-0.76454 0.644518 uwb: 0.0 969.587 488.139 -imu_odom_: 1691062452.854734205 0.548272 -0.208296 9.73243 -0.0671117 -0.0692422 0.0426106 0.19 0 pose: 0.6967412 5.12425 -1.39722 0 -0.00808845 -0.000921912-0.764574 0.644484 uwb: 0.49919175 971.832 488.269 -imu_odom_: 1691062452.879627445 0.438139 -0.402226 10.4076 -0.072438 -0.02024 0.0490022 0.19 0 pose: 0.0 5.12425 -1.39722 0 -0.00808845 -0.000921912-0.764574 0.644484 uwb: 0.0 971.832 488.269 -imu_odom_: 1691062452.893653260 0.299275 -0.203507 9.83538 -0.0447411 0.00106526 0.0191748 0.18 0.02 pose: 0.46997300 5.11529 -1.40816 0 -0.00525379 -0.00149752 -0.764451 0.644659 uwb: 0.50046910 969.622 488.772 -imu_odom_: 1691062452.917663435 0.742203 -0.416591 9.64384 -0.0660464 -0.00958738 0.0426106 0.18 0.02 pose: 0.0 5.11529 -1.40816 0 -0.00525379 -0.00149752 -0.764451 0.644659 uwb: 0.0 969.622 488.772 -imu_odom_: 1691062452.944593152 0.447716 -0.1652 9.43794 -0.0468716 0.0149137 0.0234358 0.23 0 pose: 0.48987406 5.11628 -1.41811 0 -0.0060143 -0.00089317 -0.764389 0.644726 uwb: 0.49932590 970.073 488.84 -imu_odom_: 1691062452.960645235 0.608127 -0.320823 10.2256 -0.0681769 -0.0213053 0.0447411 0.23 0 pose: 0.0 5.11628 -1.41811 0 -0.0060143 -0.00089317 -0.764389 0.644726 uwb: 0.0 970.073 488.84 -imu_odom_: 1691062452.976584457 0.639252 -0.332794 9.48822 -0.0458064 0.0170442 0.0298274 0.25 -0.02 pose: 0.39994600 5.11728 -1.42806 0 -0.00687733 -0.00123295 -0.764457 0.644637 uwb: 0.0 970.073 488.84 -imu_odom_: 1691062453.2585029 0.299275 -0.138864 9.26317 -0.0639159 -0.0458064 0.0543285 0.25 -0.02 pose: 0.0 5.11728 -1.42806 0 -0.00687733 -0.00123295 -0.764457 0.644637 uwb: 0.50011330 970.972 488.905 -imu_odom_: 1691062453.18736275 -0.0814029 -0.260968 10.1035 -0.0458064 0.0181095 0.0500674 0.23 -0.02 pose: 0.41984414 5.11827 -1.43801 0 -0.00725657 -0.00208882 -0.764551 0.644519 uwb: 0.0 970.972 488.905 -imu_odom_: 1691062453.44737734 0.328006 -0.112527 10.319 -0.036219 -0.0191748 0.0426106 0.23 -0.02 pose: 0.0 5.11827 -1.43801 0 -0.00725657 -0.00208882 -0.764551 0.644519 uwb: 0.50007847 970.093 489.191 -imu_odom_: 1691062453.71724623 -0.0407014 -0.225055 10.003 -0.036219 0.00852212 0.0340885 0.21 0.02 pose: 0.77148708 5.10932 -1.44895 0 -0.00193491 -0.00136943 -0.764394 0.644745 uwb: 0.0 970.093 489.191 -imu_odom_: 1691062453.97625760 0.474052 -0.40462 9.77553 -0.072438 0.0213053 0.0735032 0.21 0.02 pose: 0.0 5.10932 -1.44895 0 -0.00193491 -0.00136943 -0.764394 0.644745 uwb: 0.49965275 973.679 489.3 -imu_odom_: 1691062453.124710055 0.275333 -0.114922 10.2544 -0.0394148 0.0127832 0.0330232 0.23 -0.02 pose: 0.7004162 5.10932 -1.44895 0 -0.00132806 -0.000933321-0.764407 0.644731 uwb: 0.0 973.679 489.3 -imu_odom_: 1691062453.150603318 -0.0909797 -0.414197 10.2113 -0.0628506 -0.00532632 0.052198 0.18 0.02 pose: 0.53878413 5.11031 -1.4589 0 -0.0009152090.00173433 -0.764175 0.645006 uwb: 0.50146963 972.351 489.582 -imu_odom_: 1691062453.177717359 0.445322 -0.1652 10.0796 -0.056459 -0.0138484 0.0500674 0.18 0.02 pose: 0.0 5.11031 -1.4589 0 -0.0009152090.00173433 -0.764175 0.645006 uwb: 0.0 972.351 489.582 -imu_odom_: 1691062453.193588345 0.483629 -0.129287 10.0556 -0.0681769 0 0.0575243 0.2 0 pose: 0.52143194 5.11131 -1.46885 0 0.00204098 0.00309541 -0.764081 0.64511 uwb: 0.49971691 974.586 489.56 -imu_odom_: 1691062453.220640560 0.390255 -0.0766145 9.71806 -0.0596548 -0.0351537 0.0394148 0.2 0 pose: 0.0 5.11131 -1.46885 0 0.00204098 0.00309541 -0.764081 0.64511 uwb: 0.0 974.586 489.56 -imu_odom_: 1691062453.236559957 0.78051 -0.222661 9.96227 -0.0820254 -0.0298274 0.056459 0.18 0.02 pose: 0.27851582 5.11232 -1.4788 0 0.00113758 0.00042243 -0.76397 0.64525 uwb: 0.0 974.586 489.56 -imu_odom_: 1691062453.263553845 0.725443 -0.179565 10.1682 -0.0639159 -0.00745685 0.0394148 0.18 0.02 pose: 0.50944872 5.10291 -1.48508 0 0.000684456 -0.00329114 -0.763831 0.645408 uwb: 0.49918614 974.594 489.724 -imu_odom_: 1691062453.289584468 0.521936 -0.134075 10.0126 -0.0820254 -0.00532632 0.0553937 0.18 -0.02 pose: 0.7023118 5.10338 -1.48976 0 8.30414e-05 -0.00368299 -0.763829 0.645408 uwb: 0.49960900 971.492 490.17 -imu_odom_: 1691062453.316733213 0.500388 -0.347159 9.4164 -0.0671117 -0.0138484 0.0500674 0.18 -0.02 pose: 0.0 5.10338 -1.48976 0 8.30414e-05 -0.00368299 -0.763829 0.645408 uwb: 0.0 971.492 490.17 -imu_odom_: 1691062453.341700248 0.579397 -0.553061 9.7875 -0.0607201 0.052198 0.0319579 0.18 0 pose: 0.54071183 5.1044 -1.49971 0 -0.00277374 -0.00644191 -0.763652 0.64559 uwb: 0.50034684 970.618 490.526 -imu_odom_: 1691062453.358721146 0.486023 -0.220267 9.82341 -0.0458064 0.00532632 0.0330232 0.18 0 pose: 0.0 5.1044 -1.49971 0 -0.00277374 -0.00644191 -0.763652 0.64559 uwb: 0.0 970.618 490.526 -imu_odom_: 1691062453.374754572 0.225055 -0.162806 9.72046 -0.0649811 0.00213053 0.0703074 0.18 -0.02 pose: 0.26945769 5.1044 -1.49971 0 -0.00444118 -0.00416908 -0.763602 0.645659 uwb: 0.0 970.618 490.526 -imu_odom_: 1691062453.401689258 0.246603 -0.220267 9.46907 -0.0575243 0.00213053 0.0383495 0.18 -0.02 pose: 0.50154545 5.10542 -1.50965 0 -0.00217447 -0.00172898 -0.763528 0.645769 uwb: 0.49994439 970.206 491.091 -imu_odom_: 1691062453.418747776 0.794875 -0.186748 10.4363 -0.0649811 0.0223706 0.052198 0.18 -0.02 pose: 0.7952846 5.10542 -1.50965 0 -0.00156273 -0.00118 -0.763533 0.645766 uwb: 0.0 970.206 491.091 -imu_odom_: 1691062453.434684964 -0.00957681-0.124498 9.85932 -0.0372843 0.0351537 0.0234358 0.18 -0.02 pose: 0.0 5.10542 -1.50965 0 -0.00156273 -0.00118 -0.763533 0.645766 uwb: 0.0 970.206 491.091 -imu_odom_: 1691062453.452560930 0.126893 -0.189142 9.62469 -0.056459 -0.02024 0.0500674 0.18 -0.02 pose: 0.51977546 5.09649 -1.52062 0 0.000542513 -1.12154e-05-0.763555 0.645742 uwb: 0.49982189 970.242 491.701 -imu_odom_: 1691062453.468691179 0.826 -0.162806 10.1993 -0.056459 -0.00958738 0.0383495 0.18 0 pose: 0.0 5.09649 -1.52062 0 0.000542513 -1.12154e-05-0.763555 0.645742 uwb: 0.0 970.242 491.701 -imu_odom_: 1691062453.485686704 0.306458 -0.220267 9.55047 -0.0276969 0.0149137 0.0234358 0.18 0 pose: 0.0 5.09649 -1.52062 0 0.000542513 -1.12154e-05-0.763555 0.645742 uwb: 0.0 970.242 491.701 -imu_odom_: 1691062453.510617285 0.0191536 -0.361524 9.76355 -0.076699 0.0181095 0.052198 0.2 0 pose: 0.25017779 5.09752 -1.53057 0 0.00135224 0.00044383 -0.763497 0.64581 uwb: 0.50036143 968.917 491.898 -imu_odom_: 1691062453.537610590 0.203507 -0.196325 9.75158 -0.0511327 -0.0426106 0.0319579 0.23 0.02 pose: 0.33874689 5.09752 -1.53057 0 0.00238951 0.00187671 -0.763555 0.645735 uwb: 0.0 968.917 491.898 -imu_odom_: 1691062453.563546140 0.907402 -0.418985 10.2089 -0.0735032 -0.0117179 0.0330232 0.18 -0.02 pose: 0.44033158 5.09854 -1.54052 0 0.00526723 0.00435918 -0.763535 0.64573 uwb: 0.0 968.917 491.898 -imu_odom_: 1691062453.590543528 0.320823 -0.0694318 9.93115 -0.0372843 0.00213053 0.036219 0.23 0.02 pose: 0.25935550 5.09927 -1.54766 0 0.00264051 0.00348458 -0.763603 0.645671 uwb: 0.99887096 972.907 491.575 -imu_odom_: 1691062453.606590369 0.653617 -0.445322 9.96706 -0.0468716 -0.00639159 0.0383495 0.23 0.02 pose: 0.0 5.09927 -1.54766 0 0.00264051 0.00348458 -0.763603 0.645671 uwb: 0.0 972.907 491.575 -imu_odom_: 1691062453.633832437 0.488417 -0.0191536 9.80904 -0.0383495 -0.0181095 0.0500674 0.23 0 pose: 0.43044229 5.08961 -1.55149 0 0.00301662 0.00117079 -0.763637 0.645638 uwb: 0.0 972.907 491.575 -imu_odom_: 1691062453.659669123 0.311246 -0.0861913 10.4794 -0.0511327 -0.0394148 0.0394148 0.23 0 pose: 0.0 5.08961 -1.55149 0 0.00301662 0.00117079 -0.763637 0.645638 uwb: 0.50066764 972.032 491.881 -imu_odom_: 1691062453.686654554 0.488417 -0.0957681 9.76595 -0.0553937 0.00852212 0.052198 0.25 0 pose: 0.53078754 5.09063 -1.56144 0 0.00532978 -0.00219809 -0.763537 0.645739 uwb: 0.0 972.032 491.881 -imu_odom_: 1691062453.712527403 0.658405 -0.0766145 9.73004 -0.0479369 0.0223706 0.036219 0.25 0 pose: 0.0 5.09063 -1.56144 0 0.00532978 -0.00219809 -0.763537 0.645739 uwb: 0.50001438 972.04 492.022 -imu_odom_: 1691062453.729529052 0.610521 -0.387861 9.62948 -0.0681769 -0.00745685 0.0553937 0.23 0 pose: 0.34918737 5.09166 -1.57138 0 0.00323368 -0.00465192 -0.763422 0.645875 uwb: 0.0 972.04 492.022 -imu_odom_: 1691062453.755621793 0.40462 -0.047884 9.72046 -0.0415453 0.00319579 0.0245011 0.23 0 pose: 0.0 5.09166 -1.57138 0 0.00323368 -0.00465192 -0.763422 0.645875 uwb: 0.50006395 974.721 492.234 -imu_odom_: 1691062453.780649779 0.452504 -0.241814 9.92157 -0.0692422 -0.0617853 0.0415453 0.2 -0.02 pose: 0.42998442 5.09268 -1.58133 0 0.00137726 -0.00548379 -0.763384 0.64592 uwb: 0.0 974.721 492.234 -imu_odom_: 1691062453.803493431 0.122104 -0.0933739 10.058 -0.0319579 -0.00213053 0.0298274 0.18 0 pose: 0.0 5.09268 -1.58133 0 0.00137726 -0.00548379 -0.763384 0.64592 uwb: 0.50054223 977.839 492.371 -imu_odom_: 1691062453.828584119 0.418985 -0.141258 10.4148 -0.0809601 -0.0617853 0.0585895 0.18 0 pose: 0.49067044 5.09268 -1.58133 0 0.00127465 -0.00440875 -0.763486 0.645808 uwb: 0.0 977.839 492.371 -imu_odom_: 1691062453.845612598 0.521936 -0.0383072 9.28711 -0.0511327 -0.056459 0.0319579 0.18 0 pose: 0.0 5.09268 -1.58133 0 0.00127465 -0.00440875 -0.763486 0.645808 uwb: 0.49864662 979.623 492.531 -imu_odom_: 1691062453.870634169 0.342371 -0.280122 9.31344 -0.0735032 0.0106526 0.0468716 0.21 0 pose: 0.48902563 5.08376 -1.5923 0 -0.000293518-0.00380067 -0.763408 0.645906 uwb: 0.0 979.623 492.531 -imu_odom_: 1691062453.897650804 0.328006 -0.0694318 10.1418 -0.0500674 -0.00319579 0.0426106 0.23 -0.02 pose: 0.35078260 5.08479 -1.60225 0 -0.000171894-0.00218524 -0.763378 0.645948 uwb: 0.50117216 977.855 492.676 -imu_odom_: 1691062453.922485438 0.416591 -0.560243 10.1634 -0.0788296 0.0394148 0.0596548 0.23 -0.02 pose: 0.0 5.08479 -1.60225 0 -0.000171894-0.00218524 -0.763378 0.645948 uwb: 0.0 977.855 492.676 -imu_odom_: 1691062453.939548914 0.23942 -0.0047884 10.0126 -0.0617853 0.0298274 0.0372843 0.23 0.02 pose: 0.6884592 5.08479 -1.60225 0 0.000526262 -0.00227863 -0.763372 0.645955 uwb: 0.50056265 980.074 492.772 -imu_odom_: 1691062453.964592649 0.248997 -0.289698 10.1035 -0.0660464 0.0287621 0.0415453 0.23 0.02 pose: 0.0 5.08479 -1.60225 0 0.000526262 -0.00227863 -0.763372 0.645955 uwb: 0.0 980.074 492.772 -imu_odom_: 1691062453.991536959 -0.0143652 -0.191536 9.63427 -0.0490022 -0.0213053 0.0543285 0.21 0 pose: 0.51983670 5.08581 -1.6122 0 0.00186351 -0.000213938-0.763199 0.646161 uwb: 0.49858537 976.084 492.874 -imu_odom_: 1691062454.16624736 0.232238 -0.215478 9.48104 -0.0532632 -0.0223706 0.0351537 0.21 0 pose: 0.0 5.08581 -1.6122 0 0.00186351 -0.000213938-0.763199 0.646161 uwb: 0.0 976.084 492.874 -imu_odom_: 1691062454.33638933 0.766145 -0.311246 9.72046 -0.0575243 -0.0127832 0.0436758 0.23 0.02 pose: 0.42002223 5.08685 -1.62214 0 0.00386251 0.00294316 -0.763154 0.646199 uwb: 0.0 976.084 492.874 -imu_odom_: 1691062454.49646120 -0.0742203 -0.507571 9.58399 -0.0703074 -0.02024 0.0532632 0.23 0.02 pose: 0.0 5.08685 -1.62214 0 0.00386251 0.00294316 -0.763154 0.646199 uwb: 0.50063571 978.302 492.821 -imu_odom_: 1691062454.76749966 0.639252 -0.253785 9.79468 -0.036219 -0.00852212 0.0383495 0.25 0.02 pose: 0.52207946 5.07794 -1.63312 0 0.00614532 0.00541186 -0.763072 0.646262 uwb: 0.0 978.302 492.821 -imu_odom_: 1691062454.101476414 0.265756 -0.351948 10.2137 -0.0447411 0.0255663 0.0500674 0.25 0.02 pose: 0.0 5.07794 -1.63312 0 0.00614532 0.00541186 -0.763072 0.646262 uwb: 0.49926802 981.403 492.698 -imu_odom_: 1691062454.128630421 0.328006 0.00957681 9.84256 -0.0458064 -0.02024 0.0447411 0.23 0 pose: 0.77763814 5.07898 -1.64307 0 0.0025995 0.00689235 -0.762938 0.64643 uwb: 0.0 981.403 492.698 -imu_odom_: 1691062454.153519018 0.215478 -0.229843 9.67018 -0.0436758 0.00426106 0.0308927 0.18 0 pose: 0.7066283 5.07898 -1.64307 0 0.002938 0.00622173 -0.762926 0.646449 uwb: 0.49951882 979.195 492.948 -imu_odom_: 1691062454.179523988 0.325611 -0.447716 9.40442 -0.0713727 0.0255663 0.0735032 0.23 0 pose: 0.44976321 5.08002 -1.65301 0 0.00596462 0.00589623 -0.762946 0.646408 uwb: 0.0 979.195 492.948 -imu_odom_: 1691062454.201481667 0.68953 -0.122104 9.94791 -0.0383495 -0.0255663 0.0340885 0.23 0 pose: 0.0 5.08002 -1.65301 0 0.00596462 0.00589623 -0.762946 0.646408 uwb: 0.49988337 980.081 492.913 -imu_odom_: 1691062454.218491199 0.208296 -0.131681 9.96227 -0.0426106 -0.0394148 0.0490022 0.2 0 pose: 0.32115570 5.07111 -1.664 0 0.00356175 0.00700542 -0.762688 0.646719 uwb: 0.0 980.081 492.913 -imu_odom_: 1691062454.235619716 0.526724 -0.31364 9.72046 -0.0500674 -0.0383495 0.0372843 0.2 0 pose: 0.0 5.07111 -1.664 0 0.00356175 0.00700542 -0.762688 0.646719 uwb: 0.0 980.081 492.913 -imu_odom_: 1691062454.260590846 0.0287304 -0.208296 9.43315 -0.0575243 -0.00213053 0.0607201 0.2 0.02 pose: 0.49985128 5.07216 -1.67395 0 0.00241045 0.00381167 -0.76269 0.646749 uwb: 0.0 980.081 492.913 -imu_odom_: 1691062454.286441833 0.0766145 -0.304064 9.66779 -0.056459 -0.0127832 0.0415453 0.2 0.02 pose: 0.6890720 5.07216 -1.67395 0 0.00298164 0.00420926 -0.762639 0.646803 uwb: 0.0 980.081 492.913 -imu_odom_: 1691062454.311509493 0.174777 -0.25618 10.1107 -0.0649811 -0.036219 0.0575243 0.19 0.02 pose: 0.43931397 5.07293 -1.6812 0 0.00570051 0.00742096 -0.762476 0.646949 uwb: 0.99976964 979.202 493.136 -imu_odom_: 1691062454.327450771 1.09894 -0.447716 9.8689 -0.0596548 -0.0287621 0.0308927 0.19 0.02 pose: 0.0 5.07293 -1.6812 0 0.00570051 0.00742096 -0.762476 0.646949 uwb: 0.0 979.202 493.136 -imu_odom_: 1691062454.343438418 0.299275 0.0143652 9.8282 -0.0479369 0.0223706 0.0436758 0.18 0 pose: 0.0 5.07293 -1.6812 0 0.00570051 0.00742096 -0.762476 0.646949 uwb: 0.49990962 976.981 493.068 -imu_odom_: 1691062454.369495007 0.476446 -0.502782 9.44513 -0.0894822 0.0340885 0.0500674 0.18 0 pose: 0.48010186 5.07427 -1.69384 0 0.00595533 0.00750344 -0.762361 0.647081 uwb: 0.0 976.981 493.068 -imu_odom_: 1691062454.395422986 0.272939 -0.246603 9.84496 -0.0553937 -0.0308927 0.0511327 0.19 0 pose: 0.35042988 5.06711 -1.6946 0 0.00394658 0.00772799 -0.762273 0.647198 uwb: 0.50016625 984.914 492.44 -imu_odom_: 1691062454.421493283 0.179565 -0.184354 9.9527 -0.0351537 -0.0308927 0.0266316 0.19 0 pose: 0.6989583 5.06433 -1.69489 0 0.00390504 0.00696814 -0.762249 0.647235 uwb: 0.0 984.914 492.44 -imu_odom_: 1691062454.447517792 0.641646 -0.356736 9.73243 -0.0735032 -0.0106526 0.0639159 0.19 0.02 pose: 0.45008693 5.06539 -1.70484 0 0.00624569 0.00503808 -0.762276 0.647203 uwb: 0.50003501 984.02 492.233 -imu_odom_: 1691062454.472490671 0.459687 -0.114922 10.0963 -0.052198 0.015979 0.0458064 0.23 0 pose: 0.0 5.06539 -1.70484 0 0.00624569 0.00503808 -0.762276 0.647203 uwb: 0.0 984.02 492.233 -imu_odom_: 1691062454.486423468 0.387861 -0.0263362 9.79707 -0.0639159 0 0.0575243 0.23 0 pose: 0.33015842 5.06645 -1.71478 0 0.00347204 0.00363285 -0.762074 0.647471 uwb: 0.0 984.02 492.233 -imu_odom_: 1691062454.511560245 0.246603 -0.354342 9.6606 -0.0458064 -0.00106526 0.0276969 0.23 0 pose: 0.0 5.06645 -1.71478 0 0.00347204 0.00363285 -0.762074 0.647471 uwb: 0.49961215 983.123 491.956 -imu_odom_: 1691062454.528417835 0.452504 -0.131681 10.0006 -0.0553937 -0.015979 0.052198 0.18 0 pose: 0.38978584 5.06752 -1.72472 0 0.00358983 0.00143513 -0.761983 0.647585 uwb: 0.0 983.123 491.956 -imu_odom_: 1691062454.553443500 0.466869 -0.174777 9.7444 -0.0479369 0.00426106 0.0287621 0.18 0 pose: 0.0 5.06752 -1.72472 0 0.00358983 0.00143513 -0.761983 0.647585 uwb: 0.50059203 985.339 491.817 -imu_odom_: 1691062454.580473271 0.308852 -0.19393 9.53611 -0.072438 0.0127832 0.0532632 0.2 0 pose: 0.42960258 5.06752 -1.72472 0 0.00227238 0.000834218 -0.762017 0.647553 uwb: 0.0 985.339 491.817 -imu_odom_: 1691062454.606541234 0.184354 -0.272939 10.1059 -0.0500674 -0.0298274 0.0330232 0.19 0.02 pose: 0.44025304 5.06149 -1.73543 0 0.00336471 0.00163374 -0.761954 0.64762 uwb: 0.49934676 984.013 492.045 -imu_odom_: 1691062454.633408565 0.957681 -0.31364 10.1682 -0.0756338 -0.0149137 0.0308927 0.19 0.02 pose: 0.0 5.06149 -1.73543 0 0.00336471 0.00163374 -0.761954 0.64762 uwb: 0.0 984.013 492.045 -imu_odom_: 1691062454.649401170 0.600945 0.0407014 9.8282 -0.0394148 0.0245011 0.0181095 0.19 0.02 pose: 0.7947599 5.05865 -1.73574 0 0.00359774 0.00229039 -0.761971 0.647597 uwb: 0.50057162 982.683 492.112 -imu_odom_: 1691062454.676408193 0.383072 -0.42138 10.0987 -0.056459 -0.0245011 0.04048 0.19 0.02 pose: 0.0 5.05865 -1.73574 0 0.00359774 0.00229039 -0.761971 0.647597 uwb: 0.0 982.683 492.112 -imu_odom_: 1691062454.702450201 0.368707 -0.0502782 10.0796 -0.0415453 0.00213053 0.0479369 0.19 -0.02 pose: 0.52992746 5.05972 -1.74568 0 0.00166248 0.00169154 -0.762149 0.647398 uwb: 0.49927677 984.909 492.253 -imu_odom_: 1691062454.729391315 0.610521 -0.117316 10.0485 -0.052198 -0.00852212 0.0340885 0.19 -0.02 pose: 0.0 5.05972 -1.74568 0 0.00166248 0.00169154 -0.762149 0.647398 uwb: 0.0 984.909 492.253 -imu_odom_: 1691062454.755452280 0.47884 -0.0885855 9.79228 -0.0639159 0.0394148 0.0543285 0.19 0.02 pose: 0.43016543 5.06078 -1.75562 0 0.000210943 0.00203339 -0.762177 0.647365 uwb: 0.50082242 985.801 492.391 -imu_odom_: 1691062454.782431306 0.4956 -0.124498 9.99579 -0.0436758 0.0213053 0.04048 0.22 -0.02 pose: 0.52990122 5.06185 -1.76556 0 0.000448537 -0.0024276 -0.762134 0.647414 uwb: 0.0 985.801 492.391 -imu_odom_: 1691062454.798390956 0.514753 -0.316035 9.9934 -0.0671117 -0.0106526 0.0543285 0.22 -0.02 pose: 0.0 5.06185 -1.76556 0 0.000448537 -0.0024276 -0.762134 0.647414 uwb: 0.49914845 986.692 492.508 -imu_odom_: 1691062454.825418978 0.0957681 0.184354 9.94551 -0.052198 0.0149137 0.0234358 0.25 0.02 pose: 0.60970675 5.05297 -1.77657 0 -0.00136953 -0.00501413 -0.761945 0.647621 uwb: 0.0 986.692 492.508 -imu_odom_: 1691062454.842397887 0.371101 -0.536301 10.1586 -0.0607201 -0.0106526 0.0532632 0.25 0.02 pose: 0.7022538 5.05297 -1.77657 0 -0.000608359-0.00498778 -0.761985 0.647575 uwb: 0.49993003 987.568 492.157 -imu_odom_: 1691062454.869410452 0.579397 -0.0287304 10.489 -0.0372843 0.0213053 0.0319579 0.25 -0.02 pose: 0.0 5.05297 -1.77657 0 -0.000608359-0.00498778 -0.761985 0.647575 uwb: 0.0 987.568 492.157 -imu_odom_: 1691062454.885402182 0.342371 -0.35913 9.49062 -0.076699 0.0319579 0.0585895 0.25 -0.02 pose: 0.36984393 5.05404 -1.78652 0 0.000625168 -0.00345081 -0.762024 0.647539 uwb: 0.0 987.568 492.157 -imu_odom_: 1691062454.912442743 0.335188 -0.0837971 9.57441 -0.0490022 -0.0575243 0.0351537 0.23 -0.02 pose: 0.0 5.05404 -1.78652 0 0.000625168 -0.00345081 -0.762024 0.647539 uwb: 0.49884223 987.575 492.439 -imu_odom_: 1691062454.928402685 0.715866 -0.294487 10.082 -0.0479369 0.0415453 0.0351537 0.23 -0.02 pose: 0.43004295 5.05511 -1.79646 0 0.000411935 -0.00421012 -0.761986 0.64758 uwb: 0.0 987.575 492.439 -imu_odom_: 1691062454.955389586 0.696713 0.0622492 9.97903 -0.0468716 -0.0458064 0.0351537 0.23 0 pose: 0.0 5.05511 -1.79646 0 0.000411935 -0.00421012 -0.761986 0.64758 uwb: 0.50050454 988.022 492.593 -imu_odom_: 1691062454.981477672 0.332794 -0.134075 9.90002 -0.0894822 0.0266316 0.052198 0.23 0 pose: 0.43000503 5.05564 -1.80141 0 0.0013209 -0.00431843 -0.76205 0.647503 uwb: 0.0 988.022 492.593 -imu_odom_: 1691062455.8429870 0.318429 -0.129287 9.93354 -0.0692422 -0.00852212 0.0394148 0.25 -0.02 pose: 0.53074987 5.04701 -1.81465 0 0.00198026 -0.00472809 -0.761985 0.647575 uwb: 0.49985129 988.021 492.522 -imu_odom_: 1691062455.24507639 0.603339 -0.253785 10.161 -0.0671117 -0.0117179 0.0511327 0.25 -0.02 pose: 0.0 5.04701 -1.81465 0 0.00198026 -0.00472809 -0.761985 0.647575 uwb: 0.0 988.021 492.522 -imu_odom_: 1691062455.51362733 0.466869 0.0191536 10.228 -0.0415453 0.0138484 0.0340885 0.23 0.02 pose: 0.43029967 5.0473 -1.81741 0 0.00201265 -0.00294951 -0.761937 0.647642 uwb: 0.49925359 992.898 492.618 -imu_odom_: 1691062455.67351846 0.40462 -0.318429 9.84017 -0.0639159 -0.0308927 0.0468716 0.23 0.02 pose: 0.0 5.0473 -1.81741 0 0.00201265 -0.00294951 -0.761937 0.647642 uwb: 0.0 992.898 492.618 -imu_odom_: 1691062455.84489412 0.457293 -0.234632 9.65821 -0.0532632 -0.0351537 0.0298274 0.23 0 pose: 0.0 5.0473 -1.81741 0 0.00201265 -0.00294951 -0.761937 0.647642 uwb: 0.0 992.898 492.618 -imu_odom_: 1691062455.100629007 0.708684 -0.244209 9.9527 -0.0628506 -0.0138484 0.0415453 0.23 0 pose: 0.49852457 5.04838 -1.82736 0 0.00148327 -0.00392657 -0.761964 0.647605 uwb: 0.50001774 995.115 492.733 -imu_odom_: 1691062455.117510227 -0.0814029 -0.486023 9.52413 -0.0649811 -0.0181095 0.0468716 0.23 0 pose: 0.0 5.04838 -1.82736 0 0.00148327 -0.00392657 -0.761964 0.647605 uwb: 0.0 995.115 492.733 -imu_odom_: 1691062455.142498282 0.1652 -0.320823 9.98143 -0.0340885 0.0234358 0.0308927 0.18 0 pose: 0.43150131 5.04945 -1.8373 0 -0.000651124-0.00252576 -0.761947 0.647634 uwb: 0.49986608 995.115 492.663 -imu_odom_: 1691062455.159487698 0.802058 -0.023942 9.81144 -0.0585895 -0.0415453 0.0671117 0.18 0 pose: 0.8054049 5.04945 -1.8373 0 -0.000186133-0.00178166 -0.761971 0.647609 uwb: 0.0 995.115 492.663 -imu_odom_: 1691062455.176484696 0.866701 -0.304064 9.81144 -0.0553937 -0.0703074 0.105461 0.16 0.08 pose: 0.0 5.04945 -1.8373 0 -0.000186133-0.00178166 -0.761971 0.647609 uwb: 0.0 995.115 492.663 -imu_odom_: 1691062455.192339365 1.04148 -0.610521 9.82341 -0.0383495 0.0170442 0.138484 0.15 0.11 pose: 0.50920420 5.04057 -1.84831 0 -0.00217967 -0.00302636 -0.761498 0.648157 uwb: 0.50038228 996.447 492.934 -imu_odom_: 1691062455.208322645 1.37667 -0.469264 10.2113 -0.0532632 -0.0234358 0.170442 0.14 0.26 pose: 0.0 5.04057 -1.84831 0 -0.00217967 -0.00302636 -0.761498 0.648157 uwb: 0.0 996.447 492.934 -imu_odom_: 1691062455.224385249 1.86987 -0.253785 10.2113 -0.04048 -0.0266316 0.251402 0.14 0.26 pose: 0.0 5.04057 -1.84831 0 -0.00217967 -0.00302636 -0.761498 0.648157 uwb: 0.0 996.447 492.934 -imu_odom_: 1691062455.240507929 1.84832 -0.383072 9.85693 -0.0415453 0.0138484 0.363255 0.13 0.38 pose: 0.22875460 5.04057 -1.84831 0 -0.00423791 -0.00347448 -0.760681 0.649102 uwb: 0.50081390 997.778 493.114 -imu_odom_: 1691062455.257441643 1.55384 -0.785298 9.67976 -0.056459 0.0170442 0.4048 0.13 0.38 pose: 0.0 5.04057 -1.84831 0 -0.00423791 -0.00347448 -0.760681 0.649102 uwb: 0.0 997.778 493.114 -imu_odom_: 1691062455.274447974 0.897826 -0.0143652 10.094 -0.0287621 0.0575243 0.441019 0.13 0.38 pose: 0.31971517 5.04159 -1.85826 0 -0.006938 -0.00548807 -0.758442 0.65168 uwb: 0.0 997.778 493.114 -imu_odom_: 1691062455.290332682 0.620098 -0.351948 10.3789 -0.0617853 0.0234358 0.546481 0.1 0.44 pose: 0.43116301 5.04152 -1.85824 0 -0.00892284 -0.00761478 -0.753191 0.657698 uwb: 0.50114636 1000.44 492.921 -imu_odom_: 1691062455.307396756 0.797269 -0.538695 9.84496 -0.0479369 -0.0426106 0.611462 0.1 0.44 pose: 0.7000085 5.04159 -1.85826 0 -0.00923993 -0.00691884 -0.752019 0.65904 uwb: 0.0 1000.44 492.921 -imu_odom_: 1691062455.324498743 0.723049 -0.703895 9.75158 -0.0287621 0.0266316 0.612527 0.1 0.44 pose: 0.0 5.04159 -1.85826 0 -0.00923993 -0.00691884 -0.752019 0.65904 uwb: 0.0 1000.44 492.921 -imu_odom_: 1691062455.340431861 0.543484 0.0143652 10.1275 -0.0458064 0.0149137 0.595483 0.08 0.5 pose: 0.43050684 5.0425 -1.86819 0 -0.0125426 -0.00463763 -0.743987 0.66806 uwb: 0.49868789 1002.65 493.233 -imu_odom_: 1691062455.367388152 0.567426 -0.169988 9.67976 -0.0468716 -0.0117179 0.572047 0.07 0.5 pose: 0.0 5.0425 -1.86819 0 -0.0125426 -0.00463763 -0.743987 0.66806 uwb: 0.0 1002.65 493.233 -imu_odom_: 1691062455.384376693 0.787692 -0.493206 9.80186 -0.0649811 -0.0138484 0.576308 0.07 0.5 pose: 0.23894136 5.04256 -1.86821 0 -0.010272 -0.00561256 -0.739628 0.672915 uwb: 0.0 1002.65 493.233 -imu_odom_: 1691062455.401314199 -0.1652 -0.454898 9.4978 -0.04048 0.0820254 0.526241 0.06 0.55 pose: 0.0 5.04256 -1.86821 0 -0.010272 -0.00561256 -0.739628 0.672915 uwb: 0.50052518 1000.45 493.861 -imu_odom_: 1691062455.418382356 -1.17795 0.234632 9.8689 -0.0649811 0.0266316 0.462325 0.06 0.55 pose: 0.0 5.04256 -1.86821 0 -0.010272 -0.00561256 -0.739628 0.672915 uwb: 0.0 1000.45 493.861 -imu_odom_: 1691062455.434370302 -0.715866 0.126893 9.50498 -0.052198 -0.0617853 0.405866 0.1 0.38 pose: 0.27058363 5.04256 -1.86821 0 -0.00936013 -0.0060973 -0.73476 0.678235 uwb: 0.0 1000.45 493.861 -imu_odom_: 1691062455.450312461 0.0023942 -0.155623 9.71567 -0.0479369 -0.0340885 0.336624 0.1 0.38 pose: 0.42931114 5.04256 -1.86821 0 -0.0071298 -0.00297974 -0.72787 0.685672 uwb: 0.49997108 1006.62 493.904 -imu_odom_: 1691062455.466367774 0.629675 -0.320823 9.68933 -0.0511327 -0.0276969 0.311057 0.1 0.38 pose: 0.0 5.04256 -1.86821 0 -0.0071298 -0.00297974 -0.72787 0.685672 uwb: 0.0 1006.62 493.904 -imu_odom_: 1691062455.483482301 0.138864 -0.371101 9.55287 -0.0575243 0.0266316 0.335558 0.14 0.32 pose: 0.47985418 5.04368 -1.87815 0 -0.00646373 -0.00252522 -0.722724 0.691102 uwb: 0.0 1006.62 493.904 -imu_odom_: 1691062455.499302265 -0.201113 -0.277727 9.8258 -0.0671117 0.0479369 0.32171 0.14 0.32 pose: 0.0 5.04368 -1.87815 0 -0.00646373 -0.00252522 -0.722724 0.691102 uwb: 0.49995649 1007.94 494.346 -imu_odom_: 1691062455.516582732 0.349553 -0.0502782 10.3046 -0.0575243 -0.0266316 0.285491 0.14 0.32 pose: 0.0 5.04368 -1.87815 0 -0.00646373 -0.00252522 -0.722724 0.691102 uwb: 0.0 1007.94 494.346 -imu_odom_: 1691062455.533604228 0.591368 -0.0287304 9.96946 -0.0735032 0 0.296144 0.13 0.23 pose: 0.40115973 5.04479 -1.88809 0 -0.0034399 0.000311094 -0.718816 0.695192 uwb: 0.0 1007.94 494.346 -imu_odom_: 1691062455.550318633 0.433351 -0.409408 9.81623 -0.052198 -0.00958738 0.286556 0.14 0.2 pose: 0.0 5.04479 -1.88809 0 -0.0034399 0.000311094 -0.718816 0.695192 uwb: 0.50206793 1007.5 494.551 -imu_odom_: 1691062455.566333409 0.105345 -0.222661 9.85693 -0.0585895 -0.0106526 0.253533 0.14 0.2 pose: 0.34213305 5.04479 -1.88809 0 -0.00281014 -0.00111394 -0.715822 0.698276 uwb: 0.0 1007.5 494.551 -imu_odom_: 1691062455.584442990 0.0742203 -0.126893 9.91918 -0.0745685 -0.0490022 0.262055 0.14 0.17 pose: 0.0 5.04479 -1.88809 0 -0.00281014 -0.00111394 -0.715822 0.698276 uwb: 0.0 1007.5 494.551 -imu_odom_: 1691062455.601578515 0.349553 -0.174777 10.2687 -0.052198 0 0.232228 0.14 0.17 pose: 0.0 5.04479 -1.88809 0 -0.00281014 -0.00111394 -0.715822 0.698276 uwb: 0.49850416 1009.26 494.697 -imu_odom_: 1691062455.618459735 0.407014 -0.222661 9.80665 -0.0756338 -0.0181095 0.254598 0.14 0.17 pose: 0.33868303 5.03592 -1.89907 0 -0.00163754 0.000902989 -0.713149 0.70101 uwb: 0.0 1009.26 494.697 -imu_odom_: 1691062455.635332206 0.588974 -0.280122 9.89284 -0.0468716 -0.0149137 0.217314 0.21 0.26 pose: 0.43894380 5.03592 -1.89907 0 -0.00085243 5.45926e-05 -0.70994 0.704261 uwb: 0.0 1009.26 494.697 -imu_odom_: 1691062455.651568623 1.05345 0.0622492 9.92157 -0.0639159 -0.102265 0.231162 0.21 0.26 pose: 0.7012333 5.03592 -1.89907 0 -0.00147812 -0.000320678-0.709501 0.704703 uwb: 0.49992441 1010.14 494.597 -imu_odom_: 1691062455.668409015 1.49877 -0.208296 9.54329 -0.0649811 -0.0607201 0.290817 0.21 0.26 pose: 0.0 5.03592 -1.89907 0 -0.00147812 -0.000320678-0.709501 0.704703 uwb: 0.0 1010.14 494.597 -imu_odom_: 1691062455.684395210 1.41018 -0.639252 9.91439 -0.0713727 -0.052198 0.327036 0.12 0.14 pose: 0.42936947 5.03704 -1.90901 0 -0.00507609 -0.0043729 -0.706277 0.707904 uwb: 0.0 1010.14 494.597 -imu_odom_: 1691062455.701399500 1.88184 -0.500388 10.3262 -0.0340885 -0.0181095 0.24075 0.15 0.14 pose: 0.0 5.03704 -1.90901 0 -0.00507609 -0.0043729 -0.706277 0.707904 uwb: 0.49935573 1011.47 494.625 -imu_odom_: 1691062455.718406414 1.41018 0.325611 9.89763 -0.0458064 0.0298274 0.184291 0.15 0.14 pose: 0.0 5.03704 -1.90901 0 -0.00507609 -0.0043729 -0.706277 0.707904 uwb: 0.0 1011.47 494.625 -imu_odom_: 1691062455.733277986 1.10373 0.110133 9.7037 -0.0628506 0.0383495 0.168312 0.1 0.11 pose: 0.23016902 5.03704 -1.90901 0 -0.00751995 -0.00555787 -0.704129 0.710011 uwb: 0.0 1011.47 494.625 -imu_odom_: 1691062455.748268544 0.64404 -0.225055 9.96227 -0.0639159 0.0308927 0.120375 0.1 0.11 pose: 0.0 5.03704 -1.90901 0 -0.00751995 -0.00555787 -0.704129 0.710011 uwb: 0.49948405 1013.23 494.739 -imu_odom_: 1691062455.765325327 0.663194 -0.423774 10.2208 -0.0660464 -0.0223706 0.1012 0.1 0.11 pose: 0.0 5.03704 -1.90901 0 -0.00751995 -0.00555787 -0.704129 0.710011 uwb: 0.0 1013.23 494.739 -imu_odom_: 1691062455.782394359 0.833182 -0.272939 9.7875 -0.0415453 -0.0234358 0.0980043 0.07 0.11 pose: 0.73899410 5.03816 -1.91895 0 -0.0108017 -0.00656064 -0.701018 0.713032 uwb: 0.0 1013.23 494.739 -imu_odom_: 1691062455.797280804 0.790087 -0.150835 9.85214 -0.0585895 0.00852212 0.131028 0.07 0.11 pose: 0.7946728 5.03816 -1.91895 0 -0.0113693 -0.00722244 -0.700846 0.713186 uwb: 0.0 1013.23 494.739 -imu_odom_: 1691062455.812388891 0.651223 -0.232238 9.86172 -0.056459 0.0138484 0.145941 0.07 0.11 pose: 0.0 5.03816 -1.91895 0 -0.0113693 -0.00722244 -0.700846 0.713186 uwb: 0.0 1013.23 494.739 -imu_odom_: 1691062455.829273319 0.737414 -0.304064 9.9934 -0.0479369 -0.00106526 0.122505 0.09 0.14 pose: 0.39116836 5.03816 -1.91895 0 -0.0104134 -0.00871008 -0.699615 0.714391 uwb: 0.0 1013.23 494.739 -imu_odom_: 1691062455.845290136 0.61531 -0.150835 9.67018 -0.0468716 -0.00532632 0.115049 0.09 0.14 pose: 0.0 5.03816 -1.91895 0 -0.0104134 -0.00871008 -0.699615 0.714391 uwb: 0.100109411 1014.12 494.551 -imu_odom_: 1691062455.872398952 0.68953 -0.184354 9.94073 -0.0575243 -0.00852212 0.120375 0.07 0.11 pose: 0.32901245 5.03816 -1.91895 0 -0.0104406 -0.00919436 -0.698681 0.715298 uwb: 0.0 1014.12 494.551 -imu_odom_: 1691062455.898291655 -0.622492 -0.1652 9.83059 -0.0468716 0.116114 0.0894822 0.05 0.11 pose: 0.0 5.03816 -1.91895 0 -0.0104406 -0.00919436 -0.698681 0.715298 uwb: 0.49866164 1015.88 494.603 -imu_odom_: 1691062455.925259903 -1.1564 -0.373495 9.85693 -0.0671117 -0.0649811 0.132093 0.1 0.08 pose: 0.53001519 5.03928 -1.92888 0 -0.00613805 -0.00866777 -0.69749 0.716516 uwb: 0.0 1015.88 494.603 -imu_odom_: 1691062455.950314159 0.725443 -0.349553 10.1418 -0.0415453 -0.0713727 0.0916127 0.09 0.08 pose: 0.0 5.03928 -1.92888 0 -0.00613805 -0.00866777 -0.69749 0.716516 uwb: 0.49869955 1017.65 494.592 -imu_odom_: 1691062455.977291448 0.521936 -0.282516 10.2232 -0.0585895 0.036219 0.135289 0.09 0.08 pose: 0.35008882 5.03928 -1.92888 0 -0.00612364 -0.00722954 -0.696452 0.717541 uwb: 0.0 1017.65 494.592 -imu_odom_: 1691062456.3264059 -0.402226 -0.131681 9.9527 -0.0458064 -0.0127832 0.0852212 0.11 0.05 pose: 0.43990911 5.04005 -1.93596 0 -0.00707165 -0.00466356 -0.695194 0.718772 uwb: 0.49993317 1019.41 494.727 -imu_odom_: 1691062456.30282188 0.493206 -0.418985 9.96706 -0.0575243 -0.00426106 0.100135 0.11 0.05 pose: 0.8100419 5.04038 -1.93882 0 -0.00643869 -0.00420502 -0.695065 0.718906 uwb: 0.0 1019.41 494.727 -imu_odom_: 1691062456.56405293 0.172383 0.0143652 9.52653 -0.0511327 0.00106526 0.11931 0.13 0.05 pose: 0.44890321 5.04032 -1.93881 0 -0.00673815 -0.00104341 -0.694174 0.719775 uwb: 0.50189309 1025.15 494.745 -imu_odom_: 1691062456.73402882 0.0766145 -0.294487 9.65821 -0.0735032 -0.0213053 0.117179 0.13 0.05 pose: 0.0 5.04032 -1.93881 0 -0.00673815 -0.00104341 -0.694174 0.719775 uwb: 0.0 1025.15 494.745 -imu_odom_: 1691062456.89239477 0.0861913 -0.189142 9.83538 -0.0607201 -0.0394148 0.0894822 0.17 0.05 pose: 0.0 5.04032 -1.93881 0 -0.00673815 -0.00104341 -0.694174 0.719775 uwb: 0.49974674 1022.93 494.851 -imu_odom_: 1691062456.116230776 0.730232 -0.153229 9.99819 -0.04048 -0.0127832 0.0990696 0.17 0.05 pose: 0.33126984 5.04143 -1.94877 0 -0.00369237 -0.000321534-0.69324 0.720698 uwb: 0.0 1022.93 494.851 -imu_odom_: 1691062456.142242769 0.124498 -0.25618 9.64384 -0.0575243 0.056459 0.0873517 0.19 0.05 pose: 0.33861027 5.04143 -1.94877 0 -0.00242117 0.000381625 -0.692502 0.721412 uwb: 0.50073246 1023.38 494.683 -imu_odom_: 1691062456.159238608 -0.0143652 -0.272939 9.7875 -0.0447411 0.0127832 0.0681769 0.19 0.05 pose: 0.0 5.04143 -1.94877 0 -0.00242117 0.000381625 -0.692502 0.721412 uwb: 0.0 1023.38 494.683 -imu_odom_: 1691062456.184302499 1.10373 -0.311246 10.0676 -0.072438 -0.0191748 0.106526 0.18 0.05 pose: 0.52088145 5.04253 -1.95871 0 -0.0004264110.00163399 -0.691575 0.722303 uwb: 0.0 1023.38 494.683 -imu_odom_: 1691062456.211349792 0.287304 -0.418985 9.91199 -0.0532632 0.0223706 0.0543285 0.18 0.05 pose: 0.0 5.04253 -1.95871 0 -0.0004264110.00163399 -0.691575 0.722303 uwb: 0.49864436 1024.27 494.678 -imu_odom_: 1691062456.236279823 0.282516 -0.270545 10.3884 -0.0575243 -0.0106526 0.092678 0.18 0.05 pose: 0.34944155 5.04253 -1.95871 0 -0.00187478 0.000787206 -0.690867 0.722979 uwb: 0.0 1024.27 494.678 -imu_odom_: 1691062456.253559422 0.272939 -0.469264 10.1203 -0.0490022 0.0351537 0.0649811 0.18 0.02 pose: 0.0 5.04253 -1.95871 0 -0.00187478 0.000787206 -0.690867 0.722979 uwb: 0.49864437 1025.17 494.369 -imu_odom_: 1691062456.269512962 0.560243 -0.318429 9.67736 -0.0383495 0.0255663 0.0511327 0.18 0.02 pose: 0.58932209 5.04368 -1.96864 0 -0.0001564840.00562969 -0.690162 0.723633 uwb: 0.0 1025.17 494.369 -imu_odom_: 1691062456.287493066 0.186748 0.0215478 9.99579 -0.0468716 -0.0138484 0.0948085 0.18 0.02 pose: 0.0 5.04368 -1.96864 0 -0.0001564840.00562969 -0.690162 0.723633 uwb: 0.50096285 1024.75 493.784 -imu_odom_: 1691062456.303373989 0.500388 -0.469264 9.40442 -0.0777643 0.02024 0.0862864 0.15 0 pose: 0.44258358 5.04484 -1.97857 0 0.000326767 0.00493056 -0.689647 0.724129 uwb: 0.0 1024.75 493.784 -imu_odom_: 1691062456.318348805 0.0694318 -0.19393 10.1299 -0.052198 0.0575243 0.0500674 0.15 0 pose: 0.6898308 5.04484 -1.97857 0 -0.0003597820.0050813 -0.689532 0.724237 uwb: 0.0 1024.75 493.784 -imu_odom_: 1691062456.334325676 0.23942 -0.0909797 9.80904 -0.056459 -0.0245011 0.0788296 0.15 0 pose: 0.0 5.04484 -1.97857 0 -0.0003597820.0050813 -0.689532 0.724237 uwb: 0.0 1024.75 493.784 -imu_odom_: 1691062456.350421242 0.272939 -0.287304 9.88087 -0.0745685 -0.0511327 0.092678 0.16 -0.02 pose: 0.39934302 5.04602 -1.9885 0 0.00179294 0.0054454 -0.689085 0.724658 uwb: 0.49995963 1023.86 493.953 -imu_odom_: 1691062456.377251559 -0.0790087 -0.112527 9.7037 -0.0372843 0.0127832 0.0543285 0.16 0.02 pose: 0.0 5.04602 -1.9885 0 0.00179294 0.0054454 -0.689085 0.724658 uwb: 0.0 1023.86 493.953 -imu_odom_: 1691062456.403216890 0.105345 -0.435745 9.6199 -0.103331 0.0245011 0.0937433 0.17 0.02 pose: 0.23946350 5.04602 -1.9885 0 0.00233791 0.0071697 -0.688723 0.724985 uwb: 0.49959509 1024.74 493.972 -imu_odom_: 1691062456.429205844 0.500388 -0.150835 9.72285 -0.0713727 -0.0181095 0.0479369 0.17 0.02 pose: 0.0 5.04602 -1.9885 0 0.00233791 0.0071697 -0.688723 0.724985 uwb: 0.0 1024.74 493.972 -imu_odom_: 1691062456.455194506 0.73502 -0.550666 9.94073 -0.0777643 -0.0447411 0.0617853 0.15 0 pose: 0.70933818 5.04793 -2.0057 0 0.00273565 0.00862103 -0.688021 0.725634 uwb: 0.0 1024.74 493.972 -imu_odom_: 1691062456.472254213 0.337582 -0.356736 9.79947 -0.0330232 0.0532632 0.0415453 0.15 0 pose: 0.6999213 5.04824 -2.00838 0 0.00191842 0.00834609 -0.68797 0.725688 uwb: 0.0 1024.74 493.972 -imu_odom_: 1691062456.488316532 0.198719 -0.0885855 9.87369 -0.0447411 -0.015979 0.0575243 0.17 -0.02 pose: 0.0 5.04824 -2.00838 0 0.00191842 0.00834609 -0.68797 0.725688 uwb: 0.100107121 1022.99 493.537 -imu_odom_: 1691062456.506254641 0.244209 -0.047884 9.65821 -0.0490022 -0.0330232 0.0585895 0.17 -0.02 pose: 0.43045161 5.0383 -2.0095 0 -0.0008671840.00748195 -0.687782 0.725879 uwb: 0.0 1022.99 493.537 -imu_odom_: 1691062456.523277019 0.758962 -0.318429 9.51935 -0.0490022 -0.0245011 0.0511327 0.17 -0.02 pose: 0.0 5.0383 -2.0095 0 -0.0008671840.00748195 -0.687782 0.725879 uwb: 0.0 1022.99 493.537 -imu_odom_: 1691062456.537393849 0.244209 -0.071826 10.422 -0.0511327 0.00958738 0.052198 0.17 0.02 pose: 0.0 5.0383 -2.0095 0 -0.0008671840.00748195 -0.687782 0.725879 uwb: 0.49960968 1020.61 493.293 -imu_odom_: 1691062456.554522673 0.167594 -0.19393 10.2041 -0.0575243 0.00106526 0.0553937 0.17 0.02 pose: 0.50026001 5.03943 -2.01944 0 0.000639419 0.00451506 -0.687501 0.726169 uwb: 0.0 1020.61 493.293 -imu_odom_: 1691062456.571205006 0.112527 -0.452504 9.40921 -0.0372843 -0.015979 0.0468716 0.17 0.02 pose: 0.0 5.03943 -2.01944 0 0.000639419 0.00451506 -0.687501 0.726169 uwb: 0.0 1020.61 493.293 -imu_odom_: 1691062456.597181711 0.744597 -0.304064 10.0293 -0.0649811 -0.00639159 0.0617853 0.22 0 pose: 0.41928787 5.04056 -2.02937 0 0.00288646 0.0065301 -0.68731 0.726329 uwb: 0.50184650 1020.62 493.105 -imu_odom_: 1691062456.613238781 0.699107 -0.366313 9.81383 -0.0532632 0.0351537 0.0383495 0.15 0 pose: 0.0 5.04056 -2.02937 0 0.00288646 0.0065301 -0.68731 0.726329 uwb: 0.0 1020.62 493.105 -imu_odom_: 1691062456.640321945 0.378284 -0.545878 9.4571 -0.0447411 -0.0191748 0.0671117 0.15 0 pose: 0.33073032 5.04056 -2.02937 0 0.000332314 0.00459374 -0.687121 0.726529 uwb: 0.49756532 1025.53 492.341 -imu_odom_: 1691062456.657287454 -0.0023942 -0.557849 9.71806 -0.056459 -0.00745685 0.0436758 0.22 0 pose: 0.0 5.04056 -2.02937 0 0.000332314 0.00459374 -0.687121 0.726529 uwb: 0.0 1025.53 492.341 -imu_odom_: 1691062456.674343079 0.433351 -0.0670376 10.3477 -0.0532632 -0.0681769 0.0500674 0.22 0 pose: 0.17044251 5.04171 -2.03931 0 -0.0009534960.00465975 -0.687048 0.726596 uwb: 0.0 1025.53 492.341 -imu_odom_: 1691062456.690245874 0.533907 -0.31364 9.90242 -0.0681769 -0.0170442 0.0692422 0.17 -0.02 pose: 0.0 5.04171 -2.03931 0 -0.0009534960.00465975 -0.687048 0.726596 uwb: 0.50157819 1028.66 491.967 -imu_odom_: 1691062456.707167347 0.627281 -0.201113 10.2185 -0.052198 -0.00639159 0.0319579 0.17 -0.02 pose: 0.53020790 5.04235 -2.04483 0 -0.00182748 0.00535355 -0.68676 0.726862 uwb: 0.0 1028.66 491.967 -imu_odom_: 1691062456.724171644 0.213084 -0.270545 9.46188 -0.0500674 -0.00319579 0.0383495 0.17 -0.02 pose: 0.0 5.04235 -2.04483 0 -0.00182748 0.00535355 -0.68676 0.726862 uwb: 0.0 1028.66 491.967 -imu_odom_: 1691062456.748158531 0.208296 -0.277727 9.44752 -0.0543285 -0.00319579 0.0383495 0.17 0.02 pose: 0.8002725 5.04286 -2.04924 0 -0.00245266 0.00477287 -0.686678 0.726942 uwb: 0.49799694 1030.43 492.117 -imu_odom_: 1691062456.773150388 0.811634 -0.433351 9.94791 -0.052198 -0.0681769 0.0553937 0.17 0.02 pose: 0.0 5.04286 -2.04924 0 -0.00245266 0.00477287 -0.686678 0.726942 uwb: 0.0 1030.43 492.117 -imu_odom_: 1691062456.790226135 0.730232 -0.56982 9.79947 -0.0511327 -0.00213053 0.052198 0.22 0.02 pose: 0.48836719 5.04402 -2.05917 0 -0.00169959 0.00408322 -0.686654 0.726971 uwb: 0.0 1030.43 492.117 -imu_odom_: 1691062456.806212047 0.258574 -0.0837971 10.0317 -0.0394148 0.0671117 0.0500674 0.22 0.02 pose: 0.0 5.04402 -2.05917 0 -0.00169959 0.00408322 -0.686654 0.726971 uwb: 0.0 1030.43 492.117 -imu_odom_: 1691062456.823336205 0.227449 -0.260968 10.0389 -0.0532632 0.00852212 0.0585895 0.24 0 pose: 0.48981077 5.04518 -2.06911 0 -0.00379047 0.00326388 -0.686487 0.727125 uwb: 0.0 1030.43 492.117 -imu_odom_: 1691062456.840299090 0.392649 -0.222661 9.88326 -0.0490022 0.00958738 0.0458064 0.24 0 pose: 0.0 5.04518 -2.06911 0 -0.00379047 0.00326388 -0.686487 0.727125 uwb: 0.100012049 1029.57 491.713 -imu_odom_: 1691062456.856199844 0.023942 -0.177171 9.76834 -0.0490022 0.0468716 0.052198 0.24 0 pose: 0.0 5.04518 -2.06911 0 -0.00379047 0.00326388 -0.686487 0.727125 uwb: 0.0 1029.57 491.713 -imu_odom_: 1691062456.872270912 0.536301 -0.308852 10.0102 -0.0681769 -0.0138484 0.0649811 0.17 0.02 pose: 0.76036244 5.04635 -2.07904 0 0.00113201 0.0038218 -0.686149 0.72745 uwb: 0.0 1029.57 491.713 -imu_odom_: 1691062456.890161193 0.244209 -0.112527 9.77313 -0.0585895 0.00745685 0.0426106 0.17 0.02 pose: 0.0 5.04635 -2.07904 0 0.00113201 0.0038218 -0.686149 0.72745 uwb: 0.50091036 1027.37 491.261 -imu_odom_: 1691062456.917263896 0.035913 -0.186748 9.85693 -0.0628506 0.0117179 0.0681769 0.23 0 pose: 0.7011170 5.04635 -2.07904 0 0.000472694 0.00347085 -0.686086 0.727512 uwb: 0.0 1027.37 491.261 -imu_odom_: 1691062456.934260902 0.622492 -0.134075 10.1682 -0.052198 0.0138484 0.0479369 0.18 0.02 pose: 0.0 5.04635 -2.07904 0 0.000472694 0.00347085 -0.686086 0.727512 uwb: 0.0 1027.37 491.261 -imu_odom_: 1691062456.951264907 -0.105345 -0.0670376 9.51216 -0.0287621 0.0213053 0.0319579 0.18 0 pose: 0.0 5.04635 -2.07904 0 0.000472694 0.00347085 -0.686086 0.727512 uwb: 0.49961259 1029.15 491.383 -imu_odom_: 1691062456.968204462 0.52433 -0.347159 10.0604 -0.0873517 -0.00958738 0.0756338 0.18 0 pose: 0.71049888 5.04753 -2.08897 0 0.00300202 0.00347436 -0.68564 0.727926 uwb: 0.0 1029.15 491.383 -imu_odom_: 1691062456.985196218 0.21069 -0.241814 10.173 -0.0703074 -0.0138484 0.0458064 0.18 -0.02 pose: 0.0 5.04753 -2.08897 0 0.00300202 0.00347436 -0.68564 0.727926 uwb: 0.0 1029.15 491.383 -imu_odom_: 1691062457.140122 0.433351 -0.107739 10.0389 -0.0596548 -0.04048 0.0394148 0.18 -0.02 pose: 0.41945118 5.04871 -2.0989 0 0.0033456 0.00460131 -0.685444 0.728103 uwb: 0.49895641 1027.8 491.566 -imu_odom_: 1691062457.17139175 0.560243 -0.0766145 9.79468 -0.0798948 0.0266316 0.0585895 0.18 -0.02 pose: 0.0 5.04871 -2.0989 0 0.0033456 0.00460131 -0.685444 0.728103 uwb: 0.0 1027.8 491.566 -imu_odom_: 1691062457.33139092 -0.1652 -0.464475 9.6199 -0.0532632 -0.00426106 0.036219 0.18 0.02 pose: 0.40933155 5.04991 -2.10883 0 0.00301933 0.00239211 -0.685305 0.728246 uwb: 0.0 1027.8 491.566 -imu_odom_: 1691062457.51134368 1.00317 -0.0502782 10.3022 -0.0671117 -0.036219 0.0426106 0.18 0.02 pose: 0.7001841 5.04991 -2.10883 0 0.00321259 0.00306259 -0.685313 0.728235 uwb: 0.50052263 1028.27 491.122 -imu_odom_: 1691062457.68130215 0.385466 -0.289698 9.38288 -0.0841559 0.00532632 0.0532632 0.18 0.02 pose: 0.0 5.04991 -2.10883 0 0.00321259 0.00306259 -0.685313 0.728235 uwb: 0.0 1028.27 491.122 -imu_odom_: 1691062457.85126937 0.25618 -0.23942 9.78031 -0.0426106 0.0117179 0.0426106 0.18 0 pose: 0.43989199 5.0511 -2.11876 0 0.000525762 0.00289704 -0.685226 0.728325 uwb: 0.0 1028.27 491.122 -imu_odom_: 1691062457.102127742 0.0957681 -0.251391 10.0365 -0.0596548 0.0170442 0.0458064 0.23 0 pose: 0.0 5.0511 -2.11876 0 0.000525762 0.00289704 -0.685226 0.728325 uwb: 0.49986361 1027.39 490.909 -imu_odom_: 1691062457.119120964 0.629675 -0.21069 9.92157 -0.0511327 -0.00852212 0.0394148 0.23 0 pose: 0.0 5.0511 -2.11876 0 0.000525762 0.00289704 -0.685226 0.728325 uwb: 0.0 1027.39 490.909 -imu_odom_: 1691062457.136191469 0.146046 0.047884 9.60554 -0.0319579 -0.00745685 0.0351537 0.26 0 pose: 0.24014019 5.0511 -2.11876 0 0.00243722 0.00468111 -0.685182 0.728353 uwb: 0.49798840 1025.61 490.84 -imu_odom_: 1691062457.152121977 0.414197 -0.351948 9.68455 -0.0639159 0.0149137 0.0394148 0.26 0 pose: 0.0 5.0511 -2.11876 0 0.00243722 0.00468111 -0.685182 0.728353 uwb: 0.0 1025.61 490.84 -imu_odom_: 1691062457.169118699 0.438139 -0.150835 9.8689 -0.0458064 -0.0330232 0.0372843 0.26 0 pose: 0.34045938 5.0523 -2.12868 0 0.00285175 0.00391805 -0.685172 0.728365 uwb: 0.0 1025.61 490.84 -imu_odom_: 1691062457.185115407 0.770933 -0.337582 9.96706 -0.0553937 -0.0191748 0.0511327 0.25 0 pose: 0.33936867 5.0535 -2.13861 0 0.00219275 0.00301812 -0.685199 0.728346 uwb: 0.0 1025.61 490.84 -imu_odom_: 1691062457.202113004 0.955286 -0.251391 9.72285 -0.052198 -0.0436758 0.0681769 0.25 0 pose: 0.0 5.0535 -2.13861 0 0.00219275 0.00301812 -0.685199 0.728346 uwb: 0.49937367 1028.31 490.395 -imu_odom_: 1691062457.220130153 1.30005 -0.150835 9.31823 -0.0490022 -0.052198 0.127832 0.15 -0.02 pose: 0.0 5.0535 -2.13861 0 0.00219275 0.00301812 -0.685199 0.728346 uwb: 0.0 1028.31 490.395 -imu_odom_: 1691062457.234170289 1.71185 -0.536301 10.0054 -0.072438 -0.0617853 0.160855 0.15 -0.02 pose: 0.41985965 5.05417 -2.14412 0 -0.00091088 -0.000330705-0.684967 0.728573 uwb: 0.0 1028.31 490.395 -imu_odom_: 1691062457.251173135 2.16915 -0.557849 10.1203 -0.0479369 -0.076699 0.0916127 0.15 -0.02 pose: 0.0 5.05417 -2.14412 0 -0.00091088 -0.000330705-0.684967 0.728573 uwb: 0.50176798 1026.98 490.228 -imu_odom_: 1691062457.265180609 1.72622 0.0670376 9.10275 -0.0351537 0.0298274 0.00319579 0.13 -0.02 pose: 0.8008561 5.0547 -2.14854 0 -0.00152341 -0.00111412 -0.684709 0.728814 uwb: 0.0 1026.98 490.228 -imu_odom_: 1691062457.282169748 1.12767 0.258574 9.98622 -0.0671117 0.0511327 0.0383495 0.13 -0.02 pose: 0.0 5.0547 -2.14854 0 -0.00152341 -0.00111412 -0.684709 0.728814 uwb: 0.0 1026.98 490.228 -imu_odom_: 1691062457.296100813 0.603339 -0.201113 9.97903 -0.0628506 0.0298274 0.0266316 0.13 -0.02 pose: 0.0 5.0547 -2.14854 0 -0.00152341 -0.00111412 -0.684709 0.728814 uwb: 0.50002109 1027.87 490.323 -imu_odom_: 1691062457.312165181 0.962469 -0.363919 10.5896 -0.0383495 -0.0191748 -0.0276969 0.1 -0.02 pose: 0.47030651 5.0547 -2.14854 0 -0.00577275 -0.00503475 -0.683504 0.729907 uwb: 0.0 1027.87 490.323 -imu_odom_: 1691062457.327154877 1.09654 -0.304064 9.40442 -0.0532632 -0.0394148 -0.00319579 0.1 -0.02 pose: 0.0 5.0547 -2.14854 0 -0.00577275 -0.00503475 -0.683504 0.729907 uwb: 0.0 1027.87 490.323 -imu_odom_: 1691062457.344207301 0.80924 -0.172383 9.81383 -0.0585895 0.0447411 0.0426106 0.1 -0.02 pose: 0.0 5.0547 -2.14854 0 -0.00577275 -0.00503475 -0.683504 0.729907 uwb: 0.49991611 1026.53 490.393 -imu_odom_: 1691062457.358102495 0.80924 -0.23942 10.398 -0.0660464 -0.00958738 0.0575243 0.08 0 pose: 0.46011098 5.05595 -2.15846 0 -0.00713948 -0.00826721 -0.683844 0.729547 uwb: 0.0 1026.53 490.393 -imu_odom_: 1691062457.375114673 0.629675 -0.162806 9.53371 -0.0490022 -0.0255663 0.0383495 0.07 -0.02 pose: 0.0 5.05595 -2.15846 0 -0.00713948 -0.00826721 -0.683844 0.729547 uwb: 0.0 1026.53 490.393 -imu_odom_: 1691062457.389086276 0.916979 -0.0670376 9.97903 -0.0500674 -0.00532632 0.0436758 0.07 -0.02 pose: 0.0 5.05595 -2.15846 0 -0.00713948 -0.00826721 -0.683844 0.729547 uwb: 0.50083767 1027.85 490.745 -imu_odom_: 1691062457.405078610 0.861913 -0.287304 9.89045 -0.0692422 -0.00852212 0.0543285 0.07 -0.02 pose: 0.61940439 5.04602 -2.15969 0 -0.0104657 -0.011581 -0.684149 0.729176 uwb: 0.0 1027.85 490.745 -imu_odom_: 1691062457.422352967 0.756568 -0.258574 9.93594 -0.0543285 0.00319579 0.0266316 0.06 -0.02 pose: 0.0 5.04602 -2.15969 0 -0.0104657 -0.011581 -0.684149 0.729176 uwb: 0.0 1027.85 490.745 -imu_odom_: 1691062457.439269781 0.636858 -0.11971 9.84496 -0.0649811 -0.0127832 0.0415453 0.06 -0.02 pose: 0.30985822 5.04725 -2.16962 0 -0.0105534 -0.0129808 -0.68409 0.729206 uwb: 0.49845501 1029.18 490.844 -imu_odom_: 1691062457.467236608 0.758962 -0.251391 9.90721 -0.0532632 -0.00426106 0.0330232 0.05 0.02 pose: 0.43180206 5.04725 -2.16962 0 -0.0113254 -0.0121453 -0.6841 0.729199 uwb: 0.0 1029.18 490.844 -imu_odom_: 1691062457.482096819 0.6608 -0.289698 9.87608 -0.0575243 0.00852212 0.0308927 0.05 0.02 pose: 0.0 5.04725 -2.16962 0 -0.0113254 -0.0121453 -0.6841 0.729199 uwb: 0.0 1029.18 490.844 -imu_odom_: 1691062457.509082006 -1.13246 0.100556 9.69891 -0.04048 0.102265 -0.0170442 0.06 0.02 pose: 0.42827038 5.04725 -2.16962 0 -0.0134222 -0.0105279 -0.684174 0.729119 uwb: 0.50067144 1030.1 490.356 -imu_odom_: 1691062457.535090218 -1.04627 -0.4956 9.97424 -0.072438 -0.0852212 0.0713727 0.09 0.05 pose: 0.0 5.04725 -2.16962 0 -0.0134222 -0.0105279 -0.684174 0.729119 uwb: 0.0 1030.1 490.356 -imu_odom_: 1691062457.561110680 0.871489 -0.23942 10.2783 -0.0308927 -0.0426106 0.015979 0.12 0 pose: 0.35009788 5.04725 -2.16962 0 -0.0099068 -0.00758425 -0.684684 0.728733 uwb: 0.50011442 1033.67 490.508 -imu_odom_: 1691062457.578075613 0.828394 0.0574608 9.7444 -0.0447411 0.015979 0.0468716 0.12 0 pose: 0.0 5.04725 -2.16962 0 -0.0099068 -0.00758425 -0.684684 0.728733 uwb: 0.0 1033.67 490.508 -imu_odom_: 1691062457.604137778 -0.258574 -0.150835 9.98143 -0.0458064 0.0532632 0.036219 0.11 -0.02 pose: 0.50996581 5.04846 -2.17954 0 -0.0108442 -0.00981666 -0.684667 0.72871 uwb: 0.49967404 1033.84 490.637 -imu_odom_: 1691062457.630066958 0.469264 -0.399832 9.97185 -0.0692422 -0.0138484 0.0372843 0.12 0 pose: 0.36034590 5.04846 -2.17954 0 -0.00786018 -0.00848443 -0.684709 0.728724 uwb: 0.0 1033.84 490.637 -imu_odom_: 1691062457.647124923 0.639252 -0.318429 10.2041 -0.052198 0.00426106 0.0426106 0.12 0 pose: 0.6944681 5.04846 -2.17954 0 -0.00798924 -0.00778518 -0.684714 0.728726 uwb: 0.50119638 1036.97 490.502 -imu_odom_: 1691062457.663060097 0.483629 -0.296881 9.71806 -0.0671117 0.0127832 0.0500674 0.12 0 pose: 0.0 5.04846 -2.17954 0 -0.00798924 -0.00778518 -0.684714 0.728726 uwb: 0.0 1036.97 490.502 -imu_odom_: 1691062457.680174931 0.138864 -0.1652 9.8258 -0.0628506 0.0223706 0.0479369 0.13 -0.02 pose: 0.43042264 5.04968 -2.18947 0 -0.00950011 -0.00478514 -0.684666 0.728779 uwb: 0.0 1036.97 490.502 -imu_odom_: 1691062457.697263225 0.117316 -0.232238 9.72046 -0.052198 0.00106526 0.0330232 0.13 -0.02 pose: 0.0 5.04968 -2.18947 0 -0.00950011 -0.00478514 -0.684666 0.728779 uwb: 0.49815464 1036.05 490.93 -imu_odom_: 1691062457.714091383 0.0191536 -0.174777 9.51456 -0.0617853 0.0223706 0.0394148 0.14 0 pose: 0.0 5.04968 -2.18947 0 -0.00950011 -0.00478514 -0.684666 0.728779 uwb: 0.0 1036.05 490.93 -imu_odom_: 1691062457.731257836 0.25618 -0.0430956 9.89045 -0.0756338 -0.0458064 0.0841559 0.14 0 pose: 0.50084933 5.05089 -2.19939 0 -0.00540889 -0.00127574 -0.684642 0.728858 uwb: 0.0 1036.05 490.93 -imu_odom_: 1691062457.747264168 0.179565 -0.548272 9.77313 -0.0820254 -0.0170442 0.0447411 0.14 0 pose: 0.0 5.05089 -2.19939 0 -0.00540889 -0.00127574 -0.684642 0.728858 uwb: 0.50049354 1037.39 490.98 -imu_odom_: 1691062457.764260598 0.373495 -0.158017 10.3142 -0.0671117 0.015979 0.0276969 0.19 0.02 pose: 0.43054512 5.05089 -2.19939 0 -0.00352608 0.000947221 -0.684336 0.729158 uwb: 0.0 1037.39 490.98 -imu_odom_: 1691062457.781198993 -0.059855 -0.162806 9.21289 -0.0713727 0.0330232 0.052198 0.19 0.02 pose: 0.6946722 5.05089 -2.19939 0 -0.00283712 0.000843075 -0.684368 0.729131 uwb: 0.0 1037.39 490.98 -imu_odom_: 1691062457.804067474 0.708684 -0.548272 10.161 -0.0649811 -0.0479369 0.0319579 0.14 0 pose: 0.0 5.05089 -2.19939 0 -0.00283712 0.000843075 -0.684368 0.729131 uwb: 0.49853959 1037.85 490.778 -imu_odom_: 1691062457.830045649 0.3304 0.0790087 9.92636 -0.0319579 -0.0447411 0.052198 0.15 0.02 pose: 0.33939200 5.05211 -2.20932 0 -0.00118699 0.00188574 -0.684353 0.729147 uwb: 0.0 1037.85 490.778 -imu_odom_: 1691062457.847105655 0.289698 -0.474052 9.85932 -0.0617853 -0.0287621 0.0575243 0.18 0 pose: 0.0 5.05211 -2.20932 0 -0.00118699 0.00188574 -0.684353 0.729147 uwb: 0.50081142 1041.87 490.834 -imu_odom_: 1691062457.863103822 0.363919 -0.0263362 9.68694 -0.0500674 -0.0266316 0.0319579 0.18 0 pose: 0.48904690 5.05333 -2.21924 0 -0.00123888 0.00032855 -0.684234 0.729262 uwb: 0.0 1041.87 490.834 -imu_odom_: 1691062457.881101432 0.287304 -0.229843 9.92157 -0.052198 -0.0191748 0.0436758 0.21 0 pose: 0.0 5.05333 -2.21924 0 -0.00123888 0.00032855 -0.684234 0.729262 uwb: 0.0 1041.87 490.834 -imu_odom_: 1691062457.898034869 0.21069 -0.40462 10.0724 -0.0649811 -0.00532632 0.0490022 0.21 0 pose: 0.0 5.05333 -2.21924 0 -0.00123888 0.00032855 -0.684234 0.729262 uwb: 0.49997151 1047.64 491.247 -imu_odom_: 1691062457.912209157 0.4956 -0.213084 10.8314 -0.0479369 0.0788296 0.036219 0.21 0 pose: 0.34047980 5.05333 -2.21924 0 6.52333e-05 0.000760029 -0.684199 0.729295 uwb: 0.0 1047.64 491.247 -imu_odom_: 1691062457.937092537 0.0885855 0.146046 10.5441 -0.0298274 0.0937433 0.0394148 0.15 0 pose: 0.41106397 5.05456 -2.22917 0 0.0002419 0.00233416 -0.684144 0.729343 uwb: 0.50020483 1046.34 490.75 -imu_odom_: 1691062457.964175421 -0.0430956 -0.407014 9.83299 -0.0468716 -0.0394148 0.04048 0.15 0 pose: 0.7017297 5.05456 -2.22917 0 0.00123823 0.00242654 -0.684143 0.729342 uwb: 0.0 1046.34 490.75 -imu_odom_: 1691062457.980106220 0.411803 -0.208296 10.1203 -0.0436758 -0.02024 0.0298274 0.18 0 pose: 0.0 5.05456 -2.22917 0 0.00123823 0.00242654 -0.684143 0.729342 uwb: 0.0 1046.34 490.75 -imu_odom_: 1691062457.997164477 0.0814029 -0.0837971 10.1203 -0.0607201 -0.00319579 0.0479369 0.18 0 pose: 0.53019355 5.05579 -2.23909 0 0.00362546 0.00416144 -0.684161 0.72931 uwb: 0.49956322 1049.92 490.828 -imu_odom_: 1691062458.13192978 0.80924 -0.4956 10.1921 -0.0649811 -0.0223706 0.0394148 0.18 0 pose: 0.0 5.05579 -2.23909 0 0.00362546 0.00416144 -0.684161 0.72931 uwb: 0.0 1049.92 490.828 -imu_odom_: 1691062458.31173681 0.0287304 -0.244209 9.39485 -0.0426106 0.0436758 0.0191748 0.17 0 pose: 0.33049133 5.05579 -2.23909 0 0.00388708 0.00371628 -0.684137 0.729334 uwb: 0.0 1049.92 490.828 -imu_odom_: 1691062458.48037425 -0.0574608 0.244209 10.2879 -0.0500674 0.0394148 0.0607201 0.17 0 pose: 0.0 5.05579 -2.23909 0 0.00388708 0.00371628 -0.684137 0.729334 uwb: 0.0 1049.92 490.828 -imu_odom_: 1691062458.62023031 -0.0383072 -0.641646 9.52174 -0.0756338 0.00958738 0.0479369 0.17 0 pose: 0.0 5.05579 -2.23909 0 0.00388708 0.00371628 -0.684137 0.729334 uwb: 0.0 1049.92 490.828 -imu_odom_: 1691062458.79032592 0.356736 -0.347159 9.99579 -0.052198 -0.00532632 0.0223706 0.18 0 pose: 0.48749854 5.05702 -2.24902 0 0.00632894 0.00575319 -0.684106 0.729333 uwb: 0.0 1049.92 490.828 -imu_odom_: 1691062458.102137890 0.720655 -0.445322 9.91439 -0.0553937 -0.015979 0.036219 0.18 0 pose: 0.0 5.05702 -2.24902 0 0.00632894 0.00575319 -0.684106 0.729333 uwb: 0.100068123 1051.27 490.797 -imu_odom_: 1691062458.119220360 0.146046 -0.392649 9.55765 -0.0458064 -0.0106526 0.0213053 0.17 -0.02 pose: 0.31002167 5.05825 -2.25894 0 0.00384563 0.00627849 -0.684216 0.729242 uwb: 0.0 1051.27 490.797 -imu_odom_: 1691062458.146034952 0.919373 -0.184354 10.24 -0.04048 -0.0287621 0.0479369 0.25 0 pose: 0.0 5.05825 -2.25894 0 0.00384563 0.00627849 -0.684216 0.729242 uwb: 0.49858939 1052.17 490.77 -imu_odom_: 1691062458.171221934 0.835576 -0.222661 10.3022 -0.0436758 -0.015979 0.0500674 0.17 0 pose: 0.41195072 5.05947 -2.26887 0 0.00184132 0.00647196 -0.684341 0.729131 uwb: 0.0 1052.17 490.77 -imu_odom_: 1691062458.188074013 0.40462 0.124498 10.0676 -0.0415453 0.0181095 0.0468716 0.17 0 pose: 0.0 5.05947 -2.26887 0 0.00184132 0.00647196 -0.684341 0.729131 uwb: 0.50057833 1052.19 490.583 -imu_odom_: 1691062458.204132847 -0.146046 -0.153229 9.59596 -0.052198 0.00426106 0.0511327 0.17 0 pose: 0.27826271 5.05947 -2.26887 0 0.000158871 0.00386826 -0.684266 0.729223 uwb: 0.0 1052.19 490.583 -imu_odom_: 1691062458.222119382 0.797269 0.0191536 10.0317 -0.0372843 -0.04048 0.0319579 0.17 0 pose: 0.41960903 5.06069 -2.27879 0 0.00112641 0.00172511 -0.684127 0.72936 uwb: 0.0 1052.19 490.583 -imu_odom_: 1691062458.238070894 0.603339 -0.342371 9.99819 -0.0500674 -0.0117179 0.0596548 0.17 0 pose: 0.0 5.06069 -2.27879 0 0.00112641 0.00172511 -0.684127 0.72936 uwb: 0.50077664 1051.74 490.538 -imu_odom_: 1691062458.253000812 0.445322 -0.258574 10.1251 -0.0798948 0.015979 0.0649811 0.17 0 pose: 0.0 5.06069 -2.27879 0 0.00112641 0.00172511 -0.684127 0.72936 uwb: 0.0 1051.74 490.538 -imu_odom_: 1691062458.268061382 0.684742 -0.138864 10.0078 -0.0585895 -0.00213053 0.036219 0.18 0 pose: 0.49100690 5.06192 -2.28872 0 -0.00106853 -0.000104997-0.68396 0.729519 uwb: 0.0 1051.74 490.538 -imu_odom_: 1691062458.284999201 0.536301 -0.143652 10.1011 -0.052198 -0.00852212 0.0575243 0.18 0 pose: 0.0 5.06192 -2.28872 0 -0.00106853 -0.000104997-0.68396 0.729519 uwb: 0.0 1051.74 490.538 -imu_odom_: 1691062458.301998555 0.711078 -0.213084 10.2137 -0.0703074 -0.0436758 0.052198 0.17 0.02 pose: 0.39869302 5.06257 -2.29396 0 -0.00229888 -0.00302165 -0.683795 0.729664 uwb: 0.49925723 1053.54 490.511 -imu_odom_: 1691062458.317148949 0.744597 -0.11971 9.61751 -0.0543285 0.0234358 0.0255663 0.17 0.02 pose: 0.0 5.06257 -2.29396 0 -0.00229888 -0.00302165 -0.683795 0.729664 uwb: 0.0 1053.54 490.511 -imu_odom_: 1691062458.333141582 0.627281 0.0263362 10.2639 -0.052198 -0.00213053 0.0585895 0.17 0.02 pose: 0.0 5.06257 -2.29396 0 -0.00229888 -0.00302165 -0.683795 0.729664 uwb: 0.0 1053.54 490.511 -imu_odom_: 1691062458.348139159 0.153229 -0.433351 9.72046 -0.0798948 -0.0319579 0.0639159 0.18 0 pose: 0.8013815 5.06316 -2.29864 0 -0.00301498 -0.00366602 -0.683755 0.729696 uwb: 0.49960427 1055.34 490.585 -imu_odom_: 1691062458.364133250 1.14203 -0.105345 10.161 -0.0713727 -0.0106526 0.0372843 0.17 0.02 pose: 0.0 5.06316 -2.29864 0 -0.00301498 -0.00366602 -0.683755 0.729696 uwb: 0.0 1055.34 490.585 -imu_odom_: 1691062458.387989214 0.811634 -0.277727 10.1275 -0.0777643 -0.015979 0.0468716 0.17 0.02 pose: 0.47142367 5.06316 -2.29864 0 -0.0034894 -0.00640098 -0.683617 0.729805 uwb: 0.50011755 1059.81 490.784 -imu_odom_: 1691062458.403980972 -0.023942 -0.423774 9.39964 -0.0745685 0.0532632 0.0394148 0.18 0 pose: 0.0 5.06316 -2.29864 0 -0.0034894 -0.00640098 -0.683617 0.729805 uwb: 0.0 1059.81 490.784 -imu_odom_: 1691062458.422037499 0.509965 -0.0670376 10.4794 -0.0607201 -0.0500674 0.0436758 0.18 0 pose: 0.0 5.06316 -2.29864 0 -0.0034894 -0.00640098 -0.683617 0.729805 uwb: 0.0 1059.81 490.784 -imu_odom_: 1691062458.437979096 0.627281 -0.220267 9.81623 -0.0703074 -0.0298274 0.052198 0.18 0 pose: 0.71846985 5.05572 -2.31973 0 -0.00550749 -0.00634633 -0.683475 0.729926 uwb: 0.50048792 1060.74 490.539 -imu_odom_: 1691062458.454993032 0.588974 -0.11971 10.307 -0.0543285 0.0234358 0.0372843 0.17 0.02 pose: 0.0 5.05572 -2.31973 0 -0.00550749 -0.00634633 -0.683475 0.729926 uwb: 0.0 1060.74 490.539 -imu_odom_: 1691062458.472972276 0.371101 -0.280122 9.97664 -0.0500674 0.036219 0.0447411 0.17 0.02 pose: 0.32986154 5.05572 -2.31973 0 -0.00577471 -0.00781782 -0.68339 0.729988 uwb: 0.0 1060.74 490.539 -imu_odom_: 1691062458.497977862 0.349553 -0.397437 10.2975 -0.0447411 0.00426106 0.0340885 0.17 0.02 pose: 0.27983754 5.05697 -2.32965 0 -0.00403533 -0.00631086 -0.683381 0.730023 uwb: 0.49946138 1062.15 490.14 -imu_odom_: 1691062458.525158455 0.54109 -0.237026 9.97185 -0.0649811 0.0181095 0.0436758 0.17 0.02 pose: 0.8070975 5.05697 -2.32965 0 -0.004021 -0.00550787 -0.683398 0.730014 uwb: 0.0 1062.15 490.14 -imu_odom_: 1691062458.541185501 0.0454898 -0.244209 9.56723 -0.0426106 0.0127832 0.0351537 0.2 0 pose: 0.0 5.05697 -2.32965 0 -0.004021 -0.00550787 -0.683398 0.730014 uwb: 0.50133657 1063.9 490.57 -imu_odom_: 1691062458.568083792 -0.023942 -0.316035 9.70609 -0.0585895 0.00639159 0.0500674 0.2 0 pose: 0.44115204 5.05786 -2.33669 0 -0.00647399 -0.00432587 -0.683376 0.730025 uwb: 0.0 1063.9 490.57 -imu_odom_: 1691062458.593086461 0.332794 -0.0861913 9.7444 -0.0330232 -0.0330232 0.0308927 0.23 0 pose: 0.42925337 5.0591 -2.34656 0 -0.00356183 -0.000813554-0.683308 0.730121 uwb: 0.49879062 1064.84 490.263 -imu_odom_: 1691062458.610016990 0.826 -0.0023942 10.4698 -0.056459 -0.0276969 0.0596548 0.23 0 pose: 0.0 5.0591 -2.34656 0 -0.00356183 -0.000813554-0.683308 0.730121 uwb: 0.0 1064.84 490.263 -imu_odom_: 1691062458.627028884 0.229843 -0.718261 9.15303 -0.0266316 -0.0532632 0.0308927 0.23 0 pose: 0.0 5.0591 -2.34656 0 -0.00356183 -0.000813554-0.683308 0.730121 uwb: 0.0 1064.84 490.263 -imu_odom_: 1691062458.641957927 0.529119 -0.301669 10.1706 -0.00852212 0.00532632 0.0191748 0.23 0 pose: 0.49940013 5.06072 -2.35942 0 -0.002041 -0.00277145 -0.68329 0.730139 uwb: 0.50162238 1064.9 489.774 -imu_odom_: 1691062458.659005984 0.502782 0.0622492 10.1897 -0.0500674 -0.0149137 0.0660464 0.23 0 pose: 0.0 5.06072 -2.35942 0 -0.002041 -0.00277145 -0.68329 0.730139 uwb: 0.0 1064.9 489.774 -imu_odom_: 1691062458.672958344 0.605733 -0.186748 9.77313 -0.0671117 -0.0447411 0.0745685 0.17 -0.02 pose: 0.0 5.06072 -2.35942 0 -0.002041 -0.00277145 -0.68329 0.730139 uwb: 0.0 1064.9 489.774 -imu_odom_: 1691062458.688950685 0.916979 -0.177171 9.56484 -0.076699 0.00958738 0.0468716 0.17 -0.02 pose: 0.47016089 5.06072 -2.35942 0 -0.00293295 -0.00409513 -0.683183 0.73023 uwb: 0.49933597 1061.77 489.503 -imu_odom_: 1691062458.704005131 0.172383 -0.0766145 10.2783 -0.103331 -0.0287621 0.0532632 0.19 0 pose: 0.0 5.06072 -2.35942 0 -0.00293295 -0.00409513 -0.683183 0.73023 uwb: 0.0 1061.77 489.503 -imu_odom_: 1691062458.720010304 0.047884 -0.301669 9.49062 -0.0841559 0.00852212 0.0255663 0.19 0 pose: 0.38965237 5.06197 -2.36934 0 -0.00367792 -0.00502202 -0.682965 0.730425 uwb: 0.0 1061.77 489.503 -imu_odom_: 1691062458.737058069 0.186748 -0.332794 9.69891 -0.0490022 -0.0490022 0.0298274 0.19 0 pose: 0.0 5.06197 -2.36934 0 -0.00367792 -0.00502202 -0.682965 0.730425 uwb: 0.50016421 1061.79 489.316 -imu_odom_: 1691062458.763017590 0.696713 -0.500388 9.9527 -0.0468716 -0.0213053 0.0479369 0.18 0 pose: 0.33052938 5.06268 -2.37489 0 -0.00255499 -0.00214245 -0.683115 0.730303 uwb: 0.0 1061.79 489.316 -imu_odom_: 1691062458.780003820 0.416591 -0.306458 9.69173 -0.0319579 0.0628506 0.0372843 0.18 0 pose: 0.0 5.06268 -2.37489 0 -0.00255499 -0.00214245 -0.683115 0.730303 uwb: 0.0 1061.79 489.316 -imu_odom_: 1691062458.805247380 0.19393 -0.1652 9.93833 -0.0798948 0.00532632 0.0660464 0.25 0.02 pose: 0.42945751 5.06394 -2.38485 0 -0.00427496 -0.000284442-0.683038 0.730371 uwb: 0.49932722 1061.34 489.333 -imu_odom_: 1691062458.821048700 0.605733 -0.198719 10.0676 -0.0553937 0.0234358 0.0372843 0.18 -0.02 pose: 0.0 5.06394 -2.38485 0 -0.00427496 -0.000284442-0.683038 0.730371 uwb: 0.0 1061.34 489.333 -imu_odom_: 1691062458.838938997 0.134075 -0.189142 9.9096 -0.0639159 0.0127832 0.0543285 0.18 0 pose: 0.0 5.06394 -2.38485 0 -0.00427496 -0.000284442-0.683038 0.730371 uwb: 0.49885185 1060.01 489.127 -imu_odom_: 1691062458.855925519 0.423774 -0.308852 9.98382 -0.0628506 0.00745685 0.052198 0.18 0 pose: 0.49052862 5.06449 -2.38918 0 -0.00198033 0.0003674 -0.682769 0.730631 uwb: 0.0 1060.01 489.127 -imu_odom_: 1691062458.881040176 0.670376 0.011971 10.0078 -0.0649811 0.00319579 0.0660464 0.18 0.02 pose: 0.26868837 5.06576 -2.3991 0 -0.00266204 0.00188452 -0.682635 0.730752 uwb: 0.0 1060.01 489.127 -imu_odom_: 1691062458.898095815 0.3304 -0.416591 9.4164 -0.0884169 0.00958738 0.072438 0.18 0.02 pose: 0.7014675 5.06576 -2.3991 0 -0.00260408 0.00122823 -0.682569 0.730815 uwb: 0.50088747 1058.24 488.804 -imu_odom_: 1691062458.924039879 0.225055 -0.0861913 9.65342 -0.0585895 0.0223706 0.0340885 0.19 0 pose: 0.35155621 5.06703 -2.40902 0 -0.00301331 0.00146605 -0.682189 0.731168 uwb: 0.0 1058.24 488.804 -imu_odom_: 1691062458.939926649 0.507571 -0.325611 10.1634 -0.072438 -0.04048 0.0479369 0.19 0 pose: 0.0 5.06703 -2.40902 0 -0.00301331 0.00146605 -0.682189 0.731168 uwb: 0.49970343 1057.82 488.45 -imu_odom_: 1691062458.956929502 0.881066 -0.40462 9.75877 -0.0458064 0.015979 0.036219 0.19 0 pose: 0.0 5.06703 -2.40902 0 -0.00301331 0.00146605 -0.682189 0.731168 uwb: 0.0 1057.82 488.45 -imu_odom_: 1691062458.973963852 0.160412 -0.363919 10.1011 -0.0468716 0.0223706 0.0394148 0.19 0 pose: 0.49846981 5.06831 -2.41893 0 -0.00265649 0.000999713 -0.682205 0.731156 uwb: 0.0 1057.82 488.45 -imu_odom_: 1691062458.998975271 0.490811 -0.184354 10.0772 -0.0607201 0.00745685 0.0490022 0.2 0 pose: 0.0 5.06831 -2.41893 0 -0.00265649 0.000999713 -0.682205 0.731156 uwb: 0.49871187 1060.52 488.62 -imu_odom_: 1691062459.23918747 0.0215478 -0.545878 9.42597 -0.0532632 -0.0330232 0.0447411 0.2 0 pose: 0.33010652 5.06831 -2.41893 0 -0.00234935 0.00159872 -0.682192 0.731168 uwb: 0.0 1060.52 488.62 -imu_odom_: 1691062459.45927802 0.308852 -0.464475 9.78031 -0.0532632 0.00532632 0.0394148 0.18 0 pose: 0.0 5.06831 -2.41893 0 -0.00234935 0.00159872 -0.682192 0.731168 uwb: 0.49955775 1059.64 488.469 -imu_odom_: 1691062459.62984323 0.543484 -0.306458 10.3717 -0.04048 0.0383495 0.0372843 0.18 0 pose: 0.48971798 5.06959 -2.42885 0 -0.00230127 0.00268888 -0.68208 0.731269 uwb: 0.0 1059.64 488.469 -imu_odom_: 1691062459.79911651 0.23942 -0.153229 9.63906 -0.0415453 0.00532632 0.0394148 0.18 0 pose: 0.0 5.06959 -2.42885 0 -0.00230127 0.00268888 -0.68208 0.731269 uwb: 0.0 1059.64 488.469 -imu_odom_: 1691062459.95897874 0.153229 -0.225055 10.4076 -0.0298274 0.0351537 0.0213053 0.25 -0.02 pose: 0.49986405 5.07087 -2.43877 0 -0.00174143 0.00321262 -0.682098 0.731251 uwb: 0.49991946 1060.15 487.914 -imu_odom_: 1691062459.122941703 0.531513 -0.174777 9.80186 -0.0500674 -0.0319579 0.0500674 0.25 -0.02 pose: 0.0 5.07087 -2.43877 0 -0.00174143 0.00321262 -0.682098 0.731251 uwb: 0.0 1060.15 487.914 -imu_odom_: 1691062459.138900221 0.0574608 -0.1652 9.44034 -0.0426106 0.0340885 0.0298274 0.2 0 pose: 0.7077088 5.07087 -2.43877 0 -0.0009790550.00362742 -0.682144 0.731208 uwb: 0.49973280 1060.22 487.378 -imu_odom_: 1691062459.155966075 0.179565 -0.299275 10.1418 -0.0735032 -0.0628506 0.0607201 0.2 0 pose: 0.0 5.07087 -2.43877 0 -0.0009790550.00362742 -0.682144 0.731208 uwb: 0.0 1060.22 487.378 -imu_odom_: 1691062459.173048552 0.758962 -0.244209 10.0509 -0.0660464 -0.00532632 0.0319579 0.18 0 pose: 0.0 5.07087 -2.43877 0 -0.0009790550.00362742 -0.682144 0.731208 uwb: 0.0 1060.22 487.378 -imu_odom_: 1691062459.198939550 0.390255 -0.368707 9.94073 -0.056459 -0.0372843 0.04048 0.18 0 pose: 0.77084477 5.07344 -2.4586 0 0.000292936 0.00299985 -0.682047 0.731302 uwb: 0.50043565 1060.69 487.244 -imu_odom_: 1691062459.215928412 0.368707 -0.184354 9.58878 -0.0553937 -0.0308927 0.036219 0.18 0 pose: 0.0 5.07344 -2.4586 0 0.000292936 0.00299985 -0.682047 0.731302 uwb: 0.0 1060.69 487.244 -imu_odom_: 1691062459.231869141 0.505177 -0.0646434 10.0868 -0.0245011 0 0.036219 0.18 0 pose: 0.41868764 5.07473 -2.46852 0 -0.00224376 0.00310191 -0.682073 0.731274 uwb: 0.0 1060.69 487.244 -imu_odom_: 1691062459.248934120 0.131681 -0.177171 9.60075 -0.0543285 -0.0351537 0.0639159 0.23 0 pose: 0.0 5.07473 -2.46852 0 -0.00224376 0.00310191 -0.682073 0.731274 uwb: 0.50026649 1063.43 487.079 -imu_odom_: 1691062459.264927926 0.885855 -0.282516 10.2879 -0.0447411 -0.0213053 0.0511327 0.23 0 pose: 0.33012415 5.06481 -2.46981 0 -0.0003077080.00112115 -0.682045 0.731309 uwb: 0.0 1063.43 487.079 -imu_odom_: 1691062459.282162344 0.507571 0.0191536 10.0724 -0.0447411 0.0117179 0.0532632 0.23 0 pose: 0.0 5.06481 -2.46981 0 -0.0003077080.00112115 -0.682045 0.731309 uwb: 0.0 1063.43 487.079 -imu_odom_: 1691062459.299147124 0.519542 -0.282516 9.56484 -0.056459 -0.0319579 0.0458064 0.18 0 pose: 0.43207949 5.06609 -2.47972 0 8.31651e-05 -0.00115514 -0.681804 0.731534 uwb: 0.50168676 1068.37 487.454 -imu_odom_: 1691062459.314923079 0.940921 -0.129287 10.4938 -0.0617853 0.00319579 0.0468716 0.18 0 pose: 0.0 5.06609 -2.47972 0 8.31651e-05 -0.00115514 -0.681804 0.731534 uwb: 0.0 1068.37 487.454 -imu_odom_: 1691062459.339891638 0.790087 -0.102951 10.0413 -0.0703074 0.00639159 0.0628506 0.19 0.02 pose: 0.6899775 5.06609 -2.47972 0 -0.00066982 -0.00131185 -0.681787 0.731549 uwb: 0.49885499 1067.96 487.115 -imu_odom_: 1691062459.356924829 0.462081 -0.19393 9.83299 -0.0607201 0.00213053 0.0383495 0.22 0 pose: 0.0 5.06609 -2.47972 0 -0.00066982 -0.00131185 -0.681787 0.731549 uwb: 0.0 1067.96 487.115 -imu_odom_: 1691062459.381143305 0.0574608 -0.47884 9.36372 -0.0639159 -0.0149137 0.0596548 0.18 0 pose: 0.67862710 5.06815 -2.49549 0 -0.00232323 -0.00372061 -0.681517 0.73179 uwb: 0.0 1067.96 487.115 -imu_odom_: 1691062459.406021165 0.411803 -0.131681 9.46667 -0.0468716 0.00319579 0.0287621 0.2 -0.02 pose: 0.0 5.06815 -2.49549 0 -0.00232323 -0.00372061 -0.681517 0.73179 uwb: 0.49850794 1069.32 487.178 -imu_odom_: 1691062459.430874529 0.342371 -0.418985 9.59357 -0.0809601 -0.00958738 0.0692422 0.2 -0.02 pose: 0.31113585 5.06869 -2.49955 0 -0.00140239 -0.0016119 -0.681369 0.731937 uwb: 0.0 1069.32 487.178 -imu_odom_: 1691062459.455869918 0.395043 -0.246603 10.1394 -0.0511327 0.0117179 0.0426106 0.18 0.02 pose: 0.42836115 5.06962 -2.50667 0 -0.00103352 0.000101163 -0.681174 0.732121 uwb: 0.49994861 1072.48 487.449 -imu_odom_: 1691062459.471859350 0.636858 -0.0885855 9.991 -0.0713727 -0.0308927 0.0458064 0.18 0.02 pose: 0.7009138 5.06999 -2.50947 0 -0.0009087040.00082894 -0.681165 0.732129 uwb: 0.0 1072.48 487.449 -imu_odom_: 1691062459.488984114 0.351948 -0.253785 10.0604 -0.0756338 0.0553937 0.0372843 0.18 0.02 pose: 0.0 5.06999 -2.50947 0 -0.0009087040.00082894 -0.681165 0.732129 uwb: 0.49998362 1073.83 487.618 -imu_odom_: 1691062459.506113252 0.0933739 -0.0694318 9.83299 -0.0436758 -0.0170442 0.0330232 0.18 0.02 pose: 0.42046369 5.0713 -2.51938 0 -0.0005626690.00196061 -0.681113 0.732175 uwb: 0.0 1073.83 487.618 -imu_odom_: 1691062459.521973782 0.505177 -0.191536 9.71088 -0.0745685 -0.0234358 0.0426106 0.18 0.02 pose: 0.0 5.0713 -2.51938 0 -0.0005626690.00196061 -0.681113 0.732175 uwb: 0.0 1073.83 487.618 -imu_odom_: 1691062459.538975476 0.371101 -0.141258 10.3765 -0.0543285 0.00852212 0.0383495 0.25 0 pose: 0.0 5.0713 -2.51938 0 -0.0005626690.00196061 -0.681113 0.732175 uwb: 0.49993403 1074.3 487.496 -imu_odom_: 1691062459.555032858 0.694318 -0.407014 9.90481 -0.0447411 -0.0276969 0.0426106 0.25 0 pose: 0.48923106 5.07261 -2.5293 0 0.00123507 0.0013413 -0.681142 0.732149 uwb: 0.0 1074.3 487.496 -imu_odom_: 1691062459.573022026 0.318429 -0.172383 9.79947 -0.0639159 -0.0298274 0.0458064 0.25 0 pose: 0.0 5.07261 -2.5293 0 0.00123507 0.0013413 -0.681142 0.732149 uwb: 0.0 1074.3 487.496 -imu_odom_: 1691062459.589854572 0.691924 -0.325611 9.61272 -0.0426106 0.015979 0.0330232 0.18 0.02 pose: 0.44168884 5.07334 -2.53482 0 0.00182254 0.000604892 -0.681087 0.7322 uwb: 0.50111515 1073.85 487.455 -imu_odom_: 1691062459.602846296 0.629675 -0.107739 10.4172 -0.0436758 -0.00852212 0.0436758 0.18 0 pose: 0.0 5.07334 -2.53482 0 0.00182254 0.000604892 -0.681087 0.7322 uwb: 0.0 1073.85 487.455 -imu_odom_: 1691062459.619845365 0.603339 -0.277727 9.56484 -0.0692422 0.0149137 0.0415453 0.18 0 pose: 0.0 5.07334 -2.53482 0 0.00182254 0.000604892 -0.681087 0.7322 uwb: 0.0 1073.85 487.455 -imu_odom_: 1691062459.636842976 0.1652 -0.430956 10.1538 -0.036219 0.036219 0.0330232 0.26 0 pose: 0.22844003 5.07392 -2.53921 0 0.000304686 -0.000660506-0.681119 0.732172 uwb: 0.50041815 1076.09 487.759 -imu_odom_: 1691062459.652845532 0.225055 -0.241814 9.93115 -0.0649811 -0.0287621 0.0543285 0.26 0 pose: 0.0 5.07392 -2.53921 0 0.000304686 -0.000660506-0.681119 0.732172 uwb: 0.0 1076.09 487.759 -imu_odom_: 1691062459.670837907 0.61531 -0.426168 9.75877 -0.0575243 0.00745685 0.0415453 0.26 0 pose: 0.0 5.07392 -2.53921 0 0.000304686 -0.000660506-0.681119 0.732172 uwb: 0.0 1076.09 487.759 -imu_odom_: 1691062459.686888582 0.572214 0.0670376 9.88087 -0.0426106 -0.0276969 0.0458064 0.18 0 pose: 0.74971878 5.07523 -2.54912 0 -0.00186088 0.0010572 -0.681034 0.732249 uwb: 0.50045023 1080.6 488.187 -imu_odom_: 1691062459.701905414 0.593762 -0.155623 9.70609 -0.072438 0.0351537 0.0617853 0.18 0 pose: 0.7005930 5.07523 -2.54912 0 -0.00163557 0.000310871 -0.681019 0.732264 uwb: 0.0 1080.6 488.187 -imu_odom_: 1691062459.717883763 0.296881 -0.21069 10.343 -0.0458064 0.00958738 0.0330232 0.18 0 pose: 0.0 5.07523 -2.54912 0 -0.00163557 0.000310871 -0.681019 0.732264 uwb: 0.0 1080.6 488.187 -imu_odom_: 1691062459.743840671 1.0726 -0.174777 10.2496 -0.0500674 -0.056459 0.052198 0.18 0 pose: 0.40039926 5.07655 -2.55904 0 -0.000490408-0.000601574-0.680917 0.73236 uwb: 0.49720142 1083.36 488.153 -imu_odom_: 1691062459.759839726 1.24738 -0.172383 9.24401 -0.076699 0.0181095 0.104396 0.16 0 pose: 0.0 5.07655 -2.55904 0 -0.000490408-0.000601574-0.680917 0.73236 uwb: 0.0 1083.36 488.153 -imu_odom_: 1691062459.781940937 0.514753 -0.222661 10.2927 -0.0703074 -0.00106526 0.0937433 0.16 0 pose: 0.32968962 5.07786 -2.56895 0 -0.00300891 -0.00357638 -0.680624 0.732618 uwb: 0.0 1083.36 488.153 -imu_odom_: 1691062459.806981530 0.385466 -0.174777 9.30626 -0.0617853 0.00319579 -0.00745685 0.17 0 pose: 0.0 5.07786 -2.56895 0 -0.00300891 -0.00357638 -0.680624 0.732618 uwb: 0.49983488 1084.31 487.929 -imu_odom_: 1691062459.823817284 -0.0550666 -0.110133 9.62469 -0.0479369 0.0213053 -0.02024 0.17 0 pose: 0.38990918 5.07786 -2.56895 0 -0.004591 -0.00231884 -0.680099 0.733102 uwb: 0.0 1084.31 487.929 -imu_odom_: 1691062459.840902678 -0.0047884 -0.323217 9.89045 -0.0703074 -0.00319579 -0.00745685 0.17 0 pose: 0.33973641 5.0792 -2.57886 0 -0.00132734 -0.000791737-0.680773 0.732492 uwb: 0.50086726 1085.69 487.896 -imu_odom_: 1691062459.865867445 0.227449 -0.493206 10.0341 -0.0330232 -0.0351537 0.04048 0.17 0 pose: 0.8038899 5.0792 -2.57886 0 -0.000965967-5.1126e-05 -0.680912 0.732365 uwb: 0.0 1085.69 487.896 -imu_odom_: 1691062459.890853211 0.852336 -0.122104 10.0892 -0.0436758 -0.036219 0.0511327 0.17 -0.02 pose: 0.34011262 5.08015 -2.58599 0 -0.00120457 0.00273621 -0.681056 0.732226 uwb: 0.49993403 1087.5 488.059 -imu_odom_: 1691062459.915934632 0.766145 0.00957681 10.0173 -0.0468716 0.04048 0.0436758 0.17 -0.02 pose: 0.0 5.08015 -2.58599 0 -0.00120457 0.00273621 -0.681056 0.732226 uwb: 0.0 1087.5 488.059 -imu_odom_: 1691062459.930047397 0.0861913 -0.150835 10.4411 -0.0532632 0.0458064 0.04048 0.17 -0.02 pose: 0.50067187 5.08149 -2.59612 0 -0.00219506 -0.00207158 -0.680921 0.732351 uwb: 0.0 1087.5 488.059 -imu_odom_: 1691062459.946811118 0.428562 -0.390255 10.0317 -0.0745685 -0.0127832 0.0415453 0.17 -0.02 pose: 0.0 5.08149 -2.59612 0 -0.00219506 -0.00207158 -0.680921 0.732351 uwb: 0.0 1087.5 488.059 -imu_odom_: 1691062459.971812340 0.593762 -0.117316 9.96946 -0.0809601 -0.0191748 0.0639159 0.18 0 pose: 0.30876486 5.08183 -2.59869 0 -0.00221252 0.000223779 -0.680905 0.732369 uwb: 0.0 1087.5 488.059 -imu_odom_: 1691062459.988935646 0.409408 -0.35913 9.43555 -0.106526 0.00532632 0.0713727 0.18 0 pose: 0.0 5.08183 -2.59869 0 -0.00221252 0.000223779 -0.680905 0.732369 uwb: 0.99971059 1088.85 488.29 -imu_odom_: 1691062460.13868921 0.497994 -0.203507 10.0149 -0.0671117 -0.0394148 0.0308927 0.18 0 pose: 0.42124528 5.08315 -2.6086 0 -0.00370297 -0.0002623 -0.68048 0.732757 uwb: 0.0 1088.85 488.29 -imu_odom_: 1691062460.38805995 0.861913 -0.366313 10.3813 -0.0543285 -0.0255663 0.0394148 0.18 0 pose: 0.0 5.08315 -2.6086 0 -0.00370297 -0.0002623 -0.68048 0.732757 uwb: 0.50127861 1088.84 488.337 -imu_odom_: 1691062460.63795270 0.656011 -0.201113 10.3166 -0.0585895 -0.0681769 0.0479369 0.18 0 pose: 0.49870349 5.08447 -2.61851 0 -0.00594618 -0.00422188 -0.680552 0.732664 uwb: 0.0 1088.84 488.337 -imu_odom_: 1691062460.86778393 0.282516 0.0766145 9.74201 -0.0553937 -0.0575243 0.0447411 0.18 0 pose: 0.0 5.08447 -2.61851 0 -0.00594618 -0.00422188 -0.680552 0.732664 uwb: 0.49841775 1089.82 487.984 -imu_odom_: 1691062460.103779511 0.849942 -0.31364 9.83299 -0.0511327 0.0276969 0.0340885 0.24 0 pose: 0.47972398 5.07589 -2.62975 0 -0.00552446 -0.00742465 -0.680439 0.732747 uwb: 0.0 1089.82 487.984 -imu_odom_: 1691062460.127941712 0.0694318 -0.186748 9.90002 -0.052198 -0.0106526 0.0394148 0.24 0 pose: 0.0 5.07589 -2.62975 0 -0.00552446 -0.00742465 -0.680439 0.732747 uwb: 0.0 1089.82 487.984 -imu_odom_: 1691062460.151997466 0.244209 0.102951 10.2185 -0.0351537 0.0245011 0.0383495 0.21 0.02 pose: 0.41163319 5.07679 -2.63649 0 -0.0051866 -0.00629824 -0.680476 0.732725 uwb: 0.50036295 1088.92 487.827 -imu_odom_: 1691062460.169906442 0.778116 -0.138864 9.96946 -0.0575243 -0.0117179 0.0490022 0.21 0.02 pose: 0.0 5.07679 -2.63649 0 -0.0051866 -0.00629824 -0.680476 0.732725 uwb: 0.0 1088.92 487.827 -imu_odom_: 1691062460.185844844 0.902614 -0.335188 9.91678 -0.052198 0.0223706 0.0298274 0.18 0 pose: 0.0 5.07679 -2.63649 0 -0.0051866 -0.00629824 -0.680476 0.732725 uwb: 0.0 1088.92 487.827 -imu_odom_: 1691062460.200803647 0.679953 -0.0981623 9.23683 -0.0511327 -0.00426106 0.0436758 0.18 0 pose: 0.41964730 5.078 -2.64548 0 -0.003494 -0.00753737 -0.680431 0.732765 uwb: 0.50016464 1092.09 488.149 -imu_odom_: 1691062460.224967597 0.25618 -0.486023 9.69652 -0.0585895 -0.0223706 0.0340885 0.18 0 pose: 0.0 5.078 -2.64548 0 -0.003494 -0.00753737 -0.680431 0.732765 uwb: 0.0 1092.09 488.149 -imu_odom_: 1691062460.250838192 0.184354 -0.277727 10.0485 -0.072438 -0.0287621 0.0671117 0.18 -0.02 pose: 0.39089215 5.07854 -2.64957 0 -0.00502868 -0.00869911 -0.680465 0.732712 uwb: 0.49948804 1092.98 488.356 -imu_odom_: 1691062460.273951675 0.536301 -0.177171 10.0556 -0.0543285 0.00426106 0.0255663 0.19 0 pose: 0.41842535 5.07987 -2.65948 0 -0.00421964 -0.00504595 -0.68025 0.73295 uwb: 0.0 1092.98 488.356 -imu_odom_: 1691062460.292053130 0.270545 -0.146046 10.1921 -0.0479369 -0.00639159 0.0266316 0.19 0 pose: 0.7099839 5.07987 -2.65948 0 -0.00371834 -0.00555173 -0.68029 0.732913 uwb: 0.0 1092.98 488.356 -imu_odom_: 1691062460.316771769 0.555455 -0.265756 9.70609 -0.0298274 -0.0383495 0.0287621 0.18 0 pose: 0.34115099 5.0812 -2.66939 0 -0.00124612 -0.00549736 -0.680474 0.732751 uwb: 0.0 1092.98 488.356 -imu_odom_: 1691062460.334824812 0.667982 -0.347159 10.0533 -0.0372843 -0.0511327 0.0458064 0.18 0 pose: 0.0 5.0812 -2.66939 0 -0.00124612 -0.00549736 -0.680474 0.732751 uwb: 0.0 1092.98 488.356 -imu_odom_: 1691062460.358880858 0.445322 -0.23942 10.0796 -0.0585895 -0.0266316 0.0543285 0.2 0 pose: 0.0 5.0812 -2.66939 0 -0.00124612 -0.00549736 -0.680474 0.732751 uwb: 0.99862613 1089.85 487.822 -imu_odom_: 1691062460.376879074 0.610521 0.0622492 10.0724 -0.0394148 0.0234358 0.0468716 0.2 0 pose: 0.42771682 5.08194 -2.6749 0 -0.00567558 -0.005819 -0.680501 0.732703 uwb: 0.0 1089.85 487.822 -imu_odom_: 1691062460.393933562 0.275333 -0.282516 9.58399 -0.0553937 -0.02024 0.0447411 0.2 0 pose: 0.0 5.08194 -2.6749 0 -0.00567558 -0.005819 -0.680501 0.732703 uwb: 0.50119120 1086.34 486.814 -imu_odom_: 1691062460.407762281 0.720655 0.0670376 10.2903 -0.04048 -0.02024 0.0394148 0.19 0 pose: 0.59108750 5.08386 -2.68922 0 -0.00282922 -0.00396387 -0.680308 0.73291 uwb: 0.0 1086.34 486.814 -imu_odom_: 1691062460.424828434 0.830788 -0.138864 9.92397 -0.0511327 -0.0117179 0.0649811 0.19 0 pose: 0.0 5.08386 -2.68922 0 -0.00282922 -0.00396387 -0.680308 0.73291 uwb: 0.0 1086.34 486.814 -imu_odom_: 1691062460.437740546 0.562637 -0.581791 9.50498 -0.0894822 -0.00852212 0.0596548 0.19 0 pose: 0.0 5.08386 -2.68922 0 -0.00282922 -0.00396387 -0.680308 0.73291 uwb: 0.50043002 1088.63 486.941 -imu_odom_: 1691062460.452845749 0.658405 -0.272939 10.1466 -0.0585895 0.0149137 0.0351537 0.19 0 pose: 0.36952409 5.08386 -2.68922 0 -0.00419427 -0.00649374 -0.680092 0.733086 uwb: 0.0 1088.63 486.941 -imu_odom_: 1691062460.478729467 0.890643 -0.316035 9.56484 -0.0660464 -0.0511327 0.0617853 0.24 0 pose: 0.0 5.08386 -2.68922 0 -0.00419427 -0.00649374 -0.680092 0.733086 uwb: 0.0 1088.63 486.941 -imu_odom_: 1691062460.491735486 0.387861 -0.3304 10.4603 -0.0628506 -0.015979 0.0426106 0.24 0 pose: 0.29966017 5.08519 -2.69913 0 -0.00705273 -0.00671282 -0.67998 0.733166 uwb: 0.49966886 1088.7 486.525 -imu_odom_: 1691062460.507797833 0.383072 -0.035913 10.0293 -0.0490022 -0.00852212 0.04048 0.17 0 pose: 0.0 5.08519 -2.69913 0 -0.00705273 -0.00671282 -0.67998 0.733166 uwb: 0.0 1088.7 486.525 -imu_odom_: 1691062460.525787009 0.270545 -0.225055 9.65342 -0.0735032 -0.0223706 0.0649811 0.17 0 pose: 0.0 5.08519 -2.69913 0 -0.00705273 -0.00671282 -0.67998 0.733166 uwb: 0.0 1088.7 486.525 -imu_odom_: 1691062460.542814957 0.797269 0.134075 10.5201 -0.0639159 -0.0266316 0.0436758 0.17 0 pose: 0.38943398 5.08654 -2.70904 0 -0.00770376 -0.00666199 -0.679811 0.733317 uwb: 0.50019672 1083.78 485.675 -imu_odom_: 1691062460.556804076 0.253785 -0.148441 9.37809 -0.0692422 0.0127832 0.04048 0.18 0 pose: 0.33134624 5.08654 -2.70904 0 -0.00579857 -0.00604064 -0.679649 0.73349 uwb: 0.0 1083.78 485.675 -imu_odom_: 1691062460.573872561 0.328006 -0.280122 10.422 -0.0745685 -0.0479369 0.0543285 0.18 0 pose: 0.0 5.08654 -2.70904 0 -0.00579857 -0.00604064 -0.679649 0.73349 uwb: 0.0 1083.78 485.675 -imu_odom_: 1691062460.595753889 -0.0335188 -0.117316 10.2807 -0.0394148 0.0308927 0.036219 0.2 0 pose: 0.40942551 5.08789 -2.71894 0 -0.00422852 -0.00463582 -0.679554 0.733598 uwb: 0.0 1083.78 485.675 -imu_odom_: 1691062460.619733527 0.282516 -0.4956 9.33978 -0.0820254 -0.00106526 0.0383495 0.2 0 pose: 0.0 5.08789 -2.71894 0 -0.00422852 -0.00463582 -0.679554 0.733598 uwb: 0.0 1083.78 485.675 -imu_odom_: 1691062460.636734353 0.328006 -0.0909797 9.68694 -0.0340885 0.00213053 0.0447411 0.2 0 pose: 0.6878197 5.08789 -2.71894 0 -0.00355964 -0.00416522 -0.679566 0.733594 uwb: 0.99925606 1086.1 485.582 -imu_odom_: 1691062460.661877029 0.438139 -0.0933739 9.94791 -0.0607201 -0.0223706 0.0479369 0.19 0 pose: 0.0 5.08789 -2.71894 0 -0.00355964 -0.00416522 -0.679566 0.733594 uwb: 0.0 1086.1 485.582 -imu_odom_: 1691062460.686873595 0.160412 0.0263362 9.71567 -0.0490022 -0.00213053 0.0372843 0.21 0 pose: 0.81126271 5.09059 -2.73876 0 0.000470234 -0.00277118 -0.679494 0.733676 uwb: 0.50048835 1087.06 485.34 -imu_odom_: 1691062460.709787892 0.3304 -0.320823 9.42358 -0.0671117 0.0351537 0.0351537 0.19 0.02 pose: 0.0 5.09059 -2.73876 0 0.000470234 -0.00277118 -0.679494 0.733676 uwb: 0.0 1087.06 485.34 -imu_odom_: 1691062460.733871935 0.52433 -0.416591 9.63666 -0.0511327 0.0181095 0.0511327 0.19 0.02 pose: 0.32056451 5.09195 -2.74867 0 0.00274815 -0.00154618 -0.679531 0.73364 uwb: 0.0 1087.06 485.34 -imu_odom_: 1691062460.750818226 0.191536 -0.225055 10.3118 -0.0553937 -0.0383495 0.0490022 0.19 0.02 pose: 0.0 5.09195 -2.74867 0 0.00274815 -0.00154618 -0.679531 0.73364 uwb: 0.49845566 1086.65 485.055 -imu_odom_: 1691062460.776718276 0.617704 -0.035913 10.3046 -0.0479369 -0.0319579 0.0436758 0.25 0 pose: 0.47955776 5.09195 -2.74867 0 0.000472739 0.00121218 -0.679431 0.733738 uwb: 0.0 1086.65 485.055 -imu_odom_: 1691062460.801844911 0.778116 -0.129287 9.9096 -0.04048 -0.00532632 0.04048 0.23 0.02 pose: 0.34829020 5.0933 -2.75858 0 0.000518243 -0.0011454 -0.67936 0.733804 uwb: 0.50023172 1089.38 485.308 -imu_odom_: 1691062460.814717653 0.191536 -0.0694318 9.99579 -0.0308927 0.0372843 0.0319579 0.23 0.02 pose: 0.0 5.0933 -2.75858 0 0.000518243 -0.0011454 -0.67936 0.733804 uwb: 0.0 1089.38 485.308 -imu_odom_: 1691062460.831748809 0.411803 -0.220267 10.0149 -0.0532632 -0.00532632 0.0436758 0.23 0.02 pose: 0.0 5.0933 -2.75858 0 0.000518243 -0.0011454 -0.67936 0.733804 uwb: 0.0 1089.38 485.308 -imu_odom_: 1691062460.848707057 0.205901 -0.136469 9.84496 -0.056459 0.0138484 0.0436758 0.18 0 pose: 0.8080605 5.0933 -2.75858 0 0.000118329 -0.00186703 -0.679356 0.733807 uwb: 0.50069250 1090.39 484.84 -imu_odom_: 1691062460.865696510 0.715866 -0.263362 9.7875 -0.0713727 -0.0447411 0.0500674 0.18 0 pose: 0.0 5.0933 -2.75858 0 0.000118329 -0.00186703 -0.679356 0.733807 uwb: 0.0 1090.39 484.84 -imu_odom_: 1691062460.883701434 0.608127 -0.232238 10.1203 -0.0777643 -0.0149137 0.0426106 0.18 -0.02 pose: 0.53906867 5.09466 -2.76848 0 0.000651531 -0.000824718-0.679351 0.733813 uwb: 0.0 1090.39 484.84 -imu_odom_: 1691062460.899692331 0.21069 -0.263362 9.69652 -0.0628506 0.0596548 0.0298274 0.18 0 pose: 0.0 5.09466 -2.76848 0 0.000651531 -0.000824718-0.679351 0.733813 uwb: 0.50038919 1090.45 484.516 -imu_odom_: 1691062460.916694324 0.0694318 -0.227449 10.1275 -0.0553937 -0.0213053 0.0511327 0.18 0 pose: 0.0 5.09466 -2.76848 0 0.000651531 -0.000824718-0.679351 0.733813 uwb: 0.0 1090.45 484.516 -imu_odom_: 1691062460.932692803 0.840365 -0.25618 9.77313 -0.0415453 -0.0415453 0.0394148 0.18 0 pose: 0.68999821 5.08611 -2.77975 0 -0.000227338-2.67991e-05-0.679272 0.733886 uwb: 0.0 1090.45 484.516 -imu_odom_: 1691062460.949728917 0.220267 -0.268151 9.61511 -0.0287621 0.0479369 0.0351537 0.26 0 pose: 0.0 5.08611 -2.77975 0 -0.000227338-2.67991e-05-0.679272 0.733886 uwb: 0.49950263 1091.41 484.351 -imu_odom_: 1691062460.965754518 0.746991 -0.342371 9.9527 -0.0468716 0.00639159 0.0532632 0.26 0 pose: 0.0 5.08611 -2.77975 0 -0.000227338-2.67991e-05-0.679272 0.733886 uwb: 0.0 1091.41 484.351 -imu_odom_: 1691062460.982688852 0.270545 -0.0933739 9.8665 -0.0639159 0.0287621 0.0447411 0.26 0 pose: 0.32027288 5.08747 -2.78966 0 -0.000454082-9.12985e-05-0.679247 0.73391 uwb: 0.0 1091.41 484.351 -imu_odom_: 1691062461.7693586 0.0933739 -0.134075 10.137 -0.0660464 0.0266316 0.056459 0.2 -0.02 pose: 0.42955995 5.08883 -2.79956 0 0.000839506 0.000488845 -0.67915 0.733999 uwb: 0.50113870 1094.6 484.666 -imu_odom_: 1691062461.23760898 0.399832 -0.198719 9.81862 -0.0681769 0.015979 0.056459 0.2 -0.02 pose: 0.8087022 5.08883 -2.79956 0 0.00157296 0.00104824 -0.679099 0.734044 uwb: 0.0 1094.6 484.666 -imu_odom_: 1691062461.40750066 0.500388 -0.177171 9.81623 -0.0447411 0.0575243 0.0340885 0.18 0 pose: 0.0 5.08883 -2.79956 0 0.00157296 0.00104824 -0.679099 0.734044 uwb: 0.49741466 1095.14 484.287 -imu_odom_: 1691062461.57805436 0.124498 -0.184354 9.6199 -0.0905475 0.0255663 0.0681769 0.23 0 pose: 0.49974192 5.0902 -2.80947 0 0.0015567 0.00011199 -0.678927 0.734204 uwb: 0.0 1095.14 484.287 -imu_odom_: 1691062461.75734834 0.76375 -0.263362 10.501 -0.0788296 -0.0330232 0.036219 0.18 0 pose: 0.0 5.0902 -2.80947 0 0.0015567 0.00011199 -0.678927 0.734204 uwb: 0.0 1095.14 484.287 -imu_odom_: 1691062461.91817894 0.438139 -0.0694318 9.35415 -0.056459 -0.015979 0.0340885 0.18 0 pose: 0.0 5.0902 -2.80947 0 0.0015567 0.00011199 -0.678927 0.734204 uwb: 0.50045066 1097.06 483.999 -imu_odom_: 1691062461.116722023 -0.0933739 -0.31364 9.76355 -0.0617853 0.0234358 0.0340885 0.18 0.02 pose: 0.25001244 5.09157 -2.81937 0 0.00194685 0.0011945 -0.678757 0.734359 uwb: 0.0 1097.06 483.999 -imu_odom_: 1691062461.132840662 0.0215478 -0.0143652 10.2208 -0.0468716 -0.04048 0.0426106 0.18 0.02 pose: 0.0 5.09157 -2.81937 0 0.00194685 0.0011945 -0.678757 0.734359 uwb: 0.0 1097.06 483.999 -imu_odom_: 1691062461.156829350 0.225055 -0.114922 9.71088 -0.0500674 -0.0383495 0.0458064 0.23 0 pose: 0.67089352 5.09294 -2.82928 0 0.00431674 0.00179167 -0.678829 0.734281 uwb: 0.50167551 1098.05 483.685 -imu_odom_: 1691062461.173681159 0.64404 -0.222661 9.75877 -0.0479369 -0.0181095 0.0415453 0.23 0 pose: 0.6892782 5.09294 -2.82928 0 0.00491803 0.00186512 -0.678811 0.734294 uwb: 0.0 1098.05 483.685 -imu_odom_: 1691062461.189837419 0.3304 -0.179565 10.3717 -0.0703074 0.0255663 0.0426106 0.23 0 pose: 0.0 5.09294 -2.82928 0 0.00491803 0.00186512 -0.678811 0.734294 uwb: 0.50074521 1097.65 483.345 -imu_odom_: 1691062461.206838836 0.323217 -0.339977 9.68455 -0.0575243 -0.0415453 0.0447411 0.18 -0.02 pose: 0.40973190 5.09432 -2.83919 0 0.00438291 0.00129576 -0.678753 0.734352 uwb: 0.0 1097.65 483.345 -imu_odom_: 1691062461.222671674 0.560243 -0.0837971 10.0245 -0.0287621 0.0340885 0.0340885 0.18 -0.02 pose: 0.0 5.09432 -2.83919 0 0.00438291 0.00129576 -0.678753 0.734352 uwb: 0.0 1097.65 483.345 -imu_odom_: 1691062461.239706337 0.325611 -0.299275 9.5816 -0.0532632 -0.0181095 0.0543285 0.24 0 pose: 0.0 5.09432 -2.83919 0 0.00438291 0.00129576 -0.678753 0.734352 uwb: 0.49869792 1099.03 483.442 -imu_odom_: 1691062461.255669535 0.339977 -0.292093 9.91918 -0.0447411 -0.0340885 0.0255663 0.24 0 pose: 0.49964574 5.09569 -2.84909 0 0.00177354 0.00194713 -0.678711 0.734401 uwb: 0.0 1099.03 483.442 -imu_odom_: 1691062461.280713649 0.0814029 -0.0454898 10.1442 -0.0553937 0 0.0490022 0.24 -0.02 pose: 0.0 5.09569 -2.84909 0 0.00177354 0.00194713 -0.678711 0.734401 uwb: 0.0 1099.03 483.442 -imu_odom_: 1691062461.297664030 0.59855 -0.177171 9.85453 -0.0596548 -0.0149137 0.0447411 0.17 0.02 pose: 0.33016235 5.09569 -2.84909 0 0.000965264 0.00379043 -0.678717 0.73439 uwb: 0.49969824 1099.54 483.252 -imu_odom_: 1691062461.314667488 0.23942 0.107739 10.0317 -0.0436758 -0.0255663 0.0340885 0.17 0.05 pose: 0.0 5.09569 -2.84909 0 0.000965264 0.00379043 -0.678717 0.73439 uwb: 0.0 1099.54 483.252 -imu_odom_: 1691062461.330685514 0.73502 -0.380678 9.63427 -0.072438 -0.036219 0.0585895 0.17 0.05 pose: 0.42016367 5.09707 -2.859 0 0.00238584 0.00214089 -0.678637 0.734467 uwb: 0.0 1099.54 483.252 -imu_odom_: 1691062461.347665933 0.818817 -0.189142 10.0963 -0.0575243 -0.00213053 0.0234358 0.26 0 pose: 0.0 5.09707 -2.859 0 0.00238584 0.00214089 -0.678637 0.734467 uwb: 0.50044190 1102.79 483.386 -imu_odom_: 1691062461.363698540 0.294487 -0.146046 9.45949 -0.0436758 -0.00532632 0.0234358 0.26 0 pose: 0.0 5.09707 -2.859 0 0.00238584 0.00214089 -0.678637 0.734467 uwb: 0.0 1102.79 483.386 -imu_odom_: 1691062461.380786573 0.438139 0.0047884 10.4698 -0.0458064 -0.0415453 0.04048 0.26 0 pose: 0.31958768 5.09844 -2.8689 0 0.000953096 0.000438766 -0.678586 0.73452 uwb: 0.0 1102.79 483.386 -imu_odom_: 1691062461.404648983 0.40462 -0.0861913 9.71567 -0.0191748 0.0138484 0.0245011 0.18 0 pose: 0.43123995 5.09844 -2.8689 0 0.00256151 -0.00166051 -0.67873 0.734381 uwb: 0.49833339 1105.08 483.631 -imu_odom_: 1691062461.430640034 0.775721 -0.550666 9.72525 -0.0639159 -0.0266316 0.0511327 0.18 0 pose: 0.7878798 5.09844 -2.8689 0 0.00320077 -0.00232597 -0.678771 0.734339 uwb: 0.0 1105.08 483.631 -imu_odom_: 1691062461.443636143 0.742203 -0.146046 9.89763 -0.0383495 0.0415453 0.0426106 0.19 0 pose: 0.0 5.09844 -2.8689 0 0.00320077 -0.00232597 -0.678771 0.734339 uwb: 0.49946784 1104.16 483.563 -imu_odom_: 1691062461.460631727 0.378284 -0.100556 9.9527 -0.0468716 0.0223706 0.0543285 0.19 0 pose: 0.47988458 5.09982 -2.87881 0 0.00133895 -0.00407346 -0.678733 0.734373 uwb: 0.0 1104.16 483.563 -imu_odom_: 1691062461.476630505 0.459687 -0.282516 9.68455 -0.0490022 -0.02024 0.0447411 0.19 0 pose: 0.0 5.09982 -2.87881 0 0.00133895 -0.00407346 -0.678733 0.734373 uwb: 0.0 1104.16 483.563 -imu_odom_: 1691062461.493631922 0.557849 -0.155623 9.76116 -0.0500674 0.0415453 0.0479369 0.18 0 pose: 0.30985000 5.10119 -2.88871 0 0.0021779 -0.00352439 -0.678622 0.734476 uwb: 0.50075104 1105.6 483.401 -imu_odom_: 1691062461.509637698 0.464475 -0.102951 9.96946 -0.0649811 -0.00213053 0.0649811 0.18 0 pose: 0.0 5.10119 -2.88871 0 0.0021779 -0.00352439 -0.678622 0.734476 uwb: 0.0 1105.6 483.401 -imu_odom_: 1691062461.526717857 0.416591 -0.248997 9.79468 -0.0585895 0.00639159 0.0458064 0.24 0 pose: 0.41998869 5.10257 -2.89862 0 0.00142961 -0.00533787 -0.678395 0.734676 uwb: 0.0 1105.6 483.401 -imu_odom_: 1691062461.542763588 0.263362 -0.011971 9.8258 -0.0436758 -0.00639159 0.0468716 0.24 0 pose: 0.8017908 5.10257 -2.89862 0 0.00107228 -0.00458931 -0.678379 0.734697 uwb: 0.50023775 1105.69 482.964 -imu_odom_: 1691062461.568650525 0.481235 -0.339977 10.0844 -0.0713727 -0.0138484 0.0490022 0.23 0.02 pose: 0.0 5.10257 -2.89862 0 0.00107228 -0.00458931 -0.678379 0.734697 uwb: 0.0 1105.69 482.964 -imu_odom_: 1691062461.593729343 0.356736 -0.0383072 9.95748 -0.0479369 -0.0181095 0.0458064 0.18 0.02 pose: 0.25107982 5.10257 -2.89862 0 0.00230926 -0.00355936 -0.67832 0.734754 uwb: 0.50029317 1112.11 483.669 -imu_odom_: 1691062461.619633487 0.426168 -0.162806 9.50737 -0.0681769 -0.0266316 0.0500674 0.23 0 pose: 0.50965755 5.10396 -2.90852 0 0.00216295 -0.00310051 -0.678175 0.734891 uwb: 0.0 1112.11 483.669 -imu_odom_: 1691062461.642642574 0.433351 -0.162806 9.48822 -0.0745685 0.015979 0.0447411 0.23 0 pose: 0.0 5.10396 -2.90852 0 0.00216295 -0.00310051 -0.678175 0.734891 uwb: 0.50219463 1108.97 482.902 -imu_odom_: 1691062461.660812863 0.636858 -0.203507 10.3837 -0.0649811 -0.0660464 0.0511327 0.18 0.02 pose: 0.33035191 5.10535 -2.91842 0 3.847e-05 -0.00255865 -0.678062 0.735 uwb: 0.0 1108.97 482.902 -imu_odom_: 1691062461.676757105 0.632069 -0.347159 9.7444 -0.052198 0.0596548 0.0234358 0.18 0.02 pose: 0.0 5.10535 -2.91842 0 3.847e-05 -0.00255865 -0.678062 0.735 uwb: 0.0 1108.97 482.902 -imu_odom_: 1691062461.693635452 0.160412 -0.248997 9.8689 -0.0639159 -0.0383495 0.0468716 0.25 0.02 pose: 0.49992571 5.09684 -2.92972 0 -0.00171031 -0.00394233 -0.678039 0.735013 uwb: 0.49972448 1108.13 482.436 -imu_odom_: 1691062461.709758174 0.543484 -0.280122 10.0317 -0.0713727 -0.036219 0.0511327 0.25 0.02 pose: 0.8064569 5.09684 -2.92972 0 -0.00140347 -0.00333342 -0.67802 0.735034 uwb: 0.0 1108.13 482.436 -imu_odom_: 1691062461.726753467 0.596156 -0.265756 9.81623 -0.0511327 -0.0298274 0.0415453 0.25 0.02 pose: 0.0 5.09684 -2.92972 0 -0.00140347 -0.00333342 -0.67802 0.735034 uwb: 0.0 1108.13 482.436 -imu_odom_: 1691062461.742756327 0.395043 -0.416591 10.1227 -0.0660464 -0.0287621 0.0543285 0.18 0 pose: 0.41931793 5.09823 -2.93962 0 -0.0046087 -0.00375059 -0.677905 0.735126 uwb: 0.49646109 1111.32 482.969 -imu_odom_: 1691062461.759641090 0.452504 -0.184354 9.60075 -0.0426106 -0.00213053 0.0340885 0.23 0 pose: 0.0 5.09823 -2.93962 0 -0.0046087 -0.00375059 -0.677905 0.735126 uwb: 0.0 1111.32 482.969 -imu_odom_: 1691062461.784762779 0.497994 -0.265756 9.93115 -0.0692422 0.015979 0.04048 0.23 0 pose: 0.24023101 5.09823 -2.93962 0 -0.00433218 -0.00242893 -0.677833 0.735199 uwb: 0.0 1111.32 482.969 -imu_odom_: 1691062461.801757197 -0.0143652 -0.251391 9.62708 -0.0394148 0.0138484 0.0351537 0.23 0 pose: 0.0 5.09823 -2.93962 0 -0.00433218 -0.00242893 -0.677833 0.735199 uwb: 0.50021735 1107.32 481.812 -imu_odom_: 1691062461.826805393 0.141258 -0.356736 9.70609 -0.0628506 0.036219 0.0511327 0.23 0 pose: 0.41124257 5.09963 -2.94952 0 -0.00505422 -0.000745122-0.677848 0.735185 uwb: 0.0 1107.32 481.812 -imu_odom_: 1691062461.851671901 0.172383 -0.107739 9.8665 -0.0319579 -0.00532632 0.0287621 0.21 0 pose: 0.34904568 5.10057 -2.95614 0 -0.0027777 0.00260819 -0.677754 0.735279 uwb: 0.50147429 1109.61 482.077 -imu_odom_: 1691062461.866597464 0.536301 0.0861913 10.3022 -0.0575243 -0.00532632 0.0490022 0.21 0 pose: 0.7947332 5.10103 -2.95942 0 -0.001927 0.00266779 -0.677785 0.735253 uwb: 0.0 1109.61 482.077 -imu_odom_: 1691062461.890872829 0.548272 -0.328006 9.84975 -0.0436758 -0.00958738 0.04048 0.18 0 pose: 0.0 5.10103 -2.95942 0 -0.001927 0.00266779 -0.677785 0.735253 uwb: 0.49836254 1112.38 482.429 -imu_odom_: 1691062461.915586520 0.634463 0.0766145 9.89284 -0.0340885 -0.0117179 0.0383495 0.18 0 pose: 0.40035877 5.10243 -2.96932 0 -0.0003767970.00111439 -0.677797 0.735248 uwb: 0.0 1112.38 482.429 -imu_odom_: 1691062461.938714012 0.23942 -0.189142 9.62708 -0.0575243 0.0319579 0.0415453 0.18 0.02 pose: 0.0 5.10243 -2.96932 0 -0.0003767970.00111439 -0.677797 0.735248 uwb: 0.50006861 1114.27 482.435 -imu_odom_: 1691062461.962702992 0.311246 -0.174777 10.2999 -0.0745685 0.00532632 0.0532632 0.18 0.02 pose: 0.47937131 5.10243 -2.96932 0 -0.000547706-0.00149997 -0.677802 0.735243 uwb: 0.0 1114.27 482.435 -imu_odom_: 1691062461.987740981 0.3304 -0.023942 10.252 -0.0479369 0.0127832 0.0308927 0.2 0 pose: 0.39977259 5.10383 -2.97923 0 0.00278147 0.00127917 -0.677669 0.735361 uwb: 0.49982947 1115.26 482.269 -imu_odom_: 1691062462.1587204 0.42138 -0.397437 9.74201 -0.0436758 0.0234358 0.0468716 0.2 0 pose: 0.0 5.10383 -2.97923 0 0.00278147 0.00127917 -0.677669 0.735361 uwb: 0.0 1115.26 482.269 -imu_odom_: 1691062462.25614106 0.758962 -0.318429 9.37569 -0.0479369 0.0298274 0.0383495 0.17 -0.02 pose: 0.0 5.10383 -2.97923 0 0.00278147 0.00127917 -0.677669 0.735361 uwb: 0.0 1115.26 482.269 -imu_odom_: 1691062462.50617401 0.725443 -0.136469 9.62469 -0.0490022 0.00532632 0.0585895 0.17 -0.02 pose: 0.38884212 5.10523 -2.98913 0 0.00392052 0.000523435 -0.677706 0.735322 uwb: 0.50375502 1115.31 482.039 -imu_odom_: 1691062462.64629862 0.457293 -0.500388 9.67497 -0.0713727 0.0276969 0.056459 0.19 -0.02 pose: 0.0 5.10523 -2.98913 0 0.00392052 0.000523435 -0.677706 0.735322 uwb: 0.0 1115.31 482.039 -imu_odom_: 1691062462.88634308 0.462081 -0.37589 10.0126 -0.056459 -0.0276969 0.0500674 0.19 -0.02 pose: 0.55999390 5.10664 -2.99903 0 0.000294648 -0.00180333 -0.677496 0.735524 uwb: 0.49690166 1113.05 481.494 -imu_odom_: 1691062462.106585878 0.395043 -0.320823 9.76595 -0.0585895 -0.0117179 0.0628506 0.23 -0.02 pose: 0.0 5.10664 -2.99903 0 0.000294648 -0.00180333 -0.677496 0.735524 uwb: 0.0 1113.05 481.494 -imu_odom_: 1691062462.130564661 0.469264 0.0215478 9.8665 -0.0490022 0.0191748 0.0415453 0.23 -0.02 pose: 0.39012256 5.10805 -3.00893 0 -0.00275936 0.000517392 -0.677286 0.735715 uwb: 0.0 1113.05 481.494 -imu_odom_: 1691062462.155631532 0.349553 -0.363919 9.32781 -0.0862864 0.00852212 0.0660464 0.23 0 pose: 0.33965811 5.10899 -3.01552 0 -0.00133826 -0.000259788-0.677186 0.73581 uwb: 0.50074833 1111.79 480.763 -imu_odom_: 1691062462.178564513 0.25618 -0.253785 9.70849 -0.0585895 0.00213053 0.0351537 0.23 0 pose: 0.8013536 5.10946 -3.01883 0 -0.00165086 0.000622491 -0.677107 0.735882 uwb: 0.0 1111.79 480.763 -imu_odom_: 1691062462.203563434 -0.19393 -0.150835 10.0437 -0.0543285 0.052198 0.0415453 0.19 0 pose: 0.39986316 5.11037 -3.02515 0 -0.0004610510.00395982 -0.676967 0.736003 uwb: 0.0 1111.79 480.763 -imu_odom_: 1691062462.229576077 0.488417 -0.201113 10.1634 -0.0543285 0.0372843 0.0415453 0.22 0 pose: 0.0 5.11037 -3.02515 0 -0.0004610510.00395982 -0.676967 0.736003 uwb: 0.0 1111.79 480.763 -imu_odom_: 1691062462.243623242 0.136469 -0.385466 9.46667 -0.0639159 0.0479369 0.04048 0.22 0 pose: 0.33086533 5.11088 -3.02873 0 0.00185857 0.005281 -0.676934 0.736023 uwb: 0.99817786 1112.71 480.868 -imu_odom_: 1691062462.267613399 0.0646434 -0.191536 10.0461 -0.0436758 -0.00532632 0.0436758 0.22 0 pose: 0.0 5.11088 -3.02873 0 0.00185857 0.005281 -0.676934 0.736023 uwb: 0.0 1112.71 480.868 -imu_odom_: 1691062462.284540456 0.821211 -0.155623 9.72764 -0.0479369 0.0394148 0.036219 0.18 0 pose: 0.0 5.11088 -3.02873 0 0.00185857 0.005281 -0.676934 0.736023 uwb: 0.0 1112.71 480.868 -imu_odom_: 1691062462.308551027 0.694318 -0.0646434 9.34217 -0.0213053 0.0127832 0.0266316 0.18 0 pose: 0.39109662 5.11231 -3.03862 0 0.00237599 0.00595552 -0.676903 0.736045 uwb: 0.50003674 1116 481.04 -imu_odom_: 1691062462.334544713 0.565032 -0.222661 9.89045 -0.0500674 -0.00106526 0.0500674 0.23 0 pose: 0.57790319 5.11373 -3.04852 0 0.0029088 0.00314501 -0.677017 0.735955 uwb: 0.0 1116 481.04 -imu_odom_: 1691062462.347602946 0.0790087 -0.311246 9.73722 -0.0394148 0.0351537 0.0319579 0.23 0 pose: 0.0 5.11373 -3.04852 0 0.0029088 0.00314501 -0.677017 0.735955 uwb: 0.50014173 1117.42 481.094 -imu_odom_: 1691062462.362540471 0.184354 -0.126893 10.0963 -0.04048 0.0617853 0.036219 0.17 0 pose: 0.0 5.11373 -3.04852 0 0.0029088 0.00314501 -0.677017 0.735955 uwb: 0.0 1117.42 481.094 -imu_odom_: 1691062462.379521481 0.672771 -0.129287 9.81623 -0.056459 -0.02024 0.0490022 0.25 0 pose: 0.39051919 5.1144 -3.05316 0 0.00195225 0.00258582 -0.676957 0.736015 uwb: 0.0 1117.42 481.094 -imu_odom_: 1691062462.404688092 0.859518 -0.141258 10.1035 -0.0543285 -0.0383495 0.0532632 0.18 0.02 pose: 0.0 5.1144 -3.05316 0 0.00195225 0.00258582 -0.676957 0.736015 uwb: 0.50122369 1119.38 480.889 -imu_odom_: 1691062462.431540351 0.37589 -0.306458 10.1921 -0.052198 0.00745685 0.0245011 0.23 0 pose: 0.31918535 5.11515 -3.05842 0 0.0028275 0.00174003 -0.676913 0.736056 uwb: 0.0 1119.38 480.889 -imu_odom_: 1691062462.455581543 0.373495 -0.390255 9.88087 -0.0543285 -0.0319579 0.0351537 0.23 0 pose: 0.33144276 5.11658 -3.06832 0 0.00061301 5.84613e-05 -0.676832 0.736137 uwb: 0.50093498 1120.35 480.823 -imu_odom_: 1691062462.481528568 0.624887 -0.25618 9.62948 -0.0245011 -0.00639159 0.0276969 0.21 0 pose: 0.42915786 5.11753 -3.0749 0 -0.00227022 0.00314206 -0.676973 0.735998 uwb: 0.0 1120.35 480.823 -imu_odom_: 1691062462.497646339 0.639252 -0.162806 10.4818 -0.0426106 -0.015979 0.0436758 0.21 0 pose: 0.8012662 5.118 -3.07822 0 -0.00264715 0.00239728 -0.677011 0.735964 uwb: 0.49694250 1123.13 481.164 -imu_odom_: 1691062462.514692967 0.31364 0.00718261 9.78989 -0.0426106 -0.00532632 0.052198 0.21 0 pose: 0.0 5.118 -3.07822 0 -0.00264715 0.00239728 -0.677011 0.735964 uwb: 0.0 1123.13 481.164 -imu_odom_: 1691062462.530658796 0.0550666 -0.265756 9.66779 -0.04048 -0.0127832 0.052198 0.18 0 pose: 0.42053130 5.10953 -3.08954 0 -0.00301049 -0.0011938 -0.677038 0.73594 uwb: 0.0 1123.13 481.164 -imu_odom_: 1691062462.555532314 0.289698 -0.320823 9.61511 -0.0500674 -0.0479369 0.0458064 0.18 0 pose: 0.0 5.10953 -3.08954 0 -0.00301049 -0.0011938 -0.677038 0.73594 uwb: 0.0 1123.13 481.164 -imu_odom_: 1691062462.580526860 0.816423 -0.131681 10.0413 -0.0415453 -0.0351537 0.0596548 0.25 -0.02 pose: 0.32893179 5.10953 -3.08954 0 -0.00109697 0.000361588 -0.676907 0.736068 uwb: 0.0 1123.13 481.164 -imu_odom_: 1691062462.597514578 0.4956 -0.332794 10.0509 -0.0894822 0.0117179 0.0628506 0.25 -0.02 pose: 0.0 5.10953 -3.08954 0 -0.00109697 0.000361588 -0.676907 0.736068 uwb: 0.100037969 1121.43 480.279 -imu_odom_: 1691062462.610675757 0.136469 -0.153229 9.72046 -0.0628506 0.00958738 0.0372843 0.18 0.02 pose: 0.0 5.10953 -3.08954 0 -0.00109697 0.000361588 -0.676907 0.736068 uwb: 0.0 1121.43 480.279 -imu_odom_: 1691062462.627613313 0.988805 -0.21069 10.0173 -0.0585895 -0.0543285 0.0639159 0.18 0.02 pose: 0.49983259 5.11095 -3.09943 0 -0.00318724 -0.00053258 -0.676612 0.736333 uwb: 0.0 1121.43 480.279 -imu_odom_: 1691062462.643513817 0.608127 -0.287304 10.0102 -0.0681769 -0.015979 0.0660464 0.18 0.02 pose: 0.0 5.11095 -3.09943 0 -0.00318724 -0.00053258 -0.676612 0.736333 uwb: 0.50051794 1123.8 480.357 -imu_odom_: 1691062462.660649976 0.679953 -0.124498 9.65821 -0.0490022 0.0117179 0.0298274 0.18 0 pose: 0.46062233 5.11238 -3.10933 0 -0.00486709 -0.00148616 -0.676322 0.736588 uwb: 0.0 1123.8 480.357 -imu_odom_: 1691062462.685667270 0.462081 -0.402226 9.50737 -0.0905475 -0.0138484 0.0703074 0.18 0 pose: 0.0 5.11238 -3.10933 0 -0.00486709 -0.00148616 -0.676322 0.736588 uwb: 0.0 1123.8 480.357 -imu_odom_: 1691062462.711710242 0.37589 -0.45011 9.70609 -0.0628506 0.00958738 0.0415453 0.22 0.02 pose: 0.51081264 5.11382 -3.11923 0 -0.00710655 -0.00119449 -0.676003 0.736864 uwb: 0.49950013 1123.91 479.923 -imu_odom_: 1691062462.734619309 0.584185 -0.301669 9.8665 -0.0830906 0 0.052198 0.17 0 pose: 0.0 5.11382 -3.11923 0 -0.00710655 -0.00119449 -0.676003 0.736864 uwb: 0.0 1123.91 479.923 -imu_odom_: 1691062462.758577094 0.423774 -0.445322 9.43555 -0.0500674 0.0639159 0.0223706 0.17 0 pose: 0.32982710 5.11527 -3.12912 0 -0.00762668 0.0010342 -0.675941 0.736916 uwb: 0.49987051 1126.79 479.918 -imu_odom_: 1691062462.784549491 0.627281 -0.37589 9.78031 -0.0809601 -0.0245011 0.0447411 0.18 -0.02 pose: 0.0 5.11527 -3.12912 0 -0.00762668 0.0010342 -0.675941 0.736916 uwb: 0.0 1126.79 479.918 -imu_odom_: 1691062462.808669425 0.476446 -0.392649 9.90242 -0.0511327 -0.0181095 0.0458064 0.18 0.02 pose: 0.65899511 5.11627 -3.13595 0 -0.010525 0.000874092 -0.675963 0.73686 uwb: 0.50114495 1132.89 480.594 -imu_odom_: 1691062462.834493089 0.711078 -0.220267 9.91678 -0.0671117 -0.00106526 0.0458064 0.18 0.02 pose: 0.0 5.11627 -3.13595 0 -0.010525 0.000874092 -0.675963 0.73686 uwb: 0.0 1132.89 480.594 -imu_odom_: 1691062462.847490661 0.816423 -0.409408 9.77553 -0.0447411 0.02024 0.0319579 0.18 0 pose: 0.8033076 5.11672 -3.13902 0 -0.010183 0.00153737 -0.675941 0.736884 uwb: 0.50084457 1132.17 479.611 -imu_odom_: 1691062462.871549351 0.555455 -0.3304 9.99579 -0.0703074 -0.0351537 0.0415453 0.18 0 pose: 0.0 5.11672 -3.13902 0 -0.010183 0.00153737 -0.675941 0.736884 uwb: 0.0 1132.17 479.611 -imu_odom_: 1691062462.897491127 0.663194 -0.105345 10.422 -0.0394148 -0.036219 0.0458064 0.23 0.02 pose: 0.47930735 5.11817 -3.14891 0 -0.0102246 8.6888e-05 -0.675872 0.736948 uwb: 0.49800405 1136.35 480.253 -imu_odom_: 1691062462.912479689 0.548272 -0.234632 9.38766 -0.0745685 -0.00426106 0.0553937 0.23 0.02 pose: 0.0 5.11817 -3.14891 0 -0.0102246 8.6888e-05 -0.675872 0.736948 uwb: 0.0 1136.35 480.253 -imu_odom_: 1691062462.929477030 0.31364 -0.270545 9.96227 -0.0479369 0.00532632 0.0415453 0.23 0.02 pose: 0.0 5.11817 -3.14891 0 -0.0102246 8.6888e-05 -0.675872 0.736948 uwb: 0.0 1136.35 480.253 -imu_odom_: 1691062462.944543459 0.416591 0.011971 10.1514 -0.0553937 -0.0298274 0.0490022 0.18 0 pose: 0.39046670 5.11962 -3.1588 0 -0.00924756 -0.00318349 -0.675881 0.736946 uwb: 0.49989967 1134.58 479.598 -imu_odom_: 1691062462.960543701 0.0215478 -0.292093 9.81383 -0.076699 0.0319579 0.0607201 0.18 0 pose: 0.0 5.11962 -3.1588 0 -0.00924756 -0.00318349 -0.675881 0.736946 uwb: 0.0 1134.58 479.598 -imu_odom_: 1691062462.975534013 0.47884 -0.198719 10.4698 -0.0383495 -0.00958738 0.0276969 0.18 0 pose: 0.0 5.11962 -3.1588 0 -0.00924756 -0.00318349 -0.675881 0.736946 uwb: 0.0 1134.58 479.598 -imu_odom_: 1691062462.992489067 0.548272 -0.0837971 9.83777 -0.0276969 -0.0149137 0.0383495 0.18 0 pose: 0.86974779 5.12108 -3.1687 0 -0.00313672 -0.00283251 -0.675636 0.737224 uwb: 0.49963429 1133.74 479.091 -imu_odom_: 1691062463.8469772 0.40462 -0.265756 10.2855 -0.0681769 -0.0255663 0.0596548 0.18 0 pose: 0.0 5.12108 -3.1687 0 -0.00313672 -0.00283251 -0.675636 0.737224 uwb: 0.0 1133.74 479.091 -imu_odom_: 1691062463.25542070 0.823605 -0.0622492 9.83538 -0.0458064 0.00852212 0.0394148 0.23 0 pose: 0.41935021 5.12254 -3.17859 0 -0.00188084 -0.00349639 -0.675569 0.737286 uwb: 0.0 1133.74 479.091 -imu_odom_: 1691062463.41467661 0.490811 -0.0383072 10.4315 -0.0777643 0.00426106 0.056459 0.23 0 pose: 0.0 5.12254 -3.17859 0 -0.00188084 -0.00349639 -0.675569 0.737286 uwb: 0.50010978 1132.87 478.722 -imu_odom_: 1691062463.57462952 0.114922 -0.502782 9.56244 -0.0713727 -0.00426106 0.0372843 0.23 0 pose: 0.0 5.12254 -3.17859 0 -0.00188084 -0.00349639 -0.675569 0.737286 uwb: 0.0 1132.87 478.722 -imu_odom_: 1691062463.82461592 0.380678 -0.447716 9.55526 -0.0490022 0.0340885 0.0415453 0.18 0.02 pose: 0.8069242 5.12254 -3.17859 0 -0.00211204 -0.0042361 -0.675567 0.737283 uwb: 0.0 1132.87 478.722 -imu_odom_: 1691062463.99460398 0.715866 -0.500388 10.2568 -0.0500674 -0.0532632 0.0436758 0.21 0.02 pose: 0.0 5.12254 -3.17859 0 -0.00211204 -0.0042361 -0.675567 0.737283 uwb: 0.49990863 1132.51 478.219 -imu_odom_: 1691062463.115454815 1.13246 -0.311246 9.97664 -0.0394148 0 0.0266316 0.21 0.02 pose: 0.74010776 5.12546 -3.19838 0 -0.00293228 -0.00175102 -0.675455 0.737394 uwb: 0.0 1132.51 478.219 -imu_odom_: 1691062463.132460329 1.19231 -0.294487 10.0892 -0.0607201 -0.04048 0.0415453 0.21 0.02 pose: 0.0 5.12546 -3.19838 0 -0.00293228 -0.00175102 -0.675455 0.737394 uwb: 0.0 1132.51 478.219 -imu_odom_: 1691062463.148515114 1.92494 -0.565032 9.75877 -0.0479369 -0.0511327 -0.0809601 0.21 -0.23 pose: 0.0 5.12546 -3.19838 0 -0.00293228 -0.00175102 -0.675455 0.737394 uwb: 0.50040150 1133.97 478.204 -imu_odom_: 1691062463.165456468 1.66876 0.311246 9.95988 -0.056459 0.0553937 -0.218379 0.21 -0.23 pose: 0.31971627 5.12546 -3.19838 0 -0.00564445 -0.00363882 -0.675502 0.737328 uwb: 0.0 1133.97 478.204 -imu_odom_: 1691062463.181448843 1.18513 0.287304 10.1107 -0.0777643 0.00745685 -0.256729 0.12 -0.35 pose: 0.42935051 5.12685 -3.20823 0 -0.00812139 -0.00695196 -0.677801 0.735168 uwb: 0.0 1133.97 478.204 -imu_odom_: 1691062463.198449691 0.921768 0.00718261 9.78989 -0.0660464 -0.00319579 -0.367516 0.12 -0.35 pose: 0.0 5.12685 -3.20823 0 -0.00812139 -0.00695196 -0.677801 0.735168 uwb: 0.49962574 1136.37 478.339 -imu_odom_: 1691062463.214508267 0.948104 -0.155623 10.2161 -0.0436758 -0.036219 -0.438889 0.12 -0.35 pose: 0.0 5.12685 -3.20823 0 -0.00812139 -0.00695196 -0.677801 0.735168 uwb: 0.0 1136.37 478.339 -imu_odom_: 1691062463.231505324 1.09654 0.0646434 9.96467 -0.0745685 -0.0394148 -0.447411 0.13 -0.58 pose: 0.8061077 5.12692 -3.20827 0 -0.00814601 -0.00767201 -0.67868 0.734349 uwb: 0.0 1136.37 478.339 -imu_odom_: 1691062463.247448121 1.13964 -0.344765 10.0509 -0.0713727 -0.0181095 -0.416518 0.09 -0.5 pose: 0.0 5.12692 -3.20827 0 -0.00814601 -0.00767201 -0.67868 0.734349 uwb: 0.49986488 1142.43 479.352 -imu_odom_: 1691062463.264453635 1.04627 -0.399832 9.92397 -0.0628506 0.00213053 -0.451672 0.09 -0.5 pose: 0.65966323 5.12692 -3.20827 0 -0.0106968 -0.0137984 -0.689171 0.724389 uwb: 0.0 1142.43 479.352 -imu_odom_: 1691062463.280432887 0.864307 -0.0646434 10.0844 -0.0500674 -0.0245011 -0.468716 0.07 -0.53 pose: 0.0 5.12692 -3.20827 0 -0.0106968 -0.0137984 -0.689171 0.724389 uwb: 0.0 1142.43 479.352 -imu_odom_: 1691062463.297437526 0.739808 -0.143652 9.82102 -0.076699 0.0298274 -0.468716 0.07 -0.53 pose: 0.0 5.12692 -3.20827 0 -0.0106968 -0.0137984 -0.689171 0.724389 uwb: 0.49989114 1141.72 478.356 -imu_odom_: 1691062463.313465189 0.739808 -0.0909797 10.0868 -0.0660464 0.0223706 -0.504935 0.07 -0.53 pose: 0.32962601 5.1285 -3.21814 0 -0.0128722 -0.0152395 -0.69492 0.71881 uwb: 0.0 1141.72 478.356 -imu_odom_: 1691062463.330528155 0.778116 -0.138864 9.90721 -0.0649811 -0.00532632 -0.535828 0.09 -0.73 pose: 0.41018720 5.12844 -3.21811 0 -0.00920415 -0.0155871 -0.702653 0.711302 uwb: 0.0 1141.72 478.356 -imu_odom_: 1691062463.346490200 0.871489 -0.071826 9.98861 -0.056459 -0.0149137 -0.54435 0.09 -0.73 pose: 0.8007998 5.1285 -3.21814 0 -0.00991499 -0.0159418 -0.704276 0.709678 uwb: 0.50061438 1139.4 477.901 -imu_odom_: 1691062463.363512920 0.517148 -0.143652 9.77074 -0.0532632 -0.0234358 -0.547546 0.09 -0.73 pose: 0.0 5.1285 -3.21814 0 -0.00991499 -0.0159418 -0.704276 0.709678 uwb: 0.0 1139.4 477.901 -imu_odom_: 1691062463.379610284 0.782904 -0.153229 9.92397 -0.0660464 -0.0223706 -0.50387 0.05 -0.53 pose: 0.42039733 5.12327 -3.21895 0 -0.00988984 -0.0168959 -0.712922 0.70097 uwb: 0.0 1139.4 477.901 -imu_odom_: 1691062463.396590717 0.775721 -0.483629 9.85932 -0.0681769 -0.00426106 -0.453803 0.07 -0.64 pose: 0.0 5.12327 -3.21895 0 -0.00988984 -0.0168959 -0.712922 0.70097 uwb: 0.49951492 1138.58 477.317 -imu_odom_: 1691062463.412591550 0.490811 -0.270545 10.1418 -0.0681769 -0.0287621 -0.40267 0.07 -0.64 pose: 0.0 5.12327 -3.21895 0 -0.00988984 -0.0168959 -0.712922 0.70097 uwb: 0.0 1138.58 477.317 -imu_odom_: 1691062463.429449205 0.73502 -0.265756 10.0149 -0.0607201 -0.0340885 -0.356864 0.06 -0.53 pose: 0.23059852 5.11863 -3.21971 0 -0.0118201 -0.0155929 -0.71715 0.696644 uwb: 0.0 1138.58 477.317 -imu_odom_: 1691062463.445481826 0.653617 -0.126893 9.67018 -0.0681769 -0.00639159 -0.313188 0.06 -0.53 pose: 0.0 5.11863 -3.21971 0 -0.0118201 -0.0155929 -0.71715 0.696644 uwb: 0.50100226 1135.88 476.439 -imu_odom_: 1691062463.462533127 0.519542 -0.349553 9.88805 -0.0553937 -0.0213053 -0.28123 0.06 -0.53 pose: 0.34133515 5.12022 -3.22958 0 -0.01237 -0.0129108 -0.722435 0.691208 uwb: 0.0 1135.88 476.439 -imu_odom_: 1691062463.478420221 0.536301 -0.311246 9.8689 -0.0596548 -0.00745685 -0.26312 0.06 -0.47 pose: 0.32721711 5.12022 -3.22958 0 -0.011205 -0.0115121 -0.726479 0.687001 uwb: 0.0 1135.88 476.439 -imu_odom_: 1691062463.495416112 0.502782 -0.251391 9.84256 -0.0543285 -0.0138484 -0.231162 0.06 -0.47 pose: 0.0 5.12022 -3.22958 0 -0.011205 -0.0115121 -0.726479 0.687001 uwb: 0.49857295 1138.71 476.795 -imu_odom_: 1691062463.511473521 0.610521 -0.373495 9.73243 -0.0649811 -0.00745685 -0.197074 0.06 -0.47 pose: 0.0 5.12022 -3.22958 0 -0.011205 -0.0115121 -0.726479 0.687001 uwb: 0.0 1138.71 476.795 -imu_odom_: 1691062463.528559235 0.679953 -0.229843 10.058 -0.0490022 -0.00426106 -0.199204 0.03 -0.29 pose: 0.50050648 5.12022 -3.22958 0 -0.0100789 -0.00722931 -0.731367 0.681872 uwb: 0.0 1138.71 476.795 -imu_odom_: 1691062463.554550599 0.47884 -0.222661 9.83777 -0.0553937 0.00852212 -0.173638 0.03 -0.29 pose: 0.0 5.12022 -3.22958 0 -0.0100789 -0.00722931 -0.731367 0.681872 uwb: 0.49882083 1138.33 476.401 -imu_odom_: 1691062463.571552905 0.586579 -0.416591 9.96227 -0.0596548 -0.0106526 -0.164051 0.04 -0.23 pose: 0.34099394 5.12022 -3.22958 0 -0.00984871 -0.0077025 -0.734056 0.678973 uwb: 0.0 1138.33 476.401 -imu_odom_: 1691062463.589423116 0.500388 -0.232238 9.80186 -0.0639159 -0.0127832 -0.211988 0.03 -0.29 pose: 0.0 5.12022 -3.22958 0 -0.00984871 -0.0077025 -0.734056 0.678973 uwb: 0.50118016 1141.55 477.166 -imu_odom_: 1691062463.612566375 0.351948 0.105345 10.0197 -0.0479369 0.00426106 -0.313188 0.03 -0.29 pose: 0.42876433 5.12022 -3.22958 0 -0.00868976 -0.00483272 -0.737222 0.675577 uwb: 0.0 1141.55 477.166 -imu_odom_: 1691062463.637413365 0.287304 -0.155623 9.75877 -0.0628506 -0.0117179 -0.337689 0.03 -0.35 pose: 0.0 5.12022 -3.22958 0 -0.00868976 -0.00483272 -0.737222 0.675577 uwb: 0.50015943 1140.68 476.738 -imu_odom_: 1691062463.653401365 0.572214 -0.517148 9.92397 -0.0575243 -0.0223706 -0.356864 0.03 -0.35 pose: 0.40227806 5.12022 -3.22958 0 -0.00487786 -0.00470014 -0.741791 0.670597 uwb: 0.0 1140.68 476.738 -imu_odom_: 1691062463.669463733 0.409408 -0.227449 9.79947 -0.056459 0 -0.367516 0.03 -0.41 pose: 0.32719086 5.12106 -3.23506 0 -0.00489701 -0.00303933 -0.746019 0.6659 uwb: 0.0 1140.68 476.738 -imu_odom_: 1691062463.685450567 0.526724 -0.1652 9.9503 -0.052198 0.00426106 -0.378169 0.03 -0.41 pose: 0.7084100 5.12181 -3.23945 0 -0.00432699 -0.00259491 -0.746981 0.664826 uwb: 0.0 1140.68 476.738 -imu_odom_: 1691062463.701387823 0.608127 -0.155623 10.0485 -0.0585895 -0.0223706 -0.409062 0.03 -0.41 pose: 0.0 5.12181 -3.23945 0 -0.00432699 -0.00259491 -0.746981 0.664826 uwb: 0.49995238 1141.2 476.634 -imu_odom_: 1691062463.718510574 0.519542 -0.059855 9.98622 -0.0639159 -0.0255663 -0.433563 0.03 -0.61 pose: 0.40902358 5.12175 -3.23942 0 -0.00407762 -0.00514151 -0.752763 0.658259 uwb: 0.0 1141.2 476.634 -imu_odom_: 1691062463.744564056 0.610521 -0.328006 9.87129 -0.0575243 -0.00852212 -0.472977 0.03 -0.61 pose: 0.0 5.12175 -3.23942 0 -0.00407762 -0.00514151 -0.752763 0.658259 uwb: 0.49855836 1142.14 476.814 -imu_odom_: 1691062463.771400870 0.447716 -0.215478 9.93354 -0.0628506 -0.0117179 -0.488956 0.03 -0.64 pose: 0.43176233 5.12175 -3.23942 0 -0.00541818 -0.00540998 -0.759771 0.650146 uwb: 0.0 1142.14 476.814 -imu_odom_: 1691062463.796455795 0.529119 -0.241814 9.87129 -0.0553937 -0.015979 -0.509196 0.03 -0.58 pose: 0.0 5.12175 -3.23942 0 -0.00541818 -0.00540998 -0.759771 0.650146 uwb: 0.50130847 1140.2 476.73 -imu_odom_: 1691062463.812381677 0.497994 -0.138864 9.88805 -0.0553937 -0.00958738 -0.516653 0.02 -0.64 pose: 0.34913930 5.12181 -3.23945 0 -0.00452472 -0.00336611 -0.765798 0.643057 uwb: 0.0 1140.2 476.73 -imu_odom_: 1691062463.828551657 0.550666 -0.351948 9.80186 -0.0628506 -0.00106526 -0.52411 0.02 -0.64 pose: 0.0 5.12181 -3.23945 0 -0.00452472 -0.00336611 -0.765798 0.643057 uwb: 0.0 1140.2 476.73 -imu_odom_: 1691062463.845383066 0.323217 -0.136469 10.0556 -0.052198 0.00745685 -0.56246 0.02 -0.64 pose: 0.23930089 5.12181 -3.23945 0 -0.00566796 -0.00353471 -0.770014 0.637993 uwb: 0.49952076 1142 477.314 -imu_odom_: 1691062463.861378065 0.641646 -0.19393 9.92157 -0.0575243 -0.00745685 -0.574178 0.02 -0.73 pose: 0.32146316 5.12181 -3.23945 0 -0.00540815 -0.00278472 -0.775827 0.630917 uwb: 0.0 1142 477.314 -imu_odom_: 1691062463.888400067 0.679953 -0.275333 9.94791 -0.0585895 -0.00426106 -0.608266 0.02 -0.73 pose: 0.0 5.12181 -3.23945 0 -0.00540815 -0.00278472 -0.775827 0.630917 uwb: 0.50031692 1142.02 477.246 -imu_odom_: 1691062463.914520042 0.373495 -0.174777 9.95509 -0.0532632 -0.00532632 -0.64342 0.02 -0.82 pose: 0.33004014 5.12181 -3.23945 0 -0.00604141 -0.00411414 -0.782213 0.622968 uwb: 0.0 1142.02 477.246 -imu_odom_: 1691062463.931392862 0.617704 -0.181959 9.92397 -0.0585895 -0.0245011 -0.639159 0.02 -0.82 pose: 0.0 5.12181 -3.23945 0 -0.00604141 -0.00411414 -0.782213 0.622968 uwb: 0.0 1142.02 477.246 -imu_odom_: 1691062463.957486590 0.514753 -0.272939 9.92397 -0.0575243 0.00106526 -0.637028 0.02 -0.91 pose: 0.52972536 5.12181 -3.23945 0 -0.00582454 -0.00455351 -0.793133 0.609004 uwb: 0.49978614 1143.81 477.857 -imu_odom_: 1691062463.983357801 0.323217 -0.0981623 9.89524 -0.0468716 -0.0149137 -0.696683 0.02 -0.94 pose: 0.35955649 5.12159 -3.23934 0 -0.00625711 -0.00286867 -0.800483 0.599316 uwb: 0.0 1143.81 477.857 -imu_odom_: 1691062464.9360833 0.42138 -0.172383 9.85693 -0.0671117 -0.0149137 -0.70414 0.02 -0.94 pose: 0.0 5.12159 -3.23934 0 -0.00625711 -0.00286867 -0.800483 0.599316 uwb: 0.50008069 1142.91 477.562 -imu_odom_: 1691062464.34351900 0.617704 -0.3304 9.65342 -0.0575243 -0.0298274 -0.736098 0.01 -0.94 pose: 0.8004791 5.12181 -3.23945 0 -0.00546255 -0.0029063 -0.80225 0.596956 uwb: 0.0 1142.91 477.562 -imu_odom_: 1691062464.48495025 0.452504 -0.0957681 10.0317 -0.0500674 -0.0127832 -0.74462 0.01 -0.94 pose: 0.0 5.12181 -3.23945 0 -0.00546255 -0.0029063 -0.80225 0.596956 uwb: 0.50117738 1144.74 478.064 -imu_odom_: 1691062464.63365195 0.648829 -0.268151 9.74919 -0.0607201 -0.0266316 -0.741424 0.01 -0.94 pose: 0.0 5.12181 -3.23945 0 -0.00206121 -0.00255795 -0.813444 0.581634 uwb: 0.0 1144.74 478.064 -imu_odom_: 1691062464.80427585 0.502782 -0.184354 9.80665 -0.0436758 0.00426106 -0.772317 0.01 -0.76 pose: 0.0 5.12181 -3.23945 0 -0.00206121 -0.00255795 -0.813444 0.581634 uwb: 0.0 1144.74 478.064 -imu_odom_: 1691062464.96348225 0.335188 -0.107739 9.88087 -0.0479369 -0.00106526 -0.761664 0.01 -0.76 pose: 0.0 5.12181 -3.23945 0 -0.00206121 -0.00255795 -0.813444 0.581634 uwb: 0.49877438 1144.7 478.2 -imu_odom_: 1691062464.123362363 0.622492 -0.0814029 10.0509 -0.0607201 -0.0308927 -0.784035 0.01 -1.09 pose: 0.39131567 5.12181 -3.23945 0 -0.00364428 -0.00359145 -0.822215 0.569154 uwb: 0.0 1144.7 478.2 -imu_odom_: 1691062464.149479141 0.696713 -0.378284 10.1107 -0.0649811 -0.0127832 -0.770186 0 -0.79 pose: 0.48933999 5.12181 -3.23945 0 -0.00160576 -0.00491076 -0.833276 0.552833 uwb: 0.49972802 1143.35 477.755 -imu_odom_: 1691062464.165626964 0.608127 -0.0981623 9.76595 -0.056459 -0.0266316 -0.789361 0 -1.09 pose: 0.0 5.12181 -3.23945 0 -0.00160576 -0.00491076 -0.833276 0.552833 uwb: 0.0 1143.35 477.755 -imu_odom_: 1691062464.191394363 0.435745 -0.201113 10.1179 -0.0681769 -0.0170442 -0.792557 0 -1.09 pose: 0.0 5.12181 -3.23945 0 -0.00160576 -0.00491076 -0.833276 0.552833 uwb: 0.50036962 1143.76 478.062 -imu_odom_: 1691062464.216361808 0.411803 -0.318429 9.72046 -0.052198 -0.00213053 -0.820254 0 -0.79 pose: 0.51971668 5.12181 -3.23945 0 -0.00538985 -0.00643565 -0.844802 0.535012 uwb: 0.0 1143.76 478.062 -imu_odom_: 1691062464.231388878 0.672771 -0.282516 10.094 -0.0511327 -0.0245011 -0.837298 0 -0.79 pose: 0.0 5.12181 -3.23945 0 -0.00538985 -0.00643565 -0.844802 0.535012 uwb: 0.0 1143.76 478.062 -imu_odom_: 1691062464.257353714 0.47884 -0.196325 10.1131 -0.0585895 0.00958738 -0.833037 0 -0.79 pose: 0.74979034 5.12155 -3.23932 0 -0.00538343 -0.00324936 -0.861428 0.507841 uwb: 0.49835734 1140.89 477.839 -imu_odom_: 1691062464.271460093 0.64404 -0.550666 9.83299 -0.052198 -0.00426106 -0.853277 0 -0.79 pose: 0.0 5.12155 -3.23932 0 -0.00538343 -0.00324936 -0.861428 0.507841 uwb: 0.0 1140.89 477.839 -imu_odom_: 1691062464.295340032 0.543484 -0.0981623 10.0173 -0.0458064 -0.00532632 -0.858603 0 -0.85 pose: 0.6961033 5.12181 -3.23946 0 -0.00465596 -0.00308966 -0.862971 0.505223 uwb: 0.50192986 1141.25 478.325 -imu_odom_: 1691062464.322601768 0.591368 -0.071826 9.81383 -0.052198 0.0191748 -0.874582 0 -1.06 pose: 0.0 5.12181 -3.23946 0 -0.00465596 -0.00308966 -0.862971 0.505223 uwb: 0.0 1141.25 478.325 -imu_odom_: 1691062464.338332553 0.639252 -0.277727 10.2017 -0.0543285 -0.0170442 -0.859668 0 -0.94 pose: 0.64167838 5.12181 -3.23946 0 0.00360202 0.00510351 0.877063 -0.480335 uwb: 0.49927016 1142.17 478.527 -imu_odom_: 1691062464.354425257 0.0790087 -0.289698 9.51216 -0.0585895 -0.00745685 -0.844755 0 -0.94 pose: 0.0 5.12181 -3.23946 0 0.00360202 0.00510351 0.877063 -0.480335 uwb: 0.0 1142.17 478.527 -imu_odom_: 1691062464.371372743 0.620098 -0.373495 10.1658 -0.0553937 -0.0319579 -0.850081 0 -0.94 pose: 0.28038652 5.12181 -3.23946 0 0.00446913 0.00668786 0.883106 -0.469104 uwb: 0.0 1142.17 478.527 -imu_odom_: 1691062464.395341047 0.605733 -0.0742203 9.89045 -0.0575243 -0.00213053 -0.856473 0 -0.85 pose: 0.31783535 5.12181 -3.23946 0 0.00470549 0.00484419 0.889652 -0.456589 uwb: 0.50067292 1143.98 479.072 -imu_odom_: 1691062464.411378924 0.440533 -0.275333 9.97903 -0.0649811 0.0234358 -0.843689 0 -0.85 pose: 0.0 5.12181 -3.23946 0 0.00470549 0.00484419 0.889652 -0.456589 uwb: 0.0 1143.98 479.072 -imu_odom_: 1691062464.426315004 -0.217872 -0.263362 9.73961 -0.0553937 0.0490022 -0.830906 0 -1.26 pose: 0.39985475 5.12181 -3.23946 0 0.00532647 0.00604502 0.897649 -0.440637 uwb: 0.0 1143.98 479.072 -imu_odom_: 1691062464.442312635 -0.414197 -0.411803 9.88087 -0.0532632 -0.00958738 -0.855407 0 -1.26 pose: 0.0 5.12181 -3.23946 0 0.00532647 0.00604502 0.897649 -0.440637 uwb: 0.49920016 1142.54 478.969 -imu_odom_: 1691062464.458425753 -0.351948 0.148441 9.82341 -0.0479369 -0.00532632 -0.841559 0 -1.26 pose: 0.0 5.12181 -3.23946 0 0.00532647 0.00604502 0.897649 -0.440637 uwb: 0.0 1142.54 478.969 -imu_odom_: 1691062464.475422817 -1.09654 -0.215478 9.64863 -0.0532632 -0.00106526 -0.691357 0.05 -0.76 pose: 0.47985018 5.12331 -3.24934 0 0.00127447 0.00315101 0.906805 -0.421536 uwb: 0.0 1142.54 478.969 -imu_odom_: 1691062464.491295628 -0.603339 -0.955286 9.76116 -0.0798948 -0.092678 -0.573112 0.05 -0.76 pose: 0.0 5.12331 -3.24934 0 0.00127447 0.00315101 0.906805 -0.421536 uwb: 0.49839525 1141.13 478.779 -imu_odom_: 1691062464.508313981 0.19393 -0.696713 9.66539 -0.0660464 -0.0468716 -0.565655 0.09 -0.85 pose: 0.40985199 5.12331 -3.24934 0 -0.00115156 0.00107947 0.912892 -0.408198 uwb: 0.0 1141.13 478.779 -imu_odom_: 1691062464.525293547 0.385466 0.0861913 10.0533 -0.0500674 -0.0255663 -0.543285 0.09 -0.85 pose: 0.0 5.12331 -3.24934 0 -0.00115156 0.00107947 0.912892 -0.408198 uwb: 0.0 1141.13 478.779 -imu_odom_: 1691062464.541423289 0.124498 -0.0383072 9.77313 -0.0788296 -0.00745685 -0.506001 0.09 -0.85 pose: 0.0 5.12331 -3.24934 0 -0.00115156 0.00107947 0.912892 -0.408198 uwb: 0.50173447 1141.06 479.028 -imu_odom_: 1691062464.558420352 -0.0885855 -0.371101 9.97424 -0.0500674 -0.00532632 -0.526241 0.08 -0.5 pose: 0.7019652 5.12331 -3.24934 0 -0.0009662440.000401723 0.913758 -0.406257 uwb: 0.0 1141.06 479.028 -imu_odom_: 1691062464.575297262 0.0885855 -0.234632 9.93115 -0.0660464 -0.0713727 -0.485761 0.09 -0.5 pose: 0.0 5.12331 -3.24934 0 -0.0009662440.000401723 0.913758 -0.406257 uwb: 0.0 1141.06 479.028 -imu_odom_: 1691062464.591298101 0.169988 -0.189142 9.47864 -0.0596548 -0.052198 -0.430367 0.09 -0.5 pose: 0.67988546 5.11342 -3.25079 0 -0.00431704 -0.0005090850.921405 -0.388579 uwb: 0.49896977 1139.58 479.069 -imu_odom_: 1691062464.607421719 0.035913 -0.23942 9.79947 -0.0287621 -0.0170442 -0.416518 0.1 -0.47 pose: 0.0 5.11342 -3.25079 0 -0.00431704 -0.0005090850.921405 -0.388579 uwb: 0.0 1139.58 479.069 -imu_odom_: 1691062464.624348790 0.246603 0.0047884 9.43794 -0.0490022 -0.0511327 -0.393083 0.1 -0.47 pose: 0.0 5.11342 -3.25079 0 -0.00431704 -0.0005090850.921405 -0.388579 uwb: 0.0 1139.58 479.069 -imu_odom_: 1691062464.640297426 0.610521 -0.320823 10.0556 -0.0553937 -0.0308927 -0.40267 0.1 -0.47 pose: 0.32062630 5.11342 -3.25079 0 -0.00648818 -0.00167617 0.924373 -0.381431 uwb: 0.49933140 1140.86 479.754 -imu_odom_: 1691062464.656313139 0.141258 -0.349553 9.69652 -0.0671117 0.0149137 -0.376038 0.14 -0.53 pose: 0.41930970 5.1087 -3.25714 0 -0.00586887 -0.0003596780.927865 -0.37287 uwb: 0.0 1140.86 479.754 -imu_odom_: 1691062464.672414592 0.0670376 -0.299275 10.0078 -0.0511327 0.00852212 -0.346211 0.14 -0.53 pose: 0.7056106 5.10502 -3.26217 0 -0.00616133 -0.0010935 0.92841 -0.371505 uwb: 0.0 1140.86 479.754 -imu_odom_: 1691062464.689297043 0.703895 -0.263362 9.51695 -0.0585895 -0.0756338 -0.329167 0.14 -0.53 pose: 0.0 5.10502 -3.26217 0 -0.00616133 -0.0010935 0.92841 -0.371505 uwb: 0.50143409 1139.8 480.076 -imu_odom_: 1691062464.706413677 1.09894 0.112527 9.6223 -0.0628506 -0.0170442 -0.28123 0.09 -0.35 pose: 0.41943511 5.10496 -3.26213 0 -0.00552861 -0.00259865 0.931386 -0.363981 uwb: 0.0 1139.8 480.076 -imu_odom_: 1691062464.722279781 1.05105 -0.646434 9.91678 -0.0532632 0.00106526 -0.230097 0.08 -0.38 pose: 0.0 5.10496 -3.26213 0 -0.00552861 -0.00259865 0.931386 -0.363981 uwb: 0.0 1139.8 480.076 -imu_odom_: 1691062464.739278886 0.962469 -0.349553 9.90721 -0.0585895 0.0127832 -0.227967 0.08 -0.38 pose: 0.0 5.10496 -3.26213 0 -0.00552861 -0.00259865 0.931386 -0.363981 uwb: 0.49838650 1138.35 480.052 -imu_odom_: 1691062464.756272742 1.03908 -0.196325 9.80904 -0.0426106 -0.00213053 -0.230097 0.08 -0.38 pose: 0.24127828 5.10502 -3.26217 0 -0.00348541 -0.00156738 0.932733 -0.360547 uwb: 0.0 1138.35 480.052 -imu_odom_: 1691062464.773341839 1.09654 0.143652 10.0126 -0.0585895 -0.00319579 -0.245011 0.06 -0.32 pose: 0.0 5.10502 -3.26217 0 -0.00348541 -0.00156738 0.932733 -0.360547 uwb: 0.0 1138.35 480.052 -imu_odom_: 1691062464.789368926 0.68953 -0.0742203 9.63666 -0.056459 0.00745685 -0.256729 0.06 -0.32 pose: 0.33857351 5.10502 -3.26217 0 -0.000373434-0.00113573 0.934371 -0.3563 uwb: 0.50014798 1138.78 480.241 -imu_odom_: 1691062464.816417769 0.715866 -0.263362 9.84256 -0.0639159 -0.0255663 -0.269512 0.07 -0.38 pose: 0.42086704 5.09515 -3.26373 0 0.00249077 0.0017307 0.936495 -0.350668 uwb: 0.0 1138.78 480.241 -imu_odom_: 1691062464.832277456 0.586579 -0.179565 9.87369 -0.0511327 0.02024 -0.264186 0.07 -0.38 pose: 0.0 5.09515 -3.26373 0 0.00249077 0.0017307 0.936495 -0.350668 uwb: 0.0 1138.78 480.241 -imu_odom_: 1691062464.848257881 0.497994 -0.23942 10.1682 -0.0681769 0 -0.264186 0.05 -0.38 pose: 0.7917886 5.09515 -3.26373 0 0.00336655 0.00182301 0.936921 -0.349521 uwb: 0.50050960 1137.82 480.203 -imu_odom_: 1691062464.865314146 0.263362 -0.158017 9.76834 -0.0511327 0.00745685 -0.312122 0.04 -0.41 pose: 0.0 5.09515 -3.26373 0 0.00336655 0.00182301 0.936921 -0.349521 uwb: 0.0 1137.82 480.203 -imu_odom_: 1691062464.882266590 0.739808 -0.110133 10.1442 -0.0575243 -0.0383495 -0.372843 0.04 -0.53 pose: 0.0 5.09515 -3.26373 0 0.00336655 0.00182301 0.936921 -0.349521 uwb: 0.0 1137.82 480.203 -imu_odom_: 1691062464.898262180 0.773327 0.0047884 9.67018 -0.0735032 0.00426106 -0.401605 0.04 -0.53 pose: 0.75022489 5.09515 -3.26373 0 0.00441451 0.00203358 0.941122 -0.338033 uwb: 0.50090040 1136.4 480.072 -imu_odom_: 1691062464.914323679 0.543484 -0.19393 10.1011 -0.0543285 0.0191748 -0.414388 0.05 -0.58 pose: 0.0 5.09515 -3.26373 0 0.00441451 0.00203358 0.941122 -0.338033 uwb: 0.0 1136.4 480.072 -imu_odom_: 1691062464.930306436 0.258574 -0.280122 9.77553 -0.052198 0.0191748 -0.441019 0.05 -0.58 pose: 0.32997027 5.09515 -3.26373 0 0.00620604 0.00326617 0.943513 -0.33126 uwb: 0.0 1136.4 480.072 -imu_odom_: 1691062464.946257989 0.28491 -0.100556 9.93354 -0.0575243 -0.0191748 -0.419714 0.05 -0.58 pose: 0.0 5.09515 -3.26373 0 0.00620604 0.00326617 0.943513 -0.33126 uwb: 0.50040170 1135.57 479.539 -imu_odom_: 1691062464.963334961 0.691924 -0.294487 9.89045 -0.0607201 -0.0213053 -0.42291 0.03 -0.44 pose: 0.40951661 5.09661 -3.27358 0 0.00329503 0.00177656 0.946649 -0.322245 uwb: 0.0 1135.57 479.539 -imu_odom_: 1691062464.979300512 0.758962 -0.160412 10.0006 -0.052198 -0.00213053 -0.454868 0.03 -0.44 pose: 0.8118823 5.09668 -3.27361 0 0.00417408 0.00172491 0.947249 -0.320467 uwb: 0.0 1135.57 479.539 -imu_odom_: 1691062465.5272640 0.56982 -0.0670376 9.9934 -0.0575243 -0.00852212 -0.510262 0.03 -0.53 pose: 0.0 5.09668 -3.27361 0 0.00417408 0.00172491 0.947249 -0.320467 uwb: 0.49917100 1136.86 480.169 -imu_odom_: 1691062465.20352794 0.4956 -0.107739 9.99579 -0.0532632 0.00852212 -0.526241 0.03 -0.67 pose: 0.24923700 5.09661 -3.27358 0 0.00648017 0.00253161 0.949147 -0.314756 uwb: 0.0 1136.86 480.169 -imu_odom_: 1691062465.36358014 -0.198719 -0.272939 9.54808 -0.0596548 0.0426106 -0.513457 0.04 -0.53 pose: 0.0 5.09661 -3.27358 0 0.00648017 0.00253161 0.949147 -0.314756 uwb: 0.49943944 1135.48 479.88 -imu_odom_: 1691062465.53300840 -0.529119 -0.366313 9.90481 -0.0500674 0.015979 -0.546481 0.04 -0.53 pose: 0.47999902 5.09668 -3.27361 0 0.00394324 0.00536228 0.953269 -0.302051 uwb: 0.0 1135.48 479.88 -imu_odom_: 1691062465.69236943 -0.301669 0.0047884 10.2161 -0.036219 0.0181095 -0.567786 0.06 -0.38 pose: 0.0 5.09668 -3.27361 0 0.00394324 0.00536228 0.953269 -0.302051 uwb: 0.0 1135.48 479.88 -imu_odom_: 1691062465.86236930 -0.577003 0.0526724 9.96946 -0.056459 -0.02024 -0.428236 0.06 -0.38 pose: 0.0 5.09668 -3.27361 0 0.00394324 0.00536228 0.953269 -0.302051 uwb: 0.49914787 1136.41 480.049 -imu_odom_: 1691062465.102233109 -0.222661 -0.905008 9.98143 -0.0660464 -0.0830906 -0.337689 0.06 -0.38 pose: 0.33999099 5.08679 -3.27513 0 0.000351424 0.00398928 0.956228 -0.292597 uwb: 0.0 1136.41 480.049 -imu_odom_: 1691062465.119228139 0.105345 -0.220267 9.53132 -0.0415453 -0.0607201 -0.353668 0.12 -0.5 pose: 0.40933596 5.08679 -3.27513 0 -0.00209648 0.00240927 0.958945 -0.283575 uwb: 0.0 1136.41 480.049 -imu_odom_: 1691062465.135283520 0.270545 0.289698 9.84496 -0.0585895 -0.0223706 -0.305731 0.12 -0.5 pose: 0.0 5.08679 -3.27513 0 -0.00209648 0.00240927 0.958945 -0.283575 uwb: 0.0 1136.41 480.049 -imu_odom_: 1691062465.152296047 0.138864 0.023942 10.0437 -0.0649811 -0.0149137 -0.295078 0.12 -0.5 pose: 0.0 5.08679 -3.27513 0 -0.00209648 0.00240927 0.958945 -0.283575 uwb: 0.50002861 1137.17 480.833 -imu_odom_: 1691062465.169291951 0.1652 -0.387861 10.0772 -0.0479369 -0.0106526 -0.312122 0.1 -0.35 pose: 0.8011797 5.08679 -3.27513 0 -0.002601 0.00213495 0.959391 -0.28206 uwb: 0.0 1137.17 480.833 -imu_odom_: 1691062465.184240870 0.162806 -0.294487 9.73243 -0.0628506 -0.0255663 -0.290817 0.15 -0.44 pose: 0.0 5.08679 -3.27513 0 -0.002601 0.00213495 0.959391 -0.28206 uwb: 0.0 1137.17 480.833 -imu_odom_: 1691062465.201297434 0.593762 -0.208296 10.1538 -0.0596548 -0.0447411 -0.258859 0.15 -0.44 pose: 0.65035478 5.0769 -3.27656 0 -0.00585297 0.00167058 0.962526 -0.27112 uwb: 0.49989738 1137.12 481.015 -imu_odom_: 1691062465.217285447 0.636858 -0.280122 9.66539 -0.0628506 -0.02024 -0.262055 0.14 -0.38 pose: 0.0 5.0769 -3.27656 0 -0.00585297 0.00167058 0.962526 -0.27112 uwb: 0.0 1137.12 481.015 -imu_odom_: 1691062465.234288351 0.426168 0.0311246 9.80665 -0.0447411 0.00852212 -0.252468 0.14 -0.38 pose: 0.0 5.0769 -3.27656 0 -0.00585297 0.00167058 0.962526 -0.27112 uwb: 0.0 1137.12 481.015 -imu_odom_: 1691062465.251309627 0.387861 -0.0957681 9.91199 -0.0394148 0.00745685 -0.233293 0.14 -0.38 pose: 0.33015123 5.0769 -3.27656 0 -0.0033961 0.00106993 0.963904 -0.266226 uwb: 0.50105808 1136.22 480.754 -imu_odom_: 1691062465.267222691 0.409408 -0.246603 10.3238 -0.0511327 0.0106526 -0.207727 0.13 -0.29 pose: 0.43014120 5.07221 -3.28288 0 -0.00255601 0.00454226 0.965516 -0.26029 uwb: 0.0 1136.22 480.754 -imu_odom_: 1691062465.294250839 1.01993 -0.150835 10.4196 -0.056459 -0.0223706 -0.206661 0.13 -0.29 pose: 0.7999840 5.06846 -3.28791 0 -0.00223895 0.00383789 0.965777 -0.259336 uwb: 0.50021234 1137.12 481.038 -imu_odom_: 1691062465.310395752 1.14443 0 9.36372 -0.0607201 -0.0308927 -0.164051 0.11 -0.2 pose: 0.34941372 5.06846 -3.28791 0 0.000925189 0.00384551 0.966884 -0.255184 uwb: 0.0 1137.12 481.038 -imu_odom_: 1691062465.326212284 0.890643 -0.258574 9.45949 -0.0649811 0.0308927 -0.118244 0.12 -0.17 pose: 0.0 5.06846 -3.28791 0 0.000925189 0.00384551 0.966884 -0.255184 uwb: 0.0 1137.12 481.038 -imu_odom_: 1691062465.343345840 0.938527 -0.42138 10.0317 -0.0596548 0.00532632 -0.0830906 0.08 0 pose: 0.0 5.06846 -3.28791 0 0.000925189 0.00384551 0.966884 -0.255184 uwb: 0.50006069 1136.61 481.123 -imu_odom_: 1691062465.360333579 1.51792 -0.251391 9.94791 -0.0671117 -0.0458064 0.00426106 0.08 0 pose: 0.40038276 5.06846 -3.28791 0 0.00464303 0.00416658 0.967728 -0.25192 uwb: 0.0 1136.61 481.123 -imu_odom_: 1691062465.376281930 1.47004 -0.42138 9.83538 -0.0575243 0.0149137 0.0884169 0.08 0 pose: 0.0 5.06846 -3.28791 0 0.00464303 0.00416658 0.967728 -0.25192 uwb: 0.0 1136.61 481.123 -imu_odom_: 1691062465.392302315 0.696713 -0.37589 9.63666 -0.0479369 0.0841559 0.176834 0.07 0.11 pose: 0.0 5.06846 -3.28791 0 0.00464303 0.00416658 0.967728 -0.25192 uwb: 0.49892332 1136.08 481.299 -imu_odom_: 1691062465.409251266 0.320823 -0.488417 10.252 -0.0596548 0.0330232 0.296144 0.07 0.11 pose: 0.34023305 5.05856 -3.28929 0 0.0082349 0.00411243 0.967869 -0.251287 uwb: 0.0 1136.08 481.299 -imu_odom_: 1691062465.426384238 0.61531 -0.512359 9.96706 -0.0617853 -0.0479369 0.383495 0.07 0.32 pose: 0.40938846 5.05849 -3.28925 0 0.00823026 0.00119045 0.966991 -0.254674 uwb: 0.0 1136.08 481.299 -imu_odom_: 1691062465.442264639 0.857124 -0.306458 9.58399 -0.0468716 -0.00532632 0.401605 0.07 0.32 pose: 0.0 5.05849 -3.28925 0 0.00823026 0.00119045 0.966991 -0.254674 uwb: 0.49970489 1139.18 482.389 -imu_odom_: 1691062465.458204533 0.907402 0.0526724 9.97903 -0.0490022 0.00532632 0.415453 0.07 0.32 pose: 0.0 5.05849 -3.28925 0 0.00823026 0.00119045 0.966991 -0.254674 uwb: 0.0 1139.18 482.389 -imu_odom_: 1691062465.475327006 0.217872 -0.225055 9.55287 -0.0553937 0.0415453 0.428236 0.04 0.29 pose: 0.7078273 5.05856 -3.28929 0 0.00868425 0.000554262 0.966676 -0.255855 uwb: 0.0 1139.18 482.389 -imu_odom_: 1691062465.492207423 0.21069 -0.222661 10.1538 -0.04048 0.00958738 0.40267 0.05 0.47 pose: 0.0 5.05856 -3.28929 0 0.00868425 0.000554262 0.966676 -0.255855 uwb: 0.49958241 1140.08 482.656 -imu_odom_: 1691062465.508268346 0.229843 -0.0861913 9.67976 -0.0500674 -0.0308927 0.434628 0.05 0.47 pose: 0.65939547 5.05856 -3.28929 0 0.00875056 0.000689747 0.963487 -0.26761 uwb: 0.0 1140.08 482.656 -imu_odom_: 1691062465.525252876 0.711078 -0.25618 9.79947 -0.052198 -0.0127832 0.46339 0.04 0.55 pose: 0.0 5.05856 -3.28929 0 0.00875056 0.000689747 0.963487 -0.26761 uwb: 0.0 1140.08 482.656 -imu_odom_: 1691062465.541256638 0.706289 -0.378284 10.0533 -0.0447411 0.00852212 0.462325 0.04 0.55 pose: 0.0 5.05856 -3.28929 0 0.00875056 0.000689747 0.963487 -0.26761 uwb: 0.50049523 1142.78 483.396 -imu_odom_: 1691062465.557256025 0.399832 -0.3304 9.72285 -0.0426106 0.0181095 0.472977 0.04 0.55 pose: 0.33069658 5.05856 -3.28929 0 0.0070366 0.00101593 0.961747 -0.273846 uwb: 0.0 1142.78 483.396 -imu_odom_: 1691062465.573253080 0.383072 -0.361524 9.8258 -0.0543285 0.00426106 0.494283 0.03 0.41 pose: 0.41917281 5.05849 -3.28925 0 0.00789331 -0.0005591260.959247 -0.282459 uwb: 0.0 1142.78 483.396 -imu_odom_: 1691062465.590256858 0.670376 -0.294487 9.8665 -0.0458064 -0.0181095 0.434628 0.03 0.41 pose: 0.7997798 5.05856 -3.28929 0 0.00730297 -0.0011546 0.958734 -0.284208 uwb: 0.49946576 1144.2 483.546 -imu_odom_: 1691062465.605312514 0.696713 0.162806 9.83059 -0.0426106 0.00639159 0.390952 0.03 0.41 pose: 0.0 5.05856 -3.28929 0 0.00730297 -0.0011546 0.958734 -0.284208 uwb: 0.0 1144.2 483.546 -imu_odom_: 1691062465.622304627 0.620098 -0.131681 9.89045 -0.0617853 0.00106526 0.372843 0.03 0.38 pose: 0.40058691 5.05321 -3.29001 0 0.00836985 0.000271864 0.956478 -0.291685 uwb: 0.0 1144.2 483.546 -imu_odom_: 1691062465.637243922 0.47884 -0.248997 9.88566 -0.056459 0.00532632 0.348341 0.02 0.29 pose: 0.0 5.05321 -3.29001 0 0.00836985 0.000271864 0.956478 -0.291685 uwb: 0.49997611 1142.8 483.328 -imu_odom_: 1691062465.653187023 0.507571 -0.304064 9.95988 -0.0479369 -0.00426106 0.320645 0.02 0.29 pose: 0.0 5.05321 -3.29001 0 0.00836985 0.000271864 0.956478 -0.291685 uwb: 0.0 1142.8 483.328 -imu_odom_: 1691062465.669325229 0.529119 -0.136469 9.8282 -0.056459 -0.0117179 0.311057 0.02 0.26 pose: 0.23943233 5.04866 -3.29075 0 0.00794806 0.00150898 0.955338 -0.295406 uwb: 0.0 1142.8 483.328 -imu_odom_: 1691062465.686264556 0.624887 -0.177171 9.85932 -0.0479369 -0.00213053 0.291882 0.02 0.26 pose: 0.0 5.04866 -3.29075 0 0.00794806 0.00150898 0.955338 -0.295406 uwb: 0.50013944 1144.16 483.682 -imu_odom_: 1691062465.702232738 0.555455 -0.227449 9.8665 -0.0511327 0.00532632 0.272708 0.02 0.26 pose: 0.0 5.04866 -3.29075 0 0.00794806 0.00150898 0.955338 -0.295406 uwb: 0.0 1144.16 483.682 -imu_odom_: 1691062465.719352879 0.47884 -0.1652 9.90721 -0.056459 -0.00106526 0.256729 0.02 0.29 pose: 0.72976991 5.0486 -3.29071 0 0.00765351 0.000808262 0.952439 -0.304633 uwb: 0.0 1144.16 483.682 -imu_odom_: 1691062465.735347600 0.486023 -0.174777 9.90242 -0.052198 0 0.237554 0.02 0.29 pose: 0.0 5.0486 -3.29071 0 0.00765351 0.000808262 0.952439 -0.304633 uwb: 0.50240543 1144.52 484.147 -imu_odom_: 1691062465.752223643 0.47884 -0.0885855 9.82341 -0.0532632 0 0.219444 0.02 0.29 pose: 0.0 5.0486 -3.29071 0 0.00765351 0.000808262 0.952439 -0.304633 uwb: 0.0 1144.52 484.147 -imu_odom_: 1691062465.768204657 0.4956 -0.198719 9.88805 -0.0532632 0.00532632 0.211988 0.01 0.17 pose: 0.6962203 5.04866 -3.29075 0 0.0070431 0.00114753 0.952213 -0.305351 uwb: 0.0 1144.52 484.147 -imu_odom_: 1691062465.795190810 0.509965 -0.246603 9.91678 -0.052198 -0.00426106 0.193878 0.01 0.2 pose: 0.0 5.04866 -3.29075 0 0.0070431 0.00114753 0.952213 -0.305351 uwb: 0.49809216 1144.49 484.237 -imu_odom_: 1691062465.820170513 0.260968 -0.112527 9.88805 -0.052198 0.0181095 0.214118 0.01 0.14 pose: 0.66196769 5.05005 -3.30065 0 0.00455991 0.00174928 0.950337 -0.311183 uwb: 0.0 1144.49 484.237 -imu_odom_: 1691062465.837158543 0.0335188 -0.37589 9.92636 -0.0596548 0.00745685 0.265251 0.01 0.14 pose: 0.0 5.05005 -3.30065 0 0.00455991 0.00174928 0.950337 -0.311183 uwb: 0.49905163 1144 484.247 -imu_odom_: 1691062465.853155889 0.153229 -0.435745 9.94073 -0.0532632 -0.0149137 0.30147 0.01 0.14 pose: 0.27820520 5.05005 -3.30065 0 0.00481454 0.000273961 0.94964 -0.313307 uwb: 0.0 1144 484.247 -imu_odom_: 1691062465.870217411 0.399832 -0.292093 9.89524 -0.0500674 -0.0181095 0.327036 0.02 0.23 pose: 0.40963051 5.05005 -3.30065 0 0.00115769 -0.00114406 0.948288 -0.317407 uwb: 0.0 1144 484.247 -imu_odom_: 1691062465.886199592 0.567426 -0.146046 9.86411 -0.052198 -0.0106526 0.345146 0.02 0.23 pose: 0.0 5.05005 -3.30065 0 0.00115769 -0.00114406 0.948288 -0.317407 uwb: 0.50141388 1148.03 485.438 -imu_odom_: 1691062465.913304732 0.452504 -0.21069 9.83059 -0.0500674 0.0138484 0.339819 0.03 0.38 pose: 0.42024311 5.05005 -3.30065 0 0.00199216 -0.00203627 0.946342 -0.323154 uwb: 0.0 1148.03 485.438 -imu_odom_: 1691062465.929231502 0.196325 -0.217872 9.90002 -0.0575243 0.00639159 0.360059 0.03 0.38 pose: 0.0 5.05005 -3.30065 0 0.00199216 -0.00203627 0.946342 -0.323154 uwb: 0.0 1148.03 485.438 -imu_odom_: 1691062465.956256150 0.339977 -0.275333 9.78989 -0.0490022 -0.00852212 0.376038 0.03 0.44 pose: 0.6970660 5.05005 -3.30065 0 0.00200342 -0.00134859 0.946005 -0.324143 uwb: 0.49945409 1149.25 486.278 -imu_odom_: 1691062465.972201877 0.500388 -0.213084 9.85932 -0.0490022 -0.0181095 0.389887 0.02 0.41 pose: 0.0 5.05005 -3.30065 0 0.00200342 -0.00134859 0.946005 -0.324143 uwb: 0.0 1149.25 486.278 -imu_odom_: 1691062465.989164243 0.6608 -0.196325 9.93115 -0.0532632 -0.00958738 0.448476 0.02 0.55 pose: 0.0 5.05005 -3.30065 0 0.00200342 -0.00134859 0.946005 -0.324143 uwb: 0.50087727 1148.69 486.532 -imu_odom_: 1691062466.15209003 0.636858 -0.430956 10.0126 -0.0479369 0.0276969 0.495348 0.02 0.55 pose: 0.86068194 5.05005 -3.30065 0 0.00109665 -0.0007982050.941259 -0.337682 uwb: 0.0 1148.69 486.532 -imu_odom_: 1691062466.32201997 0.301669 -0.213084 9.85453 -0.0447411 0.0106526 0.531567 0.02 0.61 pose: 0.0 5.05005 -3.30065 0 0.00109665 -0.0007982050.941259 -0.337682 uwb: 0.0 1148.69 486.532 -imu_odom_: 1691062466.58141191 0.500388 -0.21069 9.90481 -0.0468716 -0.00639159 0.567786 0.02 0.61 pose: 0.42917888 5.05005 -3.30065 0 0.00316288 -0.00147057 0.937944 -0.34677 uwb: 0.49845975 1150.45 487.167 -imu_odom_: 1691062466.85136103 0.567426 -0.189142 10.0149 -0.0479369 0.00106526 0.565655 0.02 0.67 pose: 0.35984857 5.05 -3.30062 0 0.00358754 0.000701754 0.934672 -0.355493 uwb: 0.49834025 1151.64 488.081 -imu_odom_: 1691062466.101192658 0.378284 -0.332794 9.72525 -0.0447411 0.00639159 0.573112 0.02 0.67 pose: 0.7012658 5.05005 -3.30065 0 0.00407581 0.00119037 0.934013 -0.357215 uwb: 0.0 1151.64 488.081 -imu_odom_: 1691062466.117247171 0.344765 -0.241814 9.94791 -0.0543285 0 0.595483 0.02 0.73 pose: 0.0 5.05005 -3.30065 0 0.00407581 0.00119037 0.934013 -0.357215 uwb: 0.0 1151.64 488.081 -imu_odom_: 1691062466.134187671 0.577003 -0.316035 9.82341 -0.052198 -0.015979 0.628506 0.02 0.73 pose: 0.43099878 5.05005 -3.30065 0 0.0040016 0.000840936 0.929842 -0.367938 uwb: 0.0 1151.64 488.081 -imu_odom_: 1691062466.161194541 0.593762 -0.0861913 9.9934 -0.0543285 0.0191748 0.656203 0.02 0.79 pose: 0.0 5.05005 -3.30065 0 0.0040016 0.000840936 0.929842 -0.367938 uwb: 0.50061208 1154.35 488.769 -imu_odom_: 1691062466.187135776 0.411803 -0.153229 9.79947 -0.052198 0.02024 0.660464 0.02 0.79 pose: 0.32909273 5.05005 -3.30065 0 0.0049426 0.000659904 0.926248 -0.376881 uwb: 0.50244647 1155.28 488.927 -imu_odom_: 1691062466.214251425 0.529119 -0.407014 9.96227 -0.0553937 -0.00319579 0.709466 0.02 0.82 pose: 0.0 5.05005 -3.30065 0 0.0049426 0.000659904 0.926248 -0.376881 uwb: 0.0 1155.28 488.927 -imu_odom_: 1691062466.230291356 0.744597 -0.442927 9.89284 -0.0532632 0.0106526 0.711597 0.02 0.82 pose: 0.53155165 5.04015 -3.30206 0 0.00263703 0.00209421 0.919863 -0.392224 uwb: 0.0 1155.28 488.927 -imu_odom_: 1691062466.257137243 0.426168 -0.225055 9.79228 -0.0543285 0.00958738 0.740359 0.01 0.88 pose: 0.0 5.04015 -3.30206 0 0.00263703 0.00209421 0.919863 -0.392224 uwb: 0.49929973 1155.65 489.31 -imu_odom_: 1691062466.274117406 0.416591 -0.208296 10.0054 -0.0575243 0.00745685 0.740359 0.01 0.88 pose: 0.43894001 5.04015 -3.30206 0 0.00450965 3.10833e-05 0.913933 -0.405839 uwb: 0.0 1155.65 489.31 -imu_odom_: 1691062466.301289050 0.507571 -0.268151 9.81383 -0.0543285 -0.00532632 0.760599 0.01 1.03 pose: 0.0 5.04015 -3.30206 0 0.00450965 3.10833e-05 0.913933 -0.405839 uwb: 0.49899351 1155.91 490.053 -imu_odom_: 1691062466.327131128 0.457293 -0.251391 9.85932 -0.0479369 -0.00745685 0.788296 0.01 1.03 pose: 0.35905240 5.04009 -3.30203 0 0.00079443 0.000369665 0.908765 -0.417307 uwb: 0.0 1155.91 490.053 -imu_odom_: 1691062466.344118582 0.497994 -0.277727 9.85453 -0.0532632 0.00106526 0.834102 0.01 0.91 pose: 0.0 5.04009 -3.30203 0 0.00079443 0.000369665 0.908765 -0.417307 uwb: 0.49962344 1158.12 490.783 -imu_odom_: 1691062466.370143225 0.52433 -0.217872 9.92157 -0.0394148 -0.00319579 0.826645 0.01 0.91 pose: 0.53013722 5.03994 -3.30195 0 0.00271544 -0.00233489 0.900459 -0.434926 uwb: 0.0 1158.12 490.783 -imu_odom_: 1691062466.387116388 0.435745 -0.0909797 9.84017 -0.0543285 -0.00852212 0.844755 0.01 0.82 pose: 0.0 5.03994 -3.30195 0 0.00271544 -0.00233489 0.900459 -0.434926 uwb: 0.50021838 1156.23 490.594 -imu_odom_: 1691062466.403097992 0.682347 -0.215478 9.97664 -0.0575243 0 0.858603 0.01 0.82 pose: 0.25073621 5.04015 -3.30206 0 0.00440108 -0.00079033 0.896096 -0.443837 uwb: 0.0 1156.23 490.594 -imu_odom_: 1691062466.430285967 0.502782 -0.237026 10.0892 -0.052198 0.00319579 0.862864 0.01 0.97 pose: 0.50893243 5.04009 -3.30203 0 0.00508798 0.00274395 0.88684 -0.462041 uwb: 0.0 1156.23 490.594 -imu_odom_: 1691062466.456300986 0.565032 -0.265756 10.1179 -0.052198 -0.0106526 0.864995 0.01 0.97 pose: 0.8021424 5.04015 -3.30206 0 0.00498816 0.00192549 0.88531 -0.464971 uwb: 0.50103204 1153.54 489.873 -imu_odom_: 1691062466.483151831 0.691924 -0.253785 9.84735 -0.0575243 0.00426106 0.876713 0 1.06 pose: 0.45181570 5.03995 -3.30195 0 0.00718001 0.00105023 0.876483 -0.481377 uwb: 0.0 1153.54 489.873 -imu_odom_: 1691062466.509167141 0.574608 -0.229843 9.71088 -0.0468716 0.0213053 0.898018 0 0.79 pose: 0.0 5.03995 -3.30195 0 0.00718001 0.00105023 0.876483 -0.481377 uwb: 0.49922098 1152.09 489.856 -imu_odom_: 1691062466.536228838 0.52433 -0.134075 9.79947 -0.0490022 0.00852212 0.882039 0 1.03 pose: 0.34981048 5.04015 -3.30206 0 0.00873457 0.00289121 0.869293 -0.494212 uwb: 0.49862022 1150.3 489.328 -imu_odom_: 1691062466.552130534 0.490811 -0.141258 10.1323 -0.0468716 0.0106526 0.892692 0 1.03 pose: 0.0 5.04015 -3.30206 0 0.00873457 0.00289121 0.869293 -0.494212 uwb: 0.0 1150.3 489.328 -imu_odom_: 1691062466.579155777 0.509965 -0.356736 9.96227 -0.0543285 -0.00319579 0.911866 0 0.88 pose: 0.52968519 5.04015 -3.30206 0 -0.0040698 -0.00545455 -0.857992 0.513618 uwb: 0.0 1150.3 489.328 -imu_odom_: 1691062466.604289766 0.476446 -0.0885855 10.0772 -0.0479369 -0.00106526 0.936367 0 0.88 pose: 0.34905224 5.03966 -3.3018 0 -0.00464234 -0.00303935 -0.850114 0.526569 uwb: 0.50121869 1150.26 489.486 -imu_odom_: 1691062466.621279261 0.533907 -0.201113 9.81144 -0.0543285 0.0117179 0.968325 0 0.88 pose: 0.8088791 5.04015 -3.30206 0 -0.00402017 -0.00357665 -0.848202 0.529646 uwb: 0.0 1150.26 489.486 -imu_odom_: 1691062466.647101508 0.672771 -0.25618 9.93354 -0.0511327 0.0106526 0.966195 0 0.85 pose: 0.0 5.04015 -3.30206 0 -0.00402017 -0.00357665 -0.848202 0.529646 uwb: 0.49869895 1151.17 489.681 -imu_odom_: 1691062466.664236238 0.246603 -0.181959 9.83059 -0.0553937 0.0276969 0.961934 0 0.85 pose: 0.41872095 5.04015 -3.30206 0 -0.00502774 -0.00439271 -0.837889 0.5458 uwb: 0.0 1151.17 489.681 -imu_odom_: 1691062466.680220758 -0.19393 -0.213084 9.76834 -0.0543285 0.0575243 0.942759 0 0.85 pose: 0.0 5.04015 -3.30206 0 -0.00502774 -0.00439271 -0.837889 0.5458 uwb: 0.0 1151.17 489.681 -imu_odom_: 1691062466.696109331 -0.383072 -0.138864 9.80665 -0.0681769 0.00852212 0.960868 0.01 0.91 pose: 0.43124667 5.04015 -3.30206 0 -0.00414539 -0.00299257 -0.826896 0.562332 uwb: 0.49911600 1152.98 490.1 -imu_odom_: 1691062466.713053623 -0.220267 -0.189142 9.93354 -0.0543285 0.00319579 0.966195 0.01 0.91 pose: 0.0 5.04015 -3.30206 0 -0.00414539 -0.00299257 -0.826896 0.562332 uwb: 0.0 1152.98 490.1 -imu_odom_: 1691062466.730110485 -0.289698 -0.3304 9.9503 -0.0500674 0.0234358 0.916127 0.06 1 pose: 0.0 5.04015 -3.30206 0 -0.00414539 -0.00299257 -0.826896 0.562332 uwb: 0.0 1152.98 490.1 -imu_odom_: 1691062466.746216035 -0.423774 0.0407014 10.0652 -0.0426106 0.00958738 0.796818 0.06 1 pose: 0.40812293 5.04009 -3.30203 0 -0.000426549-0.00047751 -0.816206 0.577761 uwb: 0.50188945 1153.98 490.008 -imu_odom_: 1691062466.763209029 -0.201113 0.1652 9.90242 -0.0415453 -0.0575243 0.727576 0.06 1 pose: 0.0 5.04009 -3.30203 0 -0.000426549-0.00047751 -0.816206 0.577761 uwb: 0.0 1153.98 490.008 -imu_odom_: 1691062466.780099368 0.418985 -0.328006 9.69173 -0.0681769 -0.0426106 0.720119 0.06 0.67 pose: 0.7003034 5.04015 -3.30206 0 0.000158965 5.89834e-05 -0.814429 0.580264 uwb: 0.0 1153.98 490.008 -imu_odom_: 1691062466.796079806 0.447716 -0.517148 9.68455 -0.052198 0.0170442 0.700944 0.06 0.67 pose: 0.0 5.04015 -3.30206 0 0.000158965 5.89834e-05 -0.814429 0.580264 uwb: 0.50029128 1151.32 489.163 -imu_odom_: 1691062466.813050053 0.162806 -0.361524 9.8689 -0.0596548 0.0181095 0.710531 0.06 0.67 pose: 0.0 5.04015 -3.30206 0 0.000158965 5.89834e-05 -0.814429 0.580264 uwb: 0.0 1151.32 489.163 -imu_odom_: 1691062466.830051505 0.0407014 -0.272939 9.94073 -0.0628506 0.00319579 0.707336 0.1 0.79 pose: 0.51161839 5.04171 -3.31194 0 0.00320327 0.00121856 -0.803208 0.595689 uwb: 0.0 1151.32 489.163 -imu_odom_: 1691062466.846084437 0.179565 -0.181959 9.87369 -0.0617853 -0.0266316 0.66579 0.08 0.55 pose: 0.0 5.04171 -3.31194 0 0.00320327 0.00121856 -0.803208 0.595689 uwb: 0.49910725 1149.14 488.352 -imu_odom_: 1691062466.863089098 0.335188 -0.071826 9.85214 -0.0596548 -0.0191748 0.621049 0.08 0.55 pose: 0.66837810 5.04171 -3.31194 0 0.00388971 0.005379 -0.789784 0.613349 uwb: 0.0 1149.14 488.352 -imu_odom_: 1691062466.880112714 0.349553 -0.215478 9.98622 -0.0660464 -0.0138484 0.600809 0.09 0.53 pose: 0.0 5.04171 -3.31194 0 0.00388971 0.005379 -0.789784 0.613349 uwb: 0.0 1149.14 488.352 -imu_odom_: 1691062466.897167244 0.316035 -0.361524 10.0652 -0.0671117 -0.00319579 0.568851 0.09 0.53 pose: 0.0 5.04171 -3.31194 0 0.00388971 0.005379 -0.789784 0.613349 uwb: 0.50004923 1148.31 487.889 -imu_odom_: 1691062466.913043568 0.213084 -0.184354 10.0437 -0.056459 -0.00958738 0.539024 0.09 0.53 pose: 0.33115167 5.04171 -3.31194 0 0.00428245 0.00321219 -0.783778 0.621017 uwb: 0.0 1148.31 487.889 -imu_odom_: 1691062466.929048794 0.955286 -0.229843 10.1682 -0.0692422 -0.0532632 0.54222 0.13 0.61 pose: 0.41872095 5.0381 -3.32264 0 0.00392701 0.00426252 -0.776907 0.629589 uwb: 0.0 1148.31 487.889 -imu_odom_: 1691062466.945099516 1.04866 -0.325611 9.78031 -0.0681769 -0.0234358 0.548611 0.13 0.61 pose: 0.7063985 5.03341 -3.3234 0 0.00322073 0.00373784 -0.775792 0.63097 uwb: 0.0 1148.31 487.889 -imu_odom_: 1691062466.962095719 1.22104 -0.533907 9.95988 -0.056459 -0.0298274 0.56459 0.13 0.61 pose: 0.0 5.03341 -3.3234 0 0.00322073 0.00373784 -0.775792 0.63097 uwb: 0.0 1148.31 487.889 -imu_odom_: 1691062466.978154314 1.45567 -0.397437 9.80186 -0.036219 -0.0383495 0.523045 0.06 0.35 pose: 0.41988166 5.03335 -3.32337 0 -0.0009672890.00146986 -0.768947 0.63931 uwb: 0.0 1148.31 487.889 -imu_odom_: 1691062466.995037363 1.1564 0.129287 9.78989 -0.04048 0.0149137 0.444215 0.09 0.47 pose: 0.0 5.03335 -3.32337 0 -0.0009672890.00146986 -0.768947 0.63931 uwb: 0.100013637 1146.51 487.419 -imu_odom_: 1691062467.12096854 0.823605 0.203507 10.0987 -0.0639159 0.015979 0.415453 0.09 0.47 pose: 0.0 5.03335 -3.32337 0 -0.0009672890.00146986 -0.768947 0.63931 uwb: 0.0 1146.51 487.419 -imu_odom_: 1691062467.28033261 0.775721 -0.265756 9.76595 -0.0660464 0.00106526 0.38456 0.05 0.32 pose: 0.23073878 5.03341 -3.3234 0 -0.00262185 -0.000307467-0.765548 0.643373 uwb: 0.0 1146.51 487.419 -imu_odom_: 1691062467.44031495 0.665588 -0.342371 9.93594 -0.0543285 0.00319579 0.334493 0.05 0.32 pose: 0.0 5.03341 -3.3234 0 -0.00262185 -0.000307467-0.765548 0.643373 uwb: 0.49925320 1144.75 486.798 -imu_odom_: 1691062467.61032954 0.770933 -0.205901 9.91918 -0.0468716 -0.00213053 0.316384 0.05 0.32 pose: 0.33872841 5.03509 -3.33326 0 -0.00339539 -0.00304274 -0.761414 0.64825 uwb: 0.0 1144.75 486.798 -imu_odom_: 1691062467.77072891 0.739808 -0.148441 9.84256 -0.0479369 -0.00639159 0.313188 0.04 0.38 pose: 0.41990516 5.03509 -3.33326 0 -0.00683494 -0.0047289 -0.757319 0.652992 uwb: 0.0 1144.75 486.798 -imu_odom_: 1691062467.94048103 0.663194 -0.189142 9.88805 -0.0511327 -0.00106526 0.304666 0.04 0.38 pose: 0.7000995 5.03509 -3.33326 0 -0.00711156 -0.00538711 -0.756691 0.653712 uwb: 0.49956240 1144.83 486.481 -imu_odom_: 1691062467.111029731 0.703895 -0.229843 9.95509 -0.0500674 -0.00319579 0.282295 0.04 0.38 pose: 0.0 5.03509 -3.33326 0 -0.00711156 -0.00538711 -0.756691 0.653712 uwb: 0.0 1144.83 486.481 -imu_odom_: 1691062467.136096071 0.52433 -0.117316 9.8258 -0.052198 0.0149137 0.252468 0.03 0.26 pose: 0.42995782 5.03502 -3.33323 0 -0.00973434 -0.00844636 -0.753023 0.657868 uwb: 0.49961489 1145.35 486.359 -imu_odom_: 1691062467.153094322 -0.385466 -0.117316 9.74679 -0.0649811 0.0958738 0.273773 0.03 0.29 pose: 0.0 5.03502 -3.33323 0 -0.00973434 -0.00844636 -0.753023 0.657868 uwb: 0.0 1145.35 486.359 -imu_odom_: 1691062467.179300955 -1.41497 -0.428562 9.94791 -0.072438 0.0117179 0.314253 0.03 0.29 pose: 0.32036422 5.03509 -3.33326 0 -0.00625771 -0.00743843 -0.750766 0.660497 uwb: 0.0 1145.35 486.359 -imu_odom_: 1691062467.196128308 -0.833182 -0.383072 9.68933 -0.0372843 -0.0585895 0.284426 0.05 0.23 pose: 0.0 5.03509 -3.33326 0 -0.00625771 -0.00743843 -0.750766 0.660497 uwb: 0.50126555 1145.45 486.02 -imu_odom_: 1691062467.222084427 0.430956 -0.0454898 9.81383 -0.04048 -0.0585895 0.259925 0.05 0.23 pose: 0.18014599 5.03509 -3.33326 0 -0.00459842 -0.00575915 -0.749281 0.662211 uwb: 0.0 1145.45 486.02 -imu_odom_: 1691062467.249130678 0.237026 -0.277727 10.003 -0.0596548 0.0191748 0.241815 0.08 0.17 pose: 0.43028737 5.03509 -3.33326 0 -0.00198407 -0.00388359 -0.745683 0.666287 uwb: 0.49925327 1144.53 485.857 -imu_odom_: 1691062467.265128037 0.059855 -0.201113 10.2568 -0.0394148 0.0170442 0.213053 0.08 0.17 pose: 0.0 5.03509 -3.33326 0 -0.00198407 -0.00388359 -0.745683 0.666287 uwb: 0.0 1144.53 485.857 -imu_odom_: 1691062467.292125002 0.172383 0.0335188 9.94073 -0.0596548 -0.00426106 0.219444 0.1 0.17 pose: 0.53035325 5.03675 -3.34312 0 0.00106886 -0.00180633 -0.74208 0.670308 uwb: 0.50312327 1143.19 485.435 -imu_odom_: 1691062467.318005004 0.574608 -0.526724 9.99819 -0.0671117 0 0.213053 0.11 0.14 pose: 0.34980188 5.03669 -3.34309 0 0.00438147 -0.00122677 -0.739982 0.672612 uwb: 0.0 1143.19 485.435 -imu_odom_: 1691062467.345011009 0.0933739 0.174777 9.92397 -0.0490022 -0.0351537 0.18216 0.11 0.14 pose: 0.0 5.03669 -3.34309 0 0.00438147 -0.00122677 -0.739982 0.672612 uwb: 0.49904620 1142.92 484.654 -imu_odom_: 1691062467.370005898 0.423774 -0.282516 9.96227 -0.0735032 0.00532632 0.196009 0.12 0.11 pose: 0.7899523 5.03675 -3.34312 0 0.00361088 -0.000936131-0.739523 0.673121 uwb: 0.0 1142.92 484.654 -imu_odom_: 1691062467.397132349 0.361524 -0.354342 9.7875 -0.0234358 0 0.15979 0.12 0.11 pose: 0.0 5.03675 -3.34312 0 0.00361088 -0.000936131-0.739523 0.673121 uwb: 0.49849210 1143.09 484.042 -imu_odom_: 1691062467.422111198 0.641646 -0.0215478 9.98622 -0.0649811 -0.0436758 0.173638 0.13 0.08 pose: 0.53035617 5.02853 -3.35465 0 0.00350279 -0.000682615-0.736748 0.676158 uwb: 0.0 1143.09 484.042 -imu_odom_: 1691062467.439149403 0.457293 -0.342371 9.51695 -0.0703074 -0.0213053 0.16192 0.13 0.08 pose: 0.0 5.02853 -3.35465 0 0.00350279 -0.000682615-0.736748 0.676158 uwb: 0.49967031 1144.1 483.909 -imu_odom_: 1691062467.456106242 0.64404 -0.160412 10.2113 -0.0436758 0.0117179 0.132093 0.17 0.08 pose: 0.52026850 5.0302 -3.36451 0 0.000280774 0.0010947 -0.734392 0.678725 uwb: 0.0 1144.1 483.909 -imu_odom_: 1691062467.483159493 0.167594 -0.0670376 9.85693 -0.0948085 -0.0330232 0.154463 0.17 0.08 pose: 0.0 5.0302 -3.36451 0 0.000280774 0.0010947 -0.734392 0.678725 uwb: 0.0 1144.1 483.909 -imu_odom_: 1691062467.509040078 0.574608 -0.378284 9.8282 -0.0458064 0.0127832 0.108657 0.2 0.14 pose: 0.58027828 5.0302 -3.36451 0 -0.00201818 -0.00120146 -0.7321 0.681193 uwb: 0.50115181 1149.66 484.882 -imu_odom_: 1691062467.536014004 0.457293 -0.292093 9.84496 -0.0585895 -0.0298274 0.131028 0.19 0.08 pose: 0.27884119 5.03187 -3.37437 0 -0.00125939 -0.000554257-0.731133 0.682233 uwb: 0.49890914 1151.14 484.825 -imu_odom_: 1691062467.561105716 -0.110133 -0.11971 10.0078 -0.056459 0.00745685 0.122505 0.19 0.08 pose: 0.0 5.03187 -3.37437 0 -0.00125939 -0.000554257-0.731133 0.682233 uwb: 0.0 1151.14 484.825 -imu_odom_: 1691062467.587979902 -0.131681 -0.40462 10.0844 -0.0830906 0.0447411 0.110787 0.16 0.08 pose: 0.25061965 5.03187 -3.37437 0 -0.00352456 -2.34334e-05-0.730483 0.682922 uwb: 0.50101766 1155.3 485.646 -imu_odom_: 1691062467.603995342 0.220267 -0.42138 9.91439 -0.072438 0.0138484 0.092678 0.16 0.08 pose: 0.0 5.03187 -3.37437 0 -0.00352456 -2.34334e-05-0.730483 0.682922 uwb: 0.0 1155.3 485.646 -imu_odom_: 1691062467.620973179 0.0383072 -0.0167594 10.2041 -0.056459 0.00213053 0.0884169 0.22 0.05 pose: 0.52057764 5.03358 -3.38422 0 -0.00250703 0.00299648 -0.728967 0.684538 uwb: 0.0 1155.3 485.646 -imu_odom_: 1691062467.646978001 0.663194 -0.45011 9.81623 -0.0649811 0.0351537 0.1012 0.22 0.05 pose: 0.0 5.03358 -3.38422 0 -0.00250703 0.00299648 -0.728967 0.684538 uwb: 0.49914244 1154.86 485.465 -imu_odom_: 1691062467.663965461 0.596156 -0.19393 10.4579 -0.0617853 -0.00213053 0.0884169 0.22 0.05 pose: 0.42914416 5.03532 -3.39407 0 -0.0003359330.00692421 -0.728053 0.685486 uwb: 0.0 1154.86 485.465 -imu_odom_: 1691062467.690033860 0.711078 -0.476446 9.67257 -0.0692422 0.00106526 0.0852212 0.22 0.05 pose: 0.0 5.03532 -3.39407 0 -0.0003359330.00692421 -0.728053 0.685486 uwb: 0.49920661 1155.3 485.646 -imu_odom_: 1691062467.717247509 0.373495 -0.289698 9.39245 -0.0330232 0.00639159 0.0703074 0.22 0.05 pose: 0.43013863 5.02546 -3.39575 0 -0.001697 0.00572837 -0.727232 0.686366 uwb: 0.0 1155.3 485.646 -imu_odom_: 1691062467.733290364 0.52433 -0.361524 9.84735 -0.0532632 -0.0191748 0.0809601 0.22 0.05 pose: 0.0 5.02546 -3.39575 0 -0.001697 0.00572837 -0.727232 0.686366 uwb: 0.0 1155.3 485.646 -imu_odom_: 1691062467.750270242 0.0837971 -0.251391 9.74679 -0.0415453 0.0351537 0.0436758 0.21 0.05 pose: 0.43239298 5.02716 -3.40561 0 -0.00378523 0.00414931 -0.726592 0.687046 uwb: 0.50006984 1151.73 484.46 -imu_odom_: 1691062467.765999879 0.373495 -0.100556 10.343 -0.056459 -0.0117179 0.0788296 0.21 0.05 pose: 0.0 5.02716 -3.40561 0 -0.00378523 0.00414931 -0.726592 0.687046 uwb: 0.0 1151.73 484.46 -imu_odom_: 1691062467.782941261 0.454898 -0.258574 10.3238 -0.0585895 -0.00213053 0.0756338 0.21 0.05 pose: 0.0 5.02716 -3.40561 0 -0.00378523 0.00414931 -0.726592 0.687046 uwb: 0.0 1151.73 484.46 -imu_odom_: 1691062467.800059375 0.574608 -0.201113 9.94791 -0.0479369 -0.0106526 0.0617853 0.17 0 pose: 0.43846481 5.02889 -3.41546 0 -0.00235953 0.00383902 -0.726144 0.687528 uwb: 0.0 1151.73 484.46 -imu_odom_: 1691062467.816155306 0.268151 -0.105345 9.8689 -0.052198 -0.0106526 0.0639159 0.17 0 pose: 0.0 5.02889 -3.41546 0 -0.00235953 0.00383902 -0.726144 0.687528 uwb: 0.0 1151.73 484.46 -imu_odom_: 1691062467.833960804 0.490811 -0.430956 9.30866 -0.0713727 -0.04048 0.076699 0.17 0 pose: 0.0 5.02889 -3.41546 0 -0.00235953 0.00383902 -0.726144 0.687528 uwb: 0.0 1151.73 484.46 -imu_odom_: 1691062467.858996813 0.648829 -0.174777 9.92875 -0.0234358 0.00532632 0.0447411 0.17 0.02 pose: 0.92828078 5.0316 -3.43075 0 -0.00269737 0.000944358 -0.72522 0.688511 uwb: 0.99906064 1149.54 483.599 -imu_odom_: 1691062467.885227652 0.411803 -0.229843 10.1778 -0.052198 -0.0117179 0.0745685 0.21 0.02 pose: 0.0 5.0316 -3.43075 0 -0.00269737 0.000944358 -0.72522 0.688511 uwb: 0.49979280 1150.48 483.726 -imu_odom_: 1691062467.902095251 0.531513 -0.114922 9.95509 -0.0383495 -0.00532632 0.0500674 0.21 0.02 pose: 0.25036009 5.03239 -3.43515 0 -0.00336588 -0.00154505 -0.725178 0.688551 uwb: 0.0 1150.48 483.726 -imu_odom_: 1691062467.928076742 0.452504 -0.105345 9.75637 -0.0617853 0.0191748 0.0809601 0.17 -0.02 pose: 0.0 5.03239 -3.43515 0 -0.00336588 -0.00154505 -0.725178 0.688551 uwb: 0.0 1150.48 483.726 -imu_odom_: 1691062467.944924217 0.105345 -0.59855 9.59357 -0.0447411 0.0308927 0.0500674 0.17 -0.02 pose: 0.34024499 5.02255 -3.43692 0 -0.00122451 -0.00095376 -0.724838 0.688918 uwb: 0.49978112 1154.62 484.631 -imu_odom_: 1691062467.962043789 0.837971 -0.0071826110.1778 -0.0330232 -0.00532632 0.0500674 0.23 0 pose: 0.0 5.02255 -3.43692 0 -0.00122451 -0.00095376 -0.724838 0.688918 uwb: 0.0 1154.62 484.631 -imu_odom_: 1691062467.978038523 0.215478 -0.213084 9.56484 -0.0532632 0 0.0713727 0.23 0 pose: 0.58912650 5.02433 -3.44676 0 0.000485609 -0.00254785 -0.72435 0.689428 uwb: 0.0 1154.62 484.631 -imu_odom_: 1691062467.994934702 0.282516 -0.25618 10.0676 -0.0330232 -0.0596548 0.0436758 0.23 0 pose: 0.0 5.02433 -3.44676 0 0.000485609 -0.00254785 -0.72435 0.689428 uwb: 0.50075519 1154.65 484.518 -imu_odom_: 1691062468.12088981 0.486023 -0.232238 9.27993 -0.036219 -0.0308927 0.0596548 0.17 0.02 pose: 0.0 5.02433 -3.44676 0 0.000485609 -0.00254785 -0.72435 0.689428 uwb: 0.0 1154.65 484.518 -imu_odom_: 1691062468.28130675 0.42138 -0.356736 10.3046 -0.072438 0.00426106 0.0830906 0.17 0.02 pose: 0.51017792 5.02611 -3.4566 0 0.000462563 -0.00137524 -0.724063 0.689732 uwb: 0.0 1154.65 484.518 -imu_odom_: 1691062468.44976407 0.23942 -0.143652 9.23683 -0.0468716 -0.0575243 0.0479369 0.17 0.02 pose: 0.0 5.02611 -3.4566 0 0.000462563 -0.00137524 -0.724063 0.689732 uwb: 0.50009622 1152.95 483.621 -imu_odom_: 1691062468.61193957 0.687136 -0.263362 9.85932 -0.0681769 -0.0255663 0.0703074 0.19 0.02 pose: 0.0 5.02611 -3.4566 0 0.000462563 -0.00137524 -0.724063 0.689732 uwb: 0.0 1152.95 483.621 -imu_odom_: 1691062468.78950175 0.56982 -0.234632 9.85693 -0.0692422 -0.0170442 0.0639159 0.19 0.02 pose: 0.49134431 5.02789 -3.46644 0 -0.000866462-0.000583118-0.723633 0.690184 uwb: 0.0 1152.95 483.621 -imu_odom_: 1691062468.104983296 0.519542 0.0191536 9.9503 -0.0607201 -0.02024 0.0585895 0.17 0.02 pose: 0.0 5.02789 -3.46644 0 -0.000866462-0.000583118-0.723633 0.690184 uwb: 0.50037918 1154.92 483.618 -imu_odom_: 1691062468.131096908 0.351948 -0.361524 9.63187 -0.0660464 -0.0330232 0.0596548 0.17 0.02 pose: 0.33880154 5.0296 -3.47629 0 -0.00295621 -0.00280205 -0.723338 0.690482 uwb: 0.0 1154.92 483.618 -imu_odom_: 1691062468.156973421 0.414197 -0.198719 9.44034 -0.0788296 -0.0149137 0.0596548 0.19 0.02 pose: 0.45130569 5.02386 -3.48447 0 -0.00268979 -0.00199873 -0.723036 0.690803 uwb: 0.49988632 1156.73 484.139 -imu_odom_: 1691062468.183109198 0.0550666 -0.430956 9.40682 -0.0532632 0.0458064 0.0468716 0.19 0.02 pose: 0.0 5.02386 -3.48447 0 -0.00268979 -0.00199873 -0.723036 0.690803 uwb: 0.0 1156.73 484.139 -imu_odom_: 1691062468.209034414 0.0766145 -0.229843 9.81623 -0.0607201 -0.0245011 0.0671117 0.18 0.02 pose: 0.52012290 5.0227 -3.49484 0 0.000623215 0.00191971 -0.722795 0.69106 uwb: 0.50120451 1156.82 483.825 -imu_odom_: 1691062468.226023339 1.17316 -0.292093 9.92397 -0.0628506 0.00426106 0.0543285 0.18 0.02 pose: 0.0 5.0227 -3.49484 0 0.000623215 0.00191971 -0.722795 0.69106 uwb: 0.0 1156.82 483.825 -imu_odom_: 1691062468.252038962 0.476446 0.0670376 9.94551 -0.0639159 0.0191748 0.0596548 0.19 0 pose: 0.42914141 5.02321 -3.49771 0 0.000984592 0.00256542 -0.72246 0.691408 uwb: 0.49764364 1156.44 483.463 -imu_odom_: 1691062468.277895643 0.100556 -0.275333 9.65582 -0.0479369 0.00319579 0.04048 0.23 0 pose: 0.6941505 5.02321 -3.49771 0 0.00128228 0.00199783 -0.722411 0.69146 uwb: 0.0 1156.44 483.463 -imu_odom_: 1691062468.293899716 0.0885855 -0.325611 9.65821 -0.0500674 -0.0117179 0.0500674 0.18 0 pose: 0.19074118 5.02449 -3.50495 0 0.00210026 0.000438199 -0.722277 0.691601 uwb: 0.49967342 1156.12 482.899 -imu_odom_: 1691062468.311903241 0.368707 -0.258574 9.55047 -0.0585895 0.0170442 0.0543285 0.18 0 pose: 0.0 5.02449 -3.50495 0 0.00210026 0.000438199 -0.722277 0.691601 uwb: 0.0 1156.12 482.899 -imu_odom_: 1691062468.328936787 0.490811 -0.177171 10.0556 -0.0426106 -0.0266316 0.0383495 0.18 0 pose: 0.32869053 5.02495 -3.50756 0 0.00371724 0.00332976 -0.72224 0.691624 uwb: 0.0 1156.12 482.899 -imu_odom_: 1691062468.353949767 0.270545 -0.222661 9.79947 -0.0532632 0 0.0500674 0.18 0 pose: 0.0 5.02495 -3.50756 0 0.00371724 0.00332976 -0.72224 0.691624 uwb: 0.0 1156.12 482.899 -imu_odom_: 1691062468.371048056 0.490811 -0.263362 10.1107 -0.0330232 -0.0213053 0.04048 0.18 0 pose: 0.34027138 5.0267 -3.5174 0 0.00203176 0.00309848 -0.722128 0.69175 uwb: 0.0 1156.12 482.899 -imu_odom_: 1691062468.397073303 0.656011 -0.0383072 10.1155 -0.0639159 -0.0234358 0.0543285 0.18 0 pose: 0.6952587 5.01861 -3.529 0 0.00283129 0.00336235 -0.722037 0.69184 uwb: 0.100033549 1160.32 483.671 -imu_odom_: 1691062468.423913670 0.399832 -0.112527 10.0149 -0.056459 0.0106526 0.0394148 0.2 0 pose: 0.36170949 5.01861 -3.529 0 0.00102072 8.78265e-05 -0.721907 0.691989 uwb: 0.0 1160.32 483.671 -imu_odom_: 1691062468.439931158 0.308852 -0.481235 9.75637 -0.0862864 -0.00106526 0.0500674 0.2 0 pose: 0.0 5.01861 -3.529 0 0.00102072 8.78265e-05 -0.721907 0.691989 uwb: 0.50021586 1163.53 484.482 -imu_odom_: 1691062468.457047529 0.634463 -0.37589 10.1394 -0.056459 0.0340885 0.0298274 0.24 0 pose: 0.0 5.01861 -3.529 0 0.00102072 8.78265e-05 -0.721907 0.691989 uwb: 0.0 1163.53 484.482 -imu_odom_: 1691062468.482996367 0.447716 -0.0383072 9.7851 -0.0479369 0.00745685 0.0511327 0.24 0 pose: 0.49893267 5.02037 -3.53885 0 0.00117343 -0.000339061-0.721873 0.692024 uwb: 0.0 1163.53 484.482 -imu_odom_: 1691062468.509863273 0.277727 -0.287304 9.7037 -0.0308927 0.00958738 0.0213053 0.25 0 pose: 0.36029797 5.02213 -3.54869 0 0.00173936 -0.00255754 -0.7218 0.692095 uwb: 0.50004380 1164.4 484.858 -imu_odom_: 1691062468.525864138 0.174777 -0.155623 9.92397 -0.04048 0.0213053 0.0426106 0.25 0 pose: 0.6888718 5.02213 -3.54869 0 0.00185734 -0.00189683 -0.721845 0.69205 uwb: 0.0 1164.4 484.858 -imu_odom_: 1691062468.552859656 0.553061 -0.162806 10.058 -0.0436758 -0.0436758 0.0330232 0.21 0 pose: 0.0 5.02213 -3.54869 0 0.00185734 -0.00189683 -0.721845 0.69205 uwb: 0.50070581 1165.33 485.056 -imu_odom_: 1691062468.577909965 0.905008 -0.272939 10.5967 -0.0607201 -0.00319579 0.0575243 0.21 0 pose: 0.35979053 5.0239 -3.55854 0 0.00373573 0.000999096 -0.721955 0.691929 uwb: 0.0 1165.33 485.056 -imu_odom_: 1691062468.594891017 0.521936 -0.292093 9.31823 -0.0575243 0.0553937 0.0298274 0.21 -0.02 pose: 0.0 5.0239 -3.55854 0 0.00373573 0.000999096 -0.721955 0.691929 uwb: 0.49907557 1162.65 484.152 -imu_odom_: 1691062468.619880958 0.196325 -0.167594 9.77313 -0.0830906 0.0351537 0.0607201 0.21 -0.02 pose: 0.52045827 5.02514 -3.56552 0 -0.000518812-0.00275472 -0.721857 0.692037 uwb: 0.0 1162.65 484.152 -imu_odom_: 1691062468.646872976 0.320823 -0.440533 9.65821 -0.056459 -0.00532632 0.0245011 0.21 -0.02 pose: 0.41970993 5.01705 -3.5771 0 0.000339628 -6.95498e-05-0.721732 0.692173 uwb: 0.49954218 1163.19 484.003 -imu_odom_: 1691062468.662880840 0.4956 -0.167594 9.75158 -0.0319579 0.0245011 0.0383495 0.21 -0.02 pose: 0.0 5.01705 -3.5771 0 0.000339628 -6.95498e-05-0.721732 0.692173 uwb: 0.0 1163.19 484.003 -imu_odom_: 1691062468.689894147 0.61531 0.0622492 10.3286 -0.0458064 -0.00958738 0.0330232 0.23 0.02 pose: 0.42999882 5.01757 -3.57998 0 -0.00073082 0.00081105 -0.721882 0.692016 uwb: 0.50311181 1160.94 483.296 -imu_odom_: 1691062468.714993160 0.258574 -0.42138 9.8665 -0.072438 0.056459 0.0532632 0.23 0.02 pose: 0.0 5.01757 -3.57998 0 -0.00073082 0.00081105 -0.721882 0.692016 uwb: 0.0 1160.94 483.296 -imu_odom_: 1691062468.732017374 0.368707 -0.428562 9.40203 -0.0649811 -0.00958738 0.036219 0.23 0 pose: 0.52112320 5.01933 -3.58983 0 -0.0001833270.00116996 -0.721824 0.692076 uwb: 0.0 1160.94 483.296 -imu_odom_: 1691062468.756951904 0.581791 -0.258574 9.56244 -0.0628506 0.0532632 0.0436758 0.23 0 pose: 0.0 5.01933 -3.58983 0 -0.0001833270.00116996 -0.721824 0.692076 uwb: 0.49653250 1162.48 483.115 -imu_odom_: 1691062468.783990584 0.428562 -0.071826 10.0916 -0.0511327 -0.0500674 0.036219 0.18 -0.02 pose: 0.25032812 5.02109 -3.59967 0 -0.00171772 0.00215361 -0.721832 0.692062 uwb: 0.0 1162.48 483.115 -imu_odom_: 1691062468.799877711 0.888249 0.0335188 9.83538 -0.0585895 0.0308927 0.0426106 0.18 -0.02 pose: 0.0 5.02109 -3.59967 0 -0.00171772 0.00215361 -0.721832 0.692062 uwb: 0.50044626 1160.82 482.079 -imu_odom_: 1691062468.817929647 0.344765 -0.526724 10.161 -0.0511327 0.0255663 0.0308927 0.18 0 pose: 0.51885428 5.02285 -3.60951 0 -0.00133054 -0.00181623 -0.721838 0.692059 uwb: 0.0 1160.82 482.079 -imu_odom_: 1691062468.841867660 0.205901 -0.440533 9.18655 -0.0287621 -0.0181095 0.0532632 0.18 0 pose: 0.0 5.02285 -3.60951 0 -0.00133054 -0.00181623 -0.721838 0.692059 uwb: 0.49939928 1164.5 482.992 -imu_odom_: 1691062468.868914505 0.265756 -0.0311246 9.35654 -0.0308927 -0.0308927 0.015979 0.23 0 pose: 0.49956260 5.01715 -3.6177 0 -0.00173623 0.00137985 -0.721764 0.692136 uwb: 0.0 1164.5 482.992 -imu_odom_: 1691062468.893866534 0.179565 -0.399832 9.663 -0.0660464 0.00745685 0.0532632 0.18 -0.02 pose: 0.0 5.01715 -3.6177 0 -0.00173623 0.00137985 -0.721764 0.692136 uwb: 0.50069707 1167.21 483.837 -imu_odom_: 1691062468.918976920 0.435745 -0.208296 9.81383 -0.0351537 -0.04048 0.0213053 0.21 0 pose: 0.7083822 5.01477 -3.62112 0 -0.00105497 0.00108397 -0.721822 0.692077 uwb: 0.0 1167.21 483.837 -imu_odom_: 1691062468.932968126 0.505177 -0.0335188 9.89524 -0.0436758 0.0106526 0.0458064 0.21 0 pose: 0.0 5.01477 -3.62112 0 -0.00105497 0.00108397 -0.721822 0.692077 uwb: 0.0 1167.21 483.837 -imu_odom_: 1691062468.948845046 0.354342 -0.447716 9.61511 -0.0532632 -0.0330232 0.0415453 0.18 0 pose: 0.52057785 5.01653 -3.63096 0 0.000680963 0.00215106 -0.721911 0.691982 uwb: 0.50042000 1169.6 484.147 -imu_odom_: 1691062468.972824471 0.3304 -0.323217 9.71806 -0.0372843 0.0191748 0.0255663 0.18 0 pose: 0.0 5.01653 -3.63096 0 0.000680963 0.00215106 -0.721911 0.691982 uwb: 0.0 1169.6 484.147 -imu_odom_: 1691062468.988851291 0.447716 -0.179565 10.003 -0.0447411 -0.0308927 0.0553937 0.19 0 pose: 0.71815204 5.01773 -3.63765 0 -0.0004850180.002454 -0.722099 0.691786 uwb: 0.50130950 1169.6 484.17 -imu_odom_: 1691062469.6836153 0.536301 -0.339977 9.72285 -0.0447411 -0.00106526 0.0298274 0.19 0 pose: 0.8002474 5.01829 -3.64081 0 -0.0005199190.00154893 -0.722056 0.691832 uwb: 0.0 1169.6 484.17 -imu_odom_: 1691062469.30855250 0.289698 -0.186748 9.54808 -0.0649811 0.0383495 0.0553937 0.18 0 pose: 0.0 5.01829 -3.64081 0 -0.0005199190.00154893 -0.722056 0.691832 uwb: 0.0 1169.6 484.17 -imu_odom_: 1691062469.55833244 0.6608 -0.265756 9.9503 -0.0319579 -0.0298274 0.0276969 0.18 0 pose: 0.33070286 5.02004 -3.65065 0 -0.00151005 0.000807108 -0.722035 0.691854 uwb: 0.49859450 1167.43 483.167 -imu_odom_: 1691062469.69865284 0.21069 -0.169988 9.94551 -0.0458064 -0.0255663 0.0500674 0.18 0 pose: 0.0 5.02004 -3.65065 0 -0.00151005 0.000807108 -0.722035 0.691854 uwb: 0.0 1167.43 483.167 -imu_odom_: 1691062469.84885677 0.560243 -0.167594 10.398 -0.0500674 -0.0340885 0.0436758 0.2 0 pose: 0.47925039 5.02004 -3.65065 0 -0.00121102 -6.90164e-05-0.722025 0.691866 uwb: 0.49757676 1172.11 484.135 -imu_odom_: 1691062469.111944782 0.610521 -0.0742203 9.50498 -0.0490022 -0.0276969 0.0553937 0.2 0 pose: 0.0 5.02004 -3.65065 0 -0.00121102 -6.90164e-05-0.722025 0.691866 uwb: 0.0 1172.11 484.135 -imu_odom_: 1691062469.136869698 -0.0167594 -0.263362 9.35175 -0.04048 0.0639159 0.0287621 0.25 0 pose: 0.31055968 5.01196 -3.66225 0 -0.00146339 -0.00220029 -0.721929 0.691962 uwb: 0.50002358 1174.07 484.25 -imu_odom_: 1691062469.153804095 0.0694318 -0.213084 10.2256 -0.0585895 -0.02024 0.0490022 0.25 0 pose: 0.0 5.01196 -3.66225 0 -0.00146339 -0.00220029 -0.721929 0.691962 uwb: 0.0 1174.07 484.25 -imu_odom_: 1691062469.170807317 0.577003 -0.0454898 10.2472 -0.0649811 -0.0106526 0.0490022 0.23 -0.02 pose: 0.50999752 5.01372 -3.6721 0 0.000827286 -0.00134237 -0.721899 0.691996 uwb: 0.0 1174.07 484.25 -imu_odom_: 1691062469.194831663 0.325611 -0.0622492 9.8282 -0.056459 0.02024 0.0372843 0.23 -0.02 pose: 0.0 5.01372 -3.6721 0 0.000827286 -0.00134237 -0.721899 0.691996 uwb: 0.49976403 1173.74 483.764 -imu_odom_: 1691062469.219919021 0.0957681 -0.397437 9.36851 -0.0692422 0 0.0511327 0.18 0.02 pose: 0.50953673 5.01548 -3.68194 0 0.00364746 -0.00228288 -0.721828 0.69206 uwb: 0.0 1173.74 483.764 -imu_odom_: 1691062469.246798478 0.265756 -0.143652 9.32781 -0.0777643 0.00106526 0.0426106 0.22 0 pose: 0.0 5.01548 -3.68194 0 0.00364746 -0.00228288 -0.721828 0.69206 uwb: 0.50070893 1172.95 483.105 -imu_odom_: 1691062469.271956994 0.0287304 -0.493206 9.59357 -0.0436758 0.015979 0.0351537 0.19 0 pose: 0.32016616 5.01724 -3.69179 0 0.00433356 0.00074304 -0.721726 0.692164 uwb: 0.0 1172.95 483.105 -imu_odom_: 1691062469.288914138 0.316035 -0.0814029 10.1083 -0.0436758 -0.00852212 0.0319579 0.19 0 pose: 0.0 5.01724 -3.69179 0 0.00433356 0.00074304 -0.721726 0.692164 uwb: 0.50247332 1172.97 483.038 -imu_odom_: 1691062469.304845309 0.61531 -0.19393 9.89524 -0.072438 0.00745685 0.056459 0.23 0 pose: 0.52282365 5.019 -3.70163 0 0.00630054 0.00362841 -0.72176 0.692106 uwb: 0.0 1172.97 483.038 -imu_odom_: 1691062469.331793592 0.739808 -0.138864 10.1394 -0.0532632 0 0.0308927 0.23 0 pose: 0.0 5.019 -3.70163 0 0.00630054 0.00362841 -0.72176 0.692106 uwb: 0.0 1172.97 483.038 -imu_odom_: 1691062469.357799310 0.620098 -0.371101 10.4363 -0.0660464 0.00426106 0.0426106 0.18 0.02 pose: 0.52662948 5.01042 -3.71041 0 0.00354334 -0.000172833-0.721775 0.692118 uwb: 0.49927116 1171.62 482.588 -imu_odom_: 1691062469.384911784 0.600945 -0.361524 9.99579 -0.0479369 -0.0255663 0.0500674 0.25 -0.02 pose: 0.8032807 5.01092 -3.71324 0 0.00273792 -0.000197995-0.721768 0.692129 uwb: 0.49967654 1169.4 481.709 -imu_odom_: 1691062469.400776170 0.134075 -0.129287 9.663 -0.052198 0.0276969 0.0415453 0.18 0 pose: 0.0 5.01092 -3.71324 0 0.00273792 -0.000197995-0.721768 0.692129 uwb: 0.0 1169.4 481.709 -imu_odom_: 1691062469.417805348 0.828394 -0.0909797 10.1418 -0.0372843 -0.0500674 0.0383495 0.18 0 pose: 0.0 5.01092 -3.71324 0 0.00273792 -0.000197995-0.721768 0.692129 uwb: 0.0 1169.4 481.709 -imu_odom_: 1691062469.442773426 0.35913 -0.277727 10.3262 -0.0553937 0.00319579 0.0436758 0.18 0 pose: 0.52978498 5.01269 -3.72308 0 -0.00109076 -0.000370762-0.721647 0.692261 uwb: 0.49892703 1167.26 480.595 -imu_odom_: 1691062469.459909926 0.562637 -0.0814029 9.48104 -0.0213053 0.00745685 0.0330232 0.18 0 pose: 0.0 5.01269 -3.72308 0 -0.00109076 -0.000370762-0.721647 0.692261 uwb: 0.0 1167.26 480.595 -imu_odom_: 1691062469.476016661 0.0622492 -0.23942 9.96706 -0.0532632 0.0330232 0.056459 0.2 0 pose: 0.33277065 5.01269 -3.72308 0 -0.00115488 -0.000969082-0.721636 0.692271 uwb: 0.0 1167.26 480.595 -imu_odom_: 1691062469.492886897 0.629675 -0.227449 10.3669 -0.0628506 -0.0458064 0.0394148 0.2 0 pose: 0.41933972 5.01446 -3.73292 0 -2.43355e-05-0.000414636-0.721605 0.692305 uwb: 0.50137094 1167.31 480.439 -imu_odom_: 1691062469.509884287 0.476446 -0.114922 9.69412 -0.0607201 0.02024 0.0383495 0.2 0 pose: 0.0 5.01446 -3.73292 0 -2.43355e-05-0.000414636-0.721605 0.692305 uwb: 0.0 1167.31 480.439 -imu_odom_: 1691062469.526880802 0.387861 -0.543484 9.67976 -0.0884169 -0.00106526 0.0468716 0.18 0 pose: 0.41868353 5.01623 -3.74276 0 -0.000318067-0.00242646 -0.721565 0.692342 uwb: 0.0 1167.31 480.439 -imu_odom_: 1691062469.544948202 0.23942 0.047884 9.84017 -0.0330232 -0.00532632 0.0298274 0.18 0 pose: 0.0 5.01623 -3.74276 0 -0.000318067-0.00242646 -0.721565 0.692342 uwb: 0.49908160 1168.84 480.365 -imu_odom_: 1691062469.560815504 0.258574 -0.21069 9.30866 -0.056459 0.00426106 0.0351537 0.18 0 pose: 0.0 5.01623 -3.74276 0 -0.000318067-0.00242646 -0.721565 0.692342 uwb: 0.0 1168.84 480.365 -imu_odom_: 1691062469.577750776 0.37589 -0.275333 10.4698 -0.0500674 0.036219 0.0490022 0.18 0.02 pose: 0.41999881 5.00815 -3.75438 0 0.000889122 -0.000739256-0.721596 0.692314 uwb: 0.0 1168.84 480.365 -imu_odom_: 1691062469.595867462 0.260968 -0.232238 9.65103 -0.0308927 -0.0223706 0.0276969 0.18 0 pose: 0.0 5.00815 -3.75438 0 0.000889122 -0.000739256-0.721596 0.692314 uwb: 0.49971153 1171.69 480.877 -imu_odom_: 1691062469.620796462 0.21069 -0.0646434 9.60314 -0.0649811 -0.0117179 0.0511327 0.18 0 pose: 0.33999737 5.00815 -3.75438 0 0.00123947 0.00195506 -0.721588 0.692319 uwb: 0.0 1171.69 480.877 -imu_odom_: 1691062469.647871898 0.402226 -0.184354 9.63187 -0.0436758 -0.02024 0.0383495 0.18 0 pose: 0.0 5.00815 -3.75438 0 0.00123947 0.00195506 -0.721588 0.692319 uwb: 0.50030356 1173.65 481.035 -imu_odom_: 1691062469.663808610 1.10852 -0.1652 10.331 -0.0628506 -0.00426106 0.0479369 0.18 0 pose: 0.16946062 5.00992 -3.76422 0 0.00259259 0.00246141 -0.721597 0.692304 uwb: 0.0 1173.65 481.035 -imu_odom_: 1691062469.681902549 0.526724 -0.191536 10.3118 -0.0447411 -0.0127832 0.0319579 0.2 -0.02 pose: 0.53043533 5.00992 -3.76422 0 0.00179866 -0.000522033-0.72151 0.692402 uwb: 0.0 1173.65 481.035 -imu_odom_: 1691062469.698841611 1.59933 -0.316035 9.68215 -0.076699 -0.0607201 0.00745685 0.2 -0.02 pose: 0.0 5.00992 -3.76422 0 0.00179866 -0.000522033-0.72151 0.692402 uwb: 0.49827085 1175.6 481.244 -imu_odom_: 1691062469.712796368 1.81959 -0.0383072 9.92397 -0.0692422 -0.0511327 -0.12144 0.2 -0.02 pose: 0.0 5.00992 -3.76422 0 0.00179866 -0.000522033-0.72151 0.692402 uwb: 0.0 1175.6 481.244 -imu_odom_: 1691062469.729786758 1.78129 0.3304 10.07 -0.0585895 -0.0149137 -0.226901 0.14 -0.26 pose: 0.48916600 5.01169 -3.77406 0 -0.00249345 -0.00409008 -0.722043 0.691832 uwb: 0.0 1175.6 481.244 -imu_odom_: 1691062469.743891416 1.72143 0.0837971 9.56484 -0.0639159 -0.0127832 -0.295078 0.14 -0.26 pose: 0.0 5.01169 -3.77406 0 -0.00249345 -0.00409008 -0.722043 0.691832 uwb: 0.50163049 1173.37 480.371 -imu_odom_: 1691062469.760845644 1.18513 -0.007182619.89284 -0.0671117 0.0298274 -0.385626 0.11 -0.38 pose: 0.39101316 5.01348 -3.78385 0 -0.00479757 -0.00758219 -0.725658 0.687997 uwb: 0.0 1173.37 480.371 -imu_odom_: 1691062469.774834522 1.1971 0.117316 10.1251 -0.052198 0.0298274 -0.456998 0.11 -0.38 pose: 0.0 5.01348 -3.78385 0 -0.00479757 -0.00758219 -0.725658 0.687997 uwb: 0.0 1173.37 480.371 -imu_odom_: 1691062469.790756360 1.08457 -0.167594 9.79468 -0.0671117 0.00106526 -0.455933 0.11 -0.38 pose: 0.0 5.01348 -3.78385 0 -0.00479757 -0.00758219 -0.725658 0.687997 uwb: 0.49979320 1177.57 481.371 -imu_odom_: 1691062469.805779378 0.97444 -0.258574 9.90721 -0.0660464 0.0319579 -0.469782 0.09 -0.5 pose: 0.46864944 5.01355 -3.78389 0 -0.00700404 -0.0109203 -0.733163 0.679929 uwb: 0.0 1177.57 481.371 -imu_odom_: 1691062469.821745544 0.890643 -0.19393 9.48343 -0.0596548 -0.0191748 -0.488956 0.09 -0.5 pose: 0.0 5.01355 -3.78389 0 -0.00700404 -0.0109203 -0.733163 0.679929 uwb: 0.0 1177.57 481.371 -imu_odom_: 1691062469.836737065 0.758962 -0.177171 9.71567 -0.0713727 0.00639159 -0.496413 0.09 -0.5 pose: 0.0 5.01355 -3.78389 0 -0.00700404 -0.0109203 -0.733163 0.679929 uwb: 0.50039979 1179.63 481.261 -imu_odom_: 1691062469.853751953 0.859518 -0.179565 9.8258 -0.0745685 -0.0415453 -0.497478 0.07 -0.5 pose: 0.45980705 5.00555 -3.79556 0 -0.0108335 -0.0129656 -0.741252 0.671014 uwb: 0.0 1179.63 481.261 -imu_odom_: 1691062469.867929519 0.866701 -0.0191536 9.92875 -0.0639159 -0.00852212 -0.519849 0.07 -0.55 pose: 0.0 5.00555 -3.79556 0 -0.0108335 -0.0129656 -0.741252 0.671014 uwb: 0.0 1179.63 481.261 -imu_odom_: 1691062469.884895412 0.399832 -0.0957681 10.1969 -0.0553937 -0.0213053 -0.532632 0.07 -0.55 pose: 0.0 5.00555 -3.79556 0 -0.0108335 -0.0129656 -0.741252 0.671014 uwb: 0.49914867 1179.33 480.66 -imu_odom_: 1691062469.900782838 0.536301 -0.0143652 9.96706 -0.0596548 -0.0276969 -0.549676 0.07 -0.61 pose: 0.23033952 5.00562 -3.7956 0 -0.0123686 -0.014749 -0.745406 0.666333 uwb: 0.0 1179.33 480.66 -imu_odom_: 1691062469.919013554 0.588974 -0.143652 9.68455 -0.0543285 0.0426106 -0.56246 0.07 -0.61 pose: 0.0 5.00562 -3.7956 0 -0.0123686 -0.014749 -0.745406 0.666333 uwb: 0.0 1179.33 480.66 -imu_odom_: 1691062469.935933077 0.596156 -0.131681 9.84735 -0.0383495 0.0117179 -0.536893 0.07 -0.61 pose: 0.31022431 5.00562 -3.7956 0 -0.0103318 -0.0146903 -0.751327 0.659685 uwb: 0.50098890 1178 480.103 -imu_odom_: 1691062469.952756652 0.584185 -0.54109 9.83538 -0.0628506 0.015979 -0.484695 0.05 -0.5 pose: 0.45139629 5.00537 -3.79545 0 -0.0064021 -0.0117916 -0.760105 0.649661 uwb: 0.0 1178 480.103 -imu_odom_: 1691062469.970917375 0.435745 -0.457293 9.89524 -0.0436758 0.0138484 -0.456998 0.05 -0.5 pose: 0.6955797 5.00562 -3.7956 0 -0.00671356 -0.0111478 -0.761287 0.648284 uwb: 0.0 1178 480.103 -imu_odom_: 1691062469.987869270 0.665588 -0.251391 9.9934 -0.056459 -0.00852212 -0.414388 0.05 -0.41 pose: 0.0 5.00562 -3.7956 0 -0.00671356 -0.0111478 -0.761287 0.648284 uwb: 0.49832335 1179.02 480.104 -imu_odom_: 1691062470.1792822 0.447716 -0.0407014 10.1418 -0.0607201 0.0170442 -0.376038 0.05 -0.47 pose: 0.44980396 5.00562 -3.7956 0 -0.00874429 -0.00797619 -0.768318 0.639958 uwb: 0.0 1179.02 480.104 -imu_odom_: 1691062470.18734807 0.725443 -0.328006 10.0796 -0.0468716 0.00426106 -0.330232 0.04 -0.35 pose: 0.0 5.00562 -3.7956 0 -0.00874429 -0.00797619 -0.768318 0.639958 uwb: 0.0 1179.02 480.104 -imu_odom_: 1691062470.35762533 0.519542 -0.407014 9.71088 -0.0585895 -0.0170442 -0.307861 0.04 -0.35 pose: 0.0 5.00562 -3.7956 0 -0.00874429 -0.00797619 -0.768318 0.639958 uwb: 0.50095694 1185.47 481.997 -imu_odom_: 1691062470.53750907 0.672771 -0.234632 9.89763 -0.0511327 -0.015979 -0.285491 0.04 -0.38 pose: 0.21066581 5.00747 -3.80542 0 -0.00788402 -0.00774951 -0.771018 0.636717 uwb: 0.0 1185.47 481.997 -imu_odom_: 1691062470.70749762 0.579397 -0.40462 9.91199 -0.0681769 0 -0.246076 0.04 -0.38 pose: 0.0 5.00747 -3.80542 0 -0.00788402 -0.00774951 -0.771018 0.636717 uwb: 0.0 1185.47 481.997 -imu_odom_: 1691062470.84749436 0.557849 -0.19393 9.89524 -0.0607201 0.00958738 -0.219444 0.04 -0.38 pose: 0.34829162 5.00747 -3.80542 0 -0.00978721 -0.00655767 -0.774847 0.632039 uwb: 0.0 1185.47 481.997 -imu_odom_: 1691062470.101820033 0.605733 -0.383072 9.95748 -0.0543285 0.00745685 -0.175769 0.03 -0.2 pose: 0.40984423 5.0074 -3.80538 0 -0.00956057 -0.00556854 -0.778541 0.627496 uwb: 0.49929469 1185.52 481.864 -imu_odom_: 1691062470.127811470 0.454898 -0.114922 10.0054 -0.0500674 0.00532632 -0.149137 0.03 -0.2 pose: 0.7017918 5.00747 -3.80542 0 -0.00991003 -0.00496717 -0.77901 0.626914 uwb: 0.0 1185.52 481.864 -imu_odom_: 1691062470.144816449 0.344765 -0.248997 9.83538 -0.0596548 0.00745685 -0.143811 0.03 -0.23 pose: 0.0 5.00747 -3.80542 0 -0.00991003 -0.00496717 -0.77901 0.626914 uwb: 0.49996254 1184.13 481.446 -imu_odom_: 1691062470.161694275 0.641646 -0.105345 9.95509 -0.0500674 -0.0138484 -0.238619 0.02 -0.26 pose: 0.36044116 5.00741 -3.80539 0 -0.00768025 -0.00443491 -0.78124 0.624168 uwb: 0.0 1184.13 481.446 -imu_odom_: 1691062470.178692546 0.464475 0.23942 9.83299 -0.0468716 0.00852212 -0.300405 0.02 -0.35 pose: 0.0 5.00741 -3.80539 0 -0.00768025 -0.00443491 -0.78124 0.624168 uwb: 0.0 1184.13 481.446 -imu_odom_: 1691062470.205760703 0.138864 -0.260968 9.79228 -0.0660464 -0.00319579 -0.347276 0.02 -0.35 pose: 0.41087954 5.00747 -3.80542 0 -0.00568193 -0.00549923 -0.784448 0.620145 uwb: 0.49958924 1185.13 481.525 -imu_odom_: 1691062470.230716834 0.483629 -0.289698 9.83299 -0.0585895 -0.0308927 -0.390952 0.02 -0.38 pose: 0.0 5.00747 -3.80542 0 -0.00568193 -0.00549923 -0.784448 0.620145 uwb: 0.0 1185.13 481.525 -imu_odom_: 1691062470.257774491 0.667982 -0.253785 9.91918 -0.0617853 0.0138484 -0.389887 0.03 -0.53 pose: 0.61817410 5.00741 -3.80539 0 -0.00461708 -0.00198778 -0.792013 0.610484 uwb: 0.0 1185.13 481.525 -imu_odom_: 1691062470.282727706 0.177171 -0.0837971 9.87608 -0.0585895 0 -0.430367 0.03 -0.53 pose: 0.0 5.00741 -3.80539 0 -0.00461708 -0.00198778 -0.792013 0.610484 uwb: 0.0 1185.13 481.525 -imu_odom_: 1691062470.299815509 0.383072 -0.131681 9.94073 -0.0511327 -0.0213053 -0.470847 0.03 -0.61 pose: 0.6998962 5.00747 -3.80542 0 -0.00516791 -0.00231635 -0.792927 0.60929 uwb: 0.100172155 1185.58 481.687 -imu_odom_: 1691062470.325751245 0.684742 -0.167594 9.85214 -0.0649811 -0.0181095 -0.507066 0.03 -0.61 pose: 0.0 5.00747 -3.80542 0 -0.00516791 -0.00231635 -0.792927 0.60929 uwb: 0.0 1185.58 481.687 -imu_odom_: 1691062470.350714667 0.600945 -0.299275 10.0317 -0.0607201 0.0117179 -0.528371 0.03 -0.7 pose: 0.52020788 5.00747 -3.80542 0 -0.00361978 -0.00270245 -0.800167 0.599761 uwb: 0.49916929 1190.18 483.083 -imu_odom_: 1691062470.364880865 0.481235 -0.160412 9.89524 -0.0596548 -0.00532632 -0.533697 0.03 -0.7 pose: 0.0 5.00747 -3.80542 0 -0.00361978 -0.00270245 -0.800167 0.599761 uwb: 0.0 1190.18 483.083 -imu_odom_: 1691062470.389837288 0.550666 -0.339977 9.87608 -0.056459 -0.00106526 -0.553937 0.02 -0.58 pose: 0.42970461 5.00747 -3.80542 0 -0.00526748 -0.0044107 -0.80708 0.590402 uwb: 0.50008794 1189.87 482.543 -imu_odom_: 1691062470.416678552 0.691924 -0.138864 10.0748 -0.0543285 0 -0.580569 0.02 -0.58 pose: 0.0 5.00747 -3.80542 0 -0.00526748 -0.0044107 -0.80708 0.590402 uwb: 0.0 1189.87 482.543 -imu_odom_: 1691062470.441688927 0.545878 -0.177171 10.0987 -0.0447411 0.0138484 -0.62531 0.02 -0.7 pose: 0.39194947 5.00937 -3.81524 0 -0.00591764 -0.00341478 -0.813671 0.581286 uwb: 0.50346216 1192.7 483.238 -imu_odom_: 1691062470.465805148 0.509965 -0.0335188 9.94312 -0.0617853 -0.0138484 -0.631702 0.02 -0.7 pose: 0.0 5.00937 -3.81524 0 -0.00591764 -0.00341478 -0.813671 0.581286 uwb: 0.0 1192.7 483.238 -imu_odom_: 1691062470.491814375 0.620098 -0.392649 10.0006 -0.052198 -0.00106526 -0.637028 0.01 -0.64 pose: 0.52923983 5.00937 -3.81524 0 -0.00685736 -0.00498647 -0.823063 0.567887 uwb: 0.49551218 1194.54 483.828 -imu_odom_: 1691062470.508651664 0.445322 -0.102951 9.87848 -0.0500674 -0.00532632 -0.657268 0.01 -0.64 pose: 0.0 5.00937 -3.81524 0 -0.00685736 -0.00498647 -0.823063 0.567887 uwb: 0.0 1194.54 483.828 -imu_odom_: 1691062470.533681871 0.356736 -0.0957681 9.9096 -0.0617853 -0.0127832 -0.668986 0.01 -0.73 pose: 0.47902018 5.00937 -3.81524 0 -0.00385404 -0.00673915 -0.832085 0.554594 uwb: 0.0 1194.54 483.828 -imu_odom_: 1691062470.559677683 0.40462 -0.241814 9.81144 -0.0511327 -0.00319579 -0.721184 0.01 -0.73 pose: 0.60953878 5.00931 -3.81521 0 -0.00116845 -0.00523469 -0.843667 0.53684 uwb: 0.49927428 1193.63 483.51 -imu_odom_: 1691062470.584714597 0.545878 -0.220267 9.94791 -0.0596548 -0.02024 -0.725445 0.01 -0.73 pose: 0.0 5.00931 -3.81521 0 -0.00116845 -0.00523469 -0.843667 0.53684 uwb: 0.49944342 1191.27 482.935 -imu_odom_: 1691062470.602654268 0.562637 -0.208296 9.81862 -0.0543285 0 -0.739294 0.01 -0.82 pose: 0.0 5.00931 -3.81521 0 -0.00116845 -0.00523469 -0.843667 0.53684 uwb: 0.0 1191.27 482.935 -imu_odom_: 1691062470.626764948 0.292093 -0.167594 9.68933 -0.0511327 -0.0127832 -0.76486 0.01 -0.82 pose: 0.7996939 5.00937 -3.81524 0 -0.00109602 -0.00445191 -0.845299 0.534274 uwb: 0.0 1191.27 482.935 -imu_odom_: 1691062470.652671228 0.366313 -0.138864 9.83538 -0.0511327 -0.0191748 -0.774447 0 -0.97 pose: 0.50998022 4.99954 -3.81709 0 -0.00428541 -0.00348944 -0.855559 0.517675 uwb: 0.0 1191.27 482.935 -imu_odom_: 1691062470.668767762 0.600945 -0.308852 9.94073 -0.0532632 -0.02024 -0.780839 0 -0.97 pose: 0.0 4.99954 -3.81709 0 -0.00428541 -0.00348944 -0.855559 0.517675 uwb: 0.0 1191.27 482.935 -imu_odom_: 1691062470.694789821 0.339977 -0.126893 9.59596 -0.0468716 0.0245011 -0.802144 0.01 -1 pose: 0.41013878 4.99954 -3.81709 0 -0.00231153 -0.00307723 -0.863944 0.503574 uwb: 0.100056376 1190.85 482.701 -imu_odom_: 1691062470.719756743 0.521936 -0.205901 9.9096 -0.0575243 -0.0223706 -0.797883 0.01 -1 pose: 0.0 4.99954 -3.81709 0 -0.00231153 -0.00307723 -0.863944 0.503574 uwb: 0.0 1190.85 482.701 -imu_odom_: 1691062470.745638234 0.797269 -0.265756 9.9527 -0.056459 -0.0394148 -0.80747 0 -0.97 pose: 0.43006040 4.99954 -3.81709 0 0.00124528 0.00270593 0.872708 -0.488234 uwb: 0.49930635 1189.88 482.523 -imu_odom_: 1691062470.770694396 0.61531 -0.174777 9.93594 -0.0617853 0.00106526 -0.842624 0 -0.97 pose: 0.0 4.99954 -3.81709 0 0.00124528 0.00270593 0.872708 -0.488234 uwb: 0.0 1189.88 482.523 -imu_odom_: 1691062470.796647921 0.344765 -0.28491 9.78989 -0.0681769 0.00319579 -0.824515 0 -1 pose: 0.51016978 4.99954 -3.81709 0 0.00270161 0.00321437 0.882968 -0.469415 uwb: 0.49987213 1187.57 481.83 -imu_odom_: 1691062470.813659025 0.272939 -0.263362 10.0221 -0.0671117 -0.00532632 -0.814927 0 -1 pose: 0.0 4.99954 -3.81709 0 0.00270161 0.00321437 0.882968 -0.469415 uwb: 0.0 1187.57 481.83 -imu_odom_: 1691062470.839795988 0.529119 0.0837971 10.0509 -0.052198 -0.0330232 -0.870321 0 -0.97 pose: 0.51244454 4.99954 -3.81709 0 0.00610342 0.00457727 0.893156 -0.449683 uwb: 0.50260476 1193.01 483.78 -imu_odom_: 1691062470.864632257 0.612916 -0.114922 9.85693 -0.0585895 -0.0287621 -0.86606 0 -0.94 pose: 0.24791649 4.99954 -3.81709 0 0.00443878 0.00262318 0.897919 -0.440131 uwb: 0.0 1193.01 483.78 -imu_odom_: 1691062470.889658381 0.428562 -0.244209 9.89524 -0.0543285 -0.0639159 -0.895887 0 -0.94 pose: 0.36046157 4.99905 -3.81679 0 0.00320343 0.00469496 0.9049 -0.425586 uwb: 0.49921595 1190.25 482.906 -imu_odom_: 1691062470.906767182 0.363919 -0.0383072 9.92636 -0.0639159 -0.0745685 -0.913997 0 -0.88 pose: 0.8078306 4.99954 -3.81709 0 0.00384242 0.00531803 0.906446 -0.422271 uwb: 0.0 1190.25 482.906 -imu_odom_: 1691062470.932629717 0.830788 -0.363919 10.0437 -0.072438 -0.0276969 -0.872452 0 -0.88 pose: 0.0 4.99954 -3.81709 0 0.00384242 0.00531803 0.906446 -0.422271 uwb: 0.0 1190.25 482.906 -imu_odom_: 1691062470.957759080 0.785298 -0.227449 10.1107 -0.0490022 -0.0181095 -0.890561 0 -0.82 pose: 0.48901745 4.99954 -3.81709 0 0.00427119 0.00498017 0.915793 -0.401598 uwb: 0.49960382 1189.17 483.038 -imu_odom_: 1691062470.974717397 0.505177 -0.148441 9.73243 -0.0649811 -0.0149137 -0.896953 0 -0.82 pose: 0.0 4.99954 -3.81709 0 0.00427119 0.00498017 0.915793 -0.401598 uwb: 0.0 1189.17 483.038 -imu_odom_: 1691062470.999743521 0.500388 -0.316035 9.9527 -0.0671117 -0.0213053 -0.891626 0 -0.91 pose: 0.43914777 4.99954 -3.81709 0 0.00728081 0.00503626 0.923738 -0.382923 uwb: 0.49986921 1191.85 484.126 -imu_odom_: 1691062471.23764093 0.275333 -0.260968 9.92875 -0.0660464 -0.0234358 -0.884169 0 -0.91 pose: 0.0 4.99954 -3.81709 0 0.00728081 0.00503626 0.923738 -0.382923 uwb: 0.0 1191.85 484.126 -imu_odom_: 1691062471.46752568 0.471658 0.011971 9.83299 -0.056459 -0.0372843 -0.898018 0 -0.91 pose: 0.40991422 4.99954 -3.81709 0 0.0073681 0.00472514 0.930891 -0.365192 uwb: 0.49913442 1194.67 484.832 -imu_odom_: 1691062471.71788034 0.474052 -0.11971 9.78989 -0.0607201 -0.00852212 -0.908671 0 -0.91 pose: 0.0 4.99954 -3.81709 0 0.0073681 0.00472514 0.930891 -0.365192 uwb: 0.0 1194.67 484.832 -imu_odom_: 1691062471.88671699 0.509965 -0.342371 10.0796 -0.0585895 -0.00213053 -0.912932 0 -1.06 pose: 0.49026284 4.99954 -3.81709 0 0.00522105 0.002409 0.938978 -0.343929 uwb: 0.50056933 1194.61 484.985 -imu_odom_: 1691062471.111671840 0.557849 -0.131681 9.96706 -0.0596548 -0.0234358 -0.916127 0 -1.06 pose: 0.0 4.99954 -3.81709 0 0.00522105 0.002409 0.938978 -0.343929 uwb: 0.0 1194.61 484.985 -imu_odom_: 1691062471.136618065 0.390255 -0.186748 9.6606 -0.0617853 0 -0.913997 0 -0.97 pose: 0.48062146 4.99954 -3.81709 0 0.00287191 0.00470057 0.946556 -0.322493 uwb: 0.49841707 1189.5 483.559 -imu_odom_: 1691062471.161597246 0.347159 -0.289698 9.7444 -0.0596548 -0.015979 -0.909736 0 -0.97 pose: 0.0 4.99954 -3.81709 0 0.00287191 0.00470057 0.946556 -0.322493 uwb: 0.0 1189.5 483.559 -imu_odom_: 1691062471.178656767 0.550666 -0.215478 10.058 -0.0617853 -0.0127832 -0.905475 0 -0.88 pose: 0.39873015 4.99954 -3.81709 0 0.00451793 0.00503542 0.952512 -0.304425 uwb: 0.0 1189.5 483.559 -imu_odom_: 1691062471.202586059 0.287304 -0.189142 9.77553 -0.0575243 0.00106526 -0.916127 0 -0.88 pose: 0.0 4.99954 -3.81709 0 0.00451793 0.00503542 0.952512 -0.304425 uwb: 0.50089305 1189 483.548 -imu_odom_: 1691062471.227580113 0.42138 -0.0909797 9.72046 -0.0671117 -0.0138484 -0.92465 0 -1 pose: 0.49974109 4.99954 -3.81709 0 0.00262988 0.00184725 0.959488 -0.281729 uwb: 0.0 1189 483.548 -imu_odom_: 1691062471.249591025 0.47884 -0.167594 9.89045 -0.0617853 -0.0308927 -0.92678 0 -1 pose: 0.0 4.99954 -3.81709 0 0.00262988 0.00184725 0.959488 -0.281729 uwb: 0.49926280 1194.39 485.554 -imu_odom_: 1691062471.263598579 0.325611 -0.265756 9.83777 -0.0607201 -0.0127832 -0.931041 0 -0.97 pose: 0.80973233 4.99908 -3.8168 0 0.00292521 0.00336852 0.969705 -0.244239 uwb: 0.0 1194.39 485.554 -imu_odom_: 1691062471.285591701 0.423774 -0.308852 9.92636 -0.0543285 -0.00426106 -0.949151 0 -0.97 pose: 0.0 4.99908 -3.8168 0 0.00292521 0.00336852 0.969705 -0.244239 uwb: 0.50187878 1195.62 486.373 -imu_odom_: 1691062471.302773418 0.617704 -0.225055 9.9503 -0.0596548 -0.0127832 -0.953412 0 -1.23 pose: 0.36000676 4.99932 -3.81695 0 0.00204997 0.000153726 0.973876 -0.227072 uwb: 0.0 1195.62 486.373 -imu_odom_: 1691062471.327649067 0.380678 -0.263362 9.84496 -0.056459 -0.00426106 -0.945955 0 -1.23 pose: 0.0 4.99932 -3.81695 0 0.00204997 0.000153726 0.973876 -0.227072 uwb: 0.0 1195.62 486.373 -imu_odom_: 1691062471.344572978 0.497994 -0.265756 9.88087 -0.0596548 -0.0181095 -0.937433 0 -1 pose: 0.42057366 4.99933 -3.81696 0 0.00179734 -0.0009307820.978385 -0.206784 uwb: 0.49917532 1196.02 486.676 -imu_odom_: 1691062471.360564238 0.572214 -0.177171 10.0269 -0.056459 0 -0.936367 0 -1 pose: 0.0 4.99933 -3.81696 0 0.00179734 -0.0009307820.978385 -0.206784 uwb: 0.0 1196.02 486.676 -imu_odom_: 1691062471.377633967 0.368707 -0.220267 9.98143 -0.0532632 0.00426106 -0.935302 0 -1 pose: 0.0 4.99933 -3.81696 0 0.00179734 -0.0009307820.978385 -0.206784 uwb: 0.0 1196.02 486.676 -imu_odom_: 1691062471.392579713 0.373495 -0.169988 9.81623 -0.0681769 -0.0426106 -0.928911 0 -1.26 pose: 0.39985004 4.99954 -3.81709 0 0.00392132 -8.33649e-050.982229 -0.187644 uwb: 0.50043226 1193.85 485.65 -imu_odom_: 1691062471.417631219 0.675165 -0.186748 9.84256 -0.056459 -0.04048 -0.922519 0 -1.26 pose: 0.0 4.99954 -3.81709 0 0.00392132 -8.33649e-050.982229 -0.187644 uwb: 0.0 1193.85 485.65 -imu_odom_: 1691062471.434687241 -0.0622492 -0.205901 9.60554 -0.0447411 0.0490022 -0.922519 0 -0.94 pose: 0.49997148 4.99933 -3.81695 0 0.00466319 0.0012294 0.986472 -0.163857 uwb: 0.49891868 1196.88 487.082 -imu_odom_: 1691062471.452690787 -0.299275 -0.0790087 10.307 -0.0543285 -0.00852212 -0.908671 0 -0.94 pose: 0.7008005 4.99954 -3.81709 0 0.00377643 0.00113656 0.987023 -0.160531 uwb: 0.0 1196.88 487.082 -imu_odom_: 1691062471.469615864 -0.316035 -0.0861913 9.72764 -0.0426106 -0.0138484 -0.909736 0 -0.94 pose: 0.0 4.99954 -3.81709 0 0.00377643 0.00113656 0.987023 -0.160531 uwb: 0.0 1196.88 487.082 -imu_odom_: 1691062471.483548759 -1.30963 -0.129287 9.90242 -0.0468716 0.0479369 -0.831972 0.04 -0.73 pose: 0.44976640 4.99954 -3.81709 0 -0.0009055360.00117652 0.99024 -0.139368 uwb: 0.0 1196.88 487.082 -imu_odom_: 1691062471.499643550 -0.878672 -0.608127 10.1754 -0.0660464 -0.0447411 -0.658333 0.05 -0.64 pose: 0.0 4.99954 -3.81709 0 -0.0009055360.00117652 0.99024 -0.139368 uwb: 0.49935030 1196.02 486.651 -imu_odom_: 1691062471.513544365 -0.105345 -0.995988 9.98382 -0.092678 -0.0681769 -0.574178 0.05 -0.64 pose: 0.0 4.99954 -3.81709 0 -0.0009055360.00117652 0.99024 -0.139368 uwb: 0.0 1196.02 486.651 -imu_odom_: 1691062471.529669486 0.466869 -0.217872 9.85453 -0.0447411 -0.0223706 -0.580569 0.05 -0.64 pose: 0.21058722 4.99954 -3.81709 0 -0.00315997 0.00068986 0.991392 -0.130885 uwb: 0.0 1196.02 486.651 -imu_odom_: 1691062471.547546170 0.390255 0.253785 9.35175 -0.0639159 -0.00426106 -0.550742 0.06 -0.61 pose: 0.0 4.99954 -3.81709 0 -0.00315997 0.00068986 0.991392 -0.130885 uwb: 0.50178837 1198.2 487.664 -imu_odom_: 1691062471.565610085 -0.0023942 -0.299275 9.61033 -0.0681769 0.0191748 -0.547546 0.06 -0.61 pose: 0.0 4.99954 -3.81709 0 -0.00315997 0.00068986 0.991392 -0.130885 uwb: 0.0 1198.2 487.664 -imu_odom_: 1691062471.581648882 -0.342371 -0.366313 9.90002 -0.0468716 -0.00426106 -0.552872 0.09 -0.53 pose: 0.30974627 4.99954 -3.81709 0 -0.00294788 -0.00104571 0.992642 -0.121049 uwb: 0.0 1198.2 487.664 -imu_odom_: 1691062471.599698215 -0.0766145 -0.177171 9.89763 -0.0681769 -0.0500674 -0.492152 0.09 -0.53 pose: 0.43960872 4.99373 -3.81807 0 -0.00405812 1.49466e-05 0.994135 -0.108069 uwb: 0.49910240 1199.09 488.034 -imu_odom_: 1691062471.617697678 0.347159 -0.454898 9.663 -0.0649811 -0.0287621 -0.452737 0.09 -0.53 pose: 0.0 4.99373 -3.81807 0 -0.00405812 1.49466e-05 0.994135 -0.108069 uwb: 0.0 1199.09 488.034 -imu_odom_: 1691062471.633760680 0.21069 -0.227449 10.0102 -0.0511327 0.00532632 -0.429302 0.11 -0.53 pose: 0.7145366 4.98969 -3.81879 0 -0.00473491 -0.0002052130.994359 -0.105963 uwb: 0.0 1199.09 488.034 -imu_odom_: 1691062471.651584870 0.174777 -0.150835 9.6223 -0.0500674 -0.00639159 -0.417584 0.11 -0.44 pose: 0.0 4.98969 -3.81879 0 -0.00473491 -0.0002052130.994359 -0.105963 uwb: 0.49895076 1203.1 489.612 -imu_odom_: 1691062471.669583459 0.272939 -0.162806 10.0724 -0.0500674 -0.02024 -0.397344 0.11 -0.44 pose: 0.68916139 4.98969 -3.81879 0 -0.00822645 -0.00145282 0.996032 -0.0886058 uwb: 0.0 1203.1 489.612 -imu_odom_: 1691062471.683670629 -0.129287 -0.287304 9.81623 -0.0500674 -0.0127832 -0.386691 0.11 -0.41 pose: 0.0 4.98969 -3.81879 0 -0.00822645 -0.00145282 0.996032 -0.0886058 uwb: 0.0 1203.1 489.612 -imu_odom_: 1691062471.699581981 0.505177 -0.141258 10.2496 -0.0340885 -0.0788296 -0.379234 0.11 -0.41 pose: 0.0 4.98969 -3.81879 0 -0.00822645 -0.00145282 0.996032 -0.0886058 uwb: 0.49973817 1202.08 489.586 -imu_odom_: 1691062471.716524265 1.53947 -0.0502782 9.78271 -0.0596548 -0.0543285 -0.335558 0.11 -0.41 pose: 0.33863570 4.97983 -3.82044 0 -0.00822401 0.000484531 0.996665 -0.0811823 uwb: 0.0 1202.08 489.586 -imu_odom_: 1691062471.734654964 1.35272 -0.117316 9.97424 -0.0468716 0.00319579 -0.28336 0.09 -0.38 pose: 0.40989105 4.97976 -3.8204 0 -0.00475762 0.00112664 0.997322 -0.0729675 uwb: 0.50046435 1205.13 491.005 -imu_odom_: 1691062471.752579185 1.07739 -0.519542 9.414 -0.0617853 -0.0138484 -0.246076 0.09 -0.38 pose: 0.8012399 4.97983 -3.82044 0 -0.00399758 0.00126298 0.997419 -0.0716786 uwb: 0.0 1205.13 491.005 -imu_odom_: 1691062471.768637522 0.873884 -0.155623 9.89045 -0.0436758 0.0458064 -0.24288 0.09 -0.38 pose: 0.0 4.97983 -3.82044 0 -0.00399758 0.00126298 0.997419 -0.0716786 uwb: 0.0 1205.13 491.005 -imu_odom_: 1691062471.785528478 0.909797 -0.153229 10.07 -0.0585895 0 -0.249272 0.09 -0.44 pose: 0.44100858 4.96997 -3.82215 0 -9.57744e-050.00105193 0.997869 -0.0652364 uwb: 0.49935321 1205.94 491.538 -imu_odom_: 1691062471.802668782 0.6608 0.1652 10.003 -0.056459 -0.00532632 -0.276969 0.06 -0.32 pose: 0.0 4.96997 -3.82215 0 -9.57744e-050.00105193 0.997869 -0.0652364 uwb: 0.0 1205.94 491.538 -imu_odom_: 1691062471.819735011 0.639252 -0.332794 9.64863 -0.0543285 -0.00532632 -0.287621 0.06 -0.32 pose: 0.0 4.96997 -3.82215 0 -9.57744e-050.00105193 0.997869 -0.0652364 uwb: 0.0 1205.94 491.538 -imu_odom_: 1691062471.836548392 0.651223 -0.320823 9.96706 -0.0639159 -0.0340885 -0.282295 0.05 -0.26 pose: 0.25059380 4.96997 -3.82215 0 0.00193487 0.00198055 0.998102 -0.0615126 uwb: 0.50032436 1202.65 490.747 -imu_odom_: 1691062471.853611413 0.871489 -0.275333 9.80186 -0.0543285 -0.00639159 -0.280165 0.05 -0.26 pose: 0.0 4.96997 -3.82215 0 0.00193487 0.00198055 0.998102 -0.0615126 uwb: 0.0 1202.65 490.747 -imu_odom_: 1691062471.868565616 0.814029 -0.184354 9.93354 -0.0628506 -0.00532632 -0.246076 0.05 -0.26 pose: 0.32859760 4.96997 -3.82215 0 0.0043709 0.00131252 0.998408 -0.0562192 uwb: 0.0 1202.65 490.747 -imu_odom_: 1691062471.884569708 0.744597 -0.222661 9.90242 -0.0649811 0.00958738 -0.22264 0.04 -0.23 pose: 0.42008954 4.96997 -3.82215 0 0.00853797 0.000699247 0.998724 -0.0497596 uwb: 0.0 1202.65 490.747 -imu_odom_: 1691062471.899556283 0.708684 -0.344765 9.92157 -0.0468716 0.00106526 -0.22051 0.04 -0.23 pose: 0.0 4.96997 -3.82215 0 0.00853797 0.000699247 0.998724 -0.0497596 uwb: 0.50033603 1206.17 492.262 -imu_odom_: 1691062471.924792395 0.387861 -0.148441 9.93594 -0.0585895 0.0138484 -0.194943 0.03 -0.17 pose: 0.6993424 4.96997 -3.82215 0 0.00919058 0.000652108 0.998764 -0.048844 uwb: 0.0 1206.17 492.262 -imu_odom_: 1691062471.941539574 0.237026 -0.253785 9.92875 -0.0585895 0.0255663 -0.160855 0.04 -0.23 pose: 0.0 4.96997 -3.82215 0 0.00919058 0.000652108 0.998764 -0.048844 uwb: 0.50130134 1204.77 491.876 -imu_odom_: 1691062471.959633819 -0.802058 -0.361524 9.75637 -0.0532632 0.0820254 -0.110787 0.05 -0.11 pose: 0.0 4.96997 -3.82215 0 0.00919058 0.000652108 0.998764 -0.048844 uwb: 0.0 1204.77 491.876 -imu_odom_: 1691062471.981677686 -0.679953 -0.40462 10.0149 -0.0575243 -0.0479369 -0.103331 0.05 -0.11 pose: 0.73963478 4.96011 -3.82378 0 0.00532194 -0.0001048220.999166 -0.0404928 uwb: 0.0 1204.77 491.876 -imu_odom_: 1691062472.5654225 0.162806 -0.0957681 10.0269 -0.056459 -0.0575243 -0.104396 0.07 -0.14 pose: 0.0 4.96011 -3.82378 0 0.00532194 -0.0001048220.999166 -0.0404928 uwb: 0.49810501 1204.25 491.893 -imu_odom_: 1691062472.30503345 0.409408 -0.0957681 9.78031 -0.0585895 -0.0287621 -0.109722 0.07 -0.14 pose: 0.39038645 4.96011 -3.82378 0 0.00175136 -0.0004080380.999289 -0.0376677 uwb: 0.0 1204.25 491.893 -imu_odom_: 1691062472.53600318 0.0167594 -0.260968 10.228 -0.0500674 0.0458064 -0.108657 0.1 -0.11 pose: 0.41942182 4.96006 -3.82375 0 0.000715562 0.00272279 0.999398 -0.0345823 uwb: 0.49867092 1202.73 491.818 -imu_odom_: 1691062472.77607194 -0.122104 -0.229843 9.79707 -0.056459 -0.00106526 -0.0735032 0.1 -0.11 pose: 0.0 4.96006 -3.82375 0 0.000715562 0.00272279 0.999398 -0.0345823 uwb: 0.0 1202.73 491.818 -imu_odom_: 1691062472.104910721 -0.0909797 -0.213084 9.94551 -0.0490022 -0.0181095 -0.0788296 0.11 -0.14 pose: 0.7066628 4.96011 -3.82378 0 -0.0001425110.00254048 0.999417 -0.0340577 uwb: 0.50105656 1203.23 491.864 -imu_odom_: 1691062472.121543295 0.411803 -0.339977 9.87848 -0.0639159 0.0127832 -0.0873517 0.11 -0.14 pose: 0.0 4.96011 -3.82378 0 -0.0001425110.00254048 0.999417 -0.0340577 uwb: 0.0 1203.23 491.864 -imu_odom_: 1691062472.147613786 0.222661 0.023942 9.98143 -0.0532632 -0.0117179 -0.056459 0.11 -0.11 pose: 0.24003668 4.95025 -3.82544 0 -0.00289069 0.00200127 0.999468 -0.0324149 uwb: 0.49993960 1206.31 493.158 -imu_odom_: 1691062472.173543125 0.31364 -0.232238 9.39006 -0.0628506 0.00958738 -0.0575243 0.14 -0.08 pose: 0.52047367 4.95025 -3.82544 0 -0.00649795 0.000840792 0.999548 -0.0293262 uwb: 0.0 1206.31 493.158 -imu_odom_: 1691062472.197478842 0.31364 0.035913 10.4267 -0.0532632 -0.02024 -0.0639159 0.14 -0.08 pose: 0.0 4.95025 -3.82544 0 -0.00649795 0.000840792 0.999548 -0.0293262 uwb: 0.50126945 1205.79 493.174 -imu_odom_: 1691062472.212545623 0.351948 -0.241814 9.59835 -0.0458064 -0.00319579 -0.036219 0.13 -0.08 pose: 0.42892044 4.94038 -3.82709 0 -0.00633755 0.0019131 0.999609 -0.0271483 uwb: 0.0 1205.79 493.174 -imu_odom_: 1691062472.237511398 0.54109 -0.19393 9.84975 -0.0596548 -0.00532632 -0.052198 0.13 -0.08 pose: 0.0 4.94038 -3.82709 0 -0.00633755 0.0019131 0.999609 -0.0271483 uwb: 0.49864473 1202.64 492.059 -imu_odom_: 1691062472.262539874 0.440533 -0.237026 9.86172 -0.0543285 -0.0468716 -0.0298274 0.19 -0.11 pose: 0.48023377 4.94038 -3.82709 0 -0.00493489 0.00215051 0.999677 -0.0248201 uwb: 0.0 1202.64 492.059 -imu_odom_: 1691062472.285532441 0.471658 -0.45011 10.0628 -0.0639159 -0.04048 -0.0234358 0.19 -0.11 pose: 0.0 4.94038 -3.82709 0 -0.00493489 0.00215051 0.999677 -0.0248201 uwb: 0.50007375 1202.03 492.319 -imu_odom_: 1691062472.309583937 -0.023942 -0.0047884 9.82341 -0.0340885 0.0351537 -0.0351537 0.15 -0.08 pose: 0.39973353 4.93052 -3.82876 0 -0.00126403 0.00102391 0.999731 -0.0231297 uwb: 0.0 1202.03 492.319 -imu_odom_: 1691062472.327589532 -0.220267 -0.146046 9.70609 -0.0660464 0.0149137 -0.00426106 0.15 -0.08 pose: 0.0 4.93052 -3.82876 0 -0.00126403 0.00102391 0.999731 -0.0231297 uwb: 0.0 1202.03 492.319 -imu_odom_: 1691062472.352471899 0.632069 -0.23942 10.0078 -0.0543285 -0.0351537 -0.0149137 0.15 -0.02 pose: 0.49004731 4.92066 -3.83039 0 0.000774344 -0.00178291 0.999767 -0.0214834 uwb: 0.50172149 1203.63 493.442 -imu_odom_: 1691062472.369471933 0.885855 -0.191536 10.0676 -0.0500674 -0.00532632 -0.02024 0.15 -0.02 pose: 0.0 4.92066 -3.83039 0 0.000774344 -0.00178291 0.999767 -0.0214834 uwb: 0.0 1203.63 493.442 -imu_odom_: 1691062472.385464366 0.126893 -0.177171 9.35654 -0.0660464 0.0213053 -0.00426106 0.15 -0.05 pose: 0.42036093 4.91904 -3.82053 0 -0.00200577 -0.0007640250.999792 -0.0202742 uwb: 0.49818395 1204.21 494.561 -imu_odom_: 1691062472.409664888 0.756568 -0.191536 10.9319 -0.0543285 -0.0575243 -0.00852212 0.15 -0.05 pose: 0.0 4.91904 -3.82053 0 -0.00200577 -0.0007640250.999792 -0.0202742 uwb: 0.0 1204.21 494.561 -imu_odom_: 1691062472.434477846 0.754174 -0.0047884 9.80186 -0.0436758 -0.0223706 0.0149137 0.22 -0.05 pose: 0.42048051 4.90918 -3.82221 0 0.000741844 -0.0005008680.999817 -0.0191244 uwb: 0.50019623 1206.75 495.898 -imu_odom_: 1691062472.459450911 0.150835 -0.244209 10.0533 -0.0639159 0.0287621 0.00958738 0.22 -0.05 pose: 0.0 4.90918 -3.82221 0 0.000741844 -0.0005008680.999817 -0.0191244 uwb: 0.0 1206.75 495.898 -imu_odom_: 1691062472.476512773 0.150835 -0.23942 9.44991 -0.0490022 -0.0213053 0.00852212 0.17 -0.02 pose: 0.39898694 4.89932 -3.82386 0 0.00361154 0.000373009 0.999826 -0.0182715 uwb: 0.0 1206.75 495.898 -imu_odom_: 1691062472.492567907 0.0646434 -0.205901 9.81383 -0.0468716 -0.00958738 0.0213053 0.17 -0.02 pose: 0.0 4.89932 -3.82386 0 0.00361154 0.000373009 0.999826 -0.0182715 uwb: 0.50003001 1206.47 496.572 -imu_odom_: 1691062472.510729818 0.45011 -0.258574 10.0437 -0.0681769 -0.0181095 0.0298274 0.17 -0.02 pose: 0.0 4.89932 -3.82386 0 0.00361154 0.000373009 0.999826 -0.0182715 uwb: 0.0 1206.47 496.572 -imu_odom_: 1691062472.534579503 0.588974 -0.160412 9.69652 -0.0649811 0.04048 0.0191748 0.21 -0.02 pose: 0.49973545 4.88945 -3.8255 0 0.00152482 0.000842166 0.999844 -0.0175585 uwb: 0.49961004 1204.98 496.447 -imu_odom_: 1691062472.560448765 0.548272 -0.287304 10.1394 -0.0575243 0.0191748 0.0276969 0.19 -0.02 pose: 0.67108607 4.88288 -3.82658 0 0.00231243 0.000175072 0.999854 -0.0169356 uwb: 0.0 1204.98 496.447 -imu_odom_: 1691062472.573441724 0.47884 -0.31364 9.74201 -0.0511327 0.02024 0.0149137 0.19 -0.02 pose: 0.0 4.88288 -3.82658 0 0.00231243 0.000175072 0.999854 -0.0169356 uwb: 0.0 1204.98 496.447 -imu_odom_: 1691062472.597552714 0.581791 -0.454898 9.34457 -0.0596548 0.0276969 0.0149137 0.19 -0.02 pose: 0.0 4.88288 -3.82658 0 0.00231243 0.000175072 0.999854 -0.0169356 uwb: 0.50064536 1206.22 497.181 -imu_odom_: 1691062472.623418477 0.184354 -0.246603 9.41161 -0.0671117 0.00532632 0.0245011 0.16 0 pose: 0.7926369 4.87958 -3.82712 0 0.00285769 -0.0003052650.999853 -0.0168897 uwb: 0.0 1206.22 497.181 -imu_odom_: 1691062472.644444543 1.58736 -0.318429 10.4938 -0.0788296 0.0298274 0.0234358 0.17 0 pose: 0.39021746 4.87958 -3.82712 0 0.00418809 -0.00338435 0.999849 -0.0165322 uwb: 0.49939715 1205.64 497.349 -imu_odom_: 1691062472.657439835 -0.0191536 -0.265756 8.7939 -0.0628506 0.0479369 0.0149137 0.17 0 pose: 0.0 4.87958 -3.82712 0 0.00418809 -0.00338435 0.999849 -0.0165322 uwb: 0.0 1205.64 497.349 -imu_odom_: 1691062472.682437106 -0.76375 -0.136469 10.6781 -0.0596548 0.0692422 0.0287621 0.17 0 pose: 0.0 4.87958 -3.82712 0 0.00418809 -0.00338435 0.999849 -0.0165322 uwb: 0.0 1205.64 497.349 -imu_odom_: 1691062472.707481623 0.181959 -0.251391 10.6255 -0.0681769 -0.0394148 0.0234358 0.16 0 pose: 0.47915763 4.86971 -3.82873 0 0.00257526 -0.00457691 0.999857 -0.0160988 uwb: 0.50244475 1205.89 497.985 -imu_odom_: 1691062472.720539032 0.814029 -0.248997 9.165 -0.0671117 -0.0500674 0.0276969 0.16 0 pose: 0.0 4.86971 -3.82873 0 0.00257526 -0.00457691 0.999857 -0.0160988 uwb: 0.0 1205.89 497.985 -imu_odom_: 1691062472.744546200 0.232238 -0.304064 9.61033 -0.0351537 0.00106526 0.0234358 0.16 0 pose: 0.91095651 4.84999 -3.83202 0 -0.00158278 -0.00391321 0.999872 -0.0154154 uwb: 0.49793897 1203.62 497.287 -imu_odom_: 1691062472.769558928 -0.0215478 -0.0814029 9.94073 -0.0543285 -0.0213053 0.0287621 0.16 0 pose: 0.0 4.84999 -3.83202 0 -0.00158278 -0.00391321 0.999872 -0.0154154 uwb: 0.0 1203.62 497.287 -imu_odom_: 1691062472.782473437 0.270545 -0.136469 9.52892 -0.0511327 -0.00958738 0.036219 0.17 -0.02 pose: 0.7955534 4.84999 -3.83202 0 -0.0023951 -0.0039339 0.999872 -0.0153539 uwb: 0.0 1203.62 497.287 -imu_odom_: 1691062472.807485873 0.215478 -0.323217 9.69891 -0.0575243 0.0138484 0.0266316 0.17 -0.02 pose: 0.0 4.84999 -3.83202 0 -0.0023951 -0.0039339 0.999872 -0.0153539 uwb: 0.49849308 1202.57 497.369 -imu_odom_: 1691062472.824591188 0.1652 -0.122104 9.85214 -0.0340885 -0.0127832 0.0245011 0.22 -0.02 pose: 0.47058353 4.83845 -3.82384 0 -0.00605868 -0.0020845 0.999865 -0.0151026 uwb: 0.0 1202.57 497.369 -imu_odom_: 1691062472.848405293 -0.0311246 -0.248997 9.70849 -0.0436758 -0.00106526 0.0298274 0.22 -0.02 pose: 0.0 4.83845 -3.82384 0 -0.00605868 -0.0020845 0.999865 -0.0151026 uwb: 0.49950798 1203.32 498.028 -imu_odom_: 1691062472.872410128 -0.059855 -0.251391 9.74919 -0.0351537 0.0223706 0.0298274 0.22 -0.02 pose: 0.72852374 4.82859 -3.82552 0 -0.0111197 -0.0016244 0.999829 -0.0146933 uwb: 0.0 1203.32 498.028 -imu_odom_: 1691062472.897522304 0.280122 -0.299275 9.9503 -0.0553937 -0.0181095 0.0436758 0.22 -0.02 pose: 0.7008883 4.82859 -3.82552 0 -0.0119137 -0.0015899 0.99982 -0.0146588 uwb: 0.50053161 1202.25 498.153 -imu_odom_: 1691062472.918528831 0.258574 -0.138864 10.1634 -0.04048 0.00426106 0.0330232 0.17 -0.02 pose: 0.42108128 4.81873 -3.82719 0 -0.0113137 -0.00239144 0.999826 -0.0146114 uwb: 0.0 1202.25 498.153 -imu_odom_: 1691062472.931405135 -0.0837971 -0.292093 9.78989 -0.0479369 0.0191748 0.0383495 0.17 -0.02 pose: 0.0 4.81873 -3.82719 0 -0.0113137 -0.00239144 0.999826 -0.0146114 uwb: 0.0 1202.25 498.153 -imu_odom_: 1691062472.955402095 0.148441 -0.150835 9.9503 -0.0585895 -0.0138484 0.0447411 0.17 0 pose: 0.0 4.81873 -3.82719 0 -0.0113137 -0.00239144 0.999826 -0.0146114 uwb: 0.49991918 1204.22 499.584 -imu_odom_: 1691062472.972517909 0.687136 -0.203507 10.058 -0.0692422 0.0127832 0.0490022 0.17 0 pose: 0.41892900 4.80887 -3.82885 0 -0.0118604 -2.65303e-050.999823 -0.0145761 uwb: 0.0 1204.22 499.584 -imu_odom_: 1691062472.996387717 0.54109 -0.335188 9.73243 -0.0745685 -0.00958738 0.04048 0.18 0.02 pose: 0.0 4.80887 -3.82885 0 -0.0118604 -2.65303e-050.999823 -0.0145761 uwb: 0.50216770 1206.14 501.11 -imu_odom_: 1691062473.19512402 0.0454898 -0.356736 9.74201 -0.0490022 0.0383495 0.0330232 0.18 0.02 pose: 0.41123273 4.79901 -3.83052 0 -0.00999009 0.00090943 0.999841 -0.0147222 uwb: 0.0 1206.14 501.11 -imu_odom_: 1691062473.37393766 0.560243 -0.25618 10.2017 -0.0660464 -0.0308927 0.0458064 0.24 0 pose: 0.38973925 4.79901 -3.83052 0 -0.0107957 -0.00120635 0.999834 -0.0146375 uwb: 0.49907357 1208.48 502.846 -imu_odom_: 1691062473.61377613 0.720655 -0.196325 10.0269 -0.0447411 0.00958738 0.0319579 0.24 0 pose: 0.7882627 4.79901 -3.83052 0 -0.0099021 -0.00127794 0.999843 -0.0146615 uwb: 0.0 1208.48 502.846 -imu_odom_: 1691062473.87571476 0.59855 -0.234632 9.9934 -0.0596548 -0.00745685 0.0607201 0.21 0.02 pose: 0.33982584 4.78915 -3.83219 0 -0.00655061 -0.00100111 0.999871 -0.0145982 uwb: 0.0 1208.48 502.846 -imu_odom_: 1691062473.111368967 0.464475 0.107739 10.0389 -0.0436758 0.00532632 0.0319579 0.21 0.02 pose: 0.0 4.78915 -3.83219 0 -0.00655061 -0.00100111 0.999871 -0.0145982 uwb: 0.0 1208.48 502.846 -imu_odom_: 1691062473.129395858 0.471658 -0.68953 9.39245 -0.0745685 0.00213053 0.0553937 0.21 -0.02 pose: 0.49991354 4.77929 -3.83386 0 -0.0031381 0.00132334 0.999885 -0.0147896 uwb: 0.0 1208.48 502.846 -imu_odom_: 1691062473.153377662 0.349553 -0.42138 9.55287 -0.0479369 0.0575243 0.0330232 0.21 -0.02 pose: 0.0 4.77929 -3.83386 0 -0.0031381 0.00132334 0.999885 -0.0147896 uwb: 0.99989999 1207.24 503.372 -imu_odom_: 1691062473.176436440 0.126893 -0.174777 9.30147 -0.0788296 0.0117179 0.0426106 0.23 0 pose: 0.42008695 4.76832 -3.82898 0 -0.00345522 -0.00291399 0.99988 -0.014842 uwb: 0.0 1207.24 503.372 -imu_odom_: 1691062473.194396254 0.725443 -0.0335188 10.4411 -0.0543285 -0.00745685 0.0319579 0.23 0 pose: 0.0 4.76832 -3.82898 0 -0.00345522 -0.00291399 0.99988 -0.014842 uwb: 0.50051431 1206.07 503.727 -imu_odom_: 1691062473.218380392 0.979228 -0.392649 9.51216 -0.0543285 0.0138484 0.0351537 0.18 0.02 pose: 0.41018592 4.76233 -3.8266 0 -0.0041475 -0.00144362 0.999881 -0.0148194 uwb: 0.0 1206.07 503.727 -imu_odom_: 1691062473.241369468 0.995988 -0.349553 9.74919 -0.0490022 -0.0117179 0.036219 0.18 0.02 pose: 0.0 4.76233 -3.8266 0 -0.0041475 -0.00144362 0.999881 -0.0148194 uwb: 0.49730923 1203.48 503.877 -imu_odom_: 1691062473.259373028 0.311246 -0.146046 9.97424 -0.056459 -0.0276969 0.0468716 0.25 0 pose: 0.46973214 4.75148 -3.82844 0 0.000347499 -0.00218808 0.999889 -0.0147169 uwb: 0.0 1203.48 503.877 -imu_odom_: 1691062473.276362279 0.790087 -0.110133 10.0963 -0.0479369 -0.0873517 0.0916127 0.25 0 pose: 0.0 4.75148 -3.82844 0 0.000347499 -0.00218808 0.999889 -0.0147169 uwb: 0.0 1203.48 503.877 -imu_odom_: 1691062473.293481890 1.45567 -0.557849 9.086 -0.0490022 -0.0266316 0.113983 0.15 0.14 pose: 0.0 4.75148 -3.82844 0 0.000347499 -0.00218808 0.999889 -0.0147169 uwb: 0.49990771 1204.82 505.545 -imu_odom_: 1691062473.310473182 1.29287 -0.220267 10.8481 -0.0458064 -0.0490022 0.157659 0.15 0.14 pose: 0.42001697 4.74804 -3.82902 0 0.00242175 -0.0004539760.999877 -0.0154875 uwb: 0.0 1204.82 505.545 -imu_odom_: 1691062473.328531570 1.66636 -0.418985 9.10275 -0.0500674 -0.0415453 0.270577 0.15 0.14 pose: 0.0 4.74804 -3.82902 0 0.00242175 -0.0004539760.999877 -0.0154875 uwb: 0.0 1204.82 505.545 -imu_odom_: 1691062473.341362092 1.96803 -0.701501 10.1011 -0.0447411 0.0223706 0.343015 0.13 0.35 pose: 0.45160405 4.73813 -3.83067 0 0.00770029 -0.0008120570.99979 -0.0189519 uwb: 0.50021976 1204.57 506.153 -imu_odom_: 1691062473.359364194 1.02472 -0.605733 9.83299 -0.0170442 -0.02024 0.372843 0.13 0.35 pose: 0.5854882 4.73818 -3.83071 0 0.00818066 -0.0009629840.999769 -0.0198409 uwb: 0.0 1204.57 506.153 -imu_odom_: 1691062473.373351052 0.600945 -0.124498 8.83939 -0.015979 0.00106526 0.445281 0.13 0.35 pose: 0.0 4.73818 -3.83071 0 0.00818066 -0.0009629840.999769 -0.0198409 uwb: 0.0 1204.57 506.153 -imu_odom_: 1691062473.390418170 0.361524 -0.289698 9.89045 -0.0308927 -0.036219 0.553937 0.09 0.38 pose: 0.38964600 4.73812 -3.83067 0 0.0104308 -0.0002888440.999588 -0.026734 uwb: 0.49971814 1204.8 506.809 -imu_odom_: 1691062473.407412669 0.641646 -0.220267 9.57202 -0.0447411 -0.0255663 0.572047 0.09 0.41 pose: 0.0 4.73812 -3.83067 0 0.0104308 -0.0002888440.999588 -0.026734 uwb: 0.0 1204.8 506.809 -imu_odom_: 1691062473.424402795 0.995988 -0.198719 10.0652 -0.0394148 0.0138484 0.570982 0.09 0.41 pose: 0.0 4.73812 -3.83067 0 0.0104308 -0.0002888440.999588 -0.026734 uwb: 0.0 1204.8 506.809 -imu_odom_: 1691062473.441357632 0.852336 0.0526724 9.68455 -0.0436758 -0.0106526 0.58483 0.08 0.5 pose: 0.24072212 4.7283 -3.83225 0 0.00981867 -0.0004375710.999407 -0.0329919 uwb: 0.50126673 1205 507.53 -imu_odom_: 1691062473.458403460 0.591368 -0.203507 9.77553 -0.0532632 0.0319579 0.618919 0.08 0.5 pose: 0.0 4.7283 -3.83225 0 0.00981867 -0.0004375710.999407 -0.0329919 uwb: 0.0 1205 507.53 -imu_odom_: 1691062473.475551068 0.579397 -0.497994 9.84975 -0.0575243 0.00745685 0.64555 0.08 0.5 pose: 0.34008540 4.72831 -3.83225 0 0.0128595 0.00064488 0.999032 -0.0420641 uwb: 0.0 1205 507.53 -imu_odom_: 1691062473.493375564 0.557849 -0.260968 9.6199 -0.0468716 0.0170442 0.630637 0.07 0.53 pose: 0.35067469 4.72831 -3.83225 0 0.0113348 0.000363873 0.998575 -0.0521502 uwb: 0.50054639 1202.43 507.661 -imu_odom_: 1691062473.508618498 0.454898 -0.136469 10.2568 -0.0415453 0.02024 0.646616 0.07 0.53 pose: 0.0 4.72831 -3.83225 0 0.0113348 0.000363873 0.998575 -0.0521502 uwb: 0.0 1202.43 507.661 -imu_odom_: 1691062473.525461348 0.696713 -0.301669 10.0149 -0.0436758 0.00106526 0.658333 0.07 0.53 pose: 0.0 4.72831 -3.83225 0 0.0113348 0.000363873 0.998575 -0.0521502 uwb: 0.0 1202.43 507.661 -imu_odom_: 1691062473.550332350 0.658405 -0.141258 10.1418 -0.0490022 0.0181095 0.596548 0.06 0.58 pose: 0.49988437 4.72831 -3.83225 0 0.00866524 -0.0006599290.997701 -0.0672117 uwb: 0.50134547 1202.93 508.883 -imu_odom_: 1691062473.567387510 0.380678 -0.181959 9.91439 -0.0553937 0.0245011 0.530502 0.06 0.58 pose: 0.0 4.72831 -3.83225 0 0.00866524 -0.0006599290.997701 -0.0672117 uwb: 0.0 1202.93 508.883 -imu_odom_: 1691062473.584340015 -0.672771 -0.0790087 9.68933 -0.0617853 0.100135 0.435693 0.07 0.35 pose: 0.40851485 4.71844 -3.83387 0 0.00955368 0.00119454 0.996861 -0.0785825 uwb: 0.0 1202.93 508.883 -imu_odom_: 1691062473.598444986 -1.1971 0.169988 9.85214 -0.0617853 0.015979 0.403735 0.08 0.38 pose: 0.0 4.71844 -3.83387 0 0.00955368 0.00119454 0.996861 -0.0785825 uwb: 0.0 1202.93 508.883 -imu_odom_: 1691062473.616329558 -0.785298 -0.0837971 9.9503 -0.0575243 -0.0713727 0.371777 0.08 0.38 pose: 0.34117903 4.71844 -3.83387 0 0.0050628 0.00112662 0.99631 -0.0856757 uwb: 0.0 1202.93 508.883 -imu_odom_: 1691062473.631443590 -0.0790087 -0.110133 10.0963 -0.0575243 -0.0969391 0.350472 0.08 0.38 pose: 0.0 4.71844 -3.83387 0 0.0050628 0.00112662 0.99631 -0.0856757 uwb: 0.0 1202.93 508.883 -imu_odom_: 1691062473.649331954 0.483629 -0.229843 10.0389 -0.0468716 -0.0255663 0.32171 0.09 0.29 pose: 0.0 4.71844 -3.83387 0 0.0050628 0.00112662 0.99631 -0.0856757 uwb: 0.99980084 1201.45 508.831 -imu_odom_: 1691062473.666381281 0.423774 -0.122104 9.67257 -0.0585895 -0.0127832 0.324906 0.09 0.29 pose: 0.31992460 4.71844 -3.83387 0 0.00273421 0.00127302 0.995846 -0.0909999 uwb: 0.0 1201.45 508.831 -imu_odom_: 1691062473.682321225 0.107739 -0.143652 9.87848 -0.0649811 0.0127832 0.314253 0.17 0.32 pose: 0.42931723 4.70852 -3.83553 0 0.00290744 0.00158213 0.995262 -0.097168 uwb: 0.0 1201.45 508.831 -imu_odom_: 1691062473.699432963 0.0143652 -0.232238 9.7851 -0.0671117 -0.0149137 0.292948 0.17 0.32 pose: 0.0 4.70852 -3.83553 0 0.00290744 0.00158213 0.995262 -0.097168 uwb: 0.49806165 1202.76 510.513 -imu_odom_: 1691062473.716363303 0.00957681 -0.222661 9.74201 -0.0468716 -0.02024 0.279099 0.17 0.32 pose: 0.0 4.70852 -3.83553 0 0.00290744 0.00158213 0.995262 -0.097168 uwb: 0.0 1202.76 510.513 -imu_odom_: 1691062473.732313746 0.0981623 -0.114922 9.43794 -0.0628506 -0.0319579 0.289752 0.12 0.23 pose: 0.6949976 4.70858 -3.83557 0 0.00215795 0.00156185 0.995171 -0.098117 uwb: 0.0 1202.76 510.513 -imu_odom_: 1691062473.750319639 0.363919 -0.328006 9.84496 -0.092678 -0.00319579 0.30147 0.18 0.26 pose: 0.0 4.70858 -3.83557 0 0.00215795 0.00156185 0.995171 -0.098117 uwb: 0.50192291 1203.3 511.606 -imu_odom_: 1691062473.766377404 -0.0167594 -0.366313 10.0006 -0.0703074 -0.0117179 0.251402 0.18 0.26 pose: 0.67006560 4.69872 -3.83721 0 -0.00304471 0.000209866 0.994304 -0.106539 uwb: 0.0 1203.3 511.606 -imu_odom_: 1691062473.783373362 0.481235 -0.100556 9.67976 -0.0703074 0.0117179 0.238619 0.2 0.26 pose: 0.0 4.69872 -3.83721 0 -0.00304471 0.000209866 0.994304 -0.106539 uwb: 0.0 1203.3 511.606 -imu_odom_: 1691062473.799370759 -0.220267 -0.105345 9.81862 -0.0745685 0.0585895 0.236489 0.2 0.26 pose: 0.0 4.69872 -3.83721 0 -0.00304471 0.000209866 0.994304 -0.106539 uwb: 0.49885490 1203.89 512.612 -imu_odom_: 1691062473.816300807 0.114922 -0.402226 9.60075 -0.0585895 -0.0245011 0.215183 0.2 0.26 pose: 0.34041785 4.69872 -3.83721 0 -0.00364766 -0.0012539 0.993889 -0.11032 uwb: 0.0 1203.89 512.612 -imu_odom_: 1691062473.832297329 0.634463 -0.296881 9.88805 -0.0468716 -0.0575243 0.209857 0.14 0.2 pose: 0.41921205 4.68886 -3.8389 0 -0.00607778 -0.00203647 0.993432 -0.114248 uwb: 0.0 1203.89 512.612 -imu_odom_: 1691062473.850301181 1.11091 -0.316035 10.0149 -0.0575243 -0.0276969 0.250337 0.14 0.2 pose: 0.8004531 4.68886 -3.8389 0 -0.0050708 -0.00200881 0.993359 -0.114923 uwb: 0.50173627 1205.14 514.388 -imu_odom_: 1691062473.867356924 1.3216 -0.371101 9.85693 -0.056459 -0.0191748 0.30147 0.14 0.2 pose: 0.0 4.68886 -3.8389 0 -0.0050708 -0.00200881 0.993359 -0.114923 uwb: 0.0 1205.14 514.388 -imu_odom_: 1691062473.883291036 1.95127 -0.301669 10.1011 -0.0308927 -0.0447411 0.270577 0.1 0.11 pose: 0.43051586 4.68886 -3.8389 0 -0.000228669-0.00192954 0.992809 -0.119695 uwb: 0.0 1205.14 514.388 -imu_odom_: 1691062473.901415333 1.35033 0.342371 9.52653 -0.0436758 0.0330232 0.207727 0.09 0.14 pose: 0.0 4.68886 -3.8389 0 -0.000228669-0.00192954 0.992809 -0.119695 uwb: 0.49760670 1207.07 515.719 -imu_odom_: 1691062473.918289387 0.682347 0.186748 9.75158 -0.0543285 0.036219 0.174703 0.09 0.14 pose: 0.0 4.68886 -3.8389 0 -0.000228669-0.00192954 0.992809 -0.119695 uwb: 0.0 1207.07 515.719 -imu_odom_: 1691062473.935292344 0.397437 -0.368707 9.93594 -0.0596548 0.0213053 0.134223 0.09 0.14 pose: 0.24138122 4.67902 -3.84067 0 0.00212649 -0.00100392 0.992502 -0.122202 uwb: 0.49944401 1208.4 517.286 -imu_odom_: 1691062473.952408165 0.797269 -0.289698 10.0317 -0.0543285 -0.0383495 0.0937433 0.09 0.14 pose: 0.0 4.67902 -3.84067 0 0.00212649 -0.00100392 0.992502 -0.122202 uwb: 0.0 1208.4 517.286 -imu_odom_: 1691062473.969412289 0.837971 -0.117316 9.64863 -0.0490022 -0.00426106 0.108657 0.09 0.14 pose: 0.33929506 4.67902 -3.84067 0 0.00272173 0.000475116 0.992217 -0.124491 uwb: 0.0 1208.4 517.286 -imu_odom_: 1691062473.985298572 0.787692 -0.19393 10.0054 -0.0596548 0.00958738 0.147006 0.06 0.11 pose: 0.43987737 4.67902 -3.84067 0 0.00588218 0.000240026 0.992014 -0.125993 uwb: 0.50076803 1209.33 518.609 -imu_odom_: 1691062474.2401852 0.663194 -0.426168 9.72764 -0.0479369 0.00213053 0.137419 0.06 0.11 pose: 0.7005386 4.67902 -3.84067 0 0.00651709 0.000383432 0.991962 -0.126365 uwb: 0.0 1209.33 518.609 -imu_odom_: 1691062474.18292224 0.723049 -0.138864 10.0485 -0.0490022 -0.00639159 0.125701 0.06 0.11 pose: 0.0 4.67902 -3.84067 0 0.00651709 0.000383432 0.991962 -0.126365 uwb: 0.0 1209.33 518.609 -imu_odom_: 1691062474.35300437 0.658405 -0.0407014 9.81383 -0.0500674 -0.00106526 0.120375 0.06 0.11 pose: 0.41874549 4.66917 -3.84238 0 0.00948317 0.000378502 0.991684 -0.128344 uwb: 0.49821926 1210.38 519.632 -imu_odom_: 1691062474.60293061 0.653617 -0.222661 9.90002 -0.0575243 -0.00532632 0.116114 0.04 0.08 pose: 0.0 4.66917 -3.84238 0 0.00948317 0.000378502 0.991684 -0.128344 uwb: 0.0 1210.38 519.632 -imu_odom_: 1691062474.86299121 -0.0694318 -0.320823 9.62948 -0.0585895 0.0735032 0.123571 0.05 0.11 pose: 0.26175500 4.66917 -3.84238 0 0.0107317 0.00180551 0.991538 -0.12936 uwb: 0.49999247 1208.37 519.654 -imu_odom_: 1691062474.109279748 -1.50116 -0.129287 10.0006 -0.0447411 0.015979 0.12144 0.05 0.11 pose: 0.0 4.66917 -3.84238 0 0.0107317 0.00180551 0.991538 -0.12936 uwb: 0.0 1208.37 519.654 -imu_odom_: 1691062474.133279644 -0.201113 -0.105345 9.62948 -0.0415453 -0.0798948 0.1012 0.08 0.05 pose: 0.64812024 4.66917 -3.84238 0 0.00622911 0.000354055 0.991231 -0.131994 uwb: 0.0 1208.37 519.654 -imu_odom_: 1691062474.151274753 0.720655 -0.237026 10.1059 -0.0394148 -0.0980043 0.0969391 0.08 0.05 pose: 0.8026990 4.66917 -3.84238 0 0.00572027 0.000471569 0.991201 -0.13224 uwb: 0.50034535 1208.99 520.514 -imu_odom_: 1691062474.168334878 0.890643 -0.158017 9.91918 -0.0575243 -0.0308927 0.135289 0.08 0.05 pose: 0.0 4.66917 -3.84238 0 0.00572027 0.000471569 0.991201 -0.13224 uwb: 0.0 1208.99 520.514 -imu_odom_: 1691062474.185265807 1.44849 -0.490811 9.85932 -0.072438 -0.0745685 0.0916127 0.08 -0.05 pose: 0.41971383 4.65932 -3.84411 0 0.00819997 0.00124121 0.990998 -0.133617 uwb: 0.49979416 1209.96 521.708 -imu_odom_: 1691062474.202267313 1.39343 0.172383 9.75158 -0.0468716 0.00426106 -0.0937433 0.08 -0.05 pose: 0.0 4.65932 -3.84411 0 0.00819997 0.00124121 0.990998 -0.133617 uwb: 0.0 1209.96 521.708 -imu_odom_: 1691062474.217271403 1.47722 0.586579 9.89284 -0.0692422 0.0127832 -0.169377 0.05 -0.26 pose: 0.0 4.65932 -3.84411 0 0.00819997 0.00124121 0.990998 -0.133617 uwb: 0.0 1209.96 521.708 -imu_odom_: 1691062474.235268554 1.06303 -0.0694318 9.90481 -0.0596548 0.015979 -0.270577 0.05 -0.26 pose: 0.49998956 4.65932 -3.84411 0 0.0131588 0.00269159 0.991077 -0.132614 uwb: 0.49935963 1211.05 522.647 -imu_odom_: 1691062474.252321971 0.397437 -0.11971 9.77074 -0.0660464 0.0213053 -0.352603 0.05 -0.26 pose: 0.0 4.65932 -3.84411 0 0.0131588 0.00269159 0.991077 -0.132614 uwb: 0.0 1211.05 522.647 -imu_odom_: 1691062474.268333081 0.411803 -0.201113 10.0341 -0.0649811 -0.0426106 -0.361125 0.04 -0.35 pose: 0.0 4.65932 -3.84411 0 0.0131588 0.00269159 0.991077 -0.132614 uwb: 0.0 1211.05 522.647 -imu_odom_: 1691062474.286262281 0.363919 -0.316035 9.76116 -0.0628506 -0.0149137 -0.352603 0.04 -0.35 pose: 0.50047658 4.65932 -3.84411 0 0.0125808 0.00383488 0.992159 -0.124289 uwb: 0.50125234 1213.35 524.162 -imu_odom_: 1691062474.303263203 0.85473 -0.19393 10.2352 -0.0671117 -0.0276969 -0.354733 0.03 -0.41 pose: 0.0 4.65932 -3.84411 0 0.0125808 0.00383488 0.992159 -0.124289 uwb: 0.0 1213.35 524.162 -imu_odom_: 1691062474.319261772 0.612916 -0.059855 9.82341 -0.0543285 0.00532632 -0.399474 0.04 -0.41 pose: 0.43938468 4.65932 -3.84411 0 0.0123831 0.00270533 0.993205 -0.115686 uwb: 0.0 1213.35 524.162 -imu_odom_: 1691062474.336258028 0.577003 0.0694318 10.0197 -0.0607201 -0.0170442 -0.412257 0.03 -0.44 pose: 0.0 4.65932 -3.84411 0 0.0123831 0.00270533 0.993205 -0.115686 uwb: 0.50070989 1214.87 525.208 -imu_odom_: 1691062474.352242307 0.423774 -0.189142 9.73482 -0.0639159 0.00106526 -0.415453 0.03 -0.44 pose: 0.0 4.65932 -3.84411 0 0.0123831 0.00270533 0.993205 -0.115686 uwb: 0.0 1214.87 525.208 -imu_odom_: 1691062474.368366280 0.390255 -0.304064 10.2448 -0.0628506 -0.00426106 -0.414388 0.03 -0.44 pose: 0.24029642 4.65932 -3.84411 0 0.01144 0.0049834 0.993813 -0.110364 uwb: 0.0 1214.87 525.208 -imu_odom_: 1691062474.384423760 0.337582 -0.205901 9.59357 -0.0617853 -0.0191748 -0.429302 0.04 -0.61 pose: 0.0 4.65932 -3.84411 0 0.01144 0.0049834 0.993813 -0.110364 uwb: 0.0 1214.87 525.208 -imu_odom_: 1691062474.401360814 0.557849 -0.105345 9.85453 -0.0639159 -0.0330232 -0.418649 0.04 -0.61 pose: 0.32078797 4.64948 -3.8459 0 0.00910451 0.00464377 0.994617 -0.103117 uwb: 0.50073323 1215.99 526.05 -imu_odom_: 1691062474.417295515 0.701501 -0.260968 9.991 -0.0671117 -0.0234358 -0.405866 0.03 -0.47 pose: 0.41989172 4.64942 -3.84586 0 0.00746352 0.00515824 0.995581 -0.0934658 uwb: 0.0 1215.99 526.05 -imu_odom_: 1691062474.435391239 0.88346 -0.244209 9.93833 -0.0681769 0.00426106 -0.370712 0.03 -0.47 pose: 0.0 4.64942 -3.84586 0 0.00746352 0.00515824 0.995581 -0.0934658 uwb: 0.49742608 1217.56 526.978 -imu_odom_: 1691062474.450378123 0.445322 -0.363919 9.78031 -0.0607201 0.0117179 -0.327036 0.03 -0.47 pose: 0.0 4.64942 -3.84586 0 0.00746352 0.00515824 0.995581 -0.0934658 uwb: 0.0 1217.56 526.978 -imu_odom_: 1691062474.467248100 0.426168 -0.21069 9.90242 -0.0628506 -0.015979 -0.280165 0.04 -0.47 pose: 0.7928709 4.64948 -3.8459 0 0.0081596 0.00464448 0.995741 -0.0917134 uwb: 0.0 1217.56 526.978 -imu_odom_: 1691062474.482358055 0.531513 -0.23942 9.7851 -0.0553937 -0.0170442 -0.251402 0.02 -0.29 pose: 0.0 4.64948 -3.8459 0 0.0081596 0.00464448 0.995741 -0.0917134 uwb: 0.0 1217.56 526.978 -imu_odom_: 1691062474.499236490 0.670376 -0.208296 9.9527 -0.0660464 -0.0138484 -0.223706 0.02 -0.29 pose: 0.0 4.64948 -3.8459 0 0.0081596 0.00464448 0.995741 -0.0917134 uwb: 0.50052908 1216.11 526.879 -imu_odom_: 1691062474.515242933 0.627281 -0.237026 9.76834 -0.0553937 -0.00745685 -0.201335 0.02 -0.29 pose: 0.65078579 4.64948 -3.8459 0 0.00776183 0.00132754 0.996779 -0.0798131 uwb: 0.0 1216.11 526.879 -imu_odom_: 1691062474.531303038 0.596156 -0.299275 9.95748 -0.0575243 -0.00106526 -0.18003 0.02 -0.26 pose: 0.0 4.64948 -3.8459 0 0.00776183 0.00132754 0.996779 -0.0798131 uwb: 0.0 1216.11 526.879 -imu_odom_: 1691062474.544292798 0.474052 -0.201113 9.84496 -0.0553937 0.00532632 -0.175769 0.02 -0.26 pose: 0.32945831 4.64948 -3.8459 0 0.00997865 0.000460969 0.997098 -0.0754749 uwb: 0.49934504 1218.24 527.678 -imu_odom_: 1691062474.559229229 0.418985 -0.112527 9.92397 -0.0553937 -0.00426106 -0.170442 0.02 -0.26 pose: 0.0 4.64948 -3.8459 0 0.00997865 0.000460969 0.997098 -0.0754749 uwb: 0.0 1218.24 527.678 -imu_odom_: 1691062474.576505456 0.445322 -0.184354 9.88087 -0.0628506 -0.015979 -0.149137 0.01 -0.17 pose: 0.44983107 4.64948 -3.8459 0 0.00849269 -0.0005130070.997472 -0.0705452 uwb: 0.0 1218.24 527.678 -imu_odom_: 1691062474.592448614 0.593762 -0.335188 9.92397 -0.056459 -0.0127832 -0.142745 0.01 -0.17 pose: 0.0 4.64948 -3.8459 0 0.00849269 -0.0005130070.997472 -0.0705452 uwb: 0.50221766 1218.13 527.912 -imu_odom_: 1691062474.609302552 0.586579 -0.222661 9.85932 -0.0543285 -0.00958738 -0.131028 0.02 -0.23 pose: 0.40151574 4.64948 -3.8459 0 0.00731179 -0.0009805030.997743 -0.0667448 uwb: 0.0 1218.13 527.912 -imu_odom_: 1691062474.625302871 0.533907 -0.241814 9.88087 -0.0585895 -0.00745685 -0.105461 0.02 -0.23 pose: 0.0 4.64948 -3.8459 0 0.00731179 -0.0009805030.997743 -0.0667448 uwb: 0.0 1218.13 527.912 -imu_odom_: 1691062474.641302898 0.447716 -0.225055 9.86172 -0.0553937 -0.00213053 -0.0969391 0.02 -0.23 pose: 0.0 4.64948 -3.8459 0 0.00731179 -0.0009805030.997743 -0.0667448 uwb: 0.49872386 1218.69 528.869 -imu_odom_: 1691062474.656298240 0.519542 -0.201113 9.90002 -0.0511327 -0.00745685 -0.092678 0.01 -0.11 pose: 0.7839176 4.64948 -3.8459 0 0.00801498 -0.0005832540.997782 -0.0660738 uwb: 0.0 1218.69 528.869 -imu_odom_: 1691062474.674462498 0.600945 -0.215478 9.87129 -0.0585895 -0.015979 -0.0607201 0 -0.08 pose: 0.0 4.64948 -3.8459 0 0.00801498 -0.0005832540.997782 -0.0660738 uwb: 0.0 1218.69 528.869 -imu_odom_: 1691062474.690307667 0.687136 -0.339977 9.90481 -0.0553937 -0.00745685 -0.0330232 0 -0.08 pose: 0.64087893 4.64948 -3.8459 0 0.00675525 0.000842598 0.998074 -0.0616595 uwb: 0.49935087 1214.95 527.23 -imu_odom_: 1691062474.706362522 0.648829 -0.308852 9.89524 -0.0532632 -0.00106526 -0.00106526 0 -0.08 pose: 0.0 4.64948 -3.8459 0 0.00675525 0.000842598 0.998074 -0.0616595 uwb: 0.0 1214.95 527.23 -imu_odom_: 1691062474.722291973 0.567426 -0.251391 9.89524 -0.0553937 -0.00213053 0.0372843 0 -0.08 pose: 0.0 4.64948 -3.8459 0 0.00675525 0.000842598 0.998074 -0.0616595 uwb: 0.0 1214.95 527.23 -imu_odom_: 1691062474.736240925 0.560243 -0.263362 9.87129 -0.0543285 0.00426106 0.0553937 0 -0.08 pose: 0.32893627 4.64948 -3.8459 0 0.00951608 -0.0007737580.998125 -0.0604526 uwb: 0.49931296 1212.85 526.383 -imu_odom_: 1691062474.750224581 0.423774 -0.177171 9.84975 -0.0500674 0.0117179 0.0458064 0 0 pose: 0.0 4.64948 -3.8459 0 0.00951608 -0.0007737580.998125 -0.0604526 uwb: 0.0 1212.85 526.383 -imu_odom_: 1691062474.765429608 0.275333 -0.0837971 9.93354 -0.0532632 0.00213053 0.04048 0 0 pose: 0.38971615 4.64948 -3.8459 0 0.00780609 -0.00259356 0.998142 -0.0603795 uwb: 0.0 1212.85 526.383 -imu_odom_: 1691062474.780266008 0.349553 -0.169988 9.91678 -0.056459 -0.0117179 0.0383495 0 0 pose: 0.0 4.64948 -3.8459 0 0.00780609 -0.00259356 0.998142 -0.0603795 uwb: 0.0 1212.85 526.383 -imu_odom_: 1691062474.794263662 0.45011 -0.248997 9.9096 -0.056459 -0.0149137 0.0308927 0 0 pose: 0.6184725 4.64948 -3.8459 0 0.00724055 -0.00223668 0.998146 -0.0603977 uwb: 0.50142441 1211.45 526.191 -imu_odom_: 1691062474.808258984 0.526724 -0.196325 9.87369 -0.056459 -0.00852212 0.036219 0 0 pose: 0.0 4.64948 -3.8459 0 0.00724055 -0.00223668 0.998146 -0.0603977 uwb: 0.0 1211.45 526.191 -imu_odom_: 1691062474.823366313 0.505177 -0.246603 9.92636 -0.056459 -0.00319579 0.0426106 0 0 pose: 0.0 4.64948 -3.8459 0 0.00724055 -0.00223668 0.998146 -0.0603977 uwb: 0.0 1211.45 526.191 -imu_odom_: 1691062474.838279413 0.445322 -0.21069 9.90002 -0.0532632 0.00213053 0.0415453 0 0 pose: 0.43797899 4.64948 -3.8459 0 0.0034211 -0.0008507350.998169 -0.060391 uwb: 0.50054950 1208.87 525.306 -imu_odom_: 1691062474.852320813 0.390255 -0.155623 9.89524 -0.0553937 -0.00426106 0.0415453 0 0 pose: 0.0 4.64948 -3.8459 0 0.0034211 -0.0008507350.998169 -0.060391 uwb: 0.0 1208.87 525.306 -imu_odom_: 1691062474.866191023 0.416591 -0.19393 9.87608 -0.0553937 -0.00745685 0.04048 0 0 pose: 0.0 4.64948 -3.8459 0 0.0034211 -0.0008507350.998169 -0.060391 uwb: 0.0 1208.87 525.306 -imu_odom_: 1691062474.880184886 0.45011 -0.205901 9.89524 -0.0543285 -0.00745685 0.0372843 0 0 pose: 0.44068537 4.64948 -3.8459 0 0.00462683 -0.0009823360.998165 -0.0603619 uwb: 0.0 1208.87 525.306 -imu_odom_: 1691062474.894281405 0.464475 -0.21069 9.86172 -0.0553937 -0.00639159 0.0383495 0 0 pose: 0.0 4.64948 -3.8459 0 0.00462683 -0.0009823360.998165 -0.0603619 uwb: 0.49822515 1209.51 526.102 -imu_odom_: 1691062474.909255457 0.428562 -0.23942 9.90002 -0.0532632 -0.00532632 0.04048 0 0 pose: 0.0 4.64948 -3.8459 0 0.00462683 -0.0009823360.998165 -0.0603619 uwb: 0.0 1209.51 526.102 -imu_odom_: 1691062474.931256479 0.438139 -0.198719 9.95988 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.41942510 4.64948 -3.8459 0 0.00210815 0.000646145 0.998173 -0.0603786 uwb: 0.0 1209.51 526.102 -imu_odom_: 1691062474.947257090 0.0909797 -0.248997 9.81623 -0.0617853 0.0276969 0.0191748 0 0 pose: 0.0 4.64948 -3.8459 0 0.00210815 0.000646145 0.998173 -0.0603786 uwb: 0.50018496 1208.29 525.489 -imu_odom_: 1691062474.964251013 -0.270545 -0.0814029 10.003 -0.0479369 0.0276969 -0.0639159 0 0 pose: 0.0 4.64948 -3.8459 0 0.00210815 0.000646145 0.998173 -0.0603786 uwb: 0.0 1208.29 525.489 -imu_odom_: 1691062474.981193608 -1.34315 0.31364 9.56484 -0.0351537 0.0649811 -0.0745685 0.04 0.05 pose: 0.44006127 4.64948 -3.8459 0 0.00240452 -5.66753e-050.998173 -0.0603712 uwb: 0.0 1208.29 525.489 -imu_odom_: 1691062474.997245838 -1.17316 -0.596156 10.2256 -0.0649811 -0.0245011 0.0426106 0.06 0.08 pose: 0.0 4.64948 -3.8459 0 0.00240452 -5.66753e-050.998173 -0.0603712 uwb: 0.50172187 1206.25 524.497 -imu_odom_: 1691062475.13184042 -0.306458 -0.902614 9.76116 -0.0660464 -0.103331 0.0649811 0.06 0.08 pose: 0.72013393 4.63963 -3.84764 0 -0.00507125 0.00125377 0.998282 -0.0583664 uwb: 0.0 1206.25 524.497 -imu_odom_: 1691062475.30196928 0.4956 -0.0454898 9.85453 -0.036219 -0.0351537 0.0703074 0.08 0.05 pose: 0.0 4.63963 -3.84764 0 -0.00507125 0.00125377 0.998282 -0.0583664 uwb: 0.0 1206.25 524.497 -imu_odom_: 1691062475.46182671 0.708684 0.131681 9.9096 -0.0500674 -0.00213053 0.0948085 0.08 0.05 pose: 0.0 4.63963 -3.84764 0 -0.00507125 0.00125377 0.998282 -0.0583664 uwb: 0.49900395 1203.14 523.721 -imu_odom_: 1691062475.62270196 -0.131681 -0.25618 9.66539 -0.0617853 0.0287621 0.0671117 0.08 0.05 pose: 0.33004456 4.63963 -3.84764 0 -0.00527065 0.000237522 0.998262 -0.0586971 uwb: 0.0 1203.14 523.721 -imu_odom_: 1691062475.79238461 -0.502782 -0.129287 10.1227 -0.0447411 0.00213053 0.0181095 0.08 0.05 pose: 0.41011624 4.63963 -3.84764 0 -0.00514964 0.00162317 0.998214 -0.0595007 uwb: 0.0 1203.14 523.721 -imu_odom_: 1691062475.95440890 -0.0047884 -0.114922 9.85214 -0.0617853 -0.0383495 0.0500674 0.08 0.05 pose: 0.8050032 4.63963 -3.84764 0 -0.00598295 0.00166273 0.998214 -0.0594127 uwb: 0.49840324 1204.48 524.039 -imu_odom_: 1691062475.111373556 0.342371 -0.349553 9.91439 -0.0553937 -0.0245011 0.0703074 0.08 0.05 pose: 0.0 4.63963 -3.84764 0 -0.00598295 0.00166273 0.998214 -0.0594127 uwb: 0.0 1204.48 524.039 -imu_odom_: 1691062475.128380026 0.323217 -0.234632 10.0078 -0.0383495 -0.0223706 0.0447411 0.12 0 pose: 0.41053328 4.63476 -3.84852 0 -0.00723218 0.000569719 0.998194 -0.059633 uwb: 0.0 1204.48 524.039 -imu_odom_: 1691062475.145251176 0.0742203 -0.112527 9.72525 -0.0426106 -0.0330232 0.0543285 0.1 0 pose: 0.0 4.63476 -3.84852 0 -0.00723218 0.000569719 0.998194 -0.059633 uwb: 0.49998683 1203.13 523.743 -imu_odom_: 1691062475.161379821 0.387861 -0.215478 10.1849 -0.0543285 -0.00958738 0.0511327 0.1 0 pose: 0.0 4.63476 -3.84852 0 -0.00723218 0.000569719 0.998194 -0.059633 uwb: 0.0 1203.13 523.743 -imu_odom_: 1691062475.178367043 0.191536 -0.186748 9.95988 -0.0383495 0.00958738 0.0394148 0.11 0.02 pose: 0.25082749 4.62979 -3.84941 0 -0.0062449 0.000233805 0.998195 -0.0597317 uwb: 0.0 1203.13 523.743 -imu_odom_: 1691062475.194166139 0.414197 -0.287304 9.64863 -0.0671117 -0.0223706 0.0628506 0.11 0.02 pose: 0.0 4.62979 -3.84941 0 -0.0062449 0.000233805 0.998195 -0.0597317 uwb: 0.50002766 1203.5 524.029 -imu_odom_: 1691062475.211163860 0.289698 -0.299275 9.51456 -0.0543285 -0.00532632 0.0447411 0.11 0.02 pose: 0.31925117 4.62979 -3.84941 0 -0.00605264 0.00053539 0.998187 -0.0598896 uwb: 0.0 1203.5 524.029 -imu_odom_: 1691062475.227223096 1.1971 -0.169988 10.4148 -0.0394148 -0.0617853 0.0511327 0.1 0 pose: 0.42782438 4.62458 -3.85035 0 -0.00564461 -0.00186996 0.998175 -0.0601019 uwb: 0.0 1203.5 524.029 -imu_odom_: 1691062475.244163073 1.22823 0.114922 9.73961 -0.0607201 -0.0255663 0.112918 0.1 0 pose: 0.8001913 4.61995 -3.85119 0 -0.00462571 -0.00167764 0.998177 -0.0601476 uwb: 0.49928107 1203 524.045 -imu_odom_: 1691062475.260163106 1.21865 -0.608127 9.64863 -0.04048 -0.0372843 0.136354 0.1 0 pose: 0.0 4.61995 -3.85119 0 -0.00462571 -0.00167764 0.998177 -0.0601476 uwb: 0.0 1203 524.045 -imu_odom_: 1691062475.276155265 1.35512 -0.349553 9.50977 -0.0575243 -0.0330232 0.0990696 0.1 0 pose: 0.40997333 4.61995 -3.85119 0 -0.00012844 -0.00122576 0.998101 -0.061585 uwb: 0.0 1203 524.045 -imu_odom_: 1691062475.290155842 1.15161 -0.0023942 9.73961 -0.0394148 0.0383495 0.0681769 0.07 0 pose: 0.0 4.61995 -3.85119 0 -0.00012844 -0.00122576 0.998101 -0.061585 uwb: 0.50053803 1202.98 524.089 -imu_odom_: 1691062475.307219764 0.823605 -0.0550666 9.96227 -0.0553937 0.015979 0.0639159 0.07 0 pose: 0.0 4.61995 -3.85119 0 -0.00012844 -0.00122576 0.998101 -0.061585 uwb: 0.0 1202.98 524.089 -imu_odom_: 1691062475.323155637 0.411803 -0.124498 9.61272 -0.0575243 0.00213053 0.0106526 0.05 0 pose: 0.23001342 4.61995 -3.85119 0 0.00219568 -0.00100745 0.998063 -0.0621566 uwb: 0.0 1202.98 524.089 -imu_odom_: 1691062475.339151005 0.61531 -0.203507 9.94073 -0.0511327 -0.0255663 -0.0170442 0.05 0 pose: 0.0 4.61995 -3.85119 0 0.00219568 -0.00100745 0.998063 -0.0621566 uwb: 0.50121753 1198.71 522.618 -imu_odom_: 1691062475.356147559 0.744597 -0.198719 9.97424 -0.0607201 -0.0138484 -0.0127832 0.05 0 pose: 0.0 4.61995 -3.85119 0 0.00219568 -0.00100745 0.998063 -0.0621566 uwb: 0.0 1198.71 522.618 -imu_odom_: 1691062475.372144093 0.909797 -0.275333 9.78989 -0.0607201 -0.00639159 0.015979 0.06 0.02 pose: 0.72983111 4.61012 -3.85301 0 0.00649077 0.00138804 0.998095 -0.06133 uwb: 0.0 1198.71 522.618 -imu_odom_: 1691062475.387145564 0.768539 -0.260968 9.89045 -0.0511327 0.0149137 0.0287621 0.06 0.02 pose: 0.0 4.61012 -3.85301 0 0.00649077 0.00138804 0.998095 -0.06133 uwb: 0.49983518 1194.84 521.356 -imu_odom_: 1691062475.403143556 0.593762 -0.150835 10.0509 -0.0447411 0.02024 0.0276969 0.06 0.02 pose: 0.0 4.61012 -3.85301 0 0.00649077 0.00138804 0.998095 -0.06133 uwb: 0.0 1194.84 521.356 -imu_odom_: 1691062475.428204724 0.339977 -0.270545 9.9527 -0.0607201 -0.00639159 0.0809601 0.03 0.02 pose: 0.7008016 4.61012 -3.85301 0 0.00719263 0.0012685 0.998096 -0.0612487 uwb: 0.0 1194.84 521.356 -imu_odom_: 1691062475.445215860 0.426168 -0.318429 9.93354 -0.0532632 0.00639159 0.0735032 0.03 0.02 pose: 0.0 4.61012 -3.85301 0 0.00719263 0.0012685 0.998096 -0.0612487 uwb: 0.49827784 1194.37 521.317 -imu_odom_: 1691062475.469139065 -0.976834 -0.0981623 10.1897 -0.052198 0.0820254 0.0703074 0.03 0.02 pose: 0.72997984 4.61012 -3.85301 0 0.00639364 0.000780939 0.998079 -0.0616184 uwb: 0.0 1194.37 521.317 -imu_odom_: 1691062475.486202695 -1.13485 -0.136469 9.98382 -0.0628506 -0.0458064 0.0575243 0.05 0.02 pose: 0.0 4.61012 -3.85301 0 0.00639364 0.000780939 0.998079 -0.0616184 uwb: 0.50002183 1197.28 522.511 -imu_odom_: 1691062475.502252015 0.0454898 -0.124498 10.1323 -0.0532632 -0.0862864 0.0447411 0.05 0.02 pose: 0.17014052 4.61012 -3.85301 0 0.0046284 9.282e-05 0.998072 -0.0618984 uwb: 0.0 1197.28 522.511 -imu_odom_: 1691062475.528223380 0.567426 -0.162806 10.0533 -0.0596548 -0.0181095 0.0468716 0.12 0.02 pose: 0.49084404 4.61012 -3.85301 0 6.71558e-05 0.000376513 0.998055 -0.0623371 uwb: 0.0 1197.28 522.511 -imu_odom_: 1691062475.543123654 0.21069 -0.241814 9.69652 -0.0436758 0.00852212 0.0436758 0.12 0.02 pose: 0.0 4.61012 -3.85301 0 6.71558e-05 0.000376513 0.998055 -0.0623371 uwb: 0.50018806 1196.69 522.773 -imu_odom_: 1691062475.559213803 -0.251391 -0.215478 9.60314 -0.0617853 0.00426106 0.0553937 0.12 0.02 pose: 0.0 4.61012 -3.85301 0 6.71558e-05 0.000376513 0.998055 -0.0623371 uwb: 0.0 1196.69 522.773 -imu_odom_: 1691062475.584118071 0.208296 -0.440533 9.54568 -0.0500674 -0.0351537 0.0436758 0.11 0 pose: 0.8033701 4.61012 -3.85301 0 0.000885327 0.000622998 0.998053 -0.0623666 uwb: 0.50090840 1197.98 523.182 -imu_odom_: 1691062475.607127579 0.402226 0.047884 9.64384 -0.0479369 -0.0479369 0.0553937 0.13 0 pose: 0.73832355 4.60027 -3.85473 0 -0.00152605 -0.00127781 0.998034 -0.0626367 uwb: 0.0 1197.98 523.182 -imu_odom_: 1691062475.633105360 0.225055 -0.354342 10.307 -0.0703074 -0.0234358 0.0447411 0.16 0.02 pose: 0.0 4.60027 -3.85473 0 -0.00152605 -0.00127781 0.998034 -0.0626367 uwb: 0.0 1197.98 523.182 -imu_odom_: 1691062475.646160743 0.102951 -0.0430956 9.55047 -0.052198 -0.00213053 0.0298274 0.16 0.02 pose: 0.0 4.60027 -3.85473 0 -0.00152605 -0.00127781 0.998034 -0.0626367 uwb: 0.0 1197.98 523.182 -imu_odom_: 1691062475.661102429 0.54109 -0.19393 9.92875 -0.0607201 0.00532632 0.0394148 0.16 0.02 pose: 0.31038251 4.59042 -3.85646 0 -0.00137984 0.000476168 0.998022 -0.0628416 uwb: 0.0 1197.98 523.182 -imu_odom_: 1691062475.678387411 0.577003 -0.153229 9.89524 -0.0735032 0.00852212 0.0426106 0.17 0 pose: 0.45946107 4.59042 -3.85646 0 -0.00208176 -7.33571e-050.998022 -0.0628236 uwb: 0.0 1197.98 523.182 -imu_odom_: 1691062475.694264666 0.445322 -0.423774 9.75398 -0.0660464 0.0319579 0.0394148 0.17 0 pose: 0.7058761 4.59042 -3.85646 0 -0.00145572 9.33864e-05 0.998023 -0.0628349 uwb: 0.100059484 1200.05 524.072 -imu_odom_: 1691062475.710155336 0.471658 -0.342371 9.91439 -0.0490022 0.0127832 0.02024 0.17 0 pose: 0.0 4.59042 -3.85646 0 -0.00145572 9.33864e-05 0.998023 -0.0628349 uwb: 0.0 1200.05 524.072 -imu_odom_: 1691062475.727381991 0.45011 -0.222661 9.84975 -0.052198 0.0245011 0.0298274 0.13 0 pose: 0.41994146 4.58057 -3.85819 0 0.000532401 -0.00245351 0.99803 -0.0626939 uwb: 0.0 1200.05 524.072 -imu_odom_: 1691062475.744222228 0.213084 -0.0885855 10.1179 -0.0490022 -0.00106526 0.0639159 0.13 0 pose: 0.0 4.58057 -3.85819 0 0.000532401 -0.00245351 0.99803 -0.0626939 uwb: 0.50109213 1201.17 524.9 -imu_odom_: 1691062475.760112607 0.222661 -0.227449 10.0748 -0.0607201 -0.0415453 0.0479369 0.13 0 pose: 0.0 4.58057 -3.85819 0 0.000532401 -0.00245351 0.99803 -0.0626939 uwb: 0.0 1201.17 524.9 -imu_odom_: 1691062475.776262833 0.706289 -0.201113 10.3525 -0.0500674 -0.0117179 0.0149137 0.18 0 pose: 0.42081053 4.57072 -3.85992 0 -0.000704547-0.00031669 0.998023 -0.0628448 uwb: 0.0 1201.17 524.9 -imu_odom_: 1691062475.793220599 0.545878 -0.0263362 9.96227 -0.0500674 -0.0383495 0.0383495 0.14 0 pose: 0.0 4.57072 -3.85992 0 -0.000704547-0.00031669 0.998023 -0.0628448 uwb: 0.49905943 1200.67 524.92 -imu_odom_: 1691062475.809215967 0.373495 -0.299275 9.55047 -0.0553937 0.0426106 0.0532632 0.14 0 pose: 0.0 4.57072 -3.85992 0 -0.000704547-0.00031669 0.998023 -0.0628448 uwb: 0.0 1200.67 524.92 -imu_odom_: 1691062475.825098179 0.392649 -0.325611 9.86411 -0.0426106 0.00639159 0.0383495 0.14 0 pose: 0.32947010 4.57072 -3.85992 0 0.00094269 0.000621848 0.998033 -0.0626728 uwb: 0.0 1200.67 524.92 -imu_odom_: 1691062475.842097650 -0.0191536 -0.100556 9.56244 -0.0426106 0.0511327 0.0223706 0.14 0 pose: 0.0 4.57072 -3.85992 0 0.00094269 0.000621848 0.998033 -0.0626728 uwb: 0.0 1200.67 524.92 -imu_odom_: 1691062475.858088059 0.0143652 0.143652 9.79707 -0.0575243 -0.00106526 0.0692422 0.14 0 pose: 0.32042646 4.56087 -3.86165 0 0.000311029 -0.0008845560.998027 -0.062774 uwb: 0.0 1200.67 524.92 -imu_odom_: 1691062475.885109606 0.332794 -0.0167594 10.6111 -0.052198 -0.00106526 0.0127832 0.21 0 pose: 0.40862014 4.56087 -3.86165 0 -0.00312279 -9.87487e-060.998017 -0.0628652 uwb: 0.99876629 1202.28 525.754 -imu_odom_: 1691062475.901099140 0.418985 -0.009576819.4954 -0.0607201 -0.0308927 0.036219 0.21 0 pose: 0.0 4.56087 -3.86165 0 -0.00312279 -9.87487e-060.998017 -0.0628652 uwb: 0.0 1202.28 525.754 -imu_odom_: 1691062475.928275254 0.842759 -0.395043 10.0509 -0.0745685 -0.0639159 0.0511327 0.21 0.02 pose: 0.7025807 4.56087 -3.86165 0 -0.00319664 0.000700736 0.998022 -0.0627733 uwb: 0.0 1202.28 525.754 -imu_odom_: 1691062475.953144234 0.301669 0.150835 9.95988 -0.036219 -0.00745685 0.0340885 0.16 0 pose: 0.0 4.56087 -3.86165 0 -0.00319664 0.000700736 0.998022 -0.0627733 uwb: 0.0 1202.28 525.754 -imu_odom_: 1691062475.979130472 0.577003 -0.466869 9.87608 -0.0873517 0.0181095 0.052198 0.2 -0.02 pose: 0.71076101 4.55102 -3.86338 0 0.000411816 0.00359433 0.99803 -0.0626294 uwb: 0.0 1202.28 525.754 -imu_odom_: 1691062476.5332230 0.304064 -0.0047884 10.3022 -0.0287621 0.0234358 0.0234358 0.18 0 pose: 0.42940505 4.54117 -3.86511 0 0.000738985 0.00260794 0.998026 -0.0627513 uwb: 0.99846298 1205.07 527.236 -imu_odom_: 1691062476.22228176 0.282516 -0.347159 9.34696 -0.0660464 -0.00745685 0.0575243 0.18 0 pose: 0.8024369 4.54117 -3.86511 0 0.000102546 0.00332014 0.998028 -0.0626851 uwb: 0.0 1205.07 527.236 -imu_odom_: 1691062476.48243005 0.114922 -0.150835 9.67976 -0.0415453 0.0234358 0.0213053 0.16 0.02 pose: 0.0 4.54117 -3.86511 0 0.000102546 0.00332014 0.998028 -0.0626851 uwb: 0.50031066 1204.03 527.374 -imu_odom_: 1691062476.65225567 0.672771 -0.134075 9.53132 -0.0532632 0.0106526 0.0500674 0.16 0.02 pose: 0.42962679 4.53132 -3.86684 0 -0.00280403 0.0032599 0.998029 -0.0626071 uwb: 0.0 1204.03 527.374 -imu_odom_: 1691062476.81187985 0.289698 -0.533907 9.48822 -0.0628506 -0.0213053 0.0490022 0.16 0.02 pose: 0.0 4.53132 -3.86684 0 -0.00280403 0.0032599 0.998029 -0.0626071 uwb: 0.0 1204.03 527.374 -imu_odom_: 1691062476.98060892 0.248997 -0.198719 10.5584 -0.04048 0.0287621 0.0181095 0.23 0 pose: 0.51070465 4.52147 -3.86857 0 -0.00329648 0.0017887 0.998032 -0.062601 uwb: 0.50055280 1205.44 528.628 -imu_odom_: 1691062476.114054807 -0.0215478 0.011971 10.4052 -0.0660464 0.0213053 0.0585895 0.23 0 pose: 0.7007436 4.52147 -3.86857 0 -0.00407519 0.00159436 0.998034 -0.0625239 uwb: 0.0 1205.44 528.628 -imu_odom_: 1691062476.130245577 0.500388 -0.411803 9.80904 -0.0692422 0.00426106 0.0532632 0.23 0 pose: 0.0 4.52147 -3.86857 0 -0.00407519 0.00159436 0.998034 -0.0625239 uwb: 0.0 1205.44 528.628 -imu_odom_: 1691062476.147147064 0.438139 -0.311246 9.61511 -0.0415453 0.0245011 0.0138484 0.16 -0.02 pose: 0.42050156 4.5099 -3.86045 0 -0.00567561 0.00073053 0.998018 -0.0626757 uwb: 0.50020283 1206.76 530.102 -imu_odom_: 1691062476.163133980 0.0430956 0.136469 10.0987 -0.0607201 0.0234358 0.0553937 0.23 0.02 pose: 0.0 4.5099 -3.86045 0 -0.00567561 0.00073053 0.998018 -0.0626757 uwb: 0.0 1206.76 530.102 -imu_odom_: 1691062476.179068401 0.258574 -0.287304 9.72525 -0.072438 0.02024 0.056459 0.23 0.02 pose: 0.0 4.5099 -3.86045 0 -0.00567561 0.00073053 0.998018 -0.0626757 uwb: 0.0 1206.76 530.102 -imu_odom_: 1691062476.195104604 0.414197 -0.280122 9.61511 -0.0585895 0.015979 0.0394148 0.2 0 pose: 0.22954981 4.5099 -3.86045 0 -0.00504011 0.000271759 0.998032 -0.0625039 uwb: 0.50155893 1209.5 531.653 -imu_odom_: 1691062476.211131182 0.383072 -0.150835 9.97185 -0.0617853 0.00745685 0.0458064 0.2 0 pose: 0.0 4.5099 -3.86045 0 -0.00504011 0.000271759 0.998032 -0.0625039 uwb: 0.0 1209.5 531.653 -imu_odom_: 1691062476.228119285 0.531513 -0.241814 9.93354 -0.076699 0.0181095 0.0468716 0.2 0 pose: 0.0 4.5099 -3.86045 0 -0.00504011 0.000271759 0.998032 -0.0625039 uwb: 0.0 1209.5 531.653 -imu_odom_: 1691062476.244273309 0.328006 -0.237026 9.39724 -0.0511327 0.0703074 0.0181095 0.17 0 pose: 0.74918727 4.49484 -3.86309 0 -0.00261978 -0.0004670410.998021 -0.0628231 uwb: 0.49872715 1209.65 532.415 -imu_odom_: 1691062476.271212041 0.610521 -0.320823 10.1418 -0.0884169 -0.00639159 0.0798948 0.17 0 pose: 0.7998999 4.4902 -3.86391 0 -0.00356192 -0.0009447160.998023 -0.0627361 uwb: 0.0 1209.65 532.415 -imu_odom_: 1691062476.296208475 0.52433 -0.191536 9.69652 -0.0500674 -0.0149137 0.0436758 0.19 -0.02 pose: 0.35093757 4.4902 -3.86391 0 -0.00183088 -0.00242856 0.997997 -0.0631855 uwb: 0.50006868 1209.9 532.963 -imu_odom_: 1691062476.323206993 0.430956 -0.308852 9.59117 -0.0681769 -0.00106526 0.0458064 0.21 -0.02 pose: 0.0 4.4902 -3.86391 0 -0.00183088 -0.00242856 0.997997 -0.0631855 uwb: 0.0 1209.9 532.963 -imu_odom_: 1691062476.339048090 0.849942 -0.304064 10.4052 -0.0415453 -0.00532632 0.0308927 0.19 0 pose: 0.51994952 4.48035 -3.86565 0 0.00137842 -0.00396504 0.997985 -0.0633171 uwb: 0.49932500 1208.45 532.908 -imu_odom_: 1691062476.366030276 0.641646 -0.244209 10.422 -0.0575243 -0.0255663 0.0639159 0.19 0 pose: 0.0 4.48035 -3.86565 0 0.00137842 -0.00396504 0.997985 -0.0633171 uwb: 0.0 1208.45 532.908 -imu_odom_: 1691062476.382040815 0.713472 0 10.0269 -0.0532632 0.00106526 0.0458064 0.18 0 pose: 0.42823283 4.4705 -3.86739 0 0.00579587 -0.00288737 0.997957 -0.0635579 uwb: 0.0 1208.45 532.908 -imu_odom_: 1691062476.407184817 0.272939 -0.265756 9.4547 -0.0607201 -0.00106526 0.052198 0.18 0 pose: 0.7027267 4.4705 -3.86739 0 0.00614865 -0.00228367 0.997956 -0.0635751 uwb: 0.50159394 1208.56 533.755 -imu_odom_: 1691062476.429032455 0.253785 -0.294487 9.96946 -0.04048 -0.036219 0.0436758 0.19 0 pose: 0.34127274 4.46308 -3.86871 0 0.00406715 -0.00189303 0.997955 -0.0637615 uwb: 0.0 1208.56 533.755 -imu_odom_: 1691062476.454069719 0.296881 -0.155623 10.3022 -0.0628506 -0.0330232 0.0585895 0.19 0 pose: 0.0 4.46308 -3.86871 0 0.00406715 -0.00189303 0.997955 -0.0637615 uwb: 0.49956414 1209.17 534.592 -imu_odom_: 1691062476.478027345 0.54109 -0.0454898 10.6279 -0.0500674 -0.0319579 0.0394148 0.18 0 pose: 0.5881137 4.46066 -3.86914 0 0.00358484 -0.00197624 0.997956 -0.0637757 uwb: 0.0 1209.17 534.592 -imu_odom_: 1691062476.502019676 0.629675 -0.294487 9.88087 -0.0607201 -0.0447411 0.0447411 0.18 0 pose: 0.0 4.46066 -3.86914 0 0.00358484 -0.00197624 0.997956 -0.0637757 uwb: 0.49925793 1210.47 536.031 -imu_odom_: 1691062476.518021174 0.481235 -0.418985 9.4164 -0.0692422 0.0308927 0.0447411 0.22 0 pose: 0.48107149 4.45081 -3.87089 0 0.000967963 -0.0003125990.997946 -0.0640529 uwb: 0.0 1210.47 536.031 -imu_odom_: 1691062476.535016859 0.225055 -0.129287 10.2855 -0.0500674 0 0.0436758 0.22 0 pose: 0.0 4.45081 -3.87089 0 0.000967963 -0.0003125990.997946 -0.0640529 uwb: 0.49922876 1211.47 537.053 -imu_odom_: 1691062476.551128887 0.612916 -0.399832 9.91918 -0.0756338 -0.0511327 0.0543285 0.17 0 pose: 0.73843756 4.44097 -3.87265 0 0.00284507 -0.0009172610.997933 -0.0641985 uwb: 0.0 1211.47 537.053 -imu_odom_: 1691062476.567009647 0.476446 -0.11971 10.0317 -0.0575243 -0.00426106 0.036219 0.17 0 pose: 0.0 4.44097 -3.87265 0 0.00284507 -0.0009172610.997933 -0.0641985 uwb: 0.0 1211.47 537.053 -imu_odom_: 1691062476.583042350 0.519542 -0.172383 10.0197 -0.0394148 -0.0330232 0.0340885 0.17 0 pose: 0.0 4.44097 -3.87265 0 0.00284507 -0.0009172610.997933 -0.0641985 uwb: 0.0 1211.47 537.053 -imu_odom_: 1691062476.609179374 0.663194 -0.342371 10.1227 -0.0490022 0.00213053 0.0319579 0.23 0 pose: 0.8006290 4.44097 -3.87265 0 0.0036252 -0.00153107 0.997926 -0.0642582 uwb: 0.49954082 1211.49 538.071 -imu_odom_: 1691062476.633162664 0.782904 -0.275333 10.2232 -0.0372843 -0.0330232 0.0479369 0.19 0 pose: 0.66156225 4.43112 -3.87441 0 0.00708809 -0.0005572430.997915 -0.0641463 uwb: 0.0 1211.49 538.071 -imu_odom_: 1691062476.649083379 0.258574 -0.19393 10.0293 -0.056459 -0.0117179 0.052198 0.19 0 pose: 0.0 4.43112 -3.87441 0 0.00708809 -0.0005572430.997915 -0.0641463 uwb: 0.49979745 1207.98 537.227 -imu_odom_: 1691062476.675087708 0.632069 -0.0287304 10.0293 -0.0490022 -0.04048 0.056459 0.24 0 pose: 0.0 4.43112 -3.87441 0 0.00708809 -0.0005572430.997915 -0.0641463 uwb: 0.0 1207.98 537.227 -imu_odom_: 1691062476.701013587 0.646434 -0.229843 9.93833 -0.0596548 0.00958738 0.0426106 0.18 0.02 pose: 0.46909399 4.42128 -3.87617 0 0.00856891 0.000242348 0.997868 -0.0645464 uwb: 0.49953790 1209.26 538.705 -imu_odom_: 1691062476.727026958 0.603339 -0.227449 10.1658 -0.0756338 0.0117179 0.0703074 0.22 0.02 pose: 0.0 4.41438 -3.87741 0 0.00937048 0.0021685 0.997868 -0.0645464 uwb: 0.0 1209.26 538.705 -imu_odom_: 1691062476.744093219 0.536301 -0.502782 9.4954 -0.0585895 -0.0245011 0.0426106 0.22 0.02 pose: 0.33101006 4.41144 -3.87794 0 0.0106088 0.000233657 0.997847 -0.0647154 uwb: 0.49991994 1209.61 540.055 -imu_odom_: 1691062476.770308110 0.6608 -0.0766145 10.0604 -0.0394148 -0.0138484 0.0436758 0.25 -0.02 pose: 0.0 4.41144 -3.87794 0 0.0106088 0.000233657 0.997847 -0.0647154 uwb: 0.0 1209.61 540.055 -imu_odom_: 1691062476.796023428 0.45011 -0.179565 10.0413 -0.0479369 -0.00852212 0.0330232 0.25 -0.02 pose: 0.42930314 4.40159 -3.87971 0 0.00911053 -0.00174498 0.997838 -0.0650598 uwb: 0.50090567 1206.76 539.948 -imu_odom_: 1691062476.811998970 0.335188 0.0191536 9.78031 -0.072438 -0.0106526 0.0479369 0.22 0.02 pose: 0.44904400 4.39175 -3.88148 0 0.00737395 0.000883241 0.997858 -0.0649948 uwb: 0.0 1206.76 539.948 -imu_odom_: 1691062476.828055587 0.4956 -0.287304 10.1035 -0.0745685 -0.00106526 0.056459 0.22 0.02 pose: 0.0 4.39175 -3.88148 0 0.00737395 0.000883241 0.997858 -0.0649948 uwb: 0.0 1206.76 539.948 -imu_odom_: 1691062476.844055627 0.73502 -0.0574608 9.98143 -0.0617853 -0.00639159 0.0298274 0.21 0 pose: 0.0 4.39175 -3.88148 0 0.00737395 0.000883241 0.997858 -0.0649948 uwb: 0.50044489 1206.42 540.698 -imu_odom_: 1691062476.861052770 0.263362 -0.251391 10.137 -0.0596548 0.052198 0.0340885 0.21 0 pose: 0.38996724 4.38191 -3.88326 0 0.00636974 0.000569031 0.997854 -0.0651584 uwb: 0.0 1206.42 540.698 -imu_odom_: 1691062476.877046394 0.78051 -0.402226 10.2232 -0.056459 -0.0319579 0.0415453 0.21 0 pose: 0.0 4.38191 -3.88326 0 0.00636974 0.000569031 0.997854 -0.0651584 uwb: 0.0 1206.42 540.698 -imu_odom_: 1691062476.892995689 0.19393 -0.208296 9.56723 -0.0245011 0.0980043 0.0276969 0.18 -0.02 pose: 0.42026242 4.37636 -3.88427 0 0.00652942 -0.0001720170.997858 -0.0650859 uwb: 0.49931042 1207.97 542.586 -imu_odom_: 1691062476.919030348 0.387861 -0.344765 9.19852 -0.0841559 0.0117179 0.0543285 0.18 -0.02 pose: 0.6978564 4.37207 -3.88504 0 0.00546758 -9.59881e-050.997867 -0.0650456 uwb: 0.0 1207.97 542.586 -imu_odom_: 1691062476.944272341 0.59855 -0.306458 9.74919 -0.0543285 -0.04048 0.0426106 0.2 -0.02 pose: 0.35005390 4.37207 -3.88504 0 0.00254363 -0.00260158 0.997866 -0.0651929 uwb: 0.50049447 1207.63 543.334 -imu_odom_: 1691062476.970134351 0.521936 -0.232238 9.83299 -0.0617853 0.0191748 0.0500674 0.19 -0.02 pose: 0.0 4.37207 -3.88504 0 0.00254363 -0.00260158 0.997866 -0.0651929 uwb: 0.0 1207.63 543.334 -imu_odom_: 1691062476.986985969 0.442927 0.0311246 10.2831 -0.0330232 -0.0106526 0.0330232 0.18 -0.02 pose: 0.33119088 4.36223 -3.88682 0 0.00559523 -0.00229927 0.99785 -0.0652623 uwb: 0.49958747 1206.5 543.7 -imu_odom_: 1691062477.3035878 0.0622492 -0.0263362 9.4547 -0.0830906 0.0245011 0.0500674 0.18 -0.02 pose: 0.0 4.36223 -3.88682 0 0.00559523 -0.00229927 0.99785 -0.0652623 uwb: 0.0 1206.5 543.7 -imu_odom_: 1691062477.19014634 0.493206 -0.11971 10.3166 -0.056459 -0.02024 0.0308927 0.18 -0.02 pose: 0.0 4.36223 -3.88682 0 0.00559523 -0.00229927 0.99785 -0.0652623 uwb: 0.0 1206.5 543.7 -imu_odom_: 1691062477.45030930 0.811634 -0.471658 9.58878 -0.0639159 -0.00319579 0.036219 0.18 0.02 pose: 0.58846073 4.35239 -3.8886 0 0.00375541 0.00218146 0.997855 -0.0653236 uwb: 0.49884976 1207.86 544.937 -imu_odom_: 1691062477.70188941 1.12288 -0.378284 9.5816 -0.0511327 0 0.0298274 0.2 0.02 pose: 0.34035421 4.34546 -3.88986 0 0.00594608 0.00121626 0.99785 -0.0652539 uwb: 0.0 1207.86 544.937 -imu_odom_: 1691062477.96125912 0.823605 -0.105345 10.0844 -0.0735032 -0.0149137 0.0660464 0.2 0.02 pose: 0.7990253 4.34255 -3.89038 0 0.00670847 0.0010558 0.997848 -0.0652168 uwb: 0.50053839 1207.15 545.44 -imu_odom_: 1691062477.121117106 0.804452 -0.270545 10.0748 -0.0383495 0.0298274 0.0213053 0.2 0 pose: 0.43104729 4.33559 -3.89164 0 0.0108248 0.00163772 0.997795 -0.0654679 uwb: 0.0 1207.15 545.44 -imu_odom_: 1691062477.147094031 0.292093 -0.227449 9.87369 -0.056459 -0.0415453 0.0436758 0.2 0 pose: 0.0 4.33559 -3.89164 0 0.0108248 0.00163772 0.997795 -0.0654679 uwb: 0.49928436 1206.83 546.145 -imu_odom_: 1691062477.172024566 0.308852 0 10.0054 -0.0490022 -0.04048 0.0532632 0.17 -0.02 pose: 0.50968119 4.32382 -3.88361 0 0.0106602 0.000768302 0.997808 -0.0653091 uwb: 0.0 1206.83 546.145 -imu_odom_: 1691062477.187968034 0.574608 -0.586579 9.56962 -0.0681769 0 0.0532632 0.17 -0.02 pose: 0.0 4.32382 -3.88361 0 0.0106602 0.000768302 0.997808 -0.0653091 uwb: 0.50192076 1205.29 546.376 -imu_odom_: 1691062477.214022534 0.438139 -0.0933739 10.3789 -0.036219 -0.0617853 0.0511327 0.18 0 pose: 0.40874003 4.32109 -3.8841 0 0.00904721 0.000468904 0.997806 -0.0655882 uwb: 0.0 1205.29 546.376 -imu_odom_: 1691062477.239960089 0.407014 -0.126893 10.1514 -0.0575243 -0.00852212 0.0447411 0.23 0 pose: 0.8019125 4.32109 -3.8841 0 0.00862023 0.0010274 0.997806 -0.0656309 uwb: 0.50069880 1204.56 546.946 -imu_odom_: 1691062477.265071437 0.138864 -0.0383072 10.2855 -0.0671117 0.0138484 0.056459 0.19 0 pose: 0.18035375 4.31427 -3.88534 0 0.00765993 0.00228348 0.997806 -0.0657267 uwb: 0.0 1204.56 546.946 -imu_odom_: 1691062477.281059817 0.349553 -0.179565 9.8689 -0.0681769 -0.0553937 0.0543285 0.19 0 pose: 0.0 4.31427 -3.88534 0 0.00765993 0.00228348 0.997806 -0.0657267 uwb: 0.0 1204.56 546.946 -imu_odom_: 1691062477.306956543 0.639252 -0.232238 10.3262 -0.0543285 -0.00319579 0.0340885 0.18 0.02 pose: 0.34025214 4.31125 -3.88589 0 0.00435835 0.00308522 0.997815 -0.0658481 uwb: 0.49831029 1203.34 547.554 -imu_odom_: 1691062477.333009585 0.94571 -0.208296 9.62948 -0.0415453 -0.0383495 0.0351537 0.18 0.02 pose: 0.41013113 4.30141 -3.88769 0 0.00222343 0.00260715 0.997809 -0.0660776 uwb: 0.0 1203.34 547.554 -imu_odom_: 1691062477.359103456 0.373495 -0.138864 9.88566 -0.076699 0.0127832 0.0681769 0.19 0 pose: 0.43948724 4.29157 -3.88948 0 0.00697022 0.0023395 0.997794 -0.0659806 uwb: 0.50011844 1206.14 549.754 -imu_odom_: 1691062477.384283048 0.0526724 -0.035913 9.62708 -0.0479369 0.04048 0.0468716 0.23 0.02 pose: 0.26093871 4.28435 -3.8908 0 0.00418899 0.00246633 0.997785 -0.0663434 uwb: 0.50011261 1205.4 550.322 -imu_odom_: 1691062477.399104299 0.23942 -0.466869 9.94551 -0.056459 -0.00745685 0.04048 0.23 0.02 pose: 0.0 4.28435 -3.8908 0 0.00418899 0.00246633 0.997785 -0.0663434 uwb: 0.0 1205.4 550.322 -imu_odom_: 1691062477.425939510 0.878672 -0.445322 10.07 -0.04048 0.0191748 0.0351537 0.23 0.02 pose: 0.0 4.28435 -3.8908 0 0.00418899 0.00246633 0.997785 -0.0663434 uwb: 0.0 1205.4 550.322 -imu_odom_: 1691062477.451932767 0.737414 -0.0814029 9.86172 -0.0532632 -0.0191748 0.0490022 0.19 0.02 pose: 0.40000843 4.28174 -3.89128 0 0.000510763 0.00180147 0.997789 -0.0664347 uwb: 0.49848236 1208.22 552.425 -imu_odom_: 1691062477.468990578 0.253785 -0.397437 9.99579 -0.0543285 0.0585895 0.0436758 0.19 0.02 pose: 0.0 4.28174 -3.89128 0 0.000510763 0.00180147 0.997789 -0.0664347 uwb: 0.0 1208.22 552.425 -imu_odom_: 1691062477.494945047 0.466869 -0.213084 10.2783 -0.0500674 -0.0447411 0.056459 0.21 0.02 pose: 0.52828468 4.2719 -3.89308 0 0.00510456 0.00202008 0.997771 -0.0665011 uwb: 0.50131124 1209.15 553.504 -imu_odom_: 1691062477.519931575 0.543484 -0.0143652 10.0149 -0.0234358 -0.04048 0.0372843 0.25 0 pose: 0.43012280 4.26207 -3.89489 0 0.0028385 -0.00148416 0.997763 -0.0667668 uwb: 0.0 1209.15 553.504 -imu_odom_: 1691062477.542049277 0.667982 -0.294487 9.83538 -0.0777643 -0.0500674 0.052198 0.25 0 pose: 0.0 4.26207 -3.89489 0 0.0028385 -0.00148416 0.997763 -0.0667668 uwb: 0.49844736 1208.02 553.885 -imu_odom_: 1691062477.567039013 0.337582 -0.263362 9.90481 -0.0468716 -0.0511327 0.0330232 0.18 -0.02 pose: 0.47104230 4.25223 -3.8967 0 0.00650686 0.000205118 0.99774 -0.0668751 uwb: 0.0 1208.02 553.885 -imu_odom_: 1691062477.582919779 0.651223 -0.143652 9.66779 -0.0639159 -0.0298274 0.0500674 0.18 -0.02 pose: 0.0 4.25223 -3.8967 0 0.00650686 0.000205118 0.99774 -0.0668751 uwb: 0.0 1208.02 553.885 -imu_odom_: 1691062477.609092976 0.131681 -0.107739 9.98861 -0.0479369 0.0628506 0.0394148 0.19 0 pose: 0.40870502 4.2424 -3.89851 0 0.00625099 0.000409953 0.997742 -0.066877 uwb: 0.50113334 1205.63 553.942 -imu_odom_: 1691062477.634921167 0.222661 -0.474052 9.94791 -0.072438 0.0106526 0.0500674 0.19 0 pose: 0.0 4.2424 -3.89851 0 0.00625099 0.000409953 0.997742 -0.066877 uwb: 0.49906271 1206.79 555.515 -imu_odom_: 1691062477.659917610 0.828394 -0.162806 10.24 -0.0340885 -0.0415453 0.0372843 0.19 0 pose: 0.33101893 4.2424 -3.89851 0 0.00233735 0.000345614 0.997756 -0.0669095 uwb: 0.0 1206.79 555.515 -imu_odom_: 1691062477.675914448 0.622492 -0.071826 9.70849 -0.0553937 -0.0426106 0.0458064 0.19 0 pose: 0.0 4.2424 -3.89851 0 0.00233735 0.000345614 0.997756 -0.0669095 uwb: 0.0 1206.79 555.515 -imu_odom_: 1691062477.701914412 0.409408 -0.363919 9.66539 -0.0490022 -0.0340885 0.0436758 0.19 0 pose: 0.50917084 4.23256 -3.90032 0 0.00451092 0.000162826 0.997743 -0.0669987 uwb: 0.49973932 1204.19 555.014 -imu_odom_: 1691062477.727970954 0.191536 -0.155623 9.7851 -0.0500674 -0.0223706 0.052198 0.19 0 pose: 0.0 4.23256 -3.90032 0 0.00451092 0.000162826 0.997743 -0.0669987 uwb: 0.0 1204.19 555.014 -imu_odom_: 1691062477.753906467 0.0909797 -0.287304 9.82341 -0.056459 -0.0117179 0.0511327 0.21 0 pose: 0.42038506 4.22273 -3.90214 0 0.0038271 -0.00115409 0.997736 -0.0671332 uwb: 0.50006303 1202.28 555.095 -imu_odom_: 1691062477.779931804 0.543484 -0.141258 9.96946 -0.0436758 0.00745685 0.04048 0.21 0.02 pose: 0.44929205 4.21289 -3.90396 0 -0.000286597-0.00125339 0.997725 -0.0674067 uwb: 0.0 1202.28 555.095 -imu_odom_: 1691062477.796039464 0.328006 -0.143652 10.1131 -0.0735032 0.0138484 0.072438 0.21 0.02 pose: 0.0 4.21289 -3.90396 0 -0.000286597-0.00125339 0.997725 -0.0674067 uwb: 0.50181576 1205.56 557.144 -imu_odom_: 1691062477.812881463 0.430956 -0.500388 9.58399 -0.0607201 -0.0276969 0.0500674 0.21 0.02 pose: 0.0 4.21289 -3.90396 0 -0.000286597-0.00125339 0.997725 -0.0674067 uwb: 0.0 1205.56 557.144 -imu_odom_: 1691062477.838888719 0.919373 -0.0885855 10.0556 -0.036219 -0.0276969 0.0436758 0.18 0 pose: 0.50002221 4.20306 -3.90578 0 0.00026078 0.000242381 0.997704 -0.0677192 uwb: 0.49916771 1206.24 558.706 -imu_odom_: 1691062477.863897120 0.347159 -0.143652 10.0269 -0.0468716 0.0276969 0.036219 0.18 0 pose: 0.34980031 4.19601 -3.90709 0 0.00324538 0.000466772 0.997692 -0.0678173 uwb: 0.0 1206.24 558.706 -imu_odom_: 1691062477.887886252 0.371101 -0.232238 9.9527 -0.0788296 -0.0276969 0.0681769 0.2 0 pose: 0.7063724 4.19323 -3.90761 0 0.00248877 0.000785792 0.997695 -0.0678044 uwb: 0.50075129 1208.99 560.836 -imu_odom_: 1691062477.911889382 0.78051 -0.0981623 9.87129 -0.0649811 0.00106526 0.0340885 0.2 0 pose: 0.41933809 4.18617 -3.90893 0 -0.000653963-0.0005224260.997677 -0.0681119 uwb: 0.0 1208.99 560.836 -imu_odom_: 1691062477.937886722 0.328006 -0.110133 9.42837 -0.0628506 0.0276969 0.052198 0.18 -0.02 pose: 0.0 4.18617 -3.90893 0 -0.000653963-0.0005224260.997677 -0.0681119 uwb: 0.50040716 1209.05 561.697 -imu_odom_: 1691062477.953876560 0.114922 -0.361524 9.93594 -0.0490022 -0.00745685 0.036219 0.18 -0.02 pose: 0.50000470 4.17622 -3.91078 0 -0.0008616190.00181319 0.997669 -0.068206 uwb: 0.0 1209.05 561.697 -imu_odom_: 1691062477.979877983 0.325611 -0.320823 10.0413 -0.0596548 -0.0181095 0.056459 0.2 -0.02 pose: 0.0 4.17622 -3.91078 0 -0.0008616190.00181319 0.997669 -0.068206 uwb: 0.0 1209.05 561.697 -imu_odom_: 1691062478.5896613 0.553061 0.181959 10.0724 -0.0308927 -0.0223706 0.04048 0.2 0.02 pose: 0.23092933 4.17357 -3.91128 0 -0.00220799 0.000179431 0.997667 -0.0682341 uwb: 0.0 1209.05 561.697 -imu_odom_: 1691062478.29870005 0.620098 -0.0263362 10.1562 -0.0713727 -0.0266316 0.056459 0.2 0.02 pose: 0.0 4.17357 -3.91128 0 -0.00220799 0.000179431 0.997667 -0.0682341 uwb: 0.0 1209.05 561.697 -imu_odom_: 1691062478.45931592 0.483629 -0.356736 9.45949 -0.0468716 0.0170442 0.0330232 0.19 0 pose: 0.51958812 4.16374 -3.91312 0 -0.0006826210.00144654 0.997652 -0.068465 uwb: 0.99622116 1210.64 563.292 -imu_odom_: 1691062478.72868011 0.248997 -0.201113 9.68215 -0.0905475 -0.00213053 0.0607201 0.19 0 pose: 0.0 4.16374 -3.91312 0 -0.0006826210.00144654 0.997652 -0.068465 uwb: 0.0 1210.64 563.292 -imu_odom_: 1691062478.98872651 0.521936 -0.378284 10.0197 -0.0458064 -0.052198 0.0319579 0.19 0.02 pose: 0.32993125 4.15852 -3.9141 0 0.00128292 0.000944937 0.997646 -0.0685609 uwb: 0.50045693 1209.89 563.87 -imu_odom_: 1691062478.124870293 0.517148 -0.0143652 9.78989 -0.0607201 0 0.0415453 0.19 0.02 pose: 0.7950594 4.15391 -3.91496 0 0.000491496 0.000737633 0.997641 -0.068644 uwb: 0.0 1209.89 563.87 -imu_odom_: 1691062478.149865871 0 -0.172383 10.0533 -0.0703074 0.0266316 0.0617853 0.19 0.02 pose: 0.0 4.15391 -3.91496 0 0.000491496 0.000737633 0.997641 -0.068644 uwb: 0.50062024 1208.75 564.288 -imu_odom_: 1691062478.165874380 0.201113 -0.0502782 9.7875 -0.0649811 -0.0607201 0.0617853 0.19 0.02 pose: 0.52052734 4.14224 -3.90698 0 0.00125485 -0.0007963620.997633 -0.0687466 uwb: 0.0 1208.75 564.288 -imu_odom_: 1691062478.191944347 0.610521 -0.294487 10.1035 -0.0543285 -0.0191748 0.0340885 0.21 -0.02 pose: 0.0 4.14224 -3.90698 0 0.00125485 -0.0007963620.997633 -0.0687466 uwb: 0.50130267 1210.72 566.021 -imu_odom_: 1691062478.217994774 0.694318 -0.105345 10.0389 -0.0415453 -0.0266316 0.0298274 0.24 0 pose: 0.50932851 4.13241 -3.90883 0 -0.00142087 0.00109083 0.997607 -0.0691142 uwb: 0.0 1210.72 566.021 -imu_odom_: 1691062478.242863199 0.663194 -0.198719 10.4315 -0.0596548 0.0223706 0.0511327 0.24 0 pose: 0.0 4.13241 -3.90883 0 -0.00142087 0.00109083 0.997607 -0.0691142 uwb: 0.49865169 1211.93 567.393 -imu_odom_: 1691062478.268845675 0.225055 -0.0957681 9.20092 -0.0319579 0.0490022 0.0298274 0.22 0 pose: 0.42013732 4.12258 -3.91069 0 0.00143804 0.000998888 0.997607 -0.0691106 uwb: 0.0 1211.93 567.393 -imu_odom_: 1691062478.284850976 0.134075 -0.270545 9.99579 -0.0713727 -0.036219 0.0628506 0.22 0 pose: 0.0 4.12258 -3.91069 0 0.00143804 0.000998888 0.997607 -0.0691106 uwb: 0.0 1211.93 567.393 -imu_odom_: 1691062478.311128296 0.567426 -0.344765 9.7875 -0.0458064 0.0106526 0.0276969 0.24 0 pose: 0.51991783 4.11276 -3.91255 0 0.00456623 0.00203535 0.997595 -0.0691255 uwb: 0.0 1211.93 567.393 -imu_odom_: 1691062478.335980972 0.821211 -0.11971 9.4571 -0.0798948 -0.0213053 0.0607201 0.24 0 pose: 0.42107639 4.11276 -3.91255 0 0.00161635 0.00139715 0.997603 -0.069171 uwb: 0.100134839 1213.02 568.979 -imu_odom_: 1691062478.352835519 0.636858 -0.117316 9.91918 -0.0660464 0.00745685 0.04048 0.21 0.02 pose: 0.43000047 4.10293 -3.91441 0 0.00532944 0.000669599 0.99758 -0.0693264 uwb: 0.0 1213.02 568.979 -imu_odom_: 1691062478.378826744 0.287304 -0.100556 10.0724 -0.0692422 -0.0234358 0.0511327 0.21 0.02 pose: 0.0 4.10293 -3.91441 0 0.00532944 0.000669599 0.99758 -0.0693264 uwb: 0.0 1213.02 568.979 -imu_odom_: 1691062478.403854110 0.385466 -0.0622492 10.228 -0.0458064 0.00106526 0.0383495 0.25 0 pose: 0.8008921 4.10293 -3.91441 0 0.00590509 0.00113242 0.997576 -0.0693272 uwb: 0.49869252 1214.48 570.755 -imu_odom_: 1691062478.425830085 0.40462 -0.416591 9.81144 -0.0969391 -0.0117179 0.0692422 0.25 0 pose: 0.0 4.10293 -3.91441 0 0.00590509 0.00113242 0.997576 -0.0693272 uwb: 0.0 1214.48 570.755 -imu_odom_: 1691062478.442841531 0.56982 -0.275333 9.34217 -0.0532632 0.0575243 0.0415453 0.19 0 pose: 0.41843708 4.09311 -3.91627 0 0.00376807 0.0027067 0.997574 -0.0694611 uwb: 0.49968409 1213.1 570.72 -imu_odom_: 1691062478.467831568 0.0263362 -0.0861913 9.60075 -0.0575243 0.0234358 0.052198 0.19 0 pose: 0.0 4.09311 -3.91627 0 0.00376807 0.0027067 0.997574 -0.0694611 uwb: 0.0 1213.1 570.72 -imu_odom_: 1691062478.491833833 -0.339977 -0.0933739 9.74679 -0.0127832 0.0308927 0.0308927 0.19 0 pose: 0.47024048 4.08328 -3.91813 0 0.00265533 0.00101355 0.997558 -0.0697795 uwb: 0.50001947 1215.06 572.41 -imu_odom_: 1691062478.515828515 -0.225055 -0.0622492 9.74679 -0.0458064 -0.0106526 0.0543285 0.19 0 pose: 0.0 4.08328 -3.91813 0 0.00265533 0.00101355 0.997558 -0.0697795 uwb: 0.0 1215.06 572.41 -imu_odom_: 1691062478.532879041 0.54109 -0.289698 9.19134 -0.0458064 0.118244 0.0553937 0.21 0.02 pose: 0.41028876 4.07346 -3.92 0 -0.0002978180.00111999 0.997552 -0.0699199 uwb: 0.0 1215.06 572.41 -imu_odom_: 1691062478.558851309 0.328006 -0.251391 10.0652 -0.0511327 0.0234358 0.0468716 0.21 0.02 pose: 0.0 4.07346 -3.92 0 -0.0002978180.00111999 0.997552 -0.0699199 uwb: 0.49883251 1210.48 571.314 -imu_odom_: 1691062478.583888883 0.627281 0.0143652 9.88087 -0.0276969 -0.0276969 0.0426106 0.18 0 pose: 0.24942500 4.07346 -3.92 0 -0.00310367 0.00172457 0.997548 -0.069891 uwb: 0.50114227 1209.43 571.559 -imu_odom_: 1691062478.608833425 0.986411 -0.191536 9.58399 -0.0607201 -0.0149137 0.0426106 0.18 0 pose: 0.41073788 4.06363 -3.92187 0 -0.00420785 0.000659222 0.997526 -0.0701727 uwb: 0.0 1209.43 571.559 -imu_odom_: 1691062478.623820331 0.488417 -0.533907 9.50737 -0.0553937 0.0553937 0.0383495 0.18 0 pose: 0.0 4.06363 -3.92187 0 -0.00420785 0.000659222 0.997526 -0.0701727 uwb: 0.0 1209.43 571.559 -imu_odom_: 1691062478.647934001 0.560243 -0.215478 9.70131 -0.0649811 -0.0181095 0.0500674 0.18 0 pose: 0.49931955 4.05381 -3.92375 0 -0.00142001 0.000911235 0.997525 -0.070286 uwb: 0.50002822 1212.07 573.726 -imu_odom_: 1691062478.673986178 0.148441 -0.184354 10.4004 -0.0458064 0.0287621 0.0415453 0.19 0 pose: 0.0 4.05381 -3.92375 0 -0.00142001 0.000911235 0.997525 -0.070286 uwb: 0.0 1212.07 573.726 -imu_odom_: 1691062478.699827502 0.497994 -0.347159 9.81862 -0.0671117 -0.0106526 0.0543285 0.25 0.02 pose: 0.40983964 4.04399 -3.92563 0 0.00130005 -0.0003987430.997522 -0.0703455 uwb: 0.0 1212.07 573.726 -imu_odom_: 1691062478.725913801 0.440533 -0.102951 10.1394 -0.0383495 -0.0298274 0.0383495 0.25 0.02 pose: 0.0 4.04399 -3.92563 0 0.00130005 -0.0003987430.997522 -0.0703455 uwb: 0.0 1212.07 573.726 -imu_odom_: 1691062478.742890251 0.435745 -0.141258 9.79228 -0.052198 -0.0553937 0.0458064 0.23 0 pose: 0.50205509 4.03417 -3.92751 0 0.000553871 -0.0006018690.997511 -0.0705119 uwb: 0.99974147 1212.31 575.106 -imu_odom_: 1691062478.758808061 0.766145 -0.411803 9.50498 -0.0330232 0.02024 0.0319579 0.23 0 pose: 0.0 4.03417 -3.92751 0 0.000553871 -0.0006018690.997511 -0.0705119 uwb: 0.0 1212.31 575.106 -imu_odom_: 1691062478.784869279 0.469264 -0.172383 9.79947 -0.0543285 -0.0170442 0.0575243 0.25 0.02 pose: 0.51801344 4.02435 -3.9294 0 0.00206436 0.00138855 0.997498 -0.0706507 uwb: 0.49947119 1211.55 575.699 -imu_odom_: 1691062478.810803051 0.804452 -0.059855 10.4076 -0.0500674 -0.0479369 0.0511327 0.25 0.02 pose: 0.0 4.02435 -3.9294 0 0.00206436 0.00138855 0.997498 -0.0706507 uwb: 0.0 1211.55 575.699 -imu_odom_: 1691062478.827948651 0.225055 -0.308852 9.82102 -0.0575243 0.0351537 0.052198 0.23 0 pose: 0.34052932 4.02435 -3.9294 0 0.00330181 0.00252916 0.997489 -0.0706942 uwb: 0.0 1211.55 575.699 -imu_odom_: 1691062478.853800765 0.45011 -0.0957681 10.1442 -0.0436758 -0.0287621 0.052198 0.23 0 pose: 0.0 4.02435 -3.9294 0 0.00330181 0.00252916 0.997489 -0.0706942 uwb: 0.50072815 1212.26 577.052 -imu_odom_: 1691062478.870790631 0.624887 -0.299275 9.47625 -0.0777643 0.0106526 0.0585895 0.25 0.02 pose: 0.50928767 4.01453 -3.93128 0 0.00572231 0.00476312 0.997445 -0.0710478 uwb: 0.0 1212.26 577.052 -imu_odom_: 1691062478.896783606 0.0383072 -0.117316 9.49062 -0.0319579 0.0436758 0.0394148 0.25 0.02 pose: 0.0 4.01453 -3.93128 0 0.00572231 0.00476312 0.997445 -0.0710478 uwb: 0.49842130 1214.85 579.235 -imu_odom_: 1691062478.921850635 0.222661 -0.19393 9.87848 -0.0671117 -0.0181095 0.0490022 0.24 0 pose: 0.43002381 4.00471 -3.93318 0 0.00331609 0.00521693 0.997434 -0.0713298 uwb: 0.0 1214.85 579.235 -imu_odom_: 1691062478.936773090 0.31364 -0.134075 9.88326 -0.0468716 -0.015979 0.0298274 0.24 0 pose: 0.0 4.00471 -3.93318 0 0.00331609 0.00521693 0.997434 -0.0713298 uwb: 0.50185387 1212.24 578.913 -imu_odom_: 1691062478.963894115 0.490811 -0.241814 10.1969 -0.0703074 -0.0191748 0.0585895 0.18 0 pose: 0.42986923 3.99489 -3.93508 0 0.000110148 0.00427138 0.997435 -0.0714517 uwb: 0.0 1212.24 578.913 -imu_odom_: 1691062478.989799890 0.696713 -0.0861913 10.0126 -0.0490022 -0.0276969 0.0330232 0.18 0 pose: 0.0 3.99489 -3.93508 0 0.000110148 0.00427138 0.997435 -0.0714517 uwb: 0.49936328 1212.71 579.808 -imu_odom_: 1691062479.14927584 0.773327 -0.277727 9.88805 -0.0575243 0.0266316 0.0383495 0.23 0 pose: 0.41062123 3.98507 -3.93698 0 -0.00208557 0.00318305 0.997431 -0.0715288 uwb: 0.0 1212.71 579.808 -imu_odom_: 1691062479.29919162 -0.351948 -0.141258 9.60314 -0.0149137 0.0798948 0.0308927 0.23 0 pose: 0.0 3.98507 -3.93698 0 -0.00208557 0.00318305 0.997431 -0.0715288 uwb: 0.0 1212.71 579.808 -imu_odom_: 1691062479.56923834 0.102951 -0.438139 9.2895 -0.0713727 0.0149137 0.0447411 0.18 0.02 pose: 0.51966993 3.97526 -3.93889 0 0.00295528 0.00281827 0.997423 -0.0716302 uwb: 0.49981544 1209.07 578.824 -imu_odom_: 1691062479.81908922 0.186748 -0.179565 10.0963 -0.0458064 -0.0117179 0.0458064 0.18 0.02 pose: 0.40995059 3.96544 -3.94079 0 0.00160578 0.0018901 0.997432 -0.0715812 uwb: 0.0 1209.07 578.824 -imu_odom_: 1691062479.107964317 0.222661 -0.19393 9.90721 -0.0468716 -0.00319579 0.0383495 0.21 0 pose: 0.44088159 3.95729 -3.93529 0 -0.00240567 0.000697327 0.997423 -0.0717062 uwb: 0.50069333 1210.9 580.681 -imu_odom_: 1691062479.133755489 0.208296 -0.105345 9.95509 -0.0841559 0.015979 0.056459 0.19 -0.02 pose: 0.7928724 3.95372 -3.93288 0 -0.0032051 0.000695421 0.997421 -0.0717004 uwb: 0.49946846 1210.15 581.253 -imu_odom_: 1691062479.159768596 -0.141258 -0.25618 9.59117 -0.0372843 -0.00213053 0.00958738 0.19 -0.02 pose: 0.0 3.95372 -3.93288 0 -0.0032051 0.000695421 0.997421 -0.0717004 uwb: 0.0 1210.15 581.253 -imu_odom_: 1691062479.176752052 0.452504 -0.332794 9.89045 -0.072438 -0.0447411 0.0426106 0.19 0 pose: 0.25158320 3.95372 -3.93288 0 -0.0056485 0.00102122 0.997406 -0.0717485 uwb: 0.0 1210.15 581.253 -imu_odom_: 1691062479.202918852 0.890643 -0.328006 9.51695 -0.04048 0.0266316 0.0308927 0.19 0 pose: 0.0 3.95372 -3.93288 0 -0.0056485 0.00102122 0.997406 -0.0717485 uwb: 0.49897560 1211.25 582.703 -imu_odom_: 1691062479.228850009 1.08697 -0.100556 9.55047 -0.0777643 -0.0191748 0.0575243 0.19 0 pose: 0.52784762 3.9439 -3.93479 0 -0.0089728 0.000953381 0.997398 -0.0715198 uwb: 0.0 1211.25 582.703 -imu_odom_: 1691062479.254792832 0.25618 -0.134075 10.1945 -0.0426106 0.0245011 0.0255663 0.19 0 pose: 0.0 3.9439 -3.93479 0 -0.0089728 0.000953381 0.997398 -0.0715198 uwb: 0.49961428 1212.72 584.32 -imu_odom_: 1691062479.271743625 0.562637 -0.174777 9.55047 -0.0660464 -0.0266316 0.052198 0.19 0 pose: 0.43047016 3.93408 -3.9367 0 -0.00498343 0.000334987 0.997429 -0.0714887 uwb: 0.0 1212.72 584.32 -imu_odom_: 1691062479.297787937 0.0287304 0.011971 9.95748 -0.0468716 0.0245011 0.0298274 0.19 0 pose: 0.0 3.93408 -3.9367 0 -0.00498343 0.000334987 0.997429 -0.0714887 uwb: 0.50018005 1210.83 584.439 -imu_odom_: 1691062479.322718198 0.395043 -0.373495 9.43076 -0.0553937 -0.0170442 0.0276969 0.17 0 pose: 0.51920059 3.92427 -3.9386 0 -0.00473072 0.00206867 0.997425 -0.0715271 uwb: 0.0 1210.83 584.439 -imu_odom_: 1691062479.348726056 0.191536 -0.0814029 9.93115 -0.052198 0.0639159 0.0468716 0.17 0 pose: 0.0 3.92427 -3.9386 0 -0.00473072 0.00206867 0.997425 -0.0715271 uwb: 0.49965219 1211.14 585.624 -imu_odom_: 1691062479.365849498 0.557849 -0.395043 9.96946 -0.0532632 -0.0330232 0.0511327 0.2 -0.02 pose: 0.42087532 3.91445 -3.9405 0 -0.00605156 0.00270818 0.997425 -0.0714138 uwb: 0.0 1211.14 585.624 -imu_odom_: 1691062479.391730494 0.565032 0.117316 10.24 -0.0543285 -0.0106526 0.0426106 0.2 -0.02 pose: 0.0 3.91445 -3.9405 0 -0.00605156 0.00270818 0.997425 -0.0714138 uwb: 0.50116287 1211.15 586.499 -imu_odom_: 1691062479.417746809 0.632069 -0.143652 10.3621 -0.0532632 0.00745685 0.036219 0.21 0 pose: 0.51921226 3.90463 -3.9424 0 -0.00722085 0.00230077 0.997416 -0.0714452 uwb: 0.0 1211.15 586.499 -imu_odom_: 1691062479.443810370 0.361524 -0.328006 9.42118 -0.0777643 0.0276969 0.0458064 0.21 0.02 pose: 0.41988667 3.89482 -3.94431 0 -0.0039016 0.00380474 0.997423 -0.0715414 uwb: 0.50008673 1210.92 586.938 -imu_odom_: 1691062479.469893470 0.244209 -0.304064 9.50498 -0.036219 0.056459 0.02024 0.19 -0.02 pose: 0.26002609 3.89482 -3.94431 0 -0.00219849 0.00308925 0.997431 -0.0715388 uwb: 0.0 1210.92 586.938 -imu_odom_: 1691062479.486753855 0.440533 -0.198719 10.1682 -0.0703074 0.0181095 0.0532632 0.19 -0.02 pose: 0.26048978 3.885 -3.94621 0 -0.0031106 0.000480543 0.997434 -0.071527 uwb: 0.50023547 1212.29 588.699 -imu_odom_: 1691062479.511789980 0.45011 -0.316035 9.47146 -0.0500674 0.0543285 0.0415453 0.23 0 pose: 0.0 3.885 -3.94621 0 -0.0031106 0.000480543 0.997434 -0.071527 uwb: 0.0 1212.29 588.699 -imu_odom_: 1691062479.537969028 -0.191536 -0.0335188 9.81623 -0.0585895 0.0191748 0.052198 0.23 0.02 pose: 0.60993165 3.87824 -3.94752 0 -0.00224011 -0.00199075 0.997438 -0.0714726 uwb: 0.49808318 1211.25 588.955 -imu_odom_: 1691062479.563713538 0.00957681 -0.189142 9.60793 -0.0298274 -0.00426106 0.0298274 0.23 0.02 pose: 0.0 3.87824 -3.94752 0 -0.00224011 -0.00199075 0.997438 -0.0714726 uwb: 0.0 1211.25 588.955 -imu_odom_: 1691062479.589712647 0.0933739 -0.227449 9.29908 -0.0490022 0.00426106 0.0426106 0.23 0 pose: 0.8089123 3.87518 -3.94811 0 -0.0031055 -0.00176791 0.997432 -0.0715253 uwb: 0.50009548 1213.51 590.732 -imu_odom_: 1691062479.606701061 0.366313 0.102951 10.2568 -0.0255663 -0.0245011 0.0447411 0.23 0 pose: 0.0 3.87518 -3.94811 0 -0.0031055 -0.00176791 0.997432 -0.0715253 uwb: 0.0 1213.51 590.732 -imu_odom_: 1691062479.623778715 0.531513 -0.445322 9.62948 -0.0660464 -0.0223706 0.0607201 0.23 0 pose: 0.50844795 3.86536 -3.95002 0 -0.0083594 -0.00082578 0.997403 -0.0715289 uwb: 0.0 1213.51 590.732 -imu_odom_: 1691062479.639775856 0.21069 -0.337582 10.4052 -0.0458064 -0.00106526 0.0426106 0.23 0 pose: 0.0 3.86536 -3.95002 0 -0.0083594 -0.00082578 0.997403 -0.0715289 uwb: 0.50061168 1213.68 592.146 -imu_odom_: 1691062479.656768645 0.270545 0.0454898 10.2232 -0.0468716 -0.0106526 0.0383495 0.23 0 pose: 0.0 3.86536 -3.95002 0 -0.0083594 -0.00082578 0.997403 -0.0715289 uwb: 0.0 1213.68 592.146 -imu_odom_: 1691062479.673756183 0.378284 -0.146046 9.53132 -0.0692422 -0.0394148 0.052198 0.18 0.02 pose: 0.42986940 3.85555 -3.95192 0 -0.00884726 0.000365606 0.997388 -0.0716836 uwb: 0.0 1213.68 592.146 -imu_odom_: 1691062479.689698205 0.864307 -0.160412 10.2687 -0.0671117 -0.0426106 0.0340885 0.18 0.02 pose: 0.0 3.85555 -3.95192 0 -0.00884726 0.000365606 0.997388 -0.0716836 uwb: 0.50095289 1213.61 593.144 -imu_odom_: 1691062479.705697387 0.512359 -0.201113 9.64624 -0.0660464 0.0106526 0.0351537 0.18 0.02 pose: 0.0 3.85555 -3.95192 0 -0.00884726 0.000365606 0.997388 -0.0716836 uwb: 0.0 1213.61 593.144 -imu_odom_: 1691062479.721697153 0.490811 -0.146046 10.0269 -0.0628506 -0.076699 0.0447411 0.18 0.02 pose: 0.51006361 3.84573 -3.95383 0 -0.00722766 0.000332323 0.997389 -0.0718535 uwb: 0.0 1213.61 593.144 -imu_odom_: 1691062479.737709459 1.09176 -0.160412 9.41161 -0.0511327 0.0191748 0.0276969 0.21 0 pose: 0.0 3.84573 -3.95383 0 -0.00722766 0.000332323 0.997389 -0.0718535 uwb: 0.50003132 1214.06 593.996 -imu_odom_: 1691062479.753759678 0.471658 -0.31364 9.34936 -0.0777643 0.00639159 0.0553937 0.21 0 pose: 0.63984773 3.83592 -3.95574 0 -0.0002171750.00148208 0.997415 -0.071845 uwb: 0.0 1214.06 593.996 -imu_odom_: 1691062479.770748966 0.440533 -0.248997 10.1562 -0.0596548 -0.0649811 0.0468716 0.22 0 pose: 0.0 3.83592 -3.95574 0 -0.0002171750.00148208 0.997415 -0.071845 uwb: 0.0 1214.06 593.996 -imu_odom_: 1691062479.786690988 0.294487 0.00718261 10.1155 -0.0276969 -0.00213053 0.0308927 0.22 0 pose: 0.0 3.83592 -3.95574 0 -0.0002171750.00148208 0.997415 -0.071845 uwb: 0.49989716 1214.7 595.368 -imu_odom_: 1691062479.803686401 0.42138 -0.399832 9.79468 -0.0532632 -0.0319579 0.0468716 0.22 0 pose: 0.32052609 3.83592 -3.95574 0 0.00175852 -0.0006464490.997407 -0.0719479 uwb: 0.0 1214.7 595.368 -imu_odom_: 1691062479.819721163 0.349553 -0.289698 10.003 -0.0255663 0.00213053 0.0287621 0.18 0 pose: 0.42931820 3.8261 -3.95765 0 0.0017814 -0.00169839 0.997403 -0.0719793 uwb: 0.0 1214.7 595.368 -imu_odom_: 1691062479.836697328 0.519542 -0.342371 9.75637 -0.0490022 -0.0479369 0.0447411 0.18 0 pose: 0.7068396 3.8261 -3.95765 0 0.00112993 -0.00193209 0.997406 -0.071943 uwb: 0.49817651 1216.1 596.992 -imu_odom_: 1691062479.853682242 0.486023 -0.19393 9.69652 -0.0543285 -0.0255663 0.0511327 0.18 0 pose: 0.0 3.8261 -3.95765 0 0.00112993 -0.00193209 0.997406 -0.071943 uwb: 0.0 1216.1 596.992 -imu_odom_: 1691062479.870904548 1.35033 -0.114922 10.1227 -0.0447411 -0.0340885 0.0468716 0.18 0 pose: 0.42927445 3.81628 -3.95957 0 0.00301771 -0.00150808 0.997397 -0.0720313 uwb: 0.0 1216.1 596.992 -imu_odom_: 1691062479.887740727 0.962469 -0.28491 9.79228 -0.0500674 0.0266316 0.0948085 0.16 -0.02 pose: 0.0 3.81628 -3.95957 0 0.00301771 -0.00150808 0.997397 -0.0720313 uwb: 0.50037254 1216.33 598.239 -imu_odom_: 1691062479.904712809 1.12049 -0.339977 10.07 -0.0628506 -0.0553937 0.143811 0.16 -0.02 pose: 0.0 3.81628 -3.95957 0 0.00301771 -0.00150808 0.997397 -0.0720313 uwb: 0.0 1216.33 598.239 -imu_odom_: 1691062479.929659402 1.59933 -0.28491 9.85214 -0.0447411 0.0330232 0.0703074 0.14 -0.05 pose: 0.24075474 3.80647 -3.96148 0 0.00552783 -0.00102409 0.997369 -0.0722783 uwb: 0.0 1216.33 598.239 -imu_odom_: 1691062479.946679896 1.075 0.234632 10.0652 -0.0511327 0.0340885 0.0458064 0.14 -0.05 pose: 0.0 3.80647 -3.96148 0 0.00552783 -0.00102409 0.997369 -0.0722783 uwb: 0.49977467 1218.35 600.352 -imu_odom_: 1691062479.963712638 0.725443 -0.289698 9.67736 -0.0713727 0.0479369 0.0798948 0.11 0.08 pose: 0.33960496 3.80647 -3.96148 0 0.00906524 -0.00116262 0.997251 -0.0735382 uwb: 0.0 1218.35 600.352 -imu_odom_: 1691062479.980659639 0.94571 -0.507571 9.88805 -0.0532632 -0.0106526 0.115049 0.11 0.08 pose: 0.42018414 3.79666 -3.96343 0 0.0117231 -8.87869e-050.99719 -0.0739911 uwb: 0.0 1218.35 600.352 -imu_odom_: 1691062479.996658822 1.13485 -0.37589 9.80904 -0.0394148 -0.00426106 0.14168 0.11 0.08 pose: 0.0 3.79666 -3.96343 0 0.0117231 -8.87869e-050.99719 -0.0739911 uwb: 0.49962595 1219.36 601.817 -imu_odom_: 1691062480.13662404 0.383072 -0.0622492 9.68933 -0.0479369 0.0777643 0.237554 0.11 0.32 pose: 0.42922196 3.79666 -3.96343 0 0.0153378 -0.00177295 0.997014 -0.0756586 uwb: 0.0 1219.36 601.817 -imu_odom_: 1691062480.30656948 0.1652 -0.632069 9.8689 -0.0671117 -0.0298274 0.396278 0.11 0.32 pose: 0.0 3.79666 -3.96343 0 0.0153378 -0.00177295 0.997014 -0.0756586 uwb: 0.0 1219.36 601.817 -imu_odom_: 1691062480.47708070 0.509965 -0.696713 9.87129 -0.0447411 -0.0266316 0.412257 0.11 0.32 pose: 0.0 3.79666 -3.96343 0 0.0153378 -0.00177295 0.997014 -0.0756586 uwb: 0.50130588 1222.19 604.062 -imu_odom_: 1691062480.63692968 1.1564 -0.153229 10.3166 -0.0170442 -0.0223706 0.415453 0.07 0.35 pose: 0.7018234 3.79666 -3.96343 0 0.0144373 -0.00143327 0.996976 -0.0763476 uwb: 0.0 1222.19 604.062 -imu_odom_: 1691062480.80731549 0.85473 0.0981623 9.77553 -0.0585895 0.0276969 0.487891 0.09 0.55 pose: 0.0 3.79666 -3.96343 0 0.0144373 -0.00143327 0.996976 -0.0763476 uwb: 0.0 1222.19 604.062 -imu_odom_: 1691062480.97657851 0.718261 -0.531513 9.91439 -0.072438 0.0117179 0.502805 0.09 0.55 pose: 0.67122806 3.78684 -3.96533 0 0.0136713 -0.00231639 0.996014 -0.0881134 uwb: 0.50054478 1220.82 604.076 -imu_odom_: 1691062480.112660516 0.483629 -0.356736 9.81144 -0.04048 0.00213053 0.488956 0.09 0.55 pose: 0.0 3.78684 -3.96533 0 0.0136713 -0.00231639 0.996014 -0.0881134 uwb: 0.0 1220.82 604.076 -imu_odom_: 1691062480.128717157 0.526724 -0.241814 10.1347 -0.0458064 0.00213053 0.534763 0.06 0.44 pose: 0.0 3.78684 -3.96533 0 0.0136713 -0.00231639 0.996014 -0.0881134 uwb: 0.0 1220.82 604.076 -imu_odom_: 1691062480.143708740 0.720655 -0.294487 9.79947 -0.0628506 -0.015979 0.586961 0.06 0.44 pose: 0.34053249 3.78684 -3.96533 0 0.0134879 -0.00352665 0.995298 -0.0958546 uwb: 0.49812128 1221.14 605.119 -imu_odom_: 1691062480.159654559 0.76375 -0.301669 9.68455 -0.0436758 0 0.588026 0.04 0.5 pose: 0.38855629 3.78679 -3.96529 0 0.0127659 -0.00299411 0.994318 -0.105635 uwb: 0.0 1221.14 605.119 -imu_odom_: 1691062480.175764861 0.584185 -0.112527 9.7875 -0.0532632 0.0266316 0.604005 0.04 0.5 pose: 0.0 3.78679 -3.96529 0 0.0127659 -0.00299411 0.994318 -0.105635 uwb: 0.0 1221.14 605.119 -imu_odom_: 1691062480.193648897 0.600945 -0.263362 10.0126 -0.052198 0.0181095 0.632767 0.04 0.5 pose: 0.0 3.78679 -3.96529 0 0.0127659 -0.00299411 0.994318 -0.105635 uwb: 0.50097349 1219.75 605.178 -imu_odom_: 1691062480.209698830 0.325611 -0.40462 9.93354 -0.0660464 0.00532632 0.627441 0.04 0.55 pose: 0.7065191 3.78684 -3.96533 0 0.0134452 -0.00292884 0.994104 -0.107558 uwb: 0.0 1219.75 605.178 -imu_odom_: 1691062480.226640880 0.447716 -0.0742203 9.5792 -0.0458064 -0.00426106 0.576308 0.06 0.67 pose: 0.0 3.78684 -3.96533 0 0.0134452 -0.00292884 0.994104 -0.107558 uwb: 0.0 1219.75 605.178 -imu_odom_: 1691062480.242754973 0.584185 0.071826 9.93115 -0.0511327 0.015979 0.525175 0.06 0.67 pose: 0.0 3.78684 -3.96533 0 0.0134452 -0.00292884 0.994104 -0.116835 uwb: 0.0 1219.75 605.178 -imu_odom_: 1691062480.259697606 0.816423 -0.0766145 9.93354 -0.056459 -0.0127832 0.491087 0.05 0.61 pose: 0.32883203 3.77703 -3.96724 0 0.00931174 -0.00190585 0.991948 -0.126288 uwb: 0.0 1219.75 605.178 -imu_odom_: 1691062480.275692419 0.684742 -0.337582 9.85693 -0.052198 -0.00426106 0.439954 0.05 0.61 pose: 0.0 3.77703 -3.96724 0 0.00931174 -0.00190585 0.991948 -0.126288 uwb: 0.0 1219.75 605.178 -imu_odom_: 1691062480.293754062 0.634463 -0.0790087 9.90481 -0.0479369 0.0170442 0.398409 0.05 0.61 pose: 0.34054998 3.77703 -3.96724 0 0.0090142 0.000956916 0.990861 -0.134582 uwb: 0.99998426 1220.41 606.431 -imu_odom_: 1691062480.308621700 0.466869 -0.0454898 9.83059 -0.0607201 0.015979 0.398409 0.05 0.53 pose: 0.33052060 3.77703 -3.96724 0 0.0107512 0.00114046 0.989923 -0.141195 uwb: 0.0 1220.41 606.431 -imu_odom_: 1691062480.325731732 0.447716 -0.21069 9.94312 -0.0628506 0.00852212 0.381365 0.05 0.53 pose: 0.0 3.77703 -3.96724 0 0.0107512 0.00114046 0.989923 -0.141195 uwb: 0.0 1220.41 606.431 -imu_odom_: 1691062480.341670552 0.493206 -0.181959 9.81862 -0.0468716 -0.00319579 0.343015 0.05 0.53 pose: 0.0 3.77703 -3.96724 0 0.0107512 0.00114046 0.989923 -0.141195 uwb: 0.49984777 1221.97 607.663 -imu_odom_: 1691062480.358612601 0.588974 -0.158017 9.83777 -0.0447411 -0.0106526 0.320645 0.02 0.29 pose: 0.49974278 3.77703 -3.96724 0 0.00681526 0.00235341 0.988708 -0.149682 uwb: 0.0 1221.97 607.663 -imu_odom_: 1691062480.374725528 0.565032 -0.146046 9.90002 -0.052198 -0.00319579 0.313188 0.02 0.29 pose: 0.0 3.77703 -3.96724 0 0.00681526 0.00235341 0.988708 -0.149682 uwb: 0.0 1221.97 607.663 -imu_odom_: 1691062480.391613916 0.562637 -0.220267 9.92397 -0.052198 0 0.300405 0.03 0.32 pose: 0.40994493 3.77698 -3.9672 0 0.00766425 0.00499787 0.987811 -0.155387 uwb: 0.49957072 1222.06 608.306 -imu_odom_: 1691062480.407665307 0.562637 -0.186748 9.84256 -0.052198 -0.00532632 0.280165 0.03 0.32 pose: 0.0 3.77698 -3.9672 0 0.00766425 0.00499787 0.987811 -0.155387 uwb: 0.0 1222.06 608.306 -imu_odom_: 1691062480.424623980 0.529119 -0.124498 9.83538 -0.052198 0.00319579 0.264186 0.03 0.32 pose: 0.0 3.77698 -3.9672 0 0.00766425 0.00499787 0.987811 -0.155387 uwb: 0.0 1222.06 608.306 -imu_odom_: 1691062480.449619577 0.521936 -0.234632 9.92875 -0.056459 -0.00213053 0.254598 0.01 0.2 pose: 0.7947391 3.77703 -3.96724 0 0.00773223 0.00420851 0.987652 -0.156418 uwb: 0.50056519 1221.78 608.797 -imu_odom_: 1691062480.466611496 0.296881 -0.196325 9.97664 -0.0543285 0.0340885 0.235423 0.02 0.23 pose: 0.0 3.77703 -3.96724 0 0.00773223 0.00420851 0.987652 -0.156418 uwb: 0.0 1221.78 608.797 -imu_odom_: 1691062480.482686218 -0.723049 -0.148441 9.79468 -0.0660464 0.1012 0.218379 0.02 0.23 pose: 0.73952354 3.77703 -3.96724 0 0.00552146 0.000683634 0.986327 -0.164709 uwb: 0.0 1221.78 608.797 -imu_odom_: 1691062480.499610187 -1.49638 -0.0622492 10.0724 -0.0703074 0.0181095 0.223706 0.02 0.23 pose: 0.0 3.77703 -3.96724 0 0.00552146 0.000683634 0.986327 -0.164709 uwb: 0.50062644 1221.56 609.186 -imu_odom_: 1691062480.516612022 -0.739808 -0.45011 9.84256 -0.0532632 -0.0830906 0.207727 0.06 0.2 pose: 0.34000171 3.77703 -3.96724 0 0.00104819 3.90936e-05 0.985818 -0.167812 uwb: 0.0 1221.56 609.186 -imu_odom_: 1691062480.533726137 0.220267 -0.189142 9.88087 -0.0500674 -0.0681769 0.183225 0.06 0.2 pose: 0.0 3.77703 -3.96724 0 0.00104819 3.90936e-05 0.985818 -0.167812 uwb: 0.49796380 1221.75 609.645 -imu_odom_: 1691062480.549761780 0.555455 0.0694318 10.0413 -0.0479369 -0.0415453 0.20027 0.09 0.14 pose: 0.43100693 3.76717 -3.96915 0 -0.00204665 -0.0004104160.985226 -0.171249 uwb: 0.0 1221.75 609.645 -imu_odom_: 1691062480.567682854 0.272939 -0.371101 9.8258 -0.0745685 -0.00106526 0.186421 0.09 0.14 pose: 0.0 3.76717 -3.96915 0 -0.00204665 -0.0004104160.985226 -0.171249 uwb: 0.0 1221.75 609.645 -imu_odom_: 1691062480.583677084 -0.0766145 -0.237026 10.0461 -0.0628506 0.0181095 0.154463 0.09 0.14 pose: 0.0 3.76717 -3.96915 0 -0.00204665 -0.0004104160.985226 -0.171249 uwb: 0.50105515 1224.31 611.487 -imu_odom_: 1691062480.598751201 -0.174777 -0.100556 9.77074 -0.0660464 0.00639159 0.150202 0.1 0.11 pose: 0.8046256 3.76722 -3.96919 0 -0.00157207 0.000380443 0.985115 -0.171887 uwb: 0.0 1224.31 611.487 -imu_odom_: 1691062480.615877565 0.138864 -0.263362 10.1299 -0.0671117 -0.0213053 0.173638 0.1 0.08 pose: 0.0 3.76722 -3.96919 0 -0.00157207 0.000380443 0.985115 -0.171887 uwb: 0.0 1224.31 611.487 -imu_odom_: 1691062480.629662356 0.471658 -0.471658 9.81862 -0.0532632 -0.0138484 0.158724 0.1 0.08 pose: 0.56978808 3.76722 -3.96919 0 -0.00506956 -0.00109042 0.984459 -0.17554 uwb: 0.0 1224.31 611.487 -imu_odom_: 1691062480.645586593 0.488417 -0.301669 9.96227 -0.0553937 0.0213053 0.144876 0.1 0.08 pose: 0.0 3.76722 -3.96919 0 -0.00563749 -0.00142442 0.984372 -0.176003 uwb: 0.50050395 1224.26 612.354 -imu_odom_: 1691062480.660644378 0.42138 -0.428562 10.1634 -0.0639159 -0.0181095 0.160855 0.1 0.11 pose: 0.0 3.76722 -3.96919 0 -0.00563749 -0.00142442 0.984372 -0.176003 uwb: 0.0 1224.26 612.354 -imu_odom_: 1691062480.676716184 0.3304 -0.179565 9.91439 -0.0490022 -0.0319579 0.142745 0.1 0.11 pose: 0.30853702 3.75742 -3.9712 0 -0.00473822 -0.00283883 0.984046 -0.177828 uwb: 0.0 1224.26 612.354 -imu_odom_: 1691062480.691598987 0.179565 -0.117316 9.63187 -0.0532632 -0.0106526 0.144876 0.12 0.05 pose: 0.0 3.75742 -3.9712 0 -0.00473822 -0.00283883 0.984046 -0.177828 uwb: 0.49828751 1225.41 613.485 -imu_odom_: 1691062480.706589112 0.167594 -0.385466 9.52653 -0.0788296 0.0127832 0.152333 0.12 0.05 pose: 0.40083420 3.75742 -3.9712 0 -0.00297149 -0.00241608 0.983659 -0.180004 uwb: 0.0 1225.41 613.485 -imu_odom_: 1691062480.723670273 0.548272 -0.280122 9.84975 -0.0458064 -0.0298274 0.143811 0.12 0.05 pose: 0.0 3.75742 -3.9712 0 -0.00297149 -0.00241608 0.983659 -0.180004 uwb: 0.0 1225.41 613.485 -imu_odom_: 1691062480.741710918 0.859518 -0.232238 9.59596 -0.0649811 -0.0500674 0.18216 0.11 0.08 pose: 0.7070148 3.75742 -3.9712 0 -0.00356877 -0.0020573 0.98359 -0.180372 uwb: 0.50109598 1225.96 614.082 -imu_odom_: 1691062480.757585285 0.701501 -0.289698 9.64624 -0.0607201 0.00745685 0.227967 0.11 0.08 pose: 0.0 3.75742 -3.9712 0 -0.00356877 -0.0020573 0.98359 -0.180372 uwb: 0.0 1225.96 614.082 -imu_odom_: 1691062480.774639907 1.42934 -0.526724 10.1418 -0.0511327 -0.0575243 0.234358 0.11 0.08 pose: 0.0 3.75742 -3.9712 0 -0.00356877 -0.0020573 0.98359 -0.180372 uwb: 0.0 1225.96 614.082 -imu_odom_: 1691062480.791610537 1.53229 -0.158017 9.75877 -0.0415453 -0.0245011 0.15979 0.08 0.02 pose: 0.47871869 3.74762 -3.97319 0 -0.00230029 -0.00264493 0.9831 -0.183037 uwb: 0.50047479 1226.53 614.659 -imu_odom_: 1691062480.808696947 1.44849 0.28491 9.91678 -0.0500674 0.0255663 0.112918 0.11 0.08 pose: 0.0 3.74762 -3.97319 0 -0.00230029 -0.00264493 0.9831 -0.183037 uwb: 0.0 1226.53 614.659 -imu_odom_: 1691062480.826637269 0.80924 -0.0407014 9.9503 -0.0692422 0.0340885 0.0905475 0.11 0.08 pose: 0.66998570 3.73783 -3.97524 0 0.00475313 -0.00125577 0.982141 -0.188083 uwb: 0.0 1226.53 614.659 -imu_odom_: 1691062480.840586543 0.368707 -0.361524 9.84256 -0.0713727 0.00745685 0.0585895 0.07 0.05 pose: 0.0 3.73783 -3.97524 0 0.00475313 -0.00125577 0.982141 -0.188083 uwb: 0.49756425 1227.07 615.278 -imu_odom_: 1691062480.857633581 0.826 -0.418985 9.88326 -0.0468716 -0.0308927 0.0255663 0.07 0.05 pose: 0.0 3.73783 -3.97524 0 0.00475313 -0.00125577 0.982141 -0.188083 uwb: 0.0 1227.07 615.278 -imu_odom_: 1691062480.871847370 0.78051 -0.158017 9.80186 -0.0543285 -0.0127832 0.036219 0.07 0.05 pose: 0.34046540 3.73783 -3.97524 0 0.00591776 -5.81459e-050.981971 -0.188938 uwb: 0.0 1227.07 615.278 -imu_odom_: 1691062480.887645329 0.936133 -0.1652 10.0556 -0.0553937 0 0.0809601 0.05 0.05 pose: 0.39144059 3.73778 -3.9752 0 0.0084666 -0.0003095050.981966 -0.188866 uwb: 0.50256874 1227.25 615.74 -imu_odom_: 1691062480.904629957 0.529119 -0.373495 9.84017 -0.0532632 0.0149137 0.0713727 0.05 0.05 pose: 0.6867460 3.73783 -3.97524 0 0.00907882 -3.19659e-050.981935 -0.189002 uwb: 0.0 1227.25 615.74 -imu_odom_: 1691062480.921648707 0.679953 -0.0742203 10.058 -0.0468716 -0.00639159 0.0607201 0.05 0.05 pose: 0.0 3.73783 -3.97524 0 0.00907882 -3.19659e-050.981935 -0.189002 uwb: 0.0 1227.25 615.74 -imu_odom_: 1691062480.948825455 0.612916 -0.198719 9.9096 -0.0596548 0.00958738 0.0958738 0.06 0.11 pose: 0.42933877 3.73783 -3.97524 0 0.00972549 0.000386641 0.981809 -0.189622 uwb: 0.49822044 1224.91 614.338 -imu_odom_: 1691062480.974600596 -0.85473 -0.304064 9.61272 -0.0553937 0.110787 0.0830906 0.04 0.05 pose: 0.0 3.73783 -3.97524 0 0.00972549 0.000386641 0.981809 -0.189622 uwb: 0.0 1224.91 614.338 -imu_odom_: 1691062480.991586391 -1.39821 -0.0430956 10.173 -0.0532632 0.0213053 0.1012 0.04 0.05 pose: 0.35014192 3.73783 -3.97524 0 0.00903929 0.00262378 0.981639 -0.190515 uwb: 0.50078101 1223.34 613.942 -imu_odom_: 1691062481.17572682 0.0742203 -0.1652 9.75398 -0.0596548 -0.0948085 0.0617853 0.09 0.02 pose: 0.24968474 3.72804 -3.97724 0 0.00550771 0.00186504 0.98155 -0.191116 uwb: 0.0 1223.34 613.942 -imu_odom_: 1691062481.44564250 0.837971 -0.246603 9.80426 -0.0660464 -0.00532632 0.0745685 0.13 0.02 pose: 0.35941309 3.72804 -3.97724 0 0.00297352 0.00161101 0.981448 -0.191697 uwb: 0.49927044 1224.05 614.271 -imu_odom_: 1691062481.60556153 0.699107 -0.280122 9.65582 -0.0628506 0.0351537 0.0660464 0.13 0.02 pose: 0.0 3.72804 -3.97724 0 0.00297352 0.00161101 0.981448 -0.191697 uwb: 0.0 1224.05 614.271 -imu_odom_: 1691062481.77615447 0.677559 -0.0502782 9.97664 -0.0553937 -0.0415453 0.0479369 0.13 0.02 pose: 0.0 3.72804 -3.97724 0 0.00297352 0.00161101 0.981448 -0.191697 uwb: 0.0 1224.05 614.271 -imu_odom_: 1691062481.95598646 0.823605 -0.248997 9.70609 -0.0756338 -0.0351537 0.0649811 0.12 -0.05 pose: 0.7028155 3.72804 -3.97724 0 0.0036865 0.00161338 0.981422 -0.191818 uwb: 0.50096783 1223.52 614.401 -imu_odom_: 1691062481.109594587 1.86508 -0.64404 10.1945 -0.0500674 -0.0234358 -0.0351537 0.12 -0.05 pose: 0.0 3.72804 -3.97724 0 0.0036865 0.00161338 0.981422 -0.191818 uwb: 0.0 1223.52 614.401 -imu_odom_: 1691062481.126714833 1.37188 0.215478 9.67497 -0.036219 0.0127832 -0.198139 0.05 -0.26 pose: 0.44019657 3.72804 -3.97724 0 0.00750612 0.00193335 0.981286 -0.192399 uwb: 0.0 1223.52 614.401 -imu_odom_: 1691062481.140714857 1.37906 0.557849 9.94312 -0.0713727 0.0266316 -0.259925 0.05 -0.26 pose: 0.0 3.72804 -3.97724 0 0.00750612 0.00193335 0.981286 -0.192399 uwb: 0.49842185 1223.37 614.666 -imu_odom_: 1691062481.157557464 0.847547 0.196325 10.0221 -0.0671117 0.0351537 -0.337689 0.05 -0.26 pose: 0.0 3.72804 -3.97724 0 0.00750612 0.00193335 0.981286 -0.192399 uwb: 0.0 1223.37 614.666 -imu_odom_: 1691062481.171713514 0.414197 -0.311246 9.77553 -0.072438 0.0223706 -0.426106 0.04 -0.38 pose: 0.47965793 3.72029 -3.98907 0 0.0121604 0.00298439 0.981447 -0.191324 uwb: 0.0 1223.37 614.666 -imu_odom_: 1691062481.187555224 0.3304 -0.23942 9.92875 -0.0703074 -0.00745685 -0.44315 0.04 -0.38 pose: 0.0 3.72029 -3.98907 0 0.0121604 0.00298439 0.981447 -0.191324 uwb: 0.49998793 1224.97 615.786 -imu_odom_: 1691062481.204543067 0.292093 -0.251391 10.1131 -0.0649811 -0.0149137 -0.417584 0.04 -0.38 pose: 0.0 3.72029 -3.98907 0 0.0121604 0.00298439 0.981447 -0.191324 uwb: 0.0 1224.97 615.786 -imu_odom_: 1691062481.222680541 0.701501 -0.25618 10.3118 -0.0585895 -0.0426106 -0.415453 0.03 -0.44 pose: 0.47248951 3.72029 -3.98907 0 0.0129051 0.00584109 0.98292 -0.183486 uwb: 0.0 1224.97 615.786 -imu_odom_: 1691062481.238823512 0.531513 -0.275333 9.43794 -0.0553937 0.00426106 -0.421845 0.03 -0.44 pose: 0.0 3.72029 -3.98907 0 0.0129051 0.00584109 0.98292 -0.183486 uwb: 0.50116907 1225.62 616.199 -imu_odom_: 1691062481.255815730 0.289698 0.0263362 9.91199 -0.0649811 -0.0266316 -0.427171 0.03 -0.44 pose: 0.0 3.72029 -3.98907 0 0.0129051 0.00584109 0.98292 -0.183486 uwb: 0.0 1225.62 616.199 -imu_odom_: 1691062481.273755183 0.325611 -0.0790087 9.79707 -0.0681769 -0.00213053 -0.450607 0.03 -0.47 pose: 0.48873658 3.72029 -3.98907 0 0.0101995 0.00339844 0.984989 -0.172284 uwb: 0.0 1225.62 616.199 -imu_odom_: 1691062481.290697531 0.560243 -0.311246 10.0078 -0.0692422 -0.0245011 -0.462325 0.03 -0.5 pose: 0.0 3.72029 -3.98907 0 0.0101995 0.00339844 0.984989 -0.172284 uwb: 0.50000252 1225.86 616.558 -imu_odom_: 1691062481.305524053 0.746991 -0.205901 9.91439 -0.056459 0.00852212 -0.484695 0.03 -0.5 pose: 0.67951663 3.72029 -3.98907 0 0.0073381 0.00216893 0.987661 -0.156423 uwb: 0.0 1225.86 616.558 -imu_odom_: 1691062481.321527330 0.665588 -0.265756 9.82102 -0.0596548 -0.00532632 -0.479369 0.03 -0.5 pose: 0.0 3.72029 -3.98907 0 0.0073381 0.00216893 0.987661 -0.156423 uwb: 0.0 1225.86 616.558 -imu_odom_: 1691062481.338528005 0.205901 -0.325611 9.97185 -0.0660464 -0.0276969 -0.416518 0.03 -0.47 pose: 0.0 3.72029 -3.98907 0 0.0073381 0.00216893 0.987661 -0.156423 uwb: 0.49904595 1224.33 616.096 -imu_odom_: 1691062481.356595778 0.454898 -0.464475 9.94312 -0.072438 -0.00639159 -0.348341 0.03 -0.47 pose: 0.30893376 3.71051 -3.99118 0 0.00958275 0.00122746 0.988857 -0.148553 uwb: 0.0 1224.33 616.096 -imu_odom_: 1691062481.373530252 0.737414 -0.361524 9.75877 -0.0394148 -0.00852212 -0.318514 0.02 -0.38 pose: 0.45041843 3.71047 -3.99114 0 0.0085301 -0.0016247 0.990295 -0.138712 uwb: 0.0 1224.33 616.096 -imu_odom_: 1691062481.389652808 0.521936 -0.100556 9.89763 -0.0628506 -0.00852212 -0.268447 0.02 -0.38 pose: 0.0 3.71047 -3.99114 0 0.0085301 -0.0016247 0.990295 -0.138712 uwb: 0.50104658 1223.84 616.165 -imu_odom_: 1691062481.406642109 0.703895 -0.296881 9.79228 -0.0543285 0.00106526 -0.235423 0.02 -0.38 pose: 0.0 3.71047 -3.99114 0 0.0085301 -0.0016247 0.990295 -0.138712 uwb: 0.0 1223.84 616.165 -imu_odom_: 1691062481.422520857 0.459687 -0.347159 9.91678 -0.0532632 -0.00319579 -0.24075 0.02 -0.26 pose: 0.7029613 3.71052 -3.99118 0 0.00920006 -0.00179599 0.990462 -0.137466 uwb: 0.0 1223.84 616.165 -imu_odom_: 1691062481.448591144 0.59855 -0.296881 9.97424 -0.0543285 -0.0213053 -0.20027 0.03 -0.35 pose: 0.0 3.71052 -3.99118 0 0.00920006 -0.00179599 0.990462 -0.137466 uwb: 0.49795814 1223.34 616.254 -imu_odom_: 1691062481.464576339 0.517148 -0.316035 9.78989 -0.0639159 -0.00213053 -0.194943 0.03 -0.35 pose: 0.65998280 3.71052 -3.99118 0 0.0101788 -0.00247919 0.991733 -0.127889 uwb: 0.0 1223.34 616.254 -imu_odom_: 1691062481.482515501 0.471658 -0.203507 9.87608 -0.0479369 -0.00532632 -0.246076 0.02 -0.23 pose: 0.0 3.71052 -3.99118 0 0.0101788 -0.00247919 0.991733 -0.127889 uwb: 0.0 1223.34 616.254 -imu_odom_: 1691062481.499520551 0.387861 0.158017 9.88326 -0.0532632 -0.00958738 -0.308927 0.02 -0.23 pose: 0.25965589 3.71052 -3.99118 0 0.0107168 -0.00408057 0.992111 -0.124834 uwb: 0.49926468 1222.86 616.323 -imu_odom_: 1691062481.513510076 0.466869 0.0837971 9.94551 -0.0649811 -0.0223706 -0.339819 0.02 -0.35 pose: 0.0 3.71052 -3.99118 0 0.0107168 -0.00408057 0.992111 -0.124834 uwb: 0.0 1222.86 616.323 -imu_odom_: 1691062481.530507834 0.426168 -0.275333 9.82102 -0.056459 -0.00745685 -0.401605 0.02 -0.35 pose: 0.43931291 3.71047 -3.99114 0 0.00769552 -0.00141778 0.992947 -0.118297 uwb: 0.0 1222.86 616.323 -imu_odom_: 1691062481.547509092 0.521936 -0.0837971 9.90242 -0.0511327 -0.0138484 -0.441019 0.02 -0.35 pose: 0.0 3.71047 -3.99114 0 0.00769552 -0.00141778 0.992947 -0.118297 uwb: 0.50052455 1221.63 616.127 -imu_odom_: 1691062481.564556720 0.263362 -0.227449 9.81623 -0.0628506 0.00426106 -0.435693 0.02 -0.58 pose: 0.47988541 3.71047 -3.99114 0 0.00581034 0.000906951 0.994148 -0.107864 uwb: 0.0 1221.63 616.127 -imu_odom_: 1691062481.582609620 0.457293 -0.28491 9.96946 -0.0596548 -0.0266316 -0.477238 0.02 -0.58 pose: 0.0 3.71047 -3.99114 0 0.00581034 0.000906951 0.994148 -0.107864 uwb: 0.0 1221.63 616.127 -imu_odom_: 1691062481.596625101 0.54109 -0.0430956 9.8689 -0.0543285 0.00319579 -0.509196 0.02 -0.58 pose: 0.0 3.71047 -3.99114 0 0.00581034 0.000906951 0.994148 -0.107864 uwb: 0.50119239 1220.68 616.231 -imu_odom_: 1691062481.613516120 0.663194 -0.1652 10.0389 -0.0585895 -0.00958738 -0.527306 0.01 -0.53 pose: 0.41079666 3.71052 -3.99118 0 0.00393424 -0.0006026830.995221 -0.0975676 uwb: 0.0 1220.68 616.231 -imu_odom_: 1691062481.639507374 0.553061 -0.373495 9.83059 -0.0617853 -0.0106526 -0.552872 0.01 -0.55 pose: 0.0 3.71052 -3.99118 0 0.00393424 -0.0006026830.995221 -0.0975676 uwb: 0.50141113 1219.61 615.757 -imu_odom_: 1691062481.656608663 0.347159 -0.203507 9.92636 -0.0500674 0.0287621 -0.5827 0.01 -0.55 pose: 0.32043883 3.71052 -3.99118 0 0.00593901 0.000138701 0.996058 -0.0885039 uwb: 0.0 1219.61 615.757 -imu_odom_: 1691062481.672557404 -0.299275 -0.129287 9.81144 -0.0490022 0.0468716 -0.56246 0.03 -0.58 pose: 0.0 3.71052 -3.99118 0 0.00593901 0.000138701 0.996058 -0.0885039 uwb: 0.0 1219.61 615.757 -imu_odom_: 1691062481.690674464 -0.47884 -0.237026 9.89524 -0.0617853 -0.0223706 -0.578439 0.03 -0.58 pose: 0.43982619 3.71052 -3.99118 0 0.00364194 -0.00119202 0.997158 -0.0752385 uwb: 0.49849475 1219.6 615.777 -imu_odom_: 1691062481.707530779 -0.85473 -0.0335188 9.68215 -0.0436758 0.0213053 -0.577373 0.03 -0.58 pose: 0.0 3.71052 -3.99118 0 0.00364194 -0.00119202 0.997158 -0.0752385 uwb: 0.0 1219.6 615.777 -imu_odom_: 1691062481.721516804 -0.682347 -0.172383 10.1514 -0.0575243 -0.0138484 -0.450607 0.05 -0.41 pose: 0.33031365 3.70073 -3.99326 0 0.000230035 -0.00117162 0.997876 -0.065128 uwb: 0.0 1219.6 615.777 -imu_odom_: 1691062481.738608178 -0.134075 -0.830788 9.80186 -0.0862864 -0.0852212 -0.356864 0.05 -0.41 pose: 0.0 3.70073 -3.99326 0 0.000230035 -0.00117162 0.997876 -0.065128 uwb: 0.50013084 1220.11 616.446 -imu_odom_: 1691062481.752608493 0.275333 -0.392649 9.88805 -0.0607201 -0.0415453 -0.383495 0.05 -0.41 pose: 0.0 3.70073 -3.99326 0 0.000230035 -0.00117162 0.997876 -0.065128 uwb: 0.0 1220.11 616.446 -imu_odom_: 1691062481.769533634 0.474052 0.205901 10.228 -0.0383495 0.00213053 -0.380299 0.08 -0.47 pose: 0.46970146 3.70073 -3.99326 0 -0.00266719 -0.00320444 0.998532 -0.0540131 uwb: 0.0 1220.11 616.446 -imu_odom_: 1691062481.783605692 0.162806 0.0383072 9.92636 -0.0820254 -0.0191748 -0.330232 0.08 -0.47 pose: 0.0 3.70073 -3.99326 0 -0.00266719 -0.00320444 0.998532 -0.0540131 uwb: 0.49851225 1222.15 617.542 -imu_odom_: 1691062481.799489690 0.172383 -0.31364 9.9096 -0.0511327 -0.015979 -0.347276 0.09 -0.35 pose: 0.38988921 3.70068 -3.99322 0 -0.00327388 -0.00118674 0.998927 -0.0461852 uwb: 0.0 1222.15 617.542 -imu_odom_: 1691062481.814595309 0.100556 -0.428562 9.78989 -0.0255663 0.00532632 -0.354733 0.09 -0.35 pose: 0.0 3.70068 -3.99322 0 -0.00327388 -0.00118674 0.998927 -0.0461852 uwb: 0.0 1222.15 617.542 -imu_odom_: 1691062481.830591878 0.0981623 -0.169988 9.70609 -0.0490022 -0.0234358 -0.298274 0.09 -0.35 pose: 0.0 3.70068 -3.99322 0 -0.00327388 -0.00118674 0.998927 -0.0461852 uwb: 0.0 1222.15 617.542 -imu_odom_: 1691062481.847594886 0.0933739 -0.392649 10.0389 -0.0532632 -0.0479369 -0.268447 0.1 -0.32 pose: 0.6942706 3.70073 -3.99326 0 -0.00384517 -0.00150158 0.998986 -0.0448432 uwb: 0.50159486 1222.42 617.838 -imu_odom_: 1691062481.865590334 0.402226 -0.21069 9.85693 -0.052198 0.0138484 -0.26099 0.1 -0.32 pose: 0.0 3.70073 -3.99326 0 -0.00384517 -0.00150158 0.998986 -0.0448432 uwb: 0.0 1222.42 617.838 -imu_odom_: 1691062481.882590717 0.337582 -0.21069 9.93833 -0.0553937 0.0266316 -0.257794 0.11 -0.32 pose: 0.47053845 3.69095 -3.99532 0 -0.00743985 -0.00252008 0.999308 -0.0363614 uwb: 0.0 1222.42 617.838 -imu_odom_: 1691062481.897477900 -0.155623 -0.153229 9.52174 -0.052198 0.0415453 -0.237554 0.11 -0.29 pose: 0.0 3.69095 -3.99532 0 -0.00743985 -0.00252008 0.999308 -0.0363614 uwb: 0.50041956 1221.64 617.653 -imu_odom_: 1691062481.913605122 0.699107 -0.363919 10.0437 -0.0575243 -0.036219 -0.229032 0.11 -0.23 pose: 0.0 3.69095 -3.99532 0 -0.00743985 -0.00252008 0.999308 -0.0363614 uwb: 0.0 1221.64 617.653 -imu_odom_: 1691062481.930587716 1.08457 0.0694318 9.94073 -0.0607201 -0.0394148 -0.209857 0.11 -0.23 pose: 0.65875500 3.67916 -3.98756 0 -0.00653053 -0.00135047 0.999621 -0.0267278 uwb: 0.0 1221.64 617.653 -imu_odom_: 1691062481.947579058 1.37188 -0.0861913 10.1203 -0.0596548 0.0607201 -0.152333 0.12 -0.32 pose: 0.0 3.67916 -3.98756 0 -0.00653053 -0.00135047 0.999621 -0.0267278 uwb: 0.50060621 1223.21 618.787 -imu_odom_: 1691062481.964523738 1.33357 -0.47884 10.1251 -0.0756338 0.0127832 -0.1012 0.12 -0.32 pose: 0.0 3.67916 -3.98756 0 -0.00653053 -0.00135047 0.999621 -0.0267278 uwb: 0.0 1223.21 618.787 -imu_odom_: 1691062481.981634652 1.11091 -0.40462 9.73004 -0.0532632 0.0234358 -0.164051 0.12 -0.32 pose: 0.33998433 3.67916 -3.98756 0 -0.00306403 -0.0009179350.99974 -0.0225888 uwb: 0.0 1223.21 618.787 -imu_odom_: 1691062481.999481656 0.916979 0.148441 10.0293 -0.0468716 0.036219 -0.204531 0.07 -0.23 pose: 0.44158476 3.67916 -3.98756 0 0.000558923 -0.00167906 0.999824 -0.0186799 uwb: 0.49983336 1224.18 619.413 -imu_odom_: 1691062482.17589389 0.426168 0.035913 9.71328 -0.0830906 0.00852212 -0.156594 0.07 -0.23 pose: 0.8135791 3.67916 -3.98756 0 0.00102555 -0.00113118 0.999842 -0.0176855 uwb: 0.0 1224.18 619.413 -imu_odom_: 1691062482.33754531 0.68953 -0.543484 9.98861 -0.0532632 -0.00958738 -0.166181 0.06 -0.17 pose: 0.0 3.67916 -3.98756 0 0.00102555 -0.00113118 0.999842 -0.0176855 uwb: 0.49988598 1224 619.717 -imu_odom_: 1691062482.51460973 0.723049 -0.248997 9.90002 -0.0585895 -0.0181095 -0.170442 0.06 -0.26 pose: 0.43984088 3.66937 -3.9896 0 0.00241433 -0.00018396 0.999912 -0.0130591 uwb: 0.0 1224 619.717 -imu_odom_: 1691062482.68455821 0.773327 -0.124498 9.93833 -0.0543285 -0.00958738 -0.133158 0.05 -0.17 pose: 0.0 3.66937 -3.9896 0 0.00241433 -0.00018396 0.999912 -0.0130591 uwb: 0.0 1224 619.717 -imu_odom_: 1691062482.82459058 0.658405 -0.23942 9.85214 -0.0671117 -0.0127832 -0.0969391 0.05 -0.17 pose: 0.0 3.66937 -3.9896 0 0.00241433 -0.00018396 0.999912 -0.0130591 uwb: 0.0 1224 619.717 -imu_odom_: 1691062482.99568811 0.588974 -0.428562 9.82341 -0.052198 0.00852212 -0.100135 0.04 -0.14 pose: 0.24712143 3.66937 -3.9896 0 0.00498103 -0.0001360420.999931 -0.0105936 uwb: 0.49734005 1225.23 620.663 -imu_odom_: 1691062482.116519330 0.744597 -0.162806 10.0389 -0.0575243 -0.02024 -0.0937433 0.04 -0.14 pose: 0.0 3.66937 -3.9896 0 0.00498103 -0.0001360420.999931 -0.0105936 uwb: 0.0 1225.23 620.663 -imu_odom_: 1691062482.142582627 0.59855 -0.160412 10.1921 -0.056459 0.00426106 -0.0884169 0.04 -0.14 pose: 0.31164318 3.66937 -3.9896 0 0.0074895 -0.0008150420.999937 -0.00827876 uwb: 0.49999978 1227 621.469 -imu_odom_: 1691062482.158445049 0.124498 -0.466869 9.56723 -0.0735032 0.0213053 -0.120375 0.04 -0.14 pose: 0.33834545 3.66937 -3.9896 0 0.00934223 -0.0003615920.999938 -0.00600265 uwb: 0.0 1227 621.469 -imu_odom_: 1691062482.184508638 -1.25696 0.222661 9.58878 -0.0394148 0.0820254 -0.2024 0.04 -0.14 pose: 0.0 3.66937 -3.9896 0 0.00934223 -0.0003615920.999938 -0.00600265 uwb: 0.50149005 1224.88 620.507 -imu_odom_: 1691062482.210505442 -0.948104 -1.01993 9.60075 -0.0798948 -0.0617853 -0.0458064 0.06 -0.14 pose: 0.43059895 3.66937 -3.9896 0 0.00676061 0.000825422 0.999974 -0.00251859 uwb: 0.0 1224.88 620.507 -imu_odom_: 1691062482.234451455 0.488417 0.011971 9.93115 -0.0394148 -0.0830906 -0.0585895 0.11 -0.11 pose: 0.43980010 3.6623 -3.99104 0 0.00272842 -0.0002310620.999996 0.000769697 uwb: 0.49992687 1225.75 621.3 -imu_odom_: 1691062482.251445720 0.632069 -0.0694318 9.75158 -0.056459 0.0308927 -0.00639159 0.11 -0.11 pose: 0.0 3.6623 -3.99104 0 0.00272842 -0.0002310620.999996 0.000769697 uwb: 0.0 1225.75 621.3 -imu_odom_: 1691062482.278624820 -0.270545 -0.258574 9.8258 -0.052198 0.015979 -0.100135 0.11 -0.08 pose: 0.40940278 3.65958 -3.99162 0 0.00512307 0.0032608 0.999979 0.00234123 uwb: 0.0 1225.75 621.3 -imu_odom_: 1691062482.302421224 0.258574 -0.672771 9.70849 -0.0639159 -0.0330232 -0.0415453 0.11 -0.08 pose: 0.0 3.65958 -3.99162 0 0.00512307 0.0032608 0.999979 0.00234123 uwb: 0.49914820 1223.94 620.581 -imu_odom_: 1691062482.328418319 0.641646 0.0622492 9.96946 -0.0490022 -0.0223706 -0.0340885 0.13 -0.11 pose: 0.50975504 3.65261 -3.99303 0 0.0016707 0.000606652 0.999985 0.0052098 uwb: 0.0 1223.94 620.581 -imu_odom_: 1691062482.344472930 0.756568 -0.220267 10.0509 -0.0532632 0.00639159 -0.0298274 0.13 -0.11 pose: 0.0 3.65261 -3.99303 0 0.0016707 0.000606652 0.999985 0.0052098 uwb: 0.50006394 1225.49 621.744 -imu_odom_: 1691062482.370423655 -0.349553 -0.162806 9.90242 -0.0585895 -0.00958738 -0.0415453 0.16 -0.08 pose: 0.42051706 3.64978 -3.99364 0 0.00499821 0.0024128 0.999962 0.00672107 uwb: 0.0 1225.49 621.744 -imu_odom_: 1691062482.395429477 0.323217 -0.162806 9.8665 -0.0490022 -0.0415453 -0.0266316 0.16 -0.08 pose: 0.0 3.64978 -3.99364 0 0.00499821 0.0024128 0.999962 0.00672107 uwb: 0.49889740 1223.28 620.954 -imu_odom_: 1691062482.421502398 0.258574 -0.251391 10.1131 -0.0490022 0.0777643 -0.0223706 0.16 -0.08 pose: 0.50956547 3.63999 -3.99567 0 0.000433692 0.00259164 0.999959 0.0086156 uwb: 0.0 1223.28 620.954 -imu_odom_: 1691062482.446421312 0.634463 -0.174777 10.2017 -0.0436758 -0.0276969 -0.0340885 0.16 -0.08 pose: 0.0 3.63999 -3.99567 0 0.000433692 0.00259164 0.999959 0.0086156 uwb: 0.50009018 1223.28 620.954 -imu_odom_: 1691062482.472474985 0.328006 -0.320823 9.41161 -0.076699 0.0106526 -0.00852212 0.14 -0.02 pose: 0.34077479 3.638 -3.98587 0 -0.00201107 0.00146468 0.99995 0.00971961 uwb: 0.0 1223.28 620.954 -imu_odom_: 1691062482.497624584 0.47884 0.0167594 10.1778 -0.0479369 -0.0447411 -0.0106526 0.15 -0.08 pose: 0.42968029 3.62816 -3.98781 0 -0.0015681 -0.0009500530.999938 0.0109692 uwb: 0.49974898 1224.77 622.195 -imu_odom_: 1691062482.514418786 0.68953 -0.19393 9.71806 -0.0532632 0.00106526 -0.0117179 0.15 -0.08 pose: 0.6963998 3.6282 -3.98784 0 -0.00114608 -0.0002880210.999937 0.0111433 uwb: 0.0 1224.77 622.195 -imu_odom_: 1691062482.538614441 0.318429 -0.268151 9.98622 -0.052198 -0.0223706 -0.00319579 0.15 -0.02 pose: 0.0 3.6282 -3.98784 0 -0.00114608 -0.0002880210.999937 0.0111433 uwb: 0.50004644 1225.3 622.81 -imu_odom_: 1691062482.564399225 0.799663 -0.203507 9.56484 -0.0628506 -0.0287621 0.00213053 0.15 -0.02 pose: 0.42044415 3.61841 -3.98988 0 0.0010713 0.00100905 0.999925 0.0121774 uwb: 0.0 1225.3 622.81 -imu_odom_: 1691062482.589534825 0.488417 -0.122104 9.84975 -0.0543285 0.00958738 0 0.16 -0.02 pose: 0.42915827 3.61841 -3.98988 0 0.00270615 -4.72017e-060.999911 0.013027 uwb: 0.50142589 1223.56 621.992 -imu_odom_: 1691062482.606466971 0.275333 -0.21069 9.80665 -0.0319579 0.0308927 -0.00213053 0.16 -0.02 pose: 0.7025532 3.61841 -3.98988 0 0.0029012 0.000659029 0.999909 0.0131678 uwb: 0.0 1223.56 621.992 -imu_odom_: 1691062482.631508081 0.196325 -0.232238 9.50498 -0.0628506 0.0191748 0.00745685 0.16 -0.02 pose: 0.0 3.61841 -3.98988 0 0.0029012 0.000659029 0.999909 0.0131678 uwb: 0.0 1223.56 621.992 -imu_odom_: 1691062482.657393479 0.497994 -0.395043 9.48343 -0.0607201 -0.00852212 0.015979 0.16 -0.02 pose: 0.43097808 3.60861 -3.99189 0 0.000572376 0.00201093 0.9999 0.0140159 uwb: 0.50002311 1225.37 623.43 -imu_odom_: 1691062482.674393577 0.778116 -0.31364 9.72285 -0.0703074 -0.0436758 0.00532632 0.18 -0.05 pose: 0.0 3.60861 -3.99189 0 0.000572376 0.00201093 0.9999 0.0140159 uwb: 0.0 1225.37 623.43 -imu_odom_: 1691062482.700488954 0.548272 -0.105345 9.97185 -0.0511327 -0.04048 0.0181095 0.18 -0.05 pose: 0.49892073 3.59881 -3.99388 0 0.000845154 -0.00100345 0.999891 0.0147185 uwb: 0.49946609 1226.14 624.384 -imu_odom_: 1691062482.725398828 0.627281 -0.169988 10.1562 -0.0511327 -0.0255663 0.00639159 0.21 -0.05 pose: 0.17268695 3.59881 -3.99388 0 0.00260183 -0.0007310580.999884 0.0149698 uwb: 0.0 1226.14 624.384 -imu_odom_: 1691062482.751396506 0.869095 -0.464475 9.97664 -0.0553937 -0.02024 0.036219 0.2 -0.05 pose: 0.43715495 3.58704 -3.98605 0 0.00684598 0.00126659 0.999854 0.0155886 uwb: 0.49854743 1225.95 624.706 -imu_odom_: 1691062482.775554831 0.311246 -0.275333 9.91439 -0.0628506 -0.00852212 0.0170442 0.2 -0.05 pose: 0.0 3.58704 -3.98605 0 0.00684598 0.00126659 0.999854 0.0155886 uwb: 0.0 1225.95 624.706 -imu_odom_: 1691062482.792498060 0.636858 -0.186748 10.0916 -0.0532632 -0.0468716 0.0276969 0.2 -0.05 pose: 0.0 3.58704 -3.98605 0 0.00684598 0.00126659 0.999854 0.0155886 uwb: 0.50072012 1224.78 624.419 -imu_odom_: 1691062482.817606246 0.976834 -0.363919 10.1993 -0.0585895 -0.0383495 0.0245011 0.18 -0.02 pose: 0.8000766 3.58704 -3.98605 0 0.00751637 0.00074248 0.99985 0.0155977 uwb: 0.0 1224.78 624.419 -imu_odom_: 1691062482.843386947 0.593762 -0.141258 10.386 -0.0639159 -0.0394148 0.0500674 0.2 -0.02 pose: 0.49054491 3.57723 -3.98801 0 0.00747859 -0.0006925130.999845 0.0159295 uwb: 0.50053056 1224.47 624.943 -imu_odom_: 1691062482.859430184 0.423774 -0.258574 9.44034 -0.0830906 0.02024 0.0458064 0.2 -0.02 pose: 0.0 3.57723 -3.98801 0 0.00747859 -0.0006925130.999845 0.0159295 uwb: 0.0 1224.47 624.943 -imu_odom_: 1691062482.885379743 0.746991 -0.0215478 9.68933 -0.0660464 -0.0149137 0.0213053 0.17 -0.02 pose: 0.41958383 3.56744 -3.99006 0 0.0112322 -0.0006399450.999806 0.0161457 uwb: 0.49857951 1224.85 625.8 -imu_odom_: 1691062482.910388189 0.442927 -0.217872 10.0604 -0.0639159 0.0117179 0.0234358 0.17 -0.02 pose: 0.0 3.56744 -3.99006 0 0.0112322 -0.0006399450.999806 0.0161457 uwb: 0.0 1224.85 625.8 -imu_odom_: 1691062482.936377119 0.610521 -0.251391 9.88805 -0.0703074 0.00532632 0.0426106 0.2 0 pose: 0.43026065 3.56744 -3.99006 0 0.00967731 0.000801177 0.999823 0.0160926 uwb: 0.50068804 1224.31 625.946 -imu_odom_: 1691062482.953437002 0.675165 -0.277727 9.63187 -0.0820254 0.0117179 0.0266316 0.2 0 pose: 0.0 3.56744 -3.99006 0 0.00967731 0.000801177 0.999823 0.0160926 uwb: 0.0 1224.31 625.946 -imu_odom_: 1691062482.977387973 0.287304 -0.454898 10.1658 -0.0458064 0.0191748 0.0170442 0.24 0 pose: 0.50954214 3.55766 -3.99211 0 0.0087728 0.000582305 0.999826 0.0164522 uwb: 0.0 1224.31 625.946 -imu_odom_: 1691062483.2365215 0.418985 -0.186748 9.84017 -0.0426106 -0.0745685 0.0266316 0.24 0 pose: 0.0 3.55766 -3.99211 0 0.0087728 0.000582305 0.999826 0.0164522 uwb: 0.50252536 1223.32 626.12 -imu_odom_: 1691062483.26357898 0.411803 0.0670376 10.1754 -0.0607201 -0.0649811 0.04048 0.18 -0.02 pose: 0.41993087 3.54583 -3.98436 0 0.0103448 -0.00240922 0.999806 0.0165911 uwb: 0.0 1223.32 626.12 -imu_odom_: 1691062483.52419163 0.387861 -0.126893 10.2424 -0.0383495 -0.0298274 0.0117179 0.18 -0.02 pose: 0.0 3.54583 -3.98436 0 0.0103448 -0.00240922 0.999806 0.0165911 uwb: 0.49864961 1222.96 626.725 -imu_odom_: 1691062483.78413060 0.35913 -0.225055 9.67497 -0.0788296 -0.0500674 0.0500674 0.21 -0.02 pose: 0.49986274 3.53603 -3.98639 0 0.007325 -0.00104786 0.999829 0.016933 uwb: 0.0 1222.96 626.725 -imu_odom_: 1691062483.95344921 0.129287 -0.260968 10.0628 -0.0607201 0.00426106 0.0266316 0.21 -0.02 pose: 0.0 3.53603 -3.98639 0 0.007325 -0.00104786 0.999829 0.016933 uwb: 0.49799933 1222.42 626.895 -imu_odom_: 1691062483.120354251 -0.035913 -0.416591 10.1945 -0.0788296 0.0117179 0.0511327 0.22 -0.05 pose: 0.74999994 3.52624 -3.98842 0 0.00257324 0.000568295 0.999848 0.0172186 uwb: 0.0 1222.42 626.895 -imu_odom_: 1691062483.137377394 0.402226 -0.160412 10.1969 -0.0628506 -0.0671117 0.04048 0.22 -0.05 pose: 0.0 3.52624 -3.98842 0 0.00257324 0.000568295 0.999848 0.0172186 uwb: 0.49989497 1222.2 627.997 -imu_odom_: 1691062483.161446486 0.526724 -0.112527 9.97185 -0.0617853 0.00532632 0.0287621 0.21 -0.05 pose: 0.41985520 3.51645 -3.99044 0 -0.000558689-0.0002423750.999853 0.0171348 uwb: 0.0 1222.2 627.997 -imu_odom_: 1691062483.187366891 0.311246 -0.260968 9.55287 -0.0447411 -0.0319579 0.0298274 0.23 0.02 pose: 0.34088864 3.50463 -3.98268 0 0.00187891 0.00197789 0.999847 0.017258 uwb: 0.50032951 1223.61 629.333 -imu_odom_: 1691062483.209344946 0.529119 -0.179565 10.3094 -0.0543285 0.0181095 0.0436758 0.23 0.02 pose: 0.0 3.50463 -3.98268 0 0.00187891 0.00197789 0.999847 0.017258 uwb: 0.0 1223.61 629.333 -imu_odom_: 1691062483.234347569 0.658405 -0.0407014 10.0197 -0.0447411 0.0234358 0.036219 0.17 0 pose: 0.8026725 3.50463 -3.98268 0 0.00131431 0.00158529 0.999848 0.0172978 uwb: 0.49967624 1223.83 630.427 -imu_odom_: 1691062483.258394789 0.756568 -0.19393 10.0078 -0.0511327 -0.0234358 0.0532632 0.17 0 pose: 0.0 3.50463 -3.98268 0 0.00131431 0.00158529 0.999848 0.0172978 uwb: 0.0 1223.83 630.427 -imu_odom_: 1691062483.273331561 0.225055 -0.136469 9.68694 -0.0468716 0.0351537 0.0319579 0.19 0 pose: 0.47993242 3.49484 -3.9847 0 0.00254518 0.00154618 0.999845 0.0173535 uwb: 0.0 1223.83 630.427 -imu_odom_: 1691062483.290392616 0.383072 -0.158017 10.0173 -0.0436758 -0.0319579 0.0458064 0.19 0 pose: 0.0 3.49484 -3.9847 0 0.00254518 0.00154618 0.999845 0.0173535 uwb: 0.50001163 1224.1 631.421 -imu_odom_: 1691062483.303323217 0.543484 -0.213084 10.3094 -0.0660464 -0.02024 0.0543285 0.19 0 pose: 0.0 3.49484 -3.9847 0 0.00254518 0.00154618 0.999845 0.0173535 uwb: 0.0 1224.1 631.421 -imu_odom_: 1691062483.319338755 0.186748 -0.0837971 9.78031 -0.0553937 0.0106526 0.0447411 0.17 -0.02 pose: 0.47871921 3.48504 -3.98673 0 0.00550471 0.00244016 0.999833 0.0172383 uwb: 0.0 1224.1 631.421 -imu_odom_: 1691062483.345389812 0.138864 -0.407014 9.42597 -0.072438 0.00319579 0.0607201 0.17 -0.02 pose: 0.0 3.48504 -3.98673 0 0.00550471 0.00244016 0.999833 0.0172383 uwb: 0.50006995 1221.91 630.696 -imu_odom_: 1691062483.370328275 0.213084 -0.143652 9.49062 -0.0596548 0.00426106 0.036219 0.19 0 pose: 0.46027900 3.47525 -3.98875 0 0.00340533 0.00217584 0.999846 0.0171043 uwb: 0.0 1221.91 630.696 -imu_odom_: 1691062483.395346063 0.177171 -0.588974 9.14346 -0.100135 0.00958738 0.072438 0.21 0 pose: 0.0 3.47525 -3.98875 0 0.00340533 0.00217584 0.999846 0.0171043 uwb: 0.50167687 1224.22 632.674 -imu_odom_: 1691062483.418405216 0.344765 -0.56982 9.91918 -0.0607201 0.0436758 0.0351537 0.2 0 pose: 0.66020491 3.46343 -3.98099 0 -0.00246037 0.000565835 0.999857 0.0167414 uwb: 0.0 1224.22 632.674 -imu_odom_: 1691062483.434342012 0.339977 -0.260968 10.5249 -0.0628506 0.0191748 0.036219 0.2 0 pose: 0.0 3.46343 -3.98099 0 -0.00246037 0.000565835 0.999857 0.0167414 uwb: 0.49667530 1224.75 633.964 -imu_odom_: 1691062483.460487560 0.651223 -0.270545 10.0149 -0.0319579 -0.04048 0.0351537 0.25 0 pose: 0.56955247 3.45364 -3.98303 0 -0.00337042 -0.00244875 0.999855 0.0165338 uwb: 0.0 1224.75 633.964 -imu_odom_: 1691062483.486365385 0.316035 -0.153229 9.77313 -0.0639159 0.00106526 0.0415453 0.2 0 pose: 0.8083594 3.45364 -3.98303 0 -0.00241429 -0.00238633 0.999857 0.0165537 uwb: 0.50143481 1223.99 634.49 -imu_odom_: 1691062483.511454624 0.148441 -0.227449 9.38288 -0.0383495 0.0149137 0.0447411 0.23 0.02 pose: 0.43939779 3.44385 -3.98507 0 -0.00191581 -0.0002933180.999861 0.0165689 uwb: 0.0 1223.99 634.49 -imu_odom_: 1691062483.524358686 0.071826 -0.416591 9.97185 -0.0596548 0.00745685 0.0415453 0.23 0.02 pose: 0.0 3.44385 -3.98507 0 -0.00191581 -0.0002933180.999861 0.0165689 uwb: 0.0 1223.99 634.49 -imu_odom_: 1691062483.540313271 0.462081 -0.263362 9.98622 -0.0596548 -0.0660464 0.0458064 0.18 0 pose: 0.0 3.44385 -3.98507 0 -0.00191581 -0.0002933180.999861 0.0165689 uwb: 0.50141440 1223.9 635.346 -imu_odom_: 1691062483.565480085 0.933739 -0.208296 10.3573 -0.0436758 -0.0479369 0.0415453 0.18 0 pose: 0.46073104 3.43406 -3.98711 0 -0.00470029 -0.00111021 0.999853 0.0164708 uwb: 0.0 1223.9 635.346 -imu_odom_: 1691062483.590306559 0.459687 -0.0981623 10.0509 -0.0415453 -0.0181095 0.0447411 0.18 0.02 pose: 0.0 3.43406 -3.98711 0 -0.00470029 -0.00111021 0.999853 0.0164708 uwb: 0.49838429 1224.36 636.734 -imu_odom_: 1691062483.616349451 0.162806 -0.196325 9.64145 -0.0532632 -0.0117179 0.0479369 0.18 0.02 pose: 0.40915212 3.43406 -3.98711 0 -0.000192899-0.0002825110.999865 0.0164052 uwb: 0.0 1224.36 636.734 -imu_odom_: 1691062483.641298412 0.229843 -0.0957681 9.68215 -0.0468716 -0.00639159 0.0394148 0.19 0.02 pose: 0.42995750 3.42223 -3.97936 0 -0.00179987 0.00132994 0.999865 0.016256 uwb: 0.50017786 1223.99 637.334 -imu_odom_: 1691062483.666405150 -0.0766145 -0.565032 9.23204 -0.0575243 0.00106526 0.0511327 0.22 0 pose: 0.8079511 3.42223 -3.97936 0 -0.00245274 0.00182942 0.999863 0.0162568 uwb: 0.0 1223.99 637.334 -imu_odom_: 1691062483.687288108 -0.0263362 -0.186748 9.74679 -0.0255663 0.0617853 0.0308927 0.22 0 pose: 0.0 3.42223 -3.97936 0 -0.00245274 0.00182942 0.999863 0.0162568 uwb: 0.50108485 1224.13 638.524 -imu_odom_: 1691062483.701436877 0.371101 -0.289698 10.0102 -0.0415453 0.00319579 0.036219 0.22 0 pose: 0.0 3.42223 -3.97936 0 -0.00245274 0.00182942 0.999863 0.0162568 uwb: 0.0 1224.13 638.524 -imu_odom_: 1691062483.724333589 -0.0430956 -0.263362 9.47386 -0.0426106 0.0127832 0.0415453 0.18 -0.02 pose: 0.24002600 3.41244 -3.98141 0 -0.004352 0.00237387 0.999856 0.0162204 uwb: 0.0 1224.13 638.524 -imu_odom_: 1691062483.751616521 0.337582 -0.335188 9.68694 -0.0681769 -0.0543285 0.052198 0.18 -0.02 pose: 0.0 3.41244 -3.98141 0 -0.004352 0.00237387 0.999856 0.0162204 uwb: 0.49820056 1224.11 639.259 -imu_odom_: 1691062483.767488573 0.565032 -0.0167594 10.4196 -0.056459 -0.0415453 0.0372843 0.19 0 pose: 0.59877449 3.40265 -3.98345 0 -0.00814497 0.000676847 0.999835 0.0162433 uwb: 0.0 1224.11 639.259 -imu_odom_: 1691062483.792297840 0.380678 -0.244209 10.4483 -0.0532632 -0.02024 0.0415453 0.19 0 pose: 0.0 3.40265 -3.98345 0 -0.00814497 0.000676847 0.999835 0.0162433 uwb: 0.50174686 1223.81 640.433 -imu_odom_: 1691062483.815283793 0.0263362 -0.110133 10.2161 -0.0415453 0.015979 0.0436758 0.18 0 pose: 0.51140297 3.39286 -3.9855 0 -0.00652945 -0.00122249 0.999849 0.0160832 uwb: 0.0 1223.81 640.433 -imu_odom_: 1691062483.839302433 0.361524 -0.136469 9.73004 -0.0735032 0.0287621 0.0596548 0.18 0 pose: 0.39846654 3.38103 -3.97776 0 -0.00378852 -0.0007608270.999864 0.0160538 uwb: 0.49999121 1223.86 641.047 -imu_odom_: 1691062483.857280103 0.251391 -0.208296 10.0772 -0.0607201 0.00106526 0.0340885 0.19 -0.05 pose: 0.40006471 3.3745 -3.97913 0 -0.0043142 0.00163684 0.999865 0.0157658 uwb: 0.0 1223.86 641.047 -imu_odom_: 1691062483.881279203 -0.00718261-0.42138 9.61511 -0.0681769 -0.0340885 0.0628506 0.19 -0.05 pose: 0.0 3.3745 -3.97913 0 -0.0043142 0.00163684 0.999865 0.0157658 uwb: 0.0 1223.86 641.047 -imu_odom_: 1691062483.907270767 0.672771 -0.217872 10.0245 -0.0319579 0.0106526 0.0340885 0.22 0 pose: 0.8013601 3.37124 -3.97981 0 -0.00508988 0.00134122 0.999861 0.01579 uwb: 0.0 1223.86 641.047 -imu_odom_: 1691062483.931306905 0.205901 -0.349553 9.81623 -0.0798948 0.00852212 0.0639159 0.22 0 pose: 0.0 3.37124 -3.97981 0 -0.00508988 0.00134122 0.999861 0.01579 uwb: 0.0 1223.86 641.047 -imu_odom_: 1691062483.949287492 0.328006 -0.301669 9.87369 -0.0820254 0.0308927 0.0319579 0.21 0 pose: 0.41973563 3.37124 -3.97981 0 -0.00689121 -0.0004995520.999855 0.0155739 uwb: 0.99840467 1224.69 642.508 -imu_odom_: 1691062483.973259761 0.260968 -0.318429 10.2999 -0.0639159 0.0117179 0.0468716 0.21 0 pose: 0.0 3.37124 -3.97981 0 -0.00689121 -0.0004995520.999855 0.0155739 uwb: 0.0 1224.69 642.508 -imu_odom_: 1691062483.999339982 0.0574608 -0.213084 9.75398 -0.0415453 0.04048 0.0383495 0.18 -0.02 pose: 0.50032076 3.36145 -3.98187 0 -0.0063265 -0.00300962 0.999857 0.0153764 uwb: 0.50003787 1225.9 644.721 -imu_odom_: 1691062484.24343487 0.227449 -0.0335188 10.0724 -0.056459 -0.00852212 0.0436758 0.17 0 pose: 0.17961047 3.35167 -3.98393 0 -0.00631856 -0.00426945 0.999852 0.0153916 uwb: 0.0 1225.9 644.721 -imu_odom_: 1691062484.41271271 0.562637 -0.167594 9.36372 -0.0468716 -0.00319579 0.036219 0.17 0 pose: 0.42057262 3.34346 -3.97858 0 -0.0104691 -0.00396236 0.99982 0.0153334 uwb: 0.49913973 1227.32 646.601 -imu_odom_: 1691062484.66250863 0.371101 -0.23942 10.1634 -0.056459 0.0426106 0.0298274 0.19 -0.02 pose: 0.8001354 3.33982 -3.97621 0 -0.0103448 -0.00317361 0.999824 0.0153091 uwb: 0.0 1227.32 646.601 -imu_odom_: 1691062484.83326798 0.814029 -0.409408 9.32302 -0.0330232 -0.0245011 0.0287621 0.19 -0.02 pose: 0.0 3.33982 -3.97621 0 -0.0103448 -0.00317361 0.999824 0.0153091 uwb: 0.49950727 1226.88 647.274 -imu_odom_: 1691062484.107244832 0.749385 -0.217872 10.07 -0.0713727 -0.0298274 0.0490022 0.19 -0.02 pose: 0.0 3.33982 -3.97621 0 -0.0103448 -0.00317361 0.999824 0.0153091 uwb: 0.0 1226.88 647.274 -imu_odom_: 1691062484.133355976 0.624887 -0.280122 10.3932 -0.0479369 -0.0181095 0.0330232 0.19 0 pose: 0.41932165 3.33982 -3.97621 0 -0.00781767 -0.00109726 0.999851 0.0153261 uwb: 0.50230116 1226.64 648.322 -imu_odom_: 1691062484.158259451 0.818817 -0.172383 9.74201 -0.0532632 -0.00213053 0.0511327 0.19 0 pose: 0.84082475 3.32025 -3.98033 0 0.000739137 -0.00184354 0.999878 0.01549 uwb: 0.0 1226.64 648.322 -imu_odom_: 1691062484.184310809 0.464475 -0.0885855 10.0533 -0.0809601 0.0191748 0.0585895 0.19 0 pose: 0.0 3.32025 -3.98033 0 0.000739137 -0.00184354 0.999878 0.01549 uwb: 0.49895315 1226.19 649.033 -imu_odom_: 1691062484.209248989 0.399832 -0.25618 10.3406 -0.0532632 0.00319579 0.0351537 0.21 0 pose: 0.7960818 3.32025 -3.98033 0 0.00151507 -0.00169597 0.999878 0.0154455 uwb: 0.0 1226.19 649.033 -imu_odom_: 1691062484.227229874 0.579397 -0.0933739 10.0676 -0.0543285 -0.0138484 0.0266316 0.21 0 pose: 0.0 3.32025 -3.98033 0 0.00151507 -0.00169597 0.999878 0.0154455 uwb: 0.0 1226.19 649.033 -imu_odom_: 1691062484.251236273 0.0861913 -0.25618 9.3326 -0.0436758 -0.0181095 0.0415453 0.2 0 pose: 0.51960106 3.31046 -3.98239 0 0.00218015 0.000282832 0.999883 0.0151317 uwb: 0.50030636 1224.33 649.236 -imu_odom_: 1691062484.274377385 0.646434 -0.208296 10.331 -0.052198 -0.00426106 0.0458064 0.2 0 pose: 0.0 3.31046 -3.98239 0 0.00218015 0.000282832 0.999883 0.0151317 uwb: 0.0 1224.33 649.236 -imu_odom_: 1691062484.300212641 0.435745 -0.179565 9.63666 -0.0532632 0.0649811 0.0479369 0.25 0.02 pose: 0.41987576 3.29862 -3.97467 0 0.00168321 0.000315526 0.999882 0.0152755 uwb: 0.49834072 1224.12 650.224 -imu_odom_: 1691062484.313294314 0.514753 -0.347159 9.90721 -0.0436758 0.0351537 0.0532632 0.25 0.02 pose: 0.0 3.29862 -3.97467 0 0.00168321 0.000315526 0.999882 0.0152755 uwb: 0.0 1224.12 650.224 -imu_odom_: 1691062484.338370147 0.47884 -0.237026 9.71806 -0.0426106 0.0287621 0.0383495 0.17 0.02 pose: 0.47068769 3.28883 -3.97674 0 0.00189559 0.000961962 0.999883 0.0151557 uwb: 0.50107044 1224.72 651.306 -imu_odom_: 1691062484.364303976 -0.409408 -0.213084 10.1418 -0.0511327 -0.123571 0.0617853 0.17 0.02 pose: 0.0 3.28883 -3.97674 0 0.00189559 0.000961962 0.999883 0.0151557 uwb: 0.0 1224.72 651.306 -imu_odom_: 1691062484.390590102 2.58574 -0.0933739 9.90002 -0.072438 -0.0649811 0.0330232 0.19 0 pose: 0.39067414 3.28883 -3.97674 0 0.00131932 0.00103554 0.999886 0.0149961 uwb: 0.0 1224.72 651.306 -imu_odom_: 1691062484.407495138 0.45011 -0.155623 11.0061 -0.0745685 0.0298274 0.0671117 0.19 0 pose: 0.0 3.28883 -3.97674 0 0.00131932 0.00103554 0.999886 0.0149961 uwb: 0.0 1224.72 651.306 -imu_odom_: 1691062484.431272602 -0.711078 -0.0622492 9.81383 -0.0596548 0.0255663 0.0276969 0.23 0 pose: 0.52007643 3.27905 -3.9788 0 0.00244692 4.29259e-05 0.999888 0.0147452 uwb: 0.0 1224.72 651.306 -imu_odom_: 1691062484.457330376 -0.011971 -0.251391 9.98143 -0.112918 0.0149137 0.0660464 0.22 0 pose: 0.57864300 3.26278 -3.98225 0 0.000536862 0.00130117 0.999891 0.0147201 uwb: 0.99973489 1225.85 653.55 -imu_odom_: 1691062484.482355756 0.19393 -0.462081 9.86172 -0.0415453 0.0351537 0.0330232 0.22 0 pose: 0.0 3.26278 -3.98225 0 0.000536862 0.00130117 0.999891 0.0147201 uwb: 0.50005263 1225.66 654.495 -imu_odom_: 1691062484.499220546 0.794875 -0.126893 9.96467 -0.0639159 -0.0106526 0.0394148 0.22 0 pose: 0.0 3.26278 -3.98225 0 0.000536862 0.00130117 0.999891 0.0147201 uwb: 0.0 1225.66 654.495 -imu_odom_: 1691062484.523282064 0.579397 -0.318429 9.58878 -0.0340885 -0.0543285 0.04048 0.19 0 pose: 0.8106345 3.25948 -3.98295 0 -0.0003485740.000962737 0.999893 0.0146139 uwb: 0.0 1225.66 654.495 -imu_odom_: 1691062484.548366063 0.325611 -0.260968 9.24162 -0.0639159 -0.0138484 0.0372843 0.19 0 pose: 0.50888631 3.24762 -3.97525 0 -0.00340564 -0.00152917 0.999888 0.0144669 uwb: 0.49875484 1224.17 654.813 -imu_odom_: 1691062484.573343613 0.390255 -0.260968 9.38527 -0.0351537 0.00745685 0.0458064 0.19 0 pose: 0.0 3.24762 -3.97525 0 -0.00340564 -0.00152917 0.999888 0.0144669 uwb: 0.0 1224.17 654.813 -imu_odom_: 1691062484.590213944 0.301669 -0.289698 9.74679 -0.056459 -0.0106526 0.0426106 0.18 0 pose: 0.41168951 3.24762 -3.97525 0 -0.000411218-0.00206138 0.999893 0.0144699 uwb: 0.49989515 1224.24 656.013 -imu_odom_: 1691062484.615186829 0.85473 -0.40462 9.82102 -0.0372843 0.0298274 0.0351537 0.18 0 pose: 0.0 3.24762 -3.97525 0 -0.000411218-0.00206138 0.999893 0.0144699 uwb: 0.0 1224.24 656.013 -imu_odom_: 1691062484.636214155 0.656011 -0.3304 9.9527 -0.0681769 -0.0287621 0.0436758 0.19 0 pose: 0.83750300 3.22806 -3.97941 0 0.000711595 -0.00329478 0.99989 0.01445 uwb: 0.50120168 1224.34 657.172 -imu_odom_: 1691062484.661192873 0.543484 0.0550666 10.3597 -0.0266316 -0.00745685 0.0415453 0.19 0 pose: 0.6019973 3.22806 -3.97941 0 0.00137141 -0.00346946 0.999889 0.0144393 uwb: 0.0 1224.34 657.172 -imu_odom_: 1691062484.678180733 0.251391 -0.201113 9.61751 -0.0639159 -0.015979 0.0511327 0.21 0 pose: 0.0 3.22806 -3.97941 0 0.00137141 -0.00346946 0.999889 0.0144393 uwb: 0.0 1224.34 657.172 -imu_odom_: 1691062484.702381363 0.514753 -0.21069 9.51456 -0.056459 -0.00106526 0.0372843 0.21 0 pose: 0.39986071 3.21681 -3.97459 0 0.00363888 -0.00111218 0.999889 0.0143964 uwb: 0.0 1224.34 657.172 -imu_odom_: 1691062484.727243425 0.0766145 -0.639252 9.06684 -0.0596548 0.00639159 0.0479369 0.22 0 pose: 0.41188490 3.20939 -3.97316 0 0.00436307 -0.0002976820.999888 0.0143288 uwb: 0.0 1224.34 657.172 -imu_odom_: 1691062484.751170208 0.134075 -0.201113 9.54808 -0.0266316 -0.00213053 0.0287621 0.22 0 pose: 0.0 3.20939 -3.97316 0 0.00436307 -0.0002976820.999888 0.0143288 uwb: 0.100077311 1224.49 658.252 -imu_odom_: 1691062484.768177025 0.711078 -0.430956 9.92636 -0.0660464 -0.0127832 0.0447411 0.19 0 pose: 0.48788845 3.1998 -3.9752 0 9.99835e-05 -0.00134522 0.999896 0.0143418 uwb: 0.0 1224.49 658.252 -imu_odom_: 1691062484.792162135 0.794875 -0.248997 9.3709 -0.0458064 0.0276969 0.0490022 0.19 0 pose: 0.0 3.1998 -3.9752 0 9.99835e-05 -0.00134522 0.999896 0.0143418 uwb: 0.50065632 1224.88 659.606 -imu_odom_: 1691062484.809227571 0.373495 -0.323217 9.79228 -0.0671117 -0.0245011 0.0532632 0.19 0 pose: 0.40991927 3.19664 -3.97587 0 0.00362101 -0.00221209 0.99989 0.0141929 uwb: 0.0 1224.88 659.606 -imu_odom_: 1691062484.833158728 0.387861 -0.490811 9.28471 -0.0617853 0.0490022 0.0319579 0.19 0 pose: 0.0 3.19664 -3.97587 0 0.00362101 -0.00221209 0.99989 0.0141929 uwb: 0.49746581 1224.13 660.098 -imu_odom_: 1691062484.851299138 0.442927 -0.241814 10.4531 -0.0479369 -0.00106526 0.0372843 0.18 -0.02 pose: 0.0 3.19664 -3.97587 0 0.00362101 -0.00221209 0.99989 0.0141929 uwb: 0.0 1224.13 660.098 -imu_odom_: 1691062484.875181300 0.804452 -0.0909797 10.0173 -0.0490022 -0.0138484 0.04048 0.18 -0.02 pose: 0.40996593 3.18686 -3.97796 0 0.00105792 -0.00560762 0.999884 0.0141554 uwb: 0.0 1224.13 660.098 -imu_odom_: 1691062484.893256676 0.64404 -0.263362 10.1921 -0.0500674 -0.02024 0.0596548 0.2 -0.02 pose: 0.0 3.18686 -3.97796 0 0.00105792 -0.00560762 0.999884 0.0141554 uwb: 0.49954227 1223.87 661.137 -imu_odom_: 1691062484.908281236 0.517148 -0.531513 9.42118 -0.0756338 -0.02024 0.0458064 0.2 -0.02 pose: 0.50078172 3.17499 -3.97026 0 0.00449895 -0.00257332 0.999887 0.0140995 uwb: 0.0 1223.87 661.137 -imu_odom_: 1691062484.934157612 0.754174 -0.0694318 9.98622 -0.0575243 0.00213053 0.0511327 0.25 0 pose: 0.0 3.17499 -3.97026 0 0.00449895 -0.00257332 0.999887 0.0140995 uwb: 0.49976974 1223.75 661.96 -imu_odom_: 1691062484.956158131 0.505177 -0.304064 10.1323 -0.0468716 0.0340885 0.0340885 0.25 0 pose: 0.32959075 3.16521 -3.97235 0 0.00628656 -0.00367449 0.999877 0.0139065 uwb: 0.0 1223.75 661.96 -imu_odom_: 1691062484.980157240 0.560243 -0.0933739 10.1993 -0.072438 -0.0223706 0.0703074 0.17 -0.02 pose: 0.39962156 3.16521 -3.97235 0 0.00542639 -0.00376622 0.999882 0.0138617 uwb: 0.0 1223.75 661.96 -imu_odom_: 1691062485.6164853 0.952892 -0.107739 10.3238 -0.0639159 -0.00319579 0.0330232 0.17 -0.02 pose: 0.7043619 3.16521 -3.97235 0 0.00566187 -0.00314489 0.999884 0.013758 uwb: 0.50153706 1223.74 663.252 -imu_odom_: 1691062485.31217655 0.596156 -0.344765 9.71088 -0.036219 0.0830906 0.015979 0.2 -0.02 pose: 0.42963103 3.15543 -3.97444 0 0.00869733 -0.0009797170.999869 0.0136029 uwb: 0.0 1223.74 663.252 -imu_odom_: 1691062485.47288031 0.0957681 -0.0981623 9.83299 -0.0894822 0.0170442 0.0468716 0.2 -0.02 pose: 0.0 3.15543 -3.97444 0 0.00869733 -0.0009797170.999869 0.0136029 uwb: 0.49981359 1223.33 663.859 -imu_odom_: 1691062485.72201431 0.550666 -0.318429 10.331 -0.127832 0.056459 0.0873517 0.25 -0.02 pose: 0.41123178 3.14566 -3.97654 0 0.00645959 -0.00285658 0.99988 0.013821 uwb: 0.0 1223.33 663.859 -imu_odom_: 1691062485.97211945 -0.114922 -0.565032 9.69173 -0.0340885 0.0351537 -0.0308927 0.25 -0.02 pose: 0.0 3.14566 -3.97654 0 0.00645959 -0.00285658 0.99988 0.013821 uwb: 0.49995365 1223.22 664.661 -imu_odom_: 1691062485.122200879 0.653617 -0.476446 10.0245 -0.0500674 -0.0298274 0.0639159 0.21 -0.02 pose: 0.49923914 3.13442 -3.97183 0 0.00355282 -0.00668975 0.999872 0.0140831 uwb: 0.0 1223.22 664.661 -imu_odom_: 1691062485.138197471 0.296881 -0.464475 9.97903 -0.0458064 0.0127832 0.0276969 0.21 -0.02 pose: 0.0 3.13442 -3.97183 0 0.00355282 -0.00668975 0.999872 0.0140831 uwb: 0.49869961 1222.7 665.444 -imu_odom_: 1691062485.164350911 0.047884 -0.21069 9.74679 -0.0628506 -0.00319579 0.0490022 0.18 -0.02 pose: 0.40985526 3.12859 -3.96997 0 0.00424558 -0.00863589 0.999858 0.0138647 uwb: 0.0 1222.7 665.444 -imu_odom_: 1691062485.189150864 0.471658 -0.100556 10.4986 -0.04048 0.0181095 0.0191748 0.18 -0.02 pose: 0.7970153 3.124 -3.97095 0 0.00350087 -0.0083692 0.999863 0.0138222 uwb: 0.50014905 1221.19 665.823 -imu_odom_: 1691062485.212291692 0.548272 -0.368707 10.1059 -0.0639159 -0.036219 0.0415453 0.21 0 pose: 0.26094238 3.124 -3.97095 0 0.00180856 -0.00691467 0.999879 0.0138089 uwb: 0.0 1221.19 665.823 -imu_odom_: 1691062485.238180910 0.471658 -0.0957681 10.2208 -0.0468716 -0.0511327 0.0426106 0.21 0 pose: 0.0 3.124 -3.97095 0 0.00180856 -0.00691467 0.999879 0.0138089 uwb: 0.50170930 1221.57 667.147 -imu_odom_: 1691062485.252204867 0.397437 -0.215478 9.35893 -0.0735032 0.015979 0.0575243 0.19 0.02 pose: 0.40029830 3.11423 -3.97304 0 0.00425548 -0.0062596 0.999874 0.0139711 uwb: 0.0 1221.57 667.147 -imu_odom_: 1691062485.275170130 0.533907 -0.158017 9.663 -0.0543285 -0.00213053 0.0234358 0.19 0.02 pose: 0.0 3.11423 -3.97304 0 0.00425548 -0.0062596 0.999874 0.0139711 uwb: 0.0 1221.57 667.147 -imu_odom_: 1691062485.299173622 0.90022 -0.35913 10.1442 -0.076699 -0.04048 0.0447411 0.24 0 pose: 0.46963505 3.10445 -3.97513 0 0.00376445 -0.00228372 0.999894 0.0138729 uwb: 0.49783637 1221.64 668.297 -imu_odom_: 1691062485.316108994 0.627281 -0.354342 9.31823 -0.0266316 0.02024 0.0223706 0.24 0 pose: 0.0 3.10445 -3.97513 0 0.00376445 -0.00228372 0.999894 0.0138729 uwb: 0.0 1221.64 668.297 -imu_odom_: 1691062485.340169937 0.651223 -0.316035 9.73243 -0.0596548 -0.0415453 0.0490022 0.19 0 pose: 0.48011065 3.09258 -3.96744 0 0.00769967 -0.0024347 0.999869 0.014011 uwb: 0.50128060 1223.21 670.319 -imu_odom_: 1691062485.363115077 0.519542 -0.268151 10.2448 -0.0479369 -0.0543285 0.0500674 0.19 0 pose: 0.0 3.09258 -3.96744 0 0.00769967 -0.0024347 0.999869 0.014011 uwb: 0.0 1223.21 670.319 -imu_odom_: 1691062485.380117234 0.562637 -0.172383 9.37569 -0.0596548 -0.0106526 0.0617853 0.25 0.02 pose: 0.40871787 3.0828 -3.96953 0 0.0101642 -0.00392449 0.999844 0.0139214 uwb: 0.0 1223.21 670.319 -imu_odom_: 1691062485.405140872 0.222661 -0.229843 9.54568 -0.0287621 0.0735032 0.04048 0.25 0.02 pose: 0.0 3.0828 -3.96953 0 0.0101642 -0.00392449 0.999844 0.0139214 uwb: 0.50038235 1223.56 671.04 -imu_odom_: 1691062485.430122223 0.464475 -0.371101 9.74919 -0.0788296 0.00213053 0.056459 0.23 0.05 pose: 0.41003315 3.0828 -3.96953 0 0.00776505 -0.00162247 0.999875 0.0136603 uwb: 0.0 1223.56 671.04 -imu_odom_: 1691062485.453120441 0.105345 -0.0047884 9.84735 -0.052198 -0.0181095 0.0511327 0.23 0.05 pose: 0.0 3.0828 -3.96953 0 0.00776505 -0.00162247 0.999875 0.0136603 uwb: 0.49941121 1223.67 672.111 -imu_odom_: 1691062485.468319697 0.426168 -0.31364 9.68455 -0.0756338 -0.0553937 0.0628506 0.2 0.02 pose: 0.40980859 3.07302 -3.97163 0 0.00461507 -0.00395107 0.999891 0.0134271 uwb: 0.0 1223.67 672.111 -imu_odom_: 1691062485.495259975 0.347159 -0.253785 9.73482 -0.0490022 0.0245011 0.0415453 0.2 0.02 pose: 0.0 3.07302 -3.97163 0 0.00461507 -0.00395107 0.999891 0.0134271 uwb: 0.50024820 1224.35 673.573 -imu_odom_: 1691062485.521276638 0.454898 -0.272939 9.78271 -0.0852212 -0.0308927 0.0607201 0.22 0 pose: 0.7067536 3.07302 -3.97163 0 0.00410018 -0.00351465 0.999896 0.0133858 uwb: 0.0 1224.35 673.573 -imu_odom_: 1691062485.544231402 0.260968 -0.184354 9.91678 -0.0649811 -0.0245011 0.0308927 0.22 0 pose: 0.38973229 3.06324 -3.97373 0 0.00162147 -0.0036555 0.999906 0.0131 uwb: 0.50056025 1224.89 674.626 -imu_odom_: 1691062485.561211686 0.723049 -0.476446 9.53371 -0.076699 -0.0191748 0.0553937 0.25 0 pose: 0.0 3.06324 -3.97373 0 0.00162147 -0.0036555 0.999906 0.0131 uwb: 0.0 1224.89 674.626 -imu_odom_: 1691062485.586088630 0.418985 -0.347159 9.83059 -0.0340885 0.0735032 0.0340885 0.25 0 pose: 0.52068905 3.05136 -3.96606 0 0.00194274 -0.00314 0.999911 0.012837 uwb: 0.49808134 1227.25 677.253 -imu_odom_: 1691062485.609091514 0.409408 -0.268151 9.55047 -0.0596548 -0.015979 0.0415453 0.18 0 pose: 0.0 3.05136 -3.96606 0 0.00194274 -0.00314 0.999911 0.012837 uwb: 0.0 1227.25 677.253 -imu_odom_: 1691062485.632137269 0.445322 -0.160412 9.63906 -0.0351537 -0.00852212 0.0458064 0.18 0 pose: 0.42010630 3.04158 -3.96817 0 0.00145786 -0.00437702 0.999908 0.012794 uwb: 0.0 1227.25 677.253 -imu_odom_: 1691062485.649141759 0.76375 -0.318429 9.67736 -0.0607201 -0.0319579 0.0436758 0.24 0 pose: 0.0 3.04158 -3.96817 0 0.00145786 -0.00437702 0.999908 0.012794 uwb: 0.50011405 1228.03 678.547 -imu_odom_: 1691062485.673100630 0.608127 -0.399832 9.7444 -0.0468716 -0.0383495 0.0447411 0.24 0 pose: 0.45866366 3.03181 -3.97028 0 0.000625822 -0.00264879 0.999914 0.0127906 uwb: 0.0 1228.03 678.547 -imu_odom_: 1691062485.690092871 0.684742 -0.162806 10.1275 -0.0468716 0.00745685 0.0426106 0.19 0.02 pose: 0.0 3.03181 -3.97028 0 0.000625822 -0.00264879 0.999914 0.0127906 uwb: 0.50016071 1228.12 679.597 -imu_odom_: 1691062485.715093762 0.713472 -0.167594 9.96227 -0.0468716 -0.0127832 0.0394148 0.19 0.02 pose: 0.41010897 3.03181 -3.97028 0 0.00366964 -0.00199808 0.999911 0.0126868 uwb: 0.0 1228.12 679.597 -imu_odom_: 1691062485.741085636 0.493206 -0.227449 9.62708 -0.0628506 -0.0191748 0.0511327 0.18 0 pose: 0.0 3.03181 -3.97028 0 0.00366964 -0.00199808 0.999911 0.0126868 uwb: 0.50075274 1227.75 680.114 -imu_odom_: 1691062485.766093817 0.701501 -0.445322 9.37569 -0.0532632 0.0394148 0.0383495 0.2 -0.02 pose: 0.41977092 3.02204 -3.9724 0 0.00722665 -0.0017469 0.999893 0.0126305 uwb: 0.0 1227.75 680.114 -imu_odom_: 1691062485.789079786 -0.131681 -0.545878 9.48104 -0.0649811 0.0223706 0.052198 0.2 -0.02 pose: 0.0 3.02204 -3.9724 0 0.00722665 -0.0017469 0.999893 0.0126305 uwb: 0.50002656 1226.66 680.465 -imu_odom_: 1691062485.806080485 0.890643 -0.0574608 10.6997 -0.04048 -0.0436758 0.0298274 0.18 0 pose: 0.49992449 3.01015 -3.96474 0 0.00667824 -0.00154133 0.999899 0.0124897 uwb: 0.0 1226.66 680.465 -imu_odom_: 1691062485.830082810 0.938527 -0.205901 10.0509 -0.0543285 -0.0245011 0.0458064 0.2 0 pose: 0.0 3.01015 -3.96474 0 0.00667824 -0.00154133 0.999899 0.0124897 uwb: 0.0 1226.66 680.465 -imu_odom_: 1691062485.853073153 0.237026 -0.059855 9.82341 -0.0426106 -0.0287621 0.0383495 0.21 0 pose: 0.48017773 3.00037 -3.96686 0 0.00579088 -0.00332486 0.999901 0.0123803 uwb: 0.50038818 1226.38 680.868 -imu_odom_: 1691062485.878076085 0.782904 -0.452504 9.7037 -0.0639159 -0.052198 0.0500674 0.21 0 pose: 0.0 3.00037 -3.96686 0 0.00579088 -0.00332486 0.999901 0.0123803 uwb: 0.0 1226.38 680.868 -imu_odom_: 1691062485.893204473 0.658405 -0.0263362 10.228 -0.052198 -0.02024 0.0308927 0.19 0.02 pose: 0.39982002 2.9906 -3.96898 0 0.00884012 -0.00204686 0.999882 0.0123671 uwb: 0.50065942 1226.61 681.724 -imu_odom_: 1691062485.917060104 0.577003 -0.258574 10.1203 -0.056459 -0.0266316 0.0458064 0.19 0.02 pose: 0.0 2.9906 -3.96898 0 0.00884012 -0.00204686 0.999882 0.0123671 uwb: 0.0 1226.61 681.724 -imu_odom_: 1691062485.943084350 0.775721 -0.160412 9.89524 -0.0458064 0.0149137 0.0426106 0.23 0 pose: 0.48130928 2.9906 -3.96898 0 0.0102753 -0.00227506 0.999869 0.0122757 uwb: 0.49651524 1226.45 682.535 -imu_odom_: 1691062485.956057830 0.519542 -0.196325 9.90242 -0.0532632 -0.0319579 0.0671117 0.23 0 pose: 0.0 2.9906 -3.96898 0 0.0102753 -0.00227506 0.999869 0.0122757 uwb: 0.0 1226.45 682.535 -imu_odom_: 1691062485.980061322 0.268151 -0.134075 9.81623 -0.0660464 0.0213053 0.0340885 0.17 0 pose: 0.39857181 2.98083 -3.9711 0 0.00924349 -0.00208472 0.99988 0.0122231 uwb: 0.0 1226.45 682.535 -imu_odom_: 1691062486.6113857 0.318429 -0.462081 9.5816 -0.072438 -0.0287621 0.0607201 0.17 0 pose: 0.0 2.98083 -3.9711 0 0.00924349 -0.00208472 0.99988 0.0122231 uwb: 0.50108229 1227.41 684.118 -imu_odom_: 1691062486.31122922 0.490811 -0.253785 9.73243 -0.0383495 -0.00958738 0.0298274 0.2 0.02 pose: 0.39031848 2.96893 -3.96345 0 0.00881337 -0.0005008780.999888 0.0120557 uwb: 0.0 1227.41 684.118 -imu_odom_: 1691062486.48055383 0.418985 -0.131681 10.2185 -0.072438 -0.0223706 0.072438 0.2 0.02 pose: 0.0 2.96893 -3.96345 0 0.00881337 -0.0005008780.999888 0.0120557 uwb: 0.49963878 1228 685.618 -imu_odom_: 1691062486.73171188 0.581791 -0.107739 10.8002 -0.0553937 -0.0234358 0.0340885 0.19 0 pose: 0.49962996 2.95916 -3.96558 0 0.00487677 -0.00208033 0.999916 0.0118538 uwb: 0.0 1228 685.618 -imu_odom_: 1691062486.98128341 0.502782 -0.268151 10.0676 -0.0777643 -0.0340885 0.0394148 0.19 0 pose: 0.0 2.95916 -3.96558 0 0.00487677 -0.00208033 0.999916 0.0118538 uwb: 0.49996841 1228.06 686.682 -imu_odom_: 1691062486.122053390 0.933739 -0.395043 9.54089 -0.056459 0.0213053 0.0351537 0.18 0 pose: 0.42988505 2.94939 -3.96771 0 0.00349356 0.000380509 0.999926 0.0116865 uwb: 0.0 1228.06 686.682 -imu_odom_: 1691062486.139051470 0.481235 -0.4956 9.88326 -0.0735032 0.0511327 0.0458064 0.18 0 pose: 0.0 2.94939 -3.96771 0 0.00349356 0.000380509 0.999926 0.0116865 uwb: 0.49991882 1228.72 688.069 -imu_odom_: 1691062486.164107489 0.562637 -0.265756 10.0652 -0.0617853 -0.00213053 0.0287621 0.18 0 pose: 0.48149610 2.94939 -3.96771 0 0.0058636 -0.00157697 0.999913 0.0117409 uwb: 0.0 1228.72 688.069 -imu_odom_: 1691062486.188040704 0.186748 -0.433351 10.0006 -0.0713727 -0.015979 0.04048 0.18 0 pose: 0.0 2.94939 -3.96771 0 0.0058636 -0.00157697 0.999913 0.0117409 uwb: 0.50002965 1230.78 689.822 -imu_odom_: 1691062486.211034847 0.497994 -0.35913 9.87608 -0.0511327 0.00639159 0.0276969 0.24 0 pose: 0.82830534 2.92834 -3.96507 0 0.00620264 -0.00366166 0.999904 0.0118445 uwb: 0.0 1230.78 689.822 -imu_odom_: 1691062486.228092129 0.603339 -0.232238 10.5345 -0.0458064 0.0543285 0.04048 0.24 0 pose: 0.0 2.92834 -3.96507 0 0.00620264 -0.00366166 0.999904 0.0118445 uwb: 0.0 1230.78 689.822 -imu_odom_: 1691062486.244092810 0.141258 -0.383072 9.62948 -0.0532632 0.0213053 0.0340885 0.18 0.02 pose: 0.7027001 2.92772 -3.96221 0 0.00591769 -0.00430436 0.999903 0.0118813 uwb: 0.49990425 1230.5 690.759 -imu_odom_: 1691062486.270085567 0.23942 -0.198719 9.64145 -0.052198 0.0255663 0.0436758 0.18 0.02 pose: 0.0 2.92772 -3.96221 0 0.00591769 -0.00430436 0.999903 0.0118813 uwb: 0.0 1230.5 690.759 -imu_odom_: 1691062486.293063670 0.181959 -0.311246 9.87848 -0.0617853 -0.00213053 0.0415453 0.19 -0.02 pose: 0.41075364 2.91795 -3.96434 0 0.00502409 -0.00457044 0.999905 0.011991 uwb: 0.50143534 1230.62 691.727 -imu_odom_: 1691062486.317029840 0.248997 -0.122104 10.1131 -0.0777643 0.04048 0.0553937 0.19 -0.02 pose: 0.0 2.91795 -3.96434 0 0.00502409 -0.00457044 0.999905 0.011991 uwb: 0.0 1230.62 691.727 -imu_odom_: 1691062486.343026389 0.347159 -0.253785 10.2376 -0.0532632 0.00852212 0.0308927 0.25 -0.02 pose: 0.40997205 2.90818 -3.96647 0 0.000670764 -0.00371258 0.999922 0.011941 uwb: 0.0 1230.62 691.727 -imu_odom_: 1691062486.368039829 0.45011 -0.418985 9.81623 -0.0607201 -0.0117179 0.0415453 0.25 -0.02 pose: 0.47953921 2.89841 -3.9686 0 -0.00268449 -0.00152758 0.999926 0.0117581 uwb: 0.0 1230.62 691.727 -imu_odom_: 1691062486.385035867 0.232238 -0.323217 9.49062 -0.04048 -0.0458064 0.036219 0.21 -0.02 pose: 0.0 2.89841 -3.9686 0 -0.00268449 -0.00152758 0.999926 0.0117581 uwb: 0.99956351 1231.17 693.229 -imu_odom_: 1691062486.410016352 0.610521 -0.215478 10.1778 -0.0532632 0.00745685 0.0500674 0.21 -0.02 pose: 0.25993632 2.89841 -3.9686 0 -0.00176547 -0.0006229920.999928 0.0118267 uwb: 0.0 1231.17 693.229 -imu_odom_: 1691062486.436139180 0.191536 -0.289698 9.22007 -0.0426106 0.0788296 0.0426106 0.18 0.02 pose: 0.42981506 2.88651 -3.96096 0 -0.00143869 -0.00258638 0.999926 0.0117931 uwb: 0.49751574 1229.23 693.036 -imu_odom_: 1691062486.451181248 0.047884 -0.380678 10.1873 -0.0553937 0.00639159 0.0585895 0.18 0.02 pose: 0.0 2.88651 -3.96096 0 -0.00143869 -0.00258638 0.999926 0.0117931 uwb: 0.0 1229.23 693.036 -imu_odom_: 1691062486.468060924 0.775721 -0.203507 10.149 -0.04048 0 0.0426106 0.18 0 pose: 0.48116363 2.87674 -3.96309 0 -0.00423328 -0.00267176 0.99992 0.0116124 uwb: 0.0 1229.23 693.036 -imu_odom_: 1691062486.482118425 0.706289 -0.438139 9.60554 -0.0436758 0.0607201 0.0383495 0.18 0 pose: 0.0 2.87674 -3.96309 0 -0.00423328 -0.00267176 0.99992 0.0116124 uwb: 0.49996257 1229.98 694.809 -imu_odom_: 1691062486.499127587 0.217872 -0.251391 10.2304 -0.0532632 -0.00106526 0.0553937 0.18 0 pose: 0.39932729 2.87217 -3.96409 0 -0.00266871 -0.00316434 0.999925 0.0115208 uwb: 0.0 1229.98 694.809 -imu_odom_: 1691062486.515048942 0.25618 -0.246603 9.68933 -0.0575243 0.00213053 0.0490022 0.18 0 pose: 0.0 2.87217 -3.96409 0 -0.00266871 -0.00316434 0.999925 0.0115208 uwb: 0.0 1229.98 694.809 -imu_odom_: 1691062486.532140929 0.37589 -0.294487 10.0006 -0.0628506 -0.04048 0.0553937 0.25 0.02 pose: 0.0 2.87217 -3.96409 0 -0.00266871 -0.00316434 0.999925 0.0115208 uwb: 0.0 1229.98 694.809 -imu_odom_: 1691062486.557005926 0.737414 -0.198719 9.91199 -0.0692422 0.00426106 0.0511327 0.25 0.02 pose: 0.8021192 2.86697 -3.96523 0 -0.00346479 -0.00298096 0.999924 0.0114545 uwb: 0.0 1229.98 694.809 -imu_odom_: 1691062486.584006290 0.694318 -0.0023942 10.422 -0.0798948 -0.0106526 0.0692422 0.18 0 pose: 0.66866309 2.8572 -3.96737 0 -0.00166554 -0.00270445 0.999934 0.0110315 uwb: 0.100132500 1230.76 696.546 -imu_odom_: 1691062486.609003398 0.459687 -0.232238 10.5129 -0.0735032 0.0106526 0.0372843 0.18 -0.02 pose: 0.0 2.8572 -3.96737 0 -0.00166554 -0.00270445 0.999934 0.0110315 uwb: 0.0 1230.76 696.546 -imu_odom_: 1691062486.625994770 0.237026 -0.244209 9.27514 -0.0660464 -0.0149137 0.0351537 0.18 -0.02 pose: 0.0 2.8572 -3.96737 0 -0.00166554 -0.00270445 0.999934 0.0110315 uwb: 0.0 1230.76 696.546 -imu_odom_: 1691062486.641998075 0.407014 -0.306458 10.3789 -0.056459 -0.0458064 0.0500674 0.18 -0.02 pose: 0.35018932 2.84743 -3.96952 0 0.0012424 -0.00124575 0.999942 0.0106437 uwb: 0.0 1230.76 696.546 -imu_odom_: 1691062486.668024955 0.35913 -0.270545 10.3406 -0.0351537 0.00319579 0.0372843 0.25 0.02 pose: 0.49973217 2.8404 -3.96083 0 0.00102133 -0.00274738 0.999939 0.0106149 uwb: 0.0 1230.76 696.546 -imu_odom_: 1691062486.681984466 0.442927 -0.208296 9.8258 -0.056459 -0.0266316 0.0415453 0.25 0.02 pose: 0.8014777 2.83551 -3.96191 0 0.00019099 -0.00265746 0.99994 0.0106219 uwb: 0.99977349 1230.52 697.959 -imu_odom_: 1691062486.705999631 0.349553 -0.323217 9.74201 -0.0553937 0.0308927 0.0479369 0.18 0 pose: 0.0 2.83551 -3.96191 0 0.00019099 -0.00265746 0.99994 0.0106219 uwb: 0.0 1230.52 697.959 -imu_odom_: 1691062486.731982181 0.258574 -0.213084 9.87608 -0.0543285 -0.00106526 0.0532632 0.25 -0.02 pose: 0.40013804 2.83551 -3.96191 0 -0.000958829-0.00231759 0.999941 0.0105912 uwb: 0.49998591 1230.38 698.684 -imu_odom_: 1691062486.747049622 0.150835 -0.332794 9.84496 -0.0479369 -0.0298274 0.0479369 0.18 0 pose: 0.0 2.83551 -3.96191 0 -0.000958829-0.00231759 0.999941 0.0105912 uwb: 0.0 1230.38 698.684 -imu_odom_: 1691062486.772108557 0.318429 -0.196325 10.1538 -0.0553937 -0.0149137 0.0500674 0.18 0 pose: 0.48034996 2.82575 -3.96406 0 -0.00470887 -0.00236314 0.999933 0.0103098 uwb: 0.0 1230.38 698.684 -imu_odom_: 1691062486.797138620 0.497994 -0.459687 9.8689 -0.0298274 0.0234358 0.036219 0.18 -0.02 pose: 0.0 2.82575 -3.96406 0 -0.00470887 -0.00236314 0.999933 0.0103098 uwb: 0.50110579 1229.73 698.988 -imu_odom_: 1691062486.821093416 0.562637 -0.392649 9.83777 -0.0511327 0.00213053 0.0479369 0.18 -0.02 pose: 0.40921671 2.81598 -3.96622 0 -0.00417777 -0.0007706150.99994 0.010144 uwb: 0.0 1229.73 698.988 -imu_odom_: 1691062486.837029062 0.0263362 -0.150835 9.81862 -0.036219 0.00213053 0.0394148 0.22 0 pose: 0.0 2.81598 -3.96622 0 -0.00417777 -0.0007706150.99994 0.010144 uwb: 0.49828566 1229.57 699.749 -imu_odom_: 1691062486.861958801 0.399832 -0.248997 10.4459 -0.0532632 -0.0117179 0.0596548 0.22 0 pose: 0.49174132 2.80406 -3.95863 0 -0.00207221 -0.00290474 0.999943 0.0100894 uwb: 0.0 1229.57 699.749 -imu_odom_: 1691062486.885032561 0.842759 -0.186748 10.1778 -0.0436758 -0.00106526 0.0330232 0.2 -0.02 pose: 0.0 2.80406 -3.95863 0 -0.00207221 -0.00290474 0.999943 0.0100894 uwb: 0.50054293 1230.3 701.499 -imu_odom_: 1691062486.902967380 0.232238 -0.31364 10.0556 -0.036219 0.0287621 0.036219 0.2 -0.02 pose: 0.40828347 2.79429 -3.96079 0 0.000233648 -0.00161833 0.99995 0.00986499 uwb: 0.0 1230.3 701.499 -imu_odom_: 1691062486.926964464 -0.148441 -0.337582 9.35893 -0.0340885 0.0255663 0.0372843 0.18 0 pose: 0.0 2.79429 -3.96079 0 0.000233648 -0.00161833 0.99995 0.00986499 uwb: 0.0 1230.3 701.499 -imu_odom_: 1691062486.954076817 0.335188 -0.258574 9.56005 -0.0660464 -0.0543285 0.052198 0.18 0 pose: 0.41995188 2.79429 -3.96079 0 -0.0011017 -0.00176015 0.999948 0.00995538 uwb: 0.49930638 1230.44 702.384 -imu_odom_: 1691062486.969996422 0.632069 -0.167594 10.3693 -0.052198 -0.0426106 0.0372843 0.19 0 pose: 0.0 2.79429 -3.96079 0 -0.0011017 -0.00176015 0.999948 0.00995538 uwb: 0.0 1230.44 702.384 -imu_odom_: 1691062486.997105276 0.509965 -0.134075 9.94791 -0.0639159 -0.0319579 0.0468716 0.19 0 pose: 0.51154057 2.78453 -3.96296 0 -0.00359847 -0.00318337 0.99994 0.00980902 uwb: 0.50184364 1231.03 704.302 -imu_odom_: 1691062487.21971736 0.873884 -0.225055 9.61511 -0.052198 0.0276969 0.0426106 0.25 0 pose: 0.14873211 2.77477 -3.96513 0 -0.00207507 -0.00248226 0.999947 0.0097934 uwb: 0.0 1231.03 704.302 -imu_odom_: 1691062487.45011091 0.237026 -0.481235 9.75158 -0.0735032 0.0383495 0.0585895 0.25 0 pose: 0.0 2.77477 -3.96513 0 -0.00207507 -0.00248226 0.999947 0.0097934 uwb: 0.49932982 1232.1 706.64 -imu_odom_: 1691062487.69945214 0.268151 0.0766145 10.0221 -0.0372843 -0.0245011 0.0415453 0.21 0 pose: 0.51949069 2.76501 -3.9673 0 0.00122481 -0.00177488 0.999951 0.00961843 uwb: 0.0 1232.1 706.64 -imu_odom_: 1691062487.84954333 0.0885855 -0.514753 9.24401 -0.072438 -0.0308927 0.0596548 0.21 0 pose: 0.0 2.76501 -3.9673 0 0.00122481 -0.00177488 0.999951 0.00961843 uwb: 0.50064226 1232.21 708.078 -imu_odom_: 1691062487.109022584 0.287304 -0.277727 10.082 -0.0287621 -0.00639159 0.0266316 0.18 -0.02 pose: 0.48083425 2.76284 -3.95754 0 -0.0011749 -0.00112912 0.999955 0.00936351 uwb: 0.0 1232.21 708.078 -imu_odom_: 1691062487.133947083 0.105345 -0.134075 9.87848 -0.0798948 0.00639159 0.0649811 0.25 0 pose: 0.0 2.76284 -3.95754 0 -0.0011749 -0.00112912 0.999955 0.00936351 uwb: 0.49837040 1232.19 709.146 -imu_odom_: 1691062487.148950661 0.888249 -0.071826 10.3621 -0.0639159 -0.0426106 0.0340885 0.25 0 pose: 0.31981832 2.75308 -3.95972 0 -0.00390809 -0.00217076 0.999945 0.00943751 uwb: 0.0 1232.19 709.146 -imu_odom_: 1691062487.172939003 0.632069 -0.25618 10.3477 -0.072438 -0.00426106 0.036219 0.25 0 pose: 0.0 2.75308 -3.95972 0 -0.00390809 -0.00217076 0.999945 0.00943751 uwb: 0.0 1232.19 709.146 -imu_odom_: 1691062487.198996222 0.840365 -0.414197 9.663 -0.052198 0.04048 0.0340885 0.18 0 pose: 0.7979783 2.75308 -3.95972 0 -0.00464509 -0.00187276 0.999944 0.00933281 uwb: 0.50084058 1231.75 709.697 -imu_odom_: 1691062487.224001796 0.543484 -0.189142 10.0245 -0.0692422 0.0127832 0.0479369 0.2 -0.02 pose: 0.38945841 2.74332 -3.9619 0 -0.00377612 -0.0010339 0.99995 0.00916279 uwb: 0.0 1231.75 709.697 -imu_odom_: 1691062487.239923740 0.371101 -0.117316 10.3214 -0.0511327 0.015979 0.0330232 0.2 -0.02 pose: 0.0 2.74332 -3.9619 0 -0.00377612 -0.0010339 0.99995 0.00916279 uwb: 0.49913449 1231.7 710.8 -imu_odom_: 1691062487.265029345 0.122104 -0.464475 9.91439 -0.0745685 -0.0255663 0.0426106 0.2 -0.02 pose: 0.49996275 2.73356 -3.96408 0 0.000345544 -0.00193536 0.999955 0.00924282 uwb: 0.0 1231.7 710.8 -imu_odom_: 1691062487.292217825 0.344765 -0.294487 9.67018 -0.0223706 0.00745685 0.0266316 0.2 -0.02 pose: 0.0 2.73356 -3.96408 0 0.000345544 -0.00193536 0.999955 0.00924282 uwb: 0.50136261 1231.2 711.425 -imu_odom_: 1691062487.316974341 0.744597 -0.335188 10.1059 -0.0617853 -0.00426106 0.0394148 0.19 -0.02 pose: 0.42015617 2.7238 -3.96626 0 0.000365486 -0.0004579360.999957 0.00921253 uwb: 0.0 1231.2 711.425 -imu_odom_: 1691062487.343082013 0.100556 -0.203507 10.1969 -0.0468716 -0.015979 0.0426106 0.19 -0.02 pose: 0.0 2.7238 -3.96626 0 0.000365486 -0.0004579360.999957 0.00921253 uwb: 0.49870287 1230.12 712.252 -imu_odom_: 1691062487.358125253 0.438139 -0.339977 9.60793 -0.0543285 -0.00426106 0.0543285 0.17 0.02 pose: 0.52057567 2.71186 -3.95868 0 -0.00202812 -0.00337288 0.999948 0.00936429 uwb: 0.0 1230.12 712.252 -imu_odom_: 1691062487.384059984 0.416591 -0.0502782 10.1849 -0.0415453 -0.0298274 0.0287621 0.17 0.02 pose: 0.0 2.71186 -3.95868 0 -0.00202812 -0.00337288 0.999948 0.00936429 uwb: 0.50031562 1231.33 713.827 -imu_odom_: 1691062487.406975101 0.023942 -0.565032 9.38766 -0.0756338 -0.00745685 0.056459 0.19 0 pose: 0.50086683 2.7021 -3.96086 0 -0.00216318 -0.00327256 0.999949 0.0092731 uwb: 0.0 1231.33 713.827 -imu_odom_: 1691062487.432948036 0.191536 -0.191536 9.93115 -0.04048 -0.00532632 0.0308927 0.19 0 pose: 0.0 2.7021 -3.96086 0 -0.00216318 -0.00327256 0.999949 0.0092731 uwb: 0.49827708 1230.68 714.632 -imu_odom_: 1691062487.447049288 0.392649 -0.169988 10.4363 -0.0639159 -0.0170442 0.056459 0.19 0 pose: 0.40880564 2.7021 -3.96086 0 -0.00123557 -0.00159347 0.999955 0.00929563 uwb: 0.0 1230.68 714.632 -imu_odom_: 1691062487.470979011 0.23942 -0.0335188 9.97185 -0.0255663 0.0447411 0.0415453 0.19 0 pose: 0.0 2.7021 -3.96086 0 -0.00123557 -0.00159347 0.999955 0.00929563 uwb: 0.0 1230.68 714.632 -imu_odom_: 1691062487.493890045 0.847547 -0.349553 9.63427 -0.0596548 -0.0117179 0.0543285 0.22 0.02 pose: 0.48070301 2.69234 -3.96304 0 -0.00422469 -0.00110846 0.999948 0.00921097 uwb: 0.50004732 1229.33 714.268 -imu_odom_: 1691062487.511135440 0.248997 -0.378284 9.01896 -0.0468716 0.0585895 0.0490022 0.22 0.02 pose: 0.0 2.69234 -3.96304 0 -0.00422469 -0.00110846 0.999948 0.00921097 uwb: 0.0 1229.33 714.268 -imu_odom_: 1691062487.536038941 -0.141258 -0.416591 9.62469 -0.0490022 0 0.0628506 0.18 0 pose: 0.72080225 2.67512 -3.95665 0 -0.0042967 -0.0002679310.999951 0.00886565 uwb: 0.49977027 1230.58 716.273 -imu_odom_: 1691062487.561894929 0.162806 -0.0263362 9.72764 -0.0308927 -0.02024 0.0468716 0.18 0 pose: 0.7775053 2.67064 -3.95766 0 -0.00503164 -0.0005397650.999949 0.00877636 uwb: 0.0 1230.58 716.273 -imu_odom_: 1691062487.577006121 0.560243 -0.198719 9.98861 -0.0628506 -0.00319579 0.0585895 0.2 0 pose: 0.0 2.67064 -3.95766 0 -0.00503164 -0.0005397650.999949 0.00877636 uwb: 0.0 1230.58 716.273 -imu_odom_: 1691062487.602981973 0.586579 -0.306458 9.79228 -0.0553937 0.0415453 0.0447411 0.2 0 pose: 0.49023664 2.67064 -3.95766 0 -0.00703835 0.00141815 0.999939 0.00841236 uwb: 0.50175631 1230.2 717.241 -imu_odom_: 1691062487.626015203 0.792481 -0.361524 9.71088 -0.0798948 -0.0298274 0.0617853 0.18 0 pose: 0.35047816 2.66088 -3.95985 0 -0.00431289 0.000389969 0.999957 0.00825985 uwb: 0.0 1230.2 717.241 -imu_odom_: 1691062487.651035067 0.107739 -0.129287 9.63666 -0.0490022 0.036219 0.0458064 0.18 0 pose: 0.6920555 2.66088 -3.95985 0 -0.00356878 8.5089e-05 0.99996 0.0081834 uwb: 0.50034187 1229.46 717.643 -imu_odom_: 1691062487.667957911 0.287304 -0.287304 10.0245 -0.0990696 -0.00213053 0.0703074 0.23 0 pose: 0.0 2.66088 -3.95985 0 -0.00356878 8.5089e-05 0.99996 0.0081834 uwb: 0.0 1229.46 717.643 -imu_odom_: 1691062487.692912157 0.641646 -0.553061 9.71567 -0.0660464 0.0255663 0.0383495 0.23 0 pose: 0.41132539 2.65113 -3.96206 0 -0.00468184 0.000356388 0.999958 0.00792479 uwb: 0.49930365 1229.94 719.065 -imu_odom_: 1691062487.716940454 0.632069 -0.275333 10.1586 -0.0543285 -0.036219 0.0479369 0.2 0 pose: 0.24907001 2.64137 -3.96427 0 -0.00472071 -0.00221808 0.999957 0.00767949 uwb: 0.0 1229.94 719.065 -imu_odom_: 1691062487.742043143 0.629675 -0.42138 10.3717 -0.0415453 0.00106526 0.0394148 0.2 0 pose: 0.0 2.64137 -3.96427 0 -0.00472071 -0.00221808 0.999957 0.00767949 uwb: 0.49838790 1229.53 720.067 -imu_odom_: 1691062487.757913175 0.481235 0 9.66539 -0.0575243 -0.015979 0.0415453 0.18 0 pose: 0.48162750 2.63916 -3.95451 0 -0.000333722-0.00369647 0.999964 0.00760752 uwb: 0.0 1229.53 720.067 -imu_odom_: 1691062487.783034238 0.155623 -0.387861 9.47146 -0.056459 0.0319579 0.0458064 0.18 0 pose: 0.0 2.63916 -3.95451 0 -0.000333722-0.00369647 0.999964 0.00760752 uwb: 0.50009690 1231.31 722.856 -imu_odom_: 1691062487.807905075 0.0742203 -0.383072 9.56005 -0.0585895 -0.00213053 0.0479369 0.18 0.02 pose: 0.40875898 2.62941 -3.95673 0 0.000790945 -0.00319456 0.999966 0.00757865 uwb: 0.0 1231.31 722.856 -imu_odom_: 1691062487.824889162 0.634463 -0.177171 10.0389 -0.04048 -0.072438 0.0426106 0.18 0.02 pose: 0.0 2.62941 -3.95673 0 0.000790945 -0.00319456 0.999966 0.00757865 uwb: 0.0 1231.31 722.856 -imu_odom_: 1691062487.849074069 0.639252 -0.332794 10.1538 -0.0660464 -0.0245011 0.0426106 0.25 0 pose: 0.49925115 2.61966 -3.95894 0 -0.00273044 -0.00433375 0.99996 0.00739559 uwb: 0.50103597 1232.67 725.161 -imu_odom_: 1691062487.876095732 0.493206 0.00957681 10.0844 -0.0266316 0.0127832 0.0426106 0.2 0 pose: 0.34168238 2.61316 -3.96042 0 0.00116464 -0.00438433 0.999963 0.00735408 uwb: 0.0 1232.67 725.161 -imu_odom_: 1691062487.901933056 0.344765 -0.0981623 10.1035 -0.0543285 -0.0298274 0.0447411 0.2 0 pose: 0.0 2.61316 -3.96042 0 0.00116464 -0.00438433 0.999963 0.00735408 uwb: 0.50035354 1232.87 726.381 -imu_odom_: 1691062487.929012464 0.581791 -0.407014 10.2999 -0.0660464 -0.092678 0.0671117 0.25 0 pose: 0.8039276 2.60991 -3.96116 0 0.0012701 -0.00348271 0.999966 0.00734376 uwb: 0.0 1232.87 726.381 -imu_odom_: 1691062487.945014024 0.964863 -0.301669 9.65103 -0.0596548 -0.0276969 0.0383495 0.25 0 pose: 0.0 2.60991 -3.96116 0 0.0012701 -0.00348271 0.999966 0.00734376 uwb: 0.49998024 1234.35 728.984 -imu_odom_: 1691062487.971990484 0.40462 -0.28491 9.72764 -0.0351537 -0.0213053 0.0383495 0.25 -0.02 pose: 0.51774680 2.60016 -3.96338 0 0.00123981 0.000281189 0.999974 0.00715768 uwb: 0.0 1234.35 728.984 -imu_odom_: 1691062487.996859280 0.378284 -0.25618 9.5385 -0.0490022 0.0319579 0.0394148 0.25 -0.02 pose: 0.0 2.60016 -3.96338 0 0.00123981 0.000281189 0.999974 0.00715768 uwb: 0.49959528 1234.45 729.82 -imu_odom_: 1691062488.23869868 0.246603 -0.311246 9.88326 -0.0628506 -0.0213053 0.0500674 0.23 -0.02 pose: 0.44201439 2.58818 -3.95585 0 0.0044691 -0.00186656 0.999965 0.00689247 uwb: 0.0 1234.45 729.82 -imu_odom_: 1691062488.39850437 0.490811 -0.143652 10.2831 -0.0511327 -0.0543285 0.0436758 0.23 -0.02 pose: 0.0 2.58818 -3.95585 0 0.0044691 -0.00186656 0.999965 0.00689247 uwb: 0.50004742 1234 730.336 -imu_odom_: 1691062488.64961300 0.699107 -0.225055 10.2496 -0.052198 0.00532632 0.0383495 0.19 0 pose: 0.50788362 2.57844 -3.95808 0 -0.000673938-0.0024373 0.999973 0.00685535 uwb: 0.0 1234 730.336 -imu_odom_: 1691062488.86896523 0.363919 -0.186748 9.92875 -0.0394148 0.052198 0.0330232 0.19 0 pose: 0.0 2.57844 -3.95808 0 -0.000673938-0.0024373 0.999973 0.00685535 uwb: 0.50046745 1234.54 731.616 -imu_odom_: 1691062488.112858968 0.586579 -0.158017 10.2065 -0.0543285 0.0149137 0.0532632 0.18 -0.02 pose: 0.67031713 2.56869 -3.96031 0 0.000912546 -0.00129133 0.999976 0.00675318 uwb: 0.0 1234.54 731.616 -imu_odom_: 1691062488.139915054 -0.0311246 -0.0957681 9.75637 -0.0308927 0.0181095 0.036219 0.23 0 pose: 0.41949429 2.56169 -3.96191 0 0.0015223 0.000645569 0.999977 0.00662787 uwb: 0.49943214 1234.44 732.681 -imu_odom_: 1691062488.165836670 0.373495 -0.263362 10.094 -0.0628506 -0.0447411 0.0479369 0.23 0 pose: 0.0 2.56169 -3.96191 0 0.0015223 0.000645569 0.999977 0.00662787 uwb: 0.0 1234.44 732.681 -imu_odom_: 1691062488.181901230 0.943315 -0.198719 9.89045 -0.0372843 0.00745685 0.0276969 0.23 0 pose: 0.7070168 2.55894 -3.96254 0 0.000755718 0.000895153 0.999977 0.00664027 uwb: 0.49856305 1233.81 733.388 -imu_odom_: 1691062488.206881149 0.237026 -0.280122 9.7444 -0.0756338 0 0.0596548 0.23 0 pose: 0.0 2.55894 -3.96254 0 0.000755718 0.000895153 0.999977 0.00664027 uwb: 0.0 1233.81 733.388 -imu_odom_: 1691062488.229814647 0.466869 -0.129287 10.2711 -0.0532632 -0.0245011 0.0245011 0.21 0 pose: 0.52923749 2.54696 -3.95503 0 -0.000283929-0.0009873990.999978 0.00661397 uwb: 0.0 1233.81 733.388 -imu_odom_: 1691062488.246829653 0.737414 -0.253785 9.56723 -0.0905475 0.0149137 0.04048 0.21 0 pose: 0.0 2.54696 -3.95503 0 -0.000283929-0.0009873990.999978 0.00661397 uwb: 0.50015832 1233.53 734.176 -imu_odom_: 1691062488.273001786 0.191536 -0.497994 9.31105 -0.0394148 0.0735032 0.0340885 0.18 0 pose: 0.40983235 2.54696 -3.95503 0 -0.0013768 -0.00122015 0.999977 0.00646796 uwb: 0.0 1233.53 734.176 -imu_odom_: 1691062488.299990504 0.45011 -0.270545 9.87129 -0.0756338 0.0181095 0.0372843 0.18 0 pose: 0.0 2.54696 -3.95503 0 -0.0013768 -0.00122015 0.999977 0.00646796 uwb: 0.49980834 1234.04 735.469 -imu_odom_: 1691062488.325883831 0.131681 -0.177171 10.2592 -0.0372843 -0.0447411 0.0415453 0.2 0 pose: 0.41008315 2.53721 -3.95726 0 0.00050987 -0.00103307 0.999978 0.006601 uwb: 0.0 1234.04 735.469 -imu_odom_: 1691062488.342890671 0.505177 -0.280122 9.63187 -0.052198 0.0340885 0.0266316 0.2 0 pose: 0.0 2.53721 -3.95726 0 0.00050987 -0.00103307 0.999978 0.006601 uwb: 0.50095449 1235.42 737.167 -imu_odom_: 1691062488.368930692 0.100556 -0.213084 9.80665 -0.0415453 -0.00852212 0.036219 0.23 0 pose: 0.52994325 2.52746 -3.95949 0 0.000385712 -0.00264402 0.999974 0.00667625 uwb: 0.0 1235.42 737.167 -imu_odom_: 1691062488.392934500 0.155623 -0.433351 9.44752 -0.0490022 0.00426106 0.0287621 0.23 0 pose: 0.25075867 2.51772 -3.96173 0 -0.000408205-0.00205831 0.999975 0.00670004 uwb: 0.49948171 1234.99 738.109 -imu_odom_: 1691062488.419827852 0.153229 -0.0670376 10.1897 -0.0532632 -0.00319579 0.04048 0.23 0 pose: 0.36016065 2.5161 -3.95467 0 -0.00215058 -0.00170626 0.999973 0.0068049 uwb: 0.0 1234.99 738.109 -imu_odom_: 1691062488.435811045 0.926556 -0.172383 9.97424 -0.052198 -0.0149137 0.0490022 0.19 0 pose: 0.6900727 2.51549 -3.95198 0 -0.00269649 -0.0021424 0.999971 0.00684241 uwb: 0.50058702 1235.85 739.901 -imu_odom_: 1691062488.462811720 0.691924 0.0407014 10.2759 -0.0681769 -0.0127832 0.0532632 0.19 0 pose: 0.0 2.51549 -3.95198 0 -0.00269649 -0.0021424 0.999971 0.00684241 uwb: 0.0 1235.85 739.901 -imu_odom_: 1691062488.487978870 0.270545 -0.354342 10.1251 -0.0532632 -0.0106526 0.0330232 0.2 0 pose: 0.52064584 2.50574 -3.95421 0 -0.00487253 -0.0009854850.999964 0.00687197 uwb: 0.49999208 1236.83 742.004 -imu_odom_: 1691062488.514821185 0.390255 -0.328006 9.62708 -0.0639159 -0.036219 0.0383495 0.2 0 pose: 0.0 2.50574 -3.95421 0 -0.00487253 -0.0009854850.999964 0.00687197 uwb: 0.0 1236.83 742.004 -imu_odom_: 1691062488.540804045 0.454898 -0.225055 10.1059 -0.0351537 0.0106526 0.0170442 0.18 -0.02 pose: 0.42925541 2.49599 -3.95643 0 -0.00215941 -0.0001403470.999975 0.0066729 uwb: 0.49929798 1237.44 744.04 -imu_odom_: 1691062488.557798637 0.282516 -0.253785 10.2304 -0.0479369 0.00958738 0.0468716 0.18 -0.02 pose: 0.0 2.49599 -3.95643 0 -0.00215941 -0.0001403470.999975 0.0066729 uwb: 0.0 1237.44 744.04 -imu_odom_: 1691062488.583803953 0.306458 -0.172383 9.7875 -0.0511327 0.0660464 0.0447411 0.18 0.02 pose: 0.51992258 2.48624 -3.95867 0 -0.000825244-0.0034333 0.99997 0.00684897 uwb: 0.49935340 1237.34 744.593 -imu_odom_: 1691062488.610802003 0.442927 -0.433351 9.44752 -0.0575243 0.0117179 0.0532632 0.25 0.02 pose: 0.42992326 2.47649 -3.96089 0 -0.00222809 -0.00132068 0.999972 0.00696913 uwb: 0.0 1237.34 744.593 -imu_odom_: 1691062488.636853689 -0.241814 -0.114922 9.94073 -0.0234358 0.0543285 0.0415453 0.18 0.02 pose: 0.0 2.47649 -3.96089 0 -0.00222809 -0.00132068 0.999972 0.00696913 uwb: 0.50060451 1237.56 745.697 -imu_odom_: 1691062488.663795745 0.440533 -0.268151 9.77074 -0.0575243 0.0213053 0.0479369 0.25 0 pose: 0.53077733 2.46452 -3.95337 0 -0.00402949 -0.00200449 0.999967 0.00673502 uwb: 0.0 1237.56 745.697 -imu_odom_: 1691062488.679790020 0.0670376 -0.126893 9.85932 -0.0426106 0.0511327 0.0468716 0.25 0 pose: 0.0 2.46452 -3.95337 0 -0.00402949 -0.00200449 0.999967 0.00673502 uwb: 0.0 1237.56 745.697 -imu_odom_: 1691062488.706783987 0.414197 -0.325611 9.96227 -0.0596548 -0.0245011 0.052198 0.23 0.02 pose: 0.60906159 2.45477 -3.9556 0 -0.00586995 -0.00098143 0.999961 0.00654571 uwb: 0.49925132 1237.88 746.68 -imu_odom_: 1691062488.731861021 0.28491 0.0215478 10.489 -0.0681769 -0.00852212 0.052198 0.23 0.02 pose: 0.7035755 2.45477 -3.9556 0 -0.00523008 -0.00141109 0.999964 0.00650418 uwb: 0.0 1237.88 746.68 -imu_odom_: 1691062488.757925539 0.385466 -0.251391 9.89284 -0.0777643 -0.0181095 0.0394148 0.22 0.02 pose: 0.45035246 2.44502 -3.95784 0 -0.00375337 -0.0003089750.999974 0.00621796 uwb: 0.50022539 1237.94 747.507 -imu_odom_: 1691062488.783774246 0.438139 -0.323217 10.1538 -0.0660464 0.0127832 0.0351537 0.22 0.02 pose: 0.0 2.44502 -3.95784 0 -0.00375337 -0.0003089750.999974 0.00621796 uwb: 0.50095449 1236.37 746.97 -imu_odom_: 1691062488.800888701 0.263362 -0.1652 9.94791 -0.0660464 -0.02024 0.0394148 0.21 -0.02 pose: 0.51913225 2.43528 -3.96008 0 0.000154392 -0.00397528 0.999972 0.00628751 uwb: 0.0 1236.37 746.97 -imu_odom_: 1691062488.825824582 0.433351 -0.124498 10.0724 -0.0671117 -0.036219 0.0372843 0.21 -0.02 pose: 0.0 2.43528 -3.96008 0 0.000154392 -0.00397528 0.999972 0.00628751 uwb: 0.0 1236.37 746.97 -imu_odom_: 1691062488.852780053 0.497994 -0.100556 10.082 -0.0585895 -0.0138484 0.0468716 0.21 0.02 pose: 0.42050336 2.42612 -3.95192 0 0.000219298 -0.0007090370.99998 0.00631092 uwb: 0.49800311 1235.26 746.834 -imu_odom_: 1691062488.878775161 0.294487 -0.229843 9.90481 -0.0596548 -0.00319579 0.04048 0.18 0.02 pose: 0.26955471 2.42329 -3.95257 0 0.00191616 0.00143971 0.999978 0.00621415 uwb: 0.0 1235.26 746.834 -imu_odom_: 1691062488.895770920 0.280122 -0.215478 9.76834 -0.0415453 0.04048 0.0394148 0.23 0 pose: 0.0 2.42329 -3.95257 0 0.00191616 0.00143971 0.999978 0.00621415 uwb: 0.50064826 1234.74 747.386 -imu_odom_: 1691062488.920747339 0.833182 -0.268151 10.2017 -0.0607201 0.0458064 0.0415453 0.23 0 pose: 0.33032030 2.41355 -3.95481 0 -0.00144968 0.000624608 0.999979 0.00620577 uwb: 0.0 1234.74 747.386 -imu_odom_: 1691062488.947883042 0.486023 -0.363919 10.0293 -0.052198 0.015979 0.0372843 0.21 0.02 pose: 0.0 2.41355 -3.95481 0 -0.00144968 0.000624608 0.999979 0.00620577 uwb: 0.50005041 1233.63 747.256 -imu_odom_: 1691062488.973827405 0.581791 -0.433351 9.79947 -0.0585895 -0.0127832 0.0426106 0.19 0 pose: 0.42009215 2.4038 -3.95705 0 -0.000503441-0.0004133120.999981 0.00619017 uwb: 0.0 1233.63 747.256 -imu_odom_: 1691062489.804457 0.54109 -0.169988 10.477 -0.0287621 0.00426106 0.0479369 0.23 0.02 pose: 0.28079150 2.4038 -3.95705 0 0.000961686 -0.00266676 0.999977 0.00620308 uwb: 0.0 1233.63 747.256 -imu_odom_: 1691062489.26773326 0.751779 -0.361524 9.77074 -0.052198 0.00745685 0.036219 0.18 0.02 pose: 0.24894760 2.39405 -3.9593 0 0.00264813 -0.00333979 0.999972 0.00615151 uwb: 0.0 1233.63 747.256 -imu_odom_: 1691062489.42739902 -0.131681 -0.282516 9.37809 -0.02024 0.0490022 0.0319579 0.18 0.02 pose: 0.0 2.39405 -3.9593 0 0.00264813 -0.00333979 0.999972 0.00615151 uwb: 0.100175450 1233.33 748.03 -imu_odom_: 1691062489.68903002 0.181959 -0.201113 9.7444 -0.04048 -0.0149137 0.0458064 0.18 0 pose: 0.28165769 2.39405 -3.9593 0 0.00443382 -0.00176346 0.99997 0.00608957 uwb: 0.0 1233.33 748.03 -imu_odom_: 1691062489.95974554 0.756568 -0.0981623 10.5153 -0.0681769 -0.0511327 0.0500674 0.18 0 pose: 0.0 2.39405 -3.9593 0 0.00443382 -0.00176346 0.99997 0.00608957 uwb: 0.49934773 1232.33 748.229 -imu_odom_: 1691062489.120887696 0.588974 -0.146046 9.95748 -0.0532632 -0.0585895 0.0458064 0.18 0.02 pose: 0.41976858 2.38207 -3.95179 0 0.00317818 -0.00199814 0.999974 0.00614825 uwb: 0.0 1232.33 748.229 -imu_odom_: 1691062489.147916377 0.339977 -0.124498 10.1011 -0.0500674 -0.00426106 0.04048 0.18 0.02 pose: 0.0 2.38207 -3.95179 0 0.00317818 -0.00199814 0.999974 0.00614825 uwb: 0.50143877 1232.24 749.205 -imu_odom_: 1691062489.163860788 0.603339 -0.3304 9.5816 -0.0500674 0.0138484 0.0383495 0.2 0 pose: 0.52901310 2.37232 -3.95404 0 0.00543471 -7.50704e-050.999968 0.00592982 uwb: 0.0 1232.24 749.205 -imu_odom_: 1691062489.188728143 0.737414 -0.208296 9.65821 -0.0585895 -0.0245011 0.0617853 0.2 0 pose: 0.0 2.37232 -3.95404 0 0.00543471 -7.50704e-050.999968 0.00592982 uwb: 0.0 1232.24 749.205 -imu_odom_: 1691062489.211740099 0.347159 0.0790087 9.51935 -0.13955 0.0543285 0.0788296 0.2 0 pose: 0.51030456 2.36258 -3.95628 0 0.00499407 0.00142172 0.999969 0.00587906 uwb: 0.0 1232.24 749.205 -imu_odom_: 1691062489.236716527 0.373495 -0.861913 9.88566 -0.0745685 -0.0170442 0.0383495 0.2 0 pose: 0.39903314 2.36258 -3.95628 0 0.00763987 0.00080686 0.999955 0.00548935 uwb: 0.99728394 1231.45 749.18 -imu_odom_: 1691062489.253733872 0.545878 -0.253785 10.0916 -0.0308927 0.0181095 -0.036219 0.22 0 pose: 0.41943612 2.35124 -3.95166 0 0.0057405 -0.00121896 0.999969 0.00517667 uwb: 0.0 1231.45 749.18 -imu_odom_: 1691062489.278739755 0.378284 -0.409408 9.97903 -0.0884169 -0.0308927 0.106526 0.22 0 pose: 0.0 2.35124 -3.95166 0 0.0057405 -0.00121896 0.999969 0.00517667 uwb: 0.0 1231.45 749.18 -imu_odom_: 1691062489.305749479 0.687136 -0.150835 10.3765 -0.0607201 0.0213053 0.0106526 0.23 0 pose: 0.7042756 2.35057 -3.9488 0 0.00627783 -0.00147332 0.999964 0.00544194 uwb: 0.49986976 1232.41 751.201 -imu_odom_: 1691062489.321839709 0.292093 0.100556 9.73961 -0.0745685 -0.0127832 0.0458064 0.23 0 pose: 0.0 2.35057 -3.9488 0 0.00627783 -0.00147332 0.999964 0.00544194 uwb: 0.0 1232.41 751.201 -imu_odom_: 1691062489.345716663 -0.011971 -0.45011 10.0149 -0.0671117 -0.00639159 0.0308927 0.25 0.02 pose: 0.41993773 2.34083 -3.95105 0 0.00601052 -0.00355288 0.999963 0.005074 uwb: 0.50183248 1232.01 751.631 -imu_odom_: 1691062489.369724561 -0.0454898 -0.447716 10.0413 -0.0575243 0.0149137 0.0394148 0.25 0.02 pose: 0.0 2.34083 -3.95105 0 0.00601052 -0.00355288 0.999963 0.005074 uwb: 0.0 1232.01 751.631 -imu_odom_: 1691062489.394901635 0.474052 -0.277727 10.1059 -0.056459 -0.0266316 0.036219 0.19 0 pose: 0.42965801 2.33109 -3.95332 0 0.00579838 -0.00142935 0.999968 0.00536406 uwb: 0.0 1232.01 751.631 -imu_odom_: 1691062489.411835864 0.430956 -0.452504 9.88087 -0.0649811 0.015979 0.0372843 0.19 0 pose: 0.0 2.33109 -3.95332 0 0.00579838 -0.00142935 0.999968 0.00536406 uwb: 0.0 1232.01 751.631 -imu_odom_: 1691062489.437748448 0.481235 -0.304064 9.71806 -0.0490022 -0.0138484 0.0276969 0.2 0.02 pose: 0.49035654 2.32135 -3.95557 0 0.00261965 -0.00306607 0.999977 0.0054426 uwb: 0.99672107 1232.64 753.125 -imu_odom_: 1691062489.464804251 0.184354 -0.253785 9.84017 -0.0628506 -0.0117179 0.0479369 0.23 -0.02 pose: 0.41960818 2.31161 -3.95783 0 0.00436332 -0.00435963 0.999966 0.00553821 uwb: 0.0 1232.64 753.125 -imu_odom_: 1691062489.490802869 0.538695 -0.186748 9.93594 -0.0330232 0.00106526 0.0181095 0.18 -0.02 pose: 0.25024547 2.31161 -3.95783 0 0.00502578 -0.00298331 0.999967 0.00562484 uwb: 0.49998059 1231.8 754.016 -imu_odom_: 1691062489.517698854 0.811634 -0.208296 10.0293 -0.0511327 -0.00958738 0.0468716 0.25 -0.02 pose: 0.28159360 2.29961 -3.95034 0 0.00361023 -0.00223729 0.999975 0.00562608 uwb: 0.0 1231.8 754.016 -imu_odom_: 1691062489.533804833 0.155623 -0.160412 9.23444 -0.0383495 0.0298274 0.0266316 0.25 -0.02 pose: 0.0 2.29961 -3.95034 0 0.00361023 -0.00223729 0.999975 0.00562608 uwb: 0.49995433 1231.22 754.633 -imu_odom_: 1691062489.560847221 0.222661 -0.622492 9.55765 -0.0830906 -0.0340885 0.052198 0.23 -0.02 pose: 0.24819527 2.29961 -3.95034 0 0.00546083 -0.00064064 0.999968 0.00580077 uwb: 0.0 1231.22 754.633 -imu_odom_: 1691062489.585721283 0.462081 -0.21069 9.64863 -0.0426106 -0.02024 0.0245011 0.23 -0.02 pose: 0.0 2.29961 -3.95034 0 0.00546083 -0.00064064 0.999968 0.00580077 uwb: 0.49990476 1231.75 755.782 -imu_odom_: 1691062489.612789918 0.105345 -0.387861 9.77313 -0.0479369 -0.00106526 0.0383495 0.21 0.02 pose: 0.44142267 2.28987 -3.95259 0 0.00529815 -0.00084853 0.999969 0.00578028 uwb: 0.0 1231.75 755.782 -imu_odom_: 1691062489.628722664 0.289698 -0.316035 10.058 -0.0543285 0 0.04048 0.21 0.02 pose: 0.0 2.28987 -3.95259 0 0.00529815 -0.00084853 0.999969 0.00578028 uwb: 0.0 1231.75 755.782 -imu_odom_: 1691062489.655687185 0.409408 -0.306458 10.1107 -0.0468716 -0.0287621 0.0458064 0.25 0.02 pose: 0.51003624 2.28012 -3.95483 0 0.00292747 -0.0005311320.999978 0.00584973 uwb: 0.50104506 1232.18 757.036 -imu_odom_: 1691062489.680747312 0.0670376 -0.308852 10.1682 -0.0543285 0.036219 0.056459 0.25 0.02 pose: 0.0 2.28012 -3.95483 0 0.00292747 -0.0005311320.999978 0.00584973 uwb: 0.0 1232.18 757.036 -imu_odom_: 1691062489.705018559 0.0430956 -0.435745 9.75158 -0.0308927 0.0245011 0.0287621 0.2 0 pose: 0.43858504 2.27038 -3.95708 0 -5.5286e-05 -0.00278705 0.999979 0.00582413 uwb: 0.49996017 1232.02 757.63 -imu_odom_: 1691062489.728743278 0.651223 -0.306458 9.96706 -0.0628506 -0.0319579 0.0585895 0.2 0 pose: 0.50991376 2.25838 -3.94959 0 -0.0031269 -0.0047223 0.999968 0.00558161 uwb: 0.0 1232.02 757.63 -imu_odom_: 1691062489.744682148 0.342371 -0.280122 9.72046 -0.052198 0.0138484 0.0458064 0.19 0 pose: 0.0 2.25838 -3.94959 0 -0.0031269 -0.0047223 0.999968 0.00558161 uwb: 0.50012932 1232.29 759.035 -imu_odom_: 1691062489.771793654 -0.0981623 -0.217872 9.75158 -0.0660464 0.036219 0.0575243 0.19 0 pose: 0.24003524 2.25838 -3.94959 0 -0.00420992 -0.00518518 0.999962 0.00561025 uwb: 0.0 1232.29 759.035 -imu_odom_: 1691062489.796670633 0.0550666 -0.150835 9.47146 -0.0553937 0.00213053 0.0330232 0.25 0 pose: 0.39974183 2.24864 -3.95184 0 -0.00396611 -0.00367786 0.999971 0.00533435 uwb: 0.50001267 1231.36 759.156 -imu_odom_: 1691062489.823823552 0.474052 -0.397437 9.51216 -0.108657 0.0106526 0.0649811 0.23 0 pose: 0.44978392 2.2418 -3.95343 0 -0.00860313 -0.00222604 0.999947 0.00521312 uwb: 0.0 1231.36 759.156 -imu_odom_: 1691062489.839742007 0.584185 -0.251391 10.4339 -0.076699 0.00106526 0.0330232 0.23 0 pose: 0.0 2.2418 -3.95343 0 -0.00860313 -0.00222604 0.999947 0.00521312 uwb: 0.50031596 1230.44 759.279 -imu_odom_: 1691062489.866724901 0.646434 -0.179565 9.84017 -0.0745685 0.00213053 0.0447411 0.23 0.02 pose: 0.7133164 2.2389 -3.9541 0 -0.0080476 -0.00278718 0.999951 0.00512559 uwb: 0.0 1230.44 759.279 -imu_odom_: 1691062489.891677122 0.773327 -0.253785 9.99819 -0.036219 -0.015979 0.0287621 0.23 0.02 pose: 0.0 2.2389 -3.9541 0 -0.0080476 -0.00278718 0.999951 0.00512559 uwb: 0.49998642 1231.03 760.762 -imu_odom_: 1691062489.918660308 0.45011 -0.158017 9.63427 -0.0553937 -0.00852212 0.04048 0.22 0.02 pose: 0.43964660 2.2389 -3.9541 0 -0.0042276 -0.00408642 0.999971 0.0049174 uwb: 0.0 1231.03 760.762 -imu_odom_: 1691062489.944773830 0.533907 -0.368707 10.0245 -0.0500674 -0.02024 0.0415453 0.22 0.02 pose: 0.0 2.2389 -3.9541 0 -0.0042276 -0.00408642 0.999971 0.0049174 uwb: 0.50059302 1231.53 762.329 -imu_odom_: 1691062489.961771927 0.320823 -0.3304 9.56244 -0.056459 -0.0106526 0.0458064 0.25 0 pose: 0.50930715 2.22689 -3.94663 0 0.000406314 -0.00257089 0.999984 0.00501386 uwb: 0.0 1231.53 762.329 -imu_odom_: 1691062489.986643365 0.124498 -0.0861913 9.73961 -0.0266316 0.0340885 0.0372843 0.25 0 pose: 0.0 2.22689 -3.94663 0 0.000406314 -0.00257089 0.999984 0.00501386 uwb: 0.49944106 1231.62 763.475 -imu_odom_: 1691062490.12769722 0.452504 -0.234632 9.50259 -0.0692422 0.00639159 0.0383495 0.2 0 pose: 0.53099624 2.21715 -3.94889 0 0.00233163 -0.00301543 0.99998 0.00495559 uwb: 0.0 1231.62 763.475 -imu_odom_: 1691062490.38664525 0.292093 -0.457293 9.57441 -0.0532632 -0.00426106 0.0500674 0.19 0 pose: 0.17890509 2.20741 -3.95115 0 0.000639048 -0.00289819 0.999983 0.00492856 uwb: 0.49970654 1231.25 764.265 -imu_odom_: 1691062490.64779223 0.366313 -0.349553 9.55526 -0.0351537 0.0117179 0.0319579 0.19 0 pose: 0.43080417 2.20053 -3.95276 0 0.0013199 -0.00146534 0.999986 0.00496531 uwb: 0.0 1231.25 764.265 -imu_odom_: 1691062490.89632587 0.612916 -0.423774 10.0293 -0.0596548 -0.0245011 0.0596548 0.2 0 pose: 0.7914173 2.19767 -3.95342 0 0.00089312 -0.00212399 0.999985 0.00492229 uwb: 0.49887836 1232.15 765.814 -imu_odom_: 1691062490.105662745 0.732626 -0.337582 9.78031 -0.0426106 -0.02024 0.0330232 0.2 0 pose: 0.0 2.19767 -3.95342 0 0.00089312 -0.00212399 0.999985 0.00492229 uwb: 0.0 1232.15 765.814 -imu_odom_: 1691062490.130991479 0.337582 -0.23942 9.98622 -0.036219 0.00958738 0.0351537 0.19 0 pose: 0.51017932 2.19767 -3.95342 0 -0.000819027-0.00593035 0.99997 0.00485458 uwb: 0.0 1232.15 765.814 -imu_odom_: 1691062490.156790042 0.23942 -0.19393 9.6223 -0.0340885 -0.00852212 0.036219 0.19 0 pose: 0.0 2.19767 -3.95342 0 -0.000819027-0.00593035 0.99997 0.00485458 uwb: 0.49930415 1232.67 767.329 -imu_odom_: 1691062490.173844139 0.684742 -0.234632 9.89763 -0.0703074 -0.0596548 0.0532632 0.19 0 pose: 0.41023508 2.18793 -3.95569 0 0.00217129 -0.00599576 0.999968 0.00475978 uwb: 0.0 1232.67 767.329 -imu_odom_: 1691062490.197747348 0.751779 -0.174777 10.1179 -0.052198 -0.0809601 0.0372843 0.19 0 pose: 0.0 2.18793 -3.95569 0 0.00217129 -0.00599576 0.999968 0.00475978 uwb: 0.50271923 1233.1 768.525 -imu_odom_: 1691062490.221656098 0.304064 -0.335188 10.5058 -0.0458064 -0.00958738 0.04048 0.18 0 pose: 0.51087051 2.17593 -3.94822 0 -0.00058002 -0.00295509 0.999984 0.00478186 uwb: 0.0 1233.1 768.525 -imu_odom_: 1691062490.246651199 0.0454898 -0.184354 10.3094 -0.04048 -0.00532632 0.036219 0.18 0 pose: 0.0 2.17593 -3.94822 0 -0.00058002 -0.00295509 0.999984 0.00478186 uwb: 0.49769140 1232.56 769.056 -imu_odom_: 1691062490.263659218 0.725443 -0.138864 9.9503 -0.0500674 -0.00532632 0.0607201 0.21 0 pose: 0.41205490 2.16619 -3.95049 0 0.00325822 -0.00245714 0.99998 0.00474097 uwb: 0.0 1232.56 769.056 -imu_odom_: 1691062490.288815594 0.469264 -0.141258 10.0652 -0.0596548 0.0213053 0.0287621 0.21 0 pose: 0.0 2.16619 -3.95049 0 0.00325822 -0.00245714 0.99998 0.00474097 uwb: 0.49940331 1233.5 770.942 -imu_odom_: 1691062490.315686216 0.651223 -0.509965 9.77553 -0.0617853 -0.00319579 0.0596548 0.22 0 pose: 0.48664999 2.15645 -3.95276 0 1.21756e-05 -0.00199279 0.999987 0.00468958 uwb: 0.0 1233.5 770.942 -imu_odom_: 1691062490.332646698 0.227449 -0.237026 9.89763 -0.0340885 0.0234358 0.0276969 0.22 0 pose: 0.0 2.15645 -3.95276 0 1.21756e-05 -0.00199279 0.999987 0.00468958 uwb: 0.50111814 1233.41 771.426 -imu_odom_: 1691062490.349627012 0.505177 -0.0742203 10.0676 -0.0596548 -0.0458064 0.0607201 0.27 -0.02 pose: 0.41957041 2.14671 -3.95503 0 0.00205517 2.83891e-05 0.999987 0.00465694 uwb: 0.0 1233.41 771.426 -imu_odom_: 1691062490.374734976 0.751779 -0.270545 10.1706 -0.0660464 -0.0692422 0.0372843 0.27 -0.02 pose: 0.0 2.14671 -3.95503 0 0.00205517 2.83891e-05 0.999987 0.00465694 uwb: 0.0 1233.41 771.426 -imu_odom_: 1691062490.401609098 1.09415 -0.277727 9.83538 -0.0756338 -0.02024 0.0394148 0.23 0 pose: 0.44225399 2.1347 -3.94756 0 0.00171367 -0.0007802410.999988 0.00447516 uwb: 0.50018782 1233.5 772.531 -imu_odom_: 1691062490.426595449 0.897826 -0.392649 9.97664 -0.0575243 0.00426106 0.0298274 0.19 0 pose: 0.41748519 2.1347 -3.94756 0 0.00634446 -0.0006712660.99997 0.00440215 uwb: 0.0 1233.5 772.531 -imu_odom_: 1691062490.443596469 0.146046 -0.483629 10.1754 -0.0692422 0.00532632 0.0458064 0.22 0 pose: 0.0 2.1347 -3.94756 0 0.00634446 -0.0006712660.99997 0.00440215 uwb: 0.49997491 1232.99 773.424 -imu_odom_: 1691062490.468595361 0.572214 -0.275333 9.98382 -0.0628506 0.00639159 0.0340885 0.22 0 pose: 0.0 2.1347 -3.94756 0 0.00634446 -0.0006712660.99997 0.00440215 uwb: 0.0 1232.99 773.424 -imu_odom_: 1691062490.495588471 0.675165 -0.418985 9.63906 -0.0426106 -0.0255663 0.0372843 0.23 -0.02 pose: 0.52016792 2.12496 -3.94983 0 0.0099666 -0.00253705 0.999937 0.00449407 uwb: 0.50100441 1233.25 773.962 -imu_odom_: 1691062490.520596112 0.390255 -0.110133 9.56723 -0.0234358 -0.00639159 0.0255663 0.19 0 pose: 0.42041032 2.11522 -3.95211 0 0.00701777 -0.00399749 0.999957 0.00452228 uwb: 0.0 1233.25 773.962 -imu_odom_: 1691062490.537647293 0.268151 -0.232238 9.5792 -0.0639159 -0.00106526 0.0500674 0.23 -0.02 pose: 0.27974471 2.10548 -3.95438 0 0.00817284 -0.00448683 0.999946 0.00459786 uwb: 0.49950829 1233.62 775.187 -imu_odom_: 1691062490.562602440 0.428562 -0.244209 9.03093 -0.036219 0.00213053 0.0213053 0.23 -0.02 pose: 0.16949983 2.10548 -3.95438 0 0.00636618 -0.00286391 0.999965 0.00468138 uwb: 0.0 1233.62 775.187 -imu_odom_: 1691062490.589612173 0.691924 -0.411803 10.3477 -0.0607201 -0.0383495 0.0511327 0.23 0 pose: 0.0 2.10548 -3.95438 0 0.00636618 -0.00286391 0.999965 0.00468138 uwb: 0.49798887 1233.13 775.66 -imu_odom_: 1691062490.614592400 0.73502 0.0574608 10.2352 -0.052198 -0.0553937 0.0394148 0.18 0.02 pose: 0.42050073 2.09347 -3.94691 0 0.00358075 -0.00228275 0.999979 0.00481011 uwb: 0.0 1233.13 775.66 -imu_odom_: 1691062490.631591087 0.476446 -0.347159 9.38288 -0.0905475 0.015979 0.0596548 0.23 0 pose: 0.0 2.09347 -3.94691 0 0.00358075 -0.00228275 0.999979 0.00481011 uwb: 0.49979994 1232.39 775.98 -imu_odom_: 1691062490.656804332 0.339977 -0.45011 9.50259 -0.0596548 -0.00106526 0.0213053 0.23 0 pose: 0.51905386 2.08374 -3.94918 0 0.00710217 -0.00206937 0.999962 0.00463581 uwb: 0.0 1232.39 775.98 -imu_odom_: 1691062490.683700327 0.351948 -0.296881 9.7444 -0.0596548 -0.0149137 0.0394148 0.2 0 pose: 0.0 2.08374 -3.94918 0 0.00710217 -0.00206937 0.999962 0.00463581 uwb: 0.50070401 1232.42 776.729 -imu_odom_: 1691062490.708602979 0.792481 -0.225055 10.2232 -0.0500674 -0.0223706 0.0415453 0.19 0 pose: 0.62072167 2.074 -3.95146 0 0.00206699 -0.00471313 0.999976 0.00473392 uwb: 0.0 1232.42 776.729 -imu_odom_: 1691062490.725645702 0.37589 -0.203507 9.83538 -0.0575243 0.0276969 0.0479369 0.19 0 pose: 0.0 2.074 -3.95146 0 0.00206699 -0.00471313 0.999976 0.00473392 uwb: 0.0 1232.42 776.729 -imu_odom_: 1691062490.750737627 0.35913 -0.169988 10.319 -0.04048 0.0532632 0.0553937 0.18 0.02 pose: 0.8055617 2.074 -3.95146 0 0.00292473 -0.00450474 0.999974 0.0047297 uwb: 0.50109481 1232.28 777.258 -imu_odom_: 1691062490.777591917 0.208296 -0.131681 10.1275 -0.0223706 -0.0383495 0.0372843 0.18 0.02 pose: 0.0 2.074 -3.95146 0 0.00292473 -0.00450474 0.999974 0.0047297 uwb: 0.0 1232.28 777.258 -imu_odom_: 1691062490.802706298 0.723049 -0.3304 9.91199 -0.0649811 -0.00639159 0.0575243 0.18 0.02 pose: 0.41843885 2.06426 -3.95373 0 0.00229805 -0.00243121 0.999984 0.00458789 uwb: 0.49884045 1232.9 778.598 -imu_odom_: 1691062490.829561172 0.222661 -0.0335188 9.98143 -0.0351537 0.0255663 0.0426106 0.18 0.02 pose: 0.0 2.06426 -3.95373 0 0.00229805 -0.00243121 0.999984 0.00458789 uwb: 0.0 1232.9 778.598 -imu_odom_: 1691062490.845555167 0.0526724 -0.349553 9.27753 -0.0692422 0.00426106 0.0639159 0.19 0 pose: 0.52005417 2.05225 -3.94626 0 -0.0005790230.00026087 0.99999 0.00440977 uwb: 0.50017323 1233.27 780.181 -imu_odom_: 1691062490.872558484 0.737414 -0.251391 9.43076 -0.0639159 0.0106526 0.0308927 0.19 0 pose: 0.0 2.05225 -3.94626 0 -0.0005790230.00026087 0.99999 0.00440977 uwb: 0.0 1233.27 780.181 -imu_odom_: 1691062490.897686571 0.136469 -0.430956 9.43794 -0.0777643 0.00319579 0.0671117 0.25 0 pose: 0.51975963 2.04251 -3.94854 0 -0.00205728 0.00129085 0.999989 0.0041204 uwb: 0.50040363 1232.23 780.009 -imu_odom_: 1691062490.924588399 0.172383 -0.162806 10.0844 -0.0596548 -0.0106526 0.0308927 0.23 0 pose: 0.14994552 2.04251 -3.94854 0 -0.00216046 0.000749249 0.999989 0.00405497 uwb: 0.0 1232.23 780.009 -imu_odom_: 1691062490.940694966 0.526724 -0.344765 9.80665 -0.0830906 -0.00426106 0.0543285 0.23 0 pose: 0.45110810 2.03277 -3.95082 0 -0.00234026 -0.00152533 0.999989 0.00379569 uwb: 0.50011491 1231.23 779.808 -imu_odom_: 1691062490.967584837 0.304064 -0.31364 10.4052 -0.0330232 0.00426106 0.036219 0.25 0 pose: 0.7208701 2.03277 -3.95082 0 -0.00297417 -0.00124407 0.999987 0.00382523 uwb: 0.0 1231.23 779.808 -imu_odom_: 1691062490.992537941 0.73502 -0.100556 9.88087 -0.0671117 -0.00532632 0.0479369 0.25 0 pose: 0.0 2.03277 -3.95082 0 -0.00297417 -0.00124407 0.999987 0.00382523 uwb: 0.49980868 1231.65 781.32 -imu_odom_: 1691062491.9589416 0.184354 -0.217872 9.57202 -0.0330232 0.00106526 0.0447411 0.23 0.02 pose: 0.43711241 2.02304 -3.95311 0 -0.00367148 -0.00212295 0.999984 0.00380604 uwb: 0.0 1231.65 781.32 -imu_odom_: 1691062491.34557403 0.0646434 -0.107739 9.991 -0.0511327 -0.0223706 0.0553937 0.23 0.02 pose: 0.0 2.02304 -3.95311 0 -0.00367148 -0.00212295 0.999984 0.00380604 uwb: 0.50039498 1232.52 783.173 -imu_odom_: 1691062491.51549387 1.11091 -0.416591 9.84735 -0.036219 -0.0308927 0.04048 0.23 0.02 pose: 0.0 2.02304 -3.95311 0 -0.00367148 -0.00212295 0.999984 0.00380604 uwb: 0.0 1232.52 783.173 -imu_odom_: 1691062491.76543913 0.399832 -0.440533 9.75877 -0.0553937 -0.00852212 0.0479369 0.23 0 pose: 0.51021432 2.01102 -3.94566 0 -0.00294904 -0.00250972 0.999986 0.00372169 uwb: 0.0 1232.52 783.173 -imu_odom_: 1691062491.103539949 0.617704 -0.102951 10.3932 -0.0553937 -0.0213053 0.0511327 0.21 0 pose: 0.76915968 2.00128 -3.94795 0 -0.00309812 -0.00340283 0.999984 0.00338835 uwb: 0.49822817 1232.45 784.375 -imu_odom_: 1691062491.119582652 0.821211 -0.397437 9.38766 -0.0649811 -0.0127832 0.0511327 0.21 0 pose: 0.0 2.00128 -3.94795 0 -0.00309812 -0.00340283 0.999984 0.00338835 uwb: 0.0 1232.45 784.375 -imu_odom_: 1691062491.145536083 0.241814 -0.354342 10.003 -0.036219 0.0255663 0.0479369 0.23 0.02 pose: 0.7010389 2.00128 -3.94795 0 -0.00244987 -0.00302089 0.999987 0.00334848 uwb: 0.50059336 1231.96 784.823 -imu_odom_: 1691062491.167529364 0.213084 -0.553061 9.29429 -0.0532632 0.00319579 0.052198 0.23 0.02 pose: 0.0 2.00128 -3.94795 0 -0.00244987 -0.00302089 0.999987 0.00334848 uwb: 0.0 1231.96 784.823 -imu_odom_: 1691062491.192527681 -0.0766145 -0.215478 9.57681 -0.0266316 -0.00532632 0.0308927 0.2 0 pose: 0.43039031 1.99155 -3.95025 0 0.000248927 -0.00277593 0.999991 0.00311422 uwb: 0.0 1231.96 784.823 -imu_odom_: 1691062491.209597824 0.699107 -0.543484 9.8689 -0.0628506 -0.036219 0.0500674 0.2 0 pose: 0.0 1.99155 -3.95025 0 0.000248927 -0.00277593 0.999991 0.00311422 uwb: 0.0 1231.96 784.823 -imu_odom_: 1691062491.234575726 0.739808 -0.112527 9.57441 -0.036219 0.0149137 0.052198 0.19 0 pose: 0.48008539 1.98182 -3.95255 0 -0.00360381 -0.00504668 0.999977 0.00291839 uwb: 0.99974020 1232.35 786.348 -imu_odom_: 1691062491.251647036 0.512359 -0.347159 9.67018 -0.0660464 -0.0287621 0.056459 0.19 0 pose: 0.0 1.98182 -3.95255 0 -0.00360381 -0.00504668 0.999977 0.00291839 uwb: 0.0 1232.35 786.348 -imu_odom_: 1691062491.276529281 0.0814029 -0.526724 9.4978 -0.052198 0.0479369 0.0319579 0.18 0 pose: 0.42929375 1.96978 -3.94513 0 -0.00297574 -0.00489937 0.999979 0.00285971 uwb: 0.0 1232.35 786.348 -imu_odom_: 1691062491.303532025 0.457293 -0.277727 9.88566 -0.0415453 -0.0458064 0.0500674 0.18 0 pose: 0.0 1.96978 -3.94513 0 -0.00297574 -0.00489937 0.999979 0.00285971 uwb: 0.50000425 1233.01 787.98 -imu_odom_: 1691062491.328540549 0.31364 -0.160412 10.2879 -0.0340885 0 0.0511327 0.2 0 pose: 0.42016549 1.96005 -3.94743 0 -0.000681759-0.00514344 0.999983 0.00264924 uwb: 0.0 1233.01 787.98 -imu_odom_: 1691062491.355544459 0.397437 -0.0407014 9.92875 -0.0532632 0.00745685 0.0383495 0.2 0 pose: 0.0 1.96005 -3.94743 0 -0.000681759-0.00514344 0.999983 0.00264924 uwb: 0.49940347 1232.54 789.146 -imu_odom_: 1691062491.380534902 0.0502782 -0.320823 9.67257 -0.0671117 0.00852212 0.0585895 0.19 0 pose: 0.0 1.95032 -3.94974 0 -5.28371e-05-0.00384319 0.999989 0.0025271 uwb: 0.0 1232.54 789.146 -imu_odom_: 1691062491.397522512 0.699107 -0.380678 10.1011 -0.056459 -0.0266316 0.0426106 0.19 0 pose: 0.0 1.95032 -3.94974 0 -5.28371e-05-0.00384319 0.999989 0.0025271 uwb: 0.50121747 1232.81 790.746 -imu_odom_: 1691062491.422516746 0.588974 -0.0885855 10.2544 -0.0681769 -0.0266316 0.0649811 0.18 -0.02 pose: 0.51901904 1.95032 -3.94974 0 -0.00180763 0.000163868 0.999996 0.0023649 uwb: 0.0 1232.81 790.746 -imu_odom_: 1691062491.449745508 1.00078 -0.0933739 10.2232 -0.0681769 0.00745685 0.0319579 0.23 -0.02 pose: 0.41933432 1.9406 -3.95206 0 -0.00101462 -0.00076817 0.999997 0.00208041 uwb: 0.50005091 1233.61 792.594 -imu_odom_: 1691062491.475526581 0.517148 -0.385466 9.6223 -0.0798948 0.0394148 0.0490022 0.2 0 pose: 0.24065367 1.92855 -3.94466 0 0.00123843 0.00016654 0.999997 0.00189125 uwb: 0.0 1233.61 792.594 -imu_odom_: 1691062491.502514743 0.0933739 -0.215478 9.92157 -0.04048 0.00532632 0.0394148 0.26 -0.02 pose: 0.28022893 1.92855 -3.94466 0 0.00315595 -0.0004107580.999993 0.00192891 uwb: 0.49878812 1233.3 793.236 -imu_odom_: 1691062491.518563279 0.840365 -0.385466 9.68215 -0.076699 -0.0223706 0.0447411 0.26 -0.02 pose: 0.0 1.92855 -3.94466 0 0.00315595 -0.0004107580.999993 0.00192891 uwb: 0.0 1233.3 793.236 -imu_odom_: 1691062491.545664596 0.675165 -0.268151 9.22965 -0.0436758 0.00106526 0.0340885 0.23 0.02 pose: 0.24955446 1.91882 -3.94698 0 0.0025543 -0.00220488 0.999993 0.00183864 uwb: 0.50045921 1233.11 794.487 -imu_odom_: 1691062491.570719782 0.253785 -0.215478 10.3837 -0.052198 0.0330232 0.036219 0.23 0.02 pose: 0.0 1.91882 -3.94698 0 0.0025543 -0.00220488 0.999993 0.00183864 uwb: 0.0 1233.11 794.487 -imu_odom_: 1691062491.597650491 0.402226 -0.0167594 9.72285 -0.0511327 -0.0330232 0.0415453 0.2 0 pose: 0.43949524 1.91882 -3.94698 0 0.00292769 -0.00245932 0.999991 0.00182084 uwb: 0.49915266 1232.94 795.36 -imu_odom_: 1691062491.622513196 0.45011 -0.296881 9.9503 -0.0468716 -0.0181095 0.0234358 0.2 0 pose: 0.0 1.91882 -3.94698 0 0.00292769 -0.00245932 0.999991 0.00182084 uwb: 0.0 1232.94 795.36 -imu_odom_: 1691062491.649571643 0.320823 -0.244209 10.1849 -0.0639159 -0.04048 0.0511327 0.22 0 pose: 0.51151228 1.9091 -3.94931 0 0.0018588 -0.00119036 0.999996 0.00191134 uwb: 0.50007425 1233.24 796.531 -imu_odom_: 1691062491.666493926 0.215478 -0.368707 9.81383 -0.0660464 -0.00213053 0.0436758 0.22 0 pose: 0.0 1.9091 -3.94931 0 0.0018588 -0.00119036 0.999996 0.00191134 uwb: 0.0 1233.24 796.531 -imu_odom_: 1691062491.691502450 0.320823 -0.304064 10.0748 -0.0745685 0.0181095 0.0511327 0.27 0 pose: 0.51862824 1.89705 -3.9419 0 0.00170393 -0.00156229 0.999995 0.00204833 uwb: 0.49996050 1233.29 797.918 -imu_odom_: 1691062491.705601387 0.304064 -0.397437 9.67736 -0.072438 -0.0276969 0.0458064 0.27 0 pose: 0.0 1.89705 -3.9419 0 0.00170393 -0.00156229 0.999995 0.00204833 uwb: 0.0 1233.29 797.918 -imu_odom_: 1691062491.730544585 0.265756 -0.323217 9.67497 -0.0426106 -0.00213053 0.0308927 0.17 0 pose: 0.43961773 1.88732 -3.94423 0 -0.00203799 -0.0030902 0.999991 0.00185088 uwb: 0.0 1233.29 797.918 -imu_odom_: 1691062491.757544412 0.222661 -0.35913 9.81144 -0.036219 -0.04048 0.0394148 0.17 0 pose: 0.39054383 1.87759 -3.94655 0 -0.00464924 -0.00568465 0.999972 0.00172938 uwb: 0.50121747 1233.5 798.807 -imu_odom_: 1691062491.782730252 0.629675 -0.138864 10.3765 -0.0500674 0.0149137 0.0447411 0.19 0 pose: 0.0 1.87759 -3.94655 0 -0.00464924 -0.00568465 0.999972 0.00172938 uwb: 0.49995759 1232.9 799.33 -imu_odom_: 1691062491.809609632 0.0407014 -0.306458 9.18895 -0.0415453 0.0649811 0.0426106 0.23 0 pose: 0.52962007 1.86787 -3.94888 0 -0.00759762 -0.00637041 0.999949 0.00177781 uwb: 0.0 1232.9 799.33 -imu_odom_: 1691062491.834481670 0.459687 -0.339977 9.50259 -0.0596548 0.00532632 0.0575243 0.23 0 pose: 0.0 1.86787 -3.94888 0 -0.00759762 -0.00637041 0.999949 0.00177781 uwb: 0.49861605 1232.18 799.945 -imu_odom_: 1691062491.851714256 0.68953 -0.0957681 10.2711 -0.0340885 -0.056459 0.0383495 0.21 -0.02 pose: 0.68967089 1.85814 -3.9512 0 -0.00751578 -0.00555289 0.999955 0.00148122 uwb: 0.0 1232.18 799.945 -imu_odom_: 1691062491.877704724 0.766145 -0.347159 10.2807 -0.0692422 -0.0117179 0.0585895 0.21 -0.02 pose: 0.6999891 1.85814 -3.9512 0 -0.00671352 -0.00515266 0.999963 0.00148608 uwb: 0.0 1232.18 799.945 -imu_odom_: 1691062491.904632809 0.332794 0.0287304 9.85693 -0.04048 0.02024 0.0500674 0.23 -0.02 pose: 0.36223163 1.84609 -3.94381 0 -0.00285375 -0.00496596 0.999983 0.00125777 uwb: 0.50236652 1231.88 800.206 -imu_odom_: 1691062491.920455326 0.0981623 -0.354342 9.27274 -0.0745685 0.00852212 0.0617853 0.23 -0.02 pose: 0.0 1.84609 -3.94381 0 -0.00285375 -0.00496596 0.999983 0.00125777 uwb: 0.0 1231.88 800.206 -imu_odom_: 1691062491.947484316 0.629675 -0.299275 9.43076 -0.0575243 0.0308927 0.036219 0.25 0.02 pose: 0.42750602 1.83636 -3.94615 0 -0.00486376 -0.0028281 0.999984 0.000933548 uwb: 0.49764198 1231.79 801.335 -imu_odom_: 1691062491.973526113 0.246603 -0.287304 9.71567 -0.0788296 -0.02024 0.0607201 0.25 0.02 pose: 0.0 1.83636 -3.94615 0 -0.00486376 -0.0028281 0.999984 0.000933548 uwb: 0.0 1231.79 801.335 -imu_odom_: 1691062492.576102 0.306458 -0.169988 9.66539 -0.0703074 -0.0255663 0.0372843 0.25 0 pose: 0.53070787 1.82937 -3.94783 0 -0.00502782 -0.00373966 0.99998 0.000705121 uwb: 0.50064294 1232.1 802.819 -imu_odom_: 1691062492.25462437 0.253785 -0.40462 9.3733 -0.0671117 0 0.0394148 0.19 0 pose: 0.0 1.82937 -3.94783 0 -0.00502782 -0.00373966 0.99998 0.000705121 uwb: 0.0 1232.1 802.819 -imu_odom_: 1691062492.52454691 0.500388 -0.454898 9.79468 -0.0681769 -0.0255663 0.0415453 0.19 0 pose: 0.35072072 1.82664 -3.94849 0 -0.00504791 -0.00203666 0.999985 0.000724134 uwb: 0.50184166 1231.97 803.62 -imu_odom_: 1691062492.69524548 0.56982 -0.328006 9.93833 -0.0692422 -0.0245011 0.0511327 0.19 0 pose: 0.43856506 1.81692 -3.95084 0 -0.00328363 -0.00559756 0.999979 0.000720804 uwb: 0.0 1231.97 803.62 -imu_odom_: 1691062492.96514760 0.502782 -0.263362 10.0772 -0.0585895 0.00745685 0.0479369 0.19 0 pose: 0.0 1.81692 -3.95084 0 -0.00328363 -0.00559756 0.999979 0.000720804 uwb: 0.49604689 1231.6 803.586 -imu_odom_: 1691062492.113488377 0.656011 -0.205901 9.92636 -0.0543285 -0.0447411 0.0436758 0.18 0 pose: 0.8006626 1.81692 -3.95084 0 -0.00240183 -0.00566532 0.999981 0.000678448 uwb: 0.0 1231.6 803.586 -imu_odom_: 1691062492.140646573 0.995988 -0.356736 10.1921 -0.0479369 -0.0490022 0.0468716 0.18 0 pose: 0.0 1.81692 -3.95084 0 -0.00240183 -0.00566532 0.999981 0.000678448 uwb: 0.50046812 1231.24 803.551 -imu_odom_: 1691062492.156535005 0.533907 -0.0287304 9.77313 -0.056459 0.00852212 0.0447411 0.18 0 pose: 0.44088650 1.80485 -3.94347 0 0.00174752 -0.00423802 0.999989 0.000517099 uwb: 0.0 1231.24 803.551 -imu_odom_: 1691062492.173467209 0.474052 -0.442927 9.86172 -0.0351537 0.0255663 0.0351537 0.18 0 pose: 0.0 1.80485 -3.94347 0 0.00174752 -0.00423802 0.999989 0.000517099 uwb: 0.0 1231.24 803.551 -imu_odom_: 1691062492.189444300 0.100556 -0.304064 9.83299 -0.0458064 0 0.0479369 0.18 0 pose: 0.0 1.80485 -3.94347 0 0.00174752 -0.00423802 0.999989 0.000517099 uwb: 0.50065769 1231.42 804.785 -imu_odom_: 1691062492.206497242 0.332794 -0.304064 9.91918 -0.0585895 -0.0255663 0.04048 0.25 0 pose: 0.43983077 1.79513 -3.94582 0 0.00605039 -0.00332838 0.999976 0.000394808 uwb: 0.0 1231.42 804.785 -imu_odom_: 1691062492.222487164 0.517148 -0.363919 10.0652 -0.0447411 0.0170442 0.0415453 0.25 0 pose: 0.0 1.79513 -3.94582 0 0.00605039 -0.00332838 0.999976 0.000394808 uwb: 0.0 1231.42 804.785 -imu_odom_: 1691062492.239431326 0.653617 -0.299275 9.51695 -0.0681769 0.0138484 0.0532632 0.18 0 pose: 0.0 1.79513 -3.94582 0 0.00605039 -0.00332838 0.999976 0.000394808 uwb: 0.50094932 1231.94 806.404 -imu_odom_: 1691062492.256488060 0.656011 -0.25618 10.07 -0.04048 0.0127832 0.0255663 0.18 -0.02 pose: 0.90898282 1.78033 -3.94941 0 0.00472887 -0.00515593 0.999976 0.000197717 uwb: 0.0 1231.94 806.404 -imu_odom_: 1691062492.273483258 0.505177 -0.241814 9.94073 -0.0308927 -0.015979 0.036219 0.26 0.02 pose: 0.0 1.78033 -3.94941 0 0.00472887 -0.00515593 0.999976 0.000197717 uwb: 0.0 1231.94 806.404 -imu_odom_: 1691062492.289426226 0.363919 -0.407014 10.1323 -0.04048 0.0117179 0.0490022 0.26 0.02 pose: 0.24063042 1.7757 -3.95053 0 0.0060034 -0.00366324 0.999975 0.000342725 uwb: 0.49873579 1231.85 807.171 -imu_odom_: 1691062492.306485002 0.237026 -0.146046 9.62469 -0.0330232 -0.0127832 0.036219 0.24 0 pose: 0.0 1.7757 -3.95053 0 0.0060034 -0.00366324 0.999975 0.000342725 uwb: 0.0 1231.85 807.171 -imu_odom_: 1691062492.323452202 0.749385 -0.356736 10.1466 -0.0703074 -0.02024 0.0553937 0.24 0 pose: 0.0 1.7757 -3.95053 0 0.0060034 -0.00366324 0.999975 0.000342725 uwb: 0.0 1231.85 807.171 -imu_odom_: 1691062492.338448223 0.471658 -0.047884 9.83777 -0.0575243 0.0255663 0.0330232 0.24 0 pose: 0.32995036 1.76362 -3.94317 0 0.00385469 -0.00312941 0.999988 0.000289031 uwb: 0.50212463 1231.86 807.847 -imu_odom_: 1691062492.363491752 0.538695 -0.0263362 10.0293 -0.0479369 -0.00639159 0.0426106 0.17 0 pose: 0.41958819 1.76362 -3.94317 0 0.00439001 -0.00170814 0.999989 0.000229198 uwb: 0.0 1231.86 807.847 -imu_odom_: 1691062492.390556040 0.804452 -0.351948 9.63666 -0.052198 0.0213053 0.0340885 0.17 0 pose: 0.6999309 1.76362 -3.94317 0 0.00454722 -0.0009976820.999989 0.000221727 uwb: 0.49797170 1230.49 807.276 -imu_odom_: 1691062492.415545324 0.938527 -0.232238 9.69173 -0.0553937 -0.0117179 0.0649811 0.2 0 pose: 0.45108508 1.7539 -3.94553 0 0.00703079 -0.0003331630.999975 0.000268265 uwb: 0.0 1230.49 807.276 -imu_odom_: 1691062492.432523316 0.328006 -0.514753 9.65582 -0.0628506 0.00852212 0.0468716 0.2 0 pose: 0.0 1.7539 -3.94553 0 0.00703079 -0.0003331630.999975 0.000268265 uwb: 0.50189131 1229.67 807.282 -imu_odom_: 1691062492.458457507 0.390255 0.00718261 9.94312 -0.0479369 0.00639159 0.0511327 0.23 0 pose: 0.32015133 1.74419 -3.94789 0 0.00911202 -0.0009593 0.999958 -7.93831e-05 uwb: 0.0 1229.67 807.282 -imu_odom_: 1691062492.485410973 0.311246 -0.23942 9.99819 -0.0351537 0.0138484 0.0351537 0.25 -0.02 pose: 0.0 1.74419 -3.94789 0 0.00911202 -0.0009593 0.999958 -7.93831e-05 uwb: 0.49780255 1229.91 807.759 -imu_odom_: 1691062492.510610528 0.0933739 -0.102951 9.71806 -0.0692422 0.0127832 0.0649811 0.25 -0.02 pose: 0.42970218 1.73447 -3.95025 0 0.00600636 0.000448889 0.999982 -0.00024301 uwb: 0.0 1229.91 807.759 -imu_odom_: 1691062492.537403009 0.148441 -0.296881 9.67497 -0.0607201 0.0319579 0.0330232 0.23 -0.02 pose: 0.45069137 1.72589 -3.94503 0 0.00121472 0.000838715 0.999999 -0.000517586 uwb: 0.50012982 1230.31 809.126 -imu_odom_: 1691062492.563420026 0.0407014 -0.423774 10.2568 -0.0671117 0.00426106 0.0500674 0.23 -0.02 pose: 0.6955855 1.72239 -3.9429 0 0.000433138 0.000587835 1 -0.000494595 uwb: 0.0 1230.31 809.126 -imu_odom_: 1691062492.580400934 1.075 -0.332794 9.60793 -0.0553937 0.0149137 0.0287621 0.23 0 pose: 0.0 1.72239 -3.9429 0 0.000433138 0.000587835 1 -0.000494595 uwb: 0.0 1230.31 809.126 -imu_odom_: 1691062492.606384703 0.174777 -0.1652 9.89045 -0.0735032 0.02024 0.0532632 0.23 0 pose: 0.45853643 1.7154 -3.94461 0 -0.00410431 -0.00167416 0.99999 -0.000563477 uwb: 0.50122055 1230.19 809.567 -imu_odom_: 1691062492.623378443 0.339977 -0.102951 10.4842 -0.0511327 -0.00426106 0.0308927 0.25 -0.02 pose: 0.0 1.7154 -3.94461 0 -0.00410431 -0.00167416 0.99999 -0.000563477 uwb: 0.0 1230.19 809.567 -imu_odom_: 1691062492.649382627 0.325611 -0.442927 9.46907 -0.0745685 -0.0436758 0.0436758 0.25 -0.02 pose: 0.25000366 1.71267 -3.94527 0 -0.00340033 -0.00159246 0.999993 -0.000524849 uwb: 0.49926074 1230.14 810.284 -imu_odom_: 1691062492.676381589 1.91057 -0.0981623 8.73884 -0.0308927 0.0916127 0.02024 0.25 0.02 pose: 0.60962235 1.70296 -3.94765 0 -0.00406146 -0.00217804 0.999989 -0.000628636 uwb: 0.0 1230.14 810.284 -imu_odom_: 1691062492.701534190 0.605733 -0.328006 9.42597 -0.0553937 -0.0308927 0.0468716 0.18 0.02 pose: 0.7067553 1.70296 -3.94765 0 -0.00369592 -0.00202281 0.999991 -0.000557949 uwb: 0.50001317 1230.76 811.119 -imu_odom_: 1691062492.728386749 0.909797 -0.122104 9.23922 -0.0372843 -0.0458064 0.0426106 0.23 -0.02 pose: 0.45084010 1.69324 -3.95002 0 6.07627e-05 -0.00237913 0.999997 -0.000444922 uwb: 0.0 1230.76 811.119 -imu_odom_: 1691062492.753448068 0.557849 -0.251391 9.69652 -0.0671117 0.0191748 0.0426106 0.19 0 pose: 0.0 1.69324 -3.95002 0 6.07627e-05 -0.00237913 0.999997 -0.000444922 uwb: 0.50116805 1230.66 811.88 -imu_odom_: 1691062492.770497511 0.366313 0.0790087 10.4962 -0.0458064 -0.0436758 0.0298274 0.19 0 pose: 0.34879017 1.68116 -3.94267 0 0.00392061 -0.0015624 0.999991 -0.0004917 uwb: 0.0 1230.66 811.88 -imu_odom_: 1691062492.795553580 0.225055 -0.246603 10.0317 -0.0639159 -0.0276969 0.0426106 0.18 0 pose: 0.0 1.68116 -3.94267 0 0.00392061 -0.0015624 0.999991 -0.0004917 uwb: 0.49814085 1231.49 813.544 -imu_odom_: 1691062492.822527752 0.416591 -0.179565 10.094 -0.056459 -0.00639159 0.0340885 0.18 0 pose: 0.42065850 1.68116 -3.94267 0 0.00434983 -0.0003055820.99999 -0.000438264 uwb: 0.0 1231.49 813.544 -imu_odom_: 1691062492.847379675 0.059855 -0.301669 9.30626 -0.036219 -0.0447411 0.0372843 0.19 0 pose: 0.44048695 1.67144 -3.94504 0 0.00102801 0.00139719 0.999998 -0.000386333 uwb: 0.49916450 1231.79 814.633 -imu_odom_: 1691062492.864371082 0.713472 -0.268151 10.2831 -0.0468716 -0.052198 0.04048 0.19 0 pose: 0.7913886 1.67144 -3.94504 0 0.000432495 0.00123754 0.999999 -0.000376287 uwb: 0.0 1231.79 814.633 -imu_odom_: 1691062492.889381073 0.418985 -0.378284 10.0604 -0.0436758 -0.0223706 0.0426106 0.2 0.02 pose: 0.0 1.67144 -3.94504 0 0.000432495 0.00123754 0.999999 -0.000376287 uwb: 0.50009774 1231.92 815.52 -imu_odom_: 1691062492.906368105 0.821211 -0.237026 10.0149 -0.0447411 0.0127832 0.0511327 0.2 0.02 pose: 0.41946861 1.66173 -3.94741 0 0.00126142 -0.0001503930.999999 -0.000376303 uwb: 0.0 1231.92 815.52 -imu_odom_: 1691062492.931382470 0.672771 -0.186748 9.92875 -0.0415453 0.0255663 0.0351537 0.18 0 pose: 0.0 1.66173 -3.94741 0 0.00126142 -0.0001503930.999999 -0.000376303 uwb: 0.49940072 1232.5 817.044 -imu_odom_: 1691062492.958531333 0.332794 -0.172383 10.137 -0.0585895 0.0191748 0.0617853 0.18 0 pose: 0.42076349 1.65201 -3.94978 0 0.00354646 -0.00133246 0.999993 -0.000479211 uwb: 0.0 1232.5 817.044 -imu_odom_: 1691062492.983366633 0.397437 -0.234632 10.0628 -0.0575243 0.00532632 0.0394148 0.2 0 pose: 0.44066485 1.64335 -3.94452 0 0.00203332 6.95369e-05 0.999998 -0.000736374 uwb: 0.50106306 1232.37 817.799 -imu_odom_: 1691062493.10486334 0.691924 -0.356736 9.75637 -0.0841559 -0.0308927 0.0692422 0.21 0 pose: 0.7965798 1.63992 -3.94244 0 0.00127261 -0.0002745630.999999 -0.000736332 uwb: 0.0 1232.37 817.799 -imu_odom_: 1691062493.35482043 0.500388 -0.270545 9.64863 -0.0596548 0.0340885 0.0319579 0.2 0 pose: 0.43989203 1.63298 -3.94414 0 0.00253152 -0.0024339 0.999993 -0.00113607 uwb: 0.49949123 1232.59 818.611 -imu_odom_: 1691062493.60470169 0.718261 -0.213084 9.64145 -0.0894822 -0.0213053 0.0649811 0.21 0 pose: 0.0 1.63298 -3.94414 0 0.00253152 -0.0024339 0.999993 -0.00113607 uwb: 0.0 1232.59 818.611 -imu_odom_: 1691062493.83354419 0.311246 -0.153229 9.93594 -0.0671117 0.0127832 0.0308927 0.21 0 pose: 0.32001437 1.63021 -3.94482 0 0.00524685 -0.00290674 0.999981 -0.00112053 uwb: 0.50103115 1232.86 820.35 -imu_odom_: 1691062493.99360970 0.411803 -0.258574 10.003 -0.0862864 0.00958738 0.0479369 0.21 0 pose: 0.0 1.63021 -3.94482 0 0.00524685 -0.00290674 0.999981 -0.00112053 uwb: 0.0 1232.86 820.35 -imu_odom_: 1691062493.126422350 0.656011 -0.28491 9.97664 -0.036219 0.052198 0.0266316 0.19 0 pose: 0.47863918 1.6205 -3.9472 0 0.00415254 -0.00204608 0.999988 -0.0012685 uwb: 0.0 1232.86 820.35 -imu_odom_: 1691062493.151356232 0.651223 0.00718261 9.76355 -0.0681769 0.0149137 0.04048 0.18 -0.02 pose: 0.36070661 1.61356 -3.94891 0 0.00510964 -0.00235533 0.999984 -0.00112637 uwb: 0.49873304 1233.06 821.812 -imu_odom_: 1691062493.178381449 0.634463 -0.342371 10.2185 -0.0500674 -0.0117179 0.0458064 0.18 -0.02 pose: 0.8023544 1.61079 -3.94959 0 0.0054239 -0.00170582 0.999983 -0.00112503 uwb: 0.0 1233.06 821.812 -imu_odom_: 1691062493.194326464 0.0383072 -0.181959 9.84735 -0.056459 0.0255663 0.0553937 0.19 0 pose: 0.0 1.61079 -3.94959 0 0.0054239 -0.00170582 0.999983 -0.00112503 uwb: 0.49999875 1232.35 822.038 -imu_odom_: 1691062493.221341766 0.217872 -0.289698 9.80665 -0.052198 -0.0490022 0.036219 0.19 0 pose: 0.51908938 1.59869 -3.94226 0 0.00708696 -0.00216556 0.999972 -0.00128203 uwb: 0.0 1232.35 822.038 -imu_odom_: 1691062493.246351182 0.253785 -0.342371 9.4571 -0.0628506 0.0106526 0.0447411 0.18 0 pose: 0.34986934 1.59187 -3.94394 0 0.00409944 -0.00232317 0.999988 -0.00130919 uwb: 0.50159984 1231.33 821.531 -imu_odom_: 1691062493.263449334 0.605733 -0.0909797 10.2639 -0.0490022 -0.0127832 0.0372843 0.18 0 pose: 0.8006629 1.58898 -3.94465 0 0.00328999 -0.00263406 0.99999 -0.00133249 uwb: 0.0 1231.33 821.531 -imu_odom_: 1691062493.288328095 0.45011 0.0383072 10.1418 -0.0447411 -0.0383495 0.0479369 0.18 -0.02 pose: 0.0 1.58898 -3.94465 0 0.00328999 -0.00263406 0.99999 -0.00133249 uwb: 0.50071034 1231.58 822.626 -imu_odom_: 1691062493.315447220 0.517148 -0.174777 9.86411 -0.0713727 -0.0351537 0.0649811 0.18 -0.02 pose: 0.34100939 1.58898 -3.94465 0 0.00278361 -0.00196504 0.999993 -0.00135689 uwb: 0.0 1231.58 822.626 -imu_odom_: 1691062493.341489326 0.308852 -0.189142 10.5082 -0.0319579 0.0287621 0.0298274 0.19 0 pose: 0.51997886 1.57927 -3.94704 0 0.00596222 0.0016787 0.999979 -0.00179641 uwb: 0.0 1231.58 822.626 -imu_odom_: 1691062493.366480660 0.328006 -0.0861913 10.1227 -0.0692422 -0.0255663 0.0532632 0.23 0 pose: 0.0 1.57927 -3.94704 0 0.00596222 0.0016787 0.999979 -0.00179641 uwb: 0.0 1231.58 822.626 -imu_odom_: 1691062493.389379200 0.311246 -0.292093 9.62708 -0.0639159 -0.0138484 0.052198 0.23 0 pose: 0.32939636 1.56956 -3.94943 0 0.00243126 0.00220924 0.999993 -0.00171299 uwb: 0.99918383 1231.49 823.014 -imu_odom_: 1691062493.414467358 0.462081 -0.385466 9.75637 -0.0745685 -0.0575243 0.04048 0.2 0 pose: 0.40992344 1.56138 -3.94449 0 -0.0002251680.00123827 0.999997 -0.00197174 uwb: 0.0 1231.49 823.014 -imu_odom_: 1691062493.431534013 0.497994 -0.225055 10.1107 -0.0511327 -0.00958738 0.0436758 0.2 0 pose: 0.8107828 1.55746 -3.94212 0 0.000243091 0.000389817 0.999998 -0.00197528 uwb: 0.50061410 1231.96 824.253 -imu_odom_: 1691062493.456463228 0.588974 -0.0861913 10.003 -0.0532632 -0.0138484 0.0436758 0.2 0 pose: 0.0 1.55746 -3.94212 0 0.000243091 0.000389817 0.999998 -0.00197528 uwb: 0.0 1231.96 824.253 -imu_odom_: 1691062493.481467394 0.770933 -0.160412 9.87608 -0.0479369 0.00213053 0.0458064 0.2 0 pose: 0.41868424 1.54775 -3.94452 0 0.00347827 -0.0003399350.999992 -0.00202878 uwb: 0.49754608 1232.67 826.256 -imu_odom_: 1691062493.495344113 0.902614 -0.186748 9.7444 -0.052198 -0.0245011 0.0671117 0.2 0 pose: 0.0 1.54775 -3.94452 0 0.00347827 -0.0003399350.999992 -0.00202878 uwb: 0.0 1232.67 826.256 -imu_odom_: 1691062493.520387942 0.418985 -0.179565 10.1275 -0.056459 0.02024 0.0340885 0.18 0 pose: 0.48118810 1.54775 -3.94452 0 0.00774606 0.00140011 0.999967 -0.00222177 uwb: 0.0 1232.67 826.256 -imu_odom_: 1691062493.544318005 0.275333 -0.380678 9.58878 -0.0660464 -0.00106526 0.0617853 0.25 0.02 pose: 0.32913680 1.53804 -3.94692 0 0.00580472 0.00151042 0.999979 -0.00225823 uwb: 0.49981210 1232.16 826.953 -imu_odom_: 1691062493.568345184 0.397437 -0.248997 9.74201 -0.0351537 0.00852212 0.0245011 0.25 0.02 pose: 0.0 1.53804 -3.94692 0 0.00580472 0.00151042 0.999979 -0.00225823 uwb: 0.0 1232.16 826.953 -imu_odom_: 1691062493.584422603 0.47884 -0.107739 10.3238 -0.0703074 -0.0234358 0.0713727 0.18 -0.02 pose: 0.6988230 1.53804 -3.94692 0 0.00525323 0.00102868 0.999983 -0.00233739 uwb: 0.49954379 1231.74 827.263 -imu_odom_: 1691062493.611295002 0.993594 -0.110133 10.3142 -0.0681769 -0.00426106 0.0351537 0.18 -0.02 pose: 0.0 1.53804 -3.94692 0 0.00525323 0.00102868 0.999983 -0.00233739 uwb: 0.0 1231.74 827.263 -imu_odom_: 1691062493.636315209 0.608127 -0.332794 9.54089 -0.0852212 0.0234358 0.0468716 0.19 0 pose: 0.48946478 1.52834 -3.94933 0 0.00187014 -8.25656e-050.999995 -0.00247824 uwb: 0.49987626 1230.99 827.827 -imu_odom_: 1691062493.663298430 0.105345 -0.241814 9.54808 -0.0340885 0.036219 0.036219 0.19 0 pose: 0.0 1.52834 -3.94933 0 0.00187014 -8.25656e-050.999995 -0.00247824 uwb: 0.0 1230.99 827.827 -imu_odom_: 1691062493.679300023 0.323217 -0.203507 10.2951 -0.0617853 -0.0415453 0.0479369 0.2 0.02 pose: 0.43036726 1.51622 -3.94204 0 0.00528269 0.000163332 0.999983 -0.00257872 uwb: 0.0 1230.99 827.827 -imu_odom_: 1691062493.706347405 0.916979 -0.244209 9.18655 -0.0426106 0.00213053 0.0383495 0.2 0.02 pose: 0.0 1.51622 -3.94204 0 0.00528269 0.000163332 0.999983 -0.00257872 uwb: 0.50062285 1230.93 828.811 -imu_odom_: 1691062493.731341073 0.622492 -0.21069 9.55047 -0.0511327 0.0426106 0.0319579 0.23 -0.02 pose: 0.52150413 1.50652 -3.94445 0 0.00224759 -0.0009467160.999994 -0.00264104 uwb: 0.0 1230.93 828.811 -imu_odom_: 1691062493.758273841 0.371101 -0.0670376 9.72525 -0.0543285 -0.036219 0.0458064 0.21 -0.02 pose: 0.15824278 1.50652 -3.94445 0 0.00241229 -0.0007599280.999993 -0.00266852 uwb: 0.49929299 1230.13 829.401 -imu_odom_: 1691062493.774403463 0.708684 -0.241814 10.24 -0.0649811 -0.0106526 0.052198 0.21 -0.02 pose: 0.44007006 1.49681 -3.94686 0 0.00614954 -0.0003276040.999978 -0.00255702 uwb: 0.0 1230.13 829.401 -imu_odom_: 1691062493.801404183 0.88346 -0.186748 10.0844 -0.0500674 -0.0340885 0.036219 0.25 -0.02 pose: 0.6949441 1.49681 -3.94686 0 0.00577377 0.00017341 0.99998 -0.00257582 uwb: 0.50098740 1230.13 830.951 -imu_odom_: 1691062493.817401401 0.363919 -0.296881 9.26317 -0.056459 0.00745685 0.0553937 0.25 -0.02 pose: 0.0 1.49681 -3.94686 0 0.00577377 0.00017341 0.99998 -0.00257582 uwb: 0.0 1230.13 830.951 -imu_odom_: 1691062493.844560481 0.423774 0.0191536 10.24 -0.0426106 -0.0575243 0.0298274 0.25 -0.02 pose: 0.44173240 1.48711 -3.94927 0 0.00722664 0.00113858 0.99997 -0.00272294 uwb: 0.50034580 1230.3 832.061 -imu_odom_: 1691062493.869439534 0.679953 -0.531513 9.73722 -0.0798948 -0.02024 0.0458064 0.25 -0.02 pose: 0.0 1.48711 -3.94927 0 0.00722664 0.00113858 0.99997 -0.00272294 uwb: 0.0 1230.3 832.061 -imu_odom_: 1691062493.893473129 0.373495 -0.323217 9.5816 -0.0351537 -0.00852212 0.0266316 0.23 0.02 pose: 0.42837829 1.47499 -3.94198 0 0.00767124 0.00122845 0.999966 -0.00278067 uwb: 0.50038079 1231 833.705 -imu_odom_: 1691062493.917345448 0.244209 -0.227449 9.73961 -0.0575243 -0.00319579 0.0383495 0.23 0.02 pose: 0.0 1.47499 -3.94198 0 0.00767124 0.00122845 0.999966 -0.00278067 uwb: 0.0 1231 833.705 -imu_odom_: 1691062493.942414066 0.687136 -0.21069 10.3334 -0.052198 -0.0138484 0.0415453 0.18 0 pose: 0.51198215 1.46528 -3.9444 0 0.00765126 5.02753e-05 0.999967 -0.0027258 uwb: 0.49984126 1230.87 835.02 -imu_odom_: 1691062493.959481013 0.354342 -0.268151 9.74201 -0.0575243 0.0106526 0.0458064 0.18 0 pose: 0.0 1.46528 -3.9444 0 0.00765126 5.02753e-05 0.999967 -0.0027258 uwb: 0.0 1230.87 835.02 -imu_odom_: 1691062493.984408478 0.457293 -0.31364 9.98622 -0.04048 0.0426106 0.0468716 0.18 0.02 pose: 0.48807659 1.45558 -3.94681 0 0.00467253 -0.0006166920.999985 -0.00261807 uwb: 0.49940673 1231.3 836.234 -imu_odom_: 1691062494.9271202 0.222661 -0.454898 9.62469 -0.036219 0.02024 0.0394148 0.18 0.02 pose: 0.0 1.45558 -3.94681 0 0.00467253 -0.0006166920.999985 -0.00261807 uwb: 0.0 1231.3 836.234 -imu_odom_: 1691062494.32327817 0.536301 -0.191536 9.92875 -0.056459 0.00958738 0.0553937 0.18 0 pose: 0.42163562 1.45558 -3.94681 0 0.00415389 -0.00155011 0.999986 -0.00272263 uwb: 0.49971887 1232.12 838.068 -imu_odom_: 1691062494.48369953 0.603339 -0.299275 9.4164 -0.0692422 -0.0138484 0.0532632 0.18 0 pose: 0.0 1.45558 -3.94681 0 0.00415389 -0.00155011 0.999986 -0.00272263 uwb: 0.0 1232.12 838.068 -imu_odom_: 1691062494.74393111 0.557849 -0.232238 10.2855 -0.052198 -0.00319579 0.0585895 0.23 0.02 pose: 0.47822509 1.44588 -3.94923 0 0.00117649 -0.00384855 0.999988 -0.00284587 uwb: 0.0 1232.12 838.068 -imu_odom_: 1691062494.99368413 0.514753 -0.328006 10.1059 -0.0692422 0.00958738 0.0479369 0.23 0.02 pose: 0.0 1.44588 -3.94923 0 0.00117649 -0.00384855 0.999988 -0.00284587 uwb: 0.50398268 1231.67 838.985 -imu_odom_: 1691062494.116268548 0.222661 -0.0407014 10.0461 -0.0660464 0.00319579 0.0479369 0.19 0 pose: 0.40988566 1.43375 -3.94194 0 0.0046347 -0.00272256 0.999981 -0.00315142 uwb: 0.0 1231.67 838.985 -imu_odom_: 1691062494.141387045 0.483629 -0.320823 9.63666 -0.0873517 -0.00532632 0.0500674 0.19 0 pose: 0.0 1.43375 -3.94194 0 0.0046347 -0.00272256 0.999981 -0.00315142 uwb: 0.49553102 1231.33 839.524 -imu_odom_: 1691062494.166317726 0.452504 -0.344765 9.75158 -0.072438 -0.0213053 0.036219 0.18 0.02 pose: 0.50001933 1.42405 -3.94437 0 0.00509479 -0.00394753 0.999973 -0.00346196 uwb: 0.0 1231.33 839.524 -imu_odom_: 1691062494.180272025 0.47884 -0.325611 10.0365 -0.0596548 -0.0330232 0.0479369 0.18 0.02 pose: 0.0 1.42405 -3.94437 0 0.00509479 -0.00394753 0.999973 -0.00346196 uwb: 0.0 1231.33 839.524 -imu_odom_: 1691062494.205324028 0.237026 -0.332794 10.4579 -0.0415453 -0.0319579 0.0340885 0.17 0 pose: 0.73987998 1.41435 -3.9468 0 0.00331011 -0.00626537 0.999968 -0.00367064 uwb: 0.50065801 1231.48 840.909 -imu_odom_: 1691062494.229245642 0.68953 -0.440533 9.92875 -0.072438 -0.0213053 0.0500674 0.17 0 pose: 0.0 1.41435 -3.9468 0 0.00331011 -0.00626537 0.999968 -0.00367064 uwb: 0.0 1231.48 840.909 -imu_odom_: 1691062494.244248672 0.282516 -0.3304 9.48822 -0.0479369 0.0298274 0.0479369 0.18 0 pose: 0.7054142 1.41435 -3.9468 0 0.00270231 -0.00618373 0.999971 -0.00365636 uwb: 0.49868071 1232.51 842.877 -imu_odom_: 1691062494.269275594 0.246603 -0.198719 9.71088 -0.0500674 0.0106526 0.0458064 0.18 0 pose: 0.0 1.41435 -3.9468 0 0.00270231 -0.00618373 0.999971 -0.00365636 uwb: 0.0 1232.51 842.877 -imu_odom_: 1691062494.294272769 -0.047884 -0.112527 9.7444 -0.04048 -0.0149137 0.0436758 0.25 -0.02 pose: 0.48943870 1.40465 -3.94923 0 0.00275533 -0.00699411 0.999965 -0.00376742 uwb: 0.50005141 1232.68 843.94 -imu_odom_: 1691062494.315218507 0.672771 -0.0191536 9.92397 -0.0468716 -0.00852212 0.0468716 0.25 -0.02 pose: 0.0 1.40465 -3.94923 0 0.00275533 -0.00699411 0.999965 -0.00376742 uwb: 0.0 1232.68 843.94 -imu_odom_: 1691062494.336210617 0.347159 -0.0407014 10.1251 -0.0181095 0.0181095 0.0426106 0.17 0 pose: 0.78948470 1.38563 -3.9437 0 -0.000862898-0.00261409 0.999988 -0.00403052 uwb: 0.49974810 1231.84 844.21 -imu_odom_: 1691062494.350206620 0.0526724 -0.356736 9.93115 -0.0468716 0.0266316 0.0468716 0.17 0 pose: 0.0 1.38563 -3.9437 0 -0.000862898-0.00261409 0.999988 -0.00403052 uwb: 0.0 1231.84 844.21 -imu_odom_: 1691062494.366248173 0.280122 -0.215478 10.1538 -0.0660464 -0.00106526 0.0458064 0.17 0.02 pose: 0.6098736 1.38282 -3.94441 0 -0.0010364 -0.00189928 0.999989 -0.00404028 uwb: 0.0 1231.84 844.21 -imu_odom_: 1691062494.388315260 0.481235 0.143652 10.4914 -0.056459 -0.0106526 0.0585895 0.17 0.02 pose: 0.0 1.38282 -3.94441 0 -0.0010364 -0.00189928 0.999989 -0.00404028 uwb: 0.50067551 1232.36 845.916 -imu_odom_: 1691062494.411211183 0.581791 -0.253785 9.72525 -0.0468716 -0.0138484 0.0372843 0.19 0 pose: 0.36086713 1.38282 -3.94441 0 -0.00367933 -0.0005636790.999985 -0.00413773 uwb: 0.0 1232.36 845.916 -imu_odom_: 1691062494.427199949 0.023942 -0.258574 9.4954 -0.0245011 0.00958738 0.0298274 0.19 0 pose: 0.0 1.38282 -3.94441 0 -0.00367933 -0.0005636790.999985 -0.00413773 uwb: 0.0 1232.36 845.916 -imu_odom_: 1691062494.453335679 0.251391 -0.158017 10.1035 -0.052198 -0.056459 0.04048 0.24 0 pose: 0.37035120 1.37312 -3.94685 0 -0.00294071 0.00140457 0.999985 -0.00437813 uwb: 0.49931356 1233.3 848.206 -imu_odom_: 1691062494.474382908 0.213084 -0.222661 9.84975 -0.0490022 -0.0234358 0.0500674 0.24 0 pose: 0.0 1.37312 -3.94685 0 -0.00294071 0.00140457 0.999985 -0.00437813 uwb: 0.0 1233.3 848.206 -imu_odom_: 1691062494.499207725 0.160412 -0.497994 9.35893 -0.0820254 0.00639159 0.04048 0.18 -0.02 pose: 0.39911839 1.36343 -3.9493 0 -0.00340811 0.00126033 0.999984 -0.00428235 uwb: 0.50115672 1232.61 848.364 -imu_odom_: 1691062494.524256520 0.45011 -0.126893 9.93115 -0.0468716 -0.0308927 0.0468716 0.18 -0.02 pose: 0.0 1.36343 -3.9493 0 -0.00340811 0.00126033 0.999984 -0.00428235 uwb: 0.0 1232.61 848.364 -imu_odom_: 1691062494.538210819 0.428562 -0.411803 9.54329 -0.0415453 -0.015979 0.0490022 0.18 -0.02 pose: 0.47911762 1.35129 -3.94205 0 -0.00671897 0.000298616 0.999968 -0.00439135 uwb: 0.49934272 1233.23 850.272 -imu_odom_: 1691062494.562221382 0.107739 -0.172383 9.73722 -0.0255663 0.0330232 0.0436758 0.18 -0.02 pose: 0.0 1.35129 -3.94205 0 -0.00671897 0.000298616 0.999968 -0.00439135 uwb: 0.0 1233.23 850.272 -imu_odom_: 1691062494.579316915 0.299275 -0.399832 9.85453 -0.0756338 0.0340885 0.0628506 0.18 -0.02 pose: 0.0 1.35129 -3.94205 0 -0.00671897 0.000298616 0.999968 -0.00439135 uwb: 0.0 1233.23 850.272 -imu_odom_: 1691062494.604319339 -0.0694318 0.0790087 9.90002 -0.0319579 0.0394148 0.0394148 0.24 0 pose: 0.47934510 1.34159 -3.94449 0 -0.00462409 -0.0005525390.999979 -0.00451255 uwb: 0.49950313 1233.94 852.397 -imu_odom_: 1691062494.630206594 0.533907 -0.265756 9.93354 -0.0703074 -0.0308927 0.0532632 0.23 -0.02 pose: 0.74122152 1.3319 -3.94695 0 -0.0092821 3.63295e-05 0.999945 -0.00479805 uwb: 0.0 1233.94 852.397 -imu_odom_: 1691062494.652195230 0.220267 -0.148441 9.96946 -0.0511327 -0.00426106 0.0436758 0.23 -0.02 pose: 0.0 1.3319 -3.94695 0 -0.0092821 3.63295e-05 0.999945 -0.00479805 uwb: 0.49979185 1234.74 854.17 -imu_odom_: 1691062494.676182463 0.136469 -0.373495 9.47386 -0.0671117 -0.015979 0.056459 0.19 0 pose: 0.7069891 1.3319 -3.94695 0 -0.00848935 -0.0001297490.999952 -0.0048459 uwb: 0.0 1234.74 854.17 -imu_odom_: 1691062494.701172347 0.538695 0.0311246 9.51935 -0.0575243 0.00745685 0.0308927 0.19 0 pose: 0.0 1.3319 -3.94695 0 -0.00848935 -0.0001297490.999952 -0.0048459 uwb: 0.50056177 1234.61 855.387 -imu_odom_: 1691062494.715199847 0.423774 -0.349553 10.3262 -0.0703074 -0.0127832 0.0479369 0.18 0 pose: 0.47808814 1.3222 -3.9494 0 -0.00804634 0.000609574 0.999955 -0.00508426 uwb: 0.0 1234.61 855.387 -imu_odom_: 1691062494.732344958 1.17555 -0.272939 9.96946 -0.0617853 -0.0436758 0.0351537 0.18 0 pose: 0.0 1.3222 -3.9494 0 -0.00804634 0.000609574 0.999955 -0.00508426 uwb: 0.49962853 1235.37 857.175 -imu_odom_: 1691062494.746371000 1.75016 -0.493206 9.97903 -0.0798948 -0.120375 0.0276969 0.18 0 pose: 0.0 1.3222 -3.9494 0 -0.00804634 0.000609574 0.999955 -0.00508426 uwb: 0.0 1235.37 857.175 -imu_odom_: 1691062494.763514361 1.9824 -0.248997 9.19852 -0.0639159 -0.0639159 -0.102265 0.14 -0.26 pose: 0.48039791 1.31005 -3.94217 0 -0.00667031 0.000263503 0.999964 -0.00514377 uwb: 0.0 1235.37 857.175 -imu_odom_: 1691062494.778385279 1.61369 0.440533 9.81862 -0.0532632 0.00213053 -0.20027 0.14 -0.26 pose: 0.0 1.31005 -3.94217 0 -0.00667031 0.000263503 0.999964 -0.00514377 uwb: 0.0 1235.37 857.175 -imu_odom_: 1691062494.794216852 1.075 0.469264 10.477 -0.0596548 0.0298274 -0.253533 0.14 -0.26 pose: 0.0 1.31005 -3.94217 0 -0.00667031 0.000263503 0.999964 -0.00514377 uwb: 0.50069885 1234.78 857.53 -imu_odom_: 1691062494.809357535 1.06063 -0.280122 9.37809 -0.0713727 0.015979 -0.348341 0.12 -0.41 pose: 0.46072110 1.30036 -3.94465 0 -0.000890568-0.0009276290.999989 -0.00455907 uwb: 0.0 1234.78 857.53 -imu_odom_: 1691062494.825302264 0.950498 -0.131681 9.74679 -0.0649811 0.00745685 -0.432497 0.1 -0.35 pose: 0.0 1.30036 -3.94465 0 -0.000890568-0.0009276290.999989 -0.00455907 uwb: 0.0 1234.78 857.53 -imu_odom_: 1691062494.840206720 0.991199 -0.248997 9.50977 -0.0735032 0.0234358 -0.437824 0.1 -0.35 pose: 0.62944831 1.30036 -3.94465 0 0.00447944 0.000665191 0.999978 0.00483577 uwb: 0.49932814 1234.92 858.847 -imu_odom_: 1691062494.856245939 0.790087 -0.311246 9.6199 -0.0703074 0.00852212 -0.420779 0.1 -0.35 pose: 0.0 1.30036 -3.94465 0 0.00447944 0.000665191 0.999978 0.00483577 uwb: 0.0 1234.92 858.847 -imu_odom_: 1691062494.871238762 0.986411 -0.502782 9.663 -0.0500674 -0.0255663 -0.439954 0.1 -0.47 pose: 0.0 1.30036 -3.94465 0 0.00447944 0.000665191 0.999978 0.00483577 uwb: 0.0 1234.92 858.847 -imu_odom_: 1691062494.887228694 0.550666 -0.251391 9.8665 -0.036219 -0.00426106 -0.495348 0.1 -0.47 pose: 0.30955924 1.2907 -3.94721 0 0.00719186 0.000173146 0.9999 0.0121375 uwb: 0.50108381 1234.74 859.79 -imu_odom_: 1691062494.902219767 0.675165 0.0335188 9.89763 -0.0660464 0.00213053 -0.493217 0.08 -0.53 pose: 0.40017994 1.29067 -3.94717 0 0.00796896 -0.00159058 0.999723 0.0220676 uwb: 0.0 1234.74 859.79 -imu_odom_: 1691062494.918328688 0.648829 -0.227449 9.84975 -0.0660464 0.00852212 -0.486826 0.08 -0.53 pose: 0.0 1.29067 -3.94717 0 0.00796896 -0.00159058 0.999723 0.0220676 uwb: 0.0 1234.74 859.79 -imu_odom_: 1691062494.933208355 0.531513 -0.215478 9.84017 -0.0617853 0.00852212 -0.531567 0.08 -0.53 pose: 0.0 1.29067 -3.94717 0 0.00796896 -0.00159058 0.999723 0.0220676 uwb: 0.49866904 1234.92 860.791 -imu_odom_: 1691062494.948348746 0.605733 -0.122104 9.663 -0.0532632 -0.00319579 -0.576308 0.06 -0.53 pose: 0.6992607 1.2907 -3.94721 0 0.00823302 -0.0009736760.999679 0.0239357 uwb: 0.0 1234.92 860.791 -imu_odom_: 1691062494.966252408 0.354342 -0.11971 9.92157 -0.0575243 0.00426106 -0.586961 0.06 -0.53 pose: 0.0 1.2907 -3.94721 0 0.00823302 -0.0009736760.999679 0.0239357 uwb: 0.0 1234.92 860.791 -imu_odom_: 1691062494.982235924 0.555455 0.0143652 10.1131 -0.0553937 -0.02024 -0.576308 0.06 -0.53 pose: 0.0 1.2907 -3.94721 0 0.00823302 -0.0009736760.999679 0.0239357 uwb: 0.50038679 1234.62 861.525 -imu_odom_: 1691062494.999233758 0.811634 -0.397437 9.96227 -0.0639159 -0.0287621 -0.516653 0.07 -0.67 pose: 0.45999491 1.2907 -3.94721 0 0.00874141 0.000213775 0.999287 0.0367205 uwb: 0.0 1234.62 861.525 -imu_odom_: 1691062495.15277940 0.624887 -0.584185 9.63906 -0.0585895 -0.00106526 -0.4815 0.05 -0.47 pose: 0.0 1.2907 -3.94721 0 0.00874141 0.000213775 0.999287 0.0367205 uwb: 0.0 1234.62 861.525 -imu_odom_: 1691062495.32178372 0.579397 -0.287304 9.90002 -0.0436758 -0.0170442 -0.453803 0.05 -0.47 pose: 0.66969729 1.28104 -3.94983 0 0.00896332 0.00114901 0.99836 0.0565377 uwb: 0.49906284 1233.93 861.657 -imu_odom_: 1691062495.48270967 0.663194 -0.146046 9.91439 -0.0713727 -0.015979 -0.410127 0.05 -0.47 pose: 0.0 1.28104 -3.94983 0 0.00896332 0.00114901 0.99836 0.0565377 uwb: 0.0 1233.93 861.657 -imu_odom_: 1691062495.66315204 0.505177 -0.380678 9.87369 -0.0639159 -0.00319579 -0.365386 0.05 -0.41 pose: 0.0 1.28104 -3.94983 0 0.00896332 0.00114901 0.99836 0.0565377 uwb: 0.0 1233.93 861.657 -imu_odom_: 1691062495.82216192 0.507571 -0.342371 9.83299 -0.0500674 -0.00532632 -0.360059 0.05 -0.41 pose: 0.33114057 1.28104 -3.94983 0 0.0096911 -0.0007278180.997863 0.0646085 uwb: 0.50266173 1234.89 863.293 -imu_odom_: 1691062495.99213157 0.577003 -0.184354 9.93594 -0.0585895 -0.015979 -0.333428 0.05 -0.41 pose: 0.41911614 1.27848 -3.94016 0 0.00830498 -0.00293132 0.997279 0.073188 uwb: 0.0 1234.89 863.293 -imu_odom_: 1691062495.116211580 0.464475 -0.306458 9.76355 -0.0639159 -0.00532632 -0.28123 0.05 -0.41 pose: 0.0 1.27848 -3.94016 0 0.00830498 -0.00293132 0.997279 0.073188 uwb: 0.0 1234.89 863.293 -imu_odom_: 1691062495.133152550 0.56982 -0.426168 10.0269 -0.0575243 -0.0181095 -0.245011 0.05 -0.41 pose: 0.0 1.27848 -3.94016 0 0.00830498 -0.00293132 0.997279 0.073188 uwb: 0.49837465 1235.11 864.531 -imu_odom_: 1691062495.149152404 0.481235 -0.411803 9.78271 -0.056459 0.00106526 -0.227967 0.03 -0.26 pose: 0.7939267 1.27848 -3.94016 0 0.00848548 -0.00215203 0.99717 0.0746715 uwb: 0.0 1235.11 864.531 -imu_odom_: 1691062495.167206848 0.555455 -0.177171 10.0604 -0.0500674 -0.0149137 -0.199204 0.04 -0.29 pose: 0.0 1.27848 -3.94016 0 0.00848548 -0.00215203 0.99717 0.0746715 uwb: 0.0 1235.11 864.531 -imu_odom_: 1691062495.184156568 0.562637 -0.287304 9.9096 -0.0639159 -0.015979 -0.172573 0.04 -0.29 pose: 0.67058699 1.27848 -3.94016 0 0.00673448 -0.00444546 0.996387 0.0845485 uwb: 0.49929914 1235.04 865.118 -imu_odom_: 1691062495.198202445 0.658405 -0.339977 9.88326 -0.052198 0 -0.168312 0.04 -0.29 pose: 0.0 1.27848 -3.94016 0 0.00673448 -0.00444546 0.996387 0.0845485 uwb: 0.0 1235.04 865.118 -imu_odom_: 1691062495.214154762 0.636858 -0.246603 9.97903 -0.0543285 -0.0106526 -0.154463 0.02 -0.2 pose: 0.0 1.27848 -3.94016 0 0.00673448 -0.00444546 0.996387 0.0845485 uwb: 0.0 1235.04 865.118 -imu_odom_: 1691062495.228207348 0.634463 -0.213084 9.84496 -0.0532632 -0.0106526 -0.129962 0.02 -0.2 pose: 0.32933824 1.27848 -3.94016 0 0.00867199 -0.00510649 0.996056 0.0881487 uwb: 0.0 1235.04 865.118 -imu_odom_: 1691062495.244249781 0.667982 -0.31364 9.87608 -0.056459 -0.00532632 -0.105461 0.02 -0.11 pose: 0.38059366 1.2688 -3.94266 0 0.0110261 -0.00295086 0.995718 0.0917408 uwb: 0.50014781 1235.04 866.208 -imu_odom_: 1691062495.261190751 0.581791 -0.3304 9.80665 -0.056459 0 -0.0905475 0.02 -0.11 pose: 0.0 1.2688 -3.94266 0 0.0110261 -0.00295086 0.995718 0.0917408 uwb: 0.0 1235.04 866.208 -imu_odom_: 1691062495.277132277 0.572214 -0.277727 9.991 -0.0500674 0.00106526 -0.0916127 0.02 -0.11 pose: 0.0 1.2688 -3.94266 0 0.0110261 -0.00295086 0.995718 0.0917408 uwb: 0.0 1235.04 866.208 -imu_odom_: 1691062495.294157530 0.581791 -0.215478 9.88805 -0.0575243 -0.0149137 -0.0735032 0.01 -0.17 pose: 0.7996427 1.2688 -3.94266 0 0.0114445 -0.00363375 0.995658 0.0923113 uwb: 0.50058235 1234.85 866.588 -imu_odom_: 1691062495.310138136 0.634463 -0.28491 9.86172 -0.0553937 -0.00426106 -0.0543285 0.01 -0.17 pose: 0.0 1.2688 -3.94266 0 0.0114445 -0.00363375 0.995658 0.0923113 uwb: 0.0 1234.85 866.588 -imu_odom_: 1691062495.327199261 0.627281 -0.387861 9.93115 -0.0543285 -0.00106526 -0.0330232 0.01 -0.17 pose: 0.0 1.2688 -3.94266 0 0.0114445 -0.00363375 0.995658 0.0923113 uwb: 0.0 1234.85 866.588 -imu_odom_: 1691062495.343134663 0.519542 -0.287304 9.97424 -0.0532632 0.00106526 -0.00532632 0 -0.02 pose: 0.47937150 1.2688 -3.94266 0 0.00912717 -0.00377278 0.995389 0.0954105 uwb: 0.49887044 1235.03 867.296 -imu_odom_: 1691062495.360132210 0.490811 -0.337582 9.88087 -0.056459 -0.00426106 0.0276969 0 -0.05 pose: 0.0 1.2688 -3.94266 0 0.00912717 -0.00377278 0.995389 0.0954105 uwb: 0.0 1235.03 867.296 -imu_odom_: 1691062495.375185990 0.512359 -0.282516 9.91918 -0.0543285 -0.00639159 0.0447411 0 -0.05 pose: 0.66001511 1.2688 -3.94266 0 0.00816029 -0.00529992 0.995167 0.0977108 uwb: 0.0 1235.03 867.296 -imu_odom_: 1691062495.389125128 0.490811 -0.304064 9.83777 -0.052198 0.00213053 0.0479369 0 -0.05 pose: 0.0 1.2688 -3.94266 0 0.00816029 -0.00529992 0.995167 0.0977108 uwb: 0.49842422 1234.17 866.972 -imu_odom_: 1691062495.403118220 0.411803 -0.232238 9.90721 -0.0532632 0.00319579 0.0426106 0 0 pose: 0.0 1.2688 -3.94266 0 0.00816029 -0.00529992 0.995167 0.0977108 uwb: 0.0 1234.17 866.972 -imu_odom_: 1691062495.417169639 0.361524 -0.181959 9.88326 -0.0532632 -0.00213053 0.04048 0 0 pose: 0.30988015 1.2688 -3.94266 0 0.00545306 -0.00475465 0.99519 0.0976979 uwb: 0.0 1234.17 866.972 -imu_odom_: 1691062495.431119276 0.378284 -0.227449 9.88326 -0.056459 -0.00852212 0.0394148 0 0 pose: 0.0 1.2688 -3.94266 0 0.00545306 -0.00475465 0.99519 0.0976979 uwb: 0.50004866 1233.4 866.331 -imu_odom_: 1691062495.446124644 0.464475 -0.280122 9.92397 -0.0575243 -0.0106526 0.0340885 0 0 pose: 0.41997064 1.2688 -3.94266 0 0.00207659 -0.00257564 0.995217 0.0976339 uwb: 0.0 1233.4 866.331 -imu_odom_: 1691062495.460111902 0.4956 -0.277727 9.90721 -0.0543285 -0.00745685 0.036219 0 0 pose: 0.0 1.2688 -3.94266 0 0.00207659 -0.00257564 0.995217 0.0976339 uwb: 0.0 1233.4 866.331 -imu_odom_: 1691062495.474178195 0.497994 -0.292093 9.89284 -0.0543285 -0.00213053 0.0426106 0 0 pose: 0.0 1.2688 -3.94266 0 0.00207659 -0.00257564 0.995217 0.0976339 uwb: 0.0 1233.4 866.331 -imu_odom_: 1691062495.488176827 0.371101 -0.265756 9.92875 -0.0532632 0.00106526 0.0436758 0 0 pose: 0.51050680 1.2688 -3.94266 0 0.00463454 -0.00472683 0.995196 0.0976778 uwb: 0.0 1233.4 866.331 -imu_odom_: 1691062495.503115118 0.402226 -0.232238 9.90721 -0.0532632 -0.00213053 0.04048 0 0 pose: 0.0 1.2688 -3.94266 0 0.00463454 -0.00472683 0.995196 0.0976778 uwb: 0.0 1233.4 866.331 -imu_odom_: 1691062495.517112001 0.423774 -0.232238 9.88805 -0.0543285 -0.00639159 0.04048 0 0 pose: 0.0 1.2688 -3.94266 0 0.00463454 -0.00472683 0.995196 0.0976778 uwb: 0.0 1233.4 866.331 -imu_odom_: 1691062495.531108592 0.464475 -0.23942 9.91678 -0.0553937 -0.00745685 0.0372843 0 0 pose: 0.42933806 1.2688 -3.94266 0 0.00152263 -0.00195498 0.995219 0.0976335 uwb: 0.100125510 1233.39 866.605 -imu_odom_: 1691062495.545116557 0.47884 -0.277727 9.91199 -0.0575243 -0.00532632 0.0383495 0 0 pose: 0.0 1.2688 -3.94266 0 0.00152263 -0.00195498 0.995219 0.0976335 uwb: 0.0 1233.39 866.605 -imu_odom_: 1691062495.567168777 0.476446 -0.28491 9.91918 -0.0575243 -0.00319579 0.04048 0 0 pose: 0.0 1.2688 -3.94266 0 0.00152263 -0.00195498 0.995219 0.0976335 uwb: 0.0 1233.39 866.605 -imu_odom_: 1691062495.584165742 -0.244209 -0.227449 9.84256 -0.0479369 0.0884169 0.0308927 0 0 pose: 0.35080573 1.2688 -3.94266 0 0.00335575 -0.00366504 0.995208 0.0976517 uwb: 0.49984451 1232.64 865.682 -imu_odom_: 1691062495.600103768 -1.09176 -0.146046 10.1107 -0.0394148 0.0852212 0.0266316 0.02 0.02 pose: 0.0 1.2688 -3.94266 0 0.00335575 -0.00366504 0.995208 0.0976517 uwb: 0.0 1232.64 865.682 -imu_odom_: 1691062495.618212749 -1.1564 -0.225055 9.84017 -0.0596548 -0.0468716 0.0319579 0.02 0.02 pose: 0.38916490 1.2688 -3.94266 0 -1.61259e-05-0.00445805 0.995201 0.0977533 uwb: 0.0 1232.64 865.682 -imu_odom_: 1691062495.635099183 -0.0670376 -0.198719 9.84256 -0.0543285 -0.0745685 0.0426106 0.02 0.02 pose: 0.0 1.2688 -3.94266 0 -1.61259e-05-0.00445805 0.995201 0.0977533 uwb: 0.50130269 1232.03 864.954 -imu_odom_: 1691062495.652097023 0.519542 -0.311246 9.79468 -0.0575243 -0.0426106 0.0511327 0.04 0.02 pose: 0.35110903 1.2688 -3.94266 0 -0.00318169 -0.00374842 0.995189 0.0978511 uwb: 0.0 1232.03 864.954 -imu_odom_: 1691062495.669214142 0.205901 -0.172383 9.67497 -0.0553937 0.015979 0.0671117 0.04 0.02 pose: 0.0 1.2688 -3.94266 0 -0.00318169 -0.00374842 0.995189 0.0978511 uwb: 0.0 1232.03 864.954 -imu_odom_: 1691062495.686102909 -0.476446 -0.241814 9.70609 -0.0415453 0.0149137 0.0415453 0.07 0.02 pose: 0.42994175 1.2688 -3.94266 0 -0.00320675 -0.00278125 0.995226 0.0974999 uwb: 0.49919707 1232.24 865.644 -imu_odom_: 1691062495.703094333 -0.117316 -0.186748 10.1011 -0.0479369 -0.0276969 0.0543285 0.07 0.02 pose: 0.0 1.2688 -3.94266 0 -0.00320675 -0.00278125 0.995226 0.0974999 uwb: 0.0 1232.24 865.644 -imu_odom_: 1691062495.720095380 0.474052 -0.409408 9.81383 -0.0596548 -0.0447411 0.0553937 0.07 0.02 pose: 0.0 1.2688 -3.94266 0 -0.00320675 -0.00278125 0.995226 0.0974999 uwb: 0.0 1232.24 865.644 -imu_odom_: 1691062495.736206640 0.323217 -0.282516 9.69891 -0.0468716 0.00532632 0.0394148 0.09 0 pose: 0.8004593 1.2688 -3.94266 0 -0.00407127 -0.00260973 0.995225 0.0974897 uwb: 0.49948288 1232.55 866.276 -imu_odom_: 1691062495.753200396 0.00957681 -0.306458 9.89284 -0.052198 -0.00532632 0.0490022 0.14 0.02 pose: 0.0 1.2688 -3.94266 0 -0.00407127 -0.00260973 0.995225 0.0974897 uwb: 0.0 1232.55 866.276 -imu_odom_: 1691062495.769208416 -0.0287304 -0.0885855 9.88805 -0.0394148 -0.0223706 0.0447411 0.14 0.02 pose: 0.67000955 1.25912 -3.94517 0 -0.00412648 -0.00307068 0.995253 0.0971892 uwb: 0.0 1232.55 866.276 -imu_odom_: 1691062495.787075921 0.208296 -0.0814029 9.96467 -0.0383495 -0.0149137 0.0298274 0.13 0.02 pose: 0.0 1.25912 -3.94517 0 -0.00412648 -0.00307068 0.995253 0.0971892 uwb: 0.49995532 1232.5 866.038 -imu_odom_: 1691062495.804140254 0.37589 -0.138864 9.92636 -0.052198 -0.0245011 0.0649811 0.13 0.02 pose: 0.0 1.25912 -3.94517 0 -0.00412648 -0.00307068 0.995253 0.0971892 uwb: 0.0 1232.5 866.038 -imu_odom_: 1691062495.818194297 0.25618 -0.557849 9.88326 -0.0703074 -0.00852212 0.0692422 0.13 0.02 pose: 0.32980779 1.25912 -3.94517 0 -0.00635729 -0.00117039 0.995251 0.0971278 uwb: 0.0 1232.5 866.038 -imu_odom_: 1691062495.834115409 -0.107739 -0.148441 9.74919 -0.0415453 0.00745685 0.0340885 0.11 0 pose: 0.40993828 1.25139 -3.93684 0 -0.00534422 -0.0005980170.995294 0.0967475 uwb: 0.50052694 1232.9 866.886 -imu_odom_: 1691062495.848221656 0.311246 -0.280122 10.2232 -0.0447411 -0.015979 0.0436758 0.11 0 pose: 0.6922907 1.24693 -3.938 0 -0.00604029 -0.00033669 0.995289 0.0967648 uwb: 0.0 1232.9 866.886 -imu_odom_: 1691062495.864207802 1.17795 -0.186748 10.252 -0.0735032 -0.0660464 0.0745685 0.11 0 pose: 0.0 1.24693 -3.938 0 -0.00604029 -0.00033669 0.995289 0.0967648 uwb: 0.0 1232.9 866.886 -imu_odom_: 1691062495.882231042 1.04627 -0.42138 9.96467 -0.0617853 0.02024 0.092678 0.13 0 pose: 0.39090598 1.24693 -3.938 0 -0.00392695 -0.00129367 0.995325 0.0964902 uwb: 0.49985617 1232.09 866 -imu_odom_: 1691062495.899349620 1.35033 -0.265756 10.1011 -0.0543285 -0.04048 0.113983 0.13 0 pose: 0.0 1.24693 -3.938 0 -0.00392695 -0.00129367 0.995325 0.0964902 uwb: 0.0 1232.09 866 -imu_odom_: 1691062495.916220305 1.31442 -0.136469 9.47625 -0.0394148 -0.015979 0.137419 0.13 0 pose: 0.0 1.24693 -3.938 0 -0.00392695 -0.00129367 0.995325 0.0964902 uwb: 0.0 1232.09 866 -imu_odom_: 1691062495.933109655 1.27372 -0.217872 10.0245 -0.0490022 0.0330232 0.109722 0.09 0.02 pose: 0.42167965 1.24693 -3.938 0 0.000309582 -0.00204249 0.995471 0.0950476 uwb: 0.49999616 1231.85 865.868 -imu_odom_: 1691062495.950127909 0.653617 -0.0215478 9.9934 -0.052198 0.0340885 0.0340885 0.06 0.02 pose: 0.0 1.24693 -3.938 0 0.000309582 -0.00204249 0.995471 0.0950476 uwb: 0.0 1231.85 865.868 -imu_odom_: 1691062495.965324008 0.521936 -0.0550666 10.0365 -0.0532632 -0.0138484 0.00639159 0.06 0.02 pose: 0.34810224 1.23726 -3.94057 0 0.00316237 -0.00135908 0.995565 0.0940087 uwb: 0.0 1231.85 865.868 -imu_odom_: 1691062495.983085648 0.821211 -0.220267 9.73482 -0.072438 -0.015979 -0.0117179 0.05 0.02 pose: 0.0 1.23726 -3.94057 0 0.00316237 -0.00135908 0.995565 0.0940087 uwb: 0.49957328 1231.88 866.664 -imu_odom_: 1691062495.999132747 1.04148 -0.435745 10.0389 -0.0575243 -0.0138484 0 0.05 0.02 pose: 0.0 1.23726 -3.94057 0 0.00316237 -0.00135908 0.995565 0.0940087 uwb: 0.0 1231.88 866.664 -imu_odom_: 1691062496.16337654 0.814029 -0.335188 9.79228 -0.0596548 0.0149137 0 0.05 0.02 pose: 0.31970252 1.23726 -3.94057 0 0.00505985 0.000521415 0.995513 0.0944913 uwb: 0.0 1231.88 866.664 -imu_odom_: 1691062496.33165765 0.646434 -0.143652 9.85693 -0.0500674 0.0170442 0.00319579 0.04 0.02 pose: 0.43181411 1.23726 -3.94057 0 0.0088703 -0.00146024 0.9954 0.0953857 uwb: 0.49969878 1232.15 867.046 -imu_odom_: 1691062496.50055704 0.201113 -0.246603 9.991 -0.0607201 0.0127832 0.0575243 0.04 0.02 pose: 0.8850930 1.23726 -3.94057 0 0.00940671 -0.0008009190.99538 0.0955519 uwb: 0.0 1232.15 867.046 -imu_odom_: 1691062496.75058437 0.608127 -0.390255 9.77553 -0.0458064 -0.0266316 0.0585895 0.03 0.02 pose: 0.0 1.23726 -3.94057 0 0.00940671 -0.0008009190.99538 0.0955519 uwb: 0.0 1232.15 867.046 -imu_odom_: 1691062496.92050449 0.754174 -0.0574608 9.9934 -0.0553937 0.0276969 0.0735032 0.04 0.02 pose: 0.24867120 1.23726 -3.94057 0 0.00805422 -0.0002749350.995392 0.095552 uwb: 0.49950637 1232.78 867.764 -imu_odom_: 1691062496.117054348 -0.995988 -0.3304 10.3286 -0.0585895 0.0745685 0.0745685 0.04 0.02 pose: 0.0 1.23726 -3.94057 0 0.00805422 -0.0002749350.995392 0.095552 uwb: 0.0 1232.78 867.764 -imu_odom_: 1691062496.142191233 -1.01754 -0.203507 9.81144 -0.0532632 -0.0426106 0.0351537 0.04 0.02 pose: 0.41994745 1.23726 -3.94057 0 0.00973921 -0.00147933 0.995427 0.0950203 uwb: 0.50010130 1232 867.401 -imu_odom_: 1691062496.168048466 0.54109 -0.215478 9.75398 -0.0692422 -0.0660464 0.0490022 0.09 0.02 pose: 0.32177908 1.23481 -3.93088 0 0.00567925 -0.00128077 0.995498 0.094601 uwb: 0.0 1232 867.401 -imu_odom_: 1691062496.193145106 0.126893 -0.354342 9.80665 -0.052198 0.04048 0.0234358 0.11 0 pose: 0.43820109 1.22511 -3.93334 0 0.00758342 -0.00101777 0.995493 0.0945211 uwb: 0.49900767 1231.86 867.483 -imu_odom_: 1691062496.206064389 -0.335188 -0.0933739 9.92397 -0.0468716 0.00745685 0.015979 0.11 0 pose: 0.7021191 1.22511 -3.93334 0 0.00674109 -0.00113866 0.995494 0.0945762 uwb: 0.0 1231.86 867.483 -imu_odom_: 1691062496.231060122 0.107739 -0.169988 10.3741 -0.0735032 -0.0340885 0.0585895 0.1 0 pose: 0.0 1.22511 -3.93334 0 0.00674109 -0.00113866 0.995494 0.0945762 uwb: 0.50014505 1231.71 867.565 -imu_odom_: 1691062496.256032816 0.512359 -0.452504 9.75398 -0.0511327 -0.0298274 0.0234358 0.1 0 pose: 0.38973956 1.22511 -3.93334 0 0.00259345 -0.0009308720.995493 0.0947944 uwb: 0.0 1231.71 867.565 -imu_odom_: 1691062496.277036604 -0.0311246 -0.0574608 9.69173 -0.0553937 0.0447411 0.0468716 0.12 0 pose: 0.0 1.22511 -3.93334 0 0.00259345 -0.0009308720.995493 0.0947944 uwb: 0.0 1231.71 867.565 -imu_odom_: 1691062496.290054753 0.00957681 -0.174777 10.5417 -0.0639159 -0.00319579 0.0468716 0.12 0 pose: 0.47993743 1.21542 -3.9358 0 0.00148851 -0.00275511 0.995491 0.094809 uwb: 0.50265606 1231.11 866.84 -imu_odom_: 1691062496.305115245 0.339977 -0.196325 10.1203 -0.0649811 -0.0372843 0.0394148 0.12 0 pose: 0.0 1.21542 -3.9358 0 0.00148851 -0.00275511 0.995491 0.094809 uwb: 0.0 1231.11 866.84 -imu_odom_: 1691062496.331025848 0.356736 -0.476446 9.88087 -0.0639159 0.00319579 0.0394148 0.17 0 pose: 0.43077889 1.21542 -3.9358 0 -0.00194173 -0.0004415730.995504 0.0947013 uwb: 0.49850605 1231.31 867.528 -imu_odom_: 1691062496.353033746 0.304064 -0.124498 9.72046 -0.0426106 -0.0127832 0.0415453 0.17 0 pose: 0.0 1.21542 -3.9358 0 -0.00194173 -0.0004415730.995504 0.0947013 uwb: 0.0 1231.31 867.528 -imu_odom_: 1691062496.366057728 -0.244209 -0.129287 9.91199 -0.072438 0.02024 0.0596548 0.14 -0.02 pose: 0.47918501 1.20327 -3.92857 0 -0.00287474 -0.0008556150.995503 0.0946794 uwb: 0.0 1231.31 867.528 -imu_odom_: 1691062496.390028644 0.23942 -0.366313 9.83538 -0.0671117 -0.0106526 0.0351537 0.15 0.02 pose: 0.0 1.20327 -3.92857 0 -0.00287474 -0.0008556150.995503 0.0946794 uwb: 0.50097039 1231.34 867.776 -imu_odom_: 1691062496.415092037 0.960075 -0.131681 9.98861 -0.072438 -0.0884169 0.0585895 0.2 0.02 pose: 0.36994898 1.20327 -3.92857 0 -0.00568204 -0.00265845 0.995495 0.0946051 uwb: 0.0 1231.34 867.776 -imu_odom_: 1691062496.430027125 1.1133 -0.486023 9.85932 -0.056459 -0.0245011 0.0543285 0.2 0.02 pose: 0.0 1.20327 -3.92857 0 -0.00568204 -0.00265845 0.995495 0.0946051 uwb: 0.0 1231.34 867.776 -imu_odom_: 1691062496.454171566 -0.385466 -0.229843 9.28471 -0.0330232 0.0372843 0.0191748 0.14 0 pose: 0.39998481 1.19358 -3.93103 0 -0.000621866-0.00323538 0.995542 0.0942645 uwb: 0.49901933 1231.83 868.301 -imu_odom_: 1691062496.480001676 -0.0191536 -0.426168 10.2592 -0.0585895 -0.0468716 0.072438 0.14 0 pose: 0.7110141 1.19358 -3.93103 0 -0.00146444 -0.00303484 0.995535 0.0943348 uwb: 0.0 1231.83 868.301 -imu_odom_: 1691062496.504061250 0.447716 -0.177171 10.3022 -0.0351537 0.0213053 0.0319579 0.15 0 pose: 0.25044145 1.19358 -3.93103 0 -0.00407741 -0.00282811 0.995525 0.0943703 uwb: 0.49949761 1232.23 869.146 -imu_odom_: 1691062496.527051387 0.502782 -0.186748 9.69412 -0.0553937 0.0287621 0.0479369 0.15 0 pose: 0.24852830 1.18142 -3.92381 0 -0.00489311 -0.00297325 0.995546 0.0941022 uwb: 0.0 1232.23 869.146 -imu_odom_: 1691062496.544995014 0.0287304 -0.399832 10.2424 -0.0490022 -0.0170442 0.052198 0.16 0 pose: 0.0 1.18142 -3.92381 0 -0.00489311 -0.00297325 0.995546 0.0941022 uwb: 0.50028504 1232.06 869.511 -imu_odom_: 1691062496.568061269 0.213084 -0.299275 9.75398 -0.0553937 0.0149137 0.0447411 0.16 0 pose: 0.0 1.18142 -3.92381 0 -0.00489311 -0.00297325 0.995546 0.0941022 uwb: 0.0 1232.06 869.511 -imu_odom_: 1691062496.585076029 0.351948 -0.246603 9.52174 -0.0596548 -0.0213053 0.0617853 0.15 0 pose: 0.66033612 1.17173 -3.92628 0 -0.0042796 -0.00188204 0.995567 0.0939409 uwb: 0.50044253 1232.95 871.405 -imu_odom_: 1691062496.610001768 -0.011971 -0.299275 9.91678 -0.052198 0.00958738 0.0255663 0.15 0 pose: 0.0 1.17173 -3.92628 0 -0.0042796 -0.00188204 0.995567 0.0939409 uwb: 0.0 1232.95 871.405 -imu_odom_: 1691062496.636043316 0.0047884 -0.287304 9.92397 -0.0500674 -0.0106526 0.0479369 0.15 0 pose: 0.40980719 1.17173 -3.92628 0 -0.00505101 -0.00185661 0.995579 0.0937748 uwb: 0.50067875 1233.13 872.366 -imu_odom_: 1691062496.659013913 0.0670376 -0.339977 9.56962 -0.0308927 0.0213053 0.0266316 0.17 0 pose: 0.0 1.17173 -3.92628 0 -0.00505101 -0.00185661 0.995579 0.0937748 uwb: 0.0 1233.13 872.366 -imu_odom_: 1691062496.683005827 0.143652 -0.0023942 9.991 -0.04048 0.056459 0.0649811 0.17 0 pose: 0.49012436 1.15956 -3.91908 0 -0.0100166 -0.00192401 0.995537 0.0938143 uwb: 0.49970176 1232.79 872.288 -imu_odom_: 1691062496.701004866 0.148441 -0.577003 9.22725 -0.0681769 -0.00106526 0.0490022 0.17 0 pose: 0.0 1.15956 -3.91908 0 -0.0100166 -0.00192401 0.995537 0.0938143 uwb: 0.0 1232.79 872.288 -imu_odom_: 1691062496.725063565 0.560243 -0.126893 9.71806 -0.0479369 -0.0138484 0.0426106 0.23 0 pose: 0.48002201 1.14987 -3.92155 0 -0.0126339 -0.0004275050.995533 0.0935635 uwb: 0.0 1232.79 872.288 -imu_odom_: 1691062496.750996915 0.572214 -0.445322 10.0269 -0.0553937 -0.0106526 0.0415453 0.2 0 pose: 0.34000356 1.14987 -3.92155 0 -0.0103641 -0.0008156450.995566 0.0934913 uwb: 0.49897850 1232.15 872.109 -imu_odom_: 1691062496.776105512 0.383072 -0.217872 9.92636 -0.056459 -0.00745685 0.0639159 0.2 0 pose: 0.0 1.14987 -3.92155 0 -0.0103641 -0.0008156450.995566 0.0934913 uwb: 0.0 1232.15 872.109 -imu_odom_: 1691062496.800976133 0.227449 -0.215478 9.88326 -0.0628506 -0.0479369 0.0319579 0.18 0 pose: 0.7939852 1.14987 -3.92155 0 -0.00967317 -0.00125149 0.995573 0.0934891 uwb: 0.50095289 1231.37 872.542 -imu_odom_: 1691062496.813977075 -0.0957681 -0.138864 9.52892 -0.0511327 -0.0106526 0.0351537 0.18 0 pose: 0.0 1.14987 -3.92155 0 -0.00967317 -0.00125149 0.995573 0.0934891 uwb: 0.0 1231.37 872.542 -imu_odom_: 1691062496.838109559 0.0814029 -0.169988 10.2448 -0.0575243 -0.00852212 0.052198 0.17 0 pose: 0.51037864 1.1377 -3.91435 0 -0.00614593 -0.00110664 0.995627 0.0932065 uwb: 0.49863437 1230.88 872.545 -imu_odom_: 1691062496.863974665 0.0909797 0.11971 10.0556 -0.0458064 0.00639159 0.0447411 0.17 0 pose: 0.0 1.1377 -3.91435 0 -0.00614593 -0.00110664 0.995627 0.0932065 uwb: 0.0 1230.88 872.545 -imu_odom_: 1691062496.876993106 0.392649 -0.172383 9.65821 -0.0756338 -0.0127832 0.0713727 0.17 -0.02 pose: 0.37939515 1.12801 -3.91684 0 -0.00905859 0.000562526 0.995603 0.0932324 uwb: 0.0 1230.88 872.545 -imu_odom_: 1691062496.892961468 0.0909797 -0.335188 9.67736 -0.0649811 -0.02024 0.0543285 0.17 -0.02 pose: 0.0 1.12801 -3.91684 0 -0.00905859 0.000562526 0.995603 0.0932324 uwb: 0.50017422 1231.04 873.769 -imu_odom_: 1691062496.917987240 0.794875 -0.205901 9.76834 -0.0617853 -0.052198 0.0479369 0.17 -0.02 pose: 0.0 1.12801 -3.91684 0 -0.00905859 0.000562526 0.995603 0.0932324 uwb: 0.0 1231.04 873.769 -imu_odom_: 1691062496.943038092 0.354342 -0.500388 9.54089 -0.0628506 0.00106526 0.0330232 0.24 0 pose: 0.48058196 1.11833 -3.91933 0 -0.0105237 0.00375254 0.99561 0.0929346 uwb: 0.50014797 1231.21 874.465 -imu_odom_: 1691062496.968023910 0.251391 -0.320823 10.1754 -0.0468716 0.0245011 0.0585895 0.19 0 pose: 0.72999100 1.10615 -3.91215 0 -0.00718364 -0.0007032550.995666 0.0927157 uwb: 0.0 1231.21 874.465 -imu_odom_: 1691062496.981084055 0.428562 -0.612916 9.91918 -0.0692422 -0.00426106 0.0649811 0.19 0 pose: 0.0 1.10615 -3.91215 0 -0.00718364 -0.0007032550.995666 0.0927157 uwb: 0.0 1231.21 874.465 -imu_odom_: 1691062497.5193791 0.768539 -0.148441 9.91918 -0.0532632 -0.0308927 0.0415453 0.19 0 pose: 0.0 1.10615 -3.91215 0 -0.00718364 -0.0007032550.995666 0.0927157 uwb: 0.49992049 1231.31 875.45 -imu_odom_: 1691062497.29030270 0.787692 -0.454898 10.0916 -0.0649811 -0.0255663 0.0553937 0.17 0 pose: 0.8119793 1.10615 -3.91215 0 -0.00746489 -0.00145186 0.99567 0.0926445 uwb: 0.0 1231.31 875.45 -imu_odom_: 1691062497.54191953 0.773327 -0.167594 10.3621 -0.0585895 -0.0585895 0.0500674 0.24 0 pose: 0.37849398 1.09647 -3.91465 0 -0.00666207 -0.00412343 0.995697 0.0923363 uwb: 0.50043678 1230.94 876.166 -imu_odom_: 1691062497.79163779 0.562637 -0.244209 10.2017 -0.0735032 -0.02024 0.036219 0.24 0 pose: 0.0 1.09647 -3.91465 0 -0.00666207 -0.00412343 0.995697 0.0923363 uwb: 0.0 1230.94 876.166 -imu_odom_: 1691062497.95972356 0.447716 -0.318429 9.3302 -0.0468716 0.0106526 0.0319579 0.19 0.02 pose: 0.48037209 1.09396 -3.90497 0 -0.00144844 -0.00468696 0.995737 0.0921092 uwb: 0.49918281 1230.93 876.692 -imu_odom_: 1691062497.122074865 0.148441 -0.205901 9.8282 -0.0617853 0.0490022 0.0436758 0.19 0.02 pose: 0.0 1.09396 -3.90497 0 -0.00144844 -0.00468696 0.995737 0.0921092 uwb: 0.0 1230.93 876.692 -imu_odom_: 1691062497.146976407 0.220267 -0.277727 9.6223 -0.052198 -0.00852212 0.0479369 0.23 0.02 pose: 0.49995273 1.08428 -3.90748 0 0.0027459 -0.00445259 0.995736 0.0921022 uwb: 0.50029395 1231.22 878.09 -imu_odom_: 1691062497.171019948 0.272939 -0.320823 10.0317 -0.0500674 -0.00958738 0.0458064 0.23 0.02 pose: 0.0 1.08428 -3.90748 0 0.0027459 -0.00445259 0.995736 0.0921022 uwb: 0.0 1231.22 878.09 -imu_odom_: 1691062497.188004092 0.823605 -0.335188 9.94551 -0.0340885 -0.0607201 0.0383495 0.18 0.02 pose: 0.42959206 1.0746 -3.91 0 -0.00166686 -0.003942 0.995746 0.0920364 uwb: 0.49988857 1230.72 878.354 -imu_odom_: 1691062497.209993624 0.603339 -0.296881 9.95748 -0.0543285 -0.0458064 0.0436758 0.18 0.02 pose: 0.0 1.0746 -3.91 0 -0.00166686 -0.003942 0.995746 0.0920364 uwb: 0.0 1230.72 878.354 -imu_odom_: 1691062497.230937925 0.0335188 -0.0215478 9.39006 -0.0426106 -0.00745685 0.0383495 0.17 0.02 pose: 0.49005744 1.06241 -3.90283 0 -0.00450882 -0.004293 0.99575 0.0918853 uwb: 0.50003439 1230.64 878.911 -imu_odom_: 1691062497.243942080 0.426168 -0.263362 10.1131 -0.0735032 -0.00745685 0.0649811 0.17 0.02 pose: 0.0 1.06241 -3.90283 0 -0.00450882 -0.004293 0.99575 0.0918853 uwb: 0.0 1230.64 878.911 -imu_odom_: 1691062497.267967832 0.363919 -0.335188 10.1203 -0.0575243 0.0181095 0.036219 0.17 0 pose: 0.36938040 1.06241 -3.90283 0 -0.00112969 -0.00406699 0.995763 0.0918599 uwb: 0.0 1230.64 878.911 -imu_odom_: 1691062497.285103627 0.21069 -0.215478 9.74679 -0.0490022 0.00319579 0.0500674 0.17 0 pose: 0.0 1.06241 -3.90283 0 -0.00112969 -0.00406699 0.995763 0.0918599 uwb: 0.49785293 1230.26 879.62 -imu_odom_: 1691062497.310085953 0.0885855 -0.167594 9.52653 -0.036219 -0.00958738 0.0383495 0.18 -0.02 pose: 0.36091706 1.05273 -3.90535 0 -0.00138339 -0.00361326 0.995778 0.0917155 uwb: 0.0 1230.26 879.62 -imu_odom_: 1691062497.337084957 0.457293 -0.497994 9.20092 -0.0905475 -0.0191748 0.0628506 0.18 -0.02 pose: 0.0 1.05273 -3.90535 0 -0.00138339 -0.00361326 0.995778 0.0917155 uwb: 0.0 1230.26 879.62 -imu_odom_: 1691062497.362100530 0.272939 -0.459687 9.35654 -0.056459 0.0447411 0.0458064 0.18 -0.02 pose: 0.41959762 1.04054 -3.89819 0 -0.00446771 -0.00334929 0.995776 0.0916437 uwb: 0.0 1230.26 879.62 -imu_odom_: 1691062497.388082592 0.047884 -0.40462 10.2065 -0.0639159 -0.0234358 0.0585895 0.18 -0.02 pose: 0.0 1.04054 -3.89819 0 -0.00446771 -0.00334929 0.995776 0.0916437 uwb: 0.100068414 1230.3 880.365 -imu_odom_: 1691062497.410058417 0.37589 -0.318429 10.0173 -0.0511327 0.0468716 0.0394148 0.19 0 pose: 0.52151938 1.03086 -3.90071 0 -0.00497668 -0.00599317 0.995791 0.0913191 uwb: 0.0 1230.3 880.365 -imu_odom_: 1691062497.427058018 0.512359 -0.42138 9.85453 -0.0735032 -0.0234358 0.056459 0.19 0 pose: 0.0 1.03086 -3.90071 0 -0.00497668 -0.00599317 0.995791 0.0913191 uwb: 0.0 1230.3 880.365 -imu_odom_: 1691062497.450908495 0.761356 -0.423774 9.68933 -0.0575243 0.00639159 0.0447411 0.18 0 pose: 0.48800723 1.01866 -3.89357 0 -0.00800503 -0.00731936 0.995791 0.0910093 uwb: 0.49995273 1230.15 881.717 -imu_odom_: 1691062497.474962827 0.715866 -0.397437 9.31584 -0.0692422 -0.0319579 0.056459 0.18 0 pose: 0.0 1.01866 -3.89357 0 -0.00800503 -0.00731936 0.995791 0.0910093 uwb: 0.0 1230.15 881.717 -imu_odom_: 1691062497.493033032 0.268151 -0.0502782 9.89524 -0.052198 0.00639159 0.0394148 0.23 0.02 pose: 0.38995840 1.01866 -3.89357 0 -0.00459727 -0.00763899 0.995822 0.0908801 uwb: 0.50109887 1229.7 883.215 -imu_odom_: 1691062497.517050034 0.385466 -0.225055 9.87608 -0.0884169 0.00639159 0.0660464 0.23 0.02 pose: 0.0 1.01866 -3.89357 0 -0.00459727 -0.00763899 0.995822 0.0908801 uwb: 0.0 1229.7 883.215 -imu_odom_: 1691062497.540031429 0.514753 -0.205901 10.1562 -0.0671117 0.0340885 0.036219 0.23 0 pose: 0.48976581 1.00898 -3.8961 0 -0.00063723 -0.00786524 0.99585 0.0906657 uwb: 0.49882118 1229.48 884.832 -imu_odom_: 1691062497.566029823 0.37589 -0.651223 9.55047 -0.0607201 0.0191748 0.0575243 0.23 0 pose: 0.0 1.00898 -3.8961 0 -0.00063723 -0.00786524 0.99585 0.0906657 uwb: 0.0 1229.48 884.832 -imu_odom_: 1691062497.578898949 -0.035913 -0.591368 9.44273 -0.0394148 0.0298274 0.0340885 0.18 0 pose: 0.42002049 0.99677 -3.88897 0 -0.000661379-0.00443891 0.995899 0.0903643 uwb: 0.0 1229.48 884.832 -imu_odom_: 1691062497.593896160 0.368707 -0.155623 10.0628 -0.0298274 -0.0287621 0.0415453 0.18 0 pose: 0.0 0.99677 -3.88897 0 -0.000661379-0.00443891 0.995899 0.0903643 uwb: 0.49969025 1229.72 886.213 -imu_odom_: 1691062497.618949645 0.768539 -0.282516 10.1275 -0.0415453 -0.0383495 0.0447411 0.25 0 pose: 0.46991689 0.99677 -3.88897 0 -0.00116586 -0.0064127 0.995905 0.0901748 uwb: 0.0 1229.72 886.213 -imu_odom_: 1691062497.642071901 0.445322 -0.349553 9.73722 -0.0351537 -0.0149137 0.0436758 0.25 0 pose: 0.0 0.99677 -3.88897 0 -0.00116586 -0.0064127 0.995905 0.0901748 uwb: 0.50004314 1229.34 887.148 -imu_odom_: 1691062497.659972373 0.0454898 -0.0550666 10.2759 -0.0490022 0.0245011 0.0585895 0.18 0.02 pose: 0.70158858 0.979278 -3.88697 0 0.00169182 -0.00692568 0.99591 0.0900686 uwb: 0.0 1229.34 887.148 -imu_odom_: 1691062497.675904576 0.665588 -0.244209 9.98143 -0.0447411 -0.0585895 0.0458064 0.18 0.02 pose: 0.9057121 0.97488 -3.8844 0 0.000884934 -0.00628625 0.995923 0.0899805 uwb: 0.0 1229.34 887.148 -imu_odom_: 1691062497.701958965 0.754174 -0.438139 9.90481 -0.0692422 -0.00426106 0.0458064 0.18 0 pose: 0.0 0.97488 -3.8844 0 0.000884934 -0.00628625 0.995923 0.0899805 uwb: 0.49997607 1228.92 887.85 -imu_odom_: 1691062497.725952636 0.500388 -0.0574608 10.4052 -0.0266316 -0.0415453 0.0319579 0.18 0 pose: 0.24775554 0.97488 -3.8844 0 0.0020895 -0.00526168 0.995939 0.0898512 uwb: 0.0 1228.92 887.85 -imu_odom_: 1691062497.751081656 0.438139 -0.208296 10.1299 -0.0511327 -0.0575243 0.0490022 0.18 0 pose: 0.50048060 0.965212 -3.88696 0 0.00503666 -0.00395272 0.995932 0.0898783 uwb: 0.50019770 1228.74 888.437 -imu_odom_: 1691062497.774020471 0.483629 -0.0957681 10.0437 -0.0319579 -0.036219 0.0436758 0.18 0 pose: 0.0 0.965212 -3.88696 0 0.00503666 -0.00395272 0.995932 0.0898783 uwb: 0.0 1228.74 888.437 -imu_odom_: 1691062497.798893432 0.505177 -0.258574 9.663 -0.0436758 -0.0415453 0.0490022 0.19 0 pose: 0.48067835 0.953839 -3.88307 0 0.00466307 0.000531987 0.995956 0.0897236 uwb: 0.50158883 1228.36 889.115 -imu_odom_: 1691062497.815929779 0.318429 0.179565 10.2304 -0.0287621 -0.00532632 0.0372843 0.19 0 pose: 0.0 0.953839 -3.88307 0 0.00466307 0.000531987 0.995956 0.0897236 uwb: 0.0 1228.36 889.115 -imu_odom_: 1691062497.840957309 0.600945 -0.25618 9.84496 -0.0500674 -0.0426106 0.0511327 0.18 -0.02 pose: 0.41909308 0.947931 -3.88119 0 0.00492042 -3.66996e-060.995964 0.0896208 uwb: 0.50015688 1228.28 890.138 -imu_odom_: 1691062497.865946634 0.658405 -0.265756 10.0197 -0.0607201 -0.0543285 0.0617853 0.18 -0.02 pose: 0.0 0.947931 -3.88119 0 0.00492042 -3.66996e-060.995964 0.0896208 uwb: 0.0 1228.28 890.138 -imu_odom_: 1691062497.889049058 0.208296 -0.153229 9.51695 -0.052198 -0.00852212 0.0500674 0.18 0.02 pose: 0.50016855 0.936379 -3.88425 0 0.0104155 -0.00249208 0.995958 0.0891848 uwb: 0.50032311 1228.57 891.467 -imu_odom_: 1691062497.913876815 0.0933739 -0.143652 10.2208 -0.0607201 0.00106526 0.04048 0.18 0.02 pose: 0.0 0.936379 -3.88425 0 0.0104155 -0.00249208 0.995958 0.0891848 uwb: 0.0 1228.57 891.467 -imu_odom_: 1691062497.929990710 0.727837 -0.301669 9.85453 -0.0639159 -0.0181095 0.0447411 0.21 -0.02 pose: 0.30967036 0.931085 -3.87531 0 0.00749077 -0.00154819 0.995996 0.0890653 uwb: 0.0 1228.57 891.467 -imu_odom_: 1691062497.955019406 0.574608 -0.246603 10.4315 -0.0660464 -0.0266316 0.0639159 0.21 -0.02 pose: 0.0 0.931085 -3.87531 0 0.00749077 -0.00154819 0.995996 0.0890653 uwb: 0.49658139 1228.25 892.108 -imu_odom_: 1691062497.979894700 0.126893 -0.0454898 10.4986 -0.0681769 -0.052198 0.0553937 0.2 0 pose: 0.24060457 0.931085 -3.87531 0 0.00650105 -0.00145814 0.996006 0.0890407 uwb: 0.0 1228.25 892.108 -imu_odom_: 1691062498.2869679 0.711078 -0.277727 9.94073 -0.0660464 0.00958738 0.04048 0.2 0 pose: 0.0 0.931085 -3.87531 0 0.00650105 -0.00145814 0.996006 0.0890407 uwb: 0.49938695 1228.07 893.166 -imu_odom_: 1691062498.27870969 0.59855 -0.122104 9.96227 -0.0383495 -0.036219 0.0276969 0.19 0 pose: 0.40985106 0.921422 -3.87788 0 0.00941548 -0.0029343 0.996014 0.0886537 uwb: 0.0 1228.07 893.166 -imu_odom_: 1691062498.43905834 0.059855 -0.110133 9.05727 -0.0532632 -0.1012 0.0553937 0.19 0 pose: 0.0 0.921422 -3.87788 0 0.00941548 -0.0029343 0.996014 0.0886537 uwb: 0.50144018 1227.36 892.771 -imu_odom_: 1691062498.68852588 1.82917 -0.186748 9.59357 -0.0788296 -0.0980043 0.0319579 0.18 0 pose: 0.48946252 0.909178 -3.8708 0 0.010415 -0.00219299 0.996014 0.0885601 uwb: 0.0 1227.36 892.771 -imu_odom_: 1691062498.84865872 0.328006 0.160412 11.3916 -0.052198 -0.0245011 0.0671117 0.18 0 pose: 0.0 0.909178 -3.8708 0 0.010415 -0.00219299 0.996014 0.0885601 uwb: 0.49917421 1227.15 893.835 -imu_odom_: 1691062498.109868037 0.23942 -0.23942 9.97903 -0.0703074 0.02024 0.0383495 0.19 0 pose: 0.73960387 0.89445 -3.87473 0 0.0126631 0.000607443 0.996 0.088444 uwb: 0.0 1227.15 893.835 -imu_odom_: 1691062498.134862911 0.567426 0.114922 10.568 -0.0703074 0.0213053 0.0308927 0.19 0 pose: 0.8140796 0.889856 -3.87596 0 0.0117454 0.00051229 0.996011 0.0884505 uwb: 0.50068199 1226.78 895.214 -imu_odom_: 1691062498.157876977 0.993594 -0.220267 10.2615 -0.072438 -0.015979 0.0383495 0.19 0 pose: 0.41856243 0.88803 -3.86913 0 0.00940452 0.00265974 0.99602 0.088598 uwb: 0.0 1226.78 895.214 -imu_odom_: 1691062498.173914175 0.519542 -0.670376 9.19613 -0.0468716 -0.0308927 0.0234358 0.19 0 pose: 0.0 0.88803 -3.86913 0 0.00940452 0.00265974 0.99602 0.088598 uwb: 0.0 1226.78 895.214 -imu_odom_: 1691062498.198968544 0.150835 -0.174777 9.65342 -0.0585895 -0.00745685 0.0500674 0.25 0.02 pose: 0.39051264 0.877613 -3.86888 0 0.0115267 0.000330223 0.995991 0.0887124 uwb: 0.50056533 1226.36 895.649 -imu_odom_: 1691062498.222922852 0.217872 -0.308852 10.1442 -0.052198 -0.0127832 0.0394148 0.25 0.02 pose: 0.0 0.877613 -3.86888 0 0.0115267 0.000330223 0.995991 0.0887124 uwb: 0.0 1226.36 895.649 -imu_odom_: 1691062498.245848842 0.292093 -0.265756 10.331 -0.0458064 0.00426106 0.0468716 0.18 0.02 pose: 0.49008677 0.870661 -3.87074 0 0.00685044 5.65006e-05 0.996045 0.0885882 uwb: 0.49930837 1227.17 897.192 -imu_odom_: 1691062498.271853369 0.213084 -0.459687 10.0149 -0.0628506 -0.0127832 0.0490022 0.22 0 pose: 0.0 0.870661 -3.87074 0 0.00685044 5.65006e-05 0.996045 0.0885882 uwb: 0.0 1227.17 897.192 -imu_odom_: 1691062498.285864555 0.790087 -0.258574 10.1347 -0.0479369 -0.0255663 0.0415453 0.22 0 pose: 0.30951881 0.86537 -3.8618 0 0.00388887 -0.0007133220.996072 0.0884633 uwb: 0.50027661 1226.92 898.493 -imu_odom_: 1691062498.301835260 0.241814 -0.19393 9.7851 -0.0255663 0.0894822 0.036219 0.22 0 pose: 0.0 0.86537 -3.8618 0 0.00388887 -0.0007133220.996072 0.0884633 uwb: 0.0 1226.92 898.493 -imu_odom_: 1691062498.326923750 0.220267 -0.237026 9.79468 -0.076699 0.0319579 0.0660464 0.18 -0.02 pose: 0.47960527 0.85571 -3.86438 0 0.00181224 -0.00121859 0.996084 0.0883885 uwb: 0.0 1226.92 898.493 -imu_odom_: 1691062498.350834312 0.517148 -0.107739 9.84256 -0.0532632 -0.00319579 0.04048 0.18 -0.02 pose: 0.7098188 0.85571 -3.86438 0 0.000969053 -0.00122647 0.996093 0.0882946 uwb: 0.49977791 1226.91 899.921 -imu_odom_: 1691062498.375906470 0.581791 -0.191536 9.90242 -0.0639159 -0.00958738 0.056459 0.23 0.02 pose: 0.41900864 0.84605 -3.86697 0 0.000663716 0.000305226 0.996116 0.0880462 uwb: 0.0 1226.91 899.921 -imu_odom_: 1691062498.398831878 0.126893 0.011971 10.2208 -0.0543285 -0.00852212 0.0415453 0.23 0.02 pose: 0.0 0.84605 -3.86697 0 0.000663716 0.000305226 0.996116 0.0880462 uwb: 0.50153648 1226.09 900.283 -imu_odom_: 1691062498.414829414 0.287304 -0.632069 8.99262 -0.0777643 -0.0213053 0.0543285 0.18 0 pose: 0.32080230 0.843458 -3.85731 0 0.00269138 0.000640481 0.996132 0.0878291 uwb: 0.0 1226.09 900.283 -imu_odom_: 1691062498.430837448 0.646434 -0.186748 10.635 -0.0458064 -0.00106526 0.0340885 0.18 0 pose: 0.0 0.843458 -3.85731 0 0.00269138 0.000640481 0.996132 0.0878291 uwb: 0.0 1226.09 900.283 -imu_odom_: 1691062498.454830544 0.612916 -0.25618 10.1897 -0.0607201 -0.04048 0.0490022 0.18 0 pose: 0.0 0.843458 -3.85731 0 0.00269138 0.000640481 0.996132 0.0878291 uwb: 0.49836638 1225.94 900.82 -imu_odom_: 1691062498.471886436 0.344765 -0.380678 9.33499 -0.0575243 0.0223706 0.0394148 0.18 0 pose: 0.55925757 0.8338 -3.85991 0 0.00344531 -0.0002550750.996141 0.0877041 uwb: 0.0 1225.94 900.82 -imu_odom_: 1691062498.495822662 0.567426 -0.260968 9.38527 -0.0809601 -0.0234358 0.056459 0.18 0 pose: 0.0 0.8338 -3.85991 0 0.00344531 -0.0002550750.996141 0.0877041 uwb: 0.50049242 1226.2 901.647 -imu_odom_: 1691062498.521829230 0.64404 -0.246603 10.0509 -0.0553937 -0.00213053 0.04048 0.21 0 pose: 0.41018074 0.824143 -3.8625 0 0.00452908 -0.00232366 0.996147 0.0875557 uwb: 0.0 1226.2 901.647 -imu_odom_: 1691062498.546845685 0.519542 -0.320823 9.91678 -0.0756338 -0.0340885 0.0532632 0.2 0 pose: 0.41970857 0.811886 -3.85545 0 0.00878351 -0.00280916 0.996129 0.0874179 uwb: 0.49942794 1226.07 901.939 -imu_odom_: 1691062498.563813502 0.263362 -0.107739 9.64863 -0.0447411 0.0298274 0.0383495 0.2 0 pose: 0.0 0.811886 -3.85545 0 0.00878351 -0.00280916 0.996129 0.0874179 uwb: 0.0 1226.07 901.939 -imu_odom_: 1691062498.589822403 0.612916 -0.229843 9.87369 -0.0862864 -0.0127832 0.0639159 0.2 0.02 pose: 0.33035930 0.811886 -3.85545 0 0.00653435 -0.00425261 0.996157 0.0872357 uwb: 0.50046909 1225.89 902.718 -imu_odom_: 1691062498.612810221 0.725443 -0.174777 10.2855 -0.0543285 0.02024 0.0383495 0.25 0.02 pose: 0.0 0.811886 -3.85545 0 0.00653435 -0.00425261 0.996157 0.0872357 uwb: 0.0 1225.89 902.718 -imu_odom_: 1691062498.629807202 0.466869 -0.37589 9.92636 -0.0426106 0.00106526 0.0436758 0.25 0.02 pose: 0.41967357 0.802232 -3.85806 0 0.00873048 -0.002799 0.99617 0.0869508 uwb: 0.0 1225.89 902.718 -imu_odom_: 1691062498.653998321 0.148441 -0.191536 10.3573 -0.02024 -0.0106526 0.0340885 0.25 0.02 pose: 0.0 0.802232 -3.85806 0 0.00873048 -0.002799 0.99617 0.0869508 uwb: 0.49802516 1225.75 903.71 -imu_odom_: 1691062498.681149861 0.385466 -0.208296 9.79468 -0.052198 -0.036219 0.0447411 0.2 0 pose: 0.41022157 0.789967 -3.85102 0 0.00791258 -0.00274596 0.996178 0.0869423 uwb: 0.50134692 1225.76 904.403 -imu_odom_: 1691062498.704801448 0.426168 -0.323217 9.71088 -0.0458064 0.0213053 0.0468716 0.19 0 pose: 0.43295187 0.783084 -3.85288 0 0.00428724 -0.00119554 0.996206 0.0869142 uwb: 0.0 1225.76 904.403 -imu_odom_: 1691062498.731832250 0.220267 -0.0311246 9.72764 -0.0575243 -0.0149137 0.056459 0.19 0 pose: 0.0 0.783084 -3.85288 0 0.00428724 -0.00119554 0.996206 0.0869142 uwb: 0.49981290 1225.48 905.681 -imu_odom_: 1691062498.747910570 0.80924 -0.203507 9.76355 -0.0436758 -0.0340885 0.0458064 0.19 0 pose: 0.50682389 0.771687 -3.84868 0 0.00092558 -0.0008886260.996243 0.0865917 uwb: 0.0 1225.48 905.681 -imu_odom_: 1691062498.764877220 0.687136 -0.138864 10.07 -0.0713727 -0.0213053 0.0532632 0.19 0 pose: 0.0 0.771687 -3.84868 0 0.00092558 -0.0008886260.996243 0.0865917 uwb: 0.0 1225.48 905.681 -imu_odom_: 1691062498.790954656 0.641646 -0.155623 9.46428 -0.0788296 0.04048 0.0383495 0.19 0 pose: 0.33044970 0.768046 -3.84659 0 0.00454274 -0.0005213120.996247 0.0864295 uwb: 0.50017454 1225.49 906.828 -imu_odom_: 1691062498.816792365 0.459687 -0.567426 9.31584 -0.0884169 0.04048 0.0681769 0.19 0 pose: 0.8223621 0.768046 -3.84659 0 0.00513922 -0.0003622290.996244 0.0864362 uwb: 0.0 1225.49 906.828 -imu_odom_: 1691062498.841797738 0.215478 -0.380678 9.91678 -0.0117179 0.0106526 0.0127832 0.19 0 pose: 0.43691524 0.758396 -3.84922 0 0.00517161 -0.00289524 0.996272 0.0860694 uwb: 0.49838096 1225.96 908.475 -imu_odom_: 1691062498.867843385 0.433351 -0.354342 9.64624 -0.052198 -0.0447411 0.0553937 0.19 0 pose: 0.0 0.758396 -3.84922 0 0.00517161 -0.00289524 0.996272 0.0860694 uwb: 0.0 1225.96 908.475 -imu_odom_: 1691062498.891799152 0.593762 -0.246603 10.1323 -0.0276969 -0.0479369 0.0394148 0.2 0 pose: 0.8030848 0.758396 -3.84922 0 0.00435874 -0.00294998 0.996266 0.0861727 uwb: 0.50147524 1225.63 909.297 -imu_odom_: 1691062498.916848562 0.289698 -0.294487 10.1682 -0.0340885 0.0383495 0.0383495 0.19 0 pose: 0.50099988 0.746121 -3.84219 0 0.00303976 -0.00513447 0.996262 0.0861776 uwb: 0.0 1225.63 909.297 -imu_odom_: 1691062498.932818100 0.148441 -0.237026 10.0844 -0.0596548 -0.02024 0.0543285 0.19 0 pose: 0.0 0.746121 -3.84219 0 0.00303976 -0.00513447 0.996262 0.0861776 uwb: 0.50105237 1226.05 911.183 -imu_odom_: 1691062498.958987694 0.287304 -0.248997 9.68215 -0.0511327 -0.0266316 0.0383495 0.19 0 pose: 0.0 0.746121 -3.84219 0 0.00303976 -0.00513447 0.996262 0.0861776 uwb: 0.0 1226.05 911.183 -imu_odom_: 1691062498.984864774 0.227449 -0.122104 10.1801 -0.0585895 -0.00745685 0.04048 0.19 0 pose: 0.67201374 0.736472 -3.84482 0 -0.000240861-0.00312753 0.996284 0.0860735 uwb: 0.49929670 1225.75 911.982 -imu_odom_: 1691062499.785318 0.562637 -0.28491 9.47386 -0.0575243 0.00213053 0.0394148 0.19 0 pose: 0.0 0.736472 -3.84482 0 -0.000240861-0.00312753 0.996284 0.0860735 uwb: 0.0 1225.75 911.982 -imu_odom_: 1691062499.26942670 0.596156 -0.203507 9.93594 -0.0777643 0.00426106 0.0681769 0.21 0 pose: 0.23765035 0.726824 -3.84745 0 -0.00209169 -0.00207637 0.996284 0.0860729 uwb: 0.0 1225.75 911.982 -imu_odom_: 1691062499.51870475 0.380678 -0.227449 10.1921 -0.0639159 0.00532632 0.0287621 0.19 0 pose: 0.26931936 0.724195 -3.8378 0 -0.00255443 -0.0009130230.996286 0.0860607 uwb: 0.49968175 1225.93 913.497 -imu_odom_: 1691062499.75934446 0.253785 -0.332794 9.94312 -0.076699 0.00532632 0.0511327 0.19 0 pose: 0.0 0.724195 -3.8378 0 -0.00255443 -0.0009130230.996286 0.0860607 uwb: 0.0 1225.93 913.497 -imu_odom_: 1691062499.99762774 0.538695 -0.543484 9.69173 -0.0394148 0.0298274 0.0255663 0.18 0 pose: 0.42014321 0.714548 -3.84043 0 -0.000126285-0.0009950510.996318 0.0857346 uwb: 0.50151040 1225.81 913.77 -imu_odom_: 1691062499.116764426 0.670376 -0.229843 10.2783 -0.0490022 0.0117179 0.056459 0.18 0 pose: 0.0 0.714548 -3.84043 0 -0.000126285-0.0009950510.996318 0.0857346 uwb: 0.0 1225.81 913.77 -imu_odom_: 1691062499.141825802 0.924162 -0.186748 10.7141 -0.0436758 0.00213053 0.0319579 0.27 0.02 pose: 0.48024412 0.714548 -3.84043 0 -0.00358779 -0.00269007 0.996308 0.085739 uwb: 0.49757911 1225.51 914.563 -imu_odom_: 1691062499.164806628 0.828394 -0.409408 9.31584 -0.0809601 -0.0117179 0.0585895 0.27 0.02 pose: 0.0 0.714548 -3.84043 0 -0.00358779 -0.00269007 0.996308 0.085739 uwb: 0.0 1225.51 914.563 -imu_odom_: 1691062499.190905070 0.277727 -0.296881 9.83538 -0.0340885 0.0607201 0.0266316 0.19 0 pose: 0.40915721 0.702266 -3.83342 0 -0.000752074-0.00357125 0.996309 0.0857589 uwb: 0.49977223 1225.15 915.149 -imu_odom_: 1691062499.216894731 0.457293 -0.414197 9.24401 -0.0830906 0.0234358 0.0447411 0.19 0 pose: 0.0 0.702266 -3.83342 0 -0.000752074-0.00357125 0.996309 0.0857589 uwb: 0.0 1225.15 915.149 -imu_odom_: 1691062499.232810321 0.373495 -0.301669 10.0509 -0.0426106 0.0149137 0.0383495 0.19 0 pose: 0.93118731 0.681072 -3.83173 0 0.000131186 -0.00672806 0.996297 0.0857194 uwb: 0.49991805 1224.41 915.874 -imu_odom_: 1691062499.258751278 0.430956 0.023942 10.4387 -0.0628506 -0.0255663 0.0490022 0.19 0 pose: 0.0 0.681072 -3.83173 0 0.000131186 -0.00672806 0.996297 0.0857194 uwb: 0.0 1224.41 915.874 -imu_odom_: 1691062499.283813529 0.672771 -0.0622492 10.058 -0.0372843 -0.00958738 0.0308927 0.19 0.02 pose: 0.6933123 0.680338 -3.82905 0 -0.000364374-0.00613704 0.9963 0.0857216 uwb: 0.49945435 1224.63 917.352 -imu_odom_: 1691062499.309821271 0.596156 -0.325611 9.93594 -0.0479369 0.0255663 0.0447411 0.21 0 pose: 0.41940539 0.670691 -3.83168 0 0.000380216 -0.00249671 0.996323 0.0856341 uwb: 0.0 1224.63 917.352 -imu_odom_: 1691062499.325747069 -0.0742203 -0.158017 9.89524 -0.0276969 -0.00106526 0.0372843 0.19 0 pose: 0.0 0.670691 -3.83168 0 0.000380216 -0.00249671 0.996323 0.0856341 uwb: 0.0 1224.63 917.352 -imu_odom_: 1691062499.342742597 0.531513 -0.162806 9.64145 -0.0607201 -0.00532632 0.0532632 0.19 0 pose: 0.0 0.670691 -3.83168 0 0.000380216 -0.00249671 0.996323 0.0856341 uwb: 0.49993263 1224.4 918.103 -imu_odom_: 1691062499.367903129 1.15879 -0.265756 9.68933 -0.0468716 0.0181095 0.0340885 0.18 0.02 pose: 0.51006124 0.661045 -3.83432 0 0.00303949 -0.00242592 0.996317 0.0856557 uwb: 0.0 1224.4 918.103 -imu_odom_: 1691062499.394853448 0.342371 -0.440533 9.63427 -0.0692422 0.0234358 0.0617853 0.18 0.02 pose: 0.0 0.661045 -3.83432 0 0.00303949 -0.00242592 0.996317 0.0856557 uwb: 0.50171454 1224.54 919.381 -imu_odom_: 1691062499.410749207 0.536301 -0.363919 10.0868 -0.0436758 0.0106526 0.0298274 0.19 0 pose: 0.78078931 0.648761 -3.82731 0 0.00342345 -0.00331765 0.996343 0.0853129 uwb: 0.0 1224.54 919.381 -imu_odom_: 1691062499.435788709 0.684742 -0.414197 9.67257 -0.0692422 -0.0340885 0.0703074 0.19 0 pose: 0.6939830 0.648761 -3.82731 0 0.00371021 -0.00388119 0.996337 0.0853454 uwb: 0.49947476 1224.46 920.292 -imu_odom_: 1691062499.458800157 0.699107 -0.260968 9.69412 -0.0351537 0.0266316 0.0287621 0.19 0 pose: 0.33995431 0.641836 -3.82921 0 0.00646195 -0.00628686 0.99634 0.0850047 uwb: 0.0 1224.46 920.292 -imu_odom_: 1691062499.474790115 0.304064 -0.280122 10.2927 -0.0617853 0.0234358 0.0575243 0.19 0 pose: 0.0 0.641836 -3.82921 0 0.00646195 -0.00628686 0.99634 0.0850047 uwb: 0.0 1224.46 920.292 -imu_odom_: 1691062499.490782699 0.514753 -0.344765 10.0126 -0.052198 -0.0181095 0.036219 0.25 0 pose: 0.0 0.641836 -3.82921 0 0.00646195 -0.00628686 0.99634 0.0850047 uwb: 0.49914229 1223.7 920.561 -imu_odom_: 1691062499.515776997 0.562637 -0.282516 9.94551 -0.0649811 0.00426106 0.0532632 0.25 0 pose: 0.45941237 0.636468 -3.82032 0 0.00616708 -0.00565003 0.996345 0.0850058 uwb: 0.0 1223.7 920.561 -imu_odom_: 1691062499.539719355 0.337582 -0.397437 9.34696 -0.0383495 0.0234358 0.0266316 0.2 0 pose: 0.0 0.636468 -3.82032 0 0.00616708 -0.00565003 0.996345 0.0850058 uwb: 0.49940477 1223.69 921.445 -imu_odom_: 1691062499.564767024 0.533907 -0.308852 9.95509 -0.0617853 -0.0138484 0.0490022 0.2 0 pose: 0.41012838 0.626825 -3.82297 0 0.00654898 -0.00485914 0.996356 0.0849053 uwb: 0.0 1223.69 921.445 -imu_odom_: 1691062499.587717519 0.395043 0.0047884 10.1323 -0.0490022 -0.0234358 0.036219 0.18 0.02 pose: 0.42024240 0.617183 -3.82562 0 0.00738191 -0.00541653 0.996348 0.0848977 uwb: 0.50000554 1223.92 922.679 -imu_odom_: 1691062499.612845680 0.672771 -0.234632 9.92636 -0.0777643 -0.0468716 0.0479369 0.18 0.02 pose: 0.7020614 0.617183 -3.82562 0 0.00717945 -0.00475142 0.996351 0.0849126 uwb: 0.0 1223.92 922.679 -imu_odom_: 1691062499.628713442 0.447716 -0.0095768110.0054 -0.0500674 0.0426106 0.0319579 0.22 0 pose: 0.0 0.617183 -3.82562 0 0.00717945 -0.00475142 0.996351 0.0849126 uwb: 0.0 1223.92 922.679 -imu_odom_: 1691062499.643901394 0.380678 -0.047884 9.55047 -0.0607201 0.00745685 0.0479369 0.22 0 pose: 0.47930504 0.604889 -3.81863 0 0.0092521 -0.00253775 0.996345 0.0848827 uwb: 0.49986847 1223.27 922.684 -imu_odom_: 1691062499.667847252 0.438139 -0.383072 9.40442 -0.0756338 -0.00852212 0.0372843 0.21 0 pose: 0.0 0.604889 -3.81863 0 0.0092521 -0.00253775 0.996345 0.0848827 uwb: 0.0 1223.27 922.684 -imu_odom_: 1691062499.692696314 0.399832 -0.318429 9.63187 -0.0500674 -0.0223706 0.0532632 0.21 0 pose: 0.30999136 0.604889 -3.81863 0 0.00716341 -0.00118345 0.996365 0.0848748 uwb: 0.50247864 1223.05 923.85 -imu_odom_: 1691062499.714820598 0.486023 -0.368707 9.72046 -0.0490022 -0.00426106 0.0394148 0.18 0 pose: 0.0 0.604889 -3.81863 0 0.00716341 -0.00118345 0.996365 0.0848748 uwb: 0.0 1223.05 923.85 -imu_odom_: 1691062499.737702558 0.42138 -0.229843 9.76355 -0.0628506 -0.0117179 0.0436758 0.18 0 pose: 0.47995831 0.595248 -3.82128 0 0.00401808 -0.0041823 0.99639 0.0847012 uwb: 0.49931144 1222.98 924.526 -imu_odom_: 1691062499.753768343 0.505177 -0.100556 9.65582 -0.0500674 -0.0127832 0.0287621 0.19 0 pose: 0.0 0.595248 -3.82128 0 0.00401808 -0.0041823 0.99639 0.0847012 uwb: 0.0 1222.98 924.526 -imu_odom_: 1691062499.775696645 0.251391 -0.124498 9.44991 -0.0394148 -0.00852212 0.0340885 0.19 0 pose: 0.45994316 0.582951 -3.8143 0 0.00299806 -0.00319514 0.996398 0.08469 uwb: 0.0 1222.98 924.526 -imu_odom_: 1691062499.801720428 0.158017 -0.28491 10.0365 -0.0575243 -0.0340885 0.0447411 0.18 0.02 pose: 0.0 0.582951 -3.8143 0 0.00299806 -0.00319514 0.996398 0.08469 uwb: 0.49999096 1223.08 925.791 -imu_odom_: 1691062499.818733162 0.440533 -0.0502782 9.93354 -0.0426106 0.0330232 0.0436758 0.18 0.02 pose: 0.39010447 0.57331 -3.81695 0 0.000914408 -0.0009825240.996399 0.0847806 uwb: 0.0 1223.08 925.791 -imu_odom_: 1691062499.843732127 0.761356 0.00957681 9.87369 -0.0692422 0.00958738 0.0351537 0.18 0.02 pose: 0.0 0.57331 -3.81695 0 0.000914408 -0.0009825240.996399 0.0847806 uwb: 0.49815072 1222.54 925.537 -imu_odom_: 1691062499.870814558 0.557849 -0.304064 9.73961 -0.0479369 -0.00745685 0.0372843 0.18 0.02 pose: 0.43042641 0.57331 -3.81695 0 0.000297907 0.000812824 0.996405 0.084715 uwb: 0.0 1222.54 925.537 -imu_odom_: 1691062499.895697742 0.28491 -0.332794 9.84017 -0.036219 0.0255663 0.0276969 0.18 0.02 pose: 0.44054045 0.561013 -3.80997 0 0.00354245 -0.0005054130.996394 0.0847756 uwb: 0.50025635 1222.4 926.664 -imu_odom_: 1691062499.922858040 0.861913 -0.105345 10.2304 -0.0575243 -0.00213053 0.056459 0.18 0.02 pose: 0.7923527 0.561013 -3.80997 0 0.00272103 -0.0007731050.996392 0.0848208 uwb: 0.0 1222.4 926.664 -imu_odom_: 1691062499.938698388 0.311246 -0.1652 9.8689 -0.0511327 0.0255663 0.0276969 0.19 -0.02 pose: 0.0 0.561013 -3.80997 0 0.00272103 -0.0007731050.996392 0.0848208 uwb: 0.49959725 1221.77 926.656 -imu_odom_: 1691062499.964662968 0.490811 -0.407014 9.55047 -0.0585895 -0.02024 0.0479369 0.19 -0.02 pose: 0.44119955 0.551372 -3.81262 0 0.00358878 -0.0007952940.9964 0.0846929 uwb: 0.0 1221.77 926.656 -imu_odom_: 1691062499.987677332 0.316035 -0.227449 9.74679 -0.0234358 0.00745685 0.0351537 0.19 -0.02 pose: 0.41804928 0.542405 -3.80753 0 0.00257087 -0.00269529 0.996402 0.084675 uwb: 0.0 1221.77 926.656 -imu_odom_: 1691062500.11724974 -0.0167594 -0.134075 9.33739 -0.0671117 -0.00532632 0.056459 0.19 -0.02 pose: 0.7039571 0.539075 -3.80563 0 0.00187222 -0.00235396 0.996403 0.0846893 uwb: 0.0 1221.77 926.656 -imu_odom_: 1691062500.27664484 1.01275 0.0526724 10.6015 -0.0426106 -0.092678 0.0383495 0.25 0 pose: 0.23042945 0.539075 -3.80563 0 -0.000380866-0.0013888 0.996409 0.0846612 uwb: 0.0 1221.77 926.656 -imu_odom_: 1691062500.43701110 1.36948 -0.28491 9.31823 -0.0479369 -0.0745685 0.0756338 0.25 0 pose: 0.0 0.539075 -3.80563 0 -0.000380866-0.0013888 0.996409 0.0846612 uwb: 0.99986535 1221.64 927.556 -imu_odom_: 1691062500.59710321 0.988805 -0.445322 9.07881 -0.0511327 0.0575243 0.113983 0.18 0.2 pose: 0.23930406 0.529435 -3.80829 0 -0.00101731 -0.00068337 0.996421 0.0845203 uwb: 0.0 1221.64 927.556 -imu_odom_: 1691062500.75709617 1.36469 -0.258574 10.3573 -0.0458064 -0.015979 0.171508 0.18 0.2 pose: 0.0 0.529435 -3.80829 0 -0.00101731 -0.00068337 0.996421 0.0845203 uwb: 0.0 1221.64 927.556 -imu_odom_: 1691062500.91728452 1.23541 -0.588974 9.50019 -0.0735032 -0.00745685 0.298274 0.18 0.2 pose: 0.0 0.529435 -3.80829 0 -0.00101731 -0.00068337 0.996421 0.0845203 uwb: 0.50042274 1221.53 928.661 -imu_odom_: 1691062500.107712291 1.86508 -0.577003 9.97424 -0.0628506 0.056459 0.379234 0.13 0.32 pose: 0.73052562 0.518419 -3.8057 0 0.00640219 -0.00233749 0.996729 0.0805247 uwb: 0.0 1221.53 928.661 -imu_odom_: 1691062500.123701963 1.2378 -0.675165 9.94791 -0.0468716 0.0149137 0.428236 0.13 0.32 pose: 0.0 0.518419 -3.8057 0 0.00640219 -0.00233749 0.996729 0.0805247 uwb: 0.0 1221.53 928.661 -imu_odom_: 1691062500.140648209 1.08457 -0.102951 9.57441 -0.0436758 -0.00532632 0.432497 0.13 0.32 pose: 0.0 0.518419 -3.8057 0 0.00640219 -0.00233749 0.996729 0.0805247 uwb: 0.50002320 1221.34 929.786 -imu_odom_: 1691062500.156646630 1.04387 -0.047884 9.85693 -0.0458064 0.00426106 0.448476 0.14 0.55 pose: 0.7987399 0.517191 -3.8012 0 0.00691407 -0.00260877 0.996833 0.079173 uwb: 0.0 1221.34 929.786 -imu_odom_: 1691062500.173692617 0.452504 -0.11971 9.61272 -0.0671117 0.0255663 0.52198 0.09 0.47 pose: 0.0 0.517191 -3.8012 0 0.00691407 -0.00260877 0.996833 0.079173 uwb: 0.0 1221.34 929.786 -imu_odom_: 1691062500.190717022 0.773327 -0.641646 10.3645 -0.0585895 0 0.591222 0.09 0.47 pose: 0.64996046 0.507521 -3.80375 0 0.0108845 -0.00216025 0.997744 0.066217 uwb: 0.49960907 1220.88 930.357 -imu_odom_: 1691062500.206650116 0.663194 -0.368707 9.72285 -0.0319579 -0.00319579 0.609331 0.09 0.53 pose: 0.0 0.507521 -3.80375 0 0.0108845 -0.00216025 0.997744 0.066217 uwb: 0.0 1220.88 930.357 -imu_odom_: 1691062500.223712726 0.960075 -0.31364 10.2615 -0.0490022 0.00745685 0.621049 0.09 0.53 pose: 0.0 0.507521 -3.80375 0 0.0108845 -0.00216025 0.997744 0.066217 uwb: 0.0 1220.88 930.357 -imu_odom_: 1691062500.239772683 0.682347 0.124498 9.97185 -0.052198 0.00426106 0.629571 0.09 0.53 pose: 0.33949070 0.507521 -3.80375 0 0.0108644 -0.00398994 0.998302 0.0570932 uwb: 0.50289875 1220.87 931.206 -imu_odom_: 1691062500.265704024 0.684742 -0.306458 10.137 -0.0500674 0.00958738 0.607201 0.1 0.73 pose: 0.41111716 0.507509 -3.80372 0 0.0128442 -0.00326026 0.998892 0.0451539 uwb: 0.0 1220.87 931.206 -imu_odom_: 1691062500.282712681 0.00718261 -0.114922 9.88805 -0.0575243 0.0756338 0.600809 0.1 0.73 pose: 0.7948611 0.507521 -3.80375 0 0.0131411 -0.00397632 0.998985 0.0428922 uwb: 0.50050440 1220.66 932.117 -imu_odom_: 1691062500.298636443 -0.59855 -0.354342 10.3166 -0.0681769 0.0884169 0.558199 0.11 0.64 pose: 0.0 0.507521 -3.80375 0 0.0131411 -0.00397632 0.998985 0.0428922 uwb: 0.0 1220.66 932.117 -imu_odom_: 1691062500.314636030 -0.88346 0.0143652 10.2185 -0.0394148 -0.0106526 0.462325 0.1 0.38 pose: 0.50915149 0.502167 -3.80514 0 0.00913942 -0.00523707 0.999527 0.0288786 uwb: 0.0 1220.66 932.117 -imu_odom_: 1691062500.330646408 -0.332794 -0.0981623 9.92875 -0.0585895 -0.0468716 0.393083 0.11 0.41 pose: 0.0 0.502167 -3.80514 0 0.00913942 -0.00523707 0.999527 0.0288786 uwb: 0.0 1220.66 932.117 -imu_odom_: 1691062500.347709602 0.581791 -0.222661 10.4004 -0.0511327 -0.0884169 0.354733 0.11 0.41 pose: 0.0 0.502167 -3.80514 0 0.00913942 -0.00523707 0.999527 0.0288786 uwb: 0.49862625 1220.23 932.668 -imu_odom_: 1691062500.364650890 0.442927 -0.134075 9.79228 -0.056459 0.00958738 0.328101 0.15 0.44 pose: 0.23069491 0.497871 -3.80637 0 0.00708441 -0.00459522 0.99967 0.024241 uwb: 0.0 1220.23 932.668 -imu_odom_: 1691062500.380707347 0.610521 -0.268151 10.2065 -0.052198 0.0447411 0.329167 0.15 0.44 pose: 0.0 0.497871 -3.80637 0 0.00708441 -0.00459522 0.99967 0.024241 uwb: 0.49791756 1220.07 932.929 -imu_odom_: 1691062500.396688561 0.0502782 -0.308852 9.77074 -0.0426106 0.0127832 0.316384 0.15 0.44 pose: 0.33064239 0.497871 -3.80637 0 0.00748046 -0.00239904 0.999789 0.0189649 uwb: 0.0 1220.07 932.929 -imu_odom_: 1691062500.413701009 0.227449 -0.280122 10.1634 -0.056459 -0.0276969 0.317449 0.12 0.23 pose: 0.41918388 0.486854 -3.80378 0 0.00617104 -0.00221814 0.999894 0.0130026 uwb: 0.0 1220.07 932.929 -imu_odom_: 1691062500.430626258 0.296881 -0.158017 9.86411 -0.0649811 -0.0245011 0.295078 0.12 0.23 pose: 0.7945403 0.485603 -3.7993 0 0.00546805 -0.00227974 0.999912 0.0118967 uwb: 0.49942826 1219.88 934.45 -imu_odom_: 1691062500.446645968 0.562637 -0.241814 10.1155 -0.0330232 -0.015979 0.264186 0.12 0.23 pose: 0.0 0.485603 -3.7993 0 0.00546805 -0.00227974 0.999912 0.0118967 uwb: 0.0 1219.88 934.45 -imu_odom_: 1691062500.462635057 0.481235 -0.0383072 9.79468 -0.0490022 -0.0319579 0.273773 0.18 0.29 pose: 0.42012004 0.485603 -3.7993 0 0.00502589 -0.0014035 0.999964 0.00667579 uwb: 0.0 1219.88 934.45 -imu_odom_: 1691062500.478627353 0.19393 -0.19393 10.2089 -0.0543285 -0.0181095 0.264186 0.13 0.17 pose: 0.0 0.485603 -3.7993 0 0.00502589 -0.0014035 0.999964 0.00667579 uwb: 0.0 1219.88 934.45 -imu_odom_: 1691062500.494631315 0.474052 -0.136469 10.1418 -0.0394148 0.00319579 0.245011 0.13 0.17 pose: 0.0 0.485603 -3.7993 0 0.00502589 -0.0014035 0.999964 0.00667579 uwb: 0.50067646 1219.59 935.372 -imu_odom_: 1691062500.510627111 0.423774 -0.349553 9.8258 -0.0639159 -0.00426106 0.247141 0.13 0.17 pose: 0.24004485 0.475959 -3.80194 0 0.00435927 0.000273083 0.999983 0.0039111 uwb: 0.0 1219.59 935.372 -imu_odom_: 1691062500.526625532 0.0957681 -0.509965 9.39245 -0.0639159 0.00106526 0.238619 0.14 0.17 pose: 0.0 0.475959 -3.80194 0 0.00435927 0.000273083 0.999983 0.0039111 uwb: 0.0 1219.59 935.372 -imu_odom_: 1691062500.542621328 0.723049 -0.203507 9.77074 -0.0319579 -0.0511327 0.239684 0.14 0.17 pose: 0.0 0.475959 -3.80194 0 0.00435927 0.000273083 0.999983 0.0039111 uwb: 0.49995612 1219.87 936.952 -imu_odom_: 1691062500.558627915 0.653617 -0.220267 9.40921 -0.0756338 -0.0255663 0.28123 0.16 0.2 pose: 0.71970875 0.466314 -3.80458 0 0.00380458 -0.0003488760.999987 -0.00348145 uwb: 0.0 1219.87 936.952 -imu_odom_: 1691062500.574619920 0.749385 -0.0742203 10.0006 -0.0777643 -0.0223706 0.340885 0.16 0.2 pose: 0.0 0.466314 -3.80458 0 0.00380458 -0.0003488760.999987 -0.00348145 uwb: 0.0 1219.87 936.952 -imu_odom_: 1691062500.590616299 1.39821 -0.658405 9.77313 -0.0383495 -0.0649811 0.315318 0.16 0.2 pose: 0.0 0.466314 -3.80458 0 0.00380458 -0.0003488760.999987 -0.00348145 uwb: 0.49927660 1219.8 939.038 -imu_odom_: 1691062500.606611803 1.34075 0.0407014 9.60075 -0.036219 0 0.232228 0.1 0.14 pose: 0.7011576 0.466314 -3.80458 0 0.00458054 -0.0004162170.99998 -0.00432807 uwb: 0.0 1219.8 939.038 -imu_odom_: 1691062500.622668844 1.49877 0.215478 10.3382 -0.0607201 0 0.218379 0.1 0.14 pose: 0.0 0.466314 -3.80458 0 0.00458054 -0.0004162170.99998 -0.00432807 uwb: 0.0 1219.8 939.038 -imu_odom_: 1691062500.639613632 0.842759 -0.373495 9.56484 -0.0713727 0.0106526 0.18003 0.1 0.14 pose: 0.0 0.466314 -3.80458 0 0.00458054 -0.0004162170.99998 -0.00432807 uwb: 0.49999987 1219.22 938.992 -imu_odom_: 1691062500.656737778 0.737414 -0.342371 9.991 -0.0511327 -0.00319579 0.131028 0.11 0.17 pose: 0.48988876 0.466314 -3.80458 0 0.00971153 -8.74587e-050.999895 -0.010797 uwb: 0.0 1219.22 938.992 -imu_odom_: 1691062500.672728324 0.565032 -0.289698 9.72764 -0.0500674 -0.00958738 0.132093 0.07 0.11 pose: 0.0 0.466314 -3.80458 0 0.00971153 -8.74587e-050.999895 -0.010797 uwb: 0.0 1219.22 938.992 -imu_odom_: 1691062500.688736078 0.818817 -0.0430956 10.1849 -0.056459 -0.00213053 0.143811 0.07 0.11 pose: 0.66110688 0.456677 -3.80725 0 0.013275 -0.00195606 0.999792 -0.0153704 uwb: 0.50254878 1219.59 940.333 -imu_odom_: 1691062500.706779760 0.675165 -0.229843 9.76834 -0.0585895 -0.0149137 0.174703 0.06 0.14 pose: 0.0 0.456677 -3.80725 0 0.013275 -0.00195606 0.999792 -0.0153704 uwb: 0.0 1219.59 940.333 -imu_odom_: 1691062500.723666512 0.665588 -0.28491 9.88326 -0.0500674 0.00426106 0.165116 0.06 0.14 pose: 0.0 0.456677 -3.80725 0 0.013275 -0.00195606 0.999792 -0.0153704 uwb: 0.0 1219.59 940.333 -imu_odom_: 1691062500.748649153 0.792481 -0.117316 9.85693 -0.0490022 -0.00958738 0.164051 0.06 0.14 pose: 0.32995995 0.456677 -3.80725 0 0.0142804 -0.00049688 0.999751 -0.0171613 uwb: 0.49883331 1219.63 940.94 -imu_odom_: 1691062500.775616103 0.136469 -0.222661 9.76834 -0.0596548 0.0490022 0.105461 0.05 0.08 pose: 0.33930406 0.453983 -3.79762 0 0.0148142 -0.0009019020.999703 -0.0193367 uwb: 0.0 1219.63 940.94 -imu_odom_: 1691062500.791685392 -0.181959 0.00718261 10.1179 -0.0500674 0.0245011 -0.0191748 0.05 0.08 pose: 0.0 0.453983 -3.79762 0 0.0148142 -0.0009019020.999703 -0.0193367 uwb: 0.49778050 1219.12 941.691 -imu_odom_: 1691062500.818626386 -1.04387 -0.189142 10.2065 -0.072438 0.00426106 0.0841559 0.07 0.11 pose: 0.52097160 0.444364 -3.80036 0 0.011605 0.000483375 0.999712 -0.0210212 uwb: 0.0 1219.12 941.691 -imu_odom_: 1691062500.843730349 0.234632 -0.907402 9.85214 -0.036219 -0.0745685 0.107592 0.09 0.05 pose: 0.34870357 0.444364 -3.80036 0 0.00791645 0.000423607 0.99974 -0.0213831 uwb: 0.50010194 1218.97 942.141 -imu_odom_: 1691062500.870710714 0.632069 0.174777 9.65103 -0.0500674 -0.0330232 0.152333 0.09 0.05 pose: 0.0 0.444364 -3.80036 0 0.00791645 0.000423607 0.99974 -0.0213831 uwb: 0.0 1218.97 942.141 -imu_odom_: 1691062500.886776212 0.0957681 0.0287304 9.44991 -0.0745685 0.0191748 0.134223 0.12 0.02 pose: 0.8041061 0.444364 -3.80036 0 0.00787565 -0.0002324020.999734 -0.0216627 uwb: 0.50112267 1218.7 943.234 -imu_odom_: 1691062500.913613966 0.047884 -0.21069 9.63187 -0.036219 -0.0298274 0.0639159 0.12 0.02 pose: 0.0 0.444364 -3.80036 0 0.00787565 -0.0002324020.999734 -0.0216627 uwb: 0.0 1218.7 943.234 -imu_odom_: 1691062500.939696376 0.61531 -0.40462 10.2376 -0.0607201 0.0106526 0.110787 0.12 0.02 pose: 0.52062163 0.434734 -3.80305 0 0.00779931 0.0013574 0.999677 -0.0241315 uwb: 0.49832586 1218.64 944.062 -imu_odom_: 1691062500.966926676 0.229843 -0.237026 9.78031 -0.0553937 0.0127832 0.103331 0.18 0.05 pose: 0.42985494 0.434734 -3.80305 0 0.00497274 0.000946588 0.999671 -0.0251254 uwb: 0.0 1218.64 944.062 -imu_odom_: 1691062500.982585046 0.124498 -0.107739 10.1562 -0.0596548 0.0149137 0.0948085 0.13 0.02 pose: 0.0 0.434734 -3.80305 0 0.00497274 0.000946588 0.999671 -0.0251254 uwb: 0.50116059 1218.62 944.473 -imu_odom_: 1691062501.9574746 0.608127 -0.21069 9.96946 -0.0575243 -0.0351537 0.0905475 0.13 0.02 pose: 0.52918706 0.425099 -3.80573 0 0.00196316 -0.0005869140.999637 -0.026857 uwb: 0.0 1218.62 944.473 -imu_odom_: 1691062501.35580171 0.19393 -0.25618 9.75398 -0.0820254 0.0308927 0.113983 0.19 0.08 pose: 0.0 0.425099 -3.80573 0 0.00196316 -0.0005869140.999637 -0.026857 uwb: 0.50037616 1218.12 944.803 -imu_odom_: 1691062501.62584751 0.560243 -0.059855 9.86172 -0.0735032 -0.00639159 0.0873517 0.19 0.02 pose: 0.60946361 0.418193 -3.80766 0 0.00122518 -0.0008871910.999586 -0.0287303 uwb: 0.0 1218.12 944.803 -imu_odom_: 1691062501.87580815 0.553061 -0.280122 10.3908 -0.0841559 0.00852212 0.092678 0.19 0.02 pose: 0.0 0.418193 -3.80766 0 0.00122518 -0.0008871910.999586 -0.0287303 uwb: 0.49938174 1218.04 945.432 -imu_odom_: 1691062501.114691551 0.189142 -0.117316 10.0221 -0.0553937 0 0.0692422 0.18 0.05 pose: 0.7003996 0.415471 -3.80843 0 0.00164765 -0.0003839730.999581 -0.0288964 uwb: 0.0 1218.04 945.432 -imu_odom_: 1691062501.130679186 0.687136 -0.0622492 10.1945 -0.0532632 -0.0223706 0.0905475 0.18 0.05 pose: 0.0 0.415471 -3.80843 0 0.00164765 -0.0003839730.999581 -0.0288964 uwb: 0.50008168 1218.11 946.021 -imu_odom_: 1691062501.157566236 0.656011 -0.158017 10.2065 -0.04048 -0.015979 0.0468716 0.21 0.02 pose: 0.52022808 0.412737 -3.79881 0 0.00389773 -0.0007366980.999538 -0.0301433 uwb: 0.0 1218.11 946.021 -imu_odom_: 1691062501.183585076 0.373495 0.0047884 9.73482 -0.0671117 -0.0287621 0.0884169 0.21 0.02 pose: 0.0 0.412737 -3.79881 0 0.00389773 -0.0007366980.999538 -0.0301433 uwb: 0.49981046 1218.34 947.578 -imu_odom_: 1691062501.210649734 0.124498 -0.387861 9.44513 -0.0575243 0.0308927 0.0575243 0.2 0.05 pose: 0.42971217 0.403123 -3.80156 0 0.00413917 0.00108214 0.999514 -0.0308704 uwb: 0.0 1218.34 947.578 -imu_odom_: 1691062501.235569388 0.691924 -0.186748 10.0126 -0.0500674 -0.0127832 0.076699 0.16 0 pose: 0.53078540 0.393486 -3.80423 0 0.00413145 0.00316957 0.999486 -0.0316254 uwb: 0.50095951 1218.66 949.114 -imu_odom_: 1691062501.262893312 0.926556 -0.23942 10.3046 -0.0447411 -0.0490022 0.0479369 0.16 0 pose: 0.0 0.393486 -3.80423 0 0.00413145 0.00316957 0.999486 -0.0316254 uwb: 0.0 1218.66 949.114 -imu_odom_: 1691062501.278723754 0.711078 -0.071826 9.89524 -0.0415453 0.0394148 0.056459 0.17 0 pose: 0.72236580 0.383855 -3.80692 0 0.00805002 0.00189688 0.999441 -0.0323926 uwb: 0.0 1218.66 949.114 -imu_odom_: 1691062501.295722501 0.169988 -0.347159 9.56244 -0.0553937 0.0170442 0.0703074 0.17 0 pose: 0.8037564 0.383855 -3.80692 0 0.00850286 0.00244588 0.999434 -0.0324582 uwb: 0.49915718 1219.15 950.41 -imu_odom_: 1691062501.321604563 0.433351 -0.117316 9.65582 -0.0415453 -0.0458064 0.0543285 0.16 0.02 pose: 0.0 0.383855 -3.80692 0 0.00850286 0.00244588 0.999434 -0.0324582 uwb: 0.0 1219.15 950.41 -imu_odom_: 1691062501.348539733 0.502782 -0.363919 10.489 -0.0681769 -0.0692422 0.0756338 0.16 0.02 pose: 0.24791625 0.374226 -3.80962 0 0.00723695 0.00221694 0.999434 -0.0327859 uwb: 0.50024500 1219.28 950.984 -imu_odom_: 1691062501.374695644 0.605733 0.0861913 10.6781 -0.0415453 -0.0426106 0.0500674 0.17 0.02 pose: 0.52817232 0.367371 -3.81155 0 0.00623358 0.000737371 0.99942 -0.0334593 uwb: 0.0 1219.28 950.984 -imu_odom_: 1691062501.401600775 0.555455 -0.31364 10.1227 -0.0426106 -0.0308927 0.0458064 0.17 0.02 pose: 0.0 0.367371 -3.81155 0 0.00623358 0.000737371 0.99942 -0.0334593 uwb: 0.49955964 1219.73 952.491 -imu_odom_: 1691062501.426693371 0.42138 -0.0383072 10.0892 -0.0287621 0.0223706 0.0500674 0.19 0 pose: 0.33038877 0.361881 -3.80271 0 0.00739626 0.00285754 0.999404 -0.0336078 uwb: 0.0 1219.73 952.491 -imu_odom_: 1691062501.453621250 0.344765 -0.42138 9.72285 -0.0458064 0.00852212 0.0500674 0.19 0 pose: 0.45114761 0.352258 -3.80543 0 0.0057486 0.00317113 0.999407 -0.0338037 uwb: 0.49978421 1219.91 952.856 -imu_odom_: 1691062501.479626092 0.442927 -0.0790087 9.77074 -0.056459 -0.0223706 0.0596548 0.19 0 pose: 0.0 0.352258 -3.80543 0 0.0057486 0.00317113 0.999407 -0.0338037 uwb: 0.0 1219.91 952.856 -imu_odom_: 1691062501.506519266 0.665588 -0.390255 9.54329 -0.0639159 0.0191748 0.0319579 0.21 0 pose: 0.52932721 0.342637 -3.80815 0 0.00348279 0.0034001 0.999403 -0.0342049 uwb: 0.50067954 1219.97 953.244 -imu_odom_: 1691062501.522512151 0.275333 -0.0981623 9.84496 -0.056459 0.0340885 0.0543285 0.21 0 pose: 0.6920004 0.342637 -3.80815 0 0.00385997 0.00284741 0.999404 -0.034182 uwb: 0.0 1219.97 953.244 -imu_odom_: 1691062501.548600693 0.222661 -0.493206 9.95988 -0.056459 0.0106526 0.0490022 0.22 0 pose: 0.35966055 0.333017 -3.81089 0 0.00315005 0.00180647 0.999407 -0.0342297 uwb: 0.49931466 1219.99 953.84 -imu_odom_: 1691062501.571589408 -0.0023942 0.0454898 9.90721 -0.0340885 0.0543285 0.052198 0.22 0 pose: 0.0 0.333017 -3.81089 0 0.00315005 0.00180647 0.999407 -0.0342297 uwb: 0.0 1219.99 953.84 -imu_odom_: 1691062501.588610319 0.100556 -0.493206 9.43076 -0.0681769 0.00745685 0.0660464 0.18 0.02 pose: 0.7066114 0.333017 -3.81089 0 0.00268202 0.00122925 0.999408 -0.0342642 uwb: 0.50061830 1219.75 952.891 -imu_odom_: 1691062501.614528253 0.102951 -0.023942 9.90481 -0.036219 0.00639159 0.036219 0.18 0.02 pose: 0.0 0.333017 -3.81089 0 0.00268202 0.00122925 0.999408 -0.0342642 uwb: 0.0 1219.75 952.891 -imu_odom_: 1691062501.641576578 0.253785 -0.395043 10.0628 -0.0436758 -0.0394148 0.0596548 0.22 0.02 pose: 0.48970518 0.333017 -3.81089 0 -0.00175351 0.000466038 0.9994 -0.034592 uwb: 0.49930300 1220.23 954.992 -imu_odom_: 1691062501.666585183 0.270545 0.0790087 10.0868 -0.0553937 -0.00106526 0.0532632 0.18 -0.02 pose: 0.42992798 0.333017 -3.81089 0 -0.00475579 0.000768789 0.999384 -0.03475 uwb: 0.0 1220.23 954.992 -imu_odom_: 1691062501.693623884 0.035913 -0.134075 9.85932 -0.0639159 0.02024 0.0372843 0.23 0 pose: 0.0 0.333017 -3.81089 0 -0.00475579 0.000768789 0.999384 -0.03475 uwb: 0.50006710 1220.12 955.016 -imu_odom_: 1691062501.718669235 0.536301 -0.0407014 10.0293 -0.0468716 -0.00852212 0.0490022 0.18 0.02 pose: 0.52014934 0.320657 -3.80401 0 -0.00603804 0.00148779 0.999364 -0.035115 uwb: 0.0 1220.12 955.016 -imu_odom_: 1691062501.735579323 0.833182 -0.347159 9.73961 -0.0692422 -0.0276969 0.0351537 0.18 0.02 pose: 0.0 0.320657 -3.80401 0 -0.00603804 0.00148779 0.999364 -0.035115 uwb: 0.50039956 1220.06 955.826 -imu_odom_: 1691062501.760570138 0.454898 -0.409408 9.40921 -0.0756338 -0.00745685 0.0500674 0.18 0 pose: 0.27991777 0.311043 -3.80677 0 -0.00754141 0.00207908 0.999352 -0.0351322 uwb: 0.0 1220.06 955.826 -imu_odom_: 1691062501.787525722 0.897826 -0.45011 9.74679 -0.036219 -0.0319579 0.0308927 0.18 0 pose: 0.42140921 0.301429 -3.80952 0 -0.00373513 0.00151345 0.999371 -0.035227 uwb: 0.49965005 1220.18 956.403 -imu_odom_: 1691062501.812576031 0.770933 -0.289698 10.094 -0.0458064 0.02024 0.0426106 0.18 0 pose: 0.43836509 0.294667 -3.81145 0 2.12714e-05 -0.00082148 0.99938 -0.0351914 uwb: 0.0 1220.18 956.403 -imu_odom_: 1691062501.829506534 0.471658 -0.490811 9.49301 -0.0458064 0.0479369 0.0266316 0.18 0 pose: 0.0 0.294667 -3.81145 0 2.12714e-05 -0.00082148 0.99938 -0.0351914 uwb: 0.49848059 1220.36 957.962 -imu_odom_: 1691062501.845508751 0.232238 -0.263362 10.2496 -0.0308927 0.04048 0.0319579 0.18 0 pose: 0.0 0.294667 -3.81145 0 2.12714e-05 -0.00082148 0.99938 -0.0351914 uwb: 0.0 1220.36 957.962 -imu_odom_: 1691062501.862512455 0.536301 -0.138864 9.50498 -0.0660464 -0.0117179 0.0436758 0.18 0 pose: 0.49990670 0.291815 -3.81227 0 0.00101435 -0.00254485 0.99938 -0.0350918 uwb: 0.0 1220.36 957.962 -imu_odom_: 1691062501.887537392 0.306458 -0.0407014 9.42837 -0.0372843 0.0575243 0.0330232 0.18 0 pose: 0.0 0.291815 -3.81227 0 0.00101435 -0.00254485 0.99938 -0.0350918 uwb: 0.50114907 1221.02 959.035 -imu_odom_: 1691062501.914569969 0.0407014 -0.323217 9.76834 -0.0671117 -0.00213053 0.0436758 0.19 0 pose: 0.33014379 0.2822 -3.81502 0 0.000630474 -0.0006237770.999385 -0.0350684 uwb: 0.0 1221.02 959.035 -imu_odom_: 1691062501.939502455 0.105345 -0.213084 9.61511 -0.0692422 0.0255663 0.0351537 0.18 0 pose: 0.44039198 0.272582 -3.80737 0 -0.00335453 -0.0002411020.999379 -0.0350636 uwb: 0.49885680 1221.2 960.001 -imu_odom_: 1691062501.966492453 0.213084 -0.464475 9.98382 -0.0468716 -0.015979 0.0394148 0.18 0 pose: 0.0 0.272582 -3.80737 0 -0.00335453 -0.0002411020.999379 -0.0350636 uwb: 0.0 1221.2 960.001 -imu_odom_: 1691062501.982523251 0.442927 -0.0622492 9.92397 -0.0415453 0.00958738 0.0394148 0.18 0 pose: 0.8007816 0.269836 -3.80815 0 -0.0042725 -0.0003156570.999377 -0.0350461 uwb: 0.50064162 1221.46 961.349 -imu_odom_: 1691062502.9633114 0.730232 -0.332794 9.67018 -0.0500674 0.0383495 0.0234358 0.18 0 pose: 0.0 0.269836 -3.80815 0 -0.0042725 -0.0003156570.999377 -0.0350461 uwb: 0.0 1221.46 961.349 -imu_odom_: 1691062502.35560097 0.25618 -0.299275 9.85214 -0.0649811 0.0340885 0.0585895 0.18 0.02 pose: 0.52024558 0.260221 -3.8109 0 -0.00623975 -0.00228489 0.999366 -0.0349915 uwb: 0.49937891 1221.97 962.655 -imu_odom_: 1691062502.62563518 0.35913 -0.339977 10.0102 -0.04048 -0.0532632 0.0415453 0.23 0.02 pose: 0.42940599 0.250606 -3.81365 0 -0.00451212 -0.0025152 0.99938 -0.0348411 uwb: 0.0 1221.97 962.655 -imu_odom_: 1691062502.87623458 0.818817 -0.253785 10.1083 -0.0575243 -0.00319579 0.0532632 0.18 -0.02 pose: 0.0 0.250606 -3.81365 0 -0.00451212 -0.0025152 0.99938 -0.0348411 uwb: 0.50006725 1222.01 962.848 -imu_odom_: 1691062502.103613140 0.296881 -0.150835 9.81623 -0.0266316 0.0553937 0.036219 0.18 -0.02 pose: 0.0 0.250606 -3.81365 0 -0.00451212 -0.0025152 0.99938 -0.0348411 uwb: 0.0 1222.01 962.848 -imu_odom_: 1691062502.129482670 0.071826 -0.265756 9.39006 -0.0809601 0.0319579 0.0628506 0.18 0.02 pose: 0.52993106 0.240991 -3.8164 0 -0.00261253 -0.00476914 0.99937 -0.035072 uwb: 0.0 1222.01 962.848 -imu_odom_: 1691062502.156472968 0.545878 -0.174777 9.67736 -0.0607201 -0.0106526 0.0500674 0.21 -0.02 pose: 0.40942883 0.240991 -3.8164 0 -0.00317594 -0.00308102 0.999369 -0.035251 uwb: 0.50142629 1222.27 964.596 -imu_odom_: 1691062502.182552186 0.227449 -0.483629 10.1849 -0.0905475 0.0351537 0.0681769 0.18 -0.02 pose: 0.25180387 0.231378 -3.81915 0 -0.00461527 -0.00309471 0.999354 -0.0355021 uwb: 0.49978144 1222.67 964.731 -imu_odom_: 1691062502.209502237 0.234632 -0.0885855 10.1825 -0.0617853 -0.0181095 0.0458064 0.23 0.02 pose: 0.27844216 0.22862 -3.80954 0 -0.00324594 -0.00319805 0.999352 -0.0357184 uwb: 0.0 1222.67 964.731 -imu_odom_: 1691062502.234477894 0.620098 -0.0646434 10.5991 -0.0660464 -0.0255663 0.0436758 0.23 0.02 pose: 0.0 0.22862 -3.80954 0 -0.00324594 -0.00319805 0.999352 -0.0357184 uwb: 0.50007017 1222.68 964.929 -imu_odom_: 1691062502.251518642 0.0311246 -0.287304 9.92636 -0.0436758 0.0266316 0.0351537 0.21 0 pose: 0.25003946 0.219009 -3.8123 0 -0.0045765 -0.0045204 0.999331 -0.0359995 uwb: 0.0 1222.68 964.929 -imu_odom_: 1691062502.276613579 0.225055 -0.325611 9.21289 -0.0479369 0.00213053 0.0415453 0.21 0 pose: 0.0 0.219009 -3.8123 0 -0.0045765 -0.0045204 0.999331 -0.0359995 uwb: 0.0 1222.68 964.929 -imu_odom_: 1691062502.293502675 0.864307 -0.011971 10.4124 -0.0585895 -0.0585895 0.0479369 0.21 0.02 pose: 0.51966538 0.2094 -3.81507 0 -0.0035977 -0.00152787 0.99934 -0.036114 uwb: 0.50124547 1222.53 964.753 -imu_odom_: 1691062502.309454151 1.13485 -0.189142 9.63187 -0.0649811 -0.015979 0.056459 0.21 0.02 pose: 0.0 0.2094 -3.81507 0 -0.0035977 -0.00152787 0.99934 -0.036114 uwb: 0.0 1222.53 964.753 -imu_odom_: 1691062502.325439167 1.39343 -0.361524 9.61033 -0.0745685 -0.0532632 0.0330232 0.21 0.02 pose: 0.0 0.2094 -3.81507 0 -0.0035977 -0.00152787 0.99934 -0.036114 uwb: 0.0 1222.53 964.753 -imu_odom_: 1691062502.341452471 1.84593 -0.205901 9.84496 -0.0330232 -0.0298274 -0.0777643 0.14 -0.26 pose: 0.42025737 0.199791 -3.81784 0 -0.00580068 -0.00303969 0.999325 -0.0361397 uwb: 0.49816577 1222.68 965.527 -imu_odom_: 1691062502.358651287 1.47243 0.270545 10.2328 -0.052198 -0.0372843 -0.160855 0.14 -0.26 pose: 0.0 0.199791 -3.81784 0 -0.00580068 -0.00303969 0.999325 -0.0361397 uwb: 0.0 1222.68 965.527 -imu_odom_: 1691062502.374474734 0.981623 0.0837971 9.62469 -0.0500674 -0.04048 -0.251402 0.14 -0.26 pose: 0.49946355 0.199791 -3.81784 0 -5.53681e-05-0.00256348 0.999356 -0.0357883 uwb: 0.0 1222.68 965.527 -imu_odom_: 1691062502.391677050 1.24259 0.0814029 9.71567 -0.0628506 -0.0468716 -0.361125 0.15 -0.55 pose: 0.0 0.199791 -3.81784 0 -5.53681e-05-0.00256348 0.999356 -0.0357883 uwb: 0.49966478 1222.5 965.754 -imu_odom_: 1691062502.408565854 1.40061 0.071826 9.83059 -0.0617853 -0.00319579 -0.401605 0.1 -0.41 pose: 0.0 0.199791 -3.81784 0 -5.53681e-05-0.00256348 0.999356 -0.0357883 uwb: 0.0 1222.5 965.754 -imu_odom_: 1691062502.423454016 0.952892 -0.332794 9.8665 -0.0777643 0.00745685 -0.419714 0.1 -0.41 pose: 0.66173723 0.19018 -3.82061 0 0.00693053 0.000319989 0.999636 -0.0260833 uwb: 0.0 1222.5 965.754 -imu_odom_: 1691062502.439447780 0.837971 -0.292093 9.8689 -0.0585895 0.0319579 -0.435693 0.1 -0.41 pose: 0.0 0.19018 -3.82061 0 0.00693053 0.000319989 0.999636 -0.0260833 uwb: 0.49998851 1222.3 966.379 -imu_odom_: 1691062502.455504830 0.948104 -0.241814 9.79947 -0.0820254 0.0106526 -0.42291 0.08 -0.44 pose: 0.0 0.19018 -3.82061 0 0.00693053 0.000319989 0.999636 -0.0260833 uwb: 0.0 1222.3 966.379 -imu_odom_: 1691062502.471441142 0.967257 -0.268151 9.94791 -0.0532632 0.0255663 -0.44315 0.08 -0.44 pose: 0.30886593 0.19018 -3.82061 0 0.00966769 -0.0001335840.999772 -0.019019 uwb: 0.0 1222.3 966.379 -imu_odom_: 1691062502.487442197 0.955286 -0.0407014 9.63666 -0.052198 -0.00639159 -0.454868 0.07 -0.53 pose: 0.0 0.19018 -3.82061 0 0.00966769 -0.0001335840.999772 -0.019019 uwb: 0.49890944 1222.85 968.48 -imu_odom_: 1691062502.503434212 0.696713 0.047884 9.96227 -0.0511327 0.00213053 -0.48363 0.07 -0.53 pose: 0.40934716 0.177754 -3.8138 0 0.0132137 -0.00069791 0.999869 -0.00933663 uwb: 0.0 1222.85 968.48 -imu_odom_: 1691062502.520525997 0.672771 -0.0023942 10.1011 -0.0543285 -0.0308927 -0.499609 0.07 -0.53 pose: 0.0 0.177754 -3.8138 0 0.0132137 -0.00069791 0.999869 -0.00933663 uwb: 0.0 1222.85 968.48 -imu_odom_: 1691062502.536462891 0.725443 -0.282516 9.94791 -0.0703074 -0.0330232 -0.50174 0.08 -0.73 pose: 0.7006914 0.177763 -3.81384 0 0.0138117 -0.0002843240.999876 -0.00759929 uwb: 0.49991560 1223.03 969.447 -imu_odom_: 1691062502.553432479 0.761356 -0.186748 9.96227 -0.0490022 -0.02024 -0.541154 0.08 -0.73 pose: 0.0 0.177763 -3.81384 0 0.0138117 -0.0002843240.999876 -0.00759929 uwb: 0.0 1223.03 969.447 -imu_odom_: 1691062502.570427732 0.840365 -0.011971 9.88805 -0.0553937 -0.0383495 -0.509196 0.08 -0.73 pose: 0.0 0.177763 -3.81384 0 0.0138117 -0.0002843240.999876 -0.00759929 uwb: 0.0 1223.03 969.447 -imu_odom_: 1691062502.586438994 0.816423 -0.351948 9.99819 -0.0692422 -0.00745685 -0.437824 0.05 -0.5 pose: 0.49010195 0.177762 -3.81384 0 0.0148284 0.00301762 0.999871 0.00533621 uwb: 0.49993018 1223.15 971.018 -imu_odom_: 1691062502.603439204 0.696713 -0.416591 10.07 -0.0436758 0.00639159 -0.418649 0.07 -0.58 pose: 0.0 0.177762 -3.81384 0 0.0148284 0.00301762 0.999871 0.00533621 uwb: 0.0 1223.15 971.018 -imu_odom_: 1691062502.619433844 0.691924 -0.158017 9.92157 -0.0596548 -0.0298274 -0.377104 0.07 -0.58 pose: 0.65979492 0.168182 -3.81671 0 0.0182923 0.00108258 0.999573 0.0227438 uwb: 0.0 1223.15 971.018 -imu_odom_: 1691062502.636489173 0.775721 -0.143652 9.88566 -0.0585895 -0.0106526 -0.316384 0.06 -0.53 pose: 0.0 0.168182 -3.81671 0 0.0182923 0.00108258 0.999573 0.0227438 uwb: 0.0 1223.15 971.018 -imu_odom_: 1691062502.653487050 0.519542 -0.464475 9.8258 -0.0553937 0.0106526 -0.295078 0.06 -0.53 pose: 0.0 0.168182 -3.81671 0 0.0182923 0.00108258 0.999573 0.0227438 uwb: 0.0 1223.15 971.018 -imu_odom_: 1691062502.668549029 0.627281 -0.196325 10.0221 -0.0575243 -0.0234358 -0.286556 0.06 -0.53 pose: 0.33058718 0.168182 -3.81671 0 0.0174003 0.00165176 0.999408 0.0296283 uwb: 0.0 1223.15 971.018 -imu_odom_: 1691062502.693479482 0.617704 -0.270545 9.81144 -0.0596548 -0.00319579 -0.229032 0.03 -0.26 pose: 0.42052568 0.168174 -3.81667 0 0.0156328 0.000925261 0.999204 0.0366915 uwb: 0.100171518 1222.91 970.85 -imu_odom_: 1691062502.710426030 0.629675 -0.392649 9.96946 -0.0639159 -0.0117179 -0.203466 0.03 -0.26 pose: 0.0 0.168174 -3.81667 0 0.0156328 0.000925261 0.999204 0.0366915 uwb: 0.0 1222.91 970.85 -imu_odom_: 1691062502.726424169 -0.100556 -0.440533 9.5816 -0.0500674 0.0607201 -0.26099 0.05 -0.23 pose: 0.6937796 0.168182 -3.81671 0 0.0151123 0.000461228 0.999178 0.0376163 uwb: 0.0 1222.91 970.85 -imu_odom_: 1691062502.743467250 -1.29766 0.25618 10.094 -0.0287621 0.0958738 -0.286556 0.09 -0.26 pose: 0.0 0.168182 -3.81671 0 0.0151123 0.000461228 0.999178 0.0376163 uwb: 0.49938482 1223.01 971.826 -imu_odom_: 1691062502.760408549 -1.45089 -0.196325 10.1299 -0.0671117 -0.0394148 -0.171508 0.08 -0.17 pose: 0.0 0.168182 -3.81671 0 0.0151123 0.000461228 0.999178 0.0376163 uwb: 0.0 1223.01 971.826 -imu_odom_: 1691062502.776465307 -0.351948 -0.591368 9.85214 -0.0692422 -0.120375 -0.133158 0.08 -0.17 pose: 0.76053571 0.168182 -3.81671 0 0.00813207 -0.00182411 0.998809 0.0480744 uwb: 0.0 1223.01 971.826 -imu_odom_: 1691062502.792467238 0.811634 -0.512359 9.53132 -0.04048 -0.0490022 -0.143811 0.08 -0.17 pose: 0.0 0.168182 -3.81671 0 0.00813207 -0.00182411 0.998809 0.0480744 uwb: 0.50099174 1223.02 972.419 -imu_odom_: 1691062502.808463627 0.483629 -0.124498 9.8282 -0.0490022 0.0319579 -0.12144 0.09 -0.17 pose: 0.0 0.168182 -3.81671 0 0.00813207 -0.00182411 0.998809 0.0480744 uwb: 0.0 1223.02 972.419 -imu_odom_: 1691062502.825411342 -0.0766145 -0.158017 9.87608 -0.0628506 0.0585895 -0.107592 0.09 -0.17 pose: 0.31937658 0.158578 -3.81949 0 0.00745745 -0.00291837 0.998665 0.0510259 uwb: 0.0 1223.02 972.419 -imu_odom_: 1691062502.841462268 0.122104 -0.459687 10.0916 -0.0458064 0.0436758 -0.134223 0.11 -0.2 pose: 0.41933288 0.15857 -3.81946 0 0.00510238 -0.00168747 0.998505 0.0543879 uwb: 0.0 1223.02 972.419 -imu_odom_: 1691062502.857404704 0.122104 -0.184354 10.1059 -0.0468716 0.00213053 -0.125701 0.11 -0.2 pose: 0.0 0.15857 -3.81946 0 0.00510238 -0.00168747 0.998505 0.0543879 uwb: 0.0 1223.02 972.419 -imu_odom_: 1691062502.873453880 0.538695 -0.114922 9.76116 -0.0415453 0.0149137 -0.104396 0.11 -0.2 pose: 0.0 0.15857 -3.81946 0 0.00510238 -0.00168747 0.998505 0.0543879 uwb: 0.0 1223.02 972.419 -imu_odom_: 1691062502.890491711 0.263362 -0.277727 9.84256 -0.0426106 0.0436758 -0.0948085 0.14 -0.17 pose: 0.7062617 0.158578 -3.81949 0 0.00430242 -0.00195496 0.998475 0.0549983 uwb: 0.100019283 1223.34 974.157 -imu_odom_: 1691062502.907437968 -0.071826 -0.169988 10.0461 -0.0436758 -0.0138484 -0.106526 0.13 -0.14 pose: 0.0 0.158578 -3.81949 0 0.00430242 -0.00195496 0.998475 0.0549983 uwb: 0.0 1223.34 974.157 -imu_odom_: 1691062502.924600621 -0.0933739 -0.138864 10.0126 -0.036219 -0.0735032 -0.0884169 0.13 -0.14 pose: 0.65088535 0.146131 -3.81269 0 -0.000120903-0.0005575890.998204 0.0599021 uwb: 0.0 1223.34 974.157 -imu_odom_: 1691062502.940448566 0.402226 -0.23942 9.76116 -0.0511327 -0.0511327 -0.0735032 0.13 -0.14 pose: 0.0 0.146131 -3.81269 0 -0.000120903-0.0005575890.998204 0.0599021 uwb: 0.0 1223.34 974.157 -imu_odom_: 1691062502.957544142 0.565032 -0.258574 10.2735 -0.0394148 0.00213053 -0.0649811 0.13 -0.14 pose: 0.0 0.146131 -3.81269 0 -0.000120903-0.0005575890.998204 0.0599021 uwb: 0.0 1223.34 974.157 -imu_odom_: 1691062502.973625398 0.751779 -0.399832 10.2041 -0.04048 -0.0191748 -0.0852212 0.13 -0.14 pose: 0.33882015 0.146131 -3.81269 0 -0.00139816 -0.0002073350.998069 0.0621038 uwb: 0.0 1223.34 974.157 -imu_odom_: 1691062502.990446833 1.45328 -0.0263362 9.89284 -0.0628506 -0.0660464 -0.072438 0.17 -0.14 pose: 0.42180889 0.136532 -3.8155 0 0.00266845 -0.00170138 0.997912 0.0645078 uwb: 0.99883087 1223.25 973.773 -imu_odom_: 1691062503.7536286 1.07739 -0.162806 9.79947 -0.0788296 0.0596548 -0.00532632 0.17 -0.14 pose: 0.7936075 0.136532 -3.8155 0 0.0036966 -0.00162616 0.99788 0.0649525 uwb: 0.0 1223.25 973.773 -imu_odom_: 1691062503.22560356 1.39103 -0.435745 9.87129 -0.0479369 -0.00745685 0.00852212 0.17 -0.14 pose: 0.0 0.136532 -3.8155 0 0.0036966 -0.00162616 0.99788 0.0649525 uwb: 0.0 1223.25 973.773 -imu_odom_: 1691062503.38381475 1.15401 -0.289698 9.85453 -0.0436758 -0.0426106 -0.02024 0.09 -0.11 pose: 0.40998883 0.136532 -3.8155 0 0.00746622 -0.00196849 0.997785 0.066069 uwb: 0.49840791 1222.87 973.817 -imu_odom_: 1691062503.55381690 1.2378 0.217872 10.0389 -0.052198 -0.00106526 -0.0500674 0.12 -0.14 pose: 0.0 0.136532 -3.8155 0 0.00746622 -0.00196849 0.997785 0.066069 uwb: 0.0 1222.87 973.817 -imu_odom_: 1691062503.72377239 1.14682 -0.0502782 10.0963 -0.0575243 -0.0181095 -0.0500674 0.12 -0.14 pose: 0.0 0.136532 -3.8155 0 0.00746622 -0.00196849 0.997785 0.066069 uwb: 0.0 1222.87 973.817 -imu_odom_: 1691062503.89408368 0.699107 -0.277727 9.54568 -0.0681769 0.0149137 -0.056459 0.11 -0.14 pose: 0.22832993 0.136532 -3.8155 0 0.00992841 -0.0017344 0.997712 0.0668582 uwb: 0.50045820 1222.54 974.25 -imu_odom_: 1691062503.106378253 0.804452 -0.390255 9.98861 -0.0511327 -0.00852212 -0.056459 0.11 -0.14 pose: 0.0 0.136532 -3.8155 0 0.00992841 -0.0017344 0.997712 0.0668582 uwb: 0.0 1222.54 974.25 -imu_odom_: 1691062503.121434986 0.596156 -0.275333 9.56244 -0.0575243 0.00639159 -0.0649811 0.11 -0.14 pose: 0.33996639 0.124094 -3.80872 0 0.0128976 -0.00136844 0.997573 0.0684058 uwb: 0.0 1222.54 974.25 -imu_odom_: 1691062503.138578688 0.656011 0.00718261 10.2185 -0.0575243 0.00319579 -0.0500674 0.05 -0.05 pose: 0.42044998 0.124094 -3.80872 0 0.0129229 -0.00363787 0.997425 0.0704518 uwb: 0.49944621 1222.38 974.859 -imu_odom_: 1691062503.152584063 0.612916 -0.351948 9.663 -0.0681769 -0.00213053 -0.0372843 0.05 -0.05 pose: 0.7006917 0.124094 -3.80872 0 0.0129147 -0.00293838 0.997404 0.0707745 uwb: 0.0 1222.38 974.859 -imu_odom_: 1691062503.169584861 0.629675 -0.258574 9.8282 -0.052198 0.00426106 -0.036219 0.05 -0.05 pose: 0.0 0.124094 -3.80872 0 0.0129147 -0.00293838 0.997404 0.0707745 uwb: 0.0 1222.38 974.859 -imu_odom_: 1691062503.192493389 0.847547 -0.241814 9.98143 -0.0596548 -0.00319579 -0.0138484 0.05 -0.05 pose: 0.41142958 0.124094 -3.80872 0 0.0106297 -0.00287111 0.997315 0.0724052 uwb: 0.50186390 1222.23 975.465 -imu_odom_: 1691062503.208448954 0.167594 -0.23942 9.68694 -0.0607201 0.0543285 -0.0170442 0.05 -0.02 pose: 0.0 0.124094 -3.80872 0 0.0106297 -0.00287111 0.997315 0.0724052 uwb: 0.0 1222.23 975.465 -imu_odom_: 1691062503.235396097 -1.1971 -0.0957681 10.386 -0.0713727 0.0266316 0.00213053 0.05 -0.02 pose: 0.30882811 0.124094 -3.80872 0 0.0118804 -0.00286019 0.997239 0.0732459 uwb: 0.49880460 1222.38 976.234 -imu_odom_: 1691062503.260432131 -0.0909797 -0.392649 10.1179 -0.0607201 -0.0862864 -0.00532632 0.08 -0.05 pose: 0.0 0.124094 -3.80872 0 0.0118804 -0.00286019 0.997239 0.0732459 uwb: 0.0 1222.38 976.234 -imu_odom_: 1691062503.287395023 0.423774 0.174777 10.2328 -0.0607201 0.00852212 -0.00106526 0.11 -0.02 pose: 0.15963439 0.124094 -3.80872 0 0.00993666 -0.00270675 0.997233 0.0736215 uwb: 0.50020739 1222.04 975.682 -imu_odom_: 1691062503.313503996 -0.244209 -0.260968 9.67976 -0.0660464 0.0298274 -0.00106526 0.11 -0.02 pose: 0.44001020 0.114515 -3.81158 0 0.0062969 -0.00300708 0.997194 0.0745283 uwb: 0.0 1222.04 975.682 -imu_odom_: 1691062503.330384348 -0.129287 -0.308852 9.69412 -0.0553937 -0.00958738 -0.0106526 0.15 -0.05 pose: 0.8089480 0.114515 -3.81158 0 0.00610564 -0.00222568 0.997185 0.0746974 uwb: 0.50020156 1221.82 976.49 -imu_odom_: 1691062503.356503237 0.47884 -0.0814029 9.0022 -0.0415453 -0.015979 0.00213053 0.15 -0.05 pose: 0.0 0.114515 -3.81158 0 0.00610564 -0.00222568 0.997185 0.0746974 uwb: 0.0 1221.82 976.49 -imu_odom_: 1691062503.383357930 0.19393 -0.306458 9.70609 -0.0585895 0.015979 0.0213053 0.17 -0.05 pose: 0.51874687 0.114515 -3.81158 0 0.00192595 -0.0005234870.997122 0.0757939 uwb: 0.50066817 1221.59 977.101 -imu_odom_: 1691062503.409372996 0.490811 -0.177171 10.1921 -0.0607201 0 0.00106526 0.17 -0.05 pose: 0.0 0.114515 -3.81158 0 0.00192595 -0.0005234870.997122 0.0757939 uwb: 0.0 1221.59 977.101 -imu_odom_: 1691062503.436348720 0.402226 -0.0742203 10.1155 -0.056459 0.00852212 0.0170442 0.17 0 pose: 0.43011198 0.1021 -3.80482 0 0.00158487 0.00163013 0.99706 0.076597 uwb: 0.49925665 1221.62 978.27 -imu_odom_: 1691062503.452517473 0.311246 -0.253785 10.422 -0.0585895 0.00852212 0.00319579 0.17 0 pose: 0.0 0.1021 -3.80482 0 0.00158487 0.00163013 0.99706 0.076597 uwb: 0.0 1221.62 978.27 -imu_odom_: 1691062503.479558524 0.373495 0.0981623 10.3932 -0.0479369 -0.0245011 0.00319579 0.18 -0.02 pose: 0.53014121 0.1021 -3.80482 0 0.00183592 0.00180104 0.997 0.0773579 uwb: 0.0 1221.62 978.27 -imu_odom_: 1691062503.505373817 -0.0742203 -0.469264 9.61272 -0.072438 -0.04048 0.0191748 0.15 -0.05 pose: 0.44030184 0.0924988 -3.80762 0 -3.24021e-050.00343649 0.996945 0.078026 uwb: 0.49885710 1221.29 978.303 -imu_odom_: 1691062503.532502359 0.143652 -0.167594 9.92875 -0.0490022 -0.00319579 0.00532632 0.15 -0.05 pose: 0.0 0.0924988 -3.80762 0 -3.24021e-050.00343649 0.996945 0.078026 uwb: 0.50140894 1221.35 978.686 -imu_odom_: 1691062503.557337745 0.237026 -0.306458 9.85932 -0.0649811 0.00106526 0.0308927 0.16 0 pose: 0.72050558 0.0808665 -3.80364 0 -0.00430754 0.0037639 0.996849 0.0791223 uwb: 0.0 1221.35 978.686 -imu_odom_: 1691062503.584333009 0.521936 -0.35913 10.1011 -0.036219 0.0276969 -0.00958738 0.16 0 pose: 0.8003447 0.0800516 -3.80091 0 -0.00473695 0.00303577 0.996846 0.0791612 uwb: 0.50090441 1221.56 979.446 -imu_odom_: 1691062503.600416020 0.117316 0.0335188 9.79707 -0.04048 0.0138484 0.0266316 0.15 0 pose: 0.0 0.0800516 -3.80091 0 -0.00473695 0.00303577 0.996846 0.0791612 uwb: 0.0 1221.56 979.446 -imu_odom_: 1691062503.627519190 0.366313 -0.289698 10.0485 -0.0500674 -0.0255663 0.015979 0.15 0 pose: 0.52045879 0.0704678 -3.80376 0 -0.00451655 0.000800245 0.996787 0.0799633 uwb: 0.0 1221.56 979.446 -imu_odom_: 1691062503.652443818 0.150835 -0.148441 10.1179 -0.0532632 -0.02024 0.0287621 0.21 0 pose: 0.34967505 0.0704678 -3.80376 0 -0.00341194 -0.0008070410.996761 0.0803415 uwb: 0.49755347 1221.15 979.095 -imu_odom_: 1691062503.669318920 0.464475 -0.265756 10.1323 -0.0660464 -0.00532632 0.036219 0.21 0 pose: 0.7911581 0.0704678 -3.80376 0 -0.00403403 -0.0004093080.996756 0.080382 uwb: 0.0 1221.15 979.095 -imu_odom_: 1691062503.695317654 0.248997 -0.071826 9.81623 -0.0319579 -0.0117179 0.0191748 0.18 -0.02 pose: 0.0 0.0704678 -3.80376 0 -0.00403403 -0.0004093080.996756 0.080382 uwb: 0.49859463 1221.23 979.477 -imu_odom_: 1691062503.722444447 0.790087 -0.339977 9.663 -0.076699 -0.0245011 0.0628506 0.2 -0.02 pose: 0.33888149 0.0593172 -3.80132 0 -0.00379763 -0.0002640260.996747 0.0805001 uwb: 0.0 1221.23 979.477 -imu_odom_: 1691062503.748461262 0.940921 -0.251391 9.93354 -0.0543285 -0.0234358 0.0330232 0.2 -0.02 pose: 0.53125527 0.0512288 -3.79902 0 -0.00196173 0.00103207 0.996757 0.0804403 uwb: 0.49993033 1221.17 979.872 -imu_odom_: 1691062503.765524180 0.227449 -0.174777 9.80665 -0.0585895 -0.00639159 0.0607201 0.21 -0.02 pose: 0.0 0.0512288 -3.79902 0 -0.00196173 0.00103207 0.996757 0.0804403 uwb: 0.0 1221.17 979.872 -imu_odom_: 1691062503.791459044 0.35913 -0.0550666 9.93115 -0.0255663 -0.00213053 0.0170442 0.21 -0.02 pose: 0.32972403 0.048453 -3.79984 0 0.000182554 0.000717597 0.996758 0.0804512 uwb: 0.50000907 1221.24 980.644 -imu_odom_: 1691062503.818517302 0.442927 -0.205901 10.161 -0.0713727 -0.0106526 0.0649811 0.21 0 pose: 0.36042194 0.0368139 -3.79574 0 -0.00106665 0.00389342 0.996736 0.0806347 uwb: 0.0 1221.24 980.644 -imu_odom_: 1691062503.843518047 -0.035913 -0.0430956 10.0126 -0.0394148 0.015979 0.0223706 0.21 0 pose: 0.6880929 0.03603 -3.79308 0 -0.0006030670.00331229 0.996745 0.0805466 uwb: 0.50045820 1221.14 981.625 -imu_odom_: 1691062503.870379157 0.505177 -0.0574608 9.71567 -0.0788296 -0.0575243 0.0575243 0.21 0 pose: 0.45178074 0.0292136 -3.7951 0 -0.00180429 0.00275123 0.996749 0.0805061 uwb: 0.0 1221.14 981.625 -imu_odom_: 1691062503.895305826 0.292093 -0.105345 10.343 -0.0436758 -0.0298274 0.0308927 0.19 0 pose: 0.0 0.0292136 -3.7951 0 -0.00180429 0.00275123 0.996749 0.0805061 uwb: 0.49933247 1221.19 982.592 -imu_odom_: 1691062503.912297001 0.61531 -0.500388 9.35415 -0.0884169 -0.0149137 0.0617853 0.19 0 pose: 0.51787779 0.0196535 -3.79792 0 -0.0009014650.00470022 0.996753 0.0803768 uwb: 0.0 1221.19 982.592 -imu_odom_: 1691062503.938463135 0.0861913 -0.378284 9.31584 -0.0287621 0.00213053 0.0319579 0.17 0 pose: 0.0 0.0196535 -3.79792 0 -0.0009014650.00470022 0.996753 0.0803768 uwb: 0.50063610 1221.1 982.6 -imu_odom_: 1691062503.965632216 0.287304 -0.174777 10.094 -0.0468716 -0.0383495 0.0415453 0.17 0 pose: 0.43157309 0.0148007 -3.79183 0 -0.0023563 0.00194645 0.996767 0.0802929 uwb: 0.0 1221.1 982.6 -imu_odom_: 1691062503.990414815 0.0694318 0.138864 9.67497 -0.0543285 0.0181095 0.0394148 0.18 0 pose: 0.0 0.0148007 -3.79183 0 -0.0023563 0.00194645 0.996767 0.0802929 uwb: 0.50066526 1220.94 983 -imu_odom_: 1691062504.16291356 -0.047884 -0.227449 9.4978 -0.0884169 0 0.0628506 0.18 0 pose: 0.35013876 0.00442257 -3.792 0 -0.00508623 0.00311109 0.996755 0.0802691 uwb: 0.0 1220.94 983 -imu_odom_: 1691062504.41348104 0.555455 -0.320823 9.74679 -0.0671117 0.00958738 0.0426106 0.19 0 pose: 0.23858979 0.00442257 -3.792 0 -0.00690449 0.00431529 0.996747 0.0801875 uwb: 0.49882802 1221.08 984.346 -imu_odom_: 1691062504.66284988 0.325611 -0.538695 9.84496 -0.0617853 0.0191748 0.0415453 0.18 0.02 pose: 0.25966076 0.00442257 -3.792 0 -0.00828498 0.0032628 0.996758 0.0799654 uwb: 0.0 1221.08 984.346 -imu_odom_: 1691062504.83295124 0.371101 -0.0047884 10.386 -0.0181095 -0.0213053 0.0319579 0.24 0.02 pose: 0.0 0.00442257 -3.792 0 -0.00828498 0.0032628 0.996758 0.0799654 uwb: 0.50088706 1221.3 984.331 -imu_odom_: 1691062504.109355401 0.474052 -0.148441 9.99579 -0.0149137 -0.0106526 0.02024 0.24 0.02 pose: 0.50995995 -0.00800827-3.78526 0 -0.00647268 0.000528929 0.996777 0.0799587 uwb: 0.0 1221.3 984.331 -imu_odom_: 1691062504.135270151 0.167594 -0.110133 10.0628 -0.0415453 0.0276969 0.052198 0.24 0.02 pose: 0.35057340 -0.0175955 -3.7881 0 -0.00323033 0.00240065 0.996768 0.080238 uwb: 0.49999172 1221.15 984.924 -imu_odom_: 1691062504.151489362 0.114922 -0.0167594 9.96467 -0.0660464 -0.0532632 0.0649811 0.24 0.02 pose: 0.7057372 -0.0175955 -3.7881 0 -0.00397953 0.00275607 0.996768 0.0801938 uwb: 0.0 1221.15 984.924 -imu_odom_: 1691062504.177311078 0.632069 -0.0574608 10.0149 -0.0692422 -0.0553937 0.036219 0.23 0 pose: 0.0 -0.0175955 -3.7881 0 -0.00397953 0.00275607 0.996768 0.0801938 uwb: 0.0 1221.15 984.924 -imu_odom_: 1691062504.202284417 0.339977 -0.301669 10.0796 -0.0628506 -0.0511327 0.0532632 0.23 0 pose: 0.43079746 -0.027184 -3.79094 0 -0.00576857 0.00473631 0.996777 0.0798778 uwb: 0.50039419 1221.21 985.114 -imu_odom_: 1691062504.228418188 0.318429 -0.0981623 10.4986 -0.0383495 0.00426106 0.0308927 0.21 -0.02 pose: 0.42791898 -0.0366323 -3.78331 0 -0.00296475 0.0021498 0.996809 0.0797414 uwb: 0.0 1221.21 985.114 -imu_odom_: 1691062504.253294119 0.380678 -0.143652 10.2137 -0.0415453 -0.0287621 0.0372843 0.19 0 pose: 0.8090066 -0.0396159 -3.7842 0 -0.0031322 0.00301813 0.996803 0.0797743 uwb: 0.49838188 1221.2 985.696 -imu_odom_: 1691062504.270275674 0.426168 -0.0790087 9.65342 -0.036219 0.00319579 0.0458064 0.19 0 pose: 0.0 -0.0396159 -3.7842 0 -0.0031322 0.00301813 0.996803 0.0797743 uwb: 0.0 1221.2 985.696 -imu_odom_: 1691062504.295336505 0.0215478 -0.28491 10.07 -0.0575243 -0.00958738 0.0479369 0.19 0 pose: 0.51038574 -0.0396159 -3.7842 0 -0.0004476920.00465447 0.996796 0.0798436 uwb: 0.50118745 1221.32 986.464 -imu_odom_: 1691062504.321393283 0.699107 -0.253785 9.43555 -0.0511327 -0.0245011 0.0447411 0.18 -0.02 pose: 0.33923448 -0.051139 -3.78052 0 -0.00215603 0.00447848 0.996805 0.0797215 uwb: 0.0 1221.32 986.464 -imu_odom_: 1691062504.346252299 0.981623 -0.323217 10.0126 -0.036219 -0.0330232 0.0255663 0.19 0 pose: 0.7953870 -0.052049 -3.77746 0 -0.00134613 0.00416857 0.996809 0.0796991 uwb: 0.50047585 1221.2 987.246 -imu_odom_: 1691062504.363312597 -0.167594 -0.0526724 9.90481 -0.0511327 0.00745685 0.0607201 0.19 0 pose: 0.0 -0.052049 -3.77746 0 -0.00134613 0.00416857 0.996809 0.0796991 uwb: 0.0 1221.2 987.246 -imu_odom_: 1691062504.389318629 0.296881 -0.368707 9.43315 -0.0681769 0.0308927 0.0308927 0.19 0 pose: 0.51067447 -0.0616347 -3.78031 0 0.00234762 0.0029661 0.996809 0.0797314 uwb: 0.50009380 1221.28 987.823 -imu_odom_: 1691062504.414255513 0.392649 -0.316035 9.68694 -0.0500674 0.0372843 0.0490022 0.19 0 pose: 0.34960807 -0.0685491 -3.78236 0 -0.0005438060.000950164 0.996814 0.0797535 uwb: 0.0 1221.28 987.823 -imu_odom_: 1691062504.437367904 0.442927 -0.251391 9.34936 -0.0415453 0.0426106 0.0372843 0.18 -0.02 pose: 0.6966964 -0.0712204 -3.78315 0 -0.00073418 0.000285134 0.996817 0.0797211 uwb: 0.50066833 1221 988.805 -imu_odom_: 1691062504.462396071 0.890643 -0.356736 9.37809 -0.0862864 0.0138484 0.0671117 0.18 -0.02 pose: 0.24076549 -0.0712204 -3.78315 0 -0.00076868 -0.00151142 0.996822 0.0796456 uwb: 0.0 1221 988.805 -imu_odom_: 1691062504.480407112 0.371101 -0.248997 9.54329 -0.056459 -0.0234358 0.0330232 0.23 -0.02 pose: 0.0 -0.0712204 -3.78315 0 -0.00076868 -0.00151142 0.996822 0.0796456 uwb: 0.49932095 1220.8 989.588 -imu_odom_: 1691062504.504238392 0.816423 -0.241814 9.60075 -0.0458064 -0.0245011 0.0479369 0.23 -0.02 pose: 0.23994599 -0.0836552 -3.77642 0 0.0010969 -0.00205259 0.996826 0.0795739 uwb: 0.0 1220.8 989.588 -imu_odom_: 1691062504.530255215 0.861913 -0.107739 9.5816 -0.0234358 0.0127832 0.0170442 0.23 0 pose: 0.42928385 -0.0836552 -3.77642 0 0.00181914 -0.00242501 0.996842 0.0793568 uwb: 0.49925680 1220.71 990.749 -imu_odom_: 1691062504.555282799 0.263362 -0.438139 9.84735 -0.0735032 0.0245011 0.0596548 0.23 0 pose: 0.0 -0.0836552 -3.77642 0 0.00181914 -0.00242501 0.996842 0.0793568 uwb: 0.0 1220.71 990.749 -imu_odom_: 1691062504.572263771 0.715866 -0.126893 9.97664 -0.0458064 -0.015979 0.0298274 0.21 0.02 pose: 0.49991882 -0.0960927 -3.76969 0 0.00531696 -0.00170609 0.996818 0.0795158 uwb: 0.0 1220.71 990.749 -imu_odom_: 1691062504.598244140 0.723049 -0.146046 10.0844 -0.0745685 -0.0255663 0.0543285 0.21 0.02 pose: 0.0 -0.0960927 -3.76969 0 0.00531696 -0.00170609 0.996818 0.0795158 uwb: 0.49916055 1220.3 991.152 -imu_odom_: 1691062504.624249880 0.766145 0.0191536 10.1514 -0.0447411 -0.04048 0.0330232 0.18 0 pose: 0.25134323 -0.105677 -3.77254 0 0.0042451 -0.00252778 0.996833 0.0793665 uwb: 0.0 1220.3 991.152 -imu_odom_: 1691062504.650259121 0.529119 -0.143652 10.1275 -0.0777643 0 0.0415453 0.19 0 pose: 0.35832809 -0.105677 -3.77254 0 0.00788132 -0.001406 0.996824 0.0792362 uwb: 0.50098039 1220.05 991.931 -imu_odom_: 1691062504.676308899 0.54109 -0.277727 9.67018 -0.0543285 0.00106526 0.0319579 0.19 0 pose: 0.7032874 -0.105677 -3.77254 0 0.00849756 -0.0008698870.996817 0.0792631 uwb: 0.0 1220.05 991.931 -imu_odom_: 1691062504.693241168 0.452504 -0.138864 9.69891 -0.0607201 -0.0319579 0.0490022 0.19 0 pose: 0.0 -0.105677 -3.77254 0 0.00849756 -0.0008698870.996817 0.0792631 uwb: 0.49865893 1219.87 992.898 -imu_odom_: 1691062504.710321589 0.811634 -0.208296 10.2017 -0.0394148 -0.0415453 0.0830906 0.19 0 pose: 0.51984068 -0.115261 -3.7754 0 0.00778897 0.0010723 0.996816 0.0793519 uwb: 0.0 1219.87 992.898 -imu_odom_: 1691062504.726282991 1.29766 -0.35913 9.77553 -0.0500674 0.0149137 0.125701 0.19 0 pose: 0.0 -0.115261 -3.7754 0 0.00778897 0.0010723 0.996816 0.0793519 uwb: 0.0 1219.87 992.898 -imu_odom_: 1691062504.744337778 1.51074 -0.100556 10.477 -0.0500674 -0.0617853 0.191748 0.17 0.2 pose: 0.0 -0.115261 -3.7754 0 0.00778897 0.0010723 0.996816 0.0793519 uwb: 0.50080249 1219.67 993.48 -imu_odom_: 1691062504.760218688 1.38145 -0.320823 9.07163 -0.0170442 -0.0330232 0.28336 0.17 0.2 pose: 0.43007711 -0.127699 -3.76867 0 0.00727394 0.000303801 0.996833 0.0791854 uwb: 0.0 1219.67 993.48 -imu_odom_: 1691062504.776330576 1.50835 -0.45011 10.2232 -0.052198 0.0596548 0.360059 0.13 0.38 pose: 0.0 -0.127699 -3.76867 0 0.00727394 0.000303801 0.996833 0.0791854 uwb: 0.0 1219.67 993.48 -imu_odom_: 1691062504.794280373 1.26414 -0.428562 9.76355 -0.0511327 -0.00319579 0.421845 0.13 0.38 pose: 0.0 -0.127699 -3.76867 0 0.00727394 0.000303801 0.996833 0.0791854 uwb: 0.49893016 1219.51 993.677 -imu_odom_: 1691062504.812245043 0.823605 -0.325611 9.57202 -0.0319579 0.0617853 0.452737 0.13 0.38 pose: 0.51078820 -0.137303 -3.77145 0 0.0129639 -0.0001631620.99702 0.0760476 uwb: 0.0 1219.51 993.677 -imu_odom_: 1691062504.828218403 0.52433 -0.0885855 10.1801 -0.076699 0.0234358 0.579504 0.11 0.5 pose: 0.0 -0.137303 -3.77145 0 0.0129639 -0.0001631620.99702 0.0760476 uwb: 0.0 1219.51 993.677 -imu_odom_: 1691062504.845216290 0.893037 -0.732626 9.88326 -0.0692422 -0.0340885 0.648746 0.11 0.5 pose: 0.67016600 -0.137303 -3.77145 0 0.0166097 -0.00241529 0.997836 0.0635781 uwb: 0.50123994 1219.66 994.056 -imu_odom_: 1691062504.863221498 1.19471 -0.560243 9.58878 -0.036219 -0.00426106 0.647681 0.11 0.5 pose: 0.0 -0.137303 -3.77145 0 0.0166097 -0.00241529 0.997836 0.0635781 uwb: 0.0 1219.66 994.056 -imu_odom_: 1691062504.877284330 0.792481 0.169988 10.0078 -0.036219 0.0266316 0.678573 0.08 0.5 pose: 0.0 -0.137303 -3.77145 0 0.0166097 -0.00241529 0.997836 0.0635781 uwb: 0.0 1219.66 994.056 -imu_odom_: 1691062504.894225348 0.35913 -0.146046 9.76834 -0.0479369 0.0500674 0.659399 0.07 0.53 pose: 0.34979181 -0.149686 -3.76462 0 0.017071 -0.00421259 0.998425 0.0532693 uwb: 0.50009088 1219.74 994.246 -imu_odom_: 1691062504.910309239 0.438139 -0.146046 10.1801 -0.0415453 -0.00639159 0.62531 0.07 0.53 pose: 0.40881954 -0.149686 -3.76462 0 0.0157389 -0.00272025 0.999049 0.040561 uwb: 0.0 1219.74 994.246 -imu_odom_: 1691062504.928284116 0.617704 -0.248997 9.81623 -0.0436758 -0.0127832 0.632767 0.06 0.58 pose: 0.7016543 -0.149686 -3.76462 0 0.0150999 -0.00242366 0.999141 0.0385102 uwb: 0.0 1219.74 994.246 -imu_odom_: 1691062504.945204428 0.94571 -0.287304 9.93594 -0.0468716 0.00958738 0.648746 0.06 0.58 pose: 0.0 -0.149686 -3.76462 0 0.0150999 -0.00242366 0.999141 0.0385102 uwb: 0.49849271 1219.62 995.017 -imu_odom_: 1691062504.962320137 0.682347 -0.227449 10.0724 -0.0426106 0.0276969 0.632767 0.06 0.58 pose: 0.34976556 -0.149686 -3.76462 0 0.0132716 -0.00220745 0.999514 0.0281104 uwb: 0.0 1219.62 995.017 -imu_odom_: 1691062504.979272820 0.526724 -0.117316 10.1227 -0.0543285 0.0138484 0.573112 0.05 0.5 pose: 0.0 -0.149686 -3.76462 0 0.0132716 -0.00220745 0.999514 0.0281104 uwb: 0.0 1219.62 995.017 -imu_odom_: 1691062504.996205380 0.577003 -0.0311246 9.64145 -0.0447411 -0.0106526 0.512392 0.05 0.5 pose: 0.33105109 -0.149686 -3.76462 0 0.0130584 -0.0002055290.999744 0.0184601 uwb: 0.49976716 1219.58 995.592 -imu_odom_: 1691062505.11206418 0.646434 0.00957681 10.082 -0.0458064 -0.00106526 0.468716 0.05 0.5 pose: 0.0 -0.149686 -3.76462 0 0.0130584 -0.0002055290.999744 0.0184601 uwb: 0.0 1219.58 995.592 -imu_odom_: 1691062505.27211279 0.76375 -0.186748 9.93354 -0.0543285 -0.00106526 0.441019 0.04 0.35 pose: 0.0 -0.149686 -3.76462 0 0.0130584 -0.0002055290.999744 0.0184601 uwb: 0.0 1219.58 995.592 -imu_odom_: 1691062505.42262772 0.751779 -0.189142 9.83299 -0.0511327 -0.00745685 0.412257 0.04 0.38 pose: 0.33891659 -0.159264 -3.7675 0 0.0117467 0.00271801 0.999874 0.0103345 uwb: 0.50011721 1219.47 997.313 -imu_odom_: 1691062505.59254831 0.706289 -0.0861913 10.0197 -0.0543285 0.00213053 0.374973 0.04 0.38 pose: 0.39047557 -0.159268 -3.76746 0 0.0147321 0.00244109 0.999885 0.00258884 uwb: 0.0 1219.47 997.313 -imu_odom_: 1691062505.73186430 0.679953 -0.155623 9.8689 -0.0511327 -0.00532632 0.34408 0.04 0.38 pose: 0.6999338 -0.159264 -3.7675 0 0.0148143 0.00312067 0.999884 0.00142508 uwb: 0.0 1219.47 997.313 -imu_odom_: 1691062505.90213778 0.54109 -0.0981623 9.96467 -0.052198 0.00639159 0.305731 0.04 0.35 pose: 0.0 -0.159264 -3.7675 0 0.0148143 0.00312067 0.999884 0.00142508 uwb: 0.49989855 1219.13 998.656 -imu_odom_: 1691062505.104189123 0.581791 -0.146046 9.93833 -0.0511327 0.00852212 0.291882 0.04 0.35 pose: 0.40951668 -0.159264 -3.7675 0 0.0124946 0.00359593 0.999905 -0.00462404 uwb: 0.0 1219.13 998.656 -imu_odom_: 1691062505.121253801 0.428562 -0.253785 9.88326 -0.0585895 0.00852212 0.294013 0.03 0.23 pose: 0.0 -0.159264 -3.7675 0 0.0124946 0.00359593 0.999905 -0.00462404 uwb: 0.0 1219.13 998.656 -imu_odom_: 1691062505.135195316 0.442927 -0.25618 9.99819 -0.0553937 -0.00745685 0.294013 0.03 0.23 pose: 0.0 -0.159264 -3.7675 0 0.0124946 0.00359593 0.999905 -0.00462404 uwb: 0.50034476 1218.91 999.231 -imu_odom_: 1691062505.150192564 0.557849 -0.191536 9.79228 -0.0458064 -0.0181095 0.270577 0.03 0.23 pose: 0.44981538 -0.159264 -3.7675 0 0.00828447 0.00190174 0.99991 -0.0103355 uwb: 0.0 1218.91 999.231 -imu_odom_: 1691062505.167254033 0.6608 -0.0670376 9.97664 -0.0543285 -0.00745685 0.257794 0.04 0.29 pose: 0.0 -0.159264 -3.7675 0 0.00828447 0.00190174 0.99991 -0.0103355 uwb: 0.0 1218.91 999.231 -imu_odom_: 1691062505.185430148 0.646434 -0.100556 9.83299 -0.0532632 0 0.245011 0.04 0.29 pose: 0.0 -0.159264 -3.7675 0 0.00828447 0.00190174 0.99991 -0.0103355 uwb: 0.50272746 1218.99 999.804 -imu_odom_: 1691062505.199364663 0.667982 -0.260968 9.91918 -0.052198 -0.00532632 0.233293 0.04 0.29 pose: 0.23062818 -0.159264 -3.7675 0 0.00823428 0.00125319 0.999881 -0.0129531 uwb: 0.0 1218.99 999.804 -imu_odom_: 1691062505.215457599 0.667982 -0.208296 9.93354 -0.0490022 0.00106526 0.237554 0.01 0.2 pose: 0.0 -0.159264 -3.7675 0 0.00823428 0.00125319 0.999881 -0.0129531 uwb: 0.0 1218.99 999.804 -imu_odom_: 1691062505.232338253 0.567426 -0.294487 9.93354 -0.0553937 0.00106526 0.26312 0.01 0.2 pose: 0.0 -0.159264 -3.7675 0 0.00823428 0.00125319 0.999881 -0.0129531 uwb: 0.49922194 1218.73 1000.38 -imu_odom_: 1691062505.248162298 0.543484 -0.251391 9.90002 -0.0543285 -0.00106526 0.262055 0.01 0.2 pose: 0.74080119 -0.159264 -3.7675 0 0.0110862 -2.77327e-050.999725 -0.0206569 uwb: 0.0 1218.73 1000.38 -imu_odom_: 1691062505.265247098 0.486023 -0.071826 9.87848 -0.0511327 -0.00213053 0.236489 0.02 0.26 pose: 0.0 -0.159264 -3.7675 0 0.0110862 -2.77327e-050.999725 -0.0206569 uwb: 0.0 1218.73 1000.38 -imu_odom_: 1691062505.281312912 0.538695 -0.0263362 9.87608 -0.0543285 -0.00426106 0.214118 0.01 0.17 pose: 0.0 -0.159264 -3.7675 0 0.0110862 -2.77327e-050.999725 -0.0206569 uwb: 0.0 1218.73 1000.38 -imu_odom_: 1691062505.306227056 0.560243 -0.21069 9.8258 -0.0543285 -0.00213053 0.18216 0.01 0.17 pose: 0.7963205 -0.159264 -3.7675 0 0.0103434 -0.0003545 0.999714 -0.0215462 uwb: 0.0 1218.73 1000.38 -imu_odom_: 1691062505.320165071 0.136469 -0.1652 9.85932 -0.0575243 0.052198 0.166181 0.01 0.14 pose: 0.0 -0.159264 -3.7675 0 0.0103434 -0.0003545 0.999714 -0.0215462 uwb: 0.0 1218.73 1000.38 -imu_odom_: 1691062505.337182211 -0.943315 -0.122104 9.95988 -0.0703074 0.107592 0.166181 0.01 0.14 pose: 0.71875910 -0.168851 -3.77034 0 0.00723813 -0.0001070060.999591 -0.0276529 uwb: 0.99730068 1218.58 1000.76 -imu_odom_: 1691062505.351286752 -1.4054 -0.0981623 9.98861 -0.0703074 0.0213053 0.164051 0.01 0.14 pose: 0.0 -0.168851 -3.77034 0 0.00723813 -0.0001070060.999591 -0.0276529 uwb: 0.0 1218.58 1000.76 -imu_odom_: 1691062505.368226025 -1.01993 -0.383072 9.71088 -0.0596548 -0.052198 0.148072 0.04 0.08 pose: 0.0 -0.168851 -3.77034 0 0.00723813 -0.0001070060.999591 -0.0276529 uwb: 0.0 1218.58 1000.76 -imu_odom_: 1691062505.382278946 -0.0885855 -0.241814 10.0437 -0.0532632 -0.0916127 0.122505 0.04 0.08 pose: 0.30991902 -0.168851 -3.77034 0 0.00289447 -0.0001645160.999557 -0.029606 uwb: 0.49986647 1218.63 1000.76 -imu_odom_: 1691062505.399220843 0.418985 -0.21069 9.76595 -0.0479369 -0.0458064 0.134223 0.04 0.08 pose: 0.39109676 -0.168851 -3.77034 0 -7.95442e-05-0.0005248380.9995 -0.0316135 uwb: 0.0 1218.63 1000.76 -imu_odom_: 1691062505.413214562 0.471658 -0.150835 9.8282 -0.0703074 0.0266316 0.127832 0.08 0.05 pose: 0.0 -0.168851 -3.77034 0 -7.95442e-05-0.0005248380.9995 -0.0316135 uwb: 0.0 1218.63 1000.76 -imu_odom_: 1691062505.430277489 0.105345 -0.248997 10.0269 -0.0639159 0.00532632 0.120375 0.08 0.05 pose: 0.0 -0.168851 -3.77034 0 -7.95442e-05-0.0005248380.9995 -0.0316135 uwb: 0.50006770 1218.51 1001.14 -imu_odom_: 1691062505.444152219 -0.143652 -0.107739 9.56005 -0.0553937 0.00852212 0.0916127 0.11 0.08 pose: 0.7010420 -0.168851 -3.77034 0 0.000601577 -4.21579e-050.999489 -0.0319449 uwb: 0.0 1218.51 1001.14 -imu_odom_: 1691062505.461142820 0.0287304 -0.100556 10.0604 -0.0660464 -0.0255663 0.109722 0.11 0.08 pose: 0.0 -0.168851 -3.77034 0 0.000601577 -4.21579e-050.999489 -0.0319449 uwb: 0.0 1218.51 1001.14 -imu_odom_: 1691062505.475147037 0.172383 -0.292093 10.1083 -0.0735032 -0.00213053 0.135289 0.11 0.08 pose: 0.0 -0.168851 -3.77034 0 0.000601577 -4.21579e-050.999489 -0.0319449 uwb: 0.0 1218.51 1001.14 -imu_odom_: 1691062505.491150149 0.514753 -0.486023 10.0604 -0.0671117 0.00213053 0.0990696 0.1 0.05 pose: 0.46905772 -0.168851 -3.77034 0 -0.0002338870.00129904 0.999425 -0.0338702 uwb: 0.49968274 1218.7 1000.95 -imu_odom_: 1691062505.508155040 0.438139 -0.0167594 9.76834 -0.0649811 -0.00852212 0.102265 0.1 0.05 pose: 0.0 -0.168851 -3.77034 0 -0.0002338870.00129904 0.999425 -0.0338702 uwb: 0.0 1218.7 1000.95 -imu_odom_: 1691062505.526207791 0.316035 -0.23942 10.2185 -0.0841559 0.0436758 0.12144 0.1 0.05 pose: 0.0 -0.168851 -3.77034 0 -0.0002338870.00129904 0.999425 -0.0338702 uwb: 0.0 1218.7 1000.95 -imu_odom_: 1691062505.544147386 0.220267 -0.244209 10.4962 -0.0649811 0.04048 0.0798948 0.12 0.02 pose: 0.45964361 -0.181334 -3.76369 0 -0.00335109 0.000125733 0.999363 -0.0355424 uwb: 0.49899739 1219.05 1001.72 -imu_odom_: 1691062505.561258726 0.19393 -0.471658 10.0413 -0.0788296 0.015979 0.0830906 0.13 0.02 pose: 0.0 -0.181334 -3.76369 0 -0.00335109 0.000125733 0.999363 -0.0355424 uwb: 0.0 1219.05 1001.72 -imu_odom_: 1691062505.578191291 0.289698 -0.191536 9.97903 -0.0628506 0.0170442 0.0873517 0.13 0.02 pose: 0.68991600 -0.19091 -3.76657 0 -0.00629927 -0.00196404 0.999271 -0.0375896 uwb: 0.0 1219.05 1001.72 -imu_odom_: 1691062505.594136366 1.02472 -0.383072 10.1275 -0.0479369 -0.0426106 0.1012 0.12 0.05 pose: 0.0 -0.19091 -3.76657 0 -0.00629927 -0.00196404 0.999271 -0.0375896 uwb: 0.50053724 1219.29 1001.91 -imu_odom_: 1691062505.612188242 1.10852 -0.282516 9.74679 -0.0607201 0.00319579 0.164051 0.12 0.05 pose: 0.0 -0.19091 -3.76657 0 -0.00629927 -0.00196404 0.999271 -0.0375896 uwb: 0.0 1219.29 1001.91 -imu_odom_: 1691062505.629190801 1.34075 -0.548272 10.1873 -0.056459 -0.0532632 0.198139 0.12 0.05 pose: 0.33991993 -0.19091 -3.76657 0 -0.00569336 -0.0015317 0.999244 -0.0384311 uwb: 0.49934152 1219.65 1003.06 -imu_odom_: 1691062505.646148447 1.34794 -0.205901 9.26077 -0.036219 -0.00852212 0.11931 0.09 -0.02 pose: 0.44047709 -0.200477 -3.76948 0 -0.0008349 -0.00210789 0.99915 -0.0411696 uwb: 0.0 1219.65 1003.06 -imu_odom_: 1691062505.663202626 1.03669 0.320823 9.8689 -0.0543285 0.0383495 0.092678 0.09 -0.02 pose: 0.6949468 -0.200477 -3.76948 0 -0.00013111 -0.00197832 0.999139 -0.0414449 uwb: 0.0 1219.65 1003.06 -imu_odom_: 1691062505.679191447 0.61531 -0.047884 9.92157 -0.0671117 0.0234358 0.0607201 0.09 -0.02 pose: 0.0 -0.200477 -3.76948 0 -0.00013111 -0.00197832 0.999139 -0.0414449 uwb: 0.0 1219.65 1003.06 -imu_odom_: 1691062505.696132178 0.634463 -0.270545 9.91678 -0.0639159 -0.02024 0.0266316 0.1 0.08 pose: 0.43051178 -0.200477 -3.76948 0 0.00258428 0.000487989 0.999095 -0.0424558 uwb: 0.50072972 1219.91 1003.26 -imu_odom_: 1691062505.714182595 0.653617 -0.40462 9.84256 -0.0532632 -0.00958738 0.0223706 0.06 0.02 pose: 0.0 -0.200477 -3.76948 0 0.00258428 0.000487989 0.999095 -0.0424558 uwb: 0.0 1219.91 1003.26 -imu_odom_: 1691062505.728126735 0.924162 -0.100556 9.94791 -0.056459 0.00639159 0.0500674 0.06 0.02 pose: 0.0 -0.200477 -3.76948 0 0.00258428 0.000487989 0.999095 -0.0424558 uwb: 0.0 1219.91 1003.26 -imu_odom_: 1691062505.745189371 0.517148 -0.268151 9.86172 -0.0543285 0.0255663 0.0660464 0.06 0.02 pose: 0.24948848 -0.200477 -3.76948 0 0.00492431 -0.0006343620.999093 -0.0422813 uwb: 0.50184379 1220.34 1002.88 -imu_odom_: 1691062505.762184055 0.502782 -0.136469 9.8282 -0.0553937 -0.0106526 0.0532632 0.05 -0.02 pose: 0.0 -0.200477 -3.76948 0 0.00492431 -0.0006343620.999093 -0.0422813 uwb: 0.0 1220.34 1002.88 -imu_odom_: 1691062505.779190114 0.656011 -0.158017 9.76834 -0.0458064 -0.00852212 0.0479369 0.05 -0.02 pose: 0.32061343 -0.200477 -3.76948 0 0.00636569 -0.00154109 0.99908 -0.0423778 uwb: 0.49871158 1220.5 1003.27 -imu_odom_: 1691062505.804215955 0.706289 -0.215478 9.81383 -0.0596548 -0.00745685 0.0660464 0.04 0.02 pose: 0.42988476 -0.210051 -3.77238 0 0.00715332 0.000275824 0.999063 -0.0426749 uwb: 0.0 1220.5 1003.27 -imu_odom_: 1691062505.821125189 0.538695 -0.227449 9.99819 -0.0532632 0.0266316 0.0511327 0.04 0.02 pose: 0.0 -0.210051 -3.77238 0 0.00715332 0.000275824 0.999063 -0.0426749 uwb: 0.0 1220.5 1003.27 -imu_odom_: 1691062505.846136740 -1.37667 -0.124498 9.91678 -0.0553937 0.0948085 0.0436758 0.05 0 pose: 0.7965829 -0.210051 -3.77238 0 0.00796397 0.000291222 0.999053 -0.0427798 uwb: 0.49984897 1220.56 1003.85 -imu_odom_: 1691062505.871177163 -0.624887 -0.584185 9.95988 -0.0553937 -0.0873517 0.0543285 0.09 0.05 pose: 0.0 -0.210051 -3.77238 0 0.00796397 0.000291222 0.999053 -0.0427798 uwb: 0.0 1220.56 1003.85 -imu_odom_: 1691062505.892190342 0.672771 -0.0454898 9.95509 -0.0426106 -0.0649811 0.0596548 0.09 0.02 pose: 0.66113414 -0.210051 -3.77238 0 0.00368245 -0.0003407210.999059 -0.0432116 uwb: 0.50047308 1220.18 1004.03 -imu_odom_: 1691062505.905171490 0.227449 -0.146046 9.33739 -0.0543285 0.00213053 0.0756338 0.09 0.02 pose: 0.0 -0.210051 -3.77238 0 0.00368245 -0.0003407210.999059 -0.0432116 uwb: 0.0 1220.18 1004.03 -imu_odom_: 1691062505.930253326 0.126893 -0.203507 9.90002 -0.0468716 -0.0127832 0.0490022 0.11 0 pose: 0.51902133 -0.214533 -3.77374 0 0.00357873 0.00090871 0.999034 -0.0437846 uwb: 0.49966524 1220.13 1004.42 -imu_odom_: 1691062505.955116724 -0.0909797 -0.390255 10.0054 -0.0500674 -0.00532632 0.0479369 0.11 0 pose: 0.7956789 -0.219617 -3.77529 0 0.00281557 0.000900756 0.999035 -0.0438217 uwb: 0.0 1220.13 1004.42 -imu_odom_: 1691062505.969127649 0.328006 -0.445322 10.1778 -0.0490022 -0.0223706 0.0490022 0.11 0.02 pose: 0.0 -0.219617 -3.77529 0 0.00281557 0.000900756 0.999035 -0.0438217 uwb: 0.0 1220.13 1004.42 -imu_odom_: 1691062505.994221151 -0.0335188 -0.19393 9.9527 -0.0426106 0.0351537 0.0617853 0.11 0.02 pose: 0.48071161 -0.222535 -3.76572 0 -0.00116529 -0.0005939180.999029 -0.0440323 uwb: 0.49998022 1220.42 1005.96 -imu_odom_: 1691062506.19223375 0.572214 -0.354342 9.82102 -0.0628506 -0.0479369 0.0649811 0.17 -0.02 pose: 0.33021711 -0.22946 -3.76784 0 -0.00424288 -0.00103795 0.999007 -0.0443494 uwb: 0.0 1220.42 1005.96 -imu_odom_: 1691062506.33102483 -0.0526724 -0.270545 9.83538 -0.0372843 -0.0308927 0.0468716 0.17 -0.02 pose: 0.6887348 -0.232099 -3.76865 0 -0.00345887 -0.00133171 0.999005 -0.0444353 uwb: 0.50136558 1220.6 1007.12 -imu_odom_: 1691062506.49210589 0.531513 -0.191536 10.0724 -0.0415453 -0.0340885 0.0532632 0.17 -0.02 pose: 0.0 -0.232099 -3.76865 0 -0.00345887 -0.00133171 0.999005 -0.0444353 uwb: 0.0 1220.6 1007.12 -imu_odom_: 1691062506.74092660 0.107739 -0.457293 10.058 -0.0394148 0.0138484 0.0436758 0.12 0 pose: 0.39112896 -0.232099 -3.76865 0 -0.00183596 -0.00177111 0.998994 -0.0447627 uwb: 0.0 1220.6 1007.12 -imu_odom_: 1691062506.98370162 0.31364 -0.172383 9.66539 -0.0490022 0.0117179 0.052198 0.14 0.02 pose: 0.0 -0.232099 -3.76865 0 -0.00183596 -0.00177111 0.998994 -0.0447627 uwb: 0.49851342 1220.85 1005.78 -imu_odom_: 1691062506.124279095 0.203507 -0.0814029 10.0533 -0.0426106 -0.0149137 0.0628506 0.14 0.02 pose: 0.41920506 -0.241658 -3.77158 0 -0.0033412 -0.00202795 0.998983 -0.0449282 uwb: 0.0 1220.85 1005.78 -imu_odom_: 1691062506.150089744 0.466869 -0.208296 10.0628 -0.0511327 -0.0319579 0.0372843 0.13 0 pose: 0.42137194 -0.24859 -3.77372 0 -0.0056836 0.00160249 0.998954 -0.0453447 uwb: 0.50182352 1221.81 1006.97 -imu_odom_: 1691062506.175217667 -0.110133 -0.184354 9.54808 -0.0585895 -0.0394148 0.0660464 0.13 0 pose: 0.6819398 -0.251215 -3.77453 0 -0.00491265 0.00153415 0.998958 -0.0453374 uwb: 0.0 1221.81 1006.97 -imu_odom_: 1691062506.200084572 0.323217 -0.289698 9.84975 -0.0585895 0 0.0415453 0.15 0 pose: 0.44119174 -0.251215 -3.77453 0 -0.00483285 0.00122456 0.998945 -0.0456445 uwb: 0.49785139 1222.05 1008.33 -imu_odom_: 1691062506.217118341 0.318429 0.0287304 10.1323 -0.0479369 -0.00639159 0.0436758 0.15 0 pose: 0.0 -0.251215 -3.77453 0 -0.00483285 0.00122456 0.998945 -0.0456445 uwb: 0.0 1222.05 1008.33 -imu_odom_: 1691062506.242086445 0.380678 -0.31364 9.6199 -0.0639159 -0.056459 0.0681769 0.15 -0.02 pose: 0.32884941 -0.26077 -3.77748 0 -0.00447291 -0.0004376890.998946 -0.0456778 uwb: 0.50119649 1221.96 1008.71 -imu_odom_: 1691062506.266142302 -0.0502782 -0.148441 9.53132 -0.0287621 0.0809601 0.0266316 0.15 0 pose: 0.0 -0.26077 -3.77748 0 -0.00447291 -0.0004376890.998946 -0.0456778 uwb: 0.0 1221.96 1008.71 -imu_odom_: 1691062506.283094412 -0.0383072 0.059855 10.0628 -0.0511327 -0.0170442 0.0639159 0.15 0 pose: 0.41055796 -0.26077 -3.77748 0 -0.00352127 -0.00149283 0.998934 -0.0460031 uwb: 0.49876131 1222.2 1009.31 -imu_odom_: 1691062506.308139218 0.35913 -0.189142 10.3956 -0.0575243 -0.0191748 0.0394148 0.15 0 pose: 0.0 -0.26077 -3.77748 0 -0.00352127 -0.00149283 0.998934 -0.0460031 uwb: 0.0 1222.2 1009.31 -imu_odom_: 1691062506.333083699 0.4956 -0.0861913 9.67976 -0.0575243 -0.0426106 0.0617853 0.16 0 pose: 0.41952586 -0.273281 -3.77089 0 -0.00628855 0.000284316 0.998917 -0.0461088 uwb: 0.50054323 1222.4 1009.7 -imu_odom_: 1691062506.356090238 0.213084 -0.390255 9.8258 -0.0426106 -0.0170442 0.0532632 0.16 0 pose: 0.41972709 -0.280411 -3.7731 0 -0.00196775 0.00204298 0.998919 -0.0463949 uwb: 0.0 1222.4 1009.7 -imu_odom_: 1691062506.372116977 0.656011 0.0215478 10.7763 -0.0553937 -0.0511327 0.0394148 0.16 0 pose: 0.0 -0.280411 -3.7731 0 -0.00196775 0.00204298 0.998919 -0.0463949 uwb: 0.0 1222.4 1009.7 -imu_odom_: 1691062506.397092081 0.608127 -0.220267 10.1993 -0.0617853 -0.0245011 0.0617853 0.21 0 pose: 0.6066970 -0.282832 -3.77385 0 -0.00225828 0.00157226 0.998918 -0.0464345 uwb: 0.49948457 1222.37 1010.87 -imu_odom_: 1691062506.422077975 0.634463 -0.0957681 9.4954 -0.0468716 -0.00319579 0.0287621 0.21 0 pose: 0.0 -0.282832 -3.77385 0 -0.00225828 0.00157226 0.998918 -0.0464345 uwb: 0.0 1222.37 1010.87 -imu_odom_: 1691062506.446095627 0.538695 -0.440533 9.91678 -0.0788296 -0.00319579 0.052198 0.17 0 pose: 0.39976439 -0.292381 -3.77682 0 -0.0006639540.00118505 0.998912 -0.0466257 uwb: 0.50033324 1222.86 1011.87 -imu_odom_: 1691062506.470125237 0.665588 -0.117316 10.5872 -0.0585895 -0.02024 0.0436758 0.17 0 pose: 0.0 -0.292381 -3.77682 0 -0.0006639540.00118505 0.998912 -0.0466257 uwb: 0.0 1222.86 1011.87 -imu_odom_: 1691062506.485165360 0.533907 -0.462081 9.69412 -0.0703074 0.0106526 0.0575243 0.17 0 pose: 0.50015534 -0.292381 -3.77682 0 0.00367839 0.00152552 0.998899 -0.0467392 uwb: 0.50006785 1222.77 1012.26 -imu_odom_: 1691062506.509081522 -0.124498 -0.505177 9.94791 -0.0500674 0.00213053 0.0394148 0.17 0 pose: 0.0 -0.292381 -3.77682 0 0.00367839 0.00152552 0.998899 -0.0467392 uwb: 0.0 1222.77 1012.26 -imu_odom_: 1691062506.534074999 0.550666 -0.342371 9.42837 -0.0490022 -0.0170442 0.0458064 0.2 0 pose: 0.47932064 -0.301929 -3.77979 0 0.0063465 0.000270105 0.998877 -0.0469608 uwb: 0.0 1222.77 1012.26 -imu_odom_: 1691062506.556260282 0.349553 -0.299275 9.64624 -0.0479369 0.0287621 0.0255663 0.2 0 pose: 0.0 -0.301929 -3.77979 0 0.0063465 0.000270105 0.998877 -0.0469608 uwb: 0.0 1222.77 1012.26 -imu_odom_: 1691062506.572327850 0.526724 -0.42138 9.67976 -0.0383495 0.0458064 0.0245011 0.18 0 pose: 0.39001490 -0.311475 -3.78277 0 0.0046049 -0.00207971 0.998879 -0.0470681 uwb: 0.0 1222.77 1012.26 -imu_odom_: 1691062506.590199790 0.373495 -0.258574 9.51695 -0.0575243 0 0.0479369 0.18 0 pose: 0.0 -0.311475 -3.78277 0 0.0046049 -0.00207971 0.998879 -0.0470681 uwb: 0.99990531 1222.6 1012.64 -imu_odom_: 1691062506.614041293 0.497994 -0.0550666 9.67736 -0.036219 -0.0340885 0.0394148 0.18 0 pose: 0.47264502 -0.324 -3.7762 0 0.00345766 -0.00420704 0.998883 -0.0469284 uwb: 0.0 1222.6 1012.64 -imu_odom_: 1691062506.639048185 0.452504 -0.23942 10.3597 -0.072438 -0.00319579 0.056459 0.18 0 pose: 0.0 -0.324 -3.7762 0 0.00345766 -0.00420704 0.998883 -0.0469284 uwb: 0.50157854 1222.41 1013.21 -imu_odom_: 1691062506.660087909 0.80924 -0.0957681 9.85693 -0.0426106 -0.0138484 0.0276969 0.17 -0.02 pose: 0.33801563 -0.324 -3.7762 0 0.00224756 -0.00341159 0.998889 -0.0469389 uwb: 0.0 1222.41 1013.21 -imu_odom_: 1691062506.686157243 0.407014 -0.316035 10.2352 -0.0735032 -0.015979 0.052198 0.17 -0.02 pose: 0.0 -0.324 -3.7762 0 0.00224756 -0.00341159 0.998889 -0.0469389 uwb: 0.49782223 1222.51 1013.02 -imu_odom_: 1691062506.703036443 0.603339 -0.155623 9.33978 -0.0426106 -0.00958738 0.0245011 0.19 -0.02 pose: 0.47967644 -0.333547 -3.77918 0 0.00192758 0.000457128 0.998888 -0.0471052 uwb: 0.0 1222.51 1013.02 -imu_odom_: 1691062506.728040128 0.40462 -0.0981623 10.0389 -0.0639159 0.0468716 0.0543285 0.19 -0.02 pose: 0.0 -0.333547 -3.77918 0 0.00192758 0.000457128 0.998888 -0.0471052 uwb: 0.0 1222.51 1013.02 -imu_odom_: 1691062506.754038593 0.469264 -0.0430956 9.97664 -0.0436758 0.0213053 0.0383495 0.22 0 pose: 0.47927398 -0.343092 -3.78216 0 0.00301725 -0.00109816 0.998883 -0.0471325 uwb: 0.50035366 1222.53 1014.58 -imu_odom_: 1691062506.779255465 0.433351 -0.198719 10.1466 -0.0703074 0.015979 0.0660464 0.22 0 pose: 0.0 -0.343092 -3.78216 0 0.00301725 -0.00109816 0.998883 -0.0471325 uwb: 0.49942624 1221.97 1016.49 -imu_odom_: 1691062506.804049169 0.258574 -0.268151 9.52413 -0.0458064 -0.00745685 0.0479369 0.21 0.02 pose: 0.42071575 -0.352638 -3.78514 0 0.00190828 0.00220539 0.99888 -0.0472254 uwb: 0.0 1221.97 1016.49 -imu_odom_: 1691062506.817030320 0.526724 -0.138864 9.67018 -0.0692422 -0.0223706 0.0607201 0.21 0.02 pose: 0.0 -0.352638 -3.78514 0 0.00190828 0.00220539 0.99888 -0.0472254 uwb: 0.0 1221.97 1016.49 -imu_odom_: 1691062506.842030797 0.318429 -0.241814 9.72525 -0.0383495 -0.0191748 0.04048 0.17 0 pose: 0.81921442 -0.363573 -3.78369 0 0.000443808 0.000975771 0.998857 -0.0477886 uwb: 0.49998036 1222.33 1016.52 -imu_odom_: 1691062506.859159348 0.481235 -0.196325 10.1394 -0.0639159 0.00958738 0.0639159 0.17 0 pose: 0.8006079 -0.365174 -3.77858 0 -0.0002036990.000663608 0.998857 -0.0477917 uwb: 0.0 1222.33 1016.52 -imu_odom_: 1691062506.884102955 0.605733 0.023942 10.058 -0.0458064 -0.0458064 0.0553937 0.18 0.02 pose: 0.0 -0.365174 -3.77858 0 -0.0002036990.000663608 0.998857 -0.0477917 uwb: 0.50060447 1222.28 1017.49 -imu_odom_: 1691062506.909026147 0.782904 0.023942 10.094 -0.0958738 -0.0106526 0.072438 0.18 0.02 pose: 0.34122949 -0.374715 -3.78158 0 -1.17602e-050.000262258 0.998847 -0.048007 uwb: 0.0 1222.28 1017.49 -imu_odom_: 1691062506.935154683 0.608127 0.0287304 10.3741 -0.0607201 -0.0213053 0.0500674 0.18 0.02 pose: 0.49866799 -0.384255 -3.78458 0 0.00424783 0.00320923 0.998803 -0.0486135 uwb: 0.50128399 1222.46 1019.07 -imu_odom_: 1691062506.960028588 0.347159 -0.100556 10.0437 -0.072438 0.00852212 0.0511327 0.21 0 pose: 0.0 -0.384255 -3.78458 0 0.00424783 0.00320923 0.998803 -0.0486135 uwb: 0.0 1222.46 1019.07 -imu_odom_: 1691062506.974014436 -0.0814029 -0.335188 9.70609 -0.0468716 -0.00532632 0.036219 0.19 0.02 pose: 0.51002441 -0.393791 -3.78759 0 0.00312239 0.00525412 0.998786 -0.0488729 uwb: 0.0 1222.46 1019.07 -imu_odom_: 1691062506.991084951 0.723049 -0.351948 10.1778 -0.0575243 -0.0511327 0.0511327 0.19 0.02 pose: 0.0 -0.393791 -3.78759 0 0.00312239 0.00525412 0.998786 -0.0488729 uwb: 0.49827427 1222.53 1020.64 -imu_odom_: 1691062507.14179570 0.811634 -0.100556 9.85214 -0.0415453 -0.0596548 0.0287621 0.17 0 pose: 0.0 -0.393791 -3.78759 0 0.00312239 0.00525412 0.998786 -0.0488729 uwb: 0.0 1222.53 1020.64 -imu_odom_: 1691062507.31146558 0.442927 -0.0526724 9.68215 -0.0596548 0.0266316 0.0500674 0.17 0 pose: 0.37995626 -0.403326 -3.7906 0 0.00449511 0.00389434 0.998785 -0.0489138 uwb: 0.49993378 1222.92 1019.5 -imu_odom_: 1691062507.45189863 0.73502 -0.392649 9.68455 -0.0788296 0.00426106 0.0628506 0.17 0 pose: 0.0 -0.403326 -3.7906 0 0.00449511 0.00389434 0.998785 -0.0489138 uwb: 0.0 1222.92 1019.5 -imu_odom_: 1691062507.69178359 0.577003 -0.196325 9.81144 -0.0500674 -0.0106526 0.0458064 0.18 0.02 pose: 0.39273891 -0.403326 -3.7906 0 0.00538333 0.00486232 0.998773 -0.0489824 uwb: 0.0 1222.92 1019.5 -imu_odom_: 1691062507.87218580 0.351948 -0.0335188 9.98143 -0.0468716 -0.0500674 0.0607201 0.18 0.02 pose: 0.0 -0.403326 -3.7906 0 0.00538333 0.00486232 0.998773 -0.0489824 uwb: 0.49981719 1223.1 1019.32 -imu_odom_: 1691062507.110996220 0.311246 0.0311246 9.93594 -0.04048 0 0.0330232 0.21 0.02 pose: 0.39822757 -0.415876 -3.78408 0 0.00722235 0.00306829 0.998756 -0.0492498 uwb: 0.0 1223.1 1019.32 -imu_odom_: 1691062507.129129474 0.153229 -0.47884 9.56244 -0.0628506 0.00958738 0.056459 0.21 0.02 pose: 0.0 -0.415876 -3.78408 0 0.00722235 0.00306829 0.998756 -0.0492498 uwb: 0.0 1223.1 1019.32 -imu_odom_: 1691062507.153041268 0.488417 -0.169988 9.99819 -0.0340885 -0.0308927 0.0500674 0.25 0.02 pose: 0.41917019 -0.425409 -3.7871 0 0.00401918 0.00457188 0.998764 -0.0493258 uwb: 0.49992510 1223.33 1019.93 -imu_odom_: 1691062507.171107737 0.730232 -0.0837971 10.0102 -0.0617853 -0.0255663 0.0692422 0.25 0.02 pose: 0.0 -0.425409 -3.7871 0 0.00401918 0.00457188 0.998764 -0.0493258 uwb: 0.0 1223.33 1019.93 -imu_odom_: 1691062507.195055986 0.893037 -0.296881 9.55526 -0.0415453 0.0436758 0.0255663 0.18 0 pose: 0.52069856 -0.434941 -3.79013 0 0.00679371 0.0028034 0.998731 -0.0498137 uwb: 0.49872354 1223 1019.31 -imu_odom_: 1691062507.219062854 0.565032 -0.414197 9.29669 -0.04048 -0.0255663 0.0532632 0.18 0 pose: 0.0 -0.434941 -3.79013 0 0.00679371 0.0028034 0.998731 -0.0498137 uwb: 0.0 1223 1019.31 -imu_odom_: 1691062507.245144736 0.172383 0.0670376 9.81144 -0.02024 0.0117179 0.0351537 0.25 0.05 pose: 0.47955117 -0.441249 -3.79213 0 0.00890977 4.13447e-05 0.998717 -0.049845 uwb: 0.49979969 1223.59 1019.17 -imu_odom_: 1691062507.271144084 0.155623 -0.0670376 9.83538 -0.0660464 -0.0308927 0.0639159 0.18 0.02 pose: 0.0 -0.441249 -3.79213 0 0.00890977 4.13447e-05 0.998717 -0.049845 uwb: 0.0 1223.59 1019.17 -imu_odom_: 1691062507.295988249 0.265756 -0.222661 9.84496 -0.0681769 -0.04048 0.0532632 0.18 0.02 pose: 0.35096160 -0.44447 -3.79316 0 0.00573681 0.00208458 0.998736 -0.0498856 uwb: 0.50143870 1223.56 1020.54 -imu_odom_: 1691062507.320981442 0.387861 -0.289698 9.97664 -0.0692422 -0.0127832 0.0490022 0.2 0 pose: 0.41829235 -0.453999 -3.79619 0 0.00238804 0.00161771 0.998732 -0.0502511 uwb: 0.0 1223.56 1020.54 -imu_odom_: 1691062507.338037964 0.859518 -0.0215478 9.86411 -0.0426106 -0.0255663 0.0458064 0.2 0 pose: 0.0 -0.453999 -3.79619 0 0.00238804 0.00161771 0.998732 -0.0502511 uwb: 0.49956930 1224.02 1020.98 -imu_odom_: 1691062507.360999306 0.715866 -0.318429 9.95748 -0.0596548 -0.0287621 0.0585895 0.2 -0.02 pose: 0.7007217 -0.453999 -3.79619 0 0.0020856 0.000955109 0.998732 -0.0502849 uwb: 0.0 1224.02 1020.98 -imu_odom_: 1691062507.377126081 -0.059855 -0.0957681 9.53371 -0.0298274 0.04048 0.0298274 0.2 -0.02 pose: 0.0 -0.453999 -3.79619 0 0.0020856 0.000955109 0.998732 -0.0502849 uwb: 0.0 1224.02 1020.98 -imu_odom_: 1691062507.394991027 0.553061 -0.270545 10.137 -0.0511327 0.00958738 0.0585895 0.2 -0.02 pose: 0.0 -0.453999 -3.79619 0 0.0020856 0.000955109 0.998732 -0.0502849 uwb: 0.50136871 1224.25 1021.79 -imu_odom_: 1691062507.418964649 0.553061 -0.363919 9.93115 -0.0351537 0.0245011 0.0372843 0.21 -0.02 pose: 0.41991970 -0.466567 -3.78971 0 0.00372314 -5.14135e-050.998718 -0.0504891 uwb: 0.0 1224.25 1021.79 -imu_odom_: 1691062507.436950625 0.28491 -0.213084 9.36372 -0.0543285 0.0138484 0.0553937 0.21 -0.02 pose: 0.0 -0.466567 -3.78971 0 0.00372314 -5.14135e-050.998718 -0.0504891 uwb: 0.49950222 1224.6 1021.63 -imu_odom_: 1691062507.453951444 0.189142 -0.387861 9.92875 -0.0596548 0.00958738 0.0628506 0.23 0 pose: 0.81997584 -0.485616 -3.7958 0 0.00476953 -0.00271256 0.998695 -0.0507838 uwb: 0.0 1224.6 1021.63 -imu_odom_: 1691062507.467020966 0.275333 -0.0861913 10.2975 -0.0276969 -0.00106526 0.0426106 0.23 0 pose: 0.0 -0.485616 -3.7958 0 0.00476953 -0.00271256 0.998695 -0.0507838 uwb: 0.0 1224.6 1021.63 -imu_odom_: 1691062507.483029919 0.232238 0.146046 9.58878 -0.0820254 0.0308927 0.0607201 0.23 0 pose: 0.0 -0.485616 -3.7958 0 0.00476953 -0.00271256 0.998695 -0.0507838 uwb: 0.49924557 1224.86 1021.85 -imu_odom_: 1691062507.507153444 0.706289 -0.21069 10.0126 -0.0681769 0.0415453 0.0372843 0.17 0.02 pose: 0.48014904 -0.485616 -3.7958 0 0.00062589 -0.00155959 0.998688 -0.051173 uwb: 0.0 1224.86 1021.85 -imu_odom_: 1691062507.533001139 0.459687 -0.0861913 10.0341 -0.0703074 -0.00852212 0.0490022 0.25 0.02 pose: 0.32153520 -0.495137 -3.79886 0 0.00195903 -0.0008411180.998685 -0.0512268 uwb: 0.49990177 1225.29 1023.08 -imu_odom_: 1691062507.557949128 0.31364 0.0191536 10.2328 -0.0500674 0.0117179 0.0415453 0.18 -0.02 pose: 0.0 -0.495137 -3.79886 0 0.00195903 -0.0008411180.998685 -0.0512268 uwb: 0.0 1225.29 1023.08 -imu_odom_: 1691062507.582968568 0.0933739 -0.294487 9.79947 -0.0777643 0.0319579 0.0511327 0.23 0.02 pose: 0.50795684 -0.504657 -3.80192 0 0.000530071 0.00361041 0.998673 -0.0513608 uwb: 0.49996009 1226.16 1023.57 -imu_odom_: 1691062507.598028236 -0.0167594 -0.509965 9.91439 -0.0607201 0.00213053 0.04048 0.23 0.02 pose: 0.0 -0.504657 -3.80192 0 0.000530071 0.00361041 0.998673 -0.0513608 uwb: 0.0 1226.16 1023.57 -imu_odom_: 1691062507.621955778 0.299275 -0.517148 9.27753 -0.0490022 -0.0436758 0.0479369 0.18 0 pose: 0.40079108 -0.512755 -3.79402 0 -0.00324125 0.00104185 0.998667 -0.0515016 uwb: 0.0 1226.16 1023.57 -imu_odom_: 1691062507.647937336 0.490811 -0.105345 9.58399 -0.02024 -0.00319579 0.0191748 0.18 0 pose: 0.7151869 -0.517239 -3.79546 0 -0.00316435 0.000358633 0.998666 -0.0515289 uwb: 0.50133080 1226.78 1023.83 -imu_odom_: 1691062507.671928748 0.100556 -0.356736 9.73722 -0.0607201 -0.02024 0.0468716 0.2 -0.02 pose: 0.24850581 -0.517239 -3.79546 0 -0.00242177 -0.0005341920.998669 -0.0515111 uwb: 0.0 1226.78 1023.83 -imu_odom_: 1691062507.697937428 0.454898 -0.0430956 9.85693 -0.0308927 -0.0479369 0.0426106 0.19 0.02 pose: 0.25053854 -0.526758 -3.79853 0 -0.00171668 0.00063272 0.998679 -0.0513548 uwb: 0.49847856 1226.96 1025.46 -imu_odom_: 1691062507.720041934 0.395043 -0.263362 10.4435 -0.0681769 -0.00745685 0.0628506 0.19 0.02 pose: 0.0 -0.526758 -3.79853 0 -0.00171668 0.00063272 0.998679 -0.0513548 uwb: 0.0 1226.96 1025.46 -imu_odom_: 1691062507.732933848 0.634463 -0.220267 9.53132 -0.036219 -0.0308927 0.0330232 0.19 0.02 pose: 0.0 -0.526758 -3.79853 0 -0.00171668 0.00063272 0.998679 -0.0513548 uwb: 0.50083793 1227.36 1025.7 -imu_odom_: 1691062507.756925843 0.727837 -0.0622492 9.71088 -0.056459 -0.02024 0.0458064 0.19 -0.02 pose: 0.24926698 -0.526758 -3.79853 0 -0.00242617 0.000486666 0.998674 -0.0514274 uwb: 0.0 1227.36 1025.7 -imu_odom_: 1691062507.781979404 0.560243 -0.107739 9.85693 -0.0436758 -0.0458064 0.0308927 0.19 -0.02 pose: 0.0 -0.526758 -3.79853 0 -0.00242617 0.000486666 0.998674 -0.0514274 uwb: 0.49928349 1227.87 1025.36 -imu_odom_: 1691062507.805014823 0.897826 -0.28491 10.4483 -0.0692422 -0.0213053 0.0532632 0.18 -0.02 pose: 0.59991362 -0.536277 -3.80159 0 0.00142377 0.000487318 0.998662 -0.0516932 uwb: 0.0 1227.87 1025.36 -imu_odom_: 1691062507.820926952 0.577003 -0.308852 9.64145 -0.0447411 0.0330232 0.0181095 0.18 -0.02 pose: 0.0 -0.536277 -3.80159 0 0.00142377 0.000487318 0.998662 -0.0516932 uwb: 0.0 1227.87 1025.36 -imu_odom_: 1691062507.837923105 0.593762 -0.169988 9.98622 -0.0436758 -0.0276969 0.0447411 0.25 0 pose: 0.48304210 -0.545795 -3.80466 0 0.00601773 0.00300594 0.998641 -0.0516782 uwb: 0.50148245 1228.18 1027.01 -imu_odom_: 1691062507.861969345 0.663194 -0.272939 10.0963 -0.0458064 0.00639159 0.0468716 0.25 0 pose: 0.0 -0.545795 -3.80466 0 0.00601773 0.00300594 0.998641 -0.0516782 uwb: 0.0 1228.18 1027.01 -imu_odom_: 1691062507.884972682 0.696713 -0.136469 9.78271 -0.0479369 0 0.0553937 0.23 0 pose: 0.73662535 -0.564974 -3.80033 0 0.0106388 0.000597012 0.998601 -0.0517858 uwb: 0.49839107 1228.7 1027.07 -imu_odom_: 1691062507.902954576 0.402226 -0.328006 9.56962 -0.0596548 0.0372843 0.0553937 0.23 0 pose: 0.7080417 -0.567898 -3.80127 0 0.0111283 0.00111735 0.998593 -0.0518367 uwb: 0.0 1228.7 1027.07 -imu_odom_: 1691062507.927057685 0.229843 0.00718261 10.0365 -0.052198 0.0106526 0.0468716 0.18 0.02 pose: 0.0 -0.567898 -3.80127 0 0.0111283 0.00111735 0.998593 -0.0518367 uwb: 0.0 1228.7 1027.07 -imu_odom_: 1691062507.944920298 0.232238 -0.296881 9.57441 -0.0788296 -0.036219 0.0553937 0.18 0.02 pose: 0.33904814 -0.573171 -3.80298 0 0.0103779 0.00120338 0.998587 -0.0521035 uwb: 0.49993968 1229.48 1026.75 -imu_odom_: 1691062507.960061042 0.775721 0.0383072 9.57202 -0.0372843 -0.0617853 0.0532632 0.18 0.02 pose: 0.0 -0.573171 -3.80298 0 0.0103779 0.00120338 0.998587 -0.0521035 uwb: 0.0 1229.48 1026.75 -imu_odom_: 1691062507.977937361 1.52989 -0.37589 9.86172 -0.0820254 -0.108657 0.056459 0.16 -0.08 pose: 0.49968595 -0.577414 -3.80435 0 0.0074504 0.00205642 0.998598 -0.052372 uwb: 0.0 1229.48 1026.75 -imu_odom_: 1691062507.993937566 1.85072 -0.416591 9.92636 -0.0788296 -0.0276969 -0.0628506 0.16 -0.08 pose: 0.0 -0.577414 -3.80435 0 0.0074504 0.00205642 0.998598 -0.052372 uwb: 0.49986677 1229.78 1026.99 -imu_odom_: 1691062508.11969623 1.68073 0.347159 10.1682 -0.0490022 -0.0181095 -0.178964 0.18 -0.44 pose: 0.0 -0.577414 -3.80435 0 0.0074504 0.00205642 0.998598 -0.052372 uwb: 0.0 1229.78 1026.99 -imu_odom_: 1691062508.28968989 1.05584 0.280122 9.70131 -0.0841559 -0.0330232 -0.232228 0.18 -0.44 pose: 0.48984604 -0.586928 -3.80743 0 0.0133722 0.00224603 0.998613 -0.0508804 uwb: 0.0 1229.78 1026.99 -imu_odom_: 1691062508.41906693 1.05584 0.0909797 9.9934 -0.0745685 -0.0106526 -0.334493 0.18 -0.44 pose: 0.0 -0.586928 -3.80743 0 0.0133722 0.00224603 0.998613 -0.0508804 uwb: 0.50000391 1229.77 1028.62 -imu_odom_: 1691062508.58025891 1.1157 0.0766145 10.0461 -0.0660464 -0.0372843 -0.390952 0.1 -0.38 pose: 0.0 -0.586928 -3.80743 0 0.0133722 0.00224603 0.998613 -0.0508804 uwb: 0.0 1229.77 1028.62 -imu_odom_: 1691062508.76020039 0.967257 -0.203507 9.84256 -0.0745685 -0.0149137 -0.414388 0.13 -0.58 pose: 0.48060705 -0.596415 -3.81059 0 0.0174378 0.00510506 0.998898 -0.0432806 uwb: 0.0 1229.77 1028.62 -imu_odom_: 1691062508.92936579 1.01514 -0.351948 10.0269 -0.076699 -0.00958738 -0.431432 0.13 -0.58 pose: 0.0 -0.596415 -3.81059 0 0.0174378 0.00510506 0.998898 -0.0432806 uwb: 0.50026063 1230.2 1030.31 -imu_odom_: 1691062508.106955390 0.658405 -0.110133 9.66539 -0.0735032 -0.00319579 -0.44315 0.08 -0.5 pose: 0.16070786 -0.596415 -3.81059 0 0.0190404 0.00521631 0.999015 -0.0397321 uwb: 0.0 1230.2 1030.31 -imu_odom_: 1691062508.124050413 0.88346 0.071826 10.2376 -0.0543285 -0.0234358 -0.461259 0.08 -0.5 pose: 0.0 -0.596415 -3.81059 0 0.0190404 0.00521631 0.999015 -0.0397321 uwb: 0.0 1230.2 1030.31 -imu_odom_: 1691062508.137911740 0.756568 -0.0981623 9.63427 -0.0681769 -0.00745685 -0.462325 0.08 -0.5 pose: 0.0 -0.596415 -3.81059 0 0.0190404 0.00521631 0.999015 -0.0397321 uwb: 0.49822790 1230.61 1032.2 -imu_odom_: 1691062508.156062789 0.687136 -0.0790087 9.68933 -0.0607201 0 -0.486826 0.06 -0.5 pose: 0.33081525 -0.596415 -3.81059 0 0.0206793 0.00371286 0.999266 -0.0320235 uwb: 0.0 1230.61 1032.2 -imu_odom_: 1691062508.172103536 0.948104 -0.289698 9.61033 -0.072438 -0.0245011 -0.52198 0.06 -0.5 pose: 0.0 -0.596415 -3.81059 0 0.0206793 0.00371286 0.999266 -0.0320235 uwb: 0.0 1230.61 1032.2 -imu_odom_: 1691062508.188916252 0.608127 0.059855 10.2065 -0.0703074 -0.0149137 -0.52198 0.06 -0.5 pose: 0.0 -0.596415 -3.81059 0 0.0206793 0.00371286 0.999266 -0.0320235 uwb: 0.50182965 1230.5 1033.01 -imu_odom_: 1691062508.205314258 0.646434 -0.347159 9.83777 -0.056459 0.00958738 -0.525175 0.06 -0.53 pose: 0.46878108 -0.599609 -3.80111 0 0.018491 0.00640231 0.999605 -0.0201821 uwb: 0.0 1230.5 1033.01 -imu_odom_: 1691062508.222097810 0.605733 -0.23942 9.51456 -0.0628506 -0.0276969 -0.486826 0.07 -0.7 pose: 0.0 -0.599609 -3.80111 0 0.018491 0.00640231 0.999605 -0.0201821 uwb: 0.0 1230.5 1033.01 -imu_odom_: 1691062508.237964740 0.543484 -0.3304 9.84975 -0.0681769 0.00426106 -0.445281 0.07 -0.7 pose: 0.66116388 -0.609073 -3.80434 0 0.0165156 0.00471051 0.999851 -0.00190263 uwb: 0.49809374 1230.72 1033.45 -imu_odom_: 1691062508.256047837 0.744597 -0.275333 10.058 -0.0532632 -0.0149137 -0.40267 0.07 -0.58 pose: 0.0 -0.609073 -3.80434 0 0.0165156 0.00471051 0.999851 -0.00190263 uwb: 0.0 1230.72 1033.45 -imu_odom_: 1691062508.274013112 0.663194 -0.275333 9.74919 -0.052198 -0.00745685 -0.360059 0.07 -0.58 pose: 0.0 -0.609073 -3.80434 0 0.0165156 0.00471051 0.999851 -0.00190263 uwb: 0.0 1230.72 1033.45 -imu_odom_: 1691062508.286944401 0.636858 -0.191536 9.91199 -0.056459 -0.00213053 -0.320645 0.07 -0.58 pose: 0.33995523 -0.609073 -3.80434 0 0.0151434 0.0020385 0.999863 0.00633875 uwb: 0.50076517 1230.68 1034.89 -imu_odom_: 1691062508.311955391 0.581791 -0.232238 9.88087 -0.0511327 -0.0106526 -0.295078 0.04 -0.29 pose: 0.40833591 -0.609073 -3.80431 0 0.0136433 0.000216991 0.999803 0.0144226 uwb: 0.0 1230.68 1034.89 -imu_odom_: 1691062508.328948632 0.665588 -0.268151 9.76355 -0.0607201 -0.00106526 -0.268447 0.04 -0.29 pose: 0.8062078 -0.609073 -3.80434 0 0.0128921 3.64719e-05 0.999793 0.0157686 uwb: 0.0 1230.68 1034.89 -imu_odom_: 1691062508.345891711 -0.488417 -0.234632 9.92157 -0.0308927 0.106526 -0.282295 0.05 -0.23 pose: 0.0 -0.609073 -3.80434 0 0.0128921 3.64719e-05 0.999793 0.0157686 uwb: 0.49925155 1230.36 1035.87 -imu_odom_: 1691062508.359886608 -1.34315 -0.131681 10.1969 -0.04048 0.0735032 -0.245011 0.07 -0.23 pose: 0.50885232 -0.609073 -3.80434 0 0.0097484 -0.00135775 0.999665 0.0239235 uwb: 0.0 1230.36 1035.87 -imu_odom_: 1691062508.376947801 -1.16598 -0.268151 9.67497 -0.0500674 -0.0596548 -0.192813 0.07 -0.2 pose: 0.0 -0.609073 -3.80434 0 0.0097484 -0.00135775 0.999665 0.0239235 uwb: 0.0 1230.36 1035.87 -imu_odom_: 1691062508.390935699 -0.251391 -0.380678 10.058 -0.056459 -0.100135 -0.154463 0.07 -0.2 pose: 0.0 -0.609073 -3.80434 0 0.0097484 -0.00135775 0.999665 0.0239235 uwb: 0.50049686 1230.21 1036.05 -imu_odom_: 1691062508.407933606 0.737414 -0.23942 10.3334 -0.056459 -0.0713727 -0.142745 0.07 -0.2 pose: 0.22005646 -0.618565 -3.80749 0 0.00723552 -0.001085 0.999613 0.0268428 uwb: 0.0 1230.21 1036.05 -imu_odom_: 1691062508.421992955 0.814029 -0.0287304 9.75398 -0.0415453 -0.0106526 -0.153398 0.09 -0.23 pose: 0.0 -0.618565 -3.80749 0 0.00723552 -0.001085 0.999613 0.0268428 uwb: 0.0 1230.21 1036.05 -imu_odom_: 1691062508.436973010 0.244209 -0.0383072 9.94791 -0.0458064 -0.0138484 -0.132093 0.09 -0.23 pose: 0.0 -0.618565 -3.80749 0 0.00723552 -0.001085 0.999613 0.0268428 uwb: 0.50143301 1230.56 1037.14 -imu_odom_: 1691062508.454929244 0.0861913 -0.105345 9.86172 -0.04048 -0.00958738 -0.149137 0.16 -0.26 pose: 0.69075653 -0.618565 -3.80749 0 0.00807853 0.000406908 0.999408 0.0334499 uwb: 0.0 1230.56 1037.14 -imu_odom_: 1691062508.470987198 0.371101 0.0215478 10.2328 -0.0340885 -0.0351537 -0.137419 0.16 -0.26 pose: 0.0 -0.618565 -3.80749 0 0.00807853 0.000406908 0.999408 0.0334499 uwb: 0.0 1230.56 1037.14 -imu_odom_: 1691062508.487928236 0.428562 -0.289698 9.91199 -0.0628506 0.02024 -0.111853 0.16 -0.26 pose: 0.0 -0.618565 -3.80749 0 0.00807853 0.000406908 0.999408 0.0334499 uwb: 0.49912324 1230.39 1037.93 -imu_odom_: 1691062508.503923487 0.557849 -0.301669 10.3166 -0.0458064 -0.00426106 -0.11931 0.12 -0.17 pose: 0.7984794 -0.618565 -3.80749 0 0.0073248 0.000656431 0.999388 0.0342044 uwb: 0.0 1230.39 1037.93 -imu_odom_: 1691062508.520923436 0.337582 -0.251391 9.62469 -0.0500674 0.0138484 -0.111853 0.12 -0.17 pose: 0.0 -0.618565 -3.80749 0 0.0073248 0.000656431 0.999388 0.0342044 uwb: 0.0 1230.39 1037.93 -imu_odom_: 1691062508.535861786 0.316035 0.0287304 9.86172 -0.052198 0.0234358 -0.0969391 0.12 -0.17 pose: 0.0 -0.618565 -3.80749 0 0.0073248 0.000656431 0.999388 0.0342044 uwb: 0.49933321 1230.18 1038.31 -imu_odom_: 1691062508.553858558 0.306458 -0.387861 9.26556 -0.0575243 -0.00426106 -0.0820254 0.15 -0.14 pose: 0.49972692 -0.628058 -3.81063 0 0.00483497 0.000445067 0.99925 0.0384044 uwb: 0.0 1230.18 1038.31 -imu_odom_: 1691062508.571017159 0.280122 0.0550666 10.0628 -0.0479369 -0.0127832 -0.0969391 0.13 -0.14 pose: 0.0 -0.628058 -3.81063 0 0.00483497 0.000445067 0.99925 0.0384044 uwb: 0.0 1230.18 1038.31 -imu_odom_: 1691062508.584957519 0.37589 0.0622492 10.1131 -0.0511327 -0.076699 -0.0798948 0.13 -0.14 pose: 0.66941437 -0.640722 -3.80426 0 0.00103814 0.000143483 0.999072 0.0430594 uwb: 0.49918739 1229.68 1039.26 -imu_odom_: 1691062508.603004745 1.13246 0.0861913 10.0221 -0.0671117 -0.0894822 -0.056459 0.13 -0.14 pose: 0.0 -0.640722 -3.80426 0 0.00103814 0.000143483 0.999072 0.0430594 uwb: 0.0 1229.68 1039.26 -imu_odom_: 1691062508.617015974 1.31442 -0.248997 9.91678 -0.0585895 -0.0532632 -0.0245011 0.12 -0.14 pose: 0.0 -0.640722 -3.80426 0 0.00103814 0.000143483 0.999072 0.0430594 uwb: 0.0 1229.68 1039.26 -imu_odom_: 1691062508.635136110 1.4461 -0.579397 10.07 -0.0500674 -0.0117179 -0.0106526 0.12 -0.14 pose: 0.31168662 -0.640722 -3.80426 0 0.00214637 0.00256876 0.998986 0.0449042 uwb: 0.50402278 1229.24 1040.42 -imu_odom_: 1691062508.652005696 1.31681 0.0502782 10.1873 -0.0468716 -0.0394148 -0.036219 0.1 -0.11 pose: 0.42095515 -0.645732 -3.80591 0 0.00693433 0.00176589 0.998903 0.0462715 uwb: 0.0 1229.24 1040.42 -imu_odom_: 1691062508.669036558 1.48441 0.177171 9.91678 -0.0436758 -0.0181095 -0.0543285 0.1 -0.11 pose: 0.0 -0.645732 -3.80591 0 0.00693433 0.00176589 0.998903 0.0462715 uwb: 0.0 1229.24 1040.42 -imu_odom_: 1691062508.684968232 1.01514 -0.059855 9.62708 -0.0585895 0.0298274 -0.0639159 0.1 -0.11 pose: 0.0 -0.645732 -3.80591 0 0.00693433 0.00176589 0.998903 0.0462715 uwb: 0.49710217 1229.36 1040.44 -imu_odom_: 1691062508.702026509 0.725443 -0.342371 9.83538 -0.0511327 0.0117179 -0.092678 0.09 -0.14 pose: 0.8890917 -0.650208 -3.80742 0 0.00795656 0.00200448 0.99888 0.0466077 uwb: 0.0 1229.36 1040.44 -imu_odom_: 1691062508.717965765 0.713472 -0.225055 9.88566 -0.052198 -0.0170442 -0.100135 0.06 -0.08 pose: 0.0 -0.650208 -3.80742 0 0.00795656 0.00200448 0.99888 0.0466077 uwb: 0.0 1229.36 1040.44 -imu_odom_: 1691062508.734975630 0.861913 -0.143652 10.1131 -0.0490022 -0.0170442 -0.0798948 0.06 -0.08 pose: 0.65948987 -0.650208 -3.80742 0 0.0130832 0.00108439 0.998654 0.0501796 uwb: 0.50154968 1229.55 1040.06 -imu_odom_: 1691062508.750972631 0.703895 -0.160412 9.71088 -0.0585895 -0.0138484 -0.0543285 0.05 -0.08 pose: 0.0 -0.650208 -3.80742 0 0.0130832 0.00108439 0.998654 0.0501796 uwb: 0.0 1229.55 1040.06 -imu_odom_: 1691062508.768966195 0.78051 -0.363919 9.78031 -0.0490022 0.00532632 -0.0468716 0.05 -0.08 pose: 0.0 -0.650208 -3.80742 0 0.0130832 0.00108439 0.998654 0.0501796 uwb: 0.0 1229.55 1040.06 -imu_odom_: 1691062508.784852957 0.691924 -0.141258 9.97185 -0.0458064 0.00213053 -0.0447411 0.05 -0.08 pose: 0.32998116 -0.653364 -3.79793 0 0.0157615 0.00173267 0.998514 0.0521321 uwb: 0.49971817 1229.8 1041.76 -imu_odom_: 1691062508.811059376 0.553061 -0.136469 10.0078 -0.0532632 -0.00106526 -0.0255663 0.06 -0.08 pose: 0.41878827 -0.658089 -3.79951 0 0.0153934 0.00220003 0.998422 0.053955 uwb: 0.0 1229.8 1041.76 -imu_odom_: 1691062508.827959001 -0.572214 -0.263362 9.51695 -0.0553937 0.0575243 -0.0266316 0.06 -0.08 pose: 0.0 -0.658089 -3.79951 0 0.0153934 0.00220003 0.998422 0.053955 uwb: 0.0 1229.8 1041.76 -imu_odom_: 1691062508.854110301 -1.403 -0.153229 10.0437 -0.0468716 -0.0436758 -0.02024 0.08 -0.05 pose: 0.8040788 -0.662852 -3.80109 0 0.0145889 0.00235206 0.99842 0.0542209 uwb: 0.49933905 1229.7 1041.74 -imu_odom_: 1691062508.870159505 -1.13725 -0.153229 9.5792 -0.0500674 -0.150202 -0.0181095 0.09 -0.08 pose: 0.0 -0.662852 -3.80109 0 0.0145889 0.00235206 0.99842 0.0542209 uwb: 0.0 1229.7 1041.74 -imu_odom_: 1691062508.886872481 -0.213084 -0.37589 9.81623 -0.0468716 -0.1012 -0.0149137 0.11 -0.05 pose: 0.77265760 -0.662852 -3.80109 0 0.00803309 0.00296813 0.998358 0.0566457 uwb: 0.49928072 1229.85 1042.39 -imu_odom_: 1691062508.911834767 0.914585 -0.172383 10.5967 -0.0468716 0.0170442 -0.00745685 0.11 -0.05 pose: 0.0 -0.662852 -3.80109 0 0.00803309 0.00296813 0.998358 0.0566457 uwb: 0.0 1229.85 1042.39 -imu_odom_: 1691062508.934852402 -0.232238 -0.246603 9.67497 -0.036219 0.0426106 -0.015979 0.14 -0.02 pose: 0.41675262 -0.662852 -3.80109 0 0.0094403 0.00245208 0.998287 0.0576796 uwb: 0.50012647 1229.46 1042.94 -imu_odom_: 1691062508.960834551 -0.205901 -0.198719 9.61511 -0.0639159 -0.0245011 0.0234358 0.14 -0.02 pose: 0.7017718 -0.662852 -3.80109 0 0.00857836 0.00249435 0.998284 0.057875 uwb: 0.0 1229.46 1042.94 -imu_odom_: 1691062508.976820761 0.023942 -0.371101 9.56962 -0.052198 -0.00213053 -0.00852212 0.12 -0.05 pose: 0.24009792 -0.672336 -3.80426 0 0.00589084 0.00255469 0.998273 0.0583875 uwb: 0.0 1229.46 1042.94 -imu_odom_: 1691062509.1832043 0.672771 -0.0023942 9.83777 -0.0639159 -0.015979 0.00852212 0.12 -0.05 pose: 0.0 -0.672336 -3.80426 0 0.00589084 0.00255469 0.998273 0.0583875 uwb: 0.49733840 1229.62 1042.97 -imu_odom_: 1691062509.25031959 0.0311246 -0.129287 10.2735 -0.0426106 -0.0181095 0.00958738 0.14 -0.02 pose: 0.25000782 -0.672336 -3.80426 0 0.00360697 0.00223303 0.998266 0.0587079 uwb: 0.0 1229.62 1042.97 -imu_odom_: 1691062509.41029839 0.363919 -0.225055 10.0317 -0.0468716 -0.0628506 0.00426106 0.14 -0.02 pose: 0.0 -0.672336 -3.80426 0 0.00360697 0.00223303 0.998266 0.0587079 uwb: 0.50132811 1229.57 1043.38 -imu_odom_: 1691062509.66820972 0.514753 -0.308852 9.78031 -0.0607201 0.052198 0.0149137 0.18 -0.05 pose: 0.41049697 -0.675487 -3.79477 0 0.00430354 0.00334737 0.998218 0.0594201 uwb: 0.0 1229.57 1043.38 -imu_odom_: 1691062509.91848009 0.507571 -0.213084 10.0461 -0.0532632 0 0.0372843 0.18 -0.05 pose: 0.0 -0.675487 -3.79477 0 0.00430354 0.00334737 0.998218 0.0594201 uwb: 0.0 1229.57 1043.38 -imu_odom_: 1691062509.116812927 0.411803 0.0023942 9.68215 -0.0671117 -0.0415453 0.0106526 0.16 -0.05 pose: 0.40927802 -0.684981 -3.79791 0 0.00215662 0.00178999 0.998191 0.0600583 uwb: 0.0 1229.57 1043.38 -imu_odom_: 1691062509.139817154 0.553061 -0.203507 9.31344 -0.056459 -0.0106526 0.0255663 0.16 -0.05 pose: 0.48992216 -0.694481 -3.80104 0 0.00469434 0.000473457 0.998164 0.0603921 uwb: 0.99981577 1229.28 1043.11 -imu_odom_: 1691062509.155803077 0.442927 -0.3304 9.76595 -0.0553937 0.00639159 0.0149137 0.14 -0.02 pose: 0.0 -0.694481 -3.80104 0 0.00469434 0.000473457 0.998164 0.0603921 uwb: 0.0 1229.28 1043.11 -imu_odom_: 1691062509.172874774 0.167594 -0.0383072 10.1754 -0.0394148 -0.0170442 0.00532632 0.14 -0.02 pose: 0.0 -0.694481 -3.80104 0 0.00469434 0.000473457 0.998164 0.0603921 uwb: 0.0 1229.28 1043.11 -imu_odom_: 1691062509.197861565 0.059855 0.00718261 10.1562 -0.0436758 0.0639159 0.0351537 0.15 0 pose: 0.74042000 -0.707099 -3.79465 0 0.00423481 0.000651763 0.99811 0.0612968 uwb: 0.50000122 1228.65 1042.79 -imu_odom_: 1691062509.222809860 0.588974 -0.143652 10.0341 -0.0447411 -0.0106526 0.0170442 0.15 0 pose: 0.7956799 -0.707099 -3.79465 0 0.00327055 0.00110069 0.998112 0.0613162 uwb: 0.0 1228.65 1042.79 -imu_odom_: 1691062509.246804494 0.225055 0.102951 9.92636 -0.0585895 0.0458064 0.0234358 0.16 -0.02 pose: 0.41978287 -0.713612 -3.79685 0 0.00377753 0.00246678 0.998089 0.061633 uwb: 0.49876466 1228.87 1043.24 -imu_odom_: 1691062509.272979132 0.0407014 -0.579397 10.1155 -0.0575243 -0.015979 0.0266316 0.16 -0.02 pose: 0.0 -0.713612 -3.79685 0 0.00377753 0.00246678 0.998089 0.061633 uwb: 0.0 1228.87 1043.24 -imu_odom_: 1691062509.296796157 0.366313 0.0933739 9.59835 -0.0458064 0.0276969 0.0330232 0.17 0 pose: 0.32075962 -0.716574 -3.79785 0 0.00112248 0.00372236 0.998075 0.0618896 uwb: 0.50278054 1228.9 1043.46 -imu_odom_: 1691062509.321908937 -0.0311246 -0.201113 9.97185 -0.0713727 0.00426106 0.0255663 0.17 -0.02 pose: 0.0 -0.716574 -3.79785 0 0.00112248 0.00372236 0.998075 0.0618896 uwb: 0.0 1228.9 1043.46 -imu_odom_: 1691062509.335947292 -0.208296 -0.181959 9.91678 -0.0479369 0.00426106 0.0138484 0.17 -0.02 pose: 0.50250056 -0.72924 -3.79156 0 -0.00142995 0.0047417 0.998055 0.0621496 uwb: 0.49695941 1229.59 1042.76 -imu_odom_: 1691062509.360947207 0.00718261 -0.160412 10.1131 -0.0756338 -0.0436758 0.0479369 0.16 -0.02 pose: 0.0 -0.72924 -3.79156 0 -0.00142995 0.0047417 0.998055 0.0621496 uwb: 0.0 1229.59 1042.76 -imu_odom_: 1691062509.377936078 0.955286 -0.275333 9.72764 -0.0426106 -0.0479369 0.0170442 0.16 -0.02 pose: 0.7890013 -0.72924 -3.79156 0 -0.00527492 0.00429124 0.998026 0.0624315 uwb: 0.0 1229.59 1042.76 -imu_odom_: 1691062509.401788975 0.138864 -0.0574608 9.36612 -0.0532632 0.015979 0.0394148 0.16 -0.02 pose: 0.0 -0.72924 -3.79156 0 -0.00527492 0.00429124 0.998026 0.0624315 uwb: 0.49996913 1229.68 1042.78 -imu_odom_: 1691062509.427916952 0.52433 -0.294487 9.45949 -0.0639159 0.0458064 0.0276969 0.17 0 pose: 0.42159395 -0.738721 -3.79473 0 -0.00540177 0.0041472 0.998018 0.0625587 uwb: 0.0 1229.68 1042.78 -imu_odom_: 1691062509.452769880 0.282516 -0.19393 9.73004 -0.0490022 0.0255663 0.0436758 0.17 0 pose: 0.41920252 -0.747512 -3.79036 0 -0.00545769 0.00338417 0.998011 0.0627122 uwb: 0.50132234 1230.06 1044.09 -imu_odom_: 1691062509.475781397 0.811634 -0.0622492 10.3932 -0.0394148 -0.0596548 0.0372843 0.17 0 pose: 0.0 -0.747512 -3.79036 0 -0.00545769 0.00338417 0.998011 0.0627122 uwb: 0.0 1230.06 1044.09 -imu_odom_: 1691062509.492777851 0.457293 0.129287 9.95748 -0.0298274 0.0138484 0.0372843 0.23 -0.02 pose: 0.7956215 -0.751379 -3.78843 0 -0.00585956 0.00267311 0.998012 0.0627007 uwb: 0.49931295 1229.9 1044.9 -imu_odom_: 1691062509.516778901 0.0622492 -0.237026 9.65103 -0.0703074 0.0213053 0.0553937 0.23 -0.02 pose: 0.0 -0.751379 -3.78843 0 -0.00585956 0.00267311 0.998012 0.0627007 uwb: 0.0 1229.9 1044.9 -imu_odom_: 1691062509.542775056 -0.0311246 -0.181959 9.60314 -0.0458064 0.0213053 0.0351537 0.18 0.02 pose: 0.47912274 -0.751379 -3.78843 0 -0.00351242 0.00255069 0.998023 0.0627059 uwb: 0.50049700 1229.69 1045.48 -imu_odom_: 1691062509.566756858 -0.071826 -0.308852 9.88087 -0.0511327 -0.0181095 0.0511327 0.18 0.02 pose: 0.0 -0.751379 -3.78843 0 -0.00351242 0.00255069 0.998023 0.0627059 uwb: 0.0 1229.69 1045.48 -imu_odom_: 1691062509.584815171 0.366313 -0.0622492 10.0748 -0.04048 -0.0426106 0.0308927 0.17 0.02 pose: 0.41119118 -0.760863 -3.7916 0 -0.00675465 0.00282384 0.998015 0.0625506 uwb: 0.50038034 1230.26 1045.8 -imu_odom_: 1691062509.608764892 0.407014 -0.213084 9.98143 -0.0607201 -0.0319579 0.0468716 0.17 0.02 pose: 0.0 -0.760863 -3.7916 0 -0.00675465 0.00282384 0.998015 0.0625506 uwb: 0.0 1230.26 1045.8 -imu_odom_: 1691062509.631837071 0.320823 -0.270545 8.97107 0.00426106 0.0223706 0.0149137 0.17 0.02 pose: 0.49869175 -0.773521 -3.7853 0 -0.00998322 0.00258162 0.997992 0.0624998 uwb: 0.49955209 1230.71 1046.52 -imu_odom_: 1691062509.648774030 0.457293 -0.0766145 11.0708 0.00958738 -0.00319579 0.0276969 0.17 0.02 pose: 0.0 -0.773521 -3.7853 0 -0.00998322 0.00258162 0.997992 0.0624998 uwb: 0.0 1230.71 1046.52 -imu_odom_: 1691062509.672768372 0.047884 0.208296 10.0652 -0.0511327 0.0383495 0.0639159 0.18 0 pose: 0.41008878 -0.783003 -3.78847 0 -0.00621195 0.00184434 0.998021 0.0625432 uwb: 0.0 1230.71 1046.52 -imu_odom_: 1691062509.698823147 0.440533 -0.435745 10.0772 -0.0862864 -0.0127832 0.0543285 0.18 0 pose: 0.0 -0.783003 -3.78847 0 -0.00621195 0.00184434 0.998021 0.0625432 uwb: 0.0 1230.71 1046.52 -imu_odom_: 1691062509.722821864 0.995988 -0.023942 10.4674 -0.0543285 0.00639159 0.0500674 0.18 0.02 pose: 0.41053790 -0.783003 -3.78847 0 -0.00505919 0.00293892 0.998012 0.0627495 uwb: 0.0 1230.71 1046.52 -imu_odom_: 1691062509.740817474 0.0311246 -0.160412 9.40921 -0.105461 0.052198 0.0894822 0.18 0.02 pose: 0.0 -0.783003 -3.78847 0 -0.00505919 0.00293892 0.998012 0.0627495 uwb: 0.99990327 1230.83 1047.38 -imu_odom_: 1691062509.756867850 0.45011 -0.153229 10.1969 -0.11931 0.0319579 0.0980043 0.18 0.02 pose: 0.49947335 -0.795661 -3.78216 0 -0.00426183 0.00173971 0.998045 0.0623239 uwb: 0.0 1230.83 1047.38 -imu_odom_: 1691062509.781761608 0.337582 -0.476446 10.2735 -0.0916127 -0.00106526 0.0681769 0.18 0.02 pose: 0.0 -0.795661 -3.78216 0 -0.00426183 0.00173971 0.998045 0.0623239 uwb: 0.49984664 1231.29 1047.27 -imu_odom_: 1691062509.805759742 0.490811 -0.217872 9.56723 -0.0639159 0.0511327 0.00639159 0.18 0.02 pose: 0.41976829 -0.805141 -3.78535 0 -0.00445738 0.00169708 0.998092 0.0615535 uwb: 0.0 1231.29 1047.27 -imu_odom_: 1691062509.830864355 0.198719 -0.42138 10.094 -0.0617853 0.0170442 0.0830906 0.18 0.02 pose: 0.0 -0.805141 -3.78535 0 -0.00445738 0.00169708 0.998092 0.0615535 uwb: 0.50021120 1231.65 1047.97 -imu_odom_: 1691062509.855866020 0.500388 -0.304064 10.1993 -0.0149137 -0.00532632 0.0266316 0.18 0 pose: 0.41005378 -0.805141 -3.78535 0 -0.00334336 -0.00131312 0.998125 0.0610998 uwb: 0.0 1231.65 1047.97 -imu_odom_: 1691062509.878781004 0.893037 -0.155623 9.87608 -0.0553937 -0.0266316 0.0692422 0.18 0 pose: 0.0 -0.805141 -3.78535 0 -0.00334336 -0.00131312 0.998125 0.0610998 uwb: 0.50026660 1231.6 1047.75 -imu_odom_: 1691062509.895773376 0.833182 -0.31364 9.67497 -0.0628506 0.0298274 0.0532632 0.18 0 pose: 0.48145003 -0.817817 -3.77908 0 -0.00355263 -0.00300031 0.998135 0.060872 uwb: 0.0 1231.6 1047.75 -imu_odom_: 1691062509.920803329 0.25618 -0.299275 10.1083 -0.0607201 0.0351537 0.0681769 0.18 0 pose: 0.0 -0.817817 -3.77908 0 -0.00355263 -0.00300031 0.998135 0.060872 uwb: 0.0 1231.6 1047.75 -imu_odom_: 1691062509.936752215 0.102951 -0.289698 9.81383 -0.0575243 -0.0330232 0.0585895 0.18 0 pose: 0.66012584 -0.827289 -3.78229 0 0.00116758 -0.00305493 0.998167 0.0604332 uwb: 0.49989914 1231.46 1048.99 -imu_odom_: 1691062509.962899439 0.608127 -0.282516 9.60793 -0.0756338 -0.0575243 0.0575243 0.18 0 pose: 0.0 -0.827289 -3.78229 0 0.00116758 -0.00305493 0.998167 0.0604332 uwb: 0.0 1231.46 1048.99 -imu_odom_: 1691062509.988751232 0.294487 -0.371101 9.89524 -0.0266316 0.0170442 0.0351537 0.18 0 pose: 0.41999285 -0.839974 -3.77604 0 -0.00106709 -0.00339854 0.998195 0.0599507 uwb: 0.49986123 1231.52 1049.84 -imu_odom_: 1691062510.13743276 0.191536 -0.196325 10.0987 -0.0276969 -0.0149137 0.056459 0.2 0 pose: 0.42828416 -0.849439 -3.77926 0 -0.00145021 -0.00459548 0.998196 0.0598501 uwb: 0.0 1231.52 1049.84 -imu_odom_: 1691062510.38753697 0.565032 0.122104 9.80426 -0.0298274 -0.0138484 0.0415453 0.2 0 pose: 0.0 -0.849439 -3.77926 0 -0.00145021 -0.00459548 0.998196 0.0598501 uwb: 0.50100161 1231.85 1051.19 -imu_odom_: 1691062510.62714799 0.622492 -0.296881 9.48822 -0.0692422 -0.00319579 0.0660464 0.2 0 pose: 0.8000253 -0.849439 -3.77926 0 -0.00206456 -0.00403837 0.998201 0.0597791 uwb: 0.0 1231.85 1051.19 -imu_odom_: 1691062510.79800208 0 -0.0861913 9.97424 -0.0245011 0.0394148 0.0319579 0.2 0 pose: 0.0 -0.849439 -3.77926 0 -0.00206456 -0.00403837 0.998201 0.0597791 uwb: 0.49878522 1231.68 1052.85 -imu_odom_: 1691062510.93793363 0.521936 -0.143652 9.76355 -0.0426106 -0.0308927 0.0458064 0.2 0 pose: 0.0 -0.849439 -3.77926 0 -0.00206456 -0.00403837 0.998201 0.0597791 uwb: 0.0 1231.68 1052.85 -imu_odom_: 1691062510.118842573 0.593762 -0.205901 10.0987 -0.0319579 -0.0255663 0.0340885 0.18 0 pose: 0.49176252 -0.858903 -3.78249 0 -0.00119965 -0.0007277730.998227 0.0595073 uwb: 0.0 1231.68 1052.85 -imu_odom_: 1691062510.134842791 0.385466 0.141258 9.96227 -0.0468716 -0.015979 0.0639159 0.18 0 pose: 0.0 -0.858903 -3.78249 0 -0.00119965 -0.0007277730.998227 0.0595073 uwb: 0.50041549 1231.86 1053.53 -imu_odom_: 1691062510.151747092 0.0646434 -0.457293 9.60314 -0.0585895 -0.0266316 0.0617853 0.25 -0.02 pose: 0.79829317 -0.871599 -3.77627 0 0.00264469 0.0011484 0.998236 0.0592925 uwb: 0.0 1231.86 1053.53 -imu_odom_: 1691062510.177923779 0.248997 0 9.82102 -0.0426106 -0.0170442 0.0415453 0.25 -0.02 pose: 0.0 -0.871599 -3.77627 0 0.00264469 0.0011484 0.998236 0.0592925 uwb: 0.0 1231.86 1053.53 -imu_odom_: 1691062510.202870623 0.213084 -0.246603 10.1227 -0.0660464 -0.0255663 0.0468716 0.25 0.02 pose: 0.33992626 -0.88106 -3.7795 0 0.000886513 0.00178577 0.998256 0.0589919 uwb: 0.49937433 1231.67 1056.25 -imu_odom_: 1691062510.225821778 0.296881 -0.395043 9.86411 -0.0649811 0.04048 0.0596548 0.25 0.02 pose: 0.0 -0.88106 -3.7795 0 0.000886513 0.00178577 0.998256 0.0589919 uwb: 0.0 1231.67 1056.25 -imu_odom_: 1691062510.251831939 0.737414 -0.100556 10.0509 -0.0692422 -0.00852212 0.0415453 0.21 0 pose: 0.49975638 -0.893763 -3.77329 0 -0.00254109 0.00143202 0.998264 0.0588276 uwb: 0.50098126 1231.99 1056.55 -imu_odom_: 1691062510.267693920 0.560243 0.162806 9.84735 -0.056459 -0.036219 0.0500674 0.21 0 pose: 0.0 -0.893763 -3.77329 0 -0.00254109 0.00143202 0.998264 0.0588276 uwb: 0.0 1231.99 1056.55 -imu_odom_: 1691062510.293702040 0.0790087 -0.244209 10.2615 -0.0639159 0.036219 0.0394148 0.18 -0.02 pose: 0.49136591 -0.903221 -3.77654 0 -0.0004096740.000881952 0.998281 0.0586048 uwb: 0.50000136 1232.19 1057.24 -imu_odom_: 1691062510.306761657 0.134075 -0.150835 9.93833 -0.0308927 0.0468716 0.0245011 0.18 -0.02 pose: 0.0 -0.903221 -3.77654 0 -0.0004096740.000881952 0.998281 0.0586048 uwb: 0.0 1232.19 1057.24 -imu_odom_: 1691062510.323848233 0.85473 -0.1652 9.83059 -0.0553937 -0.0383495 0.0671117 0.18 -0.02 pose: 0.40837114 -0.906472 -3.76708 0 -0.00369045 0.00145856 0.998273 0.0586083 uwb: 0.0 1232.19 1057.24 -imu_odom_: 1691062510.346836134 0.124498 -0.265756 9.6199 -0.0479369 0.00106526 0.0436758 0.18 -0.02 pose: 0.0 -0.906472 -3.76708 0 -0.00369045 0.00145856 0.998273 0.0586083 uwb: 0.49886688 1232.18 1058.53 -imu_odom_: 1691062510.371855596 0.445322 -0.0909797 10.1227 -0.0649811 -0.00958738 0.052198 0.18 -0.02 pose: 0.47137111 -0.915929 -3.77033 0 -0.0048119 0.00114219 0.998282 0.0583829 uwb: 0.0 1232.18 1058.53 -imu_odom_: 1691062510.396841227 0.203507 -0.100556 10.137 -0.0372843 -0.0308927 0.0191748 0.18 -0.02 pose: 0.0 -0.915929 -3.77033 0 -0.0048119 0.00114219 0.998282 0.0583829 uwb: 0.49991095 1231.93 1059.33 -imu_odom_: 1691062510.419896206 0.646434 -0.584185 9.60314 -0.0798948 -0.0372843 0.0511327 0.2 -0.02 pose: 0.8032918 -0.915929 -3.77033 0 -0.00412543 0.00155218 0.998288 0.0583294 uwb: 0.0 1231.93 1059.33 -imu_odom_: 1691062510.435675653 0.565032 -0.23942 9.84496 -0.0575243 0.0213053 0.0351537 0.2 -0.02 pose: 0.0 -0.915929 -3.77033 0 -0.00412543 0.00155218 0.998288 0.0583294 uwb: 0.49870648 1232.13 1060.25 -imu_odom_: 1691062510.452839513 0.531513 -0.385466 9.83059 -0.0553937 -0.00745685 0.0372843 0.25 -0.02 pose: 0.49056391 -0.925384 -3.77359 0 -0.00400729 0.00315351 0.998278 0.0584339 uwb: 0.0 1232.13 1060.25 -imu_odom_: 1691062510.477831852 0.785298 -0.275333 10.0389 -0.04048 -0.036219 0.0298274 0.25 -0.02 pose: 0.0 -0.925384 -3.77359 0 -0.00400729 0.00315351 0.998278 0.0584339 uwb: 0.0 1232.13 1060.25 -imu_odom_: 1691062510.503676362 0.629675 -0.126893 9.88087 -0.052198 -0.0117179 0.0500674 0.21 0.02 pose: 0.73906409 -0.938094 -3.76739 0 0.00235524 -0.0005623350.998283 0.0585215 uwb: 0.50130498 1232.47 1061.2 -imu_odom_: 1691062510.528665785 0.392649 -0.071826 10.2089 -0.0436758 -0.0394148 0.0415453 0.21 0.02 pose: 0.7872517 -0.938094 -3.76739 0 0.00310069 -0.0002223730.998284 0.0584813 uwb: 0.0 1232.47 1061.2 -imu_odom_: 1691062510.552669759 0.529119 -0.0766145 9.61751 -0.0585895 -0.0372843 0.0543285 0.21 0 pose: 0.42961416 -0.94755 -3.77064 0 0.00374775 0.0026752 0.998284 0.0583751 uwb: 0.49876189 1232.52 1061.86 -imu_odom_: 1691062510.568848460 0.88346 -0.347159 9.90002 -0.0532632 0.0117179 0.0436758 0.21 0 pose: 0.0 -0.94755 -3.77064 0 0.00374775 0.0026752 0.998284 0.0583751 uwb: 0.0 1232.52 1061.86 -imu_odom_: 1691062510.592671617 0.35913 -0.220267 9.71806 -0.076699 0.02024 0.0681769 0.18 -0.02 pose: 0.0 -0.94755 -3.77064 0 0.00374775 0.0026752 0.998284 0.0583751 uwb: 0.50052048 1232.75 1062.8 -imu_odom_: 1691062510.609786482 0.466869 -0.184354 10.0748 -0.0681769 -0.0351537 0.0585895 0.18 -0.02 pose: 0.40182675 -0.960261 -3.76444 0 0.00683482 0.00360789 0.998278 0.0581567 uwb: 0.0 1232.75 1062.8 -imu_odom_: 1691062510.635733065 0.430956 -0.0909797 10.1778 -0.0532632 -0.02024 0.0532632 0.18 0.02 pose: 0.0 -0.960261 -3.76444 0 0.00683482 0.00360789 0.998278 0.0581567 uwb: 0.50179494 1232.69 1063.65 -imu_odom_: 1691062510.651742908 -0.0023942 -0.301669 10.0006 -0.0607201 0.00319579 0.0543285 0.18 0.02 pose: 0.40938022 -0.964951 -3.76606 0 0.00342382 0.00107897 0.99833 0.0576565 uwb: 0.0 1232.69 1063.65 -imu_odom_: 1691062510.677681909 0.263362 -0.371101 9.9096 -0.0649811 -0.0213053 0.056459 0.19 0.02 pose: 0.0 -0.964951 -3.76606 0 0.00342382 0.00107897 0.99833 0.0576565 uwb: 0.0 1232.69 1063.65 -imu_odom_: 1691062510.702940516 0.627281 -0.438139 10.0724 -0.072438 -0.0127832 0.0383495 0.19 0.02 pose: 0.41956426 -0.971443 -3.76271 0 0.00119824 0.00306977 0.998347 0.057375 uwb: 0.49717245 1232.39 1064.66 -imu_odom_: 1691062510.717658687 0.586579 -0.167594 10.1299 -0.0532632 0.0138484 0.0436758 0.19 0 pose: 0.0 -0.971443 -3.76271 0 0.00119824 0.00306977 0.998347 0.057375 uwb: 0.0 1232.39 1064.66 -imu_odom_: 1691062510.741725946 0.251391 -0.232238 9.73482 -0.04048 -0.0191748 0.0447411 0.19 0 pose: 0.57972393 -0.982434 -3.76153 0 0.00206243 -0.00096338 0.998362 0.057162 uwb: 0.50056422 1232.71 1065.63 -imu_odom_: 1691062510.767720358 0.347159 -0.181959 9.90242 -0.0777643 -0.00106526 0.0639159 0.25 0 pose: 0.32010645 -0.988726 -3.76371 0 0.00051391 -0.0004484120.998369 0.0570832 uwb: 0.0 1232.71 1065.63 -imu_odom_: 1691062510.792710656 0.169988 -0.371101 9.5792 -0.0543285 0.0479369 0.052198 0.19 0 pose: 0.7946010 -0.991881 -3.76481 0 -0.000156547-8.25449e-050.998375 0.0569867 uwb: 0.50090544 1232.16 1067.45 -imu_odom_: 1691062510.809670660 0.28491 -0.409408 10.1275 -0.052198 -0.00106526 0.0553937 0.2 0.02 pose: 0.0 -0.991881 -3.76481 0 -0.000156547-8.25449e-050.998375 0.0569867 uwb: 0.0 1232.16 1067.45 -imu_odom_: 1691062510.825656005 0.620098 -0.1652 9.73722 -0.0798948 0.0106526 0.052198 0.2 0.02 pose: 0.50033674 -1.00461 -3.75865 0 -0.0045083 -0.00136941 0.998388 0.0565607 uwb: 0.0 1232.16 1067.45 -imu_odom_: 1691062510.851638752 0.64404 -0.0790087 9.94073 -0.0660464 0.0149137 0.0639159 0.25 0 pose: 0.0 -1.00461 -3.75865 0 -0.0045083 -0.00136941 0.998388 0.0565607 uwb: 0.49987012 1231.82 1069.11 -imu_odom_: 1691062510.876696419 0.636858 -0.11971 10.1634 -0.0735032 0.0117179 0.0607201 0.25 0 pose: 0.33056755 -1.00461 -3.75865 0 -0.00278016 -0.00180874 0.998408 0.0563008 uwb: 0.0 1231.82 1069.11 -imu_odom_: 1691062510.900646730 0.181959 -0.122104 9.89284 -0.0660464 0.0468716 0.052198 0.2 0 pose: 0.43934034 -1.01405 -3.76195 0 0.000838168 -0.0003370170.998441 0.0558092 uwb: 0.49993720 1231.68 1070.17 -imu_odom_: 1691062510.926642018 0.639252 -0.318429 9.81383 -0.0351537 -0.0213053 0.0298274 0.26 -0.05 pose: 0.6987974 -1.01405 -3.76195 0 2.75231e-05 -6.20328e-050.998444 0.0557653 uwb: 0.0 1231.68 1070.17 -imu_odom_: 1691062510.941639580 0.517148 -0.289698 10.0533 -0.0490022 -0.0308927 0.0585895 0.26 -0.05 pose: 0.0 -1.01405 -3.76195 0 2.75231e-05 -6.20328e-050.998444 0.0557653 uwb: 0.49868315 1231.96 1070.47 -imu_odom_: 1691062510.967636326 0.416591 -0.0933739 10.1801 -0.0458064 -0.0106526 0.0426106 0.26 -0.05 pose: 0.23997557 -1.02679 -3.75581 0 -0.00124221 0.000368486 0.998447 0.0556933 uwb: 0.0 1231.96 1070.47 -imu_odom_: 1691062510.990651933 0.526724 0.047884 10.2615 -0.0490022 -0.0234358 0.0575243 0.18 0.02 pose: 0.41998714 -1.02679 -3.75581 0 0.00193558 -0.0003241970.998449 0.0556332 uwb: 0.50024050 1232.05 1071.39 -imu_odom_: 1691062511.15646317 0.715866 -0.0454898 10.3597 -0.0426106 -0.0340885 0.0383495 0.2 0.02 pose: 0.40971269 -1.03623 -3.75912 0 0.00292739 0.00369234 0.998453 0.0554048 uwb: 0.0 1232.05 1071.39 -imu_odom_: 1691062511.42702597 0.574608 -0.189142 10.0509 -0.0745685 0.00319579 0.052198 0.2 0.02 pose: 0.0 -1.03623 -3.75912 0 0.00292739 0.00369234 0.998453 0.0554048 uwb: 0.50226455 1231.78 1072.64 -imu_odom_: 1691062511.67693485 0.548272 -0.0933739 10.0269 -0.0383495 -0.00639159 0.0351537 0.19 0 pose: 0.8034960 -1.03623 -3.75912 0 0.00382185 0.00396083 0.998449 0.0554076 uwb: 0.0 1231.78 1072.64 -imu_odom_: 1691062511.84744777 0.371101 -0.418985 9.71806 -0.0372843 0.00319579 0.0543285 0.19 0 pose: 0.0 -1.03623 -3.75912 0 0.00382185 0.00396083 0.998449 0.0554076 uwb: 0.49777338 1231.82 1073.31 -imu_odom_: 1691062511.110747363 0.471658 0.117316 9.86172 -0.0138484 0.015979 0.0394148 0.2 0 pose: 0.51972215 -1.04898 -3.753 0 0.00737928 0.00301892 0.998441 0.0552467 uwb: 0.0 1231.82 1073.31 -imu_odom_: 1691062511.126616057 0.318429 -0.399832 9.64863 -0.0735032 0.0213053 0.0703074 0.2 0 pose: 0.0 -1.04898 -3.753 0 0.00737928 0.00301892 0.998441 0.0552467 uwb: 0.0 1231.82 1073.31 -imu_odom_: 1691062511.152734424 0.179565 -0.0311246 10.0844 -0.0255663 -0.00532632 0.0372843 0.2 -0.02 pose: 0.42095551 -1.05841 -3.75631 0 0.00640609 0.00454001 0.998446 0.0551669 uwb: 0.49971569 1231.7 1074.39 -imu_odom_: 1691062511.176732279 0.196325 -0.184354 10.0197 -0.0415453 -0.0511327 0.0607201 0.2 -0.02 pose: 0.0 -1.05841 -3.75631 0 0.00640609 0.00454001 0.998446 0.0551669 uwb: 0.0 1231.7 1074.39 -imu_odom_: 1691062511.192752917 0.739808 -0.1652 10.0173 -0.0255663 -0.0308927 0.0319579 0.18 0.02 pose: 0.42022932 -1.07116 -3.7502 0 0.00408453 0.00560245 0.998465 0.0549466 uwb: 0.50113014 1231.81 1074.43 -imu_odom_: 1691062511.218671220 0.627281 -0.162806 9.6606 -0.072438 0.00106526 0.0585895 0.18 0.02 pose: 0.0 -1.07116 -3.7502 0 0.00408453 0.00560245 0.998465 0.0549466 uwb: 0.0 1231.81 1074.43 -imu_odom_: 1691062511.244747590 0.407014 -0.0670376 9.89284 -0.056459 -0.0149137 0.04048 0.2 -0.02 pose: 0.48989619 -1.07116 -3.7502 0 0.00146232 0.0056701 0.998482 0.0547638 uwb: 0.49941239 1231.76 1076.42 -imu_odom_: 1691062511.270805296 0.502782 -0.191536 9.7037 -0.0735032 0.0170442 0.0490022 0.2 -0.02 pose: 0.0 -1.07116 -3.7502 0 0.00146232 0.0056701 0.998482 0.0547638 uwb: 0.0 1231.76 1076.42 -imu_odom_: 1691062511.295614202 0.433351 -0.205901 9.71567 -0.0692422 0.0127832 0.0585895 0.2 -0.02 pose: 0.41919983 -1.08059 -3.75352 0 0.00428116 0.00486073 0.998491 0.0545332 uwb: 0.49926365 1232.05 1076.74 -imu_odom_: 1691062511.321668700 0.603339 -0.294487 10.1011 -0.0660464 -0.00852212 0.0447411 0.2 0 pose: 0.51992340 -1.09335 -3.74742 0 0.00322727 0.002783 0.998514 0.054335 uwb: 0.0 1232.05 1076.74 -imu_odom_: 1691062511.346621092 0.493206 -0.071826 10.1778 -0.0553937 -0.00745685 0.0383495 0.2 0 pose: 0.0 -1.09335 -3.74742 0 0.00322727 0.002783 0.998514 0.054335 uwb: 0.49970112 1231.73 1077.99 -imu_odom_: 1691062511.372667424 0.897826 -0.428562 10.0365 -0.04048 0.00106526 0.0287621 0.2 0 pose: 0.68941559 -1.10278 -3.75075 0 0.00445836 0.00198208 0.998523 0.0541159 uwb: 0.0 1231.73 1077.99 -imu_odom_: 1691062511.388696227 0.306458 -0.160412 9.91199 -0.0372843 0.052198 0.0436758 0.2 0 pose: 0.8099414 -1.10278 -3.75075 0 0.00510051 0.00157472 0.998518 0.0541559 uwb: 0.50026106 1232.22 1078.38 -imu_odom_: 1691062511.414871756 0.509965 -0.323217 9.47146 -0.0703074 0.0117179 0.0426106 0.22 0 pose: 0.0 -1.10278 -3.75075 0 0.00510051 0.00157472 0.998518 0.0541559 uwb: 0.0 1232.22 1078.38 -imu_odom_: 1691062511.430752990 0.347159 0.0215478 10.0293 -0.0468716 0.0223706 0.0340885 0.22 0 pose: 0.33975721 -1.11554 -3.74466 0 0.00450919 0.0011689 0.998518 0.0542138 uwb: 0.50101640 1231.98 1080.11 -imu_odom_: 1691062511.456612089 0.344765 -0.122104 10.1299 -0.056459 -0.0245011 0.0330232 0.23 0 pose: 0.0 -1.11554 -3.74466 0 0.00450919 0.0011689 0.998518 0.0542138 uwb: 0.0 1231.98 1080.11 -imu_odom_: 1691062511.482659296 0.560243 -0.131681 9.63666 -0.0777643 -0.0149137 0.0490022 0.23 0 pose: 0.50027856 -1.12497 -3.748 0 0.00313916 0.000361955 0.998523 0.0542397 uwb: 0.49884952 1231.52 1080.85 -imu_odom_: 1691062511.508605887 0.155623 -0.143652 9.66779 -0.056459 0.0117179 0.0383495 0.23 0.02 pose: 0.43935213 -1.13187 -3.75044 0 0.00446607 0.00205155 0.998519 0.0541783 uwb: 0.0 1231.52 1080.85 -imu_odom_: 1691062511.533589193 0.407014 -0.40462 9.97424 -0.072438 -0.0276969 0.0511327 0.23 0.02 pose: 0.6946564 -1.1344 -3.75133 0 0.00372117 0.00214539 0.998522 0.0541844 uwb: 0.50110974 1231.31 1082.59 -imu_odom_: 1691062511.549580084 0.984017 -0.277727 10.2328 -0.0298274 0 0.0287621 0.21 0 pose: 0.0 -1.1344 -3.75133 0 0.00372117 0.00214539 0.998522 0.0541844 uwb: 0.0 1231.31 1082.59 -imu_odom_: 1691062511.566577422 0.134075 -0.0885855 9.7875 -0.0415453 0.0181095 0.0500674 0.21 0 pose: 0.51022055 -1.13773 -3.7419 0 0.00223897 -0.00031351 0.998533 0.0540929 uwb: 0.0 1231.31 1082.59 -imu_odom_: 1691062511.582572104 0.316035 -0.19393 10.2424 -0.0617853 -0.0191748 0.0639159 0.21 0 pose: 0.0 -1.13773 -3.7419 0 0.00223897 -0.00031351 0.998533 0.0540929 uwb: 0.49846455 1231.27 1083.26 -imu_odom_: 1691062511.598702107 0.320823 0.0670376 10.1155 -0.0330232 -0.0298274 0.0436758 0.25 0 pose: 0.32967523 -1.14716 -3.74524 0 0.000734264 0.000561059 0.998542 0.0539688 uwb: 0.0 1231.27 1083.26 -imu_odom_: 1691062511.624640824 0.447716 -0.169988 9.58399 -0.0681769 -0.00639159 0.0543285 0.25 0 pose: 0.0 -1.14716 -3.74524 0 0.000734264 0.000561059 0.998542 0.0539688 uwb: 0.0 1231.27 1083.26 -imu_odom_: 1691062511.640585344 0.658405 -0.402226 9.81383 -0.0330232 0.0340885 0.0394148 0.21 0 pose: 0.32074814 -1.15659 -3.74858 0 0.00045076 0.00230242 0.99855 0.0537747 uwb: 0.50150637 1230.79 1085.14 -imu_odom_: 1691062511.666575389 0.469264 -0.3304 9.9934 -0.072438 -0.00745685 0.0703074 0.21 0 pose: 0.0 -1.15659 -3.74858 0 0.00045076 0.00230242 0.99855 0.0537747 uwb: 0.0 1230.79 1085.14 -imu_odom_: 1691062511.692714754 0.620098 -0.184354 10.2041 -0.0447411 -0.0500674 0.052198 0.23 0.02 pose: 0.42045096 -1.15993 -3.73915 0 0.00308415 0.0002549 0.998562 0.0535142 uwb: 0.49984693 1230.96 1085.9 -imu_odom_: 1691062511.716577581 0.531513 -0.0191536 10.2376 -0.0713727 -0.00745685 0.0585895 0.23 0.02 pose: 0.44999406 -1.16935 -3.7425 0 0.00616587 -0.0008209170.998572 0.0530599 uwb: 0.0 1230.96 1085.9 -imu_odom_: 1691062511.732566138 -0.0047884 -0.0311246 9.64624 -0.0298274 0.0308927 0.0319579 0.23 0.02 pose: 0.0 -1.16935 -3.7425 0 0.00616587 -0.0008209170.998572 0.0530599 uwb: 0.49994608 1230.7 1086.72 -imu_odom_: 1691062511.759574881 0.426168 -0.438139 9.75637 -0.0788296 -0.0213053 0.0532632 0.18 -0.02 pose: 0.7039889 -1.16935 -3.7425 0 0.00622134 -0.0001756550.998575 0.0529978 uwb: 0.0 1230.7 1086.72 -imu_odom_: 1691062511.784563144 0.244209 -0.304064 9.69652 -0.0479369 -0.0671117 0.0394148 0.18 -0.02 pose: 0.0 -1.16935 -3.7425 0 0.00622134 -0.0001756550.998575 0.0529978 uwb: 0.49870663 1230.33 1088.19 -imu_odom_: 1691062511.810674512 0.462081 -0.301669 9.59357 -0.0596548 -0.0117179 0.0468716 0.21 0 pose: 0.40852582 -1.17877 -3.74586 0 0.00440912 0.00123577 0.998592 0.0528569 uwb: 0.0 1230.33 1088.19 -imu_odom_: 1691062511.826553413 0.275333 -0.0311246 10.2472 -0.04048 0.0181095 0.036219 0.21 0 pose: 0.0 -1.17877 -3.74586 0 0.00440912 0.00123577 0.998592 0.0528569 uwb: 0.0 1230.33 1088.19 -imu_odom_: 1691062511.851569966 0.205901 -0.354342 9.96706 -0.0841559 -0.00213053 0.0660464 0.23 0.02 pose: 0.51089132 -1.19155 -3.7398 0 0.0025298 -0.00214626 0.998605 0.0526908 uwb: 0.50003358 1229.99 1089.9 -imu_odom_: 1691062511.874596953 0.397437 -0.110133 10.0173 -0.0479369 0 0.0511327 0.23 0.02 pose: 0.0 -1.19155 -3.7398 0 0.0025298 -0.00214626 0.998605 0.0526908 uwb: 0.0 1229.99 1089.9 -imu_odom_: 1691062511.900558710 0.361524 -0.189142 9.99579 -0.0575243 0.0511327 0.052198 0.19 0 pose: 0.41856698 -1.19155 -3.7398 0 0.00114505 -0.00292511 0.998613 0.0525505 uwb: 0.50048270 1230.11 1090.88 -imu_odom_: 1691062511.926550797 0.529119 -0.0095768110.1083 -0.0692422 0.0170442 0.0607201 0.19 0 pose: 0.0 -1.19155 -3.7398 0 0.00114505 -0.00292511 0.998613 0.0525505 uwb: 0.0 1230.11 1090.88 -imu_odom_: 1691062511.951579015 0.658405 -0.196325 10.2663 -0.0628506 0.0127832 0.04048 0.19 0 pose: 0.48017584 -1.20434 -3.73375 0 -0.00103061 -0.0007385040.99864 0.0521298 uwb: 0.50078601 1229.96 1091.98 -imu_odom_: 1691062511.977670259 0.40462 -0.54109 9.95748 -0.0639159 0.0319579 0.0543285 0.21 0.02 pose: 0.52025879 -1.21375 -3.73712 0 -0.0002668220.00242327 0.998659 0.0517225 uwb: 0.0 1229.96 1091.98 -imu_odom_: 1691062511.993535453 -0.320823 -0.275333 9.69173 -0.0426106 0.0298274 0.0298274 0.21 0.02 pose: 0.0 -1.21375 -3.73712 0 -0.0002668220.00242327 0.998659 0.0517225 uwb: 0.49961945 1229.76 1093.3 -imu_odom_: 1691062512.19540085 -0.059855 -0.500388 9.33499 -0.0681769 0.0149137 0.0511327 0.23 0.02 pose: 0.26166196 -1.22316 -3.74051 0 0.00110807 0.00121902 0.998664 0.0516483 uwb: 0.0 1229.76 1093.3 -imu_odom_: 1691062512.35551395 0.593762 -0.0430956 10.2568 -0.0490022 -0.0170442 0.0340885 0.23 0.02 pose: 0.40826626 -1.22655 -3.7311 0 -0.00196215 -0.0009147510.998668 0.0515496 uwb: 0.49889043 1229.87 1094.28 -imu_odom_: 1691062512.61546114 0.826 0.0311246 10.0461 -0.0639159 -0.00106526 0.0543285 0.23 0.02 pose: 0.0 -1.22655 -3.7311 0 -0.00196215 -0.0009147510.998668 0.0515496 uwb: 0.0 1229.87 1094.28 -imu_odom_: 1691062512.86569090 0.553061 -0.0766145 9.76595 -0.0543285 0.0138484 0.0468716 0.23 0 pose: 0.41975406 -1.23599 -3.73439 0 -0.00179249 -0.0006725310.998675 0.0514315 uwb: 0.49996373 1230.29 1094.69 -imu_odom_: 1691062512.112532896 0.586579 -0.11971 10.0509 -0.0756338 0.0191748 0.0500674 0.22 0 pose: 0.44004344 -1.2454 -3.73777 0 0.00159576 0.00169576 0.998686 0.0511996 uwb: 0.0 1230.29 1094.69 -imu_odom_: 1691062512.128533415 0.641646 -0.282516 9.59357 -0.0490022 0.0138484 0.0276969 0.22 0 pose: 0.0 -1.2454 -3.73777 0 0.00159576 0.00169576 0.998686 0.0511996 uwb: 0.50166690 1230.41 1095.68 -imu_odom_: 1691062512.154537175 0.308852 -0.174777 9.84735 -0.0287621 -0.00745685 0.0490022 0.22 0 pose: 0.7981595 -1.2454 -3.73777 0 0.00225731 0.00187065 0.998686 0.0511568 uwb: 0.0 1230.41 1095.68 -imu_odom_: 1691062512.170539444 0.490811 -0.294487 9.84017 -0.0447411 -0.015979 0.0351537 0.22 0 pose: 0.0 -1.2454 -3.73777 0 0.00225731 0.00187065 0.998686 0.0511568 uwb: 0.0 1230.41 1095.68 -imu_odom_: 1691062512.196551078 0.198719 -0.555455 9.65342 -0.0617853 0.00639159 0.0713727 0.23 -0.02 pose: 0.41054409 -1.2582 -3.73176 0 0.00419829 0.00152303 0.998683 0.0511157 uwb: 0.49833638 1231.17 1096 -imu_odom_: 1691062512.221538182 0.0454898 -0.0023942 10.2927 -0.0223706 -0.0191748 0.0319579 0.23 -0.02 pose: 0.0 -1.2582 -3.73176 0 0.00419829 0.00152303 0.998683 0.0511157 uwb: 0.0 1231.17 1096 -imu_odom_: 1691062512.237520328 0.68953 -0.258574 9.6199 -0.0500674 -0.0319579 0.0500674 0.21 0 pose: 0.42057357 -1.2582 -3.73176 0 0.00243604 -6.77605e-050.998698 0.0509457 uwb: 0.50106030 1231.01 1097.12 -imu_odom_: 1691062512.264574866 0.409408 -0.158017 9.80665 -0.0181095 0.0426106 0.0383495 0.21 0 pose: 0.0 -1.2582 -3.73176 0 0.00243604 -6.77605e-050.998698 0.0509457 uwb: 0.0 1231.01 1097.12 -imu_odom_: 1691062512.290632579 0.244209 -0.40462 9.56484 -0.0788296 0.00106526 0.0628506 0.25 -0.02 pose: 0.50881791 -1.271 -3.72575 0 8.72407e-05 0.000130155 0.998714 0.0506984 uwb: 0.50130819 1230.38 1099.46 -imu_odom_: 1691062512.306504777 0.158017 -0.0430956 9.98622 -0.0394148 -0.036219 0.0415453 0.25 -0.02 pose: 0.0 -1.271 -3.72575 0 8.72407e-05 0.000130155 0.998714 0.0506984 uwb: 0.0 1230.38 1099.46 -imu_odom_: 1691062512.323502412 1.09654 -0.11971 10.3406 -0.072438 -0.0511327 0.0916127 0.22 0.05 pose: 0.43158298 -1.2804 -3.72915 0 -0.0005030690.00247535 0.998716 0.0505886 uwb: 0.0 1230.38 1099.46 -imu_odom_: 1691062512.339681415 1.37427 -0.31364 9.52413 -0.0681769 0.00106526 0.136354 0.22 0.05 pose: 0.0 -1.2804 -3.72915 0 -0.0005030690.00247535 0.998716 0.0505886 uwb: 0.50058492 1230.15 1101.51 -imu_odom_: 1691062512.356679925 1.33596 -0.349553 9.8258 -0.0468716 0.00213053 0.20027 0.22 0.05 pose: 0.0 -1.2804 -3.72915 0 -0.0005030690.00247535 0.998716 0.0505886 uwb: 0.0 1230.15 1101.51 -imu_odom_: 1691062512.372686277 1.6927 -0.186748 9.83299 -0.0703074 0.0213053 0.319579 0.13 0.29 pose: 0.41933410 -1.28981 -3.73255 0 -0.00172373 0.00178309 0.998738 0.0501693 uwb: 0.0 1230.15 1101.51 -imu_odom_: 1691062512.388531061 1.26893 -0.54109 10.1466 -0.0671117 0.0394148 0.395213 0.13 0.29 pose: 0.0 -1.28981 -3.73255 0 -0.00172373 0.00178309 0.998738 0.0501693 uwb: 0.49663320 1229.96 1102.86 -imu_odom_: 1691062512.405503906 1.08697 -0.548272 10.137 -0.036219 0.0511327 0.407996 0.13 0.29 pose: 0.0 -1.28981 -3.73255 0 -0.00172373 0.00178309 0.998738 0.0501693 uwb: 0.0 1229.96 1102.86 -imu_odom_: 1691062512.421501218 1.08218 -0.0407014 9.75158 -0.036219 0.0266316 0.426106 0.14 0.53 pose: 0.50048577 -1.29317 -3.72313 0 0.00325358 0.000938088 0.9989 0.0467794 uwb: 0.0 1229.96 1102.86 -imu_odom_: 1691062512.438520434 0.984017 -0.0766145 10.1227 -0.0639159 0.0170442 0.486826 0.1 0.41 pose: 0.0 -1.29317 -3.72313 0 0.00325358 0.000938088 0.9989 0.0467794 uwb: 0.49865718 1230.27 1103.73 -imu_odom_: 1691062512.454498789 0.328006 -0.457293 9.90242 -0.0713727 0.0543285 0.543285 0.1 0.41 pose: 0.65823366 -1.30262 -3.72642 0 0.00805991 3.46401e-05 0.999365 0.0346965 uwb: 0.0 1230.27 1103.73 -imu_odom_: 1691062512.470496975 0.636858 -0.497994 10.1634 -0.0468716 0.0223706 0.573112 0.08 0.47 pose: 0.0 -1.30262 -3.72642 0 0.00805991 3.46401e-05 0.999365 0.0346965 uwb: 0.0 1230.27 1103.73 -imu_odom_: 1691062512.486509159 0.445322 -0.294487 9.70849 -0.0479369 -0.02024 0.621049 0.08 0.47 pose: 0.0 -1.30262 -3.72642 0 0.00805991 3.46401e-05 0.999365 0.0346965 uwb: 0.50064909 1230.34 1104.73 -imu_odom_: 1691062512.503553457 0.866701 -0.275333 10.2137 -0.0596548 0.00106526 0.622114 0.08 0.47 pose: 0.32015037 -1.30262 -3.72642 0 0.00731262 -0.00168542 0.999613 0.0267761 uwb: 0.0 1230.34 1104.73 -imu_odom_: 1691062512.520556050 0.6608 -0.105345 10.1035 -0.0372843 0.00532632 0.591222 0.1 0.67 pose: 0.42030527 -1.31206 -3.72967 0 0.0076846 -0.00309731 0.999857 0.0147562 uwb: 0.0 1230.34 1104.73 -imu_odom_: 1691062512.536554819 0.725443 -0.134075 10.0628 -0.0532632 0.00745685 0.590156 0.1 0.67 pose: 0.7014518 -1.31206 -3.72971 0 0.00802078 -0.00245525 0.999883 0.0128271 uwb: 0.50113612 1230.46 1105.27 -imu_odom_: 1691062512.552544840 0.778116 -0.3304 9.94791 -0.0596548 0.00106526 0.597613 0.1 0.67 pose: 0.0 -1.31206 -3.72971 0 0.00802078 -0.00245525 0.999883 0.0128271 uwb: 0.0 1230.46 1105.27 -imu_odom_: 1691062512.569606636 0.581791 -0.399832 9.64863 -0.0681769 0 0.607201 0.06 0.55 pose: 0.41976865 -1.31206 -3.72967 0 0.0110516 -0.00151597 0.999937 0.00121825 uwb: 0.0 1230.46 1105.27 -imu_odom_: 1691062512.585492249 0.622492 -0.131681 9.73243 -0.0543285 -0.00213053 0.588026 0.08 0.73 pose: 0.0 -1.31206 -3.72967 0 0.0110516 -0.00151597 0.999937 0.00121825 uwb: 0.50005122 1230.44 1106.72 -imu_odom_: 1691062512.602563085 0.4956 0.0454898 10.0245 -0.0447411 0.0127832 0.54222 0.08 0.73 pose: 0.0 -1.31206 -3.72967 0 0.0110516 -0.00151597 0.999937 0.00121825 uwb: 0.0 1230.44 1106.72 -imu_odom_: 1691062512.619559846 0.553061 0.011971 10.161 -0.056459 0.00532632 0.50387 0.06 0.5 pose: 0.23949450 -1.31206 -3.72971 0 0.0107134 -0.00268296 0.999924 -0.00552258 uwb: 0.0 1230.44 1106.72 -imu_odom_: 1691062512.635490080 0.612916 -0.124498 9.80426 -0.0500674 -0.00319579 0.453803 0.06 0.5 pose: 0.0 -1.31206 -3.72971 0 0.0107134 -0.00268296 0.999924 -0.00552258 uwb: 0.49920546 1230.45 1107.7 -imu_odom_: 1691062512.651486224 0.596156 -0.141258 9.94312 -0.0500674 -0.00639159 0.397344 0.06 0.5 pose: 0.33074272 -1.31206 -3.72971 0 0.00978048 0.000475523 0.999856 -0.013874 uwb: 0.0 1230.45 1107.7 -imu_odom_: 1691062512.668556478 0.830788 -0.035913 9.81623 -0.052198 0.00426106 0.358994 0.04 0.32 pose: 0.0 -1.31206 -3.72971 0 0.00978048 0.000475523 0.999856 -0.013874 uwb: 0.0 1230.45 1107.7 -imu_odom_: 1691062512.685543906 0.711078 -0.126893 9.92157 -0.0596548 0.00532632 0.336624 0.04 0.32 pose: 0.0 -1.31206 -3.72971 0 0.00978048 0.000475523 0.999856 -0.013874 uwb: 0.49989665 1230.18 1109.05 -imu_odom_: 1691062512.701482889 0.560243 -0.0694318 9.87848 -0.0596548 0.015979 0.304666 0.04 0.32 pose: 0.49925796 -1.32147 -3.7331 0 0.0103128 0.00479045 0.999657 -0.0235918 uwb: 0.0 1230.18 1109.05 -imu_odom_: 1691062512.718535352 0.316035 -0.129287 9.77792 -0.056459 0.02024 0.282295 0.04 0.35 pose: 0.41988531 -1.32485 -3.72366 0 0.0111934 0.00567233 0.999481 -0.0296658 uwb: 0.0 1230.18 1109.05 -imu_odom_: 1691062512.735539695 0.318429 -0.217872 9.95748 -0.0543285 -0.00106526 0.286556 0.03 0.26 pose: 0.0 -1.32485 -3.72366 0 0.0111934 0.00567233 0.999481 -0.0296658 uwb: 0.50069575 1230.32 1109.86 -imu_odom_: 1691062512.751534090 0.471658 -0.263362 9.89524 -0.0479369 -0.0149137 0.282295 0.03 0.26 pose: 0.0 -1.32485 -3.72366 0 0.0111934 0.00567233 0.999481 -0.0296658 uwb: 0.0 1230.32 1109.86 -imu_odom_: 1691062512.768528517 0.651223 -0.126893 9.83299 -0.0490022 -0.015979 0.265251 0.03 0.23 pose: 0.25056223 -1.32486 -3.72369 0 0.00855306 0.00516517 0.999415 -0.0327149 uwb: 0.0 1230.32 1109.86 -imu_odom_: 1691062512.784524953 0.64404 -0.0143652 9.87369 -0.0511327 0.00106526 0.247141 0.03 0.23 pose: 0.0 -1.32486 -3.72369 0 0.00855306 0.00516517 0.999415 -0.0327149 uwb: 0.50048868 1231.15 1109.76 -imu_odom_: 1691062512.801671908 0.507571 -0.0933739 9.90242 -0.0553937 0.00852212 0.230097 0.03 0.23 pose: 0.32938659 -1.32486 -3.72369 0 0.00782608 0.00369228 0.99929 -0.0366686 uwb: 0.0 1231.15 1109.76 -imu_odom_: 1691062512.818479103 0.493206 -0.215478 9.98143 -0.0532632 -0.00426106 0.219444 0.02 0.2 pose: 0.42194137 -1.32485 -3.72366 0 0.00762734 0.0057781 0.999115 -0.0409594 uwb: 0.0 1231.15 1109.76 -imu_odom_: 1691062512.834753471 0.581791 -0.268151 9.90242 -0.0532632 -0.0117179 0.223706 0.02 0.2 pose: 0.7955930 -1.32486 -3.72369 0 0.00725127 0.00508222 0.999092 -0.0416778 uwb: 0.50013288 1231.91 1108.88 -imu_odom_: 1691062512.852575864 0.629675 -0.215478 9.91918 -0.0543285 -0.00213053 0.232228 0.01 0.2 pose: 0.0 -1.32486 -3.72369 0 0.00725127 0.00508222 0.999092 -0.0416778 uwb: 0.0 1231.91 1108.88 -imu_odom_: 1691062512.876515398 0.471658 -0.150835 9.93354 -0.0543285 0.00426106 0.233293 0.01 0.17 pose: 0.42948026 -1.32485 -3.72366 0 0.00898955 0.00190076 0.998912 -0.0457119 uwb: 0.0 1231.91 1108.88 -imu_odom_: 1691062512.893504867 0.275333 -0.100556 10.0149 -0.0575243 0.0394148 0.210922 0.01 0.17 pose: 0.0 -1.32485 -3.72366 0 0.00898955 0.00190076 0.998912 -0.0457119 uwb: 0.49888758 1232.33 1109.32 -imu_odom_: 1691062512.909447350 -1.01514 -0.0790087 9.70849 -0.0628506 0.108657 0.18216 0.01 0.17 pose: 0.30893974 -1.32486 -3.72369 0 0.00574752 0.00263528 0.998798 -0.0486121 uwb: 0.0 1232.33 1109.32 -imu_odom_: 1691062512.925444953 -1.64721 -0.0407014 10.0461 -0.0585895 0.0213053 0.168312 0.01 0.17 pose: 0.0 -1.32486 -3.72369 0 0.00574752 0.00263528 0.998798 -0.0486121 uwb: 0.0 1232.33 1109.32 -imu_odom_: 1691062512.942573243 -0.730232 -0.328006 9.79707 -0.0585895 -0.076699 0.155529 0.06 0.17 pose: 0.0 -1.32486 -3.72369 0 0.00574752 0.00263528 0.998798 -0.0486121 uwb: 0.50094072 1232.73 1109.51 -imu_odom_: 1691062512.959574961 0.181959 -0.215478 9.66779 -0.0426106 -0.0788296 0.14168 0.06 0.17 pose: 0.32989697 -1.32486 -3.72369 0 0.00127472 0.00271638 0.998692 -0.0510497 uwb: 0.0 1232.73 1109.51 -imu_odom_: 1691062512.975439284 0.526724 -0.181959 10.082 -0.0490022 -0.0213053 0.145941 0.08 0.11 pose: 0.43115426 -1.33428 -3.72703 0 -0.00180431 0.00205434 0.998566 -0.0534715 uwb: 0.0 1232.73 1109.51 -imu_odom_: 1691062512.991570750 0.342371 -0.138864 9.68933 -0.0639159 0.0191748 0.13955 0.08 0.11 pose: 0.0 -1.33428 -3.72703 0 -0.00180431 0.00205434 0.998566 -0.0534715 uwb: 0.50116528 1232.57 1109.69 -imu_odom_: 1691062513.9569294 -0.172383 -0.158017 9.94791 -0.0660464 0.0351537 0.12144 0.08 0.11 pose: 0.0 -1.33428 -3.72703 0 -0.00180431 0.00205434 0.998566 -0.0534715 uwb: 0.0 1232.57 1109.69 -imu_odom_: 1691062513.26571309 -0.19393 -0.167594 9.95748 -0.0553937 -0.00426106 0.118244 0.14 0.11 pose: 0.7885937 -1.33428 -3.72703 0 -0.0009488840.00207514 0.998544 -0.0538917 uwb: 0.0 1232.57 1109.69 -imu_odom_: 1691062513.43442377 0.107739 -0.0790087 9.73004 -0.0532632 -0.0298274 0.125701 0.1 0.05 pose: 0.0 -1.33428 -3.72703 0 -0.0009488840.00207514 0.998544 -0.0538917 uwb: 0.49620457 1232.42 1109.62 -imu_odom_: 1691062513.59447275 0.349553 -0.251391 9.91678 -0.056459 -0.0127832 0.129962 0.1 0.05 pose: 0.67008015 -1.33428 -3.72703 0 -0.00618729 0.00271286 0.99836 -0.0568516 uwb: 0.0 1232.42 1109.62 -imu_odom_: 1691062513.75439633 0.390255 -0.411803 10.2448 -0.0447411 -0.0319579 0.128897 0.1 0.05 pose: 0.0 -1.33428 -3.72703 0 -0.00618729 0.00271286 0.99836 -0.0568516 uwb: 0.0 1232.42 1109.62 -imu_odom_: 1691062513.92605257 0.0047884 -0.237026 9.7444 -0.0543285 0.0426106 0.109722 0.11 0.05 pose: 0.0 -1.33428 -3.72703 0 -0.00618729 0.00271286 0.99836 -0.0568516 uwb: 0.49999595 1232.25 1110.03 -imu_odom_: 1691062513.108507499 0.011971 -0.059855 10.1083 -0.0607201 0.0394148 0.112918 0.11 0.05 pose: 0.31979466 -1.3437 -3.73039 0 -0.00540365 0.00123697 0.998286 -0.0582624 uwb: 0.0 1232.25 1110.03 -imu_odom_: 1691062513.125433395 0.260968 -0.0263362 10.3118 -0.0607201 -0.0490022 0.109722 0.12 0.08 pose: 0.42059120 -1.3437 -3.73039 0 -0.00874645 0.000812539 0.998169 -0.0598434 uwb: 0.0 1232.25 1110.03 -imu_odom_: 1691062513.141448209 0.826 -0.282516 9.90002 -0.0596548 -0.0415453 0.118244 0.12 0.08 pose: 0.0 -1.3437 -3.73039 0 -0.00874645 0.000812539 0.998169 -0.0598434 uwb: 0.50053840 1232.49 1110.14 -imu_odom_: 1691062513.157552265 0.677559 -0.31364 9.93115 -0.0585895 -0.052198 0.110787 0.12 0.08 pose: 0.0 -1.3437 -3.73039 0 -0.00874645 0.000812539 0.998169 -0.0598434 uwb: 0.0 1232.49 1110.14 -imu_odom_: 1691062513.174437915 1.22104 -0.110133 10.1682 -0.0575243 -0.0788296 0.128897 0.15 0.02 pose: 0.7953016 -1.3437 -3.73039 0 -0.00844576 0.00159118 0.998154 -0.0601289 uwb: 0.0 1232.49 1110.14 -imu_odom_: 1691062513.190464103 1.03669 -0.251391 9.6223 -0.0639159 -0.00958738 0.188552 0.1 0.02 pose: 0.0 -1.3437 -3.73039 0 -0.00844576 0.00159118 0.998154 -0.0601289 uwb: 0.49930476 1232.29 1110.55 -imu_odom_: 1691062513.206429922 0.924162 -0.385466 9.79947 -0.0479369 -0.0415453 0.217314 0.1 0.02 pose: 0.64988420 -1.3531 -3.7338 0 -0.00126573 0.0019189 0.998015 -0.0629326 uwb: 0.0 1232.29 1110.55 -imu_odom_: 1691062513.223488514 1.29287 -0.248997 9.8665 -0.0479369 -0.0330232 0.183225 0.08 0.02 pose: 0.0 -1.3531 -3.7338 0 -0.00126573 0.0019189 0.998015 -0.0629326 uwb: 0.0 1232.29 1110.55 -imu_odom_: 1691062513.239488455 1.47004 0.162806 10.1131 -0.0553937 0.0436758 0.131028 0.08 0.02 pose: 0.0 -1.3531 -3.7338 0 -0.00126573 0.0019189 0.998015 -0.0629326 uwb: 0.0 1232.29 1110.55 -imu_odom_: 1691062513.255426276 0.584185 0.0837971 9.62469 -0.0628506 0.0490022 0.092678 0.08 0.02 pose: 0.32994956 -1.3531 -3.7338 0 0.00239829 0.00145785 0.997842 -0.0655977 uwb: 0.0 1232.29 1110.55 -imu_odom_: 1691062513.271485711 0.610521 -0.011971 10.0054 -0.0575243 0.00958738 0.0287621 0.08 0.05 pose: 0.40982385 -1.36592 -3.72783 0 0.0045282 0.0035471 0.99771 -0.0673933 uwb: 0.0 1232.29 1110.55 -imu_odom_: 1691062513.288434647 0.708684 -0.294487 9.87129 -0.0532632 -0.0468716 0.0223706 0.08 0.05 pose: 0.7061765 -1.36592 -3.72783 0 0.00488923 0.00411277 0.997709 -0.0673539 uwb: 0.100110305 1232.3 1110.8 -imu_odom_: 1691062513.304416506 0.873884 -0.177171 9.84735 -0.0575243 -0.00319579 0.0468716 0.08 0.05 pose: 0.0 -1.36592 -3.72783 0 0.00488923 0.00411277 0.997709 -0.0673539 uwb: 0.0 1232.3 1110.8 -imu_odom_: 1691062513.320483815 0.991199 -0.342371 9.93115 -0.052198 -0.00106526 0.0958738 0.05 0.02 pose: 0.41928465 -1.36592 -3.72783 0 0.00866021 0.00381513 0.997693 -0.0672317 uwb: 0.0 1232.3 1110.8 -imu_odom_: 1691062513.337430710 0.509965 -0.325611 9.77553 -0.0543285 0.0223706 0.0916127 0.06 0.05 pose: 0.0 -1.36592 -3.72783 0 0.00866021 0.00381513 0.997693 -0.0672317 uwb: 0.0 1232.3 1110.8 -imu_odom_: 1691062513.363430394 0.490811 0.023942 9.89045 -0.0426106 -0.0276969 0.0671117 0.06 0.05 pose: 0.24034324 -1.36592 -3.72783 0 0.00967976 0.0025396 0.997641 -0.0679067 uwb: 0.0 1232.3 1110.8 -imu_odom_: 1691062513.389416663 -0.105345 -0.0981623 9.88805 -0.0617853 0.0969391 0.0149137 0.05 0.08 pose: 0.0 -1.36592 -3.72783 0 0.00967976 0.0025396 0.997641 -0.0679067 uwb: 0.100131011 1232.54 1110.91 -imu_odom_: 1691062513.406442884 -1.47722 0.0742203 9.90242 -0.0543285 0.0607201 0.00213053 0.05 0.08 pose: 0.42038413 -1.36592 -3.72783 0 0.00720871 0.00417646 0.997624 -0.0683944 uwb: 0.0 1232.54 1110.91 -imu_odom_: 1691062513.432435860 -0.612916 -0.701501 9.93354 -0.0639159 -0.0937433 0.0820254 0.11 0.05 pose: 0.35953641 -1.3753 -3.73131 0 0.0021061 0.00409115 0.997686 -0.067835 uwb: 0.49999303 1232.74 1110.27 -imu_odom_: 1691062513.458495623 0.833182 -0.059855 9.88566 -0.0372843 -0.0181095 0.0809601 0.11 0.05 pose: 0.7001395 -1.3753 -3.73131 0 0.00182665 0.00371283 0.997678 -0.0679804 uwb: 0.0 1232.74 1110.27 -imu_odom_: 1691062513.482552111 -0.100556 0.011971 9.63906 -0.0628506 0.036219 0.0948085 0.13 0 pose: 0.45051344 -1.3753 -3.73131 0 0.0037105 0.00375143 0.997608 -0.0689176 uwb: 0.49864274 1232.68 1111.48 -imu_odom_: 1691062513.498552927 -0.100556 -0.354342 9.96227 -0.0458064 0.0170442 0.0255663 0.13 0 pose: 0.0 -1.3753 -3.73131 0 0.0037105 0.00375143 0.997608 -0.0689176 uwb: 0.0 1232.68 1111.48 -imu_odom_: 1691062513.525476234 0.00957681 -0.258574 9.76355 -0.0607201 0.0447411 0.0639159 0.12 0.02 pose: 0.40057304 -1.3803 -3.73312 0 -0.0007327490.00345312 0.997579 -0.0694553 uwb: 0.0 1232.68 1111.48 -imu_odom_: 1691062513.551407091 0.399832 -0.356736 9.78271 -0.0511327 -0.00106526 0.0735032 0.13 0.02 pose: 0.0 -1.3803 -3.73312 0 -0.0007327490.00345312 0.997579 -0.0694553 uwb: 0.49996971 1232.08 1112.19 -imu_odom_: 1691062513.577460146 0.533907 0.023942 10.4579 -0.0607201 -0.0426106 0.0671117 0.16 0.02 pose: 0.52854164 -1.3847 -3.73471 0 -0.00291888 8.33955e-05 0.997528 -0.070207 uwb: 0.0 1232.08 1112.19 -imu_odom_: 1691062513.603401794 -0.155623 -0.035913 9.38048 -0.0639159 0.0223706 0.0692422 0.13 0 pose: 0.0 -1.3847 -3.73471 0 -0.00291888 8.33955e-05 0.997528 -0.070207 uwb: 0.50013593 1232.17 1112.23 -imu_odom_: 1691062513.620413433 0.0383072 -0.275333 10.2328 -0.0745685 -0.0127832 0.0777643 0.13 0 pose: 0.34024153 -1.3941 -3.73814 0 -0.00179377 0.00227717 0.997494 -0.0706878 uwb: 0.0 1232.17 1112.23 -imu_odom_: 1691062513.645433499 0.483629 -0.110133 10.0269 -0.0681769 0.0308927 0.0394148 0.14 0.02 pose: 0.34982189 -1.3941 -3.73814 0 -0.00524196 0.00160082 0.997442 -0.0712676 uwb: 0.50059381 1232.73 1112.26 -imu_odom_: 1691062513.671464097 0.416591 -0.275333 9.81623 -0.0798948 -0.00426106 0.0756338 0.14 0.02 pose: 0.7039309 -1.3941 -3.73814 0 -0.0047183 0.00183202 0.997444 -0.0712702 uwb: 0.0 1232.73 1112.26 -imu_odom_: 1691062513.696506620 -0.0047884 -0.174777 9.9503 -0.0553937 -0.0713727 0.0447411 0.16 0.02 pose: 0.44011355 -1.40349 -3.74158 0 -0.00175142 5.25356e-05 0.997422 -0.0717431 uwb: 0.49891980 1233.09 1112.18 -imu_odom_: 1691062513.713438641 0.3304 -0.035913 9.5816 -0.0596548 -0.0575243 0.0511327 0.16 0.02 pose: 0.0 -1.40349 -3.74158 0 -0.00175142 5.25356e-05 0.997422 -0.0717431 uwb: 0.0 1233.09 1112.18 -imu_odom_: 1691062513.729375296 0.847547 -0.138864 10.0844 -0.0607201 -0.0500674 0.0639159 0.16 0.02 pose: 0.0 -1.40349 -3.74158 0 -0.00175142 5.25356e-05 0.997422 -0.0717431 uwb: 0.49953808 1233.99 1111.61 -imu_odom_: 1691062513.746463344 0.502782 -0.37589 9.56484 -0.0490022 0.00639159 0.0319579 0.15 0 pose: 0.48927819 -1.41632 -3.73564 0 -0.00232115 0.00194532 0.9974 -0.0719961 uwb: 0.0 1233.99 1111.61 -imu_odom_: 1691062513.772517857 0.447716 -0.0167594 9.97424 -0.0585895 -0.0117179 0.0585895 0.15 0 pose: 0.0 -1.41632 -3.73564 0 -0.00232115 0.00194532 0.9974 -0.0719961 uwb: 0.0 1233.99 1111.61 -imu_odom_: 1691062513.798497710 0.727837 -0.25618 10.1658 -0.0649811 -0.0735032 0.0543285 0.15 0 pose: 0.33066991 -1.41632 -3.73564 0 -0.0001796810.00138447 0.997396 -0.0721091 uwb: 0.50010094 1233.81 1112.02 -imu_odom_: 1691062513.824501769 0.136469 -0.167594 9.90721 -0.0543285 -0.0255663 0.0532632 0.16 0 pose: 0.45038803 -1.42571 -3.73909 0 0.00369052 0.00252047 0.997359 -0.0724864 uwb: 0.0 1233.81 1112.02 -imu_odom_: 1691062513.840488877 0.37589 -0.299275 9.52174 -0.0575243 -0.04048 0.0628506 0.16 0 pose: 0.0 -1.42571 -3.73909 0 0.00369052 0.00252047 0.997359 -0.0724864 uwb: 0.50190036 1233.59 1112.92 -imu_odom_: 1691062513.866379780 0.0215478 -0.213084 9.68455 -0.0287621 0.0298274 0.02024 0.16 0 pose: 0.6964065 -1.42571 -3.73909 0 0.00306833 0.00248494 0.997358 -0.0725324 uwb: 0.0 1233.59 1112.92 -imu_odom_: 1691062513.891364849 0.378284 -0.440533 9.84017 -0.0681769 0.0245011 0.0628506 0.16 0 pose: 0.0 -1.42571 -3.73909 0 0.00306833 0.00248494 0.997358 -0.0725324 uwb: 0.49757534 1233.75 1113.5 -imu_odom_: 1691062513.915368843 0.215478 -0.339977 9.34457 -0.04048 0.00106526 0.0298274 0.18 -0.02 pose: 0.42950662 -1.43509 -3.74256 0 0.000190582 0.000894191 0.997349 -0.0727669 uwb: 0.0 1233.75 1113.5 -imu_odom_: 1691062513.940362370 0.225055 -0.426168 10.003 -0.0585895 0.0117179 0.0703074 0.18 -0.02 pose: 0.0 -1.43509 -3.74256 0 0.000190582 0.000894191 0.997349 -0.0727669 uwb: 0.50072504 1233.5 1114.89 -imu_odom_: 1691062513.955346238 -0.25618 -0.246603 9.33978 -0.0415453 0.00213053 0.0308927 0.22 0 pose: 0.48962233 -1.43509 -3.74256 0 -0.00247241 -0.00206513 0.997338 -0.0728493 uwb: 0.0 1233.5 1114.89 -imu_odom_: 1691062513.981345630 -0.617704 -0.213084 10.2089 -0.036219 0.0170442 0.0511327 0.22 0 pose: 0.0 -1.43509 -3.74256 0 -0.00247241 -0.00206513 0.997338 -0.0728493 uwb: 0.50079505 1233.89 1114.84 -imu_odom_: 1691062514.7355232 0.464475 0.00957681 11.0373 -0.0319579 0.00319579 0.0287621 0.2 0 pose: 0.48983230 -1.44447 -3.74603 0 -0.00592257 -0.0052391 0.997292 -0.0731141 uwb: 0.0 1233.89 1114.84 -imu_odom_: 1691062514.32402136 0.395043 -0.162806 10.1993 -0.0681769 -0.0138484 0.0575243 0.2 0 pose: 0.0 -1.44447 -3.74603 0 -0.00592257 -0.0052391 0.997292 -0.0731141 uwb: 0.50028183 1233.97 1115.64 -imu_odom_: 1691062514.58405036 0.61531 -0.272939 9.80426 -0.0617853 -0.0106526 0.0351537 0.2 0 pose: 0.43012782 -1.45732 -3.74012 0 -0.00929551 -0.00410387 0.997266 -0.0731982 uwb: 0.0 1233.97 1115.64 -imu_odom_: 1691062514.74343153 0.730232 -0.0454898 9.69173 -0.0500674 -0.015979 0.0479369 0.2 0 pose: 0.0 -1.45732 -3.74012 0 -0.00929551 -0.00410387 0.997266 -0.0731982 uwb: 0.0 1233.97 1115.64 -imu_odom_: 1691062514.100410213 0.426168 -0.205901 10.1849 -0.056459 -0.0149137 0.0319579 0.22 0 pose: 0.51001971 -1.46669 -3.7436 0 -0.00522171 -0.00132449 0.997294 -0.0733231 uwb: 0.49954404 1234.44 1116.12 -imu_odom_: 1691062514.126344286 0.790087 -0.308852 9.91439 -0.0692422 -0.0287621 0.0628506 0.18 -0.02 pose: 0.41028767 -1.47607 -3.74707 0 -0.00119102 -0.0003734260.997308 -0.0733222 uwb: 0.0 1234.44 1116.12 -imu_odom_: 1691062514.152555416 0.847547 -0.323217 9.65582 -0.0394148 0.0607201 0.0213053 0.22 0.02 pose: 0.27043471 -1.47607 -3.74707 0 0.00158008 0.000100847 0.997305 -0.0733436 uwb: 0.49816168 1234.77 1117.31 -imu_odom_: 1691062514.177469041 0.4956 -0.0885855 9.96467 -0.0532632 0.00106526 0.0617853 0.2 0 pose: 0.24943664 -1.48545 -3.75055 0 0.00402819 -0.00042412 0.997288 -0.0734875 uwb: 0.0 1234.77 1117.31 -imu_odom_: 1691062514.194513640 0.610521 -0.248997 9.85693 -0.0703074 0.015979 0.0372843 0.2 0 pose: 0.0 -1.48545 -3.75055 0 0.00402819 -0.00042412 0.997288 -0.0734875 uwb: 0.50239628 1235.43 1118.15 -imu_odom_: 1691062514.219353188 0.691924 -0.423774 9.35893 -0.0660464 0.0170442 0.0617853 0.2 0 pose: 0.26138803 -1.48545 -3.75055 0 0.00516336 3.91085e-05 0.99729 -0.0733868 uwb: 0.0 1235.43 1118.15 -imu_odom_: 1691062514.245617106 0.445322 -0.45011 9.58878 -0.0479369 0.0426106 0.0394148 0.18 0 pose: 0.0 -1.48545 -3.75055 0 0.00516336 3.91085e-05 0.99729 -0.0733868 uwb: 0.49900743 1234.9 1119.68 -imu_odom_: 1691062514.271610090 0.553061 -0.335188 9.58878 -0.0852212 -0.00106526 0.0543285 0.18 0 pose: 0.86089748 -1.50413 -3.74977 0 0.0060557 -0.00341046 0.997244 -0.0738665 uwb: 0.0 1234.9 1119.68 -imu_odom_: 1691062514.288610651 -0.0861913 -0.158017 9.90002 -0.0681769 0.0490022 0.0351537 0.18 0 pose: 0.0 -1.50413 -3.74977 0 0.0060557 -0.00341046 0.997244 -0.0738665 uwb: 0.49970737 1234.65 1121.11 -imu_odom_: 1691062514.304339079 0.0191536 -0.280122 9.84256 -0.0660464 -0.00319579 0.0372843 0.18 0 pose: 0.0 -1.50413 -3.74977 0 0.0060557 -0.00341046 0.997244 -0.0738665 uwb: 0.0 1234.65 1121.11 -imu_odom_: 1691062514.330329147 0.897826 -0.332794 9.64624 -0.0745685 -0.00532632 0.0308927 0.18 0 pose: 0.6894074 -1.50768 -3.74814 0 0.00653488 -0.00400646 0.997235 -0.0739175 uwb: 0.49862247 1234.66 1122.41 -imu_odom_: 1691062514.356396207 0.263362 -0.433351 10.2424 -0.0639159 0.0117179 0.0490022 0.17 0 pose: 0.42986546 -1.51705 -3.75163 0 0.0050613 -0.00548054 0.997229 -0.0740212 uwb: 0.0 1234.66 1122.41 -imu_odom_: 1691062514.382328238 0.76375 -0.440533 9.54089 -0.04048 -0.0394148 0.0276969 0.17 0 pose: 0.0 -1.51705 -3.75163 0 0.0050613 -0.00548054 0.997229 -0.0740212 uwb: 0.49998442 1234.92 1123.6 -imu_odom_: 1691062514.408383341 0.591368 -0.0526724 10.7045 -0.0490022 -0.00213053 0.0340885 0.18 0 pose: 0.41866648 -1.51705 -3.75163 0 0.00610913 -0.00592482 0.997228 -0.0739246 uwb: 0.0 1234.92 1123.6 -imu_odom_: 1691062514.424377454 0.268151 -0.191536 9.60793 -0.0426106 0.0543285 0.0298274 0.18 0 pose: 0.0 -1.51705 -3.75163 0 0.00610913 -0.00592482 0.997228 -0.0739246 uwb: 0.0 1234.92 1123.6 -imu_odom_: 1691062514.449321409 0.514753 -0.208296 9.63427 -0.0607201 0.0372843 0.0415453 0.18 -0.02 pose: 0.51971970 -1.52642 -3.75512 0 0.00722691 -0.0064388 0.997223 -0.073838 uwb: 0.50119473 1235.76 1123.77 -imu_odom_: 1691062514.475314685 0.59855 -0.198719 10.3693 -0.0479369 -0.0415453 0.0351537 0.18 -0.02 pose: 0.0 -1.52642 -3.75512 0 0.00722691 -0.0064388 0.997223 -0.073838 uwb: 0.0 1235.76 1123.77 -imu_odom_: 1691062514.500444123 0.593762 -0.430956 9.8689 -0.0809601 -0.00426106 0.0596548 0.18 -0.02 pose: 0.43003752 -1.53579 -3.75861 0 0.00527515 -0.00311628 0.997262 -0.0736994 uwb: 0.49883245 1236.15 1124.24 -imu_odom_: 1691062514.526325700 0.715866 -0.136469 10.1825 -0.04048 -0.0383495 0.0255663 0.18 -0.02 pose: 0.50996726 -1.54517 -3.7621 0 0.00793841 -0.0007754280.997247 -0.0737225 uwb: 0.0 1236.15 1124.24 -imu_odom_: 1691062514.551374938 0.512359 -0.11971 10.4244 -0.0745685 -0.0255663 0.0511327 0.21 0 pose: 0.0 -1.54517 -3.7621 0 0.00793841 -0.0007754280.997247 -0.0737225 uwb: 0.49985027 1237.2 1124.27 -imu_odom_: 1691062514.568322712 0.258574 -0.007182619.3709 -0.0426106 -0.00426106 0.0298274 0.21 0 pose: 0.68038116 -1.55803 -3.75621 0 0.00903954 0.00104331 0.997229 -0.0738301 uwb: 0.0 1237.2 1124.27 -imu_odom_: 1691062514.593306331 0.263362 -0.160412 9.46667 -0.0841559 0.0287621 0.0543285 0.21 -0.02 pose: 0.8000556 -1.55803 -3.75621 0 0.00833221 0.00147544 0.997238 -0.0737879 uwb: 0.50134929 1237.72 1124.81 -imu_odom_: 1691062514.610311266 0.646434 -0.117316 10.7978 -0.0479369 -0.0149137 0.0415453 0.21 -0.02 pose: 0.0 -1.55803 -3.75621 0 0.00833221 0.00147544 0.997238 -0.0737879 uwb: 0.0 1237.72 1124.81 -imu_odom_: 1691062514.635379752 0.529119 -0.294487 10.24 -0.0490022 -0.0213053 0.0553937 0.22 0 pose: 0.42220699 -1.5674 -3.7597 0 0.00541642 0.00208663 0.997247 -0.0739252 uwb: 0.49985902 1237.66 1125.83 -imu_odom_: 1691062514.652360482 0.397437 -0.289698 9.8258 -0.0426106 -0.0276969 0.0458064 0.22 0 pose: 0.0 -1.5674 -3.7597 0 0.00541642 0.00208663 0.997247 -0.0739252 uwb: 0.0 1237.66 1125.83 -imu_odom_: 1691062514.677437717 0.59855 -0.241814 9.57681 -0.0671117 -0.0287621 0.0607201 0.21 0.02 pose: 0.41721704 -1.57677 -3.76319 0 0.00595187 -0.0002036430.997228 -0.0741741 uwb: 0.0 1237.66 1125.83 -imu_odom_: 1691062514.704501310 1.08697 -0.153229 9.69412 -0.0351537 -0.0117179 0.0458064 0.23 0.02 pose: 0.34119820 -1.58316 -3.76557 0 0.00810863 -0.0007649060.99719 -0.0744669 uwb: 0.50054437 1238.05 1126.57 -imu_odom_: 1691062514.729503885 0.59855 -0.1652 10.0772 -0.0639159 -0.0319579 0.0585895 0.23 0.02 pose: 0.0 -1.58316 -3.76557 0 0.00810863 -0.0007649060.99719 -0.0744669 uwb: 0.49976278 1237.86 1127.81 -imu_odom_: 1691062514.746288925 0.562637 -0.0550666 9.55287 -0.0511327 -0.00319579 0.0468716 0.23 -0.02 pose: 0.7894982 -1.58614 -3.76668 0 0.00890014 -0.0004967030.997182 -0.0744895 uwb: 0.0 1237.86 1127.81 -imu_odom_: 1691062514.772269660 0.35913 -0.428562 9.83777 -0.105461 0.0276969 0.0809601 0.23 -0.02 pose: 0.0 -1.58614 -3.76668 0 0.00890014 -0.0004967030.997182 -0.0744895 uwb: 0.0 1237.86 1127.81 -imu_odom_: 1691062514.798273726 0.459687 -0.263362 10.3597 -0.0649811 0.02024 0.0436758 0.25 0.02 pose: 0.52046337 -1.59551 -3.77018 0 0.0099662 0.00314833 0.997146 -0.0747759 uwb: 0.49835708 1238.92 1127.84 -imu_odom_: 1691062514.824406989 0.653617 -0.0981623 10.477 -0.0649811 -0.0340885 0.0436758 0.25 0.02 pose: 0.0 -1.59551 -3.77018 0 0.0099662 0.00314833 0.997146 -0.0747759 uwb: 0.0 1238.92 1127.84 -imu_odom_: 1691062514.850271359 1.01275 -0.280122 9.6199 -0.0628506 -0.04048 0.0532632 0.23 0.05 pose: 0.41900771 -1.59901 -3.76082 0 0.00709761 0.000778371 0.997131 -0.0753629 uwb: 0.49999317 1239.89 1127.82 -imu_odom_: 1691062514.867271921 -0.0407014 -0.275333 9.47386 -0.0426106 0.00532632 0.0372843 0.23 0.05 pose: 0.0 -1.59901 -3.76082 0 0.00709761 0.000778371 0.997131 -0.0753629 uwb: 0.0 1239.89 1127.82 -imu_odom_: 1691062514.884282106 0.610521 0.105345 10.2639 -0.0500674 -0.0490022 0.0468716 0.2 0 pose: 0.52030005 -1.60837 -3.76433 0 0.00828937 0.0013312 0.997111 -0.0754972 uwb: 0.50124722 1239.93 1129.46 -imu_odom_: 1691062514.900385583 0.675165 -0.19393 9.85932 -0.072438 0.0106526 0.0596548 0.2 0 pose: 0.0 -1.60837 -3.76433 0 0.00828937 0.0013312 0.997111 -0.0754972 uwb: 0.0 1239.93 1129.46 -imu_odom_: 1691062514.926273576 0.447716 -0.169988 9.75877 -0.0500674 -0.0181095 0.0458064 0.25 0.02 pose: 0.69075771 -1.62709 -3.77137 0 0.0106522 0.00233487 0.997062 -0.0758244 uwb: 0.0 1239.93 1129.46 -imu_odom_: 1691062514.952314681 0.397437 -0.411803 9.83777 -0.0585895 0.00745685 0.0490022 0.25 0.02 pose: 0.0 -1.62709 -3.77137 0 0.0106522 0.00233487 0.997062 -0.0758244 uwb: 0.49856122 1239.45 1130.82 -imu_odom_: 1691062514.969254289 0.354342 -0.0215478 10.0078 -0.0276969 -0.0340885 0.0287621 0.21 0.02 pose: 0.7954185 -1.62709 -3.77137 0 0.00990916 0.00237364 0.997067 -0.0758478 uwb: 0.0 1239.45 1130.82 -imu_odom_: 1691062514.985250735 0.469264 -0.179565 10.0149 -0.0703074 -0.0191748 0.052198 0.18 0 pose: 0.0 -1.62709 -3.77137 0 0.00990916 0.00237364 0.997067 -0.0758478 uwb: 0.49986486 1239.34 1131.57 -imu_odom_: 1691062515.2303791 0.663194 -0.198719 10.3645 -0.0490022 -0.0223706 0.0468716 0.25 0 pose: 0.0 -1.62709 -3.77137 0 0.00990916 0.00237364 0.997067 -0.0758478 uwb: 0.0 1239.34 1131.57 -imu_odom_: 1691062515.19343728 0.517148 0.011971 9.37809 -0.0479369 -0.0106526 0.052198 0.25 0 pose: 0.76910967 -1.63645 -3.7749 0 0.0042691 0.00175271 0.997094 -0.0760376 uwb: 0.0 1239.34 1131.57 -imu_odom_: 1691062515.44264359 0.0670376 -0.435745 9.41161 -0.0617853 0.0575243 0.052198 0.18 0 pose: 0.0 -1.63645 -3.7749 0 0.0042691 0.00175271 0.997094 -0.0760376 uwb: 0.50062901 1239.91 1131.89 -imu_odom_: 1691062515.61391788 0.373495 -0.11971 10.2687 -0.0276969 -0.0340885 0.0308927 0.18 0 pose: 0.41098767 -1.64934 -3.76907 0 0.00525085 0.00313027 0.99707 -0.0762439 uwb: 0.0 1239.91 1131.89 -imu_odom_: 1691062515.77386780 0.282516 -0.337582 9.45231 -0.0426106 -0.0255663 0.0468716 0.18 0 pose: 0.0 -1.64934 -3.76907 0 0.00525085 0.00313027 0.99707 -0.0762439 uwb: 0.0 1239.91 1131.89 -imu_odom_: 1691062515.95330801 0.639252 -0.0454898 10.3238 -0.0479369 -0.015979 0.0383495 0.18 0 pose: 0.35042286 -1.65869 -3.7726 0 0.00196019 0.00300858 0.99708 -0.0762807 uwb: 0.49947128 1239.61 1133.91 -imu_odom_: 1691062515.112267206 0.28491 -0.059855 10.173 -0.0245011 0.0340885 0.0447411 0.18 0 pose: 0.0 -1.65869 -3.7726 0 0.00196019 0.00300858 0.99708 -0.0762807 uwb: 0.0 1239.61 1133.91 -imu_odom_: 1691062515.126371204 0.25618 -0.0790087 10.4746 -0.0447411 0.0138484 0.0671117 0.18 0.02 pose: 0.6999650 -1.65869 -3.7726 0 0.00159924 0.0025081 0.99708 -0.076306 uwb: 0.0 1239.61 1133.91 -imu_odom_: 1691062515.143311109 0.663194 -0.251391 9.56484 -0.0596548 -0.0181095 0.0436758 0.18 0.02 pose: 0.0 -1.65869 -3.7726 0 0.00159924 0.0025081 0.99708 -0.076306 uwb: 0.50175482 1240.44 1133.82 -imu_odom_: 1691062515.157238373 0.19393 -0.205901 9.64863 -0.0756338 -0.02024 0.0553937 0.18 0.02 pose: 0.0 -1.65869 -3.7726 0 0.00159924 0.0025081 0.99708 -0.076306 uwb: 0.0 1240.44 1133.82 -imu_odom_: 1691062515.172280285 0.684742 -0.282516 10.2544 -0.0745685 -0.0213053 0.0553937 0.18 0 pose: 0.49884425 -1.66805 -3.77614 0 0.000151578 0.00412731 0.997065 -0.0764473 uwb: 0.0 1240.44 1133.82 -imu_odom_: 1691062515.199292266 0.818817 0.0885855 9.87608 -0.0447411 -0.0340885 0.0447411 0.25 0.02 pose: 0.0 -1.66805 -3.77614 0 0.000151578 0.00412731 0.997065 -0.0764473 uwb: 0.49825805 1240.23 1134.53 -imu_odom_: 1691062515.215248761 0.270545 -0.217872 9.71806 -0.0490022 0.00532632 0.0703074 0.25 0.02 pose: 0.62026270 -1.6774 -3.77968 0 0.00210104 0.00304548 0.997036 -0.0768448 uwb: 0.0 1240.23 1134.53 -imu_odom_: 1691062515.242398396 0.682347 -0.167594 10.1993 -0.0330232 -0.036219 0.0298274 0.25 -0.02 pose: 0.0 -1.6774 -3.77968 0 0.00210104 0.00304548 0.997036 -0.0768448 uwb: 0.50034328 1240.82 1135.41 -imu_odom_: 1691062515.268308853 0.459687 -0.107739 9.9096 -0.0596548 -0.0266316 0.0532632 0.18 -0.02 pose: 0.43111088 -1.68675 -3.78322 0 0.00328797 0.00378335 0.997011 -0.0770993 uwb: 0.0 1240.82 1135.41 -imu_odom_: 1691062515.295368371 0.318429 -0.0502782 9.91918 -0.0415453 -0.0213053 0.0426106 0.25 -0.02 pose: 0.26884242 -1.68675 -3.78322 0 0.0048744 0.00434344 0.997005 -0.0770615 uwb: 0.50018579 1241.52 1135.81 -imu_odom_: 1691062515.321224000 0.842759 -0.0885855 9.72285 -0.052198 -0.00852212 0.0500674 0.2 -0.02 pose: 0.25022705 -1.69965 -3.77742 0 0.0028972 0.00547899 0.996998 -0.0771788 uwb: 0.0 1241.52 1135.81 -imu_odom_: 1691062515.338228357 0.383072 -0.186748 10.1825 -0.0607201 0 0.0447411 0.2 -0.02 pose: 0.0 -1.69965 -3.77742 0 0.0028972 0.00547899 0.996998 -0.0771788 uwb: 0.49813557 1242.41 1135.75 -imu_odom_: 1691062515.364281426 0.754174 -0.373495 10.2376 -0.0788296 0.00319579 0.0426106 0.18 0 pose: 0.28050220 -1.69965 -3.77742 0 0.00196583 0.00635581 0.99699 -0.0772431 uwb: 0.0 1242.41 1135.75 -imu_odom_: 1691062515.391218164 0.758962 -0.306458 10.3094 -0.0415453 -0.0117179 0.0426106 0.18 0 pose: 0.0 -1.69965 -3.77742 0 0.00196583 0.00635581 0.99699 -0.0772431 uwb: 0.50028787 1242.66 1135.89 -imu_odom_: 1691062515.417300689 0.54109 0.0742203 9.78989 -0.04048 0.0298274 0.036219 0.19 0 pose: 0.42925896 -1.70899 -3.78097 0 0.00320701 0.00467443 0.996984 -0.0774052 uwb: 0.0 1242.66 1135.89 -imu_odom_: 1691062515.444231594 -0.0167594 -0.270545 9.63187 -0.072438 -0.0287621 0.0575243 0.19 0 pose: 0.52988640 -1.71834 -3.78453 0 0.0068772 0.00321572 0.996965 -0.0774776 uwb: 0.49956751 1242.99 1136.36 -imu_odom_: 1691062515.469218719 0.134075 0.0454898 9.79947 -0.0490022 -0.0298274 0.0415453 0.18 -0.02 pose: 0.0 -1.71834 -3.78453 0 0.0068772 0.00321572 0.996965 -0.0774776 uwb: 0.0 1242.99 1136.36 -imu_odom_: 1691062515.486253115 0.548272 -0.102951 10.7188 -0.0543285 -0.00213053 0.04048 0.18 -0.02 pose: 0.53038219 -1.72769 -3.78809 0 0.00356397 0.00438933 0.996963 -0.0776707 uwb: 0.50340550 1243.09 1137.53 -imu_odom_: 1691062515.511383727 0.426168 0.169988 10.5656 -0.02024 -0.04048 0.0213053 0.23 -0.02 pose: 0.0 -1.72769 -3.78809 0 0.00356397 0.00438933 0.996963 -0.0776707 uwb: 0.0 1243.09 1137.53 -imu_odom_: 1691062515.535229082 0.366313 -0.244209 9.60793 -0.0575243 -0.0298274 0.0447411 0.23 -0.02 pose: 0.23987676 -1.72769 -3.78809 0 0.00291881 0.00524395 0.99696 -0.077684 uwb: 0.0 1243.09 1137.53 -imu_odom_: 1691062515.559275376 0.588974 0.0191536 9.38527 -0.0383495 -0.00319579 0.0330232 0.23 0 pose: 0.18133295 -1.73703 -3.79164 0 0.00377569 0.00633631 0.996956 -0.0776134 uwb: 0.0 1243.09 1137.53 -imu_odom_: 1691062515.575274451 0.361524 -0.155623 9.96227 -0.0830906 0.0117179 0.0628506 0.23 0 pose: 0.0 -1.73703 -3.79164 0 0.00377569 0.00633631 0.996956 -0.0776134 uwb: 0.0 1243.09 1137.53 -imu_odom_: 1691062515.593220513 0.656011 -0.347159 9.70849 -0.0447411 0 0.0298274 0.19 0 pose: 0.23924972 -1.74059 -3.7823 0 0.00329454 0.00765349 0.99696 -0.0774658 uwb: 0.99800056 1242.63 1139.52 -imu_odom_: 1691062515.618216971 0.490811 -0.234632 9.8689 -0.052198 -0.015979 0.0468716 0.19 0 pose: 0.0 -1.74059 -3.7823 0 0.00329454 0.00765349 0.99696 -0.0774658 uwb: 0.0 1242.63 1139.52 -imu_odom_: 1691062515.635210246 0.577003 -0.42138 9.8665 -0.0671117 0.00213053 0.0394148 0.18 0 pose: 0.48882934 -1.74994 -3.78585 0 0.00359637 0.0075575 0.996955 -0.0775226 uwb: 0.0 1242.63 1139.52 -imu_odom_: 1691062515.661244941 0.3304 -0.215478 10.1993 -0.0607201 -0.0181095 0.056459 0.18 0 pose: 0.0 -1.74994 -3.78585 0 0.00359637 0.0075575 0.996955 -0.0775226 uwb: 0.0 1242.63 1139.52 -imu_odom_: 1691062515.688218426 0.447716 -0.306458 10.3645 -0.0372843 -0.0415453 0.0213053 0.18 0.02 pose: 0.32969018 -1.75928 -3.78941 0 0.00412713 0.00496903 0.996966 -0.0775675 uwb: 0.99955791 1242.9 1141.37 -imu_odom_: 1691062515.713281669 0.663194 -0.397437 9.99579 -0.0553937 -0.0106526 0.0671117 0.18 -0.02 pose: 0.43016888 -1.75928 -3.78941 0 0.0042488 0.00134523 0.996966 -0.0777156 uwb: 0.0 1242.9 1141.37 -imu_odom_: 1691062515.730209616 0.189142 0.0023942 9.70609 -0.0298274 0.0394148 0.04048 0.18 -0.02 pose: 0.0 -1.75928 -3.78941 0 0.0042488 0.00134523 0.996966 -0.0777156 uwb: 0.50114821 1243.72 1141.56 -imu_odom_: 1691062515.755206657 0.143652 -0.138864 9.71806 -0.0660464 -0.0181095 0.0671117 0.18 0 pose: 0.52984849 -1.76863 -3.79297 0 0.00375219 -0.00191123 0.996965 -0.0777377 uwb: 0.0 1243.72 1141.56 -imu_odom_: 1691062515.772200224 0.823605 -0.368707 10.1897 -0.0575243 -0.00958738 0.0372843 0.18 0 pose: 0.0 -1.76863 -3.79297 0 0.00375219 -0.00191123 0.996965 -0.0777377 uwb: 0.0 1243.72 1141.56 -imu_odom_: 1691062515.797325294 0.627281 -0.275333 9.79947 -0.0596548 -0.0234358 0.0628506 0.2 0.02 pose: 0.42006939 -1.77797 -3.79653 0 0.00280518 -0.00142941 0.996941 -0.0780892 uwb: 0.50043368 1243.96 1142.27 -imu_odom_: 1691062515.824271365 0.641646 -0.023942 10.1658 -0.0479369 -0.0532632 0.0479369 0.2 0.02 pose: 0.0 -1.77797 -3.79653 0 0.00280518 -0.00142941 0.996941 -0.0780892 uwb: 0.0 1243.96 1142.27 -imu_odom_: 1691062515.849330817 0.761356 -0.035913 10.0413 -0.0916127 0.00426106 0.0692422 0.2 0 pose: 0.41978359 -1.79088 -3.79076 0 0.00385845 -0.00157953 0.996914 -0.0783942 uwb: 0.49839221 1244.01 1143.16 -imu_odom_: 1691062515.876192020 0.76375 -0.0287304 9.97664 -0.0756338 -0.015979 0.0447411 0.2 0 pose: 0.0 -1.79088 -3.79076 0 0.00385845 -0.00157953 0.996914 -0.0783942 uwb: 0.0 1244.01 1143.16 -imu_odom_: 1691062515.901243597 0.543484 -0.220267 10.2568 -0.0756338 0.0127832 0.0468716 0.18 0.02 pose: 0.52071432 -1.80022 -3.79433 0 0.00802414 0.00128452 0.996857 -0.0788008 uwb: 0.49982416 1243.81 1144.48 -imu_odom_: 1691062515.918247663 0.308852 -0.189142 9.72285 -0.0394148 -0.0511327 0.036219 0.18 0.02 pose: 0.0 -1.80022 -3.79433 0 0.00802414 0.00128452 0.996857 -0.0788008 uwb: 0.0 1243.81 1144.48 -imu_odom_: 1691062515.935187859 0.23942 -0.225055 10.2017 -0.0628506 -0.0149137 0.0490022 0.18 0.02 pose: 0.51931738 -1.80956 -3.79792 0 0.010554 0.00324324 0.996804 -0.0791249 uwb: 0.50027037 1243.45 1146.28 -imu_odom_: 1691062515.952198924 0.301669 -0.141258 9.6199 -0.0383495 -0.0532632 0.0340885 0.18 0.02 pose: 0.0 -1.80956 -3.79792 0 0.010554 0.00324324 0.996804 -0.0791249 uwb: 0.0 1243.45 1146.28 -imu_odom_: 1691062515.978186082 0.4956 -0.351948 9.52413 -0.0713727 -0.0234358 0.0500674 0.18 0 pose: 0.67987681 -1.81889 -3.8015 0 0.00495332 0.00205717 0.996845 -0.0791938 uwb: 0.50098489 1243.56 1146.92 -imu_odom_: 1691062516.3195664 0.76375 -0.169988 10.228 -0.0340885 -0.0330232 0.0436758 0.18 0 pose: 0.7018898 -1.81889 -3.8015 0 0.00506604 0.0013048 0.996842 -0.0792337 uwb: 0.0 1243.56 1146.92 -imu_odom_: 1691062516.29183996 0.610521 -0.0861913 10.0461 -0.0639159 -0.0276969 0.0500674 0.21 -0.02 pose: 0.43977842 -1.83071 -3.79864 0 0.00806489 0.000402063 0.996811 -0.0793866 uwb: 0.50033168 1245.03 1146.94 -imu_odom_: 1691062516.55440928 0.620098 -0.0407014 9.92875 -0.0500674 -0.0213053 0.0340885 0.21 -0.02 pose: 0.0 -1.83071 -3.79864 0 0.00806489 0.000402063 0.996811 -0.0793866 uwb: 0.0 1245.03 1146.94 -imu_odom_: 1691062516.81311146 0.407014 -0.138864 9.77792 -0.0628506 -0.0138484 0.0479369 0.23 0.02 pose: 0.52245264 -1.84115 -3.79935 0 0.00974144 0.00550317 0.99678 -0.0794056 uwb: 0.49672708 1245.01 1148.39 -imu_odom_: 1691062516.98433039 0.318429 -0.215478 10.3262 -0.0500674 -0.0330232 0.0500674 0.23 0.02 pose: 0.0 -1.84115 -3.79935 0 0.00974144 0.00550317 0.99678 -0.0794056 uwb: 0.0 1245.01 1148.39 -imu_odom_: 1691062516.115383447 0.335188 -0.308852 9.85932 -0.0660464 -0.00426106 0.072438 0.18 -0.02 pose: 0.32837789 -1.85048 -3.80294 0 0.00678758 0.00473619 0.996797 -0.0795391 uwb: 0.0 1245.01 1148.39 -imu_odom_: 1691062516.132195618 0.395043 -0.335188 9.66539 -0.0415453 -0.0426106 0.0308927 0.18 -0.02 pose: 0.0 -1.85048 -3.80294 0 0.00678758 0.00473619 0.996797 -0.0795391 uwb: 0.50167038 1244.95 1149.81 -imu_odom_: 1691062516.158309064 0.124498 -0.512359 9.36612 -0.0511327 -0.00319579 0.0383495 0.19 0 pose: 0.43916901 -1.85048 -3.80294 0 0.00439361 0.00167374 0.9968 -0.0798033 uwb: 0.0 1244.95 1149.81 -imu_odom_: 1691062516.184227986 0.294487 0.0167594 9.58399 -0.00745685 0.00639159 0.0276969 0.19 0 pose: 0.7088894 -1.85048 -3.80294 0 0.00389827 0.00117649 0.996803 -0.0798006 uwb: 0.0 1244.95 1149.81 -imu_odom_: 1691062516.209310192 -0.0167594 -0.0742203 10.1394 -0.0671117 -0.0351537 0.0639159 0.19 0 pose: 0.44943474 -1.85981 -3.80654 0 0.000787326 0.00249561 0.996821 -0.0796364 uwb: 0.0 1244.95 1149.81 -imu_odom_: 1691062516.233152054 0.3304 0.201113 10.3741 -0.0660464 -0.00319579 0.0447411 0.19 0 pose: 0.0 -1.85981 -3.80654 0 0.000787326 0.00249561 0.996821 -0.0796364 uwb: 0.99919947 1245.39 1150.67 -imu_odom_: 1691062516.259292330 0.323217 -0.172383 9.80426 -0.0703074 -0.0213053 0.0426106 0.18 0 pose: 0.32082149 -1.86914 -3.81014 0 -0.00145902 0.00334219 0.996792 -0.0799514 uwb: 0.0 1245.39 1150.67 -imu_odom_: 1691062516.276436388 0.533907 -0.0909797 10.3837 -0.0511327 -0.0330232 0.036219 0.18 0 pose: 0.0 -1.86914 -3.81014 0 -0.00145902 0.00334219 0.996792 -0.0799514 uwb: 0.0 1245.39 1150.67 -imu_odom_: 1691062516.302259943 0.869095 -0.31364 9.87129 -0.0607201 -0.0170442 0.0575243 0.17 0.02 pose: 0.49967848 -1.88207 -3.80441 0 -0.00248531 0.00297817 0.996786 -0.0800134 uwb: 0.0 1245.39 1150.67 -imu_odom_: 1691062516.328434050 0.574608 0.0861913 10.1801 -0.0426106 0.0213053 0.0458064 0.19 0 pose: 0.35981960 -1.8889 -3.80705 0 0.00126848 0.00271003 0.996771 -0.0802379 uwb: 0.0 1245.39 1150.67 -imu_odom_: 1691062516.354149990 0.603339 -0.117316 10.1347 -0.0713727 -0.00532632 0.0415453 0.19 0 pose: 0.6969321 -1.8914 -3.80802 0 0.00147215 0.00337939 0.996767 -0.0802596 uwb: 0.0 1245.39 1150.67 -imu_odom_: 1691062516.380188776 0.268151 -0.47884 9.47386 -0.0617853 0.0266316 0.0628506 0.17 -0.02 pose: 0.44920726 -1.89819 -3.81064 0 0.00463243 0.00516277 0.996742 -0.0803564 uwb: 0.150159020 1245.93 1151.59 -imu_odom_: 1691062516.406342176 0.545878 -0.272939 9.81383 -0.0383495 -0.00745685 0.04048 0.23 0.02 pose: 0.0 -1.89819 -3.81064 0 0.00463243 0.00516277 0.996742 -0.0803564 uwb: 0.0 1245.93 1151.59 -imu_odom_: 1691062516.423292585 0.138864 0.0670376 9.62469 -0.0809601 0.0319579 0.0490022 0.19 0 pose: 0.52192186 -1.90756 -3.81427 0 0.00476441 0.00101878 0.996728 -0.080688 uwb: 0.0 1245.93 1151.59 -imu_odom_: 1691062516.440306279 0.462081 -0.337582 10.5082 -0.0809601 -0.0351537 0.0436758 0.19 0 pose: 0.0 -1.90756 -3.81427 0 0.00476441 0.00101878 0.996728 -0.080688 uwb: 0.49917686 1245.78 1153.88 -imu_odom_: 1691062516.465292828 0.723049 -0.383072 9.94073 -0.0649811 -0.0340885 0.0436758 0.19 0 pose: 0.33964103 -1.91005 -3.81524 0 0.00338566 -0.0002095930.996725 -0.0808004 uwb: 0.0 1245.78 1153.88 -imu_odom_: 1691062516.492139165 0.665588 -0.263362 9.77553 -0.0436758 0.0287621 0.0340885 0.19 0 pose: 0.6878621 -1.91005 -3.81524 0 0.00410118 -0.0005509290.996721 -0.0808151 uwb: 0.49945391 1246.48 1154.32 -imu_odom_: 1691062516.508135327 0.248997 -0.124498 9.8258 -0.052198 0.0276969 0.0447411 0.19 -0.02 pose: 0.25126827 -1.91937 -3.81886 0 0.00656782 -0.00141485 0.996705 -0.080833 uwb: 0.0 1246.48 1154.32 -imu_odom_: 1691062516.535154315 0.0550666 -0.476446 9.9934 -0.052198 0.0138484 0.0308927 0.19 -0.02 pose: 0.0 -1.91937 -3.81886 0 0.00656782 -0.00141485 0.996705 -0.080833 uwb: 0.50116293 1247.36 1154.87 -imu_odom_: 1691062516.560151654 0.656011 -0.500388 9.165 -0.0458064 -0.0266316 0.0458064 0.19 -0.02 pose: 0.27855703 -1.91937 -3.81886 0 0.00732049 -0.00106885 0.996703 -0.0807949 uwb: 0.0 1247.36 1154.87 -imu_odom_: 1691062516.587154602 0.507571 0.220267 10.1658 -0.0276969 -0.036219 0.0234358 0.22 -0.02 pose: 0.43000569 -1.93231 -3.81315 0 0.0044979 -0.00274134 0.996722 -0.0807355 uwb: 0.49861399 1247.73 1155.4 -imu_odom_: 1691062516.604296326 0.586579 -0.248997 9.46667 -0.0553937 0.0213053 0.0479369 0.19 -0.02 pose: 0.0 -1.93231 -3.81315 0 0.0044979 -0.00274134 0.996722 -0.0807355 uwb: 0.0 1247.73 1155.4 -imu_odom_: 1691062516.631263110 0.694318 -0.19393 9.82341 -0.0426106 -0.056459 0.0372843 0.19 -0.02 pose: 0.52006119 -1.94164 -3.81677 0 0.00667789 -0.0008609470.996724 -0.0805955 uwb: 0.50048049 1247.77 1157.24 -imu_odom_: 1691062516.647130659 0.486023 0.126893 9.73482 -0.0532632 0.0266316 0.0596548 0.27 -0.02 pose: 0.0 -1.94164 -3.81677 0 0.00667789 -0.0008609470.996724 -0.0805955 uwb: 0.0 1247.77 1157.24 -imu_odom_: 1691062516.674240639 0.373495 -0.107739 10.252 -0.04048 -0.00106526 0.0245011 0.27 -0.02 pose: 0.15989163 -1.94164 -3.81677 0 0.00827826 -0.0005946660.99671 -0.0806221 uwb: 0.0 1247.77 1157.24 -imu_odom_: 1691062516.690278214 0.203507 -0.351948 9.25359 -0.072438 0.0127832 0.0426106 0.25 -0.02 pose: 0.43159804 -1.95096 -3.82039 0 0.00904489 0.00207247 0.996697 -0.080679 uwb: 0.50125625 1247.85 1159.12 -imu_odom_: 1691062516.717123384 0.433351 -0.296881 9.991 -0.0447411 -0.0287621 0.0276969 0.25 -0.02 pose: 0.0 -1.95096 -3.82039 0 0.00904489 0.00207247 0.996697 -0.080679 uwb: 0.0 1247.85 1159.12 -imu_odom_: 1691062516.742122765 0.816423 -0.162806 10.4866 -0.0703074 -0.00532632 0.0511327 0.25 0 pose: 0.42800503 -1.96028 -3.824 0 0.00531798 0.00122029 0.996739 -0.0805123 uwb: 0.49820861 1247.27 1160.88 -imu_odom_: 1691062516.767291880 0.761356 0.0646434 10.1107 -0.0340885 0.00745685 0.0340885 0.21 0 pose: 0.0 -1.96028 -3.824 0 0.00531798 0.00122029 0.996739 -0.0805123 uwb: 0.0 1247.27 1160.88 -imu_odom_: 1691062516.781103368 0.462081 -0.177171 9.80426 -0.0532632 0.0276969 0.0617853 0.21 0 pose: 0.44999177 -1.96961 -3.82761 0 0.00689345 0.00018045 0.996728 -0.0805402 uwb: 0.50045716 1247.86 1161.58 -imu_odom_: 1691062516.806099832 0.246603 -0.107739 9.69652 -0.0383495 -0.00106526 0.0372843 0.21 0 pose: 0.0 -1.96961 -3.82761 0 0.00689345 0.00018045 0.996728 -0.0805402 uwb: 0.0 1247.86 1161.58 -imu_odom_: 1691062516.833089947 0.610521 -0.361524 10.0437 -0.0671117 -0.0223706 0.0607201 0.17 0.02 pose: 0.7006068 -1.96961 -3.82761 0 0.00722806 0.000840199 0.996727 -0.0805173 uwb: 0.49880064 1248.07 1162.02 -imu_odom_: 1691062516.849083193 0.632069 -0.380678 9.82341 -0.0340885 0.0383495 0.0340885 0.17 0.02 pose: 0.0 -1.96961 -3.82761 0 0.00722806 0.000840199 0.996727 -0.0805173 uwb: 0.0 1248.07 1162.02 -imu_odom_: 1691062516.876105098 0.272939 -0.201113 9.51935 -0.0777643 0.0319579 0.0671117 0.19 0 pose: 0.39151212 -1.98254 -3.8219 0 0.00577239 0.00262113 0.996726 -0.0805995 uwb: 0.0 1248.07 1162.02 -imu_odom_: 1691062516.901101270 0.442927 -0.071826 9.92875 -0.0543285 0.0138484 0.0426106 0.19 0 pose: 0.52884539 -1.99187 -3.82552 0 0.00615244 0.000179933 0.996707 -0.0808531 uwb: 0.50060006 1247.72 1164.27 -imu_odom_: 1691062516.926113192 0.402226 -0.351948 9.8689 -0.1012 0.0298274 0.0681769 0.19 0 pose: 0.0 -1.99187 -3.82552 0 0.00615244 0.000179933 0.996707 -0.0808531 uwb: 0.0 1247.72 1164.27 -imu_odom_: 1691062516.947114188 0.948104 0.035913 10.2687 -0.0660464 -0.0181095 0.04048 0.2 0 pose: 0.43003193 -1.99187 -3.82552 0 0.00304939 0.000177334 0.996692 -0.0812154 uwb: 0.49859357 1247.38 1166.23 -imu_odom_: 1691062516.961098909 0.435745 -0.35913 9.18895 -0.092678 0.0287621 0.0511327 0.2 0 pose: 0.0 -1.99187 -3.82552 0 0.00304939 0.000177334 0.996692 -0.0812154 uwb: 0.0 1247.38 1166.23 -imu_odom_: 1691062516.986106164 -0.143652 -0.332794 9.40442 -0.0436758 0.0383495 0.0308927 0.17 0 pose: 0.47943575 -2.00119 -3.82914 0 0.00213226 -0.0009258820.996663 -0.0815981 uwb: 0.49998762 1247.93 1167.23 -imu_odom_: 1691062517.11154834 0.189142 -0.232238 10.2592 -0.0639159 -0.036219 0.0543285 0.17 0 pose: 0.0 -2.00119 -3.82914 0 0.00213226 -0.0009258820.996663 -0.0815981 uwb: 0.0 1247.93 1167.23 -imu_odom_: 1691062517.32069803 0.818817 -0.143652 9.77553 -0.0500674 0.0596548 0.0276969 0.18 0 pose: 0.79043482 -2.02021 -3.82852 0 -0.00198488 -0.00221399 0.996646 -0.0817741 uwb: 0.50037265 1248.47 1167.91 -imu_odom_: 1691062517.46131521 0.529119 -0.0790087 9.80904 -0.0628506 0.0181095 0.0511327 0.18 0 pose: 0.6018577 -2.02346 -3.82709 0 -0.00160615 -0.00202519 0.996651 -0.0817372 uwb: 0.0 1248.47 1167.91 -imu_odom_: 1691062517.71094453 0.253785 -0.311246 9.62469 -0.0628506 0.0287621 0.0436758 0.17 0 pose: 0.0 -2.02346 -3.82709 0 -0.00160615 -0.00202519 0.996651 -0.0817372 uwb: 0.0 1248.47 1167.91 -imu_odom_: 1691062517.88365671 0.531513 -0.184354 10.1011 -0.0426106 -0.0287621 0.0436758 0.17 0 pose: 0.35903518 -2.03277 -3.83073 0 -0.000674843-0.00091895 0.996653 -0.0817406 uwb: 0.49962029 1248.72 1168.71 -imu_odom_: 1691062517.104097611 0.512359 -0.129287 10.1466 -0.0692422 -0.02024 0.0532632 0.17 0 pose: 0.0 -2.03277 -3.83073 0 -0.000674843-0.00091895 0.996653 -0.0817406 uwb: 0.0 1248.72 1168.71 -imu_odom_: 1691062517.130217189 0.751779 -0.248997 9.97424 -0.0458064 -0.0170442 0.04048 0.23 0 pose: 0.51020682 -2.03766 -3.83263 0 0.0005626 -0.0001618720.996639 -0.0819189 uwb: 0.49978068 1249.48 1169.23 -imu_odom_: 1691062517.156227692 0.280122 -0.201113 10.1347 -0.0490022 -0.00639159 0.0468716 0.23 0 pose: 0.7140516 -2.04209 -3.83436 0 0.00132056 -0.0001293740.996638 -0.0819219 uwb: 0.0 1249.48 1169.23 -imu_odom_: 1691062517.181188583 -0.11971 -0.311246 9.85693 -0.0543285 -0.00319579 0.0575243 0.21 -0.02 pose: 0.44989565 -2.0488 -3.83699 0 0.000754622 9.94443e-05 0.99663 -0.082025 uwb: 0.50193300 1248.95 1171.1 -imu_odom_: 1691062517.204066873 -0.0646434 -0.37589 9.85453 -0.04048 0.0213053 0.0394148 0.18 0 pose: 0.0 -2.0488 -3.83699 0 0.000754622 9.94443e-05 0.99663 -0.082025 uwb: 0.0 1248.95 1171.1 -imu_odom_: 1691062517.220057790 0.675165 0.162806 10.8002 -0.036219 -0.0468716 0.0383495 0.18 0 pose: 0.30911224 -2.0514 -3.838 0 -0.00229664 -0.0007403150.996609 -0.0822475 uwb: 0.0 1248.95 1171.1 -imu_odom_: 1691062517.238118768 0.56982 -0.3304 9.61511 -0.052198 -0.00852212 0.0447411 0.18 0 pose: 0.0 -2.0514 -3.838 0 -0.00229664 -0.0007403150.996609 -0.0822475 uwb: 0.49828165 1249.09 1172.8 -imu_odom_: 1691062517.263067411 0.339977 -0.136469 9.42118 -0.0308927 -0.0191748 0.0340885 0.18 -0.02 pose: 0.50979852 -2.06071 -3.84165 0 -0.00108816 -0.0005936670.996608 -0.0822839 uwb: 0.0 1249.09 1172.8 -imu_odom_: 1691062517.288060966 0.509965 -0.0622492 9.95988 -0.072438 -0.0681769 0.0596548 0.18 -0.02 pose: 0.7977232 -2.06071 -3.84165 0 -0.00144062 0.000196878 0.99661 -0.0822629 uwb: 0.50030273 1248.47 1174.96 -imu_odom_: 1691062517.302061148 0.88346 -0.344765 9.48822 -0.0532632 -0.0149137 0.04048 0.18 0 pose: 0.0 -2.06071 -3.84165 0 -0.00144062 0.000196878 0.99661 -0.0822629 uwb: 0.0 1248.47 1174.96 -imu_odom_: 1691062517.327113905 0.497994 -0.260968 9.87129 -0.0596548 -0.00852212 0.0543285 0.18 0 pose: 0.48006581 -2.07367 -3.83598 0 0.00108807 0.00323222 0.996587 -0.0824786 uwb: 0.0 1248.47 1174.96 -imu_odom_: 1691062517.352066922 0.751779 -0.114922 10.3382 -0.0511327 -0.02024 0.0394148 0.23 0 pose: 0.33011324 -2.08036 -3.83861 0 0.00328984 0.000835573 0.996571 -0.0826765 uwb: 0.50018315 1248.49 1175.95 -imu_odom_: 1691062517.366052231 0.605733 -0.196325 9.96706 -0.0713727 -0.0298274 0.0649811 0.23 0 pose: 0.7021235 -2.08298 -3.83963 0 0.00399561 0.00112102 0.996568 -0.0826754 uwb: 0.0 1248.49 1175.95 -imu_odom_: 1691062517.391059784 0.933739 -0.325611 9.55765 -0.0394148 0.0617853 0.0276969 0.17 0 pose: 0.0 -2.08298 -3.83963 0 0.00399561 0.00112102 0.996568 -0.0826754 uwb: 0.49971653 1247.89 1177.8 -imu_odom_: 1691062517.416062963 0.545878 -0.181959 9.83777 -0.052198 0.0170442 0.0660464 0.17 0 pose: 0.38988196 -2.08298 -3.83963 0 0.00783561 0.00159434 0.996533 -0.0828113 uwb: 0.0 1247.89 1177.8 -imu_odom_: 1691062517.439066366 0.383072 0 10.3382 -0.0191748 -0.036219 0.0308927 0.18 -0.02 pose: 0.0 -2.08298 -3.83963 0 0.00783561 0.00159434 0.996533 -0.0828113 uwb: 0.50118931 1248.53 1177.6 -imu_odom_: 1691062517.464052921 0.624887 -0.143652 10.1586 -0.072438 -0.0394148 0.0703074 0.18 -0.02 pose: 0.48936330 -2.09229 -3.84329 0 0.00618141 0.00303745 0.996526 -0.0830009 uwb: 0.0 1248.53 1177.6 -imu_odom_: 1691062517.481052038 0.814029 -0.435745 9.4164 -0.0532632 -0.0149137 0.0351537 0.23 -0.02 pose: 0.0 -2.09229 -3.84329 0 0.00618141 0.00303745 0.996526 -0.0830009 uwb: 0.49941030 1249.03 1177.96 -imu_odom_: 1691062517.498041531 0.88346 0.148441 9.44752 -0.0671117 -0.0415453 0.0575243 0.23 -0.02 pose: 0.49060569 -2.10159 -3.84695 0 0.00869006 0.00383127 0.996479 -0.0832979 uwb: 0.0 1249.03 1177.96 -imu_odom_: 1691062517.513031248 1.69988 -0.318429 9.97903 -0.0809601 -0.0948085 0.0458064 0.23 -0.02 pose: 0.0 -2.10159 -3.84695 0 0.00869006 0.00383127 0.996479 -0.0832979 uwb: 0.0 1249.03 1177.96 -imu_odom_: 1691062517.529097408 1.29766 -0.342371 9.35654 -0.0553937 -0.0298274 -0.0830906 0.15 -0.17 pose: 0.33986569 -2.1109 -3.85061 0 0.0118689 0.00429753 0.996432 -0.0834461 uwb: 0.50064103 1249.35 1178.52 -imu_odom_: 1691062517.546092151 1.70467 0.114922 10.3406 -0.072438 -0.0415453 -0.166181 0.15 -0.17 pose: 0.0 -2.1109 -3.85061 0 0.0118689 0.00429753 0.996432 -0.0834461 uwb: 0.0 1249.35 1178.52 -imu_odom_: 1691062517.562101441 1.55623 0.169988 9.88326 -0.0713727 -0.0127832 -0.241815 0.12 -0.41 pose: 0.40985347 -2.1197 -3.84337 0 0.0167184 0.00438129 0.996585 -0.0807469 uwb: 0.0 1249.35 1178.52 -imu_odom_: 1691062517.580033223 1.32878 0.0407014 9.81383 -0.0607201 0.0692422 -0.367516 0.12 -0.41 pose: 0.0 -2.1197 -3.84337 0 0.0167184 0.00438129 0.996585 -0.0807469 uwb: 0.49817375 1248.75 1180.73 -imu_odom_: 1691062517.597087752 0.550666 0.124498 9.69412 -0.0596548 0.015979 -0.425041 0.12 -0.41 pose: 0.0 -2.1197 -3.84337 0 0.0167184 0.00438129 0.996585 -0.0807469 uwb: 0.0 1248.75 1180.73 -imu_odom_: 1691062517.611026981 0.52433 -0.225055 9.62708 -0.0884169 0.052198 -0.448476 0.1 -0.44 pose: 0.8004353 -2.12384 -3.84505 0 0.0174707 0.00469377 0.996661 -0.0796195 uwb: 0.0 1248.75 1180.73 -imu_odom_: 1691062517.627085267 0.694318 -0.289698 10.1251 -0.0681769 -0.00745685 -0.46339 0.08 -0.47 pose: 0.0 -2.12384 -3.84505 0 0.0174707 0.00469377 0.996661 -0.0796195 uwb: 0.0 1248.75 1180.73 -imu_odom_: 1691062517.642084900 0.397437 -0.397437 9.65582 -0.0745685 0.00319579 -0.475108 0.08 -0.47 pose: 0.0 -2.12384 -3.84505 0 0.0174707 0.00469377 0.996661 -0.0796195 uwb: 0.50172301 1249.66 1180.72 -imu_odom_: 1691062517.658076983 0.821211 -0.21069 9.73482 -0.0543285 -0.00426106 -0.470847 0.08 -0.47 pose: 0.63998083 -2.12384 -3.84505 0 0.0160921 0.00524696 0.997695 -0.0657189 uwb: 0.0 1249.66 1180.72 -imu_odom_: 1691062517.673078657 0.557849 -0.129287 9.663 -0.0692422 -0.00213053 -0.487891 0.07 -0.47 pose: 0.0 -2.12384 -3.84505 0 0.0160921 0.00524696 0.997695 -0.0657189 uwb: 0.0 1249.66 1180.72 -imu_odom_: 1691062517.689020871 0.699107 -0.0502782 9.88087 -0.0596548 -0.0138484 -0.514523 0.07 -0.47 pose: 0.30933971 -2.12384 -3.84505 0 0.0154343 0.00311453 0.9982 -0.0578692 uwb: 0.50049229 1249.86 1181.2 -imu_odom_: 1691062517.704329350 0.80924 -0.110133 9.8665 -0.0671117 -0.0255663 -0.515588 0.07 -0.53 pose: 0.0 -2.12384 -3.84505 0 0.0154343 0.00311453 0.9982 -0.0578692 uwb: 0.0 1249.86 1181.2 -imu_odom_: 1691062517.720046126 0.672771 -0.0885855 9.98382 -0.0500674 0.00532632 -0.531567 0.07 -0.53 pose: 0.47057877 -2.13311 -3.8488 0 0.0156026 0.00502966 0.998843 -0.0452134 uwb: 0.0 1249.86 1181.2 -imu_odom_: 1691062517.737228976 0.723049 -0.155623 9.92875 -0.0543285 -0.0106526 -0.548611 0.07 -0.53 pose: 0.0 -2.13311 -3.8488 0 0.0156026 0.00502966 0.998843 -0.0452134 uwb: 0.49852663 1250.43 1181.62 -imu_odom_: 1691062517.755289663 0.746991 -0.0670376 9.78031 -0.0607201 0.00639159 -0.525175 0.05 -0.47 pose: 0.41142541 -2.13309 -3.84876 0 0.0157603 0.00463649 0.999307 -0.033403 uwb: 0.0 1250.43 1181.62 -imu_odom_: 1691062517.772353232 0.682347 -0.368707 9.98143 -0.0575243 -0.0298274 -0.486826 0.05 -0.47 pose: 0.0 -2.13309 -3.84876 0 0.0157603 0.00463649 0.999307 -0.033403 uwb: 0.0 1250.43 1181.62 -imu_odom_: 1691062517.786344373 0.816423 -0.40462 9.63427 -0.0745685 -0.0234358 -0.451672 0.05 -0.47 pose: 0.0 -2.13309 -3.84876 0 0.0157603 0.00463649 0.999307 -0.033403 uwb: 0.0 1250.43 1181.62 -imu_odom_: 1691062517.803132051 0.670376 -0.217872 9.91439 -0.0575243 -0.00426106 -0.4048 0.04 -0.38 pose: 0.8122759 -2.13311 -3.8488 0 0.0160648 0.005379 0.999373 -0.0311007 uwb: 0.0 1250.43 1181.62 -imu_odom_: 1691062517.820092672 0.509965 -0.169988 9.83299 -0.0639159 -0.00852212 -0.34195 0.04 -0.38 pose: 0.0 -2.13311 -3.8488 0 0.0160648 0.005379 0.999373 -0.0311007 uwb: 0.0 1250.43 1181.62 -imu_odom_: 1691062517.837097913 0.440533 -0.217872 9.87129 -0.0543285 -0.00958738 -0.325971 0.04 -0.38 pose: 0.64794260 -2.13311 -3.8488 0 0.0150828 0.00218428 0.999766 -0.0153518 uwb: 0.99992301 1250.77 1182.19 -imu_odom_: 1691062517.854008371 0.548272 -0.253785 9.87608 -0.0585895 -0.0181095 -0.3036 0.04 -0.32 pose: 0.0 -2.13311 -3.8488 0 0.0150828 0.00218428 0.999766 -0.0153518 uwb: 0.0 1250.77 1182.19 -imu_odom_: 1691062517.871004864 0.620098 -0.258574 9.84017 -0.0617853 -0.0117179 -0.267381 0.04 -0.32 pose: 0.0 -2.13311 -3.8488 0 0.0150828 0.00218428 0.999766 -0.0153518 uwb: 0.0 1250.77 1182.19 -imu_odom_: 1691062517.889123879 0.593762 -0.361524 9.70131 -0.0543285 -0.00639159 -0.233293 0.04 -0.32 pose: 0.33951572 -2.14239 -3.85253 0 0.0119668 0.00150393 0.999885 -0.00914828 uwb: 0.49936656 1250.44 1183.29 -imu_odom_: 1691062517.905013305 0.560243 -0.23942 10.1586 -0.0553937 -0.015979 -0.213053 0.03 -0.29 pose: 0.45026312 -2.14237 -3.8525 0 0.0109508 -0.00256189 0.999934 -0.00241215 uwb: 0.0 1250.44 1183.29 -imu_odom_: 1691062517.921987633 0.730232 -0.203507 9.74679 -0.0596548 -0.0276969 -0.175769 0.03 -0.29 pose: 0.6995570 -2.14239 -3.85253 0 0.0103512 -0.00227541 0.999943 -0.00152726 uwb: 0.0 1250.44 1183.29 -imu_odom_: 1691062517.939997282 0.632069 -0.248997 10.0628 -0.0543285 -0.00532632 -0.148072 0.03 -0.23 pose: 0.0 -2.14239 -3.85253 0 0.0103512 -0.00227541 0.999943 -0.00152726 uwb: 0.49935490 1250.32 1183.88 -imu_odom_: 1691062517.957003107 0.526724 -0.292093 9.79707 -0.0543285 -0.00532632 -0.134223 0.02 -0.2 pose: 0.43877833 -2.14239 -3.85253 0 0.0119225 -0.00308569 0.999919 0.00310407 uwb: 0.0 1250.32 1183.88 -imu_odom_: 1691062517.971005039 0.675165 -0.208296 9.97903 -0.0532632 -0.00319579 -0.126766 0.03 -0.17 pose: 0.0 -2.14239 -3.85253 0 0.0119225 -0.00308569 0.999919 0.00310407 uwb: 0.0 1250.32 1183.88 -imu_odom_: 1691062517.988012322 0.536301 -0.19393 9.90002 -0.0585895 -0.00852212 -0.116114 0.03 -0.17 pose: 0.0 -2.14239 -3.85253 0 0.0119225 -0.00308569 0.999919 0.00310407 uwb: 0.50046312 1250.98 1184.03 -imu_odom_: 1691062518.3997406 0.653617 -0.153229 9.99819 -0.056459 -0.0213053 -0.108657 0.03 -0.17 pose: 0.23004861 -2.14239 -3.85253 0 0.0106765 -0.00290257 0.999926 0.00507786 uwb: 0.0 1250.98 1184.03 -imu_odom_: 1691062518.29997126 0.768539 -0.287304 9.96946 -0.0607201 -0.0106526 -0.0745685 0.02 -0.14 pose: 0.0 -2.14239 -3.85253 0 0.0106765 -0.00290257 0.999926 0.00507786 uwb: 0.49960286 1250.85 1185.28 -imu_odom_: 1691062518.46996540 0.213084 -0.371101 9.74919 -0.0660464 0.0436758 -0.0916127 0.02 -0.14 pose: 0.32061453 -2.14239 -3.85253 0 0.0103571 -0.0007100740.999917 0.00761254 uwb: 0.0 1250.85 1185.28 -imu_odom_: 1691062518.64046407 -0.54109 -0.215478 10.2999 -0.0308927 0.0990696 -0.203466 0.02 -0.14 pose: 0.41934061 -2.14239 -3.85253 0 0.0124788 -0.00142433 0.999869 0.0102103 uwb: 0.0 1250.85 1185.28 -imu_odom_: 1691062518.79990374 -1.53468 0.399832 9.78989 -0.0436758 0.0308927 -0.197074 0.02 -0.14 pose: 0.0 -2.14239 -3.85253 0 0.0124788 -0.00142433 0.999869 0.0102103 uwb: 0.50105820 1250.93 1186.36 -imu_odom_: 1691062518.98103853 -1.18513 -0.500388 9.6223 -0.0713727 -0.0660464 -0.0894822 0.09 -0.14 pose: 0.42992717 -2.14422 -3.84791 0 0.00690209 -0.00084395 0.999866 0.0148194 uwb: 0.0 1250.93 1186.36 -imu_odom_: 1691062518.115256669 0.37589 -0.562637 10.1347 -0.0596548 -0.110787 -0.0820254 0.09 -0.14 pose: 0.0 -2.14422 -3.84791 0 0.00690209 -0.00084395 0.999866 0.0148194 uwb: 0.0 1250.93 1186.36 -imu_odom_: 1691062518.131987190 0.565032 -0.148441 9.29908 -0.0500674 -0.0319579 -0.0649811 0.09 -0.14 pose: 0.0 -2.14422 -3.84791 0 0.00690209 -0.00084395 0.999866 0.0148194 uwb: 0.50024162 1251.11 1187.17 -imu_odom_: 1691062518.149039390 0.201113 -0.141258 9.81144 -0.056459 0.0490022 -0.0394148 0.09 -0.11 pose: 0.8058018 -2.14608 -3.84324 0 0.00635191 -0.00102254 0.999862 0.0153381 uwb: 0.0 1251.11 1187.17 -imu_odom_: 1691062518.165979017 -0.0885855 0.0407014 10.2663 -0.0426106 0.0308927 -0.0905475 0.1 -0.08 pose: 0.0 -2.14608 -3.84324 0 0.00635191 -0.00102254 0.999862 0.0153381 uwb: 0.0 1251.11 1187.17 -imu_odom_: 1691062518.181032607 -0.0454898 -0.114922 9.66779 -0.0340885 -0.0426106 -0.1012 0.1 -0.08 pose: 0.68940233 -2.15538 -3.84693 0 0.00388516 -0.0003924340.99981 0.0190958 uwb: 0.49832845 1251.36 1187.7 -imu_odom_: 1691062518.197973692 0.459687 -0.292093 9.88566 -0.056459 -0.0340885 -0.0490022 0.1 -0.08 pose: 0.0 -2.15538 -3.84693 0 0.00388516 -0.0003924340.99981 0.0190958 uwb: 0.0 1251.36 1187.7 -imu_odom_: 1691062518.212033372 0.268151 -0.56982 9.96467 -0.04048 -0.0298274 -0.0468716 0.1 -0.05 pose: 0.0 -2.15538 -3.84693 0 0.00388516 -0.0003924340.99981 0.0190958 uwb: 0.0 1251.36 1187.7 -imu_odom_: 1691062518.227973840 0.110133 -0.131681 10.0916 -0.0543285 -0.0372843 -0.0426106 0.1 -0.05 pose: 0.31073384 -2.15538 -3.84693 0 0.00200315 -0.0001570140.999776 0.0210518 uwb: 0.0 1251.36 1187.7 -imu_odom_: 1691062518.244968295 0.122104 -0.114922 10.1227 -0.0426106 -0.0383495 -0.036219 0.12 -0.08 pose: 0.39911831 -2.16468 -3.8506 0 0.000648259 -0.00163935 0.99974 0.0227446 uwb: 0.50125069 1251.5 1188.15 -imu_odom_: 1691062518.262970367 0.778116 -0.409408 9.9096 -0.0553937 -0.056459 -0.0436758 0.12 -0.08 pose: 0.0 -2.16468 -3.8506 0 0.000648259 -0.00163935 0.99974 0.0227446 uwb: 0.0 1251.5 1188.15 -imu_odom_: 1691062518.279968906 0.727837 -0.0574608 9.70609 -0.0490022 -0.0181095 -0.056459 0.12 -0.08 pose: 0.0 -2.16468 -3.8506 0 0.000648259 -0.00163935 0.99974 0.0227446 uwb: 0.50102030 1251.74 1187.99 -imu_odom_: 1691062518.296964527 0.409408 -0.0383072 9.84496 -0.0617853 -0.00106526 -0.0298274 0.13 -0.02 pose: 0.7001697 -2.16468 -3.8506 0 0.000136284 -0.00129593 0.999734 0.0230089 uwb: 0.0 1251.74 1187.99 -imu_odom_: 1691062518.314017894 0.976834 -0.167594 9.91199 -0.0479369 -0.0756338 -0.0234358 0.13 -0.08 pose: 0.0 -2.16468 -3.8506 0 0.000136284 -0.00129593 0.999734 0.0230089 uwb: 0.0 1251.74 1187.99 -imu_odom_: 1691062518.331972137 1.37188 -0.141258 9.67976 -0.0596548 -0.0127832 -0.00639159 0.13 -0.08 pose: 0.68995645 -2.17766 -3.845 0 0.00356878 0.000950174 0.999661 0.0257707 uwb: 0.50091530 1252.45 1187.83 -imu_odom_: 1691062518.346072647 1.24738 -0.213084 10.161 -0.0607201 0.0319579 0.036219 0.13 -0.08 pose: 0.0 -2.17766 -3.845 0 0.00356878 0.000950174 0.999661 0.0257707 uwb: 0.0 1252.45 1187.83 -imu_odom_: 1691062518.362949280 1.5682 -0.47884 10.2783 -0.0543285 -0.0458064 0.0777643 0.1 -0.11 pose: 0.0 -2.17766 -3.845 0 0.00356878 0.000950174 0.999661 0.0257707 uwb: 0.0 1252.45 1187.83 -imu_odom_: 1691062518.380084889 1.43413 -0.100556 9.50019 -0.0383495 -0.0181095 0.0319579 0.1 -0.11 pose: 0.34117233 -2.17766 -3.845 0 0.00730438 0.000978608 0.999621 0.0265067 uwb: 0.49737771 1252.08 1189.26 -imu_odom_: 1691062518.397957181 1.10852 0.100556 9.82341 -0.0511327 0.0266316 -0.00639159 0.1 -0.08 pose: 0.41996474 -2.17764 -3.84496 0 0.0117482 0.000708039 0.999586 0.0262554 uwb: 0.0 1252.08 1189.26 -imu_odom_: 1691062518.414956594 0.608127 -0.169988 9.70609 -0.0660464 0.0223706 -0.0287621 0.1 -0.08 pose: 0.0 -2.17764 -3.84496 0 0.0117482 0.000708039 0.999586 0.0262554 uwb: 0.0 1252.08 1189.26 -imu_odom_: 1691062518.429001401 0.746991 -0.265756 10.1778 -0.0617853 -0.0276969 -0.0532632 0.1 -0.08 pose: 0.0 -2.17764 -3.84496 0 0.0117482 0.000708039 0.999586 0.0262554 uwb: 0.49994997 1252.88 1188.83 -imu_odom_: 1691062518.445940153 0.68953 -0.277727 9.63906 -0.0532632 -0.00532632 -0.0713727 0.06 -0.02 pose: 0.7897616 -2.17766 -3.845 0 0.0123099 0.00112838 0.999574 0.0264405 uwb: 0.0 1252.88 1188.83 -imu_odom_: 1691062518.462942483 0.847547 -0.0837971 9.91678 -0.0639159 0.00426106 -0.0308927 0.06 0 pose: 0.0 -2.17766 -3.845 0 0.0123099 0.00112838 0.999574 0.0264405 uwb: 0.0 1252.88 1188.83 -imu_odom_: 1691062518.479976018 0.483629 -0.368707 9.87848 -0.052198 0.0170442 -0.0330232 0.06 0 pose: 0.64968678 -2.18692 -3.84876 0 0.0137367 -0.0001593080.999483 0.0290752 uwb: 0.49980416 1253.29 1189.14 -imu_odom_: 1691062518.496943351 0.682347 -0.148441 9.97424 -0.0532632 -0.0106526 -0.0372843 0.05 -0.05 pose: 0.0 -2.18692 -3.84876 0 0.0137367 -0.0001593080.999483 0.0290752 uwb: 0.0 1253.29 1189.14 -imu_odom_: 1691062518.514096750 0.78051 -0.222661 9.72525 -0.052198 -0.00745685 -0.0127832 0.05 -0.05 pose: 0.0 -2.18692 -3.84876 0 0.0137367 -0.0001593080.999483 0.0290752 uwb: 0.0 1253.29 1189.14 -imu_odom_: 1691062518.539963482 0.543484 -0.378284 10.0245 -0.0553937 -0.0117179 0.0255663 0.04 0 pose: 0.61145567 -2.18692 -3.84876 0 0.0152717 0.00046724 0.999398 0.0311496 uwb: 0.50012787 1253.35 1189.53 -imu_odom_: 1691062518.564938670 -0.387861 -0.0646434 9.59596 -0.056459 0.0894822 0.0351537 0.04 0 pose: 0.7904031 -2.18692 -3.84876 0 0.0147585 -0.0001072790.999404 0.0311967 uwb: 0.0 1253.35 1189.53 -imu_odom_: 1691062518.581954999 -1.07739 -0.184354 10.2855 -0.0585895 0.0649811 0.0191748 0.06 0.02 pose: 0.0 -2.18692 -3.84876 0 0.0147585 -0.0001072790.999404 0.0311967 uwb: 0.49932003 1252.8 1190.15 -imu_odom_: 1691062518.598935455 -1.07739 -0.220267 9.87608 -0.0511327 -0.0596548 0 0.06 0.02 pose: 0.42937889 -2.18692 -3.84876 0 0.00996748 -0.0009150960.999458 0.0313647 uwb: 0.0 1252.8 1190.15 -imu_odom_: 1691062518.623925517 0.622492 -0.280122 10.5584 -0.0649811 -0.0660464 0.0383495 0.08 -0.02 pose: 0.0 -2.18692 -3.84876 0 0.00996748 -0.0009150960.999458 0.0313647 uwb: 0.0 1252.8 1190.15 -imu_odom_: 1691062518.642063494 0.636858 -0.296881 10.0556 -0.0585895 0.0191748 0.0149137 0.08 -0.02 pose: 0.41062643 -2.19623 -3.85242 0 0.00725212 -0.00118528 0.999465 0.0318756 uwb: 0.49991498 1254.39 1188.58 -imu_odom_: 1691062518.665049988 -0.191536 -0.201113 9.73722 -0.0649811 -0.00213053 0.0213053 0.08 -0.02 pose: 0.0 -2.19623 -3.85242 0 0.00725212 -0.00118528 0.999465 0.0318756 uwb: 0.0 1254.39 1188.58 -imu_odom_: 1691062518.690101586 0.402226 -0.31364 10.0892 -0.0394148 -0.0191748 0 0.1 0 pose: 0.42940222 -2.19989 -3.84311 0 0.00969518 -0.00351623 0.99943 0.032158 uwb: 0.0 1254.39 1188.58 -imu_odom_: 1691062518.712959175 0.464475 0.124498 9.89284 -0.0617853 -0.0468716 0.0372843 0.11 0 pose: 0.41160051 -2.19989 -3.84311 0 0.00580829 -0.00365814 0.999439 0.0327845 uwb: 0.0 1254.39 1188.58 -imu_odom_: 1691062518.738920398 0.174777 -0.294487 10.1179 -0.0703074 0.00532632 0.00426106 0.11 0 pose: 0.0 -2.19989 -3.84311 0 0.00580829 -0.00365814 0.999439 0.0327845 uwb: 0.0 1254.39 1188.58 -imu_odom_: 1691062518.755952183 -0.0622492 0.0215478 10.082 -0.056459 -0.00426106 0.015979 0.15 -0.02 pose: 0.6945410 -2.19989 -3.84311 0 0.00588594 -0.00299385 0.99944 0.032796 uwb: 0.0 1254.39 1188.58 -imu_odom_: 1691062518.780934079 -0.117316 -0.181959 10.0245 -0.0617853 0.00532632 0.036219 0.15 -0.02 pose: 0.0 -2.19989 -3.84311 0 0.00588594 -0.00299385 0.99944 0.032796 uwb: 0.150067235 1254.34 1189.23 -imu_odom_: 1691062518.797984821 0.0047884 -0.402226 9.46428 -0.0660464 0.00745685 0.0266316 0.17 -0.02 pose: 0.48896972 -2.2092 -3.84675 0 0.00273883 -0.00163561 0.999438 0.0333591 uwb: 0.0 1254.34 1189.23 -imu_odom_: 1691062518.821976599 0.890643 -0.110133 10.2424 -0.0543285 -0.0426106 0.0255663 0.17 -0.02 pose: 0.0 -2.2092 -3.84675 0 0.00273883 -0.00163561 0.999438 0.0333591 uwb: 0.0 1254.34 1189.23 -imu_odom_: 1691062518.847914783 -0.124498 -0.1652 10.0844 -0.072438 -0.0170442 0.0553937 0.15 -0.02 pose: 0.42111089 -2.21852 -3.85038 0 -0.00144392 -0.00120791 0.999435 0.0335629 uwb: 0.49972833 1254.07 1190.07 -imu_odom_: 1691062518.871910352 0.373495 -0.208296 9.93833 -0.052198 0.0213053 0.02024 0.15 -0.02 pose: 0.0 -2.21852 -3.85038 0 -0.00144392 -0.00120791 0.999435 0.0335629 uwb: 0.0 1254.07 1190.07 -imu_odom_: 1691062518.896922578 0.696713 -0.179565 9.56962 -0.0735032 0.00106526 0.0372843 0.17 0 pose: 0.41873111 -2.22215 -3.84107 0 -0.00035859 -0.00104627 0.99943 0.0337328 uwb: 0.49943085 1253.67 1191.15 -imu_odom_: 1691062518.910978176 0.912191 -0.366313 10.0604 -0.0649811 0.0245011 0.0319579 0.17 0 pose: 0.0 -2.22215 -3.84107 0 -0.00035859 -0.00104627 0.99943 0.0337328 uwb: 0.0 1253.67 1191.15 -imu_odom_: 1691062518.934906959 0.253785 -0.234632 9.55287 -0.0447411 -0.02024 0.00745685 0.14 0 pose: 0.49995581 -2.23143 -3.84478 0 -0.0006336110.00128948 0.999427 0.0338253 uwb: 0.50118362 1245.93 1201.31 -imu_odom_: 1691062518.961027127 0.545878 -0.505177 9.95748 -0.076699 -0.0745685 0.0447411 0.14 0 pose: 0.0 -2.23143 -3.84478 0 -0.0006336110.00128948 0.999427 0.0338253 uwb: 0.0 1245.93 1201.31 -imu_odom_: 1691062518.985913948 1.06303 -0.0526724 10.0963 -0.0553937 -0.0308927 0.0170442 0.16 0 pose: 0.39054116 -2.23143 -3.84478 0 0.00139385 0.000489921 0.99942 0.0340222 uwb: 0.49870175 1245.7 1202.22 -imu_odom_: 1691062519.11905505 0.754174 -0.368707 10.1873 -0.052198 0.00106526 0.0351537 0.16 0 pose: 0.0 -2.23143 -3.84478 0 0.00139385 0.000489921 0.99942 0.0340222 uwb: 0.0 1245.7 1202.22 -imu_odom_: 1691062519.25902778 0.107739 -0.172383 10.2687 -0.0681769 0.00426106 0.0298274 0.18 0 pose: 0.49941628 -2.24443 -3.83921 0 0.00277475 -0.00212144 0.999405 0.0343016 uwb: 0.0 1245.7 1202.22 -imu_odom_: 1691062519.42888780 0.169988 -0.134075 10.003 -0.0447411 0.0308927 0.0319579 0.18 0 pose: 0.0 -2.24443 -3.83921 0 0.00277475 -0.00212144 0.999405 0.0343016 uwb: 0.0 1245.7 1202.22 -imu_odom_: 1691062519.64021323 0.826 -0.35913 10.0652 -0.072438 -0.0117179 0.0351537 0.16 0 pose: 0.49057961 -2.25372 -3.84291 0 0.00625127 -0.00270356 0.999379 0.0345814 uwb: 0.0 1245.7 1202.22 -imu_odom_: 1691062519.87893826 0.265756 -0.497994 9.58878 -0.0617853 0.0255663 0.0138484 0.16 0 pose: 0.0 -2.25372 -3.84291 0 0.00625127 -0.00270356 0.999379 0.0345814 uwb: 0.100196788 1246.1 1202.18 -imu_odom_: 1691062519.104949239 0.234632 -0.253785 9.99819 -0.0479369 0 0.0319579 0.17 0 pose: 0.69916372 -2.26551 -3.84034 0 0.00350649 -0.00435663 0.999371 0.0350272 uwb: 0.0 1246.1 1202.18 -imu_odom_: 1691062519.129889729 0.19393 -0.289698 10.1778 -0.0276969 0.02024 0.0234358 0.17 0 pose: 0.8090101 -2.26671 -3.83732 0 0.0027006 -0.00415123 0.999373 0.0350553 uwb: 0.49942807 1246.19 1202.62 -imu_odom_: 1691062519.146886230 0.438139 -0.0814029 9.991 -0.04048 0.00106526 0.0468716 0.17 0 pose: 0.0 -2.26671 -3.83732 0 0.0027006 -0.00415123 0.999373 0.0350553 uwb: 0.0 1246.19 1202.62 -imu_odom_: 1691062519.170904262 0.447716 -0.162806 9.72764 -0.052198 0.0234358 0.0383495 0.17 0 pose: 0.41937574 -2.276 -3.84102 0 -0.000768415-0.00262325 0.999375 0.0352496 uwb: 0.0 1246.19 1202.62 -imu_odom_: 1691062519.193925176 0.577003 -0.009576819.95988 -0.0383495 -0.00745685 0.0340885 0.18 0 pose: 0.32982761 -2.276 -3.84102 0 0.00049038 0.000336994 0.999379 0.0352338 uwb: 0.49855607 1246.52 1202.89 -imu_odom_: 1691062519.211946501 0.0742203 -0.28491 9.84256 -0.0479369 -0.0436758 0.0458064 0.18 0 pose: 0.7996775 -2.276 -3.84102 0 0.0010379 0.00100154 0.999377 0.0352558 uwb: 0.0 1246.52 1202.89 -imu_odom_: 1691062519.236046775 0.265756 0.0670376 9.90481 -0.0319579 -0.0213053 0.0276969 0.17 0 pose: 0.0 -2.276 -3.84102 0 0.0010379 0.00100154 0.999377 0.0352558 uwb: 0.50112542 1246.5 1203.61 -imu_odom_: 1691062519.259887198 0.591368 -0.414197 9.79707 -0.072438 0.0127832 0.0553937 0.17 0 pose: 0.33045464 -2.28733 -3.83957 0 0.000686672 0.00182535 0.999377 0.0352447 uwb: 0.0 1246.5 1203.61 -imu_odom_: 1691062519.284878725 0.773327 -0.11971 9.70609 -0.0490022 0.0106526 0.0308927 0.23 0 pose: 0.47940697 -2.29544 -3.83797 0 0.000809258 0.00200566 0.999378 0.0351974 uwb: 0.49868731 1246.56 1204.03 -imu_odom_: 1691062519.298869873 0.993594 -0.153229 9.82341 -0.0639159 0.0127832 0.0458064 0.23 0 pose: 0.0 -2.29544 -3.83797 0 0.000809258 0.00200566 0.999378 0.0351974 uwb: 0.0 1246.56 1204.03 -imu_odom_: 1691062519.322228215 1.10373 -0.227449 9.87848 -0.056459 0.0149137 0.0245011 0.17 0 pose: 0.0 -2.29544 -3.83797 0 0.000809258 0.00200566 0.999378 0.0351974 uwb: 0.0 1246.56 1204.03 -imu_odom_: 1691062519.348014461 0.476446 -0.306458 10.2065 -0.0841559 0.0330232 0.0681769 0.17 0 pose: 0.38982675 -2.29828 -3.8391 0 0.00438748 0.0023214 0.999366 0.0352533 uwb: 0.50006093 1245.83 1205.64 -imu_odom_: 1691062519.360892419 0.306458 -0.124498 10.1155 -0.0798948 -0.0276969 0.056459 0.17 0 pose: 0.0 -2.29828 -3.8391 0 0.00438748 0.0023214 0.999366 0.0352533 uwb: 0.0 1245.83 1205.64 -imu_odom_: 1691062519.384885661 0.768539 -0.143652 9.69173 -0.0575243 0.00213053 0.0394148 0.17 -0.02 pose: 0.55097257 -2.31126 -3.83349 0 0.00447295 -0.0004903480.999377 0.0349931 uwb: 0.50245821 1245.74 1206.69 -imu_odom_: 1691062519.409901103 0.514753 -0.328006 9.90481 -0.0617853 0.00319579 0.0372843 0.22 0 pose: 0.30918531 -2.31743 -3.83595 0 0.00621458 0.000241438 0.99937 0.0349406 uwb: 0.0 1245.74 1206.69 -imu_odom_: 1691062519.432929016 0.517148 -0.0981623 10.0772 -0.0372843 0.0468716 0.0394148 0.22 0 pose: 0.8013983 -2.32055 -3.83719 0 0.00609208 -0.0005791560.99937 0.034945 uwb: 0.49861440 1245.6 1208.07 -imu_odom_: 1691062519.445859177 0.675165 -0.433351 9.98382 -0.0788296 -0.00319579 0.0628506 0.22 0 pose: 0.0 -2.32055 -3.83719 0 0.00609208 -0.0005791560.99937 0.034945 uwb: 0.0 1245.6 1208.07 -imu_odom_: 1691062519.462856845 0.117316 -0.232238 9.49062 -0.0500674 -0.00319579 0.0340885 0.18 0 pose: 0.46039494 -2.32985 -3.84088 0 0.00561398 -0.0003537680.999375 0.0348977 uwb: 0.0 1245.6 1208.07 -imu_odom_: 1691062519.488974103 0.0837971 -0.114922 9.77074 -0.0660464 0.0287621 0.0543285 0.18 0 pose: 0.0 -2.32985 -3.84088 0 0.00561398 -0.0003537680.999375 0.0348977 uwb: 0.49864356 1246.09 1208.48 -imu_odom_: 1691062519.513935008 0.0909797 -0.134075 9.91439 -0.036219 -0.0245011 0.0149137 0.19 -0.02 pose: 0.32961179 -2.33354 -3.83159 0 0.00328085 -0.0006782040.999389 0.034794 uwb: 0.0 1246.09 1208.48 -imu_odom_: 1691062519.536873971 0.349553 -0.4956 9.79947 -0.0937433 -0.0106526 0.0490022 0.18 -0.02 pose: 0.0 -2.33354 -3.83159 0 0.00328085 -0.0006782040.999389 0.034794 uwb: 0.49865523 1247.46 1207.76 -imu_odom_: 1691062519.560998743 0.385466 -0.383072 9.81623 -0.0490022 -0.015979 0.0223706 0.18 -0.02 pose: 0.49099676 -2.34283 -3.83529 0 -0.000870835-0.0001521990.999389 0.0349447 uwb: 0.0 1247.46 1207.76 -imu_odom_: 1691062519.586875398 0.42138 -0.368707 9.6606 -0.0671117 -0.00852212 0.0436758 0.25 0 pose: 0.39998750 -2.34903 -3.83775 0 -0.000990153-0.00436517 0.999374 0.0350806 uwb: 0.50009009 1246.69 1209.36 -imu_odom_: 1691062519.599860679 1.07978 -0.42138 9.62948 -0.0276969 0.00639159 0.0191748 0.25 0 pose: 0.8022440 -2.35213 -3.83898 0 -0.000648165-0.00514662 0.999372 0.0350661 uwb: 0.0 1246.69 1209.36 -imu_odom_: 1691062519.616043504 0.481235 0.0167594 9.74679 -0.0372843 0.00852212 0.0394148 0.25 0 pose: 0.0 -2.35213 -3.83898 0 -0.000648165-0.00514662 0.999372 0.0350661 uwb: 0.0 1246.69 1209.36 -imu_odom_: 1691062519.639860304 0.529119 -0.167594 10.556 -0.0671117 -0.0245011 0.0500674 0.17 0.02 pose: 0.38860769 -2.35582 -3.82969 0 0.00142114 -0.00602945 0.999362 0.0351784 uwb: 0.50121875 1246.4 1210.62 -imu_odom_: 1691062519.664840749 0.445322 -0.25618 9.5792 -0.0862864 -0.0426106 0.0596548 0.17 0.02 pose: 0.0 -2.35582 -3.82969 0 0.00142114 -0.00602945 0.999362 0.0351784 uwb: 0.0 1246.4 1210.62 -imu_odom_: 1691062519.687925823 0.969652 -0.308852 10.5393 -0.0436758 -0.0490022 0.0287621 0.24 0 pose: 0.40038414 -2.36511 -3.83338 0 0.002651 -0.00280828 0.99938 0.0349847 uwb: 0.49873980 1245.72 1212.7 -imu_odom_: 1691062519.712844149 0.756568 0.0191536 9.95748 -0.0873517 0.052198 0.0852212 0.18 0.02 pose: 0.0 -2.36511 -3.83338 0 0.002651 -0.00280828 0.99938 0.0349847 uwb: 0.0 1245.72 1212.7 -imu_odom_: 1691062519.735830357 0.682347 -0.565032 10.082 -0.092678 0.0255663 0.0575243 0.18 0.02 pose: 0.47958487 -2.3744 -3.83708 0 0.00500548 -0.00158322 0.999382 0.0347653 uwb: 0.50020383 1245.06 1215.19 -imu_odom_: 1691062519.753902136 0.318429 -0.296881 9.48822 -0.0383495 0.0266316 0.0191748 0.24 0 pose: 0.0 -2.3744 -3.83708 0 0.00500548 -0.00158322 0.999382 0.0347653 uwb: 0.0 1245.06 1215.19 -imu_odom_: 1691062519.777899170 0.0790087 -0.275333 9.56723 -0.0511327 -0.0308927 0.0585895 0.24 0 pose: 0.47969277 -2.38739 -3.83149 0 0.00538548 -0.00318479 0.999394 0.034252 uwb: 0.50136457 1243.13 1218.11 -imu_odom_: 1691062519.801965905 -0.0957681 -0.306458 9.81623 -0.0713727 -0.0117179 0.0639159 0.23 0 pose: 0.0 -2.38739 -3.83149 0 0.00538548 -0.00318479 0.999394 0.034252 uwb: 0.0 1243.13 1218.11 -imu_odom_: 1691062519.818920994 0.679953 -0.172383 9.94312 -0.0607201 -0.0479369 0.04048 0.23 0 pose: 0.42121017 -2.38739 -3.83149 0 0.00137121 -0.0031747 0.999415 0.034014 uwb: 0.0 1243.13 1218.11 -imu_odom_: 1691062519.842845992 0.916979 -0.28491 9.8258 -0.0617853 -0.0266316 0.0468716 0.18 0.05 pose: 0.0 -2.38739 -3.83149 0 0.00137121 -0.0031747 0.999415 0.034014 uwb: 0.49827901 1242.38 1219.78 -imu_odom_: 1691062519.867856476 0.3304 -0.610521 9.34696 -0.0532632 -0.00213053 0.0426106 0.18 0.05 pose: 0.40976619 -2.39668 -3.8352 0 0.00268295 -0.0029291 0.999421 0.0337836 uwb: 0.0 1242.38 1219.78 -imu_odom_: 1691062519.881855207 0.0766145 -0.0095768110.3789 -0.04048 -0.00958738 0.0383495 0.18 0.05 pose: 0.0 -2.39668 -3.8352 0 0.00268295 -0.0029291 0.999421 0.0337836 uwb: 0.50060630 1243.15 1220.09 -imu_odom_: 1691062519.905842616 0.579397 -0.378284 10.1921 -0.0841559 0.015979 0.0681769 0.18 0.02 pose: 0.47963737 -2.40968 -3.82963 0 0.00278092 -0.00479852 0.999417 0.0336807 uwb: 0.0 1243.15 1220.09 -imu_odom_: 1691062519.931862175 0.940921 -0.186748 10.398 -0.0458064 -0.0234358 0.0468716 0.21 0 pose: 0.30933113 -2.41582 -3.83209 0 0.00401482 -0.00596579 0.999418 0.0333477 uwb: 0.49980720 1244.44 1219.68 -imu_odom_: 1691062519.955016660 0.684742 -0.248997 10.1682 -0.076699 -0.0106526 0.0490022 0.21 0 pose: 0.0 -2.41582 -3.83209 0 0.00401482 -0.00596579 0.999418 0.0333477 uwb: 0.0 1244.44 1219.68 -imu_odom_: 1691062519.970867598 -0.0742203 -0.0909797 9.79228 -0.036219 0.0607201 0.0319579 0.18 0 pose: 0.0 -2.41582 -3.83209 0 0.00401482 -0.00596579 0.999418 0.0333477 uwb: 0.0 1244.44 1219.68 -imu_odom_: 1691062519.995802255 0.304064 -0.217872 10.1801 -0.0905475 0.015979 0.0713727 0.18 0 pose: 0.57139614 -2.42269 -3.82408 0 0.00796676 -0.00414428 0.999408 0.0332072 uwb: 0.50162996 1253.15 1210.91 -imu_odom_: 1691062520.19816208 0.447716 -0.244209 10.2208 -0.0660464 0 0.0490022 0.18 0.02 pose: 0.32820025 -2.43197 -3.8278 0 0.00432529 -0.00347287 0.999445 0.0328416 uwb: 0.0 1253.15 1210.91 -imu_odom_: 1691062520.36859668 0.73502 -0.440533 9.60554 -0.0692422 -0.015979 0.0543285 0.18 0.02 pose: 0.7124771 -2.43197 -3.8278 0 0.003777 -0.00303556 0.99945 0.0328086 uwb: 0.49892068 1252.91 1212.22 -imu_odom_: 1691062520.60856125 0.730232 -0.325611 9.67736 -0.0330232 -0.00958738 0.0213053 0.18 0 pose: 0.0 -2.43197 -3.8278 0 0.003777 -0.00303556 0.99945 0.0328086 uwb: 0.0 1252.91 1212.22 -imu_odom_: 1691062520.83856630 0.25618 -0.608127 9.47386 -0.0511327 -0.00852212 0.0511327 0.18 0 pose: 0.40994129 -2.44124 -3.83154 0 0.00466694 -0.00320773 0.99945 0.0326703 uwb: 0.50002899 1252.97 1213.02 -imu_odom_: 1691062520.109820201 0.37589 -0.148441 9.88805 -0.0330232 -0.0138484 0.0351537 0.25 0.02 pose: 0.39935475 -2.4497 -3.82794 0 0.00491107 -0.00513045 0.999441 0.0326778 uwb: 0.0 1252.97 1213.02 -imu_odom_: 1691062520.123803771 0.442927 -0.114922 9.97424 -0.0468716 -0.0234358 0.0447411 0.25 0.02 pose: 0.8027692 -2.45425 -3.826 0 0.00448183 -0.00439125 0.999446 0.0326958 uwb: 0.0 1252.97 1213.02 -imu_odom_: 1691062520.147919800 0.481235 -0.272939 9.89045 -0.0490022 -0.0372843 0.0394148 0.18 0 pose: 0.0 -2.45425 -3.826 0 0.00448183 -0.00439125 0.999446 0.0326958 uwb: 0.49851245 1252.73 1214.33 -imu_odom_: 1691062520.173938782 0.826 -0.299275 9.80186 -0.0703074 -0.0266316 0.0436758 0.18 0 pose: 0.39927892 -2.45425 -3.826 0 0.00375726 -0.00206082 0.999456 0.0327018 uwb: 0.0 1252.73 1214.33 -imu_odom_: 1691062520.198779829 0.447716 -0.035913 9.89763 -0.0266316 -0.00639159 0.0308927 0.18 0.02 pose: 0.42126568 -2.46353 -3.82974 0 0.00731637 -0.00400755 0.999432 0.0326519 uwb: 0.50141136 1253.32 1214.83 -imu_odom_: 1691062520.216970894 0.481235 -0.718261 9.54089 -0.0575243 -0.00319579 0.0447411 0.18 0.02 pose: 0.8912237 -2.46353 -3.82974 0 0.00702595 -0.00304078 0.999436 0.0326947 uwb: 0.0 1253.32 1214.83 -imu_odom_: 1691062520.232795881 0.268151 -0.225055 10.1323 -0.0351537 0.0138484 0.0351537 0.2 0 pose: 0.0 -2.46353 -3.82974 0 0.00702595 -0.00304078 0.999436 0.0326947 uwb: 0.50074934 1252.95 1216.04 -imu_odom_: 1691062520.259135376 0.766145 -0.0790087 10.1323 -0.056459 0.0117179 0.0596548 0.2 0 pose: 0.42076406 -2.47654 -3.8242 0 0.00542052 -0.00288458 0.999445 0.0327283 uwb: 0.0 1252.95 1216.04 -imu_odom_: 1691062520.283782482 0.280122 -0.275333 10.003 -0.0319579 0.0681769 0.0276969 0.19 0 pose: 0.0 -2.47654 -3.8242 0 0.00542052 -0.00288458 0.999445 0.0327283 uwb: 0.49982483 1253.03 1217.25 -imu_odom_: 1691062520.309907330 0.0814029 -0.272939 9.9503 -0.0372843 -0.00319579 0.0553937 0.19 0 pose: 0.42932954 -2.48582 -3.82794 0 0.00541446 -0.00121893 0.999455 0.0325426 uwb: 0.0 1253.03 1217.25 -imu_odom_: 1691062520.334984605 0.287304 -0.167594 10.0389 -0.0287621 -0.00639159 0.0351537 0.18 -0.02 pose: 0.42046951 -2.48582 -3.82794 0 0.000650849 -0.00113945 0.999473 0.0324228 uwb: 0.50004649 1253.98 1217.3 -imu_odom_: 1691062520.360791857 0.191536 -0.222661 9.95509 -0.0479369 -0.0372843 0.0532632 0.21 0 pose: 0.0 -2.48582 -3.82794 0 0.000650849 -0.00113945 0.999473 0.0324228 uwb: 0.0 1253.98 1217.3 -imu_odom_: 1691062520.385846968 0.442927 0.0622492 10.2951 -0.0479369 -0.0213053 0.0340885 0.21 0 pose: 0.33039639 -2.49883 -3.82241 0 -0.00214979 0.000429988 0.999472 0.0324224 uwb: 0.50122471 1254.35 1217.62 -imu_odom_: 1691062520.411842910 0.493206 -0.368707 10.0844 -0.0553937 -0.0532632 0.04048 0.21 -0.02 pose: 0.0 -2.49883 -3.82241 0 -0.00214979 0.000429988 0.999472 0.0324224 uwb: 0.0 1254.35 1217.62 -imu_odom_: 1691062520.424840736 0.632069 0.0622492 10.0389 -0.0617853 -0.04048 0.0543285 0.21 -0.02 pose: 0.50938189 -2.50811 -3.82615 0 -0.00175025 0.0020684 0.999473 0.0323593 uwb: 0.0 1254.35 1217.62 -imu_odom_: 1691062520.439840381 0.344765 -0.390255 10.0149 -0.0841559 0.0213053 0.0692422 0.21 -0.02 pose: 0.0 -2.50811 -3.82615 0 -0.00175025 0.0020684 0.999473 0.0323593 uwb: 0.49876910 1254.63 1218.24 -imu_odom_: 1691062520.457887375 0.76375 -0.107739 9.7851 -0.0671117 -0.0149137 0.0383495 0.18 0 pose: 0.38884403 -2.50811 -3.82615 0 0.000374888 0.000577395 0.999483 0.0321393 uwb: 0.0 1254.63 1218.24 -imu_odom_: 1691062520.476039360 0.395043 -0.347159 9.87129 -0.0553937 0.0308927 0.0394148 0.18 0 pose: 0.0 -2.50811 -3.82615 0 0.000374888 0.000577395 0.999483 0.0321393 uwb: 0.0 1254.63 1218.24 -imu_odom_: 1691062520.491039004 0.129287 -0.275333 10.1442 -0.0543285 -0.0255663 0.0468716 0.19 -0.05 pose: 0.0 -2.50811 -3.82615 0 0.000374888 0.000577395 0.999483 0.0321393 uwb: 0.50092723 1254.4 1219.59 -imu_odom_: 1691062520.507814739 0.457293 -0.292093 10.094 -0.0255663 0.015979 0.0266316 0.19 -0.05 pose: 0.43269799 -2.52113 -3.82063 0 0.00092682 -0.00151741 0.999485 0.032044 uwb: 0.0 1254.4 1219.59 -imu_odom_: 1691062520.532748819 0.672771 -0.402226 9.90002 -0.0777643 0.0170442 0.0617853 0.18 0 pose: 0.6896418 -2.52113 -3.82063 0 0.00031152 -0.00156647 0.999486 0.0320177 uwb: 0.49757046 1252.37 1222.49 -imu_odom_: 1691062520.555802111 0.964863 -0.0694318 10.0652 -0.0585895 -0.00319579 0.0447411 0.21 -0.02 pose: 0.0 -2.52113 -3.82063 0 0.00031152 -0.00156647 0.999486 0.0320177 uwb: 0.0 1252.37 1222.49 -imu_odom_: 1691062520.581880588 0.418985 -0.356736 9.7851 -0.0798948 0.0330232 0.0511327 0.25 -0.02 pose: 0.72866333 -2.53644 -3.82682 0 0.00474437 -0.00313426 0.999479 0.0317775 uwb: 0.50072017 1252.66 1223.13 -imu_odom_: 1691062520.605795677 0.318429 -0.177171 9.71088 -0.0543285 0.0170442 0.0458064 0.25 -0.02 pose: 0.0 -2.53644 -3.82682 0 0.00474437 -0.00313426 0.999479 0.0317775 uwb: 0.0 1252.66 1223.13 -imu_odom_: 1691062520.631799785 0.435745 -0.227449 9.94551 -0.072438 -0.0106526 0.04048 0.19 0 pose: 0.32966146 -2.54342 -3.81886 0 0.00188224 -0.00478744 0.999488 0.0315932 uwb: 0.49911032 1252.47 1224.54 -imu_odom_: 1691062520.652781265 0.342371 -0.248997 9.83059 -0.056459 -0.0127832 0.0319579 0.2 0 pose: 0.43031528 -2.55037 -3.82168 0 0.00156499 -0.00131556 0.999501 0.0315312 uwb: 0.0 1252.47 1224.54 -imu_odom_: 1691062520.667032560 0.481235 -0.363919 9.72764 -0.0777643 -0.0372843 0.0511327 0.2 0 pose: 0.0 -2.55037 -3.82168 0 0.00156499 -0.00131556 0.999501 0.0315312 uwb: 0.0 1252.47 1224.54 -imu_odom_: 1691062520.692889390 0.59855 -0.220267 10.2185 -0.0245011 -0.0255663 0.0308927 0.18 0 pose: 0.6001375 -2.55269 -3.82262 0 0.000991802 -0.00136437 0.999501 0.0315532 uwb: 0.49985400 1253.06 1224.66 -imu_odom_: 1691062520.717897547 0.663194 -0.282516 10.5536 -0.0585895 -0.0372843 0.0607201 0.18 0 pose: 0.0 -2.55269 -3.82262 0 0.000991802 -0.00136437 0.999501 0.0315532 uwb: 0.0 1253.06 1224.66 -imu_odom_: 1691062520.734909802 0.785298 -0.220267 9.6223 -0.04048 -0.0149137 0.0394148 0.18 0 pose: 0.0 -2.55269 -3.82262 0 0.000991802 -0.00136437 0.999501 0.0315532 uwb: 0.50000274 1253.71 1224.85 -imu_odom_: 1691062520.759801886 0.471658 -0.308852 9.88087 -0.0617853 0.0276969 0.0458064 0.18 0 pose: 0.36993407 -2.56195 -3.82638 0 0.00142005 -0.00253573 0.999498 0.0315627 uwb: 0.0 1253.71 1224.85 -imu_odom_: 1691062520.782744938 0.531513 -0.0047884 9.8282 -0.0383495 0.00319579 0.0447411 0.2 0 pose: 0.51121922 -2.56571 -3.81711 0 0.00708653 -0.00223583 0.99948 0.0313856 uwb: 0.49944570 1254.04 1225.93 -imu_odom_: 1691062520.800847344 0.672771 -0.430956 9.68933 -0.0756338 -0.0298274 0.072438 0.2 0 pose: 0.0 -2.56571 -3.81711 0 0.00708653 -0.00223583 0.99948 0.0313856 uwb: 0.0 1254.04 1225.93 -imu_odom_: 1691062520.816735325 0.519542 -0.373495 10.0293 -0.0617853 0.0223706 0.0394148 0.2 0 pose: 0.0 -2.56571 -3.81711 0 0.00708653 -0.00223583 0.99948 0.0313856 uwb: 0.0 1254.04 1225.93 -imu_odom_: 1691062520.841797435 0.550666 -0.335188 9.78989 -0.0617853 -0.0106526 0.0671117 0.18 0 pose: 0.40834894 -2.57498 -3.82088 0 0.00555252 -0.00269147 0.999491 0.0312838 uwb: 0.0 1254.04 1225.93 -imu_odom_: 1691062520.866854879 0.169988 -0.0622492 9.92636 -0.0287621 0.02024 0.0308927 0.19 0 pose: 0.41013377 -2.588 -3.81537 0 0.0067158 -0.00329487 0.999493 0.0309433 uwb: 0.0 1254.04 1225.93 -imu_odom_: 1691062520.883737062 0.56982 -0.205901 9.75158 -0.0745685 -0.0479369 0.056459 0.19 0 pose: 0.34032675 -2.59432 -3.81794 0 0.00750725 -0.00655473 0.999483 0.0305825 uwb: 0.100174657 1254.12 1226.8 -imu_odom_: 1691062520.908772050 0.61531 -0.462081 9.50019 -0.0436758 0.00852212 0.0319579 0.19 0 pose: 0.0 -2.59432 -3.81794 0 0.00750725 -0.00655473 0.999483 0.0305825 uwb: 0.0 1254.12 1226.8 -imu_odom_: 1691062520.935748488 0.730232 -0.0885855 9.991 -0.0713727 -0.0479369 0.0553937 0.18 0.02 pose: 0.7957115 -2.59727 -3.81915 0 0.00678183 -0.00596146 0.99949 0.0306166 uwb: 0.50068226 1253.32 1228.88 -imu_odom_: 1691062520.950740841 0.670376 -0.181959 9.65342 -0.0415453 -0.0138484 0.0287621 0.18 0.02 pose: 0.0 -2.59727 -3.81915 0 0.00678183 -0.00596146 0.99949 0.0306166 uwb: 0.0 1253.32 1228.88 -imu_odom_: 1691062520.967780802 0.557849 -0.134075 9.93594 -0.0543285 0.0181095 0.0543285 0.2 0 pose: 0.43121937 -2.59727 -3.81915 0 0.0068653 -0.00426476 0.999499 0.0305886 uwb: 0.0 1253.32 1228.88 -imu_odom_: 1691062520.992713424 0.536301 -0.117316 10.1442 -0.0585895 0.0319579 0.0426106 0.2 0 pose: 0.0 -2.59727 -3.81915 0 0.0068653 -0.00426476 0.999499 0.0305886 uwb: 0.49766961 1253.56 1229.5 -imu_odom_: 1691062521.17834158 0.6608 -0.191536 10.1538 -0.0617853 0.00319579 0.0553937 0.18 0.02 pose: 0.48889707 -2.6103 -3.81366 0 0.0101072 -0.00327236 0.999479 0.030489 uwb: 0.0 1253.56 1229.5 -imu_odom_: 1691062521.40715971 1.04627 -0.208296 9.5792 -0.0458064 0.00852212 0.0340885 0.18 0.02 pose: 0.35047000 -2.61956 -3.81744 0 0.00927641 -0.00016989 0.999494 0.0304298 uwb: 0.50065025 1254.46 1229.51 -imu_odom_: 1691062521.53721383 0.893037 -0.136469 9.93115 -0.0649811 0.0149137 0.0575243 0.18 0.02 pose: 0.0 -2.61956 -3.81744 0 0.00927641 -0.00016989 0.999494 0.0304298 uwb: 0.0 1254.46 1229.51 -imu_odom_: 1691062521.80706868 0.550666 -0.21069 10.0987 -0.0745685 0.0191748 0.0500674 0.18 0.02 pose: 0.0 -2.61956 -3.81744 0 0.00927641 -0.00016989 0.999494 0.0304298 uwb: 0.50132400 1254.42 1230.69 -imu_odom_: 1691062521.104909813 0.141258 -0.227449 9.62469 -0.0713727 0.00532632 0.0511327 0.19 0.02 pose: 0.48033165 -2.61956 -3.81744 0 0.0112815 0.000872809 0.999479 0.0302332 uwb: 0.0 1254.42 1230.69 -imu_odom_: 1691062521.122763162 0.308852 -0.186748 9.72525 -0.0394148 0.00639159 0.0351537 0.19 0.02 pose: 0.0 -2.61956 -3.81744 0 0.0112815 0.000872809 0.999479 0.0302332 uwb: 0.0 1254.42 1230.69 -imu_odom_: 1691062521.146707130 0.416591 -0.23942 10.1658 -0.0479369 -0.0245011 0.0490022 0.22 0 pose: 0.87920829 -2.64186 -3.81575 0 0.00756798 0.000249676 0.999524 0.0298991 uwb: 0.49946625 1254.59 1231.65 -imu_odom_: 1691062521.164769586 0.385466 -0.196325 9.72285 -0.0383495 -0.0245011 0.0394148 0.22 0 pose: 0.0 -2.64186 -3.81575 0 0.00756798 0.000249676 0.999524 0.0298991 uwb: 0.0 1254.59 1231.65 -imu_odom_: 1691062521.188706555 0.402226 -0.277727 10.0102 -0.04048 0.0255663 0.0383495 0.23 0.02 pose: 0.42014298 -2.65111 -3.81954 0 0.00376048 9.27889e-05 0.999549 0.0298067 uwb: 0.49994162 1254.06 1233.21 -imu_odom_: 1691062521.205763435 0.533907 0.011971 9.68215 -0.072438 -0.0415453 0.0511327 0.23 0.02 pose: 0.0 -2.65111 -3.81954 0 0.00376048 9.27889e-05 0.999549 0.0298067 uwb: 0.0 1254.06 1233.21 -imu_odom_: 1691062521.221757869 0.122104 -0.148441 9.89763 -0.04048 0.00639159 0.0468716 0.23 0 pose: 0.41996508 -2.6549 -3.81029 0 0.00148306 -0.0006034380.999555 0.0297719 uwb: 0.0 1254.06 1233.21 -imu_odom_: 1691062521.246740951 0.52433 -0.356736 9.89763 -0.0788296 0.00639159 0.0458064 0.23 0 pose: 0.0 -2.6549 -3.81029 0 0.00148306 -0.0006034380.999555 0.0297719 uwb: 0.50064740 1253.87 1234.26 -imu_odom_: 1691062521.269779667 0.584185 -0.263362 9.8689 -0.0511327 -0.02024 0.0330232 0.19 0 pose: 0.49962957 -2.66416 -3.81408 0 0.0016772 -0.00174117 0.999559 0.0295842 uwb: 0.0 1253.87 1234.26 -imu_odom_: 1691062521.285705857 0.457293 -0.565032 9.37569 -0.0383495 0.00213053 0.0468716 0.19 0 pose: 0.0 -2.66416 -3.81408 0 0.0016772 -0.00174117 0.999559 0.0295842 uwb: 0.49629612 1255.38 1234 -imu_odom_: 1691062521.309685405 0.294487 -0.148441 9.7444 -0.0117179 0.0330232 0.0276969 0.25 -0.02 pose: 0.7089195 -2.66416 -3.81408 0 0.00243664 -0.00182404 0.999557 0.0296083 uwb: 0.0 1255.38 1234 -imu_odom_: 1691062521.332676584 0.876278 -0.225055 10.0245 -0.0617853 -0.036219 0.0617853 0.26 0 pose: 0.0 -2.66416 -3.81408 0 0.00243664 -0.00182404 0.999557 0.0296083 uwb: 0.0 1255.38 1234 -imu_odom_: 1691062521.349680968 0.905008 -0.349553 9.42597 -0.0575243 0.0394148 0.0255663 0.25 0.02 pose: 0.78846438 -2.68645 -3.81241 0 0.00424494 -0.00154774 0.999555 0.0294858 uwb: 0.0 1255.38 1234 -imu_odom_: 1691062521.374713046 0.0167594 -0.337582 9.80426 -0.0340885 0.0351537 0.0532632 0.25 0.02 pose: 0.0 -2.68645 -3.81241 0 0.00424494 -0.00154774 0.999555 0.0294858 uwb: 0.0 1255.38 1234 -imu_odom_: 1691062521.397684685 0.663194 -0.220267 9.7851 -0.0181095 0.0447411 0.0298274 0.22 -0.02 pose: 0.42036462 -2.693 -3.8151 0 0.00254575 -0.00210669 0.999561 0.0294274 uwb: 0.0 1255.38 1234 -imu_odom_: 1691062521.422680891 0.703895 -0.177171 9.92397 -0.0681769 -0.00852212 0.056459 0.22 -0.02 pose: 0.7021826 -2.69571 -3.81621 0 0.00307489 -0.00187993 0.999559 0.0294633 uwb: 0.0 1255.38 1234 -imu_odom_: 1691062521.445744105 0.675165 -0.162806 9.663 -0.056459 -0.036219 0.0351537 0.18 -0.02 pose: 0.23983339 -2.6995 -3.80696 0 0.00507176 -0.00121914 0.999552 0.0294791 uwb: 0.150117225 1254.99 1235.29 -imu_odom_: 1691062521.461728623 0.61531 -0.435745 9.63666 -0.0649811 0.02024 0.0479369 0.18 -0.02 pose: 0.0 -2.6995 -3.80696 0 0.00507176 -0.00121914 0.999552 0.0294791 uwb: 0.0 1254.99 1235.29 -imu_odom_: 1691062521.487733906 0.737414 -0.383072 9.5792 -0.0511327 0.0351537 0.0266316 0.25 -0.02 pose: 0.23994714 -2.6995 -3.80696 0 0.00751092 -0.00064392 0.999541 0.0293579 uwb: 0.50104986 1254.84 1236.39 -imu_odom_: 1691062521.500675448 0.308852 -0.244209 10.0149 -0.0607201 0.0191748 0.0596548 0.25 -0.02 pose: 0.0 -2.6995 -3.80696 0 0.00751092 -0.00064392 0.999541 0.0293579 uwb: 0.0 1254.84 1236.39 -imu_odom_: 1691062521.517676041 0.462081 -0.23942 10.0389 -0.0713727 -0.0106526 0.0596548 0.17 -0.02 pose: 0.39982731 -2.70875 -3.81076 0 0.00967582 -0.00221798 0.999519 0.029365 uwb: 0.0 1254.84 1236.39 -imu_odom_: 1691062521.540668970 0.383072 0.153229 10.2687 -0.0394148 -0.0287621 0.0415453 0.17 -0.02 pose: 0.0 -2.70875 -3.81076 0 0.00967582 -0.00221798 0.999519 0.029365 uwb: 0.49844551 1253.7 1238.65 -imu_odom_: 1691062521.565726712 0.723049 -0.246603 9.68694 -0.0649811 -0.0287621 0.04048 0.18 0 pose: 0.39001361 -2.718 -3.81456 0 0.0084534 -0.00310078 0.999531 0.029261 uwb: 0.0 1253.7 1238.65 -imu_odom_: 1691062521.591720329 0.90022 -0.155623 9.88326 -0.0436758 0.0447411 0.0426106 0.18 0 pose: 0.0 -2.718 -3.81456 0 0.0084534 -0.00310078 0.999531 0.029261 uwb: 0.50002328 1252.68 1240.62 -imu_odom_: 1691062521.616814818 0.73502 -0.270545 10.2472 -0.0532632 0.0117179 0.0436758 0.2 -0.02 pose: 0.40985099 -2.73105 -3.80911 0 0.00808249 -0.0007775790.999542 0.0291563 uwb: 0.0 1252.68 1240.62 -imu_odom_: 1691062521.643793595 0.502782 -0.320823 9.16979 -0.0607201 0.0330232 0.0585895 0.21 0 pose: 0.50170897 -2.73105 -3.80911 0 0.012394 -0.0008211290.9995 0.0290938 uwb: 0.50174396 1251.91 1242.41 -imu_odom_: 1691062521.668669646 0.162806 -0.459687 9.47146 -0.0500674 0.0447411 0.02024 0.2 0 pose: 0.0 -2.73105 -3.80911 0 0.012394 -0.0008211290.9995 0.0290938 uwb: 0.0 1251.91 1242.41 -imu_odom_: 1691062521.685781646 0.126893 -0.0861913 10.094 -0.0617853 -0.0308927 0.0468716 0.2 0 pose: 0.0 -2.73105 -3.80911 0 0.012394 -0.0008211290.9995 0.0290938 uwb: 0.50087779 1253.24 1242 -imu_odom_: 1691062521.709659120 0.706289 -0.31364 9.84017 -0.0671117 0.0191748 0.0276969 0.23 -0.02 pose: 0.51858327 -2.74411 -3.80367 0 0.00986672 -0.00327029 0.99953 0.0288452 uwb: 0.0 1253.24 1242 -imu_odom_: 1691062521.735701148 0.457293 -0.260968 10.1442 -0.0585895 0.0138484 0.0511327 0.23 -0.02 pose: 0.24080456 -2.75336 -3.80748 0 0.00733768 -0.00355721 0.999547 0.0289727 uwb: 0.50002037 1252.86 1243.76 -imu_odom_: 1691062521.758635749 0.454898 -0.0263362 10.0963 -0.0181095 0.0276969 0.0213053 0.2 0.02 pose: 0.41989509 -2.75336 -3.80748 0 0.00773737 -0.00371463 0.999542 0.0290349 uwb: 0.0 1252.86 1243.76 -imu_odom_: 1691062521.775705461 0.416591 -0.292093 9.31105 -0.0607201 0.0138484 0.0490022 0.2 0.02 pose: 0.0 -2.75336 -3.80748 0 0.00773737 -0.00371463 0.999542 0.0290349 uwb: 0.0 1252.86 1243.76 -imu_odom_: 1691062521.800757954 0.136469 -0.325611 9.74919 -0.0170442 0.0458064 0.0340885 0.18 -0.02 pose: 0.48893511 -2.76641 -3.80203 0 0.00426685 -0.0011601 0.999566 0.0291088 uwb: 0.49859716 1252.5 1245.12 -imu_odom_: 1691062521.824650593 0.071826 -0.189142 9.51935 -0.0479369 0.00532632 0.0543285 0.21 0 pose: 0.0 -2.76641 -3.80203 0 0.00426685 -0.0011601 0.999566 0.0291088 uwb: 0.0 1252.5 1245.12 -imu_odom_: 1691062521.848698093 0.0837971 -0.134075 9.61751 -0.0213053 0 0.0266316 0.21 0 pose: 0.41115754 -2.77566 -3.80584 0 -0.000304482-0.00159945 0.999576 0.0290725 uwb: 0.49737228 1252.63 1246.1 -imu_odom_: 1691062521.864639740 0.6608 0.131681 10.1011 -0.0660464 0.0138484 0.0585895 0.21 0 pose: 0.0 -2.77566 -3.80584 0 -0.000304482-0.00159945 0.999576 0.0290725 uwb: 0.0 1252.63 1246.1 -imu_odom_: 1691062521.889791391 0.648829 -0.447716 9.73004 -0.0575243 0.0255663 0.04048 0.18 0 pose: 0.48874264 -2.78491 -3.80964 0 -0.00380226 0.000621697 0.999571 0.0290191 uwb: 0.50068239 1251.83 1247.48 -imu_odom_: 1691062521.915739220 0.277727 -0.301669 9.91918 -0.0575243 0.00639159 0.0671117 0.18 0.02 pose: 0.33126557 -2.79379 -3.80594 0 -0.00177181 -0.0005321270.99958 0.0289323 uwb: 0.0 1251.83 1247.48 -imu_odom_: 1691062521.940759049 0.347159 -0.0861913 9.62469 -0.0340885 -0.00106526 0.0298274 0.18 0.02 pose: 0.0 -2.79379 -3.80594 0 -0.00177181 -0.0005321270.99958 0.0289323 uwb: 0.50056865 1252.61 1247.81 -imu_odom_: 1691062521.956635660 0.45011 -0.241814 9.79468 -0.0681769 -0.0458064 0.0553937 0.18 0 pose: 0.8027110 -2.79796 -3.8042 0 -0.00244678 -0.00103446 0.999581 0.0288224 uwb: 0.0 1252.61 1247.81 -imu_odom_: 1691062521.982807469 0.181959 -0.0407014 9.90242 -0.0287621 0.0287621 0.0330232 0.18 0 pose: 0.0 -2.79796 -3.8042 0 -0.00244678 -0.00103446 0.999581 0.0288224 uwb: 0.0 1252.61 1247.81 -imu_odom_: 1691062522.7660772 0.335188 -0.0670376 10.4627 -0.0617853 -0.0490022 0.0628506 0.19 0.02 pose: 0.48825268 -2.79796 -3.8042 0 -0.00297499 0.000361983 0.999585 0.0286448 uwb: 0.0 1252.61 1247.81 -imu_odom_: 1691062522.31689614 0.351948 -0.071826 10.5345 -0.0383495 -0.00532632 0.0340885 0.19 0.02 pose: 0.0 -2.79796 -3.8042 0 -0.00297499 0.000361983 0.999585 0.0286448 uwb: 0.100056575 1253.09 1248.72 -imu_odom_: 1691062522.55665085 0.766145 -0.337582 9.85693 -0.0873517 0.0181095 0.0617853 0.18 0 pose: 0.44005910 -2.8072 -3.80801 0 -0.0037649 0.00292083 0.999581 0.0285547 uwb: 0.0 1253.09 1248.72 -imu_odom_: 1691062522.71692187 0.0143652 -0.292093 9.27274 -0.04048 0.0191748 0.04048 0.18 0 pose: 0.0 -2.8072 -3.80801 0 -0.0037649 0.00292083 0.999581 0.0285547 uwb: 0.0 1253.09 1248.72 -imu_odom_: 1691062522.88628624 0.488417 -0.177171 10.0389 -0.0628506 -0.00852212 0.0553937 0.25 0 pose: 0.47991185 -2.82026 -3.80258 0 -0.00178271 0.00651615 0.999576 0.0283247 uwb: 0.49941389 1253.09 1249.59 -imu_odom_: 1691062522.113742368 1.04866 -0.268151 10.3142 -0.0458064 -0.036219 0.0415453 0.25 0 pose: 0.0 -2.82026 -3.80258 0 -0.00178271 0.00651615 0.999576 0.0283247 uwb: 0.0 1253.09 1249.59 -imu_odom_: 1691062522.138616967 0.679953 -0.40462 9.51456 -0.0873517 0.02024 0.0671117 0.21 0.02 pose: 0.41003775 -2.8295 -3.8064 0 -0.00148234 0.00443131 0.999595 0.0280608 uwb: 0.49979302 1251.94 1251.95 -imu_odom_: 1691062522.163676466 0.289698 -0.0861913 9.91918 -0.0543285 0.015979 0.0436758 0.21 0.02 pose: 0.0 -2.8295 -3.8064 0 -0.00148234 0.00443131 0.999595 0.0280608 uwb: 0.0 1251.94 1251.95 -imu_odom_: 1691062522.187609649 0.35913 -0.0215478 10.1682 -0.0436758 0.00532632 0.0553937 0.2 0.02 pose: 0.42046390 -2.8295 -3.8064 0 0.00262858 0.00283224 0.999605 0.0278418 uwb: 0.50046671 1251.56 1253.33 -imu_odom_: 1691062522.210699408 0.466869 -0.124498 9.92397 -0.0181095 0.0117179 0.0330232 0.2 0.02 pose: 0.0 -2.8295 -3.8064 0 0.00262858 0.00283224 0.999605 0.0278418 uwb: 0.0 1251.56 1253.33 -imu_odom_: 1691062522.237619573 0.213084 -0.246603 9.83299 -0.0468716 -0.00852212 0.0436758 0.23 0 pose: 0.48999098 -2.84257 -3.80099 0 0.000807465 0.00327485 0.999616 0.0275035 uwb: 0.50073793 1252.57 1253.46 -imu_odom_: 1691062522.253744958 0.011971 -0.102951 9.62948 -0.0181095 -0.015979 0.0351537 0.23 0 pose: 0.0 -2.84257 -3.80099 0 0.000807465 0.00327485 0.999616 0.0275035 uwb: 0.0 1252.57 1253.46 -imu_odom_: 1691062522.270667396 0.754174 -0.270545 9.85693 -0.076699 -0.02024 0.0575243 0.17 0.02 pose: 0.47088562 -2.8518 -3.80482 0 0.00157154 0.00476445 0.999611 0.0274241 uwb: 0.0 1252.57 1253.46 -imu_odom_: 1691062522.294607579 0.835576 -0.146046 9.72046 -0.0479369 0.0117179 0.0458064 0.17 0.02 pose: 0.0 -2.8518 -3.80482 0 0.00157154 0.00476445 0.999611 0.0274241 uwb: 0.0 1252.57 1253.46 -imu_odom_: 1691062522.320659822 0.464475 -0.272939 9.84496 -0.076699 0.00852212 0.0458064 0.18 0 pose: 0.76828890 -2.86487 -3.79942 0 0.00228175 0.00362225 0.999621 0.0271916 uwb: 0.0 1252.57 1253.46 -imu_odom_: 1691062522.346670360 0.481235 -0.280122 10.2711 -0.0351537 -0.0319579 0.0372843 0.2 -0.02 pose: 0.8018654 -2.86487 -3.79942 0 0.00232208 0.00274128 0.999625 0.0271646 uwb: 0.99847197 1252.44 1255.11 -imu_odom_: 1691062522.372744476 0.746991 -0.21069 10.2615 -0.0383495 0.0149137 0.0276969 0.2 -0.02 pose: 0.0 -2.86487 -3.79942 0 0.00232208 0.00274128 0.999625 0.0271646 uwb: 0.0 1252.44 1255.11 -imu_odom_: 1691062522.398593154 0.718261 0.0335188 10.2376 -0.0511327 0.02024 0.0596548 0.2 0 pose: 0.51192527 -2.87411 -3.80326 0 0.00423961 -0.00133504 0.999621 0.0271701 uwb: 0.49934681 1251.73 1257.06 -imu_odom_: 1691062522.415602793 0.198719 -0.445322 9.51935 -0.0511327 0.00852212 0.0468716 0.2 0 pose: 0.0 -2.87411 -3.80326 0 0.00423961 -0.00133504 0.999621 0.0271701 uwb: 0.0 1251.73 1257.06 -imu_odom_: 1691062522.440588507 0.181959 -0.179565 9.95988 -0.0468716 -0.0266316 0.0426106 0.19 0 pose: 0.26957495 -2.88718 -3.79787 0 0.0063436 -0.0003452160.99961 0.0272089 uwb: 0.50136788 1250.6 1259.51 -imu_odom_: 1691062522.467604038 0.940921 -0.162806 10.1155 -0.0276969 -0.036219 0.0276969 0.19 0 pose: 0.42899146 -2.89641 -3.80171 0 0.00501125 0.000282867 0.999624 0.0269601 uwb: 0.0 1250.6 1259.51 -imu_odom_: 1691062522.492632040 0.667982 -0.232238 9.93354 -0.0703074 0.00426106 0.056459 0.19 0 pose: 0.43928637 -2.89641 -3.80171 0 0.00665972 0.00105627 0.99961 0.0270937 uwb: 0.0 1250.6 1259.51 -imu_odom_: 1691062522.515618850 0.299275 -0.124498 9.96467 -0.0383495 -0.0266316 0.0308927 0.19 0 pose: 0.0 -2.89641 -3.80171 0 0.00665972 0.00105627 0.99961 0.0270937 uwb: 0.0 1250.6 1259.51 -imu_odom_: 1691062522.541739628 0.852336 -0.203507 9.84017 -0.0660464 -0.0458064 0.0479369 0.23 0 pose: 0.48014812 -2.90949 -3.79632 0 0.00699835 0.000974199 0.999611 0.0269804 uwb: 0.100049887 1249.01 1261.94 -imu_odom_: 1691062522.558605197 0.464475 -0.177171 9.58638 -0.0319579 0.04048 0.0372843 0.23 0 pose: 0.0 -2.90949 -3.79632 0 0.00699835 0.000974199 0.999611 0.0269804 uwb: 0.0 1249.01 1261.94 -imu_odom_: 1691062522.574728540 0.25618 -0.0909797 10.4531 -0.0607201 0.00745685 0.0628506 0.18 -0.02 pose: 0.42986347 -2.91872 -3.80016 0 0.00811267 0.00116042 0.999605 0.0268901 uwb: 0.0 1249.01 1261.94 -imu_odom_: 1691062522.599735252 0.500388 -0.102951 9.65103 -0.0703074 0.0106526 0.0287621 0.18 -0.02 pose: 0.0 -2.91872 -3.80016 0 0.00811267 0.00116042 0.999605 0.0268901 uwb: 0.49878686 1249.48 1262.89 -imu_odom_: 1691062522.625646049 0.428562 -0.462081 9.26795 -0.056459 0.00532632 0.0532632 0.2 0 pose: 0.41130055 -2.92762 -3.7965 0 0.00557269 0.00384515 0.999616 0.0268618 uwb: 0.0 1249.48 1262.89 -imu_odom_: 1691062522.650640220 0.428562 -0.143652 9.48822 -0.0255663 0.0298274 0.0223706 0.18 -0.02 pose: 0.0 -2.92762 -3.7965 0 0.00557269 0.00384515 0.999616 0.0268618 uwb: 0.49983093 1248.42 1265 -imu_odom_: 1691062522.676577265 0.0550666 -0.371101 9.81144 -0.0575243 0 0.0607201 0.18 -0.02 pose: 0.33880456 -2.9318 -3.79478 0 0.00401475 0.00191555 0.999632 0.026744 uwb: 0.0 1248.42 1265 -imu_odom_: 1691062522.702637966 0.366313 -0.0407014 9.68215 -0.0468716 0.0127832 0.0330232 0.19 0 pose: 0.42961557 -2.94103 -3.79862 0 -1.3924e-06 0.00194672 0.999644 0.026626 uwb: 0.50162744 1249.37 1265.55 -imu_odom_: 1691062522.719819089 0.737414 -0.0215478 10.0963 -0.072438 -0.0127832 0.0500674 0.19 0 pose: 0.0 -2.94103 -3.79862 0 -1.3924e-06 0.00194672 0.999644 0.026626 uwb: 0.0 1249.37 1265.55 -imu_odom_: 1691062522.744644109 0.56982 -0.0287304 10.0987 -0.0617853 -0.00958738 0.0394148 0.18 0 pose: 0.0 -2.94103 -3.79862 0 -1.3924e-06 0.00194672 0.999644 0.026626 uwb: 0.49926807 1250.09 1265.85 -imu_odom_: 1691062522.769707691 0.440533 -0.129287 10.003 -0.0788296 -0.0117179 0.0426106 0.18 0 pose: 0.51190485 -2.95411 -3.79324 0 0.0016393 0.00524387 0.999631 0.0266116 uwb: 0.0 1250.09 1265.85 -imu_odom_: 1691062522.783693601 0.0861913 -0.277727 9.89284 -0.0543285 -0.00426106 0.0298274 0.19 0 pose: 0.0 -2.95411 -3.79324 0 0.0016393 0.00524387 0.999631 0.0266116 uwb: 0.49963845 1251.09 1266.45 -imu_odom_: 1691062522.807682488 0.189142 -0.462081 9.82102 -0.072438 -0.0245011 0.0468716 0.19 0 pose: 0.47810664 -2.95411 -3.79324 0 0.00130401 0.00342344 0.999639 0.0266025 uwb: 0.0 1251.09 1266.45 -imu_odom_: 1691062522.831570175 0.395043 -0.371101 10.1921 -0.0308927 -0.02024 0.0287621 0.23 0 pose: 0.32104074 -2.96334 -3.79709 0 -0.0006781990.00103834 0.999646 0.0265615 uwb: 0.49891809 1249.9 1268.92 -imu_odom_: 1691062522.855701091 0.632069 -0.205901 10.1227 -0.0596548 0.00106526 0.0628506 0.23 0 pose: 0.0 -2.96334 -3.79709 0 -0.0006781990.00103834 0.999646 0.0265615 uwb: 0.0 1249.9 1268.92 -imu_odom_: 1691062522.871544751 0.277727 -0.141258 9.77792 -0.02024 0.0117179 0.0394148 0.26 0 pose: 0.0 -2.96334 -3.79709 0 -0.0006781990.00103834 0.999646 0.0265615 uwb: 0.0 1249.9 1268.92 -imu_odom_: 1691062522.886557527 0.464475 -0.155623 10.003 -0.0458064 0.00639159 0.0436758 0.26 0 pose: 0.6865800 -2.96334 -3.79709 0 -0.0006155820.000433296 0.999646 0.0265992 uwb: 0.50042005 1249.77 1270.2 -imu_odom_: 1691062522.913620305 0.835576 -0.416591 9.9934 -0.0511327 0.00958738 0.0394148 0.21 0.02 pose: 0.0 -2.96334 -3.79709 0 -0.0006155820.000433296 0.999646 0.0265992 uwb: 0.0 1249.77 1270.2 -imu_odom_: 1691062522.937620274 0.366313 -0.184354 10.1179 -0.0809601 0.015979 0.0671117 0.21 0.02 pose: 0.47124725 -2.97641 -3.79171 0 0.00131542 -0.0004670240.99965 0.0264149 uwb: 0.50036464 1250.3 1270.77 -imu_odom_: 1691062522.953543552 0.579397 -0.186748 10.0844 -0.0607201 -0.0447411 0.0511327 0.21 0 pose: 0.0 -2.97641 -3.79171 0 0.00131542 -0.0004670240.99965 0.0264149 uwb: 0.0 1250.3 1270.77 -imu_odom_: 1691062522.979547966 0.483629 -0.282516 9.73004 -0.0500674 -0.0106526 0.0500674 0.21 0 pose: 0.82930300 -2.98564 -3.79557 0 0.00180806 0.00041799 0.99966 0.0260147 uwb: 0.50004966 1250.42 1271.84 -imu_odom_: 1691062522.995656144 0.316035 -0.454898 9.98622 -0.0628506 0.0287621 0.052198 0.21 -0.02 pose: 0.0 -2.98564 -3.79557 0 0.00180806 0.00041799 0.99966 0.0260147 uwb: 0.0 1250.42 1271.84 -imu_odom_: 1691062523.11812444 0.328006 -0.0742203 10.0676 -0.0319579 0 0.0298274 0.21 -0.02 pose: 0.41956856 -2.99873 -3.7902 0 0.00313499 -0.00251467 0.99966 0.025772 uwb: 0.0 1250.42 1271.84 -imu_odom_: 1691062523.28759676 0.627281 -0.373495 9.72046 -0.0841559 -0.00639159 0.056459 0.21 -0.02 pose: 0.0 -2.99873 -3.7902 0 0.00313499 -0.00251467 0.99966 0.025772 uwb: 0.50170916 1251.34 1272.37 -imu_odom_: 1691062523.44592841 0.155623 -0.19393 10.0102 -0.0681769 0.00852212 0.0351537 0.18 0 pose: 0.0 -2.99873 -3.7902 0 0.00313499 -0.00251467 0.99966 0.025772 uwb: 0.0 1251.34 1272.37 -imu_odom_: 1691062523.70602803 0.390255 -0.304064 10.0389 -0.072438 -0.0245011 0.0596548 0.18 0 pose: 0.50038222 -3.00795 -3.79407 0 0.00215757 -0.00271081 0.999665 0.0256647 uwb: 0.0 1251.34 1272.37 -imu_odom_: 1691062523.93691694 0.706289 -0.213084 9.75637 -0.0383495 -0.0213053 0.0234358 0.18 0.02 pose: 0.34004412 -3.0147 -3.7969 0 -0.000320388-0.00454611 0.999667 0.0254125 uwb: 0.49779249 1252.09 1272.7 -imu_odom_: 1691062523.118588172 0.229843 -0.402226 9.27274 -0.0852212 -0.0372843 0.0607201 0.18 0.02 pose: 0.0 -3.0147 -3.7969 0 -0.000320388-0.00454611 0.999667 0.0254125 uwb: 0.0 1252.09 1272.7 -imu_odom_: 1691062523.132551338 0.373495 -0.0407014 9.8258 -0.0660464 -0.052198 0.0490022 0.19 0 pose: 0.0 -3.0147 -3.7969 0 -0.000320388-0.00454611 0.999667 0.0254125 uwb: 0.50027728 1251.93 1273.97 -imu_odom_: 1691062523.147581325 0.720655 -0.162806 10.2807 -0.0458064 -0.0287621 0.0383495 0.19 0 pose: 0.47985369 -3.02104 -3.78872 0 0.000314996 -0.00530828 0.999665 0.0253333 uwb: 0.0 1251.93 1273.97 -imu_odom_: 1691062523.173589829 1.37667 -0.208296 11.1402 -0.076699 -0.138484 0.0511327 0.25 -0.02 pose: 0.0 -3.02104 -3.78872 0 0.000314996 -0.00530828 0.999665 0.0253333 uwb: 0.0 1251.93 1273.97 -imu_odom_: 1691062523.196540190 2.44209 -0.122104 9.46907 -0.0692422 0.0191748 0.0500674 0.25 -0.02 pose: 0.36980896 -3.03026 -3.79259 0 0.00340278 -0.00341966 0.99967 0.0252349 uwb: 0.49965024 1252.3 1274.85 -imu_odom_: 1691062523.213641408 0.337582 -0.397437 10.3525 -0.0905475 0.0266316 0.0809601 0.18 -0.02 pose: 0.40971122 -3.03948 -3.79647 0 0.00842414 -0.0035587 0.999645 0.0250233 uwb: 0.0 1252.3 1274.85 -imu_odom_: 1691062523.228570779 0.577003 -0.368707 9.55526 -0.0628506 0.0617853 0.0372843 0.18 -0.02 pose: 0.7159775 -3.03948 -3.79647 0 0.00765623 -0.00397494 0.999653 0.024872 uwb: 0.49896198 1251.11 1276.92 -imu_odom_: 1691062523.245512178 0.823605 0.131681 9.60314 -0.052198 0.02024 0.00745685 0.18 -0.02 pose: 0.0 -3.03948 -3.79647 0 0.00765623 -0.00397494 0.999653 0.024872 uwb: 0.0 1251.11 1276.92 -imu_odom_: 1691062523.261513620 -0.0430956 -0.272939 10.2807 -0.0681769 0.00319579 0.0383495 0.18 0.02 pose: 0.41812213 -3.04873 -3.78951 0 0.00762867 -0.00441525 0.999649 0.0249649 uwb: 0.0 1251.11 1276.92 -imu_odom_: 1691062523.286509256 0.205901 -0.411803 10.2376 -0.0500674 -0.0713727 0.0532632 0.18 0.02 pose: 0.0 -3.04873 -3.78951 0 0.00762867 -0.00441525 0.999649 0.0249649 uwb: 0.49946651 1250.7 1278.42 -imu_odom_: 1691062523.309533402 0.706289 0.131681 10.1299 -0.0351537 -0.0255663 0.0426106 0.18 0 pose: 0.40997078 -3.05258 -3.79113 0 0.00442336 -0.00512027 0.99967 0.0247801 uwb: 0.0 1250.7 1278.42 -imu_odom_: 1691062523.334571034 0.509965 -0.282516 10.0772 -0.0490022 0.0266316 0.0490022 0.18 0.02 pose: 0.0 -3.05258 -3.79113 0 0.00442336 -0.00512027 0.99967 0.0247801 uwb: 0.50042601 1250.81 1279.53 -imu_odom_: 1691062523.361583073 0.799663 0.0167594 10.2592 -0.0351537 -0.0234358 0.0351537 0.22 0.02 pose: 0.31098214 -3.06179 -3.79502 0 0.00516301 -0.0034964 0.999675 0.0247144 uwb: 0.0 1250.81 1279.53 -imu_odom_: 1691062523.386525339 0.773327 -0.179565 9.62469 -0.072438 -0.0426106 0.0447411 0.19 0.02 pose: 0.43975603 -3.07218 -3.78854 0 0.00618689 -0.00269909 0.999672 0.0246985 uwb: 0.49979315 1250.04 1281.13 -imu_odom_: 1691062523.410694466 0.560243 -0.112527 9.61033 -0.0234358 -0.00426106 0.0276969 0.19 0.02 pose: 0.0 -3.07218 -3.78854 0 0.00618689 -0.00269909 0.999672 0.0246985 uwb: 0.0 1250.04 1281.13 -imu_odom_: 1691062523.434566702 0.715866 0.059855 9.94312 -0.0340885 -0.015979 0.052198 0.26 0 pose: 0.49111393 -3.08175 -3.79258 0 0.00884715 0.000602561 0.999653 0.0248062 uwb: 0.49971732 1251.13 1281.36 -imu_odom_: 1691062523.451648672 0.792481 -0.567426 9.39245 -0.0266316 0.0426106 0.0340885 0.26 0 pose: 0.5873349 -3.08411 -3.79357 0 0.00917478 0.00117437 0.99965 0.0247729 uwb: 0.0 1251.13 1281.36 -imu_odom_: 1691062523.467642240 0.47884 -0.0814029 10.5728 -0.0372843 0.015979 0.0532632 0.26 0 pose: 0.0 -3.08411 -3.79357 0 0.00917478 0.00117437 0.99965 0.0247729 uwb: 0.0 1251.13 1281.36 -imu_odom_: 1691062523.494773268 0.969652 -0.0335188 9.98622 -0.0585895 -0.0191748 0.04048 0.18 0.02 pose: 0.42978483 -3.08799 -3.78436 0 0.00977012 0.0021533 0.999646 0.024647 uwb: 0.50115511 1251.34 1282.09 -imu_odom_: 1691062523.519523926 0.756568 -0.454898 9.49301 -0.056459 0.0127832 0.0479369 0.18 0 pose: 0.35226970 -3.09458 -3.78714 0 0.0118304 0.00339696 0.999622 0.0245846 uwb: 0.0 1251.34 1282.09 -imu_odom_: 1691062523.546609166 0.201113 -0.129287 9.72285 -0.0245011 0.0191748 0.04048 0.18 0 pose: 0.0 -3.09458 -3.78714 0 0.0118304 0.00339696 0.999622 0.0245846 uwb: 0.50011979 1252.44 1282.33 -imu_odom_: 1691062523.571488146 0.416591 -0.356736 9.66539 -0.0660464 -0.0127832 0.0458064 0.18 -0.02 pose: 0.7936122 -3.0972 -3.78824 0 0.0120588 0.0026566 0.999623 0.0245415 uwb: 0.0 1252.44 1282.33 -imu_odom_: 1691062523.598651547 0.471658 -0.117316 9.7037 -0.0394148 -0.00852212 0.0415453 0.18 -0.02 pose: 0.0 -3.0972 -3.78824 0 0.0120588 0.0026566 0.999623 0.0245415 uwb: 0.49982523 1252.43 1283.32 -imu_odom_: 1691062523.614600493 0.521936 -0.047884 10.3741 -0.0575243 -0.0490022 0.0500674 0.18 0.02 pose: 0.51913767 -3.10642 -3.79213 0 0.00903655 0.00131346 0.99966 0.0244126 uwb: 0.0 1252.43 1283.32 -imu_odom_: 1691062523.641606699 0.545878 0.0311246 10.0197 -0.0681769 -0.04048 0.0607201 0.18 0.02 pose: 0.0 -3.10642 -3.79213 0 0.00903655 0.00131346 0.99966 0.0244126 uwb: 0.50007020 1252.13 1284.47 -imu_odom_: 1691062523.657486235 0.430956 -0.335188 9.94312 -0.0735032 -0.0287621 0.0617853 0.19 0 pose: 0.52163994 -3.11952 -3.78681 0 0.00638504 0.00308955 0.999679 0.0243032 uwb: 0.0 1252.13 1284.47 -imu_odom_: 1691062523.683478115 0.711078 -0.0646434 10.0868 -0.0458064 0.00532632 0.0308927 0.19 0 pose: 0.0 -3.11952 -3.78681 0 0.00638504 0.00308955 0.999679 0.0243032 uwb: 0.50001480 1252.86 1284.79 -imu_odom_: 1691062523.709548738 0.459687 -0.19393 10.2927 -0.0596548 -0.0500674 0.0468716 0.2 0.02 pose: 0.76690964 -3.13146 -3.78425 0 0.00921589 0.0055832 0.999656 0.0239249 uwb: 0.0 1252.86 1284.79 -imu_odom_: 1691062523.736474160 0.806846 -0.0861913 9.96227 -0.0479369 -0.0553937 0.0458064 0.21 0 pose: 0.8081651 -3.13263 -3.7815 0 0.00874568 0.00508789 0.999663 0.0238962 uwb: 0.50036768 1252.27 1286.64 -imu_odom_: 1691062523.752470935 0.354342 -0.481235 9.54568 -0.0735032 0.0117179 0.052198 0.2 0 pose: 0.0 -3.13263 -3.7815 0 0.00874568 0.00508789 0.999663 0.0238962 uwb: 0.0 1252.27 1286.64 -imu_odom_: 1691062523.777461030 0.435745 -0.169988 9.74201 -0.0585895 -0.0170442 0.0500674 0.2 0 pose: 0.44914394 -3.14184 -3.7854 0 0.0110495 0.00448832 0.999647 0.0237423 uwb: 0.49822704 1253.02 1286.98 -imu_odom_: 1691062523.791594806 0.560243 -0.248997 9.57202 -0.0490022 0.0127832 0.0543285 0.18 0 pose: 0.0 -3.14184 -3.7854 0 0.0110495 0.00448832 0.999647 0.0237423 uwb: 0.0 1253.02 1286.98 -imu_odom_: 1691062523.816477285 0.45011 -0.102951 9.92157 -0.0340885 -0.0170442 0.0234358 0.18 0 pose: 0.47013330 -3.15104 -3.7893 0 0.0076537 0.00220435 0.999693 0.0234592 uwb: 0.0 1253.02 1286.98 -imu_odom_: 1691062523.843524321 0.663194 -0.318429 10.1347 -0.0671117 -0.0234358 0.0415453 0.25 0 pose: 0.32989795 -3.15384 -3.78271 0 0.00592784 0.0032628 0.999698 0.0236067 uwb: 0.49984564 1254.87 1286.56 -imu_odom_: 1691062523.868473878 0.672771 0.0502782 9.63666 -0.0660464 0.0383495 0.0298274 0.25 0 pose: 0.7006373 -3.15495 -3.7801 0 0.00642956 0.00267 0.999697 0.0235955 uwb: 0.0 1254.87 1286.56 -imu_odom_: 1691062523.894612453 -0.0191536 -0.426168 9.60075 -0.0916127 0.00639159 0.0660464 0.23 0 pose: 0.44990220 -3.16415 -3.784 0 0.00849221 0.00306695 0.999678 0.0237017 uwb: 0.50070307 1253.59 1288.64 -imu_odom_: 1691062523.911790373 0.507571 -0.462081 10.2304 -0.0266316 -0.0383495 0.0149137 0.23 0 pose: 0.0 -3.16415 -3.784 0 0.00849221 0.00306695 0.999678 0.0237017 uwb: 0.0 1253.59 1288.64 -imu_odom_: 1691062523.938536727 0.744597 0.112527 10.5177 -0.0543285 -0.0340885 0.0543285 0.18 0.02 pose: 0.34152274 -3.17336 -3.78791 0 0.0060256 0.000849375 0.999706 0.0234521 uwb: 0.49931778 1251.95 1290.85 -imu_odom_: 1691062523.963498241 0.462081 -0.208296 10.2544 -0.0458064 0.0191748 0.0490022 0.18 0 pose: 0.0 -3.17336 -3.78791 0 0.0060256 0.000849375 0.999706 0.0234521 uwb: 0.0 1251.95 1290.85 -imu_odom_: 1691062523.990458368 0.708684 -0.189142 9.84256 -0.0553937 -0.0117179 0.0447411 0.18 0 pose: 0.44011766 -3.18647 -3.78261 0 0.00719743 0.00200485 0.9997 0.0233358 uwb: 0.50107053 1251.84 1291.75 -imu_odom_: 1691062524.15442050 0.363919 -0.215478 9.92875 -0.0830906 0.0330232 0.0596548 0.18 0 pose: 0.0 -3.18647 -3.78261 0 0.00719743 0.00200485 0.9997 0.0233358 uwb: 0.0 1251.84 1291.75 -imu_odom_: 1691062524.32496319 0.746991 -0.229843 10.2592 -0.0607201 -0.0234358 0.0447411 0.18 0 pose: 0.51814609 -3.18647 -3.78261 0 0.00728051 0.00111979 0.999706 0.0231004 uwb: 0.0 1251.84 1291.75 -imu_odom_: 1691062524.57447632 0.526724 -0.28491 9.93594 -0.052198 -0.0213053 0.0596548 0.18 0 pose: 0.0 -3.18647 -3.78261 0 0.00728051 0.00111979 0.999706 0.0231004 uwb: 0.0 1251.84 1291.75 -imu_odom_: 1691062524.84444804 0.507571 -0.181959 9.65103 -0.0447411 0.04048 0.0351537 0.18 0 pose: 0.42096281 -3.19568 -3.78652 0 0.00701546 -0.0004164970.999715 0.0227993 uwb: 0.100129842 1251.64 1293.07 -imu_odom_: 1691062524.110453606 0.373495 -0.25618 9.83059 -0.0713727 -0.0191748 0.0553937 0.19 0 pose: 0.43895996 -3.2088 -3.78125 0 0.00529564 0.000658669 0.999728 0.0226936 uwb: 0.0 1251.64 1293.07 -imu_odom_: 1691062524.137466818 0.306458 -0.296881 9.53371 -0.0596548 -0.0436758 0.0479369 0.23 0 pose: 0.0 -3.2088 -3.78125 0 0.00529564 0.000658669 0.999728 0.0226936 uwb: 0.49856547 1249.41 1296.17 -imu_odom_: 1691062524.153553423 0.823605 -0.457293 10.0149 -0.072438 -0.0266316 0.0681769 0.23 0 pose: 0.33045507 -3.2088 -3.78125 0 0.00256478 -0.0008334430.999744 0.0224553 uwb: 0.0 1249.41 1296.17 -imu_odom_: 1691062524.180450854 0.21069 -0.0407014 10.1227 -0.0490022 -0.0117179 0.0436758 0.23 0 pose: 0.0 -3.2088 -3.78125 0 0.00256478 -0.0008334430.999744 0.0224553 uwb: 0.49992452 1248.46 1297.68 -imu_odom_: 1691062524.206435450 0.289698 -0.399832 9.78031 -0.0777643 0.00319579 0.0596548 0.23 0 pose: 0.43009700 -3.21799 -3.78517 0 0.00223904 -0.00212765 0.99975 0.0221254 uwb: 0.0 1248.46 1297.68 -imu_odom_: 1691062524.231431676 0.584185 -0.234632 9.89045 -0.0585895 0.0117179 0.056459 0.25 0 pose: 0.45935439 -3.23112 -3.77991 0 -0.00085358 -0.00301754 0.999757 0.0218208 uwb: 0.0 1248.46 1297.68 -imu_odom_: 1691062524.254423747 0.581791 -0.383072 9.93833 -0.0756338 0.0245011 0.0468716 0.25 0 pose: 0.0 -3.23112 -3.77991 0 -0.00085358 -0.00301754 0.999757 0.0218208 uwb: 0.0 1248.46 1297.68 -imu_odom_: 1691062524.270474772 -0.131681 -0.11971 9.76595 -0.0351537 0.0191748 0.0394148 0.18 0 pose: 0.7053037 -3.23112 -3.77991 0 -0.000215724-0.00290429 0.999759 0.0217635 uwb: 0.0 1248.46 1297.68 -imu_odom_: 1691062524.297424990 0.409408 -0.31364 10.0413 -0.0777643 -0.0117179 0.0532632 0.18 0 pose: 0.0 -3.23112 -3.77991 0 -0.000215724-0.00290429 0.999759 0.0217635 uwb: 0.99992486 1248.56 1298.85 -imu_odom_: 1691062524.323481621 0.792481 0.0622492 9.83538 -0.0532632 0.0138484 0.0479369 0.18 0 pose: 0.48963543 -3.24031 -3.78385 0 0.0019923 -0.003971 0.999758 0.0215357 uwb: 0.0 1248.56 1298.85 -imu_odom_: 1691062524.339470818 0.426168 -0.316035 9.94551 -0.0671117 -0.0245011 0.0511327 0.18 0 pose: 0.0 -3.24031 -3.78385 0 0.0019923 -0.003971 0.999758 0.0215357 uwb: 0.49864713 1250.02 1299.01 -imu_odom_: 1691062524.365417501 0.0311246 0.143652 10.5536 -0.036219 -0.00426106 0.0447411 0.19 0.02 pose: 0.43047031 -3.25344 -3.77861 0 0.000214355 -0.00559653 0.999757 0.0213115 uwb: 0.0 1250.02 1299.01 -imu_odom_: 1691062524.392428088 0.711078 0.059855 9.98143 -0.0351537 -0.0543285 0.0245011 0.19 0.02 pose: 0.0 -3.25344 -3.77861 0 0.000214355 -0.00559653 0.999757 0.0213115 uwb: 0.50076444 1250.04 1300.1 -imu_odom_: 1691062524.418559671 0.40462 -0.143652 10.5058 -0.0479369 0.0117179 0.0447411 0.2 0 pose: 0.42043495 -3.25344 -3.77861 0 0.000507784 -0.00522726 0.999763 0.0211247 uwb: 0.0 1250.04 1300.1 -imu_odom_: 1691062524.445420939 0.691924 0.0047884 10.0963 -0.0575243 -0.00319579 0.0330232 0.23 0 pose: 0.52965727 -3.26263 -3.78256 0 0.00160985 -0.0006503110.999772 0.0212607 uwb: 0.49983411 1249.32 1301.91 -imu_odom_: 1691062524.461413635 0.0694318 -0.320823 9.57681 -0.0671117 -0.00319579 0.0468716 0.23 0 pose: 0.0 -3.26263 -3.78256 0 0.00160985 -0.0006503110.999772 0.0212607 uwb: 0.0 1249.32 1301.91 -imu_odom_: 1691062524.478458280 0.332794 -0.229843 10.3597 -0.0543285 -0.036219 0.0372843 0.23 0 pose: 0.0 -3.26263 -3.78256 0 0.00160985 -0.0006503110.999772 0.0212607 uwb: 0.49930915 1250.48 1302.24 -imu_odom_: 1691062524.504518994 0.912191 -0.0023942 9.80904 -0.0468716 0.0138484 0.0308927 0.18 0 pose: 0.77949997 -3.28088 -3.77951 0 0.000289193 0.00115945 0.999773 0.0212695 uwb: 0.0 1250.48 1302.24 -imu_odom_: 1691062524.531530748 0.52433 -0.344765 9.89524 -0.0394148 -0.0287621 0.0266316 0.25 0 pose: 0.7983953 -3.28495 -3.78127 0 0.0009716 0.0014605 0.999772 0.0213033 uwb: 0.50137689 1250.37 1303.18 -imu_odom_: 1691062524.556583260 0.483629 -0.282516 9.62948 -0.0681769 0.0117179 0.0575243 0.18 -0.02 pose: 0.45088515 -3.29437 -3.77751 0 0.00384711 -0.0001610010.99976 0.0215462 uwb: 0.0 1250.37 1303.18 -imu_odom_: 1691062524.583420613 0.667982 0.0526724 10.2137 -0.036219 -0.0553937 0.0255663 0.23 0.02 pose: 0.0 -3.29437 -3.77751 0 0.00384711 -0.0001610010.99976 0.0215462 uwb: 0.49870546 1250.26 1304.13 -imu_odom_: 1691062524.608562076 0.509965 -0.222661 9.94551 -0.0479369 -0.0372843 0.0468716 0.23 0.02 pose: 0.32009599 -3.29809 -3.77602 0 0.00440185 -0.00215804 0.99976 0.0213638 uwb: 0.0 1250.26 1304.13 -imu_odom_: 1691062524.635408470 0.481235 0.0861913 9.78271 -0.0585895 -0.0170442 0.0500674 0.22 0 pose: 0.0 -3.29809 -3.77602 0 0.00440185 -0.00215804 0.99976 0.0213638 uwb: 0.49987785 1248.34 1306.67 -imu_odom_: 1691062524.660393905 0.703895 0.11971 10.3046 -0.0511327 -0.0468716 0.0266316 0.22 0 pose: 0.52079432 -3.30728 -3.77997 0 0.00415357 -0.0005943620.999763 0.021377 uwb: 0.0 1248.34 1306.67 -imu_odom_: 1691062524.685402380 0.454898 -0.114922 10.1203 -0.0692422 -0.00958738 0.0436758 0.21 0 pose: 0.44774126 -3.31672 -3.7762 0 0.0063231 0.00341269 0.999744 0.02145 uwb: 0.49982536 1248.6 1307.55 -imu_odom_: 1691062524.708398826 0.826 -0.124498 9.99819 -0.0596548 -0.0340885 0.0351537 0.21 0 pose: 0.0 -3.31672 -3.7762 0 0.0063231 0.00341269 0.999744 0.02145 uwb: 0.0 1248.6 1307.55 -imu_odom_: 1691062524.724450726 0.620098 -0.0981623 9.67257 -0.0735032 -0.0138484 0.0511327 0.18 0 pose: 0.31003440 -3.32041 -3.77473 0 0.00476772 0.004182 0.99975 0.0214253 uwb: 0.0 1248.6 1307.55 -imu_odom_: 1691062524.741496828 1.01275 -0.28491 9.76595 -0.0788296 0.0170442 0.0436758 0.18 0 pose: 0.0 -3.32041 -3.77473 0 0.00476772 0.004182 0.99975 0.0214253 uwb: 0.50131564 1249.19 1308.28 -imu_odom_: 1691062524.766385147 0.723049 0 10.0724 -0.0383495 -0.0298274 0.0308927 0.18 0 pose: 0.50099483 -3.3296 -3.77867 0 0.00971413 0.00372407 0.999719 0.0213159 uwb: 0.0 1249.19 1308.28 -imu_odom_: 1691062524.793378236 0.794875 -0.335188 9.33739 -0.0639159 -0.0170442 0.04048 0.18 0 pose: 0.7903169 -3.3296 -3.77867 0 0.01037 0.00435406 0.999709 0.0213532 uwb: 0.49861214 1247.71 1310.31 -imu_odom_: 1691062524.818375629 0.234632 -0.251391 9.99819 -0.0447411 0.0777643 0.0394148 0.2 -0.02 pose: 0.43978239 -3.34159 -3.77609 0 0.0135454 0.00341214 0.999674 0.0213886 uwb: 0.0 1247.71 1310.31 -imu_odom_: 1691062524.834403031 0.11971 -0.215478 9.7875 -0.0532632 -0.0340885 0.0479369 0.2 -0.02 pose: 0.0 -3.34159 -3.77609 0 0.0135454 0.00341214 0.999674 0.0213886 uwb: 0.50022782 1248.84 1310.61 -imu_odom_: 1691062524.860534905 0.4956 0.00957681 10.4698 -0.0490022 0.0447411 0.0298274 0.18 -0.02 pose: 0.41024795 -3.34779 -3.7756 0 0.00873267 0.00284076 0.99973 0.0213236 uwb: 0.0 1248.84 1310.61 -imu_odom_: 1691062524.887409005 0.574608 -0.143652 9.9503 -0.0532632 0.00426106 0.0340885 0.22 0 pose: 0.0 -3.34779 -3.7756 0 0.00873267 0.00284076 0.99973 0.0213236 uwb: 0.50055446 1247.13 1312.36 -imu_odom_: 1691062524.912395898 0.423774 -0.158017 9.48104 -0.0777643 -0.00319579 0.0447411 0.18 0 pose: 0.33022175 -3.35192 -3.77737 0 0.00736597 0.00479471 0.999731 0.0214849 uwb: 0.0 1247.13 1312.36 -imu_odom_: 1691062524.939385196 0.251391 -0.217872 9.56962 -0.0628506 -0.0266316 0.0372843 0.23 0.02 pose: 0.0 -3.35192 -3.77737 0 0.00736597 0.00479471 0.999731 0.0214849 uwb: 0.49931499 1247.36 1313.21 -imu_odom_: 1691062524.964363923 0.572214 -0.40462 9.95988 -0.0703074 -0.0330232 0.0479369 0.23 0.02 pose: 0.44970692 -3.36388 -3.77486 0 0.00619687 0.00300043 0.999746 0.0214676 uwb: 0.0 1247.36 1313.21 -imu_odom_: 1691062524.981439481 1.14682 -0.265756 10.2544 -0.0330232 0.00426106 0.0276969 0.23 -0.02 pose: 0.0 -3.36388 -3.77486 0 0.00619687 0.00300043 0.999746 0.0214676 uwb: 0.49990410 1249.45 1312.48 -imu_odom_: 1691062525.6417335 0.667982 -0.009576819.88566 -0.0617853 -0.00213053 0.0436758 0.23 -0.02 pose: 0.58979941 -3.37424 -3.77607 0 0.00574801 -0.0001897990.999754 0.021432 uwb: 0.0 1249.45 1312.48 -imu_odom_: 1691062525.33416263 0.608127 -0.184354 9.68455 -0.0490022 -0.0181095 0.0458064 0.23 0 pose: 0.35041496 -3.38076 -3.77887 0 0.00808727 0.00180955 0.999735 0.021454 uwb: 0.50233061 1250.96 1312.68 -imu_odom_: 1691062525.49474000 0.354342 -0.47884 9.61272 -0.0500674 0.015979 0.052198 0.23 0 pose: 0.0 -3.38076 -3.77887 0 0.00808727 0.00180955 0.999735 0.021454 uwb: 0.0 1250.96 1312.68 -imu_odom_: 1691062525.76419850 0.399832 -0.0550666 9.94312 -0.036219 0.00639159 0.04048 0.25 0 pose: 0.6962338 -3.38343 -3.78002 0 0.00882255 0.00171181 0.99973 0.0214299 uwb: 0.0 1250.96 1312.68 -imu_odom_: 1691062525.101556945 0.430956 -0.229843 10.0748 -0.0713727 -0.00319579 0.0575243 0.25 0 pose: 0.0 -3.38343 -3.78002 0 0.00882255 0.00171181 0.99973 0.0214299 uwb: 0.49689742 1249.92 1314.75 -imu_odom_: 1691062525.128357267 0.514753 -0.131681 9.8665 -0.0532632 0.0223706 0.0490022 0.21 0 pose: 0.43003587 -3.38738 -3.77083 0 0.00912838 0.000784927 0.999732 0.0212481 uwb: 0.50095997 1249.83 1315.77 -imu_odom_: 1691062525.153349124 0.253785 -0.320823 10.0724 -0.0500674 0.0106526 0.0500674 0.19 0 pose: 0.52020534 -3.39656 -3.77477 0 0.00523669 0.00159581 0.999765 0.020994 uwb: 0.0 1249.83 1315.77 -imu_odom_: 1691062525.180374884 0.533907 -0.201113 9.84256 -0.0649811 -0.04048 0.052198 0.23 0 pose: 0.0 -3.39656 -3.77477 0 0.00523669 0.00159581 0.999765 0.020994 uwb: 0.49961259 1250.84 1315.91 -imu_odom_: 1691062525.196459743 0.723049 -0.0095768110.1227 -0.0607201 -0.0213053 0.0372843 0.23 0 pose: 0.51966872 -3.40971 -3.76954 0 0.0038543 0.00191904 0.999776 0.0207313 uwb: 0.0 1250.84 1315.91 -imu_odom_: 1691062525.223328309 0.610521 -0.220267 10.3669 -0.0532632 0.04048 0.0479369 0.18 -0.02 pose: 0.0 -3.40971 -3.76954 0 0.0038543 0.00191904 0.999776 0.0207313 uwb: 0.0 1250.84 1315.91 -imu_odom_: 1691062525.248471528 0.596156 -0.184354 9.73004 -0.0479369 -0.0372843 0.0372843 0.2 0 pose: 0.62957643 -3.41889 -3.7735 0 0.00877036 0.000223171 0.999752 0.020492 uwb: 0.50064791 1252.92 1315.69 -imu_odom_: 1691062525.275454416 0.342371 -0.433351 9.73961 -0.0713727 -0.0245011 0.0468716 0.2 0 pose: 0.0 -3.41889 -3.7735 0 0.00877036 0.000223171 0.999752 0.020492 uwb: 0.0 1252.92 1315.69 -imu_odom_: 1691062525.300364031 0.677559 -0.011971 9.46428 -0.0447411 -0.04048 0.0543285 0.2 0 pose: 0.8027410 -3.41889 -3.7735 0 0.00950634 0.000781725 0.999744 0.0205054 uwb: 0.49912555 1252.47 1316.83 -imu_odom_: 1691062525.317397014 0.639252 -0.306458 9.90721 -0.0735032 0.0170442 0.0585895 0.2 0 pose: 0.0 -3.41889 -3.7735 0 0.00950634 0.000781725 0.999744 0.0205054 uwb: 0.0 1252.47 1316.83 -imu_odom_: 1691062525.342390622 0.531513 -0.160412 9.21528 -0.052198 0.0671117 0.0319579 0.18 0.02 pose: 0.52116483 -3.43203 -3.76828 0 0.00987354 0.000676222 0.999744 0.0203698 uwb: 0.50051959 1253.01 1317.51 -imu_odom_: 1691062525.368511129 0.316035 -0.19393 9.81623 -0.0894822 0.00532632 0.0617853 0.18 0.02 pose: 0.0 -3.43203 -3.76828 0 0.00987354 0.000676222 0.999744 0.0203698 uwb: 0.0 1253.01 1317.51 -imu_odom_: 1691062525.393336168 0.531513 -0.270545 10.0748 -0.0671117 -0.015979 0.0490022 0.19 0 pose: 0.41930641 -3.44121 -3.77225 0 0.0100471 0.000855437 0.999747 0.0201139 uwb: 0.50048751 1253.26 1318.4 -imu_odom_: 1691062525.420398675 0.52433 -0.277727 9.93594 -0.0500674 0.00745685 0.0308927 0.2 0 pose: 0.50051376 -3.45039 -3.77622 0 0.00547846 0.000501047 0.999787 0.0198699 uwb: 0.0 1253.26 1318.4 -imu_odom_: 1691062525.445365743 0.335188 -0.260968 10.0724 -0.0500674 -0.0532632 0.056459 0.19 0 pose: 0.0 -3.45039 -3.77622 0 0.00547846 0.000501047 0.999787 0.0198699 uwb: 0.49848686 1252.5 1319.72 -imu_odom_: 1691062525.462304818 0.246603 -0.332794 9.7444 -0.0436758 -0.0181095 0.0340885 0.19 0 pose: 0.0 -3.45039 -3.77622 0 0.00547846 0.000501047 0.999787 0.0198699 uwb: 0.0 1252.5 1319.72 -imu_odom_: 1691062525.487370460 0.629675 -0.100556 9.73243 -0.0415453 -0.00532632 0.0458064 0.23 0 pose: 0.52896914 -3.46354 -3.77102 0 0.00538109 -0.00380705 0.999782 0.0198074 uwb: 0.50146742 1251.52 1321.36 -imu_odom_: 1691062525.514309603 0.47884 -0.301669 10.173 -0.0426106 -0.0351537 0.0319579 0.23 -0.02 pose: 0.24023611 -3.46354 -3.77102 0 0.00348616 -0.00356723 0.999794 0.0196732 uwb: 0.0 1251.52 1321.36 -imu_odom_: 1691062525.539493652 0.354342 -0.220267 9.73482 -0.0639159 -0.0394148 0.0447411 0.23 -0.02 pose: 0.34995716 -3.47272 -3.77499 0 0.00436379 -0.00175298 0.999796 0.0196285 uwb: 0.49928303 1250.05 1323.52 -imu_odom_: 1691062525.556465973 0.612916 -0.222661 9.94551 -0.0671117 -0.02024 0.0266316 0.23 0 pose: 0.6946007 -3.47272 -3.77499 0 0.00429804 -0.00238389 0.999795 0.0196513 uwb: 0.0 1250.05 1323.52 -imu_odom_: 1691062525.582310005 0.397437 -0.562637 9.80186 -0.0713727 -0.00319579 0.0447411 0.23 0 pose: 0.0 -3.47272 -3.77499 0 0.00429804 -0.00238389 0.999795 0.0196513 uwb: 0.49952802 1248.62 1325.18 -imu_odom_: 1691062525.609328474 0.634463 -0.21069 9.64624 -0.0191748 0.052198 0.0223706 0.23 -0.02 pose: 0.52064863 -3.48587 -3.7698 0 0.00310155 -0.00287744 0.999797 0.019694 uwb: 0.0 1248.62 1325.18 -imu_odom_: 1691062525.635316285 0.682347 -0.0550666 9.98382 -0.0660464 -0.0170442 0.052198 0.23 -0.02 pose: 0.0 -3.48587 -3.7698 0 0.00310155 -0.00287744 0.999797 0.019694 uwb: 0.50056334 1249.86 1325.03 -imu_odom_: 1691062525.652448134 0.1652 -0.181959 9.93115 -0.0234358 0.0372843 0.0138484 0.25 0 pose: 0.43099537 -3.49505 -3.77377 0 0.00377378 -0.00482544 0.999786 0.0197514 uwb: 0.0 1249.86 1325.03 -imu_odom_: 1691062525.678493398 0.265756 -0.222661 9.83777 -0.0436758 -0.04048 0.056459 0.25 0 pose: 0.0 -3.49505 -3.77377 0 0.00377378 -0.00482544 0.999786 0.0197514 uwb: 0.50129243 1248.2 1326.98 -imu_odom_: 1691062525.705314134 0.533907 0.131681 10.4076 -0.0415453 -0.0383495 0.0340885 0.23 0 pose: 0.52893706 -3.49902 -3.7646 0 0.00591515 -0.0013302 0.999784 0.0198781 uwb: 0.0 1248.2 1326.98 -imu_odom_: 1691062525.721294586 0.320823 -0.167594 9.73961 -0.0692422 0.0308927 0.0468716 0.23 0 pose: 0.0 -3.49902 -3.7646 0 0.00591515 -0.0013302 0.999784 0.0198781 uwb: 0.0 1248.2 1326.98 -imu_odom_: 1691062525.748297306 0.56982 -0.356736 9.62708 -0.0511327 -0.0213053 0.0319579 0.23 0 pose: 0.42924843 -3.5082 -3.76857 0 0.00286523 2.50328e-05 0.9998 0.0198045 uwb: 0.49801732 1247.98 1327.88 -imu_odom_: 1691062525.773290039 0.579397 -0.411803 9.32063 -0.0703074 0.0223706 0.04048 0.2 0 pose: 0.44038620 -3.51737 -3.77255 0 0.0023207 0.00144404 0.999799 0.0198381 uwb: 0.0 1247.98 1327.88 -imu_odom_: 1691062525.800290717 0.0909797 -0.268151 9.80665 -0.0649811 0.0426106 0.0543285 0.21 0.02 pose: 0.0 -3.51737 -3.77255 0 0.0023207 0.00144404 0.999799 0.0198381 uwb: 0.50057792 1249.69 1327.76 -imu_odom_: 1691062525.816347579 0.035913 -0.167594 9.93115 -0.0735032 0.0276969 0.0458064 0.21 0.02 pose: 0.50995709 -3.53052 -3.76734 0 0.0035435 -0.00248614 0.999794 0.0198339 uwb: 0.0 1249.69 1327.76 -imu_odom_: 1691062525.843306845 0.579397 -0.0023942 9.48822 -0.0628506 -0.0276969 0.0383495 0.24 0 pose: 0.0 -3.53052 -3.76734 0 0.0035435 -0.00248614 0.999794 0.0198339 uwb: 0.49943469 1248.63 1329.34 -imu_odom_: 1691062525.869293197 0.0215478 -0.292093 10.1562 -0.052198 0.0340885 0.0276969 0.18 -0.05 pose: 0.62973100 -3.5397 -3.77132 0 0.00123138 -0.0002617860.999806 0.0196489 uwb: 0.0 1248.63 1329.34 -imu_odom_: 1691062525.896342871 0.296881 -0.371101 9.9527 -0.0628506 -0.0308927 0.0681769 0.24 0 pose: 0.8002912 -3.5397 -3.77132 0 0.000287731 -0.0003714440.999806 0.0196962 uwb: 0.49879016 1248.33 1330.74 -imu_odom_: 1691062525.922416424 0.912191 0.131681 9.91678 -0.0426106 0.00745685 0.02024 0.18 0 pose: 0.25072059 -3.54368 -3.76215 0 -0.00206395 -0.00127686 0.999803 0.0197017 uwb: 0.0 1248.33 1330.74 -imu_odom_: 1691062525.949332236 0.814029 -0.107739 10.0437 -0.0809601 0.0149137 0.056459 0.18 0 pose: 0.0 -3.54368 -3.76215 0 -0.00206395 -0.00127686 0.999803 0.0197017 uwb: 0.49991589 1245.36 1334 -imu_odom_: 1691062525.974269848 0.454898 -0.110133 9.991 -0.0596548 -0.00319579 0.0383495 0.18 0 pose: 0.27942386 -3.55285 -3.76612 0 -0.00210538 -0.00262291 0.999804 0.0194969 uwb: 0.0 1245.36 1334 -imu_odom_: 1691062526.1269069 0.529119 -0.241814 10.0437 -0.0692422 -0.0106526 0.0255663 0.18 0 pose: 0.53132560 -3.56202 -3.7701 0 0.00173308 -0.0002514240.999809 0.0194571 uwb: 0.50085790 1243.43 1336.28 -imu_odom_: 1691062526.26265890 0.694318 -0.220267 9.84975 -0.0585895 -0.0234358 0.0383495 0.18 -0.02 pose: 0.0 -3.56202 -3.7701 0 0.00173308 -0.0002514240.999809 0.0194571 uwb: 0.49912561 1241.94 1337.93 -imu_odom_: 1691062526.43308793 0.512359 -0.0790087 9.75398 -0.0671117 0.0245011 0.0319579 0.18 -0.02 pose: 0.51863924 -3.57518 -3.76491 0 0.00523432 -0.0003524670.999793 0.019659 uwb: 0.0 1241.94 1337.93 -imu_odom_: 1691062526.68309989 0.129287 -0.0981623 9.52413 -0.0511327 0 0.0415453 0.21 0 pose: 0.0 -3.57518 -3.76491 0 0.00523432 -0.0003524670.999793 0.019659 uwb: 0.0 1241.94 1337.93 -imu_odom_: 1691062526.95395834 0.555455 -0.316035 9.96467 -0.052198 0.0181095 0.0213053 0.23 0 pose: 0.58989303 -3.58169 -3.76773 0 0.00407218 0.00182892 0.999795 0.0197293 uwb: 0.49982853 1242.28 1338.41 -imu_odom_: 1691062526.120276875 0.112527 -0.296881 9.45231 -0.0532632 0.0127832 0.0447411 0.23 0 pose: 0.0 -3.58169 -3.76773 0 0.00407218 0.00182892 0.999795 0.0197293 uwb: 0.0 1242.28 1338.41 -imu_odom_: 1691062526.147348721 0.172383 -0.0646434 9.71088 -0.0223706 -0.00745685 0.0234358 0.23 0 pose: 0.6958841 -3.58435 -3.76889 0 0.00430544 0.00121883 0.999794 0.0197895 uwb: 0.50253496 1242.93 1338.69 -imu_odom_: 1691062526.163261807 0.550666 -0.0287304 9.94073 -0.0713727 0.0287621 0.0585895 0.23 0 pose: 0.0 -3.58435 -3.76889 0 0.00430544 0.00121883 0.999794 0.0197895 uwb: 0.0 1242.93 1338.69 -imu_odom_: 1691062526.190271242 0.0814029 -0.0143652 9.98622 -0.0287621 -0.00319579 0.0351537 0.23 -0.02 pose: 0.52028130 -3.5975 -3.76369 0 0.00173553 -0.0004452610.999799 0.0199531 uwb: 0.49993352 1242.36 1339.77 -imu_odom_: 1691062526.215321143 0.282516 -0.268151 10.003 -0.052198 -0.00213053 0.0585895 0.23 -0.02 pose: 0.0 -3.5975 -3.76369 0 0.00173553 -0.0004452610.999799 0.0199531 uwb: 0.0 1242.36 1339.77 -imu_odom_: 1691062526.242320078 0.572214 0.299275 10.4004 -0.0383495 -0.0181095 0.0447411 0.23 0.02 pose: 0.43977094 -3.60668 -3.76766 0 0.00016756 0.00247938 0.999797 0.019982 uwb: 0.49991019 1240.94 1341.55 -imu_odom_: 1691062526.258255913 0.220267 -0.244209 9.84017 -0.0628506 0.0255663 0.052198 0.23 0.02 pose: 0.0 -3.60668 -3.76766 0 0.00016756 0.00247938 0.999797 0.019982 uwb: 0.0 1240.94 1341.55 -imu_odom_: 1691062526.275266736 0.248997 -0.277727 10.4387 -0.0617853 -0.0394148 0.0223706 0.25 0.02 pose: 0.51062799 -3.60668 -3.76766 0 -0.00269741 0.00229922 0.999798 0.019778 uwb: 0.0 1240.94 1341.55 -imu_odom_: 1691062526.301316089 0.627281 -0.418985 9.73961 -0.072438 -0.0394148 0.0607201 0.25 0.02 pose: 0.0 -3.60668 -3.76766 0 -0.00269741 0.00229922 0.999798 0.019778 uwb: 0.49850448 1239.27 1343.62 -imu_odom_: 1691062526.318536893 0.131681 -0.237026 9.80186 -0.0383495 -0.0308927 0.0351537 0.25 0.02 pose: 0.42923397 -3.61983 -3.76246 0 -0.00346461 0.00266628 0.999797 0.0196894 uwb: 0.0 1239.27 1343.62 -imu_odom_: 1691062526.343304777 0.349553 -0.0143652 9.78271 -0.0713727 0.0245011 0.056459 0.25 0.02 pose: 0.0 -3.61983 -3.76246 0 -0.00346461 0.00266628 0.999797 0.0196894 uwb: 0.50125173 1240.76 1343.2 -imu_odom_: 1691062526.360279728 0.548272 -0.0646434 9.78271 -0.0628506 -0.0330232 0.04048 0.23 0 pose: 0.43254408 -3.62901 -3.76644 0 -0.00202539 -6.5563e-05 0.999807 0.019524 uwb: 0.0 1240.76 1343.2 -imu_odom_: 1691062526.376271558 0.76375 -0.0957681 10.1778 -0.0372843 -0.0223706 0.0351537 0.23 0 pose: 0.0 -3.62901 -3.76644 0 -0.00202539 -6.5563e-05 0.999807 0.019524 uwb: 0.0 1240.76 1343.2 -imu_odom_: 1691062526.393380664 0.368707 -0.409408 9.27993 -0.0671117 0.0138484 0.0671117 0.23 0 pose: 0.0 -3.62901 -3.76644 0 -0.00202539 -6.5563e-05 0.999807 0.019524 uwb: 0.50022808 1239.02 1345.19 -imu_odom_: 1691062526.419379855 -0.0981623 -0.184354 9.55765 -0.0319579 0.0553937 0.036219 0.25 0.02 pose: 0.41887781 -3.64216 -3.76124 0 -0.00243626 0.00252652 0.999807 0.0193241 uwb: 0.0 1239.02 1345.19 -imu_odom_: 1691062526.443251235 0.287304 -0.241814 9.8258 -0.0852212 0.0245011 0.0660464 0.24 0 pose: 0.68977416 -3.64876 -3.76411 0 -0.00349521 0.00187638 0.999809 0.0191584 uwb: 0.49725626 1239.86 1345.76 -imu_odom_: 1691062526.467308682 0.416591 -0.268151 10.2639 -0.0575243 -0.00958738 0.0543285 0.24 0 pose: 0.0 -3.64876 -3.76411 0 -0.00349521 0.00187638 0.999809 0.0191584 uwb: 0.0 1239.86 1345.76 -imu_odom_: 1691062526.492364415 0.172383 -0.349553 10.0868 -0.0617853 -0.0298274 0.0500674 0.19 0 pose: 0.7029417 -3.65133 -3.76523 0 -0.0040338 0.00122138 0.999809 0.0190676 uwb: 0.50178836 1239.6 1346.68 -imu_odom_: 1691062526.519423429 0.608127 -0.347159 10.0317 -0.0553937 -0.0490022 0.0639159 0.19 0 pose: 0.0 -3.65133 -3.76523 0 -0.0040338 0.00122138 0.999809 0.0190676 uwb: 0.0 1239.6 1346.68 -imu_odom_: 1691062526.535307060 0.423774 -0.344765 9.67736 -0.0585895 0.0117179 0.0511327 0.18 -0.02 pose: 0.48964444 -3.66449 -3.76005 0 -0.00360327 -0.00169218 0.999818 0.0186358 uwb: 0.49821575 1238.38 1348.14 -imu_odom_: 1691062526.562224336 0.68953 -0.208296 9.76595 -0.04048 -0.00745685 0.0458064 0.18 -0.02 pose: 0.0 -3.66449 -3.76005 0 -0.00360327 -0.00169218 0.999818 0.0186358 uwb: 0.0 1238.38 1348.14 -imu_odom_: 1691062526.587259946 0.3304 -0.378284 9.95988 -0.056459 0.0149137 0.0500674 0.25 0.02 pose: 0.51917306 -3.67366 -3.76405 0 -0.00121812 -0.00402203 0.999826 0.0181841 uwb: 0.49988978 1239.96 1348.48 -imu_odom_: 1691062526.614550815 0.505177 -0.222661 9.84256 -0.0660464 -0.0553937 0.0596548 0.22 0 pose: 0.16062407 -3.67366 -3.76405 0 -1.57893e-05-0.00438296 0.999826 0.0181191 uwb: 0.0 1239.96 1348.48 -imu_odom_: 1691062526.630353953 0.512359 0.0790087 9.92397 -0.0543285 -0.0394148 0.0500674 0.22 0 pose: 0.43906517 -3.68289 -3.76044 0 -0.00037085 -0.00527478 0.999825 0.0179278 uwb: 0.50117007 1238.01 1350.87 -imu_odom_: 1691062526.657212318 0.213084 -0.134075 9.95748 -0.0511327 -0.0117179 0.0415453 0.25 0.02 pose: 0.7138783 -3.68683 -3.7589 0 0.000355413 -0.00485311 0.999829 0.0178579 uwb: 0.0 1238.01 1350.87 -imu_odom_: 1691062526.682385874 0.620098 -0.344765 9.84017 -0.0426106 0 0.0415453 0.25 0.02 pose: 0.0 -3.68683 -3.7589 0 0.000355413 -0.00485311 0.999829 0.0178579 uwb: 0.50131007 1239.72 1350.76 -imu_odom_: 1691062526.709279527 0.54109 -0.390255 10.1251 -0.0490022 -0.0181095 0.0692422 0.23 -0.02 pose: 0.42953144 -3.68683 -3.7589 0 0.00237217 -0.00177337 0.999841 0.0175743 uwb: 0.0 1239.72 1350.76 -imu_odom_: 1691062526.734277224 0.581791 0.229843 10.4531 -0.0319579 -0.0415453 0.0372843 0.23 -0.02 pose: 0.0 -3.68683 -3.7589 0 0.00237217 -0.00177337 0.999841 0.0175743 uwb: 0.49977603 1240.61 1351.4 -imu_odom_: 1691062526.751269090 0.339977 -0.445322 9.66779 -0.052198 0.0181095 0.0532632 0.23 0 pose: 0.51865686 -3.69599 -3.76291 0 0.00318137 -0.00251556 0.99984 0.017427 uwb: 0.0 1240.61 1351.4 -imu_odom_: 1691062526.776207875 0.476446 -0.229843 9.67497 -0.0266316 0.0447411 0.0372843 0.23 0 pose: 0.0 -3.69599 -3.76291 0 0.00318137 -0.00251556 0.99984 0.017427 uwb: 0.0 1240.61 1351.4 -imu_odom_: 1691062526.803219935 0.292093 -0.42138 9.41161 -0.0607201 -0.0372843 0.0639159 0.21 0 pose: 0.52014422 -3.70916 -3.75777 0 0.00471266 -0.00198167 0.99984 0.0171131 uwb: 0.0 1240.61 1351.4 -imu_odom_: 1691062526.828265753 0.536301 -0.141258 9.68694 -0.0351537 -0.0319579 0.0394148 0.21 0 pose: 0.0 -3.70916 -3.75777 0 0.00471266 -0.00198167 0.99984 0.0171131 uwb: 0.99921669 1240.22 1352.81 -imu_odom_: 1691062526.845316822 0.620098 -0.110133 9.89045 -0.0735032 -0.0351537 0.0532632 0.23 0 pose: 0.41992771 -3.71832 -3.7618 0 0.00283516 -0.0004400250.999852 0.0169909 uwb: 0.0 1240.22 1352.81 -imu_odom_: 1691062526.870196696 0.275333 0.107739 10.1466 -0.0607201 -0.00319579 0.056459 0.23 0 pose: 0.0 -3.71832 -3.7618 0 0.00283516 -0.0004400250.999852 0.0169909 uwb: 0.0 1240.22 1352.81 -imu_odom_: 1691062526.897199423 0.296881 -0.335188 9.97185 -0.0820254 -0.0692422 0.0575243 0.19 0 pose: 0.52125246 -3.7315 -3.75668 0 0.00458952 0.000418774 0.99985 0.0167042 uwb: 0.49814284 1240.53 1353.93 -imu_odom_: 1691062526.922373270 0.186748 -0.483629 10.2352 -0.056459 0.0245011 0.0383495 0.19 0 pose: 0.61849425 -3.74065 -3.76071 0 0.00292896 0.000595798 0.999864 0.0162013 uwb: 0.0 1240.53 1353.93 -imu_odom_: 1691062526.939368636 0.859518 -0.0574608 9.7444 -0.0660464 -0.0692422 0.0532632 0.19 0 pose: 0.0 -3.74065 -3.76071 0 0.00292896 0.000595798 0.999864 0.0162013 uwb: 0.50186710 1241.78 1354.42 -imu_odom_: 1691062526.955191898 0.931344 -0.0742203 9.07163 -0.0479369 -0.0426106 0.0788296 0.19 0 pose: 0.0 -3.74065 -3.76071 0 0.00292896 0.000595798 0.999864 0.0162013 uwb: 0.0 1241.78 1354.42 -imu_odom_: 1691062526.972353207 0.80924 -0.361524 10.1801 -0.0468716 0.00213053 0.111853 0.22 0.23 pose: 0.8150193 -3.74065 -3.76071 0 0.00223282 1.94351e-05 0.999866 0.0162049 uwb: 0.0 1241.78 1354.42 -imu_odom_: 1691062526.989238333 1.56581 -0.272939 10.7141 -0.0500674 -0.04048 0.183225 0.22 0.23 pose: 0.0 -3.74065 -3.76071 0 0.00223282 1.94351e-05 0.999866 0.0162049 uwb: 0.0 1241.78 1354.42 -imu_odom_: 1691062527.5187583 1.72383 -0.342371 9.18655 -0.0479369 0.00958738 0.271642 0.22 0.23 pose: 0.0 -3.74065 -3.76071 0 0.00223282 1.94351e-05 0.999866 0.0162049 uwb: 0.0 1241.78 1354.42 -imu_odom_: 1691062527.22164872 1.69509 -0.366313 10.3884 -0.0585895 0.0287621 0.361125 0.12 0.29 pose: 0.56960066 -3.75382 -3.7556 0 0.00535364 -0.0004414510.999865 0.0155306 uwb: 0.0 1241.78 1354.42 -imu_odom_: 1691062527.39247151 1.38385 -0.490811 9.44991 -0.0660464 0 0.415453 0.11 0.38 pose: 0.0 -3.75382 -3.7556 0 0.00535364 -0.0004414510.999865 0.0155306 uwb: 0.99996043 1245.02 1353.19 -imu_odom_: 1691062527.57187145 1.14443 -0.248997 9.84496 -0.0458064 0.0340885 0.425041 0.11 0.38 pose: 0.67893686 -3.76299 -3.75959 0 0.0118352 -0.001626 0.999898 0.00786099 uwb: 0.0 1245.02 1353.19 -imu_odom_: 1691062527.74241135 1.00317 0.0143652 10.0197 -0.0447411 0.0181095 0.471912 0.1 0.44 pose: 0.0 -3.76299 -3.75959 0 0.0118352 -0.001626 0.999898 0.00786099 uwb: 0.0 1245.02 1353.19 -imu_odom_: 1691062527.90445867 0.351948 -0.328006 9.50259 -0.0681769 0.0394148 0.552872 0.1 0.44 pose: 0.0 -3.76299 -3.75959 0 0.0118352 -0.001626 0.999898 0.00786099 uwb: 0.49921621 1247.29 1352.49 -imu_odom_: 1691062527.108457314 0.895431 -0.830788 9.98622 -0.0607201 -0.015979 0.599744 0.1 0.44 pose: 0.34045860 -3.76299 -3.75959 0 0.0145754 -0.00147333 0.999892 0.00118648 uwb: 0.0 1247.29 1352.49 -imu_odom_: 1691062527.125372191 0.821211 -0.505177 9.77553 -0.0383495 -0.00639159 0.635963 0.08 0.5 pose: 0.44208086 -3.76844 -3.76189 0 0.0140795 -0.00322281 0.999844 -0.0101928 uwb: 0.0 1247.29 1352.49 -imu_odom_: 1691062527.142196368 0.833182 -0.265756 9.99819 -0.0607201 0.0181095 0.678573 0.08 0.5 pose: 0.6762567 -3.77218 -3.76353 0 0.0144543 -0.00375723 0.999814 -0.0122163 uwb: 0.50103313 1249.42 1352.26 -imu_odom_: 1691062527.159312769 0.603339 -0.158017 9.80665 -0.0511327 0.0191748 0.66366 0.09 0.67 pose: 0.0 -3.77218 -3.76353 0 0.0144543 -0.00375723 0.999814 -0.0122163 uwb: 0.0 1249.42 1352.26 -imu_odom_: 1691062527.176311638 0.416591 -0.160412 9.75637 -0.0308927 -0.00426106 0.639159 0.06 0.55 pose: 0.44092888 -3.77214 -3.76349 0 0.0150727 -0.00289164 0.999546 -0.0259326 uwb: 0.0 1249.42 1352.26 -imu_odom_: 1691062527.192447543 0.517148 -0.0335188 9.93354 -0.0468716 -0.00213053 0.647681 0.06 0.58 pose: 0.0 -3.77214 -3.76349 0 0.0150727 -0.00289164 0.999546 -0.0259326 uwb: 0.49883708 1249.04 1353.68 -imu_odom_: 1691062527.210446741 0.751779 -0.320823 10.1466 -0.052198 0.00745685 0.638093 0.06 0.58 pose: 0.0 -3.77214 -3.76349 0 0.0150727 -0.00289164 0.999546 -0.0259326 uwb: 0.0 1249.04 1353.68 -imu_odom_: 1691062527.227163885 0.672771 -0.325611 10.1514 -0.0490022 0.00426106 0.585895 0.05 0.5 pose: 0.23900841 -3.77218 -3.76353 0 0.0130678 -0.00156521 0.999365 -0.0331162 uwb: 0.49876708 1249.89 1354.23 -imu_odom_: 1691062527.243222213 0.622492 -0.0622492 9.69412 -0.0490022 -0.00745685 0.548611 0.05 0.5 pose: 0.0 -3.77218 -3.76353 0 0.0130678 -0.00156521 0.999365 -0.0331162 uwb: 0.0 1249.89 1354.23 -imu_odom_: 1691062527.260161297 0.56982 -0.0526724 9.71567 -0.0543285 -0.00106526 0.52411 0.05 0.5 pose: 0.35132806 -3.77621 -3.75438 0 0.0137531 -0.00273612 0.998956 -0.0434742 uwb: 0.0 1249.89 1354.23 -imu_odom_: 1691062527.277218786 0.708684 -0.1652 10.003 -0.0511327 -0.00213053 0.499609 0.04 0.35 pose: 0.0 -3.77621 -3.75438 0 0.0137531 -0.00273612 0.998956 -0.0434742 uwb: 0.50069192 1249.81 1355.43 -imu_odom_: 1691062527.294273359 0.737414 -0.342371 9.9096 -0.0490022 -0.0127832 0.46339 0.04 0.35 pose: 0.0 -3.77621 -3.75438 0 0.0137531 -0.00273612 0.998956 -0.0434742 uwb: 0.0 1249.81 1355.43 -imu_odom_: 1691062527.312163192 0.723049 -0.196325 9.84017 -0.056459 -0.00852212 0.430367 0.04 0.35 pose: 0.75926943 -3.78534 -3.75834 0 0.0144937 -0.0006279610.997998 -0.0615611 uwb: 0.0 1249.81 1355.43 -imu_odom_: 1691062527.329376126 0.68953 -0.0430956 9.87129 -0.056459 0.00213053 0.394148 0.04 0.29 pose: 0.0 -3.78534 -3.75834 0 0.0144937 -0.0006279610.997998 -0.0615611 uwb: 0.50117603 1250.81 1355.53 -imu_odom_: 1691062527.355307080 0.521936 -0.172383 9.94551 -0.0543285 0 0.340885 0.03 0.26 pose: 0.8004083 -3.78538 -3.75838 0 0.0149786 -5.24196e-060.997894 -0.0631116 uwb: 0.0 1250.81 1355.53 -imu_odom_: 1691062527.372428147 0.531513 -0.208296 9.88087 -0.0511327 0.00639159 0.30147 0.03 0.26 pose: 0.0 -3.78538 -3.75838 0 0.0149786 -5.24196e-060.997894 -0.0631116 uwb: 0.0 1250.81 1355.53 -imu_odom_: 1691062527.389172997 0.071826 -0.201113 9.83059 -0.0639159 0.0436758 0.213053 0.03 0.23 pose: 0.0 -3.78538 -3.75838 0 0.0149786 -5.24196e-060.997894 -0.0631116 uwb: 0.49937370 1252.92 1355.22 -imu_odom_: 1691062527.406288523 -0.471658 0.253785 10.2089 -0.0458064 0.0649811 0.0980043 0.03 0.23 pose: 0.77172833 -3.78538 -3.75838 0 0.00999302 0.00184765 0.997148 -0.0747837 uwb: 0.0 1252.92 1355.22 -imu_odom_: 1691062527.423141281 -1.35751 0.251391 10.1107 -0.0756338 0.0330232 0.140615 0.11 0.29 pose: 0.0 -3.78538 -3.75838 0 0.00999302 0.00184765 0.997148 -0.0747837 uwb: 0.0 1252.92 1355.22 -imu_odom_: 1691062527.439262895 -0.739808 -0.830788 9.8282 -0.0862864 -0.110787 0.219444 0.11 0.29 pose: 0.26838248 -3.78538 -3.75838 0 0.0065763 0.00227325 0.997075 -0.0761178 uwb: 0.49856002 1250.6 1357.87 -imu_odom_: 1691062527.456132568 0.234632 -0.938527 9.75637 -0.0436758 -0.0862864 0.192813 0.11 0.29 pose: 0.7006672 -3.78538 -3.75838 0 0.00575905 0.00229313 0.997053 -0.0764686 uwb: 0.0 1250.6 1357.87 -imu_odom_: 1691062527.482255421 0.641646 0.299275 9.70849 -0.0575243 0.015979 0.22264 0.1 0.14 pose: 0.33986073 -3.78538 -3.75838 0 0.00425475 0.000561499 0.996864 -0.0790205 uwb: 0.50114979 1251.11 1358.6 -imu_odom_: 1691062527.499143468 0.292093 0.0742203 9.90242 -0.0649811 0.0181095 0.217314 0.14 0.14 pose: 0.0 -3.78538 -3.75838 0 0.00425475 0.000561499 0.996864 -0.0790205 uwb: 0.0 1251.11 1358.6 -imu_odom_: 1691062527.516130380 0.56982 -0.277727 10.2137 -0.0479369 -0.0553937 0.185356 0.14 0.14 pose: 0.41881667 -3.79452 -3.76243 0 0.00412068 0.00273711 0.996564 -0.0826793 uwb: 0.0 1251.11 1358.6 -imu_odom_: 1691062527.532193083 1.05105 -0.366313 9.64863 -0.0607201 -0.0756338 0.154463 0.08 0 pose: 0.0 -3.79452 -3.76243 0 0.00412068 0.00273711 0.996564 -0.0826793 uwb: 0.49880208 1252.4 1358.44 -imu_odom_: 1691062527.548127463 1.69749 -0.126893 9.93594 -0.0394148 -0.0351537 0.0639159 0.08 0 pose: 0.0 -3.79452 -3.76243 0 0.00412068 0.00273711 0.996564 -0.0826793 uwb: 0.0 1252.4 1358.44 -imu_odom_: 1691062527.563123344 1.5275 0.237026 9.65821 -0.0639159 0.0149137 -0.0191748 0.08 0 pose: 0.49970325 -3.79452 -3.76243 0 0.00780811 0.0020007 0.996279 -0.0858054 uwb: 0.0 1252.4 1358.44 -imu_odom_: 1691062527.581193119 1.04387 0.0622492 9.68933 -0.0553937 0.0234358 -0.142745 0.06 -0.23 pose: 0.0 -3.79452 -3.76243 0 0.00780811 0.0020007 0.996279 -0.0858054 uwb: 0.50054317 1252.23 1359.54 -imu_odom_: 1691062527.598252066 0.730232 0.213084 10.0078 -0.0468716 0.04048 -0.290817 0.06 -0.23 pose: 0.42059859 -3.80358 -3.76656 0 0.0112668 0.00384503 0.99641 -0.0838232 uwb: 0.0 1252.23 1359.54 -imu_odom_: 1691062527.612183749 0.586579 0.0694318 10.058 -0.0553937 0.00639159 -0.295078 0.06 -0.23 pose: 0.0 -3.80358 -3.76656 0 0.0112668 0.00384503 0.99641 -0.0838232 uwb: 0.0 1252.23 1359.54 -imu_odom_: 1691062527.630129869 0.562637 -0.512359 9.70849 -0.0756338 0.00639159 -0.278034 0.04 -0.26 pose: 0.0 -3.80358 -3.76656 0 0.0112668 0.00384503 0.99641 -0.0838232 uwb: 0.49981116 1254.46 1359.38 -imu_odom_: 1691062527.646132202 0.579397 -0.47884 10.0078 -0.0511327 0.00319579 -0.30147 0.04 -0.29 pose: 0.48936750 -3.80361 -3.7666 0 0.0104468 0.00498626 0.997053 -0.0758347 uwb: 0.0 1254.46 1359.38 -imu_odom_: 1691062527.663123197 0.445322 0.00957681 9.9503 -0.0596548 -0.0127832 -0.319579 0.04 -0.29 pose: 0.0 -3.80361 -3.7666 0 0.0104468 0.00498626 0.997053 -0.0758347 uwb: 0.0 1254.46 1359.38 -imu_odom_: 1691062527.681118312 0.770933 0.0861913 9.85932 -0.0607201 -0.0340885 -0.353668 0.04 -0.41 pose: 0.0 -3.80361 -3.7666 0 0.0104468 0.00498626 0.997053 -0.0758347 uwb: 0.50009405 1255.82 1359.3 -imu_odom_: 1691062527.696124691 0.732626 -0.0814029 9.81144 -0.0671117 -0.0127832 -0.406931 0.04 -0.41 pose: 0.23074915 -3.80361 -3.7666 0 0.00982154 0.00391489 0.997359 -0.0718579 uwb: 0.0 1255.82 1359.3 -imu_odom_: 1691062527.713131435 0.653617 -0.234632 9.94791 -0.0628506 0.00106526 -0.428236 0.04 -0.41 pose: 0.0 -3.80361 -3.7666 0 0.00982154 0.00391489 0.997359 -0.0718579 uwb: 0.0 1255.82 1359.3 -imu_odom_: 1691062527.731123342 0.509965 -0.311246 9.94312 -0.072438 0.00106526 -0.421845 0.03 -0.44 pose: 0.33921329 -3.80361 -3.7666 0 0.0110105 0.0062117 0.997793 -0.0651931 uwb: 0.49956035 1258.38 1358.25 -imu_odom_: 1691062527.747123050 0.205901 -0.366313 9.76834 -0.0617853 -0.00106526 -0.420779 0.03 -0.44 pose: 0.34065400 -3.80361 -3.7666 0 0.0115737 0.00403444 0.998277 -0.0573898 uwb: 0.0 1258.38 1358.25 -imu_odom_: 1691062527.764120754 0.409408 -0.110133 9.78271 -0.0585895 -0.02024 -0.405866 0.03 -0.44 pose: 0.0 -3.80361 -3.7666 0 0.0115737 0.00403444 0.998277 -0.0573898 uwb: 0.0 1258.38 1358.25 -imu_odom_: 1691062527.781116415 0.684742 -0.292093 9.94791 -0.0660464 -0.02024 -0.337689 0.04 -0.53 pose: 0.42929241 -3.80358 -3.76656 0 0.00806095 0.00289766 0.998828 -0.0476464 uwb: 0.49953701 1258.17 1359.27 -imu_odom_: 1691062527.797114665 0.749385 -0.373495 9.85932 -0.056459 -0.0170442 -0.304666 0.03 -0.35 pose: 0.0 -3.80358 -3.76656 0 0.00806095 0.00289766 0.998828 -0.0476464 uwb: 0.0 1258.17 1359.27 -imu_odom_: 1691062527.814222317 0.782904 -0.318429 10.0006 -0.0447411 -0.00852212 -0.279099 0.03 -0.35 pose: 0.0 -3.80358 -3.76656 0 0.00806095 0.00289766 0.998828 -0.0476464 uwb: 0.0 1258.17 1359.27 -imu_odom_: 1691062527.830114118 0.665588 -0.138864 9.85932 -0.0649811 0.00319579 -0.236489 0.02 -0.29 pose: 0.7002879 -3.80361 -3.7666 0 0.00862155 0.00238901 0.998886 -0.0463317 uwb: 0.50146476 1258.3 1359.46 -imu_odom_: 1691062527.847178607 0.4956 -0.301669 9.98382 -0.056459 0.00639159 -0.215183 0.02 -0.29 pose: 0.0 -3.80361 -3.7666 0 0.00862155 0.00238901 0.998886 -0.0463317 uwb: 0.0 1258.3 1359.46 -imu_odom_: 1691062527.863168691 0.438139 -0.258574 9.87608 -0.0553937 -0.00532632 -0.217314 0.02 -0.29 pose: 0.0 -3.80361 -3.7666 0 0.00862155 0.00238901 0.998886 -0.0463317 uwb: 0.0 1258.3 1359.46 -imu_odom_: 1691062527.880105150 0.557849 -0.105345 9.91199 -0.0553937 -0.0213053 -0.183225 0.02 -0.32 pose: 0.51068645 -3.80361 -3.7666 0 0.0123151 0.000558221 0.999206 -0.037894 uwb: 0.49868834 1259.76 1358.85 -imu_odom_: 1691062527.896378125 0.612916 -0.356736 9.84496 -0.0639159 -0.0127832 -0.162985 0.02 -0.32 pose: 0.0 -3.80361 -3.7666 0 0.0123151 0.000558221 0.999206 -0.037894 uwb: 0.0 1259.76 1358.85 -imu_odom_: 1691062527.914283415 0.605733 -0.217872 9.95509 -0.0490022 -0.00319579 -0.15979 0.02 -0.32 pose: 0.65995989 -3.81684 -3.7616 0 0.00934016 0.000742707 0.99951 -0.0298704 uwb: 0.0 1259.76 1358.85 -imu_odom_: 1691062527.930137011 0.605733 -0.153229 9.87848 -0.0607201 -0.00532632 -0.135289 0.01 -0.17 pose: 0.0 -3.81684 -3.7616 0 0.00934016 0.000742707 0.99951 -0.0298704 uwb: 0.50247967 1261.76 1357.65 -imu_odom_: 1691062527.947271785 0.56982 -0.260968 9.91199 -0.056459 -0.00319579 -0.11931 0.01 -0.17 pose: 0.0 -3.81684 -3.7616 0 0.00934016 0.000742707 0.99951 -0.0298704 uwb: 0.0 1261.76 1357.65 -imu_odom_: 1691062527.972214660 0.514753 -0.217872 9.88805 -0.0553937 -0.00745685 -0.109722 0.01 -0.17 pose: 0.33103277 -3.81684 -3.7616 0 0.0110414 0.00114447 0.999583 -0.0266393 uwb: 0.0 1261.76 1357.65 -imu_odom_: 1691062527.986116304 0.493206 -0.191536 9.90721 -0.0575243 -0.0117179 -0.100135 0.01 -0.14 pose: 0.32872298 -3.81684 -3.7616 0 0.00927328 0.000388953 0.999669 -0.0239967 uwb: 0.49752470 1259.9 1359.04 -imu_odom_: 1691062528.11209375 0.349553 -0.0670376 9.94312 -0.0543285 0.00213053 -0.184291 0.01 -0.14 pose: 0.0 -3.81684 -3.7616 0 0.00927328 0.000388953 0.999669 -0.0239967 uwb: 0.0 1259.9 1359.04 -imu_odom_: 1691062528.38091668 0.486023 0.105345 9.991 -0.0617853 -0.0340885 -0.276969 0.02 -0.35 pose: 0.38979548 -3.81684 -3.7616 0 0.00566635 0.00109861 0.999765 -0.0208872 uwb: 0.50114110 1259.78 1359.53 -imu_odom_: 1691062528.54307778 0.454898 -0.275333 9.67018 -0.0660464 -0.0234358 -0.331297 0.02 -0.35 pose: 0.0 -3.81684 -3.7616 0 0.00566635 0.00109861 0.999765 -0.0208872 uwb: 0.0 1259.78 1359.53 -imu_odom_: 1691062528.81235275 0.512359 -0.222661 9.88087 -0.0575243 -0.0245011 -0.383495 0.02 -0.47 pose: 0.53248670 -3.81684 -3.7616 0 0.00439253 0.00397924 0.999897 -0.0130543 uwb: 0.50122865 1258.44 1360.99 -imu_odom_: 1691062528.106181656 0.526724 -0.177171 9.91439 -0.0649811 -0.0213053 -0.406931 0.02 -0.47 pose: 0.34843215 -3.81681 -3.76157 0 0.0054848 0.00064283 0.999967 -0.0059057 uwb: 0.0 1258.44 1360.99 -imu_odom_: 1691062528.133205103 0.663194 -0.1652 10.0509 -0.0660464 -0.0127832 -0.421845 0.02 -0.58 pose: 0.0 -3.81681 -3.76157 0 0.0054848 0.00064283 0.999967 -0.0059057 uwb: 0.0 1258.44 1360.99 -imu_odom_: 1691062528.158139526 0.42138 -0.162806 9.96467 -0.0575243 0.0191748 -0.471912 0.02 -0.55 pose: 0.8046081 -3.81684 -3.7616 0 0.00597733 0.00129776 0.999973 -0.00410572 uwb: 0.0 1258.44 1360.99 -imu_odom_: 1691062528.185092688 0.505177 -0.102951 9.83538 -0.0617853 -0.00958738 -0.490022 0.02 -0.55 pose: 0.0 -3.81684 -3.7616 0 0.00597733 0.00129776 0.999973 -0.00410572 uwb: 0.99869515 1255.64 1363.06 -imu_odom_: 1691062528.210087481 0.720655 -0.143652 9.95748 -0.0585895 -0.0340885 -0.533697 0.01 -0.61 pose: 0.51819050 -3.81684 -3.7616 0 0.0089234 0.0025155 0.999926 0.0079238 uwb: 0.0 1255.64 1363.06 -imu_odom_: 1691062528.227240049 0.672771 -0.217872 9.80426 -0.0607201 0.00532632 -0.560329 0.01 -0.61 pose: 0.0 -3.81684 -3.7616 0 0.0089234 0.0025155 0.999926 0.0079238 uwb: 0.49859222 1256.37 1362.75 -imu_odom_: 1691062528.253337537 0.509965 -0.196325 9.85214 -0.0607201 -0.00852212 -0.596548 0.01 -0.58 pose: 0.52027864 -3.81684 -3.7616 0 0.00667569 0.00477783 0.99973 0.0217408 uwb: 0.0 1256.37 1362.75 -imu_odom_: 1691062528.270224421 0.543484 -0.155623 10.0006 -0.0607201 -0.00639159 -0.615723 0.01 -0.58 pose: 0.0 -3.81684 -3.7616 0 0.00667569 0.00477783 0.99973 0.0217408 uwb: 0.0 1256.37 1362.75 -imu_odom_: 1691062528.286054689 0.612916 -0.227449 9.94551 -0.0617853 -0.0223706 -0.619984 0.01 -0.64 pose: 0.66979711 -3.81684 -3.7616 0 0.0072553 0.00260298 0.999078 0.0422308 uwb: 0.50119658 1255.49 1363.51 -imu_odom_: 1691062528.303062896 0.371101 -0.138864 9.79468 -0.0649811 -0.0127832 -0.638093 0.01 -0.64 pose: 0.0 -3.81684 -3.7616 0 0.0072553 0.00260298 0.999078 0.0422308 uwb: 0.0 1255.49 1363.51 -imu_odom_: 1691062528.320066144 0.497994 -0.234632 9.76834 -0.0553937 -0.0191748 -0.650877 0.01 -0.64 pose: 0.0 -3.81684 -3.7616 0 0.0072553 0.00260298 0.999078 0.0422308 uwb: 0.0 1255.49 1363.51 -imu_odom_: 1691062528.335160312 0.596156 -0.1652 9.89524 -0.0649811 -0.0213053 -0.66579 0.01 -0.64 pose: 0.50960458 -3.81684 -3.7616 0 0.00612005 0.00181031 0.998222 0.0592707 uwb: 0.49871471 1256.51 1362.94 -imu_odom_: 1691062528.351288346 0.684742 -0.11971 9.75877 -0.0511327 -0.0191748 -0.696683 0.01 -0.64 pose: 0.0 -3.81684 -3.7616 0 0.00612005 0.00181031 0.998222 0.0592707 uwb: 0.0 1256.51 1362.94 -imu_odom_: 1691062528.377118982 0.531513 -0.19393 9.94791 -0.0607201 0.0138484 -0.709466 0.01 -0.7 pose: 0.40219907 -3.8168 -3.76156 0 0.00907913 0.00187575 0.997245 0.0736025 uwb: 0.50076204 1255.59 1363.67 -imu_odom_: 1691062528.394054278 -0.071826 -0.248997 9.77074 -0.0532632 0.04048 -0.716923 0.01 -0.7 pose: 0.0 -3.8168 -3.76156 0 0.00907913 0.00187575 0.997245 0.0736025 uwb: 0.0 1255.59 1363.67 -imu_odom_: 1691062528.410053407 -0.21069 -0.162806 10.1131 -0.0458064 0.0426106 -0.719054 0.01 -0.7 pose: 0.6927930 -3.81684 -3.7616 0 0.00839635 0.00156299 0.997057 0.0761885 uwb: 0.0 1255.59 1363.67 -imu_odom_: 1691062528.428055525 -0.28491 -0.124498 10.173 -0.0628506 -0.0575243 -0.72438 0.04 -0.79 pose: 0.0 -3.81684 -3.7616 0 0.00839635 0.00156299 0.997057 0.0761885 uwb: 0.50103325 1255.65 1363.74 -imu_odom_: 1691062528.445055274 -0.158017 0.00718261 10.1825 -0.0553937 -0.00213053 -0.677508 0.05 -0.53 pose: 0.0 -3.81684 -3.7616 0 0.00839635 0.00156299 0.997057 0.0761885 uwb: 0.0 1255.65 1363.74 -imu_odom_: 1691062528.459107700 -0.533907 -0.512359 9.63187 -0.0713727 -0.0138484 -0.557133 0.05 -0.53 pose: 0.76892002 -3.81684 -3.7616 0 0.000535598 0.00164322 0.994467 0.105032 uwb: 0.0 1255.65 1363.74 -imu_odom_: 1691062528.476198441 -0.162806 -0.706289 9.98143 -0.076699 -0.04048 -0.461259 0.06 -0.5 pose: 0.0 -3.81684 -3.7616 0 0.000535598 0.00164322 0.994467 0.105032 uwb: 0.0 1255.65 1363.74 -imu_odom_: 1691062528.492166656 0.347159 -0.435745 9.84017 -0.0479369 -0.0319579 -0.466586 0.06 -0.5 pose: 0.0 -3.81684 -3.7616 0 0.000535598 0.00164322 0.994467 0.105032 uwb: 0.49989878 1257.69 1362.59 -imu_odom_: 1691062528.509126159 0.464475 0.160412 9.84496 -0.0500674 -0.0298274 -0.451672 0.06 -0.5 pose: 0.31053633 -3.82598 -3.76566 0 -0.00214667 0.00107515 0.99342 0.114506 uwb: 0.0 1257.69 1362.59 -imu_odom_: 1691062528.526080703 0.246603 0.047884 9.91918 -0.0553937 -0.0234358 -0.432497 0.09 -0.44 pose: 0.42964248 -3.82594 -3.76562 0 -0.00187622 0.000338831 0.992136 0.125152 uwb: 0.0 1257.69 1362.59 -imu_odom_: 1691062528.541061422 -0.023942 -0.260968 9.84017 -0.0532632 0.015979 -0.442085 0.09 -0.44 pose: 0.0 -3.82594 -3.76562 0 -0.00187622 0.000338831 0.992136 0.125152 uwb: 0.49701445 1256.99 1362.94 -imu_odom_: 1691062528.557132003 -0.265756 -0.270545 9.72525 -0.0468716 0.00852212 -0.430367 0.09 -0.44 pose: 0.0 -3.82594 -3.76562 0 -0.00187622 0.000338831 0.992136 0.125152 uwb: 0.0 1256.99 1362.94 -imu_odom_: 1691062528.572201089 0.129287 -0.222661 10.1466 -0.0511327 0.00213053 -0.387756 0.1 -0.44 pose: 0.7957422 -3.82598 -3.76566 0 -0.00203943 0.00108628 0.991898 0.127014 uwb: 0.0 1256.99 1362.94 -imu_odom_: 1691062528.588035732 0.059855 -0.476446 9.71567 -0.0703074 -0.00745685 -0.340885 0.09 -0.41 pose: 0.0 -3.82598 -3.76566 0 -0.00203943 0.00108628 0.991898 0.127014 uwb: 0.50105367 1256.16 1363.79 -imu_odom_: 1691062528.605219507 0.0957681 -0.0383072 10.0772 -0.0490022 -0.0351537 -0.333428 0.09 -0.41 pose: 0.0 -3.82598 -3.76566 0 -0.00203943 0.00108628 0.991898 0.127014 uwb: 0.0 1256.16 1363.79 -imu_odom_: 1691062528.623098261 0.629675 -0.0167594 10.0006 -0.0607201 -0.0351537 -0.313188 0.11 -0.35 pose: 0.62196216 -3.83 -3.7565 0 -0.00762676 0.001274 0.989984 0.140969 uwb: 0.0 1256.16 1363.79 -imu_odom_: 1691062528.640116675 0.68953 -0.138864 9.83777 -0.0436758 0.00852212 -0.309992 0.11 -0.35 pose: 0.0 -3.83 -3.7565 0 -0.00762676 0.001274 0.989984 0.140969 uwb: 0.49932716 1256.53 1363.64 -imu_odom_: 1691062528.654111356 0.299275 0.0263362 10.1634 -0.0479369 -0.0511327 -0.296144 0.11 -0.35 pose: 0.33945836 -3.83916 -3.76052 0 -0.00791416 0.00222771 0.989076 0.147175 uwb: 0.0 1256.53 1363.64 -imu_odom_: 1691062528.671238844 1.2402 -0.294487 10.4914 -0.0628506 -0.0713727 -0.282295 0.1 -0.29 pose: 0.40885723 -3.83912 -3.76049 0 -0.00462998 0.00383459 0.98803 0.154148 uwb: 0.0 1256.53 1363.64 -imu_odom_: 1691062528.688092481 1.42455 0.0861913 9.67018 -0.0596548 -0.0639159 -0.230097 0.1 -0.29 pose: 0.6962635 -3.83916 -3.76052 0 -0.0037428 0.00355793 0.987861 0.155254 uwb: 0.50065704 1256.86 1363.44 -imu_odom_: 1691062528.706084975 1.1971 -0.426168 10.0293 -0.0671117 0.0415453 -0.194943 0.1 -0.29 pose: 0.0 -3.83916 -3.76052 0 -0.0037428 0.00355793 0.987861 0.155254 uwb: 0.0 1256.86 1363.44 -imu_odom_: 1691062528.722037150 1.22583 -0.529119 9.72285 -0.0511327 0.0170442 -0.193878 0.07 -0.26 pose: 0.35021991 -3.8432 -3.75138 0 0.000237837 0.00276057 0.987108 0.160034 uwb: 0.0 1256.86 1363.44 -imu_odom_: 1691062528.739085311 1.03669 -0.0550666 9.8665 -0.0415453 0.0191748 -0.199204 0.07 -0.29 pose: 0.0 -3.8432 -3.75138 0 0.000237837 0.00276057 0.987108 0.160034 uwb: 0.50103909 1254.67 1365.06 -imu_odom_: 1691062528.757043100 0.696713 0.0981623 9.91439 -0.0553937 -0.0106526 -0.211988 0.07 -0.29 pose: 0.32940841 -3.85236 -3.75541 0 0.00267883 0.00155412 0.986482 0.163843 uwb: 0.0 1254.67 1365.06 -imu_odom_: 1691062528.774020101 0.560243 -0.134075 9.88566 -0.0500674 0.0127832 -0.221575 0.06 -0.26 pose: 0.0 -3.85236 -3.75541 0 0.00267883 0.00155412 0.986482 0.163843 uwb: 0.0 1254.67 1365.06 -imu_odom_: 1691062528.788017699 0.634463 -0.316035 9.84256 -0.0649811 -0.0298274 -0.213053 0.06 -0.26 pose: 0.0 -3.85236 -3.75541 0 0.00267883 0.00155412 0.986482 0.163843 uwb: 0.49950798 1254.39 1365.34 -imu_odom_: 1691062528.805166184 0.924162 -0.222661 9.97664 -0.0660464 -0.0170442 -0.203466 0.06 -0.26 pose: 0.35046781 -3.85236 -3.75541 0 0.00565384 0.00284863 0.98574 0.168155 uwb: 0.0 1254.39 1365.34 -imu_odom_: 1691062528.822080774 0.727837 -0.311246 9.77553 -0.0596548 0.00426106 -0.178964 0.04 -0.2 pose: 0.41082580 -3.85232 -3.75537 0 0.00898668 0.000837774 0.984844 0.173208 uwb: 0.0 1254.39 1365.34 -imu_odom_: 1691062528.839172098 0.679953 -0.184354 9.7875 -0.0628506 0 -0.170442 0.04 -0.2 pose: 0.6918306 -3.85236 -3.75541 0 0.00937777 0.000286933 0.98471 0.173947 uwb: 0.49989585 1254.05 1365.52 -imu_odom_: 1691062528.855111149 0.574608 -0.21069 9.90002 -0.0511327 0.0106526 -0.15979 0.04 -0.2 pose: 0.0 -3.85236 -3.75541 0 0.00937777 0.000286933 0.98471 0.173947 uwb: 0.0 1254.05 1365.52 -imu_odom_: 1691062528.882057311 0.708684 -0.225055 9.79947 -0.056459 -0.0149137 -0.128897 0.05 -0.2 pose: 0.43026659 -3.85232 -3.75537 0 0.00993053 -0.0009841560.983919 0.178338 uwb: 0.50035082 1253.92 1366.01 -imu_odom_: 1691062528.898129934 0.287304 -0.37589 9.75158 -0.0617853 0.0372843 -0.135289 0.03 -0.14 pose: 0.0 -3.85232 -3.75537 0 0.00993053 -0.0009841560.983919 0.178338 uwb: 0.0 1253.92 1366.01 -imu_odom_: 1691062528.925014852 -1.40061 0.167594 9.79947 -0.0394148 0.0756338 -0.166181 0.03 -0.14 pose: 0.35044739 -3.85236 -3.75541 0 0.0115942 -0.00225098 0.983366 0.181252 uwb: 0.0 1253.92 1366.01 -imu_odom_: 1691062528.942020725 -1.25456 -0.294487 10.1131 -0.0777643 -0.0692422 -0.0735032 0.07 -0.11 pose: 0.0 -3.85236 -3.75541 0 0.0115942 -0.00225098 0.983366 0.181252 uwb: 0.49891595 1252.14 1367.55 -imu_odom_: 1691062528.964069945 0.342371 -0.387861 9.90481 -0.0617853 -0.0862864 -0.0958738 0.07 -0.11 pose: 0.42880255 -3.85638 -3.74625 0 0.00658813 -0.00103718 0.982695 0.185111 uwb: 0.0 1252.14 1367.55 -imu_odom_: 1691062528.987117451 0.732626 0.11971 9.89524 -0.056459 -0.0266316 -0.0862864 0.09 -0.08 pose: 0.31033802 -3.86287 -3.74912 0 0.00500492 -0.00250828 0.982331 0.187071 uwb: 0.49896260 1251.23 1368.29 -imu_odom_: 1691062529.12172324 0.0383072 -0.442927 9.62469 -0.0628506 0.0245011 -0.0596548 0.09 -0.08 pose: 0.6131750 -3.86553 -3.75028 0 0.00548656 -0.00206908 0.982256 0.187453 uwb: 0.0 1251.23 1368.29 -imu_odom_: 1691062529.37061549 0.169988 -0.265756 9.80426 -0.036219 -0.0266316 -0.0894822 0.14 -0.11 pose: 0.41970629 -3.8655 -3.75025 0 0.00401745 -0.00150924 0.981828 0.189723 uwb: 0.50042379 1252.42 1367.96 -imu_odom_: 1691062529.51074607 0.294487 -0.0215478 9.66779 -0.0372843 -0.0181095 -0.0649811 0.14 -0.11 pose: 0.0 -3.8655 -3.75025 0 0.00401745 -0.00150924 0.981828 0.189723 uwb: 0.0 1252.42 1367.96 -imu_odom_: 1691062529.76186938 0.418985 -0.325611 9.96467 -0.0553937 0.0479369 -0.04048 0.11 -0.08 pose: 0.38902283 -3.86553 -3.75028 0 0.00139519 0.000245385 0.98139 0.192018 uwb: 0.0 1252.42 1367.96 -imu_odom_: 1691062529.99991550 0.323217 -0.23942 10.2352 -0.0479369 -0.0138484 -0.052198 0.11 -0.08 pose: 0.0 -3.86553 -3.75028 0 0.00139519 0.000245385 0.98139 0.192018 uwb: 0.50056676 1250.57 1369.39 -imu_odom_: 1691062529.124107926 -0.0215478 -0.162806 9.58878 -0.072438 -0.0255663 -0.0276969 0.13 -0.08 pose: 0.48916943 -3.87866 -3.74508 0 -0.00202929 -0.00112444 0.980985 0.194068 uwb: 0.0 1250.57 1369.39 -imu_odom_: 1691062529.140007318 0.272939 -0.25618 9.89045 -0.0543285 -0.00852212 -0.0255663 0.13 -0.08 pose: 0.0 -3.87866 -3.74508 0 -0.00202929 -0.00112444 0.980985 0.194068 uwb: 0.50140085 1251.04 1369.39 -imu_odom_: 1691062529.164058658 0.304064 -0.196325 10.1754 -0.0639159 0.0436758 -0.0319579 0.2 -0.11 pose: 0.40015768 -3.87869 -3.74512 0 -0.00558538 -0.0006315960.980715 0.195364 uwb: 0.0 1251.04 1369.39 -imu_odom_: 1691062529.191048574 0.679953 -0.217872 9.60075 -0.0798948 -0.0138484 -0.00639159 0.2 -0.11 pose: 0.0 -3.87869 -3.74512 0 -0.00558538 -0.0006315960.980715 0.195364 uwb: 0.49879941 1253.5 1368.16 -imu_odom_: 1691062529.207054123 0.988805 0.0454898 10.1011 -0.0649811 -0.0330232 -0.00958738 0.13 -0.05 pose: 0.51041256 -3.88916 -3.73878 0 -0.00263701 0.000651044 0.980439 0.196804 uwb: 0.0 1253.5 1368.16 -imu_odom_: 1691062529.224970503 0.730232 -0.306458 9.1267 -0.0788296 -0.0106526 0.0415453 0.13 -0.05 pose: 0.0 -3.88916 -3.73878 0 -0.00263701 0.000651044 0.980439 0.196804 uwb: 0.0 1253.5 1368.16 -imu_odom_: 1691062529.242098287 0.799663 -0.447716 9.90242 -0.0479369 0.00639159 0.0543285 0.11 0.14 pose: 0.0 -3.88916 -3.73878 0 -0.00263701 0.000651044 0.980439 0.196804 uwb: 0.50050260 1252.43 1369.35 -imu_odom_: 1691062529.256099971 1.30005 -0.306458 10.3406 -0.036219 -0.0149137 0.0894822 0.11 0.14 pose: 0.41045260 -3.89188 -3.73997 0 0.00123824 -0.0006853960.980379 0.197119 uwb: 0.0 1252.43 1369.35 -imu_odom_: 1691062529.273065602 1.28569 -0.308852 9.61751 -0.0553937 0.00319579 0.24288 0.11 0.14 pose: 0.0 -3.89188 -3.73997 0 0.00123824 -0.0006853960.980379 0.197119 uwb: 0.0 1252.43 1369.35 -imu_odom_: 1691062529.286977168 1.43413 -0.629675 10.1873 -0.0511327 0.00426106 0.334493 0.09 0.32 pose: 0.0 -3.89188 -3.73997 0 0.00123824 -0.0006853960.980379 0.197119 uwb: 0.49977057 1251.62 1370.24 -imu_odom_: 1691062529.302981843 0.785298 -0.694318 9.63906 -0.0479369 0.0117179 0.395213 0.09 0.32 pose: 0.46914828 -3.89188 -3.73997 0 0.00540182 -0.00239783 0.980954 0.19415 uwb: 0.0 1251.62 1370.24 -imu_odom_: 1691062529.320132082 0.842759 -0.342371 10.0341 -0.0383495 0.00852212 0.464455 0.09 0.32 pose: 0.0 -3.89188 -3.73997 0 0.00540182 -0.00239783 0.980954 0.19415 uwb: 0.0 1251.62 1370.24 -imu_odom_: 1691062529.338032131 0.952892 -0.110133 9.79228 -0.0532632 -0.00852212 0.531567 0.07 0.41 pose: 0.41123420 -3.90097 -3.73297 0 0.00789559 -0.00483328 0.98239 0.186615 uwb: 0.0 1251.62 1370.24 -imu_odom_: 1691062529.355143000 0.842759 -0.325611 9.81144 -0.052198 0.0181095 0.549676 0.06 0.38 pose: 0.0 -3.90097 -3.73297 0 0.00789559 -0.00483328 0.98239 0.186615 uwb: 0.0 1251.62 1370.24 -imu_odom_: 1691062529.372149169 0.577003 -0.246603 10.0269 -0.0458064 0.0223706 0.552872 0.06 0.38 pose: 0.25851641 -3.90502 -3.73476 0 0.0102895 -0.00477668 0.983546 0.1803 uwb: 0.0 1251.62 1370.24 -imu_odom_: 1691062529.389977766 0.368707 -0.124498 9.96706 -0.0490022 0.0127832 0.556068 0.07 0.58 pose: 0.0 -3.90502 -3.73476 0 0.0102895 -0.00477668 0.983546 0.1803 uwb: 0.99910078 1250.82 1371.16 -imu_odom_: 1691062529.407093009 0.411803 -0.0981623 9.87608 -0.0490022 -0.0234358 0.56459 0.07 0.58 pose: 0.0 -3.90502 -3.73476 0 0.0102895 -0.00477668 0.983546 0.1803 uwb: 0.0 1250.82 1371.16 -imu_odom_: 1691062529.422030860 0.742203 -0.248997 9.84975 -0.0468716 -0.00958738 0.565655 0.07 0.58 pose: 0.34109746 -3.90502 -3.73476 0 0.00874672 -0.00352144 0.985105 0.171695 uwb: 0.0 1250.82 1371.16 -imu_odom_: 1691062529.438080738 0.80924 -0.311246 9.92157 -0.0553937 0.00426106 0.566721 0.04 0.53 pose: 0.41937391 -3.90499 -3.73473 0 0.00850983 -0.00191548 0.986935 0.160883 uwb: 0.0 1250.82 1371.16 -imu_odom_: 1691062529.455138236 0.565032 -0.280122 9.77792 -0.0500674 0.00745685 0.575243 0.04 0.53 pose: 0.6107254 -3.90502 -3.73476 0 0.00901291 -0.00222497 0.987188 0.159292 uwb: 0.0 1250.82 1371.16 -imu_odom_: 1691062529.472022791 0.407014 -0.191536 9.97185 -0.0436758 0.00852212 0.580569 0.04 0.53 pose: 0.0 -3.90502 -3.73476 0 0.00901291 -0.00222497 0.987188 0.159292 uwb: 0.0 1250.82 1371.16 -imu_odom_: 1691062529.487967096 0.581791 -0.287304 10.0078 -0.0447411 -0.00426106 0.548611 0.04 0.47 pose: 0.43884677 -3.90499 -3.73473 0 0.00692801 -0.00291048 0.989009 0.147662 uwb: 0.99893454 1249.15 1372.87 -imu_odom_: 1691062529.505045592 0.641646 0.0215478 9.76116 -0.0500674 0.00106526 0.502805 0.05 0.61 pose: 0.0 -3.90499 -3.73473 0 0.00692801 -0.00291048 0.989009 0.147662 uwb: 0.0 1249.15 1372.87 -imu_odom_: 1691062529.521191128 0.675165 -0.0167594 10.0173 -0.0532632 0.00958738 0.468716 0.05 0.61 pose: 0.0 -3.90499 -3.73473 0 0.00692801 -0.00291048 0.989009 0.147662 uwb: 0.0 1249.15 1372.87 -imu_odom_: 1691062529.537965151 0.696713 -0.220267 9.77792 -0.0532632 0.00106526 0.416518 0.04 0.55 pose: 0.22944855 -3.90502 -3.73476 0 0.00810267 -0.00350163 0.989822 0.14204 uwb: 0.50178873 1249.16 1372.89 -imu_odom_: 1691062529.554070442 0.632069 -0.126893 9.98622 -0.0458064 0.00852212 0.369647 0.04 0.55 pose: 0.0 -3.90502 -3.73476 0 0.00810267 -0.00350163 0.989822 0.14204 uwb: 0.0 1249.16 1372.89 -imu_odom_: 1691062529.571074569 0.428562 -0.189142 9.90481 -0.0553937 0.00852212 0.367516 0.04 0.55 pose: 0.32991303 -3.90502 -3.73476 0 0.00984261 -0.0013228 0.990788 0.135055 uwb: 0.0 1249.16 1372.89 -imu_odom_: 1691062529.587141363 0.414197 -0.270545 9.95988 -0.0553937 0.00106526 0.366451 0.02 0.29 pose: 0.43115620 -3.90899 -3.72558 0 0.00935742 0.000247368 0.991755 0.127806 uwb: 0.50185581 1247.67 1374.19 -imu_odom_: 1691062529.604010753 0.531513 -0.272939 9.8258 -0.0490022 -0.0170442 0.34408 0.02 0.29 pose: 0.7032339 -3.90899 -3.72558 0 0.00867382 1.11195e-05 0.991908 0.126665 uwb: 0.0 1247.67 1374.19 -imu_odom_: 1691062529.620007552 0.667982 -0.124498 9.8689 -0.0479369 -0.00426106 0.316384 0.02 0.29 pose: 0.0 -3.90899 -3.72558 0 0.00867382 1.11195e-05 0.991908 0.126665 uwb: 0.0 1247.67 1374.19 -imu_odom_: 1691062529.636976100 0.641646 -0.059855 9.94791 -0.0575243 0.00213053 0.299339 0.03 0.35 pose: 0.41900644 -3.90895 -3.72554 0 0.00852661 -0.0008517810.992683 0.120447 uwb: 0.49695916 1247.93 1374.58 -imu_odom_: 1691062529.652967067 0.536301 -0.177171 9.94551 -0.056459 0.00852212 0.282295 0.02 0.23 pose: 0.0 -3.90895 -3.72554 0 0.00852661 -0.0008517810.992683 0.120447 uwb: 0.0 1247.93 1374.58 -imu_odom_: 1691062529.669943197 0.54109 -0.23942 9.90721 -0.0575243 -0.00319579 0.26312 0.02 0.23 pose: 0.0 -3.90895 -3.72554 0 0.00852661 -0.0008517810.992683 0.120447 uwb: 0.0 1247.93 1374.58 -imu_odom_: 1691062529.685999492 0.466869 -0.0957681 9.80426 -0.052198 0.00426106 0.245011 0.01 0.2 pose: 0.23960349 -3.90899 -3.72558 0 0.00863654 0.000705511 0.993043 0.117432 uwb: 0.50101297 1246.32 1375.7 -imu_odom_: 1691062529.702996328 0.507571 -0.148441 9.92636 -0.0553937 0.00106526 0.246076 0.01 0.2 pose: 0.0 -3.90899 -3.72558 0 0.00863654 0.000705511 0.993043 0.117432 uwb: 0.0 1246.32 1375.7 -imu_odom_: 1691062529.718992253 0.493206 -0.205901 9.84496 -0.056459 -0.00532632 0.229032 0.01 0.2 pose: 0.33022509 -3.91815 -3.72959 0 0.00687819 -0.0001338370.993487 0.113739 uwb: 0.0 1246.32 1375.7 -imu_odom_: 1691062529.736004547 0.593762 -0.141258 9.87129 -0.0511327 -0.00106526 0.208792 0.02 0.23 pose: 0.42001843 -3.91815 -3.72959 0 0.00510694 0.000819471 0.993964 0.109581 uwb: 0.49787782 1245.76 1376.27 -imu_odom_: 1691062529.751991431 0.560243 -0.0933739 9.88326 -0.0543285 -0.00106526 0.198139 0.02 0.23 pose: 0.0 -3.91815 -3.72959 0 0.00510694 0.000819471 0.993964 0.109581 uwb: 0.0 1245.76 1376.27 -imu_odom_: 1691062529.768987684 0.536301 -0.181959 9.93354 -0.0553937 0.00213053 0.18003 0.02 0.23 pose: 0.0 -3.91815 -3.72959 0 0.00510694 0.000819471 0.993964 0.109581 uwb: 0.0 1245.76 1376.27 -imu_odom_: 1691062529.785006065 0.526724 -0.158017 9.85214 -0.0543285 -0.00213053 0.156594 0.01 0.14 pose: 0.7005217 -3.91815 -3.72959 0 0.00575581 0.00107457 0.994025 0.108992 uwb: 0.49999515 1245.81 1376.35 -imu_odom_: 1691062529.802009027 0.500388 -0.162806 9.8665 -0.0553937 0.00106526 0.147006 0.01 0.14 pose: 0.0 -3.91815 -3.72959 0 0.00575581 0.00107457 0.994025 0.108992 uwb: 0.0 1245.81 1376.35 -imu_odom_: 1691062529.818058905 0.54109 -0.174777 9.87129 -0.0553937 -0.00639159 0.138484 0.01 0.14 pose: 0.66016437 -3.91815 -3.72959 0 0.00579868 0.00241867 0.994515 0.104405 uwb: 0.0 1245.81 1376.35 -imu_odom_: 1691062529.834089827 0.533907 -0.179565 9.8665 -0.0543285 -0.00426106 0.11931 0 0.08 pose: 0.0 -3.91815 -3.72959 0 0.00579868 0.00241867 0.994515 0.104405 uwb: 0.50025470 1248.23 1375.03 -imu_odom_: 1691062529.851141784 0.553061 -0.162806 9.8665 -0.0553937 -0.00426106 0.104396 0 0.08 pose: 0.0 -3.91815 -3.72959 0 0.00579868 0.00241867 0.994515 0.104405 uwb: 0.0 1248.23 1375.03 -imu_odom_: 1691062529.866935018 0.54109 -0.146046 9.93833 -0.056459 -0.00319579 0.0905475 0 0.08 pose: 0.33101543 -3.91815 -3.72959 0 0.0069405 0.00101068 0.994678 0.102792 uwb: 0.0 1248.23 1375.03 -imu_odom_: 1691062529.883041183 0.555455 -0.196325 9.91439 -0.0553937 -0.00319579 0.0735032 0 0.05 pose: 0.41819568 -3.91815 -3.72959 0 0.00693657 0.00321792 0.994806 0.101504 uwb: 0.49973558 1248.71 1375.05 -imu_odom_: 1691062529.899943236 0.550666 -0.146046 9.90002 -0.0543285 0 0.0585895 0 0.05 pose: 0.7088334 -3.91815 -3.72959 0 0.00713033 0.00253659 0.994819 0.101379 uwb: 0.0 1248.71 1375.05 -imu_odom_: 1691062529.915980574 0.521936 -0.179565 9.87369 -0.056459 -0.00319579 0.0543285 0 0.05 pose: 0.0 -3.91815 -3.72959 0 0.00713033 0.00253659 0.994819 0.101379 uwb: 0.0 1248.71 1375.05 -imu_odom_: 1691062529.930917551 0.47884 -0.21069 9.87369 -0.0553937 -0.00745685 0.0415453 0 0.02 pose: 0.41957222 -3.91815 -3.72959 0 0.00697324 0.00200706 0.994865 0.100947 uwb: 0.50086131 1250.17 1374.4 -imu_odom_: 1691062529.944912235 0.466869 -0.148441 9.85453 -0.0553937 -0.00426106 0.0340885 0 0 pose: 0.0 -3.91815 -3.72959 0 0.00697324 0.00200706 0.994865 0.100947 uwb: 0.0 1250.17 1374.4 -imu_odom_: 1691062529.959907248 0.466869 -0.160412 9.9096 -0.0575243 -0.00106526 0.0383495 0 0 pose: 0.0 -3.91815 -3.72959 0 0.00697324 0.00200706 0.994865 0.100947 uwb: 0.0 1250.17 1374.4 -imu_odom_: 1691062529.974932592 0.447716 -0.229843 9.92875 -0.056459 -0.00213053 0.0383495 0 0 pose: 0.20955280 -3.91815 -3.72959 0 0.00532693 0.00153593 0.994876 0.100949 uwb: 0.0 1250.17 1374.4 -imu_odom_: 1691062529.988915610 0.416591 -0.217872 9.89045 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 -3.91815 -3.72959 0 0.00532693 0.00153593 0.994876 0.100949 uwb: 0.49906481 1248.83 1375.23 -imu_odom_: 1691062530.10921091 0.497994 -0.189142 9.93833 -0.0553937 -0.00745685 0.0426106 0 0 pose: 0.0 -3.91815 -3.72959 0 0.00532693 0.00153593 0.994876 0.100949 uwb: 0.0 1248.83 1375.23 -imu_odom_: 1691062530.28914761 -0.292093 -0.160412 9.6606 -0.0607201 0.0681769 0.0500674 0 -0.02 pose: 0.73985237 -3.91815 -3.72959 0 0.00382136 0.000631093 0.994882 0.10097 uwb: 0.49996020 1246.75 1376.35 -imu_odom_: 1691062530.45968181 -0.902614 -0.205901 10.0341 -0.0649811 0.0500674 0.0788296 0 -0.02 pose: 0.0 -3.91815 -3.72959 0 0.00382136 0.000631093 0.994882 0.10097 uwb: 0.0 1246.75 1376.35 -imu_odom_: 1691062530.61908698 -1.06063 -0.356736 9.84735 -0.0660464 -0.0276969 0.100135 0 -0.02 pose: 0.0 -3.91815 -3.72959 0 0.00382136 0.000631093 0.994882 0.10097 uwb: 0.0 1246.75 1376.35 -imu_odom_: 1691062530.80024857 -0.222661 -0.275333 9.96467 -0.0543285 -0.0543285 0.0862864 0.04 0.02 pose: 0.8003506 -3.91815 -3.72959 0 0.00273907 0.000755851 0.99489 0.100929 uwb: 0.50188510 1244.23 1378.24 -imu_odom_: 1691062530.97018781 0.260968 0.035913 9.80904 -0.0553937 -0.0426106 0.0660464 0.05 0.02 pose: 0.0 -3.91815 -3.72959 0 0.00273907 0.000755851 0.99489 0.100929 uwb: 0.0 1244.23 1378.24 -imu_odom_: 1691062530.111030676 0.277727 0.0287304 9.72285 -0.0735032 0.00745685 0.0692422 0.05 0.02 pose: 0.68070189 -3.91815 -3.72959 0 -0.0035576 0.0015022 0.995025 0.0995547 uwb: 0.0 1244.23 1378.24 -imu_odom_: 1691062530.127967439 0.0742203 -0.500388 9.79228 -0.0617853 0.00426106 0.0543285 0.05 0.02 pose: 0.0 -3.91815 -3.72959 0 -0.0035576 0.0015022 0.995025 0.0995547 uwb: 0.49983194 1243.97 1378.57 -imu_odom_: 1691062530.144958447 -0.129287 -0.277727 9.84496 -0.0553937 -0.00958738 0.0585895 0.06 0.02 pose: 0.0 -3.91815 -3.72959 0 -0.0035576 0.0015022 0.995025 0.0995547 uwb: 0.0 1243.97 1378.57 -imu_odom_: 1691062530.161905125 0.0287304 -0.323217 10.1442 -0.0607201 -0.0223706 0.0713727 0.06 0.02 pose: 0.30974906 -3.91815 -3.72959 0 -0.00435125 0.00319244 0.995057 0.0991596 uwb: 0.0 1243.97 1378.57 -imu_odom_: 1691062530.177954716 0.237026 -0.158017 9.76595 -0.0490022 -0.0191748 0.0745685 0.09 0.02 pose: 0.43935433 -3.92353 -3.73193 0 -0.00808451 0.00141672 0.995086 0.0986739 uwb: 0.50007984 1244.58 1378.07 -imu_odom_: 1691062530.195954802 0.462081 -0.122104 10.1921 -0.0543285 -0.0181095 0.0660464 0.09 0.02 pose: 0.0 -3.92353 -3.73193 0 -0.00808451 0.00141672 0.995086 0.0986739 uwb: 0.0 1244.58 1378.07 -imu_odom_: 1691062530.212009934 0.129287 -0.169988 9.91439 -0.0426106 0.0213053 0.0628506 0.09 0.02 pose: 0.0 -3.92353 -3.73193 0 -0.00808451 0.00141672 0.995086 0.0986739 uwb: 0.0 1244.58 1378.07 -imu_odom_: 1691062530.228903534 0.184354 -0.519542 9.62708 -0.0426106 -0.0106526 0.0703074 0.1 0.05 pose: 0.7004635 -3.92732 -3.73358 0 -0.0080866 0.00213334 0.995097 0.0985465 uwb: 0.50111516 1244.66 1378.19 -imu_odom_: 1691062530.246997820 0.342371 -0.474052 9.46907 -0.04048 0.02024 0.0426106 0.11 0.02 pose: 0.0 -3.92732 -3.73358 0 -0.0080866 0.00213334 0.995097 0.0985465 uwb: 0.0 1244.66 1378.19 -imu_odom_: 1691062530.263891129 0.325611 -0.0814029 9.94791 -0.0458064 0.0426106 0.072438 0.11 0.02 pose: 0.68093521 -3.93131 -3.72441 0 -0.00825458 0.00121286 0.99518 0.097709 uwb: 0.0 1244.66 1378.19 -imu_odom_: 1691062530.279956760 0.100556 -0.141258 9.98622 -0.0340885 0.0223706 0.0756338 0.11 0.02 pose: 0.0 -3.93131 -3.72441 0 -0.00825458 0.00121286 0.99518 0.097709 uwb: 0.49818418 1244.43 1378.56 -imu_odom_: 1691062530.298070294 0.579397 -0.263362 10.24 -0.04048 -0.015979 0.0553937 0.11 0 pose: 0.0 -3.93131 -3.72441 0 -0.00825458 0.00121286 0.99518 0.097709 uwb: 0.0 1244.43 1378.56 -imu_odom_: 1691062530.315070343 1.00796 -0.373495 9.76116 -0.0660464 -0.0394148 0.0916127 0.11 0 pose: 0.32891279 -3.93131 -3.72441 0 -0.00815191 0.00214694 0.995219 0.097307 uwb: 0.0 1244.43 1378.56 -imu_odom_: 1691062530.329992741 1.12288 -0.208296 9.65821 -0.0735032 0.00319579 0.149137 0.1 0.02 pose: 0.45175783 -3.94047 -3.72843 0 -0.00546242 0.00154696 0.995312 0.0965473 uwb: 0.49863330 1242.55 1379.99 -imu_odom_: 1691062530.347138611 1.69031 -0.244209 10.2328 -0.0649811 -0.052198 0.158724 0.1 0.02 pose: 0.6147794 -3.94047 -3.72843 0 -0.00487863 0.00142654 0.995348 0.0962116 uwb: 0.0 1242.55 1379.99 -imu_odom_: 1691062530.363070962 1.61848 -0.035913 9.4978 -0.0543285 0.00426106 0.113983 0.1 0.02 pose: 0.0 -3.94047 -3.72843 0 -0.00487863 0.00142654 0.995348 0.0962116 uwb: 0.0 1242.55 1379.99 -imu_odom_: 1691062530.379882611 1.42216 -0.0742203 9.86411 -0.052198 0.0415453 0.0788296 0.09 0 pose: 0.41852825 -3.94451 -3.71928 0 -0.0004113410.000988182 0.99556 0.0941234 uwb: 0.50052605 1243.12 1380.15 -imu_odom_: 1691062530.397996437 0.550666 0.0550666 9.91199 -0.0596548 0.0351537 0.0340885 0.06 0.05 pose: 0.0 -3.94451 -3.71928 0 -0.0004113410.000988182 0.99556 0.0941234 uwb: 0.0 1243.12 1380.15 -imu_odom_: 1691062530.414213721 0.306458 -0.275333 9.85453 -0.0585895 -0.0106526 0.0191748 0.06 0.05 pose: 0.0 -3.94451 -3.71928 0 -0.0004113410.000988182 0.99556 0.0941234 uwb: 0.0 1243.12 1380.15 -imu_odom_: 1691062530.431192772 0.799663 -0.129287 10.1011 -0.0596548 -0.0255663 0.0181095 0.05 0.05 pose: 0.24933269 -3.94451 -3.71928 0 0.00117824 0.00176675 0.995587 0.0938149 uwb: 0.50064854 1240.96 1381.89 -imu_odom_: 1691062530.448867678 0.955286 -0.294487 9.68694 -0.0628506 -0.00639159 0.0617853 0.05 0.05 pose: 0.0 -3.94451 -3.71928 0 0.00117824 0.00176675 0.995587 0.0938149 uwb: 0.0 1240.96 1381.89 -imu_odom_: 1691062530.463154299 0.768539 -0.366313 9.87848 -0.0596548 0.0117179 0.0788296 0.05 0.05 pose: 0.33224624 -3.94451 -3.71928 0 0.00107153 0.00158019 0.995563 0.0940829 uwb: 0.0 1240.96 1381.89 -imu_odom_: 1691062530.479891287 0.555455 -0.215478 9.82341 -0.0500674 0.00319579 0.0681769 0.04 0.02 pose: 0.41925444 -3.95364 -3.72336 0 0.00489768 0.000100902 0.995588 0.0937044 uwb: 0.49919616 1242.64 1380.85 -imu_odom_: 1691062530.495861552 0.588974 -0.114922 9.92636 -0.052198 -0.00213053 0.0617853 0.04 0.02 pose: 0.6951556 -3.95364 -3.72336 0 0.00553904 -8.02295e-050.995594 0.093604 uwb: 0.0 1242.64 1380.85 -imu_odom_: 1691062530.519941771 0.490811 -0.215478 9.78031 -0.0585895 0.00639159 0.0692422 0.04 0.02 pose: 0.0 -3.95364 -3.72336 0 0.00553904 -8.02295e-050.995594 0.093604 uwb: 0.0 1242.64 1380.85 -imu_odom_: 1691062530.545874202 0.363919 -0.277727 9.80904 -0.0649811 0.0351537 0.0266316 0.04 0.02 pose: 0.33768243 -3.95364 -3.72336 0 0.00663949 0.000593885 0.995628 0.093174 uwb: 0.49961905 1241.41 1381.86 -imu_odom_: 1691062530.571035826 -1.37667 -0.011971 10.0078 -0.0553937 0.0660464 0.015979 0.06 0 pose: 0.42000104 -3.95364 -3.72336 0 0.00217632 -0.00116107 0.995654 0.0930972 uwb: 0.0 1241.41 1381.86 -imu_odom_: 1691062530.587873722 -1.13964 -0.579397 9.91439 -0.0735032 -0.0788296 0.0660464 0.06 0 pose: 0.0 -3.95364 -3.72336 0 0.00217632 -0.00116107 0.995654 0.0930972 uwb: 0.49998651 1240.39 1382.47 -imu_odom_: 1691062530.612869694 0.445322 -0.237026 9.80186 -0.0479369 -0.0607201 0.0383495 0.08 0.02 pose: 0.41999520 -3.9536 -3.72332 0 -0.00222331 -0.0009783510.995647 0.0931689 uwb: 0.0 1240.39 1382.47 -imu_odom_: 1691062530.637979698 0.399832 -0.023942 9.83777 -0.0735032 0.015979 0.0735032 0.08 0.02 pose: 0.8182865 -3.95364 -3.72336 0 -0.00117391 -0.00104143 0.995649 0.0931748 uwb: 0.50014984 1241.84 1381.81 -imu_odom_: 1691062530.662931049 -0.361524 -0.277727 9.76834 -0.0596548 0.0415453 0.0287621 0.11 0 pose: 0.23933232 -3.95364 -3.72336 0 0.000888975 -0.0005159810.995659 0.0930673 uwb: 0.0 1241.84 1381.81 -imu_odom_: 1691062530.688869604 0.162806 -0.0909797 9.65821 -0.0553937 -0.0607201 0.0617853 0.12 0 pose: 0.25979969 -3.96681 -3.7182 0 -0.0003294360.00112486 0.995683 0.0928093 uwb: 0.50036273 1242.46 1382.05 -imu_odom_: 1691062530.703855288 0.28491 -0.299275 9.64384 -0.0596548 -0.00532632 0.0649811 0.12 0 pose: 0.0 -3.96681 -3.7182 0 -0.0003294360.00112486 0.995683 0.0928093 uwb: 0.0 1242.46 1382.05 -imu_odom_: 1691062530.729878128 0.143652 0.0766145 9.32302 -0.0735032 0.036219 0.0468716 0.15 0 pose: 0.25024844 -3.96681 -3.7182 0 -0.00285449 0.00152992 0.995678 0.0928124 uwb: 0.49932741 1243.77 1381.89 -imu_odom_: 1691062530.754841436 0.162806 -0.3304 10.5225 -0.0500674 -0.0319579 0.0330232 0.15 0 pose: 0.0 -3.96681 -3.7182 0 -0.00285449 0.00152992 0.995678 0.0928124 uwb: 0.0 1243.77 1381.89 -imu_odom_: 1691062530.772844439 0.610521 -0.31364 10.0173 -0.052198 -0.0234358 0.0511327 0.14 0 pose: 0.40937656 -3.96681 -3.7182 0 -0.00495767 0.00174998 0.995708 0.0923982 uwb: 0.0 1243.77 1381.89 -imu_odom_: 1691062530.796017071 0.0335188 -0.351948 9.93594 -0.0543285 0.00958738 0.0447411 0.14 0 pose: 0.0 -3.96681 -3.7182 0 -0.00495767 0.00174998 0.995708 0.0923982 uwb: 0.50232255 1241.51 1383.49 -imu_odom_: 1691062530.818860149 0.715866 -0.0814029 10.082 -0.04048 -0.0255663 0.0330232 0.18 0.02 pose: 0.50931611 -3.97597 -3.72222 0 -0.00649509 0.000966228 0.995702 0.0923804 uwb: 0.0 1241.51 1383.49 -imu_odom_: 1691062530.844964648 -0.0311246 -0.447716 9.63666 -0.0649811 -0.0330232 0.0681769 0.18 0.02 pose: 0.0 -3.97597 -3.72222 0 -0.00649509 0.000966228 0.995702 0.0923804 uwb: 0.49680180 1241.04 1384.23 -imu_odom_: 1691062530.865886103 0.411803 -0.28491 10.1945 -0.0479369 0.0255663 0.0436758 0.14 0 pose: 0.40991609 -3.97998 -3.71306 0 -0.00692134 -5.34139e-050.995708 0.092296 uwb: 0.0 1241.04 1384.23 -imu_odom_: 1691062530.878840798 0.507571 -0.217872 9.83777 -0.0479369 0.0234358 0.052198 0.14 0 pose: 0.0 -3.97998 -3.71306 0 -0.00692134 -5.34139e-050.995708 0.092296 uwb: 0.50056979 1237.51 1386.81 -imu_odom_: 1691062530.902977887 0.0790087 -0.191536 10.07 -0.0628506 -0.0479369 0.0607201 0.14 0 pose: 0.46985707 -3.98914 -3.71708 0 -0.00672959 -0.00122041 0.995738 0.0919691 uwb: 0.0 1237.51 1386.81 -imu_odom_: 1691062530.920898356 0.395043 -0.411803 9.88326 -0.0660464 -0.00426106 0.0191748 0.14 0 pose: 0.0 -3.98914 -3.71708 0 -0.00672959 -0.00122041 0.995738 0.0919691 uwb: 0.0 1237.51 1386.81 -imu_odom_: 1691062530.943862464 0.158017 -0.234632 9.80426 -0.0692422 -0.0426106 0.0617853 0.14 0 pose: 0.36020879 -3.99317 -3.70793 0 -0.00498941 -0.00122338 0.995766 0.0917787 uwb: 0.50082353 1237.73 1387.17 -imu_odom_: 1691062530.967877355 0.110133 -0.153229 10.1825 -0.0553937 -0.0383495 0.0468716 0.15 0.02 pose: 0.41068019 -4.00232 -3.71196 0 -0.00587666 -0.0022936 0.995765 0.0917137 uwb: 0.0 1237.73 1387.17 -imu_odom_: 1691062530.994836655 0.234632 0.0646434 9.79468 -0.0553937 0.015979 0.036219 0.21 0 pose: 0.39947242 -4.00841 -3.71464 0 -0.00848152 -0.0003499240.995776 0.0914253 uwb: 0.49938573 1237.32 1388.02 -imu_odom_: 1691062531.10850667 0.100556 -0.172383 9.88326 -0.0788296 -0.00852212 0.0692422 0.21 0 pose: 0.0 -4.00841 -3.71464 0 -0.00848152 -0.0003499240.995776 0.0914253 uwb: 0.0 1237.32 1388.02 -imu_odom_: 1691062531.28899753 0.591368 -0.442927 10.0221 -0.0596548 0 0.015979 0.21 0 pose: 0.0 -4.00841 -3.71464 0 -0.00848152 -0.0003499240.995776 0.0914253 uwb: 0.50021989 1239.13 1387.93 -imu_odom_: 1691062531.52886653 0.61531 -0.25618 9.68215 -0.0713727 -0.0266316 0.0532632 0.22 0.02 pose: 0.8018088 -4.01147 -3.71599 0 -0.00850387 0.000457004 0.995775 0.091432 uwb: 0.0 1239.13 1387.93 -imu_odom_: 1691062531.78833964 0.071826 -0.560243 9.58638 -0.0511327 -0.00745685 0.0330232 0.2 -0.02 pose: 0.43017643 -4.0155 -3.70684 0 -0.00950465 0.00194012 0.995775 0.0913083 uwb: 0.49988456 1241.75 1386.86 -imu_odom_: 1691062531.100823414 0.368707 0.0694318 9.7875 -0.052198 0.00426106 0.052198 0.2 -0.02 pose: 0.0 -4.0155 -3.70684 0 -0.00950465 0.00194012 0.995775 0.0913083 uwb: 0.0 1241.75 1386.86 -imu_odom_: 1691062531.124012967 0.555455 -0.356736 9.93354 -0.0553937 -0.0415453 0.0308927 0.16 0.02 pose: 0.41917580 -4.02465 -3.71087 0 -0.00662389 -7.10886e-050.995801 0.0912989 uwb: 0.0 1241.75 1386.86 -imu_odom_: 1691062531.141890568 0.964863 0.0335188 10.0748 -0.0308927 -0.0127832 0.0255663 0.16 0.02 pose: 0.0 -4.02465 -3.71087 0 -0.00662389 -7.10886e-050.995801 0.0912989 uwb: 0.49939169 1240.32 1388.33 -imu_odom_: 1691062531.165831388 0.756568 -0.270545 9.61511 -0.0575243 -0.0255663 0.0511327 0.17 0 pose: 0.0 -4.02465 -3.71087 0 -0.00662389 -7.10886e-050.995801 0.0912989 uwb: 0.0 1240.32 1388.33 -imu_odom_: 1691062531.191872608 0.497994 -0.160412 9.87848 -0.0436758 -0.0106526 0.036219 0.17 0 pose: 0.81059902 -4.03784 -3.70576 0 -0.00265262 7.59268e-05 0.995806 0.0914491 uwb: 0.0 1240.32 1388.33 -imu_odom_: 1691062531.213862058 1.02711 -0.414197 10.0245 -0.0628506 -0.0276969 0.0553937 0.19 0 pose: 0.49982040 -4.04472 -3.7088 0 0.00231972 0.000895395 0.995815 0.0913572 uwb: 0.0 1240.32 1388.33 -imu_odom_: 1691062531.237830292 0.739808 0.0167594 10.1634 -0.0553937 -0.0479369 0.0426106 0.19 0 pose: 0.5933147 -4.04699 -3.7098 0 0.00291961 0.000605432 0.995818 0.0913094 uwb: 0.99907210 1240.98 1388.64 -imu_odom_: 1691062531.255870338 0.514753 -0.260968 10.137 -0.0649811 0.0213053 0.0511327 0.18 -0.02 pose: 0.40024537 -4.05102 -3.70065 0 0.00696912 0.0012335 0.995812 0.0911494 uwb: 0.0 1240.98 1388.64 -imu_odom_: 1691062531.279809700 0.342371 -0.241814 9.80665 -0.0372843 -0.0245011 0.0234358 0.18 -0.02 pose: 0.0 -4.05102 -3.70065 0 0.00696912 0.0012335 0.995812 0.0911494 uwb: 0.49985831 1241.26 1389.1 -imu_odom_: 1691062531.304990287 0.248997 -0.0047884 10.2041 -0.0873517 -0.0394148 0.072438 0.22 0 pose: 0.8006716 -4.05102 -3.70065 0 0.00656366 0.000460624 0.99582 0.0910989 uwb: 0.0 1241.26 1389.1 -imu_odom_: 1691062531.329806030 0.677559 -0.035913 10.4818 -0.0852212 -0.0511327 0.0415453 0.22 0 pose: 0.0 -4.05102 -3.70065 0 0.00656366 0.000460624 0.99582 0.0910989 uwb: 0.50103072 1240.86 1389.96 -imu_odom_: 1691062531.346806375 0.572214 -0.124498 9.89045 -0.0735032 0.0255663 0.0415453 0.17 -0.02 pose: 0.42116770 -4.06017 -3.70469 0 0.00350606 -1.19195e-050.995836 0.0910951 uwb: 0.0 1240.86 1389.96 -imu_odom_: 1691062531.367846241 0.289698 -0.237026 10.094 -0.0287621 0.00639159 0.02024 0.17 -0.02 pose: 0.0 -4.06017 -3.70469 0 0.00350606 -1.19195e-050.995836 0.0910951 uwb: 0.0 1240.86 1389.96 -imu_odom_: 1691062531.384848044 -0.035913 -0.131681 10.0317 -0.04048 -0.0394148 0.0383495 0.18 0 pose: 0.49877633 -4.07336 -3.69959 0 0.00590752 0.0020759 0.99585 0.0907922 uwb: 0.50028119 1242.46 1389.52 -imu_odom_: 1691062531.409800567 0.790087 -0.246603 9.58878 -0.0372843 0.00532632 0.0245011 0.18 0 pose: 0.0 -4.07336 -3.69959 0 0.00590752 0.0020759 0.99585 0.0907922 uwb: 0.0 1242.46 1389.52 -imu_odom_: 1691062531.434791004 0.433351 -0.138864 9.91439 -0.0617853 0.0127832 0.0543285 0.18 0 pose: 0.71969156 -4.08541 -3.69705 0 0.00530512 0.0019783 0.995818 0.0911803 uwb: 0.49959875 1241.3 1390.68 -imu_odom_: 1691062531.459902764 0.0287304 -0.0694318 9.85214 -0.0330232 0.00426106 0.0330232 0.18 0 pose: 0.6998804 -4.08655 -3.69448 0 0.00461947 0.00227732 0.995826 0.091132 uwb: 0.0 1241.3 1390.68 -imu_odom_: 1691062531.484805125 0.143652 -0.169988 9.77792 -0.0543285 -0.00426106 0.0532632 0.16 -0.02 pose: 0.43103393 -4.09288 -3.69728 0 0.000358983 0.00403012 0.995834 0.0910979 uwb: 0.50074782 1244.68 1389.29 -imu_odom_: 1691062531.502049865 1.02472 -0.227449 10.1155 -0.0490022 -0.0213053 0.0287621 0.16 -0.02 pose: 0.0 -4.09288 -3.69728 0 0.000358983 0.00403012 0.995834 0.0910979 uwb: 0.0 1244.68 1389.29 -imu_odom_: 1691062531.526813988 0.512359 -0.141258 9.52653 -0.056459 -0.00106526 0.0458064 0.19 0 pose: 0.32050485 -4.09973 -3.68938 0 -0.00136787 0.0038099 0.995845 0.0909746 uwb: 0.49831262 1243.6 1390.58 -imu_odom_: 1691062531.549799684 0.201113 -0.275333 10.003 -0.0500674 -0.0415453 0.0298274 0.19 0 pose: 0.0 -4.09973 -3.68938 0 -0.00136787 0.0038099 0.995845 0.0909746 uwb: 0.0 1243.6 1390.58 -imu_odom_: 1691062531.575802115 0.648829 -0.114922 10.4267 -0.0500674 -0.04048 0.0500674 0.24 0 pose: 0.43011525 -4.10888 -3.69342 0 0.00154992 0.00317746 0.995846 0.0909824 uwb: 0.0 1243.6 1390.58 -imu_odom_: 1691062531.591782299 0.948104 -0.390255 9.73722 -0.0671117 0.0213053 0.04048 0.24 0 pose: 0.0 -4.10888 -3.69342 0 0.00154992 0.00317746 0.995846 0.0909824 uwb: 0.49964250 1244.39 1391.09 -imu_odom_: 1691062531.615818778 0.603339 0.0383072 10.3022 -0.0479369 -0.0138484 0.0340885 0.18 0 pose: 0.47840811 -4.10888 -3.69342 0 0.00404404 0.00246402 0.995848 0.090911 uwb: 0.0 1244.39 1391.09 -imu_odom_: 1691062531.641784171 0.191536 -0.402226 9.66539 -0.0426106 -0.0266316 0.0351537 0.24 -0.02 pose: 0.0 -4.10888 -3.69342 0 0.00404404 0.00246402 0.995848 0.090911 uwb: 0.50052909 1244.25 1392.39 -imu_odom_: 1691062531.663798702 0.402226 -0.349553 9.44991 -0.0436758 -0.00745685 0.0426106 0.24 -0.02 pose: 0.33013193 -4.12203 -3.68829 0 0.0061325 0.00404698 0.995826 0.0909739 uwb: 0.0 1244.25 1392.39 -imu_odom_: 1691062531.679769262 0.138864 -0.270545 10.3046 -0.0458064 0.0191748 0.0394148 0.24 -0.02 pose: 0.0 -4.12203 -3.68829 0 0.0061325 0.00404698 0.995826 0.0909739 uwb: 0.49980873 1241.52 1394.9 -imu_odom_: 1691062531.703831405 0.0167594 -0.105345 10.4651 -0.0351537 0.0628506 0.0372843 0.18 0 pose: 0.8010215 -4.12207 -3.68832 0 0.0055724 0.00362556 0.995829 0.090992 uwb: 0.0 1241.52 1394.9 -imu_odom_: 1691062531.727767850 0.720655 -0.169988 10.1251 -0.0585895 0.00532632 0.0394148 0.26 0 pose: 0.46957138 -4.13118 -3.69245 0 0.00259345 0.000781459 0.995848 0.0909942 uwb: 0.49997789 1240.81 1396.05 -imu_odom_: 1691062531.744772861 0.572214 -0.0646434 9.32063 -0.0500674 0.00426106 0.036219 0.26 0 pose: 0.0 -4.13118 -3.69245 0 0.00259345 0.000781459 0.995848 0.0909942 uwb: 0.0 1240.81 1396.05 -imu_odom_: 1691062531.769769423 0.134075 -0.521936 9.76595 -0.0713727 -0.02024 0.0490022 0.18 0.02 pose: 0.40109405 -4.13531 -3.68335 0 -0.0008020690.0017008 0.995847 0.0910238 uwb: 0.0 1240.81 1396.05 -imu_odom_: 1691062531.794811771 0.227449 -0.0191536 10.0149 -0.0479369 -0.0149137 0.0340885 0.18 0.02 pose: 0.0 -4.13531 -3.68335 0 -0.0008020690.0017008 0.995847 0.0910238 uwb: 0.50086156 1240.73 1396.71 -imu_odom_: 1691062531.807820424 0.45011 -0.0742203 10.094 -0.052198 -0.0138484 0.0532632 0.18 0.02 pose: 0.0 -4.13531 -3.68335 0 -0.0008020690.0017008 0.995847 0.0910238 uwb: 0.0 1240.73 1396.71 -imu_odom_: 1691062531.831875568 0.548272 -0.131681 9.95748 -0.0447411 -0.0234358 0.0234358 0.18 -0.02 pose: 0.41942661 -4.14442 -3.68748 0 0.00165869 0.0019078 0.995847 0.0910115 uwb: 0.50020537 1244.24 1395.46 -imu_odom_: 1691062531.857833086 0.371101 -0.347159 9.94551 -0.072438 0.00319579 0.0585895 0.23 0 pose: 0.47993339 -4.15766 -3.68251 0 -0.0004669670.00301976 0.99585 0.0909613 uwb: 0.0 1244.24 1395.46 -imu_odom_: 1691062531.880868069 0.658405 -0.0957681 9.96467 -0.0426106 -0.00319579 0.0330232 0.23 0 pose: 0.31044032 -4.15766 -3.68251 0 0.00268786 0.00364354 0.995832 0.0910973 uwb: 0.50082656 1242.13 1397.45 -imu_odom_: 1691062531.897742134 0.481235 -0.181959 9.80426 -0.0671117 0.0394148 0.0628506 0.23 0 pose: 0.0 -4.15766 -3.68251 0 0.00268786 0.00364354 0.995832 0.0910973 uwb: 0.0 1242.13 1397.45 -imu_odom_: 1691062531.919805660 0.574608 -0.229843 9.94551 -0.0511327 0.015979 0.036219 0.18 0 pose: 0.7954803 -4.15766 -3.68251 0 0.00230651 0.00286116 0.995842 0.0910217 uwb: 0.0 1242.13 1397.45 -imu_odom_: 1691062531.944765766 0.634463 -0.172383 9.93115 -0.0585895 0.0287621 0.0458064 0.18 0 pose: 0.48939715 -4.17089 -3.67754 0 0.00398196 0.00129204 0.995858 0.0908284 uwb: 0.49875008 1243.82 1397.1 -imu_odom_: 1691062531.960803403 -0.11971 -0.227449 9.44273 -0.0447411 0.0500674 0.0340885 0.18 0 pose: 0.0 -4.17089 -3.67754 0 0.00398196 0.00129204 0.995858 0.0908284 uwb: 0.0 1243.82 1397.1 -imu_odom_: 1691062531.985869084 0.304064 -0.344765 9.44991 -0.0639159 -0.0149137 0.0553937 0.18 0 pose: 0.0 -4.17089 -3.67754 0 0.00398196 0.00129204 0.995858 0.0908284 uwb: 0.50102488 1239.74 1400.57 -imu_odom_: 1691062532.8878987 0.301669 -0.196325 9.8258 -0.0585895 -0.0479369 0.052198 0.18 0 pose: 0.39052205 -4.18 -3.68167 0 0.00676548 -0.0001597950.995853 0.090727 uwb: 0.0 1239.74 1400.57 -imu_odom_: 1691062532.26734719 0.864307 -0.146046 9.79707 -0.0500674 -0.0383495 0.052198 0.18 0 pose: 0.0 -4.18 -3.68167 0 0.00676548 -0.0001597950.995853 0.090727 uwb: 0.49881138 1239.38 1401.55 -imu_odom_: 1691062532.50860446 0.78051 -0.397437 9.93594 -0.0607201 0.0276969 0.0308927 0.24 0 pose: 0.64957229 -4.19324 -3.67671 0 0.00352753 -0.0007854020.995892 0.0904762 uwb: 0.0 1239.38 1401.55 -imu_odom_: 1691062532.73796276 0.452504 -0.299275 9.52892 -0.0479369 -0.00426106 0.0415453 0.23 0 pose: 0.23976696 -4.19324 -3.67671 0 0.0032362 -0.0003702230.995907 0.0903261 uwb: 0.0 1239.38 1401.55 -imu_odom_: 1691062532.99854418 0.179565 0.0215478 10.1227 -0.0490022 -0.00532632 0.04048 0.23 0 pose: 0.0 -4.19324 -3.67671 0 0.0032362 -0.0003702230.995907 0.0903261 uwb: 0.50195242 1240.7 1401.39 -imu_odom_: 1691062532.122808913 0.507571 0.0766145 10.058 -0.072438 -0.0181095 0.0543285 0.2 0 pose: 0.41996041 -4.20649 -3.67176 0 0.00530891 -0.00224145 0.995893 0.0903497 uwb: 0.0 1240.7 1401.39 -imu_odom_: 1691062532.146771321 0.45011 -0.25618 10.0078 -0.0490022 0.00106526 0.0308927 0.2 0 pose: 0.0 -4.20649 -3.67176 0 0.00530891 -0.00224145 0.995893 0.0903497 uwb: 0.49940347 1241.8 1401.63 -imu_odom_: 1691062532.163738714 0.28491 -0.308852 9.71567 -0.0575243 -0.00745685 0.0394148 0.21 -0.02 pose: 0.48149962 -4.20649 -3.67176 0 0.0026445 -0.0004764640.995914 0.0902689 uwb: 0.0 1241.8 1401.63 -imu_odom_: 1691062532.179715403 0.610521 -0.153229 9.991 -0.0703074 -0.0245011 0.056459 0.21 -0.02 pose: 0.0 -4.20649 -3.67176 0 0.0026445 -0.0004764640.995914 0.0902689 uwb: 0.49880561 1242.43 1401.88 -imu_odom_: 1691062532.202742517 0.538695 -0.126893 9.72764 -0.0500674 -0.0117179 0.0394148 0.21 -0.02 pose: 0.0 -4.20649 -3.67176 0 0.0026445 -0.0004764640.995914 0.0902689 uwb: 0.0 1242.43 1401.88 -imu_odom_: 1691062532.228849362 1.00317 -0.361524 9.78271 -0.056459 -0.0298274 0.0468716 0.23 0.02 pose: 0.48010266 -4.21973 -3.6668 0 0.00164334 -0.00156845 0.995916 0.0902525 uwb: 0.50029299 1239.98 1404.17 -imu_odom_: 1691062532.251891642 0.837971 -0.268151 10.1969 -0.0596548 -0.0276969 0.0500674 0.18 0.02 pose: 0.32943498 -4.22883 -3.67095 0 0.003043 -0.0007830970.995926 0.0901228 uwb: 0.0 1239.98 1404.17 -imu_odom_: 1691062532.267846457 0.675165 -0.102951 10.058 -0.0585895 -0.0319579 0.0596548 0.18 0.02 pose: 0.0 -4.22883 -3.67095 0 0.003043 -0.0007830970.995926 0.0901228 uwb: 0.0 1239.98 1404.17 -imu_odom_: 1691062532.292715869 0.397437 -0.201113 9.80904 -0.0468716 0.0138484 0.0458064 0.18 0 pose: 0.47993351 -4.24207 -3.66598 0 0.00762967 -0.0009037520.995913 0.0899891 uwb: 0.0 1239.98 1404.17 -imu_odom_: 1691062532.315719068 0.203507 -0.275333 9.77792 -0.056459 0.02024 0.0458064 0.18 0 pose: 0.0 -4.24207 -3.66598 0 0.00762967 -0.0009037520.995913 0.0899891 uwb: 0.0 1239.98 1404.17 -imu_odom_: 1691062532.341781876 -0.071826 -0.272939 9.25359 -0.0692422 0.036219 0.0511327 0.23 0.02 pose: 0.39002636 -4.24207 -3.66598 0 0.00984299 -9.92636e-050.995917 0.089734 uwb: 0.99972562 1240.73 1404.63 -imu_odom_: 1691062532.364769327 0.169988 -0.593762 9.8258 -0.0671117 0.0479369 0.0458064 0.23 0.02 pose: 0.0 -4.24207 -3.66598 0 0.00984299 -9.92636e-050.995917 0.089734 uwb: 0.0 1240.73 1404.63 -imu_odom_: 1691062532.381712806 0.0526724 -0.0957681 10.0963 -0.04048 0.0149137 0.0308927 0.18 0.02 pose: 0.48884315 -4.25121 -3.67004 0 0.00437415 -0.0001959970.995972 0.0895629 uwb: 0.50060795 1241.21 1405.44 -imu_odom_: 1691062532.405709627 0.337582 -0.337582 10.1203 -0.0852212 0.00106526 0.0660464 0.18 0.02 pose: 0.0 -4.25121 -3.67004 0 0.00437415 -0.0001959970.995972 0.0895629 uwb: 0.0 1241.21 1405.44 -imu_odom_: 1691062532.430709402 0.826 -0.251391 10.0149 -0.0756338 -0.0170442 0.0447411 0.18 -0.02 pose: 0.49082047 -4.26441 -3.66498 0 -0.000706462-0.00167197 0.995993 0.0894182 uwb: 0.49779653 1241.31 1406.42 -imu_odom_: 1691062532.453882046 0.366313 -0.572214 9.38288 -0.056459 0.0351537 0.0213053 0.18 -0.02 pose: 0.0 -4.26441 -3.66498 0 -0.000706462-0.00167197 0.995993 0.0894182 uwb: 0.0 1241.31 1406.42 -imu_odom_: 1691062532.469697165 0.177171 -0.1652 10.0365 -0.0330232 0.0298274 0.0255663 0.18 0 pose: 0.40916678 -4.26441 -3.66498 0 -0.00185197 -0.00376043 0.996012 0.089122 uwb: 0.0 1241.31 1406.42 -imu_odom_: 1691062532.493878011 0.335188 -0.411803 10.2927 -0.0415453 -0.00852212 0.0340885 0.18 0 pose: 0.0 -4.26441 -3.66498 0 -0.00185197 -0.00376043 0.996012 0.089122 uwb: 0.50087043 1242.07 1406.89 -imu_odom_: 1691062532.519044314 0.761356 0.0694318 10.094 -0.0426106 0.00958738 0.0500674 0.25 0 pose: 0.48074135 -4.27767 -3.66005 0 -0.00175739 -0.00552137 0.995984 0.0893458 uwb: 0.0 1242.07 1406.89 -imu_odom_: 1691062532.534698447 0.203507 -0.246603 9.62948 -0.0607201 0.00426106 0.0575243 0.25 0 pose: 0.0 -4.27767 -3.66005 0 -0.00175739 -0.00552137 0.995984 0.0893458 uwb: 0.49994593 1239.95 1408.99 -imu_odom_: 1691062532.559749551 0.0909797 -0.1652 9.68215 -0.0468716 0.00532632 0.0436758 0.23 0 pose: 0.40172701 -4.28679 -3.66415 0 -0.00270103 -0.00637738 0.995969 0.0894252 uwb: 0.0 1239.95 1408.99 -imu_odom_: 1691062532.576748734 0.68953 -0.19393 10.0533 -0.0617853 0.00213053 0.0553937 0.23 0 pose: 0.0 -4.28679 -3.66415 0 -0.00270103 -0.00637738 0.995969 0.0894252 uwb: 0.49995759 1239.67 1410.16 -imu_odom_: 1691062532.593754332 0.294487 -0.0814029 9.95748 -0.0543285 -0.0138484 0.0340885 0.18 -0.02 pose: 0.40776397 -4.29095 -3.65505 0 -0.0037113 -0.00400959 0.996001 0.089175 uwb: 0.0 1239.67 1410.16 -imu_odom_: 1691062532.618842475 0.198719 -0.392649 9.53611 -0.0607201 -0.00745685 0.0532632 0.18 -0.02 pose: 0.0 -4.29095 -3.65505 0 -0.0037113 -0.00400959 0.996001 0.089175 uwb: 0.0 1239.67 1410.16 -imu_odom_: 1691062532.635708377 0.220267 -0.0861913 10.0413 -0.0628506 -0.0628506 0.0351537 0.18 -0.02 pose: 0.0 -4.29095 -3.65505 0 -0.0037113 -0.00400959 0.996001 0.089175 uwb: 0.50122332 1238.54 1411.53 -imu_odom_: 1691062532.660959547 0.837971 -0.203507 10.1131 -0.0681769 -0.0319579 0.0543285 0.26 -0.02 pose: 0.41966877 -4.30004 -3.65922 0 -0.00364835 -0.00202136 0.996021 0.0890208 uwb: 0.0 1238.54 1411.53 -imu_odom_: 1691062532.687829326 0.629675 -0.179565 9.64863 -0.0596548 -0.00745685 0.0372843 0.23 -0.02 pose: 0.76234427 -4.3133 -3.6543 0 -0.00267241 -0.00158002 0.996052 0.0887166 uwb: 0.0 1238.54 1411.53 -imu_odom_: 1691062532.712682697 0.395043 -0.351948 9.60314 -0.0681769 -0.0266316 0.0458064 0.23 -0.02 pose: 0.0 -4.3133 -3.6543 0 -0.00267241 -0.00158002 0.996052 0.0887166 uwb: 0.0 1238.54 1411.53 -imu_odom_: 1691062532.737818086 0.335188 -0.0574608 9.80426 -0.0394148 -0.0319579 0.0340885 0.22 0.02 pose: 0.7876645 -4.3133 -3.6543 0 -0.00188265 -0.00147286 0.996053 0.0887266 uwb: 0.100143172 1240.22 1411.1 -imu_odom_: 1691062532.760736126 0.500388 -0.263362 10.2161 -0.0532632 -0.0266316 0.0468716 0.22 0.02 pose: 0.0 -4.3133 -3.6543 0 -0.00188265 -0.00147286 0.996053 0.0887266 uwb: 0.0 1240.22 1411.1 -imu_odom_: 1691062532.775704902 0.718261 -0.102951 10.319 -0.0458064 -0.0585895 0.0468716 0.19 0 pose: 0.51913301 -4.32657 -3.64939 0 -0.000213456-0.00299967 0.996054 0.0886931 uwb: 0.0 1240.22 1411.1 -imu_odom_: 1691062532.801818747 0.804452 -0.244209 10.4004 -0.0532632 -0.0255663 0.0426106 0.19 0 pose: 0.0 -4.32657 -3.64939 0 -0.000213456-0.00299967 0.996054 0.0886931 uwb: 0.49611085 1243.87 1409.92 -imu_odom_: 1691062532.817705901 0.390255 -0.0454898 9.56484 -0.0468716 -0.0340885 0.0468716 0.2 -0.02 pose: 0.46995354 -4.33565 -3.65357 0 0.00294805 -0.00163435 0.996059 0.0886324 uwb: 0.0 1243.87 1409.92 -imu_odom_: 1691062532.842819708 0.213084 -0.328006 10.0173 -0.0713727 0.0223706 0.0639159 0.2 -0.02 pose: 0.0 -4.33565 -3.65357 0 0.00294805 -0.00163435 0.996059 0.0886324 uwb: 0.50004508 1246.04 1409.48 -imu_odom_: 1691062532.867790320 0.464475 -0.186748 10.1011 -0.0585895 0.02024 0.0340885 0.17 0.02 pose: 0.75074861 -4.34891 -3.64866 0 0.00339567 -0.00108037 0.996096 0.0882087 uwb: 0.0 1246.04 1409.48 -imu_odom_: 1691062532.884783669 0.435745 -0.189142 10.0844 -0.0543285 -0.00958738 0.0553937 0.17 0.02 pose: 0.7882187 -4.34891 -3.64866 0 0.00322265 -0.0002986360.996095 0.0882331 uwb: 0.50236947 1245 1411 -imu_odom_: 1691062532.909649873 0.751779 -0.162806 10.07 -0.0394148 -0.00745685 0.0213053 0.18 0 pose: 0.0 -4.34891 -3.64866 0 0.00322265 -0.0002986360.996095 0.0882331 uwb: 0.0 1245 1411 -imu_odom_: 1691062532.932651614 0.292093 -0.416591 9.69652 -0.0713727 0.00852212 0.0575243 0.18 0 pose: 0.42043287 -4.36218 -3.64376 0 0.00205609 0.00106387 0.996098 0.0882249 uwb: 0.49749031 1244.33 1412.33 -imu_odom_: 1691062532.957709426 0.648829 -0.0383072 9.8665 -0.0415453 -0.0170442 0.0340885 0.25 0 pose: 0.39906432 -4.36822 -3.64654 0 0.00205211 -0.0006477410.996103 0.0881674 uwb: 0.0 1244.33 1412.33 -imu_odom_: 1691062532.982661081 0.885855 -0.0574608 10.0365 -0.0671117 -0.00958738 0.0575243 0.25 0 pose: 0.8063588 -4.37126 -3.64794 0 0.00275258 -0.0001095450.9961 0.0881906 uwb: 0.50058754 1245.15 1412.88 -imu_odom_: 1691062533.6769310 0.241814 -0.213084 9.75398 -0.0500674 0.036219 0.0415453 0.2 -0.02 pose: 0.23951908 -4.37126 -3.64794 0 0.00492253 0.00113683 0.996092 0.088177 uwb: 0.0 1245.15 1412.88 -imu_odom_: 1691062533.23823908 0.141258 -0.464475 10.0389 -0.0617853 0.00958738 0.0468716 0.2 -0.02 pose: 0.0 -4.37126 -3.64794 0 0.00492253 0.00113683 0.996092 0.088177 uwb: 0.0 1245.15 1412.88 -imu_odom_: 1691062533.48697117 0.521936 0.0574608 10.4148 -0.0298274 -0.015979 0.0394148 0.25 0.02 pose: 0.50130209 -4.38453 -3.64305 0 0.00311303 0.000949699 0.996118 0.087965 uwb: 0.50059342 1245.58 1413.61 -imu_odom_: 1691062533.73652569 0.531513 -0.21069 10.5129 -0.0756338 -0.00213053 0.0468716 0.22 0 pose: 0.0 -4.38453 -3.64305 0 0.00311303 0.000949699 0.996118 0.087965 uwb: 0.0 1245.58 1413.61 -imu_odom_: 1691062533.87925493 0.68953 -0.0430956 9.97903 -0.0351537 -0.0106526 0.0394148 0.22 0 pose: 0.41861313 -4.38453 -3.64305 0 0.00385172 0.00234266 0.996119 0.087905 uwb: 0.50004229 1249.61 1412.15 -imu_odom_: 1691062533.105805436 0.567426 -0.071826 9.8665 -0.0596548 -0.0170442 0.0543285 0.22 0 pose: 0.0 -4.38453 -3.64305 0 0.00385172 0.00234266 0.996119 0.087905 uwb: 0.0 1249.61 1412.15 -imu_odom_: 1691062533.128827014 0.253785 -0.181959 10.3214 -0.0479369 -0.00426106 0.0276969 0.19 0.02 pose: 0.0 -4.38453 -3.64305 0 0.00385172 0.00234266 0.996119 0.087905 uwb: 0.49828953 1250.09 1412.96 -imu_odom_: 1691062533.146639880 0.605733 -0.0766145 9.76355 -0.0596548 -0.00532632 0.0383495 0.19 0.02 pose: 0.56158152 -4.3978 -3.63816 0 0.00650143 0.00322844 0.996115 0.0877581 uwb: 0.0 1250.09 1412.96 -imu_odom_: 1691062533.170646331 0.280122 -0.114922 9.91439 -0.0617853 -0.0127832 0.0458064 0.19 0 pose: 0.0 -4.3978 -3.63816 0 0.00650143 0.00322844 0.996115 0.0877581 uwb: 0.0 1250.09 1412.96 -imu_odom_: 1691062533.195798349 0.392649 0.110133 10.0724 -0.0852212 0.00213053 0.0575243 0.2 0 pose: 0.33823096 -4.40919 -3.63735 0 0.00651445 0.00392051 0.996103 0.0878665 uwb: 0.50100471 1249.4 1414.26 -imu_odom_: 1691062533.209627395 1.06063 -0.294487 9.75398 -0.0692422 -0.00745685 0.0447411 0.18 0.02 pose: 0.0 -4.40919 -3.63735 0 0.00651445 0.00392051 0.996103 0.0878665 uwb: 0.0 1249.4 1414.26 -imu_odom_: 1691062533.226751404 0.56982 -0.306458 9.92875 -0.0468716 -0.0149137 0.0372843 0.18 0.02 pose: 0.56005915 -4.42015 -3.63746 0 0.0040895 0.00589457 0.996132 0.0875717 uwb: 0.49924610 1243.2 1418.66 -imu_odom_: 1691062533.251656110 0.773327 -0.435745 9.97424 -0.072438 -0.00958738 0.0490022 0.18 -0.02 pose: 0.0 -4.42015 -3.63746 0 0.0040895 0.00589457 0.996132 0.0875717 uwb: 0.0 1243.2 1418.66 -imu_odom_: 1691062533.275625523 0.509965 -0.268151 9.16261 -0.0628506 0.0191748 0.056459 0.18 -0.02 pose: 0.31000300 -4.42015 -3.63746 0 0.00575191 0.00337119 0.99614 0.0875222 uwb: 0.0 1243.2 1418.66 -imu_odom_: 1691062533.301802368 -0.248997 -0.138864 9.55047 -0.0340885 0.0426106 0.0298274 0.25 0 pose: 0.41979428 -4.43342 -3.63258 0 0.00601792 -0.0006370250.996172 0.0872105 uwb: 0.49994897 1242.49 1419.97 -imu_odom_: 1691062533.318628028 0.497994 -0.296881 10.0556 -0.056459 -0.0575243 0.04048 0.25 0 pose: 0.8023051 -4.43342 -3.63258 0 0.00505 -0.00038492 0.996174 0.0872498 uwb: 0.0 1242.49 1419.97 -imu_odom_: 1691062533.334755499 1.15161 -0.0526724 9.53611 -0.0575243 -0.0596548 0.0543285 0.23 -0.14 pose: 0.0 -4.43342 -3.63258 0 0.00505 -0.00038492 0.996174 0.0872498 uwb: 0.49964274 1244.25 1420.47 -imu_odom_: 1691062533.350736274 1.86269 -0.287304 10.1514 -0.0532632 -0.122505 0.0340885 0.23 -0.14 pose: 0.42097834 -4.4425 -3.63679 0 0.0047217 -0.00136229 0.996172 0.0872749 uwb: 0.0 1244.25 1420.47 -imu_odom_: 1691062533.368620008 1.91297 -0.0766145 9.47625 -0.0490022 -0.0191748 -0.0830906 0.23 -0.14 pose: 0.0 -4.4425 -3.63679 0 0.0047217 -0.00136229 0.996172 0.0872749 uwb: 0.0 1244.25 1420.47 -imu_odom_: 1691062533.385628235 1.75734 0.0909797 9.90481 -0.0596548 0.0479369 -0.162985 0.18 -0.35 pose: 0.0 -4.4425 -3.63679 0 0.0047217 -0.00136229 0.996172 0.0872749 uwb: 0.50020269 1241.39 1423.17 -imu_odom_: 1691062533.400613931 1.09415 0.0191536 10.1706 -0.0415453 0.00639159 -0.267381 0.18 -0.35 pose: 0.32884012 -4.4467 -3.62771 0 0.00923788 -0.00146467 0.9961 0.0877347 uwb: 0.0 1241.39 1423.17 -imu_odom_: 1691062533.416732069 0.73502 0.0814029 9.53371 -0.0617853 -0.00745685 -0.361125 0.1 -0.41 pose: 0.0 -4.4467 -3.62771 0 0.00923788 -0.00146467 0.9961 0.0877347 uwb: 0.0 1241.39 1423.17 -imu_odom_: 1691062533.429629321 0.873884 0.227449 10.1682 -0.052198 0.0149137 -0.414388 0.1 -0.41 pose: 0.34136902 -4.4467 -3.62771 0 0.0121763 -0.0007533260.995762 0.0911597 uwb: 0.0 1241.39 1423.17 -imu_odom_: 1691062533.445619136 1.00078 0.0957681 10.0389 -0.0596548 -0.0308927 -0.434628 0.1 -0.41 pose: 0.0 -4.4467 -3.62771 0 0.0121763 -0.0007533260.995762 0.0911597 uwb: 0.0 1241.39 1423.17 -imu_odom_: 1691062533.462685984 0.699107 -0.0622492 10.0245 -0.0607201 -0.00745685 -0.461259 0.11 -0.58 pose: 0.14902577 -4.4467 -3.62771 0 0.013154 0.000255827 0.995506 0.0937773 uwb: 0.0 1241.39 1423.17 -imu_odom_: 1691062533.478728587 0.907402 -0.356736 10.0485 -0.0543285 -0.0479369 -0.459129 0.11 -0.58 pose: 0.0 -4.4467 -3.62771 0 0.013154 0.000255827 0.995506 0.0937773 uwb: 0.100098575 1240.73 1424.6 -imu_odom_: 1691062533.494880555 0.64404 -0.225055 9.76834 -0.0649811 -0.0287621 -0.467651 0.11 -0.58 pose: 0.0 -4.4467 -3.62771 0 0.013154 0.000255827 0.995506 0.0937773 uwb: 0.0 1240.73 1424.6 -imu_odom_: 1691062533.511725463 0.981623 -0.146046 10.1562 -0.0617853 -0.0394148 -0.48363 0.07 -0.5 pose: 0.44955044 -4.45575 -3.63198 0 0.0156641 0.00376576 0.994441 0.104055 uwb: 0.0 1240.73 1424.6 -imu_odom_: 1691062533.528737190 0.885855 0.0023942 10.0533 -0.0703074 -0.036219 -0.48363 0.1 -0.73 pose: 0.0 -4.45575 -3.63198 0 0.0156641 0.00376576 0.994441 0.104055 uwb: 0.49858409 1242.15 1424.5 -imu_odom_: 1691062533.544604225 0.905008 -0.373495 9.92397 -0.0607201 -0.0340885 -0.502805 0.1 -0.73 pose: 0.0 -4.45575 -3.63198 0 0.0156641 0.00376576 0.994441 0.104055 uwb: 0.0 1242.15 1424.5 -imu_odom_: 1691062533.561606620 0.802058 -0.220267 9.70849 -0.0671117 -0.0149137 -0.526241 0.09 -0.73 pose: 0.67281350 -4.46 -3.62293 0 0.0186535 0.00236403 0.992464 0.121083 uwb: 0.0 1242.15 1424.5 -imu_odom_: 1691062533.577600227 0.629675 -0.122104 10.1299 -0.0681769 -0.0138484 -0.523045 0.09 -0.73 pose: 0.0 -4.46 -3.62293 0 0.0186535 0.00236403 0.992464 0.121083 uwb: 0.50068973 1239.88 1426.57 -imu_odom_: 1691062533.594599997 0.663194 -0.181959 9.97185 -0.0639159 -0.00213053 -0.484695 0.09 -0.73 pose: 0.32697652 -4.46 -3.62293 0 0.0203088 0.000586393 0.991325 0.12985 uwb: 0.0 1239.88 1426.57 -imu_odom_: 1691062533.610660681 0.730232 -0.521936 9.72525 -0.0671117 0.015979 -0.447411 0.05 -0.44 pose: 0.41996052 -4.46901 -3.62713 0 0.0172733 0.000141399 0.989823 0.141249 uwb: 0.0 1239.88 1426.57 -imu_odom_: 1691062533.627649660 0.658405 -0.328006 10.0006 -0.0543285 0.0138484 -0.395213 0.05 -0.44 pose: 0.8065922 -4.46906 -3.62717 0 0.0170687 -0.0006585670.989549 0.14318 uwb: 0.49999563 1240.69 1427.13 -imu_odom_: 1691062533.643600980 0.610521 -0.380678 9.88087 -0.0575243 -0.00319579 -0.358994 0.05 -0.44 pose: 0.0 -4.46906 -3.62717 0 0.0170687 -0.0006585670.989549 0.14318 uwb: 0.0 1240.69 1427.13 -imu_odom_: 1691062533.661595246 0.507571 -0.184354 9.78989 -0.056459 0.00213053 -0.322775 0.06 -0.5 pose: 0.40935061 -4.46901 -3.62713 0 0.0145984 -0.00384366 0.988289 0.151848 uwb: 0.0 1240.69 1427.13 -imu_odom_: 1691062533.678606390 0.579397 -0.260968 9.88566 -0.0490022 0.00745685 -0.292948 0.04 -0.32 pose: 0.0 -4.46901 -3.62713 0 0.0145984 -0.00384366 0.988289 0.151848 uwb: 0.50007437 1242.61 1427.05 -imu_odom_: 1691062533.693653038 0.593762 -0.328006 9.86411 -0.0649811 0.00532632 -0.270577 0.04 -0.32 pose: 0.0 -4.46901 -3.62713 0 0.0145984 -0.00384366 0.988289 0.151848 uwb: 0.0 1242.61 1427.05 -imu_odom_: 1691062533.710801836 0.632069 -0.21069 9.96946 -0.0479369 0 -0.251402 0.03 -0.26 pose: 0.26005068 -4.46906 -3.62717 0 0.0121193 -0.00307079 0.987616 0.156392 uwb: 0.0 1242.61 1427.05 -imu_odom_: 1691062533.725795405 0.636858 -0.354342 9.73243 -0.0532632 0.00213053 -0.219444 0.03 -0.26 pose: 0.0 -4.46906 -3.62717 0 0.0121193 -0.00307079 0.987616 0.156392 uwb: 0.0 1242.61 1427.05 -imu_odom_: 1691062533.742738013 0.572214 -0.265756 9.89284 -0.0543285 0.00958738 -0.194943 0.03 -0.26 pose: 0.31047838 -4.46906 -3.62717 0 0.0106019 -0.00380803 0.986863 0.161168 uwb: 0.49931027 1242.94 1427.62 -imu_odom_: 1691062533.758735412 0.567426 -0.328006 9.96946 -0.0500674 0.00958738 -0.183225 0.03 -0.23 pose: 0.42084127 -4.46901 -3.62713 0 0.00910328 -0.00405771 0.985993 0.166491 uwb: 0.0 1242.94 1427.62 -imu_odom_: 1691062533.775737807 0.596156 -0.129287 10.0149 -0.0585895 -0.0213053 -0.168312 0.03 -0.23 pose: 0.7890355 -4.46906 -3.62717 0 0.00864373 -0.00469369 0.985848 0.16735 uwb: 0.0 1242.94 1427.62 -imu_odom_: 1691062533.791625256 0.555455 -0.203507 9.84256 -0.0532632 0.0106526 -0.157659 0.03 -0.23 pose: 0.0 -4.46906 -3.62717 0 0.00864373 -0.00469369 0.985848 0.16735 uwb: 0.50054683 1238.03 1431.14 -imu_odom_: 1691062533.817582204 0.641646 -0.253785 9.83299 -0.056459 -0.015979 -0.131028 0.03 -0.23 pose: 0.40996888 -4.47329 -3.61809 0 0.00817345 -0.00217798 0.98514 0.171547 uwb: 0.0 1238.03 1431.14 -imu_odom_: 1691062533.840585701 0.380678 -0.373495 9.7851 -0.0596548 0.0149137 -0.118244 0.02 -0.17 pose: 0.0 -4.47329 -3.61809 0 0.00817345 -0.00217798 0.98514 0.171547 uwb: 0.49945901 1234.54 1433.72 -imu_odom_: 1691062533.856600890 0.150835 -0.213084 9.92636 -0.0500674 0.0170442 -0.15979 0.02 -0.17 pose: 0.33047623 -4.47334 -3.61813 0 0.00987576 -0.00365152 0.984642 0.174266 uwb: 0.0 1234.54 1433.72 -imu_odom_: 1691062533.880654295 0.529119 0.0646434 10.0341 -0.0575243 -0.0415453 -0.235423 0.03 -0.44 pose: 0.0 -4.47334 -3.61813 0 0.00987576 -0.00365152 0.984642 0.174266 uwb: 0.49982939 1231.78 1435.87 -imu_odom_: 1691062533.905573000 0.775721 -0.0814029 9.8258 -0.0575243 -0.00532632 -0.313188 0.03 -0.44 pose: 0.38979314 -4.47334 -3.61813 0 0.00675715 -0.00291956 0.983998 0.178025 uwb: 0.0 1231.78 1435.87 -imu_odom_: 1691062533.928692862 0.45011 -0.351948 9.81144 -0.0660464 -0.00532632 -0.34195 0.03 -0.35 pose: 0.41920807 -4.4733 -3.6181 0 0.00966505 -0.0004483050.982754 0.184663 uwb: 0.50001312 1232.05 1436.39 -imu_odom_: 1691062533.944675970 0.418985 -0.311246 9.85932 -0.056459 -0.0170442 -0.352603 0.03 -0.35 pose: 0.0 -4.4733 -3.6181 0 0.00966505 -0.0004483050.982754 0.184663 uwb: 0.0 1232.05 1436.39 -imu_odom_: 1691062533.968586180 0.603339 -0.0383072 9.97424 -0.0585895 -0.0181095 -0.394148 0.03 -0.53 pose: 0.39102970 -4.48237 -3.62243 0 0.00646637 -0.002558 0.981359 0.192056 uwb: 0.0 1232.05 1436.39 -imu_odom_: 1691062533.994567626 0.577003 -0.179565 10.0078 -0.0511327 -0.00213053 -0.449542 0.03 -0.53 pose: 0.0 -4.48237 -3.62243 0 0.00646637 -0.002558 0.981359 0.192056 uwb: 0.49918487 1231.96 1437.13 -imu_odom_: 1691062534.20629860 0.509965 -0.208296 9.82102 -0.0660464 -0.00106526 -0.46339 0.02 -0.5 pose: 0.32005880 -4.48237 -3.62243 0 0.00853637 -0.0001468160.979942 0.199099 uwb: 0.0 1231.96 1437.13 -imu_odom_: 1691062534.46583315 0.387861 -0.31364 9.85453 -0.056459 -0.0245011 -0.504935 0.02 -0.61 pose: 0.25992528 -4.48237 -3.62243 0 0.00937058 0.000383207 0.978637 0.205382 uwb: 0.50265545 1230.62 1438.32 -imu_odom_: 1691062534.72620179 0.519542 -0.0335188 10.0317 -0.0575243 -0.0138484 -0.552872 0.02 -0.61 pose: 0.0 -4.48237 -3.62243 0 0.00937058 0.000383207 0.978637 0.205382 uwb: 0.0 1230.62 1438.32 -imu_odom_: 1691062534.89690530 0.579397 -0.227449 9.71567 -0.0681769 -0.0213053 -0.551807 0.02 -0.67 pose: 0.24970040 -4.48237 -3.62243 0 0.00704197 -0.0004964030.977317 0.211664 uwb: 0.49812924 1232.71 1437.64 -imu_odom_: 1691062534.113557874 0.737414 -0.272939 10.0197 -0.0660464 -0.0213053 -0.573112 0.02 -0.67 pose: 0.0 -4.48237 -3.62243 0 0.00704197 -0.0004964030.977317 0.211664 uwb: 0.0 1232.71 1437.64 -imu_odom_: 1691062534.139617194 0.454898 -0.126893 9.991 -0.0575243 0.00106526 -0.615723 0.01 -0.73 pose: 0.51943072 -4.48237 -3.62243 0 0.00669385 0.000550964 0.974049 0.226236 uwb: 0.50012115 1231.76 1438.62 -imu_odom_: 1691062534.154614267 0.517148 -0.191536 9.79228 -0.0735032 -0.0181095 -0.632767 0.01 -0.73 pose: 0.0 -4.48237 -3.62243 0 0.00669385 0.000550964 0.974049 0.226236 uwb: 0.0 1231.76 1438.62 -imu_odom_: 1691062534.179582848 0.766145 -0.248997 10.1035 -0.0532632 -0.0170442 -0.66579 0.01 -0.79 pose: 0.42099011 -4.48237 -3.62243 0 0.00878551 -0.00132821 0.971021 0.238829 uwb: 0.49986159 1232.68 1438.5 -imu_odom_: 1691062534.203548476 0.699107 -0.169988 9.85453 -0.0649811 -0.00745685 -0.688161 0.01 -0.79 pose: 0.0 -4.48237 -3.62243 0 0.00878551 -0.00132821 0.971021 0.238829 uwb: 0.0 1232.68 1438.5 -imu_odom_: 1691062534.229550343 0.565032 -0.258574 9.84256 -0.0660464 -0.02024 -0.688161 0.01 -0.7 pose: 0.39938824 -4.48237 -3.62243 0 0.00671475 -0.0007218260.967751 0.251819 uwb: 0.50043905 1230.96 1439.89 -imu_odom_: 1691062534.252614215 0.402226 -0.110133 9.991 -0.0543285 0.00106526 -0.713727 0.01 -0.7 pose: 0.0 -4.48237 -3.62243 0 0.00671475 -0.0007218260.967751 0.251819 uwb: 0.0 1230.96 1439.89 -imu_odom_: 1691062534.277543425 0.471658 -0.205901 9.82341 -0.056459 -0.00852212 -0.716923 0.01 -0.7 pose: 0.49966619 -4.48237 -3.62243 0 0.0102716 -0.00216697 0.963038 0.269163 uwb: 0.49989950 1234.68 1438.58 -imu_odom_: 1691062534.294612318 0.605733 -0.263362 10.1682 -0.0553937 0.0308927 -0.737163 0.01 -0.7 pose: 0.0 -4.48237 -3.62243 0 0.0102716 -0.00216697 0.963038 0.269163 uwb: 0.0 1234.68 1438.58 -imu_odom_: 1691062534.319606272 0.497994 -0.143652 9.82102 -0.0649811 -0.0298274 -0.727576 0.01 -0.7 pose: 0.49040074 -4.48237 -3.62243 0 0.00666728 -0.0013256 0.957995 0.286703 uwb: 0.0 1234.68 1438.58 -imu_odom_: 1691062534.344535190 0.6608 -0.105345 9.85453 -0.0607201 -0.00852212 -0.752077 0.01 -0.7 pose: 0.0 -4.48237 -3.62243 0 0.00666728 -0.0013256 0.957995 0.286703 uwb: 0.49948246 1233.34 1439.75 -imu_odom_: 1691062534.360652458 0.553061 -0.0742203 9.7875 -0.0639159 -0.00958738 -0.761664 0 -0.79 pose: 0.41991979 -4.48237 -3.62243 0 0.00597587 -0.00130164 0.95326 0.302089 uwb: 0.0 1233.34 1439.75 -imu_odom_: 1691062534.386528335 0.416591 -0.241814 9.79228 -0.0585895 -0.0191748 -0.800014 0 -0.79 pose: 0.0 -4.48237 -3.62243 0 0.00597587 -0.00130164 0.95326 0.302089 uwb: 0.50000449 1234.46 1439.07 -imu_odom_: 1691062534.399532331 0.371101 -0.186748 9.88326 -0.056459 0.0127832 -0.819188 0 -0.79 pose: 0.48066867 -4.48237 -3.62243 0 0.00877926 0.00115074 0.947373 0.32001 uwb: 0.0 1234.46 1439.07 -imu_odom_: 1691062534.424521328 0.507571 -0.184354 9.83059 -0.0628506 -0.0213053 -0.815993 0 -0.79 pose: 0.0 -4.48237 -3.62243 0 0.00877926 0.00115074 0.947373 0.32001 uwb: 0.0 1234.46 1439.07 -imu_odom_: 1691062534.449520240 0.553061 -0.335188 9.70131 -0.0607201 -0.0127832 -0.810666 0.01 -1.06 pose: 0.73830464 -4.48222 -3.62231 0 0.00583315 -0.00128212 0.936977 0.349341 uwb: 0.49978285 1233.79 1439.67 -imu_odom_: 1691062534.464528103 0.502782 -0.277727 9.94551 -0.0479369 -0.00852212 -0.833037 0.01 -1.06 pose: 0.7014557 -4.48237 -3.62243 0 0.00579157 -0.00199194 0.935931 0.35213 uwb: 0.0 1233.79 1439.67 -imu_odom_: 1691062534.488526103 0.629675 -0.248997 10.0102 -0.0596548 -0.0255663 -0.833037 0 -0.85 pose: 0.0 -4.48237 -3.62243 0 0.00579157 -0.00199194 0.935931 0.35213 uwb: 0.49998700 1233.84 1439.77 -imu_odom_: 1691062534.514524470 0.514753 -0.198719 9.89284 -0.0585895 0.00426106 -0.869256 0 -0.85 pose: 0.40030982 -4.4866 -3.61337 0 0.00516511 -0.0045814 0.929714 0.368216 uwb: 0.0 1233.84 1439.77 -imu_odom_: 1691062534.539581419 0.311246 -0.306458 9.96706 -0.0671117 -0.015979 -0.834102 0 -0.82 pose: 0.42957603 -4.48628 -3.61311 0 0.00601315 -0.00254927 0.922464 0.386027 uwb: 0.50002783 1235.18 1439.51 -imu_odom_: 1691062534.565670487 0.555455 -0.272939 10.0604 -0.0532632 -0.00958738 -0.84582 0 -1.03 pose: 0.7043430 -4.4866 -3.61337 0 0.00533875 -0.00258199 0.921276 0.388864 uwb: 0.0 1235.18 1439.51 -imu_odom_: 1691062534.590498497 0.35913 -0.0742203 9.91439 -0.0649811 0.00745685 -0.861799 0 -0.91 pose: 0.44102587 -4.48626 -3.6131 0 0.00526709 -0.00472531 0.913548 0.406669 uwb: 0.49878835 1237.25 1438.75 -imu_odom_: 1691062534.606552770 0.533907 -0.272939 9.63187 -0.0649811 0.00319579 -0.853277 0 -0.91 pose: 0.0 -4.48626 -3.6131 0 0.00526709 -0.00472531 0.913548 0.406669 uwb: 0.0 1237.25 1438.75 -imu_odom_: 1691062534.623496548 0.54109 -0.263362 9.91678 -0.0607201 -0.0372843 -0.854342 0 -0.91 pose: 0.0 -4.48626 -3.6131 0 0.00526709 -0.00472531 0.913548 0.406669 uwb: 0.0 1237.25 1438.75 -imu_odom_: 1691062534.639548488 0.464475 -0.237026 9.72285 -0.0596548 -0.0234358 -0.870321 0 -0.91 pose: 0.48892504 -4.4866 -3.61337 0 0.00509231 -0.00471088 0.904408 0.426612 uwb: 0.49981784 1236.84 1438.92 -imu_odom_: 1691062534.655490770 0.428562 -0.169988 9.96467 -0.0575243 0.0149137 -0.888431 0 -0.91 pose: 0.0 -4.4866 -3.61337 0 0.00509231 -0.00471088 0.904408 0.426612 uwb: 0.0 1236.84 1438.92 -imu_odom_: 1691062534.672681569 0.560243 -0.122104 10.0676 -0.0543285 0 -0.887365 0 -0.91 pose: 0.31951642 -4.4866 -3.61337 0 0.00436927 -0.00381661 0.898122 0.439709 uwb: 0.0 1236.84 1438.92 -imu_odom_: 1691062534.688619768 0.47884 -0.213084 9.83538 -0.0660464 -0.0319579 -0.8863 0 -0.91 pose: 0.0 -4.4866 -3.61337 0 0.00436927 -0.00381661 0.898122 0.439709 uwb: 0.50007449 1236.92 1439.06 -imu_odom_: 1691062534.705526508 0.550666 -0.217872 9.83777 -0.0500674 -0.0127832 -0.909736 0 -1.2 pose: 0.0 -4.4866 -3.61337 0 0.00436927 -0.00381661 0.898122 0.439709 uwb: 0.0 1236.92 1439.06 -imu_odom_: 1691062534.721504954 0.632069 -0.107739 9.81862 -0.0553937 0.0117179 -0.909736 0 -1.2 pose: 0.42105135 -4.48655 -3.61333 0 0.00394868 -0.00185231 0.889375 0.457158 uwb: 0.0 1236.92 1439.06 -imu_odom_: 1691062534.737498857 0.500388 -0.169988 10.0269 -0.0639159 0.00213053 -0.884169 0 -1.2 pose: 0.0 -4.48655 -3.61333 0 0.00394868 -0.00185231 0.889375 0.457158 uwb: 0.50232013 1238.22 1438.73 -imu_odom_: 1691062534.751501724 0.234632 -0.260968 9.79707 -0.0585895 -0.0127832 -0.868191 0 -0.88 pose: 0.8001764 -4.4866 -3.61337 0 0.0046671 -0.00226941 0.887629 0.46053 uwb: 0.0 1238.22 1438.73 -imu_odom_: 1691062534.767494460 0.260968 -0.339977 9.82102 -0.0639159 -0.0351537 -0.878843 0 -0.88 pose: 0.0 -4.4866 -3.61337 0 0.0046671 -0.00226941 0.887629 0.46053 uwb: 0.0 1238.22 1438.73 -imu_odom_: 1691062534.784496275 0.557849 -0.107739 9.9527 -0.0500674 -0.00106526 -0.902279 0 -0.88 pose: 0.0 -4.4866 -3.61337 0 0.0046671 -0.00226941 0.887629 0.46053 uwb: 0.49855795 1243.66 1435.97 -imu_odom_: 1691062534.800498052 0.538695 -0.227449 9.97185 -0.0692422 -0.0127832 -0.902279 0 -1.11 pose: 0.46937923 -4.4866 -3.61337 0 0.00526749 -0.0008249540.877301 0.479911 uwb: 0.0 1243.66 1435.97 -imu_odom_: 1691062534.816503621 0.632069 -0.131681 9.83538 -0.0649811 -0.0138484 -0.888431 0 -0.91 pose: 0.0 -4.4866 -3.61337 0 0.00526749 -0.0008249540.877301 0.479911 uwb: 0.0 1243.66 1435.97 -imu_odom_: 1691062534.832496940 0.469264 -0.354342 9.72525 -0.0681769 -0.0149137 -0.8863 0 -0.91 pose: 0.31943185 -4.4866 -3.61337 0 0.00388282 -0.00072092 0.870147 0.492776 uwb: 0.50026989 1246.61 1434.1 -imu_odom_: 1691062534.848489093 0.529119 -0.167594 9.79228 -0.0532632 -0.0138484 -0.898018 0 -0.91 pose: 0.32036218 -4.4866 -3.61337 0 0.00587356 -0.00212127 0.86263 0.505796 uwb: 0.0 1246.61 1434.1 -imu_odom_: 1691062534.864493203 0.694318 -0.1652 10.0772 -0.052198 0.0149137 -0.912932 0 -0.91 pose: 0.0 -4.4866 -3.61337 0 0.00587356 -0.00212127 0.86263 0.505796 uwb: 0.0 1246.61 1434.1 -imu_odom_: 1691062534.880511896 0.653617 -0.0430956 9.81383 -0.0585895 -0.0319579 -0.875647 0 -0.91 pose: 0.31995680 -4.4866 -3.61337 0 0.00599178 -0.00263935 0.855017 0.518558 uwb: 0.50012991 1246.06 1434 -imu_odom_: 1691062534.895523259 0.517148 -0.426168 9.63906 -0.0575243 -0.0117179 -0.836233 0 -0.94 pose: 0.0 -4.4866 -3.61337 0 0.00599178 -0.00263935 0.855017 0.518558 uwb: 0.0 1246.06 1434 -imu_odom_: 1691062534.912553946 0.579397 -0.471658 9.86411 -0.052198 -0.00426106 -0.790426 0 -0.94 pose: 0.40977358 -4.48656 -3.61334 0 0.00954038 -0.00192882 0.844902 0.534832 uwb: 0.0 1246.06 1434 -imu_odom_: 1691062534.928562723 0.651223 -0.392649 10.0006 -0.0639159 -0.0117179 -0.723315 0 -0.94 pose: 0.0 -4.48656 -3.61334 0 0.00954038 -0.00192882 0.844902 0.534832 uwb: 0.0 1246.06 1434 -imu_odom_: 1691062534.944507047 0.533907 -0.356736 9.77074 -0.0585895 0.00213053 -0.657268 0 -0.67 pose: 0.6024726 -4.4866 -3.61337 0 0.00913937 -0.0023523 0.843493 0.537057 uwb: 0.0 1246.06 1434 -imu_odom_: 1691062534.970486749 0.378284 -0.397437 9.90481 -0.0553937 -0.0127832 -0.566721 0 -0.67 pose: 0.0 -4.4866 -3.61337 0 0.00913937 -0.0023523 0.843493 0.537057 uwb: 0.0 1246.06 1434 -imu_odom_: 1691062534.986491734 0.37589 -0.280122 9.9527 -0.0543285 0.00532632 -0.537959 0 -0.61 pose: 0.49090237 -4.4866 -3.61337 0 0.00679616 -0.00633298 0.832846 0.553427 uwb: 0.99898824 1246.89 1433.7 -imu_odom_: 1691062535.2593544 0.311246 -0.272939 9.90481 -0.0511327 -0.00106526 -0.486826 0 -0.61 pose: 0.0 -4.4866 -3.61337 0 0.00679616 -0.00633298 0.832846 0.553427 uwb: 0.0 1246.89 1433.7 -imu_odom_: 1691062535.17536083 0.411803 -0.248997 9.9503 -0.0607201 -0.02024 -0.42291 0 -0.41 pose: 0.0 -4.4866 -3.61337 0 0.00679616 -0.00633298 0.832846 0.553427 uwb: 0.0 1246.89 1433.7 -imu_odom_: 1691062535.34649893 0.59855 -0.423774 9.87129 -0.0628506 -0.0266316 -0.335558 0 -0.41 pose: 0.72956708 -4.4866 -3.61337 0 0.000783509 -0.00432342 0.820968 0.570958 uwb: 0.49985873 1246.13 1434.13 -imu_odom_: 1691062535.51481976 0.656011 -0.521936 9.88805 -0.0575243 -0.00958738 -0.254598 0 -0.2 pose: 0.0 -4.4866 -3.61337 0 0.000783509 -0.00432342 0.820968 0.570958 uwb: 0.0 1246.13 1434.13 -imu_odom_: 1691062535.67531878 0.624887 -0.45011 9.87848 -0.0543285 -0.00319579 -0.175769 0 -0.2 pose: 0.34017054 -4.4866 -3.61337 0 0.000863905 -0.00625831 0.817261 0.576233 uwb: 0.0 1246.13 1434.13 -imu_odom_: 1691062535.84586776 0.577003 -0.342371 9.97185 -0.0532632 -0.00958738 -0.0745685 0 -0.2 pose: 0.0 -4.4866 -3.61337 0 0.000863905 -0.00625831 0.817261 0.576233 uwb: 0.50035459 1245.63 1434.14 -imu_odom_: 1691062535.100589724 0.189142 -0.35913 9.69412 -0.0543285 0.0213053 0.0213053 0 -0.02 pose: 0.41986155 -4.4866 -3.61337 0 0.00261324 -0.00975677 0.814914 0.579494 uwb: 0.0 1245.63 1434.14 -imu_odom_: 1691062535.115466643 0.131681 -0.42138 10.0245 -0.0511327 0.0255663 0.0820254 0 -0.02 pose: 0.7953645 -4.4866 -3.61337 0 0.00185935 -0.00927184 0.814879 0.579553 uwb: 0.0 1245.63 1434.14 -imu_odom_: 1691062535.130468386 0.0766145 -0.287304 9.95509 -0.0553937 0.00106526 0.109722 0 -0.02 pose: 0.0 -4.4866 -3.61337 0 0.00185935 -0.00927184 0.814879 0.579553 uwb: 0.50106327 1244.13 1435.01 -imu_odom_: 1691062535.147473413 0.244209 -0.100556 9.90002 -0.0543285 -0.0266316 0.118244 0 0.05 pose: 0.37927965 -4.4866 -3.61337 0 -0.00154583 -0.00695568 0.815354 0.578919 uwb: 0.0 1244.13 1435.01 -imu_odom_: 1691062535.163486860 0.610521 -0.0383072 9.8282 -0.0585895 -0.0223706 0.116114 0 0.05 pose: 0.0 -4.4866 -3.61337 0 -0.00154583 -0.00695568 0.815354 0.578919 uwb: 0.0 1244.13 1435.01 -imu_odom_: 1691062535.178481019 0.596156 -0.296881 9.87369 -0.056459 0.0117179 0.120375 0 0.05 pose: 0.0 -4.4866 -3.61337 0 -0.00154583 -0.00695568 0.815354 0.578919 uwb: 0.49936300 1242.88 1435.47 -imu_odom_: 1691062535.192469308 0.378284 -0.332794 9.92875 -0.0479369 0.0223706 0.125701 0 0.05 pose: 0.24070624 -4.4866 -3.61337 0 -0.000870146-0.00513306 0.815908 0.578158 uwb: 0.0 1242.88 1435.47 -imu_odom_: 1691062535.207514213 0.275333 -0.270545 9.91199 -0.052198 -0.00532632 0.157659 0 0.08 pose: 0.0 -4.4866 -3.61337 0 -0.000870146-0.00513306 0.815908 0.578158 uwb: 0.0 1242.88 1435.47 -imu_odom_: 1691062535.224576986 0.368707 -0.237026 9.85932 -0.0585895 -0.0170442 0.189617 0 0.08 pose: 0.0 -4.4866 -3.61337 0 -0.000870146-0.00513306 0.815908 0.578158 uwb: 0.0 1242.88 1435.47 -imu_odom_: 1691062535.240560393 0.490811 -0.220267 9.90481 -0.052198 -0.00426106 0.198139 0 0.14 pose: 0.29962363 -4.4866 -3.61337 0 0.000461148 -0.00547186 0.816601 0.577177 uwb: 0.50104286 1241.65 1435.94 -imu_odom_: 1691062535.257594001 0.574608 -0.186748 9.91918 -0.056459 -0.00958738 0.196009 0 0.14 pose: 0.40075613 -4.4866 -3.61337 0 -0.00163388 -0.00249544 0.818064 0.575119 uwb: 0.0 1241.65 1435.94 -imu_odom_: 1691062535.273610947 0.629675 -0.160412 9.86172 -0.0543285 -0.0106526 0.177899 0 0.14 pose: 0.0 -4.4866 -3.61337 0 -0.00163388 -0.00249544 0.818064 0.575119 uwb: 0.0 1241.65 1435.94 -imu_odom_: 1691062535.290525566 0.553061 -0.162806 9.95509 -0.0543285 -0.00106526 0.157659 0 0.14 pose: 0.7892691 -4.4866 -3.61337 0 -0.000840247-0.00253289 0.818423 0.574609 uwb: 0.50050624 1243.86 1434.54 -imu_odom_: 1691062535.307601754 0.466869 -0.189142 9.9096 -0.0532632 0.00106526 0.135289 0 0.14 pose: 0.0 -4.4866 -3.61337 0 -0.000840247-0.00253289 0.818423 0.574609 uwb: 0.0 1243.86 1434.54 -imu_odom_: 1691062535.323455089 0.371101 -0.213084 9.92397 -0.0585895 0.00106526 0.120375 0 0.14 pose: 0.0 -4.4866 -3.61337 0 -0.000840247-0.00253289 0.818423 0.574609 uwb: 0.0 1243.86 1434.54 -imu_odom_: 1691062535.348506794 0.35913 -0.134075 9.90242 -0.052198 -0.00319579 0.0649811 0 0.02 pose: 0.49264942 -4.4866 -3.61337 0 0.00409693 -0.00297272 0.820449 0.571697 uwb: 0.49687821 1244.24 1434.33 -imu_odom_: 1691062535.363507370 0.392649 -0.0287304 10.0197 -0.0532632 0.0127832 0.04048 0 0 pose: 0.0 -4.4866 -3.61337 0 0.00409693 -0.00297272 0.820449 0.571697 uwb: 0.0 1244.24 1434.33 -imu_odom_: 1691062535.380616805 -0.505177 -0.136469 9.70609 -0.0532632 0.0884169 0.076699 0 0 pose: 0.72896353 -4.4866 -3.61337 0 0.00181426 0.00225972 0.82176 0.569826 uwb: 0.50163198 1246.46 1432.96 -imu_odom_: 1691062535.397504593 -1.06542 -0.59855 9.991 -0.0543285 0.00958738 0.11931 0.03 0.05 pose: 0.0 -4.4866 -3.61337 0 0.00181426 0.00225972 0.82176 0.569826 uwb: 0.0 1246.46 1432.96 -imu_odom_: 1691062535.414636484 -0.672771 -0.282516 9.83777 -0.0500674 -0.0500674 0.147006 0.03 0.05 pose: 0.33883191 -4.4866 -3.61337 0 -0.0006655160.0048094 0.822112 0.569304 uwb: 0.0 1246.46 1432.96 -imu_odom_: 1691062535.430637682 0.296881 -0.0766145 9.9096 -0.0511327 -0.0585895 0.164051 0.03 0.05 pose: 0.0 -4.4866 -3.61337 0 -0.0006655160.0048094 0.822112 0.569304 uwb: 0.49989379 1246.86 1432.79 -imu_odom_: 1691062535.447639792 0.378284 -0.0622492 9.84496 -0.0543285 -0.00745685 0.171508 0.07 0.17 pose: 0.42123519 -4.4866 -3.61337 0 -0.00142759 0.006787 0.823393 0.56743 uwb: 0.0 1246.86 1432.79 -imu_odom_: 1691062535.464566660 -0.0023942 -0.318429 9.86172 -0.0479369 0.0298274 0.172573 0.07 0.17 pose: 0.7936729 -4.4866 -3.61337 0 -0.0006198230.00684716 0.823693 0.566994 uwb: 0.0 1246.86 1432.79 -imu_odom_: 1691062535.481715758 -0.0885855 -0.418985 10.1299 -0.0490022 -0.00319579 0.173638 0.07 0.17 pose: 0.0 -4.4866 -3.61337 0 -0.0006198230.00684716 0.823693 0.566994 uwb: 0.49934259 1247.56 1432.26 -imu_odom_: 1691062535.497606715 0.0430956 -0.148441 9.85693 -0.0617853 -0.0383495 0.191748 0.07 0.17 pose: 0.33059303 -4.4866 -3.61337 0 -0.00227572 0.00714301 0.824928 0.565188 uwb: 0.0 1247.56 1432.26 -imu_odom_: 1691062535.513423595 0.351948 -0.299275 9.93115 -0.0532632 -0.0287621 0.2024 0.11 0.17 pose: 0.0 -4.4866 -3.61337 0 -0.00227572 0.00714301 0.824928 0.565188 uwb: 0.0 1247.56 1432.26 -imu_odom_: 1691062535.529444624 0.474052 -0.158017 10.2663 -0.0436758 -0.0106526 0.185356 0.11 0.17 pose: 0.0 -4.4866 -3.61337 0 -0.00227572 0.00714301 0.824928 0.565188 uwb: 0.49998420 1248.95 1431.19 -imu_odom_: 1691062535.545501817 0.143652 0.0454898 9.81623 -0.0394148 0.0138484 0.160855 0.11 0.17 pose: 0.32859530 -4.4866 -3.61337 0 -0.00435077 0.00701184 0.826292 0.563181 uwb: 0.0 1248.95 1431.19 -imu_odom_: 1691062535.562491679 0.184354 -0.181959 9.94073 -0.0553937 -0.0106526 0.172573 0.11 0.14 pose: 0.0 -4.4866 -3.61337 0 -0.00435077 0.00701184 0.826292 0.563181 uwb: 0.0 1248.95 1431.19 -imu_odom_: 1691062535.578486461 -0.0407014 -0.316035 9.77553 -0.0660464 0.00426106 0.164051 0.11 0.14 pose: 0.31954274 -4.49069 -3.60425 0 -0.0028791 0.00602472 0.827606 0.561269 uwb: 0.50003961 1245.41 1432.86 -imu_odom_: 1691062535.595420911 0.00957681 -0.342371 9.79707 -0.0585895 0.0149137 0.142745 0.1 0.08 pose: 0.42038943 -4.49069 -3.60425 0 -0.00628308 0.00728701 0.829073 0.559057 uwb: 0.0 1245.41 1432.86 -imu_odom_: 1691062535.611473729 0.373495 -0.122104 10.3573 -0.0532632 0.0117179 0.132093 0.1 0.08 pose: 0.0 -4.49069 -3.60425 0 -0.00628308 0.00728701 0.829073 0.559057 uwb: 0.0 1245.41 1432.86 -imu_odom_: 1691062535.628421011 0.639252 -0.177171 10.0078 -0.0617853 -0.0798948 0.137419 0.1 0.08 pose: 0.0 -4.49069 -3.60425 0 -0.00628308 0.00728701 0.829073 0.559057 uwb: 0.50008919 1244.48 1432.98 -imu_odom_: 1691062535.644421334 1.01993 -0.241814 9.56244 -0.0490022 -0.0436758 0.128897 0.13 0.08 pose: 0.7945770 -4.49069 -3.60425 0 -0.00714232 0.00724403 0.829295 0.558719 uwb: 0.0 1244.48 1432.98 -imu_odom_: 1691062535.660473277 0.964863 -0.246603 9.79468 -0.0447411 0.0170442 0.134223 0.08 0.05 pose: 0.0 -4.49069 -3.60425 0 -0.00714232 0.00724403 0.829295 0.558719 uwb: 0.0 1244.48 1432.98 -imu_odom_: 1691062535.676472433 1.21386 -0.253785 10.0533 -0.052198 -0.02024 0.152333 0.08 0.05 pose: 0.66051529 -4.4948 -3.59513 0 -0.00263009 0.00394511 0.831077 0.556137 uwb: 0.49856682 1245.55 1432.24 -imu_odom_: 1691062535.692471589 0.837971 -0.244209 9.45949 -0.0500674 0.0191748 0.156594 0.08 0.05 pose: 0.0 -4.4948 -3.59513 0 -0.00263009 0.00394511 0.831077 0.556137 uwb: 0.0 1245.55 1432.24 -imu_odom_: 1691062535.709415955 0.804452 -0.102951 10.1059 -0.0628506 0.0170442 0.148072 0.07 0.02 pose: 0.0 -4.4948 -3.59513 0 -0.00263009 0.00394511 0.831077 0.556137 uwb: 0.0 1245.55 1432.24 -imu_odom_: 1691062535.725465857 0.486023 -0.0215478 9.70131 -0.0415453 0.0127832 0.0916127 0.07 0.02 pose: 0.31957191 -4.4948 -3.59513 0 -0.0001476160.00201675 0.832057 0.554687 uwb: 0.0 1245.55 1432.24 -imu_odom_: 1691062535.741469387 0.773327 0.00718261 10.0461 -0.0575243 -0.0234358 0.056459 0.07 0.02 pose: 0.41024906 -4.4948 -3.59513 0 0.00305165 0.00202931 0.833056 0.553177 uwb: 0.50011252 1243.56 1433.12 -imu_odom_: 1691062535.758459249 0.92895 -0.205901 9.72525 -0.0617853 -0.0170442 0.0553937 0.07 0.02 pose: 0.0 -4.4948 -3.59513 0 0.00305165 0.00202931 0.833056 0.553177 uwb: 0.0 1243.56 1433.12 -imu_odom_: 1691062535.775476817 0.950498 -0.342371 9.93115 -0.0575243 0.00213053 0.0394148 0.07 0.02 pose: 0.0 -4.4948 -3.59513 0 0.00305165 0.00202931 0.833056 0.553177 uwb: 0.49998420 1242.9 1432.84 -imu_odom_: 1691062535.800580726 0.799663 -0.0933739 9.77553 -0.052198 0 0.0287621 0.05 0.05 pose: 0.6971396 -4.4948 -3.59513 0 0.0037918 0.00187381 0.833087 0.553125 uwb: 0.0 1242.9 1432.84 -imu_odom_: 1691062535.816397898 0.3304 -0.0622492 9.84735 -0.0543285 0.0788296 0.0308927 0.04 0.08 pose: 0.0 -4.4948 -3.59513 0 0.0037918 0.00187381 0.833087 0.553125 uwb: 0.0 1242.9 1432.84 -imu_odom_: 1691062535.842408229 -1.43173 -0.35913 10.0485 -0.0500674 0.0479369 0.0788296 0.04 0.08 pose: 0.75026502 -4.49893 -3.58602 0 0.00860827 -0.00110495 0.833098 0.553057 uwb: 0.50000753 1241.75 1433.44 -imu_odom_: 1691062535.869471968 -0.294487 -0.114922 9.83299 -0.0596548 -0.0873517 0.092678 0.09 0.05 pose: 0.34944474 -4.49889 -3.58599 0 0.00491024 0.00142128 0.833374 0.552686 uwb: 0.0 1241.75 1433.44 -imu_odom_: 1691062535.895405306 0.423774 -0.227449 9.55526 -0.0628506 -0.0234358 0.0916127 0.09 0.05 pose: 0.7010184 -4.49893 -3.58602 0 0.00457314 0.00165257 0.833476 0.552535 uwb: 0.50112452 1241.85 1433.62 -imu_odom_: 1691062535.922456213 0.047884 -0.0383072 10.161 -0.0511327 0.00639159 0.0447411 0.13 0.05 pose: 0.45986893 -4.50186 -3.57945 0 0.00204817 0.000146921 0.834145 0.551541 uwb: 0.0 1241.85 1433.62 -imu_odom_: 1691062535.938447786 0.474052 -0.3304 10.0461 -0.0703074 -0.0628506 0.0575243 0.13 0.05 pose: 0.0 -4.50186 -3.57945 0 0.00204817 0.000146921 0.834145 0.551541 uwb: 0.50005711 1244.83 1432.73 -imu_odom_: 1691062535.955389236 0.885855 -0.244209 9.59357 -0.0500674 -0.0575243 0.02024 0.1 0 pose: 0.0 -4.50186 -3.57945 0 0.00204817 0.000146921 0.834145 0.551541 uwb: 0.0 1244.83 1432.73 -imu_odom_: 1691062535.971419889 1.19231 -0.263362 9.73961 -0.0745685 -0.0276969 0.0245011 0.1 0 pose: 0.35028174 -4.503 -3.57689 0 0.000506678 0.00150902 0.834221 0.551428 uwb: 0.0 1244.83 1432.73 -imu_odom_: 1691062535.987436835 1.90818 -0.150835 10.4339 -0.0511327 -0.0713727 -0.076699 0.1 -0.32 pose: 0.0 -4.503 -3.57689 0 0.000506678 0.00150902 0.834221 0.551428 uwb: 0.50144240 1245.41 1432 -imu_odom_: 1691062536.4451487 1.42216 0.184354 9.47146 -0.052198 -0.0117179 -0.209857 0.1 -0.32 pose: 0.47983470 -4.503 -3.57689 0 0.00447362 -0.00244469 0.83387 0.551937 uwb: 0.0 1245.41 1432 -imu_odom_: 1691062536.21451852 1.13485 0.160412 9.75398 -0.072438 0.0106526 -0.287621 0.1 -0.32 pose: 0.0 -4.503 -3.57689 0 0.00447362 -0.00244469 0.83387 0.551937 uwb: 0.0 1245.41 1432 -imu_odom_: 1691062536.37388601 0.612916 -0.102951 9.6199 -0.0617853 0.0372843 -0.360059 0.05 -0.35 pose: 0.43034902 -4.50712 -3.56776 0 0.00878408 -0.00346443 0.830831 0.556445 uwb: 0.49833940 1245.72 1431.66 -imu_odom_: 1691062536.54387507 0.442927 -0.141258 10.0293 -0.0671117 0.0127832 -0.380299 0.05 -0.35 pose: 0.0 -4.50712 -3.56776 0 0.00878408 -0.00346443 0.830831 0.556445 uwb: 0.0 1245.72 1431.66 -imu_odom_: 1691062536.70495741 0.3304 -0.356736 9.96706 -0.0617853 -0.0149137 -0.383495 0.05 -0.35 pose: 0.0 -4.50712 -3.56776 0 0.00878408 -0.00346443 0.830831 0.556445 uwb: 0.0 1245.72 1431.66 -imu_odom_: 1691062536.87542769 0.608127 -0.265756 9.90481 -0.0553937 -0.02024 -0.38456 0.05 -0.55 pose: 0.6943692 -4.50716 -3.56779 0 0.00925221 -0.00303124 0.830053 0.5576 uwb: 0.49981808 1247.23 1430.82 -imu_odom_: 1691062536.103535804 0.651223 -0.047884 9.67976 -0.0628506 -0.0319579 -0.401605 0.03 -0.44 pose: 0.0 -4.50716 -3.56779 0 0.00925221 -0.00303124 0.830053 0.5576 uwb: 0.0 1247.23 1430.82 -imu_odom_: 1691062536.120664200 0.435745 0.0023942 9.69652 -0.0511327 0.00532632 -0.431432 0.03 -0.44 pose: 0.67226860 -4.50716 -3.56779 0 0.00782985 -0.00329718 0.822075 0.569315 uwb: 0.0 1247.23 1430.82 -imu_odom_: 1691062536.136548745 0.428562 -0.0646434 9.86411 -0.056459 -0.00852212 -0.435693 0.03 -0.44 pose: 0.0 -4.50716 -3.56779 0 0.00782985 -0.00329718 0.822075 0.569315 uwb: 0.50011264 1244.89 1431.96 -imu_odom_: 1691062536.153530736 0.457293 -0.234632 9.89284 -0.056459 -0.00639159 -0.434628 0.03 -0.44 pose: 0.0 -4.50716 -3.56779 0 0.00782985 -0.00329718 0.822075 0.569315 uwb: 0.0 1244.89 1431.96 -imu_odom_: 1691062536.169536604 0.500388 -0.241814 9.94312 -0.0553937 -0.0106526 -0.430367 0.03 -0.44 pose: 0.33050854 -4.50716 -3.56779 0 0.00818622 -0.00052896 0.817665 0.575636 uwb: 0.0 1244.89 1431.96 -imu_odom_: 1691062536.186422645 0.35913 -0.150835 9.65821 -0.056459 -0.0138484 -0.435693 0.05 -0.58 pose: 0.40863346 -4.50712 -3.56776 0 0.00531495 -0.00166588 0.812086 0.583512 uwb: 0.49879442 1244.13 1432.37 -imu_odom_: 1691062536.203400262 0.648829 -0.114922 9.93354 -0.052198 -0.0276969 -0.429302 0.05 -0.58 pose: 0.6905778 -4.50716 -3.56779 0 0.00487631 -0.00117001 0.811128 0.584847 uwb: 0.0 1244.13 1432.37 -imu_odom_: 1691062536.219527161 0.548272 -0.23942 9.94551 -0.0607201 -0.0170442 -0.381365 0.05 -0.58 pose: 0.0 -4.50716 -3.56779 0 0.00487631 -0.00117001 0.811128 0.584847 uwb: 0.0 1244.13 1432.37 -imu_odom_: 1691062536.236400954 0.761356 -0.488417 9.9096 -0.0596548 -0.00106526 -0.335558 0.03 -0.38 pose: 0.43084779 -4.50712 -3.56776 0 0.00580176 -0.00270089 0.805388 0.592714 uwb: 0.49968392 1241.91 1433.72 -imu_odom_: 1691062536.253497852 0.490811 -0.316035 9.75398 -0.056459 0.00319579 -0.297209 0.02 -0.32 pose: 0.0 -4.50712 -3.56776 0 0.00580176 -0.00270089 0.805388 0.592714 uwb: 0.0 1241.91 1433.72 -imu_odom_: 1691062536.270387393 0.61531 -0.148441 10.0078 -0.0511327 -0.00532632 -0.273773 0.02 -0.32 pose: 0.0 -4.50712 -3.56776 0 0.00580176 -0.00270089 0.805388 0.592714 uwb: 0.0 1241.91 1433.72 -imu_odom_: 1691062536.286371388 0.545878 -0.124498 9.84735 -0.0585895 -0.02024 -0.249272 0.02 -0.32 pose: 0.24982884 -4.50716 -3.56779 0 0.00507134 -0.00471213 0.8027 0.596343 uwb: 0.50068134 1241.64 1434.12 -imu_odom_: 1691062536.303412583 0.641646 -0.316035 9.93354 -0.0553937 -0.00958738 -0.232228 0.02 -0.26 pose: 0.0 -4.50716 -3.56779 0 0.00507134 -0.00471213 0.8027 0.596343 uwb: 0.0 1241.64 1434.12 -imu_odom_: 1691062536.319475320 0.59855 -0.28491 9.81623 -0.0553937 -0.00852212 -0.213053 0.02 -0.26 pose: 0.33927236 -4.51133 -3.55871 0 0.00643378 -0.0040681 0.799505 0.600611 uwb: 0.0 1241.64 1434.12 -imu_odom_: 1691062536.336396942 0.581791 -0.234632 9.96467 -0.052198 -0.00639159 -0.184291 0.02 -0.32 pose: 0.41038039 -4.51133 -3.55871 0 0.00650917 -0.00672231 0.796195 0.604968 uwb: 0.50074550 1242.01 1433.88 -imu_odom_: 1691062536.352404851 0.622492 -0.260968 9.84256 -0.0553937 -0.00958738 -0.16192 0.02 -0.32 pose: 0.0 -4.51133 -3.55871 0 0.00650917 -0.00672231 0.796195 0.604968 uwb: 0.0 1242.01 1433.88 -imu_odom_: 1691062536.367345352 0.483629 -0.246603 9.87608 -0.0596548 0.00532632 -0.149137 0.02 -0.32 pose: 0.0 -4.51133 -3.55871 0 0.00650917 -0.00672231 0.796195 0.604968 uwb: 0.0 1242.01 1433.88 -imu_odom_: 1691062536.381361059 0.423774 -0.25618 9.88805 -0.0511327 0.00106526 -0.151268 0.01 -0.17 pose: 0.7112844 -4.51133 -3.55871 0 0.00668712 -0.00601869 0.795712 0.605608 uwb: 0.50097882 1244.24 1432.55 -imu_odom_: 1691062536.405362861 0.52433 -0.21069 9.93594 -0.056459 -0.015979 -0.133158 0.01 -0.17 pose: 0.0 -4.51133 -3.55871 0 0.00668712 -0.00601869 0.795712 0.605608 uwb: 0.0 1244.24 1432.55 -imu_odom_: 1691062536.422369350 0.440533 -0.306458 9.96467 -0.0596548 0.0245011 -0.116114 0.01 -0.2 pose: 0.46797958 -4.51133 -3.55871 0 0.00533327 -0.00555417 0.792871 0.609341 uwb: 0.0 1244.24 1432.55 -imu_odom_: 1691062536.438422755 -0.246603 -0.289698 9.77553 -0.0500674 0.0628506 -0.167247 0.03 -0.14 pose: 0.0 -4.51133 -3.55871 0 0.00533327 -0.00555417 0.792871 0.609341 uwb: 0.49771534 1240.65 1434.13 -imu_odom_: 1691062536.454420165 -0.505177 0.134075 9.97424 -0.0383495 0.00745685 -0.282295 0.06 -0.23 pose: 0.0 -4.51133 -3.55871 0 0.00533327 -0.00555417 0.792871 0.609341 uwb: 0.0 1240.65 1434.13 -imu_odom_: 1691062536.471446486 -0.926556 0.433351 9.77074 -0.0447411 0.0298274 -0.285491 0.06 -0.23 pose: 0.72047403 -4.51133 -3.55871 0 0.00137242 -0.00133516 0.788639 0.614853 uwb: 0.0 1240.65 1434.13 -imu_odom_: 1691062536.488385315 -0.804452 -0.462081 9.93833 -0.0596548 -0.0234358 -0.18216 0.09 -0.17 pose: 0.0 -4.51133 -3.55871 0 0.00137242 -0.00133516 0.788639 0.614853 uwb: 0.50108673 1241.65 1433.25 -imu_odom_: 1691062536.505446050 -0.146046 -0.739808 9.90002 -0.056459 -0.0798948 -0.137419 0.09 -0.17 pose: 0.33138638 -4.51133 -3.55871 0 -0.0006199 0.00155589 0.785552 0.618793 uwb: 0.0 1241.65 1433.25 -imu_odom_: 1691062536.522443498 0.629675 -0.299275 9.71567 -0.0468716 -0.0458064 -0.102265 0.09 -0.17 pose: 0.0 -4.51133 -3.55871 0 -0.0006199 0.00155589 0.785552 0.618793 uwb: 0.0 1241.65 1433.25 -imu_odom_: 1691062536.538395121 0.368707 -0.124498 9.663 -0.0479369 0.0234358 -0.102265 0.12 -0.26 pose: 0.33995188 -4.51133 -3.55871 0 -0.00207052 0.00060544 0.783624 0.621232 uwb: 0.49922313 1237.01 1435.59 -imu_odom_: 1691062536.554386115 -0.0287304 0.071826 9.85932 -0.0468716 0.0213053 -0.112918 0.12 -0.26 pose: 0.0 -4.51133 -3.55871 0 -0.00207052 0.00060544 0.783624 0.621232 uwb: 0.0 1237.01 1435.59 -imu_odom_: 1691062536.571388229 0.0263362 -0.191536 10.0149 -0.0532632 0 -0.111853 0.12 -0.26 pose: 0.0 -4.51133 -3.55871 0 -0.00207052 0.00060544 0.783624 0.621232 uwb: 0.0 1237.01 1435.59 -imu_odom_: 1691062536.588342807 0.0742203 -0.0837971 9.92397 -0.0479369 0.0138484 -0.134223 0.1 -0.14 pose: 0.49832488 -4.51539 -3.54957 0 -0.00189863 0.00350917 0.781341 0.624092 uwb: 0.50055010 1239.65 1434.09 -imu_odom_: 1691062536.604400295 0.203507 -0.225055 9.81862 -0.0479369 0.00639159 -0.103331 0.1 -0.14 pose: 0.0 -4.51539 -3.54957 0 -0.00189863 0.00350917 0.781341 0.624092 uwb: 0.0 1239.65 1434.09 -imu_odom_: 1691062536.620340543 -0.124498 -0.272939 9.84256 -0.0809601 0.00426106 -0.0713727 0.15 -0.17 pose: 0.42000456 -4.50622 -3.54545 0 -0.00516056 0.00590271 0.779253 0.626661 uwb: 0.0 1239.65 1434.09 -imu_odom_: 1691062536.636359243 0.292093 -0.208296 10.4627 -0.056459 -0.04048 -0.0852212 0.15 -0.17 pose: 0.0 -4.50622 -3.54545 0 -0.00516056 0.00590271 0.779253 0.626661 uwb: 0.49988516 1241.84 1432.68 -imu_odom_: 1691062536.653333943 0.464475 -0.124498 9.72764 -0.0692422 -0.0298274 -0.0894822 0.15 -0.17 pose: 0.0 -4.50622 -3.54545 0 -0.00516056 0.00590271 0.779253 0.626661 uwb: 0.0 1241.84 1432.68 -imu_odom_: 1691062536.669359351 0.814029 -0.191536 9.9096 -0.0788296 -0.015979 -0.0639159 0.12 -0.11 pose: 0.6949233 -4.50626 -3.54548 0 -0.00586544 0.00615598 0.779006 0.626959 uwb: 0.0 1241.84 1432.68 -imu_odom_: 1691062536.685337513 0.746991 -0.368707 9.72764 -0.0713727 -0.0394148 -0.072438 0.17 -0.17 pose: 0.0 -4.50626 -3.54548 0 -0.00586544 0.00615598 0.779006 0.626959 uwb: 0.50003681 1238.23 1434.2 -imu_odom_: 1691062536.702331753 0.912191 -0.155623 10.2017 -0.0532632 -0.0223706 -0.0852212 0.17 -0.17 pose: 0.64994053 -4.51037 -3.53637 0 -0.00214246 0.00243883 0.776637 0.629941 uwb: 0.0 1238.23 1434.2 -imu_odom_: 1691062536.718379909 1.33118 -0.134075 10.1466 -0.0596548 -0.0213053 -0.056459 0.13 -0.17 pose: 0.0 -4.51037 -3.53637 0 -0.00214246 0.00243883 0.776637 0.629941 uwb: 0.0 1238.23 1434.2 -imu_odom_: 1691062536.735346735 1.25935 -0.47884 9.99819 -0.0532632 -0.015979 -0.0330232 0.13 -0.17 pose: 0.0 -4.51037 -3.53637 0 -0.00214246 0.00243883 0.776637 0.629941 uwb: 0.49936312 1237.82 1434.35 -imu_odom_: 1691062536.752327852 1.26653 -0.323217 9.67976 -0.0415453 -0.036219 -0.0340885 0.13 -0.17 pose: 0.33002441 -4.51447 -3.52725 0 0.000534246 2.80544e-05 0.775442 0.631419 uwb: 0.0 1237.82 1434.35 -imu_odom_: 1691062536.768330511 1.38385 -0.265756 9.58878 -0.0458064 -0.0106526 -0.04048 0.11 -0.17 pose: 0.32988151 -4.51447 -3.52725 0 0.00292712 -0.00256967 0.774611 0.632426 uwb: 0.0 1237.82 1434.35 -imu_odom_: 1691062536.784437287 0.936133 -0.138864 10.0916 -0.0426106 0.0415453 -0.0490022 0.11 -0.17 pose: 0.0 -4.51447 -3.52725 0 0.00292712 -0.00256967 0.774611 0.632426 uwb: 0.50063176 1234.99 1436.39 -imu_odom_: 1691062536.801378740 0.407014 -0.272939 9.78989 -0.052198 0.0319579 -0.0671117 0.11 -0.17 pose: 0.0 -4.51447 -3.52725 0 0.00292712 -0.00256967 0.774611 0.632426 uwb: 0.0 1234.99 1436.39 -imu_odom_: 1691062536.818383480 0.47884 -0.122104 10.0293 -0.0468716 -0.00852212 -0.103331 0.06 -0.11 pose: 0.50109839 -4.51447 -3.52725 0 0.00538874 -0.00450087 0.773238 0.634077 uwb: 0.0 1234.99 1436.39 -imu_odom_: 1691062536.834443010 0.682347 -0.0574608 9.79707 -0.056459 -0.0181095 -0.0948085 0.06 -0.11 pose: 0.0 -4.51447 -3.52725 0 0.00538874 -0.00450087 0.773238 0.634077 uwb: 0.49879150 1232.47 1437.2 -imu_odom_: 1691062536.850320555 0.797269 -0.320823 9.89284 -0.0553937 0.0117179 -0.076699 0.07 -0.08 pose: 0.41998998 -4.51447 -3.52725 0 0.00664685 -0.00258788 0.771471 0.636224 uwb: 0.0 1232.47 1437.2 -imu_odom_: 1691062536.866379501 0.761356 -0.347159 10.0269 -0.0575243 -0.0127832 -0.0639159 0.07 -0.08 pose: 0.0 -4.51447 -3.52725 0 0.00664685 -0.00258788 0.771471 0.636224 uwb: 0.0 1232.47 1437.2 -imu_odom_: 1691062536.883365867 0.56982 -0.174777 9.76116 -0.0458064 0.0255663 -0.0639159 0.07 -0.08 pose: 0.0 -4.51447 -3.52725 0 0.00664685 -0.00258788 0.771471 0.636224 uwb: 0.50000474 1229.57 1438.2 -imu_odom_: 1691062536.909320792 0.349553 -0.0861913 9.75637 -0.0585895 0.00106526 -0.0245011 0.04 -0.02 pose: 0.7015727 -4.51447 -3.52725 0 0.00685246 -0.00320586 0.771212 0.636534 uwb: 0.0 1229.57 1438.2 -imu_odom_: 1691062536.926315908 0.368707 -0.289698 10.0365 -0.0596548 0.02024 0.00426106 0.04 -0.05 pose: 0.0 -4.51447 -3.52725 0 0.00685246 -0.00320586 0.771212 0.636534 uwb: 0.49987641 1228.53 1438.06 -imu_odom_: 1691062536.952309621 -0.991199 -0.196325 10.0772 -0.0447411 0.0692422 -0.00106526 0.04 -0.05 pose: 0.74880116 -4.51854 -3.51811 0 0.00573766 -0.00142259 0.769184 0.639 uwb: 0.0 1228.53 1438.06 -imu_odom_: 1691062536.969422268 -1.03908 -0.248997 10.0245 -0.0585895 -0.0266316 0.0213053 0.05 -0.02 pose: 0.0 -4.51854 -3.51811 0 0.00573766 -0.00142259 0.769184 0.639 uwb: 0.0 1228.53 1438.06 -imu_odom_: 1691062536.986324933 -0.335188 -0.23942 9.93115 -0.052198 -0.0553937 0.00852212 0.05 -0.02 pose: 0.18037150 -4.51854 -3.51811 0 0.00380592 -0.0006643690.768976 0.639267 uwb: 0.49882358 1225.42 1439.59 -imu_odom_: 1691062537.11391812 0.785298 -0.311246 9.8282 -0.0553937 -0.0138484 0.00106526 0.13 -0.02 pose: 0.51948930 -4.51854 -3.51811 0 -0.0003140240.00255776 0.768472 0.639879 uwb: 0.0 1225.42 1439.59 -imu_odom_: 1691062537.34311338 0.217872 -0.215478 9.81862 -0.0468716 0.0266316 0.00213053 0.13 -0.02 pose: 0.0 -4.51854 -3.51811 0 -0.0003140240.00255776 0.768472 0.639879 uwb: 0.50165839 1226.16 1439.13 -imu_odom_: 1691062537.60373301 -0.0335188 -0.287304 9.63427 -0.0585895 -0.0415453 0.0308927 0.11 -0.05 pose: 0.7125968 -4.51854 -3.51811 0 9.894e-05 0.00193642 0.768385 0.639984 uwb: 0.0 1226.16 1439.13 -imu_odom_: 1691062537.77314175 0.299275 -0.512359 9.7851 -0.0617853 -0.0543285 0.00745685 0.14 -0.02 pose: 0.0 -4.51854 -3.51811 0 9.894e-05 0.00193642 0.768385 0.639984 uwb: 0.50005151 1224.56 1439.79 -imu_odom_: 1691062537.103294771 0.462081 -0.0023942 9.83299 -0.0543285 0.00319579 -0.00106526 0.12 -0.02 pose: 0.73865219 -4.52261 -3.50898 0 -0.00331655 0.00217744 0.767737 0.640753 uwb: 0.0 1224.56 1439.79 -imu_odom_: 1691062537.120363384 0.265756 -0.387861 10.003 -0.0511327 0.0351537 0.0106526 0.12 -0.02 pose: 0.0 -4.52261 -3.50898 0 -0.00331655 0.00217744 0.767737 0.640753 uwb: 0.0 1224.56 1439.79 -imu_odom_: 1691062537.146357686 0.169988 -0.0023942 9.83299 -0.0575243 -0.0213053 0.00426106 0.17 -0.05 pose: 0.43033168 -4.51751 -3.49578 0 -0.00222366 0.00209319 0.767233 0.641361 uwb: 0.49957905 1225.66 1439.1 -imu_odom_: 1691062537.173423480 0.146046 -0.117316 9.65821 -0.036219 -0.0266316 0.0117179 0.18 -0.05 pose: 0.36008398 -4.51748 -3.49575 0 -0.00291861 0.00423157 0.766843 0.641814 uwb: 0.0 1225.66 1439.1 -imu_odom_: 1691062537.199272545 0.459687 -0.225055 10.0796 -0.076699 0.0383495 0.0287621 0.18 -0.05 pose: 0.6956234 -4.51751 -3.49578 0 -0.00312651 0.0048557 0.766778 0.641886 uwb: 0.49983862 1228.28 1437.6 -imu_odom_: 1691062537.226334839 -0.0335188 -0.268151 9.74201 -0.0543285 0.00213053 0.0106526 0.18 -0.05 pose: 0.45958625 -4.52163 -3.48667 0 -0.00295448 0.00461063 0.766513 0.642206 uwb: 0.50320707 1228.9 1436.94 -imu_odom_: 1691062537.251281274 0.31364 -0.203507 10.3286 -0.0500674 -0.0255663 0.015979 0.18 -0.05 pose: 0.0 -4.52163 -3.48667 0 -0.00295448 0.00461063 0.766513 0.642206 uwb: 0.0 1228.9 1436.94 -imu_odom_: 1691062537.278452350 0.0885855 -0.320823 10.1035 -0.0276969 -0.00319579 0.00426106 0.18 -0.05 pose: 0.52008729 -4.52452 -3.48025 0 -0.00350465 0.00390424 0.766068 0.642739 uwb: 0.49525692 1228.4 1436.91 -imu_odom_: 1691062537.304425071 0.186748 0.00957681 9.44991 -0.0308927 0.0276969 0.0276969 0.15 -0.02 pose: 0.27171076 -4.52573 -3.47755 0 -0.00595048 0.00467855 0.765741 0.643105 uwb: 0.0 1228.4 1436.91 -imu_odom_: 1691062537.321300034 0.37589 -0.555455 9.98143 -0.0628506 -0.0383495 0.0394148 0.15 -0.02 pose: 0.8004685 -4.52573 -3.47755 0 -0.00568772 0.00557851 0.765711 0.643135 uwb: 0.0 1228.4 1436.91 -imu_odom_: 1691062537.338313819 0.560243 -0.316035 9.56962 -0.0575243 0.00532632 0.00639159 0.15 -0.02 pose: 0.0 -4.52573 -3.47755 0 -0.00568772 0.00557851 0.765711 0.643135 uwb: 0.50204342 1228.59 1436.33 -imu_odom_: 1691062537.364330869 0.806846 -0.311246 9.52653 -0.056459 -0.0276969 0.0500674 0.15 0 pose: 0.43020336 -4.52982 -3.46842 0 -0.00512354 0.00507472 0.765557 0.643328 uwb: 0.0 1228.59 1436.33 -imu_odom_: 1691062537.381281951 0.0263362 -0.509965 9.94791 -0.0500674 0.0138484 0.0276969 0.15 0 pose: 0.0 -4.52982 -3.46842 0 -0.00512354 0.00507472 0.765557 0.643328 uwb: 0.49921742 1227.37 1436.78 -imu_odom_: 1691062537.407341581 0.227449 0.0933739 9.74201 -0.0500674 0.00426106 0.0394148 0.15 0 pose: 0.41844729 -4.52069 -3.46434 0 -0.0036061 0.00210117 0.765533 0.643383 uwb: 0.0 1227.37 1436.78 -imu_odom_: 1691062537.433275514 0.311246 -0.378284 10.4938 -0.072438 -0.00958738 0.0351537 0.19 -0.02 pose: 0.36019481 -4.52478 -3.45521 0 -0.00353085 0.00458135 0.765494 0.643417 uwb: 0.49983861 1227.77 1436.63 -imu_odom_: 1691062537.450291632 0.687136 -0.126893 9.49301 -0.0575243 -0.0340885 0.00958738 0.19 -0.02 pose: 0.0 -4.52478 -3.45521 0 -0.00353085 0.00458135 0.765494 0.643417 uwb: 0.0 1227.77 1436.63 -imu_odom_: 1691062537.476403466 0.699107 -0.31364 9.68455 -0.0660464 -0.036219 0.0447411 0.22 -0.02 pose: 0.7006105 -4.52478 -3.45521 0 -0.00393093 0.00393155 0.765483 0.643432 uwb: 0.0 1227.77 1436.63 -imu_odom_: 1691062537.502379687 0.672771 -0.251391 10.4818 -0.0468716 -0.0575243 0.0223706 0.22 -0.02 pose: 0.0 -4.52478 -3.45521 0 -0.00393093 0.00393155 0.765483 0.643432 uwb: 0.0 1227.77 1436.63 -imu_odom_: 1691062537.528343075 0.25618 -0.155623 9.92875 -0.0543285 0.02024 0.0607201 0.2 0.02 pose: 0.43107828 -4.52886 -3.44608 0 -0.00276192 0.000660945 0.765306 0.64366 uwb: 0.100067756 1227.48 1436.99 -imu_odom_: 1691062537.553320715 0.442927 -0.229843 9.90721 -0.0553937 -0.00852212 0.0266316 0.2 0.02 pose: 0.0 -4.52886 -3.44608 0 -0.00276192 0.000660945 0.765306 0.64366 uwb: 0.0 1227.48 1436.99 -imu_odom_: 1691062537.570353748 0.426168 -0.0814029 9.73243 -0.0458064 -0.0127832 0.0426106 0.18 0 pose: 0.51844535 -4.53293 -3.43695 0 0.000789607 -0.00246393 0.765237 0.643743 uwb: 0.0 1227.48 1436.99 -imu_odom_: 1691062537.596346009 0.270545 -0.385466 9.86172 -0.0351537 0.0308927 0.0245011 0.18 0 pose: 0.0 -4.53293 -3.43695 0 0.000789607 -0.00246393 0.765237 0.643743 uwb: 0.49946531 1228.99 1436.17 -imu_odom_: 1691062537.621410850 0.363919 -0.225055 10.094 -0.0575243 -0.0138484 0.0671117 0.17 0 pose: 0.52102928 -4.53293 -3.43695 0 0.00200482 -0.00170966 0.765269 0.643706 uwb: 0.0 1228.99 1436.17 -imu_odom_: 1691062537.636292443 0.471658 -0.217872 10.6279 -0.0639159 -0.0245011 0.0458064 0.17 0 pose: 0.0 -4.53293 -3.43695 0 0.00200482 -0.00170966 0.765269 0.643706 uwb: 0.49930491 1227.04 1437.09 -imu_odom_: 1691062537.661304497 0.646434 0.0430956 9.69891 -0.0500674 -0.0223706 0.0415453 0.17 0 pose: 0.65856745 -4.53195 -3.41461 0 -0.00147695 0.000575624 0.765389 0.643566 uwb: 0.0 1227.04 1437.09 -imu_odom_: 1691062537.687280427 0.94571 -0.21069 9.98382 -0.0628506 0.00639159 0.0340885 0.17 0 pose: 0.0 -4.53195 -3.41461 0 -0.00147695 0.000575624 0.765389 0.643566 uwb: 0.50057646 1224.45 1438.63 -imu_odom_: 1691062537.713273854 0.229843 -0.138864 9.29908 -0.0511327 0.0340885 0.0479369 0.18 0 pose: 0.16001788 -4.53195 -3.41461 0 5.13205e-05 6.24915e-06 0.765412 0.64354 uwb: 0.0 1224.45 1438.63 -imu_odom_: 1691062537.736405112 0.699107 -0.497994 9.92875 -0.0639159 0.02024 0.0415453 0.18 0 pose: 0.51176383 -4.53603 -3.40548 0 0.00321085 -0.0009366110.765395 0.643552 uwb: 0.49962572 1225.23 1438.26 -imu_odom_: 1691062537.761295260 0.766145 -0.289698 10.2185 -0.056459 -0.0127832 0.0458064 0.18 0 pose: 0.0 -4.53603 -3.40548 0 0.00321085 -0.0009366110.765395 0.643552 uwb: 0.0 1225.23 1438.26 -imu_odom_: 1691062537.777285674 -0.0885855 -0.426168 9.66779 -0.0617853 0.0127832 0.052198 0.18 0 pose: 0.24869150 -4.53603 -3.40548 0 0.00175198 0.000246061 0.765451 0.643492 uwb: 0.50017108 1222.29 1439.1 -imu_odom_: 1691062537.803280268 -0.225055 0.0837971 9.69652 -0.0511327 0.0191748 0.0415453 0.22 0 pose: 0.48102482 -4.54011 -3.39635 0 0.00252542 -0.00321884 0.765535 0.643381 uwb: 0.0 1222.29 1439.1 -imu_odom_: 1691062537.829235491 0.0861913 -0.483629 9.6223 -0.0820254 0.0213053 0.052198 0.22 0 pose: 0.35870743 -4.54305 -3.38978 0 0.000228223 -0.0002367950.765599 0.643319 uwb: 0.49872454 1223.12 1437.89 -imu_odom_: 1691062537.855221919 0.270545 -0.395043 9.6199 -0.0436758 0.0170442 0.0490022 0.22 0 pose: 0.0 -4.54305 -3.38978 0 0.000228223 -0.0002367950.765599 0.643319 uwb: 0.0 1223.12 1437.89 -imu_odom_: 1691062537.880213850 -0.0574608 -0.138864 10.0437 -0.0234358 0.00532632 0.0340885 0.22 -0.02 pose: 0.6972566 -4.54419 -3.38722 0 -0.000597899-0.0002465690.765627 0.643285 uwb: 0.50051814 1225.43 1436.76 -imu_odom_: 1691062537.895214141 0.280122 0.0335188 9.99819 -0.04048 -0.0106526 0.0458064 0.22 -0.02 pose: 0.0 -4.54419 -3.38722 0 -0.000597899-0.0002465690.765627 0.643285 uwb: 0.0 1225.43 1436.76 -imu_odom_: 1691062537.920276649 0.497994 -0.225055 9.85932 -0.056459 0.015979 0.0340885 0.18 0 pose: 0.51981606 -4.53915 -3.37401 0 -0.00574151 1.95621e-05 0.765758 0.643103 uwb: 0.0 1225.43 1436.76 -imu_odom_: 1691062537.946377109 0.629675 -0.263362 9.87129 -0.0490022 0.0415453 0.0575243 0.18 0 pose: 0.0 -4.53915 -3.37401 0 -0.00574151 1.95621e-05 0.765758 0.643103 uwb: 0.50001360 1227.69 1435.5 -imu_odom_: 1691062537.972422449 0.138864 -0.0742203 10.0173 -0.0298274 0.0181095 0.0372843 0.18 -0.02 pose: 0.39993388 -4.53915 -3.37401 0 -0.00489411 0.00270986 0.765755 0.643108 uwb: 0.0 1227.69 1435.5 -imu_odom_: 1691062537.987261754 -0.0861913 -0.28491 9.54808 -0.0479369 0.02024 0.052198 0.18 -0.02 pose: 0.0 -4.53915 -3.37401 0 -0.00489411 0.00270986 0.765755 0.643108 uwb: 0.50108684 1224.57 1436.96 -imu_odom_: 1691062538.11208735 0.270545 -0.399832 9.50498 -0.0596548 0.0319579 0.0479369 0.17 0.02 pose: 0.51151011 -4.54324 -3.36488 0 -0.00235119 0.00111299 0.765875 0.642984 uwb: 0.0 1224.57 1436.96 -imu_odom_: 1691062538.37231916 0.387861 -0.237026 9.99579 -0.0426106 0.0149137 0.0596548 0.17 0.02 pose: 0.0 -4.54324 -3.36488 0 -0.00235119 0.00111299 0.765875 0.642984 uwb: 0.50003698 1224.93 1436.72 -imu_odom_: 1691062538.53220876 0.727837 -0.0981623 10.07 -0.0756338 -0.00745685 0.0468716 0.19 0 pose: 0.40072423 -4.54733 -3.35576 0 -0.00477982 0.00378677 0.765924 0.642902 uwb: 0.0 1224.93 1436.72 -imu_odom_: 1691062538.80258970 0.445322 -0.25618 9.3733 -0.0884169 0.00958738 0.0596548 0.19 0 pose: 0.0 -4.54733 -3.35576 0 -0.00477982 0.00378677 0.765924 0.642902 uwb: 0.49941876 1221.32 1438.14 -imu_odom_: 1691062538.105221450 0.45011 -0.131681 9.98622 -0.0649811 -0.0181095 0.0436758 0.23 0 pose: 0.50917707 -4.54231 -3.34254 0 -0.0035747 0.00134194 0.766156 0.642643 uwb: 0.0 1221.32 1438.14 -imu_odom_: 1691062538.132249920 0.531513 -0.517148 9.82102 -0.0649811 -0.0213053 0.0447411 0.23 0 pose: 0.60852481 -4.54641 -3.33342 0 0.000679651 -0.0005010150.766387 0.642379 uwb: 0.50046284 1223.7 1437.14 -imu_odom_: 1691062538.157228149 0.617704 -0.0430956 10.3884 -0.0127832 -0.0245011 0.0436758 0.23 0 pose: 0.0 -4.54641 -3.33342 0 0.000679651 -0.0005010150.766387 0.642379 uwb: 0.0 1223.7 1437.14 -imu_odom_: 1691062538.184202665 0.672771 0.0263362 10.2472 -0.0553937 -0.0319579 0.0426106 0.23 0.02 pose: 0.7069393 -4.54641 -3.33342 0 0.000465232 -0.00123231 0.766399 0.642364 uwb: 0.50192980 1221.32 1438.14 -imu_odom_: 1691062538.200205624 0.466869 -0.105345 9.68694 -0.0383495 -0.0127832 0.0490022 0.23 0.02 pose: 0.0 -4.54641 -3.33342 0 0.000465232 -0.00123231 0.766399 0.642364 uwb: 0.0 1221.32 1438.14 -imu_odom_: 1691062538.227234094 0.430956 -0.25618 9.86172 -0.04048 -0.0436758 0.0479369 0.24 0 pose: 0.51997950 -4.55052 -3.3243 0 0.00360355 -0.0024329 0.766461 0.642277 uwb: 0.49749976 1217.71 1439.53 -imu_odom_: 1691062538.252263943 0.380678 -0.0574608 9.73243 -0.0436758 -0.0191748 0.056459 0.24 0 pose: 0.0 -4.55052 -3.3243 0 0.00360355 -0.0024329 0.766461 0.642277 uwb: 0.0 1217.71 1439.53 -imu_odom_: 1691062538.269256442 0.574608 -0.0790087 10.2615 -0.0735032 -0.0330232 0.0490022 0.23 0.02 pose: 0.42919438 -4.55463 -3.31518 0 0.00553871 -0.0008147920.766534 0.64218 uwb: 0.0 1217.71 1439.53 -imu_odom_: 1691062538.295258333 0.672771 -0.287304 9.87848 -0.0543285 -0.0191748 0.0383495 0.23 0.02 pose: 0.0 -4.55463 -3.31518 0 0.00553871 -0.0008147920.766534 0.64218 uwb: 0.49903380 1218.46 1439.11 -imu_odom_: 1691062538.321271307 0.770933 -0.426168 9.6199 -0.0436758 0.00745685 0.04048 0.23 0 pose: 0.52067652 -4.54962 -3.30195 0 0.00508351 0.000693949 0.766743 0.641934 uwb: 0.0 1218.46 1439.11 -imu_odom_: 1691062538.344365823 0.316035 -0.373495 9.89524 -0.0671117 0.02024 0.056459 0.23 0 pose: 0.0 -4.54962 -3.30195 0 0.00508351 0.000693949 0.766743 0.641934 uwb: 0.49989414 1215.17 1440.2 -imu_odom_: 1691062538.360249792 0.35913 -0.277727 10.3501 -0.0607201 -0.0266316 0.0511327 0.18 -0.02 pose: 0.42985057 -4.55374 -3.29284 0 0.00674735 -0.00297603 0.766768 0.641882 uwb: 0.0 1215.17 1440.2 -imu_odom_: 1691062538.387247348 0.610521 -0.179565 9.85932 -0.0532632 -0.00958738 0.0330232 0.18 -0.02 pose: 0.0 -4.55374 -3.29284 0 0.00674735 -0.00297603 0.766768 0.641882 uwb: 0.50251891 1214.77 1440.34 -imu_odom_: 1691062538.412332026 0.248997 -0.270545 9.70609 -0.0394148 0.0298274 0.0319579 0.23 0 pose: 0.50023536 -4.55786 -3.28373 0 0.00355603 -0.00419619 0.766952 0.641681 uwb: 0.0 1214.77 1440.34 -imu_odom_: 1691062538.439304792 0.442927 -0.469264 9.64384 -0.0628506 -0.0106526 0.0575243 0.23 -0.02 pose: 0.60047550 -4.56198 -3.27462 0 0.00318852 -0.00294694 0.766867 0.641792 uwb: 0.0 1214.77 1440.34 -imu_odom_: 1691062538.465298809 0.304064 -0.299275 10.0868 -0.0447411 -0.0383495 0.0490022 0.23 -0.02 pose: 0.0 -4.56198 -3.27462 0 0.00318852 -0.00294694 0.766867 0.641792 uwb: 0.0 1214.77 1440.34 -imu_odom_: 1691062538.482190400 0.912191 0.0885855 9.93354 -0.0500674 -0.0234358 0.0596548 0.25 -0.02 pose: 0.6874576 -4.56198 -3.27462 0 0.00266481 -0.00342645 0.766908 0.641742 uwb: 0.99758056 1213.21 1441.05 -imu_odom_: 1691062538.498174402 1.24977 -0.174777 10.24 -0.0735032 -0.0468716 0.0937433 0.25 -0.02 pose: 0.0 -4.56198 -3.27462 0 0.00266481 -0.00342645 0.766908 0.641742 uwb: 0.0 1213.21 1441.05 -imu_odom_: 1691062538.515297556 1.38145 -0.277727 9.37809 -0.0532632 0.0191748 0.129962 0.25 -0.02 pose: 0.0 -4.56198 -3.27462 0 0.00266481 -0.00342645 0.766908 0.641742 uwb: 0.0 1213.21 1441.05 -imu_odom_: 1691062538.533240223 1.15401 -0.325611 9.67497 -0.0639159 -0.0213053 0.172573 0.14 0.23 pose: 0.53051360 -4.55699 -3.26139 0 0.000108655 -0.00368952 0.76716 0.641445 uwb: 0.49977456 1214.32 1440.38 -imu_odom_: 1691062538.547230271 1.35991 -0.287304 9.9096 -0.0671117 -0.0500674 0.226901 0.14 0.23 pose: 0.0 -4.55699 -3.26139 0 0.000108655 -0.00368952 0.76716 0.641445 uwb: 0.0 1214.32 1440.38 -imu_odom_: 1691062538.563234980 1.53947 -0.361524 9.70849 -0.0447411 0.0511327 0.298274 0.14 0.23 pose: 0.0 -4.55699 -3.26139 0 0.000108655 -0.00368952 0.76716 0.641445 uwb: 0.0 1214.32 1440.38 -imu_odom_: 1691062538.579287809 1.25217 -0.411803 10.2424 -0.052198 0.0532632 0.36219 0.11 0.35 pose: 0.50979537 -4.56112 -3.25228 0 0.00440082 -0.0066267 0.768309 0.64003 uwb: 0.49956167 1211.35 1441.13 -imu_odom_: 1691062538.596287307 0.794875 -0.332794 9.65582 -0.0575243 0.0777643 0.411192 0.1 0.38 pose: 0.0 -4.56112 -3.25228 0 0.00440082 -0.0066267 0.768309 0.64003 uwb: 0.0 1211.35 1441.13 -imu_odom_: 1691062538.612226104 0.497994 -0.536301 9.99579 -0.0490022 0.0372843 0.4815 0.1 0.38 pose: 0.63082664 -4.56519 -3.24314 0 0.0078873 -0.0108772 0.773317 0.633877 uwb: 0.0 1211.35 1441.13 -imu_odom_: 1691062538.629231143 0.505177 -0.3304 9.86172 -0.0490022 -0.0106526 0.54222 0.12 0.55 pose: 0.0 -4.56519 -3.24314 0 0.0078873 -0.0108772 0.773317 0.633877 uwb: 0.50057658 1212.43 1440.41 -imu_odom_: 1691062538.646221601 0.933739 -0.23942 9.69173 -0.0426106 0 0.60294 0.12 0.55 pose: 0.0 -4.56519 -3.24314 0 0.0078873 -0.0108772 0.773317 0.633877 uwb: 0.0 1212.43 1440.41 -imu_odom_: 1691062538.662225726 1.05345 -0.567426 9.75158 -0.052198 0.0138484 0.604005 0.12 0.55 pose: 0.33924919 -4.56519 -3.24314 0 0.00557312 -0.0112979 0.778005 0.628132 uwb: 0.0 1212.43 1440.41 -imu_odom_: 1691062538.679224349 0.648829 -0.184354 9.77792 -0.0490022 0.0149137 0.634898 0.07 0.5 pose: 0.41980644 -4.56501 -3.24302 0 0.0067524 -0.0128854 0.785192 0.619082 uwb: 0.50054742 1210.38 1441.08 -imu_odom_: 1691062538.697363874 0.306458 -0.196325 9.8665 -0.0607201 0.036219 0.656203 0.07 0.5 pose: 0.6997357 -4.56519 -3.24314 0 0.00707746 -0.0122595 0.786478 0.617456 uwb: 0.0 1210.38 1441.08 -imu_odom_: 1691062538.713167350 0.407014 -0.215478 10.2496 -0.0447411 0.0330232 0.616788 0.06 0.55 pose: 0.0 -4.56519 -3.24314 0 0.00707746 -0.0122595 0.786478 0.617456 uwb: 0.0 1210.38 1441.08 -imu_odom_: 1691062538.730153432 0.54109 -0.251391 10.1658 -0.0458064 -0.00852212 0.62318 0.06 0.55 pose: 0.43944267 -4.56922 -3.23398 0 0.00503874 -0.00818375 0.794552 0.60712 uwb: 0.50058825 1210.31 1440.93 -imu_odom_: 1691062538.747167512 0.878672 -0.40462 9.9503 -0.0660464 -0.00958738 0.633832 0.05 0.55 pose: 0.0 -4.56922 -3.23398 0 0.00503874 -0.00818375 0.794552 0.60712 uwb: 0.0 1210.31 1440.93 -imu_odom_: 1691062538.764207840 0.837971 -0.335188 9.64624 -0.0490022 0.00958738 0.586961 0.05 0.55 pose: 0.0 -4.56922 -3.23398 0 0.00503874 -0.00818375 0.794552 0.60712 uwb: 0.0 1210.31 1440.93 -imu_odom_: 1691062538.781153384 0.612916 0.0407014 9.78271 -0.052198 0.0127832 0.549676 0.05 0.47 pose: 0.24999519 -4.56927 -3.23401 0 0.00499863 -0.00728402 0.798989 0.601281 uwb: 0.49803930 1212.63 1439.84 -imu_odom_: 1691062538.797146719 0.627281 -0.0311246 9.95988 -0.0543285 0.00852212 0.518784 0.05 0.47 pose: 0.0 -4.56927 -3.23401 0 0.00499863 -0.00728402 0.798989 0.601281 uwb: 0.0 1212.63 1439.84 -imu_odom_: 1691062538.813144719 0.665588 -0.189142 9.93354 -0.0596548 0.00213053 0.469782 0.05 0.47 pose: 0.34049158 -4.56927 -3.23401 0 0.00683654 -0.00866412 0.80457 0.593755 uwb: 0.0 1212.63 1439.84 -imu_odom_: 1691062538.829212131 0.627281 -0.136469 9.85214 -0.0511327 -0.0127832 0.426106 0.04 0.38 pose: 0.40928692 -4.56927 -3.23401 0 0.0097452 -0.00675801 0.810176 0.586067 uwb: 0.49991164 1212.48 1440.51 -imu_odom_: 1691062538.846196463 0.648829 -0.124498 9.7851 -0.056459 0.00745685 0.392017 0.04 0.38 pose: 0.8062724 -4.56927 -3.23401 0 0.0101834 -0.00608575 0.811082 0.584812 uwb: 0.0 1212.48 1440.51 -imu_odom_: 1691062538.863272955 0.639252 -0.112527 9.88566 -0.0532632 -0.00106526 0.356864 0.04 0.38 pose: 0.0 -4.56927 -3.23401 0 0.0101834 -0.00608575 0.811082 0.584812 uwb: 0.0 1212.48 1440.51 -imu_odom_: 1691062538.888265183 0.610521 -0.138864 9.9096 -0.0479369 0.00639159 0.315318 0.04 0.29 pose: 0.42065512 -4.56922 -3.23398 0 0.0127475 -0.00293293 0.81526 0.578947 uwb: 0.50047742 1212.11 1440.72 -imu_odom_: 1691062538.906147772 0.486023 -0.201113 9.90721 -0.0585895 -0.00106526 0.307861 0.03 0.23 pose: 0.0 -4.56922 -3.23398 0 0.0127475 -0.00293293 0.81526 0.578947 uwb: 0.0 1212.11 1440.72 -imu_odom_: 1691062538.923136770 0.342371 -0.184354 9.89284 -0.0511327 0.0138484 0.235423 0.03 0.23 pose: 0.32883467 -4.57339 -3.2249 0 0.00938366 -0.00277327 0.817897 0.575282 uwb: 0.0 1212.11 1440.72 -imu_odom_: 1691062538.938188394 0.225055 0.0742203 9.97185 -0.0532632 0.0138484 0.167247 0.04 0.08 pose: 0.0 -4.57339 -3.2249 0 0.00938366 -0.00277327 0.817897 0.575282 uwb: 0.50050659 1210.67 1441.67 -imu_odom_: 1691062538.956230219 0.251391 0.148441 9.99819 -0.056459 -0.00958738 0.0916127 0.04 0.08 pose: 0.0 -4.57339 -3.2249 0 0.00938366 -0.00277327 0.817897 0.575282 uwb: 0.0 1210.67 1441.67 -imu_odom_: 1691062538.973229426 0.56982 -0.0670376 9.93115 -0.0639159 -0.0287621 0.0266316 0.04 0.08 pose: 0.32997207 -4.57339 -3.2249 0 0.00656446 -0.00108223 0.819859 0.572526 uwb: 0.0 1210.67 1441.67 -imu_odom_: 1691062538.989419618 1.00078 -0.208296 9.89045 -0.0553937 -0.0266316 -0.0681769 0.04 -0.11 pose: 0.34024660 -4.57339 -3.2249 0 0.00683239 0.00147906 0.820421 0.571717 uwb: 0.49924086 1205.57 1443.86 -imu_odom_: 1691062539.7436655 1.02951 0.225055 9.88326 -0.0468716 0.00213053 -0.184291 0.04 -0.11 pose: 0.0 -4.57339 -3.2249 0 0.00683239 0.00147906 0.820421 0.571717 uwb: 0.0 1205.57 1443.86 -imu_odom_: 1691062539.24410200 0.6608 0.122104 9.7444 -0.0713727 0.0223706 -0.24075 0.02 -0.23 pose: 0.0 -4.57339 -3.2249 0 0.00683239 0.00147906 0.820421 0.571717 uwb: 0.0 1205.57 1443.86 -imu_odom_: 1691062539.39252137 0.328006 -0.059855 9.85693 -0.0703074 0.0298274 -0.282295 0.02 -0.23 pose: 0.18006537 -4.57339 -3.2249 0 0.00852874 0.000692149 0.820132 0.57211 uwb: 0.49972212 1207.87 1442.74 -imu_odom_: 1691062539.55243434 0.306458 -0.440533 10.0461 -0.0607201 -0.0106526 -0.297209 0.02 -0.23 pose: 0.0 -4.57339 -3.2249 0 0.00852874 0.000692149 0.820132 0.57211 uwb: 0.0 1207.87 1442.74 -imu_odom_: 1691062539.72123071 0.277727 -0.203507 9.93354 -0.0543285 -0.0117179 -0.3036 0.02 -0.32 pose: 0.34236395 -4.57339 -3.2249 0 0.011513 0.000613607 0.818055 0.575024 uwb: 0.0 1207.87 1442.74 -imu_odom_: 1691062539.89246520 0.237026 -0.117316 9.86411 -0.056459 0.00106526 -0.267381 0.02 -0.32 pose: 0.0 -4.57339 -3.2249 0 0.011513 0.000613607 0.818055 0.575024 uwb: 0.50109874 1207.56 1443.09 -imu_odom_: 1691062539.106244273 0.191536 -0.153229 9.8689 -0.0596548 -0.00639159 -0.255663 0.02 -0.32 pose: 0.0 -4.57339 -3.2249 0 0.011513 0.000613607 0.818055 0.575024 uwb: 0.0 1207.56 1443.09 -imu_odom_: 1691062539.122304397 0.629675 -0.246603 9.97903 -0.052198 -0.0468716 -0.312122 0.02 -0.35 pose: 0.46828029 -4.57339 -3.2249 0 0.00850498 0.00156662 0.813709 0.581208 uwb: 0.0 1207.56 1443.09 -imu_odom_: 1691062539.140260192 0.706289 0.253785 9.8282 -0.0490022 -0.00426106 -0.365386 0.02 -0.35 pose: 0.0 -4.57339 -3.2249 0 0.00850498 0.00156662 0.813709 0.581208 uwb: 0.50186575 1208.9 1442.92 -imu_odom_: 1691062539.158236985 0.505177 -0.131681 9.85693 -0.0713727 0.00532632 -0.376038 0.02 -0.35 pose: 0.68028338 -4.57339 -3.2249 0 0.00606081 0.0020434 0.807112 0.590364 uwb: 0.0 1208.9 1442.92 -imu_odom_: 1691062539.172291489 0.526724 -0.143652 9.99579 -0.0585895 -0.00532632 -0.395213 0.02 -0.35 pose: 0.0 -4.57339 -3.2249 0 0.00606081 0.0020434 0.807112 0.590364 uwb: 0.0 1208.9 1442.92 -imu_odom_: 1691062539.189131463 0.308852 -0.399832 9.93354 -0.052198 -0.0138484 -0.363255 0.02 -0.41 pose: 0.0 -4.57339 -3.2249 0 0.00606081 0.0020434 0.807112 0.590364 uwb: 0.49871310 1207.31 1443.54 -imu_odom_: 1691062539.214239770 0.459687 -0.344765 9.9096 -0.0585895 -0.0106526 -0.266316 0.02 -0.41 pose: 0.34017961 -4.57339 -3.2249 0 0.00682713 5.54206e-05 0.802922 0.596044 uwb: 0.0 1207.31 1443.54 -imu_odom_: 1691062539.231285351 0.361524 -0.368707 9.89763 -0.0543285 0 -0.204531 0.01 -0.32 pose: 0.31906475 -4.57339 -3.2249 0 0.00501166 -0.00155997 0.799219 0.601017 uwb: 0.49940138 1210.1 1442.44 -imu_odom_: 1691062539.248287478 0.612916 -0.292093 9.9934 -0.0575243 -0.0255663 -0.215183 0.01 -0.32 pose: 0.0 -4.57339 -3.2249 0 0.00501166 -0.00155997 0.799219 0.601017 uwb: 0.0 1210.1 1442.44 -imu_odom_: 1691062539.265118703 0.387861 0.189142 9.64624 -0.0511327 0.015979 -0.316384 0.02 -0.41 pose: 0.52085454 -4.57339 -3.2249 0 0.00302216 -0.00463865 0.794997 0.606588 uwb: 0.0 1210.1 1442.44 -imu_odom_: 1691062539.283112119 0.361524 0.342371 9.95509 -0.0585895 -0.00213053 -0.377104 0.02 -0.41 pose: 0.0 -4.57339 -3.2249 0 0.00302216 -0.00463865 0.794997 0.606588 uwb: 0.49854688 1209.71 1442.62 -imu_odom_: 1691062539.297112378 0.385466 -0.110133 9.86411 -0.0692422 -0.00852212 -0.407996 0.02 -0.41 pose: 0.0 -4.57339 -3.2249 0 0.00302216 -0.00463865 0.794997 0.606588 uwb: 0.0 1209.71 1442.62 -imu_odom_: 1691062539.314185665 0.586579 -0.378284 9.94073 -0.056459 -0.0181095 -0.454868 0.01 -0.47 pose: 0.6913658 -4.57339 -3.2249 0 0.00324817 -0.00394279 0.79425 0.60757 uwb: 0.0 1209.71 1442.62 -imu_odom_: 1691062539.331232705 0.497994 -0.3304 9.9096 -0.056459 -0.0106526 -0.467651 0.01 -0.47 pose: 0.0 -4.57339 -3.2249 0 0.00324817 -0.00394279 0.79425 0.60757 uwb: 0.50134079 1210.97 1442.28 -imu_odom_: 1691062539.348105634 0.565032 0.0430956 9.99579 -0.0713727 -0.00213053 -0.459129 0.01 -0.47 pose: 0.65991512 -4.57757 -3.21582 0 0.00339165 -0.00239763 0.785264 0.619147 uwb: 0.0 1210.97 1442.28 -imu_odom_: 1691062539.365105428 0.509965 -0.0790087 9.77553 -0.0500674 0.00319579 -0.487891 0.01 -0.47 pose: 0.0 -4.57757 -3.21582 0 0.00339165 -0.00239763 0.785264 0.619147 uwb: 0.0 1210.97 1442.28 -imu_odom_: 1691062539.382158592 0.469264 0.00957681 10.0461 -0.0468716 -0.0170442 -0.529436 0.01 -0.47 pose: 0.0 -4.57757 -3.21582 0 0.00339165 -0.00239763 0.785264 0.619147 uwb: 0.49744738 1212.23 1441.94 -imu_odom_: 1691062539.398162429 0.517148 -0.1652 9.7851 -0.0660464 -0.00426106 -0.532632 0.01 -0.47 pose: 0.34919134 -4.57757 -3.21582 0 0.00474878 -0.00176039 0.779737 0.626087 uwb: 0.0 1212.23 1441.94 -imu_odom_: 1691062539.415154348 0.519542 -0.296881 9.90002 -0.0660464 -0.00426106 -0.545415 0.01 -0.73 pose: 0.42050647 -4.56851 -3.2116 0 0.00617202 -0.00121066 0.772286 0.635244 uwb: 0.0 1212.23 1441.94 -imu_odom_: 1691062539.431249761 0.59855 -0.131681 9.87848 -0.0553937 -0.0127832 -0.574178 0.01 -0.73 pose: 0.8004398 -4.56851 -3.2116 0 0.00567488 -0.00187664 0.770801 0.637048 uwb: 0.50168202 1208.73 1443.55 -imu_odom_: 1691062539.449244636 0.517148 -0.0407014 9.89045 -0.0585895 -0.0117179 -0.600809 0.01 -0.73 pose: 0.0 -4.56851 -3.2116 0 0.00567488 -0.00187664 0.770801 0.637048 uwb: 0.0 1208.73 1443.55 -imu_odom_: 1691062539.466439246 0.292093 -0.205901 9.8665 -0.0543285 -0.0138484 -0.62531 0.01 -0.61 pose: 0.43077809 -4.56833 -3.21148 0 0.00773822 -0.00126484 0.762223 0.647267 uwb: 0.0 1208.73 1443.55 -imu_odom_: 1691062539.493381688 0.519542 -0.184354 9.90002 -0.0479369 -0.0298274 -0.618919 0.01 -0.64 pose: 0.0 -4.56833 -3.21148 0 0.00773822 -0.00126484 0.762223 0.647267 uwb: 0.49970177 1204.13 1445.79 -imu_odom_: 1691062539.510309737 0.445322 -0.136469 9.9527 -0.0660464 0.0138484 -0.580569 0.01 -0.64 pose: 0.25083809 -4.56851 -3.2116 0 0.00608929 -0.00133845 0.756825 0.653588 uwb: 0.0 1204.13 1445.79 -imu_odom_: 1691062539.526150255 -0.220267 -0.306458 9.87129 -0.0596548 0.0500674 -0.545415 0.01 -0.7 pose: 0.0 -4.56851 -3.2116 0 0.00608929 -0.00133845 0.756825 0.653588 uwb: 0.50117748 1204.76 1445.12 -imu_odom_: 1691062539.543154423 -0.677559 -0.28491 9.85693 -0.0447411 -0.00213053 -0.593352 0.01 -0.7 pose: 0.0 -4.56851 -3.2116 0 0.00608929 -0.00133845 0.756825 0.653588 uwb: 0.0 1204.76 1445.12 -imu_odom_: 1691062539.560096180 -0.610521 0.124498 9.61511 -0.0490022 -0.00852212 -0.58483 0.05 -0.47 pose: 0.26114763 -4.56851 -3.2116 0 0.00543702 -0.00251001 0.751273 0.659964 uwb: 0.0 1204.76 1445.12 -imu_odom_: 1691062539.577082558 -0.634463 -0.351948 9.8689 -0.0756338 0.0298274 -0.487891 0.05 -0.47 pose: 0.42711215 -4.56846 -3.21157 0 0.00203141 0.000671164 0.742587 0.669747 uwb: 0.49864603 1206.36 1444.5 -imu_odom_: 1691062539.594135431 -0.268151 -0.73502 10.1275 -0.0671117 -0.0298274 -0.431432 0.05 -0.47 pose: 0.0 -4.56846 -3.21157 0 0.00203141 0.000671164 0.742587 0.669747 uwb: 0.0 1206.36 1444.5 -imu_odom_: 1691062539.611183053 0.229843 -0.301669 9.74919 -0.0575243 -0.0298274 -0.393083 0.07 -0.44 pose: 0.8009356 -4.56851 -3.2116 0 0.00163955 0.0013671 0.740909 0.671603 uwb: 0.0 1206.36 1444.5 -imu_odom_: 1691062539.628067357 0.208296 0.0383072 10.0197 -0.0628506 -0.0308927 -0.376038 0.07 -0.44 pose: 0.0 -4.56851 -3.2116 0 0.00163955 0.0013671 0.740909 0.671603 uwb: 0.50160911 1206.3 1444.38 -imu_odom_: 1691062539.645068317 0.155623 0.105345 9.5816 -0.0639159 -0.0127832 -0.390952 0.07 -0.44 pose: 0.0 -4.56851 -3.2116 0 0.00163955 0.0013671 0.740909 0.671603 uwb: 0.0 1206.3 1444.38 -imu_odom_: 1691062539.662124106 -0.0143652 -0.114922 9.9096 -0.0660464 -0.00852212 -0.377104 0.09 -0.41 pose: 0.50908388 -4.56851 -3.2116 0 -0.00293092 0.00282507 0.732101 0.681184 uwb: 0.0 1206.3 1444.38 -imu_odom_: 1691062539.678064948 0.23942 -0.45011 10.0748 -0.0479369 -0.0351537 -0.36432 0.09 -0.35 pose: 0.0 -4.56851 -3.2116 0 -0.00293092 0.00282507 0.732101 0.681184 uwb: 0.49689034 1205.15 1444.94 -imu_odom_: 1691062539.695120445 0.11971 -0.258574 10.0245 -0.0447411 -0.0298274 -0.32171 0.09 -0.35 pose: 0.66999135 -4.57262 -3.20249 0 -0.00405351 0.00633572 0.722416 0.691418 uwb: 0.0 1205.15 1444.94 -imu_odom_: 1691062539.712066577 0.363919 -0.311246 9.7037 -0.0585895 -0.0649811 -0.282295 0.1 -0.32 pose: 0.0 -4.57262 -3.20249 0 -0.00405351 0.00633572 0.722416 0.691418 uwb: 0.0 1205.15 1444.94 -imu_odom_: 1691062539.729077453 0.514753 -0.0694318 9.97424 -0.0681769 -0.0468716 -0.274838 0.1 -0.32 pose: 0.0 -4.57262 -3.20249 0 -0.00405351 0.00633572 0.722416 0.691418 uwb: 0.50245487 1205.33 1444.31 -imu_odom_: 1691062539.747089243 0.292093 -0.248997 9.84975 -0.052198 -0.0287621 -0.278034 0.1 -0.32 pose: 0.33992296 -4.57262 -3.20249 0 -0.00574576 0.00515805 0.718118 0.695878 uwb: 0.0 1205.33 1444.31 -imu_odom_: 1691062539.762189866 -0.0263362 0.117316 9.49301 -0.0479369 -0.0969391 -0.279099 0.12 -0.32 pose: 0.44025645 -4.57511 -3.19682 0 -0.00511892 0.00258909 0.713246 0.700891 uwb: 0.0 1205.33 1444.31 -imu_odom_: 1691062539.779198409 0.888249 -0.232238 10.4507 -0.0585895 -0.0894822 -0.275903 0.12 -0.32 pose: 0.6104643 -4.57669 -3.19336 0 -0.00487585 0.0030119 0.712566 0.701581 uwb: 0.50074877 1205.3 1444.24 -imu_odom_: 1691062539.797088876 1.24498 -0.0215478 9.21528 -0.0671117 -0.00319579 -0.223706 0.09 -0.29 pose: 0.0 -4.57669 -3.19336 0 -0.00487585 0.0030119 0.712566 0.701581 uwb: 0.0 1205.3 1444.24 -imu_odom_: 1691062539.814263071 1.01035 -0.778116 9.69652 -0.0490022 0.0181095 -0.178964 0.09 -0.26 pose: 0.43894990 -4.57669 -3.19336 0 -0.00139734 0.000863884 0.708025 0.706185 uwb: 0.0 1205.3 1444.24 -imu_odom_: 1691062539.831060465 1.07978 -0.35913 9.96946 -0.072438 -0.0372843 -0.149137 0.07 -0.26 pose: 0.0 -4.57669 -3.19336 0 -0.00139734 0.000863884 0.708025 0.706185 uwb: 0.49813565 1207.94 1442.83 -imu_odom_: 1691062539.848069300 1.2809 -0.153229 9.95988 -0.0340885 0.0330232 -0.192813 0.07 -0.26 pose: 0.0 -4.57669 -3.19336 0 -0.00139734 0.000863884 0.708025 0.706185 uwb: 0.0 1207.94 1442.83 -imu_odom_: 1691062539.863114219 0.701501 0.0670376 10.0341 -0.0511327 0.0181095 -0.215183 0.06 -0.2 pose: 0.24224341 -4.56756 -3.18928 0 -0.000927702-0.00138124 0.706226 0.707985 uwb: 0.0 1207.94 1442.83 -imu_odom_: 1691062539.880055393 0.497994 0.124498 9.91678 -0.056459 -0.00639159 -0.218379 0.06 -0.2 pose: 0.0 -4.56756 -3.18928 0 -0.000927702-0.00138124 0.706226 0.707985 uwb: 0.50168202 1206.01 1443.76 -imu_odom_: 1691062539.894059734 0.634463 -0.411803 9.991 -0.0628506 -0.0191748 -0.214118 0.06 -0.2 pose: 0.33754025 -4.56756 -3.18928 0 0.00158756 -0.00290899 0.703531 0.710657 uwb: 0.0 1206.01 1443.76 -imu_odom_: 1691062539.911100066 0.797269 -0.25618 9.7875 -0.0671117 0 -0.206661 0.05 -0.17 pose: 0.38992492 -4.57157 -3.18011 0 0.0034225 -0.00312976 0.699972 0.714155 uwb: 0.0 1206.01 1443.76 -imu_odom_: 1691062539.925135030 0.818817 -0.277727 10.1897 -0.0511327 0.00213053 -0.178964 0.05 -0.17 pose: 0.0 -4.57157 -3.18011 0 0.0034225 -0.00312976 0.699972 0.714155 uwb: 0.49820565 1205.41 1443.47 -imu_odom_: 1691062539.941050792 0.588974 -0.146046 9.80186 -0.0639159 -0.00106526 -0.154463 0.05 -0.17 pose: 0.0 -4.57157 -3.18011 0 0.0034225 -0.00312976 0.699972 0.714155 uwb: 0.0 1205.41 1443.47 -imu_odom_: 1691062539.957064836 0.646434 -0.222661 9.83059 -0.0426106 0.00106526 -0.152333 0.04 -0.17 pose: 0.7105850 -4.57162 -3.18014 0 0.00380024 -0.00372211 0.699345 0.714764 uwb: 0.0 1205.41 1443.47 -imu_odom_: 1691062539.975069919 0.677559 -0.112527 9.93115 -0.0553937 -0.00958738 -0.132093 0.04 -0.17 pose: 0.0 -4.57162 -3.18014 0 0.00380024 -0.00372211 0.699345 0.714764 uwb: 0.0 1205.41 1443.47 -imu_odom_: 1691062540.346795 0.500388 -0.272939 9.90002 -0.0500674 0.0170442 -0.106526 0.03 -0.14 pose: 0.46890149 -4.57162 -3.18014 0 0.00686114 -0.00582044 0.695759 0.718219 uwb: 0.50002257 1208.94 1441.95 -imu_odom_: 1691062540.27068469 -0.897826 -0.148441 9.63906 -0.04048 0.102265 -0.125701 0.04 -0.17 pose: 0.0 -4.57162 -3.18014 0 0.00686114 -0.00582044 0.695759 0.718219 uwb: 0.49850610 1206.67 1443.16 -imu_odom_: 1691062540.52054584 -1.17316 -0.196325 9.98382 -0.0553937 -0.0351537 -0.0980043 0.06 -0.11 pose: 0.59075231 -4.57162 -3.18014 0 0.00581558 -0.00520175 0.692303 0.721564 uwb: 0.0 1206.67 1443.16 -imu_odom_: 1691062540.77114484 0.440533 -0.538695 10.1586 -0.0585895 -0.0735032 -0.0468716 0.1 -0.14 pose: 0.0 -4.57162 -3.18014 0 0.00581558 -0.00520175 0.692303 0.721564 uwb: 0.0 1206.67 1443.16 -imu_odom_: 1691062540.100037817 0.430956 0.0047884 9.86172 -0.0351537 -0.00319579 -0.0788296 0.1 -0.14 pose: 0.52104715 -4.57162 -3.18014 0 0.00203964 -0.00195663 0.689663 0.724125 uwb: 0.0 1206.67 1443.16 -imu_odom_: 1691062540.116041367 0.577003 0.114922 10.4483 -0.0479369 -0.0234358 -0.0308927 0.1 -0.14 pose: 0.0 -4.57162 -3.18014 0 0.00203964 -0.00195663 0.689663 0.724125 uwb: 0.0 1206.67 1443.16 -imu_odom_: 1691062540.134109156 0.878672 -0.282516 9.35893 -0.0692422 -0.0245011 0.0511327 0.1 -0.08 pose: 0.48812954 -4.57568 -3.171 0 0.0034799 -0.0013324 0.687909 0.725787 uwb: 0.0 1206.67 1443.16 -imu_odom_: 1691062540.151038085 0.804452 -0.732626 9.56005 -0.0490022 0.0447411 0.052198 0.1 -0.08 pose: 0.0 -4.57568 -3.171 0 0.0034799 -0.0013324 0.687909 0.725787 uwb: 0.0 1206.67 1443.16 -imu_odom_: 1691062540.165092592 1.07978 -0.316035 10.556 -0.0479369 0.00639159 0.0713727 0.07 0.17 pose: 0.42989452 -4.57 -3.1685 0 0.00438947 -0.00413018 0.687861 0.725818 uwb: 0.0 1206.67 1443.16 -imu_odom_: 1691062540.181035480 0.897826 -0.0407014 9.66779 -0.0511327 0.00213053 0.18003 0.07 0.17 pose: 0.0 -4.57 -3.1685 0 0.00438947 -0.00413018 0.687861 0.725818 uwb: 0.150101299 1204.92 1443.44 -imu_odom_: 1691062540.196030240 1.1157 -0.464475 9.8282 -0.0639159 -0.00319579 0.309992 0.07 0.17 pose: 0.0 -4.57 -3.1685 0 0.00438947 -0.00413018 0.687861 0.725818 uwb: 0.0 1204.92 1443.44 -imu_odom_: 1691062540.212034081 0.909797 -0.696713 9.95988 -0.0479369 0.00745685 0.360059 0.05 0.29 pose: 0.6062648 -4.56653 -3.16698 0 0.00470745 -0.00460429 0.687929 0.725748 uwb: 0.0 1204.92 1443.44 -imu_odom_: 1691062540.229034753 0.878672 -0.282516 10.082 -0.0383495 0.00426106 0.406931 0.05 0.29 pose: 0.0 -4.56653 -3.16698 0 0.00470745 -0.00460429 0.687929 0.725748 uwb: 0.50059139 1203.13 1443.64 -imu_odom_: 1691062540.247088544 0.68953 -0.155623 9.79468 -0.0596548 0.0170442 0.50387 0.05 0.29 pose: 0.0 -4.56653 -3.16698 0 0.00470745 -0.00460429 0.687929 0.725748 uwb: 0.0 1203.13 1443.64 -imu_odom_: 1691062540.264091258 0.6608 -0.335188 9.8258 -0.0553937 0.015979 0.539024 0.04 0.38 pose: 0.45995112 -4.56653 -3.16698 0 0.00680157 -0.00786788 0.691104 0.72268 uwb: 0.0 1203.13 1443.64 -imu_odom_: 1691062540.279038189 0.428562 -0.349553 9.9096 -0.0426106 0.0149137 0.539024 0.04 0.35 pose: 0.0 -4.56653 -3.16698 0 0.00680157 -0.00786788 0.691104 0.72268 uwb: 0.49958814 1202.58 1443.45 -imu_odom_: 1691062540.295179685 0.356736 -0.0814029 9.96706 -0.0500674 0.00745685 0.545415 0.04 0.35 pose: 0.66943154 -4.57054 -3.15782 0 0.00717076 -0.0102347 0.701488 0.712572 uwb: 0.0 1202.58 1443.45 -imu_odom_: 1691062540.309151949 0.208296 -0.126893 9.79228 -0.056459 0.0213053 0.528371 0.04 0.35 pose: 0.0 -4.57054 -3.15782 0 0.00717076 -0.0102347 0.701488 0.712572 uwb: 0.0 1202.58 1443.45 -imu_odom_: 1691062540.326090502 0.275333 -0.0814029 9.85214 -0.0553937 0.00106526 0.486826 0.03 0.41 pose: 0.0 -4.57054 -3.15782 0 0.00717076 -0.0102347 0.701488 0.712572 uwb: 0.49983021 1202.5 1443.28 -imu_odom_: 1691062540.342185043 0.433351 -0.169988 9.99819 -0.0575243 -0.00426106 0.466586 0.03 0.41 pose: 0.31157546 -4.57054 -3.15782 0 0.0055603 -0.00757919 0.707048 0.707103 uwb: 0.0 1202.5 1443.28 -imu_odom_: 1691062540.359140803 0.438139 -0.0814029 9.75398 -0.0617853 0.00319579 0.474043 0.04 0.5 pose: 0.40988498 -4.57054 -3.15782 0 0.00401716 -0.00368062 0.713514 0.700619 uwb: 0.0 1202.5 1443.28 -imu_odom_: 1691062540.375130645 0.663194 -0.361524 10.058 -0.0447411 0.00213053 0.455933 0.04 0.5 pose: 0.0 -4.57054 -3.15782 0 0.00401716 -0.00368062 0.713514 0.700619 uwb: 0.0 1202.5 1443.28 -imu_odom_: 1691062540.393131940 0.617704 -0.0790087 9.84735 -0.052198 0.0106526 0.437824 0.04 0.5 pose: 0.0 -4.57054 -3.15782 0 0.00401716 -0.00368062 0.713514 0.700619 uwb: 0.0 1202.5 1443.28 -imu_odom_: 1691062540.408015293 0.59855 -0.011971 9.94551 -0.0628506 0.00319579 0.429302 0.02 0.32 pose: 0.7010484 -4.57054 -3.15782 0 0.00417182 -0.003011 0.714579 0.699536 uwb: 0.0 1202.5 1443.28 -imu_odom_: 1691062540.426086291 0.493206 -0.102951 9.86411 -0.0479369 0.0149137 0.378169 0.04 0.47 pose: 0.0 -4.57054 -3.15782 0 0.00417182 -0.003011 0.714579 0.699536 uwb: 0.100102822 1203.68 1442.79 -imu_odom_: 1691062540.441234746 0.490811 -0.071826 9.93833 -0.0543285 0.00319579 0.34408 0.04 0.47 pose: 0.66970278 -4.57054 -3.15782 0 0.00729862 -0.00179301 0.723833 0.689934 uwb: 0.0 1203.68 1442.79 -imu_odom_: 1691062540.459129884 0.509965 -0.0909797 9.78271 -0.0458064 0.00745685 0.316384 0.03 0.38 pose: 0.0 -4.57054 -3.15782 0 0.00729862 -0.00179301 0.723833 0.689934 uwb: 0.0 1203.68 1442.79 -imu_odom_: 1691062540.474015278 0.497994 -0.25618 9.95748 -0.0596548 0.00319579 0.309992 0.03 0.38 pose: 0.0 -4.57054 -3.15782 0 0.00729862 -0.00179301 0.723833 0.689934 uwb: 0.0 1203.68 1442.79 -imu_odom_: 1691062540.492125356 0.442927 -0.179565 9.92636 -0.052198 -0.00532632 0.294013 0.03 0.38 pose: 0.32976807 -4.57054 -3.15782 0 0.00846907 0.000910284 0.727311 0.686255 uwb: 0.49882404 1199.64 1444.19 -imu_odom_: 1691062540.507104368 0.54109 -0.201113 9.90481 -0.0500674 -0.00106526 0.272708 0.02 0.23 pose: 0.42982744 -4.57054 -3.15782 0 0.00644656 9.20931e-05 0.731227 0.682104 uwb: 0.0 1199.64 1444.19 -imu_odom_: 1691062540.525077374 0.497994 -0.105345 9.80904 -0.0575243 0 0.265251 0.02 0.23 pose: 0.7003193 -4.57054 -3.15782 0 0.0063221 -0.0005812050.731787 0.681504 uwb: 0.0 1199.64 1444.19 -imu_odom_: 1691062540.540061343 0.512359 -0.244209 9.93115 -0.0553937 -0.00213053 0.257794 0.02 0.23 pose: 0.0 -4.57054 -3.15782 0 0.0063221 -0.0005812050.731787 0.681504 uwb: 0.50098511 1197.97 1444.63 -imu_odom_: 1691062540.558053598 0.445322 -0.158017 9.90481 -0.052198 0 0.229032 0.02 0.26 pose: 0.40932794 -4.57256 -3.15325 0 0.00610338 -0.0009747480.734912 0.678135 uwb: 0.0 1197.97 1444.63 -imu_odom_: 1691062540.574048398 0.471658 -0.141258 9.91439 -0.052198 -0.00319579 0.213053 0.01 0.17 pose: 0.0 -4.57256 -3.15325 0 0.00610338 -0.0009747480.734912 0.678135 uwb: 0.0 1197.97 1444.63 -imu_odom_: 1691062540.591002407 0.47884 -0.0957681 9.95748 -0.056459 0 0.196009 0.01 0.17 pose: 0.0 -4.57256 -3.15325 0 0.00610338 -0.0009747480.734912 0.678135 uwb: 0.49868697 1195.88 1445.14 -imu_odom_: 1691062540.606996624 0.500388 -0.148441 9.86411 -0.056459 -0.00319579 0.184291 0.01 0.14 pose: 0.24941786 -4.57459 -3.14867 0 0.00515924 0.000426914 0.736475 0.676445 uwb: 0.0 1195.88 1445.14 -imu_odom_: 1691062540.624054458 0.505177 -0.205901 9.88566 -0.0553937 -0.00639159 0.175769 0.01 0.14 pose: 0.0 -4.57459 -3.14867 0 0.00515924 0.000426914 0.736475 0.676445 uwb: 0.0 1195.88 1445.14 -imu_odom_: 1691062540.640017469 0.531513 -0.172383 9.89763 -0.0532632 -0.00745685 0.164051 0.01 0.14 pose: 0.34001344 -4.57459 -3.14867 0 0.00684161 0.00134403 0.738281 0.674457 uwb: 0.50063514 1200.68 1442.38 -imu_odom_: 1691062540.657149088 0.54109 -0.117316 9.85932 -0.0532632 -0.00319579 0.147006 0.01 0.14 pose: 0.41012996 -4.57459 -3.14867 0 0.0061876 -0.00239399 0.740138 0.672422 uwb: 0.0 1200.68 1442.38 -imu_odom_: 1691062540.673138347 0.486023 -0.0909797 9.90721 -0.0553937 0 0.134223 0.01 0.14 pose: 0.7146973 -4.57459 -3.14867 0 0.00681563 -0.00204278 0.740391 0.672138 uwb: 0.0 1200.68 1442.38 -imu_odom_: 1691062540.690063193 0.464475 -0.160412 9.89284 -0.0553937 -0.00426106 0.112918 0.01 0.14 pose: 0.0 -4.57459 -3.14867 0 0.00681563 -0.00204278 0.740391 0.672138 uwb: 0.49948315 1196.86 1444.22 -imu_odom_: 1691062540.706197106 0.47884 -0.155623 9.88805 -0.0543285 -0.00532632 0.0969391 0 0.05 pose: 0.42898751 -4.57459 -3.14867 0 0.00582579 -2.41443e-060.741671 0.670738 uwb: 0.0 1196.86 1444.22 -imu_odom_: 1691062540.723265731 0.502782 -0.196325 9.9096 -0.056459 -0.00745685 0.0841559 0 0.08 pose: 0.0 -4.57459 -3.14867 0 0.00582579 -2.41443e-060.741671 0.670738 uwb: 0.0 1196.86 1444.22 -imu_odom_: 1691062540.738990470 0.517148 -0.143652 9.89763 -0.0543285 -0.00319579 0.072438 0 0.08 pose: 0.0 -4.57459 -3.14867 0 0.00582579 -2.41443e-060.741671 0.670738 uwb: 0.50020351 1194.07 1445.27 -imu_odom_: 1691062540.756043638 0.526724 -0.1652 9.94791 -0.056459 -0.00532632 0.0607201 0 0.02 pose: 0.22967079 -4.57459 -3.14867 0 0.00435968 -0.00128016 0.742093 0.670282 uwb: 0.0 1194.07 1445.27 -imu_odom_: 1691062540.770986195 0.529119 -0.196325 9.90242 -0.0543285 -0.00532632 0.0447411 0 0.02 pose: 0.0 -4.57459 -3.14867 0 0.00435968 -0.00128016 0.742093 0.670282 uwb: 0.0 1194.07 1445.27 -imu_odom_: 1691062540.785994954 0.469264 -0.141258 9.8689 -0.0532632 -0.00106526 0.0319579 0 0.02 pose: 0.0 -4.57459 -3.14867 0 0.00435968 -0.00128016 0.742093 0.670282 uwb: 0.49887071 1192.13 1446.13 -imu_odom_: 1691062540.799987633 0.390255 -0.169988 9.92636 -0.056459 0.00213053 0.036219 0 0 pose: 0.32957559 -4.57459 -3.14867 0 0.00624316 -0.00220831 0.74246 0.669857 uwb: 0.0 1192.13 1446.13 -imu_odom_: 1691062540.814992018 0.35913 -0.246603 9.90481 -0.056459 -0.00426106 0.0383495 0 0 pose: 0.40007123 -4.57459 -3.14867 0 0.00530972 -0.00207066 0.742526 0.669793 uwb: 0.0 1192.13 1446.13 -imu_odom_: 1691062540.830109268 0.380678 -0.222661 9.8665 -0.0532632 -0.00745685 0.0394148 0 0 pose: 0.0 -4.57459 -3.14867 0 0.00530972 -0.00207066 0.742526 0.669793 uwb: 0.50154506 1190.91 1446.5 -imu_odom_: 1691062540.845148358 0.438139 -0.155623 9.89045 -0.0543285 -0.00852212 0.0436758 0 0 pose: 0.6003445 -4.57459 -3.14867 0 0.00486501 -0.00163933 0.742521 0.669804 uwb: 0.0 1190.91 1446.5 -imu_odom_: 1691062540.859199365 0.464475 -0.148441 9.86411 -0.0553937 -0.00639159 0.0426106 0 0 pose: 0.0 -4.57459 -3.14867 0 0.00486501 -0.00163933 0.742521 0.669804 uwb: 0.0 1190.91 1446.5 -imu_odom_: 1691062540.874127048 0.457293 -0.150835 9.87129 -0.0543285 -0.00213053 0.036219 0 0 pose: 0.0 -4.57459 -3.14867 0 0.00486501 -0.00163933 0.742521 0.669804 uwb: 0.0 1190.91 1446.5 -imu_odom_: 1691062540.889002527 0.428562 -0.172383 9.86411 -0.056459 -0.00213053 0.0372843 0 0 pose: 0.44052778 -4.57459 -3.14867 0 0.00187812 1.94872e-06 0.74252 0.669822 uwb: 0.49931691 1186.66 1448.45 -imu_odom_: 1691062540.903074241 0.392649 -0.205901 9.92397 -0.0575243 -0.00532632 0.0394148 0 0 pose: 0.0 -4.57459 -3.14867 0 0.00187812 1.94872e-06 0.74252 0.669822 uwb: 0.0 1186.66 1448.45 -imu_odom_: 1691062540.918201115 0.416591 -0.172383 9.91439 -0.0553937 -0.00639159 0.0415453 0 0 pose: 0.0 -4.57459 -3.14867 0 0.00187812 1.94872e-06 0.74252 0.669822 uwb: 0.0 1186.66 1448.45 -imu_odom_: 1691062540.933023807 0.428562 -0.1652 9.85932 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.44036445 -4.57459 -3.14867 0 0.00467816 0.00119301 0.742516 0.669811 uwb: 0.49996437 1184.64 1449.08 -imu_odom_: 1691062540.947984446 0.414197 -0.191536 9.88326 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 -4.57459 -3.14867 0 0.00467816 0.00119301 0.742516 0.669811 uwb: 0.0 1184.64 1449.08 -imu_odom_: 1691062540.961987041 0.430956 -0.189142 9.8665 -0.056459 -0.00532632 0.0372843 0 0 pose: 0.0 -4.57459 -3.14867 0 0.00467816 0.00119301 0.742516 0.669811 uwb: 0.0 1184.64 1449.08 -imu_odom_: 1691062540.977200241 0.40462 -0.203507 9.90721 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.43973159 -4.57459 -3.14867 0 0.00164147 0.0014211 0.742522 0.669818 uwb: 0.50004894 1183.73 1449.12 -imu_odom_: 1691062540.991983269 0.433351 -0.169988 9.90002 -0.0553937 -0.00745685 0.04048 0 0 pose: 0.0 -4.57459 -3.14867 0 0.00164147 0.0014211 0.742522 0.669818 uwb: 0.0 1183.73 1449.12 -imu_odom_: 1691062541.14031388 0.486023 -0.181959 9.91439 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 -4.57459 -3.14867 0 0.00164147 0.0014211 0.742522 0.669818 uwb: 0.0 1183.73 1449.12 -imu_odom_: 1691062541.31125972 -0.287304 -0.201113 9.6606 -0.0575243 0.0703074 0.0415453 0 0 pose: 0.89970607 -4.57459 -3.14867 0 0.00381682 -0.00109661 0.742521 0.669811 uwb: 0.50173176 1184.03 1448.72 -imu_odom_: 1691062541.48119649 -1.13246 -0.191536 10.0916 -0.0607201 0.0500674 0.0607201 0.03 0.02 pose: 0.0 -4.57459 -3.14867 0 0.00381682 -0.00109661 0.742521 0.669811 uwb: 0.0 1184.03 1448.72 -imu_odom_: 1691062541.65132283 -1.12288 -0.316035 9.84496 -0.0607201 -0.0394148 0.0820254 0.03 0.02 pose: 0.24177398 -4.57459 -3.14867 0 0.0013479 0.00101392 0.742586 0.669749 uwb: 0.0 1184.03 1448.72 -imu_odom_: 1691062541.81953308 -0.071826 -0.299275 10.0245 -0.0532632 -0.0852212 0.0958738 0.04 0.02 pose: 0.0 -4.57459 -3.14867 0 0.0013479 0.00101392 0.742586 0.669749 uwb: 0.49934328 1181.65 1449.64 -imu_odom_: 1691062541.98939985 0.201113 -0.248997 9.65821 -0.0532632 -0.04048 0.092678 0.04 0.02 pose: 0.0 -4.57459 -3.14867 0 0.0013479 0.00101392 0.742586 0.669749 uwb: 0.0 1181.65 1449.64 -imu_odom_: 1691062541.116952950 0.28491 -0.11971 9.90002 -0.0617853 -0.00852212 0.092678 0.04 0.02 pose: 0.33866322 -4.57459 -3.14867 0 -0.00118059 0.00275929 0.743022 0.669261 uwb: 0.0 1181.65 1449.64 -imu_odom_: 1691062541.134018079 -0.181959 -0.323217 9.59835 -0.0649811 0.0117179 0.0798948 0.06 0 pose: 0.34951229 -4.57459 -3.14867 0 -0.00278262 0.00407859 0.743645 0.668556 uwb: 0.49896414 1180.79 1449.76 -imu_odom_: 1691062541.151008256 -0.117316 -0.0861913 10.0987 -0.0617853 -0.00958738 0.0660464 0.06 0 pose: 0.0 -4.57459 -3.14867 0 -0.00278262 0.00407859 0.743645 0.668556 uwb: 0.0 1180.79 1449.76 -imu_odom_: 1691062541.168952393 -0.0215478 -0.196325 9.72046 -0.0628506 -0.0372843 0.0884169 0.09 0.02 pose: 0.43981919 -4.57459 -3.14867 0 -0.00503792 0.00705107 0.744182 0.66792 uwb: 0.0 1180.79 1449.76 -imu_odom_: 1691062541.182947117 0.275333 -0.292093 9.93115 -0.0596548 -0.0255663 0.0969391 0.09 0.02 pose: 0.0 -4.57459 -3.14867 0 -0.00503792 0.00705107 0.744182 0.66792 uwb: 0.49929953 1182.98 1448.39 -imu_odom_: 1691062541.200946083 0.507571 -0.368707 9.9096 -0.0532632 -0.0298274 0.0820254 0.09 0.02 pose: 0.0 -4.57459 -3.14867 0 -0.00503792 0.00705107 0.744182 0.66792 uwb: 0.0 1182.98 1448.39 -imu_odom_: 1691062541.216949636 0.294487 -0.0790087 9.77074 -0.0585895 -0.0319579 0.0873517 0.11 0.02 pose: 0.7950739 -4.57459 -3.14867 0 -0.00558555 0.00743212 0.744307 0.667773 uwb: 0.0 1182.98 1448.39 -imu_odom_: 1691062541.234027597 0.354342 -0.110133 10.161 -0.056459 -0.0415453 0.0884169 0.11 0.02 pose: 0.0 -4.57459 -3.14867 0 -0.00558555 0.00743212 0.744307 0.667773 uwb: 0.49939286 1186.4 1446.72 -imu_odom_: 1691062541.252220505 0.246603 0.0622492 10.1059 -0.04048 -0.0234358 0.0639159 0.11 0.02 pose: 0.0 -4.57459 -3.14867 0 -0.00558555 0.00743212 0.744307 0.667773 uwb: 0.0 1186.4 1446.72 -imu_odom_: 1691062541.266222229 0.0933739 -0.222661 9.94073 -0.0468716 0.0170442 0.0777643 0.11 0.02 pose: 0.48991158 -4.56962 -3.13544 0 -0.00505531 0.00489984 0.745107 0.666908 uwb: 0.0 1186.4 1446.72 -imu_odom_: 1691062541.283098374 0.287304 -0.397437 9.87369 -0.0692422 0.0138484 0.0852212 0.11 0.02 pose: 0.0 -4.56962 -3.13544 0 -0.00505531 0.00489984 0.745107 0.666908 uwb: 0.50073149 1188.76 1445.78 -imu_odom_: 1691062541.300118882 0.758962 -0.342371 10.2424 -0.0500674 -0.0223706 0.0735032 0.11 0.02 pose: 0.65289853 -4.5737 -3.12631 0 -0.0031165 0.00676534 0.745965 0.665943 uwb: 0.0 1188.76 1445.78 -imu_odom_: 1691062541.316995318 0.995988 -0.047884 9.70609 -0.0692422 -0.00213053 0.145941 0.13 0.02 pose: 0.0 -4.5737 -3.12631 0 -0.0031165 0.00676534 0.745965 0.665943 uwb: 0.0 1188.76 1445.78 -imu_odom_: 1691062541.332938501 1.18513 -0.287304 9.92875 -0.0713727 -0.00639159 0.203466 0.13 0.02 pose: 0.0 -4.5737 -3.12631 0 -0.0031165 0.00676534 0.745965 0.665943 uwb: 0.49887957 1187.54 1446.15 -imu_odom_: 1691062541.351064332 1.75734 -0.464475 10.0245 -0.0394148 -0.0287621 0.140615 0.13 0.02 pose: 0.33910068 -4.5737 -3.12631 0 -0.00227322 0.00406386 0.746565 0.665296 uwb: 0.0 1187.54 1446.15 -imu_odom_: 1691062541.367131171 1.403 0.174777 9.82102 -0.0426106 0.0500674 0.0884169 0.11 0.02 pose: 0.33915318 -4.5737 -3.12631 0 0.000122093 0.00155381 0.748065 0.663624 uwb: 0.0 1187.54 1446.15 -imu_odom_: 1691062541.383989817 0.792481 0.11971 9.77792 -0.0511327 0.0245011 0.0777643 0.11 0.02 pose: 0.0 -4.5737 -3.12631 0 0.000122093 0.00155381 0.748065 0.663624 uwb: 0.50128853 1185.13 1446.95 -imu_odom_: 1691062541.402254469 0.433351 -0.143652 9.66539 -0.0660464 0.00532632 0.0383495 0.06 0.02 pose: 0.42924425 -4.57784 -3.11721 0 0.00363988 0.000639206 0.748872 0.662704 uwb: 0.0 1185.13 1446.95 -imu_odom_: 1691062541.417991461 0.586579 -0.260968 9.991 -0.04048 -0.0298274 -0.00213053 0.06 0.02 pose: 0.0 -4.57784 -3.11721 0 0.00363988 0.000639206 0.748872 0.662704 uwb: 0.0 1185.13 1446.95 -imu_odom_: 1691062541.435105586 0.770933 -0.203507 9.81144 -0.0596548 -0.0394148 0.00958738 0.06 0.02 pose: 0.0 -4.57784 -3.11721 0 0.00363988 0.000639206 0.748872 0.662704 uwb: 0.50159475 1183.11 1447.6 -imu_odom_: 1691062541.452923443 0.94571 -0.306458 9.98382 -0.0532632 -0.00852212 0.0490022 0.04 0.02 pose: 0.8027441 -4.57784 -3.11721 0 0.00358797 0.00143662 0.748867 0.66271 uwb: 0.0 1183.11 1447.6 -imu_odom_: 1691062541.469921494 0.699107 -0.464475 9.75637 -0.0500674 0.00106526 0.0458064 0.04 0.02 pose: 0.0 -4.57784 -3.11721 0 0.00358797 0.00143662 0.748867 0.66271 uwb: 0.0 1183.11 1447.6 -imu_odom_: 1691062541.485929130 0.586579 -0.0167594 9.97424 -0.0415453 -0.00639159 0.0319579 0.04 0.02 pose: 0.50917161 -4.57784 -3.11721 0 0.00572142 -0.00137972 0.748498 0.66311 uwb: 0.49800173 1186.68 1446.28 -imu_odom_: 1691062541.503924888 0.533907 -0.0383072 9.75877 -0.056459 -0.00319579 0.0351537 0.04 0.05 pose: 0.0 -4.57784 -3.11721 0 0.00572142 -0.00137972 0.748498 0.66311 uwb: 0.0 1186.68 1446.28 -imu_odom_: 1691062541.527977172 0.579397 -0.28491 9.991 -0.0532632 -0.00639159 0.0383495 0.03 0.02 pose: 0.0 -4.57784 -3.11721 0 0.00572142 -0.00137972 0.748498 0.66311 uwb: 0.49925870 1187.47 1445.97 -imu_odom_: 1691062541.554032743 -0.670376 -0.282516 9.74919 -0.0511327 0.0916127 0.0607201 0.04 0.05 pose: 0.60990469 -4.57784 -3.11721 0 0.00838095 -0.00143429 0.748479 0.663104 uwb: 0.0 1187.47 1445.97 -imu_odom_: 1691062541.569914681 -1.38145 -0.263362 10.2232 -0.0532632 0.0138484 0.0649811 0.04 0.05 pose: 0.0 -4.57784 -3.11721 0 0.00838095 -0.00143429 0.748479 0.663104 uwb: 0.0 1187.47 1445.97 -imu_odom_: 1691062541.595080161 -0.213084 -0.117316 10.2185 -0.0553937 -0.0820254 0.0607201 0.04 0.05 pose: 0.31078518 -4.57784 -3.11721 0 0.0064198 -0.00287513 0.748539 0.663053 uwb: 0.50013363 1191.03 1444.64 -imu_odom_: 1691062541.619998329 0.332794 -0.0383072 9.89284 -0.056459 -0.0415453 0.04048 0.09 0 pose: 0.41963757 -4.582 -3.10811 0 0.00261609 0.000322976 0.748868 0.662713 uwb: 0.0 1191.03 1444.64 -imu_odom_: 1691062541.645008948 -0.0143652 -0.294487 9.87369 -0.0703074 -0.0106526 0.0713727 0.09 0 pose: 0.43031166 -4.57291 -3.10395 0 0.00266302 0.00331256 0.748992 0.662566 uwb: 0.49931411 1188.37 1445.95 -imu_odom_: 1691062541.669082521 0.263362 -0.0814029 10.1754 -0.052198 -0.0532632 0.0394148 0.09 0 pose: 0.0 -4.57291 -3.10395 0 0.00266302 0.00331256 0.748992 0.662566 uwb: 0.0 1188.37 1445.95 -imu_odom_: 1691062541.686191105 0.438139 -0.225055 9.75637 -0.056459 -0.052198 0.0575243 0.11 0 pose: 0.7012819 -4.57291 -3.10395 0 0.0019859 0.00349853 0.749064 0.662485 uwb: 0.50266217 1190.61 1444.72 -imu_odom_: 1691062541.711059402 0.574608 -0.45011 10.4028 -0.0543285 0.0266316 0.0308927 0.11 0 pose: 0.0 -4.57291 -3.10395 0 0.0019859 0.00349853 0.749064 0.662485 uwb: 0.0 1190.61 1444.72 -imu_odom_: 1691062541.727912508 0.383072 -0.280122 10.3477 -0.0639159 0.00532632 0.0468716 0.12 -0.02 pose: 0.49122397 -4.57708 -3.09486 0 0.000455695 0.00516429 0.749283 0.66223 uwb: 0.49854709 1193.39 1443.69 -imu_odom_: 1691062541.751896255 -0.00957681-0.294487 10.2639 -0.0692422 -0.0213053 0.0532632 0.12 -0.02 pose: 0.0 -4.57708 -3.09486 0 0.000455695 0.00516429 0.749283 0.66223 uwb: 0.0 1193.39 1443.69 -imu_odom_: 1691062541.777958534 0.481235 -0.304064 9.91678 -0.0671117 -0.00532632 0.036219 0.16 -0.02 pose: 0.41933427 -4.57708 -3.09486 0 -0.0003312410.00125693 0.749298 0.662232 uwb: 0.50004905 1189.39 1445.06 -imu_odom_: 1691062541.801020111 0.296881 -0.301669 10.161 -0.056459 0 0.0330232 0.16 -0.02 pose: 0.0 -4.57708 -3.09486 0 -0.0003312410.00125693 0.749298 0.662232 uwb: 0.0 1189.39 1445.06 -imu_odom_: 1691062541.825950528 0.1652 -0.213084 9.77792 -0.0607201 0.00852212 0.0500674 0.13 0 pose: 0.41913011 -4.58125 -3.08577 0 -0.0027793 0.000685171 0.749417 0.662092 uwb: 0.49922371 1192.9 1443.6 -imu_odom_: 1691062541.850900193 0.45011 0.124498 9.82341 -0.056459 -0.0692422 0.0415453 0.13 0 pose: 0.0 -4.58125 -3.08577 0 -0.0027793 0.000685171 0.749417 0.662092 uwb: 0.0 1192.9 1443.6 -imu_odom_: 1691062541.868017526 0.603339 0.0023942 9.89045 -0.0639159 -0.00213053 0.0553937 0.14 0 pose: 0.48994950 -4.58125 -3.08577 0 -0.00487142 0.000297814 0.749371 0.662132 uwb: 0.0 1192.9 1443.6 -imu_odom_: 1691062541.893004813 0.3304 -0.366313 10.2304 -0.0820254 0.0319579 0.04048 0.14 0 pose: 0.0 -4.58125 -3.08577 0 -0.00487142 0.000297814 0.749371 0.662132 uwb: 0.50063525 1195.54 1442.24 -imu_odom_: 1691062541.917885359 0.167594 -0.409408 9.97664 -0.0394148 -0.0330232 0.0213053 0.18 -0.02 pose: 0.49053278 -4.57635 -3.07251 0 -0.00228394 0.00234942 0.749502 0.661993 uwb: 0.0 1195.54 1442.24 -imu_odom_: 1691062541.933877538 0.407014 -0.227449 10.2783 -0.0415453 -0.0138484 0.0447411 0.18 -0.02 pose: 0.0 -4.57635 -3.07251 0 -0.00228394 0.00234942 0.749502 0.661993 uwb: 0.50006072 1196.71 1441.77 -imu_odom_: 1691062541.958878533 0.794875 -0.0095768110.4603 -0.0415453 -0.0458064 0.0330232 0.22 0 pose: 0.75849327 -4.58053 -3.06342 0 -0.00415904 0.0002635 0.749433 0.662068 uwb: 0.0 1196.71 1441.77 -imu_odom_: 1691062541.980942694 0.335188 -0.0814029 9.23204 -0.0575243 -0.02024 0.056459 0.22 0 pose: 0.0 -4.58053 -3.06342 0 -0.00415904 0.0002635 0.749433 0.662068 uwb: 0.49991198 1197.5 1441.44 -imu_odom_: 1691062542.5927649 0.129287 -0.337582 9.6223 -0.0426106 -0.00106526 0.0308927 0.16 0 pose: 0.7002903 -4.58053 -3.06342 0 -0.00333341 5.57288e-05 0.74942 0.662087 uwb: 0.0 1197.5 1441.44 -imu_odom_: 1691062542.30870320 0.00957681 -0.148441 9.95509 -0.0266316 -0.0117179 0.0468716 0.19 0 pose: 0.48056155 -4.58471 -3.05434 0 -0.00105494 0.00166562 0.749484 0.66202 uwb: 0.49913334 1197.98 1441.48 -imu_odom_: 1691062542.44877005 0.237026 -0.414197 9.65103 -0.0223706 -0.00213053 0.0458064 0.19 0 pose: 0.0 -4.58471 -3.05434 0 -0.00105494 0.00166562 0.749484 0.66202 uwb: 0.0 1197.98 1441.48 -imu_odom_: 1691062542.68874756 0.608127 -0.009576819.71088 -0.0458064 0.0191748 0.0468716 0.19 0 pose: 0.0 -4.58471 -3.05434 0 -0.00105494 0.00166562 0.749484 0.66202 uwb: 0.0 1197.98 1441.48 -imu_odom_: 1691062542.92874842 0.347159 -0.272939 10.1538 -0.0628506 -0.0436758 0.072438 0.15 -0.02 pose: 0.63946853 -4.58889 -3.04525 0 -0.00411874 0.00372722 0.749528 0.66195 uwb: 0.49956796 1198.83 1441.33 -imu_odom_: 1691062542.106882693 0.184354 -0.270545 9.68455 -0.0479369 -0.0543285 0.0436758 0.15 -0.02 pose: 0.0 -4.58889 -3.04525 0 -0.00411874 0.00372722 0.749528 0.66195 uwb: 0.0 1198.83 1441.33 -imu_odom_: 1691062542.122971700 0.636858 -0.117316 10.0126 -0.0596548 -0.0543285 0.0383495 0.17 0 pose: 0.53999244 -4.58399 -3.03199 0 -0.00402587 0.00155143 0.749848 0.661596 uwb: 0.0 1198.83 1441.33 -imu_odom_: 1691062542.147863334 0.536301 -0.138864 10.0604 -0.052198 -0.0351537 0.0692422 0.17 0 pose: 0.0 -4.58399 -3.03199 0 -0.00402587 0.00155143 0.749848 0.661596 uwb: 0.50062953 1198.38 1441.35 -imu_odom_: 1691062542.170024617 0.131681 -0.105345 9.94791 -0.04048 0.0223706 0.0447411 0.17 0 pose: 0.8066814 -4.58399 -3.03199 0 -0.00312361 0.00113657 0.749848 0.661601 uwb: 0.0 1198.38 1441.35 -imu_odom_: 1691062542.197013448 0.277727 -0.0430956 10.0652 -0.0713727 -0.0117179 0.0607201 0.17 0 pose: 0.0 -4.58399 -3.03199 0 -0.00312361 0.00113657 0.749848 0.661601 uwb: 0.50117198 1193.63 1443.13 -imu_odom_: 1691062542.221007701 -0.0550666 -0.316035 9.38766 -0.0617853 0.00745685 0.04048 0.23 0.02 pose: 0.64216625 -4.58819 -3.02291 0 -0.0004997070.00302215 0.750193 0.661212 uwb: 0.0 1193.63 1443.13 -imu_odom_: 1691062542.235018176 0.134075 0.105345 10.0796 -0.0639159 -0.00213053 0.0553937 0.23 0.02 pose: 0.0 -4.58819 -3.02291 0 -0.0004997070.00302215 0.750193 0.661212 uwb: 0.49868137 1192.43 1443.54 -imu_odom_: 1691062542.251024941 0.715866 -0.416591 9.74679 -0.0713727 -0.0138484 0.0394148 0.18 0 pose: 0.55852044 -4.59239 -3.01384 0 -0.00240532 0.00678694 0.75038 0.660967 uwb: 0.0 1192.43 1443.54 -imu_odom_: 1691062542.277874367 0.56982 -0.383072 9.60793 -0.0511327 0.0319579 0.0436758 0.18 0 pose: 0.7901162 -4.59239 -3.01384 0 -0.0021904 0.00595785 0.750384 0.660971 uwb: 0.49915382 1189.29 1444.79 -imu_odom_: 1691062542.301848204 0.347159 -0.378284 9.64384 -0.056459 0.0213053 0.0426106 0.17 -0.02 pose: 0.34955029 -4.58628 -3.00326 0 -0.00188929 0.00281394 0.750429 0.660942 uwb: 0.0 1189.29 1444.79 -imu_odom_: 1691062542.319850674 0.0909797 0.0023942 10.0245 -0.0447411 -0.00639159 0.0319579 0.17 -0.02 pose: 0.0 -4.58628 -3.00326 0 -0.00188929 0.00281394 0.750429 0.660942 uwb: 0.0 1189.29 1444.79 -imu_odom_: 1691062542.343927169 0.411803 -0.25618 9.87369 -0.0479369 -0.0308927 0.0468716 0.19 0 pose: 0.41976307 -4.58983 -2.99559 0 -0.00366582 0.00301024 0.750403 0.660963 uwb: 0.50013374 1190.25 1444.87 -imu_odom_: 1691062542.369855882 0.371101 -0.0981623 9.84496 -0.0500674 -0.0138484 0.0319579 0.19 0 pose: 0.0 -4.58983 -2.99559 0 -0.00366582 0.00301024 0.750403 0.660963 uwb: 0.0 1190.25 1444.87 -imu_odom_: 1691062542.395011744 0.354342 -0.342371 9.75637 -0.0703074 0.0372843 0.0490022 0.18 -0.02 pose: 0.50005208 -4.59174 -2.99149 0 -0.0002433150.00251757 0.750402 0.660977 uwb: 0.50106699 1187.45 1445.85 -imu_odom_: 1691062542.412004550 0.316035 -0.304064 10.1849 -0.0383495 -0.015979 0.0372843 0.18 -0.02 pose: 0.0 -4.59174 -2.99149 0 -0.0002433150.00251757 0.750402 0.660977 uwb: 0.0 1187.45 1445.85 -imu_odom_: 1691062542.428845701 0.684742 0.0574608 10.2615 -0.0585895 -0.0149137 0.0500674 0.18 0 pose: 0.42148668 -4.59594 -2.98242 0 -0.00397966 0.000382958 0.750459 0.660905 uwb: 0.50144321 1189.42 1445.07 -imu_odom_: 1691062542.453844660 1.0343 -0.318429 10.2041 -0.0426106 -0.0394148 0.0415453 0.18 0 pose: 0.8058356 -4.59594 -2.98242 0 -0.00314966 0.000362604 0.75049 0.660874 uwb: 0.0 1189.42 1445.07 -imu_odom_: 1691062542.477846495 0.452504 -0.102951 9.9503 -0.0340885 0.00852212 0.0500674 0.18 0 pose: 0.33781754 -4.59258 -2.97323 0 -0.000137332-0.00169373 0.750537 0.660826 uwb: 0.49773353 1186.15 1446.02 -imu_odom_: 1691062542.503843743 0.19393 -0.136469 9.5792 -0.0372843 0.0138484 0.0372843 0.18 0 pose: 0.0 -4.59258 -2.97323 0 -0.000137332-0.00169373 0.750537 0.660826 uwb: 0.0 1186.15 1446.02 -imu_odom_: 1691062542.528847660 0.122104 -0.208296 10.2208 -0.0426106 0.0255663 0.0436758 0.17 0.02 pose: 0.8002945 -4.59108 -2.96914 0 0.000523718 -0.00111748 0.750565 0.660796 uwb: 0.49946297 1185.68 1446.01 -imu_odom_: 1691062542.546838756 0.469264 -0.268151 10.0054 -0.0628506 -0.036219 0.0426106 0.17 0.02 pose: 0.0 -4.59108 -2.96914 0 0.000523718 -0.00111748 0.750565 0.660796 uwb: 0.0 1185.68 1446.01 -imu_odom_: 1691062542.570977954 0.253785 -0.208296 10.3046 -0.0468716 -0.00852212 0.056459 0.2 0.02 pose: 0.51027704 -4.59529 -2.96007 0 -0.0005052150.00310999 0.750605 0.660744 uwb: 0.0 1185.68 1446.01 -imu_odom_: 1691062542.595969330 0.462081 0.0335188 10.2448 -0.0298274 -0.0223706 0.0319579 0.2 0.02 pose: 0.24016125 -4.59529 -2.96007 0 -0.00163118 0.00334653 0.750631 0.660712 uwb: 0.50053037 1182.07 1447.21 -imu_odom_: 1691062542.618827637 0.28491 -0.3304 9.87848 -0.0713727 -0.00639159 0.0532632 0.23 -0.02 pose: 0.40977434 -4.59951 -2.951 0 -0.00234296 0.00388474 0.750754 0.660566 uwb: 0.0 1182.07 1447.21 -imu_odom_: 1691062542.635824525 0.268151 -0.0981623 9.92875 -0.076699 -0.0234358 0.0447411 0.23 -0.02 pose: 0.0 -4.59951 -2.951 0 -0.00234296 0.00388474 0.750754 0.660566 uwb: 0.49943380 1183.51 1446.27 -imu_odom_: 1691062542.657839987 0.344765 -0.100556 10.2759 -0.0639159 -0.0436758 0.0543285 0.18 0 pose: 0.48976296 -4.59466 -2.93771 0 -0.00222845 0.00376506 0.750827 0.660485 uwb: 0.0 1183.51 1446.27 -imu_odom_: 1691062542.682812990 0.818817 -0.294487 9.94073 -0.0553937 -0.00532632 0.036219 0.18 0 pose: 0.0 -4.59466 -2.93771 0 -0.00222845 0.00376506 0.750827 0.660485 uwb: 0.50132947 1182.35 1446.77 -imu_odom_: 1691062542.707828572 0.682347 -0.229843 10.41 -0.0681769 0.0138484 0.0543285 0.2 0 pose: 0.37998311 -4.59887 -2.92865 0 0.000579179 0.00444513 0.750951 0.660342 uwb: 0.0 1182.35 1446.77 -imu_odom_: 1691062542.720930000 0.687136 -0.126893 9.83538 -0.0639159 -0.02024 0.0543285 0.2 0 pose: 0.0 -4.59887 -2.92865 0 0.000579179 0.00444513 0.750951 0.660342 uwb: 0.0 1182.35 1446.77 -imu_odom_: 1691062542.744825386 0.550666 -0.258574 9.58638 -0.0596548 0.0245011 0.0532632 0.18 -0.02 pose: 0.48976588 -4.59887 -2.92865 0 0.00313096 0.000461168 0.751095 0.660186 uwb: 0.49845971 1180.27 1447.26 -imu_odom_: 1691062542.768803014 0.500388 0.0023942 9.99579 -0.0490022 -0.00106526 0.0458064 0.18 -0.02 pose: 0.0 -4.59887 -2.92865 0 0.00313096 0.000461168 0.751095 0.660186 uwb: 0.0 1180.27 1447.26 -imu_odom_: 1691062542.785804861 0.457293 -0.35913 9.87608 -0.056459 -0.0436758 0.0596548 0.23 0.02 pose: 0.39128715 -4.6031 -2.91958 0 0.00424538 -0.00157484 0.751256 0.659996 uwb: 0.50050413 1181.8 1446.56 -imu_odom_: 1691062542.810805861 0.6608 0.0311246 9.87848 -0.0532632 -0.0490022 0.04048 0.23 0.02 pose: 0.0 -4.6031 -2.91958 0 0.00424538 -0.00157484 0.751256 0.659996 uwb: 0.0 1181.8 1446.56 -imu_odom_: 1691062542.835817651 0.548272 -0.148441 10.4339 -0.052198 -0.0394148 0.0511327 0.18 0 pose: 0.40923772 -4.59827 -2.90629 0 0.00527727 -0.00171122 0.751397 0.659827 uwb: 0.49831098 1177.41 1448.07 -imu_odom_: 1691062542.860828276 0.306458 -0.0742203 10.3837 -0.0468716 -0.0340885 0.0319579 0.19 0 pose: 0.41945101 -4.60126 -2.89988 0 0.00825731 -0.00432317 0.751483 0.659686 uwb: 0.0 1177.41 1448.07 -imu_odom_: 1691062542.885867481 1.09654 -0.153229 9.96946 -0.0671117 -0.0234358 0.0458064 0.19 0 pose: 0.0 -4.60126 -2.89988 0 0.00825731 -0.00432317 0.751483 0.659686 uwb: 0.50232980 1172.65 1449.75 -imu_odom_: 1691062542.901865496 0.6608 0.0646434 9.94791 -0.056459 -0.0234358 0.0479369 0.18 0.02 pose: 0.6996489 -4.6025 -2.89723 0 0.00800415 -0.00376317 0.751467 0.659712 uwb: 0.0 1172.65 1449.75 -imu_odom_: 1691062542.927814332 0.550666 -0.28491 9.37809 -0.0703074 -0.0383495 0.052198 0.18 0.02 pose: 0.0 -4.6025 -2.89723 0 0.00800415 -0.00376317 0.751467 0.659712 uwb: 0.49975461 1171.3 1449.74 -imu_odom_: 1691062542.952925281 0.332794 -0.198719 10.1394 -0.0468716 -0.0266316 0.0351537 0.19 0 pose: 0.49032582 -4.6025 -2.89723 0 0.00986618 -0.00396456 0.751471 0.65968 uwb: 0.0 1171.3 1449.74 -imu_odom_: 1691062542.976839331 0.383072 -0.414197 10.3884 -0.0596548 -0.0127832 0.052198 0.19 0 pose: 0.0 -4.6025 -2.89723 0 0.00986618 -0.00396456 0.751471 0.65968 uwb: 0.50005791 1168.87 1450.46 -imu_odom_: 1691062542.993909714 1.03908 -0.222661 9.58878 -0.0426106 -0.00426106 0.0340885 0.25 0 pose: 0.44026841 -4.60674 -2.88817 0 0.00823506 -0.00487004 0.751609 0.65954 uwb: 0.0 1168.87 1450.46 -imu_odom_: 1691062543.17837476 0.667982 -0.253785 10.4124 -0.0436758 -0.00106526 0.04048 0.25 0 pose: 0.0 -4.60674 -2.88817 0 0.00823506 -0.00487004 0.751609 0.65954 uwb: 0.0 1168.87 1450.46 -imu_odom_: 1691062543.42853355 0.536301 -0.0981623 9.8665 -0.0436758 -0.0149137 0.0468716 0.23 0 pose: 0.48931091 -4.60192 -2.87488 0 0.00538451 -0.00496592 0.75169 0.659476 uwb: 0.50008130 1166.85 1451.06 -imu_odom_: 1691062543.56904955 0.45011 -0.366313 9.76116 -0.0575243 -0.00213053 0.0585895 0.23 0 pose: 0.0 -4.60192 -2.87488 0 0.00538451 -0.00496592 0.75169 0.659476 uwb: 0.0 1166.85 1451.06 -imu_odom_: 1691062543.81775889 0.572214 -0.215478 9.80186 -0.0596548 -0.00532632 0.0426106 0.18 0 pose: 0.41162049 -4.60617 -2.86582 0 0.00753465 -0.00671669 0.751683 0.659447 uwb: 0.49871647 1168.33 1450.21 -imu_odom_: 1691062543.106791185 0.514753 -0.122104 10.2161 -0.0596548 0.00426106 0.0553937 0.18 0 pose: 0.0 -4.60617 -2.86582 0 0.00753465 -0.00671669 0.751683 0.659447 uwb: 0.0 1168.33 1450.21 -imu_odom_: 1691062543.119910114 0.612916 -0.447716 9.4164 -0.0553937 -0.0308927 0.0383495 0.18 0 pose: 0.38840582 -4.61041 -2.85677 0 0.00642542 -0.00613159 0.751829 0.659298 uwb: 0.0 1168.33 1450.21 -imu_odom_: 1691062543.135910466 0.529119 -0.21069 9.96467 -0.0553937 0.0213053 0.0490022 0.18 0 pose: 0.0 -4.61041 -2.85677 0 0.00642542 -0.00613159 0.751829 0.659298 uwb: 0.50139958 1165.95 1451.04 -imu_odom_: 1691062543.161957008 0.361524 -0.373495 9.9527 -0.0617853 0.00426106 0.0468716 0.25 -0.02 pose: 0.48115671 -4.61041 -2.85677 0 0.00598778 -0.00589366 0.751977 0.659136 uwb: 0.0 1165.95 1451.04 -imu_odom_: 1691062543.185768989 0.6608 -0.323217 9.4164 -0.0660464 0.0191748 0.0607201 0.25 -0.02 pose: 0.0 -4.61041 -2.85677 0 0.00598778 -0.00589366 0.751977 0.659136 uwb: 0.49892353 1169.6 1450.01 -imu_odom_: 1691062543.211806782 0.701501 -0.390255 9.71567 -0.0532632 -0.00639159 0.0415453 0.21 0 pose: 0.30856301 -4.60561 -2.84347 0 0.00426968 -0.00489711 0.752056 0.659067 uwb: 0.0 1169.6 1450.01 -imu_odom_: 1691062543.224897422 -0.0335188 -0.201113 9.53132 -0.0298274 0.00639159 0.0415453 0.21 0 pose: 0.0 -4.60561 -2.84347 0 0.00426968 -0.00489711 0.752056 0.659067 uwb: 0.0 1169.6 1450.01 -imu_odom_: 1691062543.248782022 0.129287 -0.270545 9.87369 -0.0426106 0.052198 0.0511327 0.18 0 pose: 0.50004928 -4.60986 -2.83442 0 0.00330926 -0.00768566 0.752265 0.658807 uwb: 0.50085129 1169.2 1450.16 -imu_odom_: 1691062543.271780906 0.529119 -0.1652 9.84256 -0.0543285 0.0276969 0.0532632 0.18 0 pose: 0.0 -4.60986 -2.83442 0 0.00330926 -0.00768566 0.752265 0.658807 uwb: 0.0 1169.2 1450.16 -imu_odom_: 1691062543.295778080 0.517148 -0.0742203 9.75158 -0.0649811 -0.00639159 0.0628506 0.25 0.02 pose: 0.38997485 -4.61412 -2.82537 0 0.00230584 -0.00750824 0.752325 0.658745 uwb: 0.49806320 1167.96 1450.42 -imu_odom_: 1691062543.312782847 0.869095 -0.289698 9.64863 -0.0607201 -0.00958738 0.0532632 0.25 0.02 pose: 0.0 -4.61412 -2.82537 0 0.00230584 -0.00750824 0.752325 0.658745 uwb: 0.0 1167.96 1450.42 -imu_odom_: 1691062543.337778019 0.85473 -0.347159 9.69173 -0.0553937 0.0191748 0.0372843 0.18 -0.02 pose: 0.47013848 -4.61838 -2.81632 0 0.00313377 -0.00400069 0.752556 0.658509 uwb: 0.50077546 1167.02 1450.3 -imu_odom_: 1691062543.362761235 0.328006 -0.114922 9.45231 -0.0458064 -0.00852212 0.0468716 0.18 -0.02 pose: 0.0 -4.61838 -2.81632 0 0.00313377 -0.00400069 0.752556 0.658509 uwb: 0.0 1167.02 1450.3 -imu_odom_: 1691062543.385888149 0.289698 -0.0981623 9.90242 -0.0532632 0.00106526 0.0383495 0.19 0 pose: 0.41004274 -4.60934 -2.81206 0 0.00555391 -0.00509916 0.752735 0.658281 uwb: 0.49978971 1168.55 1449.6 -imu_odom_: 1691062543.409766333 0.301669 0.0909797 10.1275 -0.04048 -0.0351537 0.0458064 0.19 0 pose: 0.0 -4.60934 -2.81206 0 0.00555391 -0.00509916 0.752735 0.658281 uwb: 0.0 1168.55 1449.6 -imu_odom_: 1691062543.433990988 0.407014 -0.215478 10.556 -0.0532632 0.00213053 0.0319579 0.23 -0.02 pose: 0.48979223 -4.61361 -2.80301 0 0.00497435 -0.00348788 0.752784 0.658239 uwb: 0.50120710 1164.07 1450.78 -imu_odom_: 1691062543.450784022 0.248997 -0.177171 9.37809 -0.0596548 0.00106526 0.0340885 0.23 -0.02 pose: 0.0 -4.61361 -2.80301 0 0.00497435 -0.00348788 0.752784 0.658239 uwb: 0.0 1164.07 1450.78 -imu_odom_: 1691062543.475766946 0.0790087 -0.37589 9.59117 -0.0713727 0.0170442 0.0543285 0.18 0.02 pose: 0.48057342 -4.61788 -2.79397 0 0.00413271 0.000235079 0.752804 0.658232 uwb: 0.50008719 1166.14 1450.34 -imu_odom_: 1691062543.500820156 0.296881 -0.0263362 9.63187 -0.0372843 -0.0117179 0.0468716 0.18 0.02 pose: 0.0 -4.61788 -2.79397 0 0.00413271 0.000235079 0.752804 0.658232 uwb: 0.0 1166.14 1450.34 -imu_odom_: 1691062543.516819633 0.964863 -0.232238 10.386 -0.0617853 -0.0308927 0.056459 0.18 0.02 pose: 0.40990275 -4.62215 -2.78493 0 0.000307036 0.00142995 0.752775 0.658276 uwb: 0.0 1166.14 1450.34 -imu_odom_: 1691062543.540757312 0.476446 -0.292093 10.0509 -0.0468716 -0.0106526 0.036219 0.18 0.02 pose: 0.0 -4.62215 -2.78493 0 0.000307036 0.00142995 0.752775 0.658276 uwb: 0.49936391 1164.46 1450.61 -imu_odom_: 1691062543.564747194 0.457293 -0.174777 10.137 -0.052198 0.0117179 0.056459 0.25 0 pose: 0.49032302 -4.61739 -2.77162 0 0.000121864 0.00356949 0.752956 0.658062 uwb: 0.0 1164.46 1450.61 -imu_odom_: 1691062543.589834526 0.289698 -0.0622492 10.0796 -0.0308927 0.015979 0.0532632 0.25 0 pose: 0.0 -4.61739 -2.77162 0 0.000121864 0.00356949 0.752956 0.658062 uwb: 0.50051299 1164.46 1450.61 -imu_odom_: 1691062543.605900206 0.567426 -0.246603 9.6199 -0.0511327 -0.0223706 0.0447411 0.19 0 pose: 0.81975592 -4.62167 -2.76258 0 0.00238965 0.00279386 0.753224 0.657754 uwb: 0.0 1164.46 1450.61 -imu_odom_: 1691062543.628758226 0.0861913 -0.325611 8.98065 -0.0596548 0.0319579 0.0458064 0.19 0 pose: 0.0 -4.62167 -2.76258 0 0.00238965 0.00279386 0.753224 0.657754 uwb: 0.49891770 1162.12 1451.56 -imu_odom_: 1691062543.645886941 0.373495 -0.217872 10.2544 -0.0543285 -0.00958738 0.0553937 0.19 -0.02 pose: 0.7022155 -4.62167 -2.76258 0 0.00265491 0.00209223 0.753238 0.65774 uwb: 0.0 1162.12 1451.56 -imu_odom_: 1691062543.670905153 0.672771 0.0981623 10.1682 -0.0447411 -0.0170442 0.0447411 0.19 -0.02 pose: 0.0 -4.62167 -2.76258 0 0.00265491 0.00209223 0.753238 0.65774 uwb: 0.0 1162.12 1451.56 -imu_odom_: 1691062543.687769932 0.512359 -0.275333 9.37809 -0.0894822 0.0138484 0.0639159 0.19 0 pose: 0.39920240 -4.62595 -2.75354 0 -0.0001772840.00156563 0.753344 0.657625 uwb: 0.49899353 1164.45 1450.61 -imu_odom_: 1691062543.703790407 0.143652 0.0502782 10.319 -0.052198 -0.0191748 0.0511327 0.19 0 pose: 0.0 -4.62595 -2.75354 0 -0.0001772840.00156563 0.753344 0.657625 uwb: 0.0 1164.45 1450.61 -imu_odom_: 1691062543.728890862 0.342371 -0.263362 10.1754 -0.0671117 -0.0372843 0.0607201 0.18 0 pose: 0.40966653 -4.6212 -2.74022 0 0.00172887 0.000502724 0.75349 0.657457 uwb: 0.50125667 1162.82 1451.03 -imu_odom_: 1691062543.752729675 0.624887 -0.229843 10.0796 -0.0511327 -0.0351537 0.0447411 0.18 0 pose: 0.0 -4.6212 -2.74022 0 0.00172887 0.000502724 0.75349 0.657457 uwb: 0.0 1162.82 1451.03 -imu_odom_: 1691062543.769730359 0.45011 0.0167594 9.97664 -0.056459 -0.00319579 0.056459 0.18 0 pose: 0.0 -4.6212 -2.74022 0 0.00172887 0.000502724 0.75349 0.657457 uwb: 0.0 1162.82 1451.03 -imu_odom_: 1691062543.793733365 0.447716 -0.0646434 10.0078 -0.0585895 -0.0181095 0.052198 0.25 0 pose: 0.34181310 -4.6212 -2.74022 0 0.000757268 0.000715409 0.753687 0.657233 uwb: 0.49923560 1160 1451.84 -imu_odom_: 1691062543.816745956 0.407014 -0.248997 9.37569 -0.0713727 0.0117179 0.0553937 0.23 0 pose: 0.81808481 -4.62971 -2.72212 0 0.00414674 0.00124505 0.754025 0.656831 uwb: 0.0 1160 1451.84 -imu_odom_: 1691062543.839802002 0.605733 -0.177171 10.0102 -0.0436758 -0.0426106 0.0500674 0.23 0 pose: 0.0 -4.62971 -2.72212 0 0.00414674 0.00124505 0.754025 0.656831 uwb: 0.50260114 1158 1452.42 -imu_odom_: 1691062543.866885039 0.229843 -0.416591 9.96706 -0.0500674 0.015979 0.0447411 0.25 0 pose: 0.7129771 -4.62971 -2.72212 0 0.00343733 0.000903024 0.754065 0.65679 uwb: 0.0 1158 1452.42 -imu_odom_: 1691062543.882873142 0.663194 0.0790087 9.81862 -0.0511327 -0.0511327 0.0415453 0.25 0 pose: 0.0 -4.62971 -2.72212 0 0.00343733 0.000903024 0.754065 0.65679 uwb: 0.49792612 1161.56 1451.16 -imu_odom_: 1691062543.907937434 0.440533 -0.146046 10.1945 -0.0511327 -0.0181095 0.0532632 0.23 -0.02 pose: 0.47106881 -4.62486 -2.70884 0 0.0032468 -0.00140389 0.754244 0.656585 uwb: 0.0 1161.56 1451.16 -imu_odom_: 1691062543.930723710 0.385466 -0.0335188 9.63427 -0.0426106 -0.0298274 0.0330232 0.23 -0.02 pose: 0.0 -4.62486 -2.70884 0 0.0032468 -0.00140389 0.754244 0.656585 uwb: 0.50114585 1160.41 1451.69 -imu_odom_: 1691062543.943761563 0.390255 -0.177171 10.2328 -0.0308927 -0.0149137 0.0426106 0.18 -0.02 pose: 0.42868158 -4.62911 -2.69979 0 0.00332552 -0.0004335830.754322 0.656496 uwb: 0.0 1160.41 1451.69 -imu_odom_: 1691062543.967772736 0.351948 -0.129287 9.94073 -0.0447411 -0.00426106 0.0458064 0.18 -0.02 pose: 0.45888985 -4.63342 -2.69077 0 0.00419662 0.0031342 0.75434 0.656464 uwb: 0.0 1160.41 1451.69 -imu_odom_: 1691062543.984865870 0.457293 -0.260968 9.74919 -0.0660464 0.00532632 0.0490022 0.18 -0.02 pose: 0.0 -4.63342 -2.69077 0 0.00419662 0.0031342 0.75434 0.656464 uwb: 0.49890604 1159.63 1452 -imu_odom_: 1691062544.9731265 0.0933739 -0.21069 9.68694 -0.0596548 0.015979 0.0458064 0.27 0.02 pose: 0.39001277 -4.63342 -2.69077 0 0.00160998 0.0036717 0.754417 0.656383 uwb: 0.0 1159.63 1452 -imu_odom_: 1691062544.33710070 0.545878 -0.167594 9.4571 -0.0490022 0.00319579 0.0479369 0.21 -0.02 pose: 0.34002828 -4.62872 -2.67743 0 -0.00095499 0.0041549 0.754492 0.656295 uwb: 0.50063261 1158.81 1452.21 -imu_odom_: 1691062544.56769912 0.366313 -0.311246 9.52892 -0.0468716 0.0181095 0.0458064 0.21 -0.02 pose: 0.0 -4.62872 -2.67743 0 -0.00095499 0.0041549 0.754492 0.656295 uwb: 0.0 1158.81 1452.21 -imu_odom_: 1691062544.82849415 0.31364 -0.380678 9.51695 -0.0532632 0.0287621 0.0447411 0.24 0 pose: 0.8157810 -4.62872 -2.67743 0 -0.0003439160.00365881 0.754518 0.65627 uwb: 0.49865826 1157.61 1452.56 -imu_odom_: 1691062544.97742114 -0.035913 -0.299275 10.0149 -0.0383495 0.0330232 0.0372843 0.24 0 pose: 0.0 -4.62872 -2.67743 0 -0.0003439160.00365881 0.754518 0.65627 uwb: 0.0 1157.61 1452.56 -imu_odom_: 1691062544.123741416 0.258574 -0.0047884 9.9527 -0.0330232 -0.00852212 0.0532632 0.21 0 pose: 0.46837123 -4.63304 -2.66841 0 -0.00175807 0.00106072 0.754625 0.656153 uwb: 0.0 1157.61 1452.56 -imu_odom_: 1691062544.146850837 0.0885855 -0.232238 9.75637 -0.036219 0.00639159 0.0319579 0.21 0 pose: 0.0 -4.63304 -2.66841 0 -0.00175807 0.00106072 0.754625 0.656153 uwb: 0.49989481 1155.24 1453.4 -imu_odom_: 1691062544.171973463 0.433351 -0.114922 9.75158 -0.0585895 -0.0276969 0.0532632 0.18 0 pose: 0.41297675 -4.63736 -2.65939 0 -0.00441424 0.00225915 0.754675 0.656079 uwb: 0.0 1155.24 1453.4 -imu_odom_: 1691062544.189708505 0.553061 -0.282516 9.79468 -0.0607201 0.0234358 0.0447411 0.18 0 pose: 0.0 -4.63736 -2.65939 0 -0.00441424 0.00225915 0.754675 0.656079 uwb: 0.50011063 1154.03 1453.74 -imu_odom_: 1691062544.213677687 0.402226 -0.0191536 9.92157 -0.0575243 0.02024 0.0543285 0.18 0 pose: 0.49911613 -4.63736 -2.65939 0 -0.00434046 0.00511726 0.754735 0.655996 uwb: 0.0 1154.03 1453.74 -imu_odom_: 1691062544.239711985 0.246603 -0.289698 10.0485 -0.0639159 0.0234358 0.0394148 0.18 0 pose: 0.0 -4.63736 -2.65939 0 -0.00434046 0.00511726 0.754735 0.655996 uwb: 0.49926195 1150.88 1454.89 -imu_odom_: 1691062544.262848529 0.521936 -0.102951 9.89524 -0.056459 0.0372843 0.0575243 0.19 0 pose: 0.41766926 -4.63267 -2.64605 0 -0.00144745 0.00353957 0.754893 0.655836 uwb: 0.0 1150.88 1454.89 -imu_odom_: 1691062544.279696688 0.280122 -0.213084 9.5816 -0.04048 0.00639159 0.0532632 0.19 0 pose: 0.0 -4.63267 -2.64605 0 -0.00144745 0.00353957 0.754893 0.655836 uwb: 0.50006689 1151.25 1454.67 -imu_odom_: 1691062544.292747959 0.620098 -0.160412 10.4459 -0.0436758 -0.00852212 0.0330232 0.18 0 pose: 0.49005190 -4.637 -2.63704 0 -0.00250461 0.00378778 0.755007 0.655701 uwb: 0.0 1151.25 1454.67 -imu_odom_: 1691062544.316745138 0.497994 -0.146046 10.3549 -0.0458064 -0.00213053 0.0607201 0.18 0 pose: 0.0 -4.637 -2.63704 0 -0.00250461 0.00378778 0.755007 0.655701 uwb: 0.0 1151.25 1454.67 -imu_odom_: 1691062544.341829559 0.502782 -0.0383072 10.5082 -0.0372843 -0.0138484 0.0415453 0.23 0 pose: 0.39031325 -4.64134 -2.62802 0 -0.00232988 0.00370213 0.755165 0.65552 uwb: 0.50043435 1148.81 1455.3 -imu_odom_: 1691062544.364804533 0.648829 -0.035913 10.3022 -0.0692422 -0.00532632 0.0575243 0.23 0 pose: 0.0 -4.64134 -2.62802 0 -0.00232988 0.00370213 0.755165 0.65552 uwb: 0.0 1148.81 1455.3 -imu_odom_: 1691062544.388670473 0.246603 -0.268151 9.50498 -0.0532632 -0.02024 0.0415453 0.19 0 pose: 0.39043573 -4.64134 -2.62802 0 0.00134872 0.0024346 0.755331 0.655338 uwb: 0.50018354 1146.03 1456.22 -imu_odom_: 1691062544.415880089 0.955286 -0.208296 9.64624 -0.0671117 -0.0117179 0.0372843 0.19 0 pose: 0.0 -4.64134 -2.62802 0 0.00134872 0.0024346 0.755331 0.655338 uwb: 0.0 1146.03 1456.22 -imu_odom_: 1691062544.433808782 0.31364 -0.0742203 9.71088 -0.0585895 -0.0170442 0.0415453 0.2 0.02 pose: 0.48078644 -4.63667 -2.61467 0 0.0045429 0.00186676 0.755482 0.655151 uwb: 0.50096806 1142.85 1457.23 -imu_odom_: 1691062544.456797171 0.502782 -0.316035 10.307 -0.0777643 -0.0330232 0.0500674 0.2 0.02 pose: 0.0 -4.63667 -2.61467 0 0.0045429 0.00186676 0.755482 0.655151 uwb: 0.0 1142.85 1457.23 -imu_odom_: 1691062544.482668442 0.773327 -0.265756 9.76595 -0.0479369 -0.036219 0.0447411 0.19 0 pose: 0.52128383 -4.64102 -2.60567 0 0.00458079 0.000571347 0.755479 0.655157 uwb: 0.49944277 1142.4 1457.2 -imu_odom_: 1691062544.505669372 1.26414 -0.0694318 10.2185 -0.0649811 -0.0117179 0.0351537 0.19 0 pose: 0.0 -4.64102 -2.60567 0 0.00458079 0.000571347 0.755479 0.655157 uwb: 0.0 1142.4 1457.2 -imu_odom_: 1691062544.523713847 0.366313 -0.153229 9.60554 -0.0511327 -0.00213053 0.036219 0.25 0 pose: 0.40811216 -4.64536 -2.59666 0 0.00403995 -0.00196826 0.755582 0.655039 uwb: 0.0 1142.4 1457.2 -imu_odom_: 1691062544.538706579 -0.0454898 -0.251391 9.97185 -0.0596548 -0.0138484 0.0575243 0.25 0 pose: 0.0 -4.64536 -2.59666 0 0.00403995 -0.00196826 0.755582 0.655039 uwb: 0.49933194 1139.65 1458.22 -imu_odom_: 1691062544.564651052 0.538695 -0.208296 10.1323 -0.0383495 -0.0117179 0.0383495 0.25 -0.02 pose: 0.47883243 -4.64969 -2.58765 0 0.00673349 -0.00415247 0.755552 0.655041 uwb: 0.0 1139.65 1458.22 -imu_odom_: 1691062544.586648733 0.380678 -0.126893 9.92875 -0.0649811 0.0319579 0.0575243 0.25 -0.02 pose: 0.0 -4.64969 -2.58765 0 0.00673349 -0.00415247 0.755552 0.655041 uwb: 0.50075516 1138.43 1458.54 -imu_odom_: 1691062544.599655967 -0.378284 -0.253785 9.73961 -0.0340885 0.0234358 0.0436758 0.18 0.02 pose: 0.33119450 -4.6449 -2.57434 0 0.00518169 -0.00331232 0.755635 0.654964 uwb: 0.0 1138.43 1458.54 -imu_odom_: 1691062544.622656605 -0.047884 -0.174777 9.78031 -0.0447411 0.00852212 0.0351537 0.18 0.02 pose: 0.45860705 -4.6449 -2.57434 0 0.00405604 -0.00229023 0.755771 0.654819 uwb: 0.0 1138.43 1458.54 -imu_odom_: 1691062544.647654408 0.445322 -0.31364 10.2568 -0.0511327 -0.0468716 0.0575243 0.25 0.02 pose: 0.29992464 -4.64917 -2.5653 0 0.00176706 1.86061e-05 0.755753 0.654855 uwb: 0.49962650 1136.03 1459.28 -imu_odom_: 1691062544.670707543 0.486023 -0.169988 10.0173 -0.0585895 -0.0351537 0.0575243 0.25 0.02 pose: 0.0 -4.64917 -2.5653 0 0.00176706 1.86061e-05 0.755753 0.654855 uwb: 0.0 1136.03 1459.28 -imu_odom_: 1691062544.696748257 0.112527 0.071826 10.659 -0.0500674 -0.0426106 0.0340885 0.18 -0.02 pose: 0.8129813 -4.64917 -2.5653 0 0.00145729 -0.0007577520.755801 0.654799 uwb: 0.49987440 1129.96 1460.82 -imu_odom_: 1691062544.722721311 0.577003 -0.181959 10.6805 -0.0628506 -0.0181095 0.0543285 0.18 -0.02 pose: 0.0 -4.64917 -2.5653 0 0.00145729 -0.0007577520.755801 0.654799 uwb: 0.0 1129.96 1460.82 -imu_odom_: 1691062544.738741498 0.682347 -0.167594 9.69891 -0.0458064 -0.00958738 0.04048 0.19 0.02 pose: 0.48878617 -4.65343 -2.55625 0 0.00318734 -0.00109123 0.756013 0.654548 uwb: 0.49938153 1129.66 1461.29 -imu_odom_: 1691062544.763648017 0.452504 -0.172383 9.42118 -0.0948085 -0.02024 0.0639159 0.19 0.02 pose: 0.0 -4.65343 -2.55625 0 0.00318734 -0.00109123 0.756013 0.654548 uwb: 0.0 1129.66 1461.29 -imu_odom_: 1691062544.786670529 0.0550666 -0.0383072 9.81383 -0.0809601 -0.0234358 0.0479369 0.18 0 pose: 0.50018354 -4.64866 -2.54294 0 0.00548441 -0.0021393 0.756102 0.654427 uwb: 0.50010480 1131.71 1460.86 -imu_odom_: 1691062544.802759835 0.526724 -0.225055 10.082 -0.0756338 -0.0127832 0.0468716 0.18 0 pose: 0.0 -4.64866 -2.54294 0 0.00548441 -0.0021393 0.756102 0.654427 uwb: 0.0 1131.71 1460.86 -imu_odom_: 1691062544.826688187 0.52433 -0.196325 10.2376 -0.0649811 -0.0383495 0.0383495 0.25 0 pose: 0.41083901 -4.64866 -2.54294 0 0.00391115 -0.0009528680.756323 0.654186 uwb: 0.49903738 1134.93 1459.95 -imu_odom_: 1691062544.851766191 0.651223 -0.251391 9.89524 -0.0692422 -0.00532632 0.0585895 0.25 0 pose: 0.0 -4.64866 -2.54294 0 0.00391115 -0.0009528680.756323 0.654186 uwb: 0.0 1134.93 1459.95 -imu_odom_: 1691062544.874642007 0.667982 -0.126893 9.80904 -0.0671117 -0.0117179 0.0479369 0.18 0 pose: 0.39927833 -4.65294 -2.5339 0 0.00409013 -0.00223851 0.756399 0.654094 uwb: 0.50043144 1132.84 1460.24 -imu_odom_: 1691062544.890696900 0.435745 -0.158017 9.90721 -0.0458064 0.0138484 0.0447411 0.18 0 pose: 0.0 -4.65294 -2.5339 0 0.00409013 -0.00223851 0.756399 0.654094 uwb: 0.0 1132.84 1460.24 -imu_odom_: 1691062544.906661675 0.536301 -0.0622492 10.0772 -0.076699 0.0181095 0.0415453 0.25 0 pose: 0.47968110 -4.65722 -2.52486 0 0.00705502 -0.00600306 0.756545 0.653876 uwb: 0.0 1132.84 1460.24 -imu_odom_: 1691062544.931633813 0.457293 -0.462081 9.52653 -0.0479369 0.052198 0.0543285 0.25 0 pose: 0.0 -4.65722 -2.52486 0 0.00705502 -0.00600306 0.756545 0.653876 uwb: 0.49920362 1128.88 1461.63 -imu_odom_: 1691062544.948619919 -0.186748 -0.536301 10.1083 -0.0468716 0.00745685 0.0351537 0.21 -0.02 pose: 0.39180937 -4.65247 -2.51154 0 0.00775328 -0.00391942 0.75661 0.653808 uwb: 0.0 1128.88 1461.63 -imu_odom_: 1691062544.972627889 -0.117316 -0.0550666 9.96467 -0.0543285 0.00958738 0.052198 0.21 -0.02 pose: 0.0 -4.65247 -2.51154 0 0.00775328 -0.00391942 0.75661 0.653808 uwb: 0.0 1128.88 1461.63 -imu_odom_: 1691062544.997646107 0.502782 -0.387861 9.61033 -0.0649811 0 0.036219 0.21 0 pose: 0.41795800 -4.65676 -2.50251 0 0.00455906 -0.00360064 0.756749 0.65368 uwb: 0.50064725 1128.39 1461.43 -imu_odom_: 1691062545.12662756 0.588974 -0.0287304 10.2424 -0.0458064 0.00426106 0.0213053 0.21 0 pose: 0.0 -4.65676 -2.50251 0 0.00455906 -0.00360064 0.756749 0.65368 uwb: 0.0 1128.39 1461.43 -imu_odom_: 1691062545.29643032 0.371101 -0.23942 9.77313 -0.0671117 -0.00745685 0.0436758 0.21 0 pose: 0.0 -4.65676 -2.50251 0 0.00455906 -0.00360064 0.756749 0.65368 uwb: 0.49984820 1130.82 1460.77 -imu_odom_: 1691062545.55634756 0.462081 -0.25618 9.43076 -0.0617853 -0.00213053 0.04048 0.18 -0.02 pose: 0.41141063 -4.65676 -2.50251 0 0.00182194 -0.0019516 0.756837 0.653598 uwb: 0.0 1130.82 1460.77 -imu_odom_: 1691062545.78639191 0.0933739 -0.220267 10.0748 -0.0735032 -0.0500674 0.0468716 0.23 0 pose: 0.74853723 -4.65772 -2.48411 0 0.000835912 -0.00469756 0.756755 0.653681 uwb: 0.50184310 1129.98 1460.88 -imu_odom_: 1691062545.102602837 0.325611 -0.411803 10.1394 -0.0511327 0.02024 0.0330232 0.23 0 pose: 0.0 -4.65772 -2.48411 0 0.000835912 -0.00469756 0.756755 0.653681 uwb: 0.0 1129.98 1460.88 -imu_odom_: 1691062545.125606397 0.486023 -0.316035 9.94312 -0.0639159 0.0245011 0.052198 0.26 -0.02 pose: 0.7139107 -4.65631 -2.48015 0 0.000447622 -0.0043156 0.756775 0.653661 uwb: 0.49866711 1132.35 1460.04 -imu_odom_: 1691062545.151671907 0.126893 -0.208296 10.2137 -0.036219 0.0500674 0.0308927 0.26 -0.02 pose: 0.0 -4.65631 -2.48015 0 0.000447622 -0.0043156 0.756775 0.653661 uwb: 0.0 1132.35 1460.04 -imu_odom_: 1691062545.165674226 0.304064 -0.225055 9.43794 -0.0426106 -0.0106526 0.0330232 0.18 -0.02 pose: 0.46912668 -4.66061 -2.47112 0 -0.00258933 -0.00409981 0.756794 0.653635 uwb: 0.0 1132.35 1460.04 -imu_odom_: 1691062545.189594709 0.605733 -0.0766145 9.50737 -0.036219 -0.0458064 0.0426106 0.18 -0.02 pose: 0.0 -4.66061 -2.47112 0 -0.00258933 -0.00409981 0.756794 0.653635 uwb: 0.50255762 1131.95 1460.15 -imu_odom_: 1691062545.206627189 0.512359 -0.0383072 9.8665 -0.052198 -0.0319579 0.0543285 0.25 0 pose: 0.48028783 -4.66061 -2.47112 0 -0.0034905 -0.00166139 0.756777 0.653662 uwb: 0.0 1131.95 1460.15 -imu_odom_: 1691062545.232895099 0.603339 0.117316 9.87608 -0.0585895 -0.0298274 0.0351537 0.25 0 pose: 0.0 -4.66061 -2.47112 0 -0.0034905 -0.00166139 0.756777 0.653662 uwb: 0.49720890 1133.13 1459.71 -imu_odom_: 1691062545.259767291 0.356736 -0.201113 9.98861 -0.0703074 -0.0181095 0.0511327 0.25 0 pose: 0.39910926 -4.66061 -2.47112 0 0.000179658 -0.0008662440.756829 0.653613 uwb: 0.0 1133.13 1459.71 -imu_odom_: 1691062545.275748401 0.979228 -0.23942 9.80426 -0.0585895 -0.0905475 0.0532632 0.25 0 pose: 0.0 -4.66061 -2.47112 0 0.000179658 -0.0008662440.756829 0.653613 uwb: 0.49979285 1134.42 1459.66 -imu_odom_: 1691062545.292744718 1.22104 -0.189142 9.72046 -0.0617853 0.00639159 0.106526 0.19 0.11 pose: 0.43153985 -4.65588 -2.45778 0 0.00306913 0.000282604 0.756857 0.653573 uwb: 0.0 1134.42 1459.66 -imu_odom_: 1691062545.310649500 0.751779 -0.428562 9.75637 -0.0660464 0.0170442 0.164051 0.19 0.11 pose: 0.0 -4.65588 -2.45778 0 0.00306913 0.000282604 0.756857 0.653573 uwb: 0.0 1134.42 1459.66 -imu_odom_: 1691062545.324578033 1.0343 -0.553061 9.39964 -0.0543285 0.00319579 0.204531 0.19 0.11 pose: 0.0 -4.65588 -2.45778 0 0.00306913 0.000282604 0.756857 0.653573 uwb: 0.49875168 1131.97 1460.24 -imu_odom_: 1691062545.341583682 1.18274 -0.19393 9.84975 -0.0607201 0.015979 0.308927 0.12 0.29 pose: 0.83797808 -4.66021 -2.44877 0 0.00448505 -0.00497572 0.758841 0.651241 uwb: 0.0 1131.97 1460.24 -imu_odom_: 1691062545.354578378 1.64482 -0.553061 9.75158 -0.0585895 0.0490022 0.373908 0.12 0.29 pose: 0.0 -4.66021 -2.44877 0 0.00448505 -0.00497572 0.758841 0.651241 uwb: 0.0 1131.97 1460.24 -imu_odom_: 1691062545.370633274 1.25217 -0.557849 9.92636 -0.0596548 -0.00106526 0.419714 0.12 0.29 pose: 0.0 -4.66021 -2.44877 0 0.00448505 -0.00497572 0.758841 0.651241 uwb: 0.0 1131.97 1460.24 -imu_odom_: 1691062545.387582345 0.991199 -0.174777 9.58399 -0.0319579 0.0181095 0.418649 0.14 0.55 pose: 0.8074986 -4.66026 -2.44879 0 0.00504648 -0.00543438 0.759544 0.650413 uwb: 0.50022448 1133.19 1459.92 -imu_odom_: 1691062545.403584745 0.677559 -0.0167594 9.84975 -0.0490022 0.015979 0.50387 0.14 0.55 pose: 0.0 -4.66026 -2.44879 0 0.00504648 -0.00543438 0.759544 0.650413 uwb: 0.0 1133.19 1459.92 -imu_odom_: 1691062545.419575188 0.847547 -0.687136 9.92875 -0.0735032 -0.00426106 0.619984 0.14 0.55 pose: 0.0 -4.66026 -2.44879 0 0.00504648 -0.00543438 0.759544 0.650413 uwb: 0.0 1133.19 1459.92 -imu_odom_: 1691062545.436577046 0.842759 -0.555455 9.98622 -0.0415453 0.00319579 0.624245 0.08 0.44 pose: 0.44989289 -4.66454 -2.43975 0 0.00727863 -0.00856304 0.764539 0.644479 uwb: 0.49993284 1138.06 1458.72 -imu_odom_: 1691062545.452568072 0.727837 0.117316 9.63666 -0.0308927 0.02024 0.638093 0.11 0.67 pose: 0.0 -4.66454 -2.43975 0 0.00727863 -0.00856304 0.764539 0.644479 uwb: 0.0 1138.06 1458.72 -imu_odom_: 1691062545.468570473 0.6608 -0.0909797 9.5792 -0.0607201 0.0191748 0.653007 0.11 0.67 pose: 0.65968562 -4.66882 -2.43072 0 0.00890524 -0.0104839 0.775561 0.631123 uwb: 0.0 1138.06 1458.72 -imu_odom_: 1691062545.485600037 0.447716 -0.225055 9.8282 -0.0458064 0.00745685 0.609331 0.11 0.67 pose: 0.0 -4.66882 -2.43072 0 0.00890524 -0.0104839 0.775561 0.631123 uwb: 0.49992992 1136.41 1459.04 -imu_odom_: 1691062545.501742134 0.519542 -0.203507 10.149 -0.0500674 0.00639159 0.588026 0.09 0.67 pose: 0.0 -4.66882 -2.43072 0 0.00890524 -0.0104839 0.775561 0.631123 uwb: 0.0 1136.41 1459.04 -imu_odom_: 1691062545.518707536 0.782904 -0.31364 10.2161 -0.0436758 0.015979 0.614658 0.09 0.67 pose: 0.32983260 -4.66882 -2.43072 0 0.00965644 -0.00797139 0.781747 0.62347 uwb: 0.0 1136.41 1459.04 -imu_odom_: 1691062545.534704687 0.785298 -0.418985 9.92397 -0.056459 0.00319579 0.631702 0.05 0.55 pose: 0.42113406 -4.65978 -2.42633 0 0.0082841 -0.00758278 0.789109 0.61415 uwb: 0.50008449 1139.34 1458.61 -imu_odom_: 1691062545.551692546 0.766145 -0.222661 9.62708 -0.0575243 0.0117179 0.615723 0.05 0.55 pose: 0.0 -4.65978 -2.42633 0 0.0082841 -0.00758278 0.789109 0.61415 uwb: 0.0 1139.34 1458.61 -imu_odom_: 1691062545.567582956 0.483629 -0.0957681 9.80426 -0.0500674 0.0138484 0.551807 0.05 0.55 pose: 0.0 -4.65978 -2.42633 0 0.0082841 -0.00758278 0.789109 0.61415 uwb: 0.0 1139.34 1458.61 -imu_odom_: 1691062545.584573440 0.553061 0.0909797 10.0341 -0.0585895 -0.00745685 0.504935 0.06 0.58 pose: 0.8046697 -4.65983 -2.42635 0 0.00828365 -0.00839075 0.790569 0.61226 uwb: 0.50218140 1139.36 1458.65 -imu_odom_: 1691062545.600568257 0.715866 -0.0814029 9.80426 -0.0607201 -0.00532632 0.4815 0.04 0.41 pose: 0.0 -4.65983 -2.42635 0 0.00828365 -0.00839075 0.790569 0.61226 uwb: 0.0 1139.36 1458.65 -imu_odom_: 1691062545.617625527 0.773327 -0.270545 9.98622 -0.0511327 -0.00426106 0.445281 0.04 0.41 pose: 0.65833531 -4.65983 -2.42635 0 0.0105359 -0.00645476 0.800856 0.598729 uwb: 0.0 1139.36 1458.65 -imu_odom_: 1691062545.633581557 0.61531 -0.19393 9.75398 -0.0490022 -0.00213053 0.415453 0.04 0.29 pose: 0.0 -4.65983 -2.42635 0 0.0105359 -0.00645476 0.800856 0.598729 uwb: 0.49934664 1140.58 1458.35 -imu_odom_: 1691062545.650623953 0.699107 -0.0861913 9.94312 -0.052198 0.00426106 0.386691 0.04 0.29 pose: 0.0 -4.65983 -2.42635 0 0.0105359 -0.00645476 0.800856 0.598729 uwb: 0.0 1140.58 1458.35 -imu_odom_: 1691062545.666718804 0.584185 -0.117316 9.84975 -0.0575243 -0.00106526 0.357929 0.04 0.29 pose: 0.32988509 -4.6642 -2.41735 0 0.0111672 -0.00731874 0.804854 0.593323 uwb: 0.0 1140.58 1458.35 -imu_odom_: 1691062545.683729702 0.6608 -0.181959 9.96946 -0.0500674 -0.00106526 0.316384 0.04 0.38 pose: 0.41142531 -4.6642 -2.41735 0 0.0114287 -0.00438118 0.808992 0.587692 uwb: 0.49696684 1139.46 1458.96 -imu_odom_: 1691062545.699772058 0.687136 -0.174777 9.86172 -0.0490022 -0.00426106 0.28336 0.04 0.38 pose: 0.8016657 -4.6642 -2.41735 0 0.0114758 -0.00516913 0.809646 0.586784 uwb: 0.0 1139.46 1458.96 -imu_odom_: 1691062545.716604180 0.670376 -0.0574608 9.9503 -0.0553937 0.00106526 0.258859 0.04 0.38 pose: 0.0 -4.6642 -2.41735 0 0.0114758 -0.00516913 0.809646 0.586784 uwb: 0.0 1139.46 1458.96 -imu_odom_: 1691062545.732559334 0.670376 -0.126893 9.82102 -0.056459 -0.00319579 0.230097 0.02 0.2 pose: 0.41868719 -4.6642 -2.41735 0 0.013665 -0.00531713 0.812566 0.582685 uwb: 0.50006699 1138.6 1459.03 -imu_odom_: 1691062545.758555142 0.672771 -0.155623 9.93115 -0.0553937 -0.00319579 0.18003 0.03 0.32 pose: 0.0 -4.6642 -2.41735 0 0.013665 -0.00531713 0.812566 0.582685 uwb: 0.0 1138.6 1459.03 -imu_odom_: 1691062545.771601750 0.646434 -0.19393 9.92157 -0.052198 0.00745685 0.154463 0.03 0.32 pose: 0.23974436 -4.6642 -2.41735 0 0.0135042 -0.0044735 0.813776 0.581005 uwb: 0.0 1138.6 1459.03 -imu_odom_: 1691062545.788603899 0.344765 -0.158017 9.87608 -0.0607201 0.015979 0.108657 0.02 0.05 pose: 0.0 -4.6642 -2.41735 0 0.0135042 -0.0044735 0.813776 0.581005 uwb: 0.50398083 1139.47 1459.01 -imu_odom_: 1691062545.802540307 0.232238 -0.009576819.93833 -0.0543285 0.00213053 0.0447411 0.02 0.05 pose: 0.0 -4.6642 -2.41735 0 0.0135042 -0.0044735 0.813776 0.581005 uwb: 0.0 1139.47 1459.01 -imu_odom_: 1691062545.819538082 0.280122 0.0790087 9.88326 -0.056459 -0.00958738 -0.0223706 0.02 0.05 pose: 0.38975338 -4.6642 -2.41735 0 0.0105957 -0.00565312 0.815145 0.579132 uwb: 0.0 1139.47 1459.01 -imu_odom_: 1691062545.832536861 0.409408 -0.0311246 9.89284 -0.0596548 -0.0149137 -0.0479369 0.02 -0.11 pose: 0.39984128 -4.6642 -2.41735 0 0.00865687 -0.00219197 0.815055 0.579315 uwb: 0.49825590 1136.28 1460.04 -imu_odom_: 1691062545.847535721 0.490811 -0.229843 9.8258 -0.0617853 -0.0117179 -0.0798948 0.02 -0.11 pose: 0.6004910 -4.6642 -2.41735 0 0.00850018 -0.00164455 0.814902 0.579535 uwb: 0.0 1136.28 1460.04 -imu_odom_: 1691062545.864594741 0.560243 -0.220267 9.84017 -0.0585895 -0.0266316 -0.117179 0.02 -0.11 pose: 0.0 -4.6642 -2.41735 0 0.00850018 -0.00164455 0.814902 0.579535 uwb: 0.0 1136.28 1460.04 -imu_odom_: 1691062545.880669760 0.840365 -0.112527 9.8282 -0.052198 -0.0255663 -0.177899 0.02 -0.26 pose: 0.39051749 -4.6642 -2.41735 0 0.00681779 -0.00348385 0.813441 0.581597 uwb: 0.49899375 1134.4 1461.06 -imu_odom_: 1691062545.897549420 0.679953 0.134075 9.74919 -0.0596548 0.0266316 -0.241815 0.02 -0.35 pose: 0.0 -4.6642 -2.41735 0 0.00681779 -0.00348385 0.813441 0.581597 uwb: 0.0 1134.4 1461.06 -imu_odom_: 1691062545.913692391 0.31364 0.0430956 9.90721 -0.0575243 0.0127832 -0.278034 0.02 -0.35 pose: 0.0 -4.6642 -2.41735 0 0.00681779 -0.00348385 0.813441 0.581597 uwb: 0.0 1134.4 1461.06 -imu_odom_: 1691062545.930553095 0.23942 -0.339977 9.83059 -0.0671117 -0.0149137 -0.280165 0.02 -0.35 pose: 0.23089011 -4.6642 -2.41735 0 0.00895401 -0.00361969 0.811829 0.583815 uwb: 0.50095066 1137.17 1460.07 -imu_odom_: 1691062545.946567161 0.31364 -0.387861 9.85214 -0.0607201 -0.0181095 -0.274838 0.02 -0.35 pose: 0.0 -4.6642 -2.41735 0 0.00895401 -0.00361969 0.811829 0.583815 uwb: 0.0 1137.17 1460.07 -imu_odom_: 1691062545.972554219 0.639252 0 9.95509 -0.0553937 -0.00745685 -0.306796 0.02 -0.35 pose: 0.34004590 -4.6642 -2.41735 0 0.0081795 -0.00132817 0.808762 0.588078 uwb: 0.0 1137.17 1460.07 -imu_odom_: 1691062545.987561828 0.73502 0.1652 9.95988 -0.0596548 -0.0117179 -0.320645 0.02 -0.44 pose: 0.32999884 -4.6642 -2.41735 0 0.00658173 -0.00146786 0.805619 0.592395 uwb: 0.50001742 1137.15 1460.03 -imu_odom_: 1691062546.4744796 0.466869 -0.179565 9.75398 -0.0607201 0.00213053 -0.372843 0.02 -0.44 pose: 0.0 -4.6642 -2.41735 0 0.00658173 -0.00146786 0.805619 0.592395 uwb: 0.0 1137.15 1460.03 -imu_odom_: 1691062546.21615710 0.474052 -0.201113 9.9503 -0.0639159 -0.0127832 -0.394148 0.02 -0.35 pose: 0.50056570 -4.6685 -2.40833 0 0.00795149 -0.0004063340.800037 0.599898 uwb: 0.0 1137.15 1460.03 -imu_odom_: 1691062546.38681150 0.428562 -0.248997 9.90481 -0.0681769 -0.00958738 -0.380299 0.02 -0.35 pose: 0.0 -4.6685 -2.40833 0 0.00795149 -0.0004063340.800037 0.599898 uwb: 0.50124819 1133.93 1460.95 -imu_odom_: 1691062546.54706010 0.610521 -0.208296 10.0413 -0.072438 -0.0181095 -0.387756 0.02 -0.35 pose: 0.0 -4.6685 -2.40833 0 0.00795149 -0.0004063340.800037 0.599898 uwb: 0.0 1133.93 1460.95 -imu_odom_: 1691062546.71651293 0.572214 -0.0694318 9.83299 -0.056459 -0.0181095 -0.419714 0.02 -0.61 pose: 0.8807301 -4.66855 -2.40835 0 0.00710716 -0.0006651020.798896 0.601427 uwb: 0.0 1133.93 1460.95 -imu_odom_: 1691062546.87527708 0.519542 -0.126893 10.0054 -0.0735032 -0.00958738 -0.432497 0.01 -0.44 pose: 0.0 -4.66855 -2.40835 0 0.00710716 -0.0006651020.798896 0.601427 uwb: 0.49974338 1130.32 1462.08 -imu_odom_: 1691062546.104947784 0.517148 -0.122104 9.97424 -0.056459 -0.00639159 -0.471912 0.01 -0.44 pose: 0.65993365 -4.66855 -2.40835 0 0.00726143 -0.00120568 0.790079 0.61296 uwb: 0.0 1130.32 1462.08 -imu_odom_: 1691062546.120543347 0.588974 -0.134075 9.91199 -0.0553937 -0.015979 -0.497478 0.01 -0.53 pose: 0.0 -4.66855 -2.40835 0 0.00726143 -0.00120568 0.790079 0.61296 uwb: 0.0 1130.32 1462.08 -imu_odom_: 1691062546.137586038 0.474052 -0.186748 9.74679 -0.0681769 -0.00958738 -0.495348 0.01 -0.53 pose: 0.0 -4.66855 -2.40835 0 0.00726143 -0.00120568 0.790079 0.61296 uwb: 0.49892678 1129.61 1462.65 -imu_odom_: 1691062546.153538863 0.42138 -0.407014 9.71088 -0.0617853 -0.00106526 -0.506001 0.01 -0.53 pose: 0.33058219 -4.66855 -2.40835 0 0.00813347 0.000571795 0.784892 0.619578 uwb: 0.0 1129.61 1462.65 -imu_odom_: 1691062546.170673130 0.387861 -0.19393 9.8689 -0.0788296 -0.02024 -0.517718 0.01 -0.73 pose: 0.40935182 -4.6685 -2.40833 0 0.00547521 -0.00140805 0.778026 0.628207 uwb: 0.0 1129.61 1462.65 -imu_odom_: 1691062546.188662783 0.423774 -0.155623 9.80186 -0.0500674 -0.00745685 -0.556068 0.01 -0.73 pose: 0.8025408 -4.66855 -2.40835 0 0.0047521 -0.00114876 0.776621 0.629949 uwb: 0.49747732 1128.38 1462.92 -imu_odom_: 1691062546.203568030 0.383072 0.0981623 9.81862 -0.0585895 -0.00852212 -0.5827 0.01 -0.73 pose: 0.0 -4.66855 -2.40835 0 0.0047521 -0.00114876 0.776621 0.629949 uwb: 0.0 1128.38 1462.92 -imu_odom_: 1691062546.220638719 0.605733 -0.160412 9.75637 -0.0585895 -0.0117179 -0.592287 0.01 -0.61 pose: 0.42003759 -4.6685 -2.40833 0 0.00390949 0.00212582 0.768659 0.639643 uwb: 0.0 1128.38 1462.92 -imu_odom_: 1691062546.237673827 0.699107 -0.023942 10.0509 -0.0585895 -0.0287621 -0.615723 0.01 -0.64 pose: 0.0 -4.6685 -2.40833 0 0.00390949 0.00212582 0.768659 0.639643 uwb: 0.50131241 1127.98 1463.03 -imu_odom_: 1691062546.253669232 0.342371 -0.292093 9.84735 -0.052198 -0.02024 -0.621049 0.01 -0.64 pose: 0.0 -4.6685 -2.40833 0 0.00390949 0.00212582 0.768659 0.639643 uwb: 0.0 1127.98 1463.03 -imu_odom_: 1691062546.270633472 0.457293 -0.177171 9.9096 -0.0692422 -0.0308927 -0.570982 0 -0.55 pose: 0.25130802 -4.66855 -2.40835 0 0.00591538 0.000558189 0.763495 0.645787 uwb: 0.0 1127.98 1463.03 -imu_odom_: 1691062546.286519802 0.603339 -0.464475 9.87369 -0.0681769 -0.0223706 -0.491087 0 -0.55 pose: 0.0 -4.66855 -2.40835 0 0.00591538 0.000558189 0.763495 0.645787 uwb: 0.49846599 1125.51 1463.56 -imu_odom_: 1691062546.302793433 0.696713 -0.445322 9.96706 -0.0543285 -0.00958738 -0.429302 0 -0.55 pose: 0.32947104 -4.66855 -2.40835 0 0.00464415 -0.00018605 0.756574 0.653891 uwb: 0.0 1125.51 1463.56 -imu_odom_: 1691062546.319673971 0.651223 -0.23942 9.91918 -0.0532632 0.00319579 -0.38243 0.01 -0.58 pose: 0.41147497 -4.66855 -2.40835 0 0.00347986 -0.00380855 0.749491 0.661994 uwb: 0.0 1125.51 1463.56 -imu_odom_: 1691062546.337670916 0.505177 -0.0550666 10.0006 -0.0585895 -0.00426106 -0.343015 0.01 -0.58 pose: 0.7821550 -4.66855 -2.40835 0 0.00400456 -0.00434836 0.748394 0.663228 uwb: 0.50081954 1122.25 1464.21 -imu_odom_: 1691062546.354783310 0.380678 -0.225055 9.80426 -0.0607201 0 -0.330232 0.01 -0.58 pose: 0.0 -4.66855 -2.40835 0 0.00400456 -0.00434836 0.748394 0.663228 uwb: 0.0 1122.25 1464.21 -imu_odom_: 1691062546.371527943 0.378284 -0.229843 9.84017 -0.056459 -0.0170442 -0.32384 0 -0.41 pose: 0.44168327 -4.66855 -2.40835 0 0.00400959 -0.00259264 0.742714 0.669592 uwb: 0.0 1122.25 1464.21 -imu_odom_: 1691062546.387520431 0.418985 -0.265756 9.81144 -0.0617853 -0.0181095 -0.286556 0 -0.29 pose: 0.0 -4.66855 -2.40835 0 0.00400959 -0.00259264 0.742714 0.669592 uwb: 0.50057456 1119.83 1464.91 -imu_odom_: 1691062546.403585829 0.648829 -0.318429 9.92397 -0.0596548 -0.0106526 -0.248207 0 -0.29 pose: 0.0 -4.66855 -2.40835 0 0.00400959 -0.00259264 0.742714 0.669592 uwb: 0.0 1119.83 1464.91 -imu_odom_: 1691062546.420520905 0.565032 -0.339977 9.92397 -0.052198 0 -0.225836 0 -0.26 pose: 0.24779374 -4.66855 -2.40835 0 0.00184074 -0.0020666 0.7398 0.672822 uwb: 0.0 1119.83 1464.91 -imu_odom_: 1691062546.436689253 0.52433 -0.244209 10.0006 -0.0553937 -0.00106526 -0.198139 0 -0.26 pose: 0.0 -4.66855 -2.40835 0 0.00184074 -0.0020666 0.7398 0.672822 uwb: 0.49960922 1118.22 1465.4 -imu_odom_: 1691062546.452501506 0.433351 -0.241814 9.87608 -0.056459 -0.00958738 -0.175769 0 -0.26 pose: 0.32115340 -4.66855 -2.40835 0 0.00176941 -0.00455567 0.736637 0.676271 uwb: 0.0 1118.22 1465.4 -imu_odom_: 1691062546.469651522 0.529119 -0.181959 9.94551 -0.056459 -0.00852212 -0.169377 0 -0.29 pose: 0.40823482 -4.66855 -2.40835 0 0.00228525 -0.00415582 0.733381 0.679802 uwb: 0.0 1118.22 1465.4 -imu_odom_: 1691062546.487771540 0.474052 -0.19393 9.85453 -0.0543285 -0.00319579 -0.154463 0 -0.29 pose: 0.8164522 -4.66855 -2.40835 0 0.00308454 -0.00394352 0.732797 0.680429 uwb: 0.49994170 1116.16 1465.79 -imu_odom_: 1691062546.502774486 0.459687 -0.23942 9.87848 -0.0585895 -0.00532632 -0.120375 0 -0.29 pose: 0.0 -4.66855 -2.40835 0 0.00308454 -0.00394352 0.732797 0.680429 uwb: 0.0 1116.16 1465.79 -imu_odom_: 1691062546.518653525 0.486023 -0.3304 9.9096 -0.0596548 -0.00958738 -0.0745685 0 -0.08 pose: 0.42108458 -4.66855 -2.40835 0 0.00208515 -0.00256 0.730142 0.683288 uwb: 0.0 1116.16 1465.79 -imu_odom_: 1691062546.532617934 0.4956 -0.37589 9.89045 -0.0553937 -0.0117179 -0.036219 0 -0.08 pose: 0.0 -4.66855 -2.40835 0 0.00208515 -0.00256 0.730142 0.683288 uwb: 0.50254606 1112.83 1466.3 -imu_odom_: 1691062546.547620880 0.612916 -0.296881 9.88805 -0.0543285 -0.0106526 0.00852212 0 -0.08 pose: 0.0 -4.66855 -2.40835 0 0.00208515 -0.00256 0.730142 0.683288 uwb: 0.0 1112.83 1466.3 -imu_odom_: 1691062546.563613951 0.634463 -0.220267 9.85693 -0.0532632 -0.00426106 0.0394148 0 -0.08 pose: 0.21959778 -4.66855 -2.40835 0 0.000914485 -0.00446993 0.729366 0.684109 uwb: 0.0 1112.83 1466.3 -imu_odom_: 1691062546.585485070 0.533907 -0.213084 9.91678 -0.0553937 0.00426106 0.0511327 0 -0.05 pose: 0.0 -4.66855 -2.40835 0 0.000914485 -0.00446993 0.729366 0.684109 uwb: 0.49885970 1113.19 1466.02 -imu_odom_: 1691062546.602554301 0.0047884 -0.215478 9.7851 -0.0575243 0.0394148 0.0298274 0 -0.05 pose: 0.29876403 -4.66855 -2.40835 0 0.00219751 -0.00651754 0.728988 0.684492 uwb: 0.0 1113.19 1466.02 -imu_odom_: 1691062546.616485462 -0.426168 -0.105345 9.94551 -0.0436758 0.0266316 -0.0617853 0.01 0.02 pose: 0.47943634 -4.66855 -2.40835 0 0.00288665 -0.00356813 0.729013 0.684484 uwb: 0.0 1113.19 1466.02 -imu_odom_: 1691062546.631489867 -0.6608 0.241814 9.84496 -0.0383495 0.015979 -0.138484 0.01 0.02 pose: 0.0 -4.66855 -2.40835 0 0.00288665 -0.00356813 0.729013 0.684484 uwb: 0.49918342 1111.5 1466.16 -imu_odom_: 1691062546.647558765 -0.737414 0.0670376 9.89763 -0.0703074 0.00532632 -0.0681769 0.01 0.02 pose: 0.0 -4.66855 -2.40835 0 0.00288665 -0.00356813 0.729013 0.684484 uwb: 0.0 1111.5 1466.16 -imu_odom_: 1691062546.664625954 -0.577003 -0.991199 9.79228 -0.0798948 -0.0372843 0.0447411 0.05 0.02 pose: 0.5940750 -4.66855 -2.40835 0 0.00246843 -0.00301892 0.728809 0.684706 uwb: 0.0 1111.5 1466.16 -imu_odom_: 1691062546.680488662 0.105345 -0.677559 9.82341 -0.0458064 -0.052198 0.052198 0.08 0 pose: 0.0 -4.66855 -2.40835 0 0.00246843 -0.00301892 0.728809 0.684706 uwb: 0.49944591 1111.03 1465.98 -imu_odom_: 1691062546.695548187 0.648829 -0.023942 9.84496 -0.0394148 -0.0117179 0.0692422 0.08 0 pose: 0.0 -4.66855 -2.40835 0 0.00246843 -0.00301892 0.728809 0.684706 uwb: 0.0 1111.03 1465.98 -imu_odom_: 1691062546.711541258 0.237026 0.0335188 9.56484 -0.0575243 0.0394148 0.0884169 0.08 0 pose: 0.63012200 -4.66855 -2.40835 0 -0.00191809 0.000108408 0.727084 0.686546 uwb: 0.0 1111.03 1465.98 -imu_odom_: 1691062546.728600573 -0.162806 -0.141258 10.07 -0.052198 0.00958738 0.0330232 0.08 0 pose: 0.0 -4.66855 -2.40835 0 -0.00191809 0.000108408 0.727084 0.686546 uwb: 0.50052789 1109.73 1465.93 -imu_odom_: 1691062546.745622558 -0.126893 -0.0837971 9.81862 -0.0639159 -0.0287621 0.036219 0.08 0 pose: 0.31097217 -4.67285 -2.39932 0 -0.0009331570.000487029 0.727395 0.686218 uwb: 0.0 1109.73 1465.93 -imu_odom_: 1691062546.761621462 0.414197 -0.423774 10.1682 -0.0660464 -0.0447411 0.0596548 0.09 0.02 pose: 0.43018090 -4.67285 -2.39932 0 -0.00285718 0.00413825 0.727478 0.686112 uwb: 0.0 1109.73 1465.93 -imu_odom_: 1691062546.778623323 0.488417 -0.339977 9.63906 -0.0543285 -0.0117179 0.0511327 0.09 0.02 pose: 0.0 -4.67285 -2.39932 0 -0.00285718 0.00413825 0.727478 0.686112 uwb: 0.49947216 1108.01 1465.92 -imu_odom_: 1691062546.794492155 0.268151 0.0622492 9.8665 -0.0458064 0.00106526 0.0458064 0.09 0.02 pose: 0.0 -4.67285 -2.39932 0 -0.00285718 0.00413825 0.727478 0.686112 uwb: 0.0 1108.01 1465.92 -imu_odom_: 1691062546.811745121 0.19393 -0.0191536 10.1754 -0.0660464 -0.00426106 0.0639159 0.14 0 pose: 0.7898544 -4.67285 -2.39932 0 -0.00301093 0.00324616 0.727532 0.686059 uwb: 0.0 1108.01 1465.92 -imu_odom_: 1691062546.827684238 0.474052 -0.335188 10.1993 -0.0415453 -0.02024 0.0383495 0.1 0 pose: 0.0 -4.67285 -2.39932 0 -0.00301093 0.00324616 0.727532 0.686059 uwb: 0.0 1108.01 1465.92 -imu_odom_: 1691062546.844733637 0.311246 -0.126893 9.54329 -0.0458064 0.015979 0.0191748 0.1 0 pose: 0.65994823 -4.66816 -2.38598 0 -0.00183664 0.00298841 0.727832 0.685747 uwb: 0.0 1108.01 1465.92 -imu_odom_: 1691062546.860559889 0.344765 -0.23942 9.74679 -0.0532632 0.0213053 0.0426106 0.11 0 pose: 0.0 -4.66816 -2.38598 0 -0.00183664 0.00298841 0.727832 0.685747 uwb: 0.0 1108.01 1465.92 -imu_odom_: 1691062546.877596456 1.12527 -0.258574 10.3214 -0.0553937 -0.0426106 0.0447411 0.11 0 pose: 0.0 -4.66816 -2.38598 0 -0.00183664 0.00298841 0.727832 0.685747 uwb: 0.99843684 1109.58 1465.29 -imu_odom_: 1691062546.893597402 1.31921 -0.0814029 9.69891 -0.0628506 -0.0287621 0.0745685 0.11 0 pose: 0.33171960 -4.66816 -2.38598 0 -0.00179266 0.00338226 0.727716 0.685868 uwb: 0.0 1109.58 1465.29 -imu_odom_: 1691062546.909467984 1.07021 -0.220267 9.69891 -0.0436758 0.0245011 0.1012 0.11 0 pose: 0.40909517 -4.66816 -2.38598 0 0.000518559 0.000206363 0.727951 0.685629 uwb: 0.0 1109.58 1465.29 -imu_odom_: 1691062546.926463721 1.04866 -0.493206 9.65342 -0.0479369 -0.0106526 0.112918 0.11 0 pose: 0.6893254 -4.66816 -2.38598 0 0.000965671 -0.0001813620.728097 0.685474 uwb: 0.50131242 1108.73 1465.34 -imu_odom_: 1691062546.942605530 0.849942 -0.160412 9.7444 -0.0479369 0.0213053 0.118244 0.11 0 pose: 0.0 -4.66816 -2.38598 0 0.000965671 -0.0001813620.728097 0.685474 uwb: 0.0 1108.73 1465.34 -imu_odom_: 1691062546.958607350 0.761356 0.00718261 9.96227 -0.0490022 0.0234358 0.0958738 0.07 0 pose: 0.42114874 -4.67249 -2.37697 0 0.00346874 -0.00300205 0.729142 0.684347 uwb: 0.0 1108.73 1465.34 -imu_odom_: 1691062546.974663999 0.811634 0.0023942 9.84017 -0.052198 -0.00532632 0.0532632 0.07 0.02 pose: 0.0 -4.67249 -2.37697 0 0.00346874 -0.00300205 0.729142 0.684347 uwb: 0.49932924 1108.27 1465.18 -imu_odom_: 1691062546.991613074 0.742203 -0.191536 9.67736 -0.0660464 0.00852212 0.0372843 0.07 0.02 pose: 0.0 -4.67249 -2.37697 0 0.00346874 -0.00300205 0.729142 0.684347 uwb: 0.0 1108.27 1465.18 -imu_odom_: 1691062547.8607645 0.715866 -0.306458 10.0173 -0.0553937 -0.0117179 0.0181095 0.07 0.05 pose: 0.23008814 -4.67249 -2.37697 0 0.00563956 -0.00304869 0.729472 0.683981 uwb: 0.0 1108.27 1465.18 -imu_odom_: 1691062547.25670172 0.806846 -0.246603 9.80186 -0.056459 -0.00958738 0.0138484 0.07 0.05 pose: 0.0 -4.67249 -2.37697 0 0.00563956 -0.00304869 0.729472 0.683981 uwb: 0.50051045 1109.9 1464.87 -imu_odom_: 1691062547.42500843 0.85473 -0.126893 9.98143 -0.056459 0.00958738 0.0245011 0.07 0.05 pose: 0.33059677 -4.67249 -2.37697 0 0.0076142 -0.00518054 0.729438 0.683985 uwb: 0.0 1109.9 1464.87 -imu_odom_: 1691062547.58493043 0.684742 -0.217872 9.77553 -0.0543285 0.00319579 0.0234358 0.06 0 pose: 0.34008688 -4.67249 -2.37697 0 0.00932355 -0.00788868 0.729162 0.684233 uwb: 0.0 1109.9 1464.87 -imu_odom_: 1691062547.74432747 0.553061 -0.153229 9.92397 -0.0468716 0.00106526 0 0.06 0 pose: 0.0 -4.67249 -2.37697 0 0.00932355 -0.00788868 0.729162 0.684233 uwb: 0.50023928 1106.17 1465.35 -imu_odom_: 1691062547.100570888 0.414197 -0.205901 9.80904 -0.0639159 -0.00106526 0.0649811 0.03 0 pose: 0.41750038 -4.67249 -2.37697 0 0.00985089 -0.00819631 0.728802 0.684604 uwb: 0.0 1106.17 1465.35 -imu_odom_: 1691062547.126450341 -0.311246 -0.395043 9.45949 -0.0458064 0.0756338 0.0607201 0.03 0 pose: 0.0 -4.67249 -2.37697 0 0.00985089 -0.00819631 0.728802 0.684604 uwb: 0.50048425 1106.93 1464.91 -imu_odom_: 1691062547.142456248 -1.00317 0.0502782 10.1538 -0.0351537 0.076699 0.0490022 0.06 0.02 pose: 0.8141776 -4.67249 -2.37697 0 0.00920909 -0.00767228 0.72888 0.684537 uwb: 0.0 1106.93 1464.91 -imu_odom_: 1691062547.169456483 -0.380678 -0.0933739 9.86172 -0.0543285 -0.0532632 0.0511327 0.08 0 pose: 0.0 -4.67249 -2.37697 0 0.00920909 -0.00767228 0.72888 0.684537 uwb: 0.0 1106.93 1464.91 -imu_odom_: 1691062547.194596624 0.294487 -0.198719 9.7444 -0.0617853 -0.0234358 0.0340885 0.08 0 pose: 0.86881960 -4.67676 -2.36793 0 0.00234543 -0.0009006870.729432 0.684049 uwb: 0.49935561 1104.41 1465.15 -imu_odom_: 1691062547.221590734 0.35913 -0.126893 9.87369 -0.0436758 -0.0255663 0.04048 0.12 -0.02 pose: 0.0 -4.67676 -2.36793 0 0.00234543 -0.0009006870.729432 0.684049 uwb: 0.0 1104.41 1465.15 -imu_odom_: 1691062547.246442440 -0.184354 -0.1652 9.91199 -0.0479369 0.00106526 0.036219 0.12 -0.02 pose: 0.32149469 -4.66772 -2.36365 0 0.000821629 0.0012361 0.729386 0.684101 uwb: 0.49980181 1102.33 1465.37 -imu_odom_: 1691062547.263435264 0.502782 -0.220267 10.0293 -0.0543285 -0.0703074 0.0351537 0.12 -0.02 pose: 0.0 -4.66772 -2.36365 0 0.000821629 0.0012361 0.729386 0.684101 uwb: 0.0 1102.33 1465.37 -imu_odom_: 1691062547.288456707 0.229843 -0.0933739 9.81862 -0.0607201 0.0138484 0.0276969 0.12 -0.02 pose: 0.51872356 -4.67199 -2.35461 0 5.64096e-05 0.00411104 0.729342 0.684137 uwb: 0.50024220 1099.85 1465.69 -imu_odom_: 1691062547.315510895 0.114922 -0.011971 9.47146 -0.0532632 -0.0511327 0.0617853 0.14 0.02 pose: 0.34978399 -4.67199 -2.35461 0 -0.00039822 0.00542785 0.729218 0.68426 uwb: 0.0 1099.85 1465.69 -imu_odom_: 1691062547.340487425 0.553061 -0.383072 9.97664 -0.0713727 -0.00319579 0.036219 0.14 0.02 pose: 0.0 -4.67199 -2.35461 0 -0.00039822 0.00542785 0.729218 0.68426 uwb: 0.49874898 1099.84 1465.67 -imu_odom_: 1691062547.357445835 0.265756 -0.148441 9.79707 -0.0532632 -0.00106526 0.0234358 0.15 0 pose: 0.6991246 -4.67199 -2.35461 0 -0.0004512420.00599757 0.729268 0.684202 uwb: 0.0 1099.84 1465.67 -imu_odom_: 1691062547.382446571 0.586579 0.0335188 10.0724 -0.0479369 -0.0117179 0.0490022 0.15 0 pose: 0.0 -4.67199 -2.35461 0 -0.0004512420.00599757 0.729268 0.684202 uwb: 0.50108213 1104.74 1464.74 -imu_odom_: 1691062547.409486177 0.339977 -0.25618 10.1131 -0.0575243 -0.0308927 0.0372843 0.17 -0.02 pose: 0.52056674 -4.67626 -2.34557 0 -0.00118429 0.00553065 0.72935 0.684117 uwb: 0.0 1104.74 1464.74 -imu_odom_: 1691062547.434495954 0.177171 -0.153229 9.30866 -0.04048 0.0340885 0.0426106 0.17 -0.02 pose: 0.0 -4.67626 -2.34557 0 -0.00118429 0.00553065 0.72935 0.684117 uwb: 0.49927977 1106.72 1464.07 -imu_odom_: 1691062547.461480731 -0.112527 -0.517148 9.64624 -0.0639159 0.00958738 0.056459 0.17 0 pose: 0.41996477 -4.67626 -2.34557 0 0.00033036 0.0051844 0.729378 0.684091 uwb: 0.0 1106.72 1464.07 -imu_odom_: 1691062547.477510261 0.318429 -0.0407014 9.8665 -0.0468716 -0.0458064 0.0245011 0.17 0 pose: 0.0 -4.67626 -2.34557 0 0.00033036 0.0051844 0.729378 0.684091 uwb: 0.49934686 1106.64 1463.73 -imu_odom_: 1691062547.504412504 0.105345 -0.0454898 9.92636 -0.092678 -0.0276969 0.0809601 0.15 -0.02 pose: 0.52194912 -4.6715 -2.33225 0 -0.00336018 0.00593299 0.729412 0.68404 uwb: 0.0 1106.64 1463.73 -imu_odom_: 1691062547.529427239 -0.186748 -0.361524 9.95988 -0.056459 0.0490022 0.036219 0.15 0 pose: 0.62716488 -4.67578 -2.32322 0 -0.00421053 0.00854988 0.729816 0.683577 uwb: 0.49993013 1108.29 1463.47 -imu_odom_: 1691062547.556458096 -0.169988 0.153229 9.95988 -0.0735032 0.0479369 0.0649811 0.15 0 pose: 0.0 -4.67578 -2.32322 0 -0.00421053 0.00854988 0.729816 0.683577 uwb: 0.0 1108.29 1463.47 -imu_odom_: 1691062547.581466414 0.349553 -0.237026 10.4531 -0.0479369 -0.0181095 0.0245011 0.17 0 pose: 0.8074698 -4.67578 -2.32322 0 -0.00514736 0.00891491 0.729798 0.683586 uwb: 0.50067966 1112.7 1462.31 -imu_odom_: 1691062547.597449281 0.258574 -0.0287304 9.71088 -0.0532632 -0.0138484 0.036219 0.17 0 pose: 0.0 -4.67578 -2.32322 0 -0.00514736 0.00891491 0.729798 0.683586 uwb: 0.0 1112.7 1462.31 -imu_odom_: 1691062547.623411853 0.727837 -0.0622492 9.80426 -0.0639159 -0.0596548 0.0447411 0.17 0 pose: 0.52019635 -4.68006 -2.31418 0 -0.00755195 0.011936 0.729944 0.683361 uwb: 0.0 1112.7 1462.31 -imu_odom_: 1691062547.647504707 0.349553 0.124498 10.8146 -0.0468716 -0.0276969 0.0447411 0.17 0 pose: 0.0 -4.68006 -2.31418 0 -0.00755195 0.011936 0.729944 0.683361 uwb: 0.49921562 1111.55 1462.86 -imu_odom_: 1691062547.663405331 0.395043 -0.25618 9.76595 -0.072438 -0.00958738 0.056459 0.16 -0.02 pose: 0.40931399 -4.67532 -2.30086 0 -0.00431353 0.0100416 0.729893 0.683474 uwb: 0.0 1111.55 1462.86 -imu_odom_: 1691062547.691402107 0.0742203 -0.316035 9.74919 -0.0490022 0.0394148 0.036219 0.16 -0.02 pose: 0.0 -4.67532 -2.30086 0 -0.00431353 0.0100416 0.729893 0.683474 uwb: 0.50126294 1110.67 1462.73 -imu_odom_: 1691062547.716402551 0.533907 -0.268151 9.69652 -0.0703074 -0.0106526 0.052198 0.17 0 pose: 0.48986265 -4.67532 -2.30086 0 -0.0001723890.00864135 0.730042 0.683347 uwb: 0.0 1110.67 1462.73 -imu_odom_: 1691062547.743403369 0.0407014 -0.0502782 9.70131 -0.0841559 0.0319579 0.0468716 0.2 0 pose: 0.44986975 -4.67962 -2.29183 0 -0.00323296 0.00739579 0.730087 0.683307 uwb: 0.49997972 1113.51 1462.12 -imu_odom_: 1691062547.769380522 0.378284 -0.670376 10.0604 -0.0585895 0.0276969 0.0287621 0.17 -0.02 pose: 0.24054065 -4.67962 -2.29183 0 -0.00301322 0.0063822 0.730185 0.683213 uwb: 0.0 1113.51 1462.12 -imu_odom_: 1691062547.796381632 0.162806 0.122104 10.2951 -0.0340885 0 0.0468716 0.23 0 pose: 0.28072895 -4.67488 -2.2785 0 -0.00468562 0.00762925 0.730192 0.683184 uwb: 0.49910770 1113.97 1462.22 -imu_odom_: 1691062547.813480322 0.711078 -0.584185 9.72764 -0.0266316 -0.0298274 0.0617853 0.23 0 pose: 0.0 -4.67488 -2.2785 0 -0.00468562 0.00762925 0.730192 0.683184 uwb: 0.0 1113.97 1462.22 -imu_odom_: 1691062547.838405814 0.59855 -0.222661 9.90721 -0.00319579 0.0351537 0.00852212 0.17 0 pose: 0.24864831 -4.67488 -2.2785 0 -0.00532355 0.00688005 0.73014 0.683242 uwb: 0.50012554 1114.03 1462.47 -imu_odom_: 1691062547.863387302 0.268151 -0.181959 9.55287 -0.0511327 0.00532632 0.0511327 0.17 0 pose: 0.0 -4.67488 -2.2785 0 -0.00532355 0.00688005 0.73014 0.683242 uwb: 0.0 1114.03 1462.47 -imu_odom_: 1691062547.890477070 0.241814 -0.148441 9.46667 -0.0458064 -0.0639159 0.0298274 0.24 -0.02 pose: 0.43996850 -4.67918 -2.26947 0 -0.00326738 0.00677227 0.730257 0.683132 uwb: 0.49934102 1115.7 1462.3 -imu_odom_: 1691062547.915524469 0.725443 -0.371101 9.59117 -0.0511327 -0.0181095 0.04048 0.24 -0.02 pose: 0.0 -4.67918 -2.26947 0 -0.00326738 0.00677227 0.730257 0.683132 uwb: 0.0 1115.7 1462.3 -imu_odom_: 1691062547.932522543 0.814029 -0.0885855 9.74919 -0.0340885 0.0436758 0.0234358 0.21 0 pose: 0.50046384 -4.68348 -2.26044 0 -0.00423571 0.0068835 0.730131 0.68326 uwb: 0.49979598 1117.69 1461.68 -imu_odom_: 1691062547.957522695 0.61531 -0.260968 10.0604 -0.0628506 0.0223706 0.0585895 0.21 0 pose: 0.0 -4.68348 -2.26044 0 -0.00423571 0.0068835 0.730131 0.68326 uwb: 0.0 1117.69 1461.68 -imu_odom_: 1691062547.974376989 0.526724 -0.213084 9.67736 -0.0511327 0.036219 0.04048 0.22 0 pose: 0.52085547 -4.67874 -2.24711 0 -0.0015078 0.00576493 0.730053 0.683365 uwb: 0.0 1117.69 1461.68 -imu_odom_: 1691062547.999490299 0.40462 -0.363919 9.60075 -0.0735032 -0.0149137 0.0692422 0.22 0 pose: 0.0 -4.67874 -2.24711 0 -0.0015078 0.00576493 0.730053 0.683365 uwb: 0.50024220 1116.49 1462.03 -imu_odom_: 1691062548.26360758 0.459687 -0.0837971 9.7851 -0.036219 0.0330232 0.0319579 0.22 0 pose: 0.42037597 -4.67874 -2.24711 0 0.000267536 0.00284154 0.73018 0.683249 uwb: 0.50179377 1114.55 1462.85 -imu_odom_: 1691062548.51489238 0.574608 -0.268151 9.96706 -0.0713727 0.00745685 0.0649811 0.22 0 pose: 0.41816534 -4.68304 -2.23808 0 -0.0003162380.000283719 0.730422 0.682996 uwb: 0.0 1114.55 1462.85 -imu_odom_: 1691062548.78409860 0.713472 -0.011971 9.76355 -0.0575243 -0.0149137 0.0585895 0.23 0 pose: 0.0 -4.68304 -2.23808 0 -0.0003162380.000283719 0.730422 0.682996 uwb: 0.49927697 1118.6 1461.93 -imu_odom_: 1691062548.103400685 0.339977 -0.222661 10.0485 -0.0841559 0.0287621 0.0553937 0.18 0 pose: 0.52180633 -4.67831 -2.22475 0 0.00267289 -0.00114117 0.730634 0.682763 uwb: 0.0 1118.6 1461.93 -imu_odom_: 1691062548.130512916 0.531513 -0.0814029 9.97424 -0.0798948 0.0117179 0.0607201 0.18 0 pose: 0.0 -4.67831 -2.22475 0 0.00267289 -0.00114117 0.730634 0.682763 uwb: 0.49987775 1118.19 1462.03 -imu_odom_: 1691062548.147476871 0.553061 -0.244209 10.3046 -0.0660464 -0.02024 0.0500674 0.18 0.02 pose: 0.71946104 -4.68262 -2.21573 0 0.0041938 -0.0001935180.731086 0.682273 uwb: 0.0 1118.19 1462.03 -imu_odom_: 1691062548.173356622 0.885855 -0.071826 10.0365 -0.0596548 -0.0490022 0.0458064 0.18 0.02 pose: 0.7931795 -4.68262 -2.21573 0 0.00423759 -0.00106106 0.731116 0.68224 uwb: 0.0 1118.19 1462.03 -imu_odom_: 1691062548.199640298 0.6608 -0.294487 9.54808 -0.056459 0.0458064 0.0383495 0.18 0.02 pose: 0.34911911 -4.68039 -2.20358 0 0.00698388 -0.00365053 0.731189 0.682129 uwb: 0.0 1118.19 1462.03 -imu_odom_: 1691062548.224483260 0.150835 -0.277727 9.6199 -0.0639159 0.00319579 0.052198 0.18 0.02 pose: 0.0 -4.68039 -2.20358 0 0.00698388 -0.00365053 0.731189 0.682129 uwb: 0.99946969 1116.57 1462.37 -imu_odom_: 1691062548.250413465 0.205901 -0.232238 9.91199 -0.0479369 0.0394148 0.0394148 0.18 0 pose: 0.32176016 -4.67792 -2.20239 0 0.006005 -0.00551796 0.731215 0.682098 uwb: 0.0 1116.57 1462.37 -imu_odom_: 1691062548.265383171 0.323217 -0.234632 9.9503 -0.0532632 -0.0149137 0.0543285 0.18 0 pose: 0.0 -4.67792 -2.20239 0 0.006005 -0.00551796 0.731215 0.682098 uwb: 0.0 1116.57 1462.37 -imu_odom_: 1691062548.289363747 0.390255 -0.318429 9.72046 -0.0479369 0.0234358 0.0266316 0.17 0 pose: 0.59850533 -4.68481 -2.18804 0 0.000892773 -0.00144402 0.731397 0.68195 uwb: 0.49910490 1118.66 1462.13 -imu_odom_: 1691062548.315534265 0.134075 -0.35913 10.1562 -0.0500674 0.0245011 0.0468716 0.17 0 pose: 0.0 -4.68481 -2.18804 0 0.000892773 -0.00144402 0.731397 0.68195 uwb: 0.0 1118.66 1462.13 -imu_odom_: 1691062548.331557091 0.328006 -0.122104 9.53611 -0.0479369 -0.0191748 0.0500674 0.17 0.02 pose: 0.50151094 -4.68314 -2.17459 0 -0.00413317 -0.0006712060.731357 0.681982 uwb: 0.50067976 1117.05 1462.57 -imu_odom_: 1691062548.358541874 0.296881 -0.131681 9.40442 -0.0809601 0.0372843 0.0639159 0.17 0.02 pose: 0.6985124 -4.68188 -2.17102 0 -0.00369442 -0.0001020580.731385 0.681954 uwb: 0.0 1117.05 1462.57 -imu_odom_: 1691062548.383361505 0.0502782 -0.294487 9.67736 -0.0415453 0.0532632 0.0319579 0.23 -0.02 pose: 0.16996619 -4.68188 -2.17102 0 -0.003085 0.00143496 0.731488 0.681846 uwb: 0.49932071 1115.34 1462.61 -imu_odom_: 1691062548.408348831 -0.0143652 -0.296881 9.55526 -0.0681769 -0.00426106 0.0553937 0.23 0 pose: 0.0 -4.68188 -2.17102 0 -0.003085 0.00143496 0.731488 0.681846 uwb: 0.0 1115.34 1462.61 -imu_odom_: 1691062548.431420358 0.536301 -0.296881 9.87608 -0.056459 0.00426106 0.0383495 0.23 0 pose: 0.50848411 -4.68622 -2.16201 0 -0.00630114 0.00528861 0.731599 0.681686 uwb: 0.50063019 1112.12 1463.47 -imu_odom_: 1691062548.457348522 0.620098 -0.557849 9.59117 -0.0617853 0.00319579 0.0553937 0.19 0 pose: 0.0 -4.68622 -2.16201 0 -0.00630114 0.00528861 0.731599 0.681686 uwb: 0.0 1112.12 1463.47 -imu_odom_: 1691062548.474339600 0.481235 -0.160412 10.0963 -0.0479369 -0.0106526 0.0308927 0.19 0 pose: 0.49023898 -4.69055 -2.15299 0 -0.00664726 0.003427 0.731724 0.68156 uwb: 0.0 1112.12 1463.47 -imu_odom_: 1691062548.491341177 0.639252 -0.378284 9.69412 -0.0777643 -0.0458064 0.0468716 0.19 0 pose: 0.0 -4.69055 -2.15299 0 -0.00664726 0.003427 0.731724 0.68156 uwb: 0.50044353 1112.62 1463.76 -imu_odom_: 1691062548.508353837 1.09415 -0.280122 9.69173 -0.0841559 -0.0596548 0.04048 0.16 -0.08 pose: 0.42988069 -4.68154 -2.14866 0 -0.00437286 0.000411464 0.731795 0.681511 uwb: 0.0 1112.62 1463.76 -imu_odom_: 1691062548.525406159 1.68552 -0.579397 9.67497 -0.0394148 0.00106526 -0.0990696 0.16 -0.08 pose: 0.0 -4.68154 -2.14866 0 -0.00437286 0.000411464 0.731795 0.681511 uwb: 0.49798208 1109.81 1464.56 -imu_odom_: 1691062548.542483855 1.75734 -0.0335188 10.1035 -0.0607201 0.0319579 -0.185356 0.19 -0.44 pose: 0.43029773 -4.68588 -2.13965 0 -0.00147456 -0.00355234 0.73101 0.682356 uwb: 0.0 1109.81 1464.56 -imu_odom_: 1691062548.558531762 1.21147 0.148441 9.62708 -0.0511327 -0.0415453 -0.255663 0.19 -0.44 pose: 0.0 -4.68588 -2.13965 0 -0.00147456 -0.00355234 0.73101 0.682356 uwb: 0.0 1109.81 1464.56 -imu_odom_: 1691062548.575522549 1.35512 0.141258 9.94791 -0.0490022 -0.0138484 -0.378169 0.19 -0.44 pose: 0.0 -4.68588 -2.13965 0 -0.00147456 -0.00355234 0.73101 0.682356 uwb: 0.50099474 1108.57 1464.75 -imu_odom_: 1691062548.592476880 1.34554 0.344765 10.1011 -0.0596548 -0.0170442 -0.427171 0.1 -0.44 pose: 0.7017788 -4.68588 -2.13965 0 -0.000982825-0.00385542 0.730469 0.682934 uwb: 0.0 1108.57 1464.75 -imu_odom_: 1691062548.607471083 0.948104 0.059855 10.0102 -0.0798948 0.0255663 -0.420779 0.1 -0.44 pose: 0.0 -4.68588 -2.13965 0 -0.000982825-0.00385542 0.730469 0.682934 uwb: 0.0 1108.57 1464.75 -imu_odom_: 1691062548.623469119 0.852336 -0.466869 9.72285 -0.0628506 0.0170442 -0.46339 0.1 -0.44 pose: 0.67057305 -4.69028 -2.13067 0 0.00558651 -0.00578232 0.721755 0.692101 uwb: 0.0 1108.57 1464.75 -imu_odom_: 1691062548.638529526 0.751779 -0.141258 10.0556 -0.0543285 0.00106526 -0.477238 0.1 -0.44 pose: 0.0 -4.69028 -2.13067 0 0.00558651 -0.00578232 0.721755 0.692101 uwb: 0.49965026 1102.85 1465.83 -imu_odom_: 1691062548.655494064 0.651223 -0.21069 10.0628 -0.0628506 0.0298274 -0.441019 0.08 -0.47 pose: 0.0 -4.69028 -2.13067 0 0.00558651 -0.00578232 0.721755 0.692101 uwb: 0.0 1102.85 1465.83 -imu_odom_: 1691062548.671499100 0.608127 -0.189142 9.77553 -0.0575243 0.0138484 -0.456998 0.08 -0.47 pose: 0.31008280 -4.69028 -2.13067 0 0.00690028 -0.00750406 0.716407 0.697608 uwb: 0.0 1102.85 1465.83 -imu_odom_: 1691062548.687311943 0.972046 -0.071826 9.79707 -0.0543285 0.00745685 -0.498544 0.07 -0.55 pose: 0.41009568 -4.68125 -2.12626 0 0.00846971 -0.00672628 0.709287 0.704837 uwb: 0.50117848 1101.93 1465.55 -imu_odom_: 1691062548.703307063 0.713472 0.023942 9.90721 -0.0692422 0.00426106 -0.527306 0.07 -0.55 pose: 0.0 -4.68125 -2.12626 0 0.00846971 -0.00672628 0.709287 0.704837 uwb: 0.0 1101.93 1465.55 -imu_odom_: 1691062548.720301349 0.610521 0.220267 10.1131 -0.0660464 -0.0319579 -0.543285 0.07 -0.55 pose: 0.0 -4.68125 -2.12626 0 0.00846971 -0.00672628 0.709287 0.704837 uwb: 0.0 1101.93 1465.55 -imu_odom_: 1691062548.736311926 0.933739 -0.241814 9.95988 -0.0660464 -0.0234358 -0.539024 0.06 -0.58 pose: 0.6822679 -4.68129 -2.12628 0 0.00906685 -0.00698421 0.707985 0.706134 uwb: 0.50001190 1103.2 1465.51 -imu_odom_: 1691062548.752309087 0.718261 -0.354342 9.82341 -0.0671117 -0.0181095 -0.514523 0.08 -0.7 pose: 0.0 -4.68129 -2.12628 0 0.00906685 -0.00698421 0.707985 0.706134 uwb: 0.0 1103.2 1465.51 -imu_odom_: 1691062548.768310623 0.873884 -0.380678 9.84017 -0.0692422 -0.0415453 -0.455933 0.08 -0.7 pose: 0.0 -4.68129 -2.12628 0 0.00906685 -0.00698421 0.707985 0.706134 uwb: 0.0 1103.2 1465.51 -imu_odom_: 1691062548.785313366 0.857124 -0.385466 9.90002 -0.0692422 0.00852212 -0.388822 0.06 -0.5 pose: 0.64996560 -4.68573 -2.11732 0 0.012635 -0.00768866 0.694772 0.719078 uwb: 0.49868493 1102.33 1465.42 -imu_odom_: 1691062548.801364773 0.531513 -0.342371 9.79228 -0.056459 0.00958738 -0.343015 0.06 -0.5 pose: 0.0 -4.68573 -2.11732 0 0.012635 -0.00768866 0.694772 0.719078 uwb: 0.0 1102.33 1465.42 -imu_odom_: 1691062548.818305689 0.509965 -0.105345 9.88326 -0.0596548 -0.0127832 -0.314253 0.06 -0.5 pose: 0.31994031 -4.68573 -2.11732 0 0.0119461 -0.0109743 0.689043 0.724539 uwb: 0.0 1102.33 1465.42 -imu_odom_: 1691062548.834389176 0.483629 -0.0885855 9.83777 -0.0607201 -0.0127832 -0.28123 0.04 -0.32 pose: 0.42993319 -4.68569 -2.1173 0 0.00979598 -0.00986624 0.683105 0.730188 uwb: 0.49988067 1099.47 1465.94 -imu_odom_: 1691062548.851482912 0.641646 -0.356736 10.0197 -0.0585895 -0.0117179 -0.245011 0.04 -0.32 pose: 0.8002080 -4.68573 -2.11732 0 0.00966069 -0.00910774 0.682168 0.731074 uwb: 0.0 1099.47 1465.94 -imu_odom_: 1691062548.868421786 0.663194 -0.347159 9.76595 -0.0585895 -0.00426106 -0.225836 0.04 -0.32 pose: 0.0 -4.68573 -2.11732 0 0.00966069 -0.00910774 0.682168 0.731074 uwb: 0.0 1099.47 1465.94 -imu_odom_: 1691062548.884289458 0.584185 -0.217872 9.95509 -0.056459 -0.00532632 -0.201335 0.03 -0.26 pose: 0.42114017 -4.68573 -2.11732 0 0.00717518 -0.0107815 0.677816 0.735118 uwb: 0.50077309 1100.63 1465.38 -imu_odom_: 1691062548.900441190 0.577003 -0.191536 9.87608 -0.0617853 0.00426106 -0.175769 0.03 -0.2 pose: 0.0 -4.68573 -2.11732 0 0.00717518 -0.0107815 0.677816 0.735118 uwb: 0.0 1100.63 1465.38 -imu_odom_: 1691062548.917471348 0.636858 -0.244209 9.83538 -0.0553937 -0.00532632 -0.162985 0.03 -0.2 pose: 0.0 -4.68573 -2.11732 0 0.00717518 -0.0107815 0.677816 0.735118 uwb: 0.0 1100.63 1465.38 -imu_odom_: 1691062548.934317188 0.656011 -0.208296 9.84496 -0.052198 -0.00319579 -0.160855 0.04 -0.23 pose: 0.22884585 -4.68573 -2.11732 0 0.00677285 -0.00853349 0.67586 0.736949 uwb: 0.50057186 1097.72 1465.71 -imu_odom_: 1691062548.950419632 0.586579 -0.21069 9.82102 -0.0628506 -0.00106526 -0.140615 0.04 -0.23 pose: 0.0 -4.68573 -2.11732 0 0.00677285 -0.00853349 0.67586 0.736949 uwb: 0.0 1097.72 1465.71 -imu_odom_: 1691062548.967354715 0.447716 -0.203507 9.97185 -0.0543285 -0.00319579 -0.135289 0.04 -0.23 pose: 0.34123311 -4.68573 -2.11732 0 0.00776341 -0.00931168 0.67326 0.739306 uwb: 0.0 1097.72 1465.71 -imu_odom_: 1691062548.984312837 0.624887 -0.244209 9.94073 -0.0585895 -0.0234358 -0.122505 0.02 -0.14 pose: 0.41925033 -4.69021 -2.10838 0 0.00649494 -0.00679458 0.670442 0.741903 uwb: 0.49863827 1096.45 1465.69 -imu_odom_: 1691062549.322539 0.787692 -0.25618 9.8665 -0.0607201 -0.0106526 -0.0990696 0.02 -0.14 pose: 0.8002372 -4.69021 -2.10838 0 0.00652698 -0.00765612 0.66996 0.742329 uwb: 0.0 1096.45 1465.69 -imu_odom_: 1691062549.27296537 0.68953 -0.208296 10.0102 -0.0511327 0.036219 -0.0841559 0.01 -0.14 pose: 0.24965452 -4.69021 -2.10838 0 0.00747421 -0.010006 0.668582 0.743533 uwb: 0.50055732 1094.78 1465.84 -imu_odom_: 1691062549.43343572 0.600945 -0.237026 9.84017 -0.0511327 0.015979 -0.0713727 0.01 -0.14 pose: 0.0 -4.69021 -2.10838 0 0.00747421 -0.010006 0.668582 0.743533 uwb: 0.0 1094.78 1465.84 -imu_odom_: 1691062549.60292366 0.663194 -0.23942 10.0556 -0.0628506 -0.0149137 -0.0447411 0.01 -0.02 pose: 0.0 -4.69021 -2.10838 0 0.00747421 -0.010006 0.668582 0.743533 uwb: 0.0 1094.78 1465.84 -imu_odom_: 1691062549.76402104 0.711078 -0.253785 9.85453 -0.0575243 -0.0106526 -0.0255663 0.01 -0.02 pose: 0.50090151 -4.69021 -2.10838 0 0.00802879 -0.0100131 0.666448 0.745441 uwb: 0.0 1094.78 1465.84 -imu_odom_: 1691062549.93435474 0.246603 -0.189142 9.68694 -0.0415453 0.0436758 0.0500674 0.02 0.14 pose: 0.0 -4.69021 -2.10838 0 0.00802879 -0.0100131 0.666448 0.745441 uwb: 0.0 1094.78 1465.84 -imu_odom_: 1691062549.110335855 -0.110133 -0.61531 10.0389 -0.056459 0.0234358 0.207727 0.02 0.14 pose: 0.0 -4.69021 -2.10838 0 0.00802879 -0.0100131 0.666448 0.745441 uwb: 0.0 1094.78 1465.84 -imu_odom_: 1691062549.126333603 0.146046 -0.842759 9.92636 -0.0617853 -0.0415453 0.285491 0.02 0.14 pose: 0.34035534 -4.69021 -2.10838 0 0.00804094 -0.0115602 0.665775 0.746019 uwb: 0.100046148 1094.71 1465.52 -imu_odom_: 1691062549.143334892 0.624887 -0.0981623 9.87369 -0.0340885 -0.02024 0.28336 0.01 0.2 pose: 0.41885379 -4.69016 -2.10836 0 0.0042454 -0.0101494 0.668381 0.743738 uwb: 0.0 1094.71 1465.52 -imu_odom_: 1691062549.159396509 0.61531 0.225055 9.97185 -0.0553937 0.00532632 0.315318 0.01 0.2 pose: 0.7074951 -4.69021 -2.10838 0 0.00490202 -0.00972753 0.669018 0.743167 uwb: 0.0 1094.71 1465.52 -imu_odom_: 1691062549.176333637 0.454898 -0.260968 9.83777 -0.0628506 0 0.309992 0.01 0.2 pose: 0.0 -4.69021 -2.10838 0 0.00490202 -0.00972753 0.669018 0.743167 uwb: 0.49853047 1092.65 1465.79 -imu_odom_: 1691062549.193283306 0.320823 -0.222661 9.89763 -0.0447411 0.00106526 0.287621 0.02 0.29 pose: 0.42925083 -4.69021 -2.10838 0 0.00543119 -0.00713505 0.67325 0.739361 uwb: 0.0 1092.65 1465.79 -imu_odom_: 1691062549.218388751 0.371101 -0.248997 9.91918 -0.0628506 -0.00426106 0.339819 0.02 0.29 pose: 0.0 -4.69021 -2.10838 0 0.00543119 -0.00713505 0.67325 0.739361 uwb: 0.0 1092.65 1465.79 -imu_odom_: 1691062549.233254927 0.287304 -0.222661 9.68455 -0.0490022 0.0181095 0.356864 0.02 0.29 pose: 0.23975624 -4.68124 -2.10397 0 0.00378839 -0.00533114 0.675595 0.737244 uwb: 0.49905251 1089.77 1466.18 -imu_odom_: 1691062549.249252383 -0.469264 -0.232238 9.67976 -0.0660464 0.0884169 0.376038 0.05 0.41 pose: 0.0 -4.68124 -2.10397 0 0.00378839 -0.00533114 0.675595 0.737244 uwb: 0.0 1089.77 1466.18 -imu_odom_: 1691062549.264322417 -0.952892 -0.301669 10.3262 -0.0458064 0.0490022 0.329167 0.05 0.41 pose: 0.0 -4.68124 -2.10397 0 0.00378839 -0.00533114 0.675595 0.737244 uwb: 0.0 1089.77 1466.18 -imu_odom_: 1691062549.281266544 -0.916979 0.117316 9.67736 -0.0575243 -0.0372843 0.273773 0.05 0.41 pose: 0.39952373 -4.68124 -2.10396 0 0.000600471 -0.00217669 0.680206 0.733017 uwb: 0.50122816 1089.31 1465.96 -imu_odom_: 1691062549.297482441 -0.158017 0.248997 9.94791 -0.0681769 -0.0585895 0.257794 0.06 0.26 pose: 0.31096654 -4.68124 -2.10396 0 -0.00188981 0.000688265 0.683514 0.729935 uwb: 0.0 1089.31 1465.96 -imu_odom_: 1691062549.314479355 0.316035 -0.292093 10.1083 -0.0490022 -0.0149137 0.231162 0.06 0.26 pose: 0.0 -4.68124 -2.10396 0 -0.00188981 0.000688265 0.683514 0.729935 uwb: 0.0 1089.31 1465.96 -imu_odom_: 1691062549.331422607 0.438139 -0.512359 10.0772 -0.0553937 0.0106526 0.206661 0.08 0.2 pose: 0.0 -4.68124 -2.10396 0 -0.00188981 0.000688265 0.683514 0.729935 uwb: 0.50089277 1086.37 1465.99 -imu_odom_: 1691062549.348342528 0.141258 -0.378284 10.0628 -0.0500674 -0.0266316 0.224771 0.08 0.2 pose: 0.43121067 -4.68349 -2.09915 0 -0.00339716 0.00180664 0.68683 0.726808 uwb: 0.0 1086.37 1465.99 -imu_odom_: 1691062549.364590214 0.0574608 -0.208296 9.52413 -0.0585895 -0.00532632 0.223706 0.08 0.2 pose: 0.0 -4.68349 -2.09915 0 -0.00339716 0.00180664 0.68683 0.726808 uwb: 0.0 1086.37 1465.99 -imu_odom_: 1691062549.381382979 0.426168 -0.263362 9.66779 -0.0330232 -0.015979 0.197074 0.12 0.17 pose: 0.7955128 -4.68562 -2.09498 0 -0.0037749 0.00113062 0.68731 0.726354 uwb: 0.50011991 1085.93 1465.88 -imu_odom_: 1691062549.398369977 0.402226 -0.117316 10.1011 -0.052198 -0.0213053 0.170442 0.12 0.17 pose: 0.0 -4.68562 -2.09498 0 -0.0037749 0.00113062 0.68731 0.726354 uwb: 0.0 1085.93 1465.88 -imu_odom_: 1691062549.413248693 0.292093 0.0143652 9.39724 -0.0468716 0.00213053 0.171508 0.12 0.17 pose: 0.0 -4.68562 -2.09498 0 -0.0037749 0.00113062 0.68731 0.726354 uwb: 0.0 1085.93 1465.88 -imu_odom_: 1691062549.428378222 0.169988 -0.229843 10.082 -0.052198 0.02024 0.178964 0.11 0.14 pose: 0.49115775 -4.68562 -2.09498 0 -0.00581803 0.00177597 0.690467 0.723339 uwb: 0.50126316 1082.62 1466.14 -imu_odom_: 1691062549.445258480 -0.0167594 -0.301669 9.91199 -0.0479369 0 0.171508 0.15 0.17 pose: 0.0 -4.68562 -2.09498 0 -0.00581803 0.00177597 0.690467 0.723339 uwb: 0.0 1082.62 1466.14 -imu_odom_: 1691062549.462276976 0.110133 -0.366313 9.96946 -0.0479369 0 0.151268 0.15 0.17 pose: 0.63832629 -4.69004 -2.08601 0 -0.0042102 0.00430082 0.693634 0.720302 uwb: 0.0 1082.62 1466.14 -imu_odom_: 1691062549.478253142 0.220267 -0.129287 10.2735 -0.0490022 -0.00426106 0.145941 0.12 0.14 pose: 0.0 -4.69004 -2.08601 0 -0.0042102 0.00430082 0.693634 0.720302 uwb: 0.49725307 1083.03 1466.1 -imu_odom_: 1691062549.494338966 0.703895 0.0143652 10.0437 -0.0436758 -0.076699 0.154463 0.12 0.14 pose: 0.0 -4.69004 -2.08601 0 -0.0042102 0.00430082 0.693634 0.720302 uwb: 0.0 1083.03 1466.1 -imu_odom_: 1691062549.511255970 1.25456 -0.071826 9.70131 -0.0607201 -0.0351537 0.169377 0.12 0.14 pose: 0.33887963 -4.68108 -2.08157 0 -0.00627206 0.00556519 0.695039 0.718923 uwb: 0.0 1083.03 1466.1 -imu_odom_: 1691062549.528250260 1.29526 -0.21069 9.76355 -0.0532632 0 0.185356 0.12 0.08 pose: 0.41985120 -4.68108 -2.08157 0 -0.00222926 0.00410749 0.696862 0.71719 uwb: 0.50091027 1080.91 1465.97 -imu_odom_: 1691062549.545369956 1.21147 -0.399832 9.52892 -0.052198 -0.0575243 0.176834 0.12 0.08 pose: 0.7059786 -4.68108 -2.08157 0 -0.00175098 0.00360817 0.697234 0.716832 uwb: 0.0 1080.91 1465.97 -imu_odom_: 1691062549.562362787 1.69988 -0.0981623 10.0963 -0.0447411 -0.0266316 0.153398 0.12 0.08 pose: 0.0 -4.68108 -2.08157 0 -0.00175098 0.00360817 0.697234 0.716832 uwb: 0.0 1080.91 1465.97 -imu_odom_: 1691062549.578287042 1.13485 -0.0023942 9.71328 -0.0607201 0.052198 0.148072 0.07 0.05 pose: 0.44047031 -4.68552 -2.07261 0 0.00161124 -7.26298e-050.699292 0.714834 uwb: 0.50027741 1081.69 1465.64 -imu_odom_: 1691062549.595356575 0.59855 -0.124498 9.95509 -0.0500674 0.0308927 0.109722 0.09 0.05 pose: 0.0 -4.68552 -2.07261 0 0.00161124 -7.26298e-050.699292 0.714834 uwb: 0.0 1081.69 1465.64 -imu_odom_: 1691062549.612358156 0.392649 -0.143652 9.81383 -0.0500674 -0.00958738 0.052198 0.09 0.05 pose: 0.0 -4.68552 -2.07261 0 0.00161124 -7.26298e-050.699292 0.714834 uwb: 0.0 1081.69 1465.64 -imu_odom_: 1691062549.627371902 0.766145 0.153229 9.9934 -0.0511327 -0.0223706 0.0426106 0.06 0.11 pose: 0.22931836 -4.68552 -2.07261 0 0.00320907 -0.0007716040.700084 0.714053 uwb: 0.50010825 1080.85 1465.6 -imu_odom_: 1691062549.643294990 0.672771 -0.337582 9.73243 -0.0671117 0.00532632 0.0681769 0.06 0.11 pose: 0.0 -4.68552 -2.07261 0 0.00320907 -0.0007716040.700084 0.714053 uwb: 0.0 1080.85 1465.6 -imu_odom_: 1691062549.659255408 0.612916 -0.435745 9.90242 -0.0553937 0.00745685 0.0585895 0.06 0.11 pose: 0.0 -4.68552 -2.07261 0 0.00320907 -0.0007716040.700084 0.714053 uwb: 0.0 1080.85 1465.6 -imu_odom_: 1691062549.676515675 0.536301 -0.11971 9.73004 -0.0490022 0.00745685 0.0809601 0.04 0.05 pose: 0.73960785 -4.68548 -2.07259 0 0.00428475 -0.00262423 0.700703 0.713436 uwb: 0.50009659 1082.48 1465.31 -imu_odom_: 1691062549.693390100 0.533907 -0.25618 10.0748 -0.0596548 0.00426106 0.122505 0.04 0.05 pose: 0.7139404 -4.68552 -2.07261 0 0.00496014 -0.00238689 0.700805 0.713332 uwb: 0.0 1082.48 1465.31 -imu_odom_: 1691062549.720386263 0.701501 -0.0885855 9.85453 -0.0511327 -0.0106526 0.103331 0.05 0.05 pose: 0.26995288 -4.68782 -2.06784 0 0.00488704 -0.0034213 0.701456 0.712688 uwb: 0.0 1082.48 1465.31 -imu_odom_: 1691062549.745340346 -0.102951 -0.215478 9.56962 -0.0639159 0.076699 0.117179 0.03 0.08 pose: 0.0 -4.68782 -2.06784 0 0.00488704 -0.0034213 0.701456 0.712688 uwb: 0.49866462 1083.7 1465.14 -imu_odom_: 1691062549.762341927 -1.06063 -0.337582 10.2615 -0.0639159 0.0735032 0.118244 0.06 0.05 pose: 0.0 -4.68782 -2.06784 0 0.00488704 -0.0034213 0.701456 0.712688 uwb: 0.0 1083.7 1465.14 -imu_odom_: 1691062549.788342132 -0.718261 -0.222661 9.69173 -0.0575243 -0.0713727 0.0958738 0.06 0.05 pose: 0.51950246 -4.68089 -2.05924 0 0.00491996 -0.00189477 0.702755 0.711413 uwb: 0.50007034 1082.94 1465.56 -imu_odom_: 1691062549.814288966 0.543484 -0.215478 9.25359 -0.0553937 -0.0458064 0.0948085 0.11 0.05 pose: 0.24925211 -4.68089 -2.05924 0 0.00268811 -5.68813e-050.703394 0.710796 uwb: 0.0 1082.94 1465.56 -imu_odom_: 1691062549.840250090 0.11971 -0.31364 9.75158 -0.0490022 0.00852212 0.0830906 0.1 0.02 pose: 0.44023409 -4.68085 -2.05922 0 0.0034599 -0.00190337 0.704261 0.70993 uwb: 0.49881628 1080.53 1466.15 -imu_odom_: 1691062549.866288208 -0.332794 -0.167594 10.0078 -0.0351537 -0.0351537 0.0873517 0.13 0.05 pose: 0.7004957 -4.68089 -2.05924 0 0.00281722 -0.00154331 0.704371 0.709825 uwb: 0.0 1080.53 1466.15 -imu_odom_: 1691062549.891330660 0.744597 -0.280122 10.1323 -0.0372843 -0.0127832 0.0788296 0.11 0.05 pose: 0.44994285 -4.68407 -2.05265 0 -0.0001880020.00127226 0.705108 0.709099 uwb: 0.49995368 1082.51 1465.5 -imu_odom_: 1691062549.909349489 0.399832 0 9.5792 -0.0372843 0.0276969 0.0798948 0.11 0.05 pose: 0.0 -4.68407 -2.05265 0 -0.0001880020.00127226 0.705108 0.709099 uwb: 0.0 1082.51 1465.5 -imu_odom_: 1691062549.926277576 0.0287304 -0.268151 9.50498 -0.052198 -0.00319579 0.106526 0.11 0.05 pose: 0.43061281 -4.68524 -2.05023 0 0.00236688 0.00100952 0.705711 0.708496 uwb: 0.50113775 1079.64 1465.88 -imu_odom_: 1691062549.949251991 0.464475 -0.0957681 9.56962 -0.0372843 -0.0372843 0.0798948 0.12 0.05 pose: 0.0 -4.68524 -2.05023 0 0.00236688 0.00100952 0.705711 0.708496 uwb: 0.0 1079.64 1465.88 -imu_odom_: 1691062549.974249529 0.361524 -0.167594 9.99819 -0.0436758 0.0340885 0.0916127 0.12 0.05 pose: 0.39902502 -4.68197 -2.04074 0 0.0036419 0.00187683 0.706436 0.707765 uwb: 0.50040572 1077.62 1466.29 -imu_odom_: 1691062550.247984 -0.0981623 -0.399832 10.1011 -0.0436758 0.0266316 0.0692422 0.17 0.02 pose: 0.0 -4.68197 -2.04074 0 0.0036419 0.00187683 0.706436 0.707765 uwb: 0.0 1077.62 1466.29 -imu_odom_: 1691062550.26212905 0.52433 -0.158017 9.93354 -0.0607201 0.0213053 0.104396 0.14 0.02 pose: 0.50995993 -4.68065 -2.03686 0 -0.00159066 0.00437033 0.707158 0.707041 uwb: 0.50055743 1075.64 1467.02 -imu_odom_: 1691062550.52474426 0.562637 -0.272939 9.97664 -0.0671117 0.00106526 0.0852212 0.14 0.02 pose: 0.0 -4.68065 -2.03686 0 -0.00159066 0.00437033 0.707158 0.707041 uwb: 0.0 1075.64 1467.02 -imu_odom_: 1691062550.77210950 0.442927 -0.124498 10.0628 -0.0543285 0.00319579 0.0820254 0.15 0.05 pose: 0.33022083 -4.68507 -2.02789 0 0.000298999 0.00220193 0.707878 0.706332 uwb: 0.49865890 1074.85 1467.27 -imu_odom_: 1691062550.103349690 -0.0670376 -0.162806 9.68455 -0.0575243 0.00426106 0.0745685 0.15 0.05 pose: 0.26120950 -4.68507 -2.02789 0 0.00141619 0.000599311 0.708293 0.705917 uwb: 0.0 1074.85 1467.27 -imu_odom_: 1691062550.120262324 0.433351 -0.0311246 10.3358 -0.0479369 -0.0255663 0.0681769 0.15 0.05 pose: 0.0 -4.68507 -2.02789 0 0.00141619 0.000599311 0.708293 0.705917 uwb: 0.0 1074.85 1467.27 -imu_odom_: 1691062550.146249701 0.538695 0 9.87848 -0.0617853 -0.0287621 0.0745685 0.15 0.05 pose: 0.25829891 -4.68507 -2.02789 0 0.00243752 0.00186446 0.708655 0.705548 uwb: 0.49953674 1072.78 1467.4 -imu_odom_: 1691062550.172192749 -0.00718261-0.184354 9.80186 -0.0671117 -0.0330232 0.072438 0.16 0.02 pose: 0.0 -4.68507 -2.02789 0 0.00243752 0.00186446 0.708655 0.705548 uwb: 0.0 1072.78 1467.4 -imu_odom_: 1691062550.189208333 0.610521 -0.0263362 10.3597 -0.0649811 0.00213053 0.0703074 0.16 0.02 pose: 0.42019251 -4.68044 -2.01453 0 0.00358306 0.00350131 0.70913 0.70506 uwb: 0.49916635 1071.16 1467.75 -imu_odom_: 1691062550.215188419 0.663194 -0.0191536 10.2975 -0.0639159 0.00213053 0.0500674 0.16 0.02 pose: 0.0 -4.68044 -2.01453 0 0.00358306 0.00350131 0.70913 0.70506 uwb: 0.0 1071.16 1467.75 -imu_odom_: 1691062550.241196212 0.622492 -0.0670376 9.94551 -0.0713727 -0.0181095 0.0617853 0.21 0.02 pose: 0.52150033 -4.68483 -2.00554 0 0.0042045 0.00388819 0.709735 0.704445 uwb: 0.50000628 1072.79 1467.47 -imu_odom_: 1691062550.267184173 0.533907 -0.23942 9.34217 -0.0639159 -0.00958738 0.052198 0.17 0.02 pose: 0.0 -4.68483 -2.00554 0 0.0042045 0.00388819 0.709735 0.704445 uwb: 0.0 1072.79 1467.47 -imu_odom_: 1691062550.284198007 0.234632 -0.0885855 10.2951 -0.056459 -0.00319579 0.052198 0.17 0.02 pose: 0.42807852 -4.68483 -2.00554 0 0.00774791 0.00171844 0.709998 0.704159 uwb: 0.50135950 1073.21 1467.5 -imu_odom_: 1691062550.310257420 0.110133 -0.296881 9.80665 -0.0543285 0.0308927 0.052198 0.2 0.02 pose: 0.0 -4.68483 -2.00554 0 0.00774791 0.00171844 0.709998 0.704159 uwb: 0.0 1073.21 1467.5 -imu_odom_: 1691062550.336333749 -0.205901 -0.102951 10.0628 -0.0383495 0.0585895 0.0458064 0.21 0 pose: 0.52019377 -4.68025 -1.99216 0 0.00711898 -0.00124452 0.710314 0.703848 uwb: 0.50129243 1071.62 1467.99 -imu_odom_: 1691062550.361274422 0.418985 -0.143652 10.6398 -0.0543285 0.00213053 0.0532632 0.21 0 pose: 0.62116328 -4.68466 -1.98318 0 0.00162777 0.00354963 0.710534 0.703652 uwb: 0.0 1071.62 1467.99 -imu_odom_: 1691062550.387286589 0.153229 0.011971 9.61272 -0.0468716 0.00852212 0.0490022 0.2 0 pose: 0.0 -4.68466 -1.98318 0 0.00162777 0.00354963 0.710534 0.703652 uwb: 0.49959215 1069.59 1468.43 -imu_odom_: 1691062550.404226929 0.318429 -0.390255 10.1083 -0.0617853 -0.0170442 0.0553937 0.2 0 pose: 0.8003250 -4.68466 -1.98318 0 0.00209803 0.00293237 0.710576 0.703611 uwb: 0.0 1069.59 1468.43 -imu_odom_: 1691062550.429230888 0.76375 -0.114922 9.73722 -0.052198 -0.0330232 0.052198 0.23 0 pose: 0.0 -4.68466 -1.98318 0 0.00209803 0.00293237 0.710576 0.703611 uwb: 0.49986630 1070.08 1468.88 -imu_odom_: 1691062550.451159188 0.363919 -0.155623 10.2807 -0.0681769 0.0223706 0.0703074 0.23 0 pose: 0.49860932 -4.6801 -1.96979 0 0.00185532 0.00392136 0.710777 0.703404 uwb: 0.0 1070.08 1468.88 -imu_odom_: 1691062550.477162022 0.486023 -0.198719 9.89763 -0.04048 0.0319579 0.0319579 0.18 0.02 pose: 0.0 -4.6801 -1.96979 0 0.00185532 0.00392136 0.710777 0.703404 uwb: 0.49960964 1069.24 1468.89 -imu_odom_: 1691062550.494164482 0.177171 -0.0454898 9.991 -0.0596548 -0.0234358 0.0585895 0.18 0.02 pose: 0.41051581 -4.68453 -1.96082 0 0.00270311 0.00189566 0.711013 0.703171 uwb: 0.0 1069.24 1468.89 -imu_odom_: 1691062550.520158276 0.411803 0.0263362 10.5082 -0.0585895 -0.0553937 0.0394148 0.19 0 pose: 0.0 -4.68453 -1.96082 0 0.00270311 0.00189566 0.711013 0.703171 uwb: 0.0 1069.24 1468.89 -imu_odom_: 1691062550.546167818 0.464475 -0.131681 10.4674 -0.0617853 -0.0308927 0.0585895 0.19 0 pose: 0.48918635 -4.68896 -1.95186 0 0.00189004 0.00161737 0.711165 0.703021 uwb: 0.49932968 1068.84 1469.04 -imu_odom_: 1691062550.571157779 0.713472 -0.1652 10.0365 -0.0426106 0.0127832 0.0340885 0.18 0.02 pose: 0.0 -4.68896 -1.95186 0 0.00189004 0.00161737 0.711165 0.703021 uwb: 0.0 1068.84 1469.04 -imu_odom_: 1691062550.588154697 0.354342 -0.237026 9.96706 -0.0543285 -0.0255663 0.0617853 0.18 0.02 pose: 0.43049041 -4.67999 -1.94743 0 0.00435755 0.0028591 0.71127 0.702899 uwb: 0.49980505 1069.26 1469.05 -imu_odom_: 1691062550.606170614 0.260968 -0.402226 9.84017 -0.0170442 0.0276969 0.0330232 0.19 0 pose: 0.0 -4.67999 -1.94743 0 0.00435755 0.0028591 0.71127 0.702899 uwb: 0.0 1069.26 1469.05 -imu_odom_: 1691062550.630159949 0.47884 0.035913 9.9503 -0.0490022 0.00639159 0.0639159 0.19 0 pose: 0.51962215 -4.68443 -1.93846 0 0.00579193 -0.0007891610.711423 0.70274 uwb: 0.50130992 1068.46 1469.26 -imu_odom_: 1691062550.656218488 0.509965 -0.241814 10.1131 -0.056459 -0.0223706 0.0468716 0.18 0 pose: 0.0 -4.68443 -1.93846 0 0.00579193 -0.0007891610.711423 0.70274 uwb: 0.0 1068.46 1469.26 -imu_odom_: 1691062550.672218281 0.158017 -0.272939 9.56244 -0.0532632 0.0468716 0.0628506 0.18 0 pose: 0.77039085 -4.6799 -1.92506 0 0.00432237 -0.00132913 0.711734 0.702435 uwb: 0.0 1068.46 1469.26 -imu_odom_: 1691062550.699148247 0.162806 -0.263362 9.85214 -0.0511327 0.0340885 0.0394148 0.18 -0.02 pose: 0.6943130 -4.6799 -1.92506 0 0.00358536 -0.0008767330.711793 0.70238 uwb: 0.49993046 1069.7 1469.22 -imu_odom_: 1691062550.724144915 0.270545 -0.323217 9.71806 -0.0830906 0.0319579 0.0607201 0.2 0 pose: 0.35986629 -4.68435 -1.91611 0 -7.0166e-05 0.00140578 0.711868 0.702312 uwb: 0.49742233 1066.42 1469.65 -imu_odom_: 1691062550.741208328 -0.0981623 -0.371101 9.83299 -0.0745685 0.0223706 0.0532632 0.2 0 pose: 0.0 -4.68435 -1.91611 0 -7.0166e-05 0.00140578 0.711868 0.702312 uwb: 0.0 1066.42 1469.65 -imu_odom_: 1691062550.766143168 0.342371 -0.0047884 10.5896 -0.0511327 -0.0138484 0.0372843 0.18 0 pose: 0.42060081 -4.68382 -1.90467 0 -0.00491802 0.00215425 0.712125 0.702032 uwb: 0.0 1066.42 1469.65 -imu_odom_: 1691062550.793167626 0.507571 -0.0622492 10.137 -0.0639159 -0.00745685 0.04048 0.18 0 pose: 0.0 -4.68382 -1.90467 0 -0.00491802 0.00215425 0.712125 0.702032 uwb: 0.50005003 1067.61 1469.22 -imu_odom_: 1691062550.818161087 0.107739 -0.122104 10.2927 -0.0575243 -0.0213053 0.0490022 0.2 0 pose: 0.51959298 -4.68303 -1.8963 0 -0.0001393450.00303249 0.712134 0.702037 uwb: 0.0 1067.61 1469.22 -imu_odom_: 1691062550.845315034 0.486023 -0.294487 9.83299 -0.0543285 0.0245011 0.0351537 0.2 0 pose: 0.0 -4.68303 -1.8963 0 -0.0001393450.00303249 0.712134 0.702037 uwb: 0.0 1067.61 1469.22 -imu_odom_: 1691062550.861459190 0.500388 -0.102951 9.95748 -0.0511327 -0.0117179 0.0383495 0.2 -0.02 pose: 0.32038666 -4.68431 -1.89375 0 -0.00137236 0.00431162 0.712199 0.701963 uwb: 0.0 1067.61 1469.22 -imu_odom_: 1691062550.888150009 1.02951 -0.205901 10.1418 -0.0415453 -0.0234358 0.04048 0.2 -0.02 pose: 0.36252898 -4.68876 -1.88479 0 0.000359212 0.00215968 0.712168 0.702006 uwb: 0.100115580 1067.59 1469.06 -imu_odom_: 1691062550.913152802 0.881066 -0.138864 10.058 -0.056459 -0.00958738 0.04048 0.19 0 pose: 0.0 -4.68876 -1.88479 0 0.000359212 0.00215968 0.712168 0.702006 uwb: 0.0 1067.59 1469.06 -imu_odom_: 1691062550.940220715 0.395043 -0.407014 9.31105 -0.0607201 0.00639159 0.052198 0.23 -0.02 pose: 0.6688526 -4.68876 -1.88479 0 0.000894274 0.00165806 0.712171 0.702003 uwb: 0.49901470 1067.19 1469.23 -imu_odom_: 1691062550.956138848 -0.172383 -0.356736 9.98382 -0.0479369 -0.00106526 0.04048 0.19 0 pose: 0.0 -4.68876 -1.88479 0 0.000894274 0.00165806 0.712171 0.702003 uwb: 0.0 1067.19 1469.23 -imu_odom_: 1691062550.983123059 0.203507 -0.0263362 10.1562 -0.0479369 0.00639159 0.04048 0.19 0 pose: 0.52124952 -4.68427 -1.87138 0 0.00377506 -0.00178295 0.712219 0.701945 uwb: 0.50012586 1064.33 1469.71 -imu_odom_: 1691062551.8244552 0.842759 -0.23942 10.0293 -0.0671117 0.0127832 0.0436758 0.23 0 pose: 0.0 -4.68427 -1.87138 0 0.00377506 -0.00178295 0.712219 0.701945 uwb: 0.0 1064.33 1469.71 -imu_odom_: 1691062551.35129611 0.395043 -0.0550666 10.252 -0.036219 0.0298274 0.04048 0.23 0 pose: 0.42899719 -4.68873 -1.86243 0 0.000482727 -0.0009167990.712326 0.701848 uwb: 0.50013465 1063.92 1469.69 -imu_odom_: 1691062551.61196904 0.21069 -0.320823 9.85932 -0.0372843 -0.0245011 0.0266316 0.23 0 pose: 0.51947344 -4.67978 -1.85797 0 0.00196157 4.19056e-05 0.71237 0.701801 uwb: 0.0 1063.92 1469.69 -imu_odom_: 1691062551.87117501 0.634463 -0.462081 10.0604 -0.0458064 -0.0287621 0.0628506 0.25 0.02 pose: 0.0 -4.67978 -1.85797 0 0.00196157 4.19056e-05 0.71237 0.701801 uwb: 0.50000638 1065.55 1469.4 -imu_odom_: 1691062551.112390069 0.543484 -0.126893 9.98861 -0.036219 -0.015979 0.0394148 0.25 0.02 pose: 0.53139878 -4.68424 -1.84902 0 0.000606627 0.00158487 0.712309 0.701864 uwb: 0.0 1065.55 1469.4 -imu_odom_: 1691062551.129279082 0.586579 0.023942 9.82341 -0.0426106 -0.0383495 0.0500674 0.19 0 pose: 0.0 -4.68424 -1.84902 0 0.000606627 0.00158487 0.712309 0.701864 uwb: 0.50112046 1067.6 1469.15 -imu_odom_: 1691062551.155179265 0.509965 -0.0383072 9.77792 -0.0426106 -0.0308927 0.0340885 0.19 0 pose: 0.61019473 -4.68223 -1.83066 0 0.00541559 -0.0005247180.712512 0.701639 uwb: 0.0 1067.6 1469.15 -imu_odom_: 1691062551.182114194 0.579397 -0.263362 9.77313 -0.0703074 -0.0191748 0.0681769 0.25 0 pose: 0.8053998 -4.68422 -1.82666 0 0.00620731 -0.0001293990.712491 0.701653 uwb: 0.49995973 1065.99 1469.62 -imu_odom_: 1691062551.207186112 0.263362 -0.366313 9.77553 -0.0596548 0.0127832 0.04048 0.18 0 pose: 0.44781114 -4.68422 -1.82666 0 0.00704914 -0.00207524 0.712729 0.701401 uwb: 0.0 1065.99 1469.62 -imu_odom_: 1691062551.234109667 0.919373 -0.131681 9.89045 -0.0596548 -0.0468716 0.0394148 0.23 0 pose: 0.0 -4.68422 -1.82666 0 0.00704914 -0.00207524 0.712729 0.701401 uwb: 0.49678665 1065.18 1469.76 -imu_odom_: 1691062551.250173333 0.76375 -0.011971 10.1394 -0.0553937 0.0170442 0.0426106 0.23 0 pose: 0.32075419 -4.68869 -1.81772 0 0.00500501 -0.00229421 0.712748 0.701398 uwb: 0.0 1065.18 1469.76 -imu_odom_: 1691062551.277168049 0.56982 -0.205901 10.422 -0.0713727 0.00532632 0.0607201 0.19 0 pose: 0.0 -4.68869 -1.81772 0 0.00500501 -0.00229421 0.712748 0.701398 uwb: 0.50134211 1065.2 1469.94 -imu_odom_: 1691062551.302330084 0.536301 -0.0837971 10.0006 -0.0692422 0.00213053 0.0436758 0.19 0 pose: 0.42948141 -4.68422 -1.8043 0 0.00766706 -0.00432045 0.712801 0.701311 uwb: 0.0 1065.2 1469.94 -imu_odom_: 1691062551.319257012 0.430956 -0.287304 9.68215 -0.0692422 0.00958738 0.0447411 0.19 0 pose: 0.0 -4.68422 -1.8043 0 0.00766706 -0.00432045 0.712801 0.701311 uwb: 0.0 1065.2 1469.94 -imu_odom_: 1691062551.344095615 0.440533 -0.158017 9.81862 -0.0585895 -0.00958738 0.0436758 0.18 0.02 pose: 0.52168709 -4.68422 -1.8043 0 0.00625141 -0.00345255 0.713004 0.701123 uwb: 0.0 1065.2 1469.94 -imu_odom_: 1691062551.370098164 0.565032 -0.268151 9.84496 -0.072438 0.0276969 0.0436758 0.18 0.02 pose: 0.0 -4.68422 -1.8043 0 0.00625141 -0.00345255 0.713004 0.701123 uwb: 0.0 1065.2 1469.94 -imu_odom_: 1691062551.395081714 0.553061 -0.280122 9.44273 -0.0596548 0.0138484 0.0436758 0.19 0 pose: 0.34789152 -4.6887 -1.79536 0 0.0042292 -0.00126501 0.713065 0.701084 uwb: 0.100139808 1065.62 1469.93 -imu_odom_: 1691062551.419135799 0.40462 -0.497994 9.59835 -0.0500674 0.04048 0.0330232 0.19 0 pose: 0.7030625 -4.6887 -1.79536 0 0.00408286 -0.00193182 0.713077 0.701071 uwb: 0.0 1065.62 1469.93 -imu_odom_: 1691062551.434078100 0.0430956 -0.325611 9.97424 -0.0340885 0.0149137 0.0372843 0.18 0 pose: 0.0 -4.6887 -1.79536 0 0.00408286 -0.00193182 0.713077 0.701071 uwb: 0.49823028 1068.12 1469.79 -imu_odom_: 1691062551.458143268 0.344765 -0.191536 10.3142 -0.0532632 0.0138484 0.0458064 0.18 0 pose: 0.50978807 -4.68424 -1.78194 0 0.0024871 -0.00620283 0.713131 0.700999 uwb: 0.0 1068.12 1469.79 -imu_odom_: 1691062551.485079364 0.703895 -0.474052 9.91199 -0.0511327 0.00639159 0.0436758 0.23 0 pose: 0.0 -4.68424 -1.78194 0 0.0024871 -0.00620283 0.713131 0.700999 uwb: 0.50123421 1072.26 1469.46 -imu_odom_: 1691062551.501079743 -0.047884 -0.306458 9.81862 -0.056459 0.0276969 0.04048 0.23 0 pose: 0.39040133 -4.68872 -1.773 0 -0.000596583-0.00450151 0.713117 0.70103 uwb: 0.0 1072.26 1469.46 -imu_odom_: 1691062551.518148409 0.687136 0.011971 10.5919 -0.0532632 -0.0553937 0.0415453 0.25 0 pose: 0.0 -4.68872 -1.773 0 -0.000596583-0.00450151 0.713117 0.70103 uwb: 0.0 1072.26 1469.46 -imu_odom_: 1691062551.544089421 0.893037 -0.155623 10.3669 -0.0617853 -0.0234358 0.056459 0.25 0 pose: 0.51942102 -4.68427 -1.75958 0 -0.00121039 -0.0045813 0.713195 0.70095 uwb: 0.49950476 1074.72 1469.09 -imu_odom_: 1691062551.571140716 0.826 -0.213084 10.0389 -0.0671117 -0.0117179 0.0426106 0.25 0 pose: 0.0 -4.68427 -1.75958 0 -0.00121039 -0.0045813 0.713195 0.70095 uwb: 0.0 1074.72 1469.09 -imu_odom_: 1691062551.596063312 0.885855 -0.260968 9.89524 -0.0628506 -0.015979 0.0447411 0.25 0 pose: 0.33101417 -4.68427 -1.75958 0 0.000870639 -0.00451717 0.713254 0.70089 uwb: 0.50004138 1075.53 1468.92 -imu_odom_: 1691062551.623061820 0.73502 -0.25618 9.93354 -0.0735032 -0.0149137 0.0458064 0.23 -0.02 pose: 0.0 -4.68427 -1.75958 0 0.000870639 -0.00451717 0.713254 0.70089 uwb: 0.0 1075.53 1468.92 -imu_odom_: 1691062551.648115947 0.521936 -0.423774 9.93833 -0.056459 -0.0383495 0.0276969 0.18 -0.02 pose: 0.53097007 -4.68875 -1.75064 0 0.00523788 -0.00797897 0.713367 0.700725 uwb: 0.49934728 1068.61 1469.81 -imu_odom_: 1691062551.675074792 0.804452 -0.258574 10.1011 -0.0500674 -0.00958738 0.0458064 0.18 -0.02 pose: 0.51787532 -4.6843 -1.73722 0 0.0075867 -0.0115884 0.713386 0.700635 uwb: 0.49974974 1066.51 1469.81 -imu_odom_: 1691062551.700191914 0.56982 0.0287304 10.4986 -0.0330232 0.0117179 0.036219 0.19 0 pose: 0.0 -4.6843 -1.73722 0 0.0075867 -0.0115884 0.713386 0.700635 uwb: 0.0 1066.51 1469.81 -imu_odom_: 1691062551.727071431 0.442927 -0.418985 9.4954 -0.0735032 0.052198 0.0436758 0.19 0 pose: 0.69118676 -4.68879 -1.72828 0 0.00939364 -0.0104577 0.713324 0.700693 uwb: 0.50007638 1064.42 1469.91 -imu_odom_: 1691062551.752117393 0.493206 -0.418985 9.67736 -0.056459 0.0372843 0.056459 0.2 0 pose: 0.7891261 -4.68879 -1.72828 0 0.00839791 -0.010292 0.713348 0.700684 uwb: 0.0 1064.42 1469.91 -imu_odom_: 1691062551.769056569 0.847547 -0.217872 9.86172 -0.0639159 -0.0447411 0.0394148 0.2 0 pose: 0.0 -4.68879 -1.72828 0 0.00839791 -0.010292 0.713348 0.700684 uwb: 0.0 1064.42 1469.91 -imu_odom_: 1691062551.794061409 0.191536 0.0335188 9.30866 -0.0713727 -0.00532632 0.0436758 0.22 0 pose: 0.44034218 -4.68435 -1.71486 0 0.00312755 -0.00979355 0.713576 0.700502 uwb: 0.50054593 1061.95 1470.12 -imu_odom_: 1691062551.821057875 0.380678 -0.0742203 9.73243 -0.0798948 -0.0426106 0.0490022 0.23 0 pose: 0.41944016 -4.68884 -1.70592 0 0.00440394 -0.00849176 0.713601 0.700488 uwb: 0.0 1061.95 1470.12 -imu_odom_: 1691062551.838050713 0.794875 -0.483629 9.48343 -0.0777643 0.0191748 0.0372843 0.23 0 pose: 0.0 -4.68884 -1.70592 0 0.00440394 -0.00849176 0.713601 0.700488 uwb: 0.50109713 1063.99 1469.78 -imu_odom_: 1691062551.863115632 0.481235 -0.143652 9.72285 -0.0372843 -0.00852212 0.036219 0.23 0 pose: 0.43989304 -4.68636 -1.69841 0 0.00427447 -0.00808389 0.713674 0.700419 uwb: 0.0 1063.99 1469.78 -imu_odom_: 1691062551.886058851 0.126893 -0.25618 9.95748 -0.0447411 -0.02024 0.0500674 0.27 0 pose: 0.0 -4.68636 -1.69841 0 0.00427447 -0.00808389 0.713674 0.700419 uwb: 0.49971183 1059.44 1470.14 -imu_odom_: 1691062551.911063399 0.215478 -0.143652 9.64624 -0.0426106 -0.00852212 0.0266316 0.19 0 pose: 0.48008138 -4.68744 -1.68647 0 0.00331565 -0.00404194 0.713743 0.700389 uwb: 0.0 1059.44 1470.14 -imu_odom_: 1691062551.928050405 0.61531 -0.311246 9.69652 -0.052198 -0.0117179 0.0468716 0.19 0 pose: 0.0 -4.68744 -1.68647 0 0.00331565 -0.00404194 0.713743 0.700389 uwb: 0.49877273 1060.71 1470.24 -imu_odom_: 1691062551.954037205 0.263362 -0.215478 9.40203 -0.0394148 0.02024 0.0340885 0.18 -0.02 pose: 0.41991554 -4.6889 -1.68356 0 0.00266475 -0.00347486 0.713677 0.700461 uwb: 0.0 1060.71 1470.24 -imu_odom_: 1691062551.981049420 0.229843 -0.521936 9.28232 -0.0585895 0.0266316 0.0532632 0.18 -0.02 pose: 0.8069746 -4.6889 -1.68356 0 0.00209091 -0.00276728 0.713664 0.700479 uwb: 0.49980516 1059.46 1470.25 -imu_odom_: 1691062552.6046386 0.385466 -0.167594 9.75398 -0.0436758 -0.0266316 0.0383495 0.2 0 pose: 0.17917054 -4.68572 -1.67394 0 0.000816821 -0.00119625 0.713634 0.700517 uwb: 0.0 1059.46 1470.25 -imu_odom_: 1691062552.32057106 0.0143652 -0.378284 9.87608 -0.0479369 -0.0127832 0.0394148 0.2 0 pose: 0.35054838 -4.68446 -1.67014 0 -0.00154337 -0.0009114810.713763 0.700385 uwb: 0.50296952 1062.76 1469.9 -imu_odom_: 1691062552.57121154 0.280122 -0.023942 9.99579 -0.0468716 0.0170442 0.0394148 0.17 -0.02 pose: 0.0 -4.68446 -1.67014 0 -0.00154337 -0.0009114810.713763 0.700385 uwb: 0.0 1062.76 1469.9 -imu_odom_: 1691062552.74044002 0.325611 -0.0861913 10.228 -0.072438 -0.00426106 0.0575243 0.17 -0.02 pose: 0.23994593 -4.68896 -1.6612 0 -0.0008766260.000584713 0.713757 0.700393 uwb: 0.49693549 1063.56 1469.67 -imu_odom_: 1691062552.99039223 0.277727 -0.186748 9.84256 -0.056459 0.0340885 0.0213053 0.21 0.02 pose: 0.51033355 -4.68896 -1.6612 0 -0.001118 0.00424511 0.713798 0.700338 uwb: 0.0 1063.56 1469.67 -imu_odom_: 1691062552.126031903 0.667982 -0.320823 9.73482 -0.0319579 -0.0394148 0.0245011 0.23 0 pose: 0.34919232 -4.68453 -1.64777 0 -0.00329404 0.00572844 0.713687 0.700433 uwb: 0.50138888 1062.75 1469.85 -imu_odom_: 1691062552.142194731 0.565032 -0.0383072 10.07 -0.0298274 -0.00852212 0.0330232 0.23 0 pose: 0.0 -4.68453 -1.64777 0 -0.00329404 0.00572844 0.713687 0.700433 uwb: 0.0 1062.75 1469.85 -imu_odom_: 1691062552.169043923 0.385466 -0.229843 10.0269 -0.0511327 -0.00426106 0.0585895 0.26 -0.02 pose: 0.7065914 -4.68453 -1.64777 0 -0.0028422 0.00506264 0.713653 0.700476 uwb: 0.0 1062.75 1469.85 -imu_odom_: 1691062552.194076474 0.452504 -0.124498 9.38288 -0.0543285 0.0149137 0.052198 0.26 -0.02 pose: 0.0 -4.68453 -1.64777 0 -0.0028422 0.00506264 0.713653 0.700476 uwb: 0.49830621 1058.61 1470.12 -imu_odom_: 1691062552.221019867 0.392649 -0.395043 9.76595 -0.0479369 0.0585895 0.0351537 0.23 -0.02 pose: 0.43942943 -4.68903 -1.63884 0 -0.0001284350.00230781 0.713573 0.700577 uwb: 0.0 1058.61 1470.12 -imu_odom_: 1691062552.237101326 0.126893 0.153229 10.2831 -0.0479369 0.00745685 0.0553937 0.23 -0.02 pose: 0.0 -4.68903 -1.63884 0 -0.0001284350.00230781 0.713573 0.700577 uwb: 0.50012898 1057.8 1470.36 -imu_odom_: 1691062552.264019054 0.00957681 -0.320823 9.79468 -0.0607201 0.0490022 0.052198 0.23 0.02 pose: 0.51081185 -4.68459 -1.62541 0 0.000742885 0.000888422 0.7138 0.700348 uwb: 0.0 1057.8 1470.36 -imu_odom_: 1691062552.290174137 0.0694318 -0.222661 10.2185 -0.0500674 0.0170442 0.0617853 0.23 0.02 pose: 0.44108595 -4.68459 -1.62541 0 -0.0017694 0.00223656 0.713894 0.700248 uwb: 0.50184384 1058.26 1470.66 -imu_odom_: 1691062552.315091489 0.143652 -0.0885855 9.83538 -0.0468716 -0.0138484 0.0340885 0.24 0 pose: 0.0 -4.68459 -1.62541 0 -0.0017694 0.00223656 0.713894 0.700248 uwb: 0.0 1058.26 1470.66 -imu_odom_: 1691062552.338030047 0.373495 -0.232238 9.56723 -0.0660464 0.0138484 0.0585895 0.24 0 pose: 0.51823707 -4.68909 -1.61648 0 -0.00576919 0.00612172 0.714146 0.699946 uwb: 0.49996275 1057.44 1470.81 -imu_odom_: 1691062552.363016519 0.222661 -0.272939 9.37809 -0.0585895 -0.0319579 0.0426106 0.18 0.02 pose: 0.0 -4.68909 -1.61648 0 -0.00576919 0.00612172 0.714146 0.699946 uwb: 0.0 1057.44 1470.81 -imu_odom_: 1691062552.380065648 0.684742 -0.160412 10.2376 -0.0628506 -0.00639159 0.0458064 0.18 0.02 pose: 0.24124084 -4.6936 -1.60756 0 -0.00525807 0.00738025 0.714155 0.699929 uwb: 0.49864160 1057.43 1470.74 -imu_odom_: 1691062552.405045120 0.414197 -0.19393 10.343 -0.0575243 0.02024 0.036219 0.21 0.02 pose: 0.48911948 -4.68918 -1.59412 0 -0.00628438 0.00449845 0.714304 0.699793 uwb: 0.0 1057.43 1470.74 -imu_odom_: 1691062552.430001552 1.0343 -0.131681 10.0533 -0.0798948 0.0191748 0.0532632 0.23 0 pose: 0.0 -4.68918 -1.59412 0 -0.00628438 0.00449845 0.714304 0.699793 uwb: 0.49812540 1054.11 1470.85 -imu_odom_: 1691062552.444007100 0.260968 -0.433351 9.39964 -0.0745685 0.0607201 0.0447411 0.23 0 pose: 0.34947521 -4.68918 -1.59412 0 -0.00351721 0.00290624 0.714312 0.699812 uwb: 0.0 1054.11 1470.85 -imu_odom_: 1691062552.468017736 0.521936 -0.474052 9.03093 -0.0585895 0.0213053 0.0458064 0.23 0 pose: 0.0 -4.68918 -1.59412 0 -0.00351721 0.00290624 0.714312 0.699812 uwb: 0.0 1054.11 1470.85 -imu_odom_: 1691062552.493009165 0.521936 -0.42138 9.53611 -0.0479369 0.0511327 0.0372843 0.18 0 pose: 0.6975214 -4.68918 -1.59412 0 -0.00307951 0.00247982 0.714348 0.69978 uwb: 0.50174760 1048.71 1470.94 -imu_odom_: 1691062552.514052630 0.78051 -0.0814029 9.67976 -0.0585895 0.0149137 0.0436758 0.18 0.02 pose: 0.0 -4.68918 -1.59412 0 -0.00307951 0.00247982 0.714348 0.69978 uwb: 0.0 1048.71 1470.94 -imu_odom_: 1691062552.527998683 0.612916 -0.0837971 10.0844 -0.0692422 0.0319579 0.0500674 0.18 0.02 pose: 0.38994061 -4.68477 -1.58069 0 -0.00382714 0.00046549 0.714472 0.699654 uwb: 0.50023397 1047.06 1471.14 -imu_odom_: 1691062552.552995071 0.0814029 -0.213084 9.6223 -0.0436758 0.0500674 0.0351537 0.18 0.02 pose: 0.0 -4.68477 -1.58069 0 -0.00382714 0.00046549 0.714472 0.699654 uwb: 0.0 1047.06 1471.14 -imu_odom_: 1691062552.569995787 0.253785 -0.102951 10.0485 -0.056459 -0.0127832 0.0458064 0.17 0.02 pose: 0.48053935 -4.68929 -1.57176 0 -0.003847 -0.00314825 0.714478 0.69964 uwb: 0.0 1047.06 1471.14 -imu_odom_: 1691062552.595116123 0.651223 -0.0670376 9.81623 -0.0532632 -0.04048 0.0490022 0.17 0.02 pose: 0.0 -4.68929 -1.57176 0 -0.003847 -0.00314825 0.714478 0.69964 uwb: 0.49903532 1044.61 1471.56 -imu_odom_: 1691062552.619137549 0.799663 -0.169988 10.6566 -0.0660464 -0.00532632 0.0543285 0.18 0 pose: 0.35954563 -4.68929 -1.57176 0 -0.00187742 -0.0025088 0.714537 0.69959 uwb: 0.0 1044.61 1471.56 -imu_odom_: 1691062552.634132057 0.519542 -0.126893 9.76595 -0.0511327 0.00213053 0.0340885 0.18 0 pose: 0.0 -4.68929 -1.57176 0 -0.00187742 -0.0025088 0.714537 0.69959 uwb: 0.50137429 1048.68 1471.07 -imu_odom_: 1691062552.658248850 0.287304 0.0263362 9.97185 -0.0681769 -0.0330232 0.052198 0.18 0 pose: 0.67306424 -4.6894 -1.5494 0 0.000475499 -0.0004119820.714677 0.699454 uwb: 0.0 1048.68 1471.07 -imu_odom_: 1691062552.683133539 0.308852 -0.0981623 9.63427 -0.0596548 -0.0319579 0.0383495 0.18 0 pose: 0.0 -4.6894 -1.5494 0 0.000475499 -0.0004119820.714677 0.699454 uwb: 0.49987234 1046.26 1471.81 -imu_odom_: 1691062552.708093179 0.423774 -0.217872 9.77074 -0.076699 -0.0106526 0.0468716 0.17 0 pose: 0.62815420 -4.69393 -1.54049 0 0.00336107 0.00129927 0.714824 0.699295 uwb: 0.0 1046.26 1471.81 -imu_odom_: 1691062552.734984951 0.646434 -0.339977 9.56484 -0.0596548 -0.0383495 0.0372843 0.2 0 pose: 0.42948442 -4.68827 -1.52953 0 0.00142495 0.000384208 0.71488 0.699245 uwb: 0.49858619 1045.45 1472.03 -imu_odom_: 1691062552.759986588 0.761356 -0.562637 9.46428 -0.0372843 0.0255663 0.0298274 0.2 0 pose: 0.6953632 -4.68953 -1.52704 0 0.00165044 -0.0003892490.714875 0.69925 uwb: 0.0 1045.45 1472.03 -imu_odom_: 1691062552.784969268 0.37589 0.0814029 10.0676 -0.0426106 0.015979 0.056459 0.22 -0.02 pose: 0.44939777 -4.68953 -1.52704 0 0.00202164 -0.00467939 0.714772 0.699339 uwb: 0.49949028 1042.13 1472.14 -imu_odom_: 1691062552.799062309 0.567426 0.0622492 10.6398 -0.0607201 -0.00319579 0.0479369 0.22 -0.02 pose: 0.0 -4.68953 -1.52704 0 0.00202164 -0.00467939 0.714772 0.699339 uwb: 0.0 1042.13 1472.14 -imu_odom_: 1691062552.822997409 0.54109 -0.1652 9.74919 -0.0649811 0.00852212 0.0532632 0.18 0 pose: 0.39075721 -4.68929 -1.51571 0 0.00420998 -0.00148981 0.714953 0.699158 uwb: 0.0 1042.13 1472.14 -imu_odom_: 1691062552.847024668 1.08218 -0.277727 9.88326 -0.0660464 0.0138484 0.0383495 0.18 0 pose: 0.0 -4.68929 -1.51571 0 0.00420998 -0.00148981 0.714953 0.699158 uwb: 0.49943488 1038.45 1472.77 -imu_odom_: 1691062552.863988055 0.0933739 -0.169988 9.45231 -0.0543285 0.0191748 0.0383495 0.18 -0.02 pose: 0.0 -4.68929 -1.51571 0 0.00420998 -0.00148981 0.714953 0.699158 uwb: 0.0 1038.45 1472.77 -imu_odom_: 1691062552.889991775 0.167594 -0.35913 9.74201 -0.0745685 0.0585895 0.0468716 0.18 -0.02 pose: 0.55038773 -4.68967 -1.50468 0 0.00662859 -0.00407962 0.715046 0.699034 uwb: 0.50098349 1039.72 1473.11 -imu_odom_: 1691062552.915092571 0.390255 -0.215478 9.98622 -0.0426106 0.0319579 0.0287621 0.19 -0.02 pose: 0.35890693 -4.69293 -1.49828 0 0.00263007 -0.0020866 0.715127 0.698987 uwb: 0.0 1039.72 1473.11 -imu_odom_: 1691062552.931962048 0.646434 -0.225055 10.0173 -0.0777643 0.0266316 0.0383495 0.19 -0.02 pose: 0.7004378 -4.6942 -1.49577 0 0.00202413 -0.00152705 0.715102 0.699016 uwb: 0.49964485 1036.43 1473.47 -imu_odom_: 1691062552.956169834 0.553061 -0.304064 9.75877 -0.0703074 0.00106526 0.04048 0.18 0 pose: 0.34965895 -4.68897 -1.49311 0 0.00126631 -0.00129141 0.715028 0.699093 uwb: 0.0 1036.43 1473.47 -imu_odom_: 1691062552.981175846 -0.296881 -0.220267 9.6223 -0.0788296 -0.00319579 0.0447411 0.18 0 pose: 0.0 -4.68897 -1.49311 0 0.00126631 -0.00129141 0.715028 0.699093 uwb: 0.50079976 1035.2 1473.7 -imu_odom_: 1691062552.998036574 0.497994 -0.160412 10.2592 -0.0596548 -0.0617853 0.0245011 0.18 0 pose: 0.7019543 -4.68529 -1.49124 0 0.00131421 -0.00201128 0.71503 0.69909 uwb: 0.0 1035.2 1473.7 -imu_odom_: 1691062553.22016007 0.881066 -0.318429 10.1538 -0.056459 -0.0191748 0.0319579 0.18 0 pose: 0.0 -4.68529 -1.49124 0 0.00131421 -0.00201128 0.71503 0.69909 uwb: 0.0 1035.2 1473.7 -imu_odom_: 1691062553.46974778 0.560243 -0.332794 9.46428 -0.0436758 -0.0490022 0.0511327 0.18 0 pose: 0.48986025 -4.68982 -1.48232 0 0.000293075 -0.00221759 0.715047 0.699073 uwb: 0.50145891 1031.07 1474.01 -imu_odom_: 1691062553.71090993 0.577003 -0.0885855 9.63666 -0.0426106 -0.0394148 0.0319579 0.18 0 pose: 0.0 -4.68982 -1.48232 0 0.000293075 -0.00221759 0.715047 0.699073 uwb: 0.0 1031.07 1474.01 -imu_odom_: 1691062553.97091511 0.751779 -0.124498 10.1442 -0.0553937 -0.0234358 0.0394148 0.23 -0.02 pose: 0.41010483 -4.69435 -1.47341 0 0.00291269 -0.0051908 0.714948 0.699152 uwb: 0.49914917 1030.67 1474.28 -imu_odom_: 1691062553.113074690 0.672771 -0.347159 9.4571 -0.0617853 0.0138484 0.02024 0.23 -0.02 pose: 0.0 -4.69435 -1.47341 0 0.00291269 -0.0051908 0.714948 0.699152 uwb: 0.0 1030.67 1474.28 -imu_odom_: 1691062553.139090082 0.126893 -0.203507 9.63427 -0.0628506 0.00958738 0.0553937 0.23 -0.05 pose: 0.49007616 -4.68996 -1.45996 0 0.00601026 -0.00624011 0.714935 0.699138 uwb: 0.49927165 1026.94 1474.38 -imu_odom_: 1691062553.164092307 0.548272 -0.373495 9.4547 -0.0553937 -0.0649811 0.0255663 0.23 -0.05 pose: 0.0 -4.68996 -1.45996 0 0.00601026 -0.00624011 0.714935 0.699138 uwb: 0.0 1026.94 1474.38 -imu_odom_: 1691062553.189979668 0.258574 -0.189142 9.8689 -0.0458064 0.00639159 0.0330232 0.23 0 pose: 0.41998571 -4.68996 -1.45996 0 0.00683781 -0.00782999 0.714857 0.699194 uwb: 0.50070946 1028.19 1474.55 -imu_odom_: 1691062553.214948938 0.483629 -0.0933739 10.2879 -0.0266316 -0.036219 0.0287621 0.2 -0.02 pose: 0.51124066 -4.68557 -1.44652 0 0.00372102 -0.00790977 0.71485 0.699223 uwb: 0.0 1028.19 1474.55 -imu_odom_: 1691062553.230970322 0.428562 -0.440533 9.43315 -0.0628506 0.00532632 0.0639159 0.2 -0.02 pose: 0.0 -4.68557 -1.44652 0 0.00372102 -0.00790977 0.71485 0.699223 uwb: 0.49796218 1025.27 1474.22 -imu_odom_: 1691062553.256076372 0.538695 -0.213084 9.92157 -0.036219 -0.00213053 0.0383495 0.19 0.02 pose: 0.25898152 -4.6901 -1.4376 0 0.00326174 -0.00552772 0.714792 0.699307 uwb: 0.0 1025.27 1474.22 -imu_odom_: 1691062553.280074764 0.270545 -0.208296 9.73961 -0.04048 0.0553937 0.0458064 0.19 0.02 pose: 0.40947782 -4.6901 -1.4376 0 0.00370986 -0.00463685 0.714859 0.699244 uwb: 0.49937956 1024.01 1473.95 -imu_odom_: 1691062553.297997366 0.299275 -0.169988 9.50259 -0.0394148 -0.036219 0.036219 0.19 0.02 pose: 0.0 -4.6901 -1.4376 0 0.00370986 -0.00463685 0.714859 0.699244 uwb: 0.0 1024.01 1473.95 -imu_odom_: 1691062553.321941512 0.584185 -0.162806 9.80904 -0.0596548 -0.00319579 0.0703074 0.23 -0.02 pose: 0.50026033 -4.68571 -1.42416 0 0.00315534 -0.00175393 0.714897 0.699221 uwb: 0.0 1024.01 1473.95 -imu_odom_: 1691062553.347027730 0.402226 -0.0646434 9.56723 -0.0553937 0.0181095 0.0447411 0.23 0 pose: 0.33961193 -4.69023 -1.41524 0 0.00472378 -0.00229587 0.715137 0.698965 uwb: 0.50051697 1020.7 1474.13 -imu_odom_: 1691062553.372136405 -0.35913 -0.296881 9.93594 -0.0617853 0.0447411 0.0553937 0.23 0 pose: 0.0 -4.69023 -1.41524 0 0.00472378 -0.00229587 0.715137 0.698965 uwb: 0.0 1020.7 1474.13 -imu_odom_: 1691062553.387944015 0.622492 0.0167594 10.4244 -0.0490022 -0.0553937 0.0298274 0.18 0 pose: 0.7011670 -4.69023 -1.41524 0 0.00473637 -0.0015428 0.715148 0.698955 uwb: 0.50175936 1014.51 1474.41 -imu_odom_: 1691062553.413056773 0.445322 -0.160412 10.1347 -0.0617853 -0.0426106 0.0639159 0.18 0 pose: 0.0 -4.69023 -1.41524 0 0.00473637 -0.0015428 0.715148 0.698955 uwb: 0.0 1014.51 1474.41 -imu_odom_: 1691062553.438051999 0.596156 -0.0837971 10.1754 -0.056459 -0.0213053 0.0330232 0.19 0 pose: 0.49976745 -4.69477 -1.40633 0 0.00299932 0.00198156 0.715291 0.698817 uwb: 0.49927749 1012.02 1474.53 -imu_odom_: 1691062553.462915111 0.440533 -0.237026 9.75637 -0.0681769 0.00319579 0.0458064 0.19 0 pose: 0.0 -4.69477 -1.40633 0 0.00299932 0.00198156 0.715291 0.698817 uwb: 0.0 1012.02 1474.53 -imu_odom_: 1691062553.476925620 0.351948 -0.0981623 10.1514 -0.056459 0.00852212 0.0351537 0.19 0 pose: 0.42014319 -4.6904 -1.39288 0 0.00400686 -0.00103673 0.715459 0.698643 uwb: 0.0 1012.02 1474.53 -imu_odom_: 1691062553.501062542 0.555455 -0.356736 9.99579 -0.076699 0.00745685 0.0607201 0.19 0 pose: 0.0 -4.6904 -1.39288 0 0.00400686 -0.00103673 0.715459 0.698643 uwb: 0.0 1012.02 1474.53 -imu_odom_: 1691062553.526923071 0.45011 -0.172383 10.0173 -0.0500674 0.00958738 0.0426106 0.22 0 pose: 0.47987160 -4.6904 -1.39288 0 0.00306284 -0.00119176 0.715468 0.698637 uwb: 0.100009193 1011.6 1474.47 -imu_odom_: 1691062553.542909750 0.42138 -0.292093 9.90721 -0.0553937 -0.0372843 0.0458064 0.22 0 pose: 0.0 -4.6904 -1.39288 0 0.00306284 -0.00119176 0.715468 0.698637 uwb: 0.0 1011.6 1474.47 -imu_odom_: 1691062553.569902144 0.787692 -0.0143652 10.343 -0.04048 -0.0703074 0.0351537 0.22 0 pose: 0.73978344 -4.69058 -1.37052 0 0.00183421 -0.00127885 0.715698 0.698407 uwb: 0.0 1011.6 1474.47 -imu_odom_: 1691062553.594901453 0.708684 -0.112527 10.2544 -0.0681769 -0.00106526 0.0500674 0.22 0 pose: 0.8126037 -4.69058 -1.37052 0 0.0028549 -0.00162934 0.715683 0.698418 uwb: 0.49998909 1008.29 1474.61 -imu_odom_: 1691062553.612025829 0.186748 -0.332794 10.1538 -0.0458064 -0.0340885 0.04048 0.23 0.02 pose: 0.0 -4.69058 -1.37052 0 0.0028549 -0.00162934 0.715683 0.698418 uwb: 0.0 1008.29 1474.61 -imu_odom_: 1691062553.636902649 0.407014 -0.184354 9.85453 -0.0553937 -0.0255663 0.0468716 0.23 0.02 pose: 0.43865666 -4.69377 -1.36426 0 0.00732589 -0.00363681 0.715724 0.698336 uwb: 0.49946123 1008.29 1474.44 -imu_odom_: 1691062553.662961203 0.411803 0 9.83538 -0.0479369 -0.00532632 0.0447411 0.23 0 pose: 0.42001196 -4.69205 -1.35211 0 0.00427522 -0.00171876 0.715807 0.698283 uwb: 0.0 1008.29 1474.44 -imu_odom_: 1691062553.688110125 0.720655 0.0215478 10.5225 -0.0596548 0.0308927 0.0511327 0.23 0 pose: 0.0 -4.69205 -1.35211 0 0.00427522 -0.00171876 0.715807 0.698283 uwb: 0.49998034 1008.3 1474.98 -imu_odom_: 1691062553.713028357 0.574608 -0.280122 9.84017 -0.0681769 0.02024 0.0426106 0.22 0 pose: 0.51207476 -4.69077 -1.34816 0 0.00742019 0.000431822 0.71594 0.698123 uwb: 0.0 1008.3 1474.98 -imu_odom_: 1691062553.738985420 0.366313 -0.363919 9.74201 -0.0500674 0.00106526 0.0447411 0.19 -0.02 pose: 0.0 -4.69077 -1.34816 0 0.00742019 0.000431822 0.71594 0.698123 uwb: 0.50027491 1007.46 1474.67 -imu_odom_: 1691062553.764907778 0.723049 -0.31364 9.9934 -0.0703074 -0.0255663 0.0436758 0.19 -0.02 pose: 0.32826995 -4.69532 -1.33926 0 0.00541829 -0.00191165 0.716002 0.698074 uwb: 0.0 1007.46 1474.67 -imu_odom_: 1691062553.780914872 0.248997 -0.222661 9.38527 -0.0340885 0.00852212 0.0234358 0.19 0.02 pose: 0.0 -4.69532 -1.33926 0 0.00541829 -0.00191165 0.716002 0.698074 uwb: 0.49848130 1007.47 1475.02 -imu_odom_: 1691062553.806896433 0.296881 -0.148441 10.2759 -0.0500674 -0.00106526 0.0511327 0.19 0.02 pose: 0.51080904 -4.69098 -1.3258 0 0.00407158 -0.00437449 0.716039 0.698034 uwb: 0.0 1007.47 1475.02 -imu_odom_: 1691062553.829049894 0.471658 0.126893 9.9096 -0.015979 -0.0245011 0.0319579 0.19 0 pose: 0.34878409 -4.69439 -1.31912 0 0.00229056 -0.00125553 0.716103 0.69799 uwb: 0.50031865 1006.23 1475.37 -imu_odom_: 1691062553.844931289 0.299275 -0.342371 9.38527 -0.0543285 0.0191748 0.0468716 0.19 0 pose: 0.6006962 -4.69553 -1.3169 0 0.00286125 -0.0008076730.716085 0.698007 uwb: 0.0 1006.23 1475.37 -imu_odom_: 1691062553.870035590 0.490811 0.136469 10.1442 -0.0458064 -0.0543285 0.0447411 0.19 -0.02 pose: 0.0 -4.69553 -1.3169 0 0.00286125 -0.0008076730.716085 0.698007 uwb: 0.0 1006.23 1475.37 -imu_odom_: 1691062553.886935401 0.842759 -0.344765 9.56005 -0.0628506 0.00319579 0.052198 0.19 -0.02 pose: 0.39037232 -4.69553 -1.3169 0 0.00340617 0.000673125 0.716092 0.697998 uwb: 0.49943498 1006.22 1475.18 -imu_odom_: 1691062553.912017828 0.667982 -0.316035 10.1227 -0.0575243 0.0458064 0.0394148 0.19 0 pose: 0.0 -4.69553 -1.3169 0 0.00340617 0.000673125 0.716092 0.697998 uwb: 0.0 1006.22 1475.18 -imu_odom_: 1691062553.935881773 0.454898 -0.134075 9.57441 -0.0788296 0.0372843 0.0511327 0.19 0 pose: 0.41974072 -4.69119 -1.30344 0 0.00552927 -0.0007299590.716199 0.697874 uwb: 0.50002409 1003.73 1474.69 -imu_odom_: 1691062553.962000698 0.395043 -0.337582 9.07881 -0.0862864 -0.0287621 0.0426106 0.23 0 pose: 0.41967074 -4.69441 -1.29715 0 0.00446982 0.000285981 0.716298 0.697781 uwb: 0.0 1003.73 1474.69 -imu_odom_: 1691062553.986877808 0.342371 -0.366313 9.34457 -0.0713727 0.00745685 0.0394148 0.23 0 pose: 0.7064749 -4.69575 -1.29454 0 0.0038258 -0.0001738890.716307 0.697774 uwb: 0.50115858 999.59 1474.68 -imu_odom_: 1691062554.11920282 0.37589 -0.328006 9.84735 -0.0500674 -0.00319579 0.036219 0.22 -0.02 pose: 0.43931286 -4.6989 -1.28839 0 -0.000587751-0.00197532 0.716334 0.697755 uwb: 0.0 999.59 1474.68 -imu_odom_: 1691062554.37935096 0.629675 -0.112527 10.5441 -0.0511327 -0.0223706 0.0287621 0.22 -0.02 pose: 0.0 -4.6989 -1.28839 0 -0.000587751-0.00197532 0.716334 0.697755 uwb: 0.49890131 997.516 1474.62 -imu_odom_: 1691062554.54934361 0.837971 -0.143652 9.56244 -0.0607201 0.00958738 0.0319579 0.22 0.02 pose: 0.51057288 -4.6947 -1.27466 0 -0.00016939 -0.00297712 0.716203 0.697885 uwb: 0.0 997.516 1474.62 -imu_odom_: 1691062554.79860473 0.234632 -0.392649 9.79947 -0.0500674 -0.0191748 0.0372843 0.22 0.02 pose: 0.0 -4.6947 -1.27466 0 -0.00016939 -0.00297712 0.716203 0.697885 uwb: 0.0 997.516 1474.62 -imu_odom_: 1691062554.105139472 0.342371 -0.169988 9.92875 -0.0511327 -0.0223706 0.0490022 0.19 0 pose: 0.25014187 -4.69598 -1.27218 0 0.000488691 -0.00358007 0.716149 0.697939 uwb: 0.0 997.516 1474.62 -imu_odom_: 1691062554.129922970 0.52433 -0.189142 9.50019 -0.036219 -0.00639159 0.0330232 0.19 0 pose: 0.0 -4.69598 -1.27218 0 0.000488691 -0.00358007 0.716149 0.697939 uwb: 0.99985299 997.516 1474.53 -imu_odom_: 1691062554.146860116 0.414197 -0.296881 9.48583 -0.0681769 0.0138484 0.0490022 0.19 0 pose: 0.49950216 -4.70054 -1.26328 0 8.02183e-05 -0.00110509 0.71621 0.697884 uwb: 0.0 997.516 1474.53 -imu_odom_: 1691062554.171878678 0.701501 -0.37589 9.4164 -0.0607201 -0.00958738 0.0276969 0.19 0 pose: 0.0 -4.70054 -1.26328 0 8.02183e-05 -0.00110509 0.71621 0.697884 uwb: 0.0 997.516 1474.53 -imu_odom_: 1691062554.195858701 0.277727 -0.174777 9.32302 -0.0639159 -0.00213053 0.0553937 0.19 0 pose: 0.41980497 -4.69164 -1.25872 0 0.000300209 -0.00309466 0.716192 0.697897 uwb: 0.50028667 994.619 1474.48 -imu_odom_: 1691062554.217852055 -0.0383072 -0.263362 9.84496 -0.0607201 0.0447411 0.0468716 0.19 0 pose: 0.40978705 -4.6962 -1.24982 0 -7.43706e-05-0.00257594 0.716255 0.697834 uwb: 0.0 994.619 1474.48 -imu_odom_: 1691062554.231858775 0.299275 -0.294487 9.96946 -0.0532632 -0.00852212 0.0223706 0.19 0 pose: 0.0 -4.6962 -1.24982 0 -7.43706e-05-0.00257594 0.716255 0.697834 uwb: 0.49931259 995.036 1474.25 -imu_odom_: 1691062554.254918374 0.203507 -0.385466 9.67018 -0.0330232 -0.0500674 0.0330232 0.19 0 pose: 0.0 -4.6962 -1.24982 0 -7.43706e-05-0.00257594 0.716255 0.697834 uwb: 0.0 995.036 1474.25 -imu_odom_: 1691062554.272850021 0.586579 -0.0574608 10.3262 -0.0330232 -0.015979 0.0330232 0.18 -0.02 pose: 0.7018672 -4.6962 -1.24982 0 -0.00072546 -0.00199223 0.716274 0.697816 uwb: 0.0 995.036 1474.25 -imu_odom_: 1691062554.296847251 0.548272 -0.246603 10.0149 -0.0596548 0.0106526 0.0617853 0.18 -0.02 pose: 0.0 -4.6962 -1.24982 0 -0.00072546 -0.00199223 0.716274 0.697816 uwb: 0.49999503 993.382 1474.35 -imu_odom_: 1691062554.322911060 0.430956 -0.0287304 9.85214 -0.0490022 0.00639159 0.052198 0.19 0 pose: 0.36993991 -4.69186 -1.23636 0 -0.00401209 -0.0002797090.716209 0.697874 uwb: 0.0 993.382 1474.35 -imu_odom_: 1691062554.348012741 0.861913 -0.390255 9.75637 -0.0628506 0.0149137 0.0426106 0.19 0.02 pose: 0.41026827 -4.69642 -1.22746 0 -0.00256937 -0.0006998340.716198 0.697892 uwb: 0.49909093 994.206 1474.74 -imu_odom_: 1691062554.373883483 0.227449 -0.201113 9.84975 -0.0628506 0.0298274 0.0681769 0.19 0.02 pose: 0.0 -4.69642 -1.22746 0 -0.00256937 -0.0006998340.716198 0.697892 uwb: 0.50112078 989.664 1474.4 -imu_odom_: 1691062554.386868579 0.584185 -0.213084 10.5153 -0.0756338 -0.0340885 0.0585895 0.19 0.02 pose: 0.0 -4.69642 -1.22746 0 -0.00256937 -0.0006998340.716198 0.697892 uwb: 0.0 989.664 1474.4 -imu_odom_: 1691062554.410847727 0.567426 -0.102951 9.80904 -0.0553937 -0.0287621 0.0436758 0.2 -0.02 pose: 0.49994253 -4.70098 -1.21856 0 0.000764029 -0.0005517040.716444 0.697644 uwb: 0.0 989.664 1474.4 -imu_odom_: 1691062554.428902739 -0.225055 -0.299275 9.88566 -0.0660464 0.04048 0.052198 0.2 -0.02 pose: 0.0 -4.70098 -1.21856 0 0.000764029 -0.0005517040.716444 0.697644 uwb: 0.49970922 989.662 1474.5 -imu_odom_: 1691062554.452840765 -0.0287304 -0.0670376 9.95748 -0.0596548 0.04048 0.0340885 0.22 -0.02 pose: 0.87972831 -4.69666 -1.2051 0 0.00206748 -0.0007611250.716873 0.6972 uwb: 0.0 989.662 1474.5 -imu_odom_: 1691062554.476837412 0.610521 -0.306458 10.3765 -0.0777643 -0.0106526 0.0553937 0.23 0.02 pose: 0.0 -4.69666 -1.2051 0 0.00206748 -0.0007611250.716873 0.6972 uwb: 0.50044124 992.974 1474.65 -imu_odom_: 1691062554.500841933 0.775721 -0.114922 9.81862 -0.0660464 0.00319579 0.0372843 0.23 0.02 pose: 0.33975490 -4.69969 -1.19922 0 -0.0005346770.00236886 0.71687 0.697203 uwb: 0.0 992.974 1474.65 -imu_odom_: 1691062554.525847372 0.572214 -0.294487 9.69412 -0.0607201 -0.0255663 0.0372843 0.25 0 pose: 0.8136246 -4.70124 -1.19621 0 -0.00029745 0.00152172 0.716916 0.697158 uwb: 0.49950799 991.732 1474.58 -imu_odom_: 1691062554.547894387 0.023942 -0.148441 9.49301 -0.0639159 0.00852212 0.0415453 0.25 0 pose: 0.0 -4.70124 -1.19621 0 -0.00029745 0.00152172 0.716916 0.697158 uwb: 0.0 991.732 1474.58 -imu_odom_: 1691062554.562877527 0.258574 -0.196325 9.87129 -0.076699 -0.0532632 0.0511327 0.18 0 pose: 0.46934923 -4.69692 -1.18274 0 0.00226712 -0.00209092 0.716977 0.69709 uwb: 0.0 991.732 1474.58 -imu_odom_: 1691062554.588985958 0.304064 -0.19393 10.0916 -0.0436758 -0.0149137 0.0372843 0.18 0 pose: 0.0 -4.69692 -1.18274 0 0.00226712 -0.00209092 0.716977 0.69709 uwb: 0.49987545 992.14 1474.99 -imu_odom_: 1691062554.610841073 0.155623 -0.349553 10.2927 -0.0532632 -0.00213053 0.0436758 0.19 0.05 pose: 0.45993791 -4.69692 -1.18274 0 0.000928668 -0.00186489 0.717006 0.697063 uwb: 0.0 992.14 1474.99 -imu_odom_: 1691062554.626823380 0.555455 -0.0263362 10.5848 -0.0330232 -0.0628506 0.0287621 0.19 0.05 pose: 0.0 -4.69692 -1.18274 0 0.000928668 -0.00186489 0.717006 0.697063 uwb: 0.50003003 993.796 1475.37 -imu_odom_: 1691062554.651968224 0.761356 0.0694318 10.0892 -0.0543285 -0.0479369 0.0532632 0.25 0 pose: 0.41933251 -4.69262 -1.16927 0 -0.00131268 0.00105037 0.717032 0.697038 uwb: 0.0 993.796 1475.37 -imu_odom_: 1691062554.676818800 0.723049 -0.0814029 9.28232 -0.0490022 0.0234358 0.0330232 0.25 0 pose: 0.0 -4.69262 -1.16927 0 -0.00131268 0.00105037 0.717032 0.697038 uwb: 0.50003003 994.207 1475.65 -imu_odom_: 1691062554.693943180 0.059855 -0.23942 10.0341 -0.0607201 0.0149137 0.0458064 0.21 0 pose: 0.38988828 -4.6972 -1.16038 0 0.000204179 0.000961438 0.717034 0.697038 uwb: 0.0 994.207 1475.65 -imu_odom_: 1691062554.717963450 0.608127 0.0694318 10.5201 -0.0607201 -0.0511327 0.0447411 0.21 0 pose: 0.0 -4.6972 -1.16038 0 0.000204179 0.000961438 0.717034 0.697038 uwb: 0.0 994.207 1475.65 -imu_odom_: 1691062554.741915184 0.770933 -0.1652 10.5991 -0.0649811 -0.0394148 0.056459 0.2 0 pose: 0.49146157 -4.70178 -1.15149 0 0.00356623 9.89515e-05 0.717073 0.696989 uwb: 0.49984629 992.549 1475.4 -imu_odom_: 1691062554.765905123 0.363919 -0.237026 9.69652 -0.036219 0.00852212 0.0330232 0.2 0 pose: 0.0 -4.70178 -1.15149 0 0.00356623 9.89515e-05 0.717073 0.696989 uwb: 0.0 992.549 1475.4 -imu_odom_: 1691062554.790812569 0.371101 -0.169988 9.97664 -0.0639159 -0.0117179 0.0479369 0.25 0 pose: 0.42003245 -4.69289 -1.14691 0 0.00595249 -0.0001204990.717177 0.696866 uwb: 0.50249149 992.131 1475.53 -imu_odom_: 1691062554.803867951 0.35913 -0.0071826110.1251 -0.0458064 -0.0266316 0.0351537 0.25 0 pose: 0.0 -4.69289 -1.14691 0 0.00595249 -0.0001204990.717177 0.696866 uwb: 0.0 992.131 1475.53 -imu_odom_: 1691062554.818805303 0.521936 -0.153229 9.47386 -0.072438 -0.00213053 0.0458064 0.25 0 pose: 0.0 -4.69289 -1.14691 0 0.00595249 -0.0001204990.717177 0.696866 uwb: 0.0 992.131 1475.53 -imu_odom_: 1691062554.844796202 0.258574 -0.155623 9.56484 -0.0372843 0.0191748 0.0266316 0.17 0 pose: 0.48082828 -4.69748 -1.13802 0 0.00416884 -0.0003331550.71725 0.696803 uwb: 0.49648365 989.647 1475.18 -imu_odom_: 1691062554.868842428 0.19393 -0.172383 10.1634 -0.0479369 0.00745685 0.0553937 0.2 0 pose: 0.70736168 -4.6991 -1.11985 0 0.00233524 0.0027424 0.717189 0.69687 uwb: 0.0 989.647 1475.18 -imu_odom_: 1691062554.894851117 0.459687 0.0263362 9.96227 -0.0340885 -0.0117179 0.0330232 0.2 0 pose: 0.0 -4.6991 -1.11985 0 0.00233524 0.0027424 0.717189 0.69687 uwb: 0.50108869 990.059 1475.35 -imu_odom_: 1691062554.917948630 0.184354 -0.241814 9.54808 -0.0660464 -0.0117179 0.0585895 0.17 0 pose: 0.8082001 -4.69776 -1.11566 0 0.00166711 0.00327001 0.717231 0.696825 uwb: 0.0 990.059 1475.35 -imu_odom_: 1691062554.935818740 0.416591 0.0407014 10.1442 -0.0532632 -0.0245011 0.0415453 0.17 0 pose: 0.0 -4.69776 -1.11566 0 0.00166711 0.00327001 0.717231 0.696825 uwb: 0.49980838 989.223 1475.59 -imu_odom_: 1691062554.960873174 0.658405 -0.282516 10.3525 -0.0639159 -0.00745685 0.0585895 0.19 0 pose: 0.49022791 -4.69776 -1.11566 0 0.00243643 0.00511774 0.7173 0.696741 uwb: 0.0 989.223 1475.59 -imu_odom_: 1691062554.984812951 0.746991 0.0646434 10.2927 -0.0617853 -0.0543285 0.0426106 0.19 0 pose: 0.0 -4.69776 -1.11566 0 0.00243643 0.00511774 0.7173 0.696741 uwb: 0.50065123 987.964 1476.05 -imu_odom_: 1691062555.7835512 0.579397 0.0502782 10.7835 -0.0788296 -0.0266316 0.0585895 0.27 -0.02 pose: 0.42934753 -4.70235 -1.10678 0 0.00283261 0.00490136 0.71748 0.696557 uwb: 0.0 987.964 1476.05 -imu_odom_: 1691062555.24945897 0.538695 -0.244209 9.44752 -0.0905475 -0.036219 0.0468716 0.27 -0.02 pose: 0.0 -4.70235 -1.10678 0 0.00283261 0.00490136 0.71748 0.696557 uwb: 0.50068626 988.794 1476.03 -imu_odom_: 1691062555.40791135 0.665588 -0.593762 9.92636 -0.0639159 0.0436758 0.04048 0.18 0 pose: 0.47110491 -4.69806 -1.0933 0 0.00656567 0.00211716 0.717662 0.696357 uwb: 0.0 988.794 1476.03 -imu_odom_: 1691062555.63960396 0.37589 -0.37589 9.80904 -0.0479369 0.0340885 0.0394148 0.18 0 pose: 0.0 -4.69806 -1.0933 0 0.00656567 0.00211716 0.717662 0.696357 uwb: 0.0 988.794 1476.03 -imu_odom_: 1691062555.80907753 0.122104 -0.146046 10.0796 -0.0383495 -0.00426106 0.0436758 0.18 0 pose: 0.0 -4.69806 -1.0933 0 0.00656567 0.00211716 0.717662 0.696357 uwb: 0.50045301 988.373 1476.23 -imu_odom_: 1691062555.105049059 0.505177 -0.126893 10.3022 -0.0532632 -0.00852212 0.0298274 0.24 0 pose: 0.40890343 -4.70266 -1.08442 0 0.00687624 -0.0005071130.717823 0.696191 uwb: 0.0 988.373 1476.23 -imu_odom_: 1691062555.129837229 0.64404 -0.112527 10.2783 -0.0575243 -0.0149137 0.0426106 0.21 0 pose: 0.72212478 -4.69839 -1.07094 0 0.00534758 -0.0002752330.717782 0.696247 uwb: 0.49770282 987.119 1476.43 -imu_odom_: 1691062555.143782999 0.366313 -0.287304 9.48343 -0.0617853 -0.0117179 0.0415453 0.21 0 pose: 0.0 -4.69839 -1.07094 0 0.00534758 -0.0002752330.717782 0.696247 uwb: 0.0 987.119 1476.43 -imu_odom_: 1691062555.167854311 0.895431 -0.189142 10.1466 -0.04048 -0.036219 0.04048 0.21 0 pose: 0.0 -4.69839 -1.07094 0 0.00534758 -0.0002752330.717782 0.696247 uwb: 0.0 987.119 1476.43 -imu_odom_: 1691062555.191762011 0.948104 -0.21069 10.1394 -0.0607201 -0.0170442 0.036219 0.17 0.02 pose: 0.7833814 -4.69839 -1.07094 0 0.00602681 -0.0007406390.717789 0.696235 uwb: 0.50027803 986.276 1476.76 -imu_odom_: 1691062555.208758363 0.296881 -0.1652 9.50977 -0.0468716 -0.0191748 0.0426106 0.17 0.02 pose: 0.0 -4.69839 -1.07094 0 0.00602681 -0.0007406390.717789 0.696235 uwb: 0.0 986.276 1476.76 -imu_odom_: 1691062555.232776597 0.071826 -0.486023 9.78271 -0.0553937 0.0394148 0.0447411 0.26 -0.02 pose: 0.38960838 -4.70299 -1.06206 0 0.00676849 -0.0024344 0.717819 0.696192 uwb: 0.49999221 983.351 1477 -imu_odom_: 1691062555.249767991 0.354342 0.00718261 10.3693 -0.0340885 -0.0372843 0.0266316 0.26 -0.02 pose: 0.0 -4.70299 -1.06206 0 0.00676849 -0.0024344 0.717819 0.696192 uwb: 0.0 983.351 1477 -imu_odom_: 1691062555.274842845 0.536301 -0.205901 10.2663 -0.0639159 -0.00532632 0.0553937 0.21 0 pose: 0.47924475 -4.70299 -1.06206 0 0.00909781 -0.00524437 0.717792 0.696178 uwb: 0.50153209 982.933 1477.03 -imu_odom_: 1691062555.300842499 0.754174 -0.167594 9.55287 -0.0500674 -0.00852212 0.0223706 0.23 -0.02 pose: 0.40019209 -4.69871 -1.04858 0 0.00594037 -0.00309652 0.717838 0.696177 uwb: 0.0 982.933 1477.03 -imu_odom_: 1691062555.324764490 0.459687 -0.294487 9.56005 -0.0511327 0.0106526 0.036219 0.23 -0.02 pose: 0.0 -4.69871 -1.04858 0 0.00594037 -0.00309652 0.717838 0.696177 uwb: 0.49915811 982.932 1477.05 -imu_odom_: 1691062555.349769933 0.349553 -0.0311246 9.83538 -0.0287621 0.0127832 0.0298274 0.18 0 pose: 0.43011171 -4.70331 -1.03971 0 0.00558566 -0.00487387 0.717887 0.69612 uwb: 0.0 982.932 1477.05 -imu_odom_: 1691062555.372775292 0.349553 -0.158017 10.4244 -0.052198 -0.015979 0.0596548 0.18 0 pose: 0.0 -4.70331 -1.03971 0 0.00558566 -0.00487387 0.717887 0.69612 uwb: 0.0 982.932 1477.05 -imu_odom_: 1691062555.388850636 0.0837971 -0.237026 9.63187 -0.0458064 -0.0298274 0.0394148 0.18 0 pose: 0.50045301 -4.69904 -1.02623 0 0.00469939 -0.00454198 0.717734 0.696287 uwb: 0.49785739 985.829 1477.45 -imu_odom_: 1691062555.414796336 0.493206 -0.304064 9.81383 -0.0479369 0.0308927 0.0479369 0.18 0 pose: 0.0 -4.69904 -1.02623 0 0.00469939 -0.00454198 0.717734 0.696287 uwb: 0.0 985.829 1477.45 -imu_odom_: 1691062555.439798571 0.241814 -0.162806 10.0365 -0.0426106 0.0319579 0.0415453 0.18 -0.02 pose: 0.47071129 -4.69904 -1.02623 0 0.0030062 -0.0004268870.71784 0.696202 uwb: 0.50036552 984.155 1477.61 -imu_odom_: 1691062555.464764643 0.174777 -0.215478 10.1706 -0.0713727 -0.0117179 0.0660464 0.18 -0.02 pose: 0.0 -4.69904 -1.02623 0 0.0030062 -0.0004268870.71784 0.696202 uwb: 0.0 984.155 1477.61 -imu_odom_: 1691062555.480852237 0.486023 -0.153229 10.1801 -0.056459 -0.0298274 0.0436758 0.18 0 pose: 0.42001504 -4.70364 -1.01735 0 0.000877711 -0.00128207 0.717926 0.696118 uwb: 0.49983765 983.719 1478.16 -imu_odom_: 1691062555.506783646 0.538695 -0.318429 9.9934 -0.072438 0.0340885 0.0575243 0.18 0 pose: 0.0 -4.70364 -1.01735 0 0.000877711 -0.00128207 0.717926 0.696118 uwb: 0.0 983.719 1478.16 -imu_odom_: 1691062555.531906038 0.299275 -0.0742203 10.2185 -0.0575243 0.0340885 0.0383495 0.19 0 pose: 0.49857192 -4.69937 -1.00387 0 -0.00135114 0.00174477 0.718177 0.695857 uwb: 0.50029552 985.795 1478.63 -imu_odom_: 1691062555.548761527 0.244209 -0.3304 9.94551 -0.076699 0.00532632 0.0585895 0.19 0 pose: 0.0 -4.69937 -1.00387 0 -0.00135114 0.00174477 0.718177 0.695857 uwb: 0.0 985.795 1478.63 -imu_odom_: 1691062555.573897335 0.737414 -0.191536 9.8258 -0.0607201 -0.0383495 0.0298274 0.18 0 pose: 0.43161659 -4.70398 -0.994993 0 -0.000476874-0.0001268290.718351 0.695681 uwb: 0.50198997 984.955 1478.72 -imu_odom_: 1691062555.596884319 0.0454898 -0.289698 9.59357 -0.0777643 0.00639159 0.0426106 0.18 0 pose: 0.0 -4.70398 -0.994993 0 -0.000476874-0.0001268290.718351 0.695681 uwb: 0.0 984.955 1478.72 -imu_odom_: 1691062555.622950176 0.577003 -0.260968 9.62708 -0.0681769 -0.056459 0.0351537 0.25 0.02 pose: 0.42000337 -4.70398 -0.994993 0 -0.00158922 0.000989675 0.718424 0.695603 uwb: 0.0 984.955 1478.72 -imu_odom_: 1691062555.647911873 0.723049 -0.270545 10.0604 -0.0703074 0.00106526 0.0436758 0.19 0 pose: 0.48273864 -4.69972 -0.981506 0 -0.00165368 -2.52391e-060.718378 0.695651 uwb: 0.49871482 983.293 1478.41 -imu_odom_: 1691062555.673777371 0.574608 -0.320823 9.34217 -0.0660464 0.015979 0.04048 0.19 0 pose: 0.0 -4.69972 -0.981506 0 -0.00165368 -2.52391e-060.718378 0.695651 uwb: 0.49982306 981.21 1478.26 -imu_odom_: 1691062555.687895210 0.0933739 -0.280122 9.59596 -0.0713727 0.0170442 0.0468716 0.19 0 pose: 0.0 -4.69972 -0.981506 0 -0.00165368 -2.52391e-060.718378 0.695651 uwb: 0.0 981.21 1478.26 -imu_odom_: 1691062555.705968015 0.584185 -0.0574608 10.5967 -0.0394148 -0.0596548 0.0351537 0.18 -0.02 pose: 0.74699023 -4.70434 -0.972634 0 0.000918563 -0.00577705 0.718396 0.69561 uwb: 0.0 981.21 1478.26 -imu_odom_: 1691062555.722893207 0.220267 -0.148441 9.26795 -0.0617853 0.0308927 0.0500674 0.18 -0.02 pose: 0.0 -4.70434 -0.972634 0 0.000918563 -0.00577705 0.718396 0.69561 uwb: 0.0 981.21 1478.26 -imu_odom_: 1691062555.746874110 0.543484 -0.292093 9.95509 -0.0532632 -0.00639159 0.04048 0.26 0.02 pose: 0.42984632 -4.70009 -0.959147 0 0.00137298 -0.00307896 0.718455 0.695565 uwb: 0.49935060 980.367 1478.41 -imu_odom_: 1691062555.763793760 0.797269 -0.529119 9.44513 -0.0671117 0 0.0436758 0.26 0.02 pose: 0.0 -4.70009 -0.959147 0 0.00137298 -0.00307896 0.718455 0.695565 uwb: 0.0 980.367 1478.41 -imu_odom_: 1691062555.788846741 0.483629 -0.191536 10.2759 -0.0372843 0.02024 0.0394148 0.18 0 pose: 0.7884851 -4.70009 -0.959147 0 0.00155057 -0.00384991 0.718456 0.69556 uwb: 0.49949934 979.948 1478.44 -imu_odom_: 1691062555.813751860 0.770933 0.0526724 10.2879 -0.0553937 0.0181095 0.052198 0.23 0 pose: 0.0 -4.70009 -0.959147 0 0.00155057 -0.00384991 0.718456 0.69556 uwb: 0.0 979.948 1478.44 -imu_odom_: 1691062555.836723387 0.519542 -0.1652 9.78031 -0.0458064 -0.0330232 0.0415453 0.18 0 pose: 0.66023821 -4.70932 -0.941408 0 0.00338251 -0.0042842 0.718506 0.695499 uwb: 0.50069215 979.517 1478.73 -imu_odom_: 1691062555.861717165 0.263362 0.00957681 9.93594 -0.072438 -0.0426106 0.0500674 0.18 0 pose: 0.0 -4.70932 -0.941408 0 0.00338251 -0.0042842 0.718506 0.695499 uwb: 0.0 979.517 1478.73 -imu_odom_: 1691062555.878825800 0.428562 -0.378284 9.75398 -0.0596548 -0.00213053 0.0500674 0.18 0.02 pose: 0.49004136 -4.70045 -0.936788 0 0.00641643 -0.00159515 0.718605 0.695387 uwb: 0.50098964 979.52 1478.66 -imu_odom_: 1691062555.894763197 0.507571 -0.126893 9.81862 -0.0543285 -0.0234358 0.0394148 0.18 0.02 pose: 0.0 -4.70045 -0.936788 0 0.00641643 -0.00159515 0.718605 0.695387 uwb: 0.0 979.52 1478.66 -imu_odom_: 1691062555.918869215 0.873884 -0.356736 9.52653 -0.0671117 -0.00958738 0.0298274 0.25 0 pose: 0.48957182 -4.70508 -0.92792 0 0.00629384 -0.0008625050.718719 0.695272 uwb: 0.0 979.52 1478.66 -imu_odom_: 1691062555.935764950 0.490811 -0.143652 9.62708 -0.0447411 0.0340885 0.0298274 0.25 0 pose: 0.0 -4.70508 -0.92792 0 0.00629384 -0.0008625050.718719 0.695272 uwb: 0.49953433 979.095 1478.8 -imu_odom_: 1691062555.961740398 0.648829 -0.351948 9.58638 -0.052198 -0.00852212 0.04048 0.18 -0.02 pose: 0.8193118 -4.70508 -0.92792 0 0.00650674 -0.00169905 0.718692 0.695296 uwb: 0.0 979.095 1478.8 -imu_odom_: 1691062555.987787589 0.397437 -0.23942 9.62469 -0.0628506 0.00426106 0.056459 0.25 0 pose: 0.0 -4.70508 -0.92792 0 0.00650674 -0.00169905 0.718692 0.695296 uwb: 0.50109171 976.982 1479.25 -imu_odom_: 1691062556.715526 0.380678 -0.222661 10.0389 -0.0713727 -0.0149137 0.0575243 0.18 -0.02 pose: 0.66968743 -4.70083 -0.914431 0 0.00507541 -0.00367194 0.718652 0.695342 uwb: 0.0 976.982 1479.25 -imu_odom_: 1691062556.25727390 0.150835 -0.201113 9.94551 -0.0500674 0.00745685 0.0447411 0.18 -0.02 pose: 0.0 -4.70083 -0.914431 0 0.00507541 -0.00367194 0.718652 0.695342 uwb: 0.49757746 977.812 1479.43 -imu_odom_: 1691062556.48703297 -0.0215478 -0.361524 9.78031 -0.0575243 -0.0106526 0.052198 0.25 0 pose: 0.55802332 -4.70873 -0.899284 0 0.000525207 -0.0002774380.718897 0.695116 uwb: 0.0 977.812 1479.43 -imu_odom_: 1691062556.65693819 0.823605 0.0191536 10.2975 -0.0660464 -0.056459 0.0458064 0.25 0 pose: 0.6987177 -4.71008 -0.896699 0 -9.72922e-05-2.70674e-060.718928 0.695084 uwb: 0.0 977.812 1479.43 -imu_odom_: 1691062556.89823173 0.459687 -0.0550666 10.2328 -0.0745685 -0.0170442 0.0596548 0.18 0 pose: 0.0 -4.71008 -0.896699 0 -9.72922e-05-2.70674e-060.718928 0.695084 uwb: 0.50051143 978.636 1479.77 -imu_odom_: 1691062556.106722412 0.409408 -0.299275 9.46667 -0.0873517 -0.0223706 0.0415453 0.18 0 pose: 0.41042008 -4.70122 -0.892069 0 0.00106204 9.87824e-05 0.719091 0.694915 uwb: 0.0 978.636 1479.77 -imu_odom_: 1691062556.131845976 0.342371 -0.117316 10.0389 -0.076699 0.0287621 0.0383495 0.2 0.02 pose: 0.0 -4.70122 -0.892069 0 0.00106204 9.87824e-05 0.719091 0.694915 uwb: 0.0 978.636 1479.77 -imu_odom_: 1691062556.157775932 0.270545 -0.414197 9.74919 -0.0543285 -0.00213053 0.0383495 0.2 0.02 pose: 0.42029218 -4.70585 -0.883208 0 0.00087887 0.000290365 0.71921 0.694792 uwb: 0.0 978.636 1479.77 -imu_odom_: 1691062556.181840833 0.177171 -0.23942 9.96467 -0.0660464 -0.052198 0.0426106 0.19 0 pose: 0.41990139 -4.70906 -0.877078 0 -0.00183567 0.00110129 0.719187 0.694813 uwb: 0.99990297 978.636 1479.77 -imu_odom_: 1691062556.207689712 -0.0023942 -0.177171 10.5896 -0.0426106 0.00106526 0.0308927 0.19 0 pose: 0.8032133 -4.71049 -0.874348 0 -0.00234896 0.00144555 0.719195 0.694803 uwb: 0.0 978.636 1479.77 -imu_odom_: 1691062556.231752863 0.28491 -0.342371 10.0126 -0.0490022 -0.02024 0.0340885 0.19 -0.02 pose: 0.41881647 -4.70496 -0.863338 0 -0.00484407 0.0043779 0.719124 0.694851 uwb: 0.49994857 976.549 1479.58 -imu_odom_: 1691062556.256701150 0.320823 -0.332794 9.4978 -0.0468716 -0.0394148 0.0500674 0.19 -0.02 pose: 0.0 -4.70496 -0.863338 0 -0.00484407 0.0043779 0.719124 0.694851 uwb: 0.0 976.549 1479.58 -imu_odom_: 1691062556.281764927 0.61531 -0.153229 9.65342 -0.036219 -0.0245011 0.0330232 0.19 -0.02 pose: 0.32028498 -4.70626 -0.860851 0 -0.00630402 0.00160218 0.719092 0.694884 uwb: 0.50031896 978.201 1480.15 -imu_odom_: 1691062556.297965681 0.706289 0.071826 9.9096 -0.0532632 -0.0138484 0.0426106 0.19 -0.02 pose: 0.0 -4.70626 -0.860851 0 -0.00630402 0.00160218 0.719092 0.694884 uwb: 0.0 978.201 1480.15 -imu_odom_: 1691062556.322773979 0.711078 -0.385466 9.69891 -0.0607201 0.04048 0.0223706 0.18 0 pose: 0.49163675 -4.7109 -0.851989 0 -0.00311312 -0.0009101510.719104 0.694895 uwb: 0.0 978.201 1480.15 -imu_odom_: 1691062556.338768250 0.0861913 -0.136469 9.89524 -0.052198 0.0372843 0.036219 0.18 0 pose: 0.0 -4.7109 -0.851989 0 -0.00311312 -0.0009101510.719104 0.694895 uwb: 0.0 978.201 1480.15 -imu_odom_: 1691062556.363832611 0.402226 -0.519542 10.3501 -0.0703074 -0.0191748 0.0553937 0.18 0.02 pose: 0.40860023 -4.70667 -0.838494 0 -0.00196113 -0.00208567 0.718954 0.695052 uwb: 0.0 978.201 1480.15 -imu_odom_: 1691062556.387756648 0.509965 -0.179565 10.0772 -0.0479369 -0.0181095 0.0276969 0.18 0 pose: 0.34090703 -4.70667 -0.838494 0 -0.00403924 -0.00330689 0.719074 0.694914 uwb: 0.100016836 974.835 1480.27 -imu_odom_: 1691062556.412670521 0.821211 -0.172383 9.43794 -0.0351537 0.0213053 0.02024 0.18 0 pose: 0.0 -4.70667 -0.838494 0 -0.00403924 -0.00330689 0.719074 0.694914 uwb: 0.0 974.835 1480.27 -imu_odom_: 1691062556.436702466 -0.452504 -0.124498 10.2927 -0.0372843 -0.0170442 0.0458064 0.18 0 pose: 0.7939099 -4.70667 -0.838494 0 -0.00318768 -0.00325079 0.719042 0.694952 uwb: 0.49999524 970.614 1480.64 -imu_odom_: 1691062556.453766483 0.263362 -0.186748 9.89284 -0.0532632 0.00213053 0.0660464 0.18 0 pose: 0.0 -4.70667 -0.838494 0 -0.00318768 -0.00325079 0.719042 0.694952 uwb: 0.0 970.614 1480.64 -imu_odom_: 1691062556.476687852 0.790087 -0.179565 9.93354 -0.0415453 -0.00852212 0.0532632 0.18 0 pose: 0.48935027 -4.70244 -0.825001 0 0.000245366 -0.00330607 0.718821 0.695187 uwb: 0.49867117 969.739 1481.15 -imu_odom_: 1691062556.502677304 1.02711 -0.201113 10.0293 -0.0458064 -0.02024 0.056459 0.18 0 pose: 0.0 -4.70244 -0.825001 0 0.000245366 -0.00330607 0.718821 0.695187 uwb: 0.0 969.739 1481.15 -imu_odom_: 1691062556.515671738 0.414197 0.0287304 10.1586 -0.0458064 -0.0191748 0.0415453 0.18 0 pose: 0.0 -4.70244 -0.825001 0 0.000245366 -0.00330607 0.718821 0.695187 uwb: 0.0 969.739 1481.15 -imu_odom_: 1691062556.539728764 0.146046 -0.105345 9.63906 -0.076699 0.0149137 0.0788296 0.17 0 pose: 0.40045464 -4.70707 -0.816136 0 -0.000669543-0.00077509 0.719053 0.694954 uwb: 0.50032187 969.32 1481.1 -imu_odom_: 1691062556.565711508 0.505177 -0.126893 9.84496 -0.0649811 0.00426106 0.04048 0.21 -0.02 pose: 0.78976563 -4.70581 -0.804188 0 0.00203819 -0.0002405040.719607 0.694378 uwb: 0.0 969.32 1481.1 -imu_odom_: 1691062556.578663945 0.222661 -0.292093 9.67497 -0.0649811 0.0191748 0.0607201 0.21 -0.02 pose: 0.0 -4.70581 -0.804188 0 0.00203819 -0.0002405040.719607 0.694378 uwb: 0.49953735 964.308 1480.5 -imu_odom_: 1691062556.602667309 -0.150835 -0.332794 10.0724 -0.052198 0.0149137 0.0394148 0.21 -0.02 pose: 0.0 -4.70581 -0.804188 0 0.00203819 -0.0002405040.719607 0.694378 uwb: 0.0 964.308 1480.5 -imu_odom_: 1691062556.628676592 0.435745 -0.289698 9.90002 -0.0692422 -0.0213053 0.0585895 0.17 0 pose: 0.8008218 -4.70285 -0.802635 0 0.00278754 -0.0002704190.719608 0.694375 uwb: 0.50001565 962.619 1480.51 -imu_odom_: 1691062556.643753063 0.356736 -0.248997 10.2783 -0.076699 -0.0298274 0.0617853 0.17 0 pose: 0.0 -4.70285 -0.802635 0 0.00278754 -0.0002704190.719608 0.694375 uwb: 0.0 962.619 1480.51 -imu_odom_: 1691062556.667759636 0.533907 -0.126893 10.228 -0.0692422 -0.0181095 0.0426106 0.17 0.02 pose: 0.38994676 -4.7075 -0.79378 0 0.00231506 0.000526757 0.719708 0.694273 uwb: 0.0 962.619 1480.51 -imu_odom_: 1691062556.693638263 1.09654 -0.258574 10.3286 -0.0735032 -0.0298274 0.0308927 0.25 0.02 pose: 0.48156633 -4.71214 -0.784927 0 -0.000683922-0.00103547 0.719927 0.694049 uwb: 0.50053769 960.914 1480.71 -imu_odom_: 1691062556.716641876 0 -0.296881 9.90002 -0.0639159 -0.0287621 0.0468716 0.25 0.02 pose: 0.0 -4.71214 -0.784927 0 -0.000683922-0.00103547 0.719927 0.694049 uwb: 0.0 960.914 1480.71 -imu_odom_: 1691062556.739671153 -0.0861913 -0.392649 9.58638 -0.0543285 -0.00213053 0.0394148 0.18 0 pose: 0.40815110 -4.70329 -0.780271 0 0.0015378 -0.00183371 0.719995 0.693976 uwb: 0.50202798 958.793 1480.79 -imu_odom_: 1691062556.756777166 0.35913 -0.0790087 10.0963 -0.0479369 -0.02024 0.0340885 0.18 0 pose: 0.0 -4.70329 -0.780271 0 0.0015378 -0.00183371 0.719995 0.693976 uwb: 0.0 958.793 1480.79 -imu_odom_: 1691062556.772778145 0.306458 -0.361524 9.84017 -0.0660464 -0.0117179 0.0511327 0.18 0 pose: 0.0 -4.70329 -0.780271 0 0.0015378 -0.00183371 0.719995 0.693976 uwb: 0.0 958.793 1480.79 -imu_odom_: 1691062556.789654927 0.560243 -0.0454898 10.0341 -0.0308927 -0.0862864 0.0340885 0.2 0 pose: 0.48128635 -4.70795 -0.771422 0 0.000424372 -0.00202354 0.720001 0.69397 uwb: 0.49841744 956.231 1481.03 -imu_odom_: 1691062556.805824184 0.622492 -0.102951 9.8689 -0.0617853 -0.0394148 0.0511327 0.2 0 pose: 0.0 -4.70795 -0.771422 0 0.000424372 -0.00202354 0.720001 0.69397 uwb: 0.0 956.231 1481.03 -imu_odom_: 1691062556.831701645 0.272939 -0.222661 10.0173 -0.0458064 -0.00319579 0.052198 0.25 0 pose: 0.81992148 -4.70611 -0.753444 0 0.00244124 -0.0011848 0.720065 0.693901 uwb: 0.49927779 955.379 1481.07 -imu_odom_: 1691062556.854650429 0.438139 -0.299275 9.81383 -0.0458064 0.0276969 0.0458064 0.25 0 pose: 0.0 -4.70611 -0.753444 0 0.00244124 -0.0011848 0.720065 0.693901 uwb: 0.0 955.379 1481.07 -imu_odom_: 1691062556.880795617 0.486023 -0.143652 10.173 -0.0468716 0.00426106 0.0372843 0.18 0 pose: 0.7865313 -4.70842 -0.749066 0 0.00182893 -0.0006902430.720101 0.693867 uwb: 0.50179467 956.185 1481.52 -imu_odom_: 1691062556.896640859 0.131681 -0.373495 9.06684 -0.0649811 -0.0319579 0.052198 0.18 -0.02 pose: 0.0 -4.70842 -0.749066 0 0.00182893 -0.0006902430.720101 0.693867 uwb: 0.0 956.185 1481.52 -imu_odom_: 1691062556.922779923 0.25618 -0.332794 9.19373 -0.0415453 -0.0276969 0.0458064 0.18 0.02 pose: 0.82951362 -4.71308 -0.740219 0 0.000452133 -0.0005541270.720277 0.693687 uwb: 0.49893948 953.217 1481.5 -imu_odom_: 1691062556.947721502 0.191536 0.0191536 10.0173 -0.0511327 0.00639159 0.0426106 0.18 -0.02 pose: 0.0 -4.71308 -0.740219 0 0.000452133 -0.0005541270.720277 0.693687 uwb: 0.0 953.217 1481.5 -imu_odom_: 1691062556.971653413 0.217872 -0.246603 10.2017 -0.0500674 -0.015979 0.0394148 0.18 -0.02 pose: 0.34033833 -4.7089 -0.726708 0 -0.00170239 0.000542794 0.720342 0.693616 uwb: 0.0 953.217 1481.5 -imu_odom_: 1691062556.994835220 0.768539 -0.28491 10.1466 -0.0841559 -0.02024 0.0436758 0.26 -0.02 pose: 0.40978721 -4.7089 -0.726708 0 -0.00352866 0.00328529 0.720351 0.693593 uwb: 0.49767376 948.171 1481.06 -imu_odom_: 1691062557.20696060 0.653617 -0.373495 10.0389 -0.0532632 -0.0447411 0.036219 0.26 -0.02 pose: 0.7016633 -4.7089 -0.726708 0 -0.00312949 0.0026176 0.720363 0.693585 uwb: 0.0 948.171 1481.06 -imu_odom_: 1691062557.36635214 0.294487 -0.0861913 9.92157 -0.0447411 -0.00213053 0.0511327 0.17 0 pose: 0.0 -4.7089 -0.726708 0 -0.00312949 0.0026176 0.720363 0.693585 uwb: 0.50143890 946.878 1481.22 -imu_odom_: 1691062557.53642655 0.483629 -0.426168 9.73482 -0.0617853 -0.0149137 0.0383495 0.17 0 pose: 0.48977320 -4.70472 -0.713198 0 -0.000799157-0.0009743630.720387 0.693571 uwb: 0.0 946.878 1481.22 -imu_odom_: 1691062557.79630362 0.378284 -0.732626 9.35415 0.00745685 -0.0298274 0.0181095 0.18 -0.02 pose: 0.0 -4.70472 -0.713198 0 -0.000799157-0.0009743630.720387 0.693571 uwb: 0.50140980 948.152 1481.25 -imu_odom_: 1691062557.102617647 0.234632 0.19393 10.0317 -0.00319579 -0.0862864 0.0596548 0.18 -0.02 pose: 0.35107960 -4.70939 -0.704353 0 -0.0015962 -0.00223199 0.720346 0.69361 uwb: 0.0 948.152 1481.25 -imu_odom_: 1691062557.119622464 1.02951 -0.0814029 9.93833 -0.0777643 -0.0553937 0.0958738 0.25 -0.02 pose: 0.0 -4.70939 -0.704353 0 -0.0015962 -0.00223199 0.720346 0.69361 uwb: 0.0 948.152 1481.25 -imu_odom_: 1691062557.144611877 0.981623 -0.270545 9.51695 -0.105461 -0.0106526 0.0671117 0.25 -0.02 pose: 0.47898830 -4.71405 -0.695509 0 0.000484035 -0.00186043 0.720543 0.693408 uwb: 0.49857503 945.165 1481.32 -imu_odom_: 1691062557.170682410 0.634463 -0.0790087 9.47864 -0.0873517 0.0170442 0.0127832 0.23 0 pose: 0.33957721 -4.71405 -0.695509 0 0.00265143 -0.00490767 0.720944 0.692971 uwb: 0.0 945.165 1481.32 -imu_odom_: 1691062557.185630562 0.603339 -0.282516 10.0868 -0.109722 0.0138484 0.0415453 0.23 0 pose: 0.0 -4.71405 -0.695509 0 0.00265143 -0.00490767 0.720944 0.692971 uwb: 0.49947329 942.232 1480.9 -imu_odom_: 1691062557.212609854 0.414197 -0.493206 9.82102 -0.0447411 0.015979 0.0394148 0.18 -0.02 pose: 0.7085754 -4.71405 -0.695509 0 0.00322161 -0.0048391 0.720874 0.693042 uwb: 0.0 942.232 1480.9 -imu_odom_: 1691062557.236620806 0.45011 -0.124498 9.94073 -0.0415453 -0.00532632 0.0394148 0.18 -0.02 pose: 0.0 -4.71405 -0.695509 0 0.00322161 -0.0048391 0.720874 0.693042 uwb: 0.50063403 939.672 1480.92 -imu_odom_: 1691062557.262657800 0.483629 -0.483629 10.228 -0.076699 -0.00745685 0.0458064 0.19 0 pose: 0.42041476 -4.70989 -0.681992 0 0.0036059 -0.00650507 0.720698 0.693209 uwb: 0.0 939.672 1480.92 -imu_odom_: 1691062557.278638367 -0.107739 -0.342371 9.62469 -0.0628506 0.0298274 0.0255663 0.19 0 pose: 0.0 -4.70989 -0.681992 0 0.0036059 -0.00650507 0.720698 0.693209 uwb: 0.49982910 939.66 1481.01 -imu_odom_: 1691062557.294648099 0.213084 -0.215478 10.5632 -0.0447411 -0.00745685 0.0276969 0.23 0 pose: 0.50942997 -4.71457 -0.673152 0 0.00203796 -0.00510343 0.720729 0.693195 uwb: 0.0 939.66 1481.01 -imu_odom_: 1691062557.320618890 0.775721 -0.3304 10.2687 -0.0500674 0.00213053 0.0298274 0.23 0 pose: 0.0 -4.71457 -0.673152 0 0.00203796 -0.00510343 0.720729 0.693195 uwb: 0.0 939.66 1481.01 -imu_odom_: 1691062557.345600429 0.59855 -0.325611 9.74919 -0.0447411 -0.0436758 0.0511327 0.23 0 pose: 0.40919527 -4.71041 -0.659637 0 -0.00117817 -0.00463431 0.720676 0.693256 uwb: 0.50058153 935.892 1480.45 -imu_odom_: 1691062557.359694359 1.00317 -0.225055 9.90481 -0.0617853 0.00319579 0.0383495 0.23 0 pose: 0.0 -4.71041 -0.659637 0 -0.00117817 -0.00463431 0.720676 0.693256 uwb: 0.0 935.892 1480.45 -imu_odom_: 1691062557.374746335 0.68953 -0.11971 9.81862 -0.0607201 -0.00532632 0.0372843 0.23 0 pose: 0.0 -4.71041 -0.659637 0 -0.00117817 -0.00463431 0.720676 0.693256 uwb: 0.49798300 933.403 1479.93 -imu_odom_: 1691062557.401603721 -0.160412 -0.426168 10.0006 -0.0553937 0.0319579 0.0330232 0.18 0 pose: 0.42015519 -4.71041 -0.659637 0 0.000592665 -0.00636727 0.720567 0.693356 uwb: 0.0 933.403 1479.93 -imu_odom_: 1691062557.425705373 0.234632 -0.220267 9.90481 -0.0447411 0.0106526 0.036219 0.18 0 pose: 0.73986571 -4.71215 -0.641315 0 0.00175961 -0.00684647 0.720546 0.693371 uwb: 0.50144771 935.928 1480.2 -imu_odom_: 1691062557.450584545 0.560243 -0.416591 10.3597 -0.0660464 -0.0415453 0.0500674 0.18 0 pose: 0.0 -4.71215 -0.641315 0 0.00175961 -0.00684647 0.720546 0.693371 uwb: 0.0 935.928 1480.2 -imu_odom_: 1691062557.473652033 0.299275 -0.265756 10.1299 -0.0458064 -0.0213053 0.0213053 0.18 0 pose: 0.8007927 -4.71091 -0.637281 0 0.00131073 -0.00610175 0.720542 0.693383 uwb: 0.50024323 935.515 1480.1 -imu_odom_: 1691062557.489597019 0.471658 -0.28491 9.88566 -0.0468716 0.00319579 0.0266316 0.18 0 pose: 0.0 -4.71091 -0.637281 0 0.00131073 -0.00610175 0.720542 0.693383 uwb: 0.0 935.515 1480.1 -imu_odom_: 1691062557.515600766 0.677559 -0.0909797 9.90002 -0.0191748 -0.00958738 0.0330232 0.25 0.02 pose: 0.47981949 -4.71558 -0.62844 0 -0.000183175-0.00687235 0.720574 0.693344 uwb: 0.0 935.515 1480.1 -imu_odom_: 1691062557.540637426 0.213084 -0.186748 10.0365 -0.0447411 0.0255663 0.056459 0.25 0.02 pose: 0.0 -4.71558 -0.62844 0 -0.000183175-0.00687235 0.720574 0.693344 uwb: 0.49950537 932.958 1480.05 -imu_odom_: 1691062557.567698378 0.296881 -0.0933739 9.50259 -0.0426106 0.0106526 0.0490022 0.21 0.02 pose: 0.40121883 -4.71558 -0.62844 0 0.00145276 -0.00459589 0.720389 0.693553 uwb: 0.0 932.958 1480.05 -imu_odom_: 1691062557.583570162 0.399832 -0.220267 9.98622 -0.0394148 -0.00213053 0.0500674 0.21 0.02 pose: 0.0 -4.71558 -0.62844 0 0.00145276 -0.00459589 0.720389 0.693553 uwb: 0.50129314 934.155 1480.67 -imu_odom_: 1691062557.610654154 0.679953 -0.009576819.84735 -0.0692422 -0.0245011 0.056459 0.23 -0.02 pose: 0.50954955 -4.7114 -0.614929 0 0.00167607 -0.0012564 0.720523 0.693428 uwb: 0.0 934.155 1480.67 -imu_odom_: 1691062557.636568075 0.246603 -0.320823 9.75398 -0.0617853 0.0245011 0.052198 0.23 -0.02 pose: 0.0 -4.7114 -0.614929 0 0.00167607 -0.0012564 0.720523 0.693428 uwb: 0.49877335 931.201 1480.37 -imu_odom_: 1691062557.661588402 0.19393 -0.227449 9.85214 -0.0543285 0.0127832 0.0585895 0.25 0 pose: 0.42918737 -4.71608 -0.606086 0 0.000899156 -2.44966e-050.720689 0.693258 uwb: 0.0 931.201 1480.37 -imu_odom_: 1691062557.684566063 0.25618 -0.232238 9.98143 -0.0490022 0.0117179 0.036219 0.25 0 pose: 0.52083905 -4.71192 -0.592569 0 -0.00062709 0.000624426 0.720961 0.692975 uwb: 0.49819298 931.161 1480.65 -imu_odom_: 1691062557.700635582 -0.0957681 -0.220267 9.64145 -0.0553937 -0.00426106 0.0415453 0.2 0 pose: 0.0 -4.71192 -0.592569 0 -0.00062709 0.000624426 0.720961 0.692975 uwb: 0.0 931.161 1480.65 -imu_odom_: 1691062557.723555789 0.45011 -0.339977 10.398 -0.0756338 -0.0245011 0.0596548 0.2 0 pose: 0.0 -4.71192 -0.592569 0 -0.00062709 0.000624426 0.720961 0.692975 uwb: 0.50044737 929.039 1480.51 -imu_odom_: 1691062557.748728354 0.679953 -0.122104 10.1945 -0.0756338 -0.0106526 0.0490022 0.25 0 pose: 0.63904770 -4.7166 -0.583734 0 -0.00506897 0.00370439 0.721096 0.692807 uwb: 0.0 929.039 1480.51 -imu_odom_: 1691062557.771841338 0.943315 -0.234632 9.74919 -0.056459 -0.0149137 0.0351537 0.25 0 pose: 0.0 -4.7166 -0.583734 0 -0.00506897 0.00370439 0.721096 0.692807 uwb: 0.0 929.039 1480.51 -imu_odom_: 1691062557.787578091 0.605733 -0.248997 9.60793 -0.0617853 -0.0138484 0.0330232 0.18 0 pose: 0.48183765 -4.72129 -0.5749 0 -0.00196235 0.000127246 0.721288 0.692633 uwb: 0.49939455 929.862 1480.75 -imu_odom_: 1691062557.810668618 0.770933 -0.31364 9.96227 -0.0756338 -0.0585895 0.052198 0.18 0 pose: 0.0 -4.72129 -0.5749 0 -0.00196235 0.000127246 0.721288 0.692633 uwb: 0.0 929.862 1480.75 -imu_odom_: 1691062557.827564069 1.01754 -0.167594 9.96227 -0.0479369 -0.0308927 0.0372843 0.25 0 pose: 0.38914773 -4.71245 -0.57021 0 0.00084538 -0.00305566 0.721253 0.692664 uwb: 0.50096067 929.808 1481.12 -imu_odom_: 1691062557.852564856 0.23942 -0.306458 9.74201 -0.0617853 0.015979 0.0532632 0.25 0 pose: 0.0 -4.71245 -0.57021 0 0.00084538 -0.00305566 0.721253 0.692664 uwb: 0.0 929.808 1481.12 -imu_odom_: 1691062557.878550813 0.320823 -0.215478 9.81144 -0.0383495 0.0149137 0.0351537 0.23 0 pose: 0.57888471 -4.71714 -0.561377 0 0.00120169 -0.0043974 0.721425 0.692478 uwb: 0.50059320 926.437 1480.74 -imu_odom_: 1691062557.904654593 0.354342 -0.260968 10.6901 -0.0436758 0.0213053 0.04048 0.18 0 pose: 0.0 -4.71714 -0.561377 0 0.00120169 -0.0043974 0.721425 0.692478 uwb: 0.0 926.437 1480.74 -imu_odom_: 1691062557.930616344 0.703895 -0.347159 9.80665 -0.0607201 -0.0170442 0.04048 0.22 0.02 pose: 0.25985957 -4.71424 -0.551877 0 -0.000143809-0.00182153 0.721394 0.692523 uwb: 0.49992825 926.85 1480.85 -imu_odom_: 1691062557.945609117 0.399832 -0.311246 9.61751 -0.0585895 0.0170442 0.0447411 0.22 0.02 pose: 0.0 -4.71424 -0.551877 0 -0.000143809-0.00182153 0.721394 0.692523 uwb: 0.0 926.85 1480.85 -imu_odom_: 1691062557.961550604 0.454898 -0.0191536 10.2328 -0.04048 -0.0266316 0.0340885 0.18 0 pose: 0.33093583 -4.71301 -0.547854 0 -0.0021469 -0.0007783930.721405 0.69251 uwb: 0.0 926.85 1480.85 -imu_odom_: 1691062557.976571958 0.167594 -0.366313 9.03093 -0.0553937 0.0127832 0.0447411 0.18 0 pose: 0.0 -4.71301 -0.547854 0 -0.0021469 -0.0007783930.721405 0.69251 uwb: 0.49994284 926.808 1481.13 -imu_odom_: 1691062558.3542209 0.596156 -0.196325 9.50737 -0.0372843 -0.0394148 0.0372843 0.18 0 pose: 0.64927562 -4.72018 -0.534357 0 -0.00267705 -0.00150885 0.721434 0.692477 uwb: 0.0 926.808 1481.13 -imu_odom_: 1691062558.28679490 0.217872 -0.105345 10.2831 -0.0607201 -0.02024 0.0458064 0.18 0 pose: 0.7988971 -4.72239 -0.530193 0 -0.00179829 -0.00188543 0.721427 0.692486 uwb: 0.50019952 926.356 1481.27 -imu_odom_: 1691062558.55547380 0.354342 -0.179565 9.57681 -0.0596548 -0.0276969 0.04048 0.21 -0.02 pose: 0.44118561 -4.71356 -0.5255 0 -0.000204176-0.0005236880.721467 0.692449 uwb: 0.0 926.356 1481.27 -imu_odom_: 1691062558.71597944 0.68953 -0.387861 9.90242 -0.0777643 -0.0149137 0.0479369 0.21 -0.02 pose: 0.0 -4.71356 -0.5255 0 -0.000204176-0.0005236880.721467 0.692449 uwb: 0.0 926.356 1481.27 -imu_odom_: 1691062558.97604904 0.814029 -0.347159 9.90481 -0.0383495 -0.0543285 0.0298274 0.25 -0.02 pose: 0.42918454 -4.71826 -0.51667 0 4.50814e-05 0.000149425 0.721522 0.692391 uwb: 0.49829223 925.487 1481.33 -imu_odom_: 1691062558.120543490 0.335188 -0.378284 9.75398 -0.0500674 0.00213053 0.0500674 0.25 -0.02 pose: 0.0 -4.71826 -0.51667 0 4.50814e-05 0.000149425 0.721522 0.692391 uwb: 0.0 925.487 1481.33 -imu_odom_: 1691062558.136703712 0.19393 -0.0670376 9.991 -0.0117179 -0.0149137 0.036219 0.19 0 pose: 0.48945546 -4.71688 -0.504615 0 -0.000397285-0.00262123 0.72152 0.692389 uwb: 0.50068954 925.861 1481.7 -imu_odom_: 1691062558.158592092 0.385466 -0.0574608 9.88566 -0.0490022 0.00745685 0.0553937 0.19 0 pose: 0.0 -4.71688 -0.504615 0 -0.000397285-0.00262123 0.72152 0.692389 uwb: 0.0 925.861 1481.7 -imu_odom_: 1691062558.174597744 0.837971 -0.268151 9.47625 -0.076699 0.0245011 0.0458064 0.2 0 pose: 0.0 -4.71688 -0.504615 0 -0.000397285-0.00262123 0.72152 0.692389 uwb: 0.0 925.861 1481.7 -imu_odom_: 1691062558.200601787 0.196325 -0.217872 10.0006 -0.0426106 0.0415453 0.0575243 0.2 0 pose: 0.46013952 -4.71882 -0.494318 0 0.001254 0.000464133 0.721642 0.692266 uwb: 0.0 925.861 1481.7 -imu_odom_: 1691062558.224520001 0.265756 -0.349553 10.0102 -0.0596548 0.056459 0.04048 0.19 0 pose: 0.34044345 -4.72207 -0.488207 0 -0.0007761930.00197259 0.721819 0.692078 uwb: 0.100125368 925.354 1482.19 -imu_odom_: 1691062558.250568375 0.0383072 -0.306458 9.94312 -0.0809601 0.0138484 0.0639159 0.19 0 pose: 0.8013763 -4.72352 -0.485492 0 -0.00174471 0.00194623 0.72182 0.692076 uwb: 0.0 925.354 1482.19 -imu_odom_: 1691062558.276514965 0.42138 -0.246603 9.64863 -0.0628506 -0.00745685 0.0308927 0.19 0 pose: 0.24038662 -4.72352 -0.485492 0 -0.00449452 0.00228087 0.721885 0.691995 uwb: 0.49886385 922.81 1481.93 -imu_odom_: 1691062558.301643205 0.651223 -0.320823 10.319 -0.0596548 -0.0394148 0.04048 0.2 0 pose: 0.25969047 -4.7147 -0.480786 0 -0.00571709 0.00257835 0.722007 0.691858 uwb: 0.0 922.81 1481.93 -imu_odom_: 1691062558.315503532 0.349553 -0.117316 10.1131 -0.056459 -0.0127832 0.0394148 0.2 0 pose: 0.0 -4.7147 -0.480786 0 -0.00571709 0.00257835 0.722007 0.691858 uwb: 0.0 922.81 1481.93 -imu_odom_: 1691062558.338591438 0.459687 -0.335188 9.89284 -0.0511327 -0.0298274 0.0447411 0.2 0 pose: 0.0 -4.7147 -0.480786 0 -0.00571709 0.00257835 0.722007 0.691858 uwb: 0.49986128 922.754 1482.28 -imu_odom_: 1691062558.364641270 0.696713 -0.131681 9.65342 -0.0575243 -0.00319579 0.036219 0.18 0 pose: 0.24912716 -4.7194 -0.471963 0 -0.00389919 0.000675763 0.721961 0.691923 uwb: 0.0 922.754 1482.28 -imu_odom_: 1691062558.387541942 0.328006 -0.234632 9.91199 -0.0596548 0.00852212 0.0447411 0.19 -0.02 pose: 0.39046895 -4.7194 -0.471963 0 -0.00182586 -0.0006886320.72198 0.691911 uwb: 0.0 922.754 1482.28 -imu_odom_: 1691062558.411574480 0.356736 -0.177171 10.2017 -0.0330232 0.0553937 0.0447411 0.19 -0.02 pose: 0.42058400 -4.71773 -0.459737 0 0.00072368 -0.0032155 0.721969 0.691917 uwb: 0.0 922.754 1482.28 -imu_odom_: 1691062558.428579592 -0.141258 -0.471658 9.52174 -0.0500674 -0.015979 0.0511327 0.19 -0.02 pose: 0.0 -4.71773 -0.459737 0 0.00072368 -0.0032155 0.721969 0.691917 uwb: 0.100071122 924.822 1482.87 -imu_odom_: 1691062558.453580384 0.162806 -0.105345 9.89284 -0.0436758 0.00426106 0.0372843 0.26 0.02 pose: 0.6937600 -4.71529 -0.458433 0 0.000241823 -0.00265854 0.721983 0.691905 uwb: 0.0 924.822 1482.87 -imu_odom_: 1691062558.469562996 0.921768 -0.189142 10.1107 -0.0692422 0.00639159 0.0468716 0.26 0.02 pose: 0.0 -4.71529 -0.458433 0 0.000241823 -0.00265854 0.721983 0.691905 uwb: 0.0 924.822 1482.87 -imu_odom_: 1691062558.495560623 0.591368 -0.260968 9.73243 -0.0639159 -0.0287621 0.0447411 0.23 -0.02 pose: 0.47979042 -4.72 -0.44961 0 -0.00164511 0.00190797 0.722088 0.691797 uwb: 0.49939464 925.139 1483.6 -imu_odom_: 1691062558.522569377 0.387861 -0.426168 10.2975 -0.0745685 -0.036219 0.056459 0.2 0 pose: 0.41017526 -4.72471 -0.440789 0 -0.00258538 0.00425265 0.722118 0.691752 uwb: 0.49863346 922.169 1483.23 -imu_odom_: 1691062558.547743113 1.1157 -0.184354 10.4651 -0.0543285 -0.0276969 0.0319579 0.2 0 pose: 0.0 -4.72471 -0.440789 0 -0.00258538 0.00425265 0.722118 0.691752 uwb: 0.0 922.169 1483.23 -imu_odom_: 1691062558.574520885 1.08457 -0.349553 10.0916 -0.0319579 0.0170442 0.0223706 0.23 0.02 pose: 0.43022571 -4.7206 -0.427258 0 -0.0009998240.000351745 0.722243 0.691638 uwb: 0.50061954 922.09 1483.72 -imu_odom_: 1691062558.590501164 0.301669 -0.0526724 9.7037 -0.0330232 0.015979 0.04048 0.23 0.02 pose: 0.0 -4.7206 -0.427258 0 -0.0009998240.000351745 0.722243 0.691638 uwb: 0.0 922.09 1483.72 -imu_odom_: 1691062558.617515459 0.42138 -0.304064 9.72046 -0.0266316 0.00106526 0.0511327 0.23 0 pose: 0.51075413 -4.7206 -0.427258 0 0.000488141 -0.00356238 0.722236 0.691637 uwb: 0.0 922.09 1483.72 -imu_odom_: 1691062558.642558247 0.416591 -0.0430956 9.84735 -0.0351537 -0.0234358 0.052198 0.23 0 pose: 0.0 -4.7206 -0.427258 0 0.000488141 -0.00356238 0.722236 0.691637 uwb: 0.49943840 922.479 1483.99 -imu_odom_: 1691062558.667491670 0.28491 -0.246603 9.69891 -0.04048 -0.0394148 0.036219 0.21 0 pose: 0.42897457 -4.71649 -0.413726 0 0.00113229 -0.00305126 0.72215 0.691729 uwb: 0.0 922.479 1483.99 -imu_odom_: 1691062558.681487028 0.581791 0.100556 10.1275 -0.0649811 -0.036219 0.0617853 0.21 0 pose: 0.0 -4.71649 -0.413726 0 0.00113229 -0.00305126 0.72215 0.691729 uwb: 0.49981169 921.985 1484.37 -imu_odom_: 1691062558.706553439 0.0933739 -0.328006 9.7851 -0.0671117 0.0308927 0.0532632 0.18 0 pose: 0.51973090 -4.7212 -0.404905 0 0.000787895 -0.0009712820.722337 0.69154 uwb: 0.0 921.985 1484.37 -imu_odom_: 1691062558.732502654 0.320823 -0.248997 9.83777 -0.0543285 -0.0117179 0.0639159 0.18 0 pose: 0.0 -4.7212 -0.404905 0 0.000787895 -0.0009712820.722337 0.69154 uwb: 0.50002460 919.822 1484.35 -imu_odom_: 1691062558.755494027 0.428562 -0.301669 9.80186 -0.0468716 0 0.0340885 0.2 0 pose: 0.82958685 -4.72294 -0.386216 0 -0.00417696 0.00158757 0.722753 0.691092 uwb: 0.0 919.822 1484.35 -imu_odom_: 1691062558.780478488 0.325611 -0.25618 9.52174 -0.0671117 0.00958738 0.0575243 0.2 0 pose: 0.0 -4.72294 -0.386216 0 -0.00417696 0.00158757 0.722753 0.691092 uwb: 0.0 919.822 1484.35 -imu_odom_: 1691062558.796492013 0.557849 -0.497994 9.72285 -0.0788296 -0.0138484 0.0543285 0.2 0 pose: 0.30023466 -4.72183 -0.38255 0 -0.00382947 0.000117018 0.72275 0.691099 uwb: 0.0 919.822 1484.35 -imu_odom_: 1691062558.822497515 0.555455 -0.0143652 10.1347 -0.056459 -0.00958738 0.0500674 0.2 0 pose: 0.0 -4.72183 -0.38255 0 -0.00382947 0.000117018 0.72275 0.691099 uwb: 0.0 919.822 1484.35 -imu_odom_: 1691062558.848541222 0.409408 -0.270545 10.1011 -0.052198 0.0213053 0.0351537 0.19 0 pose: 0.41963907 -4.72656 -0.373738 0 -0.00418436 -7.65562e-050.722971 0.690866 uwb: 0.0 919.822 1484.35 -imu_odom_: 1691062558.864484754 -0.0622492 -0.363919 9.68215 -0.0628506 0.00639159 0.0436758 0.19 0 pose: 0.0 -4.72656 -0.373738 0 -0.00418436 -7.65562e-050.722971 0.690866 uwb: 0.0 919.822 1484.35 -imu_odom_: 1691062558.890591165 0.371101 -0.155623 9.61033 -0.0511327 -0.0490022 0.0383495 0.19 0 pose: 0.51132284 -4.72248 -0.360196 0 -0.00251886 -0.0017609 0.723006 0.690834 uwb: 0.150157866 918.578 1484 -imu_odom_: 1691062558.915536253 0.653617 -0.246603 10.2089 -0.0543285 -0.0223706 0.0511327 0.17 0 pose: 0.34968854 -4.72248 -0.360196 0 -0.00111147 0.000291071 0.723017 0.69083 uwb: 0.0 918.578 1484 -imu_odom_: 1691062558.931534322 0.553061 -0.517148 9.22007 -0.056459 0.0617853 0.0372843 0.17 0 pose: 0.0 -4.72248 -0.360196 0 -0.00111147 0.000291071 0.723017 0.69083 uwb: 0.49792768 918.919 1484.55 -imu_odom_: 1691062558.957543032 0.0909797 -0.225055 9.32302 -0.0575243 0.0213053 0.0553937 0.18 0.02 pose: 0.6889479 -4.72248 -0.360196 0 -0.000603246-0.0002622950.723044 0.690802 uwb: 0.0 918.919 1484.55 -imu_odom_: 1691062558.983467749 0.287304 -0.371101 10.0509 -0.0436758 -0.0191748 0.04048 0.18 0.02 pose: 0.0 -4.72248 -0.360196 0 -0.000603246-0.0002622950.723044 0.690802 uwb: 0.50023458 916.78 1484.33 -imu_odom_: 1691062559.9482001 0.320823 -0.184354 9.92636 -0.052198 -0.00319579 0.0436758 0.19 0 pose: 0.42082022 -4.72722 -0.351388 0 -0.000852636-0.0021778 0.723147 0.69069 uwb: 0.0 916.78 1484.33 -imu_odom_: 1691062559.35590166 0.277727 0.0407014 9.61511 -0.0511327 0.0223706 0.0490022 0.19 0 pose: 0.0 -4.72722 -0.351388 0 -0.000852636-0.0021778 0.723147 0.69069 uwb: 0.49997213 913.337 1484.09 -imu_odom_: 1691062559.60615753 0.679953 -0.0909797 10.3406 -0.0617853 0.0372843 0.056459 0.19 0 pose: 0.50911802 -4.72315 -0.337844 0 -0.00422237 -0.0004110860.723263 0.690559 uwb: 0.0 913.337 1484.09 -imu_odom_: 1691062559.86480105 0.64404 -0.493206 9.68455 -0.0735032 0.0426106 0.0426106 0.2 -0.02 pose: 0.52022969 -4.72789 -0.32904 0 -0.00171704 0.00358031 0.723428 0.690389 uwb: 0.50250949 914.495 1484.94 -imu_odom_: 1691062559.102458345 0 -0.131681 10.0126 -0.0607201 -0.00639159 0.0500674 0.2 -0.02 pose: 0.0 -4.72789 -0.32904 0 -0.00171704 0.00358031 0.723428 0.690389 uwb: 0.0 914.495 1484.94 -imu_odom_: 1691062559.128529764 0.402226 -0.110133 9.92875 -0.0585895 -0.0276969 0.0479369 0.23 0 pose: 0.59960908 -4.72384 -0.315491 0 -0.00198422 0.00188746 0.723626 0.690187 uwb: 0.49922268 909.404 1484.2 -imu_odom_: 1691062559.154573476 0.244209 -0.28491 9.3709 -0.0394148 0.0223706 0.0298274 0.23 0 pose: 0.8070635 -4.72384 -0.315491 0 -0.00116375 0.00208291 0.723651 0.690162 uwb: 0.0 909.404 1484.2 -imu_odom_: 1691062559.179512445 0.234632 -0.198719 10.094 -0.0585895 0.0127832 0.052198 0.23 0 pose: 0.44044496 -4.72859 -0.306691 0 -0.00204065 0.00308836 0.723611 0.690198 uwb: 0.49828941 910.521 1485.27 -imu_odom_: 1691062559.193502847 0.553061 -0.476446 9.79228 -0.052198 -0.00639159 0.0394148 0.23 0 pose: 0.0 -4.72859 -0.306691 0 -0.00204065 0.00308836 0.723611 0.690198 uwb: 0.0 910.521 1485.27 -imu_odom_: 1691062559.218593762 0.368707 -0.280122 9.64624 -0.04048 0.0127832 0.0553937 0.18 -0.02 pose: 0.38929371 -4.72645 -0.299537 0 -0.00398952 0.00352348 0.723708 0.690085 uwb: 0.0 910.521 1485.27 -imu_odom_: 1691062559.235434973 0.732626 -0.0622492 10.2544 -0.076699 -0.00106526 0.0479369 0.18 -0.02 pose: 0.0 -4.72645 -0.299537 0 -0.00398952 0.00352348 0.723708 0.690085 uwb: 0.49991387 907.48 1485.11 -imu_odom_: 1691062559.260509556 0.225055 -0.550666 9.47625 -0.052198 0.0681769 0.0553937 0.2 -0.02 pose: 0.41932126 -4.72454 -0.293141 0 -0.00239806 0.000648126 0.723895 0.689906 uwb: 0.0 907.48 1485.11 -imu_odom_: 1691062559.287508399 0.0454898 -0.294487 10.0126 -0.0468716 0.00106526 0.0415453 0.2 -0.02 pose: 0.0 -4.72454 -0.293141 0 -0.00239806 0.000648126 0.723895 0.689906 uwb: 0.49983513 903.229 1484.37 -imu_odom_: 1691062559.312506571 0.366313 -0.244209 9.97185 -0.0756338 -0.0213053 0.0607201 0.19 0 pose: 0.52073426 -4.7293 -0.284345 0 -0.00734905 0.00224557 0.724033 0.689722 uwb: 0.0 903.229 1484.37 -imu_odom_: 1691062559.339448835 0.28491 -0.126893 10.2089 -0.0692422 0.00532632 0.0287621 0.19 0 pose: 0.0 -4.7293 -0.284345 0 -0.00734905 0.00224557 0.724033 0.689722 uwb: 0.50194370 900.68 1483.91 -imu_odom_: 1691062559.355438158 0.565032 -0.342371 9.64145 -0.0798948 0.0138484 0.04048 0.2 -0.02 pose: 0.31961147 -4.72526 -0.27079 0 -0.00474913 0.00154646 0.724205 0.689567 uwb: 0.0 900.68 1483.91 -imu_odom_: 1691062559.382487455 0.416591 -0.31364 9.96946 -0.0447411 0.02024 0.0383495 0.2 -0.02 pose: 0.0 -4.72526 -0.27079 0 -0.00474913 0.00154646 0.724205 0.689567 uwb: 0.49974180 897.62 1483.77 -imu_odom_: 1691062559.407434007 0.35913 -0.371101 10.3573 -0.0490022 -0.00958738 0.0330232 0.24 0.02 pose: 0.28127209 -4.72526 -0.27079 0 -0.00369657 0.00243629 0.72414 0.689638 uwb: 0.0 897.62 1483.77 -imu_odom_: 1691062559.434555339 0.435745 -0.395043 9.5385 -0.0490022 -0.0149137 0.0458064 0.23 0.02 pose: 0.15846126 -4.72526 -0.27079 0 -0.00349536 0.000984797 0.724139 0.689645 uwb: 0.49937433 901.737 1485.2 -imu_odom_: 1691062559.459503349 0.167594 -0.220267 9.81144 -0.036219 0.0223706 0.0415453 0.23 0.02 pose: 0.43991126 -4.73003 -0.261997 0 -0.00508312 -0.00242052 0.724059 0.689715 uwb: 0.0 901.737 1485.2 -imu_odom_: 1691062559.486482360 -0.122104 -0.42138 9.55287 -0.0490022 -0.00319579 0.0458064 0.23 -0.02 pose: 0.7058925 -4.73003 -0.261997 0 -0.00507343 -0.00313589 0.724071 0.6897 uwb: 0.49862480 900.847 1485.23 -imu_odom_: 1691062559.502532053 0.347159 -0.0574608 10.0149 -0.04048 -0.0245011 0.0351537 0.23 -0.02 pose: 0.0 -4.73003 -0.261997 0 -0.00507343 -0.00313589 0.724071 0.6897 uwb: 0.0 900.847 1485.23 -imu_odom_: 1691062559.529454485 0.897826 -0.184354 10.0772 -0.0649811 -0.00958738 0.0426106 0.23 -0.02 pose: 0.52137878 -4.72599 -0.248442 0 -0.00642317 -0.00197587 0.724148 0.689612 uwb: 0.49997803 897.346 1485.06 -imu_odom_: 1691062559.545562215 0.560243 -0.442927 9.68933 -0.0458064 0.0234358 0.0266316 0.23 -0.02 pose: 0.0 -4.72599 -0.248442 0 -0.00642317 -0.00197587 0.724148 0.689612 uwb: 0.0 897.346 1485.06 -imu_odom_: 1691062559.572559891 0.706289 -0.361524 9.991 -0.0735032 -0.00532632 0.056459 0.26 0.02 pose: 0.78931405 -4.7311 -0.228463 0 -0.00419127 -0.00289409 0.724129 0.689646 uwb: 0.50228493 897.287 1485.33 -imu_odom_: 1691062559.597575562 0.787692 -0.335188 9.60314 -0.0532632 -0.0458064 0.0234358 0.26 0.02 pose: 0.7895357 -4.72673 -0.226094 0 -0.00375216 -0.00357262 0.724172 0.6896 uwb: 0.0 897.287 1485.33 -imu_odom_: 1691062559.624423626 0.114922 -0.507571 9.64384 -0.0500674 0.0127832 0.04048 0.21 -0.02 pose: 0.44117990 -4.73015 -0.21977 0 -0.000549139-0.00734908 0.72412 0.689635 uwb: 0.50039216 897.2 1485.75 -imu_odom_: 1691062559.650450423 0.385466 -0.0885855 9.62469 -0.0308927 -0.00852212 0.04048 0.18 -0.02 pose: 0.0 -4.73015 -0.21977 0 -0.000549139-0.00734908 0.72412 0.689635 uwb: 0.0 897.2 1485.75 -imu_odom_: 1691062559.677399978 0.351948 -0.438139 9.36133 -0.0468716 0.0127832 0.0490022 0.25 0 pose: 0.52874861 -4.73492 -0.210968 0 -0.00161903 -0.00390786 0.724162 0.689617 uwb: 0.49724825 894.617 1485.39 -imu_odom_: 1691062559.702428773 0.474052 -0.0526724 9.95509 -0.0340885 -0.0213053 0.0511327 0.19 0 pose: 0.26949555 -4.73001 -0.205126 0 -0.0042628 -0.00452717 0.724247 0.689512 uwb: 0.0 894.617 1485.39 -imu_odom_: 1691062559.719464510 0.711078 -0.174777 10.1466 -0.0479369 -0.00745685 0.04048 0.19 0 pose: 0.8145295 -4.72746 -0.203744 0 -0.00346536 -0.00407361 0.724283 0.689482 uwb: 0.0 894.617 1485.39 -imu_odom_: 1691062559.745597757 0.486023 -0.177171 9.54808 -0.072438 -0.00532632 0.0639159 0.18 0.02 pose: 0.33919237 -4.73009 -0.198895 0 -0.000178452-0.0037666 0.724355 0.689417 uwb: 0.50141583 893.673 1485.64 -imu_odom_: 1691062559.772594850 0.811634 -0.28491 10.0365 -0.0575243 -0.052198 0.0458064 0.18 0.02 pose: 0.0 -4.73009 -0.198895 0 -0.000178452-0.0037666 0.724355 0.689417 uwb: 0.49864231 892.804 1485.54 -imu_odom_: 1691062559.788467807 0.979228 -0.0383072 9.97185 -0.0639159 0.00106526 0.0575243 0.19 0 pose: 0.8088133 -4.73223 -0.194954 0 0.000511898 -0.00348158 0.724422 0.689348 uwb: 0.0 892.804 1485.54 -imu_odom_: 1691062559.815433694 0.387861 -0.361524 10.1203 -0.0553937 0.0351537 0.0330232 0.19 0 pose: 0.0 -4.73223 -0.194954 0 0.000511898 -0.00348158 0.724422 0.689348 uwb: 0.0 892.804 1485.54 -imu_odom_: 1691062559.840402994 0.466869 -0.318429 9.68694 -0.0639159 0.00852212 0.0543285 0.2 0 pose: 0.52995017 -4.737 -0.186165 0 0.00483328 -0.00575135 0.724658 0.689068 uwb: 0.50005677 894.402 1486.37 -imu_odom_: 1691062559.857394110 0.56982 -0.497994 9.68933 -0.0735032 -0.0287621 0.052198 0.2 0 pose: 0.0 -4.737 -0.186165 0 0.00483328 -0.00575135 0.724658 0.689068 uwb: 0.0 894.402 1486.37 -imu_odom_: 1691062559.882446819 0.514753 -0.0837971 10.1634 -0.0575243 -0.0117179 0.0500674 0.2 0.02 pose: 0.42911172 -4.72821 -0.181389 0 0.00162939 -0.00553029 0.724706 0.689035 uwb: 0.50015301 890.499 1485.9 -imu_odom_: 1691062559.909480951 0.47884 -0.260968 10.2663 -0.0511327 -0.00319579 0.0330232 0.2 0.02 pose: 0.0 -4.72821 -0.181389 0 0.00162939 -0.00553029 0.724706 0.689035 uwb: 0.0 890.499 1485.9 -imu_odom_: 1691062559.934423711 0.409408 -0.323217 10.0197 -0.0735032 0.0127832 0.0607201 0.18 0.02 pose: 0.86022119 -4.73151 -0.160407 0 0.0011264 -0.00335983 0.724901 0.688844 uwb: 0.49987013 888.372 1485.44 -imu_odom_: 1691062559.961524337 0.308852 -0.232238 9.9527 -0.0511327 0 0.036219 0.23 0 pose: 0.8015514 -4.72899 -0.159039 0 0.000237172 -0.00350644 0.724961 0.688781 uwb: 0.0 888.372 1485.44 -imu_odom_: 1691062559.986385438 0.136469 -0.411803 10.1299 -0.0532632 -0.00745685 0.0447411 0.23 0 pose: 0.0 -4.72899 -0.159039 0 0.000237172 -0.00350644 0.724961 0.688781 uwb: 0.50032800 885.313 1485.13 -imu_odom_: 1691062560.13446111 0.565032 -0.174777 10.1538 -0.0458064 -0.0415453 0.0447411 0.21 -0.02 pose: 0.24064915 -4.72899 -0.159039 0 -0.00189452 -0.00312646 0.72508 0.688655 uwb: 0.0 885.313 1485.13 -imu_odom_: 1691062560.29391982 0.830788 -0.0526724 10.0317 -0.0692422 -0.0106526 0.0543285 0.21 -0.02 pose: 0.0 -4.72899 -0.159039 0 -0.00189452 -0.00312646 0.72508 0.688655 uwb: 0.49921396 885.232 1485.47 -imu_odom_: 1691062560.56390830 0.56982 -0.287304 9.98382 -0.0532632 -0.0191748 0.0426106 0.23 0.02 pose: 0.51909522 -4.73378 -0.150259 0 -0.00418165 -0.0009005760.725119 0.688611 uwb: 0.0 885.232 1485.47 -imu_odom_: 1691062560.82442130 1.01754 -0.402226 10.0437 -0.0479369 -0.0149137 0.0372843 0.23 0.02 pose: 0.0 -4.73378 -0.150259 0 -0.00418165 -0.0009005760.725119 0.688611 uwb: 0.50059641 883.059 1485.22 -imu_odom_: 1691062560.99446956 0.225055 -0.0742203 9.48583 -0.0543285 0.0127832 0.0458064 0.25 0 pose: 0.42924011 -4.72979 -0.13669 0 -1.99927e-05-0.00284847 0.725241 0.688489 uwb: 0.0 883.059 1485.22 -imu_odom_: 1691062560.125374308 0.35913 -0.277727 10.0269 -0.0713727 0.0340885 0.056459 0.25 0 pose: 0.0 -4.72979 -0.13669 0 -1.99927e-05-0.00284847 0.725241 0.688489 uwb: 0.49956691 885.908 1486.41 -imu_odom_: 1691062560.152529185 0.129287 -0.107739 10.0628 -0.0436758 0 0.0447411 0.25 0.02 pose: 0.52990361 -4.73458 -0.127913 0 0.00253845 -0.00613495 0.725239 0.688466 uwb: 0.0 885.908 1486.41 -imu_odom_: 1691062560.177517738 0.215478 -0.251391 10.2424 -0.0436758 0.00745685 0.0394148 0.19 0 pose: 0.43006839 -4.73937 -0.119136 0 -0.000587546-0.00269255 0.72544 0.68828 uwb: 0.50217712 884.655 1486.01 -imu_odom_: 1691062560.193473233 0.294487 -0.023942 9.991 -0.0596548 0.00745685 0.0458064 0.23 0.02 pose: 0.0 -4.73937 -0.119136 0 -0.000587546-0.00269255 0.72544 0.68828 uwb: 0.0 884.655 1486.01 -imu_odom_: 1691062560.219357422 0.0766145 -0.253785 9.36851 -0.036219 0.0298274 0.0245011 0.23 0.02 pose: 0.51978068 -4.73539 -0.105565 0 -0.00280928 0.00175479 0.725493 0.688221 uwb: 0.0 884.655 1486.01 -imu_odom_: 1691062560.243356722 0.462081 -0.11971 9.98861 -0.0245011 0 0.0447411 0.23 -0.02 pose: 0.0 -4.73539 -0.105565 0 -0.00280928 0.00175479 0.725493 0.688221 uwb: 0.49633550 883.844 1485.65 -imu_odom_: 1691062560.267351939 0.533907 0.0622492 10.0365 -0.02024 -0.0298274 0.0340885 0.23 -0.02 pose: 0.42004754 -4.73539 -0.105565 0 -0.00395216 0.00438362 0.725384 0.68832 uwb: 0.0 883.844 1485.65 -imu_odom_: 1691062560.284424719 0.526724 -0.428562 9.30387 -0.0511327 0.0138484 0.0500674 0.19 0 pose: 0.40977004 -4.73424 -0.093541 0 0.000735343 0.00441625 0.725381 0.688333 uwb: 0.50151800 884.138 1486.3 -imu_odom_: 1691062560.300417252 0.519542 -0.0311246 10.5752 -0.0639159 -0.0127832 0.0468716 0.19 0 pose: 0.0 -4.73424 -0.093541 0 0.000735343 0.00441625 0.725381 0.688333 uwb: 0.0 884.138 1486.3 -imu_odom_: 1691062560.326375810 1.00796 -0.316035 9.64624 -0.0671117 0.00319579 0.0532632 0.18 0 pose: 0.33065313 -4.73393 -0.0873812 0 0.00188054 0.00272678 0.72549 0.688225 uwb: 0.49955817 884.917 1486.8 -imu_odom_: 1691062560.351633549 0.905008 -0.344765 10.0461 -0.0628506 0.0319579 0.0426106 0.18 0 pose: 0.0 -4.73393 -0.0873812 0 0.00188054 0.00272678 0.72549 0.688225 uwb: 0.0 884.917 1486.8 -imu_odom_: 1691062560.377472533 0.275333 -0.23942 9.54808 -0.0841559 0.0511327 0.056459 0.18 0 pose: 0.51216297 -4.73974 -0.0767566 0 0.00375655 -0.00156677 0.725648 0.688054 uwb: 0.50126718 885.746 1487.09 -imu_odom_: 1691062560.400563657 0.40462 -0.280122 9.60554 -0.0894822 -0.0340885 0.0447411 0.18 0 pose: 0.0 -4.73974 -0.0767566 0 0.00375655 -0.00156677 0.725648 0.688054 uwb: 0.0 885.746 1487.09 -imu_odom_: 1691062560.416360790 0.608127 -0.579397 9.91678 -0.0575243 0.0266316 0.0351537 0.17 0.02 pose: 0.31855579 -4.74101 -0.0744464 0 0.000242704 -0.0006128120.725813 0.687891 uwb: 0.0 885.746 1487.09 -imu_odom_: 1691062560.432367032 1.26174 -0.40462 10.4818 -0.0713727 -0.0948085 0.0905475 0.17 0.02 pose: 0.0 -4.74101 -0.0744464 0 0.000242704 -0.0006128120.725813 0.687891 uwb: 0.49922278 879.78 1485.8 -imu_odom_: 1691062560.448342942 1.27372 -0.225055 9.66539 -0.0543285 -0.0447411 0.108657 0.17 0.02 pose: 0.0 -4.74101 -0.0744464 0 0.000242704 -0.0006128120.725813 0.687891 uwb: 0.0 879.78 1485.8 -imu_odom_: 1691062560.464332268 1.8579 -0.296881 10.1969 -0.0479369 -0.0468716 0.149137 0.15 0.2 pose: 0.23987926 -4.73224 -0.0696409 0 -0.00132984 -0.00268292 0.72583 0.687868 uwb: 0.0 879.78 1485.8 -imu_odom_: 1691062560.480355133 1.53468 -0.363919 9.34936 -0.0575243 -0.0809601 0.209857 0.15 0.2 pose: 0.0 -4.73224 -0.0696409 0 -0.00132984 -0.00268292 0.72583 0.687868 uwb: 0.49961357 878.372 1486.03 -imu_odom_: 1691062560.497465534 1.63763 -0.414197 10.082 -0.0415453 0 0.269512 0.15 0.41 pose: 0.72878079 -4.737 -0.0608772 0 0.0042351 -0.00944391 0.727967 0.685535 uwb: 0.0 878.372 1486.03 -imu_odom_: 1691062560.514517315 0.859518 -0.320823 9.83299 -0.0553937 0.0266316 0.372843 0.15 0.41 pose: 0.0 -4.737 -0.0608772 0 0.0042351 -0.00944391 0.727967 0.685535 uwb: 0.0 878.372 1486.03 -imu_odom_: 1691062560.530389984 0.80924 -0.622492 9.93594 -0.0596548 0.02024 0.46339 0.15 0.41 pose: 0.0 -4.737 -0.0608772 0 0.0042351 -0.00944391 0.727967 0.685535 uwb: 0.50102804 876.184 1485.77 -imu_odom_: 1691062560.546511424 0.806846 -0.560243 10.1849 -0.0415453 -0.0117179 0.488956 0.1 0.41 pose: 0.7153418 -4.73704 -0.0608714 0 0.00471131 -0.00994771 0.728524 0.684932 uwb: 0.0 876.184 1485.77 -imu_odom_: 1691062560.563452089 0.818817 -0.117316 9.69173 -0.0468716 -0.00958738 0.499609 0.09 0.47 pose: 0.0 -4.73704 -0.0608714 0 0.00471131 -0.00994771 0.728524 0.684932 uwb: 0.0 876.184 1485.77 -imu_odom_: 1691062560.580464207 1.06063 -0.0526724 10.2208 -0.036219 -0.0106526 0.515588 0.09 0.47 pose: 0.66995349 -4.73291 -0.047367 0 0.00613743 -0.0145646 0.737196 0.675494 uwb: 0.50015895 872.339 1484.92 -imu_odom_: 1691062560.596452366 0.948104 -0.414197 9.71328 -0.0585895 -0.0117179 0.540089 0.09 0.47 pose: 0.0 -4.73291 -0.047367 0 0.00613743 -0.0145646 0.737196 0.675494 uwb: 0.0 872.339 1484.92 -imu_odom_: 1691062560.613448735 0.758962 -0.572214 9.84496 -0.0617853 0.0149137 0.54435 0.08 0.5 pose: 0.0 -4.73291 -0.047367 0 0.00613743 -0.0145646 0.737196 0.675494 uwb: 0.0 872.339 1484.92 -imu_odom_: 1691062560.631450106 0.667982 -0.294487 9.98861 -0.0511327 -0.0117179 0.558199 0.08 0.5 pose: 0.33954241 -4.73291 -0.0473673 0 0.00910311 -0.0151823 0.742603 0.669498 uwb: 0.49848491 869.72 1484.54 -imu_odom_: 1691062560.645455385 0.761356 -0.0766145 9.68933 -0.0596548 -0.0191748 0.597613 0.07 0.58 pose: 0.42991965 -4.73762 -0.0385498 0 0.00783739 -0.0155263 0.749913 0.661308 uwb: 0.0 869.72 1484.54 -imu_odom_: 1691062560.660316927 0.881066 -0.308852 9.90481 -0.0340885 0.00106526 0.610397 0.07 0.58 pose: 0.5890605 -4.73762 -0.0385498 0 0.0083012 -0.0152146 0.750993 0.660083 uwb: 0.0 869.72 1484.54 -imu_odom_: 1691062560.677450952 0.593762 -0.395043 9.8665 -0.0426106 0.0394148 0.614658 0.07 0.58 pose: 0.0 -4.73762 -0.0385498 0 0.0083012 -0.0152146 0.750993 0.660083 uwb: 0.50004229 869.671 1484.72 -imu_odom_: 1691062560.694664012 0.885855 -0.263362 10.0173 -0.0500674 0.0149137 0.630637 0.05 0.5 pose: 0.40110241 -4.73758 -0.0385558 0 0.00817013 -0.0149003 0.758495 0.651457 uwb: 0.0 869.671 1484.72 -imu_odom_: 1691062560.709604298 1.00078 -0.277727 9.63427 -0.0500674 0.00745685 0.626375 0.05 0.47 pose: 0.0 -4.73758 -0.0385558 0 0.00817013 -0.0149003 0.758495 0.651457 uwb: 0.0 869.671 1484.72 -imu_odom_: 1691062560.724594163 0.395043 -0.160412 9.55047 -0.0607201 0.0596548 0.56246 0.05 0.47 pose: 0.0 -4.73758 -0.0385558 0 0.00817013 -0.0149003 0.758495 0.651457 uwb: 0.50110678 870.021 1485.1 -imu_odom_: 1691062560.741434795 0.0430956 0.0742203 10.2783 -0.0426106 0.00532632 0.465521 0.05 0.47 pose: 0.24225323 -4.73762 -0.0385498 0 0.010182 -0.0156822 0.76309 0.646022 uwb: 0.0 870.021 1485.1 -imu_odom_: 1691062560.758432914 0.481235 -0.0957681 9.84735 -0.0532632 -0.0191748 0.411192 0.06 0.53 pose: 0.0 -4.73762 -0.0385498 0 0.010182 -0.0156822 0.76309 0.646022 uwb: 0.0 870.021 1485.1 -imu_odom_: 1691062560.773420154 0.785298 -0.184354 10.0365 -0.0639159 -0.00532632 0.38243 0.06 0.53 pose: 0.0 -4.73762 -0.0385498 0 0.010182 -0.0156822 0.76309 0.646022 uwb: 0.49911195 868.223 1485.03 -imu_odom_: 1691062560.789325779 0.727837 -0.349553 9.73004 -0.0458064 0.0170442 0.347276 0.03 0.32 pose: 0.71743879 -4.74017 -0.0338793 0 0.0103005 -0.0112828 0.773063 0.634145 uwb: 0.0 868.223 1485.03 -imu_odom_: 1691062560.806431514 0.636858 -0.19393 9.90721 -0.0575243 0.02024 0.331297 0.03 0.32 pose: 0.0 -4.74017 -0.0338793 0 0.0103005 -0.0112828 0.773063 0.634145 uwb: 0.0 868.223 1485.03 -imu_odom_: 1691062560.822582410 0.368707 -0.167594 9.92875 -0.0553937 0.0127832 0.324906 0.03 0.32 pose: 0.0 -4.74017 -0.0338793 0 0.0103005 -0.0112828 0.773063 0.634145 uwb: 0.49979731 866.853 1485.05 -imu_odom_: 1691062560.839319508 0.56982 -0.244209 9.94551 -0.052198 0 0.297209 0.04 0.35 pose: 0.6968809 -4.74239 -0.0297599 0 0.0100218 -0.0118787 0.773746 0.633306 uwb: 0.0 866.853 1485.05 -imu_odom_: 1691062560.865375183 0.620098 -0.186748 9.87129 -0.0490022 0.00213053 0.264186 0.03 0.26 pose: 0.0 -4.74239 -0.0297599 0 0.0100218 -0.0118787 0.773746 0.633306 uwb: 0.0 866.853 1485.05 -imu_odom_: 1691062560.882314390 0.471658 -0.287304 9.95988 -0.0532632 -0.00852212 0.256729 0.03 0.26 pose: 0.66946352 -4.74239 -0.02976 0 0.0078387 -0.00760224 0.779596 0.626188 uwb: 0.50098138 865.509 1484.97 -imu_odom_: 1691062560.898319465 0.452504 -0.220267 9.8665 -0.0500674 0.00958738 0.192813 0.03 0.26 pose: 0.0 -4.74239 -0.02976 0 0.0078387 -0.00760224 0.779596 0.626188 uwb: 0.0 865.509 1484.97 -imu_odom_: 1691062560.915518817 0.356736 0.0670376 9.96706 -0.0500674 0 0.109722 0.03 0.26 pose: 0.0 -4.74239 -0.02976 0 0.0078387 -0.00760224 0.779596 0.626188 uwb: 0.0 865.509 1484.97 -imu_odom_: 1691062560.932309870 0.289698 0.0407014 9.9096 -0.0575243 -0.0127832 0.052198 0.03 0.26 pose: 0.24990012 -4.74239 -0.02976 0 0.00838708 -0.00615344 0.781328 0.624034 uwb: 0.49959316 867.087 1485.87 -imu_odom_: 1691062560.949321404 0.746991 -0.196325 9.97903 -0.0596548 -0.0287621 -0.015979 0.02 -0.05 pose: 0.51112763 -4.74239 -0.02976 0 0.00605998 -0.00244522 0.783194 0.621743 uwb: 0.0 867.087 1485.87 -imu_odom_: 1691062560.965331728 0.919373 -0.234632 9.85932 -0.0532632 -0.0330232 -0.0969391 0.02 -0.05 pose: 0.0 -4.74239 -0.02976 0 0.00605998 -0.00244522 0.783194 0.621743 uwb: 0.0 867.087 1485.87 -imu_odom_: 1691062560.982346762 0.962469 0.0502782 9.89763 -0.052198 0 -0.185356 0.02 -0.26 pose: 0.41893638 -4.74239 -0.02976 0 0.00854054 -0.00428794 0.782239 0.622905 uwb: 0.49936859 868.262 1486.58 -imu_odom_: 1691062560.998292342 0.411803 -0.0191536 9.81383 -0.0596548 0.0223706 -0.221575 0.02 -0.26 pose: 0.0 -4.74239 -0.02976 0 0.00854054 -0.00428794 0.782239 0.622905 uwb: 0.0 868.262 1486.58 -imu_odom_: 1691062561.15284047 0.0933739 -0.397437 10.0006 -0.0692422 0.0106526 -0.264186 0.02 -0.26 pose: 0.0 -4.74239 -0.02976 0 0.00854054 -0.00428794 0.782239 0.622905 uwb: 0.0 868.262 1486.58 -imu_odom_: 1691062561.31336662 0.258574 -0.344765 9.92636 -0.0585895 -0.015979 -0.278034 0.01 -0.26 pose: 0.7208540 -4.74239 -0.02976 0 0.00925467 -0.00435666 0.781727 0.623537 uwb: 0.49831580 866.975 1486.28 -imu_odom_: 1691062561.48564891 0.407014 -0.277727 9.8665 -0.056459 -0.00532632 -0.264186 0.02 -0.41 pose: 0.0 -4.74239 -0.02976 0 0.00925467 -0.00435666 0.781727 0.623537 uwb: 0.0 866.975 1486.28 -imu_odom_: 1691062561.66582014 0.591368 -0.134075 9.97903 -0.0639159 -0.0213053 -0.246076 0.02 -0.41 pose: 0.66047515 -4.74239 -0.0297601 0 0.00550199 -0.00236727 0.77584 0.630901 uwb: 0.0 866.975 1486.28 -imu_odom_: 1691062561.80431850 0.500388 -0.229843 9.86172 -0.0500674 0 -0.275903 0.02 -0.35 pose: 0.0 -4.74239 -0.0297601 0 0.00550199 -0.00236727 0.77584 0.630901 uwb: 0.50133728 866.021 1486.43 -imu_odom_: 1691062561.97415681 0.423774 -0.0454898 9.9527 -0.0500674 -0.0245011 -0.307861 0.02 -0.35 pose: 0.0 -4.74239 -0.0297601 0 0.00550199 -0.00236727 0.77584 0.630901 uwb: 0.0 866.021 1486.43 -imu_odom_: 1691062561.111295264 0.363919 -0.169988 9.74201 -0.0692422 -0.00745685 -0.324906 0.02 -0.35 pose: 0.33849256 -4.74239 -0.02976 0 0.00583297 -0.00286994 0.772667 0.634779 uwb: 0.0 866.021 1486.43 -imu_odom_: 1691062561.127299759 0.555455 -0.229843 10.07 -0.0649811 -0.00532632 -0.36432 0.02 -0.35 pose: 0.38858225 -4.74239 -0.02976 0 0.00435947 -0.0006686470.768373 0.639987 uwb: 0.50113313 865.527 1486.56 -imu_odom_: 1691062561.144283007 0.579397 -0.129287 9.81623 -0.0575243 -0.0191748 -0.38243 0.02 -0.35 pose: 0.7117840 -4.74239 -0.02976 0 0.00449044 -0.00138719 0.767453 0.641088 uwb: 0.0 865.527 1486.56 -imu_odom_: 1691062561.160284877 0.694318 -0.316035 9.88087 -0.056459 -0.00639159 -0.338754 0.02 -0.35 pose: 0.0 -4.74239 -0.02976 0 0.00449044 -0.00138719 0.767453 0.641088 uwb: 0.0 865.527 1486.56 -imu_odom_: 1691062561.177406072 0.529119 -0.550666 9.89524 -0.0628506 -0.00639159 -0.270577 0.02 -0.41 pose: 0.41871773 -4.74239 -0.02976 0 0.00668643 -0.0040076 0.762029 0.647496 uwb: 0.49885831 865.877 1486.95 -imu_odom_: 1691062561.194287246 0.526724 -0.423774 9.96946 -0.0532632 -0.0127832 -0.223706 0.01 -0.26 pose: 0.0 -4.74239 -0.02976 0 0.00668643 -0.0040076 0.762029 0.647496 uwb: 0.0 865.877 1486.95 -imu_odom_: 1691062561.210283283 0.4956 -0.301669 9.97424 -0.0596548 -0.00532632 -0.173638 0.01 -0.26 pose: 0.0 -4.74239 -0.02976 0 0.00668643 -0.0040076 0.762029 0.647496 uwb: 0.0 865.877 1486.95 -imu_odom_: 1691062561.226405309 0.452504 -0.225055 9.96227 -0.0596548 0.00426106 -0.145941 0.01 -0.17 pose: 0.25019764 -4.74717 -0.0209779 0 0.00492496 -0.00581777 0.759644 0.650294 uwb: 0.50036028 864.126 1486.66 -imu_odom_: 1691062561.243407514 0.433351 -0.308852 9.85932 -0.0553937 -0.0106526 -0.128897 0.01 -0.17 pose: 0.0 -4.74717 -0.0209779 0 0.00492496 -0.00581777 0.759644 0.650294 uwb: 0.0 864.126 1486.66 -imu_odom_: 1691062561.260475631 0.543484 -0.232238 9.88805 -0.0628506 -0.00958738 -0.107592 0.01 -0.17 pose: 0.31985074 -4.74717 -0.0209779 0 0.00248929 -0.00575531 0.757357 0.652971 uwb: 0.0 864.126 1486.66 -imu_odom_: 1691062561.276280350 0.548272 -0.311246 9.84496 -0.0575243 -0.00319579 -0.0916127 0.01 -0.14 pose: 0.43185916 -4.74717 -0.0209779 0 0.00226451 -0.00511949 0.755047 0.655647 uwb: 0.49976532 864.126 1486.66 -imu_odom_: 1691062561.293269723 0.47884 -0.227449 9.88566 -0.0543285 -0.00213053 -0.0820254 0.01 -0.14 pose: 0.0 -4.74717 -0.0209779 0 0.00226451 -0.00511949 0.755047 0.655647 uwb: 0.0 864.126 1486.66 -imu_odom_: 1691062561.309280341 0.442927 -0.258574 9.86172 -0.0553937 -0.00319579 -0.0745685 0.01 -0.14 pose: 0.0 -4.74717 -0.0209779 0 0.00226451 -0.00511949 0.755047 0.655647 uwb: 0.0 864.126 1486.66 -imu_odom_: 1691062561.326361582 0.517148 -0.222661 9.88566 -0.0553937 -0.00639159 -0.0671117 0.01 -0.14 pose: 0.6925355 -4.74717 -0.0209779 0 0.00228114 -0.00581481 0.754747 0.655986 uwb: 0.49849085 862.762 1486.62 -imu_odom_: 1691062561.351403802 0.466869 -0.28491 9.87608 -0.0575243 -0.00319579 -0.0532632 0 -0.08 pose: 0.0 -4.74717 -0.0209779 0 0.00228114 -0.00581481 0.754747 0.655986 uwb: 0.0 862.762 1486.62 -imu_odom_: 1691062561.378453110 0.363919 -0.325611 9.79468 -0.0607201 -0.00426106 -0.0841559 0.01 -0.11 pose: 0.66908452 -4.74717 -0.0209779 0 0.00210671 -0.00429491 0.752247 0.658864 uwb: 0.50027570 863.974 1487.2 -imu_odom_: 1691062561.404334970 0.289698 0.213084 9.96227 -0.0511327 -0.00532632 -0.211988 0.01 -0.11 pose: 0.23997555 -4.74717 -0.0209779 0 -0.000225536-0.00457111 0.75145 0.659774 uwb: 0.0 863.974 1487.2 -imu_odom_: 1691062561.431569471 0.462081 -0.23942 9.9934 -0.0585895 -0.0213053 -0.322775 0.01 -0.35 pose: 0.46027977 -4.74717 -0.0209779 0 -0.000950043-0.00167704 0.748485 0.663149 uwb: 0.49939493 866.88 1488.3 -imu_odom_: 1691062561.448417980 0.490811 -0.179565 9.7444 -0.0596548 -0.00639159 -0.357929 0.01 -0.35 pose: 0.6961227 -4.74717 -0.0209779 0 -0.000295072-0.00205149 0.747647 0.664093 uwb: 0.0 866.88 1488.3 -imu_odom_: 1691062561.475271595 0.490811 -0.198719 9.89284 -0.056459 0.00106526 -0.370712 0.01 -0.55 pose: 0.0 -4.74717 -0.0209779 0 -0.000295072-0.00205149 0.747647 0.664093 uwb: 0.50063734 866.392 1488.41 -imu_odom_: 1691062561.501538424 0.430956 -0.141258 9.97664 -0.0639159 -0.0149137 -0.4048 0.01 -0.55 pose: 0.37121783 -4.74713 -0.020984 0 0.00312715 -0.00243609 0.742955 0.66933 uwb: 0.0 866.392 1488.41 -imu_odom_: 1691062561.528336335 0.545878 -0.225055 9.74201 -0.0681769 -0.00213053 -0.452737 0.01 -0.64 pose: 0.53120444 -4.74714 -0.0209829 0 0.00454012 -8.28612e-050.735299 0.677727 uwb: 0.0 866.392 1488.41 -imu_odom_: 1691062561.554269525 0.562637 -0.179565 9.84496 -0.0585895 -0.0117179 -0.500674 0.01 -0.53 pose: 0.0 -4.74714 -0.0209829 0 0.00454012 -8.28612e-050.735299 0.677727 uwb: 0.0 866.392 1488.41 -imu_odom_: 1691062561.581321749 0.45011 -0.241814 9.78989 -0.0639159 -0.0213053 -0.533697 0.01 -0.53 pose: 0.34803804 -4.74717 -0.0209786 0 0.00539032 -0.00324432 0.729336 0.684127 uwb: 0.100242958 868.983 1488.99 -imu_odom_: 1691062561.597458358 0.565032 -0.248997 9.86411 -0.0617853 -0.0149137 -0.553937 0 -0.55 pose: 0.0 -4.74717 -0.0209786 0 0.00539032 -0.00324432 0.729336 0.684127 uwb: 0.0 868.983 1488.99 -imu_odom_: 1691062561.614291410 0.447716 -0.248997 9.81144 -0.0479369 -0.0127832 -0.567786 0 -0.55 pose: 0.53018661 -4.74717 -0.0209785 0 0.00457159 -0.00457309 0.719009 0.69497 uwb: 0.0 868.983 1488.99 -imu_odom_: 1691062561.640432249 0.440533 -0.217872 10.1562 -0.0607201 -0.0255663 -0.583765 0 -0.61 pose: 0.24930521 -4.74713 -0.0209844 0 0.00334091 -0.0045345 0.713775 0.700352 uwb: 0.49879998 870.604 1489.76 -imu_odom_: 1691062561.667314737 0.392649 -0.308852 10.0365 -0.0543285 0.00532632 -0.626375 0 -0.61 pose: 0.8075012 -4.74717 -0.0209785 0 0.00294325 -0.00393451 0.712013 0.702149 uwb: 0.0 870.604 1489.76 -imu_odom_: 1691062561.693364292 0.42138 -0.304064 9.95509 -0.052198 0.0117179 -0.64555 0 -0.67 pose: 0.44948315 -4.73825 -0.0161905 0 -0.000688425-0.00265784 0.70171 0.712458 uwb: 0.50068400 872.303 1490.25 -imu_odom_: 1691062561.720300734 0.366313 -0.136469 9.79468 -0.0490022 -0.0138484 -0.672182 0 -0.67 pose: 0.0 -4.73825 -0.0161905 0 -0.000688425-0.00265784 0.70171 0.712458 uwb: 0.0 872.303 1490.25 -imu_odom_: 1691062561.746308584 0.486023 -0.148441 9.79707 -0.0628506 -0.0138484 -0.687096 0 -0.79 pose: 0.52985997 -4.73825 -0.0161901 0 -0.00146984 -0.00159128 0.688409 0.725319 uwb: 0.49745260 871.013 1489.94 -imu_odom_: 1691062561.773334852 0.47884 -0.248997 9.83059 -0.0553937 -0.00426106 -0.710531 0 -1 pose: 0.26007850 -4.73825 -0.0161909 0 0.00114562 -0.00144829 0.681523 0.731795 uwb: 0.50120604 870.574 1489.87 -imu_odom_: 1691062561.799280874 0.280122 -0.0814029 9.93833 -0.0511327 -0.00745685 -0.739294 0 -1 pose: 0.7969729 -4.73841 -0.0161699 0 0.00121536 -0.00223949 0.679332 0.733827 uwb: 0.0 870.574 1489.87 -imu_odom_: 1691062561.816284829 0.344765 -0.275333 9.80426 -0.0649811 -0.0170442 -0.756338 0 -1.06 pose: 0.45002561 -4.73825 -0.0161899 0 0.00137697 -0.00151769 0.666572 0.745438 uwb: 0.0 870.574 1489.87 -imu_odom_: 1691062561.832393440 0.76375 -0.136469 10.0317 -0.0607201 -0.0276969 -0.765925 0 -1.06 pose: 0.0 -4.73825 -0.0161899 0 0.00137697 -0.00151769 0.666572 0.745438 uwb: 0.49937160 870.164 1489.69 -imu_odom_: 1691062561.858405081 0.675165 -0.328006 9.81383 -0.0553937 -0.0181095 -0.794687 0 -1.06 pose: 0.7063594 -4.73841 -0.0161699 0 0.000707897 -0.00137169 0.664475 0.747309 uwb: 0.0 870.164 1489.69 -imu_odom_: 1691062561.883382557 0.483629 -0.28491 9.8689 -0.0639159 -0.0127832 -0.775513 0 -1.06 pose: 0.0 -4.73841 -0.0161699 0 0.000707897 -0.00137169 0.664475 0.747309 uwb: 0.49996365 868.474 1489.16 -imu_odom_: 1691062561.900287936 0.481235 -0.248997 9.79468 -0.0479369 -0.015979 -0.790426 0 -0.97 pose: 0.33064153 -4.73841 -0.0161701 0 0.00145569 -0.00292116 0.654422 0.756122 uwb: 0.0 868.474 1489.16 -imu_odom_: 1691062561.925271536 0.471658 -0.107739 10.0556 -0.0490022 -0.0223706 -0.80747 0 -0.97 pose: 0.0 -4.73841 -0.0161701 0 0.00145569 -0.00292116 0.654422 0.756122 uwb: 0.50113021 868.413 1489.39 -imu_odom_: 1691062561.949228844 0.536301 -0.141258 9.76116 -0.0639159 -0.0245011 -0.801079 0 -1 pose: 0.50841254 -4.73841 -0.0161698 0 0.000290689 -0.00521419 0.63844 0.769654 uwb: 0.0 868.413 1489.39 -imu_odom_: 1691062561.972266894 0.612916 -0.28491 9.83059 -0.0660464 -0.0234358 -0.812797 0 -1 pose: 0.0 -4.73841 -0.0161698 0 0.000290689 -0.00521419 0.63844 0.769654 uwb: 0.49969241 864.665 1488.03 -imu_odom_: 1691062561.986284716 0.40462 -0.112527 9.7444 -0.0575243 -0.00319579 -0.820254 0 -1 pose: 0.0 -4.73841 -0.0161698 0 0.000290689 -0.00521419 0.63844 0.769654 uwb: 0.0 864.665 1488.03 -imu_odom_: 1691062562.3426326 0.452504 -0.146046 9.87848 -0.0585895 -0.0276969 -0.822384 0 -0.88 pose: 0.41974139 -4.73841 -0.0161697 0 0.00384133 -0.00295668 0.624732 0.780824 uwb: 0.0 864.665 1488.03 -imu_odom_: 1691062562.27216819 0.488417 -0.23942 9.97903 -0.0585895 -0.0276969 -0.84582 0 -0.88 pose: 0.0 -4.73841 -0.0161697 0 0.00384133 -0.00295668 0.624732 0.780824 uwb: 0.49958746 866.893 1488.25 -imu_odom_: 1691062562.51285831 0.610521 -0.208296 9.69173 -0.0617853 -0.0127832 -0.870321 0 -0.88 pose: 0.78042217 -4.73841 -0.0161697 0 0.00431484 -0.00297577 0.598299 0.801256 uwb: 0.0 866.893 1488.25 -imu_odom_: 1691062562.76344971 0.438139 -0.232238 9.72764 -0.0532632 -0.00852212 -0.873517 0 -1.17 pose: 0.41019600 -4.73825 -0.0161887 0 0.00445621 -0.00582223 0.583409 0.812145 uwb: 0.50003373 865.215 1487.69 -imu_odom_: 1691062562.100213916 0.481235 -0.311246 9.9934 -0.0585895 -0.00745685 -0.862864 0 -1.17 pose: 0.0 -4.73825 -0.0161887 0 0.00445621 -0.00582223 0.583409 0.812145 uwb: 0.0 865.215 1487.69 -imu_odom_: 1691062562.117224582 0.349553 -0.153229 9.84496 -0.0553937 -0.00213053 -0.873517 0 -0.91 pose: 0.6955104 -4.73841 -0.0161678 0 0.00397692 -0.00534437 0.580831 0.813997 uwb: 0.0 865.215 1487.69 -imu_odom_: 1691062562.141215434 0.229843 -0.0670376 9.91199 -0.0607201 -0.0276969 -0.859668 0 -0.91 pose: 0.0 -4.73841 -0.0161678 0 0.00397692 -0.00534437 0.580831 0.813997 uwb: 0.49984708 863.244 1486.53 -imu_odom_: 1691062562.164350605 0.612916 -0.205901 9.98622 -0.0639159 -0.0266316 -0.869256 0 -0.88 pose: 0.49084114 -4.73841 -0.016169 0 0.000624295 -0.00435891 0.562569 0.826739 uwb: 0.0 863.244 1486.53 -imu_odom_: 1691062562.190207972 0.332794 -0.0909797 9.97903 -0.0575243 -0.0170442 -0.891626 0 -0.88 pose: 0.0 -4.73841 -0.016169 0 0.000624295 -0.00435891 0.562569 0.826739 uwb: 0.50010956 864.044 1486.95 -imu_odom_: 1691062562.206213344 0.263362 -0.265756 9.56244 -0.0681769 -0.0213053 -0.864995 0 -0.88 pose: 0.39898232 -4.73841 -0.0161696 0 0.00129876 -0.00177742 0.547569 0.836758 uwb: 0.0 864.044 1486.95 -imu_odom_: 1691062562.233195288 0.488417 -0.265756 9.94312 -0.0628506 -0.0223706 -0.878843 0 -0.88 pose: 0.0 -4.73841 -0.0161696 0 0.00129876 -0.00177742 0.547569 0.836758 uwb: 0.49851427 863.308 1486.31 -imu_odom_: 1691062562.258189975 0.371101 -0.227449 9.98622 -0.0543285 -0.0213053 -0.904409 0 -0.94 pose: 0.50168152 -4.73841 -0.0161688 0 0.00210821 -0.0005983910.528114 0.849171 uwb: 0.0 863.308 1486.31 -imu_odom_: 1691062562.275199766 0.447716 -0.225055 9.90481 -0.0671117 -0.0266316 -0.913997 0 -0.94 pose: 0.0 -4.73841 -0.0161688 0 0.00210821 -0.0005983910.528114 0.849171 uwb: 0.50010664 866.197 1487.45 -imu_odom_: 1691062562.300187745 0.462081 -0.306458 9.73243 -0.0543285 -0.0181095 -0.915062 0 -0.94 pose: 0.42878241 -4.73841 -0.0161691 0 0.000431066 -0.0024711 0.51127 0.859416 uwb: 0.0 866.197 1487.45 -imu_odom_: 1691062562.316182910 0.452504 -0.260968 9.84975 -0.0585895 -0.0298274 -0.915062 0 -0.94 pose: 0.0 -4.73841 -0.0161691 0 0.000431066 -0.0024711 0.51127 0.859416 uwb: 0.0 866.197 1487.45 -imu_odom_: 1691062562.340193302 0.349553 -0.282516 9.85214 -0.0468716 -0.0468716 -0.910801 0 -1 pose: 0.42099845 -4.73841 -0.0161688 0 0.000240775 -0.00301798 0.49399 0.869462 uwb: 0.50008915 866.222 1487.36 -imu_odom_: 1691062562.367204992 0.768539 -0.107739 9.57441 -0.0756338 -0.0298274 -0.90654 0 -1 pose: 0.0 -4.73841 -0.0161688 0 0.000240775 -0.00301798 0.49399 0.869462 uwb: 0.0 866.222 1487.36 -imu_odom_: 1691062562.391195844 0.610521 -0.371101 10.0221 -0.0575243 0.02024 -0.902279 0 -0.94 pose: 0.40830907 -4.73841 -0.0161693 0 -0.000901417-0.00248841 0.476972 0.878914 uwb: 0.49989374 864.236 1486.27 -imu_odom_: 1691062562.416203072 0.507571 -0.260968 10.2089 -0.0703074 -0.0191748 -0.871386 0 -0.94 pose: 0.0 -4.73841 -0.0161693 0 -0.000901417-0.00248841 0.476972 0.878914 uwb: 0.0 864.236 1486.27 -imu_odom_: 1691062562.430219147 0.426168 -0.335188 9.73004 -0.056459 0.00106526 -0.896953 0 -1.03 pose: 0.93002646 -4.73826 -0.0161881 0 0.00186683 -0.00555142 0.438247 0.898835 uwb: 0.50003665 862.646 1485.41 -imu_odom_: 1691062562.455325242 0.344765 -0.0383072 9.88566 -0.0628506 -0.0191748 -0.917193 0 -1.03 pose: 0.0 -4.73826 -0.0161881 0 0.00186683 -0.00555142 0.438247 0.898835 uwb: 0.0 862.646 1485.41 -imu_odom_: 1691062562.480203855 0.545878 -0.328006 9.85214 -0.0639159 -0.0308927 -0.927845 0 -1.26 pose: 0.39122170 -4.73825 -0.0161894 0 0.00176542 -0.00316284 0.421482 0.906829 uwb: 0.50093491 861.851 1484.99 -imu_odom_: 1691062562.502337232 0.557849 -0.213084 9.85693 -0.0607201 -0.0266316 -0.942759 0 -1.26 pose: 0.0 -4.73825 -0.0161894 0 0.00176542 -0.00316284 0.421482 0.906829 uwb: 0.0 861.851 1484.99 -imu_odom_: 1691062562.526342665 0.61531 -0.129287 9.83538 -0.0681769 -0.0223706 -0.923584 0 -0.94 pose: 0.30901334 -4.73841 -0.0161696 0 0.00101706 -0.00592748 0.40784 0.913033 uwb: 0.49980333 861.159 1484.21 -imu_odom_: 1691062562.543459490 0.399832 -0.201113 10.0173 -0.052198 0.00532632 -0.92678 0 -0.94 pose: 0.0 -4.73841 -0.0161696 0 0.00101706 -0.00592748 0.40784 0.913033 uwb: 0.0 861.159 1484.21 -imu_odom_: 1691062562.568190240 0.476446 -0.308852 10.094 -0.0596548 -0.00958738 -0.939563 0 -1 pose: 0.47245596 -4.73841 -0.0161714 0 0.00454903 -0.00698712 0.386783 0.922133 uwb: 0.0 861.159 1484.21 -imu_odom_: 1691062562.585195073 0.505177 -0.215478 9.83538 -0.0692422 -0.0181095 -0.931041 0 -1 pose: 0.0 -4.73841 -0.0161714 0 0.00454903 -0.00698712 0.386783 0.922133 uwb: 0.50009789 860.443 1483.51 -imu_odom_: 1691062562.609180675 0.378284 -0.208296 9.75637 -0.0681769 -0.0127832 -0.935302 0 -0.94 pose: 0.51722901 -4.73836 -0.0161773 0 0.00206897 -0.00425292 0.363453 0.9316 uwb: 0.0 860.443 1483.51 -imu_odom_: 1691062562.633170360 0.560243 -0.21069 10.0461 -0.0585895 -0.0106526 -0.920388 0 -0.94 pose: 0.7117841 -4.73841 -0.0161712 0 0.00178757 -0.0036297 0.36022 0.932859 uwb: 0.50071618 860.976 1483.25 -imu_odom_: 1691062562.658179338 0.493206 -0.0837971 10.1011 -0.0575243 -0.0298274 -0.940628 0 -0.94 pose: 0.40857446 -4.73837 -0.0161763 0 0.00194518 -0.00448654 0.341738 0.939782 uwb: 0.0 860.976 1483.25 -imu_odom_: 1691062562.682170189 0.390255 -0.174777 9.78031 -0.0500674 -0.0426106 -0.975782 0 -0.94 pose: 0.0 -4.73837 -0.0161763 0 0.00194518 -0.00448654 0.341738 0.939782 uwb: 0.49861051 860.633 1482.86 -imu_odom_: 1691062562.699279722 0.373495 -0.205901 9.8665 -0.072438 -0.0266316 -0.960868 0 -0.94 pose: 0.32018036 -4.73841 -0.0161708 0 0.00413061 -0.00326345 0.32682 0.945072 uwb: 0.0 860.633 1482.86 -imu_odom_: 1691062562.724174084 0.797269 -0.47884 9.96227 -0.0575243 -0.00213053 -0.949151 0 -0.94 pose: 0.0 -4.73841 -0.0161708 0 0.00413061 -0.00326345 0.32682 0.945072 uwb: 0.49933379 860.659 1482.77 -imu_odom_: 1691062562.748218015 0.500388 -0.198719 10.1179 -0.0511327 0.0127832 -0.94489 0 -0.97 pose: 0.41997187 -4.73841 -0.0161708 0 0.00195974 -0.00171902 0.306818 0.951765 uwb: 0.0 860.659 1482.77 -imu_odom_: 1691062562.764173516 0.23942 -0.306458 9.73004 -0.0671117 -0.015979 -0.916127 0 -0.97 pose: 0.0 -4.73841 -0.0161708 0 0.00195974 -0.00171902 0.306818 0.951765 uwb: 0.0 860.659 1482.77 -imu_odom_: 1691062562.789323649 0.531513 -0.169988 9.68933 -0.056459 -0.00213053 -0.951281 0 -0.94 pose: 0.48012618 -4.73841 -0.0161708 0 0.0023717 -0.00444114 0.284303 0.958721 uwb: 0.49992582 860.322 1482.35 -imu_odom_: 1691062562.812156386 0.476446 -0.047884 9.95748 -0.0671117 -0.00426106 -0.933172 0 -0.94 pose: 0.0 -4.73841 -0.0161708 0 0.0023717 -0.00444114 0.284303 0.958721 uwb: 0.0 860.322 1482.35 -imu_odom_: 1691062562.828155634 -0.0263362 -0.19393 9.8665 -0.0735032 0.0298274 -0.893757 0 -0.94 pose: 0.40020138 -4.73841 -0.0161708 0 0.00418081 -0.00503267 0.265434 0.964107 uwb: 0.50055578 864.18 1483.18 -imu_odom_: 1691062562.845151427 -0.217872 -0.670376 10.0556 -0.0553937 0.0394148 -0.901214 0 -0.94 pose: 0.0 -4.73841 -0.0161708 0 0.00418081 -0.00503267 0.265434 0.964107 uwb: 0.0 864.18 1483.18 -imu_odom_: 1691062562.862220421 -0.0742203 -0.0766145 9.91439 -0.04048 0.0117179 -0.939563 0.03 -0.79 pose: 0.49933088 -4.73816 -0.0162072 0 0.00329269 -0.00082068 0.2425 0.970145 uwb: 0.0 864.18 1483.18 -imu_odom_: 1691062562.877214667 -0.548272 0.0335188 9.97664 -0.0532632 0.0383495 -0.871386 0.03 -0.79 pose: 0.0 -4.73816 -0.0162072 0 0.00329269 -0.00082068 0.2425 0.970145 uwb: 0.49986457 865.094 1483.17 -imu_odom_: 1691062562.893206624 -0.926556 -0.414197 10.0772 -0.076699 -0.0106526 -0.702009 0.03 -0.79 pose: 0.0 -4.73816 -0.0162072 0 0.00329269 -0.00082068 0.2425 0.970145 uwb: 0.0 865.094 1483.17 -imu_odom_: 1691062562.910145254 -0.47884 -0.885855 9.8665 -0.0671117 -0.0916127 -0.608266 0.09 -1 pose: 0.8015226 -4.73841 -0.0161722 0 0.00326605 6.71773e-05 0.238689 0.971091 uwb: 0.0 865.094 1483.17 -imu_odom_: 1691062562.927144546 0.531513 -0.0885855 10.1418 -0.0649811 -0.0990696 -0.570982 0.07 -0.73 pose: 0.0 -4.73841 -0.0161722 0 0.00326605 6.71773e-05 0.238689 0.971091 uwb: 0.50011831 867.298 1483.42 -imu_odom_: 1691062562.944207708 0.73502 0.184354 9.74679 -0.0639159 -0.0415453 -0.534763 0.07 -0.73 pose: 0.65047199 -4.73841 -0.0161726 0 0.00140065 0.00348623 0.214181 0.976787 uwb: 0.0 867.298 1483.42 -imu_odom_: 1691062562.960209872 0.713472 0.122104 10.3453 -0.0596548 -0.0351537 -0.533697 0.08 -0.53 pose: 0.0 -4.73841 -0.0161726 0 0.00140065 0.00348623 0.214181 0.976787 uwb: 0.0 867.298 1483.42 -imu_odom_: 1691062562.977203915 0.0885855 -0.258574 9.78271 -0.0426106 0.00426106 -0.551807 0.08 -0.53 pose: 0.0 -4.73841 -0.0161726 0 0.00140065 0.00348623 0.214181 0.976787 uwb: 0.49922588 871.092 1484.47 -imu_odom_: 1691062562.994143712 0.155623 -0.227449 9.91439 -0.0553937 0.00532632 -0.526241 0.08 -0.53 pose: 0.33935005 -4.73841 -0.0161726 0 0.00398248 0.000456497 0.204507 0.978857 uwb: 0.0 871.092 1484.47 -imu_odom_: 1691062563.9145833 0.289698 -0.308852 9.57202 -0.0543285 0.00532632 -0.480434 0.09 -0.53 pose: 0.41994855 -4.72955 -0.0114559 0 0.00285658 0.00290931 0.19261 0.981267 uwb: 0.0 871.092 1484.47 -imu_odom_: 1691062563.26144836 0.227449 -0.486023 9.90481 -0.0447411 0.0298274 -0.459129 0.09 -0.53 pose: 0.7063303 -4.72959 -0.011449 0 0.00215879 0.00310463 0.190805 0.981621 uwb: 0.50055873 869.408 1483.99 -imu_odom_: 1691062563.40138749 0.430956 -0.169988 9.94791 -0.0436758 0.0149137 -0.445281 0.09 -0.53 pose: 0.0 -4.72959 -0.011449 0 0.00215879 0.00310463 0.190805 0.981621 uwb: 0.0 869.408 1483.99 -imu_odom_: 1691062563.57202206 0.117316 -0.205901 10.1107 -0.0351537 0.0372843 -0.40267 0.1 -0.44 pose: 0.38931734 -4.72955 -0.0114559 0 0.000450267 0.00284734 0.181274 0.983428 uwb: 0.0 869.408 1483.99 -imu_odom_: 1691062563.71134582 0.603339 -0.349553 9.87848 -0.0607201 0.0234358 -0.392017 0.11 -0.41 pose: 0.0 -4.72955 -0.0114559 0 0.000450267 0.00284734 0.181274 0.983428 uwb: 0.0 869.408 1483.99 -imu_odom_: 1691062563.87254281 0.354342 -0.0143652 10.0413 -0.0436758 -0.056459 -0.409062 0.11 -0.41 pose: 0.0 -4.72955 -0.0114559 0 0.000450267 0.00284734 0.181274 0.983428 uwb: 0.50216865 871.128 1484.33 -imu_odom_: 1691062563.102242989 0.926556 0.0143652 10.0269 -0.0479369 -0.0798948 -0.380299 0.11 -0.41 pose: 0.23006852 -4.72959 -0.0114493 0 -5.65203e-050.00440334 0.176296 0.984327 uwb: 0.0 871.128 1484.33 -imu_odom_: 1691062563.118136957 1.30723 -0.0885855 9.86172 -0.0649811 -0.0490022 -0.32171 0.1 -0.41 pose: 0.0 -4.72959 -0.0114493 0 -5.65203e-050.00440334 0.176296 0.984327 uwb: 0.0 871.128 1484.33 -imu_odom_: 1691062563.135254367 1.38145 -0.433351 10.3645 -0.0458064 -0.0575243 -0.287621 0.1 -0.41 pose: 0.0 -4.72959 -0.0114493 0 -5.65203e-050.00440334 0.176296 0.984327 uwb: 0.49975385 872.373 1484.76 -imu_odom_: 1691062563.153187504 1.10852 -0.227449 9.77792 -0.0543285 -0.0223706 -0.259925 0.07 -0.35 pose: 0.72108766 -4.72074 -0.00679207 0 0.00260532 -0.00247989 0.162357 0.986726 uwb: 0.0 872.373 1484.76 -imu_odom_: 1691062563.169186463 1.10373 -0.160412 9.93354 -0.0447411 0.0276969 -0.246076 0.07 -0.35 pose: 0.0 -4.72074 -0.00679207 0 0.00260532 -0.00247989 0.162357 0.986726 uwb: 0.0 872.373 1484.76 -imu_odom_: 1691062563.186128596 0.94571 -0.162806 10.0676 -0.0617853 0.00426106 -0.236489 0.07 -0.35 pose: 0.0 -4.72074 -0.00679207 0 0.00260532 -0.00247989 0.162357 0.986726 uwb: 0.49723114 871.659 1484.03 -imu_odom_: 1691062563.203123809 0.754174 -0.0981623 9.97903 -0.0532632 0.0234358 -0.26312 0.05 -0.32 pose: 0.7999188 -4.72074 -0.00679207 0 0.00268749 -0.00334632 0.161176 0.986916 uwb: 0.0 871.659 1484.03 -imu_odom_: 1691062563.220178808 0.627281 -0.0526724 10.1083 -0.0511327 -0.00213053 -0.279099 0.05 -0.26 pose: 0.0 -4.72074 -0.00679207 0 0.00268749 -0.00334632 0.161176 0.986916 uwb: 0.0 871.659 1484.03 -imu_odom_: 1691062563.238127401 0.672771 -0.174777 9.65821 -0.0671117 -0.0138484 -0.257794 0.05 -0.26 pose: 0.66943183 -4.71193 -0.00206079 0 0.00492351 -0.00870895 0.151485 0.988409 uwb: 0.50080959 871.248 1483.88 -imu_odom_: 1691062563.256177487 0.837971 -0.378284 9.96467 -0.0596548 0.00532632 -0.24288 0.04 -0.26 pose: 0.0 -4.71193 -0.00206079 0 0.00492351 -0.00870895 0.151485 0.988409 uwb: 0.0 871.248 1483.88 -imu_odom_: 1691062563.272170322 0.744597 -0.306458 9.91918 -0.0617853 -0.00958738 -0.223706 0.04 -0.26 pose: 0.0 -4.71193 -0.00206079 0 0.00492351 -0.00870895 0.151485 0.988409 uwb: 0.49932805 870.543 1483.13 -imu_odom_: 1691062563.290174327 0.603339 -0.148441 9.86411 -0.0500674 0.0106526 -0.211988 0.04 -0.26 pose: 0.35991388 -4.71193 -0.00206111 0 0.00471677 -0.0112649 0.146159 0.989186 uwb: 0.0 870.543 1483.13 -imu_odom_: 1691062563.307186163 0.502782 -0.177171 9.9503 -0.0607201 0.00426106 -0.203466 0.04 -0.26 pose: 0.33946970 -4.71193 -0.00206111 0 0.00330624 -0.0123737 0.141709 0.989826 uwb: 0.0 870.543 1483.13 -imu_odom_: 1691062563.324160086 0.512359 -0.105345 9.9096 -0.0585895 -0.00958738 -0.198139 0.04 -0.26 pose: 0.0 -4.71193 -0.00206111 0 0.00330624 -0.0123737 0.141709 0.989826 uwb: 0.50019715 870.984 1483.17 -imu_odom_: 1691062563.351114036 0.687136 -0.301669 9.85693 -0.0660464 -0.0127832 -0.160855 0.03 -0.23 pose: 0.44024990 -4.71193 -0.00206111 0 0.00432921 -0.00823522 0.136394 0.990611 uwb: 0.0 870.984 1483.17 -imu_odom_: 1691062563.367167533 0.557849 -0.392649 9.91199 -0.0543285 0.0340885 -0.135289 0.03 -0.23 pose: 0.0 -4.71193 -0.00206111 0 0.00432921 -0.00823522 0.136394 0.990611 uwb: 0.0 870.984 1483.17 -imu_odom_: 1691062563.385110877 -0.907402 -0.31364 9.64384 -0.0383495 0.118244 -0.106526 0.04 -0.17 pose: 0.7125133 -4.71193 -0.00206111 0 0.00379941 -0.00877312 0.135692 0.990705 uwb: 0.49969844 873.904 1484.06 -imu_odom_: 1691062563.410114026 -1.54187 -0.198719 9.91439 -0.0415453 -0.0276969 -0.100135 0.06 -0.17 pose: 0.0 -4.71193 -0.00206111 0 0.00379941 -0.00877312 0.135692 0.990705 uwb: 0.0 873.904 1484.06 -imu_odom_: 1691062563.437111432 0.486023 0.0766145 10.2448 -0.0681769 -0.0894822 -0.0852212 0.09 -0.14 pose: 0.78828807 -4.7119 -0.0020669 0 0.000315144 -0.00468267 0.129343 0.991589 uwb: 0.50025547 875.607 1484.46 -imu_odom_: 1691062563.462111081 0.349553 -0.260968 10.1801 -0.0511327 0.0340885 -0.0788296 0.09 -0.11 pose: 0.0 -4.7119 -0.0020669 0 0.000315144 -0.00468267 0.129343 0.991589 uwb: 0.0 875.607 1484.46 -imu_odom_: 1691062563.489220186 -0.323217 -0.114922 9.98861 -0.0660464 -0.0266316 -0.0873517 0.09 -0.11 pose: 0.35022550 -4.69841 -0.00620807 0 0.00249514 -0.00458117 0.127189 0.991865 uwb: 0.49986468 874.439 1483.74 -imu_odom_: 1691062563.505256767 0.0383072 -0.232238 9.81144 -0.0585895 -0.0692422 -0.072438 0.11 -0.11 pose: 0.44083610 -4.69837 -0.00621371 0 0.00132314 -0.0004813270.124484 0.992221 uwb: 0.0 874.439 1483.74 -imu_odom_: 1691062563.532212468 0.509965 -0.25618 9.80186 -0.0607201 -0.0298274 -0.0809601 0.11 -0.11 pose: 0.7875240 -4.69841 -0.00620813 0 0.00115892 2.96639e-05 0.124045 0.992276 uwb: 0.49978301 874.011 1483.66 -imu_odom_: 1691062563.558158208 0.241814 -0.351948 10.2592 -0.036219 0.0138484 -0.0692422 0.11 -0.11 pose: 0.35117042 -4.69218 -0.00289579 0 -1.43561e-05-0.00230574 0.121979 0.99253 uwb: 0.0 874.011 1483.66 -imu_odom_: 1691062563.585161738 0.0311246 -0.196325 9.83059 -0.0479369 -0.0138484 -0.0553937 0.11 -0.11 pose: 0.0 -4.69218 -0.00289579 0 -1.43561e-05-0.00230574 0.121979 0.99253 uwb: 0.49997550 873.964 1483.84 -imu_odom_: 1691062563.610084977 0.574608 -0.244209 9.4571 -0.0553937 0.015979 -0.052198 0.13 -0.11 pose: 0.32920094 -4.68958 -0.00152391 0 -0.00140511 0.000632331 0.120255 0.992742 uwb: 0.0 873.964 1483.84 -imu_odom_: 1691062563.637086757 0.550666 -0.179565 9.76116 -0.076699 -0.00639159 -0.0308927 0.17 -0.11 pose: 0.44952415 -4.68334 0.00179207 0 -0.00117081 0.000309627 0.118175 0.992992 uwb: 0.49927555 873.203 1483.3 -imu_odom_: 1691062563.653235912 0.663194 -0.150835 9.78989 -0.072438 0.0170442 -0.0276969 0.17 -0.11 pose: 0.0 -4.68334 0.00179207 0 -0.00117081 0.000309627 0.118175 0.992992 uwb: 0.0 873.203 1483.3 -imu_odom_: 1691062563.680165657 0.380678 -0.153229 10.2161 -0.0532632 0.00532632 -0.0490022 0.19 -0.11 pose: 0.43150935 -4.68074 0.00316449 0 0.000297239 -0.00347621 0.116685 0.993163 uwb: 0.50025839 874.077 1483.41 -imu_odom_: 1691062563.705103186 0.220267 -0.519542 9.72764 -0.0628506 -0.0234358 -0.0245011 0.19 -0.11 pose: 0.8023686 -4.68074 0.00316449 0 0.000675995 -0.00272558 0.116331 0.993207 uwb: 0.0 874.077 1483.41 -imu_odom_: 1691062563.732262454 0.31364 0 10.0844 -0.0479369 -0.0372843 -0.0213053 0.17 -0.11 pose: 0.43843588 -4.67185 0.00780454 0 -0.000756817-0.0001518090.114703 0.9934 uwb: 0.49989384 873.708 1483.09 -imu_odom_: 1691062563.749087638 0.335188 -0.275333 9.76355 -0.0692422 0.00958738 -0.0117179 0.17 -0.11 pose: 0.0 -4.67185 0.00780454 0 -0.000756817-0.0001518090.114703 0.9934 uwb: 0.0 873.708 1483.09 -imu_odom_: 1691062563.773081702 0.6608 -0.347159 9.59835 -0.0543285 -0.00106526 -0.0255663 0.22 -0.08 pose: 0.7061556 -4.67189 0.0078104 0 -9.45245e-056.80638e-05 0.114489 0.993424 uwb: 0.50057045 873.81 1482.7 -imu_odom_: 1691062563.797078100 0.25618 -0.179565 10.2975 -0.0330232 -0.0170442 -0.0149137 0.22 -0.08 pose: 0.0 -4.67189 0.0078104 0 -9.45245e-056.80638e-05 0.114489 0.993424 uwb: 0.0 873.81 1482.7 -imu_odom_: 1691062563.822094665 0.0215478 -0.373495 9.75877 -0.04048 -0.00106526 0.00213053 0.15 -0.02 pose: 0.43966661 -4.65837 0.00368198 0 -9.98258e-050.000846204 0.113223 0.993569 uwb: 0.49874476 870.966 1481.56 -imu_odom_: 1691062563.849070780 0.241814 -0.0909797 10.1873 -0.0500674 -0.02024 0.0170442 0.15 -0.02 pose: 0.0 -4.65837 0.00368198 0 -9.98258e-050.000846204 0.113223 0.993569 uwb: 0.0 870.966 1481.56 -imu_odom_: 1691062563.865131859 0.543484 -0.167594 9.84017 -0.0585895 -0.0191748 0.00958738 0.17 -0.02 pose: 0.49043002 -4.64953 0.00835427 0 -0.0002817280.00222035 0.111874 0.99372 uwb: 0.0 870.966 1481.56 -imu_odom_: 1691062563.892068895 0.816423 -0.232238 10.2831 -0.0490022 0.00106526 -0.00213053 0.17 -0.02 pose: 0.0 -4.64953 0.00835427 0 -0.0002817280.00222035 0.111874 0.99372 uwb: 0.49969552 872.311 1481.58 -imu_odom_: 1691062563.917096542 0.608127 -0.234632 9.75637 -0.0585895 -0.0223706 0.0213053 0.16 0 pose: 0.52017470 -4.64953 0.00835427 0 0.00129991 0.00431144 0.111145 0.993794 uwb: 0.0 872.311 1481.58 -imu_odom_: 1691062563.941243719 0.40462 0.0311246 10.4267 -0.056459 0.0298274 0.0127832 0.16 0 pose: 0.42945619 -4.64067 0.0129966 0 0.00139823 -2.11479e-050.110402 0.993886 uwb: 0.50203159 871.921 1481.36 -imu_odom_: 1691062563.956349959 0.323217 -0.227449 10.1442 -0.0703074 0.0170442 0.0383495 0.16 0 pose: 0.41106225 -4.63441 0.0162632 0 0.00345418 -0.0007786070.109923 0.993934 uwb: 0.0 871.921 1481.36 -imu_odom_: 1691062563.981058840 0.550666 -0.380678 9.88326 -0.0649811 0.0106526 0.0138484 0.16 0 pose: 0.0 -4.63441 0.0162632 0 0.00345418 -0.0007786070.109923 0.993934 uwb: 0.0 871.921 1481.36 -imu_odom_: 1691062563.998339863 0.0622492 0.0909797 10.2711 -0.0319579 0 0.00745685 0.21 0 pose: 0.7114051 -4.6318 0.0176198 0 0.00289775 -0.0001984760.109918 0.993936 uwb: 0.0 871.921 1481.36 -imu_odom_: 1691062564.23078496 0.323217 -0.220267 9.72046 -0.0553937 -0.0255663 0.0138484 0.21 0 pose: 0.0 -4.6318 0.0176198 0 0.00289775 -0.0001984760.109918 0.993936 uwb: 0.99922484 871.616 1480.81 -imu_odom_: 1691062564.47261549 -0.0814029 -0.0263362 9.69652 -0.0468716 -0.0340885 0.0245011 0.21 -0.05 pose: 0.40016647 -4.62716 0.00876386 0 0.000784155 -0.0003934590.109482 0.993988 uwb: 0.0 871.616 1480.81 -imu_odom_: 1691062564.62260759 0.59855 -0.129287 10.0676 -0.0745685 -0.0330232 0.0340885 0.21 -0.05 pose: 0.0 -4.62716 0.00876386 0 0.000784155 -0.0003934590.109482 0.993988 uwb: 0.0 871.616 1480.81 -imu_odom_: 1691062564.78117399 0.445322 -0.342371 9.22246 -0.0681769 0.0138484 0.0138484 0.16 -0.02 pose: 0.41843504 -4.61833 0.0134649 0 0.000432266 0.00291449 0.108948 0.994043 uwb: 0.50030806 870.111 1479.73 -imu_odom_: 1691062564.93057113 0.600945 -0.158017 9.90481 -0.0617853 0.0617853 0.0138484 0.16 -0.02 pose: 0.0 -4.61833 0.0134649 0 0.000432266 0.00291449 0.108948 0.994043 uwb: 0.0 870.111 1479.73 -imu_odom_: 1691062564.117068097 0.727837 -0.335188 9.51695 -0.0735032 0.0181095 0.0276969 0.16 -0.02 pose: 0.0 -4.61833 0.0134649 0 0.000432266 0.00291449 0.108948 0.994043 uwb: 0.0 870.111 1479.73 -imu_odom_: 1691062564.143109210 0.502782 -0.153229 9.96227 -0.0543285 -0.00532632 0.0351537 0.16 0.02 pose: 0.39079313 -4.6095 0.0181551 0 0.000709713 0.00229825 0.108693 0.994072 uwb: 0.49982102 868.128 1478.77 -imu_odom_: 1691062564.157117416 0.31364 -0.186748 9.56005 -0.0830906 -0.02024 0.0490022 0.16 0.02 pose: 0.0 -4.6095 0.0181551 0 0.000709713 0.00229825 0.108693 0.994072 uwb: 0.0 868.128 1478.77 -imu_odom_: 1691062564.181161939 0.172383 -0.280122 9.72285 -0.0585895 -0.0308927 0.0191748 0.16 0 pose: 0.79761497 -4.60067 0.0228359 0 0.00135871 -0.00231099 0.108214 0.994124 uwb: 0.50243998 867.474 1477.88 -imu_odom_: 1691062564.205102929 0.141258 -0.339977 9.82341 -0.0798948 -0.0394148 0.0447411 0.16 0 pose: 0.0 -4.60067 0.0228359 0 0.00135871 -0.00231099 0.108214 0.994124 uwb: 0.0 867.474 1477.88 -imu_odom_: 1691062564.230117457 0.457293 -0.189142 9.44752 -0.052198 0.0532632 0.00639159 0.18 -0.02 pose: 0.39167389 -4.59183 0.0275143 0 -0.0002461280.000752521 0.108023 0.994148 uwb: 0.49732456 868.856 1477.75 -imu_odom_: 1691062564.254124066 0.847547 -0.531513 9.59117 -0.0809601 0.0255663 0.0553937 0.21 0 pose: 0.41891337 -4.58089 0.0219868 0 -6.6382e-06 0.000476166 0.107652 0.994188 uwb: 0.0 868.856 1477.75 -imu_odom_: 1691062564.269036366 0.217872 -0.433351 9.35654 -0.056459 0.04048 0.0234358 0.21 0 pose: 0.0 -4.58089 0.0219868 0 -6.6382e-06 0.000476166 0.107652 0.994188 uwb: 0.0 868.856 1477.75 -imu_odom_: 1691062564.285039411 0.577003 0.222661 10.6829 -0.0394148 -0.036219 0.0234358 0.21 0 pose: 0.0 -4.58089 0.0219868 0 -6.6382e-06 0.000476166 0.107652 0.994188 uwb: 0.49979477 869.36 1477.55 -imu_odom_: 1691062564.302035502 0.397437 -0.186748 9.52892 -0.0735032 0.0223706 0.0436758 0.18 0 pose: 0.6977563 -4.57831 0.0233476 0 -0.00044368 -4.22286e-050.107707 0.994183 uwb: 0.0 869.36 1477.55 -imu_odom_: 1691062564.320092590 0.821211 -0.366313 9.51935 -0.0596548 -0.0181095 0.0213053 0.18 0 pose: 0.0 -4.57831 0.0233476 0 -0.00044368 -4.22286e-050.107707 0.994183 uwb: 0.0 869.36 1477.55 -imu_odom_: 1691062564.337080806 0.663194 -0.0837971 10.1562 -0.0447411 0.0106526 0.0276969 0.18 0.02 pose: 0.54947911 -4.56947 0.0280162 0 -0.000398226-0.0002431810.107608 0.994193 uwb: 0.50009516 866.504 1476.54 -imu_odom_: 1691062564.361367393 0.308852 -0.117316 9.98622 -0.0585895 0.02024 0.0223706 0.2 -0.02 pose: 0.0 -4.56947 0.0280162 0 -0.000398226-0.0002431810.107608 0.994193 uwb: 0.0 866.504 1476.54 -imu_odom_: 1691062564.386106027 0.253785 -0.21069 9.73243 -0.0681769 -0.0117179 0.0436758 0.18 0 pose: 0.69324462 -4.56062 0.0326802 0 0.00189006 -0.0002754220.10715 0.994241 uwb: 0.0 866.504 1476.54 -imu_odom_: 1691062564.410174173 0.701501 -0.0383072 9.64863 -0.0447411 0.0149137 0.0127832 0.18 0 pose: 0.0 -4.56062 0.0326802 0 0.00189006 -0.0002754220.10715 0.994241 uwb: 0.0 866.504 1476.54 -imu_odom_: 1691062564.435045213 1.0343 -0.368707 9.58638 -0.072438 -0.0234358 0.04048 0.24 0 pose: 0.31829646 -4.54711 0.0284921 0 0.00139313 0.00144211 0.107103 0.994246 uwb: 0.100001535 866.329 1475.56 -imu_odom_: 1691062564.452174001 0.387861 -0.416591 9.85453 -0.036219 -0.0234358 0.0117179 0.24 0 pose: 0.0 -4.54711 0.0284921 0 0.00139313 0.00144211 0.107103 0.994246 uwb: 0.0 866.329 1475.56 -imu_odom_: 1691062564.469228420 0.962469 -0.0837971 10.4914 -0.0351537 -0.0585895 0.0245011 0.18 -0.05 pose: 0.49866029 -4.54711 0.0284921 0 0.000955329 -0.00246999 0.106787 0.994278 uwb: 0.0 866.329 1475.56 -imu_odom_: 1691062564.486046608 1.49877 -0.40462 9.79947 -0.0884169 -0.0735032 0.0181095 0.18 -0.05 pose: 0.0 -4.54711 0.0284921 0 0.000955329 -0.00246999 0.106787 0.994278 uwb: 0.49968978 866.972 1474.87 -imu_odom_: 1691062564.503065738 1.82438 -0.105345 9.51695 -0.0479369 -0.00958738 -0.13955 0.13 -0.29 pose: 0.42983540 -4.53826 0.0331451 0 0.000617978 -0.00670369 0.106353 0.994306 uwb: 0.0 866.972 1474.87 -imu_odom_: 1691062564.520164195 1.31921 0.323217 9.91199 -0.0500674 0.0372843 -0.235423 0.13 -0.29 pose: 0.0 -4.53826 0.0331451 0 0.000617978 -0.00670369 0.106353 0.994306 uwb: 0.0 866.972 1474.87 -imu_odom_: 1691062564.538160622 0.94571 0.148441 10.0892 -0.0617853 -0.0213053 -0.311057 0.13 -0.29 pose: 0.0 -4.53826 0.0331451 0 0.000617978 -0.00670369 0.106353 0.994306 uwb: 0.50132299 863.084 1472.83 -imu_odom_: 1691062564.555129006 0.905008 -0.0191536 9.73961 -0.0500674 -0.015979 -0.414388 0.11 -0.38 pose: 0.8065101 -4.53826 0.0331451 0 0.000809254 -0.00751435 0.105634 0.994376 uwb: 0.0 863.084 1472.83 -imu_odom_: 1691062564.568017010 0.833182 0.00957681 10.1897 -0.0543285 -0.0287621 -0.436758 0.1 -0.44 pose: 0.0 -4.53826 0.0331451 0 0.000809254 -0.00751435 0.105634 0.994376 uwb: 0.0 863.084 1472.83 -imu_odom_: 1691062564.586135344 0.799663 -0.220267 9.66539 -0.0798948 -0.0255663 -0.42291 0.1 -0.44 pose: 0.0 -4.53826 0.0331451 0 0.000809254 -0.00751435 0.105634 0.994376 uwb: 0.49874777 863.319 1472.02 -imu_odom_: 1691062564.603159724 1.15401 -0.347159 10.3118 -0.0596548 -0.0138484 -0.466586 0.09 -0.5 pose: 0.66911406 -4.52945 0.0378659 0 0.00501377 -0.0126297 0.0940959 0.99547 uwb: 0.0 863.319 1472.02 -imu_odom_: 1691062564.620131608 0.90022 -0.150835 9.70131 -0.0777643 -0.00213053 -0.478304 0.09 -0.5 pose: 0.0 -4.52945 0.0378659 0 0.00501377 -0.0126297 0.0940959 0.99547 uwb: 0.0 863.319 1472.02 -imu_odom_: 1691062564.638193362 0.964863 -0.0814029 9.99819 -0.056459 0.0532632 -0.4815 0.09 -0.5 pose: 0.32133830 -4.52945 0.0378659 0 0.00434885 -0.0156714 0.08651 0.996118 uwb: 0.49874194 865.162 1471.81 -imu_odom_: 1691062564.652075870 0.823605 -0.282516 9.87608 -0.072438 0.00532632 -0.507066 0.07 -0.5 pose: 0.45036417 -4.5206 0.0425933 0 0.00504397 -0.0193844 0.0749137 0.996989 uwb: 0.0 865.162 1471.81 -imu_odom_: 1691062564.669074585 0.538695 -0.0191536 10.07 -0.0639159 0.00745685 -0.525175 0.07 -0.5 pose: 0.6062971 -4.52064 0.0425999 0 0.00444751 -0.0195464 0.0732726 0.99711 uwb: 0.0 865.162 1471.81 -imu_odom_: 1691062564.686115880 0.804452 -0.282516 9.9503 -0.0596548 -0.0138484 -0.516653 0.07 -0.5 pose: 0.0 -4.52064 0.0425999 0 0.00444751 -0.0195464 0.0732726 0.99711 uwb: 0.50053263 864.938 1471.04 -imu_odom_: 1691062564.702999105 0.622492 -0.0191536 9.63187 -0.0575243 -0.0213053 -0.532632 0.07 -0.67 pose: 0.41859547 -4.51583 0.0338012 0 0.00289171 -0.0187797 0.0616497 0.997917 uwb: 0.0 864.938 1471.04 -imu_odom_: 1691062564.720998156 0.667982 -0.148441 9.71328 -0.0490022 -0.036219 -0.536893 0.05 -0.55 pose: 0.0 -4.51583 0.0338012 0 0.00289171 -0.0187797 0.0616497 0.997917 uwb: 0.0 864.938 1471.04 -imu_odom_: 1691062564.737102693 0.840365 -0.328006 9.91678 -0.0820254 -0.0170442 -0.502805 0.05 -0.55 pose: 0.0 -4.51583 0.0338012 0 0.00289171 -0.0187797 0.0616497 0.997917 uwb: 0.49941856 863.474 1469.96 -imu_odom_: 1691062564.755118951 0.845153 -0.493206 9.94312 -0.0553937 -0.0234358 -0.449542 0.05 -0.44 pose: 0.24904287 -4.51587 0.0338078 0 0.00426194 -0.0170413 0.0544918 0.99836 uwb: 0.0 863.474 1469.96 -imu_odom_: 1691062564.772085877 0.806846 -0.335188 9.89045 -0.0628506 0.00106526 -0.417584 0.05 -0.44 pose: 0.0 -4.51587 0.0338078 0 0.00426194 -0.0170413 0.0544918 0.99836 uwb: 0.50176628 862.838 1469.09 -imu_odom_: 1691062564.788990100 0.646434 -0.189142 9.74919 -0.0553937 0.00639159 -0.378169 0.05 -0.44 pose: 0.34096881 -4.51587 0.0338082 0 0.00219578 -0.0175646 0.045332 0.998815 uwb: 0.0 862.838 1469.09 -imu_odom_: 1691062564.815073792 0.505177 -0.177171 10.0485 -0.056459 -0.00639159 -0.333428 0.05 -0.47 pose: 0.43873052 -4.51587 0.0338082 0 0.000356928 -0.0169472 0.0355217 0.999225 uwb: 0.0 862.838 1469.09 -imu_odom_: 1691062564.832024095 0.0790087 -0.418985 9.4978 -0.0607201 0.015979 -0.34408 0.05 -0.47 pose: 0.7042600 -4.51587 0.0338082 0 0.000475925 -0.0162576 0.0342076 0.999282 uwb: 0.49963728 864.316 1468.59 -imu_odom_: 1691062564.849141217 -0.876278 -0.134075 10.2496 -0.0213053 0.0703074 -0.388822 0.08 -0.41 pose: 0.0 -4.51587 0.0338082 0 0.000475925 -0.0162576 0.0342076 0.999282 uwb: 0.0 864.316 1468.59 -imu_odom_: 1691062564.866143724 -1.16119 0.011971 10.0772 -0.0426106 -0.00213053 -0.305731 0.08 -0.23 pose: 0.53108517 -4.50704 0.0385006 0 0.000544338 -0.010281 0.02375 0.999665 uwb: 0.0 864.316 1468.59 -imu_odom_: 1691062564.883019949 -1.02951 -0.782904 9.64624 -0.0798948 -0.0255663 -0.199204 0.08 -0.23 pose: 0.0 -4.50704 0.0385006 0 0.000544338 -0.010281 0.02375 0.999665 uwb: 0.50053555 863.642 1467.85 -imu_odom_: 1691062564.899983667 0.220267 -0.797269 9.66779 -0.0490022 -0.0511327 -0.162985 0.08 -0.23 pose: 0.0 -4.50704 0.0385006 0 0.000544338 -0.010281 0.02375 0.999665 uwb: 0.0 863.642 1467.85 -imu_odom_: 1691062564.918014799 0.411803 -0.208296 9.94791 -0.0500674 -0.0447411 -0.153398 0.1 -0.2 pose: 0.23916492 -4.50704 0.0385005 0 0.000526704 -0.00799465 0.0199897 0.999768 uwb: 0.0 863.642 1467.85 -imu_odom_: 1691062564.935041803 0.42138 0.277727 10.1586 -0.0319579 -0.0117179 -0.155529 0.1 -0.2 pose: 0.0 -4.50704 0.0385005 0 0.000526704 -0.00799465 0.0199897 0.999768 uwb: 0.49943605 863.424 1467.08 -imu_odom_: 1691062564.952020978 0.0287304 0.201113 10.1586 -0.0490022 -0.00106526 -0.140615 0.1 -0.2 pose: 0.34962769 -4.50704 0.0385005 0 -0.00113568 -0.00616497 0.0163199 0.999847 uwb: 0.0 863.424 1467.08 -imu_odom_: 1691062564.970133771 0.792481 -0.548272 9.83059 -0.056459 -0.0532632 -0.153398 0.14 -0.23 pose: 0.34964228 -4.49819 0.0431418 0 0.0015688 -0.00451158 0.0129688 0.999904 uwb: 0.0 863.424 1467.08 -imu_odom_: 1691062564.984189806 0.490811 -0.215478 10.0389 -0.0532632 -0.0649811 -0.158724 0.14 -0.23 pose: 0.0 -4.49819 0.0431418 0 0.0015688 -0.00451158 0.0129688 0.999904 uwb: 0.50022641 864.528 1466.33 -imu_odom_: 1691062565.2026120 0.521936 -0.0023942 9.83059 -0.0436758 0.0223706 -0.135289 0.12 -0.14 pose: 0.41205100 -4.49584 0.0386935 0 -5.2573e-05 -0.00474291 0.00902045 0.999948 uwb: 0.0 864.528 1466.33 -imu_odom_: 1691062565.18095663 0.486023 -0.0383072 10.3477 -0.0479369 0 -0.106526 0.12 -0.14 pose: 0.0 -4.49584 0.0386935 0 -5.2573e-05 -0.00474291 0.00902045 0.999948 uwb: 0.0 864.528 1466.33 -imu_odom_: 1691062565.35092923 0.011971 -0.514753 10.0102 -0.0500674 0.0692422 -0.109722 0.12 -0.14 pose: 0.0 -4.49584 0.0386935 0 -5.2573e-05 -0.00474291 0.00902045 0.999948 uwb: 0.49945067 863.977 1465.19 -imu_odom_: 1691062565.53092853 0.172383 -0.174777 10.0221 -0.0426106 -0.0703074 -0.111853 0.13 -0.14 pose: 0.7944360 -4.49351 0.0343043 0 0.000786573 -0.00472805 0.00832233 0.999954 uwb: 0.0 863.977 1465.19 -imu_odom_: 1691062565.69972872 0.399832 -0.1652 9.73961 -0.0543285 -0.0308927 -0.1012 0.13 -0.14 pose: 0.0 -4.49351 0.0343043 0 0.000786573 -0.00472805 0.00832233 0.999954 uwb: 0.0 863.977 1465.19 -imu_odom_: 1691062565.86984423 0.565032 -0.19393 10.0437 -0.0458064 0.00213053 -0.0894822 0.14 -0.14 pose: 0.50964073 -4.48467 0.0389809 0 0.00252314 -0.00199355 0.00439664 0.999985 uwb: 0.49930490 859.788 1462.98 -imu_odom_: 1691062565.104014639 0.725443 -0.418985 10.0556 -0.0628506 -0.0351537 -0.0841559 0.13 -0.11 pose: 0.0 -4.48467 0.0389809 0 0.00252314 -0.00199355 0.00439664 0.999985 uwb: 0.0 859.788 1462.98 -imu_odom_: 1691062565.120953570 0.957681 -0.325611 9.39485 -0.0553937 0.02024 -0.0703074 0.12 -0.11 pose: 0.0 -4.48467 0.0389809 0 0.00252314 -0.00199355 0.00439664 0.999985 uwb: 0.0 859.788 1462.98 -imu_odom_: 1691062565.137962788 0.727837 -0.397437 9.91918 -0.0468716 0.0276969 -0.0255663 0.12 -0.11 pose: 0.67945002 -4.47585 0.0436985 0 0.00100518 -0.00362251 -8.39852e-050.999993 uwb: 0.50056189 858.699 1462.21 -imu_odom_: 1691062565.155018960 1.45567 -0.385466 9.71088 -0.0575243 -0.0884169 -0.00745685 0.1 -0.14 pose: 0.0 -4.47585 0.0436985 0 0.00100518 -0.00362251 -8.39852e-050.999993 uwb: 0.0 858.699 1462.21 -imu_odom_: 1691062565.169959260 1.30484 -0.102951 9.61511 -0.0447411 0.00426106 -0.0383495 0.1 -0.14 pose: 0.0 -4.47585 0.0436985 0 0.00100518 -0.00362251 -8.39852e-050.999993 uwb: 0.0 858.699 1462.21 -imu_odom_: 1691062565.186975477 1.20428 -0.287304 9.83299 -0.0575243 0.0372843 -0.0117179 0.1 -0.14 pose: 0.34987274 -4.47115 0.0348698 0 -0.000411218-0.00662749 -0.00136323 0.999977 uwb: 0.49902493 858.912 1461.51 -imu_odom_: 1691062565.204072479 0.414197 -0.28491 10.0987 -0.0596548 0.0351537 -0.052198 0.08 -0.11 pose: 0.40944962 -4.47115 0.0348698 0 -0.00045728 -0.0106412 -0.00259348 0.99994 uwb: 0.0 858.912 1461.51 -imu_odom_: 1691062565.221126318 0.430956 -0.0933739 9.90002 -0.0532632 -0.0372843 -0.105461 0.08 -0.11 pose: 0.7109971 -4.47115 0.0348698 0 -0.000675307-0.0098207 -0.00291748 0.999947 uwb: 0.0 858.912 1461.51 -imu_odom_: 1691062565.239069086 0.603339 0.0454898 9.61751 -0.0607201 -0.015979 -0.100135 0.08 -0.11 pose: 0.0 -4.47115 0.0348698 0 -0.000675307-0.0098207 -0.00291748 0.999947 uwb: 0.50164389 859.466 1461.14 -imu_odom_: 1691062565.253132123 0.849942 -0.318429 10.1562 -0.056459 -0.00319579 -0.0703074 0.07 -0.08 pose: 0.44983638 -4.46235 0.0396129 0 0.00196551 -0.00822034 -0.00588538 0.999947 uwb: 0.0 859.466 1461.14 -imu_odom_: 1691062565.268999849 0.845153 -0.47884 9.76355 -0.0596548 -0.00745685 -0.052198 0.05 -0.02 pose: 0.0 -4.46235 0.0396129 0 0.00196551 -0.00822034 -0.00588538 0.999947 uwb: 0.0 859.466 1461.14 -imu_odom_: 1691062565.283952690 0.684742 -0.196325 9.79947 -0.0500674 0.0170442 -0.0468716 0.05 -0.02 pose: 0.0 -4.46235 0.0396129 0 0.00196551 -0.00822034 -0.00588538 0.999947 uwb: 0.49973945 858.862 1460.24 -imu_odom_: 1691062565.301069524 0.584185 -0.0909797 9.9934 -0.0479369 0.00852212 -0.02024 0.05 -0.02 pose: 0.21012896 -4.46235 0.0396129 0 0.000783026 -0.00992943 -0.0069637 0.999926 uwb: 0.0 858.862 1460.24 -imu_odom_: 1691062565.325954275 0.562637 -0.260968 9.97664 -0.0532632 -0.00852212 -0.015979 0.05 0 pose: 0.0 -4.46235 0.0396129 0 0.000783026 -0.00992943 -0.0069637 0.999926 uwb: 0.49966946 854.317 1457.91 -imu_odom_: 1691062565.349941641 -0.296881 -0.246603 9.44034 -0.052198 0.0830906 -0.00745685 0.04 -0.05 pose: 0.65872293 -4.46232 0.0396068 0 2.60581e-06 -0.00970298 -0.00921543 0.99991 uwb: 0.0 854.317 1457.91 -imu_odom_: 1691062565.367083264 -1.04148 -0.196325 10.0628 -0.0532632 0.0468716 0.0149137 0.04 -0.05 pose: 0.7009938 -4.46235 0.0396127 0 -2.16537e-06-0.00869602 -0.00938004 0.999918 uwb: 0.0 854.317 1457.91 -imu_odom_: 1691062565.392062217 -0.787692 -0.160412 9.77553 -0.072438 -0.056459 0.0138484 0.08 -0.08 pose: 0.0 -4.46235 0.0396127 0 -2.16537e-06-0.00869602 -0.00938004 0.999918 uwb: 0.49981820 857.738 1458.23 -imu_odom_: 1691062565.418061338 0.517148 -0.143652 9.71567 -0.0692422 -0.02024 0.0117179 0.08 -0.08 pose: 0.34119051 -4.46235 0.0396127 0 4.5776e-05 -0.00410534 -0.00999025 0.999942 uwb: 0.0 857.738 1458.23 -imu_odom_: 1691062565.444000380 0.225055 -0.411803 9.44273 -0.0617853 0.0127832 0.00213053 0.11 -0.05 pose: 0.50978074 -4.45012 0.0379304 0 0.00160334 -0.00431286 -0.01068 0.999932 uwb: 0.49894618 853.329 1456.91 -imu_odom_: 1691062565.469947296 -0.0383072 -0.0383072 10.1514 -0.0511327 -0.0127832 -0.00213053 0.11 -0.05 pose: 0.0 -4.45012 0.0379304 0 0.00160334 -0.00431286 -0.01068 0.999932 uwb: 0.0 853.329 1456.91 -imu_odom_: 1691062565.494977578 0.153229 -0.0622492 9.97903 -0.0575243 0.00852212 0.00106526 0.12 -0.02 pose: 0.51885958 -4.44882 0.0354916 0 0.000810666 0.000185525 -0.0117041 0.999931 uwb: 0.49961405 850.949 1456.09 -imu_odom_: 1691062565.512090037 0.397437 -0.277727 9.7037 -0.0596548 -0.0266316 0.0181095 0.12 -0.02 pose: 0.0 -4.44882 0.0354916 0 0.000810666 0.000185525 -0.0117041 0.999931 uwb: 0.0 850.949 1456.09 -imu_odom_: 1691062565.536077986 0.280122 -0.162806 10.1394 -0.0553937 0.00213053 -0.00106526 0.13 -0.02 pose: 0.42142741 -4.43998 0.0401649 0 0.000403547 0.0016817 -0.0123741 0.999922 uwb: 0.49986778 854.585 1457.11 -imu_odom_: 1691062565.554148202 -0.0502782 -0.368707 9.43076 -0.0756338 0.0223706 0.0181095 0.13 -0.02 pose: 0.8018440 -4.43998 0.0401649 0 0.000767987 0.00242165 -0.0125367 0.999918 uwb: 0.0 854.585 1457.11 -imu_odom_: 1691062565.579060659 0.45011 -0.107739 10.1562 -0.0500674 -0.04048 0.00745685 0.14 -0.02 pose: 0.34039725 -4.43998 0.0401649 0 0.000557065 0.00578198 -0.0130587 0.999898 uwb: 0.49996694 853.45 1456.53 -imu_odom_: 1691062565.605234474 0.351948 -0.351948 10.3262 -0.0436758 -0.00532632 0.00426106 0.14 -0.02 pose: 0.0 -4.43998 0.0401649 0 0.000557065 0.00578198 -0.0130587 0.999898 uwb: 0.0 853.45 1456.53 -imu_odom_: 1691062565.629928491 0.0263362 -0.268151 9.27514 -0.076699 0.00852212 0.0276969 0.13 -0.02 pose: 0.8000940 -4.43998 0.0401649 0 0.000976287 0.00494381 -0.0131848 0.9999 uwb: 0.50129974 853.253 1455.77 -imu_odom_: 1691062565.656047769 0.399832 -0.150835 9.78031 -0.0607201 -0.0181095 0.0106526 0.13 -0.02 pose: 0.51857670 -4.42648 0.0359617 0 -0.0007954950.00391094 -0.0139734 0.999894 uwb: 0.0 853.253 1455.77 -imu_odom_: 1691062565.680051758 0.445322 -0.181959 10.2376 -0.0532632 0.00106526 0.0223706 0.17 -0.05 pose: 0.0 -4.42648 0.0359617 0 -0.0007954950.00391094 -0.0139734 0.999894 uwb: 0.49984445 852.268 1454.74 -imu_odom_: 1691062565.704020750 0.402226 -0.363919 10.2089 -0.0585895 0.00958738 0.0106526 0.18 -0.02 pose: 0.66044946 -4.41758 0.0405871 0 0.000948037 0.00109944 -0.0146414 0.999892 uwb: 0.0 852.268 1454.74 -imu_odom_: 1691062565.720920310 0.703895 -0.148441 9.59835 -0.0479369 0.0394148 0.00213053 0.18 -0.02 pose: 0.8003858 -4.41762 0.0405937 0 0.000139305 0.00106475 -0.0147579 0.999891 uwb: 0.0 852.268 1454.74 -imu_odom_: 1691062565.744924882 0.859518 -0.593762 10.0221 -0.076699 -0.0181095 0.0436758 0.15 0 pose: 0.0 -4.41762 0.0405937 0 0.000139305 0.00106475 -0.0147579 0.999891 uwb: 0.50119475 854.423 1454.86 -imu_odom_: 1691062565.770979998 0.464475 -0.260968 9.60554 -0.0532632 0.00213053 0.0117179 0.15 0 pose: 0.40883425 -4.40408 0.0364788 0 -0.00154757 -0.000940935-0.0152932 0.999881 uwb: 0.0 854.423 1454.86 -imu_odom_: 1691062565.784916171 0.167594 -0.263362 9.32542 -0.0543285 0.00958738 0.0276969 0.15 0 pose: 0.0 -4.40408 0.0364788 0 -0.00154757 -0.000940935-0.0152932 0.999881 uwb: 0.50125017 853.554 1453.47 -imu_odom_: 1691062565.807967362 0.37589 -0.426168 10.1682 -0.0383495 -0.0127832 0.015979 0.16 -0.02 pose: 0.48088763 -4.40408 0.0364788 0 -0.00203785 -0.00407125 -0.0156675 0.999867 uwb: 0.0 853.554 1453.47 -imu_odom_: 1691062565.831925563 0.526724 0.181959 10.386 -0.0340885 -0.0436758 0.0394148 0.19 0 pose: 0.30939558 -4.39526 0.0411734 0 -0.00386603 -0.00219986 -0.0159751 0.999862 uwb: 0.49689301 852.483 1452.73 -imu_odom_: 1691062565.850006861 0.445322 -0.447716 9.89524 -0.0490022 0.00106526 0.04048 0.19 0 pose: 0.0 -4.39526 0.0411734 0 -0.00386603 -0.00219986 -0.0159751 0.999862 uwb: 0.0 852.483 1452.73 -imu_odom_: 1691062565.872909897 0.160412 -0.270545 9.59596 -0.0298274 0.0213053 0.0234358 0.19 0 pose: 0.0 -4.39526 0.0411734 0 -0.00386603 -0.00219986 -0.0159751 0.999862 uwb: 0.49941865 851.552 1451.56 -imu_odom_: 1691062565.899023925 0.174777 -0.220267 10.173 -0.0458064 -0.0127832 0.04048 0.16 0 pose: 0.7948153 -4.39526 0.0411734 0 -0.003001 -0.0024979 -0.0159772 0.999865 uwb: 0.0 851.552 1451.56 -imu_odom_: 1691062565.922079199 0.679953 -0.150835 9.95988 -0.0639159 0.0213053 0.0287621 0.17 0 pose: 0.40989875 -4.38173 0.0370302 0 -0.00289882 -0.00208441 -0.0160211 0.999865 uwb: 0.0 851.552 1451.56 -imu_odom_: 1691062565.937911052 0.177171 -0.153229 9.991 -0.0649811 0.0266316 0.0607201 0.17 0 pose: 0.0 -4.38173 0.0370302 0 -0.00289882 -0.00208441 -0.0160211 0.999865 uwb: 0.49968988 850.917 1450.83 -imu_odom_: 1691062565.954944185 0.162806 -0.320823 9.79707 -0.0745685 0.0127832 0.0415453 0.17 0 pose: 0.0 -4.38173 0.0370302 0 -0.00289882 -0.00208441 -0.0160211 0.999865 uwb: 0.0 850.917 1450.83 -imu_odom_: 1691062565.979063956 0.514753 -0.059855 9.79228 -0.0596548 0.0266316 0.0319579 0.21 -0.02 pose: 0.48333161 -4.38173 0.0370302 0 -0.00182183 0.00163896 -0.0161614 0.999866 uwb: 0.50003109 850.273 1450.15 -imu_odom_: 1691062566.5038871 0.737414 -0.407014 9.72285 -0.0575243 0.0308927 0.0276969 0.2 -0.02 pose: 0.39746017 -4.36821 0.0328816 0 -0.00119462 0.00266201 -0.0160787 0.999866 uwb: 0.0 850.273 1450.15 -imu_odom_: 1691062566.29915169 0.579397 -0.0263362 9.81623 -0.0319579 0.015979 0.0447411 0.2 -0.02 pose: 0.34079388 -4.36821 0.0328816 0 -1.27464e-050.00233513 -0.0161577 0.999867 uwb: 0.50027903 850.466 1449.57 -imu_odom_: 1691062566.56937963 0.23942 0.00718261 10.1897 -0.0607201 -0.00958738 0.0308927 0.18 0 pose: 0.7973818 -4.36821 0.0328816 0 -0.0003904770.00176852 -0.016206 0.999867 uwb: 0.0 850.466 1449.57 -imu_odom_: 1691062566.71040375 0.581791 -0.122104 9.94791 -0.056459 -0.0106526 0.0330232 0.18 0 pose: 0.0 -4.36821 0.0328816 0 -0.0003904770.00176852 -0.016206 0.999867 uwb: 0.0 850.466 1449.57 -imu_odom_: 1691062566.95895675 0.418985 -0.148441 10.0437 -0.0873517 0.0351537 0.0532632 0.19 0 pose: 0.51043991 -4.35938 0.0375665 0 0.00149848 -0.000418002-0.0162889 0.999866 uwb: 0.49970747 852.144 1449.75 -imu_odom_: 1691062566.120009910 0.35913 -0.232238 10.0341 -0.0660464 0.0149137 0.0468716 0.19 0 pose: 0.0 -4.35938 0.0375665 0 0.00149848 -0.000418002-0.0162889 0.999866 uwb: 0.0 852.144 1449.75 -imu_odom_: 1691062566.143893455 0.648829 -0.198719 9.7851 -0.0639159 -0.0181095 0.0490022 0.17 -0.02 pose: 0.39823893 -4.34586 0.0334146 0 0.00351534 -0.00097567 -0.0163671 0.999859 uwb: 0.50255099 853.979 1449.46 -imu_odom_: 1691062566.168963405 0.397437 0.0311246 10.0437 -0.0479369 0.036219 0.0181095 0.17 -0.02 pose: 0.0 -4.34586 0.0334146 0 0.00351534 -0.00097567 -0.0163671 0.999859 uwb: 0.0 853.979 1449.46 -imu_odom_: 1691062566.184936417 0.368707 -0.339977 9.36612 -0.0820254 -0.0330232 0.0383495 0.19 -0.02 pose: 0.49058778 -4.33702 0.0380977 0 0.0024002 -0.000857313-0.0161204 0.999867 uwb: 0.50007202 855.868 1448.99 -imu_odom_: 1691062566.209997034 0.263362 -0.189142 9.88566 -0.0490022 -0.0426106 0.04048 0.19 -0.02 pose: 0.0 -4.33702 0.0380977 0 0.0024002 -0.000857313-0.0161204 0.999867 uwb: 0.0 855.868 1448.99 -imu_odom_: 1691062566.233937158 0.304064 -0.162806 9.96227 -0.0798948 0 0.0500674 0.18 0 pose: 0.48047067 -4.33234 0.0292633 0 0.00393744 -0.00140637 -0.0163164 0.999858 uwb: 0.49737432 855.756 1447.99 -imu_odom_: 1691062566.251000916 0.742203 -0.294487 9.47864 -0.0372843 -0.0308927 0.0213053 0.18 0 pose: 0.0 -4.33234 0.0292633 0 0.00393744 -0.00140637 -0.0163164 0.999858 uwb: 0.0 855.756 1447.99 -imu_odom_: 1691062566.275884214 0.4956 -0.227449 9.76355 -0.0500674 0.00319579 0.0298274 0.19 0 pose: 0.40936804 -4.3235 0.0339462 0 0.0024593 0.00134493 -0.01629 0.999863 uwb: 0.50350758 852.996 1445.85 -imu_odom_: 1691062566.300891460 0.622492 0.0742203 10.252 -0.0287621 -0.0426106 0.0234358 0.19 0 pose: 0.0 -4.3235 0.0339462 0 0.0024593 0.00134493 -0.01629 0.999863 uwb: 0.0 852.996 1445.85 -imu_odom_: 1691062566.325878875 0.383072 -0.141258 10.1825 -0.0543285 0.00426106 0.0511327 0.17 0 pose: 0.42947393 -4.31467 0.0386292 0 0.00165389 0.000637847 -0.0163922 0.999864 uwb: 0.49637398 856.288 1446.31 -imu_odom_: 1691062566.343881141 0.102951 -0.280122 10.3789 -0.0479369 -0.0234358 0.0276969 0.17 0 pose: 0.0 -4.31467 0.0386292 0 0.00165389 0.000637847 -0.0163922 0.999864 uwb: 0.0 856.288 1446.31 -imu_odom_: 1691062566.367924507 0.612916 -0.337582 9.92875 -0.072438 0.00426106 0.0458064 0.19 -0.05 pose: 0.50054740 -4.30115 0.0344712 0 0.00339043 -0.00204499 -0.0166312 0.999854 uwb: 0.0 856.288 1446.31 -imu_odom_: 1691062566.391873088 0.294487 0.0383072 9.96467 -0.0426106 -0.04048 0.0255663 0.19 -0.05 pose: 0.0 -4.30115 0.0344712 0 0.00339043 -0.00204499 -0.0166312 0.999854 uwb: 0.50011285 855.015 1444.93 -imu_odom_: 1691062566.416990868 0.416591 -0.213084 10.1083 -0.0628506 -0.0308927 0.052198 0.22 -0.02 pose: 0.65934426 -4.29231 0.0391494 0 0.00186536 -0.000401704-0.016623 0.99986 uwb: 0.0 855.015 1444.93 -imu_odom_: 1691062566.438871406 0.694318 -0.0526724 9.44752 -0.0458064 0.0170442 0.0213053 0.18 -0.02 pose: 0.42106002 -4.28763 0.0303108 0 0.000927588 -0.000804391-0.0165852 0.999862 uwb: 0.50049491 857.349 1444.3 -imu_odom_: 1691062566.454976533 -0.11971 -0.282516 10.1538 -0.0575243 0.0245011 0.0596548 0.18 -0.02 pose: 0.0 -4.28763 0.0303108 0 0.000927588 -0.000804391-0.0165852 0.999862 uwb: 0.0 857.349 1444.3 -imu_odom_: 1691062566.480862209 0.550666 -0.184354 10.3621 -0.0276969 -0.0319579 0.0255663 0.23 0.02 pose: 0.5889444 -4.28763 0.0303108 0 0.00122121 -0.00126946 -0.0166387 0.99986 uwb: 0.49923792 860.354 1444.25 -imu_odom_: 1691062566.505029815 0.833182 -0.349553 10.0293 -0.0649811 -0.0106526 0.0671117 0.23 0.02 pose: 0.0 -4.28763 0.0303108 0 0.00122121 -0.00126946 -0.0166387 0.99986 uwb: 0.0 860.354 1444.25 -imu_odom_: 1691062566.530856287 0.88346 0.0502782 10.0317 -0.0372843 -0.00745685 0.0351537 0.21 0.02 pose: 0.40102121 -4.27879 0.0349882 0 0.00179244 -0.00162334 -0.016679 0.999858 uwb: 0.0 860.354 1444.25 -imu_odom_: 1691062566.543858912 0.0885855 -0.0909797 9.83059 -0.0468716 0.0234358 0.052198 0.21 0.02 pose: 0.0 -4.27879 0.0349882 0 0.00179244 -0.00162334 -0.016679 0.999858 uwb: 0.0 860.354 1444.25 -imu_odom_: 1691062566.567852698 0.311246 -0.112527 9.92875 -0.0308927 0.0181095 0.0298274 0.17 0 pose: 0.49949165 -4.26528 0.0308256 0 0.00122744 -0.00656513 -0.01648 0.999842 uwb: 0.0 860.354 1444.25 -imu_odom_: 1691062566.584908582 0.356736 -0.0981623 9.93115 -0.0830906 0.0170442 0.0596548 0.17 0 pose: 0.0 -4.26528 0.0308256 0 0.00122744 -0.00656513 -0.01648 0.999842 uwb: 0.99993406 860.994 1443.56 -imu_odom_: 1691062566.610917040 0.105345 -0.342371 9.50498 -0.0671117 0.0213053 0.0458064 0.2 0 pose: 0.38936131 -4.25644 0.0355058 0 0.00294242 -0.00576664 -0.0164869 0.999843 uwb: 0.0 860.994 1443.56 -imu_odom_: 1691062566.635909996 0.308852 -0.428562 9.82102 -0.072438 0.00852212 0.0585895 0.2 0 pose: 0.0 -4.25644 0.0355058 0 0.00294242 -0.00576664 -0.0164869 0.999843 uwb: 0.0 860.994 1443.56 -imu_odom_: 1691062566.661860709 0.11971 -0.31364 9.96706 -0.0287621 -0.0170442 0.0266316 0.2 0.02 pose: 0.42280988 -4.25176 0.0266688 0 0.00338145 -0.00133778 -0.01638 0.999859 uwb: 0.0 860.994 1443.56 -imu_odom_: 1691062566.686000025 0.253785 -0.517148 9.90721 -0.0681769 -0.0117179 0.0468716 0.2 0.02 pose: 0.0 -4.25176 0.0266688 0 0.00338145 -0.00133778 -0.01638 0.999859 uwb: 0.100060483 862.773 1443.3 -imu_odom_: 1691062566.711902325 0.4956 -0.129287 9.9096 -0.0372843 -0.052198 0.0383495 0.18 0 pose: 0.49778553 -4.24292 0.0313505 0 -0.0002825710.00202855 -0.0161482 0.999868 uwb: 0.0 862.773 1443.3 -imu_odom_: 1691062566.727849380 0.632069 -0.196325 9.83538 -0.0692422 -0.0138484 0.0617853 0.18 0 pose: 0.0 -4.24292 0.0313505 0 -0.0002825710.00202855 -0.0161482 0.999868 uwb: 0.49919710 863.823 1442.64 -imu_odom_: 1691062566.749960317 0.711078 -0.191536 10.5177 -0.0458064 0.0575243 0.0308927 0.19 0 pose: 0.49995828 -4.23409 0.0360362 0 -0.00254803 0.00338611 -0.0161888 0.99986 uwb: 0.0 863.823 1442.64 -imu_odom_: 1691062566.774913901 1.09176 -0.0311246 9.81383 -0.0692422 -0.0223706 0.056459 0.19 0 pose: 0.0 -4.23409 0.0360362 0 -0.00254803 0.00338611 -0.0161888 0.99986 uwb: 0.50071946 859.961 1440.23 -imu_odom_: 1691062566.791907665 0.263362 -0.550666 9.59835 -0.0553937 0.036219 0.036219 0.19 0 pose: 0.40920472 -4.2294 0.0272017 0 -0.000992645-0.000567368-0.0160545 0.99987 uwb: 0.0 859.961 1440.23 -imu_odom_: 1691062566.815837873 0.138864 -0.514753 9.35893 -0.0596548 0.0245011 0.0479369 0.19 0 pose: 0.0 -4.2294 0.0272017 0 -0.000992645-0.000567368-0.0160545 0.99987 uwb: 0.0 859.961 1440.23 -imu_odom_: 1691062566.833838097 0.339977 -0.292093 9.89045 -0.0415453 -0.0234358 0.0372843 0.23 0 pose: 0.48174224 -4.22057 0.0318893 0 -0.000875495-0.00360886 -0.0159254 0.999866 uwb: 0.49945957 856.822 1438.15 -imu_odom_: 1691062566.859161777 0.21069 -0.275333 9.90002 -0.0809601 -0.00639159 0.0649811 0.23 0 pose: 0.0 -4.22057 0.0318893 0 -0.000875495-0.00360886 -0.0159254 0.999866 uwb: 0.0 856.822 1438.15 -imu_odom_: 1691062566.884842720 0.387861 -0.325611 9.90002 -0.0372843 -0.0117179 0.0372843 0.23 -0.02 pose: 0.40882558 -4.20705 0.0277475 0 -0.00326692 -1.73538e-05-0.0158368 0.999869 uwb: 0.49996412 856.225 1437.39 -imu_odom_: 1691062566.909010908 0.270545 -0.306458 10.0628 -0.0415453 -0.00319579 0.0511327 0.23 -0.02 pose: 0.0 -4.20705 0.0277475 0 -0.00326692 -1.73538e-05-0.0158368 0.999869 uwb: 0.0 856.225 1437.39 -imu_odom_: 1691062566.934824257 0.263362 -0.136469 10.1562 -0.0170442 -0.015979 0.036219 0.18 0 pose: 0.43163792 -4.19822 0.0324418 0 -0.00401482 0.00273742 -0.015527 0.999868 uwb: 0.49980371 856.856 1436.76 -imu_odom_: 1691062566.947819299 0.52433 -0.445322 9.58878 -0.0511327 -0.0340885 0.056459 0.18 0 pose: 0.0 -4.19822 0.0324418 0 -0.00401482 0.00273742 -0.015527 0.999868 uwb: 0.0 856.856 1436.76 -imu_odom_: 1691062566.964046624 0.742203 -0.0550666 10.1562 -0.0479369 -0.0340885 0.0468716 0.18 0 pose: 0.49850006 -4.19352 0.0236139 0 -0.00371818 0.00394585 -0.0154144 0.999866 uwb: 0.0 856.856 1436.76 -imu_odom_: 1691062566.989816810 0.905008 0.265756 10.4627 -0.0596548 0.0223706 0.0490022 0.18 0 pose: 0.0 -4.19352 0.0236139 0 -0.00371818 0.00394585 -0.0154144 0.999866 uwb: 0.49879462 859.825 1436.71 -imu_odom_: 1691062567.14872471 0.792481 -0.0885855 9.68215 -0.0703074 0.0106526 0.0426106 0.19 0 pose: 0.72902660 -4.17883 0.0314331 0 -8.05045e-050.000108683 -0.0151534 0.999885 uwb: 0.0 859.825 1436.71 -imu_odom_: 1691062567.40986509 0.447716 -0.387861 9.991 -0.0798948 -0.00213053 0.0649811 0.19 0 pose: 0.9081772 -4.17587 0.0330143 0 0.000121339 -0.000690984-0.0151397 0.999885 uwb: 0.50095282 858.238 1435.11 -imu_odom_: 1691062567.63814018 0.248997 -0.229843 10.0437 -0.0330232 -0.00426106 0.0276969 0.19 -0.02 pose: 0.42087927 -4.16476 0.0276033 0 -0.00245734 -0.00207296 -0.0147791 0.999886 uwb: 0.0 858.238 1435.11 -imu_odom_: 1691062567.86827012 0.0335188 -0.241814 10.1706 -0.0628506 -0.0383495 0.0575243 0.19 -0.02 pose: 0.0 -4.16476 0.0276033 0 -0.00245734 -0.00207296 -0.0147791 0.999886 uwb: 0.50132909 856.682 1433.43 -imu_odom_: 1691062567.112829350 0.730232 -0.0742203 10.1849 -0.0234358 -0.052198 0.036219 0.19 0 pose: 0.30849451 -4.16234 0.0288968 0 -0.00179104 0.000834546 -0.0148359 0.999888 uwb: 0.0 856.682 1433.43 -imu_odom_: 1691062567.125891181 0.416591 -0.320823 9.68933 -0.0532632 0 0.0649811 0.19 0 pose: 0.0 -4.16234 0.0288968 0 -0.00179104 0.000834546 -0.0148359 0.999888 uwb: 0.50031418 855.102 1431.87 -imu_odom_: 1691062567.149812644 0.351948 0.0454898 10.2759 -0.0319579 -0.0330232 0.0458064 0.2 0 pose: 0.47136566 -4.15352 0.0336059 0 -0.00090134 -0.000863489-0.014665 0.999892 uwb: 0.0 855.102 1431.87 -imu_odom_: 1691062567.174811729 0.42138 -0.0095768110.3477 -0.0735032 -0.0500674 0.0596548 0.2 0 pose: 0.0 -4.15352 0.0336059 0 -0.00090134 -0.000863489-0.014665 0.999892 uwb: 0.49949758 856.926 1431.43 -imu_odom_: 1691062567.190817408 0.701501 -0.208296 9.71567 -0.0628506 0.0181095 0.0426106 0.23 0 pose: 0.38904348 -4.14881 0.0247858 0 0.00176164 -0.000867635-0.0144222 0.999894 uwb: 0.0 856.926 1431.43 -imu_odom_: 1691062567.216888574 0.507571 -0.301669 9.70849 -0.0830906 0.0223706 0.0511327 0.23 0 pose: 0.0 -4.14881 0.0247858 0 0.00176164 -0.000867635-0.0144222 0.999894 uwb: 0.0 856.926 1431.43 -imu_odom_: 1691062567.241921198 0.572214 -0.35913 9.75398 -0.052198 -0.0447411 0.036219 0.18 -0.02 pose: 0.41112381 -4.13999 0.0295022 0 0.00200622 -0.00287514 -0.0141732 0.999893 uwb: 0.50005461 856.423 1430.42 -imu_odom_: 1691062567.268078983 0.538695 -0.323217 9.93115 -0.0681769 -0.036219 0.0458064 0.21 -0.02 pose: 0.42931943 -4.12645 0.0254073 0 -0.00193924 -0.00518543 -0.0140986 0.999885 uwb: 0.0 856.423 1430.42 -imu_odom_: 1691062567.283957213 0.402226 0.0430956 10.0054 -0.0319579 0.00852212 0.0351537 0.21 -0.02 pose: 0.0 -4.12645 0.0254073 0 -0.00193924 -0.00518543 -0.0140986 0.999885 uwb: 0.49882096 854.767 1429.12 -imu_odom_: 1691062567.310011464 0.177171 -0.268151 9.9096 -0.0841559 0.00532632 0.052198 0.22 0 pose: 0.7057770 -4.12645 0.0254073 0 -0.00263151 -0.00558474 -0.0140739 0.999882 uwb: 0.0 854.767 1429.12 -imu_odom_: 1691062567.334800858 0.335188 0.0047884 9.91918 -0.0394148 -0.0138484 0.0287621 0.22 0 pose: 0.0 -4.12645 0.0254073 0 -0.00263151 -0.00558474 -0.0140739 0.999882 uwb: 0.49864306 852.448 1427.34 -imu_odom_: 1691062567.357936634 0.31364 -0.213084 9.64863 -0.0745685 -0.00639159 0.0458064 0.21 0 pose: 0.43163508 -4.11764 0.0301302 0 -0.00293393 -0.00515187 -0.0139957 0.999884 uwb: 0.0 852.448 1427.34 -imu_odom_: 1691062567.375779374 0.545878 -0.227449 9.7851 -0.0223706 0.0245011 0.0223706 0.21 0 pose: 0.0 -4.11764 0.0301302 0 -0.00293393 -0.00515187 -0.0139957 0.999884 uwb: 0.50055041 853.281 1427.35 -imu_odom_: 1691062567.399822161 0.277727 -0.323217 10.0054 -0.0596548 -0.0138484 0.0532632 0.18 -0.02 pose: 0.49663072 -4.1041 0.0260404 0 -0.000695109-0.00167459 -0.0139953 0.9999 uwb: 0.0 853.281 1427.35 -imu_odom_: 1691062567.425819833 0.584185 -0.0047884 9.63666 -0.0415453 -0.00532632 0.0308927 0.18 -0.02 pose: 0.0 -4.1041 0.0260404 0 -0.000695109-0.00167459 -0.0139953 0.9999 uwb: 0.49946550 855.079 1426.97 -imu_odom_: 1691062567.450846624 0.323217 -0.332794 10.0293 -0.0596548 -0.0607201 0.04048 0.19 -0.02 pose: 0.42225583 -4.1041 0.0260404 0 -0.000840004-0.000959594-0.0140422 0.999901 uwb: 0.0 855.079 1426.97 -imu_odom_: 1691062567.475779506 -0.0861913 0.0143652 9.77553 -0.0713727 0.0138484 0.0490022 0.19 -0.02 pose: 0.0 -4.1041 0.0260404 0 -0.000840004-0.000959594-0.0140422 0.999901 uwb: 0.50224777 856.104 1426.4 -imu_odom_: 1691062567.491849930 0.339977 -0.292093 10.0341 -0.0671117 -0.0436758 0.0479369 0.18 0 pose: 0.49799853 -4.09056 0.0219492 0 -0.000123637-0.0010327 -0.0140434 0.999901 uwb: 0.0 856.104 1426.4 -imu_odom_: 1691062567.515781600 0.0837971 -0.234632 10.1083 -0.0479369 -0.00213053 0.0276969 0.18 0 pose: 0.0 -4.09056 0.0219492 0 -0.000123637-0.0010327 -0.0140434 0.999901 uwb: 0.0 856.104 1426.4 -imu_odom_: 1691062567.532780617 0.45011 -0.23942 9.90721 -0.072438 -0.0447411 0.0532632 0.26 -0.02 pose: 0.48993751 -4.08175 0.0266735 0 -0.00119204 0.00212181 -0.0138867 0.999901 uwb: 0.49950341 855.692 1425.17 -imu_odom_: 1691062567.557780577 0.596156 -0.0215478 9.90242 -0.0436758 -0.00106526 0.0351537 0.26 -0.02 pose: 0.0 -4.08175 0.0266735 0 -0.00119204 0.00212181 -0.0138867 0.999901 uwb: 0.0 855.692 1425.17 -imu_odom_: 1691062567.583823162 0.268151 -0.114922 9.84496 -0.0681769 0.0170442 0.0639159 0.24 0 pose: 0.74955842 -4.06821 0.0225854 0 2.30746e-05 0.000809068 -0.0139269 0.999903 uwb: 0.50098495 853.077 1423.13 -imu_odom_: 1691062567.596758128 0.416591 -0.3304 10.0604 -0.0500674 -0.02024 0.0436758 0.24 0 pose: 0.8133350 -4.06821 0.0225854 0 0.00050228 0.00151399 -0.0138275 0.999903 uwb: 0.0 853.077 1423.13 -imu_odom_: 1691062567.614979713 0.526724 -0.304064 9.54329 -0.0490022 0.00639159 0.0585895 0.18 0 pose: 0.0 -4.06821 0.0225854 0 0.00050228 0.00151399 -0.0138275 0.999903 uwb: 0.0 853.077 1423.13 -imu_odom_: 1691062567.637880716 0.423774 -0.191536 9.8258 -0.0266316 0.0298274 0.0340885 0.18 0 pose: 0.39295734 -4.0594 0.0273123 0 2.66509e-05 0.00170424 -0.0135055 0.999907 uwb: 0.49963757 850.18 1420.76 -imu_odom_: 1691062567.661916212 0.507571 -0.0837971 9.84975 -0.0884169 0.0138484 0.072438 0.18 0.02 pose: 0.0 -4.0594 0.0273123 0 2.66509e-05 0.00170424 -0.0135055 0.999907 uwb: 0.0 850.18 1420.76 -imu_odom_: 1691062567.687907176 0.593762 -0.234632 10.0006 -0.0649811 -0.00106526 0.0511327 0.18 0.02 pose: 0.40588589 -4.04586 0.0232359 0 0.00178419 -0.000948944-0.0133458 0.999909 uwb: 0.49915635 850.192 1419.57 -imu_odom_: 1691062567.711932756 0.380678 -0.19393 10.058 -0.0830906 0.04048 0.0511327 0.19 0 pose: 0.0 -4.04586 0.0232359 0 0.00178419 -0.000948944-0.0133458 0.999909 uwb: 0.0 850.192 1419.57 -imu_odom_: 1691062567.735750685 0.186748 -0.0909797 10.307 -0.0532632 0.00106526 0.0479369 0.19 0 pose: 0.49101659 -4.04586 0.0232359 0 0.00127309 -0.00333705 -0.0128821 0.999911 uwb: 0.50008378 849.732 1418.56 -imu_odom_: 1691062567.760809266 0.407014 0.0167594 9.84256 -0.0575243 -0.015979 0.0415453 0.19 0 pose: 0.0 -4.04586 0.0232359 0 0.00127309 -0.00333705 -0.0128821 0.999911 uwb: 0.0 849.732 1418.56 -imu_odom_: 1691062567.784928754 0.591368 -0.174777 9.81862 -0.0660464 0.0245011 0.0394148 0.19 0 pose: 0.40850776 -4.03705 0.0279794 0 0.00192459 0.000984168 -0.0126897 0.999917 uwb: 0.49809769 855.039 1419.8 -imu_odom_: 1691062567.801752201 0.368707 -0.292093 9.95748 -0.0617853 -0.00745685 0.0394148 0.19 0 pose: 0.0 -4.03705 0.0279794 0 0.00192459 0.000984168 -0.0126897 0.999917 uwb: 0.0 855.039 1419.8 -imu_odom_: 1691062567.826742537 0.280122 0.0383072 10.4148 -0.04048 -0.0106526 0.0426106 0.19 0 pose: 0.32043439 -4.02351 0.0239253 0 0.00418107 -7.39603e-05-0.0126594 0.999911 uwb: 0.50120368 859.667 1420.63 -imu_odom_: 1691062567.852748084 0.263362 0.148441 10.0604 -0.0596548 -0.0170442 0.0458064 0.19 0 pose: 0.42991730 -4.02351 0.0239253 0 0.00291762 -0.000388444-0.0126424 0.999916 uwb: 0.0 859.667 1420.63 -imu_odom_: 1691062567.876731958 0.191536 0.023942 10.0413 -0.0585895 0.0170442 0.0394148 0.19 0.02 pose: 0.41962230 -4.01129 0.0223393 0 0.00668243 0.00134105 -0.0125444 0.999898 uwb: 0.50078081 861.477 1420.09 -imu_odom_: 1691062567.893754598 0.749385 -0.339977 9.64624 -0.0585895 -0.0106526 0.0426106 0.19 0.02 pose: 0.6999732 -4.00996 0.0198723 0 0.00703092 0.00201722 -0.012548 0.999895 uwb: 0.0 861.477 1420.09 -imu_odom_: 1691062567.919743229 0.543484 -0.0143652 10.647 -0.04048 0.0213053 0.0532632 0.18 0.02 pose: 0.34006782 -4.00116 0.024622 0 0.00689594 0.00219267 -0.0125237 0.999895 uwb: 0.0 861.477 1420.09 -imu_odom_: 1691062567.942733183 0.751779 -0.260968 9.99819 -0.0532632 -0.0255663 0.0383495 0.18 0.02 pose: 0.0 -4.00116 0.024622 0 0.00689594 0.00219267 -0.0125237 0.999895 uwb: 0.49898428 861.443 1418.96 -imu_odom_: 1691062567.968734063 0.864307 -0.169988 10.094 -0.0596548 -0.0298274 0.0458064 0.25 0 pose: 0.48978585 -3.99543 0.0277166 0 0.00665572 -0.00220962 -0.0123259 0.999899 uwb: 0.0 861.443 1418.96 -imu_odom_: 1691062567.981857139 0.42138 -0.160412 9.59596 -0.0447411 -0.0138484 0.0426106 0.25 0 pose: 0.0 -3.99543 0.0277166 0 0.00665572 -0.00220962 -0.0123259 0.999899 uwb: 0.50125911 859.432 1417.7 -imu_odom_: 1691062568.5851805 0.272939 -0.0814029 9.70609 -0.052198 -0.0106526 0.0639159 0.18 0 pose: 0.0 -3.99543 0.0277166 0 0.00665572 -0.00220962 -0.0123259 0.999899 uwb: 0.0 859.432 1417.7 -imu_odom_: 1691062568.29863098 0.742203 -0.126893 10.1754 -0.0490022 0.00213053 0.0468716 0.18 0 pose: 0.47142398 -3.9876 0.0205761 0 0.00542741 -0.00334276 -0.0121187 0.999906 uwb: 0.49878891 863.273 1418.33 -imu_odom_: 1691062568.43739783 0.430956 0 9.70131 -0.0426106 -0.00106526 0.0394148 0.18 0 pose: 0.0 -3.9876 0.0205761 0 0.00542741 -0.00334276 -0.0121187 0.999906 uwb: 0.0 863.273 1418.33 -imu_odom_: 1691062568.67953477 0.337582 -0.0766145 9.71806 -0.0788296 -0.0138484 0.0543285 0.18 0 pose: 0.46873510 -3.97881 0.0253328 0 0.00620965 -0.00383589 -0.0118362 0.999903 uwb: 0.0 863.273 1418.33 -imu_odom_: 1691062568.92874115 0.114922 -0.205901 9.66779 -0.0852212 0.00106526 0.0585895 0.22 0 pose: 0.31204386 -3.96957 0.0225839 0 0.00672334 -0.00123083 -0.0116811 0.999908 uwb: 0.50038718 864.617 1417.93 -imu_odom_: 1691062568.114797825 -0.0143652 -0.347159 9.97424 -0.076699 -0.0255663 0.0532632 0.22 0 pose: 0.7997738 -3.96525 0.0213023 0 0.00632395 -0.000458289-0.0116098 0.999913 uwb: 0.0 864.617 1417.93 -imu_odom_: 1691062568.130937955 0.409408 -0.0814029 10.1754 -0.0287621 -0.0340885 0.0255663 0.19 0 pose: 0.0 -3.96525 0.0213023 0 0.00632395 -0.000458289-0.0116098 0.999913 uwb: 0.49938393 867.352 1418.19 -imu_odom_: 1691062568.147862897 0.998382 -0.481235 9.3302 -0.0713727 0.0170442 0.0553937 0.19 0 pose: 0.46923091 -3.95646 0.0260701 0 0.00472186 0.00206923 -0.011375 0.999922 uwb: 0.0 867.352 1418.19 -imu_odom_: 1691062568.172774202 0.667982 -0.227449 9.64384 -0.0138484 0.0884169 0.0245011 0.18 0 pose: 0.0 -3.95646 0.0260701 0 0.00472186 0.00206923 -0.011375 0.999922 uwb: 0.50062924 868.387 1417.45 -imu_odom_: 1691062568.197878575 0.3304 -0.0909797 9.80186 -0.0703074 0.04048 0.0639159 0.18 0 pose: 0.33081987 -3.95646 0.0260701 0 0.00420739 -0.000345285-0.011343 0.999927 uwb: 0.0 868.387 1417.45 -imu_odom_: 1691062568.222866582 0.409408 -0.296881 9.77074 -0.0649811 -0.0191748 0.0415453 0.18 0 pose: 0.41922282 -3.94532 0.0207398 0 0.00493464 0.00165562 -0.0111624 0.999924 uwb: 0.49941601 866.833 1416.05 -imu_odom_: 1691062568.247744056 0.531513 -0.21069 10.1155 -0.0798948 -0.00213053 0.0585895 0.18 0 pose: 0.6869077 -3.9429 0.0220529 0 0.00422853 0.00146333 -0.0111563 0.999928 uwb: 0.0 866.833 1416.05 -imu_odom_: 1691062568.271727352 0.407014 -0.169988 9.7444 -0.0692422 0.0127832 0.0426106 0.26 -0.02 pose: 0.42996404 -3.93673 0.0254093 0 0.00133844 -0.00139504 -0.0108984 0.999939 uwb: 0.49993513 869.633 1416.05 -imu_odom_: 1691062568.288863736 0.308852 -0.447716 10.1083 -0.0745685 0.00319579 0.0468716 0.26 -0.02 pose: 0.0 -3.93673 0.0254093 0 0.00133844 -0.00139504 -0.0108984 0.999939 uwb: 0.0 869.633 1416.05 -imu_odom_: 1691062568.314866079 0.560243 0.11971 9.88326 -0.0319579 -0.00426106 0.0255663 0.18 0 pose: 0.41119680 -3.92934 0.0180439 0 0.000902691 0.00119863 -0.0108063 0.99994 uwb: 0.0 869.633 1416.05 -imu_odom_: 1691062568.339854086 0.325611 -0.0742203 9.90721 -0.0628506 0.00319579 0.0394148 0.18 0 pose: 0.0 -3.92934 0.0180439 0 0.000902691 0.00119863 -0.0108063 0.99994 uwb: 0.49926435 872.396 1416.11 -imu_odom_: 1691062568.355855977 0.203507 -0.177171 9.79707 -0.0468716 0.00639159 0.0308927 0.21 0 pose: 0.50990350 -3.92055 0.0228231 0 0.00507487 0.00179865 -0.0109931 0.999925 uwb: 0.0 872.396 1416.11 -imu_odom_: 1691062568.380860899 -0.0311246 -0.208296 9.96467 -0.0617853 -0.0106526 0.0490022 0.21 0 pose: 0.0 -3.92055 0.0228231 0 0.00507487 0.00179865 -0.0109931 0.999925 uwb: 0.49941017 873.869 1415.19 -imu_odom_: 1691062568.406691756 0.21069 -0.380678 9.991 -0.0458064 0.00532632 0.0213053 0.21 0 pose: 0.41006813 -3.90864 0.0218427 0 0.00399522 0.00575728 -0.0109662 0.999915 uwb: 0.0 873.869 1415.19 -imu_odom_: 1691062568.431714469 0.35913 -0.433351 10.2975 -0.0468716 -0.0330232 0.0330232 0.21 0 pose: 0.0 -3.90864 0.0218427 0 0.00399522 0.00575728 -0.0109662 0.999915 uwb: 0.49996722 872.362 1413.65 -imu_odom_: 1691062568.455771259 0.694318 0.023942 9.95988 -0.0436758 0.00213053 0.0426106 0.21 -0.02 pose: 0.33896839 -3.90699 0.0188142 0 0.000940015 0.00630665 -0.0112513 0.999916 uwb: 0.0 872.362 1413.65 -imu_odom_: 1691062568.480705895 0.639252 -0.445322 9.9096 -0.056459 0.00745685 0.0276969 0.26 0.02 pose: 0.0 -3.90699 0.0188142 0 0.000940015 0.00630665 -0.0112513 0.999916 uwb: 0.50168791 869.725 1411.96 -imu_odom_: 1691062568.496699911 0.268151 -0.225055 10.1155 -0.0798948 -0.0138484 0.0415453 0.26 0.02 pose: 0.48062542 -3.8982 0.0235862 0 0.000360578 0.00301472 -0.0113194 0.999931 uwb: 0.0 869.725 1411.96 -imu_odom_: 1691062568.522760583 0.397437 -0.531513 9.44991 -0.0500674 -0.036219 0.0149137 0.19 0 pose: 0.0 -3.8982 0.0235862 0 0.000360578 0.00301472 -0.0113194 0.999931 uwb: 0.49883855 872.838 1412.09 -imu_odom_: 1691062568.547702511 0.756568 -0.488417 9.72046 -0.0788296 -0.0756338 0.0500674 0.19 0 pose: 0.42021149 -3.88464 0.0195689 0 -0.00165811 0.00299234 -0.0115139 0.999928 uwb: 0.0 872.838 1412.09 -imu_odom_: 1691062568.571703597 0.0263362 -0.507571 9.69891 -0.036219 0.0276969 0.0287621 0.21 -0.02 pose: 0.42861082 -3.87834 0.0229898 0 -0.0048666 -0.00068318 -0.0116165 0.99992 uwb: 0.49922644 872.055 1410.82 -imu_odom_: 1691062568.588722156 0.737414 -0.11971 10.149 -0.052198 -0.0138484 0.0383495 0.21 -0.02 pose: 0.0 -3.87834 0.0229898 0 -0.0048666 -0.00068318 -0.0116165 0.99992 uwb: 0.0 872.055 1410.82 -imu_odom_: 1691062568.614755705 0.895431 -0.203507 10.0604 -0.0351537 0.0447411 0.02024 0.18 -0.02 pose: 0.7070894 -3.87585 0.024336 0 -0.00511232 6.27074e-05 -0.011652 0.999919 uwb: 0.0 872.055 1410.82 -imu_odom_: 1691062568.639890992 0.562637 -0.21069 9.56723 -0.0703074 0.00532632 0.0639159 0.18 -0.02 pose: 0.0 -3.87585 0.024336 0 -0.00511232 6.27074e-05 -0.011652 0.999919 uwb: 0.50024719 870.562 1409.34 -imu_odom_: 1691062568.655686691 0.610521 -0.191536 10.0102 -0.052198 0.00319579 0.0447411 0.2 0 pose: 0.41944447 -3.87109 0.0155439 0 -0.00460915 -0.000313465-0.0118359 0.999919 uwb: 0.0 870.562 1409.34 -imu_odom_: 1691062568.679675528 0.529119 -0.220267 9.69412 -0.0575243 -0.0149137 0.0543285 0.2 0 pose: 0.0 -3.87109 0.0155439 0 -0.00460915 -0.000313465-0.0118359 0.999919 uwb: 0.50062049 870.51 1408.26 -imu_odom_: 1691062568.704786317 0.490811 -0.263362 9.86411 -0.0330232 0.0170442 0.0340885 0.18 0 pose: 0.50017719 -3.8623 0.0203059 0 -0.00257734 -0.00422872 -0.0117122 0.999919 uwb: 0.0 870.51 1408.26 -imu_odom_: 1691062568.729677207 0.457293 -0.0790087 9.98382 -0.0852212 0.0276969 0.072438 0.18 0 pose: 0.0 -3.8623 0.0203059 0 -0.00257734 -0.00422872 -0.0117122 0.999919 uwb: 0.50104629 869.044 1406.71 -imu_odom_: 1691062568.754673672 0.562637 -0.19393 9.95509 -0.0628506 -0.0276969 0.052198 0.18 0 pose: 0.41010605 -3.8535 0.0250703 0 -0.000844937-0.00605775 -0.0115458 0.999915 uwb: 0.0 869.044 1406.71 -imu_odom_: 1691062568.770789595 0.407014 -0.452504 9.6199 -0.0788296 0 0.0543285 0.18 0 pose: 0.0 -3.8535 0.0250703 0 -0.000844937-0.00605775 -0.0115458 0.999915 uwb: 0.0 869.044 1406.71 -imu_odom_: 1691062568.788690668 0.0454898 -0.246603 10.0149 -0.0447411 -0.0255663 0.0426106 0.18 0 pose: 0.50055050 -3.83995 0.02105 0 0.000336096 -0.00463369 -0.0111362 0.999927 uwb: 0.49859358 867.575 1405.19 -imu_odom_: 1691062568.813741962 0.181959 -0.282516 10.1035 -0.0575243 -0.0298274 0.0500674 0.18 0 pose: 0.0 -3.83995 0.02105 0 0.000336096 -0.00463369 -0.0111362 0.999927 uwb: 0.0 867.575 1405.19 -imu_odom_: 1691062568.829684065 0.452504 0.102951 9.70131 -0.0607201 -0.015979 0.0436758 0.25 -0.02 pose: 0.75940736 -3.82778 0.0196125 0 -0.00142023 -0.00199162 -0.0107386 0.999939 uwb: 0.49880647 865.083 1403.25 -imu_odom_: 1691062568.854660407 0.457293 -0.268151 9.99579 -0.0585895 0.00745685 0.0415453 0.25 -0.02 pose: 0.7015773 -3.82638 0.0170448 0 -0.000737584-0.00206233 -0.0107256 0.99994 uwb: 0.0 865.083 1403.25 -imu_odom_: 1691062568.877680404 0.272939 -0.447716 9.27753 -0.0649811 0.00958738 0.0415453 0.22 0 pose: 0.33902672 -3.8202 0.0204101 0 -0.00236058 -0.00248436 -0.0106793 0.999937 uwb: 0.50033468 864.94 1402.51 -imu_odom_: 1691062568.903727077 0.301669 -0.371101 9.79707 -0.0649811 -0.0458064 0.0553937 0.22 0 pose: 0.0 -3.8202 0.0204101 0 -0.00236058 -0.00248436 -0.0106793 0.999937 uwb: 0.0 864.94 1402.51 -imu_odom_: 1691062568.918673802 0.280122 0.059855 10.2568 -0.0479369 -0.052198 0.0553937 0.2 0 pose: 0.49066670 -3.81403 0.0152622 0 -0.0056818 0.000918606 -0.0104311 0.999929 uwb: 0.0 864.94 1402.51 -imu_odom_: 1691062568.935738441 0.739808 -0.241814 10.0245 -0.0500674 0.00852212 0.0394148 0.2 0 pose: 0.0 -3.81403 0.0152622 0 -0.0056818 0.000918606 -0.0104311 0.999929 uwb: 0.50015678 865.321 1401.38 -imu_odom_: 1691062568.961727369 0.342371 -0.361524 9.88326 -0.0596548 -0.0149137 0.0426106 0.18 0.02 pose: 0.32011364 -3.80404 0.0178323 0 -0.00388793 -0.000645755-0.0103163 0.999939 uwb: 0.0 865.321 1401.38 -imu_odom_: 1691062568.987851910 0.648829 -0.306458 10.0269 -0.056459 -0.0234358 0.056459 0.18 0.02 pose: 0.0 -3.80404 0.0178323 0 -0.00388793 -0.000645755-0.0103163 0.999939 uwb: 0.50241410 864.684 1399.8 -imu_odom_: 1691062569.12719470 0.730232 -0.270545 10.1203 -0.0479369 -0.00532632 0.0351537 0.2 0 pose: 0.52113469 -3.79781 0.0212288 0 -0.00555472 -0.00174522 -0.0100607 0.999932 uwb: 0.0 864.684 1399.8 -imu_odom_: 1691062569.38775189 0.37589 -0.107739 10.1682 -0.0500674 -0.0394148 0.0479369 0.2 0 pose: 0.0 -3.79781 0.0212288 0 -0.00555472 -0.00174522 -0.0100607 0.999932 uwb: 0.50001391 864.615 1398.85 -imu_odom_: 1691062569.61647619 0.835576 -0.205901 10.1514 -0.0213053 -0.0255663 0.0234358 0.19 -0.02 pose: 0.31843964 -3.79047 0.0138461 0 -0.00439245 -0.00400616 -0.010101 0.999931 uwb: 0.0 864.615 1398.85 -imu_odom_: 1691062569.78640225 0.131681 -0.19393 9.50259 -0.0639159 -0.0117179 0.0585895 0.19 -0.02 pose: 0.0 -3.79047 0.0138461 0 -0.00439245 -0.00400616 -0.010101 0.999931 uwb: 0.49935485 866.276 1398.52 -imu_odom_: 1691062569.103667318 0.543484 -0.371101 10.0461 -0.0511327 -0.00958738 0.0351537 0.19 0 pose: 0.58944351 -3.77679 0.0213131 0 -0.00172682 -0.00433688 -0.010049 0.999939 uwb: 0.0 866.276 1398.52 -imu_odom_: 1691062569.129668207 0.397437 -0.577003 9.4978 -0.056459 -0.0117179 0.0596548 0.19 0 pose: 0.0 -3.77679 0.0213131 0 -0.00172682 -0.00433688 -0.010049 0.999939 uwb: 0.49804246 867.284 1397.82 -imu_odom_: 1691062569.152644754 0.617704 -0.246603 9.94073 -0.0575243 0.00319579 0.0458064 0.19 0.02 pose: 0.32093614 -3.77291 0.0234324 0 -0.00464304 -0.00515823 -0.0100201 0.999926 uwb: 0.0 867.284 1397.82 -imu_odom_: 1691062569.169637944 0.593762 -0.100556 10.0149 -0.0745685 -0.00745685 0.0692422 0.19 0.02 pose: 0.0 -3.77291 0.0234324 0 -0.00464304 -0.00515823 -0.0100201 0.999926 uwb: 0.0 867.284 1397.82 -imu_odom_: 1691062569.194642871 0.19393 -0.435745 9.32063 -0.0596548 0.0660464 0.0223706 0.18 -0.02 pose: 0.49971940 -3.75935 0.0194555 0 -0.00439277 -0.00656486 -0.00965174 0.999922 uwb: 0.49991481 865.087 1396.31 -imu_odom_: 1691062569.219659172 -0.0263362 -0.414197 9.35415 -0.04048 0.0266316 0.0607201 0.21 0.02 pose: 0.0 -3.75935 0.0194555 0 -0.00439277 -0.00656486 -0.00965174 0.999922 uwb: 0.0 865.087 1396.31 -imu_odom_: 1691062569.243648305 0.136469 -0.047884 9.79228 -0.0149137 0.0181095 0.0255663 0.21 0.02 pose: 0.41945038 -3.75935 0.0194555 0 -0.00480883 -0.00278128 -0.00964139 0.999938 uwb: 0.50246377 865.773 1395.42 -imu_odom_: 1691062569.259644949 0.471658 -0.335188 9.62948 -0.0628506 -0.02024 0.0639159 0.21 0.02 pose: 0.0 -3.75935 0.0194555 0 -0.00480883 -0.00278128 -0.00964139 0.999938 uwb: 0.0 865.773 1395.42 -imu_odom_: 1691062569.283698535 0.339977 -0.325611 9.85214 -0.0308927 0.00745685 0.0351537 0.19 0 pose: 0.49001351 -3.74577 0.015484 0 -0.00341044 0.000441672 -0.00951977 0.999949 uwb: 0.49687588 866.045 1394.62 -imu_odom_: 1691062569.306670999 0.481235 -0.0287304 10.0724 -0.0426106 -0.0319579 0.0585895 0.27 -0.02 pose: 0.0 -3.74577 0.015484 0 -0.00341044 0.000441672 -0.00951977 0.999949 uwb: 0.0 866.045 1394.62 -imu_odom_: 1691062569.323664480 0.876278 -0.0837971 9.82341 -0.0543285 0 0.0383495 0.27 -0.02 pose: 0.32046367 -3.73968 0.0188209 0 -0.00468355 0.00203171 -0.00946961 0.999942 uwb: 0.49950068 866.691 1393.85 -imu_odom_: 1691062569.348647826 0.399832 -0.282516 9.32302 -0.0873517 0.0298274 0.0490022 0.27 -0.02 pose: 0.0 -3.73968 0.0188209 0 -0.00468355 0.00203171 -0.00946961 0.999942 uwb: 0.0 866.691 1393.85 -imu_odom_: 1691062569.371708657 0.162806 -0.196325 9.94551 -0.0490022 0.0543285 0.0298274 0.18 0 pose: 0.7011400 -3.737 0.0202869 0 -0.00399601 0.00165631 -0.00940263 0.999946 uwb: 0.50202339 867.269 1393.27 -imu_odom_: 1691062569.397676008 0.071826 -0.244209 9.89763 -0.0703074 -0.00319579 0.0543285 0.25 0 pose: 0.41054067 -3.72343 0.0163213 0 -0.00269751 -0.000243582-0.00922509 0.999954 uwb: 0.0 867.269 1393.27 -imu_odom_: 1691062569.412834760 0.821211 -0.380678 10.3214 -0.0532632 -0.0255663 0.0330232 0.25 0 pose: 0.0 -3.72343 0.0163213 0 -0.00269751 -0.000243582-0.00922509 0.999954 uwb: 0.0 867.269 1393.27 -imu_odom_: 1691062569.435740146 0.469264 -0.280122 9.64863 -0.0809601 -0.00319579 0.0532632 0.25 0 pose: 0.0 -3.72343 0.0163213 0 -0.00269751 -0.000243582-0.00922509 0.999954 uwb: 0.50028811 867.973 1392.32 -imu_odom_: 1691062569.452606471 0.486023 -0.280122 10.1323 -0.0713727 -0.0596548 0.0436758 0.21 0 pose: 0.47862775 -3.72343 0.0163213 0 -0.0033138 0.00438146 -0.00918736 0.999943 uwb: 0.0 867.973 1392.32 -imu_odom_: 1691062569.477616356 0.476446 -0.0933739 10.3238 -0.0479369 -0.0181095 0.0234358 0.21 0 pose: 0.0 -3.72343 0.0163213 0 -0.0033138 0.00438146 -0.00918736 0.999943 uwb: 0.50055350 869.708 1391.69 -imu_odom_: 1691062569.502679612 0.979228 -0.0861913 10.3645 -0.0468716 -0.015979 0.0319579 0.18 0 pose: 0.81067259 -3.70108 0.0171733 0 -0.00298712 -0.00024625 -0.00898823 0.999955 uwb: 0.0 869.708 1391.69 -imu_odom_: 1691062569.525713029 0.428562 -0.0047884 10.0604 -0.0607201 0.0234358 0.052198 0.18 -0.02 pose: 0.41985576 -3.70108 0.0171733 0 -0.000585825-0.00354675 -0.00922563 0.999951 uwb: 0.50123596 867.889 1390.31 -imu_odom_: 1691062569.550613256 0.351948 -0.146046 9.42358 -0.0436758 0.00852212 0.0308927 0.18 -0.02 pose: 0.0 -3.70108 0.0171733 0 -0.000585825-0.00354675 -0.00922563 0.999951 uwb: 0.0 867.889 1390.31 -imu_odom_: 1691062569.566610192 0.189142 -0.246603 9.81623 -0.0543285 -0.0127832 0.04048 0.23 0 pose: 0.7075562 -3.70108 0.0171733 0 9.13303e-05 -0.00331297 -0.00918352 0.999952 uwb: 0.0 867.889 1390.31 -imu_odom_: 1691062569.592628580 0.675165 -0.37589 10.1107 -0.0543285 -0.0149137 0.0170442 0.23 0 pose: 0.0 -3.70108 0.0171733 0 9.13303e-05 -0.00331297 -0.00918352 0.999952 uwb: 0.49628676 868.063 1389.79 -imu_odom_: 1691062569.615672205 0.411803 -0.213084 9.71567 -0.076699 -0.0266316 0.0553937 0.21 0 pose: 0.47862775 -3.6875 0.0132139 0 0.00241073 0.000328398 -0.00920085 0.999955 uwb: 0.0 868.063 1389.79 -imu_odom_: 1691062569.632612024 0.502782 -0.196325 10.1323 -0.0649811 -0.0276969 0.04048 0.21 0 pose: 0.0 -3.6875 0.0132139 0 0.00241073 0.000328398 -0.00920085 0.999955 uwb: 0.50062058 870.658 1389.95 -imu_odom_: 1691062569.648618000 0.445322 -0.196325 9.70609 -0.0458064 0.0245011 0.0319579 0.21 0 pose: 0.0 -3.6875 0.0132139 0 0.00241073 0.000328398 -0.00920085 0.999955 uwb: 0.0 870.658 1389.95 -imu_odom_: 1691062569.674818374 0.416591 -0.488417 9.46907 -0.0713727 0.0330232 0.0479369 0.18 0 pose: 0.42005116 -3.67874 0.0180222 0 0.000107443 -0.000666233-0.00943444 0.999955 uwb: 0.50231212 872.537 1389.97 -imu_odom_: 1691062569.689615780 0.390255 -0.294487 9.93115 -0.0298274 -0.00532632 0.0266316 0.18 0 pose: 0.0 -3.67874 0.0180222 0 0.000107443 -0.000666233-0.00943444 0.999955 uwb: 0.0 872.537 1389.97 -imu_odom_: 1691062569.716631005 0.620098 -0.304064 10.2927 -0.0617853 -0.0138484 0.0713727 0.18 0.02 pose: 0.82025890 -3.66516 0.014056 0 -0.00233425 -0.000759373-0.00929279 0.999954 uwb: 0.0 872.537 1389.97 -imu_odom_: 1691062569.740588057 0.90022 0.0023942 10.2185 -0.0383495 -0.0138484 0.0426106 0.19 0 pose: 0.0 -3.66516 0.014056 0 -0.00233425 -0.000759373-0.00929279 0.999954 uwb: 0.49733960 874.74 1390.14 -imu_odom_: 1691062569.766639401 0.835576 -0.191536 9.98622 -0.056459 0.0287621 0.0436758 0.19 0 pose: 0.34982050 -3.65639 0.0188627 0 -0.00334621 -0.00303351 -0.00892013 0.99995 uwb: 0.0 874.74 1390.14 -imu_odom_: 1691062569.782712164 0.198719 -0.177171 9.36851 -0.0479369 0.015979 0.0308927 0.19 0 pose: 0.0 -3.65639 0.0188627 0 -0.00334621 -0.00303351 -0.00892013 0.99995 uwb: 0.49995272 876.318 1389.9 -imu_odom_: 1691062569.808639851 0.0670376 -0.423774 9.7444 -0.0841559 0.0181095 0.0777643 0.18 0 pose: 0.7979074 -3.65639 0.0188627 0 -0.00284851 -0.00374441 -0.00891126 0.999949 uwb: 0.0 876.318 1389.9 -imu_odom_: 1691062569.825753781 0.761356 -0.148441 9.96946 -0.0649811 0.00426106 0.0426106 0.18 0 pose: 0.0 -3.65639 0.0188627 0 -0.00284851 -0.00374441 -0.00891126 0.999949 uwb: 0.49975148 877.92 1389.57 -imu_odom_: 1691062569.850735960 0.696713 -0.0885855 9.97185 -0.0777643 -0.0191748 0.0607201 0.19 0 pose: 0.48996685 -3.64281 0.0149113 0 -0.00126898 -0.00655611 -0.00887808 0.999938 uwb: 0.0 877.92 1389.57 -imu_odom_: 1691062569.872585305 0.567426 -0.0215478 10.331 -0.0255663 -0.00745685 0.0287621 0.19 0 pose: 0.77129196 -3.63041 0.0131211 0 -0.000670116-0.00657443 -0.00814431 0.999945 uwb: 0.49920320 878.922 1388.75 -imu_odom_: 1691062569.895628638 0.627281 -0.222661 10.2951 -0.0617853 -0.0287621 0.0458064 0.19 0 pose: 0.0 -3.63041 0.0131211 0 -0.000670116-0.00657443 -0.00814431 0.999945 uwb: 0.0 878.922 1388.75 -imu_odom_: 1691062569.921611738 0.577003 -0.0047884 9.98861 -0.0479369 -0.0138484 0.0394148 0.18 0.02 pose: 0.5906363 -3.62923 0.0109655 0 1.90867e-06 -0.0066744 -0.00817957 0.999944 uwb: 0.50006063 876.19 1386.8 -imu_odom_: 1691062569.944600242 0.320823 -0.141258 9.71567 -0.0617853 -0.0245011 0.0436758 0.18 0.02 pose: 0.0 -3.62923 0.0109655 0 1.90867e-06 -0.0066744 -0.00817957 0.999944 uwb: 0.0 876.19 1386.8 -imu_odom_: 1691062569.960598344 0.124498 -0.265756 10.2208 -0.056459 0.052198 0.036219 0.25 0.02 pose: 0.47005927 -3.62047 0.0157916 0 0.00143367 -0.00924353 -0.00820018 0.999923 uwb: 0.0 876.19 1386.8 -imu_odom_: 1691062569.986730473 0.560243 -0.593762 10.2615 -0.0735032 0.0287621 0.0585895 0.25 0.02 pose: 0.0 -3.62047 0.0157916 0 0.00143367 -0.00924353 -0.00820018 0.999923 uwb: 0.50137303 877.094 1386.3 -imu_odom_: 1691062570.11581705 0.373495 -0.181959 10.1921 -0.0351537 -0.0117179 0.0394148 0.21 0 pose: 0.47964267 -3.61171 0.0206169 0 0.00312777 -0.0063282 -0.00819279 0.999942 uwb: 0.0 877.094 1386.3 -imu_odom_: 1691062570.34697079 0.565032 -0.217872 9.9503 -0.052198 -0.0266316 0.0383495 0.21 0 pose: 0.0 -3.61171 0.0206169 0 0.00312777 -0.0063282 -0.00819279 0.999942 uwb: 0.50018607 876.799 1384.9 -imu_odom_: 1691062570.50584068 0.292093 0.059855 9.71328 -0.0213053 -0.00532632 0.036219 0.17 0.02 pose: 0.83084562 -3.59813 0.0166885 0 0.000461275 -0.00526585 -0.00796054 0.999954 uwb: 0.0 876.799 1384.9 -imu_odom_: 1691062570.76578254 0.131681 -0.457293 9.52653 -0.0639159 0.0383495 0.056459 0.17 0.02 pose: 0.7012568 -3.59813 0.0166885 0 0.00113247 -0.00483601 -0.00797482 0.999956 uwb: 0.49985073 872.082 1382.34 -imu_odom_: 1691062570.92573443 0.0622492 -0.356736 10.0533 -0.0351537 0.00426106 0.036219 0.19 0 pose: 0.0 -3.59813 0.0166885 0 0.00113247 -0.00483601 -0.00797482 0.999956 uwb: 0.0 872.082 1382.34 -imu_odom_: 1691062570.118581628 0.311246 -0.227449 9.9527 -0.0426106 -0.0511327 0.0479369 0.19 0 pose: 0.34868607 -3.58837 0.0138687 0 0.000269594 -0.00169209 -0.00777011 0.999968 uwb: 0.0 872.082 1382.34 -imu_odom_: 1691062570.143705258 0.550666 0.023942 10.1586 -0.0117179 -0.0266316 0.0394148 0.17 0 pose: 0.42003374 -3.57826 0.0162286 0 -0.0002369340.00184529 -0.00768696 0.999969 uwb: 0.50007822 869.038 1380.36 -imu_odom_: 1691062570.169575788 0.328006 -0.0622492 10.2879 -0.0287621 -0.0213053 0.0490022 0.17 0 pose: 0.0 -3.57826 0.0162286 0 -0.0002369340.00184529 -0.00768696 0.999969 uwb: 0.0 869.038 1380.36 -imu_odom_: 1691062570.194573720 0.6608 0.0766145 10.0078 -0.04048 0.0223706 0.0383495 0.17 0 pose: 0.50994160 -3.56603 0.0147843 0 0.0047705 0.00127502 -0.00756857 0.999959 uwb: 0.49816503 870.076 1379.5 -imu_odom_: 1691062570.220748434 0.356736 -0.253785 9.85932 -0.0543285 0 0.0394148 0.21 0 pose: 0.0 -3.56603 0.0147843 0 0.0047705 0.00127502 -0.00756857 0.999959 uwb: 0.0 870.076 1379.5 -imu_odom_: 1691062570.236571845 -0.0502782 -0.337582 9.70609 -0.0809601 -0.0287621 0.056459 0.21 0 pose: 0.33072666 -3.5622 0.0136799 0 0.00561139 -0.00018215 -0.0075728 0.999956 uwb: 0.50127688 872.338 1379.37 -imu_odom_: 1691062570.262598695 0.490811 -0.35913 9.92397 -0.0660464 -0.0170442 0.0383495 0.23 -0.02 pose: 0.41997541 -3.55344 0.0185167 0 0.00232889 0.00124079 -0.00745515 0.999969 uwb: 0.49887956 871.647 1378.15 -imu_odom_: 1691062570.288605422 0.826 -0.0383072 10.0461 -0.0681769 -0.0191748 0.0458064 0.23 -0.02 pose: 0.0 -3.55344 0.0185167 0 0.00232889 0.00124079 -0.00745515 0.999969 uwb: 0.0 871.647 1378.15 -imu_odom_: 1691062570.314631106 0.466869 -0.263362 9.48343 -0.0213053 0.0948085 0.0245011 0.23 0 pose: 0.43959427 -3.54994 0.0121757 0 0.00142244 -0.00241119 -0.00738352 0.999969 uwb: 0.0 871.647 1378.15 -imu_odom_: 1691062570.330557758 0.0766145 -0.387861 10.1442 -0.0543285 0.00958738 0.0553937 0.23 0 pose: 0.0 -3.54994 0.0121757 0 0.00142244 -0.00241119 -0.00738352 0.999969 uwb: 0.50081024 868.933 1376.39 -imu_odom_: 1691062570.356767469 0.505177 -0.42138 9.52413 -0.0426106 0.0149137 0.0372843 0.22 0 pose: 0.7143516 -3.54861 0.00976547 0 0.000851167 -0.00222515 -0.00743467 0.99997 uwb: 0.0 868.933 1376.39 -imu_odom_: 1691062570.381610539 0.275333 -0.213084 9.8689 -0.0426106 -0.00106526 0.0575243 0.22 0 pose: 0.0 -3.54861 0.00976547 0 0.000851167 -0.00222515 -0.00743467 0.99997 uwb: 0.50053319 868.548 1375.39 -imu_odom_: 1691062570.397564022 0.720655 -0.124498 9.96946 -0.0532632 0.0106526 0.0372843 0.2 0 pose: 0.42841849 -3.53985 0.0146046 0 -0.00194308 -0.000463258-0.00745161 0.99997 uwb: 0.0 868.548 1375.39 -imu_odom_: 1691062570.423556167 0.361524 -0.229843 9.42837 -0.0873517 0.02024 0.0553937 0.2 0 pose: 0.0 -3.53985 0.0146046 0 -0.00194308 -0.000463258-0.00745161 0.99997 uwb: 0.49993531 867.783 1374.42 -imu_odom_: 1691062570.449568144 0.00718261 -0.282516 9.91439 -0.0511327 -0.02024 0.0340885 0.23 -0.02 pose: 0.49992657 -3.52626 0.0106929 0 -0.0019701 0.000554376 -0.00725333 0.999972 uwb: 0.0 867.783 1374.42 -imu_odom_: 1691062570.475613368 0.675165 -0.289698 9.90002 -0.0703074 -0.0607201 0.0447411 0.23 -0.02 pose: 0.0 -3.52626 0.0106929 0 -0.0019701 0.000554376 -0.00725333 0.999972 uwb: 0.49889706 866.967 1373.61 -imu_odom_: 1691062570.501548934 0.730232 -0.0383072 10.0102 -0.0458064 -0.02024 0.0415453 0.21 -0.02 pose: 0.42976005 -3.51751 0.0155363 0 -0.0012919 0.00329794 -0.00707775 0.999969 uwb: 0.0 866.967 1373.61 -imu_odom_: 1691062570.518543293 0.186748 -0.411803 9.94791 -0.0809601 0.0223706 0.052198 0.21 -0.02 pose: 0.0 -3.51751 0.0155363 0 -0.0012919 0.00329794 -0.00707775 0.999969 uwb: 0.0 866.967 1373.61 -imu_odom_: 1691062570.534548398 0.25618 -0.339977 9.70609 -0.0287621 -0.0287621 0.0298274 0.17 -0.02 pose: 0.51022449 -3.50877 0.0203814 0 -0.00161823 0.000970981 -0.00705545 0.999973 uwb: 0.49943952 867.671 1372.66 -imu_odom_: 1691062570.559538456 0.620098 -0.21069 9.991 -0.0426106 0 0.0351537 0.17 -0.02 pose: 0.0 -3.50877 0.0203814 0 -0.00161823 0.000970981 -0.00705545 0.999973 uwb: 0.0 867.671 1372.66 -imu_odom_: 1691062570.585682839 0.545878 0.143652 10.1083 -0.0276969 -0.00213053 0.0308927 0.19 0 pose: 0.58980235 -3.49517 0.016481 0 -0.00232429 0.00120978 -0.00702302 0.999972 uwb: 0.50052151 868.753 1371.67 -imu_odom_: 1691062570.611680233 0.136469 -0.0383072 10.1945 -0.0628506 0.0308927 0.052198 0.19 0 pose: 0.0 -3.49517 0.016481 0 -0.00232429 0.00120978 -0.00702302 0.999972 uwb: 0.0 868.753 1371.67 -imu_odom_: 1691062570.637588968 -0.00718261-0.268151 9.8282 -0.0500674 0.0127832 0.0372843 0.19 0 pose: 0.44120706 -3.49182 0.0104265 0 0.000987185 -0.00133698 -0.00718315 0.999973 uwb: 0.50052152 868.711 1370.76 -imu_odom_: 1691062570.663526284 0.696713 -0.407014 10.0054 -0.052198 -0.0394148 0.0223706 0.19 0 pose: 0.8048194 -3.49033 0.00773338 0 0.0013419 -0.000486699-0.00713349 0.999974 uwb: 0.0 868.711 1370.76 -imu_odom_: 1691062570.689585215 0.550666 -0.227449 10.0892 -0.0639159 -0.00639159 0.0553937 0.19 0 pose: 0.0 -3.49033 0.00773338 0 0.0013419 -0.000486699-0.00713349 0.999974 uwb: 0.49997323 866.824 1368.91 -imu_odom_: 1691062570.705524408 0.260968 -0.124498 9.9934 -0.0692422 0.00958738 0.0330232 0.17 0.02 pose: 0.50862921 -3.48158 0.0125779 0 0.00124541 0.00342568 -0.00711936 0.999968 uwb: 0.0 866.824 1368.91 -imu_odom_: 1691062570.731576340 0.4956 -0.574608 9.50498 -0.0777643 0.015979 0.056459 0.17 0.02 pose: 0.0 -3.48158 0.0125779 0 0.00124541 0.00342568 -0.00711936 0.999968 uwb: 0.49984781 864.677 1366.82 -imu_odom_: 1691062570.757579567 0.296881 -0.339977 10.3046 -0.0266316 0.015979 0.0276969 0.2 -0.02 pose: 0.51943459 -3.46799 0.0086748 0 0.000187138 -0.000497123-0.00710111 0.999975 uwb: 0.0 864.677 1366.82 -imu_odom_: 1691062570.783516592 0.845153 -0.342371 10.1825 -0.0713727 -0.00852212 0.0703074 0.23 0 pose: 0.43034626 -3.45924 0.0135209 0 -0.00259879 0.000683315 -0.00695767 0.999972 uwb: 0.50037862 863.251 1364.79 -imu_odom_: 1691062570.809513403 0.73502 -0.136469 10.0389 -0.0479369 0.00426106 0.0447411 0.17 0 pose: 0.0 -3.45924 0.0135209 0 -0.00259879 0.000683315 -0.00695767 0.999972 uwb: 0.0 863.251 1364.79 -imu_odom_: 1691062570.834576663 0.232238 -0.260968 10.2999 -0.0607201 0.0436758 0.0500674 0.23 0 pose: 0.51007575 -3.45049 0.0183697 0 -0.00360944 -0.000917883-0.0066566 0.999971 uwb: 0.49836918 861.427 1362.89 -imu_odom_: 1691062570.849505603 0.308852 -0.217872 9.48343 -0.0479369 0.00745685 0.0340885 0.23 0 pose: 0.0 -3.45049 0.0183697 0 -0.00360944 -0.000917883-0.0066566 0.999971 uwb: 0.0 861.427 1362.89 -imu_odom_: 1691062570.876576829 0.476446 -0.31364 9.94551 -0.0745685 -0.0170442 0.0703074 0.19 0 pose: 0.25951024 -3.44564 0.00962632 0 -0.00271432 -0.00168148 -0.00657693 0.999973 uwb: 0.50051277 859.853 1361.33 -imu_odom_: 1691062570.902643926 0.42138 -0.0981623 10.1011 -0.052198 -0.00106526 0.04048 0.19 0 pose: 0.40989621 -3.4369 0.014481 0 -0.00235489 0.0011938 -0.00639499 0.999976 uwb: 0.0 859.853 1361.33 -imu_odom_: 1691062570.928569577 0.560243 -0.258574 9.73482 -0.0479369 -0.00213053 0.036219 0.23 0 pose: 0.26054556 -3.4369 0.014481 0 -0.00276249 -0.000602908-0.00610397 0.999977 uwb: 0.50243178 860.72 1360.96 -imu_odom_: 1691062570.944510811 0.011971 -0.275333 10.1011 -0.0511327 -0.0223706 0.0543285 0.23 0 pose: 0.0 -3.4369 0.014481 0 -0.00276249 -0.000602908-0.00610397 0.999977 uwb: 0.0 860.72 1360.96 -imu_odom_: 1691062570.970531829 0.328006 -0.0646434 10.1179 -0.0607201 -0.0276969 0.0447411 0.23 0.02 pose: 0.26087513 -3.4233 0.0106054 0 -0.000937317-0.00132796 -0.00610914 0.99998 uwb: 0.0 860.72 1360.96 -imu_odom_: 1691062570.996536223 0.612916 -0.129287 10.2639 -0.0628506 -0.0106526 0.0543285 0.23 0.02 pose: 0.0 -3.4233 0.0106054 0 -0.000937317-0.00132796 -0.00610914 0.99998 uwb: 0.49717636 859.751 1359.72 -imu_odom_: 1691062571.22688192 0.888249 -0.071826 10.2017 -0.0479369 0.0308927 0.0330232 0.23 0.02 pose: 0.42915343 -3.4233 0.0106054 0 -0.000658945-0.00138745 -0.00600172 0.999981 uwb: 0.49970495 858.816 1358.42 -imu_odom_: 1691062571.47605052 0.665588 -0.0550666 9.81862 -0.0756338 -0.0149137 0.0511327 0.23 0.02 pose: 0.0 -3.4233 0.0106054 0 -0.000658945-0.00138745 -0.00600172 0.999981 uwb: 0.0 858.816 1358.42 -imu_odom_: 1691062571.63615117 0.490811 -0.462081 10.1227 -0.0490022 0.0127832 0.0415453 0.21 0.02 pose: 0.51256056 -3.41456 0.0154697 0 0.00177677 -0.0037815 -0.00578656 0.999975 uwb: 0.0 858.816 1358.42 -imu_odom_: 1691062571.89493234 0.349553 -0.430956 9.42118 -0.0585895 -0.0223706 0.0500674 0.21 0.02 pose: 0.0 -3.41456 0.0154697 0 0.00177677 -0.0037815 -0.00578656 0.999975 uwb: 0.50012497 860.661 1358.31 -imu_odom_: 1691062571.115491799 0.0861913 -0.217872 9.76355 -0.02024 0.0223706 0.0340885 0.18 0 pose: 0.50801684 -3.40096 0.0116025 0 0.00282928 -0.00725309 -0.00569475 0.999953 uwb: 0.0 860.661 1358.31 -imu_odom_: 1691062571.141501739 0.435745 -0.354342 9.65821 -0.0735032 0.0181095 0.0596548 0.19 0 pose: 0.41873892 -3.39222 0.0164726 0 -3.2105e-05 -0.00491079 -0.00555152 0.999973 uwb: 0.50109614 861.66 1357.59 -imu_odom_: 1691062571.166479844 0.31364 -0.296881 9.52174 -0.0383495 0 0.0415453 0.19 0 pose: 0.27002111 -3.38735 0.00773967 0 -0.000556252-0.0025559 -0.00551908 0.999981 uwb: 0.0 861.66 1357.59 -imu_odom_: 1691062571.181549359 0.134075 -0.181959 10.1179 -0.0287621 -0.0308927 0.0500674 0.19 0 pose: 0.0 -3.38735 0.00773967 0 -0.000556252-0.0025559 -0.00551908 0.999981 uwb: 0.49879800 861.688 1356.59 -imu_odom_: 1691062571.208490808 0.433351 0.059855 10.4651 -0.036219 -0.0245011 0.0490022 0.19 0 pose: 0.25014852 -3.37862 0.0126133 0 -0.00262225 -0.00140554 -0.00532499 0.999981 uwb: 0.0 861.688 1356.59 -imu_odom_: 1691062571.233490495 0.608127 -0.0502782 10.082 -0.0287621 -0.0394148 0.0490022 0.17 -0.02 pose: 0.41108036 -3.37862 0.0126133 0 -0.00136192 0.00134692 -0.00517887 0.999985 uwb: 0.50108739 861.391 1355.51 -imu_odom_: 1691062571.259478270 0.407014 0.00957681 10.1514 -0.0500674 0.04048 0.0479369 0.17 -0.02 pose: 0.0 -3.37862 0.0126133 0 -0.00136192 0.00134692 -0.00517887 0.999985 uwb: 0.0 861.391 1355.51 -imu_odom_: 1691062571.275484544 0.0502782 -0.25618 10.0628 -0.0703074 -0.0340885 0.0511327 0.19 -0.05 pose: 0.51946969 -3.36501 0.00876342 0 0.00322142 -0.00141377 -0.00493551 0.999982 uwb: 0.49859093 858.989 1353.45 -imu_odom_: 1691062571.301486901 0.40462 -0.28491 9.80904 -0.0713727 -0.0458064 0.0660464 0.19 -0.05 pose: 0.0 -3.36501 0.00876342 0 0.00322142 -0.00141377 -0.00493551 0.999982 uwb: 0.0 858.989 1353.45 -imu_odom_: 1691062571.326495045 0.732626 -0.1652 10.0317 -0.0543285 -0.0191748 0.0308927 0.19 0.02 pose: 0.25912239 -3.35628 0.0136462 0 0.00469198 -8.62366e-05-0.00482136 0.999977 uwb: 0.50158902 860.278 1352.9 -imu_odom_: 1691062571.352549898 0.500388 -0.4956 9.27993 -0.0798948 0.0223706 0.0585895 0.19 0.02 pose: 0.33993391 -3.35628 0.0136462 0 0.00154214 -0.000195061-0.00443815 0.999989 uwb: 0.0 860.278 1352.9 -imu_odom_: 1691062571.378500342 -0.047884 -0.21069 9.75158 -0.00745685 0.0532632 0.0276969 0.19 0 pose: 0.8070069 -3.35628 0.0136462 0 0.00158914 -0.00106224 -0.00447206 0.999988 uwb: 0.50171734 860.011 1351.78 -imu_odom_: 1691062571.403635643 0.318429 -0.323217 9.73004 -0.0830906 0.0234358 0.0639159 0.23 0 pose: 0.0 -3.35628 0.0136462 0 0.00158914 -0.00106224 -0.00447206 0.999988 uwb: 0.0 860.011 1351.78 -imu_odom_: 1691062571.418482051 0.289698 -0.332794 9.83299 -0.0372843 0.0340885 0.0340885 0.23 0 pose: 0.49950377 -3.34267 0.00981495 0 -0.00100809 -0.00199766 -0.00432824 0.999988 uwb: 0.0 860.011 1351.78 -imu_odom_: 1691062571.445685979 0.445322 0.227449 10.0916 -0.0692422 -0.0117179 0.0596548 0.19 0 pose: 0.0 -3.34267 0.00981495 0 -0.00100809 -0.00199766 -0.00432824 0.999988 uwb: 0.49810680 860.665 1351.03 -imu_odom_: 1691062571.461584053 0.440533 -0.454898 9.61272 -0.0628506 0.00319579 0.0351537 0.19 0 pose: 0.50001123 -3.33395 0.0147085 0 -0.00312616 0.0028675 -0.00414909 0.999982 uwb: 0.0 860.665 1351.03 -imu_odom_: 1691062571.487611200 0.399832 -0.332794 9.87848 -0.0735032 -0.0181095 0.0468716 0.23 -0.02 pose: 0.0 -3.33395 0.0147085 0 -0.00312616 0.0028675 -0.00414909 0.999982 uwb: 0.49865508 861.387 1350.1 -imu_odom_: 1691062571.513500983 0.742203 -0.282516 9.9503 -0.0436758 -0.0511327 0.0308927 0.23 -0.02 pose: 0.43005468 -3.32034 0.0108869 0 -0.00184269 0.00274749 -0.00390956 0.999987 uwb: 0.0 861.387 1350.1 -imu_odom_: 1691062571.537465918 0.581791 -0.311246 9.85214 -0.0639159 -0.0181095 0.0415453 0.23 0 pose: 0.0 -3.32034 0.0108869 0 -0.00184269 0.00274749 -0.00390956 0.999987 uwb: 0.50038745 862.231 1349.75 -imu_odom_: 1691062571.562463563 0.493206 -0.0646434 9.69652 -0.0617853 0.0234358 0.0447411 0.23 0 pose: 0.42122956 -3.32034 0.0108869 0 -0.00501049 -6.69162e-05-0.00387894 0.99998 uwb: 0.0 862.231 1349.75 -imu_odom_: 1691062571.578451172 0.0766145 -0.438139 9.991 -0.0809601 0.0127832 0.0479369 0.19 0 pose: 0.0 -3.32034 0.0108869 0 -0.00501049 -6.69162e-05-0.00387894 0.99998 uwb: 0.50118947 862.804 1349.19 -imu_odom_: 1691062571.603519103 0.191536 -0.342371 10.1203 -0.0436758 -0.0266316 0.0340885 0.19 0 pose: 0.49835177 -3.30672 0.00707105 0 -0.00425365 -0.00484379 -0.00394113 0.999971 uwb: 0.0 862.804 1349.19 -imu_odom_: 1691062571.628465418 0.557849 -0.356736 10.4435 -0.0543285 -0.0245011 0.0394148 0.19 -0.02 pose: 0.0 -3.30672 0.00707105 0 -0.00425365 -0.00484379 -0.00394113 0.999971 uwb: 0.49822054 861.845 1348.06 -imu_odom_: 1691062571.654528146 0.536301 0.0670376 10.386 -0.0468716 0.0330232 0.0490022 0.19 -0.02 pose: 0.83993347 -3.28859 0.00933551 0 -0.0047893 -0.00328673 -0.00389936 0.999976 uwb: 0.0 861.845 1348.06 -imu_odom_: 1691062571.670509630 0.205901 -0.189142 9.92875 -0.0692422 -0.00745685 0.0500674 0.18 -0.02 pose: 0.0 -3.28859 0.00933551 0 -0.0047893 -0.00328673 -0.00389936 0.999976 uwb: 0.0 861.845 1348.06 -imu_odom_: 1691062571.696443451 -0.129287 -0.241814 9.90242 -0.0490022 0.00958738 0.0372843 0.18 -0.02 pose: 0.33054591 -3.28438 0.00815631 0 -0.00198163 -0.00258639 -0.0037518 0.999988 uwb: 0.0 861.845 1348.06 -imu_odom_: 1691062571.721445470 0.402226 -0.390255 9.9934 -0.0500674 -0.0553937 0.0266316 0.23 0.02 pose: 0.0 -3.28438 0.00815631 0 -0.00198163 -0.00258639 -0.0037518 0.999988 uwb: 0.100010995 861.389 1346.56 -imu_odom_: 1691062571.747440536 0.806846 -0.366313 9.56005 -0.0777643 -0.0138484 0.0511327 0.2 -0.02 pose: 0.41931053 -3.27567 0.01306 0 -0.00236534 0.000774122 -0.00377503 0.99999 uwb: 0.0 861.389 1346.56 -imu_odom_: 1691062571.763454393 0.59855 -0.105345 10.0173 -0.0703074 0.00426106 0.0330232 0.2 -0.02 pose: 0.0 -3.27567 0.01306 0 -0.00236534 0.000774122 -0.00377503 0.99999 uwb: 0.0 861.389 1346.56 -imu_odom_: 1691062571.789444501 0.533907 -0.246603 10.2663 -0.0777643 0.0106526 0.052198 0.22 0 pose: 0.51002919 -3.26205 0.00924793 0 -0.00435435 -0.00298082 -0.00377965 0.999979 uwb: 0.49966126 860.16 1345.25 -imu_odom_: 1691062571.814444771 0.897826 -0.426168 10.0341 -0.0319579 0.056459 0.0223706 0.22 0 pose: 0.34990520 -3.25593 0.0126894 0 -0.00248285 -0.0053975 -0.00366474 0.999976 uwb: 0.0 860.16 1345.25 -imu_odom_: 1691062571.830573827 0.64404 -0.0885855 10.3813 -0.0500674 0.00958738 0.052198 0.22 0 pose: 0.8035947 -3.25334 0.0141518 0 -0.00270145 -0.0058942 -0.0037341 0.999972 uwb: 0.49873674 858.653 1343.8 -imu_odom_: 1691062571.856559852 0.517148 -0.308852 9.28711 -0.0468716 0.0553937 0.0447411 0.21 -0.02 pose: 0.0 -3.25334 0.0141518 0 -0.00270145 -0.0058942 -0.0037341 0.999972 uwb: 0.0 858.653 1343.8 -imu_odom_: 1691062571.882507380 -0.23942 -0.0167594 9.6606 -0.0596548 0.0287621 0.0596548 0.23 0 pose: 0.40976504 -3.24843 0.00543664 0 -0.00238801 -0.00704938 -0.00376489 0.999965 uwb: 0.50157444 859.803 1343.56 -imu_odom_: 1691062571.907439697 0.232238 -0.0622492 9.39006 -0.0479369 0.00639159 0.0383495 0.23 0 pose: 0.44050428 -3.23972 0.0103402 0 -0.00315413 -0.00297407 -0.00344175 0.999985 uwb: 0.0 859.803 1343.56 -imu_odom_: 1691062571.933425139 0.512359 -0.474052 9.88566 -0.0884169 0.0149137 0.072438 0.21 0 pose: 0.7002945 -3.23972 0.0103402 0 -0.00264819 -0.00242525 -0.00344593 0.999988 uwb: 0.49958251 860.642 1343.21 -imu_odom_: 1691062571.959425162 1.69749 -0.289698 9.32542 -0.0692422 0.155529 0.036219 0.21 0 pose: 0.43914814 -3.22983 0.00758167 0 -0.00421149 -0.00168952 -0.00302922 0.999985 uwb: 0.0 860.642 1343.21 -imu_odom_: 1691062571.976422733 -0.799663 -0.311246 10.6901 -0.0873517 0.0138484 0.0511327 0.23 0.02 pose: 0.0 -3.22983 0.00758167 0 -0.00421149 -0.00168952 -0.00302922 0.999985 uwb: 0.50070826 861.859 1342.79 -imu_odom_: 1691062572.2411966 -0.153229 -0.122104 11.0038 -0.0468716 -0.1012 0.0575243 0.23 0.02 pose: 0.33008802 -3.22609 0.00654219 0 -0.0045002 -0.00145056 -0.00304989 0.999984 uwb: 0.0 861.859 1342.79 -imu_odom_: 1691062572.28432701 0.301669 0.0742203 10.2592 -0.0660464 -0.00958738 0.04048 0.18 -0.02 pose: 0.0 -3.22609 0.00654219 0 -0.0045002 -0.00145056 -0.00304989 0.999984 uwb: 0.0 861.859 1342.79 -imu_odom_: 1691062572.54570385 0.289698 -0.215478 10.1993 -0.0628506 -0.0287621 0.0490022 0.2 0 pose: 0.43062340 -3.21739 0.0114581 0 -0.00304736 0.000979483 -0.00273389 0.999991 uwb: 0.0 861.859 1342.79 -imu_odom_: 1691062572.71451301 0.342371 -0.234632 9.60793 -0.0713727 0.0319579 0.0415453 0.2 0 pose: 0.0 -3.21739 0.0114581 0 -0.00304736 0.000979483 -0.00273389 0.999991 uwb: 0.100003425 862.509 1342.04 -imu_odom_: 1691062572.87684477 0.0790087 -0.464475 10.1969 -0.036219 -0.036219 0.036219 0.2 0 pose: 0.52134505 -3.20376 0.00767476 0 -0.00124468 0.00320928 -0.00258918 0.999991 uwb: 0.0 862.509 1342.04 -imu_odom_: 1691062572.113422901 0.270545 -0.64404 10.1658 -0.0543285 0.00426106 0.0596548 0.19 0 pose: 0.0 -3.20376 0.00767476 0 -0.00124468 0.00320928 -0.00258918 0.999991 uwb: 0.0 862.509 1342.04 -imu_odom_: 1691062572.139470176 0.533907 -0.0191536 10.2113 -0.04048 -0.0255663 0.0394148 0.19 0.02 pose: 0.34003896 -3.20376 0.00767476 0 -0.00368735 0.00393189 -0.00253257 0.999982 uwb: 0.50052461 861.625 1340.79 -imu_odom_: 1691062572.156454042 0.0814029 -0.361524 9.991 -0.0639159 -0.0255663 0.0447411 0.19 0.02 pose: 0.0 -3.20376 0.00767476 0 -0.00368735 0.00393189 -0.00253257 0.999982 uwb: 0.0 861.625 1340.79 -imu_odom_: 1691062572.182469528 0.912191 -0.275333 10.0317 -0.056459 -0.052198 0.0532632 0.18 0.02 pose: 0.50910768 -3.19505 0.0125993 0 -0.00336099 0.00309123 -0.00234061 0.999987 uwb: 0.50063252 860.22 1339.15 -imu_odom_: 1691062572.208467515 0.790087 -0.258574 10.2256 -0.0532632 0.0127832 0.0383495 0.18 0.02 pose: 0.35924078 -3.18143 0.00882583 0 -0.00366123 0.000706167 -0.00214147 0.999991 uwb: 0.0 860.22 1339.15 -imu_odom_: 1691062572.225406176 0.102951 -0.232238 9.79468 -0.0372843 0.00852212 0.0383495 0.2 -0.02 pose: 0.0 -3.18143 0.00882583 0 -0.00366123 0.000706167 -0.00214147 0.999991 uwb: 0.49869017 869.968 1341.82 -imu_odom_: 1691062572.251523154 0.184354 -0.31364 9.38288 -0.0468716 -0.0117179 0.0330232 0.2 -0.02 pose: 0.6953367 -3.18143 0.00882583 0 -0.00360322 7.17799e-05 -0.00214848 0.999991 uwb: 0.0 869.968 1341.82 -imu_odom_: 1691062572.276547634 0.61531 -0.280122 9.86172 -0.0596548 -0.0308927 0.0575243 0.19 -0.02 pose: 0.0 -3.18143 0.00882583 0 -0.00360322 7.17799e-05 -0.00214848 0.999991 uwb: 0.49896140 870.477 1341.39 -imu_odom_: 1691062572.302438296 0.821211 -0.277727 9.97903 -0.0436758 -0.0138484 0.0340885 0.19 -0.02 pose: 0.43008976 -3.17273 0.0137573 0 -0.00314452 0.000783507 -0.00219373 0.999992 uwb: 0.0 870.477 1341.39 -imu_odom_: 1691062572.327395407 0.538695 -0.445322 9.84735 -0.0735032 -0.036219 0.0607201 0.19 -0.02 pose: 0.0 -3.17273 0.0137573 0 -0.00314452 0.000783507 -0.00219373 0.999992 uwb: 0.50072293 870.461 1340.53 -imu_odom_: 1691062572.344511971 0.244209 -0.229843 9.68694 -0.0553937 -0.0181095 0.0394148 0.19 -0.02 pose: 0.94963536 -3.1591 0.00998886 0 -0.00578722 -0.00441255 -0.00184514 0.999972 uwb: 0.0 870.461 1340.53 -imu_odom_: 1691062572.369383631 0.593762 -0.23942 9.95988 -0.0809601 -0.0127832 0.0671117 0.18 -0.02 pose: 0.0 -3.1591 0.00998886 0 -0.00578722 -0.00441255 -0.00184514 0.999972 uwb: 0.0 870.461 1340.53 -imu_odom_: 1691062572.385413822 0.646434 -0.308852 9.85453 -0.0671117 -0.0415453 0.036219 0.18 -0.02 pose: 0.7032986 -3.1591 0.00998886 0 -0.00552951 -0.00380636 -0.0018428 0.999976 uwb: 0.49937553 872.173 1340.52 -imu_odom_: 1691062572.402386606 0.385466 -0.179565 10.0772 -0.056459 0.0138484 0.0372843 0.19 0 pose: 0.0 -3.1591 0.00998886 0 -0.00552951 -0.00380636 -0.0018428 0.999976 uwb: 0.0 872.173 1340.52 -imu_odom_: 1691062572.428513499 0.411803 -0.351948 9.6199 -0.0553937 0.0298274 0.0394148 0.19 0 pose: 0.41979183 -3.14546 0.00623074 0 -0.00433942 -0.00602853 -0.00152634 0.999971 uwb: 0.50041670 872.762 1339.86 -imu_odom_: 1691062572.454501279 0.129287 -0.272939 10.3262 -0.0490022 0.00532632 0.0585895 0.2 -0.02 pose: 0.0 -3.14546 0.00623074 0 -0.00433942 -0.00602853 -0.00152634 0.999971 uwb: 0.0 872.762 1339.86 -imu_odom_: 1691062572.479383146 0.476446 -0.363919 9.95988 -0.0649811 0.00852212 0.0372843 0.2 -0.02 pose: 0.33011724 -3.13677 0.0111731 0 -0.00384948 -0.00491753 -0.00156285 0.999979 uwb: 0.50097958 872.23 1338.55 -imu_odom_: 1691062572.494370128 0.378284 0.102951 9.8665 -0.0490022 0.0138484 0.0394148 0.19 0 pose: 0.0 -3.13677 0.0111731 0 -0.00384948 -0.00491753 -0.00156285 0.999979 uwb: 0.0 872.23 1338.55 -imu_odom_: 1691062572.522385414 0.526724 -0.1652 9.7875 -0.0511327 -0.0117179 0.0351537 0.19 0 pose: 0.51981684 -3.12807 0.0161163 0 -0.00505677 -0.000817076-0.0013058 0.999986 uwb: 0.49856185 871.604 1337.51 -imu_odom_: 1691062572.547386272 0.462081 -0.237026 9.4571 -0.0873517 0.00958738 0.0479369 0.18 0.02 pose: 0.0 -3.12807 0.0161163 0 -0.00505677 -0.000817076-0.0013058 0.999986 uwb: 0.0 871.604 1337.51 -imu_odom_: 1691062572.573435005 -0.0837971 -0.244209 10.0221 -0.0447411 -0.00958738 0.0319579 0.23 0 pose: 0.40034502 -3.12313 0.00742521 0 -0.00420277 -0.00209697 -0.00135468 0.999988 uwb: 0.49997048 871.22 1336.74 -imu_odom_: 1691062572.590643145 0.605733 -0.519542 9.56005 -0.0671117 0.0191748 0.0458064 0.23 0 pose: 0.0 -3.12313 0.00742521 0 -0.00420277 -0.00209697 -0.00135468 0.999988 uwb: 0.0 871.22 1336.74 -imu_odom_: 1691062572.616438439 0.37589 -0.131681 9.94791 -0.00745685 0.0223706 0.0223706 0.25 -0.02 pose: 0.54029897 -3.11444 0.0123706 0 -0.0003002 -0.00202775 -0.00134408 0.999997 uwb: 0.0 871.22 1336.74 -imu_odom_: 1691062572.641579869 0.627281 -0.0622492 10.1394 -0.0255663 0.0149137 0.00426106 0.25 -0.02 pose: 0.60973056 -3.1008 0.00862458 0 0.00119613 0.000273309 -0.00158057 0.999998 uwb: 0.49922680 869.819 1335.09 -imu_odom_: 1691062572.667512528 0.272939 -0.213084 9.63666 -0.0660464 -0.0319579 0.0788296 0.21 0 pose: 0.0 -3.1008 0.00862458 0 0.00119613 0.000273309 -0.00158057 0.999998 uwb: 0.0 869.819 1335.09 -imu_odom_: 1691062572.693597133 0.493206 -0.323217 9.98143 -0.0553937 -0.0372843 0.02024 0.21 0 pose: 0.6976991 -3.1008 0.00862458 0 0.00163976 -0.000269518-0.00170291 0.999997 uwb: 0.50136746 869.874 1334.07 -imu_odom_: 1691062572.719574705 0.366313 0.0215478 10.5465 -0.0543285 0.0415453 0.0447411 0.23 0 pose: 0.0 -3.1008 0.00862458 0 0.00163976 -0.000269518-0.00170291 0.999997 uwb: 0.0 869.874 1334.07 -imu_odom_: 1691062572.736364337 0.244209 -0.3304 9.89045 -0.0713727 -0.00852212 0.0468716 0.23 0 pose: 0.52132463 -3.08716 0.00486929 0 0.00120322 -0.000151087-0.00159673 0.999998 uwb: 0.50037879 870.173 1333.3 -imu_odom_: 1691062572.761472811 -0.0407014 -0.158017 9.8665 -0.0436758 0.0138484 0.0319579 0.17 -0.02 pose: 0.0 -3.08716 0.00486929 0 0.00120322 -0.000151087-0.00159673 0.999998 uwb: 0.0 870.173 1333.3 -imu_odom_: 1691062572.783487529 0.282516 -0.344765 9.68694 -0.0607201 -0.0436758 0.0458064 0.17 -0.02 pose: 0.50971722 -3.07847 0.00980983 0 0.00168307 0.000306824 -0.00168291 0.999997 uwb: 0.49891765 870.429 1332.65 -imu_odom_: 1691062572.809338236 0.526724 -0.0287304 9.98382 -0.0692422 -0.0234358 0.0436758 0.18 -0.02 pose: 0.0 -3.07847 0.00980983 0 0.00168307 0.000306824 -0.00168291 0.999997 uwb: 0.0 870.429 1332.65 -imu_odom_: 1691062572.826533836 0.548272 -0.0023942 10.343 -0.0735032 -0.0266316 0.0426106 0.18 -0.02 pose: 0.40840605 -3.06978 0.0147491 0 0.000717987 0.00378398 -0.0017303 0.999991 uwb: 0.50193034 872.307 1332.14 -imu_odom_: 1691062572.852415749 0.454898 -0.117316 9.96706 -0.0532632 -0.0181095 0.04048 0.23 0 pose: 0.0 -3.06978 0.0147491 0 0.000717987 0.00378398 -0.0017303 0.999991 uwb: 0.0 872.307 1332.14 -imu_odom_: 1691062572.878353365 0.811634 -0.117316 10.0221 -0.036219 -0.00532632 0.0276969 0.25 0.02 pose: 0.48996712 -3.06484 0.00605384 0 0.00123888 0.00132455 -0.00161515 0.999997 uwb: 0.49716487 873.823 1331.66 -imu_odom_: 1691062572.895407809 0.507571 -0.059855 10.0963 -0.0383495 -0.0117179 0.0532632 0.25 0.02 pose: 0.0 -3.06484 0.00605384 0 0.00123888 0.00132455 -0.00161515 0.999997 uwb: 0.0 873.823 1331.66 -imu_odom_: 1691062572.921369924 0.380678 -0.158017 9.51456 -0.0607201 0.0394148 0.0468716 0.25 0 pose: 0.43072846 -3.05614 0.0109947 0 0.00382732 -0.00223323 -0.001621 0.999989 uwb: 0.49962635 874.174 1330.73 -imu_odom_: 1691062572.946339576 0.543484 -0.299275 9.34457 -0.0649811 -0.00213053 0.0585895 0.25 0 pose: 0.43001393 -3.04251 0.00724072 0 0.00557069 -0.0039147 -0.00158984 0.999976 uwb: 0.0 874.174 1330.73 -imu_odom_: 1691062572.963343857 0.263362 -0.378284 10.07 -0.0532632 -0.0266316 0.0553937 0.2 0 pose: 0.0 -3.04251 0.00724072 0 0.00557069 -0.0039147 -0.00158984 0.999976 uwb: 0.0 874.174 1330.73 -imu_odom_: 1691062572.989347094 0.52433 -0.203507 10.1107 -0.0916127 -0.0127832 0.0692422 0.2 0 pose: 0.50932058 -3.03382 0.0121851 0 0.00194326 -0.00269324 -0.00122173 0.999994 uwb: 0.50100582 871.643 1328.67 -imu_odom_: 1691062573.15343041 0.328006 -0.136469 10.1921 -0.0543285 0.00958738 0.0468716 0.25 0 pose: 0.0 -3.03382 0.0121851 0 0.00194326 -0.00269324 -0.00122173 0.999994 uwb: 0.0 871.643 1328.67 -imu_odom_: 1691062573.40439562 0.328006 -0.366313 10.058 -0.0617853 -0.00852212 0.0575243 0.25 0 pose: 0.61979812 -3.02252 0.00711055 0 0.00133306 -0.00221212 -0.0006645760.999996 uwb: 0.50007551 871.163 1327.35 -imu_odom_: 1691062573.66336645 0.395043 0.0191536 10.2592 -0.0276969 0.0223706 0.0319579 0.2 0 pose: 0.0 -3.02252 0.00711055 0 0.00133306 -0.00221212 -0.0006645760.999996 uwb: 0.0 871.163 1327.35 -imu_odom_: 1691062573.92479875 0.325611 -0.189142 10.2232 -0.0596548 -0.00532632 0.0447411 0.2 0 pose: 0.7006739 -3.02018 0.0084491 0 0.000727627 -0.0018372 -0.0006010130.999998 uwb: 0.50037888 872.074 1326.72 -imu_odom_: 1691062573.117539358 0.469264 -0.196325 9.74679 -0.0681769 -0.0127832 0.0436758 0.2 0 pose: 0.0 -3.02018 0.0084491 0 0.000727627 -0.0018372 -0.0006010130.999998 uwb: 0.0 872.074 1326.72 -imu_odom_: 1691062573.131503840 -0.155623 -0.311246 9.93115 -0.0671117 -0.0255663 0.0575243 0.2 0 pose: 0.52157846 -3.01149 0.0134078 0 0.00191813 0.000535719 -0.0005181770.999998 uwb: 0.49960602 872.226 1325.49 -imu_odom_: 1691062573.156406418 0.469264 -0.177171 10.0796 -0.0340885 -0.0468716 0.0372843 0.19 0 pose: 0.0 -3.01149 0.0134078 0 0.00191813 0.000535719 -0.0005181770.999998 uwb: 0.0 872.226 1325.49 -imu_odom_: 1691062573.183346418 0.407014 -0.179565 9.991 -0.0415453 -0.0287621 0.056459 0.25 0 pose: 0.48885312 -3.00653 0.00472447 0 0.000955162 0.000198107 -0.0003688690.999999 uwb: 0.50163003 873.97 1325.24 -imu_odom_: 1691062573.208330948 0.0957681 0.0454898 9.92636 -0.0553937 0.0223706 0.04048 0.25 0 pose: 0.0 -3.00653 0.00472447 0 0.000955162 0.000198107 -0.0003688690.999999 uwb: 0.0 873.97 1325.24 -imu_odom_: 1691062573.225335816 0.122104 -0.320823 10.2041 -0.0607201 -0.0234358 0.0468716 0.24 0 pose: 0.40027802 -2.99785 0.00968686 0 0.00174821 -0.00141778 -0.0002659950.999997 uwb: 0.49759368 863.249 1319.85 -imu_odom_: 1691062573.241359886 0.339977 -0.383072 9.73961 -0.0340885 0.036219 0.0351537 0.24 0 pose: 0.0 -2.99785 0.00968686 0 0.00174821 -0.00141778 -0.0002659950.999997 uwb: 0.0 863.249 1319.85 -imu_odom_: 1691062573.268463790 0.237026 -0.512359 9.48343 -0.0735032 0.0117179 0.0585895 0.26 -0.02 pose: 0.51948445 -2.9842 0.0059719 0 0.00304233 0.00316605 -7.08242e-050.99999 uwb: 0.0 863.249 1319.85 -imu_odom_: 1691062573.284468903 0.387861 -0.246603 9.88326 -0.0372843 -0.0170442 0.04048 0.26 -0.02 pose: 0.0 -2.9842 0.0059719 0 0.00304233 0.00316605 -7.08242e-050.99999 uwb: 0.49974309 861.376 1318.07 -imu_odom_: 1691062573.311379156 0.277727 -0.201113 10.2376 -0.0479369 -0.0415453 0.0490022 0.25 0 pose: 0.69099718 -2.97552 0.0109395 0 -0.00164828 0.00335132 0.000171025 0.999993 uwb: 0.0 861.376 1318.07 -imu_odom_: 1691062573.327317774 0.605733 -0.122104 9.74919 -0.0287621 0.00106526 0.0287621 0.25 0 pose: 0.8027200 -2.97552 0.0109395 0 -0.00111093 0.00382538 0.000211713 0.999992 uwb: 0.49944270 860.283 1316.79 -imu_odom_: 1691062573.354377932 0.749385 -0.28491 9.88566 -0.0585895 -0.00426106 0.052198 0.26 -0.02 pose: 0.0 -2.97552 0.0109395 0 -0.00111093 0.00382538 0.000211713 0.999992 uwb: 0.0 860.283 1316.79 -imu_odom_: 1691062573.379318132 0.490811 -0.234632 10.0892 -0.0447411 -0.0138484 0.036219 0.26 -0.02 pose: 0.34821671 -2.96188 0.00723577 0 0.00082463 0.00345532 0.000222676 0.999994 uwb: 0.50058886 860.445 1315.68 -imu_odom_: 1691062573.406311212 0.519542 -0.201113 9.63906 -0.0660464 -0.0106526 0.0458064 0.23 -0.02 pose: 0.52000358 -2.95574 0.0107519 0 -0.000213593-0.00174478 0.000351854 0.999998 uwb: 0.0 860.445 1315.68 -imu_odom_: 1691062573.431432523 0.610521 -0.0981623 9.8689 -0.0681769 -0.00745685 0.0681769 0.23 -0.02 pose: 0.0 -2.95574 0.0107519 0 -0.000213593-0.00174478 0.000351854 0.999998 uwb: 0.50014848 859.337 1314.47 -imu_odom_: 1691062573.458460891 0.617704 -0.308852 9.39485 -0.0713727 0.0213053 0.0223706 0.23 0.02 pose: 0.52114391 -2.94209 0.00705802 0 0.00176098 -0.00635133 0.000785214 0.999978 uwb: 0.0 859.337 1314.47 -imu_odom_: 1691062573.483348887 0.363919 -0.768539 9.26077 -0.0692422 0.0245011 0.0585895 0.2 0 pose: 0.0 -2.94209 0.00705802 0 0.00176098 -0.00635133 0.000785214 0.999978 uwb: 0.50060927 859.644 1313.78 -imu_odom_: 1691062573.510491288 0.411803 0.0885855 10.1011 -0.00532632 -0.0223706 0.0266316 0.2 0 pose: 0.33921658 -2.93955 0.00851483 0 -0.00130886 -0.00733367 0.00063866 0.999972 uwb: 0.0 859.644 1313.78 -imu_odom_: 1691062573.526328998 0.703895 -0.35913 9.61751 -0.0713727 -0.00426106 0.0628506 0.19 0 pose: 0.45137107 -2.92733 0.00730581 0 0.000112986 -0.00590205 0.000637372 0.999982 uwb: 0.50104674 859.765 1312.77 -imu_odom_: 1691062573.543302368 0.387861 -0.136469 9.88566 -0.0649811 -0.0106526 0.0415453 0.19 0 pose: 0.8012035 -2.9259 0.0048231 0 -0.000442865-0.00653494 0.000733179 0.999978 uwb: 0.0 859.765 1312.77 -imu_odom_: 1691062573.569370646 0.837971 -0.572214 9.48583 -0.0852212 -0.00106526 0.052198 0.18 -0.02 pose: 0.24799045 -2.92111 0.00757779 0 -0.000164178-0.0057693 0.000837868 0.999983 uwb: 0.0 859.765 1312.77 -imu_odom_: 1691062573.596394348 0.462081 -0.172383 10.0652 -0.0330232 -0.00639159 0.0351537 0.18 -0.02 pose: 0.0 -2.92111 0.00757779 0 -0.000164178-0.0057693 0.000837868 0.999983 uwb: 0.49999100 861.101 1311.98 -imu_odom_: 1691062573.621284385 0.727837 -0.225055 9.94551 -0.072438 -0.00319579 0.0458064 0.19 -0.02 pose: 0.53091980 -2.91101 0.0133799 0 -0.000243505-0.00562678 0.00094362 0.999984 uwb: 0.49729911 862.797 1311.83 -imu_odom_: 1691062573.648286214 0.486023 -0.0430956 9.67018 -0.0447411 0.0149137 0.0276969 0.19 -0.02 pose: 0.0 -2.91101 0.0133799 0 -0.000243505-0.00562678 0.00094362 0.999984 uwb: 0.0 862.797 1311.83 -imu_odom_: 1691062573.673309533 0.225055 -0.222661 9.84735 -0.0660464 -0.00639159 0.0436758 0.2 0 pose: 0.32046973 -2.90358 0.00612159 0 0.000185019 -0.00777151 0.000972123 0.999969 uwb: 0.50021264 863.485 1311 -imu_odom_: 1691062573.700332652 0.469264 -0.184354 10.1059 -0.0628506 -0.0426106 0.0479369 0.21 0 pose: 0.44868212 -2.89749 0.00962208 0 0.00160665 -0.00440189 0.000888106 0.999989 uwb: 0.0 863.485 1311 -imu_odom_: 1691062573.725285684 0.268151 -0.37589 9.8689 -0.0479369 0.0223706 0.0266316 0.21 0 pose: 0.0 -2.89749 0.00962208 0 0.00160665 -0.00440189 0.000888106 0.999989 uwb: 0.50124506 861.317 1308.62 -imu_odom_: 1691062573.742376003 0.464475 -0.11971 9.8689 -0.0585895 -0.00106526 0.0308927 0.23 -0.02 pose: 0.0 -2.89749 0.00962208 0 0.00160665 -0.00440189 0.000888106 0.999989 uwb: 0.0 861.317 1308.62 -imu_odom_: 1691062573.767261958 0.445322 -0.112527 10.2161 -0.0447411 -0.0127832 0.0319579 0.23 -0.02 pose: 0.59125213 -2.88125 0.0074201 0 0.000184964 -0.0005053190.000805941 1 uwb: 0.0 861.317 1308.62 -imu_odom_: 1691062573.784268283 0.64404 -0.225055 9.73243 -0.0500674 -0.0234358 0.0458064 0.21 -0.02 pose: 0.0 -2.88125 0.0074201 0 0.000184964 -0.0005053190.000805941 1 uwb: 0.49911315 861.645 1307.89 -imu_odom_: 1691062573.810394015 0.773327 -0.349553 10.4579 -0.0511327 0.00852212 0.0330232 0.21 -0.02 pose: 0.34827212 -2.88125 0.0074201 0 0.00357125 -0.00174534 0.0006659 0.999992 uwb: 0.0 861.645 1307.89 -imu_odom_: 1691062573.837287644 0.531513 -0.275333 9.56962 -0.0500674 0.0308927 0.0553937 0.25 0.02 pose: 0.7028904 -2.88125 0.0074201 0 0.00333954 -0.00247029 0.000690356 0.999991 uwb: 0.50067635 861.129 1306.88 -imu_odom_: 1691062573.862333711 0.158017 -0.0622492 9.57681 -0.0415453 0.0213053 0.0234358 0.25 0.02 pose: 0.0 -2.88125 0.0074201 0 0.00333954 -0.00247029 0.000690356 0.999991 uwb: 0.0 861.129 1306.88 -imu_odom_: 1691062573.879327788 0.471658 -0.215478 9.63427 -0.0756338 -0.0372843 0.0490022 0.2 0.05 pose: 0.43119808 -2.87258 0.0124007 0 0.000963165 -0.00557137 0.000711539 0.999984 uwb: 0.49860276 861.172 1306.07 -imu_odom_: 1691062573.905269200 0.112527 -0.275333 9.90242 -0.0287621 0.00852212 0.0245011 0.2 0.05 pose: 0.0 -2.87258 0.0124007 0 0.000963165 -0.00557137 0.000711539 0.999984 uwb: 0.0 861.172 1306.07 -imu_odom_: 1691062573.932273654 0.545878 -0.201113 9.94551 -0.0841559 -0.0138484 0.0447411 0.25 -0.02 pose: 0.51883992 -2.85893 0.00871063 0 -0.000179713-0.00379015 0.000709508 0.999993 uwb: 0.50198292 860.524 1304.67 -imu_odom_: 1691062573.957271600 0.409408 -0.0861913 10.1107 -0.04048 0.0106526 0.0319579 0.19 0 pose: 0.42982736 -2.85026 0.0136911 0 -0.000783077-0.00267393 0.000585322 0.999996 uwb: 0.0 860.524 1304.67 -imu_odom_: 1691062573.984382212 0.268151 -0.186748 10.1179 -0.0553937 -0.00639159 0.0490022 0.21 -0.02 pose: 0.0 -2.85026 0.0136911 0 -0.000783077-0.00267393 0.000585322 0.999996 uwb: 0.50129756 859.92 1303.2 -imu_odom_: 1691062574.10282504 0.517148 -0.296881 9.663 -0.0607201 -0.00639159 0.052198 0.19 0 pose: 0.52140930 -2.84528 0.00501886 0 0.00177176 -0.00245903 0.000562333 0.999995 uwb: 0.0 859.92 1303.2 -imu_odom_: 1691062574.37270339 1.0319 -0.114922 10.0796 -0.0447411 -0.00213053 0.0308927 0.19 0 pose: 0.0 -2.84528 0.00501886 0 0.00177176 -0.00245903 0.000562333 0.999995 uwb: 0.49795534 860.051 1302.22 -imu_odom_: 1691062574.63259586 0.639252 -0.134075 9.70131 -0.0862864 0.0436758 0.0692422 0.18 0.02 pose: 0.72852011 -2.82687 0.00736661 0 0.000333877 -0.00489496 0.000701414 0.999988 uwb: 0.0 860.051 1302.22 -imu_odom_: 1691062574.80312286 0.253785 -0.411803 9.80904 -0.0692422 0.0181095 0.0394148 0.18 0.02 pose: 0.8019911 -2.82295 0.00630758 0 0.000581149 -0.00541487 0.000818223 0.999985 uwb: 0.50011649 859.235 1301.22 -imu_odom_: 1691062574.106245537 0.3304 -0.337582 10.0652 -0.0617853 -0.00213053 0.0575243 0.18 0 pose: 0.0 -2.82295 0.00630758 0 0.000581149 -0.00541487 0.000818223 0.999985 uwb: 0.0 859.235 1301.22 -imu_odom_: 1691062574.133320282 0.684742 -0.117316 10.0006 -0.0308927 -0.0308927 0.0298274 0.18 0 pose: 0.35022036 -2.81813 0.00908003 0 -4.37104e-05-0.00505173 0.00108344 0.999987 uwb: 0.50049270 857.952 1299.86 -imu_odom_: 1691062574.149246071 0.507571 -0.31364 9.15543 -0.0830906 0 0.0511327 0.2 0.02 pose: 0.53007996 -2.81429 0.0112926 0 6.50935e-05 -0.0056081 0.0011851 0.999984 uwb: 0.0 857.952 1299.86 -imu_odom_: 1691062574.176248196 0.440533 -0.232238 9.73722 -0.0415453 -0.02024 0.0383495 0.2 0.02 pose: 0.0 -2.81429 0.0112926 0 6.50935e-05 -0.0056081 0.0011851 0.999984 uwb: 0.49927655 857.5 1298.78 -imu_odom_: 1691062574.201247312 0.158017 -0.232238 9.94791 -0.0639159 -0.0415453 0.0543285 0.23 0 pose: 0.24040192 -2.80063 0.00761695 0 -0.00151394 -0.00489801 0.00128061 0.999986 uwb: 0.0 857.5 1298.78 -imu_odom_: 1691062574.228268395 0.457293 0.0837971 10.0078 -0.0479369 -0.0170442 0.0372843 0.21 0.02 pose: 0.0 -2.80063 0.00761695 0 -0.00151394 -0.00489801 0.00128061 0.999986 uwb: 0.49863786 859.641 1298.99 -imu_odom_: 1691062574.253242430 0.608127 -0.035913 10.1562 -0.0436758 -0.0383495 0.0532632 0.21 0.02 pose: 0.51011403 -2.80063 0.00761695 0 -0.000326136-0.00128616 0.0014487 0.999998 uwb: 0.0 859.641 1298.99 -imu_odom_: 1691062574.280264095 0.316035 -0.205901 9.44034 -0.0649811 0.0181095 0.04048 0.21 0 pose: 0.44870553 -2.78843 0.00648332 0 0.00348121 -0.00394757 0.00159463 0.999985 uwb: 0.50053645 858.825 1297.35 -imu_odom_: 1691062574.305368204 0.349553 -0.35913 9.81862 -0.0394148 -0.0127832 0.036219 0.21 0 pose: 0.0 -2.78843 0.00648332 0 0.00348121 -0.00394757 0.00159463 0.999985 uwb: 0.0 858.825 1297.35 -imu_odom_: 1691062574.322442777 0.773327 -0.237026 10.1323 -0.0532632 -0.00639159 0.0553937 0.23 0.02 pose: 0.52125774 -2.77831 0.00894382 0 0.000314629 -0.0002918580.00156008 0.999999 uwb: 0.50199175 858.791 1296.09 -imu_odom_: 1691062574.348296409 0.826 -0.241814 10.1155 -0.0458064 0.015979 0.0298274 0.23 0.02 pose: 0.0 -2.77831 0.00894382 0 0.000314629 -0.0002918580.00156008 0.999999 uwb: 0.0 858.791 1296.09 -imu_odom_: 1691062574.375238456 0.368707 -0.241814 9.89284 -0.0692422 -0.0106526 0.0490022 0.25 0 pose: 0.42928205 -2.77208 0.0125352 0 0.000119126 -0.00433069 0.0015708 0.999989 uwb: 0.49785041 858.195 1294.68 -imu_odom_: 1691062574.391441015 0.270545 -0.442927 9.59357 -0.0458064 0.0181095 0.0319579 0.25 0 pose: 0.0 -2.77208 0.0125352 0 0.000119126 -0.00433069 0.0015708 0.999989 uwb: 0.0 858.195 1294.68 -imu_odom_: 1691062574.418432349 0.435745 -0.385466 9.88087 -0.0628506 0 0.056459 0.24 0 pose: 0.43144606 -2.76001 0.00795248 0 -0.0019239 -0.0006282930.0016407 0.999997 uwb: 0.0 858.195 1294.68 -imu_odom_: 1691062574.443637366 0.56982 -0.272939 10.0628 -0.0426106 0.00106526 0.0394148 0.19 0 pose: 0.0 -2.76001 0.00795248 0 -0.0019239 -0.0006282930.0016407 0.999997 uwb: 0.49976360 858.841 1293.99 -imu_odom_: 1691062574.460220228 0.514753 0.00718261 10.1323 -0.052198 0.00639159 0.0511327 0.23 0 pose: 0.34913836 -2.75599 0.0102752 0 -0.00445949 -0.00173327 0.00186466 0.999987 uwb: 0.0 858.841 1293.99 -imu_odom_: 1691062574.485298672 0.40462 -0.28491 9.43555 -0.0660464 0.00213053 0.0394148 0.23 0 pose: 0.0 -2.75599 0.0102752 0 -0.00445949 -0.00173327 0.00186466 0.999987 uwb: 0.50180802 858.941 1293.13 -imu_odom_: 1691062574.512511656 0.61531 -0.591368 9.63666 -0.0937433 -0.0415453 0.0617853 0.21 0.02 pose: 0.58943821 -2.74233 0.00661775 0 -0.0034142 -0.00113629 0.00194994 0.999992 uwb: 0.0 858.941 1293.13 -imu_odom_: 1691062574.537232544 0.320823 -0.325611 9.83059 -0.0298274 -0.00319579 0.0276969 0.18 0 pose: 0.7060986 -2.74233 0.00661775 0 -0.00415125 -0.0016377 0.00202804 0.999988 uwb: 0.49687924 857.129 1291.02 -imu_odom_: 1691062574.564206088 0.811634 -0.227449 10.0221 -0.0617853 -0.052198 0.0500674 0.23 0 pose: 0.44872886 -2.73367 0.011623 0 -0.00575846 -0.0005864830.00211984 0.999981 uwb: 0.0 857.129 1291.02 -imu_odom_: 1691062574.580217620 0.476446 -0.3304 9.40203 -0.0308927 0.0735032 0.0223706 0.23 0 pose: 0.0 -2.73367 0.011623 0 -0.00575846 -0.0005864830.00211984 0.999981 uwb: 0.0 857.129 1291.02 -imu_odom_: 1691062574.597232698 0.418985 -0.208296 10.0556 -0.0575243 -0.0223706 0.0628506 0.19 0 pose: 0.0 -2.73367 0.011623 0 -0.00575846 -0.0005864830.00211984 0.999981 uwb: 0.0 857.129 1291.02 -imu_odom_: 1691062574.623218154 0.493206 -0.361524 9.62708 -0.0511327 0.0308927 0.0330232 0.19 0 pose: 0.34116482 -2.73367 0.011623 0 -0.00579544 -0.00364604 0.00218926 0.999974 uwb: 0.100271485 856.987 1290.03 -imu_odom_: 1691062574.650277150 0.277727 0.0766145 10.2376 -0.0841559 0.00319579 0.0607201 0.18 0 pose: 0.33880543 -2.72001 0.00797395 0 -0.00564434 -0.00325131 0.00228482 0.999976 uwb: 0.0 856.987 1290.03 -imu_odom_: 1691062574.676348057 0.304064 -0.0981623 9.85693 -0.0660464 -0.00532632 0.0436758 0.18 0.02 pose: 0.45047581 -2.71382 0.0115562 0 -0.00504906 -0.00267117 0.00250621 0.999981 uwb: 0.49948362 855.712 1288.16 -imu_odom_: 1691062574.703329767 0.232238 -0.0766145 10.1969 -0.072438 -0.0490022 0.0426106 0.18 0.02 pose: 0.0 -2.71382 0.0115562 0 -0.00504906 -0.00267117 0.00250621 0.999981 uwb: 0.0 855.712 1288.16 -imu_odom_: 1691062574.728202019 0.344765 -0.177171 10.1155 -0.0575243 -0.0532632 0.0351537 0.2 0 pose: 0.7957790 -2.71135 0.0129837 0 -0.00444094 -0.00221643 0.002523 0.999984 uwb: 0.49857369 854.286 1286.62 -imu_odom_: 1691062574.755204144 0.976834 -0.328006 10.0628 -0.0468716 -0.0308927 0.0255663 0.2 0 pose: 0.0 -2.71135 0.0129837 0 -0.00444094 -0.00221643 0.002523 0.999984 uwb: 0.0 854.286 1286.62 -imu_odom_: 1691062574.780208218 0.430956 -0.102951 10.0556 -0.0692422 0.0234358 0.0468716 0.19 0.02 pose: 0.53017037 -2.69769 0.00934389 0 -0.0007664310.00043292 0.00259068 0.999996 uwb: 0.50016023 855.146 1286.16 -imu_odom_: 1691062574.807256715 0.395043 -0.222661 10.0006 -0.0436758 0.0170442 0.02024 0.23 0 pose: 0.51984035 -2.68903 0.0143554 0 0.000814965 -0.00168843 0.00239423 0.999995 uwb: 0.0 855.146 1286.16 -imu_odom_: 1691062574.823233833 0.227449 -0.641646 9.60554 -0.0713727 0.015979 0.0394148 0.23 0 pose: 0.0 -2.68903 0.0143554 0 0.000814965 -0.00168843 0.00239423 0.999995 uwb: 0.50184885 855.205 1285.42 -imu_odom_: 1691062574.850320535 0.509965 -0.215478 9.79707 -0.0213053 0.0138484 0.0234358 0.25 0 pose: 0.59997821 -2.67944 0.0083548 0 -0.00137709 0.00113374 0.00218972 0.999996 uwb: 0.0 855.205 1285.42 -imu_odom_: 1691062574.875186079 0.550666 -0.344765 9.95748 -0.0692422 0.0245011 0.0553937 0.25 0 pose: 0.7071777 -2.67537 0.0107098 0 -0.00111664 0.000504218 0.00213162 0.999997 uwb: 0.49729920 855.642 1284.56 -imu_odom_: 1691062574.902278906 0.00957681 0.0143652 9.7851 -0.0490022 0.0532632 0.0287621 0.21 0 pose: 0.44880469 -2.66916 0.0142975 0 -0.00231184 -0.00268305 0.00216497 0.999991 uwb: 0.0 855.642 1284.56 -imu_odom_: 1691062574.928283318 0.258574 -0.366313 9.62708 -0.052198 -0.0511327 0.0340885 0.21 0 pose: 0.0 -2.66916 0.0142975 0 -0.00231184 -0.00268305 0.00216497 0.999991 uwb: 0.50075227 854.755 1283.24 -imu_odom_: 1691062574.953305766 0.205901 -0.232238 9.64145 -0.0713727 -0.0266316 0.0458064 0.25 0 pose: 0.53097239 -2.6617 0.00705881 0 -0.00260873 0.00163725 0.0019482 0.999993 uwb: 0.0 854.755 1283.24 -imu_odom_: 1691062574.967364743 0.497994 -0.275333 9.991 -0.0607201 -0.0468716 0.0447411 0.25 0 pose: 0.0 -2.6617 0.00705881 0 -0.00260873 0.00163725 0.0019482 0.999993 uwb: 0.0 854.755 1283.24 -imu_odom_: 1691062574.983257284 0.23942 0.0287304 9.62708 -0.0415453 -0.00745685 0.0213053 0.17 0 pose: 0.39081425 -2.65305 0.0120617 0 -0.00249336 0.00211554 0.00206773 0.999993 uwb: 0.50104975 855.508 1282.99 -imu_odom_: 1691062575.9214743 0.418985 -0.232238 9.72046 -0.0830906 -0.00426106 0.0490022 0.17 0 pose: 0.6897374 -2.65305 0.0120617 0 -0.00181041 0.0023756 0.00200665 0.999994 uwb: 0.0 855.508 1282.99 -imu_odom_: 1691062575.34252069 0.490811 -0.122104 10.1011 -0.04048 0.0287621 0.0308927 0.18 0 pose: 0.34952626 -2.64311 0.00940492 0 -0.00127661 0.000114236 0.00204787 0.999997 uwb: 0.49866996 856.46 1282.34 -imu_odom_: 1691062575.59321184 0.0215478 -0.244209 9.64624 -0.0692422 0.00532632 0.0607201 0.18 0 pose: 0.0 -2.64311 0.00940492 0 -0.00127661 0.000114236 0.00204787 0.999997 uwb: 0.0 856.46 1282.34 -imu_odom_: 1691062575.76179069 0.387861 -0.203507 10.1778 -0.04048 -0.0298274 0.0394148 0.18 0 pose: 0.7129524 -2.63938 0.00840734 0 -0.000655333-0.0001998520.00201626 0.999998 uwb: 0.0 856.46 1282.34 -imu_odom_: 1691062575.100197683 0.639252 -0.222661 9.81383 -0.072438 -0.0372843 0.052198 0.18 0 pose: 0.0 -2.63938 0.00840734 0 -0.000655333-0.0001998520.00201626 0.999998 uwb: 0.0 856.46 1282.34 -imu_odom_: 1691062575.124183634 0.529119 -0.0311246 9.81623 -0.0490022 -0.0245011 0.0383495 0.2 0 pose: 0.49853294 -2.63073 0.0134119 0 0.000577375 0.000851081 0.00219955 0.999997 uwb: 0.100182843 855.594 1280.99 -imu_odom_: 1691062575.150168219 0.378284 -0.232238 10.0365 -0.0745685 -0.015979 0.0671117 0.23 0 pose: 0.16114485 -2.63073 0.0134119 0 0.000671981 -0.0009790270.00223829 0.999997 uwb: 0.0 855.594 1280.99 -imu_odom_: 1691062575.174179834 0.433351 -0.205901 10.1011 -0.0543285 -0.00852212 0.0330232 0.23 0 pose: 0.41871588 -2.61962 0.00828472 0 0.00266868 -0.00413914 0.00233108 0.999985 uwb: 0.49736054 855.366 1279.63 -imu_odom_: 1691062575.191212122 0.325611 -0.538695 9.80186 -0.0841559 0.00426106 0.0468716 0.23 0 pose: 0.0 -2.61962 0.00828472 0 0.00266868 -0.00413914 0.00233108 0.999985 uwb: 0.0 855.366 1279.63 -imu_odom_: 1691062575.216175953 0.244209 -0.11971 10.1682 -0.0532632 -0.015979 0.0426106 0.18 0 pose: 0.7115816 -2.61706 0.00976412 0 0.00220788 -0.0035876 0.00242868 0.999988 uwb: 0.0 855.366 1279.63 -imu_odom_: 1691062575.242360314 0.21069 -0.0909797 10.2161 -0.0585895 -0.00532632 0.0372843 0.23 0.02 pose: 0.50018073 -2.61706 0.00976412 0 -0.00139234 -0.0001678660.00263672 0.999996 uwb: 0.50078735 855.115 1278.33 -imu_odom_: 1691062575.267161117 0.596156 -0.251391 10.1706 -0.0596548 -0.0170442 0.0426106 0.23 0.02 pose: 0.0 -2.61706 0.00976412 0 -0.00139234 -0.0001678660.00263672 0.999996 uwb: 0.0 855.115 1278.33 -imu_odom_: 1691062575.293172242 1.02951 -0.0287304 10.3597 -0.0191748 -0.056459 0.0266316 0.21 0 pose: 0.42942504 -2.6034 0.00612701 0 -0.0002461410.00242002 0.00270839 0.999993 uwb: 0.50104692 855.452 1277.68 -imu_odom_: 1691062575.319178700 0.699107 -0.167594 9.8258 -0.072438 -0.02024 0.0532632 0.21 0 pose: 0.0 -2.6034 0.00612701 0 -0.0002461410.00242002 0.00270839 0.999993 uwb: 0.0 855.452 1277.68 -imu_odom_: 1691062575.336235778 0.289698 -0.471658 9.73961 -0.0607201 0.0127832 0.0340885 0.23 -0.02 pose: 0.50930918 -2.59474 0.0111427 0 0.000738632 0.000188424 0.00267722 0.999996 uwb: 0.50022739 854.603 1276.36 -imu_odom_: 1691062575.362221238 0.536301 -0.476446 9.5816 -0.0649811 -0.0415453 0.0511327 0.23 -0.02 pose: 0.0 -2.59474 0.0111427 0 0.000738632 0.000188424 0.00267722 0.999996 uwb: 0.0 854.603 1276.36 -imu_odom_: 1691062575.387171946 0.201113 -0.268151 9.89763 -0.0191748 0.0245011 0.0340885 0.18 0.02 pose: 0.51018412 -2.58108 0.00750549 0 0.000912868 -0.00434927 0.00272506 0.999986 uwb: 0.49849212 855.949 1276.14 -imu_odom_: 1691062575.401223051 0.459687 -0.0837971 10.3286 -0.0479369 0.0213053 0.0575243 0.18 0.02 pose: 0.0 -2.58108 0.00750549 0 0.000912868 -0.00434927 0.00272506 0.999986 uwb: 0.0 855.949 1276.14 -imu_odom_: 1691062575.426169968 0.591368 -0.126893 10.1203 -0.0426106 0.0308927 0.0319579 0.18 0.02 pose: 0.75013694 -2.57243 0.0125219 0 -0.000708682-0.00188111 0.00292163 0.999994 uwb: 0.50032655 855.861 1275.13 -imu_odom_: 1691062575.451149548 0.653617 -0.37589 9.7851 -0.0639159 0.0149137 0.0500674 0.18 0.02 pose: 0.0 -2.57243 0.0125219 0 -0.000708682-0.00188111 0.00292163 0.999994 uwb: 0.0 855.861 1275.13 -imu_odom_: 1691062575.474210696 0.890643 -0.179565 9.80186 -0.0287621 0.0149137 0.0287621 0.18 -0.02 pose: 0.7062446 -2.57243 0.0125219 0 -0.000265797-0.0023412 0.00289354 0.999993 uwb: 0.49873418 855.687 1274.3 -imu_odom_: 1691062575.490206190 0.0383072 -0.289698 9.63666 -0.0617853 -0.0213053 0.0660464 0.18 -0.02 pose: 0.0 -2.57243 0.0125219 0 -0.000265797-0.0023412 0.00289354 0.999993 uwb: 0.0 855.687 1274.3 -imu_odom_: 1691062575.516253770 0.653617 -0.306458 9.88566 -0.0458064 -0.0117179 0.036219 0.23 -0.02 pose: 0.48989737 -2.55876 0.00889154 0 -0.000820711-0.00561085 0.002927 0.99998 uwb: 0.0 855.687 1274.3 -imu_odom_: 1691062575.541132442 0.4956 -0.500388 9.94551 -0.0553937 -0.0298274 0.0617853 0.23 -0.02 pose: 0.40898664 -2.55011 0.0139121 0 -0.000981116-0.00640097 0.00303559 0.999974 uwb: 0.50212016 855.365 1273.17 -imu_odom_: 1691062575.558198269 0.565032 -0.169988 9.83299 -0.0553937 0.00213053 0.036219 0.21 0.02 pose: 0.42958544 -2.53912 0.00873045 0 -0.00419331 -0.00773945 0.00330701 0.999956 uwb: 0.0 855.365 1273.17 -imu_odom_: 1691062575.583199431 0.411803 -0.349553 9.7851 -0.0990696 -0.0319579 0.0671117 0.21 0.02 pose: 0.0 -2.53912 0.00873045 0 -0.00419331 -0.00773945 0.00330701 0.999956 uwb: 0.50028281 854.63 1271.68 -imu_odom_: 1691062575.608135557 0.416591 -0.579397 9.44752 -0.0607201 0.0426106 0.0245011 0.18 0 pose: 0.24035238 -2.53644 0.0102881 0 -0.00300903 -0.00733804 0.00336364 0.999963 uwb: 0.0 854.63 1271.68 -imu_odom_: 1691062575.633128845 0.146046 -0.246603 9.93833 -0.0415453 -0.0276969 0.0575243 0.18 0 pose: 0.0 -2.53644 0.0102881 0 -0.00300903 -0.00733804 0.00336364 0.999963 uwb: 0.50041113 854.941 1271.1 -imu_odom_: 1691062575.650122344 1.02951 -0.244209 10.2496 -0.0266316 -0.0319579 0.0223706 0.18 0 pose: 0.49030276 -2.5278 0.015316 0 -0.00655969 -0.00413466 0.00350569 0.999964 uwb: 0.0 854.941 1271.1 -imu_odom_: 1691062575.675254163 0.751779 -0.301669 9.61511 -0.0671117 0.0234358 0.0681769 0.18 0 pose: 0.0 -2.5278 0.015316 0 -0.00655969 -0.00413466 0.00350569 0.999964 uwb: 0.50022448 855.565 1270.5 -imu_odom_: 1691062575.702123012 0.536301 -0.0526724 10.1275 -0.0692422 -0.0298274 0.0436758 0.18 0 pose: 0.43936134 -2.52277 0.00667314 0 -0.00538764 -0.0051393 0.00364192 0.999966 uwb: 0.0 855.565 1270.5 -imu_odom_: 1691062575.727301202 0.399832 -0.581791 10.0485 -0.0809601 -0.00319579 0.056459 0.18 -0.02 pose: 0.43988922 -2.51413 0.0117055 0 -0.0028794 -0.00695794 0.00391313 0.999964 uwb: 0.49797007 855.124 1269.62 -imu_odom_: 1691062575.752176374 0.131681 -0.308852 9.92875 -0.0681769 -0.00745685 0.0553937 0.18 -0.02 pose: 0.8198398 -2.51413 0.0117055 0 -0.00373308 -0.00661572 0.00398775 0.999963 uwb: 0.0 855.124 1269.62 -imu_odom_: 1691062575.774163106 0.272939 -0.0861913 10.0533 -0.0649811 -0.0245011 0.0415453 0.18 0 pose: 0.41854964 -2.50172 0.0102811 0 -0.00558051 -0.00346009 0.0043515 0.999969 uwb: 0.49950704 856.051 1269.02 -imu_odom_: 1691062575.790111354 0.641646 -0.232238 9.75637 -0.052198 -0.0468716 0.0298274 0.18 0 pose: 0.0 -2.50172 0.0102811 0 -0.00558051 -0.00346009 0.0043515 0.999969 uwb: 0.0 856.051 1269.02 -imu_odom_: 1691062575.817238891 0.665588 -0.258574 10.003 -0.0649811 -0.0117179 0.0415453 0.23 0 pose: 0.37934980 -2.49589 0.0107689 0 -0.00349768 -0.00413724 0.00429252 0.999976 uwb: 0.0 856.051 1269.02 -imu_odom_: 1691062575.833244593 0.153229 -0.102951 9.76355 -0.036219 0.0223706 0.0330232 0.23 0 pose: 0.0 -2.49589 0.0107689 0 -0.00349768 -0.00413724 0.00429252 0.999976 uwb: 0.49908124 857.066 1268.82 -imu_odom_: 1691062575.860128607 0.320823 -0.383072 9.70849 -0.0777643 -0.0117179 0.0511327 0.26 -0.02 pose: 0.43133239 -2.49181 0.0131506 0 -0.00242553 -0.00525139 0.00425602 0.999974 uwb: 0.0 857.066 1268.82 -imu_odom_: 1691062575.885230970 0.155623 -0.258574 10.4267 -0.0394148 0 0.0276969 0.26 -0.02 pose: 0.0 -2.49181 0.0131506 0 -0.00242553 -0.00525139 0.00425602 0.999974 uwb: 0.50112857 856.64 1267.36 -imu_odom_: 1691062575.909119803 0.387861 -0.349553 9.87608 -0.0649811 -0.0223706 0.0394148 0.22 0 pose: 0.51986377 -2.47814 0.00955932 0 -0.00368935 -0.0005766430.00428401 0.999984 uwb: 0.0 856.64 1267.36 -imu_odom_: 1691062575.924186703 0.476446 -0.25618 9.53611 -0.0191748 -0.00106526 0.0276969 0.22 0 pose: 0.0 -2.47814 0.00955932 0 -0.00368935 -0.0005766430.00428401 0.999984 uwb: 0.49991825 856.01 1266.3 -imu_odom_: 1691062575.948243231 0.725443 -0.433351 10.0963 -0.0703074 -0.00745685 0.0543285 0.19 0 pose: 0.38955733 -2.4695 0.0146023 0 -0.00470184 -0.00095107 0.00419122 0.99998 uwb: 0.0 856.01 1266.3 -imu_odom_: 1691062575.973127736 0.560243 0.0287304 9.78031 -0.04048 0.0255663 0.0308927 0.19 0 pose: 0.0 -2.4695 0.0146023 0 -0.00470184 -0.00095107 0.00419122 0.99998 uwb: 0.50001742 856.623 1265.72 -imu_odom_: 1691062575.998108775 0.373495 -0.430956 9.81862 -0.0681769 -0.00958738 0.0458064 0.19 0 pose: 0.48941033 -2.45825 0.0095923 0 -0.00319623 -0.00348485 0.00423791 0.99998 uwb: 0.0 856.623 1265.72 -imu_odom_: 1691062576.24111445 -0.0742203 -0.0335188 9.72764 -0.0671117 0.0308927 0.052198 0.19 0.02 pose: 0.0 -2.45825 0.0095923 0 -0.00319623 -0.00348485 0.00423791 0.99998 uwb: 0.49977537 857.127 1264.78 -imu_odom_: 1691062576.50098076 0.442927 -0.40462 9.79947 -0.0735032 0.00639159 0.0266316 0.19 0.02 pose: 0.33170980 -2.45582 0.011009 0 -0.00513335 -0.00136625 0.00438077 0.999976 uwb: 0.0 857.127 1264.78 -imu_odom_: 1691062576.67154282 0.380678 -0.169988 10.4196 -0.0468716 -0.00426106 0.0330232 0.22 0 pose: 0.0 -2.45582 0.011009 0 -0.00513335 -0.00136625 0.00438077 0.999976 uwb: 0.0 857.127 1264.78 -imu_odom_: 1691062576.83097866 0.486023 -0.246603 9.56962 -0.0745685 0.00319579 0.0468716 0.22 0 pose: 0.50867932 -2.44214 0.00741937 0 -0.00623675 -0.0003607640.00430031 0.999971 uwb: 0.49973169 857.406 1264.27 -imu_odom_: 1691062576.100094577 0.356736 -0.423774 9.98622 -0.0340885 0.0117179 0.02024 0.22 0 pose: 0.0 -2.44214 0.00741937 0 -0.00623675 -0.0003607640.00430031 0.999971 uwb: 0.0 857.406 1264.27 -imu_odom_: 1691062576.125112367 0.141258 -0.414197 10.5919 -0.0660464 -0.0298274 0.072438 0.18 0 pose: 0.42927929 -2.43765 0.010047 0 -0.0056248 -0.0003593760.00416054 0.999975 uwb: 0.49889467 858.478 1263.93 -imu_odom_: 1691062576.142102661 0.902614 -0.356736 8.73644 -0.0340885 0.126766 0.0500674 0.18 0 pose: 0.8236604 -2.43351 0.0124615 0 -0.00591126 0.000323297 0.00430094 0.999973 uwb: 0.0 858.478 1263.93 -imu_odom_: 1691062576.166234146 0.993594 -0.481235 9.01417 -0.0543285 -0.00319579 0.0660464 0.18 0 pose: 0.0 -2.43351 0.0124615 0 -0.00591126 0.000323297 0.00430094 0.999973 uwb: 0.0 858.478 1263.93 -imu_odom_: 1691062576.193114957 0.390255 -0.009576819.44513 -0.0490022 0.04048 0.0266316 0.21 0 pose: 0.40809720 -2.43351 0.0124615 0 -0.00657186 0.000451561 0.00474589 0.999967 uwb: 0.50007291 858.487 1262.81 -imu_odom_: 1691062576.218284693 0.430956 -0.471658 9.48822 -0.0958738 0.0170442 0.072438 0.2 0 pose: 0.43974056 -2.41983 0.0088835 0 -0.00421125 -0.0003104830.00478163 0.99998 uwb: 0.0 858.487 1262.81 -imu_odom_: 1691062576.243088125 0.469264 -0.323217 9.50498 -0.0596548 -0.00319579 0.0415453 0.2 0 pose: 0.0 -2.41983 0.0088835 0 -0.00421125 -0.0003104830.00478163 0.99998 uwb: 0.50126865 859.474 1262.62 -imu_odom_: 1691062576.264141309 0.442927 -0.102951 10.2999 -0.0809601 0.00319579 0.0585895 0.22 -0.02 pose: 0.32175604 -2.4112 0.0139388 0 -0.00694221 -0.00100368 0.0051953 0.999962 uwb: 0.0 859.474 1262.62 -imu_odom_: 1691062576.278151879 0.428562 -0.301669 9.58878 -0.0447411 0 0.0276969 0.22 -0.02 pose: 0.0 -2.4112 0.0139388 0 -0.00694221 -0.00100368 0.0051953 0.999962 uwb: 0.50122782 859.117 1261.09 -imu_odom_: 1691062576.303223623 0.299275 -0.555455 9.03572 -0.0788296 0.00532632 0.0500674 0.17 0.02 pose: 0.52861318 -2.40385 0.0120226 0 -0.00457168 -0.00100107 0.00531845 0.999975 uwb: 0.0 859.117 1261.09 -imu_odom_: 1691062576.320188252 0.304064 -0.160412 9.9527 -0.0596548 -0.0234358 0.0394148 0.17 0.02 pose: 0.6938498 -2.39751 0.0103731 0 -0.00528367 -0.0006771720.00535655 0.999971 uwb: 0.0 859.117 1261.09 -imu_odom_: 1691062576.346187716 0.497994 -0.181959 10.228 -0.0628506 -0.0255663 0.0532632 0.18 0.02 pose: 0.0 -2.39751 0.0103731 0 -0.00528367 -0.0006771720.00535655 0.999971 uwb: 0.49892675 859.077 1260.08 -imu_odom_: 1691062576.371115680 1.32399 -0.0047884 10.386 -0.0468716 -0.0223706 0.0298274 0.24 0 pose: 0.43163285 -2.39751 0.0103731 0 -0.00503962 0.000190729 0.005515 0.999972 uwb: 0.49832888 859.243 1259.23 -imu_odom_: 1691062576.396097598 0.713472 -0.208296 9.72046 -0.0681769 -0.00639159 0.0511327 0.18 0.02 pose: 0.42862018 -2.38889 0.0154379 0 -0.00279094 -0.00367344 0.00550371 0.999974 uwb: 0.0 859.243 1259.23 -imu_odom_: 1691062576.420089385 0.289698 -0.124498 9.70131 -0.0340885 -0.00958738 0.0319579 0.18 0 pose: 0.0 -2.38889 0.0154379 0 -0.00279094 -0.00367344 0.00550371 0.999974 uwb: 0.0 859.243 1259.23 -imu_odom_: 1691062576.437089595 0.220267 -0.35913 10.082 -0.0617853 -0.00319579 0.0468716 0.18 0 pose: 0.31987202 -2.3752 0.0118811 0 -0.00190239 -0.00553175 0.00561148 0.999967 uwb: 0.49995042 859.31 1258.57 -imu_odom_: 1691062576.462072679 0.823605 -0.335188 9.54329 -0.0511327 -0.00319579 0.0266316 0.18 0 pose: 0.0 -2.3752 0.0118811 0 -0.00190239 -0.00553175 0.00561148 0.999967 uwb: 0.0 859.31 1258.57 -imu_odom_: 1691062576.487211502 0.658405 -0.555455 9.50737 -0.0671117 -0.0276969 0.0617853 0.18 0 pose: 0.41981253 -2.3752 0.0118811 0 -0.00183082 -0.00333955 0.00555978 0.999977 uwb: 0.50066203 860.369 1258.23 -imu_odom_: 1691062576.501182116 0.720655 -0.201113 9.94312 -0.0553937 -0.0255663 0.0394148 0.18 0 pose: 0.0 -2.3752 0.0118811 0 -0.00183082 -0.00333955 0.00555978 0.999977 uwb: 0.0 860.369 1258.23 -imu_odom_: 1691062576.526053792 0.222661 -0.251391 10.2137 -0.0372843 -0.00532632 0.0436758 0.18 0 pose: 0.48129397 -2.36152 0.00832385 0 -0.00424426 -0.00707956 0.00573085 0.99995 uwb: 0.50099451 859.852 1257.04 -imu_odom_: 1691062576.552341108 1.01514 -0.112527 9.91439 -0.0223706 -0.0170442 0.0266316 0.23 0 pose: 0.32840260 -2.35536 0.0119432 0 -0.00334201 -0.00540176 0.00578498 0.999963 uwb: 0.0 859.852 1257.04 -imu_odom_: 1691062576.578077509 0.543484 -0.3304 9.73004 -0.0458064 -0.00106526 0.0532632 0.23 0 pose: 0.0 -2.35536 0.0119432 0 -0.00334201 -0.00540176 0.00578498 0.999963 uwb: 0.50011374 858.731 1255.37 -imu_odom_: 1691062576.605206217 0.418985 -0.0742203 9.64863 -0.0415453 0.00958738 0.0383495 0.23 -0.02 pose: 0.7188437 -2.3529 0.0133925 0 -0.0029922 -0.00612859 0.00573569 0.99996 uwb: 0.0 858.731 1255.37 -imu_odom_: 1691062576.630098017 0.191536 -0.229843 9.85214 -0.0703074 -0.0127832 0.0479369 0.23 -0.02 pose: 0.0 -2.3529 0.0133925 0 -0.0029922 -0.00612859 0.00573569 0.99996 uwb: 0.50007291 859.387 1254.71 -imu_odom_: 1691062576.647093561 0.25618 -0.0814029 10.0078 -0.0426106 0.00852212 0.0415453 0.21 0 pose: 0.52841486 -2.3529 0.0133925 0 -0.003722 -0.00709511 0.00579485 0.999951 uwb: 0.0 859.387 1254.71 -imu_odom_: 1691062576.671100805 0.713472 -0.308852 10.0365 -0.0809601 -0.00958738 0.056459 0.21 0 pose: 0.0 -2.3529 0.0133925 0 -0.003722 -0.00709511 0.00579485 0.999951 uwb: 0.49970543 857.509 1252.88 -imu_odom_: 1691062576.698065318 0.572214 -0.251391 10.2352 -0.0500674 0 0.036219 0.21 0 pose: 0.50972924 -2.33921 0.00984227 0 -0.00148216 -0.00303802 0.00588869 0.999977 uwb: 0.0 857.509 1252.88 -imu_odom_: 1691062576.722125350 0.802058 -0.339977 9.53132 -0.0628506 0.0372843 0.04048 0.21 0 pose: 0.0 -2.33921 0.00984227 0 -0.00148216 -0.00303802 0.00588869 0.999977 uwb: 0.49878677 858.609 1252.47 -imu_odom_: 1691062576.740042488 0.234632 -0.0095768110.1418 -0.0191748 -0.0287621 0.0308927 0.2 0 pose: 0.41995252 -2.33059 0.014913 0 -0.00174738 -0.00533565 0.00608476 0.999966 uwb: 0.0 858.609 1252.47 -imu_odom_: 1691062576.763115306 0.0790087 -0.363919 9.7875 -0.0660464 -0.0468716 0.0639159 0.2 0 pose: 0.0 -2.33059 0.014913 0 -0.00174738 -0.00533565 0.00608476 0.999966 uwb: 0.0 858.609 1252.47 -imu_odom_: 1691062576.787256998 0.622492 -0.244209 9.71088 -0.052198 -0.0287621 0.0426106 0.23 0 pose: 0.51084040 -2.3169 0.0113702 0 -0.00195454 -0.0084246 0.00602473 0.999944 uwb: 0.50009624 857.43 1250.97 -imu_odom_: 1691062576.804186338 0.715866 0.136469 10.2208 -0.100135 -0.0500674 0.0617853 0.23 0 pose: 0.0 -2.3169 0.0113702 0 -0.00195454 -0.0084246 0.00602473 0.999944 uwb: 0.0 857.43 1250.97 -imu_odom_: 1691062576.830203009 0.342371 -0.0885855 9.89524 -0.127832 -0.02024 0.072438 0.18 -0.02 pose: 0.40975082 -2.30828 0.0164453 0 -0.00183646 -0.00690591 0.00627868 0.999955 uwb: 0.50129198 857.176 1249.38 -imu_odom_: 1691062576.855060978 0.282516 -0.368707 10.1131 -0.0660464 -0.0245011 0.0223706 0.18 -0.02 pose: 0.42096160 -2.3032 0.00783116 0 -0.000356753-0.0089381 0.00661147 0.999938 uwb: 0.0 857.176 1249.38 -imu_odom_: 1691062576.878025596 0.636858 -0.0454898 9.84256 -0.0458064 0.0276969 0.0330232 0.18 0 pose: 0.41853805 -2.29459 0.0129144 0 -0.00151098 -0.00566157 0.00667258 0.999961 uwb: 0.49931463 856.876 1248.4 -imu_odom_: 1691062576.895101633 0.694318 -0.392649 9.80904 -0.0671117 -0.0500674 0.0436758 0.18 0 pose: 0.0 -2.29459 0.0129144 0 -0.00151098 -0.00566157 0.00667258 0.999961 uwb: 0.0 856.876 1248.4 -imu_odom_: 1691062576.920101633 0.572214 -0.0981623 9.81623 -0.0458064 -0.0809601 0.0372843 0.18 -0.02 pose: 0.5994156 -2.29459 0.0129144 0 -0.000971445-0.00587868 0.00664957 0.99996 uwb: 0.0 856.876 1248.4 -imu_odom_: 1691062576.945095509 0.426168 -0.134075 10.4818 -0.0671117 -0.0756338 0.0479369 0.18 -0.02 pose: 0.0 -2.29459 0.0129144 0 -0.000971445-0.00587868 0.00664957 0.99996 uwb: 0.49920090 857.095 1247.52 -imu_odom_: 1691062576.970245122 -0.0143652 -0.407014 10.5273 -0.0468716 0.00639159 0.0234358 0.25 0.02 pose: 0.40996371 -2.28598 0.0179981 0 -8.9105e-05 -0.00835314 0.00661425 0.999943 uwb: 0.49934380 857.018 1246.65 -imu_odom_: 1691062576.996030810 0.696713 -0.146046 10.1945 -0.0330232 -0.036219 0.0308927 0.19 -0.02 pose: 0.50011958 -2.27228 0.0144695 0 0.00204214 -0.00700521 0.00661639 0.999951 uwb: 0.0 857.018 1246.65 -imu_odom_: 1691062577.13015273 0.557849 -0.366313 9.74919 -0.0479369 -0.00852212 0.0447411 0.19 -0.02 pose: 0.0 -2.27228 0.0144695 0 0.00204214 -0.00700521 0.00661639 0.999951 uwb: 0.0 857.018 1246.65 -imu_odom_: 1691062577.38091980 0.356736 -0.488417 10.3717 -0.0596548 0 0.04048 0.18 -0.02 pose: 0.60951810 -2.26472 0.0125183 0 0.000632582 -0.00818122 0.00641963 0.999946 uwb: 0.50013419 856.076 1245.31 -imu_odom_: 1691062577.55014907 0.603339 -0.0287304 9.67257 -0.036219 0.0287621 0.0308927 0.18 -0.02 pose: 0.8076785 -2.25859 0.0109357 0 -3.51082e-05-0.00768307 0.00642818 0.99995 uwb: 0.0 856.076 1245.31 -imu_odom_: 1691062577.80015203 0.21069 -0.325611 9.91678 -0.056459 -0.00319579 0.0415453 0.18 0.02 pose: 0.0 -2.25859 0.0109357 0 -3.51082e-05-0.00768307 0.00642818 0.99995 uwb: 0.49979301 856.945 1244.81 -imu_odom_: 1691062577.105161029 0.11971 -0.342371 9.42358 -0.0756338 -0.0106526 0.0500674 0.18 0.02 pose: 0.41940139 -2.25859 0.0109357 0 4.69079e-05 -0.00613511 0.00637139 0.999961 uwb: 0.0 856.945 1244.81 -imu_odom_: 1691062577.119071567 0.347159 -0.560243 9.79228 -0.0703074 -0.00639159 0.0500674 0.18 0.02 pose: 0.0 -2.25859 0.0109357 0 4.69079e-05 -0.00613511 0.00637139 0.999961 uwb: 0.0 856.945 1244.81 -imu_odom_: 1691062577.142229840 0.397437 -0.344765 9.64624 -0.0426106 -0.00106526 0.0330232 0.19 0 pose: 0.48008664 -2.24997 0.0160147 0 -0.00218307 -0.00205222 0.00655941 0.999974 uwb: 0.50322567 856.238 1243.57 -imu_odom_: 1691062577.167010819 0.371101 -0.593762 9.46188 -0.0639159 0.0138484 0.0447411 0.23 0 pose: 0.0 -2.24997 0.0160147 0 -0.00218307 -0.00205222 0.00655941 0.999974 uwb: 0.0 856.238 1243.57 -imu_odom_: 1691062577.192171228 0.557849 -0.225055 9.96467 -0.0511327 -0.02024 0.0532632 0.23 0 pose: 0.31188979 -2.23909 0.0108279 0 -0.00490151 -0.0006788420.00653471 0.999966 uwb: 0.49781567 854.918 1241.94 -imu_odom_: 1691062577.217051658 0.397437 -0.318429 9.84496 -0.0447411 -0.00213053 0.0415453 0.18 -0.02 pose: 0.7818680 -2.23628 0.0124846 0 -0.00570885 -0.0004946690.00655557 0.999962 uwb: 0.0 854.918 1241.94 -imu_odom_: 1691062577.242153446 0.447716 -0.217872 9.72764 -0.0607201 -0.00426106 0.056459 0.18 -0.02 pose: 0.0 -2.23628 0.0124846 0 -0.00570885 -0.0004946690.00655557 0.999962 uwb: 0.49884809 855.193 1241 -imu_odom_: 1691062577.259168533 0.426168 -0.380678 10.1347 -0.0628506 0.0340885 0.0447411 0.2 0.02 pose: 0.50052796 -2.22767 0.017568 0 -0.00555618 -0.00137415 0.00677243 0.999961 uwb: 0.0 855.193 1241 -imu_odom_: 1691062577.284030298 0.481235 -0.114922 9.78989 -0.076699 0.0149137 0.0681769 0.2 0.02 pose: 0.0 -2.22767 0.017568 0 -0.00555618 -0.00137415 0.00677243 0.999961 uwb: 0.49995634 854.926 1239.55 -imu_odom_: 1691062577.309011637 0.505177 -0.411803 10.0173 -0.0777643 0.0319579 0.0426106 0.2 -0.02 pose: 0.49211112 -2.22258 0.00895797 0 -0.00378268 -0.0007578640.00702324 0.999968 uwb: 0.0 854.926 1239.55 -imu_odom_: 1691062577.333005469 0.483629 -0.217872 9.8689 -0.0788296 0.0234358 0.052198 0.2 -0.02 pose: 0.0 -2.22258 0.00895797 0 -0.00378268 -0.0007578640.00702324 0.999968 uwb: 0.50067087 854.998 1238.49 -imu_odom_: 1691062577.350286535 0 -0.246603 9.71806 -0.04048 -0.0106526 0.0394148 0.22 0 pose: 0.41831647 -2.21397 0.0140482 0 -0.00341634 -0.00141301 0.00740767 0.999966 uwb: 0.0 854.998 1238.49 -imu_odom_: 1691062577.366123089 0.344765 -0.0670376 10.4962 -0.0436758 0.00639159 0.0351537 0.22 0 pose: 0.0 -2.21397 0.0140482 0 -0.00341634 -0.00141301 0.00740767 0.999966 uwb: 0.0 854.998 1238.49 -imu_odom_: 1691062577.384067937 0.447716 -0.426168 9.96467 -0.0532632 -0.052198 0.0447411 0.25 0 pose: 0.48862014 -2.20027 0.0105421 0 -0.00316157 -0.00190419 0.00757476 0.999965 uwb: 0.50180244 855.329 1237.94 -imu_odom_: 1691062577.407115677 0.339977 -0.28491 9.82341 -0.0511327 -0.0213053 0.0351537 0.25 0 pose: 0.0 -2.20027 0.0105421 0 -0.00316157 -0.00190419 0.00757476 0.999965 uwb: 0.0 855.329 1237.94 -imu_odom_: 1691062577.431063138 0.00957681 -0.411803 9.92875 -0.0660464 -0.0181095 0.0500674 0.23 0 pose: 0.34121458 -2.20027 0.0105421 0 -0.00221692 -0.00063703 0.00756341 0.999969 uwb: 0.49944304 854.979 1236.65 -imu_odom_: 1691062577.456983862 0.35913 -0.332794 9.84735 -0.0415453 -0.0426106 0.0372843 0.23 0 pose: 0.0 -2.20027 0.0105421 0 -0.00221692 -0.00063703 0.00756341 0.999969 uwb: 0.0 854.979 1236.65 -imu_odom_: 1691062577.473130725 0.73502 -0.150835 9.79468 -0.0639159 -0.0266316 0.0532632 0.18 -0.02 pose: 0.40881763 -2.19167 0.0156416 0 -0.00368375 0.00169426 0.00759039 0.999963 uwb: 0.49784776 854.116 1235.29 -imu_odom_: 1691062577.490155728 0.581791 -0.366313 9.77074 -0.0553937 0.0127832 0.0330232 0.18 -0.02 pose: 0.0 -2.19167 0.0156416 0 -0.00368375 0.00169426 0.00759039 0.999963 uwb: 0.0 854.116 1235.29 -imu_odom_: 1691062577.514011030 0.414197 -0.373495 10.0461 -0.0639159 0.00532632 0.0468716 0.18 0 pose: 0.48035787 -2.17797 0.0121396 0 -0.00619353 0.000844844 0.00767806 0.999951 uwb: 0.0 854.116 1235.29 -imu_odom_: 1691062577.538040151 0.905008 -0.347159 9.5385 -0.0447411 -0.0117179 0.0287621 0.18 0 pose: 0.0 -2.17797 0.0121396 0 -0.00619353 0.000844844 0.00767806 0.999951 uwb: 0.50066211 854.445 1234.3 -imu_odom_: 1691062577.562983577 0.672771 -0.59855 9.59835 -0.076699 -0.0308927 0.0681769 0.25 0 pose: 0.35108089 -2.16937 0.0172411 0 -0.00686168 -0.00124404 0.00770902 0.999946 uwb: 0.0 854.445 1234.3 -imu_odom_: 1691062577.576085094 0.703895 -0.213084 9.88087 -0.052198 -0.0298274 0.0372843 0.25 0 pose: 0.0 -2.16937 0.0172411 0 -0.00686168 -0.00124404 0.00770902 0.999946 uwb: 0.49992134 854.894 1233.58 -imu_odom_: 1691062577.599977143 0.198719 -0.328006 9.74201 -0.0458064 0.0127832 0.04048 0.17 0.02 pose: 0.46889043 -2.16427 0.00864041 0 -0.0086295 -0.00345027 0.00772227 0.999927 uwb: 0.0 854.894 1233.58 -imu_odom_: 1691062577.626060313 0.730232 -0.304064 10.3358 -0.00745685 -0.0298274 0.0223706 0.17 0.02 pose: 0.0 -2.16427 0.00864041 0 -0.0086295 -0.00345027 0.00772227 0.999927 uwb: 0.49956262 854.43 1232.51 -imu_odom_: 1691062577.650998489 0.488417 -0.363919 9.84017 -0.0490022 -0.0213053 0.0607201 0.18 0.02 pose: 0.38974412 -2.15567 0.0137432 0 -0.00899007 -0.00518109 0.00795604 0.999915 uwb: 0.0 854.43 1232.51 -imu_odom_: 1691062577.667976245 0.481235 -0.158017 9.93354 -0.0479369 0.00532632 0.0447411 0.18 0.02 pose: 0.0 -2.15567 0.0137432 0 -0.00899007 -0.00518109 0.00795604 0.999915 uwb: 0.0 854.43 1232.51 -imu_odom_: 1691062577.692035989 0.56982 -0.220267 9.99819 -0.072438 0.0191748 0.0553937 0.18 -0.02 pose: 0.50987515 -2.14707 0.0188489 0 -0.00734212 -0.005485 0.00783439 0.999927 uwb: 0.49978427 854.716 1231.6 -imu_odom_: 1691062577.716981165 0.888249 -0.169988 10.082 -0.0575243 -0.00745685 0.0394148 0.18 -0.02 pose: 0.0 -2.14707 0.0188489 0 -0.00734212 -0.005485 0.00783439 0.999927 uwb: 0.0 854.716 1231.6 -imu_odom_: 1691062577.739968826 0.488417 -0.397437 9.59596 -0.092678 -0.0191748 0.0681769 0.18 0 pose: 0.41020002 -2.14196 0.0102501 0 -0.00539744 -0.00437864 0.00811253 0.999943 uwb: 0.50251989 852.746 1229.38 -imu_odom_: 1691062577.764015446 -0.0646434 -0.457293 9.34457 -0.0532632 0.0330232 0.0255663 0.18 0 pose: 0.0 -2.14196 0.0102501 0 -0.00539744 -0.00437864 0.00811253 0.999943 uwb: 0.0 852.746 1229.38 -imu_odom_: 1691062577.782097950 0.73502 -0.0837971 10.2999 -0.0585895 -0.0266316 0.0479369 0.19 0.02 pose: 0.47959376 -2.13337 0.0153594 0 -0.00423108 -0.00731493 0.00831526 0.99993 uwb: 0.49619413 852.768 1228.46 -imu_odom_: 1691062577.805090861 1.1133 -0.270545 9.9934 -0.0298274 -0.0245011 0.0255663 0.19 0.02 pose: 0.0 -2.13337 0.0153594 0 -0.00423108 -0.00731493 0.00831526 0.99993 uwb: 0.0 852.768 1228.46 -imu_odom_: 1691062577.831025584 0.452504 -0.42138 9.75398 -0.0628506 -0.00213053 0.0681769 0.23 0 pose: 0.48008372 -2.11966 0.0118784 0 -0.00591893 -0.00457857 0.00843001 0.999936 uwb: 0.50296027 853.223 1228.2 -imu_odom_: 1691062577.856107831 0.804452 0.0742203 10.137 -0.0596548 -0.0223706 0.0458064 0.23 0 pose: 0.0 -2.11966 0.0118784 0 -0.00591893 -0.00457857 0.00843001 0.999936 uwb: 0.0 853.223 1228.2 -imu_odom_: 1691062577.874149213 0.308852 -0.572214 9.74679 -0.0553937 0.0340885 0.0596548 0.19 0.02 pose: 0.41055583 -2.11107 0.0169925 0 -0.00533097 -0.00737401 0.00841478 0.999923 uwb: 0.49956553 852.709 1227.25 -imu_odom_: 1691062577.898149754 0.272939 -0.42138 9.87369 -0.0330232 0.036219 0.0298274 0.19 0.02 pose: 0.0 -2.11107 0.0169925 0 -0.00533097 -0.00737401 0.00841478 0.999923 uwb: 0.0 852.709 1227.25 -imu_odom_: 1691062577.921245615 0.488417 -0.387861 9.92157 -0.0777643 -0.00958738 0.0532632 0.22 0 pose: 0.50979057 -2.09736 0.0135227 0 -0.00528826 -0.00707226 0.00883041 0.999922 uwb: 0.49983385 852.432 1225.94 -imu_odom_: 1691062577.948025813 0.509965 -0.186748 9.82102 -0.0319579 -0.0213053 0.0308927 0.22 0 pose: 0.41979510 -2.09736 0.0135227 0 -0.00740175 -0.00379367 0.00889448 0.999926 uwb: 0.0 852.432 1225.94 -imu_odom_: 1691062577.964004689 0.0837971 -0.258574 9.9934 -0.0575243 -0.00106526 0.0532632 0.19 0.05 pose: 0.42019757 -2.08501 0.012353 0 -0.0059845 -0.0049431 0.00887207 0.999931 uwb: 0.0 852.432 1225.94 -imu_odom_: 1691062577.988095640 0.351948 -0.0814029 9.94073 -0.0372843 0.0213053 0.0426106 0.19 0.05 pose: 0.0 -2.08501 0.012353 0 -0.0059845 -0.0049431 0.00887207 0.999931 uwb: 0.49964136 852.713 1225.08 -imu_odom_: 1691062578.13179639 0.383072 -0.399832 9.80186 -0.0756338 -0.00426106 0.0607201 0.25 0.02 pose: 0.6938791 -2.08365 0.0100579 0 -0.00587497 -0.0042475 0.00892298 0.999934 uwb: 0.0 852.713 1225.08 -imu_odom_: 1691062578.39095118 0.368707 -0.186748 9.71806 -0.0447411 0.00639159 0.0394148 0.25 0.02 pose: 0.0 -2.08365 0.0100579 0 -0.00587497 -0.0042475 0.00892298 0.999934 uwb: 0.50117253 851.72 1223.18 -imu_odom_: 1691062578.65154377 0.282516 -0.466869 10.1394 -0.0575243 -0.0298274 0.0458064 0.21 0 pose: 0.40995796 -2.07506 0.0151817 0 -0.00413569 -0.00165075 0.00910909 0.999949 uwb: 0.0 851.72 1223.18 -imu_odom_: 1691062578.81143755 0.749385 0.205901 9.87129 -0.0319579 -0.00745685 0.0394148 0.21 0 pose: 0.0 -2.07506 0.0151817 0 -0.00413569 -0.00165075 0.00910909 0.999949 uwb: 0.49722955 851.244 1222.21 -imu_odom_: 1691062578.107062733 0.351948 -0.11971 10.1155 -0.056459 0.0170442 0.0575243 0.18 -0.02 pose: 0.50144671 -2.06647 0.020311 0 -0.00390828 0.000406817 0.00931982 0.999949 uwb: 0.0 851.244 1222.21 -imu_odom_: 1691062578.127989059 0.864307 -0.217872 10.0892 -0.0383495 -0.00319579 0.0351537 0.18 -0.02 pose: 0.26890153 -2.06134 0.0117269 0 -0.00480913 0.000710161 0.00938059 0.999944 uwb: 0.50145255 851.111 1221.16 -imu_odom_: 1691062578.140926675 0.469264 -0.253785 9.85214 -0.0479369 0.04048 0.056459 0.18 -0.02 pose: 0.39962508 -2.05276 0.0168576 0 -0.00146312 0.000605128 0.00959896 0.999953 uwb: 0.0 851.111 1221.16 -imu_odom_: 1691062578.165098123 0.117316 -0.0383072 9.80426 -0.0319579 0.0426106 0.0223706 0.18 -0.02 pose: 0.0 -2.05276 0.0168576 0 -0.00146312 0.000605128 0.00959896 0.999953 uwb: 0.0 851.111 1221.16 -imu_odom_: 1691062578.182141211 0.260968 -0.222661 9.59835 -0.0735032 -0.0394148 0.052198 0.23 0 pose: 0.52140391 -2.04355 0.0145421 0 1.13917e-05 0.000776007 0.00946343 0.999955 uwb: 0.49889776 850.845 1219.9 -imu_odom_: 1691062578.208054356 0.225055 -0.550666 9.51695 -0.0479369 0.0138484 0.0223706 0.23 0 pose: 0.0 -2.04355 0.0145421 0 1.13917e-05 0.000776007 0.00946343 0.999955 uwb: 0.0 850.845 1219.9 -imu_odom_: 1691062578.232935957 0.308852 -0.42138 10.0676 -0.0575243 0.00213053 0.0607201 0.21 0.02 pose: 0.7890427 -2.03905 0.0134097 0 -0.0001181930.00142386 0.00951319 0.999954 uwb: 0.50084010 850.945 1219.34 -imu_odom_: 1691062578.256002950 0.368707 -0.289698 10.2472 -0.0287621 0.0223706 0.0276969 0.18 0.02 pose: 0.0 -2.03905 0.0134097 0 -0.0001181930.00142386 0.00951319 0.999954 uwb: 0.0 850.945 1219.34 -imu_odom_: 1691062578.279924459 0.397437 -0.301669 10.0365 -0.0628506 0.00106526 0.0649811 0.18 0 pose: 0.66976609 -2.03046 0.0185416 0 -0.00460412 0.00334781 0.00955393 0.999938 uwb: 0.49995351 850.34 1218.58 -imu_odom_: 1691062578.297054456 0.593762 -0.363919 9.46907 -0.0490022 0.0436758 0.0426106 0.18 0 pose: 0.0 -2.03046 0.0185416 0 -0.00460412 0.00334781 0.00955393 0.999938 uwb: 0.0 850.34 1218.58 -imu_odom_: 1691062578.321097581 0.299275 -0.280122 9.38527 -0.0585895 0.0298274 0.0596548 0.18 -0.02 pose: 0.57089297 -2.02083 0.0126481 0 -0.00505921 -0.00116617 0.00976346 0.999939 uwb: 0.0 850.34 1218.58 -imu_odom_: 1691062578.346937816 0.246603 -0.0837971 9.36133 -0.0490022 0.04048 0.0319579 0.18 -0.02 pose: 0.8176821 -2.01675 0.0150952 0 -0.00489906 -0.0002268970.00984866 0.999939 uwb: 0.0 850.34 1218.58 -imu_odom_: 1691062578.359909846 0.521936 -0.0646434 10.0102 -0.0745685 0.0287621 0.0692422 0.18 0.02 pose: 0.0 -2.01675 0.0150952 0 -0.00489906 -0.0002268970.00984866 0.999939 uwb: 0.0 850.34 1218.58 -imu_odom_: 1691062578.383982718 0.301669 -0.447716 9.91439 -0.0788296 0.0319579 0.0426106 0.18 0.02 pose: 0.47709154 -2.00817 0.020236 0 -0.00191661 0.00318821 0.010012 0.999943 uwb: 0.99987784 849.033 1216.82 -imu_odom_: 1691062578.408957645 0.56982 -0.35913 10.0341 -0.076699 -0.00958738 0.0575243 0.23 0 pose: 0.0 -2.00817 0.020236 0 -0.00191661 0.00318821 0.010012 0.999943 uwb: 0.0 849.033 1216.82 -imu_odom_: 1691062578.422922431 0.347159 -0.459687 9.53132 -0.056459 0.00319579 0.04048 0.23 0 pose: 0.38974127 -2.00303 0.0116594 0 -0.0043985 0.00296733 0.0102143 0.999934 uwb: 0.50083719 848.954 1215.72 -imu_odom_: 1691062578.446929975 0.40462 -0.299275 9.92157 -0.0553937 -0.0415453 0.052198 0.18 0.02 pose: 0.0 -2.00303 0.0116594 0 -0.0043985 0.00296733 0.0102143 0.999934 uwb: 0.0 848.954 1215.72 -imu_odom_: 1691062578.472924489 0.691924 -0.201113 10.3789 -0.0543285 -0.0223706 0.04048 0.18 0.02 pose: 0.39075035 -1.99445 0.0168042 0 -0.00575274 0.000921809 0.0104148 0.999929 uwb: 0.49963270 849.12 1214.69 -imu_odom_: 1691062578.485922767 0.646434 -0.134075 9.86411 -0.0458064 -0.036219 0.0415453 0.18 0 pose: 0.0 -1.99445 0.0168042 0 -0.00575274 0.000921809 0.0104148 0.999929 uwb: 0.0 849.12 1214.69 -imu_odom_: 1691062578.509920687 0.471658 -0.0742203 9.71328 -0.0639159 0.00426106 0.0394148 0.18 0 pose: 0.47938095 -1.98588 0.0219531 0 -0.00314638 -0.0036114 0.0105177 0.999933 uwb: 0.0 849.12 1214.69 -imu_odom_: 1691062578.535981696 0.380678 -0.134075 9.58399 -0.0671117 -0.0106526 0.0532632 0.21 0.02 pose: 0.0 -1.98588 0.0219531 0 -0.00314638 -0.0036114 0.0105177 0.999933 uwb: 0.50000600 849.385 1213.52 -imu_odom_: 1691062578.560970914 0.411803 -0.342371 9.59835 -0.0671117 0.00745685 0.0383495 0.21 0.02 pose: 0.39000666 -1.98073 0.0133814 0 0.000110709 -0.00340204 0.0105622 0.999938 uwb: 0.0 849.385 1213.52 -imu_odom_: 1691062578.579030963 0.610521 -0.244209 10.2232 -0.036219 -0.0234358 0.0383495 0.2 0 pose: 0.0 -1.98073 0.0133814 0 0.000110709 -0.00340204 0.0105622 0.999938 uwb: 0.50056304 849.558 1212.48 -imu_odom_: 1691062578.602900268 0.624887 -0.277727 9.86411 -0.056459 0.00852212 0.0383495 0.2 0 pose: 0.51125179 -1.97216 0.0185324 0 -0.00131541 -0.00236161 0.0106642 0.999939 uwb: 0.0 849.558 1212.48 -imu_odom_: 1691062578.625910390 0.727837 -0.265756 10.0389 -0.0468716 -0.0266316 0.0543285 0.18 0 pose: 0.0 -1.97216 0.0185324 0 -0.00131541 -0.00236161 0.0106642 0.999939 uwb: 0.49864986 849.94 1211.94 -imu_odom_: 1691062578.650920898 0.895431 -0.107739 10.1538 -0.0543285 -0.0490022 0.0394148 0.18 0 pose: 0.17978390 -1.97216 0.0185324 0 -0.00140516 -0.00418363 0.0106516 0.999934 uwb: 0.0 849.94 1211.94 -imu_odom_: 1691062578.673967184 0.351948 -0.289698 10.2208 -0.0372843 0.00106526 0.0415453 0.25 0 pose: 0.46891092 -1.95844 0.0151147 0 -0.00147852 -0.00909217 0.0108037 0.999899 uwb: 0.49879860 850.26 1211.1 -imu_odom_: 1691062578.686910341 0.47884 -0.25618 10.2304 -0.0415453 -0.0245011 0.0372843 0.25 0 pose: 0.0 -1.95844 0.0151147 0 -0.00147852 -0.00909217 0.0108037 0.999899 uwb: 0.0 850.26 1211.1 -imu_odom_: 1691062578.703946137 0.610521 -0.361524 9.4571 -0.0330232 0.0372843 0.0287621 0.19 0 pose: 0.52987326 -1.94987 0.0202701 0 -0.00120732 -0.00756534 0.0108163 0.999912 uwb: 0.0 850.26 1211.1 -imu_odom_: 1691062578.730125554 0.593762 -0.385466 9.81383 -0.0585895 0.0287621 0.0543285 0.19 0 pose: 0.0 -1.94987 0.0202701 0 -0.00120732 -0.00756534 0.0108163 0.999912 uwb: 0.50189585 849.752 1209.87 -imu_odom_: 1691062578.755929333 0.629675 -0.272939 10.082 -0.0340885 -0.0266316 0.0394148 0.23 0 pose: 0.8001543 -1.94987 0.0202701 0 -0.00181999 -0.00778619 0.0107783 0.99991 uwb: 0.0 849.752 1209.87 -imu_odom_: 1691062578.779915004 0.47884 -0.294487 9.80665 -0.0692422 -0.0436758 0.0458064 0.19 0 pose: 0.0 -1.94987 0.0202701 0 -0.00181999 -0.00778619 0.0107783 0.99991 uwb: 0.49870819 850.672 1209.74 -imu_odom_: 1691062578.803893967 0.462081 -0.282516 9.78271 -0.0735032 -0.0511327 0.0607201 0.21 0.02 pose: 0.69054280 -1.93614 0.0168562 0 -0.00339534 -0.0100814 0.0109517 0.999883 uwb: 0.0 850.672 1209.74 -imu_odom_: 1691062578.828905641 0.754174 -0.275333 10.1562 -0.0543285 -0.02024 0.0245011 0.21 0.02 pose: 0.23950674 -1.92758 0.0220148 0 -0.00373909 -0.00820075 0.011096 0.999898 uwb: 0.50098592 851.106 1208.75 -imu_odom_: 1691062578.851890390 0.497994 -0.189142 10.2879 -0.0468716 -0.0213053 0.0415453 0.25 0 pose: 0.24005503 -1.92242 0.0134493 0 -0.00373915 -0.00784233 0.0112066 0.999899 uwb: 0.0 851.106 1208.75 -imu_odom_: 1691062578.868884481 0.632069 -0.28491 9.71088 -0.0585895 0.0340885 0.0436758 0.25 0 pose: 0.0 -1.92242 0.0134493 0 -0.00373915 -0.00784233 0.0112066 0.999899 uwb: 0.0 851.106 1208.75 -imu_odom_: 1691062578.893874574 0.102951 -0.136469 9.91678 -0.0415453 0.0436758 0.056459 0.18 0 pose: 0.24064414 -1.91385 0.0186119 0 -0.00304387 -0.00922127 0.011076 0.999892 uwb: 0.49899983 850.819 1207.61 -imu_odom_: 1691062578.916977730 0.430956 -0.0646434 9.9934 -0.0628506 0.00852212 0.0458064 0.21 0 pose: 0.23918010 -1.91385 0.0186119 0 -0.00220585 -0.00879351 0.0111035 0.999897 uwb: 0.0 850.819 1207.61 -imu_odom_: 1691062578.943936711 0.730232 -0.414197 9.4164 -0.0884169 0.00745685 0.0596548 0.21 0 pose: 0.0 -1.91385 0.0186119 0 -0.00220585 -0.00879351 0.0111035 0.999897 uwb: 0.50179378 850.87 1206.4 -imu_odom_: 1691062578.959875926 0.426168 -0.442927 9.94073 -0.052198 0.0287621 0.0372843 0.2 0 pose: 0.41116835 -1.90529 0.0237737 0 -0.00119653 -0.00603672 0.0113529 0.999917 uwb: 0.0 850.87 1206.4 -imu_odom_: 1691062578.984884975 0.399832 0.023942 9.74201 -0.0617853 -0.0319579 0.0575243 0.2 0 pose: 0.0 -1.90529 0.0237737 0 -0.00119653 -0.00603672 0.0113529 0.999917 uwb: 0.49716831 850.005 1204.57 -imu_odom_: 1691062578.997979787 0.440533 -0.368707 9.44991 -0.0756338 -0.00106526 0.0500674 0.2 0 pose: 0.0 -1.90529 0.0237737 0 -0.00119653 -0.00603672 0.0113529 0.999917 uwb: 0.0 850.005 1204.57 -imu_odom_: 1691062579.21904799 0.577003 -0.059855 9.67976 -0.0351537 0.00426106 0.0276969 0.18 0 pose: 0.89933943 -1.89156 0.0203753 0 -0.00175965 -0.00514031 0.0119138 0.999914 uwb: 0.50019268 850.264 1203.47 -imu_odom_: 1691062579.44907342 0.466869 -0.184354 9.88805 -0.0596548 0.0245011 0.0394148 0.18 0 pose: 0.0 -1.89156 0.0203753 0 -0.00175965 -0.00514031 0.0119138 0.999914 uwb: 0.0 850.264 1203.47 -imu_odom_: 1691062579.71955279 -0.00718261-0.23942 9.87608 -0.0660464 0.0276969 0.0511327 0.23 0 pose: 0.38955758 -1.87783 0.0169924 0 0.00043334 -0.00481844 0.0117966 0.999919 uwb: 0.50041439 850.572 1203.05 -imu_odom_: 1691062579.88014654 0.248997 -0.306458 9.92157 -0.0607201 -0.0340885 0.0543285 0.23 0 pose: 0.0 -1.87783 0.0169924 0 0.00043334 -0.00481844 0.0117966 0.999919 uwb: 0.0 850.572 1203.05 -imu_odom_: 1691062579.104889466 0.294487 -0.136469 9.80665 -0.0415453 0.0266316 0.0245011 0.19 0 pose: 0.50175887 -1.86927 0.0221645 0 0.000299035 0.000308562 0.012004 0.999928 uwb: 0.0 850.572 1203.05 -imu_odom_: 1691062579.128915096 0.402226 -0.0646434 10.0916 -0.0649811 -0.0234358 0.0394148 0.19 0 pose: 0.0 -1.86927 0.0221645 0 0.000299035 0.000308562 0.012004 0.999928 uwb: 0.50021607 849.605 1201.04 -imu_odom_: 1691062579.146866365 0.275333 -0.430956 9.71567 -0.0298274 0.0351537 0.0223706 0.18 -0.02 pose: 0.33794245 -1.86927 0.0221645 0 0.00184984 0.00200172 0.0119373 0.999925 uwb: 0.0 849.605 1201.04 -imu_odom_: 1691062579.170847666 0.641646 -0.514753 9.83777 -0.072438 -0.00852212 0.0553937 0.18 -0.02 pose: 0.0 -1.86927 0.0221645 0 0.00184984 0.00200172 0.0119373 0.999925 uwb: 0.49992442 850.148 1200.68 -imu_odom_: 1691062579.196844517 0.869095 -0.347159 9.89763 -0.0468716 -0.0607201 0.0308927 0.18 0.02 pose: 0.41067553 -1.85554 0.018782 0 0.00105403 0.00177116 0.0118457 0.999928 uwb: 0.0 850.148 1200.68 -imu_odom_: 1691062579.209842214 0.531513 -0.416591 9.35175 -0.0490022 0.0191748 0.0532632 0.18 0.02 pose: 0.0 -1.85554 0.018782 0 0.00105403 0.00177116 0.0118457 0.999928 uwb: 0.0 850.148 1200.68 -imu_odom_: 1691062579.224858379 0.23942 -0.397437 9.95988 -0.0575243 0.0223706 0.0372843 0.17 0.02 pose: 0.54893228 -1.84698 0.023955 0 -0.00194777 -0.00294173 0.0119482 0.999922 uwb: 0.49918365 850.746 1200.24 -imu_odom_: 1691062579.250861938 0.0742203 -0.270545 9.30626 -0.0735032 -0.0234358 0.0511327 0.17 0.02 pose: 0.0 -1.84698 0.023955 0 -0.00194777 -0.00294173 0.0119482 0.999922 uwb: 0.0 850.746 1200.24 -imu_odom_: 1691062579.263957628 0.411803 -0.526724 9.78031 -0.0735032 0.00319579 0.0479369 0.18 0 pose: 0.8027500 -1.84698 0.023955 0 -0.00240344 -0.00216699 0.0119413 0.999923 uwb: 0.0 850.746 1200.24 -imu_odom_: 1691062579.286843221 0.617704 -0.390255 9.59357 -0.0500674 0.00958738 0.0319579 0.17 0 pose: 0.0 -1.84698 0.023955 0 -0.00240344 -0.00216699 0.0119413 0.999923 uwb: 0.49955696 850.182 1198.82 -imu_odom_: 1691062579.312855822 0.624887 -0.550666 9.52174 -0.0660464 0.0372843 0.04048 0.21 -0.02 pose: 0.68973507 -1.83325 0.0205759 0 -0.00526618 -0.00122808 0.012048 0.999913 uwb: 0.0 850.182 1198.82 -imu_odom_: 1691062579.333833189 0.605733 -0.280122 9.19852 -0.0458064 -0.00532632 0.0458064 0.21 -0.02 pose: 0.0 -1.83325 0.0205759 0 -0.00526618 -0.00122808 0.012048 0.999913 uwb: 0.50062437 850.666 1198.18 -imu_odom_: 1691062579.346842552 0.497994 -0.366313 9.67018 -0.0660464 0.00958738 0.0607201 0.18 0.02 pose: 0.0 -1.83325 0.0205759 0 -0.00526618 -0.00122808 0.012048 0.999913 uwb: 0.0 850.666 1198.18 -imu_odom_: 1691062579.363843645 0.61531 -0.191536 9.94312 -0.0490022 0.0149137 0.0383495 0.18 0.02 pose: 0.32005301 -1.83325 0.0205759 0 -0.00710909 -0.00294431 0.0120641 0.999898 uwb: 0.0 850.666 1198.18 -imu_odom_: 1691062579.385965715 0.42138 -0.296881 9.61511 -0.0553937 -0.0415453 0.052198 0.18 -0.02 pose: 0.44995123 -1.81952 0.0171974 0 -0.00618944 -0.00560033 0.0122116 0.999891 uwb: 0.50059812 851.652 1197.94 -imu_odom_: 1691062579.410856361 0.634463 -0.280122 10.0724 -0.0447411 -0.04048 0.0415453 0.18 -0.02 pose: 0.7034453 -1.81952 0.0171974 0 -0.00592246 -0.00507989 0.0122594 0.999894 uwb: 0.0 851.652 1197.94 -imu_odom_: 1691062579.435883205 0.622492 -0.299275 9.94791 -0.0830906 -0.00958738 0.0713727 0.19 0 pose: 0.39978263 -1.81096 0.022378 0 -0.00452623 -0.00680718 0.0123736 0.99989 uwb: 0.50232174 850.831 1196.52 -imu_odom_: 1691062579.451888918 0.308852 -0.023942 10.4722 -0.0713727 0.0234358 0.0607201 0.19 0 pose: 0.0 -1.81096 0.022378 0 -0.00452623 -0.00680718 0.0123736 0.99989 uwb: 0.0 850.831 1196.52 -imu_odom_: 1691062579.475832013 0.277727 -0.117316 9.64145 -0.0745685 0.0383495 0.0511327 0.18 0 pose: 0.41032557 -1.79723 0.0190136 0 -0.00368088 -0.00801283 0.0129183 0.999878 uwb: 0.49754753 850.519 1195.51 -imu_odom_: 1691062579.499822646 0.131681 -0.270545 9.90481 -0.0415453 -0.0287621 0.0383495 0.18 0 pose: 0.0 -1.79723 0.0190136 0 -0.00368088 -0.00801283 0.0129183 0.999878 uwb: 0.0 850.519 1195.51 -imu_odom_: 1691062579.523812404 0.852336 -0.225055 9.60793 -0.0649811 -0.0106526 0.0479369 0.18 0 pose: 0.30961215 -1.79723 0.0190136 0 -0.00265703 -0.00482681 0.0130491 0.9999 uwb: 0.49855369 849.743 1194.41 -imu_odom_: 1691062579.540946778 0.632069 -0.0837971 9.67018 -0.0532632 -0.0213053 0.0447411 0.18 0 pose: 0.0 -1.79723 0.0190136 0 -0.00265703 -0.00482681 0.0130491 0.9999 uwb: 0.0 849.743 1194.41 -imu_odom_: 1691062579.565826342 0.502782 -0.237026 10.1347 -0.0543285 0.0106526 0.036219 0.21 0 pose: 0.48972855 -1.78868 0.0242074 0 -0.0017263 -0.00630172 0.0131534 0.999892 uwb: 0.0 849.743 1194.41 -imu_odom_: 1691062579.589967172 0.174777 -0.584185 9.9096 -0.0340885 -0.036219 0.0298274 0.23 0 pose: 0.34003354 -1.77745 0.0193317 0 -0.00107578 -0.0042057 0.0131331 0.999904 uwb: 0.49986902 848.87 1192.74 -imu_odom_: 1691062579.613827731 0.433351 -0.371101 9.85693 -0.0585895 -0.0543285 0.0468716 0.23 0 pose: 0.0 -1.77745 0.0193317 0 -0.00107578 -0.0042057 0.0131331 0.999904 uwb: 0.0 848.87 1192.74 -imu_odom_: 1691062579.629964684 0.481235 0.179565 9.87608 -0.0479369 -0.0447411 0.0447411 0.19 0.02 pose: 0.7018412 -1.77494 0.0208585 0 -0.00152912 -0.00385604 0.0131021 0.999906 uwb: 0.50168887 849.424 1192.04 -imu_odom_: 1691062579.655818921 0.335188 -0.186748 9.72285 -0.0628506 0.0138484 0.0383495 0.19 0.02 pose: 0.0 -1.77494 0.0208585 0 -0.00152912 -0.00385604 0.0131021 0.999906 uwb: 0.0 849.424 1192.04 -imu_odom_: 1691062579.680824767 0.208296 -0.371101 9.95509 -0.0394148 -0.00426106 0.036219 0.19 0 pose: 0.48993270 -1.7664 0.0260531 0 -0.00415099 -0.00320452 0.0131422 0.9999 uwb: 0.50091893 849.229 1191.25 -imu_odom_: 1691062579.704894727 0.241814 -0.272939 9.91678 -0.0692422 0.0191748 0.0639159 0.19 0 pose: 0.0 -1.7664 0.0260531 0 -0.00415099 -0.00320452 0.0131422 0.9999 uwb: 0.0 849.229 1191.25 -imu_odom_: 1691062579.721854990 0.342371 -0.172383 10.0341 -0.0436758 -0.0532632 0.0468716 0.26 0.02 pose: 0.42057102 -1.7612 0.0175086 0 -0.00228657 -0.0003123290.0131351 0.999911 uwb: 0.49998567 849.482 1190.25 -imu_odom_: 1691062579.746845379 0.328006 -0.296881 10.1586 -0.04048 -0.00106526 0.04048 0.26 0.02 pose: 0.0 -1.7612 0.0175086 0 -0.00228657 -0.0003123290.0131351 0.999911 uwb: 0.0 849.482 1190.25 -imu_odom_: 1691062579.772815982 0.916979 -0.105345 10.1275 -0.0149137 -0.0298274 0.0181095 0.23 -0.02 pose: 0.48019471 -1.75266 0.0227036 0 -0.00245118 0.00358097 0.0134381 0.9999 uwb: 0.49876952 849.107 1188.68 -imu_odom_: 1691062579.798920742 0.531513 -0.332794 9.58399 -0.0447411 -0.00639159 0.056459 0.23 -0.02 pose: 0.0 -1.75266 0.0227036 0 -0.00245118 0.00358097 0.0134381 0.9999 uwb: 0.0 849.107 1188.68 -imu_odom_: 1691062579.815946917 0.565032 -0.42138 9.53132 -0.0415453 -0.00213053 0.0266316 0.23 0.02 pose: 0.42943408 -1.73892 0.0193624 0 -0.00327281 0.00281498 0.0133934 0.999901 uwb: 0.0 849.107 1188.68 -imu_odom_: 1691062579.840875186 0.493206 -0.588974 9.65821 -0.0660464 -0.0127832 0.0607201 0.23 0.02 pose: 0.0 -1.73892 0.0193624 0 -0.00327281 0.00281498 0.0133934 0.999901 uwb: 0.49865285 848.761 1188.1 -imu_odom_: 1691062579.857811534 0.47884 -0.162806 9.69173 -0.052198 0.00745685 0.0330232 0.23 0.02 pose: 0.52137484 -1.73037 0.0245604 0 -0.00389027 -0.00204441 0.0133563 0.999901 uwb: 0.0 848.761 1188.1 -imu_odom_: 1691062579.882803672 0.45011 -0.320823 9.72046 -0.092678 -0.0170442 0.0639159 0.23 0.02 pose: 0.0 -1.73037 0.0245604 0 -0.00389027 -0.00204441 0.0133563 0.999901 uwb: 0.50003525 848.908 1186.91 -imu_odom_: 1691062579.907817101 0.28491 -0.538695 9.53132 -0.056459 0.0596548 0.0234358 0.23 0.02 pose: 0.75808183 -1.71663 0.0212224 0 -0.00634951 -0.0008975250.0138214 0.999884 uwb: 0.0 848.908 1186.91 -imu_odom_: 1691062579.930950884 0.229843 -0.411803 9.75877 -0.036219 0.00745685 0.0575243 0.23 0.02 pose: 0.7050785 -1.71663 0.0212224 0 -0.00695186 -0.0002952560.0137659 0.999881 uwb: 0.49988068 848.807 1186.04 -imu_odom_: 1691062579.954801236 -0.0526724 -0.129287 9.80904 -0.00319579 0.0149137 0.0223706 0.2 0 pose: 0.41096427 -1.71091 0.0247106 0 -0.00881566 0.00362626 0.0138489 0.999859 uwb: 0.0 848.807 1186.04 -imu_odom_: 1691062579.979783166 0.150835 -0.476446 9.79947 -0.0830906 0.0234358 0.0617853 0.2 -0.02 pose: 0.0 -1.71091 0.0247106 0 -0.00881566 0.00362626 0.0138489 0.999859 uwb: 0.50119016 850.005 1186.55 -imu_odom_: 1691062579.994797289 0.521936 -0.459687 9.62469 -0.0415453 0.00852212 0.0319579 0.2 -0.02 pose: 0.0 -1.71091 0.0247106 0 -0.00881566 0.00362626 0.0138489 0.999859 uwb: 0.0 850.005 1186.55 -imu_odom_: 1691062580.17781170 0.318429 -0.162806 9.73482 -0.04048 0.00319579 0.056459 0.2 -0.02 pose: 0.31851312 -1.70289 0.0178887 0 -0.00757212 0.00654836 0.0137511 0.999855 uwb: 0.0 850.005 1186.55 -imu_odom_: 1691062580.42786436 0.347159 -0.301669 10.0102 -0.0308927 0.00213053 0.0298274 0.18 0 pose: 0.38993674 -1.69435 0.0230935 0 -0.00853498 0.00654148 0.0139275 0.999845 uwb: 0.49847790 849.637 1185.68 -imu_odom_: 1691062580.58780486 0.486023 -0.100556 9.35893 -0.0745685 -0.0127832 0.0458064 0.18 0 pose: 0.0 -1.69435 0.0230935 0 -0.00853498 0.00654148 0.0139275 0.999845 uwb: 0.0 849.637 1185.68 -imu_odom_: 1691062580.83779628 -0.0837971 -0.196325 9.48822 -0.0479369 0.0181095 0.0266316 0.18 0 pose: 0.56984616 -1.68306 0.02379 0 -0.00401578 0.00327813 0.013991 0.999889 uwb: 0.0 849.637 1185.68 -imu_odom_: 1691062580.106780716 0.105345 -0.356736 10.0341 -0.0447411 0.0298274 0.0415453 0.18 0 pose: 0.0 -1.68306 0.02379 0 -0.00401578 0.00327813 0.013991 0.999889 uwb: 0.0 849.637 1185.68 -imu_odom_: 1691062580.122778557 0.505177 -0.356736 10.1897 -0.052198 -0.0415453 0.0351537 0.18 -0.02 pose: 0.8019044 -1.6806 0.0197646 0 -0.00382708 0.00415435 0.0139423 0.999887 uwb: 0.100053147 849.378 1184.68 -imu_odom_: 1691062580.148865531 0.818817 -0.52433 9.25119 -0.0756338 -0.0276969 0.0426106 0.18 -0.02 pose: 0.0 -1.6806 0.0197646 0 -0.00382708 0.00415435 0.0139423 0.999887 uwb: 0.0 849.378 1184.68 -imu_odom_: 1691062580.173794095 0.0670376 -0.351948 9.63906 -0.0255663 -0.0127832 0.0234358 0.25 0 pose: 0.48065267 -1.67206 0.0249714 0 -0.00438675 0.00756208 0.0138389 0.999866 uwb: 0.49947829 850.997 1185.32 -imu_odom_: 1691062580.198921560 0.459687 -0.296881 10.2496 -0.036219 0.00106526 0.0319579 0.25 0 pose: 0.16124414 -1.67206 0.0249714 0 -0.0049207 0.00577996 0.0138253 0.999876 uwb: 0.0 850.997 1185.32 -imu_odom_: 1691062580.221917983 0.483629 -0.0742203 9.82341 -0.015979 0.00106526 0.0266316 0.21 0 pose: 0.49948704 -1.65832 0.02164 0 -0.00551017 0.00560296 0.0136226 0.999876 uwb: 0.50178228 849.856 1183.11 -imu_odom_: 1691062580.238773257 0.335188 -0.0191536 9.76834 -0.0798948 0.00958738 0.0713727 0.21 0 pose: 0.0 -1.65832 0.02164 0 -0.00551017 0.00560296 0.0136226 0.999876 uwb: 0.0 849.856 1183.11 -imu_odom_: 1691062580.262777601 0.90022 -0.162806 10.3118 -0.0308927 0.092678 0.0319579 0.18 -0.02 pose: 0.48863497 -1.64978 0.0268429 0 -0.0019359 0.0028138 0.013523 0.999903 uwb: 0.0 849.856 1183.11 -imu_odom_: 1691062580.287877944 0.545878 -0.1652 10.3525 -0.0788296 0.104396 0.0649811 0.27 -0.02 pose: 0.32976189 -1.64978 0.0268429 0 -0.0005232320.00173185 0.013573 0.999906 uwb: 0.49681267 850.047 1182.23 -imu_odom_: 1691062580.302762871 0.500388 -0.529119 9.87369 -0.0490022 -0.0617853 0.0138484 0.27 -0.02 pose: 0.0 -1.64978 0.0268429 0 -0.0005232320.00173185 0.013573 0.999906 uwb: 0.0 850.047 1182.23 -imu_odom_: 1691062580.325795749 0.191536 -0.138864 10.4172 -0.0735032 -0.0639159 0.0447411 0.27 -0.02 pose: 0.0 -1.64978 0.0268429 0 -0.0005232320.00173185 0.013573 0.999906 uwb: 0.50158979 849.691 1181.05 -imu_odom_: 1691062580.352923309 0.184354 -0.035913 9.91918 -0.0308927 -0.015979 0.0255663 0.18 -0.02 pose: 0.8038876 -1.64978 0.0268429 0 -0.0003577150.00140768 0.0136751 0.999905 uwb: 0.0 849.691 1181.05 -imu_odom_: 1691062580.378767927 0.37589 -0.162806 9.66779 -0.0830906 -0.0308927 0.0458064 0.2 0 pose: 0.39054634 -1.63604 0.0235081 0 -0.00111406 0.000207871 0.0137187 0.999905 uwb: 0.50023074 849.277 1179.62 -imu_odom_: 1691062580.395876640 0.940921 -0.363919 9.77313 -0.0458064 0.0330232 0.02024 0.2 0 pose: 0.0 -1.63604 0.0235081 0 -0.00111406 0.000207871 0.0137187 0.999905 uwb: 0.0 849.277 1179.62 -imu_odom_: 1691062580.420781580 0.474052 -0.294487 10.0317 -0.0713727 -0.00532632 0.0628506 0.18 0 pose: 0.51066284 -1.6275 0.0287124 0 0.00196762 0.00223186 0.0136027 0.999903 uwb: 0.50119024 848.814 1178.58 -imu_odom_: 1691062580.443813875 0.538695 -0.229843 9.8282 -0.0351537 -0.0319579 0.0447411 0.18 0 pose: 0.0 -1.6275 0.0287124 0 0.00196762 0.00223186 0.0136027 0.999903 uwb: 0.0 848.814 1178.58 -imu_odom_: 1691062580.467914170 0.3304 -0.201113 9.73722 -0.0703074 -0.0213053 0.0585895 0.25 0 pose: 0.42898210 -1.61375 0.0253749 0 0.0014658 -0.00110197 0.0135973 0.999906 uwb: 0.0 848.814 1178.58 -imu_odom_: 1691062580.483755107 0.948104 -0.201113 9.91199 -0.0468716 -0.0149137 0.0372843 0.25 0 pose: 0.0 -1.61375 0.0253749 0 0.0014658 -0.00110197 0.0135973 0.999906 uwb: 0.50078778 849.648 1178.54 -imu_odom_: 1691062580.509971571 0.672771 -0.244209 9.8258 -0.0798948 0.0287621 0.0703074 0.19 0.02 pose: 0.48097348 -1.61375 0.0253749 0 -0.000163333-0.00369333 0.0139336 0.999896 uwb: 0.0 849.648 1178.54 -imu_odom_: 1691062580.536928227 0.260968 -0.222661 10.2544 -0.0639159 0.015979 0.0426106 0.19 0.02 pose: 0.0 -1.61375 0.0253749 0 -0.000163333-0.00369333 0.0139336 0.999896 uwb: 0.49737262 849.546 1177.41 -imu_odom_: 1691062580.561948367 0.11971 -0.251391 10.1538 -0.0809601 0.0223706 0.0532632 0.18 0.02 pose: 0.39837989 -1.60001 0.0220479 0 -0.000184845-0.00456826 0.0141893 0.999889 uwb: 0.0 849.546 1177.41 -imu_odom_: 1691062580.577954083 0.251391 -0.435745 10.0556 -0.0351537 -0.00319579 0.0276969 0.18 0.02 pose: 0.0 -1.60001 0.0220479 0 -0.000184845-0.00456826 0.0141893 0.999889 uwb: 0.0 849.546 1177.41 -imu_odom_: 1691062580.602884688 0.646434 -0.282516 10.0173 -0.0543285 -0.0255663 0.0415453 0.18 0 pose: 0.53005426 -1.59148 0.0272625 0 -0.000904648-0.00222117 0.0145647 0.999891 uwb: 0.0 849.546 1177.41 -imu_odom_: 1691062580.629891216 0.3304 -0.148441 10.0796 -0.0426106 -0.0276969 0.0330232 0.18 0 pose: 0.0 -1.59148 0.0272625 0 -0.000904648-0.00222117 0.0145647 0.999891 uwb: 0.100184969 849.71 1176.27 -imu_odom_: 1691062580.654882192 0.694318 -0.198719 9.59357 -0.0639159 0.00106526 0.0372843 0.18 0 pose: 0.41132888 -1.58295 0.0324821 0 -0.00240794 -0.0001667160.0145956 0.999891 uwb: 0.0 849.71 1176.27 -imu_odom_: 1691062580.670734794 0.0766145 -0.31364 9.97185 -0.0415453 0.0149137 0.0340885 0.18 0 pose: 0.0 -1.58295 0.0324821 0 -0.00240794 -0.0001667160.0145956 0.999891 uwb: 0.49872002 851.187 1176.72 -imu_odom_: 1691062580.695766600 0.665588 -0.493206 10.1251 -0.0830906 0.0351537 0.0500674 0.18 -0.02 pose: 0.52127285 -1.57773 0.0239527 0 -0.000370858-0.00124042 0.0145124 0.999894 uwb: 0.0 851.187 1176.72 -imu_odom_: 1691062580.720783240 0.397437 -0.399832 10.4698 -0.0319579 0.00639159 0.0330232 0.18 -0.02 pose: 0.40831329 -1.5692 0.0291712 0 -0.00127873 -0.00157904 0.0144933 0.999893 uwb: 0.49858878 850.386 1175.17 -imu_odom_: 1691062580.736807037 0.198719 -0.169988 10.0078 -0.0447411 -0.0245011 0.052198 0.2 0 pose: 0.41915370 -1.55785 0.0243885 0 -0.00478624 -0.0013084 0.0145086 0.999882 uwb: 0.0 850.386 1175.17 -imu_odom_: 1691062580.753945790 0.560243 -0.241814 10.0652 -0.0426106 -0.0234358 0.0351537 0.2 0 pose: 0.0 -1.55785 0.0243885 0 -0.00478624 -0.0013084 0.0145086 0.999882 uwb: 0.0 850.386 1175.17 -imu_odom_: 1691062580.778826233 0.23942 -0.433351 9.39964 -0.0798948 0.00958738 0.0607201 0.18 0 pose: 0.7018997 -1.55545 0.02586 0 -0.00439085 -0.0007738630.0145557 0.999884 uwb: 0.50074695 850.035 1173.12 -imu_odom_: 1691062580.803812542 0.306458 -0.414197 9.92157 -0.0340885 -0.015979 0.04048 0.18 0 pose: 0.0 -1.55545 0.02586 0 -0.00439085 -0.0007738630.0145557 0.999884 uwb: 0.0 850.035 1173.12 -imu_odom_: 1691062580.817742919 0.280122 -0.198719 9.79947 -0.04048 -0.00852212 0.036219 0.19 0 pose: 0.33995776 -1.55545 0.02586 0 -0.0038222 -0.00121866 0.014658 0.999885 uwb: 0.0 850.035 1173.12 -imu_odom_: 1691062580.842797181 0.323217 -0.3304 9.76116 -0.02024 -0.0372843 0.0234358 0.19 0 pose: 0.0 -1.55545 0.02586 0 -0.0038222 -0.00121866 0.014658 0.999885 uwb: 0.50119316 850.519 1172.26 -imu_odom_: 1691062580.858788897 0.237026 -0.0574608 9.5816 -0.052198 -0.00958738 0.0585895 0.25 0 pose: 0.48021521 -1.5417 0.0225529 0 -0.00616208 0.00203669 0.0148562 0.999869 uwb: 0.0 850.519 1172.26 -imu_odom_: 1691062580.883731169 0.476446 -0.153229 9.77313 -0.056459 0.00106526 0.0426106 0.25 0 pose: 0.0 -1.5417 0.0225529 0 -0.00616208 0.00203669 0.0148562 0.999869 uwb: 0.49982826 850.741 1171.7 -imu_odom_: 1691062580.909740857 0.553061 -0.203507 10.0437 -0.0756338 0.0213053 0.0596548 0.21 -0.02 pose: 0.39918483 -1.53317 0.0277761 0 -0.0052282 0.00456048 0.0147264 0.999867 uwb: 0.0 850.741 1171.7 -imu_odom_: 1691062580.932741363 0.694318 -0.126893 10.2879 -0.0351537 -0.00213053 0.0330232 0.21 -0.02 pose: 0.0 -1.53317 0.0277761 0 -0.0052282 0.00456048 0.0147264 0.999867 uwb: 0.49890084 850.366 1170.02 -imu_odom_: 1691062580.949765207 0.354342 -0.402226 9.73722 -0.0266316 -0.0330232 0.0394148 0.18 0.02 pose: 0.42133811 -1.53317 0.0277761 0 -0.00254434 0.00233851 0.0149358 0.999882 uwb: 0.0 850.366 1170.02 -imu_odom_: 1691062580.975724149 0.624887 0.208296 10.477 -0.0649811 -0.0543285 0.0553937 0.18 0.02 pose: 0.0 -1.53317 0.0277761 0 -0.00254434 0.00233851 0.0149358 0.999882 uwb: 0.49983701 850.118 1169.1 -imu_odom_: 1691062581.1829497 0.837971 -0.514753 9.21768 -0.109722 0.0106526 0.0649811 0.22 0 pose: 0.47893489 -1.51942 0.0244758 0 -0.00156273 -0.0010494 0.0150335 0.999885 uwb: 0.0 850.118 1169.1 -imu_odom_: 1691062581.26698278 0.0861913 -0.122104 9.62948 -0.0181095 0.0351537 0.00852212 0.22 0 pose: 0.0 -1.51942 0.0244758 0 -0.00156273 -0.0010494 0.0150335 0.999885 uwb: 0.50009078 850.115 1168.22 -imu_odom_: 1691062581.49690913 0.533907 -0.148441 9.97424 -0.0692422 0.0276969 0.0671117 0.2 0 pose: 0.43060073 -1.51089 0.0297033 0 -0.000679332-0.00298484 0.0153275 0.999878 uwb: 0.0 850.115 1168.22 -imu_odom_: 1691062581.66826460 0.471658 -0.483629 9.62948 -0.0372843 -0.00319579 0.0372843 0.2 0 pose: 0.0 -1.51089 0.0297033 0 -0.000679332-0.00298484 0.0153275 0.999878 uwb: 0.0 850.115 1168.22 -imu_odom_: 1691062581.92989557 0.430956 0.160412 10.3813 -0.0607201 -0.0181095 0.0660464 0.25 0 pose: 0.49899421 -1.49714 0.0264146 0 -0.000736207-0.00186955 0.0152687 0.999881 uwb: 0.50171237 849.969 1166.91 -imu_odom_: 1691062581.118715480 0.591368 0.059855 10.2113 -0.0671117 -0.0213053 0.0447411 0.23 0.02 pose: 0.60264746 -1.48862 0.0316499 0 0.00125567 -0.00289585 0.0158231 0.99987 uwb: 0.0 849.969 1166.91 -imu_odom_: 1691062581.133695194 0.656011 -0.383072 9.23444 -0.0852212 0.0223706 0.0468716 0.23 0.02 pose: 0.0 -1.48862 0.0316499 0 0.00125567 -0.00289585 0.0158231 0.99987 uwb: 0.49676317 849.797 1165.64 -imu_odom_: 1691062581.157742997 0.177171 -0.23942 9.58878 -0.0543285 -0.00426106 0.0298274 0.23 0.02 pose: 0.0 -1.48862 0.0316499 0 0.00125567 -0.00289585 0.0158231 0.99987 uwb: 0.0 849.797 1165.64 -imu_odom_: 1691062581.182759934 0.268151 -0.418985 9.96706 -0.0713727 -0.04048 0.0436758 0.21 0 pose: 0.6772267 -1.48862 0.0316499 0 0.0018239 -0.00325632 0.015839 0.999868 uwb: 0.50120491 849.555 1164.17 -imu_odom_: 1691062581.205704739 0.150835 -0.198719 9.76355 -0.0490022 -0.0191748 0.0383495 0.18 0 pose: 0.39942113 -1.47486 0.0283744 0 0.00188927 -0.00440458 0.0159161 0.999862 uwb: 0.0 849.555 1164.17 -imu_odom_: 1691062581.222687756 0.677559 -0.438139 9.96706 -0.0692422 -0.0181095 0.0458064 0.18 0 pose: 0.0 -1.47486 0.0283744 0 0.00188927 -0.00440458 0.0159161 0.999862 uwb: 0.50069161 848.158 1161.97 -imu_odom_: 1691062581.246688604 0.397437 -0.186748 9.73961 -0.0298274 -0.0223706 0.0213053 0.18 0 pose: 0.0 -1.47486 0.0283744 0 0.00188927 -0.00440458 0.0159161 0.999872 uwb: 0.0 848.158 1161.97 -imu_odom_: 1691062581.270812235 0.612916 -0.277727 9.8282 -0.0490022 -0.00852212 0.036219 0.18 0 pose: 0.6117234 -1.47486 0.0283744 0 -0.000564855-0.0009931070.0158761 0.999873 uwb: 0.49936755 848.276 1161.56 -imu_odom_: 1691062581.287809834 0.799663 -0.339977 9.32063 -0.0479369 0.0106526 0.0298274 0.18 0 pose: 0.0 -1.47486 0.0283744 0 -0.000564855-0.0009931070.0158761 0.999873 uwb: 0.0 848.276 1161.56 -imu_odom_: 1691062581.312771358 0.454898 -0.237026 9.42358 -0.0756338 0.015979 0.0617853 0.27 0 pose: 0.40822295 -1.4611 0.0251004 0 -0.000751022-0.0007165930.0158546 0.999874 uwb: 0.0 848.276 1161.56 -imu_odom_: 1691062581.328702415 0.830788 -0.28491 10.331 -0.056459 -0.0138484 0.0330232 0.27 0 pose: 0.0 -1.4611 0.0251004 0 -0.000751022-0.0007165930.0158546 0.999874 uwb: 0.49984293 848.028 1160.42 -imu_odom_: 1691062581.354689360 0.462081 -0.440533 9.4954 -0.0479369 0.0181095 0.0500674 0.23 -0.02 pose: 0.90050354 -1.44407 0.0355794 0 -0.00207382 -0.0024761 0.0158387 0.999869 uwb: 0.0 848.028 1160.42 -imu_odom_: 1691062581.381723015 0.289698 -0.0694318 9.78031 -0.0436758 -0.02024 0.0255663 0.21 -0.02 pose: 0.34939543 -1.43883 0.027063 0 -0.00463508 -0.00309973 0.0159524 0.999857 uwb: 0.50017541 848.409 1159.74 -imu_odom_: 1691062581.406683372 0.490811 -0.462081 9.77074 -0.076699 0.00639159 0.0479369 0.21 -0.02 pose: 0.0 -1.43883 0.027063 0 -0.00463508 -0.00309973 0.0159524 0.999857 uwb: 0.0 848.409 1159.74 -imu_odom_: 1691062581.430709885 0.596156 -0.260968 9.34457 -0.0500674 -0.0191748 0.0308927 0.23 0 pose: 0.8073874 -1.43883 0.027063 0 -0.00394173 -0.00267751 0.0158966 0.999862 uwb: 0.49854803 848.286 1158.48 -imu_odom_: 1691062581.455731196 0.409408 -0.653617 9.65103 -0.0596548 0.00639159 0.0383495 0.23 0 pose: 0.0 -1.43883 0.027063 0 -0.00394173 -0.00267751 0.0158966 0.999862 uwb: 0.0 848.286 1158.48 -imu_odom_: 1691062581.470701578 0.533907 -0.23942 9.85932 -0.0266316 -0.00745685 0.0266316 0.18 0 pose: 0.50934469 -1.43031 0.0323054 0 -0.00474584 -0.00298126 0.0158373 0.999859 uwb: 0.50108825 848.528 1157.39 -imu_odom_: 1691062581.497802602 0.459687 -0.335188 10.1873 -0.0607201 -0.00958738 0.0660464 0.18 0 pose: 0.0 -1.43031 0.0323054 0 -0.00474584 -0.00298126 0.0158373 0.999859 uwb: 0.0 848.528 1157.39 -imu_odom_: 1691062581.513677664 -0.071826 -0.0742203 9.84735 -0.0319579 0.00106526 0.0436758 0.19 0 pose: 0.49083697 -1.41655 0.0290299 0 -0.00594496 -0.00438987 0.0157024 0.999849 uwb: 0.0 848.528 1157.39 -imu_odom_: 1691062581.529803247 0.622492 -0.186748 9.91918 -0.0575243 -0.0245011 0.0543285 0.19 0 pose: 0.0 -1.41655 0.0290299 0 -0.00594496 -0.00438987 0.0157024 0.999849 uwb: 0.50078202 847.82 1155.12 -imu_odom_: 1691062581.546694105 1.02232 -0.153229 9.95748 -0.0607201 0.0127832 0.0415453 0.19 0 pose: 0.0 -1.41655 0.0290299 0 -0.00594496 -0.00438987 0.0157024 0.999849 uwb: 0.0 847.82 1155.12 -imu_odom_: 1691062581.573705303 0.371101 -0.0143652 9.85693 -0.0735032 -0.00319579 0.0628506 0.18 0.02 pose: 0.42908716 -1.40804 0.0342707 0 -0.00586026 -0.00160887 0.0160431 0.999853 uwb: 0.49944338 847.527 1154.07 -imu_odom_: 1691062581.599739494 0.21069 -0.428562 9.77313 -0.0692422 0.0351537 0.0436758 0.19 0.05 pose: 0.68015187 -1.39681 0.0294456 0 -0.00184666 -0.0028459 0.0164902 0.999858 uwb: 0.0 847.527 1154.07 -imu_odom_: 1691062581.615740546 0.457293 -0.117316 10.003 -0.0575243 0.00319579 0.0372843 0.19 0.05 pose: 0.0 -1.39681 0.0294456 0 -0.00184666 -0.0028459 0.0164902 0.999858 uwb: 0.0 847.527 1154.07 -imu_odom_: 1691062581.641739156 0.533907 -0.191536 9.65103 -0.0415453 -0.0287621 0.0340885 0.18 0.02 pose: 0.7992506 -1.39428 0.0310052 0 -0.0023818 -0.00204812 0.0165087 0.999859 uwb: 0.50047580 847.826 1153.5 -imu_odom_: 1691062581.667683812 0.560243 -0.373495 9.45949 -0.0756338 -0.00958738 0.0426106 0.18 0.02 pose: 0.0 -1.39428 0.0310052 0 -0.0023818 -0.00204812 0.0165087 0.999859 uwb: 0.0 847.826 1153.5 -imu_odom_: 1691062581.693750959 0.146046 -0.248997 9.47386 -0.0458064 0.00639159 0.0372843 0.2 0.02 pose: 0.42122152 -1.38577 0.0362581 0 -0.00162065 -0.00143125 0.0165062 0.999861 uwb: 0.49931505 846.916 1151.75 -imu_odom_: 1691062581.720921686 0.107739 -0.464475 9.8282 -0.0649811 -0.0479369 0.0490022 0.2 0.02 pose: 0.0 -1.38577 0.0362581 0 -0.00162065 -0.00143125 0.0165062 0.999861 uwb: 0.50171237 847.109 1150.77 -imu_odom_: 1691062581.736669299 1.08218 -0.0502782 10.5848 -0.0308927 -0.0511327 0.0287621 0.18 -0.02 pose: 0.51982347 -1.37201 0.0330012 0 -0.00295292 -0.00391511 0.016491 0.999852 uwb: 0.0 847.109 1150.77 -imu_odom_: 1691062581.762791275 0.952892 -0.047884 10.0197 -0.0660464 -0.0394148 0.0543285 0.18 -0.02 pose: 0.0 -1.37201 0.0330012 0 -0.00295292 -0.00391511 0.016491 0.999852 uwb: 0.0 847.109 1150.77 -imu_odom_: 1691062581.779720338 0.363919 -0.447716 9.92875 -0.0479369 0.00745685 0.036219 0.25 0.02 pose: 0.53035473 -1.37201 0.0330012 0 -0.00391366 -0.00121861 0.016569 0.999854 uwb: 0.50035623 847.227 1150.65 -imu_odom_: 1691062581.806655709 0.565032 -0.42138 9.56244 -0.0479369 -0.0223706 0.0532632 0.25 0.02 pose: 0.0 -1.37201 0.0330012 0 -0.00391366 -0.00121861 0.016569 0.999854 uwb: 0.0 847.227 1150.65 -imu_odom_: 1691062581.832642945 0.0957681 -0.0957681 10.0676 -0.02024 0.00532632 0.0340885 0.23 0 pose: 0.57849350 -1.35825 0.0297462 0 -0.0043723 -0.00431902 0.0167368 0.999841 uwb: 0.49782767 846.038 1149.2 -imu_odom_: 1691062581.858707175 0.624887 -0.337582 9.59596 -0.0639159 -0.00639159 0.056459 0.25 0 pose: 0.45955814 -1.34974 0.035003 0 -0.00422597 -0.00323789 0.0168132 0.999844 uwb: 0.0 846.038 1149.2 -imu_odom_: 1691062581.884656789 0.232238 -0.146046 9.67497 -0.0415453 0.00426106 0.0426106 0.25 0 pose: 0.0 -1.34974 0.035003 0 -0.00422597 -0.00323789 0.0168132 0.999844 uwb: 0.50055746 845.65 1147.5 -imu_odom_: 1691062581.911770938 0.0047884 -0.440533 10.2352 -0.0266316 -0.0181095 0.0234358 0.23 0 pose: 0.7012290 -1.34974 0.035003 0 -0.00442032 -0.00392838 0.0168699 0.99984 uwb: 0.0 845.65 1147.5 -imu_odom_: 1691062581.927693246 0.481235 0.117316 10.3765 -0.0447411 -0.0340885 0.0532632 0.23 0 pose: 0.0 -1.34974 0.035003 0 -0.00442032 -0.00392838 0.0168699 0.99984 uwb: 0.50050788 845.379 1146.22 -imu_odom_: 1691062581.952832964 0.6608 0.011971 10.4004 -0.0340885 -0.0351537 0.0426106 0.25 0 pose: 0.52200788 -1.33597 0.0317566 0 -0.0036233 -0.00279765 0.0170134 0.999845 uwb: 0.0 845.379 1146.22 -imu_odom_: 1691062581.974643566 0.694318 0.00718261 10.2041 -0.0351537 -0.0170442 0.04048 0.25 0 pose: 0.0 -1.33597 0.0317566 0 -0.0036233 -0.00279765 0.0170134 0.999845 uwb: 0.49760018 845.318 1145.25 -imu_odom_: 1691062582.834369 0.220267 -0.1652 9.68933 -0.0575243 0.00106526 0.0319579 0.18 0 pose: 0.43941720 -1.32747 0.0370175 0 -0.00160021 -0.00211209 0.0169811 0.999852 uwb: 0.0 845.318 1145.25 -imu_odom_: 1691062582.17681483 0.248997 -0.0646434 9.7851 -0.0873517 -0.02024 0.0490022 0.18 0 pose: 0.0 -1.32747 0.0370175 0 -0.00160021 -0.00211209 0.0169811 0.999852 uwb: 0.0 845.318 1145.25 -imu_odom_: 1691062582.42783583 0.469264 -0.339977 9.90242 -0.0703074 -0.0777643 0.0415453 0.2 0 pose: 0.46863118 -1.3137 0.033774 0 0.0017471 -0.00425777 0.0169761 0.999845 uwb: 0.50171532 845.31 1144 -imu_odom_: 1691062582.68711620 0.550666 -0.150835 10.1251 -0.0500674 -0.0308927 0.0351537 0.2 0 pose: 0.0 -1.3137 0.033774 0 0.0017471 -0.00425777 0.0169761 0.999845 uwb: 0.0 845.31 1144 -imu_odom_: 1691062582.94744940 1.0343 -0.366313 10.0245 -0.0308927 -0.0117179 0.0223706 0.19 -0.02 pose: 0.43155159 -1.3137 0.033774 0 0.0015226 -0.00157549 0.0169859 0.999853 uwb: 0.49940846 844.726 1142.28 -imu_odom_: 1691062582.111744000 0.181959 -0.023942 10.094 -0.0436758 0.0447411 0.0490022 0.19 -0.02 pose: 0.0 -1.3137 0.033774 0 0.0015226 -0.00157549 0.0169859 0.999853 uwb: 0.0 844.726 1142.28 -imu_odom_: 1691062582.137680203 0.612916 -0.289698 9.7875 -0.0617853 0.00852212 0.0383495 0.21 0.02 pose: 0.50879940 -1.29994 0.0305301 0 0.00127228 -0.00585797 0.0168758 0.99984 uwb: 0.50045255 844.951 1141.58 -imu_odom_: 1691062582.164648826 0.4956 -0.0550666 10.094 -0.0383495 -0.00319579 0.0543285 0.23 0.02 pose: 0.60984243 -1.29143 0.0357868 0 -0.000220694-0.00730979 0.0167985 0.999832 uwb: 0.0 844.951 1141.58 -imu_odom_: 1691062582.189628727 0.31364 -0.306458 9.84496 -0.0351537 0.00958738 0.0319579 0.23 0.02 pose: 0.0 -1.29143 0.0357868 0 -0.000220694-0.00730979 0.0167985 0.999832 uwb: 0.49865602 845.3 1141.01 -imu_odom_: 1691062582.213619372 0.620098 -0.380678 9.991 -0.0703074 -0.00852212 0.0458064 0.23 0 pose: 0.7021040 -1.29143 0.0357868 0 0.000504643 -0.0070794 0.016846 0.999833 uwb: 0.0 845.3 1141.01 -imu_odom_: 1691062582.229631509 0.268151 -0.229843 9.53132 -0.0543285 0.0447411 0.0234358 0.23 0 pose: 0.0 -1.29143 0.0357868 0 0.000504643 -0.0070794 0.016846 0.999833 uwb: 0.50062462 845.422 1140.16 -imu_odom_: 1691062582.246710188 0.490811 -0.306458 9.95748 -0.0681769 -0.052198 0.04048 0.18 -0.02 pose: 0.51980314 -1.27767 0.0325393 0 0.000796092 -0.00460331 0.016916 0.999846 uwb: 0.0 845.422 1140.16 -imu_odom_: 1691062582.272703261 1.20668 -0.399832 9.89045 -0.0468716 -0.0351537 0.0319579 0.18 -0.02 pose: 0.0 -1.27767 0.0325393 0 0.000796092 -0.00460331 0.016916 0.999846 uwb: 0.50018423 845.531 1139.33 -imu_odom_: 1691062582.297822277 0.56982 -0.339977 10.0389 -0.0628506 0.0117179 0.04048 0.22 0.02 pose: 0.40998746 -1.26916 0.0377982 0 -0.00156287 -0.00401498 0.0168534 0.999849 uwb: 0.0 845.531 1139.33 -imu_odom_: 1691062582.321821671 0.428562 -0.136469 9.56962 -0.0276969 -0.0245011 0.0234358 0.22 0.02 pose: 0.0 -1.26916 0.0377982 0 -0.00156287 -0.00401498 0.0168534 0.999849 uwb: 0.50002675 846.074 1139.08 -imu_odom_: 1691062582.346654001 0.857124 -0.208296 9.78989 -0.0468716 0.00958738 0.0330232 0.18 0.02 pose: 0.41950964 -1.26916 0.0377982 0 -0.00350254 -0.0075618 0.0167651 0.999825 uwb: 0.0 846.074 1139.08 -imu_odom_: 1691062582.370601190 0.454898 -0.110133 9.39006 -0.0170442 0.00958738 0.0276969 0.18 0.02 pose: 0.0 -1.26916 0.0377982 0 -0.00350254 -0.0075618 0.0167651 0.999825 uwb: 0.50073836 845.928 1138 -imu_odom_: 1691062582.395884985 0.459687 -0.332794 10.0365 -0.0617853 0.00426106 0.0458064 0.18 0 pose: 0.49084579 -1.2554 0.0345492 0 -0.00282742 -0.00746108 0.01656 0.999831 uwb: 0.0 845.928 1138 -imu_odom_: 1691062582.412766221 0.071826 -0.225055 9.85453 -0.0436758 0.00852212 0.0319579 0.18 0 pose: 0.0 -1.2554 0.0345492 0 -0.00282742 -0.00746108 0.01656 0.999831 uwb: 0.0 845.928 1138 -imu_odom_: 1691062582.436606378 0.172383 -0.117316 9.84975 -0.0596548 0.0138484 0.052198 0.18 0 pose: 0.48909301 -1.2554 0.0345492 0 -0.000610745-0.00697009 0.0163673 0.999842 uwb: 0.49916057 846.486 1137.98 -imu_odom_: 1691062582.461603778 0.543484 0.0143652 10.0389 -0.0447411 -0.0308927 0.0276969 0.18 0 pose: 0.0 -1.2554 0.0345492 0 -0.000610745-0.00697009 0.0163673 0.999842 uwb: 0.0 846.486 1137.98 -imu_odom_: 1691062582.476605368 0.802058 -0.397437 9.59357 -0.0713727 -0.0319579 0.0490022 0.24 0 pose: 0.83978631 -1.24164 0.0312887 0 0.00139163 -0.00287017 0.0163715 0.999861 uwb: 0.49832938 846.736 1137.52 -imu_odom_: 1691062582.503591198 0.227449 -0.179565 9.92875 -0.04048 -0.036219 0.0245011 0.24 0 pose: 0.0 -1.24164 0.0312887 0 0.00139163 -0.00287017 0.0163715 0.999861 uwb: 0.0 846.736 1137.52 -imu_odom_: 1691062582.528644593 0.497994 -0.244209 10.0724 -0.0681769 -0.0447411 0.0490022 0.18 0 pose: 0.6126859 -1.24164 0.0312887 0 0.0010351 -0.00348543 0.0164017 0.999859 uwb: 0.50146747 846.837 1136.7 -imu_odom_: 1691062582.553614287 0.744597 0.00718261 9.90481 -0.0447411 -0.0170442 0.0330232 0.2 0 pose: 0.16892027 -1.23313 0.0365394 0 0.000647783 -0.00370446 0.0163845 0.999859 uwb: 0.0 846.837 1136.7 -imu_odom_: 1691062582.568597212 0.462081 -0.277727 9.54808 -0.0671117 0.0106526 0.0639159 0.2 0 pose: 0.0 -1.23313 0.0365394 0 0.000647783 -0.00370446 0.0163845 0.999859 uwb: 0.0 846.837 1136.7 -imu_odom_: 1691062582.593725561 0.416591 -0.215478 10.0437 -0.0447411 -0.0223706 0.0436758 0.2 0 pose: 0.0 -1.23313 0.0365394 0 0.000647783 -0.00370446 0.0163845 0.999859 uwb: 0.49942888 847.165 1135.93 -imu_odom_: 1691062582.619574562 0.383072 -0.272939 9.98382 -0.0649811 -0.0298274 0.052198 0.18 -0.02 pose: 0.50027173 -1.22788 0.0280286 0 -0.000407278-0.00497233 0.016341 0.999854 uwb: 0.0 847.165 1135.93 -imu_odom_: 1691062582.635589906 0.797269 -0.3304 9.65821 -0.036219 0.0117179 0.0351537 0.18 -0.02 pose: 0.0 -1.22788 0.0280286 0 -0.000407278-0.00497233 0.016341 0.999854 uwb: 0.49932096 846.865 1134.77 -imu_odom_: 1691062582.661703429 0.512359 -0.179565 9.93354 -0.0873517 0.036219 0.0713727 0.26 0 pose: 0.91941682 -1.2056 0.0300207 0 -0.00171395 -0.00201413 0.0166642 0.999858 uwb: 0.0 846.865 1134.77 -imu_odom_: 1691062582.687644881 0.483629 -0.25618 9.81144 -0.0649811 0.00745685 0.0458064 0.23 0.05 pose: 0.35111910 -1.19935 0.0338841 0 -0.000135358-0.00384679 0.0170472 0.999847 uwb: 0.50242990 846.868 1133.59 -imu_odom_: 1691062582.712732107 0.447716 -0.407014 9.83777 -0.0798948 0.0117179 0.0479369 0.23 0.05 pose: 0.0 -1.19935 0.0338841 0 -0.000135358-0.00384679 0.0170472 0.999847 uwb: 0.0 846.868 1133.59 -imu_odom_: 1691062582.738644104 0.112527 -0.316035 9.98622 -0.0543285 -0.00958738 0.056459 0.2 0 pose: 0.6881051 -1.1971 0.0352777 0 -0.000846851-0.00392631 0.0170711 0.999846 uwb: 0.0 846.868 1133.59 -imu_odom_: 1691062582.754637575 0.665588 -0.248997 10.4986 -0.0596548 -0.0170442 0.0394148 0.2 0 pose: 0.0 -1.1971 0.0352777 0 -0.000846851-0.00392631 0.0170711 0.999846 uwb: 0.0 846.868 1133.59 -imu_odom_: 1691062582.781601532 0.347159 0.0502782 9.87129 -0.0596548 0.0106526 0.0426106 0.23 0 pose: 0.52068390 -1.18333 0.0320381 0 -0.00556053 -0.00259421 0.0173231 0.999831 uwb: 0.99920190 846.476 1132.52 -imu_odom_: 1691062582.805567970 0.337582 -0.335188 9.81623 -0.0660464 0.0276969 0.04048 0.23 0 pose: 0.0 -1.18333 0.0320381 0 -0.00556053 -0.00259421 0.0173231 0.999831 uwb: 0.0 846.476 1132.52 -imu_odom_: 1691062582.830621366 0.45011 -0.215478 9.53371 -0.0681769 0.00319579 0.0585895 0.2 0 pose: 0.41992086 -1.18333 0.0320381 0 -0.00429254 -0.00216495 0.0174868 0.999836 uwb: 0.0 846.476 1132.52 -imu_odom_: 1691062582.855557229 0.474052 -0.332794 9.38048 -0.0639159 0.0138484 0.0340885 0.2 0 pose: 0.0 -1.18333 0.0320381 0 -0.00429254 -0.00216495 0.0174868 0.999836 uwb: 0.0 846.476 1132.52 -imu_odom_: 1691062582.871610488 0.42138 -0.059855 10.1562 -0.0351537 -0.0255663 0.0383495 0.19 0.02 pose: 0.50070628 -1.16956 0.0288085 0 -0.00362565 0.000362731 0.0175961 0.999839 uwb: 0.100051137 846.885 1131.47 -imu_odom_: 1691062582.888700541 0.658405 -0.158017 9.75637 -0.0532632 -0.0436758 0.052198 0.19 0.02 pose: 0.0 -1.16956 0.0288085 0 -0.00362565 0.000362731 0.0175961 0.999839 uwb: 0.0 846.885 1131.47 -imu_odom_: 1691062582.915568838 0.687136 -0.0670376 10.2448 -0.0575243 -0.0149137 0.0468716 0.25 0.02 pose: 0.49854228 -1.16106 0.0340796 0 -0.00360591 -0.00204175 0.0176861 0.999835 uwb: 0.0 846.885 1131.47 -imu_odom_: 1691062582.931620347 0.588974 -0.418985 9.55765 -0.0628506 -0.02024 0.0575243 0.25 0.02 pose: 0.0 -1.16106 0.0340796 0 -0.00360591 -0.00204175 0.0176861 0.999835 uwb: 0.49817773 846.272 1129.47 -imu_odom_: 1691062582.957550717 0.679953 -0.208296 10.6255 -0.0330232 -0.0298274 0.04048 0.23 0.02 pose: 0.69050535 -1.14729 0.0308586 0 -0.00155495 -0.00670195 0.0180227 0.999814 uwb: 0.0 846.272 1129.47 -imu_odom_: 1691062582.982719020 0.543484 -0.258574 10.1107 -0.0383495 -0.0255663 0.0426106 0.23 0.02 pose: 0.7073828 -1.14729 0.0308586 0 -0.00125625 -0.00746439 0.0180239 0.999809 uwb: 0.50061295 846.482 1128.83 -imu_odom_: 1691062583.7561558 0.526724 0.0814029 9.91199 -0.0511327 -0.0127832 0.0575243 0.21 0 pose: 0.44024845 -1.1388 0.0361371 0 -0.00163138 -0.0076614 0.018082 0.999806 uwb: 0.0 846.482 1128.83 -imu_odom_: 1691062583.22569567 0.430956 -0.215478 10.0556 -0.0468716 0.0170442 0.0511327 0.21 0 pose: 0.0 -1.1388 0.0361371 0 -0.00163138 -0.0076614 0.018082 0.999806 uwb: 0.49978763 847.161 1128.72 -imu_odom_: 1691062583.38610870 0.373495 -0.258574 10.2352 -0.0436758 0 0.0340885 0.18 0 pose: 0.0 -1.1388 0.0361371 0 -0.00163138 -0.0076614 0.018082 0.999806 uwb: 0.0 847.161 1128.72 -imu_odom_: 1691062583.64885093 0.651223 -0.423774 9.94791 -0.0703074 -0.0149137 0.0607201 0.18 0 pose: 0.46931667 -1.12503 0.0329282 0 0.000513894 -0.00520928 0.0183567 0.999818 uwb: 0.0 847.161 1128.72 -imu_odom_: 1691062583.90555612 0.342371 -0.289698 9.91918 -0.0585895 0.0213053 0.0383495 0.21 0 pose: 0.35234406 -1.12503 0.0329282 0 -0.00202114 -0.00613742 0.0186197 0.999806 uwb: 0.50030972 847.148 1127.82 -imu_odom_: 1691062583.115537851 0.924162 -0.246603 10.0916 -0.0852212 0 0.0490022 0.21 0 pose: 0.6903217 -1.12503 0.0329282 0 -0.00217167 -0.00537261 0.0186175 0.99981 uwb: 0.0 847.148 1127.82 -imu_odom_: 1691062583.140595625 0.861913 -0.059855 10.3406 -0.0532632 -0.0191748 0.036219 0.21 0 pose: 0.43749541 -1.11654 0.0382168 0 -0.00279505 -0.00574254 0.0187206 0.999804 uwb: 0.49844612 847.38 1127.17 -imu_odom_: 1691062583.165554241 0.861913 -0.258574 9.59357 -0.0617853 0.0213053 0.04048 0.18 0 pose: 0.0 -1.11654 0.0382168 0 -0.00279505 -0.00574254 0.0187206 0.999804 uwb: 0.0 847.38 1127.17 -imu_odom_: 1691062583.180539209 0.0814029 -0.169988 9.72285 -0.00958738 0.0916127 0.0245011 0.18 0 pose: 0.31019856 -1.10276 0.0350206 0 -0.0014346 -0.00854943 0.0186668 0.999788 uwb: 0.50003266 847.487 1126.63 -imu_odom_: 1691062583.206543953 0.253785 -0.440533 9.53371 -0.0798948 0.00639159 0.0575243 0.18 0.02 pose: 0.0 -1.10276 0.0350206 0 -0.0014346 -0.00854943 0.0186668 0.999788 uwb: 0.0 847.487 1126.63 -imu_odom_: 1691062583.230611012 0.555455 -0.387861 9.73482 -0.056459 -0.00958738 0.0458064 0.18 0.02 pose: 0.41999675 -1.10276 0.0350206 0 -0.00159094 -0.00730208 0.0186375 0.999798 uwb: 0.50177378 846.794 1124.74 -imu_odom_: 1691062583.246537700 0.368707 -0.112527 9.94551 -0.0415453 0.0117179 0.056459 0.18 0.02 pose: 0.0 -1.10276 0.0350206 0 -0.00159094 -0.00730208 0.0186375 0.999798 uwb: 0.0 846.794 1124.74 -imu_odom_: 1691062583.272711888 0.320823 -0.047884 10.1442 -0.0372843 -0.0266316 0.0351537 0.23 -0.05 pose: 0.49064756 -1.08899 0.0318228 0 -0.00452096 -0.00617615 0.01895 0.999791 uwb: 0.50094843 846.672 1123.95 -imu_odom_: 1691062583.299547234 0.342371 -0.0287304 9.97424 -0.0703074 -0.0213053 0.0394148 0.23 0.02 pose: 0.35089750 -1.0831 0.0354948 0 -0.00150421 -0.0041679 0.0189635 0.99981 uwb: 0.0 846.672 1123.95 -imu_odom_: 1691062583.315694113 0.397437 -0.215478 9.77074 -0.0553937 -0.0532632 0.0298274 0.23 0.02 pose: 0.0 -1.0831 0.0354948 0 -0.00150421 -0.0041679 0.0189635 0.99981 uwb: 0.0 846.672 1123.95 -imu_odom_: 1691062583.342542291 0.790087 -0.31364 9.88805 -0.0660464 -0.02024 0.0458064 0.25 0.02 pose: 0.7990175 -1.0805 0.0371173 0 -0.000902626-0.00378635 0.0189607 0.999813 uwb: 0.49897399 846.776 1122.98 -imu_odom_: 1691062583.367814716 0.964863 -0.100556 9.73004 -0.056459 0 0.0447411 0.25 0.02 pose: 0.0 -1.0805 0.0371173 0 -0.000902626-0.00378635 0.0189607 0.999813 uwb: 0.0 846.776 1122.98 -imu_odom_: 1691062583.393595185 0.414197 -0.107739 10.0509 -0.0617853 0.036219 0.0266316 0.23 0 pose: 0.42991849 -1.0805 0.0371173 0 -1.04833e-05-0.00252974 0.0189004 0.999818 uwb: 0.49890108 846.895 1121.57 -imu_odom_: 1691062583.418809572 0.368707 -0.241814 9.77313 -0.072438 0.00213053 0.0340885 0.23 0 pose: 0.0 -1.0805 0.0371173 0 -1.04833e-05-0.00252974 0.0189004 0.999818 uwb: 0.0 846.895 1121.57 -imu_odom_: 1691062583.444527337 0.462081 -0.428562 9.62708 -0.0383495 0.0245011 0.0308927 0.21 -0.02 pose: 0.50929237 -1.06673 0.0339263 0 0.000493328 -0.00621426 0.0189731 0.999801 uwb: 0.49960978 846.858 1120.3 -imu_odom_: 1691062583.469526200 0.792481 -0.426168 9.84735 -0.072438 -0.0106526 0.0468716 0.21 -0.02 pose: 0.52104270 -1.05824 0.0392208 0 -0.000435974-0.00200796 0.0187403 0.999822 uwb: 0.0 846.858 1120.3 -imu_odom_: 1691062583.495640893 0.502782 -0.217872 9.82341 -0.0383495 -0.02024 0.0340885 0.18 0 pose: 0.0 -1.05824 0.0392208 0 -0.000435974-0.00200796 0.0187403 0.999822 uwb: 0.49970602 846.962 1119.36 -imu_odom_: 1691062583.511521501 0.155623 -0.0622492 9.87129 -0.0500674 0.0117179 0.0490022 0.18 0 pose: 0.25823633 -1.04447 0.0360254 0 -0.00246421 -0.00270127 0.0186953 0.999819 uwb: 0.0 846.962 1119.36 -imu_odom_: 1691062583.538535041 0.344765 -0.0263362 10.0054 -0.0468716 -0.0213053 0.0266316 0.19 0 pose: 0.49970602 -1.03598 0.0413153 0 -0.000262379-0.0044733 0.0187034 0.999815 uwb: 0.50115550 846.527 1117.98 -imu_odom_: 1691062583.564630486 0.634463 -0.217872 10.2256 -0.0543285 -0.056459 0.0479369 0.19 -0.02 pose: 0.36013387 -1.03598 0.0413153 0 0.00244617 -0.00223059 0.018562 0.999822 uwb: 0.0 846.527 1117.98 -imu_odom_: 1691062583.581522807 0.591368 -0.0335188 9.67976 -0.0543285 -0.0191748 0.0276969 0.19 -0.02 pose: 0.0 -1.03598 0.0413153 0 0.00244617 -0.00223059 0.018562 0.999822 uwb: 0.49726204 846.06 1116.43 -imu_odom_: 1691062583.607521717 0.387861 -0.347159 9.68215 -0.0713727 0.015979 0.0447411 0.19 -0.02 pose: 0.7013751 -1.03598 0.0413153 0 0.00227665 -0.00309275 0.0185929 0.99982 uwb: 0.0 846.06 1116.43 -imu_odom_: 1691062583.633518295 0.40462 -0.225055 9.89045 -0.0394148 -0.00426106 0.0436758 0.19 -0.02 pose: 0.0 -1.03598 0.0413153 0 0.00227665 -0.00309275 0.0185929 0.99982 uwb: 0.50139172 846.331 1115.8 -imu_odom_: 1691062583.659514872 0.469264 -0.208296 9.86411 -0.052198 -0.0223706 0.0436758 0.17 -0.02 pose: 0.43145837 -1.02221 0.0381157 0 0.00266593 -0.00588983 0.0185904 0.999806 uwb: 0.0 846.331 1115.8 -imu_odom_: 1691062583.676556515 0.749385 -0.138864 10.0652 -0.0500674 0.00426106 0.0458064 0.17 -0.02 pose: 0.0 -1.02221 0.0381157 0 0.00266593 -0.00588983 0.0185904 0.999806 uwb: 0.49972061 846.622 1115.16 -imu_odom_: 1691062583.701566752 0.464475 -0.347159 10.2304 -0.0660464 0.0319579 0.0468716 0.2 0 pose: 0.51951741 -1.01372 0.0434039 0 0.000386636 -0.00294001 0.0187156 0.99982 uwb: 0.0 846.622 1115.16 -imu_odom_: 1691062583.727568578 0.562637 -0.11971 9.85453 -0.0809601 0.00745685 0.0649811 0.2 0 pose: 0.0 -1.01372 0.0434039 0 0.000386636 -0.00294001 0.0187156 0.99982 uwb: 0.50147046 846.512 1113.79 -imu_odom_: 1691062583.753640108 0.220267 -0.335188 9.8665 -0.0649811 0 0.0447411 0.19 0.02 pose: 0.42897939 -0.999943 0.0402085 0 0.000319407 -0.00614203 0.0188354 0.999804 uwb: 0.0 846.512 1113.79 -imu_odom_: 1691062583.778496357 0.442927 -0.588974 9.67736 -0.0703074 -0.00852212 0.0553937 0.23 0 pose: 0.51109181 -0.999943 0.0402085 0 0.000266264 -0.00537051 0.0192451 0.9998 uwb: 0.50008225 846.383 1113.05 -imu_odom_: 1691062583.803662915 0.586579 -0.169988 10.07 -0.0213053 -0.0308927 0.0298274 0.23 0 pose: 0.0 -0.999943 0.0402085 0 0.000266264 -0.00537051 0.0192451 0.9998 uwb: 0.0 846.383 1113.05 -imu_odom_: 1691062583.818616386 0.600945 -0.213084 9.62948 -0.056459 -0.0383495 0.0458064 0.23 0 pose: 0.25981412 -0.991462 0.0455078 0 -0.00136429 -0.00357488 0.019355 0.999805 uwb: 0.0 846.383 1113.05 -imu_odom_: 1691062583.833483530 0.430956 0.011971 10.0604 -0.0511327 -0.0106526 0.04048 0.19 0 pose: 0.48871103 -0.977682 0.0423295 0 -0.00090198 -0.00627227 0.0193866 0.999792 uwb: 0.49781033 846.492 1112.56 -imu_odom_: 1691062583.858495225 0.557849 -0.272939 9.90242 -0.0607201 0.00532632 0.0436758 0.19 0 pose: 0.0 -0.977682 0.0423295 0 -0.00090198 -0.00627227 0.0193866 0.999792 uwb: 0.0 846.492 1112.56 -imu_odom_: 1691062583.885764537 0.328006 -0.447716 9.84496 -0.0245011 -0.0585895 0.0287621 0.18 0 pose: 0.31029189 -0.977682 0.0423295 0 1.81567e-05 -0.00688663 0.0194294 0.999788 uwb: 0.50319992 846.426 1111.78 -imu_odom_: 1691062583.910518127 0.591368 -0.181959 9.8282 -0.0596548 -0.0245011 0.0500674 0.19 0.02 pose: 0.45229343 -0.966296 0.0376557 0 -0.0031479 -0.00615709 0.0193519 0.999789 uwb: 0.0 846.426 1111.78 -imu_odom_: 1691062583.937646283 0.593762 -0.0933739 9.79228 -0.0372843 -0.0255663 0.0340885 0.19 0.02 pose: 0.0 -0.966296 0.0376557 0 -0.0031479 -0.00615709 0.0193519 0.999789 uwb: 0.49726787 847.159 1111.86 -imu_odom_: 1691062583.963613696 0.555455 -0.268151 9.991 -0.0596548 -0.00319579 0.0447411 0.19 0 pose: 0.7863310 -0.963901 0.0391529 0 -0.00251848 -0.00668687 0.0193878 0.999787 uwb: 0.0 847.159 1111.86 -imu_odom_: 1691062583.990466832 0.723049 -0.234632 9.90002 -0.0468716 -0.0149137 0.056459 0.19 0 pose: 0.0 -0.963901 0.0391529 0 -0.00251848 -0.00668687 0.0193878 0.999787 uwb: 0.50041472 847.349 1111.52 -imu_odom_: 1691062584.6472848 0.514753 -0.308852 9.39245 -0.0660464 0.0276969 0.0553937 0.18 0 pose: 0.52156183 -0.955422 0.0444544 0 0.000906038 -0.00857626 0.0193988 0.999775 uwb: 0.0 847.349 1111.52 -imu_odom_: 1691062584.33469477 0.371101 -0.162806 9.5792 -0.0447411 0.00106526 0.0426106 0.18 0 pose: 0.0 -0.955422 0.0444544 0 0.000906038 -0.00857626 0.0193988 0.999775 uwb: 0.50221419 847.075 1110.29 -imu_odom_: 1691062584.59589133 -0.0167594 -0.435745 9.83777 -0.0298274 0.0266316 0.0255663 0.26 0 pose: 0.52696892 -0.941643 0.0412802 0 -0.00127467 -0.0102585 0.0197526 0.999751 uwb: 0.0 847.075 1110.29 -imu_odom_: 1691062584.86508768 0.562637 -0.385466 9.87848 -0.0511327 -0.02024 0.0575243 0.25 -0.02 pose: 0.43021895 -0.941643 0.0412802 0 -0.000887092-0.00607796 0.019806 0.999785 uwb: 0.49872618 846.907 1109 -imu_odom_: 1691062584.111543507 0.220267 -0.208296 9.91918 -0.02024 0.0245011 0.036219 0.25 -0.02 pose: 0.0 -0.941643 0.0412802 0 -0.000887092-0.00607796 0.019806 0.999785 uwb: 0.0 846.907 1109 -imu_odom_: 1691062584.128694811 0.536301 -0.162806 10.0748 -0.0660464 0.015979 0.0585895 0.21 0.02 pose: 0.25167145 -0.933169 0.0465883 0 -0.00191808 -0.0045237 0.0197523 0.999793 uwb: 0.49914906 846.419 1107.94 -imu_odom_: 1691062584.154511448 0.679953 -0.251391 9.83538 -0.0671117 0 0.0415453 0.21 0.02 pose: 0.0 -0.933169 0.0465883 0 -0.00191808 -0.0045237 0.0197523 0.999793 uwb: 0.0 846.419 1107.94 -imu_odom_: 1691062584.171462101 0.543484 -0.160412 10.2017 -0.0713727 -0.00958738 0.0628506 0.23 0 pose: 0.51870381 -0.919386 0.0434218 0 -0.00202311 -0.00321739 0.0199644 0.999793 uwb: 0.49957195 846.065 1106.39 -imu_odom_: 1691062584.196591624 0.797269 -0.316035 9.43315 -0.0713727 0.0458064 0.0234358 0.23 0 pose: 0.0 -0.919386 0.0434218 0 -0.00202311 -0.00321739 0.0199644 0.999793 uwb: 0.0 846.065 1106.39 -imu_odom_: 1691062584.223473054 0.138864 -0.47884 9.39485 -0.0436758 0.0213053 0.056459 0.23 0.02 pose: 0.43092765 -0.919386 0.0434218 0 -0.000842769-0.00636235 0.0201561 0.999776 uwb: 0.49970027 846.187 1106.11 -imu_odom_: 1691062584.249462344 0.19393 0.0023942 10.161 -0.00639159 -0.00319579 0.0276969 0.23 0.02 pose: 0.0 -0.919386 0.0434218 0 -0.000842769-0.00636235 0.0201561 0.999776 uwb: 0.0 846.187 1106.11 -imu_odom_: 1691062584.276472972 0.677559 -0.0957681 10.2615 -0.052198 -0.052198 0.0543285 0.23 -0.02 pose: 0.41842777 -0.905601 0.0402656 0 -0.00129877 -0.00761557 0.0201266 0.999768 uwb: 0.50014065 846.347 1105.21 -imu_odom_: 1691062584.301579164 0.54109 -0.0622492 10.0078 -0.0468716 0.00532632 0.0415453 0.18 0 pose: 0.53003419 -0.89713 0.0455799 0 0.000402211 -0.00434513 0.0202018 0.999786 uwb: 0.0 846.347 1105.21 -imu_odom_: 1691062584.328581626 0.665588 -0.0670376 9.89524 -0.052198 -0.00106526 0.036219 0.22 0 pose: 0.0 -0.89713 0.0455799 0 0.000402211 -0.00434513 0.0202018 0.999786 uwb: 0.49902365 846.491 1104.32 -imu_odom_: 1691062584.344568978 0.186748 -0.323217 9.83777 -0.0585895 0.0117179 0.0543285 0.22 0 pose: 0.52037201 -0.883345 0.0424274 0 0.0044568 -0.00711305 0.0203432 0.999758 uwb: 0.0 846.491 1104.32 -imu_odom_: 1691062584.371464699 0.758962 -0.184354 10.4052 -0.0735032 -0.0138484 0.0255663 0.19 -0.02 pose: 0.0 -0.883345 0.0424274 0 0.0044568 -0.00711305 0.0203432 0.999758 uwb: 0.50218216 846.162 1102.99 -imu_odom_: 1691062584.396532977 0.826 -0.560243 9.79707 -0.0745685 -0.015979 0.0479369 0.2 -0.02 pose: 0.62948194 -0.874876 0.0477449 0 0.00366299 -0.0100421 0.0202546 0.999738 uwb: 0.0 846.162 1102.99 -imu_odom_: 1691062584.423455528 -0.318429 -0.0622492 8.44914 -0.0191748 0.108657 0.0255663 0.2 -0.02 pose: 0.0 -0.874876 0.0477449 0 0.00366299 -0.0100421 0.0202546 0.999738 uwb: 0.49936196 845.635 1101.98 -imu_odom_: 1691062584.439512583 0.263362 -0.222661 9.15543 -0.0639159 0.203466 0.0596548 0.19 0 pose: 0.8064545 -0.874876 0.0477449 0 0.00288765 -0.0104941 0.0202957 0.999735 uwb: 0.0 845.635 1101.98 -imu_odom_: 1691062584.466549751 -0.37589 -0.426168 9.73722 -0.036219 0.0276969 0.0255663 0.19 0 pose: 0.0 -0.874876 0.0477449 0 0.00288765 -0.0104941 0.0202957 0.999735 uwb: 0.0 845.635 1101.98 -imu_odom_: 1691062584.491627362 1.29287 -0.442927 9.07402 -0.0340885 -0.0479369 0.0426106 0.18 0 pose: 0.51996371 -0.861089 0.0445912 0 0.0018595 -0.00561289 0.0202765 0.999777 uwb: 0.49908199 845.305 1100.65 -imu_odom_: 1691062584.516446867 0.667982 -0.0670376 10.1873 -0.0255663 0.0298274 0.0372843 0.18 0 pose: 0.0 -0.861089 0.0445912 0 0.0018595 -0.00561289 0.0202765 0.999777 uwb: 0.0 845.305 1100.65 -imu_odom_: 1691062584.530440248 0.225055 -0.0909797 10.1969 -0.0553937 0.0170442 0.0490022 0.2 -0.02 pose: 0.42967066 -0.852619 0.0499071 0 0.00101682 -0.00191208 0.0201818 0.999794 uwb: 0.49988109 845.768 1099.97 -imu_odom_: 1691062584.555551689 -0.0646434 0.0790087 10.1131 -0.0447411 0.0255663 0.0276969 0.2 -0.02 pose: 0.0 -0.852619 0.0499071 0 0.00101682 -0.00191208 0.0201818 0.999794 uwb: 0.0 845.768 1099.97 -imu_odom_: 1691062584.582609272 0.42138 -0.28491 9.95748 -0.0777643 0.00213053 0.0511327 0.24 0 pose: 0.47944850 -0.847304 0.0414365 0 0.00275994 -0.00484631 0.0202046 0.99978 uwb: 0.50088726 846.099 1099.56 -imu_odom_: 1691062584.607492356 0.414197 0.0742203 10.2831 -0.0426106 -0.0308927 0.0330232 0.24 0 pose: 0.0 -0.847304 0.0414365 0 0.00275994 -0.00484631 0.0202046 0.99978 uwb: 0.0 846.099 1099.56 -imu_odom_: 1691062584.624495213 0.512359 -0.203507 10.0556 -0.0692422 0.0181095 0.0575243 0.23 -0.02 pose: 0.40003378 -0.838834 0.0467516 0 0.00324666 -0.00122959 0.020122 0.999792 uwb: 0.50040604 845.826 1098.79 -imu_odom_: 1691062584.640486357 0.160412 -0.181959 10.0556 -0.0713727 0.00745685 0.0308927 0.23 -0.02 pose: 0.0 -0.838834 0.0467516 0 0.00324666 -0.00122959 0.020122 0.999792 uwb: 0.0 845.826 1098.79 -imu_odom_: 1691062584.667492319 0.0766145 -0.493206 10.0126 -0.0617853 0.00106526 0.0628506 0.25 0 pose: 0.52063157 -0.825047 0.0435951 0 0.00319803 -0.00176226 0.0202218 0.999789 uwb: 0.0 845.826 1098.79 -imu_odom_: 1691062584.683631034 0.201113 -0.337582 9.84496 -0.0298274 -0.0458064 0.04048 0.25 0 pose: 0.0 -0.825047 0.0435951 0 0.00319803 -0.00176226 0.0202218 0.999789 uwb: 0.50014649 845.648 1097.58 -imu_odom_: 1691062584.700503818 0.35913 -0.162806 9.83299 -0.0447411 -0.00532632 0.0383495 0.23 0 pose: 0.33999007 -0.825047 0.0435951 0 0.00170578 -0.0001878640.0203347 0.999792 uwb: 0.0 845.648 1097.58 -imu_odom_: 1691062584.717490052 0.840365 -0.37589 9.8689 -0.076699 -0.0223706 0.0713727 0.23 0 pose: 0.0 -0.825047 0.0435951 0 0.00170578 -0.0001878640.0203347 0.999792 uwb: 0.0 845.648 1097.58 -imu_odom_: 1691062584.744496305 0.723049 -0.138864 10.3765 -0.0468716 0.00532632 0.0479369 0.27 0.02 pose: 0.41977809 -0.816578 0.0489126 0 0.0002702 0.002202 0.0205561 0.999786 uwb: 0.49905865 845.563 1096.5 -imu_odom_: 1691062584.761679107 0.215478 -0.23942 9.39485 -0.0681769 -0.00958738 0.0617853 0.27 0.02 pose: 0.34010964 -0.802792 0.0457693 0 0.000738141 -0.0001585110.0208527 0.999782 uwb: 0.0 845.563 1096.5 -imu_odom_: 1691062584.786463615 0.306458 -0.174777 9.4571 -0.0436758 0.00639159 0.0383495 0.24 0 pose: 0.0 -0.802792 0.0457693 0 0.000738141 -0.0001585110.0208527 0.999782 uwb: 0.49971777 845.524 1095.41 -imu_odom_: 1691062584.809459761 0.277727 -0.339977 9.72285 -0.0958738 0.0255663 0.072438 0.24 0 pose: 0.44132476 -0.802792 0.0457693 0 0.000941956 0.00032251 0.0211219 0.999776 uwb: 0.0 845.524 1095.41 -imu_odom_: 1691062584.835597498 0.40462 -0.323217 9.42837 -0.0681769 0.0276969 0.0394148 0.18 0.02 pose: 0.40835439 -0.790721 0.0453701 0 -0.00107312 0.003558 0.0214827 0.999762 uwb: 0.49978193 845.554 1094.27 -imu_odom_: 1691062584.859421038 0.462081 -0.593762 10.1849 -0.0788296 -0.00426106 0.0500674 0.18 0.02 pose: 0.8022549 -0.788998 0.0426408 0 -0.00175635 0.00318705 0.0214793 0.999763 uwb: 0.0 845.554 1094.27 -imu_odom_: 1691062584.883490435 0.138864 -0.201113 10.2376 -0.0553937 -0.0138484 0.0543285 0.18 0 pose: 0.41938728 -0.780541 0.0479777 0 -0.00581729 0.001521 0.021589 0.999749 uwb: 0.50112640 845.409 1093.26 -imu_odom_: 1691062584.908447305 0.21069 -0.0837971 9.96227 -0.0617853 -0.00532632 0.0436758 0.18 0 pose: 0.0 -0.780541 0.0479777 0 -0.00581729 0.001521 0.021589 0.999749 uwb: 0.0 845.409 1093.26 -imu_odom_: 1691062584.935464932 0.509965 -0.186748 10.3573 -0.0628506 -0.0255663 0.0500674 0.21 0 pose: 0.49026267 -0.774587 0.0517382 0 -0.00259182 0.00475676 0.0218462 0.999747 uwb: 0.49975568 845.512 1092.46 -imu_odom_: 1691062584.961449848 1.10852 0.0335188 10.4746 -0.0340885 -0.0255663 0.0276969 0.18 -0.02 pose: 0.0 -0.774587 0.0517382 0 -0.00259182 0.00475676 0.0218462 0.999747 uwb: 0.0 845.512 1092.46 -imu_odom_: 1691062584.978451247 0.287304 -0.21069 9.42358 -0.0735032 -0.0149137 0.0585895 0.23 0 pose: 0.35031719 -0.766743 0.044866 0 -0.00127593 0.00113698 0.0219394 0.999758 uwb: 0.49780167 845.078 1091.07 -imu_odom_: 1691062585.4784970 0.383072 -0.354342 9.37569 -0.0703074 0.0106526 0.0394148 0.23 0 pose: 0.0 -0.766743 0.044866 0 -0.00127593 0.00113698 0.0219394 0.999758 uwb: 0.0 845.078 1091.07 -imu_odom_: 1691062585.31392842 0.505177 -0.395043 9.67497 -0.0617853 -0.0255663 0.0511327 0.18 0.02 pose: 0.42997105 -0.75829 0.0502102 0 -0.00130818 0.000947941 0.0219919 0.999757 uwb: 0.50033317 844.673 1089.86 -imu_odom_: 1691062585.47453982 0.402226 -0.301669 9.62708 -0.0585895 0.0255663 0.0426106 0.18 0.02 pose: 0.0 -0.75829 0.0502102 0 -0.00130818 0.000947941 0.0219919 0.999757 uwb: 0.0 844.673 1089.86 -imu_odom_: 1691062585.64398805 0.462081 -0.0861913 10.2496 -0.0639159 -0.0181095 0.0500674 0.2 0 pose: 0.51933090 -0.744494 0.0471044 0 -0.0048441 -0.0004387910.0221477 0.999743 uwb: 0.0 844.673 1089.86 -imu_odom_: 1691062585.82468792 0.59855 -0.428562 10.4076 -0.0106526 -0.0181095 0.036219 0.2 0 pose: 0.0 -0.744494 0.0471044 0 -0.0048441 -0.0004387910.0221477 0.999743 uwb: 0.50056653 844.493 1088.88 -imu_odom_: 1691062585.105420611 0.222661 -0.258574 9.88805 0.0170442 -0.0628506 0.0330232 0.19 0.02 pose: 0.44059573 -0.7392 0.0504549 0 -0.00357582 -0.00166559 0.0222184 0.999745 uwb: 0.0 844.493 1088.88 -imu_odom_: 1691062585.131407281 0.481235 -0.124498 10.0413 -0.0255663 -0.0607201 0.0532632 0.19 0.02 pose: 0.0 -0.7392 0.0504549 0 -0.00357582 -0.00166559 0.0222184 0.999745 uwb: 0.50029239 844.789 1087.81 -imu_odom_: 1691062585.156474104 0.459687 0.201113 10.0556 -0.1012 -0.0245011 0.0830906 0.25 0 pose: 0.5968499 -0.736044 0.0524532 0 -0.00329439 -0.00124137 0.0222019 0.999747 uwb: 0.0 844.789 1087.81 -imu_odom_: 1691062585.179448964 0.383072 -0.0430956 10.082 -0.0660464 -0.0426106 0.0500674 0.18 0 pose: 0.0 -0.736044 0.0524532 0 -0.00329439 -0.00124137 0.0222019 0.999747 uwb: 0.50016698 844.719 1086.96 -imu_odom_: 1691062585.205416385 0.603339 -0.0287304 9.77792 -0.0585895 0.0181095 0.0319579 0.18 0.02 pose: 0.74136553 -0.722249 0.0493601 0 0.00264909 -0.00212381 0.0229 0.999732 uwb: 0.0 844.719 1086.96 -imu_odom_: 1691062585.222508780 0.344765 -0.292093 10.0509 -0.0639159 -0.0213053 0.0479369 0.18 0.02 pose: 0.0 -0.722249 0.0493601 0 0.00264909 -0.00212381 0.0229 0.999732 uwb: 0.50144438 844.723 1085.89 -imu_odom_: 1691062585.248419622 0.25618 -0.232238 9.8689 -0.0745685 -0.0266316 0.0649811 0.25 0.02 pose: 0.49931246 -0.713808 0.0547218 0 0.00485028 -0.00316246 0.0229197 0.999721 uwb: 0.0 844.723 1085.89 -imu_odom_: 1691062585.275443670 0.469264 -0.198719 10.2496 -0.0511327 -0.0127832 0.0276969 0.25 -0.02 pose: 0.35914532 -0.709958 0.0486591 0 0.00258402 -0.0006628780.0232821 0.999725 uwb: 0.49881375 844.524 1084.59 -imu_odom_: 1691062585.291622927 0.316035 -0.201113 9.89284 -0.056459 -0.00958738 0.0447411 0.25 -0.02 pose: 0.0 -0.709958 0.0486591 0 0.00258402 -0.0006628780.0232821 0.999725 uwb: 0.0 844.524 1084.59 -imu_odom_: 1691062585.318579313 0.325611 -0.497994 9.78031 -0.0575243 0.0298274 0.0298274 0.25 0.02 pose: 0.7071498 -0.708445 0.0462813 0 0.00220705 -0.00128064 0.0232418 0.999727 uwb: 0.0 844.524 1084.59 -imu_odom_: 1691062585.344526319 0.174777 -0.292093 10.3262 -0.0415453 0.00745685 0.0617853 0.25 0.02 pose: 0.0 -0.708445 0.0462813 0 0.00220705 -0.00128064 0.0232418 0.999727 uwb: 0.49951661 844.231 1083.35 -imu_odom_: 1691062585.371403671 0.248997 -0.129287 10.1778 -0.0266316 0.0170442 0.0383495 0.25 0 pose: 0.42934701 -0.700008 0.051648 0 0.000357761 -0.00112631 0.023136 0.999732 uwb: 0.50100108 844.025 1082.76 -imu_odom_: 1691062585.396375127 0.399832 -0.0047884 10.1969 -0.0394148 -0.00213053 0.0617853 0.25 0 pose: 0.0 -0.700008 0.051648 0 0.000357761 -0.00112631 0.023136 0.999732 uwb: 0.0 844.025 1082.76 -imu_odom_: 1691062585.413497561 0.746991 -0.31364 9.73482 -0.0553937 0.0106526 0.0308927 0.23 -0.02 pose: 0.53000801 -0.686203 0.0485745 0 -0.00135076 0.00306152 0.0233295 0.999722 uwb: 0.0 844.025 1082.76 -imu_odom_: 1691062585.439393821 0.316035 -0.486023 9.97424 -0.0713727 0.0117179 0.0479369 0.23 -0.02 pose: 0.0 -0.686203 0.0485745 0 -0.00135076 0.00306152 0.0233295 0.999722 uwb: 0.49986950 844.162 1081.64 -imu_odom_: 1691062585.466435076 0.624887 -0.153229 9.91199 -0.0490022 -0.0607201 0.0308927 0.25 0 pose: 0.52074540 -0.677767 0.0539441 0 0.00270693 0.00303338 0.02358 0.999714 uwb: 0.0 844.162 1081.64 -imu_odom_: 1691062585.492384998 0.792481 -0.258574 10.1155 -0.0649811 -0.0149137 0.0436758 0.2 -0.02 pose: 0.42958032 -0.677767 0.0539441 0 -0.0002013880.00179057 0.0236109 0.99972 uwb: 0.49735262 844.576 1081.25 -imu_odom_: 1691062585.519419837 0.177171 -0.201113 9.74679 -0.0671117 0.0426106 0.0468716 0.25 0 pose: 0.0 -0.677767 0.0539441 0 -0.0002013880.00179057 0.0236109 0.99972 uwb: 0.50125773 843.9 1080.05 -imu_odom_: 1691062585.544638899 0.423774 -0.208296 10.0389 -0.0607201 0.0138484 0.0276969 0.2 0 pose: 0.52943932 -0.66396 0.0508824 0 -3.57441e-05-0.00255756 0.0236044 0.999718 uwb: 0.0 843.9 1080.05 -imu_odom_: 1691062585.561633010 0.574608 -0.217872 9.83059 -0.0468716 -0.0319579 0.0298274 0.2 0 pose: 0.0 -0.66396 0.0508824 0 -3.57441e-05-0.00255756 0.0236044 0.999718 uwb: 0.0 843.9 1080.05 -imu_odom_: 1691062585.587377615 0.363919 -0.308852 10.3741 -0.0383495 -0.0308927 0.0383495 0.18 0 pose: 0.62229884 -0.652524 0.0515434 0 0.000766912 -0.00406372 0.0234455 0.999717 uwb: 0.50072110 843.707 1078.78 -imu_odom_: 1691062585.614368124 0.648829 0.0957681 9.92157 -0.0671117 0.015979 0.0596548 0.18 0 pose: 0.7962180 -0.650154 0.0478209 0 0.000297401 -0.00358228 0.0234426 0.999719 uwb: 0.0 843.707 1078.78 -imu_odom_: 1691062585.630403600 0.399832 -0.311246 9.97664 -0.0671117 -0.0234358 0.0458064 0.2 0 pose: 0.44772934 -0.641718 0.053191 0 0.0014269 -0.00357805 0.0236993 0.999712 uwb: 0.50019614 843.502 1077.52 -imu_odom_: 1691062585.657355612 0.663194 -0.227449 9.77553 -0.056459 -0.0415453 0.0500674 0.2 0 pose: 0.0 -0.641718 0.053191 0 0.0014269 -0.00357805 0.0236993 0.999712 uwb: 0.0 843.502 1077.52 -imu_odom_: 1691062585.683500936 0.94571 -0.316035 10.0604 -0.0351537 0.0276969 0.0170442 0.18 0.02 pose: 0.42987488 -0.629512 0.0526447 0 -0.00013366 -0.00613359 0.0238936 0.999696 uwb: 0.49846378 843.184 1076.65 -imu_odom_: 1691062585.710377704 0.651223 -0.177171 10.0221 -0.0649811 -0.00639159 0.0575243 0.18 0.02 pose: 0.0 -0.629512 0.0526447 0 -0.00013366 -0.00613359 0.0238936 0.999696 uwb: 0.0 843.184 1076.65 -imu_odom_: 1691062585.735353243 0.347159 -0.0814029 9.77792 -0.0479369 -0.0138484 0.0287621 0.2 0 pose: 0.33047960 -0.62791 0.0501337 0 -6.96183e-05-0.00887049 0.0236614 0.999681 uwb: 0.50007365 843.215 1075.79 -imu_odom_: 1691062585.762353960 0.433351 -0.42138 9.45949 -0.0692422 0.0106526 0.04048 0.23 0 pose: 0.28045678 -0.619477 0.0555084 0 0.00123356 -0.00989272 0.0237827 0.999667 uwb: 0.0 843.215 1075.79 -imu_odom_: 1691062585.779465020 0.227449 -0.177171 10.319 -0.0245011 -0.0170442 0.0276969 0.23 0 pose: 0.0 -0.619477 0.0555084 0 0.00123356 -0.00989272 0.0237827 0.999667 uwb: 0.49963327 842.991 1074.39 -imu_odom_: 1691062585.806402158 0.68953 -0.328006 9.94551 -0.0617853 -0.0234358 0.0660464 0.26 0 pose: 0.23926495 -0.619477 0.0555084 0 0.00129644 -0.00805347 0.0236913 0.999686 uwb: 0.0 842.991 1074.39 -imu_odom_: 1691062585.831346199 0.756568 -0.138864 9.95509 -0.0532632 0.0266316 0.0458064 0.26 0 pose: 0.0 -0.619477 0.0555084 0 0.00129644 -0.00805347 0.0236913 0.999686 uwb: 0.50078235 843.121 1073.49 -imu_odom_: 1691062585.858347208 0.191536 -0.445322 9.99579 -0.0575243 0.0340885 0.04048 0.23 0 pose: 0.44035658 -0.60567 0.052449 0 -0.000486604-0.00608856 0.0237062 0.9997 uwb: 0.0 843.121 1073.49 -imu_odom_: 1691062585.874463761 0.0790087 0.0335188 10.0173 -0.0426106 -0.0234358 0.0394148 0.23 0 pose: 0.0 -0.60567 0.052449 0 -0.000486604-0.00608856 0.0237062 0.9997 uwb: 0.50129564 843.084 1072.51 -imu_odom_: 1691062585.901325655 0.545878 -0.241814 10.161 -0.0681769 -0.0223706 0.0639159 0.23 0.02 pose: 0.52070456 -0.597237 0.0578236 0 -0.000620887-0.0090276 0.0240454 0.99967 uwb: 0.0 843.084 1072.51 -imu_odom_: 1691062585.927452897 0.466869 -0.0263362 9.77074 -0.0660464 0.0170442 0.0479369 0.23 0.02 pose: 0.0 -0.597237 0.0578236 0 -0.000620887-0.0090276 0.0240454 0.99967 uwb: 0.49768801 842.861 1071.45 -imu_odom_: 1691062585.954448073 0.232238 -0.232238 9.59117 -0.0415453 -0.0287621 0.0298274 0.25 0 pose: 0.88971038 -0.583428 0.0547751 0 0.000515141 -0.00710675 0.0244787 0.999675 uwb: 0.0 842.861 1071.45 -imu_odom_: 1691062585.980393329 0.464475 -0.543484 9.30147 -0.0756338 -0.00319579 0.052198 0.18 0.02 pose: 0.6906136 -0.583428 0.0547751 0 0.000494063 -0.00650259 0.0244456 0.99968 uwb: 0.50019906 842.836 1070.47 -imu_odom_: 1691062586.7348842 0.471658 -0.208296 9.88326 -0.0468716 -0.0255663 0.0415453 0.18 0.02 pose: 0.0 -0.583428 0.0547751 0 0.000494063 -0.00650259 0.0244456 0.99968 uwb: 0.0 842.836 1070.47 -imu_odom_: 1691062586.23352823 0.464475 -0.172383 9.99819 -0.0735032 0.00213053 0.0585895 0.18 0 pose: 0.28064343 -0.575003 0.0601616 0 -0.000445518-0.00470051 0.024403 0.999691 uwb: 0.50279764 843.261 1069.79 -imu_odom_: 1691062586.50430829 0.76375 -0.179565 10.4507 -0.0639159 0.0426106 0.0372843 0.18 0 pose: 0.0 -0.575003 0.0601616 0 -0.000445518-0.00470051 0.024403 0.999691 uwb: 0.0 843.261 1069.79 -imu_odom_: 1691062586.66352275 0.296881 -0.402226 9.82102 -0.0628506 -0.0330232 0.0585895 0.2 0.02 pose: 0.52934018 -0.561191 0.0571233 0 0.000874115 -0.00356874 0.0246154 0.99969 uwb: 0.0 843.261 1069.79 -imu_odom_: 1691062586.93385952 0.440533 -0.253785 10.1227 -0.0383495 -0.00745685 0.0415453 0.2 0.02 pose: 0.0 -0.561191 0.0571233 0 0.000874115 -0.00356874 0.0246154 0.99969 uwb: 0.49772016 843.225 1068.82 -imu_odom_: 1691062586.118531815 0.462081 -0.361524 9.74201 -0.0468716 0.00106526 0.0596548 0.18 0 pose: 0.43126026 -0.561191 0.0571233 0 0.000901655 -0.00487579 0.0247398 0.999682 uwb: 0.0 843.225 1068.82 -imu_odom_: 1691062586.145378839 0.25618 0.0407014 9.94312 -0.0383495 -0.00532632 0.0500674 0.18 0 pose: 0.0 -0.561191 0.0571233 0 0.000901655 -0.00487579 0.0247398 0.999682 uwb: 0.49999208 843.229 1067.52 -imu_odom_: 1691062586.170394921 0.263362 -0.474052 9.56484 -0.0692422 0.0255663 0.0617853 0.2 0 pose: 0.43010535 -0.547376 0.0540944 0 -0.00201754 -0.00253136 0.0249348 0.999684 uwb: 0.49901506 843.294 1067 -imu_odom_: 1691062586.197375227 0.253785 -0.107739 9.53132 -0.0436758 -0.0276969 0.0458064 0.21 0.02 pose: 0.50879973 -0.538956 0.0594898 0 -0.00178272 -0.0007763460.025329 0.999677 uwb: 0.0 843.294 1067 -imu_odom_: 1691062586.213319421 0.802058 -0.263362 10.2687 -0.0415453 -0.0735032 0.0351537 0.21 0.02 pose: 0.0 -0.538956 0.0594898 0 -0.00178272 -0.0007763460.025329 0.999677 uwb: 0.0 843.294 1067 -imu_odom_: 1691062586.230437775 1.41737 -0.0742203 9.92397 -0.0298274 -0.0308927 0.0255663 0.21 0.02 pose: 0.0 -0.538956 0.0594898 0 -0.00178272 -0.0007763460.025329 0.999677 uwb: 0.50141238 843.486 1066.11 -imu_odom_: 1691062586.248481516 1.58017 -0.399832 10.2711 -0.056459 -0.00319579 -0.00319579 0.21 -0.11 pose: 0.67986369 -0.525137 0.0564824 0 -0.000910867-0.00101375 0.0255366 0.999673 uwb: 0.0 843.486 1066.11 -imu_odom_: 1691062586.262478692 1.81959 -0.196325 9.96706 -0.04048 0.00532632 -0.129962 0.21 -0.11 pose: 0.0 -0.525137 0.0564824 0 -0.000910867-0.00101375 0.0255366 0.999673 uwb: 0.0 843.486 1066.11 -imu_odom_: 1691062586.278313228 1.46765 0.282516 9.83777 -0.0511327 0.0394148 -0.214118 0.21 -0.11 pose: 0.0 -0.525137 0.0564824 0 -0.000910867-0.00101375 0.0255366 0.999673 uwb: 0.49934171 843.221 1065.42 -imu_odom_: 1691062586.293360616 1.26414 0.301669 9.89524 -0.0649811 0.0266316 -0.280165 0.12 -0.35 pose: 0.49010533 -0.516724 0.0618878 0 -0.000292853-0.00570153 0.0230147 0.999719 uwb: 0.0 843.221 1065.42 -imu_odom_: 1691062586.310319732 0.950498 -0.134075 9.85214 -0.072438 0.0181095 -0.358994 0.12 -0.35 pose: 0.0 -0.516724 0.0618878 0 -0.000292853-0.00570153 0.0230147 0.999719 uwb: 0.0 843.221 1065.42 -imu_odom_: 1691062586.324322158 0.90022 -0.0909797 9.5816 -0.0703074 0.0319579 -0.429302 0.1 -0.41 pose: 0.0 -0.516724 0.0618878 0 -0.000292853-0.00570153 0.0230147 0.999719 uwb: 0.49925129 843.301 1064.75 -imu_odom_: 1691062586.340360261 0.981623 -0.23942 9.88566 -0.0756338 0.00745685 -0.426106 0.1 -0.41 pose: 0.40948902 -0.51673 0.0618821 0 0.00116722 -0.00875122 0.0160861 0.999832 uwb: 0.0 843.301 1064.75 -imu_odom_: 1691062586.357304503 0.711078 -0.371101 9.64384 -0.0628506 -0.00639159 -0.434628 0.1 -0.41 pose: 0.0 -0.51673 0.0618821 0 0.00116722 -0.00875122 0.0160861 0.999832 uwb: 0.0 843.301 1064.75 -imu_odom_: 1691062586.375326663 0.751779 -0.136469 9.85693 -0.0543285 -0.0351537 -0.455933 0.08 -0.5 pose: 0.6089824 -0.516724 0.0618879 0 0.00132482 -0.00921837 0.0146573 0.999849 uwb: 0.49996291 843.351 1063.93 -imu_odom_: 1691062586.392307069 0.976834 -0.0885855 9.85932 -0.0607201 -0.0191748 -0.461259 0.08 -0.5 pose: 0.0 -0.516724 0.0618879 0 0.00132482 -0.00921837 0.0146573 0.999849 uwb: 0.0 843.351 1063.93 -imu_odom_: 1691062586.409358636 0.857124 -0.0981623 10.1275 -0.0543285 -0.02024 -0.479369 0.08 -0.5 pose: 0.0 -0.516724 0.0618879 0 0.00132482 -0.00921837 0.0146573 0.999849 uwb: 0.0 843.351 1063.93 -imu_odom_: 1691062586.426366165 0.826 -0.102951 9.80665 -0.0628506 -0.0245011 -0.496413 0.06 -0.5 pose: 0.48919832 -0.502882 0.0589945 0 0.000210724 -0.0128886 0.00307558 0.999912 uwb: 0.50181485 843.195 1063.03 -imu_odom_: 1691062586.442359647 0.797269 -0.222661 10.0533 -0.0511327 -0.00852212 -0.515588 0.06 -0.53 pose: 0.0 -0.502882 0.0589945 0 0.000210724 -0.0128886 0.00307558 0.999912 uwb: 0.0 843.195 1063.03 -imu_odom_: 1691062586.460370724 0.775721 -0.263362 9.80426 -0.0500674 -0.0138484 -0.534763 0.06 -0.53 pose: 0.68045865 -0.502882 0.0589945 0 0.00274355 -0.0189153 -0.0146052 0.999711 uwb: 0.0 843.195 1063.03 -imu_odom_: 1691062586.477359588 0.639252 -0.196325 9.60075 -0.0596548 0.0138484 -0.534763 0.06 -0.58 pose: 0.0 -0.502882 0.0589945 0 0.00274355 -0.0189153 -0.0146052 0.999711 uwb: 0.49751018 842.813 1062.08 -imu_odom_: 1691062586.491448924 0.797269 -0.0454898 10.1323 -0.0511327 0.00106526 -0.509196 0.06 -0.58 pose: 0.0 -0.502882 0.0589945 0 0.00274355 -0.0189153 -0.0146052 0.999711 uwb: 0.0 842.813 1062.08 -imu_odom_: 1691062586.507439198 0.708684 -0.383072 9.95509 -0.0681769 -0.00852212 -0.461259 0.06 -0.58 pose: 0.34048014 -0.502882 0.0589945 0 0.000351979 -0.018475 -0.024242 0.999535 uwb: 0.0 842.813 1062.08 -imu_odom_: 1691062586.522294392 0.435745 -0.462081 9.71328 -0.0490022 0.0138484 -0.423975 0.05 -0.5 pose: 0.40015931 -0.502882 0.0589945 0 0.000289361 -0.01746 -0.0349588 0.999236 uwb: 0.50033913 842.983 1061.53 -imu_odom_: 1691062586.538276208 0.622492 -0.237026 9.99579 -0.0447411 -0.00106526 -0.389887 0.05 -0.5 pose: 0.7075874 -0.502882 0.0589945 0 -0.000104644-0.0168482 -0.0365898 0.999188 uwb: 0.0 842.983 1061.53 -imu_odom_: 1691062586.554340559 0.617704 -0.141258 9.96227 -0.0628506 -0.0117179 -0.338754 0.05 -0.5 pose: 0.0 -0.502882 0.0589945 0 -0.000104644-0.0168482 -0.0365898 0.999188 uwb: 0.0 842.983 1061.53 -imu_odom_: 1691062586.571399126 0.579397 -0.280122 9.94791 -0.0617853 -0.0106526 -0.30147 0.04 -0.38 pose: 0.39825487 -0.498187 0.0620755 0 0.000472154 -0.0135777 -0.0448593 0.998901 uwb: 0.50247104 842.527 1060.29 -imu_odom_: 1691062586.588398198 0.545878 -0.40462 9.59835 -0.0617853 0.00426106 -0.271642 0.04 -0.38 pose: 0.0 -0.498187 0.0620755 0 0.000472154 -0.0135777 -0.0448593 0.998901 uwb: 0.0 842.527 1060.29 -imu_odom_: 1691062586.606405192 0.47884 -0.237026 9.96227 -0.0479369 0.00213053 -0.252468 0.04 -0.32 pose: 0.0 -0.498187 0.0620755 0 0.000472154 -0.0135777 -0.0448593 0.998901 uwb: 0.0 842.527 1060.29 -imu_odom_: 1691062586.623286439 0.565032 -0.158017 9.83777 -0.0575243 -0.0138484 -0.224771 0.03 -0.29 pose: 0.42121020 -0.494497 0.0644443 0 -0.0020496 -0.0106352 -0.0515511 0.998612 uwb: 0.49767059 842.557 1059.02 -imu_odom_: 1691062586.638337326 0.486023 -0.260968 9.87369 -0.0585895 -0.0117179 -0.20027 0.03 -0.26 pose: 0.0 -0.494497 0.0644443 0 -0.0020496 -0.0106352 -0.0515511 0.998612 uwb: 0.0 842.557 1059.02 -imu_odom_: 1691062586.655394143 0.672771 -0.328006 10.003 -0.0532632 -0.00958738 -0.190682 0.03 -0.26 pose: 0.32832441 -0.494497 0.0644444 0 -0.000505477-0.00874714 -0.0559607 0.998395 uwb: 0.0 842.557 1059.02 -imu_odom_: 1691062586.673295270 0.586579 -0.1652 9.75398 -0.0575243 -0.00958738 -0.170442 0.03 -0.23 pose: 0.0 -0.494497 0.0644444 0 -0.000505477-0.00874714 -0.0559607 0.998395 uwb: 0.49967709 842.568 1058.24 -imu_odom_: 1691062586.698391845 0.608127 -0.258574 9.91199 -0.0617853 -0.0106526 -0.143811 0.03 -0.23 pose: 0.33992893 -0.489019 0.0560785 0 -0.0013104 -0.0092919 -0.0598258 0.998165 uwb: 0.0 842.568 1058.24 -imu_odom_: 1691062586.715278925 0.457293 -0.237026 9.86411 -0.0617853 0.0170442 -0.129962 0.02 -0.17 pose: 0.35104932 -0.489024 0.0560736 0 -0.00275838 -0.0103209 -0.0631587 0.997946 uwb: 0.0 842.568 1058.24 -imu_odom_: 1691062586.732270122 -0.0885855 -0.344765 9.89524 -0.0479369 0.0490022 -0.18216 0.02 -0.17 pose: 0.6941718 -0.489019 0.0560785 0 -0.00264138 -0.00956538 -0.0637463 0.997917 uwb: 0.50103325 842.232 1057.74 -imu_odom_: 1691062586.749424348 -1.38145 0.263362 9.79228 -0.0181095 0.111853 -0.233293 0.02 -0.17 pose: 0.0 -0.489019 0.0560785 0 -0.00264138 -0.00956538 -0.0637463 0.997917 uwb: 0.0 842.232 1057.74 -imu_odom_: 1691062586.767417343 -1.54187 -0.227449 10.0652 -0.0639159 -0.00532632 -0.125701 0.07 -0.17 pose: 0.34005142 -0.489019 0.0560785 0 -0.00209772 -0.0052766 -0.0674264 0.997708 uwb: 0.0 842.232 1057.74 -imu_odom_: 1691062586.781387689 -0.430956 -0.593762 10.0772 -0.0873517 -0.129962 -0.092678 0.07 -0.17 pose: 0.0 -0.489019 0.0560785 0 -0.00209772 -0.0052766 -0.0674264 0.997708 uwb: 0.49947877 842.467 1057.96 -imu_odom_: 1691062586.798386468 0.471658 -0.37589 9.9096 -0.0532632 -0.0905475 -0.105461 0.07 -0.17 pose: 0.0 -0.489019 0.0560785 0 -0.00209772 -0.0052766 -0.0674264 0.997708 uwb: 0.0 842.467 1057.96 -imu_odom_: 1691062586.814256293 0.56982 -0.289698 9.68694 -0.0532632 0.00958738 -0.0841559 0.08 -0.11 pose: 0.49051072 -0.489019 0.0560785 0 -0.00288063 -0.00195482 -0.0717042 0.99742 uwb: 0.0 842.467 1057.96 -imu_odom_: 1691062586.831436184 0.0023942 -0.0814029 9.87608 -0.0649811 0.00319579 -0.072438 0.08 -0.11 pose: 0.0 -0.489019 0.0560785 0 -0.00288063 -0.00195482 -0.0717042 0.99742 uwb: 0.50072119 841.865 1056.93 -imu_odom_: 1691062586.848385092 0.21069 -0.356736 10.0317 -0.0575243 0.0127832 -0.0841559 0.1 -0.11 pose: 0.43046407 -0.480635 0.0615292 0 -0.00331857 -0.00248347 -0.0743676 0.997222 uwb: 0.0 841.865 1056.93 -imu_odom_: 1691062586.863383484 -0.0023942 -0.3304 9.92397 -0.0607201 0.015979 -0.102265 0.1 -0.11 pose: 0.0 -0.480635 0.0615292 0 -0.00331857 -0.00248347 -0.0743676 0.997222 uwb: 0.0 841.865 1056.93 -imu_odom_: 1691062586.879384257 0.035913 0.0790087 9.93833 -0.0575243 -0.0127832 -0.0777643 0.1 -0.11 pose: 0.0 -0.480635 0.0615292 0 -0.00331857 -0.00248347 -0.0743676 0.997222 uwb: 0.50048787 841.205 1056.08 -imu_odom_: 1691062586.894446518 0.414197 -0.323217 9.9096 -0.0585895 0.00426106 -0.0607201 0.11 -0.11 pose: 0.47948073 -0.475153 0.0531654 0 -0.00258248 0.00190151 -0.077394 0.996995 uwb: 0.0 841.205 1056.08 -imu_odom_: 1691062586.911381428 0.390255 -0.117316 10.3501 -0.0490022 0.0223706 -0.0873517 0.11 -0.11 pose: 0.0 -0.475153 0.0531654 0 -0.00258248 0.00190151 -0.077394 0.996995 uwb: 0.0 841.205 1056.08 -imu_odom_: 1691062586.925432267 0.105345 -0.102951 9.5792 -0.0596548 -0.00745685 -0.0639159 0.11 -0.11 pose: 0.0 -0.475153 0.0531654 0 -0.00258248 0.00190151 -0.077394 0.996995 uwb: 0.49802930 841.314 1055.88 -imu_odom_: 1691062586.941299758 0.337582 -0.380678 9.63427 -0.072438 0.0127832 -0.0553937 0.12 -0.14 pose: 0.46048010 -0.470645 0.0561243 0 -0.00135253 0.00231952 -0.0799444 0.996796 uwb: 0.0 841.314 1055.88 -imu_odom_: 1691062586.956370186 0.328006 -0.0861913 9.78031 -0.0660464 -0.00745685 -0.0671117 0.13 -0.08 pose: 0.6831476 -0.466791 0.0586488 0 -0.00206956 0.00255146 -0.0802689 0.996768 uwb: 0.0 841.314 1055.88 -imu_odom_: 1691062586.973389672 0.4956 -0.265756 9.42597 -0.0511327 -0.0458064 -0.0628506 0.13 -0.08 pose: 0.0 -0.466791 0.0586488 0 -0.00206956 0.00255146 -0.0802689 0.996768 uwb: 0.50196359 841.602 1055.63 -imu_odom_: 1691062586.987425346 0.80924 -0.023942 9.89763 -0.0532632 -0.00852212 -0.056459 0.13 -0.08 pose: 0.16176926 -0.466791 0.0586488 0 -0.00234461 0.00288311 -0.0810755 0.996701 uwb: 0.0 841.602 1055.63 -imu_odom_: 1691062587.3310919 1.07739 -0.325611 9.68455 -0.0553937 0.0511327 -0.0298274 0.13 -0.11 pose: 0.0 -0.466791 0.0586488 0 -0.00234461 0.00288311 -0.0810755 0.996701 uwb: 0.0 841.602 1055.63 -imu_odom_: 1691062587.18240193 1.04866 -0.442927 9.88566 -0.076699 0.0340885 -0.0106526 0.13 -0.11 pose: 0.0 -0.466791 0.0586488 0 -0.00234461 0.00288311 -0.0810755 0.996701 uwb: 0.0 841.602 1055.63 -imu_odom_: 1691062587.35324719 0.730232 -0.325611 9.78989 -0.056459 0.00852212 -0.0138484 0.09 -0.11 pose: 0.69799524 -0.461357 0.0502541 0 -0.0023592 -0.00262814 -0.0839677 0.996462 uwb: 0.49787768 841.243 1054.66 -imu_odom_: 1691062587.58294336 1.66397 0.148441 9.86172 -0.0351537 -0.0287621 -0.0415453 0.09 -0.11 pose: 0.0 -0.461357 0.0502541 0 -0.0023592 -0.00262814 -0.0839677 0.996462 uwb: 0.0 841.243 1054.66 -imu_odom_: 1691062587.74237366 1.01993 -0.0335188 9.93594 -0.0585895 0.00852212 -0.00852212 0.09 -0.11 pose: 0.0 -0.461357 0.0502541 0 -0.0023592 -0.00262814 -0.0839677 0.996462 uwb: 0.50085833 841.589 1055.01 -imu_odom_: 1691062587.92296859 1.23301 -0.426168 10.2783 -0.0532632 -0.0127832 0.015979 0.1 0 pose: 0.7128372 -0.461357 0.0502541 0 -0.00259324 -0.00325729 -0.0841583 0.996444 uwb: 0.0 841.589 1055.01 -imu_odom_: 1691062587.109235563 0.950498 -0.500388 9.52653 -0.0553937 -0.00426106 0.00213053 0.07 0.05 pose: 0.0 -0.461357 0.0502541 0 -0.00259324 -0.00325729 -0.0841583 0.996444 uwb: 0.0 841.589 1055.01 -imu_odom_: 1691062587.126329129 0.167594 0.0167594 9.74919 -0.0415453 0.0660464 0.0894822 0.07 0.05 pose: 0.74941222 -0.453 0.0557469 0 -0.00279228 -0.0104443 -0.0861004 0.996228 uwb: 0.49780482 841.64 1055.3 -imu_odom_: 1691062587.143440778 0.0861913 -0.54109 10.1275 -0.076699 0 0.248207 0.07 0.23 pose: 0.0 -0.453 0.0557469 0 -0.00279228 -0.0104443 -0.0861004 0.996228 uwb: 0.0 841.64 1055.3 -imu_odom_: 1691062587.160303946 0.409408 -0.869095 9.991 -0.0532632 -0.0276969 0.3036 0.07 0.23 pose: 0.0 -0.453 0.0557469 0 -0.00279228 -0.0104443 -0.0861004 0.996228 uwb: 0.0 841.64 1055.3 -imu_odom_: 1691062587.175238470 0.833182 -0.344765 9.98622 -0.0255663 -0.0319579 0.311057 0.07 0.23 pose: 0.33041555 -0.453 0.0557469 0 -0.0025796 -0.00849751 -0.0851129 0.996332 uwb: 0.50205116 841.531 1054.26 -imu_odom_: 1691062587.191238662 0.952892 0.0981623 9.72525 -0.0468716 -0.00852212 0.381365 0.04 0.32 pose: 0.41887128 -0.44753 0.0473741 0 -0.0049316 -0.00887319 -0.0798068 0.996759 uwb: 0.0 841.531 1054.26 -imu_odom_: 1691062587.206243763 0.878672 -0.196325 10.0389 -0.0649811 -0.00426106 0.44315 0.04 0.32 pose: 0.7126621 -0.447524 0.04738 0 -0.00443559 -0.00941486 -0.0785991 0.996852 uwb: 0.0 841.531 1054.26 -imu_odom_: 1691062587.223238463 0.751779 -0.526724 9.87608 -0.0532632 0.0127832 0.460194 0.04 0.32 pose: 0.0 -0.447524 0.04738 0 -0.00443559 -0.00941486 -0.0785991 0.996852 uwb: 0.50005340 841.391 1054 -imu_odom_: 1691062587.237403337 0.397437 -0.246603 9.77074 -0.0436758 0.0213053 0.485761 0.03 0.44 pose: 0.40873372 -0.44753 0.0473744 0 -0.00522145 -0.0119806 -0.0705032 0.997426 uwb: 0.0 841.391 1054 -imu_odom_: 1691062587.254221592 0.351948 -0.141258 9.991 -0.0479369 0.0117179 0.536893 0.03 0.44 pose: 0.0 -0.44753 0.0473744 0 -0.00522145 -0.0119806 -0.0705032 0.997426 uwb: 0.0 841.391 1054 -imu_odom_: 1691062587.268232186 0.418985 -0.332794 9.81862 -0.0500674 -0.00532632 0.557133 0.03 0.44 pose: 0.0 -0.44753 0.0473744 0 -0.00522145 -0.0119806 -0.0705032 0.997426 uwb: 0.0 841.391 1054 -imu_odom_: 1691062587.284232961 0.469264 -0.241814 10.0173 -0.0426106 0.00106526 0.540089 0.03 0.44 pose: 0.44993723 -0.43912 0.0527842 0 -0.00416714 -0.00753121 -0.0595542 0.998188 uwb: 0.49901514 841.726 1053.57 -imu_odom_: 1691062587.301230285 0.308852 -0.153229 9.82341 -0.0436758 0.0127832 0.525175 0.05 0.67 pose: 0.0 -0.43912 0.0527842 0 -0.00416714 -0.00753121 -0.0595542 0.998188 uwb: 0.0 841.726 1053.57 -imu_odom_: 1691062587.318227901 0.196325 -0.114922 9.65582 -0.0543285 0 0.518784 0.05 0.67 pose: 0.0 -0.43912 0.0527842 0 -0.00416714 -0.00753121 -0.0595542 0.998188 uwb: 0.0 841.726 1053.57 -imu_odom_: 1691062587.335294053 0.457293 -0.361524 9.9503 -0.0553937 -0.00745685 0.50387 0.05 0.67 pose: 0.23012489 -0.439113 0.0527902 0 -0.00285926 -0.00545164 -0.053858 0.99853 uwb: 0.50015255 841.703 1053.58 -imu_odom_: 1691062587.351338284 0.577003 -0.198719 9.9503 -0.056459 -0.015979 0.467651 0.05 0.67 pose: 0.0 -0.439113 0.0527902 0 -0.00285926 -0.00545164 -0.053858 0.99853 uwb: 0.0 841.703 1053.58 -imu_odom_: 1691062587.369337990 0.708684 0.011971 9.9096 -0.0447411 0.00106526 0.430367 0.05 0.67 pose: 0.34064059 -0.439113 0.0527902 0 -0.00219973 -0.00291042 -0.0457263 0.998947 uwb: 0.0 841.703 1053.58 -imu_odom_: 1691062587.384378672 0.708684 -0.191536 9.7851 -0.0543285 0.00106526 0.410127 0.03 0.35 pose: 0.44029256 -0.439113 0.0527902 0 -0.000962725-0.00543022 -0.0364766 0.999319 uwb: 0.49994549 841.813 1053.24 -imu_odom_: 1691062587.402323257 0.550666 -0.23942 9.93594 -0.0426106 0.00319579 0.367516 0.03 0.35 pose: 0.6953384 -0.439113 0.0527902 0 -0.000861026-0.00609837 -0.0351902 0.999362 uwb: 0.0 841.813 1053.24 -imu_odom_: 1691062587.426217970 0.486023 -0.0861913 9.75158 -0.0553937 -0.00639159 0.334493 0.02 0.32 pose: 0.0 -0.439113 0.0527902 0 -0.000861026-0.00609837 -0.0351902 0.999362 uwb: 0.0 841.813 1053.24 -imu_odom_: 1691062587.443223168 0.531513 -0.186748 10.0197 -0.0511327 0.0181095 0.333428 0.03 0.38 pose: 0.33112424 -0.439113 0.0527902 0 -0.00142195 -0.00764422 -0.0297045 0.999528 uwb: 0.0 841.813 1053.24 -imu_odom_: 1691062587.460215243 -0.153229 -0.318429 9.9527 -0.072438 0.0617853 0.378169 0.04 0.23 pose: 0.0 -0.439113 0.0527902 0 -0.00142195 -0.00764422 -0.0297045 0.999528 uwb: 0.0 841.813 1053.24 -imu_odom_: 1691062587.477210234 -0.993594 -0.442927 10.0652 -0.0607201 0.0575243 0.379234 0.04 0.23 pose: 0.41819758 -0.439113 0.0527902 0 0.00147242 -0.0050738 -0.0233971 0.999712 uwb: 0.100034886 841.811 1052.93 -imu_odom_: 1691062587.494214266 -0.914585 -0.222661 9.94312 -0.0458064 -0.0628506 0.328101 0.06 0.26 pose: 0.0 -0.439113 0.0527902 0 0.00147242 -0.0050738 -0.0233971 0.999712 uwb: 0.0 841.811 1052.93 -imu_odom_: 1691062587.511281876 -0.0670376 0.011971 9.81383 -0.0436758 -0.0820254 0.304666 0.06 0.26 pose: 0.0 -0.439113 0.0527902 0 0.00147242 -0.0050738 -0.0233971 0.999712 uwb: 0.0 841.811 1052.93 -imu_odom_: 1691062587.527272153 0.629675 -0.023942 10.1873 -0.052198 -0.0351537 0.312122 0.06 0.26 pose: 0.33998731 -0.439113 0.0527902 0 0.000966406 -0.00112152 -0.0178362 0.99984 uwb: 0.49999507 842.013 1052.55 -imu_odom_: 1691062587.545209446 0.476446 -0.237026 10.0197 -0.0639159 0.0127832 0.3036 0.1 0.32 pose: 0.42049866 -0.43222 0.0512695 0 0.00267564 -0.00119898 -0.0120997 0.999922 uwb: 0.0 842.013 1052.55 -imu_odom_: 1691062587.562262475 0.117316 -0.519542 9.80665 -0.0649811 0.00426106 0.289752 0.1 0.32 pose: 0.7996596 -0.425276 0.0498722 0 0.00196878 -0.00156769 -0.011042 0.999936 uwb: 0.0 842.013 1052.55 -imu_odom_: 1691062587.576263736 -0.325611 -0.215478 9.66779 -0.0692422 0.0245011 0.299339 0.1 0.32 pose: 0.0 -0.425276 0.0498722 0 0.00196878 -0.00156769 -0.011042 0.999936 uwb: 0.50087874 842.102 1051.91 -imu_odom_: 1691062587.592260137 0.00718261 -0.0790087 10.343 -0.0585895 -0.0170442 0.290817 0.09 0.2 pose: 0.40994987 -0.425283 0.0498662 0 -0.0002739780.000862823 -0.00577464 0.999983 uwb: 0.0 842.102 1051.91 -imu_odom_: 1691062587.607239282 0.373495 -0.234632 9.88566 -0.0436758 -0.0319579 0.26099 0.1 0.23 pose: 0.0 -0.425283 0.0498662 0 -0.0002739780.000862823 -0.00577464 0.999983 uwb: 0.0 842.102 1051.91 -imu_odom_: 1691062587.623307428 0.550666 -0.28491 10.058 -0.0500674 0.00319579 0.266316 0.1 0.23 pose: 0.0 -0.425283 0.0498662 0 -0.0002739780.000862823 -0.00577464 0.999983 uwb: 0.49742860 842.533 1052.38 -imu_odom_: 1691062587.638383691 0.275333 -0.438139 9.76834 -0.0681769 0.0298274 0.266316 0.1 0.23 pose: 0.23002865 -0.425276 0.0498722 0 -0.0002964120.00181163 -0.00299003 0.999994 uwb: 0.0 842.533 1052.38 -imu_odom_: 1691062587.655274273 0.0383072 -0.1652 10.1418 -0.0511327 0.0255663 0.225836 0.11 0.23 pose: 0.0 -0.425276 0.0498722 0 -0.0002964120.00181163 -0.00299003 0.999994 uwb: 0.0 842.533 1052.38 -imu_odom_: 1691062587.669262119 0.35913 -0.107739 9.75877 -0.0543285 -0.00639159 0.24288 0.11 0.23 pose: 0.0 -0.425276 0.0498722 0 -0.0002964120.00181163 -0.00299003 0.999994 uwb: 0.0 842.533 1052.38 -imu_odom_: 1691062587.685199899 0.562637 -0.306458 10.1418 -0.072438 -0.0298274 0.253533 0.11 0.17 pose: 0.31036208 -0.425276 0.0498722 0 -0.00198445 0.000333449 0.000503933 0.999998 uwb: 0.50098083 842.532 1052.23 -imu_odom_: 1691062587.701203008 0.682347 -0.574608 9.75398 -0.0351537 -0.0394148 0.186421 0.11 0.17 pose: 0.38959310 -0.416924 0.0553548 0 -0.0007820560.00269476 0.00442322 0.999986 uwb: 0.0 842.532 1052.23 -imu_odom_: 1691062587.718218997 1.06063 -0.172383 10.0221 -0.04048 -0.0543285 0.218379 0.11 0.17 pose: 0.0 -0.416924 0.0553548 0 -0.0007820560.00269476 0.00442322 0.999986 uwb: 0.0 842.532 1052.23 -imu_odom_: 1691062587.735324813 1.29287 -0.380678 9.92636 -0.0681769 0.0245011 0.308927 0.1 0.11 pose: 0.6947552 -0.416917 0.0553609 0 -0.0010703 0.00195024 0.00516554 0.999984 uwb: 0.49997173 842.283 1051.7 -imu_odom_: 1691062587.752267308 1.47243 -0.68953 10.1778 -0.0585895 -0.0468716 0.32384 0.1 0.11 pose: 0.0 -0.416917 0.0553609 0 -0.0010703 0.00195024 0.00516554 0.999984 uwb: 0.0 842.283 1051.7 -imu_odom_: 1691062587.768259626 1.32399 -0.337582 9.67018 -0.036219 -0.0298274 0.233293 0.1 0.11 pose: 0.0 -0.416917 0.0553609 0 -0.0010703 0.00195024 0.00516554 0.999984 uwb: 0.0 842.283 1051.7 -imu_odom_: 1691062587.786401654 1.4461 0.426168 10.1059 -0.0479369 0.0213053 0.168312 0.1 0.11 pose: 0.49000041 -0.411434 0.046998 0 -0.00223008 -0.00306755 0.00975637 0.999945 uwb: 0.50000965 842.419 1051.35 -imu_odom_: 1691062587.803401603 0.826 -0.0454898 9.60075 -0.0649811 0.0319579 0.143811 0.06 0.08 pose: 0.0 -0.411434 0.046998 0 -0.00223008 -0.00306755 0.00975637 0.999945 uwb: 0.0 842.419 1051.35 -imu_odom_: 1691062587.819333842 0.521936 -0.399832 10.1873 -0.056459 0.02024 0.0980043 0.06 0.08 pose: 0.68204239 -0.403067 0.0524743 0 -0.00146064 -0.00922081 0.016583 0.999819 uwb: 0.49878183 842.761 1050.94 -imu_odom_: 1691062587.836469989 0.64404 -0.296881 9.84256 -0.0511327 -0.0319579 0.0798948 0.06 0.08 pose: 0.0 -0.403067 0.0524743 0 -0.00146064 -0.00922081 0.016583 0.999819 uwb: 0.0 842.761 1050.94 -imu_odom_: 1691062587.853271911 0.837971 -0.102951 9.86411 -0.0511327 -0.00532632 0.104396 0.06 0.05 pose: 0.0 -0.403067 0.0524743 0 -0.00146064 -0.00922081 0.016583 0.999819 uwb: 0.0 842.761 1050.94 -imu_odom_: 1691062587.870176784 0.646434 -0.205901 9.98143 -0.0617853 0.00319579 0.129962 0.06 0.05 pose: 0.33011806 -0.403067 0.0524743 0 -0.00263116 -0.00968746 0.0177198 0.999793 uwb: 0.49989591 843.124 1050.82 -imu_odom_: 1691062587.887191024 0.670376 -0.282516 9.86411 -0.0490022 -0.00639159 0.107592 0.04 0.08 pose: 0.43751027 -0.403067 0.0524743 0 -0.000341696-0.0121606 0.019196 0.999742 uwb: 0.0 843.124 1050.82 -imu_odom_: 1691062587.904183390 0.732626 -0.143652 9.90721 -0.0490022 -0.0117179 0.103331 0.04 0.08 pose: 0.8134253 -0.403067 0.0524743 0 -0.00102894 -0.0125658 0.0194812 0.999731 uwb: 0.0 843.124 1050.82 -imu_odom_: 1691062587.920182707 0.600945 -0.162806 9.82341 -0.0553937 0.0138484 0.110787 0.04 0.08 pose: 0.0 -0.403067 0.0524743 0 -0.00102894 -0.0125658 0.0194812 0.999731 uwb: 0.50170702 843.827 1050.59 -imu_odom_: 1691062587.947183141 0.407014 -0.232238 9.83538 -0.0532632 0.00106526 0.123571 0.05 0.11 pose: 0.41871670 -0.403067 0.0524743 0 0.000698746 -0.0126181 0.0208704 0.999702 uwb: 0.0 843.827 1050.59 -imu_odom_: 1691062587.972290219 -0.430956 -0.289698 9.65103 -0.0543285 0.0745685 0.128897 0.04 0.08 pose: 0.0 -0.403067 0.0524743 0 0.000698746 -0.011783 0.0212159 0.999705 uwb: 0.50105665 843.812 1049.84 -imu_odom_: 1691062587.997192272 -1.1133 -0.296881 9.87848 -0.0532632 -0.0255663 0.125701 0.07 0.08 pose: 0.18796187 -0.403067 0.0524743 0 0.000365797 -0.00986978 0.0220075 0.999709 uwb: 0.0 843.812 1049.84 -imu_odom_: 1691062588.19340037 -0.158017 -0.227449 9.83777 -0.0575243 -0.0511327 0.113983 0.07 0.08 pose: 0.32014383 -0.389207 0.0496617 0 5.72217e-05 -0.00576569 0.0234286 0.999709 uwb: 0.49982886 843.684 1049.28 -imu_odom_: 1691062588.36165002 0.483629 -0.0742203 10.1035 -0.0479369 -0.0426106 0.108657 0.07 0.08 pose: 0.0 -0.389207 0.0496617 0 5.72217e-05 -0.00576569 0.0234286 0.999709 uwb: 0.0 843.684 1049.28 -imu_odom_: 1691062588.61166218 0.363919 0.0454898 9.95748 -0.0713727 0.0181095 0.11931 0.09 0.05 pose: 0.46977783 -0.389207 0.0496617 0 0.000543439 -0.00272388 0.0252629 0.999677 uwb: 0.0 843.684 1049.28 -imu_odom_: 1691062588.83153580 -0.110133 -0.368707 9.90481 -0.0639159 0.0319579 0.0873517 0.1 0.05 pose: 0.0 -0.389207 0.0496617 0 0.000543439 -0.00272388 0.0252629 0.999677 uwb: 0.49744909 843.434 1049.36 -imu_odom_: 1691062588.97151636 0.0670376 -0.158017 10.2855 -0.0649811 -0.0255663 0.0916127 0.1 0.05 pose: 0.34990911 -0.389207 0.0496617 0 0.00362098 -0.00176831 0.0265928 0.999638 uwb: 0.0 843.434 1049.36 -imu_odom_: 1691062588.114262704 0.447716 -0.143652 10.1155 -0.072438 -0.0255663 0.120375 0.1 0.05 pose: 0.0 -0.389207 0.0496617 0 0.00362098 -0.00176831 0.0265928 0.999638 uwb: 0.0 843.434 1049.36 -imu_odom_: 1691062588.139150178 0.268151 -0.222661 10.058 -0.072438 0.00745685 0.0894822 0.12 0.02 pose: 0.6018957 -0.389207 0.0496617 0 0.00335023 -0.00110935 0.0267354 0.999636 uwb: 0.50107131 843.133 1048.56 -imu_odom_: 1691062588.166202237 0.0814029 -0.395043 9.62708 -0.0468716 -0.0340885 0.0852212 0.12 0.02 pose: 0.0 -0.389207 0.0496617 0 0.00335023 -0.00110935 0.0267354 0.999636 uwb: 0.0 843.133 1048.56 -imu_odom_: 1691062588.191210744 0.620098 0.0023942 9.9503 -0.0617853 -0.00319579 0.0948085 0.13 0.05 pose: 0.53985710 -0.380861 0.0551709 0 0.00246813 0.0006963 0.0283399 0.999595 uwb: 0.50054635 842.972 1047.71 -imu_odom_: 1691062588.216173171 0.304064 -0.349553 10.4651 -0.056459 -0.00639159 0.0681769 0.17 0.02 pose: 0.53081904 -0.375313 0.0468515 0 0.00039097 0.00347134 0.0296172 0.999555 uwb: 0.0 842.972 1047.71 -imu_odom_: 1691062588.241285211 -0.134075 -0.217872 9.56484 -0.0553937 -0.015979 0.0798948 0.17 0.02 pose: 0.0 -0.375313 0.0468515 0 0.00039097 0.00347134 0.0296172 0.999555 uwb: 0.49807613 843.273 1047.47 -imu_odom_: 1691062588.265274712 0.758962 -0.363919 9.81862 -0.0660464 -0.0117179 0.0735032 0.14 0.02 pose: 0.67032422 -0.366999 0.0524088 0 -0.0010232 0.00520195 0.0309487 0.999507 uwb: 0.0 843.273 1047.47 -imu_odom_: 1691062588.282200878 0.512359 -0.31364 10.2376 -0.0543285 0.0436758 0.052198 0.14 0.02 pose: 0.0 -0.366999 0.0524088 0 -0.0010232 0.00520195 0.0309487 0.999507 uwb: 0.50012347 843.273 1046.72 -imu_odom_: 1691062588.298139535 0.713472 -0.234632 10.2735 -0.0532632 0.015979 0.0617853 0.14 0.02 pose: 0.0 -0.366999 0.0524088 0 -0.0010232 0.00520195 0.0309487 0.999507 uwb: 0.0 843.273 1046.72 -imu_odom_: 1691062588.316165200 -0.138864 -0.105345 10.4315 -0.0596548 0.036219 0.0756338 0.14 0.05 pose: 0.6994216 -0.366999 0.0524088 0 -0.00123294 0.00449733 0.0310659 0.999506 uwb: 0.0 843.273 1046.72 -imu_odom_: 1691062588.340292649 0.0263362 -0.316035 9.80665 -0.0575243 -0.00532632 0.0585895 0.14 0.05 pose: 0.0 -0.366999 0.0524088 0 -0.00123294 0.00449733 0.0310659 0.999506 uwb: 0.49980557 843.076 1045.89 -imu_odom_: 1691062588.366135259 0.160412 -0.143652 9.89524 -0.0543285 -0.0500674 0.0735032 0.15 0.02 pose: 0.41871968 -0.353143 0.0495576 0 -0.00222577 0.000883822 0.031539 0.9995 uwb: 0.0 843.076 1045.89 -imu_odom_: 1691062588.390155966 0.639252 -0.335188 9.81623 -0.0553937 -0.00213053 0.0426106 0.17 0.02 pose: 0.33018229 -0.353143 0.0495576 0 -0.00191698 0.00296081 0.0320208 0.999481 uwb: 0.50143879 843.081 1044.7 -imu_odom_: 1691062588.416151980 0.354342 -0.124498 9.91918 -0.0575243 0.00213053 0.0660464 0.17 0.02 pose: 0.42965635 -0.3448 0.0550716 0 -0.0008148780.00614135 0.0326362 0.999448 uwb: 0.0 843.081 1044.7 -imu_odom_: 1691062588.432418738 0.248997 -0.634463 9.76355 -0.072438 0.0191748 0.076699 0.17 0.02 pose: 0.0 -0.3448 0.0550716 0 -0.0008148780.00614135 0.0326362 0.999448 uwb: 0.50126380 842.758 1044.35 -imu_odom_: 1691062588.459138614 0.435745 -0.251391 9.61511 -0.0490022 -0.0149137 0.0617853 0.15 0 pose: 0.8066300 -0.3448 0.0550716 0 -0.00102557 0.00537095 0.0326466 0.999452 uwb: 0.0 842.758 1044.35 -imu_odom_: 1691062588.483148238 0.0837971 -0.502782 9.50259 -0.0426106 0.0308927 0.0500674 0.17 0 pose: 0.48126866 -0.33094 0.0522606 0 0.000412184 0.00358409 0.0331327 0.999444 uwb: 0.49709036 842.657 1043.63 -imu_odom_: 1691062588.509198207 0.768539 -0.0263362 10.0293 -0.036219 0.0245011 0.0351537 0.17 0 pose: 0.0 -0.33094 0.0522606 0 0.000412184 0.00358409 0.0331327 0.999444 uwb: 0.0 842.657 1043.63 -imu_odom_: 1691062588.523146392 0.0885855 -0.282516 9.49062 -0.0617853 0.00319579 0.0820254 0.18 0.02 pose: 0.44826327 -0.33094 0.0522606 0 -0.00164946 0.00183148 0.033651 0.999431 uwb: 0.50120256 842.5 1042.79 -imu_odom_: 1691062588.546216046 0.3304 -0.0909797 9.98143 -0.0458064 0.00319579 0.0468716 0.18 0.02 pose: 0.0 -0.33094 0.0522606 0 -0.00164946 0.00183148 0.033651 0.999431 uwb: 0.0 842.5 1042.79 -imu_odom_: 1691062588.564188632 0.746991 0.0694318 9.73482 -0.0479369 -0.0245011 0.0511327 0.21 0.02 pose: 0.47994167 -0.322616 0.0578018 0 -0.00123017 0.00202138 0.0338002 0.999426 uwb: 0.0 842.5 1042.79 -imu_odom_: 1691062588.580194368 0.80924 -0.306458 10.0556 -0.072438 -0.0234358 0.076699 0.21 0.02 pose: 0.0 -0.322616 0.0578018 0 -0.00123017 0.00202138 0.0338002 0.999426 uwb: 0.50006805 842.559 1042.19 -imu_odom_: 1691062588.598184744 1.53708 -0.323217 9.97903 -0.0713727 -0.0862864 0.0308927 0.21 0.02 pose: 0.0 -0.322616 0.0578018 0 -0.00123017 0.00202138 0.0338002 0.999426 uwb: 0.0 842.559 1042.19 -imu_odom_: 1691062588.616185911 1.37188 0.0837971 9.42837 -0.0703074 -0.0308927 -0.092678 0.12 -0.23 pose: 0.39104847 -0.308749 0.0550253 0 0.00146939 0.00250599 0.0341093 0.999414 uwb: 0.0 842.559 1042.19 -imu_odom_: 1691062588.630124763 1.66158 0.167594 10.3286 -0.0756338 -0.00319579 -0.157659 0.12 -0.23 pose: 0.0 -0.308749 0.0550253 0 0.00146939 0.00250599 0.0341093 0.999414 uwb: 0.49872066 842.538 1041.46 -imu_odom_: 1691062588.647241955 1.03669 0.0047884 9.68933 -0.0575243 -0.00852212 -0.259925 0.12 -0.23 pose: 0.0 -0.308749 0.0550253 0 0.00146939 0.00250599 0.0341093 0.999414 uwb: 0.0 842.538 1041.46 -imu_odom_: 1691062588.664249198 1.04148 -0.011971 9.50977 -0.0575243 0.0330232 -0.365386 0.1 -0.38 pose: 0.51936616 -0.308749 0.0550254 0 0.0014562 -0.00351672 0.0338627 0.999419 uwb: 0.0 842.538 1041.46 -imu_odom_: 1691062588.681180613 0.792481 -0.169988 9.80904 -0.0703074 0.0117179 -0.399474 0.14 -0.58 pose: 0.0 -0.308749 0.0550254 0 0.0014562 -0.00351672 0.0338627 0.999419 uwb: 0.50102465 842.466 1041.18 -imu_odom_: 1691062588.698182606 0.577003 -0.361524 10.0509 -0.0543285 -0.00319579 -0.430367 0.14 -0.58 pose: 0.65063823 -0.300483 0.060653 0 0.0031399 -0.00946664 0.0242872 0.999655 uwb: 0.0 842.466 1041.18 -imu_odom_: 1691062588.713174295 0.567426 -0.416591 9.81623 -0.0575243 0.0181095 -0.460194 0.14 -0.58 pose: 0.0 -0.300483 0.060653 0 0.0031399 -0.00946664 0.0242872 0.999655 uwb: 0.0 842.466 1041.18 -imu_odom_: 1691062588.730127583 0.545878 -0.136469 9.84735 -0.052198 0.0149137 -0.468716 0.08 -0.5 pose: 0.0 -0.300483 0.060653 0 0.0031399 -0.00946664 0.0242872 0.999655 uwb: 0.49888398 842.428 1040.75 -imu_odom_: 1691062588.744231798 0.950498 0.0742203 9.88805 -0.052198 0.00106526 -0.464455 0.08 -0.5 pose: 0.33964614 -0.294849 0.0523914 0 0.000725851 -0.00994555 0.0163837 0.999816 uwb: 0.0 842.428 1040.75 -imu_odom_: 1691062588.760292363 0.811634 -0.208296 10.0892 -0.0553937 0.00852212 -0.472977 0.06 -0.5 pose: 0.39012979 -0.290438 0.055392 0 0.00234081 -0.00983401 0.00652255 0.999928 uwb: 0.0 842.428 1040.75 -imu_odom_: 1691062588.774129723 0.751779 -0.150835 9.95509 -0.0575243 -0.0298274 -0.510262 0.06 -0.5 pose: 0.7058669 -0.286569 0.0579995 0 0.00223467 -0.0104801 0.00471665 0.999931 uwb: 0.50131338 842.425 1040.16 -imu_odom_: 1691062588.790317444 0.778116 -0.0550666 10.07 -0.056459 -0.0436758 -0.533697 0.06 -0.5 pose: 0.0 -0.286569 0.0579995 0 0.00223467 -0.0104801 0.00471665 0.999931 uwb: 0.0 842.425 1040.16 -imu_odom_: 1691062588.807318854 0.667982 -0.0383072 9.89284 -0.0607201 -0.0287621 -0.526241 0.07 -0.79 pose: 0.39026977 -0.286578 0.0579933 0 0.00353511 -0.014326 -0.00604239 0.999873 uwb: 0.0 842.425 1040.16 -imu_odom_: 1691062588.825133369 0.677559 -0.225055 9.71328 -0.0617853 -0.0394148 -0.536893 0.07 -0.79 pose: 0.0 -0.286578 0.0579933 0 0.00353511 -0.014326 -0.00604239 0.999873 uwb: 0.50116756 842.055 1039.38 -imu_odom_: 1691062588.839330034 0.699107 -0.155623 10.0748 -0.056459 -0.0138484 -0.550742 0.07 -0.79 pose: 0.0 -0.286578 0.0579933 0 0.00353511 -0.014326 -0.00604239 0.999873 uwb: 0.0 842.055 1039.38 -imu_odom_: 1691062588.857161173 0.888249 -0.186748 10.1682 -0.0671117 -0.00852212 -0.498544 0.04 -0.5 pose: 0.41098528 -0.286569 0.0579996 0 0.00292233 -0.0148493 -0.0178334 0.999726 uwb: 0.0 842.055 1039.38 -imu_odom_: 1691062588.873114704 0.56982 -0.383072 9.80426 -0.0575243 -0.0117179 -0.454868 0.04 -0.44 pose: 0.0 -0.286569 0.0579996 0 0.00292233 -0.0148493 -0.0178334 0.999726 uwb: 0.49860400 842.06 1038.5 -imu_odom_: 1691062588.891442221 0.579397 -0.263362 10.0724 -0.0585895 0.00213053 -0.413323 0.04 -0.44 pose: 0.32693628 -0.286569 0.0579996 0 0.00140859 -0.0165765 -0.0266549 0.999506 uwb: 0.0 842.06 1038.5 -imu_odom_: 1691062588.909284442 0.54109 -0.246603 9.7444 -0.0628506 0.015979 -0.358994 0.04 -0.41 pose: 0.0 -0.286569 0.0579996 0 0.00140859 -0.0165765 -0.0266549 0.999506 uwb: 0.0 842.06 1038.5 -imu_odom_: 1691062588.925269179 0.572214 -0.339977 10.0533 -0.0617853 0.00213053 -0.329167 0.04 -0.41 pose: 0.0 -0.286569 0.0579996 0 0.00140859 -0.0165765 -0.0266549 0.999506 uwb: 0.50001264 841.707 1037.86 -imu_odom_: 1691062588.943382629 0.464475 -0.251391 9.87848 -0.056459 0.00106526 -0.319579 0.04 -0.41 pose: 0.35287513 -0.286569 0.0579996 0 -0.000219307-0.0134735 -0.0345897 0.999311 uwb: 0.0 841.707 1037.86 -imu_odom_: 1691062588.960144307 0.545878 -0.141258 9.96467 -0.0649811 -0.0191748 -0.275903 0.03 -0.32 pose: 0.33879163 -0.286569 0.0579996 0 -0.00181904 -0.010648 -0.0409205 0.999104 uwb: 0.0 841.707 1037.86 -imu_odom_: 1691062588.974146154 0.608127 -0.299275 9.78989 -0.0671117 -0.00958738 -0.239684 0.03 -0.32 pose: 0.0 -0.286569 0.0579996 0 -0.00181904 -0.010648 -0.0409205 0.999104 uwb: 0.49867692 841.613 1037.15 -imu_odom_: 1691062588.991211143 0.629675 -0.433351 9.9527 -0.0596548 -0.00213053 -0.207727 0.03 -0.32 pose: 0.0 -0.286569 0.0579996 0 -0.00181904 -0.010648 -0.0409205 0.999104 uwb: 0.0 841.613 1037.15 -imu_odom_: 1691062589.4146446 0.557849 -0.299275 9.91918 -0.0628506 -0.00639159 -0.183225 0.03 -0.23 pose: 0.32875906 -0.286569 0.0579996 0 -0.000946429-0.00926681 -0.0462211 0.998888 uwb: 0.0 841.613 1037.15 -imu_odom_: 1691062589.21230978 0.459687 -0.179565 9.8258 -0.0543285 0.00532632 -0.165116 0.03 -0.23 pose: 0.0 -0.286569 0.0579996 0 -0.000946429-0.00926681 -0.0462211 0.998888 uwb: 0.50233707 841.343 1036.19 -imu_odom_: 1691062589.38208475 0.416591 -0.244209 9.83538 -0.0585895 -0.0117179 -0.151268 0.02 -0.23 pose: 0.15162008 -0.286569 0.0579996 0 -0.00246822 -0.0096061 -0.0482082 0.998788 uwb: 0.0 841.343 1036.19 -imu_odom_: 1691062589.56206437 0.608127 -0.217872 9.81862 -0.0585895 -0.00852212 -0.134223 0.02 -0.23 pose: 0.0 -0.286569 0.0579996 0 -0.00246822 -0.0096061 -0.0482082 0.998788 uwb: 0.0 841.343 1036.19 -imu_odom_: 1691062589.73216598 0.600945 -0.335188 9.87369 -0.0575243 -0.0127832 -0.107592 0.02 -0.23 pose: 0.0 -0.286569 0.0579996 0 -0.00246822 -0.0096061 -0.0482082 0.998788 uwb: 0.49865074 841.598 1035.26 -imu_odom_: 1691062589.87104415 0.636858 -0.323217 9.90242 -0.0575243 -0.00745685 -0.0862864 0.02 -0.17 pose: 0.46905172 -0.272687 0.0553035 0 -0.00277455 -0.00672518 -0.0532691 0.998554 uwb: 0.0 841.598 1035.26 -imu_odom_: 1691062589.104149574 0.586579 -0.251391 9.85453 -0.052198 0 -0.0671117 0.02 -0.17 pose: 0.0 -0.272687 0.0553035 0 -0.00277455 -0.00672518 -0.0532691 0.998554 uwb: 0.0 841.598 1035.26 -imu_odom_: 1691062589.120082693 0.562637 -0.181959 9.88326 -0.0543285 -0.00426106 -0.0532632 0.02 -0.17 pose: 0.0 -0.272687 0.0553035 0 -0.00277455 -0.00672518 -0.0532691 0.998554 uwb: 0.49946152 841.402 1034.15 -imu_odom_: 1691062589.137090813 0.565032 -0.21069 9.89045 -0.0585895 -0.00213053 -0.0394148 0.01 -0.11 pose: 0.50873289 -0.272687 0.0553035 0 -0.00388679 -0.00877243 -0.0573955 0.998305 uwb: 0.0 841.402 1034.15 -imu_odom_: 1691062589.153088094 0.76375 -0.277727 9.92157 -0.0575243 -0.00852212 -0.0415453 0.01 -0.11 pose: 0.0 -0.272687 0.0553035 0 -0.00388679 -0.00877243 -0.0573955 0.998305 uwb: 0.0 841.402 1034.15 -imu_odom_: 1691062589.170107005 0.596156 -0.167594 9.91439 -0.0532632 0.00319579 -0.0372843 0.01 -0.11 pose: 0.65002587 -0.272687 0.0553035 0 -3.9628e-05 -0.00850601 -0.0605352 0.99813 uwb: 0.49926903 841.103 1033.2 -imu_odom_: 1691062589.186084454 0.54109 -0.234632 9.89284 -0.0575243 -0.00426106 -0.00958738 0 -0.05 pose: 0.0 -0.272687 0.0553035 0 -3.9628e-05 -0.00850601 -0.0605352 0.99813 uwb: 0.0 841.103 1033.2 -imu_odom_: 1691062589.202079985 0.529119 -0.3304 9.90481 -0.0553937 -0.00852212 0.0138484 0 -0.05 pose: 0.0 -0.272687 0.0553035 0 -3.9628e-05 -0.00850601 -0.0605352 0.99813 uwb: 0.0 841.103 1033.2 -imu_odom_: 1691062589.217082758 0.584185 -0.304064 9.91199 -0.0543285 -0.00639159 0.0383495 0 -0.05 pose: 0.32000394 -0.272687 0.0553035 0 0.000830076 -0.00932442 -0.0617074 0.99805 uwb: 0.0 841.103 1033.2 -imu_odom_: 1691062589.231137103 0.536301 -0.282516 9.87129 -0.0553937 0.00532632 0.056459 0 0 pose: 0.0 -0.272687 0.0553035 0 0.000830076 -0.00932442 -0.0617074 0.99805 uwb: 0.50126387 840.791 1032.39 -imu_odom_: 1691062589.245080624 0.399832 -0.213084 9.89524 -0.0511327 0.00852212 0.0479369 0 0 pose: 0.40987126 -0.272687 0.0553035 0 -0.002818 -0.00841277 -0.0621375 0.998028 uwb: 0.0 840.791 1032.39 -imu_odom_: 1691062589.259074890 0.304064 -0.114922 9.88326 -0.052198 0 0.0394148 0 0 pose: 0.0 -0.272687 0.0553035 0 -0.002818 -0.00841277 -0.0621375 0.998028 uwb: 0.0 840.791 1032.39 -imu_odom_: 1691062589.273084906 0.318429 -0.141258 9.89284 -0.0575243 -0.00958738 0.0383495 0 0 pose: 0.6005250 -0.272687 0.0553035 0 -0.0031241 -0.00786696 -0.0620832 0.998035 uwb: 0.49860117 840.548 1032.15 -imu_odom_: 1691062589.288082721 0.447716 -0.246603 9.85932 -0.056459 -0.0138484 0.0330232 0 0 pose: 0.0 -0.272687 0.0553035 0 -0.0031241 -0.00786696 -0.0620832 0.998035 uwb: 0.0 840.548 1032.15 -imu_odom_: 1691062589.302141733 0.526724 -0.280122 9.91439 -0.0553937 -0.0106526 0.0351537 0 0 pose: 0.0 -0.272687 0.0553035 0 -0.0031241 -0.00786696 -0.0620832 0.998035 uwb: 0.0 840.548 1032.15 -imu_odom_: 1691062589.316137458 0.505177 -0.251391 9.88087 -0.056459 -0.00319579 0.0436758 0 0 pose: 0.0 -0.272687 0.0553035 0 -0.0031241 -0.00786696 -0.0620832 0.998035 uwb: 0.0 840.548 1032.15 -imu_odom_: 1691062589.330142515 0.469264 -0.208296 9.89524 -0.0543285 0.00213053 0.0458064 0 0 pose: 0.41992716 -0.272687 0.0553035 0 -0.0016576 -0.00418873 -0.0619608 0.998068 uwb: 0.50095473 840.398 1031.89 -imu_odom_: 1691062589.345141789 0.378284 -0.174777 9.90242 -0.0543285 -0.00106526 0.04048 0 0 pose: 0.0 -0.272687 0.0553035 0 -0.0016576 -0.00418873 -0.0619608 0.998068 uwb: 0.0 840.398 1031.89 -imu_odom_: 1691062589.359133430 0.387861 -0.167594 9.93833 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 -0.272687 0.0553035 0 -0.0016576 -0.00418873 -0.0619608 0.998068 uwb: 0.0 840.398 1031.89 -imu_odom_: 1691062589.373078409 0.440533 -0.232238 9.9096 -0.0553937 -0.0106526 0.0372843 0 0 pose: 0.43007056 -0.272687 0.0553035 0 -0.00235041 -0.00412345 -0.0620332 0.998063 uwb: 0.49994564 840.526 1031.43 -imu_odom_: 1691062589.395068108 0.493206 -0.253785 9.85453 -0.0575243 -0.00426106 0.0383495 0 0 pose: 0.0 -0.272687 0.0553035 0 -0.00235041 -0.00412345 -0.0620332 0.998063 uwb: 0.0 840.526 1031.43 -imu_odom_: 1691062589.412196094 0.201113 -0.31364 9.81862 -0.0628506 0.0266316 0.0234358 0 0 pose: 0.86980328 -0.272687 0.0553035 0 -0.00190726 -0.00377814 -0.0620048 0.998067 uwb: 0.0 840.526 1031.43 -imu_odom_: 1691062589.429074141 -0.23942 -0.059855 10.1514 -0.036219 0.0351537 -0.0756338 0 0 pose: 0.0 -0.272687 0.0553035 0 -0.00190726 -0.00377814 -0.0620048 0.998067 uwb: 0.50074475 840.967 1031.2 -imu_odom_: 1691062589.444134951 -1.45567 0.203507 9.46188 -0.0372843 0.0660464 -0.0585895 0 0 pose: 0.0 -0.272687 0.0553035 0 -0.00190726 -0.00377814 -0.0620048 0.998067 uwb: 0.0 840.967 1031.2 -imu_odom_: 1691062589.461075410 -1.17316 -0.612916 10.0748 -0.0617853 -0.0394148 0.0479369 0.04 0.05 pose: 0.7011424 -0.272687 0.0553035 0 -0.00204781 -0.00297695 -0.06206 0.998066 uwb: 0.0 840.967 1031.2 -imu_odom_: 1691062589.478068073 -0.105345 -0.773327 9.9503 -0.0607201 -0.0937433 0.0639159 0.05 0.02 pose: 0.0 -0.272687 0.0553035 0 -0.00204781 -0.00297695 -0.06206 0.998066 uwb: 0.0 840.967 1031.2 -imu_odom_: 1691062589.495128106 0.677559 -0.253785 10.0078 -0.0383495 -0.0383495 0.0671117 0.05 0.02 pose: 0.66075547 -0.272687 0.0553035 0 -0.0018084 0.00359536 -0.0636866 0.997962 uwb: 0.0 840.967 1031.2 -imu_odom_: 1691062589.512120478 0.306458 -0.047884 9.80665 -0.0596548 0.0319579 0.0862864 0.07 0.02 pose: 0.0 -0.272687 0.0553035 0 -0.0018084 0.00359536 -0.0636866 0.997962 uwb: 0.0 840.967 1031.2 -imu_odom_: 1691062589.529182844 -0.342371 -0.0790087 9.84017 -0.0585895 0.0351537 0.0649811 0.07 0.02 pose: 0.0 -0.272687 0.0553035 0 -0.0018084 0.00359536 -0.0636866 0.997962 uwb: 0.99905135 841.064 1031.33 -imu_odom_: 1691062589.546165008 -0.414197 -0.337582 9.7037 -0.052198 0.00319579 0.0447411 0.07 0.02 pose: 0.34969918 -0.272687 0.0553035 0 -0.00170911 0.00215558 -0.0631493 0.998 uwb: 0.0 841.064 1031.33 -imu_odom_: 1691062589.563116841 0.162806 -0.227449 10.1897 -0.0649811 -0.0181095 0.0575243 0.08 0.02 pose: 0.33997575 -0.272687 0.0553035 0 -0.0004255080.00531825 -0.0626984 0.998018 uwb: 0.0 841.064 1031.33 -imu_odom_: 1691062589.580116503 0.423774 -0.438139 9.72764 -0.0490022 -0.00639159 0.0479369 0.08 0.02 pose: 0.0 -0.272687 0.0553035 0 -0.0004255080.00531825 -0.0626984 0.998018 uwb: 0.49958984 840.97 1030.34 -imu_odom_: 1691062589.598065177 0.253785 -0.059855 9.96467 -0.072438 -0.00213053 0.0511327 0.1 0 pose: 0.42993931 -0.261283 0.056291 0 -0.00172225 0.00680692 -0.0624609 0.998023 uwb: 0.0 840.97 1030.34 -imu_odom_: 1691062589.615109170 0.035913 -0.282516 9.98382 -0.0649811 -0.00852212 0.0468716 0.1 0 pose: 0.0 -0.261283 0.056291 0 -0.00172225 0.00680692 -0.0624609 0.998023 uwb: 0.0 840.97 1030.34 -imu_odom_: 1691062589.631167696 0.347159 -0.234632 9.7851 -0.0500674 -0.0117179 0.0298274 0.1 0 pose: 0.0 -0.261283 0.056291 0 -0.00172225 0.00680692 -0.0624609 0.998023 uwb: 0.50027228 840.677 1029.82 -imu_odom_: 1691062589.649161574 0.287304 -0.433351 10.0413 -0.0426106 -0.0223706 0.0490022 0.11 0 pose: 0.7943520 -0.2588 0.0526215 0 -0.0009948990.00684097 -0.0624093 0.998027 uwb: 0.0 840.677 1029.82 -imu_odom_: 1691062589.666151612 -0.0047884 -0.488417 10.0293 -0.0351537 0.015979 0.0372843 0.11 0 pose: 0.0 -0.2588 0.0526215 0 -0.0009948990.00684097 -0.0624093 0.998027 uwb: 0.0 840.677 1029.82 -imu_odom_: 1691062589.680205958 1.0343 -0.227449 10.1442 -0.0553937 -0.0340885 0.036219 0.11 0 pose: 0.0 -0.2588 0.0526215 0 -0.0009948990.00684097 -0.0624093 0.998027 uwb: 0.49928362 840.764 1029.37 -imu_odom_: 1691062589.697122210 0.847547 0.023942 9.59596 -0.0617853 -0.00319579 0.0649811 0.1 0 pose: 0.51109813 -0.2588 0.0526215 0 -0.00129621 0.00675881 -0.0623319 0.998032 uwb: 0.0 840.764 1029.37 -imu_odom_: 1691062589.713031414 0.691924 -0.37589 9.81862 -0.0553937 0.02024 0.0681769 0.09 0 pose: 0.0 -0.2588 0.0526215 0 -0.00129621 0.00675881 -0.0623319 0.998032 uwb: 0.0 840.764 1029.37 -imu_odom_: 1691062589.730033702 0.957681 -0.354342 10.0437 -0.0585895 -0.015979 0.0777643 0.09 0 pose: 0.64877180 -0.250519 0.0582282 0 -0.00259387 0.00447733 -0.0620335 0.998061 uwb: 0.50070683 840.568 1028.83 -imu_odom_: 1691062589.746033024 1.28329 -0.0143652 9.96227 -0.052198 -0.00319579 0.0660464 0.08 -0.02 pose: 0.0 -0.250519 0.0582282 0 -0.00259387 0.00447733 -0.0620335 0.998061 uwb: 0.0 840.568 1028.83 -imu_odom_: 1691062589.763028020 1.1995 -0.196325 9.63666 -0.0436758 0.00319579 0.0575243 0.08 -0.02 pose: 0.0 -0.250519 0.0582282 0 -0.00259387 0.00447733 -0.0620335 0.998061 uwb: 0.0 840.568 1028.83 -imu_odom_: 1691062589.779046007 0.916979 -0.160412 10.0796 -0.0639159 0.0213053 0.0585895 0.08 -0.02 pose: 0.33994075 -0.244907 0.0499513 0 -0.00304354 0.00119431 -0.0614876 0.998102 uwb: 0.49944110 840.844 1028.21 -imu_odom_: 1691062589.796156495 0.64404 -0.363919 10.0509 -0.0585895 0.0213053 0.0287621 0.08 -0.02 pose: 0.41004916 -0.244907 0.0499513 0 -0.00251123 -0.00259777 -0.0610903 0.998126 uwb: 0.0 840.844 1028.21 -imu_odom_: 1691062589.812068615 0.373495 -0.138864 9.8258 -0.0479369 -0.015979 -0.0340885 0.08 -0.02 pose: 0.0 -0.244907 0.0499513 0 -0.00251123 -0.00259777 -0.0610903 0.998126 uwb: 0.0 840.844 1028.21 -imu_odom_: 1691062589.829048738 0.737414 0.00718261 9.76116 -0.0585895 -0.00532632 -0.0351537 0.08 -0.02 pose: 0.0 -0.244907 0.0499513 0 -0.00251123 -0.00259777 -0.0610903 0.998126 uwb: 0.50162260 840.677 1027.81 -imu_odom_: 1691062589.845170842 0.816423 -0.213084 10.0149 -0.0671117 -0.00213053 -0.00532632 0.04 0 pose: 0.8052012 -0.244907 0.0499513 0 -0.00294892 -0.00317508 -0.0611345 0.99812 uwb: 0.0 840.677 1027.81 -imu_odom_: 1691062589.862058222 0.550666 -0.392649 9.83538 -0.0490022 0.0340885 -0.00745685 0.06 0.02 pose: 0.0 -0.244907 0.0499513 0 -0.00294892 -0.00317508 -0.0611345 0.99812 uwb: 0.0 840.677 1027.81 -imu_odom_: 1691062589.878121122 0.3304 -0.225055 10.1203 -0.0479369 0.00426106 0.0479369 0.06 0.02 pose: 0.65083664 -0.244907 0.0499513 0 -0.00178976 -0.00588176 -0.0629332 0.997999 uwb: 0.49830952 840.416 1026.99 -imu_odom_: 1691062589.901083164 0.545878 -0.28491 9.95748 -0.0585895 -0.0255663 0.0777643 0.05 0 pose: 0.0 -0.244907 0.0499513 0 -0.00178976 -0.00588176 -0.0629332 0.997999 uwb: 0.0 840.416 1026.99 -imu_odom_: 1691062589.927180091 -0.0023942 -0.0981623 9.60793 -0.0479369 0.0692422 0.0575243 0.05 0 pose: 0.32901575 -0.236621 0.0555487 0 -0.00264882 -0.0048622 -0.0629575 0.998001 uwb: 0.49988148 840.252 1026.45 -imu_odom_: 1691062589.940058526 -0.837971 -0.150835 9.96467 -0.0490022 0.113983 0.0585895 0.05 0.02 pose: 0.42096833 -0.236621 0.0555487 0 -0.00240357 -0.00301092 -0.0624187 0.998043 uwb: 0.0 840.252 1026.45 -imu_odom_: 1691062589.956245084 -1.41497 -0.292093 9.94791 -0.056459 -0.00319579 0.0681769 0.05 0.02 pose: 0.5887135 -0.236621 0.0555487 0 -0.00227831 -0.00208124 -0.0623626 0.998049 uwb: 0.0 840.252 1026.45 -imu_odom_: 1691062589.981019988 -0.0981623 -0.215478 9.95988 -0.0575243 -0.0841559 0.0436758 0.09 0.05 pose: 0.0 -0.236621 0.0555487 0 -0.00227831 -0.00208124 -0.0623626 0.998049 uwb: 0.50021687 840.417 1026.28 -imu_odom_: 1691062590.3019602 0.727837 -0.260968 9.76355 -0.0596548 -0.0511327 0.0500674 0.09 0.05 pose: 0.31252326 -0.236621 0.0555487 0 -0.00198176 0.00112864 -0.0620427 0.998071 uwb: 0.0 840.417 1026.28 -imu_odom_: 1691062590.28029867 -0.289698 -0.110133 9.76116 -0.0585895 0.0245011 0.0490022 0.1 0.02 pose: 0.38700050 -0.231009 0.0472718 0 -0.00207086 -0.000588095-0.0618917 0.998081 uwb: 0.50115016 840.231 1026.02 -imu_odom_: 1691062590.53076003 -0.100556 -0.184354 9.7851 -0.0490022 -0.0149137 0.0447411 0.1 0.02 pose: 0.8048222 -0.231009 0.0472718 0 -0.00186762 0.000306061 -0.0618526 0.998083 uwb: 0.0 840.231 1026.02 -imu_odom_: 1691062590.78021231 0.328006 -0.25618 10.003 -0.0511327 -0.00426106 0.0436758 0.1 0.02 pose: 0.42008179 -0.225395 0.0510815 0 -0.0008895070.00451146 -0.0617006 0.998084 uwb: 0.50006530 840.278 1026.01 -imu_odom_: 1691062590.95030520 0.454898 0.0167594 9.84496 -0.0330232 0.0149137 0.0298274 0.1 0.02 pose: 0.0 -0.225395 0.0510815 0 -0.0008895070.00451146 -0.0617006 0.998084 uwb: 0.0 840.278 1026.01 -imu_odom_: 1691062590.120047784 0.160412 0.0550666 9.48343 -0.0596548 -0.0266316 0.0692422 0.12 0 pose: 0.41954517 -0.222735 0.0528878 0 -0.00122112 0.00266795 -0.061742 0.998088 uwb: 0.49848458 840.209 1025.74 -imu_odom_: 1691062590.145025384 -0.0694318 -0.301669 9.91199 -0.056459 0.00213053 0.0447411 0.12 0 pose: 0.0 -0.222735 0.0528878 0 -0.00122112 0.00266795 -0.061742 0.998088 uwb: 0.0 840.209 1025.74 -imu_odom_: 1691062590.170171554 0.531513 -0.0646434 10.149 -0.0511327 -0.0117179 0.056459 0.14 0 pose: 0.49994864 -0.217125 0.056698 0 0.000418516 0.00617224 -0.0613023 0.9981 uwb: 0.50315964 840.307 1025.29 -imu_odom_: 1691062590.187097725 -0.102951 -0.237026 9.76355 -0.0500674 0.0415453 0.0532632 0.14 0 pose: 0.0 -0.217125 0.056698 0 0.000418516 0.00617224 -0.0613023 0.9981 uwb: 0.0 840.307 1025.29 -imu_odom_: 1691062590.210997699 0.220267 -0.304064 10.2663 -0.0426106 -0.0830906 0.0479369 0.14 0.02 pose: 0.42072341 -0.214464 0.0585084 0 0.0015938 0.00590858 -0.06097 0.998121 uwb: 0.0 840.307 1025.29 -imu_odom_: 1691062590.234011656 0.52433 -0.114922 9.8689 -0.0468716 0.0500674 0.0607201 0.14 0.02 pose: 0.0 -0.214464 0.0585084 0 0.0015938 0.00590858 -0.06097 0.998121 uwb: 0.50049109 840.613 1025.24 -imu_odom_: 1691062590.260114712 0.725443 -0.265756 9.59357 -0.0607201 -0.0276969 0.0394148 0.2 0 pose: 0.46913931 -0.203332 0.0539942 0 0.000644069 0.00468987 -0.0606406 0.998148 uwb: 0.0 840.613 1025.24 -imu_odom_: 1691062590.273002774 0.0646434 -0.169988 9.60554 -0.0436758 0.0106526 0.036219 0.2 0 pose: 0.0 -0.203332 0.0539942 0 0.000644069 0.00468987 -0.0606406 0.998148 uwb: 0.49601436 840.588 1025.39 -imu_odom_: 1691062590.297088817 0.608127 -0.181959 10.307 -0.056459 0.0234358 0.0703074 0.14 0.02 pose: 0.38991118 -0.200571 0.0558774 0 0.000386972 0.00318032 -0.060665 0.998153 uwb: 0.0 840.588 1025.39 -imu_odom_: 1691062590.314026362 0.42138 -0.308852 10.3453 -0.0607201 0.00852212 0.0447411 0.14 0.02 pose: 0.8079718 -0.200571 0.0558774 0 0.000426302 0.00248469 -0.0605407 0.998163 uwb: 0.0 840.588 1025.39 -imu_odom_: 1691062590.338996087 0.737414 0.181959 10.0197 -0.052198 -0.056459 0.0639159 0.16 0.02 pose: 0.32943870 -0.193745 0.054589 0 -0.00114278 0.00068099 -0.0602523 0.998182 uwb: 0.50003613 840.573 1024.68 -imu_odom_: 1691062590.365055105 0.957681 -0.246603 10.2352 -0.0660464 -0.0181095 0.0415453 0.16 0.02 pose: 0.0 -0.193745 0.054589 0 -0.00114278 0.00068099 -0.0602523 0.998182 uwb: 0.0 840.573 1024.68 -imu_odom_: 1691062590.390057786 0.3304 0.047884 9.76595 -0.0617853 -0.0490022 0.0511327 0.16 0 pose: 0.9059352 -0.186673 0.0532585 0 -0.000479015-0.000173929-0.0601423 0.99819 uwb: 0.50049984 840.726 1023.95 -imu_odom_: 1691062590.415043844 -0.0909797 -0.339977 9.35175 -0.0798948 -0.0500674 0.0575243 0.15 0.02 pose: 0.49998947 -0.186673 0.0532584 0 0.000813725 -0.00421993 -0.0598779 0.998196 uwb: 0.0 840.726 1023.95 -imu_odom_: 1691062590.438049636 -0.0191536 -0.126893 10.2663 -0.0596548 0.0213053 0.0351537 0.15 0.02 pose: 0.0 -0.186673 0.0532584 0 0.000813725 -0.00421993 -0.0598779 0.998196 uwb: 0.50025487 840.782 1023.51 -imu_odom_: 1691062590.454986889 0.21069 -0.0981623 10.1538 -0.0820254 -0.015979 0.0788296 0.15 0.02 pose: 0.0 -0.186673 0.0532584 0 0.000813725 -0.00421993 -0.0598779 0.998196 uwb: 0.0 840.782 1023.51 -imu_odom_: 1691062590.467985484 0.435745 -0.474052 10.0293 -0.0820254 0.00426106 0.072438 0.17 0 pose: 0.72902371 -0.172799 0.0505191 0 0.00197449 0.00130369 -0.0594692 0.998227 uwb: 0.0 840.782 1023.51 -imu_odom_: 1691062590.492041487 0.816423 -0.059855 9.94312 -0.0575243 -0.00639159 0.0415453 0.17 0 pose: 0.0 -0.172799 0.0505191 0 0.00197449 0.00130369 -0.0594692 0.998227 uwb: 0.49944409 840.472 1022.7 -imu_odom_: 1691062590.517068083 0.244209 -0.311246 10.2089 -0.0660464 0.0149137 0.0458064 0.15 0.05 pose: 0.46054455 -0.163556 0.0486991 0 0.00138673 -0.000487167-0.0590558 0.998254 uwb: 0.0 840.472 1022.7 -imu_odom_: 1691062590.540975931 0.141258 -0.0143652 10.0389 -0.0308927 -0.0223706 0.0415453 0.15 0.05 pose: 0.0 -0.163556 0.0486991 0 0.00138673 -0.000487167-0.0590558 0.998254 uwb: 0.50004779 840.512 1022.13 -imu_odom_: 1691062590.564028094 0.40462 -0.442927 9.84496 -0.052198 -0.0266316 0.0532632 0.18 0.02 pose: 0.8015849 -0.158923 0.0477909 0 0.000906633 0.000260949 -0.0590316 0.998256 uwb: 0.0 840.512 1022.13 -imu_odom_: 1691062590.580972347 0.593762 -0.0933739 9.89763 -0.0447411 0.0181095 0.04048 0.18 0.02 pose: 0.0 -0.158923 0.0477909 0 0.000906633 0.000260949 -0.0590316 0.998256 uwb: 0.49977949 840.768 1022.24 -imu_odom_: 1691062590.605137134 0.699107 -0.253785 9.70849 -0.0681769 0.0170442 0.0628506 0.2 0 pose: 0.48947276 -0.158923 0.0477909 0 0.00109489 0.00304162 -0.0589011 0.998259 uwb: 0.0 840.768 1022.24 -imu_odom_: 1691062590.630966628 0.766145 -0.143652 10.4555 -0.0255663 -0.0330232 0.0276969 0.18 0.02 pose: 0.40033163 -0.145043 0.0450752 0 0.000249082 0.000528824 -0.058701 0.998275 uwb: 0.49989030 840.644 1021.69 -imu_odom_: 1691062590.644245784 0.469264 -0.0790087 9.72764 -0.0628506 -0.0117179 0.0692422 0.18 0.02 pose: 0.41928853 -0.145043 0.0450752 0 0.000583399 -0.00382486 -0.0586666 0.99827 uwb: 0.0 840.644 1021.69 -imu_odom_: 1691062590.669121309 0.588974 -0.11971 10.3813 -0.0394148 -0.036219 0.0426106 0.18 0.02 pose: 0.0 -0.145043 0.0450752 0 0.000583399 -0.00382486 -0.0586666 0.99827 uwb: 0.0 840.644 1021.69 -imu_odom_: 1691062590.694107950 0.68953 -0.0670376 10.1418 -0.0490022 0.0138484 0.0458064 0.16 -0.02 pose: 0.6016625 -0.145043 0.0450752 0 0.00116094 -0.00384829 -0.0585799 0.998275 uwb: 0.0 840.644 1021.69 -imu_odom_: 1691062590.708107760 0.112527 -0.035913 9.67736 -0.0553937 -0.015979 0.0553937 0.16 -0.02 pose: 0.0 -0.145043 0.0450752 0 0.00116094 -0.00384829 -0.0585799 0.998275 uwb: 0.0 840.644 1021.69 -imu_odom_: 1691062590.731998984 0.0383072 -0.059855 10.2161 -0.0426106 0.0117179 0.0426106 0.17 0 pose: 0.40041038 -0.131162 0.0423682 0 0.00332291 -0.00724352 -0.0584107 0.998261 uwb: 0.99981270 840.704 1020.69 -imu_odom_: 1691062590.755958745 0.76375 -0.335188 10.2855 -0.0692422 -0.0287621 0.0553937 0.17 0 pose: 0.0 -0.131162 0.0423682 0 0.00332291 -0.00724352 -0.0584107 0.998261 uwb: 0.0 840.704 1020.69 -imu_odom_: 1691062590.772965993 0.332794 -0.454898 9.68215 -0.0500674 0.0330232 0.0213053 0.24 0 pose: 0.38987909 -0.12287 0.0479584 0 0.00460919 -0.00655008 -0.0582468 0.99827 uwb: 0.50038902 840.646 1019.85 -imu_odom_: 1691062590.796958709 0.416591 -0.629675 9.36133 -0.0447411 0.04048 0.052198 0.24 0 pose: 0.0 -0.12287 0.0479584 0 0.00460919 -0.00655008 -0.0582468 0.99827 uwb: 0.0 840.646 1019.85 -imu_odom_: 1691062590.822970772 0.371101 -0.299275 9.77553 -0.0149137 0.0617853 0.0266316 0.22 -0.02 pose: 0.47976684 -0.117277 0.0396687 0 0.00252855 -0.00625205 -0.0580969 0.998288 uwb: 0.50019945 840.631 1019.15 -imu_odom_: 1691062590.843965675 0.627281 -0.428562 9.86411 -0.0585895 0.0170442 0.0660464 0.22 -0.02 pose: 0.0 -0.117277 0.0396687 0 0.00252855 -0.00625205 -0.0580969 0.998288 uwb: 0.0 840.631 1019.15 -imu_odom_: 1691062590.868024887 0.347159 0.0502782 10.2951 -0.0223706 0.00426106 0.0426106 0.18 -0.02 pose: 0.41109040 -0.108989 0.0452631 0 -0.000581173-0.00349127 -0.0580607 0.998307 uwb: 0.0 840.631 1019.15 -imu_odom_: 1691062590.885027177 0.442927 -0.100556 9.81383 -0.0639159 -0.00532632 0.0703074 0.18 -0.02 pose: 0.0 -0.108989 0.0452631 0 -0.000581173-0.00349127 -0.0580607 0.998307 uwb: 0.49916703 840.731 1018.15 -imu_odom_: 1691062590.909017852 0.392649 -0.0646434 9.73243 -0.0436758 -0.00639159 0.0340885 0.18 0 pose: 0.45873927 -0.103392 0.0369756 0 -0.00192306 -0.00236674 -0.0578827 0.998319 uwb: 0.0 840.731 1018.15 -imu_odom_: 1691062590.926996859 0.40462 -0.177171 9.86411 -0.0628506 0.00426106 0.0756338 0.18 0 pose: 0.0 -0.103392 0.0369756 0 -0.00192306 -0.00236674 -0.0578827 0.998319 uwb: 0.50143019 841.068 1016.85 -imu_odom_: 1691062590.951042655 0.746991 -0.265756 10.2687 -0.0735032 -0.0319579 0.0351537 0.18 0 pose: 0.42048426 -0.0951063 0.0425738 0 0.00242686 -0.00175933 -0.0576256 0.998334 uwb: 0.0 841.068 1016.85 -imu_odom_: 1691062590.977075717 1.27372 -0.174777 9.61272 -0.0788296 0.00213053 0.0436758 0.18 0 pose: 0.0 -0.0951063 0.0425738 0 0.00242686 -0.00175933 -0.0576256 0.998334 uwb: 0.50262010 841.467 1015.83 -imu_odom_: 1691062591.1948325 0.4956 -0.225055 9.89524 -0.036219 0 0.0266316 0.18 -0.02 pose: 0.42016637 -0.0812199 0.0398964 0 0.00201896 -0.00123821 -0.0573668 0.99835 uwb: 0.0 841.467 1015.83 -imu_odom_: 1691062591.28988730 0.773327 0.0167594 10.0533 -0.076699 -0.052198 0.0671117 0.19 0 pose: 0.50153519 -0.0812199 0.0398964 0 0.000248134 -0.00511655 -0.0573905 0.998339 uwb: 0.49535818 841.334 1014.16 -imu_odom_: 1691062591.44973766 0.632069 -0.296881 9.61751 -0.0713727 0.0149137 0.0426106 0.19 0 pose: 0.0 -0.0812199 0.0398964 0 0.000248134 -0.00511655 -0.0573905 0.998339 uwb: 0.0 841.334 1014.16 -imu_odom_: 1691062591.70970085 0.277727 -0.61531 9.68933 -0.0639159 0.0149137 0.0500674 0.25 0.02 pose: 0.24783365 -0.0673331 0.0372213 0 -0.000718468-0.00521915 -0.0573829 0.998338 uwb: 0.50049700 841.512 1013.17 -imu_odom_: 1691062591.96219209 0.502782 -0.260968 9.35415 -0.0266316 0.00639159 0.02024 0.25 0.02 pose: 0.43130434 -0.0673331 0.0372213 0 -0.001754 -0.00746492 -0.057048 0.998342 uwb: 0.0 841.512 1013.17 -imu_odom_: 1691062591.119987363 0.677559 -0.490811 9.72525 -0.0681769 0.00532632 0.0468716 0.19 -0.02 pose: 0.25019309 -0.0590565 0.0428335 0 -0.00281991 -0.00547303 -0.0570116 0.998355 uwb: 0.50068075 841.543 1012.06 -imu_odom_: 1691062591.144076035 0.909797 -0.21069 10.0341 -0.0298274 -0.0500674 0.0340885 0.19 -0.02 pose: 0.0 -0.0590565 0.0428335 0 -0.00281991 -0.00547303 -0.0570116 0.998355 uwb: 0.0 841.543 1012.06 -imu_odom_: 1691062591.161078327 0.301669 -0.191536 9.34696 -0.0490022 0.0340885 0.0596548 0.26 -0.02 pose: 0.25931574 -0.0534445 0.0345566 0 -0.00252209 -0.00414963 -0.0571546 0.998354 uwb: 0.0 841.543 1012.06 -imu_odom_: 1691062591.185924399 0.222661 -0.0694318 9.89763 -0.0415453 0.0127832 0.0287621 0.26 -0.02 pose: 0.0 -0.0534445 0.0345566 0 -0.00252209 -0.00414963 -0.0571546 0.998354 uwb: 0.0 841.543 1012.06 -imu_odom_: 1691062591.212004420 0.488417 -0.179565 9.98861 -0.0894822 0.015979 0.0447411 0.21 0.02 pose: 0.47038470 -0.0451667 0.0401671 0 -0.00305395 -0.00717163 -0.0570959 0.998338 uwb: 0.0 841.543 1012.06 -imu_odom_: 1691062591.227997914 0.167594 -0.440533 9.34217 -0.0436758 0.0266316 0.0308927 0.21 0.02 pose: 0.0 -0.0451667 0.0401671 0 -0.00305395 -0.00717163 -0.0570959 0.998338 uwb: 0.99864918 841.625 1010.52 -imu_odom_: 1691062591.253932695 0.0526724 -0.390255 9.95509 -0.0532632 0.00532632 0.0447411 0.18 -0.02 pose: 0.42975571 -0.0395551 0.03189 0 -0.000378188-0.00391292 -0.0571168 0.99836 uwb: 0.0 841.625 1010.52 -imu_odom_: 1691062591.276929157 0.31364 -0.169988 10.1849 -0.0276969 0.00852212 0.0319579 0.18 -0.02 pose: 0.0 -0.0395551 0.03189 0 -0.000378188-0.00391292 -0.0571168 0.99836 uwb: 0.50316555 842.024 1009.25 -imu_odom_: 1691062591.300950167 0.591368 -0.220267 10.1179 -0.0745685 -0.0138484 0.0628506 0.18 0 pose: 0.41930900 -0.0312776 0.0375009 0 -3.00347e-05-0.0017934 -0.0571244 0.998365 uwb: 0.0 842.024 1009.25 -imu_odom_: 1691062591.318045203 0.600945 -0.399832 9.34936 -0.0458064 0.0447411 0.0415453 0.18 0 pose: 0.0 -0.0312776 0.0375009 0 -3.00347e-05-0.0017934 -0.0571244 0.998365 uwb: 0.0 842.024 1009.25 -imu_odom_: 1691062591.342921606 -0.150835 -0.035913 9.67736 -0.0500674 0.0234358 0.0585895 0.18 0 pose: 0.82045147 -0.0145617 0.0306637 0 -0.000793591-0.00122728 -0.0568642 0.998381 uwb: 0.49746391 841.925 1007.87 -imu_odom_: 1691062591.365957441 0.56982 -0.184354 9.63666 -0.0276969 0.0255663 0.0383495 0.18 0 pose: 0.8934530 -0.0117756 0.026558 0 -0.000432827-0.000274401-0.0567793 0.998387 uwb: 0.0 841.925 1007.87 -imu_odom_: 1691062591.383931784 0.526724 -0.246603 10.2496 -0.072438 -0.0426106 0.0596548 0.25 0 pose: 0.0 -0.0117756 0.026558 0 -0.000432827-0.000274401-0.0567793 0.998387 uwb: 0.50056116 842.138 1006.2 -imu_odom_: 1691062591.407897382 0.217872 -0.430956 10.0676 -0.0553937 0.0191748 0.0319579 0.25 0 pose: 0.47014264 -0.0035019 0.0321745 0 0.000315271 -0.0014172 -0.0565603 0.998398 uwb: 0.0 842.138 1006.2 -imu_odom_: 1691062591.432899484 0.1652 -0.335188 10.3094 -0.0671117 -0.0106526 0.0703074 0.23 0 pose: 0.33903385 0.0003898180.026447 0 -0.0017162 -0.000356733-0.056547 0.998398 uwb: 0.49807053 842.571 1004.95 -imu_odom_: 1691062591.448918351 0.21069 -0.196325 9.72285 -0.0415453 -0.0149137 0.0415453 0.23 0 pose: 0.7082295 0.00211831 0.0239033 0 -0.00195369 0.000304074 -0.0564371 0.998404 uwb: 0.0 842.571 1004.95 -imu_odom_: 1691062591.474930710 0.311246 -0.110133 9.31823 -0.0692422 0.00213053 0.0628506 0.18 0.05 pose: 0.0 0.00211831 0.0239033 0 -0.00195369 0.000304074 -0.0564371 0.998404 uwb: 0.50227603 842.937 1004.38 -imu_odom_: 1691062591.499911521 0.464475 -0.102951 10.1754 -0.0660464 0.0276969 0.0415453 0.18 0.05 pose: 0.33938674 0.0103882 0.0295254 0 -0.00171969 0.00331332 -0.0561379 0.998416 uwb: 0.0 842.937 1004.38 -imu_odom_: 1691062591.522912650 0.596156 -0.213084 10.1179 -0.0852212 0.0234358 0.0607201 0.19 0 pose: 0.50993170 0.0202037 0.0276675 0 0.001924 0.00216833 -0.0557944 0.998438 uwb: 0.49889588 842.83 1003.98 -imu_odom_: 1691062591.548969631 0.876278 -0.105345 10.1323 -0.0607201 0.052198 0.0245011 0.24 -0.02 pose: 0.0 0.0202037 0.0276675 0 0.001924 0.00216833 -0.0557944 0.998438 uwb: 0.0 842.83 1003.98 -imu_odom_: 1691062591.573925361 0.505177 -0.0407014 10.07 -0.0894822 0.0106526 0.0692422 0.24 -0.02 pose: 0.31173592 0.0242837 0.0268954 0 0.00123545 -0.000329819-0.0556074 0.998452 uwb: 0.49855173 843.229 1002.46 -imu_odom_: 1691062591.589906898 0.251391 -0.502782 9.69173 -0.0745685 0.00639159 0.0490022 0.24 -0.02 pose: 0.0 0.0242837 0.0268954 0 0.00123545 -0.000329819-0.0556074 0.998452 uwb: 0.0 843.229 1002.46 -imu_odom_: 1691062591.615893008 0.634463 -0.158017 10.4938 -0.102265 -0.0298274 0.056459 0.21 0 pose: 0.48826835 0.0381801 0.0242707 0 0.00262843 -0.00227256 -0.0553432 0.998461 uwb: 0.0 843.229 1002.46 -imu_odom_: 1691062591.641120260 0.40462 -0.287304 9.77792 -0.107592 -0.0490022 0.0394148 0.22 0 pose: 0.35981060 0.0381801 0.0242707 0 0.00117799 -0.00457085 -0.0550738 0.998471 uwb: 0.50016453 843.306 1000.55 -imu_odom_: 1691062591.665948833 0.354342 -0.574608 9.99819 -0.0575243 -0.0426106 0.0149137 0.22 0 pose: 0.0 0.0381801 0.0242707 0 0.00117799 -0.00457085 -0.0550738 0.998471 uwb: 0.0 843.306 1000.55 -imu_odom_: 1691062591.682054902 0.73502 -0.191536 10.1754 -0.0394148 0.0266316 0.0319579 0.18 0 pose: 0.7093670 0.0381801 0.0242707 0 0.000470105 -0.00422969 -0.0550738 0.998473 uwb: 0.50101614 843.237 998.905 -imu_odom_: 1691062591.698047230 0.311246 -0.265756 9.48583 -0.0575243 0.00213053 0.0596548 0.18 0 pose: 0.0 0.0381801 0.0242707 0 0.000470105 -0.00422969 -0.0550738 0.998473 uwb: 0.0 843.237 998.905 -imu_odom_: 1691062591.723889851 0.213084 -0.356736 10.0676 -0.0308927 0.00426106 0.0223706 0.18 -0.02 pose: 0.50071574 0.052078 0.02166 0 -0.00343288 -0.00347018 -0.0554 0.998452 uwb: 0.50063407 843.8 997.682 -imu_odom_: 1691062591.746974099 0.201113 -0.402226 9.79707 -0.0596548 -0.0308927 0.0532632 0.18 -0.02 pose: 0.0 0.052078 0.02166 0 -0.00343288 -0.00347018 -0.0554 0.998452 uwb: 0.0 843.8 997.682 -imu_odom_: 1691062591.772903047 0.474052 -0.423774 9.7444 -0.0351537 0.02024 0.0319579 0.18 0 pose: 0.33066656 0.0603355 0.0273004 0 -0.00312974 -0.00174782 -0.0553406 0.998461 uwb: 0.50007704 844.184 996.328 -imu_odom_: 1691062591.798027640 0.237026 -0.481235 9.75158 -0.0532632 0.0287621 0.0490022 0.18 0 pose: 0.0 0.0603355 0.0273004 0 -0.00312974 -0.00174782 -0.0553406 0.998461 uwb: 0.0 844.184 996.328 -imu_odom_: 1691062591.820918819 0.586579 -0.275333 9.93833 -0.0543285 0.0106526 0.0308927 0.18 -0.02 pose: 0.48781339 0.0659759 0.019043 0 -0.00508472 0.00138446 -0.0553544 0.998453 uwb: 0.49994580 844.385 995.109 -imu_odom_: 1691062591.846027371 1.13006 -0.237026 10.1347 -0.0745685 -0.0287621 0.0511327 0.18 -0.02 pose: 0.0 0.0659759 0.019043 0 -0.00508472 0.00138446 -0.0553544 0.998453 uwb: 0.0 844.385 995.109 -imu_odom_: 1691062591.861943871 0.651223 -0.483629 9.25359 -0.0617853 0.0468716 0.02024 0.23 0 pose: 0.50395299 0.0742337 0.024683 0 -0.0075991 0.00227356 -0.0553401 0.998436 uwb: 0.0 844.385 995.109 -imu_odom_: 1691062591.885938633 0.260968 -0.701501 9.22486 -0.052198 0.0436758 0.0383495 0.23 0 pose: 0.0 0.0742337 0.024683 0 -0.0075991 0.00227356 -0.0553401 0.998436 uwb: 0.49929543 844.566 994.028 -imu_odom_: 1691062591.903945349 0.122104 -0.579397 10.0628 -0.0266316 -0.00426106 0.0234358 0.19 0.05 pose: 0.47734335 0.0881312 0.0220657 0 -0.00749941 -0.00225151 -0.0553612 0.998436 uwb: 0.0 844.566 994.028 -imu_odom_: 1691062591.927874783 0.749385 -0.237026 9.89763 -0.0585895 -0.0276969 0.0532632 0.19 0.05 pose: 0.0 0.0881312 0.0220657 0 -0.00749941 -0.00225151 -0.0553612 0.998436 uwb: 0.49953166 844.796 993.087 -imu_odom_: 1691062591.955025430 0.474052 -0.0143652 10.5441 -0.0191748 -0.00319579 0.0394148 0.23 -0.02 pose: 0.40941350 0.0881312 0.0220657 0 -0.0102225 -0.000113352-0.0555117 0.998406 uwb: 0.0 844.796 993.087 -imu_odom_: 1691062591.979027774 0.37589 -0.0191536 10.1083 -0.0426106 -0.00319579 0.0628506 0.23 -0.02 pose: 0.0 0.0881312 0.0220657 0 -0.0102225 -0.000113352-0.0555117 0.998406 uwb: 0.50075365 844.828 992.409 -imu_odom_: 1691062592.5227661 0.234632 0.150835 10.2137 -0.0468716 -0.0298274 0.0500674 0.2 -0.05 pose: 0.41974355 0.102028 0.0194439 0 -0.00861877 -0.00177272 -0.0554416 0.998423 uwb: 0.0 844.828 992.409 -imu_odom_: 1691062592.29885626 0.292093 -0.454898 9.83299 -0.076699 0.00639159 0.0553937 0.19 0 pose: 0.51013877 0.115926 0.0168282 0 -0.0030923 -0.00139802 -0.0551306 0.998473 uwb: 0.49962793 844.648 991.72 -imu_odom_: 1691062592.46872172 0.263362 -0.0861913 9.94073 -0.0532632 -0.0490022 0.0287621 0.19 0 pose: 0.0 0.115926 0.0168282 0 -0.0030923 -0.00139802 -0.0551306 0.998473 uwb: 0.0 844.648 991.72 -imu_odom_: 1691062592.71926482 0.555455 -0.342371 9.663 -0.0735032 -0.0639159 0.0468716 0.19 0 pose: 0.25961906 0.115926 0.0168282 0 -0.00204545 -0.000477721-0.0549725 0.998486 uwb: 0.49874429 845.011 991.197 -imu_odom_: 1691062592.97923388 0.670376 0.0263362 9.61272 -0.0543285 -0.0330232 0.0447411 0.18 0.02 pose: 0.42948163 0.12418 0.0224746 0 -0.00269988 1.42278e-05 -0.0548913 0.998489 uwb: 0.0 845.011 991.197 -imu_odom_: 1691062592.111865165 0.567426 -0.174777 9.8689 -0.0713727 -0.00532632 0.0575243 0.18 0.02 pose: 0.0 0.12418 0.0224746 0 -0.00269988 1.42278e-05 -0.0548913 0.998489 uwb: 0.0 845.011 991.197 -imu_odom_: 1691062592.135880345 0.857124 -0.150835 9.51456 -0.0447411 0 0.0287621 0.18 -0.02 pose: 0.48016070 0.129827 0.0142222 0 -0.00137984 -0.00437106 -0.0547255 0.998491 uwb: 0.50104246 844.975 989.837 -imu_odom_: 1691062592.152859600 0.320823 -0.474052 9.4164 -0.0809601 0.0117179 0.0415453 0.18 -0.02 pose: 0.0 0.129827 0.0142222 0 -0.00137984 -0.00437106 -0.0547255 0.998491 uwb: 0.0 844.975 989.837 -imu_odom_: 1691062592.168906760 0.423774 -0.265756 10.4842 -0.0511327 -0.0330232 0.0426106 0.23 0 pose: 0.38972464 0.143728 0.0116223 0 -0.00107226 -0.00681203 -0.0547796 0.998475 uwb: 0.50128452 845.359 988.777 -imu_odom_: 1691062592.184902589 0.306458 -0.162806 10.094 -0.0575243 -0.00745685 0.0458064 0.23 0 pose: 0.0 0.143728 0.0116223 0 -0.00107226 -0.00681203 -0.0547796 0.998475 uwb: 0.0 845.359 988.777 -imu_odom_: 1691062592.200844465 0.222661 -0.42138 10.1442 -0.0649811 -0.00532632 0.0458064 0.23 0 pose: 0.0 0.143728 0.0116223 0 -0.00107226 -0.00681203 -0.0547796 0.998475 uwb: 0.0 845.359 988.777 -imu_odom_: 1691062592.217912672 0.663194 -0.282516 9.75637 -0.052198 0.04048 0.02024 0.18 -0.02 pose: 0.49994296 0.15198 0.0172719 0 -0.00183195 -0.0026209 -0.054661 0.9985 uwb: 0.0 845.359 988.777 -imu_odom_: 1691062592.233962747 0.0766145 -0.059855 9.74919 -0.0468716 0.0351537 0.0372843 0.18 -0.02 pose: 0.0 0.15198 0.0172719 0 -0.00183195 -0.0026209 -0.054661 0.9985 uwb: 0.49761855 845.706 987.99 -imu_odom_: 1691062592.249852710 0.557849 -0.411803 10.1179 -0.0735032 -0.0394148 0.0447411 0.25 -0.02 pose: 0.41104385 0.157631 0.00902213 0 -0.00165625 -0.0015603 -0.054821 0.998494 uwb: 0.0 845.706 987.99 -imu_odom_: 1691062592.266847423 0.610521 -0.0430956 10.2424 -0.0287621 0.00745685 0.0223706 0.25 -0.02 pose: 0.0 0.157631 0.00902213 0 -0.00165625 -0.0015603 -0.054821 0.998494 uwb: 0.0 845.706 987.99 -imu_odom_: 1691062592.282848210 0.0574608 -0.0861913 9.20092 -0.0681769 -0.0127832 0.0436758 0.25 -0.02 pose: 0.0 0.157631 0.00902213 0 -0.00165625 -0.0015603 -0.054821 0.998494 uwb: 0.50106287 845.664 987.308 -imu_odom_: 1691062592.298901202 0.713472 -0.0622492 10.3525 -0.0628506 -0.0511327 0.0468716 0.18 0 pose: 0.6894186 0.157631 0.00902213 0 -0.00230265 -0.00205486 -0.0548028 0.998492 uwb: 0.0 845.664 987.308 -imu_odom_: 1691062592.314900240 0.481235 -0.136469 9.54089 -0.0490022 -0.0394148 0.0223706 0.18 0 pose: 0.0 0.157631 0.00902213 0 -0.00230265 -0.00205486 -0.0548028 0.998492 uwb: 0.0 845.664 987.308 -imu_odom_: 1691062592.330842699 0.720655 -0.454898 9.73243 -0.0841559 0.00213053 0.0394148 0.18 0 pose: 0.0 0.157631 0.00902213 0 -0.00230265 -0.00205486 -0.0548028 0.998492 uwb: 0.50071581 845.84 986.373 -imu_odom_: 1691062592.347838870 0.373495 -0.445322 9.82102 -0.0500674 0.00532632 0.0394148 0.23 0 pose: 0.49059575 0.165883 0.0146714 0 -0.000691103-0.00298327 -0.0548748 0.998489 uwb: 0.0 845.84 986.373 -imu_odom_: 1691062592.363956315 0.517148 -0.174777 9.74679 -0.036219 0.00745685 0.0266316 0.18 0 pose: 0.0 0.165883 0.0146714 0 -0.000691103-0.00298327 -0.0548748 0.998489 uwb: 0.0 845.84 986.373 -imu_odom_: 1691062592.379907815 0.320823 -0.347159 9.34936 -0.0756338 0.0191748 0.0543285 0.18 0 pose: 0.65940838 0.179784 0.0120654 0 -0.000737136-0.004647 -0.0550311 0.998474 uwb: 0.49989921 845.82 985.286 -imu_odom_: 1691062592.396859947 0.392649 -0.31364 10.1562 -0.052198 -0.00532632 0.0447411 0.18 0.02 pose: 0.0 0.179784 0.0120654 0 -0.000737136-0.004647 -0.0550311 0.998474 uwb: 0.0 845.82 985.286 -imu_odom_: 1691062592.413891699 0.687136 -0.227449 9.77074 -0.0447411 -0.00852212 0.036219 0.18 0.02 pose: 0.0 0.179784 0.0120654 0 -0.000737136-0.004647 -0.0550311 0.998474 uwb: 0.0 845.82 985.286 -imu_odom_: 1691062592.429826575 0.794875 -0.0550666 9.88805 -0.0511327 -0.0916127 0.076699 0.18 0.02 pose: 0.32045905 0.18543 0.00381178 0 -0.00153936 -0.00289623 -0.0549428 0.998484 uwb: 0.50004212 845.879 984.204 -imu_odom_: 1691062592.447013481 1.16837 -0.213084 9.65342 -0.0447411 -0.0447411 0.122505 0.21 -0.02 pose: 0.41923324 0.193683 0.00945875 0 -0.00119118 -0.00607603 -0.0546574 0.998486 uwb: 0.0 845.879 984.204 -imu_odom_: 1691062592.462834616 2.05901 -0.521936 9.99819 -0.0532632 -0.0639159 0.129962 0.21 -0.02 pose: 0.7210037 0.193683 0.00945875 0 -0.00118223 -0.00694539 -0.0543589 0.998497 uwb: 0.0 845.879 984.204 -imu_odom_: 1691062592.479005432 1.80762 -0.272939 9.78031 -0.0575243 -0.00213053 0.0830906 0.21 -0.02 pose: 0.0 0.193683 0.00945875 0 -0.00118223 -0.00694539 -0.0543589 0.998497 uwb: 0.49780228 845.99 982.721 -imu_odom_: 1691062592.493898554 1.52511 -0.047884 9.85932 -0.036219 0.0340885 0.02024 0.12 -0.02 pose: 0.41968820 0.201622 0.00800113 0 -0.00172957 -0.0117462 -0.0528783 0.99853 uwb: 0.0 845.99 982.721 -imu_odom_: 1691062592.509845679 0.732626 0.220267 9.94791 -0.0692422 0.0585895 0.0213053 0.13 0 pose: 0.0 0.201622 0.00800113 0 -0.00172957 -0.0117462 -0.0528783 0.99853 uwb: 0.0 845.99 982.721 -imu_odom_: 1691062592.525987914 0.560243 -0.241814 10.3262 -0.0649811 0.052198 0.0255663 0.13 0 pose: 0.0 0.201622 0.00800113 0 -0.00172957 -0.0117462 -0.0528783 0.99853 uwb: 0.50012961 846.355 980.863 -imu_odom_: 1691062592.542818722 0.799663 -0.493206 10.2592 -0.0532632 -0.0127832 -0.0138484 0.13 0 pose: 0.21909799 0.207593 0.00690722 0 -0.000690047-0.0128694 -0.0530992 0.998506 uwb: 0.0 846.355 980.863 -imu_odom_: 1691062592.559949633 0.849942 -0.213084 9.39485 -0.0511327 -0.0255663 0.00319579 0.13 0.02 pose: 0.0 0.207593 0.00690722 0 -0.000690047-0.0128694 -0.0530992 0.998506 uwb: 0.0 846.355 980.863 -imu_odom_: 1691062592.575826472 0.842759 -0.325611 9.80665 -0.0596548 0.0394148 0.0415453 0.13 0.02 pose: 0.0 0.207593 0.00690722 0 -0.000690047-0.0128694 -0.0530992 0.998506 uwb: 0.50240152 846.474 979.925 -imu_odom_: 1691062592.591941001 0.677559 -0.260968 10.2256 -0.0553937 -0.00426106 0.0479369 0.08 0 pose: 0.74911241 0.207593 0.00690722 0 -0.00261167 -0.0146094 -0.0540234 0.998429 uwb: 0.0 846.474 979.925 -imu_odom_: 1691062592.607942080 0.723049 -0.198719 9.65103 -0.052198 -0.0213053 0.04048 0.08 0 pose: 0.0 0.207593 0.00690722 0 -0.00261167 -0.0146094 -0.0540234 0.998429 uwb: 0.0 846.474 979.925 -imu_odom_: 1691062592.624941750 0.718261 -0.153229 9.80904 -0.052198 0.015979 0.0628506 0.08 0 pose: 0.0 0.207593 0.00690722 0 -0.00261167 -0.0146094 -0.0540234 0.998429 uwb: 0.50131369 846.724 979.14 -imu_odom_: 1691062592.640840463 0.758962 -0.385466 9.98143 -0.0639159 0.00958738 0.0671117 0.09 0.02 pose: 0.6999761 0.207593 0.00690722 0 -0.00284212 -0.0139485 -0.0539896 0.99844 uwb: 0.0 846.724 979.14 -imu_odom_: 1691062592.656874789 0.684742 -0.260968 10.0293 -0.056459 0.00213053 0.0340885 0.06 0 pose: 0.0 0.207593 0.00690722 0 -0.00284212 -0.0139485 -0.0539896 0.99844 uwb: 0.0 846.724 979.14 -imu_odom_: 1691062592.673875626 0.696713 -0.11971 9.75398 -0.0596548 -0.0117179 0.0287621 0.06 0 pose: 0.66059537 0.221503 0.0043346 0 -0.00261419 -0.0146374 -0.053553 0.998454 uwb: 0.49620990 846.916 978.621 -imu_odom_: 1691062592.689863290 0.768539 -0.23942 9.89045 -0.056459 0.00426106 0.0394148 0.06 0 pose: 0.0 0.221503 0.0043346 0 -0.00261419 -0.0146374 -0.053553 0.998454 uwb: 0.0 846.916 978.621 -imu_odom_: 1691062592.706941121 0.754174 -0.241814 9.99579 -0.0639159 -0.00106526 0.0490022 0.05 0.05 pose: 0.0 0.221503 0.0043346 0 -0.00261419 -0.0146374 -0.053553 0.998454 uwb: 0.0 846.916 978.621 -imu_odom_: 1691062592.722822335 0.653617 -0.174777 9.82341 -0.0436758 0.0149137 0.0511327 0.05 0.05 pose: 0.32933671 0.221503 0.0043346 0 -0.00163357 -0.015139 -0.0536822 0.998442 uwb: 0.50118245 847.096 977.693 -imu_odom_: 1691062592.739862544 0.37589 -0.25618 10.0365 -0.0649811 0.0245011 0.100135 0.06 0.08 pose: 0.41002894 0.221503 0.0043346 0 -0.00125038 -0.0161255 -0.0535187 0.998436 uwb: 0.0 847.096 977.693 -imu_odom_: 1691062592.755830667 0.356736 -0.385466 10.0078 -0.0532632 -0.0117179 0.116114 0.06 0.08 pose: 0.0 0.221503 0.0043346 0 -0.00125038 -0.0161255 -0.0535187 0.998436 uwb: 0.0 847.096 977.693 -imu_odom_: 1691062592.771846037 0.608127 -0.215478 9.88326 -0.0479369 -0.0266316 0.116114 0.06 0.08 pose: 0.0 0.221503 0.0043346 0 -0.00125038 -0.0161255 -0.0535187 0.998436 uwb: 0.50122327 846.868 977.114 -imu_odom_: 1691062592.788812168 0.852336 -0.184354 9.95988 -0.056459 -0.0117179 0.13955 0.03 0.08 pose: 0.7068298 0.221503 0.0043346 0 -0.00131313 -0.0153152 -0.0533049 0.99846 uwb: 0.0 846.868 977.114 -imu_odom_: 1691062592.805802506 0.778116 -0.323217 9.86172 -0.0585895 0.00532632 0.147006 0.04 0.14 pose: 0.0 0.221503 0.0043346 0 -0.00131313 -0.0153152 -0.0533049 0.99846 uwb: 0.0 846.868 977.114 -imu_odom_: 1691062592.821810293 0.677559 -0.299275 9.90002 -0.0532632 0.0127832 0.138484 0.04 0.14 pose: 0.66925137 0.221503 0.00433454 0 -0.00150969 -0.0138491 -0.0504989 0.998627 uwb: 0.49869764 847.276 976.493 -imu_odom_: 1691062592.837809914 0.493206 -0.21069 9.84256 -0.0553937 0.00319579 0.154463 0.04 0.14 pose: 0.0 0.221503 0.00433454 0 -0.00150969 -0.0138491 -0.0504989 0.998627 uwb: 0.0 847.276 976.493 -imu_odom_: 1691062592.854867330 0.545878 -0.287304 9.87129 -0.0585895 -0.00745685 0.166181 0.03 0.14 pose: 0.0 0.221503 0.00433454 0 -0.00150969 -0.0138491 -0.0504989 0.998627 uwb: 0.0 847.276 976.493 -imu_odom_: 1691062592.870807748 0.658405 -0.323217 9.93594 -0.052198 -0.0106526 0.155529 0.03 0.14 pose: 0.32060196 0.221503 0.00433454 0 -0.00345826 -0.0132618 -0.0487913 0.998715 uwb: 0.49983504 847.401 975.693 -imu_odom_: 1691062592.886811160 0.696713 -0.174777 9.90721 -0.0553937 -0.00532632 0.16192 0.01 0.11 pose: 0.41931782 0.221488 0.00432896 0 -0.00474212 -0.0117404 -0.04626 0.998849 uwb: 0.0 847.401 975.693 -imu_odom_: 1691062592.903798582 0.68953 -0.181959 9.87369 -0.0553937 0 0.169377 0.01 0.11 pose: 0.7061881 0.221503 0.00433453 0 -0.00412726 -0.0120815 -0.0458374 0.998867 uwb: 0.0 847.401 975.693 -imu_odom_: 1691062592.919806952 0.636858 -0.244209 9.93594 -0.0532632 0.00426106 0.167247 0.01 0.11 pose: 0.0 0.221503 0.00433453 0 -0.00412726 -0.0120815 -0.0458374 0.998867 uwb: 0.50062249 848.046 974.707 -imu_odom_: 1691062592.935804532 0.500388 -0.227449 9.84256 -0.056459 0.00639159 0.16192 0.01 0.14 pose: 0.41937323 0.221503 0.00433453 0 -0.00204689 -0.0115878 -0.0431965 0.998997 uwb: 0.0 848.046 974.707 -imu_odom_: 1691062592.951866273 0.466869 -0.248997 9.91439 -0.0553937 0.00106526 0.150202 0.01 0.11 pose: 0.0 0.221503 0.00433453 0 -0.00204689 -0.0115878 -0.0431965 0.998997 uwb: 0.0 848.046 974.707 -imu_odom_: 1691062592.967863561 0.474052 -0.189142 9.89284 -0.0553937 -0.00319579 0.133158 0.01 0.11 pose: 0.0 0.221503 0.00433453 0 -0.00204689 -0.0115878 -0.0431965 0.998997 uwb: 0.0 848.046 974.707 -imu_odom_: 1691062592.983800770 0.481235 -0.184354 9.87848 -0.0543285 -0.00426106 0.116114 0 0.08 pose: 0.23060045 0.221503 0.00433453 0 -0.00179869 -0.00919873 -0.0418286 0.999081 uwb: 0.49789853 848.229 974.057 -imu_odom_: 1691062592.999793392 0.567426 -0.225055 9.90002 -0.0543285 -0.0106526 0.1012 0 0.08 pose: 0.0 0.221503 0.00433453 0 -0.00179869 -0.00919873 -0.0418286 0.999081 uwb: 0.0 848.229 974.057 -imu_odom_: 1691062593.15791848 0.624887 -0.246603 9.88326 -0.056459 -0.00319579 0.0873517 0 0.08 pose: 0.31950537 0.221503 0.00433448 0 -0.00051113 -0.00637988 -0.040324 0.999166 uwb: 0.0 848.229 974.057 -imu_odom_: 1691062593.31866133 0.567426 -0.213084 9.85693 -0.0543285 -0.00532632 0.0735032 0 0.02 pose: 0.40974314 0.221503 0.00433448 0 -0.00106997 -0.00872493 -0.0391023 0.999197 uwb: 0.50017338 848.366 973.126 -imu_odom_: 1691062593.47791387 0.47884 -0.189142 9.88566 -0.056459 -0.00106526 0.0585895 0 0.02 pose: 0.6008754 0.221503 0.00433448 0 -0.000501908-0.00852407 -0.0390052 0.999203 uwb: 0.0 848.366 973.126 -imu_odom_: 1691062593.63818425 0.433351 -0.213084 9.87369 -0.0553937 0 0.0468716 0 0.02 pose: 0.0 0.221503 0.00433448 0 -0.000501908-0.00852407 -0.0390052 0.999203 uwb: 0.0 848.366 973.126 -imu_odom_: 1691062593.78817125 0.464475 -0.260968 9.88805 -0.0553937 -0.00426106 0.0383495 0 0.02 pose: 0.42017823 0.221503 0.00433448 0 0.000485723 -0.00496599 -0.0386363 0.999241 uwb: 0.50131959 848.464 972.051 -imu_odom_: 1691062593.93820198 0.426168 -0.229843 9.89763 -0.0543285 -0.00532632 0.0340885 0 0 pose: 0.0 0.221503 0.00433448 0 0.000485723 -0.00496599 -0.0386363 0.999241 uwb: 0.0 848.464 972.051 -imu_odom_: 1691062593.108862353 0.45011 -0.237026 9.9096 -0.0575243 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 0.000485723 -0.00496599 -0.0386363 0.999241 uwb: 0.0 848.464 972.051 -imu_odom_: 1691062593.122806465 0.452504 -0.28491 9.88087 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.21120028 0.221503 0.00433448 0 -0.000783121-0.00354306 -0.0386561 0.999246 uwb: 0.49890478 848.982 971.874 -imu_odom_: 1691062593.136775950 0.435745 -0.220267 9.88566 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000783121-0.00354306 -0.0386561 0.999246 uwb: 0.0 848.982 971.874 -imu_odom_: 1691062593.151835895 0.462081 -0.217872 9.89763 -0.056459 -0.00532632 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000783121-0.00354306 -0.0386561 0.999246 uwb: 0.0 848.982 971.874 -imu_odom_: 1691062593.165778257 0.399832 -0.25618 9.88087 -0.0553937 -0.00213053 0.0383495 0 0 pose: 0.29894740 0.221503 0.00433448 0 -0.00261614 -0.00201146 -0.038669 0.999247 uwb: 0.0 848.982 971.874 -imu_odom_: 1691062593.180890698 0.418985 -0.263362 9.84256 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.42951377 0.221503 0.00433448 0 -0.00096181 -0.00222023 -0.0386641 0.999249 uwb: 0.49960180 849.063 970.934 -imu_odom_: 1691062593.194864558 0.42138 -0.232238 9.89045 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00096181 -0.00222023 -0.0386641 0.999249 uwb: 0.0 849.063 970.934 -imu_odom_: 1691062593.208859708 0.45011 -0.251391 9.91199 -0.0553937 -0.00745685 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00096181 -0.00222023 -0.0386641 0.999249 uwb: 0.0 849.063 970.934 -imu_odom_: 1691062593.222781364 0.454898 -0.232238 9.87848 -0.056459 -0.00745685 0.0383495 0 0 pose: 0.43086992 0.221503 0.00433448 0 -0.00148443 -0.00140556 -0.0386743 0.99925 uwb: 0.50139251 848.833 970.616 -imu_odom_: 1691062593.237923261 0.435745 -0.215478 9.90721 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00148443 -0.00140556 -0.0386743 0.99925 uwb: 0.0 848.833 970.616 -imu_odom_: 1691062593.252051109 0.47884 -0.237026 9.9096 -0.0553937 -0.00319579 0.0372843 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00148443 -0.00140556 -0.0386743 0.99925 uwb: 0.0 848.833 970.616 -imu_odom_: 1691062593.266953857 0.399832 -0.246603 9.90242 -0.056459 -0.00426106 0.0383495 0 0 pose: 0.43085826 0.221503 0.00433448 0 -0.000305613-0.00198828 -0.0386923 0.999249 uwb: 0.0 848.833 970.616 -imu_odom_: 1691062593.281948765 0.416591 -0.251391 9.91678 -0.0543285 -0.00532632 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000305613-0.00198828 -0.0386923 0.999249 uwb: 0.49861896 848.618 970.848 -imu_odom_: 1691062593.296050074 0.452504 -0.234632 9.90721 -0.056459 -0.00852212 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000305613-0.00198828 -0.0386923 0.999249 uwb: 0.0 848.618 970.848 -imu_odom_: 1691062593.310922783 0.440533 -0.23942 9.86411 -0.0543285 -0.00639159 0.0394148 0 0 pose: 0.44106290 0.221503 0.00433448 0 -0.00198852 -0.000845349-0.0386892 0.999249 uwb: 0.0 848.618 970.848 -imu_odom_: 1691062593.325951230 0.423774 -0.229843 9.8689 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00198852 -0.000845349-0.0386892 0.999249 uwb: 0.49991970 848.767 970.329 -imu_odom_: 1691062593.339908758 0.428562 -0.248997 9.8689 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00198852 -0.000845349-0.0386892 0.999249 uwb: 0.0 848.767 970.329 -imu_odom_: 1691062593.353973319 0.414197 -0.248997 9.91918 -0.0532632 -0.00426106 0.0394148 0 0 pose: 0.43866266 0.221503 0.00433448 0 -0.00140703 -0.00121576 -0.0386867 0.99925 uwb: 0.0 848.767 970.329 -imu_odom_: 1691062593.367970219 0.442927 -0.232238 9.89045 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00140703 -0.00121576 -0.0386867 0.99925 uwb: 0.0 848.767 970.329 -imu_odom_: 1691062593.381915498 0.440533 -0.260968 9.91918 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00140703 -0.00121576 -0.0386867 0.99925 uwb: 0.49980888 848.936 970.088 -imu_odom_: 1691062593.396934904 0.442927 -0.25618 9.88087 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.42016656 0.221503 0.00433448 0 -0.0016997 -0.00157327 -0.0386899 0.999249 uwb: 0.0 848.936 970.088 -imu_odom_: 1691062593.412039179 0.430956 -0.227449 9.89763 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0016997 -0.00157327 -0.0386899 0.999249 uwb: 0.0 848.936 970.088 -imu_odom_: 1691062593.425878007 0.42138 -0.244209 9.90242 -0.0543285 0 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0016997 -0.00157327 -0.0386899 0.999249 uwb: 0.50251242 848.705 969.905 -imu_odom_: 1691062593.440759465 0.430956 -0.260968 9.84017 -0.0553937 -0.00639159 0.0372843 0 0 pose: 0.43979717 0.221503 0.00433448 0 -0.00116992 -0.00094845 -0.0386836 0.99925 uwb: 0.0 848.705 969.905 -imu_odom_: 1691062593.455756706 0.42138 -0.225055 9.92636 -0.0553937 -0.00213053 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00116992 -0.00094845 -0.0386836 0.99925 uwb: 0.0 848.705 969.905 -imu_odom_: 1691062593.469767897 0.445322 -0.260968 9.87129 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00116992 -0.00094845 -0.0386836 0.99925 uwb: 0.49637913 848.969 969.683 -imu_odom_: 1691062593.483756339 0.440533 -0.241814 9.8665 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.43845851 0.221503 0.00433448 0 -0.00199031 -0.00168425 -0.0387045 0.999247 uwb: 0.0 848.969 969.683 -imu_odom_: 1691062593.497814193 0.447716 -0.232238 9.89763 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00199031 -0.00168425 -0.0387045 0.999247 uwb: 0.0 848.969 969.683 -imu_odom_: 1691062593.511810509 0.435745 -0.241814 9.87369 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00199031 -0.00168425 -0.0387045 0.999247 uwb: 0.0 848.969 969.683 -imu_odom_: 1691062593.525778828 0.447716 -0.253785 9.90481 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.41987784 0.221503 0.00433448 0 -0.000851665-0.00250869 -0.0387083 0.999247 uwb: 0.50127002 848.614 969.749 -imu_odom_: 1691062593.539746855 0.457293 -0.253785 9.91439 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000851665-0.00250869 -0.0387083 0.999247 uwb: 0.0 848.614 969.749 -imu_odom_: 1691062593.553749005 0.433351 -0.217872 9.90481 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000851665-0.00250869 -0.0387083 0.999247 uwb: 0.0 848.614 969.749 -imu_odom_: 1691062593.567804817 0.416591 -0.23942 9.88805 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.49989053 0.221503 0.00433448 0 -0.00054166 -0.00197993 -0.0386957 0.999249 uwb: 0.0 848.614 969.749 -imu_odom_: 1691062593.581812800 0.440533 -0.232238 9.85932 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00054166 -0.00197993 -0.0386957 0.999249 uwb: 0.50000135 848.641 969.617 -imu_odom_: 1691062593.596936323 0.423774 -0.222661 9.90002 -0.056459 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00054166 -0.00197993 -0.0386957 0.999249 uwb: 0.0 848.641 969.617 -imu_odom_: 1691062593.610827647 0.457293 -0.258574 9.92397 -0.0543285 -0.00319579 0.04048 0 0 pose: 0.6005254 0.221503 0.00433448 0 -0.000836074-0.00145654 -0.0386985 0.99925 uwb: 0.0 848.641 969.617 -imu_odom_: 1691062593.624893376 0.397437 -0.220267 9.91918 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000836074-0.00145654 -0.0386985 0.99925 uwb: 0.49873271 848.758 969.641 -imu_odom_: 1691062593.639893533 0.459687 -0.225055 9.9096 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000836074-0.00145654 -0.0386985 0.99925 uwb: 0.0 848.758 969.641 -imu_odom_: 1691062593.653861852 0.433351 -0.225055 9.88087 -0.0532632 -0.00319579 0.0394148 0 0 pose: 0.71209408 0.221503 0.00433448 0 -0.000674609-0.00106834 -0.0387021 0.99925 uwb: 0.0 848.758 969.641 -imu_odom_: 1691062593.668896715 0.409408 -0.241814 9.87369 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000674609-0.00106834 -0.0387021 0.99925 uwb: 0.50116502 848.735 969.636 -imu_odom_: 1691062593.683732677 0.409408 -0.241814 9.90481 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000674609-0.00106834 -0.0387021 0.99925 uwb: 0.0 848.735 969.636 -imu_odom_: 1691062593.697858483 0.414197 -0.229843 9.83777 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.28939603 0.221503 0.00433448 0 -0.00101412 -0.000388685-0.0387074 0.99925 uwb: 0.0 848.735 969.636 -imu_odom_: 1691062593.711854217 0.454898 -0.251391 9.87848 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00101412 -0.000388685-0.0387074 0.99925 uwb: 0.0 848.735 969.636 -imu_odom_: 1691062593.725727168 0.445322 -0.227449 9.89284 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.43837394 0.221503 0.00433448 0 -0.00190115 -0.00108508 -0.0387089 0.999248 uwb: 0.50171623 848.48 969.447 -imu_odom_: 1691062593.739786771 0.45011 -0.213084 9.87369 -0.056459 -0.00426106 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00190115 -0.00108508 -0.0387089 0.999248 uwb: 0.0 848.48 969.447 -imu_odom_: 1691062593.753725051 0.459687 -0.23942 9.89284 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00190115 -0.00108508 -0.0387089 0.999248 uwb: 0.0 848.48 969.447 -imu_odom_: 1691062593.767743824 0.433351 -0.232238 9.88805 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.49984387 0.221503 0.00433448 0 -0.000710636-0.00281239 -0.0387166 0.999246 uwb: 0.0 848.48 969.447 -imu_odom_: 1691062593.781799053 0.430956 -0.222661 9.87369 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000710636-0.00281239 -0.0387166 0.999246 uwb: 0.49803276 848.167 968.832 -imu_odom_: 1691062593.795790120 0.42138 -0.253785 9.89045 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000710636-0.00281239 -0.0387166 0.999246 uwb: 0.0 848.167 968.832 -imu_odom_: 1691062593.809790228 0.45011 -0.241814 9.88566 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.6006421 0.221503 0.00433448 0 -0.000824416-0.00222231 -0.0387165 0.999247 uwb: 0.0 848.167 968.832 -imu_odom_: 1691062593.823790920 0.423774 -0.232238 9.92636 -0.0543285 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000824416-0.00222231 -0.0387165 0.999247 uwb: 0.49898644 848.147 968.69 -imu_odom_: 1691062593.837731532 0.447716 -0.253785 9.88805 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000824416-0.00222231 -0.0387165 0.999247 uwb: 0.0 848.147 968.69 -imu_odom_: 1691062593.852784477 0.440533 -0.244209 9.93354 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.70072285 0.221503 0.00433448 0 -0.001375 -0.00148877 -0.0387289 0.999248 uwb: 0.0 848.147 968.69 -imu_odom_: 1691062593.866724507 0.430956 -0.25618 9.89045 -0.0543285 -0.00745685 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.001375 -0.00148877 -0.0387289 0.999248 uwb: 0.0 848.147 968.69 -imu_odom_: 1691062593.880788193 0.423774 -0.244209 9.90721 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.001375 -0.00148877 -0.0387289 0.999248 uwb: 0.0 848.147 968.69 -imu_odom_: 1691062593.894837298 0.454898 -0.251391 9.91199 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.28986558 0.221503 0.00433448 0 -0.00122743 -0.00131584 -0.0387285 0.999248 uwb: 0.0 848.147 968.69 -imu_odom_: 1691062593.909941280 0.430956 -0.253785 9.88566 -0.0532632 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00122743 -0.00131584 -0.0387285 0.999248 uwb: 0.0 848.147 968.69 -imu_odom_: 1691062593.923738696 0.440533 -0.263362 9.89045 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.41987200 0.221503 0.00433448 0 -0.00201251 -0.00138465 -0.0387183 0.999247 uwb: 0.100232713 848.381 968.738 -imu_odom_: 1691062593.938924631 0.445322 -0.23942 9.89284 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00201251 -0.00138465 -0.0387183 0.999247 uwb: 0.0 848.381 968.738 -imu_odom_: 1691062593.953927413 0.438139 -0.232238 9.89284 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00201251 -0.00138465 -0.0387183 0.999247 uwb: 0.0 848.381 968.738 -imu_odom_: 1691062593.967740577 0.433351 -0.23942 9.92157 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.44106290 0.221503 0.00433448 0 -0.000958746-0.00149708 -0.0387294 0.999248 uwb: 0.0 848.381 968.738 -imu_odom_: 1691062593.982866725 0.409408 -0.222661 9.91678 -0.056459 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000958746-0.00149708 -0.0387294 0.999248 uwb: 0.49949389 848.178 968.42 -imu_odom_: 1691062593.996793338 0.457293 -0.217872 9.89284 -0.0543285 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000958746-0.00149708 -0.0387294 0.999248 uwb: 0.0 848.178 968.42 -imu_odom_: 1691062594.11754708 0.411803 -0.25618 9.92397 -0.056459 0 0.0394148 0 0 pose: 0.28934354 0.221503 0.00433448 0 -0.00114718 -0.00134386 -0.0387292 0.999248 uwb: 0.0 848.178 968.42 -imu_odom_: 1691062594.26744952 0.411803 -0.232238 9.91918 -0.0553937 -0.00319579 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00114718 -0.00134386 -0.0387292 0.999248 uwb: 0.49763032 848.249 968.435 -imu_odom_: 1691062594.41881310 0.454898 -0.237026 9.90481 -0.0543285 -0.00852212 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00114718 -0.00134386 -0.0387292 0.999248 uwb: 0.0 848.249 968.435 -imu_odom_: 1691062594.55831257 0.459687 -0.229843 9.90481 -0.0553937 -0.00532632 0.0415453 0 0 pose: 0.14939495 0.221503 0.00433448 0 -0.000536533-0.00117608 -0.0387339 0.999249 uwb: 0.0 848.249 968.435 -imu_odom_: 1691062594.70777462 0.464475 -0.251391 9.90242 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000536533-0.00117608 -0.0387339 0.999249 uwb: 0.50003934 847.859 968.907 -imu_odom_: 1691062594.155748425 0.454898 -0.277727 9.84017 -0.0553937 -0.00106526 0.0394148 0 0 pose: 0.87959152 0.221503 0.00433448 0 -0.0021513 -0.00257994 -0.0387284 0.999244 uwb: 0.50204878 847.773 968.613 -imu_odom_: 1691062594.169686998 0.409408 -0.237026 9.89763 -0.052198 0 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0021513 -0.00257994 -0.0387284 0.999244 uwb: 0.49921400 847.656 968.589 -imu_odom_: 1691062594.183750687 0.399832 -0.222661 9.90481 -0.0553937 -0.00213053 0.0394148 0 0 pose: 0.42984631 0.221503 0.00433448 0 -0.000831735-0.00230313 -0.0387367 0.999246 uwb: 0.0 847.656 968.589 -imu_odom_: 1691062594.197734757 0.418985 -0.213084 9.93833 -0.0543285 -0.00745685 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000831735-0.00230313 -0.0387367 0.999246 uwb: 0.0 847.656 968.589 -imu_odom_: 1691062594.212791204 0.454898 -0.234632 9.90721 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000831735-0.00230313 -0.0387367 0.999246 uwb: 0.0 847.656 968.589 -imu_odom_: 1691062594.226716653 0.428562 -0.248997 9.9096 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.42049910 0.221503 0.00433448 0 -0.00246336 -0.00190391 -0.0387247 0.999245 uwb: 0.49936565 847.698 968.736 -imu_odom_: 1691062594.241715938 0.440533 -0.263362 9.90002 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00246336 -0.00190391 -0.0387247 0.999245 uwb: 0.0 847.698 968.736 -imu_odom_: 1691062594.255772919 0.438139 -0.251391 9.88326 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00246336 -0.00190391 -0.0387247 0.999245 uwb: 0.0 847.698 968.736 -imu_odom_: 1691062594.269724907 0.438139 -0.229843 9.90002 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.42018996 0.221503 0.00433448 0 -8.48264e-05-0.00143293 -0.0387234 0.999249 uwb: 0.49933648 848.292 968.582 -imu_odom_: 1691062594.284757731 0.452504 -0.253785 9.86411 -0.056459 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -8.48264e-05-0.00143293 -0.0387234 0.999249 uwb: 0.0 848.292 968.582 -imu_odom_: 1691062594.299694896 0.428562 -0.253785 9.90002 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -8.48264e-05-0.00143293 -0.0387234 0.999249 uwb: 0.0 848.292 968.582 -imu_odom_: 1691062594.313751585 0.447716 -0.23942 9.88805 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.43956391 0.221503 0.00433448 0 -0.00244222 -0.00191311 -0.0387317 0.999245 uwb: 0.0 848.292 968.582 -imu_odom_: 1691062594.328969895 0.435745 -0.232238 9.88805 -0.056459 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00244222 -0.00191311 -0.0387317 0.999245 uwb: 0.50180380 848.556 967.672 -imu_odom_: 1691062594.342697026 0.423774 -0.222661 9.93594 -0.0543285 0 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00244222 -0.00191311 -0.0387317 0.999245 uwb: 0.0 848.556 967.672 -imu_odom_: 1691062594.356696552 0.407014 -0.234632 9.87608 -0.056459 -0.00213053 0.0394148 0 0 pose: 0.87086262 0.221503 0.00433448 0 -0.00094046 -0.00112349 -0.0387318 0.999249 uwb: 0.0 848.556 967.672 -imu_odom_: 1691062594.370690830 0.411803 -0.232238 9.89284 -0.056459 -0.00639159 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00094046 -0.00112349 -0.0387318 0.999249 uwb: 0.49918191 848.617 967.961 -imu_odom_: 1691062594.384697939 0.454898 -0.21069 9.92157 -0.0553937 -0.00639159 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00094046 -0.00112349 -0.0387318 0.999249 uwb: 0.0 848.617 967.961 -imu_odom_: 1691062594.399824381 0.435745 -0.251391 9.89045 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.41943168 0.221503 0.00433448 0 -0.000387716-0.00195154 -0.0387324 0.999248 uwb: 0.0 848.617 967.961 -imu_odom_: 1691062594.414820749 0.411803 -0.220267 9.84975 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000387716-0.00195154 -0.0387324 0.999248 uwb: 0.0 848.617 967.961 -imu_odom_: 1691062594.428680870 0.435745 -0.213084 9.90481 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000387716-0.00195154 -0.0387324 0.999248 uwb: 0.50102511 848.533 968.357 -imu_odom_: 1691062594.442744267 0.440533 -0.237026 9.92636 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.43953474 0.221503 0.00433448 0 -0.000207707-0.00121129 -0.0387268 0.999249 uwb: 0.0 848.533 968.357 -imu_odom_: 1691062594.457734219 0.445322 -0.234632 9.88566 -0.0543285 -0.00639159 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000207707-0.00121129 -0.0387268 0.999249 uwb: 0.0 848.533 968.357 -imu_odom_: 1691062594.471694083 0.426168 -0.246603 9.90242 -0.056459 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000207707-0.00121129 -0.0387268 0.999249 uwb: 0.49785785 848.678 968.25 -imu_odom_: 1691062594.485797435 0.433351 -0.237026 9.88805 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.43030711 0.221503 0.00433448 0 -0.000786272-0.00264966 -0.0387102 0.999247 uwb: 0.0 848.678 968.25 -imu_odom_: 1691062594.500680937 0.428562 -0.23942 9.92157 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000786272-0.00264966 -0.0387102 0.999247 uwb: 0.0 848.678 968.25 -imu_odom_: 1691062594.514741417 0.457293 -0.244209 9.90002 -0.056459 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000786272-0.00264966 -0.0387102 0.999247 uwb: 0.0 848.678 968.25 -imu_odom_: 1691062594.528738028 0.433351 -0.253785 9.88566 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.43007380 0.221503 0.00433448 0 -0.00159494 -0.00262149 -0.0387093 0.999246 uwb: 0.50037474 848.317 967.759 -imu_odom_: 1691062594.543795641 0.447716 -0.234632 9.87848 -0.0575243 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00159494 -0.00262149 -0.0387093 0.999246 uwb: 0.0 848.317 967.759 -imu_odom_: 1691062594.557792544 0.454898 -0.217872 9.91199 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00159494 -0.00262149 -0.0387093 0.999246 uwb: 0.0 848.317 967.759 -imu_odom_: 1691062594.572717751 0.462081 -0.246603 9.88805 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.43003880 0.221503 0.00433448 0 -0.000113033-0.00277508 -0.0386999 0.999247 uwb: 0.50021725 848.626 967.687 -imu_odom_: 1691062594.587884148 0.418985 -0.241814 9.90721 -0.0543285 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000113033-0.00277508 -0.0386999 0.999247 uwb: 0.0 848.626 967.687 -imu_odom_: 1691062594.602749859 0.457293 -0.217872 9.89284 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000113033-0.00277508 -0.0386999 0.999247 uwb: 0.0 848.626 967.687 -imu_odom_: 1691062594.616757552 0.435745 -0.19393 9.84975 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.44081798 0.221503 0.00433448 0 -0.000874667-0.00205142 -0.0387 0.999248 uwb: 0.0 848.626 967.687 -imu_odom_: 1691062594.631667302 0.438139 -0.246603 9.90721 -0.0543285 -0.00639159 0.0415453 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000874667-0.00205142 -0.0387 0.999248 uwb: 0.50117676 848.631 967.55 -imu_odom_: 1691062594.645733615 0.442927 -0.237026 9.86411 -0.0553937 -0.00319579 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000874667-0.00205142 -0.0387 0.999248 uwb: 0.0 848.631 967.55 -imu_odom_: 1691062594.660659114 0.409408 -0.237026 9.90242 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.43837400 0.221503 0.00433448 0 -0.00124597 -0.0019986 -0.0386807 0.999249 uwb: 0.0 848.631 967.55 -imu_odom_: 1691062594.674799214 0.462081 -0.241814 9.87129 -0.0575243 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00124597 -0.0019986 -0.0386807 0.999249 uwb: 0.50048848 848.659 967.417 -imu_odom_: 1691062594.689795290 0.428562 -0.237026 9.90481 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00124597 -0.0019986 -0.0386807 0.999249 uwb: 0.0 848.659 967.417 -imu_odom_: 1691062594.703662702 0.414197 -0.244209 9.91199 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.43134828 0.221503 0.00433448 0 -0.00133232 -0.00173694 -0.0386709 0.99925 uwb: 0.0 848.659 967.417 -imu_odom_: 1691062594.718656737 0.433351 -0.222661 9.89763 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00133232 -0.00173694 -0.0386709 0.99925 uwb: 0.49906234 848.792 967.031 -imu_odom_: 1691062594.733657480 0.428562 -0.25618 9.89284 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00133232 -0.00173694 -0.0386709 0.99925 uwb: 0.0 848.792 967.031 -imu_odom_: 1691062594.747713003 0.438139 -0.222661 9.88805 -0.056459 -0.00958738 0.04048 0 0 pose: 0.44003346 0.221503 0.00433448 0 -0.0016461 -0.00112337 -0.0386582 0.999251 uwb: 0.0 848.792 967.031 -imu_odom_: 1691062594.762711121 0.457293 -0.234632 9.90242 -0.056459 -0.00852212 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0016461 -0.00112337 -0.0386582 0.999251 uwb: 0.0 848.792 967.031 -imu_odom_: 1691062594.776710065 0.445322 -0.246603 9.92636 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0016461 -0.00112337 -0.0386582 0.999251 uwb: 0.49841780 848.815 967.037 -imu_odom_: 1691062594.790857164 0.45011 -0.253785 9.90002 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.28858531 0.221503 0.00433448 0 -0.00114644 -0.00225768 -0.0386524 0.99925 uwb: 0.0 848.815 967.037 -imu_odom_: 1691062594.805747082 0.440533 -0.222661 9.88087 -0.0553937 -0.00426106 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00114644 -0.00225768 -0.0386524 0.99925 uwb: 0.0 848.815 967.037 -imu_odom_: 1691062594.820800612 0.447716 -0.227449 9.86411 -0.0543285 -0.00639159 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00114644 -0.00225768 -0.0386524 0.99925 uwb: 0.50000435 849.183 967.255 -imu_odom_: 1691062594.834825512 0.426168 -0.246603 9.91439 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.14992869 0.221503 0.00433448 0 -0.00140772 -0.00265759 -0.0386484 0.999248 uwb: 0.0 849.183 967.255 -imu_odom_: 1691062594.849654477 0.409408 -0.232238 9.9096 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00140772 -0.00265759 -0.0386484 0.999248 uwb: 0.0 849.183 967.255 -imu_odom_: 1691062594.863660420 0.457293 -0.234632 9.87369 -0.0553937 -0.00426106 0.0372843 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00140772 -0.00265759 -0.0386484 0.999248 uwb: 0.0 849.183 967.255 -imu_odom_: 1691062594.877720900 0.428562 -0.229843 9.89763 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.43169825 0.221503 0.00433448 0 -0.000761274-0.00226946 -0.0386648 0.999249 uwb: 0.50157924 849.136 967.245 -imu_odom_: 1691062594.922670342 0.42138 -0.225055 9.88326 -0.0553937 -0.00639159 0.0394148 0 0 pose: 0.86915358 0.221503 0.00433448 0 -0.000921111-0.00132656 -0.0386934 0.99925 uwb: 0.49981186 849.141 967.108 -imu_odom_: 1691062594.937643962 0.435745 -0.237026 9.87369 -0.0543285 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000921111-0.00132656 -0.0386934 0.99925 uwb: 0.0 849.141 967.108 -imu_odom_: 1691062594.951641447 0.433351 -0.251391 9.88566 -0.0553937 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000921111-0.00132656 -0.0386934 0.99925 uwb: 0.0 849.141 967.108 -imu_odom_: 1691062594.966698477 0.42138 -0.244209 9.85453 -0.0543285 -0.00426106 0.0394148 0 0 pose: 0.44904819 0.221503 0.00433448 0 -0.00197705 -0.00146106 -0.0386943 0.999248 uwb: 0.0 849.141 967.108 -imu_odom_: 1691062594.981704762 0.423774 -0.25618 9.87129 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00197705 -0.00146106 -0.0386943 0.999248 uwb: 0.49839447 849.089 967.234 -imu_odom_: 1691062594.995693789 0.409408 -0.232238 9.85453 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00197705 -0.00146106 -0.0386943 0.999248 uwb: 0.0 849.089 967.234 -imu_odom_: 1691062595.10649037 0.423774 -0.25618 9.90002 -0.0532632 -0.00426106 0.0394148 0 0 pose: 0.43993722 0.221503 0.00433448 0 -0.00217027 -0.000845842-0.0386972 0.999248 uwb: 0.0 849.089 967.234 -imu_odom_: 1691062595.24638358 0.426168 -0.248997 9.87369 -0.0553937 -0.00319579 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00217027 -0.000845842-0.0386972 0.999248 uwb: 0.50053517 848.786 967.168 -imu_odom_: 1691062595.38631179 0.428562 -0.234632 9.90721 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00217027 -0.000845842-0.0386972 0.999248 uwb: 0.0 848.786 967.168 -imu_odom_: 1691062595.53634841 0.426168 -0.205901 9.90721 -0.0575243 -0.00426106 0.04048 0 0 pose: 0.42996301 0.221503 0.00433448 0 -0.000905798-0.00143427 -0.0387063 0.999249 uwb: 0.0 848.786 967.168 -imu_odom_: 1691062595.68690999 0.430956 -0.244209 9.89763 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000905798-0.00143427 -0.0387063 0.999249 uwb: 0.50062271 848.872 966.773 -imu_odom_: 1691062595.82643573 0.428562 -0.213084 9.91439 -0.0543285 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000905798-0.00143427 -0.0387063 0.999249 uwb: 0.0 848.872 966.773 -imu_odom_: 1691062595.97634694 0.462081 -0.232238 9.91918 -0.0553937 -0.00639159 0.0383495 0 0 pose: 0.44008894 0.221503 0.00433448 0 -0.000233384-0.00127567 -0.038701 0.99925 uwb: 0.0 848.872 966.773 -imu_odom_: 1691062595.111639472 0.411803 -0.234632 9.89763 -0.056459 -0.00426106 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000233384-0.00127567 -0.038701 0.99925 uwb: 0.0 848.872 966.773 -imu_odom_: 1691062595.125635793 0.42138 -0.237026 9.88087 -0.0585895 -0.00532632 0.04048 0 0 pose: 0.0 0.221503 0.00433448 0 -0.000233384-0.00127567 -0.038701 0.99925 uwb: 0.49875327 848.864 967.599 -imu_odom_: 1691062595.140638580 0.438139 -0.260968 9.91199 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.42993095 0.221503 0.00433448 0 -0.00137705 -0.000775448-0.0386943 0.99925 uwb: 0.0 848.864 967.599 -imu_odom_: 1691062595.155700570 0.440533 -0.253785 9.87129 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00137705 -0.000775448-0.0386943 0.99925 uwb: 0.0 848.864 967.599 -imu_odom_: 1691062595.169684350 0.440533 -0.234632 9.90002 -0.0553937 -0.00426106 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00137705 -0.000775448-0.0386943 0.99925 uwb: 0.50184470 848.789 967.721 -imu_odom_: 1691062595.184630850 0.426168 -0.23942 9.89763 -0.0543285 -0.00532632 0.0383495 0 0 pose: 0.44057890 0.221503 0.00433448 0 -0.0015101 -0.00168593 -0.0386891 0.999249 uwb: 0.0 848.789 967.721 -imu_odom_: 1691062595.198627462 0.445322 -0.258574 9.9096 -0.056459 -0.00532632 0.0383495 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0015101 -0.00168593 -0.0386891 0.999249 uwb: 0.0 848.789 967.721 -imu_odom_: 1691062595.213690036 0.418985 -0.244209 9.87608 -0.056459 -0.00532632 0.0426106 0 0 pose: 0.0 0.221503 0.00433448 0 -0.0015101 -0.00168593 -0.0386891 0.999249 uwb: 0.0 848.789 967.721 -imu_odom_: 1691062595.228738028 0.426168 -0.220267 9.89524 -0.0553937 -0.00426106 0.04048 0 0 pose: 0.36927177 0.221503 0.00433448 0 -0.00194447 -0.00180531 -0.0387064 0.999247 uwb: 0.49946197 848.705 968.117 -imu_odom_: 1691062595.243732648 0.433351 -0.217872 9.83538 -0.0553937 -0.00532632 0.0394148 0 0 pose: 0.0 0.221503 0.00433448 0 -0.00194447 -0.00180531 -0.0387064 0.999247 uwb: 0.0 848.705 968.117 -imu_odom_: 1691062595.257635643 0.45011 -0.258574 9.87848 -0.0553937 -0.00532632 0.04048 0 0 pose: 0.6045503 0.221503 0.00433448 0 -0.00173401 -0.00124216 -0.0386966 0.999249 uwb: 0.0 848.705 968.117 diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/.built_by b/Code/MowingRobot/Robot_ROS_APP/devel/.built_by deleted file mode 100644 index 2e212dd..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/.built_by +++ /dev/null @@ -1 +0,0 @@ -catkin_make \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/.catkin b/Code/MowingRobot/Robot_ROS_APP/devel/.catkin deleted file mode 100644 index 780709a..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/.catkin +++ /dev/null @@ -1 +0,0 @@ -/home/luoruidi/Desktop/ros_learn/C++_Merge_Ros/merge_ros/src \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/.rosinstall b/Code/MowingRobot/Robot_ROS_APP/devel/.rosinstall deleted file mode 100644 index eaa4d0d..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/.rosinstall +++ /dev/null @@ -1,2 +0,0 @@ -- setup-file: - local-name: /home/luoruidi/Desktop/ros_learn/C++_Merge_Ros/merge_ros/devel/setup.sh diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/_setup_util.py b/Code/MowingRobot/Robot_ROS_APP/devel/_setup_util.py deleted file mode 100644 index f613583..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/_setup_util.py +++ /dev/null @@ -1,304 +0,0 @@ -#!/usr/bin/python3 -# -*- coding: utf-8 -*- - -# Software License Agreement (BSD License) -# -# Copyright (c) 2012, Willow Garage, Inc. -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions -# are met: -# -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of Willow Garage, Inc. nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS -# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT -# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS -# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -# COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, -# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, -# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT -# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN -# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -# POSSIBILITY OF SUCH DAMAGE. - -"""This file generates shell code for the setup.SHELL scripts to set environment variables.""" - -from __future__ import print_function - -import argparse -import copy -import errno -import os -import platform -import sys - -CATKIN_MARKER_FILE = '.catkin' - -system = platform.system() -IS_DARWIN = (system == 'Darwin') -IS_WINDOWS = (system == 'Windows') - -PATH_TO_ADD_SUFFIX = ['bin'] -if IS_WINDOWS: - # while catkin recommends putting dll's into bin, 3rd party packages often put dll's into lib - # since Windows finds dll's via the PATH variable, prepend it with path to lib - PATH_TO_ADD_SUFFIX.extend([['lib', os.path.join('lib', 'x86_64-linux-gnu')]]) - -# subfolder of workspace prepended to CMAKE_PREFIX_PATH -ENV_VAR_SUBFOLDERS = { - 'CMAKE_PREFIX_PATH': '', - 'LD_LIBRARY_PATH' if not IS_DARWIN else 'DYLD_LIBRARY_PATH': ['lib', os.path.join('lib', 'x86_64-linux-gnu')], - 'PATH': PATH_TO_ADD_SUFFIX, - 'PKG_CONFIG_PATH': [os.path.join('lib', 'pkgconfig'), os.path.join('lib', 'x86_64-linux-gnu', 'pkgconfig')], - 'PYTHONPATH': 'lib/python3/dist-packages', -} - - -def rollback_env_variables(environ, env_var_subfolders): - """ - Generate shell code to reset environment variables. - - by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH. - This does not cover modifications performed by environment hooks. - """ - lines = [] - unmodified_environ = copy.copy(environ) - for key in sorted(env_var_subfolders.keys()): - subfolders = env_var_subfolders[key] - if not isinstance(subfolders, list): - subfolders = [subfolders] - value = _rollback_env_variable(unmodified_environ, key, subfolders) - if value is not None: - environ[key] = value - lines.append(assignment(key, value)) - if lines: - lines.insert(0, comment('reset environment variables by unrolling modifications based on all workspaces in CMAKE_PREFIX_PATH')) - return lines - - -def _rollback_env_variable(environ, name, subfolders): - """ - For each catkin workspace in CMAKE_PREFIX_PATH remove the first entry from env[NAME] matching workspace + subfolder. - - :param subfolders: list of str '' or subfoldername that may start with '/' - :returns: the updated value of the environment variable. - """ - value = environ[name] if name in environ else '' - env_paths = [path for path in value.split(os.pathsep) if path] - value_modified = False - for subfolder in subfolders: - if subfolder: - if subfolder.startswith(os.path.sep) or (os.path.altsep and subfolder.startswith(os.path.altsep)): - subfolder = subfolder[1:] - if subfolder.endswith(os.path.sep) or (os.path.altsep and subfolder.endswith(os.path.altsep)): - subfolder = subfolder[:-1] - for ws_path in _get_workspaces(environ, include_fuerte=True, include_non_existing=True): - path_to_find = os.path.join(ws_path, subfolder) if subfolder else ws_path - path_to_remove = None - for env_path in env_paths: - env_path_clean = env_path[:-1] if env_path and env_path[-1] in [os.path.sep, os.path.altsep] else env_path - if env_path_clean == path_to_find: - path_to_remove = env_path - break - if path_to_remove: - env_paths.remove(path_to_remove) - value_modified = True - new_value = os.pathsep.join(env_paths) - return new_value if value_modified else None - - -def _get_workspaces(environ, include_fuerte=False, include_non_existing=False): - """ - Based on CMAKE_PREFIX_PATH return all catkin workspaces. - - :param include_fuerte: The flag if paths starting with '/opt/ros/fuerte' should be considered workspaces, ``bool`` - """ - # get all cmake prefix paths - env_name = 'CMAKE_PREFIX_PATH' - value = environ[env_name] if env_name in environ else '' - paths = [path for path in value.split(os.pathsep) if path] - # remove non-workspace paths - workspaces = [path for path in paths if os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE)) or (include_fuerte and path.startswith('/opt/ros/fuerte')) or (include_non_existing and not os.path.exists(path))] - return workspaces - - -def prepend_env_variables(environ, env_var_subfolders, workspaces): - """Generate shell code to prepend environment variables for the all workspaces.""" - lines = [] - lines.append(comment('prepend folders of workspaces to environment variables')) - - paths = [path for path in workspaces.split(os.pathsep) if path] - - prefix = _prefix_env_variable(environ, 'CMAKE_PREFIX_PATH', paths, '') - lines.append(prepend(environ, 'CMAKE_PREFIX_PATH', prefix)) - - for key in sorted(key for key in env_var_subfolders.keys() if key != 'CMAKE_PREFIX_PATH'): - subfolder = env_var_subfolders[key] - prefix = _prefix_env_variable(environ, key, paths, subfolder) - lines.append(prepend(environ, key, prefix)) - return lines - - -def _prefix_env_variable(environ, name, paths, subfolders): - """ - Return the prefix to prepend to the environment variable NAME. - - Adding any path in NEW_PATHS_STR without creating duplicate or empty items. - """ - value = environ[name] if name in environ else '' - environ_paths = [path for path in value.split(os.pathsep) if path] - checked_paths = [] - for path in paths: - if not isinstance(subfolders, list): - subfolders = [subfolders] - for subfolder in subfolders: - path_tmp = path - if subfolder: - path_tmp = os.path.join(path_tmp, subfolder) - # skip nonexistent paths - if not os.path.exists(path_tmp): - continue - # exclude any path already in env and any path we already added - if path_tmp not in environ_paths and path_tmp not in checked_paths: - checked_paths.append(path_tmp) - prefix_str = os.pathsep.join(checked_paths) - if prefix_str != '' and environ_paths: - prefix_str += os.pathsep - return prefix_str - - -def assignment(key, value): - if not IS_WINDOWS: - return 'export %s="%s"' % (key, value) - else: - return 'set %s=%s' % (key, value) - - -def comment(msg): - if not IS_WINDOWS: - return '# %s' % msg - else: - return 'REM %s' % msg - - -def prepend(environ, key, prefix): - if key not in environ or not environ[key]: - return assignment(key, prefix) - if not IS_WINDOWS: - return 'export %s="%s$%s"' % (key, prefix, key) - else: - return 'set %s=%s%%%s%%' % (key, prefix, key) - - -def find_env_hooks(environ, cmake_prefix_path): - """Generate shell code with found environment hooks for the all workspaces.""" - lines = [] - lines.append(comment('found environment hooks in workspaces')) - - generic_env_hooks = [] - generic_env_hooks_workspace = [] - specific_env_hooks = [] - specific_env_hooks_workspace = [] - generic_env_hooks_by_filename = {} - specific_env_hooks_by_filename = {} - generic_env_hook_ext = 'bat' if IS_WINDOWS else 'sh' - specific_env_hook_ext = environ['CATKIN_SHELL'] if not IS_WINDOWS and 'CATKIN_SHELL' in environ and environ['CATKIN_SHELL'] else None - # remove non-workspace paths - workspaces = [path for path in cmake_prefix_path.split(os.pathsep) if path and os.path.isfile(os.path.join(path, CATKIN_MARKER_FILE))] - for workspace in reversed(workspaces): - env_hook_dir = os.path.join(workspace, 'etc', 'catkin', 'profile.d') - if os.path.isdir(env_hook_dir): - for filename in sorted(os.listdir(env_hook_dir)): - if filename.endswith('.%s' % generic_env_hook_ext): - # remove previous env hook with same name if present - if filename in generic_env_hooks_by_filename: - i = generic_env_hooks.index(generic_env_hooks_by_filename[filename]) - generic_env_hooks.pop(i) - generic_env_hooks_workspace.pop(i) - # append env hook - generic_env_hooks.append(os.path.join(env_hook_dir, filename)) - generic_env_hooks_workspace.append(workspace) - generic_env_hooks_by_filename[filename] = generic_env_hooks[-1] - elif specific_env_hook_ext is not None and filename.endswith('.%s' % specific_env_hook_ext): - # remove previous env hook with same name if present - if filename in specific_env_hooks_by_filename: - i = specific_env_hooks.index(specific_env_hooks_by_filename[filename]) - specific_env_hooks.pop(i) - specific_env_hooks_workspace.pop(i) - # append env hook - specific_env_hooks.append(os.path.join(env_hook_dir, filename)) - specific_env_hooks_workspace.append(workspace) - specific_env_hooks_by_filename[filename] = specific_env_hooks[-1] - env_hooks = generic_env_hooks + specific_env_hooks - env_hooks_workspace = generic_env_hooks_workspace + specific_env_hooks_workspace - count = len(env_hooks) - lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_COUNT', count)) - for i in range(count): - lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d' % i, env_hooks[i])) - lines.append(assignment('_CATKIN_ENVIRONMENT_HOOKS_%d_WORKSPACE' % i, env_hooks_workspace[i])) - return lines - - -def _parse_arguments(args=None): - parser = argparse.ArgumentParser(description='Generates code blocks for the setup.SHELL script.') - parser.add_argument('--extend', action='store_true', help='Skip unsetting previous environment variables to extend context') - parser.add_argument('--local', action='store_true', help='Only consider this prefix path and ignore other prefix path in the environment') - return parser.parse_known_args(args=args)[0] - - -if __name__ == '__main__': - try: - try: - args = _parse_arguments() - except Exception as e: - print(e, file=sys.stderr) - sys.exit(1) - - if not args.local: - # environment at generation time - CMAKE_PREFIX_PATH = r'/home/luoruidi/Desktop/ros_learn/communicat_01/src/commu_01/devel;/opt/ros/noetic'.split(';') - else: - # don't consider any other prefix path than this one - CMAKE_PREFIX_PATH = [] - # prepend current workspace if not already part of CPP - base_path = os.path.dirname(__file__) - # CMAKE_PREFIX_PATH uses forward slash on all platforms, but __file__ is platform dependent - # base_path on Windows contains backward slashes, need to be converted to forward slashes before comparison - if os.path.sep != '/': - base_path = base_path.replace(os.path.sep, '/') - - if base_path not in CMAKE_PREFIX_PATH: - CMAKE_PREFIX_PATH.insert(0, base_path) - CMAKE_PREFIX_PATH = os.pathsep.join(CMAKE_PREFIX_PATH) - - environ = dict(os.environ) - lines = [] - if not args.extend: - lines += rollback_env_variables(environ, ENV_VAR_SUBFOLDERS) - lines += prepend_env_variables(environ, ENV_VAR_SUBFOLDERS, CMAKE_PREFIX_PATH) - lines += find_env_hooks(environ, CMAKE_PREFIX_PATH) - print('\n'.join(lines)) - - # need to explicitly flush the output - sys.stdout.flush() - except IOError as e: - # and catch potential "broken pipe" if stdout is not writable - # which can happen when piping the output to a file but the disk is full - if e.errno == errno.EPIPE: - print(e, file=sys.stderr) - sys.exit(2) - raise - - sys.exit(0) diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/cmake.lock b/Code/MowingRobot/Robot_ROS_APP/devel/cmake.lock deleted file mode 100644 index e69de29..0000000 diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/env.sh b/Code/MowingRobot/Robot_ROS_APP/devel/env.sh deleted file mode 100644 index 8aa9d24..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/env.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/usr/bin/env sh -# generated from catkin/cmake/templates/env.sh.in - -if [ $# -eq 0 ] ; then - /bin/echo "Usage: env.sh COMMANDS" - /bin/echo "Calling env.sh without arguments is not supported anymore. Instead spawn a subshell and source a setup file manually." - exit 1 -fi - -# ensure to not use different shell type which was set before -CATKIN_SHELL=sh - -# source setup.sh from same directory as this file -_CATKIN_SETUP_DIR=$(cd "`dirname "$0"`" > /dev/null && pwd) -. "$_CATKIN_SETUP_DIR/setup.sh" -exec "$@" diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/local_setup.bash b/Code/MowingRobot/Robot_ROS_APP/devel/local_setup.bash deleted file mode 100644 index 7da0d97..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/local_setup.bash +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -# generated from catkin/cmake/templates/local_setup.bash.in - -CATKIN_SHELL=bash - -# source setup.sh from same directory as this file -_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) -. "$_CATKIN_SETUP_DIR/setup.sh" --extend --local diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/local_setup.sh b/Code/MowingRobot/Robot_ROS_APP/devel/local_setup.sh deleted file mode 100644 index c58f94e..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/local_setup.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/usr/bin/env sh -# generated from catkin/cmake/template/local_setup.sh.in - -# since this file is sourced either use the provided _CATKIN_SETUP_DIR -# or fall back to the destination set at configure time -: ${_CATKIN_SETUP_DIR:=/home/luoruidi/Desktop/ros_learn/C++_Merge_Ros/merge_ros/devel} -CATKIN_SETUP_UTIL_ARGS="--extend --local" -. "$_CATKIN_SETUP_DIR/setup.sh" -unset CATKIN_SETUP_UTIL_ARGS diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/local_setup.zsh b/Code/MowingRobot/Robot_ROS_APP/devel/local_setup.zsh deleted file mode 100644 index e692acc..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/local_setup.zsh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env zsh -# generated from catkin/cmake/templates/local_setup.zsh.in - -CATKIN_SHELL=zsh - -# source setup.sh from same directory as this file -_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) -emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh" --extend --local' diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/setup.bash b/Code/MowingRobot/Robot_ROS_APP/devel/setup.bash deleted file mode 100644 index ff47af8..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/setup.bash +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env bash -# generated from catkin/cmake/templates/setup.bash.in - -CATKIN_SHELL=bash - -# source setup.sh from same directory as this file -_CATKIN_SETUP_DIR=$(builtin cd "`dirname "${BASH_SOURCE[0]}"`" > /dev/null && pwd) -. "$_CATKIN_SETUP_DIR/setup.sh" diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/setup.sh b/Code/MowingRobot/Robot_ROS_APP/devel/setup.sh deleted file mode 100644 index 8690e57..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/setup.sh +++ /dev/null @@ -1,96 +0,0 @@ -#!/usr/bin/env sh -# generated from catkin/cmake/template/setup.sh.in - -# Sets various environment variables and sources additional environment hooks. -# It tries it's best to undo changes from a previously sourced setup file before. -# Supported command line options: -# --extend: skips the undoing of changes from a previously sourced setup file -# --local: only considers this workspace but not the chained ones -# In plain sh shell which doesn't support arguments for sourced scripts you can -# set the environment variable `CATKIN_SETUP_UTIL_ARGS=--extend/--local` instead. - -# since this file is sourced either use the provided _CATKIN_SETUP_DIR -# or fall back to the destination set at configure time -: ${_CATKIN_SETUP_DIR:=/home/luoruidi/Desktop/ros_learn/C++_Merge_Ros/merge_ros/devel} -_SETUP_UTIL="$_CATKIN_SETUP_DIR/_setup_util.py" -unset _CATKIN_SETUP_DIR - -if [ ! -f "$_SETUP_UTIL" ]; then - echo "Missing Python script: $_SETUP_UTIL" - return 22 -fi - -# detect if running on Darwin platform -_UNAME=`uname -s` -_IS_DARWIN=0 -if [ "$_UNAME" = "Darwin" ]; then - _IS_DARWIN=1 -fi -unset _UNAME - -# make sure to export all environment variables -export CMAKE_PREFIX_PATH -if [ $_IS_DARWIN -eq 0 ]; then - export LD_LIBRARY_PATH -else - export DYLD_LIBRARY_PATH -fi -unset _IS_DARWIN -export PATH -export PKG_CONFIG_PATH -export PYTHONPATH - -# remember type of shell if not already set -if [ -z "$CATKIN_SHELL" ]; then - CATKIN_SHELL=sh -fi - -# invoke Python script to generate necessary exports of environment variables -# use TMPDIR if it exists, otherwise fall back to /tmp -if [ -d "${TMPDIR:-}" ]; then - _TMPDIR="${TMPDIR}" -else - _TMPDIR=/tmp -fi -_SETUP_TMP=`mktemp "${_TMPDIR}/setup.sh.XXXXXXXXXX"` -unset _TMPDIR -if [ $? -ne 0 -o ! -f "$_SETUP_TMP" ]; then - echo "Could not create temporary file: $_SETUP_TMP" - return 1 -fi -CATKIN_SHELL=$CATKIN_SHELL "$_SETUP_UTIL" $@ ${CATKIN_SETUP_UTIL_ARGS:-} >> "$_SETUP_TMP" -_RC=$? -if [ $_RC -ne 0 ]; then - if [ $_RC -eq 2 ]; then - echo "Could not write the output of '$_SETUP_UTIL' to temporary file '$_SETUP_TMP': may be the disk if full?" - else - echo "Failed to run '\"$_SETUP_UTIL\" $@': return code $_RC" - fi - unset _RC - unset _SETUP_UTIL - rm -f "$_SETUP_TMP" - unset _SETUP_TMP - return 1 -fi -unset _RC -unset _SETUP_UTIL -. "$_SETUP_TMP" -rm -f "$_SETUP_TMP" -unset _SETUP_TMP - -# source all environment hooks -_i=0 -while [ $_i -lt $_CATKIN_ENVIRONMENT_HOOKS_COUNT ]; do - eval _envfile=\$_CATKIN_ENVIRONMENT_HOOKS_$_i - unset _CATKIN_ENVIRONMENT_HOOKS_$_i - eval _envfile_workspace=\$_CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE - unset _CATKIN_ENVIRONMENT_HOOKS_${_i}_WORKSPACE - # set workspace for environment hook - CATKIN_ENV_HOOK_WORKSPACE=$_envfile_workspace - . "$_envfile" - unset CATKIN_ENV_HOOK_WORKSPACE - _i=$((_i + 1)) -done -unset _i - -unset _CATKIN_ENVIRONMENT_HOOKS_COUNT diff --git a/Code/MowingRobot/Robot_ROS_APP/devel/setup.zsh b/Code/MowingRobot/Robot_ROS_APP/devel/setup.zsh deleted file mode 100644 index 9f780b7..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/devel/setup.zsh +++ /dev/null @@ -1,8 +0,0 @@ -#!/usr/bin/env zsh -# generated from catkin/cmake/templates/setup.zsh.in - -CATKIN_SHELL=zsh - -# source setup.sh from same directory as this file -_CATKIN_SETUP_DIR=$(builtin cd -q "`dirname "$0"`" > /dev/null && pwd) -emulate -R zsh -c 'source "$_CATKIN_SETUP_DIR/setup.sh"' diff --git a/Code/MowingRobot/Robot_ROS_APP/src/.idea/.gitignore b/Code/MowingRobot/Robot_ROS_APP/src/.idea/.gitignore deleted file mode 100644 index 13566b8..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/.idea/.gitignore +++ /dev/null @@ -1,8 +0,0 @@ -# Default ignored files -/shelf/ -/workspace.xml -# Editor-based HTTP Client requests -/httpRequests/ -# Datasource local storage ignored files -/dataSources/ -/dataSources.local.xml diff --git a/Code/MowingRobot/Robot_ROS_APP/src/.idea/deployment.xml b/Code/MowingRobot/Robot_ROS_APP/src/.idea/deployment.xml deleted file mode 100644 index 538ef7e..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/.idea/deployment.xml +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/src/.idea/misc.xml b/Code/MowingRobot/Robot_ROS_APP/src/.idea/misc.xml deleted file mode 100644 index 79b3c94..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/.idea/misc.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/src/.idea/modules.xml b/Code/MowingRobot/Robot_ROS_APP/src/.idea/modules.xml deleted file mode 100644 index f669a0e..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/.idea/modules.xml +++ /dev/null @@ -1,8 +0,0 @@ - - - - - - - - \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/src/.idea/src.iml b/Code/MowingRobot/Robot_ROS_APP/src/.idea/src.iml deleted file mode 100644 index f08604b..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/.idea/src.iml +++ /dev/null @@ -1,2 +0,0 @@ - - \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/src/.idea/vcs.xml b/Code/MowingRobot/Robot_ROS_APP/src/.idea/vcs.xml deleted file mode 100644 index 6c0b863..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/.idea/vcs.xml +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/src/CMakeLists.txt b/Code/MowingRobot/Robot_ROS_APP/src/CMakeLists.txt deleted file mode 100644 index 2016816..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/CMakeLists.txt +++ /dev/null @@ -1 +0,0 @@ -/opt/ros/noetic/share/catkin/cmake/toplevel.cmake \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/01.png b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/01.png deleted file mode 100644 index 03cb28250a92735fbe4cf66a73b18ca11610a438..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1447 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL96$kvrB^Zq7#LXdJY5_^Dj44$bX@0pG4!ZI z^}l8_MGh-Rrl)1se&&Zurgs)jlNcrF9R~ZII|`2__xx8^d@TQDK9k}!$$rCslLh{J zDg0di&giL^bg zkMxb@lK+6rwLe?Y{c$-k4SW=NoNqiYsU}4SM5-8`0gCq?F?g(d%>0v}eV)quz&>OeJy$HawB_uN+k3wItddc0lYGSCzAJ#>ukCDkPP7}s?J1$B?9 zA2Y#1Y69&sd5lb|3f%`9a382K4(Ke9cEht3T_1a4o?|}__gt5#pYc)ZF?aIJk1~&$fn+i;VEYZHN!lNaNc$s| zJmX_FFkIIgwn^>>h8I{s>GAzE9%DI`kNL)JlKe*hYL6K_HdH&Z|GY$+&9NT;p4em2 zz#uM@%s1SJLE0Io0mVUNKTsA%?ms>w)#libQ!oA*9XmAG?9Byf3l4=efju z5b05)Xn4A!|6}jQQx$!{Kmf5jfn?v2`KfbMk9GIhpQ@Pn(H$u_*Uw{2`xI{!CYe7; zz(e6@drQj?`ALc`o`0GJHutD=eiR2v{OIo4e8j?gl%Q4^{9}$S4Usq3{do*j0(-jp KxvX&`xQ2zX4msW16{Xp6V}C&Vb^CB0 z&Uw!B`#rzsc@7-@rL%z(Jp(-|mFh$&IP!{0r4~9%iyW$tzMaKYs_xf9BhR1X)W3ZG za-RPF&24Y=Xz|*6{?UmKE5qx*%}@RmADH3aSRwv5Ptt=(m0Ly4i&T`@!@>HfG%nD7 zT`+gtu;J{|-LX@Azu{-Pp2oGpK|r%6c)KMQ%v!{V7NhZWOk;?aw)ZXg(diUlcBF`F zF;|s{YoP6};vw?lBDmmdC%c3B=~8tf-hLN8b7zS*vJV_}XSZ}2oR`X#Ee^on!KHtu z7x|J~hRI%Paynru(8lQmrO$Kkz=eZVZVBE9llR%gQ^)iUaEqt~gN{iyG1y$jmzdl6 zcJ5E2c9#SHK7+^(=r`1YBse4@ArcXpDeCWVf2pdxV8I*A?PUy-^;VD+FM|zQtwStV zp^dITC!L>q-;7Mc%v%k$P$#Fk*@pl^TZe2O6X!vL_Q=ml;|>a4S~IAk#1MZR1tYP{ zt|D|IrlYQE(E=Ox`%@PSiU5u58gA-CGQXkSgC6;5$zD)^7d11cfmDXOu^E<~7Q+U! z5=xvVC)u#mZALUP=@3;t1<(l&uthj$=c`2RMFbzN&m+w%7-T3T8!jkC@pUlk(?WHI zTV&2?X*Vgd;DRP5HS{Rjkx>M%OPa9YrjEulS}JuD-(WrtkzzxaJ0$MWv>T1CXvyN` zuTaxkS>*~MO!^XDl>R|MNm@MekmN=%!C+(l2(^c)W*^#Mu!V-hZ|*7C&V`YL_rkd< zaZ*sS7}T*hAr{K56OpjYNXNh)vBVgoiIL8Me&i=wv^!oBi&l^9)Y+IHG11z~uOe?< z?{jSzt!1&nH2cO-60uR}k}1ipmoFK7k{|SI#YR5T@i;-vlFnTx#_aBBuq5u!T!Ej_ zV4XO^K!Er)EYIuq>`3jp-AIZv;oJ<->XMxguX78VySO8@n!#W%`$0R8stC9$6V`N3 zNFIx~)8P~!AX*0}*LG|fL;9-MRoS2;84qBV9x+>fPUe=0{9gk@0ZJLc!C7(QJf5hW9W>;4~_1K1zZaJR_ h`1q;*3yA!Y=DXw%ri-3WzwZ1uq0zG=pZKD0{RLDP+93b{ diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/03.png b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/03.png deleted file mode 100644 index d631b20f9a12d8ace50973e017e1772ce6bbe94e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1825 zcmeHIZ%i9y7{9HEExTp4nCx!Bap=*RjM=*$0YVy31{pW5;NQVMtmE3=5e;U+L_JMc z=~m$?w@`Z7)&`*;rheK?h>1(g9A%WZ5(@n=BTWc3>1kqOj5$BJGgk0DV)ntr?|#^a zdvm|{eV*U%d7k%q-#7MR|EYsDM`{oRImq^QzlYv!|7haY2 z{j&7ZTS42I$Cl*3ToeHlRO`zFAhEK{aFhX6!!R`ihqAaR$!ln%HH<|Eq#_&Uh`C#R#hN^pp6|`%= zrf|ZJE%qk$ZqN>eXi|-GiK_CLGA4$Yom3@(PuTP(&|=YczcF0Z)}Uu{A&)Y?fK#sn z9#y)E7x=s?MR;u5KgvX;EB0wW$AoF0e;B-iZIQlX*&EoO${>zmg<+-E?F)|U7|hA% z%&OQHstICcN=Ja((h$x__P|{BfO5#AFY)KSpa#WQYs$N?Vvq&7za0?toEAd`DnpQ?9{=ue2u(klJ1uWQ}`i&6SFGK z;21cGZB>=uh9n#VgMnMw5|OUz6rh;cCJQcOYg}1KL}0AV5or$QU~1qnH&yABX)oau zx;(K3ue^z41)i%dKdy|>pQW;gU>W{FU$S>L$ocG$)80w2uxcC;?kcm2uwQ>>0@AiL zgtLa|iO^oTp60C7cliCNfwM$pXrzgWrJt};t3?qeczY%(LdG1r`n)WF=7w+{QS(D^ zrFzJAa0I5a0jlN{%TU-m{K7rC`>6|6mCL$=%q@>11Wk#ay5wf7P$kvKlUz+ zTVb?|oP5?y9~cK>=RnJ=t}a4f z&lsmb2RxFk45M6dq=AHJhb?H_=!I@DZH_csS;n;&1=zjFVbWdG4KPj4UmbyRZF+vaECKlY%LQ!F3|VO%iCe@z!lTZ6X7 zP(b+#7-6Zly0kV&6l>cl{dCyn;26TI?Jq$C+BgPYQkSp|$q%~tD7ii4J9%QWY3;bod zuNAF=a(g-mY~q_}-WMxHvxU@1>xtM zlS!|z0~k0=>kPUE%57CXA&w)iMedVc#ZHUM<4~K<`V?IMvYnX>J1waxWE4mvebu1D z-lf8*zOCAtRTmLVHqlSP3fFFFp**3)bg>K^x)#!Es=kb&lpKtemZHma(B&%% z!ze0zSI?M&^v`VUb+yJLjn5QCA%c_WF4&`_adQvdtWeT1eDXqFkj;Ev?z2yZx0nqM zGw4J7BGnmI?ybotJ}T8iU!&x71%uyun+I7$%k{%i}Yi(AJE7db!BzJC}ZE?2g*ARQ7t}%U5(SRq0|I; zRPzhs->~UyMHArrnqPsOSrZOPRq?jO|`(w3as8HQFX=CdVu zTan2lZpVa<$sbcrR!-)8%>Q`e5hpNTJ6RFIXOlSJ)7qoTV=zyW8|dT&8)Gq}X$A)> z(sY2__3&CN<#cVwr>wRkgax%IaxPZ_;KTr zFd&;7Xp->bR-i$h9}nF)6>+2@322NGh<)QoMPg2BPLd7C{38_!Yd~zE@n(i{K;vgi z?DqtT{7HL*PO5C24m54@#u-@2?u|2n;t;a=NE*-${KvAOq>_-m#A=|+_d`gJoHU)J zKT1Fi?MLi6KDPhqzj5}4^S|gnS4Z>yAS?GK?Ps*D&yzo~Wl1ckEcbNvb6Mw<&;$VA C0)VUl diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/06.png b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/06.png deleted file mode 100644 index c243e7b74d1fb516426ab75f0f82c5b1f696a94f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1914 zcmdUwOH30{6o$w6zzC!;By~m-3q!3&2r#Vzi&_v+&_U6u}tDYyBw^!_( z2>FuE?Iz{bKHIspdbX7wb&6*MWRZ86_=iS(N~!2({D{kNi7 z${tOZU!!G4Tagj;zyM<9K;-bt46d+*|N@f z!J_Ah5{l+Z6;LLOo)NR-%m_>s%0rU_m%XzVB2B0SSbt<}g}6kT3;I=-jr?F146@|_ z49a+$nQ$-)dS&eXS6l^2Iim&A7s>(j2-O>Hyyig|9jhd^u%Sn&$!II}S$6Y-KnUFJ z9dT9Xwe|CT@eu66kIguZKFi*81e=jBDF#I#r?x9CxEPmX!qwRGh2`{N_A+B&y9tF1 z-xV=v|ql34SW5Z z(ttPP#k8B<1->zj&shnszoFpt`o#gy_q2Kt%vdhg-#&iqiW|L*`egpRqQq<43)1mTR9MPsK>rz zyHW_t(__moSO^x4%r&s^H)G=0*sFHHw)8%$sLd4+p*ASWXTz}mH4G+m^emhUf80-) z12!S1mRZmCG2~d_eDh#gvUWI=RMJ7b82><82PJMYf1qQyB}r~hcRZvXP@K?7>3E9M zX$x4CFoZfSb-+Uee?d+?0L9QZ?1#c;JRJ&u<{l{g0NSf+io$S9krZ60iTmLY5HxBX zE~ZJ+PqyjMQbUU7O2>%0K<%GW!!_|}z#Fg`I(t17iV?yi0sSg{#R9d9?}>LQ<=BPG z;Bj+-z`#l%a6`+(nz&o?CFDhJZvR{o#IXhYvkI99j@0sZ4e>A(nSe+mm+443wg zK1s~L_?)}35g3Q(ZX5u{XL=4OPK?cfadJ;m8W<<u{xKF>2J zVT~f#U%Zc*lbJy&;0W6>DWUVgRASqc4on$f8-Tu^2^5zT`p^C|_>b#90d0wHiT}-i z1nMW$ACWqyG|AzF{}KHIH(WSW{&jzRZ7^E!(6l7}$2_@kwtQL2zg|$~;OXk;vd$@? F2>?AOzlZ<; diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/08.png b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/08.png deleted file mode 100644 index b27412e84b19d6d27d5e48fc55bd143d9bc7c763..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2879 zcmeHJZ%i9y7%znJr(=V{P*G+H40fIo1SVPiL)USIfwbJwYsdlyb=elOfT4z3{KXB$OzHjMVC>gtti!pin z;n(+hpXc}dz1K~e>kp`(R;yI10}ZE$7L_XL6ZA`mf2e#vc4n(o`%@bT1N~moZ`Uq< zb)vQR%r#&6%JSt4nMWcHvf_I0Pt{Z1e~)RZ-md%3m0wYOE;76am=@bP<)T$)R8vKN z{nnTq0mavIte4HBh%C$jtarQ{C_iljXKeg0r|MN2q3(Qv|&`vB#yCsO?$0v$AWd$gqiACv4$rl-Z(dX0H0zW^Gg0It2+FH%P( zxpT)4LKppw%o1IeE3`RmW3blRT;^-qY>__m#<*xL$O}8_Mu$+BJcztBXMnem(-+t! zq&tQ=QFI}K3O7PZ3nlSW3MmV1T#WE~j__jQ!2WT8i!X+6vV_(|Ze2LK!!FY`rO05Q zzlphy+)ZG8+wLGWSoabL*Ji~E>TV09_D%+P15w+CB)obWK^--ZPJhn;CTK}MNaz}c zO3I$b75Hr97@tOU|B$$+`PqNJUa5pszH{H!qT5;A+Kg>HD87;{l(I{NbT}P58fY&C zyg84@HhA_5%quf+ar4t5o}$di|5nGwlUC^iydDLxWfZQ)Cf+aK@*oo|Eckunkeg+ekegO6jp@Sf^-hXs8Fzb+rikx+dkyRp?mL=w9~9LAIB&> zcklaqp7(j~d7nS;dw$y1urKH391O$uSsJNk49mJKKN`fqrhe$i!>~O%3q`V@Wc_yY z&cJK$eq47mQgQ0nr9$li*SXrt=)<;SKRNz7QhesSOGEibKQQ0+6}|psPzR$_=G2;* z(c&}Vw+1t(UzRfQ6zyRz_pl&y`gC~r?JI$q5S)DGRIzJJlhJ0cp2(d3Y~LkOsT5uS zXZ@Me!qc;#GHSj}pDSlFraOaAE2+mueMQ9bq0H&OP_&X~LU=ALVYBf$q04@23tx=r z$~O76bt3TDY)FXZ$6ociM?uG0MNZgvkCmoXfskZh8&xH^Z?uPfsKp?&DVbJLnj52==A1?+S#G)T9bIMR(0@{hiY<%2+ z4@R72U{RxBFrz`sZe)W+pL;Z|2t~d}t8|fQrgxM*9ktRmX4+;qqOk$(+@*zQ)hLK} zDeTR#IRa1qO3;B-2JrP z>-GvQO5;3uWn*Vw(kaLO`H5QONHv#R5L{8dEc?4ci3eo=syR~~y?IP=mD$`&ia#c$ zN7e9TUSeSh8Erzd{(_`l7Ca*BmoRb|;B_^uDpj;Bs~!Le|0ds`BNexZ%m zp={!M^aAaC&k)`lah8H!zkBH4Aj%!m>EKtV+#{ej8??yqw47;Vq7<|}wkS&#s7Ob^ zM}GJ4&OD3ezNAA3LHG7Ms18<=ViogybF?XVQVYwuB}%L!jVI*%S%cTv7wq*#M65A5 zk6IX4R?BX5=OEc&DLaS54q))i0 zhKD(QeX#Wqekvm2M9fBi)hse>O)c$0BPC*t>-)6R?7^F(7HF z+&C3nri~WZkPr7qG)cPz5U+v7$^TPTk37pwRhh4{tZBb BCW`<7 diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/10.png b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/10.png deleted file mode 100644 index 71af52ab16fda13863f30ddbf57acb179c29df44..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3135 zcmeHKZA?>F7;fhTQGwcG)Xgybz+R6G=5$kLBL!|(5rq~m*$hm#nMusD5o?TVwpl)m zQf9zx_e_Tfr4HK8MV9!(G&5liHpAHl*+=3J$xLu3nvg-fE^*AR-TRi}D6RTyzvho7 zJ$=u4zRo@GJ#|`2%*k_~n5$B$l8d&8Wh#~WIDY2952~(T_G(nB`3Xg0zVwdz_e+)a zUp4KkywpHq@!rC~j)`jbQje129;sp4v|CRxhY5?8iA`!=)1N0h%<@&~ z*L>Nb33UeYH2is3$ghZio+%wFmPY|pzEp6w&!8LY=w;TDG z#%i3f28Qjz1>eQPY?kzPxjl&{dSR)Sq+0yjL1cOc+lw?Rdi8i(R0mc0Nu?zEi> z6AG7sK>&UrYy{0XWaB=FPU{Y|hWR5^kOP{5@m;h4n$Z}Foc3#q+hD{fE%ti$78!Rb zkH=NF&Kg`E?k~5^f5ob+XDiU~Y-&csb4d#tUMNmMs;p29n~$8B8|`q;CYbYrKX6oNKWk25mhqWlmgeI%|+jYD*lsJfj76DhXr=8Iq;;PJnz8 zAve+u7W)x^tZ^yxDLhn0z68b838koQgN84N9wuSPbzri&+&&9TLe>dj5+1!|DZLXy zorH~TZ9$ROOm=67>)SZeren-&1b=WejB+$Vdj@P5DD6pNy_wU#;!f8Jp;lL*@-y&~ z<5D!>Wv7uZL-Dn&5R+8Xqm8y!HqUD?!TDQcu{W{3F&o%l%dUMBR(FIoMz?*0O`|^} z>}ujc*mBXojn9_am$NspxR`#2#kJ%F7I#b8z-euF+djceO#E4lx(TL&fi##3QLo0S zb*vnx&Y~V~Rk!k(+hCIWVh@Gd8eA25tI@nT%9heTB+n&Bk$k_Df`)H+mjWUgTEMf> zaIonvmiddpQ~Ia26ByN&$(6_1E9fwTei=s@?VW5T z#}-pZ9A&TwmF1IIa+0d$S*Ywowj+#h9Yke%Ut3rT7VnDo<3hD>*rN#ayfjvBmtpE1 zpP@)TFAeH=KB%^Ju#cp%pJLw93D#hCBr++uEb=YV3BAL5wqFFRn}H1>gs|}!)I1jv zPcz^u%Po|N}Pk=WtC8<_$ z=%Q~_kwxT&Q^}%dL7QxL+9-`;aC}$+(9w}wpF_%Ro z^jw8$;aQi`flCgIbfjrQpOYMqQZO>aLdH0Er$f=v%y_n@^HjL>fsp#t%{|)&e(S!3{|t&uCE~e)SL^=)1U9dl diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/11.png b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/11.png deleted file mode 100644 index 2ca706016ccce828f76a4b2938d83537479790b5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3588 zcmd59ezO&D1t!PPEbdAu0DiX2O ze*~wbOKfVvTJB0I;E?0XCTP`+lvYY5RHdTRTcosOisT^$snwB9WQuZ`CcJuP&ubg= zVK({CNeA|O@AE#-@A*AnuRW}}e)rBF?##%@*lj${STiy*e@Ff_@FHXM&&_%8{wpJ6 z;NQyp`{!I2|M|z+w0MXymLuJJHvQ-Sl;#zmpPIgkj}%AQXmKa>cA%&HKRs#|cR%pR=6okELJmCT3+13$@ZlF2 z$9T}J9E3Ob1A0bm`_~3YF@U!s2jhwA(w3xTEI+d&ri8XAI(gF8SB4J}l@>+2wt~Hb zXo+701HvG#;$pT3v5nCY+vT#?<{)mhp(V!YroQ7BK_x#!m?C7VKk(~og@OM`*o)t! zR3{tG=6yGlAtC%BQ0-CkfWN0;C{75)U*X(2^RFybwAJ*4`%|-Wt7VSB}t@vq!tpXVF2L6XZhO% zn-^C~PSj1(%4`Rul~UUT;J!@)OjehX1@?+I=T^Z{f21LvYpy?~bcdY8F)&?@=1C^h z3;noCdgwn-LQ?=ZmUth*F^DgMtx21+3v9KbTx)2IHY)}=G!xJt7n_0N!V!=gz*j-e zYjeJje+qIIYu^@_!sV{cc%x!B_p6-5p`b}D3qb9Rsg%@==9!qj7Fll;K7t^{wn}ji zl+}5gQv_2js2fZLO$vwR0D%4k$W==9prUU~tpF8syl<2?!P_Z*>~CLgEWm=JYus#A zgEUb)55_=kKNzbAtDu$wt8;weD7gI*9tNw8ws5xwyQ&p7B*U4PpQBbXx#&o+4)$FP z8{N;}_BYy`65b~@%byuV!ujb@x(<}y;>Un%pj;tF*PvW`J;55_Xr4bw!1du>;NKBjA2dNl zkY`CNt(0`B3H9C$bv)TVw{y{b8=40>-SXe8033Oeb(G<+5;ljtgvKgKOQJc5H4x~J zZ4RQNP4=?7vKTmmn;aWgX-NmMeNZyw{W_&7ZHU?~e`Jk0(kyDh(K}hfZ-K4TCDc!1 zB-nK%lzZjK{wKY(K^UO!<-5vVTJ{x^bpu1i(UURGnm~Y?AryT;O_8Z|Lg6~c zgg$$f$reNy3BD4lpKs5U&Uu1HWj_nD{rvqMRIV*FlGXoL|n$CH(KF5tC>#-Ul+Vfqx7z&YsY&k7&l zW0{Ikp0$Qb@e~sp1y4D27a-w_jE>wf46^J^ZS7qL@|0w8Mh$D8Fdmi! z)D2|!Lv#GB8hote3d_L9R&+04G(rbBT}-`8(sr9V@%y{2#wGt@u7z%o&G7~fG(^w%V?Mwt1vi5X|vMQ0q6(u zU9xG3Q5epKL2`vQDzE0j>>B3Vv$?`UK=eWlT(Ty&An`+&HGDl$BL@uOQ|oSRvD=w? z%B^a+Hv*BIZ8$#*V)fFKT&28Y0x*tusz0{x6%CN*(tdX*{R-seV-5y`nFl8(Nr%fZ zIEHDnc*#xIL)9N44w`tSRYovFJ?eIDU!Wr2?tB|!(JbpNA{lMcxgEG-i@S$CnisF$ z_lkyA2Y&J{Nvfj>O_3{Mfz*Vi-==c4JgA$#Iuuz5XsBBdbA$7p&Yc?S*Rii1%e}#R z89EB~bT zf(B935xKTaEIjs)0MN>X6fZ)Rl}J-Rq}HTfcsb{Jb;PnVH|$yx#F2Q9GNM diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/12.png b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/12.png deleted file mode 100644 index c1b634f6ac73c56a7c24a65affc32f34bc0b8caa..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2981 zcmeHJZA@EL7%p3lcNdY{a^l92uiI_hn@kaiVuaB`Z}}4YAx2Gzu!bzCA#}+SC9YCK z?g(_2jZ=cKeyvsM0xf_k5bQgcjpL)>2TJ@I)A2l{p>POS2E?u9W5`tK*=%0M_tUAx~p%Hu|k?x#0gF#nJA zI>2g?beLX0u$VK>Ee>M^bSPK*vDWDwMb`kct`0fcy(4Jyb3a_kLM?QznkgCc4x`gT zU;w>Nf25LZ=D8Xvj}4}?M?Dy*LPy{ipq@nw9`6v+3xPH8=XWt0pn>1);8JP-wpQ*! zMWBs>m%;ov)^nHK_+gk?W_=7cb#5FVQiY|XW<*>3&3?KJ$1QD^- zS@YnVTu?!G^FF;~OR*Nn$5+@(veaM2ym%`XK<`kcYh6{jp?To*ALWwIgodvCN)9;?BMKzSiuzwQUTp- zZtdLeTSWpVTS(wEkTHR?VWF(5r){#T_5ukT`b8F)rU)L#GsIo+7Ed%>Mgq(sNNJ@3 z4Q;v^D{JzzlKQc=L3H(OpM71j_hBlF(x!-77A1lV7TNY8ztaV^ZoCH$altYj z#|BeX8Dm%t*BPd*f(e~PdqMpKwz0vy1Sy#-*2y)?B3B9%8r~2Us6vIMud>TiSgj&S z8Oj3iZ!kLX4&{K9-%Z}87MKIwpiM9SLD*yXB_~d!m-u3XE-)hm2GLuzO(hj^!D{O< z_-Q9T2HM6+3)BgL4BF3Fi((B$T28tUfd4*4)HLRN25F76YtS3C%@QbK?UUXMs8%WS z!e0QcOyV9QHCe!PFSWoOox;E%74bwoLXfJadr=`h!}|;j`Eqm;W}Q-+b>amuZF$)! zw_9pyARXGkd$p}SD3hde4EIo1cwafwW)iiBP$9eQ!3S6SZz`o;K3FE+0ri^ptY9@0 zQo}o7RI{hk^?*|JS6T~W-Kv(n&VnGe_#g$Sc9YsVF-|WFGB!=fuHz>JC4Ess#d(Tft)pexGwJK>ruKBNR zPVWcFCT}W7moKOuK}Ndmkh5@25Asv;Ifv Z{mt>HF0sblq92s^?<#{)_^|AF`#+(FAc_D0 diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/13.png b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/Map/13.png deleted file mode 100644 index 32adf525da5c7076508bf260fa9b662e9c23efb0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3283 zcmeHKZ%k8H6fdQb$3vwLu0aH)JP_Vf3<^`54WX4+C|aPFy19!D27hyfE3FokpQ^^yxQOAv52 zM!Y!fi@{$l>RJmgwxLKc5eZ{CM=YIg_NRdouT;!=bhuZI74#fLVPGN(hI5WM_SX^V zAonkarAup)`yzz(1o|oOSnA-}<)i!0j`yQ(6^3A5QZcKN5e`mp$Y~)8D-LyA0XmI431zXl(5}p7W{g= z(X4f&N>CAr;=DEhhoxP3H&Ic}GW&qEp7RJell7JRX;3mK#W8(+@FRM`-$WQRu?!w^ zN!ytU&Jh`cE%ObiE31?wYc$j-0pM{i&`DT9pj1)F$rB?4`~c}7QOtw_TDY9lppAvA zG(t||uA0r!^ucPH_?s-)b%B^3|9Ve8Ud}pPO+MXQy@RqYZb@QT#$gnr-8Loc0JCaL_QnR4 zH7|Hm?vG%e8N`Q+ShZR$CQbXyeyb^d-b5}>ZE?C54P=d|fG)- z5~%0lM!R??SosWF(s8SjUIdQNAVxB@ip>XVL7(XUCg00Jc)-xnBGn zoGt^6RFWFc3%5sGiwn9?K$9}0qr)BAgat1RHtn~VAt+&*2W32Yv2 z)~k=Lu}lY8<)Vrj9Bh7YAE6CObu-Bp~Prec2_| zX?&%kvmC&mzf2o8y(@={tNz3h7W|gtfW( z)*bNOsZq&gXBvYMdXL`iPC|340giAbMC7jhb)GYDkLLD-I5{>WwgRz z>tHesy+SgeT?gqcOGf-*NJFxQSdBR>V#H)IELox+&=5zsXvWR1t?yf>NDILq{_qDs zZf?%|ocH5A=lwW6md2Xg`HSakG@9Jnmjs(elkp*bb3vdv_wDO>8cp_hwL&G`oAJx# z%6FE3abV}=zT=%Q7|gEgt(VI`34Pg6>NNlKS?|gGbvw+X-r_YSEwM*0a>Sd@lB>1! z%yH?(GV8mILHU%x4Lxjk!NY-y$6B26WqG`!;*@L$wFVR$AX|BIB!p2x19b?Gwr zE?cCJ#O+Ekog9??u?e!l8tG$gc^=Yki5z2X1-?y^qlRzjan0MGUO71=u?VY4N8>9~ zswqdDmef+QP8tX8u%n7^B+)uvKrZI<_8wQ3c-<>s5+a@KE$a5OrL=WWo~DxlSFts@ zEFY9-V+6fSD~(t3wItevftdLen!+WRI$>4zlM}ekd_kXSy1VhIzD1WzrL2*ag^-!Ny6?LX*@l+20HRGp96QH5OIk#F7P4R z8gS){tL>2k%tS}(0n}QRwE#Kg1zcQCf7nrq{n9rt1DV!su)nWj`{_qJ2fxS zq^Hp5%<};QReTdNkS*S}06ovqk!qmlqD6TM=>brPypK{7pM}yzVm3;*(Q;I2%jX>^ zT_)ZQgLEJLDujlt20yCQ_J4Vgj_~6*2vvx{1p2g-5SJc3~qPO(S#lf z`FlxFKZc>)6e4)MiZb?Fa<6qbM_<53OK&QR>go$@!ANAOk6%=~!ga88p|I|HK zydtSuEB?K*PEb~&9R6!)YYDR`20C2AoMH88GG$d(WuTcpy=O)I9Arfmi9QoQ@Ac@l zFjMsY!o(1;QV~>_-U%JlYrjd$$ClV~7LBR>_w340YEAFxVta&FzW4ZUg&pQCpC`@- z)P*ohJj8gM?a$=hw#PrK(g(yNUVu-YXfql8e|ZF}#>qF0^`EZ$_!>U;YfX*9aMh~^ F{{Ux%g&+U` diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/mapping.h b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/mapping.h deleted file mode 100644 index dcb928a..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/mapping.h +++ /dev/null @@ -1,31 +0,0 @@ -#include -#include -#include -#include "uwb.h" - -#ifndef MAPPING_H -#define MAPPING_H - -namespace uwb_slam{ - class Mapping - { - public: - const double PIXEL_SCALE = 5.0; - const int AREA_SIZE = 2000; - Mapping() {}; - void Run(); - bool check_uwb_point(); - void feed_uwb_data(const cv::Point2d & data); - void process(); - std::mutex mMutexMap; - std::shared_ptr uwb_; - - private: - std::queue mv_uwb_point_; - bool read_uwb_ = false; - cv::Mat img; - cv::Point2d cur_point = {-1,-1}; - }; -} - -#endif diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/senddata.h b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/senddata.h deleted file mode 100644 index ff8f9bc..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/senddata.h +++ /dev/null @@ -1,29 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "uwb.h" -#ifndef SENDDATA_H -#define SENDDATA_H - -namespace uwb_slam{ -class Senddata{ - public: - Senddata(){}; - void publishOdometry( std::shared_ptruwb); - void Run(std::shared_ptruwb); - void odomCB(const nav_msgs::Odometry& odom); - - std::mutex mMutexSend; - private: - ros::Publisher position_pub_; - ros::Subscriber odom_sub_; - ros::NodeHandle nh_; - nav_msgs::Odometry odom_;//odom的消息类型 - nav_msgs::Odometry sub_odom_;//odom的消息类型 -}; -} - -#endif \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/uwb.h b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/uwb.h deleted file mode 100644 index 5754498..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/uwb.h +++ /dev/null @@ -1,36 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include "type.h" -#include -#include -#ifndef __UWB_H__ -#define __UWB_H__ - - -namespace uwb_slam{ - -class Uwb -{ -public: - Uwb(); - void Run(); - bool checknewdata(); - void feed_imu_odom_pose_data(); - void UartUSBRead(); - -public: - int pre_seq = -1; - int cur_seq = -1; - uint8_t tmpdata[13]; - float x, y, theta, distance; - - Uwb_data uwb_data_; - std::mutex mMutexUwb; -}; -}; - -#endif diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/align.cpp b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/align.cpp deleted file mode 100644 index 73d8d1d..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/align.cpp +++ /dev/null @@ -1,154 +0,0 @@ -/******************** (C) COPYRIGHT 2023 UPBot ********************************** -* File Name : align.cpp -* Current Version : V1.0 -* Date of Issued : 2023.12.13 zhanli@review -* Comments : 传感器数据对齐 -********************************************************************************/ -#include "align.h" - -namespace uwb_slam{ - - void Align::Run() - { - tmp = ros::Time::now(); - ros::Time tmp1 = ros::Time::now(); - ros::Time tmp2 = ros::Time::now(); - - // 这个地方分别订阅了原始IMU、轮式里程计、里程计(推测是UWB) - wheel_odom_sub_= nh_.subscribe("wheel_odom",10,&Align::wheel_odomCB,this); - imu_sub_ = nh_.subscribe("raw_imu",10,&Align::imuCB,this); - odom_sub_ = nh_.subscribe("odom",10,&Align::odomCB,this); - - std::ofstream outfile("data.txt",std::ofstream::out); - if(outfile.is_open()) - { - img1 = cv::Mat(200, 200, CV_8UC1, cv::Scalar(255,255,255)); - cv::imshow("Image1", img1); - int key2 = cv::waitKey(0); - // if(key2 =='w'){ - // bool write_data_ = true; - // } - - // int count=0; - // while(write_data_){ - while(1){ - - int key3 = cv::waitKey(1); - if(key3 == 'w'){ - break; - } - if(tmp!=imu_odom_.imu_data_.imu_t_) - { - // outfile <<"imu_odom_: "<< "imu_timestamp "<<"imu_linear_acc_x_y_z "<<"imu_angular_x_y_z "<< - // "odom_vxy "<<"odom_angle_v_ "<<"\n"; - // if(tmp1!=uwb_->uwb_data_.uwb_t_&& tmp2!=odom_tmp_){ - outfile << std::left << std::setw(12)<<"imu_odom_: "<< std::setw(10)<< imu_odom_.imu_data_.imu_t_.sec << '.' <uwb_data_.uwb_t_-tmp1).sec<<'.'<uwb_data_.uwb_t_-tmp1).nsec << std::setw(9) - <uwb_data_.x_ << std::setw(9)<uwb_data_.y_<<"\n"; - tmp1 = uwb_->uwb_data_.uwb_t_; - tmp2 = odom_tmp_; - // } - // else if(tmp1!=uwb_->uwb_data_.uwb_t_){ - // outfile <<"imu_odom_: "<< imu_odom_.imu_data_.imu_t_ <<"*" - // <uwb_data_.uwb_t_<<"*"<uwb_data_.x_<<"*"<uwb_data_.y_<<"\n"; - // tmp1 = uwb_->uwb_data_.uwb_t_; - // } - // else if(tmp2!=odom_tmp_){ - // outfile <<"imu_odom_: "<< imu_odom_.imu_data_.imu_t_ <<"*" - // <uwb_data_.uwb_t_; - - // if(count>300) - // break; - } - } - - outfile.close(); - std::cout<< "Data written to file." << std::endl; - } - else{ - std::cout<<"file can not open"< -#include -#include -#include "senddata.h" - - -/**--------------------------------------------------------------------- -* Function : main -* Description : 多传感器融合定位的入口函数 -* Date : 2023/12/13 zhanli@review -*---------------------------------------------------------------------**/ -int main(int argc, char** argv) -{ - // Initialize the ROS node - ros::init(argc, argv, "locate_info_pub_node"); - - std::shared_ptr mp = std::make_shared(); - std::shared_ptr uwb = std::make_shared(); - std::shared_ptr sender = std::make_shared(); - std::shared_ptr align = std::make_shared(); - - mp->uwb_ = uwb; - align->uwb_ = uwb; - - // uwb serried read - std::thread uwb_trd([&uwb]() { - uwb->Run(); - }); - - // 建图部分暂时没有使用到 - /*std::thread map_trd([&mp]() { - mp->Run(); - });*/ - - std::thread sender_trd([&sender, uwb]() { - sender->Run(uwb); - }); - - std::thread align_trd([&align]() { - align->Run(); - }); - - // Start the ROS node's main loop - ros::spin(); -} diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/mapping.cpp b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/mapping.cpp deleted file mode 100644 index a277f48..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/mapping.cpp +++ /dev/null @@ -1,89 +0,0 @@ -#include "mapping.h" -#include -#include -#include -#include - -namespace uwb_slam -{ - bool Mapping::check_uwb_point() - { - //std::unique_lock lock(mMutexMap); - return !mv_uwb_point_.empty(); - } - - void Mapping::feed_uwb_data(const cv::Point2d & data) - { - //std::unique_lock lock(mMutexMap); - mv_uwb_point_.push(data); - } - - void Mapping::process() - { - { - //std::unique_lock lock(mMutexMap); - //std::cout << "SIZE: " <(pix_y,pix_x)= 0; - - //cv::imshow("Image",img); - } - - - void Mapping::Run() - { - int realWidth = AREA_SIZE / PIXEL_SCALE; - int realHeight = AREA_SIZE / PIXEL_SCALE; - - img = cv::Mat(realHeight, realWidth, CV_8UC1, cv::Scalar(255,255,255)); - - for (int j=0;j(j,i)= 128; - - for (int j=199+8;j<210;j+=1) - for (int i=199+8;i<210;i+=1) - img.at(j,i)= 0; - - cv::imshow("Image",img); - - while(1) - { - // 这个地方会持续阻塞 - int key = cv::waitKey(0); - if (key == 'q') { - read_uwb_ = true; - std::cout << "non" << key << std::endl; - //cv::destroyAllWindows(); - } - - while(read_uwb_ ) // 按下空格键 - { - int key2 = cv::waitKey(1); - if (key2 == 'q' ) { - //TODO: save - - std::string pngimage = "/home/firefly/Project_Ros/src/ros_merge_test/Map/output_image.png";//保存的图片文件路径 - cv::imwrite(pngimage, img); - read_uwb_ = false; - break; - } - - this->feed_uwb_data(cv::Point2d(uwb_->x ,uwb_->y)); - - if(check_uwb_point()){ - process(); - } - } - } - } -} // namespace uwb_slam - diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/senddata.cpp b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/senddata.cpp deleted file mode 100644 index 5e1e628..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/senddata.cpp +++ /dev/null @@ -1,83 +0,0 @@ -/******************** (C) COPYRIGHT 2023 UPBot ********************************** -* File Name : senddata.cpp -* Current Version : V1.0 -* Date of Issued : 2023.12.13 zhanli@review -* Comments : UWB数据的发送 -********************************************************************************/ -#include "senddata.h" -namespace uwb_slam{ - -/**--------------------------------------------------------------------- -* Function : Senddata::Run -* Description : UWB位置发布以及odm数据的订阅 -* Date : 2023/12/13 zhanli@review -*---------------------------------------------------------------------**/ -void Senddata::Run(std::shared_ptruwb){ - // 初始化了一个名为loop_rate的ros::Rate对象,频率设置为10赫兹 - ros::Rate loop_rate(10); - // 初始化一个ROS发布者,用于发布nav_msgs::Odometry类型的消息 - // 主题被设置为"uwb_odom",队列大小为50 - position_pub_ = nh_.advertise("uwb_odom", 50); - // 初始化了一个ROS订阅者,用于订阅"odom"主题。它指定了当在该主题上接收到 - // 消息时,将调用Senddata类的odomCB回调函数。队列大小被设置为10 - odom_sub_ = nh_.subscribe("odom", 10, &Senddata::odomCB,this); - - while(ros::ok()){ - // 按照10Hz频率发布uwb信息 - publishOdometry(uwb); - ros::spinOnce(); - // 用于控制循环速率 - loop_rate.sleep(); - } -} - -void Senddata::odomCB(const nav_msgs::Odometry& odom){ - // 这个地方接收的是轮速里程计的信息 - // 包含位置和姿态 - sub_odom_ = odom; - return; -} - -/**--------------------------------------------------------------------- -* Function : Senddata::publishOdometry -* Description : 发布UWB里程计数据,这里读取的数据到底是什么,依旧存在疑问 -* Date : 2023/12/13 zhanli@review -*---------------------------------------------------------------------**/ -void Senddata::publishOdometry(std::shared_ptr uwb) -{ - - std::mutex mMutexSend; - - ros::Time current_time = ros::Time::now(); - - // 设置 Odometry 消息的头部信息 - odom_.header.stamp = current_time; // 这个地方获取的时间是否会存在问题? - odom_.header.frame_id = "odom"; // 设置坐标系为 "map" - odom_.child_frame_id = "base_link"; // 设置坐标系为 "base_link" - - // 填充 Odometry 消息的位置信息 - odom_.pose.pose.position.x = uwb->x; - odom_.pose.pose.position.y = uwb->y; - odom_.pose.pose.position.z = 0.0; - - - // 填充 Odometry 消息的姿态信息(使用四元数来表示姿态) - // tf2::Quaternion quat; - // quat.setRPY(0, 0, uwb->theta); - - // 设置了 yaw 角度,其他 roll 和 pitch 设置为 0 - // odom.pose.pose.orientation.x = quat.x(); - // odom.pose.pose.orientation.y = quat.y(); - // odom.pose.pose.orientation.z = quat.z(); - // odom.pose.pose.orientation.w = quat.w(); - - // 从里程计拿到姿态信息 - odom_.pose.pose.orientation.x = sub_odom_.pose.pose.orientation.x; - odom_.pose.pose.orientation.y = sub_odom_.pose.pose.orientation.y; - odom_.pose.pose.orientation.z = sub_odom_.pose.pose.orientation.z; - odom_.pose.pose.orientation.w = sub_odom_.pose.pose.orientation.w; - - // 发布 Odometry 消息 - position_pub_.publish(odom_); -} -} // namespace uwb_slam \ No newline at end of file diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/uwb.cpp b/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/uwb.cpp deleted file mode 100644 index c2f8fc7..0000000 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/src/uwb.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/******************** (C) COPYRIGHT 2023 UPBot ********************************** -* File Name : uwb.cpp -* Current Version : V1.0 -* Date of Issued : 2023.12.13 zhanli@review -* Comments : UWB数据驱动, 负责从串口读取USB并发布出去,这个代码可能存在以下 - 改进:1) 创建固定的串口读取对象serial_port 2) 修改代码为异步 - 读取。3) 确认串口数据的长度 -********************************************************************************/ -#include "uwb.h" -#include - -#define PI acos(-1) - -namespace uwb_slam{ - - // - Uwb::Uwb(){ - } - - void Uwb::Run() { - while(1){ - // 这个地方不控制速率? - // UartUSBRead 这个地方本身就是同步读取串口,是阻塞的函数 - this->UartUSBRead(); - } - } - - /**--------------------------------------------------------------------- - * Function : UartUSBRead - * Description : 通过串口读取数据,目前这段代码存在部分问题:1) 每次都重复创建 - * 串口读取对象,可能会影响性能。 - * Date : 2023/12/13 zhanli@review - *---------------------------------------------------------------------**/ - void Uwb::UartUSBRead() - { - try { - boost::asio::io_service io; - boost::asio::serial_port serial(io, "/dev/ttyUSB0"); // 替换成你的串口设备路径 - - serial.set_option(boost::asio::serial_port_base::baud_rate(115200)); // 设置波特率 - serial.set_option(boost::asio::serial_port_base::character_size(8)); // 设置数据位 - serial.set_option(boost::asio::serial_port_base::parity(boost::asio::serial_port_base::parity::none)); // 设置校验位 - serial.set_option(boost::asio::serial_port_base::stop_bits(boost::asio::serial_port_base::stop_bits::one)); // 设置停止位 - - uint8_t tmpdata[12]; - // 读取串口数据 - size_t bytesRead = boost::asio::read(serial, boost::asio::buffer(tmpdata, 12)); - - // UWB获取的数据是半径R和角度Theta - memcpy(&this->distance, &tmpdata[3], sizeof(distance)); - memcpy(&this->theta, &tmpdata[7], sizeof(theta)); - - // 这个地方是为了把UWB的坐标移动到图像的中心位置 2023/12/13@李瑞瑞 - this->uwb_data_.x_ = cosf(theta / 180*PI)*distance + 1000; - this->uwb_data_.y_ = sinf(theta / 180*PI)*distance + 1000; - // 获取此时的系统时间戳 - this->uwb_data_.uwb_t_ = ros::Time::now(); - - std::cout << "theta: " << theta << " distance: " << distance << std::endl; - - } catch (const std::exception& ex) { - std::cerr << "[ERR]: uwb.cpp::Uart USB read data exception: " - << ex.what() << std::endl; - } - } -}; - - diff --git a/Code/MowingRobot/obj_dec/README.md b/Code/MowingRobot/obj_dec/README.md deleted file mode 100644 index 188772b..0000000 --- a/Code/MowingRobot/obj_dec/README.md +++ /dev/null @@ -1,15 +0,0 @@ -使用方法: - -```shell -# 进入工作目录 -cd ~/obj_dec -# 编译 -catkin_make -# 引入环境变量 -source ./devel/setup.bash -# 启动ros核心节点 -roscore -# 运行 -rosrun rknn_yolov5_demo main -``` - diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/CMakeLists.txt b/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/CMakeLists.txt deleted file mode 100644 index 08e5887..0000000 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/CMakeLists.txt +++ /dev/null @@ -1,80 +0,0 @@ -cmake_minimum_required(VERSION 3.0.2) -project(rknn_yolov5_demo) - -find_package(catkin REQUIRED COMPONENTS - roscpp - std_msgs - message_generation -) - - -find_package(OpenCV REQUIRED) -find_package(Threads REQUIRED) - -add_message_files( - FILES - dis_info.msg - dis_info_array.msg -) -generate_messages( - DEPENDENCIES - std_msgs -) - - -catkin_package( - - CATKIN_DEPENDS roscpp std_msgs message_runtime - -) - - -include_directories( -include - ${catkin_INCLUDE_DIRS} - ${OpenCV_INCLUDE_DIRS} - /home/firefly/obj_dec/src/runtime/RK3588/Linux/librknn_api/include - /home/firefly/obj_dec/src/3rdparty/rga/RK3588/include -) - -add_library( - head - include/rknn_yolov5_demo/detection.h - include/rknn_yolov5_demo/postprocess.h - include/rknn_yolov5_demo/preprocess.h - include/rknn_yolov5_demo/ranging.h - include/rknn_yolov5_demo/Timer.h - # include/rknn_yolov5_demo/pub_info.h - src/detection.cc - src/postprocess.cc - src/preprocess.cc - src/ranging.cc - # src/pub_info.cc -) - -add_dependencies(head ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) -target_link_libraries(head - ${catkin_LIBRARIES} - -) -add_executable(main src/main.cc) -add_executable(sub_dis src/sub_dis.cc) -add_dependencies(main ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) -add_dependencies(sub_dis ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) - -target_link_libraries(sub_dis -${catkin_LIBRARIES} -) -target_link_libraries(main -head -${catkin_LIBRARIES} -${OpenCV_LIBS} -Threads::Threads -/home/firefly/obj_dec/src/librknnrt.so -/home/firefly/obj_dec/src/librga.so -/home/firefly/obj_dec/src/libopencv_highgui.so -) - - - - diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/pub_info.h b/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/pub_info.h deleted file mode 100644 index 697980c..0000000 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/pub_info.h +++ /dev/null @@ -1,32 +0,0 @@ -#ifndef PUB_INFO_H -#define PUB_INFO_H -#include -#include -#include "rknn_yolov5_demo/dis_info.h" -#include "rknn_yolov5_demo/dis_info_array.h" -#include "rknn_yolov5_demo/ranging.h" - -class Pub_info{ - public: - Pub_info(){ - dis_pub_ = nh_.advertise("ceju_info",10); - thread_1 = std::thread(&Pub_info::pub_dis,this); - // thread_2 = std::thread(&Pub_info::) - - }; - ~Pub_info(){ - thread_1.join(); - } - void pub_dis(); - public: - ros::NodeHandle nh_; - ros::Publisher dis_pub_; - rknn_yolov5_demo::dis_info_array dis_array_; - rknn_yolov5_demo::dis_info data; - std::thread thread_1; - // std::thread thread_2; - - - -}; -#endif \ No newline at end of file diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/msg/dis_info_array.msg b/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/msg/dis_info_array.msg deleted file mode 100644 index 3b9e9b3..0000000 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/msg/dis_info_array.msg +++ /dev/null @@ -1 +0,0 @@ -rknn_yolov5_demo/dis_info[] dis \ No newline at end of file diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/pub_info.cc b/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/pub_info.cc deleted file mode 100644 index a8c95fb..0000000 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/pub_info.cc +++ /dev/null @@ -1,28 +0,0 @@ -#include "rknn_yolov5_demo/pub_info.h" - - -void Pub_info::pub_dis() -{ - Ranging ranging; - ros::Rate loop_rate(10); - - while(ros::ok()){ - std::vector result = ranging.get_range(); - cv::Mat info = result[2]; - for(int i=0;i(i,0); - data.width = info.at(i,1); - data.height = info.at(i,2); - data.angle = info.at(i,3); - dis_array_.dis.push_back(data); - } - dis_pub_.publish(dis_array_); - loop_rate.sleep(); - - } - - - -} - diff --git a/Code/MowingRobot/PIBot_ROS/.gitignore b/Code/MowingRobot/pibot_ros/.gitignore similarity index 100% rename from Code/MowingRobot/PIBot_ROS/.gitignore rename to Code/MowingRobot/pibot_ros/.gitignore diff --git a/Code/MowingRobot/PIBot_ROS/.pibot_init_env.sh.swp b/Code/MowingRobot/pibot_ros/.pibot_init_env.sh.swp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/.pibot_init_env.sh.swp rename to Code/MowingRobot/pibot_ros/.pibot_init_env.sh.swp diff --git a/Code/MowingRobot/PIBot_ROS/README_BAK.md b/Code/MowingRobot/pibot_ros/README.md similarity index 96% rename from Code/MowingRobot/PIBot_ROS/README_BAK.md rename to Code/MowingRobot/pibot_ros/README.md index 8c58a8c..7da2f32 100644 --- a/Code/MowingRobot/PIBot_ROS/README_BAK.md +++ b/Code/MowingRobot/pibot_ros/README.md @@ -1,6 +1,6 @@ # PIBOT ROS Workspace v2.0 -## 安装ROS +## install ros ```shell cd ~/pibot_ros/ ./pibot_install_ros.sh diff --git a/Code/MowingRobot/pibot_ros/a.out b/Code/MowingRobot/pibot_ros/a.out new file mode 100755 index 0000000000000000000000000000000000000000..4d1ce6573924841156396f7d4a48d42bb77ce250 GIT binary patch literal 5496 zcmeHL&ubG=5T0yWtyX9iM6n*U9_+!U3aJ#Vu&GUo7_HQRKQ7C*2~8kPYO*aY2%fza z5&SdkP4OTe`ww`~Q$U102%hw4oq0Q7nxwlb3WBf$`@Z+SH}l@SN#28*$Ju<&N+bwk z(M#GJ5!pJiaSR&5P0;~vkI*0^Q6GP{PTSf8-qyu{1FDx~6uT{*-%8kK1~_6yL_qi? zD0X{dYd64YS(pV#dK$44Uuj4hmZ3~Hc5Yy10>a|{&+J;kDg?y&7Cw1JVEkK7&OH@!CR6MD8T=Aa)^4vezFv(FtKHh1bB#RKAZa&$LQ#aq& zj!!q=Pl#hT&)H~*-$~APTcP{_`8~Y+o{13s6NcZv{u$=O@>of`hxzN33rvLRPet%o zBly_}J}U2Bh|nizEO%4xON~PW|5MbHP&W!@_wF~w=eZ+y8TR-;Z|g&lRzfnwZSl(laGxo*0hnR!!#!j1^qe16EC&~TZ_=#GW{ixPSe--~99n-Pe literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/PIBot_ROS/pibot_add_upstart.sh b/Code/MowingRobot/pibot_ros/pibot_add_upstart.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_add_upstart.sh rename to Code/MowingRobot/pibot_ros/pibot_add_upstart.sh diff --git a/Code/MowingRobot/PIBot_ROS/pibot_ap.sh b/Code/MowingRobot/pibot_ros/pibot_ap.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_ap.sh rename to Code/MowingRobot/pibot_ros/pibot_ap.sh diff --git a/Code/MowingRobot/PIBot_ROS/pibot_clear_rosproc.sh b/Code/MowingRobot/pibot_ros/pibot_clear_rosproc.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_clear_rosproc.sh rename to Code/MowingRobot/pibot_ros/pibot_clear_rosproc.sh diff --git a/Code/MowingRobot/PIBot_ROS/pibot_create_swap.sh b/Code/MowingRobot/pibot_ros/pibot_create_swap.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_create_swap.sh rename to Code/MowingRobot/pibot_ros/pibot_create_swap.sh diff --git a/Code/MowingRobot/PIBot_ROS/pibot_init_env.sh b/Code/MowingRobot/pibot_ros/pibot_init_env.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_init_env.sh rename to Code/MowingRobot/pibot_ros/pibot_init_env.sh diff --git a/Code/MowingRobot/PIBot_ROS/pibot_install_ros.sh b/Code/MowingRobot/pibot_ros/pibot_install_ros.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_install_ros.sh rename to Code/MowingRobot/pibot_ros/pibot_install_ros.sh diff --git a/Code/MowingRobot/PIBot_ROS/pibot_remove_upstart.sh b/Code/MowingRobot/pibot_ros/pibot_remove_upstart.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_remove_upstart.sh rename to Code/MowingRobot/pibot_ros/pibot_remove_upstart.sh diff --git a/Code/MowingRobot/PIBot_ROS/pibot_upstart/pibot.service b/Code/MowingRobot/pibot_ros/pibot_upstart/pibot.service similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_upstart/pibot.service rename to Code/MowingRobot/pibot_ros/pibot_upstart/pibot.service diff --git a/Code/MowingRobot/PIBot_ROS/pibot_upstart/pibot_restart.sh b/Code/MowingRobot/pibot_ros/pibot_upstart/pibot_restart.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_upstart/pibot_restart.sh rename to Code/MowingRobot/pibot_ros/pibot_upstart/pibot_restart.sh diff --git a/Code/MowingRobot/PIBot_ROS/pibot_upstart/pibot_start.sh b/Code/MowingRobot/pibot_ros/pibot_upstart/pibot_start.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_upstart/pibot_start.sh rename to Code/MowingRobot/pibot_ros/pibot_upstart/pibot_start.sh diff --git a/Code/MowingRobot/PIBot_ROS/pibot_upstart/pibot_stop.sh b/Code/MowingRobot/pibot_ros/pibot_upstart/pibot_stop.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_upstart/pibot_stop.sh rename to Code/MowingRobot/pibot_ros/pibot_upstart/pibot_stop.sh diff --git a/Code/MowingRobot/PIBot_ROS/pibot_upstart/pibotenv b/Code/MowingRobot/pibot_ros/pibot_upstart/pibotenv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_upstart/pibotenv rename to Code/MowingRobot/pibot_ros/pibot_upstart/pibotenv diff --git a/Code/MowingRobot/PIBot_ROS/pibot_view_env.sh b/Code/MowingRobot/pibot_ros/pibot_view_env.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pibot_view_env.sh rename to Code/MowingRobot/pibot_ros/pibot_view_env.sh diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/__init__.py b/Code/MowingRobot/pibot_ros/pypibot/pypibot/__init__.py old mode 100644 new mode 100755 similarity index 95% rename from Code/MowingRobot/PIBot_ROS/pypibot/pypibot/__init__.py rename to Code/MowingRobot/pibot_ros/pypibot/pypibot/__init__.py index aa21836..a7b4ef9 --- a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/__init__.py +++ b/Code/MowingRobot/pibot_ros/pypibot/pypibot/__init__.py @@ -1,17 +1,17 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -import pypibot.assistant -import pypibot.log as Logger -import pypibot.err -log=Logger.log -import sys -def createNamedLog(name): - return Logger.NamedLog(name) -class Object(): - pass -isDebug="-d" in sys.argv - -import platform -isWindows=False -if platform.system()=='Windows': - isWindows=True +#!/usr/bin/python +# -*- coding: utf-8 -*- +import pypibot.assistant +import pypibot.log as Logger +import pypibot.err +log=Logger.log +import sys +def createNamedLog(name): + return Logger.NamedLog(name) +class Object(): + pass +isDebug="-d" in sys.argv + +import platform +isWindows=False +if platform.system()=='Windows': + isWindows=True diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/assistant.py b/Code/MowingRobot/pibot_ros/pypibot/pypibot/assistant.py old mode 100644 new mode 100755 similarity index 96% rename from Code/MowingRobot/PIBot_ROS/pypibot/pypibot/assistant.py rename to Code/MowingRobot/pibot_ros/pypibot/pypibot/assistant.py index 94683b0..a3e6555 --- a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/assistant.py +++ b/Code/MowingRobot/pibot_ros/pypibot/pypibot/assistant.py @@ -1,234 +1,234 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -import os, sys, inspect -import datetime -import signal -import threading -import time -# function: get directory of current script, if script is built -# into an executable file, get directory of the excutable file -def current_file_directory(): - path = os.path.realpath(sys.path[0]) # interpreter starter's path - if os.path.isfile(path): # starter is excutable file - path = os.path.dirname(path) - path = os.path.abspath(path) # return excutable file's directory - else: # starter is python script - caller_file = inspect.stack()[0][1] # function caller's filename - path = os.path.abspath(os.path.dirname(caller_file))# return function caller's file's directory - if path[-1]!=os.path.sep:path+=os.path.sep - return path - -"""格式化字符串""" -def formatString(string,*argv): - string=string%argv - if string.find('$(scriptpath)')>=0: - string=string.replace('$(scriptpath)',current_file_directory()) - if string.find('$(filenumber2)')>=0: - i=0 - path="" - while True: - path=string.replace('$(scriptpath)',"%02d"%i) - if not os.path.lexists(path):break - i+=1 - string=path - #8位日期(20140404) - if string.find('$(Date8)')>=0: - now=datetime.datetime.now() - string=string.replace('$(Date8)', now.strftime("%Y%m%d")) - #6位日期(140404) - if string.find('$(Date6)')>=0: - now=datetime.datetime.now() - string=string.replace('$(Date6)', now.strftime("%y%m%d")) - #6位时间(121212) - if string.find('$(Time6)')>=0: - now=datetime.datetime.now() - string=string.replace('$(Time6)', now.strftime("%H%M%S")) - #4位时间(1212) - if string.find('$(Time4)')>=0: - now=datetime.datetime.now() - string=string.replace('$(Time4)', now.strftime("%H%M")) - #文件编号2位(必须在最后) - if string.find('$(filenumber2)')>=0: - i=0 - path="" - while True: - path=string.replace('$(filenumber2)',"%02d"%i) - if not os.path.lexists(path):break - i+=1 - string=path - #文件编号3位(必须在最后) - if string.find('$(filenumber3)')>=0: - i=0 - path="" - while True: - path=string.replace('$(filenumber3)',"%03d"%i) - if not os.path.lexists(path):break - i+=1 - string=path - return string - -""" - 取得进程列表 - 格式:(PID,cmd) -""" -def getProcessList(): - processList = [] - try: - for line in os.popen("ps xa"): - fields = line.split() - # spid = fields[0] - pid = 0 - try:pid = int(fields[0]) - except:None - cmd = line[27:-1] - # print "PS:%d,%s"%(npid,process) - if pid != 0 and len(cmd) > 0: - processList.append((pid, cmd)) - except Exception as e: - print("getProcessList except:%s" % (e)) - return processList -def killCommand(cmd): - try: - processList = getProcessList() - for p in processList: - if p[1].find(cmd) != -1: - pid = p[0] - os.kill(pid, signal.SIGKILL) - except Exception as e: - print("killCommand ‘%s’ except:%s" % (cmd,e)) - -def check_pid(pid): - """ Check For the existence of a unix pid. """ - if pid == 0:return False - try: - os.kill(pid, 0) - except OSError: - return False - else: - return True - -SF=formatString - -#全局异常捕获 -def excepthook(excType, excValue, tb): - '''''write the unhandle exception to log''' - from log import log - import traceback - log.e('Unhandled Error: %s',''.join(traceback.format_exception(excType, excValue, tb))) - sys.exit(-1) - #sys.__excepthook__(type, value, trace) - #sys.__excepthook__(excType, excValue, tb) - -_defaultGlobalExcept=sys.excepthook - -def enableGlobalExcept(enable=True): - if enable: - sys.excepthook = excepthook - else: - sys.excepthook=_defaultGlobalExcept -# 默认启动全局异常处理 -enableGlobalExcept() -#创建线程 -def createThread(name,target,args=(),autoRun=True,daemon=True): - from log import log - def threadProc(): - log.i("thread %s started!",name) - try: - target(*args) - log.i("thread %s ended!",name) - except Exception as e: - log.e("thread %s crash!err=%s",name,e) - thd=threading.Thread(name=name,target=threadProc) - thd.setDaemon(daemon) - if autoRun:thd.start() - return thd - - -#定时器 -class Timer(): - def __init__(self, timer_proc, args=(),first=0,period=0,name="Timer"): - self.name=name - self.first=first - self.period=period - self.args=args - self.timer_proc=timer_proc - self.thdWork=None - self.stopFlag=False - from log import NamedLog - self.log=NamedLog(name) - def run(self): - if self.first>0: - time.sleep(self.first) - try: - self.timer_proc(*self.args) - except Exception as e: - self.log.error("timer proc crash!err=%s",e) - while self.period>0 and not self.stopFlag: - time.sleep(self.period) - try: - self.timer_proc(*self.args) - except Exception as e: - self.log.error("timer proc crash!err=%s",e) - def start(self): - if self.isAlive(): - self.log.d("already running!") - return True - self.stopFlag=False - self.thdWork=threading.Thread(name=self.name,target=self.run) - self.thdWork.setDaemon(True) - self.thdWork.start() - def stop(self,timeout=3): - if self.isAlive(): - self.stopFlag=True - try: - self.thdWork.join(timeout) - except Exception as e: - self.log.e("stop timeout!") - - def isAlive(self): - return self.thdWork and self.thdWork.isAlive() -#计时器 -class Ticker(): - def __init__(self): - self.reset() - # 片段,可以判断时长是否在一个特定毫秒段内 - self.section=[] - def reset(self): - self.tick=time.time() - self.end=0 - def stop(self): - self.end=time.time() - @property - def ticker(self): - if self.end==0: - return int((time.time()-self.tick)*1000) - else: - return int((self.end-self.tick)*1000) - def addSection(self,a,b): - a,b=int(a),int(b) - assert a=a and tick<=b: - return True - return False - def __call__(self): - return self.ticker -def waitExit(): - import log - log.log.i("start waiting to exit...") - try: - while(True): - time.sleep(1) - except Exception as e: - log.log.w("recv exit sign!") - -def is_python3(): - return sys.hexversion > 0x03000000 +#!/usr/bin/python +# -*- coding: utf-8 -*- +import os, sys, inspect +import datetime +import signal +import threading +import time +# function: get directory of current script, if script is built +# into an executable file, get directory of the excutable file +def current_file_directory(): + path = os.path.realpath(sys.path[0]) # interpreter starter's path + if os.path.isfile(path): # starter is excutable file + path = os.path.dirname(path) + path = os.path.abspath(path) # return excutable file's directory + else: # starter is python script + caller_file = inspect.stack()[0][1] # function caller's filename + path = os.path.abspath(os.path.dirname(caller_file))# return function caller's file's directory + if path[-1]!=os.path.sep:path+=os.path.sep + return path + +"""格式化字符串""" +def formatString(string,*argv): + string=string%argv + if string.find('$(scriptpath)')>=0: + string=string.replace('$(scriptpath)',current_file_directory()) + if string.find('$(filenumber2)')>=0: + i=0 + path="" + while True: + path=string.replace('$(scriptpath)',"%02d"%i) + if not os.path.lexists(path):break + i+=1 + string=path + #8位日期(20140404) + if string.find('$(Date8)')>=0: + now=datetime.datetime.now() + string=string.replace('$(Date8)', now.strftime("%Y%m%d")) + #6位日期(140404) + if string.find('$(Date6)')>=0: + now=datetime.datetime.now() + string=string.replace('$(Date6)', now.strftime("%y%m%d")) + #6位时间(121212) + if string.find('$(Time6)')>=0: + now=datetime.datetime.now() + string=string.replace('$(Time6)', now.strftime("%H%M%S")) + #4位时间(1212) + if string.find('$(Time4)')>=0: + now=datetime.datetime.now() + string=string.replace('$(Time4)', now.strftime("%H%M")) + #文件编号2位(必须在最后) + if string.find('$(filenumber2)')>=0: + i=0 + path="" + while True: + path=string.replace('$(filenumber2)',"%02d"%i) + if not os.path.lexists(path):break + i+=1 + string=path + #文件编号3位(必须在最后) + if string.find('$(filenumber3)')>=0: + i=0 + path="" + while True: + path=string.replace('$(filenumber3)',"%03d"%i) + if not os.path.lexists(path):break + i+=1 + string=path + return string + +""" + 取得进程列表 + 格式:(PID,cmd) +""" +def getProcessList(): + processList = [] + try: + for line in os.popen("ps xa"): + fields = line.split() + # spid = fields[0] + pid = 0 + try:pid = int(fields[0]) + except:None + cmd = line[27:-1] + # print "PS:%d,%s"%(npid,process) + if pid != 0 and len(cmd) > 0: + processList.append((pid, cmd)) + except Exception as e: + print("getProcessList except:%s" % (e)) + return processList +def killCommand(cmd): + try: + processList = getProcessList() + for p in processList: + if p[1].find(cmd) != -1: + pid = p[0] + os.kill(pid, signal.SIGKILL) + except Exception as e: + print("killCommand ‘%s’ except:%s" % (cmd,e)) + +def check_pid(pid): + """ Check For the existence of a unix pid. """ + if pid == 0:return False + try: + os.kill(pid, 0) + except OSError: + return False + else: + return True + +SF=formatString + +#全局异常捕获 +def excepthook(excType, excValue, tb): + '''''write the unhandle exception to log''' + from log import log + import traceback + log.e('Unhandled Error: %s',''.join(traceback.format_exception(excType, excValue, tb))) + sys.exit(-1) + #sys.__excepthook__(type, value, trace) + #sys.__excepthook__(excType, excValue, tb) + +_defaultGlobalExcept=sys.excepthook + +def enableGlobalExcept(enable=True): + if enable: + sys.excepthook = excepthook + else: + sys.excepthook=_defaultGlobalExcept +# 默认启动全局异常处理 +enableGlobalExcept() +#创建线程 +def createThread(name,target,args=(),autoRun=True,daemon=True): + from log import log + def threadProc(): + log.i("thread %s started!",name) + try: + target(*args) + log.i("thread %s ended!",name) + except Exception as e: + log.e("thread %s crash!err=%s",name,e) + thd=threading.Thread(name=name,target=threadProc) + thd.setDaemon(daemon) + if autoRun:thd.start() + return thd + + +#定时器 +class Timer(): + def __init__(self, timer_proc, args=(),first=0,period=0,name="Timer"): + self.name=name + self.first=first + self.period=period + self.args=args + self.timer_proc=timer_proc + self.thdWork=None + self.stopFlag=False + from log import NamedLog + self.log=NamedLog(name) + def run(self): + if self.first>0: + time.sleep(self.first) + try: + self.timer_proc(*self.args) + except Exception as e: + self.log.error("timer proc crash!err=%s",e) + while self.period>0 and not self.stopFlag: + time.sleep(self.period) + try: + self.timer_proc(*self.args) + except Exception as e: + self.log.error("timer proc crash!err=%s",e) + def start(self): + if self.isAlive(): + self.log.d("already running!") + return True + self.stopFlag=False + self.thdWork=threading.Thread(name=self.name,target=self.run) + self.thdWork.setDaemon(True) + self.thdWork.start() + def stop(self,timeout=3): + if self.isAlive(): + self.stopFlag=True + try: + self.thdWork.join(timeout) + except Exception as e: + self.log.e("stop timeout!") + + def isAlive(self): + return self.thdWork and self.thdWork.isAlive() +#计时器 +class Ticker(): + def __init__(self): + self.reset() + # 片段,可以判断时长是否在一个特定毫秒段内 + self.section=[] + def reset(self): + self.tick=time.time() + self.end=0 + def stop(self): + self.end=time.time() + @property + def ticker(self): + if self.end==0: + return int((time.time()-self.tick)*1000) + else: + return int((self.end-self.tick)*1000) + def addSection(self,a,b): + a,b=int(a),int(b) + assert a=a and tick<=b: + return True + return False + def __call__(self): + return self.ticker +def waitExit(): + import log + log.log.i("start waiting to exit...") + try: + while(True): + time.sleep(1) + except Exception as e: + log.log.w("recv exit sign!") + +def is_python3(): + return sys.hexversion > 0x03000000 diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/configer.py b/Code/MowingRobot/pibot_ros/pypibot/pypibot/configer.py old mode 100644 new mode 100755 similarity index 97% rename from Code/MowingRobot/PIBot_ROS/pypibot/pypibot/configer.py rename to Code/MowingRobot/pibot_ros/pypibot/pypibot/configer.py index 7bb3b9f..a837ed1 --- a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/configer.py +++ b/Code/MowingRobot/pibot_ros/pypibot/pypibot/configer.py @@ -1,56 +1,56 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -import ConfigParser -from log import PLOG -import os -def getdefaultfilename(): - pass -def openconfiger(filename): - return configer(filename) -class configer: - def __init__(self,fullfilepath): - self._filepath=fullfilepath - if not os.path.isdir(os.path.dirname(fullfilepath)): - os.makedirs(os.path.dirname(fullfilepath)) - self._conf=ConfigParser.ConfigParser() - if os.path.isfile(fullfilepath): - try: - self._conf.readfp(open(fullfilepath,"r")) - except Exception,e: - PLOG.error("配置文件'%s'打开失败,err=%s"%(self._filepath,e)) - def save(self): - try: - self._conf.write(open(self._filepath,"w")) - except Exception,e: - PLOG.error("配置文件'%s'保存失败,err=%s"%(self._filepath,e)) - - def changeConfValue(self,section,option,value): - if self._conf.has_section(section): - self._conf.set(section,option,value) - else: - self._conf.add_section(section) - self._conf.set(section,option,value) - - def _readvalue(self,fn,section,option,default): - result=default - if self._conf.has_section(section): - if self._conf.has_option(section,option): - result=fn(section,option) - PLOG.debug("Option[%s][%s]=%s"%(section,option,str(result))) - else: - self._conf.set(section,option,str(default)) - result=default - else: - self._conf.add_section(section) - self._conf.set(section,option,str(default)) - result=default - return result - def getstr(self,section,option,default=""): - return self._readvalue(self._conf.get, section, option, default) - def getint(self,section,option,default=0): - return self._readvalue(self._conf.getint, section, option, default) - def getfloat(self,section,option,default=0.0): - return self._readvalue(self._conf.getfloat, section, option, default) - def getboolean(self,section,option,default=False): - return self._readvalue(self._conf.getboolean, section, option, default) +#!/usr/bin/python +# -*- coding: utf-8 -*- + +import ConfigParser +from log import PLOG +import os +def getdefaultfilename(): + pass +def openconfiger(filename): + return configer(filename) +class configer: + def __init__(self,fullfilepath): + self._filepath=fullfilepath + if not os.path.isdir(os.path.dirname(fullfilepath)): + os.makedirs(os.path.dirname(fullfilepath)) + self._conf=ConfigParser.ConfigParser() + if os.path.isfile(fullfilepath): + try: + self._conf.readfp(open(fullfilepath,"r")) + except Exception,e: + PLOG.error("配置文件'%s'打开失败,err=%s"%(self._filepath,e)) + def save(self): + try: + self._conf.write(open(self._filepath,"w")) + except Exception,e: + PLOG.error("配置文件'%s'保存失败,err=%s"%(self._filepath,e)) + + def changeConfValue(self,section,option,value): + if self._conf.has_section(section): + self._conf.set(section,option,value) + else: + self._conf.add_section(section) + self._conf.set(section,option,value) + + def _readvalue(self,fn,section,option,default): + result=default + if self._conf.has_section(section): + if self._conf.has_option(section,option): + result=fn(section,option) + PLOG.debug("Option[%s][%s]=%s"%(section,option,str(result))) + else: + self._conf.set(section,option,str(default)) + result=default + else: + self._conf.add_section(section) + self._conf.set(section,option,str(default)) + result=default + return result + def getstr(self,section,option,default=""): + return self._readvalue(self._conf.get, section, option, default) + def getint(self,section,option,default=0): + return self._readvalue(self._conf.getint, section, option, default) + def getfloat(self,section,option,default=0.0): + return self._readvalue(self._conf.getfloat, section, option, default) + def getboolean(self,section,option,default=False): + return self._readvalue(self._conf.getboolean, section, option, default) diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/daemon.py b/Code/MowingRobot/pibot_ros/pypibot/pypibot/daemon.py old mode 100644 new mode 100755 similarity index 96% rename from Code/MowingRobot/PIBot_ROS/pypibot/pypibot/daemon.py rename to Code/MowingRobot/pibot_ros/pypibot/pypibot/daemon.py index 1ff78dc..1de9afa --- a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/daemon.py +++ b/Code/MowingRobot/pibot_ros/pypibot/pypibot/daemon.py @@ -1,140 +1,140 @@ -#!/usr/bin/env python -# -*- coding: utf-8 -*- - -import sys, os, time, atexit -from signal import SIGTERM - -def check_pid(pid): - """ Check For the existence of a unix pid. """ - if pid == 0:return False - try: - os.kill(pid, 0) - except OSError: - return False - else: - return True - -class daemon: - """ - A generic daemon class. - - Usage: subclass the Daemon class and override the run() method - """ - def __init__(self, pidfile, stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'): - self.stdin = stdin - self.stdout = stdout - self.stderr = stderr - self.pidfile = pidfile - - def daemonize(self): - """ - do the UNIX double-fork magic, see Stevens' "Advanced - Programming in the UNIX Environment" for details (ISBN 0201563177) - http://www.erlenstar.demon.co.uk/unix/faq_2.html#SEC16 - """ - try: - pid = os.fork() - if pid > 0: - # exit first parent - sys.exit(0) - except OSError, e: - sys.stderr.write("fork #1 failed: %d (%s)\n" % (e.errno, e.strerror)) - sys.exit(1) - - # decouple from parent environment - os.chdir("/") - os.setsid() - os.umask(0) - - # do second fork - try: - pid = os.fork() - if pid > 0: - # exit from second parent - sys.exit(0) - except OSError, e: - sys.stderr.write("fork #2 failed: %d (%s)\n" % (e.errno, e.strerror)) - sys.exit(1) - - # redirect standard file descriptors - sys.stdout.flush() - sys.stderr.flush() - si = file(self.stdin, 'r') - so = file(self.stdout, 'a+') - se = file(self.stderr, 'a+', 0) - os.dup2(si.fileno(), sys.stdin.fileno()) - os.dup2(so.fileno(), sys.stdout.fileno()) - os.dup2(se.fileno(), sys.stderr.fileno()) - - # write pidfile - atexit.register(self.delpid) - pid = str(os.getpid()) - file(self.pidfile, 'w+').write("%s\n" % pid) - - def delpid(self): - os.remove(self.pidfile) - - def start(self): - """ - Start the daemon - """ - # Check for a pidfile to see if the daemon already runs - try: - pf = file(self.pidfile, 'r') - pid = int(pf.read().strip()) - pf.close() - except IOError: - pid = None - - if pid and check_pid(pid): - message = "pidfile %s already exist. Daemon already running?\n" - sys.stderr.write(message % self.pidfile) - sys.exit(1) - print("daemon start...") - # Start the daemon - self.daemonize() - self.run() - - def stop(self): - """ - Stop the daemon - """ - # Get the pid from the pidfile - try: - pf = file(self.pidfile, 'r') - pid = int(pf.read().strip()) - pf.close() - except IOError: - pid = None - - if not pid: - message = "pidfile %s does not exist. Daemon not running?\n" - sys.stderr.write(message % self.pidfile) - return # not an error in a restart - - # Try killing the daemon process - try: - while 1: - os.kill(pid, SIGTERM) - time.sleep(0.1) - except OSError, err: - err = str(err) - if err.find("No such process") > 0: - if os.path.exists(self.pidfile): - os.remove(self.pidfile) - else: - print(str(err)) - sys.exit(1) - - def restart(self): - """ - Restart the daemon - """ - self.stop() - self.start() - - def run(self): - """ - You should override this method when you subclass Daemon. It will be called after the process has been - daemonized by start() or restart(). - """ +#!/usr/bin/env python +# -*- coding: utf-8 -*- + +import sys, os, time, atexit +from signal import SIGTERM + +def check_pid(pid): + """ Check For the existence of a unix pid. """ + if pid == 0:return False + try: + os.kill(pid, 0) + except OSError: + return False + else: + return True + +class daemon: + """ + A generic daemon class. + + Usage: subclass the Daemon class and override the run() method + """ + def __init__(self, pidfile, stdin='/dev/null', stdout='/dev/null', stderr='/dev/null'): + self.stdin = stdin + self.stdout = stdout + self.stderr = stderr + self.pidfile = pidfile + + def daemonize(self): + """ + do the UNIX double-fork magic, see Stevens' "Advanced + Programming in the UNIX Environment" for details (ISBN 0201563177) + http://www.erlenstar.demon.co.uk/unix/faq_2.html#SEC16 + """ + try: + pid = os.fork() + if pid > 0: + # exit first parent + sys.exit(0) + except OSError, e: + sys.stderr.write("fork #1 failed: %d (%s)\n" % (e.errno, e.strerror)) + sys.exit(1) + + # decouple from parent environment + os.chdir("/") + os.setsid() + os.umask(0) + + # do second fork + try: + pid = os.fork() + if pid > 0: + # exit from second parent + sys.exit(0) + except OSError, e: + sys.stderr.write("fork #2 failed: %d (%s)\n" % (e.errno, e.strerror)) + sys.exit(1) + + # redirect standard file descriptors + sys.stdout.flush() + sys.stderr.flush() + si = file(self.stdin, 'r') + so = file(self.stdout, 'a+') + se = file(self.stderr, 'a+', 0) + os.dup2(si.fileno(), sys.stdin.fileno()) + os.dup2(so.fileno(), sys.stdout.fileno()) + os.dup2(se.fileno(), sys.stderr.fileno()) + + # write pidfile + atexit.register(self.delpid) + pid = str(os.getpid()) + file(self.pidfile, 'w+').write("%s\n" % pid) + + def delpid(self): + os.remove(self.pidfile) + + def start(self): + """ + Start the daemon + """ + # Check for a pidfile to see if the daemon already runs + try: + pf = file(self.pidfile, 'r') + pid = int(pf.read().strip()) + pf.close() + except IOError: + pid = None + + if pid and check_pid(pid): + message = "pidfile %s already exist. Daemon already running?\n" + sys.stderr.write(message % self.pidfile) + sys.exit(1) + print("daemon start...") + # Start the daemon + self.daemonize() + self.run() + + def stop(self): + """ + Stop the daemon + """ + # Get the pid from the pidfile + try: + pf = file(self.pidfile, 'r') + pid = int(pf.read().strip()) + pf.close() + except IOError: + pid = None + + if not pid: + message = "pidfile %s does not exist. Daemon not running?\n" + sys.stderr.write(message % self.pidfile) + return # not an error in a restart + + # Try killing the daemon process + try: + while 1: + os.kill(pid, SIGTERM) + time.sleep(0.1) + except OSError, err: + err = str(err) + if err.find("No such process") > 0: + if os.path.exists(self.pidfile): + os.remove(self.pidfile) + else: + print(str(err)) + sys.exit(1) + + def restart(self): + """ + Restart the daemon + """ + self.stop() + self.start() + + def run(self): + """ + You should override this method when you subclass Daemon. It will be called after the process has been + daemonized by start() or restart(). + """ diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/err.py b/Code/MowingRobot/pibot_ros/pypibot/pypibot/err.py old mode 100644 new mode 100755 similarity index 96% rename from Code/MowingRobot/PIBot_ROS/pypibot/pypibot/err.py rename to Code/MowingRobot/pibot_ros/pypibot/pypibot/err.py index d812de9..e2a218e --- a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/err.py +++ b/Code/MowingRobot/pibot_ros/pypibot/pypibot/err.py @@ -1,58 +1,58 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- - -# 异常类 -class PibotError(Exception): - def __init__(self, errcode, errmsg): - self.errcode = errcode - self.errmsg = errmsg - #Exception.__init__(self,self.__str__()) - - def msg(self, msg): - if not msg is None:return PibotError(self.errcode, msg) - return PibotError(8,"unknow error") - def __str__(self): - return "PibotError:%s(%d)"%(self.errmsg,self.errcode) - @property - def message(self): - return str(self) -# 声明 -# 成功 -success=PibotError(0,"null") -# 通用失败 -fail=PibotError(1,"fail") -# 参数无效 -invalidParameter=PibotError(2,"invalid parameter") -# 不支持 -noSupport=PibotError(3,"no support") -# 不存在 -noExist=PibotError(4,"no exist") -# 超时 -timeout=PibotError(5,"timeout") -# 繁忙 -busy=PibotError(6,"busy") -# 缺少参数 -missParameter=PibotError(7,"miss parameter") -# 系统错误(通用错误) -systemError=PibotError(8,"system error") -# 密码错误 -invalidPassword=PibotError(9,"invalid password") -# 编码失败 -encodeFailed=PibotError(10,"encode failed") -# 数据库操作失败 -dbOpertationFailed=PibotError(11,"db error") -# 已占用 -occupied=PibotError(12,"occupied") -# session不存在 -noSession = PibotError(13,'cannot find session') -#没有找到 -noFound = PibotError(14, "no found") -#已经存在 -existed = PibotError(15, "existed") -#已经锁定 -locked = PibotError(16, "locked") -#已经过期 -expired = PibotError(17, "is expired") -#无效的参数 -invalidParameter = PibotError(18, "invalid parameter") - +#!/usr/bin/python +# -*- coding: utf-8 -*- + +# 异常类 +class PibotError(Exception): + def __init__(self, errcode, errmsg): + self.errcode = errcode + self.errmsg = errmsg + #Exception.__init__(self,self.__str__()) + + def msg(self, msg): + if not msg is None:return PibotError(self.errcode, msg) + return PibotError(8,"unknow error") + def __str__(self): + return "PibotError:%s(%d)"%(self.errmsg,self.errcode) + @property + def message(self): + return str(self) +# 声明 +# 成功 +success=PibotError(0,"null") +# 通用失败 +fail=PibotError(1,"fail") +# 参数无效 +invalidParameter=PibotError(2,"invalid parameter") +# 不支持 +noSupport=PibotError(3,"no support") +# 不存在 +noExist=PibotError(4,"no exist") +# 超时 +timeout=PibotError(5,"timeout") +# 繁忙 +busy=PibotError(6,"busy") +# 缺少参数 +missParameter=PibotError(7,"miss parameter") +# 系统错误(通用错误) +systemError=PibotError(8,"system error") +# 密码错误 +invalidPassword=PibotError(9,"invalid password") +# 编码失败 +encodeFailed=PibotError(10,"encode failed") +# 数据库操作失败 +dbOpertationFailed=PibotError(11,"db error") +# 已占用 +occupied=PibotError(12,"occupied") +# session不存在 +noSession = PibotError(13,'cannot find session') +#没有找到 +noFound = PibotError(14, "no found") +#已经存在 +existed = PibotError(15, "existed") +#已经锁定 +locked = PibotError(16, "locked") +#已经过期 +expired = PibotError(17, "is expired") +#无效的参数 +invalidParameter = PibotError(18, "invalid parameter") + diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/log.py b/Code/MowingRobot/pibot_ros/pypibot/pypibot/log.py old mode 100644 new mode 100755 similarity index 97% rename from Code/MowingRobot/PIBot_ROS/pypibot/pypibot/log.py rename to Code/MowingRobot/pibot_ros/pypibot/pypibot/log.py index c031d4a..a172493 --- a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/log.py +++ b/Code/MowingRobot/pibot_ros/pypibot/pypibot/log.py @@ -1,259 +1,259 @@ -#!/usr/bin/python -# -*- coding: utf-8 -*- -import sys,os -import datetime -import threading -import pypibot.assistant as assistant -import platform -if assistant.is_python3(): - import _thread -else: - import thread -import traceback -""" -%a Locale’s abbreviated weekday name. -%A Locale’s full weekday name. -%b Locale’s abbreviated month name. -%B Locale’s full month name. -%c Locale’s appropriate date and time representation. -%d Day of the month as a decimal number [01,31]. -%H Hour (24-hour clock) as a decimal number [00,23]. -%I Hour (12-hour clock) as a decimal number [01,12]. -%j Day of the year as a decimal number [001,366]. -%m Month as a decimal number [01,12]. -%M Minute as a decimal number [00,59]. -%p Locale’s equivalent of either AM or PM. (1) -%S Second as a decimal number [00,61]. (2) -%U Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0. (3) -%w Weekday as a decimal number [0(Sunday),6]. -%W Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0. (3) -%x Locale’s appropriate date representation. -%X Locale’s appropriate time representation. -%y Year without century as a decimal number [00,99]. -%Y Year with century as a decimal number. -%Z Time zone name (no characters if no time zone exists). -%% A literal '%' character. - -""" -isWindows=False -if platform.system()=='Windows': - isWindows=True -defaultEncodeing="utf8" -if "-utf8" in sys.argv: - defaultEncodeing="utf-8" -if "-gbk" in sys.argv: - defaultEncodeing="gbk" - -TRACE=5 -DEBUG=4 -INFORMATION=3 -WARNING=2 -ERROR=1 -NONE=0 - -MAX_MSG_SIZE = 4096 - -def getLevelFromString(level): - level=level.lower() - if level=='t' or level=='trace':return 5 - elif level=='d' or level=='debug':return 4 - elif level=='i' or level=='info':return 3 - elif level=='w' or level=='wran':return 2 - elif level=='e' or level=='error':return 1 - else :return 0 -def getLevelString(level): - if level==TRACE:return "T" - elif level==DEBUG:return "D" - elif level==INFORMATION:return "I" - elif level==WARNING:return "W" - elif level==ERROR:return "E" - else:return "N" -class PibotLog: - def __init__(self): - self.isEnableControlLog=True - self.fileTemple=None - self.filePath="" - self.level=5 - self._lock=threading.RLock() - self.fd=None - self.fd_day=-1 - def setLevel(self,level): - self.level=getLevelFromString(level) - def enableControllog(self,enable): - self.isEnableControlLog=enable - def enableFileLog(self,fileName): - self.fileTemple=fileName - self.updateFilelog() - def updateFilelog(self): - fn=assistant.SF(self.fileTemple) - if fn!=self.filePath: - self.i("new log file:%s",fn) - if self.fd: - self.fd.close() - self.fd=None - self.fd_day=-1 - self.filePath="" - try: - path=os.path.dirname(fn) - if path!="" and not os.path.isdir(path):os.makedirs(path) - self.fd=open(fn,mode="w") - try: - linkfn = fn.split(".log.", 1)[0] + ".INFO" - if os.path.exists(linkfn): - os.remove(linkfn) - (filepath, tempfilename) = os.path.split(fn) - os.symlink(tempfilename, linkfn) - except: - pass - self.fd_day=datetime.datetime.now().day - self.filePath=fn - except Exception as e: - print("open file fail!file=%s,err=%s"%(fn,e)) - def _output(self,level,msg,args): - if self.level0: - t=[] - for arg in args: - if isinstance(arg,Exception): - t.append(traceback.format_exc(arg).decode('utf-8')) - elif isinstance(arg,bytes) : - t.append(arg.decode('utf-8')) - else: - t.append(arg) - args=tuple(t) - try: - msg=msg%args - except: - try: - for arg in args: - msg=msg+str(arg)+" " - except Exception as e: - msg=msg+"==LOG ERROR==>%s"%(e) - if len(msg)>MAX_MSG_SIZE:msg=msg[0:MAX_MSG_SIZE] - now=datetime.datetime.now() - msg=msg+"\r\n" - if assistant.is_python3(): - id = _thread.get_ident() - else: - id = thread.get_ident() - s="[%s] %04d-%02d-%02d %02d:%02d:%02d.%03d (0x%04X):%s"%(getLevelString(level),now.year,now.month,now.day,now.hour,now.minute,now.second,now.microsecond/1000,(id>>8)&0xffff,msg) - prefix='' - suffix='' - if not isWindows: - suffix='\033[0m' - if level==TRACE: - prefix='\033[0;37m' - elif level==DEBUG: - prefix='\033[1m' - elif level==INFORMATION: - prefix='\033[0;32m' - elif level==WARNING: - prefix='\033[0;33m' - elif level==ERROR: - prefix='\033[0;31m' - else: - pass - self._lock.acquire() - try: - if self.isEnableControlLog: - sys.stdout.write((prefix+s+suffix)) - if self.fd: - if self.fd_day!=now.day: - self.updateFilelog() - if assistant.is_python3(): - self.fd.write(s) - else: - self.fd.write(s.encode('utf-8')) - self.fd.flush() - finally: - self._lock.release() - except Exception as e: - if assistant.is_python3(): - print(e) - else: - print("PibotLog._output crash!err=%s"%traceback.format_exc(e)) - - def trace(self,msg,*args): - self._output(TRACE,msg,args) - def t(self,msg,*args): - self._output(TRACE,msg,args) - def debug(self,msg,*args): - self._output(DEBUG, msg,args) - def d(self,msg,*args): - self._output(DEBUG, msg,args) - def info(self,msg,*args): - self._output(INFORMATION, msg,args) - def i(self,msg,*args): - self._output(INFORMATION, msg,args) - def warn(self,msg,*args): - self._output(WARNING, msg,args) - def w(self,msg,*args): - self._output(WARNING, msg,args) - def error(self,msg,*args): - self._output(ERROR, msg,args) - def e(self,msg,*args): - self._output(ERROR, msg,args) - def _log(self,level,msg,args): - self._output(level, msg,args) - def createNamedLog(self,name): - return NamedLog(name) -log=PibotLog() -class NamedLog: - def __init__(self,name=None): - global log - self.name='' - if name: - self.name='['+name+']' - self.log=log - def trace(self,msg,*args): - msg=self.name+msg - self.log._log(TRACE,msg,args) - def t(self,msg,*args): - msg=self.name+msg - self.log._log(TRACE,msg,args) - def debug(self,msg,*args): - msg=self.name+msg - self.log._log(DEBUG, msg,args) - def d(self,msg,*args): - msg=self.name+msg - self.log._log(DEBUG, msg,args) - def info(self,msg,*args): - msg=self.name+msg - self.log._log(INFORMATION, msg,args) - def i(self,msg,*args): - msg=self.name+msg - self.log._log(INFORMATION, msg,args) - def warn(self,msg,*args): - msg=self.name+msg - self.log._log(WARNING, msg,args) - def w(self,msg,*args): - msg=self.name+msg - self.log._log(WARNING, msg,args) - def error(self,msg,*args): - msg=self.name+msg - self.log._log(ERROR, msg,args) - def e(self,msg,*args): - msg=self.name+msg - self.log._log(ERROR, msg,args) - -if __name__ == "__main__": - log.trace("1%s","hello") - log.debug("2%d",12) - try: - raise Exception("EXC") - except Exception as e: - log.info("3%s",e) - log.warn("1") - log.error("1") - #log.enableFileLog("$(scriptpath)test_$(Date8)_$(filenumber2).log") - log.trace("1") - log.debug("1") - log.info("1") - log.warn("1") - log.error("1") - log=NamedLog("test") - log.d("1") - log.i("1") - log.warn("1") - log.error("1=%d,%s",100,e) +#!/usr/bin/python +# -*- coding: utf-8 -*- +import sys,os +import datetime +import threading +import pypibot.assistant as assistant +import platform +if assistant.is_python3(): + import _thread +else: + import thread +import traceback +""" +%a Locale’s abbreviated weekday name. +%A Locale’s full weekday name. +%b Locale’s abbreviated month name. +%B Locale’s full month name. +%c Locale’s appropriate date and time representation. +%d Day of the month as a decimal number [01,31]. +%H Hour (24-hour clock) as a decimal number [00,23]. +%I Hour (12-hour clock) as a decimal number [01,12]. +%j Day of the year as a decimal number [001,366]. +%m Month as a decimal number [01,12]. +%M Minute as a decimal number [00,59]. +%p Locale’s equivalent of either AM or PM. (1) +%S Second as a decimal number [00,61]. (2) +%U Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0. (3) +%w Weekday as a decimal number [0(Sunday),6]. +%W Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0. (3) +%x Locale’s appropriate date representation. +%X Locale’s appropriate time representation. +%y Year without century as a decimal number [00,99]. +%Y Year with century as a decimal number. +%Z Time zone name (no characters if no time zone exists). +%% A literal '%' character. + +""" +isWindows=False +if platform.system()=='Windows': + isWindows=True +defaultEncodeing="utf8" +if "-utf8" in sys.argv: + defaultEncodeing="utf-8" +if "-gbk" in sys.argv: + defaultEncodeing="gbk" + +TRACE=5 +DEBUG=4 +INFORMATION=3 +WARNING=2 +ERROR=1 +NONE=0 + +MAX_MSG_SIZE = 4096 + +def getLevelFromString(level): + level=level.lower() + if level=='t' or level=='trace':return 5 + elif level=='d' or level=='debug':return 4 + elif level=='i' or level=='info':return 3 + elif level=='w' or level=='wran':return 2 + elif level=='e' or level=='error':return 1 + else :return 0 +def getLevelString(level): + if level==TRACE:return "T" + elif level==DEBUG:return "D" + elif level==INFORMATION:return "I" + elif level==WARNING:return "W" + elif level==ERROR:return "E" + else:return "N" +class PibotLog: + def __init__(self): + self.isEnableControlLog=True + self.fileTemple=None + self.filePath="" + self.level=5 + self._lock=threading.RLock() + self.fd=None + self.fd_day=-1 + def setLevel(self,level): + self.level=getLevelFromString(level) + def enableControllog(self,enable): + self.isEnableControlLog=enable + def enableFileLog(self,fileName): + self.fileTemple=fileName + self.updateFilelog() + def updateFilelog(self): + fn=assistant.SF(self.fileTemple) + if fn!=self.filePath: + self.i("new log file:%s",fn) + if self.fd: + self.fd.close() + self.fd=None + self.fd_day=-1 + self.filePath="" + try: + path=os.path.dirname(fn) + if path!="" and not os.path.isdir(path):os.makedirs(path) + self.fd=open(fn,mode="w") + try: + linkfn = fn.split(".log.", 1)[0] + ".INFO" + if os.path.exists(linkfn): + os.remove(linkfn) + (filepath, tempfilename) = os.path.split(fn) + os.symlink(tempfilename, linkfn) + except: + pass + self.fd_day=datetime.datetime.now().day + self.filePath=fn + except Exception as e: + print("open file fail!file=%s,err=%s"%(fn,e)) + def _output(self,level,msg,args): + if self.level0: + t=[] + for arg in args: + if isinstance(arg,Exception): + t.append(traceback.format_exc(arg).decode('utf-8')) + elif isinstance(arg,bytes) : + t.append(arg.decode('utf-8')) + else: + t.append(arg) + args=tuple(t) + try: + msg=msg%args + except: + try: + for arg in args: + msg=msg+str(arg)+" " + except Exception as e: + msg=msg+"==LOG ERROR==>%s"%(e) + if len(msg)>MAX_MSG_SIZE:msg=msg[0:MAX_MSG_SIZE] + now=datetime.datetime.now() + msg=msg+"\r\n" + if assistant.is_python3(): + id = _thread.get_ident() + else: + id = thread.get_ident() + s="[%s] %04d-%02d-%02d %02d:%02d:%02d.%03d (0x%04X):%s"%(getLevelString(level),now.year,now.month,now.day,now.hour,now.minute,now.second,now.microsecond/1000,(id>>8)&0xffff,msg) + prefix='' + suffix='' + if not isWindows: + suffix='\033[0m' + if level==TRACE: + prefix='\033[0;37m' + elif level==DEBUG: + prefix='\033[1m' + elif level==INFORMATION: + prefix='\033[0;32m' + elif level==WARNING: + prefix='\033[0;33m' + elif level==ERROR: + prefix='\033[0;31m' + else: + pass + self._lock.acquire() + try: + if self.isEnableControlLog: + sys.stdout.write((prefix+s+suffix)) + if self.fd: + if self.fd_day!=now.day: + self.updateFilelog() + if assistant.is_python3(): + self.fd.write(s) + else: + self.fd.write(s.encode('utf-8')) + self.fd.flush() + finally: + self._lock.release() + except Exception as e: + if assistant.is_python3(): + print(e) + else: + print("PibotLog._output crash!err=%s"%traceback.format_exc(e)) + + def trace(self,msg,*args): + self._output(TRACE,msg,args) + def t(self,msg,*args): + self._output(TRACE,msg,args) + def debug(self,msg,*args): + self._output(DEBUG, msg,args) + def d(self,msg,*args): + self._output(DEBUG, msg,args) + def info(self,msg,*args): + self._output(INFORMATION, msg,args) + def i(self,msg,*args): + self._output(INFORMATION, msg,args) + def warn(self,msg,*args): + self._output(WARNING, msg,args) + def w(self,msg,*args): + self._output(WARNING, msg,args) + def error(self,msg,*args): + self._output(ERROR, msg,args) + def e(self,msg,*args): + self._output(ERROR, msg,args) + def _log(self,level,msg,args): + self._output(level, msg,args) + def createNamedLog(self,name): + return NamedLog(name) +log=PibotLog() +class NamedLog: + def __init__(self,name=None): + global log + self.name='' + if name: + self.name='['+name+']' + self.log=log + def trace(self,msg,*args): + msg=self.name+msg + self.log._log(TRACE,msg,args) + def t(self,msg,*args): + msg=self.name+msg + self.log._log(TRACE,msg,args) + def debug(self,msg,*args): + msg=self.name+msg + self.log._log(DEBUG, msg,args) + def d(self,msg,*args): + msg=self.name+msg + self.log._log(DEBUG, msg,args) + def info(self,msg,*args): + msg=self.name+msg + self.log._log(INFORMATION, msg,args) + def i(self,msg,*args): + msg=self.name+msg + self.log._log(INFORMATION, msg,args) + def warn(self,msg,*args): + msg=self.name+msg + self.log._log(WARNING, msg,args) + def w(self,msg,*args): + msg=self.name+msg + self.log._log(WARNING, msg,args) + def error(self,msg,*args): + msg=self.name+msg + self.log._log(ERROR, msg,args) + def e(self,msg,*args): + msg=self.name+msg + self.log._log(ERROR, msg,args) + +if __name__ == "__main__": + log.trace("1%s","hello") + log.debug("2%d",12) + try: + raise Exception("EXC") + except Exception as e: + log.info("3%s",e) + log.warn("1") + log.error("1") + #log.enableFileLog("$(scriptpath)test_$(Date8)_$(filenumber2).log") + log.trace("1") + log.debug("1") + log.info("1") + log.warn("1") + log.error("1") + log=NamedLog("test") + log.d("1") + log.i("1") + log.warn("1") + log.error("1=%d,%s",100,e) diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/mapconvert.py b/Code/MowingRobot/pibot_ros/pypibot/pypibot/mapconvert.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pypibot/pypibot/mapconvert.py rename to Code/MowingRobot/pibot_ros/pypibot/pypibot/mapconvert.py diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/pypibot/proxy.py b/Code/MowingRobot/pibot_ros/pypibot/pypibot/proxy.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/pypibot/pypibot/proxy.py rename to Code/MowingRobot/pibot_ros/pypibot/pypibot/proxy.py diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/transport/dataholder.py b/Code/MowingRobot/pibot_ros/pypibot/transport/dataholder.py old mode 100644 new mode 100755 similarity index 96% rename from Code/MowingRobot/PIBot_ROS/pypibot/transport/dataholder.py rename to Code/MowingRobot/pibot_ros/pypibot/transport/dataholder.py index 51796a2..743f68e --- a/Code/MowingRobot/PIBot_ROS/pypibot/transport/dataholder.py +++ b/Code/MowingRobot/pibot_ros/pypibot/transport/dataholder.py @@ -1,240 +1,240 @@ -import struct - -params_size=29 - -# main board -class MessageID: - ID_GET_VERSION = 0 - ID_SET_ROBOT_PARAMETER = 1 - ID_GET_ROBOT_PARAMETER = 2 - ID_INIT_ODOM = 3 - ID_SET_VEL = 4 - ID_GET_ODOM = 5 - ID_GET_PID_DEBUG = 6 - ID_GET_IMU = 7 - ID_GET_ENCODER_COUNT = 8 - ID_SET_MOTOR_PWM = 9 - -class RobotMessage: - def pack(self): - return b'' - - def unpack(self): - return True - -class RobotFirmwareInfo(RobotMessage): - def __init__(self): - self.version = '' - self.build_time = '' - - def unpack(self, data): - try: - upk = struct.unpack('16s16s', bytes(data)) - except: - return False - [self.version, self.build_time] = upk - return True - -class RobotImuType: - IMU_TYPE_GY65 = 49 - IMU_TYPE_GY85 = 69 - IMU_TYPE_GY87 = 71 - -class RobotModelType: - MODEL_TYPE_2WD_DIFF = 1 - MODEL_TYPE_4WD_DIFF = 2 - MODEL_TYPE_3WD_OMNI = 101 - MODEL_TYPE_4WD_OMNI = 102 - MODEL_TYPE_4WD_MECANUM = 201 - -class RobotParameters(): - def __init__(self, wheel_diameter=0, \ - wheel_track=0, \ - encoder_resolution=0, \ - do_pid_interval=0, \ - kp=0, \ - ki=0, \ - kd=0, \ - ko=0, \ - cmd_last_time=0, \ - max_v_liner_x=0, \ - max_v_liner_y=0, \ - max_v_angular_z=0, \ - imu_type=0, \ - motor_ratio=0, \ - model_type=0, \ - motor_nonexchange_flag=255, \ - encoder_nonexchange_flag=255, \ - ): - self.wheel_diameter = wheel_diameter - self.wheel_track = wheel_track - self.encoder_resolution = encoder_resolution - self.do_pid_interval = do_pid_interval - self.kp = kp - self.ki = ki - self.kd = kd - self.ko = ko - self.cmd_last_time = cmd_last_time - self.max_v_liner_x = max_v_liner_x - self.max_v_liner_y = max_v_liner_y - self.max_v_angular_z = max_v_angular_z - self.imu_type = imu_type - self.motor_ratio = motor_ratio - self.model_type = model_type - self.motor_nonexchange_flag = motor_nonexchange_flag - self.encoder_nonexchange_flag = encoder_nonexchange_flag - reserve=b'\xff' - self.reserve=b'' - for i in range(64-params_size): - self.reserve+=reserve -robotParam = RobotParameters() - -class GetRobotParameters(RobotMessage): - def __init__(self): - self.param = robotParam - - def unpack(self, data): - #print(bytes(data), len(bytes(data))) - upk = struct.unpack('<3H1B8H1B1H3B%ds'%(64-params_size), bytes(data)) - - [self.param.wheel_diameter, - self.param.wheel_track, - self.param.encoder_resolution, - self.param.do_pid_interval, - self.param.kp, - self.param.ki, - self.param.kd, - self.param.ko, - self.param.cmd_last_time, - self.param.max_v_liner_x, - self.param.max_v_liner_y, - self.param.max_v_angular_z, - self.param.imu_type, - self.param.motor_ratio, - self.param.model_type, - self.param.motor_nonexchange_flag, - self.param.encoder_nonexchange_flag, - self.param.reserve] = upk - return True - -class SetRobotParameters(RobotMessage): - def __init__(self): - self.param = robotParam - - def pack(self): - data = [self.param.wheel_diameter, - self.param.wheel_track, - self.param.encoder_resolution, - self.param.do_pid_interval, - self.param.kp, - self.param.ki, - self.param.kd, - self.param.ko, - self.param.cmd_last_time, - self.param.max_v_liner_x, - self.param.max_v_liner_y, - self.param.max_v_angular_z, - self.param.imu_type, - self.param.motor_ratio, - self.param.model_type, - self.param.motor_nonexchange_flag, - self.param.encoder_nonexchange_flag, - self.param.reserve] - - print(data) - pk = struct.pack('<3H1B8H1B1H3B%ds'%(64-(3*2+1+8*2+1+2+3)), *data) - return pk - - def unpack(self, data): - return True - -class RobotVel(RobotMessage): - def __init__(self): - self.v_liner_x = 0 - self.v_liner_y = 0 - self.v_angular_z = 0 - - def pack(self): - data = [self.v_liner_x, - self.v_liner_y, - self.v_angular_z] - pk = struct.pack('3h', *data) - return pk - - def unpack(self, data): - return True - -#todo the rest of the message classes -class RobotOdom(RobotMessage): - def __init__(self): - self.v_liner_x = 0 - self.v_liner_y = 0 - self.v_angular_z = 0 - self.x = 0 - self.y = 0 - self.yaw = 0 - - def unpack(self, data): - try: - upk = struct.unpack('<3H2l1H', bytes(data)) - except: - return False - [self.v_liner_x, - self.v_liner_y, - self.v_angular_z, - self.x, - self.y, - self.yaw] = upk - return True - -class RobotPIDData(RobotMessage): - pass - -class RobotIMU(RobotMessage): - def __init__(self): - self.imu = [0]*9 - - def unpack(self, data): - try: - upk = struct.unpack('<9f', bytes(data)) - except: - return False - - self.imu = upk - return True - -class RobotEncoderCount(RobotMessage): - def __init__(self): - self.encoder = [0]*4 - - def unpack(self, data): - try: - upk = struct.unpack('<4f', bytes(data)) - except: - return False - - self.encoder = upk - return True - -class RobotMotorPWM(RobotMessage): - def __init__(self): - self.pwm = [0]*4 - - def pack(self): - pk = struct.pack('4h', *self.pwm) - return pk - - def unpack(self, data): - return True - -BoardDataDict = {MessageID.ID_GET_VERSION:RobotFirmwareInfo(), - MessageID.ID_GET_ROBOT_PARAMETER:GetRobotParameters(), - MessageID.ID_SET_ROBOT_PARAMETER:SetRobotParameters(), - MessageID.ID_SET_VEL:RobotVel(), - MessageID.ID_GET_ODOM:RobotOdom(), - MessageID.ID_GET_PID_DEBUG: RobotPIDData(), - MessageID.ID_GET_IMU: RobotIMU(), - MessageID.ID_GET_ENCODER_COUNT: RobotEncoderCount(), - MessageID.ID_SET_MOTOR_PWM: RobotMotorPWM(), - } - +import struct + +params_size=29 + +# main board +class MessageID: + ID_GET_VERSION = 0 + ID_SET_ROBOT_PARAMETER = 1 + ID_GET_ROBOT_PARAMETER = 2 + ID_INIT_ODOM = 3 + ID_SET_VEL = 4 + ID_GET_ODOM = 5 + ID_GET_PID_DEBUG = 6 + ID_GET_IMU = 7 + ID_GET_ENCODER_COUNT = 8 + ID_SET_MOTOR_PWM = 9 + +class RobotMessage: + def pack(self): + return b'' + + def unpack(self): + return True + +class RobotFirmwareInfo(RobotMessage): + def __init__(self): + self.version = '' + self.build_time = '' + + def unpack(self, data): + try: + upk = struct.unpack('16s16s', bytes(data)) + except: + return False + [self.version, self.build_time] = upk + return True + +class RobotImuType: + IMU_TYPE_GY65 = 49 + IMU_TYPE_GY85 = 69 + IMU_TYPE_GY87 = 71 + +class RobotModelType: + MODEL_TYPE_2WD_DIFF = 1 + MODEL_TYPE_4WD_DIFF = 2 + MODEL_TYPE_3WD_OMNI = 101 + MODEL_TYPE_4WD_OMNI = 102 + MODEL_TYPE_4WD_MECANUM = 201 + +class RobotParameters(): + def __init__(self, wheel_diameter=0, \ + wheel_track=0, \ + encoder_resolution=0, \ + do_pid_interval=0, \ + kp=0, \ + ki=0, \ + kd=0, \ + ko=0, \ + cmd_last_time=0, \ + max_v_liner_x=0, \ + max_v_liner_y=0, \ + max_v_angular_z=0, \ + imu_type=0, \ + motor_ratio=0, \ + model_type=0, \ + motor_nonexchange_flag=255, \ + encoder_nonexchange_flag=255, \ + ): + self.wheel_diameter = wheel_diameter + self.wheel_track = wheel_track + self.encoder_resolution = encoder_resolution + self.do_pid_interval = do_pid_interval + self.kp = kp + self.ki = ki + self.kd = kd + self.ko = ko + self.cmd_last_time = cmd_last_time + self.max_v_liner_x = max_v_liner_x + self.max_v_liner_y = max_v_liner_y + self.max_v_angular_z = max_v_angular_z + self.imu_type = imu_type + self.motor_ratio = motor_ratio + self.model_type = model_type + self.motor_nonexchange_flag = motor_nonexchange_flag + self.encoder_nonexchange_flag = encoder_nonexchange_flag + reserve=b'\xff' + self.reserve=b'' + for i in range(64-params_size): + self.reserve+=reserve +robotParam = RobotParameters() + +class GetRobotParameters(RobotMessage): + def __init__(self): + self.param = robotParam + + def unpack(self, data): + #print(bytes(data), len(bytes(data))) + upk = struct.unpack('<3H1B8H1B1H3B%ds'%(64-params_size), bytes(data)) + + [self.param.wheel_diameter, + self.param.wheel_track, + self.param.encoder_resolution, + self.param.do_pid_interval, + self.param.kp, + self.param.ki, + self.param.kd, + self.param.ko, + self.param.cmd_last_time, + self.param.max_v_liner_x, + self.param.max_v_liner_y, + self.param.max_v_angular_z, + self.param.imu_type, + self.param.motor_ratio, + self.param.model_type, + self.param.motor_nonexchange_flag, + self.param.encoder_nonexchange_flag, + self.param.reserve] = upk + return True + +class SetRobotParameters(RobotMessage): + def __init__(self): + self.param = robotParam + + def pack(self): + data = [self.param.wheel_diameter, + self.param.wheel_track, + self.param.encoder_resolution, + self.param.do_pid_interval, + self.param.kp, + self.param.ki, + self.param.kd, + self.param.ko, + self.param.cmd_last_time, + self.param.max_v_liner_x, + self.param.max_v_liner_y, + self.param.max_v_angular_z, + self.param.imu_type, + self.param.motor_ratio, + self.param.model_type, + self.param.motor_nonexchange_flag, + self.param.encoder_nonexchange_flag, + self.param.reserve] + + print(data) + pk = struct.pack('<3H1B8H1B1H3B%ds'%(64-(3*2+1+8*2+1+2+3)), *data) + return pk + + def unpack(self, data): + return True + +class RobotVel(RobotMessage): + def __init__(self): + self.v_liner_x = 0 + self.v_liner_y = 0 + self.v_angular_z = 0 + + def pack(self): + data = [self.v_liner_x, + self.v_liner_y, + self.v_angular_z] + pk = struct.pack('3h', *data) + return pk + + def unpack(self, data): + return True + +#todo the rest of the message classes +class RobotOdom(RobotMessage): + def __init__(self): + self.v_liner_x = 0 + self.v_liner_y = 0 + self.v_angular_z = 0 + self.x = 0 + self.y = 0 + self.yaw = 0 + + def unpack(self, data): + try: + upk = struct.unpack('<3H2l1H', bytes(data)) + except: + return False + [self.v_liner_x, + self.v_liner_y, + self.v_angular_z, + self.x, + self.y, + self.yaw] = upk + return True + +class RobotPIDData(RobotMessage): + pass + +class RobotIMU(RobotMessage): + def __init__(self): + self.imu = [0]*9 + + def unpack(self, data): + try: + upk = struct.unpack('<9f', bytes(data)) + except: + return False + + self.imu = upk + return True + +class RobotEncoderCount(RobotMessage): + def __init__(self): + self.encoder = [0]*4 + + def unpack(self, data): + try: + upk = struct.unpack('<4f', bytes(data)) + except: + return False + + self.encoder = upk + return True + +class RobotMotorPWM(RobotMessage): + def __init__(self): + self.pwm = [0]*4 + + def pack(self): + pk = struct.pack('4h', *self.pwm) + return pk + + def unpack(self, data): + return True + +BoardDataDict = {MessageID.ID_GET_VERSION:RobotFirmwareInfo(), + MessageID.ID_GET_ROBOT_PARAMETER:GetRobotParameters(), + MessageID.ID_SET_ROBOT_PARAMETER:SetRobotParameters(), + MessageID.ID_SET_VEL:RobotVel(), + MessageID.ID_GET_ODOM:RobotOdom(), + MessageID.ID_GET_PID_DEBUG: RobotPIDData(), + MessageID.ID_GET_IMU: RobotIMU(), + MessageID.ID_GET_ENCODER_COUNT: RobotEncoderCount(), + MessageID.ID_SET_MOTOR_PWM: RobotMotorPWM(), + } + diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/transport/main.py b/Code/MowingRobot/pibot_ros/pypibot/transport/main.py old mode 100644 new mode 100755 similarity index 97% rename from Code/MowingRobot/PIBot_ROS/pypibot/transport/main.py rename to Code/MowingRobot/pibot_ros/pypibot/transport/main.py index 6bd5515..27c8ca2 --- a/Code/MowingRobot/PIBot_ROS/pypibot/transport/main.py +++ b/Code/MowingRobot/pibot_ros/pypibot/transport/main.py @@ -1,115 +1,115 @@ -import platform -import sys -sys.path.append("..") -import pypibot -from pypibot import log -from transport import Transport -from dataholder import MessageID -import params -import time -import signal - -#for linux -port="/dev/pibot" - -#for windows -#port="com3" - -pypibot.assistant.enableGlobalExcept() -#log.enableFileLog(log_dir + "ros_$(Date8)_$(filenumber2).log") -log.setLevel("i") - -run_flag = True - -def exit(signum, frame): - global run_flag - run_flag = False - -if __name__ == '__main__': - signal.signal(signal.SIGINT, exit) - - mboard = Transport(port, params.pibotBaud) - if not mboard.start(): - log.error("can not open %s"%port) - sys.exit() - - DataHolder = mboard.getDataHolder() - - for num in range(0,3): - log.info("****************get robot version*****************") - boardVersion = DataHolder[MessageID.ID_GET_VERSION] - p = mboard.request(MessageID.ID_GET_VERSION) - if p: - log.info("firmware version:%s buildtime:%s\r\n"%(boardVersion.version.decode(), boardVersion.build_time.decode())) - break - else: - log.error('read firmware version err\r\n') - import time - time.sleep(1) - if num == 2: - log.error('please check connection or baudrate\r\n') - sys.exit() - - # get robot parameter - robotParam = DataHolder[MessageID.ID_GET_ROBOT_PARAMETER] - p = mboard.request(MessageID.ID_GET_ROBOT_PARAMETER) - if p: - log.info("model_type:%d wheel_diameter:%d wheel_track:%d encoder_resolution:%d" \ - %(robotParam.param.model_type, \ - robotParam.param.wheel_diameter, \ - robotParam.param.wheel_track, \ - robotParam.param.encoder_resolution - )) - - log.info("do_pid_interval:%d kp:%d ki:%d kd:%d ko:%d" \ - %(robotParam.param.do_pid_interval, \ - robotParam.param.kp, \ - robotParam.param.ki, \ - robotParam.param.kd, \ - robotParam.param.ko)) - - log.info("cmd_last_time:%d imu_type:%d" \ - %(robotParam.param.cmd_last_time,\ - robotParam.param.imu_type - )) - - log.info("max_v:%d %d %d\r\n" \ - %(robotParam.param.max_v_liner_x,\ - robotParam.param.max_v_liner_y, \ - robotParam.param.max_v_angular_z - )) - - log.info("motor flag:%d encoder flag: %d\r\n" \ - %(robotParam.param.motor_nonexchange_flag,\ - robotParam.param.encoder_nonexchange_flag - )) - else: - log.error('get params err\r\n') - quit(1) - - log.info("****************get odom&imu*****************") - while run_flag: - robotOdom = DataHolder[MessageID.ID_GET_ODOM] - p = mboard.request(MessageID.ID_GET_ODOM) - if p: - log.info('request get odom success, vx=%d vy=%d vangular=%d, x=%d y=%d yaw=%d'%(robotOdom.v_liner_x, \ - robotOdom.v_liner_y, \ - robotOdom.v_angular_z, \ - robotOdom.x, \ - robotOdom.y, \ - robotOdom.yaw)) - else: - log.error('get odom err') - quit(1) - - robotIMU = DataHolder[MessageID.ID_GET_IMU].imu - p = mboard.request(MessageID.ID_GET_IMU) - if p: - log.info('get imu success, imu=[%f %f %f %f %f %f %f %f %f]'%(robotIMU[0], robotIMU[1], robotIMU[2], \ - robotIMU[3], robotIMU[4], robotIMU[5], \ - robotIMU[6], robotIMU[7], robotIMU[8])) - else: - log.error('get imu err') - quit(1) - - time.sleep(0.1) +import platform +import sys +sys.path.append("..") +import pypibot +from pypibot import log +from transport import Transport +from dataholder import MessageID +import params +import time +import signal + +#for linux +port="/dev/pibot" + +#for windows +#port="com3" + +pypibot.assistant.enableGlobalExcept() +#log.enableFileLog(log_dir + "ros_$(Date8)_$(filenumber2).log") +log.setLevel("i") + +run_flag = True + +def exit(signum, frame): + global run_flag + run_flag = False + +if __name__ == '__main__': + signal.signal(signal.SIGINT, exit) + + mboard = Transport(port, params.pibotBaud) + if not mboard.start(): + log.error("can not open %s"%port) + sys.exit() + + DataHolder = mboard.getDataHolder() + + for num in range(0,3): + log.info("****************get robot version*****************") + boardVersion = DataHolder[MessageID.ID_GET_VERSION] + p = mboard.request(MessageID.ID_GET_VERSION) + if p: + log.info("firmware version:%s buildtime:%s\r\n"%(boardVersion.version.decode(), boardVersion.build_time.decode())) + break + else: + log.error('read firmware version err\r\n') + import time + time.sleep(1) + if num == 2: + log.error('please check connection or baudrate\r\n') + sys.exit() + + # get robot parameter + robotParam = DataHolder[MessageID.ID_GET_ROBOT_PARAMETER] + p = mboard.request(MessageID.ID_GET_ROBOT_PARAMETER) + if p: + log.info("model_type:%d wheel_diameter:%d wheel_track:%d encoder_resolution:%d" \ + %(robotParam.param.model_type, \ + robotParam.param.wheel_diameter, \ + robotParam.param.wheel_track, \ + robotParam.param.encoder_resolution + )) + + log.info("do_pid_interval:%d kp:%d ki:%d kd:%d ko:%d" \ + %(robotParam.param.do_pid_interval, \ + robotParam.param.kp, \ + robotParam.param.ki, \ + robotParam.param.kd, \ + robotParam.param.ko)) + + log.info("cmd_last_time:%d imu_type:%d" \ + %(robotParam.param.cmd_last_time,\ + robotParam.param.imu_type + )) + + log.info("max_v:%d %d %d\r\n" \ + %(robotParam.param.max_v_liner_x,\ + robotParam.param.max_v_liner_y, \ + robotParam.param.max_v_angular_z + )) + + log.info("motor flag:%d encoder flag: %d\r\n" \ + %(robotParam.param.motor_nonexchange_flag,\ + robotParam.param.encoder_nonexchange_flag + )) + else: + log.error('get params err\r\n') + quit(1) + + log.info("****************get odom&imu*****************") + while run_flag: + robotOdom = DataHolder[MessageID.ID_GET_ODOM] + p = mboard.request(MessageID.ID_GET_ODOM) + if p: + log.info('request get odom success, vx=%d vy=%d vangular=%d, x=%d y=%d yaw=%d'%(robotOdom.v_liner_x, \ + robotOdom.v_liner_y, \ + robotOdom.v_angular_z, \ + robotOdom.x, \ + robotOdom.y, \ + robotOdom.yaw)) + else: + log.error('get odom err') + quit(1) + + robotIMU = DataHolder[MessageID.ID_GET_IMU].imu + p = mboard.request(MessageID.ID_GET_IMU) + if p: + log.info('get imu success, imu=[%f %f %f %f %f %f %f %f %f]'%(robotIMU[0], robotIMU[1], robotIMU[2], \ + robotIMU[3], robotIMU[4], robotIMU[5], \ + robotIMU[6], robotIMU[7], robotIMU[8])) + else: + log.error('get imu err') + quit(1) + + time.sleep(0.1) diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/transport/params.py b/Code/MowingRobot/pibot_ros/pypibot/transport/params.py old mode 100644 new mode 100755 similarity index 97% rename from Code/MowingRobot/PIBot_ROS/pypibot/transport/params.py rename to Code/MowingRobot/pibot_ros/pypibot/transport/params.py index d87367f..c4dd80d --- a/Code/MowingRobot/PIBot_ROS/pypibot/transport/params.py +++ b/Code/MowingRobot/pibot_ros/pypibot/transport/params.py @@ -1,75 +1,75 @@ -import dataholder -import os -from dataholder import RobotImuType -from dataholder import RobotModelType - -pibotModel = os.environ['PIBOT_MODEL'] -boardType = os.environ['PIBOT_BOARD'] -pibotBaud = os.environ['PIBOT_DRIVER_BAUDRATE'] - -print(pibotModel) -print(boardType) -print(pibotBaud) - -pibotParam = dataholder.RobotParameters() - -if pibotModel == "apollo" and boardType == "arduino": - pibotParam = dataholder.RobotParameters(65, 175, 44, 10, \ - 75, 2500, 0, 10, \ - 250, 40, 0, 200, \ - RobotImuType.IMU_TYPE_GY85, 90, \ - RobotModelType.MODEL_TYPE_2WD_DIFF) -elif pibotModel == "apollo" and boardType == "stm32f1": - pibotParam = dataholder.RobotParameters(65, 175, 44, 10, \ - 320, 2700, 0, 10, \ - 250, 50, 0, 200, \ - RobotImuType.IMU_TYPE_GY87, 90, \ - RobotModelType.MODEL_TYPE_2WD_DIFF) -elif pibotModel == "apollo" and boardType == "stm32f4": - pibotParam = dataholder.RobotParameters(65, 175, 44, 10, \ - 320, 2700, 0, 10, \ - 250, 40, 0, 200, \ - RobotImuType.IMU_TYPE_GY87, 90, \ - RobotModelType.MODEL_TYPE_2WD_DIFF) -elif pibotModel == "zeus" and boardType == "stm32f4": - pibotParam = dataholder.RobotParameters(58, 230, 44, 10, \ - 320, 2700, 0, 10, \ - 250, 50, 50, 250, \ - RobotImuType.IMU_TYPE_GY87, 90, \ - RobotModelType.MODEL_TYPE_3WD_OMNI) -elif pibotModel == "hades" and boardType == "stm32f4": - pibotParam = dataholder.RobotParameters(76, 470, 44, 10, \ - 320, 2700, 0, 10, \ - 250, 50, 50, 250, \ - RobotImuType.IMU_TYPE_GY87, 90, \ - RobotModelType.MODEL_TYPE_4WD_MECANUM) -elif pibotModel == "hadesX" and boardType == "stm32f4": - pibotParam = dataholder.RobotParameters(150, 565, 44, 10, \ - 250, 2750, 0, 10, \ - 250, 50, 50, 250, \ - RobotImuType.IMU_TYPE_GY87, 72, \ - RobotModelType.MODEL_TYPE_4WD_MECANUM) -elif pibotModel == "hera" and boardType == "stm32f4": - pibotParam = dataholder.RobotParameters(82, 338, 44, 10, \ - 320, 2700, 0, 10, \ - 250, 50, 50, 250, \ - RobotImuType.IMU_TYPE_GY87, 90, \ - RobotModelType.MODEL_TYPE_4WD_DIFF) -elif pibotModel == "apolloX" and boardType == "arduino": - pibotParam = dataholder.RobotParameters(96, 350, 68, 10, \ - 75, 2500, 0, 10, \ - 250, 40, 0, 200, \ - RobotImuType.IMU_TYPE_GY85, 90, \ - RobotModelType.MODEL_TYPE_2WD_DIFF) -elif pibotModel == "apolloX" and boardType == "stm32f1": - pibotParam = dataholder.RobotParameters(96, 350, 68, 10, \ - 250, 1200, 0, 10, \ - 250, 50, 0, 200, \ - RobotImuType.IMU_TYPE_GY87, 90, \ - RobotModelType.MODEL_TYPE_2WD_DIFF) -elif pibotModel == "apolloX" and boardType == "stm32f4": - pibotParam = dataholder.RobotParameters(96, 350, 68, 10, \ - 250, 1200, 0, 10, \ - 250, 50, 0, 200, \ - RobotImuType.IMU_TYPE_GY87, 90, \ +import dataholder +import os +from dataholder import RobotImuType +from dataholder import RobotModelType + +pibotModel = os.environ['PIBOT_MODEL'] +boardType = os.environ['PIBOT_BOARD'] +pibotBaud = os.environ['PIBOT_DRIVER_BAUDRATE'] + +print(pibotModel) +print(boardType) +print(pibotBaud) + +pibotParam = dataholder.RobotParameters() + +if pibotModel == "apollo" and boardType == "arduino": + pibotParam = dataholder.RobotParameters(65, 175, 44, 10, \ + 75, 2500, 0, 10, \ + 250, 40, 0, 200, \ + RobotImuType.IMU_TYPE_GY85, 90, \ + RobotModelType.MODEL_TYPE_2WD_DIFF) +elif pibotModel == "apollo" and boardType == "stm32f1": + pibotParam = dataholder.RobotParameters(65, 175, 44, 10, \ + 320, 2700, 0, 10, \ + 250, 50, 0, 200, \ + RobotImuType.IMU_TYPE_GY87, 90, \ + RobotModelType.MODEL_TYPE_2WD_DIFF) +elif pibotModel == "apollo" and boardType == "stm32f4": + pibotParam = dataholder.RobotParameters(65, 175, 44, 10, \ + 320, 2700, 0, 10, \ + 250, 40, 0, 200, \ + RobotImuType.IMU_TYPE_GY87, 90, \ + RobotModelType.MODEL_TYPE_2WD_DIFF) +elif pibotModel == "zeus" and boardType == "stm32f4": + pibotParam = dataholder.RobotParameters(58, 230, 44, 10, \ + 320, 2700, 0, 10, \ + 250, 50, 50, 250, \ + RobotImuType.IMU_TYPE_GY87, 90, \ + RobotModelType.MODEL_TYPE_3WD_OMNI) +elif pibotModel == "hades" and boardType == "stm32f4": + pibotParam = dataholder.RobotParameters(76, 470, 44, 10, \ + 320, 2700, 0, 10, \ + 250, 50, 50, 250, \ + RobotImuType.IMU_TYPE_GY87, 90, \ + RobotModelType.MODEL_TYPE_4WD_MECANUM) +elif pibotModel == "hadesX" and boardType == "stm32f4": + pibotParam = dataholder.RobotParameters(150, 565, 44, 10, \ + 250, 2750, 0, 10, \ + 250, 50, 50, 250, \ + RobotImuType.IMU_TYPE_GY87, 72, \ + RobotModelType.MODEL_TYPE_4WD_MECANUM) +elif pibotModel == "hera" and boardType == "stm32f4": + pibotParam = dataholder.RobotParameters(82, 338, 44, 10, \ + 320, 2700, 0, 10, \ + 250, 50, 50, 250, \ + RobotImuType.IMU_TYPE_GY87, 90, \ + RobotModelType.MODEL_TYPE_4WD_DIFF) +elif pibotModel == "apolloX" and boardType == "arduino": + pibotParam = dataholder.RobotParameters(96, 350, 68, 10, \ + 75, 2500, 0, 10, \ + 250, 40, 0, 200, \ + RobotImuType.IMU_TYPE_GY85, 90, \ + RobotModelType.MODEL_TYPE_2WD_DIFF) +elif pibotModel == "apolloX" and boardType == "stm32f1": + pibotParam = dataholder.RobotParameters(96, 350, 68, 10, \ + 250, 1200, 0, 10, \ + 250, 50, 0, 200, \ + RobotImuType.IMU_TYPE_GY87, 90, \ + RobotModelType.MODEL_TYPE_2WD_DIFF) +elif pibotModel == "apolloX" and boardType == "stm32f4": + pibotParam = dataholder.RobotParameters(96, 350, 68, 10, \ + 250, 1200, 0, 10, \ + 250, 50, 0, 200, \ + RobotImuType.IMU_TYPE_GY87, 90, \ RobotModelType.MODEL_TYPE_2WD_DIFF) \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/transport/set_default_params.py b/Code/MowingRobot/pibot_ros/pypibot/transport/set_default_params.py old mode 100644 new mode 100755 similarity index 96% rename from Code/MowingRobot/PIBot_ROS/pypibot/transport/set_default_params.py rename to Code/MowingRobot/pibot_ros/pypibot/transport/set_default_params.py index 096b17c..e5acccb --- a/Code/MowingRobot/PIBot_ROS/pypibot/transport/set_default_params.py +++ b/Code/MowingRobot/pibot_ros/pypibot/transport/set_default_params.py @@ -1,90 +1,90 @@ -import platform -import sys -sys.path.append("..") -import pypibot -from pypibot import log -from transport import Transport -from dataholder import MessageID -import params - -#for linux -port="/dev/pibot" - -#for windows -#port="com3" - -pypibot.assistant.enableGlobalExcept() -#log.enableFileLog(log_dir + "ros_$(Date8)_$(filenumber2).log") -log.setLevel("i") - -if __name__ == '__main__': - mboard = Transport(port, params.pibotBaud) - if not mboard.start(): - log.error("can not open %s"%port) - sys.exit() - - DataHolder = mboard.getDataHolder() - - for num in range(0,3): - log.info("****************get robot version*****************") - boardVersion = DataHolder[MessageID.ID_GET_VERSION] - p = mboard.request(MessageID.ID_GET_VERSION) - if p: - log.info("firmware version:%s buildtime:%s\r\n"%(boardVersion.version.decode(), boardVersion.build_time.decode())) - break - else: - log.error('read firmware version err\r\n') - import time - time.sleep(1) - if num == 2: - log.error('please check connection or baudrate\r\n') - sys.exit() - - # set robot parameter - log.info("****************set robot parameter*****************") - - DataHolder[MessageID.ID_SET_ROBOT_PARAMETER].param = params.pibotParam - - p = mboard.request(MessageID.ID_SET_ROBOT_PARAMETER) - if p: - log.info('set parameter success') - else: - log.error('set parameter err') - quit(1) - - # get robot parameter - robotParam = DataHolder[MessageID.ID_GET_ROBOT_PARAMETER] - p = mboard.request(MessageID.ID_GET_ROBOT_PARAMETER) - if p: - log.info("model_type:%d wheel_diameter:%d wheel_track:%d encoder_resolution:%d" \ - %(robotParam.param.model_type, \ - robotParam.param.wheel_diameter, \ - robotParam.param.wheel_track, \ - robotParam.param.encoder_resolution - )) - - log.info("do_pid_interval:%d kp:%d ki:%d kd:%d ko:%d" \ - %(robotParam.param.do_pid_interval, \ - robotParam.param.kp, \ - robotParam.param.ki, \ - robotParam.param.kd, \ - robotParam.param.ko)) - - log.info("cmd_last_time:%d imu_type:%d" \ - %(robotParam.param.cmd_last_time,\ - robotParam.param.imu_type - )) - - log.info("max_v:%d %d %d\r\n" \ - %(robotParam.param.max_v_liner_x,\ - robotParam.param.max_v_liner_y, \ - robotParam.param.max_v_angular_z - )) - - log.info("motor flag:%d encoder flag: %d\r\n" \ - %(robotParam.param.motor_nonexchange_flag,\ - robotParam.param.encoder_nonexchange_flag - )) - else: - log.error('get param err\r\n') +import platform +import sys +sys.path.append("..") +import pypibot +from pypibot import log +from transport import Transport +from dataholder import MessageID +import params + +#for linux +port="/dev/pibot" + +#for windows +#port="com3" + +pypibot.assistant.enableGlobalExcept() +#log.enableFileLog(log_dir + "ros_$(Date8)_$(filenumber2).log") +log.setLevel("i") + +if __name__ == '__main__': + mboard = Transport(port, params.pibotBaud) + if not mboard.start(): + log.error("can not open %s"%port) + sys.exit() + + DataHolder = mboard.getDataHolder() + + for num in range(0,3): + log.info("****************get robot version*****************") + boardVersion = DataHolder[MessageID.ID_GET_VERSION] + p = mboard.request(MessageID.ID_GET_VERSION) + if p: + log.info("firmware version:%s buildtime:%s\r\n"%(boardVersion.version.decode(), boardVersion.build_time.decode())) + break + else: + log.error('read firmware version err\r\n') + import time + time.sleep(1) + if num == 2: + log.error('please check connection or baudrate\r\n') + sys.exit() + + # set robot parameter + log.info("****************set robot parameter*****************") + + DataHolder[MessageID.ID_SET_ROBOT_PARAMETER].param = params.pibotParam + + p = mboard.request(MessageID.ID_SET_ROBOT_PARAMETER) + if p: + log.info('set parameter success') + else: + log.error('set parameter err') + quit(1) + + # get robot parameter + robotParam = DataHolder[MessageID.ID_GET_ROBOT_PARAMETER] + p = mboard.request(MessageID.ID_GET_ROBOT_PARAMETER) + if p: + log.info("model_type:%d wheel_diameter:%d wheel_track:%d encoder_resolution:%d" \ + %(robotParam.param.model_type, \ + robotParam.param.wheel_diameter, \ + robotParam.param.wheel_track, \ + robotParam.param.encoder_resolution + )) + + log.info("do_pid_interval:%d kp:%d ki:%d kd:%d ko:%d" \ + %(robotParam.param.do_pid_interval, \ + robotParam.param.kp, \ + robotParam.param.ki, \ + robotParam.param.kd, \ + robotParam.param.ko)) + + log.info("cmd_last_time:%d imu_type:%d" \ + %(robotParam.param.cmd_last_time,\ + robotParam.param.imu_type + )) + + log.info("max_v:%d %d %d\r\n" \ + %(robotParam.param.max_v_liner_x,\ + robotParam.param.max_v_liner_y, \ + robotParam.param.max_v_angular_z + )) + + log.info("motor flag:%d encoder flag: %d\r\n" \ + %(robotParam.param.motor_nonexchange_flag,\ + robotParam.param.encoder_nonexchange_flag + )) + else: + log.error('get param err\r\n') quit(1) \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/transport/test_motors.py b/Code/MowingRobot/pibot_ros/pypibot/transport/test_motors.py old mode 100644 new mode 100755 similarity index 96% rename from Code/MowingRobot/PIBot_ROS/pypibot/transport/test_motors.py rename to Code/MowingRobot/pibot_ros/pypibot/transport/test_motors.py index d5e0daa..2c118f2 --- a/Code/MowingRobot/PIBot_ROS/pypibot/transport/test_motors.py +++ b/Code/MowingRobot/pibot_ros/pypibot/transport/test_motors.py @@ -1,122 +1,122 @@ -import platform -import sys -sys.path.append("..") -import pypibot -from pypibot import log -from transport import Transport -from dataholder import MessageID -import params -import signal - -#for linux -port="/dev/pibot" - -#for windows -#port="com3" - -pypibot.assistant.enableGlobalExcept() -#log.enableFileLog(log_dir + "ros_$(Date8)_$(filenumber2).log") -log.setLevel("i") - -run_flag = True - -def exit(signum, frame): - global run_flag - run_flag = False - -if __name__ == '__main__': - signal.signal(signal.SIGINT, exit) - - mboard = Transport(port, params.pibotBaud) - if not mboard.start(): - log.error("can not open %s"%port) - sys.exit() - - pwm=[0]*4 - for i in range(len(sys.argv)-1): - pwm[i] = int(sys.argv[i+1]) - - DataHolder = mboard.getDataHolder() - - for num in range(0,3): - log.info("****************get robot version*****************") - boardVersion = DataHolder[MessageID.ID_GET_VERSION] - p = mboard.request(MessageID.ID_GET_VERSION) - if p: - log.info("firmware version:%s buildtime:%s\r\n"%(boardVersion.version.decode(), boardVersion.build_time.decode())) - break - else: - log.error('read firmware version err\r\n') - import time - time.sleep(1) - if num == 2: - log.error('please check connection or baudrate\r\n') - sys.exit() - - # get robot parameter - robotParam = DataHolder[MessageID.ID_GET_ROBOT_PARAMETER] - p = mboard.request(MessageID.ID_GET_ROBOT_PARAMETER) - if p: - log.info("model_type:%d wheel_diameter:%d wheel_track:%d encoder_resolution:%d" \ - %(robotParam.param.model_type, \ - robotParam.param.wheel_diameter, \ - robotParam.param.wheel_track, \ - robotParam.param.encoder_resolution - )) - - log.info("do_pid_interval:%d kp:%d ki:%d kd:%d ko:%d" \ - %(robotParam.param.do_pid_interval, \ - robotParam.param.kp, \ - robotParam.param.ki, \ - robotParam.param.kd, \ - robotParam.param.ko)) - - log.info("cmd_last_time:%d imu_type:%d" \ - %(robotParam.param.cmd_last_time,\ - robotParam.param.imu_type - )) - - log.info("max_v:%d %d %d\r\n" \ - %(robotParam.param.max_v_liner_x,\ - robotParam.param.max_v_liner_y, \ - robotParam.param.max_v_angular_z - )) - - log.info("motor flag:%d encoder flag: %d\r\n" \ - %(robotParam.param.motor_nonexchange_flag,\ - robotParam.param.encoder_nonexchange_flag - )) - else: - log.error('get params err\r\n') - quit(1) - - DataHolder[MessageID.ID_SET_MOTOR_PWM].pwm = pwm - - p = mboard.request(MessageID.ID_SET_MOTOR_PWM) - if p: - log.info('set pwm success') - else: - log.error('set pwm err') - quit(1) - - log.info("****************get encoder count*****************") - while run_flag: - robotEncoder = DataHolder[MessageID.ID_GET_ENCODER_COUNT].encoder - p = mboard.request(MessageID.ID_GET_ENCODER_COUNT) - if p: - log.info('encoder count: %s'%(('\t\t').join([str(x) for x in robotEncoder]))) - else: - log.error('get encoder count err') - quit(1) - - import time - time.sleep(0.5) - - DataHolder[MessageID.ID_SET_MOTOR_PWM].pwm = [0]*4 - - p = mboard.request(MessageID.ID_SET_MOTOR_PWM) - if p: - log.info('set pwm success') - else: - log.error('set pwm err') +import platform +import sys +sys.path.append("..") +import pypibot +from pypibot import log +from transport import Transport +from dataholder import MessageID +import params +import signal + +#for linux +port="/dev/pibot" + +#for windows +#port="com3" + +pypibot.assistant.enableGlobalExcept() +#log.enableFileLog(log_dir + "ros_$(Date8)_$(filenumber2).log") +log.setLevel("i") + +run_flag = True + +def exit(signum, frame): + global run_flag + run_flag = False + +if __name__ == '__main__': + signal.signal(signal.SIGINT, exit) + + mboard = Transport(port, params.pibotBaud) + if not mboard.start(): + log.error("can not open %s"%port) + sys.exit() + + pwm=[0]*4 + for i in range(len(sys.argv)-1): + pwm[i] = int(sys.argv[i+1]) + + DataHolder = mboard.getDataHolder() + + for num in range(0,3): + log.info("****************get robot version*****************") + boardVersion = DataHolder[MessageID.ID_GET_VERSION] + p = mboard.request(MessageID.ID_GET_VERSION) + if p: + log.info("firmware version:%s buildtime:%s\r\n"%(boardVersion.version.decode(), boardVersion.build_time.decode())) + break + else: + log.error('read firmware version err\r\n') + import time + time.sleep(1) + if num == 2: + log.error('please check connection or baudrate\r\n') + sys.exit() + + # get robot parameter + robotParam = DataHolder[MessageID.ID_GET_ROBOT_PARAMETER] + p = mboard.request(MessageID.ID_GET_ROBOT_PARAMETER) + if p: + log.info("model_type:%d wheel_diameter:%d wheel_track:%d encoder_resolution:%d" \ + %(robotParam.param.model_type, \ + robotParam.param.wheel_diameter, \ + robotParam.param.wheel_track, \ + robotParam.param.encoder_resolution + )) + + log.info("do_pid_interval:%d kp:%d ki:%d kd:%d ko:%d" \ + %(robotParam.param.do_pid_interval, \ + robotParam.param.kp, \ + robotParam.param.ki, \ + robotParam.param.kd, \ + robotParam.param.ko)) + + log.info("cmd_last_time:%d imu_type:%d" \ + %(robotParam.param.cmd_last_time,\ + robotParam.param.imu_type + )) + + log.info("max_v:%d %d %d\r\n" \ + %(robotParam.param.max_v_liner_x,\ + robotParam.param.max_v_liner_y, \ + robotParam.param.max_v_angular_z + )) + + log.info("motor flag:%d encoder flag: %d\r\n" \ + %(robotParam.param.motor_nonexchange_flag,\ + robotParam.param.encoder_nonexchange_flag + )) + else: + log.error('get params err\r\n') + quit(1) + + DataHolder[MessageID.ID_SET_MOTOR_PWM].pwm = pwm + + p = mboard.request(MessageID.ID_SET_MOTOR_PWM) + if p: + log.info('set pwm success') + else: + log.error('set pwm err') + quit(1) + + log.info("****************get encoder count*****************") + while run_flag: + robotEncoder = DataHolder[MessageID.ID_GET_ENCODER_COUNT].encoder + p = mboard.request(MessageID.ID_GET_ENCODER_COUNT) + if p: + log.info('encoder count: %s'%(('\t\t').join([str(x) for x in robotEncoder]))) + else: + log.error('get encoder count err') + quit(1) + + import time + time.sleep(0.5) + + DataHolder[MessageID.ID_SET_MOTOR_PWM].pwm = [0]*4 + + p = mboard.request(MessageID.ID_SET_MOTOR_PWM) + if p: + log.info('set pwm success') + else: + log.error('set pwm err') quit(1) \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/pypibot/transport/transport.py b/Code/MowingRobot/pibot_ros/pypibot/transport/transport.py old mode 100644 new mode 100755 similarity index 96% rename from Code/MowingRobot/PIBot_ROS/pypibot/transport/transport.py rename to Code/MowingRobot/pibot_ros/pypibot/transport/transport.py index 4d9a8e3..c38d5ba --- a/Code/MowingRobot/PIBot_ROS/pypibot/transport/transport.py +++ b/Code/MowingRobot/pibot_ros/pypibot/transport/transport.py @@ -1,197 +1,197 @@ -import sys -sys.path.append("..") -import pypibot -from pypibot import log -from pypibot import assistant - -import serial -import threading -import struct -import time -from dataholder import MessageID, BoardDataDict -FIX_HEAD = 0x5a - -class Recstate(): - WAITING_HD = 0 - WAITING_MSG_ID = 1 - RECEIVE_LEN = 2 - RECEIVE_PACKAGE = 3 - RECEIVE_CHECK = 4 - -def checksum(d): - sum = 0 - if assistant.is_python3(): - for i in d: - sum += i - sum = sum&0xff - else: - for i in d: - sum += ord(i) - sum = sum&0xff - return sum - - -class Transport: - def __init__(self, port, baudrate=921600): - self._Port = port - self._Baudrate = baudrate - self._KeepRunning = False - self.receive_state = Recstate.WAITING_HD - self.rev_msg = [] - self.rev_data = [] - self.wait_event = threading.Event() - - def getDataHolder(self): - return BoardDataDict - - def start(self): - try: - self._Serial = serial.Serial(port=self._Port, baudrate=self._Baudrate, timeout=0.2) - self._KeepRunning = True - self._ReceiverThread = threading.Thread(target=self._Listen) - self._ReceiverThread.setDaemon(True) - self._ReceiverThread.start() - return True - except: - return False - - def Stop(self): - self._KeepRunning = False - time.sleep(0.1) - self._Serial.close() - - def _Listen(self): - while self._KeepRunning: - if self.receiveFiniteStates(self._Serial.read()): - self.packageAnalysis() - - def receiveFiniteStates(self, s): - if len(s) == 0: - return False - val = s[0] - val_int = val - if not assistant.is_python3(): - val_int = ord(val) - - if self.receive_state == Recstate.WAITING_HD: - if val_int == FIX_HEAD: - log.trace('got head') - self.rev_msg = [] - self.rev_data =[] - self.rev_msg.append(val) - self.receive_state = Recstate.WAITING_MSG_ID - elif self.receive_state == Recstate.WAITING_MSG_ID: - log.trace('got msg id') - self.rev_msg.append(val) - self.receive_state = Recstate.RECEIVE_LEN - elif self.receive_state == Recstate.RECEIVE_LEN: - log.trace('got len:%d', val_int) - self.rev_msg.append(val) - if val_int == 0: - self.receive_state = Recstate.RECEIVE_CHECK - else: - self.receive_state = Recstate.RECEIVE_PACKAGE - elif self.receive_state == Recstate.RECEIVE_PACKAGE: - # if assistant.is_python3(): - # self.rev_data.append((chr(val)).encode('latin1')) - # else: - self.rev_data.append(val) - r = False - if assistant.is_python3(): - r = len(self.rev_data) == int(self.rev_msg[-1]) - else: - r = len(self.rev_data) == ord(self.rev_msg[-1]) - - if r: - self.rev_msg.extend(self.rev_data) - self.receive_state = Recstate.RECEIVE_CHECK - elif self.receive_state == Recstate.RECEIVE_CHECK: - log.trace('got check') - self.receive_state = Recstate.WAITING_HD - if val_int == checksum(self.rev_msg): - log.trace('got a complete message') - return True - else: - self.receive_state = Recstate.WAITING_HD - - # continue receiving - return False - - def packageAnalysis(self): - if assistant.is_python3(): - in_msg_id = int(self.rev_msg[1]) - else: - in_msg_id = ord(self.rev_msg[1]) - if assistant.is_python3(): - log.debug("recv body:" + " ".join("{:02x}".format(c) for c in self.rev_data)) - r = BoardDataDict[in_msg_id].unpack(bytes(self.rev_data)) - else: - log.debug("recv body:" + " ".join("{:02x}".format(ord(c)) for c in self.rev_data)) - r = BoardDataDict[in_msg_id].unpack(''.join(self.rev_data)) - if r: - self.res_id = in_msg_id - if in_msg_id<100: - self.set_response() - else:#notify - log.debug('msg %d'%self.rev_msg[4],'data incoming') - pass - else: - log.debug ('error unpacking pkg') - - def request(self, id, timeout=0.5): - if not self.write(id): - log.debug ('Serial send error!') - return False - if self.wait_for_response(timeout): - if id == self.res_id: - log.trace ('OK') - else: - log.error ('Got unmatched response!') - else: - log.error ('Request got no response!') - return False - # clear response - self.res_id = None - return True - - def write(self, id): - cmd = self.make_command(id) - if assistant.is_python3(): - log.d("write:" + " ".join("{:02x}".format(c) for c in cmd)) - else: - log.d("write:" + " ".join("{:02x}".format(ord(c)) for c in cmd)) - self._Serial.write(cmd) - return True - - def wait_for_response(self, timeout): - self.wait_event.clear() - return self.wait_event.wait(timeout) - - def set_response(self): - self.wait_event.set() - - def make_command(self, id): - #print(DataDict[id]) - data = BoardDataDict[id].pack() - l = [FIX_HEAD, id, len(data)] - head = struct.pack("3B", *l) - body = head + data - - if assistant.is_python3(): - return body + chr(checksum(body)).encode('latin1') - else: - return body + chr(checksum(body)) - - -if __name__ == '__main__': - - mboard = Transport('com10') - if not mboard.start(): - import sys - sys.exit() - - p = mboard.request(MessageID.ID_GET_VERSION) - log.i("result=%s"%p) - print('Version =[',mboard.getDataHolder()[MessageID.ID_GET_VERSION].version.decode(), mboard.getDataHolder()[MessageID.ID_GET_VERSION].build_time.decode(),"]\r\n") - - +import sys +sys.path.append("..") +import pypibot +from pypibot import log +from pypibot import assistant + +import serial +import threading +import struct +import time +from dataholder import MessageID, BoardDataDict +FIX_HEAD = 0x5a + +class Recstate(): + WAITING_HD = 0 + WAITING_MSG_ID = 1 + RECEIVE_LEN = 2 + RECEIVE_PACKAGE = 3 + RECEIVE_CHECK = 4 + +def checksum(d): + sum = 0 + if assistant.is_python3(): + for i in d: + sum += i + sum = sum&0xff + else: + for i in d: + sum += ord(i) + sum = sum&0xff + return sum + + +class Transport: + def __init__(self, port, baudrate=921600): + self._Port = port + self._Baudrate = baudrate + self._KeepRunning = False + self.receive_state = Recstate.WAITING_HD + self.rev_msg = [] + self.rev_data = [] + self.wait_event = threading.Event() + + def getDataHolder(self): + return BoardDataDict + + def start(self): + try: + self._Serial = serial.Serial(port=self._Port, baudrate=self._Baudrate, timeout=0.2) + self._KeepRunning = True + self._ReceiverThread = threading.Thread(target=self._Listen) + self._ReceiverThread.setDaemon(True) + self._ReceiverThread.start() + return True + except: + return False + + def Stop(self): + self._KeepRunning = False + time.sleep(0.1) + self._Serial.close() + + def _Listen(self): + while self._KeepRunning: + if self.receiveFiniteStates(self._Serial.read()): + self.packageAnalysis() + + def receiveFiniteStates(self, s): + if len(s) == 0: + return False + val = s[0] + val_int = val + if not assistant.is_python3(): + val_int = ord(val) + + if self.receive_state == Recstate.WAITING_HD: + if val_int == FIX_HEAD: + log.trace('got head') + self.rev_msg = [] + self.rev_data =[] + self.rev_msg.append(val) + self.receive_state = Recstate.WAITING_MSG_ID + elif self.receive_state == Recstate.WAITING_MSG_ID: + log.trace('got msg id') + self.rev_msg.append(val) + self.receive_state = Recstate.RECEIVE_LEN + elif self.receive_state == Recstate.RECEIVE_LEN: + log.trace('got len:%d', val_int) + self.rev_msg.append(val) + if val_int == 0: + self.receive_state = Recstate.RECEIVE_CHECK + else: + self.receive_state = Recstate.RECEIVE_PACKAGE + elif self.receive_state == Recstate.RECEIVE_PACKAGE: + # if assistant.is_python3(): + # self.rev_data.append((chr(val)).encode('latin1')) + # else: + self.rev_data.append(val) + r = False + if assistant.is_python3(): + r = len(self.rev_data) == int(self.rev_msg[-1]) + else: + r = len(self.rev_data) == ord(self.rev_msg[-1]) + + if r: + self.rev_msg.extend(self.rev_data) + self.receive_state = Recstate.RECEIVE_CHECK + elif self.receive_state == Recstate.RECEIVE_CHECK: + log.trace('got check') + self.receive_state = Recstate.WAITING_HD + if val_int == checksum(self.rev_msg): + log.trace('got a complete message') + return True + else: + self.receive_state = Recstate.WAITING_HD + + # continue receiving + return False + + def packageAnalysis(self): + if assistant.is_python3(): + in_msg_id = int(self.rev_msg[1]) + else: + in_msg_id = ord(self.rev_msg[1]) + if assistant.is_python3(): + log.debug("recv body:" + " ".join("{:02x}".format(c) for c in self.rev_data)) + r = BoardDataDict[in_msg_id].unpack(bytes(self.rev_data)) + else: + log.debug("recv body:" + " ".join("{:02x}".format(ord(c)) for c in self.rev_data)) + r = BoardDataDict[in_msg_id].unpack(''.join(self.rev_data)) + if r: + self.res_id = in_msg_id + if in_msg_id<100: + self.set_response() + else:#notify + log.debug('msg %d'%self.rev_msg[4],'data incoming') + pass + else: + log.debug ('error unpacking pkg') + + def request(self, id, timeout=0.5): + if not self.write(id): + log.debug ('Serial send error!') + return False + if self.wait_for_response(timeout): + if id == self.res_id: + log.trace ('OK') + else: + log.error ('Got unmatched response!') + else: + log.error ('Request got no response!') + return False + # clear response + self.res_id = None + return True + + def write(self, id): + cmd = self.make_command(id) + if assistant.is_python3(): + log.d("write:" + " ".join("{:02x}".format(c) for c in cmd)) + else: + log.d("write:" + " ".join("{:02x}".format(ord(c)) for c in cmd)) + self._Serial.write(cmd) + return True + + def wait_for_response(self, timeout): + self.wait_event.clear() + return self.wait_event.wait(timeout) + + def set_response(self): + self.wait_event.set() + + def make_command(self, id): + #print(DataDict[id]) + data = BoardDataDict[id].pack() + l = [FIX_HEAD, id, len(data)] + head = struct.pack("3B", *l) + body = head + data + + if assistant.is_python3(): + return body + chr(checksum(body)).encode('latin1') + else: + return body + chr(checksum(body)) + + +if __name__ == '__main__': + + mboard = Transport('com10') + if not mboard.start(): + import sys + sys.exit() + + p = mboard.request(MessageID.ID_GET_VERSION) + log.i("result=%s"%p) + print('Version =[',mboard.getDataHolder()[MessageID.ID_GET_VERSION].version.decode(), mboard.getDataHolder()[MessageID.ID_GET_VERSION].build_time.decode(),"]\r\n") + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_package/abseil-cpp.tar.gz b/Code/MowingRobot/pibot_ros/ros_package/abseil-cpp.tar.gz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_package/abseil-cpp.tar.gz rename to Code/MowingRobot/pibot_ros/ros_package/abseil-cpp.tar.gz diff --git a/Code/MowingRobot/PIBot_ROS/ros_package/astra.tar.gz b/Code/MowingRobot/pibot_ros/ros_package/astra.tar.gz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_package/astra.tar.gz rename to Code/MowingRobot/pibot_ros/ros_package/astra.tar.gz diff --git a/Code/MowingRobot/PIBot_ROS/ros_package/cartographer.tar.gz b/Code/MowingRobot/pibot_ros/ros_package/cartographer.tar.gz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_package/cartographer.tar.gz rename to Code/MowingRobot/pibot_ros/ros_package/cartographer.tar.gz diff --git a/Code/MowingRobot/PIBot_ROS/ros_package/cartographer_ros.tar.gz b/Code/MowingRobot/pibot_ros/ros_package/cartographer_ros.tar.gz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_package/cartographer_ros.tar.gz rename to Code/MowingRobot/pibot_ros/ros_package/cartographer_ros.tar.gz diff --git a/Code/MowingRobot/PIBot_ROS/ros_package/ceres-solver.tar.gz b/Code/MowingRobot/pibot_ros/ros_package/ceres-solver.tar.gz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_package/ceres-solver.tar.gz rename to Code/MowingRobot/pibot_ros/ros_package/ceres-solver.tar.gz diff --git a/Code/MowingRobot/PIBot_ROS/ros_package/frontier_exploration.tar.gz b/Code/MowingRobot/pibot_ros/ros_package/frontier_exploration.tar.gz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_package/frontier_exploration.tar.gz rename to Code/MowingRobot/pibot_ros/ros_package/frontier_exploration.tar.gz diff --git a/Code/MowingRobot/PIBot_ROS/ros_package/protobuf.tar.gz b/Code/MowingRobot/pibot_ros/ros_package/protobuf.tar.gz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_package/protobuf.tar.gz rename to Code/MowingRobot/pibot_ros/ros_package/protobuf.tar.gz diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/.catkin_workspace b/Code/MowingRobot/pibot_ros/ros_ws/.catkin_workspace similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/.catkin_workspace rename to Code/MowingRobot/pibot_ros/ros_ws/.catkin_workspace diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/.gitignore b/Code/MowingRobot/pibot_ros/ros_ws/src/.gitignore similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/.gitignore rename to Code/MowingRobot/pibot_ros/ros_ws/src/.gitignore diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/CMakeLists.txt new file mode 100644 index 0000000..7c776e9 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/CMakeLists.txt @@ -0,0 +1,60 @@ +cmake_minimum_required(VERSION 3.0.2) +project(FollowingCar) + +find_package(catkin REQUIRED COMPONENTS + roscpp + rospy + std_msgs + message_generation + geometry_msgs +) + +# 寻找OpenCV库 +find_package(OpenCV REQUIRED) +# 查找 Boost 库 +find_package(Boost REQUIRED) + +# catkin_package( +# # INCLUDE_DIRS include +# # LIBRARIES FollowingCar +# # CATKIN_DEPENDS roscpp rospy std_msgs +# # DEPENDS system_lib +# CATKIN_DEPENDS message_runtime std_msgs geometry_msgs +# ) + + +include_directories( +# include + ${OpenCV_INCLUDE_DIRS} + ${catkin_INCLUDE_DIRS} + include +) + +add_library(${PROJECT_NAME} SHARED + src/system.cpp + src/uwb.cpp + src/mapping.cpp + src/align.cpp + src/Mat.cpp + src/lighthouse.cpp + # src/read_sensor_data.cpp + include/senddata.h src/senddata.cpp) + + +add_message_files( + DIRECTORY msg + FILES + RawImu.msg + dis_info_array.msg + dis_info.msg + +) +generate_messages(DEPENDENCIES std_msgs geometry_msgs) + +catkin_package(CATKIN_DEPENDS message_runtime std_msgs geometry_msgs) +add_executable(${PROJECT_NAME}_node src/main.cpp) + + +target_link_libraries(${PROJECT_NAME}_node ${catkin_LIBRARIES} ${OpenCV_LIBS} ${Boost_LIBRARIES} pthread ${PROJECT_NAME}) + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/Mat.h b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/Mat.h new file mode 100644 index 0000000..f8cc745 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/Mat.h @@ -0,0 +1,83 @@ +/******************** (C) COPYRIGHT 2022 Geek************************************ +* File Name : Mat.h +* Current Version : V1.0 +* Author : logzhan +* Date of Issued : 2022.09.14 +* Comments : �����ľ������ +********************************************************************************/ +/* Header File Including -----------------------------------------------------*/ +#ifndef _H_MAT_ +#define _H_MAT_ + +#define MAT_MAX 15 //�������ܴ����������� + + +#include +#define _USE_MATH_DEFINES +#include + +class Mat +{ +public: + Mat(); + Mat(int setm,int setn,int kind);//kind=1��λ��kind=0�����,��������ʼ�����ݡ� + void Init(int setm,int setn,int kind);//kind=1��λ��kind=0�����,��������ʼ�����ݡ� + + void Zero(void); + //��Щ�ؼ�����Ӧ����Ϊprivate�ġ�����Ϊ�˷��㣬��Ҳ������public + int m;//���� + int n;//���� + double mat[MAT_MAX][MAT_MAX];//������������ + + //����ľ��� + Mat SubMat(int a,int b,int lm,int ln);//��ȡ����һ���� + void FillSubMat(int a,int b,Mat s);//����Ӿ��� + + //����ר�� + double absvec();//����������ij��ȡ����Ǹ���Ԫ�صľ���ֵ�� + double Sqrt();//�������ȵ�ƽ�� + friend Mat operator ^(Mat a,Mat b);//��� + + //���� + friend Mat operator *(double k,Mat a); + friend Mat operator *(Mat a,double k); + friend Mat operator /(Mat a,double k); + friend Mat operator *(Mat a,Mat b); + friend Mat operator +(Mat a,Mat b); + friend Mat operator -(Mat a,Mat b); + friend Mat operator ~(Mat a);//ת�� + friend Mat operator /(Mat a,Mat b);//a*inv(b) + friend Mat operator %(Mat a,Mat b);//inv(a)*b + + //MAT inv();//����� + +private: + // Ϊ���ø�˹��Ԫ��������һЩ���� + // �������� + void RowExchange(int a, int b); + // ijһ�г���ϵ�� + void RowMul(int a,double k); + // ��ijһ�мӼ���һ�еı��� + void RowAdd(int a,int b, double k); + // �������� + void ColExchange(int a, int b); + // ijһ�г���ϵ�� + void ColMul(int a,double k); + // ��ijһ�мӼ���һ�еı��� + void ColAdd(int a,int b,double k); + + +}; + + + + + + +#endif + + + + + + diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/align.h b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/align.h similarity index 72% rename from Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/align.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/align.h index c75e0f2..2ef0d39 100644 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/align.h +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/align.h @@ -1,41 +1,44 @@ -#include -#include -#include -#include -#include -#include -#include "ros_merge_test/RawImu.h" -#include "type.h" -#include "uwb.h" -#include - -#ifndef ALIGN_H -#define AlIGN_H -namespace uwb_slam{ - class Align - { - public: - Align(){}; - void Run(); - void wheel_odomCB(const nav_msgs::Odometry& wheel_odom); - void imuCB(const ros_merge_test::RawImu& imu); - void odomCB(const nav_msgs::Odometry& odom); - - public: - ros::NodeHandle nh_; - ros::Subscriber wheel_odom_sub_; - ros::Subscriber imu_sub_; - ros::Subscriber odom_sub_; - - Imu_odom_pose_data imu_odom_; - Uwb_data uwb_data_; - ros::Time tmp ; - - ros::Time odom_tmp_ ; - bool write_data_ = false; - cv::Mat img1; - std::queue> data_queue; - std::shared_ptr uwb_; - }; -}; -#endif +#include +#include +#include +#include +#include +#include +#include +#include "FollowingCar/RawImu.h" +#include "type.h" +#include "uwb.h" +#include "lighthouse.h" +#include "Mat.h" + +#ifndef ALIGN_H +#define AlIGN_H +namespace uwb_slam{ + class Align + { + public: + Align(){ + + }; + void Run(); + void wheel_odomCB(const nav_msgs::Odometry& wheel_odom); + void imuCB(const FollowingCar::RawImu& imu); + void odomCB(const nav_msgs::Odometry& odom); + + public: + ros::NodeHandle nh_; + ros::Subscriber wheel_odom_sub_; + ros::Subscriber imu_sub_; + ros::Subscriber odom_sub_; + Imu_odom_pose_data imu_odom_; + Uwb_data uwb_data_; + ros::Time imuDataRxTime, uwbDataRxTime, odomDataRxTime; + ros::Time odom_tmp_ ; + bool write_data_ = false; + cv::Mat img1; + std::queue> data_queue; + std::shared_ptr uwb_; + std::shared_ptr lighthouse_; + }; +}; +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/lighthouse.h b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/lighthouse.h new file mode 100644 index 0000000..333f9e5 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/lighthouse.h @@ -0,0 +1,29 @@ +#include +#include +#include +#include +#include +#include +#include "type.h" +#include +#include +#ifndef __LIGHTHOUSE_H__ +#define __LIGHTHOUSE_H__ + +namespace uwb_slam{ +class Lighthouse{ +public: + Lighthouse(); + ~Lighthouse(); + void Run(); + void UDPRead(); + // Listen PORT + int PORT = 12345; + int UdpSocket = -1; + + LightHouseData data; + + std::mutex mMutexLighthouse; +}; +}; +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/mapping.h b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/mapping.h new file mode 100644 index 0000000..ac39d27 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/mapping.h @@ -0,0 +1,40 @@ +#include +#include +#include +#include "uwb.h" +#include "align.h" + +#ifndef MAPPING_H +#define MAPPING_H + + +namespace uwb_slam{ + class Mapping + { + public: + const double PIXEL_SCALE = 1.0; //xiangsudian cm + const int AREA_SIZE = 1000; //map size cm + Mapping() {}; + void Run(); + bool checkQueue(); + void feedPos(const cv::Point2d & imuPosData, const cv::Point2d & uwbPosData, const cv::Point2d & syncPosData); + void process(); + std::mutex mMutexMap; + std::shared_ptr uwb_; + std::shared_ptr align_; + + private: + int realWidth, realHeight; + std::queue> posDataQueue; + std::vector posData = std::vector(3, {-1, -1}); + //cv::Point2d imuPoint = {-1,-1}; + // std::queue posDataQueue; + + + bool readPos = false; + cv::Mat img; + }; + +} + +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/read_sensor_data.h b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/read_sensor_data.h new file mode 100644 index 0000000..61a7df3 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/read_sensor_data.h @@ -0,0 +1,34 @@ +#include +#include "nav_msgs/Odometry.h" +#include "geometry_msgs/Twist.h" +#include "sensor_msgs/Imu.h" +#include "geometry_msgs/PoseStamped.h" +#include "geometry_msgs/PoseWithCovarianceStamped.h" +#include +#include "type.h" +#include "uwb.h" + + +#ifndef READ_SENSOR_DATA_H +#define READ_SENSOR_DATA_H + +namespace uwb_slam{ + typedef boost::shared_ptr OdomConstPtr; + typedef boost::shared_ptr ImuConstPtr; + class Read_sensor_data + { + public: + Read_sensor_data(); + + void Run(int argc, char* argv[]); + //void set_uwb(Uwb * uwb); + void imu_call_back(const ImuConstPtr& imu); + void odom_call_back(const OdomConstPtr& odom); + + private: + ros::Subscriber imu_sub_; + ros::Subscriber odom_sub_; + + }; +} +#endif \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/senddata.h b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/senddata.h new file mode 100644 index 0000000..3994793 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/senddata.h @@ -0,0 +1,50 @@ +#include +#include +#include +#include +#include +#include +#include "uwb.h" +#include +#include "FollowingCar/dis_info.h" +#include "FollowingCar/dis_info_array.h" + +#ifndef SENDDATA_H +#define SENDDATA_H + + +namespace uwb_slam{ + + class Senddata + { + public: + Senddata(){}; + void publishOdometry( std::shared_ptruwb); + void Run(std::shared_ptruwb); + void odomCB(const nav_msgs::Odometry& odom); + void stereoCB(const FollowingCar::dis_info_array::ConstPtr& stereo); + + std::shared_ptr uwb_; + + + std::mutex mMutexSend; + + private: + ros::Publisher position_pub_; + ros::Publisher cmd_vel_pub_; + ros::Subscriber odom_sub_; + ros::Subscriber obstacles_sub_; + ros::NodeHandle nh_; + + nav_msgs::Odometry odom_;//odom的消息类型 + nav_msgs::Odometry sub_odom_;//odom的消息类型 + geometry_msgs::Twist cmd_vel_; + + bool flag_ = 0; + + + }; + +} + +#endif \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/system.h b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/system.h new file mode 100644 index 0000000..848f92b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/system.h @@ -0,0 +1,32 @@ +#include +#include +#include "mapping.h" +#include "uwb.h" +#include "senddata.h" +// #include "align.h" +#include + +#ifndef SYSTEM_H +#define SYSTEM_H + +namespace uwb_slam{ + class System{ + + public: + System() { + } + void Run(); + public: + + std::shared_ptrMapping_; + std::shared_ptrUwb_; + std::shared_ptrSender_; + std::shared_ptrAlign_; + std::shared_ptrLighthouse_; + + // Uwb* Uwb_ ; + // Senddata* Sender_; + // Mapping* Mapping_; + }; +} +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/type.h b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/type.h new file mode 100644 index 0000000..53b77e2 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/type.h @@ -0,0 +1,50 @@ +#include +#include +#ifndef TYPE_H +#define TYPE_H + +namespace uwb_slam{ +struct Imu_data +{ + ros::Time imu_t_; + double a_[3]; + double g_[3]; + double m_[3]; + Imu_data(){}; + Imu_data(double ax,double ay,double az, double gx, double gy, double gz, double mx, double my, double mz) + :a_{ax,ay,az},g_{gx,gy,gz},m_{mx,my,mz}{}; +}; + + + +struct Imu_odom_pose_data +{ + Imu_data imu_data_; + double pose_[3]; + double quat_[4]; + double vxy_; + double angle_v_; + Imu_odom_pose_data(){}; + Imu_odom_pose_data( Imu_data imu_data,double x,double y,double z, double qw, double qx, double qy, double qz,double vxy, double angle_v):imu_data_(imu_data),pose_{x,y,z},quat_{qw,qx,qy,qz},vxy_(vxy),angle_v_(angle_v){}; +}; + +struct Uwb_data +{ + float x_,y_; + ros::Time uwb_t_; + Uwb_data(){}; + Uwb_data(float x,float y,float t):x_(x),y_(y),uwb_t_(t){}; +}; + +struct LightHouseData +{ + float x_,y_,z_; + float qw_,qx_,qy_,qz_; + ros::Time lighthouse_t_; + LightHouseData(){}; + LightHouseData(float x,float y,float z, float qw, float qx, float qy, float qz, float t): + x_(x),y_(y),z_(z),qw_(qw), qx_(qx), qy_(qy), qz_(qz), lighthouse_t_(t){}; +}; + +} +#endif \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/uwb.h b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/uwb.h new file mode 100644 index 0000000..7d1a939 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/include/uwb.h @@ -0,0 +1,60 @@ +#include +#include +#include +#include +#include +#include +#include "type.h" +#include +#include +#ifndef UWB_H +#define UWB_H + +#define PI acos(-1) +namespace uwb_slam{ + + class Uwb + { + public: + Uwb(); + void Run(); + bool checknewdata(); + void feed_imu_odom_pose_data(); + void Serread(); + + + + public: + int pre_seq = -1; + int cur_seq = -1; + int AnchorNum = 3; + int AnchorPos[3][3]={ + -240, 400, 113,\ + 240, 400, 113,\ + -400, -240, 113 + };//基站坐标,序号+三维坐标 + int d[3]; + int aoa[3]; + + // std::queue v_buffer_imu_odom_pose_data_; + + + Uwb_data uwb_data_; + // ros_merge_test::RawImu sub_imu_; + // std::queue imu_odom_queue_; + // std::queue uwb_data_queue_; + std::mutex mMutexUwb; + //boost::asio::io_service io; + //boost::asio::serial_port s_port; + + // Imu_odom_pose_data imu_odom_pose_data_; + }; + +}; + + + + + + +#endif diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/RawImu.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/msg/RawImu.msg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/RawImu.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/msg/RawImu.msg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/msg/dis_info.msg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/msg/dis_info.msg diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/msg/dis_info_array.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/msg/dis_info_array.msg new file mode 100644 index 0000000..39ec3cf --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/msg/dis_info_array.msg @@ -0,0 +1 @@ +FollowingCar/dis_info[] dis \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/package.xml new file mode 100644 index 0000000..eed5c12 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/package.xml @@ -0,0 +1,73 @@ + + + FollowingCar + 0.0.0 + The FollowingCar package + + + + + luoruidi + + + + + + TODO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + catkin + roscpp + rospy + std_msgs + geometry_msgs + message_generation + + roscpp + rospy + std_msgs + roscpp + rospy + std_msgs + message_runtime + geometry_msgs + + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/Mat.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/Mat.cpp new file mode 100644 index 0000000..4192cb5 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/Mat.cpp @@ -0,0 +1,368 @@ +/******************** (C) COPYRIGHT 2022 Geek************************************ +* File Name : Mat.cpp +* Current Version : V1.0 +* Author : logzhan +* Date of Issued : 2022.09.14 +* Comments : ��������� +********************************************************************************/ +/* Header File Including -----------------------------------------------------*/ +#include "Mat.h" + +double mind(double a,double b) +{ + double c = a; + if(b < c){ + c = b; + } + return c; +} + +int mini(int a,int b) +{ + int c=a; + if(bm = setm; + this->n = setn; + if((kind==0)||(kind==1)) + { + memset(mat,0,MAT_MAX*MAT_MAX*sizeof(double)); + } + + if(kind==1) + { + int x; + //Cԭ�е�max min�ᵼ�����������Ա������и��������Ķ�����Ҫֱ�ӷŵ�max���档 + int xend = mini(this->m, this->n); + for(x=0;x < xend;x++){ + mat[x][x] = 1; + } + } +} +void Mat::Zero() { + +} + +Mat Mat::SubMat(int a,int b,int lm,int ln) +{ + + int aend=a+lm-1; + int bend=b+ln-1; + + + Mat s(lm,ln,-1); + int x,y; + for(x=0;xs) + { + p=xb; + s=sxb; + } + } + //ͬʱ�任������� + if(x!=p) + { + a.ColExchange(x,p); + b.ColExchange(x,p); + } + + //��һ�й�һ + double k=1/b.mat[x][x];//��һ�䲻ҪǶ�׵����������У��������Ϊ���²�ͬ�����¼������ + a.ColMul(x,k); + b.ColMul(x,k); + + //�������й��� + for(xb=0;xbs) + { + p=xb; + s=sxb; + } + } + //ͬʱ�任������� + if(x!=p) + { + a.RowExchange(x,p); + b.RowExchange(x,p); + } + + //��һ�й�һ + double k=1/a.mat[x][x];//��һ�䲻ҪǶ�׵����������У��������Ϊ���²�ͬ�����¼������ + a.RowMul(x,k); + b.RowMul(x,k); + + //�������й��� + for(xb=0;xbuwb_data_.uwb_t_; + + outfile << imuDataRxTime << "," << odomDataRxTime << "," << uwbDataRxTime <<","\ + << imu_odom_.imu_data_.a_[0] << "," << imu_odom_.imu_data_.a_[1] << "," << imu_odom_.imu_data_.a_[2] << ","\ + << imu_odom_.imu_data_.g_[0] << "," << imu_odom_.imu_data_.g_[1] << "," << imu_odom_.imu_data_.g_[2] << ","\ + << imu_odom_.imu_data_.m_[0] << "," << imu_odom_.imu_data_.m_[1] << "," << imu_odom_.imu_data_.m_[2] << ","\ + << imu_odom_.quat_[0] << "," << imu_odom_.quat_[0] << "," << imu_odom_.quat_[0] << "," << imu_odom_.quat_[0] << ","\ + << imu_odom_.vxy_ << "," << imu_odom_.angle_v_ << ","\ + << imu_odom_.pose_[0] << "," << imu_odom_.pose_[1] << ","\ + << lighthouse_->data.x_ << "," << lighthouse_->data.y_ << "," << lighthouse_->data.z_ << ","\ + << lighthouse_->data.qw_ << "," << lighthouse_->data.qx_ << "," << lighthouse_->data.qy_ << "," << lighthouse_->data.qz_ << ","\ + << uwb_->d[0] << "," << uwb_->d[1] << "," << uwb_->d[2] << "\n"; + } + } + // outfile.close(); + // std::cout<< "Data written to file." << std::endl; + } + + + + void Align::wheel_odomCB(const nav_msgs::Odometry& wheel_odom) + { + imu_odom_.vxy_= wheel_odom.twist.twist.linear.x; + imu_odom_.angle_v_ = wheel_odom.twist.twist.angular.z; + // imu_odom_.pose_[0] = wheel_odom.pose.pose.position.x; + // imu_odom_.pose_[1] = wheel_odom.pose.pose.position.y; + // imu_odom_.pose_[2] = wheel_odom.pose.pose.position.z; + // imu_odom_.quat_[0] = wheel_odom.pose.pose.orientation.x; + // imu_odom_.quat_[1] = wheel_odom.pose.pose.orientation.y; + // imu_odom_.quat_[2] = wheel_odom.pose.pose.orientation.z; + // imu_odom_.quat_[3] = wheel_odom.pose.pose.orientation.w; + return; + } + void Align::imuCB(const FollowingCar::RawImu& imu) + { + imu_odom_.imu_data_.imu_t_ = imu.header.stamp; + imu_odom_.imu_data_.a_[0] = imu.raw_linear_acceleration.x; + imu_odom_.imu_data_.a_[1] = imu.raw_linear_acceleration.y; + imu_odom_.imu_data_.a_[2] = imu.raw_linear_acceleration.z; + + imu_odom_.imu_data_.g_[0] = imu.raw_angular_velocity.x; + imu_odom_.imu_data_.g_[1] = imu.raw_angular_velocity.y; + imu_odom_.imu_data_.g_[2] = imu.raw_angular_velocity.z; + + imu_odom_.imu_data_.m_[0] = imu.raw_magnetic_field.x; + imu_odom_.imu_data_.m_[1] = imu.raw_magnetic_field.y; + imu_odom_.imu_data_.m_[2] = imu.raw_magnetic_field.z; + + return; + } + + void Align::odomCB(const nav_msgs::Odometry& odom) + { + odom_tmp_ = odom.header.stamp; + imu_odom_.pose_[0] = odom.pose.pose.position.x; + imu_odom_.pose_[1] = odom.pose.pose.position.y; + imu_odom_.pose_[2] = odom.pose.pose.position.z; + imu_odom_.quat_[0] = odom.pose.pose.orientation.w; + imu_odom_.quat_[1] = odom.pose.pose.orientation.x; + imu_odom_.quat_[2] = odom.pose.pose.orientation.y; + imu_odom_.quat_[3] = odom.pose.pose.orientation.z; + } + +}; + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/lighthouse.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/lighthouse.cpp new file mode 100644 index 0000000..562b494 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/lighthouse.cpp @@ -0,0 +1,79 @@ +#include "lighthouse.h" +#include +#include + +namespace uwb_slam{ + Lighthouse::Lighthouse(){ + std::cout << "Start Run. " << std::endl; + + // 创建UDP套接字 + UdpSocket = socket(AF_INET, SOCK_DGRAM, 0); + if (UdpSocket == -1) { + std::cerr << "Error creating UDP socket." << std::endl; + return; + } + + std::cout << "Creating UDP socket sucess. " << std::endl; + + // 设置套接字地址结构 + sockaddr_in udpAddress; + std::memset(&udpAddress, 0, sizeof(udpAddress)); + udpAddress.sin_family = AF_INET; + udpAddress.sin_addr.s_addr = htonl(INADDR_ANY); + udpAddress.sin_port = htons(PORT); + + // 将套接字绑定到地址 + if (bind(UdpSocket, (struct sockaddr*)&udpAddress, sizeof(udpAddress)) == -1) { + std::cerr << "Error binding UDP socket." << std::endl; + close(UdpSocket); + } + } + + Lighthouse::~Lighthouse(){ + close(UdpSocket); + } + + void Lighthouse::Run() { + while(1){ + // 这是一个阻塞线程 + this->UDPRead(); + } + } + + void Lighthouse::UDPRead(){ + char buffer[1024]; + ssize_t bytesRead = recvfrom(UdpSocket, buffer, sizeof(buffer), 0, nullptr, nullptr); + if (bytesRead == -1) { + std::cerr << "Error receiving data." << std::endl; + return; + } + + std::string data(buffer); + + float x,y,z,qw,qx,qy,qz; + + qw = 1.0; + + sscanf(data.c_str(),"%f %f %f %f %f %f",&x,&y,&z,&qx,&qy,&qz); + + mMutexLighthouse.lock(); + + this->data.x_ = x; + this->data.y_ = y; + this->data.z_ = z; + + this->data.qw_ = qw; + this->data.qx_ = qx; + this->data.qy_ = qy; + this->data.qz_ = qz; + + + + mMutexLighthouse.unlock(); + + // 打印接收到的消息 + buffer[bytesRead] = '\0'; + //std::cout << "Received: " << buffer << std::endl; + + } +}; \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/main.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/main.cpp new file mode 100644 index 0000000..bed1c0f --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/main.cpp @@ -0,0 +1,65 @@ +#include "../include/system.h" +#include "../include/uwb.h" +#include "../include/lighthouse.h" +#include "Mat.h" + + +#include +#include +#include +#include "senddata.h" + + + +int main(int argc, char** argv) +{ + ros::init(argc, argv, "locate_info_pub_node"); // Initialize the ROS node + + std::shared_ptr system = std::make_shared(); + std::shared_ptr mp = std::make_shared(); + std::shared_ptr uwb = std::make_shared(); + std::shared_ptr sender = std::make_shared(); + std::shared_ptr align = std::make_shared(); + std::shared_ptr lighthouse = std::make_shared(); + + + system->Mapping_ = mp; + system->Uwb_ = uwb; + system->Sender_ = sender; + system->Align_ = align; + system->Lighthouse_ = lighthouse; + + mp->uwb_ = system->Uwb_; + mp->align_ = system->Align_; + align->uwb_ = system->Uwb_; + align->lighthouse_ = system->Lighthouse_; + sender->uwb_ = system->Uwb_; + // // control data fllow in system + // std::thread rose_trd ([&system]() { + // system->Run(); + // }); + + // uwb serried read + std::thread uwb_trd([&uwb]() { + uwb->Run(); + }); + + // build map + // std::thread map_trd ([&mp]() { + // mp->Run(); + // }); + + std::thread sender_trd ([&sender, uwb]() { + sender->Run(uwb); + }); + + // std::thread align_trd ([&align]() { + // align->Run(); + // }); + + // std::thread lighthouse_trd ([&lighthouse]() { + // lighthouse->Run(); + // }); + + ros::spin(); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/mapping.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/mapping.cpp new file mode 100644 index 0000000..d9555b3 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/mapping.cpp @@ -0,0 +1,149 @@ +#include "mapping.h" +#include +#include // 包含 usleep() 函数所在的头文件 +#include +#include + +namespace uwb_slam +{ + bool Mapping::checkQueue() + { + //std::unique_lock lock(mMutexMap); + return !posDataQueue.empty(); + } + + void Mapping::feedPos(const cv::Point2d & imuPosData, const cv::Point2d & uwbPosData, const cv::Point2d & syncPosData) + { + //std::unique_lock lock(mMutexMap); + posDataQueue.push({imuPosData, uwbPosData, syncPosData}); + + } + + + void Mapping::process() + { + { + + //std::unique_lock lock(mMutexMap); + //std::cout << "SIZE: " <(imuPosPointY, imuPosPointX) = 0; + img.at(imuPosPointY, imuPosPointX) = cv::Vec3b(0,0,255); //imu trace is red + img.at(uwbPosPointY, uwbPosPointX) = cv::Vec3b(0,255,0); //uwb trace is green + img.at(syncPosPointY, syncPosPointX) = cv::Vec3b(255,0,0); //sync trace is blue + } + + + void Mapping::Run() + { + + //int key = cv::waitKey(0);//等待用户按下按键 + //std::cout << key << std::endl; + realWidth = AREA_SIZE / PIXEL_SCALE; + realHeight = AREA_SIZE / PIXEL_SCALE; + + img = cv::Mat(realHeight, realWidth, CV_8UC3, cv::Scalar(255,255,255)); + //cankao + for (int j=0;j(j,i)= cv::Vec3b(0,0,0); + + for (int j=realHeight/2-1; j<=realHeight/2+1; j+=1) + for (int i=realWidth/2-1; i<=realWidth/2+1; i+=1) + img.at(j,i)= cv::Vec3b(0,0,0); + int i = 0, j = 0; + img.at(j,i)= cv::Vec3b(0,0,0); + + + + cv::imshow("Image",img); + + // bool printFlag = 0; + // std::ofstream outfile("data.txt",std::ofstream::out); + // if(outfile.is_open()) { + // std::cout << "start saving data" << key << std::endl; + // printFlag = 1; + // } else { + // std::cout<<"file can not open"<feed_uwb_data(cv::Point2d(uwb_->x,uwb_->y)); + readPos = true; + std::cout << "non" << key << std::endl; + cv::destroyAllWindows(); + } + */ + while(1){ + int key = cv::waitKey(0); + if (key == 'q' ) { + readPos = true; + std::cout << "start mapping" << key << std::endl; + + //cv::destroyAllWindows(); + } + while( readPos )//按下空格键 + { + int key2 = cv::waitKey(1); + if (key2 == 'q') { + //TODO: save + + std::string pngimage="/home/firefly/Project_Ros11/Project_Ros1/src/FollowingCar/Map/output_image.png";//保存的图片文件路径 + cv::imwrite(pngimage,img); + readPos = false; + + // outfile.close(); + // printFlag = 0; + // std::cout<< "Data written to file." << std::endl; + + break; + } + + //this->feedPos(cv::Point2d(align_->imuPos.mat[0][0], align_->imuPos.mat[1][0]), cv::Point2d(align_->uwbPos.mat[0][0], align_->uwbPos.mat[1][0]), cv::Point2d(align_->syncPos.mat[0][0], align_->syncPos.mat[1][0])); + //this->feedPos(cv::Point2d(uwb_->x, uwb_->y)); + + //uwb xieru + //std::cout << "cur_SEQ: " <cur_seq << std::endl; + + if(checkQueue()) + { + //std::cout << " start process" << std::endl; + process(); + //std::cout << " end process" << std::endl; + + } + } + // std::cout << "out" << key << std::endl; + + } + + + + //std::string pngimage="../Map/pngimage.png";//保存的图片文件路径 + //cv::imwrite(pngimage,img); + + /*ros 发送图片给导航 */ + } +} // namespace uwb_slam + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/read_sensor_data.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/read_sensor_data.cpp new file mode 100644 index 0000000..e74d0cd --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/read_sensor_data.cpp @@ -0,0 +1,30 @@ +#include + +namespace uwb_slam { + + + //void Read_sensor_data::set_uwb(){} + + + void Read_sensor_data::imu_call_back(const ImuConstPtr& imu){ + Imu_data d1= Imu_data(imu->linear_acceleration.x,imu->linear_acceleration.y,imu->linear_acceleration.z, + imu->angular_velocity.x,imu->angular_velocity.y,imu->angular_velocity.z); + + } + void Read_sensor_data::odom_call_back(const OdomConstPtr& odom){ + Odom_data d1 = Odom_data(odom->pose.pose.position.x, odom->pose.pose.position.y, odom->pose.pose.position.z, + odom->pose.pose.orientation.w,odom->pose.pose.orientation.x, odom->pose.pose.orientation.y, odom->pose.pose.orientation.z, + odom->header.stamp,odom->twist.twist.linear.x,odom->twist.twist.linear.y,odom->twist.twist.angular.z); + + } + void Read_sensor_data::Run(int argc, char* argv[]){ + + ros::init(argc, argv, "imu_odom"); + // 创建一个节点句柄 + ros::NodeHandle nh; + //imu_sub_ = nh.subscribe("imu/data_raw", 1000, this->imu_call_back); + //odom_sub_ =nh.subscribe("odom", 1000,odom_call_back); + ros::spin(); + } + +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/senddata.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/senddata.cpp new file mode 100644 index 0000000..2f659aa --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/senddata.cpp @@ -0,0 +1,147 @@ +#include "senddata.h" + +#define angleLimit 20 +#define disLimit 200 + +namespace uwb_slam +{ + void Senddata::Run(std::shared_ptruwb){ + + ros::Rate loop_rate(10); + // position_pub_=nh_.advertise("uwb_odom",50); + cmd_vel_pub_ = nh_.advertise("cmd_vel",50); + obstacles_sub_ = nh_.subscribe("ceju_info",1,boost::bind(&Senddata::stereoCB,this,_1)); + // odom_sub_=nh_.subscribe("odom",10,&Senddata::odomCB,this); + while(ros::ok()){ + // publishOdometry(uwb); + if (flag_) + { + cmd_vel_.linear.x = 0; + cmd_vel_.angular.z = -1; + for (int i = 0; i < 17; ++i) { + cmd_vel_pub_.publish(cmd_vel_); + loop_rate.sleep(); + } + + cmd_vel_.linear.x = 0.2; + cmd_vel_.angular.z = 0; + for (int i = 0; i < 20; ++i) { + cmd_vel_pub_.publish(cmd_vel_); + loop_rate.sleep(); + } + + cmd_vel_.linear.x = 0; + cmd_vel_.angular.z = 1; + for (int i = 0; i < 16; ++i) { + cmd_vel_pub_.publish(cmd_vel_); + loop_rate.sleep(); + } + + cmd_vel_.linear.x = 0; + cmd_vel_.angular.z = 0; + flag_ = 0; + } + else if(abs(uwb->aoa[0]) > 180 || abs(uwb->d[0]) > 2000) + { + cmd_vel_.angular.z = 0; + cmd_vel_.linear.x = 0; + } + else if(uwb->aoa[0] > angleLimit && uwb->aoa[0] <= 180) + { + float angularSpeed = (float)uwb->aoa[0] / 100 + 1; + cmd_vel_.angular.z = angularSpeed; + cmd_vel_.linear.x = 0; + } + else if(uwb->aoa[0] < -angleLimit) + { + float angularSpeed = (float)uwb->aoa[0] / 100 - 1; + cmd_vel_.angular.z = angularSpeed; + cmd_vel_.linear.x = 0; + } + else if(uwb->d[0] > disLimit) + { + float lineSpeed = (float)uwb->d[0] / 1000 + 0.1; + cmd_vel_.angular.z = 0; + cmd_vel_.linear.x = lineSpeed; + } + else if(uwb->d[0] < disLimit - 30) + { + cmd_vel_.angular.z = 0; + cmd_vel_.linear.x = -0.2; + } + else + { + cmd_vel_.angular.z = 0; + cmd_vel_.linear.x = 0; + } + cmd_vel_pub_.publish(cmd_vel_); + ros::spinOnce(); + loop_rate.sleep(); + } + + + } + // void Senddata::odomCB(const nav_msgs::Odometry& odom){ + // sub_odom_ = odom; + // return; + // } + void Senddata::stereoCB(const FollowingCar::dis_info_array::ConstPtr& stereo) + { + for (const auto& obstacle_info :stereo->dis) + { + float distance = obstacle_info.distance; + // float width = obstacle_info.width; + // float height = obstacle_info.height; + // float angle = obstacle_info.angle; + + // if(distance>5&&distance<45&&cmd_vel_.linear.x!=0) + if(distance>5&&distance<45) + { + flag_ = 1; + } + } + + return; + } + + // void Senddata::publishOdometry(std::shared_ptruwb) + // { + + // std::mutex mMutexSend; + // ros::Time current_time = ros::Time::now(); + + // // 设置 Odometry 消息的头部信息 + // odom_.header.stamp = current_time; + // odom_.header.frame_id = "odom"; // 设置坐标系为 "map" + // odom_.child_frame_id = "base_link"; // 设置坐标系为 "base_link" + + // // 填充 Odometry 消息的位置信息 + // odom_.pose.pose.position.x = uwb->uwb_data_.x_; + // odom_.pose.pose.position.y = uwb->uwb_data_.y_; + // odom_.pose.pose.position.z = 0.0; + + + // // 填充 Odometry 消息的姿态信息(使用四元数来表示姿态) + // // tf2::Quaternion quat; + // // quat.setRPY(0, 0, uwb->theta); // 设置了 yaw 角度,其他 roll 和 pitch 设置为 0 + // // odom.pose.pose.orientation.x = quat.x(); + // // odom.pose.pose.orientation.y = quat.y(); + // // odom.pose.pose.orientation.z = quat.z(); + // // odom.pose.pose.orientation.w = quat.w(); + + // odom_.pose.pose.orientation.x = sub_odom_.pose.pose.orientation.x; + // odom_.pose.pose.orientation.y = sub_odom_.pose.pose.orientation.y; + // odom_.pose.pose.orientation.z = sub_odom_.pose.pose.orientation.z; + // odom_.pose.pose.orientation.w = sub_odom_.pose.pose.orientation.w; + + // // 发布 Odometry 消息 + // position_pub_.publish(odom_); + + + // } + + + + + +} // namespace uwb_slam \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/system.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/system.cpp new file mode 100644 index 0000000..44f5878 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/system.cpp @@ -0,0 +1,15 @@ +#include "../include/system.h" +//#include "" + + +namespace uwb_slam{ + + void System::Run() + { + while(1){ + + } + + } + +} \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/uwb.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/uwb.cpp new file mode 100644 index 0000000..2db72c5 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/FollowingCar/src/uwb.cpp @@ -0,0 +1,121 @@ +#include "uwb.h" +#include +#include "Mat.h" + + +#define CARHEIGHT 20 +#define DISINDEX 3 +#define AOAINDEX 15 +#define DATALENGTH 27 + +namespace uwb_slam{ + Uwb::Uwb(){ + + } + + void Uwb::Run() { + + while(1){ + this->Serread(); + + } + + + } + + + void Uwb::Serread(){ + try { + boost::asio::io_service io; + boost::asio::serial_port serial(io, "/dev/ttyUSB1"); // 替换成你的串口设备路径 + + serial.set_option(boost::asio::serial_port_base::baud_rate(115200)); // 设置波特率 + serial.set_option(boost::asio::serial_port_base::character_size(8)); // 设置数据位 + serial.set_option(boost::asio::serial_port_base::parity(boost::asio::serial_port_base::parity::none)); // 设置校验位 + serial.set_option(boost::asio::serial_port_base::stop_bits(boost::asio::serial_port_base::stop_bits::one)); // 设置停止位 + + uint8_t tmpdata[DATALENGTH]; + // std::cerr << "befor read" << std::endl; + size_t bytesRead = boost::asio::read(serial, boost::asio::buffer(tmpdata, sizeof(tmpdata))); // 读取串口数据 + // std::cerr << "after read" << std::endl; + this->uwb_data_.uwb_t_ = ros::Time::now(); + + for (int i=0;i< bytesRead;i++) + { + std::cout << std::hex<(tmpdata[i]) << " "; + } + std::cout << std::endl; + + memcpy(&this->d[0], &tmpdata[DISINDEX], sizeof(d[0])); + memcpy(&this->d[1], &tmpdata[DISINDEX + sizeof(d[0])], sizeof(d[0])); + memcpy(&this->d[2], &tmpdata[DISINDEX + sizeof(d[0]) * 2], sizeof(d[0])); + memcpy(&this->aoa[0], &tmpdata[AOAINDEX], sizeof(aoa[0])); + memcpy(&this->aoa[1], &tmpdata[AOAINDEX + sizeof(aoa[0])], sizeof(aoa[0])); + memcpy(&this->aoa[2], &tmpdata[AOAINDEX + sizeof(aoa[0]) * 2], sizeof(aoa[0])); + + //std::cout << "d:" << d[0] << " " << d[1] << " " << d[2] << std::endl; + + // if(abs(d[0]) > 2000 || abs(d[1]) > 2000 || abs(d[2]) > 2000) { + // return; + // } + // for(int i=0; i<3; i++) + // { + // this->d[i] = sqrt(this->d[i] * this->d[i] - (AnchorPos[i][2] - CARHEIGHT) * (AnchorPos[i][2] - CARHEIGHT)); + // } + + std::cout<<"d: "<d[0]<<" aoa: "<aoa[0]< lock(mMutexUwb); +// return !v_buffer_imu_odom_pose_data_.empty(); +// } + +// void Uwb::Run() { +// while(1) +// { +// if(checknewdata()) +// { +// { +// std::unique_lock lock(mMutexUwb); +// Imu_odom_pose_data imu_odom_pose_data = v_buffer_imu_odom_pose_data_.front(); +// v_buffer_imu_odom_pose_data_.pop(); +// } + + + +// } +// } + + + +// } + +// void Uwb::feed_imu_odom_pose_data(const Imu_odom_pose_data& imu_odom_pose_data){ +// std::unique_lock lock(mMutexUwb); +// v_buffer_imu_odom_pose_data_.push(imu_odom_pose_data); +// } + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/.gitignore b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/.gitignore similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/.gitignore rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/.gitignore diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/LICENSE b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/LICENSE similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/LICENSE rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/LICENSE diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/README.md b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/README.md rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/README.md diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix/CHANGELOG.rst similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix/CHANGELOG.rst rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix/CHANGELOG.rst diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/CHANGELOG.rst similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/CHANGELOG.rst rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/CHANGELOG.rst diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/gripper_controller b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/gripper_controller similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/gripper_controller rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/gripper_controller diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/gripper_controller.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/gripper_controller.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/gripper_controller.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/gripper_controller.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/one_side_gripper_controller.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/one_side_gripper_controller.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/one_side_gripper_controller.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/one_side_gripper_controller.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_gripper_action_controller.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_gripper_action_controller.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_gripper_action_controller.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_gripper_action_controller.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_gripper_controller.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_gripper_controller.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_gripper_controller.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_gripper_controller.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_single_servo_controller.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_single_servo_controller.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_single_servo_controller.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/bin/parallel_single_servo_controller.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_controllers/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_controllers/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/CHANGELOG.rst similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/CHANGELOG.rst rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/CHANGELOG.rst diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/src/diff_controller.h b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/src/diff_controller.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/src/diff_controller.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/src/diff_controller.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/src/ros.h b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/src/ros.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/src/ros.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/src/ros.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/src/ros.ino b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/src/ros.ino similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/src/ros.ino rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/src/ros.ino diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/src/user_hooks.h b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/src/user_hooks.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_firmware/src/user_hooks.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_firmware/src/user_hooks.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/CHANGELOG.rst similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/CHANGELOG.rst rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/CHANGELOG.rst diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/msg/Analog.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/msg/Analog.msg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/msg/Analog.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/msg/Analog.msg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/msg/Digital.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/msg/Digital.msg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/msg/Digital.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/msg/Digital.msg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/srv/Enable.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/srv/Enable.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/srv/Enable.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/srv/Enable.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/srv/Relax.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/srv/Relax.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/srv/Relax.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/srv/Relax.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/srv/SetSpeed.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/srv/SetSpeed.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/srv/SetSpeed.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/srv/SetSpeed.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/srv/SetupChannel.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/srv/SetupChannel.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_msgs/srv/SetupChannel.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_msgs/srv/SetupChannel.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/CHANGELOG.rst similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/CHANGELOG.rst rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/CHANGELOG.rst diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_driver b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_driver similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_driver rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_driver diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_gui b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_gui similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_gui rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_gui diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_terminal b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_terminal similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_terminal rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/bin/arbotix_terminal diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/demos/diagnostics.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/demos/diagnostics.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/demos/diagnostics.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/demos/diagnostics.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/mainpage.dox b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/mainpage.dox similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/mainpage.dox rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/mainpage.dox diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/setup.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/setup.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/setup.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/setup.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/__init__.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/__init__.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/__init__.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/arbotix.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/arbotix.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/arbotix.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/arbotix.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/ax12.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/ax12.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/ax12.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/ax12.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/controllers.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/controllers.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/controllers.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/controllers.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/diff_controller.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/diff_controller.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/diff_controller.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/diff_controller.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/follow_controller.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/follow_controller.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/follow_controller.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/follow_controller.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/io.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/io.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/io.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/io.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/joints.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/joints.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/joints.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/joints.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/linear_controller.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/linear_controller.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/linear_controller.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/linear_controller.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/publishers.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/publishers.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/publishers.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/publishers.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/servo_controller.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/servo_controller.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/servo_controller.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_python/src/arbotix_python/servo_controller.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/CHANGELOG.rst similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/CHANGELOG.rst rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/CHANGELOG.rst diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/bin/ir_ranger.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/bin/ir_ranger.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/bin/ir_ranger.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/bin/ir_ranger.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/bin/max_sonar.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/bin/max_sonar.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/bin/max_sonar.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/bin/max_sonar.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/setup.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/setup.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/setup.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/setup.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/src/arbotix_sensors/__init__.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/src/arbotix_sensors/__init__.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/src/arbotix_sensors/__init__.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/src/arbotix_sensors/__init__.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/src/arbotix_sensors/sensors.py b/Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/src/arbotix_sensors/sensors.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/arbotix_ros/arbotix_sensors/src/arbotix_sensors/sensors.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/arbotix_ros/arbotix_sensors/src/arbotix_sensors/sensors.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/common_utils/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/common_utils/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/common_utils/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/common_utils/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/common_utils/include/common_utils/common_utils.h b/Code/MowingRobot/pibot_ros/ros_ws/src/common_utils/include/common_utils/common_utils.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/common_utils/include/common_utils/common_utils.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/common_utils/include/common_utils/common_utils.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/common_utils/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/common_utils/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/common_utils/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/common_utils/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/common_utils/src/common_utils.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/common_utils/src/common_utils.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/common_utils/src/common_utils.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/common_utils/src/common_utils.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/CHANGELOG.rst similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/CHANGELOG.rst rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/CHANGELOG.rst diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/include/imu_complementary_filter/complementary_filter.h b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/include/imu_complementary_filter/complementary_filter.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/include/imu_complementary_filter/complementary_filter.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/include/imu_complementary_filter/complementary_filter.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/include/imu_complementary_filter/complementary_filter_ros.h b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/include/imu_complementary_filter/complementary_filter_ros.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/include/imu_complementary_filter/complementary_filter_ros.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/include/imu_complementary_filter/complementary_filter_ros.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/launch/complementary_filter.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/launch/complementary_filter.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/launch/complementary_filter.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/launch/complementary_filter.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/src/complementary_filter.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/src/complementary_filter.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/src/complementary_filter.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/src/complementary_filter.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/src/complementary_filter_node.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/src/complementary_filter_node.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/src/complementary_filter_node.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/src/complementary_filter_node.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/src/complementary_filter_ros.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/src/complementary_filter_ros.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_complementary_filter/src/complementary_filter_ros.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_complementary_filter/src/complementary_filter_ros.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/README.md b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/README.md rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/README.md diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/cfg/MyStuff.cfg b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/cfg/MyStuff.cfg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/cfg/MyStuff.cfg rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/cfg/MyStuff.cfg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/cfg/MyStuff2.cfg b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/cfg/MyStuff2.cfg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/cfg/MyStuff2.cfg rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/cfg/MyStuff2.cfg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/src/Madgwick_filter.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/src/Madgwick_filter.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/src/Madgwick_filter.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/src/Madgwick_filter.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/src/Mahony_filter.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/src/Mahony_filter.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/src/Mahony_filter.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/src/Mahony_filter.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/src/bias_calculator.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/src/bias_calculator.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter/src/bias_calculator.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter/src/bias_calculator.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/CHANGELOG.rst similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/CHANGELOG.rst rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/CHANGELOG.rst diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/COPYING b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/COPYING similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/COPYING rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/COPYING diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/Makefile b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/Makefile similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/Makefile rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/Makefile diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/cfg/ImuFilterMadgwick.cfg b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/cfg/ImuFilterMadgwick.cfg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/cfg/ImuFilterMadgwick.cfg rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/cfg/ImuFilterMadgwick.cfg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/imu_filter_nodelet.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/imu_filter_nodelet.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/imu_filter_nodelet.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/imu_filter_nodelet.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter.h b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter_nodelet.h b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter_nodelet.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter_nodelet.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter_nodelet.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter_ros.h b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter_ros.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter_ros.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/imu_filter_ros.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/stateless_orientation.h b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/stateless_orientation.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/stateless_orientation.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/stateless_orientation.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/world_frame.h b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/world_frame.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/world_frame.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/include/imu_filter_madgwick/world_frame.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/sample/ardrone_imu.bag b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/sample/ardrone_imu.bag similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/sample/ardrone_imu.bag rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/sample/ardrone_imu.bag diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/sample/phidgets_imu_upside_down.bag b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/sample/phidgets_imu_upside_down.bag similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/sample/phidgets_imu_upside_down.bag rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/sample/phidgets_imu_upside_down.bag diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/sample/sparkfun_razor.bag b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/sample/sparkfun_razor.bag similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/sample/sparkfun_razor.bag rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/sample/sparkfun_razor.bag diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/src/imu_filter.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/src/imu_filter.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/src/imu_filter.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/src/imu_filter.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/src/imu_filter_node.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/src/imu_filter_node.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/src/imu_filter_node.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/src/imu_filter_node.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/src/imu_filter_nodelet.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/src/imu_filter_nodelet.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/src/imu_filter_nodelet.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/src/imu_filter_nodelet.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/src/imu_filter_ros.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/src/imu_filter_ros.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/src/imu_filter_ros.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/src/imu_filter_ros.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/src/stateless_orientation.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/src/stateless_orientation.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/src/stateless_orientation.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/src/stateless_orientation.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/test/madgwick_test.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/test/madgwick_test.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/test/madgwick_test.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/test/madgwick_test.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/test/stateless_orientation_test.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/test/stateless_orientation_test.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/test/stateless_orientation_test.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/test/stateless_orientation_test.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/test/test_helpers.h b/Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/test/test_helpers.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/imu_filter_madgwick/test/test_helpers.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/imu_filter_madgwick/test/test_helpers.h diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning new file mode 160000 index 0000000..d2e9227 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning @@ -0,0 +1 @@ +Subproject commit d2e922718991210048848b6ca06a1c118c96be2e diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/laserscan_to_pointcloud/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/laserscan_to_pointcloud/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/laserscan_to_pointcloud/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/laserscan_to_pointcloud/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/laserscan_to_pointcloud/config/default_scan_shadow_filter.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/laserscan_to_pointcloud/config/default_scan_shadow_filter.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/laserscan_to_pointcloud/config/default_scan_shadow_filter.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/laserscan_to_pointcloud/config/default_scan_shadow_filter.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/laserscan_to_pointcloud/launch/laserscan_to_pointcloud_shadow_filtered.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/laserscan_to_pointcloud/launch/laserscan_to_pointcloud_shadow_filtered.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/laserscan_to_pointcloud/launch/laserscan_to_pointcloud_shadow_filtered.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/laserscan_to_pointcloud/launch/laserscan_to_pointcloud_shadow_filtered.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/laserscan_to_pointcloud/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/laserscan_to_pointcloud/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/laserscan_to_pointcloud/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/laserscan_to_pointcloud/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/laserscan_to_pointcloud/src/laserscan_to_pointcloud.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/laserscan_to_pointcloud/src/laserscan_to_pointcloud.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/laserscan_to_pointcloud/src/laserscan_to_pointcloud.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/laserscan_to_pointcloud/src/laserscan_to_pointcloud.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/cfg/CalibrateAngular.cfg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/cfg/CalibrateAngular.cfg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/cfg/CalibrateAngular.cfg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/cfg/CalibrateAngular.cfg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/cfg/CalibrateLinear.cfg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/cfg/CalibrateLinear.cfg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/cfg/CalibrateLinear.cfg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/cfg/CalibrateLinear.cfg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/include/pibot/msg_definition.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/include/pibot/msg_definition.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/include/pibot/msg_definition.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/include/pibot/msg_definition.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/include/pibot/pibot_facade.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/include/pibot/pibot_facade.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/include/pibot/pibot_facade.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/include/pibot/pibot_facade.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/include/pibot/utils.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/include/pibot/utils.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/include/pibot/utils.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/include/pibot/utils.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/navigation_multi_demo.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/navigation_multi_demo.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/navigation_multi_demo.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/navigation_multi_demo.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/start_amcl.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/start_amcl.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/start_amcl.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/start_amcl.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/start_carto.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/start_carto.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/start_carto.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/start_carto.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/start_carto_without_odom.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/start_carto_without_odom.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/start_carto_without_odom.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/start_carto_without_odom.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/start_gmapping.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/start_gmapping.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/start_gmapping.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/start_gmapping.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/stop_carto.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/stop_carto.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/stop_carto.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/stop_carto.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/stop_gmapping.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/stop_gmapping.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/stop_gmapping.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/stop_gmapping.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/t_cartographer.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/t_cartographer.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/t_cartographer.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/t_cartographer.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/t_cartographer_without_odom.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/t_cartographer_without_odom.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/t_cartographer_without_odom.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/t_cartographer_without_odom.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/t_gmapping.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/t_gmapping.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/launch/t_gmapping.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/launch/t_gmapping.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/calibrate_angular.py b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/calibrate_angular.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/calibrate_angular.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/calibrate_angular.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/calibrate_linear.py b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/calibrate_linear.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/calibrate_linear.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/calibrate_linear.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/get_pos_demo.py b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/get_pos_demo.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/get_pos_demo.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/get_pos_demo.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/killall_carto.sh b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/killall_carto.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/killall_carto.sh rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/killall_carto.sh diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/killall_hector_mapping.sh b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/killall_hector_mapping.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/killall_hector_mapping.sh rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/killall_hector_mapping.sh diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/launch_demo.py b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/launch_demo.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/launch_demo.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/launch_demo.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/marker_server.py b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/marker_server.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/marker_server.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/marker_server.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/navigation_goal.py b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/navigation_goal.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/navigation_goal.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/navigation_goal.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/navigation_multi_goals.py b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/navigation_multi_goals.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/navigation_multi_goals.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/navigation_multi_goals.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/teleop_twist_keyboard.py b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/teleop_twist_keyboard.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/teleop_twist_keyboard.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/teleop_twist_keyboard.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/transform_utils.py b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/transform_utils.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/scripts/transform_utils.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/scripts/transform_utils.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/src/main.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/src/main.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/src/main.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/src/main.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/src/pibot_facade.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot/src/pibot_facade.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot/src/pibot_facade.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot/src/pibot_facade.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/.gitignore b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/.gitignore similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/.gitignore rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/.gitignore diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/calibration/depth_PS1080_PrimeSense.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/calibration/depth_PS1080_PrimeSense.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/calibration/depth_PS1080_PrimeSense.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/calibration/depth_PS1080_PrimeSense.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/calibration/rgb_PS1080_PrimeSense.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/calibration/rgb_PS1080_PrimeSense.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/calibration/rgb_PS1080_PrimeSense.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/calibration/rgb_PS1080_PrimeSense.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/config/astra_camera.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/config/astra_camera.yaml similarity index 96% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/config/astra_camera.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/config/astra_camera.yaml index 1ec970f..ee5d175 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/config/astra_camera.yaml +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/config/astra_camera.yaml @@ -1,27 +1,27 @@ -image_width: 640 -image_height: 480 -camera_name: camera -camera_matrix: - rows: 3 - cols: 3 - data: [577.54679, 0. , 310.24326, - 0. , 578.63325, 253.65539, - 0. , 0. , 1. ] -camera_model: plumb_bob -distortion_model: plumb_bob -distortion_coefficients: - rows: 1 - cols: 5 - data: [0.125197, -0.196591, 0.006816, -0.006225, 0.000000] -rectification_matrix: - rows: 3 - cols: 3 - data: [1., 0., 0., - 0., 1., 0., - 0., 0., 1.] -projection_matrix: - rows: 3 - cols: 4 - data: [590.55457, 0. , 306.57339, 0. , - 0. , 592.83978, 256.43008, 0. , - 0. , 0. , 1. , 0. ] +image_width: 640 +image_height: 480 +camera_name: camera +camera_matrix: + rows: 3 + cols: 3 + data: [577.54679, 0. , 310.24326, + 0. , 578.63325, 253.65539, + 0. , 0. , 1. ] +camera_model: plumb_bob +distortion_model: plumb_bob +distortion_coefficients: + rows: 1 + cols: 5 + data: [0.125197, -0.196591, 0.006816, -0.006225, 0.000000] +rectification_matrix: + rows: 3 + cols: 3 + data: [1., 0., 0., + 0., 1., 0., + 0., 0., 1.] +projection_matrix: + rows: 3 + cols: 4 + data: [590.55457, 0. , 306.57339, 0. , + 0. , 592.83978, 256.43008, 0. , + 0. , 0. , 1. , 0. ] diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/config/astra_depth.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/config/astra_depth.yaml similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/config/astra_depth.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/config/astra_depth.yaml index 9ff93fb..277e4ad 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/config/astra_depth.yaml +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/config/astra_depth.yaml @@ -1,20 +1,20 @@ -image_width: 640 -image_height: 480 -camera_name: depth_Astra_Orbbec -camera_matrix: - rows: 3 - cols: 3 - data: [582.795354, 0.000000, 326.415982, 0.000000, 584.395006, 249.989410, 0.000000, 0.000000, 1.000000] -distortion_model: plumb_bob -distortion_coefficients: - rows: 1 - cols: 5 - data: [-0.068613, 0.174404, 0.001015, 0.006240, 0.000000] -rectification_matrix: - rows: 3 - cols: 3 - data: [1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000] -projection_matrix: - rows: 3 - cols: 4 - data: [586.186035, 0.000000, 329.702427, 0.000000, 0.000000, 590.631409, 250.167765, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] +image_width: 640 +image_height: 480 +camera_name: depth_Astra_Orbbec +camera_matrix: + rows: 3 + cols: 3 + data: [582.795354, 0.000000, 326.415982, 0.000000, 584.395006, 249.989410, 0.000000, 0.000000, 1.000000] +distortion_model: plumb_bob +distortion_coefficients: + rows: 1 + cols: 5 + data: [-0.068613, 0.174404, 0.001015, 0.006240, 0.000000] +rectification_matrix: + rows: 3 + cols: 3 + data: [1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000] +projection_matrix: + rows: 3 + cols: 4 + data: [586.186035, 0.000000, 329.702427, 0.000000, 0.000000, 590.631409, 250.167765, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000] diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/launch/astra.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/launch/astra.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/launch/astra.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/launch/astra.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/launch/d435i.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/launch/d435i.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/launch/d435i.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/launch/d435i.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/launch/kinectV1.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/launch/kinectV1.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/launch/kinectV1.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/launch/kinectV1.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/launch/xtion.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/launch/xtion.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/launch/xtion.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/launch/xtion.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_3dsensor/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_3dsensor/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/cfg/pibot_parameter.cfg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/cfg/pibot_parameter.cfg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/cfg/pibot_parameter.cfg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/cfg/pibot_parameter.cfg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/config/joystick-holonomic.config.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/config/joystick-holonomic.config.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/config/joystick-holonomic.config.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/config/joystick-holonomic.config.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/config/joystick.config.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/config/joystick.config.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/config/joystick.config.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/config/joystick.config.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/base_driver.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/base_driver.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/base_driver.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/base_driver.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/base_driver_config.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/base_driver_config.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/base_driver_config.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/base_driver_config.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/data_holder.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/data_holder.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/data_holder.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/data_holder.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/dataframe.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/dataframe.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/dataframe.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/dataframe.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/queue.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/queue.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/queue.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/queue.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/serial_transport.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/serial_transport.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/serial_transport.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/serial_transport.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/serial_transport2.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/serial_transport2.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/serial_transport2.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/serial_transport2.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe_master.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe_master.h similarity index 95% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe_master.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe_master.h index 60e935d..6c92fb5 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe_master.h +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/simple_dataframe_master.h @@ -1,32 +1,32 @@ -#ifndef PIBOT_SIMPLE_DATAFRAME_MASTER_H_ -#define PIBOT_SIMPLE_DATAFRAME_MASTER_H_ - -#include "simple_dataframe.h" -#include - -class Transport; -class Simple_dataframe : public Dataframe -{ -public: - Simple_dataframe(Transport* trans=0); - ~Simple_dataframe(); - void register_notify(const MESSAGE_ID id, Notify* _nf) { - } - - bool data_recv(unsigned char c); - bool data_parse(); - bool init(); - bool interact(const MESSAGE_ID id); -private: - bool recv_proc(); -private: - bool send_message(const MESSAGE_ID id); - bool send_message(const MESSAGE_ID id, unsigned char* data, unsigned char len); - bool send_message(Message* msg); -private: - Message active_rx_msg; - - RECEIVE_STATE recv_state; - Transport* trans; -}; +#ifndef PIBOT_SIMPLE_DATAFRAME_MASTER_H_ +#define PIBOT_SIMPLE_DATAFRAME_MASTER_H_ + +#include "simple_dataframe.h" +#include + +class Transport; +class Simple_dataframe : public Dataframe +{ +public: + Simple_dataframe(Transport* trans=0); + ~Simple_dataframe(); + void register_notify(const MESSAGE_ID id, Notify* _nf) { + } + + bool data_recv(unsigned char c); + bool data_parse(); + bool init(); + bool interact(const MESSAGE_ID id); +private: + bool recv_proc(); +private: + bool send_message(const MESSAGE_ID id); + bool send_message(const MESSAGE_ID id, unsigned char* data, unsigned char len); + bool send_message(Message* msg); +private: + Message active_rx_msg; + + RECEIVE_STATE recv_state; + Transport* trans; +}; #endif \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/transport.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/transport.h similarity index 94% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/transport.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/transport.h index 495fd2e..f136984 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/transport.h +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/transport.h @@ -1,30 +1,30 @@ -#ifndef TRANSPORT_H_ -#define TRANSPORT_H_ - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -typedef std::vector Buffer; - -class Transport -{ -public: - virtual ~Transport(){} - virtual bool init()=0; - virtual void set_timeout(int t)=0; - virtual bool is_timeout()=0; - virtual Buffer read() = 0; - - virtual void write(Buffer &data) = 0; -}; - - - -#endif /* TRANSPORT_BASE_H_ */ +#ifndef TRANSPORT_H_ +#define TRANSPORT_H_ + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +typedef std::vector Buffer; + +class Transport +{ +public: + virtual ~Transport(){} + virtual bool init()=0; + virtual void set_timeout(int t)=0; + virtual bool is_timeout()=0; + virtual Buffer read() = 0; + + virtual void write(Buffer &data) = 0; +}; + + + +#endif /* TRANSPORT_BASE_H_ */ diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/variable_queue.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/variable_queue.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/include/pibot_bringup/variable_queue.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/include/pibot_bringup/variable_queue.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/apollo_bringup_smoother.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/apollo_bringup_smoother.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/apollo_bringup_smoother.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/apollo_bringup_smoother.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/bringup.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/bringup.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/bringup.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/bringup.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/bringup_with_imu.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/bringup_with_imu.launch similarity index 78% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/bringup_with_imu.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/bringup_with_imu.launch index 1899147..43eb274 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/bringup_with_imu.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/bringup_with_imu.launch @@ -1,9 +1,3 @@ - @@ -25,13 +19,7 @@ - - + imu/accelerometer_bias: {x: 0.005436, y: 0.014684, z: -0.395418} @@ -48,10 +36,12 @@ - + + + + - + @@ -73,22 +63,16 @@ - - + - + - diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/joystick.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/joystick.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/joystick.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/joystick.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/keyboard_teleop.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/keyboard_teleop.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/keyboard_teleop.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/keyboard_teleop.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/model.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/model.launch similarity index 88% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/model.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/model.launch index c38414c..7c7cb93 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/model.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/model.launch @@ -1,12 +1,10 @@ + - - + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/robot.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/robot.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/robot.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/robot.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/usb_camera.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/usb_camera.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/usb_camera.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/usb_camera.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/usb_camera_old.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/usb_camera_old.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/usb_camera_old.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/usb_camera_old.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/view_model.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/view_model.launch similarity index 94% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/view_model.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/view_model.launch index 916352f..e23818b 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/launch/view_model.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/launch/view_model.launch @@ -1,7 +1,7 @@ - - - + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/scripts/odom_ekf.py b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/scripts/odom_ekf.py old mode 100644 new mode 100755 similarity index 79% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/scripts/odom_ekf.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/scripts/odom_ekf.py index 938dafd..9db038d --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/scripts/odom_ekf.py +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/scripts/odom_ekf.py @@ -8,6 +8,19 @@ Created for the Pi Robot Project: http://www.pirobot.org Copyright (c) 2012 Patrick Goebel. All rights reserved. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version.5 + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details at: + + http://www.gnu.org/licenses/gpl.html + """ import rospy diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/base_driver.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/base_driver.cpp similarity index 93% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/base_driver.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/base_driver.cpp index 8366987..c01808e 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/base_driver.cpp +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/base_driver.cpp @@ -66,7 +66,7 @@ void BaseDriver::init_cmd_odom() frame->interact(ID_INIT_ODOM); ROS_INFO_STREAM("subscribe cmd topic on [" << bdg.cmd_vel_topic << "]"); - cmd_vel_sub = nh.subscribe(bdg.cmd_vel_topic, 1000, &BaseDriver::cmd_vel_callback, this); + cmd_vel_sub = nh.subscribe(bdg.cmd_vel_topic, 1, &BaseDriver::cmd_vel_callback, this); ROS_INFO_STREAM("advertise odom topic on [" << bdg.odom_topic << "]"); odom_pub = nh.advertise(bdg.odom_topic, 50); @@ -114,14 +114,6 @@ void BaseDriver::init_pid_debug() } } -/**---------------------------------------------------------------------- -* Function : init_imu -* Description : 初始化IMU,创建话题raw_imu,设置50个缓存的队列大小, raw_imu - 会在pibot_imu里面做校准处理然后发布为imu/data_raw提供给ROS - 中的其他节点使用 -* Author : pibot -* Review : 2023/04/22 zhanli,Add Description. -*---------------------------------------------------------------------**/ void BaseDriver::init_imu() { raw_imu_pub = nh.advertise("raw_imu", 50); diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/base_driver_config.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/base_driver_config.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/base_driver_config.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/base_driver_config.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/data_holder.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/data_holder.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/data_holder.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/data_holder.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/main.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/main.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/main.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/main.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/serial_transport.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/serial_transport.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/serial_transport.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/serial_transport.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/serial_transport2.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/serial_transport2.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/serial_transport2.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/serial_transport2.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/simple_dataframe_master.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/simple_dataframe_master.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_bringup/src/simple_dataframe_master.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/simple_dataframe_master.cpp diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/uwb.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/uwb.cpp new file mode 100644 index 0000000..70dd2c7 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_bringup/src/uwb.cpp @@ -0,0 +1,101 @@ +#include +#include //ROS已经内置了的串口包 +#include +#include +#include +#include + +serial::Serial ser; //声明串口对象 +float uwb_x; +float uwb_y; + +char data_string[2][7];//字符串形式存串口读取的x,y 在用函数转为浮点型数据 +int main (int argc, char** argv) +{ + //初始化节点 + ros::init(argc, argv, "uwb_serial"); + //声明节点句柄 + ros::NodeHandle nh; + //发布UWB话题 + ros::Publisher uwb_publisher = nh.advertise("/uwb/data", 10); + + try + { + //设置串口属性,并打开串口 + ser.setPort("/dev/ttyS1"); + ser.setBaudrate(115200); + serial::Timeout to = serial::Timeout::simpleTimeout(1000); + ser.setTimeout(to); + ser.open(); + } + catch (serial::IOException& e) + { + ROS_ERROR_STREAM("Unable to open port "); + return -1; + } + //检测串口是否已经打开,并给出提示信息 + if(ser.isOpen()) + { + ROS_INFO_STREAM("Serial Port initialized"); + } + else + { + return -1; + } + + //指定循环的频率 + ros::Rate loop_rate(100); + + //处理从串口来的uwb数据 + while(ros::ok()) + { + //串口缓存字符数 + size_t n = ser.available(); + if(n != 0) + { + uint8_t tmpdata[30]; + ser.read(tmpdata,n);//tmpdata 参数缓存 data_size 数据长度 + //读取uwb的x,y + for (int i = 0,j =0; i< n; i++) + { + j=0; + if(tmpdata[i]=='x') + { + i++;//去掉首字母 + while(tmpdata[i]!=',') + { + data_string[0][j]=tmpdata[i]; + i++; + j++; + } + } + if(tmpdata[i]=='y') + { + i++;//去掉首字母 + while(tmpdata[i]!=',') + { + data_string[1][j]=tmpdata[i]; + i++; + j++; + } + } + } + } + //把字符串转化为浮点数 + uwb_x = atof(data_string[0])/100.0;//x + uwb_y = atof(data_string[1])/100.0;//y + + aimibot::Uwb uwb_data; + uwb_data.uwb_x = uwb_x; + uwb_data.uwb_y = uwb_y; + uwb_publisher.publish(uwb_data); + + //处理ROS的信息,比如订阅消息,并调用回调函数 + ros::spinOnce(); + loop_rate.sleep(); + } + //关闭串口 + ser.close(); + return 0; +} + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/launch/demo_urdf.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/launch/demo_urdf.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/launch/demo_urdf.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/launch/demo_urdf.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/launch/gazebo.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/launch/gazebo.launch similarity index 95% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/launch/gazebo.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/launch/gazebo.launch index 89fbc55..5d2b734 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/launch/gazebo.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/launch/gazebo.launch @@ -1,20 +1,20 @@ - - - - - + + + + + \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/manifest.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/manifest.xml similarity index 91% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/manifest.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/manifest.xml index 4c16984..cfa06c4 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/manifest.xml +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/manifest.xml @@ -1,6 +1,6 @@ - - pi_bot.SLDASM - - me - BSD + + pi_bot.SLDASM + + me + BSD \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/base/apolloX_base.stl b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/base/apolloX_base.stl similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/base/apolloX_base.stl rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/base/apolloX_base.stl diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/base/apollo_base.stl b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/base/apollo_base.stl similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/base/apollo_base.stl rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/base/apollo_base.stl diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/base/hades_base.stl b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/base/hades_base.stl similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/base/hades_base.stl rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/base/hades_base.stl diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/base/hera_base.stl b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/base/hera_base.stl similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/base/hera_base.stl rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/base/hera_base.stl diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/base/zeus_base.stl b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/base/zeus_base.stl similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/base/zeus_base.stl rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/base/zeus_base.stl diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/astra.dae b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/astra.dae similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/astra.dae rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/astra.dae diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/astra.jpg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/astra.jpg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/astra.jpg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/astra.jpg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/d435i.dae b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/d435i.dae similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/d435i.dae rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/d435i.dae diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/rplidar.dae b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/rplidar.dae similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/rplidar.dae rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/rplidar.dae diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/xtion.dae b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/xtion.dae similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/xtion.dae rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/xtion.dae diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/xtion.jpg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/xtion.jpg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/meshes/sensor/xtion.jpg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/meshes/sensor/xtion.jpg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf.rviz b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf.rviz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf.rviz rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf.rviz diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/accessories/camera.urdf.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/accessories/camera.urdf.xacro similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/accessories/camera.urdf.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/accessories/camera.urdf.xacro diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/accessories/lidar.urdf.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/accessories/lidar.urdf.xacro similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/accessories/lidar.urdf.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/accessories/lidar.urdf.xacro diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/apollo.urdf.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/apollo.urdf.xacro similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/apollo.urdf.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/apollo.urdf.xacro index 013c2d5..a1de043 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/apollo.urdf.xacro +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/apollo.urdf.xacro @@ -1,58 +1,58 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/apolloX.urdf.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/apolloX.urdf.xacro similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/apolloX.urdf.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/apolloX.urdf.xacro index fc38261..c22ec97 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/apolloX.urdf.xacro +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/apolloX.urdf.xacro @@ -1,67 +1,67 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/components/pibot_board.urdf.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/components/pibot_board.urdf.xacro similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/components/pibot_board.urdf.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/components/pibot_board.urdf.xacro diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/components/pibot_pillar.urdf.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/components/pibot_pillar.urdf.xacro similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/components/pibot_pillar.urdf.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/components/pibot_pillar.urdf.xacro diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/components/pibot_properties.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/components/pibot_properties.xacro similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/components/pibot_properties.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/components/pibot_properties.xacro diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/demo_urdf.urdf b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/demo_urdf.urdf similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/demo_urdf.urdf rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/demo_urdf.urdf diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/hades.urdf.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/hades.urdf.xacro similarity index 96% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/hades.urdf.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/hades.urdf.xacro index 33c1030..ec7a2d8 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/hades.urdf.xacro +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/hades.urdf.xacro @@ -1,46 +1,46 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/hera.urdf.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/hera.urdf.xacro similarity index 96% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/hera.urdf.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/hera.urdf.xacro index 4c64e41..2e61cde 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/hera.urdf.xacro +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/hera.urdf.xacro @@ -1,46 +1,46 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/pibot.urdf.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/pibot.urdf.xacro similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/pibot.urdf.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/pibot.urdf.xacro index 96177e1..109bf6f 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/pibot.urdf.xacro +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/pibot.urdf.xacro @@ -1,39 +1,39 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/pibot.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/pibot.xacro similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/pibot.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/pibot.xacro diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/zeus.urdf.xacro b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/zeus.urdf.xacro similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/zeus.urdf.xacro rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/zeus.urdf.xacro index 1adb1b7..ad10ca2 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_description/urdf/zeus.urdf.xacro +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_description/urdf/zeus.urdf.xacro @@ -1,46 +1,46 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/include/pibot_imu/pibot_imu.h b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/include/pibot_imu/pibot_imu.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/include/pibot_imu/pibot_imu.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/include/pibot_imu/pibot_imu.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/launch/imu_ahrs.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/launch/imu_ahrs.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/launch/imu_ahrs.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/launch/imu_ahrs.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/scripts/simple_magnometer_calibration b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/scripts/simple_magnometer_calibration similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/scripts/simple_magnometer_calibration rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/scripts/simple_magnometer_calibration diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/src/pibot_imu.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/src/pibot_imu.cpp similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/src/pibot_imu.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/src/pibot_imu.cpp index 109af78..46b07a6 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_imu/src/pibot_imu.cpp +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/src/pibot_imu.cpp @@ -1,8 +1,5 @@ #include "pibot_imu/pibot_imu.h" - - -// 订阅节点: raw_imu 这个话题是 PibotIMU::PibotIMU(ros::NodeHandle nh, ros::NodeHandle pnh): // Members default values nh_(nh), @@ -19,12 +16,9 @@ PibotIMU::PibotIMU(ros::NodeHandle nh, ros::NodeHandle pnh): pnh_.param("imu/use_magnetometer", use_magnetometer_, use_magnetometer_); pnh_.param("imu/perform_calibration", perform_calibration_, perform_calibration_); - // 功能2 :原始IMU的减零偏操作 // 订阅pibot_driver串口读取原始imu数据 - // 当raw_imu有数据时会调用rawCallback raw_sub_ = nh_.subscribe("raw_imu", 5, &PibotIMU::rawCallback, this); - // 功能3 :接收IMU校准服务的校准请求 // 创建一个服务,用于接收运行中的校准请求, 可以rosservice命令查看 imu_cal_srv_ = nh_.advertiseService("imu/calibrate_imu", &PibotIMU::calibrateCallback, this); @@ -101,7 +95,6 @@ void PibotIMU::rawCallback(const pibot_msgs::RawImuConstPtr& raw_msg) static int taken_samples; - // 功能1: 静态零偏校准 if (taken_samples < calibration_samples_) { acceleration_bias_["x"] += raw_msg->raw_linear_acceleration.x; acceleration_bias_["y"] += raw_msg->raw_linear_acceleration.y; @@ -147,7 +140,6 @@ void PibotIMU::rawCallback(const pibot_msgs::RawImuConstPtr& raw_msg) imu_msg->linear_acceleration.y = raw_msg->raw_linear_acceleration.y - acceleration_bias_["y"]; imu_msg->linear_acceleration.z = raw_msg->raw_linear_acceleration.z - acceleration_bias_["z"]; imu_msg->linear_acceleration_covariance = linear_acc_covar_; - imu_pub_.publish(imu_msg); } diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/src/pibot_imu_node.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/src/pibot_imu_node.cpp new file mode 100644 index 0000000..27e564d --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_imu/src/pibot_imu_node.cpp @@ -0,0 +1,12 @@ +#include "pibot_imu/pibot_imu.h" + +int main(int argc, char **argv) +{ + ros::init(argc, argv, "pibot_imu"); + ros::NodeHandle nh, pnh("~"); + PibotIMU pibot_imu(nh, pnh); + + ros::spin(); + + return 0; +} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/astra.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/astra.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/astra.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/astra.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/astra_pro.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/astra_pro.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/astra_pro.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/astra_pro.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/eai-g4.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/eai-g4.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/eai-g4.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/eai-g4.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/eai-x4.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/eai-x4.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/eai-x4.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/eai-x4.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/kinectV1.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/kinectV1.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/kinectV1.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/kinectV1.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/kinectV2.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/kinectV2.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/kinectV2.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/kinectV2.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/rplidar-a2m7.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/rplidar-a2m7.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/rplidar-a2m7.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/rplidar-a2m7.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/rplidar-a3.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/rplidar-a3.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/rplidar-a3.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/rplidar-a3.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/rplidar-s1.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/rplidar-s1.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/rplidar-s1.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/rplidar-s1.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/rplidar.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/rplidar.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/rplidar.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/rplidar.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/xtion.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/xtion.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/launch/xtion.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/launch/xtion.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_lidar/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_lidar/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/Action.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/Action.msg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/Action.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/Action.msg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/NaviStatus.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/NaviStatus.msg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/NaviStatus.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/NaviStatus.msg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/PointArray.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/PointArray.msg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/PointArray.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/PointArray.msg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/Pose.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/Pose.msg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/Pose.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/Pose.msg diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/msg/RawImu.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/RawImu.msg similarity index 100% rename from Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/msg/RawImu.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/RawImu.msg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/RelocateResult.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/RelocateResult.msg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/RelocateResult.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/RelocateResult.msg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/RobotState.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/RobotState.msg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/msg/RobotState.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/msg/RobotState.msg diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/ActionParams.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/ActionParams.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/ActionParams.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/ActionParams.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/ManualLocation.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/ManualLocation.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/ManualLocation.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/ManualLocation.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/MappingParams.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/MappingParams.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/MappingParams.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/MappingParams.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/NaviParams.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/NaviParams.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/NaviParams.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/NaviParams.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/Relocation.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/Relocation.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/Relocation.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/Relocation.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/SetMapParams.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/SetMapParams.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/SetMapParams.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/SetMapParams.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/SetPoseParams.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/SetPoseParams.srv similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_msgs/srv/SetPoseParams.srv rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_msgs/srv/SetPoseParams.srv diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/config/frontier_exploration.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/config/frontier_exploration.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/config/frontier_exploration.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/config/frontier_exploration.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2.lua b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2.lua similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2.lua rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2.lua diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2_odom.lua b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2_odom.lua similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2_odom.lua rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2_odom.lua diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2_odom_imu.lua b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2_odom_imu.lua similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2_odom_imu.lua rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v0.2_odom_imu.lua diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0.lua b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0.lua similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0.lua rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0.lua diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0_odom.lua b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0_odom.lua similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0_odom.lua rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0_odom.lua diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0_odom_imu.lua b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0_odom_imu.lua similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0_odom_imu.lua rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/configuration_files/lidar_2d_v1.0_odom_imu.lua diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/cartographer.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/cartographer.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/cartographer.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/cartographer.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/cartographer_with_odom.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/cartographer_with_odom.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/cartographer_with_odom.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/cartographer_with_odom.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/depth_camera_gmapping.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/depth_camera_gmapping.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/depth_camera_gmapping.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/depth_camera_gmapping.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/depth_camera_nav.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/depth_camera_nav.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/depth_camera_nav.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/depth_camera_nav.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/frontier_exploration.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/frontier_exploration.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/frontier_exploration.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/frontier_exploration.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/gmapping.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/gmapping.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/gmapping.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/gmapping.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/hector_mapping.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/hector_mapping.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/hector_mapping.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/hector_mapping.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/hector_mapping_without_odom.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/hector_mapping_without_odom.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/hector_mapping_without_odom.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/hector_mapping_without_odom.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/amcl.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/amcl.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/amcl.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/amcl.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/geotiff_mapper.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/geotiff_mapper.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/geotiff_mapper.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/geotiff_mapper.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/gmapping.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/gmapping.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/gmapping.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/gmapping.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/hector_imu_attitude_to_tf.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/hector_imu_attitude_to_tf.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/hector_imu_attitude_to_tf.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/hector_imu_attitude_to_tf.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/hector_mapping.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/hector_mapping.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/hector_mapping.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/hector_mapping.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/hector_mapping_without_odom.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/hector_mapping_without_odom.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/hector_mapping_without_odom.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/hector_mapping_without_odom.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/karto_mapping.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/karto_mapping.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/karto_mapping.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/karto_mapping.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/move_base.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/move_base.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/move_base.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/move_base.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/rgbd_amcl.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/rgbd_amcl.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/rgbd_amcl.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/rgbd_amcl.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/rgbd_gmapping.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/rgbd_gmapping.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/rgbd_gmapping.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/rgbd_gmapping.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/rgbd_move_base.launch.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/rgbd_move_base.launch.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/include/rgbd_move_base.launch.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/include/rgbd_move_base.launch.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/karto_slam.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/karto_slam.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/karto_slam.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/karto_slam.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/nav.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/nav.launch similarity index 92% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/nav.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/nav.launch index 7b16655..e9faaac 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/nav.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/nav.launch @@ -7,7 +7,7 @@ - + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/save_map.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/save_map.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/save_map.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/save_map.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/view_cartographer.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/view_cartographer.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/view_cartographer.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/view_cartographer.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/view_nav.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/view_nav.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/launch/view_nav.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/launch/view_nav.launch diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/160.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/160.yaml new file mode 100644 index 0000000..deaf5ee --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/160.yaml @@ -0,0 +1,7 @@ +image: 160_160.png +resolution: 0.050000 +origin: [-10.000000, -10.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/160_160.png b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/160_160.png similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/160_160.png rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/160_160.png diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/400_400.png b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/400_400.png similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/400_400.png rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/400_400.png diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/9.png b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/9.png new file mode 100644 index 0000000..99fcce4 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/9.png @@ -0,0 +1,4 @@ +P5 +400 400 +255 + \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/9.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/9.yaml new file mode 100644 index 0000000..a5a03fa --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/9.yaml @@ -0,0 +1,7 @@ +image: test1.png +resolution: 0.050000 +origin: [-10.000000, -10.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/a.pgm b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/a.pgm new file mode 100644 index 0000000..feadafe --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/a.pgm @@ -0,0 +1,5 @@ +P5 +# CREATOR: map_saver.cpp 0.050 m/pix +1984 1984 +255 + \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/a.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/a.yaml new file mode 100644 index 0000000..fa610f6 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/a.yaml @@ -0,0 +1,7 @@ +image: a.pgm +resolution: 0.050000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/maps/blank.pgm b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/blank.pgm similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/maps/blank.pgm rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/blank.pgm diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/maps/blank.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/blank.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/maps/blank.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/blank.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/maps/my_lab.pgm b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/my_lab.pgm similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/maps/my_lab.pgm rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/my_lab.pgm diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/maps/my_lab.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/my_lab.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/maps/my_lab.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/my_lab.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.pgm b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/sim.pgm similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.pgm rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/sim.pgm diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/sim.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/sim.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/test1.png b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/test1.png similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/test1.png rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/maps/test1.png diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_apollo.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_apollo.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_apollo.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_apollo.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_apolloX.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_apolloX.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_apolloX.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_apolloX.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_apolloXL.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_apolloXL.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_apolloXL.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_apolloXL.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_hades.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_hades.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_hades.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_hades.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_hadesX.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_hadesX.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_hadesX.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_hadesX.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_hera.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_hera.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_hera.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_hera.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_zeus.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_zeus.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/costmap_common_params_zeus.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/costmap_common_params_zeus.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apollo.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apollo.yaml similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apollo.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apollo.yaml index 3313f0c..f10afd8 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apollo.yaml +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apollo.yaml @@ -1,8 +1,10 @@ DWAPlannerROS: # Robot Configuration Parameters - Kobuki - max_vel_x: 0.1 - min_vel_x: -0.1 + max_vel_x: 0.2 + # min_vel_x: -0.35 + min_vel_x: 0 + max_vel_y: 0 min_vel_y: 0 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apolloX.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apolloX.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apolloX.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apolloX.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apolloXL.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apolloXL.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apolloXL.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_apolloXL.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hades.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hades.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hades.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hades.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hadesX.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hadesX.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hadesX.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hadesX.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hera.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hera.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hera.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_hera.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_zeus.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_zeus.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_zeus.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/dwa_local_planner_params_zeus.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/global_costmap_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/global_costmap_params.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/global_costmap_params.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/global_costmap_params.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/global_planner_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/global_planner_params.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/global_planner_params.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/global_planner_params.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/local_costmap_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/local_costmap_params.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/local_costmap_params.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/local_costmap_params.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/move_base_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/move_base_params.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/params/move_base_params.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/params/move_base_params.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/rviz/demo_2d.rviz b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/rviz/demo_2d.rviz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/rviz/demo_2d.rviz rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/rviz/demo_2d.rviz diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/rviz/new.rviz b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/rviz/new.rviz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/rviz/new.rviz rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/rviz/new.rviz diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/rviz/view_navigation.rviz b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/rviz/view_navigation.rviz similarity index 70% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/rviz/view_navigation.rviz rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/rviz/view_navigation.rviz index f7fb909..938a4ce 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_navigation/rviz/view_navigation.rviz +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_navigation/rviz/view_navigation.rviz @@ -4,14 +4,16 @@ Panels: Name: Displays Property Tree Widget: Expanded: + - /Status1 + - /Grid1 - /RobotModel1 - /TF1/Frames1 - /TF1/Tree1 + - /Map1 - /Global Map1/Planner1 - /Local Map1/Planner1 - - /Odometry1 Splitter Ratio: 0.5 - Tree Height: 481 + Tree Height: 441 - Class: rviz/Selection Name: Selection - Class: rviz/Tool Properties @@ -20,17 +22,20 @@ Panels: - /2D Nav Goal1 - /Publish Point1 Name: Tool Properties - Splitter Ratio: 0.588679016 + Splitter Ratio: 0.5886790156364441 - Class: rviz/Views Expanded: - /Current View1 Name: Views Splitter Ratio: 0.5 - Class: rviz/Time - Experimental: false Name: Time SyncMode: 0 - SyncSource: LaserScan + SyncSource: "" +Preferences: + PromptSaveOnExit: true +Toolbars: + toolButtonStyle: 2 Visualization Manager: Class: "" Displays: @@ -40,7 +45,7 @@ Visualization Manager: Color: 160; 160; 164 Enabled: true Line Style: - Line Width: 0.0299999993 + Line Width: 0.029999999329447746 Value: Lines Name: Grid Normal Cell Count: 0 @@ -50,7 +55,7 @@ Visualization Manager: Z: 0 Plane: XY Plane Cell Count: 10 - Reference Frame: + Reference Frame: map Value: true - Alpha: 1 Class: rviz/RobotModel @@ -62,12 +67,11 @@ Visualization Manager: Expand Link Details: false Expand Tree: false Link Tree Style: Links in Alphabetic Order - base_link: + base_footprint: Alpha: 1 Show Axes: false Show Trail: false - Value: true - laser_link: + base_link: Alpha: 1 Show Axes: false Show Trail: false @@ -79,19 +83,38 @@ Visualization Manager: Value: true Visual Enabled: true - Class: rviz/TF - Enabled: false + Enabled: true + Filter (blacklist): "" + Filter (whitelist): "" Frame Timeout: 15 Frames: All Enabled: false + base_footprint: + Value: true + base_link: + Value: true + imu_link: + Value: true + map: + Value: true + odom: + Value: true + Marker Alpha: 1 Marker Scale: 1 Name: TF Show Arrows: true Show Axes: true Show Names: false Tree: - {} + map: + odom: + base_link: + base_footprint: + {} + imu_link: + {} Update Interval: 0 - Value: false + Value: true - Alpha: 1 Autocompute Intensity Bounds: true Autocompute Value Bounds: @@ -107,15 +130,13 @@ Visualization Manager: Enabled: true Invert Rainbow: false Max Color: 255; 255; 255 - Max Intensity: 47 Min Color: 0; 0; 0 - Min Intensity: 47 Name: LaserScan Position Transformer: XYZ Queue Size: 10 Selectable: true Size (Pixels): 3 - Size (m): 0.0500000007 + Size (m): 0.05000000074505806 Style: Squares Topic: /scan Unreliable: false @@ -137,22 +158,20 @@ Visualization Manager: Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 - Max Intensity: 4096 Min Color: 0; 0; 0 - Min Intensity: 0 Name: Bumper Hit Position Transformer: XYZ Queue Size: 10 Selectable: true Size (Pixels): 3 - Size (m): 0.0799999982 + Size (m): 0.07999999821186066 Style: Spheres Topic: /mobile_base/sensors/bumper_pointcloud Unreliable: false Use Fixed Frame: true Use rainbow: true Value: false - - Alpha: 0.699999988 + - Alpha: 0.699999988079071 Class: rviz/Map Color Scheme: map Draw Behind: false @@ -164,7 +183,7 @@ Visualization Manager: Value: true - Class: rviz/Group Displays: - - Alpha: 0.699999988 + - Alpha: 0.699999988079071 Class: rviz/Map Color Scheme: costmap Draw Behind: true @@ -179,11 +198,11 @@ Visualization Manager: Class: rviz/Path Color: 255; 0; 0 Enabled: true - Head Diameter: 0.300000012 - Head Length: 0.200000003 - Length: 0.300000012 + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 Line Style: Lines - Line Width: 0.0299999993 + Line Width: 0.029999999329447746 Name: Planner Offset: X: 0 @@ -191,9 +210,10 @@ Visualization Manager: Z: 0 Pose Color: 255; 85; 255 Pose Style: None - Radius: 0.0299999993 - Shaft Diameter: 0.100000001 - Shaft Length: 0.100000001 + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 Topic: /move_base/DWAPlannerROS/global_plan Unreliable: false Value: true @@ -201,7 +221,7 @@ Visualization Manager: Name: Global Map - Class: rviz/Group Displays: - - Alpha: 0.699999988 + - Alpha: 0.699999988079071 Class: rviz/Map Color Scheme: costmap Draw Behind: false @@ -216,11 +236,11 @@ Visualization Manager: Class: rviz/Path Color: 0; 12; 255 Enabled: true - Head Diameter: 0.300000012 - Head Length: 0.200000003 - Length: 0.300000012 + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 Line Style: Lines - Line Width: 0.0299999993 + Line Width: 0.029999999329447746 Name: Planner Offset: X: 0 @@ -228,13 +248,14 @@ Visualization Manager: Z: 0 Pose Color: 255; 85; 255 Pose Style: None - Radius: 0.0299999993 - Shaft Diameter: 0.100000001 - Shaft Length: 0.100000001 + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 Topic: /move_base/DWAPlannerROS/local_plan Unreliable: false Value: true - - Alpha: 0.800000012 + - Alpha: 0.800000011920929 Autocompute Intensity Bounds: true Autocompute Value Bounds: Max Value: 10 @@ -249,15 +270,13 @@ Visualization Manager: Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 - Max Intensity: 291.600006 Min Color: 0; 0; 0 - Min Intensity: 65.5999985 Name: Cost Cloud Position Transformer: XYZ Queue Size: 10 Selectable: true Size (Pixels): 3 - Size (m): 0.0399999991 + Size (m): 0.03999999910593033 Style: Flat Squares Topic: /move_base/DWAPlannerROS/cost_cloud Unreliable: false @@ -279,15 +298,13 @@ Visualization Manager: Enabled: false Invert Rainbow: false Max Color: 255; 255; 255 - Max Intensity: 3845.65991 Min Color: 0; 0; 0 - Min Intensity: 5.65999985 Name: Trajectory Cloud Position Transformer: XYZ Queue Size: 10 Selectable: true Size (Pixels): 3 - Size (m): 0.0399999991 + Size (m): 0.03999999910593033 Style: Flat Squares Topic: /move_base/DWAPlannerROS/trajectory_cloud Unreliable: false @@ -297,17 +314,18 @@ Visualization Manager: Enabled: true Name: Local Map - Alpha: 1 - Arrow Length: 0.200000003 - Axes Length: 0.300000012 - Axes Radius: 0.00999999978 + Arrow Length: 0.20000000298023224 + Axes Length: 0.30000001192092896 + Axes Radius: 0.009999999776482582 Class: rviz/PoseArray Color: 0; 192; 0 Enabled: false - Head Length: 0.0700000003 - Head Radius: 0.0299999993 + Head Length: 0.07000000029802322 + Head Radius: 0.029999999329447746 Name: Amcl Particle Swarm - Shaft Length: 0.230000004 - Shaft Radius: 0.00999999978 + Queue Size: 10 + Shaft Length: 0.23000000417232513 + Shaft Radius: 0.009999999776482582 Shape: Arrow (Flat) Topic: /particlecloud Unreliable: false @@ -317,11 +335,11 @@ Visualization Manager: Class: rviz/Path Color: 25; 255; 0 Enabled: true - Head Diameter: 0.300000012 - Head Length: 0.200000003 - Length: 0.300000012 + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 Line Style: Lines - Line Width: 0.0299999993 + Line Width: 0.029999999329447746 Name: Full Plan Offset: X: 0 @@ -329,13 +347,14 @@ Visualization Manager: Z: 0 Pose Color: 255; 85; 255 Pose Style: None - Radius: 0.0299999993 - Shaft Diameter: 0.100000001 - Shaft Length: 0.100000001 + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 Topic: /move_base/GlobalPlanner/plan Unreliable: false Value: true - - Angle Tolerance: 0.100000001 + - Angle Tolerance: 0.10000000149011612 Class: rviz/Odometry Covariance: Orientation: @@ -347,7 +366,7 @@ Visualization Manager: Scale: 1 Value: true Position: - Alpha: 0.300000012 + Alpha: 0.30000001192092896 Color: 204; 51; 204 Scale: 1 Value: true @@ -355,20 +374,45 @@ Visualization Manager: Enabled: true Keep: 1 Name: Odometry - Position Tolerance: 0.100000001 + Position Tolerance: 0.10000000149011612 + Queue Size: 10 Shape: Alpha: 1 Axes Length: 1 - Axes Radius: 0.100000001 + Axes Radius: 0.10000000149011612 Color: 255; 25; 0 - Head Length: 0.300000012 - Head Radius: 0.100000001 + Head Length: 0.30000001192092896 + Head Radius: 0.10000000149011612 Shaft Length: 1 - Shaft Radius: 0.0500000007 + Shaft Radius: 0.05000000074505806 Value: Arrow Topic: /odom Unreliable: false Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 25; 255; 0 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Lines + Line Width: 0.029999999329447746 + Name: Path + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /room_exploration/room_exploration_server/coverage_path + Unreliable: false + Value: true Enabled: true Global Options: Background Color: 48; 48; 48 @@ -382,7 +426,10 @@ Visualization Manager: Hide Inactive Objects: true - Class: rviz/Select - Class: rviz/SetInitialPose + Theta std deviation: 0.2617993950843811 Topic: /initialpose + X std deviation: 0.5 + Y std deviation: 0.5 - Class: rviz/SetGoal Topic: /move_base_simple/goal - Class: rviz/Measure @@ -392,29 +439,28 @@ Visualization Manager: Value: true Views: Current: - Angle: -4.68503332 + Angle: -7.8250322341918945 Class: rviz/TopDownOrtho Enable Stereo Rendering: - Stereo Eye Separation: 0.0599999987 + Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Invert Z Axis: false Name: Current View - Near Clip Distance: 0.00999999978 - Scale: 91.187973 + Near Clip Distance: 0.009999999776482582 + Scale: 60.616512298583984 Target Frame: - Value: TopDownOrtho (rviz) - X: 0.143957004 - Y: 0.922994018 + X: 0.1439570039510727 + Y: 0.9229940176010132 Saved: ~ Window Geometry: Displays: collapsed: false - Height: 704 + Height: 667 Hide Left Dock: false Hide Right Dock: true - QMainWindow State: 000000ff00000000fd0000000400000000000002300000026cfc0200000005fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003a0000026c000000c600ffffff000000010000010f0000026efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0056006900650077007300000000430000026e0000009e00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004a00000003efc0100000002fb0000000800540069006d00650000000000000004a00000024400fffffffb0000000800540069006d00650100000000000004500000000000000000000001ca0000026c00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd00000004000000000000023000000245fc0200000005fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003b00000245000000c700ffffff000000010000010f0000026efc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0056006900650077007300000000430000026e000000a000fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004a00000003efc0100000002fb0000000800540069006d00650000000000000004a00000035c00fffffffb0000000800540069006d00650100000000000004500000000000000000000003320000024500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -423,6 +469,6 @@ Window Geometry: collapsed: false Views: collapsed: true - Width: 1024 - X: 65 + Width: 1384 + X: 534 Y: 27 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/launch/bringup.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/launch/bringup.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/launch/bringup.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/launch/bringup.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/launch/bringup_turtlebot.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/launch/bringup_turtlebot.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/launch/bringup_turtlebot.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/launch/bringup_turtlebot.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/launch/nav.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/launch/nav.launch similarity index 96% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/launch/nav.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/launch/nav.launch index 32ae2a7..a2146e0 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/launch/nav.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/launch/nav.launch @@ -5,7 +5,7 @@ - + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/launch/nav_turtlebot.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/launch/nav_turtlebot.launch similarity index 96% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/launch/nav_turtlebot.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/launch/nav_turtlebot.launch index f0956af..6bcb7e4 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/launch/nav_turtlebot.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/launch/nav_turtlebot.launch @@ -5,7 +5,7 @@ - + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/blank_map.pgm b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/blank_map.pgm similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/blank_map.pgm rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/blank_map.pgm diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/blank_map.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/blank_map.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/blank_map.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/blank_map.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/blank_map_with_obstacle.pgm b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/blank_map_with_obstacle.pgm similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/blank_map_with_obstacle.pgm rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/blank_map_with_obstacle.pgm diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/blank_map_with_obstacle.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/blank_map_with_obstacle.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/blank_map_with_obstacle.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/blank_map_with_obstacle.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/test_map.pgm b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/test_map.pgm similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/test_map.pgm rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/test_map.pgm diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/test_map.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/test_map.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/maps/test_map.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/maps/test_map.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/arbotix.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/arbotix.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/arbotix.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/arbotix.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/costmap_common_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/costmap_common_params.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/costmap_common_params.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/costmap_common_params.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/dwa_local_planner_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/dwa_local_planner_params.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/dwa_local_planner_params.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/dwa_local_planner_params.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/global_costmap_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/global_costmap_params.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/global_costmap_params.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/global_costmap_params.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/global_planner_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/global_planner_params.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/global_planner_params.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/global_planner_params.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/local_costmap_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/local_costmap_params.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/local_costmap_params.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/local_costmap_params.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/move_base_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/move_base_params.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_simulator/params/move_base_params.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_simulator/params/move_base_params.yaml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/config/mapping.rviz b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/config/mapping.rviz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/config/mapping.rviz rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/config/mapping.rviz diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/config/navigation.rviz b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/config/navigation.rviz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/config/navigation.rviz rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/config/navigation.rviz diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/astra.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/astra.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/astra.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/astra.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/d435i.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/d435i.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/d435i.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/d435i.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/kinectV1.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/kinectV1.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/kinectV1.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/kinectV1.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/rtabmap.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/rtabmap.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/rtabmap.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/rtabmap.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/view.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/view.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/view.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/view.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/xtion.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/xtion.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/launch/xtion.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/launch/xtion.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/pibot_slam_3d/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/pibot_slam_3d/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/CHANGELOG.rst similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/CHANGELOG.rst rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/CHANGELOG.rst diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/LICENSE b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/LICENSE similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/LICENSE rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/LICENSE diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/README.md b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/README.md rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/README.md diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/rplidar.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/rplidar.launch similarity index 98% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/rplidar.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/rplidar.launch index 4154781..7ad006b 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/rplidar.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/rplidar.launch @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/rplidar_a3.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/rplidar_a3.launch similarity index 98% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/rplidar_a3.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/rplidar_a3.launch index 32b0d35..d4dcc3e 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/rplidar_a3.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/rplidar_a3.launch @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/rplidar_s1.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/rplidar_s1.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/rplidar_s1.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/rplidar_s1.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/rplidar_s1_tcp.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/rplidar_s1_tcp.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/rplidar_s1_tcp.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/rplidar_s1_tcp.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/test_rplidar.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/test_rplidar.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/test_rplidar.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/test_rplidar.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/test_rplidar_a3.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/test_rplidar_a3.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/test_rplidar_a3.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/test_rplidar_a3.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/view_rplidar.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/view_rplidar.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/view_rplidar.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/view_rplidar.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/view_rplidar_a3.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/view_rplidar_a3.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/view_rplidar_a3.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/view_rplidar_a3.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/view_rplidar_s1.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/view_rplidar_s1.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/view_rplidar_s1.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/view_rplidar_s1.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/view_rplidar_s1_tcp.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/view_rplidar_s1_tcp.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/launch/view_rplidar_s1_tcp.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/launch/view_rplidar_s1_tcp.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/rplidar_A1.png b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/rplidar_A1.png similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/rplidar_A1.png rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/rplidar_A1.png diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/rplidar_A2.png b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/rplidar_A2.png similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/rplidar_A2.png rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/rplidar_A2.png diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/rviz/rplidar.rviz b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/rviz/rplidar.rviz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/rviz/rplidar.rviz rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/rviz/rplidar.rviz diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/scripts/create_udev_rules.sh b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/scripts/create_udev_rules.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/scripts/create_udev_rules.sh rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/scripts/create_udev_rules.sh diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/scripts/delete_udev_rules.sh b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/scripts/delete_udev_rules.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/scripts/delete_udev_rules.sh rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/scripts/delete_udev_rules.sh diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/scripts/rplidar.rules b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/scripts/rplidar.rules similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/scripts/rplidar.rules rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/scripts/rplidar.rules diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/README.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/README.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/README.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/README.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/include/rplidar.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/include/rplidar.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/include/rplidar.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/include/rplidar.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/include/rplidar_cmd.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/include/rplidar_cmd.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/include/rplidar_cmd.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/include/rplidar_cmd.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/include/rplidar_driver.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/include/rplidar_driver.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/include/rplidar_driver.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/include/rplidar_driver.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/include/rplidar_protocol.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/include/rplidar_protocol.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/include/rplidar_protocol.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/include/rplidar_protocol.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/include/rptypes.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/include/rptypes.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/include/rptypes.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/include/rptypes.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/arch_linux.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/arch_linux.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/arch_linux.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/arch_linux.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_serial.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_serial.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_serial.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_serial.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_serial.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_serial.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_serial.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_serial.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_socket.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_socket.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_socket.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/net_socket.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/thread.hpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/thread.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/thread.hpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/thread.hpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/timer.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/timer.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/timer.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/timer.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/timer.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/timer.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/linux/timer.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/linux/timer.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/arch_macOS.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/arch_macOS.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/arch_macOS.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/arch_macOS.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_serial.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_serial.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_serial.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_serial.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_serial.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_serial.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_serial.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_serial.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_socket.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_socket.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_socket.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/net_socket.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/thread.hpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/thread.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/thread.hpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/thread.hpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/timer.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/timer.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/timer.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/timer.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/timer.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/timer.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/timer.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/macOS/timer.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/arch_win32.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/arch_win32.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/arch_win32.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/arch_win32.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_serial.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_serial.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_serial.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_serial.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_serial.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_serial.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_serial.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_serial.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_socket.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_socket.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_socket.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/net_socket.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/timer.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/timer.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/timer.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/timer.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/timer.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/timer.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/timer.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/timer.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/winthread.hpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/winthread.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/arch/win32/winthread.hpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/arch/win32/winthread.hpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/abs_rxtx.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/abs_rxtx.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/abs_rxtx.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/abs_rxtx.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/assert.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/assert.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/assert.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/assert.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/byteops.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/byteops.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/byteops.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/byteops.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/event.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/event.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/event.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/event.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/locker.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/locker.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/locker.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/locker.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/socket.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/socket.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/socket.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/socket.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/thread.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/thread.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/thread.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/thread.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/thread.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/thread.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/thread.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/thread.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/types.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/types.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/types.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/types.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/util.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/util.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/hal/util.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/hal/util.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_TCP.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_TCP.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_TCP.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_TCP.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_impl.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_impl.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_impl.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_impl.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_serial.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_serial.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_serial.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/rplidar_driver_serial.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/sdkcommon.h b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/sdkcommon.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/sdk/src/sdkcommon.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/sdk/src/sdkcommon.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/src/client.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/src/client.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/src/client.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/src/client.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/src/node.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/src/node.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/rplidar_ros/src/node.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/rplidar_ros/src/node.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/CMakeLists.txt similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/CMakeLists.txt index 88fc168..eacd60c 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/CMakeLists.txt +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/CMakeLists.txt @@ -1,192 +1,192 @@ -cmake_minimum_required(VERSION 2.8.3) -project(simple_follower) - -## Find catkin macros and libraries -## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) -## is used, also find other catkin packages -find_package(catkin REQUIRED COMPONENTS - roscpp - rospy - std_msgs - sensor_msgs - geometry_msgs - message_generation -) - -## System dependencies are found with CMake's conventions -# find_package(Boost REQUIRED COMPONENTS system) - - -## Uncomment this if the package has a setup.py. This macro ensures -## modules and global scripts declared therein get installed -## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html -# catkin_python_setup() - -################################################ -## Declare ROS messages, services and actions ## -################################################ - -## To declare and build messages, services or actions from within this -## package, follow these steps: -## * Let MSG_DEP_SET be the set of packages whose message types you use in -## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). -## * In the file package.xml: -## * add a build_depend tag for "message_generation" -## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET -## * If MSG_DEP_SET isn't empty the following dependency has been pulled in -## but can be declared for certainty nonetheless: -## * add a run_depend tag for "message_runtime" -## * In this file (CMakeLists.txt): -## * add "message_generation" and every package in MSG_DEP_SET to -## find_package(catkin REQUIRED COMPONENTS ...) -## * add "message_runtime" and every package in MSG_DEP_SET to -## catkin_package(CATKIN_DEPENDS ...) -## * uncomment the add_*_files sections below as needed -## and list every .msg/.srv/.action file to be processed -## * uncomment the generate_messages entry below -## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) - -## Generate messages in the 'msg' folder - add_message_files( - FILES - position.msg - ) - -## Generate services in the 'srv' folder -# add_service_files( -# FILES -# Service1.srv -# Service2.srv -# ) - -## Generate actions in the 'action' folder -# add_action_files( -# FILES -# Action1.action -# Action2.action -# ) - -## Generate added messages and services with any dependencies listed here - generate_messages( - DEPENDENCIES - std_msgs - sensor_msgs - geometry_msgs - ) - -################################################ -## Declare ROS dynamic reconfigure parameters ## -################################################ - -## To declare and build dynamic reconfigure parameters within this -## package, follow these steps: -## * In the file package.xml: -## * add a build_depend and a run_depend tag for "dynamic_reconfigure" -## * In this file (CMakeLists.txt): -## * add "dynamic_reconfigure" to -## find_package(catkin REQUIRED COMPONENTS ...) -## * uncomment the "generate_dynamic_reconfigure_options" section below -## and list every .cfg file to be processed - -## Generate dynamic reconfigure parameters in the 'cfg' folder -# generate_dynamic_reconfigure_options( -# cfg/DynReconf1.cfg -# cfg/DynReconf2.cfg -# ) - -################################### -## catkin specific configuration ## -################################### -## The catkin_package macro generates cmake config files for your package -## Declare things to be passed to dependent projects -## INCLUDE_DIRS: uncomment this if you package contains header files -## LIBRARIES: libraries you create in this project that dependent projects also need -## CATKIN_DEPENDS: catkin_packages dependent projects also need -## DEPENDS: system dependencies of this project that dependent projects also need -catkin_package( -# INCLUDE_DIRS include -# LIBRARIES simple_follower - CATKIN_DEPENDS roscpp rospy std_msgs message_runtime -# DEPENDS system_lib -) - -########### -## Build ## -########### - -## Specify additional locations of header files -## Your package locations should be listed before other locations -# include_directories(include) -include_directories( - ${catkin_INCLUDE_DIRS} -) - -## Declare a C++ library -# add_library(simple_follower -# src/${PROJECT_NAME}/simple_follower.cpp -# ) - -## Add cmake target dependencies of the library -## as an example, code may need to be generated before libraries -## either from message generation or dynamic reconfigure -# add_dependencies(simple_follower ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) - -## Declare a C++ executable -# add_executable(simple_follower_node src/simple_follower_node.cpp) - -## Add cmake target dependencies of the executable -## same as for the library above -# add_dependencies(simple_follower_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) - -## Specify libraries to link a library or executable target against -# target_link_libraries(simple_follower_node -# ${catkin_LIBRARIES} -# ) - -############# -## Install ## -############# - -# all install targets should use catkin DESTINATION variables -# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html - -## Mark executable scripts (Python etc.) for installation -## in contrast to setup.py, you can choose the destination -# install(PROGRAMS -# scripts/my_python_script -# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -# ) - -## Mark executables and/or libraries for installation -# install(TARGETS simple_follower simple_follower_node -# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} -# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} -# ) - -## Mark cpp header files for installation -# install(DIRECTORY include/${PROJECT_NAME}/ -# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} -# FILES_MATCHING PATTERN "*.h" -# PATTERN ".svn" EXCLUDE -# ) - -## Mark other files for installation (e.g. launch and bag files, etc.) -# install(FILES -# # myfile1 -# # myfile2 -# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} -# ) - -############# -## Testing ## -############# - -## Add gtest based cpp test target and link libraries -# catkin_add_gtest(${PROJECT_NAME}-test test/test_simple_follower.cpp) -# if(TARGET ${PROJECT_NAME}-test) -# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) -# endif() - -## Add folders to be run by python nosetests -# catkin_add_nosetests(test) +cmake_minimum_required(VERSION 2.8.3) +project(simple_follower) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + roscpp + rospy + std_msgs + sensor_msgs + geometry_msgs + message_generation +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend tag for "message_generation" +## * add a build_depend and a run_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependency has been pulled in +## but can be declared for certainty nonetheless: +## * add a run_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder + add_message_files( + FILES + position.msg + ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here + generate_messages( + DEPENDENCIES + std_msgs + sensor_msgs + geometry_msgs + ) + +################################################ +## Declare ROS dynamic reconfigure parameters ## +################################################ + +## To declare and build dynamic reconfigure parameters within this +## package, follow these steps: +## * In the file package.xml: +## * add a build_depend and a run_depend tag for "dynamic_reconfigure" +## * In this file (CMakeLists.txt): +## * add "dynamic_reconfigure" to +## find_package(catkin REQUIRED COMPONENTS ...) +## * uncomment the "generate_dynamic_reconfigure_options" section below +## and list every .cfg file to be processed + +## Generate dynamic reconfigure parameters in the 'cfg' folder +# generate_dynamic_reconfigure_options( +# cfg/DynReconf1.cfg +# cfg/DynReconf2.cfg +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if you package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES simple_follower + CATKIN_DEPENDS roscpp rospy std_msgs message_runtime +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +# include_directories(include) +include_directories( + ${catkin_INCLUDE_DIRS} +) + +## Declare a C++ library +# add_library(simple_follower +# src/${PROJECT_NAME}/simple_follower.cpp +# ) + +## Add cmake target dependencies of the library +## as an example, code may need to be generated before libraries +## either from message generation or dynamic reconfigure +# add_dependencies(simple_follower ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Declare a C++ executable +# add_executable(simple_follower_node src/simple_follower_node.cpp) + +## Add cmake target dependencies of the executable +## same as for the library above +# add_dependencies(simple_follower_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Specify libraries to link a library or executable target against +# target_link_libraries(simple_follower_node +# ${catkin_LIBRARIES} +# ) + +############# +## Install ## +############# + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# install(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables and/or libraries for installation +# install(TARGETS simple_follower simple_follower_node +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_simple_follower.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/laser_follower.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/laser_follower.launch similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/laser_follower.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/laser_follower.launch index 5c48954..2c4bcec 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/laser_follower.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/laser_follower.launch @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/nodes/follower.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/nodes/follower.launch similarity index 98% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/nodes/follower.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/nodes/follower.launch index 1103af5..4081dae 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/nodes/follower.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/nodes/follower.launch @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/nodes/laserTracker.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/nodes/laserTracker.launch similarity index 98% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/nodes/laserTracker.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/nodes/laserTracker.launch index 7f21ccf..41272e7 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/nodes/laserTracker.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/nodes/laserTracker.launch @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/nodes/visualTracker.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/nodes/visualTracker.launch similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/nodes/visualTracker.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/nodes/visualTracker.launch index 73dd9d0..af1d5cd 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/nodes/visualTracker.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/nodes/visualTracker.launch @@ -1,17 +1,17 @@ - - - - - upper : [0, 120, 100] - lower : [9, 255, 255] - - - - pictureHeight: 480 - pictureWidth: 640 - - verticalAngle: 0.43196898986859655 - horizontalAngle: 0.5235987755982988 - - - + + + + + upper : [0, 120, 100] + lower : [9, 255, 255] + + + + pictureHeight: 480 + pictureWidth: 640 + + verticalAngle: 0.43196898986859655 + horizontalAngle: 0.5235987755982988 + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/visual_follower.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/visual_follower.launch similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/visual_follower.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/visual_follower.launch index 5c4025e..6ac1565 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/launch/visual_follower.launch +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/launch/visual_follower.launch @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/msg/position.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/msg/position.msg similarity index 94% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/msg/position.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/msg/position.msg index 67dde10..1401606 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/msg/position.msg +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/msg/position.msg @@ -1,3 +1,3 @@ -float32 angleX -float32 angleY -float32 distance +float32 angleX +float32 angleY +float32 distance diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/package.xml similarity index 97% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/package.xml index a37c8b6..c3d1db2 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/package.xml +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/package.xml @@ -1,61 +1,61 @@ - - - simple_follower - 0.0.0 - Makes a mobile robot follow a target. either using rgb-d or laser range finder - - - - - clemens - - - - - - TODO - - - - - - - - - - - - - - - - - - - message_generation - - - - - - catkin - roscpp - rospy - std_msgs - sensor_msgs - geometry_msgs - message_runtime - message_generation - roscpp - rospy - std_msgs - sensor_msgs - geometry_msgs - - - - - - - - + + + simple_follower + 0.0.0 + Makes a mobile robot follow a target. either using rgb-d or laser range finder + + + + + clemens + + + + + + TODO + + + + + + + + + + + + + + + + + + + message_generation + + + + + + catkin + roscpp + rospy + std_msgs + sensor_msgs + geometry_msgs + message_runtime + message_generation + roscpp + rospy + std_msgs + sensor_msgs + geometry_msgs + + + + + + + + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/parameters/PID_param.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/parameters/PID_param.yaml similarity index 94% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/parameters/PID_param.yaml rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/parameters/PID_param.yaml index c03fd6a..319528a 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/parameters/PID_param.yaml +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/parameters/PID_param.yaml @@ -1,3 +1,3 @@ -P: [0.7, 0.6] -I: [0.07,0.04] -D: [0.00, 0.000] +P: [0.7, 0.6] +I: [0.07,0.04] +D: [0.00, 0.000] diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/scripts/follower.py b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/scripts/follower.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/scripts/follower.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/scripts/follower.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/scripts/laserTracker.py b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/scripts/laserTracker.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/scripts/laserTracker.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/scripts/laserTracker.py diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/scripts/testCode.py b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/scripts/testCode.py old mode 100644 new mode 100755 similarity index 96% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/scripts/testCode.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/scripts/testCode.py index 9f77b59..0e0f7ef --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/scripts/testCode.py +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/scripts/testCode.py @@ -1,114 +1,114 @@ -import numpy as np -import copy -from unsafe_runaway import * -import time -from nose.tools import assert_raises - - - - -class mockup: - pass - - -def makeLaserData(): - laser_data = mockup() - laser_data.range_max = 5.6 - laser_data.angle_min = -2.1 - laser_data.angle_increment = 0.06136 - laser_data.ranges = list(1+np.random.rand(69)*5) - return laser_data - -class Test_simpleTracker: - - - def setUp(self): - self.tracker = simpleTracker() - - def test_ignor_first_scan(self): - laser_data = makeLaserData() - tracker = simpleTracker() - assert_raises(UserWarning, self.tracker.registerScan,laser_data) - - def test_unmuted(self): - laser_data = makeLaserData() - backup = copy.copy(laser_data) - try: - angle, distance = self.tracker.registerScan(laser_data) - except: - pass - assert backup.ranges == laser_data.ranges - #print(laser_data.ranges) - #print('angle: {}, dist: {}'.format(angle, distance)) - - def test_nan(self): - laser_data = makeLaserData() - assert_raises(UserWarning, self.tracker.registerScan,laser_data) - laser_data.ranges[12] = float('nan') - angle, dist=self.tracker.registerScan(laser_data) - #print('angle: {}, dist: {}'.format(angle, dist)) - - def test_only_nan(self): - laser_data = makeLaserData() - laser_data.ranges = [float('nan') for _ in laser_data.ranges] - assert_raises(UserWarning, self.tracker.registerScan,laser_data) - assert_raises(UserWarning, self.tracker.registerScan,laser_data) - - - - def test_real_real_min(self): - laser_data = makeLaserData() - laser_data.ranges[-1]=0.5 #real min - assert_raises(UserWarning, self.tracker.registerScan,laser_data) - laser_data.ranges[-1]=0.6 - laser_data.ranges[42]=0.1 #fake min - ang, dist = self.tracker.registerScan(laser_data) - assert dist == 0.6 - #print('ang: {}, target: {}'.format(ang, (laser_data.angle_min+ 23*laser_data.angle_increment))) - assert ang == laser_data.angle_min+ 68*laser_data.angle_increment - - -class Test_PID: - def setUp(self): - pass - - def test_convergence(self): - self.pid = simplePID([0,30], 0.8, 0.001, 0.0001) - x =np.array([23, 12]) - for i in range(20): - update= self.pid.update(x) - print('added {} to current x {}'.format(update, x)) - x = x+update - time.sleep(0.1) - assert np.all(abs(x-[0,30])<=0.01) - - def test_convergence_differentParamShape(self): - self.pid = simplePID([0,30],0.8, 0.001, 0.0001) - x =np.array([23, 12]) - for i in range(20): - update= self.pid.update(x) - print('added {} to current x {}'.format(update, x)) - x = x+update - time.sleep(0.1) - assert np.all(abs(x-[0,30])<=0.01) - - - def test_raises_unequal_param_shape_at_creation(self): - assert_raises(TypeError, simplePID, [0,30],[0.8, 0.7, 0.1], 0.001, 0.0001) - assert_raises(TypeError, simplePID, [0,30],[0.8, 0.7], 0.001, 0.0001) - assert_raises(TypeError, simplePID, 0,[0.8, 0.7], 0.001, 0.0001) - assert_raises(TypeError, simplePID, 0, [0.8, 0.7], [0.001, 0.001], [0.0001, 0,0001]) - _ = simplePID([0,30],[0.8, 0.7], [0.001, 0.001], [0.0001, 0.0001]) - _ = simplePID([0,30],0.8, 0.001, 0.0001) - _ = simplePID(0,0.8, 0.001, 0.0001) - - def test_raise_incompatable_input(self): - self.pid = simplePID([0,30], 0.8, 0.001, 0.0001) - _ = assert_raises(TypeError, self.pid.update, 3) - x =np.array([23, 12]) - for i in range(50): - update= self.pid.update(x) - print('added {} to current x {}'.format(update, x)) - x = x+update - time.sleep(0.1) - assert np.all(abs(x-[0,30])<=0.001) +import numpy as np +import copy +from unsafe_runaway import * +import time +from nose.tools import assert_raises + + + + +class mockup: + pass + + +def makeLaserData(): + laser_data = mockup() + laser_data.range_max = 5.6 + laser_data.angle_min = -2.1 + laser_data.angle_increment = 0.06136 + laser_data.ranges = list(1+np.random.rand(69)*5) + return laser_data + +class Test_simpleTracker: + + + def setUp(self): + self.tracker = simpleTracker() + + def test_ignor_first_scan(self): + laser_data = makeLaserData() + tracker = simpleTracker() + assert_raises(UserWarning, self.tracker.registerScan,laser_data) + + def test_unmuted(self): + laser_data = makeLaserData() + backup = copy.copy(laser_data) + try: + angle, distance = self.tracker.registerScan(laser_data) + except: + pass + assert backup.ranges == laser_data.ranges + #print(laser_data.ranges) + #print('angle: {}, dist: {}'.format(angle, distance)) + + def test_nan(self): + laser_data = makeLaserData() + assert_raises(UserWarning, self.tracker.registerScan,laser_data) + laser_data.ranges[12] = float('nan') + angle, dist=self.tracker.registerScan(laser_data) + #print('angle: {}, dist: {}'.format(angle, dist)) + + def test_only_nan(self): + laser_data = makeLaserData() + laser_data.ranges = [float('nan') for _ in laser_data.ranges] + assert_raises(UserWarning, self.tracker.registerScan,laser_data) + assert_raises(UserWarning, self.tracker.registerScan,laser_data) + + + + def test_real_real_min(self): + laser_data = makeLaserData() + laser_data.ranges[-1]=0.5 #real min + assert_raises(UserWarning, self.tracker.registerScan,laser_data) + laser_data.ranges[-1]=0.6 + laser_data.ranges[42]=0.1 #fake min + ang, dist = self.tracker.registerScan(laser_data) + assert dist == 0.6 + #print('ang: {}, target: {}'.format(ang, (laser_data.angle_min+ 23*laser_data.angle_increment))) + assert ang == laser_data.angle_min+ 68*laser_data.angle_increment + + +class Test_PID: + def setUp(self): + pass + + def test_convergence(self): + self.pid = simplePID([0,30], 0.8, 0.001, 0.0001) + x =np.array([23, 12]) + for i in range(20): + update= self.pid.update(x) + print('added {} to current x {}'.format(update, x)) + x = x+update + time.sleep(0.1) + assert np.all(abs(x-[0,30])<=0.01) + + def test_convergence_differentParamShape(self): + self.pid = simplePID([0,30],0.8, 0.001, 0.0001) + x =np.array([23, 12]) + for i in range(20): + update= self.pid.update(x) + print('added {} to current x {}'.format(update, x)) + x = x+update + time.sleep(0.1) + assert np.all(abs(x-[0,30])<=0.01) + + + def test_raises_unequal_param_shape_at_creation(self): + assert_raises(TypeError, simplePID, [0,30],[0.8, 0.7, 0.1], 0.001, 0.0001) + assert_raises(TypeError, simplePID, [0,30],[0.8, 0.7], 0.001, 0.0001) + assert_raises(TypeError, simplePID, 0,[0.8, 0.7], 0.001, 0.0001) + assert_raises(TypeError, simplePID, 0, [0.8, 0.7], [0.001, 0.001], [0.0001, 0,0001]) + _ = simplePID([0,30],[0.8, 0.7], [0.001, 0.001], [0.0001, 0.0001]) + _ = simplePID([0,30],0.8, 0.001, 0.0001) + _ = simplePID(0,0.8, 0.001, 0.0001) + + def test_raise_incompatable_input(self): + self.pid = simplePID([0,30], 0.8, 0.001, 0.0001) + _ = assert_raises(TypeError, self.pid.update, 3) + x =np.array([23, 12]) + for i in range(50): + update= self.pid.update(x) + print('added {} to current x {}'.format(update, x)) + x = x+update + time.sleep(0.1) + assert np.all(abs(x-[0,30])<=0.001) diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/scripts/visualTracker.py b/Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/scripts/visualTracker.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/simple_follower/scripts/visualTracker.py rename to Code/MowingRobot/pibot_ros/ros_ws/src/simple_follower/scripts/visualTracker.py diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/CMakeLists.txt similarity index 80% rename from Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/CMakeLists.txt index 668049f..fee63c4 100644 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/CMakeLists.txt +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/CMakeLists.txt @@ -1,5 +1,5 @@ cmake_minimum_required(VERSION 3.0.2) -project(ros_merge_test) +project(upbot_location) find_package(catkin REQUIRED COMPONENTS roscpp @@ -16,30 +16,36 @@ find_package(Boost REQUIRED) # catkin_package( # # INCLUDE_DIRS include -# # LIBRARIES ros_merge_test +# # LIBRARIES upbot_location # # CATKIN_DEPENDS roscpp rospy std_msgs # # DEPENDS system_lib # CATKIN_DEPENDS message_runtime std_msgs geometry_msgs # ) + include_directories( # include -${OpenCV_INCLUDE_DIRS} -${catkin_INCLUDE_DIRS} + ${OpenCV_INCLUDE_DIRS} + ${catkin_INCLUDE_DIRS} include ) add_library(${PROJECT_NAME} SHARED + src/system.cpp src/uwb.cpp src/mapping.cpp src/align.cpp + src/Mat.cpp + src/lighthouse.cpp + # src/read_sensor_data.cpp include/senddata.h src/senddata.cpp) add_message_files( DIRECTORY msg FILES - RawImu.msg + RawImu.msg + ) generate_messages(DEPENDENCIES std_msgs geometry_msgs) diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/Mat.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/Mat.h new file mode 100644 index 0000000..f8cc745 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/Mat.h @@ -0,0 +1,83 @@ +/******************** (C) COPYRIGHT 2022 Geek************************************ +* File Name : Mat.h +* Current Version : V1.0 +* Author : logzhan +* Date of Issued : 2022.09.14 +* Comments : �����ľ������ +********************************************************************************/ +/* Header File Including -----------------------------------------------------*/ +#ifndef _H_MAT_ +#define _H_MAT_ + +#define MAT_MAX 15 //�������ܴ����������� + + +#include +#define _USE_MATH_DEFINES +#include + +class Mat +{ +public: + Mat(); + Mat(int setm,int setn,int kind);//kind=1��λ��kind=0�����,��������ʼ�����ݡ� + void Init(int setm,int setn,int kind);//kind=1��λ��kind=0�����,��������ʼ�����ݡ� + + void Zero(void); + //��Щ�ؼ�����Ӧ����Ϊprivate�ġ�����Ϊ�˷��㣬��Ҳ������public + int m;//���� + int n;//���� + double mat[MAT_MAX][MAT_MAX];//������������ + + //����ľ��� + Mat SubMat(int a,int b,int lm,int ln);//��ȡ����һ���� + void FillSubMat(int a,int b,Mat s);//����Ӿ��� + + //����ר�� + double absvec();//����������ij��ȡ����Ǹ���Ԫ�صľ���ֵ�� + double Sqrt();//�������ȵ�ƽ�� + friend Mat operator ^(Mat a,Mat b);//��� + + //���� + friend Mat operator *(double k,Mat a); + friend Mat operator *(Mat a,double k); + friend Mat operator /(Mat a,double k); + friend Mat operator *(Mat a,Mat b); + friend Mat operator +(Mat a,Mat b); + friend Mat operator -(Mat a,Mat b); + friend Mat operator ~(Mat a);//ת�� + friend Mat operator /(Mat a,Mat b);//a*inv(b) + friend Mat operator %(Mat a,Mat b);//inv(a)*b + + //MAT inv();//����� + +private: + // Ϊ���ø�˹��Ԫ��������һЩ���� + // �������� + void RowExchange(int a, int b); + // ijһ�г���ϵ�� + void RowMul(int a,double k); + // ��ijһ�мӼ���һ�еı��� + void RowAdd(int a,int b, double k); + // �������� + void ColExchange(int a, int b); + // ijһ�г���ϵ�� + void ColMul(int a,double k); + // ��ijһ�мӼ���һ�еı��� + void ColAdd(int a,int b,double k); + + +}; + + + + + + +#endif + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/align.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/align.h new file mode 100644 index 0000000..28eda90 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/align.h @@ -0,0 +1,55 @@ +#include +#include +#include +#include +#include +#include +#include +#include "upbot_location/RawImu.h" +#include "type.h" +#include "uwb.h" +#include "lighthouse.h" +#include "Mat.h" + +#ifndef ALIGN_H +#define AlIGN_H +namespace uwb_slam{ + class Align + { + public: + Align(){ + imuPos.Init(2, 1, 0); + uwbPos.Init(2, 1, 0); + syncPos.Init(2, 1, 0); + imuStartPos.Init(2, 1, 0); + Rotate.Init(2,2,0); + uwbStartPos.Init(2,1,0); + }; + void Run(); + void wheel_odomCB(const nav_msgs::Odometry& wheel_odom); + void imuCB(const upbot_location::RawImu& imu); + void odomCB(const nav_msgs::Odometry& odom); + + public: + ros::NodeHandle nh_; + ros::Subscriber wheel_odom_sub_; + ros::Subscriber imu_sub_; + ros::Subscriber odom_sub_; + Imu_odom_pose_data imu_odom_; + Uwb_data uwb_data_; + ros::Time imuDataRxTime, uwbDataRxTime, odomDataRxTime; + Mat imuStartPos; + Mat imuPos; + Mat uwbPos; + Mat syncPos; + Mat Rotate; + Mat uwbStartPos; + ros::Time odom_tmp_ ; + bool write_data_ = false; + cv::Mat img1; + std::queue> data_queue; + std::shared_ptr uwb_; + std::shared_ptr lighthouse_; + }; +}; +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/lighthouse.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/lighthouse.h new file mode 100644 index 0000000..333f9e5 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/lighthouse.h @@ -0,0 +1,29 @@ +#include +#include +#include +#include +#include +#include +#include "type.h" +#include +#include +#ifndef __LIGHTHOUSE_H__ +#define __LIGHTHOUSE_H__ + +namespace uwb_slam{ +class Lighthouse{ +public: + Lighthouse(); + ~Lighthouse(); + void Run(); + void UDPRead(); + // Listen PORT + int PORT = 12345; + int UdpSocket = -1; + + LightHouseData data; + + std::mutex mMutexLighthouse; +}; +}; +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/mapping.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/mapping.h new file mode 100644 index 0000000..ac39d27 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/mapping.h @@ -0,0 +1,40 @@ +#include +#include +#include +#include "uwb.h" +#include "align.h" + +#ifndef MAPPING_H +#define MAPPING_H + + +namespace uwb_slam{ + class Mapping + { + public: + const double PIXEL_SCALE = 1.0; //xiangsudian cm + const int AREA_SIZE = 1000; //map size cm + Mapping() {}; + void Run(); + bool checkQueue(); + void feedPos(const cv::Point2d & imuPosData, const cv::Point2d & uwbPosData, const cv::Point2d & syncPosData); + void process(); + std::mutex mMutexMap; + std::shared_ptr uwb_; + std::shared_ptr align_; + + private: + int realWidth, realHeight; + std::queue> posDataQueue; + std::vector posData = std::vector(3, {-1, -1}); + //cv::Point2d imuPoint = {-1,-1}; + // std::queue posDataQueue; + + + bool readPos = false; + cv::Mat img; + }; + +} + +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/read_sensor_data.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/read_sensor_data.h new file mode 100644 index 0000000..61a7df3 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/read_sensor_data.h @@ -0,0 +1,34 @@ +#include +#include "nav_msgs/Odometry.h" +#include "geometry_msgs/Twist.h" +#include "sensor_msgs/Imu.h" +#include "geometry_msgs/PoseStamped.h" +#include "geometry_msgs/PoseWithCovarianceStamped.h" +#include +#include "type.h" +#include "uwb.h" + + +#ifndef READ_SENSOR_DATA_H +#define READ_SENSOR_DATA_H + +namespace uwb_slam{ + typedef boost::shared_ptr OdomConstPtr; + typedef boost::shared_ptr ImuConstPtr; + class Read_sensor_data + { + public: + Read_sensor_data(); + + void Run(int argc, char* argv[]); + //void set_uwb(Uwb * uwb); + void imu_call_back(const ImuConstPtr& imu); + void odom_call_back(const OdomConstPtr& odom); + + private: + ros::Subscriber imu_sub_; + ros::Subscriber odom_sub_; + + }; +} +#endif \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/senddata.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/senddata.h new file mode 100644 index 0000000..efef283 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/senddata.h @@ -0,0 +1,37 @@ +#include +#include +#include +#include +#include +#include +#include "uwb.h" +#ifndef SENDDATA_H +#define SENDDATA_H + + +namespace uwb_slam{ + + class Senddata + { + public: + Senddata(){}; + void publishOdometry( std::shared_ptruwb); + void Run(std::shared_ptruwb); + void odomCB(const nav_msgs::Odometry& odom); + + + std::mutex mMutexSend; + private: + ros::Publisher position_pub_; + ros::Subscriber odom_sub_; + ros::NodeHandle nh_; + nav_msgs::Odometry odom_;//odom的消息类型 + nav_msgs::Odometry sub_odom_;//odom的消息类型 + + + + }; + +} + +#endif \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/system.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/system.h new file mode 100644 index 0000000..848f92b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/system.h @@ -0,0 +1,32 @@ +#include +#include +#include "mapping.h" +#include "uwb.h" +#include "senddata.h" +// #include "align.h" +#include + +#ifndef SYSTEM_H +#define SYSTEM_H + +namespace uwb_slam{ + class System{ + + public: + System() { + } + void Run(); + public: + + std::shared_ptrMapping_; + std::shared_ptrUwb_; + std::shared_ptrSender_; + std::shared_ptrAlign_; + std::shared_ptrLighthouse_; + + // Uwb* Uwb_ ; + // Senddata* Sender_; + // Mapping* Mapping_; + }; +} +#endif diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/type.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/type.h similarity index 67% rename from Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/type.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/type.h index d92ef27..93b8358 100644 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/include/type.h +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/type.h @@ -18,14 +18,13 @@ struct Imu_data struct Imu_odom_pose_data { - Imu_data imu_data_; - double pose_[3]; /* 位置信息 */ - double quat_[4]; /* 姿态信息(四元数) */ + Imu_data imu_data_; + double pose_[3]; + double quat_[4]; double vxy_; double angle_v_; Imu_odom_pose_data(){}; - Imu_odom_pose_data( Imu_data imu_data,double x,double y,double z, double qw, double qx, - double qy, double qz,double vxy, double angle_v):imu_data_(imu_data),pose_{x,y,z},quat_{qw,qx,qy,qz},vxy_(vxy),angle_v_(angle_v){}; + Imu_odom_pose_data( Imu_data imu_data,double x,double y,double z, double qw, double qx, double qy, double qz,double vxy, double angle_v):imu_data_(imu_data),pose_{x,y,z},quat_{qw,qx,qy,qz},vxy_(vxy),angle_v_(angle_v){}; }; /*struct Odom_data @@ -44,7 +43,7 @@ struct Imu_odom_pose_data }; */ -struct Uwb_data +struct Uwb_data { float x_,y_; ros::Time uwb_t_; @@ -52,6 +51,18 @@ struct Uwb_data Uwb_data(float x,float y,float t):x_(x),y_(y),uwb_t_(t){}; }; +struct LightHouseData +{ + float x_,y_,z_; + float qw_,qx_,qy_,qz_; + ros::Time lighthouse_t_; + LightHouseData(){}; + LightHouseData(float x,float y,float z, float qw, float qx, float qy, float qz, float t): + x_(x),y_(y),z_(z),qw_(qw), qx_(qx), qy_(qy), qz_(qz), lighthouse_t_(t){}; +}; + + + /*struct Imu_odom_pose_data { Imu_data imu_data_; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/uwb.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/uwb.h new file mode 100644 index 0000000..4718fed --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/include/uwb.h @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include +#include +#include "type.h" +#include +#include +#ifndef UWB_H +#define UWB_H + +#define PI acos(-1) +namespace uwb_slam{ + + class Uwb + { + public: + Uwb(); + void Run(); + bool checknewdata(); + void feed_imu_odom_pose_data(); + void Serread(); + + + + public: + int pre_seq = -1; + int cur_seq = -1; + int AnchorNum = 3; + int AnchorPos[3][3]={-240, 400, 113,\ + 240, 400, 113,\ + -400, -240, 113};//基站坐标,序号+三维坐标 + uint8_t tmpdata[13]; + int d[3]; + + // std::queue v_buffer_imu_odom_pose_data_; + + + Uwb_data uwb_data_; + // ros_merge_test::RawImu sub_imu_; + // std::queue imu_odom_queue_; + // std::queue uwb_data_queue_; + std::mutex mMutexUwb; + //boost::asio::io_service io; + //boost::asio::serial_port s_port; + + // Imu_odom_pose_data imu_odom_pose_data_; + }; + +}; + + + + + + +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/msg/RawImu.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/msg/RawImu.msg new file mode 100644 index 0000000..3c5ad41 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/msg/RawImu.msg @@ -0,0 +1,7 @@ +Header header +bool accelerometer +bool gyroscope +bool magnetometer +geometry_msgs/Vector3 raw_linear_acceleration +geometry_msgs/Vector3 raw_angular_velocity +geometry_msgs/Vector3 raw_magnetic_field diff --git a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/package.xml similarity index 95% rename from Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/package.xml index dee5884..346644a 100644 --- a/Code/MowingRobot/Robot_ROS_APP/src/ros_merge_test/package.xml +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/package.xml @@ -1,8 +1,8 @@ - ros_merge_test + upbot_location 0.0.0 - The ros_merge_test package + The upbot_location package @@ -19,7 +19,7 @@ - + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/Mat.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/Mat.cpp new file mode 100644 index 0000000..4192cb5 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/Mat.cpp @@ -0,0 +1,368 @@ +/******************** (C) COPYRIGHT 2022 Geek************************************ +* File Name : Mat.cpp +* Current Version : V1.0 +* Author : logzhan +* Date of Issued : 2022.09.14 +* Comments : ��������� +********************************************************************************/ +/* Header File Including -----------------------------------------------------*/ +#include "Mat.h" + +double mind(double a,double b) +{ + double c = a; + if(b < c){ + c = b; + } + return c; +} + +int mini(int a,int b) +{ + int c=a; + if(bm = setm; + this->n = setn; + if((kind==0)||(kind==1)) + { + memset(mat,0,MAT_MAX*MAT_MAX*sizeof(double)); + } + + if(kind==1) + { + int x; + //Cԭ�е�max min�ᵼ�����������Ա������и��������Ķ�����Ҫֱ�ӷŵ�max���档 + int xend = mini(this->m, this->n); + for(x=0;x < xend;x++){ + mat[x][x] = 1; + } + } +} +void Mat::Zero() { + +} + +Mat Mat::SubMat(int a,int b,int lm,int ln) +{ + + int aend=a+lm-1; + int bend=b+ln-1; + + + Mat s(lm,ln,-1); + int x,y; + for(x=0;xs) + { + p=xb; + s=sxb; + } + } + //ͬʱ�任������� + if(x!=p) + { + a.ColExchange(x,p); + b.ColExchange(x,p); + } + + //��һ�й�һ + double k=1/b.mat[x][x];//��һ�䲻ҪǶ�׵����������У��������Ϊ���²�ͬ�����¼������ + a.ColMul(x,k); + b.ColMul(x,k); + + //�������й��� + for(xb=0;xbs) + { + p=xb; + s=sxb; + } + } + //ͬʱ�任������� + if(x!=p) + { + a.RowExchange(x,p); + b.RowExchange(x,p); + } + + //��һ�й�һ + double k=1/a.mat[x][x];//��һ�䲻ҪǶ�׵����������У��������Ϊ���²�ͬ�����¼������ + a.RowMul(x,k); + b.RowMul(x,k); + + //�������й��� + for(xb=0;xbuwb_data_.uwb_t_) { + std::cout << "uwb received" << std::endl; + + Rotate.mat[0][0] = cos(roll); + Rotate.mat[0][1] = -sin(roll); + Rotate.mat[1][0] = sin(roll); + Rotate.mat[1][1] = cos(roll); + + uwbPos.mat[0][0] = uwb_->uwb_data_.x_; + uwbPos.mat[1][0] = uwb_->uwb_data_.y_; + + uwbPos = uwbPos - Rotate * uwbStartPos; + + predPos = F * syncPos + detPos; + Z = H * uwbPos; + P = F * P * (~F) + Q; + Kg = P * (~H) / (H * P * (~H) + R); + syncPos = predPos + Kg * (Z - H * predPos); + P = (I - Kg * H) * P; + uwbDataRxTime = uwb_->uwb_data_.uwb_t_; + } else { + syncPos = syncPos + detPos; + } + imuDataRxTime = imu_odom_.imu_data_.imu_t_; + odomDataRxTime = odom_tmp_; + + std::cout << "syncPos:" << syncPos.mat[0][0] << " " << syncPos.mat[1][0]; + std::cout << " uwbPos:" << uwbPos.mat[0][0] << " " << uwbPos.mat[1][0]; + std::cout << " imuPos:" << imuPos.mat[0][0] << " " << imuPos.mat[1][0]; + std::cout << " lightHousePos:" << lighthouse_->data.x_ << " " << lighthouse_->data.y_ << std::endl; + + + outfile << imuDataRxTime << "," << odomDataRxTime << "," << uwbDataRxTime <<","\ + << imu_odom_.imu_data_.a_[0] << "," << imu_odom_.imu_data_.a_[1] << "," << imu_odom_.imu_data_.a_[2] << ","\ + << imu_odom_.imu_data_.w_[0] << "," << imu_odom_.imu_data_.w_[1] << "," << imu_odom_.imu_data_.w_[2] << ","\ + << qx << "," << qy << "," << qz << "," << qw << ","\ + << imu_odom_.vxy_ << "," <data.x_ << "," << lighthouse_->data.y_ << "," << lighthouse_->data.z_ << ","\ + << uwb_->d[0] << "," << uwb_->d[1] << "," << uwb_->d[2] << "\n"; + } + + } + + // outfile.close(); + // std::cout<< "Data written to file." << std::endl; + } + + + + void Align::wheel_odomCB(const nav_msgs::Odometry& wheel_odom) + { + imu_odom_.vxy_= wheel_odom.twist.twist.linear.x; + imu_odom_.angle_v_ = wheel_odom.twist.twist.angular.z; + // imu_odom_.pose_[0] = wheel_odom.pose.pose.position.x; + // imu_odom_.pose_[1] = wheel_odom.pose.pose.position.y; + // imu_odom_.pose_[2] = wheel_odom.pose.pose.position.z; + // imu_odom_.quat_[0] = wheel_odom.pose.pose.orientation.x; + // imu_odom_.quat_[1] = wheel_odom.pose.pose.orientation.y; + // imu_odom_.quat_[2] = wheel_odom.pose.pose.orientation.z; + // imu_odom_.quat_[3] = wheel_odom.pose.pose.orientation.w; + + + return; + } + void Align::imuCB(const upbot_location::RawImu& imu) + { + imu_odom_.imu_data_.imu_t_ = imu.header.stamp; + imu_odom_.imu_data_.a_[0] = imu.raw_linear_acceleration.x; + imu_odom_.imu_data_.a_[1] = imu.raw_linear_acceleration.y; + imu_odom_.imu_data_.a_[2] = imu.raw_linear_acceleration.z; + + imu_odom_.imu_data_.w_[0] = imu.raw_angular_velocity.x; + imu_odom_.imu_data_.w_[1] = imu.raw_angular_velocity.y; + imu_odom_.imu_data_.w_[2] = imu.raw_angular_velocity.z; + + return; + } + + void Align::odomCB(const nav_msgs::Odometry& odom) + { + odom_tmp_ = odom.header.stamp; + imu_odom_.pose_[0] = odom.pose.pose.position.x; + imu_odom_.pose_[1] = odom.pose.pose.position.y; + imu_odom_.pose_[2] = odom.pose.pose.position.z; + imu_odom_.quat_[0] = odom.pose.pose.orientation.x; + imu_odom_.quat_[1] = odom.pose.pose.orientation.y; + imu_odom_.quat_[2] = odom.pose.pose.orientation.z; + imu_odom_.quat_[3] = odom.pose.pose.orientation.w; + } + + + + + + + + + + + +}; + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/lighthouse.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/lighthouse.cpp new file mode 100644 index 0000000..562b494 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/lighthouse.cpp @@ -0,0 +1,79 @@ +#include "lighthouse.h" +#include +#include + +namespace uwb_slam{ + Lighthouse::Lighthouse(){ + std::cout << "Start Run. " << std::endl; + + // 创建UDP套接字 + UdpSocket = socket(AF_INET, SOCK_DGRAM, 0); + if (UdpSocket == -1) { + std::cerr << "Error creating UDP socket." << std::endl; + return; + } + + std::cout << "Creating UDP socket sucess. " << std::endl; + + // 设置套接字地址结构 + sockaddr_in udpAddress; + std::memset(&udpAddress, 0, sizeof(udpAddress)); + udpAddress.sin_family = AF_INET; + udpAddress.sin_addr.s_addr = htonl(INADDR_ANY); + udpAddress.sin_port = htons(PORT); + + // 将套接字绑定到地址 + if (bind(UdpSocket, (struct sockaddr*)&udpAddress, sizeof(udpAddress)) == -1) { + std::cerr << "Error binding UDP socket." << std::endl; + close(UdpSocket); + } + } + + Lighthouse::~Lighthouse(){ + close(UdpSocket); + } + + void Lighthouse::Run() { + while(1){ + // 这是一个阻塞线程 + this->UDPRead(); + } + } + + void Lighthouse::UDPRead(){ + char buffer[1024]; + ssize_t bytesRead = recvfrom(UdpSocket, buffer, sizeof(buffer), 0, nullptr, nullptr); + if (bytesRead == -1) { + std::cerr << "Error receiving data." << std::endl; + return; + } + + std::string data(buffer); + + float x,y,z,qw,qx,qy,qz; + + qw = 1.0; + + sscanf(data.c_str(),"%f %f %f %f %f %f",&x,&y,&z,&qx,&qy,&qz); + + mMutexLighthouse.lock(); + + this->data.x_ = x; + this->data.y_ = y; + this->data.z_ = z; + + this->data.qw_ = qw; + this->data.qx_ = qx; + this->data.qy_ = qy; + this->data.qz_ = qz; + + + + mMutexLighthouse.unlock(); + + // 打印接收到的消息 + buffer[bytesRead] = '\0'; + //std::cout << "Received: " << buffer << std::endl; + + } +}; \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/main.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/main.cpp new file mode 100644 index 0000000..14f98fc --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/main.cpp @@ -0,0 +1,65 @@ +#include "../include/system.h" +#include "../include/uwb.h" +#include "../include/lighthouse.h" +#include "Mat.h" + + +#include +#include +#include +#include "senddata.h" + + + +int main(int argc, char** argv) +{ + ros::init(argc, argv, "locate_info_pub_node"); // Initialize the ROS node + + std::shared_ptr system = std::make_shared(); + std::shared_ptr mp = std::make_shared(); + std::shared_ptr uwb = std::make_shared(); + std::shared_ptr sender = std::make_shared(); + std::shared_ptr align = std::make_shared(); + std::shared_ptr lighthouse = std::make_shared(); + + + system->Mapping_ = mp; + system->Uwb_ = uwb; + system->Sender_ = sender; + system->Align_ = align; + system->Lighthouse_ = lighthouse; + + mp->uwb_ = system->Uwb_; + mp->align_ = system->Align_; + align->uwb_ = system->Uwb_; + align->lighthouse_ = system->Lighthouse_; + + // // control data fllow in system + // std::thread rose_trd ([&system]() { + // system->Run(); + // }); + + // uwb serried read + std::thread uwb_trd([&uwb]() { + uwb->Run(); + }); + + // build map + std::thread map_trd ([&mp]() { + mp->Run(); + }); + + std::thread sender_trd ([&sender, uwb]() { + sender->Run(uwb); + }); + + std::thread align_trd ([&align]() { + align->Run(); + }); + + std::thread lighthouse_trd ([&lighthouse]() { + lighthouse->Run(); + }); + + ros::spin(); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/mapping.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/mapping.cpp new file mode 100644 index 0000000..a6240b7 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/mapping.cpp @@ -0,0 +1,149 @@ +#include "mapping.h" +#include +#include // 包含 usleep() 函数所在的头文件 +#include +#include + +namespace uwb_slam +{ + bool Mapping::checkQueue() + { + //std::unique_lock lock(mMutexMap); + return !posDataQueue.empty(); + } + + void Mapping::feedPos(const cv::Point2d & imuPosData, const cv::Point2d & uwbPosData, const cv::Point2d & syncPosData) + { + //std::unique_lock lock(mMutexMap); + posDataQueue.push({imuPosData, uwbPosData, syncPosData}); + + } + + + void Mapping::process() + { + { + + //std::unique_lock lock(mMutexMap); + //std::cout << "SIZE: " <(imuPosPointY, imuPosPointX) = 0; + img.at(imuPosPointY, imuPosPointX) = cv::Vec3b(0,0,255); //imu trace is red + img.at(uwbPosPointY, uwbPosPointX) = cv::Vec3b(0,255,0); //uwb trace is green + img.at(syncPosPointY, syncPosPointX) = cv::Vec3b(255,0,0); //sync trace is blue + } + + + void Mapping::Run() + { + + //int key = cv::waitKey(0);//等待用户按下按键 + //std::cout << key << std::endl; + realWidth = AREA_SIZE / PIXEL_SCALE; + realHeight = AREA_SIZE / PIXEL_SCALE; + + img = cv::Mat(realHeight, realWidth, CV_8UC3, cv::Scalar(255,255,255)); + //cankao + for (int j=0;j(j,i)= cv::Vec3b(0,0,0); + + for (int j=realHeight/2-1; j<=realHeight/2+1; j+=1) + for (int i=realWidth/2-1; i<=realWidth/2+1; i+=1) + img.at(j,i)= cv::Vec3b(0,0,0); + int i = 0, j = 0; + img.at(j,i)= cv::Vec3b(0,0,0); + + + + cv::imshow("Image",img); + + // bool printFlag = 0; + // std::ofstream outfile("data.txt",std::ofstream::out); + // if(outfile.is_open()) { + // std::cout << "start saving data" << key << std::endl; + // printFlag = 1; + // } else { + // std::cout<<"file can not open"<feed_uwb_data(cv::Point2d(uwb_->x,uwb_->y)); + readPos = true; + std::cout << "non" << key << std::endl; + cv::destroyAllWindows(); + } + */ + while(1){ + int key = cv::waitKey(0); + if (key == 'q' ) { + readPos = true; + std::cout << "start mapping" << key << std::endl; + + //cv::destroyAllWindows(); + } + while( readPos )//按下空格键 + { + int key2 = cv::waitKey(1); + if (key2 == 'q') { + //TODO: save + + std::string pngimage="/home/firefly/Project_Ros11/Project_Ros1/src/upbot_location/Map/output_image.png";//保存的图片文件路径 + cv::imwrite(pngimage,img); + readPos = false; + + // outfile.close(); + // printFlag = 0; + // std::cout<< "Data written to file." << std::endl; + + break; + } + + this->feedPos(cv::Point2d(align_->imuPos.mat[0][0], align_->imuPos.mat[1][0]), cv::Point2d(align_->uwbPos.mat[0][0], align_->uwbPos.mat[1][0]), cv::Point2d(align_->syncPos.mat[0][0], align_->syncPos.mat[1][0])); + //this->feedPos(cv::Point2d(uwb_->x, uwb_->y)); + + //uwb xieru + //std::cout << "cur_SEQ: " <cur_seq << std::endl; + + if(checkQueue()) + { + //std::cout << " start process" << std::endl; + process(); + //std::cout << " end process" << std::endl; + + } + } + // std::cout << "out" << key << std::endl; + + } + + + + //std::string pngimage="../Map/pngimage.png";//保存的图片文件路径 + //cv::imwrite(pngimage,img); + + /*ros 发送图片给导航 */ + } +} // namespace uwb_slam + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/read_sensor_data.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/read_sensor_data.cpp new file mode 100644 index 0000000..e74d0cd --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/read_sensor_data.cpp @@ -0,0 +1,30 @@ +#include + +namespace uwb_slam { + + + //void Read_sensor_data::set_uwb(){} + + + void Read_sensor_data::imu_call_back(const ImuConstPtr& imu){ + Imu_data d1= Imu_data(imu->linear_acceleration.x,imu->linear_acceleration.y,imu->linear_acceleration.z, + imu->angular_velocity.x,imu->angular_velocity.y,imu->angular_velocity.z); + + } + void Read_sensor_data::odom_call_back(const OdomConstPtr& odom){ + Odom_data d1 = Odom_data(odom->pose.pose.position.x, odom->pose.pose.position.y, odom->pose.pose.position.z, + odom->pose.pose.orientation.w,odom->pose.pose.orientation.x, odom->pose.pose.orientation.y, odom->pose.pose.orientation.z, + odom->header.stamp,odom->twist.twist.linear.x,odom->twist.twist.linear.y,odom->twist.twist.angular.z); + + } + void Read_sensor_data::Run(int argc, char* argv[]){ + + ros::init(argc, argv, "imu_odom"); + // 创建一个节点句柄 + ros::NodeHandle nh; + //imu_sub_ = nh.subscribe("imu/data_raw", 1000, this->imu_call_back); + //odom_sub_ =nh.subscribe("odom", 1000,odom_call_back); + ros::spin(); + } + +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/senddata.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/senddata.cpp new file mode 100644 index 0000000..c6681ae --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/senddata.cpp @@ -0,0 +1,64 @@ +#include "senddata.h" + + +namespace uwb_slam +{ + void Senddata::Run(std::shared_ptruwb){ + + ros::Rate loop_rate(10); + position_pub_=nh_.advertise("uwb_odom",50); + odom_sub_=nh_.subscribe("odom",10,&Senddata::odomCB,this); + while(ros::ok()){ + publishOdometry(uwb); + ros::spinOnce(); + loop_rate.sleep(); + } + + + } + void Senddata::odomCB(const nav_msgs::Odometry& odom){ + sub_odom_ = odom; + return; + } + + void Senddata::publishOdometry(std::shared_ptruwb) + { + + std::mutex mMutexSend; + ros::Time current_time = ros::Time::now(); + + // 设置 Odometry 消息的头部信息 + odom_.header.stamp = current_time; + odom_.header.frame_id = "odom"; // 设置坐标系为 "map" + odom_.child_frame_id = "base_link"; // 设置坐标系为 "base_link" + + // 填充 Odometry 消息的位置信息 + odom_.pose.pose.position.x = uwb->uwb_data_.x_; + odom_.pose.pose.position.y = uwb->uwb_data_.y_; + odom_.pose.pose.position.z = 0.0; + + + // 填充 Odometry 消息的姿态信息(使用四元数来表示姿态) + // tf2::Quaternion quat; + // quat.setRPY(0, 0, uwb->theta); // 设置了 yaw 角度,其他 roll 和 pitch 设置为 0 + // odom.pose.pose.orientation.x = quat.x(); + // odom.pose.pose.orientation.y = quat.y(); + // odom.pose.pose.orientation.z = quat.z(); + // odom.pose.pose.orientation.w = quat.w(); + + odom_.pose.pose.orientation.x = sub_odom_.pose.pose.orientation.x; + odom_.pose.pose.orientation.y = sub_odom_.pose.pose.orientation.y; + odom_.pose.pose.orientation.z = sub_odom_.pose.pose.orientation.z; + odom_.pose.pose.orientation.w = sub_odom_.pose.pose.orientation.w; + + // 发布 Odometry 消息 + position_pub_.publish(odom_); + + + } + + + + + +} // namespace uwb_slam \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/system.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/system.cpp new file mode 100644 index 0000000..44f5878 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/system.cpp @@ -0,0 +1,15 @@ +#include "../include/system.h" +//#include "" + + +namespace uwb_slam{ + + void System::Run() + { + while(1){ + + } + + } + +} \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/uwb.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/uwb.cpp new file mode 100644 index 0000000..2a17887 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_location/src/uwb.cpp @@ -0,0 +1,171 @@ +#include "uwb.h" +#include +#include "Mat.h" + + +#define CARHEIGHT 20 + +namespace uwb_slam{ + Mat A; + Mat b; + Mat uwbPos; + // + Uwb::Uwb(){ + for(int i=0; i<3; i++) + { + + for(int j=0; j<3; j++) + { + std::cout<AnchorPos[0][0]-this->AnchorPos[i+1][0]); + A.mat[i][1] = -2*(this->AnchorPos[0][1]-this->AnchorPos[i+1][1]); + + } + // for(int i=0; i<2; i++) + // { + // for(int j=0; j<2; j++) + // { + // std::cout<Serread(); + // std::cout<<"s"<x<uwb_data_.uwb_t_ = ros::Time::now(); + + // for (int i=0;i< bytesRead;i++) + // { + // std::cout << std::hex<(tmpdata[i]) << " "; + // } + // std::cout << std::endl; + memcpy(&this->d[0], &tmpdata[3], sizeof(uint16_t)); + memcpy(&this->d[1], &tmpdata[5], sizeof(uint16_t)); + memcpy(&this->d[2], &tmpdata[7], sizeof(uint16_t)); + // std::cout << "d:" << d[0] << " " << d[1] << " " << d[2] << std::endl; + if(abs(d[0]) > 2000 || abs(d[1]) > 2000 || abs(d[2]) > 2000) { + return; + } + for(int i=0; i<3; i++) + { + this->d[i] = sqrt(this->d[i] * this->d[i] - (AnchorPos[i][2] - CARHEIGHT) * (AnchorPos[i][2] - CARHEIGHT)); + } + d[0] = ((((4.9083e-07 * d[0]) - 4.6166e-04) * d[0]) + 1.0789) * d[0] + 5.4539; + d[1] = ((((-4.1679e-07 * d[1]) + 5.0999e-04) * d[1]) + 0.7930) * d[1] + 29.8296; + d[2] = ((((2.3514e-07 * d[2]) - 1.8277e-04) * d[2]) + 0.9935) * d[2] + 9.8852; + for(int i=0; i<2; i++) + { + b.mat[i][0] = (this->d[0]*this->d[0]-this->d[i+1]*this->d[i+1])\ + -(this->AnchorPos[0][0]*this->AnchorPos[0][0]-this->AnchorPos[i+1][0]*this->AnchorPos[i+1][0])\ + -(this->AnchorPos[0][1]*this->AnchorPos[0][1]-this->AnchorPos[i+1][1]*this->AnchorPos[i+1][1]); + } + Mat AT=~A; + uwbPos=(AT*A)%AT*b; + this->uwb_data_.x_ = uwbPos.mat[0][0]; + this->uwb_data_.y_ = uwbPos.mat[1][0]; + //std::cout << "uwbPos:" << this->uwb_data_.x_ << " " << this->uwb_data_.y_ << std::endl; + + + // uwb_data_queue_.push(uwb_data_); + + //std::cout << "uwb_data_: " << uwb_data_.uwb_t_<< std::endl; + // cur_seq = static_cast(tmpdata[3]); + //std::cout << "****** cur _ sequence: " << cur_seq << "x: " << x << " y: " << y <(tmpdata[3]); + + // std::cout << "theta: " << theta << " distance: " << distance << std::endl; + //std::cout std::endl; + } catch (const std::exception& ex) { + std::cerr << "Exception: " << ex.what() << std::endl; + } + + + + } + + + void fusion() + { + + } + + + + + + +}; + +// bool Uwb::checknewdata() +// { +// std::unique_lock lock(mMutexUwb); +// return !v_buffer_imu_odom_pose_data_.empty(); +// } + +// void Uwb::Run() { +// while(1) +// { +// if(checknewdata()) +// { +// { +// std::unique_lock lock(mMutexUwb); +// Imu_odom_pose_data imu_odom_pose_data = v_buffer_imu_odom_pose_data_.front(); +// v_buffer_imu_odom_pose_data_.pop(); +// } + + + +// } +// } + + + +// } + +// void Uwb::feed_imu_odom_pose_data(const Imu_odom_pose_data& imu_odom_pose_data){ +// std::unique_lock lock(mMutexUwb); +// v_buffer_imu_odom_pose_data_.push(imu_odom_pose_data); +// } + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/CMakeLists.txt new file mode 100644 index 0000000..13b4f1c --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/CMakeLists.txt @@ -0,0 +1,78 @@ +cmake_minimum_required(VERSION 3.0.2) +project(upbot_vision) + +find_package(catkin REQUIRED COMPONENTS + roscpp + std_msgs + message_generation +) + + +find_package(OpenCV REQUIRED) +find_package(Threads REQUIRED) + +add_message_files( + FILES + dis_info.msg + dis_info_array.msg +) +generate_messages( + DEPENDENCIES + std_msgs +) + + +catkin_package( + + CATKIN_DEPENDS roscpp std_msgs message_runtime + +) + + +include_directories( +include + ${catkin_INCLUDE_DIRS} + ${OpenCV_INCLUDE_DIRS} + /home/firefly/pibot_ros/runtime/RK3588/Linux/librknn_api/include + /home/firefly/pibot_ros/third_party/rga/RK3588/include +) + +add_library( + head + include/upbot_vision/detection.h + include/upbot_vision/postprocess.h + include/upbot_vision/preprocess.h + include/upbot_vision/ranging.h + include/upbot_vision/Timer.h + src/detection.cc + src/postprocess.cc + src/preprocess.cc + src/ranging.cc +) + +add_dependencies(head ${${PROJECT_NAME}_EXPORTED_TARGETS} upbot_vision_generate_messages_cpp ${catkin_EXPORTED_TARGETS}) +target_link_libraries(head + ${catkin_LIBRARIES} + +) +add_executable(main src/main.cc) +# add_executable(sub_dis src/sub_dis.cc) +add_dependencies(main ${${PROJECT_NAME}_EXPORTED_TARGETS} upbot_vision_generate_messages_cpp ${catkin_EXPORTED_TARGETS}) +# add_dependencies(sub_dis ${${PROJECT_NAME}_EXPORTED_TARGETS} upbot_vision_generate_messages_cpp ${catkin_EXPORTED_TARGETS}) + +# target_link_libraries(sub_dis +# ${catkin_LIBRARIES} +# ) +target_link_libraries(main +head +${catkin_LIBRARIES} +${OpenCV_LIBS} +Threads::Threads +/home/firefly/pibot_ros/third_party/so/libopencv_highgui.so +/home/firefly/pibot_ros/third_party/so/librga.so +/home/firefly/pibot_ros/third_party/so/librknnrt.so +) + + + + diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/Timer.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/Timer.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/Timer.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/Timer.h diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/detection.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/detection.h similarity index 80% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/detection.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/detection.h index 4f9ac8f..9a8036b 100644 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/detection.h +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/detection.h @@ -6,9 +6,9 @@ #define _BASETSD_H #include "rknn_api.h" -#include "rknn_yolov5_demo/preprocess.h" -#include "rknn_yolov5_demo/postprocess.h" -#include "rknn_yolov5_demo/Timer.h" +#include "upbot_vision/preprocess.h" +#include "upbot_vision/postprocess.h" +#include "upbot_vision/Timer.h" #define PERF_WITH_POST 1 @@ -24,7 +24,7 @@ private: int img_channel = 0; const float nms_threshold = NMS_THRESH; // 默认的NMS阈值 const float box_conf_threshold = BOX_THRESH; // 默认的置信度阈值 - char* model_name = "/home/firefly/obj_dec/src/rknn_yolov5_demo/model/RK3588/yolov5s-640-640.rknn"; + char* model_name = "/home/firefly/pibot_ros/ros_ws/src/upbot_vision/model/RK3588/yolov5s-640-640.rknn"; cv::Mat orig_img; rknn_input_output_num io_num; diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/postprocess.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/postprocess.h similarity index 88% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/postprocess.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/postprocess.h index de3c288..855ecea 100644 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/postprocess.h +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/postprocess.h @@ -1,5 +1,5 @@ -#ifndef _RKNN_YOLOV5_DEMO_POSTPROCESS_H_ -#define _RKNN_YOLOV5_DEMO_POSTPROCESS_H_ +#ifndef _upbot_vision_POSTPROCESS_H_ +#define _upbot_vision_POSTPROCESS_H_ #include #include @@ -39,4 +39,4 @@ int post_process(int8_t *input0, int8_t *input1, int8_t *input2, int model_in_h, detect_result_group_t *group); void deinitPostProcess(); -#endif //_RKNN_YOLOV5_DEMO_POSTPROCESS_H_ +#endif //_upbot_vision_POSTPROCESS_H_ diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/preprocess.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/preprocess.h similarity index 74% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/preprocess.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/preprocess.h index 3320b9b..54e69a9 100644 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/preprocess.h +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/preprocess.h @@ -1,5 +1,5 @@ -#ifndef _RKNN_YOLOV5_DEMO_PREPROCESS_H_ -#define _RKNN_YOLOV5_DEMO_PREPROCESS_H_ +#ifndef _upbot_vision_PREPROCESS_H_ +#define _upbot_vision_PREPROCESS_H_ #include #include "im2d.h" @@ -7,10 +7,10 @@ #include "opencv2/core/core.hpp" #include "opencv2/imgcodecs.hpp" #include "opencv2/imgproc.hpp" -#include "rknn_yolov5_demo/postprocess.h" +#include "upbot_vision/postprocess.h" void letterbox(const cv::Mat &image, cv::Mat &padded_image, BOX_RECT &pads, const float scale, const cv::Size &target_size, const cv::Scalar &pad_color = cv::Scalar(128, 128, 128)); int resize_rga(rga_buffer_t &src, rga_buffer_t &dst, const cv::Mat &image, cv::Mat &resized_image, const cv::Size &target_size); -#endif //_RKNN_YOLOV5_DEMO_PREPROCESS_H_ +#endif //_upbot_vision_PREPROCESS_H_ diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/ranging.h b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/ranging.h similarity index 95% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/ranging.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/ranging.h index 2f1cd33..3af5a21 100644 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/include/rknn_yolov5_demo/ranging.h +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/include/upbot_vision/ranging.h @@ -1,80 +1,80 @@ -#pragma once - -#include -#include - -#include -#include -#include "rknn_yolov5_demo/detection.h" -#include - - -using namespace cv; - -class Ranging -{ -private: - // rknn_handle hdx; - cv::VideoCapture vcapture; - Detection yolov5s; - - /* new stereo - Mat cam_matrix_left = (Mat_(3, 3) << - 4.809895643547006e+02, 0, 0, - 0,4.807599168204821e+02, 0, - 3.362108165786334e+02, 2.298502481932070e+02, 1); - Mat cam_matrix_right = (Mat_(3, 3) << - 4.903260126250775e+02, 0, 0, - 0,4.900310486342847e+02, 0, - 3.230124997386542e+02, 2.346297967642670e+02, 1); - Mat distortion_l = (Mat_(1, 5) <<0.113688825569154,-0.106166584327678, 0, - 0, 0); - - Mat distortion_r = (Mat_(1, 5) <<0.121425307936153,-0.141892782717707, 0, - 0, 0); - Mat rotate = (Mat_(3, 3) << - 0.999996295879846, 8.723884080433472e-04, 0.002578209660240, - -8.682590894537506e-04,0.999998339366207, -0.001602308016931, - -0.002579603213718,0.001600063527818,0.999995392711370); - Mat trans = (Mat_(3, 1) << - -60.348359844102470,-0.030699794141365, 0.495248628081046); -*/ - Mat cam_matrix_left = (Mat_(3, 3) << - 4.869084743604942e+02, 0, 0, - 0,4.859921620798602e+02, 0, - 2.813183643903652e+02, 2.267657091677993e+02, 1); - Mat cam_matrix_right = (Mat_(3, 3) << - 4.859133331805883e+02, 0, 0, - 0,4.850356748771951e+02, 0, - 2.970046483040089e+02, 2.324763397214774e+02, 1); - Mat distortion_l = (Mat_(1, 5) <<0.121235284781974,-0.161097849662596, 0, - 0, 0); - - Mat distortion_r = (Mat_(1, 5) <<0.105479235005840,-0.120347246815955, 0, - 0, 0); - Mat rotate = (Mat_(3, 3) << - 0.999921984818601, 3.753847738839353e-04, -0.012485325894835, - -4.085449515452996e-04, 0.999996396040715, -0.002653487630467, - 0.012484284819374, 0.002658381435011,0.999918534502034); - Mat trans = (Mat_(3, 1) << - -60.319997608188590, -0.019664800882533, -0.638993708428792); - - cv::Mat mapX1, mapX2, mapY1, mapY2, q, Z; - - int imgw, imgh; - detect_result_group_t detect_result_group; - cv::Mat info; - cv::Mat empty; - - - -public: - Ranging(){}; - Ranging(int index, int imgw, int imgh); - void rectifyImage(cv::Mat &oriImgL, cv::Mat &oriImgR); - void getInfo(cv::Mat &imgl, cv::Mat &imgr, cv::Mat &detBoxes, cv::Mat &info); - std::vector pic2cam(int u, int v); - std::vector muban(cv::Mat &left_image, cv::Mat &right_image, const int *coordinates); - std::vector get_range(); - void horizon_estimate(cv::Mat& img, cv::Mat& bboxs,int k); -}; +#pragma once + +#include +#include + +#include +#include +#include "upbot_vision/detection.h" +#include + + +using namespace cv; + +class Ranging +{ +private: + // rknn_handle hdx; + cv::VideoCapture vcapture; + Detection yolov5s; + + /* new stereo + Mat cam_matrix_left = (Mat_(3, 3) << + 4.809895643547006e+02, 0, 0, + 0,4.807599168204821e+02, 0, + 3.362108165786334e+02, 2.298502481932070e+02, 1); + Mat cam_matrix_right = (Mat_(3, 3) << + 4.903260126250775e+02, 0, 0, + 0,4.900310486342847e+02, 0, + 3.230124997386542e+02, 2.346297967642670e+02, 1); + Mat distortion_l = (Mat_(1, 5) <<0.113688825569154,-0.106166584327678, 0, + 0, 0); + + Mat distortion_r = (Mat_(1, 5) <<0.121425307936153,-0.141892782717707, 0, + 0, 0); + Mat rotate = (Mat_(3, 3) << + 0.999996295879846, 8.723884080433472e-04, 0.002578209660240, + -8.682590894537506e-04,0.999998339366207, -0.001602308016931, + -0.002579603213718,0.001600063527818,0.999995392711370); + Mat trans = (Mat_(3, 1) << + -60.348359844102470,-0.030699794141365, 0.495248628081046); +*/ + Mat cam_matrix_left = (Mat_(3, 3) << + 4.869084743604942e+02, 0, 0, + 0,4.859921620798602e+02, 0, + 2.813183643903652e+02, 2.267657091677993e+02, 1); + Mat cam_matrix_right = (Mat_(3, 3) << + 4.859133331805883e+02, 0, 0, + 0,4.850356748771951e+02, 0, + 2.970046483040089e+02, 2.324763397214774e+02, 1); + Mat distortion_l = (Mat_(1, 5) <<0.121235284781974,-0.161097849662596, 0, + 0, 0); + + Mat distortion_r = (Mat_(1, 5) <<0.105479235005840,-0.120347246815955, 0, + 0, 0); + Mat rotate = (Mat_(3, 3) << + 0.999921984818601, 3.753847738839353e-04, -0.012485325894835, + -4.085449515452996e-04, 0.999996396040715, -0.002653487630467, + 0.012484284819374, 0.002658381435011,0.999918534502034); + Mat trans = (Mat_(3, 1) << + -60.319997608188590, -0.019664800882533, -0.638993708428792); + + cv::Mat mapX1, mapX2, mapY1, mapY2, q, Z; + + int imgw, imgh; + detect_result_group_t detect_result_group; + cv::Mat info; + cv::Mat empty; + + + +public: + Ranging(){}; + Ranging(int index, int imgw, int imgh); + void rectifyImage(cv::Mat &oriImgL, cv::Mat &oriImgR); + void getInfo(cv::Mat &imgl, cv::Mat &imgr, cv::Mat &detBoxes, cv::Mat &info); + std::vector pic2cam(int u, int v); + std::vector muban(cv::Mat &left_image, cv::Mat &right_image, const int *coordinates); + std::vector get_range(); + void horizon_estimate(cv::Mat& img, cv::Mat& bboxs,int k); +}; diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/model/RK3588/yolov5s-640-640.rknn b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/model/RK3588/yolov5s-640-640.rknn similarity index 100% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/model/RK3588/yolov5s-640-640.rknn rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/model/RK3588/yolov5s-640-640.rknn diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/model/bus.jpg b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/model/bus.jpg similarity index 100% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/model/bus.jpg rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/model/bus.jpg diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/model/coco_80_labels_list.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/model/coco_80_labels_list.txt similarity index 100% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/model/coco_80_labels_list.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/model/coco_80_labels_list.txt diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/msg/dis_info.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/msg/dis_info.msg similarity index 100% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/msg/dis_info.msg rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/msg/dis_info.msg diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/msg/dis_info_array.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/msg/dis_info_array.msg new file mode 100644 index 0000000..fae3856 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/msg/dis_info_array.msg @@ -0,0 +1 @@ +upbot_vision/dis_info[] dis \ No newline at end of file diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/package.xml similarity index 94% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/package.xml index 4d3a144..036e992 100644 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/package.xml +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/package.xml @@ -1,8 +1,8 @@ - rknn_yolov5_demo + upbot_vision 0.0.0 - The rknn_yolov5_demo package + The upbot_vision package @@ -19,7 +19,7 @@ - + diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/detection.cc b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/detection.cc similarity index 99% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/detection.cc rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/detection.cc index 4836761..b8ecf6e 100644 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/detection.cc +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/detection.cc @@ -1,4 +1,4 @@ -#include "rknn_yolov5_demo/detection.h" +#include "upbot_vision/detection.h" #include diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/main.cc b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/main.cc similarity index 76% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/main.cc rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/main.cc index f2a6b77..95b37b8 100644 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/main.cc +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/main.cc @@ -1,84 +1,85 @@ -#include -#include -#include -#include -#include "rknn_yolov5_demo/ranging.h" -#include -#include -#include -#include -#include "opencv2/imgcodecs/imgcodecs.hpp" -#include -#include -#include "rknn_yolov5_demo/dis_info.h" -#include "rknn_yolov5_demo/dis_info_array.h" - -#define ANGLE_TO_RADIAN(angle) ((angle)*3141.59 / 180000) - -Ranging r(11, 640, 480); -std::queue> frameInfo; -std::mutex g_mutex; - -void *ranging(void *args) // ranging线程 -{ - ros::Publisher dis_pub_; - ros::NodeHandle nh; - dis_pub_ = nh.advertise("ceju_info",10); - while (true) - { - // std::cout<<" ************ enter ranging *********** "< result = r.get_range(); - cv ::Mat info = result[2]; - rknn_yolov5_demo::dis_info_array dis_array; - if(!info.empty()) - { - for(int i=0;i(i,0)>0&&info.at(i,0)<200) - { - rknn_yolov5_demo::dis_info data; - data.distance = info.at(i,0); - data.width = info.at(i,1); - data.height = info.at(i,2); - data.angle = info.at(i,3); - dis_array.dis.push_back(data); - std::cout< +#include +#include +#include +#include "upbot_vision/ranging.h" +#include +#include +#include +#include +#include "opencv2/imgcodecs/imgcodecs.hpp" +#include +#include +#include "upbot_vision/dis_info.h" +#include "upbot_vision/dis_info_array.h" + +#define ANGLE_TO_RADIAN(angle) ((angle)*3141.59 / 180000) + +Ranging r(11, 640, 480); +std::queue> frameInfo; +std::mutex g_mutex; + +void *ranging(void *args) // ranging线程 +{ + ros::Publisher dis_pub_; + ros::NodeHandle nh; + // <>内为自定义ros消息类型 存储障碍物信息包括与障碍物的距离、障碍物宽度、高度和与障碍物之间的夹角 + dis_pub_ = nh.advertise("ceju_info",10); + while (true) + { + /*进入测距并发布障碍物信息*/; + std::vector result = r.get_range(); + cv ::Mat info = result[2]; + upbot_vision::dis_info_array dis_array; + if(!info.empty()) + { + for(int i=0;i(i,0)>0&&info.at(i,0)<200) + { + upbot_vision::dis_info data; + data.distance = info.at(i,0); + data.width = info.at(i,1); + data.height = info.at(i,2); + data.angle = info.at(i,3); + dis_array.dis.push_back(data); + std::cout< #include @@ -22,7 +22,7 @@ #include #include #include -#define LABEL_NALE_TXT_PATH "/home/firefly/obj_dec/src/rknn_yolov5_demo/model/coco_80_labels_list.txt" +#define LABEL_NALE_TXT_PATH "/home/firefly/pibot_ros/ros_ws/src/upbot_vision/model/coco_80_labels_list.txt" static char *labels[OBJ_CLASS_NUM]; diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/preprocess.cc b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/preprocess.cc similarity index 98% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/preprocess.cc rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/preprocess.cc index 8fe09d6..f194342 100644 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/preprocess.cc +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/preprocess.cc @@ -12,7 +12,7 @@ // See the License for the specific language governing permissions and // limitations under the License. -#include "rknn_yolov5_demo/preprocess.h" +#include "upbot_vision/preprocess.h" void letterbox(const cv::Mat &image, cv::Mat &padded_image, BOX_RECT &pads, const float scale, const cv::Size &target_size, const cv::Scalar &pad_color) { diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/ranging.cc b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/ranging.cc similarity index 93% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/ranging.cc rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/ranging.cc index d994a6e..96589c2 100644 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/ranging.cc +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/ranging.cc @@ -1,392 +1,399 @@ -#include -#include -#include -#include -#include "rknn_yolov5_demo/ranging.h" -#include -#include - -#include -#include -#include -#include "opencv2/core.hpp" -#include "opencv2/imgcodecs.hpp" -#include "opencv2/imgproc.hpp" - -#include -#include -#include -#include -#include -#include -#include -#include -// #include - - -using namespace cv; -void Ranging::rectifyImage(Mat &oriImgL, Mat &oriImgR) //重映射函数 -{ - remap(oriImgL, oriImgL, mapX1, mapX2, cv::INTER_LINEAR); - remap(oriImgR, oriImgR, mapY1, mapY2, cv::INTER_LINEAR); -} - -std::vector Ranging::pic2cam(int u, int v) //像素坐标转相机坐标 -{ - //(u,v)->(x,y)"(loc[0],loc[1])" - std::vector loc; - loc.push_back((u - cam_matrix_right.at(0, 2)) * q.at(2, 3) / cam_matrix_right.at(0, 0)); - loc.push_back((v - cam_matrix_right.at(1, 2)) * q.at(2, 3) / cam_matrix_right.at(1, 1)); - return loc; -} - -std::vector Ranging::muban(Mat &left_image, Mat &right_image, const int *coordinates) //模板匹配 -{ - int x1 = coordinates[0], y1 = coordinates[1], x2 = coordinates[2], y2 = coordinates[3]; - Mat tpl = right_image.rowRange(max(y1 - 2, 0), min(y2 + 2, 479)).colRange(x1, x2); //获取目标框 - Mat target = left_image.rowRange(max(y1 - 20, 0), min(y2 + 20, 479)).colRange(0, 639); //待匹配图像,极线约束,只需要同水平区域 - int th = tpl.rows, tw = tpl.cols; - Mat result; - - matchTemplate(target, tpl, result, TM_CCOEFF_NORMED); //匹配方法:归一化相关系数即零均值归一化互相关 - double minVal, maxVal; - Point minLoc, maxLoc; - minMaxLoc(result, &minVal, &maxVal, &minLoc, &maxLoc); //得到匹配点坐标 - Point tl = maxLoc, br; - - br.x = min(maxLoc.x + tw, 639); //转为像素坐标系 - br.y = min(maxLoc.y + th, 479); //转为像素坐标系 - ////展示匹配结果 - // br.x = min(maxLoc.x + tw, 319); - // br.y = min(maxLoc.y + th, 239); - //rectangle(target, tl, br, (0, 255, 0), 3); - //imshow("match-", target); - //waitKey(2); - - std::vector maxloc; - maxloc.push_back(maxLoc.x); - maxloc.push_back(maxLoc.y); - return maxloc; -} - -void Ranging::horizon_estimate(Mat& img, Mat& bboxs,int k) -{ - //保证摄像头与地面平行 - int x1 = bboxs.at(k, 0); - int x2 = bboxs.at(k, 2); - int y1 = bboxs.at(k, 1); - int y2 = bboxs.at(k, 3); - float Conf = bboxs.at(k, 4); - int cls = bboxs.at(k, 5); - float Y_B, Y_H; - cv::Mat edge, grayImage; - std::vector idx; - cv::Mat tpl = img.rowRange(y1, min(y2+5,479)).colRange(x1, x2); // 取感兴趣范围 - //Mat target = left_image.rowRange(max(y1 - 20, 0), min(y2 + 20, 479)).colRange(0, 639); - cv::Mat Z = Mat::zeros(2, tpl.cols, CV_32FC1); - cvtColor(tpl, grayImage, COLOR_BGR2GRAY); - GaussianBlur(grayImage,grayImage,Size(5,5),0); - Canny(grayImage, edge, 120, 180, 3); //提取边缘,获取与地面接触点 - //cv::imshow("1",edge); - //cv::waitKey(1); - float cluster[650]; - for (int i = 0;i<650;i++) - { - cluster[i] = 0; - } - int y_b, y_h; - int j = 0; - for (int i = 0; i < x2-x1; i++) - { - //Mat temp = edge.rowRange(max(y1, 0), min(y2 + 4, 479)).colRange(x1, x2); - Mat temp = edge.col(i); //取第i列 - // std::cout << "temp: " < point_b = pic2cam(x1 + i, 240); //转为相机坐标系 - std::vector point_H = pic2cam(320, 240); - float alfa = atan((point_b[0] - point_H[0]) / q.at(2, 3)); - if (idx.size() < 1) - { - Z.at(0, i) = 0; - Z.at(1, i) = alfa; - continue; - } - int y_b = idx[idx.size() - 1].y + y1; // - y_b = int(y_b + y_b*0.03); - int y_h = 240; - point_b = pic2cam(x1 + i, y_b); //转为相机坐标系 - point_H = pic2cam(320, y_h); - Y_B = point_b[1]; - Y_H = point_H[1]; - - float H_c = 60; //摄像头离地高度,单位mm - float theta = 0; //摄像头与地面夹角,弧度 - float d = (1/cos(theta)* cos(theta)) * q.at(2, 3) * H_c / (Y_B - Y_H)- H_c*tan(theta); - alfa = atan((point_b[0] - point_H[0]) / q.at(2, 3)); - //cout << "d: " << d << endl; - if (d > 700) - {d = 0;} - Z.at(0, i) = d/cos(alfa); - Z.at(1, i) = alfa; - } - - this->Z = Z.clone(); -} - -void Ranging::getInfo(Mat &imgL, Mat &imgR, Mat &detBoxes, Mat &info) -{ - Mat imgGrayL, imgGrayR; - cvtColor(imgL, imgGrayL, COLOR_BGR2GRAY); - cvtColor(imgR, imgGrayR, COLOR_BGR2GRAY); - Mat imgR_weight = imgR.clone(); - Mat infoRow; - for (uchar i = 0; i < detBoxes.rows; i++) - { - int x1 = detBoxes.at(i, 0); - int y1 = detBoxes.at(i, 1); - int x2 = detBoxes.at(i, 2); - int y2 = detBoxes.at(i, 3); - - float Conf = detBoxes.at(i, 4); - - if (x1 > 600 || x2 < 50 || y1 < 5 || y2 > 475 || x1 < 2 || x2 > 590 || abs(x2 - x1) > 550) //当目标框偏左、偏右或者过大,略去该物体 - { - continue; - } - - // rectangle(imgR, Point(int(x1), int(y1)), - // Point(int(x2), int(y2)), Scalar(0, 0, 255)); //绘制目标框 - - int coordinates[4] = {x1, y1, x2, y2}; - std::vector disp_pixel = muban(imgGrayL, imgGrayR, coordinates); //模板匹配 - float disp_pixel_x = disp_pixel[0] - x1; //ˮ计算水平视差 - float disp_pixel_y = disp_pixel[1] - y1; // - disp_pixel_x = (int)(disp_pixel_x + disp_pixel_x * 0.12); //0.12为模板匹配产生的误差,为经验值,通过拟合得到 - - //Mat disp_matrix = Mat(1, 1, CV_32F, Scalar(disp_pixel_x)), disp_pixel_xyz; - Mat disp_matrix = Mat(imgGrayL.rows, imgGrayL.cols, CV_32F, Scalar(disp_pixel_x)); //定义视差矩阵,所有值均为水平视差,方便转换为三维坐标,并具有水平距离信息 - Mat threed_pixel_xyz, threedImage; - reprojectImageTo3D(disp_matrix, threedImage, q, false); //2d->3d - threed_pixel_xyz = threedImage.mul(threedImage); //每一像素点求平方, - std::vector channels; - split(threed_pixel_xyz.clone(), channels); - threed_pixel_xyz = channels[0] + channels[1] + channels[2]; //计算欧式距离 - threed_pixel_xyz.forEach([](float &value, const int *position) { value = sqrt(value); }); // 获得距离d - - int mid_pixel = int((x1 + x2) / 2); - std::vector mid = pic2cam(imgGrayR.cols / 2, imgGrayR.rows); //计算角度,从像素坐标转为相机坐标 - std::vector loc_tar = pic2cam(mid_pixel, imgGrayR.rows); - float alfa = atan((loc_tar[0] - mid[0]) / q.at(2, 3)); - - - if (disp_pixel_x > 240) // 距离太近,视差过大 - { - char cm[15]; - //sprintf(cm, "cannot match !"); - // sprintf(cm, "%d , %.2f", cls,Conf); - putText(imgR, cm, Point((x1), (y1)), FONT_HERSHEY_PLAIN, 2.2, Scalar(0, 0, 255), 2); - infoRow = (Mat_(1, 4) << -1, -1, -1, -1); - infoRow.copyTo(info.row(i)); - continue; - } - else - { - float median = threed_pixel_xyz.at((int)(y1 + y2) / 2, (int)(x1 + x2) / 2); - - std::vector ltPoint = pic2cam(x1, y1); - std::vector rbPoint = pic2cam(x2, y2); - float xx1 = ltPoint[0], yy1 = ltPoint[1], xx2 = rbPoint[0], yy2 = rbPoint[1]; //计算宽高 - float f = q.at(2, 3); - float f1 = sqrt(xx1 * xx1 + yy1 * yy1 + f * f); //推导得出 - //float w1 = median * sqrt((xx1 - xx2) * (xx1 - xx2) / 4) / f1; - float h1 = median * sqrt((yy1 - yy2) * (yy1 - yy2) / 4) / f1; - float f2 = sqrt(xx2 * xx2 + yy2 * yy2 + f * f); - //float w2 = median * sqrt((xx2 - xx1) * (xx2 - xx1) / 4) / f2; - float h2 = median * sqrt((yy2 - yy1) * (yy2 - yy1) / 4) / f2; - float w1 = sqrt(pow((threedImage.at(y2, x1)[0] - threedImage.at(y2, x2)[0]), 2) + - pow((threedImage.at(y2, x1)[1] - threedImage.at(y2, x2)[1]), 2) + - pow((threedImage.at(y2, x1)[2] - threedImage.at(y2, x2)[2]), 2)); - - w1 = w1 / 10; - h1 = (h1 + h2) / 10; - median /= 10; - if (median > 120) //过远测距误差较大 - { - //char tf[9]; - //sprintf(tf, "Too far!"); - char cm[15]; - //sprintf(cm, "cannot match !"); - // sprintf(cm, "%d , %.2f", cls,Conf); - putText(imgR, cm, Point((x1), (y1)), FONT_HERSHEY_PLAIN, 2.2, Scalar(0, 0, 255), 2); - infoRow = (Mat_(1, 4) << -1, -1, -1, -1); - infoRow.copyTo(info.row(i)); - continue; - } - // ��ͼ���ϻ�����Ϣ - // char dc[50], wh[50]; - // std::string cname = className[cls + 1]; - // sprintf(dc, "dis:%.2fcm %d", median, cls); - // sprintf(wh, "W: %.2fcm H: %.2fcm alfa: %2f", w1, h1, alfa); - // putText(imgR, dc, Point(x1, y2), FONT_HERSHEY_PLAIN, 1.5, Scalar(0, 0, 255), 2); - // putText(imgR, wh, Point(x1, y1), FONT_HERSHEY_PLAIN, 1.5, Scalar(0, 0, 255), 1.5); - - - //返回数据 - infoRow = (Mat_(1, 4) << median, w1, h1, alfa); - infoRow.copyTo(info.row(i)); - }; - } - // cv::imshow("kk",imgR); - // cv::waitKey(1); - -} - -Ranging::Ranging(int index, int imgw, int imgh) : //初始化 - mapX1(imgh, imgw, CV_64F), //初始化矩阵 ,用于计算无畸变和修正转换映射。 - mapX2(imgh, imgw, CV_64F), - mapY1(imgh, imgw, CV_64F), - mapY2(imgh, imgw, CV_64F), - q(4, 4, CV_64F), - imgw(imgw), - imgh(imgh) -{ - // Z = Mat::zeros(2, 1, CV_32FC1); - vcapture = cv::VideoCapture(index); - //vcapture.set(CAP_PROP_FOURCC, CAP_OPENCV_MJPEG); - vcapture.set(cv::CAP_PROP_FPS, 30); - vcapture.set(cv::CAP_PROP_FRAME_WIDTH, imgw * 2); - vcapture.set(cv::CAP_PROP_FRAME_HEIGHT, imgh); - vcapture.set(cv::CAP_PROP_BUFFERSIZE, 1); - - - auto imgSize = Size(imgw, imgh); - Mat r1(3, 3, CV_64F), r2(3, 3, CV_64F), p1(3, 4, CV_64F), p2(3, 4, CV_64F); - - stereoRectify(cam_matrix_left.t(), distortion_l, cam_matrix_right.t(), distortion_r, - imgSize, rotate.t(), trans, r1, r2, p1, p2, q);//立体校正 - - initUndistortRectifyMap(cam_matrix_left.t(), distortion_l, r1, p1, imgSize, CV_32F, mapX1, mapX2);//计算无畸变和修正转换映射 - initUndistortRectifyMap(cam_matrix_right.t(), distortion_r, r2, p2, imgSize, CV_32F, mapY1, mapY2);//计算无畸变和修正转换映射 - - // RKNN_Create(&hdx, modelPath); // 初始化检测模型 - std::cout<< " ******************* CAMERA initialization ********************" << std::endl; - -} - - - - -std::vector Ranging::get_range() -{ - - double rang_old, rang_now; - // rang_old = ros::Time::now().toSec(); //测试运行时间 - Mat frame, lframe, rframe; - // vcapture.read(frame); //获取视频帧 - vcapture >> frame; - - // cv::imshow("frame",frame); - - if (!frame.empty()) - { - int64 t = getTickCount(); - Mat lframe(frame.colRange(0, imgw).clone()); //拷贝左图 - Mat rframe(frame.colRange(imgw, imgw * 2).clone()); //拷贝右图 - - rectifyImage(lframe, rframe); // - - cv::Mat Rframe = rframe.clone(); - - detect_result_group = yolov5s.outputParse(Rframe); - - if (detect_result_group.count<=0) - { - std::cout<<"detect nothing"<name, "person") == 0 || strcmp(det_result->name, "bottle") == 0|| strcmp(det_result->name, "cup") == 0) - if(strcmp(det_result->name, "vase") == 0|| strcmp(det_result->name, "suitcase") == 0) - { - count++; - sprintf(text, "%s %.1f%%", det_result->name, det_result->prop * 100); - // printf("%s @ (%d %d %d %d) %f\n", det_result->name, det_result->box.left, det_result->box.top, - // det_result->box.right, det_result->box.bottom, det_result->prop); - - int xmin = det_result->box.left; - int ymin = det_result->box.top; - int xmax = det_result->box.right; - int ymax = det_result->box.bottom; - - rectangle(Rframe, cv::Point(xmin, ymin), cv::Point(xmax, ymax), cv::Scalar(256, 0, 0, 256), 3); - putText(Rframe, text, cv::Point(xmin, ymin + 12), cv::FONT_HERSHEY_SIMPLEX, 0.4, cv::Scalar(255, 255, 255)); - - // (x,y) (x,y) conf - detBoxes.at(count-1, 0) = xmin; - detBoxes.at(count-1, 1) = ymin; - detBoxes.at(count-1, 2) = xmax; - detBoxes.at(count-1, 3) = ymax; - detBoxes.at(count-1, 4) = det_result->prop; - // detBoxes.at(i, 0) = xmin; - // detBoxes.at(i, 1) = ymin; - // detBoxes.at(i, 2) = xmax; - // detBoxes.at(i, 3) = ymax; - // detBoxes.at(i, 4) = det_result->prop; - } - // 实验测试,过滤过大的误检框*/ - // float ratio = (xmax - xmin) * (ymax - ymin) / 308480.; - // if (ratio > 0.7) - // { - // detBoxes.at(i, 5) = -1; - // continue; - // } - } - Mat finalBoxes(detBoxes, Range(0, count), Range::all()); - Mat info(count, 4, CV_32F); // 存储测距信息,存储格式:距离d,宽w,高h,角度α - // Mat info(detect_result_group.count, 4, CV_32F); // 存储测距信息,存储格式:距离d,宽w,高h,角度α - if (count) - // if (detect_result_group.count) - { - getInfo(lframe, rframe, finalBoxes, info); - // getInfo(lframe, rframe, detBoxes, info); - - for(int i=0; i(i, 0); - // float w1 = info.at(i, 1); - // float h1 = info.at(i, 2); - // float alfa = info.at(i, 3); - - int x1 = finalBoxes.at(i,0); - int y1 = finalBoxes.at(i,1); - int x2 = finalBoxes.at(i,2); - int y2 = finalBoxes.at(i,3); - - char dc[50], wh[50]; - sprintf(dc, "dis:%.2fcm ", median); - // sprintf(wh, "W: %.2fcm H: %.2fcm ", w1, h1); - putText(Rframe, dc, Point(x1, y2), cv::FONT_HERSHEY_SIMPLEX, 0.4, cv::Scalar(255, 255, 255)); - // putText(Rframe, wh, Point(x1, y1), cv::FONT_HERSHEY_SIMPLEX, 0.4, cv::Scalar(255, 255, 255)); - } - } - t = getTickCount() - t; - char fps[50]; - sprintf(fps, "fps: %d", int(1 / (t / getTickFrequency()))); - putText(Rframe, fps, Point(20, 20), FONT_HERSHEY_PLAIN, 1, Scalar(0, 0, 255), 1.5); - - cv::imshow("k",Rframe); - cv::waitKey(1); - return std::vector{rframe, detBoxes, info}; - } - return std::vector{empty}; -} - - +#include +#include +#include +#include +#include "upbot_vision/ranging.h" +#include +#include + +#include +#include +#include +#include "opencv2/core.hpp" +#include "opencv2/imgcodecs.hpp" +#include "opencv2/imgproc.hpp" + +#include +#include +#include +#include +#include +#include +#include +#include +// #include + + +using namespace cv; +void Ranging::rectifyImage(Mat &oriImgL, Mat &oriImgR) //重映射函数 +{ + remap(oriImgL, oriImgL, mapX1, mapX2, cv::INTER_LINEAR); + remap(oriImgR, oriImgR, mapY1, mapY2, cv::INTER_LINEAR); +} + +std::vector Ranging::pic2cam(int u, int v) //像素坐标转相机坐标 +{ + //(u,v)->(x,y)"(loc[0],loc[1])" + std::vector loc; + loc.push_back((u - cam_matrix_right.at(0, 2)) * q.at(2, 3) / cam_matrix_right.at(0, 0)); + loc.push_back((v - cam_matrix_right.at(1, 2)) * q.at(2, 3) / cam_matrix_right.at(1, 1)); + return loc; +} + +std::vector Ranging::muban(Mat &left_image, Mat &right_image, const int *coordinates) //模板匹配 +{ + int x1 = coordinates[0], y1 = coordinates[1], x2 = coordinates[2], y2 = coordinates[3]; + Mat tpl = right_image.rowRange(max(y1 - 2, 0), min(y2 + 2, 479)).colRange(x1, x2); //获取目标框 + Mat target = left_image.rowRange(max(y1 - 20, 0), min(y2 + 20, 479)).colRange(0, 639); //待匹配图像,极线约束,只需要同水平区域 + int th = tpl.rows, tw = tpl.cols; + Mat result; + + matchTemplate(target, tpl, result, TM_CCOEFF_NORMED); //匹配方法:归一化相关系数即零均值归一化互相关 + double minVal, maxVal; + Point minLoc, maxLoc; + minMaxLoc(result, &minVal, &maxVal, &minLoc, &maxLoc); //得到匹配点坐标 + Point tl = maxLoc, br; + + br.x = min(maxLoc.x + tw, 639); //转为像素坐标系 + br.y = min(maxLoc.y + th, 479); //转为像素坐标系 + ////展示匹配结果 + // br.x = min(maxLoc.x + tw, 319); + // br.y = min(maxLoc.y + th, 239); + //rectangle(target, tl, br, (0, 255, 0), 3); + //imshow("match-", target); + //waitKey(2); + + std::vector maxloc; + maxloc.push_back(maxLoc.x); + maxloc.push_back(maxLoc.y); + return maxloc; +} + +void Ranging::horizon_estimate(Mat& img, Mat& bboxs,int k) +{ + //保证摄像头与地面平行 + int x1 = bboxs.at(k, 0); + int x2 = bboxs.at(k, 2); + int y1 = bboxs.at(k, 1); + int y2 = bboxs.at(k, 3); + float Conf = bboxs.at(k, 4); + int cls = bboxs.at(k, 5); + float Y_B, Y_H; + cv::Mat edge, grayImage; + std::vector idx; + cv::Mat tpl = img.rowRange(y1, min(y2+5,479)).colRange(x1, x2); // 取感兴趣范围 + //Mat target = left_image.rowRange(max(y1 - 20, 0), min(y2 + 20, 479)).colRange(0, 639); + cv::Mat Z = Mat::zeros(2, tpl.cols, CV_32FC1); + cvtColor(tpl, grayImage, COLOR_BGR2GRAY); + GaussianBlur(grayImage,grayImage,Size(5,5),0); + Canny(grayImage, edge, 120, 180, 3); //提取边缘,获取与地面接触点 + //cv::imshow("1",edge); + //cv::waitKey(1); + float cluster[650]; + for (int i = 0;i<650;i++) + { + cluster[i] = 0; + } + int y_b, y_h; + int j = 0; + for (int i = 0; i < x2-x1; i++) + { + //Mat temp = edge.rowRange(max(y1, 0), min(y2 + 4, 479)).colRange(x1, x2); + Mat temp = edge.col(i); //取第i列 + // std::cout << "temp: " < point_b = pic2cam(x1 + i, 240); //转为相机坐标系 + std::vector point_H = pic2cam(320, 240); + float alfa = atan((point_b[0] - point_H[0]) / q.at(2, 3)); + if (idx.size() < 1) + { + Z.at(0, i) = 0; + Z.at(1, i) = alfa; + continue; + } + int y_b = idx[idx.size() - 1].y + y1; // + y_b = int(y_b + y_b*0.03); + int y_h = 240; + point_b = pic2cam(x1 + i, y_b); //转为相机坐标系 + point_H = pic2cam(320, y_h); + Y_B = point_b[1]; + Y_H = point_H[1]; + + float H_c = 60; //摄像头离地高度,单位mm + float theta = 0; //摄像头与地面夹角,弧度 + float d = (1/cos(theta)* cos(theta)) * q.at(2, 3) * H_c / (Y_B - Y_H)- H_c*tan(theta); + alfa = atan((point_b[0] - point_H[0]) / q.at(2, 3)); + //cout << "d: " << d << endl; + if (d > 700) + {d = 0;} + Z.at(0, i) = d/cos(alfa); + Z.at(1, i) = alfa; + } + + this->Z = Z.clone(); +} + +void Ranging::getInfo(Mat &imgL, Mat &imgR, Mat &detBoxes, Mat &info) +{ + Mat imgGrayL, imgGrayR; + cvtColor(imgL, imgGrayL, COLOR_BGR2GRAY); + cvtColor(imgR, imgGrayR, COLOR_BGR2GRAY); + Mat imgR_weight = imgR.clone(); + Mat infoRow; + for (uchar i = 0; i < detBoxes.rows; i++) + { + int x1 = detBoxes.at(i, 0); + int y1 = detBoxes.at(i, 1); + int x2 = detBoxes.at(i, 2); + int y2 = detBoxes.at(i, 3); + + float Conf = detBoxes.at(i, 4); + + if (x1 > 600 || x2 < 50 || y1 < 5 || y2 > 475 || x1 < 2 || x2 > 590 || abs(x2 - x1) > 550) //当目标框偏左、偏右或者过大,略去该物体 + { + continue; + } + + // rectangle(imgR, Point(int(x1), int(y1)), + // Point(int(x2), int(y2)), Scalar(0, 0, 255)); //绘制目标框 + + int coordinates[4] = {x1, y1, x2, y2}; + std::vector disp_pixel = muban(imgGrayL, imgGrayR, coordinates); //模板匹配 + float disp_pixel_x = disp_pixel[0] - x1; //ˮ计算水平视差 + float disp_pixel_y = disp_pixel[1] - y1; // + disp_pixel_x = (int)(disp_pixel_x + disp_pixel_x * 0.12); //0.12为模板匹配产生的误差,为经验值,通过拟合得到 + + //Mat disp_matrix = Mat(1, 1, CV_32F, Scalar(disp_pixel_x)), disp_pixel_xyz; + Mat disp_matrix = Mat(imgGrayL.rows, imgGrayL.cols, CV_32F, Scalar(disp_pixel_x)); //定义视差矩阵,所有值均为水平视差,方便转换为三维坐标,并具有水平距离信息 + Mat threed_pixel_xyz, threedImage; + reprojectImageTo3D(disp_matrix, threedImage, q, false); //2d->3d + threed_pixel_xyz = threedImage.mul(threedImage); //每一像素点求平方, + std::vector channels; + split(threed_pixel_xyz.clone(), channels); + threed_pixel_xyz = channels[0] + channels[1] + channels[2]; //计算欧式距离 + threed_pixel_xyz.forEach([](float &value, const int *position) { value = sqrt(value); }); // 获得距离d + + int mid_pixel = int((x1 + x2) / 2); + std::vector mid = pic2cam(imgGrayR.cols / 2, imgGrayR.rows); //计算角度,从像素坐标转为相机坐标 + std::vector loc_tar = pic2cam(mid_pixel, imgGrayR.rows); + float alfa = atan((loc_tar[0] - mid[0]) / q.at(2, 3)); + + + if (disp_pixel_x > 240) // 距离太近,视差过大 + { + char cm[15]; + //sprintf(cm, "cannot match !"); + // sprintf(cm, "%d , %.2f", cls,Conf); + putText(imgR, cm, Point((x1), (y1)), FONT_HERSHEY_PLAIN, 2.2, Scalar(0, 0, 255), 2); + infoRow = (Mat_(1, 4) << -1, -1, -1, -1); + infoRow.copyTo(info.row(i)); + continue; + } + else + { + float median = threed_pixel_xyz.at((int)(y1 + y2) / 2, (int)(x1 + x2) / 2); + + std::vector ltPoint = pic2cam(x1, y1); + std::vector rbPoint = pic2cam(x2, y2); + float xx1 = ltPoint[0], yy1 = ltPoint[1], xx2 = rbPoint[0], yy2 = rbPoint[1]; //计算宽高 + float f = q.at(2, 3); + float f1 = sqrt(xx1 * xx1 + yy1 * yy1 + f * f); //推导得出 + //float w1 = median * sqrt((xx1 - xx2) * (xx1 - xx2) / 4) / f1; + float h1 = median * sqrt((yy1 - yy2) * (yy1 - yy2) / 4) / f1; + float f2 = sqrt(xx2 * xx2 + yy2 * yy2 + f * f); + //float w2 = median * sqrt((xx2 - xx1) * (xx2 - xx1) / 4) / f2; + float h2 = median * sqrt((yy2 - yy1) * (yy2 - yy1) / 4) / f2; + float w1 = sqrt(pow((threedImage.at(y2, x1)[0] - threedImage.at(y2, x2)[0]), 2) + + pow((threedImage.at(y2, x1)[1] - threedImage.at(y2, x2)[1]), 2) + + pow((threedImage.at(y2, x1)[2] - threedImage.at(y2, x2)[2]), 2)); + + w1 = w1 / 10; + h1 = (h1 + h2) / 10; + median /= 10; + if (median > 120) //过远测距误差较大 + { + //char tf[9]; + //sprintf(tf, "Too far!"); + char cm[15]; + //sprintf(cm, "cannot match !"); + // sprintf(cm, "%d , %.2f", cls,Conf); + putText(imgR, cm, Point((x1), (y1)), FONT_HERSHEY_PLAIN, 2.2, Scalar(0, 0, 255), 2); + infoRow = (Mat_(1, 4) << -1, -1, -1, -1); + infoRow.copyTo(info.row(i)); + continue; + } + // ��ͼ���ϻ�����Ϣ + // char dc[50], wh[50]; + // std::string cname = className[cls + 1]; + // sprintf(dc, "dis:%.2fcm %d", median, cls); + // sprintf(wh, "W: %.2fcm H: %.2fcm alfa: %2f", w1, h1, alfa); + // putText(imgR, dc, Point(x1, y2), FONT_HERSHEY_PLAIN, 1.5, Scalar(0, 0, 255), 2); + // putText(imgR, wh, Point(x1, y1), FONT_HERSHEY_PLAIN, 1.5, Scalar(0, 0, 255), 1.5); + + + //返回数据 + infoRow = (Mat_(1, 4) << median, w1, h1, alfa); + infoRow.copyTo(info.row(i)); + }; + } + // cv::imshow("kk",imgR); + // cv::waitKey(1); + +} + +Ranging::Ranging(int index, int imgw, int imgh) : //初始化 + mapX1(imgh, imgw, CV_64F), //初始化矩阵 ,用于计算无畸变和修正转换映射。 + mapX2(imgh, imgw, CV_64F), + mapY1(imgh, imgw, CV_64F), + mapY2(imgh, imgw, CV_64F), + q(4, 4, CV_64F), + imgw(imgw), + imgh(imgh) +{ + // Z = Mat::zeros(2, 1, CV_32FC1); + vcapture = cv::VideoCapture(index); + //vcapture.set(CAP_PROP_FOURCC, CAP_OPENCV_MJPEG); + vcapture.set(cv::CAP_PROP_FPS, 30); + vcapture.set(cv::CAP_PROP_FRAME_WIDTH, imgw * 2); + vcapture.set(cv::CAP_PROP_FRAME_HEIGHT, imgh); + vcapture.set(cv::CAP_PROP_BUFFERSIZE, 1); + + + auto imgSize = Size(imgw, imgh); + Mat r1(3, 3, CV_64F), r2(3, 3, CV_64F), p1(3, 4, CV_64F), p2(3, 4, CV_64F); + + stereoRectify(cam_matrix_left.t(), distortion_l, cam_matrix_right.t(), distortion_r, + imgSize, rotate.t(), trans, r1, r2, p1, p2, q);//立体校正 + + initUndistortRectifyMap(cam_matrix_left.t(), distortion_l, r1, p1, imgSize, CV_32F, mapX1, mapX2);//计算无畸变和修正转换映射 + initUndistortRectifyMap(cam_matrix_right.t(), distortion_r, r2, p2, imgSize, CV_32F, mapY1, mapY2);//计算无畸变和修正转换映射 + + // RKNN_Create(&hdx, modelPath); // 初始化检测模型 + std::cout<< " ******************* CAMERA initialization ********************" << std::endl; + +} + + + + +std::vector Ranging::get_range() +{ + + double rang_old, rang_now; + // rang_old = ros::Time::now().toSec(); //测试运行时间 + Mat frame, lframe, rframe; + // vcapture.read(frame); //获取视频帧 + vcapture >> frame; + + // cv::imshow("frame",frame); + + if (!frame.empty()) + { + int64 t = getTickCount(); + Mat lframe(frame.colRange(0, imgw).clone()); //拷贝左图 + Mat rframe(frame.colRange(imgw, imgw * 2).clone()); //拷贝右图 + + rectifyImage(lframe, rframe); // + + cv::Mat Rframe = rframe.clone(); + + detect_result_group = yolov5s.outputParse(Rframe); + + if (detect_result_group.count<=0) + { + std::cout<<"detect nothing"<name, "vase") == 0 || strcmp(det_result->name, "suitcase") == 0) + if(strcmp(det_result->name, "vase") == 0|| strcmp(det_result->name, "suitcase") == 0|| + // strcmp(det_result->name, "mouse") == 0|| strcmp(det_result->name, "keyboard") == 0|| + // strcmp(det_result->name, "mouse") == 0|| strcmp(det_result->name, "bowl") == 0|| + strcmp(det_result->name, "cup") == 0|| strcmp(det_result->name, "bottle")==0) + { + count++; + sprintf(text, "%s %.1f%%", det_result->name, det_result->prop * 100); + // printf("%s @ (%d %d %d %d) %f\n", det_result->name, det_result->box.left, det_result->box.top, + // det_result->box.right, det_result->box.bottom, det_result->prop); + + int xmin = det_result->box.left; + int ymin = det_result->box.top; + int xmax = det_result->box.right; + int ymax = det_result->box.bottom; + + rectangle(Rframe, cv::Point(xmin, ymin), cv::Point(xmax, ymax), cv::Scalar(256, 0, 0, 256), 3); + putText(Rframe, text, cv::Point(xmin, ymin + 12), cv::FONT_HERSHEY_SIMPLEX, 0.4, cv::Scalar(255, 255, 255)); + + // (x,y) (x,y) conf + detBoxes.at(count-1, 0) = xmin; + detBoxes.at(count-1, 1) = ymin; + detBoxes.at(count-1, 2) = xmax; + detBoxes.at(count-1, 3) = ymax; + detBoxes.at(count-1, 4) = det_result->prop; + // detBoxes.at(i, 0) = xmin; + // detBoxes.at(i, 1) = ymin; + // detBoxes.at(i, 2) = xmax; + // detBoxes.at(i, 3) = ymax; + // detBoxes.at(i, 4) = det_result->prop; + } + // 实验测试,过滤过大的误检框*/ + // float ratio = (xmax - xmin) * (ymax - ymin) / 308480.; + // if (ratio > 0.7) + // { + // detBoxes.at(i, 5) = -1; + // continue; + // } + } + Mat finalBoxes(detBoxes, Range(0, count), Range::all()); + Mat info(count, 4, CV_32F); // 存储测距信息,存储格式:距离d,宽w,高h,角度α + // Mat info(detect_result_group.count, 4, CV_32F); // 存储测距信息,存储格式:距离d,宽w,高h,角度α + if (count) + // if (detect_result_group.count) + { + // getInfo(lframe, rframe, finalBoxes, info); + getInfo(lframe, rframe, finalBoxes, info); + + for(int i=0; i(i, 0); + // float w1 = info.at(i, 1); + // float h1 = info.at(i, 2); + // float alfa = info.at(i, 3); + + int x1 = finalBoxes.at(i,0); + int y1 = finalBoxes.at(i,1); + int x2 = finalBoxes.at(i,2); + int y2 = finalBoxes.at(i,3); + + // int x1 = detBoxes.at(i,0); + // int y1 = detBoxes.at(i,1); + // int x2 = detBoxes.at(i,2); + // int y2 = detBoxes.at(i,3); + char dc[50], wh[50]; + sprintf(dc, "dis:%.2fcm ", median); + // sprintf(wh, "W: %.2fcm H: %.2fcm ", w1, h1); + putText(Rframe, dc, Point(x1, y2), cv::FONT_HERSHEY_SIMPLEX, 0.4, cv::Scalar(255, 255, 255)); + // putText(Rframe, wh, Point(x1, y1), cv::FONT_HERSHEY_SIMPLEX, 0.4, cv::Scalar(255, 255, 255)); + } + } + t = getTickCount() - t; + char fps[50]; + sprintf(fps, "fps: %d", int(1 / (t / getTickFrequency()))); + putText(Rframe, fps, Point(20, 20), FONT_HERSHEY_PLAIN, 1, Scalar(0, 0, 255), 1.5); + + cv::imshow("k",Rframe); + cv::waitKey(1); + return std::vector{rframe, detBoxes, info}; + } + return std::vector{empty}; +} + + diff --git a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/sub_dis.cc b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/sub_dis.cc similarity index 78% rename from Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/sub_dis.cc rename to Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/sub_dis.cc index b432e7f..b0aca3e 100644 --- a/Code/MowingRobot/obj_dec/src/rknn_yolov5_demo/src/sub_dis.cc +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/upbot_vision/src/sub_dis.cc @@ -1,8 +1,12 @@ -#include "ros/ros.h" -#include "rknn_yolov5_demo/dis_info.h" -#include "rknn_yolov5_demo/dis_info_array.h" +/* + 单元测试:测试双目检测得到的障碍物信息是否通过话题发出 +*/ -void doMsg(const rknn_yolov5_demo::dis_info_array::ConstPtr& ceju_msg){ +#include "ros/ros.h" +#include "upbot_vision/dis_info.h" +#include "upbot_vision/dis_info_array.h" + +void doMsg(const upbot_vision::dis_info_array::ConstPtr& ceju_msg){ for (const auto& obstacle_info : ceju_msg->dis) { @@ -36,7 +40,7 @@ int main(int argc, char *argv[]) setlocale(LC_ALL,""); ros::init(argc,argv,"sub_dis"); ros::NodeHandle nh; - ros::Subscriber sub = nh.subscribe("ceju_info",10,doMsg); + ros::Subscriber sub = nh.subscribe("ceju_info",10,doMsg); ros::spin();//循环读取接收的数据,并调用回调函数处理 diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/.gitignore b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/.gitignore similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/.gitignore rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/.gitignore diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/README.md b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/README.md rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/README.md diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/f4.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/f4.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/f4.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/f4.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/f4_view.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/f4_view.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/f4_view.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/f4_view.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/g4.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/g4.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/g4.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/g4.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/g4_view.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/g4_view.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/g4_view.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/g4_view.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/lidar.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/lidar.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/lidar.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/lidar.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/lidar.rviz b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/lidar.rviz similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/lidar.rviz rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/lidar.rviz diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/lidar_rviz.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/lidar_rviz.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/lidar_rviz.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/lidar_rviz.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/lidar_view.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/lidar_view.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/lidar_view.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/lidar_view.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/x4.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/x4.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/x4.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/x4.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/x4_view.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/x4_view.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/launch/x4_view.launch rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/launch/x4_view.launch diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/package.xml rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/locker.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/locker.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/locker.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/locker.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/serial.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/serial.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/serial.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/serial.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/thread.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/thread.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/thread.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/thread.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/v8stdint.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/v8stdint.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/v8stdint.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/v8stdint.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/ydlidar_driver.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/ydlidar_driver.h similarity index 96% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/ydlidar_driver.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/ydlidar_driver.h index ec5da24..a94ce93 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/include/ydlidar_driver.h +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/include/ydlidar_driver.h @@ -1,280 +1,280 @@ -#ifndef YDLIDAR_DRIVER_H -#define YDLIDAR_DRIVER_H - -#include "locker.h" -#include "serial.h" -#include "thread.h" - -#if !defined(__cplusplus) -#ifndef __cplusplus -#error "The YDLIDAR SDK requires a C++ compiler to be built" -#endif -#endif -#if !defined(_countof) -#define _countof(_Array) (int)(sizeof(_Array) / sizeof(_Array[0])) -#endif - -#define LIDAR_CMD_STOP 0x65 -#define LIDAR_CMD_SCAN 0x60 -#define LIDAR_CMD_FORCE_SCAN 0x61 -#define LIDAR_CMD_RESET 0x80 -#define LIDAR_CMD_FORCE_STOP 0x00 -#define LIDAR_CMD_GET_EAI 0x55 -#define LIDAR_CMD_GET_DEVICE_INFO 0x90 -#define LIDAR_CMD_GET_DEVICE_HEALTH 0x92 -#define LIDAR_ANS_TYPE_DEVINFO 0x4 -#define LIDAR_ANS_TYPE_DEVHEALTH 0x6 -#define LIDAR_CMD_SYNC_BYTE 0xA5 -#define LIDAR_CMDFLAG_HAS_PAYLOAD 0x80 -#define LIDAR_ANS_SYNC_BYTE1 0xA5 -#define LIDAR_ANS_SYNC_BYTE2 0x5A -#define LIDAR_ANS_TYPE_MEASUREMENT 0x81 -#define LIDAR_RESP_MEASUREMENT_SYNCBIT (0x1<<0) -#define LIDAR_RESP_MEASUREMENT_QUALITY_SHIFT 2 -#define LIDAR_RESP_MEASUREMENT_CHECKBIT (0x1<<0) -#define LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT 1 - -#define LIDAR_CMD_RUN_POSITIVE 0x06 -#define LIDAR_CMD_RUN_INVERSION 0x07 -#define LIDAR_CMD_SET_AIMSPEED_ADDMIC 0x09 -#define LIDAR_CMD_SET_AIMSPEED_DISMIC 0x0A -#define LIDAR_CMD_SET_AIMSPEED_ADD 0x0B -#define LIDAR_CMD_SET_AIMSPEED_DIS 0x0C -#define LIDAR_CMD_GET_AIMSPEED 0x0D - -#define LIDAR_CMD_SET_SAMPLING_RATE 0xD0 -#define LIDAR_CMD_GET_SAMPLING_RATE 0xD1 -#define LIDAR_STATUS_OK 0x0 -#define LIDAR_STATUS_WARNING 0x1 -#define LIDAR_STATUS_ERROR 0x2 - -#define PackageSampleMaxLngth 0x100 -typedef enum { - CT_Normal = 0, - CT_RingStart = 1, - CT_Tail, -}CT; -#define Node_Default_Quality (10<<2) -#define Node_Sync 1 -#define Node_NotSync 2 -#define PackagePaidBytes 10 -#define PH 0x55AA - -#if defined(_WIN32) -#pragma pack(1) -#endif - -struct node_info { - uint8_t sync_quality; - uint16_t angle_q6_checkbit; - uint16_t distance_q2; -} __attribute__((packed)) ; - -struct PackageNode { - uint8_t PakageSampleQuality; - uint16_t PakageSampleDistance; -}__attribute__((packed)); - -struct node_package { - uint16_t package_Head; - uint8_t package_CT; - uint8_t nowPackageNum; - uint16_t packageFirstSampleAngle; - uint16_t packageLastSampleAngle; - uint16_t checkSum; - PackageNode packageSample[PackageSampleMaxLngth]; -} __attribute__((packed)) ; - -struct node_packages { - uint16_t package_Head; - uint8_t package_CT; - uint8_t nowPackageNum; - uint16_t packageFirstSampleAngle; - uint16_t packageLastSampleAngle; - uint16_t checkSum; - uint16_t packageSampleDistance[PackageSampleMaxLngth]; -} __attribute__((packed)) ; - - -struct device_info{ - uint8_t model; - uint16_t firmware_version; - uint8_t hardware_version; - uint8_t serialnum[16]; -} __attribute__((packed)) ; - -struct device_health { - uint8_t status; - uint16_t error_code; -} __attribute__((packed)) ; - -struct sampling_rate { - uint8_t rate; -} __attribute__((packed)) ; - -struct scan_frequency { - uint32_t frequency; -} __attribute__((packed)) ; - -struct scan_rotation { - uint8_t rotation; -} __attribute__((packed)) ; - -struct cmd_packet { - uint8_t syncByte; - uint8_t cmd_flag; - uint8_t size; - uint8_t data; -} __attribute__((packed)) ; - -struct lidar_ans_header { - uint8_t syncByte1; - uint8_t syncByte2; - uint32_t size:30; - uint32_t subType:2; - uint8_t type; -} __attribute__((packed)); - -struct scanDot { - uint8_t quality; - float angle; - float dist; -}; - - -//! A struct for returning configuration from the YDLIDAR -struct LaserConfig { - //! Start angle for the laser scan [rad]. 0 is forward and angles are measured clockwise when viewing YDLIDAR from the top. - float min_angle; - //! Stop angle for the laser scan [rad]. 0 is forward and angles are measured clockwise when viewing YDLIDAR from the top. - float max_angle; - //! Scan resolution [rad]. - float ang_increment; - //! Scan resoltuion [s] - float time_increment; - //! Time between scans - float scan_time; - //! Minimum range [m] - float min_range; - //! Maximum range [m] - float max_range; - //! Range Resolution [m] - float range_res; -}; - - -//! A struct for returning laser readings from the YDLIDAR -struct LaserScan { - //! Array of ranges - std::vector ranges; - //! Array of intensities - std::vector intensities; - //! Self reported time stamp in nanoseconds - uint64_t self_time_stamp; - //! System time when first range was measured in nanoseconds - uint64_t system_time_stamp; - //! Configuration of scan - LaserConfig config; -}; - -using namespace std; -using namespace serial; - - -namespace ydlidar{ - - class YDlidarDriver - { - public: - static YDlidarDriver* singleton(){ - return _impl; - } - static void initDriver(){ - _impl = new YDlidarDriver; - } - static void done(){ - if(_impl){ - delete _impl; - _impl = NULL; - } - } - - result_t connect(const char * port_path, uint32_t baudrate); - void disconnect(); - const std::string getSDKVersion(); - void setIntensities(const bool isintensities); - result_t getHealth(device_health & health, uint32_t timeout = DEFAULT_TIMEOUT); - result_t getDeviceInfo(device_info & info, uint32_t timeout = DEFAULT_TIMEOUT); - result_t startScan(bool force = false, uint32_t timeout = DEFAULT_TIMEOUT) ; - result_t stop(); - result_t grabScanData(node_info * nodebuffer, size_t & count, uint32_t timeout = DEFAULT_TIMEOUT) ; - result_t ascendScanData(node_info * nodebuffer, size_t count); - void simpleScanData(std::vector * scan_data , node_info *buffer, size_t count); - - result_t reset(uint32_t timeout = DEFAULT_TIMEOUT); - result_t startMotor(); - result_t stopMotor(); - result_t getScanFrequency(scan_frequency & frequency, uint32_t timeout = DEFAULT_TIMEOUT); - result_t setScanFrequencyAdd(scan_frequency & frequency, uint32_t timeout = DEFAULT_TIMEOUT); - result_t setScanFrequencyDis(scan_frequency & frequency, uint32_t timeout = DEFAULT_TIMEOUT); - result_t setScanFrequencyAddMic(scan_frequency & frequency, uint32_t timeout = DEFAULT_TIMEOUT); - result_t setScanFrequencyDisMic(scan_frequency & frequency, uint32_t timeout = DEFAULT_TIMEOUT); - result_t getSamplingRate(sampling_rate & rate, uint32_t timeout = DEFAULT_TIMEOUT); - result_t setSamplingRate(sampling_rate & rate, uint32_t timeout = DEFAULT_TIMEOUT); - result_t setRotationPositive(scan_rotation & rotation, uint32_t timeout = DEFAULT_TIMEOUT); - result_t setRotationInversion(scan_rotation & rotation, uint32_t timeout = DEFAULT_TIMEOUT); - - protected: - YDlidarDriver(); - virtual ~YDlidarDriver(); - - result_t createThread(); - result_t waitPackage(node_info * node, uint32_t timeout = DEFAULT_TIMEOUT); - result_t waitScanData(node_info * nodebuffer, size_t & count, uint32_t timeout = DEFAULT_TIMEOUT); - int cacheScanData(); - result_t sendCommand(uint8_t cmd, const void * payload = NULL, size_t payloadsize = 0); - result_t waitResponseHeader(lidar_ans_header * header, uint32_t timeout = DEFAULT_TIMEOUT); - result_t waitForData(size_t data_count,uint32_t timeout = -1, size_t * returned_size = NULL); - result_t getData(uint8_t * data, size_t size); - result_t sendData(const uint8_t * data, size_t size); - void disableDataGrabbing(); - void setDTR(); - void clearDTR(); - - - public: - bool isConnected; - bool isScanning; - - enum { - DEFAULT_TIMEOUT = 2000, - MAX_SCAN_NODES = 2048, - }; - enum { - YDLIDAR_F4=1, - YDLIDAR_T1=2, - YDLIDAR_F2=3, - YDLIDAR_S4=4, - YDLIDAR_G4=5, - YDLIDAR_X4=6, - }; - node_info scan_node_buf[2048]; - size_t scan_node_count; - Locker _scanning_lock; - Event _dataEvent; - Locker _lock; - Thread _thread; - - private: - static int PackageSampleBytes; - static YDlidarDriver* _impl; - serial::Serial *_serial; - bool m_intensities; - int _sampling_rate; - uint32_t _baudrate; - bool isSupportMotorCtrl; - - }; -} - -#endif // YDLIDAR_DRIVER_H +#ifndef YDLIDAR_DRIVER_H +#define YDLIDAR_DRIVER_H + +#include "locker.h" +#include "serial.h" +#include "thread.h" + +#if !defined(__cplusplus) +#ifndef __cplusplus +#error "The YDLIDAR SDK requires a C++ compiler to be built" +#endif +#endif +#if !defined(_countof) +#define _countof(_Array) (int)(sizeof(_Array) / sizeof(_Array[0])) +#endif + +#define LIDAR_CMD_STOP 0x65 +#define LIDAR_CMD_SCAN 0x60 +#define LIDAR_CMD_FORCE_SCAN 0x61 +#define LIDAR_CMD_RESET 0x80 +#define LIDAR_CMD_FORCE_STOP 0x00 +#define LIDAR_CMD_GET_EAI 0x55 +#define LIDAR_CMD_GET_DEVICE_INFO 0x90 +#define LIDAR_CMD_GET_DEVICE_HEALTH 0x92 +#define LIDAR_ANS_TYPE_DEVINFO 0x4 +#define LIDAR_ANS_TYPE_DEVHEALTH 0x6 +#define LIDAR_CMD_SYNC_BYTE 0xA5 +#define LIDAR_CMDFLAG_HAS_PAYLOAD 0x80 +#define LIDAR_ANS_SYNC_BYTE1 0xA5 +#define LIDAR_ANS_SYNC_BYTE2 0x5A +#define LIDAR_ANS_TYPE_MEASUREMENT 0x81 +#define LIDAR_RESP_MEASUREMENT_SYNCBIT (0x1<<0) +#define LIDAR_RESP_MEASUREMENT_QUALITY_SHIFT 2 +#define LIDAR_RESP_MEASUREMENT_CHECKBIT (0x1<<0) +#define LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT 1 + +#define LIDAR_CMD_RUN_POSITIVE 0x06 +#define LIDAR_CMD_RUN_INVERSION 0x07 +#define LIDAR_CMD_SET_AIMSPEED_ADDMIC 0x09 +#define LIDAR_CMD_SET_AIMSPEED_DISMIC 0x0A +#define LIDAR_CMD_SET_AIMSPEED_ADD 0x0B +#define LIDAR_CMD_SET_AIMSPEED_DIS 0x0C +#define LIDAR_CMD_GET_AIMSPEED 0x0D + +#define LIDAR_CMD_SET_SAMPLING_RATE 0xD0 +#define LIDAR_CMD_GET_SAMPLING_RATE 0xD1 +#define LIDAR_STATUS_OK 0x0 +#define LIDAR_STATUS_WARNING 0x1 +#define LIDAR_STATUS_ERROR 0x2 + +#define PackageSampleMaxLngth 0x100 +typedef enum { + CT_Normal = 0, + CT_RingStart = 1, + CT_Tail, +}CT; +#define Node_Default_Quality (10<<2) +#define Node_Sync 1 +#define Node_NotSync 2 +#define PackagePaidBytes 10 +#define PH 0x55AA + +#if defined(_WIN32) +#pragma pack(1) +#endif + +struct node_info { + uint8_t sync_quality; + uint16_t angle_q6_checkbit; + uint16_t distance_q2; +} __attribute__((packed)) ; + +struct PackageNode { + uint8_t PakageSampleQuality; + uint16_t PakageSampleDistance; +}__attribute__((packed)); + +struct node_package { + uint16_t package_Head; + uint8_t package_CT; + uint8_t nowPackageNum; + uint16_t packageFirstSampleAngle; + uint16_t packageLastSampleAngle; + uint16_t checkSum; + PackageNode packageSample[PackageSampleMaxLngth]; +} __attribute__((packed)) ; + +struct node_packages { + uint16_t package_Head; + uint8_t package_CT; + uint8_t nowPackageNum; + uint16_t packageFirstSampleAngle; + uint16_t packageLastSampleAngle; + uint16_t checkSum; + uint16_t packageSampleDistance[PackageSampleMaxLngth]; +} __attribute__((packed)) ; + + +struct device_info{ + uint8_t model; + uint16_t firmware_version; + uint8_t hardware_version; + uint8_t serialnum[16]; +} __attribute__((packed)) ; + +struct device_health { + uint8_t status; + uint16_t error_code; +} __attribute__((packed)) ; + +struct sampling_rate { + uint8_t rate; +} __attribute__((packed)) ; + +struct scan_frequency { + uint32_t frequency; +} __attribute__((packed)) ; + +struct scan_rotation { + uint8_t rotation; +} __attribute__((packed)) ; + +struct cmd_packet { + uint8_t syncByte; + uint8_t cmd_flag; + uint8_t size; + uint8_t data; +} __attribute__((packed)) ; + +struct lidar_ans_header { + uint8_t syncByte1; + uint8_t syncByte2; + uint32_t size:30; + uint32_t subType:2; + uint8_t type; +} __attribute__((packed)); + +struct scanDot { + uint8_t quality; + float angle; + float dist; +}; + + +//! A struct for returning configuration from the YDLIDAR +struct LaserConfig { + //! Start angle for the laser scan [rad]. 0 is forward and angles are measured clockwise when viewing YDLIDAR from the top. + float min_angle; + //! Stop angle for the laser scan [rad]. 0 is forward and angles are measured clockwise when viewing YDLIDAR from the top. + float max_angle; + //! Scan resolution [rad]. + float ang_increment; + //! Scan resoltuion [s] + float time_increment; + //! Time between scans + float scan_time; + //! Minimum range [m] + float min_range; + //! Maximum range [m] + float max_range; + //! Range Resolution [m] + float range_res; +}; + + +//! A struct for returning laser readings from the YDLIDAR +struct LaserScan { + //! Array of ranges + std::vector ranges; + //! Array of intensities + std::vector intensities; + //! Self reported time stamp in nanoseconds + uint64_t self_time_stamp; + //! System time when first range was measured in nanoseconds + uint64_t system_time_stamp; + //! Configuration of scan + LaserConfig config; +}; + +using namespace std; +using namespace serial; + + +namespace ydlidar{ + + class YDlidarDriver + { + public: + static YDlidarDriver* singleton(){ + return _impl; + } + static void initDriver(){ + _impl = new YDlidarDriver; + } + static void done(){ + if(_impl){ + delete _impl; + _impl = NULL; + } + } + + result_t connect(const char * port_path, uint32_t baudrate); + void disconnect(); + const std::string getSDKVersion(); + void setIntensities(const bool isintensities); + result_t getHealth(device_health & health, uint32_t timeout = DEFAULT_TIMEOUT); + result_t getDeviceInfo(device_info & info, uint32_t timeout = DEFAULT_TIMEOUT); + result_t startScan(bool force = false, uint32_t timeout = DEFAULT_TIMEOUT) ; + result_t stop(); + result_t grabScanData(node_info * nodebuffer, size_t & count, uint32_t timeout = DEFAULT_TIMEOUT) ; + result_t ascendScanData(node_info * nodebuffer, size_t count); + void simpleScanData(std::vector * scan_data , node_info *buffer, size_t count); + + result_t reset(uint32_t timeout = DEFAULT_TIMEOUT); + result_t startMotor(); + result_t stopMotor(); + result_t getScanFrequency(scan_frequency & frequency, uint32_t timeout = DEFAULT_TIMEOUT); + result_t setScanFrequencyAdd(scan_frequency & frequency, uint32_t timeout = DEFAULT_TIMEOUT); + result_t setScanFrequencyDis(scan_frequency & frequency, uint32_t timeout = DEFAULT_TIMEOUT); + result_t setScanFrequencyAddMic(scan_frequency & frequency, uint32_t timeout = DEFAULT_TIMEOUT); + result_t setScanFrequencyDisMic(scan_frequency & frequency, uint32_t timeout = DEFAULT_TIMEOUT); + result_t getSamplingRate(sampling_rate & rate, uint32_t timeout = DEFAULT_TIMEOUT); + result_t setSamplingRate(sampling_rate & rate, uint32_t timeout = DEFAULT_TIMEOUT); + result_t setRotationPositive(scan_rotation & rotation, uint32_t timeout = DEFAULT_TIMEOUT); + result_t setRotationInversion(scan_rotation & rotation, uint32_t timeout = DEFAULT_TIMEOUT); + + protected: + YDlidarDriver(); + virtual ~YDlidarDriver(); + + result_t createThread(); + result_t waitPackage(node_info * node, uint32_t timeout = DEFAULT_TIMEOUT); + result_t waitScanData(node_info * nodebuffer, size_t & count, uint32_t timeout = DEFAULT_TIMEOUT); + int cacheScanData(); + result_t sendCommand(uint8_t cmd, const void * payload = NULL, size_t payloadsize = 0); + result_t waitResponseHeader(lidar_ans_header * header, uint32_t timeout = DEFAULT_TIMEOUT); + result_t waitForData(size_t data_count,uint32_t timeout = -1, size_t * returned_size = NULL); + result_t getData(uint8_t * data, size_t size); + result_t sendData(const uint8_t * data, size_t size); + void disableDataGrabbing(); + void setDTR(); + void clearDTR(); + + + public: + bool isConnected; + bool isScanning; + + enum { + DEFAULT_TIMEOUT = 2000, + MAX_SCAN_NODES = 2048, + }; + enum { + YDLIDAR_F4=1, + YDLIDAR_T1=2, + YDLIDAR_F2=3, + YDLIDAR_S4=4, + YDLIDAR_G4=5, + YDLIDAR_X4=6, + }; + node_info scan_node_buf[2048]; + size_t scan_node_count; + Locker _scanning_lock; + Event _dataEvent; + Locker _lock; + Thread _thread; + + private: + static int PackageSampleBytes; + static YDlidarDriver* _impl; + serial::Serial *_serial; + bool m_intensities; + int _sampling_rate; + uint32_t _baudrate; + bool isSupportMotorCtrl; + + }; +} + +#endif // YDLIDAR_DRIVER_H diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/common.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/common.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/common.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/common.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_linux.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_linux.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_linux.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_linux.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_osx.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_osx.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_osx.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_osx.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_win.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_win.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_win.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/list_ports/list_ports_win.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_serial.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_serial.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_serial.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_serial.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_serial.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_serial.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_serial.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_serial.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.cpp similarity index 94% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.cpp index 1c78d83..0be8222 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.cpp +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.cpp @@ -1,18 +1,18 @@ -#if !defined(_WIN32) -#include "unix_timer.h" - -namespace impl{ - uint64_t f_getus() { - struct timespec t; - t.tv_sec = t.tv_nsec = 0; - clock_gettime(CLOCK_MONOTONIC, &t); - return t.tv_sec*1000000LL + t.tv_nsec/1000; - } - uint32_t f_getms() { - struct timespec t; - t.tv_sec = t.tv_nsec = 0; - clock_gettime(CLOCK_MONOTONIC, &t); - return t.tv_sec*1000L + t.tv_nsec/1000000L; - } -} +#if !defined(_WIN32) +#include "unix_timer.h" + +namespace impl{ + uint64_t f_getus() { + struct timespec t; + t.tv_sec = t.tv_nsec = 0; + clock_gettime(CLOCK_MONOTONIC, &t); + return t.tv_sec*1000000LL + t.tv_nsec/1000; + } + uint32_t f_getms() { + struct timespec t; + t.tv_sec = t.tv_nsec = 0; + clock_gettime(CLOCK_MONOTONIC, &t); + return t.tv_sec*1000L + t.tv_nsec/1000000L; + } +} #endif \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/unix/unix_timer.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win.h similarity index 93% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win.h index 6e5d8a8..0d25852 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win.h +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win.h @@ -1,11 +1,11 @@ -#pragma once - -#include -#include -#include -#include -#include -#include - -#include "win_timer.h" - +#pragma once + +#include +#include +#include +#include +#include +#include + +#include "win_timer.h" + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.cpp similarity index 95% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.cpp index 737631a..1dfe8e8 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.cpp +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.cpp @@ -1,747 +1,747 @@ -#if defined(_WIN32) - -#include "win_serial.h" - -namespace serial { - - static inline void set_common_props(DCB *dcb) { - dcb->fBinary = TRUE; - dcb->fAbortOnError = FALSE; - dcb->fNull = FALSE; - dcb->fErrorChar = FALSE; - - if (dcb->fDtrControl == DTR_CONTROL_HANDSHAKE){ - dcb->fDtrControl = DTR_CONTROL_DISABLE; - } - - if (dcb->fRtsControl != RTS_CONTROL_HANDSHAKE){ - dcb->fRtsControl = RTS_CONTROL_DISABLE; - } - } - - static inline void set_baudrate(DCB *dcb, unsigned long baudrate) { - // setup baud rate - switch (baudrate) { -#ifdef CBR_0 - case 0: dcb->BaudRate = CBR_0; break; -#endif -#ifdef CBR_50 - case 50: dcb->BaudRate = CBR_50; break; -#endif -#ifdef CBR_75 - case 75: dcb->BaudRate = CBR_75; break; -#endif -#ifdef CBR_110 - case 110: dcb->BaudRate = CBR_110; break; -#endif -#ifdef CBR_134 - case 134: dcb->BaudRate = CBR_134; break; -#endif -#ifdef CBR_150 - case 150: dcb->BaudRate = CBR_150; break; -#endif -#ifdef CBR_200 - case 200: dcb->BaudRate = CBR_200; break; -#endif -#ifdef CBR_300 - case 300: dcb->BaudRate = CBR_300; break; -#endif -#ifdef CBR_600 - case 600: dcb->BaudRate = CBR_600; break; -#endif -#ifdef CBR_1200 - case 1200: dcb->BaudRate = CBR_1200; break; -#endif -#ifdef CBR_1800 - case 1800: dcb->BaudRate = CBR_1800; break; -#endif -#ifdef CBR_2400 - case 2400: dcb->BaudRate = CBR_2400; break; -#endif -#ifdef CBR_4800 - case 4800: dcb->BaudRate = CBR_4800; break; -#endif -#ifdef CBR_7200 - case 7200: dcb->BaudRate = CBR_7200; break; -#endif -#ifdef CBR_9600 - case 9600: dcb->BaudRate = CBR_9600; break; -#endif -#ifdef CBR_14400 - case 14400: dcb->BaudRate = CBR_14400; break; -#endif -#ifdef CBR_19200 - case 19200: dcb->BaudRate = CBR_19200; break; -#endif -#ifdef CBR_28800 - case 28800: dcb->BaudRate = CBR_28800; break; -#endif -#ifdef CBR_57600 - case 57600: dcb->BaudRate = CBR_57600; break; -#endif -#ifdef CBR_76800 - case 76800: dcb->BaudRate = CBR_76800; break; -#endif -#ifdef CBR_38400 - case 38400: dcb->BaudRate = CBR_38400; break; -#endif -#ifdef CBR_115200 - case 115200: dcb->BaudRate = CBR_115200; break; -#endif -#ifdef CBR_128000 - case 128000: dcb->BaudRate = CBR_128000; break; -#endif -#ifdef CBR_153600 - case 153600: dcb->BaudRate = CBR_153600; break; -#endif -#ifdef CBR_230400 - case 230400: dcb->BaudRate = CBR_230400; break; -#endif -#ifdef CBR_256000 - case 256000: dcb->BaudRate = CBR_256000; break; -#endif -#ifdef CBR_460800 - case 460800: dcb->BaudRate = CBR_460800; break; -#endif -#ifdef CBR_921600 - case 921600: dcb->BaudRate = CBR_921600; break; -#endif - default: - // Try to blindly assign it - dcb->BaudRate = baudrate; - } - } - - static inline void set_databits(DCB *dcb, serial::bytesize_t bytesize) { - switch (bytesize) { - case serial::fivebits: - dcb->ByteSize = 5; - break; - case serial::sixbits: - dcb->ByteSize = 6; - break; - case serial::sevenbits: - dcb->ByteSize = 7; - break; - case serial::eightbits: - dcb->ByteSize = 8; - break; - default: - dcb->ByteSize = 8; - break; - } - } - - static inline void set_parity(DCB *dcb, serial::parity_t parity) { - dcb->fParity = TRUE; - switch (parity) { - case serial::parity_none: - dcb->Parity = NOPARITY; - dcb->fParity = FALSE; - break; - case serial::parity_odd: - dcb->Parity = ODDPARITY; - break; - case serial::parity_even: - dcb->Parity = EVENPARITY; - break; - case serial::parity_mark: - dcb->Parity = MARKPARITY; - break; - case serial::parity_space: - dcb->Parity = SPACEPARITY; - break; - default: - dcb->Parity = NOPARITY; - dcb->fParity = FALSE; - break; - } - } - - static inline void set_stopbits(DCB *dcb, serial::stopbits_t stopbits) { - switch (stopbits) { - case serial::stopbits_one: - dcb->StopBits = ONESTOPBIT; - break; - case serial::stopbits_one_point_five: - dcb->StopBits = ONE5STOPBITS; - break; - case serial::stopbits_two: - dcb->StopBits = TWOSTOPBITS; - break; - default: - dcb->StopBits = ONESTOPBIT; - break; - } - } - - static inline void set_flowcontrol(DCB *dcb, serial::flowcontrol_t flowcontrol) { - dcb->fInX = FALSE; - dcb->fOutX = FALSE; - dcb->fOutxCtsFlow = FALSE; - if (dcb->fRtsControl == RTS_CONTROL_HANDSHAKE){ - dcb->fRtsControl = RTS_CONTROL_DISABLE; - } - switch (flowcontrol) { - case serial::flowcontrol_none: - break; - case serial::flowcontrol_software: - dcb->fInX = TRUE; - dcb->fOutX = TRUE; - break; - case serial::flowcontrol_hardware: - dcb->fOutxCtsFlow = TRUE; - dcb->fRtsControl = RTS_CONTROL_HANDSHAKE; - break; - default: - break; - } - } - - inline wstring _prefix_port_if_needed(const wstring &input){ - static wstring windows_com_port_prefix = L"\\\\.\\"; - if (input.compare(windows_com_port_prefix) != 0) { - return windows_com_port_prefix + input; - } - return input; - } - - Serial::SerialImpl::SerialImpl (const string &port, unsigned long baudrate, - bytesize_t bytesize, - parity_t parity, stopbits_t stopbits, - flowcontrol_t flowcontrol) - : port_ (port.begin(), port.end()), fd_ (INVALID_HANDLE_VALUE), is_open_ (false), - baudrate_ (baudrate), parity_ (parity), - bytesize_ (bytesize), stopbits_ (stopbits), flowcontrol_ (flowcontrol) - { - if (port_.empty () == false){ - open (); - } - read_mutex = CreateMutex(NULL, false, NULL); - write_mutex = CreateMutex(NULL, false, NULL); - memset(&_wait_o, 0, sizeof(_wait_o)); - - _wait_o.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); - } - - Serial::SerialImpl::~SerialImpl () { - this->close(); - CloseHandle(_wait_o.hEvent); - CloseHandle(read_mutex); - CloseHandle(write_mutex); - } - - bool Serial::SerialImpl::open () { - if (port_.empty ()) { - return false; - } - if (is_open_ == true) { - return true; - } - - wstring port_with_prefix = _prefix_port_if_needed(port_); - LPCWSTR lp_port = port_with_prefix.c_str(); - fd_ = CreateFileW(lp_port, - GENERIC_READ | GENERIC_WRITE, - 0, - 0, - OPEN_EXISTING, - FILE_ATTRIBUTE_NORMAL, - 0); - - if (fd_ == INVALID_HANDLE_VALUE) { - DWORD errno_ = GetLastError(); - switch (errno_) { - case ERROR_FILE_NOT_FOUND: - default: - return false; - - } - } - - - - if(reconfigurePort()) - { - is_open_ = true; - return true; - } - ::CloseHandle(fd_); - return false; - - } - - bool Serial::SerialImpl::reconfigurePort () { - if (fd_ == INVALID_HANDLE_VALUE) { - // Can only operate on a valid file descriptor - return false; - } - - DCB dcb; - if (!getDcb(&dcb)){ - return false; - } - - set_common_props(&dcb); - set_baudrate(&dcb, baudrate_); - set_databits(&dcb, bytesize_); - set_parity(&dcb, parity_); - set_stopbits(&dcb, stopbits_); - set_flowcontrol(&dcb, flowcontrol_); - - if (!setDcb(&dcb)){ - return false; - } - - setTimeout(timeout_); - - return true; - - } - - void Serial::SerialImpl::close () { - ResetEvent(_wait_o.hEvent); - if (is_open_ == true) { - if (fd_ != INVALID_HANDLE_VALUE) { - ::CancelIo(fd_); - int ret; - ret = CloseHandle(fd_); - } - fd_ = INVALID_HANDLE_VALUE; - is_open_ = false; - } - } - - bool Serial::SerialImpl::isOpen () const{ - return is_open_; - } - - size_t Serial::SerialImpl::available () { - if (!is_open_) { - return 0; - } - COMSTAT cs; - DWORD error; - if (ClearCommError(fd_, &error, &cs) && error >0) { - PurgeComm(fd_, PURGE_RXABORT | PURGE_RXCLEAR); - return 0; - } - return static_cast(cs.cbInQue); - } - - bool Serial::SerialImpl::waitReadable (uint32_t /*timeout*/) { - return false; - } - - void Serial::SerialImpl::waitByteTimes (size_t /*count*/) { - return ; - } - - size_t Serial::SerialImpl::waitfordata(size_t data_count, uint32_t timeout, size_t * returned_size) { - if (!is_open_) { - return 0; - } - size_t length = 0; - if (returned_size==NULL) returned_size=(size_t *)&length; - *returned_size = 0; - - if ( is_open_) { - size_t queue_remaining = available(); - if (queue_remaining >= data_count) { - *returned_size = queue_remaining; - return 0; - } - } - - COMSTAT stat; - DWORD error; - DWORD msk,lengths; - while ( is_open_ ) - { - msk = 0; - SetCommMask(fd_, EV_RXCHAR | EV_ERR ); - if(!WaitCommEvent(fd_, &msk, &_wait_o)) - { - if(GetLastError() == ERROR_IO_PENDING) - { - if (WaitForSingleObject(_wait_o.hEvent, timeout) == WAIT_TIMEOUT) { - *returned_size =0; - return -1; - } - - GetOverlappedResult(fd_, &_wait_o, &lengths, TRUE); - - ::ResetEvent(_wait_o.hEvent); - }else{ - ClearCommError(fd_, &error, &stat); - *returned_size = stat.cbInQue; - return -2; - } - } - - if(msk & EV_ERR){ - // FIXME: may cause problem here - ClearCommError(fd_, &error, &stat); - } - - if(msk & EV_RXCHAR){ - ClearCommError(fd_, &error, &stat); - if(stat.cbInQue >= data_count){ - *returned_size = stat.cbInQue; - return 0; - } - } - } - *returned_size=0; - return -2; - } - - - size_t Serial::SerialImpl::read (uint8_t *buf, size_t size){ - if (!is_open_) { - return 0; - } - DWORD bytes_read; - if (!ReadFile(fd_, buf, static_cast(size), &bytes_read, NULL)) { - if(GetLastError() == ERROR_IO_PENDING) { - if(!GetOverlappedResult(fd_, NULL, &bytes_read, FALSE)){ - if(GetLastError() != ERROR_IO_INCOMPLETE){ - return 0; - } - } - } - return 0; - } - return (size_t) (bytes_read); - } - - size_t Serial::SerialImpl::write (const uint8_t *data, size_t length) { - if (is_open_ == false) { - return 0; - } - if (data == NULL || length ==0) return 0; - DWORD error; - if(ClearCommError(fd_, &error, NULL) && error > 0){ - PurgeComm(fd_, PURGE_TXABORT | PURGE_TXCLEAR); - } - DWORD bytes_written; - if (!WriteFile(fd_, data, static_cast(length), &bytes_written, NULL)) { - return 0; - } - return (size_t) (bytes_written); - } - - void Serial::SerialImpl::setPort (const string &port) { - port_ = wstring(port.begin(), port.end()); - } - - string Serial::SerialImpl::getPort () const { - return string(port_.begin(), port_.end()); - } - - void Serial::SerialImpl::setTimeout (serial::Timeout &timeout) { - timeout_ = timeout; - if(fd_ == INVALID_HANDLE_VALUE){ - return; - } - // Setup timeouts - COMMTIMEOUTS timeouts = {0}; - timeouts.ReadIntervalTimeout = timeout_.inter_byte_timeout; - timeouts.ReadTotalTimeoutConstant = timeout_.read_timeout_constant; - timeouts.ReadTotalTimeoutMultiplier = timeout_.read_timeout_multiplier; - timeouts.WriteTotalTimeoutConstant = timeout_.write_timeout_constant; - timeouts.WriteTotalTimeoutMultiplier = timeout_.write_timeout_multiplier; - if (!SetCommTimeouts(fd_, &timeouts)) { - return; - } - - } - - serial::Timeout Serial::SerialImpl::getTimeout () const { - return timeout_; - } - - - bool Serial::SerialImpl::setDcb(DCB *dcb) { - if (!::SetCommState(fd_, dcb)) { - return false; - } - return true; - } - - bool Serial::SerialImpl::getDcb(DCB *dcb) { - ::ZeroMemory(dcb, sizeof(DCB)); - dcb->DCBlength = sizeof(DCB); - - if (!::GetCommState(fd_, dcb)) { - return false; - } - return true; - } - - - - bool Serial::SerialImpl::setBaudrate (unsigned long baudrate){ - DCB dcb; - if (!getDcb(&dcb)){ - return false; - } - baudrate_ = baudrate; - set_baudrate(&dcb, baudrate); - - return setDcb(&dcb); - } - - unsigned long Serial::SerialImpl::getBaudrate () const { - return baudrate_; - } - - bool Serial::SerialImpl::setBytesize (serial::bytesize_t bytesize) { - - DCB dcb; - if (!getDcb(&dcb)){ - return false; - } - bytesize_ = bytesize; - set_databits(&dcb, bytesize); - - return setDcb(&dcb); - } - - serial::bytesize_t Serial::SerialImpl::getBytesize () const { - return bytesize_; - } - - bool Serial::SerialImpl::setParity (serial::parity_t parity) { - - DCB dcb; - if(!getDcb(&dcb)){ - return false; - } - parity_ = parity; - set_parity(&dcb, parity); - - return setDcb(&dcb); - } - - serial::parity_t Serial::SerialImpl::getParity () const { - return parity_; - } - - bool Serial::SerialImpl::setStopbits (serial::stopbits_t stopbits) { - - DCB dcb; - if (!getDcb(&dcb)){ - return false; - } - stopbits_ = stopbits; - set_stopbits(&dcb, stopbits); - - return setDcb(&dcb); - } - - serial::stopbits_t Serial::SerialImpl::getStopbits () const { - return stopbits_; - } - - bool Serial::SerialImpl::setFlowcontrol (serial::flowcontrol_t flowcontrol) { - - DCB dcb; - if (!getDcb(&dcb)){ - return false; - } - flowcontrol_ = flowcontrol; - set_flowcontrol(&dcb, flowcontrol); - - return setDcb(&dcb); - } - - serial::flowcontrol_t Serial::SerialImpl::getFlowcontrol () const { - return flowcontrol_; - } - - void Serial::SerialImpl::flush () { - if (is_open_ == false) { - return; - } - //FlushFileBuffers (fd_); - PurgeComm(fd_, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR ); - } - - void Serial::SerialImpl::flushInput () { - return; - } - - void Serial::SerialImpl::flushOutput () { - return; - } - - void Serial::SerialImpl::sendBreak (int duration) { - if (!setBreak(true)){ - return ; - } - - ::Sleep(duration); - - if (!setBreak(false)){ - return ; - } - - } - - bool Serial::SerialImpl::setBreak (bool level) { - if (is_open_ == false) { - return false; - } - if (level) { - //EscapeCommFunction (fd_, SETBREAK); - //::SetCommBreak(fd_); - if(::SetCommBreak(fd_) == FALSE){ - return false; - } - } else { - //::ClearCommBreak(fd_); - //EscapeCommFunction (fd_, CLRBREAK); - if(::ClearCommBreak(fd_) == FALSE){ - return false; - } - } - return true; - } - - bool Serial::SerialImpl::setRTS (bool level) { - if (is_open_ == false) { - return false; - } - if (level) { - //EscapeCommFunction (fd_, SETRTS); - if(EscapeCommFunction (fd_, SETRTS) == FALSE){ - return false; - } - } else { - //EscapeCommFunction (fd_, CLRRTS); - if(EscapeCommFunction (fd_, CLRRTS) == FALSE){ - return false; - } - } - return true; - } - - bool Serial::SerialImpl::setDTR (bool level) { - if (is_open_ == false) { - return false; - } - if (level) { - //EscapeCommFunction (fd_, SETDTR); - if(EscapeCommFunction (fd_, SETDTR) == FALSE){ - return false; - } - } else { - //EscapeCommFunction (fd_, CLRDTR); - if(EscapeCommFunction (fd_, CLRDTR) == FALSE){ - return false; - } - } - return true; - } - - bool Serial::SerialImpl::waitForChange () { - if (is_open_ == false) { - return false; - } - DWORD dwCommEvent; - - if (!SetCommMask(fd_, EV_CTS | EV_DSR | EV_RING | EV_RLSD)) { - // Error setting communications mask - return false; - } - - if (!WaitCommEvent(fd_, &dwCommEvent, NULL)) { - // An error occurred waiting for the event. - return false; - } else { - // Event has occurred. - return true; - } - } - - bool Serial::SerialImpl::getCTS () { - if (is_open_ == false) { - return false; - } - DWORD dwModemStatus; - if (!GetCommModemStatus(fd_, &dwModemStatus)) { - return false; - } - - return (MS_CTS_ON & dwModemStatus) != 0; - } - - bool Serial::SerialImpl::getDSR () { - if (is_open_ == false) { - return false; - } - DWORD dwModemStatus; - if (!GetCommModemStatus(fd_, &dwModemStatus)) { - return false; - } - - return (MS_DSR_ON & dwModemStatus) != 0; - } - - bool Serial::SerialImpl::getRI() { - if (is_open_ == false) { - return false; - } - DWORD dwModemStatus; - if (!GetCommModemStatus(fd_, &dwModemStatus)) { - return false; - } - - return (MS_RING_ON & dwModemStatus) != 0; - } - - bool Serial::SerialImpl::getCD() - { - if (is_open_ == false) { - return false; - } - DWORD dwModemStatus; - if (!GetCommModemStatus(fd_, &dwModemStatus)) { - // Error in GetCommModemStatus; - return false; - } - - return (MS_RLSD_ON & dwModemStatus) != 0; - } - - int Serial::SerialImpl::readLock() { - if (WaitForSingleObject(read_mutex, INFINITE) != WAIT_OBJECT_0) { - return 1; - } - return 0; - } - - int Serial::SerialImpl::readUnlock() { - if (!ReleaseMutex(read_mutex)) { - return 1; - } - return 0; - } - - int Serial::SerialImpl::writeLock() { - if (WaitForSingleObject(write_mutex, INFINITE) != WAIT_OBJECT_0) { - return 1; - } - return 0; - } - - int Serial::SerialImpl::writeUnlock() { - if (!ReleaseMutex(write_mutex)) { - return 1; - } - return 0; - } -} -#endif // #if defined(_WIN32) - +#if defined(_WIN32) + +#include "win_serial.h" + +namespace serial { + + static inline void set_common_props(DCB *dcb) { + dcb->fBinary = TRUE; + dcb->fAbortOnError = FALSE; + dcb->fNull = FALSE; + dcb->fErrorChar = FALSE; + + if (dcb->fDtrControl == DTR_CONTROL_HANDSHAKE){ + dcb->fDtrControl = DTR_CONTROL_DISABLE; + } + + if (dcb->fRtsControl != RTS_CONTROL_HANDSHAKE){ + dcb->fRtsControl = RTS_CONTROL_DISABLE; + } + } + + static inline void set_baudrate(DCB *dcb, unsigned long baudrate) { + // setup baud rate + switch (baudrate) { +#ifdef CBR_0 + case 0: dcb->BaudRate = CBR_0; break; +#endif +#ifdef CBR_50 + case 50: dcb->BaudRate = CBR_50; break; +#endif +#ifdef CBR_75 + case 75: dcb->BaudRate = CBR_75; break; +#endif +#ifdef CBR_110 + case 110: dcb->BaudRate = CBR_110; break; +#endif +#ifdef CBR_134 + case 134: dcb->BaudRate = CBR_134; break; +#endif +#ifdef CBR_150 + case 150: dcb->BaudRate = CBR_150; break; +#endif +#ifdef CBR_200 + case 200: dcb->BaudRate = CBR_200; break; +#endif +#ifdef CBR_300 + case 300: dcb->BaudRate = CBR_300; break; +#endif +#ifdef CBR_600 + case 600: dcb->BaudRate = CBR_600; break; +#endif +#ifdef CBR_1200 + case 1200: dcb->BaudRate = CBR_1200; break; +#endif +#ifdef CBR_1800 + case 1800: dcb->BaudRate = CBR_1800; break; +#endif +#ifdef CBR_2400 + case 2400: dcb->BaudRate = CBR_2400; break; +#endif +#ifdef CBR_4800 + case 4800: dcb->BaudRate = CBR_4800; break; +#endif +#ifdef CBR_7200 + case 7200: dcb->BaudRate = CBR_7200; break; +#endif +#ifdef CBR_9600 + case 9600: dcb->BaudRate = CBR_9600; break; +#endif +#ifdef CBR_14400 + case 14400: dcb->BaudRate = CBR_14400; break; +#endif +#ifdef CBR_19200 + case 19200: dcb->BaudRate = CBR_19200; break; +#endif +#ifdef CBR_28800 + case 28800: dcb->BaudRate = CBR_28800; break; +#endif +#ifdef CBR_57600 + case 57600: dcb->BaudRate = CBR_57600; break; +#endif +#ifdef CBR_76800 + case 76800: dcb->BaudRate = CBR_76800; break; +#endif +#ifdef CBR_38400 + case 38400: dcb->BaudRate = CBR_38400; break; +#endif +#ifdef CBR_115200 + case 115200: dcb->BaudRate = CBR_115200; break; +#endif +#ifdef CBR_128000 + case 128000: dcb->BaudRate = CBR_128000; break; +#endif +#ifdef CBR_153600 + case 153600: dcb->BaudRate = CBR_153600; break; +#endif +#ifdef CBR_230400 + case 230400: dcb->BaudRate = CBR_230400; break; +#endif +#ifdef CBR_256000 + case 256000: dcb->BaudRate = CBR_256000; break; +#endif +#ifdef CBR_460800 + case 460800: dcb->BaudRate = CBR_460800; break; +#endif +#ifdef CBR_921600 + case 921600: dcb->BaudRate = CBR_921600; break; +#endif + default: + // Try to blindly assign it + dcb->BaudRate = baudrate; + } + } + + static inline void set_databits(DCB *dcb, serial::bytesize_t bytesize) { + switch (bytesize) { + case serial::fivebits: + dcb->ByteSize = 5; + break; + case serial::sixbits: + dcb->ByteSize = 6; + break; + case serial::sevenbits: + dcb->ByteSize = 7; + break; + case serial::eightbits: + dcb->ByteSize = 8; + break; + default: + dcb->ByteSize = 8; + break; + } + } + + static inline void set_parity(DCB *dcb, serial::parity_t parity) { + dcb->fParity = TRUE; + switch (parity) { + case serial::parity_none: + dcb->Parity = NOPARITY; + dcb->fParity = FALSE; + break; + case serial::parity_odd: + dcb->Parity = ODDPARITY; + break; + case serial::parity_even: + dcb->Parity = EVENPARITY; + break; + case serial::parity_mark: + dcb->Parity = MARKPARITY; + break; + case serial::parity_space: + dcb->Parity = SPACEPARITY; + break; + default: + dcb->Parity = NOPARITY; + dcb->fParity = FALSE; + break; + } + } + + static inline void set_stopbits(DCB *dcb, serial::stopbits_t stopbits) { + switch (stopbits) { + case serial::stopbits_one: + dcb->StopBits = ONESTOPBIT; + break; + case serial::stopbits_one_point_five: + dcb->StopBits = ONE5STOPBITS; + break; + case serial::stopbits_two: + dcb->StopBits = TWOSTOPBITS; + break; + default: + dcb->StopBits = ONESTOPBIT; + break; + } + } + + static inline void set_flowcontrol(DCB *dcb, serial::flowcontrol_t flowcontrol) { + dcb->fInX = FALSE; + dcb->fOutX = FALSE; + dcb->fOutxCtsFlow = FALSE; + if (dcb->fRtsControl == RTS_CONTROL_HANDSHAKE){ + dcb->fRtsControl = RTS_CONTROL_DISABLE; + } + switch (flowcontrol) { + case serial::flowcontrol_none: + break; + case serial::flowcontrol_software: + dcb->fInX = TRUE; + dcb->fOutX = TRUE; + break; + case serial::flowcontrol_hardware: + dcb->fOutxCtsFlow = TRUE; + dcb->fRtsControl = RTS_CONTROL_HANDSHAKE; + break; + default: + break; + } + } + + inline wstring _prefix_port_if_needed(const wstring &input){ + static wstring windows_com_port_prefix = L"\\\\.\\"; + if (input.compare(windows_com_port_prefix) != 0) { + return windows_com_port_prefix + input; + } + return input; + } + + Serial::SerialImpl::SerialImpl (const string &port, unsigned long baudrate, + bytesize_t bytesize, + parity_t parity, stopbits_t stopbits, + flowcontrol_t flowcontrol) + : port_ (port.begin(), port.end()), fd_ (INVALID_HANDLE_VALUE), is_open_ (false), + baudrate_ (baudrate), parity_ (parity), + bytesize_ (bytesize), stopbits_ (stopbits), flowcontrol_ (flowcontrol) + { + if (port_.empty () == false){ + open (); + } + read_mutex = CreateMutex(NULL, false, NULL); + write_mutex = CreateMutex(NULL, false, NULL); + memset(&_wait_o, 0, sizeof(_wait_o)); + + _wait_o.hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); + } + + Serial::SerialImpl::~SerialImpl () { + this->close(); + CloseHandle(_wait_o.hEvent); + CloseHandle(read_mutex); + CloseHandle(write_mutex); + } + + bool Serial::SerialImpl::open () { + if (port_.empty ()) { + return false; + } + if (is_open_ == true) { + return true; + } + + wstring port_with_prefix = _prefix_port_if_needed(port_); + LPCWSTR lp_port = port_with_prefix.c_str(); + fd_ = CreateFileW(lp_port, + GENERIC_READ | GENERIC_WRITE, + 0, + 0, + OPEN_EXISTING, + FILE_ATTRIBUTE_NORMAL, + 0); + + if (fd_ == INVALID_HANDLE_VALUE) { + DWORD errno_ = GetLastError(); + switch (errno_) { + case ERROR_FILE_NOT_FOUND: + default: + return false; + + } + } + + + + if(reconfigurePort()) + { + is_open_ = true; + return true; + } + ::CloseHandle(fd_); + return false; + + } + + bool Serial::SerialImpl::reconfigurePort () { + if (fd_ == INVALID_HANDLE_VALUE) { + // Can only operate on a valid file descriptor + return false; + } + + DCB dcb; + if (!getDcb(&dcb)){ + return false; + } + + set_common_props(&dcb); + set_baudrate(&dcb, baudrate_); + set_databits(&dcb, bytesize_); + set_parity(&dcb, parity_); + set_stopbits(&dcb, stopbits_); + set_flowcontrol(&dcb, flowcontrol_); + + if (!setDcb(&dcb)){ + return false; + } + + setTimeout(timeout_); + + return true; + + } + + void Serial::SerialImpl::close () { + ResetEvent(_wait_o.hEvent); + if (is_open_ == true) { + if (fd_ != INVALID_HANDLE_VALUE) { + ::CancelIo(fd_); + int ret; + ret = CloseHandle(fd_); + } + fd_ = INVALID_HANDLE_VALUE; + is_open_ = false; + } + } + + bool Serial::SerialImpl::isOpen () const{ + return is_open_; + } + + size_t Serial::SerialImpl::available () { + if (!is_open_) { + return 0; + } + COMSTAT cs; + DWORD error; + if (ClearCommError(fd_, &error, &cs) && error >0) { + PurgeComm(fd_, PURGE_RXABORT | PURGE_RXCLEAR); + return 0; + } + return static_cast(cs.cbInQue); + } + + bool Serial::SerialImpl::waitReadable (uint32_t /*timeout*/) { + return false; + } + + void Serial::SerialImpl::waitByteTimes (size_t /*count*/) { + return ; + } + + size_t Serial::SerialImpl::waitfordata(size_t data_count, uint32_t timeout, size_t * returned_size) { + if (!is_open_) { + return 0; + } + size_t length = 0; + if (returned_size==NULL) returned_size=(size_t *)&length; + *returned_size = 0; + + if ( is_open_) { + size_t queue_remaining = available(); + if (queue_remaining >= data_count) { + *returned_size = queue_remaining; + return 0; + } + } + + COMSTAT stat; + DWORD error; + DWORD msk,lengths; + while ( is_open_ ) + { + msk = 0; + SetCommMask(fd_, EV_RXCHAR | EV_ERR ); + if(!WaitCommEvent(fd_, &msk, &_wait_o)) + { + if(GetLastError() == ERROR_IO_PENDING) + { + if (WaitForSingleObject(_wait_o.hEvent, timeout) == WAIT_TIMEOUT) { + *returned_size =0; + return -1; + } + + GetOverlappedResult(fd_, &_wait_o, &lengths, TRUE); + + ::ResetEvent(_wait_o.hEvent); + }else{ + ClearCommError(fd_, &error, &stat); + *returned_size = stat.cbInQue; + return -2; + } + } + + if(msk & EV_ERR){ + // FIXME: may cause problem here + ClearCommError(fd_, &error, &stat); + } + + if(msk & EV_RXCHAR){ + ClearCommError(fd_, &error, &stat); + if(stat.cbInQue >= data_count){ + *returned_size = stat.cbInQue; + return 0; + } + } + } + *returned_size=0; + return -2; + } + + + size_t Serial::SerialImpl::read (uint8_t *buf, size_t size){ + if (!is_open_) { + return 0; + } + DWORD bytes_read; + if (!ReadFile(fd_, buf, static_cast(size), &bytes_read, NULL)) { + if(GetLastError() == ERROR_IO_PENDING) { + if(!GetOverlappedResult(fd_, NULL, &bytes_read, FALSE)){ + if(GetLastError() != ERROR_IO_INCOMPLETE){ + return 0; + } + } + } + return 0; + } + return (size_t) (bytes_read); + } + + size_t Serial::SerialImpl::write (const uint8_t *data, size_t length) { + if (is_open_ == false) { + return 0; + } + if (data == NULL || length ==0) return 0; + DWORD error; + if(ClearCommError(fd_, &error, NULL) && error > 0){ + PurgeComm(fd_, PURGE_TXABORT | PURGE_TXCLEAR); + } + DWORD bytes_written; + if (!WriteFile(fd_, data, static_cast(length), &bytes_written, NULL)) { + return 0; + } + return (size_t) (bytes_written); + } + + void Serial::SerialImpl::setPort (const string &port) { + port_ = wstring(port.begin(), port.end()); + } + + string Serial::SerialImpl::getPort () const { + return string(port_.begin(), port_.end()); + } + + void Serial::SerialImpl::setTimeout (serial::Timeout &timeout) { + timeout_ = timeout; + if(fd_ == INVALID_HANDLE_VALUE){ + return; + } + // Setup timeouts + COMMTIMEOUTS timeouts = {0}; + timeouts.ReadIntervalTimeout = timeout_.inter_byte_timeout; + timeouts.ReadTotalTimeoutConstant = timeout_.read_timeout_constant; + timeouts.ReadTotalTimeoutMultiplier = timeout_.read_timeout_multiplier; + timeouts.WriteTotalTimeoutConstant = timeout_.write_timeout_constant; + timeouts.WriteTotalTimeoutMultiplier = timeout_.write_timeout_multiplier; + if (!SetCommTimeouts(fd_, &timeouts)) { + return; + } + + } + + serial::Timeout Serial::SerialImpl::getTimeout () const { + return timeout_; + } + + + bool Serial::SerialImpl::setDcb(DCB *dcb) { + if (!::SetCommState(fd_, dcb)) { + return false; + } + return true; + } + + bool Serial::SerialImpl::getDcb(DCB *dcb) { + ::ZeroMemory(dcb, sizeof(DCB)); + dcb->DCBlength = sizeof(DCB); + + if (!::GetCommState(fd_, dcb)) { + return false; + } + return true; + } + + + + bool Serial::SerialImpl::setBaudrate (unsigned long baudrate){ + DCB dcb; + if (!getDcb(&dcb)){ + return false; + } + baudrate_ = baudrate; + set_baudrate(&dcb, baudrate); + + return setDcb(&dcb); + } + + unsigned long Serial::SerialImpl::getBaudrate () const { + return baudrate_; + } + + bool Serial::SerialImpl::setBytesize (serial::bytesize_t bytesize) { + + DCB dcb; + if (!getDcb(&dcb)){ + return false; + } + bytesize_ = bytesize; + set_databits(&dcb, bytesize); + + return setDcb(&dcb); + } + + serial::bytesize_t Serial::SerialImpl::getBytesize () const { + return bytesize_; + } + + bool Serial::SerialImpl::setParity (serial::parity_t parity) { + + DCB dcb; + if(!getDcb(&dcb)){ + return false; + } + parity_ = parity; + set_parity(&dcb, parity); + + return setDcb(&dcb); + } + + serial::parity_t Serial::SerialImpl::getParity () const { + return parity_; + } + + bool Serial::SerialImpl::setStopbits (serial::stopbits_t stopbits) { + + DCB dcb; + if (!getDcb(&dcb)){ + return false; + } + stopbits_ = stopbits; + set_stopbits(&dcb, stopbits); + + return setDcb(&dcb); + } + + serial::stopbits_t Serial::SerialImpl::getStopbits () const { + return stopbits_; + } + + bool Serial::SerialImpl::setFlowcontrol (serial::flowcontrol_t flowcontrol) { + + DCB dcb; + if (!getDcb(&dcb)){ + return false; + } + flowcontrol_ = flowcontrol; + set_flowcontrol(&dcb, flowcontrol); + + return setDcb(&dcb); + } + + serial::flowcontrol_t Serial::SerialImpl::getFlowcontrol () const { + return flowcontrol_; + } + + void Serial::SerialImpl::flush () { + if (is_open_ == false) { + return; + } + //FlushFileBuffers (fd_); + PurgeComm(fd_, PURGE_TXABORT | PURGE_RXABORT | PURGE_TXCLEAR | PURGE_RXCLEAR ); + } + + void Serial::SerialImpl::flushInput () { + return; + } + + void Serial::SerialImpl::flushOutput () { + return; + } + + void Serial::SerialImpl::sendBreak (int duration) { + if (!setBreak(true)){ + return ; + } + + ::Sleep(duration); + + if (!setBreak(false)){ + return ; + } + + } + + bool Serial::SerialImpl::setBreak (bool level) { + if (is_open_ == false) { + return false; + } + if (level) { + //EscapeCommFunction (fd_, SETBREAK); + //::SetCommBreak(fd_); + if(::SetCommBreak(fd_) == FALSE){ + return false; + } + } else { + //::ClearCommBreak(fd_); + //EscapeCommFunction (fd_, CLRBREAK); + if(::ClearCommBreak(fd_) == FALSE){ + return false; + } + } + return true; + } + + bool Serial::SerialImpl::setRTS (bool level) { + if (is_open_ == false) { + return false; + } + if (level) { + //EscapeCommFunction (fd_, SETRTS); + if(EscapeCommFunction (fd_, SETRTS) == FALSE){ + return false; + } + } else { + //EscapeCommFunction (fd_, CLRRTS); + if(EscapeCommFunction (fd_, CLRRTS) == FALSE){ + return false; + } + } + return true; + } + + bool Serial::SerialImpl::setDTR (bool level) { + if (is_open_ == false) { + return false; + } + if (level) { + //EscapeCommFunction (fd_, SETDTR); + if(EscapeCommFunction (fd_, SETDTR) == FALSE){ + return false; + } + } else { + //EscapeCommFunction (fd_, CLRDTR); + if(EscapeCommFunction (fd_, CLRDTR) == FALSE){ + return false; + } + } + return true; + } + + bool Serial::SerialImpl::waitForChange () { + if (is_open_ == false) { + return false; + } + DWORD dwCommEvent; + + if (!SetCommMask(fd_, EV_CTS | EV_DSR | EV_RING | EV_RLSD)) { + // Error setting communications mask + return false; + } + + if (!WaitCommEvent(fd_, &dwCommEvent, NULL)) { + // An error occurred waiting for the event. + return false; + } else { + // Event has occurred. + return true; + } + } + + bool Serial::SerialImpl::getCTS () { + if (is_open_ == false) { + return false; + } + DWORD dwModemStatus; + if (!GetCommModemStatus(fd_, &dwModemStatus)) { + return false; + } + + return (MS_CTS_ON & dwModemStatus) != 0; + } + + bool Serial::SerialImpl::getDSR () { + if (is_open_ == false) { + return false; + } + DWORD dwModemStatus; + if (!GetCommModemStatus(fd_, &dwModemStatus)) { + return false; + } + + return (MS_DSR_ON & dwModemStatus) != 0; + } + + bool Serial::SerialImpl::getRI() { + if (is_open_ == false) { + return false; + } + DWORD dwModemStatus; + if (!GetCommModemStatus(fd_, &dwModemStatus)) { + return false; + } + + return (MS_RING_ON & dwModemStatus) != 0; + } + + bool Serial::SerialImpl::getCD() + { + if (is_open_ == false) { + return false; + } + DWORD dwModemStatus; + if (!GetCommModemStatus(fd_, &dwModemStatus)) { + // Error in GetCommModemStatus; + return false; + } + + return (MS_RLSD_ON & dwModemStatus) != 0; + } + + int Serial::SerialImpl::readLock() { + if (WaitForSingleObject(read_mutex, INFINITE) != WAIT_OBJECT_0) { + return 1; + } + return 0; + } + + int Serial::SerialImpl::readUnlock() { + if (!ReleaseMutex(read_mutex)) { + return 1; + } + return 0; + } + + int Serial::SerialImpl::writeLock() { + if (WaitForSingleObject(write_mutex, INFINITE) != WAIT_OBJECT_0) { + return 1; + } + return 0; + } + + int Serial::SerialImpl::writeUnlock() { + if (!ReleaseMutex(write_mutex)) { + return 1; + } + return 0; + } +} +#endif // #if defined(_WIN32) + diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_serial.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.cpp similarity index 94% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.cpp index 5a38e9a..a6732fc 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.cpp +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.cpp @@ -1,27 +1,27 @@ -#if defined(_WIN32) -#include "win_timer.h" -#include -#pragma comment(lib, "Winmm.lib") - -namespace impl{ - - static LARGE_INTEGER _current_freq; - - void HPtimer_reset() { - BOOL ans=QueryPerformanceFrequency(&_current_freq); - _current_freq.QuadPart/=1000; - } - - uint32_t getHDTimer() { - LARGE_INTEGER current; - QueryPerformanceCounter(¤t); - - return (uint32_t)(current.QuadPart/_current_freq.QuadPart); - } - - BEGIN_STATIC_CODE(timer_cailb) { - HPtimer_reset(); - }END_STATIC_CODE(timer_cailb) - -} +#if defined(_WIN32) +#include "win_timer.h" +#include +#pragma comment(lib, "Winmm.lib") + +namespace impl{ + + static LARGE_INTEGER _current_freq; + + void HPtimer_reset() { + BOOL ans=QueryPerformanceFrequency(&_current_freq); + _current_freq.QuadPart/=1000; + } + + uint32_t getHDTimer() { + LARGE_INTEGER current; + QueryPerformanceCounter(¤t); + + return (uint32_t)(current.QuadPart/_current_freq.QuadPart); + } + + BEGIN_STATIC_CODE(timer_cailb) { + HPtimer_reset(); + }END_STATIC_CODE(timer_cailb) + +} #endif \ No newline at end of file diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/impl/windows/win_timer.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/serial.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/serial.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/serial.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/serial.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/ydlidar_driver.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/ydlidar_driver.cpp similarity index 96% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/ydlidar_driver.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/ydlidar_driver.cpp index d49c093..bef530f 100644 --- a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/sdk/src/ydlidar_driver.cpp +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/sdk/src/ydlidar_driver.cpp @@ -1,1153 +1,1153 @@ -/* -* YDLIDAR SYSTEM -* YDLIDAR DRIVER -* -* Copyright 2015 - 2018 EAI TEAM -* http://www.eaibot.com -* -*/ -#include "common.h" -#include "ydlidar_driver.h" -using namespace impl; - -namespace ydlidar{ - - YDlidarDriver* YDlidarDriver::_impl = NULL; - int YDlidarDriver::PackageSampleBytes = 2; - - YDlidarDriver::YDlidarDriver(): - _serial(0) { - isConnected = false; - isScanning = false; - m_intensities = false; - _baudrate = 115200; - isSupportMotorCtrl=true; - _sampling_rate=2; - } - - YDlidarDriver::~YDlidarDriver(){ - { - ScopedLocker l(_scanning_lock); - isScanning = false; - } - - _thread.join(); - - if(_serial){ - if(_serial->isOpen()){ - _serial->close(); - } - } - if(_serial){ - delete _serial; - _serial = NULL; - } - } - - result_t YDlidarDriver::connect(const char * port_path, uint32_t baudrate) { - _baudrate = baudrate; - if(!_serial){ - _serial = new serial::Serial(port_path, _baudrate, serial::Timeout::simpleTimeout(DEFAULT_TIMEOUT)); - } - - { - ScopedLocker l(_lock); - if(!_serial->open()){ - return RESULT_FAIL; - } - } - - isConnected = true; - - clearDTR(); - - return RESULT_OK; - } - - - void YDlidarDriver::setDTR() { - if (!isConnected){ - return ; - } - - if(_serial){ - _serial->setDTR(1); - } - - } - - void YDlidarDriver::clearDTR() { - if (!isConnected){ - return ; - } - - if(_serial){ - _serial->setDTR(0); - } - } - - result_t YDlidarDriver::startMotor() { - ScopedLocker l(_lock); - if(isSupportMotorCtrl){ - setDTR(); - delay(500); - }else{ - clearDTR(); - delay(500); - } - return RESULT_OK; - } - - result_t YDlidarDriver::stopMotor() { - ScopedLocker l(_lock); - if(isSupportMotorCtrl){ - clearDTR(); - delay(500); - }else{ - setDTR(); - delay(500); - } - return RESULT_OK; - } - - void YDlidarDriver::disconnect() { - if (!isConnected){ - return ; - } - stop(); - - if(_serial){ - if(_serial->isOpen()){ - _serial->close(); - } - } - isConnected = false; - } - - - void YDlidarDriver::disableDataGrabbing() { - { - ScopedLocker l(_scanning_lock); - isScanning = false; - } - _thread.join(); - } - - - result_t YDlidarDriver::sendCommand(uint8_t cmd, const void * payload, size_t payloadsize) { - uint8_t pkt_header[10]; - cmd_packet * header = reinterpret_cast(pkt_header); - uint8_t checksum = 0; - - if (!isConnected) { - return RESULT_FAIL; - } - if (payloadsize && payload) { - cmd |= LIDAR_CMDFLAG_HAS_PAYLOAD; - } - - header->syncByte = LIDAR_CMD_SYNC_BYTE; - header->cmd_flag = cmd; - sendData(pkt_header, 2) ; - - if (cmd & LIDAR_CMDFLAG_HAS_PAYLOAD) { - checksum ^= LIDAR_CMD_SYNC_BYTE; - checksum ^= cmd; - checksum ^= (payloadsize & 0xFF); - - for (size_t pos = 0; pos < payloadsize; ++pos) { - checksum ^= ((uint8_t *)payload)[pos]; - } - - uint8_t sizebyte = payloadsize; - sendData(&sizebyte, 1); - - sendData((const uint8_t *)payload, sizebyte); - - sendData(&checksum, 1); - } - return RESULT_OK; - } - - result_t YDlidarDriver::sendData(const uint8_t * data, size_t size) { - if (!isConnected) { - return RESULT_FAIL; - } - - if (data == NULL || size ==0) { - return RESULT_FAIL; - } - return _serial->write(data, size); - } - - result_t YDlidarDriver::getData(uint8_t * data, size_t size) { - if (!isConnected) { - return RESULT_FAIL; - } - result_t ans = _serial->read(data, size); - return ans; - } - - result_t YDlidarDriver::waitResponseHeader(lidar_ans_header * header, uint32_t timeout) { - int recvPos = 0; - uint32_t startTs = getms(); - uint8_t recvBuffer[sizeof(lidar_ans_header)]; - uint8_t *headerBuffer = reinterpret_cast(header); - uint32_t waitTime; - - while ((waitTime=getms() - startTs) <= timeout) { - size_t remainSize = sizeof(lidar_ans_header) - recvPos; - size_t recvSize; - - result_t ans = waitForData(remainSize, timeout - waitTime, &recvSize); - if (ans != RESULT_OK){ - return ans; - } - - if(recvSize > remainSize) recvSize = remainSize; - - ans = getData(recvBuffer, recvSize); - if (ans == RESULT_FAIL){ - return RESULT_FAIL; - } - - for (size_t pos = 0; pos < recvSize; ++pos) { - uint8_t currentByte = recvBuffer[pos]; - switch (recvPos) { - case 0: - if (currentByte != LIDAR_ANS_SYNC_BYTE1) { - continue; - } - break; - case 1: - if (currentByte != LIDAR_ANS_SYNC_BYTE2) { - recvPos = 0; - continue; - } - break; - } - headerBuffer[recvPos++] = currentByte; - - if (recvPos == sizeof(lidar_ans_header)) { - return RESULT_OK; - } - } - } - return RESULT_FAIL; - } - - result_t YDlidarDriver::waitForData(size_t data_count, uint32_t timeout, size_t * returned_size) { - size_t length = 0; - if (returned_size==NULL) { - returned_size=(size_t *)&length; - } - return _serial->waitfordata(data_count, timeout, returned_size); - } - - result_t YDlidarDriver::getHealth(device_health & health, uint32_t timeout) { - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_GET_DEVICE_HEALTH)) != RESULT_OK) { - return ans; - } - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVHEALTH) { - return RESULT_FAIL; - } - - if (response_header.size < sizeof(device_health)) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - - getData(reinterpret_cast(&health), sizeof(health)); - } - return RESULT_OK; - } - - - result_t YDlidarDriver::getDeviceInfo(device_info & info, uint32_t timeout) { - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_GET_DEVICE_INFO)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { - return RESULT_FAIL; - } - - if (response_header.size < sizeof(lidar_ans_header)) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - getData(reinterpret_cast(&info), sizeof(info)); - } - - return RESULT_OK; - } - - - void YDlidarDriver::setIntensities(const bool isintensities){ - m_intensities = isintensities; - if(m_intensities){ - PackageSampleBytes = 3; - }else{ - PackageSampleBytes = 2; - } - } - - result_t YDlidarDriver::startScan(bool force, uint32_t timeout ) { - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - if (isScanning) { - return RESULT_OK; - } - - stop(); - startMotor(); - - { - ScopedLocker l(_lock); - if ((ans = sendCommand(force?LIDAR_CMD_FORCE_SCAN:LIDAR_CMD_SCAN)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_MEASUREMENT) { - return RESULT_FAIL; - } - - if (response_header.size < sizeof(node_info)) { - return RESULT_FAIL; - } - isScanning = true; - ans = this->createThread(); - return ans; - } - return RESULT_OK; - } - - result_t YDlidarDriver::createThread() { - _thread = CLASS_THREAD(YDlidarDriver, cacheScanData); - if (_thread.getHandle() == 0) { - return RESULT_FAIL; - } - - return RESULT_OK; - } - - result_t YDlidarDriver::stop() { - disableDataGrabbing(); - { - ScopedLocker l(_lock); - sendCommand(LIDAR_CMD_FORCE_STOP); - } - - stopMotor(); - - return RESULT_OK; - } - - int YDlidarDriver::cacheScanData() { - node_info local_buf[128]; - size_t count = 128; - node_info local_scan[MAX_SCAN_NODES]; - size_t scan_count = 0; - result_t ans; - memset(local_scan, 0, sizeof(local_scan)); - waitScanData(local_buf, count); - - while(isScanning) { - if ((ans=waitScanData(local_buf, count)) != RESULT_OK) { - if (ans != RESULT_TIMEOUT) { - fprintf(stderr, "exit scanning thread!!\n"); - { - ScopedLocker l(_scanning_lock); - isScanning = false; - } - return RESULT_FAIL; - - } - } - for (size_t pos = 0; pos < count; ++pos) { - if (local_buf[pos].sync_quality & LIDAR_RESP_MEASUREMENT_SYNCBIT) { - if ((local_scan[0].sync_quality & LIDAR_RESP_MEASUREMENT_SYNCBIT)) { - _lock.lock();//timeout lock, wait resource copy - memcpy(scan_node_buf, local_scan, scan_count*sizeof(node_info)); - scan_node_count = scan_count; - _dataEvent.set(); - _lock.unlock(); - } - scan_count = 0; - } - local_scan[scan_count++] = local_buf[pos]; - if (scan_count == _countof(local_scan)){ - scan_count-=1; - } - } - } - { - ScopedLocker l(_scanning_lock); - isScanning = false; - } - return RESULT_OK; - } - - result_t YDlidarDriver::waitPackage(node_info * node, uint32_t timeout) { - int recvPos = 0; - uint32_t startTs = getms(); - uint32_t size = (m_intensities)?sizeof(node_package):sizeof(node_packages); - uint8_t* recvBuffer = new uint8_t[size]; - - uint32_t waitTime; - - static node_package package; - static node_packages packages; - - static uint16_t package_Sample_Index = 0; - static uint16_t IntervalSampleAngle = 0; - static uint16_t IntervalSampleAngle_LastPackage = 0; - static uint16_t FirstSampleAngle = 0; - static uint16_t LastSampleAngle = 0; - static uint16_t CheckSun = 0; - - static uint16_t CheckSunCal = 0; - static uint16_t SampleNumlAndCTCal = 0; - static uint16_t LastSampleAngleCal = 0; - static bool CheckSunResult = true; - static uint16_t Valu8Tou16 = 0; - - uint8_t *packageBuffer = (m_intensities)?(uint8_t*)&package.package_Head:(uint8_t*)&packages.package_Head; - uint8_t package_Sample_Num = 0; - - int32_t AngleCorrectForDistance; - - int package_recvPos = 0; - - if(package_Sample_Index == 0) { - recvPos = 0; - while ((waitTime=getms() - startTs) <= timeout) { - size_t remainSize = PackagePaidBytes - recvPos; - size_t recvSize; - result_t ans = waitForData(remainSize, timeout-waitTime, &recvSize); - if (ans != RESULT_OK){ - delete[] recvBuffer; - return ans; - } - - if (recvSize > remainSize){ - recvSize = remainSize; - } - - getData(recvBuffer, recvSize); - - for (size_t pos = 0; pos < recvSize; ++pos) { - uint8_t currentByte = recvBuffer[pos]; - switch (recvPos) { - case 0: - if(currentByte==(PH&0xFF)){ - - }else{ - continue; - } - break; - case 1: - CheckSunCal = PH; - if(currentByte==(PH>>8)){ - - }else{ - recvPos = 0; - continue; - } - break; - case 2: - SampleNumlAndCTCal = currentByte; - if ((currentByte == CT_Normal) || (currentByte == CT_RingStart)){ - - } else { - recvPos = 0; - continue; - } - break; - case 3: - SampleNumlAndCTCal += (currentByte*0x100); - package_Sample_Num = currentByte; - break; - case 4: - if (currentByte & LIDAR_RESP_MEASUREMENT_CHECKBIT) { - FirstSampleAngle = currentByte; - } else { - recvPos = 0; - continue; - } - break; - case 5: - FirstSampleAngle += currentByte*0x100; - CheckSunCal ^= FirstSampleAngle; - FirstSampleAngle = FirstSampleAngle>>1; - break; - case 6: - if (currentByte & LIDAR_RESP_MEASUREMENT_CHECKBIT) { - LastSampleAngle = currentByte; - } else { - recvPos = 0; - continue; - } - break; - case 7: - LastSampleAngle = currentByte*0x100 + LastSampleAngle; - LastSampleAngleCal = LastSampleAngle; - LastSampleAngle = LastSampleAngle>>1; - if(package_Sample_Num == 1){ - IntervalSampleAngle = 0; - }else{ - if(LastSampleAngle < FirstSampleAngle){ - if((FirstSampleAngle > 270*64) && (LastSampleAngle < 90*64)){ - IntervalSampleAngle = (360*64 + LastSampleAngle - FirstSampleAngle)/(package_Sample_Num-1); - IntervalSampleAngle_LastPackage = IntervalSampleAngle; - } else{ - IntervalSampleAngle = IntervalSampleAngle_LastPackage; - } - } else{ - IntervalSampleAngle = (LastSampleAngle -FirstSampleAngle)/(package_Sample_Num-1); - IntervalSampleAngle_LastPackage = IntervalSampleAngle; - } - } - break; - case 8: - CheckSun = currentByte; - break; - case 9: - CheckSun += (currentByte*0x100); - break; - } - packageBuffer[recvPos++] = currentByte; - } - - if (recvPos == PackagePaidBytes ){ - package_recvPos = recvPos; - break; - } - } - - if(PackagePaidBytes == recvPos){ - startTs = getms(); - recvPos = 0; - while ((waitTime=getms() - startTs) <= timeout) { - size_t remainSize = package_Sample_Num*PackageSampleBytes - recvPos; - size_t recvSize; - result_t ans =waitForData(remainSize, timeout-waitTime, &recvSize); - if (ans != RESULT_OK){ - delete[] recvBuffer; - return ans; - } - - if (recvSize > remainSize){ - recvSize = remainSize; - } - - getData(recvBuffer, recvSize); - - for (size_t pos = 0; pos < recvSize; ++pos) { - if(m_intensities){ - if(recvPos%3 == 2){ - Valu8Tou16 += recvBuffer[pos]*0x100; - CheckSunCal ^= Valu8Tou16; - }else if(recvPos%3 == 1){ - Valu8Tou16 = recvBuffer[pos]; - }else{ - CheckSunCal ^= recvBuffer[pos]; - } - }else{ - if(recvPos%2 == 1){ - Valu8Tou16 += recvBuffer[pos]*0x100; - CheckSunCal ^= Valu8Tou16; - }else{ - Valu8Tou16 = recvBuffer[pos]; - } - } - - packageBuffer[package_recvPos+recvPos] = recvBuffer[pos]; - recvPos++; - } - - if(package_Sample_Num*PackageSampleBytes == recvPos){ - package_recvPos += recvPos; - break; - } - } - if(package_Sample_Num*PackageSampleBytes != recvPos){ - delete[] recvBuffer; - return RESULT_FAIL; - } - } else { - delete[] recvBuffer; - return RESULT_FAIL; - } - CheckSunCal ^= SampleNumlAndCTCal; - CheckSunCal ^= LastSampleAngleCal; - - if(CheckSunCal != CheckSun){ - CheckSunResult = false; - }else{ - CheckSunResult = true; - } - - } - uint8_t package_CT; - if(m_intensities){ - package_CT = package.package_CT; - }else{ - package_CT = packages.package_CT; - } - - if(package_CT == CT_Normal){ - (*node).sync_quality = Node_Default_Quality + Node_NotSync; - } else{ - (*node).sync_quality = Node_Default_Quality + Node_Sync; - } - - if(CheckSunResult == true){ - if(m_intensities){ - (*node).sync_quality = package.packageSample[package_Sample_Index].PakageSampleQuality; - (*node).distance_q2 = package.packageSample[package_Sample_Index].PakageSampleDistance; - }else{ - (*node).distance_q2 = packages.packageSampleDistance[package_Sample_Index]; - } - if((*node).distance_q2/4 != 0){ - AngleCorrectForDistance = (int32_t)(((atan(((21.8*(155.3 - ((*node).distance_q2/4)) )/155.3)/((*node).distance_q2/4)))*180.0/3.1415) * 64.0); - }else{ - AngleCorrectForDistance = 0; - } - if((FirstSampleAngle + IntervalSampleAngle*package_Sample_Index + AngleCorrectForDistance) < 0){ - (*node).angle_q6_checkbit = ((FirstSampleAngle + IntervalSampleAngle*package_Sample_Index + AngleCorrectForDistance + 360*64)<<1) + LIDAR_RESP_MEASUREMENT_CHECKBIT; - }else{ - if((FirstSampleAngle + IntervalSampleAngle*package_Sample_Index + AngleCorrectForDistance) > 360*64){ - (*node).angle_q6_checkbit = ((FirstSampleAngle + IntervalSampleAngle*package_Sample_Index + AngleCorrectForDistance - 360*64)<<1) + LIDAR_RESP_MEASUREMENT_CHECKBIT; - }else{ - (*node).angle_q6_checkbit = ((FirstSampleAngle + IntervalSampleAngle*package_Sample_Index + AngleCorrectForDistance)<<1) + LIDAR_RESP_MEASUREMENT_CHECKBIT; - } - } - }else{ - (*node).sync_quality = Node_Default_Quality + Node_NotSync; - (*node).angle_q6_checkbit = LIDAR_RESP_MEASUREMENT_CHECKBIT; - (*node).distance_q2 = 0; - } - - package_Sample_Index++; - uint8_t nowPackageNum; - if(m_intensities){ - nowPackageNum = package.nowPackageNum; - }else{ - nowPackageNum = packages.nowPackageNum; - } - if(package_Sample_Index >= nowPackageNum){ - package_Sample_Index = 0; - } - delete[] recvBuffer; - return RESULT_OK; - } - - result_t YDlidarDriver::waitScanData(node_info * nodebuffer, size_t & count, uint32_t timeout) { - if (!isConnected) { - count = 0; - return RESULT_FAIL; - } - - size_t recvNodeCount = 0; - uint32_t startTs = getms(); - uint32_t waitTime; - result_t ans; - - while ((waitTime = getms() - startTs) <= timeout && recvNodeCount < count) { - node_info node; - if ((ans = this->waitPackage(&node, timeout - waitTime)) != RESULT_OK) { - return ans; - } - nodebuffer[recvNodeCount++] = node; - - if (recvNodeCount == count) { - return RESULT_OK; - } - } - count = recvNodeCount; - return RESULT_FAIL; - } - - - result_t YDlidarDriver::grabScanData(node_info * nodebuffer, size_t & count, uint32_t timeout) { - switch (_dataEvent.wait(timeout)) { - case Event::EVENT_TIMEOUT: - count = 0; - return RESULT_TIMEOUT; - case Event::EVENT_OK: - { - if(scan_node_count == 0) { - return RESULT_FAIL; - } - size_t size_to_copy = min(count, scan_node_count); - ScopedLocker l(_lock); - memcpy(nodebuffer, scan_node_buf, size_to_copy*sizeof(node_info)); - count = size_to_copy; - scan_node_count = 0; - } - return RESULT_OK; - default: - count = 0; - return RESULT_FAIL; - } - - } - - void YDlidarDriver::simpleScanData(std::vector *scan_data , node_info *buffer, size_t count) { - scan_data->clear(); - for (int pos = 0; pos < (int)count; ++pos) { - scanDot dot; - if (!buffer[pos].distance_q2) continue; - dot.quality = (buffer[pos].sync_quality>>LIDAR_RESP_MEASUREMENT_QUALITY_SHIFT); - dot.angle = (buffer[pos].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f; - dot.dist = buffer[pos].distance_q2/4.0f; - scan_data->push_back(dot); - } - } - - result_t YDlidarDriver::ascendScanData(node_info * nodebuffer, size_t count) { - float inc_origin_angle = (float)360.0/count; - node_info *tmpbuffer = new node_info[count]; - int i = 0; - - for (i = 0; i < (int)count; i++) { - if(nodebuffer[i].distance_q2 == 0) { - continue; - } else { - while(i != 0) { - i--; - float expect_angle = (nodebuffer[i+1].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f - inc_origin_angle; - if (expect_angle < 0.0f) expect_angle = 0.0f; - uint16_t checkbit = nodebuffer[i].angle_q6_checkbit & LIDAR_RESP_MEASUREMENT_CHECKBIT; - nodebuffer[i].angle_q6_checkbit = (((uint16_t)(expect_angle * 64.0f)) << LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT) + checkbit; - } - break; - } - } - - if (i == (int)count){ - return RESULT_FAIL; - } - - for (i = (int)count - 1; i >= 0; i--) { - if(nodebuffer[i].distance_q2 == 0) { - continue; - } else { - while(i != ((int)count - 1)) { - i++; - float expect_angle = (nodebuffer[i-1].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f + inc_origin_angle; - if (expect_angle > 360.0f) expect_angle -= 360.0f; - uint16_t checkbit = nodebuffer[i].angle_q6_checkbit & LIDAR_RESP_MEASUREMENT_CHECKBIT; - nodebuffer[i].angle_q6_checkbit = (((uint16_t)(expect_angle * 64.0f)) << LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT) + checkbit; - } - break; - } - } - - float frontAngle = (nodebuffer[0].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f; - for (i = 1; i < (int)count; i++) { - if(nodebuffer[i].distance_q2 == 0) { - float expect_angle = frontAngle + i * inc_origin_angle; - if (expect_angle > 360.0f) expect_angle -= 360.0f; - uint16_t checkbit = nodebuffer[i].angle_q6_checkbit & LIDAR_RESP_MEASUREMENT_CHECKBIT; - nodebuffer[i].angle_q6_checkbit = (((uint16_t)(expect_angle * 64.0f)) << LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT) + checkbit; - } - } - - size_t zero_pos = 0; - float pre_degree = (nodebuffer[0].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f; - - for (i = 1; i < (int)count ; ++i) { - float degree = (nodebuffer[i].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f; - if (zero_pos == 0 && (pre_degree - degree > 180)) { - zero_pos = i; - break; - } - pre_degree = degree; - } - - for (i = (int)zero_pos; i < (int)count; i++) { - tmpbuffer[i-zero_pos] = nodebuffer[i]; - } - for (i = 0; i < (int)zero_pos; i++) { - tmpbuffer[i+(int)count-zero_pos] = nodebuffer[i]; - } - - memcpy(nodebuffer, tmpbuffer, count*sizeof(node_info)); - delete[] tmpbuffer; - - return RESULT_OK; - } - - - result_t YDlidarDriver::reset(uint32_t timeout) { - UNUSED(timeout); - result_t ans; - if (!isConnected){ - return RESULT_FAIL; - } - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_RESET))!= RESULT_OK) { - return ans; - } - return RESULT_OK; - } - - result_t YDlidarDriver::getScanFrequency(scan_frequency & frequency, uint32_t timeout){ - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_GET_AIMSPEED)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { - return RESULT_FAIL; - } - - if (response_header.size != 4) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - - getData(reinterpret_cast(&frequency), sizeof(frequency)); - } - return RESULT_OK; - } - - result_t YDlidarDriver::setScanFrequencyAdd(scan_frequency & frequency, uint32_t timeout){ - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_SET_AIMSPEED_ADD)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { - return RESULT_FAIL; - } - - if (response_header.size != 4) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - - getData(reinterpret_cast(&frequency), sizeof(frequency)); - } - return RESULT_OK; - } - - result_t YDlidarDriver::setScanFrequencyDis(scan_frequency & frequency, uint32_t timeout){ - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_SET_AIMSPEED_DIS)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { - return RESULT_FAIL; - } - - if (response_header.size != 4) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - - getData(reinterpret_cast(&frequency), sizeof(frequency)); - } - return RESULT_OK; - } - - result_t YDlidarDriver::setScanFrequencyAddMic(scan_frequency & frequency, uint32_t timeout){ - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_SET_AIMSPEED_ADDMIC)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { - return RESULT_FAIL; - } - - if (response_header.size != 4) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - - getData(reinterpret_cast(&frequency), sizeof(frequency)); - } - return RESULT_OK; - } - - result_t YDlidarDriver::setScanFrequencyDisMic(scan_frequency & frequency, uint32_t timeout){ - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_SET_AIMSPEED_DISMIC)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { - return RESULT_FAIL; - } - - if (response_header.size != 4) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - - getData(reinterpret_cast(&frequency), sizeof(frequency)); - } - return RESULT_OK; - } - - result_t YDlidarDriver::getSamplingRate(sampling_rate & rate, uint32_t timeout){ - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_GET_SAMPLING_RATE)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { - return RESULT_FAIL; - } - - if (response_header.size != 1) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - - getData(reinterpret_cast(&rate), sizeof(rate)); - _sampling_rate=rate.rate; - } - return RESULT_OK; - } - - - result_t YDlidarDriver::setSamplingRate(sampling_rate & rate, uint32_t timeout){ - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_SET_SAMPLING_RATE)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { - return RESULT_FAIL; - } - - if (response_header.size != 1) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - getData(reinterpret_cast(&rate), sizeof(rate)); - _sampling_rate=rate.rate; - } - return RESULT_OK; - } - - const std::string YDlidarDriver::getSDKVersion(){ - return SDKVerision; - } - - result_t YDlidarDriver::setRotationPositive(scan_rotation & roation, uint32_t timeout){ - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_RUN_POSITIVE)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { - return RESULT_FAIL; - } - - if (response_header.size != 1) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - getData(reinterpret_cast(&roation), sizeof(roation)); - } - return RESULT_OK; - } - - result_t YDlidarDriver::setRotationInversion(scan_rotation & roation, uint32_t timeout){ - result_t ans; - if (!isConnected) { - return RESULT_FAIL; - } - disableDataGrabbing(); - { - ScopedLocker l(_lock); - if ((ans = sendCommand(LIDAR_CMD_RUN_INVERSION)) != RESULT_OK) { - return ans; - } - - lidar_ans_header response_header; - if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { - return ans; - } - - if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { - return RESULT_FAIL; - } - - if (response_header.size != 1) { - return RESULT_FAIL; - } - - if (waitForData(response_header.size, timeout) != RESULT_OK) { - return RESULT_FAIL; - } - getData(reinterpret_cast(&roation), sizeof(roation)); - } - return RESULT_OK; - } - - -} +/* +* YDLIDAR SYSTEM +* YDLIDAR DRIVER +* +* Copyright 2015 - 2018 EAI TEAM +* http://www.eaibot.com +* +*/ +#include "common.h" +#include "ydlidar_driver.h" +using namespace impl; + +namespace ydlidar{ + + YDlidarDriver* YDlidarDriver::_impl = NULL; + int YDlidarDriver::PackageSampleBytes = 2; + + YDlidarDriver::YDlidarDriver(): + _serial(0) { + isConnected = false; + isScanning = false; + m_intensities = false; + _baudrate = 115200; + isSupportMotorCtrl=true; + _sampling_rate=2; + } + + YDlidarDriver::~YDlidarDriver(){ + { + ScopedLocker l(_scanning_lock); + isScanning = false; + } + + _thread.join(); + + if(_serial){ + if(_serial->isOpen()){ + _serial->close(); + } + } + if(_serial){ + delete _serial; + _serial = NULL; + } + } + + result_t YDlidarDriver::connect(const char * port_path, uint32_t baudrate) { + _baudrate = baudrate; + if(!_serial){ + _serial = new serial::Serial(port_path, _baudrate, serial::Timeout::simpleTimeout(DEFAULT_TIMEOUT)); + } + + { + ScopedLocker l(_lock); + if(!_serial->open()){ + return RESULT_FAIL; + } + } + + isConnected = true; + + clearDTR(); + + return RESULT_OK; + } + + + void YDlidarDriver::setDTR() { + if (!isConnected){ + return ; + } + + if(_serial){ + _serial->setDTR(1); + } + + } + + void YDlidarDriver::clearDTR() { + if (!isConnected){ + return ; + } + + if(_serial){ + _serial->setDTR(0); + } + } + + result_t YDlidarDriver::startMotor() { + ScopedLocker l(_lock); + if(isSupportMotorCtrl){ + setDTR(); + delay(500); + }else{ + clearDTR(); + delay(500); + } + return RESULT_OK; + } + + result_t YDlidarDriver::stopMotor() { + ScopedLocker l(_lock); + if(isSupportMotorCtrl){ + clearDTR(); + delay(500); + }else{ + setDTR(); + delay(500); + } + return RESULT_OK; + } + + void YDlidarDriver::disconnect() { + if (!isConnected){ + return ; + } + stop(); + + if(_serial){ + if(_serial->isOpen()){ + _serial->close(); + } + } + isConnected = false; + } + + + void YDlidarDriver::disableDataGrabbing() { + { + ScopedLocker l(_scanning_lock); + isScanning = false; + } + _thread.join(); + } + + + result_t YDlidarDriver::sendCommand(uint8_t cmd, const void * payload, size_t payloadsize) { + uint8_t pkt_header[10]; + cmd_packet * header = reinterpret_cast(pkt_header); + uint8_t checksum = 0; + + if (!isConnected) { + return RESULT_FAIL; + } + if (payloadsize && payload) { + cmd |= LIDAR_CMDFLAG_HAS_PAYLOAD; + } + + header->syncByte = LIDAR_CMD_SYNC_BYTE; + header->cmd_flag = cmd; + sendData(pkt_header, 2) ; + + if (cmd & LIDAR_CMDFLAG_HAS_PAYLOAD) { + checksum ^= LIDAR_CMD_SYNC_BYTE; + checksum ^= cmd; + checksum ^= (payloadsize & 0xFF); + + for (size_t pos = 0; pos < payloadsize; ++pos) { + checksum ^= ((uint8_t *)payload)[pos]; + } + + uint8_t sizebyte = payloadsize; + sendData(&sizebyte, 1); + + sendData((const uint8_t *)payload, sizebyte); + + sendData(&checksum, 1); + } + return RESULT_OK; + } + + result_t YDlidarDriver::sendData(const uint8_t * data, size_t size) { + if (!isConnected) { + return RESULT_FAIL; + } + + if (data == NULL || size ==0) { + return RESULT_FAIL; + } + return _serial->write(data, size); + } + + result_t YDlidarDriver::getData(uint8_t * data, size_t size) { + if (!isConnected) { + return RESULT_FAIL; + } + result_t ans = _serial->read(data, size); + return ans; + } + + result_t YDlidarDriver::waitResponseHeader(lidar_ans_header * header, uint32_t timeout) { + int recvPos = 0; + uint32_t startTs = getms(); + uint8_t recvBuffer[sizeof(lidar_ans_header)]; + uint8_t *headerBuffer = reinterpret_cast(header); + uint32_t waitTime; + + while ((waitTime=getms() - startTs) <= timeout) { + size_t remainSize = sizeof(lidar_ans_header) - recvPos; + size_t recvSize; + + result_t ans = waitForData(remainSize, timeout - waitTime, &recvSize); + if (ans != RESULT_OK){ + return ans; + } + + if(recvSize > remainSize) recvSize = remainSize; + + ans = getData(recvBuffer, recvSize); + if (ans == RESULT_FAIL){ + return RESULT_FAIL; + } + + for (size_t pos = 0; pos < recvSize; ++pos) { + uint8_t currentByte = recvBuffer[pos]; + switch (recvPos) { + case 0: + if (currentByte != LIDAR_ANS_SYNC_BYTE1) { + continue; + } + break; + case 1: + if (currentByte != LIDAR_ANS_SYNC_BYTE2) { + recvPos = 0; + continue; + } + break; + } + headerBuffer[recvPos++] = currentByte; + + if (recvPos == sizeof(lidar_ans_header)) { + return RESULT_OK; + } + } + } + return RESULT_FAIL; + } + + result_t YDlidarDriver::waitForData(size_t data_count, uint32_t timeout, size_t * returned_size) { + size_t length = 0; + if (returned_size==NULL) { + returned_size=(size_t *)&length; + } + return _serial->waitfordata(data_count, timeout, returned_size); + } + + result_t YDlidarDriver::getHealth(device_health & health, uint32_t timeout) { + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_GET_DEVICE_HEALTH)) != RESULT_OK) { + return ans; + } + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVHEALTH) { + return RESULT_FAIL; + } + + if (response_header.size < sizeof(device_health)) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + + getData(reinterpret_cast(&health), sizeof(health)); + } + return RESULT_OK; + } + + + result_t YDlidarDriver::getDeviceInfo(device_info & info, uint32_t timeout) { + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_GET_DEVICE_INFO)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { + return RESULT_FAIL; + } + + if (response_header.size < sizeof(lidar_ans_header)) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + getData(reinterpret_cast(&info), sizeof(info)); + } + + return RESULT_OK; + } + + + void YDlidarDriver::setIntensities(const bool isintensities){ + m_intensities = isintensities; + if(m_intensities){ + PackageSampleBytes = 3; + }else{ + PackageSampleBytes = 2; + } + } + + result_t YDlidarDriver::startScan(bool force, uint32_t timeout ) { + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + if (isScanning) { + return RESULT_OK; + } + + stop(); + startMotor(); + + { + ScopedLocker l(_lock); + if ((ans = sendCommand(force?LIDAR_CMD_FORCE_SCAN:LIDAR_CMD_SCAN)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_MEASUREMENT) { + return RESULT_FAIL; + } + + if (response_header.size < sizeof(node_info)) { + return RESULT_FAIL; + } + isScanning = true; + ans = this->createThread(); + return ans; + } + return RESULT_OK; + } + + result_t YDlidarDriver::createThread() { + _thread = CLASS_THREAD(YDlidarDriver, cacheScanData); + if (_thread.getHandle() == 0) { + return RESULT_FAIL; + } + + return RESULT_OK; + } + + result_t YDlidarDriver::stop() { + disableDataGrabbing(); + { + ScopedLocker l(_lock); + sendCommand(LIDAR_CMD_FORCE_STOP); + } + + stopMotor(); + + return RESULT_OK; + } + + int YDlidarDriver::cacheScanData() { + node_info local_buf[128]; + size_t count = 128; + node_info local_scan[MAX_SCAN_NODES]; + size_t scan_count = 0; + result_t ans; + memset(local_scan, 0, sizeof(local_scan)); + waitScanData(local_buf, count); + + while(isScanning) { + if ((ans=waitScanData(local_buf, count)) != RESULT_OK) { + if (ans != RESULT_TIMEOUT) { + fprintf(stderr, "exit scanning thread!!\n"); + { + ScopedLocker l(_scanning_lock); + isScanning = false; + } + return RESULT_FAIL; + + } + } + for (size_t pos = 0; pos < count; ++pos) { + if (local_buf[pos].sync_quality & LIDAR_RESP_MEASUREMENT_SYNCBIT) { + if ((local_scan[0].sync_quality & LIDAR_RESP_MEASUREMENT_SYNCBIT)) { + _lock.lock();//timeout lock, wait resource copy + memcpy(scan_node_buf, local_scan, scan_count*sizeof(node_info)); + scan_node_count = scan_count; + _dataEvent.set(); + _lock.unlock(); + } + scan_count = 0; + } + local_scan[scan_count++] = local_buf[pos]; + if (scan_count == _countof(local_scan)){ + scan_count-=1; + } + } + } + { + ScopedLocker l(_scanning_lock); + isScanning = false; + } + return RESULT_OK; + } + + result_t YDlidarDriver::waitPackage(node_info * node, uint32_t timeout) { + int recvPos = 0; + uint32_t startTs = getms(); + uint32_t size = (m_intensities)?sizeof(node_package):sizeof(node_packages); + uint8_t* recvBuffer = new uint8_t[size]; + + uint32_t waitTime; + + static node_package package; + static node_packages packages; + + static uint16_t package_Sample_Index = 0; + static uint16_t IntervalSampleAngle = 0; + static uint16_t IntervalSampleAngle_LastPackage = 0; + static uint16_t FirstSampleAngle = 0; + static uint16_t LastSampleAngle = 0; + static uint16_t CheckSun = 0; + + static uint16_t CheckSunCal = 0; + static uint16_t SampleNumlAndCTCal = 0; + static uint16_t LastSampleAngleCal = 0; + static bool CheckSunResult = true; + static uint16_t Valu8Tou16 = 0; + + uint8_t *packageBuffer = (m_intensities)?(uint8_t*)&package.package_Head:(uint8_t*)&packages.package_Head; + uint8_t package_Sample_Num = 0; + + int32_t AngleCorrectForDistance; + + int package_recvPos = 0; + + if(package_Sample_Index == 0) { + recvPos = 0; + while ((waitTime=getms() - startTs) <= timeout) { + size_t remainSize = PackagePaidBytes - recvPos; + size_t recvSize; + result_t ans = waitForData(remainSize, timeout-waitTime, &recvSize); + if (ans != RESULT_OK){ + delete[] recvBuffer; + return ans; + } + + if (recvSize > remainSize){ + recvSize = remainSize; + } + + getData(recvBuffer, recvSize); + + for (size_t pos = 0; pos < recvSize; ++pos) { + uint8_t currentByte = recvBuffer[pos]; + switch (recvPos) { + case 0: + if(currentByte==(PH&0xFF)){ + + }else{ + continue; + } + break; + case 1: + CheckSunCal = PH; + if(currentByte==(PH>>8)){ + + }else{ + recvPos = 0; + continue; + } + break; + case 2: + SampleNumlAndCTCal = currentByte; + if ((currentByte == CT_Normal) || (currentByte == CT_RingStart)){ + + } else { + recvPos = 0; + continue; + } + break; + case 3: + SampleNumlAndCTCal += (currentByte*0x100); + package_Sample_Num = currentByte; + break; + case 4: + if (currentByte & LIDAR_RESP_MEASUREMENT_CHECKBIT) { + FirstSampleAngle = currentByte; + } else { + recvPos = 0; + continue; + } + break; + case 5: + FirstSampleAngle += currentByte*0x100; + CheckSunCal ^= FirstSampleAngle; + FirstSampleAngle = FirstSampleAngle>>1; + break; + case 6: + if (currentByte & LIDAR_RESP_MEASUREMENT_CHECKBIT) { + LastSampleAngle = currentByte; + } else { + recvPos = 0; + continue; + } + break; + case 7: + LastSampleAngle = currentByte*0x100 + LastSampleAngle; + LastSampleAngleCal = LastSampleAngle; + LastSampleAngle = LastSampleAngle>>1; + if(package_Sample_Num == 1){ + IntervalSampleAngle = 0; + }else{ + if(LastSampleAngle < FirstSampleAngle){ + if((FirstSampleAngle > 270*64) && (LastSampleAngle < 90*64)){ + IntervalSampleAngle = (360*64 + LastSampleAngle - FirstSampleAngle)/(package_Sample_Num-1); + IntervalSampleAngle_LastPackage = IntervalSampleAngle; + } else{ + IntervalSampleAngle = IntervalSampleAngle_LastPackage; + } + } else{ + IntervalSampleAngle = (LastSampleAngle -FirstSampleAngle)/(package_Sample_Num-1); + IntervalSampleAngle_LastPackage = IntervalSampleAngle; + } + } + break; + case 8: + CheckSun = currentByte; + break; + case 9: + CheckSun += (currentByte*0x100); + break; + } + packageBuffer[recvPos++] = currentByte; + } + + if (recvPos == PackagePaidBytes ){ + package_recvPos = recvPos; + break; + } + } + + if(PackagePaidBytes == recvPos){ + startTs = getms(); + recvPos = 0; + while ((waitTime=getms() - startTs) <= timeout) { + size_t remainSize = package_Sample_Num*PackageSampleBytes - recvPos; + size_t recvSize; + result_t ans =waitForData(remainSize, timeout-waitTime, &recvSize); + if (ans != RESULT_OK){ + delete[] recvBuffer; + return ans; + } + + if (recvSize > remainSize){ + recvSize = remainSize; + } + + getData(recvBuffer, recvSize); + + for (size_t pos = 0; pos < recvSize; ++pos) { + if(m_intensities){ + if(recvPos%3 == 2){ + Valu8Tou16 += recvBuffer[pos]*0x100; + CheckSunCal ^= Valu8Tou16; + }else if(recvPos%3 == 1){ + Valu8Tou16 = recvBuffer[pos]; + }else{ + CheckSunCal ^= recvBuffer[pos]; + } + }else{ + if(recvPos%2 == 1){ + Valu8Tou16 += recvBuffer[pos]*0x100; + CheckSunCal ^= Valu8Tou16; + }else{ + Valu8Tou16 = recvBuffer[pos]; + } + } + + packageBuffer[package_recvPos+recvPos] = recvBuffer[pos]; + recvPos++; + } + + if(package_Sample_Num*PackageSampleBytes == recvPos){ + package_recvPos += recvPos; + break; + } + } + if(package_Sample_Num*PackageSampleBytes != recvPos){ + delete[] recvBuffer; + return RESULT_FAIL; + } + } else { + delete[] recvBuffer; + return RESULT_FAIL; + } + CheckSunCal ^= SampleNumlAndCTCal; + CheckSunCal ^= LastSampleAngleCal; + + if(CheckSunCal != CheckSun){ + CheckSunResult = false; + }else{ + CheckSunResult = true; + } + + } + uint8_t package_CT; + if(m_intensities){ + package_CT = package.package_CT; + }else{ + package_CT = packages.package_CT; + } + + if(package_CT == CT_Normal){ + (*node).sync_quality = Node_Default_Quality + Node_NotSync; + } else{ + (*node).sync_quality = Node_Default_Quality + Node_Sync; + } + + if(CheckSunResult == true){ + if(m_intensities){ + (*node).sync_quality = package.packageSample[package_Sample_Index].PakageSampleQuality; + (*node).distance_q2 = package.packageSample[package_Sample_Index].PakageSampleDistance; + }else{ + (*node).distance_q2 = packages.packageSampleDistance[package_Sample_Index]; + } + if((*node).distance_q2/4 != 0){ + AngleCorrectForDistance = (int32_t)(((atan(((21.8*(155.3 - ((*node).distance_q2/4)) )/155.3)/((*node).distance_q2/4)))*180.0/3.1415) * 64.0); + }else{ + AngleCorrectForDistance = 0; + } + if((FirstSampleAngle + IntervalSampleAngle*package_Sample_Index + AngleCorrectForDistance) < 0){ + (*node).angle_q6_checkbit = ((FirstSampleAngle + IntervalSampleAngle*package_Sample_Index + AngleCorrectForDistance + 360*64)<<1) + LIDAR_RESP_MEASUREMENT_CHECKBIT; + }else{ + if((FirstSampleAngle + IntervalSampleAngle*package_Sample_Index + AngleCorrectForDistance) > 360*64){ + (*node).angle_q6_checkbit = ((FirstSampleAngle + IntervalSampleAngle*package_Sample_Index + AngleCorrectForDistance - 360*64)<<1) + LIDAR_RESP_MEASUREMENT_CHECKBIT; + }else{ + (*node).angle_q6_checkbit = ((FirstSampleAngle + IntervalSampleAngle*package_Sample_Index + AngleCorrectForDistance)<<1) + LIDAR_RESP_MEASUREMENT_CHECKBIT; + } + } + }else{ + (*node).sync_quality = Node_Default_Quality + Node_NotSync; + (*node).angle_q6_checkbit = LIDAR_RESP_MEASUREMENT_CHECKBIT; + (*node).distance_q2 = 0; + } + + package_Sample_Index++; + uint8_t nowPackageNum; + if(m_intensities){ + nowPackageNum = package.nowPackageNum; + }else{ + nowPackageNum = packages.nowPackageNum; + } + if(package_Sample_Index >= nowPackageNum){ + package_Sample_Index = 0; + } + delete[] recvBuffer; + return RESULT_OK; + } + + result_t YDlidarDriver::waitScanData(node_info * nodebuffer, size_t & count, uint32_t timeout) { + if (!isConnected) { + count = 0; + return RESULT_FAIL; + } + + size_t recvNodeCount = 0; + uint32_t startTs = getms(); + uint32_t waitTime; + result_t ans; + + while ((waitTime = getms() - startTs) <= timeout && recvNodeCount < count) { + node_info node; + if ((ans = this->waitPackage(&node, timeout - waitTime)) != RESULT_OK) { + return ans; + } + nodebuffer[recvNodeCount++] = node; + + if (recvNodeCount == count) { + return RESULT_OK; + } + } + count = recvNodeCount; + return RESULT_FAIL; + } + + + result_t YDlidarDriver::grabScanData(node_info * nodebuffer, size_t & count, uint32_t timeout) { + switch (_dataEvent.wait(timeout)) { + case Event::EVENT_TIMEOUT: + count = 0; + return RESULT_TIMEOUT; + case Event::EVENT_OK: + { + if(scan_node_count == 0) { + return RESULT_FAIL; + } + size_t size_to_copy = min(count, scan_node_count); + ScopedLocker l(_lock); + memcpy(nodebuffer, scan_node_buf, size_to_copy*sizeof(node_info)); + count = size_to_copy; + scan_node_count = 0; + } + return RESULT_OK; + default: + count = 0; + return RESULT_FAIL; + } + + } + + void YDlidarDriver::simpleScanData(std::vector *scan_data , node_info *buffer, size_t count) { + scan_data->clear(); + for (int pos = 0; pos < (int)count; ++pos) { + scanDot dot; + if (!buffer[pos].distance_q2) continue; + dot.quality = (buffer[pos].sync_quality>>LIDAR_RESP_MEASUREMENT_QUALITY_SHIFT); + dot.angle = (buffer[pos].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f; + dot.dist = buffer[pos].distance_q2/4.0f; + scan_data->push_back(dot); + } + } + + result_t YDlidarDriver::ascendScanData(node_info * nodebuffer, size_t count) { + float inc_origin_angle = (float)360.0/count; + node_info *tmpbuffer = new node_info[count]; + int i = 0; + + for (i = 0; i < (int)count; i++) { + if(nodebuffer[i].distance_q2 == 0) { + continue; + } else { + while(i != 0) { + i--; + float expect_angle = (nodebuffer[i+1].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f - inc_origin_angle; + if (expect_angle < 0.0f) expect_angle = 0.0f; + uint16_t checkbit = nodebuffer[i].angle_q6_checkbit & LIDAR_RESP_MEASUREMENT_CHECKBIT; + nodebuffer[i].angle_q6_checkbit = (((uint16_t)(expect_angle * 64.0f)) << LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT) + checkbit; + } + break; + } + } + + if (i == (int)count){ + return RESULT_FAIL; + } + + for (i = (int)count - 1; i >= 0; i--) { + if(nodebuffer[i].distance_q2 == 0) { + continue; + } else { + while(i != ((int)count - 1)) { + i++; + float expect_angle = (nodebuffer[i-1].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f + inc_origin_angle; + if (expect_angle > 360.0f) expect_angle -= 360.0f; + uint16_t checkbit = nodebuffer[i].angle_q6_checkbit & LIDAR_RESP_MEASUREMENT_CHECKBIT; + nodebuffer[i].angle_q6_checkbit = (((uint16_t)(expect_angle * 64.0f)) << LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT) + checkbit; + } + break; + } + } + + float frontAngle = (nodebuffer[0].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f; + for (i = 1; i < (int)count; i++) { + if(nodebuffer[i].distance_q2 == 0) { + float expect_angle = frontAngle + i * inc_origin_angle; + if (expect_angle > 360.0f) expect_angle -= 360.0f; + uint16_t checkbit = nodebuffer[i].angle_q6_checkbit & LIDAR_RESP_MEASUREMENT_CHECKBIT; + nodebuffer[i].angle_q6_checkbit = (((uint16_t)(expect_angle * 64.0f)) << LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT) + checkbit; + } + } + + size_t zero_pos = 0; + float pre_degree = (nodebuffer[0].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f; + + for (i = 1; i < (int)count ; ++i) { + float degree = (nodebuffer[i].angle_q6_checkbit >> LIDAR_RESP_MEASUREMENT_ANGLE_SHIFT)/64.0f; + if (zero_pos == 0 && (pre_degree - degree > 180)) { + zero_pos = i; + break; + } + pre_degree = degree; + } + + for (i = (int)zero_pos; i < (int)count; i++) { + tmpbuffer[i-zero_pos] = nodebuffer[i]; + } + for (i = 0; i < (int)zero_pos; i++) { + tmpbuffer[i+(int)count-zero_pos] = nodebuffer[i]; + } + + memcpy(nodebuffer, tmpbuffer, count*sizeof(node_info)); + delete[] tmpbuffer; + + return RESULT_OK; + } + + + result_t YDlidarDriver::reset(uint32_t timeout) { + UNUSED(timeout); + result_t ans; + if (!isConnected){ + return RESULT_FAIL; + } + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_RESET))!= RESULT_OK) { + return ans; + } + return RESULT_OK; + } + + result_t YDlidarDriver::getScanFrequency(scan_frequency & frequency, uint32_t timeout){ + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_GET_AIMSPEED)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { + return RESULT_FAIL; + } + + if (response_header.size != 4) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + + getData(reinterpret_cast(&frequency), sizeof(frequency)); + } + return RESULT_OK; + } + + result_t YDlidarDriver::setScanFrequencyAdd(scan_frequency & frequency, uint32_t timeout){ + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_SET_AIMSPEED_ADD)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { + return RESULT_FAIL; + } + + if (response_header.size != 4) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + + getData(reinterpret_cast(&frequency), sizeof(frequency)); + } + return RESULT_OK; + } + + result_t YDlidarDriver::setScanFrequencyDis(scan_frequency & frequency, uint32_t timeout){ + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_SET_AIMSPEED_DIS)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { + return RESULT_FAIL; + } + + if (response_header.size != 4) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + + getData(reinterpret_cast(&frequency), sizeof(frequency)); + } + return RESULT_OK; + } + + result_t YDlidarDriver::setScanFrequencyAddMic(scan_frequency & frequency, uint32_t timeout){ + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_SET_AIMSPEED_ADDMIC)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { + return RESULT_FAIL; + } + + if (response_header.size != 4) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + + getData(reinterpret_cast(&frequency), sizeof(frequency)); + } + return RESULT_OK; + } + + result_t YDlidarDriver::setScanFrequencyDisMic(scan_frequency & frequency, uint32_t timeout){ + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_SET_AIMSPEED_DISMIC)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { + return RESULT_FAIL; + } + + if (response_header.size != 4) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + + getData(reinterpret_cast(&frequency), sizeof(frequency)); + } + return RESULT_OK; + } + + result_t YDlidarDriver::getSamplingRate(sampling_rate & rate, uint32_t timeout){ + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_GET_SAMPLING_RATE)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { + return RESULT_FAIL; + } + + if (response_header.size != 1) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + + getData(reinterpret_cast(&rate), sizeof(rate)); + _sampling_rate=rate.rate; + } + return RESULT_OK; + } + + + result_t YDlidarDriver::setSamplingRate(sampling_rate & rate, uint32_t timeout){ + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_SET_SAMPLING_RATE)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { + return RESULT_FAIL; + } + + if (response_header.size != 1) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + getData(reinterpret_cast(&rate), sizeof(rate)); + _sampling_rate=rate.rate; + } + return RESULT_OK; + } + + const std::string YDlidarDriver::getSDKVersion(){ + return SDKVerision; + } + + result_t YDlidarDriver::setRotationPositive(scan_rotation & roation, uint32_t timeout){ + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_RUN_POSITIVE)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { + return RESULT_FAIL; + } + + if (response_header.size != 1) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + getData(reinterpret_cast(&roation), sizeof(roation)); + } + return RESULT_OK; + } + + result_t YDlidarDriver::setRotationInversion(scan_rotation & roation, uint32_t timeout){ + result_t ans; + if (!isConnected) { + return RESULT_FAIL; + } + disableDataGrabbing(); + { + ScopedLocker l(_lock); + if ((ans = sendCommand(LIDAR_CMD_RUN_INVERSION)) != RESULT_OK) { + return ans; + } + + lidar_ans_header response_header; + if ((ans = waitResponseHeader(&response_header, timeout)) != RESULT_OK) { + return ans; + } + + if (response_header.type != LIDAR_ANS_TYPE_DEVINFO) { + return RESULT_FAIL; + } + + if (response_header.size != 1) { + return RESULT_FAIL; + } + + if (waitForData(response_header.size, timeout) != RESULT_OK) { + return RESULT_FAIL; + } + getData(reinterpret_cast(&roation), sizeof(roation)); + } + return RESULT_OK; + } + + +} diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/src/ydlidar_client.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/src/ydlidar_client.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/src/ydlidar_client.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/src/ydlidar_client.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/src/ydlidar_node.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/src/ydlidar_node.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/src/ydlidar_node.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/src/ydlidar_node.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/startup/initenv.sh b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/startup/initenv.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/startup/initenv.sh rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/startup/initenv.sh diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/test/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/test/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/test/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/test/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/test/laser_test.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/test/laser_test.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/test/laser_test.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/test/laser_test.cpp diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/test/laser_test.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/test/laser_test.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/test/laser_test.h rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/test/laser_test.h diff --git a/Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/test/main.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/test/main.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/ros_ws/src/ydlidar-1.2.1/test/main.cpp rename to Code/MowingRobot/pibot_ros/ros_ws/src/ydlidar-1.2.1/test/main.cpp diff --git a/Code/MowingRobot/PIBot_ROS/rules/56-orbbec-usb.rules b/Code/MowingRobot/pibot_ros/rules/56-orbbec-usb.rules similarity index 100% rename from Code/MowingRobot/PIBot_ROS/rules/56-orbbec-usb.rules rename to Code/MowingRobot/pibot_ros/rules/56-orbbec-usb.rules diff --git a/Code/MowingRobot/PIBot_ROS/rules/98-pibot-usb.rules b/Code/MowingRobot/pibot_ros/rules/98-pibot-usb.rules similarity index 100% rename from Code/MowingRobot/PIBot_ROS/rules/98-pibot-usb.rules rename to Code/MowingRobot/pibot_ros/rules/98-pibot-usb.rules diff --git a/Code/MowingRobot/PIBot_ROS/rules/99-realsense-libusb.rules b/Code/MowingRobot/pibot_ros/rules/99-realsense-libusb.rules similarity index 100% rename from Code/MowingRobot/PIBot_ROS/rules/99-realsense-libusb.rules rename to Code/MowingRobot/pibot_ros/rules/99-realsense-libusb.rules diff --git a/Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/librknn_api/aarch64/librknn_api.so b/Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/librknn_api/aarch64/librknn_api.so new file mode 120000 index 0000000..7299993 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/librknn_api/aarch64/librknn_api.so @@ -0,0 +1 @@ +librknnrt.so \ No newline at end of file diff --git a/Code/MowingRobot/obj_dec/src/librknnrt.so b/Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/librknn_api/aarch64/librknnrt.so similarity index 100% rename from Code/MowingRobot/obj_dec/src/librknnrt.so rename to Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/librknn_api/aarch64/librknnrt.so diff --git a/Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/librknn_api/include/rknn_api.h b/Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/librknn_api/include/rknn_api.h old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/librknn_api/include/rknn_api.h rename to Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/librknn_api/include/rknn_api.h diff --git a/Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/librknn_api/include/rknn_matmul_api.h b/Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/librknn_api/include/rknn_matmul_api.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/librknn_api/include/rknn_matmul_api.h rename to Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/librknn_api/include/rknn_matmul_api.h diff --git a/Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/restart_rknn.sh b/Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/restart_rknn.sh old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/restart_rknn.sh rename to Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/restart_rknn.sh diff --git a/Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/rknn_server b/Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/rknn_server old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/rknn_server rename to Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/rknn_server diff --git a/Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/start_rknn.sh b/Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/start_rknn.sh old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/start_rknn.sh rename to Code/MowingRobot/pibot_ros/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/start_rknn.sh diff --git a/Code/MowingRobot/obj_dec/src/runtime/init.rknn_server.rc b/Code/MowingRobot/pibot_ros/runtime/init.rknn_server.rc similarity index 100% rename from Code/MowingRobot/obj_dec/src/runtime/init.rknn_server.rc rename to Code/MowingRobot/pibot_ros/runtime/init.rknn_server.rc diff --git a/Code/MowingRobot/PIBot_ROS/third_party/build.sh b/Code/MowingRobot/pibot_ros/third_party/build.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/build.sh rename to Code/MowingRobot/pibot_ros/third_party/build.sh diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/.gitignore b/Code/MowingRobot/pibot_ros/third_party/create_ap/.gitignore similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/.gitignore rename to Code/MowingRobot/pibot_ros/third_party/create_ap/.gitignore diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/LICENSE b/Code/MowingRobot/pibot_ros/third_party/create_ap/LICENSE similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/LICENSE rename to Code/MowingRobot/pibot_ros/third_party/create_ap/LICENSE diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/Makefile b/Code/MowingRobot/pibot_ros/third_party/create_ap/Makefile similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/Makefile rename to Code/MowingRobot/pibot_ros/third_party/create_ap/Makefile diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/README.md b/Code/MowingRobot/pibot_ros/third_party/create_ap/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/README.md rename to Code/MowingRobot/pibot_ros/third_party/create_ap/README.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/bash_completion b/Code/MowingRobot/pibot_ros/third_party/create_ap/bash_completion similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/bash_completion rename to Code/MowingRobot/pibot_ros/third_party/create_ap/bash_completion diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/config_ap.sh b/Code/MowingRobot/pibot_ros/third_party/create_ap/config_ap.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/config_ap.sh rename to Code/MowingRobot/pibot_ros/third_party/create_ap/config_ap.sh diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/create_ap b/Code/MowingRobot/pibot_ros/third_party/create_ap/create_ap similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/create_ap rename to Code/MowingRobot/pibot_ros/third_party/create_ap/create_ap diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/create_ap.conf b/Code/MowingRobot/pibot_ros/third_party/create_ap/create_ap.conf similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/create_ap.conf rename to Code/MowingRobot/pibot_ros/third_party/create_ap/create_ap.conf diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/create_ap.openrc b/Code/MowingRobot/pibot_ros/third_party/create_ap/create_ap.openrc similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/create_ap.openrc rename to Code/MowingRobot/pibot_ros/third_party/create_ap/create_ap.openrc diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/create_ap.service.template b/Code/MowingRobot/pibot_ros/third_party/create_ap/create_ap.service.template similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/create_ap.service.template rename to Code/MowingRobot/pibot_ros/third_party/create_ap/create_ap.service.template diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/howto/realtek.md b/Code/MowingRobot/pibot_ros/third_party/create_ap/howto/realtek.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/howto/realtek.md rename to Code/MowingRobot/pibot_ros/third_party/create_ap/howto/realtek.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/create_ap/lnxrouter b/Code/MowingRobot/pibot_ros/third_party/create_ap/lnxrouter similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/create_ap/lnxrouter rename to Code/MowingRobot/pibot_ros/third_party/create_ap/lnxrouter diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/LICENSE b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/LICENSE similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/LICENSE rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/LICENSE diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/README.md b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/README.md rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/README.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/iai_kinect2/CMakeLists.txt b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/iai_kinect2/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/iai_kinect2/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/iai_kinect2/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/iai_kinect2/package.xml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/iai_kinect2/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/iai_kinect2/package.xml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/iai_kinect2/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/CMakeLists.txt b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/README.md b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/README.md rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/README.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_color.yaml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_color.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_color.yaml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_color.yaml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_depth.yaml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_depth.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_depth.yaml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_depth.yaml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_ir.yaml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_ir.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_ir.yaml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_ir.yaml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_pose.yaml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_pose.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_pose.yaml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/196605135147/calib_pose.yaml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_color.yaml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_color.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_color.yaml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_color.yaml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_ir.yaml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_ir.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_ir.yaml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_ir.yaml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_pose.yaml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_pose.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_pose.yaml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/data/299150235147/calib_pose.yaml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/include/kinect2_bridge/kinect2_definitions.h b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/include/kinect2_bridge/kinect2_definitions.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/include/kinect2_bridge/kinect2_definitions.h rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/include/kinect2_bridge/kinect2_definitions.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/launch/kinect2_bridge.launch b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/launch/kinect2_bridge.launch similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/launch/kinect2_bridge.launch rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/launch/kinect2_bridge.launch diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/nodelet_plugins.xml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/nodelet_plugins.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/nodelet_plugins.xml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/nodelet_plugins.xml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/package.xml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/package.xml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_bridge/src/kinect2_bridge.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/CMakeLists.txt b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/README.md b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/README.md rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/README.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/include/kinect2_calibration/kinect2_calibration_definitions.h b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/include/kinect2_calibration/kinect2_calibration_definitions.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/include/kinect2_calibration/kinect2_calibration_definitions.h rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/include/kinect2_calibration/kinect2_calibration_definitions.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/package.xml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/package.xml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess5x7x0.03.pdf b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess5x7x0.03.pdf similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess5x7x0.03.pdf rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess5x7x0.03.pdf diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess5x7x0.03.svg b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess5x7x0.03.svg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess5x7x0.03.svg rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess5x7x0.03.svg diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess7x9x0.025.pdf b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess7x9x0.025.pdf similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess7x9x0.025.pdf rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess7x9x0.025.pdf diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess7x9x0.025.svg b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess7x9x0.025.svg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess7x9x0.025.svg rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess7x9x0.025.svg diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess9x11x0.02.pdf b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess9x11x0.02.pdf similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess9x11x0.02.pdf rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess9x11x0.02.pdf diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess9x11x0.02.svg b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess9x11x0.02.svg similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/patterns/chess9x11x0.02.svg rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/patterns/chess9x11x0.02.svg diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/scripts/convert_calib_pose_to_urdf_format.py b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/scripts/convert_calib_pose_to_urdf_format.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/scripts/convert_calib_pose_to_urdf_format.py rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/scripts/convert_calib_pose_to_urdf_format.py diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/src/kinect2_calibration.cpp b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/src/kinect2_calibration.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_calibration/src/kinect2_calibration.cpp rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_calibration/src/kinect2_calibration.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/CMakeLists.txt b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/README.md b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/README.md rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/README.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/cmake/CheckOpenCLICDLoader.cmake b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/cmake/CheckOpenCLICDLoader.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/cmake/CheckOpenCLICDLoader.cmake rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/cmake/CheckOpenCLICDLoader.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/cmake/FindOpenCL.cmake b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/cmake/FindOpenCL.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/cmake/FindOpenCL.cmake rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/cmake/FindOpenCL.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/cmake/kinect2_registration.cmake.in b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/cmake/kinect2_registration.cmake.in similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/cmake/kinect2_registration.cmake.in rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/cmake/kinect2_registration.cmake.in diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/include/internal/CL/cl.hpp b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/include/internal/CL/cl.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/include/internal/CL/cl.hpp rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/include/internal/CL/cl.hpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/include/kinect2_registration/kinect2_console.h b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/include/kinect2_registration/kinect2_console.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/include/kinect2_registration/kinect2_console.h rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/include/kinect2_registration/kinect2_console.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/include/kinect2_registration/kinect2_registration.h b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/include/kinect2_registration/kinect2_registration.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/include/kinect2_registration/kinect2_registration.h rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/include/kinect2_registration/kinect2_registration.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/package.xml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/package.xml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/depth_registration.cl b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/depth_registration.cl similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/depth_registration.cl rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/depth_registration.cl diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/depth_registration_cpu.cpp b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/depth_registration_cpu.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/depth_registration_cpu.cpp rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/depth_registration_cpu.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/depth_registration_cpu.h b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/depth_registration_cpu.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/depth_registration_cpu.h rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/depth_registration_cpu.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/depth_registration_opencl.cpp b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/depth_registration_opencl.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/depth_registration_opencl.cpp rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/depth_registration_opencl.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/depth_registration_opencl.h b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/depth_registration_opencl.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/depth_registration_opencl.h rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/depth_registration_opencl.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/kinect2_registration.cpp b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/kinect2_registration.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_registration/src/kinect2_registration.cpp rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_registration/src/kinect2_registration.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_viewer/CMakeLists.txt b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_viewer/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_viewer/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_viewer/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_viewer/README.md b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_viewer/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_viewer/README.md rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_viewer/README.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_viewer/package.xml b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_viewer/package.xml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_viewer/package.xml rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_viewer/package.xml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_viewer/src/viewer.cpp b/Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_viewer/src/viewer.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/iai_kinect2/kinect2_viewer/src/viewer.cpp rename to Code/MowingRobot/pibot_ros/third_party/iai_kinect2/kinect2_viewer/src/viewer.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/.gitattributes b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/.gitattributes similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/.gitattributes rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/.gitattributes diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/.github/ISSUE_TEMPLATE.md b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/.github/ISSUE_TEMPLATE.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/.github/ISSUE_TEMPLATE.md rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/.github/ISSUE_TEMPLATE.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/.gitignore b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/.gitignore similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/.gitignore rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/.gitignore diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/APACHE20 b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/APACHE20 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/APACHE20 rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/APACHE20 diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/CMakeLists.txt b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/CONTRIB b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/CONTRIB similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/CONTRIB rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/CONTRIB diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/GPL2 b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/GPL2 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/GPL2 rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/GPL2 diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/README.md b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/README.md rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/README.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/CheckOpenCLICDLoader.cmake b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/CheckOpenCLICDLoader.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/CheckOpenCLICDLoader.cmake rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/CheckOpenCLICDLoader.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindGLFW3.cmake b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindGLFW3.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindGLFW3.cmake rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindGLFW3.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindLibUSB.cmake b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindLibUSB.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindLibUSB.cmake rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindLibUSB.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindOpenCL.cmake b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindOpenCL.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindOpenCL.cmake rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindOpenCL.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindOpenNI2.cmake b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindOpenNI2.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindOpenNI2.cmake rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindOpenNI2.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindTegraJPEG.cmake b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindTegraJPEG.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindTegraJPEG.cmake rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindTegraJPEG.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindTurboJPEG.cmake b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindTurboJPEG.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/FindTurboJPEG.cmake rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/FindTurboJPEG.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/GenerateResources.cmake b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/GenerateResources.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/GenerateResources.cmake rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/GenerateResources.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/SetupLibfreenect2Threading.cmake b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/SetupLibfreenect2Threading.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/cmake_modules/SetupLibfreenect2Threading.cmake rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/cmake_modules/SetupLibfreenect2Threading.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/INSTALL-windows.txt b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/INSTALL-windows.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/INSTALL-windows.txt rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/INSTALL-windows.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/LICENSES.txt b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/LICENSES.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/LICENSES.txt rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/LICENSES.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/download_debs_trusty.sh b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/download_debs_trusty.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/download_debs_trusty.sh rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/download_debs_trusty.sh diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/install_glfw.sh b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/install_glfw.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/install_glfw.sh rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/install_glfw.sh diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/install_libusb.sh b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/install_libusb.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/install_libusb.sh rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/install_libusb.sh diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/install_libusb_vs2013.cmd b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/install_libusb_vs2013.cmd similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/install_libusb_vs2013.cmd rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/install_libusb_vs2013.cmd diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/install_libusb_vs2015.cmd b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/install_libusb_vs2015.cmd similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/install_libusb_vs2015.cmd rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/install_libusb_vs2015.cmd diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/install_ubuntu.sh b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/install_ubuntu.sh similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/install_ubuntu.sh rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/install_ubuntu.sh diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/make_release_msvc.cmd b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/make_release_msvc.cmd similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/depends/make_release_msvc.cmd rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/depends/make_release_msvc.cmd diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/doc/CMakeLists.txt b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/doc/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/doc/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/doc/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/doc/Doxyextra.css b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/doc/Doxyextra.css similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/doc/Doxyextra.css rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/doc/Doxyextra.css diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/doc/Doxyfile.in b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/doc/Doxyfile.in similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/doc/Doxyfile.in rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/doc/Doxyfile.in diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/doc/mainpage.dox b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/doc/mainpage.dox similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/doc/mainpage.dox rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/doc/mainpage.dox diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/examples/CMakeLists.txt b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/examples/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/examples/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/examples/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/examples/Protonect.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/examples/Protonect.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/examples/Protonect.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/examples/Protonect.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/examples/viewer.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/examples/viewer.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/examples/viewer.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/examples/viewer.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/examples/viewer.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/examples/viewer.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/examples/viewer.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/examples/viewer.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/freenect2.cmake.in b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/freenect2.cmake.in similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/freenect2.cmake.in rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/freenect2.cmake.in diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/freenect2.pc.in b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/freenect2.pc.in similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/freenect2.pc.in rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/freenect2.pc.in diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/freenect2Version.cmake.in b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/freenect2Version.cmake.in similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/freenect2Version.cmake.in rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/freenect2Version.cmake.in diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/CL/cl.hpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/CL/cl.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/CL/cl.hpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/CL/cl.hpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/allocator.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/allocator.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/allocator.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/allocator.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/async_packet_processor.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/async_packet_processor.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/async_packet_processor.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/async_packet_processor.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/data_callback.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/data_callback.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/data_callback.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/data_callback.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/depth_packet_processor.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/depth_packet_processor.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/depth_packet_processor.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/depth_packet_processor.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/depth_packet_stream_parser.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/depth_packet_stream_parser.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/depth_packet_stream_parser.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/depth_packet_stream_parser.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/logging.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/logging.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/logging.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/logging.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/packet_processor.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/packet_processor.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/packet_processor.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/packet_processor.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/protocol/command.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/protocol/command.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/protocol/command.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/protocol/command.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/protocol/command_transaction.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/protocol/command_transaction.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/protocol/command_transaction.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/protocol/command_transaction.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/protocol/response.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/protocol/response.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/protocol/response.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/protocol/response.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/protocol/usb_control.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/protocol/usb_control.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/protocol/usb_control.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/protocol/usb_control.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/resource.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/resource.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/resource.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/resource.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/rgb_packet_processor.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/rgb_packet_processor.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/rgb_packet_processor.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/rgb_packet_processor.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/rgb_packet_stream_parser.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/rgb_packet_stream_parser.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/rgb_packet_stream_parser.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/rgb_packet_stream_parser.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/threading.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/threading.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/threading.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/threading.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/usb/event_loop.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/usb/event_loop.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/usb/event_loop.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/usb/event_loop.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/usb/transfer_pool.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/usb/transfer_pool.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/internal/libfreenect2/usb/transfer_pool.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/internal/libfreenect2/usb/transfer_pool.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/color_settings.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/color_settings.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/color_settings.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/color_settings.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/config.h.in b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/config.h.in similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/config.h.in rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/config.h.in diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/frame_listener.hpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/frame_listener.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/frame_listener.hpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/frame_listener.hpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/frame_listener_impl.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/frame_listener_impl.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/frame_listener_impl.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/frame_listener_impl.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/led_settings.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/led_settings.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/led_settings.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/led_settings.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/libfreenect2.hpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/libfreenect2.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/libfreenect2.hpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/libfreenect2.hpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/logger.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/logger.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/logger.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/logger.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/packet_pipeline.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/packet_pipeline.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/packet_pipeline.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/packet_pipeline.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/registration.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/registration.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/include/libfreenect2/registration.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/include/libfreenect2/registration.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/README.md b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/README.md rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/README.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/jni/Android.mk b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/jni/Android.mk similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/jni/Android.mk rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/jni/Android.mk diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/jni/Application.mk b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/jni/Application.mk similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/jni/Application.mk rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/jni/Application.mk diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/jni/examples.mk b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/jni/examples.mk similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/jni/examples.mk rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/jni/examples.mk diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/jni/libfreenect2.mk b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/jni/libfreenect2.mk similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/jni/libfreenect2.mk rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/jni/libfreenect2.mk diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/libfreenect2/config.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/libfreenect2/config.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/android/libfreenect2/config.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/android/libfreenect2/config.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/linux/udev/90-kinect2.rules b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/linux/udev/90-kinect2.rules similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/linux/udev/90-kinect2.rules rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/linux/udev/90-kinect2.rules diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/windows/tracing/Readme.tracing.txt b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/windows/tracing/Readme.tracing.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/windows/tracing/Readme.tracing.txt rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/windows/tracing/Readme.tracing.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/windows/tracing/starttrace.bat b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/windows/tracing/starttrace.bat similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/windows/tracing/starttrace.bat rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/windows/tracing/starttrace.bat diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/windows/tracing/stoptrace.bat b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/windows/tracing/stoptrace.bat similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/windows/tracing/stoptrace.bat rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/windows/tracing/stoptrace.bat diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/windows/tracing/timestamp.bat b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/windows/tracing/timestamp.bat similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/platform/windows/tracing/timestamp.bat rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/platform/windows/tracing/timestamp.bat diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/allocator.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/allocator.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/allocator.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/allocator.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/command_transaction.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/command_transaction.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/command_transaction.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/command_transaction.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/cpu_depth_packet_processor.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/cpu_depth_packet_processor.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/cpu_depth_packet_processor.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/cpu_depth_packet_processor.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/cuda_depth_packet_processor.cu b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/cuda_depth_packet_processor.cu similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/cuda_depth_packet_processor.cu rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/cuda_depth_packet_processor.cu diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/cuda_kde_depth_packet_processor.cu b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/cuda_kde_depth_packet_processor.cu similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/cuda_kde_depth_packet_processor.cu rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/cuda_kde_depth_packet_processor.cu diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/depth_packet_processor.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/depth_packet_processor.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/depth_packet_processor.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/depth_packet_processor.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/depth_packet_stream_parser.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/depth_packet_stream_parser.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/depth_packet_stream_parser.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/depth_packet_stream_parser.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/event_loop.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/event_loop.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/event_loop.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/event_loop.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/flextGL.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/flextGL.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/flextGL.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/flextGL.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/flextGL.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/flextGL.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/flextGL.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/flextGL.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/frame_listener_impl.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/frame_listener_impl.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/frame_listener_impl.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/frame_listener_impl.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/libfreenect2.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/libfreenect2.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/libfreenect2.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/libfreenect2.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/logging.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/logging.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/logging.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/logging.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/opencl_depth_packet_processor.cl b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/opencl_depth_packet_processor.cl similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/opencl_depth_packet_processor.cl rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/opencl_depth_packet_processor.cl diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/opencl_depth_packet_processor.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/opencl_depth_packet_processor.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/opencl_depth_packet_processor.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/opencl_depth_packet_processor.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/opencl_kde_depth_packet_processor.cl b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/opencl_kde_depth_packet_processor.cl similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/opencl_kde_depth_packet_processor.cl rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/opencl_kde_depth_packet_processor.cl diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/opencl_kde_depth_packet_processor.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/opencl_kde_depth_packet_processor.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/opencl_kde_depth_packet_processor.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/opencl_kde_depth_packet_processor.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/opengl_depth_packet_processor.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/opengl_depth_packet_processor.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/opengl_depth_packet_processor.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/opengl_depth_packet_processor.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/ColorStream.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/ColorStream.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/ColorStream.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/ColorStream.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/ColorStream.hpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/ColorStream.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/ColorStream.hpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/ColorStream.hpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/DepthStream.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/DepthStream.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/DepthStream.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/DepthStream.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/DepthStream.hpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/DepthStream.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/DepthStream.hpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/DepthStream.hpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/DeviceDriver.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/DeviceDriver.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/DeviceDriver.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/DeviceDriver.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/IrStream.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/IrStream.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/IrStream.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/IrStream.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/IrStream.hpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/IrStream.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/IrStream.hpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/IrStream.hpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/Registration.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/Registration.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/Registration.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/Registration.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/Registration.hpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/Registration.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/Registration.hpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/Registration.hpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/Utility.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/Utility.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/Utility.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/Utility.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/Utility.hpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/Utility.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/Utility.hpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/Utility.hpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/VideoStream.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/VideoStream.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/VideoStream.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/VideoStream.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/VideoStream.hpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/VideoStream.hpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/openni2/VideoStream.hpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/openni2/VideoStream.hpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/packet_pipeline.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/packet_pipeline.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/packet_pipeline.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/packet_pipeline.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/registration.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/registration.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/registration.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/registration.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/resource.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/resource.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/resource.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/resource.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/rgb_packet_processor.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/rgb_packet_processor.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/rgb_packet_processor.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/rgb_packet_processor.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/rgb_packet_stream_parser.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/rgb_packet_stream_parser.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/rgb_packet_stream_parser.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/rgb_packet_stream_parser.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/debug.fs b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/debug.fs similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/debug.fs rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/debug.fs diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/default.vs b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/default.vs similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/default.vs rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/default.vs diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/filter1.fs b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/filter1.fs similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/filter1.fs rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/filter1.fs diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/filter2.fs b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/filter2.fs similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/filter2.fs rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/filter2.fs diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/stage1.fs b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/stage1.fs similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/stage1.fs rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/stage1.fs diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/stage2.fs b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/stage2.fs similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/shader/stage2.fs rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/shader/stage2.fs diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/tegra_jpeg_rgb_packet_processor.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/tegra_jpeg_rgb_packet_processor.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/tegra_jpeg_rgb_packet_processor.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/tegra_jpeg_rgb_packet_processor.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/tinythread/tinythread.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/tinythread/tinythread.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/tinythread/tinythread.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/tinythread/tinythread.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/tinythread/tinythread.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/tinythread/tinythread.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/tinythread/tinythread.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/tinythread/tinythread.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/transfer_pool.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/transfer_pool.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/transfer_pool.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/transfer_pool.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/turbo_jpeg_rgb_packet_processor.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/turbo_jpeg_rgb_packet_processor.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/turbo_jpeg_rgb_packet_processor.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/turbo_jpeg_rgb_packet_processor.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/usb_control.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/usb_control.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/usb_control.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/usb_control.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/vaapi_rgb_packet_processor.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/vaapi_rgb_packet_processor.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/vaapi_rgb_packet_processor.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/vaapi_rgb_packet_processor.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/vt_rgb_packet_processor.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/vt_rgb_packet_processor.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/src/vt_rgb_packet_processor.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/src/vt_rgb_packet_processor.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/generate_resources.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/generate_resources.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/generate_resources.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/generate_resources.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/mkcontrib.py b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/mkcontrib.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/mkcontrib.py rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/mkcontrib.py diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/CMakeLists.txt b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/PracticalSocket.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/PracticalSocket.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/PracticalSocket.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/PracticalSocket.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/ProtonectSR.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/ProtonectSR.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/ProtonectSR.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/ProtonectSR.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/README.md b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/README.md rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/README.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/blender_viewer/blender_viewer.blend b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/blender_viewer/blender_viewer.blend similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/blender_viewer/blender_viewer.blend rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/blender_viewer/blender_viewer.blend diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/blender_viewer/scripts/main.py b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/blender_viewer/scripts/main.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/blender_viewer/scripts/main.py rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/blender_viewer/scripts/main.py diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/include/PracticalSocket.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/include/PracticalSocket.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/include/PracticalSocket.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/include/PracticalSocket.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/include/config.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/include/config.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/include/config.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/include/config.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/include/msdirent.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/include/msdirent.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/include/msdirent.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/include/msdirent.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/include/recorder.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/include/recorder.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/include/recorder.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/include/recorder.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/include/streamer.h b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/include/streamer.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/include/streamer.h rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/include/streamer.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/recorder.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/recorder.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/recorder.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/recorder.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/streamer.cpp b/Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/streamer.cpp similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libfreenect2/tools/streamer_recorder/streamer.cpp rename to Code/MowingRobot/pibot_ros/third_party/libfreenect2/tools/streamer_recorder/streamer.cpp diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/.gitattributes b/Code/MowingRobot/pibot_ros/third_party/libuvc/.gitattributes similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/.gitattributes rename to Code/MowingRobot/pibot_ros/third_party/libuvc/.gitattributes diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/.gitignore b/Code/MowingRobot/pibot_ros/third_party/libuvc/.gitignore similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/.gitignore rename to Code/MowingRobot/pibot_ros/third_party/libuvc/.gitignore diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/.travis.yml b/Code/MowingRobot/pibot_ros/third_party/libuvc/.travis.yml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/.travis.yml rename to Code/MowingRobot/pibot_ros/third_party/libuvc/.travis.yml diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/CMakeLists.txt b/Code/MowingRobot/pibot_ros/third_party/libuvc/CMakeLists.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/CMakeLists.txt rename to Code/MowingRobot/pibot_ros/third_party/libuvc/CMakeLists.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/LICENSE.txt b/Code/MowingRobot/pibot_ros/third_party/libuvc/LICENSE.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/LICENSE.txt rename to Code/MowingRobot/pibot_ros/third_party/libuvc/LICENSE.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/README.md b/Code/MowingRobot/pibot_ros/third_party/libuvc/README.md similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/README.md rename to Code/MowingRobot/pibot_ros/third_party/libuvc/README.md diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/isight_imac.txt b/Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/isight_imac.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/isight_imac.txt rename to Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/isight_imac.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/isight_macbook.txt b/Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/isight_macbook.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/isight_macbook.txt rename to Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/isight_macbook.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/logitech_hd_pro_920.txt b/Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/logitech_hd_pro_920.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/logitech_hd_pro_920.txt rename to Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/logitech_hd_pro_920.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/ms_lifecam_show.txt b/Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/ms_lifecam_show.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/ms_lifecam_show.txt rename to Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/ms_lifecam_show.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/quickcampro9000.txt b/Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/quickcampro9000.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/quickcampro9000.txt rename to Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/quickcampro9000.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/quickcampro9000_builtin_ctrls.txt b/Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/quickcampro9000_builtin_ctrls.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/quickcampro9000_builtin_ctrls.txt rename to Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/quickcampro9000_builtin_ctrls.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/quickcampro9000_extra_ctrls.txt b/Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/quickcampro9000_extra_ctrls.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/cameras/quickcampro9000_extra_ctrls.txt rename to Code/MowingRobot/pibot_ros/third_party/libuvc/cameras/quickcampro9000_extra_ctrls.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/changelog.txt b/Code/MowingRobot/pibot_ros/third_party/libuvc/changelog.txt similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/changelog.txt rename to Code/MowingRobot/pibot_ros/third_party/libuvc/changelog.txt diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/cmake/FindJpegPkg.cmake b/Code/MowingRobot/pibot_ros/third_party/libuvc/cmake/FindJpegPkg.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/cmake/FindJpegPkg.cmake rename to Code/MowingRobot/pibot_ros/third_party/libuvc/cmake/FindJpegPkg.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/cmake/FindLibUSB.cmake b/Code/MowingRobot/pibot_ros/third_party/libuvc/cmake/FindLibUSB.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/cmake/FindLibUSB.cmake rename to Code/MowingRobot/pibot_ros/third_party/libuvc/cmake/FindLibUSB.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/cmake/FindOpenCVPkg.cmake b/Code/MowingRobot/pibot_ros/third_party/libuvc/cmake/FindOpenCVPkg.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/cmake/FindOpenCVPkg.cmake rename to Code/MowingRobot/pibot_ros/third_party/libuvc/cmake/FindOpenCVPkg.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/doxygen.conf b/Code/MowingRobot/pibot_ros/third_party/libuvc/doxygen.conf similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/doxygen.conf rename to Code/MowingRobot/pibot_ros/third_party/libuvc/doxygen.conf diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/include/libuvc/libuvc.h b/Code/MowingRobot/pibot_ros/third_party/libuvc/include/libuvc/libuvc.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/include/libuvc/libuvc.h rename to Code/MowingRobot/pibot_ros/third_party/libuvc/include/libuvc/libuvc.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/include/libuvc/libuvc_config.h.in b/Code/MowingRobot/pibot_ros/third_party/libuvc/include/libuvc/libuvc_config.h.in similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/include/libuvc/libuvc_config.h.in rename to Code/MowingRobot/pibot_ros/third_party/libuvc/include/libuvc/libuvc_config.h.in diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/include/libuvc/libuvc_internal.h b/Code/MowingRobot/pibot_ros/third_party/libuvc/include/libuvc/libuvc_internal.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/include/libuvc/libuvc_internal.h rename to Code/MowingRobot/pibot_ros/third_party/libuvc/include/libuvc/libuvc_internal.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/include/utlist.h b/Code/MowingRobot/pibot_ros/third_party/libuvc/include/utlist.h similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/include/utlist.h rename to Code/MowingRobot/pibot_ros/third_party/libuvc/include/utlist.h diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/libuvc.pc.in b/Code/MowingRobot/pibot_ros/third_party/libuvc/libuvc.pc.in similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/libuvc.pc.in rename to Code/MowingRobot/pibot_ros/third_party/libuvc/libuvc.pc.in diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/libuvcConfig.cmake b/Code/MowingRobot/pibot_ros/third_party/libuvc/libuvcConfig.cmake similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/libuvcConfig.cmake rename to Code/MowingRobot/pibot_ros/third_party/libuvc/libuvcConfig.cmake diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/ctrl-gen.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/ctrl-gen.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/ctrl-gen.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/ctrl-gen.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/ctrl-gen.py b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/ctrl-gen.py old mode 100644 new mode 100755 similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/ctrl-gen.py rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/ctrl-gen.py diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/ctrl.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/ctrl.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/ctrl.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/ctrl.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/device.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/device.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/device.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/device.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/diag.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/diag.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/diag.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/diag.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/example.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/example.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/example.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/example.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/frame-mjpeg.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/frame-mjpeg.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/frame-mjpeg.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/frame-mjpeg.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/frame.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/frame.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/frame.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/frame.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/init.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/init.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/init.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/init.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/misc.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/misc.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/misc.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/misc.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/stream.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/stream.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/stream.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/stream.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/test.c b/Code/MowingRobot/pibot_ros/third_party/libuvc/src/test.c similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/src/test.c rename to Code/MowingRobot/pibot_ros/third_party/libuvc/src/test.c diff --git a/Code/MowingRobot/PIBot_ROS/third_party/libuvc/standard-units.yaml b/Code/MowingRobot/pibot_ros/third_party/libuvc/standard-units.yaml similarity index 100% rename from Code/MowingRobot/PIBot_ROS/third_party/libuvc/standard-units.yaml rename to Code/MowingRobot/pibot_ros/third_party/libuvc/standard-units.yaml diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/GrallocOps.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/GrallocOps.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/GrallocOps.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/GrallocOps.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/RgaApi.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/RgaApi.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/RgaApi.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/RgaApi.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/RgaMutex.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/RgaMutex.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/RgaMutex.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/RgaMutex.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/RgaSingleton.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/RgaSingleton.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/RgaSingleton.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/RgaSingleton.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/RgaUtils.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/RgaUtils.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/RgaUtils.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/RgaUtils.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/RockchipRga.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/RockchipRga.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/RockchipRga.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/RockchipRga.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/drmrga.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/drmrga.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/drmrga.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/drmrga.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d.hpp b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d.hpp similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d.hpp rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d.hpp diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_buffer.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_buffer.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_buffer.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_buffer.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_common.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_common.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_common.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_common.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_expand.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_expand.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_expand.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_expand.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_mpi.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_mpi.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_mpi.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_mpi.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_single.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_single.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_single.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_single.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_task.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_task.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_task.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_task.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_type.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_type.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_type.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_type.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_version.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_version.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/im2d_version.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/im2d_version.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/rga.h b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/rga.h similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/include/rga.h rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/include/rga.h diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/lib/Linux/aarch64/librga.a b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/lib/Linux/aarch64/librga.a similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/lib/Linux/aarch64/librga.a rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/lib/Linux/aarch64/librga.a diff --git a/Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/lib/Linux/aarch64/librga.so b/Code/MowingRobot/pibot_ros/third_party/rga/RK3588/lib/Linux/aarch64/librga.so similarity index 100% rename from Code/MowingRobot/obj_dec/src/3rdparty/rga/RK3588/lib/Linux/aarch64/librga.so rename to Code/MowingRobot/pibot_ros/third_party/rga/RK3588/lib/Linux/aarch64/librga.so diff --git a/Code/MowingRobot/pibot_ros/third_party/so/libopencv_highgui.so b/Code/MowingRobot/pibot_ros/third_party/so/libopencv_highgui.so new file mode 120000 index 0000000..d4d2ae4 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/third_party/so/libopencv_highgui.so @@ -0,0 +1 @@ +/usr/local/lib/libopencv_highgui.so \ No newline at end of file diff --git a/Code/MowingRobot/obj_dec/src/librga.so b/Code/MowingRobot/pibot_ros/third_party/so/librga.so similarity index 100% rename from Code/MowingRobot/obj_dec/src/librga.so rename to Code/MowingRobot/pibot_ros/third_party/so/librga.so diff --git a/Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/librknn_api/aarch64/librknnrt.so b/Code/MowingRobot/pibot_ros/third_party/so/librknnrt.so similarity index 100% rename from Code/MowingRobot/obj_dec/src/runtime/RK3588/Linux/librknn_api/aarch64/librknnrt.so rename to Code/MowingRobot/pibot_ros/third_party/so/librknnrt.so From 153d827393d9b43e0b062f9592ebcb6e95845a38 Mon Sep 17 00:00:00 2001 From: ray <2954701669@qq.com> Date: Fri, 8 Mar 2024 09:13:18 +0000 Subject: [PATCH 2/3] ray --- Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning | 1 - 1 file changed, 1 deletion(-) delete mode 160000 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning deleted file mode 160000 index d2e9227..0000000 --- a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning +++ /dev/null @@ -1 +0,0 @@ -Subproject commit d2e922718991210048848b6ca06a1c118c96be2e From 3e026eb9ee5792402d4f0852410e49679c4ce0ca Mon Sep 17 00:00:00 2001 From: LXX <916401988@qq.com> Date: Fri, 8 Mar 2024 17:56:05 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E5=9C=B0=E5=9B=BE=E4=BF=AE=E6=94=B9=20?= =?UTF-8?q?=E6=96=87=E6=A1=A3=E6=9B=B4=E6=96=B0=20=E5=86=85=E5=AE=B9?= =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Code/MowingRobot/README.md | 20 +- .../src/ipa_coverage_planning/.gitignore | 48 + .../ipa_coverage_planning/.travis.rosinstall | 1 + .../.travis.rosinstall.melodic | 8 + .../src/ipa_coverage_planning/.travis.yml | 30 + .../src/ipa_coverage_planning/README.md | 37 + .../ipa_building_msgs/CHANGELOG.rst | 13 + .../ipa_building_msgs/CMakeLists.txt | 79 + .../FindRoomSequenceWithCheckpoints.action | 17 + .../action/MapSegmentation.action | 39 + .../action/RoomExploration.action | 24 + .../ipa_building_msgs/msg/RoomInformation.msg | 2 + .../ipa_building_msgs/msg/RoomSequence.msg | 5 + .../ipa_building_msgs/msg/dis_info.msg | 4 + .../ipa_building_msgs/msg/dis_info_array.msg | 1 + .../ipa_building_msgs/package.xml | 27 + .../ipa_building_msgs/srv/CheckCoverage.srv | 12 + .../srv/ExtractAreaMapFromLabeledMap.srv | 14 + .../ipa_building_navigation/CMakeLists.txt | 202 + .../cfg/BuildingNavigation.cfg | 42 + .../A_star_pathplanner.h | 62 + .../ipa_building_navigation/concorde_TSP.h | 92 + .../ipa_building_navigation/contains.h | 24 + .../ipa_building_navigation/distance_matrix.h | 261 + .../ipa_building_navigation/genetic_TSP.h | 91 + .../maximal_clique_finder.h | 69 + .../nearest_neighbor_TSP.h | 69 + .../include/ipa_building_navigation/node.h | 40 + .../set_cover_solver.h | 72 + .../include/ipa_building_navigation/timer.h | 183 + .../trolley_position_finder.h | 58 + .../tsp_solver_defines.h | 63 + .../ipa_building_navigation/tsp_solvers.h | 67 + .../common/src/A_star_pathplanner.cpp | 383 + .../common/src/concorde_TSP.cpp | 317 + .../common/src/genetic_TSP.cpp | 319 + .../common/src/maximal_clique_finder.cpp | 186 + .../common/src/nearest_neighbor_TSP.cpp | 102 + .../common/src/node.cpp | 63 + .../common/src/set_cover_solver.cpp | 306 + .../common/src/trolley_position_finder.cpp | 231 + .../ipa_building_navigation/package.xml | 37 + .../ipa_building_navigation/readme.md | 66 + .../dynamic_reconfigure_client.h | 248 + .../room_sequence_planning_action_server.h | 165 + ...oom_sequence_planning_action_server.launch | 9 + ...equence_planning_action_server_params.yaml | 53 + .../ros/src/boosttest.cpp | 216 + .../room_sequence_planning_action_client.cpp | 142 + .../room_sequence_planning_action_server.cpp | 901 + .../src/room_sequence_planning_evaluation.cpp | 2162 ++ .../ros/src/tester.cpp | 215 + ...oom_sequence_planning_action_client.launch | 7 + .../room_sequence_planning_evaluation.launch | 7 + .../ipa_coverage_planning/CMakeLists.txt | 4 + .../ipa_coverage_planning/package.xml | 22 + .../ipa_room_exploration/CHANGELOG.rst | 15 + .../ipa_room_exploration/CMakeLists.txt | 320 + .../cfg/CoverageMonitor.cfg | 18 + .../cfg/RoomExploration.cfg | 123 + .../cmake/FindGUROBI.cmake | 62 + .../boustrophedon_explorator.h | 334 + .../convex_sensor_placement_explorator.h | 162 + .../energy_functional_explorator.h | 150 + .../include/ipa_room_exploration/fast_math.h | 1620 + .../flow_network_explorator.h | 509 + .../include/ipa_room_exploration/grid.h | 461 + .../grid_point_explorator.h | 108 + .../include/ipa_room_exploration/histogram.h | 132 + .../ipa_room_exploration/meanshift2d.h | 78 + .../ipa_room_exploration/nanoflann.hpp | 1398 + .../neural_network_explorator.h | 148 + .../ipa_room_exploration/neuron_class.h | 211 + .../ipa_room_exploration/room_rotator.h | 104 + .../include/ipa_room_exploration/timer.h | 183 + .../include/ipa_room_exploration/voronoi.hpp | 1273 + .../common/src/boustrophedon_explorator.cpp | 1160 + .../convex_sensor_placement_explorator.cpp | 596 + .../src/energy_functional_explorator.cpp | 388 + .../common/src/flow_network_explorator.cpp | 2045 + .../common/src/grid_point_explorator.cpp | 262 + .../common/src/meanshift2d.cpp | 161 + .../common/src/neural_network_explorator.cpp | 367 + .../common/src/room_rotator.cpp | 237 + .../ipa_room_exploration/package.xml | 48 + .../ipa_room_exploration/readme.md | 29 + .../ros/config/cleaning_costmap_params.yaml | 15 + .../ros/config/costmap_common_params.yaml | 13 + .../config/costmap_common_params_burger.yaml | 12 + .../config/costmap_common_params_waffle.yaml | 22 + .../costmap_common_params_waffle_pi.yaml | 12 + .../ros/config/global_costmap_params.yaml | 15 + .../coverage_check_server.h | 66 + .../dynamic_reconfigure_client.h | 248 + .../fov_to_robot_mapper.h | 102 + .../room_exploration_action_server.h | 332 + .../ros/launch/amcl.launch | 46 + .../ros/launch/clean_work.launch | 28 + .../cob_map_accessibility_analysis.launch | 14 + ...cob_map_accessibility_analysis_params.yaml | 19 + .../ros/launch/coverage_check_server.launch | 8 + .../ros/launch/coverage_monitor_server.launch | 9 + .../coverage_monitor_server_params.yaml | 19 + .../ros/launch/gazebo.launch | 20 + .../room_exploration_action_server.launch | 21 + ...room_exploration_action_server_params.yaml | 167 + .../ros/launch/talkerUltraSound.launch | 6 + .../ros/launch/turtlebot3_navigation.launch | 27 + .../ipa_room_exploration/ros/maps/sim.pgm | 5 + .../ipa_room_exploration/ros/maps/sim.yaml | 7 + .../ros/rviz/turtlebot3_karto.rviz | 295 + .../ros/rviz/turtlebot3_navigation.rviz | 571 + .../ros/src/coverage_check_server.cpp | 216 + .../ros/src/coverage_check_server_main.cpp | 13 + .../ros/src/coverage_monitor_server.cpp | 462 + .../ros/src/fov_to_robot_mapper.cpp | 359 + .../ros/src/next_goal.cpp | 245 + .../src/room_exploration_action_client.cpp | 226 + .../src/room_exploration_action_server.cpp | 1318 + .../ros/src/room_exploration_evaluation.cpp | 1692 + .../ipa_room_exploration/ros/src/sub.cpp | 45 + .../ros/test/room_exploration_client.launch | 32 + .../test/room_exploration_evaluation.launch | 7 + .../ipa_room_exploration/ros/worlds/sim.world | 1578 + .../ipa_room_segmentation/CMakeLists.txt | 183 + .../cfg/RoomSegmentation.cfg | 59 + .../semantic_hallway_SVM.xml | 26 + .../semantic_hallway_boost.xml | 32240 ++++++++++++++++ .../classifier_models/semantic_room_SVM.xml | 26 + .../classifier_models/semantic_room_boost.xml | 32240 ++++++++++++++++ .../vrf_conditional_field_weights.txt | 35 + .../classifier_models/vrf_doorway_boost.xml | 3260 ++ .../classifier_models/vrf_hallway_boost.xml | 3260 ++ .../classifier_models/vrf_room_boost.xml | 3260 ++ .../common/files/test_maps/160_160.png | Bin 0 -> 994 bytes .../common/files/test_maps/250_250.png | Bin 0 -> 1063 bytes .../common/files/test_maps/300_300.png | Bin 0 -> 1100 bytes .../common/files/test_maps/400_400.png | Bin 0 -> 1121 bytes .../common/files/test_maps/500_500.png | Bin 0 -> 1181 bytes .../common/files/test_maps/a.png | Bin 0 -> 8462 bytes .../common/files/test_maps/blank.png | Bin 0 -> 9065 bytes .../common/files/test_maps/quellen.txt | 8 + .../common/files/test_maps/test1.png | Bin 0 -> 1659 bytes ...urg52_scan_furnitures_hallway_training.png | Bin 0 -> 3441 bytes ...eiburg52_scan_furnitures_room_training.png | Bin 0 -> 3433 bytes .../Freiburg52_scan_hallway_training.png | Bin 0 -> 1191 bytes .../Freiburg52_scan_room_training.png | Bin 0 -> 1211 bytes .../lab_a_hallway_training_map.png | Bin 0 -> 5906 bytes .../training_maps/lab_d_room_training_map.png | Bin 0 -> 5430 bytes ...lab_intel_furnitures_room_training_map.png | Bin 0 -> 9364 bytes .../lab_intel_hallway_training_map.png | Bin 0 -> 3945 bytes .../lab_ipa_hallway_training_map.png | Bin 0 -> 4354 bytes .../lab_ipa_room_training_map.png | Bin 0 -> 4433 bytes .../original_maps/Fr101_original.png | Bin 0 -> 5013 bytes .../original_maps/Fr52_original.png | Bin 0 -> 858 bytes .../original_maps/NLB_original.png | Bin 0 -> 8670 bytes .../lab_c_furnitures_original.png | Bin 0 -> 8207 bytes .../lab_d_furnitures_original.png | Bin 0 -> 5347 bytes .../original_maps/lab_intel_original.png | Bin 0 -> 2938 bytes .../original_maps/lab_ipa_original.png | Bin 0 -> 4196 bytes .../original_maps/office_e_original.png | Bin 0 -> 15549 bytes .../original_maps/office_h_original.png | Bin 0 -> 2969 bytes .../training_maps/training_Fr101.png | Bin 0 -> 5611 bytes .../training_maps/training_Fr52.png | Bin 0 -> 1016 bytes .../training_maps/training_NLB_furniture.png | Bin 0 -> 9709 bytes .../training_maps/training_intel.png | Bin 0 -> 3827 bytes .../training_lab_c_furnitures.png | Bin 0 -> 4907 bytes .../training_lab_d_furniture.png | Bin 0 -> 5753 bytes .../training_maps/training_lab_ipa.png | Bin 0 -> 4685 bytes .../training_maps/training_office_e.png | Bin 0 -> 18931 bytes .../training_maps/training_office_h.png | Bin 0 -> 3769 bytes .../voronoi_maps/Fr101_voronoi.png | Bin 0 -> 18191 bytes .../voronoi_maps/Fr52_voronoi.png | Bin 0 -> 8559 bytes .../voronoi_maps/NLB_voronoi.png | Bin 0 -> 55107 bytes .../voronoi_maps/lab_c_furnitures_voronoi.png | Bin 0 -> 18623 bytes .../voronoi_maps/lab_d_furnitures_voronoi.png | Bin 0 -> 20694 bytes .../voronoi_maps/lab_intel_voronoi.png | Bin 0 -> 20853 bytes .../voronoi_maps/lab_ipa_voronoi.png | Bin 0 -> 11542 bytes .../voronoi_maps/office_e_voronoi.png | Bin 0 -> 42043 bytes .../voronoi_maps/office_h_voronoi.png | Bin 0 -> 28586 bytes .../voronoi_node_maps/Fr101_voronoi_nodes.png | Bin 0 -> 7376 bytes .../voronoi_node_maps/Fr52_voronoi_nodes.png | Bin 0 -> 1642 bytes .../voronoi_node_maps/NLB_voronoi_nodes.png | Bin 0 -> 15750 bytes .../lab_c_furnitures_voronoi_nodes.png | Bin 0 -> 7062 bytes .../lab_d_furnitures_voronoi_nodes.png | Bin 0 -> 7960 bytes .../lab_intel_voronoi_nodes.png | Bin 0 -> 5269 bytes .../lab_ipa_voronoi_nodes.png | Bin 0 -> 5353 bytes .../office_e_voronoi_nodes.png | Bin 0 -> 20799 bytes .../office_h_voronoi_nodes.png | Bin 0 -> 6628 bytes .../abstract_voronoi_segmentation.h | 84 + .../adaboost_classifier.h | 49 + .../ipa_room_segmentation/clique_class.h | 113 + .../include/ipa_room_segmentation/contains.h | 13 + .../ipa_room_segmentation/cv_boost_loader.h | 8 + .../distance_segmentation.h | 19 + .../evaluation_segmentation.h | 40 + .../include/ipa_room_segmentation/fast_math.h | 1608 + .../include/ipa_room_segmentation/features.h | 81 + .../ipa_room_segmentation/meanshift2d.h | 76 + .../morphological_segmentation.h | 14 + .../ipa_room_segmentation/raycasting.h | 27 + .../ipa_room_segmentation/room_class.h | 94 + .../include/ipa_room_segmentation/timer.h | 184 + .../voronoi_random_field_features.h | 101 + .../voronoi_random_field_segmentation.h | 255 + .../voronoi_segmentation.h | 27 + .../wavefront_region_growing.h | 8 + .../src/abstract_voronoi_segmentation.cpp | 463 + .../common/src/adaboost_classifier.cpp | 512 + .../common/src/clique_class.cpp | 74 + .../common/src/contains.cpp | 53 + .../common/src/cv_boost_loader.cpp | 17 + .../common/src/distance_segmentation.cpp | 123 + .../common/src/evaluation_segmentation.cpp | 416 + .../common/src/features.cpp | 873 + .../common/src/meanshift2d.cpp | 161 + .../common/src/morphological_segmentation.cpp | 132 + .../common/src/raycasting.cpp | 194 + .../common/src/room_class.cpp | 257 + .../common/src/segmentation_tester.cpp | 208 + .../src/voronoi_random_field_features.cpp | 1052 + .../src/voronoi_random_field_segmentation.cpp | 1940 + .../common/src/voronoi_segmentation.cpp | 355 + .../common/src/wavefront_region_growing.cpp | 44 + .../ipa_room_segmentation/package.xml | 40 + .../ipa_room_segmentation/readme.md | 80 + .../dynamic_reconfigure_client.h | 248 + .../room_segmentation_server.h | 170 + .../room_segmentation_action_server.launch | 70 + ...oom_segmentation_action_server_params.yaml | 61 + .../ros/src/evaluation_numeric_properties.cpp | 920 + .../ros/src/room_segmentation_client.cpp | 235 + .../ros/src/room_segmentation_server.cpp | 895 + .../room_segmentation_action_client.launch | 7 + .../test/room_segmentation_evaluation.launch | 7 + .../test_map/.vscode/settings.json | 64 + Code/MowingRobot/test_map/.vscode/tasks.json | 28 + Code/MowingRobot/test_map/CMakeLists.txt | 21 + Code/MowingRobot/test_map/map/07.png | Bin 0 -> 1602 bytes Code/MowingRobot/test_map/map/test.png | Bin 0 -> 2008 bytes Code/MowingRobot/test_map/src/main.cpp | 123 + Docs/2.PIbot-ROS安装.md | 5 + 242 files changed, 116175 insertions(+), 2 deletions(-) create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.gitignore create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.rosinstall create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.rosinstall.melodic create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.yml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/README.md create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CHANGELOG.rst create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CMakeLists.txt create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/FindRoomSequenceWithCheckpoints.action create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/MapSegmentation.action create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/RoomExploration.action create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomInformation.msg create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomSequence.msg create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info.msg create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info_array.msg create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/package.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/CheckCoverage.srv create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/ExtractAreaMapFromLabeledMap.srv create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/CMakeLists.txt create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/cfg/BuildingNavigation.cfg create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/A_star_pathplanner.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/concorde_TSP.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/contains.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/distance_matrix.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/genetic_TSP.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/maximal_clique_finder.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/nearest_neighbor_TSP.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/node.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/set_cover_solver.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/timer.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/trolley_position_finder.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solver_defines.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solvers.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/A_star_pathplanner.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/concorde_TSP.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/genetic_TSP.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/maximal_clique_finder.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/nearest_neighbor_TSP.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/node.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/set_cover_solver.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/trolley_position_finder.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/package.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/readme.md create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/include/ipa_building_navigation/dynamic_reconfigure_client.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/include/ipa_building_navigation/room_sequence_planning_action_server.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server_params.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/boosttest.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_client.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_server.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_evaluation.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/tester.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_action_client.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_evaluation.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/CMakeLists.txt create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/package.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CHANGELOG.rst create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CMakeLists.txt create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/CoverageMonitor.cfg create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/RoomExploration.cfg create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cmake/FindGUROBI.cmake create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/boustrophedon_explorator.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/convex_sensor_placement_explorator.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/energy_functional_explorator.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/fast_math.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/flow_network_explorator.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/grid.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/grid_point_explorator.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/histogram.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/meanshift2d.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/nanoflann.hpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neural_network_explorator.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neuron_class.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/room_rotator.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/timer.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/voronoi.hpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/boustrophedon_explorator.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/convex_sensor_placement_explorator.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/energy_functional_explorator.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/flow_network_explorator.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/grid_point_explorator.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/meanshift2d.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/neural_network_explorator.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/room_rotator.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/package.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/readme.md create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/cleaning_costmap_params.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_burger.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle_pi.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/global_costmap_params.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/coverage_check_server.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/dynamic_reconfigure_client.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/fov_to_robot_mapper.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/room_exploration_action_server.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/amcl.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/clean_work.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis_params.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_check_server.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server_params.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/gazebo.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server_params.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/talkerUltraSound.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/turtlebot3_navigation.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.pgm create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_karto.rviz create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_navigation.rviz create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server_main.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_monitor_server.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/fov_to_robot_mapper.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/next_goal.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_client.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_server.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_evaluation.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/sub.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_client.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_evaluation.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/worlds/sim.world create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/CMakeLists.txt create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/cfg/RoomSegmentation.cfg create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_SVM.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_boost.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_SVM.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_boost.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_conditional_field_weights.txt create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_doorway_boost.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_hallway_boost.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_room_boost.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/160_160.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/250_250.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/300_300.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/400_400.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/500_500.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/a.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/blank.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/quellen.txt create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/test1.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_furnitures_hallway_training.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_furnitures_room_training.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_hallway_training.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_room_training.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_a_hallway_training_map.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_d_room_training_map.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_intel_furnitures_room_training_map.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_intel_hallway_training_map.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_hallway_training_map.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_room_training_map.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/Fr101_original.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/Fr52_original.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/NLB_original.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_c_furnitures_original.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_d_furnitures_original.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_intel_original.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_ipa_original.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_e_original.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_h_original.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr101.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr52.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_NLB_furniture.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_intel.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_c_furnitures.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_d_furniture.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_ipa.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_e.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_h.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr101_voronoi.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr52_voronoi.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/NLB_voronoi.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_c_furnitures_voronoi.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_d_furnitures_voronoi.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_intel_voronoi.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_ipa_voronoi.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_e_voronoi.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_h_voronoi.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr101_voronoi_nodes.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr52_voronoi_nodes.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/NLB_voronoi_nodes.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_c_furnitures_voronoi_nodes.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_d_furnitures_voronoi_nodes.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_intel_voronoi_nodes.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_ipa_voronoi_nodes.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_e_voronoi_nodes.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_h_voronoi_nodes.png create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/abstract_voronoi_segmentation.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/adaboost_classifier.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/clique_class.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/contains.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/cv_boost_loader.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/distance_segmentation.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/evaluation_segmentation.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/fast_math.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/features.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/meanshift2d.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/morphological_segmentation.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/raycasting.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/room_class.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/timer.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_features.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_segmentation.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_segmentation.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/wavefront_region_growing.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/abstract_voronoi_segmentation.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/adaboost_classifier.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/clique_class.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/contains.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/cv_boost_loader.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/distance_segmentation.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/evaluation_segmentation.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/features.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/meanshift2d.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/morphological_segmentation.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/raycasting.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/room_class.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/segmentation_tester.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_features.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_segmentation.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_segmentation.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/wavefront_region_growing.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/package.xml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/readme.md create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/include/ipa_room_segmentation/dynamic_reconfigure_client.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/include/ipa_room_segmentation/room_segmentation_server.h create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server_params.yaml create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/evaluation_numeric_properties.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_client.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_server.cpp create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_action_client.launch create mode 100644 Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_evaluation.launch create mode 100644 Code/MowingRobot/test_map/.vscode/settings.json create mode 100644 Code/MowingRobot/test_map/.vscode/tasks.json create mode 100644 Code/MowingRobot/test_map/CMakeLists.txt create mode 100644 Code/MowingRobot/test_map/map/07.png create mode 100644 Code/MowingRobot/test_map/map/test.png create mode 100644 Code/MowingRobot/test_map/src/main.cpp diff --git a/Code/MowingRobot/README.md b/Code/MowingRobot/README.md index 61791db..8129aa2 100644 --- a/Code/MowingRobot/README.md +++ b/Code/MowingRobot/README.md @@ -24,7 +24,23 @@ PIBot官方资料:https://gitee.com/pibot/pibot_bringup/blob/master/doc/README ./runRoomExplorationServer.sh # 启动全覆盖地图客户端 ./runRoomExplorationClient.sh + +#自己建图(画圈)、地图的优化、跑全覆盖 +#建图 +(UWB的) +#地图优化 +cd test_map + ./main input_map_name output_map_name +#全覆盖客户端路径 +cd pibot_ros/ros_ws + source ./devel/setup.bash + roslaunch ipa_room_exploration room_exploration_client.launch robot_env:=map_name + +#修改地图路径 +#优化地图 +test_map 的main.cpp +#全覆盖 +room_exploration_action_client.cpp 下面77行 + ``` - - diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.gitignore b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.gitignore new file mode 100644 index 0000000..5243d90 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.gitignore @@ -0,0 +1,48 @@ +# default .gitignore file for ipa320 repositories +# master file can be found in https://github.com/ipa320/care-o-bot/blob/indigo_dev/.gitignore + +build/ +bin/ +lib/ + +# generated docs +*.dox +*.wikidoc + +# eclipse +.project +.cproject + +# qcreator +qtcreator-* +*.user + +# Emacs +.#* + +# VI/VIM +*.swp + +# python files +*.pcd +*.pyc +*.pco + +# temporary files +*~ + +# merge conflict files +*.orig +*BACKUP* +*BASE* +*LOCAL* +*REMOTE* + +# Catkin custom files +CATKIN_IGNORE + +# result files +*.map + +# Kdev +*.kdev4 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.rosinstall b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.rosinstall new file mode 100644 index 0000000..1bb8bf6 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.rosinstall @@ -0,0 +1 @@ +# empty diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.rosinstall.melodic b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.rosinstall.melodic new file mode 100644 index 0000000..0bce297 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.rosinstall.melodic @@ -0,0 +1,8 @@ +- git: + local-name: cob_extern + uri: https://github.com/ipa320/cob_extern.git + version: indigo_dev +- git: + local-name: cob_perception_common + uri: https://github.com/ipa320/cob_perception_common.git + version: indigo_dev diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.yml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.yml new file mode 100644 index 0000000..4babe29 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/.travis.yml @@ -0,0 +1,30 @@ +language: generic +services: + - docker + +notifications: + email: + on_success: change + on_failure: always +env: + global: + - ROS_REPO=ros + matrix: + - ROS_DISTRO=kinetic UPSTREAM_WORKSPACE=file + - ROS_DISTRO=kinetic UPSTREAM_WORKSPACE=debian + - ROS_DISTRO=melodic UPSTREAM_WORKSPACE=file + - ROS_DISTRO=melodic UPSTREAM_WORKSPACE=debian + - ROS_DISTRO=noetic UPSTREAM_WORKSPACE=file + - ROS_DISTRO=noetic UPSTREAM_WORKSPACE=debian + +matrix: + allow_failures: + - env: ROS_DISTRO=kinetic UPSTREAM_WORKSPACE=file + - env: ROS_DISTRO=kinetic UPSTREAM_WORKSPACE=debian + - env: ROS_DISTRO=melodic UPSTREAM_WORKSPACE=debian + - env: ROS_DISTRO=noetic UPSTREAM_WORKSPACE=debian +install: + - git clone https://github.com/ros-industrial/industrial_ci.git .ci_config +script: + - .ci_config/travis.sh +# - ./travis.sh # Enable this when you have a package-local script diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/README.md b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/README.md new file mode 100644 index 0000000..eae5963 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/README.md @@ -0,0 +1,37 @@ +# ipa_coverage_planning +Algorithms for floor plan segmentation and systematic coverage driving patterns. + +If you find this software useful in your work, please cite our corresponding papers: +- R. Bormann, F. Jordan, W. Li, J. Hampp, and M. Hägele. Room Segmentation: Survey, Implementation, and Analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2016. https://ieeexplore.ieee.org/abstract/document/7487234 , https://publica.fraunhofer.de/entities/publication/0bf23149-75d5-4601-bfce-992d91698862/details +- R. Bormann, F. Jordan, J. Hampp, and M. Hägele. Indoor coverage path planning: Survey, implementation, analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pages 1718–1725, May 2018. https://ieeexplore.ieee.org/abstract/document/8460566 , https://publica.fraunhofer.de/entities/publication/f537c15d-4cbe-4672-9d86-6e756a9ce71b/details + +## ROS Distro Support + +| | Indigo | Jade | Kinetic | Melodic | Noetic | +|:-------:|:------:|:----:|:-------:|:-------:|:-------:| +| Branch | [`indigo_dev`](https://github.com/ipa320/ipa_coverage_planning/tree/indigo_dev) | [`indigo_dev`](https://github.com/ipa320/ipa_coverage_planning/tree/indigo_dev) | [`indigo_dev`](https://github.com/ipa320/ipa_coverage_planning/tree/indigo_dev) | [`melodic_dev`](https://github.com/ipa320/ipa_coverage_planning/tree/melodic_dev) |[`noetic_dev`](https://github.com/ipa320/ipa_coverage_planning/tree/noetic_dev) | +| Status | not supported | not supported | EOL | supported | supported | +| Version | [version](http://repositories.ros.org/status_page/ros_indigo_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_jade_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_kinetic_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_melodic_default.html?q=ipa_coverage_planning) | [version](http://repositories.ros.org/status_page/ros_noetic_default.html?q=ipa_coverage_planning) + +## Travis - Continuous Integration + +Status: [![Build Status](https://travis-ci.org/ipa320/ipa_coverage_planning.svg?branch=indigo_dev)](https://travis-ci.org/ipa320/ipa_coverage_planning) + + +## Quick start + +1. Bring up your robot or launch the turtlebot3 simulation + +1. Start the room exploration action server: + + ``` + roslaunch ipa_room_exploration room_exploration_action_server.launch + ``` + + +1. Start the room exploration action client: + + ``` + roslaunch ipa_room_exploration room_exploration_client.launch robot_env:=your-robot-env use_test_maps:=false + ``` + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CHANGELOG.rst new file mode 100644 index 0000000..f8a3879 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CHANGELOG.rst @@ -0,0 +1,13 @@ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Changelog for package ipa_building_msgs +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.2.0 (2017-02-09) +------------------ +* added a srv folder +* added a srv for ipa_room_exploration/coverage_check_server +* Contributors: Florian Jordan + +0.0.1 (2016-08-06) +------------------ +* package set up with first set of msgs +* Contributors: Florian Jordan, Richard Bormann diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CMakeLists.txt new file mode 100644 index 0000000..0529155 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/CMakeLists.txt @@ -0,0 +1,79 @@ +cmake_minimum_required(VERSION 2.8.3) +project(ipa_building_msgs) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + actionlib + actionlib_msgs + genmsg + geometry_msgs + message_generation + sensor_msgs + std_msgs +) + +####################################### +## Declare ROS messages and services ## +####################################### + +## Add the Files for actionlib +add_action_files( + DIRECTORY action + FILES + MapSegmentation.action + FindRoomSequenceWithCheckpoints.action + RoomExploration.action +) + +## Generate messages in the 'msg' folder +add_message_files( + DIRECTORY + msg + FILES + RoomInformation.msg + RoomSequence.msg + dis_info.msg + dis_info_array.msg +) + +## Generate services in the 'srv' folder +add_service_files( + DIRECTORY + srv + FILES + CheckCoverage.srv + ExtractAreaMapFromLabeledMap.srv +) + +## Generate added messages and services with any dependencies listed here +generate_messages( + DEPENDENCIES + actionlib_msgs + geometry_msgs + sensor_msgs + std_msgs +) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if you package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( + CATKIN_DEPENDS + actionlib_msgs + geometry_msgs + message_runtime + sensor_msgs + std_msgs +) + +include_directories( + ${catkin_INCLUDE_DIRS} +) diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/FindRoomSequenceWithCheckpoints.action b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/FindRoomSequenceWithCheckpoints.action new file mode 100644 index 0000000..b436771 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/FindRoomSequenceWithCheckpoints.action @@ -0,0 +1,17 @@ +# goal definition +sensor_msgs/Image input_map # floor plan map [mono8 format], 0=obstacle or unknown, 255=free space +float32 map_resolution # the resolution of the map in [meter/cell] +geometry_msgs/Pose map_origin # the origin of the map in [meter] +ipa_building_msgs/RoomInformation[] room_information_in_pixel # room data (min/max coordinates, center coordinates) measured in pixels +float64 robot_radius # the robot footprint radius [m], used for excluding areas from path planning that could not be visited by the robot +geometry_msgs/Pose robot_start_coordinate # current robot location (used to determine the closest checkpoint in the sequence of checkpoints) [in meter] + +--- + +# result definition +ipa_building_msgs/RoomSequence[] checkpoints # sequence of checkpoints, should be ordered in optimized traveling salesman sequence + # (checkpoint = a clique of rooms close [in terms of robot driving distance] to each other, + # and a central [in terms of rooms in the group] checkpoint location) +sensor_msgs/Image sequence_map # map that has the calculated sequence drawn in +--- +#feedback definition diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/MapSegmentation.action b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/MapSegmentation.action new file mode 100644 index 0000000..9f443ce --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/MapSegmentation.action @@ -0,0 +1,39 @@ +# Map Segmentation action +# Provides interface to get the segmented map + +# goal definition +sensor_msgs/Image input_map # the action server need a map as a input image to segment it, IMPORTANT: The algorithm needs a black and white 8bit single-channel image (format 8UC1), which is 0 (black) for obstacles and 255 (white) for free space +float32 map_resolution # the resolution of the map in [meter/cell] +geometry_msgs/Pose map_origin # the origin of the map in [meter] +bool return_format_in_pixel # return room data (see below) in [pixel] +bool return_format_in_meter # return room data (see below) in [meter] +float32 robot_radius # in [meter]; if this variable is set to a value greater than 0, the room centers are chosen at locations that are reachable from neighboring rooms (i.e. not inside the legs of a table surrounded by chairs) +int32 room_segmentation_algorithm # optionally overrides the parameterized segmentation method (if -1 it just takes the preset) + # 0 = take the preset (parameterized) method + # 1 = MorphologicalSegmentation + # 2 = DistanceSegmentation + # 3 = VoronoiSegmentation + # 4 = SemanticSegmentation + # 5 = RandomFieldSegmentation + # 99 = PassThrough (just get a pre-segmented map into the right output format) + +--- + +# result definition +sensor_msgs/Image segmented_map # the action server returns a map segmented into rooms which carry the segment number in every pixel cell, format 32SC1, room labels from 1 to N, room with label i -> access to room_information_in_pixel[i-1] +float32 map_resolution # the resolution of the segmented map in [meter/cell] +geometry_msgs/Pose map_origin # the origin of the segmented map in [meter] +# for the following data: value in pixel can be obtained when the value of [return_format_in_pixel] from goal definition is true +# the computed room centers are not the centroids of the room cells (which could be located outside of the rooms) +# but accessible map pixels located within the center of the largest free space in the room +ipa_building_msgs/RoomInformation[] room_information_in_pixel # room data (min/max coordinates, center coordinates) measured in pixels +# for the following data: value in meter can be obtained when the value of [return_format_in_meter] from goal definition is true +# the computed room centers are not the centroids of the room cells (which could be located outside of the rooms) +# but accessible map pixels located within the center of the largest free space in the room +ipa_building_msgs/RoomInformation[] room_information_in_meter # room data (min/max coordinates, center coordinates) measured in meters +# if wanted the 5th algorithm (vrf) can return single points labeled as a doorway +geometry_msgs/Point32[] doorway_points + +--- + +#feedback definition \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/RoomExploration.action b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/RoomExploration.action new file mode 100644 index 0000000..3e9e029 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/action/RoomExploration.action @@ -0,0 +1,24 @@ +# Room Exploration action +# sends an occupancy grid map of a room to the server, which plans a path trough it to cover or inspect the whole room by a device or camera + +# goal definition +sensor_msgs/Image input_map # the action server needs a map as a input image to segment it, + # IMPORTANT: The algorithm needs a black and white 8bit single-channel image (format 8UC1), which is 0 (black) for obstacles and 255 (white) for free space + # todo: the image needs to be vertically mirrored compared to the map in RViz for using right coordinate systems + # OccupancyGrid map = origin lower left corner, image = origin upper left corner + # todo: take the OccupanyGrid message here instead to avoid confusion and deal with map coordinates in server +float32 map_resolution # the resolution of the map in [meter/cell] +geometry_msgs/Pose map_origin # the origin of the map in [meter], NOTE: rotations are not supported for now +float32 robot_radius # effective robot radius, taking the enlargement of the costmap into account, in [meter] +float32 coverage_radius # radius that is used to plan the coverage planning for the robot and not the field of view, assuming that the part that needs to cover everything (e.g. the cleaning part) can be represented by a fitting circle (e.g. smaller than the actual part to ensure coverage), in [meter] +geometry_msgs/Point32[] field_of_view # the 4 points that define the field of view of the robot, relatively to the robot coordinate system (with x pointing forwards and y pointing to the left), in [meter] +geometry_msgs/Point32 field_of_view_origin # the mounting position of the camera spanning the field of view, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter] +geometry_msgs/Pose2D starting_position # starting pose of the robot in the room coordinate system [meter,meter,rad] +int32 planning_mode # 1 = plans a path for coverage with the robot footprint, 2 = plans a path for coverage with the robot's field of view + +--- +# result definition +geometry_msgs/Pose2D[] coverage_path # when the server should return the coverage path, this is done returning the points in an array that shows the order of visiting +geometry_msgs/PoseStamped[] coverage_path_pose_stamped # (same content as coverage_path but different format) when the server should return the coverage path, this is done returning the points in an array that shows the order of visiting +--- +# feedback definition diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomInformation.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomInformation.msg new file mode 100644 index 0000000..5ee2539 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomInformation.msg @@ -0,0 +1,2 @@ +geometry_msgs/Polygon room_min_max # first point provides the minimum (x,y)-coordinate values of the rooms, second point provides the maximum (x,y)-coordinate values of the rooms +geometry_msgs/Point32 room_center # provides the (x,y)-coordinate values of the room centers \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomSequence.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomSequence.msg new file mode 100644 index 0000000..87439d1 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/RoomSequence.msg @@ -0,0 +1,5 @@ +uint32[] room_indices # indices of those rooms that belong to one group (connected to a checkpoint, + # i.e. the clique of rooms close [in terms of robot driving distance] to each other), + # indices should be ordered in optimized traveling salesman sequence +geometry_msgs/Point32 checkpoint_position_in_pixel # provides the (x,y)-coordinates of the checkpoint location for this group of rooms [in pixel] +geometry_msgs/Point32 checkpoint_position_in_meter # provides the (x,y)-coordinates of the checkpoint location for this group of rooms [in meter] \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info.msg new file mode 100644 index 0000000..fc9a9af --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info.msg @@ -0,0 +1,4 @@ +float32 distance +float32 width +float32 height +float32 angle diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info_array.msg b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info_array.msg new file mode 100644 index 0000000..77a722d --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/msg/dis_info_array.msg @@ -0,0 +1 @@ +ipa_building_msgs/dis_info[] dis \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/package.xml new file mode 100644 index 0000000..2162e5a --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/package.xml @@ -0,0 +1,27 @@ + + + ipa_building_msgs + 0.2.0 + + + This package contains common message type definitions for building navigation tasks such as floor plan segmentation into rooms or the optimal trajectory through rooms of a building. + + + LGPL for academic and non-commercial use; for commercial use, please contact Fraunhofer IPA + + Richard Bormann + Richard Bormann + + catkin + + message_generation + message_runtime + + actionlib + actionlib_msgs + geometry_msgs + sensor_msgs + std_msgs + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/CheckCoverage.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/CheckCoverage.srv new file mode 100644 index 0000000..76b6762 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/CheckCoverage.srv @@ -0,0 +1,12 @@ +sensor_msgs/Image input_map # the action server need a map as a input image to segment it, IMPORTANT: The algorithm needs a black and white 8bit single-channel image, which is 0 (black) for obstacles and 255 (white) for free space +float32 map_resolution # resolution of the given map, in [meter/cell] +geometry_msgs/Pose map_origin # the origin of the map, in [meter] +geometry_msgs/Pose2D[] path # check the coverage along this path of the robot center, in the world frame in [meter] +geometry_msgs/Point32[] field_of_view # the points that define the field of view of the robot, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter] +geometry_msgs/Point32 field_of_view_origin # the mounting position of the camera spanning the field of view, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter] +float32 coverage_radius # radius that is used to plan the coverage planning for the robot and not the field of view, assuming that the part that needs to cover everything (e.g. the cleaning part) can be represented by a fitting circle (e.g. smaller than the actual part to ensure coverage), in [meter] +bool check_for_footprint # determine, if the coverage check should be done for the footprint or the field of view +bool check_number_of_coverages # if set, the server returns a map that shows how often one pixel has been covered during the path, return format: 32bit single-channel image +--- +sensor_msgs/Image coverage_map # the map that has the covered areas drawn in, with a value of 255, an 8bit single-channel image +sensor_msgs/Image number_of_coverage_image # the image that carries for each pixel the number of coverages when executing the path, 32bit single-channel image diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/ExtractAreaMapFromLabeledMap.srv b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/ExtractAreaMapFromLabeledMap.srv new file mode 100644 index 0000000..401834a --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_msgs/srv/ExtractAreaMapFromLabeledMap.srv @@ -0,0 +1,14 @@ +# The request message provides a segmented map which consists of cells with label 0 for inaccessible areas and other number from 1 to N +# for labeling membership with one of the N segmented areas. +# The return message shall deliver the same map but with only one area (segment_of_interest) labeled as 255 and the remainder labeled +# as inaccessible with 0. + +sensor_msgs/Image segmented_map # a map segmented into N areas which carry the respective segment number in every pixel cell, + # format 32SC1, room labels from 1 to N, 0 represents inaccessible cells (e.g. walls) +int32 segment_of_interest # the specific area label of the area of which a map shall be created + +--- + +sensor_msgs/Image segmented_area # a map that only contains the area which is labeled with segment_of_interest in segmented_map, + # the parts of that area are labeled as 255 in this map and the remainder is labeled as inaccessible with 0 + # data type is a 8bit single-channel image (format 8UC1) \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/CMakeLists.txt new file mode 100644 index 0000000..c9fbd4f --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/CMakeLists.txt @@ -0,0 +1,202 @@ +cmake_minimum_required(VERSION 2.8.3) +project(ipa_building_navigation) + +# build with c++11 +add_compile_options(-std=c++11) + +set(catkin_RUN_PACKAGES + actionlib + cv_bridge + geometry_msgs + ipa_building_msgs + roscpp + roslib + sensor_msgs + visualization_msgs +) + +set(catkin_BUILD_PACKAGES + ${catkin_RUN_PACKAGES} + dynamic_reconfigure +) + +## Find catkin macros and libraries +find_package(catkin REQUIRED COMPONENTS + ${catkin_BUILD_PACKAGES} +) + +generate_dynamic_reconfigure_options( + cfg/BuildingNavigation.cfg +) + +find_package(OpenCV REQUIRED) +find_package(Boost REQUIRED COMPONENTS system thread chrono) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if you package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +# important: common/include needs to be here if you have such a directory +catkin_package( +INCLUDE_DIRS + common/include + ros/include +LIBRARIES + ${PROJECT_NAME} + tsp_solvers +CATKIN_DEPENDS + ${catkin_RUN_PACKAGES} +DEPENDS +# libconcorde_tsp_solver + OpenCV + Boost +) + + +########### +## Build ## +########### +## Specify additional locations of header files +## Your package locations should be listed before other locations +# include_directories(include ${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) +# important: common/include also needs to be here if you have it +include_directories( + common/include + ros/include + ${catkin_INCLUDE_DIRS} + ${OpenCV_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} +) + +# TSP library +add_library(tsp_solvers + common/src/A_star_pathplanner.cpp + common/src/node.cpp + common/src/nearest_neighbor_TSP.cpp + common/src/genetic_TSP.cpp + common/src/concorde_TSP.cpp +) +target_link_libraries(tsp_solvers + ${catkin_LIBRARIES} + ${OpenCV_LIBRARIES} + ${Boost_LIBRARIES} +) +add_dependencies(tsp_solvers + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) + +# package library +add_library(${PROJECT_NAME} STATIC + common/src/maximal_clique_finder.cpp + common/src/set_cover_solver.cpp + common/src/trolley_position_finder.cpp +) +target_link_libraries(${PROJECT_NAME} + ${catkin_LIBRARIES} + ${OpenCV_LIBRARIES} + ${Boost_LIBRARIES} +) +add_dependencies(${PROJECT_NAME} + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) + +# action provider +add_executable(room_sequence_planning_server + ros/src/room_sequence_planning_action_server.cpp + ) +target_link_libraries(room_sequence_planning_server + tsp_solvers + ${PROJECT_NAME} + ${catkin_LIBRARIES} + ${OpenCV_LIBRARIES} + ${Boost_LIBRARIES} +) +add_dependencies(room_sequence_planning_server + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} + ${PROJECT_NAME}_gencfg +) + +# client for testing purpose +add_executable(room_sequence_planning_client ros/src/room_sequence_planning_action_client.cpp) +target_link_libraries(room_sequence_planning_client + ${catkin_LIBRARIES} + ${OpenCV_LIBRARIES} +) +add_dependencies(room_sequence_planning_client ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EXPORTED_TARGETS}) + +# client for testing purpose +add_executable(room_sequence_planning_evaluation + ros/src/room_sequence_planning_evaluation.cpp + common/src/A_star_pathplanner.cpp + common/src/node.cpp +) +target_link_libraries(room_sequence_planning_evaluation + ${catkin_LIBRARIES} + ${OpenCV_LIBRARIES} +) +add_dependencies(room_sequence_planning_evaluation ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EXPORTED_TARGETS}) + +# evaluation +add_executable(TSP_evaluation + ros/src/boosttest.cpp +) +target_link_libraries(TSP_evaluation + tsp_solvers + ${catkin_LIBRARIES} + ${OpenCV_LIBRARIES} +) +add_dependencies(TSP_evaluation ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EXPORTED_TARGETS}) + +#tester for different functions +#add_executable(a_star_tester ros/src/tester.cpp common/src/A_star_pathplanner.cpp common/src/node.cpp common/src/nearest_neighbor_TSP.cpp common/src/genetic_TSP.cpp common/src/concorde_TSP.cpp common/src/maximal_clique_finder.cpp common/src/set_cover_solver.cpp common/src/trolley_position_finder.cpp) +#target_link_libraries(a_star_tester ${catkin_LIBRARIES} ${OpenCV_LIBRARIES} ${Boost_LIBRARIES}) +#add_dependencies(a_star_tester ${catkin_EXPORTED_TARGETS} ${${PROJECT_NAME}_EXPORTED_TARGETS}) + + +############# +## Install ## +############# +# Mark executables and/or libraries for installation +install(TARGETS ${PROJECT_NAME} tsp_solvers room_sequence_planning_server room_sequence_planning_client #a_star_tester tester + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +#uncomment this if you have a common-directory with header-files +install(DIRECTORY common/include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} + FILES_MATCHING PATTERN "*.h" + PATTERN ".svn" EXCLUDE +) + +#uncomment this if you have header-files in your project +install(DIRECTORY ros/include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} + FILES_MATCHING PATTERN "*.h" + PATTERN ".svn" EXCLUDE +) + +#install(DIRECTORY scripts +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# PATTERN ".svn" EXCLUDE +#) + +##uncomment this if you use launch and yaml files +install(DIRECTORY ros/launch + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/ros + PATTERN ".svn" EXCLUDE +) + +#install(DIRECTORY common/files +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/common +# PATTERN ".svn" EXCLUDE +#) diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/cfg/BuildingNavigation.cfg b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/cfg/BuildingNavigation.cfg new file mode 100644 index 0000000..cb41b52 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/cfg/BuildingNavigation.cfg @@ -0,0 +1,42 @@ +#!/usr/bin/env python +PACKAGE = "ipa_building_navigation" + +from dynamic_reconfigure.parameter_generator_catkin import * + +gen = ParameterGenerator() + +# TSP solver +tsp_enum = gen.enum([ gen.const("NearestNeighbor", int_t, 1, "Use the nearest neighbor TSP algorithm."), + gen.const("GeneticSolver", int_t, 2, "Use the genetic TSP algorithm."), + gen.const("ConcordeSolver", int_t, 3, "Use the Concorde TSP algorithm.")], + "TSP solver") +gen.add("tsp_solver", int_t, 0, "TSP solver", 3, 1, 3, edit_method=tsp_enum) + +# problem setting +problem_setting_enum = gen.enum([ gen.const("SimpleOrderPlanning", int_t, 1, "Plan the optimal order of a simple set of locations."), + gen.const("CheckpointBasedPlanning", int_t, 2, "Two-stage planning that creates local cliques of locations (= checkpoints) and determines the optimal order through the members of each clique as well as the optimal order through the cliques.")], + "Problem setting of the sequence planning problem") +gen.add("problem_setting", int_t, 0, "Problem setting of the sequence planning problem", 2, 1, 2, edit_method=problem_setting_enum) + + +# checkpoint-based sequence planning specifics +trolley_placement_method_enum = gen.enum([ gen.const("DragTrolleyWhenNecessary", int_t, 1, "Drag the trolley if it is too far away from next room."), + gen.const("PrecomputeRoomGroupsAndCorrespondingTrolleyPosition", int_t, 2, "Put rooms together in groups and calculate a corresponding trolley positions.")], + "Trolley placement method (only applies to CheckpointBasedPlanning problem)") +gen.add("planning_method", int_t, 0, "Trolley placement method (only applies to CheckpointBasedPlanning problem)", 2, 1, 2, edit_method=trolley_placement_method_enum) + +gen.add("max_clique_path_length", double_t, 0, "Max A* path length between two rooms that are assigned to the same clique, in [m] (only applies to CheckpointBasedPlanning problem)", 12.0, 0.0) + +gen.add("maximum_clique_size", int_t, 0, "Maximal number of nodes belonging to one trolley clique (only applies to CheckpointBasedPlanning problem)", 9001, 0) + + +# general settings +gen.add("map_downsampling_factor", double_t, 0, "The map may be downsampled during computations (e.g. of A* path lengths) in order to speed up the algorithm, if set to 1 the map will have original size, if set to 0 the algorithm won't work", 0.25, 0.00001, 1.0) + +gen.add("check_accessibility_of_rooms", bool_t, 0, "Tells the sequence planner if it should check the given room centers for accessibility from the starting position", True) + +gen.add("return_sequence_map", bool_t, 0, "Tells the server if the map with the sequence drawn in should be returned", False) + +gen.add("display_map", bool_t, 0, "Show the resulting map with paths (only if return_sequence_map=true)", False) + +exit(gen.generate(PACKAGE, "room_sequence_planning_action_server", "BuildingNavigation")) diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/A_star_pathplanner.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/A_star_pathplanner.h new file mode 100644 index 0000000..cd75565 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/A_star_pathplanner.h @@ -0,0 +1,62 @@ +// Astar.cpp +// http://en.wikipedia.org/wiki/A* +// Compiler: Dev-C++ 4.9.9.2 +// FB - 201012256 +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#pragma once //make sure this header gets included only one time when multiple classes need it in the same project + //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define + +//This class provides an AStar pathplanner, which calculates the pathlength from one cv::Point to another. It was taken from +// http://code.activestate.com/recipes/577457-a-star-shortest-path-algorithm/ and slightly changed (to use it with openCV). +//It needs node.h to work, which gives an implementation of nodes of the graph. +// +//!!!!!!!!!Important!!!!!!!!!!!!! +//It downsamples the map mith the given factor (0 < factor < 1) so the map gets reduced and calculationtime gets better. +//If it is set to 1 the map will have original size, if it is 0 the algorithm won't work, so make sure to not set it to 0. +//The algorithm also needs the Robot radius [m] and the map resolution [m²/pixel] to calculate the needed +//amount of erosions to include the radius in the planning. +// + +class AStarPlanner +{ +protected: + int n; + int m; + + std::string route_; + + std::string pathFind(const int& xStart, const int& yStart, const int& xFinish, const int& yFinish, const cv::Mat& map); + +public: + AStarPlanner(); + + void drawRoute(cv::Mat& map, const cv::Point start_point, const std::string& route, double step_length); + + void getRoute(const cv::Point start_point, const std::string& route, double step_length, std::vector& route_points); + + // computes the path length between start point and end point + double planPath(const cv::Mat& map, const cv::Point& start_point, const cv::Point& end_point, + const double downsampling_factor, const double robot_radius, const double map_resolution, + const int end_point_valid_neighborhood_radius=0, std::vector* route=NULL); + + // computes the path length between start point and end point, tries first with a downsampled map for fast computation and uses the original map if the first try was not successful + // if end_point_valid_neighborhood_radius [measured in cell size of downsampled_map] is set greater than 0, then it is sufficient to find a path to a cell within that neighborhood radius to end_point for a success + double planPath(const cv::Mat& map, const cv::Mat& downsampled_map, const cv::Point& start_point, const cv::Point& end_point, const double downsampling_factor, + const double robot_radius, const double map_resolution, const int end_point_valid_neighborhood_radius=0, cv::Mat* draw_path_map=NULL, + std::vector* route=NULL); + + void downsampleMap(const cv::Mat& map, cv::Mat& downsampled_map, const double downsampling_factor, const double robot_radius, const double map_resolution); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/concorde_TSP.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/concorde_TSP.h new file mode 100644 index 0000000..2bb1336 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/concorde_TSP.h @@ -0,0 +1,92 @@ +#include "ros/ros.h" +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include +#include + +#pragma once //make sure this header gets included only one time when multiple classes need it in the same project +//regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define + +//This class applies an object to solve a given TSP problem using the concorde TSP solver. This solver can be downloaded at: +// http://www.math.uwaterloo.ca/tsp/concorde.html +//A short explanation on how to build the solver is given at: +// http://www.math.uwaterloo.ca/tsp/concorde/DOC/README.html +//If you have build the solver navigate to the./TSP folder and type " ./concorde -h " to see how to use this solver. This class +//uses the concorde solver by using a systemcall. +//Make sure you have a "/common/files/TSP_order.txt" and a "/common/files/TSPlib_file.txt" file. These files are used to tell +//concorde the current problem and save the output of it. +// +//It needs a symmetrical matrix of pathlenghts between the nodes and the starting-point index in this matrix. +//If the path from one node to another doesn't exist or the path is from one node to itself, the entry in the matrix must +//be 0 or smaller. so the format for this matrix is: +// row: node to start from, column: node to go to +// --- --- +// | 0.0 1.0 3.5 5.8 1.2 | +// | 1.0 0.0 2.4 3.3 9.0 | +// | 3.5 2.4 0.0 7.7 88.0| +// | 5.8 3.3 7.7 0.0 0.0 | +// | 1.2 9.0 88.0 0.0 0.0 | +// --- --- + +class ConcordeTSPSolver +{ +protected: + + //Astar pathplanner to find the pathlengths from cv::Point to cv::Point + AStarPlanner pathplanner_; + + //Function to create neccessary TSPlib file to tell concorde what the problem is. + void writeToFile(const cv::Mat& pathlength_matrix, const std::string& tsp_lib_filename, const std::string& tsp_order_filename); + + //Function to read the saved TSP order. + std::vector readFromFile(const std::string& tsp_order_filename); + + void distance_matrix_thread(DistanceMatrix& distance_matrix_computation, cv::Mat& distance_matrix, + const cv::Mat& original_map, const std::vector& points, double downsampling_factor, + double robot_radius, double map_resolution, AStarPlanner& path_planner); + + bool abort_computation_; + std::string unique_file_identifier_; + +public: + //Constructor + ConcordeTSPSolver(); + + void abortComputation(); + + //Functions to solve the TSP. It needs a distance matrix, that shows the pathlengths between two nodes of the problem. + //This matrix has to be symmetrical or else the TSPlib must be changed. The int shows the index in the Matrix. + //There are two functions for different cases: + // 1. The distance matrix already exists + // 2. The distance matrix has to be computed and maybe returned + + //with given distance matrix + std::vector solveConcordeTSP(const cv::Mat& path_length_Matrix, const int start_Node); + + // compute distance matrix and maybe return it + // this version does not exclude infinite paths from the TSP ordering + std::vector solveConcordeTSP(const cv::Mat& original_map, const std::vector& points, double downsampling_factor, + double robot_radius, double map_resolution, const int start_Node, cv::Mat* distance_matrix = 0); + + // compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed + std::vector solveConcordeTSPClean(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, const int start_node); + + // compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) + std::vector solveConcordeTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, + const std::map& cleaned_index_to_original_index_mapping, const int start_node); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/contains.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/contains.h new file mode 100644 index 0000000..ab75a53 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/contains.h @@ -0,0 +1,24 @@ +#include "ros/ros.h" +#include +#include +#include +#include +#include +#include + +#pragma once + +//This function searches for the given element in the given vector and returns true if it is in it or false if not +template +bool inline contains(std::vector vector, T element) +{ + //this functions checks, if the given element is in the given vector (in this case for int elements) + if (!vector.empty()) + { + return vector.end() != std::find(vector.begin(), vector.end(), element); + } + else + { + return false; + } +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/distance_matrix.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/distance_matrix.h new file mode 100644 index 0000000..29b79f8 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/distance_matrix.h @@ -0,0 +1,261 @@ + + +#pragma once + +#include +#include +#include + +#include + +class DistanceMatrix +{ +protected: + + bool abort_computation_; + +public: + + DistanceMatrix() + : abort_computation_(false) + { + } + + void abortComputation() + { + abort_computation_ = true; + } + + //Function to construct the symmetrical distance matrix from the given points. The rows show from which node to start and + //the columns to which node to go. If the path between nodes doesn't exist or the node to go to is the same as the one to + //start from, the entry of the matrix is 0. + // REMARK: paths is a pointer that points to a 3D vector that has dimensionality NxN in the outer vectors to store + // the paths in a matrix manner + void constructDistanceMatrix(cv::Mat& distance_matrix, const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, AStarPlanner& path_planner, + std::vector > >* paths=NULL) + { + std::cout << "DistanceMatrix::constructDistanceMatrix: Constructing distance matrix..." << std::endl; + Timer tim; + + //create the distance matrix with the right size + distance_matrix.create((int)points.size(), (int)points.size(), CV_64F); + + // hack: speed up trick + if (points.size()>500) + downsampling_factor *= 0.5; + + // reduce image size already here to avoid resizing in the planner each time + const double one_by_downsampling_factor = 1./downsampling_factor; + cv::Mat downsampled_map; + path_planner.downsampleMap(original_map, downsampled_map, downsampling_factor, robot_radius, map_resolution); + + if (points.size()>500) + std::cout << "0 10 20 30 40 50 60 70 80 90 100" << std::endl; +// int a=0, b=0; + for (int i = 0; i < points.size(); i++) + { + //std::cout << " a=" << a << " b=" << b << std::endl; + if (points.size()>500 && i%(std::max(1,(int)points.size()/100))==0) + std::cout << "." << std::flush; + //cv::Point current_center = downsampling_factor * points[i]; + for (int j = 0; j < points.size(); j++) + { + if (j != i) + { + if (j > i) //only compute upper right triangle of matrix, rest is symmetrically added + { + if (abort_computation_==true) + return; + + // try first with direct connecting line (often sufficient and a significant speedup over A*) + cv::LineIterator it(original_map, points[i], points[j]); + bool direct_connection = true; + for (int k=0; k(i, j) = length; + distance_matrix.at(j, i) = length; //symmetrical-Matrix --> saves half the computation time + if (paths!=NULL) + { + // store path + cv::LineIterator it2(original_map, points[i], points[j]); + std::vector current_path(it2.count); + for (int k=0; kat(i).at(j) = current_path; + paths->at(j).at(i) = current_path; + } +// ++a; + } + else + { + // A* path planner + if(paths!=NULL) + { + std::vector current_path; + double length = path_planner.planPath(original_map, downsampled_map, points[i], points[j], downsampling_factor, 0., map_resolution, 0, NULL, ¤t_path); + distance_matrix.at(i, j) = length; + distance_matrix.at(j, i) = length; //symmetrical-Matrix --> saves half the computation time + + // remap path points to original map size + for(std::vector::iterator point=current_path.begin(); point!=current_path.end(); ++point) + { + point->x = point->x/downsampling_factor; + point->y = point->y/downsampling_factor; + } + + paths->at(i).at(j) = current_path; + paths->at(j).at(i) = current_path; + } + else + { + double length = path_planner.planPath(original_map, downsampled_map, points[i], points[j], downsampling_factor, 0., map_resolution); + distance_matrix.at(i, j) = length; + distance_matrix.at(j, i) = length; //symmetrical-Matrix --> saves half the computation time + + } +// ++b; + } + } + } + else + { + distance_matrix.at(i, j) = 0; + } + } + } + + std::cout << "\nDistance matrix created in " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl;// "\nDistance matrix:\n" << distance_matrix << std::endl; + } + + // check whether distance matrix contains infinite path lengths and if this is true, create a new distance matrix with maximum size clique of reachable points + // cleaned_index_to_original_index_mapping --> maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix + void cleanDistanceMatrix(const cv::Mat& distance_matrix, cv::Mat& distance_matrix_cleaned, std::map& cleaned_index_to_original_index_mapping) + { + // standard: use a 1:1 mapping (input = output) + cleaned_index_to_original_index_mapping.clear(); + for (int i=0; i remove_entry(distance_matrix.rows, false); // keeps track on which entries of distance_matrix need to be removed + + // loop until all lines are marked, which need to be removed + cv::Mat distance_matrix_temp = distance_matrix.clone(); + while (true) + { + // count infinite entries in each row of distance matrix + std::vector infinite_length_entries(distance_matrix_temp.rows, 0); + for (int i=0; i(i,j)>max_length) + infinite_length_entries[i]++; + + // sort rows by their number of infinite entries + std::multimap number_infinite_entries_to_row_index_mapping; // maps number of infinite entries to the corresponding row index + for (size_t i=0; i(infinite_length_entries[i], (int)i)); + + // if any row has at least one infinite entry, mark the row with most infinity entries for deletion + bool mark_line = false; + int mark_index = -1; + std::multimap::reverse_iterator number_infinite_entries_to_row_index_mapping_last = number_infinite_entries_to_row_index_mapping.rbegin(); + if (number_infinite_entries_to_row_index_mapping_last->first > 0) + { + mark_line = true; + mark_index = number_infinite_entries_to_row_index_mapping_last->second; + remove_entry[mark_index] = true; + } + if (mark_line == true) + { + for (int j=0; j(mark_index, j) = -1.; + for (int i=0; i(i, mark_index) = -1.; + } + else + break; + } + + // count entries to remove + int number_entries_to_be_removed = 0; + for (size_t i=0; i 0) + { + std::cout << " DistanceMatrix::cleanDistanceMatrix: Need to remove " << number_entries_to_be_removed << " elements out of " << distance_matrix.rows << " elements from the distance matrix." << std::endl; + + // setup new distance_matrix + const int new_size = distance_matrix.rows - number_entries_to_be_removed; + if (new_size == 0) + { + std::cout << " DistanceMatrix::cleanDistanceMatrix: Warning: Would need to remove all elements of distance_matrix. Aborting." << std::endl; + return; + } + distance_matrix_cleaned.create(new_size, new_size, CV_64F); + cleaned_index_to_original_index_mapping.clear(); + + // fill new distance_matrix + int new_index = 0; + for (size_t i=0; i(new_index, new_j) = distance_matrix.at(i,j); + new_j++; + } + } + new_index++; + } + } + if (new_index != new_size) + std::cout << "##################################################\nDistanceMatrix::cleanDistanceMatrix: Warning: new_index != new_size.\n##################################################" << std::endl; + } + } + + // calculate the distance matrix and check whether distance matrix contains infinite path lengths and if this is true, + // create a new distance matrix with maximum size clique of reachable points + // start_node --> provide the original start node to the function, it writes the new start node mapped to the new coordinates into it + // cleaned_index_to_original_index_mapping --> maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix + void computeCleanedDistanceMatrix(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, AStarPlanner& path_planner, + cv::Mat& distance_matrix, std::map& cleaned_index_to_original_index_mapping, int& start_node) + { + std::cout << "DistanceMatrix::computeCleanedDistanceMatrix: Constructing distance matrix..." << std::endl; + // calculate the distance matrix + cv::Mat distance_matrix_raw; + constructDistanceMatrix(distance_matrix_raw, original_map, points, downsampling_factor, robot_radius, map_resolution, path_planner); + + // check whether distance matrix contains infinite path lengths and if this is true, create a new distance matrix with maximum size clique of reachable points + cleanDistanceMatrix(distance_matrix_raw, distance_matrix, cleaned_index_to_original_index_mapping); + + // re-assign the start node to cleaned indices (use 0 if the original start node was removed from distance_matrix_cleaned) + int new_start_node = 0; + for (std::map::iterator it=cleaned_index_to_original_index_mapping.begin(); it!=cleaned_index_to_original_index_mapping.end(); ++it) + if (it->second == start_node) + new_start_node = it->first; + start_node = new_start_node; + } +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/genetic_TSP.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/genetic_TSP.h new file mode 100644 index 0000000..e2a24e2 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/genetic_TSP.h @@ -0,0 +1,91 @@ +#include "ros/ros.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + +#pragma once //make sure this header gets included only one time when multiple classes need it in the same project + //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define + +//This class provides a solution for the TSP by taking the nearest-neighbor path and applying a genetic algorithm on it. +//It needs a symmetrical matrix of pathlenghts between the nodes and the starting-point index in this matrix. +//If the path from one node to another doesn't exist or the path is from one node to itself, the entry in the matrix must +//be 0 or smaller. so the format for this matrix is: +// row: node to start from, column: node to go to +// --- --- +// | 0.0 1.0 3.5 5.8 1.2 | +// | 1.0 0.0 2.4 3.3 9.0 | +// | 3.5 2.4 0.0 7.7 88.0| +// | 5.8 3.3 7.7 0.0 0.0 | +// | 1.2 9.0 88.0 0.0 0.0 | +// --- --- + +class GeneticTSPSolver +{ +protected: + + //Astar pathplanner to find the pathlengths from cv::Point to cv::Point + AStarPlanner pathplanner_; + + //function to get the length of a given path + double getPathLength(const cv::Mat& path_length_Matrix, std::vector given_path); + + //function to mutate (randomly change) a given Parent-path + std::vector mutatePath(const std::vector& parent_path); + + //function that selects the best path from the given paths + std::vector getBestPath(const std::vector > paths, const cv::Mat& pathlength_Matrix, bool& changed); + + void distance_matrix_thread(DistanceMatrix& distance_matrix_computation, cv::Mat& distance_matrix, + const cv::Mat& original_map, const std::vector& points, double downsampling_factor, + double robot_radius, double map_resolution, AStarPlanner& path_planner); + + bool abort_computation_; + + //indicates how many generations shall be at least taken in order to optimize the given path + int min_number_of_generations_; + + //indicates the amount of generations for which the path shouldn't have changed in order to stop the + //optimization + int const_generations_number_; + +public: + //constructor + GeneticTSPSolver(int min_number_of_gens=2300, int const_generations=100); + + void abortComputation(); + + //Solving-algorithms for the given TSP. It returns a vector of int, which is the order from this solution. The int shows + //the index in the Matrix. There are two functions for different cases: + // 1. The distance matrix already exists + // 2. The distance matrix has to be computet and maybe returned + + //with given distance matrix + std::vector solveGeneticTSP(const cv::Mat& path_length_Matrix, const int start_Node); + + + // compute distance matrix and maybe returning it + // this version does not exclude infinite paths from the TSP ordering + std::vector solveGeneticTSP(const cv::Mat& original_map, const std::vector& points, double downsampling_factor, + double robot_radius, double map_resolution, const int start_Node, cv::Mat* distance_matrix=0); + + // compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed + std::vector solveGeneticTSPClean(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, const int start_node); + + // compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) + std::vector solveGeneticTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, + const std::map& cleaned_index_to_original_index_mapping, const int start_node); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/maximal_clique_finder.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/maximal_clique_finder.h new file mode 100644 index 0000000..d1fcff3 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/maximal_clique_finder.h @@ -0,0 +1,69 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include + +#include +#include +#include + +#pragma once //make sure this header gets included only one time when multiple classes need it in the same project + //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define + +//This algorithm provides a class that finds all maximal cliques in a given graph. It uses the Bron-Kerbosch Implementation +//in Boost to do this. As input a symmetrical distance-Matrix is needed that shows the pathlenghts from one node to another. +//If the path from one node to another doesn't exist, the entry in the matrix must be 0 or smaller. so the format for this +//Matrix is: +// row: node to start from, column: node to go to +// --- --- +// | 0.0 1.0 3.5 5.8 1.2 | +// | 1.0 0.0 2.4 3.3 9.0 | +// | 3.5 2.4 0.0 7.7 88.0| +// | 5.8 3.3 7.7 0.0 0.0 | +// | 1.2 9.0 88.0 0.0 0.0 | +// --- --- +//It also needs a maximal pathlength that shows the algorithm when the paths are too long and should not be included in the +//Graph. This is neccessary because we assume that you can reach every node from the others and with a Graph in which all +//nodes are connected the only maximal clique are the nodes itself. For example the previous matrix gets +// maxval = 7.0 +// --- --- +// | 0.0 1.0 3.5 5.8 1.2 | +// | 1.0 0.0 2.4 3.3 0.0 | +// | 3.5 2.4 0.0 0.0 0.0 | +// | 5.8 3.3 0.0 0.0 0.0 | +// | 1.2 0.0 0.0 0.0 0.0 | +// --- --- +// +//The nodes in the graph are named after their position in the distance-Matrix and the cliques are +// std::vector variables so you can easily acces the right nodes in the matrix outside this class. + +class cliqueFinder +{ +protected: + //function that allows to add a Vertex with a name to a boost::Graph. See boosts helper.hpp ( http://www.boost.org/doc/libs/1_47_0/libs/graph/example/helper.hpp ) for explanation + template + typename boost::graph_traits::vertex_descriptor addNamedVertex(Graph& g, NameMap nm, const std::string& name, VertexMap& vm); + + //function to create a graph out of the given distanceMatrix + template + void createGraph(Graph& graph, cv::Mat& distance_Matrix); + + //function to set too long paths in the distance_matrix to zero + void cutTooLongEdges(cv::Mat& complete_distance_matrix, double maxval); + +public: + cliqueFinder(); + + std::vector > getCliques(const cv::Mat& distance_matrix, double maxval); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/nearest_neighbor_TSP.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/nearest_neighbor_TSP.h new file mode 100644 index 0000000..45ff13a --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/nearest_neighbor_TSP.h @@ -0,0 +1,69 @@ +#include "ros/ros.h" + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#pragma once //make sure this header gets included only one time when multiple classes need it in the same project + //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define + +//This class provides a solution for the TSP by taking the nearest neighbor from the current Point as next Point. +//It needs a symmetrical matrix of pathlenghts between the nodes and the starting-point index in this matrix. +//If the path from one node to another doesn't exist or the path is from one node to itself, the entry in the matrix must +//be 0 or smaller. so the format for this matrix is: +// row: node to start from, column: node to go to +// --- --- +// | 0.0 1.0 3.5 5.8 1.2 | +// | 1.0 0.0 2.4 3.3 9.0 | +// | 3.5 2.4 0.0 7.7 88.0| +// | 5.8 3.3 7.7 0.0 0.0 | +// | 1.2 9.0 88.0 0.0 0.0 | +// --- --- + +class NearestNeighborTSPSolver +{ +protected: + + //Astar pathplanner to find the pathlengths from cv::Point to cv::Point + AStarPlanner pathplanner_; + +// //Function to construct the distance matrix, showing the pathlength from node to node +// void NearestNeighborTSPSolver::constructDistanceMatrix(cv::Mat& distance_matrix, const cv::Mat& original_map, +// const std::vector& points, double downsampling_factor, double robot_radius, double map_resolution); + +public: + //constructor + NearestNeighborTSPSolver(); + + //Solving-algorithms for the given TSP. It returns a vector of int, which is the order from this solution. The int shows + //the index in the Matrix. There are two functions for different cases: + // 1. The distance matrix already exists + // 2. The distance matrix has to be computed and maybe returned + + //with given distance matrix + std::vector solveNearestTSP(const cv::Mat& path_length_matrix, const int start_node); //with given distance matrix + + // compute TSP and distance matrix without cleaning it + // this version does not exclude infinite paths from the TSP ordering + std::vector solveNearestTSP(const cv::Mat& original_map, const std::vector& points, double downsampling_factor, + double robot_radius, double map_resolution, const int start_node, cv::Mat* distance_matrix=0); + + // compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed + std::vector solveNearestTSPClean(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, const int start_node); + + // compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) + std::vector solveNearestTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, + const std::map& cleaned_index_to_original_index_mapping, const int start_node); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/node.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/node.h new file mode 100644 index 0000000..181b53b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/node.h @@ -0,0 +1,40 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +//This is th object to reperesent a node in a Graph. It is used by A_star_pathplanner.cpp and was applied from: +// http://code.activestate.com/recipes/577457-a-star-shortest-path-algorithm/ +//In the estimate() function the distance from the node to the goal is calculated. Uncomment there which distance calculation +//you want to use (Euclidean, Manhattan or Chebyshev). Euclidean is more precisly but could slow the planner a little bit on +//long paths. + +#pragma once //make sure this header gets included only one time when multiple classes need it in the same project + //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define + +class NodeAstar +{ +protected: + // current position + int xPos_; + int yPos_; + // total distance already travelled to reach the node + int level_; + // priority=level+remaining distance estimate + int priority_; // smaller: higher priority + +public: + NodeAstar(int xp, int yp, int d, int p); + int getxPos() const; + int getyPos() const; + int getLevel() const; + int getPriority() const; + void updatePriority(const int& xDest, const int& yDest); + void nextLevel(const int& i); // i: direction + const int& estimate(const int& xDest, const int& yDest) const; + +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/set_cover_solver.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/set_cover_solver.h new file mode 100644 index 0000000..aaf1ca3 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/set_cover_solver.h @@ -0,0 +1,72 @@ +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include + +#pragma once //make sure this header gets included only one time when multiple classes need it in the same project +//regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define + +//This algorithm provides a class to solve the set-cover problem for given cliques. This is done by using the greedy-search +//algorithm, which takes the clique with most unvisited nodes before the other nodes and removes the nodes in it from the +//unvisited. It repeats this step until no more node hasn't been visited. It then merges cliques together that have at least +//one node in common. +// +//!!!!!!!!!!!!!!!!Important!!!!!!!!!!!!!!!!! +//Make sure that the cliques cover all nodes in the graph or else this algorithm runs into an endless loop. For best results +//take the cliques from a maximal-clique finder like the Bron-Kerbosch algorithm. + +class SetCoverSolver +{ +protected: + + //Astar pathplanner to find the pathlengths from cv::Point to cv::Point + AStarPlanner pathplanner_; + + //This object finds all maximal cliques in the given Graph. It needs a symmetrical distance matrix shwoing the pathlength + //from one node to another and a miximal pathlength to cut edges that are larger than this value. See maximal_clique_finder.h + //for further information. + cliqueFinder maximal_clique_finder; + + //function to merge groups together, which have at least one node in common + std::vector > mergeGroups(const std::vector >& found_groups); + +// //Function to construct the distance matrix, showing the pathlength from node to node +// void constructDistanceMatrix(cv::Mat& distance_matrix, const cv::Mat& original_map, const std::vector& points, +// double downsampling_factor, double robot_radius, double map_resolution); + +public: + //Constructor + SetCoverSolver(); + + //algorithms to solve the set cover problem. There are three functions for different cases: + // 1. The cliques already have been found + // 2. The distance matrix already exists + // 3. The distance matrix has to be computed and may be returned + + //cliques are given + std::vector > solveSetCover(std::vector >& given_cliques, const int number_of_nodes, + const int max_number_of_clique_members, const cv::Mat& distance_matrix); + + //the distance matrix is given + std::vector > solveSetCover(const cv::Mat& distance_matrix, const std::vector& points, + const int number_of_nodes, double maximal_pathlength, const int max_number_of_clique_members); + + //the distance matrix has to be computed and may be returned + std::vector > solveSetCover(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, double maximal_pathlength, const int max_number_of_clique_members, cv::Mat* distance_matrix=0); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/timer.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/timer.h new file mode 100644 index 0000000..552d5f5 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/timer.h @@ -0,0 +1,183 @@ +/* + * timer.h + * + * Created on: May 13, 2013 + * Author: rmb-ce + */ + +// from: http://snipplr.com/view/40650/timer-class-for-both-unixlinuxmac-and-windows-system/ + +////////////////// +// How to Use //// +////////////////// + +//#include +//#include "timer.h" +//using namespace std; + +//int main() +//{ +// Timer timer; +// +// // start timer +// timer.start(); +// +// // do something +// ... +// +// // stop timer +// timer.stop(); +// +// // print the elapsed time in millisec +// cout << timer.getElapsedTimeInMilliSec() << " ms.\n"; +// +// return 0; +//} + + +////////////////////////////////////////////////////////////////////////////// +// Timer.h +// ======= +// High Resolution Timer. +// This timer is able to measure the elapsed time with 1 micro-second accuracy +// in both Windows, Linux and Unix system +// +// AUTHOR: Song Ho Ahn (song.ahn@gmail.com) +// CREATED: 2003-01-13 +// UPDATED: 2006-01-13 +// +// Copyright (c) 2003 Song Ho Ahn +////////////////////////////////////////////////////////////////////////////// + +#ifndef TIMER_H_DEF +#define TIMER_H_DEF + +#ifdef WIN32 // Windows system specific +//#include +#else // Unix based system specific +#include +#endif + +#include + + +class Timer +{ +public: +// default constructor + Timer() + { +#ifdef WIN32 + QueryPerformanceFrequency(&frequency); + startCount.QuadPart = 0; + endCount.QuadPart = 0; +#else + startCount.tv_sec = startCount.tv_usec = 0; + endCount.tv_sec = endCount.tv_usec = 0; +#endif + + stopped = 0; + startTimeInMicroSec = 0; + endTimeInMicroSec = 0; + + start(); + } + + // default destructor + ~Timer() + { + } + + /////////////////////////////////////////////////////////////////////////////// + // start timer. + // startCount will be set at this point. + /////////////////////////////////////////////////////////////////////////////// + void start() + { + stopped = 0; // reset stop flag +#ifdef WIN32 + QueryPerformanceCounter(&startCount); +#else + gettimeofday(&startCount, NULL); +#endif + } + + /////////////////////////////////////////////////////////////////////////////// + // stop the timer. + // endCount will be set at this point. + /////////////////////////////////////////////////////////////////////////////// + void stop() + { + stopped = 1; // set timer stopped flag + +#ifdef WIN32 + QueryPerformanceCounter(&endCount); +#else + gettimeofday(&endCount, NULL); +#endif + } + + /////////////////////////////////////////////////////////////////////////////// + // same as getElapsedTimeInSec() + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTime() + { + return this->getElapsedTimeInSec(); + } + + /////////////////////////////////////////////////////////////////////////////// + // divide elapsedTimeInMicroSec by 1000000 + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTimeInSec() + { + return this->getElapsedTimeInMicroSec() * 0.000001; + } + + /////////////////////////////////////////////////////////////////////////////// + // divide elapsedTimeInMicroSec by 1000 + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTimeInMilliSec() + { + return this->getElapsedTimeInMicroSec() * 0.001; + } + + /////////////////////////////////////////////////////////////////////////////// + // compute elapsed time in micro-second resolution. + // other getElapsedTime will call this first, then convert to correspond resolution. + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTimeInMicroSec() + { +#ifdef WIN32 + if(!stopped) + QueryPerformanceCounter(&endCount); + + startTimeInMicroSec = startCount.QuadPart * (1000000.0 / frequency.QuadPart); + endTimeInMicroSec = endCount.QuadPart * (1000000.0 / frequency.QuadPart); +#else + if (!stopped) + gettimeofday(&endCount, NULL); + + startTimeInMicroSec = (startCount.tv_sec * 1000000.0) + startCount.tv_usec; + endTimeInMicroSec = (endCount.tv_sec * 1000000.0) + endCount.tv_usec; +#endif + + return endTimeInMicroSec - startTimeInMicroSec; + } + +protected: + +private: + double startTimeInMicroSec; // starting time in micro-second + double endTimeInMicroSec; // ending time in micro-second + int stopped; // stop flag +#ifdef WIN32 + LARGE_INTEGER frequency; // ticks per second + LARGE_INTEGER startCount;// + LARGE_INTEGER endCount;// +#else + timeval startCount; // + timeval endCount; // +#endif +}; + +#endif // TIMER_H_DEF diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/trolley_position_finder.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/trolley_position_finder.h new file mode 100644 index 0000000..2ab9f91 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/trolley_position_finder.h @@ -0,0 +1,58 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include + +#include + +#pragma once //make sure this header gets included only one time when multiple classes need it in the same project + //regarding to https://en.wikipedia.org/wiki/Pragma_once this is more efficient than #define + +//This object provides an algorithm to search for the best trolley position for a group of points. A trolley position is +//the Point where the trolley of a robot should be placed during the cleaning of the group. This is done by searching in the +//bounding box of these points for the point which minimizes the pathlength to every group member. If the goup has only two +//members the algorithm chooses a Point on the optimal path between these two Points that is in the middlest of this path. +//This algorithm needs as input: +// 1. The original occupancy gridmap to get the pathlength between two Points. +// 2. A vector of found groups. This vector stores the group as integer that show the Position of the node in the +// roomcenters vector. To find the groups it is good to find all maximal cliques in the graph and then applying +// a set Cover solver on these. +// 3. A vector of roomcenters that stores the centers of each room. This algorithm was implemented for planning +// the order of cleaning rooms so this variable is called room_centers, but it can store every cv::Point with that +// you want to find the best trolley position. +// 4. A downsampling factor to reduce the size of the map. This is used by the A_star_pathplanner to heavily reduce +// calculationtime. It has to be (0, 1]. If it is 1 the map will be took as it is. +// 5. The Radius of the robot and the map resolution to make sure the A_star pathplanner stays in enough distance to the +// walls and obstacles. (See A_star_pathplanner.cpp for further information) + +class TrolleyPositionFinder +{ +protected: + + AStarPlanner path_planner_; //Object to plan a path from Point A to Point B in a given gridmap + + //Function to find a trolley position for one group + cv::Point findOneTrolleyPosition(const std::vector group_points, const cv::Mat& original_map, + const double downsampling_factor, const double robot_radius, const double map_resolution); + +public: + + //constructor + TrolleyPositionFinder(); + + //Function to find a trolley position for each group by using the findOneTrolleyPosition function + std::vector findTrolleyPositions(const cv::Mat& original_map, const std::vector >& found_groups, + const std::vector& room_centers, const double downsampling_factor, const double robot_radius, + const double map_resolution); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solver_defines.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solver_defines.h new file mode 100644 index 0000000..4ce6a45 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solver_defines.h @@ -0,0 +1,63 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2017 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_building_navigation + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 03.2017 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once + + +enum TSPSolvers {TSP_NEAREST_NEIGHBOR=1, TSP_GENETIC=2, TSP_CONCORDE=3}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solvers.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solvers.h new file mode 100644 index 0000000..5bc5d1b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/include/ipa_building_navigation/tsp_solvers.h @@ -0,0 +1,67 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2017 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_building_navigation + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 03.2017 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once + +#include + + +#include +#include +#include diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/A_star_pathplanner.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/A_star_pathplanner.cpp new file mode 100644 index 0000000..067c2a4 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/A_star_pathplanner.cpp @@ -0,0 +1,383 @@ +#include + +#include + +const int dir = 8; // number of possible directions to go at any position +// if dir==4 +//static int dx[dir]={1, 0, -1, 0}; +//static int dy[dir]={0, 1, 0, -1}; +// if dir==8 +static int dx[dir] = +{ 1, 1, 0, -1, -1, -1, 0, 1 }; +static int dy[dir] = +{ 0, 1, 1, 1, 0, -1, -1, -1 }; + +static int expanding_counter = 0; + +// Determine priority (in the priority queue) +bool operator<(const NodeAstar& a, const NodeAstar& b) +{ + return a.getPriority() > b.getPriority(); +} + +AStarPlanner::AStarPlanner() +{ + n = 1; + m = 1; +} + +void AStarPlanner::drawRoute(cv::Mat& map, const cv::Point start_point, const std::string& route, double step_length) +{ + // follow the route on the map and update the path length + if (route.length() > 0) + { + int j; + char c; + int x1 = start_point.x; + int y1 = start_point.y; + int x2,y2; + for (int i = 0; i < route.length(); i++) + { + //get the next char of the string and make it an integer, which shows the direction + c = route.at(i); + j=c-'0'; + x2 = x1 + dx[j]*step_length; + y2 = y1 + dy[j]*step_length; + const double progress = 0.2 + 0.6*(double)i/(double)route.length(); + cv::line(map, cv::Point(x1,y1), cv::Point(x2,y2), CV_RGB(0,progress*255,0), 1); + x1 = x2; + y1 = y2; + } + } +} + +void AStarPlanner::getRoute(const cv::Point start_point, const std::string& route, + double step_length, std::vector& route_points) +{ + // follow the route on the map and update the path length + if (route.length() > 0) + { + int j; + char c; + int x1 = start_point.x; + int y1 = start_point.y; + route_points.push_back(cv::Point(x1, y1)); + int x2,y2; + for (int i = 0; i < route.length(); i++) + { + //get the next char of the string and make it an integer, which shows the direction + c = route.at(i); + j=c-'0'; + x2 = x1 + dx[j]*step_length; + y2 = y1 + dy[j]*step_length; + route_points.push_back(cv::Point(x2, y2)); + x1 = x2; + y1 = y2; + } + } +} + +void AStarPlanner::downsampleMap(const cv::Mat& map, cv::Mat& downsampled_map, const double downsampling_factor, const double robot_radius, const double map_resolution) +{ + //erode the map so the planner doesn't go near the walls + // --> calculate the number of times for eroding from Robot Radius [m] + cv::Mat eroded_map; + int number_of_erosions = (robot_radius / map_resolution); + cv::erode(map, eroded_map, cv::Mat(), cv::Point(-1, -1), number_of_erosions); + //downsampling of the map to reduce calculation time + if (downsampling_factor != 1.) + cv::resize(eroded_map, downsampled_map, cv::Size(0, 0), downsampling_factor, downsampling_factor, cv::INTER_NEAREST);//_LINEAR); + else + downsampled_map = eroded_map; +} + +// A-star algorithm. +// The route returned is a string of direction digits. +std::string AStarPlanner::pathFind(const int & xStart, const int & yStart, const int & xFinish, const int & yFinish, const cv::Mat& map) +{ + static std::priority_queue pq[2]; // list of open (not-yet-tried) nodes + static int pqi; // pq index + static NodeAstar* n0; + static NodeAstar* m0; + static int i, j, x, y, xdx, ydy; + static char c; + pqi = 0; + + cv::Mat map_to_calculate_path(cv::Size(m, n), CV_32S); + + // create map from the given eroded map + for (int y = 0; y < map.rows; y++) + { + for (int x = 0; x < map.cols; x++) + { + if (map.at(y, x) == 255) + { + map_to_calculate_path.at(x, y) = 0; + } + else + { + map_to_calculate_path.at(x, y) = 1; + } + } + } + + cv::Mat closed_nodes_map(cv::Size(m, n), CV_32S); //map of already tried nodes + cv::Mat open_nodes_map(cv::Size(m, n), CV_32S); // map of open (not-yet-tried) nodes + cv::Mat dir_map(cv::Size(m, n), CV_32S); // map of directions + + // initialize the node maps + for (y = 0; y < closed_nodes_map.rows; y++) + { + for (x = 0; x < closed_nodes_map.cols; x++) + { + closed_nodes_map.at(y, x) = 0; + open_nodes_map.at(y, x) = 0; + } + } + + // create the start node and push into list of open nodes + n0 = new NodeAstar(xStart, yStart, 0, 0); + n0->updatePriority(xFinish, yFinish); + pq[pqi].push(*n0); + open_nodes_map.at(xStart, yStart) = n0->getPriority(); // mark it on the open nodes map + + //garbage collection + delete n0; + + // A* search + while (!pq[pqi].empty()) + { + // get the current node w/ the highest priority + // from the list of open nodes + n0 = new NodeAstar(pq[pqi].top().getxPos(), pq[pqi].top().getyPos(), pq[pqi].top().getLevel(), pq[pqi].top().getPriority()); + + x = n0->getxPos(); + y = n0->getyPos(); + + pq[pqi].pop(); // remove the node from the open list + open_nodes_map.at(x, y) = 0; + // mark it on the closed nodes map + closed_nodes_map.at(x, y) = 1; + + // quit searching when the goal state is reached + //if((*n0).estimate(xFinish, yFinish) == 0) + if (x == xFinish && y == yFinish) + { + // generate the path from finish to start + // by following the directions + std::string path = ""; + while (!(x == xStart && y == yStart)) + { + j = dir_map.at(x, y); + c = '0' + (j + dir / 2) % dir; + path = c + path; + x += dx[j]; + y += dy[j]; + } + + delete n0;// garbage collection + // empty the leftover nodes + while (!pq[pqi].empty()) + pq[pqi].pop(); + return path; + } + + // generate moves (child nodes) in all possible directions + for (i = 0; i < dir; i++) + { + xdx = x + dx[i]; + ydy = y + dy[i]; + + expanding_counter++; + + if (!(xdx < 0 || xdx > n - 1 || ydy < 0 || ydy > m - 1 || map_to_calculate_path.at(xdx, ydy) == 1 || closed_nodes_map.at(xdx, ydy) == 1)) + { + // generate a child node + m0 = new NodeAstar(xdx, ydy, n0->getLevel(), n0->getPriority()); + m0->nextLevel(i); + m0->updatePriority(xFinish, yFinish); + + // if it is not in the open list then add into that + if (open_nodes_map.at(xdx, ydy) == 0) + { + open_nodes_map.at(xdx, ydy) = m0->getPriority(); + pq[pqi].push(*m0); + // mark its parent node direction + dir_map.at(xdx, ydy) = (i + dir / 2) % dir; + } + else if (open_nodes_map.at(xdx, ydy) > m0->getPriority()) + { + // update the priority info + open_nodes_map.at(xdx, ydy) = m0->getPriority(); + // update the parent direction info + dir_map.at(xdx, ydy) = (i + dir / 2) % dir; + + // replace the node + // by emptying one pq to the other one + // except the node to be replaced will be ignored + // and the new node will be pushed in instead + while (!(pq[pqi].top().getxPos() == xdx && pq[pqi].top().getyPos() == ydy)) + { + pq[1 - pqi].push(pq[pqi].top()); + pq[pqi].pop(); + } + pq[pqi].pop(); // remove the wanted node + + // empty the larger size pq to the smaller one + if (pq[pqi].size() > pq[1 - pqi].size()) + pqi = 1 - pqi; + while (!pq[pqi].empty()) + { + pq[1 - pqi].push(pq[pqi].top()); + pq[pqi].pop(); + } + pqi = 1 - pqi; + pq[pqi].push(*m0); // add the better node instead + } + delete m0; // garbage collection + } + } + delete n0; // garbage collection + } + return ""; // no route found +} + +//This is the path planning algorithm for this class. It downsamples the map with the given factor (0 < factor < 1) so the +//map gets reduced and calculation time gets better. If it is set to 1 the map will have original size, if it is 0 the algorithm +//won't work, so make sure to not set it to 0. The algorithm also needs the Robot radius [m] and the map resolution [m²/pixel] to +//calculate the needed amount of erosions to include the radius in the planning. +double AStarPlanner::planPath(const cv::Mat& map, const cv::Point& start_point, const cv::Point& end_point, + const double downsampling_factor, const double robot_radius, const double map_resolution, + const int end_point_valid_neighborhood_radius, std::vector* route) +{ + expanding_counter = 0; + double step_length = 1./downsampling_factor; + + //length of the planned path + double path_length = 0; + + if(start_point.x == end_point.x && start_point.y == end_point.y)//if the start and end-point are the same return 0 + { + return path_length; + } + + // check for valid coordinates of start and end points + if (start_point.x < 0 || start_point.x >= map.cols || start_point.y < 0 || start_point.y >= map.rows || + end_point.x < 0 || end_point.x >= map.cols || end_point.y < 0 || end_point.y >= map.rows) + { + return 1e100; + } + + cv::Mat downsampled_map; + downsampleMap(map, downsampled_map, downsampling_factor, robot_radius, map_resolution); + + //transform the Pixel values to the downsampled ones + int start_x = downsampling_factor * start_point.x; + int start_y = downsampling_factor * start_point.y; + int end_x = downsampling_factor * end_point.x; + int end_y = downsampling_factor * end_point.y; + + //set the sizes of the map + m = downsampled_map.rows;// horizontal size of the map + n = downsampled_map.cols;// vertical size size of the map + + // get the route +// clock_t start = clock(); + route_ = pathFind(start_x, start_y, end_x, end_y, downsampled_map); + if (route_ == "") + { + if (end_point_valid_neighborhood_radius > 0) + { + for (int r=1; r<=end_point_valid_neighborhood_radius; ++r) + { + for (int dy=-r; dy<=r; ++dy) + { + for (int dx=-r; dx<=r; ++dx) + { + if ((abs(dy)!=r && abs(dx)!=r) || end_x+dx<0 || end_x+dx>=n || end_y+dy<0 || end_y+dy>=m) + continue; + route_ = pathFind(start_x, start_y, end_x+dx, end_y+dy, downsampled_map); + if (route_ != "") + break; + } + if (route_ != "") + break; + } + if (route_ != "") + break; + } + } + if (route_ == "") + { +// std::cout << "No path from " << start_point << " to " << end_point << " found for map of size " << map.rows << "x" << map.cols << " and downsampling factor " << downsampling_factor << std::endl; + return 1e100; //return extremely large distance as path length if the rout could not be generated + } + } +// clock_t end = clock(); +// double time_elapsed = double(end - start); + + // follow the route on the map and update the path length + if (route_.length() > 0) + { + int j; + char c; + int x = start_x; + int y = start_y; + const double straight_step = (1. / downsampling_factor); + const double diagonal_step = (std::sqrt(2.) / downsampling_factor); + for (int i = 0; i < route_.length(); i++) + { + //get the next char of the string and make it an integer, which shows the direction + c = route_.at(i); + j=c-'0'; + x = x + dx[j]; + y = y + dy[j]; + //Update the pathlength with the directions of the path. When the path goes vertical or horizontal add length 1. + //When it goes diagonal add sqrt(2) + if (j == 0 || j == 2 || j == 4 || j == 6) + { + path_length += straight_step; + } + if (j == 1 || j == 3 || j == 5 || j == 7) + { + path_length += diagonal_step; + } + } + } + + if(route != NULL) + getRoute(start_point, route_, step_length, *route); + + return path_length; +} + + +double AStarPlanner::planPath(const cv::Mat& map, const cv::Mat& downsampled_map, const cv::Point& start_point, const cv::Point& end_point, const double downsampling_factor, + const double robot_radius, const double map_resolution, const int end_point_valid_neighborhood_radius, cv::Mat* draw_path_map, + std::vector* route) +{ + route_ = ""; + double step_length = 1./downsampling_factor; +// cv::Mat debug = map.clone(); +// cv::circle(debug, start_point, 2, cv::Scalar(127), CV_FILLED); +// cv::circle(debug, end_point, 2, cv::Scalar(127), CV_FILLED); +// cv::imshow("debug", debug); +// cv::waitKey(); + double pathlength = step_length * planPath(downsampled_map, downsampling_factor*start_point, downsampling_factor*end_point, 1., 0., map_resolution, end_point_valid_neighborhood_radius, route); + if(pathlength > 1e90) //if no path can be found try with the original map + { + pathlength = planPath(map, start_point, end_point, 1., 0., map_resolution, 1./downsampling_factor * end_point_valid_neighborhood_radius, route); + step_length = 1.; + } + if(pathlength > 1e90) + std::cout << "######################### No path found on the originally sized map #######################" << std::endl; + else + { + if (draw_path_map!=NULL) + { + drawRoute(*draw_path_map, start_point, route_, step_length); + } + } + + return pathlength; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/concorde_TSP.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/concorde_TSP.cpp new file mode 100644 index 0000000..711d718 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/concorde_TSP.cpp @@ -0,0 +1,317 @@ +# include + +#include +#include +#include + +//Default constructor +ConcordeTSPSolver::ConcordeTSPSolver() +: abort_computation_(false) +{ + +} + +void ConcordeTSPSolver::distance_matrix_thread(DistanceMatrix& distance_matrix_computation, cv::Mat& distance_matrix, + const cv::Mat& original_map, const std::vector& points, double downsampling_factor, + double robot_radius, double map_resolution, AStarPlanner& path_planner) +{ + distance_matrix_computation.constructDistanceMatrix(distance_matrix, original_map, points, downsampling_factor, + robot_radius, map_resolution, pathplanner_); +} + +void ConcordeTSPSolver::abortComputation() +{ + abort_computation_ = true; + + // kill concorde if running + const std::string pid_filename = "concorde_tsp_pid" + unique_file_identifier_ + ".txt"; + std::string pid_cmd = "pidof concorde > " + pid_filename; + int pid_result = system(pid_cmd.c_str()); + std::ifstream pid_reader(pid_filename.c_str()); + int value = -1; + std::string line; + if (pid_reader.is_open()) + { + while (getline(pid_reader, line)) + { + std::istringstream iss(line); + while (iss >> value) + { + std::cout << "PID of concorde: " << value << std::endl; + std::stringstream ss; + ss << "kill " << value; + std::string kill_cmd = ss.str(); + int kill_result = system(kill_cmd.c_str()); + std::cout << "kill result: " << kill_result << std::endl; + } + } + pid_reader.close(); + remove(pid_filename.c_str()); + } +} + +//This function generates a file with the current TSP in TSPlib format. This is necessary because concorde needs this file +//as input to solve the TSP. See http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/ for documentation. +void ConcordeTSPSolver::writeToFile(const cv::Mat& pathlength_matrix, const std::string& tsp_lib_filename, const std::string& tsp_order_filename) +{ + const std::string path_for_saving_file = tsp_lib_filename; //ros::package::getPath("libconcorde_tsp_solver") + "/common/files/TSPlib_file.txt"; + std::ofstream saving_file(path_for_saving_file.c_str()); + if (saving_file.is_open()) + { + std::cout << "Starting to create the TSPlib file: " << path_for_saving_file << std::endl; + //specify name of the Problem, Type (TSP = symmetrical TSP) and add a comment to the file. Name and Type are necessary, comment is for better understanding when you open the file. + saving_file << "NAME: ipa-building-navigation_" << tsp_lib_filename << std::endl + << "TYPE: TSP" << std::endl + << "COMMENT: This is the TSPlib file for using concorde. See http://comopt.ifi.uni-heidelberg.de/software/TSPLIB95/ for documentation." + << std::endl; + saving_file << "DIMENSION: " << pathlength_matrix.cols << std::endl; //Shows the Dimension of the problem --> the number of nodes (Necessary). + //Write the distance-matrix into the file as a full-matrix. + saving_file << "EDGE_WEIGHT_TYPE: EXPLICIT" << std::endl; + saving_file << "EDGE_WEIGHT_FORMAT: FULL_MATRIX" << std::endl; + saving_file << "EDGE_WEIGHT_SECTION" << std::endl; + + for (int row = 0; row < pathlength_matrix.rows; row++) + { + for (int col = 0; col < pathlength_matrix.cols; col++) + { + saving_file << " " + << (int) pathlength_matrix.at(row, col); + } + saving_file << std::endl; + } + //shows the end of the file + saving_file << "EOF"; + + std::cout << "Created the TSPlib file." << std::endl; + saving_file.close(); + } + else + { + std::cout << "Saving file '" << path_for_saving_file << "' for concorde could not be opened." << std::endl; + } + + // clear results file + std::ofstream reading_file(tsp_order_filename.c_str()); //open file + if (reading_file.is_open()) + { + reading_file << ""; + reading_file.close(); + } + else + { + std::cout << "Could not clear results file '" << tsp_order_filename << "'." << std::endl; + } +} + +//This function opens the file which saves the output from the concorde solver and reads the saved order. The names of the +//nodes in the graph are stored as positions in the distance matrix in this case. The first integer in the file is the number +//of nodes of this problem, so this one is not necessary. +std::vector ConcordeTSPSolver::readFromFile(const std::string& tsp_order_filename) +{ + std::string path_for_order_file = tsp_order_filename; //ros::package::getPath("libconcorde_tsp_solver") + "/common/files/TSP_order.txt"; //get path to file + std::ifstream reading_file(path_for_order_file.c_str()); //open file + + std::vector order_vector; //vector that stores the calculated TSP order + + std::string line; //current line of the file + + int value; //current node in the line + + int line_counter = 0; //variable to make sure that the first line isn't stored + + if (reading_file.is_open()) + { + //get new line in the file + while (getline(reading_file, line)) + { + std::istringstream iss(line); + while (iss >> value) + { + if (line_counter > 0) //first line shows the number of nodes and is not relevant + order_vector.push_back(value); //put the current node in the last position of the order + line_counter++; + } + } + reading_file.close(); + } + else + { + std::cout << "TSP order file '" << path_for_order_file << "' could not be opened." << std::endl; + } + return order_vector; +} + +//This function solves the given TSP using the systemcall to use the concorde TSP solver. This solver is applied from: +// http://www.math.uwaterloo.ca/tsp/concorde.html +//First you have to build the Solver in any possible way and if you don't make a ros-package out of it you have to change +//the paths to the right ones. If it is a ros-package the ros::package::getpath() function will find the right path. +//The usage of the solver is: ./concorde [-see below-] [dat_file] +//Navigate to the build Solver and then ./TSP and type ./concorde -h for a short explanation. + +//with a given distance matrix +std::vector ConcordeTSPSolver::solveConcordeTSP(const cv::Mat& path_length_matrix, const int start_Node) +{ + // generate a unique filename + timeval time; + gettimeofday(&time, NULL); + std::stringstream ss; + ss << "_" << time.tv_sec << "_" << time.tv_usec; + unique_file_identifier_ = ss.str(); + const std::string tsp_lib_filename = "TSPlib_file" + unique_file_identifier_ + ".txt"; + const std::string tsp_order_filename = "TSP_order" + unique_file_identifier_ + ".txt"; + + std::vector unsorted_order, sorted_order; + std::cout << "finding optimal order" << std::endl; + std::cout << "number of nodes: " << path_length_matrix.rows << " start node: " << start_Node << std::endl; + if (path_length_matrix.rows > 2) //check if the TSP has at least 3 nodes + { + //create the TSPlib file + writeToFile(path_length_matrix, tsp_lib_filename, tsp_order_filename); + + //use concorde to find optimal tour + std::string bin_folder; + while (bin_folder.length()==0) + { + const std::string temp_file = "temp_libconcorde_path" + unique_file_identifier_ + ".txt"; + try + { + std::string cmd = "rospack libs-only-L libconcorde_tsp_solver > " + temp_file; + int result = system(cmd.c_str()); + std::ifstream file(temp_file.c_str(), std::ifstream::in); + if (file.is_open()) + { + file >> bin_folder; + file.close(); + } + std::cout << "bin_folder: " << bin_folder << std::endl; + remove(temp_file.c_str()); + //bin_folder = ros::package::command("libs-only-L libconcorde_tsp_solver"); // this command crashes sometimes + //bin_folder.erase(std::remove(bin_folder.begin(), bin_folder.end(), '\n')); + } + catch (...) + { + std::cout << "ConcordeTSPSolver::solveConcordeTSP: ERROR: ['rospack libs-only-L libconcorde_tsp_solver > '" << temp_file << "] failed. Trying again." << std::endl; + } + } + std::string cmd = bin_folder + "/libconcorde_tsp_solver/concorde -o " + "$HOME/.ros/" + tsp_order_filename + " $HOME/.ros/" + tsp_lib_filename; + if (abort_computation_==true) + return sorted_order; + int result = system(cmd.c_str()); + if (abort_computation_==true) + return sorted_order; + assert(!result); + + //get order from saving file + unsorted_order = readFromFile(tsp_order_filename); + } + else + { + for(int node = 0; node < path_length_matrix.rows; node++) + { + unsorted_order.push_back(node); + } + } + // cleanup files + remove(tsp_lib_filename.c_str()); + remove(tsp_order_filename.c_str()); + const std::string tsp_lib_sol_filename = "TSPlib_file" + unique_file_identifier_ + ".sol"; + remove(tsp_lib_sol_filename.c_str()); + const std::string tsp_lib_res_filename = "TSPlib_file" + unique_file_identifier_ + ".res"; + remove(tsp_lib_res_filename.c_str()); + std::cout << "finished TSP" << std::endl; + + // if there is an error, just set unsorted order to 1, 2, 3, ... + if (unsorted_order.size() != path_length_matrix.rows) + { + std::cout << "ConcordeTSPSolver::solveConcordeTSP: Warning: Optimized order invalid, taking standard order 1, 2, 3, ..." << std::endl; + unsorted_order.clear(); + unsorted_order.resize(path_length_matrix.rows); + for (int i=0; i ConcordeTSPSolver::solveConcordeTSP(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, const int start_Node, cv::Mat* distance_matrix) +{ + //calculate the distance matrix + std::cout << "ConcordeTSPSolver::solveConcordeTSP: Constructing distance matrix..." << std::endl; + cv::Mat distance_matrix_ref; + if (distance_matrix != 0) + distance_matrix_ref = *distance_matrix; + DistanceMatrix distance_matrix_computation; + boost::thread t(boost::bind(&ConcordeTSPSolver::distance_matrix_thread, this, boost::ref(distance_matrix_computation), + boost::ref(distance_matrix_ref), boost::cref(original_map), boost::cref(points), downsampling_factor, + robot_radius, map_resolution, boost::ref(pathplanner_))); + bool finished = false; + while (finished==false) + { + if (abort_computation_==true) + distance_matrix_computation.abortComputation(); + finished = t.try_join_for(boost::chrono::milliseconds(10)); + } + +// distance_matrix_computation.constructDistanceMatrix(distance_matrix_ref, original_map, points, downsampling_factor, +// robot_radius, map_resolution, pathplanner_); + + if (abort_computation_==true) + { + std::vector sorted_order; + return sorted_order; + } + + return (solveConcordeTSP(distance_matrix_ref, start_Node)); +} + +// compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed +std::vector ConcordeTSPSolver::solveConcordeTSPClean(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, const int start_node) +{ + // compute a cleaned distance matrix + cv::Mat distance_matrix_cleaned; + std::map cleaned_index_to_original_index_mapping; // maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix + int new_start_node = start_node; + DistanceMatrix distance_matrix_computation; + distance_matrix_computation.computeCleanedDistanceMatrix(original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_, + distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); + + // solve TSP and re-index points to original indices + return solveConcordeTSPWithCleanedDistanceMatrix(distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); +} + + +// compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) +std::vector ConcordeTSPSolver::solveConcordeTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, + const std::map& cleaned_index_to_original_index_mapping, const int start_node) +{ + // solve TSP and re-index points to original indices + std::vector optimal_order = solveConcordeTSP(distance_matrix, start_node); + for (size_t i=0; i + +#include +#include + +//Default constructor +GeneticTSPSolver::GeneticTSPSolver(int min_number_of_gens, int const_generations) +: abort_computation_(false) +{ + min_number_of_generations_ = min_number_of_gens; + const_generations_number_ = const_generations; +} + +void GeneticTSPSolver::distance_matrix_thread(DistanceMatrix& distance_matrix_computation, cv::Mat& distance_matrix, + const cv::Mat& original_map, const std::vector& points, double downsampling_factor, + double robot_radius, double map_resolution, AStarPlanner& path_planner) +{ + distance_matrix_computation.constructDistanceMatrix(distance_matrix, original_map, points, downsampling_factor, + robot_radius, map_resolution, pathplanner_); +} + +void GeneticTSPSolver::abortComputation() +{ + abort_computation_ = true; +} + +////Function to construct the distance matrix from the given points. See the definition at solveGeneticTSP for the style of this matrix. +//void GeneticTSPSolver::constructDistanceMatrix(cv::Mat& distance_matrix, const cv::Mat& original_map, const int number_of_nodes, +// const std::vector& points, double downsampling_factor, double robot_radius, double map_resolution) +//{ +// //create the distance matrix with the right size +// cv::Mat pathlengths(cv::Size(number_of_nodes, number_of_nodes), CV_64F); +// +// for (int i = 0; i < points.size(); i++) +// { +// cv::Point current_center = points[i]; +// for (int p = 0; p < points.size(); p++) +// { +// if (p != i) +// { +// if (p > i) //only compute upper right triangle of matrix, rest is symmetrically added +// { +// cv::Point neighbor = points[p]; +// double length = pathplanner_.planPath(original_map, current_center, neighbor, downsampling_factor, robot_radius, map_resolution); +// pathlengths.at(i, p) = length; +// pathlengths.at(p, i) = length; //symmetrical-Matrix --> saves half the computationtime +// } +// } +// else +// { +// pathlengths.at(i, p) = 0; +// } +// } +// } +// +// distance_matrix = pathlengths.clone(); +//} + +// This function calculates for a given path the length of it. The Path is a vector with ints, that show the index of the +// node in the path. It uses a pathlength Matrix, which should be calculated once. +// This Matrix should save the pathlengths with this logic: +// 1. The rows show from which Node the length is calculated. +// 2. For the columns in a row the Matrix shows the distance to the Node in the column. +// 3. From the node to itself the distance is 0. +double GeneticTSPSolver::getPathLength(const cv::Mat& path_length_Matrix, std::vector given_path) +{ + double length_of_given_path = 0; + + for (int i = 0; i < given_path.size() - 1; i++) + { + length_of_given_path += path_length_Matrix.at(given_path[i], given_path[i + 1]); + } + + return length_of_given_path; +} + +// This Function takes the given path and mutates it. A mutation is a random change of the path-order. For example random +// nodes can be switched, or a random intervall of nodes can be inverted. Only the first and last Node can't be changed, because +// they are given from the Main-function. +std::vector GeneticTSPSolver::mutatePath(const std::vector& parent_path) +{ + std::vector mutated_path; + + std::vector temporary_path; + std::vector saving_variable_path = parent_path; //saving-variable for the one time mutated path + + //this variable sets which aspect should be changed: + // 0: random nodes should be switched + // 1: random intervall should be inverted: + int what_to_change = (rand() % 2); + + if (what_to_change == 0) //random node-switching + { + int number_of_switches = (rand() % (parent_path.size() - 3)) + 1; // Set the number of switches that should be done. + // Because the first needs to be unchanged the number is limited. + // Also at least one change should be done. + for (int change = 0; change < number_of_switches; change++) + { + temporary_path.clear(); //reset the temporary path to fill it with new order + bool switched = false; //this variable makes sure that the switch has been done + do + { + int node_one = (rand() % (saving_variable_path.size() - 2)) + 1; //this variables random choose which nodes should be changed + int node_two = (rand() % (saving_variable_path.size() - 2)) + 1; //The first and last one should be untouched + if (node_one != node_two) //node can't be switched with himself + { + for (int node = 0; node < saving_variable_path.size(); node++) //fill the mutated path with the information + { + if (node == node_one) + { + temporary_path.push_back(saving_variable_path[node_two]); //add the second node which should be switched + } + else if (node == node_two) + { + temporary_path.push_back(saving_variable_path[node_one]); //add the first node which should be switched + } + else + { + temporary_path.push_back(saving_variable_path[node]); //add the nodes as they are + } + } + switched = true; + } + } while (!switched); + saving_variable_path = temporary_path; //save the one time mutated path + } + mutated_path = saving_variable_path; //save the finished mutated path + } + else if (what_to_change == 1) //random intervall-inverting (always from middle node on) + { + bool inverted = false; + do + { + int node_one = (rand() % (saving_variable_path.size() - 2)) + 1; //this variables random choose which intervall + int node_two = (rand() % (saving_variable_path.size() - 2)) + 1; //The first and last one should be untouched + int inverting_counter = 0; //variable to choose the node based on distance to the node_two + if (node_one > node_two) //switch variables, if the node_one is bigger than the node_two (easier to work with here) + { + int tmp_node = node_one; + node_one = node_two; + node_two = tmp_node; + } + if (node_one != node_two) + { + for (int node = 0; node < parent_path.size(); node++) + { + if (node < node_one || node > node_two) //add the nodes as they are in the mutated path + { + mutated_path.push_back(parent_path[node]); + } + else //invert the intervall + { + mutated_path.push_back(parent_path[node_two - inverting_counter]); + inverting_counter++; + } + } + inverted = true; + } + } while (!inverted); + } + else + { + ROS_INFO("Something was wrong in mutation-function."); + } + + return mutated_path; +} + +//This Function calculates the length of each given path and chooses the shortest one. It uses the getPathLength function. +std::vector GeneticTSPSolver::getBestPath(const std::vector > paths, const cv::Mat& pathlength_Matrix, bool& changed) +{ + std::vector best_path = paths[0]; + + double best_distance = getPathLength(pathlength_Matrix, paths[0]); //saving-variable for the distance of the current best path + + for (int current_path = 1; current_path < paths.size(); current_path++) + { + double current_distance = getPathLength(pathlength_Matrix, paths[current_path]); //get distance of current path + if (current_distance < best_distance) + { + best_distance = current_distance; + best_path = paths[current_path]; + changed = true; + } + } + + return best_path; +} + +//This is a solver for the TSP using a genetic algorithm. It calculates a initial path by using the nearest-neighbor +//search. It then applies an evolutional algorithm: +// +// I. Take the parent of the current generation and calculate 8 mutated children of it. A mutation can be a change +// of positions of nodes or the inversion of a intervall. The initial parent is the path from the nearest-neighbor search. +// II. It checks for the 9 paths (parent and children) for the best path (shortest) and takes this path as the parent +// of the new generation. +// III. It repeats the steps I. and II. at least a specified amount of times and then checks if the pathlength +// hasn't changed in the last steps. +// +//As input a symmetrical matrix of pathlenghts is needed. This matrix should save the pathlengths with this logic: +// 1. The rows show from which Node the length is calculated. +// 2. For the columns in a row the Matrix shows the distance to the Node in the column. +// 3. From the node to itself the distance is 0. + +//don't compute distance matrix +std::vector GeneticTSPSolver::solveGeneticTSP(const cv::Mat& path_length_Matrix, const int start_Node) +{ + std::vector return_vector; + NearestNeighborTSPSolver nearest_neighbor_solver; + + std::vector calculated_path = nearest_neighbor_solver.solveNearestTSP(path_length_Matrix, start_Node); + calculated_path.push_back(start_Node); //push the start node at the end, so the reaching of the start at the end is included in the planning + + if(path_length_Matrix.rows > 2) //check if graph has at least three members, if not the algorithm won't work properly + { + bool changed_path = false; //this variable checks if the path has been changed in the mutation process + int changing_counter = const_generations_number_; //this variable is a counter for how many times a path has been the same + + int number_of_generations = 0; + + do + { + if (abort_computation_==true) + return return_vector; + + number_of_generations++; + changed_path = false; + std::vector < std::vector > current_generation_paths; //vector to save the current generation + current_generation_paths.push_back(calculated_path); //first path is always the parent --> important for checking if the path has changed in getBestPath!! + for (int child = 0; child < 8; child++) //get 8 children and add them to the vector + { + current_generation_paths.push_back(mutatePath(calculated_path)); + } + calculated_path = getBestPath(current_generation_paths, path_length_Matrix, changed_path); //get the best path of this generation + if (number_of_generations >= min_number_of_generations_) //when a specified amount of steps have been done the algorithm checks if the last paths didn't change + { + if (changed_path) + { + changing_counter = const_generations_number_; //reset the counting-variable + } + else + { + changing_counter -= 1; //decrease the counting-variable by 1 + } + } + } while (changing_counter > 0 || number_of_generations < min_number_of_generations_); + } + + //return the calculated path without the last node (same as start node) + for(size_t node = 0; node < calculated_path.size()-1; ++node) + { + return_vector.push_back(calculated_path[node]); + } + + return return_vector; +} + +// compute distance matrix and maybe returning it +// this version does not exclude infinite paths from the TSP ordering +std::vector GeneticTSPSolver::solveGeneticTSP(const cv::Mat& original_map, const std::vector& points, double downsampling_factor, + double robot_radius, double map_resolution, const int start_Node, cv::Mat* distance_matrix) +{ + //calculate the distance matrix + std::cout << "GeneticTSPSolver::solveGeneticTSP: Constructing distance matrix..." << std::endl; + cv::Mat distance_matrix_ref; + if (distance_matrix != 0) + distance_matrix_ref = *distance_matrix; + DistanceMatrix distance_matrix_computation; + boost::thread t(boost::bind(&GeneticTSPSolver::distance_matrix_thread, this, boost::ref(distance_matrix_computation), + boost::ref(distance_matrix_ref), boost::cref(original_map), boost::cref(points), downsampling_factor, + robot_radius, map_resolution, boost::ref(pathplanner_))); + bool finished = false; + while (finished==false) + { + if (abort_computation_==true) + distance_matrix_computation.abortComputation(); + finished = t.try_join_for(boost::chrono::milliseconds(10)); + } +// DistanceMatrix distance_matrix_computation; +// distance_matrix_computation.constructDistanceMatrix(distance_matrix_ref, original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_); + + if (abort_computation_==true) + { + std::vector return_vector; + return return_vector; + } + + return (solveGeneticTSP(distance_matrix_ref, start_Node)); +} + + +// compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed +std::vector GeneticTSPSolver::solveGeneticTSPClean(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, const int start_node) +{ + // compute a cleaned distance matrix + cv::Mat distance_matrix_cleaned; + std::map cleaned_index_to_original_index_mapping; // maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix + int new_start_node = start_node; + DistanceMatrix distance_matrix_computation; + distance_matrix_computation.computeCleanedDistanceMatrix(original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_, + distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); + + // solve TSP and re-index points to original indices + return solveGeneticTSPWithCleanedDistanceMatrix(distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); +} + + +// compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) +std::vector GeneticTSPSolver::solveGeneticTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, + const std::map& cleaned_index_to_original_index_mapping, const int start_node) +{ + // solve TSP and re-index points to original indices + std::vector optimal_order = solveGeneticTSP(distance_matrix, start_node); + for (size_t i=0; i + +using namespace std; +using namespace boost; + +// +//***********************Maximal Clique Finder***************************** +// +//This class provides a maximal clique-finder for a given Graph that finds all maximal cliques in this. A maximal clique +//is a subgraph in the given Graph, in which all Nodes are connected to each other and cannot be enlarged by adding other +//Nodes ( https://en.wikipedia.org/wiki/Maximum_clique ). It uses the c++ Boost library by using the implementen Bron-Kerbosch +//function and defining the Graph as a boost::undirected_Graph. Due of a missing documentation for this function see +// +// http://www.boost.org/doc/libs/1_56_0/libs/graph/example/bron_kerbosch_print_cliques.cpp +// http://www.boost.org/doc/libs/1_58_0/libs/graph/example/bron_kerbosch_clique_number.cpp +// http://www.boost.org/doc/libs/1_47_0/libs/graph/example/helper.hpp +// http://stackoverflow.com/questions/23299406/maximum-weighted-clique-in-a-large-graph-with-high-density +// +//for further information. +//As input this function takes a symmetrical Matrix that stores the pathlengths from one node of the graph to another. +//If one Node has no connection to another the element in the matrix is zero, it also is at the main-diagonal. +//!!!!!!!!!!!!!See maximal_clique_finder.h for further information on formatting.!!!!!!!!!!!!! + +static std::vector > names_; //vector to save the cliques achieved by Boost + +// The Actor type stores the name of each vertex in the graph. +struct Actor +{ + string name; +}; + +//define some types that are used for the boost function +typedef undirected_graph Graph; +typedef graph_traits::vertex_descriptor Vertex; +typedef graph_traits::edge_descriptor Edge; +typedef property_map::type NameMap; + +template +typename graph_traits::vertex_descriptor cliqueFinder::addNamedVertex(Graph& g, NameMap nm, const string& name, VertexMap& vm) +{ + typedef typename graph_traits::vertex_descriptor Vertex; + typedef typename VertexMap::iterator Iterator; + + Vertex v; + Iterator iter; + bool inserted; + boost::tie(iter, inserted) = vm.insert(make_pair(name, Vertex())); + if (inserted) + { + // The name was unique so we need to add a vertex to the graph + v = add_vertex(g); + iter->second = v; + put(nm, v, name); // store the name in the name map + } + else + { + // We had already inserted this name so we can return the + // associated vertex. + v = iter->second; + } + return v; +} + +//This class is the Visitor for all nodes in the graph, which is used by boost::bron_kerbosch. the function clique() gets +//called everytime a maximal clique was found. This comes from the boost implementation. +template +struct visitor +{ + vector current_names; + visitor() + { + + } + + template + void clique(const Clique& c, const Graph& g) + { + // Iterate over the clique and print each vertex within it. + typename Clique::const_iterator i, end = c.end(); + for (i = c.begin(); i != end; ++i) + { + current_names.push_back(atoi(g[*i].name.c_str())); + } + names_.push_back(current_names); //save the clique to return all later + current_names.clear(); //clear the current clique + } +}; + +cliqueFinder::cliqueFinder() +{ + +} + +//This function creates a boost::undirected_graph out of the cutted distance-Matrix. The Graph is used for the +//boost::bron-kerbosch algorihtm. +template +void cliqueFinder::createGraph(Graph& graph, cv::Mat& distance_Matrix) +{ + vector vertexes; + NameMap nmap(get(&Actor::name, graph)); + std::map vert_map; + //add all Nodes to the graph + for (int counter = 0; counter < distance_Matrix.cols; counter++) + { + stringstream current_name; + current_name << counter; //<< counter; + Vertex current_vertex = addNamedVertex(graph, nmap, current_name.str(), vert_map); + vertexes.push_back(current_vertex); + } + //add each Edge if there is a connection between the Nodes + for (int current_vertex = 0; current_vertex < vertexes.size(); current_vertex++) + { + for (int neighbor_node = current_vertex; neighbor_node < vertexes.size(); neighbor_node++) + { + if (distance_Matrix.at(current_vertex, neighbor_node) > 0) + { + add_edge(vertexes[current_vertex], vertexes[neighbor_node], graph); + } + } + } +} + +//This function cuts an edge if the distance between the two Nodes is too large. This is neccessary to find possible +//areas in the graph for cliques. If the complete graph is connected only one clique will be found, containing all +//Nodes in the graph, which isn't very useful for planning. +void cliqueFinder::cutTooLongEdges(cv::Mat& complete_distance_matrix, double maxval) +{ + for (int row = 0; row < complete_distance_matrix.rows; row++) + { + for (int col = 0; col < complete_distance_matrix.cols; col++) + { + if (complete_distance_matrix.at(row, col) > maxval) + { + complete_distance_matrix.at(row, col) = 0; + } + } + } +} + +//This function uses the previously described functions and finds all maximal cliques in a given graph. The maxval parameter +//is used to cut edges that are too long. See maximal_clique_finder.h for further information on formatting. +std::vector > cliqueFinder::getCliques(const cv::Mat& distance_matrix, double maxval) +{ + // Create a graph object + Graph g; + + //cut the edges if they are too long + cv::Mat cutted_distance_matrix = distance_matrix.clone(); + cutTooLongEdges(cutted_distance_matrix, maxval); + + //Create a graph out of the cutted distance matrix + createGraph(g, cutted_distance_matrix); + + //Object needed from boost to return the results + visitor vis; + + // Use the Bron-Kerbosch algorithm to find all cliques + bron_kerbosch_all_cliques(g, vis); + + //Make sure that nodes, which are too far away from other nodes are in the clique-vector + //(a clique has at least two nodes, but in this case it is neccessary to have all nodes in the cliques and + //nodes that are too far away from others count also as a possible group) + for (int node = 0; node < distance_matrix.rows; node++) + { + bool add = true; + for (int group = 0; group < names_.size(); group++) + { + if (contains(names_[group], node)) + { + add = false; + } + } + if(add) + { + std::vector adding_vector; + adding_vector.push_back(node); + names_.push_back(adding_vector); + } + } + + //save the names_ vector and clear it for next usage + std::vector > returning_vector(names_); + names_.clear(); + + return returning_vector; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/nearest_neighbor_TSP.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/nearest_neighbor_TSP.cpp new file mode 100644 index 0000000..33e2af4 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/nearest_neighbor_TSP.cpp @@ -0,0 +1,102 @@ +#include + +//Default Constructor +NearestNeighborTSPSolver::NearestNeighborTSPSolver() +{ + +} + +//This function calculates the order of the TSP, using the nearest neighbor method. It uses a pathlength Matrix, which +//should be calculated once. This Matrix should save the pathlengths with this logic: +// 1. The rows show from which Node the length is calculated. +// 2. For the columns in a row the Matrix shows the distance to the Node in the column. +// 3. From the node to itself the distance is 0. +std::vector NearestNeighborTSPSolver::solveNearestTSP(const cv::Mat& path_length_matrix, const int start_node) +{ + std::vector calculated_order; //solution order + + if(path_length_matrix.rows > 1) //check if clique has more than one member or else this algorithm produces a order of size=3 + { + int last_node; //index of the last spectated node + std::vector visited(path_length_matrix.rows, false); + + int current_node = start_node; //index of the current spectated node + calculated_order.push_back(current_node); + visited[current_node] = true; + + //check every Point for the next nearest neighbor and add it to the order + do + { + int next_node; //saver for next node + double min_distance = 1e100; //saver for distance to current next node + for (int current_neighbor = 0; current_neighbor < path_length_matrix.cols; current_neighbor++) + { + if (visited[current_neighbor]==false) //check if current neighbor hasn't been visited yet + { + const double length = path_length_matrix.at(current_node, current_neighbor); + if (length < min_distance && length > 0) + { + next_node = current_neighbor; + min_distance = length; + } + } + } + calculated_order.push_back(next_node); //add the found nearest neighbor to the order-vector + visited[next_node] = true; + current_node = next_node; + } while (calculated_order.size() < path_length_matrix.rows); //when the order has as many elements as the pathlength Matrix has the solver is ready + + } + else + { + calculated_order.push_back(start_node); + } + + return calculated_order; +} + +// compute TSP and distance matrix without cleaning it +// this version does not exclude infinite paths from the TSP ordering +std::vector NearestNeighborTSPSolver::solveNearestTSP(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, const int start_node, cv::Mat* distance_matrix) +{ + std::cout << "NearestNeighborTSPSolver::solveNearestTSP: Constructing distance matrix..." << std::endl; + //calculate the distance matrix + cv::Mat distance_matrix_ref; + if (distance_matrix != 0) + distance_matrix_ref = *distance_matrix; + DistanceMatrix distance_matrix_computation; + distance_matrix_computation.constructDistanceMatrix(distance_matrix_ref, original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_); + + return solveNearestTSP(distance_matrix_ref, start_node); +} + + +// compute TSP from a cleaned distance matrix (does not contain any infinity paths) that has to be computed +std::vector NearestNeighborTSPSolver::solveNearestTSPClean(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, const int start_node) +{ + // compute a cleaned distance matrix + cv::Mat distance_matrix_cleaned; + std::map cleaned_index_to_original_index_mapping; // maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix + int new_start_node = start_node; + DistanceMatrix distance_matrix_computation; + distance_matrix_computation.computeCleanedDistanceMatrix(original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_, + distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); + + // solve TSP and re-index points to original indices + return solveNearestTSPWithCleanedDistanceMatrix(distance_matrix_cleaned, cleaned_index_to_original_index_mapping, new_start_node); +} + + +// compute TSP with pre-computed cleaned distance matrix (does not contain any infinity paths) +std::vector NearestNeighborTSPSolver::solveNearestTSPWithCleanedDistanceMatrix(const cv::Mat& distance_matrix, + const std::map& cleaned_index_to_original_index_mapping, const int start_node) +{ + // solve TSP and re-index points to original indices + std::vector optimal_order = solveNearestTSP(distance_matrix, start_node); + for (size_t i=0; i + +const int dir_ = 8; + +NodeAstar::NodeAstar(int xp, int yp, int d, int p) +{ + xPos_ = xp; + yPos_ = yp; + level_ = d; + priority_ = p; +} + +int NodeAstar::getxPos() const +{ + return xPos_; +} +int NodeAstar::getyPos() const +{ + return yPos_; +} +int NodeAstar::getLevel() const +{ + return level_; +} +int NodeAstar::getPriority() const +{ + return priority_; +} + +void NodeAstar::updatePriority(const int& xDest, const int& yDest) +{ + priority_ = level_ + estimate(xDest, yDest); // * 10; //A* +} + +// give better priority to going strait instead of diagonally +void NodeAstar::nextLevel(const int& i) // i: direction +{ + level_ += (dir_ == 8 ? (i % 2 == 0 ? 10 : 14) : 10); +} + +// Estimation function for the remaining distance to the goal. +// +//!!!!!!!!!!!!!!!!!!!!!!!Important!!!!!!!!!!!!!!!!!!!!!!! +//Uncomment the method to calculate the distance between this node and the goal you want to use. Eclidean is more precisly +//but could take longer to get long paths. +// +const int& NodeAstar::estimate(const int& xDest, const int& yDest) const +{ + static int xd, yd, d; + xd = xDest - xPos_; + yd = yDest - yPos_; + + // Euclidian Distance + d = static_cast(sqrt(xd * xd + yd * yd)); + + // Manhattan distance +// d = abs(xd) + abs(yd); + + // Chebyshev distance +// d=std::max(abs(xd), abs(yd)); + + return (d); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/set_cover_solver.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/set_cover_solver.cpp new file mode 100644 index 0000000..5cce36b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/set_cover_solver.cpp @@ -0,0 +1,306 @@ +#include + +//Default constructor +SetCoverSolver::SetCoverSolver() +{ + +} + +////Function to construct the symmetrical distance matrix from the given points. The rows show from which node to start and +////the columns to which node to go. If the path between nodes doesn't exist or the node to go to is the same as the one to +////start from, the entry of the matrix is 0. +//void SetCoverSolver::constructDistanceMatrix(cv::Mat& distance_matrix, const cv::Mat& original_map, +// const std::vector& points, double downsampling_factor, double robot_radius, double map_resolution) +//{ +// //create the distance matrix with the right size +// cv::Mat pathlengths(cv::Size((int)points.size(), (int)points.size()), CV_64F); +// +// // reduce image size already here to avoid resizing in the planner each time +// const double one_by_downsampling_factor = 1./downsampling_factor; +// cv::Mat downsampled_map; +// pathplanner_.downsampleMap(original_map, downsampled_map, downsampling_factor, robot_radius, map_resolution); +// +// for (int i = 0; i < points.size(); i++) +// { +// cv::Point current_center = downsampling_factor * points[i]; +// for (int j = 0; j < points.size(); j++) +// { +// if (j != i) +// { +// if (j > i) //only compute upper right triangle of matrix, rest is symmetrically added +// { +// cv::Point neighbor = downsampling_factor * points[j]; +// double length = one_by_downsampling_factor * pathplanner_.planPath(downsampled_map, current_center, neighbor, 1., 0., map_resolution); +// pathlengths.at(i, j) = length; +// pathlengths.at(j, i) = length; //symmetrical-Matrix --> saves half the computationtime +// } +// } +// else +// { +// pathlengths.at(i, j) = 0; +// } +// } +// } +// +// distance_matrix = pathlengths.clone(); +//} + +//This function takes a vector of found nodes and merges them together, if they have at least one node in common. +std::vector > SetCoverSolver::mergeGroups(const std::vector >& found_groups) +{ + std::vector < std::vector > merged_groups; //The merged groups. + + std::vector done_groups; //Vector to remember which groups has already been looked at + + for (int current_group = 0; current_group < found_groups.size(); current_group++) + { + if (!contains(done_groups, current_group)) //If the group is in the done-vector don't look at it, because it has already been looked at. + { + done_groups.push_back(current_group); //add the current group to the done groups + + std::vector current_group_saver(found_groups[current_group]); //vector to save the current group + + std::vector merging_candidates; //vector to save the groups which should be merged with the current group + + //check if the current group has at least one node in common with the other groups + for (int next_group = 0; next_group < found_groups.size(); next_group++) + { + bool merge = false; //variable to check if the room should be added to the current group + + //if it is the same group or has already been looked at it doesn't need to be checked + if (next_group != current_group && !contains(done_groups, next_group)) + { + for (int node = 0; node < found_groups[next_group].size(); node++) + { + if (contains(found_groups[current_group], found_groups[next_group][node])) + { + merge = true; + } + } + } + if (merge) //If the group has at least one neighbor save it for merging + { + merging_candidates.push_back(next_group); + } + } + + //Add the merging-candidates nodes to the current group and add the candidates to the done groups + for (int merge_candidate = 0; merge_candidate < merging_candidates.size(); merge_candidate++) + { + done_groups.push_back(merging_candidates[merge_candidate]); + for (int node = 0; node < found_groups[merging_candidates[merge_candidate]].size(); node++) + { + if (!contains(current_group_saver, found_groups[merging_candidates[merge_candidate]][node])) + { + current_group_saver.push_back(found_groups[merging_candidates[merge_candidate]][node]); + } + } + } + //add the merged group to the vector + merged_groups.push_back(current_group_saver); + } + } + std::cout << "Finished merging." << std::endl; + return merged_groups; +} + +//This functions solves the set-cover Problem ( https://en.wikipedia.org/wiki/Set_cover_problem#Greedy_algorithm ) using +//the greedy-search algorithm. It chooses the clique that has the most uncovered nodes in it first. Then it uses the merge-function +//above to merge groups that have at least one node in common together. The vector stores the indexes of the nodes, which +//are the same as the ones from the clique-solver and also the distance-matrix. The variable max_number_of_clique_members +//implies how many members a clique is allowed to have. + +//the cliques are given +std::vector > SetCoverSolver::solveSetCover(std::vector >& given_cliques, + const int number_of_nodes, const int max_number_of_clique_members, const cv::Mat& distance_matrix) +{ + std::vector < std::vector > minimal_set; + + std::vector > cliques_for_covering; + + for(size_t clique = 0; clique < given_cliques.size(); clique++) + { + std::vector temporary_clique; + for(size_t node = 0; node < given_cliques[clique].size(); node++) + { + temporary_clique.push_back(given_cliques[clique][node]); + } + cliques_for_covering.push_back(temporary_clique); + } + + //Put the nodes in a open-nodes vector. The nodes are named after their position in the room-centers-vector and so every + //node from 0 to number_of_nodes-1 is in the Graph. + std::vector open_nodes; + for (int new_node = 0; new_node < number_of_nodes; new_node++) + { + open_nodes.push_back(new_node); + } + + std::cout << "Starting greedy search for set-cover-problem." << std::endl; + + //Search for the clique with the most unvisited nodes and choose this one before the others. Then remove the nodes of + //this clique from the unvisited-vector. This is done until no more nodes can be visited. + + do + { + int covered_open_nodes; + int best_covered_counter = 0; + int best_clique = -1; + for (int clique = 0; clique < cliques_for_covering.size(); clique++) + { + // skip too big cliques + if(cliques_for_covering[clique].size() > max_number_of_clique_members) + continue; + + covered_open_nodes = 0; + for (int node = 0; node < cliques_for_covering[clique].size(); node++) + { + if (contains(open_nodes, cliques_for_covering[clique][node])) + { + covered_open_nodes++; + } + } + if (covered_open_nodes > best_covered_counter) + { + best_covered_counter = covered_open_nodes; + best_clique = clique; + } + } + + // check if a allowed clique could be found, if not split the biggest clique until it consists of cliques that are of the + // allowed size + if(best_clique == -1) + { + for (int clique = 0; clique < cliques_for_covering.size(); clique++) + { + covered_open_nodes = 0; + for (int node = 0; node < cliques_for_covering[clique].size(); node++) + { + if (contains(open_nodes, cliques_for_covering[clique][node])) + { + covered_open_nodes++; + } + } + if (covered_open_nodes > best_covered_counter) + { + best_covered_counter = covered_open_nodes; + best_clique = clique; + } + } + + // save big clique + std::vector big_clique = cliques_for_covering[best_clique]; + + // iteratively remove nodes far away from the remaining nodes to create small cliques + bool removed_node = false; + std::vector > found_subgraphs; + do + { + removed_node = false; // reset checking boolean + std::vector current_subgraph = big_clique; + while(current_subgraph.size() > max_number_of_clique_members) + { + removed_node = true; + + // find the node farthest away from the other nodes + double max_distance = 0.0; + int worst_node = -1; + for(size_t node = 0; node < current_subgraph.size(); ++node) + { + // compute sum of distances from current node to neighboring nodes + double current_distance = 0; + for(size_t neighbor = 0; neighbor < current_subgraph.size(); ++neighbor) + { + // don't look at node itself + if(node == neighbor) + continue; + + current_distance += distance_matrix.at(current_subgraph[node], current_subgraph[neighbor]); + } + + // check if sum of distances is worse than the previously found ones + if(current_distance > max_distance) + { + worst_node = node; + max_distance = current_distance; + } + } + + // remove the node farthest away from all other nodes out of the subgraph + current_subgraph.erase(current_subgraph.begin() + worst_node); + } + + // save the found subgraph + found_subgraphs.push_back(current_subgraph); + + // erase the covered nodes from the big clique + for(size_t node = 0; node < current_subgraph.size(); ++node) + big_clique.erase(std::remove(big_clique.begin(), big_clique.end(), current_subgraph[node]), big_clique.end()); + + }while(removed_node == true && big_clique.size() > 0); + + // add found subgraphs to the minimal set + for(size_t subgraph = 0; subgraph < found_subgraphs.size(); ++subgraph) + minimal_set.push_back(found_subgraphs[subgraph]); + } + else + { + minimal_set.push_back(cliques_for_covering[best_clique]); + } + //remove nodes of best clique from all cliques (this is okay because if you remove a node from a clique it stays a clique, it only isn't a maximal clique anymore) + for(size_t clique = 0; clique < cliques_for_covering.size(); clique++) + { + for(int node = 0; node < cliques_for_covering[best_clique].size(); node++) + { + if(clique != best_clique) + cliques_for_covering[clique].erase(std::remove(cliques_for_covering[clique].begin(), cliques_for_covering[clique].end(), cliques_for_covering[best_clique][node]), cliques_for_covering[clique].end()); + } + } + for (int node = 0; node < cliques_for_covering[best_clique].size(); node++) + { + open_nodes.erase(std::remove(open_nodes.begin(), open_nodes.end(), cliques_for_covering[best_clique][node]), open_nodes.end()); + } +// cliques_for_covering = new_set; +// std::cout << open_nodes.size() << std::endl; + } while (open_nodes.size() > 0); + + std::cout << "Finished greedy search." << std::endl; + +// std::cout << "Starting merging the found groups." << std::endl; +// +// return mergeGroups(minimal_set); + return minimal_set; +} + +//the distance matrix is given, but not the cliques +std::vector > SetCoverSolver::solveSetCover(const cv::Mat& distance_matrix, const std::vector& points, + const int number_of_nodes, double maximal_pathlength, const int max_number_of_clique_members) +{ + //get all maximal cliques for this graph + std::vector < std::vector > maximal_cliques = maximal_clique_finder.getCliques(distance_matrix, maximal_pathlength); + + //put the single nodes in the maximal cliques vector to make sure every node gets covered from the setCover solver + for(int single_node = 0; single_node < number_of_nodes; single_node++) + { + std::vector temp; + temp.push_back(single_node); + maximal_cliques.push_back(temp); + } + + return (solveSetCover(maximal_cliques, number_of_nodes, max_number_of_clique_members, distance_matrix)); +} + +//the distance matrix and cliques aren't given and the matrix should not be returned +std::vector > SetCoverSolver::solveSetCover(const cv::Mat& original_map, const std::vector& points, + double downsampling_factor, double robot_radius, double map_resolution, double maximal_pathlength, const int max_number_of_clique_members, cv::Mat* distance_matrix) +{ + //calculate the distance matrix + cv::Mat distance_matrix_ref; + if (distance_matrix != 0) + distance_matrix_ref = *distance_matrix; + DistanceMatrix distance_matrix_computation; + distance_matrix_computation.constructDistanceMatrix(distance_matrix_ref, original_map, points, downsampling_factor, robot_radius, map_resolution, pathplanner_); + + //get all maximal cliques for this graph and solve the set cover problem + return (solveSetCover(distance_matrix_ref, points, (int)points.size(), maximal_pathlength, max_number_of_clique_members)); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/trolley_position_finder.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/trolley_position_finder.cpp new file mode 100644 index 0000000..ea3144e --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/common/src/trolley_position_finder.cpp @@ -0,0 +1,231 @@ +#include + +//Defaul Constructor +TrolleyPositionFinder::TrolleyPositionFinder() +{ + +} + +//This function takes one group and calculates the trolley position for it. It does following steps: +// I. Get the bounding box for all Points in the group. Then expand it by a little factor to make sure the best +// position is found, even when it is slightly outside the bounding Box. +// II. Put a grid over the bounding box to get cells in which the trolley-position possibly is. +// Find the Point in these cells that have the largest distance to the closest zero Pixel as possible candidates +// for trolley positions. +// III. From these candidates the one is chosen, which gets the smallest pathlength to all group Points. If the group +// has only two members the algorithm chooses the candidate as trolley position that is the middlest between these. +cv::Point TrolleyPositionFinder::findOneTrolleyPosition(const std::vector group_points, const cv::Mat& original_map, + const double downsampling_factor, const double robot_radius, const double map_resolution) +{ + double largening_of_bounding_box = 5; //Variable to expand the bounding box of the roomcenters a little bit. This is done to make sure the best trolley position is found if it is a little bit outside this bounding box. + double max_x_value = group_points[0].x; //max/min values of the Points that get the bounding box. Initialized with the coordinates of the first Point of the group. + double min_x_value = group_points[0].x; + double max_y_value = group_points[0].y; + double min_y_value = group_points[0].y; + + //create eroded map, which is used to check if the trolley-position candidates are too close to the boundaries + cv::Mat eroded_map; + cv::erode(original_map, eroded_map, cv::Mat(), cv::Point(-1, -1), 4); + + //create the distance-map to find the candidates for trolley-Positions + cv::Mat temporary_map = original_map.clone(); + cv::erode(temporary_map, temporary_map, cv::Mat()); + cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 +#if CV_MAJOR_VERSION<=3 + cv::distanceTransform(temporary_map, distance_map, CV_DIST_L2, 5); +#else + cv::distanceTransform(temporary_map, distance_map, cv::DIST_L2, 5); +#endif + cv::convertScaleAbs(distance_map, distance_map); // conversion to 8 bit image + + // + //******************************** I. Get bounding box of the group ******************************** + // + //go trough each Point and find the min/max x/y values --> bounding box + for (int point = 0; point < group_points.size(); point++) + { + if (group_points[point].x > max_x_value) + { + max_x_value = group_points[point].x; + } + if (group_points[point].x < min_x_value) + { + min_x_value = group_points[point].x; + } + if (group_points[point].y > max_y_value) + { + max_y_value = group_points[point].y; + } + if (group_points[point].y < min_y_value) + { + min_y_value = group_points[point].y; + } + } + + //expand the bounding box sligthly by the defined factor (check if the values aren't out of the map boundaries before doing this) + if (max_x_value + largening_of_bounding_box < original_map.cols) + { + max_x_value += largening_of_bounding_box; + } + if (min_x_value - largening_of_bounding_box > 0) + { + min_x_value -= largening_of_bounding_box; + } + if (max_y_value + largening_of_bounding_box < original_map.rows) + { + max_y_value += largening_of_bounding_box; + } + if (min_y_value - largening_of_bounding_box > 0) + { + min_y_value -= largening_of_bounding_box; + } + + // + //******************************** II. Get the candidates for trolley positions ******************************** + // + double cell_side_length = 10; + double max_x_cell = min_x_value + cell_side_length; + double min_x_cell = min_x_value; + double max_y_cell = min_y_value + cell_side_length; + double min_y_cell = min_y_value; + + bool out_of_y = false; + bool out_of_x = false; + + std::vector < cv::Point > trolley_position_candidates; + + //go trough each cell and find the candidate for each of it + do //go from y_min to y_max + { + max_x_cell = min_x_value + cell_side_length; //reset the x-values for the cell to start from beginning when a new y coordinate is reached + min_x_cell = min_x_value; + do //go from x_min to x_max + { + out_of_x = false; + double best_x = min_x_cell; + double best_y = min_y_cell; + //go trough each Pixel of the cell and take the one that is most far away of the zero Pixels. + for (int y = min_y_cell; y < max_y_cell; y++) + { + for (int x = min_x_cell; x < max_x_cell; x++) + { + if (distance_map.at(best_y, best_x) < distance_map.at(y, x) && eroded_map.at(y, x) != 0) + { + best_x = x; + best_y = y; + } + } + } + //check if candidate is far enough away from boundary + if (eroded_map.at(best_y, best_x) != 0) + { + trolley_position_candidates.push_back(cv::Point(best_x, best_y)); + } + min_x_cell = max_x_cell; //set new x values for next step + max_x_cell += cell_side_length; + + //check if x is out of box --> if so the next y values should be checked + if (min_x_cell > max_x_value) + { + out_of_x = true; + } + } while (!out_of_x); + + min_y_cell = max_y_cell; //set new y values for next step + max_y_cell += cell_side_length; + + //check if y is out of bounding box --> if true step is done + if (min_y_cell > max_y_value) + { + out_of_y = true; + } + } while (!out_of_y); + + // + //***************** III. Find the candidate that minimizes the pathlengths to all group points ***************** + // + //variables to save the best candidate + double best_pathlength = 1e10; + double best_pathlength_point_distance = 1e10; + int best_trolley_candidate = 0; + + // reduce image size already here to avoid resizing in the planner each time + const double one_by_downsampling_factor = 1./downsampling_factor; + cv::Mat downsampled_map; + path_planner_.downsampleMap(original_map, downsampled_map, downsampling_factor, robot_radius, map_resolution); + + //go trough each candidate and calculate the sum of pathlengths + for (size_t candidate = 0; candidate < trolley_position_candidates.size(); candidate++) + { + cv::Point start_point = downsampling_factor * trolley_position_candidates[candidate]; + double current_pathlength = 0; + std::vector pathlengths; + for (int room_center = 0; room_center < group_points.size(); room_center++) + { + cv::Point end_point = downsampling_factor * group_points[room_center]; + //get the pathlength to the current center and save it + double center_pathlength = one_by_downsampling_factor * path_planner_.planPath(downsampled_map, start_point, end_point, 1., 0., map_resolution); + pathlengths.push_back(center_pathlength); + //add the pathlenght to the total pathlength + current_pathlength += center_pathlength; + } + //check for the best position that has the shortest pathlength to all centers. Adding a little bit to the best_distances + //because the downsampling generates an error and with this better positions can be found. + if (group_points.size() == 2) + { + //If the group only has two members check for the position that is in the middlest of the connectionpath between + //these points or else a random point will be chosen. + double current_point_distance = std::abs(pathlengths[1] - pathlengths[0]); + if (current_pathlength <= (best_pathlength + 0.05) && current_point_distance <= (best_pathlength_point_distance + 0.05) + && downsampled_map.at(downsampling_factor * trolley_position_candidates[best_trolley_candidate]) != 0) + { + best_pathlength_point_distance = current_point_distance; + best_pathlength = current_pathlength; + best_trolley_candidate = candidate; + } + } + else + { + if (current_pathlength <= (best_pathlength + 0.05)) + { + best_pathlength = current_pathlength; + best_trolley_candidate = candidate; + } + } + } + + return trolley_position_candidates[best_trolley_candidate]; +} + +//This function takes all found groups and calculates for each of it the best trolley-position using the previously +//described functions. +std::vector TrolleyPositionFinder::findTrolleyPositions(const cv::Mat& original_map, const std::vector >& found_groups, + const std::vector& room_centers, const double downsampling_factor, const double robot_radius, const double map_resolution) +{ + std::vector < cv::Point > trolley_positions; + + //go trough each group and find the best trolley position. + for (int current_group = 0; current_group < found_groups.size(); current_group++) + { + std::vector < cv::Point > group_points_vector; //vector to save the Points for each group + + //add the Points from the given groups vector + for (int index = 0; index < found_groups[current_group].size(); index++) + { + group_points_vector.push_back(room_centers[found_groups[current_group][index]]); + } + //calculate the trolley-position for each group that has at least 2 members + if (found_groups[current_group].size() > 1) + { + trolley_positions.push_back( + findOneTrolleyPosition(group_points_vector, original_map, downsampling_factor, robot_radius, map_resolution)); + } + else //if the group has only one member this one is the trolley-position + { + cv::Point trolley_position_for_one_sized_groups = room_centers[found_groups[current_group][0]]; + trolley_positions.push_back(trolley_position_for_one_sized_groups); + } + } + + return trolley_positions; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/package.xml new file mode 100644 index 0000000..938ec99 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/package.xml @@ -0,0 +1,37 @@ + + + ipa_building_navigation + 0.1.0 + + This package plans the navigation trough the building in the autopnp-scenario. It has the following parts/functions: + 1. An A-star pathplanning-algorithm, which finds the shortest way between two Points in a given map. The map should be a gridmap as a OpenCV 8bit grayscale image with 0 as obstacle + and 255 as reachable area. + 2. TSP-solving functions, which solve the TSP-Problem for a given, segmented map. The segmented map comes from the functions in the pakage ipa_room_segmentation with the corresponding roomcenters. These centers need to be visited in minimal time, so a TSP-Solver is applied. There are following algorithms for this implemented: + I. nearest-neighbor: This algorithm takes the current Point and goes to the nearest neighbor, the distance is given by the A-star pathplanner. + II. genetic-solver: This algorithm takes the path from the nearest-neighbor solver and improves it using evolutional methods. For this the given path is seen as parent, which gets 7 children. These children have been mutated, meaning that the path of the parent has been changed randomly. The Mutations can be random switching of centerorder or inverting random parts of the path. After these children has been made the function calculates the length of the path, using the results from the A-star pathplanner, and compares the children and the parent (so 8 paths). The shortest path is chosen and becomes the new parent. This step is done at least 42 times and then the algorithm checks, if the pathlength hasn't changed in the last 10 steps, if so the path is close to the optimal solution. + III. The Concorde-TSP-solver: The TSP-solving-library Concorde is used. See http://www.math.uwaterloo.ca/tsp/concorde/index.html for further information. + + Florian Jordan + Richard Bormann + LGPL for academic and non-commercial use; for commercial use, please contact Fraunhofer IPA + http://ros.org/wiki/ipa_building_navigation + + catkin + + actionlib + boost + cv_bridge + dynamic_reconfigure + geometry_msgs + ipa_building_msgs + + libopencv-dev + + message_generation + message_runtime + roscpp + roslib + sensor_msgs + visualization_msgs + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/readme.md b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/readme.md new file mode 100644 index 0000000..f3b8417 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/readme.md @@ -0,0 +1,66 @@ +# ipa_building_navigation +Algorithms for systematic coverage of different spaces in an optimal traveling order. + +If you find this software useful in your work, please cite our corresponding paper: +- R. Bormann, F. Jordan, J. Hampp, and M. Hägele. Indoor coverage path planning: Survey, implementation, analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pages 1718–1725, May 2018. https://ieeexplore.ieee.org/abstract/document/8460566 , https://publica.fraunhofer.de/entities/publication/f537c15d-4cbe-4672-9d86-6e756a9ce71b/details + +# General Procedure + +1. Change the algorithm parameters in ros/launch/room_sequence_planning_action_server_params.yaml in ros/launch to the wanted algorithms and settings. + * tsp_solver: Choose which traveling salesman problem (TSP) solver you want to use. + * planning_method: Choose which planning method for the trolley you want to use. + * for both planning methods the parameter **max_clique_path_length** determines how far two rooms can be away from each other until they get separated into two different cliques. + * map_downsampling_factor: The algorithm plans an Astar-path trough the environment to determine distances between the roomcenters that are used as edge weights for the TSP solver. For this you can set this parameter to reduce the size of the map, which speeds up the pathfinding. The originally sized map is checked, if no path for the downsampled map could be found. **Range**: 0. + * + ****************************************************************/ + +#ifndef _DYNAMIC_RECONFIGURE_CLIENT_H_ +#define _DYNAMIC_RECONFIGURE_CLIENT_H_ + +#include +#include + +#include + +#include +#include +#include +#include + +class DynamicReconfigureClient +{ +public: + DynamicReconfigureClient(ros::NodeHandle& nh, const std::string& dynamic_reconfigure_service_name, const std::string& parameter_updates_topic) + : dynamic_reconfigure_current_config_received_(false), node_handle_(nh), dynamic_reconfigure_service_name_(dynamic_reconfigure_service_name) + { + dynamic_reconfigure_sub_ = node_handle_.subscribe(parameter_updates_topic, 1, &DynamicReconfigureClient::dynamic_reconfigure_current_config_callback, this); + + // receive current configuration + ros::Duration sleep_rate(0.5); + while (dynamic_reconfigure_current_config_received_ == false) + { + ros::spinOnce(); + sleep_rate.sleep(); + } + } + + dynamic_reconfigure::Config& getConfig() + { + boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); + return dynamic_reconfigure_config_; + } + + bool setConfig(const std::string& param_name, const bool param_value) + { + boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); + + if (dynamic_reconfigure_current_config_received_ == false) + { + ROS_WARN("DynamicReconfigureClient: Did not receive the current configuration, yet."); + return false; + } + + bool found = false; + for (size_t i=0; i. + * + ****************************************************************/ +#pragma once + +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include + +#include + +// Dynamic reconfigure +#include +#include + +//TSP solver +#include +#include +#include +#include + +//Set Cover solver to find room groups +#include + +//finder of trolley positions for each room group +#include + +// A* planner +#include + +// action +#include +#include + +class RoomSequencePlanningServer +{ +public: + RoomSequencePlanningServer(ros::NodeHandle nh, std::string name_of_the_action); + + ~RoomSequencePlanningServer() + { + } + +protected: + //!!Important!! + // define the Nodehandle before the action server, or else the server won't start + ros::NodeHandle node_handle_; + + ros::Publisher room_sequence_visualization_pub_; // visualization of the room sequence + visualization_msgs::MarkerArray room_sequence_visualization_msg_; + + actionlib::SimpleActionServer room_sequence_with_checkpoints_server_; + + std::string action_name_; + + //converter-> Pixel to meter for X coordinate + double convert_pixel_to_meter_for_x_coordinate(const int pixel_valued_object_x, const float map_resolution, const cv::Point2d map_origin) + { + double meter_value_obj_x = (pixel_valued_object_x * map_resolution) + map_origin.x; + return meter_value_obj_x; + } + //converter-> Pixel to meter for Y coordinate + double convert_pixel_to_meter_for_y_coordinate(int pixel_valued_object_y, const float map_resolution, const cv::Point2d map_origin) + { + double meter_value_obj_y = (pixel_valued_object_y * map_resolution) + map_origin.y; + return meter_value_obj_y; + } + + // this is the execution function used by action server + void findRoomSequenceWithCheckpointsServer(const ipa_building_msgs::FindRoomSequenceWithCheckpointsGoalConstPtr &goal); + + size_t getNearestLocation(const cv::Mat& floor_plan, const cv::Point start_coordinate, const std::vector& positions, + const double map_downsampling_factor, const double robot_radius, const double map_resolution); + + void publishSequenceVisualization(const std::vector& room_sequences, const std::vector& room_centers, + std::vector< std::vector >& cliques, const double map_resolution, const cv::Point2d& map_origin); + + // callback function for dynamic reconfigure + void dynamic_reconfigure_callback(ipa_building_navigation::BuildingNavigationConfig &config, uint32_t level); + + dynamic_reconfigure::Server room_sequence_planning_dynamic_reconfigure_server_; + + // params + int tsp_solver_; // TSP solver: 1 = Nearest Neighbor, 2 = Genetic solver, 3 = Concorde solver + int problem_setting_; // problem setting of the sequence planning problem + // 1 = SimpleOrderPlanning (plan the optimal order of a simple set of locations) + // 2 = CheckpointBasedPlanning (two-stage planning that creates local cliques of locations (= checkpoints) and determines + // the optimal order through the members of each clique as well as the optimal order through the cliques) + int planning_method_; // Method of planning the sequence: 1 = drag trolley if next room is too far away, 2 = calculate cliques as roomgroups with trolleypositions + double max_clique_path_length_; // max A* path length between two rooms that are assigned to the same clique, in [m] + double map_downsampling_factor_; // the map may be downsampled during computations (e.g. of A* path lengths) in order to speed up the algorithm, range of the factor [0 < factor <= 1], if set to 1 the map will have original size, if set to 0 the algorithm won't work + bool check_accessibility_of_rooms_; // boolean to tell the sequence planner if it should check the given room centers for accessibility from the starting position + bool return_sequence_map_; // boolean to tell the server if the map with the sequence drawn in should be returned + int max_clique_size_; // maximal number of nodes belonging to one clique, when planning trolley positions + bool display_map_; // displays the map with paths upon service call (only if return_sequence_map=true) +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server.launch new file mode 100644 index 0000000..9eea768 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server.launch @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server_params.yaml new file mode 100644 index 0000000..2af851c --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/launch/room_sequence_planning_action_server_params.yaml @@ -0,0 +1,53 @@ +# TSP Solver +# ========== +# indicates which TSP solver should be used +# 1 = Nearest Neighbor +# 2 = Genetic solver +# 3 = Concorde solver +# int +tsp_solver: 3 + +# Problem Setting +# =============== +# problem setting of the sequence planning problem +# 1 = SimpleOrderPlanning (plan the optimal order of a simple set of locations) +# 2 = CheckpointBasedPlanning (two-stage planning that creates local cliques of locations (= checkpoints) and determines +# the optimal order through the members of each clique as well as the optimal order through the cliques) +# int +problem_setting: 2 + +# Checkpoint-based Sequence Planning Specifics +# ============================================ +# method that is used to plan the trolley positions (only applies to CheckpointBasedPlanning (2) problem_setting) +# 1 = drag the trolley if it is too far away from next room +# 2 = put rooms together in groups and calculate a corresponding trolley positions +# int +planning_method: 2 + +# max A* path length between two rooms that are assigned to the same clique, in [m] (only applies to CheckpointBasedPlanning (2) problem_setting) +# double +max_clique_path_length: 1200.0 + +# maximal nodes in one clique for one trolley position (only applies to CheckpointBasedPlanning (2) problem_setting) +# int +maximum_clique_size: 9001 + +# General Settings +# ================ +# the map may be downsampled during computations (e.g. of A* path lengths) in order to speed up the algorithm, +# range of the factor [0 < factor <= 1] +# if set to 1 the map will have original size, if set to 0 the algorithm won't work +# double +map_downsampling_factor: 0.25 + +# boolean to tell the sequence planner if it should check the given room centers for accessibility from the starting position +# bool +check_accessibility_of_rooms: true + +# boolean to tell the server if the map with the sequence drawn in should be returned +# bool +return_sequence_map: false + +# displays the map with paths upon service call (only if return_sequence_map=true) +# bool +display_map: false diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/boosttest.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/boosttest.cpp new file mode 100644 index 0000000..3f00ca1 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/boosttest.cpp @@ -0,0 +1,216 @@ +#include "ros/ros.h" +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include +#include + +#include +#include + +#include +#include +#include + +#include + +int main(int argc, char **argv) +{ + srand(time(NULL)); + ros::init(argc, argv, "TSPevaluation"); + ros::NodeHandle nh; + + //define parameters to describe the Graph + const int dimension = 600; + + //define parameters for solving the TSP + double downsampling = 0.25; + double robot_radius = 0.; + double map_resolution = 0.05; + int start_node = 0; + + //saving variables for pathlengths + std::vector nearest_pathlengths; + std::vector genetic_pathlengths; + std::vector concorde_pathlengths; + + //create empty map to random generate Points in it + cv::Mat map(dimension, dimension, CV_8UC1, cv::Scalar(255)); + + //path to save the results + const std::string data_storage_path = "tsp_evaluation/"; + const std::string upper_command = "mkdir -p " + data_storage_path; + int return_value = system(upper_command.c_str()); + + //stingstreams to save the parameters + std::stringstream pathlength_output; + std::stringstream times_output; + + for(int number_of_nodes = 10; number_of_nodes <= 210; number_of_nodes += 20) + { + std::stringstream folder_name; + folder_name << number_of_nodes << "nodes"; + const std::string evaluation_path = data_storage_path + folder_name.str() + "/"; + const std::string command = "mkdir -p " + evaluation_path; + int return_value = system(command.c_str()); + + //generate random Points as nodes for the TSP solvers + int point_counter = 0; + std::vector nodes; + std::cout << "getting random Points" << std::endl; + do + { + int rand_x = (rand() % (dimension-30)) + 30; + int rand_y = (rand() % (dimension-30)) + 30; + if(map.at(rand_y, rand_x) == 255) + { + nodes.push_back(cv::Point(rand_x, rand_y)); + point_counter++; + } + }while(point_counter < number_of_nodes); + + NearestNeighborTSPSolver nearest_solver; + GeneticTSPSolver genetic_solver; + ConcordeTSPSolver concorde_solver; + + //solve the TSPs and save the calculation time and orders + cv::Mat distance_matrix; + struct timespec t0, t1, t2, t3; + + //construct distance matrix once + std::cout << "constructing distance matrix" << std::endl; + AStarPlanner planner; + DistanceMatrix distance_matrix_computation; + distance_matrix_computation.constructDistanceMatrix(distance_matrix, map, nodes, downsampling, robot_radius, map_resolution, planner); + + std::cout << "solving TSPs" << std::endl; + clock_gettime(CLOCK_MONOTONIC, &t0); + std::vector nearest_order = nearest_solver.solveNearestTSP(distance_matrix, start_node); + std::cout << "solved nearest TSP" << std::endl; + clock_gettime(CLOCK_MONOTONIC, &t1); + std::vector genetic_order = genetic_solver.solveGeneticTSP(distance_matrix, start_node); + std::cout << "solved genetic TSP" << std::endl; + clock_gettime(CLOCK_MONOTONIC, &t2); + std::vector concorde_order = concorde_solver.solveConcordeTSP(distance_matrix, start_node); + std::cout << "solved concorde TSP" << std::endl; + clock_gettime(CLOCK_MONOTONIC, &t3); + + std::cout << "number of nodes in the paths: " << nearest_order.size() << " " << genetic_order.size() << " " << concorde_order.size() << std::endl; + + //create maps to draw the paths in + cv::Mat nearest_map = map.clone(); +#if CV_MAJOR_VERSION<=3 + cv::cvtColor(nearest_map, nearest_map, CV_GRAY2BGR); +#else + cv::cvtColor(nearest_map, nearest_map, cv::COLOR_GRAY2BGR); +#endif + cv::Mat genetic_map = nearest_map.clone(); + cv::Mat concorde_map = nearest_map.clone(); + + //draw the order into the maps + // draw the start node as red + std::cout << "starting to draw the maps" << std::endl; +#if CV_MAJOR_VERSION<=3 + cv::circle(nearest_map, nodes[nearest_order[0]], 2, CV_RGB(255,0,0), CV_FILLED); + cv::circle(genetic_map, nodes[genetic_order[0]], 2, CV_RGB(255,0,0), CV_FILLED); + cv::circle(concorde_map, nodes[concorde_order[0]], 2, CV_RGB(255,0,0), CV_FILLED); +#else + cv::circle(nearest_map, nodes[nearest_order[0]], 2, CV_RGB(255,0,0), cv::FILLED); + cv::circle(genetic_map, nodes[genetic_order[0]], 2, CV_RGB(255,0,0), cv::FILLED); + cv::circle(concorde_map, nodes[concorde_order[0]], 2, CV_RGB(255,0,0), cv::FILLED); +#endif + for(size_t i = 1; i < nearest_order.size(); ++i) + { + cv::line(nearest_map, nodes[nearest_order[i-1]], nodes[nearest_order[i]], CV_RGB(128,128,255), 1); + cv::line(genetic_map, nodes[genetic_order[i-1]], nodes[genetic_order[i]], CV_RGB(128,128,255), 1); + cv::line(concorde_map, nodes[concorde_order[i-1]], nodes[concorde_order[i]], CV_RGB(128,128,255), 1); +#if CV_MAJOR_VERSION<=3 + cv::circle(nearest_map, nodes[nearest_order[i]], 2, CV_RGB(0,0,0), CV_FILLED); + cv::circle(genetic_map, nodes[genetic_order[i]], 2, CV_RGB(0,0,0), CV_FILLED); + cv::circle(concorde_map, nodes[concorde_order[i]], 2, CV_RGB(0,0,0), CV_FILLED); +#else + cv::circle(nearest_map, nodes[nearest_order[i]], 2, CV_RGB(0,0,0), cv::FILLED); + cv::circle(genetic_map, nodes[genetic_order[i]], 2, CV_RGB(0,0,0), cv::FILLED); + cv::circle(concorde_map, nodes[concorde_order[i]], 2, CV_RGB(0,0,0), cv::FILLED); +#endif + } + //draw line back to start + cv::line(nearest_map, nodes[nearest_order[0]], nodes[nearest_order.back()], CV_RGB(128,128,255), 1); + cv::line(genetic_map, nodes[genetic_order[0]], nodes[genetic_order.back()], CV_RGB(128,128,255), 1); + cv::line(concorde_map, nodes[concorde_order[0]], nodes[concorde_order.back()], CV_RGB(128,128,255), 1); + + //save the maps + std::string nearest_path = evaluation_path + "nearest_order.png"; + std::string genetic_path = evaluation_path + "genetic_order.png"; + std::string concorde_path = evaluation_path + "concorde_order.png"; + cv::imwrite(nearest_path.c_str(), nearest_map); + cv::imwrite(genetic_path.c_str(), genetic_map); + cv::imwrite(concorde_path.c_str(), concorde_map); + std::cout << "saved the maps" << std::endl; + + //get the pathlengths for each solver + double nearest_pathlength= 0; + double genetic_pathlength = 0; + double concorde_pathlength = 0; + //add each pathlength + std::cout << "starting to calculate the pathlengths " << distance_matrix.cols << std::endl; + for(size_t i = 1; i < nearest_order.size(); ++i) + { + nearest_pathlength += distance_matrix.at(nearest_order[i-1], nearest_order[i]); + genetic_pathlength += distance_matrix.at(genetic_order[i-1], genetic_order[i]); + concorde_pathlength += distance_matrix.at(concorde_order[i-1], concorde_order[i]); + std::cout << "done node: " << (int) i << std::endl; + } + //add path from end to start + std::cout << "doing last paths. Indexes: " << nearest_order.back() << " " << genetic_order.back() << " " << concorde_order.back() << std::endl; + int last_index = nearest_order.back(); + nearest_pathlength += distance_matrix.at(nearest_order[0], last_index); + std::cout << "finished nearest path" << std::endl; + last_index = genetic_order.back(); + genetic_pathlength += distance_matrix.at(genetic_order[0], last_index); + std::cout << "finished genetic path." << std::endl; + last_index = concorde_order.back(); + concorde_pathlength += distance_matrix.at(concorde_order[0], last_index); + std::cout << "finished concorde path" << std::endl; + + //calculate computation times + double nearest_time = (t1.tv_sec - t0.tv_sec) + (double) (t1.tv_nsec - t0.tv_nsec) * 1e-9; + double genetic_time = (t2.tv_sec - t1.tv_sec) + (double) (t2.tv_nsec - t1.tv_nsec) * 1e-9; + double concorde_time = (t3.tv_sec - t2.tv_sec) + (double) (t3.tv_nsec - t2.tv_nsec) * 1e-9; + + //save the pathlengths and computation times + pathlength_output << "number of nodes: " << number_of_nodes << std::endl + << nearest_pathlength << std::endl << genetic_pathlength << std::endl << concorde_pathlength << std::endl << std::endl; + times_output << "number of nodes: " << number_of_nodes << std::endl + << nearest_time << std::endl << genetic_time << std::endl << concorde_time << std::endl << std::endl; + } + std::string pathlength_log_filename = data_storage_path + "pathlengths.txt"; + std::ofstream pathlength_file(pathlength_log_filename.c_str(), std::ios::out); + if (pathlength_file.is_open()==true) + pathlength_file << pathlength_output.str(); + pathlength_file.close(); + std::cout << "finished to save the pathlengths" << std::endl; + + std::string genetic_log_filename = data_storage_path + "times.txt"; + std::ofstream genetic_file(genetic_log_filename.c_str(), std::ios::out); + if (genetic_file.is_open()==true) + genetic_file << times_output.str(); + genetic_file.close(); + std::cout << "finished to save the times" << std::endl; + + + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_client.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_client.cpp new file mode 100644 index 0000000..e062e69 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_client.cpp @@ -0,0 +1,142 @@ +#include +#include + +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include + +#include + +int main(int argc, char **argv) +{ + ros::init(argc, argv, "room_sequence_planning_client"); + ros::NodeHandle nh; + + std::vector< std::string > map_names; + map_names.push_back("lab_ipa.png"); +// map_names.push_back("freiburg_building101.png"); + map_names.push_back("freiburg_building52.png"); + map_names.push_back("freiburg_building79.png"); +// map_names.push_back("intel_map.png"); +// map_names.push_back("lab_a.png"); +// map_names.push_back("lab_b.png"); + map_names.push_back("lab_c.png"); + map_names.push_back("lab_d.png"); +// map_names.push_back("lab_e.png"); + + for (size_t image_index = 0; image_index(y, x) != 255) + { + map.at(y, x) = 0; + } + } + } + + sensor_msgs::Image map_msg; + cv_bridge::CvImage cv_image; + // cv_image.header.stamp = ros::Time::now(); + cv_image.encoding = "mono8"; + cv_image.image = map; + cv_image.toImageMsg(map_msg); + // create the action client --> "name of server" + // true causes the client to spin its own thread + actionlib::SimpleActionClient ac_seg("/room_segmentation/room_segmentation_server", true); + ROS_INFO("Waiting for action server '/room_segmentation/room_segmentation_server' to start."); + // wait for the action server to start + ac_seg.waitForServer(); //will wait for infinite time + + // set algorithm parameters + ROS_INFO("Action server started, sending goal."); + DynamicReconfigureClient drc_seg(nh, "/room_segmentation/room_segmentation_server/set_parameters", "/room_segmentation/room_segmentation_server/parameter_updates"); + drc_seg.setConfig("room_segmentation_algorithm", 1); + + // send a goal to the action + ipa_building_msgs::MapSegmentationGoal goal_seg; + goal_seg.input_map = map_msg; + goal_seg.map_origin.position.x = 0; + goal_seg.map_origin.position.y = 0; + goal_seg.map_resolution = 0.05; + goal_seg.return_format_in_meter = false; + goal_seg.return_format_in_pixel = true; + ac_seg.sendGoal(goal_seg); + + //wait for the action to return + bool finished_before_timeout = ac_seg.waitForResult(ros::Duration(300.0)); + if (finished_before_timeout == false) + { + ROS_ERROR("Timeout on room segmentation."); + return -1; + } + ipa_building_msgs::MapSegmentationResultConstPtr result_seg = ac_seg.getResult(); + ROS_INFO("Finished segmentation successfully!"); + + // solve sequence problem + actionlib::SimpleActionClient ac_seq("/room_sequence_planning/room_sequence_planning_server", true); + ROS_INFO("Waiting for action server '/room_sequence_planning/room_sequence_planning_server' to start."); + // wait for the action server to start + ac_seq.waitForServer(); //will wait for infinite time + + // set algorithm parameters + ROS_INFO("Action server started, sending goal_seq."); + DynamicReconfigureClient drc_seq(nh, "/room_sequence_planning/room_sequence_planning_server/set_parameters", "/room_sequence_planning/room_sequence_planning_server/parameter_updates"); + drc_seq.setConfig("planning_method", 1); + drc_seq.setConfig("tsp_solver", 3); + drc_seq.setConfig("return_sequence_map", true); + drc_seq.setConfig("display_map", true); + + // send a goal_seg to the action + ipa_building_msgs::FindRoomSequenceWithCheckpointsGoal goal_seq; + goal_seq.input_map = map_msg; + goal_seq.map_resolution = goal_seg.map_resolution; + goal_seq.map_origin.position.x = goal_seg.map_origin.position.x; + goal_seq.map_origin.position.y = goal_seg.map_origin.position.y; + goal_seq.room_information_in_pixel = result_seg->room_information_in_pixel; + goal_seq.robot_radius = 0.3; + cv::Mat map_eroded; + cv::erode(map, map_eroded, cv::Mat(), cv::Point(-1,-1), goal_seq.robot_radius/goal_seq.map_resolution+2); + cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 + cv::distanceTransform(map_eroded, distance_map, CV_DIST_L2, 5); + cv::convertScaleAbs(distance_map, distance_map); // conversion to 8 bit image + bool robot_start_coordinate_set = false; + for (int v=0; v(v,u) != 0 && distance_map.at(v,u) > 15) + { + goal_seq.robot_start_coordinate.position.x = u*goal_seq.map_resolution + goal_seg.map_origin.position.x; + goal_seq.robot_start_coordinate.position.y = v*goal_seq.map_resolution + goal_seg.map_origin.position.y; + robot_start_coordinate_set = true; + } + ac_seq.sendGoal(goal_seq); + + //wait for the action to return + finished_before_timeout = ac_seq.waitForResult(ros::Duration(300.0)); + if (finished_before_timeout == false) + { + ROS_ERROR("Timeout on room sequence planning."); + return -1; + } + ROS_INFO("Finished sequence planning successfully!"); + + } + + //exit + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_server.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_server.cpp new file mode 100644 index 0000000..df4f92a --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/room_sequence_planning_action_server.cpp @@ -0,0 +1,901 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_building_navigation + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 08.2015 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#include + +RoomSequencePlanningServer::RoomSequencePlanningServer(ros::NodeHandle nh, std::string name_of_the_action) : + node_handle_(nh), + room_sequence_with_checkpoints_server_(node_handle_, name_of_the_action, boost::bind(&RoomSequencePlanningServer::findRoomSequenceWithCheckpointsServer, this, _1), false), + action_name_(name_of_the_action) +{ + // setup publishers + room_sequence_visualization_pub_ = nh.advertise("room_sequence_marker", 1); + + // start action server + room_sequence_with_checkpoints_server_.start(); + + // dynamic reconfigure + room_sequence_planning_dynamic_reconfigure_server_.setCallback(boost::bind(&RoomSequencePlanningServer::dynamic_reconfigure_callback, this, _1, _2)); + + // Parameters + std::cout << "\n------------------------------------\nRoom Sequence Planner Parameters:\n------------------------------------\n"; + // TSP solver + node_handle_.param("tsp_solver", tsp_solver_, (int)TSP_CONCORDE); + std::cout << "room_sequence_planning/tsp_solver = " << tsp_solver_ << std::endl; + if (tsp_solver_ == TSP_NEAREST_NEIGHBOR) + ROS_INFO("You have chosen the Nearest Neighbor TSP method."); + else if (tsp_solver_ == TSP_GENETIC) + ROS_INFO("You have chosen the Genetic TSP method."); + else if (tsp_solver_ == TSP_CONCORDE) + ROS_INFO("You have chosen the Concorde TSP solver."); + else + ROS_ERROR("Undefined TSP Solver."); + + // problem setting + node_handle_.param("problem_setting", problem_setting_, 2); + std::cout << "room_sequence_planning/problem_setting = " << problem_setting_ << std::endl; + if (problem_setting_ == 1) + ROS_INFO("You have chosen the SimpleOrderPlanning setting."); + else if (problem_setting_ == 2) + ROS_INFO("You have chosen the CheckpointBasedPlanning setting."); + else + ROS_ERROR("Undefined problem setting."); + + // checkpoint-based sequence planning specifics + if (problem_setting_ == 1) + { + planning_method_ = 1; + max_clique_path_length_ = 0.; // always split into cliques --> each clique contains only one room + max_clique_size_ = 1; // always split into cliques --> each clique contains only one room + } + else if (problem_setting_ == 2) + { + node_handle_.param("planning_method", planning_method_, 2); + std::cout << "room_sequence_planning/planning_method = " << planning_method_ << std::endl; + if (planning_method_ == 1) + ROS_INFO("You have chosen the Trolley dragging method."); + else if (planning_method_ == 2) + ROS_INFO("You have chosen the room group planning method."); + else + ROS_ERROR("Undefined planning method."); + node_handle_.param("max_clique_path_length", max_clique_path_length_, 12.0); + std::cout << "room_sequence_planning/max_clique_path_length = " << max_clique_path_length_ << std::endl; + node_handle_.param("maximum_clique_size", max_clique_size_, 9001); + std::cout << "room_sequence_planning/maximum_clique_size = " << max_clique_size_ << std::endl; + } + else + ROS_ERROR("Undefined problem setting."); + + // general settings + node_handle_.param("map_downsampling_factor", map_downsampling_factor_, 0.25); + std::cout << "room_sequence_planning/map_downsampling_factor = " << map_downsampling_factor_ << std::endl; + node_handle_.param("check_accessibility_of_rooms", check_accessibility_of_rooms_, true); + std::cout << "room_sequence_planning/check_accessibility_of_rooms = " << check_accessibility_of_rooms_ << std::endl; + node_handle_.param("return_sequence_map", return_sequence_map_, false); + std::cout << "room_sequence_planning/return_sequence_map = " << return_sequence_map_ << std::endl; + node_handle_.param("display_map", display_map_, false); + std::cout << "room_sequence_planning/display_map = " << display_map_ << std::endl; +} + +// callback function for dynamic reconfigure +void RoomSequencePlanningServer::dynamic_reconfigure_callback(ipa_building_navigation::BuildingNavigationConfig &config, uint32_t level) +{ + std::cout << "######################################################################################" << std::endl; + std::cout << "Dynamic reconfigure request:" << std::endl; + + // TSP solver + tsp_solver_ = config.tsp_solver; + std::cout << "room_sequence_planning/tsp_solver = " << tsp_solver_ << std::endl; + if (tsp_solver_ == TSP_NEAREST_NEIGHBOR) + ROS_INFO("You have chosen the Nearest Neighbor TSP method."); + else if (tsp_solver_ == TSP_GENETIC) + ROS_INFO("You have chosen the Genetic TSP method."); + else if (tsp_solver_ == TSP_CONCORDE) + ROS_INFO("You have chosen the Concorde TSP solver."); + else + ROS_ERROR("Undefined TSP Solver."); + + // problem setting + problem_setting_ = config.problem_setting; + std::cout << "room_sequence_planning/problem_setting = " << problem_setting_ << std::endl; + if (problem_setting_ == 1) + ROS_INFO("You have chosen the SimpleOrderPlanning setting."); + else if (problem_setting_ == 2) + ROS_INFO("You have chosen the CheckpointBasedPlanning setting."); + else + ROS_ERROR("Undefined problem setting."); + + // checkpoint-based sequence planning specifics + if (problem_setting_ == 1) + { + planning_method_ = 1; + max_clique_path_length_ = 0.; // always split into cliques --> each clique contains only one room + max_clique_size_ = 1; // always split into cliques --> each clique contains only one room + } + else if (problem_setting_ == 2) + { + planning_method_ = config.planning_method; + std::cout << "room_sequence_planning/planning_method = " << planning_method_ << std::endl; + if (planning_method_ == 1) + ROS_INFO("You have chosen the Trolley dragging method."); + else if (planning_method_ == 2) + ROS_INFO("You have chosen the room group planning method."); + else + ROS_ERROR("Undefined planning method."); + max_clique_path_length_ = config.max_clique_path_length; + std::cout << "room_sequence_planning/max_clique_path_length = " << max_clique_path_length_ << std::endl; + max_clique_size_ = config.maximum_clique_size; + std::cout << "room_sequence_planning/maximum_clique_size = " << max_clique_size_ << std::endl; + } + else + ROS_ERROR("Undefined problem setting."); + + // general settings + map_downsampling_factor_ = config.map_downsampling_factor; + std::cout << "room_sequence_planning/map_downsampling_factor = " << map_downsampling_factor_ << std::endl; + check_accessibility_of_rooms_ = config.check_accessibility_of_rooms; + std::cout << "room_sequence_planning/check_accessibility_of_rooms = " << check_accessibility_of_rooms_ << std::endl; + return_sequence_map_ = config.return_sequence_map; + std::cout << "room_sequence_planning/return_sequence_map = " << return_sequence_map_ << std::endl; + display_map_ = config.display_map; + std::cout << "room_sequence_planning/display_map = " << display_map_ << std::endl; +} + +void RoomSequencePlanningServer::findRoomSequenceWithCheckpointsServer(const ipa_building_msgs::FindRoomSequenceWithCheckpointsGoalConstPtr &goal) +{ + ROS_INFO("********Sequence planning started************"); + + // converting the map msg in cv format + cv_bridge::CvImagePtr cv_ptr_obj; + cv_ptr_obj = cv_bridge::toCvCopy(goal->input_map, sensor_msgs::image_encodings::MONO8); + cv::Mat floor_plan = cv_ptr_obj->image; + + //get map origin and convert robot start coordinate to [pixel] + const cv::Point2d map_origin(goal->map_origin.position.x, goal->map_origin.position.y); + cv::Point robot_start_coordinate((goal->robot_start_coordinate.position.x - map_origin.x)/goal->map_resolution, (goal->robot_start_coordinate.position.y - map_origin.y)/goal->map_resolution); + + + //create a star pathplanner to plan a path from Point A to Point B in a given gridmap + AStarPlanner a_star_path_planner; + + //get room centers and check how many of them are reachable + cv::Mat downsampled_map_for_accessibility_checking; + if(check_accessibility_of_rooms_ == true) + { + a_star_path_planner.downsampleMap(floor_plan, downsampled_map_for_accessibility_checking, map_downsampling_factor_, goal->robot_radius, goal->map_resolution); + } + std::vector room_centers; // collect the valid, accessible room_centers + std::map mapping_room_centers_index_to_original_room_index; // maps the index of each entry in room_centers to the original index in goal->room_information_in_pixel + for (size_t i=0; iroom_information_in_pixel.size(); ++i) + { + cv::Point current_center(goal->room_information_in_pixel[i].room_center.x, goal->room_information_in_pixel[i].room_center.y); + if(check_accessibility_of_rooms_ == true) + { + std::cout << "checking for accessibility of rooms" << std::endl; + double length = a_star_path_planner.planPath(floor_plan, downsampled_map_for_accessibility_checking, robot_start_coordinate, current_center, map_downsampling_factor_, 0., goal->map_resolution); + if(length < 1e9) + { + room_centers.push_back(current_center); + mapping_room_centers_index_to_original_room_index[room_centers.size()-1] = i; + std::cout << "room " << i << " added, center: " << current_center << std::endl; + } + else + std::cout << "room " << i << " not accessible, center: " << current_center << std::endl; + } + else + { + room_centers.push_back(current_center); + } + } + downsampled_map_for_accessibility_checking.release(); //release not anymore needed space + + std::cout << "number of reachable roomcenters: " << room_centers.size() << std::endl; + + if(room_centers.size() == 0) + { + ROS_ERROR("No given roomcenter reachable from starting position."); + ipa_building_msgs::FindRoomSequenceWithCheckpointsResult action_result; + room_sequence_with_checkpoints_server_.setAborted(action_result); + return; + } + + if(planning_method_ > 0 && planning_method_ < 3) + { + if(planning_method_ == 1) + ROS_INFO("You have chosen the drag planning method."); + if(planning_method_ == 2) + ROS_INFO("You have chosen the grouping planning method."); + } + + if(tsp_solver_ > 0 && tsp_solver_ < 4) + { + if(tsp_solver_ == TSP_NEAREST_NEIGHBOR) + ROS_INFO("You have chosen the nearest neighbor solver."); + if(tsp_solver_ == TSP_GENETIC) + ROS_INFO("You have chosen the genetic TSP solver."); + if(tsp_solver_ == TSP_CONCORDE) + ROS_INFO("You have chosen the concorde TSP solver."); + } + //saving vectors needed from both planning methods + std::vector > cliques; + std::vector trolley_positions; + std::vector< std::vector > room_cliques_as_points; + + //image container to draw the sequence in if needed + cv::Mat display; + + if(planning_method_ == 1) //Drag Trolley if the next room is too far away + { + std::cout << "Maximal cliquedistance [m]: "<< max_clique_path_length_ << " Maximal cliquedistance [Pixel]: "<< max_clique_path_length_/goal->map_resolution << std::endl; + + //calculate the index of the best starting position + size_t optimal_start_position = getNearestLocation(floor_plan, robot_start_coordinate, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution); + + //plan the optimal path trough all given rooms + std::vector optimal_room_sequence; + if(tsp_solver_ == TSP_NEAREST_NEIGHBOR) //nearest neighbor TSP solver + { + NearestNeighborTSPSolver nearest_neighbor_tsp_solver; + optimal_room_sequence = nearest_neighbor_tsp_solver.solveNearestTSP(floor_plan, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_start_position); + } + if(tsp_solver_ == TSP_GENETIC) //genetic TSP solver + { + GeneticTSPSolver genetic_tsp_solver; + optimal_room_sequence = genetic_tsp_solver.solveGeneticTSP(floor_plan, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_start_position); + } + if(tsp_solver_ == TSP_CONCORDE) //concorde TSP solver + { + ConcordeTSPSolver concorde_tsp_solver; + optimal_room_sequence = concorde_tsp_solver.solveConcordeTSP(floor_plan, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_start_position); + } + + //put the rooms that are close enough together into the same clique, if a new clique is needed put the first roomcenter as a trolleyposition + std::vector current_clique; + trolley_positions.push_back(robot_start_coordinate); //trolley stands close to robot on startup + //sample down map one time to reduce calculation time + cv::Mat downsampled_map; + a_star_path_planner.downsampleMap(floor_plan, downsampled_map, map_downsampling_factor_, goal->robot_radius, goal->map_resolution); + const double one_by_downsampling_factor = 1 / map_downsampling_factor_; + for(size_t i=0; imap_resolution); + if (distance_to_trolley <= max_clique_path_length_/goal->map_resolution && current_clique.size() < max_clique_size_) //expand current clique by next roomcenter + { + current_clique.push_back(optimal_room_sequence[i]); + } + else //start new clique and put the old clique into the cliques vector + { + cliques.push_back(current_clique); + current_clique.clear(); + current_clique.push_back(optimal_room_sequence[i]); + trolley_positions.push_back(room_centers[optimal_room_sequence[i]]); + } + } + //add last clique + cliques.push_back(current_clique); + + //fill vector of cv::Point for display purpose + for(size_t i=0; i current_clique; + for(size_t j=0; j0) + { +#if CV_MAJOR_VERSION<=3 + cv::circle(display, trolley_positions[t], 5, CV_RGB(0,0,255), CV_FILLED); +#else + cv::circle(display, trolley_positions[t], 5, CV_RGB(0,0,255), cv::FILLED); +#endif + cv::line(display, trolley_positions[t], trolley_positions[t-1], CV_RGB(128,128,255), 1); + } + else + { +#if CV_MAJOR_VERSION<=3 + cv::circle(display, trolley_positions[t], 5, CV_RGB(255,0,0), CV_FILLED); +#else + cv::circle(display, trolley_positions[t], 5, CV_RGB(255,0,0), cv::FILLED); +#endif + } + + // room positions and connections + for (size_t r=0; rmap_resolution << std::endl; + + std::cout << "finding trolley positions" << std::endl; + // 1. determine cliques of rooms + SetCoverSolver set_cover_solver; + cliques = set_cover_solver.solveSetCover(floor_plan, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, max_clique_path_length_/goal->map_resolution, max_clique_size_); + + // 2. determine trolley position within each clique (same indexing as in cliques) + TrolleyPositionFinder trolley_position_finder; + trolley_positions = trolley_position_finder.findTrolleyPositions(floor_plan, cliques, room_centers, map_downsampling_factor_, goal->robot_radius, goal->map_resolution); + std::cout << "Trolley positions within each clique computed" << std::endl; + + // 3. determine optimal sequence of trolley positions (solve TSP problem) + // a) find nearest trolley location to current robot location + // b) solve the TSP for the trolley positions + // reduce image size already here to avoid resizing in the planner each time + size_t optimal_trolley_start_position = getNearestLocation(floor_plan, robot_start_coordinate, trolley_positions, map_downsampling_factor_, goal->robot_radius, goal->map_resolution); + + //solve the TSP + std::vector optimal_trolley_sequence; + std::cout << "finding optimal trolley sequence. Start: " << optimal_trolley_start_position << std::endl; + if(tsp_solver_ == TSP_NEAREST_NEIGHBOR) //nearest neighbor TSP solver + { + NearestNeighborTSPSolver nearest_neighbor_tsp_solver; + optimal_trolley_sequence = nearest_neighbor_tsp_solver.solveNearestTSP(floor_plan, trolley_positions, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_trolley_start_position); + } + if(tsp_solver_ == TSP_GENETIC) //genetic TSP solver + { + GeneticTSPSolver genetic_tsp_solver; + optimal_trolley_sequence = genetic_tsp_solver.solveGeneticTSP(floor_plan, trolley_positions, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_trolley_start_position); + } + if(tsp_solver_ == TSP_CONCORDE) //concorde TSP solver + { + ConcordeTSPSolver concorde_tsp_solver; + optimal_trolley_sequence = concorde_tsp_solver.solveConcordeTSP(floor_plan, trolley_positions, map_downsampling_factor_, goal->robot_radius, goal->map_resolution, (int) optimal_trolley_start_position); + } + + // 4. determine optimal sequence of rooms with each clique (solve TSP problem) + // a) find start point for each clique closest to the trolley position + // b) create a vector< vector > to fill the groups into the TSP solver + // c) solve the TSP for each clique + + + //fill vector of cv::Point for TSP solver + for(size_t i=0; i current_clique; + for(size_t j=0; j clique_starting_points(cliques.size()); + for(size_t i=0; irobot_radius, goal->map_resolution); + //solve TSPs + std::vector< std::vector > optimal_room_sequences(cliques.size()); + // Create the TSP solver objects two times and not one time for the whole function because by this way only two objects has to be + // created and else three + if(tsp_solver_ == TSP_NEAREST_NEIGHBOR) //nearest neighbor TSP solver + { + NearestNeighborTSPSolver nearest_neighbor_tsp_solver; + for(size_t i=0; irobot_radius, goal->map_resolution, clique_starting_points[i]); + std::cout << "done one clique" << std::endl; + } + } + if(tsp_solver_ == TSP_GENETIC) //genetic TSP solver + { + GeneticTSPSolver genetic_tsp_solver; + for(size_t i=0; irobot_radius, goal->map_resolution, clique_starting_points[i]); + std::cout << "done one clique" << std::endl; + } + } + if(tsp_solver_ == TSP_CONCORDE) //concorde TSP solver + { + ConcordeTSPSolver concorde_tsp_solver; + for(size_t i=0; irobot_radius, goal->map_resolution, clique_starting_points[i]); + std::cout << "done one clique" << std::endl; + } + } + + if(return_sequence_map_ == true) + { + cv::cvtColor(floor_plan, display, CV_GRAY2BGR); + + for (size_t t=0; t0) + { +#if CV_MAJOR_VERSION<=3 + cv::circle(display, trolley_positions[ot], 5, CV_RGB(0,0,255), CV_FILLED); +#else + cv::circle(display, trolley_positions[ot], 5, CV_RGB(0,0,255), cv::FILLED); +#endif + cv::line(display, trolley_positions[ot], trolley_positions[optimal_trolley_sequence[t-1]], CV_RGB(128,128,255), 1); + } + else + { +#if CV_MAJOR_VERSION<=3 + cv::circle(display, trolley_positions[ot], 5, CV_RGB(255,0,0), CV_FILLED); +#else + cv::circle(display, trolley_positions[ot], 5, CV_RGB(255,0,0), cv::FILLED); +#endif + } + + // room positions and connections + for (size_t r=0; r > new_cliques_order(cliques.size()); + std::vector new_trolley_positions(trolley_positions.size()); + for (size_t i=0; i room_sequences(cliques.size()); + for(size_t i=0; imap_resolution, map_origin); + room_sequences[i].checkpoint_position_in_meter.y = convert_pixel_to_meter_for_y_coordinate(trolley_positions[i].y, goal->map_resolution, map_origin); + room_sequences[i].checkpoint_position_in_meter.z = 0.; + } + action_result.checkpoints = room_sequences; + if(return_sequence_map_ == true) + { + //converting the cv format in map msg format + cv_bridge::CvImage cv_image; + cv_image.header.stamp = ros::Time::now(); + cv_image.encoding = "bgr8"; + cv_image.image = display; + cv_image.toImageMsg(action_result.sequence_map); + } + + // publish visualization msg for RViz + publishSequenceVisualization(room_sequences, room_centers, cliques, goal->map_resolution, cv::Point2d(goal->map_origin.position.x, goal->map_origin.position.y)); + + room_sequence_with_checkpoints_server_.setSucceeded(action_result); + + //garbage collection + action_result.checkpoints.clear(); + + ROS_INFO("********Sequence planning finished************"); +} + +size_t RoomSequencePlanningServer::getNearestLocation(const cv::Mat& floor_plan, const cv::Point start_coordinate, const std::vector& positions, + const double map_downsampling_factor, const double robot_radius, const double map_resolution) +{ +// const double one_by_downsampling_factor = 1./map_downsampling_factor; + cv::Mat downsampled_map; + AStarPlanner a_star_path_planner; + a_star_path_planner.downsampleMap(floor_plan, downsampled_map, map_downsampling_factor, robot_radius, map_resolution); + //find nearest trolley position as start point for TSP + double min_dist = 1e10; + size_t nearest_position = 0; +// const cv::Point start_point = map_downsampling_factor * start_coordinate; + for (size_t i=0; i& room_sequences, const std::vector& room_centers, + std::vector< std::vector >& cliques, const double map_resolution, const cv::Point2d& map_origin) +{ + room_sequence_visualization_msg_.markers.clear(); + + // publish clique centers + int room_count = 0; + for (size_t i=0; i0) + { + visualization_msgs::Marker arrow; + // Set the frame ID and timestamp. See the TF tutorials for information on these. + arrow.header.frame_id = "/map"; + arrow.header.stamp = ros::Time::now(); + // Set the namespace and id for this marker. This serves to create a unique ID + // Any marker sent with the same namespace and id will overwrite the old one + arrow.ns = "room_sequence_checkpoints"; + arrow.id = 2*room_sequences.size()+i; + // Set the marker type. Initially this is CUBE, and cycles between that and SPHERE, ARROW, and CYLINDER + arrow.type = visualization_msgs::Marker::ARROW; + // Set the marker action. Options are ADD, DELETE, and new in ROS Indigo: 3 (DELETEALL) + arrow.action = visualization_msgs::Marker::ADD; + // Set the pose of the marker. This is a full 6DOF pose relative to the frame/time specified in the header + arrow.pose.position.x = 0; + arrow.pose.position.y = 0; + arrow.pose.position.z = 0; + arrow.pose.orientation.x = 0.0; + arrow.pose.orientation.y = 0.0; + arrow.pose.orientation.z = 0.0; + arrow.pose.orientation.w = 1.0; + arrow.points.resize(2); + arrow.points[0].x = room_sequences[i-1].checkpoint_position_in_meter.x; + arrow.points[0].y = room_sequences[i-1].checkpoint_position_in_meter.y; + arrow.points[0].z = room_sequences[i-1].checkpoint_position_in_meter.z; + arrow.points[1].x = room_sequences[i].checkpoint_position_in_meter.x; + arrow.points[1].y = room_sequences[i].checkpoint_position_in_meter.y; + arrow.points[1].z = room_sequences[i].checkpoint_position_in_meter.z; + // Set the scale of the marker -- 1x1x1 here means 1m on a side + arrow.scale.x = 0.03; // this is the line width + arrow.scale.y = 0.06; + arrow.scale.z = 0.1; + // Set the color -- be sure to set alpha to something non-zero! + arrow.color.r = 1.0f; + arrow.color.g = 1.0f; + arrow.color.b = 0.0f; + arrow.color.a = 0.8; + arrow.lifetime = ros::Duration(); + room_sequence_visualization_msg_.markers.push_back(arrow); + } + room_count += room_sequences[i].room_indices.size(); + } + + // publish room centers + int room_index = 0; + for (size_t i=0; i +#include + +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + + +struct EvaluationConfig +{ + int room_segmentation_algorithm_; // this variable selects the algorithm for room segmentation + // 1 = morphological segmentation + // 2 = distance segmentation + // 3 = Voronoi segmentation + // 4 = semantic segmentation + // 5 = Voronoi random field segmentation + double max_clique_path_length_; // max A* path length between two rooms that are assigned to the same clique, in [m] + int sequence_planning_method_; // Method for sequence planning + // 1 = drag trolley if next room is too far away + // 2 = calculate roomgroups and a trolleyposition for each of it + int tsp_solver_; // TSP solver that is used + // TSP_NEAREST_NEIGHBOR=1 = Nearest Neighbor + // TSP_GENETIC=2 = Genetic solver + // TSP_CONCORDE=3 = Concorde solver + int trashbins_per_trolley_; // variable that shows how many trashbins can be emptied into one trolley + + EvaluationConfig() + { + room_segmentation_algorithm_ = 1; + max_clique_path_length_ = 12.0; + sequence_planning_method_ = 2; + tsp_solver_ = TSP_CONCORDE; + trashbins_per_trolley_ = 9001; + } + + EvaluationConfig(const int room_segmentation_algorithm, const double max_clique_path_length, const int sequence_planning_method, const int tsp_solver) + { + room_segmentation_algorithm_ = room_segmentation_algorithm; + max_clique_path_length_ = max_clique_path_length; + sequence_planning_method_ = sequence_planning_method; + tsp_solver_ = tsp_solver; + trashbins_per_trolley_ = 9001; + } + + EvaluationConfig(const int room_segmentation_algorithm, const double max_clique_path_length, const int sequence_planning_method, const int tsp_solver, const double trashbins_per_trolley) + { + room_segmentation_algorithm_ = room_segmentation_algorithm; + max_clique_path_length_ = max_clique_path_length; + sequence_planning_method_ = sequence_planning_method; + tsp_solver_ = tsp_solver; + trashbins_per_trolley_ = trashbins_per_trolley; + } + + std::string generateUpperConfigurationFolderString() const + { + std::stringstream ss; + ss << "plmth" << sequence_planning_method_ << "mcl" << std::setprecision(4) << max_clique_path_length_; + + return ss.str(); + } + + std::string generateLowerConfigurationFolderString() const + { + std::stringstream ss; + ss << "seg" << room_segmentation_algorithm_ << "tsp" << tsp_solver_; + return ss.str(); + } + + std::string getConfigurationString() const + { + std::stringstream ss; + ss << "\n==================================================================================================\n" << + "Configuration " << generateUpperConfigurationFolderString() << generateLowerConfigurationFolderString() << "\n" << + "==================================================================================================\n" << + "room_segmentation_algorithm: " << roomSegmentationAlgorithmToString() << " (" << room_segmentation_algorithm_ << ")\n" << + "max_clique_path_length [m]: " << max_clique_path_length_ << + "\n" << std::endl; + + return ss.str(); + } + + std::string roomSegmentationAlgorithmToString() const + { + std::string s = ""; + if (room_segmentation_algorithm_ == 1) + s = "morphological segmentation"; + else if (room_segmentation_algorithm_ == 2) + s = "distance segmentation"; + else if (room_segmentation_algorithm_ == 3) + s = "Voronoi segmentation"; + else if (room_segmentation_algorithm_ == 4) + s = "semantic segmentation"; + else if (room_segmentation_algorithm_ == 5) + s = "Voronoi random field segmentation"; + return s; + } +}; + +struct EvaluationData +{ + std::string map_name_; // without file type + cv::Mat floor_plan_; + double map_downsampling_factor_; + float map_resolution_; + geometry_msgs::Pose map_origin_; + geometry_msgs::Pose robot_start_position_; + double robot_radius_; + std::vector< cv::Point > trash_bin_locations_; + cv::Point central_trolley_park_; + + EvaluationData() + { + map_name_ = ""; + floor_plan_ = cv::Mat(); + map_downsampling_factor_ = 0.25; + map_resolution_ = 0.05; + robot_radius_ = 0.3; + } + + EvaluationData(const std::string& map_name, const cv::Mat& floor_plan, const float map_resolution, const double map_downsampling_factor, + const double robot_radius, const std::vector< cv::Point >& trash_bin_locations, const cv::Point trolley_park_position = cv::Point(-1, -1)) + { + map_name_ = map_name; + floor_plan_ = floor_plan; + map_downsampling_factor_ = map_downsampling_factor; + map_resolution_ = map_resolution; + map_origin_.position.x = 0; + map_origin_.position.y = 0; + robot_radius_ = robot_radius; + trash_bin_locations_ = trash_bin_locations; + cv::Mat map_eroded; + cv::erode(floor_plan_, map_eroded, cv::Mat(), cv::Point(-1,-1), robot_radius_/map_resolution_+2); + cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 + cv::distanceTransform(map_eroded, distance_map, CV_DIST_L2, 5); + cv::convertScaleAbs(distance_map, distance_map); // conversion to 8 bit image + bool robot_start_coordinate_set = false; + for (int v=0; v(v,u) != 0 && distance_map.at(v,u) > 20) // todo: parameter + { + robot_start_position_.position.x = u*map_resolution_ + map_origin_.position.x; + robot_start_position_.position.y = v*map_resolution_ + map_origin_.position.y; + robot_start_coordinate_set = true; + } + central_trolley_park_ = trolley_park_position; + } +}; + +struct StatisticsItem +{ + double robot_speed_without_trolley; // in [m/s] + double robot_speed_with_trolley; // in [m/s] + double time_for_trashbin_manipulation; // in [s] + double time_for_trolley_manipulation; // in [s] + int number_trash_bins; + int number_trolley_movements; + double path_length_robot; // in [m] + double path_length_trolley; // in [m] + double path_length_trash_bins; // in [m] + double pathlength; // in [m] + double cleaning_time; // in [s] + double calculation_time_segmentation; // in [s] + double calculation_time_sequencer; // in [s] + double human_way; // in [m] + + StatisticsItem() + { + robot_speed_without_trolley=0.; // in [m/s] + robot_speed_with_trolley=0.; // in [m/s] + time_for_trashbin_manipulation=0.; // in [s] + time_for_trolley_manipulation=0.; // in [s] + number_trash_bins=0; + number_trolley_movements=0; + path_length_robot=0.; // in [m] + path_length_trolley=0.; // in [m] + path_length_trash_bins=0.; // in [m] + pathlength=1e10; // in [m] + cleaning_time=1e10; // in [s] + calculation_time_segmentation=0.; // in [s] + calculation_time_sequencer=0.; + human_way=0.; + } +}; + +class Evaluation +{ +public: + + // to segment the map only once for each segmentation algorithm + ipa_building_msgs::MapSegmentationResultConstPtr result_seg_morph; + bool segmented_morph; + ipa_building_msgs::MapSegmentationResultConstPtr result_seg_dist; + bool segmented_dist; + ipa_building_msgs::MapSegmentationResultConstPtr result_seg_vor; + bool segmented_vor; + ipa_building_msgs::MapSegmentationResultConstPtr result_seg_semant; + bool segmented_semant; + ipa_building_msgs::MapSegmentationResultConstPtr result_seg_vrf; + bool segmented_vrf; + + Evaluation(ros::NodeHandle& nh, const std::string& test_map_path, const std::string& data_storage_path, const double robot_radius) + : node_handle_(nh), robot_radius_(robot_radius) + { + segmented_morph = false; + segmented_dist = false; + segmented_vor = false; + segmented_semant = false; + segmented_vrf = false; + // prepare relevant floor map data +// std::vector map_names; +//// map_names.push_back("lab_ipa"); // done +//// map_names.push_back("Freiburg52_scan"); //done +//// map_names.push_back("Freiburg79_scan"); //done +//// map_names.push_back("lab_c_scan"); //done +//// map_names.push_back("lab_b_scan"); //done +//// map_names.push_back("lab_d_scan"); //done +//// map_names.push_back("lab_intel"); //done +//// map_names.push_back("Freiburg101_scan"); //done +//// map_names.push_back("lab_a_scan"); //done +// map_names.push_back("lab_f_scan"); //done +//// map_names.push_back("NLB"); //done + + //with obstacles: +// "Freiburg52_scan_furnitures_trashbins" +// map_names.push_back("lab_ipa_furnitures"); + + std::vector< std::string > map_names; + map_names.push_back("lab_ipa"); + map_names.push_back("lab_c_scan"); + map_names.push_back("Freiburg52_scan"); + map_names.push_back("Freiburg79_scan"); + map_names.push_back("lab_b_scan"); + map_names.push_back("lab_intel"); + map_names.push_back("Freiburg101_scan"); + map_names.push_back("lab_d_scan"); + map_names.push_back("lab_f_scan"); + map_names.push_back("lab_a_scan"); + map_names.push_back("NLB"); + map_names.push_back("office_a"); + map_names.push_back("office_b"); + map_names.push_back("office_c"); + map_names.push_back("office_d"); + map_names.push_back("office_e"); + map_names.push_back("office_f"); + map_names.push_back("office_g"); + map_names.push_back("office_h"); + map_names.push_back("office_i"); + map_names.push_back("lab_ipa_furnitures"); + map_names.push_back("lab_c_scan_furnitures"); + map_names.push_back("Freiburg52_scan_furnitures"); + map_names.push_back("Freiburg79_scan_furnitures"); + map_names.push_back("lab_b_scan_furnitures"); + map_names.push_back("lab_intel_furnitures"); + map_names.push_back("Freiburg101_scan_furnitures"); + map_names.push_back("lab_d_scan_furnitures"); + map_names.push_back("lab_f_scan_furnitures"); + map_names.push_back("lab_a_scan_furnitures"); + map_names.push_back("NLB_furnitures"); + map_names.push_back("office_a_furnitures"); + map_names.push_back("office_b_furnitures"); + map_names.push_back("office_c_furnitures"); + map_names.push_back("office_d_furnitures"); + map_names.push_back("office_e_furnitures"); + map_names.push_back("office_f_furnitures"); + map_names.push_back("office_g_furnitures"); + map_names.push_back("office_h_furnitures"); + map_names.push_back("office_i_furnitures"); + + + // prepare image data for evaluation + for (size_t image_index = 0; image_index(y, x) > 250) + { + map.at(y, x) = 255; + } + else //if (map.at(y, x) != 255) + { + map.at(y, x) = 0; + } + } + } + + // read in trash bin locations + std::string map_name_basic = map_names[image_index]; + std::size_t pos = map_names[image_index].find("_furnitures"); + if (pos != std::string::npos) + map_name_basic = map_names[image_index].substr(0, pos); + image_filename = test_map_path + map_name_basic + "_trashbins.png"; + cv::Mat temp = cv::imread(image_filename.c_str()); + cv::Vec3b blue(255, 0, 0); + cv::Vec3b red(0, 0, 255); + double map_resoultion_for_evaluation = 0.05; + int number_of_erosions = (robot_radius_ / map_resoultion_for_evaluation); + cv::Mat eroded_map; + cv::erode(map, eroded_map, cv::Mat(), cv::Point(-1,-1), number_of_erosions); + std::vector< cv::Point > trash_bin_locations; + cv::Point central_trolley_park; + for (int y = 0; y < temp.rows; y++) + { + for (int x = 0; x < temp.cols; x++) + { + //find blue drawn trash bins and check if they are reachable (if one is not reachable the a star planner will give an extremely large path) + if (temp.at(y, x) == blue && eroded_map.at(y, x) != 0) + { + trash_bin_locations.push_back(cv::Point(x,y)); + std::cout << "trash: " << x << ", " << y << std::endl; + } + //find red drawn trolley park and check if they are reachable (if one is not reachable the a star planner will give an extremely large path) + if (temp.at(y, x) == red && eroded_map.at(y, x) != 0) + { + central_trolley_park = cv::Point(x, y); + std::cout << "trolley park: " << x << ", " << y << std::endl; + } + } + } + //give occupied memory free + temp.release(); + eroded_map.release(); + +// +"_furnitures_trashbins" +// evaluation_data_.push_back(EvaluationData(map_names[image_index], map, map_resoultion_for_evaluation, 0.25, robot_radius_, trash_bin_locations)); + evaluation_data_.push_back(EvaluationData(map_names[image_index], map, map_resoultion_for_evaluation, 0.25, robot_radius_, trash_bin_locations, central_trolley_park)); + } + + // set configurations + std::vector evaluation_configurations; + setConfigurations(evaluation_configurations); + + // do the evaluation + std::string bugfile = data_storage_path + "bugfile.txt"; + std::ofstream failed_maps(bugfile.c_str(), std::ios::out); + if(failed_maps.is_open()) + failed_maps << "maps that had a bug during the simulation and couldn't be finished: " << std::endl; + for (size_t i=0; i > results; // maps from [map_name]->StatisticsItems[evaluation_configurations.size()] + readFromLocalFiles(evaluation_configurations, map_names, data_storage_path, results); + + //write the calculated values to global saving files + writeGlobalStatistics(evaluation_configurations, map_names, data_storage_path, results); +// writeToGlobalFiles(map_names, data_storage_path, map_pathlengths, map_cleaning_times, sequence_solver_times); + } + + //function to read the saved results out of the files + void readFromLocalFiles(const std::vector& evaluation_configurations, const std::vector& map_names, const std::string& data_storage_path, + std::map >& results) + { + for (size_t i=0; i> stats.robot_speed_without_trolley; // in [m/s] + iss >> stats.robot_speed_with_trolley; // in [m/s] + iss >> stats.time_for_trashbin_manipulation; // in [s] + iss >> stats.time_for_trolley_manipulation; // in [s] + iss >> stats.number_trash_bins; + iss >> stats.number_trolley_movements; + iss >> stats.path_length_robot; // in [m] + iss >> stats.path_length_trolley; // in [m] + iss >> stats.path_length_trash_bins; // in [m] + iss >> stats.pathlength; // in [m] + iss >> stats.cleaning_time; // in [s] + iss >> stats.calculation_time_segmentation; // in [s] + iss >> stats.calculation_time_sequencer; // in [s] + reading_file.close(); + } + else + { + std::cout << "missing data: " << log_filename << std::endl; + } + + std::string human_filename = data_storage_path + "human_way/" + upper_folder_name + lower_folder_name + map_names[map_index] + "_human.txt"; + std::ifstream human_file(human_filename.c_str()); + + if(human_file.is_open()) + { + std::string line; + getline(human_file, line); // first line is text + getline(human_file, line); + std::istringstream iss(line); + iss >> stats.human_way; // in [m] + human_file.close(); + } + results[map_names[map_index]].push_back(stats); + } + } + } + + void writeGlobalStatistics(const std::vector& evaluation_configurations, const std::vector& map_names, const std::string& data_storage_path, + std::map >& results) + { + //define the storage path for each planning method + const std::string path = data_storage_path + "global/"; + const std::string upper_command = "mkdir -p " + path; + int return_value = system(upper_command.c_str()); + + // prepare files for different evaluation criteria + std::vector filenames; + filenames.push_back("pathlength"); + filenames.push_back("cleaning_time"); + filenames.push_back("number_trash_bins"); + filenames.push_back("number_trolley_movements"); + filenames.push_back("calculation_time_segmentation"); + filenames.push_back("calculation_time_sequencer"); + filenames.push_back("path_length_robot"); + filenames.push_back("path_length_trolley"); + filenames.push_back("path_length_trash_bins"); + filenames.push_back("human_way"); + + for (std::vector::iterator it_filename=filenames.begin(); it_filename!=filenames.end(); ++it_filename) + { + // collect column data + std::set max_clique_lengths; + for (size_t i=0; i > output_matrix(1+data_columns); // [column index][row index] ! + for (size_t i=0; i::const_iterator it=map_names.begin(); it!=map_names.end(); it++) + { + // prepare first column of output + output_matrix[0][0] = *it; + int r=1; + for (std::set::iterator mcl_it = max_clique_lengths.begin(); mcl_it != max_clique_lengths.end(); mcl_it++, r++) + { + std::stringstream ss; + ss << "mcl" << *mcl_it; + output_matrix[0][r] = ss.str(); + } + + // write remaining columns of output + for (int i=0; icompare("pathlength") == 0) + sss << results[*it][base_index+k].pathlength; + else if (it_filename->compare("cleaning_time") == 0) + sss << results[*it][base_index+k].cleaning_time; + else if (it_filename->compare("number_trash_bins") == 0) + sss << results[*it][base_index+k].number_trash_bins; + else if (it_filename->compare("number_trolley_movements") == 0) + sss << results[*it][base_index+k].number_trolley_movements; + else if (it_filename->compare("calculation_time_segmentation") == 0) + sss << results[*it][base_index+k].calculation_time_segmentation; + else if (it_filename->compare("calculation_time_sequencer") == 0) + sss << results[*it][base_index+k].calculation_time_sequencer; + else if (it_filename->compare("path_length_robot") == 0) + sss << results[*it][base_index+k].path_length_robot; + else if (it_filename->compare("path_length_trolley") == 0) + sss << results[*it][base_index+k].path_length_trolley; + else if (it_filename->compare("path_length_trash_bins") == 0) + sss << results[*it][base_index+k].path_length_trash_bins; + else if (it_filename->compare("human_way") == 0) + sss << results[*it][base_index+k].human_way; + output_matrix[1+i][1+k] = sss.str(); + } + } + // write output string + for (size_t row=0; row& map_names, const std::string& data_storage_path, const std::vector >& map_pathlengths, + const std::vector >& map_cleaning_times, const std::vector >& sequence_solver_times) + { + + //save the saved parameters in a saving file for each map + + //define the storage path for each planning method + std::stringstream ss; + ss << "global"; + const std::string upper_folder_name = ss.str() + "/"; + const std::string path = data_storage_path + upper_folder_name; + const std::string upper_command = "mkdir -p " + path; + int return_value = system(upper_command.c_str()); + + const std::string cleaning_time_folder = "cleaningtime/"; + std::string lower_command = "mkdir -p " + path + cleaning_time_folder; + return_value = system(lower_command.c_str()); + const std::string path_length_folder = "pathlengths/"; + lower_command = "mkdir -p " + path + path_length_folder; + return_value = system(lower_command.c_str()); + const std::string computation_time_folder = "comp_time/"; + lower_command = "mkdir -p " + path + computation_time_folder; + return_value = system(lower_command.c_str()); + + // outputs to log file + std::stringstream distance_output[map_names.size()]; + std::stringstream cleaning_time_output[map_names.size()]; + std::stringstream sequence_time_output[map_names.size()]; + + + //define values to show how much different algorithms has been implemented + double max_clique_path_length = 4.0; + int number_of_cliquelenghts = 8; + int number_of_segmentation_algorithms = 5; + int number_of_tsp_solver = 3; + for(size_t i = 0; i < map_names.size(); ++i) + { + distance_output[i] << "\t" << "Nachziehmethode" << "\t" << "\t" << "Trolley-Gruppen" << std::endl + << "max. Fahrdistanz" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << std::endl; + cleaning_time_output[i] << "\t" << "\t" << "Nachziehmethode" << "\t" << "\t" << "Trolley-Gruppen" << std::endl + << "max. Fahrdistanz" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << std::endl; + sequence_time_output[i] << "\t" << "\t" << "Nachziehmethode" << "\t" << "\t" << "Trolley-Gruppen" << std::endl + << "max. Fahrdistanz" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << "\t" << "nearest" << "\t" << "genetic" << "\t" << "concorde" << std::endl; + } + for (int max_length = 0; max_length < number_of_cliquelenghts; ++max_length) + { + max_clique_path_length += 2.0; + + int start = number_of_segmentation_algorithms * number_of_tsp_solver * max_length; + + for(size_t map = 0; map < map_names.size(); ++map) + { + //show which maximal clique pathlength this is + distance_output[map] << std::endl << max_clique_path_length; + cleaning_time_output[map] << std::endl << max_clique_path_length; + sequence_time_output[map] << std::endl << max_clique_path_length; + // header + for(size_t segmentation = 0; segmentation < number_of_segmentation_algorithms; ++segmentation) + { + if(segmentation > 0) + { + distance_output[map] << 0; + cleaning_time_output[map] << 0; + sequence_time_output[map] << 0; + } + for(int sequence_planning_method = 0; sequence_planning_method < 2; ++sequence_planning_method) + { + int plmth_start = start + number_of_segmentation_algorithms * number_of_tsp_solver * number_of_cliquelenghts * sequence_planning_method; + int index = plmth_start + number_of_tsp_solver * segmentation; + for(size_t reading_index = index; reading_index < index+number_of_tsp_solver; ++reading_index) + { + distance_output[map] << " " << map_pathlengths[map][reading_index] ; + cleaning_time_output[map] << " " << map_cleaning_times[map][reading_index]; + sequence_time_output[map] << " " << sequence_solver_times[map][reading_index]; + } + } + + distance_output[map] << std::endl; + cleaning_time_output[map] << std::endl; + sequence_time_output[map] << std::endl; + } + } + } + //write saved parameters to global file + for(size_t map = 0; map < map_names.size(); ++map) + { + std::string pathlength_filename = path + path_length_folder + map_names[map] + "_pathlengths.txt"; + std::ofstream pathlength_file(pathlength_filename.c_str(), std::ios::out); + if (pathlength_file.is_open()==true) + pathlength_file << distance_output[map].str(); + pathlength_file.close(); + + std::string cleaningtime_filename = path + cleaning_time_folder + map_names[map] + "_cleaningtimes.txt"; + std::ofstream cleaningtime_file(cleaningtime_filename.c_str(), std::ios::out); + if (cleaningtime_file.is_open()==true) + cleaningtime_file << cleaning_time_output[map].str(); + cleaningtime_file.close(); + + std::string sequencetime_filename = path + computation_time_folder + map_names[map] + "_sequencetimes.txt"; + std::ofstream sequencetime_file(sequencetime_filename.c_str(), std::ios::out); + if (sequencetime_file.is_open()==true) + sequencetime_file << sequence_time_output[map].str(); + sequencetime_file.close(); + + } + } + + void setConfigurations(std::vector< EvaluationConfig >& evaluation_configurations) + { + evaluation_configurations.clear(); + for (int room_segmentation_algorithm=1; room_segmentation_algorithm<=5; ++room_segmentation_algorithm) + { + for(int sequence_planning_method = 2; sequence_planning_method <= 2; ++sequence_planning_method) + { + for(int tsp_solver = 1; tsp_solver <= 3; ++tsp_solver) + { + cv::Mat max_clique_lengths = (cv::Mat_(1,11) << 6., 8., 10., 12., 14., 16., 18., 20., 25., 30., 50.); + //for (double max_clique_path_length = 20.; max_clique_path_length <= 20.; max_clique_path_length += 2.0) + for (int i=0; i(0,i), sequence_planning_method, tsp_solver, 10)); + } + } + } + } + + bool evaluateAllConfigs0815(const std::vector& evaluation_configuration_vector, const EvaluationData& evaluation_data, const std::string& data_storage_path) + { + // go through each configuration for the given map + for(size_t config = 0; config < evaluation_configuration_vector.size(); ++config) + { + // prepare folders for storing results + const std::string upper_folder_name = evaluation_configuration_vector[config].generateUpperConfigurationFolderString() + "/"; + const std::string path = data_storage_path + upper_folder_name; + const std::string upper_command = "mkdir -p " + path; + int return_value = system(upper_command.c_str()); + + const std::string lower_folder_name = evaluation_configuration_vector[config].generateLowerConfigurationFolderString() + "/"; + const std::string lower_path = path + lower_folder_name; + const std::string lower_command = "mkdir -p " + lower_path; + return_value = system(lower_command.c_str()); + + std::cout << "\nCurrent Configuration:" << std::endl << "map: " << evaluation_data.map_name_ << "\tsegmentation algorithm: " + << evaluation_configuration_vector[config].room_segmentation_algorithm_ + << "\tplanning method: " << evaluation_configuration_vector[config].sequence_planning_method_ + << "\tTSP solver: " << evaluation_configuration_vector[config].tsp_solver_ + << "\tmaximal clique length: " << evaluation_configuration_vector[config].max_clique_path_length_ << std::endl; + + AStarPlanner planner; + //variables for time measurement + struct timespec t0, t1, t2, t3; + + // 1. retrieve segmentation and check if the map has already been segmented + ipa_building_msgs::MapSegmentationResultConstPtr result_seg; + clock_gettime(CLOCK_MONOTONIC, &t0); //set time stamp before the segmentation + if(evaluation_configuration_vector[config].room_segmentation_algorithm_ == 1) + { + if(segmented_morph == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_morph, t0) == false) + return false; + segmented_morph = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_morph; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 2) + { + if(segmented_dist == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_dist, t0) == false) + return false; + segmented_dist = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_dist; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 3) + { + if(segmented_vor == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vor, t0) == false) + return false; + segmented_vor = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_vor; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 4) + { + if(segmented_semant == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_semant, t0) == false) + return false; + segmented_semant = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_semant; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 5) + { + if(segmented_vrf == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vrf, t0) == false) + return false; + segmented_vrf = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_vrf; + } + clock_gettime(CLOCK_MONOTONIC, &t1); //set time stamp after the segmentation + std::cout << "Segmentation computed " << result_seg->room_information_in_pixel.size() << " rooms." << std::endl; + + //check for accessibility of the room centers from start position + cv::Mat downsampled_map; + Timer tim; + planner.downsampleMap(evaluation_data.floor_plan_, downsampled_map, evaluation_data.map_downsampling_factor_, evaluation_data.robot_radius_, evaluation_data.map_resolution_); + std::cout << "downsampling map: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; + cv::Point robot_start_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, + (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); + + // get the reachable room centers as cv::Point + tim.start(); + std::cout << "Starting to check accessibility of rooms. Start position: " << robot_start_position << std::endl; + std::vector room_centers; + for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) + { + cv::Point current_center(result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); + double length = planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_start_position, current_center, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_); + if(length < 1e9) + room_centers.push_back(current_center); + else + std::cout << "room " << i << " not accessible, center: " << current_center << std::endl; + } + std::cout << "room centers computed: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; + std::cout << "Number of accessible room centers: " << room_centers.size() << std::endl; + + if(room_centers.size() == 0) //no room center is reachable for the given start position --> needs to be looked at separately + { + std::cout << "++++++++++ no roomcenter reachable from given startposition ++++++++++++" << std::endl; + return false; + } + + // 2. solve sequence problem + std::cout << "Starting to solve sequence problem." << std::endl; + tim.start(); + ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_seq; + clock_gettime(CLOCK_MONOTONIC, &t2); //set time stamp before the sequence planning + if (computeRoomSequence(evaluation_data, evaluation_configuration_vector[config], room_centers, result_seq, t2) == false) + { + std::cout << "++++++++++ computeRoomSequence failed ++++++++++++" << std::endl; + return false; + } + std::cout << "sequence problem solved: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; + clock_gettime(CLOCK_MONOTONIC, &t3); //set time stamp after the sequence planning + + // 3. assign trash bins to rooms of the respective segmentation + std::vector< std::vector > room_trash_bins(result_seg->room_information_in_pixel.size()); + // converting the map msg in cv format + cv_bridge::CvImagePtr cv_ptr_obj; + cv_ptr_obj = cv_bridge::toCvCopy(result_seg->segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); + cv::Mat segmented_map = cv_ptr_obj->image; + for (size_t i=0; i(evaluation_data.trash_bin_locations_[i]); //labeling started from 1 --> 0 is for obstacles + int room_index = -1; + for (size_t r=0; r(room_centers[r]) == trash_bin_index) + { + room_index = r; + break; + } + } + if (room_index != -1) + { + room_trash_bins[room_index].push_back(evaluation_data.trash_bin_locations_[i]); + std::cout << "trash bin " << evaluation_data.trash_bin_locations_[i] << " at room center[" << room_index << "] " << room_centers[room_index] << std::endl; + } + else + std::cout << "########## trash bin " << evaluation_data.trash_bin_locations_[i] << " does not match any room." << std::endl; + } + + // 4. do the movements + cv::Mat draw_path_map, draw_path_map2; + cv::cvtColor(evaluation_data.floor_plan_, draw_path_map, CV_GRAY2BGR); + draw_path_map2 = draw_path_map.clone(); + double path_length_robot = 0.; + double path_length_trolley = 0.; + double path_length_trash_bins = 0.; +// const double max_clique_path_length_in_pixel = evaluation_configuration.max_clique_path_length_ / evaluation_data.map_resolution_; + cv::Point robot_position = robot_start_position; + cv::Point trolley_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, + (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); + cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); + cv::circle(draw_path_map, trolley_position, 5, CV_RGB(0,0,255), -1); + cv::circle(draw_path_map2, trolley_position, 5, CV_RGB(0,0,255), -1); + + std::stringstream screenoutput; + for (size_t clique_index = 0; clique_indexcheckpoints.size(); ++clique_index) + { + std::cout << "cleaning new clique" << std::endl; screenoutput << "cleaning new clique" << std::endl; + // move trolley + // i) robot to trolley + path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + // ii) trolley to next trolley goal + cv::Point trolley_goal_position(result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.x, result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.y); + path_length_trolley += planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, trolley_goal_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + trolley_position = trolley_goal_position; + robot_position = trolley_goal_position; + cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); + cv::circle(draw_path_map, trolley_position, 5, CV_RGB(0,0,255), -1); + cv::circle(draw_path_map2, trolley_position, 5, CV_RGB(0,0,255), -1); + std::cout << "moved trolley to " << trolley_position << std::endl; screenoutput << "moved trolley to " << trolley_position << std::endl; + + // move robot to rooms + for(size_t room = 0; room < result_seq->checkpoints[clique_index].room_indices.size(); ++room) + { + // get next room in sequence + const int room_index = result_seq->checkpoints[clique_index].room_indices[room]; + cv::Point current_roomcenter = room_centers[room_index]; + // drive to next room + path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, current_roomcenter, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + robot_position = current_roomcenter; + cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); + // clear all trash bins: go to trash bin, go back to trolley to empty trash and then drive back to trash bin + std::cout << " arrived in room " << current_roomcenter << "\n starting to clean the trash bins" << std::endl; screenoutput << " arrived in room " << current_roomcenter << "\n starting to clean the trash bins" << std::endl; + ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_trash_bin_seq; + std::vector trash_bin_sequence_in_this_room; + if (room_trash_bins[room_index].size()>1 && computeTrashBinSequence(evaluation_data, evaluation_configuration_vector[config], room_trash_bins[room_index], robot_position, result_trash_bin_seq) == true) + { + for (size_t cc=0; cccheckpoints.size(); ++cc) + for (size_t tt = 0; tt < result_trash_bin_seq->checkpoints[cc].room_indices.size(); ++tt) + trash_bin_sequence_in_this_room.push_back(room_trash_bins[room_index][result_trash_bin_seq->checkpoints[cc].room_indices[tt]]); + } + else + { + trash_bin_sequence_in_this_room = room_trash_bins[room_index]; + } + for (size_t t=0; tcheckpoints.size()+1); + + //get the runtimes for the segmentation and the sequence planner + double segmentation_time = (t1.tv_sec - t0.tv_sec) + (double) (t1.tv_nsec - t0.tv_nsec) * 1e-9; + double sequence_time = (t3.tv_sec - t2.tv_sec) + (double) (t3.tv_nsec - t2.tv_nsec) * 1e-9; + + // write log file + std::stringstream output; + // header + output << evaluation_configuration_vector[config].getConfigurationString(); + output << "robot_speed_without_trolley" << "\t" << "robot_speed_with_trolley" << "\t" << "time_for_trashbin_manipulation" << "\t" + << "time_for_trolley_manipulation" << "\t" << "number_of_trash_bins" << "\t" << "number_trolley_movements" << "\t" + << "path_length_robot_in_meter" << "\t" << "path_length_trolley_in_meter" << "\t" << "path_length_trash_bins_in_meter\t" + << "pathlength [m]" << "\t" + << "cleaning time [s]" << "\t" << "calculation time segmentation [s]" << "\t" << "calculation time sequencer [s]" << "\t" << std::endl; + output << robot_speed_without_trolley << "\t" << robot_speed_with_trolley << "\t" << time_for_trashbin_manipulation << "\t" << time_for_trolley_manipulation << "\t" + << evaluation_data.trash_bin_locations_.size() << "\t" + << (result_seq->checkpoints.size()+1) << "\t" << path_length_robot_in_meter << "\t" << path_length_trolley_in_meter << "\t" << path_length_trash_bins_in_meter << "\t" + << path_length_total_in_meter << "\t" + << time << "\t" << segmentation_time << "\t" << sequence_time; + output << "\n\n\n" << screenoutput.str() << std::endl; + + std::string log_filename = lower_path + evaluation_data.map_name_ + "_results.txt"; + std::ofstream file(log_filename.c_str(), std::ios::out); + if (file.is_open()==true) + file << output.str(); + else + ROS_ERROR("Error on writing file '%s'", log_filename.c_str()); + file.close(); + + // images: segmented_map, sequence_map + std::string segmented_map_filename = lower_path + evaluation_data.map_name_ + "_segmented.png"; + cv::Mat colour_segmented_map = segmented_map.clone(); + colour_segmented_map.convertTo(colour_segmented_map, CV_8U); + cv::cvtColor(colour_segmented_map, colour_segmented_map, CV_GRAY2BGR); + for(size_t i = 1; i <= result_seg->room_information_in_pixel.size(); ++i) + { + // choose random color for each room + int blue = (rand() % 250) + 1; + int green = (rand() % 250) + 1; + int red = (rand() % 250) + 1; + for(size_t u = 0; u < segmented_map.rows; ++u) + { + for(size_t v = 0; v < segmented_map.cols; ++v) + { + if(segmented_map.at(u,v) == i) + { + colour_segmented_map.at(u,v)[0] = blue; + colour_segmented_map.at(u,v)[1] = green; + colour_segmented_map.at(u,v)[2] = red; + } + } + } + } + // draw the room centers into the map + for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) + { + cv::Point current_center (result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); +#if CV_MAJOR_VERSION<=3 + cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), CV_FILLED); +#else + cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), cv::FILLED); +#endif + } + // color image in unique colour to show the segmentation + if (cv::imwrite(segmented_map_filename.c_str(), colour_segmented_map) == false) + ROS_ERROR("Error on writing file '%s'", segmented_map_filename.c_str()); + + std::string sequence_map_filename = lower_path + evaluation_data.map_name_ + "_sequence.png"; + cv_bridge::CvImagePtr cv_ptr_seq; + cv_ptr_seq = cv_bridge::toCvCopy(result_seq->sequence_map, sensor_msgs::image_encodings::BGR8); + cv::Mat sequence_map = cv_ptr_seq->image; + // draw in trash bins + for (size_t i=0; i& evaluation_configuration_vector, const EvaluationData& evaluation_data, const std::string& data_storage_path) + { + // go through each configuration for the given map + for(size_t config = 0; config < evaluation_configuration_vector.size(); ++config) + { + // prepare folders for storing results + const std::string upper_folder_name = evaluation_configuration_vector[config].generateUpperConfigurationFolderString() + "/"; + const std::string path = data_storage_path + upper_folder_name; + const std::string upper_command = "mkdir -p " + path; + int return_value = system(upper_command.c_str()); + + const std::string lower_folder_name = evaluation_configuration_vector[config].generateLowerConfigurationFolderString() + "/"; + const std::string lower_path = path + lower_folder_name; + const std::string lower_command = "mkdir -p " + lower_path; + return_value = system(lower_command.c_str()); + + std::cout << "\nCurrent Configuration:" << std::endl << "map: " << evaluation_data.map_name_ << "\tsegmentation algorithm: " + << evaluation_configuration_vector[config].room_segmentation_algorithm_ + << "\tplanning method: " << evaluation_configuration_vector[config].sequence_planning_method_ + << "\tTSP solver: " << evaluation_configuration_vector[config].tsp_solver_ + << "\tmaximal clique length: " << evaluation_configuration_vector[config].max_clique_path_length_ << std::endl; + + AStarPlanner planner; + //variables for time measurement + struct timespec t0, t1, t2, t3; + + // 1. retrieve segmentation and check if the map has already been segmented + ipa_building_msgs::MapSegmentationResultConstPtr result_seg; + clock_gettime(CLOCK_MONOTONIC, &t0); //set time stamp before the segmentation + if(evaluation_configuration_vector[config].room_segmentation_algorithm_ == 1) + { + if(segmented_morph == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_morph, t0) == false) + return false; + segmented_morph = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_morph; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 2) + { + if(segmented_dist == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_dist, t0) == false) + return false; + segmented_dist = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_dist; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 3) + { + if(segmented_vor == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vor, t0) == false) + return false; + segmented_vor = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_vor; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 4) + { + if(segmented_semant == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_semant, t0) == false) + return false; + segmented_semant = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_semant; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 5) + { + if(segmented_vrf == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vrf, t0) == false) + return false; + segmented_vrf = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_vrf; + } + clock_gettime(CLOCK_MONOTONIC, &t1); //set time stamp after the segmentation + std::cout << "Segmentation computed " << result_seg->room_information_in_pixel.size() << " rooms." << std::endl; + + //check for accessibility of the room centers from start position + cv::Mat downsampled_map; + Timer tim; + planner.downsampleMap(evaluation_data.floor_plan_, downsampled_map, evaluation_data.map_downsampling_factor_, evaluation_data.robot_radius_, evaluation_data.map_resolution_); + std::cout << "downsampling map: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; + cv::Point robot_start_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, + (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); + + // get the reachable room centers as cv::Point + tim.start(); + std::cout << "Starting to check accessibility of rooms. Start position: " << robot_start_position << std::endl; + std::vector room_centers; + for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) + { + cv::Point current_center(result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); + double length = planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_start_position, current_center, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_); + if(length < 1e9) + room_centers.push_back(current_center); + else + std::cout << "room " << i << " not accessible, center: " << current_center << std::endl; + } + std::cout << "room centers computed: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; + std::cout << "Number of accessible room centers: " << room_centers.size() << std::endl; + + if(room_centers.size() == 0) //no room center is reachable for the given start position --> needs to be looked at separately + { + std::cout << "++++++++++ no roomcenter reachable from given startposition ++++++++++++" << std::endl; + return false; + } + + // 2. solve sequence problem + std::cout << "Starting to solve sequence problem." << std::endl; + tim.start(); + ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_seq; + clock_gettime(CLOCK_MONOTONIC, &t2); //set time stamp before the sequence planning + if (computeRoomSequence(evaluation_data, evaluation_configuration_vector[config], room_centers, result_seq, t2) == false) + { + std::cout << "++++++++++ computeRoomSequence failed ++++++++++++" << std::endl; + return false; + } + std::cout << "sequence problem solved: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; + clock_gettime(CLOCK_MONOTONIC, &t3); //set time stamp after the sequence planning + + // 3. assign trash bins to rooms of the respective segmentation + std::vector< std::vector > room_trash_bins(result_seg->room_information_in_pixel.size()); + // converting the map msg in cv format + cv_bridge::CvImagePtr cv_ptr_obj; + cv_ptr_obj = cv_bridge::toCvCopy(result_seg->segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); + cv::Mat segmented_map = cv_ptr_obj->image; + for (size_t i=0; i(evaluation_data.trash_bin_locations_[i]); //labeling started from 1 --> 0 is for obstacles + int room_index = -1; + for (size_t r=0; r(room_centers[r]) == trash_bin_index) + { + room_index = r; + break; + } + } + if (room_index != -1) + { + room_trash_bins[room_index].push_back(evaluation_data.trash_bin_locations_[i]); + std::cout << "trash bin " << evaluation_data.trash_bin_locations_[i] << " at room center[" << room_index << "] " << room_centers[room_index] << std::endl; + } + else + std::cout << "########## trash bin " << evaluation_data.trash_bin_locations_[i] << " does not match any room." << std::endl; + } + + // 4. do the movements + cv::Mat draw_path_map, draw_path_map2; + cv::cvtColor(evaluation_data.floor_plan_, draw_path_map, CV_GRAY2BGR); + draw_path_map2 = draw_path_map.clone(); + double path_length_robot = 0.; + double path_length_trolley = 0.; + double path_length_trash_bins = 0.; + int current_emptied_trashbins = 0; + int switching_trolley_handling = 0; // int that shows how often the trolley has been handled during the switching procedure + // const double max_clique_path_length_in_pixel = evaluation_configuration.max_clique_path_length_ / evaluation_data.map_resolution_; + cv::Point robot_position = robot_start_position; + cv::Point trolley_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, + (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); + cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); + cv::circle(draw_path_map, trolley_position, 5, CV_RGB(0,0,255), -1); + cv::circle(draw_path_map2, trolley_position, 5, CV_RGB(0,0,255), -1); + + std::stringstream screenoutput; + for (size_t clique_index = 0; clique_indexcheckpoints.size(); ++clique_index) + { + std::cout << "cleaning new clique" << std::endl; screenoutput << "cleaning new clique" << std::endl; + // move trolley + // i) robot to trolley + path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + // ii) trolley to next trolley goal + cv::Point trolley_goal_position(result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.x, result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.y); + if(current_emptied_trashbins == evaluation_configuration_vector[config].trashbins_per_trolley_) + { + // get new trolley before going to the next trolley position + // i) from current trolley position to central trolley park + path_length_trolley += planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, evaluation_data.central_trolley_park_, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + // ii) from central trolley park to new trolley position + path_length_trolley += planner.planPath(evaluation_data.floor_plan_, downsampled_map, evaluation_data.central_trolley_park_, trolley_goal_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + // increase int that shows how often the trolley has been handled during switching by one + ++switching_trolley_handling; + // reset number of emptied trashbins + current_emptied_trashbins = 0; + } + else + { + // just drive the trolley + path_length_trolley += planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, trolley_goal_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + } + trolley_position = trolley_goal_position; + robot_position = trolley_goal_position; + cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); + cv::circle(draw_path_map, trolley_position, 5, CV_RGB(0,0,255), -1); + cv::circle(draw_path_map2, trolley_position, 5, CV_RGB(0,0,255), -1); + std::cout << "moved trolley to " << trolley_position << std::endl; screenoutput << "moved trolley to " << trolley_position << std::endl; + + // move robot to rooms + for(size_t room = 0; room < result_seq->checkpoints[clique_index].room_indices.size(); ++room) + { + // check if the trolley needs to be changed + if(current_emptied_trashbins == evaluation_configuration_vector[config].trashbins_per_trolley_) + { + // if so drive the robot to the trolley and the trolley back to the park and the other way around + path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + path_length_trolley += 2.0 * planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, evaluation_data.central_trolley_park_, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + robot_position = trolley_position; + // increase handling of the trolley by two (grasping the robot before and during switching) + switching_trolley_handling += 2; + // reset number of emptied trashbins + current_emptied_trashbins = 0; + } + // get next room in sequence + const int room_index = result_seq->checkpoints[clique_index].room_indices[room]; + cv::Point current_roomcenter = room_centers[room_index]; + // drive to next room + path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, current_roomcenter, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + robot_position = current_roomcenter; + cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); + // clear all trash bins: go to trash bin, go back to trolley to empty trash and then drive back to trash bin + std::cout << " arrived in room " << current_roomcenter << "\n starting to plan the trash bins" << std::endl; screenoutput << " arrived in room " << current_roomcenter << "\n starting to clean the trash bins" << std::endl; + ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_trash_bin_seq; + std::vector trash_bin_sequence_in_this_room; + if (room_trash_bins[room_index].size()>1) + { + bool result_trash = computeTrashBinSequence(evaluation_data, evaluation_configuration_vector[config], room_trash_bins[room_index], robot_position, result_trash_bin_seq); + if(result_trash == true) + { + for (size_t cc=0; cccheckpoints.size(); ++cc) + for (size_t tt = 0; tt < result_trash_bin_seq->checkpoints[cc].room_indices.size(); ++tt) + trash_bin_sequence_in_this_room.push_back(room_trash_bins[room_index][result_trash_bin_seq->checkpoints[cc].room_indices[tt]]); + } + } + else + { + trash_bin_sequence_in_this_room = room_trash_bins[room_index]; + } + std::cout << "starting to clean the trashbins. Size of sequence: " << trash_bin_sequence_in_this_room.size() << std::endl; + for (size_t t=0; t= evaluation_configuration_vector[config].trashbins_per_trolley_) + { + std::cout << "changing trolley " << std::endl; + // if so drive the robot to the trolley and the trolley back to the park and the other way around + path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + path_length_trolley += 2.0 * planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, evaluation_data.central_trolley_park_, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + robot_position = trolley_position; + // increase handling of the trolley by two (grasping the robot before and during switching) + switching_trolley_handling += 2; + // reset number of emptied trashbins + current_emptied_trashbins = 0; + std::cout << "changed trolley" << std::endl; + } + // drive robot to trash bin + double trash_bin_dist1 = planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trash_bin_sequence_in_this_room[t], evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + path_length_robot += trash_bin_dist1; + cv::circle(draw_path_map, trash_bin_sequence_in_this_room[t], 2, CV_RGB(128,0,255), -1); + cv::circle(draw_path_map2, trash_bin_sequence_in_this_room[t], 2, CV_RGB(128,0,255), -1); + std::cout << "driven robot to trashbin" << std::endl; + // drive trash bin to trolley and back + double trash_bin_dist2 = 2. * planner.planPath(evaluation_data.floor_plan_, downsampled_map, trash_bin_sequence_in_this_room[t], trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map2); + path_length_robot += trash_bin_dist2; + path_length_trash_bins += trash_bin_dist1 + trash_bin_dist2; + std::cout << " room: " << room_index << "\ttrash bin: " << t << " at " << trash_bin_sequence_in_this_room[t] << "\ttraveling distance: " << (trash_bin_dist1 + trash_bin_dist2) * evaluation_data.map_resolution_ << " m" << std::endl; + screenoutput << " room: " << room_index << "\ttrash bin: " << t << " at " << trash_bin_sequence_in_this_room[t] << "\ttraveling distance: " << (trash_bin_dist1 + trash_bin_dist2) * evaluation_data.map_resolution_ << " m" << std::endl; + robot_position = trash_bin_sequence_in_this_room[t]; + // increase number of emptied trashbins by one + ++current_emptied_trashbins; + } + } + std::cout << " cleaned all rooms and trash bins in current clique" << std::endl; screenoutput << " cleaned all rooms and trash bins in current clique"; + } + // finally go back to trolley + path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + // and back to start position + path_length_trolley += planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_position, robot_start_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + + // evaluation + double path_length_robot_in_meter = path_length_robot * evaluation_data.map_resolution_; + double path_length_trolley_in_meter = path_length_trolley * evaluation_data.map_resolution_; + double path_length_total_in_meter = path_length_robot_in_meter + path_length_trolley_in_meter; + double path_length_trash_bins_in_meter = path_length_trash_bins * evaluation_data.map_resolution_; + double robot_speed_without_trolley = 0.3; // [m/s] + double robot_speed_with_trolley = 0.2; // [m/s] + double time_for_trashbin_manipulation = 150; // [s], without driving + double time_for_trolley_manipulation = 90; // [s], without driving + double time = path_length_robot_in_meter / robot_speed_without_trolley + + path_length_trolley_in_meter / robot_speed_with_trolley + + time_for_trashbin_manipulation * evaluation_data.trash_bin_locations_.size() + + time_for_trolley_manipulation * (result_seq->checkpoints.size()+1) + + switching_trolley_handling * time_for_trolley_manipulation; + + //get the runtimes for the segmentation and the sequence planner + double segmentation_time = (t1.tv_sec - t0.tv_sec) + (double) (t1.tv_nsec - t0.tv_nsec) * 1e-9; + double sequence_time = (t3.tv_sec - t2.tv_sec) + (double) (t3.tv_nsec - t2.tv_nsec) * 1e-9; + + // write log file + std::stringstream output; + // header + output << evaluation_configuration_vector[config].getConfigurationString(); + output << "robot_speed_without_trolley" << "\t" << "robot_speed_with_trolley" << "\t" << "time_for_trashbin_manipulation" << "\t" + << "time_for_trolley_manipulation" << "\t" << "number_of_trash_bins" << "\t" << "number_trolley_movements" << "\t" + << "path_length_robot_in_meter" << "\t" << "path_length_trolley_in_meter" << "\t" << "path_length_trash_bins_in_meter\t" + << "pathlength [m]" << "\t" + << "cleaning time [s]" << "\t" << "calculation time segmentation [s]" << "\t" << "calculation time sequencer [s]" << "\t" << std::endl; + output << robot_speed_without_trolley << "\t" << robot_speed_with_trolley << "\t" << time_for_trashbin_manipulation << "\t" << time_for_trolley_manipulation << "\t" + << evaluation_data.trash_bin_locations_.size() << "\t" + << (result_seq->checkpoints.size()+1) << "\t" << path_length_robot_in_meter << "\t" << path_length_trolley_in_meter << "\t" << path_length_trash_bins_in_meter << "\t" + << path_length_total_in_meter << "\t" + << time << "\t" << segmentation_time << "\t" << sequence_time; + output << "\n\n\n" << screenoutput.str() << std::endl; + + std::string log_filename = lower_path + evaluation_data.map_name_ + "_results.txt"; + std::ofstream file(log_filename.c_str(), std::ios::out); + if (file.is_open()==true) + file << output.str(); + else + ROS_ERROR("Error on writing file '%s'", log_filename.c_str()); + file.close(); + + // images: segmented_map, sequence_map + std::string segmented_map_filename = lower_path + evaluation_data.map_name_ + "_segmented.png"; + cv::Mat colour_segmented_map = segmented_map.clone(); + colour_segmented_map.convertTo(colour_segmented_map, CV_8U); + cv::cvtColor(colour_segmented_map, colour_segmented_map, CV_GRAY2BGR); + for(size_t i = 1; i <= result_seg->room_information_in_pixel.size(); ++i) + { + // choose random color for each room + int blue = (rand() % 250) + 1; + int green = (rand() % 250) + 1; + int red = (rand() % 250) + 1; + for(size_t u = 0; u < segmented_map.rows; ++u) + { + for(size_t v = 0; v < segmented_map.cols; ++v) + { + if(segmented_map.at(u,v) == i) + { + colour_segmented_map.at(u,v)[0] = blue; + colour_segmented_map.at(u,v)[1] = green; + colour_segmented_map.at(u,v)[2] = red; + } + } + } + } + // draw the room centers into the map + for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) + { + cv::Point current_center (result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); +#if CV_MAJOR_VERSION<=3 + cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), CV_FILLED); +#else + cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), cv::FILLED); +#endif + } + // color image in unique colour to show the segmentation + if (cv::imwrite(segmented_map_filename.c_str(), colour_segmented_map) == false) + ROS_ERROR("Error on writing file '%s'", segmented_map_filename.c_str()); + + std::string sequence_map_filename = lower_path + evaluation_data.map_name_ + "_sequence.png"; + cv_bridge::CvImagePtr cv_ptr_seq; + cv_ptr_seq = cv_bridge::toCvCopy(result_seq->sequence_map, sensor_msgs::image_encodings::BGR8); + cv::Mat sequence_map = cv_ptr_seq->image; + // draw in trash bins + for (size_t i=0; i& evaluation_configuration_vector, const EvaluationData& evaluation_data, const std::string& data_storage_path) + { + // go through each configuration for the given map + for(size_t config = 0; config < evaluation_configuration_vector.size(); ++config) + { + // prepare folders for storing results + const std::string upper_folder_name = evaluation_configuration_vector[config].generateUpperConfigurationFolderString() + "/"; + const std::string path = data_storage_path + upper_folder_name; + const std::string upper_command = "mkdir -p " + path; + int return_value = system(upper_command.c_str()); + + const std::string lower_folder_name = evaluation_configuration_vector[config].generateLowerConfigurationFolderString() + "/"; + const std::string lower_path = path + lower_folder_name; + const std::string lower_command = "mkdir -p " + lower_path; + return_value = system(lower_command.c_str()); + + std::cout << "\nCurrent Configuration:" << std::endl << "map: " << evaluation_data.map_name_ << "\tsegmentation algorithm: " + << evaluation_configuration_vector[config].room_segmentation_algorithm_ + << "\tplanning method: " << evaluation_configuration_vector[config].sequence_planning_method_ + << "\tTSP solver: " << evaluation_configuration_vector[config].tsp_solver_ + << "\tmaximal clique length: " << evaluation_configuration_vector[config].max_clique_path_length_ << std::endl; + + DynamicReconfigureClient drc(node_handle_, "/room_sequence_planning/room_sequence_planning_server/set_parameters", "/room_sequence_planning/room_sequence_planning_server/parameter_updates"); + drc.setConfig("maximum_clique_size", 10); + + AStarPlanner planner; + //variables for time measurement + struct timespec t0, t1, t2, t3; + + // 1. retrieve segmentation and check if the map has already been segmented + ipa_building_msgs::MapSegmentationResultConstPtr result_seg; + clock_gettime(CLOCK_MONOTONIC, &t0); //set time stamp before the segmentation + if(evaluation_configuration_vector[config].room_segmentation_algorithm_ == 1) + { + if(segmented_morph == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_morph, t0) == false) + return false; + segmented_morph = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_morph; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 2) + { + if(segmented_dist == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_dist, t0) == false) + return false; + segmented_dist = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_dist; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 3) + { + if(segmented_vor == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vor, t0) == false) + return false; + segmented_vor = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_vor; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 4) + { + if(segmented_semant == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_semant, t0) == false) + return false; + segmented_semant = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_semant; + } + else if (evaluation_configuration_vector[config].room_segmentation_algorithm_ == 5) + { + if(segmented_vrf == false) + { + if (segmentFloorPlan(evaluation_data, evaluation_configuration_vector[config], result_seg_vrf, t0) == false) + return false; + segmented_vrf = true; + } + else + std::cout << "map has already been segmented" << std::endl; + result_seg = result_seg_vrf; + } + clock_gettime(CLOCK_MONOTONIC, &t1); //set time stamp after the segmentation + std::cout << "Segmentation computed " << result_seg->room_information_in_pixel.size() << " rooms." << std::endl; + + //check for accessibility of the room centers from start position + cv::Mat downsampled_map; + Timer tim; + planner.downsampleMap(evaluation_data.floor_plan_, downsampled_map, evaluation_data.map_downsampling_factor_, evaluation_data.robot_radius_, evaluation_data.map_resolution_); + std::cout << "downsampling map: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; + cv::Point robot_start_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, + (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); + + // get the reachable room centers as cv::Point + tim.start(); + std::vector room_centers; + for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) + { + cv::Point current_center(result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); + double length = planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_start_position, current_center, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_); + if(length < 1e9) + room_centers.push_back(current_center); + else + std::cout << "room " << i << " not accessible, center: " << current_center << std::endl; + } + std::cout << "room centers computed: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; + + if(room_centers.size() == 0) //no room center is reachable for the given start position --> needs to be looked at separately + { + std::cout << "++++++++++ no roomcenter reachable from given startposition ++++++++++++" << std::endl; + return false; + } + + // 2. solve sequence problem + std::cout << "Starting to solve sequence problem." << std::endl; + tim.start(); + ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_seq; + clock_gettime(CLOCK_MONOTONIC, &t2); //set time stamp before the sequence planning + if (computeRoomSequence(evaluation_data, evaluation_configuration_vector[config], evaluation_data.trash_bin_locations_, result_seq, t2) == false) + { + std::cout << "++++++++++ computeRoomSequence failed ++++++++++++" << std::endl; + return false; + } + std::cout << "sequence problem solved: " << tim.getElapsedTimeInMilliSec() << " ms" << std::endl; + clock_gettime(CLOCK_MONOTONIC, &t3); //set time stamp after the sequence planning + + // converting the map msg in cv format + cv_bridge::CvImagePtr cv_ptr_obj; + cv_ptr_obj = cv_bridge::toCvCopy(result_seg->segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); + cv::Mat segmented_map = cv_ptr_obj->image; + + // 3. find rooms that belonging to a trolley position + std::vector assigned_rooms; + std::vector > rooms_for_trolley_position(result_seq->checkpoints.size()); + + for(size_t checkpoint = 0; checkpoint < result_seq->checkpoints.size(); ++checkpoint) + { + std::vector current_trashbins = result_seq->checkpoints[checkpoint].room_indices; + + for(size_t trash = 0; trash < current_trashbins.size(); ++trash) + { + int current_room_index = segmented_map.at(evaluation_data.trash_bin_locations_[current_trashbins[trash]]); + + // find romm center that is assigned with this room index + int room_vector_index = -1; + for(size_t room = 0; room < room_centers.size(); ++room) + { + if (segmented_map.at(room_centers[room]) == current_room_index) + { + room_vector_index = room; + break; + } + } + + // only save room centers that are reachable and haven't been saved yet + if(room_vector_index != -1) + { + if(contains(rooms_for_trolley_position[checkpoint], room_centers[room_vector_index]) == false) + rooms_for_trolley_position[checkpoint].push_back(room_centers[room_vector_index]); + + // save room as assigned, segmented map starts with index 1 for rooms + if(contains(assigned_rooms, current_room_index) == false) + assigned_rooms.push_back(current_room_index); + } + } + } + + // 4. check if a room has no trashbins in it, if so it hasn't been assigned to a trolley position yet and needs + // to be assigned now + for(size_t room = 0; room < room_centers.size(); ++room) + { + int current_room_index = segmented_map.at(room_centers[room]); + + if(contains(assigned_rooms, current_room_index) == false) + { + // find the trolley which is nearest to this center and assign the room to this trolley position + double smallest_distance = 1e6; + size_t trolley_index = 0; + for(size_t checkpoint = 0; checkpoint < result_seq->checkpoints.size(); ++checkpoint) + { + cv::Point trolley_position = cv::Point(result_seq->checkpoints[checkpoint].checkpoint_position_in_pixel.x, result_seq->checkpoints[checkpoint].checkpoint_position_in_pixel.y); + double current_distance = planner.planPath(evaluation_data.floor_plan_, downsampled_map, room_centers[room], trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_);; + + if(current_distance < smallest_distance) + { + smallest_distance = current_distance; + trolley_index = checkpoint; + } + } + + // assign the room to the trolley + rooms_for_trolley_position[trolley_index].push_back(room_centers[room]); + } + } + + // 5. do the movements + drc.setConfig("maximum_clique_size", 9001); + cv::Mat draw_path_map, draw_path_map2; + cv::cvtColor(evaluation_data.floor_plan_, draw_path_map, CV_GRAY2BGR); + draw_path_map2 = draw_path_map.clone(); + double path_length_robot = 0.; + double path_length_trolley = 0.; + double path_length_trash_bins = 0.; + // const double max_clique_path_length_in_pixel = evaluation_configuration.max_clique_path_length_ / evaluation_data.map_resolution_; + cv::Point robot_position = robot_start_position; + cv::Point trolley_position((evaluation_data.robot_start_position_.position.x - evaluation_data.map_origin_.position.x)/evaluation_data.map_resolution_, + (evaluation_data.robot_start_position_.position.y - evaluation_data.map_origin_.position.y)/evaluation_data.map_resolution_); + cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,0,255), -1); + + std::stringstream screenoutput; + std::vector done_rooms; + for (size_t clique_index = 0; clique_indexcheckpoints.size(); ++clique_index) + { + std::cout << "cleaning new clique" << std::endl; screenoutput << "cleaning new clique" << std::endl; + // mark new trolley position to empty the trashbins + trolley_position = cv::Point(result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.x, result_seq->checkpoints[clique_index].checkpoint_position_in_pixel.y); + cv::circle(draw_path_map, trolley_position, 3, CV_RGB(0,0,255), -1); + // compute optimal room visiting order + std::vector current_room_order; + ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr result_room_seq; + if(computeTrashBinSequence(evaluation_data, evaluation_configuration_vector[config], rooms_for_trolley_position[clique_index], robot_position, result_room_seq) == true) + { + for (size_t cc=0; cccheckpoints.size(); ++cc) + for (size_t tt = 0; tt < result_room_seq->checkpoints[cc].room_indices.size(); ++tt) + current_room_order.push_back(rooms_for_trolley_position[clique_index][result_room_seq->checkpoints[cc].room_indices[tt]]); + + } + + + // move robot to rooms if they haven't been cleaned yet + for(size_t room = 0; room < current_room_order.size(); ++room) + { + cv::Point current_roomcenter = current_room_order[room]; + + // find room that contains this trashbin + int room_index = segmented_map.at(current_roomcenter); + std::cout << "room index: " << room_index << std::endl; + + // check if room has been visited already, if so only empty trashbins in this room + if(contains(done_rooms, room_index) == false) + { + // room has not been cleaned yet + path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, current_roomcenter, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + robot_position = current_roomcenter; + cv::circle(draw_path_map, robot_position, 3, CV_RGB(0,255,0), -1); + + // mark room as cleaned + done_rooms.push_back(room_index); + } + + // find trashbins in the current room that belong to the current trolley checkpoint + // note: when iterating from the start of the optimal trashbin sequence of one trolleyposition the + // order of the trashbins after this asignment should be optimal + std::vector trashbins_for_room; + for(size_t trash = 0; trash < result_seq->checkpoints[clique_index].room_indices.size(); ++trash) + { + cv::Point trashbin = evaluation_data.trash_bin_locations_[result_seq->checkpoints[clique_index].room_indices[trash]]; + if(room_index == segmented_map.at(trashbin)) + { + // empty trashbin if it belongs to this room +// trashbins_for_room.push_back(trashbin); + path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, trashbin, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + path_length_trash_bins += 2.0 * planner.planPath(evaluation_data.floor_plan_, downsampled_map, trashbin, trolley_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + robot_position = trashbin; + cv::circle(draw_path_map, trashbin, 2, CV_RGB(128,0,255), -1); + } + } + } + std::cout << " cleaned all rooms and trash bins in current clique" << std::endl; screenoutput << " cleaned all rooms and trash bins in current clique"; + } + // finally go back to start position + path_length_robot += planner.planPath(evaluation_data.floor_plan_, downsampled_map, robot_position, robot_start_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1, &draw_path_map); + + // evaluation + double path_length_robot_in_meter = path_length_robot * evaluation_data.map_resolution_; + double path_length_trolley_in_meter = path_length_trolley * evaluation_data.map_resolution_; + double path_length_total_in_meter = path_length_robot_in_meter; + double path_length_trash_bins_in_meter = path_length_trash_bins * evaluation_data.map_resolution_; + double robot_speed_without_trolley = 0.3; // [m/s] + double robot_speed_with_trolley = 0.2; // [m/s] + double time_for_trashbin_manipulation = 150; // [s], without driving + double time_for_trolley_manipulation = 90; // [s], without driving + double time = path_length_robot_in_meter / robot_speed_without_trolley + + time_for_trashbin_manipulation * evaluation_data.trash_bin_locations_.size(); + + //get the runtimes for the segmentation and the sequence planner + double segmentation_time = (t1.tv_sec - t0.tv_sec) + (double) (t1.tv_nsec - t0.tv_nsec) * 1e-9; + double sequence_time = (t3.tv_sec - t2.tv_sec) + (double) (t3.tv_nsec - t2.tv_nsec) * 1e-9; + + // write log file + std::stringstream output; + // header + output << evaluation_configuration_vector[config].getConfigurationString(); + output << "robot_speed_without_trolley" << "\t" << "robot_speed_with_trolley" << "\t" << "time_for_trashbin_manipulation" << "\t" + << "time_for_trolley_manipulation" << "\t" << "number_of_trash_bins" << "\t" << "number_trolley_movements" << "\t" + << "path_length_robot_in_meter" << "\t" << "path_length_trolley_in_meter" << "\t" << "path_length_trash_bins_in_meter\t" + << "pathlength [m]" << "\t" + << "cleaning time [s]" << "\t" << "calculation time segmentation [s]" << "\t" << "calculation time sequencer [s]" << "\t" << std::endl; + output << robot_speed_without_trolley << "\t" << robot_speed_with_trolley << "\t" << time_for_trashbin_manipulation << "\t" << time_for_trolley_manipulation << "\t" + << evaluation_data.trash_bin_locations_.size() << "\t" + << 0 << "\t" << path_length_robot_in_meter << "\t" << path_length_trolley_in_meter << "\t" << path_length_trash_bins_in_meter << "\t" + << path_length_total_in_meter << "\t" + << time << "\t" << segmentation_time << "\t" << sequence_time; + output << "\n\n\n" << screenoutput.str() << std::endl; + + std::string log_filename = lower_path + evaluation_data.map_name_ + "_results.txt"; + std::ofstream file(log_filename.c_str(), std::ios::out); + if (file.is_open()==true) + file << output.str(); + else + ROS_ERROR("Error on writing file '%s'", log_filename.c_str()); + file.close(); + + // compute travel distance for humans and save them + double travel_distance_human = 0.0; + for(size_t pos = 0; pos < result_seq->checkpoints.size(); ++pos) + { + cv::Point trolley_placing_position = cv::Point(result_seq->checkpoints[pos].checkpoint_position_in_pixel.x, result_seq->checkpoints[pos].checkpoint_position_in_pixel.y); + travel_distance_human += 2.0 * planner.planPath(evaluation_data.floor_plan_, downsampled_map, trolley_placing_position, robot_start_position, evaluation_data.map_downsampling_factor_, 0., evaluation_data.map_resolution_, 1); + } + travel_distance_human = travel_distance_human * evaluation_data.map_resolution_; + std::string storage_path_human = data_storage_path + "human_way/" + upper_folder_name + evaluation_configuration_vector[config].generateLowerConfigurationFolderString() + "/"; + const std::string upper_human_command = "mkdir -p " + storage_path_human; + return_value = system(upper_human_command.c_str()); + storage_path_human = storage_path_human + evaluation_data.map_name_ + "_human.txt"; + std::stringstream human_distance_output; + human_distance_output << "dist to place all trolleys [m]: " << std::endl << travel_distance_human; + std::ofstream human_file(storage_path_human.c_str(), std::ios::out); + if (human_file.is_open()==true) + human_file << human_distance_output.str(); + else + ROS_ERROR("Error on writing file '%s'", storage_path_human.c_str()); + human_file.close(); + + // images: segmented_map, sequence_map + std::string segmented_map_filename = lower_path + evaluation_data.map_name_ + "_segmented.png"; + cv::Mat colour_segmented_map = segmented_map.clone(); + colour_segmented_map.convertTo(colour_segmented_map, CV_8U); + cv::cvtColor(colour_segmented_map, colour_segmented_map, CV_GRAY2BGR); + for(size_t i = 1; i <= result_seg->room_information_in_pixel.size(); ++i) + { + // choose random color for each room + int blue = (rand() % 250) + 1; + int green = (rand() % 250) + 1; + int red = (rand() % 250) + 1; + for(size_t u = 0; u < segmented_map.rows; ++u) + { + for(size_t v = 0; v < segmented_map.cols; ++v) + { + if(segmented_map.at(u,v) == i) + { + colour_segmented_map.at(u,v)[0] = blue; + colour_segmented_map.at(u,v)[1] = green; + colour_segmented_map.at(u,v)[2] = red; + } + } + } + } + // draw the room centers into the map + for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) + { + cv::Point current_center (result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); +#if CV_MAJOR_VERSION<=3 + cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), CV_FILLED); +#else + cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), cv::FILLED); +#endif + } + // color image in unique colour to show the segmentation + if (cv::imwrite(segmented_map_filename.c_str(), colour_segmented_map) == false) + ROS_ERROR("Error on writing file '%s'", segmented_map_filename.c_str()); + + std::string sequence_map_filename = lower_path + evaluation_data.map_name_ + "_sequence.png"; + cv_bridge::CvImagePtr cv_ptr_seq; + cv_ptr_seq = cv_bridge::toCvCopy(result_seq->sequence_map, sensor_msgs::image_encodings::BGR8); + cv::Mat sequence_map = cv_ptr_seq->image; + // draw in trash bins + for (size_t i=0; i ac_seg("/room_segmentation/room_segmentation_server", true); + ROS_INFO("Waiting for action server '/room_segmentation/room_segmentation_server' to start."); + ac_seg.waitForServer(ros::Duration(60)); // wait for the action server to start, will wait for infinite time + std::cout << "Action server started, sending goal_seg." << std::endl; + ros::Duration s(0.5); + s.sleep(); + + // send dynamic reconfigure config + ROS_INFO("Trying to connect to dynamic reconfigure server."); + DynamicReconfigureClient drc(node_handle_, "/room_segmentation/room_segmentation_server/set_parameters", "/room_segmentation/room_segmentation_server/parameter_updates"); + ROS_INFO("Done connecting to the dynamic reconfigure server."); + const int room_segmentation_algorithm = evaluation_configuration.room_segmentation_algorithm_; + drc.setConfig("room_segmentation_algorithm", room_segmentation_algorithm); + if(room_segmentation_algorithm == 1) //morpho + { + drc.setConfig("room_area_factor_lower_limit_morphological", 0.8); + drc.setConfig("room_area_factor_upper_limit_morphological", 47.0); + ROS_INFO("You have chosen the morphological segmentation."); + } + if(room_segmentation_algorithm == 2) //distance + { + drc.setConfig("room_area_factor_lower_limit_distance", 0.35); + drc.setConfig("room_area_factor_upper_limit_distance", 163.0); + ROS_INFO("You have chosen the distance segmentation."); + } + if(room_segmentation_algorithm == 3) //voronoi + { + drc.setConfig("room_area_factor_lower_limit_voronoi", 0.1); //1.53; + drc.setConfig("room_area_factor_upper_limit_voronoi", 1000000.); //120.0; + drc.setConfig("voronoi_neighborhood_index", 280); + drc.setConfig("max_iterations", 150); + drc.setConfig("min_critical_point_distance_factor", 0.5); //1.6; + drc.setConfig("max_area_for_merging", 12.5); + ROS_INFO("You have chosen the Voronoi segmentation"); + } + if(room_segmentation_algorithm == 4) //semantic + { + drc.setConfig("room_area_factor_lower_limit_semantic", 1.0); + drc.setConfig("room_area_factor_upper_limit_semantic", 1000000.);//23.0; + ROS_INFO("You have chosen the semantic segmentation."); + } + if(room_segmentation_algorithm == 5) //voronoi random field + { + drc.setConfig("room_area_lower_limit_voronoi_random", 1.53); //1.53 + drc.setConfig("room_area_upper_limit_voronoi_random", 1000000.); //1000000.0 + drc.setConfig("max_iterations", 150); + drc.setConfig("voronoi_random_field_epsilon_for_neighborhood", 7); + drc.setConfig("min_neighborhood_size", 5); + drc.setConfig("min_voronoi_random_field_node_distance", 7.0); // [pixel] + drc.setConfig("max_voronoi_random_field_inference_iterations", 9000); + drc.setConfig("max_area_for_merging", 12.5); + ROS_INFO("You have chosen the Voronoi random field segmentation."); + } + drc.setConfig("display_segmented_map", false); + + // send a goal to the action + ipa_building_msgs::MapSegmentationGoal goal_seg; + goal_seg.input_map = map_msg; + goal_seg.map_origin = evaluation_data.map_origin_; + goal_seg.map_resolution = evaluation_data.map_resolution_; + goal_seg.return_format_in_meter = false; + goal_seg.return_format_in_pixel = true; + //goal_seg.room_segmentation_algorithm = evaluation_configuration.room_segmentation_algorithm_; + goal_seg.robot_radius = evaluation_data.robot_radius_; + ac_seg.sendGoal(goal_seg); + + //wait for the action to return + bool finished_before_timeout = ac_seg.waitForResult(ros::Duration(600.0 + loopcounter * 100.0)); + if (finished_before_timeout == false) //if it takes too long the server should be killed and restarted + { + std::cout << "action server took too long" << std::endl; + std::string pid_cmd = "pidof room_segmentation_server > room_sequence_planning/seg_srv_pid.txt"; + int pid_result = system(pid_cmd.c_str()); + std::ifstream pid_reader("room_sequence_planning/seg_srv_pid.txt"); + int value; + std::string line; + if (pid_reader.is_open()) + { + while (getline(pid_reader, line)) + { + std::istringstream iss(line); + while (iss >> value) + { + std::cout << "PID of room_segmentation_server: " << value << std::endl; + std::stringstream ss; + ss << "kill " << value; + std::string kill_cmd = ss.str(); + int kill_result = system(kill_cmd.c_str()); + std::cout << "kill result: " << kill_result << std::endl; + } + } + pid_reader.close(); + remove("room_sequence_planning/seg_srv_pid.txt"); + } + else + { + std::cout << "missing logfile" << std::endl; + } + } + else // segmentation finished while given time --> return result + { + result_seg = ac_seg.getResult(); + segmented = true; + std::cout << "Finished segmentation successfully!" << std::endl; + } + ++loopcounter; //enlarge the loop counter so the client will wait longer for the server to start + }while(segmented == false && loopcounter <= 6); + + if(loopcounter > 6) + return false; + + return true; + } + + bool computeTrashBinSequence(const EvaluationData& evaluation_data, const EvaluationConfig& evaluation_configuration, + const std::vector& reachable_roomcenters, const cv::Point& robot_start_position, + ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr& result_seq) + { + bool planned = false; + + sensor_msgs::Image map_msg; + cv_bridge::CvImage cv_image; + cv_image.encoding = "mono8"; + cv_image.image = evaluation_data.floor_plan_; + cv_image.toImageMsg(map_msg); + + actionlib::SimpleActionClient ac_seq("/room_sequence_planning/room_sequence_planning_server", true); + ROS_INFO("Waiting for action server '/room_sequence_planning/room_sequence_planning_server' to start."); + // wait for the action server to start + ac_seq.waitForServer(ros::Duration(3.0)); //will wait for infinite time + ROS_INFO("Action server for trashbin sequence planning found."); + ros::Duration s(0.5); + s.sleep(); + + //put the vector format in the msg format + std::vector roomcenters_for_sequence_planning(reachable_roomcenters.size()); + for(size_t room = 0; room < reachable_roomcenters.size(); ++room) + { + roomcenters_for_sequence_planning[room].room_center.x = reachable_roomcenters[room].x; + roomcenters_for_sequence_planning[room].room_center.y = reachable_roomcenters[room].y; + } + + // set algorithm parameters + ROS_INFO("Trying to connect to dynamic reconfigure server."); + DynamicReconfigureClient drc(node_handle_, "/room_sequence_planning/room_sequence_planning_server/set_parameters", "/room_sequence_planning/room_sequence_planning_server/parameter_updates"); + ROS_INFO("Done connecting to the dynamic reconfigure server."); + drc.setConfig("max_clique_path_length", 1e9); + drc.setConfig("map_downsampling_factor", evaluation_data.map_downsampling_factor_); + drc.setConfig("planning_method", 1); + drc.setConfig("tsp_solver", evaluation_configuration.tsp_solver_); + drc.setConfig("return_sequence_map", false); + drc.setConfig("check_accessibility_of_rooms", false); + +// std::cout << "Action server started, sending goal_seq." << std::endl; + // send a goal_seg to the action + ipa_building_msgs::FindRoomSequenceWithCheckpointsGoal goal_seq; + goal_seq.input_map = map_msg; + goal_seq.map_resolution = evaluation_data.map_resolution_; + goal_seq.map_origin = evaluation_data.map_origin_; + goal_seq.room_information_in_pixel = roomcenters_for_sequence_planning; + goal_seq.robot_radius = 0.; + goal_seq.robot_start_coordinate.position.x = robot_start_position.x*evaluation_data.map_resolution_ + evaluation_data.map_origin_.position.x; + goal_seq.robot_start_coordinate.position.y = robot_start_position.y*evaluation_data.map_resolution_ + evaluation_data.map_origin_.position.y; + ac_seq.sendGoal(goal_seq); + + //wait for the action to return + bool finished_before_timeout = ac_seq.waitForResult(ros::Duration(30.0 )); + if (finished_before_timeout == true) //if it takes too long the server should be killed and restarted + { + result_seq = ac_seq.getResult(); +// std::cout << "Finished trash bin sequence planning successfully!" << std::endl; + planned = true; + } + + return planned; + } + + bool computeRoomSequence(const EvaluationData& evaluation_data, const EvaluationConfig& evaluation_configuration, + const std::vector& reachable_roomcenters, + ipa_building_msgs::FindRoomSequenceWithCheckpointsResultConstPtr& result_seq, struct timespec& t2) + { + bool planned = false; + int loopcounter = 0; + do + { + clock_gettime(CLOCK_MONOTONIC, &t2); + sensor_msgs::Image map_msg; + cv_bridge::CvImage cv_image; + cv_image.encoding = "mono8"; + cv_image.image = evaluation_data.floor_plan_; + cv_image.toImageMsg(map_msg); + + actionlib::SimpleActionClient ac_seq("/room_sequence_planning/room_sequence_planning_server", true); + ROS_INFO("Waiting for action server '/room_sequence_planning/room_sequence_planning_server' to start."); + // wait for the action server to start + ac_seq.waitForServer(ros::Duration(60)); //will wait for infinite time + ros::Duration s(0.5); + s.sleep(); + + //put the vector format in the msg format + std::vector roomcenters_for_sequence_planning(reachable_roomcenters.size()); + for(size_t room = 0; room < reachable_roomcenters.size(); ++room) + { + roomcenters_for_sequence_planning[room].room_center.x = reachable_roomcenters[room].x; + roomcenters_for_sequence_planning[room].room_center.y = reachable_roomcenters[room].y; + } + + // set algorithm parameters + ROS_INFO("Trying to connect to dynamic reconfigure server."); + DynamicReconfigureClient drc(node_handle_, "/room_sequence_planning/room_sequence_planning_server/set_parameters", "/room_sequence_planning/room_sequence_planning_server/parameter_updates"); + ROS_INFO("Done conencting to the dynamic reconfigure server."); + drc.setConfig("max_clique_path_length", evaluation_configuration.max_clique_path_length_); + drc.setConfig("map_downsampling_factor", evaluation_data.map_downsampling_factor_); + drc.setConfig("planning_method", evaluation_configuration.sequence_planning_method_); + drc.setConfig("tsp_solver", evaluation_configuration.tsp_solver_); + drc.setConfig("return_sequence_map", true); + drc.setConfig("check_accessibility_of_rooms", false); + + std::cout << "Action server started, sending goal_seq." << std::endl; + // send a goal_seg to the action + ipa_building_msgs::FindRoomSequenceWithCheckpointsGoal goal_seq; + goal_seq.input_map = map_msg; + goal_seq.map_resolution = evaluation_data.map_resolution_; + goal_seq.map_origin = evaluation_data.map_origin_; + goal_seq.room_information_in_pixel = roomcenters_for_sequence_planning; + goal_seq.robot_radius = robot_radius_; + goal_seq.robot_start_coordinate = evaluation_data.robot_start_position_; + ac_seq.sendGoal(goal_seq); + + //wait for the action to return + bool finished_before_timeout = ac_seq.waitForResult(ros::Duration(2400.0 + 200 * loopcounter)); + if (finished_before_timeout == false) //if it takes too long the server should be killed and restarted + { + std::cout << "action server took too long" << std::endl; + std::string pid_cmd = "pidof room_sequence_planning_server > room_sequence_planning/seq_srv_pid.txt"; + int pid_result = system(pid_cmd.c_str()); + std::ifstream pid_reader("room_sequence_planning/seq_srv_pid.txt"); + int value; + std::string line; + if (pid_reader.is_open()) + { + while (getline(pid_reader, line)) + { + std::istringstream iss(line); + while (iss >> value) + { + std::cout << "PID of room_sequence_planning_server: " << value << std::endl; + std::stringstream ss; + ss << "kill " << value; + std::string kill_cmd = ss.str(); + int kill_result = system(kill_cmd.c_str()); + std::cout << "kill result: " << kill_result << std::endl; + } + } + pid_reader.close(); + remove("room_sequence_planning/seq_srv_pid.txt"); + } + else + { + std::cout << "missing logfile" << std::endl; + } + } + else + { + result_seq = ac_seq.getResult(); + std::cout << "Finished sequence planning successfully!" << std::endl; + planned = true; + } + ++loopcounter; + }while(planned == false && loopcounter <= 6); + + if(loopcounter > 6) + return false; + + return true; + } + + +private: + + ros::NodeHandle node_handle_; + + std::vector< EvaluationData > evaluation_data_; + + const double robot_radius_; +}; + + + +int main(int argc, char **argv) +{ + ros::init(argc, argv, "room_sequence_planning_client"); + ros::NodeHandle nh; + + const std::string test_map_path = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/"; + const std::string data_storage_path = "room_sequence_planning/"; + Evaluation ev(nh, test_map_path, data_storage_path, 0.3); + ros::shutdown(); + + //exit + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/tester.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/tester.cpp new file mode 100644 index 0000000..86ce050 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/src/tester.cpp @@ -0,0 +1,215 @@ +#include "ros/ros.h" +#include + +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include + +#include +#include + +#include + +int main(int argc, char **argv) +{ + srand(5); //time(NULL)); + ros::init(argc, argv, "a_star_tester"); + ros::NodeHandle nh; + + cv::Mat map = cv::imread("/home/rmb-fj/Pictures/maps/black_map.png", 0); + + AStarPlanner planner; + NearestNeighborTSPSolver TSPsolver; + GeneticTSPSolver genTSPsolver; + ConcordeTSPSolver conTSPsolver; + + cliqueFinder finder; //Object to find all maximal cliques for the given map + + SetCoverSolver setsolver; //Object to find the groups based on the found cliques + + TrolleyPositionFinder tolley_finder; + + std::vector < cv::Point > centers; + + int n = 9; + double downfactor = 0.25; + double map_resolution_factor = 0.05; + double robot_radius_test = 0.5; + + cv::Mat pathlengths(cv::Size(n, n), CV_64F); + cv::Mat distancematrix; +// cv::Mat eroded_map; +// +// cv::erode(map, eroded_map, cv::Mat(), cv::Point(-1, -1), 4); + + //Testcenters: +// x: 494 y: 535 +// x: 218 y: 176 +// x: 152 y: 148 +// x: 475 y: 417 +// x: 342 y: 333 +// x: 283 y: 205 +// x: 149 y: 229 +// x: 201 y: 456 +// x: 286 y: 125 + +// for (int i = 0; i < n; i++) //add Points for TSP to test the solvers +// { +// bool done = false; +// do +// { +// int x = rand() % map.cols; +// int y = rand() % map.rows; +// if (eroded_map.at(y, x) == 255) +// { +// centers.push_back(cv::Point(x, y)); +// done = true; +// } +// } while (!done); +// } + + centers.push_back(cv::Point(494, 535)); + centers.push_back(cv::Point(218, 176)); + centers.push_back(cv::Point(152, 148)); + centers.push_back(cv::Point(475, 417)); + centers.push_back(cv::Point(342, 333)); + centers.push_back(cv::Point(283, 205)); + centers.push_back(cv::Point(149, 229)); + centers.push_back(cv::Point(201, 456)); + centers.push_back(cv::Point(286, 125)); + + std::vector nearest_neighbor_order = genTSPsolver.solveGeneticTSP(map, n, centers, downfactor, robot_radius_test, map_resolution_factor, 0); + + std::cout << "without distance matrix:" << std::endl; + for (int i = 0; i < nearest_neighbor_order.size(); i++) + { + std::cout << nearest_neighbor_order[i] << std::endl; + } + std::cout << std::endl; + + nearest_neighbor_order = genTSPsolver.solveGeneticTSP(map, n, centers, downfactor, robot_radius_test, map_resolution_factor, 0, distancematrix); + + std::cout << "without distance matrix, returned:" << std::endl; + for (int i = 0; i < nearest_neighbor_order.size(); i++) + { + std::cout << nearest_neighbor_order[i] << std::endl; + } + std::cout << std::endl; + + std::cout << "distance matrix out of solver: " << std::endl; + for (int row = 0; row < distancematrix.rows; row++) + { + for (int col = 0; col < distancematrix.cols; col++) + { + std::cout << distancematrix.at(row, col) << " "; + } + std::cout << std::endl; + } + std::cout << std::endl; + +// cv::Mat testermap = map.clone(); +// + for (int i = 0; i < centers.size(); i++) + { + cv::Point center = centers[i]; + for (int p = 0; p < centers.size(); p++) + { + if (p != i) + { + if (p > i) //only compute upper right triangle of matrix, rest is symmetrically added + { + double length = planner.planPath(map, center, centers[p], downfactor, robot_radius_test, map_resolution_factor); + pathlengths.at(i, p) = length; + pathlengths.at(p, i) = length; //symmetrical-Matrix --> saves half the computationtime + } + } + else + { + pathlengths.at(i, p) = 0; + } + } + } + + nearest_neighbor_order = genTSPsolver.solveGeneticTSP(pathlengths, 0); + + std::cout << "with distance matrix:" << std::endl; + for (int i = 0; i < nearest_neighbor_order.size(); i++) + { + std::cout << nearest_neighbor_order[i] << std::endl; + } + std::cout << std::endl; + + std::cout << "distance matrix out of main: " << std::endl; + for (int row = 0; row < pathlengths.rows; row++) + { + for (int col = 0; col < pathlengths.cols; col++) + { + std::cout << pathlengths.at(row, col) << " "; + } + std::cout << std::endl; + } + std::cout << std::endl; + + std::vector < std::vector > cliques = finder.getCliques(pathlengths, 150.0); +// std::cout << "All maximum cliques in the graph:" << std::endl; +// +// for (int i = 0; i < cliques.size(); i++) +// { +// for (int j = 0; j < cliques[i].size(); j++) +// { +// std::cout << cliques[i][j] << std::endl; +// } +// std::cout << std::endl; +// } +// + ROS_INFO("Starting to solve the setcover problem."); + + std::vector > groups = setsolver.solveSetCover(cliques, n); + std::vector > new_groups = setsolver.solveSetCover(map, n, centers, downfactor, robot_radius_test, map_resolution_factor, 150.0); + + ROS_INFO("Starting to find the trolley positions."); + + std::vector trolley_positions = tolley_finder.findTrolleyPositions(map, groups, centers, downfactor, robot_radius_test, map_resolution_factor); + std::vector new_trolleys = tolley_finder.findTrolleyPositions(map, new_groups, centers, downfactor, robot_radius_test, map_resolution_factor); + + std::cout << "groups from new method" << std::endl; + + for(int i = 0; i < new_groups.size(); i++) + { + for(int j = 0; j < new_groups[i].size(); j++) + { + std::cout << new_groups[i][j] << std::endl; + } + std::cout << "group done. trolley position: " << new_trolleys[i] << std::endl << std::endl; + } + + std::cout << "groups from old method" << std::endl; + + for(int i = 0; i < groups.size(); i++) + { + for(int j = 0; j < groups[i].size(); j++) + { + std::cout << groups[i][j] << std::endl; + } + std::cout << "group done. trolley position: " << trolley_positions[i] << std::endl; + } +// +// cv::imwrite("/home/rmb-fj/Pictures/TSP/genetic.png", testermap); + + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_action_client.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_action_client.launch new file mode 100644 index 0000000..c5e8b1b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_action_client.launch @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_evaluation.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_evaluation.launch new file mode 100644 index 0000000..9788e89 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_building_navigation/ros/test/room_sequence_planning_evaluation.launch @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/CMakeLists.txt new file mode 100644 index 0000000..28f230f --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/CMakeLists.txt @@ -0,0 +1,4 @@ +cmake_minimum_required(VERSION 2.8.3) +project(ipa_coverage_planning) +find_package(catkin REQUIRED) +catkin_metapackage() diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/package.xml new file mode 100644 index 0000000..c9a3077 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_coverage_planning/package.xml @@ -0,0 +1,22 @@ + + + ipa_coverage_planning + 0.1.0 + This meta-package includes open source software for efficient coverage (cleaning, inspection, ...) of buildings. + LGPL for academic and non-commercial use; for commercial use, please contact Fraunhofer IPA + + + Florian Jordan + Richard Bormann + + catkin + + ipa_building_msgs + ipa_building_navigation + ipa_room_exploration + ipa_room_segmentation + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CHANGELOG.rst b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CHANGELOG.rst new file mode 100644 index 0000000..2bcc44d --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CHANGELOG.rst @@ -0,0 +1,15 @@ +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +Changelog for package ipa_room_exploration +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +0.1.2 (2017-02-13) +------------------ +* rotation of the map in flowNetworkExplorator +* Contributors: Florian Jordan +0.1.1 (2017-02-10) +------------------ +* excluded coverage check to standalone service server +* Contributors: Florian Jordan +0.1.0 (2017-02-09) +------------------ +* first completely working version of package +* Contributors: Florian Jordan, Richard Bormann diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CMakeLists.txt new file mode 100644 index 0000000..5b455d5 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/CMakeLists.txt @@ -0,0 +1,320 @@ +cmake_minimum_required(VERSION 2.8.3) +project(ipa_room_exploration) + +# build with c++11 +add_compile_options(-std=c++11) + +set(catkin_RUN_PACKAGES + angles + cob_map_accessibility_analysis + cv_bridge + eigen_conversions + geometry_msgs + ipa_building_msgs + ipa_building_navigation + laser_geometry + move_base_msgs + nav_msgs + roscpp + roslib + sensor_msgs + std_msgs + std_srvs + tf + visualization_msgs + # message_generation + # message_runtime +) + +set(catkin_BUILD_PACKAGES + ${catkin_RUN_PACKAGES} + dynamic_reconfigure +) +## Find catkin macros and libraries +find_package(catkin REQUIRED COMPONENTS + ${catkin_BUILD_PACKAGES} +) +# add_message_files( +# FILES +# dis_info.msg +# dis_info_array.msg +# ) + +# generate_messages( +# DEPENDENCIES +# std_msgs +# ) +generate_dynamic_reconfigure_options( + cfg/RoomExploration.cfg + cfg/CoverageMonitor.cfg +) + +find_package(OpenCV REQUIRED) +find_package(Boost REQUIRED COMPONENTS system chrono thread) + + +find_package(Eigen3 ) +if(NOT EIGEN3_FOUND) + # Fallback to cmake_modules + find_package(cmake_modules REQUIRED) + find_package(Eigen REQUIRED) + set(EIGEN3_INCLUDE_DIRS ${EIGEN_INCLUDE_DIRS}) + set(EIGEN3_LIBRARIES ${EIGEN_LIBRARIES}) # Not strictly necessary as Eigen is head only + # Possibly map additional variables to the EIGEN3_ prefix. +else() + set(EIGEN3_INCLUDE_DIRS ${EIGEN3_INCLUDE_DIR}) +endif() + +# include the FindGUROBI.cmake file to search for Gurobi on the system +set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${PROJECT_SOURCE_DIR}/cmake/") +find_package(GUROBI) + +# if Gurobi was found, set a flag to use it +if(GUROBI_FOUND) + add_definitions(-DGUROBI_FOUND=${GUROBI_FOUND}) +endif(GUROBI_FOUND) +Message(STATUS "Gurobi include dirs: " ${GUROBI_INCLUDE_DIRS}) +Message(STATUS "Gurobi lib dirs: " ${GUROBI_LIBRARIES}) + +# Coin-Or and Cbc, included as ubuntu system package, without Cmake-module so include pkg-config file +# !!! Important note: the order of the libraries when linking your executable is important, if it is wrong you get undefined references !!! +find_package(PkgConfig REQUIRED) +pkg_check_modules(CoinUtils REQUIRED coinutils)# coinutils osi-clp clp osi cbc cgl +pkg_check_modules(OsiClp REQUIRED osi-clp) +pkg_check_modules(Clp REQUIRED clp) +pkg_check_modules(Osi REQUIRED osi) +pkg_check_modules(Cbc-lib REQUIRED cbc) +pkg_check_modules(Cgl REQUIRED cgl) +Message(STATUS "coinutils include dirs: " ${CoinUtils_INCLUDE_DIRS}) +Message(STATUS "osi-clp include dirs: " ${OsiClp_INCLUDE_DIRS}) +Message(STATUS "clp include dirs: " ${Clp_INCLUDE_DIRS}) +Message(STATUS "osi include dirs: " ${Osi_INCLUDE_DIRS}) +Message(STATUS "cbc include dirs: " ${Cbc-lib_INCLUDE_DIRS}) +Message(STATUS "cgl include dirs: " ${Cgl_INCLUDE_DIRS}) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if you package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +# important: common/include needs to be here if you have such a directory +catkin_package( +INCLUDE_DIRS + common/include + ros/include +LIBRARIES + ${PROJECT_NAME} + libcoverage_check_server +CATKIN_DEPENDS + ${catkin_RUN_PACKAGES} + # message_runtime +DEPENDS + OpenCV + Boost + CoinUtils + OsiClp + Clp + Osi + Cgl + Cbc-lib +) + + +########### +## Build ## +########### +## Specify additional locations of header files +## Your package locations should be listed before other locations +# important: common/include also needs to be here if you have it, order of including the coinor-packages relevant, not working when including in wrong order +include_directories( + common/include + ros/include + ${catkin_INCLUDE_DIRS} + ${OpenCV_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} + ${EIGEN3_INCLUDE_DIRS} + ${GUROBI_INCLUDE_DIRS} + ${CoinUtils_INCLUDE_DIRS} + ${OsiClp_INCLUDE_DIRS} + ${Clp_INCLUDE_DIRS} + ${Osi_INCLUDE_DIRS} + ${Cgl_INCLUDE_DIRS} + ${Cbc-lib_INCLUDE_DIRS} +) + +### package library +add_library(${PROJECT_NAME} STATIC + common/src/grid_point_explorator.cpp + common/src/boustrophedon_explorator.cpp + common/src/neural_network_explorator.cpp + common/src/convex_sensor_placement_explorator.cpp + common/src/energy_functional_explorator.cpp + common/src/flow_network_explorator.cpp + common/src/room_rotator.cpp + common/src/meanshift2d.cpp +) +target_link_libraries(${PROJECT_NAME} + ${catkin_LIBRARIES} + ${OpenCV_LIBS} + ${Boost_LIBRARIES} + ${CoinUtils_LIBRARIES} + ${OsiClp_LIBRARIES} + ${Clp_LIBRARIES} + ${Osi_LIBRARIES} + ${Cgl_LIBRARIES} + ${Cbc-lib_LIBRARIES} + ${GUROBI_LIBRARIES} + libcoverage_check_server +) +add_dependencies(${PROJECT_NAME} + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) + +### room exploration action server, note: order of linking the Coin-Or packages important +add_executable(room_exploration_server + ros/src/room_exploration_action_server.cpp + ros/src/fov_to_robot_mapper.cpp +) +target_link_libraries(room_exploration_server + ${catkin_LIBRARIES} + ${OpenCV_LIBS} + ${Boost_LIBRARIES} + ${PROJECT_NAME} + libcoverage_check_server +) +add_dependencies(room_exploration_server + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) + +### library for coverage checking +add_library(libcoverage_check_server + ros/src/coverage_check_server.cpp +) +target_link_libraries(libcoverage_check_server + ${catkin_LIBRARIES} + ${OpenCV_LIBS} + ${Boost_LIBRARIES} +) +add_dependencies(libcoverage_check_server ${catkin_EXPORTED_TARGETS}) + +### server for coverage checking +add_executable(coverage_check_server + ros/src/coverage_check_server_main.cpp +) +target_link_libraries(coverage_check_server + ${catkin_LIBRARIES} + ${OpenCV_LIBS} + ${Boost_LIBRARIES} + libcoverage_check_server +) +add_dependencies(coverage_check_server ${catkin_EXPORTED_TARGETS}) + +### server for coverage monitoring +add_executable(coverage_monitor_server + ros/src/coverage_monitor_server.cpp +) +target_link_libraries(coverage_monitor_server + ${catkin_LIBRARIES} + ${OpenCV_LIBS} + ${Boost_LIBRARIES} + libcoverage_check_server +) +add_dependencies(coverage_monitor_server ${catkin_EXPORTED_TARGETS}) + +### room exploration client +add_executable(room_exploration_client + ros/src/room_exploration_action_client.cpp +) +target_link_libraries(room_exploration_client + ${catkin_LIBRARIES} + ${OpenCV_LIBS} + ${Boost_LIBRARIES} +) +add_dependencies(room_exploration_client + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) + + + +### next goal +add_executable(next_goal + ros/src/next_goal.cpp +) +target_link_libraries(next_goal + ${catkin_LIBRARIES} + ${OpenCV_LIBS} + ${Boost_LIBRARIES} +) +add_dependencies(next_goal + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) + +add_executable(sub + ros/src/sub.cpp +) + +target_link_libraries(sub + ${catkin_LIBRARIES} +) +### evaluation of room exploration algorithms +add_executable(room_exploration_evaluation + ros/src/room_exploration_evaluation.cpp + ros/src/fov_to_robot_mapper.cpp +) +target_link_libraries(room_exploration_evaluation + ${catkin_LIBRARIES} + ${OpenCV_LIBS} + libcoverage_check_server +) +add_dependencies(room_exploration_evaluation + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) + +############# +## Install ## +############# +# Mark executables and/or libraries for installation +install(TARGETS ${PROJECT_NAME} room_exploration_server room_exploration_client + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +#uncomment this if you have a common-directory with header-files +install(DIRECTORY common/include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} + FILES_MATCHING PATTERN "*.h" + PATTERN ".svn" EXCLUDE +) + +#uncomment this if you have header-files in your project +install(DIRECTORY ros/include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} + FILES_MATCHING PATTERN "*.h" + PATTERN ".svn" EXCLUDE +) + +#install(DIRECTORY scripts +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# PATTERN ".svn" EXCLUDE +#) + +# uncomment this if you have launch files +install(DIRECTORY ros/launch + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/ros + PATTERN ".svn" EXCLUDE +) + +#install(DIRECTORY common/files +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/common +# PATTERN ".svn" EXCLUDE +#) diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/CoverageMonitor.cfg b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/CoverageMonitor.cfg new file mode 100644 index 0000000..31b7de4 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/CoverageMonitor.cfg @@ -0,0 +1,18 @@ +#!/usr/bin/env python +PACKAGE = "ipa_room_exploration" + +from dynamic_reconfigure.parameter_generator_catkin import * + +gen = ParameterGenerator() + +gen.add("map_frame", str_t, 0, "Name of the map coordinate system.", "map") +gen.add("robot_frame", str_t, 0, "Name of the robot coordinate system.", "base_link") + +gen.add("coverage_radius", double_t, 0, "Radius of the circular coverage device, in [m].", 0.25, 0.001, 100000.0) +gen.add("coverage_circle_offset_transform_x", double_t, 0, "The offset of the coverage circle from the robot center, [x,y,z] in [m].", 0.29035, -100000.0, 100000.0) +gen.add("coverage_circle_offset_transform_y", double_t, 0, "The offset of the coverage circle from the robot center, [x,y,z] in [m].", -0.114, -100000.0, 100000.0) +gen.add("coverage_circle_offset_transform_z", double_t, 0, "The offset of the coverage circle from the robot center, [x,y,z] in [m].", 0.0, -100000.0, 100000.0) + +gen.add("robot_trajectory_recording_active", bool_t, 0, "The robot trajectory is only recorded if this flag is true.", False) + +exit(gen.generate(PACKAGE, "coverage_monitor_server", "CoverageMonitor")) diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/RoomExploration.cfg b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/RoomExploration.cfg new file mode 100644 index 0000000..fa0680c --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cfg/RoomExploration.cfg @@ -0,0 +1,123 @@ +#!/usr/bin/env python +PACKAGE = "ipa_room_exploration" + +from dynamic_reconfigure.parameter_generator_catkin import * + +gen = ParameterGenerator() + +# Method to plan a path trough the room +method_enum = gen.enum([ gen.const("GridPointExplorator", int_t, 1, "Use the grid point exploration algorithm."), + gen.const("BoustrophedonExplorator", int_t, 2, "Use the boustrophedon exploration algorithm."), + gen.const("NeuralNetworkExplorator", int_t, 3, "Use the neural network exploration algorithm."), + gen.const("ConvexSPPExplorator", int_t, 4, "Use the convexSPP exploration algorithm."), + gen.const("FlowNetworkExplorator", int_t, 5, "Use the flowNetwork exploration algorithm."), + gen.const("EnergyFunctionalExplorator", int_t, 6, "Use the energyFunctional exploration algorithm."), + gen.const("VoronoiExplorator", int_t, 7, "Use the voronoi exploration algorithm."), + gen.const("BoustrophedonVariantExplorator", int_t, 8, "Use a variant of the boustrophedon exploration algorithm.")], + "Exploration algorithm") +gen.add("room_exploration_algorithm", int_t, 0, "Exploration method", 2, 1, 8, edit_method=method_enum) + + +# Parameters on map correction options +# ==================================== +gen.add("map_correction_closing_neighborhood_size", int_t, 0, "Applies a closing operation to neglect inaccessible areas and map errors/artifacts if the map_correction_closing_neighborhood_size parameter is larger than 0. The parameter then specifies the iterations (or neighborhood size) of that closing operation..", 2, -1, 100); + + +# Parameters specific to the navigation of the robot along the computed coverage trajectory +# ========================================================================================= +gen.add("return_path", bool_t, 0, "Boolean used to determine whether the server should return the computed coverage path in the response message.", True) + +gen.add("execute_path", bool_t, 0, "Boolean used to determine whether the server should navigate the robot along the computed coverage path.", False) + +# double that shows how close the robot can get to a published navigation goal before another gets published +gen.add("goal_eps", double_t, 0, "Distance from robot to published goal to publish the next goal in the path.", 2.0, 1.0) + +# Use a dynamic goal distance criterion: the larger the path's curvature, the more accurate the navigation. +# Uses 'goal_eps' param as maximum distance on straight paths and zero distance (accurate goal approaching) on 90deg curves. +gen.add("use_dyn_goal_eps", bool_t, 0, "Use a dynamic goal distance criterion: the larger the path's curvature, the more accurate the navigation.", False) + +# Boolean that interrupts the publishing of the navigation goals as long as needed, e.g. when the robot sees a trashbin during a cleaning task and wants to clean it directly and resume later with the coverage path. +gen.add("interrupt_navigation_publishing", bool_t, 0, "Interrupt the publishing of navigation goals as long as needed.", False) + +# turn the functionality on/off to revisit areas that haven't been seen during the execution of the coverage path, due to uncertainties or dynamic obstacles +gen.add("revisit_areas", bool_t, 0, "Revisiting not seen areas due to dynamic obstacles on/off.", True) + +# min area before previously not seen areas have to be revisited, [m^2] +gen.add("left_sections_min_area", double_t, 0, "Minimal size of left sections to revisit them after one go [m^2].", 0.01, 1e-7) + +gen.add("global_costmap_topic", str_t, 0, "The name of the global costmap topic.", "/move_base/global_costmap/costmap") + +gen.add("coverage_check_service_name", str_t, 0, "The name of the service to call for a coverage check of the driven trajectory.", "/room_exploration/coverage_check_server/coverage_check") + +gen.add("map_frame", str_t, 0, "The name of the map frame, used for tracking of the robot.", "map") + +gen.add("camera_frame", str_t, 0, "The name of the camera frame, that is in the same kinematic chain as the map_frame and shows the camera pose.", "base_link") + + +# Grid point Explorator +# ===================== +tsp_solver_enum = gen.enum([ gen.const("NearestNeighborTSP", int_t, 1, "Use the Nearest Neighbor TSP algorithm."), + gen.const("GeneticTSP", int_t, 2, "Use the Genetic TSP solver."), + gen.const("ConcordeTSP", int_t, 3, "Use the Concorde TSP solver.")], + "Indicates which TSP solver should be used.") +gen.add("tsp_solver", int_t, 0, "Exploration method", 3, 1, 3, edit_method=tsp_solver_enum) + +gen.add("tsp_solver_timeout", int_t, 0, "A sophisticated solver like Concorde or Genetic can be interrupted if it does not find a solution within this time (in [s]), and then falls back to the nearest neighbor solver.", 600, 1); + + +# Boustrophedon Explorator +# ======================== +gen.add("min_cell_area", double_t, 0, "Minimum area of one cell for the boustrophedon explorator.", 10.0, 1e-7) + +# min distance between two points in the created coverage path +gen.add("path_eps", double_t, 0, "Minimal distance between two points on the generated path [pixel].", 2.0, 0) + +# the additional offset of the grid to obstacles, i.e. allows to displace the grid by more than the standard half_grid_size from obstacles, in [m] +gen.add("grid_obstacle_offset", double_t, 0, "Allows to displace the grid by more than the standard half_grid_size from obstacles [m].", 0.0, 0) + +# maximal allowed shift off the ideal boustrophedon track to both sides for avoiding obstacles on track +# setting max_deviation_from_track=grid_spacing is usually a good choice +# for negative values (e.g. max_deviation_from_track: -1) max_deviation_from_track is automatically set to grid_spacing +# in [pixel] +gen.add("max_deviation_from_track", int_t, 0, "Maximal allowed shift off the ideal boustrophedon track for avoiding obstacles on track, in [pixel]. For negative values max_deviation_from_track is automatically set to grid_spacing.", -1, -1) + +# enum for cell visiting order +cell_visiting_order_enum = gen.enum([gen.const("OptimalTSP", int_t, 1, "The optimal visiting order of the cells is determined as TSP problem."), + gen.const("LeftToRight", int_t, 2, "Alternative ordering from left to right (measured on y-coordinates of the cells), visits the cells in a more obvious fashion to the human observer (though it is not optimal).")], + "Cell visiting order") +gen.add("cell_visiting_order", int_t, 0, "Cell visiting order method", 1, 1, 2, edit_method=cell_visiting_order_enum) + + +# Neural network explorator, see room_exploration_action_server.params.yaml for further details +# ============================================================================================= +gen.add("step_size", double_t, 0, "Step size for integrating the state dynamics of the neural network.", 0.008, 0.0001, 1.0) + +gen.add("A", int_t, 0, "Decaying parameter that pulls the activity of a neuron closer to zero, larger value means faster decreasing.", 17, 1) + +gen.add("B", int_t, 0, "Increasing parameter that tries to increase the activity of a neuron, higher value means a higher desired value and a faster increasing at the beginning.", 5, 1) + +gen.add("D", int_t, 0, "Decreasing parameter when the neuron is labeled as obstacle, higher value means faster decreasing.", 7, 1) + +gen.add("E", int_t, 0, "External input parameter of one neuron that is used in the dynamics corresponding to if it is an obstacle or uncleaned/cleaned, E>>B.", 80, 1) + +gen.add("mu", double_t, 0, "Parameter to set the importance of the states of neighboring neurons to the dynamics, higher value means higher influence.", 1.03, 0.001) + +gen.add("delta_theta_weight", double_t, 0, "Parameter to set the importance of the traveleing direction from the previous step and the next step, a higher value means that the robot should turn less.", 0.15, 0.0) + + +# ConvexSPP explorator +# ==================== +# size of one cell when discretizing the free space +gen.add("cell_size", int_t, 0, "Side length of one grid cell, when discretizing the free space.", 0, -1) + +gen.add("delta_theta", double_t, 0, "Sampling angle when creating possible sensing poses.", 1.570796, 1e-4) + + +# flowNetwork explorator +# ====================== +gen.add("curvature_factor", double_t, 0, "Factor an arc can be longer than a straight arc.", 1.1, 1.0) + +gen.add("max_distance_factor", double_t, 0, "#Factor, an arc can be longer than the maximal distance of the room.", 1.0, 1.0) + + +exit(gen.generate(PACKAGE, "ipa_room_exploration_action_server", "RoomExploration")) diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cmake/FindGUROBI.cmake b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cmake/FindGUROBI.cmake new file mode 100644 index 0000000..eeb7abf --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/cmake/FindGUROBI.cmake @@ -0,0 +1,62 @@ +#### Taken from https://github.com/joschu/trajopt/blob/master/cmake/modules/FindGUROBI.cmake + + +# - Try to find GUROBI --> not a system package, needs to be searched separately +# Once done this will define +# GUROBI_FOUND - System has Gurobi +# GUROBI_INCLUDE_DIRS - The Gurobi include directories +# GUROBI_LIBRARIES - The libraries needed to use Gurobi + +if(GUROBI_INCLUDE_DIR) + # variables already in cache + set(GUROBI_FOUND TRUE) + set(GUROBI_INCLUDE_DIRS "${GUROBI_INCLUDE_DIR}" ) + set(GUROBI_LIBRARIES "${GUROBI_LIBRARY};${GUROBI_CXX_LIBRARY}" ) + +else(GUROBI_INCLUDE_DIR) + + find_path(GUROBI_INCLUDE_DIR + NAMES gurobi_c++.h + PATHS "$ENV{GUROBI_HOME}/include" + "/Library/gurobi702/linux64/include" + ) + + # search for the used version of the Gurobi library + find_library(GUROBI_LIBRARY + NAMES gurobi + gurobi45 + gurobi46 + gurobi50 + gurobi51 + gurobi52 + gurobi55 + gurobi56 + gurobi60 + gurobi70 + PATHS "$ENV{GUROBI_HOME}/lib" + "/Library/gurobi702/linux64/lib" + ) + + find_library(GUROBI_CXX_LIBRARY + NAMES gurobi_c++ + libgurobi_c++.a + PATHS "$ENV{GUROBI_HOME}/lib" + "/Library/gurobi702/linux64/lib" + ) + + if(GUROBI_LIBRARY AND GUROBI_CXX_LIBRARY AND GUROBI_INCLUDE_DIR) + set(GUROBI_INCLUDE_DIRS "${GUROBI_INCLUDE_DIR}") + set(GUROBI_LIBRARIES "${GUROBI_LIBRARY};${GUROBI_CXX_LIBRARY}") + set(GUROBI_FOUND TRUE) + else(GUROBI_LIBRARY AND GUROBI_CXX_LIBRARY AND GUROBI_INCLUDE_DIR) + Message(STATUS "Gurobi has not been found") + endif(GUROBI_LIBRARY AND GUROBI_CXX_LIBRARY AND GUROBI_INCLUDE_DIR) + + include(FindPackageHandleStandardArgs) + # handle the QUIETLY and REQUIRED arguments + find_package_handle_standard_args(GUROBI DEFAULT_MSG + GUROBI_LIBRARY GUROBI_CXX_LIBRARY GUROBI_INCLUDE_DIR) + + mark_as_advanced(GUROBI_INCLUDE_DIR GUROBI_LIBRARY GUROBI_CXX_LIBRARY) + +endif(GUROBI_INCLUDE_DIR) diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/boustrophedon_explorator.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/boustrophedon_explorator.h new file mode 100644 index 0000000..930f306 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/boustrophedon_explorator.h @@ -0,0 +1,334 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 11.2016 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once + +#include +#include +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#define PI 3.14159265359 + + + +// Class that is used to store cells and obstacles in a certain manner. For this the vertexes are stored as points and +// the edges are stored as vectors in a counter-clockwise manner. The constructor becomes a set of respectively sorted +// points and computes the vectors out of them. Additionally the accessible/visible center of the polygon gets computed, +// to simplify the visiting order later, by using a meanshift algorithm. +class GeneralizedPolygon +{ +protected: + // vertexes + std::vector vertices_; + + // accessible center: a central point inside the polygon with maximum distance to walls + cv::Point center_; + + // center of bounding rectangle of polygon, may be located outside the polygon, i.e. in an inaccessible area多边形的边界矩形的中心,可以位于多边形之外,即在无法进入的区域 + cv::Point bounding_box_center_; + + // min/max coordinates + int max_x_, min_x_, max_y_, min_y_; + + // area of the polygon (cell number), in [pixel^2] + double area_; + +public: + // constructor + GeneralizedPolygon(const std::vector& vertices, const double map_resolution) + { + // save given vertexes + vertices_ = vertices; + + // get max/min x/y coordinates + max_x_ = 0; + min_x_ = 100000; + max_y_ = 0; + min_y_ = 100000; + for(size_t point=0; point max_x_) + max_x_ = vertices_[point].x; + if(vertices_[point].y > max_y_) + max_y_ = vertices_[point].y; + if(vertices_[point].x < min_x_) + min_x_ = vertices_[point].x; + if(vertices_[point].y < min_y_) + min_y_ = vertices_[point].y; + } + + bounding_box_center_.x = (min_x_+max_x_)/2; + bounding_box_center_.y = (min_y_+max_y_)/2; + + // compute visible center + MeanShift2D ms; + cv::Mat room = cv::Mat::zeros(max_y_+10, max_x_+10, CV_8UC1); +#if CV_MAJOR_VERSION<=3 + cv::drawContours(room, std::vector >(1,vertices), -1, cv::Scalar(255), CV_FILLED);//轮廓绘制 +#else + cv::drawContours(room, std::vector >(1,vertices), -1, cv::Scalar(255), cv::FILLED); +#endif + area_ = cv::countNonZero(room); + cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 +#if CV_MAJOR_VERSION<=3 + cv::distanceTransform(room, distance_map, CV_DIST_L2, 5); +#else + cv::distanceTransform(room, distance_map, cv::DIST_L2, 5); +#endif + // find point set with largest distance to obstacles + double min_val = 0., max_val = 0.; + cv::minMaxLoc(distance_map, &min_val, &max_val); + std::vector room_cells; + for (int v = 0; v < distance_map.rows; ++v) + for (int u = 0; u < distance_map.cols; ++u) + if (distance_map.at(v, u) > max_val * 0.95f) + room_cells.push_back(cv::Vec2d(u, v)); + // use meanshift to find the modes in that set + cv::Vec2d room_center = ms.findRoomCenter(room, room_cells, map_resolution); + // save found center + center_.x = room_center[0]; + center_.y = room_center[1]; + } + + std::vector getVertices() const + { + return vertices_; + } + + cv::Point getCenter() const + { + return center_; + } + + cv::Point getBoundingBoxCenter() const + { + return bounding_box_center_; + } + + double getArea() const + { + return area_; + } + + void drawPolygon(cv::Mat& image, const cv::Scalar& color) const + { + // draw polygon in an black image with necessary size + cv::Mat black_image = cv::Mat(max_y_+10, max_x_+10, CV_8UC1, cv::Scalar(0)); +#if CV_MAJOR_VERSION<=3 + cv::drawContours(black_image, std::vector >(1,vertices_), -1, color, CV_FILLED); +#else + cv::drawContours(black_image, std::vector >(1,vertices_), -1, color, cv::FILLED); +#endif + + // assign drawn map + image = black_image.clone(); + } + + void getMinMaxCoordinates(int& min_x, int& max_x, int& min_y, int& max_y) + { + min_x = min_x_; + max_x = max_x_; + min_y = min_y_; + max_y = max_y_; + } +}; + +// Structure to save edges of a path on one row, that allows to easily get the order of the edges when planning the +// boustrophedon path. +struct BoustrophedonHorizontalLine +{ + cv::Point left_corner_, right_corner_; +}; + +// Structure for saving several properties of cells +struct BoustrophedonCell +{ + typedef std::set > BoustrophedonCellSet; + typedef std::set >::iterator BoustrophedonCellSetIterator; + + int label_; // label id of the cell + double area_; // area of the cell, in [pixel^2] + cv::Rect bounding_box_; // bounding box of the cell + BoustrophedonCellSet neighbors_; // pointer to neighboring cells + + BoustrophedonCell(const int label, const double area, const cv::Rect& bounding_box) + { + label_ = label; + area_ = area; + bounding_box_ = bounding_box; + } + +}; + + +// Class that generates a room exploration path by using the morse cellular decomposition method, proposed by +// +// "H. Choset, E. Acar, A. A. Rizzi and J. Luntz, +// "Exact cellular decompositions in terms of critical points of Morse functions," Robotics and Automation, 2000. Proceedings. +// ICRA '00. IEEE International Conference on, San Francisco, CA, 2000, pp. 2270-2277 vol.3." +// +// This method decomposes the given environment into several cells which don't have any obstacle in it. For each of this +// cell the boustrophedon path is generated, which goes up and down in each cell, see the upper paper for reference. +// This class only produces a static path, regarding the given map in form of a point series. To react on dynamic +// obstacles, one has to do this in upper algorithms. +// +class BoustrophedonExplorer +{ +protected: + // pathplanner to check for the next nearest locations + AStarPlanner path_planner_; + + static const uchar BORDER_PIXEL_VALUE = 25; + + // rotates the original map for a good axis alignment and divides it into Morse cells + // the functions tries two axis alignments with 90deg rotation difference and chooses the one with the lower number of cells + void findBestCellDecomposition(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, + const int min_cell_width, cv::Mat& R, cv::Rect& bbox, cv::Mat& rotated_room_map, + std::vector& cell_polygons, std::vector& polygon_centers); + + // rotates the original map for a good axis alignment and divides it into Morse cells + // @param rotation_offset can be used to put an offset to the computed rotation for good axis alignment, in [rad] + void computeCellDecompositionWithRotation(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, + const int min_cell_width, const double rotation_offset, cv::Mat& R, cv::Rect& bbox, cv::Mat& rotated_room_map, + std::vector& cell_polygons, std::vector& polygon_centers); + + // divides the provided map into Morse cells + void computeCellDecomposition(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, + const int min_cell_width, std::vector& cell_polygons, std::vector& polygon_centers);//该函数返回每一个区间的多边形点数组cell_polygons以及每一个区间的中心点数组polygon_centers。 + + // merges cells after a cell decomposition according to various criteria specified in function @mergeCellsSelection + // returns the number of cells after merging + int mergeCells(cv::Mat& cell_map, cv::Mat& cell_map_labels, const double min_cell_area, const int min_cell_width); + + // implements the selection criterion for cell merging, in this case: too small (area) or too thin (width or height) cells + // are merged with their largest neighboring cell. + void mergeCellsSelection(cv::Mat& cell_map, cv::Mat& cell_map_labels, std::map >& cell_index_mapping, + const double min_cell_area, const int min_cell_width); + + // executes the merger of minor cell into major cell + void mergeTwoCells(cv::Mat& cell_map, cv::Mat& cell_map_labels, const BoustrophedonCell& minor_cell, BoustrophedonCell& major_cell, + std::map >& cell_index_mapping); + + // this function corrects obstacles that are one pixel width at 45deg angle, i.e. a 2x2 pixel neighborhood with [0, 255, 255, 0] or [255, 0, 0, 255] + void correctThinWalls(cv::Mat& room_map); + + // computes the Boustrophedon path pattern for a single cell + void computeBoustrophedonPath(const cv::Mat& room_map, const float map_resolution, const GeneralizedPolygon& cell, + std::vector& fov_middlepoint_path, cv::Point& robot_pos, + const int grid_spacing_as_int, const int half_grid_spacing_as_int, const double path_eps, const int max_deviation_from_track, const int grid_obstacle_offset=0); + + // downsamples a given path original_path to waypoint distances of path_eps and appends the resulting path to downsampled_path + void downsamplePath(const std::vector& original_path, std::vector& downsampled_path, + cv::Point& cell_robot_pos, const double path_eps); + + // downsamples a given path original_path to waypoint distances of path_eps in reverse order as given in original_path + // and appends the resulting path to downsampled_path + void downsamplePathReverse(const std::vector& original_path, std::vector& downsampled_path, + cv::Point& robot_pos, const double path_eps); + + void printCells(std::map >& cell_index_mapping); + +public: + // constructor + BoustrophedonExplorer(); + + // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), + // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions + // the robot should drive at. + void getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, + const cv::Point starting_position, const cv::Point2d map_origin, const double grid_spacing_in_pixel, + const double grid_obstacle_offset, const double path_eps, const int cell_visiting_order, const bool plan_for_footprint, + const Eigen::Matrix robot_to_fov_vector, const double min_cell_area, const int max_deviation_from_track); + + enum CellVisitingOrder {OPTIMAL_TSP=1, LEFT_TO_RIGHT=2}; +}; + + +class BoustrophedonVariantExplorer : public BoustrophedonExplorer +{ +protected: + + // implements the selection criterion for cell merging, in this case: only large cells with different major axis are not merged. + void mergeCellsSelection(cv::Mat& cell_map, cv::Mat& cell_map_labels, std::map >& cell_index_mapping, + const double min_cell_area, const int min_cell_width); + +public: + BoustrophedonVariantExplorer() {}; + ~BoustrophedonVariantExplorer() {}; + + +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/convex_sensor_placement_explorator.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/convex_sensor_placement_explorator.h new file mode 100644 index 0000000..7a40c39 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/convex_sensor_placement_explorator.h @@ -0,0 +1,162 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 11.2016 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once + + +#include +#include +#include +#include +#include +#include +#include +#include + +// Eigen library for matrix/vector computations +#include +// Coin-Or Cbc linear programming solver +#include +#include +#include +#include +// if available, use Gurobi +#ifdef GUROBI_FOUND + #include "gurobi_c++.h" +#endif + +#include +#include +#include + +#include +#include +#include +#include + +#include + + +#define PI 3.14159265359 + +// This class provides a coverage path planning algorithm, based on the work of +// +// Arain, M. A., Cirillo, M., Bennetts, V. H., Schaffernicht, E., Trincavelli, M., & Lilienthal, A. J. (2015, May). Efficient measurement planning for remote gas sensing with mobile robots. In 2015 IEEE International Conference on Robotics and Automation (ICRA) (pp. 3428-3434). IEEE. +// +// In this work originally a gas sensing robot is assumed, but by specifically defining the visibility function one can +// use this work for coverage path planning, especially for planning a route s.t. the field of view covers the free space. +// In the proposed paper the free space gets discretized into cells, that need to be covered. To do so a integer linear +// program of the form +// min C^T Ts +// s.t. VC >= 1 (elementwise) +// C[i] = {0, 1} +// is used, with C a column vector, representing if a sensing pose is used (1) or not (0), Ts a column vector storing the +// sensing cost at a specific sensing pose, V a matrix storing what cell is observed from a sensing pose. The first +// constraint ensures that each cell has been seen at least once and the objective function minimizes the number of sensing +// poses. To improve the efficiency of the algorithm a re-weighted convex relaxation method is used to enhance the +// sparsity of the above linear program. This is done by solving +// min (W o C)^T Ts +// s.t. VC >= 1 (elementwise) +// 0 <= C[i] <= 1 +// a few times, with calculating W new after each step. When the sparsity of C doesn't change much anymore or a number of +// iterations is reached, the zero elements of C are discarded and the first linear program is solved for the final result. +// This gives a minimal set of sensing poses s.t. all free cells can be observed with these. +// +class convexSPPExplorator +{ +protected: + // function that is used to create and solve a Gurobi optimization problem out of the given matrices and vectors, if + // Gurobi was found on the computer + template + void solveGurobiOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector* W); + + // function that is used to create and solve a Qsopt optimization problem out of the given matrices and vectors + template + void solveOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector* W); + + // object to find a path trough the chosen sensing poses by doing a repetitive nearest neighbor algorithm + NearestNeighborTSPSolver tsp_solver_; + + // object that plans a path from A to B using the Astar method + AStarPlanner path_planner_; + +public: + // constructor + convexSPPExplorator(); + + // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), + // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions + // the robot should drive at. The footprint stores a polygon that is used to determine the visibility at a specific + // sensing pose. delta_theta provides an angular step to determine candidates for sensing poses. + // map_resolution in [m/cell] + // starting_position starting position of the robot in [px] + // cell_size_pixel the side length of a grid square in [px] + // delta_theta angular sampling step when creating possible sensing poses in [rad] + // fov_corners_meter vector of corner coordinates of the field of view in [m] + // robot_to_fov_vector_meter the center of the field of view measured from the robot center in [m] + // largest_robot_to_footprint_distance_meter is the radius of the robot footprint for footprint planning (plan_for_footprint==true); + // or the largest distance between robot and a field of view corner (plan_for_footprint==false) + // (for fov planning, this may be set 0 and the function computes the maximum distance fov corner) + // plan_for_footprint if true, plan for the robot footprint of given radius (largest_robot_to_footprint_distance_meter); + // if false, plan for the field of view + void getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, + const cv::Point starting_position, const cv::Point2d map_origin, const int cell_size_pixel, const double delta_theta, + const std::vector >& fov_corners_meter, const Eigen::Matrix& robot_to_fov_vector_meter, + const double largest_robot_to_footprint_distance_meter, const uint sparsity_check_range, const bool plan_for_footprint); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/energy_functional_explorator.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/energy_functional_explorator.h new file mode 100644 index 0000000..aaec33b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/energy_functional_explorator.h @@ -0,0 +1,150 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 01.2017 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once + +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include + +#include +#include +#include + +#define PI 3.14159265359 +const double PI_2_INV = 1./(0.5*PI); + + + +// Struct that is used to create a node and save the corresponding neighbors. +struct EnergyExploratorNode +{ + cv::Point center_; + bool obstacle_; + bool visited_; + std::vector neighbors_; + + int countNonObstacleNeighbors() + { + int non_obstacle_neighbors = 0; + for(std::vector::iterator neighbor=neighbors_.begin(); neighbor!=neighbors_.end(); ++neighbor) + if((*neighbor)->obstacle_==false) + ++non_obstacle_neighbors; + return non_obstacle_neighbors; + } +}; + +// Struct used to create sets of energyExplorationNodes +struct cv_Point_cmp +{ + bool operator() (const cv::Point& lhs, const cv::Point& rhs) const + { + return ((lhs.y < rhs.y) || (lhs.y == rhs.y && lhs.x < rhs.x)); + } +}; + +// This class provides the functionality of coverage path planning, based on the work in +// +// Bormann Richard, Joshua Hampp, and Martin Hägele. "New brooms sweep clean-an autonomous robotic cleaning assistant for +// professional office cleaning." Robotics and Automation (ICRA), 2015 IEEE International Conference on. IEEE, 2015. +// +// In this method the area that should be covered is discretized into a grid, using the given grid size parameter d_0. Each of these +// resulting nodes should be visited in order to cover the whole free space. The path starts at the corner of the area that is +// closest to the starting position. After the start node, the next node is chosen from the neighbors that minimizes the energy functional +// E(l,n) = d_t(l,n) + d_r(l,n) + N(n), +// where l is the current robot pose, n the to be checked next pose. The summands represent different aspects that need to +// be taken into account. d_t is the translational distance computed as +// d_t(l,n) = ||l_xy-n_xy||_2/d_0, +// where l_xy or n_xy is the vector storing the position of the corresponding location. d_r is the rotational distance, computed as +// d_r(l,n) = 2*(l_theta-n_theta)/pi, +// where l_theta or n_theta are the angles of the corresponding poses. Function N(n) represents half the number of not yet visited +// locations among the 8 neighbors Nb8(n) around n and is computed as +// N(n) = 4 - sum_(k in Nb8(n)) |k ∩ L|/2, +// where L is the number of already visited nodes. If no accessible node in the direct neighborhood could be found, the algorithm +// searches for the next node in the whole grid. This procedure is repeated until all nodes have been visited. +// This class only produces a static path, regarding the given map in form of a point series. To react on dynamic +// obstacles, one has to do this in upper algorithms. +// +class EnergyFunctionalExplorator +{ +protected: + // function to compute the energy function for each pair of nodes + double E(const EnergyExploratorNode& location, const EnergyExploratorNode& neighbor, const double cell_size_in_pixel, const double previous_travel_angle); + +public: + // constructor + EnergyFunctionalExplorator(); + + // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), + // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions + // the robot should drive at. + void getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, + const cv::Point starting_position, const cv::Point2d map_origin, const double grid_spacing_in_pixel, + const bool plan_for_footprint, const Eigen::Matrix robot_to_fov_vector); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/fast_math.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/fast_math.h new file mode 100644 index 0000000..372bf15 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/fast_math.h @@ -0,0 +1,1620 @@ +/*=====================================================================* + * Copyright (C) 2012 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __CAST_H_ + +#ifdef __cplusplus +#define cast_uint32_t static_cast +#else +#define cast_uint32_t (uint32_t) +#endif + +#endif // __CAST_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __SSE_H_ +#define __SSE_H_ + +#ifdef __SSE2__ + +#include + +#ifdef __cplusplus +namespace { +#endif // __cplusplus + +typedef __m128 v4sf; +typedef __m128i v4si; + +#define v4si_to_v4sf _mm_cvtepi32_ps +#define v4sf_to_v4si _mm_cvttps_epi32 + +#define v4sfl(x) ((const v4sf) { (x), (x), (x), (x) }) +#define v2dil(x) ((const v4si) { (x), (x) }) +#define v4sil(x) v2dil((((long long) (x)) << 32) | (x)) +//#define v4sil(x) v2dil((((unsigned long long) (x)) << 32) | (x)) // error with Ubuntu 16.04 +//In file included from /home/rmb/git/care-o-bot/src/autopnp/ipa_room_exploration/common/src/meanshift2d.cpp:61:0: +///../fast_math.h: In function ‘{anonymous}::v4sf vfasterfc({anonymous}::v4sf)’: +///../fast_math.h:108:43: error: narrowing conversion of ‘9223372039002259456ull’ from ‘long long unsigned int’ to ‘long long int’ inside { } [-Wnarrowing] +// #define v2dil(x) ((const v4si) { (x), (x) }) +// ^ +///../fast_math.h:109:18: note: in expansion of macro ‘v2dil’ +// #define v4sil(x) v2dil((((unsigned long long) (x)) << 32) | (x)) +// ^ +///../fast_math.h:543:11: note: in expansion of macro ‘v4sil’ +// vc.i |= v4sil (0x80000000); + + +typedef union { v4sf f; float array[4]; } v4sfindexer; +#define v4sf_index(_findx, _findi) \ + ({ \ + v4sfindexer _findvx = { _findx } ; \ + _findvx.array[_findi]; \ + }) +typedef union { v4si i; int array[4]; } v4siindexer; +#define v4si_index(_iindx, _iindi) \ + ({ \ + v4siindexer _iindvx = { _iindx } ; \ + _iindvx.array[_iindi]; \ + }) + +typedef union { v4sf f; v4si i; } v4sfv4sipun; +#define v4sf_fabs(x) \ + ({ \ + v4sfv4sipun vx; \ + vx.f = x; \ + vx.i &= v4sil (0x7FFFFFFF); \ + vx.f; \ + }) + +#ifdef __cplusplus +} // end namespace +#endif // __cplusplus + +#endif // __SSE2__ + +#endif // __SSE_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_EXP_H_ +#define __FAST_EXP_H_ + +#include + +// Underflow of exponential is common practice in numerical routines, +// so handle it here. + +static inline float +fastpow2 (float p) +{ + float offset = (p < 0) ? 1.0f : 0.0f; + float clipp = (p < -126) ? -126.0f : p; + int w = clipp; + float z = clipp - w + offset; + union { uint32_t i; float f; } v = { cast_uint32_t ( (1 << 23) * (clipp + 121.2740575f + 27.7280233f / (4.84252568f - z) - 1.49012907f * z) ) }; + + return v.f; +} + +static inline float +fastexp (float p) +{ + return fastpow2 (1.442695040f * p); +} + +static inline float +fasterpow2 (float p) +{ + float clipp = (p < -126) ? -126.0f : p; + union { uint32_t i; float f; } v = { cast_uint32_t ( (1 << 23) * (clipp + 126.94269504f) ) }; + return v.f; +} + +static inline float +fasterexp (float p) +{ + return fasterpow2 (1.442695040f * p); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastpow2 (const v4sf p) +{ + v4sf ltzero = _mm_cmplt_ps (p, v4sfl (0.0f)); + v4sf offset = _mm_and_ps (ltzero, v4sfl (1.0f)); + v4sf lt126 = _mm_cmplt_ps (p, v4sfl (-126.0f)); + v4sf clipp = _mm_or_ps (_mm_andnot_ps (lt126, p), _mm_and_ps (lt126, v4sfl (-126.0f))); + v4si w = v4sf_to_v4si (clipp); + v4sf z = clipp - v4si_to_v4sf (w) + offset; + + const v4sf c_121_2740838 = v4sfl (121.2740575f); + const v4sf c_27_7280233 = v4sfl (27.7280233f); + const v4sf c_4_84252568 = v4sfl (4.84252568f); + const v4sf c_1_49012907 = v4sfl (1.49012907f); + union { v4si i; v4sf f; } v = { + v4sf_to_v4si ( + v4sfl (1 << 23) * + (clipp + c_121_2740838 + c_27_7280233 / (c_4_84252568 - z) - c_1_49012907 * z) + ) + }; + + return v.f; +} + +static inline v4sf +vfastexp (const v4sf p) +{ + const v4sf c_invlog_2 = v4sfl (1.442695040f); + + return vfastpow2 (c_invlog_2 * p); +} + +static inline v4sf +vfasterpow2 (const v4sf p) +{ + const v4sf c_126_94269504 = v4sfl (126.94269504f); + v4sf lt126 = _mm_cmplt_ps (p, v4sfl (-126.0f)); + v4sf clipp = _mm_or_ps (_mm_andnot_ps (lt126, p), _mm_and_ps (lt126, v4sfl (-126.0f))); + union { v4si i; v4sf f; } v = { v4sf_to_v4si (v4sfl (1 << 23) * (clipp + c_126_94269504)) }; + return v.f; +} + +static inline v4sf +vfasterexp (const v4sf p) +{ + const v4sf c_invlog_2 = v4sfl (1.442695040f); + + return vfasterpow2 (c_invlog_2 * p); +} + +#endif //__SSE2__ + +#endif // __FAST_EXP_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_LOG_H_ +#define __FAST_LOG_H_ + +#include + +static inline float +fastlog2 (float x) +{ + union { float f; uint32_t i; } vx = { x }; + union { uint32_t i; float f; } mx = { (vx.i & 0x007FFFFF) | 0x3f000000 }; + float y = vx.i; + y *= 1.1920928955078125e-7f; + + return y - 124.22551499f + - 1.498030302f * mx.f + - 1.72587999f / (0.3520887068f + mx.f); +} + +static inline float +fastlog (float x) +{ + return 0.69314718f * fastlog2 (x); +} + +static inline float +fasterlog2 (float x) +{ + union { float f; uint32_t i; } vx = { x }; + float y = vx.i; + y *= 1.1920928955078125e-7f; + return y - 126.94269504f; +} + +static inline float +fasterlog (float x) +{ +// return 0.69314718f * fasterlog2 (x); + + union { float f; uint32_t i; } vx = { x }; + float y = vx.i; + y *= 8.2629582881927490e-8f; + return y - 87.989971088f; +} + +#ifdef __SSE2__ + +static inline v4sf +vfastlog2 (v4sf x) +{ + union { v4sf f; v4si i; } vx = { x }; + union { v4si i; v4sf f; } mx; mx.i = (vx.i & v4sil (0x007FFFFF)) | v4sil (0x3f000000); + v4sf y = v4si_to_v4sf (vx.i); + y *= v4sfl (1.1920928955078125e-7f); + + const v4sf c_124_22551499 = v4sfl (124.22551499f); + const v4sf c_1_498030302 = v4sfl (1.498030302f); + const v4sf c_1_725877999 = v4sfl (1.72587999f); + const v4sf c_0_3520087068 = v4sfl (0.3520887068f); + + return y - c_124_22551499 + - c_1_498030302 * mx.f + - c_1_725877999 / (c_0_3520087068 + mx.f); +} + +static inline v4sf +vfastlog (v4sf x) +{ + const v4sf c_0_69314718 = v4sfl (0.69314718f); + + return c_0_69314718 * vfastlog2 (x); +} + +static inline v4sf +vfasterlog2 (v4sf x) +{ + union { v4sf f; v4si i; } vx = { x }; + v4sf y = v4si_to_v4sf (vx.i); + y *= v4sfl (1.1920928955078125e-7f); + + const v4sf c_126_94269504 = v4sfl (126.94269504f); + + return y - c_126_94269504; +} + +static inline v4sf +vfasterlog (v4sf x) +{ +// const v4sf c_0_69314718 = v4sfl (0.69314718f); +// +// return c_0_69314718 * vfasterlog2 (x); + + union { v4sf f; v4si i; } vx = { x }; + v4sf y = v4si_to_v4sf (vx.i); + y *= v4sfl (8.2629582881927490e-8f); + + const v4sf c_87_989971088 = v4sfl (87.989971088f); + + return y - c_87_989971088; +} + +#endif // __SSE2__ + +#endif // __FAST_LOG_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_ERF_H_ +#define __FAST_ERF_H_ + +#include +#include + +// fasterfc: not actually faster than erfcf(3) on newer machines! +// ... although vectorized version is interesting +// and fastererfc is very fast + +static inline float +fasterfc (float x) +{ + static const float k = 3.3509633149424609f; + static const float a = 0.07219054755431126f; + static const float b = 15.418191568719577f; + static const float c = 5.609846028328545f; + + union { float f; uint32_t i; } vc = { c * x }; + float xsq = x * x; + float xquad = xsq * xsq; + + vc.i |= 0x80000000; + + return 2.0f / (1.0f + fastpow2 (k * x)) - a * x * (b * xquad - 1.0f) * fasterpow2 (vc.f); +} + +static inline float +fastererfc (float x) +{ + static const float k = 3.3509633149424609f; + + return 2.0f / (1.0f + fasterpow2 (k * x)); +} + +// fasterf: not actually faster than erff(3) on newer machines! +// ... although vectorized version is interesting +// and fastererf is very fast + +static inline float +fasterf (float x) +{ + return 1.0f - fasterfc (x); +} + +static inline float +fastererf (float x) +{ + return 1.0f - fastererfc (x); +} + +static inline float +fastinverseerf (float x) +{ + static const float invk = 0.30004578719350504f; + static const float a = 0.020287853348211326f; + static const float b = 0.07236892874789555f; + static const float c = 0.9913030456864257f; + static const float d = 0.8059775923760193f; + + float xsq = x * x; + + return invk * fastlog2 ((1.0f + x) / (1.0f - x)) + + x * (a - b * xsq) / (c - d * xsq); +} + +static inline float +fasterinverseerf (float x) +{ + static const float invk = 0.30004578719350504f; + + return invk * fasterlog2 ((1.0f + x) / (1.0f - x)); +} + +#ifdef __SSE2__ + +static inline v4sf +vfasterfc (v4sf x) +{ + const v4sf k = v4sfl (3.3509633149424609f); + const v4sf a = v4sfl (0.07219054755431126f); + const v4sf b = v4sfl (15.418191568719577f); + const v4sf c = v4sfl (5.609846028328545f); + + union { v4sf f; v4si i; } vc; vc.f = c * x; + vc.i |= v4sil (0x80000000); + + v4sf xsq = x * x; + v4sf xquad = xsq * xsq; + + return v4sfl (2.0f) / (v4sfl (1.0f) + vfastpow2 (k * x)) - a * x * (b * xquad - v4sfl (1.0f)) * vfasterpow2 (vc.f); +} + +static inline v4sf +vfastererfc (const v4sf x) +{ + const v4sf k = v4sfl (3.3509633149424609f); + + return v4sfl (2.0f) / (v4sfl (1.0f) + vfasterpow2 (k * x)); +} + +static inline v4sf +vfasterf (v4sf x) +{ + return v4sfl (1.0f) - vfasterfc (x); +} + +static inline v4sf +vfastererf (const v4sf x) +{ + return v4sfl (1.0f) - vfastererfc (x); +} + +static inline v4sf +vfastinverseerf (v4sf x) +{ + const v4sf invk = v4sfl (0.30004578719350504f); + const v4sf a = v4sfl (0.020287853348211326f); + const v4sf b = v4sfl (0.07236892874789555f); + const v4sf c = v4sfl (0.9913030456864257f); + const v4sf d = v4sfl (0.8059775923760193f); + + v4sf xsq = x * x; + + return invk * vfastlog2 ((v4sfl (1.0f) + x) / (v4sfl (1.0f) - x)) + + x * (a - b * xsq) / (c - d * xsq); +} + +static inline v4sf +vfasterinverseerf (v4sf x) +{ + const v4sf invk = v4sfl (0.30004578719350504f); + + return invk * vfasterlog2 ((v4sfl (1.0f) + x) / (v4sfl (1.0f) - x)); +} + +#endif //__SSE2__ + +#endif // __FAST_ERF_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_GAMMA_H_ +#define __FAST_GAMMA_H_ + +#include + +/* gamma/digamma functions only work for positive inputs */ + +static inline float +fastlgamma (float x) +{ + float logterm = fastlog (x * (1.0f + x) * (2.0f + x)); + float xp3 = 3.0f + x; + + return - 2.081061466f + - x + + 0.0833333f / xp3 + - logterm + + (2.5f + x) * fastlog (xp3); +} + +static inline float +fasterlgamma (float x) +{ + return - 0.0810614667f + - x + - fasterlog (x) + + (0.5f + x) * fasterlog (1.0f + x); +} + +static inline float +fastdigamma (float x) +{ + float twopx = 2.0f + x; + float logterm = fastlog (twopx); + + return (-48.0f + x * (-157.0f + x * (-127.0f - 30.0f * x))) / + (12.0f * x * (1.0f + x) * twopx * twopx) + + logterm; +} + +static inline float +fasterdigamma (float x) +{ + float onepx = 1.0f + x; + + return -1.0f / x - 1.0f / (2 * onepx) + fasterlog (onepx); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastlgamma (v4sf x) +{ + const v4sf c_1_0 = v4sfl (1.0f); + const v4sf c_2_0 = v4sfl (2.0f); + const v4sf c_3_0 = v4sfl (3.0f); + const v4sf c_2_081061466 = v4sfl (2.081061466f); + const v4sf c_0_0833333 = v4sfl (0.0833333f); + const v4sf c_2_5 = v4sfl (2.5f); + + v4sf logterm = vfastlog (x * (c_1_0 + x) * (c_2_0 + x)); + v4sf xp3 = c_3_0 + x; + + return - c_2_081061466 + - x + + c_0_0833333 / xp3 + - logterm + + (c_2_5 + x) * vfastlog (xp3); +} + +static inline v4sf +vfasterlgamma (v4sf x) +{ + const v4sf c_0_0810614667 = v4sfl (0.0810614667f); + const v4sf c_0_5 = v4sfl (0.5f); + const v4sf c_1 = v4sfl (1.0f); + + return - c_0_0810614667 + - x + - vfasterlog (x) + + (c_0_5 + x) * vfasterlog (c_1 + x); +} + +static inline v4sf +vfastdigamma (v4sf x) +{ + v4sf twopx = v4sfl (2.0f) + x; + v4sf logterm = vfastlog (twopx); + + return (v4sfl (-48.0f) + x * (v4sfl (-157.0f) + x * (v4sfl (-127.0f) - v4sfl (30.0f) * x))) / + (v4sfl (12.0f) * x * (v4sfl (1.0f) + x) * twopx * twopx) + + logterm; +} + +static inline v4sf +vfasterdigamma (v4sf x) +{ + const v4sf c_1_0 = v4sfl (1.0f); + const v4sf c_2_0 = v4sfl (2.0f); + v4sf onepx = c_1_0 + x; + + return -c_1_0 / x - c_1_0 / (c_2_0 * onepx) + vfasterlog (onepx); +} + +#endif //__SSE2__ + +#endif // __FAST_GAMMA_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_HYPERBOLIC_H_ +#define __FAST_HYPERBOLIC_H_ + +#include + +static inline float +fastsinh (float p) +{ + return 0.5f * (fastexp (p) - fastexp (-p)); +} + +static inline float +fastersinh (float p) +{ + return 0.5f * (fasterexp (p) - fasterexp (-p)); +} + +static inline float +fastcosh (float p) +{ + return 0.5f * (fastexp (p) + fastexp (-p)); +} + +static inline float +fastercosh (float p) +{ + return 0.5f * (fasterexp (p) + fasterexp (-p)); +} + +static inline float +fasttanh (float p) +{ + return -1.0f + 2.0f / (1.0f + fastexp (-2.0f * p)); +} + +static inline float +fastertanh (float p) +{ + return -1.0f + 2.0f / (1.0f + fasterexp (-2.0f * p)); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastsinh (const v4sf p) +{ + const v4sf c_0_5 = v4sfl (0.5f); + + return c_0_5 * (vfastexp (p) - vfastexp (-p)); +} + +static inline v4sf +vfastersinh (const v4sf p) +{ + const v4sf c_0_5 = v4sfl (0.5f); + + return c_0_5 * (vfasterexp (p) - vfasterexp (-p)); +} + +static inline v4sf +vfastcosh (const v4sf p) +{ + const v4sf c_0_5 = v4sfl (0.5f); + + return c_0_5 * (vfastexp (p) + vfastexp (-p)); +} + +static inline v4sf +vfastercosh (const v4sf p) +{ + const v4sf c_0_5 = v4sfl (0.5f); + + return c_0_5 * (vfasterexp (p) + vfasterexp (-p)); +} + +static inline v4sf +vfasttanh (const v4sf p) +{ + const v4sf c_1 = v4sfl (1.0f); + const v4sf c_2 = v4sfl (2.0f); + + return -c_1 + c_2 / (c_1 + vfastexp (-c_2 * p)); +} + +static inline v4sf +vfastertanh (const v4sf p) +{ + const v4sf c_1 = v4sfl (1.0f); + const v4sf c_2 = v4sfl (2.0f); + + return -c_1 + c_2 / (c_1 + vfasterexp (-c_2 * p)); +} + +#endif //__SSE2__ + +#endif // __FAST_HYPERBOLIC_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_LAMBERT_W_H_ +#define __FAST_LAMBERT_W_H_ + +#include + +// these functions compute the upper branch aka W_0 + +static inline float +fastlambertw (float x) +{ + static const float threshold = 2.26445f; + + float c = (x < threshold) ? 1.546865557f : 1.0f; + float d = (x < threshold) ? 2.250366841f : 0.0f; + float a = (x < threshold) ? -0.737769969f : 0.0f; + + float logterm = fastlog (c * x + d); + float loglogterm = fastlog (logterm); + + float minusw = -a - logterm + loglogterm - loglogterm / logterm; + float expminusw = fastexp (minusw); + float xexpminusw = x * expminusw; + float pexpminusw = xexpminusw - minusw; + + return (2.0f * xexpminusw - minusw * (4.0f * xexpminusw - minusw * pexpminusw)) / + (2.0f + pexpminusw * (2.0f - minusw)); +} + +static inline float +fasterlambertw (float x) +{ + static const float threshold = 2.26445f; + + float c = (x < threshold) ? 1.546865557f : 1.0f; + float d = (x < threshold) ? 2.250366841f : 0.0f; + float a = (x < threshold) ? -0.737769969f : 0.0f; + + float logterm = fasterlog (c * x + d); + float loglogterm = fasterlog (logterm); + + float w = a + logterm - loglogterm + loglogterm / logterm; + float expw = fasterexp (-w); + + return (w * w + expw * x) / (1.0f + w); +} + +static inline float +fastlambertwexpx (float x) +{ + static const float k = 1.1765631309f; + static const float a = 0.94537622168f; + + float logarg = fmaxf (x, k); + float powarg = (x < k) ? a * (x - k) : 0; + + float logterm = fastlog (logarg); + float powterm = fasterpow2 (powarg); // don't need accuracy here + + float w = powterm * (logarg - logterm + logterm / logarg); + float logw = fastlog (w); + float p = x - logw; + + return w * (2.0f + p + w * (3.0f + 2.0f * p)) / + (2.0f - p + w * (5.0f + 2.0f * w)); +} + +static inline float +fasterlambertwexpx (float x) +{ + static const float k = 1.1765631309f; + static const float a = 0.94537622168f; + + float logarg = fmaxf (x, k); + float powarg = (x < k) ? a * (x - k) : 0; + + float logterm = fasterlog (logarg); + float powterm = fasterpow2 (powarg); + + float w = powterm * (logarg - logterm + logterm / logarg); + float logw = fasterlog (w); + + return w * (1.0f + x - logw) / (1.0f + w); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastlambertw (v4sf x) +{ + const v4sf threshold = v4sfl (2.26445f); + + v4sf under = _mm_cmplt_ps (x, threshold); + v4sf c = _mm_or_ps (_mm_and_ps (under, v4sfl (1.546865557f)), + _mm_andnot_ps (under, v4sfl (1.0f))); + v4sf d = _mm_and_ps (under, v4sfl (2.250366841f)); + v4sf a = _mm_and_ps (under, v4sfl (-0.737769969f)); + + v4sf logterm = vfastlog (c * x + d); + v4sf loglogterm = vfastlog (logterm); + + v4sf minusw = -a - logterm + loglogterm - loglogterm / logterm; + v4sf expminusw = vfastexp (minusw); + v4sf xexpminusw = x * expminusw; + v4sf pexpminusw = xexpminusw - minusw; + + return (v4sfl (2.0f) * xexpminusw - minusw * (v4sfl (4.0f) * xexpminusw - minusw * pexpminusw)) / + (v4sfl (2.0f) + pexpminusw * (v4sfl (2.0f) - minusw)); +} + +static inline v4sf +vfasterlambertw (v4sf x) +{ + const v4sf threshold = v4sfl (2.26445f); + + v4sf under = _mm_cmplt_ps (x, threshold); + v4sf c = _mm_or_ps (_mm_and_ps (under, v4sfl (1.546865557f)), + _mm_andnot_ps (under, v4sfl (1.0f))); + v4sf d = _mm_and_ps (under, v4sfl (2.250366841f)); + v4sf a = _mm_and_ps (under, v4sfl (-0.737769969f)); + + v4sf logterm = vfasterlog (c * x + d); + v4sf loglogterm = vfasterlog (logterm); + + v4sf w = a + logterm - loglogterm + loglogterm / logterm; + v4sf expw = vfasterexp (-w); + + return (w * w + expw * x) / (v4sfl (1.0f) + w); +} + +static inline v4sf +vfastlambertwexpx (v4sf x) +{ + const v4sf k = v4sfl (1.1765631309f); + const v4sf a = v4sfl (0.94537622168f); + const v4sf two = v4sfl (2.0f); + const v4sf three = v4sfl (3.0f); + const v4sf five = v4sfl (5.0f); + + v4sf logarg = _mm_max_ps (x, k); + v4sf powarg = _mm_and_ps (_mm_cmplt_ps (x, k), a * (x - k)); + + v4sf logterm = vfastlog (logarg); + v4sf powterm = vfasterpow2 (powarg); // don't need accuracy here + + v4sf w = powterm * (logarg - logterm + logterm / logarg); + v4sf logw = vfastlog (w); + v4sf p = x - logw; + + return w * (two + p + w * (three + two * p)) / + (two - p + w * (five + two * w)); +} + +static inline v4sf +vfasterlambertwexpx (v4sf x) +{ + const v4sf k = v4sfl (1.1765631309f); + const v4sf a = v4sfl (0.94537622168f); + + v4sf logarg = _mm_max_ps (x, k); + v4sf powarg = _mm_and_ps (_mm_cmplt_ps (x, k), a * (x - k)); + + v4sf logterm = vfasterlog (logarg); + v4sf powterm = vfasterpow2 (powarg); + + v4sf w = powterm * (logarg - logterm + logterm / logarg); + v4sf logw = vfasterlog (w); + + return w * (v4sfl (1.0f) + x - logw) / (v4sfl (1.0f) + w); +} + +#endif // __SSE2__ + +#endif // __FAST_LAMBERT_W_H_ + +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_POW_H_ +#define __FAST_POW_H_ + +#include + +static inline float +fastpow (float x, + float p) +{ + return fastpow2 (p * fastlog2 (x)); +} + +static inline float +fasterpow (float x, + float p) +{ + return fasterpow2 (p * fasterlog2 (x)); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastpow (const v4sf x, + const v4sf p) +{ + return vfastpow2 (p * vfastlog2 (x)); +} + +static inline v4sf +vfasterpow (const v4sf x, + const v4sf p) +{ + return vfasterpow2 (p * vfasterlog2 (x)); +} + +#endif //__SSE2__ + +#endif // __FAST_POW_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_SIGMOID_H_ +#define __FAST_SIGMOID_H_ + +#include + +static inline float +fastsigmoid (float x) +{ + return 1.0f / (1.0f + fastexp (-x)); +} + +static inline float +fastersigmoid (float x) +{ + return 1.0f / (1.0f + fasterexp (-x)); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastsigmoid (const v4sf x) +{ + const v4sf c_1 = v4sfl (1.0f); + + return c_1 / (c_1 + vfastexp (-x)); +} + +static inline v4sf +vfastersigmoid (const v4sf x) +{ + const v4sf c_1 = v4sfl (1.0f); + + return c_1 / (c_1 + vfasterexp (-x)); +} + +#endif //__SSE2__ + +#endif // __FAST_SIGMOID_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_TRIG_H_ +#define __FAST_TRIG_H_ + +#include + +// http://www.devmaster.net/forums/showthread.php?t=5784 +// fast sine variants are for x \in [ -\pi, pi ] +// fast cosine variants are for x \in [ -\pi, pi ] +// fast tangent variants are for x \in [ -\pi / 2, pi / 2 ] +// "full" versions of functions handle the entire range of inputs +// although the range reduction technique used here will be hopelessly +// inaccurate for |x| >> 1000 +// +// WARNING: fastsinfull, fastcosfull, and fasttanfull can be slower than +// libc calls on older machines (!) and on newer machines are only +// slighly faster. however: +// * vectorized versions are competitive +// * faster full versions are competitive + +static inline float +fastsin (float x) +{ + static const float fouroverpi = 1.2732395447351627f; + static const float fouroverpisq = 0.40528473456935109f; + static const float q = 0.78444488374548933f; + union { float f; uint32_t i; } p = { 0.20363937680730309f }; + union { float f; uint32_t i; } r = { 0.015124940802184233f }; + union { float f; uint32_t i; } s = { -0.0032225901625579573f }; + + union { float f; uint32_t i; } vx = { x }; + uint32_t sign = vx.i & 0x80000000; + vx.i = vx.i & 0x7FFFFFFF; + + float qpprox = fouroverpi * x - fouroverpisq * x * vx.f; + float qpproxsq = qpprox * qpprox; + + p.i |= sign; + r.i |= sign; + s.i ^= sign; + + return q * qpprox + qpproxsq * (p.f + qpproxsq * (r.f + qpproxsq * s.f)); +} + +static inline float +fastersin (float x) +{ + static const float fouroverpi = 1.2732395447351627f; + static const float fouroverpisq = 0.40528473456935109f; + static const float q = 0.77633023248007499f; + union { float f; uint32_t i; } p = { 0.22308510060189463f }; + + union { float f; uint32_t i; } vx = { x }; + uint32_t sign = vx.i & 0x80000000; + vx.i &= 0x7FFFFFFF; + + float qpprox = fouroverpi * x - fouroverpisq * x * vx.f; + + p.i |= sign; + + return qpprox * (q + p.f * qpprox); +} + +static inline float +fastsinfull (float x) +{ + static const float twopi = 6.2831853071795865f; + static const float invtwopi = 0.15915494309189534f; + + int k = x * invtwopi; + float half = (x < 0) ? -0.5f : 0.5f; + return fastsin ((half + k) * twopi - x); +} + +static inline float +fastersinfull (float x) +{ + static const float twopi = 6.2831853071795865f; + static const float invtwopi = 0.15915494309189534f; + + int k = x * invtwopi; + float half = (x < 0) ? -0.5f : 0.5f; + return fastersin ((half + k) * twopi - x); +} + +static inline float +fastcos (float x) +{ + static const float halfpi = 1.5707963267948966f; + static const float halfpiminustwopi = -4.7123889803846899f; + float offset = (x > halfpi) ? halfpiminustwopi : halfpi; + return fastsin (x + offset); +} + +static inline float +fastercos (float x) +{ + static const float twooverpi = 0.63661977236758134f; + static const float p = 0.54641335845679634f; + + union { float f; uint32_t i; } vx = { x }; + vx.i &= 0x7FFFFFFF; + + float qpprox = 1.0f - twooverpi * vx.f; + + return qpprox + p * qpprox * (1.0f - qpprox * qpprox); +} + +static inline float +fastcosfull (float x) +{ + static const float halfpi = 1.5707963267948966f; + return fastsinfull (x + halfpi); +} + +static inline float +fastercosfull (float x) +{ + static const float halfpi = 1.5707963267948966f; + return fastersinfull (x + halfpi); +} + +static inline float +fasttan (float x) +{ + static const float halfpi = 1.5707963267948966f; + return fastsin (x) / fastsin (x + halfpi); +} + +static inline float +fastertan (float x) +{ + return fastersin (x) / fastercos (x); +} + +static inline float +fasttanfull (float x) +{ + static const float twopi = 6.2831853071795865f; + static const float invtwopi = 0.15915494309189534f; + + int k = x * invtwopi; + float half = (x < 0) ? -0.5f : 0.5f; + float xnew = x - (half + k) * twopi; + + return fastsin (xnew) / fastcos (xnew); +} + +static inline float +fastertanfull (float x) +{ + static const float twopi = 6.2831853071795865f; + static const float invtwopi = 0.15915494309189534f; + + int k = x * invtwopi; + float half = (x < 0) ? -0.5f : 0.5f; + float xnew = x - (half + k) * twopi; + + return fastersin (xnew) / fastercos (xnew); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastsin (const v4sf x) +{ + const v4sf fouroverpi = v4sfl (1.2732395447351627f); + const v4sf fouroverpisq = v4sfl (0.40528473456935109f); + const v4sf q = v4sfl (0.78444488374548933f); + const v4sf p = v4sfl (0.20363937680730309f); + const v4sf r = v4sfl (0.015124940802184233f); + const v4sf s = v4sfl (-0.0032225901625579573f); + + union { v4sf f; v4si i; } vx = { x }; + v4si sign = vx.i & v4sil (0x80000000); + vx.i &= v4sil (0x7FFFFFFF); + + v4sf qpprox = fouroverpi * x - fouroverpisq * x * vx.f; + v4sf qpproxsq = qpprox * qpprox; + union { v4sf f; v4si i; } vy; vy.f = qpproxsq * (p + qpproxsq * (r + qpproxsq * s)); + vy.i ^= sign; + + return q * qpprox + vy.f; +} + +static inline v4sf +vfastersin (const v4sf x) +{ + const v4sf fouroverpi = v4sfl (1.2732395447351627f); + const v4sf fouroverpisq = v4sfl (0.40528473456935109f); + const v4sf q = v4sfl (0.77633023248007499f); + const v4sf plit = v4sfl (0.22308510060189463f); + union { v4sf f; v4si i; } p = { plit }; + + union { v4sf f; v4si i; } vx = { x }; + v4si sign = vx.i & v4sil (0x80000000); + vx.i &= v4sil (0x7FFFFFFF); + + v4sf qpprox = fouroverpi * x - fouroverpisq * x * vx.f; + + p.i |= sign; + + return qpprox * (q + p.f * qpprox); +} + +static inline v4sf +vfastsinfull (const v4sf x) +{ + const v4sf twopi = v4sfl (6.2831853071795865f); + const v4sf invtwopi = v4sfl (0.15915494309189534f); + + v4si k = v4sf_to_v4si (x * invtwopi); + + v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); + v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), + _mm_andnot_ps (ltzero, v4sfl (0.5f))); + + return vfastsin ((half + v4si_to_v4sf (k)) * twopi - x); +} + +static inline v4sf +vfastersinfull (const v4sf x) +{ + const v4sf twopi = v4sfl (6.2831853071795865f); + const v4sf invtwopi = v4sfl (0.15915494309189534f); + + v4si k = v4sf_to_v4si (x * invtwopi); + + v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); + v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), + _mm_andnot_ps (ltzero, v4sfl (0.5f))); + + return vfastersin ((half + v4si_to_v4sf (k)) * twopi - x); +} + +static inline v4sf +vfastcos (const v4sf x) +{ + const v4sf halfpi = v4sfl (1.5707963267948966f); + const v4sf halfpiminustwopi = v4sfl (-4.7123889803846899f); + v4sf lthalfpi = _mm_cmpnlt_ps (x, halfpi); + v4sf offset = _mm_or_ps (_mm_and_ps (lthalfpi, halfpiminustwopi), + _mm_andnot_ps (lthalfpi, halfpi)); + return vfastsin (x + offset); +} + +static inline v4sf +vfastercos (v4sf x) +{ + const v4sf twooverpi = v4sfl (0.63661977236758134f); + const v4sf p = v4sfl (0.54641335845679634); + + v4sf vx = v4sf_fabs (x); + v4sf qpprox = v4sfl (1.0f) - twooverpi * vx; + + return qpprox + p * qpprox * (v4sfl (1.0f) - qpprox * qpprox); +} + +static inline v4sf +vfastcosfull (const v4sf x) +{ + const v4sf halfpi = v4sfl (1.5707963267948966f); + return vfastsinfull (x + halfpi); +} + +static inline v4sf +vfastercosfull (const v4sf x) +{ + const v4sf halfpi = v4sfl (1.5707963267948966f); + return vfastersinfull (x + halfpi); +} + +static inline v4sf +vfasttan (const v4sf x) +{ + const v4sf halfpi = v4sfl (1.5707963267948966f); + return vfastsin (x) / vfastsin (x + halfpi); +} + +static inline v4sf +vfastertan (const v4sf x) +{ + return vfastersin (x) / vfastercos (x); +} + +static inline v4sf +vfasttanfull (const v4sf x) +{ + const v4sf twopi = v4sfl (6.2831853071795865f); + const v4sf invtwopi = v4sfl (0.15915494309189534f); + + v4si k = v4sf_to_v4si (x * invtwopi); + + v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); + v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), + _mm_andnot_ps (ltzero, v4sfl (0.5f))); + v4sf xnew = x - (half + v4si_to_v4sf (k)) * twopi; + + return vfastsin (xnew) / vfastcos (xnew); +} + +static inline v4sf +vfastertanfull (const v4sf x) +{ + const v4sf twopi = v4sfl (6.2831853071795865f); + const v4sf invtwopi = v4sfl (0.15915494309189534f); + + v4si k = v4sf_to_v4si (x * invtwopi); + + v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); + v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), + _mm_andnot_ps (ltzero, v4sfl (0.5f))); + v4sf xnew = x - (half + v4si_to_v4sf (k)) * twopi; + + return vfastersin (xnew) / vfastercos (xnew); +} + +#endif //__SSE2__ + +#endif // __FAST_TRIG_H_ diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/flow_network_explorator.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/flow_network_explorator.h new file mode 100644 index 0000000..1225864 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/flow_network_explorator.h @@ -0,0 +1,509 @@ +// OpenCV +#include +#include +// standard c++ includes +#include +#include +#include +#include +#include +#include +#include +#include +// Eigen library for matrix/vector computations +#include +// Coin-Or library with Cbc mixed integer programming solver +#include +#include +#include +#include +// Coin-Or library with Clp linear programming solver +#include +// Boost libraries +#include +#include +#include +// package specific includes +#include +#include +#include +#include +#include +// msgs +#include +#include +#include +// if available, use Gurobi +#ifdef GUROBI_FOUND + #include "gurobi_c++.h" +#endif + +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 11.2016 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +// This struct is used to create arcs for the flow network, used to plan a coverage path trough the given map. +struct arcStruct +{ + cv::Point start_point; + cv::Point end_point; + double weight; + std::vector edge_points; +}; + +// typedef for boost, defining a directed graph +typedef boost::adjacency_list directedGraph; + +// TODO: update +// This class provides a coverage path planning algorithm based on a flow network. It spans such a network by going trough +// the given room map with a sweep line and defining edges of it whenever it touches an obstacle. From this touchpoint +// the edge is generated in a distance along the sweep line, that is equivalent to the given coverage radius, because the +// free space should determine the area that should be covered after this procedure. After this the arcs of the network +// are generated by taking the distance of two edges as its weight (gives two directed edges), if the arc is not too long or +// not straight enough (to reduce the dimensionality). To find a coverage path trough this flow network then a linear +// program of the form +// min c^T*w +// +// s.t. Vc >= 1 (row-wise) +// sum(flows_into_node) - sum(flows_out_of_node) = 0; +// flows_into_nodes: variables corresponding to arcs flowing into an edge/node, excluding the final arcs +// flows_out_of_nodes: variables corresponding to arcs flowing out of an edge/node, excluding the start arcs +// sum(start_flows) = 1 +// sum(terminal_flows) = 1 +// sum(flows_of_subset) <= |subset|-1; for any node subset S with |S|>=2 +// c(i)={0;1} +// is solved, where 3 stages are taken, the initial step to start the path somewhere, the coverage stage in which the arcs +// should cover the most of the area and the final step where the path can be terminated. These three stages are necessary, +// because the second constraint ensures that the path is connected and not consisting of separated parts. The initial step +// then starts the path at the desired position and the final step allows a termination of this flow conservativity constraint. +// The first constraint ensures that each cell of the free space is covered. The fourth constraint simply ensures to start +// at the node that one specifies. The last constraint prevents that the solution consists of different cycles. A cycle would +// fulfill the conservativity constraint, but of course may not be connected to the rest of the path. By saying that the +// number of goen arcs in a subset of nodes has to be smaller than the size of the subset lesser 1, not all arcs can be +// gone together, which prevents cycles. These cosntraints are added in a lazy fashion, meaning that after a solution has +// been obtained it is checked if the constraints have been violated in any way. If so, the constraints are added and the +// model is resolved. This step repeats, until no more cycles, that are not connected to the rest of the path, appear. +// +#pragma once + +#define PI 3.14159265359 + +#ifdef GUROBI_FOUND + class CyclePreventionCallbackClass: public GRBCallback + { + public: + std::vector* vars; + int n; + std::vector > flows_out_of_nodes, flows_into_nodes; + std::vector start_arcs; + std::vector > lhs; + std::vector rhs; + + CyclePreventionCallbackClass(std::vector* xvars, int xn, const std::vector >& outflows, + const std::vector >& inflows, const std::vector& start_indices) + { + vars = xvars; + n = xn; + flows_out_of_nodes = outflows; + flows_into_nodes = inflows; + start_arcs = start_indices; + } + + protected: + void callback() + { + try + { + if (where==GRB_CB_MIPSOL) + { + // Found an integer feasible solution + std::vector solution(vars->size()); + for (int var=0; varsize(); var++) + { + double current_value = GRBCallback::getSolution(vars->operator[](var)); + solution[var] = (current_value>=0) ? current_value : 0.0; +// std::cout << solution[var] << std::endl; + } + + // check if cycles appear in the solution + // get the arcs that are used in the previously calculated solution + std::set used_arcs; // set that stores the indices of the arcs corresponding to non-zero elements in the solution + + // go trough the start arcs + std::cout << "getting used arcs: "; + // TODO: add again, better reading out of the paths +// for(uint start_arc=0; start_arc0.01) // precision of the solver +// { +// // insert start index +// used_arcs.insert(start_arcs[start_arc]); +// std::cout << start_arcs[start_arc] << " "; +// } +// } + + // go trough the coverage stage + std::cout << "| "; + for(uint cover_arc=start_arcs.size(); cover_arc0.01) // precision of the solver + { + // insert index, relative to the first coverage variable + used_arcs.insert(cover_arc-start_arcs.size()); + std::cout << cover_arc-start_arcs.size() << " "; + } + } + + std::cout << "| "; + // TODO: add again, better reading out of the paths + // go trough the final stage and find the remaining used arcs +// for(uint flow=start_arcs.size()+n; flow0.01) // precision of the solver +// { +// // insert saved outgoing flow index +// used_arcs.insert(flow-start_arcs.size()-n); +// std::cout << flow-start_arcs.size()-n << " "; +// } +// } + + std::cout << "got " << used_arcs.size() << " used arcs" << std::endl; + + // construct the directed edges out of the used arcs + std::vector > directed_edges; // vector that stores the directed edges for each node + for(uint start_node=0; start_node originating_flows; + bool originating = false; + for(std::set::iterator arc=used_arcs.begin(); arc!=used_arcs.end(); ++arc) + { + if(contains(flows_out_of_nodes[start_node], *arc)==true) + { + originating = true; + originating_flows.push_back(*arc); + } + } + + // if the arc is originating from this node, find its destination + std::vector current_directed_edges; + if(originating==true) + { + for(uint end_node=0; end_node::iterator arc=originating_flows.begin(); arc!=originating_flows.end(); ++arc) + if(contains(flows_into_nodes[end_node], *arc)==true) + current_directed_edges.push_back(end_node); + } + } + + // if the current node doesn't flow into another node insert a vector storing -1 + if(current_directed_edges.size()==0) + current_directed_edges.push_back(-1); + + // save the found used directed edges + directed_edges.push_back(current_directed_edges); + } + + // construct the support graph out of the directed edges + directedGraph support_graph(flows_out_of_nodes.size()); // initialize with the right number of edges + + int number_of_not_used_nodes = 0; + for(size_t start=0; start c(flows_into_nodes.size()); + int number_of_strong_components = boost::strong_components(support_graph, boost::make_iterator_property_map(c.begin(), boost::get(boost::vertex_index, support_graph), c[0])); + std::cout << "got " << number_of_strong_components << " strongly connected components" << std::endl; +// for (std::vector ::iterator i = c.begin(); i != c.end(); ++i) +// std::cout << "Vertex " << i - c.begin() << " is in component " << *i << std::endl; + + // check how many cycles there are in the solution (components with a size >= 2) + int number_of_cycles = 0; + std::set done_components; // set that stores the component indices for that the nodes already were found + for(std::vector::iterator comp=c.begin(); comp!=c.end(); ++comp) + { + // don't check a component more than one time + if(done_components.find(*comp)!=done_components.end()) + continue; + + int elements = std::count(c.begin(), c.end(), *comp); + if(elements>=2) + ++number_of_cycles; + + // check if a tsp path is computed (number of arcs is same as number of nodes), each arc is a strongly + // connected component itself or all the nodes belong to one strongly connected component + // TODO: add again, better reading out of the paths +// if(elements==used_arcs.size() || elements==flows_out_of_nodes.size()) +// number_of_cycles=0; + + // add it to done components + done_components.insert(*comp); + } + std::cout << "current number of cycles: " << number_of_cycles << std::endl; + + // if more than one cycle appears find it and add the prevention constraint to the problem and resolve it + if(number_of_cycles!=0) + { + // go trough the components and find components with more than 1 element in it + std::vector > cycle_nodes; + done_components.clear(); + for (int component=0; component current_component_nodes; + int elements = std::count(c.begin(), c.end(), c[component]); +// std::cout << c[component] << std::endl; + // TODO: if connected to rest of path --> okay, don't add constraint + if(elements>=2) + { +// std::cout << "size: " << elements << std::endl; + for(std::vector::iterator element=c.begin(); element!=c.end(); ++element) + { + if(*element==c[component]) + { + current_component_nodes.push_back(element-c.begin()); + } + } + + // save the found cycle + if(current_component_nodes.size()>0) + cycle_nodes.push_back(current_component_nodes); + + // add it to done components + done_components.insert(c[component]); + } + } + } + + // add the cycle prevention constraints for each found cycle to the optimization problem + for(size_t cycle=0; cycle cpc_indices; + std::vector cpc_coefficients; + for(size_t node=0; node::iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][node]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][node]].end(); ++outflow) + { + for(size_t neighbor=0; neighbor::const_iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].end(); ++outflow) +// { +// // if the current arc is used in the solution, search for it in the incoming flows of +// // the other nodes in the cycle +// if(used_arcs.find(*outflow)!=used_arcs.end()) +// for(size_t new_node=0; new_node::const_iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].end(); ++outflow) +// { +// // search for the current flow in the incoming flows of the other nodes in the cycle +// for(size_t new_node=0; new_node current_lhs; + for(size_t var=0; varoperator[](cpc_indices[var]); + current_lhs.push_back(cpc_coefficients[var]*cpc_indices[var]); +// std::cout << cpc_coefficients[var] << "*" << cpc_indices[var] << std::endl; + } +// std::cout << "adding lazy, size of rhs: " << cycle_nodes[cycle].size()-1 << std::endl; + addLazy(current_cpc_constraint<=cycle_nodes[cycle].size()-1); + lhs.push_back(current_lhs); + rhs.push_back(cycle_nodes[cycle].size()-1); + } + } + } + } + catch (GRBException e) + { + std::cout << "Error number: " << e.getErrorCode() << std::endl; + std::cout << e.getMessage() << std::endl; + } + catch (...) + { + std::cout << "Error during callback" << std::endl; + } + } + }; +#endif + +class FlowNetworkExplorator +{ +protected: + // function that is used to create and solve a Cbc optimization problem out of the given matrices and vectors, using + // the three-stage ansatz and single-flow cycle prevention constraints + void solveThreeStageOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector& weights, + const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, + const std::vector& start_arcs); + + // function that is used to create and solve a Gurobi optimization problem out of the given matrices and vectors, using + // the three-stage ansatz and lazy generalized cutset inequalities (GCI) + void solveGurobiOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector& weights, + const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, + const std::vector& start_arcs); + + // function that is used to create and solve a Cbc optimization problem out of the given matrices and vectors, using + // the three-stage ansatz and lazy generalized cutset inequalities (GCI) + void solveLazyConstraintOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector& weights, + const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, + const std::vector& start_arcs); + + // function that checks if the given point is more close enough to any point in the given vector + bool pointClose(const std::vector& points, const cv::Point& point, const double min_distance); + + // object that plans a path from A to B using the Astar method + AStarPlanner path_planner_; + +public: + // constructor + FlowNetworkExplorator(); + + // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), + // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions + // the robot should drive at. The footprint stores a polygon that is used to determine the visibility at a specific + // sensing pose. delta_theta provides an angular step to determine candidates for sensing poses. + void getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, + const cv::Point starting_position, const cv::Point2d map_origin, + const int cell_size, const Eigen::Matrix& robot_to_fov_middlepoint_vector, const float coverage_radius, + const bool plan_for_footprint, const double path_eps, const double curvature_factor, const double max_distance_factor); + + // test function + void testFunc(); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/grid.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/grid.h new file mode 100644 index 0000000..d3c41a4 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/grid.h @@ -0,0 +1,461 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2017 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 03.2017 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once +#include +#include + +class BoustrophedonLine +{ +public: + std::vector upper_line; // points of the upper part of the line (always filled first) + std::vector lower_line; // points of the potentially existing lower part of the line + bool has_two_valid_lines; // true if both lines, upper and lower, concurrently provide valid alternative points at some locations (i.e. only if this is true, there are two individual lines of places to visit) + + BoustrophedonLine() + : has_two_valid_lines(false) + { + } +}; + +class BoustrophedonGrid : public std::vector +{ +}; + +class GridGenerator +{ +public: + GridGenerator() + { + } + + // generates a standard grid with fixed spacing starting at the upper left accessible cell (if the map is provided + // with walls grown by the size of half robot radius, i.e. the map is eroded by the inaccessible areas) or starting at half grid distance + // from the walls (if the original map is provided). If the map is provided in its normal appearance, then the start_grid_at_first_free_pixel + // parameter should be set to false and the first grid center will be placed with appropriate distance to the walls. + // room_map = (optionally eroded) map of the room in [pixels] (erosion = growing of walls by robot radius --> inaccessible areas are already excluded) + // cell_centers = the computed grid cell center points in [pixels] + // cell_size = the grid spacing in [pixels] + // complete_cell_test = if this is set false, cells are only inserted to the grid if their centers are accessible. If set to true, then the cell + // is created if there are any accessible cells within the cell area. The cell center is however set to one of the accessible pixels. + // start_grid_at_first_free_pixel = if set to true, it is assumed that room_map is eroded by the inaccessible areas and hence the first cell center + // should be placed in the upper left pixel. If this is false, the cell center will be placed off the wall with + // cell_size spacing. + void generateStandardGrid(const cv::Mat& room_map, std::vector& cell_centers, const int cell_size, + const bool complete_cell_test=true, const bool start_grid_at_first_free_pixel=true) + { + // determine min and max coordinates of the room + int min_y = 1000000, max_y = 0, min_x = 1000000, max_x = 0; + for (int y=0; y(y,x)==255) + { + if(xmax_x) + max_x = x; + if(ymax_y) + max_y = y; + } + } + } + + // if the map was not eroded, the grid cell centers might be placed with cell_size/2 distance from the wall + const uint16_t half_cell_size = (uint16_t)cell_size/(uint16_t)2; // just ensure that the rounding is always reproducible + if (start_grid_at_first_free_pixel == false) + { + min_x += half_cell_size; + min_y += half_cell_size; + } + + // create the grid + if (complete_cell_test == true) + { + for(int y=min_y; y<=max_y; y+=cell_size) + { + for(int x=min_x; x<=max_x; x+=cell_size) + { + cv::Point cell_center(x,y); + if (completeCellTest(room_map, cell_center, cell_size) == true) + cell_centers.push_back(cell_center); + } + } + } + else + { + // only create cells where the cell center is accessible + for (int y=min_y; y<=max_y; y+=cell_size) + for (int x=min_x; x<=max_x; x+=cell_size) + if (room_map.at(y,x)==255) + cell_centers.push_back(cv::Point(x,y)); + } + } + + // checks the whole cell for accessible areas and sets cell_center to the cell-center-most accessible point in the cell + // room_map = the map with inaccessible areas = 0 and accessible areas = 255 + // cell_center = the provided cell center point to check, is updated with a new cell center if the original cell_center is not accessible but some other pixels in the cell around + // cell_size = the grid spacing in [pixels] + // returns true if any accessible cell was found in the cell area and then cell_center is returned with an updated value. If the cell does not contain + // any accessible pixel, the return value is false. + static bool completeCellTest(const cv::Mat& room_map, cv::Point& cell_center, const int cell_size) + { + const int x = cell_center.x; + const int y = cell_center.y; + if (room_map.at(y,x)==255) + { + // just take cell center if accessible + return true; + } + else + { + const uint16_t half_cell_size = (uint16_t)cell_size/(uint16_t)2; // just ensure that the rounding is always reproducible + const bool even_grid_size = ((cell_size%2)==0); + + // check whether there are accessible pixels within the cell + const int upper_bound = even_grid_size==true ? half_cell_size-1 : half_cell_size; // adapt the neighborhood accordingly for even and odd grid sizes + cv::Mat cell_pixels = cv::Mat::zeros(cell_size, cell_size, CV_8UC1); + int accessible_pixels = 0; + for (int dy=-half_cell_size; dy<=upper_bound; ++dy) + { + for (int dx=-half_cell_size; dx<=upper_bound; ++dx) + { + const int nx = x+dx; + const int ny = y+dy; + if (nx<0 || nx>=room_map.cols || ny<0 || ny>=room_map.rows) + continue; + if (room_map.at(ny,nx)==255) + { + ++accessible_pixels; + cell_pixels.at(half_cell_size+dy, half_cell_size+dx) = 255; + } + } + } + // if there are accessible pixels within the cell, find their center and use this as cell center + if (accessible_pixels>0) + { + // use distance transform to find the pixels with maximum distance to obstacles, take from the maximum distance pixels the one + // closest to the original cell center + cv::Mat distances; +#if CV_MAJOR_VERSION<=3 + cv::distanceTransform(cell_pixels, distances, CV_DIST_L2, 5); +#else + cv::distanceTransform(cell_pixels, distances, cv::DIST_L2, 5); +#endif + double max_distance = 0.; + cv::minMaxLoc(distances, 0, &max_distance, 0, &cell_center); + cell_center.x += x-half_cell_size; + cell_center.y += y-half_cell_size; + // if there are multiple candidates with same max distance, take the one closest to the center + double min_squared_center_distance = (x-cell_center.x)*(x-cell_center.x) + (y-cell_center.y)*(y-cell_center.y); + for (int v=0; v(v,u)==max_distance) + { + const double squared_center_distance = (u-half_cell_size)*(u-half_cell_size)+(v-half_cell_size)*(v-half_cell_size); + if (squared_center_distance < min_squared_center_distance) + { + cell_center = cv::Point(x-half_cell_size+u, y-half_cell_size+v); + min_squared_center_distance = squared_center_distance; + } + } + } + } + + // display new center point +// cv::Mat disp = distances.clone(); +// cv::Mat disp2; +// cv::normalize(disp, disp, 0, 1., cv::NORM_MINMAX); +// cv::resize(disp, disp2, cv::Size(), 10., 10., cv::INTER_AREA); +// cv::circle(disp2, 10*cv::Point(cell_center.x-x+half_cell_size, cell_center.y-y+half_cell_size), 2, cv::Scalar(0), CV_FILLED); +// cv::imshow("distance transform", disp2); +// cv::waitKey(); + + return true; + } + } + return false; + } + + + // Generates a grid with fixed vertical spacing and variable distance between the points in a line (parameter), s.t. the algorithm may create + // ordinary grid points or horizontal lines with defined vertical spacing. The generator considers obstacle safety distances and only places + // grid cells with sufficient distance to obstacles (parameter). If a grid point cannot be placed because it would be located in an obstacle + // or in the inaccessible area around an obstacle, then the algorithm tries to shift the point vertically up and down up to grid_spacing + // (parameter) units. As soon as it finds free space, the grid point is set there. It can happen that such a free point exists above and below + // the original placement of the grid point. Then the two options are store in an upper and lower trajectory and the user must later chose how + // to deal with these option. + // room_map = original map of the room as a CV_8UC1 map with 0=obstacles, 255=free space, in [pixels] + // inflated_room_map = map of the room with inflated obstacles (can be provided, if cv::Mat() is provided, it is computed here with map_inflation_radius) + // map_inflation_radius = the number of pixels obstacles shall be inflated if no precomputed inflated_room_map is provided (map_inflation_radius can be -1 otherwise), in [pixels] + // grid_points = a vector of BoustrophedonLine objects, each of them containing line information in upper_line and optionally another line in lower_line if two_valid_lines is true, in [pixels] + // min_max_map_coordinates = optionally precomputed min/max coordinates (min_x, max_x, min_y, max_y) of the free space in inflated_room_map, if cv::Vec4i(-1,-1,-1,-1) is provided, min/max map coordinates are computed by this function, in [pixels] + // grid_spacing = the basic distance between two grid cell centers, is used for vertical grid spacing, in [pixels] + // half_grid_spacing = the rounded half distance between two grid cell centers (the user shall define how it is rounded), in [pixels] + // grid_spacing_horizontal = this value allows to specify the horizontal basic distance between two grid cell centers, it can be set to grid_spacing if the basic horizontal spacing shall be identical to the vertical spacing, in [pixels] + // max_deviation_from_track = maximal allowed shift off the track to both sides for avoiding obstacles on track, setting max_deviation_from_track=grid_spacing is usually a good choice, for negative values max_deviation_from_track is set to grid_spacing, in [pixels] + static void generateBoustrophedonGrid(const cv::Mat& room_map, cv::Mat& inflated_room_map, const int map_inflation_radius, + BoustrophedonGrid& grid_points, const cv::Vec4i& min_max_map_coordinates, const int grid_spacing, const int half_grid_spacing, + const int grid_spacing_horizontal, int max_deviation_from_track = -1) + { + if (max_deviation_from_track < 0) + max_deviation_from_track = grid_spacing; + + // compute inflated_room_map if not provided + if (inflated_room_map.rows!=room_map.rows || inflated_room_map.cols!=room_map.cols) + cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), map_inflation_radius); + + // compute min/max map coordinates if necessary + int min_x=inflated_room_map.cols, max_x=-1, min_y=inflated_room_map.rows, max_y=-1; + if (min_max_map_coordinates[0]==-1 && min_max_map_coordinates[1]==-1 && min_max_map_coordinates[2]==-1 && min_max_map_coordinates[3]==-1) + { + for (int v=0; v(v,u) == 255) + { + if (min_x > u) + min_x = u; + if (max_x < u) + max_x = u; + if (min_y > v) + min_y = v; + if (max_y < v) + max_y = v; + } + } + } + } + else + { + min_x = min_max_map_coordinates[0]; + max_x = min_max_map_coordinates[1]; + min_y = min_max_map_coordinates[2]; + max_y = min_max_map_coordinates[3]; + } + // if the room has no accessible cells, hence no min/max coordinates, return + if ((min_x==inflated_room_map.cols) || (max_x==-1) || (min_y==inflated_room_map.rows) || (max_y==-1)) + return; + + // create grid + const int squared_grid_spacing_horizontal = grid_spacing_horizontal*grid_spacing_horizontal; + //std::cout << "((max_y - min_y) <= grid_spacing): min_y=" << min_y << " max_y=" << max_y << " grid_spacing=" << grid_spacing << std::endl; + int y=min_y; + // loop through the vertical grid lines with regular grid spacing + for (; y<=max_y+half_grid_spacing; y += grid_spacing) // we use max_y+half_grid_spacing as upper bound to cover the bottom-most line as well + { + if (y > max_y) // this should happen at most once for the bottom line + y = max_y; + + BoustrophedonLine line; + const cv::Point invalid_point(-1,-1); + cv::Point last_added_grid_point_above(-10000,-10000), last_added_grid_point_below(-10000,-10000); // for keeping the horizontal grid distance + cv::Point last_valid_grid_point_above(-1,-1), last_valid_grid_point_below(-1,-1); // for adding the rightmost possible point + // loop through the horizontal grid points with horizontal grid spacing length + for (int x=min_x; x<=max_x; x+=1) + { + // points are added to the grid line as follows: + // 1. if the original point is accessible --> point is added to upper_line, invalid point (-1,-1) is added to lower_line + // 2. if the original point is not accessible: + // a) and no other point in the y-vicinity --> upper_line and lower_line are not updated + // b) but some point above and none below --> valid point is added to upper_line, invalid point (-1,-1) is added to lower_line + // c) but some point below and none above --> valid point is added to lower_line, invalid point (-1,-1) is added to upper_line + // d) but some point below and above are --> valid points are added to upper_line and lower_line, respectively + + // 1. check accessibility on regular location + if (inflated_room_map.at(y,x)==255) + { + if (squaredPointDistance(last_added_grid_point_above,cv::Point(x,y))>=squared_grid_spacing_horizontal) + { + line.upper_line.push_back(cv::Point(x,y)); + line.lower_line.push_back(invalid_point); + last_added_grid_point_above = cv::Point(x,y); + } + else + last_valid_grid_point_above = cv::Point(x,y); // store this point and add it to the upper line if it was the rightmost point + } + // todo: add parameter to switch else branch off + else // 2. check accessibility above or below the targeted point + { + // check accessibility above the target location + bool found_above = false; + int dy = -1; + for (; dy>-max_deviation_from_track; --dy) + { + if (y+dy>=0 && inflated_room_map.at(y+dy,x)==255) + { + found_above = true; + break; + } + } + if (found_above == true) + { + if (squaredPointDistance(last_added_grid_point_above,cv::Point(x,y+dy))>=squared_grid_spacing_horizontal) + { + line.upper_line.push_back(cv::Point(x,y+dy)); + line.lower_line.push_back(invalid_point); // can be overwritten below if this point also exists + last_added_grid_point_above = cv::Point(x,y+dy); + } + else + last_valid_grid_point_above = cv::Point(x,y+dy); // store this point and add it to the upper line if it was the rightmost point + } + + // check accessibility below the target location + bool found_below = false; + dy = 1; + for (; dy(y+dy,x)==255) + { + found_below = true; + break; + } + } + if (found_below == true) + { + if (squaredPointDistance(last_added_grid_point_below,cv::Point(x,y+dy))>=squared_grid_spacing_horizontal) + { + if (found_above == true) // update the existing entry + { + line.has_two_valid_lines = true; + line.lower_line.back().x = x; + line.lower_line.back().y = y+dy; + } + else // create a new entry + { + line.upper_line.push_back(invalid_point); + line.lower_line.push_back(cv::Point(x,y+dy)); + } + last_added_grid_point_below = cv::Point(x,y+dy); + } + else + last_valid_grid_point_below = cv::Point(x,y+dy); // store this point and add it to the lower line if it was the rightmost point + } + } + } + // add the rightmost points if available + if (last_valid_grid_point_above.x > -1 && last_valid_grid_point_above.x > last_added_grid_point_above.x) + { + // upper point is valid + line.upper_line.push_back(last_valid_grid_point_above); + if (last_valid_grid_point_below.x > -1 && last_valid_grid_point_below.x > last_added_grid_point_below.x) + line.lower_line.push_back(last_valid_grid_point_below); + else + line.lower_line.push_back(invalid_point); + } + else + { + // upper point is invalid + if (last_valid_grid_point_below.x > -1 && last_valid_grid_point_below.x > last_added_grid_point_below.x) + { + // lower point is valid + line.upper_line.push_back(invalid_point); + line.lower_line.push_back(last_valid_grid_point_below); + } + } + + // clean the grid line data + // 1. if there are no valid points --> do not add the line + // 2. if two_valid_lines is true, there are two individual lines available with places to visit + // 3. else there is just one valid line with data potentially distributed over upper_line and lower_line + BoustrophedonLine cleaned_line; + if (line.upper_line.size()>0 && line.lower_line.size()>0) // 1. check that there is valid data in the lines + { + // 2. if two_valid_lines is true, create two individual lines with places to visit + if (line.has_two_valid_lines == true) + { + cleaned_line.has_two_valid_lines = true; + for (size_t i=0; i. + * + ****************************************************************/ + +#include +#include +#include +#include +#include +#include + +#include + +#include +#include +#include +#include +#include + +#include +#include +#include + + + +// Class that generates a room exploration path by laying a small grid over the given map and then planning the best path trough +// all points, by defining an traveling salesman problem (TSP). This class only produces a static path, regarding the given map +// in form of a point series. To react on dynamic obstacles, one has to do this in upper algorithms. +// +class GridPointExplorator +{ +public: + // constructor + GridPointExplorator(); + + // separate, interruptible thread for the external solvers + void tsp_solver_thread_concorde(ConcordeTSPSolver& tsp_solver, std::vector& optimal_order, + const cv::Mat& distance_matrix, const std::map& cleaned_index_to_original_index_mapping, const int start_node); + + void tsp_solver_thread_genetic(GeneticTSPSolver& tsp_solver, std::vector& optimal_order, + const cv::Mat& distance_matrix, const std::map& cleaned_index_to_original_index_mapping, const int start_node); + + void tsp_solver_thread(const int tsp_solver, std::vector& optimal_order, const cv::Mat& original_map, + const std::vector& points, const double downsampling_factor, const double robot_radius, const double map_resolution, + const int start_node); + + // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), + // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions + // the robot should drive at. + void getExplorationPath(const cv::Mat& room_map, std::vector& path, const double map_resolution, + const cv::Point starting_position, const cv::Point2d map_origin, const int cell_size, const bool plan_for_footprint, + const Eigen::Matrix robot_to_fov_vector, int tsp_solver, int64_t tsp_solver_timeout); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/histogram.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/histogram.h new file mode 100644 index 0000000..152b055 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/histogram.h @@ -0,0 +1,132 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 02.2017 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once + +#include +#include + +template +class Histogram +{ +public: + Histogram(const T lower_bound, const T upper_bound, const size_t histogram_bins) + { + lower_bound_ = lower_bound; + upper_bound_ = upper_bound; + range_inverse_ = 1.0/(upper_bound_-lower_bound_); + histogram_bins_ = histogram_bins; + data_.resize(histogram_bins); + for (size_t i=0; i(val, weight)); + } + + size_t getMaxBin() + { + double max_val = 0.; + size_t max_bin = 0; + for (size_t i=0; i > RawData; + + std::vector data_; // stores the histogram + std::vector raw_data_; // stores all entered data pairs (data, weight) for each histogram bin + T lower_bound_; // lowest possible value + T upper_bound_; // highest possible value + T range_inverse_; // = 1.0/(upper_bound_-lower_bound_) + size_t histogram_bins_; // number of histogram bins +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/meanshift2d.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/meanshift2d.h new file mode 100644 index 0000000..d1ae641 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/meanshift2d.h @@ -0,0 +1,78 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_segmentation + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: + * + * \date Date of creation: 22.07.2015 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#include + +#include +#include + +#pragma once + +class MeanShift2D +{ +public: + MeanShift2D(void) {}; + + void filter(const std::vector& data, std::vector& filtered_data, const double bandwidth, const int maximumIterations=100); + + void computeConvergencePoints(const std::vector& filtered_data, std::vector& convergence_points, std::vector< std::vector >& convergence_sets, const double sensitivity); + + // map_resolution in [m/cell] + cv::Vec2d findRoomCenter(const cv::Mat& room_image, const std::vector& room_cells, double map_resolution); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/nanoflann.hpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/nanoflann.hpp new file mode 100644 index 0000000..445aa29 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/nanoflann.hpp @@ -0,0 +1,1398 @@ +/*********************************************************************** + * Software License Agreement (BSD License) + * + * Copyright 2008-2009 Marius Muja (mariusm@cs.ubc.ca). All rights reserved. + * Copyright 2008-2009 David G. Lowe (lowe@cs.ubc.ca). All rights reserved. + * Copyright 2011-2016 Jose Luis Blanco (joseluisblancoc@gmail.com). + * All rights reserved. + * + * THE BSD LICENSE + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR + * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. + * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, + * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY + * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF + * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + *************************************************************************/ + +/** \mainpage nanoflann C++ API documentation + * nanoflann is a C++ header-only library for building KD-Trees, mostly + * optimized for 2D or 3D point clouds. + * + * nanoflann does not require compiling or installing, just an + * #include in your code. + * + * See: + * - C++ API organized by modules + * - Online README + * - Doxygen documentation + */ + +#ifndef NANOFLANN_HPP_ +#define NANOFLANN_HPP_ + +#include +#include +#include +#include +#include // for fwrite() +#include // for abs() +#include // for abs() +#include + +// Avoid conflicting declaration of min/max macros in windows headers +#if !defined(NOMINMAX) && (defined(_WIN32) || defined(_WIN32_) || defined(WIN32) || defined(_WIN64)) +# define NOMINMAX +# ifdef max +# undef max +# undef min +# endif +#endif + +namespace nanoflann +{ +/** @addtogroup nanoflann_grp nanoflann C++ library for ANN + * @{ */ + + /** Library version: 0xMmP (M=Major,m=minor,P=patch) */ + #define NANOFLANN_VERSION 0x123 + + /** @addtogroup result_sets_grp Result set classes + * @{ */ + template + class KNNResultSet + { + IndexType * indices; + DistanceType* dists; + CountType capacity; + CountType count; + + public: + inline KNNResultSet(CountType capacity_) : indices(0), dists(0), capacity(capacity_), count(0) + { + } + + inline void init(IndexType* indices_, DistanceType* dists_) + { + indices = indices_; + dists = dists_; + count = 0; + if (capacity) + dists[capacity-1] = (std::numeric_limits::max)(); + } + + inline CountType size() const + { + return count; + } + + inline bool full() const + { + return count == capacity; + } + + + inline void addPoint(DistanceType dist, IndexType index) + { + CountType i; + for (i=count; i>0; --i) { +#ifdef NANOFLANN_FIRST_MATCH // If defined and two points have the same distance, the one with the lowest-index will be returned first. + if ( (dists[i-1]>dist) || ((dist==dists[i-1])&&(indices[i-1]>index)) ) { +#else + if (dists[i-1]>dist) { +#endif + if (i + class RadiusResultSet + { + public: + const DistanceType radius; + + std::vector >& m_indices_dists; + + inline RadiusResultSet(DistanceType radius_, std::vector >& indices_dists) : radius(radius_), m_indices_dists(indices_dists) + { + init(); + } + + inline ~RadiusResultSet() { } + + inline void init() { clear(); } + inline void clear() { m_indices_dists.clear(); } + + inline size_t size() const { return m_indices_dists.size(); } + + inline bool full() const { return true; } + + inline void addPoint(DistanceType dist, IndexType index) + { + if (dist 0 + */ + std::pair worst_item() const + { + if (m_indices_dists.empty()) throw std::runtime_error("Cannot invoke RadiusResultSet::worst_item() on an empty list of results."); + typedef typename std::vector >::const_iterator DistIt; + DistIt it = std::max_element(m_indices_dists.begin(), m_indices_dists.end()); + return *it; + } + }; + + /** operator "<" for std::sort() */ + struct IndexDist_Sorter + { + /** PairType will be typically: std::pair */ + template + inline bool operator()(const PairType &p1, const PairType &p2) const { + return p1.second < p2.second; + } + }; + + /** @} */ + + + /** @addtogroup loadsave_grp Load/save auxiliary functions + * @{ */ + template + void save_value(FILE* stream, const T& value, size_t count = 1) + { + fwrite(&value, sizeof(value),count, stream); + } + + template + void save_value(FILE* stream, const std::vector& value) + { + size_t size = value.size(); + fwrite(&size, sizeof(size_t), 1, stream); + fwrite(&value[0], sizeof(T), size, stream); + } + + template + void load_value(FILE* stream, T& value, size_t count = 1) + { + size_t read_cnt = fread(&value, sizeof(value), count, stream); + if (read_cnt != count) { + throw std::runtime_error("Cannot read from file"); + } + } + + + template + void load_value(FILE* stream, std::vector& value) + { + size_t size; + size_t read_cnt = fread(&size, sizeof(size_t), 1, stream); + if (read_cnt!=1) { + throw std::runtime_error("Cannot read from file"); + } + value.resize(size); + read_cnt = fread(&value[0], sizeof(T), size, stream); + if (read_cnt!=size) { + throw std::runtime_error("Cannot read from file"); + } + } + /** @} */ + + + /** @addtogroup metric_grp Metric (distance) classes + * @{ */ + + /** Manhattan distance functor (generic version, optimized for high-dimensionality data sets). + * Corresponding distance traits: nanoflann::metric_L1 + * \tparam T Type of the elements (e.g. double, float, uint8_t) + * \tparam _DistanceType Type of distance variables (must be signed) (e.g. float, double, int64_t) + */ + template + struct L1_Adaptor + { + typedef T ElementType; + typedef _DistanceType DistanceType; + + const DataSource &data_source; + + L1_Adaptor(const DataSource &_data_source) : data_source(_data_source) { } + + inline DistanceType operator()(const T* a, const size_t b_idx, size_t size, DistanceType worst_dist = -1) const + { + DistanceType result = DistanceType(); + const T* last = a + size; + const T* lastgroup = last - 3; + size_t d = 0; + + /* Process 4 items with each loop for efficiency. */ + while (a < lastgroup) { + const DistanceType diff0 = std::abs(a[0] - data_source.kdtree_get_pt(b_idx,d++)); + const DistanceType diff1 = std::abs(a[1] - data_source.kdtree_get_pt(b_idx,d++)); + const DistanceType diff2 = std::abs(a[2] - data_source.kdtree_get_pt(b_idx,d++)); + const DistanceType diff3 = std::abs(a[3] - data_source.kdtree_get_pt(b_idx,d++)); + result += diff0 + diff1 + diff2 + diff3; + a += 4; + if ((worst_dist>0)&&(result>worst_dist)) { + return result; + } + } + /* Process last 0-3 components. Not needed for standard vector lengths. */ + while (a < last) { + result += std::abs( *a++ - data_source.kdtree_get_pt(b_idx,d++) ); + } + return result; + } + + template + inline DistanceType accum_dist(const U a, const V b, int ) const + { + return std::abs(a-b); + } + }; + + /** Squared Euclidean distance functor (generic version, optimized for high-dimensionality data sets). + * Corresponding distance traits: nanoflann::metric_L2 + * \tparam T Type of the elements (e.g. double, float, uint8_t) + * \tparam _DistanceType Type of distance variables (must be signed) (e.g. float, double, int64_t) + */ + template + struct L2_Adaptor + { + typedef T ElementType; + typedef _DistanceType DistanceType; + + const DataSource &data_source; + + L2_Adaptor(const DataSource &_data_source) : data_source(_data_source) { } + + inline DistanceType operator()(const T* a, const size_t b_idx, size_t size, DistanceType worst_dist = -1) const + { + DistanceType result = DistanceType(); + const T* last = a + size; + const T* lastgroup = last - 3; + size_t d = 0; + + /* Process 4 items with each loop for efficiency. */ + while (a < lastgroup) { + const DistanceType diff0 = a[0] - data_source.kdtree_get_pt(b_idx,d++); + const DistanceType diff1 = a[1] - data_source.kdtree_get_pt(b_idx,d++); + const DistanceType diff2 = a[2] - data_source.kdtree_get_pt(b_idx,d++); + const DistanceType diff3 = a[3] - data_source.kdtree_get_pt(b_idx,d++); + result += diff0 * diff0 + diff1 * diff1 + diff2 * diff2 + diff3 * diff3; + a += 4; + if ((worst_dist>0)&&(result>worst_dist)) { + return result; + } + } + /* Process last 0-3 components. Not needed for standard vector lengths. */ + while (a < last) { + const DistanceType diff0 = *a++ - data_source.kdtree_get_pt(b_idx,d++); + result += diff0 * diff0; + } + return result; + } + + template + inline DistanceType accum_dist(const U a, const V b, int ) const + { + return (a-b)*(a-b); + } + }; + + /** Squared Euclidean (L2) distance functor (suitable for low-dimensionality datasets, like 2D or 3D point clouds) + * Corresponding distance traits: nanoflann::metric_L2_Simple + * \tparam T Type of the elements (e.g. double, float, uint8_t) + * \tparam _DistanceType Type of distance variables (must be signed) (e.g. float, double, int64_t) + */ + template + struct L2_Simple_Adaptor + { + typedef T ElementType; + typedef _DistanceType DistanceType; + + const DataSource &data_source; + + L2_Simple_Adaptor(const DataSource &_data_source) : data_source(_data_source) { } + + inline DistanceType operator()(const T* a, const size_t b_idx, size_t size) const { + return data_source.kdtree_distance(a,b_idx,size); + } + + template + inline DistanceType accum_dist(const U a, const V b, int ) const + { + return (a-b)*(a-b); + } + }; + + /** Metaprogramming helper traits class for the L1 (Manhattan) metric */ + struct metric_L1 { + template + struct traits { + typedef L1_Adaptor distance_t; + }; + }; + /** Metaprogramming helper traits class for the L2 (Euclidean) metric */ + struct metric_L2 { + template + struct traits { + typedef L2_Adaptor distance_t; + }; + }; + /** Metaprogramming helper traits class for the L2_simple (Euclidean) metric */ + struct metric_L2_Simple { + template + struct traits { + typedef L2_Simple_Adaptor distance_t; + }; + }; + + /** @} */ + + /** @addtogroup param_grp Parameter structs + * @{ */ + + /** Parameters (see README.md) */ + struct KDTreeSingleIndexAdaptorParams + { + KDTreeSingleIndexAdaptorParams(size_t _leaf_max_size = 10) : + leaf_max_size(_leaf_max_size) + {} + + size_t leaf_max_size; + }; + + /** Search options for KDTreeSingleIndexAdaptor::findNeighbors() */ + struct SearchParams + { + /** Note: The first argument (checks_IGNORED_) is ignored, but kept for compatibility with the FLANN interface */ + SearchParams(int checks_IGNORED_ = 32, float eps_ = 0, bool sorted_ = true ) : + checks(checks_IGNORED_), eps(eps_), sorted(sorted_) {} + + int checks; //!< Ignored parameter (Kept for compatibility with the FLANN interface). + float eps; //!< search for eps-approximate neighbours (default: 0) + bool sorted; //!< only for radius search, require neighbours sorted by distance (default: true) + }; + /** @} */ + + + /** @addtogroup memalloc_grp Memory allocation + * @{ */ + + /** + * Allocates (using C's malloc) a generic type T. + * + * Params: + * count = number of instances to allocate. + * Returns: pointer (of type T*) to memory buffer + */ + template + inline T* allocate(size_t count = 1) + { + T* mem = static_cast( ::malloc(sizeof(T)*count)); + return mem; + } + + + /** + * Pooled storage allocator + * + * The following routines allow for the efficient allocation of storage in + * small chunks from a specified pool. Rather than allowing each structure + * to be freed individually, an entire pool of storage is freed at once. + * This method has two advantages over just using malloc() and free(). First, + * it is far more efficient for allocating small objects, as there is + * no overhead for remembering all the information needed to free each + * object or consolidating fragmented memory. Second, the decision about + * how long to keep an object is made at the time of allocation, and there + * is no need to track down all the objects to free them. + * + */ + + const size_t WORDSIZE=16; + const size_t BLOCKSIZE=8192; + + class PooledAllocator + { + /* We maintain memory alignment to word boundaries by requiring that all + allocations be in multiples of the machine wordsize. */ + /* Size of machine word in bytes. Must be power of 2. */ + /* Minimum number of bytes requested at a time from the system. Must be multiple of WORDSIZE. */ + + + size_t remaining; /* Number of bytes left in current block of storage. */ + void* base; /* Pointer to base of current block of storage. */ + void* loc; /* Current location in block to next allocate memory. */ + + void internal_init() + { + remaining = 0; + base = NULL; + usedMemory = 0; + wastedMemory = 0; + } + + public: + size_t usedMemory; + size_t wastedMemory; + + /** + Default constructor. Initializes a new pool. + */ + PooledAllocator() { + internal_init(); + } + + /** + * Destructor. Frees all the memory allocated in this pool. + */ + ~PooledAllocator() { + free_all(); + } + + /** Frees all allocated memory chunks */ + void free_all() + { + while (base != NULL) { + void *prev = *(static_cast( base)); /* Get pointer to prev block. */ + ::free(base); + base = prev; + } + internal_init(); + } + + /** + * Returns a pointer to a piece of new memory of the given size in bytes + * allocated from the pool. + */ + void* malloc(const size_t req_size) + { + /* Round size up to a multiple of wordsize. The following expression + only works for WORDSIZE that is a power of 2, by masking last bits of + incremented size to zero. + */ + const size_t size = (req_size + (WORDSIZE - 1)) & ~(WORDSIZE - 1); + + /* Check whether a new block must be allocated. Note that the first word + of a block is reserved for a pointer to the previous block. + */ + if (size > remaining) { + + wastedMemory += remaining; + + /* Allocate new storage. */ + const size_t blocksize = (size + sizeof(void*) + (WORDSIZE-1) > BLOCKSIZE) ? + size + sizeof(void*) + (WORDSIZE-1) : BLOCKSIZE; + + // use the standard C malloc to allocate memory + void* m = ::malloc(blocksize); + if (!m) { + fprintf(stderr,"Failed to allocate memory.\n"); + return NULL; + } + + /* Fill first word of new block with pointer to previous block. */ + static_cast(m)[0] = base; + base = m; + + size_t shift = 0; + //int size_t = (WORDSIZE - ( (((size_t)m) + sizeof(void*)) & (WORDSIZE-1))) & (WORDSIZE-1); + + remaining = blocksize - sizeof(void*) - shift; + loc = (static_cast(m) + sizeof(void*) + shift); + } + void* rloc = loc; + loc = static_cast(loc) + size; + remaining -= size; + + usedMemory += size; + + return rloc; + } + + /** + * Allocates (using this pool) a generic type T. + * + * Params: + * count = number of instances to allocate. + * Returns: pointer (of type T*) to memory buffer + */ + template + T* allocate(const size_t count = 1) + { + T* mem = static_cast(this->malloc(sizeof(T)*count)); + return mem; + } + + }; + /** @} */ + + /** @addtogroup nanoflann_metaprog_grp Auxiliary metaprogramming stuff + * @{ */ + + // ---------------- CArray ------------------------- + /** A STL container (as wrapper) for arrays of constant size defined at compile time (class imported from the MRPT project) + * This code is an adapted version from Boost, modifed for its integration + * within MRPT (JLBC, Dec/2009) (Renamed array -> CArray to avoid possible potential conflicts). + * See + * http://www.josuttis.com/cppcode + * for details and the latest version. + * See + * http://www.boost.org/libs/array for Documentation. + * for documentation. + * + * (C) Copyright Nicolai M. Josuttis 2001. + * Permission to copy, use, modify, sell and distribute this software + * is granted provided this copyright notice appears in all copies. + * This software is provided "as is" without express or implied + * warranty, and with no claim as to its suitability for any purpose. + * + * 29 Jan 2004 - minor fixes (Nico Josuttis) + * 04 Dec 2003 - update to synch with library TR1 (Alisdair Meredith) + * 23 Aug 2002 - fix for Non-MSVC compilers combined with MSVC libraries. + * 05 Aug 2001 - minor update (Nico Josuttis) + * 20 Jan 2001 - STLport fix (Beman Dawes) + * 29 Sep 2000 - Initial Revision (Nico Josuttis) + * + * Jan 30, 2004 + */ + template + class CArray { + public: + T elems[N]; // fixed-size array of elements of type T + + public: + // type definitions + typedef T value_type; + typedef T* iterator; + typedef const T* const_iterator; + typedef T& reference; + typedef const T& const_reference; + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; + + // iterator support + inline iterator begin() { return elems; } + inline const_iterator begin() const { return elems; } + inline iterator end() { return elems+N; } + inline const_iterator end() const { return elems+N; } + + // reverse iterator support +#if !defined(BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION) && !defined(BOOST_MSVC_STD_ITERATOR) && !defined(BOOST_NO_STD_ITERATOR_TRAITS) + typedef std::reverse_iterator reverse_iterator; + typedef std::reverse_iterator const_reverse_iterator; +#elif defined(_MSC_VER) && (_MSC_VER == 1300) && defined(BOOST_DINKUMWARE_STDLIB) && (BOOST_DINKUMWARE_STDLIB == 310) + // workaround for broken reverse_iterator in VC7 + typedef std::reverse_iterator > reverse_iterator; + typedef std::reverse_iterator > const_reverse_iterator; +#else + // workaround for broken reverse_iterator implementations + typedef std::reverse_iterator reverse_iterator; + typedef std::reverse_iterator const_reverse_iterator; +#endif + + reverse_iterator rbegin() { return reverse_iterator(end()); } + const_reverse_iterator rbegin() const { return const_reverse_iterator(end()); } + reverse_iterator rend() { return reverse_iterator(begin()); } + const_reverse_iterator rend() const { return const_reverse_iterator(begin()); } + // operator[] + inline reference operator[](size_type i) { return elems[i]; } + inline const_reference operator[](size_type i) const { return elems[i]; } + // at() with range check + reference at(size_type i) { rangecheck(i); return elems[i]; } + const_reference at(size_type i) const { rangecheck(i); return elems[i]; } + // front() and back() + reference front() { return elems[0]; } + const_reference front() const { return elems[0]; } + reference back() { return elems[N-1]; } + const_reference back() const { return elems[N-1]; } + // size is constant + static inline size_type size() { return N; } + static bool empty() { return false; } + static size_type max_size() { return N; } + enum { static_size = N }; + /** This method has no effects in this class, but raises an exception if the expected size does not match */ + inline void resize(const size_t nElements) { if (nElements!=N) throw std::logic_error("Try to change the size of a CArray."); } + // swap (note: linear complexity in N, constant for given instantiation) + void swap (CArray& y) { std::swap_ranges(begin(),end(),y.begin()); } + // direct access to data (read-only) + const T* data() const { return elems; } + // use array as C array (direct read/write access to data) + T* data() { return elems; } + // assignment with type conversion + template CArray& operator= (const CArray& rhs) { + std::copy(rhs.begin(),rhs.end(), begin()); + return *this; + } + // assign one value to all elements + inline void assign (const T& value) { for (size_t i=0;i= size()) { throw std::out_of_range("CArray<>: index out of range"); } } + }; // end of CArray + + /** Used to declare fixed-size arrays when DIM>0, dynamically-allocated vectors when DIM=-1. + * Fixed size version for a generic DIM: + */ + template + struct array_or_vector_selector + { + typedef CArray container_t; + }; + /** Dynamic size version */ + template + struct array_or_vector_selector<-1,T> { + typedef std::vector container_t; + }; + /** @} */ + + /** @addtogroup kdtrees_grp KD-tree classes and adaptors + * @{ */ + + /** kd-tree index + * + * Contains the k-d trees and other information for indexing a set of points + * for nearest-neighbor matching. + * + * The class "DatasetAdaptor" must provide the following interface (can be non-virtual, inlined methods): + * + * \code + * // Must return the number of data poins + * inline size_t kdtree_get_point_count() const { ... } + * + * // [Only if using the metric_L2_Simple type] Must return the Euclidean (L2) distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class: + * inline DistanceType kdtree_distance(const T *p1, const size_t idx_p2,size_t size) const { ... } + * + * // Must return the dim'th component of the idx'th point in the class: + * inline T kdtree_get_pt(const size_t idx, int dim) const { ... } + * + * // Optional bounding-box computation: return false to default to a standard bbox computation loop. + * // Return true if the BBOX was already computed by the class and returned in "bb" so it can be avoided to redo it again. + * // Look at bb.size() to find out the expected dimensionality (e.g. 2 or 3 for point clouds) + * template + * bool kdtree_get_bbox(BBOX &bb) const + * { + * bb[0].low = ...; bb[0].high = ...; // 0th dimension limits + * bb[1].low = ...; bb[1].high = ...; // 1st dimension limits + * ... + * return true; + * } + * + * \endcode + * + * \tparam DatasetAdaptor The user-provided adaptor (see comments above). + * \tparam Distance The distance metric to use: nanoflann::metric_L1, nanoflann::metric_L2, nanoflann::metric_L2_Simple, etc. + * \tparam DIM Dimensionality of data points (e.g. 3 for 3D points) + * \tparam IndexType Will be typically size_t or int + */ + template + class KDTreeSingleIndexAdaptor + { + private: + /** Hidden copy constructor, to disallow copying indices (Not implemented) */ + KDTreeSingleIndexAdaptor(const KDTreeSingleIndexAdaptor&); + public: + typedef typename Distance::ElementType ElementType; + typedef typename Distance::DistanceType DistanceType; + protected: + + /** + * Array of indices to vectors in the dataset. + */ + std::vector vind; + + size_t m_leaf_max_size; + + + /** + * The dataset used by this index + */ + const DatasetAdaptor &dataset; //!< The source of our data + + const KDTreeSingleIndexAdaptorParams index_params; + + size_t m_size; //!< Number of current poins in the dataset + size_t m_size_at_index_build; //!< Number of points in the dataset when the index was built + int dim; //!< Dimensionality of each data point + + + /*--------------------- Internal Data Structures --------------------------*/ + struct Node + { + /** Union used because a node can be either a LEAF node or a non-leaf node, so both data fields are never used simultaneously */ + union { + struct leaf + { + IndexType left, right; //!< Indices of points in leaf node + } lr; + struct nonleaf + { + int divfeat; //!< Dimension used for subdivision. + DistanceType divlow, divhigh; //!< The values used for subdivision. + } sub; + } node_type; + Node* child1, * child2; //!< Child nodes (both=NULL mean its a leaf node) + }; + typedef Node* NodePtr; + + + struct Interval + { + ElementType low, high; + }; + + /** Define "BoundingBox" as a fixed-size or variable-size container depending on "DIM" */ + typedef typename array_or_vector_selector::container_t BoundingBox; + + /** Define "distance_vector_t" as a fixed-size or variable-size container depending on "DIM" */ + typedef typename array_or_vector_selector::container_t distance_vector_t; + + /** The KD-tree used to find neighbours */ + NodePtr root_node; + BoundingBox root_bbox; + + /** + * Pooled memory allocator. + * + * Using a pooled memory allocator is more efficient + * than allocating memory directly when there is a large + * number small of memory allocations. + */ + PooledAllocator pool; + + public: + + Distance distance; + + /** + * KDTree constructor + * + * Refer to docs in README.md or online in https://github.com/jlblancoc/nanoflann + * + * The KD-Tree point dimension (the length of each point in the datase, e.g. 3 for 3D points) + * is determined by means of: + * - The \a DIM template parameter if >0 (highest priority) + * - Otherwise, the \a dimensionality parameter of this constructor. + * + * @param inputData Dataset with the input features + * @param params Basically, the maximum leaf node size + */ + KDTreeSingleIndexAdaptor(const int dimensionality, const DatasetAdaptor& inputData, const KDTreeSingleIndexAdaptorParams& params = KDTreeSingleIndexAdaptorParams() ) : + dataset(inputData), index_params(params), root_node(NULL), distance(inputData) + { + m_size = dataset.kdtree_get_point_count(); + m_size_at_index_build = m_size; + dim = dimensionality; + if (DIM>0) dim=DIM; + m_leaf_max_size = params.leaf_max_size; + + // Create a permutable array of indices to the input vectors. + init_vind(); + } + + /** Standard destructor */ + ~KDTreeSingleIndexAdaptor() { } + + /** Frees the previously-built index. Automatically called within buildIndex(). */ + void freeIndex() + { + pool.free_all(); + root_node=NULL; + m_size_at_index_build = 0; + } + + /** + * Builds the index + */ + void buildIndex() + { + init_vind(); + freeIndex(); + m_size_at_index_build = m_size; + if(m_size == 0) return; + computeBoundingBox(root_bbox); + root_node = divideTree(0, m_size, root_bbox ); // construct the tree + } + + /** Returns number of points in dataset */ + size_t size() const { return m_size; } + + /** Returns the length of each point in the dataset */ + size_t veclen() const { + return static_cast(DIM>0 ? DIM : dim); + } + + /** + * Computes the inde memory usage + * Returns: memory used by the index + */ + size_t usedMemory() const + { + return pool.usedMemory+pool.wastedMemory+dataset.kdtree_get_point_count()*sizeof(IndexType); // pool memory and vind array memory + } + + /** \name Query methods + * @{ */ + + /** + * Find set of nearest neighbors to vec[0:dim-1]. Their indices are stored inside + * the result object. + * + * Params: + * result = the result object in which the indices of the nearest-neighbors are stored + * vec = the vector for which to search the nearest neighbors + * + * \tparam RESULTSET Should be any ResultSet + * \return True if the requested neighbors could be found. + * \sa knnSearch, radiusSearch + */ + template + bool findNeighbors(RESULTSET& result, const ElementType* vec, const SearchParams& searchParams) const + { + assert(vec); + if (size() == 0) + return false; + if (!root_node) + throw std::runtime_error("[nanoflann] findNeighbors() called before building the index."); + float epsError = 1+searchParams.eps; + + distance_vector_t dists; // fixed or variable-sized container (depending on DIM) + dists.assign((DIM>0 ? DIM : dim) ,0); // Fill it with zeros. + DistanceType distsq = computeInitialDistances(vec, dists); + searchLevel(result, vec, root_node, distsq, dists, epsError); // "count_leaf" parameter removed since was neither used nor returned to the user. + return result.full(); + } + + /** + * Find the "num_closest" nearest neighbors to the \a query_point[0:dim-1]. Their indices are stored inside + * the result object. + * \sa radiusSearch, findNeighbors + * \note nChecks_IGNORED is ignored but kept for compatibility with the original FLANN interface. + * \return Number `N` of valid points in the result set. Only the first `N` entries in `out_indices` and `out_distances_sq` will be valid. + * Return may be less than `num_closest` only if the number of elements in the tree is less than `num_closest`. + */ + size_t knnSearch(const ElementType *query_point, const size_t num_closest, IndexType *out_indices, DistanceType *out_distances_sq, const int /* nChecks_IGNORED */ = 10) const + { + nanoflann::KNNResultSet resultSet(num_closest); + resultSet.init(out_indices, out_distances_sq); + this->findNeighbors(resultSet, query_point, nanoflann::SearchParams()); + return resultSet.size(); + } + + /** + * Find all the neighbors to \a query_point[0:dim-1] within a maximum radius. + * The output is given as a vector of pairs, of which the first element is a point index and the second the corresponding distance. + * Previous contents of \a IndicesDists are cleared. + * + * If searchParams.sorted==true, the output list is sorted by ascending distances. + * + * For a better performance, it is advisable to do a .reserve() on the vector if you have any wild guess about the number of expected matches. + * + * \sa knnSearch, findNeighbors, radiusSearchCustomCallback + * \return The number of points within the given radius (i.e. indices.size() or dists.size() ) + */ + size_t radiusSearch(const ElementType *query_point,const DistanceType &radius, std::vector >& IndicesDists, const SearchParams& searchParams) const + { + RadiusResultSet resultSet(radius,IndicesDists); + const size_t nFound = radiusSearchCustomCallback(query_point,resultSet,searchParams); + if (searchParams.sorted) + std::sort(IndicesDists.begin(),IndicesDists.end(), IndexDist_Sorter() ); + return nFound; + } + + /** + * Just like radiusSearch() but with a custom callback class for each point found in the radius of the query. + * See the source of RadiusResultSet<> as a start point for your own classes. + * \sa radiusSearch + */ + template + size_t radiusSearchCustomCallback(const ElementType *query_point,SEARCH_CALLBACK &resultSet, const SearchParams& searchParams = SearchParams() ) const + { + this->findNeighbors(resultSet, query_point, searchParams); + return resultSet.size(); + } + + /** @} */ + + private: + /** Make sure the auxiliary list \a vind has the same size than the current dataset, and re-generate if size has changed. */ + void init_vind() + { + // Create a permutable array of indices to the input vectors. + m_size = dataset.kdtree_get_point_count(); + if (vind.size()!=m_size) vind.resize(m_size); + for (size_t i = 0; i < m_size; i++) vind[i] = i; + } + + /// Helper accessor to the dataset points: + inline ElementType dataset_get(size_t idx, int component) const { + return dataset.kdtree_get_pt(idx,component); + } + + + void save_tree(FILE* stream, NodePtr tree) + { + save_value(stream, *tree); + if (tree->child1!=NULL) { + save_tree(stream, tree->child1); + } + if (tree->child2!=NULL) { + save_tree(stream, tree->child2); + } + } + + + void load_tree(FILE* stream, NodePtr& tree) + { + tree = pool.allocate(); + load_value(stream, *tree); + if (tree->child1!=NULL) { + load_tree(stream, tree->child1); + } + if (tree->child2!=NULL) { + load_tree(stream, tree->child2); + } + } + + + void computeBoundingBox(BoundingBox& bbox) + { + bbox.resize((DIM>0 ? DIM : dim)); + if (dataset.kdtree_get_bbox(bbox)) + { + // Done! It was implemented in derived class + } + else + { + const size_t N = dataset.kdtree_get_point_count(); + if (!N) throw std::runtime_error("[nanoflann] computeBoundingBox() called but no data points found."); + for (int i=0; i<(DIM>0 ? DIM : dim); ++i) { + bbox[i].low = + bbox[i].high = dataset_get(0,i); + } + for (size_t k=1; k0 ? DIM : dim); ++i) { + if (dataset_get(k,i)bbox[i].high) bbox[i].high = dataset_get(k,i); + } + } + } + } + + + /** + * Create a tree node that subdivides the list of vecs from vind[first] + * to vind[last]. The routine is called recursively on each sublist. + * + * @param left index of the first vector + * @param right index of the last vector + */ + NodePtr divideTree(const IndexType left, const IndexType right, BoundingBox& bbox) + { + NodePtr node = pool.allocate(); // allocate memory + + /* If too few exemplars remain, then make this a leaf node. */ + if ( (right-left) <= static_cast(m_leaf_max_size) ) { + node->child1 = node->child2 = NULL; /* Mark as leaf node. */ + node->node_type.lr.left = left; + node->node_type.lr.right = right; + + // compute bounding-box of leaf points + for (int i=0; i<(DIM>0 ? DIM : dim); ++i) { + bbox[i].low = dataset_get(vind[left],i); + bbox[i].high = dataset_get(vind[left],i); + } + for (IndexType k=left+1; k0 ? DIM : dim); ++i) { + if (bbox[i].low>dataset_get(vind[k],i)) bbox[i].low=dataset_get(vind[k],i); + if (bbox[i].highnode_type.sub.divfeat = cutfeat; + + BoundingBox left_bbox(bbox); + left_bbox[cutfeat].high = cutval; + node->child1 = divideTree(left, left+idx, left_bbox); + + BoundingBox right_bbox(bbox); + right_bbox[cutfeat].low = cutval; + node->child2 = divideTree(left+idx, right, right_bbox); + + node->node_type.sub.divlow = left_bbox[cutfeat].high; + node->node_type.sub.divhigh = right_bbox[cutfeat].low; + + for (int i=0; i<(DIM>0 ? DIM : dim); ++i) { + bbox[i].low = std::min(left_bbox[i].low, right_bbox[i].low); + bbox[i].high = std::max(left_bbox[i].high, right_bbox[i].high); + } + } + + return node; + } + + + void computeMinMax(IndexType* ind, IndexType count, int element, ElementType& min_elem, ElementType& max_elem) + { + min_elem = dataset_get(ind[0],element); + max_elem = dataset_get(ind[0],element); + for (IndexType i=1; imax_elem) max_elem = val; + } + } + + void middleSplit_(IndexType* ind, IndexType count, IndexType& index, int& cutfeat, DistanceType& cutval, const BoundingBox& bbox) + { + const DistanceType EPS=static_cast(0.00001); + ElementType max_span = bbox[0].high-bbox[0].low; + for (int i=1; i<(DIM>0 ? DIM : dim); ++i) { + ElementType span = bbox[i].high-bbox[i].low; + if (span>max_span) { + max_span = span; + } + } + ElementType max_spread = -1; + cutfeat = 0; + for (int i=0; i<(DIM>0 ? DIM : dim); ++i) { + ElementType span = bbox[i].high-bbox[i].low; + if (span>(1-EPS)*max_span) { + ElementType min_elem, max_elem; + computeMinMax(ind, count, i, min_elem, max_elem); + ElementType spread = max_elem-min_elem;; + if (spread>max_spread) { + cutfeat = i; + max_spread = spread; + } + } + } + // split in the middle + DistanceType split_val = (bbox[cutfeat].low+bbox[cutfeat].high)/2; + ElementType min_elem, max_elem; + computeMinMax(ind, count, cutfeat, min_elem, max_elem); + + if (split_valmax_elem) cutval = max_elem; + else cutval = split_val; + + IndexType lim1, lim2; + planeSplit(ind, count, cutfeat, cutval, lim1, lim2); + + if (lim1>count/2) index = lim1; + else if (lim2cutval + */ + void planeSplit(IndexType* ind, const IndexType count, int cutfeat, DistanceType &cutval, IndexType& lim1, IndexType& lim2) + { + /* Move vector indices for left subtree to front of list. */ + IndexType left = 0; + IndexType right = count-1; + for (;; ) { + while (left<=right && dataset_get(ind[left],cutfeat)=cutval) --right; + if (left>right || !right) break; // "!right" was added to support unsigned Index types + std::swap(ind[left], ind[right]); + ++left; + --right; + } + /* If either list is empty, it means that all remaining features + * are identical. Split in the middle to maintain a balanced tree. + */ + lim1 = left; + right = count-1; + for (;; ) { + while (left<=right && dataset_get(ind[left],cutfeat)<=cutval) ++left; + while (right && left<=right && dataset_get(ind[right],cutfeat)>cutval) --right; + if (left>right || !right) break; // "!right" was added to support unsigned Index types + std::swap(ind[left], ind[right]); + ++left; + --right; + } + lim2 = left; + } + + DistanceType computeInitialDistances(const ElementType* vec, distance_vector_t& dists) const + { + assert(vec); + DistanceType distsq = DistanceType(); + + for (int i = 0; i < (DIM>0 ? DIM : dim); ++i) { + if (vec[i] < root_bbox[i].low) { + dists[i] = distance.accum_dist(vec[i], root_bbox[i].low, i); + distsq += dists[i]; + } + if (vec[i] > root_bbox[i].high) { + dists[i] = distance.accum_dist(vec[i], root_bbox[i].high, i); + distsq += dists[i]; + } + } + + return distsq; + } + + /** + * Performs an exact search in the tree starting from a node. + * \tparam RESULTSET Should be any ResultSet + */ + template + void searchLevel(RESULTSET& result_set, const ElementType* vec, const NodePtr node, DistanceType mindistsq, + distance_vector_t& dists, const float epsError) const + { + /* If this is a leaf node, then do check and return. */ + if ((node->child1 == NULL)&&(node->child2 == NULL)) { + //count_leaf += (node->lr.right-node->lr.left); // Removed since was neither used nor returned to the user. + DistanceType worst_dist = result_set.worstDist(); + for (IndexType i=node->node_type.lr.left; inode_type.lr.right; ++i) { + const IndexType index = vind[i];// reorder... : i; + DistanceType dist = distance(vec, index, (DIM>0 ? DIM : dim)); + if (distnode_type.sub.divfeat; + ElementType val = vec[idx]; + DistanceType diff1 = val - node->node_type.sub.divlow; + DistanceType diff2 = val - node->node_type.sub.divhigh; + + NodePtr bestChild; + NodePtr otherChild; + DistanceType cut_dist; + if ((diff1+diff2)<0) { + bestChild = node->child1; + otherChild = node->child2; + cut_dist = distance.accum_dist(val, node->node_type.sub.divhigh, idx); + } + else { + bestChild = node->child2; + otherChild = node->child1; + cut_dist = distance.accum_dist( val, node->node_type.sub.divlow, idx); + } + + /* Call recursively to search next level down. */ + searchLevel(result_set, vec, bestChild, mindistsq, dists, epsError); + + DistanceType dst = dists[idx]; + mindistsq = mindistsq + cut_dist - dst; + dists[idx] = cut_dist; + if (mindistsq*epsError<=result_set.worstDist()) { + searchLevel(result_set, vec, otherChild, mindistsq, dists, epsError); + } + dists[idx] = dst; + } + + public: + /** Stores the index in a binary file. + * IMPORTANT NOTE: The set of data points is NOT stored in the file, so when loading the index object it must be constructed associated to the same source of data points used while building it. + * See the example: examples/saveload_example.cpp + * \sa loadIndex */ + void saveIndex(FILE* stream) + { + save_value(stream, m_size); + save_value(stream, dim); + save_value(stream, root_bbox); + save_value(stream, m_leaf_max_size); + save_value(stream, vind); + save_tree(stream, root_node); + } + + /** Loads a previous index from a binary file. + * IMPORTANT NOTE: The set of data points is NOT stored in the file, so the index object must be constructed associated to the same source of data points used while building the index. + * See the example: examples/saveload_example.cpp + * \sa loadIndex */ + void loadIndex(FILE* stream) + { + load_value(stream, m_size); + load_value(stream, dim); + load_value(stream, root_bbox); + load_value(stream, m_leaf_max_size); + load_value(stream, vind); + load_tree(stream, root_node); + } + + }; // class KDTree + + + /** An L2-metric KD-tree adaptor for working with data directly stored in an Eigen Matrix, without duplicating the data storage. + * Each row in the matrix represents a point in the state space. + * + * Example of usage: + * \code + * Eigen::Matrix mat; + * // Fill out "mat"... + * + * typedef KDTreeEigenMatrixAdaptor< Eigen::Matrix > my_kd_tree_t; + * const int max_leaf = 10; + * my_kd_tree_t mat_index(dimdim, mat, max_leaf ); + * mat_index.index->buildIndex(); + * mat_index.index->... + * \endcode + * + * \tparam DIM If set to >0, it specifies a compile-time fixed dimensionality for the points in the data set, allowing more compiler optimizations. + * \tparam Distance The distance metric to use: nanoflann::metric_L1, nanoflann::metric_L2, nanoflann::metric_L2_Simple, etc. + */ + template + struct KDTreeEigenMatrixAdaptor + { + typedef KDTreeEigenMatrixAdaptor self_t; + typedef typename MatrixType::Scalar num_t; + typedef typename MatrixType::Index IndexType; + typedef typename Distance::template traits::distance_t metric_t; + typedef KDTreeSingleIndexAdaptor< metric_t,self_t,DIM,IndexType> index_t; + + index_t* index; //! The kd-tree index for the user to call its methods as usual with any other FLANN index. + + /// Constructor: takes a const ref to the matrix object with the data points + KDTreeEigenMatrixAdaptor(const int dimensionality, const MatrixType &mat, const int leaf_max_size = 10) : m_data_matrix(mat) + { + const IndexType dims = mat.cols(); + if (dims!=dimensionality) throw std::runtime_error("Error: 'dimensionality' must match column count in data matrix"); + if (DIM>0 && static_cast(dims)!=DIM) + throw std::runtime_error("Data set dimensionality does not match the 'DIM' template argument"); + index = new index_t( dims, *this /* adaptor */, nanoflann::KDTreeSingleIndexAdaptorParams(leaf_max_size ) ); + index->buildIndex(); + } + private: + /** Hidden copy constructor, to disallow copying this class (Not implemented) */ + KDTreeEigenMatrixAdaptor(const self_t&); + public: + + ~KDTreeEigenMatrixAdaptor() { + delete index; + } + + const MatrixType &m_data_matrix; + + /** Query for the \a num_closest closest points to a given point (entered as query_point[0:dim-1]). + * Note that this is a short-cut method for index->findNeighbors(). + * The user can also call index->... methods as desired. + * \note nChecks_IGNORED is ignored but kept for compatibility with the original FLANN interface. + */ + inline void query(const num_t *query_point, const size_t num_closest, IndexType *out_indices, num_t *out_distances_sq, const int /* nChecks_IGNORED */ = 10) const + { + nanoflann::KNNResultSet resultSet(num_closest); + resultSet.init(out_indices, out_distances_sq); + index->findNeighbors(resultSet, query_point, nanoflann::SearchParams()); + } + + /** @name Interface expected by KDTreeSingleIndexAdaptor + * @{ */ + + const self_t & derived() const { + return *this; + } + self_t & derived() { + return *this; + } + + // Must return the number of data points + inline size_t kdtree_get_point_count() const { + return m_data_matrix.rows(); + } + + // Returns the L2 distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class: + inline num_t kdtree_distance(const num_t *p1, const IndexType idx_p2,IndexType size) const + { + num_t s=0; + for (IndexType i=0; i + bool kdtree_get_bbox(BBOX& /*bb*/) const { + return false; + } + + /** @} */ + + }; // end of KDTreeEigenMatrixAdaptor + /** @} */ + +/** @} */ // end of grouping +} // end of NS + + +#endif /* NANOFLANN_HPP_ */ diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neural_network_explorator.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neural_network_explorator.h new file mode 100644 index 0000000..cfa0f0e --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neural_network_explorator.h @@ -0,0 +1,148 @@ +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include +#include + +#include +#include +#include +#include + +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 11.2016 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once + +#define PI 3.14159265359 + +// Definition if the operator == for geometry_msgs::Pose2D for checking how often a specific pose is in the so far calculated +// path. +inline bool operator==(const geometry_msgs::Pose2D& A, const geometry_msgs::Pose2D& B) +{ + if(A.x == B.x && A.y == B.y) + return true; + return false; +} + +// This class provides a room explorator based on an artificial neural network. This network is used to compute a +// coverage path s.t. the whole environment is visited at least once. The used method is stated in: +// +// Yang, Simon X., and Chaomin Luo. "A neural network approach to complete coverage path planning." IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) 34.1 (2004): 718-724. +// +// In this algorithm the free space gets sampled into several neurons that span a neural network over the space. Each +// neuron then needs to be visited once to clean it. Each neuron has a state that is used later to determine the next +// neuron that needs to be visited. Going then trough the space over time produces a path that covers all neurons, see +// the stated paper for reference. +// This class provides the functionality to provide a room map and discretize it into several neurons, based on the given +// sampling distance and the radius of the robot/field-of-view (assuming that the footprint/fov gets approximated by a +// inner circle). After this the coverage path gets computed based on the stated paper. This implementation only provides +// a static path, any reaction to unexpected behavior (e.g. sudden obstacles) need to be done in an upper program. +// +class NeuralNetworkExplorator +{ +protected: + + // vector that stores the neurons of the given map + std::vector > neurons_; + + // step size used for integrating the states of the neurons + double step_size_; + + // parameters for the neural network + double A_, B_, D_, E_, mu_, delta_theta_weight_; + +public: + + // constructor + NeuralNetworkExplorator(); + + // function to set the step size to a certain value + void setStepSize(double step_size) + { + step_size_ = step_size; + } + + // function to set the parameters needed for the neural network + void setParameters(double A, double B, double D, double E, double mu, double step_size, double delta_theta_weight) + { + A_ = A; + B_ = B; + D_ = D; + E_ = E; + mu_ = mu; + step_size_ = step_size; + delta_theta_weight_ = delta_theta_weight; + } + + // Function that creates an exploration path for a given room. The room has to be drawn in a cv::Mat (filled with Bit-uchar), + // with free space drawn white (255) and obstacles as black (0). It returns a series of 2D poses that show to which positions + // the robot should drive at. + void getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, + const cv::Point starting_position, const cv::Point2d map_origin, const double grid_spacing_in_pixel, + const bool plan_for_footprint, const Eigen::Matrix robot_to_fov_vector, bool show_path_evolution=false); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neuron_class.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neuron_class.h new file mode 100644 index 0000000..37c33ab --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/neuron_class.h @@ -0,0 +1,211 @@ +#include +#include +#include +#include +#include +#include + +#include + +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 11.2016 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once + +// This class provides a neuron for an artificial neural network. This network is used to compute a coverage path s.t. +// the whole environment is visited at least once. The used method is stated in: +// +// Yang, Simon X., and Chaomin Luo. "A neural network approach to complete coverage path planning." IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) 34.1 (2004): 718-724. +// +// In this algorithm the free space gets sampled into several neurons that span a neural network over the space. Each +// neuron then needs to be visited once to clean it. Each neuron has a state that is used later to determine the next +// neuron that needs to be visited. Going then trough the space over time produces a path that covers all neurons, see +// the stated paper for reference. +// This class additionally contains the position of the neuron, the parameters used to update the state of it and +// booleans to mark if this neuron has already been cleaned or not. The function I() provides an "external input" to the +// neuron, see the paper for reference. +// +class Neuron +{ +protected: + + // vector that stores the direct neighbors of this neuron + std::vector neighbors_; + + // vector that stores the weights to the neighbors --> used for updating the state + std::vector weights_; + + // position of the neuron + cv::Point position_; + + // booleans to check if this neuron is cleaned or an obstacle + bool visited_, obstacle_; + + // state (activity) of this neuron at current time step and last + double state_, previous_state_; + + // parameters used to update the state + double A_, B_, D_, E_, mu_; + + // step size for updating the state + double step_size_; + + // function to generate the external input + double I() + { + if(obstacle_ == true) + return -1.0*E_; + else if(visited_ == false) + return E_; + else + return 0.0; + } + +public: + + // constructor + Neuron(cv::Point position, double A, double B, double D, double E, double mu, double step_size, bool obstacle, bool visited=false) + { + state_ = 0; + previous_state_ = 0; + position_ = position; + A_ = A; + B_ = B; + D_ = D; + E_ = E; + mu_ = mu; + step_size_ = step_size; + obstacle_ = obstacle; + visited_ = visited; + } + + // function to insert a neighbor + void addNeighbor(Neuron* new_neighbor) + { + // save pointer to neighbor + neighbors_.push_back(new_neighbor); + + // calculate distance and corresponding weight to it + cv::Point difference = position_ - new_neighbor->position_; + double distance = cv::norm(difference); + weights_.push_back(mu_/distance); + } + + // function to get the position of the neuron + cv::Point getPosition() + { + return position_; + } + + // function to get the state of the neuron, return the previous state if wanted + double getState(bool previous=false) + { + if(previous == true) + return previous_state_; + return state_; + } + + // function to save the current state as previous state + void saveState() + { + previous_state_ = state_; + } + + // function to get the neighbors + void getNeighbors(std::vector& neighbors) + { + neighbors = neighbors_; + } + + // function to mark the neuron as cleaned + void markAsVisited() + { + visited_ = true; + } + + // function to check if the current neuron is an obstacle or not + bool isObstacle() + { + return obstacle_; + } + + // function to check if the neuron has been visited or not + bool visitedNeuron() + { + return visited_; + } + + // function to update the state of the neuron using euler discretization + void updateState() + { + // get external input + const double input = I(); + + // get the current sum of weights times the state of the neighbor + double weight_sum = 0; + for(size_t neighbor=0; neighborgetState(true), 0.0); + + // calculate current gradient --> see stated paper from the beginning + double gradient = -A_*state_ + (B_-state_)*(std::max(input, 0.0) + weight_sum) - (D_+state_)*std::max(-1.0*input, 0.0); + + // update state using euler method + state_ += step_size_*gradient; + } +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/room_rotator.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/room_rotator.h new file mode 100644 index 0000000..5a56e76 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/room_rotator.h @@ -0,0 +1,104 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2017 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 02.2017 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once + +#include + +#include +#include + +#include + +#include + + +class RoomRotator +{ +public: + RoomRotator() + { + } + + void rotateRoom(const cv::Mat& room_map, cv::Mat& rotated_room_map, const cv::Mat& R, const cv::Rect& bounding_rect); + + // compute the affine rotation matrix for rotating a room into parallel alignment with x-axis (longer side of the room is aligned with x-axis) + // R is the transform + // bounding_rect is the ROI of the warped image + // rotation_offset is an optional offset to the determined rotation, in [rad] + // returns the computed optimal rotation angle, in [rad] + double computeRoomRotationMatrix(const cv::Mat& room_map, cv::Mat& R, cv::Rect& bounding_rect, const double map_resolution, + const cv::Point* center=0, const double rotation_offset=0.); + + // computes the major direction of the walls from a map (preferably one room) + // the map (room_map, CV_8UC1) is black (0) at impassable areas and white (255) on drivable areas + double computeRoomMainDirection(const cv::Mat& room_map, const double map_resolution); + + // transforms a vector of points back to the original map and generates poses + void transformPathBackToOriginalRotation(const std::vector& fov_middlepoint_path, std::vector& path_fov_poses, const cv::Mat& R); + + // converts a point path to a pose path with angles + void transformPointPathToPosePath(const std::vector& point_path, std::vector& pose_path); + + // converts a point path to a pose path with angles, the points are already stored in pose_path + void transformPointPathToPosePath(std::vector& pose_path); + + // get min/max coordinates of free pixels (255) + void getMinMaxCoordinates(const cv::Mat& map, cv::Point& min_room, cv::Point& max_room); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/timer.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/timer.h new file mode 100644 index 0000000..552d5f5 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/timer.h @@ -0,0 +1,183 @@ +/* + * timer.h + * + * Created on: May 13, 2013 + * Author: rmb-ce + */ + +// from: http://snipplr.com/view/40650/timer-class-for-both-unixlinuxmac-and-windows-system/ + +////////////////// +// How to Use //// +////////////////// + +//#include +//#include "timer.h" +//using namespace std; + +//int main() +//{ +// Timer timer; +// +// // start timer +// timer.start(); +// +// // do something +// ... +// +// // stop timer +// timer.stop(); +// +// // print the elapsed time in millisec +// cout << timer.getElapsedTimeInMilliSec() << " ms.\n"; +// +// return 0; +//} + + +////////////////////////////////////////////////////////////////////////////// +// Timer.h +// ======= +// High Resolution Timer. +// This timer is able to measure the elapsed time with 1 micro-second accuracy +// in both Windows, Linux and Unix system +// +// AUTHOR: Song Ho Ahn (song.ahn@gmail.com) +// CREATED: 2003-01-13 +// UPDATED: 2006-01-13 +// +// Copyright (c) 2003 Song Ho Ahn +////////////////////////////////////////////////////////////////////////////// + +#ifndef TIMER_H_DEF +#define TIMER_H_DEF + +#ifdef WIN32 // Windows system specific +//#include +#else // Unix based system specific +#include +#endif + +#include + + +class Timer +{ +public: +// default constructor + Timer() + { +#ifdef WIN32 + QueryPerformanceFrequency(&frequency); + startCount.QuadPart = 0; + endCount.QuadPart = 0; +#else + startCount.tv_sec = startCount.tv_usec = 0; + endCount.tv_sec = endCount.tv_usec = 0; +#endif + + stopped = 0; + startTimeInMicroSec = 0; + endTimeInMicroSec = 0; + + start(); + } + + // default destructor + ~Timer() + { + } + + /////////////////////////////////////////////////////////////////////////////// + // start timer. + // startCount will be set at this point. + /////////////////////////////////////////////////////////////////////////////// + void start() + { + stopped = 0; // reset stop flag +#ifdef WIN32 + QueryPerformanceCounter(&startCount); +#else + gettimeofday(&startCount, NULL); +#endif + } + + /////////////////////////////////////////////////////////////////////////////// + // stop the timer. + // endCount will be set at this point. + /////////////////////////////////////////////////////////////////////////////// + void stop() + { + stopped = 1; // set timer stopped flag + +#ifdef WIN32 + QueryPerformanceCounter(&endCount); +#else + gettimeofday(&endCount, NULL); +#endif + } + + /////////////////////////////////////////////////////////////////////////////// + // same as getElapsedTimeInSec() + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTime() + { + return this->getElapsedTimeInSec(); + } + + /////////////////////////////////////////////////////////////////////////////// + // divide elapsedTimeInMicroSec by 1000000 + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTimeInSec() + { + return this->getElapsedTimeInMicroSec() * 0.000001; + } + + /////////////////////////////////////////////////////////////////////////////// + // divide elapsedTimeInMicroSec by 1000 + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTimeInMilliSec() + { + return this->getElapsedTimeInMicroSec() * 0.001; + } + + /////////////////////////////////////////////////////////////////////////////// + // compute elapsed time in micro-second resolution. + // other getElapsedTime will call this first, then convert to correspond resolution. + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTimeInMicroSec() + { +#ifdef WIN32 + if(!stopped) + QueryPerformanceCounter(&endCount); + + startTimeInMicroSec = startCount.QuadPart * (1000000.0 / frequency.QuadPart); + endTimeInMicroSec = endCount.QuadPart * (1000000.0 / frequency.QuadPart); +#else + if (!stopped) + gettimeofday(&endCount, NULL); + + startTimeInMicroSec = (startCount.tv_sec * 1000000.0) + startCount.tv_usec; + endTimeInMicroSec = (endCount.tv_sec * 1000000.0) + endCount.tv_usec; +#endif + + return endTimeInMicroSec - startTimeInMicroSec; + } + +protected: + +private: + double startTimeInMicroSec; // starting time in micro-second + double endTimeInMicroSec; // ending time in micro-second + int stopped; // stop flag +#ifdef WIN32 + LARGE_INTEGER frequency; // ticks per second + LARGE_INTEGER startCount;// + LARGE_INTEGER endCount;// +#else + timeval startCount; // + timeval endCount; // +#endif +}; + +#endif // TIMER_H_DEF diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/voronoi.hpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/voronoi.hpp new file mode 100644 index 0000000..d7dfcb3 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/include/ipa_room_exploration/voronoi.hpp @@ -0,0 +1,1273 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \author + * Author: Joshua Hampp + * + * \date Date of creation: 2016 + * + * \brief + * classes for grid map generation in Voronoi manner + * + ****************************************************************/ + +#pragma once + +#include +#include +#include +#include +#include + + +#include + +#include + + +//debug includes +#include + +#define APPROX_COVERED 3 + +//* Helper class containing 2d vector +struct Pos { + int x_; ///< x position in pixels + int y_; ///< y position in pixels + + /*! + * \brief setter constructor + */ + Pos(const int x, const int y) : x_(x), y_(y) + {} + + inline bool operator==(const Pos &o) const { + return x_==o.x_ && y_==o.y_; + } + + /*! + * \brief add other position to this one + */ + inline void operator+=(const Pos &h) { + x_ += h.x_; + y_ += h.y_; + } + + /*! + * \brief subtracts other position from this one + */ + inline void operator-=(const Pos &h) { + x_ -= h.x_; + y_ -= h.y_; + } + + /*! + * \brief returns sum of two positions + */ + inline Pos operator+(const Pos &h) const { + Pos c=*this; + c+=h; + return c; + } + + /*! + * \brief returns difference of two positions + */ + inline Pos operator-(const Pos &h) const { + Pos c=*this; + c-=h; + return c; + } + + /*! + * \brief squared Euclidean distance to another postition + */ + inline int dist2(const Pos &h) const { + return (x_-h.x_)*(x_-h.x_) + (y_-h.y_)*(y_-h.y_); + } + + /*! + * \brief squared Euclidean distance of this position + */ + inline int dist2() const { + return x_*x_ + y_*y_; + } + +}; + +std::ostream &operator<<(std::ostream &os, const Pos &p) { + return os< Ptr; + + /*! + * \brief default constructor + */ + Cell() : pos_(0,0), hops_(0), sx_(0), sy_(0), id_(-1), id2_(-1) + {} + /*! + * \brief constructor for defined position in grid map + */ + Cell(const int x, const int y) : pos_(x,y), hops_(1), sx_(0), sy_(0), id_(-1), id2_(-1) + {} + + /*! + * \brief traverse to next cell by relative position increment + */ + inline void operator+=(const Pos &h) { + hops_ += 1; + sx_ += h.x_; + sy_ += h.y_; + } + + /*! + * \brief create a traversed cell by relative position increment + */ + inline Cell operator+(const Pos &h) const { + Cell c=*this; + c+=h; + return c; + } + + /*! + * \brief set relative movement and hops from another cell to this one + */ + inline void set(const Cell &h) { + hops_ = h.hops_; + sx_ = h.sx_; + sy_ = h.sy_; + } + + /*! + * \brief increases position, relative movement and hops from another cell to this one + */ + inline void operator+=(const Cell &h) { + hops_ += h.hops_; + pos_ += h.pos_; + assert(sx_*h.sx_>=0); + assert(sy_*h.sy_>=0); + sx_ += h.sx_; + sy_ += h.sy_; + } + + /*! + * \brief returns summed up position, relative movement and hops from another cell and this one (rest of parameters are copied from this) + */ + inline Cell operator+(const Cell &h) const { + Cell c=*this; + c+=h; + return c; + } + + /*! + * \brief squared Euclidean distance of relative movement + */ + inline int dist2() const { + return sx_*sx_ + sy_*sy_; + } + + /*! + * \brief compares the Euclidean distances of relative movement + */ + inline bool operator<(const Cell &o) const { return dist2() 0) + */ + inline operator bool() const { return hops_>0; } + +}; + +//* Helper class for grid maps storing relevant meta information (Cell) +struct CellMap { + std::vector cells_; ///< ordered map of cells containing meta information + int w_; ///< width in pixels + int h_; ///< height in pixels + + /*! + * \brief constructor for creating a empty grid map of width*height + */ + CellMap(const int w, const int h) : cells_(w*h), w_(w), h_(h) + { + for(int x=0; x=0 && p.x_=0 && p.y_=0 && x=0 && y=0 && x=0 && y > +struct pless : public std::binary_function { + bool operator()(const Type *x, const Type *y) const + { + if(x->dist2()==y->dist2()) { + if(x->pos_.x_==y->pos_.x_) + return x->pos_.y_>y->pos_.y_; + return x->pos_.x_>y->pos_.x_; + } + return x->dist2()>y->dist2(); + } +}; + +//* Helper class for finding nearest neighbours +template +struct PointCloud +{ + struct Point + { + T x,y; + + Point() {} + Point(const T &x, const T &y):x(x),y(y) {} + }; + + std::vector pts; + + // Must return the number of data points + inline size_t kdtree_get_point_count() const { return pts.size(); } + + // Returns the distance between the vector "p1[0:size-1]" and the data point with index "idx_p2" stored in the class: + inline T kdtree_distance(const T *p1, const size_t idx_p2,size_t /*size*/) const + { + const T d0=p1[0]-pts[idx_p2].x; + const T d1=p1[1]-pts[idx_p2].y; + return d0*d0+d1*d1; + } + + // Returns the dim'th component of the idx'th point in the class: + // Since this is inlined and the "dim" argument is typically an immediate value, the + // "if/else's" are actually solved at compile time. + inline T kdtree_get_pt(const size_t idx, int dim) const + { + if (dim==0) return pts[idx].x; + else return pts[idx].y; + } + + // Optional bounding-box computation: return false to default to a standard bbox computation loop. + // Return true if the BBOX was already computed by the class and returned in "bb" so it can be avoided to redo it again. + // Look at bb.size() to find out the expected dimensionality (e.g. 2 or 3 for point clouds) + template + bool kdtree_get_bbox(BBOX& /*bb*/) const { return false; } + +}; + +struct LineSegment { + double length_; + double effective_length_; + std::vector inds_; + + inline bool operator<(const LineSegment &o) const { + return effective_length_>o.effective_length_; + } +}; + +template +struct TSPItem { + Pos in_, out_; + cv::Point2f in_dir_, out_dir_; + T *ref_; + + TSPItem() : in_(0,0), out_(0,0), ref_(NULL) {} + + TSPItem(const Pos &a, const Pos &b, const cv::Point2f &ad, const cv::Point2f &bd, T *ref): + in_(a), out_(b), in_dir_(ad), out_dir_(bd), ref_(ref) + {} + + TSPItem swap() const { + return TSPItem(out_, in_, out_dir_, in_dir_, ref_); + } +}; + +template +struct TSPTour { + Pos start_; + std::vector items_; + + TSPTour(const Pos &s) : start_(s) + {} + + inline size_t size() const {return 2*items_.size();} + + inline double costs() const { + //TODO: include direction change as costs + // depending on: + // * translation speed + // * rotation speed + + /* + (1-last_dir.dot(dir)) + */ + const double relation = (M_PI/0.2) * (0.05/0.3); //assumption: rotation_speed=0.2rad/s, translation_speed=0.3m/s, resolution=0.05m + + double c=0; + Pos last = start_; + cv::Point2f last_dir(0,0); + for(size_t i=0; i10) { //we replace last_dir + Pos t = items_[i].in_-last; + cv::Point2f interm(t.x_,t.y_); + interm*= 1./dist; + + rotation = (1+interm.dot(items_[i].in_dir_)); + rotation+= (1-last_dir.dot(interm)); + } + else { + rotation = (1+last_dir.dot(items_[i].in_dir_)); + } + + c += dist + + rotation*relation; + last = items_[i].out_; + last_dir = items_[i].out_dir_; + } + return c; + } + + T get(const size_t i) const { + assert(i/2 +struct TSPalgorithm { + TSPTour tour_; + + TSPalgorithm(const Pos &p) : tour_(p) + {} + + // Do all 2-opt combinations + void optimize() + { + // repeat until no improvement is made + bool improved = true; + time_t start = time(NULL); + + while ( improved ) + { + improved=false; + double best_distance = tour_.costs(); + + for ( int i = 0; i < tour_.size() - 1; i+=2 ) + { + for ( int k = i + 1; k < tour_.size(); k++) + { + TSPTour new_tour(tour_.start_); + swap2opt(new_tour, i, k ); + + const double new_distance = new_tour.costs(); + + if ( new_distance < best_distance ) + { + // Improvement found so reset + improved = true; + tour_ = new_tour; + best_distance = new_distance; + + //std::cout<<"new costs "<15) { + std::cout<<"TIMEOUT!"< &new_tour, const int& i, const int& k ) + { + // 1. take route[0] to route[i-1] and add them in order to new_route + int c = 0; + for (; c+1 <= i - 1; c+=2 ) + { + new_tour.set( c, tour_.get( c ) ); + } + + // 2. take route[i] to route[k] and add them in reverse order to new_route + int dec = 0;//(i%2==1?2:0); + for (; c<=k; c+=2 ) + { + //std::cout< +void connect(const Points &pts, std::vector &out, const cv::Mat &coverage, const Pos &start, const int approx_cover_dist, const int min_segment_length=2, const int max_segment_length=5) +{ + if(pts.size()==0) return; + else if(pts.size()==1) { + out.push_back(0); + out.push_back(0); + return; + } + + std::vector used(pts.size(), 0); + + int current=0, num=0, last=0; + + //costs for already used/visited point + const int USED_INC = 20; + + if(coverage.cols*coverage.rows>0) { + for(size_t i=0; i(pts[i].y_, pts[i].x_)) ) + ++num; + } + } + + /////////////////////////////////// + + PointCloud cloud; + for(size_t i=0; i::Point(pts[i].x_, pts[i].y_)); + + // construct a kd-tree index: + typedef nanoflann::KDTreeSingleIndexAdaptor< + nanoflann::L2_Simple_Adaptor > , + PointCloud, + 2 /* dim */ + > my_kd_tree_t; + + my_kd_tree_t index(2 /*dim*/, cloud, nanoflann::KDTreeSingleIndexAdaptorParams(10 /* max leaf */) ); + index.buildIndex(); + + int query_pt[2]; + + //1. build line segments + std::vector segs; + //use first unused pt + for(size_t j=0; j0) continue; + + LineSegment seg; + seg.length_ = 0; + + size_t nexts[4]={j}; + double last_lenghts[10]; + int num = 1; + int nnn=0; + while(num>0) { + --num; + size_t i = nexts[num]; + used[i] += USED_INC; + + //if(nnn%2==0) //only every 2nd point (to avoid odd patterns) + { + if(seg.inds_.size()>0) + seg.length_ += std::sqrt(pts[seg.inds_.back()].dist2(pts[i])); + last_lenghts[seg.inds_.size()%10] = seg.length_; + seg.inds_.push_back(i); + } + ++nnn; + + /*if(seg.length_>=max_segment_length) { + seg.effective_length_ = seg.length_; + segs.push_back(seg); + + seg = LineSegment(); + seg.length_ = 0; + }*/ + + //search for neighbouring pts + query_pt[0] = pts[nexts[num]].x_; + query_pt[1] = pts[nexts[num]].y_; + + std::vector > ret_matches; + nanoflann::SearchParams params; + params.sorted = true; + + const size_t nMatches = index.radiusSearch(&query_pt[0], 5, ret_matches, params); + //const size_t nMatches = index.knnSearch(&query_pt[0], 3 /*direct neighbours*/, ret_matches, params); + //std::cout<<"nMatches "<=0;j--) { + if(used[ret_matches[j].first]>0) continue; + + if(num>=4) { //finish segment + //num = 1; + break; + } + + if(/*seg.inds_.size()==0 &&*/ num>0) { // only in one direction + used[ret_matches[j].first] += USED_INC; + } + else { + nexts[num] = ret_matches[j].first; + ++num; + } + } + + /*if(num==1 && n==1) { //if we had before 2 pts (front/back) and now only one again + std::reverse(seg.inds_.begin(), seg.inds_.end()); + }*/ + if(seg.inds_.size()>10+min_segment_length) { + Pos p1 = pts[seg.inds_[seg.inds_.size()-1]]; + Pos p2 = pts[seg.inds_[seg.inds_.size()-6]]; + Pos p3 = pts[seg.inds_[seg.inds_.size()-10]]; + Pos d1 = p2-p1; + Pos d2 = p3-p2; + if(d1.x_*d2.x_ + d1.y_*d2.y_<10) { + std::vector inds(seg.inds_.begin()+seg.inds_.size()-6, seg.inds_.end()); + double l = seg.length_-last_lenghts[(seg.inds_.size()-6)%10]; + seg.length_ = last_lenghts[(seg.inds_.size()-6)%10]; + seg.effective_length_ = seg.length_; + seg.inds_.erase(seg.inds_.begin()+seg.inds_.size()-5, seg.inds_.end()); + + if(seg.inds_.size()>0 && seg.effective_length_>=min_segment_length) segs.push_back(seg); + + seg.inds_=inds; + seg.length_ = l; + } + } + else if(seg.length_>80) { + seg.effective_length_ = seg.length_; + if(seg.inds_.size()>0 && seg.effective_length_>=min_segment_length) segs.push_back(seg); + seg=LineSegment(); + seg.length_ = 0; + } + } + + seg.effective_length_ = seg.length_; + if(seg.inds_.size()>0 && seg.effective_length_>=min_segment_length) segs.push_back(seg); + } + + //3. do TSP for line segments + TSPalgorithm > opt(start); + LineSegment segs_start={}; + for(size_t i=0; i1) { + const size_t off = std::min((size_t)9, segs[i].inds_.size()-1); + dir_a = cv::Point2f(pts[segs[i].inds_.front()].x_-pts[segs[i].inds_[off]].x_, pts[segs[i].inds_.front()].y_-pts[segs[i].inds_[off]].y_); + dir_b = cv::Point2f(pts[segs[i].inds_.back()].x_-pts[segs[i].inds_[segs[i].inds_.size()-off-1]].x_, pts[segs[i].inds_.back()].y_-pts[segs[i].inds_[segs[i].inds_.size()-off-1]].y_); + dir_a*= 1./cv::norm(dir_a); + dir_b*= 1./cv::norm(dir_b); + + assert(!(dir_a!=dir_a)); + assert(!(dir_b!=dir_b)); + } + opt.tour_.set(2*i, TSPItem(pts[segs[i].inds_.front()], pts[segs[i].inds_.back()], dir_a, dir_b, &segs[i])); + } + + opt.optimize(); + + //4. create output + Pos ll(start); + for(size_t i=0; iinds_.back()]) + std::reverse(opt.tour_.items_[i].ref_->inds_.begin(), opt.tour_.items_[i].ref_->inds_.end()); + + ll = opt.tour_.items_[i].out_; + + for(size_t j=0; jinds_.size(); j++) + out.push_back(opt.tour_.items_[i].ref_->inds_[j]); + } +} + +//* Class for building a modified Voronoi graph for a given grid map (also computes waypoints and areas) +class VoronoiMap { + CellMap map_; //< internal gridmap + std::vector centers_; //< central points definining connected areas (points which results from different obstacles -> local maxima) + int max_track_width_; //< width of a track in pixels + int wall_offset_; //< distance to wall for path generation in pixels + bool single_room_; //< if true the map is handled as one complete room + + typedef std::priority_queue, pless > > T_WAVE; + + enum { + OCC=100, ///< value for occupied cell in ROS gridmap + FREE=0, ///< value for free cell in ROS gridmap + UNK=-1, ///< value for unknown cell in ROS gridmap + SET=3 ///< value for internal handled cell + }; + + /*! + * \brief access operator for occopuancy grid map with width/height at position + */ + inline int8_t &operator()(int8_t *occ, const int w, const int h, const Pos &c) { + return occ[c.y_*w+c.x_]; + } + + /*! + * \brief visit undhandled cells around given position and add them to our processing wave + */ + inline int add(int8_t *occ, const int w, const int h, const Pos &org, T_WAVE &wave) { + const int NUM=4; + static const Pos dirs[NUM] = {Pos(-1,0), Pos(0,-1), Pos(1,0), Pos(0,1)}; + + const Cell &cur = map_[org]; + + int n=0; + for(int d=0; dset(cur); + *c += dirs[d]; + wave.push(c); + (*this)(occ,w,h, p) = SET; + ++n; + } + } + + return n; + } + + /*! + * \brief visit handled cells which are further away as from new position around given position and add them to our processing wave + */ + inline int add2(int8_t *occ, const int w, const int h, const Pos &org, T_WAVE &wave) { + const int NUM=4; + static const Pos dirs[NUM] = {Pos(-1,0), Pos(0,-1), Pos(1,0), Pos(0,1)}; + + const Cell &cur = map_[org]; + + int n=0; + for(int d=0; dt.dist2()) + { + Cell *c = &map_[p]; + c->set(cur); + *c += dirs[d]; + wave.push(c); + ++n; + } + } + + return n; + } + +public: + + bool getSingleRoom() const {return single_room_;} + void setSingleRoom(const bool b) {single_room_=b;} + + /*! + * \brief constructor for creating simple version of modified Voronoi map (without room segmenation...) for wall tracking purposes (potential field -> specified distance to wall) + */ + VoronoiMap(const int max_track_width, int8_t *occ, const int w, const int h) : map_(w,h), max_track_width_(max_track_width), wall_offset_(0), single_room_(false) { + T_WAVE wave; + + for(int x=0; x0) { + int added = add(occ,w,h, wave.top()->pos_, wave); + + if(added==0 && wave.top()->hops_>0 && wave.top()->dist2()>4) + centers_.push_back(wave.top()); + + wave.pop(); + } + } + + /*! + * \brief constructor for creating "complete" modified Voronoi map (with room segmenation...) for maeander calculation (does not generate path by itself) + */ + VoronoiMap(int8_t *occ, const int w, const int h, const int max_track_width, const int merge_tracks=2, const bool single_room=false) : map_(w,h), max_track_width_(max_track_width), wall_offset_(0), single_room_(single_room) { + T_WAVE wave; + + //std::cout<<"single_room "<0) { + int added = add(occ,w,h, wave.top()->pos_, wave); + + if(added==0 && wave.top()->hops_>0 && wave.top()->dist2()>=max_track_width_*max_track_width_*2) { + centers_.push_back(wave.top()); + if(single_room_) centers_.back()->id_=1; + } + + wave.pop(); + } + + if(single_room) return; + + const int NUM=9; + //static const Pos dirs[NUM] = {Pos(-1,0), Pos(0,-1), Pos(1,0), Pos(0,1), Pos(0,0)}; + static const Pos dirs[NUM] = {Pos(-1,-1), Pos(0,-1), Pos(1,-1), Pos(-1,0), Pos(1,0), Pos(-1,1), Pos(0,1), Pos(1,1), Pos(0,0)}; + + PointCloud cloud; + for(size_t i=0; i::Point(centers_[i]->pos_.x_, centers_[i]->pos_.y_)); + + // construct a kd-tree index: + typedef nanoflann::KDTreeSingleIndexAdaptor< + nanoflann::L2_Simple_Adaptor > , + PointCloud, + 2 /* dim */ + > my_kd_tree_t; + + my_kd_tree_t index(2 /*dim*/, cloud, nanoflann::KDTreeSingleIndexAdaptorParams(10 /* max leaf */) ); + index.buildIndex(); + + int query_pt[2]; + std::vector > ws_old; + ws_old.resize(centers_.size()); + + //start from central points with highest distance to next obstacle + for(int i=centers_.size()-1; i>=0; --i) { + + //if already processed skip + if(centers_[i]->id_>=0) continue; + + //start with this point + std::vector ws; + ws.push_back(centers_[i]); + + //iterate over all connected, unprocessed center points + //for clustering + for(size_t j=0; jid_>=0) continue; + + //distance to obstacle + const int last_dist = std::sqrt(ws[j]->dist2()); + //track no. + const int id = last_dist/(merge_tracks*max_track_width_); + + ws[j]->id_ = i+1; //generate id for area + + //look now in direct neighbourhood for other center points + query_pt[0] = ws[j]->pos_.x_; + query_pt[1] = ws[j]->pos_.y_; + + std::vector > ret_matches; + nanoflann::SearchParams params; + params.sorted = true; + + //const size_t nMatches = index.radiusSearch(&query_pt[0], 2*last_dist+2*max_track_width_, ret_matches, params); + const size_t nMatches = index.radiusSearch(&query_pt[0], std::pow(last_dist+max_track_width_,2), ret_matches, params); + + int mid = id; + for (size_t ii=0;iiid_>=0) continue; //already processed + + const int dist = std::sqrt(c->dist2()); + const int _id = dist/(merge_tracks*max_track_width_); + + //point would be within track no. --> clustering + //so the clustered center points get the same id + if(_id<=mid) + ws.push_back(c); + else break; + } + } + } + + if(centers_.size()<1) return; + + //assign id to complete area around center point + const int factor=merge_tracks; + + //biggest distance to obstacle + const int first_dist2 = centers_[centers_.size()-1]->dist2(); + const int first_id = std::sqrt(first_dist2)/(factor*max_track_width_); + + std::vector > wc; + wc.resize(centers_.size()); + //seed points + for(int i=0; i=0; --i) { + //distance to obstacle + const int last_dist = std::sqrt(centers_[i]->dist2()); + //calc. track no. + int id = last_dist/(factor*max_track_width_); + + //only process areas with at least this track no. + if(idid_; //get area id + if(id<0) continue; //not processed by step before + + //do one loop through stack (initial one center point) + std::vector w2; + for(size_t j=0; jid2_<<" "<id_<id2_==99) { + + //if differnt area ids contract, + //we mark this as border between two areas + if(wc[i][j]->id_ != id || map_[wc[i][j]->pos_].dist2()<=0) { + wc[i][j]->hops_=0; + wc[i][j]->sx_=0; + wc[i][j]->sy_=0; + wave.push(wc[i][j]); //remember border + } + //otherwise it's the same area, we can skip + + continue; + } + + wc[i][j]->id_ = id; //assign area id + wc[i][j]->id2_ = 99; //mark as visited + + //add surrounding points for next loop + for(int d=0; dpos_+dirs[d]; + //if not an obstacle + if(map_.valid(p)) + //if(map_[p].dist2()>0) + w2.push_back(&map_[p]); + } + } + + //std::cout<<"SSS44 "<0) { + int added = add2(occ,w,h, wave.top()->pos_, wave); + //std::cout<dist2()<=map_.w_-1 || y>=map_.h_-1) + return -1; + + if(!map_(x,y).sx_ && !map_(x,y).sy_) + return 0; //obstacle + + const double v = std::sqrt(map_(x,y).dist2())-max_track_width_/2.; + if(v=map_.w_-1 || y>=map_.h_-1) + return -1; + + if(!map_(x,y).sx_ && !map_(x,y).sy_) + return 0; //obstacle + + if(map_(x,y).hops_<=0) return 0; + + const float V = std::abs((float)fmod(std::sqrt((float)map_(x,y).dist2())-(float)wall_offset_, (float)max_track_width_)-(float)max_track_width_/2.f); + if(V<0.45f) return 2222; + + const int xx = roundf(float(map_(x,y).sx_) / std::max(std::abs(map_(x,y).sx_), std::abs(map_(x,y).sy_)) ); + const int yy = roundf(float(map_(x,y).sy_) / std::max(std::abs(map_(x,y).sx_), std::abs(map_(x,y).sy_)) ); + + const int xx2 = roundf(float(map_(x,y).sx_)*2 / std::max(std::abs(map_(x,y).sx_), std::abs(map_(x,y).sy_)) ); + const int yy2 = roundf(float(map_(x,y).sy_)*2 / std::max(std::abs(map_(x,y).sx_), std::abs(map_(x,y).sy_)) ); + + const float v[5]={ + std::abs((float)fmod(std::sqrt((float)map_(x+xx,y+yy).dist2())-(float)wall_offset_, (float)max_track_width_)-(float)max_track_width_/2.f), + V, + std::abs((float)fmod(std::sqrt((float)map_(x-xx,y-yy).dist2())-(float)wall_offset_, (float)max_track_width_)-(float)max_track_width_/2.f), + + std::abs((float)fmod(std::sqrt((float)map_(x-xx2,y-yy2).dist2())-(float)wall_offset_, (float)max_track_width_)-(float)max_track_width_/2.f), + std::abs((float)fmod(std::sqrt((float)map_(x+xx2,y+yy2).dist2())-(float)wall_offset_, (float)max_track_width_)-(float)max_track_width_/2.f) + }; + + //if(v[1]map_(x,y).hops_) ++num; + + return (num==0 && map_(x,y).dist2()*12>=max_track_width_*max_track_width_)?2222:(map_(x,y).hops_>0?1000:0); + } + + /*! + * \brief generate maeander using start position and coverage, simplifies path by minimum distance between points (in pixels) and deviation (distance) from a thought line (in pixel) + */ + template + void generatePath(PathVector &path, const cv::Mat &coverage, const int start_x, const int start_y, const int min_dist=40, const float dir_dev=0.1f) { + std::vector pts; + size_t num=0; + + const int cid = map_(start_x,start_y).id_; + + for(int x=0; xstd::pow(wall_offset_,2) && (*this)(x,y) == 2222 && (single_room_||map_(x,y).id_==cid) ) { + pts.push_back(Pos(x,y)); + ++num; + } + } + } + + //sort pts in relation to distance to start + //-->circles wil be split near to start + std::sort(pts.begin(), pts.end(), CmpDist2Ref(Pos(start_x, start_y))); + + num = 0; + + std::vector out; + connect(pts, out, coverage, Pos(start_x, start_y), APPROX_COVERED); + + //helper structure for optimized removal + struct OptVal { + struct OptValCompare { + bool operator()(const typename std::list::iterator& lhs, const typename std::list::iterator& rhs) const { + if(lhs->val==rhs->val) return lhs->val_secval_sec; + return lhs->valval; + } + }; + + typedef std::multimap::iterator, char, OptValCompare> MM; + + double val; //value defining costs if we remove the coresponding point from line + double val_sec; + int ind; //index to order list (out) (double indexed to pts) + typename MM::iterator mm; //remember iterator to sorted multimap list + }; + //function to update costs + auto ValueFunc = [pts, out, this](typename std::list::iterator cur) { + typename std::list::iterator b = cur; + typename std::list::iterator a = cur; + --b; + ++a; + + auto dx1 = pts[out[b->ind]].x_-pts[out[cur->ind]].x_; + auto dy1 = pts[out[b->ind]].y_-pts[out[cur->ind]].y_; + auto dx2 = pts[out[a->ind]].x_-pts[out[cur->ind]].x_; + auto dy2 = pts[out[a->ind]].y_-pts[out[cur->ind]].y_; + auto dx3 = pts[out[a->ind]].x_-pts[out[b->ind]].x_; + auto dy3 = pts[out[a->ind]].y_-pts[out[b->ind]].y_; + + auto Dist = [](int dx, int dy) {return std::sqrt(std::pow(dx,2)+std::pow(dy,2));}; + auto l = Dist(dx1,dy1)+Dist(dx2,dy2); + /*if(l<=2*this->max_track_width_ && std::abs(dx1*dy2 - dx2*dy1)max_track_width_*this->max_track_width_/3) + cur->val=0; + else*/ + cur->val = (l-Dist(dx3,dy3))*Dist(dx3,dy3); + //cur->val = (10000*(Dist(dx1,dy1)+Dist(dx2,dy2))-4)/Dist(dx3,dy3)-10000; + //cur->val = std::abs(dx1*dy2 - dx2*dy1); + cur->val_sec = Dist(dx3,dy3); + }; + + std::list vals; //ordered list of line + for(size_t i=0; i::iterator it = ++vals.begin(); it!=--vals.end(); ++it) { + ValueFunc(it); + it->mm = vals_sorted.insert(std::pair::iterator, char>(it, 0)); + } + + const double THR=8;//std::pow(9,2); + while(!vals_sorted.empty()) { + typename std::list::iterator it = vals_sorted.begin()->first; + if(it->val>=THR) break; + + //remove top (keep in mind, first and last point won't be removed!) + typename std::list::iterator a=it, b=it; + ++a; --b; + + vals_sorted.erase(it->mm); + if(a!=--vals.end()) vals_sorted.erase(a->mm); + if(b!=vals.begin()) vals_sorted.erase(b->mm); + vals.erase(it); + + //update values + if(a!=--vals.end()) { + ValueFunc(a); + a->mm = vals_sorted.insert(std::pair::iterator, char>(a, 0)); + } + if(b!=vals.begin()) { + ValueFunc(b); + b->mm = vals_sorted.insert(std::pair::iterator, char>(b, 0)); + } + } + + path.resize(vals.size()); + size_t i=0; + for(typename std::list::iterator it = vals.begin(); it!=vals.end(); ++it,++i) { + path[i].x=pts[out[it->ind]].x_; + path[i].y=pts[out[it->ind]].y_; + } + + } + + /*! + * \brief gernates a direct path (2 points) to next uncovered area (e.g. next room to clean; shortest path) + */ + template + bool nextArea(PathVector &path, const cv::Mat &coverage, const int start_x, const int start_y) { + path.resize(2); + path[0].x = start_x; + path[0].y = start_y; + + const int NUM=4; + static const Pos dirs[NUM] = {Pos(-1,0), Pos(0,-1), Pos(1,0), Pos(0,1)}; + + const int cid = map_(start_x,start_y).id_; + Pos p(start_x, start_y); + + std::list stack; + stack.push_back(p); + + while(stack.size()>0) { + p = stack.front(); + stack.pop_front(); + + if( map_(p.x_,p.y_).id_!=cid && (*this)(p.x_,p.y_) == 2222 && + (p.x_>=coverage.cols || p.y_>=coverage.rows || !coverage.at(p.y_, p.x_) ) ) { + path[1].x = p.x_; + path[1].y = p.y_; + + return true; + } + + int n=0; + for(int d=0; d=0 && map_(n.x_,n.y_).id2_!=333 ) { + map_(n.x_,n.y_).id2_=333; + stack.push_back(n); + } + } + } + + return false; + } + + /*! + * \brief generates a direct path (2 points) to next border (e.g. wall) which was noch covered yet (allows to search in global map or only in current area; shortest path) + */ + template + bool nextBorderPoint(PathVector &path, const cv::Mat &coverage, const int start_x, const int start_y, const bool stay_inside=false) { + const int NUM=4; + static const Pos dirs[NUM] = {Pos(-1,0), Pos(0,-1), Pos(1,0), Pos(0,1)}; + + Pos p(start_x, start_y); + + std::list stack; + stack.push_back(p); + + path.resize(2); + path[0].x = start_x; + path[0].y = start_y; + + while(stack.size()>0) { + p = stack.front(); + stack.pop_front(); + + int d = map_(p.x_,p.y_).dist2(); + + if( 4*d>=std::pow(3*max_track_width_-1,2) && 4*d<=std::pow(3*max_track_width_+1,2) && + (p.x_<0 || p.y_<0 || p.x_>=coverage.cols || p.y_>=coverage.rows || !coverage.at(p.y_, p.x_) ) ) { + path[1].x = p.x_; + path[1].y = p.y_; + return true; + } + + int n=0; + for(int d=0; d=0 && map_(n.x_,n.y_).id2_!=444 && + (!stay_inside || map_(n.x_,n.y_).hops_>0) //TODO: check this statement + ) { + map_(n.x_,n.y_).id2_=444; + stack.push_back(n); + } + } + } + + path.clear(); + return false; + } + +}; + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/boustrophedon_explorator.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/boustrophedon_explorator.cpp new file mode 100644 index 0000000..14232dd --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/boustrophedon_explorator.cpp @@ -0,0 +1,1160 @@ +#include + +//#define DEBUG_VISUALIZATION + +// Constructor +BoustrophedonExplorer::BoustrophedonExplorer() +{ + +} + +// Function that creates a room exploration path for the given map, by using the morse cellular decomposition method proposed in +// +// "H. Choset, E. Acar, A. A. Rizzi and J. Luntz, +// "Exact cellular decompositions in terms of critical points of Morse functions," Robotics and Automation, 2000. Proceedings. +// ICRA '00. IEEE International Conference on, San Francisco, CA, 2000, pp. 2270-2277 vol.3." +// +// This method takes the given map and separates it into several cells. Each cell is obstacle free and so allows an +// easier path planning. For each cell then a boustrophedon path is planned, which goes up, down and parallel to the +// upper and lower boundaries of the cell, see the referenced paper for details. This function does the following steps: +// I. Using the Sobel operator the direction of the gradient at each pixel is computed. Using this information, the direction is +// found that suits best for calculating the cells, i.e. such that longer cells occur, and the map is rotated in this manner. +// This allows to use the algorithm as it was and in the last step, the found path points simply will be transformed back to the +// original orientation. +// II. Sweep a slice (a morse function) trough the given map and check for connectivity of this line, +// i.e. how many connected segments there are. If the connectivity increases, i.e. more segments appear, +// an IN event occurs that opens new separate cells, if it decreases, i.e. segments merge, an OUT event occurs that +// merges two cells together. If an event occurs, the algorithm checks along the current line for critical points, +// that are points that trigger the events. From these the boundary of the cells are drawn, starting from the CP +// and going left/right until a black pixel is hit. +// III. After all cells have been determined by the sweeping slice, the algorithm finds these by using cv::findContours(). +// This gives a set of points for each cell, that are used to create a generalizedPolygon out of each cell. +// IV. After all polygons have been created, plan the path trough all of them for the field of view s.t. the whole area +// is covered. To do so, first a global path trough all cells is generated, using the traveling salesmen problem +// formulation. This produces an optimal visiting order of the cells. Next for each cell a boustrophedon path is +// determined, which goes back and forth trough the cell and between the horizontal paths along the boundaries of +// the cell, what ensures that the whole area of the cell is covered. For each cell the longest edge is found and it is transformed +// s.t. this edge lies horizontal to the x-direction. This produces longer but fewer edges, what improves the path for small but long +// cells. The startpoint of the cell-path is determined by the endpoint of the previous cell, s.t. the distance between two +// cell-paths is minimized. The cell-path is determined in the rotated manner, so in a last step, the cell-path is transformed to +// the originally transformed cell and after that inserted in the global path. +// V. The previous step produces a path for the field of view. If wanted this path gets mapped to the robot path s.t. +// the field of view follows the wanted path. To do so simply a vector transformation is applied. If the computed robot +// pose is not in the free space, another accessible point is generated by finding it on the radius around the field of view (fov) +// middlepoint s.t. the distance to the last robot position is minimized. If this is not wanted one has to set the +// corresponding Boolean to false (shows that the path planning should be done for the robot footprint). +// room_map = expects to receive the original, not inflated room map +void BoustrophedonExplorer::getExplorationPath(const cv::Mat& room_map, std::vector& path, + const float map_resolution, const cv::Point starting_position, const cv::Point2d map_origin, + const double grid_spacing_in_pixel, const double grid_obstacle_offset, const double path_eps, const int cell_visiting_order, + const bool plan_for_footprint, const Eigen::Matrix robot_to_fov_vector, const double min_cell_area, const int max_deviation_from_track) +{ + ROS_INFO("Planning the boustrophedon path trough the room."); + const int grid_spacing_as_int = (int)std::floor(grid_spacing_in_pixel); // convert fov-radius to int + const int half_grid_spacing_as_int = (int)std::floor(0.5*grid_spacing_in_pixel); // convert fov-radius to int + const int min_cell_width = half_grid_spacing_as_int + 2.*grid_obstacle_offset/map_resolution; + + // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** + // *********************** II. Sweep a slice trough the map and mark the found cell boundaries. *********************** + // *********************** III. Find the separated cells. *********************** + cv::Mat R; + cv::Rect bbox; + cv::Mat rotated_room_map; + std::vector cell_polygons; + std::vector polygon_centers; + computeCellDecompositionWithRotation(room_map, map_resolution, min_cell_area, min_cell_width, 0., R, bbox, rotated_room_map, cell_polygons, polygon_centers); + // does not work so well: findBestCellDecomposition(room_map, map_resolution, min_cell_area, R, bbox, rotated_room_map, cell_polygons, polygon_centers); + + ROS_INFO("Found the cells in the given map."); + + + // *********************** IV. Determine the cell paths. *********************** + // determine the start cell that contains the start position + std::vector starting_point_vector(1, starting_position); // opencv syntax + cv::transform(starting_point_vector, starting_point_vector, R); + const cv::Point rotated_starting_point = starting_point_vector[0]; // point that keeps track of the last point after the boustrophedon path in each cell + +// testing +// cv::Mat center_map = room_map.clone(); +// for(size_t i=0; i::iterator cell=cell_polygons.begin(); cell!=cell_polygons.end(); ++cell) + if(cv::pointPolygonTest(cell->getVertices(), rotated_starting_point, false) >= 0) + start_cell_index = cell - cell_polygons.begin(); + + // determine the visiting order of the cells + std::vector optimal_order; + if (cell_visiting_order == OPTIMAL_TSP) + { + // determine the optimal visiting order of the cells + // ConcordeTSPSolver tsp_solver; + // std::vector optimal_order = tsp_solver.solveConcordeTSP(rotated_room_map, polygon_centers, 0.25, 0.0, map_resolution, start_cell_index, 0); + GeneticTSPSolver tsp_solver; + optimal_order = tsp_solver.solveGeneticTSP(rotated_room_map, polygon_centers, 0.25, 0.0, map_resolution, start_cell_index, 0); + if (optimal_order.size()!=polygon_centers.size()) + { + std::cout << "=====================> Genetic TSP failed with 25% resolution, falling back to 100%. <=======================" << std::endl; + optimal_order = tsp_solver.solveGeneticTSP(rotated_room_map, polygon_centers, 1.0, 0.0, map_resolution, start_cell_index, 0); + } + } + else if (cell_visiting_order == LEFT_TO_RIGHT) + { + // we are using an alternative ordering here, which visits the cells in a more obvious fashion to the human observer (though it is not optimal) + std::multimap y_coordinate_ordering; // + for (size_t i=0; i(polygon_centers[i].y, (int)i)); + for (std::multimap::iterator it=y_coordinate_ordering.begin(); it!=y_coordinate_ordering.end(); ++it) + optimal_order.push_back(it->second); + } + else + { + std::cout << "Error: BoustrophedonExplorer::getExplorationPath: The specified cell_visiting_order=" << cell_visiting_order << " is invalid." << std::endl; + return; + } + + // go trough the cells [in optimal visiting order] and determine the boustrophedon paths + ROS_INFO("Starting to get the paths for each cell, number of cells: %d", (int)cell_polygons.size()); + std::cout << "Boustrophedon grid_spacing_as_int=" << grid_spacing_as_int << std::endl; + cv::Point robot_pos = rotated_starting_point; // point that keeps track of the last point after the boustrophedon path in each cell + std::vector fov_middlepoint_path; // this is the trajectory of centers of the robot footprint or the field of view + for(size_t cell=0; cell fov_poses; // this is the trajectory of poses of the robot footprint or the field of view, in [pixels] + room_rotation.transformPathBackToOriginalRotation(fov_middlepoint_path, fov_poses, R); +#ifdef DEBUG_VISUALIZATION + std::cout << "printing path" << std::endl; + cv::Mat room_map_path = room_map.clone(); + cv::circle(room_map_path, starting_position, 3, cv::Scalar(160), CV_FILLED); + for(size_t i=0; i::iterator pose=fov_poses.begin(); pose != fov_poses.end(); ++pose) + { + geometry_msgs::Pose2D current_pose; + current_pose.x = (pose->x * map_resolution) + map_origin.x; + current_pose.y = (pose->y * map_resolution) + map_origin.y; + current_pose.theta = pose->theta; + path.push_back(current_pose); + } + return; + } + + // *********************** V. Get the robot path out of the fov path. *********************** + // go trough all computed fov poses and compute the corresponding robot pose + ROS_INFO("Starting to map from field of view pose to robot pose"); + cv::Point robot_starting_position = (fov_poses.size()>0 ? cv::Point(cvRound(fov_poses[0].x), cvRound(fov_poses[0].y)) : starting_position); + cv::Mat inflated_room_map; + cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int); + mapPath(inflated_room_map, path, fov_poses, robot_to_fov_vector, map_resolution, map_origin, robot_starting_position); + + +#ifdef DEBUG_VISUALIZATION + // testing + std::cout << "printing path" << std::endl; + cv::Mat fov_path_map = room_map.clone(); + if (path.size() > 0) + cv::circle(fov_path_map, cv::Point((path[0].x-map_origin.x)/map_resolution, (path[0].y-map_origin.y)/map_resolution), 2, cv::Scalar(150), CV_FILLED); + for(size_t i=1; i& cell_polygons, std::vector& polygon_centers) +{ + // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** + // *********************** II. Sweep a slice trough the map and mark the found cell boundaries. *********************** + // *********************** III. Find the separated cells. *********************** + cv::Mat R_1, R_2; + cv::Rect bbox_1, bbox_2; + cv::Mat rotated_room_map_1, rotated_room_map_2; + std::vector cell_polygons_1, cell_polygons_2; + std::vector polygon_centers_1, polygon_centers_2; + computeCellDecompositionWithRotation(room_map, map_resolution, min_cell_area, min_cell_width, 0., R_1, bbox_1, rotated_room_map_1, cell_polygons_1, polygon_centers_1); + computeCellDecompositionWithRotation(room_map, map_resolution, min_cell_area, min_cell_width, 90./180.*CV_PI, R_2, bbox_2, rotated_room_map_2, cell_polygons_2, polygon_centers_2); + + // select the cell decomposition with good axis alignment which produces less cells + if (cell_polygons_1.size() <= cell_polygons_2.size()) + { + R = R_1; + bbox = bbox_1; + rotated_room_map = rotated_room_map_1; + cell_polygons = cell_polygons_1; + polygon_centers = polygon_centers_1; + } + else + { + R = R_2; + bbox = bbox_2; + rotated_room_map = rotated_room_map_2; + cell_polygons = cell_polygons_2; + polygon_centers = polygon_centers_2; + } +} + +void BoustrophedonExplorer::computeCellDecompositionWithRotation(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, + const int min_cell_width, const double rotation_offset, cv::Mat& R, cv::Rect& bbox, cv::Mat& rotated_room_map, + std::vector& cell_polygons, std::vector& polygon_centers) +{ + // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** + RoomRotator room_rotation; + room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution, 0, rotation_offset); + room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); + +#ifdef DEBUG_VISUALIZATION +// // testing +// cv::Mat room_map_disp = room_map.clone(); +// cv::circle(room_map_disp, starting_position, 3, cv::Scalar(160), CV_FILLED); +// cv::imshow("room_map", room_map_disp); +// std::vector tester; +// tester.push_back(cv::Point(10,10)); +// cv::Mat tester_map = room_map.clone(); +// cv::circle(tester_map, tester[0], 3, cv::Scalar(127), CV_FILLED); +// cv::transform(tester, tester, R); +// cv::circle(rotated_room_map, tester[0], 3, cv::Scalar(127), CV_FILLED); +// cv::imshow("original", tester_map); +// cv::imshow("rotated_im.png", rotated_room_map); +// cv::waitKey(); +#endif + + // *********************** II. Sweep a slice trough the map and mark the found cell boundaries. *********************** + // *********************** III. Find the separated cells. *********************** + computeCellDecomposition(rotated_room_map, map_resolution, min_cell_area, min_cell_width, cell_polygons, polygon_centers); +} + +void BoustrophedonExplorer::computeCellDecomposition(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, + const int min_cell_width, std::vector& cell_polygons, std::vector& polygon_centers) +{ + // *********************** II. Sweep a slice trough the map and mark the found cell boundaries. *********************** + // create a map copy to mark the cell boundaries + cv::Mat cell_map = room_map.clone(); + + // find smallest y-value for that a white pixel occurs, to set initial y value and find initial number of segments + size_t y_start = 0; + bool found = false, obstacle = false; + int previous_number_of_segments = 0; + std::vector previous_obstacles_end_x; // keep track of the end points of obstacles + for(size_t y=0; y(y,x) == 255) + { + y_start = y; + found = true; + } + else if(found == true && obstacle == false && room_map.at(y,x) == 0) + { + ++previous_number_of_segments; + obstacle = true; + } + else if(found == true && obstacle == true && room_map.at(y,x) == 255) + { + obstacle = false; + previous_obstacles_end_x.push_back(x); + } + } + + if(found == true) + break; + } + + // sweep trough the map and detect critical points + for(size_t y=y_start+1; y current_obstacles_start_x; + std::vector current_obstacles_end_x; + bool obstacle_hit = false; // bool to check if the line currently hit an obstacle, s.t. not all black pixels trigger an event + bool hit_white_pixel = false; // bool to check if a white pixel has been hit at the current slice, to start the slice at the first white pixel + + // count number of segments within this row + for(size_t x=0; x(y,x) == 255) + hit_white_pixel = true; + else if(hit_white_pixel == true) + { + if(obstacle_hit == false && room_map.at(y,x) == 0) // check for obstacle + { + ++number_of_segments; + obstacle_hit = true; + current_obstacles_start_x.push_back(x); + } + else if(obstacle_hit == true && room_map.at(y,x) == 255) // check for leaving obstacle + { + obstacle_hit = false; + current_obstacles_end_x.push_back(x); + } + } + } + + // if the number of segments did not change, check whether the position of segments has changed so that there is a gap between them + bool segment_shift_detected = false; + if (previous_number_of_segments == number_of_segments && current_obstacles_start_x.size() == previous_obstacles_end_x.size()+1) + { + for (size_t i=0; i previous_obstacles_end_x[i]) + { + segment_shift_detected = true; + break; + } + } + + // reset hit_white_pixel to use this Boolean later + hit_white_pixel = false; + + // check if number of segments has changed --> event occurred + if(previous_number_of_segments < number_of_segments || segment_shift_detected == true) // IN event (or shift) + { + // check the current slice again for critical points + for(int x=0; x(y,x) == 255) + hit_white_pixel = true; + else if(hit_white_pixel == true && room_map.at(y,x) == 0) + { + // check over black pixel for other black pixels, if none occur a critical point is found + bool critical_point = true; + for(int dx=-1; dx<=1; ++dx) + if(room_map.at(y-1,std::max(0,std::min(x+dx, room_map.cols-1))) == 0) + critical_point = false; + + // if a critical point is found mark the separation, note that this algorithm goes left and right + // starting at the critical point until an obstacle is hit, because this prevents unnecessary cells + // behind other obstacles on the same y-value as the critical point + if(critical_point == true) + { + // to the left until a black pixel is hit + for(int dx=-1; x+dx>=0; --dx) + { + uchar& val = cell_map.at(y,x+dx); + if(val == 255 && cell_map.at(y-1,x+dx) == 255) + val = BORDER_PIXEL_VALUE; + else if(val == 0) + break; + } + + // to the right until a black pixel is hit + for(int dx=1; x+dx(y,x+dx); + if(val == 255 && cell_map.at(y-1,x+dx) == 255) + val = BORDER_PIXEL_VALUE; + else if(val == 0) + break; + } + } + } + } + } + else if(previous_number_of_segments > number_of_segments) // OUT event + { + // check the previous slice again for critical points --> y-1 + for(int x=0; x(y-1,x) == 255 && hit_white_pixel == false) + hit_white_pixel = true; + else if(hit_white_pixel == true && room_map.at(y-1,x) == 0) + { + // check over black pixel for other black pixels, if none occur a critical point is found + bool critical_point = true; + for(int dx=-1; dx<=1; ++dx) + if(room_map.at(y,std::max(0,std::min(x+dx, room_map.cols-1))) == 0) // check at side after obstacle + critical_point = false; + + // if a critical point is found mark the separation, note that this algorithm goes left and right + // starting at the critical point until an obstacle is hit, because this prevents unnecessary cells + // behind other obstacles on the same y-value as the critical point + if(critical_point == true) + { + const int ym2 = std::max(0,(int)y-2); + + // to the left until a black pixel is hit + for(int dx=-1; x+dx>=0; --dx) + { + uchar& val = cell_map.at(y-1,x+dx); + if(val == 255 && cell_map.at(ym2,x+dx) == 255) + val = BORDER_PIXEL_VALUE; + else if(val == 0) + break; + } + + // to the right until a black pixel is hit + for(int dx=1; x+dx(y-1,x+dx); + if(val == 255 && cell_map.at(ym2,x+dx) == 255) + val = BORDER_PIXEL_VALUE; + else if(val == 0) + break; + } + } + } + } + } + + // save the found number of segments and the obstacle end points + previous_number_of_segments = number_of_segments; + previous_obstacles_end_x = current_obstacles_end_x; + } + +#ifdef DEBUG_VISUALIZATION + cv::imshow("cell_map", cell_map); +#endif + + // *********************** II.b) merge too small cells into bigger cells *********************** + cv::Mat cell_map_labels; + const int number_of_cells = mergeCells(cell_map, cell_map_labels, min_cell_area, min_cell_width); + + // *********************** III. Find the separated cells. *********************** + std::vector > cells; + for (int i=1; i<=number_of_cells; ++i) + { + cv::Mat cell_copy(cell_map_labels == i); + std::vector > cellsi; +#if CV_MAJOR_VERSION<=3 + cv::findContours(cell_copy, cellsi, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE); +#else + cv::findContours(cell_copy, cellsi, cv::RETR_EXTERNAL, cv::CHAIN_APPROX_SIMPLE); +#endif + cells.insert(cells.end(), cellsi.begin(), cellsi.end()); + } + +#ifdef DEBUG_VISUALIZATION +// // testing +// cv::Mat black_map = cv::Mat::zeros(cell_map.rows, cell_map.cols, cell_map.type()); +// for(size_t i=0; i=min_cell_area) + { + cell_polygons.push_back(current_cell); + polygon_centers.push_back(current_cell.getCenter()); + } + else + { + std::cout << "WARN: BoustrophedonExplorer::computeCellDecomposition: dropped cell " << cell+1 << " with area=" << current_cell.getArea() << ". This should only happen for small unconnected cells." << std::endl; + } + } +} + +int BoustrophedonExplorer::mergeCells(cv::Mat& cell_map, cv::Mat& cell_map_labels, const double min_cell_area, const int min_cell_width) +{ + // label all cells + // --> create a label map with 0=walls/obstacles, -1=cell borders, 1,2,3,4...=cell labels + cell_map.convertTo(cell_map_labels, CV_32SC1, 256, 0); + // --> re-assign the cell borders with -1 + for (int v=0; v(v,u) == BORDER_PIXEL_VALUE*256) + cell_map_labels.at(v,u) = -1; + // --> flood fill cell regions with unique id labels + std::map > cell_index_mapping; // maps each cell label --> to the cell object + int label_index = 1; + for (int v=0; v skip + if (cell_map_labels.at(v,u)!=65280) + continue; + + // fill each cell with a unique id + cv::Rect bounding_box; + const double area = cv::floodFill(cell_map_labels, cv::Point(u,v), label_index, &bounding_box, 0, 0, 4); + cell_index_mapping[label_index] = boost::shared_ptr(new BoustrophedonCell(label_index, area, bounding_box)); + label_index++; + if (label_index == INT_MAX) + std::cout << "WARN: BoustrophedonExplorer::mergeCells: label_index exceeds range of int." << std::endl; + } + } + std::cout << "INFO: BoustrophedonExplorer::mergeCells: found " << label_index-1 << " cells before merging." << std::endl; + + // determine the neighborhood relationships between all cells + for (int v=1; v(v,u)==-1) // only check the border points for neighborhood relationships + { + const int label_left = cell_map_labels.at(v,u-1); + const int label_right = cell_map_labels.at(v,u+1); + if (label_left>0 && label_right>0) + { + cell_index_mapping[label_left]->neighbors_.insert(cell_index_mapping[label_right]); + cell_index_mapping[label_right]->neighbors_.insert(cell_index_mapping[label_left]); + } + const int label_up = cell_map_labels.at(v-1,u); + const int label_down = cell_map_labels.at(v+1,u); + if (label_up>0 && label_down>0) + { + cell_index_mapping[label_up]->neighbors_.insert(cell_index_mapping[label_down]); + cell_index_mapping[label_down]->neighbors_.insert(cell_index_mapping[label_up]); + } + } + } + } +#ifdef DEBUG_VISUALIZATION +// printCells(cell_index_mapping); +// cv::imshow("cell_map",cell_map); +// cv::waitKey(); +#endif + + // iteratively merge cells + mergeCellsSelection(cell_map, cell_map_labels, cell_index_mapping, min_cell_area, min_cell_width); + + // re-assign area labels to 1,2,3,4,... + int new_cell_label = 1; + for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc, ++new_cell_label) + for (int v=0; v(v,u)==itc->second->label_) + cell_map_labels.at(v,u) = new_cell_label; + + std::cout << "INFO: BoustrophedonExplorer::mergeCells: " << cell_index_mapping.size() << " cells remaining after merging." << std::endl; + return cell_index_mapping.size(); +} + +void BoustrophedonExplorer::mergeCellsSelection(cv::Mat& cell_map, cv::Mat& cell_map_labels, std::map >& cell_index_mapping, + const double min_cell_area, const int min_cell_width) +{ + // iteratively merge cells + // merge small cells below min_cell_area with their largest neighboring cell + std::multimap > area_to_region_id_mapping; // maps the area of each cell --> to the respective cell + for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) + area_to_region_id_mapping.insert(std::pair >(itc->second->area_, itc->second)); + for (std::multimap >::iterator it=area_to_region_id_mapping.begin(); it!=area_to_region_id_mapping.end();) + { + // skip if segment is large enough (area and side length criteria) + if (it->first >= min_cell_area && it->second->bounding_box_.width >= min_cell_width && it->second->bounding_box_.height >= min_cell_width) + { + ++it; + continue; + } + + // skip segments which have no neighbors + if (it->second->neighbors_.size() == 0) + { + std::cout << "WARN: BoustrophedonExplorer::mergeCells: skipping small cell without neighbors." << std::endl; + ++it; + continue; + } + + // determine the largest neighboring cell + const BoustrophedonCell& small_cell = *(it->second); + std::multimap, std::greater > area_sorted_neighbors; + for (BoustrophedonCell::BoustrophedonCellSetIterator itn = small_cell.neighbors_.begin(); itn != small_cell.neighbors_.end(); ++itn) + area_sorted_neighbors.insert(std::pair >((*itn)->area_, *itn)); + BoustrophedonCell& large_cell = *(area_sorted_neighbors.begin()->second); + + // merge the cells + mergeTwoCells(cell_map, cell_map_labels, small_cell, large_cell, cell_index_mapping); + + // update area_to_region_id_mapping + area_to_region_id_mapping.clear(); + for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) + area_to_region_id_mapping.insert(std::pair >(itc->second->area_, itc->second)); + it = area_to_region_id_mapping.begin(); + +#ifdef DEBUG_VISUALIZATION +// printCells(cell_index_mapping); +// cv::imshow("cell_map",cell_map); +// cv::waitKey(); +#endif + } + + // label remaining border pixels with label of largest neighboring region label + for (int v=1; v(v,u) == BORDER_PIXEL_VALUE) + { + std::set neighbor_labels; + for (int dv=-1; dv<=1; ++dv) + { + for (int du=-1; du<=1; ++du) + { + const int& val = cell_map_labels.at(v+dv,u+du); + if (val>0) + neighbor_labels.insert(val); + } + } + if (neighbor_labels.size() > 0) + { + int new_label = -1; + for (std::multimap >::reverse_iterator it=area_to_region_id_mapping.rbegin(); it!=area_to_region_id_mapping.rend(); ++it) + { + if (neighbor_labels.find(it->second->label_) != neighbor_labels.end()) + { + cell_map_labels.at(v,u) = it->second->label_; + break; + } + } + } + else + std::cout << "WARN: BoustrophedonExplorer::mergeCells: border pixel has no labeled neighbors." << std::endl; + } + } + } +} + +void BoustrophedonExplorer::mergeTwoCells(cv::Mat& cell_map, cv::Mat& cell_map_labels, const BoustrophedonCell& minor_cell, BoustrophedonCell& major_cell, + std::map >& cell_index_mapping) +{ + // execute merging the minor cell into the major cell + // --> remove border from maps + for (int v=0; v(v,u) == BORDER_PIXEL_VALUE && + ((cell_map_labels.at(v,u-1)==minor_cell.label_ && cell_map_labels.at(v,u+1)==major_cell.label_) || + (cell_map_labels.at(v,u-1)==major_cell.label_ && cell_map_labels.at(v,u+1)==minor_cell.label_) || + (cell_map_labels.at(v-1,u)==minor_cell.label_ && cell_map_labels.at(v+1,u)==major_cell.label_) || + (cell_map_labels.at(v-1,u)==major_cell.label_ && cell_map_labels.at(v+1,u)==minor_cell.label_))) + { + cell_map.at(v,u) = 255; + cell_map_labels.at(v,u) = major_cell.label_; + major_cell.area_ += 1; + } + // --> update old label in cell_map_labels + for (int v=0; v(v,u) == minor_cell.label_) + cell_map_labels.at(v,u) = major_cell.label_; + // --> update major_cell + major_cell.area_ += minor_cell.area_; + for (BoustrophedonCell::BoustrophedonCellSetIterator itn = major_cell.neighbors_.begin(); itn != major_cell.neighbors_.end(); ++itn) + if ((*itn)->label_ == minor_cell.label_) + { + major_cell.neighbors_.erase(itn); + break; + } + for (BoustrophedonCell::BoustrophedonCellSetIterator itn = minor_cell.neighbors_.begin(); itn != minor_cell.neighbors_.end(); ++itn) + if ((*itn)->label_ != major_cell.label_) + major_cell.neighbors_.insert(*itn); + + // clean all references to minor_cell + cell_index_mapping.erase(minor_cell.label_); + for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) + for (BoustrophedonCell::BoustrophedonCellSetIterator itn = itc->second->neighbors_.begin(); itn != itc->second->neighbors_.end(); ++itn) + if ((*itn)->label_ == minor_cell.label_) + { + (*itn)->label_ = major_cell.label_; + break; + } +} + +void BoustrophedonExplorer::correctThinWalls(cv::Mat& room_map) +{ + for (int v=1; v(v-1,u-1)==255 && room_map.at(v-1,u)==0 && room_map.at(v,u-1)==0 && room_map.at(v,u)==255) + room_map.at(v,u)=0; + else if (room_map.at(v-1,u-1)==0 && room_map.at(v-1,u)==255 && room_map.at(v,u-1)==255 && room_map.at(v,u)==0) + room_map.at(v,u-1)=0; + } + } +} + +void BoustrophedonExplorer::computeBoustrophedonPath(const cv::Mat& room_map, const float map_resolution, const GeneralizedPolygon& cell, + std::vector& fov_middlepoint_path, cv::Point& robot_pos, + const int grid_spacing_as_int, const int half_grid_spacing_as_int, const double path_eps, const int max_deviation_from_track, const int grid_obstacle_offset) +{ + // get a map that has only the current cell drawn in + // Remark: single cells are obstacle free so it is sufficient to use the cell to check if a position can be reached during the + // execution of the coverage path + cv::Mat cell_map; + cell.drawPolygon(cell_map, cv::Scalar(255)); + + // align the longer dimension of the cell horizontally with the x-axis + cv::Point cell_center = cell.getBoundingBoxCenter(); + cv::Mat R_cell; + cv::Rect cell_bbox; + cv::Mat rotated_cell_map; + RoomRotator cell_rotation; + cell_rotation.computeRoomRotationMatrix(cell_map, R_cell, cell_bbox, map_resolution, &cell_center); + cell_rotation.rotateRoom(cell_map, rotated_cell_map, R_cell, cell_bbox); + + // create inflated obstacles room map and rotate according to cell + // --> used later for checking accessibility of Boustrophedon path inside the cell + cv::Mat inflated_room_map, rotated_inflated_room_map; + cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int+grid_obstacle_offset); + cell_rotation.rotateRoom(inflated_room_map, rotated_inflated_room_map, R_cell, cell_bbox); + cv::Mat rotated_inflated_cell_map = rotated_cell_map.clone(); + for (int v=0; v(v,u)!=0 && rotated_inflated_room_map.at(v,u)==0) + rotated_inflated_cell_map.at(v,u) = 128; +#ifdef DEBUG_VISUALIZATION + cv::imshow("rotated_cell_map_with_inflation", rotated_inflated_cell_map); +#endif + + // this was deactivated because it is not as accurate as the direct check within GridGenerator::generateBoustrophedonGrid, + // because the rotation introduces some rounding errors +// // get the min/max x/y values for this cell +// int min_x=100000, max_x=0, min_y=100000, max_y=0; +// std::vector rotated_vertexes = cell.getVertices(); +// cv::transform(rotated_vertexes, rotated_vertexes, R_cell); +// for(size_t point=0; point max_x) +// max_x = rotated_vertexes[point].x; +// if(rotated_vertexes[point].y > max_y) +// max_y = rotated_vertexes[point].y; +// if(rotated_vertexes[point].x < min_x) +// min_x = rotated_vertexes[point].x; +// if(rotated_vertexes[point].y < min_y) +// min_y = rotated_vertexes[point].y; +// } + + // compute the basic Boustrophedon grid lines + BoustrophedonGrid grid_lines; + GridGenerator::generateBoustrophedonGrid(rotated_cell_map, rotated_inflated_cell_map, -1, grid_lines, cv::Vec4i(-1, -1, -1, -1), //cv::Vec4i(min_x, max_x, min_y, max_y), + grid_spacing_as_int, half_grid_spacing_as_int, 1, max_deviation_from_track); + +#ifdef DEBUG_VISUALIZATION + cv::Mat rotated_cell_map_disp = rotated_cell_map.clone(); + for (size_t i=0; i outer_corners(4); + outer_corners[0] = grid_lines[0].upper_line[0]; // upper left corner + outer_corners[1] = grid_lines[0].upper_line.back(); // upper right corner + outer_corners[2] = grid_lines.back().upper_line[0]; // lower left corner + outer_corners[3] = grid_lines.back().upper_line.back(); // lower right corner + cv::Mat R_cell_inv; + cv::invertAffineTransform(R_cell, R_cell_inv); // invert the rotation matrix to remap the determined points to the original cell + cv::transform(outer_corners, outer_corners, R_cell_inv); + double min_corner_dist = path_planner_.planPath(room_map, robot_pos, outer_corners[0], 1.0, 0.0, map_resolution); + int min_corner_index = 0; + for (int i=1; i<4; ++i) + { + double dist = path_planner_.planPath(room_map, robot_pos, outer_corners[i], 1.0, 0.0, map_resolution); + if (dist < min_corner_dist) + { + min_corner_dist = dist; + min_corner_index = i; + } + } + bool start_from_upper_path = (min_corner_index<2 ? true : false); + bool start_from_left = (min_corner_index%2==0 ? true : false); // boolean to determine on which side the path should start and to check where the path ended + +#ifdef DEBUG_VISUALIZATION + cv::Mat room_map_disp = room_map.clone(); + for (size_t i=0; i current_fov_path; + if(start_from_upper_path == true) // plan the path starting from upper horizontal line + { + for(BoustrophedonGrid::iterator line=grid_lines.begin(); line!=grid_lines.end(); ++line) + { + if(start == true) // at the beginning of path planning start at first horizontal line --> no vertical points between lines + { + if(start_from_left == true) + cell_robot_pos = line->upper_line[0]; + else + cell_robot_pos = line->upper_line.back(); + start = false; + } + + if(start_from_left == true) // plan path from left to right corner + { + // get points on transition between horizontal lines by using the Astar-path + std::vector astar_path; + path_planner_.planPath(rotated_inflated_cell_map, cell_robot_pos, line->upper_line[0], 1.0, 0.0, map_resolution, 0, &astar_path); + downsamplePath(astar_path, current_fov_path, cell_robot_pos, path_eps); + + // get points between left and right corner + downsamplePath(line->upper_line, current_fov_path, cell_robot_pos, path_eps); + + // add the lower path of the current line if available (and then start from the left side again next time) + if (line->has_two_valid_lines == true) + downsamplePathReverse(line->lower_line, current_fov_path, cell_robot_pos, path_eps); + else + start_from_left = false; // start from the right side next time + } + else // plan path from right to left corner + { + // get points on transition between horizontal lines by using the Astar-path + std::vector astar_path; + path_planner_.planPath(rotated_inflated_cell_map, cell_robot_pos, line->upper_line.back(), 1.0, 0.0, map_resolution, 0, &astar_path); + downsamplePath(astar_path, current_fov_path, cell_robot_pos, path_eps); + + // get points between right and left corner + downsamplePathReverse(line->upper_line, current_fov_path, cell_robot_pos, path_eps); + + // add the lower path of the current line if available (and then start from the right side again next time) + if (line->has_two_valid_lines == true) + downsamplePath(line->lower_line, current_fov_path, cell_robot_pos, path_eps); + else + start_from_left = true; // start from the left side next time + } + } + } + else // plan the path from the lower horizontal line + { + for(BoustrophedonGrid::reverse_iterator line=grid_lines.rbegin(); line!=grid_lines.rend(); ++line) + { + if(start == true) // at the beginning of path planning start at first horizontal line --> no vertical points between lines + { + if(start_from_left == true) + cell_robot_pos = line->upper_line[0]; + else + cell_robot_pos = line->upper_line.back(); + start = false; + } + + if(start_from_left == true) // plan path from left to right corner + { + // get points on transition between horizontal lines by using the Astar-path + std::vector astar_path; + path_planner_.planPath(rotated_inflated_cell_map, cell_robot_pos, line->upper_line[0], 1.0, 0.0, map_resolution, 0, &astar_path); + downsamplePath(astar_path, current_fov_path, cell_robot_pos, path_eps); + + // get points between left and right corner + downsamplePath(line->upper_line, current_fov_path, cell_robot_pos, path_eps); + + // add the lower path of the current line if available (and then start from the left side again next time) + if (line->has_two_valid_lines == true) + downsamplePathReverse(line->lower_line, current_fov_path, cell_robot_pos, path_eps); + else + start_from_left = false; // start from the right side next time + } + else // plan path from right to left corner + { + // get points on transition between horizontal lines by using the Astar-path + std::vector astar_path; + path_planner_.planPath(rotated_inflated_cell_map, cell_robot_pos, line->upper_line.back(), 1.0, 0.0, map_resolution, 0, &astar_path); + downsamplePath(astar_path, current_fov_path, cell_robot_pos, path_eps); + + // get points between right and left corner + downsamplePathReverse(line->upper_line, current_fov_path, cell_robot_pos, path_eps); + + // add the lower path of the current line if available (and then start from the right side again next time) + if (line->has_two_valid_lines == true) + downsamplePath(line->lower_line, current_fov_path, cell_robot_pos, path_eps); + else + start_from_left = true; // start from the left side next time + } + } + } +#ifdef DEBUG_VISUALIZATION + cv::Mat rotated_cell_fov_path_disp = rotated_cell_map.clone(); + for (size_t i=1; i fov_middlepoint_path_part; + for(std::vector::iterator point=current_fov_path.begin(); point!=current_fov_path.end(); ++point) + fov_middlepoint_path_part.push_back(cv::Point2f(point->x, point->y)); + cv::transform(fov_middlepoint_path_part, fov_middlepoint_path_part, R_cell_inv); + fov_middlepoint_path.insert(fov_middlepoint_path.end(), fov_middlepoint_path_part.begin(), fov_middlepoint_path_part.end()); + +#ifdef DEBUG_VISUALIZATION + cv::Mat cell_fov_path_disp = cell_map.clone(); + for (size_t i=1; i current_pos_vector(1, cell_robot_pos); + cv::transform(current_pos_vector, current_pos_vector, R_cell_inv); + robot_pos = current_pos_vector[0]; +} + +void BoustrophedonExplorer::downsamplePath(const std::vector& original_path, std::vector& downsampled_path, + cv::Point& robot_pos, const double path_eps) +{ + // downsample path + for(size_t path_point=0; path_point= path_eps) + { + downsampled_path.push_back(original_path[path_point]); + robot_pos = original_path[path_point]; + } + } + // add last element + if (original_path.size() > 0) + { + downsampled_path.push_back(original_path.back()); + robot_pos = original_path.back(); + } +} + +void BoustrophedonExplorer::downsamplePathReverse(const std::vector& original_path, std::vector& downsampled_path, + cv::Point& robot_pos, const double path_eps) +{ + // downsample path + for(size_t path_point=original_path.size()-1; ; --path_point) + { + if(cv::norm(robot_pos-original_path[path_point]) >= path_eps) + { + downsampled_path.push_back(original_path[path_point]); + robot_pos = original_path[path_point]; + } + if (path_point == 0) + break; + } + // add last element + if (original_path.size() > 0) + { + downsampled_path.push_back(original_path[0]); + robot_pos = original_path[0]; + } +} + +void BoustrophedonExplorer::printCells(std::map >& cell_index_mapping) +{ + std::cout << "---\n"; + for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) + { + std::cout << itc->first << ": l=" << itc->second->label_ << " a=" << itc->second->area_ << " n="; + for (BoustrophedonCell::BoustrophedonCellSetIterator its=itc->second->neighbors_.begin(); its!=itc->second->neighbors_.end(); ++its) + std::cout << (*its)->label_ << ", "; + std::cout << std::endl; + } +} + + +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// +// BoustrophedonVariantExplorer +///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// + + +void BoustrophedonVariantExplorer::mergeCellsSelection(cv::Mat& cell_map, cv::Mat& cell_map_labels, std::map >& cell_index_mapping, + const double min_cell_area, const int min_cell_width) +{ + // iteratively merge cells + //todo: + // - take one major cell (the largest) and its major direction + // - merge every other cell into the major cell, except + // - the width along the major direction is too small and the cell is sufficiently large + // - the bounding box orientation (side length ratio) deviates strongly from the major direction + // - the cell main direction is not well aligned with the major direction (skew, 90 deg) + + + RoomRotator room_rotator; + //double rotation_angle = room_rotator.computeRoomMainDirection(cell_map, map_resolution); + + // merge small cells below min_cell_area with their largest neighboring cell + std::multimap > area_to_region_id_mapping; // maps the area of each cell --> to the respective cell + for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) + area_to_region_id_mapping.insert(std::pair >(itc->second->area_, itc->second)); + for (std::multimap >::iterator it=area_to_region_id_mapping.begin(); it!=area_to_region_id_mapping.end();) + { + // abort if no cells below min_cell_area remain unmerged into bigger cells + if (it->first >= min_cell_area && it->second->bounding_box_.width >= min_cell_width && it->second->bounding_box_.height >= min_cell_width) + { + ++it; + continue; + } + + // skip segments which have no neighbors + if (it->second->neighbors_.size() == 0) + { + std::cout << "WARN: BoustrophedonExplorer::mergeCells: skipping small cell without neighbors." << std::endl; + ++it; + continue; + } + + // determine the largest neighboring cell + const BoustrophedonCell& small_cell = *(it->second); + std::multimap, std::greater > area_sorted_neighbors; + for (BoustrophedonCell::BoustrophedonCellSetIterator itn = small_cell.neighbors_.begin(); itn != small_cell.neighbors_.end(); ++itn) + area_sorted_neighbors.insert(std::pair >((*itn)->area_, *itn)); + BoustrophedonCell& large_cell = *(area_sorted_neighbors.begin()->second); + + // merge the cells + mergeTwoCells(cell_map, cell_map_labels, small_cell, large_cell, cell_index_mapping); + + // update area_to_region_id_mapping + area_to_region_id_mapping.clear(); + for (std::map >::iterator itc=cell_index_mapping.begin(); itc!=cell_index_mapping.end(); ++itc) + area_to_region_id_mapping.insert(std::pair >(itc->second->area_, itc->second)); + it = area_to_region_id_mapping.begin(); + +#ifdef DEBUG_VISUALIZATION +// printCells(cell_index_mapping); +// cv::imshow("cell_map",cell_map); +// cv::waitKey(); +#endif + } + + // label remaining border pixels with label of largest neighboring region label + for (int v=1; v(v,u) == BORDER_PIXEL_VALUE) + { + std::set neighbor_labels; + for (int dv=-1; dv<=1; ++dv) + { + for (int du=-1; du<=1; ++du) + { + const int& val = cell_map_labels.at(v+dv,u+du); + if (val>0) + neighbor_labels.insert(val); + } + } + if (neighbor_labels.size() > 0) + { + int new_label = -1; + for (std::multimap >::reverse_iterator it=area_to_region_id_mapping.rbegin(); it!=area_to_region_id_mapping.rend(); ++it) + { + if (neighbor_labels.find(it->second->label_) != neighbor_labels.end()) + { + cell_map_labels.at(v,u) = it->second->label_; + break; + } + } + } + else + std::cout << "WARN: BoustrophedonExplorer::mergeCells: border pixel has no labeled neighbors." << std::endl; + } + } + } +} + +//void BoustrophedonVariantExplorer::computeCellDecomposition(const cv::Mat& room_map, const float map_resolution, const double min_cell_area, +// std::vector& cell_polygons, std::vector& polygon_centers) +//{ +// std::cout << "Calling BoustrophedonVariantExplorer::computeCellDecomposition..." << std::endl; +// +// // *********************** II. Sweep a slice trough the map and mark the found cell boundaries. *********************** +// // create a map copy to mark the cell boundaries +// cv::Mat cell_map = room_map.clone(); +//#ifdef DEBUG_VISUALIZATION +// cv::imshow("cell_map", cell_map); +//#endif +// +// +// // *********************** III. Find the separated cells. *********************** +// std::vector > cells; +// cv::Mat cell_copy = cell_map.clone(); +// correctThinWalls(cell_copy); // just adds a few obstacle pixels to avoid merging independent segments +// cv::findContours(cell_copy, cells, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE); +//#ifdef DEBUG_VISUALIZATION +//// testing +//// cv::Mat black_map = cv::Mat(cell_map.rows, cell_map.cols, cell_map.type(), cv::Scalar(0)); +//// for(size_t i=0; i=min_cell_area) +// { +// GeneralizedPolygon current_cell(cells[cell], map_resolution); +// cell_polygons.push_back(current_cell); +// polygon_centers.push_back(current_cell.getCenter()); +// } +// } +//} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/convex_sensor_placement_explorator.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/convex_sensor_placement_explorator.cpp new file mode 100644 index 0000000..1dbbd1f --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/convex_sensor_placement_explorator.cpp @@ -0,0 +1,596 @@ +#include + +// Constructor +convexSPPExplorator::convexSPPExplorator() +{ + +} + +// function that is used to create and solve a Gurobi optimization problem out of the given matrices and vectors, if +// Gurobi was found on the computer +template +void convexSPPExplorator::solveGurobiOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector* W) +{ +#ifdef GUROBI_FOUND + std::cout << "Creating and solving linear program with Gurobi." << std::endl; + // initialize the problem + GRBEnv *env = new GRBEnv(); + GRBModel model = GRBModel(*env); + + // vector that stores the variables of the problem + std::vector optimization_variables; + + // add the optimization variables to the problem + int number_of_variables = 0; + for(size_t var=0; varoperator[](var), GRB_CONTINUOUS); + optimization_variables.push_back(current_variable); + ++number_of_variables; + } + else + { + GRBVar current_variable = model.addVar(0.0, 1.0, 1.0, GRB_BINARY); + optimization_variables.push_back(current_variable); + ++number_of_variables; + } + } + std::cout << "number of variables in the problem: " << number_of_variables << std::endl; + + // inequality constraints to ensure that every position has been seen at least once + for(size_t row=0; row variable_indices; + for(size_t col=0; col(row, col) == 1) + variable_indices.push_back((int) col); + + // add the constraint, if the current cell can be covered by the given arcs, indices=1 in this constraint + if(variable_indices.size()>0) + { + GRBLinExpr current_coverage_constraint; + for(size_t var=0; var=1); + } + } + + // solve the optimization + model.optimize(); + + // retrieve solution + std::cout << "retrieving solution" << std::endl; + for(size_t var=0; var +void convexSPPExplorator::solveOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector* W) +{ + // initialize the problem + CoinModel problem_builder; + + ROS_INFO("Creating and solving linear program."); + + // add the optimization variables to the problem + int rval; + for(size_t variable=0; variableoperator[](variable)); + } + else + { + problem_builder.setColBounds(variable, 0.0, 1.0); + problem_builder.setObjective(variable, 1.0); + problem_builder.setInteger(variable); + } + } + + // inequality constraints to ensure that every position has been seen at least once + for(size_t row=0; row variable_indices; + for(size_t col=0; col(row, col) == 1) + variable_indices.push_back((int) col); + + // all indices are 1 in this constraint + std::vector variable_coefficients(variable_indices.size(), 1.0); + + // add the constraint + problem_builder.addRow((int) variable_indices.size(), &variable_indices[0], &variable_coefficients[0], 1.0); + } + + // load the created LP problem to the solver + OsiClpSolverInterface LP_solver; + OsiClpSolverInterface* solver_pointer = &LP_solver; + + solver_pointer->loadFromCoinModel(problem_builder); + + // testing + solver_pointer->writeLp("lin_cpp_prog", "lp"); + + // solve the created optimization problem + CbcModel model(*solver_pointer); + model.solver()->setHintParam(OsiDoReducePrint, true, OsiHintTry); + + model.initialSolve(); + model.branchAndBound(); + + // retrieve solution + const double * solution = model.solver()->getColSolution(); + + for(size_t res=0; res& path, + const float map_resolution, const cv::Point starting_position, const cv::Point2d map_origin, + const int cell_size_pixel, const double delta_theta, const std::vector >& fov_corners_meter, + const Eigen::Matrix& robot_to_fov_vector_meter, const double largest_robot_to_footprint_distance_meter, + const uint sparsity_check_range, const bool plan_for_footprint) +{ + const int half_cell_size = cell_size_pixel/2; + + // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** + // rotate map + cv::Mat R; + cv::Rect bbox; + cv::Mat rotated_room_map; + RoomRotator room_rotation; + const double room_rotation_angle = room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution); + room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); + + // transform starting position + std::vector starting_point_vector(1, starting_position); // opencv syntax + cv::transform(starting_point_vector, starting_point_vector, R); + cv::Point rotated_starting_position = starting_point_vector[0]; + + // ************* II. Go trough the map and discretize it. ************* + // get cells + // compute the basic Boustrophedon grid lines + std::vector cell_centers_rotated, cell_centers; // in [pixels] + cv::Mat inflated_rotated_room_map; + BoustrophedonGrid grid_lines; + GridGenerator::generateBoustrophedonGrid(rotated_room_map, inflated_rotated_room_map, half_cell_size, grid_lines, cv::Vec4i(-1, -1, -1, -1), + cell_size_pixel, half_cell_size, cell_size_pixel); + // convert grid points format + for (BoustrophedonGrid::iterator line=grid_lines.begin(); line!=grid_lines.end(); ++line) + { + cell_centers_rotated.insert(cell_centers_rotated.end(), line->upper_line.begin(), line->upper_line.end()); + if (line->has_two_valid_lines == true) + cell_centers_rotated.insert(cell_centers_rotated.end(), line->lower_line.begin(), line->lower_line.end()); + } + // rotate back to original image + cv::Mat R_inv; + cv::invertAffineTransform(R, R_inv); + std::vector fov_middlepoint_path_transformed; + cv::transform(cell_centers_rotated, cell_centers, R_inv); + +// // print grid +// cv::Mat point_map = room_map.clone(); +// for(std::vector::iterator point = cell_centers.begin(); point != cell_centers.end(); ++point) +// { +// cv::circle(point_map, *point, 2, cv::Scalar(127), CV_FILLED); +// std::cout << " - " << *point << "\n"; +// } +// cv::imshow("grid", point_map); +// cv::waitKey(); + + // get candidate sensing poses + std::vector candidate_sensing_poses; + double delta_angle = (plan_for_footprint == true ? 4.*PI : delta_theta); + for(std::vector::iterator center=cell_centers.begin(); center!=cell_centers.end(); ++center) + { + for(double angle=room_rotation_angle; angle<2.0*PI+room_rotation_angle; angle+=delta_angle) + { + // create and save pose + geometry_msgs::Pose2D candidate_pose; + candidate_pose.x = center->x; + candidate_pose.y = center->y; + candidate_pose.theta = angle; + while (candidate_pose.theta < -PI) + candidate_pose.theta += 2*PI; + while (candidate_pose.theta > PI) + candidate_pose.theta -= 2*PI; + candidate_sensing_poses.push_back(candidate_pose); + } + } + + // ************* III. Construct the matrices needed in the linear program. ************* + // set or compute largest_robot_to_footprint_distance_pixel depending on plan_for_footprint + double max_dist=0.; + if (plan_for_footprint==true || largest_robot_to_footprint_distance_meter > 0.) + max_dist = largest_robot_to_footprint_distance_meter; + else + { + // find largest_robot_to_footprint_distance_pixel by checking the fov corners + for (size_t i=0; i max_dist) + max_dist = dist; + } + } + const double largest_robot_to_footprint_distance_pixel = max_dist / map_resolution; + const double cell_outcircle_radius_pixel = cell_size_pixel/sqrt(2); + + // construct W + int number_of_candidates=candidate_sensing_poses.size(); + std::vector W(number_of_candidates, 1.0); // initial weights + + // construct V + cv::Mat V = cv::Mat::zeros(cell_centers.size(), number_of_candidates, CV_8U); // binary variables + + // check observable cells from each candidate pose + const double map_resolution_inverse = 1./map_resolution; + for(std::vector::iterator pose=candidate_sensing_poses.begin(); pose!=candidate_sensing_poses.end(); ++pose) + { + // get the transformed field of view + // get the rotation matrix + const float sin_theta = std::sin(pose->theta); + const float cos_theta = std::cos(pose->theta); + Eigen::Matrix R_fov; + R_fov << cos_theta, -sin_theta, sin_theta, cos_theta; + + // transform field of view points, if the planning should be done for the field of view + std::vector transformed_fov_points; + Eigen::Matrix pose_as_matrix; + if(plan_for_footprint==false) + { + pose_as_matrix << (pose->x*map_resolution)+map_origin.x, (pose->y*map_resolution)+map_origin.y; // convert to [meter] + for(size_t point = 0; point < fov_corners_meter.size(); ++point) + { + // linear transformation + Eigen::Matrix transformed_vector = pose_as_matrix + R_fov * fov_corners_meter[point]; + + // save the transformed point as cv::Point, also check if map borders are satisfied and transform it into pixel + // values + cv::Point current_point = cv::Point((transformed_vector(0, 0) - map_origin.x)*map_resolution_inverse, (transformed_vector(1, 0) - map_origin.y)*map_resolution_inverse); + current_point.x = std::max(current_point.x, 0); + current_point.y = std::max(current_point.y, 0); + current_point.x = std::min(current_point.x, room_map.cols); + current_point.y = std::min(current_point.y, room_map.rows); + transformed_fov_points.push_back(current_point); + } + } + + // for each pose check the cells that are closer than the max distance from robot to fov-corner and more far away + // than the min distance, also only check points that span an angle to the robot-to-fov vector smaller than the + // max found angle to the corners + // when planning for the robot footprint simply check if its distance to the pose is at most the given coverage radius + for(std::vector::iterator neighbor=cell_centers.begin(); neighbor!=cell_centers.end(); ++neighbor) + { + // compute pose to neighbor vector + Eigen::Matrix pose_to_neighbor; + pose_to_neighbor << neighbor->x-pose->x, neighbor->y-pose->y; + double distance = pose_to_neighbor.norm(); + + // if neighbor is in the possible distance range check it further, distances given in [pixel] + if(plan_for_footprint==false && distance<=largest_robot_to_footprint_distance_pixel) + { + + if(cv::pointPolygonTest(transformed_fov_points, *neighbor, false) >= 0) // point inside + { + // check if the line from the robot pose to the neighbor crosses an obstacle, if so it is not observable from the pose + cv::LineIterator border_line(room_map, cv::Point(pose->x, pose->y), *neighbor, 8); // opencv implementation of bresenham algorithm, 8: color, irrelevant + bool hit_obstacle = false; + for(size_t i = 0; i < border_line.count; ++i, ++border_line) + if(room_map.at(border_line.pos()) == 0) + hit_obstacle = true; + + if(hit_obstacle == false) + { + V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 1; + } + else // neighbor cell not observable + V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 0; + } + else // neighbor cell outside the field of view + V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 0; + } + // check if neighbor is covered by footprint when planning for it + else if(plan_for_footprint==true && (distance+cell_outcircle_radius_pixel)<=largest_robot_to_footprint_distance_pixel) + { + // check if the line from the robot pose to the neighbor crosses an obstacle, if so it is not observable from the pose + cv::LineIterator border_line(room_map, cv::Point(pose->x, pose->y), *neighbor, 8); // opencv implementation of bresenham algorithm, 8: color, irrelevant + bool hit_obstacle = false; + for(size_t i = 0; i < border_line.count; ++i, ++border_line) + if(room_map.at(border_line.pos()) == 0) + hit_obstacle = true; + if(hit_obstacle == false) + V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 1; + else // neighbor cell not observable + V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 0; + } + else // point not in the right range to be inside the fov + V.at(neighbor-cell_centers.begin(), pose-candidate_sensing_poses.begin()) = 0; + } + } + std::cout << "number of optimization variables: " << W.size() << std::endl; + +// testing +// for(size_t i=0; i(i, j) == 1) +// { +// cv::circle(black_map, cv::Point(candidate_sensing_poses[j].x, candidate_sensing_poses[j].y), 2, cv::Scalar(100), CV_FILLED); +// cv::imshow("candidates", black_map); +// cv::waitKey(); +// } +// } +// } + + // ************* IV. Solve the different linear problems. ************* + // 1. solve the weighted optimization problem until a convergence in the sparsity is reached or a defined number of + // iterations is reached + std::vector C(W.size()); //initialize the objective vector + bool sparsity_converged = false; // boolean to check, if the sparsity of C has converged to a certain value + double weight_epsilon = 0.0; // parameter that is used to update the weights after one solution has been obtained + uint number_of_iterations = 0; + std::vector sparsity_measures; // vector that stores the computed sparsity measures to check convergence + const double euler_constant = std::exp(1.0); + Timer tim; + do + { + // increase number of iterations + ++number_of_iterations; + + // solve optimization of the current step + #ifdef GUROBI_FOUND + solveGurobiOptimizationProblem(C, V, &W); + #else + solveOptimizationProblem(C, V, &W); + #endif + + // update epsilon and W + const int exponent = 1 + (number_of_iterations - 1)*0.1; + weight_epsilon = std::pow(1./(euler_constant-1.), exponent); + for(size_t weight=0; weight= sparsity_check_range) + { + uint number_of_last_measure = 0; + for(std::vector::reverse_iterator measure=sparsity_measures.rbegin(); measure!=sparsity_measures.rbegin()+sparsity_check_range && measure!=sparsity_measures.rend(); ++measure) + if(*measure >= sparsity_measures.back()) + ++number_of_last_measure; + + if(number_of_last_measure == sparsity_check_range) + sparsity_converged = true; + } + + std::cout << "Iteration: " << number_of_iterations << ", sparsity: " << sparsity_measures.back() << std::endl; + } while(sparsity_converged == false && number_of_iterations <= 150 && tim.getElapsedTimeInSec() < 1200); // wait no longer than 20 minutes + + // 2. Reduce the optimization problem by discarding the candidate poses that correspond to an optimization variable + // equal to 0, i.e. those that are not considered any further. + uint new_number_of_variables = 0; + cv::Mat V_reduced = cv::Mat(cell_centers.size(), 1, CV_8U); // initialize one column because opencv wants it this way, add other columns later + std::vector reduced_sensing_candidates; + for(std::vector::iterator result=C.begin(); result!=C.end(); ++result) + { + if(*result != 0.0) + { + // increase number of optimization variables + ++new_number_of_variables; + + // gather column corresponding to this candidate pose and add it to the new observability matrix + cv::Mat column = V.col(result-C.begin()); + cv::hconcat(V_reduced, column, V_reduced); + + // save the new possible sensing candidate + reduced_sensing_candidates.push_back(candidate_sensing_poses[result-C.begin()]); + } + } + + // remove the first initial column + V_reduced = V_reduced.colRange(1, V_reduced.cols); + + // solve the final optimization problem + std::cout << "new_number_of_variables=" << new_number_of_variables << std::endl; + std::vector C_reduced(new_number_of_variables); +#ifdef GUROBI_FOUND + solveGurobiOptimizationProblem(C_reduced, V_reduced, NULL); +#else + solveOptimizationProblem(C_reduced, V_reduced, NULL); +#endif + + // ************* V. Retrieve solution and find a path trough the chosen poses. ************* + // read out solution + std::vector chosen_positions; // vector to determine the tsp solution, in [pixels] + std::vector chosen_poses; // in [px,px,rad] + for(std::vector::iterator result=C_reduced.begin(); result!=C_reduced.end(); ++result) + { + if(*result == 1) + { + chosen_poses.push_back(reduced_sensing_candidates[result-C_reduced.begin()]); + chosen_positions.push_back(cv::Point(reduced_sensing_candidates[result-C_reduced.begin()].x, reduced_sensing_candidates[result-C_reduced.begin()].y)); + } + } + + if (chosen_positions.size()==0) + { + std::cout << "Convex SPP: chosen_positions is empty." << std::endl; + return; + } + + + // get the distance matrix + ROS_INFO("Constructing distance matrix"); + cv::Mat distance_matrix; + DistanceMatrix distance_matrix_computation; + distance_matrix_computation.constructDistanceMatrix(distance_matrix, room_map, chosen_positions, 0.25, 0.0, map_resolution, path_planner_); + + // go trough the matrix and multiply the distances between the poses with a factor corresponding to the difference of + // the travel angle from the first pose to the other pose + for(size_t pose=0; pose(pose, neighbor) = penalizing_factor*distance_matrix.at(pose, neighbor); + distance_matrix.at(neighbor, pose) = penalizing_factor*distance_matrix.at(neighbor, pose); //symmetrical-Matrix --> saves half the computation time + } + } + } + + // do the repetitive nearest neighbor algorithm + ROS_INFO("Solving TSP with repetitive nearest neighbor"); + std::vector best_order; + double min_distance = 1e9; + if (chosen_positions.size()>100) + std::cout << "0 10 20 30 40 50 60 70 80 90 100" << std::endl; + for(int start=0; start500 && start%(std::max(1,(int)chosen_positions.size()/100))==0) + std::cout << "." << std::flush; + + // obtain nearest neighbor solution for this start + std::vector current_order = tsp_solver_.solveNearestTSP(distance_matrix, start); + + // get pathlength for this solution + double current_pathlength = 0.0; + for(size_t vertex=0; vertex(current_order[vertex], current_order[(vertex+1)%current_order.size()]); + + // if current path is better than previous one save it + if(current_pathlength < min_distance) + { + min_distance = current_pathlength; + best_order = current_order; + } + } + std::cout << std::endl; + + // find the node that is closest to the starting position + min_distance = 1e9; + int starting_index = 0; + for(std::vector::iterator position=chosen_positions.begin(); position!=chosen_positions.end(); ++position) + { + // calculate current distance + double current_distance = cv::norm(rotated_starting_position - *position); + + // check if current length is smaller than optimal + if(current_distance < min_distance) + { + min_distance = current_distance; + starting_index = position-chosen_positions.begin(); + } + } + + // create the path starting from the found start + std::vector fov_poses; + std::vector::iterator start = std::find(best_order.begin(), best_order.end(), starting_index); // obtain iterator to index in best order to start path creation from there + for(size_t pose=start-best_order.begin(); path.size()!=chosen_poses.size() && fov_poses.size()!=chosen_poses.size(); ++pose) + { + + // check if end has been reached, if true start from the beginning again + if(pose == best_order.size()) + pose = 0; + + // insert pose mapped to global coordinates + geometry_msgs::Pose2D current_pose; + if (plan_for_footprint == false) + { + // take the viewing directions as computed for fov mode, convert locations from pixels to meters + current_pose.x = (chosen_poses[best_order[pose]].x*map_resolution)+map_origin.x; + current_pose.y = (chosen_poses[best_order[pose]].y*map_resolution)+map_origin.y; + current_pose.theta = chosen_poses[best_order[pose]].theta; + path.push_back(current_pose); + } + else + { + // for footprint planning the viewing direction has to be computed from the trajectory + fov_poses.push_back(cv::Point2f(chosen_poses[best_order[pose]].x, chosen_poses[best_order[pose]].y)); + } + } + + // *********************** VI. Get the robot path out of the fov path. *********************** + // determine the correct viewing angles for the poses (footprint planning just used one fixed dummy direction) + if (plan_for_footprint == true) + { + // compute viewing directions + room_rotation.transformPointPathToPosePath(fov_poses, path); + // convert to meters + for (size_t i=0; i + +// Constructor +EnergyFunctionalExplorator::EnergyFunctionalExplorator() +{ + +} + +// Function that computes the energy functional for each pair of nodes. +double EnergyFunctionalExplorator::E(const EnergyExploratorNode& location, const EnergyExploratorNode& neighbor, const double cell_size_in_pixel, const double previous_travel_angle) +{ + float energy_functional = 0.0; + + // 1. translational distance + cv::Point diff = neighbor.center_ - location.center_; + energy_functional += cv::norm(diff)/cell_size_in_pixel; + + // 2. rotational distance + const double travel_angle_to_node = std::atan2(diff.y, diff.x); + double diff_angle = travel_angle_to_node - previous_travel_angle; + while (diff_angle < -PI) + diff_angle += 2*PI; + while (diff_angle > PI) + diff_angle -= 2*PI; + energy_functional += std::abs(diff_angle)*PI_2_INV; // 1.01 for punishing turns a little bit more on a tie + + // 3. neighboring function, determining how many neighbors of the neighbor have been visited + int visited_neighbors = 0; + for(std::vector::const_iterator n=neighbor.neighbors_.begin(); n!=neighbor.neighbors_.end(); ++n) + if ((*n)->obstacle_ == false && (*n)->visited_ == true) + ++visited_neighbors; + energy_functional += 4. - 0.5*visited_neighbors; + + int wall_points = 0; + for(std::vector::const_iterator n=neighbor.neighbors_.begin(); n!=neighbor.neighbors_.end(); ++n) + if ((*n)->obstacle_ == true) + ++wall_points; + energy_functional += 0.72 - 0.09*wall_points; + + //std::cout << "E: " << cv::norm(diff)/cell_size << " + " << std::abs(diff_angle)*PI_2_INV << " + " << 4. - 0.5*visited_neighbors << " + " << 0.72 - 0.09*wall_points << " angles: " << travel_angle_to_node << ", " << previous_travel_angle << " diff ang: " << diff_angle << std::endl; + + return energy_functional; +} + +// Function that plans a coverage path trough the given map, using the method proposed in +// +// Bormann Richard, Joshua Hampp, and Martin Hägele. "New brooms sweep clean-an autonomous robotic cleaning assistant for +// professional office cleaning." Robotics and Automation (ICRA), 2015 IEEE International Conference on. IEEE, 2015. +// +// This method discretizes the free space, that should be covered, into several nodes. Each of the node has to be covered, in order +// to cover the whole area. The path starts at the node that is closest to the given starting position and chooses the next node as +// the one that minimizes the energy functional, provided in the paper above. To do this here the following steps are done. +// I. The free area gets discretized into several nodes, using the given cell_size parameter, starting at the upper left white pixel of +// the room. Whenever the overlaid grid then hits a white pixel, this point is added as a node. Then after all nodes have been found +// the direct 8 neighbors for each node are found, which will be used later in the energy functional. +// II. After all nodes have been found, the coverage path is computed. +// i. The start node gets chosen as the one that is closest to the given starting position and is an edge of the given room, i.e +// a node that has less than 4 neighbors. +// ii. The next node is then iteratively chosen from the directly neighboring ones, by finding the node that minimizes the given +// energy functional and wasn't visited before. +// iii.If in the neighborhood no accessible point could be found, search for the next node in the whole grid to continue the path. +// iv. This procedure is repeated, until all created nodes have been covered. +// III. If wanted use the given vector from the robot middlepoint to the fov middlepoint to map the fov poses to the +// robot footprint poses. To do so simply a vector transformation is applied. If the computed robot pose is not in the +// free space, another accessible point is generated by finding it on the radius around the fov middlepoint s.t. +// the distance to the last robot position is minimized. If this is not wanted one has to set the corresponding +// Boolean to false (shows that the path planning should be done for the robot footprint). +// +void EnergyFunctionalExplorator::getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, + const cv::Point starting_position, const cv::Point2d map_origin, const double grid_spacing_in_pixel, + const bool plan_for_footprint, const Eigen::Matrix robot_to_fov_vector) +{ + const int grid_spacing_as_int = std::floor(grid_spacing_in_pixel); + const int half_grid_spacing_as_int = std::floor(grid_spacing_in_pixel*0.5); + + // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** + cv::Mat R; + cv::Rect bbox; + cv::Mat rotated_room_map; + RoomRotator room_rotation; + room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution); + room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); + + // compute min/max room coordinates + cv::Point min_room(1000000, 1000000), max_room(0, 0); + for (int v=0; v(v,u)==255) + { + min_room.x = std::min(min_room.x, u); + min_room.y = std::min(min_room.y, v); + max_room.x = std::max(max_room.x, u); + max_room.y = std::max(max_room.y, v); + } + } + } + cv::Mat inflated_rotated_room_map; + cv::erode(rotated_room_map, inflated_rotated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int); + + // *********************** II. Find the nodes and their neighbors *********************** + // get the nodes in the free space + std::vector > nodes; // 2-dimensional vector to easily find the neighbors + int number_of_nodes = 0; + +// // compute min/max room coordinates +// int min_y = 1000000, min_x = 1000000; +// for (int v=0; v(v,u)==255) +// { +// min_x = std::min(min_x, u); +// min_y = std::min(min_y, v); +// } +// } +// } +// if (min_x-grid_spacing_as_int > 0) +// min_x -= grid_spacing_as_int; +// if (min_y-grid_spacing_as_int > 0) +// min_y -= grid_spacing_as_int; + + // todo: create grid in external class - it is the same in all approaches + // todo: if first/last row or column in grid has accessible areas but center is inaccessible, create a node in the accessible area + for(int y=min_room.y+half_grid_spacing_as_int; y current_row; + for(int x=min_room.x+half_grid_spacing_as_int; x(y,x) == 255) // could make sense to test all pixels of the cell, not only the center + if (GridGenerator::completeCellTest(inflated_rotated_room_map, current_node.center_, grid_spacing_as_int) == true) + { + current_node.obstacle_ = false; + current_node.visited_ = false; + ++number_of_nodes; + } + // add the obstacle nodes as already visited + else + { + current_node.obstacle_ = true; + current_node.visited_ = true; + ++number_of_nodes; + } + current_row.push_back(current_node); + } + + // insert the current row into grid + nodes.push_back(current_row); + } + std::cout << "found " << number_of_nodes << " nodes" << std::endl; + + // find the neighbors for each node + EnergyExploratorNode* first_accessible_node = 0; + std::vector corner_nodes; // vector that stores the corner nodes, i.e. nodes with 3 or less neighbors + for(size_t row=0; row& current_neighbors = nodes[row][column].neighbors_; + for(int dy=-1; dy<=1; ++dy) + { + // don't exceed the current row + if(row+dy < 0 || row+dy >= nodes.size()) + continue; + + // get the neighbors left from the current neuron + if(column > 0) + current_neighbors.push_back(&nodes[row+dy][column-1]); + + // get the nodes on the same column as the current neuron + if(dy != 0) + current_neighbors.push_back(&nodes[row+dy][column]); + + // get the nodes right from the current neuron + if(column < nodes[row].size()-1) + current_neighbors.push_back(&nodes[row+dy][column+1]); + } + + // check if the current node is a corner, i.e. nodes that have 3 or less neighbors that are not obstacles + int non_obstacle_neighbors = nodes[row][column].countNonObstacleNeighbors(); + if(non_obstacle_neighbors<=3 && nodes[row][column].obstacle_==false) + corner_nodes.push_back(&nodes[row][column]); + + if (first_accessible_node==0 && nodes[row][column].obstacle_==false) + first_accessible_node = &nodes[row][column]; + } + } + std::cout << "found neighbors, corners: " << corner_nodes.size() << std::endl; + if (first_accessible_node == 0) + { + std::cout << "Warning: there are no accessible points in this room." << std::endl; + return; + } + +// // testing +// cv::Mat test_map = rotated_room_map.clone(); +// for (size_t i=0; i neighbors = nodes[i][j].neighbors_; +// for(std::vector::iterator n=neighbors.begin(); n!=neighbors.end(); ++n) +// cv::circle(test_map, (*n)->center_, 2, cv::Scalar(127), CV_FILLED); +// +// cv::imshow("neighbors", test_map); +// cv::waitKey(); +// } +// } + + // *********************** III. Plan the coverage path *********************** + // i. find the start node of the path as a corner that is closest to the starting position + std::vector starting_point_vector(1, starting_position); // opencv syntax + cv::transform(starting_point_vector, starting_point_vector, R); + const cv::Point rotated_starting_point = starting_point_vector[0]; // Point that keeps track of the last point after the boustrophedon path in each cell + EnergyExploratorNode* start_node = first_accessible_node; + double min_distance = 1e10; + for(std::vector::iterator corner=corner_nodes.begin(); corner!=corner_nodes.end(); ++corner) + { + cv::Point diff = (*corner)->center_ - rotated_starting_point; + double current_distance = diff.x*diff.x+diff.y*diff.y; + if(current_distance<=min_distance) + { + start_node = *corner; + min_distance = current_distance; + } + } + std::cout << "start node: " << start_node->center_ << std::endl; + + // insert start node into coverage path + std::vector fov_coverage_path; + fov_coverage_path.push_back(cv::Point2f(start_node->center_.x, start_node->center_.y)); + start_node->visited_ = true; // mark visited nodes as obstacles + + // ii. starting at the start node, find the coverage path, by choosing the node that min. the energy functional + EnergyExploratorNode* last_node = start_node; + double previous_travel_angle = 0; //always use x-direction in the rotated map //std::atan2(rotated_starting_point.y-start_node->center_.y, rotated_starting_point.x-start_node->center_.x); + for(std::vector::iterator neighbor=last_node->neighbors_.begin(); neighbor!=last_node->neighbors_.end(); ++neighbor) + { + if ((*neighbor)->obstacle_==false && (*neighbor)->center_.y==start_node->center_.y && (*neighbor)->center_.x>start_node->center_.x) + { + previous_travel_angle = 0; + break; + } + if ((*neighbor)->obstacle_==false && (*neighbor)->center_.y==start_node->center_.y && (*neighbor)->center_.xcenter_.x) + { + previous_travel_angle = PI; + break; + } + if ((*neighbor)->obstacle_==false && (*neighbor)->center_.ycenter_.y && (*neighbor)->center_.x==start_node->center_.x) + { + previous_travel_angle = -0.5*PI; + } + if ((*neighbor)->obstacle_==false && (*neighbor)->center_.y>start_node->center_.y && (*neighbor)->center_.x==start_node->center_.x) + { + previous_travel_angle = 0.5*PI; + } + } +// cv::Mat path_map = rotated_room_map.clone(); +// cv::circle(path_map, fov_coverage_path[0], 2, cv::Scalar(100), CV_FILLED); + do + { + //std::cout << "Point: " << last_node->center_ << std::endl; + // check the direct neighbors, if at least one is not already visited + std::vector not_visited_neighbors; + for(std::vector::iterator neighbor=last_node->neighbors_.begin(); neighbor!=last_node->neighbors_.end(); ++neighbor) + if ((*neighbor)->obstacle_ == false && (*neighbor)->visited_ == false) + not_visited_neighbors.push_back(*neighbor); + + // if there are not visited direct neighbors, find the one of them that minimizes the energy functional + double min_energy = 1e10; + EnergyExploratorNode* next_node = 0; + if (not_visited_neighbors.size() > 0) + { + // find best neighbor + for (std::vector::iterator candidate=not_visited_neighbors.begin(); candidate!=not_visited_neighbors.end(); ++candidate) + { + const double current_energy = E(*last_node, **candidate, grid_spacing_in_pixel, previous_travel_angle); + //std::cout << "Neighbor: " << (*candidate)->center_ << " energy: " << current_energy << std::endl; + if(current_energy < min_energy) + { + min_energy = current_energy; + next_node = *candidate; + } + } + } + // if no direct neighbor is unvisited, search for the next node in all unvisited nodes + else + { + // find best next node + for (size_t row=0; rowcenter_.y-last_node->center_.y, next_node->center_.x-last_node->center_.x); + fov_coverage_path.push_back(cv::Point2f(next_node->center_.x, next_node->center_.y)); + next_node->visited_ = true; // mark visited nodes as obstacles + +// cv::circle(path_map, next_node->center_, 2, cv::Scalar(100), CV_FILLED); +// cv::line(path_map, next_node->center_, last_node->center_, cv::Scalar(127)); +// cv::imshow("path", path_map); +// cv::waitKey(); + + last_node = next_node; + } while (true); + + // transform the calculated path back to the originally rotated map + std::vector fov_poses; + room_rotation.transformPathBackToOriginalRotation(fov_coverage_path, fov_poses, R); + +// // go trough the found fov-path and compute the angles of the poses s.t. it points to the next pose that should be visited +// for(unsigned int point_index=0; point_index::iterator pose=fov_poses.begin(); pose!=fov_poses.end(); ++pose) + { + geometry_msgs::Pose2D current_pose; + current_pose.x = (pose->x * map_resolution) + map_origin.x; + current_pose.y = (pose->y * map_resolution) + map_origin.y; + current_pose.theta = pose->theta; + path.push_back(current_pose); + } + return; + } + +// // testing +// cv::Mat path_map = rotated_room_map.clone(); +// cv::circle(path_map, fov_coverage_path[0], 2, cv::Scalar(100), CV_FILLED); +// for(std::vector::iterator path_node=fov_coverage_path.begin()+1; path_node!=fov_coverage_path.end(); ++path_node) +// { +// cv::circle(path_map, *path_node, 2, cv::Scalar(100), CV_FILLED); +// cv::line(path_map, *path_node, *(path_node-1), cv::Scalar(127)); +// cv::imshow("path", path_map); +// cv::waitKey(); +// } +// cv::imshow("path", path_map); +// cv::waitKey(); + + // ****************** IV. Map the found fov path to the robot path ****************** + //mapPath(room_map, path, fov_poses, robot_to_fov_vector, map_resolution, map_origin, starting_position); + ROS_INFO("Starting to map from field of view pose to robot pose"); + cv::Point robot_starting_position = (fov_poses.size()>0 ? cv::Point(fov_poses[0].x, fov_poses[0].y) : starting_position); + cv::Mat inflated_room_map; + cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int); + mapPath(inflated_room_map, path, fov_poses, robot_to_fov_vector, map_resolution, map_origin, robot_starting_position); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/flow_network_explorator.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/flow_network_explorator.cpp new file mode 100644 index 0000000..24a68cd --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/flow_network_explorator.cpp @@ -0,0 +1,2045 @@ +#include + +// Constructor +FlowNetworkExplorator::FlowNetworkExplorator() +{ + +} + +// Function that creates a Cbc optimization problem and solves it, using the given matrices and vectors and the 3-stage +// ansatz, that takes an initial step going from the start node and then a coverage stage assuming that the number of +// flows into and out of a node must be the same. At last a final stage is gone, that terminates the path in one of the +// possible nodes. +void FlowNetworkExplorator::solveThreeStageOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector& weights, + const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, + const std::vector& start_arcs) +{ + // initialize the problem + CoinModel problem_builder; + + std::cout << "Creating and solving linear program." << std::endl; + + // add the optimization variables to the problem + int number_of_variables = 0; + for(size_t arc=0; arc variable_indices; + + for(size_t col=0; col(row, start_arcs[col])==1) + variable_indices.push_back((int) col); + + // coverage and final stage + for(size_t col=0; col(row, col)==1) + { + variable_indices.push_back((int) col + start_arcs.size()); // coverage stage + variable_indices.push_back((int) col + start_arcs.size() + V.cols); // final stage + } + } + + // all indices are 1 in this constraint + std::vector variable_coefficients(variable_indices.size(), 1.0); + + // add the constraint, if the current cell can be covered by the given arcs + if(variable_indices.size()>0) + problem_builder.addRow((int) variable_indices.size(), &variable_indices[0], &variable_coefficients[0], 1.0); + } + + + // equality constraint to ensure that the number of flows out of one node is the same as the number of flows into the + // node during the coverage stage + // Remark: for initial stage ensure that exactly one arc is gone, because there only the outgoing flows are taken + // into account + // initial stage + std::vector start_indices(start_arcs.size()); + std::vector start_coefficients(start_arcs.size()); + for(size_t start=0; start variable_indices; + std::vector variable_coefficients; + + // vectors for the decreasing equality constraint that ensures that the flow gets reduced by 1, every time it passes a node, + // cycles are prevented by this, because a start of a cycle is also an end of it, producing a constraint that the flow + // trough this node needs to be larger than from any other arc in this cycle but also it needs to be smaller than + // any other flow, which is not possible + std::vector flow_decrease_indices; + std::vector flow_decrease_coefficients; + + // vectors for the node indicator equality constraints that sets the indicator for the node to 1, if an arc flows + // into this node during the initial or coverage stage + std::vector indicator_indices; + std::vector indicator_coefficients; + + // gather flows into node + for(size_t inflow=0; inflow final_indices(V.cols); + std::vector final_coefficients(final_indices.size()); + // gather indices + for(size_t node=0; node aux_flow_indices(2); + std::vector aux_flow_coefficients(2); + + // first entry shows indication variable + aux_flow_indices[0] = node; + aux_flow_coefficients[0] = flows_into_nodes.size()-1; // allow a high flow if the arc is chosen in the path + + // second entry shows the flow variable + aux_flow_indices[1] = node+start_arcs.size()+2.0*V.cols; + aux_flow_coefficients[1] = -1.0; + + // add constraint + problem_builder.addRow((int) aux_flow_indices.size(), &aux_flow_indices[0], &aux_flow_coefficients[0], 0.0); + } + + // equality constraints to set the flow out of the start to the number of gone nodes + std::cout << "init flow constraints" << std::endl; + std::vector start_flow_indices(start_arcs.size()+flows_into_nodes.size()); + std::vector start_flow_coefficients(start_flow_indices.size()); + for(size_t node=0; nodeloadFromCoinModel(problem_builder); + + // testing + solver_pointer->writeLp("lin_flow_prog", "lp"); + + // solve the created integer optimization problem + CbcModel model(*solver_pointer); + model.solver()->setHintParam(OsiDoReducePrint, true, OsiHintTry); + +// CbcHeuristicLocal heuristic2(model); + CbcHeuristicFPump heuristic(model); + model.addHeuristic(&heuristic); + + model.initialSolve(); + model.branchAndBound(); + + // retrieve solution + const double* solution = model.solver()->getColSolution(); + + for(size_t res=0; res& C, const cv::Mat& V, const std::vector& weights, + const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, + const std::vector& start_arcs) +{ +#ifdef GUROBI_FOUND + std::cout << "Creating and solving linear program with Gurobi." << std::endl; + // initialize the problem + GRBEnv *env = new GRBEnv(); + GRBModel model = GRBModel(*env); +// model.set("Threads", "1"); + + // one must set LazyConstraints parameter when using lazy constraints + model.set(GRB_IntParam_LazyConstraints, 1); + + // vector that stores the variables of the problem + std::vector optimization_variables; + + // add the optimization variables to the problem + int number_of_variables = 0; + for(size_t arc=0; arc variable_indices; + + for(size_t col=0; col(row, start_arcs[col])==1) + variable_indices.push_back((int) col); + + // coverage and final stage + for(size_t col=0; col(row, col)==1) + { + variable_indices.push_back((int) col + start_arcs.size()); // coverage stage + variable_indices.push_back((int) col + start_arcs.size() + V.cols); // final stage + } + } + + // add the constraint, if the current cell can be covered by the given arcs, indices=1 in this constraint + if(variable_indices.size()>0) + { + GRBLinExpr current_coverage_constraint; + for(size_t var=0; var=1); + } + } + + + // equality constraint to ensure that the number of flows out of one node is the same as the number of flows into the + // node during the coverage stage + // Remark: for initial stage ensure that exactly one arc is gone, because there only the outgoing flows are taken + // into account + // initial stage + GRBLinExpr initial_stage_constraint; + for(size_t start=0; start variable_indices; + std::vector variable_coefficients; + + // gather flows into node + for(size_t inflow=0; inflow0.01) +// std::cout << var << std::endl; + } + + // garbage collection + delete env; + + return; +#endif +} + +// Function that creates a Cbc optimization problem and solves it, using the given matrices and vectors and the 3-stage +// ansatz, that takes an initial step going from the start node and then a coverage stage assuming that the number of +// flows into and out of a node must be the same. At last a final stage is gone, that terminates the path in one of the +// possible nodes. This function uses lazy generalized cutset inequalities (GCI) to prevent cycles. For that a solution +// without cycle prevention constraints is determined and then cycles are detected in this solution. For these cycles +// then additional constraints are added and a new solution is determined. This procedure gets repeated until no cycle +// is detected in the solution or the only cycle contains all visited nodes, because such a solution is a traveling +// salesman like solution, which is a valid solution. +void FlowNetworkExplorator::solveLazyConstraintOptimizationProblem(std::vector& C, const cv::Mat& V, const std::vector& weights, + const std::vector >& flows_into_nodes, const std::vector >& flows_out_of_nodes, + const std::vector& start_arcs) +{ + // initialize the problem + CoinModel problem_builder; + + std::cout << "Creating and solving linear program." << std::endl; + + // add the optimization variables to the problem + int number_of_variables = 0; + for(size_t arc=0; arc variable_indices; + + for(size_t col=0; col(row, start_arcs[col])==1) + variable_indices.push_back((int) col); + + // coverage and final stage + for(size_t col=0; col(row, col)==1) + { + variable_indices.push_back((int) col + start_arcs.size()); // coverage stage + variable_indices.push_back((int) col + start_arcs.size() + V.cols); // final stage + } + } + + // all indices are 1 in this constraint + std::vector variable_coefficients(variable_indices.size(), 1.0); + + // add the constraint, if the current cell can be covered by the given arcs + if(variable_indices.size()>0) + problem_builder.addRow((int) variable_indices.size(), &variable_indices[0], &variable_coefficients[0], 1.0); + } + + + // equality constraint to ensure that the number of flows out of one node is the same as the number of flows into the + // node during the coverage stage + // Remark: for initial stage ensure that exactly one arc is gone, because there only the outgoing flows are taken + // into account + // initial stage + std::vector start_indices(start_arcs.size()); + std::vector start_coefficients(start_arcs.size()); + for(size_t start=0; start variable_indices; + std::vector variable_coefficients; + + // gather flows into node + for(size_t inflow=0; inflow final_indices(V.cols); + std::vector final_coefficients(final_indices.size()); + // gather indices + for(size_t node=0; nodeloadFromCoinModel(problem_builder); + + // testing + solver_pointer->writeLp("lin_flow_prog", "lp"); + + // solve the created integer optimization problem + CbcModel model(*solver_pointer); + model.solver()->setHintParam(OsiDoReducePrint, true, OsiHintTry); + + CbcHeuristicFPump heuristic(model); + model.addHeuristic(&heuristic); + model.initialSolve(); + model.branchAndBound(); + +// testing +// std::vector test_row(2); +// std::vector test_coeff(2); +// +// test_row[0] = 0; +// test_row[1] = 1; +// +// test_coeff[0] = 1.0; +// test_coeff[1] = 1.0; +// solver_pointer->addRow(2, &test_row[0], &test_coeff[0], 0.0, 0.0); +// solver_pointer->writeLp("lin_flow_prog", "lp"); +// solver_pointer->resolve(); + + // retrieve solution + const double* solution = model.solver()->getColSolution(); + + // search for cycles in the retrieved solution, if one is found add a constraint to prevent this cycle + bool cycle_free = false; + + do + { + // get the arcs that are used in the previously calculated solution + std::set used_arcs; // set that stores the indices of the arcs corresponding to non-zero elements in the solution + + // go trough the start arcs + for(size_t start_arc=0; start_arc0) + { + // insert saved outgoing flow index + used_arcs.insert(flow-start_arcs.size()-V.cols); + } + } +// go trough the final stage and find the remaining used arcs +// for(size_t node=0; node::iterator sol=used_arcs.begin(); sol!=used_arcs.end(); ++sol) +// std::cout << *sol << std::endl; +// std::cout << std::endl; + + // construct the directed edges out of the used arcs + std::vector > directed_edges; // vector that stores the directed edges for each node + for(uint start_node=0; start_node originating_flows; + bool originating = false; + for(std::set::iterator arc=used_arcs.begin(); arc!=used_arcs.end(); ++arc) + { + if(contains(flows_out_of_nodes[start_node], *arc)==true) + { + originating = true; + originating_flows.push_back(*arc); + } + } + + // if the arc is originating from this node, find its destination + std::vector current_directed_edges; + if(originating==true) + { + for(uint end_node=0; end_node::iterator arc=originating_flows.begin(); arc!=originating_flows.end(); ++arc) + if(contains(flows_into_nodes[end_node], *arc)==true) + current_directed_edges.push_back(end_node); + } + } + + // if the current node doesn't flow into another node insert a vector storing -1 + if(current_directed_edges.size()==0) + current_directed_edges.push_back(-1); + + // save the found used directed edges + directed_edges.push_back(current_directed_edges); + } + +// // testing +// std::cout << "used destinations: " << std::endl; +//// directed_edges[1].push_back(0); +// for(size_t i=0; i c(flows_into_nodes.size()); + int number_of_strong_components = boost::strong_components(support_graph, boost::make_iterator_property_map(c.begin(), boost::get(boost::vertex_index, support_graph), c[0])); + std::cout << "got " << number_of_strong_components << " strongly connected components" << std::endl; +// for (std::vector ::iterator i = c.begin(); i != c.end(); ++i) +// std::cout << "Vertex " << i - c.begin() << " is in component " << *i << std::endl; + + // check how many cycles there are in the solution (components with a size >= 2) + int number_of_cycles = 0; + std::set done_components; // set that stores the component indices for that the nodes already were found + for(std::vector::iterator comp=c.begin(); comp!=c.end(); ++comp) + { + // don't check a component more than one time + if(done_components.find(*comp)!=done_components.end()) + continue; + + int elements = std::count(c.begin(), c.end(), *comp); + if(elements>=2) + ++number_of_cycles; + + // check if a tsp path is computed (number of arcs is same as number of nodes), each arc is a strongly + // connected component itself or all the nodes belong to one strongly connected component + if(elements==used_arcs.size() || elements==flows_out_of_nodes.size()) + number_of_cycles = 0; + + // add it to done components + done_components.insert(*comp); + } + + // check if no cycle appears in the solution, i.e. if not each node is a component of its own or a traveling + // salesman path has been computed (not_used_nodes+1) or each arc flows to another node + if(number_of_cycles==0) + cycle_free = true; + + // if a cycle appears find it and add the prevention constraint to the problem and resolve it + if(cycle_free==false) + { + // go trough the components and find components with more than 1 element in it + std::vector > cycle_nodes; + done_components.clear(); + for (int component=0; component current_component_nodes; + int elements = std::count(c.begin(), c.end(), c[component]); +// std::cout << c[component] << std::endl; + if(elements>=2 && elements!=used_arcs.size()) + { + for(std::vector::iterator element=c.begin(); element!=c.end(); ++element) + { + if(*element==c[component]) + { + current_component_nodes.push_back(element-c.begin()); + } + } + + // save the found cycle + if(current_component_nodes.size()>0) + cycle_nodes.push_back(current_component_nodes); + + // add it to done components + done_components.insert(c[component]); + } + } + } + +// std::cout << "found nodes that are part of a cycle: " << std::endl; +// for(size_t i=0; i cpc_indices; +// std::vector cpc_coefficients; +// +// // gather the arcs in outgoing from all neighbors +// for(size_t neighbor=0; neighbor::const_iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].end(); ++outflow) +// { +// // if the current arc is used in the solution, search for it in the incoming flows of +// // the other nodes in the cycle +// if(used_arcs.find(*outflow)!=used_arcs.end()) +// for(size_t new_node=0; new_node::const_iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][neighbor]].end(); ++outflow) +// { +// // search for the current flow in the incoming flows of the other nodes in the cycle +// for(size_t new_node=0; new_nodeaddRow((int) cpc_indices.size(), &cpc_indices[0], &cpc_coefficients[0], 0.0, COIN_DBL_MAX); +// } + // for each cycle find the arcs that lie in it + +// std::cout << "size: " << cycle_nodes[cycle].size() << std::endl; +// std::cout << "constraint: " << std::endl; + std::vector cpc_indices; + std::vector cpc_coefficients; + for(size_t node=0; node::const_iterator outflow=flows_out_of_nodes[cycle_nodes[cycle][node]].begin(); outflow!=flows_out_of_nodes[cycle_nodes[cycle][node]].end(); ++outflow) + { + for(size_t neighbor=0; neighboraddRow((int) cpc_indices.size(), &cpc_indices[0], &cpc_coefficients[0], COIN_DBL_MIN , cycle_nodes[cycle].size()-1); + } + +// testing + solver_pointer->writeLp("lin_flow_prog", "lp"); + + // resolve the problem with the new constraints + solver_pointer->resolve(); + + // create a new model with the updated optimization problem and solve it + CbcModel new_model(*solver_pointer); + new_model.solver()->setHintParam(OsiDoReducePrint, true, OsiHintTry); + + CbcHeuristicFPump heuristic_new(new_model); + new_model.addHeuristic(&heuristic_new); + +// new_model.initialSolve(); + new_model.branchAndBound(); + + // retrieve new solution + solution = new_model.solver()->getColSolution(); + + } + }while(cycle_free == false); + + for(size_t res=0; res& points, const cv::Point& point, const double min_distance) +{ + double square_distance = min_distance * min_distance; + for(std::vector::const_iterator current_point = points.begin(); current_point != points.end(); ++current_point) + { + double dx = current_point->x - point.x; + double dy = current_point->y - point.y; + if( ((dx*dx + dy*dy)) <= square_distance) + return true; + } + return false; +} + +// Function that uses the flow network based method to determine a coverage path. To do so the following steps are done +// I. Using the Sobel operator the direction of the gradient at each pixel is computed. Using this information, the direction is +// found that suits best for calculating the edges, i.e. such that longer edges occur, and the map is rotated in this manner. +// This allows to use the algorithm as it was and in the last step, the found path points simply will be transformed back to the +// original orientation. +// II. Discretize the free space into cells that have to be visited a least once by using the sampling distance given to +// the function. Also create a flow network by sweeping a line along the y-/x-axis and creating an edge, whenever it +// hits an obstacle. From this hit point go back along the sweep line until the distance is equal to the coverage +// radius, because the free space should represent the area that should be totally covered. If in both directions +// along the sweep line no point in the free space can be found, ignore it. +// III. Create the matrices and vectors for the optimization problem: +// 1. The weight vector w, storing the distances between edges. +// 2. The coverage matrix V, storing which cell can be covered when going along the arcs. +// remark: A cell counts as covered, when its center is in the coverage radius around an arc. +// 3. The sets of arcs for each node, that store the incoming and outgoing arcs +// IV. Create and solve the optimization problems in the following order: +// 1. Find the start node that is closest to the given starting position. This start node is used as initial step +// in the optimization problem. +// 2. Solve the optimization problem, using lazy constraints to prevent cycles in the solution. See the upper +// function for further details. +// 3. Retrieve the solution provided by the optimizer and create a path trough the environment. +// 4. Construct a pose path out of the calculated point path. +// V. The previous step produces a path for the field of view. If wanted this path gets mapped to the robot path s.t. +// the field of view follows the wanted path. To do so simply a vector transformation is applied. If the computed robot +// pose is not in the free space, another accessible point is generated by finding it on the radius around the fov +// middlepoint s.t. the distance to the last robot position is minimized. If this is not wanted one has to set the +// corresponding Boolean to false (shows that the path planning should be done for the robot footprint). +void FlowNetworkExplorator::getExplorationPath(const cv::Mat& room_map, std::vector& path, + const float map_resolution, const cv::Point starting_position, const cv::Point2d map_origin, + const int cell_size, const Eigen::Matrix& robot_to_fov_middlepoint_vector, const float coverage_radius, + const bool plan_for_footprint, const double path_eps, const double curvature_factor, const double max_distance_factor) +{ + // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** + cv::Mat R; + cv::Rect bbox; + cv::Mat rotated_room_map; + RoomRotator room_rotation; + room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution); + room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); + +// // generate matrices for gradient in x/y direction +// cv::Mat gradient_x, gradient_y; +// +// // compute gradient in x direction +// cv::Sobel(room_map, gradient_x, CV_64F, 1, 0, 5, 1.0, 0.0, cv::BORDER_DEFAULT); +// +// // compute gradient in y direction +// cv::Sobel(room_map, gradient_y, CV_64F, 0, 1, 5, 1.0, 0.0, cv::BORDER_DEFAULT); +// +// // compute the direction of the gradient for each pixel and save the occurring gradients +// std::vector gradient_directions; +// for(size_t y=0; y(y,x); +// int dy= gradient_y.at(y,x); +// if(dy*dy+dx*dx > 0.0) +// { +// double current_gradient = std::atan2(dy, dx); +// gradient_directions.push_back(0.1*(double)((int)((current_gradient*10)+0.5))); // round to one digit +// } +// } +// } +// +// // find the gradient that occurs most often, this direction is used to rotate the map +// int max_number = 0; +// double most_occurring_gradient = 0.0; +// std::set done_gradients; +// for(std::vector::iterator grad=gradient_directions.begin(); grad!=gradient_directions.end(); ++grad) +// { +// // if gradient has been done, don't check it again +// if(done_gradients.find(*grad)==done_gradients.end()) +// { +// int current_count = std::count(gradient_directions.begin(), gradient_directions.end(), *grad); +//// std::cout << "current gradient: " << *grad << ", occurs " << current_count << " times." << std::endl; +// if(current_count > max_number) +// { +// max_number = current_count; +// most_occurring_gradient = *grad; +// } +// done_gradients.insert(*grad); +// } +// } +// std::cout << "most occurring gradient angle: " << most_occurring_gradient << std::endl; +// +// // rotation angle of the map s.t. the most occurring gradient is in 0 degree to the x-axis +// double rotation_angle = std::abs(most_occurring_gradient); +// std::cout << "rotation angle: " << rotation_angle << std::endl; +// +// // get rotation matrix R for rotating the image around the center of the room contour +// // Remark: rotation angle in degrees for opencv +// std::vector < std::vector > contour; +// cv::Mat contour_map = room_map.clone(); +// cv::findContours(contour_map, contour, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE); +// +// // get the moment--> for a given map, there should only be one contour +// cv::Moments moment = cv::moments(contour[0], false); +// +// // calculate rotation center +// cv::Point2f center = cv::Point(moment.m10/moment.m00 , moment.m01/moment.m00 ); +// cv::Mat R = cv::getRotationMatrix2D(center, (rotation_angle*180)/PI, 1.0); +// +// // determine bounding rectangle to find the size of the new image +// cv::Rect bbox = cv::RotatedRect(center, room_map.size(), (rotation_angle*180)/PI).boundingRect(); +// +// // adjust transformation matrix +// R.at(0,2) += bbox.width/2.0 - center.x; +// R.at(1,2) += bbox.height/2.0 - center.y; +// +// // rotate the image +// cv::Mat rotated_room_map; +// cv::warpAffine(room_map, rotated_room_map, R, bbox.size(), cv::INTER_AREA); +// +// // apply a binary filter to create a binary image, also use a closing operator to smooth the output (the rotation might produce +// // black pixels reaching into the white area that were not there before, causing new, wrong cells to open) +// cv::threshold(rotated_room_map, rotated_room_map, 200, 255, CV_THRESH_BINARY); +// cv::dilate(rotated_room_map, rotated_room_map, cv::Mat(), cv::Point(-1,-1), 1); +// cv::erode(rotated_room_map, rotated_room_map, cv::Mat(), cv::Point(-1,-1), 1); +// cv::imshow("rotated_room_map", rotated_room_map); +// cv::imshow("room_map", room_map); +// cv::waitKey(); + + // *********** II. Discretize the free space and create the flow network *********** + // find the min/max coordinates + int min_y = 1000000, max_y = 0, min_x = 1000000, max_x = 0; + for (int y=0; y(y,x)==255) + { + if(ymax_y) + max_y = y; + if(xmax_x) + max_x = x; + } + } + } +// min_y -= 1; +// min_x -= 1; +// max_y += 1; +// max_x += 1; + +// testing +// cv::circle(rotated_room_map, cv::Point(min_x, min_y), 3, cv::Scalar(127), CV_FILLED); +// cv::circle(rotated_room_map, cv::Point(max_x, max_y), 3, cv::Scalar(127), CV_FILLED); +// cv::imshow("rotated", rotated_room_map); +// cv::waitKey(); + + // todo: create grid in external class - it is the same in all approaches + // todo: if first/last row or column in grid has accessible areas but center is inaccessible, create a node in the accessible area + // find cell centers that need to be covered + std::vector cell_centers; + for(size_t y=min_y; y<=max_y; y+=cell_size) + for(size_t x=min_x; x<=max_x; x+=cell_size) + if(rotated_room_map.at(y,x)==255) + cell_centers.push_back(cv::Point(x,y)); + + // find edges for the flow network, sweeping along the y-axis + std::vector edges; + int coverage_int = (int) std::floor(coverage_radius); + std::cout << "y sweeping, radius: " << coverage_int << std::endl; + for(size_t y=min_y-1; y<=max_y+1; ++y) + { +// cv::Mat test_map = rotated_room_map.clone(); +// for(std::vector::iterator center=cell_centers.begin(); center!=cell_centers.end(); ++center) +// cv::circle(test_map, *center, 2, cv::Scalar(50), CV_FILLED); +// cv::line(test_map, cv::Point(0, y), cv::Point(rotated_room_map.cols, y), cv::Scalar(127), 1); + for(size_t x=min_x; x<=max_x+1; x+=2.0*coverage_int) + { + // check if an obstacle has been found, only check outer parts of the occupied space + if(rotated_room_map.at(y,x)==0 && (rotated_room_map.at(y-1,x)==255 || rotated_room_map.at(y+1,x)==255)) + { +// cv::circle(test_map, cv::Point(x,y), 2, cv::Scalar(127), CV_FILLED); + // check on both sides along the sweep line if a free point is available, don't exceed matrix dimensions + if(rotated_room_map.at(y-coverage_int, x)==255 && y-coverage_int>=0) + edges.push_back(cv::Point(x, y-coverage_int)); + else if(rotated_room_map.at(y+coverage_int, x)==255 && y+coverage_int(y,x)==0 && (rotated_room_map.at(y,x-1)==255 || rotated_room_map.at(y,x+1)==255)) +// { +//// cv::circle(test_map, cv::Point(x,y), 2, cv::Scalar(127), CV_FILLED); +// // check on both sides along the sweep line if a free point is available, don't exceed matrix dimensions +// if(rotated_room_map.at(y, x-coverage_int)==255 && x-coverage_int>=0) +// edges.push_back(cv::Point(x-coverage_int, y)); +// else if(rotated_room_map.at(y, x+coverage_int)==255 && x+coverage_int::iterator p=edges.begin(); p!=edges.end(); ++p) +// cv::circle(edges_map, *p, 2, cv::Scalar(100), CV_FILLED); +// cv::imshow("edges", edges_map); +// cv::waitKey(); + + // create the arcs for the flow network + std::cout << "Constructing distance matrix" << std::endl; + cv::Mat distance_matrix; // determine weights + DistanceMatrix distance_matrix_computation; + distance_matrix_computation.constructDistanceMatrix(distance_matrix, rotated_room_map, edges, 0.25, 0.0, map_resolution, path_planner_); + std::cout << "Constructed distance matrix, defining arcs" << std::endl; + std::vector arcs; + double max_distance = max_y - min_y; // arcs should at least go the maximal room distance to allow straight arcs + if(max_x-min_x>max_distance) + max_distance=max_x-min_x; + for(size_t start=0; startstart) + { + arcStruct current_forward_arc; + current_forward_arc.start_point = edges[start]; + current_forward_arc.end_point = edges[end]; + current_forward_arc.weight = distance_matrix.at(start, end); + arcStruct current_backward_arc; + current_backward_arc.start_point = edges[end]; + current_backward_arc.end_point = edges[start]; + current_backward_arc.weight = distance_matrix.at(end, start); + cv::Point vector = current_forward_arc.start_point - current_forward_arc.end_point; + // don't add too long arcs to reduce dimensionality, because they certainly won't get chosen anyway + // also don't add arcs that are too far away from the straight line (start-end) because they are likely + // to go completely around obstacles and are not good + if(current_forward_arc.weight <= max_distance_factor*max_distance && current_forward_arc.weight <= curvature_factor*cv::norm(vector)) + { + std::vector astar_path; + path_planner_.planPath(rotated_room_map, current_forward_arc.start_point, current_forward_arc.end_point, 1.0, 0.0, map_resolution, 0, &astar_path); + current_forward_arc.edge_points = astar_path; + // reverse path for backward arc + std::reverse(astar_path.begin(), astar_path.end()); + current_backward_arc.edge_points = astar_path; + arcs.push_back(current_forward_arc); + arcs.push_back(current_backward_arc); + } + } + } + } + // TODO: exclude nodes that aren't connected to the rest of the edges + std::cout << "arcs: " << arcs.size() << std::endl; + +// testing +// cv::Mat arc_map = rotated_room_map.clone(); +// for(size_t i=0; i(current_arc.edge_points[j]) = 127; +// } +// cv::imshow("test", arc_map); +// cv::waitKey(); + + // *********** III. Construct the matrices for the optimization problem *********** + std::cout << "Starting to construct the matrices for the optimization problem." << std::endl; + // 1. weight vector + int number_of_candidates = arcs.size(); + std::vector w(number_of_candidates); + for(std::vector::iterator arc=arcs.begin(); arc!=arcs.end(); ++arc) + w[arc-arcs.begin()] = arc->weight; + + // 2. visibility matrix, storing which call can be covered when going along the arc + // remark: a cell counts as covered, when the center of each cell is in the coverage radius around the arc + cv::Mat V = cv::Mat(cell_centers.size(), number_of_candidates, CV_8U); // binary variables + for(std::vector::iterator arc=arcs.begin(); arc!=arcs.end(); ++arc) + { + // use the pointClose function to check if a cell can be covered along the path + for(std::vector::iterator cell=cell_centers.begin(); cell!=cell_centers.end(); ++cell) + { + if(pointClose(arc->edge_points, *cell, 1.1*coverage_radius) == true) + V.at(cell-cell_centers.begin(), arc-arcs.begin()) = 1; + else + V.at(cell-cell_centers.begin(), arc-arcs.begin()) = 0; + } + } + + // 3. set of arcs (indices) that are going into and out of one node + std::vector > flows_into_nodes(edges.size()); + std::vector > flows_out_of_nodes(edges.size()); + int number_of_outflows = 0; + for(std::vector::iterator edge=edges.begin(); edge!=edges.end(); ++edge) + { + for(std::vector::iterator arc=arcs.begin(); arc!=arcs.end(); ++arc) + { + // if the start point of the arc is the edge save it as incoming flow + if(arc->end_point == *edge) + { + flows_into_nodes[edge-edges.begin()].push_back(arc-arcs.begin()); + } + // if the end point of the arc is the edge save it as outgoing flow + else if(arc->start_point == *edge) + { + flows_out_of_nodes[edge-edges.begin()].push_back(arc-arcs.begin()); + ++number_of_outflows; + } + } + } + +// testing +// for(size_t i=0; i path = arcs[flows_out_of_nodes[node][flow]].edge_points; +// for(size_t p=0; p(path[p]) = 127; +// } +// cv::imshow("paths", paths); +// cv::waitKey(); +// } + + std::cout << "Constructed all matrices for the optimization problem. Checking if all cells can be covered." << std::endl; + + // print out warning if a defined cell is not coverable with the chosen arcs + bool all_cells_covered = true; + for(size_t row=0; row(row, col)==1) + ++number_of_paths; + if(number_of_paths==0) + { + std::cout << "!!!!!!!! EMPTY ROW OF VISIBILITY MATRIX !!!!!!!!!!!!!" << std::endl << "cell " << row << " not coverable" << std::endl; + all_cells_covered = false; + } + } + if(all_cells_covered == false) + std::cout << "!!!!! WARNING: Not all cells could be covered with the given parameters, try changing them or ignore it to not cover the whole free space." << std::endl; + + // *********** IV. Solve the optimization problem *********** + // 1. Find the start node closest to the starting position. + double min_distance = 1e5; + uint start_index = 0; + for(std::vector::iterator edge=edges.begin(); edge!=edges.end(); ++edge) + { + cv::Point difference_vector = *edge - starting_position; + double current_distance = cv::norm(difference_vector); + if(current_distance C(2.0*(flows_out_of_nodes[start_index].size()+number_of_candidates) + number_of_outflows + edges.size()); + std::cout << "number of outgoing arcs: " << number_of_outflows << std::endl; +#ifdef GUROBI_FOUND + solveGurobiOptimizationProblem(C, V, w, flows_into_nodes, flows_out_of_nodes, flows_out_of_nodes[start_index]); +#else + solveLazyConstraintOptimizationProblem(C, V, w, flows_into_nodes, flows_out_of_nodes, flows_out_of_nodes[start_index]); +#endif + +// testing +// for(size_t i=0; i::iterator p=edges.begin(); p!=edges.end(); ++p) +// cv::circle(test_map, *p, 2, cv::Scalar(100), CV_FILLED); + + std::set used_arcs; // set that stores the indices of the arcs corresponding to non-zero elements in the solution + // go trough the start arcs and determine the new start arcs + uint path_start = 0; +// cv::Mat test_map = rotated_room_map.clone(); +// for(std::vector::iterator p=edges.begin(); p!=edges.end(); ++p) +// cv::circle(test_map, *p, 2, cv::Scalar(100), CV_FILLED); + for(size_t start_arc=0; start_arc0.01) // taking integer precision in solver into account + { + // insert start index +// used_arcs.insert(flows_out_of_nodes[start_index][start_arc]); + path_start = flows_out_of_nodes[start_index][start_arc]; + +// std::vector path=arcs[flows_out_of_nodes[start_index][start_arc]].edge_points; +// for(size_t j=0; j(path[j])=50; +// +// cv::imshow("discretized", test_map); +// cv::waitKey(); + } + } + + // go trough the coverage stage + for(size_t cover_arc=flows_out_of_nodes[start_index].size(); cover_arc::iterator p=edges.begin(); p!=edges.end(); ++p) +// cv::circle(test_map, *p, 2, cv::Scalar(100), CV_FILLED); + if(C[cover_arc]>0.01) // taking integer precision in solver into account + { +// std::cout << cover_arc-flows_out_of_nodes[start_index].size() << std::endl; + + // insert index, relative to the first coverage variable + used_arcs.insert(cover_arc-flows_out_of_nodes[start_index].size()); + +// std::vector path=arcs[cover_arc-flows_out_of_nodes[start_index].size()].edge_points; +// for(size_t j=0; j(path[j])=100; +// +// cv::imshow("discretized", test_map); +// cv::waitKey(); + } + } + + // go trough the final stage and find the remaining used arcs + std::cout << "final: " << std::endl; + uint path_end = 0; + for(uint final_arc=flows_out_of_nodes[start_index].size()+arcs.size(); final_arc::iterator p=edges.begin(); p!=edges.end(); ++p) +// cv::circle(test_map, *p, 2, cv::Scalar(100), CV_FILLED); + if(C[final_arc]>0.01) + { + // insert saved outgoing flow index +// used_arcs.insert(final_arc-flows_out_of_nodes[start_index].size()-V.cols); + path_end = final_arc-flows_out_of_nodes[start_index].size()-V.cols; + +// std::vector path=arcs[final_arc-flows_out_of_nodes[start_index].size()-arcs.size()].edge_points; +// for(size_t j=0; j(path[j])=150; +// +// cv::imshow("discretized", test_map); +// cv::waitKey(); + } + } +// for(size_t node=0; node0.01) // taking integer precision in solver into account +// { +// // insert saved outgoing flow index +// used_arcs.insert(flows_out_of_nodes[node][flow]); +// std::vector path=arcs[flows_out_of_nodes[node][flow]].edge_points; +// for(size_t j=0; j(path[j])=150; +// +// cv::imshow("discretized", test_map); +// cv::waitKey(); +// } +// } +// } +// cv::imshow("discretized", test_map); +// cv::waitKey(); + std::cout << "got " << used_arcs.size() << " used arcs" << std::endl; + +// // testing --> check how often a node is a start/end-node of the arcs +// std::cout << "appereances of the nodes: " << std::endl; +// cv::Mat node_map = rotated_room_map.clone(); +// for(size_t i=0; i::iterator used=used_arcs.begin(); used!=used_arcs.end(); ++used) +// if(contains(flows_out_of_nodes[i], *used)==true || contains(flows_into_nodes[i], *used)==true) +// ++number; +// std::cout << "n" << i << ": " << number << std::endl; +// +// if(i==5) +// { +// cv::circle(node_map, edges[i], 2, cv::Scalar(127), CV_FILLED); +// for(std::set::iterator used=used_arcs.begin(); used!=used_arcs.end(); ++used) +// { +// if(contains(flows_out_of_nodes[i], *used)==true || contains(flows_into_nodes[i], *used)==true) +// { +// std::vector points=arcs[*used].edge_points; +// for(size_t j=0; j(points[j])=150; +// } +// } +// cv::imshow("node", node_map); +// cv::waitKey(); +// } +// } + + + // starting from the start node, go trough the arcs and create a coverage path + std::vector path_positions; + path_positions.push_back(edges[start_index]); + cv::Point last_point = edges[start_index]; + int last_index = start_index; + std::set gone_arcs; + std::cout << "getting path using arcs" << std::endl; + // start path at start node + std::vector start_edge = arcs[path_start].edge_points; + for(std::vector::iterator pos=start_edge.begin(); pos!=start_edge.end(); ++pos) + { + cv::Point difference = last_point - *pos; + // if the next point is far enough away from the last point insert it into the coverage path + if(difference.x*difference.x+difference.y*difference.y<=path_eps*path_eps) + { + path_positions.push_back(*pos); + last_point = *pos; + } + } + // get index of the start arcs end-node + cv::Point end_start_node = arcs[path_start].end_point; + last_index = std::find(edges.begin(), edges.end(), end_start_node)-edges.begin(); + // TODO: find path in directed graph, covering all edges --> allow cycles connected to the rest + int number_of_gone_arcs = 0, loopcounter = 0; + do + { + ++loopcounter; +// std::cout << "n: " << number_of_gone_arcs << std::endl; + // go trough the arcs and find the one that has the last point as begin and go along it + for(std::set::iterator arc_index=used_arcs.begin(); arc_index!=used_arcs.end(); ++arc_index) + { +// std::cout << arcs[*arc_index].start_point << " " << last_point << std::endl; +// if(arcs[*arc_index].start_point==last_point) +// { +// std::vector edge = arcs[*arc_index].edge_points; +// for(std::vector::iterator pos=edge.begin(); pos!=edge.end(); ++pos) +// { +// cv::Point difference = last_point - *pos; +// // if the next point is far enough away from the last point insert it into the coverage path +// if(difference.x*difference.x+difference.y*difference.y<=path_eps*path_eps) +// { +// path_positions.push_back(*pos); +// last_point = *pos; +// } +// } +// +// // increase number of gone arcs +// ++number_of_gone_arcs; +// } + + // check if current arc has been gone already (e.g. when a cycle is appended to the rest of the path --> still a valid solution) + if(gone_arcs.find(*arc_index)!=gone_arcs.end()) + continue; + + if(contains(flows_out_of_nodes[last_index], *arc_index)==true) + { + std::vector edge = arcs[*arc_index].edge_points; + for(std::vector::iterator pos=edge.begin(); pos!=edge.end(); ++pos) + { + cv::Point difference = last_point - *pos; + // if the next point is far enough away from the last point insert it into the coverage path + if(difference.x*difference.x+difference.y*difference.y<=path_eps*path_eps) + { + path_positions.push_back(*pos); + last_point = *pos; + } + } + + // get index of last edge + cv::Point node = arcs[*arc_index].end_point; + last_index = std::find(edges.begin(), edges.end(), node)-edges.begin(); + gone_arcs.insert(*arc_index); + + // increase number of gone arcs + ++number_of_gone_arcs; + + // reset the loop-counter + loopcounter = 0; + } +// std::cout << number_of_gone_arcs << std::endl; + } + }while(number_of_gone_arcs final_edge = arcs[path_end].edge_points; + for(std::vector::iterator pos=final_edge.begin(); pos!=final_edge.end(); ++pos) + { + cv::Point difference = last_point - *pos; + // if the next point is far enough away from the last point insert it into the coverage path + if(difference.x*difference.x+difference.y*difference.y<=path_eps*path_eps) + { + path_positions.push_back(*pos); + last_point = *pos; + } + } + std::cout << "got path" << std::endl; + + // transform the calculated path back to the originally rotated map and create poses with an angle + std::vector fov_poses; + std::vector path_positions_2f(path_positions.size()); + for (size_t i=0; i fov_poses; +// for(unsigned int point_index=0; point_index::iterator pose=fov_poses.begin(); pose != fov_poses.end(); ++pose) + { + geometry_msgs::Pose2D current_pose; + current_pose.x = (pose->x * map_resolution) + map_origin.x; + current_pose.y = (pose->y * map_resolution) + map_origin.y; + current_pose.theta = pose->theta; + path.push_back(current_pose); + } + return; + } + + // *********************** V. Get the robot path out of the fov path. *********************** + // clean path from double occurrences of the same pose in a row + std::vector fov_path; + fov_path.push_back(fov_poses[0]); + cv::Point last_added_point(fov_poses[0].x, fov_poses[0].y); + const double min_dist_squared = 5 * 5; // [pixel] + for (size_t i=1; i min_dist_squared || i==fov_poses.size()-1) + { + fov_path.push_back(fov_poses[i]); + last_added_point = current_point; + } + } + + // go trough all computed fov poses and compute the corresponding robot pose + std::cout << "mapping path" << std::endl; + mapPath(room_map, path, fov_path, robot_to_fov_middlepoint_vector, map_resolution, map_origin, starting_position); + +//// testing +// // transform the found path back to the original map +// cv::invertAffineTransform(R, R); +// cv::transform(path_positions, path_positions, R); +// cv::Mat path_map = room_map.clone(); +//// cv::imshow("solution", test_map); +//// cv::imwrite("/home/rmbce/Pictures/room_exploration/coverage_path.png", test_map); +// for(std::vector::iterator point=path_positions.begin(); point!=path_positions.end(); ++point) +// { +// cv::circle(path_map, *point, 2, cv::Scalar(127), CV_FILLED); +//// cv::imshow("path", path_map); +//// cv::waitKey(); +// } +// cv::imshow("path", path_map); +// cv::waitKey(); +} + +// test function for an easy case to check correctness +void FlowNetworkExplorator::testFunc() +{ +// std::vector w(6, 1.0); +// std::vector C(2+6+6); +// cv::Mat V = cv::Mat(8, 6, CV_8U, cv::Scalar(0)); +// std::vector > flows_out_of_nodes(3); +// std::vector > flows_in_nodes(3); +// +// // cell 1 +// V.at(0,0) = 1; +// V.at(0,1) = 1; +// //cell 2 +// V.at(1,0) = 1; +// V.at(1,1) = 1; +// // cell 3 +// V.at(2,4) = 1; +// V.at(2,5) = 1; +// // cell 4 +// V.at(3,0) = 1; +// V.at(3,1) = 1; +// V.at(3,4) = 1; +// V.at(3,5) = 1; +// // cell 5 +// V.at(4,0) = 1; +// V.at(4,1) = 1; +// V.at(4,2) = 1; +// V.at(4,3) = 1; +// // cell 6 +// V.at(5,2) = 1; +// V.at(5,3) = 1; +// // cell 7 +// V.at(6,4) = 1; +// V.at(6,5) = 1; +// // cell 8 +// V.at(7,2) = 1; +// V.at(7,3) = 1; +// +// flows_out_of_nodes[0].push_back(0); +// flows_out_of_nodes[0].push_back(4); +// flows_out_of_nodes[1].push_back(1); +// flows_out_of_nodes[1].push_back(2); +// flows_out_of_nodes[2].push_back(3); +// flows_out_of_nodes[2].push_back(5); +// +// flows_in_nodes[0].push_back(1); +// flows_in_nodes[0].push_back(5); +// flows_in_nodes[1].push_back(0); +// flows_in_nodes[1].push_back(3); +// flows_in_nodes[2].push_back(2); +// flows_in_nodes[2].push_back(4); +// +// for(size_t row=0; row(row, col) << " "; +// } +// std::cout << std::endl; +// } + std::vector w(14, 1.0); + std::vector C(2+14+14+2+14+6); + cv::Mat V = cv::Mat(12, 14, CV_8U, cv::Scalar(0)); + std::vector > flows_out_of_nodes(6); + std::vector > flows_in_nodes(6); + + // cell 1 + V.at(0,0) = 1; + V.at(0,1) = 1; + //cell 2 + V.at(1,0) = 1; + V.at(1,1) = 1; + V.at(1,4) = 1; + V.at(1,5) = 1; + // cell 3 + V.at(2,4) = 1; + V.at(2,5) = 1; + V.at(2,10) = 1; + V.at(2,11) = 1; + // cell 4 + V.at(3,0) = 1; + V.at(3,1) = 1; + // cell 5 + V.at(4,0) = 1; + V.at(4,1) = 1; + V.at(4,6) = 1; + V.at(4,7) = 1; + // cell 6 + V.at(5,6) = 1; + V.at(5,7) = 1; + V.at(5,10) = 1; + V.at(5,11) = 1; + // cell 7 + V.at(6,2) = 1; + V.at(6,3) = 1; + // cell 8 + V.at(7,2) = 1; + V.at(7,3) = 1; + V.at(7,6) = 1; + V.at(7,7) = 1; + // cell 9 + V.at(8,6) = 1; + V.at(8,7) = 1; + V.at(8,12) = 1; + V.at(8,13) = 1; + // cell 10 + V.at(9,2) = 1; + V.at(9,3) = 1; + // cell 11 + V.at(10,2) = 1; + V.at(10,3) = 1; + V.at(10,8) = 1; + V.at(10,9) = 1; + // cell 12 + V.at(11,8) = 1; + V.at(11,9) = 1; + V.at(11,12) = 1; + V.at(11,13) = 1; + + flows_out_of_nodes[0].push_back(0); + flows_out_of_nodes[0].push_back(4); + + flows_out_of_nodes[1].push_back(1); + flows_out_of_nodes[1].push_back(2); + flows_out_of_nodes[1].push_back(6); + + flows_out_of_nodes[2].push_back(3); + flows_out_of_nodes[2].push_back(8); + + flows_out_of_nodes[3].push_back(5); + flows_out_of_nodes[3].push_back(10); + + flows_out_of_nodes[4].push_back(7); + flows_out_of_nodes[4].push_back(11); + flows_out_of_nodes[4].push_back(12); + + flows_out_of_nodes[5].push_back(9); + flows_out_of_nodes[5].push_back(13); + + + flows_in_nodes[0].push_back(1); + flows_in_nodes[0].push_back(5); + + flows_in_nodes[1].push_back(0); + flows_in_nodes[1].push_back(3); + flows_in_nodes[1].push_back(7); + + flows_in_nodes[2].push_back(2); + flows_in_nodes[2].push_back(9); + + flows_in_nodes[3].push_back(4); + flows_in_nodes[3].push_back(11); + + flows_in_nodes[4].push_back(6); + flows_in_nodes[4].push_back(10); + flows_in_nodes[4].push_back(13); + + flows_in_nodes[5].push_back(8); + flows_in_nodes[5].push_back(12); + + for(size_t row=0; row(row, col) << " "; + } + std::cout << std::endl; + } + + std::vector W(C.size(), 1.0); + w[10] = 0.25; + w[11] = 0.25; + w[12] = 0.25; + w[13] = 0.25; + double weight_epsilon = 0.0; + double euler_constant = std::exp(1.0); + for(size_t i=1; i<=1; ++i) + { + +// solveThreeStageOptimizationProblem(C, V, w, flows_in_nodes, flows_out_of_nodes, flows_out_of_nodes[0]);//, &W); + solveGurobiOptimizationProblem(C, V, w, flows_in_nodes, flows_out_of_nodes, flows_out_of_nodes[0]); + for(size_t c=0; c used_arcs; // set that stores the indices of the arcs corresponding to non-zero elements in the solution + // go trough the start arcs and determine the new start arcs + std::cout << "initial: " << std::endl; + uint n = (uint) V.cols; + for(size_t start_arc=0; start_arc0) + { + // insert saved outgoing flow index + used_arcs.insert(flow-flows_out_of_nodes[0].size()-n); + } + } +// for(size_t node=0; node::iterator var=used_arcs.begin(); var!=used_arcs.end(); ++var) + { + // gather column corresponding to this candidate pose and add it to the new observability matrix + cv::Mat column = V.col(*var); + cv::hconcat(V_reduced, column, V_reduced); + } + V_reduced = V_reduced.colRange(1, V_reduced.cols); + + for(size_t row=0; row(row, col) << " "; + if(V_reduced.at(row, col)!=0) + ++one_count; + } + std::cout << std::endl; + if(one_count == 0) + std::cout << "!!!!!!!!!!!!! empty row !!!!!!!!!!!!!!!!!!" << std::endl; + } + + V_reduced = V_reduced.colRange(1, V_reduced.cols); + + std::cout << "read out: " << std::endl; + for(size_t c=0; cloadFromCoinModel(problem_builder); + + solver_pointer->writeLp("test_lp", "lp"); + + CbcModel model(*solver_pointer); + model.solver()->setHintParam(OsiDoReducePrint, true, OsiHintTry); + +// CbcHeuristicLocal heuristic2(model); +// model.addHeuristic(&heuristic2); + + model.initialSolve(); + model.branchAndBound(); + + const double * solution = model.solver()->getColSolution(); + + for(size_t i=0; i + +#include +#include +#include +#include + +// Constructor +GridPointExplorator::GridPointExplorator() +{ +} + +void GridPointExplorator::tsp_solver_thread_concorde(ConcordeTSPSolver& tsp_solver, std::vector& optimal_order, + const cv::Mat& distance_matrix, const std::map& cleaned_index_to_original_index_mapping, const int start_node) +{ + try + { + optimal_order = tsp_solver.solveConcordeTSPWithCleanedDistanceMatrix(distance_matrix, cleaned_index_to_original_index_mapping, start_node); + } + catch (boost::thread_interrupted&) + { + std::cout << "GridPointExplorator::tsp_solver_thread_concorde: Thread with Concorde TSP solver was interrupted." << std::endl; + } + + std::cout << "GridPointExplorator::tsp_solver_thread_concorde: finished TSP with solver 3=Concorde and optimal_order.size=" << optimal_order.size() << std::endl; +} + +void GridPointExplorator::tsp_solver_thread_genetic(GeneticTSPSolver& tsp_solver, std::vector& optimal_order, + const cv::Mat& distance_matrix, const std::map& cleaned_index_to_original_index_mapping, const int start_node) +{ + try + { + optimal_order = tsp_solver.solveGeneticTSPWithCleanedDistanceMatrix(distance_matrix, cleaned_index_to_original_index_mapping, start_node); + } + catch (boost::thread_interrupted&) + { + std::cout << "GridPointExplorator::tsp_solver_thread_genetic: Thread with Genetic TSP solver was interrupted." << std::endl; + } + + std::cout << "GridPointExplorator::tsp_solver_thread_genetic: finished TSP with solver 2=Genetic and optimal_order.size=" << optimal_order.size() << std::endl; +} + +void GridPointExplorator::tsp_solver_thread(const int tsp_solver, std::vector& optimal_order, const cv::Mat& original_map, + const std::vector& points, const double downsampling_factor, const double robot_radius, const double map_resolution, + const int start_node) +{ + try + { + if (tsp_solver == TSP_NEAREST_NEIGHBOR) + { + NearestNeighborTSPSolver tsp_solve; + optimal_order = tsp_solve.solveNearestTSP(original_map, points, downsampling_factor, robot_radius, map_resolution, start_node, 0); + } + else if (tsp_solver == TSP_GENETIC) + { + GeneticTSPSolver tsp_solve; + optimal_order = tsp_solve.solveGeneticTSP(original_map, points, downsampling_factor, robot_radius, map_resolution, start_node, 0); + } + else if (tsp_solver == TSP_CONCORDE) + { + ConcordeTSPSolver tsp_solve; + optimal_order = tsp_solve.solveConcordeTSP(original_map, points, downsampling_factor, robot_radius, map_resolution, start_node, 0); + } + else + { + std::cout << "GridPointExplorator::tsp_solver_thread: Error: tsp_solver " << tsp_solver << " is undefined." << std::endl; + } + } + catch (boost::thread_interrupted&) + { + std::cout << "GridPointExplorator::tsp_solver_thread: Thread with TSP solver was interrupted." << std::endl; + } + + std::cout << "GridPointExplorator::tsp_solver_thread: finished TSP with solver " << tsp_solver << " and optimal_order.size=" << optimal_order.size() << std::endl; +} + + +// Function to create a static pose series that has the goal to inspect the complete floor of the given room. +// This is done in the following steps: +// I. It lays a grid over the given map, with a line_size defined by the constructor/set-function. All intersection points +// that are not laying on an obstacle, or near to one, become one point of the path. The grid starts at the upper left +// point that is reachable. +// II. It plans an optimal series of the previously found points by solving a Traveling-Salesman-Problem (TSP). This produces +// a path that covers all nodes and ends at the node where the path started. depending on this series the angle of the +// Poses are computed, by calculating a vector from the old node to the next and using the angle of this with the x-axis +// as angle for the Poses. +// room_map = expects to receive the original, not inflated room map +void GridPointExplorator::getExplorationPath(const cv::Mat& room_map, std::vector& path, const double map_resolution, + const cv::Point starting_position, const cv::Point2d map_origin, const int cell_size, const bool plan_for_footprint, + const Eigen::Matrix robot_to_fov_vector, int tsp_solver, int64_t tsp_solver_timeout) +{ + const int half_cell_size = cell_size/2; + + // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** + // rotate map + cv::Mat R; + cv::Rect bbox; + cv::Mat rotated_room_map; + RoomRotator room_rotation; + room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution); + room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); + + // transform starting position + std::vector starting_point_vector(1, starting_position); // opencv syntax + cv::transform(starting_point_vector, starting_point_vector, R); + cv::Point rotated_starting_position = starting_point_vector[0]; + + //******************* II. Get grid points ************************* + // vector to store all found points + std::vector grid_points; + + // compute the basic Boustrophedon grid lines + cv::Mat inflated_rotated_room_map; + BoustrophedonGrid grid_lines; + GridGenerator::generateBoustrophedonGrid(rotated_room_map, inflated_rotated_room_map, half_cell_size, grid_lines, cv::Vec4i(-1, -1, -1, -1), + cell_size, half_cell_size, cell_size-1); // using cell_size-1 instead of cell_size for grid_spacing_horizontal helps + // the TSP planner to avoid unnecessary rotations by following a preferred direction + // convert grid points format + for (BoustrophedonGrid::iterator line=grid_lines.begin(); line!=grid_lines.end(); ++line) + { + grid_points.insert(grid_points.end(), line->upper_line.begin(), line->upper_line.end()); + if (line->has_two_valid_lines == true) + grid_points.insert(grid_points.end(), line->lower_line.begin(), line->lower_line.end()); + } + +// // print results +// cv::Mat point_map = rotated_room_map.clone(); +// for(std::vector::iterator point = grid_points.begin(); point != grid_points.end(); ++point) +// { +// cv::circle(point_map, *point, 2, cv::Scalar(127), CV_FILLED); +// std::cout << " - " << *point << "\n"; +// } +// cv::imshow("grid", point_map); +// cv::waitKey(); + + //******************* II. Plan a path trough the found points ************************* + // find the index of the point, which is closest to the starting position + int min_index = 0; + double min_distance = 1e10; + + for(std::vector::iterator point = grid_points.begin(); point != grid_points.end(); ++point) + { + double distance = cv::norm(rotated_starting_position - *point); + + if(distance < min_distance) + { + min_distance = distance; + min_index = point - grid_points.begin(); + } + } + + + // solve the Traveling Salesman Problem + std::cout << "Finding optimal order of the " << grid_points.size() << " found points. Start-index: " << min_index << std::endl; + const double map_downsampling_factor = 0.25; + // compute distance matrix for TSP (outside of time limits for solving TSP) + cv::Mat distance_matrix_cleaned; + std::map cleaned_index_to_original_index_mapping; // maps the indices of the cleaned distance_matrix to the original indices of the original distance_matrix + AStarPlanner path_planner; + DistanceMatrix distance_matrix_computation; + distance_matrix_computation.computeCleanedDistanceMatrix(rotated_room_map, grid_points, map_downsampling_factor, 0.0, map_resolution, path_planner, + distance_matrix_cleaned, cleaned_index_to_original_index_mapping, min_index); + + // solve TSP + bool finished = false; + std::vector optimal_order; + if (tsp_solver == TSP_CONCORDE) + { + // start TSP solver in extra thread + ConcordeTSPSolver tsp_solve; + boost::thread t(boost::bind(&GridPointExplorator::tsp_solver_thread_concorde, this, boost::ref(tsp_solve), boost::ref(optimal_order), + boost::cref(distance_matrix_cleaned), boost::cref(cleaned_index_to_original_index_mapping), min_index)); + if (tsp_solver_timeout > 0) + { + finished = t.try_join_for(boost::chrono::seconds(tsp_solver_timeout)); + if (finished == false) + { + tsp_solve.abortComputation(); + std::cout << "GridPointExplorator::getExplorationPath: INFO: Terminated tsp_solver " << tsp_solver << " because of time out. Taking the Nearest Neighbor TSP instead." << std::endl; + } + } + else + finished = true; + t.join(); + } + else if (tsp_solver == TSP_GENETIC) + { + // start TSP solver in extra thread + GeneticTSPSolver tsp_solve; + boost::thread t(boost::bind(&GridPointExplorator::tsp_solver_thread_genetic, this, boost::ref(tsp_solve), boost::ref(optimal_order), + boost::cref(distance_matrix_cleaned), boost::cref(cleaned_index_to_original_index_mapping), min_index)); + if (tsp_solver_timeout > 0) + { + finished = t.try_join_for(boost::chrono::seconds(tsp_solver_timeout)); + if (finished == false) + { + tsp_solve.abortComputation(); + std::cout << "GridPointExplorator::getExplorationPath: INFO: Terminated tsp_solver " << tsp_solver << " because of time out. Taking the Nearest Neighbor TSP instead." << std::endl; + } + } + else + finished = true; + t.join(); + } + // fall back to nearest neighbor TSP if the other approach was timed out + if (tsp_solver==TSP_NEAREST_NEIGHBOR || finished==false) + { + NearestNeighborTSPSolver tsp_solve; + optimal_order = tsp_solve.solveNearestTSPWithCleanedDistanceMatrix(distance_matrix_cleaned, cleaned_index_to_original_index_mapping, min_index); + std::cout << "GridPointExplorator::getExplorationPath: finished TSP with solver 1 and optimal_order.size=" << optimal_order.size() << std::endl; + } + + // rearrange the found points in the optimal order and convert them to the right format + std::vector fov_middlepoint_path(optimal_order.size()); + for(unsigned int point_index = 0; point_index < optimal_order.size(); ++point_index) + fov_middlepoint_path[point_index] = cv::Point2f(grid_points[optimal_order[point_index]].x, grid_points[optimal_order[point_index]].y); + + // transform the calculated path back to the originally rotated map and create poses with an angle + std::vector path_fov_poses; + room_rotation.transformPathBackToOriginalRotation(fov_middlepoint_path, path_fov_poses, R); + +// for(unsigned int point_index = 0; point_index < fov_middlepoint_path.size(); ++point_index) +// { +// // get the vector from the current point to the next point +// cv::Point current_point = grid_points[optimal_order[point_index]]; +// cv::Point next_point = grid_points[optimal_order[(point_index+1)%(optimal_order.size())]]; +// cv::Point vector = next_point - current_point; +// +// float angle = std::atan2(vector.y, vector.x);//std::acos(quotient); +// +// // add the next navigation goal to the path +// geometry_msgs::Pose2D navigation_goal; +// navigation_goal.x = (current_point.x * map_resolution) + map_origin.x; // coordinate systems are rotated to each other +// navigation_goal.y = (current_point.y * map_resolution) + map_origin.y; +// navigation_goal.theta = angle; +// +// path.push_back(navigation_goal); +// } + + // if the path should be planned for the robot footprint create the path and return here + if(plan_for_footprint == true) + { + for(std::vector::iterator pose=path_fov_poses.begin(); pose != path_fov_poses.end(); ++pose) + { + geometry_msgs::Pose2D current_pose; + current_pose.x = (pose->x * map_resolution) + map_origin.x; + current_pose.y = (pose->y * map_resolution) + map_origin.y; + current_pose.theta = pose->theta; + path.push_back(current_pose); + } + return; + } + + // *********************** III. Get the robot path out of the fov path. *********************** + // go trough all computed fov poses and compute the corresponding robot pose + //mapPath(room_map, path, path_fov_poses, robot_to_fov_vector, map_resolution, map_origin, starting_position); + ROS_INFO("Starting to map from field of view pose to robot pose"); + cv::Point robot_starting_position = (path_fov_poses.size()>0 ? cv::Point(path_fov_poses[0].x, path_fov_poses[0].y) : starting_position); + cv::Mat inflated_room_map; + cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), half_cell_size); + mapPath(inflated_room_map, path, path_fov_poses, robot_to_fov_vector, map_resolution, map_origin, robot_starting_position); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/meanshift2d.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/meanshift2d.cpp new file mode 100644 index 0000000..b955d51 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/meanshift2d.cpp @@ -0,0 +1,161 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_segmentation + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: + * + * \date Date of creation: 22.07.2015 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#include "ipa_room_exploration/meanshift2d.h" +#include "ipa_room_exploration/fast_math.h" + +void MeanShift2D::filter(const std::vector& data, std::vector& filtered_data, const double bandwidth, const int maximumIterations) +{ + // prepare mean shift set + std::vector mean_shift_set(data.size()); + filtered_data = data; + + // mean shift iteration + for (int iter=0; iter& filtered_data, std::vector& convergence_points, std::vector< std::vector >& convergence_sets, const double sensitivity) +{ + // cluster data according to convergence points + convergence_sets.resize(1, std::vector(1, 0)); + convergence_points.resize(1, filtered_data[0]); + for (int i=1; i<(int)filtered_data.size(); i++) + { + bool create_new_set = true; + for (int j=0; j<(int)convergence_points.size(); j++) + { + if (cv::norm(filtered_data[i]-convergence_points[j]) < sensitivity) + { + convergence_sets[j].push_back(i); + convergence_points[j] = (convergence_points[j]*(convergence_sets[j].size()-1.) + filtered_data[i]) / (double)convergence_sets[j].size(); // update mean of convergence point + create_new_set = false; + break; + } + } + if (create_new_set == true) + { + convergence_sets.push_back(std::vector(1, i)); + convergence_points.push_back(filtered_data[i]); + } + } +} + +cv::Vec2d MeanShift2D::findRoomCenter(const cv::Mat& room_image, const std::vector& room_cells, double map_resolution) +{ + // downsample data if too big + std::vector room_cells_sampled; + if (room_cells.size() > 1000) + { + const int factor = room_cells.size()/1000; + for (size_t i=0; i filtered_room_cells; + filter(room_cells_sampled, filtered_room_cells, bandwidth, 100); + + // take mean of filtering result in simple rooms, i.e. if no obstacles is located at the computed cell + cv::Scalar mean_coordinates = cv::mean(filtered_room_cells); + cv::Vec2d room_center(mean_coordinates[0], mean_coordinates[1]); + if (room_image.at(room_center[1], room_center[0]) == 255) + return room_center; + + // otherwise compute convergence sets of filtering results and return mean of largest convergence set + // determine convergence points + std::vector convergence_points; + std::vector< std::vector > convergence_sets; + computeConvergencePoints(filtered_room_cells, convergence_points, convergence_sets, 1./bandwidth*0.1); + + // select convergence point with largest point support + size_t max_index = 0; + size_t max_size = 0; + for (size_t i=0; i max_size) + { + max_size = convergence_sets[i].size(); + max_index = i; + } + } + return convergence_points[max_index]; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/neural_network_explorator.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/neural_network_explorator.cpp new file mode 100644 index 0000000..d3fe3ca --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/neural_network_explorator.cpp @@ -0,0 +1,367 @@ +#include + +// Default constructor +NeuralNetworkExplorator::NeuralNetworkExplorator() +{ + // default values TODO: param + step_size_ = 0.008; // 0.008 + A_ = 17; // 17 + B_ = 5; // 5 + D_ = 7; // 7 + E_ = 80; // E >> B, 80 + mu_ = 1.03; // 1.03 + delta_theta_weight_ = 0.15; // 0.15 +} + +// Function that calculates an exploration path trough the given map s.t. everything has been covered by the robot-footprint +// or the field of view. The algorithm is programmed after +// +// Yang, Simon X., and Chaomin Luo. "A neural network approach to complete coverage path planning." IEEE Transactions on Systems, Man, and Cybernetics, Part B (Cybernetics) 34.1 (2004): 718-724. +// +// and uses a artificial neural network to produce the path. For this the following steps are done: +// I. Construct the neural network by sampling the given map, using the given fitting circle radius as step size. This is +// done because it allows that when all neurons (the samples) are covered the whole space have been cleaned/inspected. +// II. Starting with the given robot pose go trough the found network. At every time-step choose the next Neuron by +// solving x_n = max(x_j + c*y_j), with c as a positive scalar and y_j a function penalizing movements of the robot +// into a direction he is currently not pointing at. At every time-step an update of the states of the neurons is done. +// After this step a path consisting of poses for the fov middlepoint is obtained. If the plan should be planned for +// the robot footprint, then the algorithm returns this path and is finished. +// III. If wanted use the given vector from the robot middlepoint to the fov middlepoint to map the fov poses to the +// robot footprint poses. To do so simply a vector transformation is applied. If the computed robot pose is not in the +// free space, another accessible point is generated by finding it on the radius around the fov middlepoint s.t. +// the distance to the last robot position is minimized. If this is not wanted one has to set the corresponding +// Boolean to false (shows that the path planning should be done for the robot footprint). +void NeuralNetworkExplorator::getExplorationPath(const cv::Mat& room_map, std::vector& path, const float map_resolution, + const cv::Point starting_position, const cv::Point2d map_origin, const double grid_spacing_in_pixel, + const bool plan_for_footprint, const Eigen::Matrix robot_to_fov_vector, bool show_path_computation) +{ + const int grid_spacing_as_int = std::floor(grid_spacing_in_pixel); + const int half_grid_spacing_as_int = std::floor(grid_spacing_in_pixel*0.5); + + // *********************** I. Find the main directions of the map and rotate it in this manner. *********************** + cv::Mat R; + cv::Rect bbox; + cv::Mat rotated_room_map; + RoomRotator room_rotation; + room_rotation.computeRoomRotationMatrix(room_map, R, bbox, map_resolution); + room_rotation.rotateRoom(room_map, rotated_room_map, R, bbox); + + // compute min/max room coordinates + cv::Point min_room(1000000, 1000000), max_room(0, 0); + for (int v=0; v(v,u)==255) + { + min_room.x = std::min(min_room.x, u); + min_room.y = std::min(min_room.y, v); + max_room.x = std::max(max_room.x, u); + max_room.y = std::max(max_room.y, v); + } + } + } + cv::Mat inflated_rotated_room_map; + cv::erode(rotated_room_map, inflated_rotated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int); + + // ****************** II. Create the neural network ****************** + // reset previously computed neurons + neurons_.clear(); + + // go trough the map and create the neurons + int number_of_free_neurons = 0; + for(int y=min_room.y+half_grid_spacing_as_int; y current_network_row; + for(int x=min_room.x+half_grid_spacing_as_int; x(y,x) == 255) + { + Neuron current_neuron(cell_center, A_, B_, D_, E_, mu_, step_size_, false); + current_network_row.push_back(current_neuron); + ++number_of_free_neurons; + } + else // obstacle neuron + { + Neuron current_neuron(cell_center, A_, B_, D_, E_, mu_, step_size_, true); + current_network_row.push_back(current_neuron); + } + } + + // insert the current row into the network + neurons_.push_back(current_network_row); + } + + // todo: do not limit to direct neighbors but cycle through all neurons for finding the best next + // go trough the found neurons and get the direct neighbors of each + for(size_t row=0; row= neurons_.size()) + continue; + + // get the neighbors left from the current neuron + if(column > 0) + neurons_[row][column].addNeighbor(&neurons_[row+dy][column-1]); + + // get the neurons on the same column as the current neuron + if(dy != 0) + neurons_[row][column].addNeighbor(&neurons_[row+dy][column]); + + // get the neurons right from the current neuron + if(column < neurons_[row].size()-1) + neurons_[row][column].addNeighbor(&neurons_[row+dy][column+1]); + } + } + } + +// testing +// cv::Mat black_map = cv::Mat(rotated_room_map.rows, rotated_room_map.cols, rotated_room_map.type(), cv::Scalar(0)); +// for(size_t i=0; i neighbors; +// neurons_[i][j].getNeighbors(neighbors); +// for(size_t k=0; kgetPosition(), 2, cv::Scalar(127), CV_FILLED); +// } +// } +// } +// cv::imshow("neighbors", black_map); +// cv::waitKey(); + + // ****************** III. Find the coverage path ****************** + // mark the first non-obstacle neuron as starting node + Neuron* starting_neuron = 0; + bool found = false; + for(size_t row=0; rowmarkAsVisited(); + + // initial updates of the states to mark obstacles and unvisited free neurons as such + for(size_t init=1; init<=100; ++init) + { + for(size_t row=0; row(row*fitting_radius_as_int, column*fitting_radius_as_int) = (float) 1000.0*neurons_[row][column].getState(false); +// } +// std::cout << std::endl; +// } +// std::cout << std::endl; +// cv::namedWindow("states", cv::WINDOW_NORMAL); +// cv::imshow("states", black_map); +// cv::resizeWindow("states", 600, 600); +// cv::waitKey(); + + // iteratively choose the next neuron until all neurons have been visited or the algorithm is stuck in a + // limit cycle like path (i.e. the same neurons get visited over and over) + int visited_neurons = 1; + bool stuck_in_cycle = false; + std::vector fov_coverage_path; + fov_coverage_path.push_back(cv::Point(starting_neuron->getPosition().x, starting_neuron->getPosition().y)); + double previous_traveling_angle = 0.0; // save the travel direction to the current neuron to determine the next neuron + cv::Mat black_map = rotated_room_map.clone(); + Neuron* previous_neuron = starting_neuron; + int loop_counter = 0; + do + { + //std::cout << "Point: " << previous_neuron->getPosition() << std::endl; + ++loop_counter; + + // get the current neighbors and choose the next out of them + std::vector neighbors; + previous_neuron->getNeighbors(neighbors); + Neuron* next_neuron = 0; + + // go through the neighbors and find the next one + double max_value = -1e10, travel_angle = 0.0, best_angle = 0.0; + for(size_t neighbor=0; neighborgetPosition().y-previous_neuron->getPosition().y, neighbors[neighbor]->getPosition().x-previous_neuron->getPosition().x); + + // compute penalizing function y_j + double diff_angle = travel_angle - previous_traveling_angle; + while (diff_angle < -PI) + diff_angle += 2*PI; + while (diff_angle > PI) + diff_angle -= 2*PI; + double y = 1 - (std::abs(diff_angle)/PI); + + // compute transition function value + //std::cout << " Neighbor: " << neighbors[neighbor]->getPosition() << " " << neighbors[neighbor]->getState(false) << ", " << delta_theta_weight_ * y << std::endl; + double trans_fct_value = neighbors[neighbor]->getState(false) + delta_theta_weight_ * y; + + // check if neighbor is next neuron to be visited + if(trans_fct_value > max_value && rotated_room_map.at(neighbors[neighbor]->getPosition()) != 0) + { + max_value = trans_fct_value; + next_neuron = neighbors[neighbor]; + best_angle = travel_angle; + } + } + // catch errors + if (next_neuron == 0) + { + if (loop_counter <= 20) + continue; + else + break; + } + loop_counter = 0; + + // if the next neuron was previously uncleaned, increase number of visited neurons + if(next_neuron->visitedNeuron() == false) + ++visited_neurons; + + // mark next neuron as visited + next_neuron->markAsVisited(); + previous_traveling_angle = best_angle; + + // add neuron to path + const cv::Point current_pose(next_neuron->getPosition().x, next_neuron->getPosition().y); + fov_coverage_path.push_back(current_pose); + + // check the fov path for a limit cycle by searching the path for the next neuron, if it occurs too often + // and the previous/following neuron is always the same the algorithm probably is stuck in a cycle + int number_of_neuron_in_path = 0; + for(std::vector::iterator pose=fov_coverage_path.begin(); pose!=fov_coverage_path.end(); ++pose) + if(*pose==current_pose) + ++number_of_neuron_in_path; + + if(number_of_neuron_in_path >= 20) + { + // check number of previous neuron + cv::Point previous_pose = fov_coverage_path[fov_coverage_path.size()-2]; + int number_of_previous_neuron_in_path = 0; + for(std::vector::iterator pose=fov_coverage_path.begin()+1; pose!=fov_coverage_path.end()-1; ++pose) + { + // check if the the previous pose always has the current pose as neighbor + if(*pose==previous_pose) + { + if(*(pose+1)==current_pose) + ++number_of_previous_neuron_in_path; + else if(*(pose-1)==current_pose) + ++number_of_previous_neuron_in_path; + } + } + + //if(number_of_previous_neuron_in_path >= number_of_neuron_in_path) + if(number_of_previous_neuron_in_path >= 20) + { + std::cout << "Warning: the algorithm is probably stuck in a cycle. Aborting." << std::endl; + stuck_in_cycle = true; + } + } + + // update the states of the network + for (int i=0; i<100; ++i) + { + for(size_t row=0; rowgetPosition(), 2, cv::Scalar((visited_neurons*5)%250), CV_FILLED); +#else + cv::circle(black_map, next_neuron->getPosition(), 2, cv::Scalar((visited_neurons*5)%250), cv::FILLED); +#endif + cv::line(black_map, previous_neuron->getPosition(), next_neuron->getPosition(), cv::Scalar(128), 1); + cv::imshow("next_neuron", black_map); + cv::waitKey(); + } + + // save neuron that has been visited + previous_neuron = next_neuron; + } while (visited_neurons < number_of_free_neurons && stuck_in_cycle == false); //TODO: test terminal condition + + // transform the calculated path back to the originally rotated map + std::vector fov_poses; + std::vector fov_coverage_path_2f(fov_coverage_path.size()); + for (size_t i=0; i::iterator pose=fov_poses.begin(); pose != fov_poses.end(); ++pose) + { + geometry_msgs::Pose2D current_pose; + current_pose.x = (pose->x * map_resolution) + map_origin.x; + current_pose.y = (pose->y * map_resolution) + map_origin.y; + current_pose.theta = pose->theta; + path.push_back(current_pose); + } + return; + } + + // ****************** III. Map the found fov path to the robot path ****************** + // go trough all computed fov poses and compute the corresponding robot pose + ROS_INFO("Starting to map from field of view pose to robot pose"); + cv::Point robot_starting_position = (fov_poses.size()>0 ? cv::Point(fov_poses[0].x, fov_poses[0].y) : starting_position); + cv::Mat inflated_room_map; + cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), half_grid_spacing_as_int); + mapPath(inflated_room_map, path, fov_poses, robot_to_fov_vector, map_resolution, map_origin, robot_starting_position); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/room_rotator.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/room_rotator.cpp new file mode 100644 index 0000000..053c66b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/common/src/room_rotator.cpp @@ -0,0 +1,237 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2017 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 02.2017 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + + +#include + +void RoomRotator::rotateRoom(const cv::Mat& room_map, cv::Mat& rotated_room_map, const cv::Mat& R, const cv::Rect& bounding_rect) +{ + // rotate the image + cv::warpAffine(room_map, rotated_room_map, R, bounding_rect.size(), cv::INTER_AREA); + + // apply a binary filter to create a binary image, also use a closing operator to smooth the output (the rotation might produce + // black pixels reaching into the white area that were not there before, causing new, wrong cells to open) +#if CV_MAJOR_VERSION<=3 + cv::threshold(rotated_room_map, rotated_room_map, 127, 255, CV_THRESH_BINARY); +#else + cv::threshold(rotated_room_map, rotated_room_map, 127, 255, cv::THRESH_BINARY); +#endif +// this should not be used because it removes smaller obstacles like thin walls from the room and hence lets a planner generate paths through walls +// cv::dilate(rotated_room_map, rotated_room_map, cv::Mat(), cv::Point(-1,-1), 1); +// cv::erode(rotated_room_map, rotated_room_map, cv::Mat(), cv::Point(-1,-1), 1); +} + +// compute the affine rotation matrix for rotating a room into parallel alignment with x-axis (longer side of the room is aligned with x-axis) +// R is the transform +// bounding_rect is the ROI of the warped image +double RoomRotator::computeRoomRotationMatrix(const cv::Mat& room_map, cv::Mat& R, cv::Rect& bounding_rect, + const double map_resolution, const cv::Point* center, const double rotation_offset) +{ + // rotation angle of the map s.t. the most occurring gradient is in 90 degree to the x-axis + double rotation_angle = computeRoomMainDirection(room_map, map_resolution) + rotation_offset; + std::cout << "RoomRotator::computeRoomRotationMatrix: main rotation angle: " << rotation_angle << std::endl; + + // get rotation matrix R for rotating the image around the center of the room contour + // Remark: rotation angle in degrees for opencv + cv::Point center_of_rotation; + if (center == 0) + { + cv::Point min_room, max_room; + getMinMaxCoordinates(room_map, min_room, max_room); + center_of_rotation.x = 0.5*(min_room.x+max_room.x); + center_of_rotation.y = 0.5*(min_room.y+max_room.y); + } + else + center_of_rotation = *center; + + // compute rotation + R = cv::getRotationMatrix2D(center_of_rotation, (rotation_angle*180)/CV_PI, 1.0); + + // determine bounding rectangle to find the size of the new image + bounding_rect = cv::RotatedRect(center_of_rotation, room_map.size(), (rotation_angle*180)/CV_PI).boundingRect(); + // adjust transformation matrix + R.at(0,2) += 0.5*bounding_rect.width - center_of_rotation.x; + R.at(1,2) += 0.5*bounding_rect.height - center_of_rotation.y; + + return rotation_angle; +} + +// computes the major direction of the walls from a map (preferably one room) +// the map (room_map, CV_8UC1) is black (0) at impassable areas and white (255) on drivable areas +double RoomRotator::computeRoomMainDirection(const cv::Mat& room_map, const double map_resolution) +{ + const double map_resolution_inverse = 1./map_resolution; + + // compute Hough transform on edge image of the map + cv::Mat edge_map; + cv::Canny(room_map, edge_map, 50, 150, 3); + std::vector lines; + double min_line_length = 1.0; // in [m] + for (; min_line_length > 0.1; min_line_length -= 0.2) + { + cv::HoughLinesP(edge_map, lines, 1, CV_PI/180, min_line_length*map_resolution_inverse, min_line_length*map_resolution_inverse, 1.5*min_line_length*map_resolution_inverse); + cv::Mat room_hough = edge_map.clone(); + for (size_t i=0; i= 4) + break; + } + // setup a histogram on the line directions weighted by their length to determine the major direction + Histogram direction_histogram(0, CV_PI, 36); + for (size_t i=0; i 0.0) + { + double current_direction = std::atan2(dy, dx); + while (current_direction < 0.) + current_direction += CV_PI; + while (current_direction > CV_PI) + current_direction -= CV_PI; + direction_histogram.addData(current_direction, sqrt(dy*dy+dx*dx)); + //std::cout << " dx=" << dx << " dy=" << dy << " dir=" << current_direction << " len=" << sqrt(dy*dy+dx*dx) << std::endl; + } + } + return direction_histogram.getMaxBinPreciseVal(); +} + +void RoomRotator::transformPathBackToOriginalRotation(const std::vector& fov_middlepoint_path, std::vector& path_fov_poses, const cv::Mat& R) +{ + path_fov_poses.clear(); + + // transform the calculated path back to the originally rotated map + cv::Mat R_inv; + cv::invertAffineTransform(R, R_inv); + std::vector fov_middlepoint_path_transformed; + cv::transform(fov_middlepoint_path, fov_middlepoint_path_transformed, R_inv); + + // create poses with an angle + transformPointPathToPosePath(fov_middlepoint_path_transformed, path_fov_poses); +} + +void RoomRotator::transformPointPathToPosePath(const std::vector& point_path, std::vector& pose_path) +{ + // create poses with an angle + for(size_t point_index = 0; point_index < point_path.size(); ++point_index) + { + // get the vector from the previous to the current point + const cv::Point2f& current_point = point_path[point_index]; + + // add the next navigation goal to the path + geometry_msgs::Pose2D current_pose; + current_pose.x = current_point.x; + current_pose.y = current_point.y; + current_pose.theta = 0.; + cv::Point2f vector(0,0); + if (point_index > 0) + { + // compute the direction as the line from the previous point to the current point + vector = current_point - point_path[point_index-1]; + } + else if (point_path.size() >= 2) + { + // for the first point take the direction between first and second point + vector = point_path[point_index+1] - current_point; + } + // only sample different points + if (vector.x!=0 || vector.y!=0) + { + current_pose.theta = std::atan2(vector.y, vector.x); + pose_path.push_back(current_pose); + } + } +} + +void RoomRotator::transformPointPathToPosePath(std::vector& pose_path) +{ + // create point vector + std::vector point_path; + for (size_t i=0; i::max(); + min_room.y = std::numeric_limits::max(); + max_room.x = 0; + max_room.y = 0; + for (int v=0; v(v,u)==255) + { + min_room.x = std::min(min_room.x, u); + min_room.y = std::min(min_room.y, v); + max_room.x = std::max(max_room.x, u); + max_room.y = std::max(max_room.y, v); + } + } + } +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/package.xml new file mode 100644 index 0000000..591affd --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/package.xml @@ -0,0 +1,48 @@ + + + ipa_room_exploration + 0.1.2 + + This package plans the navigation in a room such that the floor of this room gets inspected completely for dirt. + + Florian Jordan + Richard Bormann + LGPL for academic and non-commercial use; for commercial use, please contact Fraunhofer IPA + http://ros.org/wiki/ipa_room_exploration + + catkin + + + angles + boost + cmake_modules + cob_map_accessibility_analysis + coinor-libcbc-dev + coinor-libcbc3 + coinor-libcgl-dev + coinor-libclp-dev + coinor-libcoinutils-dev + coinor-libosi-dev + cv_bridge + dynamic_reconfigure + + eigen_conversions + geometry_msgs + ipa_building_msgs + ipa_building_navigation + laser_geometry + + libopencv-dev + move_base_msgs + nav_msgs + roscpp + roslib + sensor_msgs + std_msgs + std_srvs + tf + visualization_msgs + message_generation + message_runtime + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/readme.md b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/readme.md new file mode 100644 index 0000000..109b41e --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/readme.md @@ -0,0 +1,29 @@ +# ipa_room_exploration +Algorithms for systematic coverage driving patterns. + +If you find this software useful in your work, please cite our corresponding paper: +- R. Bormann, F. Jordan, J. Hampp, and M. Hägele. Indoor coverage path planning: Survey, implementation, analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), pages 1718–1725, May 2018. https://ieeexplore.ieee.org/abstract/document/8460566 , https://publica.fraunhofer.de/entities/publication/f537c15d-4cbe-4672-9d86-6e756a9ce71b/details + +# General Procedure + +1. Change the algorithm parameters in ros/launch/room_room_exploration_action_server_params.yaml in ros/launch to the wanted algorithms and settings. + * room_exploration_algorithm: Choose which exploration algorithm you want to use. + * plan_for_footprint: Choose if you want to plan the coverage path for the field of view (fov) or the robot footprint. When planning for the fov, the generated path is transformed to robot poses, s.t. the given fov follows the generated path. + * revisit_areas: Choose if you want to revisit areas, that haven't been covered bythe robot or the fov during the execution of the coverage path. + * left_sections_min_area: When the revisiting of areas is enabled, this parameter defines how small not covered ares can be, before they will not be taken into account any further. This is useful, when you rather want a fast execution, than a very detailed coverage. This parameter is in [meter^2]. + * goal_eps: This parameter allows the action server to publish a new navigation goal, when the robot is in a specific range around the current goal. This allows the path to be more smoother, but of course not so exactly. If you don't want this feature, then simpply set this parameter to 0. This parameter is in [pixel]. + * Each exploration algorithm has it's own specific parameters, see the ros/launch/room_room_exploration_action_server_params.yaml for further descriptions of these. + +2. Start the action server using the file /ros/launch/room_exploration_action_server.launch, which executes the /ros/src/room_exploration_action_server.cpp file. If the server crashes for some reason (e.g. no valid map given by the client) it respawns with a little delay. + +3. Start an action client, which sends a goal to the action server, corresponding to the RoomExploration.action message, which lies in ipa_building_msgs/action. The goal consists of the following parts + + * input_map: The map of the whole area the robot moves in, as sensor_msgs/Image. **Has to be a 8-Bit single channel image, with 0 as occupied space and 255 as free space**. + * map_resolution: The resolution of the map as float32 in [meter/cell] + * map_origin: The origin of the map, will be used to transform the computed map-coordinates into real-world-coordinates. + * robot_radius: The radius of the robot as float32, used to find the areas that the robot can access, in [meter]. + * coverage_radius: The radius of the device that should cover the defined area as float32. This can be a cleaning device or an inspection tool, the value should be given in [meter]. + * field_of_view: Array of 4 geometry_msgs/Points32 that define the field of view or footprint (points around robot origin) of the robot. Used to check what areas have been left uncovered during the execution (only used when the action server shall execute the path). + * field_of_view_origin: The mounting position of the camera spanning the field of view, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter]. + * starting_position: The position at which the robot shall start the execution of the path in the room coordinate system [meter, meter, rad]. + * planning_mode: Int32 that controls if the robot footprint or the defined field-of-view shall cover the whole area (1: footprint, 2: fov). diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/cleaning_costmap_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/cleaning_costmap_params.yaml new file mode 100644 index 0000000..0340003 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/cleaning_costmap_params.yaml @@ -0,0 +1,15 @@ +cleaning_costmap: + global_frame: map + robot_base_frame: base_footprint + update_frequency: 1.0 + publish_frequency: 1.0 + static_map: true + rolling_window: false + resolution: 0.05 + transform_tolerance: 1.0 + inflation_radius: 0.15 + map_type: costmap + +cleaning_plan_nodehandle: + size_of_cell: 3 + grid_covered_value: 200 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params.yaml new file mode 100644 index 0000000..f819012 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params.yaml @@ -0,0 +1,13 @@ +obstacle_range: 2.5 #2.5 +raytrace_range: 3.0 #3.0 +footprint: [[-0.205, -0.155], [-0.205, 0.155], [0.077, 0.155], [0.077, -0.155]] +#footprint_inflation: 0.01 +# robot_radius: 0.175 #0.175 +max_obstacle_height: 0.6 +min_obstacle_height: 0.0 +observation_sources: scan #观察数据来源 +scan: {data_type: LaserScan, topic: /scan, marking: true, clearing: true, expected_update_rate: 0} + +# if set to false,then obstacle layer take unknow space to be free. +obstacle_layer: + track_unknown_space: true diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_burger.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_burger.yaml new file mode 100644 index 0000000..7b0d46e --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_burger.yaml @@ -0,0 +1,12 @@ +obstacle_range: 3.0 +raytrace_range: 3.5 + +footprint: [[-0.105, -0.105], [-0.105, 0.105], [0.041, 0.105], [0.041, -0.105]] +#robot_radius: 0.105 + +inflation_radius: 0.5 +cost_scaling_factor: 4.0 + +map_type: costmap +observation_sources: scan +scan: {sensor_frame: base_scan, data_type: LaserScan, topic: scan, marking: true, clearing: true} \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle.yaml new file mode 100644 index 0000000..f3a4a4e --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle.yaml @@ -0,0 +1,22 @@ +obstacle_range: 3.0 +raytrace_range: 3.5 + +footprint: [[-0.205, -0.155], [-0.205, 0.155], [0.077, 0.155], [0.077, -0.155]] +#robot_radius: 0.17 + +inflation_radius: 0.3 +cost_scaling_factor: 5.0 + +map_type: costmap +observation_sources: scan +scan: {sensor_frame: base_scan, data_type: LaserScan, topic: scan, marking: true, clearing: true} +sonar_layer: + enabled: true + no_readings_timout: 0.0 #此参数如果为0 ,没有任何影响.否则,如果在这个时间段内没有收到任何声纳数据,超声波层会警告用户,并且此层不被使用 + clear_threshold: 0.8 #栅格概率比该值低的标记为free + mark_threshold: 0.9 #栅格概率大于该值标定为占据 +# topics: ["/robot0/sonar_0","/robot0/sonar_1","/robot0/sonar_2","/robot0/sonar_3"] #超声波话题 + clear_on_max_reading: true #是否将超出sonar最大距离清除 + +# observation_sources: scan +# scan: {sensor_frame: base_scan, data_type: LaserScan, topic: sonar, marking: true, clearing: true} \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle_pi.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle_pi.yaml new file mode 100644 index 0000000..bd27ed3 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/costmap_common_params_waffle_pi.yaml @@ -0,0 +1,12 @@ +obstacle_range: 3.0 +raytrace_range: 3.5 + +footprint: [[-0.205, -0.155], [-0.205, 0.155], [0.077, 0.155], [0.077, -0.155]] +#robot_radius: 0.17 + +inflation_radius: 0.3 +cost_scaling_factor: 5.0 + +map_type: costmap +observation_sources: scan +scan: {sensor_frame: base_scan, data_type: LaserScan, topic: scan, marking: true, clearing: true} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/global_costmap_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/global_costmap_params.yaml new file mode 100644 index 0000000..3492775 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/config/global_costmap_params.yaml @@ -0,0 +1,15 @@ +global_costmap: + global_frame: map + robot_base_frame: base_footprint + + update_frequency: 10.0 + publish_frequency: 10.0 + transform_tolerance: 0.5 + + static_map: true + +# plugins: +# - {name: static_layer, type: "costmap_2d::StaticLayer"} +# - {name: obstacle_layer, type: "costmap_2d::ObstacleLayer"} +# - {name: sonar_layer, type:"range_sensor_layer::RangeSensorLayer"} +# - {name: inflation_layer, type: "costmap_2d::InflationLayer"} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/coverage_check_server.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/coverage_check_server.h new file mode 100644 index 0000000..0e6b938 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/coverage_check_server.h @@ -0,0 +1,66 @@ +// Ros +#include +// OpenCV +#include +#include +#include +// Eigen library +#include +// c++ standard libraries +#include +#include +#include +#include +#include +#include +// services +#include + +// Class that provides a service server to check which areas have been covered, when going along the given poses. It returns an image that +// has all covered areas drawn in as 127. +// REMARK: The given map has to be a 8 bit single channel image, with 0 as obstacle and 255 as free space drawn in. +// If wanted, the server can check how often a pixel has been covered during the execution. When this is wished, an image is returned, in +// which the number of observations (or coverages) is assigned to each pixel (32 bit image in this case). +class CoverageCheckServer +{ +protected: + // node handle + ros::NodeHandle node_handle_; + + // Function to draw the covered areas into the given map. This is done by going through all given robot-poses and calculating + // the field of view. The field of view is given in robot base coordinates (x-axis shows to the front and y-axis to left side). + // The function then calculates the field_of_view in the global frame by using the given robot pose. + // After this the function does a ray casting from the field of view origin (i.e. the camera location expressed in the robot base coordinate system) + // to each cell of the field of view in order to verify whether the cell has been obstructed by an obstacle and could not be observed. + // This ensures that no point is wrongly classified as seen. + // @param fov_origin The mounting position of the camera spanning the field of view, given in robot base coordinates, in [m] + void drawCoveredPointsPolygon(cv::Mat& reachable_areas_map, const std::vector& robot_poses, + const std::vector>& field_of_view_points, const Eigen::Matrix& fov_origin, + const float map_resolution, const cv::Point2d map_origin, cv::Mat* number_of_coverages_image=NULL); + + // Function that takes the given robot poses and draws the circular footprint with coverage_radius at these positions into the given map. + // Used when the server should plan a coverage path for the robot coverage area (a circle). This drawing function does not test occlusions + // since a footprint can usually be assumed to reach all covered map positions (otherwise it would be a collision). + void drawCoveredPointsCircle(cv::Mat& reachable_areas_map, const std::vector& robot_poses, + const double coverage_radius, const float map_resolution, + const cv::Point2d map_origin, cv::Mat* number_of_coverages_image=NULL); + + // reduces image coordinates of a point to valid values inside the image, i.e. between [0,rows-1]/[0,cols-1] + cv::Point clampImageCoordinates(const cv::Point& p, const int rows, const int cols); + + // ros server object + ros::ServiceServer coverage_check_server_; +public: + // constructor + CoverageCheckServer(); + CoverageCheckServer(ros::NodeHandle nh); + + // callback function for the server + bool checkCoverage(ipa_building_msgs::CheckCoverageRequest& request, ipa_building_msgs::CheckCoverageResponse& response); + + // ROS-independent coverage check library interface + bool checkCoverage(const cv::Mat& map, const float map_resolution, const cv::Point2d& map_origin, const std::vector& path, + const std::vector >& field_of_view, const Eigen::Matrix& fov_origin, const float coverage_radius, + const bool check_for_footprint, const bool check_number_of_coverages, cv::Mat& coverage_map, cv::Mat& number_of_coverage_image); + +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/dynamic_reconfigure_client.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/dynamic_reconfigure_client.h new file mode 100644 index 0000000..8c9907f --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/dynamic_reconfigure_client.h @@ -0,0 +1,248 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_segmentation + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 08.2016 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#ifndef _DYNAMIC_RECONFIGURE_CLIENT_H_ +#define _DYNAMIC_RECONFIGURE_CLIENT_H_ + +#include +#include + +#include + +#include +#include +#include +#include + +class DynamicReconfigureClient +{ +public: + DynamicReconfigureClient(ros::NodeHandle& nh, const std::string& dynamic_reconfigure_service_name, const std::string& parameter_updates_topic) + : dynamic_reconfigure_current_config_received_(false), node_handle_(nh), dynamic_reconfigure_service_name_(dynamic_reconfigure_service_name) + { + dynamic_reconfigure_sub_ = node_handle_.subscribe(parameter_updates_topic, 1, &DynamicReconfigureClient::dynamic_reconfigure_current_config_callback, this); + + // receive current configuration + ros::Duration sleep_rate(0.5); + while (dynamic_reconfigure_current_config_received_ == false) + { + ros::spinOnce(); + sleep_rate.sleep(); + } + } + + dynamic_reconfigure::Config& getConfig() + { + boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); + return dynamic_reconfigure_config_; + } + + bool setConfig(const std::string& param_name, const bool param_value) + { + boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); + + if (dynamic_reconfigure_current_config_received_ == false) + { + ROS_WARN("DynamicReconfigureClient: Did not receive the current configuration, yet."); + return false; + } + + bool found = false; + for (size_t i=0; i. + * + ****************************************************************/ + +#pragma once + +// c++ standard libraries +#include +#include +#include +#include +#include +#include +// Ros +#include +// service +#include +// OpenCv +#include +#include +// msgs +#include +#include +// Eigen library +#include +// specific from this package +#include + + +#define PI 3.14159265359 + +// Function that provides the functionality that a given field of view (fov) path gets mapped to a robot path by using the given parameters. +// To do so simply a vector operation is applied. If the computed robot pose is not in the free space, another accessible +// point is generated by finding it on the radius around the fov middlepoint s.t. the distance to the last robot position +// is minimized. +// Important: the room map needs to be an unsigned char single channel image, if inaccessible areas should be excluded, provide the inflated map +// robot_to_fov_vector in [m] +// returns robot_path in [m,m,rad] +void mapPath(const cv::Mat& room_map, std::vector& robot_path, + const std::vector& fov_path, const Eigen::Matrix& robot_to_fov_vector, + const double map_resolution, const cv::Point2d map_origin, const cv::Point& starting_point); + +// computes the field of view center and the radius of the maximum incircle of a given field of view quadrilateral +// fitting_circle_center_point_in_meter this is also considered the center of the field of view, because around this point the maximum radius incircle can be found that is still inside the fov +// fov_resolution resolution of the fov center and incircle computations, in [pixels/m] +void computeFOVCenterAndRadius(const std::vector >& fov_corners_meter, float& fitting_circle_radius_in_meter, + Eigen::Matrix& fitting_circle_center_point_in_meter, const double fov_resolution=1000); diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/room_exploration_action_server.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/room_exploration_action_server.h new file mode 100644 index 0000000..9669503 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/include/ipa_room_exploration/room_exploration_action_server.h @@ -0,0 +1,332 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 03.2016 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#pragma once + + +// Ros specific +#include +#include +#include +#include +#include +#include +#include +#include +// OpenCV specific +#include +#include +// Eigen library +#include +#include +// standard c++ libraries +#include +#include +#include +#include +#include +#include +// services and actions +#include +#include +#include +// messages +#include +#include +#include +#include +#include +#include +#include +#include +// specific from this package +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include "std_msgs/String.h" +#include +#include "ipa_building_msgs/dis_info.h" +#include "ipa_building_msgs/dis_info_array.h" + + + +#define PI 3.14159265359 + +typedef actionlib::SimpleActionClient MoveBaseClient; + +class RoomExplorationServer +{ +protected: + + int planning_mode_; // 1 = plans a path for coverage with the robot footprint, 2 = plans a path for coverage with the robot's field of view + + ros::Publisher path_pub_; // a publisher sending the path as a nav_msgs::Path before executing + ros::Publisher cmd_vel_pub_; + ros::Publisher cancel_pub_; + + geometry_msgs::Twist cmd_vel_msg; + actionlib_msgs::GoalID cancel_msg; + geometry_msgs::Twist cmd_vel_; + + GridPointExplorator grid_point_planner; // object that uses the grid point method to plan a path trough a room + BoustrophedonExplorer boustrophedon_explorer_; // object that uses the boustrophedon exploration method to plan a path trough the room + NeuralNetworkExplorator neural_network_explorator_; // object that uses the neural network method to create an exploration path + convexSPPExplorator convex_SPP_explorator_; // object that uses the convex spp exploration methd to create an exploration path + FlowNetworkExplorator flow_network_explorator_; // object that uses the flow network exploration method to create an exploration path + EnergyFunctionalExplorator energy_functional_explorator_; // object that uses the energy functional exploration method to create an exploration path + BoustrophedonVariantExplorer boustrophedon_variant_explorer_; // object that uses the boustrophedon variant exploration method to plan a path trough the room + + // parameters + int room_exploration_algorithm_; // variable to specify which algorithm is going to be used to plan a path + // 1: grid point explorator + // 2: boustrophedon explorator + // 3: neural network explorator + // 4: convexSPP explorator + // 5: flowNetwork explorator + // 6: energyFunctional explorator + // 7: Voronoi explorator + // 8: boustrophedon variant explorator + bool display_trajectory_; // display final trajectory plan step by step + + // parameters on map correction + int map_correction_closing_neighborhood_size_; // Applies a closing operation to neglect inaccessible areas and map errors/artifacts if the + // map_correction_closing_neighborhood_size parameter is larger than 0. + // The parameter then specifies the iterations (or neighborhood size) of that closing operation. + + // parameters specific to the navigation of the robot along the computed coverage trajectory + bool return_path_; // boolean used to determine if the server should return the computed coverage path in the response message + bool execute_path_; // boolean used to determine whether the server should navigate the robot along the computed coverage path + double goal_eps_; // distance between the published navigation goal and the robot to publish the next + // navigation goal in the path + bool use_dyn_goal_eps_; // using a dynamic goal distance criterion: the larger the path's curvature, the more accurate the navigation + bool interrupt_navigation_publishing_; // variable that interrupts the publishing of navigation goals as long as needed, e.g. when during the execution + // of the coverage path a trash bin is found and one wants to empty it directly and resume the path later. + bool revisit_areas_; // variable that turns functionality on/off to revisit areas that haven't been seen during the + // execution of the coverage path, due to uncertainties or dynamic obstacles + double left_sections_min_area_; // variable to determine the minimal area that not seen sections must have before they + // are revisited after one run through the room + std::string global_costmap_topic_; // name of the global costmap topic + std::string coverage_check_service_name_; // name of the service to call for a coverage check of the driven trajectory + std::string map_frame_; // string that carries the name of the map frame, used for tracking of the robot + std::string camera_frame_; // string that carries the name of the camera frame, that is in the same kinematic chain as the map_frame and shows the camera pose + + // parameters specific to the grid point explorator + int tsp_solver_; // indicates which TSP solver should be used + // 1 = Nearest Neighbor + // 2 = Genetic solver + // 3 = Concorde solver + int64_t tsp_solver_timeout_; // a sophisticated solver like Concorde or Genetic can be interrupted if it does not find a solution within this time, in [s], and then falls back to the nearest neighbor solver + + // parameters specific for the boustrophedon explorator + double min_cell_area_; // minimal area a cell can have, when using the boustrophedon explorator + double path_eps_; // the distance between points when generating a path + double grid_obstacle_offset_; // in [m], the additional offset of the grid to obstacles, i.e. allows to displace the grid by more than the standard half_grid_size from obstacles + int max_deviation_from_track_; // in [pixel], maximal allowed shift off the ideal boustrophedon track to both sides for avoiding obstacles on track + // setting max_deviation_from_track=grid_spacing is usually a good choice + // for negative values (e.g. max_deviation_from_track: -1) max_deviation_from_track is automatically set to grid_spacing + int cell_visiting_order_; // cell visiting order + // 1 = optimal visiting order of the cells determined as TSP problem + // 2 = alternative ordering from left to right (measured on y-coordinates of the cells), visits the cells in a more obvious fashion to the human observer (though it is not optimal) + + + // parameters specific for the neural network explorator, see "A Neural Network Approach to Complete Coverage Path Planning" from Simon X. Yang and Chaomin Luo + double step_size_; // step size for integrating the state dynamics + int A_; // decaying parameter that pulls the activity of a neuron closer to zero, larger value means faster decreasing + int B_; // increasing parameter that tries to increase the activity of a neuron when it's not too big already, higher value means a higher desired value and a faster increasing at the beginning + int D_; // decreasing parameter when the neuron is labeled as obstacle, higher value means faster decreasing + int E_; // external input parameter of one neuron that is used in the dynamics corresponding to if it is an obstacle or uncleaned/cleaned, E>>B + double mu_; // parameter to set the importance of the states of neighboring neurons to the dynamics, higher value means higher influence + double delta_theta_weight_; // parameter to set the importance of the traveleing direction from the previous step and the next step, a higher value means that the robot should turn less + + // parameters specific for the convexSPP explorator + int cell_size_; // size of one cell that is used to discretize the free space + double delta_theta_; // sampling angle when creating possible sensing poses in the convexSPP explorator + + // parameters specific for the flowNetwork explorator + double curvature_factor_; // double that shows the factor, an arc can be longer than a straight arc when using the flowNetwork explorator + double max_distance_factor_; // double that shows how much an arc can be longer than the maximal distance of the room, which is determined by the min/max coordinates that are set in the goal + + + // callback function for dynamic reconfigure + void dynamic_reconfigure_callback(ipa_room_exploration::RoomExplorationConfig &config, uint32_t level); + + // this is the execution function used by action server + void exploreRoom(const ipa_building_msgs::RoomExplorationGoalConstPtr &goal); + + // remove unconnected, i.e. inaccessible, parts of the room (i.e. obstructed by furniture), only keep the room with the largest area + bool removeUnconnectedRoomParts(cv::Mat& room_map); + + // clean path from subsequent double occurrences of the same pose + // min_dist_squared is the squared minimum distance between two points on the trajectory, in [pixel] (i.e. grid cells) + void downsampleTrajectory(const std::vector& path_uncleaned, std::vector& path, const double min_dist_squared); + + + // excute the planned trajectory and drive to unexplored areas after moving along the computed path + void navigateExplorationPath(const std::vector& exploration_path, const std::vector& field_of_view, + const geometry_msgs::Point32& field_of_view_origin, const double coverage_radius, const double distance_robot_fov_middlepoint, + const float map_resolution, const geometry_msgs::Pose& map_origin, const double grid_spacing_in_pixel, const double map_height); + + // function to publish a navigation goal, it returns true if the goal could be reached + // eps_x and eps_y are used to define a epsilon neighborhood around the goal in which a new nav_goal gets published + // --> may smooth the process, move_base often slows before and stops at the goal + bool publishNavigationGoal(const geometry_msgs::Pose2D& nav_goal, const std::string map_frame, + const std::string camera_frame, std::vector& robot_poses, + const double robot_to_fov_middlepoint_distance, const double eps = 0.0, + const bool perimeter_check = false); + + // converter-> Pixel to meter for X coordinate + double convertPixelToMeterForXCoordinate(const int pixel_valued_object_x, const float map_resolution, const cv::Point2d map_origin) + { + double meter_value_obj_x = (pixel_valued_object_x * map_resolution) + map_origin.x; + return meter_value_obj_x; + } + // converter-> Pixel to meter for Y coordinate + double convertPixelToMeterForYCoordinate(int pixel_valued_object_y, const float map_resolution, const cv::Point2d map_origin) + { + double meter_value_obj_y = (pixel_valued_object_y * map_resolution) + map_origin.y; + return meter_value_obj_y; + } + + // function to transform the given map in a way s.t. the OpenCV and room coordinate system are the same + // --> the map_saver from ros saves maps as images with the origin laying in the lower left corner of it, but openCV assumes + // that the origin is in the upper left corner, also they are rotated around the image-x-axis about each other + void transformImageToRoomCordinates(cv::Mat& map) + { + cv::Point2f src_center(map.cols/2.0F, map.rows/2.0F); + cv::Mat rot_mat = getRotationMatrix2D(src_center, 180, 1.0); + cv::Mat dst; + cv::warpAffine(map, dst, rot_mat, map.size()); + cv::flip(dst, map, 1); + } + + // function to create an occupancyGrid map out of a given cv::Mat + void matToMap(nav_msgs::OccupancyGrid &map, const cv::Mat &mat) + { + map.info.width = mat.cols; + map.info.height = mat.rows; + map.data.resize(mat.cols*mat.rows); + + for(int x=0; x(y,x)?0:100; + } + + // function to create a cv::Mat out of a given occupancyGrid map + void mapToMat(const nav_msgs::OccupancyGrid &map, cv::Mat &mat) + { + mat = cv::Mat(map.info.height, map.info.width, CV_8U); + + for(int x=0; x(y,x) = map.data[y*mat.cols+x]; + } + + + // !!Important!! + // define the Nodehandle before the action server, or else the server won't start + // + ros::NodeHandle node_handle_; + actionlib::SimpleActionServer room_exploration_server_; + dynamic_reconfigure::Server room_exploration_dynamic_reconfigure_server_; + + + +private: + void turn(int lr,int time);//rad/s ,0.1s + void gostraight(float v,int time);// 0.1s + void publishZeroVelocity();//Publishes a velocity command of zero to the base + + + bool flag_=0; + bool flag_ultra_=0; + bool flag_collid_=0; + + +public: + enum PlanningMode {PLAN_FOR_FOOTPRINT=1, PLAN_FOR_FOV=2}; + ros::Subscriber obstacles_sub_; + ros::Subscriber cmd_vel_sub_; + ros::Subscriber ultrasonic_sub_; + ros::Subscriber collid_sub_; + + void stereo_CB(const ipa_building_msgs::dis_info_array::ConstPtr& flag); + void ultrasonic_CB(const std_msgs::String::ConstPtr& ul_dis); + void collid_CB(const std_msgs::String::ConstPtr& flag); + void cmd_CB(const geometry_msgs::Twist::ConstPtr& cmd_vel); + + + // initialize the action-server + RoomExplorationServer(ros::NodeHandle nh, std::string name_of_the_action); + + // default destructor for the class + ~RoomExplorationServer(void) + { + } +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/amcl.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/amcl.launch new file mode 100644 index 0000000..972efe1 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/amcl.launch @@ -0,0 +1,46 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/clean_work.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/clean_work.launch new file mode 100644 index 0000000..e3af067 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/clean_work.launch @@ -0,0 +1,28 @@ + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis.launch new file mode 100644 index 0000000..c8eb094 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis.launch @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis_params.yaml new file mode 100644 index 0000000..cb9501e --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/cob_map_accessibility_analysis_params.yaml @@ -0,0 +1,19 @@ +# if true, the path to a goal position must be accessible as well +# bool +approach_path_accessibility_check: true + +# link name of the map in tf +# string +map_link_name: "/map" + +# link name of the robot base in tf +# string +robot_base_link_name: "/base_footprint" + +# update rate for incoming messages about obstacles (provided in [Hz]) +# double +obstacle_topic_update_rate: 5.0 + +# publish the inflated map for viewing purposes +# bool +publish_inflated_map: false diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_check_server.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_check_server.launch new file mode 100644 index 0000000..ebf28a8 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_check_server.launch @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server.launch new file mode 100644 index 0000000..cb9efb4 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server.launch @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server_params.yaml new file mode 100644 index 0000000..0a58600 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/coverage_monitor_server_params.yaml @@ -0,0 +1,19 @@ +# name of the map coordinate system +# string +map_frame: "map" + +# name of the robot base frame +# string +robot_frame: "base_link" + +# radius of the circular coverage device, in [m] +# double +coverage_radius: 0.25 + +# the offset of the coverage circle from the robot center, [x,y,z] in [m] +# double[3] +coverage_circle_offset_transform: [0.29035, -0.114, 0.] + +# the robot trajectory is only recorded if this is true, usually it should be false on startup (can also be set from dynamic reconfigure) +# bool +robot_trajectory_recording_active: false \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/gazebo.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/gazebo.launch new file mode 100644 index 0000000..b007551 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/gazebo.launch @@ -0,0 +1,20 @@ + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server.launch new file mode 100644 index 0000000..10b3b51 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server.launch @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server_params.yaml new file mode 100644 index 0000000..a78b786 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/room_exploration_action_server_params.yaml @@ -0,0 +1,167 @@ +# this variable selects the algorithm for room exploration +# 1 = grid point explorator +# 2 = boustrophedon explorator +# 3 = neural network explorator +# 4 = convexSPP explorator +# 5 = flowNetwork explorator +# 6 = energyFunctional explorator +# 7 = voronoi explorator +# 8 = boustrophedon variant explorator +# int +room_exploration_algorithm: 8 + +# display final trajectory plan step by step +# bool +display_trajectory: false #false + + +# map correction +# ============== +# Applies a closing operation to neglect inaccessible areas and map errors/artifacts if the map_correction_closing_neighborhood_size parameter is larger than 0. +# The parameter then specifies the iterations (or neighborhood size) of that closing operation. +# int +map_correction_closing_neighborhood_size: 2 + + +# parameters specific to the navigation of the robot along the computed coverage trajectory +# ========================================================================================= +# boolean used to determine if the server should return the computed coverage path in the response message +# bool +return_path: true + +# boolean used to determine whether the server should navigate the robot along the computed coverage path +# bool +# execute_path: false +execute_path: true + +# min distance between the robot and the published navigation goal before the next goal in the path gets published +# hack for slow turtle sim (publish new goals already when close to goal, then takes some time to command new goal) +# can be turned off (0) when used with real robot +# double +# [pixel], where one pixel is the size of one cell in the navigation grid map +goal_eps: 0.0 #0.35 + +# use a dynamic goal distance criterion: the larger the path's curvature, the more accurate the navigation. +# Use 'goal_eps' param as maximum distance on straight paths and zero distance (accurate goal approaching) on 90° curves. +# bool +use_dyn_goal_eps: true #false + +# variable that interrupts the publishing of navigation goals as long as needed, e.g. when during the execution of the coverage path +# a trash bin is found and one wants to empty it directly and resume the path later. +# bool +interrupt_navigation_publishing: false + +# this variable turns the functionality on/off to revisit areas that haven't been seen during the execution of the coverage path, +# due to uncertainties or dynamic obstacles +# bool +revisit_areas: false + +# minimal area of not seen sections that they are revisited after the first run through the room +# double +# [m^2] +left_sections_min_area: 0.01 + +# name of the global costmap topic +# string +global_costmap_topic: "/move_base/global_costmap/costmap" + +# name of the service to call for a coverage check of the driven trajectory +# string +coverage_check_service_name: "/room_exploration/coverage_check_server/coverage_check" + +# string that carries the name of the map frame, used for tracking of the robot +# string +map_frame: "map" + +# string that carries the name of the camera frame, that is in the same kinematic chain as the map_frame and shows the camera pose +# string +camera_frame: "base_link" + + +# parameters specific to the grid point explorator +# ================================================= +# indicates which TSP solver should be used +# 1 = Nearest Neighbor (often 10-15% longer paths than Concorde but computes by orders faster and considering traveling time (path length and rotations) it is often the fastest of all) +# 2 = Genetic solver (slightly shorter than Nearest Neighbor) +# 3 = Concorde solver (usually gives the shortest path while computing the longest) +# int +tsp_solver: 1 + +# a sophisticated solver like Concorde or Genetic can be interrupted if it does not find a solution within this time, in [s], +# and then falls back to the nearest neighbor solver +# int [s] +tsp_solver_timeout: 600 + + +# parameters specific for the boustrophedon explorator +# ==================================================== +# min area a boustrophedon cell (i.e. a boustrophedon region of the map) must have to be determined for the path generation +# [pixel^2] +# double +min_cell_area: 200.0 #10.0 + +# distance between two points when generating the (line) path +# [pixel], where one pixel is the size of one cell in the navigation grid map +# double +path_eps: 6.0 + +# the additional offset of the grid to obstacles, i.e. allows to displace the grid by more than the standard half_grid_size from obstacles +# [m] +# double +grid_obstacle_offset: 0.251 #0.101 #0.251 + +# maximal allowed shift off the ideal boustrophedon track to both sides for avoiding obstacles on track +# setting max_deviation_from_track=grid_spacing is usually a good choice +# for negative values (e.g. max_deviation_from_track: -1) max_deviation_from_track is automatically set to grid_spacing +# [pixel] +max_deviation_from_track: -1 #0 + +# cell visiting order +# 1 = the optimal visiting order of the cells is determined as TSP problem +# 2 = alternative ordering from left to right (measured on y-coordinates of the cells), visits the cells in a more obvious fashion to the human observer (though it is not optimal) +# int +cell_visiting_order: 2 + +# parameters specific for the neural network explorator, see "A Neural Network Approach to Complete Coverage Path Planning" from Simon X. Yang and Chaomin Luo +# ===================================================== +# step size for integrating the state dynamics +step_size: 0.008 +# decaying parameter that pulls the activity of a neuron closer to zero, larger value means faster decreasing +A: 17 +# increasing parameter that tries to increase the activity of a neuron when it's not too big already, higher value means a higher desired value and a faster increasing at the beginning +B: 5 +# decreasing parameter when the neuron is labeled as obstacle, higher value means faster decreasing +D: 7 +# external input parameter of one neuron that is used in the dynamics corresponding to if it is an obstacle or uncleaned/cleaned, E>>B +E: 80 +# parameter to set the importance of the states of neighboring neurons to the dynamics, higher value means higher influence +mu: 1.03 +# parameter to set the importance of the traveling direction from the previous step and the next step, a higher value means that the robot should turn less +delta_theta_weight: 0.15 + +# parameters specific for the convexSPP explorator +# ================================================ +# size of one cell when discretizing the free space, smaller value means a more detailed discretization +# in [pixel], where one pixel is the size of one cell in the navigation grid map +# (if set to 0 or smaller, the cell size is automatically determined with the largest possible value) +# (this parameter is only relevant to the algorithms #4 = convexSPP explorator, #5 = flowNetwork explorator, +# the other methods utilize the computed optimal maximum grid size) +# int +cell_size: 0 #4 #7 + +# angular sampling step when creating possible sensing poses, in [rad] +# double +delta_theta: 0.78539816339 #1.570796 + +# parameters specific for the flowNetwork explorator +# ================================================== +# factor, an arc can be longer than a straight arc, higher values allow more arcs to be considered in the optimization problem +# Important: if too small, maybe the problem becomes infeasible and the optimizer won't work correctly +curvature_factor: 1.1 + +# factor, an arc can be longer than the maximal distance of the room, which is determined by the min/max coordinates that are set in the goal +max_distance_factor: 1.0 + +# cell_size: see # parameters specific for the convexSPP explorator + +# path_eps: see # parameters specific for the boustrophedon explorator diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/talkerUltraSound.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/talkerUltraSound.launch new file mode 100644 index 0000000..25798fd --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/talkerUltraSound.launch @@ -0,0 +1,6 @@ + + + + + \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/turtlebot3_navigation.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/turtlebot3_navigation.launch new file mode 100644 index 0000000..eab8352 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/launch/turtlebot3_navigation.launch @@ -0,0 +1,27 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.pgm b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.pgm new file mode 100644 index 0000000..cfb5c7d --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.pgm @@ -0,0 +1,5 @@ +P5 +# CREATOR: map_saver.cpp 0.050 m/pix +1984 1984 +255 + \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.yaml new file mode 100644 index 0000000..c4fd1ab --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/maps/sim.yaml @@ -0,0 +1,7 @@ +image: sim.pgm +resolution: 0.050000 +origin: [-50.000000, -50.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_karto.rviz b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_karto.rviz new file mode 100644 index 0000000..019ee20 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_karto.rviz @@ -0,0 +1,295 @@ +Panels: + - Class: rviz/Displays + Help Height: 78 + Name: Displays + Property Tree Widget: + Expanded: + - /TF1/Frames1 + - /Path2 + - /Map2 + - /Map3 + Splitter Ratio: 0.594406009 + Tree Height: 776 + - Class: rviz/Selection + Name: Selection + - Class: rviz/Tool Properties + Expanded: + - /2D Pose Estimate1 + - /2D Nav Goal1 + - /Publish Point1 + Name: Tool Properties + Splitter Ratio: 0.588679016 + - Class: rviz/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz/Time + Experimental: false + Name: Time + SyncMode: 0 + SyncSource: LaserScan +Toolbars: + toolButtonStyle: 2 +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.0299999993 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 100 + Reference Frame: map + Value: true + - Alpha: 1 + Class: rviz/RobotModel + Collision Enabled: false + Enabled: true + Links: + All Links Enabled: true + Expand Joint Details: false + Expand Link Details: false + Expand Tree: false + Link Tree Style: Links in Alphabetic Order + base_footprint: + Alpha: 1 + Show Axes: false + Show Trail: false + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + base_scan: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + caster_back_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + imu_link: + Alpha: 1 + Show Axes: false + Show Trail: false + wheel_left_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + wheel_right_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Name: RobotModel + Robot Description: robot_description + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Class: rviz/TF + Enabled: false + Frame Timeout: 15 + Frames: + All Enabled: true + Marker Scale: 1 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: true + Tree: + {} + Update Interval: 0 + Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz/LaserScan + Color: 0; 255; 0 + Color Transformer: FlatColor + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 11799 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: LaserScan + Position Transformer: XYZ + Queue Size: 10 + Selectable: true + Size (Pixels): 3 + Size (m): 0.0300000012 + Style: Flat Squares + Topic: /scan + Unreliable: false + Use Fixed Frame: true + Use rainbow: true + Value: true + - Class: rviz/Image + Enabled: false + Image Topic: /raspicam_node/image + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: Image + Normalize Range: true + Queue Size: 2 + Transport Hint: compressed + Unreliable: false + Value: false + - Alpha: 0.699999988 + Class: rviz/Map + Color Scheme: map + Draw Behind: false + Enabled: true + Name: Map + Topic: /map + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 25; 255; 0 + Enabled: true + Head Diameter: 0.300000012 + Head Length: 0.200000003 + Length: 0.300000012 + Line Style: Billboards + Line Width: 0.0299999993 + Name: Path + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Radius: 0.0299999993 + Shaft Diameter: 0.100000001 + Shaft Length: 0.100000001 + Topic: /move_base/NavfnROS/plan + Unreliable: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 85; 0; 255 + Enabled: true + Head Diameter: 0.300000012 + Head Length: 0.200000003 + Length: 0.300000012 + Line Style: Billboards + Line Width: 0.0299999993 + Name: Path + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Radius: 0.0299999993 + Shaft Diameter: 0.100000001 + Shaft Length: 0.100000001 + Topic: /move_base/DWAPlannerROS/local_plan + Unreliable: false + Value: true + - Alpha: 0.699999988 + Class: rviz/Map + Color Scheme: costmap + Draw Behind: false + Enabled: false + Name: Map + Topic: /move_base/global_costmap/costmap + Unreliable: false + Use Timestamp: false + Value: false + - Alpha: 0.699999988 + Class: rviz/Map + Color Scheme: costmap + Draw Behind: false + Enabled: false + Name: Map + Topic: /move_base/local_costmap/costmap + Unreliable: false + Use Timestamp: false + Value: false + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Default Light: true + Fixed Frame: map + Frame Rate: 30 + Name: root + Tools: + - Class: rviz/Interact + Hide Inactive Objects: true + - Class: rviz/MoveCamera + - Class: rviz/Select + - Class: rviz/FocusCamera + - Class: rviz/Measure + - Class: rviz/SetInitialPose + Topic: /initialpose + - Class: rviz/SetGoal + Topic: /move_base_simple/goal + - Class: rviz/PublishPoint + Single click: true + Topic: /clicked_point + Value: true + Views: + Current: + Angle: -1.57079637 + Class: rviz/TopDownOrtho + Enable Stereo Rendering: + Stereo Eye Separation: 0.0599999987 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.00999999978 + Scale: 136.475739 + Target Frame: map + Value: TopDownOrtho (rviz) + X: -0.542091846 + Y: 0.0558035932 + Saved: ~ +Window Geometry: + Displays: + collapsed: false + Height: 1056 + Hide Left Dock: false + Hide Right Dock: true + Image: + collapsed: false + QMainWindow State: 000000ff00000000fd00000004000000000000016a00000396fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006100fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000002800000396000000d600fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261fb0000000a0049006d006100670065000000020f000001900000001600ffffff000000010000010f0000035cfc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a0056006900650077007300000000430000035c000000ac00fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000073f0000003efc0100000002fb0000000800540069006d006501000000000000073f0000030000fffffffb0000000800540069006d00650100000000000004500000000000000000000005cf0000039600000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: true + Width: 1855 + X: 65 + Y: 24 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_navigation.rviz b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_navigation.rviz new file mode 100644 index 0000000..ea1fbca --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/rviz/turtlebot3_navigation.rviz @@ -0,0 +1,571 @@ +Panels: + - Class: rviz/Displays + Help Height: 78 + Name: Displays + Property Tree Widget: + Expanded: + - /TF1/Frames1 + - /TF1/Tree1 + - /Global Map1/Costmap1 + - /Local Map1/Polygon1 + - /Local Map1/Costmap1 + - /Local Map1/Planner1 + - /Amcl Particles1 + - /Range1 + - /Imu1 + Splitter Ratio: 0.5 + Tree Height: 634 + - Class: rviz/Selection + Name: Selection + - Class: rviz/Tool Properties + Expanded: + - /2D Pose Estimate1 + - /2D Nav Goal1 + Name: Tool Properties + Splitter Ratio: 0.5886790156364441 + - Class: rviz/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz/Time + Name: Time + SyncMode: 0 + SyncSource: "" +Preferences: + PromptSaveOnExit: true +Toolbars: + toolButtonStyle: 2 +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.029999999329447746 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 20 + Reference Frame: + Value: true + - Alpha: 1 + Class: rviz/RobotModel + Collision Enabled: false + Enabled: true + Links: + All Links Enabled: true + Expand Joint Details: false + Expand Link Details: false + Expand Tree: false + Link Tree Style: Links in Alphabetic Order + base_footprint: + Alpha: 1 + Show Axes: false + Show Trail: false + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + base_scan: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera_depth_frame: + Alpha: 1 + Show Axes: false + Show Trail: false + camera_depth_optical_frame: + Alpha: 1 + Show Axes: false + Show Trail: false + camera_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + camera_rgb_frame: + Alpha: 1 + Show Axes: false + Show Trail: false + camera_rgb_optical_frame: + Alpha: 1 + Show Axes: false + Show Trail: false + caster_back_left_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + caster_back_right_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + imu_link: + Alpha: 1 + Show Axes: false + Show Trail: false + wheel_left_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + wheel_right_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Name: RobotModel + Robot Description: robot_description + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Class: rviz/TF + Enabled: false + Filter (blacklist): "" + Filter (whitelist): "" + Frame Timeout: 15 + Frames: + All Enabled: false + Marker Alpha: 1 + Marker Scale: 1 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: false + Tree: + {} + Update Interval: 0 + Value: false + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz/LaserScan + Color: 89; 28; 0 + Color Transformer: FlatColor + Decay Time: 0 + Enabled: false + Invert Rainbow: false + Max Color: 255; 255; 255 + Min Color: 0; 0; 0 + Name: LaserScan + Position Transformer: XYZ + Queue Size: 10 + Selectable: true + Size (Pixels): 3 + Size (m): 0.030000001192092896 + Style: Flat Squares + Topic: /scan + Unreliable: false + Use Fixed Frame: true + Use rainbow: true + Value: false + - Class: rviz/Image + Enabled: false + Image Topic: /raspicam_node/image + Max Value: 1 + Median window: 5 + Min Value: 0 + Name: Image + Normalize Range: true + Queue Size: 2 + Transport Hint: compressed + Unreliable: false + Value: false + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: map + Draw Behind: false + Enabled: true + Name: Map + Topic: /map + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 0; 0; 0 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Lines + Line Width: 0.029999999329447746 + Name: Planner Plan + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /move_base/GlobalPlanner/plan + Unreliable: false + Value: true + - Class: rviz/Group + Displays: + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: costmap + Draw Behind: true + Enabled: true + Name: Costmap + Topic: /move_base/global_costmap/costmap + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 255; 0; 0 + Enabled: false + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Lines + Line Width: 0.029999999329447746 + Name: Planner + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /move_base/NavfnROS/plan + Unreliable: false + Value: false + Enabled: true + Name: Global Map + - Class: rviz/Group + Displays: + - Alpha: 1 + Class: rviz/Polygon + Color: 0; 0; 0 + Enabled: true + Name: Polygon + Queue Size: 10 + Topic: /move_base/local_costmap/footprint + Unreliable: false + Value: true + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: costmap + Draw Behind: false + Enabled: true + Name: Costmap + Topic: /move_base/local_costmap/costmap + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 255; 255; 0 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Lines + Line Width: 0.029999999329447746 + Name: Planner + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /move_base/DWAPlannerROS/local_plan + Unreliable: false + Value: true + Enabled: false + Name: Local Map + - Alpha: 1 + Arrow Length: 0.05000000074505806 + Axes Length: 0.30000001192092896 + Axes Radius: 0.009999999776482582 + Class: rviz/PoseArray + Color: 0; 192; 0 + Enabled: false + Head Length: 0.07000000029802322 + Head Radius: 0.029999999329447746 + Name: Amcl Particles + Queue Size: 10 + Shaft Length: 0.23000000417232513 + Shaft Radius: 0.009999999776482582 + Shape: Arrow (Flat) + Topic: /particlecloud + Unreliable: false + Value: false + - Alpha: 1 + Axes Length: 1 + Axes Radius: 0.10000000149011612 + Class: rviz/Pose + Color: 255; 25; 0 + Enabled: true + Head Length: 0.05000000074505806 + Head Radius: 0.10000000149011612 + Name: Goal + Queue Size: 10 + Shaft Length: 0.05000000074505806 + Shaft Radius: 0.05000000074505806 + Shape: Arrow + Topic: /move_base_simple/goal + Unreliable: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 25; 255; 0 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Billboards + Line Width: 0.029999999329447746 + Name: Path + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /room_exploration/room_exploration_server/coverage_path + Unreliable: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 170; 0; 0 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Billboards + Line Width: 0.3499999940395355 + Name: Path + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /move_base/DWAPlannerROS/local_plan + Unreliable: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 255; 255; 127 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Lines + Line Width: 0.029999999329447746 + Name: Path + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Queue Size: 10 + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /move_base/DWAPlannerROS/global_plan + Unreliable: false + Value: true + - Class: rviz/Camera + Enabled: false + Image Rendering: background and overlay + Image Topic: /camera/rgb/image_raw + Name: Camera + Overlay Alpha: 0.5 + Queue Size: 2 + Transport Hint: raw + Unreliable: false + Value: false + Visibility: + "": true + Amcl Particles: true + Camera: true + Global Map: + Costmap: true + Planner: true + Value: true + Goal: true + Grid: true + Image: true + LaserScan: true + Local Map: + "": true + Value: true + Map: true + Path: true + Planner Plan: true + Range: true + RobotModel: true + TF: true + Value: true + Zoom Factor: 1 + - Class: rviz/Camera + Enabled: false + Image Rendering: background and overlay + Image Topic: /camera/depth/image_raw + Name: Camera + Overlay Alpha: 0.5 + Queue Size: 2 + Transport Hint: raw + Unreliable: false + Value: false + Visibility: + "": true + Amcl Particles: true + Camera: true + Global Map: + Costmap: true + Planner: true + Value: true + Goal: true + Grid: true + Image: true + LaserScan: true + Local Map: + "": true + Value: true + Map: true + Path: true + Planner Plan: true + Range: true + RobotModel: true + TF: true + Value: true + Zoom Factor: 1 + - Alpha: 0.5 + Buffer Length: 1 + Class: rviz/Range + Color: 255; 255; 255 + Enabled: true + Name: Range + Queue Size: 10 + Topic: "" + Unreliable: false + Value: true + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: map + Draw Behind: false + Enabled: true + Name: Map + Topic: /move_base/local_costmap/costmap + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 1 + Class: rviz_plugin_tutorials/Imu + Color: 20; 51; 204 + Enabled: true + History Length: 1 + Name: Imu + Queue Size: 10 + Topic: /imu + Unreliable: false + Value: true + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Default Light: true + Fixed Frame: map + Frame Rate: 30 + Name: root + Tools: + - Class: rviz/MoveCamera + - Class: rviz/Interact + Hide Inactive Objects: true + - Class: rviz/Select + - Class: rviz/SetInitialPose + Theta std deviation: 0.2617993950843811 + Topic: /initialpose + X std deviation: 0.5 + Y std deviation: 0.5 + - Class: rviz/SetGoal + Topic: /move_base_simple/goal + - Class: rviz/Measure + Value: true + Views: + Current: + Angle: -0.9057965874671936 + Class: rviz/TopDownOrtho + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Scale: 33.79556655883789 + Target Frame: + X: 10.210562705993652 + Y: 1.2031383514404297 + Saved: ~ +Window Geometry: + Camera: + collapsed: false + Displays: + collapsed: false + Height: 863 + Hide Left Dock: false + Hide Right Dock: true + Image: + collapsed: false + QMainWindow State: 000000ff00000000fd00000004000000000000016a00000305fc0200000009fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000005c00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c006100790073010000003d00000305000000c900fffffffb0000000a0049006d0061006700650000000317000000cc0000001600fffffffb0000000a0049006d0061006700650000000330000000ce0000000000000000fb0000000c00430061006d00650072006100000001ea000000610000001600fffffffb0000000c00430061006d006500720061000000022c000001160000001600ffffff000000010000010f000003a0fc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000043000003a0000000a400fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004a00000003efc0100000002fb0000000800540069006d00650000000000000004a00000041800fffffffb0000000800540069006d00650100000000000004500000000000000000000002040000030500000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: true + Width: 884 + X: 72 + Y: 27 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server.cpp new file mode 100644 index 0000000..7c5d1f8 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server.cpp @@ -0,0 +1,216 @@ +#include + +// The default constructors +CoverageCheckServer::CoverageCheckServer() +{ +} + +CoverageCheckServer::CoverageCheckServer(ros::NodeHandle nh) +:node_handle_(nh) +{ + coverage_check_server_ = node_handle_.advertiseService("coverage_check", &CoverageCheckServer::checkCoverage, this); + ROS_INFO("Server for coverage checking initialized....."); +} + +// Callback function for the server. +bool CoverageCheckServer::checkCoverage(ipa_building_msgs::CheckCoverageRequest& request, ipa_building_msgs::CheckCoverageResponse& response) +{ + // convert the map msg to cv format + cv_bridge::CvImagePtr cv_ptr_obj; + std::cout << "request.input_map.encoding:" << request.input_map.encoding << std::endl; + cv_ptr_obj = cv_bridge::toCvCopy(request.input_map, sensor_msgs::image_encodings::MONO8); + cv::Mat map = cv_ptr_obj->image; + + // convert field of view to Eigen format + std::vector > field_of_view; + for(size_t i = 0; i < request.field_of_view.size(); ++i) + { + Eigen::Matrix current_vector; + current_vector << request.field_of_view[i].x, request.field_of_view[i].y; + field_of_view.push_back(current_vector); + } + + // convert field of view origin to Eigen format + Eigen::Matrix fov_origin; + fov_origin << request.field_of_view_origin.x, request.field_of_view_origin.y; + + // convert path to cv format + std::vector path; + for (size_t i=0; i& path, + const std::vector >& field_of_view, const Eigen::Matrix& fov_origin, const float coverage_radius, + const bool check_for_footprint, const bool check_number_of_coverages, cv::Mat& coverage_map, cv::Mat& number_of_coverage_image) +{ + // create a map that stores the number of coverages during the execution, if wanted + cv::Mat* image_pointer = NULL; + if(check_number_of_coverages==true) + { + number_of_coverage_image = cv::Mat::zeros(map.rows, map.cols, CV_32SC1); + image_pointer = &number_of_coverage_image; + ROS_INFO("Checking number of coverages."); + } + + // check if the coverage check should be done for the footprint or the field of view + coverage_map = map.clone(); + if(check_for_footprint==false) + { + ROS_INFO("Checking coverage for FOV."); + drawCoveredPointsPolygon(coverage_map, path, field_of_view, fov_origin, map_resolution, map_origin, image_pointer); + } + else + { + ROS_INFO("Checking coverage for footprint."); + drawCoveredPointsCircle(coverage_map, path, coverage_radius, map_resolution, map_origin, image_pointer); + } + ROS_INFO("Finished coverage check."); + + return true; +} + + +void CoverageCheckServer::drawCoveredPointsPolygon(cv::Mat& reachable_areas_map, const std::vector& robot_poses, + const std::vector >& field_of_view, const Eigen::Matrix& fov_origin, + const float map_resolution, const cv::Point2d map_origin, cv::Mat* number_of_coverages_image) +{ + const float map_resolution_inverse = 1./map_resolution; + + // go trough each given robot pose + for(std::vector::const_iterator current_pose = robot_poses.begin(); current_pose != robot_poses.end(); ++current_pose) + { + // get the rotation matrix + float sin_theta = std::sin(current_pose->z); + float cos_theta = std::cos(current_pose->z); + Eigen::Matrix R; + R << cos_theta, -sin_theta, sin_theta, cos_theta; + + // current pose as Eigen matrix + Eigen::Matrix pose_as_matrix; + pose_as_matrix << current_pose->x, current_pose->y; + + // transform field of view points + std::vector transformed_fov_points; + for(size_t point = 0; point < field_of_view.size(); ++point) + { + // linear transformation + const Eigen::Matrix transformed_fov_point = pose_as_matrix + R * field_of_view[point]; + + // save the transformed point as cv::Point, also check if map borders are satisfied and transform it into pixel values + transformed_fov_points.push_back(clampImageCoordinates(cv::Point((transformed_fov_point(0, 0)-map_origin.x)*map_resolution_inverse, (transformed_fov_point(1, 0)-map_origin.y)*map_resolution_inverse), reachable_areas_map.rows, reachable_areas_map.cols)); + } + + // transform field of view origin + const Eigen::Matrix transformed_fov_origin = pose_as_matrix + R * fov_origin; + const cv::Point transformed_fov_origin_point = clampImageCoordinates(cv::Point((transformed_fov_origin(0, 0)-map_origin.x)*map_resolution_inverse, (transformed_fov_origin(1, 0)-map_origin.y)*map_resolution_inverse), reachable_areas_map.rows, reachable_areas_map.cols); + + // draw current field of view in map + cv::Mat fov_mat = cv::Mat::zeros(reachable_areas_map.rows, reachable_areas_map.cols, reachable_areas_map.type()); + std::vector > contours(1, transformed_fov_points); +#if CV_MAJOR_VERSION<=3 + cv::drawContours(fov_mat, contours, 0, cv::Scalar(255), CV_FILLED); +#else + cv::drawContours(fov_mat, contours, 0, cv::Scalar(255), cv::FILLED); +#endif + + // check visibility for each pixel of the fov area + for (int v=0; v(v,u)==0) + continue; + + // create a line iterator from fov_origin to current fov point and verify visibility + bool point_visible = true; + const cv::Point current_goal(u,v); + cv::LineIterator ray_points(reachable_areas_map, transformed_fov_origin_point, current_goal, 8, false); + for(size_t point = 0; point < ray_points.count; ++point, ++ray_points) + { + if (reachable_areas_map.at(ray_points.pos()) == 0) + { + point_visible = false; + break; + } + } + + // mark visible point in map + if (point_visible == true) + { + reachable_areas_map.at(current_goal) = 127; + + // if wanted, count the coverage + if(number_of_coverages_image!=NULL) + { + number_of_coverages_image->at(current_goal) = number_of_coverages_image->at(current_goal)+1; + } + } + } + } + } +} + + +void CoverageCheckServer::drawCoveredPointsCircle(cv::Mat& reachable_areas_map, const std::vector& robot_poses, + const double coverage_radius, const float map_resolution, + const cv::Point2d map_origin, cv::Mat* number_of_coverages_image) +{ + const float map_resolution_inverse = 1./map_resolution; + + cv::Mat map_copy = reachable_areas_map.clone(); // copy to draw positions that get later drawn into free space of the original map + const int coverage_radius_pixel = coverage_radius*map_resolution_inverse; + // iterate trough all poses and draw them into the given map + for(std::vector::const_iterator pose=robot_poses.begin(); pose!=robot_poses.end(); ++pose) + { + // draw the transformed robot footprint + cv::Point current_point((pose->x-map_origin.x)*map_resolution_inverse, (pose->y-map_origin.y)*map_resolution_inverse); + cv::circle(map_copy, current_point, coverage_radius_pixel, cv::Scalar(127), -1); + + // update the number of visits at this location, if wanted + if(number_of_coverages_image!=NULL) + { + cv::Mat coverage_area = cv::Mat::zeros(map_copy.rows, map_copy.cols, CV_32SC1); + cv::circle(coverage_area, current_point, coverage_radius_pixel, cv::Scalar(1), -1); + *number_of_coverages_image = *number_of_coverages_image + coverage_area; + } + } + + // draw visited areas into free space of the original map + for(size_t y=0; y(y, x) == 255) + reachable_areas_map.at(y, x) = map_copy.at(y, x); +} + + +inline cv::Point CoverageCheckServer::clampImageCoordinates(const cv::Point& p, const int rows, const int cols) +{ + cv::Point c; + c.x = std::min(std::max(p.x, 0), cols-1); + c.y = std::min(std::max(p.y, 0), rows-1); + return c; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server_main.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server_main.cpp new file mode 100644 index 0000000..9bcc32e --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_check_server_main.cpp @@ -0,0 +1,13 @@ +#include + + +int main(int argc, char **argv) +{ + ros::init(argc, argv, "coverage_check_server"); + ros::NodeHandle nh("~"); + + CoverageCheckServer coverage_checker(nh); + + ros::spin(); + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_monitor_server.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_monitor_server.cpp new file mode 100644 index 0000000..b658e0d --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/coverage_monitor_server.cpp @@ -0,0 +1,462 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: + * + * \date Date of creation: 01.2018 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +#include + +#include + +#include + + +class CoverageMonitor +{ +public: + CoverageMonitor(ros::NodeHandle nh) : + node_handle_(nh) + { + // dynamic reconfigure + coverage_monitor_dynamic_reconfigure_server_.setCallback(boost::bind(&CoverageMonitor::dynamicReconfigureCallback, this, _1, _2)); + + // Parameters + std::cout << "\n--------------------------\nCoverage Monitor Parameters:\n--------------------------\n"; + node_handle_.param("map_frame", map_frame_, "map"); + std::cout << "coverage_monitor/map_frame = " << map_frame_ << std::endl; + node_handle_.param("robot_frame", robot_frame_, "base_link"); + std::cout << "coverage_monitor/robot_frame = " << robot_frame_ << std::endl; + node_handle_.param("coverage_radius", coverage_radius_, 0.25); + std::cout << "coverage_monitor/coverage_radius = " << coverage_radius_ << std::endl; + coverage_circle_offset_transform_.setIdentity(); + std::vector temp; + node_handle_.getParam("coverage_circle_offset_translation", temp); + if (temp.size() == 3) + coverage_circle_offset_transform_.setOrigin(tf::Vector3(temp[0], temp[1], temp[2])); + else + coverage_circle_offset_transform_.setOrigin(tf::Vector3(0.29035, -0.114, 0.)); + node_handle_.param("robot_trajectory_recording_active", robot_trajectory_recording_active_, false); + std::cout << "coverage_monitor/robot_trajectory_recording_active = " << robot_trajectory_recording_active_ << std::endl; + + // setup publishers and subscribers + coverage_marker_pub_ = node_handle_.advertise("coverage_marker", 1); + computed_trajectory_marker_pub_ = node_handle_.advertise("computed_trajectory_marker", 1); + commanded_trajectory_marker_pub_ = node_handle_.advertise("commanded_trajectory_marker", 1); + + computed_trajectory_sub_ = node_handle_.subscribe("computed_target_trajectory_monitor", 500, &CoverageMonitor::computedTrajectoryCallback, this); + commanded_trajectory_sub_ = node_handle_.subscribe("commanded_target_trajectory_monitor", 500, &CoverageMonitor::commandedTrajectoryCallback, this); + + // setup services + start_coverage_monitoring_srv_ = node_handle_.advertiseService("start_coverage_monitoring", &CoverageMonitor::startCoverageMonitoringCallback, this); + stop_coverage_monitoring_srv_ = node_handle_.advertiseService("stop_coverage_monitoring", &CoverageMonitor::stopCoverageMonitoringCallback, this); + get_coverage_image_srv_ = node_handle_.advertiseService("get_coverage_image", &CoverageMonitor::getCoverageImageCallback, this); + + // prepare coverage_marker_msg message + visualization_msgs::Marker coverage_marker_msg; + // Set the frame ID and timestamp. See the TF tutorials for information on these. + coverage_marker_msg.header.frame_id = "/map"; + coverage_marker_msg.header.stamp = ros::Time::now(); + // Set the namespace and id for this marker. This serves to create a unique ID + // Any marker sent with the same namespace and id will overwrite the old one + coverage_marker_msg.ns = "coverage_marker"; + coverage_marker_msg.id = 0; + // Set the marker type. Initially this is CUBE, and cycles between that and SPHERE, ARROW, and CYLINDER + coverage_marker_msg.type = visualization_msgs::Marker::LINE_STRIP; + // Set the marker action. Options are ADD, DELETE, and new in ROS Indigo: 3 (DELETEALL) + coverage_marker_msg.action = visualization_msgs::Marker::ADD; + // Set the pose of the marker. This is a full 6DOF pose relative to the frame/time specified in the header + coverage_marker_msg.pose.position.x = 0; + coverage_marker_msg.pose.position.y = 0; + coverage_marker_msg.pose.position.z = 0; + coverage_marker_msg.pose.orientation.x = 0.0; + coverage_marker_msg.pose.orientation.y = 0.0; + coverage_marker_msg.pose.orientation.z = 0.0; + coverage_marker_msg.pose.orientation.w = 1.0; + // Set the scale of the marker -- 1x1x1 here means 1m on a side + coverage_marker_msg.scale.x = 2*coverage_radius_; // this is the line width + coverage_marker_msg.scale.y = 1.0; + coverage_marker_msg.scale.z = 1.0; + // Set the color -- be sure to set alpha to something non-zero! + coverage_marker_msg.color.r = 0.0f; + coverage_marker_msg.color.g = 1.0f; + coverage_marker_msg.color.b = 0.0f; + coverage_marker_msg.color.a = 0.33; + coverage_marker_msg.lifetime = ros::Duration(); + geometry_msgs::Point p; p.x=0; p.y=0; p.z=0; + coverage_marker_msg.points.push_back(p); + + // prepare computed_trajectory_marker_msg message + visualization_msgs::Marker computed_trajectory_marker_msg; + // Set the frame ID and timestamp. See the TF tutorials for information on these. + computed_trajectory_marker_msg.header.frame_id = "/map"; + computed_trajectory_marker_msg.header.stamp = ros::Time::now(); + // Set the namespace and id for this marker. This serves to create a unique ID + // Any marker sent with the same namespace and id will overwrite the old one + computed_trajectory_marker_msg.ns = "computed_trajectory_marker"; + computed_trajectory_marker_msg.id = 0; + // Set the marker type. Initially this is CUBE, and cycles between that and SPHERE, ARROW, and CYLINDER + computed_trajectory_marker_msg.type = visualization_msgs::Marker::LINE_STRIP; + // Set the marker action. Options are ADD, DELETE, and new in ROS Indigo: 3 (DELETEALL) + computed_trajectory_marker_msg.action = visualization_msgs::Marker::ADD; + // Set the pose of the marker. This is a full 6DOF pose relative to the frame/time specified in the header + computed_trajectory_marker_msg.pose.position.x = 0; + computed_trajectory_marker_msg.pose.position.y = 0; + computed_trajectory_marker_msg.pose.position.z = 0.2; + computed_trajectory_marker_msg.pose.orientation.x = 0.0; + computed_trajectory_marker_msg.pose.orientation.y = 0.0; + computed_trajectory_marker_msg.pose.orientation.z = 0.0; + computed_trajectory_marker_msg.pose.orientation.w = 1.0; + // Set the scale of the marker -- 1x1x1 here means 1m on a side + computed_trajectory_marker_msg.scale.x = 0.06; // this is the line width + computed_trajectory_marker_msg.scale.y = 1.0; + computed_trajectory_marker_msg.scale.z = 1.0; + // Set the color -- be sure to set alpha to something non-zero! + computed_trajectory_marker_msg.color.r = 1.0f; + computed_trajectory_marker_msg.color.g = 0.0f; + computed_trajectory_marker_msg.color.b = 0.0f; + computed_trajectory_marker_msg.color.a = 0.8; + computed_trajectory_marker_msg.lifetime = ros::Duration(); + computed_trajectory_marker_msg.points.push_back(p); + + // prepare commanded_trajectory_marker_msg message + visualization_msgs::Marker commanded_trajectory_marker_msg; + // Set the frame ID and timestamp. See the TF tutorials for information on these. + commanded_trajectory_marker_msg.header.frame_id = "/map"; + commanded_trajectory_marker_msg.header.stamp = ros::Time::now(); + // Set the namespace and id for this marker. This serves to create a unique ID + // Any marker sent with the same namespace and id will overwrite the old one + commanded_trajectory_marker_msg.ns = "commanded_trajectory_marker"; + commanded_trajectory_marker_msg.id = 0; + // Set the marker type. Initially this is CUBE, and cycles between that and SPHERE, ARROW, and CYLINDER + commanded_trajectory_marker_msg.type = visualization_msgs::Marker::LINE_STRIP; + // Set the marker action. Options are ADD, DELETE, and new in ROS Indigo: 3 (DELETEALL) + commanded_trajectory_marker_msg.action = visualization_msgs::Marker::ADD; + // Set the pose of the marker. This is a full 6DOF pose relative to the frame/time specified in the header + commanded_trajectory_marker_msg.pose.position.x = 0; + commanded_trajectory_marker_msg.pose.position.y = 0; + commanded_trajectory_marker_msg.pose.position.z = 0.4; + commanded_trajectory_marker_msg.pose.orientation.x = 0.0; + commanded_trajectory_marker_msg.pose.orientation.y = 0.0; + commanded_trajectory_marker_msg.pose.orientation.z = 0.0; + commanded_trajectory_marker_msg.pose.orientation.w = 1.0; + // Set the scale of the marker -- 1x1x1 here means 1m on a side + commanded_trajectory_marker_msg.scale.x = 0.03; // this is the line width + commanded_trajectory_marker_msg.scale.y = 1.0; + commanded_trajectory_marker_msg.scale.z = 1.0; + // Set the color -- be sure to set alpha to something non-zero! + commanded_trajectory_marker_msg.color.r = 0.0f; + commanded_trajectory_marker_msg.color.g = 0.0f; + commanded_trajectory_marker_msg.color.b = 1.0f; + commanded_trajectory_marker_msg.color.a = 0.8; + commanded_trajectory_marker_msg.lifetime = ros::Duration(); + commanded_trajectory_marker_msg.points.push_back(p); + + // cyclically publish marker messages + ros::AsyncSpinner spinner(2); // asynch. spinner (2) is needed to call dynamic reconfigure from this node without blocking the node + spinner.start(); + ros::Rate r(5); +// int index = 0; + while (ros::ok()) + { + // receive the current robot pose + if (robot_trajectory_recording_active_ == true) + { + ros::Time time = ros::Time(0); + bool transform_available = transform_listener_.waitForTransform(map_frame_, robot_frame_, time, ros::Duration(0.5)); + if (transform_available == true) + { + tf::StampedTransform transform; + transform_listener_.lookupTransform(map_frame_, robot_frame_, time, transform); + { + boost::mutex::scoped_lock lock(robot_trajectory_vector_mutex_); + robot_trajectory_vector_.push_back(transform); + } + } +// // this can be used for testing if no data is available +// tf::StampedTransform transform(tf::Transform(tf::Quaternion(0, 0, 0, 1), tf::Vector3(0.1*index, 0., 0.)), ros::Time::now(), map_frame_, robot_frame_); +// robot_trajectory_vector_.push_back(transform); +// robot_computed_trajectory_vector_.push_back(transform); +// robot_commanded_trajectory_vector_.push_back(transform); +// ++index; + } + + // update and publish coverage_marker_msg + coverage_marker_msg.header.stamp = ros::Time::now(); + coverage_marker_msg.points.resize(robot_trajectory_vector_.size()); + for (size_t i=0; i. + * + ****************************************************************/ + +#include + +// Function that provides the functionality that a given fov path gets mapped to a robot path by using the given parameters. +// To do so simply a vector operation is applied. If the computed robot pose is not in the free space, another accessible +// point is generated by finding it on the radius around the fov middlepoint s.t. the distance to the last robot position +// is minimized. +// Important: the room map needs to be an unsigned char single channel image, if inaccessible areas should be excluded, provide the inflated map +// robot_to_fov_vector in [m] +void mapPath(const cv::Mat& room_map, std::vector& robot_path, + const std::vector& fov_path, const Eigen::Matrix& robot_to_fov_vector, + const double map_resolution, const cv::Point2d map_origin, const cv::Point& starting_point) +{ + // initialize helper classes + MapAccessibilityAnalysis map_accessibility; + AStarPlanner path_planner; + const double map_resolution_inv = 1.0/map_resolution; + + // initialize the robot position in accessible space to enable the Astar planner to find a path from the beginning + cv::Point robot_pos(starting_point.x, starting_point.y); +// std::vector accessible_start_poses_on_perimeter; +// map_accessibility.checkPerimeter(accessible_start_poses_on_perimeter, fov_center, fov_radius_pixel, PI/64., room_map, false, robot_pos); + + // map the given robot to fov vector into pixel coordinates + Eigen::Matrix robot_to_fov_vector_pixel; + robot_to_fov_vector_pixel << robot_to_fov_vector(0,0)*map_resolution_inv, robot_to_fov_vector(1,0)*map_resolution_inv; + const double fov_radius_pixel = robot_to_fov_vector_pixel.norm(); + const double fov_to_front_offset_angle = atan2((double)robot_to_fov_vector(1,0), (double)robot_to_fov_vector(0,0)); + std::cout << "mapPath: fov_to_front_offset_angle: " << fov_to_front_offset_angle << "rad (" << fov_to_front_offset_angle*180./PI << "deg)" << std::endl; + std::cout << "fov_radius_pixel: " << fov_radius_pixel << " robot_to_fov_vector: " << robot_to_fov_vector(0,0) << ", " << robot_to_fov_vector(1,0) << std::endl; + + // go trough the given poses and calculate accessible robot poses + // first try with A*, if this fails, call map_accessibility_analysis and finally try a directly computed pose shift + int found_with_astar = 0, found_with_map_acc = 0, found_with_shift = 0, not_found = 0; + for(std::vector::const_iterator pose=fov_path.begin(); pose!=fov_path.end(); ++pose) + { + bool found_pose = false; + + // 1. try with map_accessibility_analysis + // compute accessible locations on perimeter around target fov center + MapAccessibilityAnalysis::Pose fov_center(pose->x, pose->y, pose->theta); + std::vector accessible_poses_on_perimeter; + map_accessibility.checkPerimeter(accessible_poses_on_perimeter, fov_center, fov_radius_pixel, PI/64., room_map, false, robot_pos); + + //std::cout << " fov_center: " << fov_center.x << ", " << fov_center.y << ", " << fov_center.orientation << " accessible_poses_on_perimeter.size: " << accessible_poses_on_perimeter.size() << std::endl; + + if(accessible_poses_on_perimeter.size()!=0) + { + // todo: also consider complete visibility of the fov_center (or whole cell) as a selection criterion + // todo: extend with a complete consideration of the exact robot footprint + // go trough the found accessible positions and take the one that minimizes the angle between approach vector and robot heading direction at the target position + // and which lies in the half circle around fov_center which is "behind" the fov_center pose's orientation +// double max_cos_alpha = -10; + std::map > cos_alpha_to_perimeter_pose_mapping; // maps (positive) cos_alpha to their perimeter poses + MapAccessibilityAnalysis::Pose best_pose; + //std::cout << "Perimeter: \n robot_pos = " << robot_pos.x << ", " << robot_pos.y << " fov_center = " << fov_center.x << ", " << fov_center.y << "\n"; + for(std::vector::iterator perimeter_pose = accessible_poses_on_perimeter.begin(); perimeter_pose != accessible_poses_on_perimeter.end(); ++perimeter_pose) + { + // exclude positions that are ahead of the moving direction + //cv::Point2d heading = cv::Point2d(fov_center.x, fov_center.y) - cv::Point2d(perimeter_pose->x, perimeter_pose->y); + //const double heading_norm = sqrt((double)heading.x*heading.x+heading.y*heading.y); + perimeter_pose->orientation -= fov_to_front_offset_angle; // robot heading correction of off-center fov + const cv::Point2d perimeter_heading = cv::Point2d(cos(perimeter_pose->orientation), sin(perimeter_pose->orientation)); + const double perimeter_heading_norm = 1.; + const cv::Point2d fov_center_heading = cv::Point2d(cos(fov_center.orientation), sin(fov_center.orientation)); + const double fov_center_heading_norm = 1.; + const double cos_alpha = (fov_center_heading.x*perimeter_heading.x+fov_center_heading.y*perimeter_heading.y)/(fov_center_heading_norm*perimeter_heading_norm); + //std::cout << " cos_alpha: " << cos_alpha << std::endl; +// if (cos_alpha < 0) +// continue; + if (cos_alpha >= 0.) + cos_alpha_to_perimeter_pose_mapping[cos_alpha] = *perimeter_pose; // rank by cos(angle) between approach direction and viewing direction + + // rank by cos(angle) between approach direction and viewing direction + //cv::Point2d approach = cv::Point2d(perimeter_pose->x, perimeter_pose->y) - cv::Point2d(robot_pos.x, robot_pos.y); + //const double approach_norm = sqrt(approach.x*approach.x+approach.y*approach.y); +// double cos_alpha = 1.; // only remains 1.0 if robot_pose and perimeter_pose are identical +// if (fov_center_heading.x!=0 || fov_center_heading.y!=0) // compute the cos(angle) between approach direction and viewing direction +// cos_alpha = (fov_center_heading.x*perimeter_heading.x + fov_center_heading.y*perimeter_heading.y)/(fov_center_heading_norm*perimeter_heading_norm); + //std::cout << " - perimeter_pose = " << perimeter_pose->x << ", " << perimeter_pose->y << " cos_alpha = " << cos_alpha << " max_cos_alpha = " << max_cos_alpha << std::endl; +// if(cos_alpha>max_cos_alpha) +// { +// max_cos_alpha = cos_alpha; +// best_pose = *perimeter_pose; +// found_pose = true; +// } + } +// std::cout << " cos_alpha_to_perimeter_pose_mapping.size: " << cos_alpha_to_perimeter_pose_mapping.size() << std::endl; + if (cos_alpha_to_perimeter_pose_mapping.size() > 0) + { + // rank by cos(angle) between approach direction and viewing direction + double max_cos_alpha = cos_alpha_to_perimeter_pose_mapping.begin()->first; + double closest_dist = std::numeric_limits::max(); + for (std::map >::iterator it=cos_alpha_to_perimeter_pose_mapping.begin(); it!=cos_alpha_to_perimeter_pose_mapping.end(); ++it) + { +// std::cout << " cos_alpha: " << it->first << std::endl; + // only consider the best fitting angles + if (it->first < 0.95*max_cos_alpha) + break; + // from those select the position with shortest approach path from current position + const double dist = cv::norm(robot_pos-cv::Point(it->second.x, it->second.y)); + if (dist < closest_dist) + { + closest_dist = dist; + best_pose = it->second; + found_pose = true; + } + } +// std::cout << " closest_dist: " << closest_dist << " best_pose: " << best_pose.x << ", " << best_pose.y << ", " << best_pose.orientation << std::endl; + } + + // add pose to path and set robot position to it + if (found_pose == true) + { + geometry_msgs::Pose2D best_pose_msg; + best_pose_msg.x = best_pose.x*map_resolution + map_origin.x; + best_pose_msg.y = best_pose.y*map_resolution + map_origin.y; + best_pose_msg.theta = best_pose.orientation; + robot_path.push_back(best_pose_msg); + robot_pos = cv::Point(cvRound(best_pose.x), cvRound(best_pose.y)); + //std::cout << " best_pose = " << best_pose.x << ", " << best_pose.y << " max_cos_alpha = " << max_cos_alpha << std::endl; + ++found_with_map_acc; + } + } + + // 2. if no accessible pose was found, try with a directly computed pose shift + if (found_pose==false) + { + // get the rotation matrix + const float sin_theta = std::sin(pose->theta); + const float cos_theta = std::cos(pose->theta); + Eigen::Matrix R; + R << cos_theta, -sin_theta, sin_theta, cos_theta; + + // calculate the resulting rotated relative vector and the corresponding robot position + Eigen::Matrix v_rel_rot = R * robot_to_fov_vector_pixel; + Eigen::Matrix robot_position; + robot_position << pose->x-v_rel_rot(0,0), pose->y-v_rel_rot(1,0); + + // check the accessibility of the found point + geometry_msgs::Pose2D current_pose; + if(robot_position(0,0) >= 0 && robot_position(1,0) >= 0 && robot_position(0,0) < room_map.cols && + robot_position(1,0) < room_map.rows && room_map.at((int)robot_position(1,0), (int)robot_position(0,0)) == 255) // position accessible + { + current_pose.x = (robot_position(0,0) * map_resolution) + map_origin.x; + current_pose.y = (robot_position(1,0) * map_resolution) + map_origin.y; + current_pose.theta = pose->theta; + found_pose = true; + robot_path.push_back(current_pose); + + // set robot position to computed pose s.t. further planning is possible + robot_pos = cv::Point((int)robot_position(0,0), (int)robot_position(1,0)); + + ++found_with_shift; + } + } + + if (found_pose==false) + { + // 3. if still no accessible position was found, try with computing the A* path from robot position to fov_center and stop at the right distance + // get vector from current position to desired fov position + cv::Point fov_position(pose->x, pose->y); + std::vector astar_path; + path_planner.planPath(room_map, robot_pos, fov_position, 1.0, 0.0, map_resolution, 0, &astar_path); + + // find the point on the astar path that is on the viewing circle around the fov middlepoint + cv::Point accessible_position; + for(std::vector::iterator point=astar_path.begin(); point!=astar_path.end(); ++point) + { + if(cv::norm(*point-fov_position) <= fov_radius_pixel) + { + accessible_position = *point; + found_pose = true; + break; + } + } + + // add pose to path and set robot position to it + if(found_pose == true) + { + // get the angle s.t. the pose points to the fov middlepoint and save it + geometry_msgs::Pose2D current_pose; + current_pose.x = (accessible_position.x * map_resolution) + map_origin.x; + current_pose.y = (accessible_position.y * map_resolution) + map_origin.y; + current_pose.theta = std::atan2(pose->y-accessible_position.y, pose->x-accessible_position.x) - fov_to_front_offset_angle; // todo: check -fov_to_front_offset_angle + robot_path.push_back(current_pose); + // set robot position to computed pose s.t. further planning is possible + robot_pos = accessible_position; + ++found_with_astar; + } + } + + if (found_pose==false) + { + ++not_found; + std::cout << " not found." << std::endl; + } + +// testing +// std::cout << robot_pos << ", " << cv::Point(pose->x, pose->y) << std::endl; +// cv::Mat room_copy = room_map.clone(); +// cv::line(room_copy, robot_pos, cv::Point(pose->x, pose->y), cv::Scalar(127), 1); +// cv::circle(room_copy, robot_pos, 2, cv::Scalar(100), CV_FILLED); +// cv::imshow("pose", room_copy); +// cv::waitKey(); + +// if (robot_path.size()>0) +// std::cout << " robot_pos: " << robot_path.back().x << ", " << robot_path.back().y << ", " << robot_path.back().theta << std::endl; + } + std::cout << "Found with map_accessibility: " << found_with_map_acc << ", with shift: " << found_with_shift + << ", with A*: " << found_with_astar << ", not found: " << not_found << std::endl; +} + + +// computes the field of view center and the radius of the maximum incircle of a given field of view quadrilateral +// the metric coordinates are relative to the robot base coordinate system (i.e. the robot center) +// coordinate system definition: x points in forward direction of robot and camera, y points to the left side of the robot and z points upwards. x and y span the ground plane. +// fitting_circle_center_point_in_meter this is also considered the center of the field of view, because around this point the maximum radius incircle can be found that is still inside the fov +// fov_resolution resolution of the fov center and incircle computations, in [pixels/m] +void computeFOVCenterAndRadius(const std::vector >& fov_corners_meter, + float& fitting_circle_radius_in_meter, Eigen::Matrix& fitting_circle_center_point_in_meter, const double fov_resolution) +{ + // The general solution for the largest incircle is to find the critical points of a Voronoi graph and select the one + // with largest distance to the sides as circle center and its closest distance to the quadrilateral sides as radius + // see: http://math.stackexchange.com/questions/1948356/largest-incircle-inside-a-quadrilateral-radius-calculation + // -------------> easy solution: distance transform on fov, take max. value that is closest to center + + // read out field of view and convert to pixel coordinates, determine min, max and center coordinates + std::vector fov_corners_pixel; + cv::Point center_point_pixel(0,0); + cv::Point min_point(100000, 100000); + cv::Point max_point(-100000, -100000); + for(int i = 0; i < 4; ++i) + { + fov_corners_pixel.push_back(cv::Point(fov_corners_meter[i](0,0)*fov_resolution, fov_corners_meter[i](1,0)*fov_resolution)); + center_point_pixel += fov_corners_pixel.back(); + min_point.x = std::min(min_point.x, fov_corners_pixel.back().x); + min_point.y = std::min(min_point.y, fov_corners_pixel.back().y); + max_point.x = std::max(max_point.x, fov_corners_pixel.back().x); + max_point.y = std::max(max_point.y, fov_corners_pixel.back().y); + } + center_point_pixel.x = center_point_pixel.x/4 - min_point.x + 1; + center_point_pixel.y = center_point_pixel.y/4 - min_point.y + 1; + + // draw an image of the field of view and compute a distance transform + cv::Mat fov_image = cv::Mat::zeros(4+max_point.y-min_point.y, 4+max_point.x-min_point.x, CV_8UC1); + std::vector > polygon_array(1,fov_corners_pixel); + for (size_t i=0; i(v,u)>max_dist_val) + { + max_dist_val = fov_distance_transform.at(v,u); + max_dist_point = cv::Point(u,v); + center_dist = (center_point_pixel.x-u)*(center_point_pixel.x-u) + (center_point_pixel.y-v)*(center_point_pixel.y-v); + } + else if (fov_distance_transform.at(v,u) == max_dist_val) + { + double cdist = (center_point_pixel.x-u)*(center_point_pixel.x-u) + (center_point_pixel.y-v)*(center_point_pixel.y-v); + if (cdist < center_dist) + { + max_dist_val = fov_distance_transform.at(v,u); + max_dist_point = cv::Point(u,v); + center_dist = cdist; + } + } + } + } + + // compute fitting_circle_radius and center point (round last digit) + fitting_circle_radius_in_meter = 10*(int)(((max_dist_val-1.f)+5)*0.1) / fov_resolution; + std::cout << "fitting_circle_radius: " << fitting_circle_radius_in_meter << " m" << std::endl; + cv::Point2d center_point = cv::Point2d(10*(int)(((max_dist_point.x+min_point.x-1)+5.)*0.1), 10*(int)(((max_dist_point.y+min_point.y-1)+5.)*0.1))*(1./fov_resolution); + std::cout << "center point: " << center_point << " m" << std::endl; + fitting_circle_center_point_in_meter << center_point.x, center_point.y; + +// // display +// cv::normalize(fov_distance_transform, fov_distance_transform, 0, 1, cv::NORM_MINMAX); +// cv::circle(fov_distance_transform, max_dist_point, 2, cv::Scalar(0.2), -1); +// cv::imshow("fov_image", fov_image); +// cv::imshow("fov_distance_transform", fov_distance_transform); +// cv::waitKey(); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/next_goal.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/next_goal.cpp new file mode 100644 index 0000000..47dbc76 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/next_goal.cpp @@ -0,0 +1,245 @@ + + +/*This code is used to plan the trajectory of the robot +*/ + +#include +#include +#include +#include +#include "nav_msgs/Odometry.h" +#include "nav_msgs/Path.h" +#include "geometry_msgs/PoseStamped.h" +#include +#include +#include + +using namespace std; +using namespace tf; + +float x_current; +float y_current; +bool flag = false; + +float normeNextGoal; + +class quaternion_ros +{ +public: + float w; + float x; + float y; + float z; + + quaternion_ros(); + + void toQuaternion(float pitch, float roll, float yaw); +}; + +void quaternion_ros::toQuaternion(float pitch, float roll, float yaw) +{ + + float cy = cos(yaw * 0.5); + float sy = sin(yaw * 0.5); + float cr = cos(roll * 0.5); + float sr = sin(roll * 0.5); + float cp = cos(pitch * 0.5); + float sp = sin(pitch * 0.5); + + w = cy * cr * cp + sy * sr * sp; + x = cy * sr * cp - sy * cr * sp; + y = cy * cr * sp + sy * sr * cp; + z = sy * cr * cp - cy * sr * sp; +} + +quaternion_ros::quaternion_ros() +{ + w = 1; + x = 0; + y = 0; + z = 0; +} + +class Path_planned +{ +public: + struct Goal + { + float x; + float y; + bool visited; + }; + + vector Path; + + Path_planned(); + //Path_planned(float x, float y, bool visited); + void addGoal(float X, float Y, bool visit); +}; + +Path_planned::Path_planned() +{ +} + +//Path_planned(float x, float y, bool visited) + +void Path_planned::addGoal(float X, float Y, bool visit) +{ + Path_planned::Goal newGoal; + newGoal.x = X; + newGoal.y = Y; + newGoal.visited = visit; + Path.push_back(newGoal); +} + +Path_planned planned_path; +nav_msgs::Path passed_path; +ros::Publisher pub_passed_path; +void pose_callback(const nav_msgs::Odometry &poses) +{ //里程计回调函数,用来计算当前机器人位置与前面目标点的距离,判断是否要发新的幕摆点 + x_current = poses.pose.pose.position.x; + y_current = poses.pose.pose.position.y; + passed_path.header = poses.header; + geometry_msgs::PoseStamped p; + p.header = poses.header; + p.pose = poses.pose.pose; + passed_path.poses.emplace_back(p); + //----------------------------------------------------------------------- + // pub_passed_path.publish(passed_path); +} + +int taille_last_path = 0; +bool new_path = false; + +//接受规划的路径 +void path_callback(const nav_msgs::Path &path) +{ + //注意为了rviz显示方便 路径一直在发,但是这里只用接受一次就好,当规划的路径发生变化时候再重新装载 + if ((planned_path.Path.size() == 0) || (path.poses.size() != taille_last_path)) + { + planned_path.Path.clear(); + new_path = true; + for (int i = 0; i < path.poses.size(); i++) + { + planned_path.addGoal(path.poses[i].pose.position.x, path.poses[i].pose.position.y, false); + + cout << path.poses[i].pose.position.x << " " << path.poses[i].pose.position.y << endl; + } + cout << "Recv path size:" << path.poses.size() << endl; + taille_last_path = path.poses.size(); + } +} + +// int **count_antonin(char *) + +void onesec(const ros::TimerEvent &even){ + flag = true; +} + +int main(int argc, char *argv[]) +{ + srand(time(0)); + ros::init(argc, argv, "next_goal"); + ros::NodeHandle next_goal; + ros::Subscriber sub1 = next_goal.subscribe("/odom", 1000, pose_callback); + ros::Subscriber sub2 = next_goal.subscribe("/room_exploration/room_exploration_server/coverage_path", 10000, path_callback); + + ros::Publisher pub1 = next_goal.advertise("/move_base_simple/goal", 1000); + // pub_passed_path = next_goal.advertise("/passed_path", 1000); + + ros::Rate loop_rate(10); + ros::Timer timer = next_goal.createTimer(ros::Duration(5),onesec,true,false); + + geometry_msgs::PoseStamped goal_msgs; + int count = 0; + double angle; + bool goal_reached = false; + + //获取发送下一个点的阈值 + if (!next_goal.getParam("/NextGoal/tolerance_goal", normeNextGoal)) + { + ROS_ERROR("Please set your tolerance_goal"); + return 0; + } + ROS_INFO("tolerance_goal=%f", normeNextGoal); + + while (ros::ok()) + { + ros::spinOnce(); + if (new_path) + { + count = 0; + new_path = false; + } + //当前处理的点 + // cout << " count : " << count << endl; + if (!planned_path.Path.empty()) + { + //当前距离达到了 + if (sqrt(pow(x_current - planned_path.Path[count].x, 2) + pow(y_current - planned_path.Path[count].y, 2)) <= normeNextGoal) + { + count++; + goal_reached = false; + flag = false; + timer.stop(); + timer.start(); + } + else if (flag == true) + { + count++; + goal_reached = false; + flag = false; + timer.stop(); + timer.start(); + } + + + if (goal_reached == false) + { + goal_msgs.header.frame_id = "odom"; + goal_msgs.header.stamp = ros::Time::now(); + goal_msgs.pose.position.x = planned_path.Path[count].x; + goal_msgs.pose.position.y = planned_path.Path[count].y; + goal_msgs.pose.position.z = 0; + if (count < planned_path.Path.size()) + {//计算发布的yaw,不过还有bug 但是不影响使用,yaw不会产生太大影响 + angle = atan2(planned_path.Path[count + 1].y - planned_path.Path[count].y, planned_path.Path[count + 1].x - planned_path.Path[count].x); + } + else + { + angle = atan2(planned_path.Path[0].y - planned_path.Path[count].y, planned_path.Path[0].x - planned_path.Path[count].x); + } + cout << angle << endl; + quaternion_ros q; + q.toQuaternion(0, 0, float(angle)); + goal_msgs.pose.orientation.w = q.w; + goal_msgs.pose.orientation.x = q.x; + goal_msgs.pose.orientation.y = q.y; + if (planned_path.Path[count].x < planned_path.Path[count + 1].x) + { + goal_msgs.pose.orientation.z = 0; + } + if (planned_path.Path[count].x > planned_path.Path[count + 1].x) + { + goal_msgs.pose.orientation.z = 2; + } + + cout << " NEW GOAL " << endl; + cout << " x = " << planned_path.Path[count].x << " y = " << planned_path.Path[count].y << endl; + + goal_reached = true; + pub1.publish(goal_msgs); + } + cout << x_current << " " << y_current << endl; + //当前 + cout << planned_path.Path[count].x << " " << planned_path.Path[count].y << endl; + //目标 + cout << " DISTANCE : " << sqrt((x_current - planned_path.Path[count].x) * (x_current - planned_path.Path[count].x) + (y_current - planned_path.Path[count].y) * (y_current - planned_path.Path[count].y)) << endl; + // 距离公式 + } + + loop_rate.sleep(); + } + + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_client.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_client.cpp new file mode 100644 index 0000000..f508352 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_client.cpp @@ -0,0 +1,226 @@ +#include +#include + +#include +#include + +#include +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include + +// overload of << operator for geometry_msgs::Pose2D to wanted format +std::ostream& operator<<(std::ostream& os, const geometry_msgs::Pose2D& obj) +{ + std::stringstream ss; + ss << "[" << obj.x << ", " << obj.y << ", " << obj.theta << "]"; + os << ss.rdbuf(); + return os; +} + +int main(int argc, char **argv) +{ + ros::init(argc, argv, "room_exploration_client"); + ros::NodeHandle priv_nh("~"); + ros::NodeHandle nh; + + actionlib::SimpleActionClient ac("room_exploration_server", true); + + // read params + bool use_test_maps; + priv_nh.param("use_test_maps", use_test_maps, true); + double resolution; + priv_nh.param("resolution", resolution, 0.05); + std::vector origin (3,0); + priv_nh.param("origin", origin, origin); + double robot_radius; + priv_nh.param("robot_radius", robot_radius, 0.15); + double coverage_radius; + priv_nh.param("coverage_radius", coverage_radius, 0.15); + std::vector start_pos = {0, 0, 0}; + priv_nh.param("starting_position", start_pos, start_pos); + + if (start_pos.size() != 3) + { + ROS_FATAL("starting_position must contain 3 values"); + return -1; + } + + std::string image_path; + if (use_test_maps) + { + // read in test map + const std::string test_map_path = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/"; + image_path = test_map_path + "500_500.png"; + } + else + { + // std::string env_pack_path; + // priv_nh.param("env_pack", env_pack_path, "ipa_room_segmentation"); + // std::string file_name; + // priv_nh.param("image", file_name, "map.pgm"); + std::string map_name; + priv_nh.param("robot_env", map_name, "lab_ipa"); + // image_path = env_pack_path + "/envs/" + map_name + "/" + file_name; + // --------------------修改地图路径------------------------------------------------------ + image_path = "/home/firefly/pibot_ros/ros_ws/src/map/" + map_name + ".png"; + } + + cv::Mat map_flipped = cv::imread(image_path, 0);//读入灰度图片 + cv::Mat map; + cv::flip(map_flipped, map, 0); + //make non-white pixels black + for (int y = 0; y < map.rows; y++) + { + for (int x = 0; x < map.cols; x++) + { + //find not reachable regions and make them black + if (map.at(y, x) < 250) + { + map.at(y, x) = 0; + } + //else make it white + else + { + map.at(y, x) = 255; + } + } + } + std::cout << "map-size: " << map.rows << "x" << map.cols << std::endl; + +// const std::string topic = "/move_base/global_costmap/costmap"; +// nav_msgs::OccupancyGrid grid; +// grid = *(ros::topic::waitForMessage(topic, nh)); +// ROS_INFO("got grid"); +// std::vector& dats = grid.data; +// std::cout << dats.size() << std::endl; +// cv::Mat test_map = cv::Mat(grid.info.height, grid.info.width, map.type()); +// for(size_t v = 0; v < test_map.rows; ++v) +// for(size_t u = 0; u < test_map.cols; ++u) +// test_map.at(v,u) = (uchar)(2.55*(double)dats[v*grid.info.width+u]); +// cv::imshow("testtt", test_map); +// cv::waitKey(); + + ROS_INFO("Waiting for action server to start."); + // wait for the action server to start + ac.waitForServer(); //will wait for infinite time + + ROS_INFO("Action server started, sending goal."); + + DynamicReconfigureClient drc_exp(nh, "room_exploration_server/set_parameters", "room_exploration_server/parameter_updates"); + drc_exp.setConfig("room_exploration_algorithm", 8); + // drc_exp.setConfig("room_exploration_algorithm", 3); + drc_exp.setConfig("execute_path", true); +// drc_exp.setConfig("path_eps", 3); +// drc_exp.setConfig("grid_line_length", 15); +// drc_exp.setConfig("path_eps", 10); +// drc_exp.setConfig("cell_size", 10); +// drc_exp.setConfig("plan_for_footprint", true); +// drc_exp.setConfig("goal_eps", 0.0); +// drc_exp.setConfig("delta_theta", 0.005); + +// cv::Point2f src_center(map.cols/2.0F, map.rows/2.0F); +// cv::Mat rot_mat = getRotationMatrix2D(src_center, 180, 1.0); +// cv::Mat dst; +// cv::warpAffine(map, dst, rot_mat, map.size()); +// cv::flip(dst, map, 1); +// cv::imshow("map", map); +// cv::waitKey(); + + sensor_msgs::Image labeling; + cv_bridge::CvImage cv_image; +// cv_image.header.stamp = ros::Time::now(); + cv_image.encoding = "mono8"; + cv_image.image = map; + cv_image.toImageMsg(labeling); + + geometry_msgs::Pose map_origin; + map_origin.position.x = origin[0]; + map_origin.position.y = origin[1]; + map_origin.position.z = origin[2]; + + geometry_msgs::Pose2D starting_position; + starting_position.x = start_pos[0]; + starting_position.y = start_pos[1]; + starting_position.theta = start_pos[2]; + + std::vector fov_points(4); + fov_points[0].x = 0.04035; // this field of view represents the off-center iMop floor wiping device + fov_points[0].y = -0.136; + fov_points[1].x = 0.04035; + fov_points[1].y = 0.364; + fov_points[2].x = 0.54035; // todo: this definition is mirrored on x (y-coordinates are inverted) to work properly --> check why, make it work the intuitive way + fov_points[2].y = 0.364; + fov_points[3].x = 0.54035; + fov_points[3].y = -0.136; + int planning_mode = 2; // viewpoint planning +// fov_points[0].x = 0.15; // this field of view fits a Asus Xtion sensor mounted at 0.63m height (camera center) pointing downwards to the ground in a respective angle +// fov_points[0].y = 0.35; +// fov_points[1].x = 0.15; +// fov_points[1].y = -0.35; +// fov_points[2].x = 1.15; +// fov_points[2].y = -0.65; +// fov_points[3].x = 1.15; +// fov_points[3].y = 0.65; +// int planning_mode = 2; // viewpoint planning +// fov_points[0].x = -0.3; // this is the working area of a vacuum cleaner with 60 cm width +// fov_points[0].y = 0.3; +// fov_points[1].x = -0.3; +// fov_points[1].y = -0.3; +// fov_points[2].x = 0.3; +// fov_points[2].y = -0.3; +// fov_points[3].x = 0.3; +// fov_points[3].y = 0.3; +// int planning_mode = 1; // footprint planning + geometry_msgs::Point32 fov_origin; + fov_origin.x = 0.; + fov_origin.y = 0.; + + ipa_building_msgs::RoomExplorationGoal goal; + goal.input_map = labeling; + goal.map_resolution = resolution; + goal.map_origin = map_origin; + goal.robot_radius = robot_radius; // turtlebot, used for sim 0.177, 0.4 + goal.coverage_radius = coverage_radius; + goal.field_of_view = fov_points; + goal.field_of_view_origin = fov_origin; + goal.starting_position = starting_position; + goal.planning_mode = planning_mode; + ac.sendGoal(goal); + + ac.waitForResult(ros::Duration()); + ipa_building_msgs::RoomExplorationResultConstPtr action_result = ac.getResult(); + + std::cout << "Got a path with " << action_result->coverage_path.size() << " nodes." << std::endl; + + // display path + // const double inverse_map_resolution = 1./goal.map_resolution; + // cv::Mat path_map = map.clone(); + // for (size_t point=0; pointcoverage_path.size(); ++point) + // { + // const cv::Point point1((action_result->coverage_path[point].x-map_origin.position.x)*inverse_map_resolution, (action_result->coverage_path[point].y-map_origin.position.y)*inverse_map_resolution); + // cv::circle(path_map, point1, 2, cv::Scalar(128), -1); + // if (point > 0) + // { + // const cv::Point point2((action_result->coverage_path[point-1].x-map_origin.position.x)*inverse_map_resolution, (action_result->coverage_path[point-1].y-map_origin.position.y)*inverse_map_resolution); + // cv::line(path_map, point1, point2, cv::Scalar(128), 1); + // } + // std::cout << "coverage_path[" << point << "]: x=" << action_result->coverage_path[point].x << ", y=" << action_result->coverage_path[point].y << ", theta=" << action_result->coverage_path[point].theta << std::endl; + // } + // cv::imshow("path", path_map); + // cv::waitKey(); + + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_server.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_server.cpp new file mode 100644 index 0000000..0f4cd11 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_action_server.cpp @@ -0,0 +1,1318 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Florian Jordan, Richard Bormann + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 03.2016 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + + +#include + +// constructor +RoomExplorationServer::RoomExplorationServer(ros::NodeHandle nh, std::string name_of_the_action) : + node_handle_(nh), + room_exploration_server_(node_handle_, name_of_the_action, boost::bind(&RoomExplorationServer::exploreRoom, this, _1), false) +{ + // dynamic reconfigure + room_exploration_dynamic_reconfigure_server_.setCallback(boost::bind(&RoomExplorationServer::dynamic_reconfigure_callback, this, _1, _2)); + + // Parameters + std::cout << "\n--------------------------\nRoom Exploration Parameters:\n--------------------------\n"; + node_handle_.param("room_exploration_algorithm", room_exploration_algorithm_, 1); + std::cout << "room_exploration/room_exploration_algorithm = " << room_exploration_algorithm_ << std::endl; + node_handle_.param("display_trajectory", display_trajectory_, false); + std::cout << "room_exploration/display_trajectory = " << display_trajectory_ << std::endl; + + node_handle_.param("map_correction_closing_neighborhood_size", map_correction_closing_neighborhood_size_, 2); + std::cout << "room_exploration/map_correction_closing_neighborhood_size = " << map_correction_closing_neighborhood_size_ << std::endl; + + node_handle_.param("return_path", return_path_, true); + std::cout << "room_exploration/return_path = " << return_path_ << std::endl; + node_handle_.param("execute_path", execute_path_, false); + std::cout << "room_exploration/execute_path = " << execute_path_ << std::endl; + node_handle_.param("goal_eps", goal_eps_, 0.35); + std::cout << "room_exploration/goal_eps = " << goal_eps_ << std::endl; + node_handle_.param("use_dyn_goal_eps", use_dyn_goal_eps_, false); + std::cout << "room_exploration/use_dyn_goal_eps = " << use_dyn_goal_eps_ << std::endl; + node_handle_.param("interrupt_navigation_publishing", interrupt_navigation_publishing_, false); + std::cout << "room_exploration/interrupt_navigation_publishing = " << interrupt_navigation_publishing_ << std::endl; + node_handle_.param("revisit_areas", revisit_areas_, false); + std::cout << "room_exploration/revisit_areas = " << revisit_areas_ << std::endl; + node_handle_.param("left_sections_min_area", left_sections_min_area_, 0.01); + std::cout << "room_exploration/left_sections_min_area_ = " << left_sections_min_area_ << std::endl; + global_costmap_topic_ = "/move_base/global_costmap/costmap"; + node_handle_.param("global_costmap_topic", global_costmap_topic_); + std::cout << "room_exploration/global_costmap_topic = " << global_costmap_topic_ << std::endl; + node_handle_.param("coverage_check_service_name", coverage_check_service_name_, "/room_exploration/coverage_check_server/coverage_check"); + std::cout << "room_exploration/coverage_check_service_name = " << coverage_check_service_name_ << std::endl; + map_frame_ = "map"; + node_handle_.param("map_frame", map_frame_); + std::cout << "room_exploration/map_frame = " << map_frame_ << std::endl; + camera_frame_ = "base_link"; + node_handle_.param("camera_frame", camera_frame_); + std::cout << "room_exploration/camera_frame = " << camera_frame_ << std::endl; + + + if (room_exploration_algorithm_ == 1) + ROS_INFO("You have chosen the grid exploration method."); + else if(room_exploration_algorithm_ == 2) + ROS_INFO("You have chosen the boustrophedon exploration method."); + else if(room_exploration_algorithm_ == 3) + ROS_INFO("You have chosen the neural network exploration method."); + else if(room_exploration_algorithm_ == 4) + ROS_INFO("You have chosen the convexSPP exploration method."); + else if(room_exploration_algorithm_ == 5) + ROS_INFO("You have chosen the flow network exploration method."); + else if(room_exploration_algorithm_ == 6) + ROS_INFO("You have chosen the energy functional exploration method."); + else if(room_exploration_algorithm_ == 7) + ROS_INFO("You have chosen the voronoi exploration method."); + else if(room_exploration_algorithm_ == 8) + ROS_INFO("You have chosen the boustrophedon variant exploration method."); + + if (room_exploration_algorithm_ == 1) // get grid point exploration parameters + { + node_handle_.param("tsp_solver", tsp_solver_, (int)TSP_CONCORDE); + std::cout << "room_exploration/tsp_solver = " << tsp_solver_ << std::endl; + int timeout=0; + node_handle_.param("tsp_solver_timeout", timeout, 600); + tsp_solver_timeout_ = timeout; + std::cout << "room_exploration/tsp_solver_timeout = " << tsp_solver_timeout_ << std::endl; + + } + else if ((room_exploration_algorithm_ == 2) || (room_exploration_algorithm_ == 8)) // set boustrophedon (variant) exploration parameters + { + node_handle_.param("min_cell_area", min_cell_area_, 10.0); + std::cout << "room_exploration/min_cell_area_ = " << min_cell_area_ << std::endl; + node_handle_.param("path_eps", path_eps_, 2.0); + std::cout << "room_exploration/path_eps_ = " << path_eps_ << std::endl; + node_handle_.param("grid_obstacle_offset", grid_obstacle_offset_, 0.0); + std::cout << "room_exploration/grid_obstacle_offset_ = " << grid_obstacle_offset_ << std::endl; + node_handle_.param("max_deviation_from_track", max_deviation_from_track_, -1); + std::cout << "room_exploration/max_deviation_from_track_ = " << max_deviation_from_track_ << std::endl; + node_handle_.param("cell_visiting_order", cell_visiting_order_, 1); + std::cout << "room_exploration/cell_visiting_order = " << cell_visiting_order_ << std::endl; + } + else if (room_exploration_algorithm_ == 3) // set neural network explorator parameters + { + node_handle_.param("step_size", step_size_, 0.008); + std::cout << "room_exploration/step_size_ = " << step_size_ << std::endl; + node_handle_.param("A", A_, 17); + std::cout << "room_exploration/A_ = " << A_ << std::endl; + node_handle_.param("B", B_, 5); + std::cout << "room_exploration/B_ = " << B_ << std::endl; + node_handle_.param("D", D_, 7); + std::cout << "room_exploration/D_ = " << D_ << std::endl; + node_handle_.param("E", E_, 80); + std::cout << "room_exploration/E_ = " << E_ << std::endl; + node_handle_.param("mu", mu_, 1.03); + std::cout << "room_exploration/mu_ = " << mu_ << std::endl; + node_handle_.param("delta_theta_weight", delta_theta_weight_, 0.15); + std::cout << "room_exploration/delta_theta_weight_ = " << delta_theta_weight_ << std::endl; + } + else if (room_exploration_algorithm_ == 4) // set convexSPP explorator parameters + { + node_handle_.param("cell_size", cell_size_, 0); + std::cout << "room_exploration/cell_size_ = " << cell_size_ << std::endl; + node_handle_.param("delta_theta", delta_theta_, 1.570796); + std::cout << "room_exploration/delta_theta = " << delta_theta_ << std::endl; + } + else if (room_exploration_algorithm_ == 5) // set flowNetwork explorator parameters + { + node_handle_.param("curvature_factor", curvature_factor_, 1.1); + std::cout << "room_exploration/curvature_factor = " << curvature_factor_ << std::endl; + node_handle_.param("max_distance_factor", max_distance_factor_, 1.0); + std::cout << "room_exploration/max_distance_factor_ = " << max_distance_factor_ << std::endl; + node_handle_.param("cell_size", cell_size_, 0); + std::cout << "room_exploration/cell_size_ = " << cell_size_ << std::endl; + node_handle_.param("path_eps", path_eps_, 3.0); + std::cout << "room_exploration/path_eps_ = " << path_eps_ << std::endl; + } + else if (room_exploration_algorithm_ == 6) // set energyfunctional explorator parameters + { + } + else if (room_exploration_algorithm_ == 7) // set voronoi explorator parameters + { + } + + if (revisit_areas_ == true) + ROS_INFO("Areas not seen after the initial execution of the path will be revisited."); + else + ROS_INFO("Areas not seen after the initial execution of the path will NOT be revisited."); + + + // min area for revisiting left sections + + path_pub_ = node_handle_.advertise("coverage_path", 10000); + cmd_vel_pub_ = node_handle_.advertise("cmd_vel", 10); + obstacles_sub_ = node_handle_.subscribe("stereo_msg",1,boost::bind(&RoomExplorationServer::stereo_CB,this,_1)); + // ultrasonic_sub_ = node_handle_.subscribe("ultrasonic_msg",1,boost::bind(&RoomExplorationServer::ultrasonic_CB,this,_1)); + // collid_sub_ = node_handle_.subscribe("collid_msg",1,boost::bind(&RoomExplorationServer::collid_CB,this,_1)); + cmd_vel_sub_ = node_handle_.subscribe("cmd_vel",1,boost::bind(&RoomExplorationServer::cmd_CB,this,_1)); + cancel_pub_ = node_handle_.advertise("/move_base/cancel", 10); + //Start action server + room_exploration_server_.start(); + + ROS_INFO("Action server for room exploration has been initialized......"); +} + + +// Callback function for dynamic reconfigure. +void RoomExplorationServer::dynamic_reconfigure_callback(ipa_room_exploration::RoomExplorationConfig &config, uint32_t level) +{ + // set segmentation algorithm + std::cout << "######################################################################################" << std::endl; + std::cout << "Dynamic reconfigure request:" << std::endl; + + room_exploration_algorithm_ = config.room_exploration_algorithm; + std::cout << "room_exploration/path_planning_algorithm_ = " << room_exploration_algorithm_ << std::endl; + + map_correction_closing_neighborhood_size_ = config.map_correction_closing_neighborhood_size; + std::cout << "room_exploration/map_correction_closing_neighborhood_size_ = " << map_correction_closing_neighborhood_size_ << std::endl; + + return_path_ = config.return_path; + std::cout << "room_exploration/return_path_ = " << return_path_ << std::endl; + // execute_path_ = config.execute_path; + execute_path_ = true; + std::cout << "room_exploration/execute_path_ = " << execute_path_ << std::endl; + goal_eps_ = config.goal_eps; + std::cout << "room_exploration/goal_eps_ = " << goal_eps_ << std::endl; + use_dyn_goal_eps_ = config.use_dyn_goal_eps; + std::cout << "room_exploration/use_dyn_goal_eps_ = " << use_dyn_goal_eps_ << std::endl; + interrupt_navigation_publishing_ = config.interrupt_navigation_publishing; + std::cout << "room_exploration/interrupt_navigation_publishing_ = " << interrupt_navigation_publishing_ << std::endl; + revisit_areas_ = config.revisit_areas; + std::cout << "room_exploration/revisit_areas_ = " << revisit_areas_ << std::endl; + left_sections_min_area_ = config.left_sections_min_area; + std::cout << "room_exploration/left_sections_min_area = " << left_sections_min_area_ << std::endl; + global_costmap_topic_ = config.global_costmap_topic; + std::cout << "room_exploration/global_costmap_topic_ = " << global_costmap_topic_ << std::endl; + coverage_check_service_name_ = config.coverage_check_service_name; + std::cout << "room_exploration/coverage_check_service_name_ = " << coverage_check_service_name_ << std::endl; + map_frame_ = config.map_frame; + std::cout << "room_exploration/map_frame_ = " << map_frame_ << std::endl; + camera_frame_ = config.camera_frame; + std::cout << "room_exploration/camera_frame_ = " << camera_frame_ << std::endl; + + // set parameters regarding the chosen algorithm + if (room_exploration_algorithm_ == 1) // set grid point exploration parameters + { + tsp_solver_ = config.tsp_solver; + std::cout << "room_exploration/tsp_solver_ = " << tsp_solver_ << std::endl; + tsp_solver_timeout_ = config.tsp_solver_timeout; + std::cout << "room_exploration/tsp_solver_timeout_ = " << tsp_solver_timeout_ << std::endl; + } + else if ((room_exploration_algorithm_ == 2) || (room_exploration_algorithm_ == 8)) // set boustrophedon (variant) exploration parameters + { + min_cell_area_ = config.min_cell_area; + std::cout << "room_exploration/min_cell_area_ = " << min_cell_area_ << std::endl; + path_eps_ = config.path_eps; + std::cout << "room_exploration/path_eps_ = " << path_eps_ << std::endl; + grid_obstacle_offset_ = config.grid_obstacle_offset; + std::cout << "room_exploration/grid_obstacle_offset_ = " << grid_obstacle_offset_ << std::endl; + max_deviation_from_track_ = config.max_deviation_from_track; + std::cout << "room_exploration/max_deviation_from_track_ = " << max_deviation_from_track_ << std::endl; + cell_visiting_order_ = config.cell_visiting_order; + std::cout << "room_exploration/cell_visiting_order = " << cell_visiting_order_ << std::endl; + } + else if (room_exploration_algorithm_ == 3) // set neural network explorator parameters + { + step_size_ = config.step_size; + std::cout << "room_exploration/step_size_ = " << step_size_ << std::endl; + A_ = config.A; + std::cout << "room_exploration/A_ = " << A_ << std::endl; + B_ = config.B; + std::cout << "room_exploration/B_ = " << B_ << std::endl; + D_ = config.D; + std::cout << "room_exploration/D_ = " << D_ << std::endl; + E_ = config.E; + std::cout << "room_exploration/E_ = " << E_ << std::endl; + mu_ = config.mu; + std::cout << "room_exploration/mu_ = " << mu_ << std::endl; + delta_theta_weight_ = config.delta_theta_weight; + std::cout << "room_exploration/delta_theta_weight_ = " << delta_theta_weight_ << std::endl; + } + else if (room_exploration_algorithm_ == 4) // set convexSPP explorator parameters + { + cell_size_ = config.cell_size; + std::cout << "room_exploration/cell_size_ = " << cell_size_ << std::endl; + delta_theta_ = config.delta_theta; + std::cout << "room_exploration/delta_theta_ = " << delta_theta_ << std::endl; + } + else if (room_exploration_algorithm_ == 5) // set flowNetwork explorator parameters + { + curvature_factor_ = config.curvature_factor; + std::cout << "room_exploration/delta_theta_ = " << delta_theta_ << std::endl; + max_distance_factor_ = config.max_distance_factor; + std::cout << "room_exploration/max_distance_factor_ = " << max_distance_factor_ << std::endl; + cell_size_ = config.cell_size; + std::cout << "room_exploration/cell_size_ = " << cell_size_ << std::endl; + path_eps_ = config.path_eps; + std::cout << "room_exploration/path_eps_ = " << path_eps_ << std::endl; + } + else if (room_exploration_algorithm_ == 6) // set energyFunctional explorator parameters + { + } + else if (room_exploration_algorithm_ == 7) // set voronoi explorator parameters + { + } + + + if (revisit_areas_ == true) + std::cout << "Areas not seen after the initial execution of the path will be revisited." << std::endl; + else + std::cout << "Areas not seen after the initial execution of the path will NOT be revisited." << std::endl; + + std::cout << "######################################################################################" << std::endl; +} + + +// Function executed by Call. +void RoomExplorationServer::exploreRoom(const ipa_building_msgs::RoomExplorationGoalConstPtr &goal) +{ + ROS_INFO("*****Room Exploration action server*****"); + + // ***************** I. read the given parameters out of the goal ***************** + // todo: this is only correct if the map is not rotated + const cv::Point2d map_origin(goal->map_origin.position.x, goal->map_origin.position.y); + const float map_resolution = goal->map_resolution; // in [m/cell] + const float map_resolution_inverse = 1./map_resolution; + std::cout << "map origin: " << map_origin << " m map resolution: " << map_resolution << " m/cell" << std::endl; + + const float robot_radius = goal->robot_radius; + const int robot_radius_in_pixel = (robot_radius / map_resolution); + std::cout << "robot radius: " << robot_radius << " m (" << robot_radius_in_pixel << " px)" << std::endl; + + const cv::Point starting_position((goal->starting_position.x-map_origin.x)/map_resolution, (goal->starting_position.y-map_origin.y)/map_resolution); + std::cout << "starting point: (" << goal->starting_position.x << ", " << goal->starting_position.y << ") m (" << starting_position << " px)" << std::endl; + + planning_mode_ = goal->planning_mode; + if (planning_mode_==PLAN_FOR_FOOTPRINT) + std::cout << "planning mode: planning coverage path with robot's footprint" <input_map, sensor_msgs::image_encodings::MONO8); + cv::Mat room_map = cv_ptr_obj->image; + + // determine room size + int area_px = 0; // room area in pixels + for (int v=0; v(v,u) >= 250) + area_px++; + std::cout << "### room area = " << area_px*map_resolution*map_resolution << " m^2" << std::endl; + + // closing operation to neglect inaccessible areas and map errors/artifacts + cv::Mat temp; + cv::erode(room_map, temp, cv::Mat(), cv::Point(-1, -1), map_correction_closing_neighborhood_size_); + cv::dilate(temp, room_map, cv::Mat(), cv::Point(-1, -1), map_correction_closing_neighborhood_size_); + + // remove unconnected, i.e. inaccessible, parts of the room (i.e. obstructed by furniture), only keep the room with the largest area + const bool room_not_empty = removeUnconnectedRoomParts(room_map); + if (room_not_empty == false) + { + std::cout << "RoomExplorationServer::exploreRoom: Warning: the requested room is too small for generating exploration trajectories." << std::endl; + ipa_building_msgs::RoomExplorationResult action_result; + room_exploration_server_.setAborted(action_result); + return; + } + + // get the grid size, to check the areas that should be revisited later + double grid_spacing_in_meter = 0.0; // is the square grid cell side length that fits into the circle with the robot's coverage radius or fov coverage radius + float fitting_circle_radius_in_meter = 0; + Eigen::Matrix fitting_circle_center_point_in_meter; // this is also considered the center of the field of view, because around this point the maximum radius incircle can be found that is still inside the fov + std::vector > fov_corners_meter(4); + const double fov_resolution = 1000; // in [cell/meter] + if(planning_mode_ == PLAN_FOR_FOV) // read out the given fov-vectors, if needed + { + // Get the size of one grid cell s.t. the grid can be completely covered by the field of view (fov) from all rotations around it. + for(int i = 0; i < 4; ++i) + fov_corners_meter[i] << goal->field_of_view[i].x, goal->field_of_view[i].y; + computeFOVCenterAndRadius(fov_corners_meter, fitting_circle_radius_in_meter, fitting_circle_center_point_in_meter, fov_resolution); + // get the edge length of the grid square that fits into the fitting_circle_radius + grid_spacing_in_meter = fitting_circle_radius_in_meter*std::sqrt(2); + } + else // if planning should be done for the footprint, read out the given coverage radius + { + grid_spacing_in_meter = goal->coverage_radius*std::sqrt(2); + } + // map the grid size to an int in pixel coordinates, using floor method + const double grid_spacing_in_pixel = grid_spacing_in_meter/map_resolution; // is the square grid cell side length that fits into the circle with the robot's coverage radius or fov coverage radius, multiply with sqrt(2) to receive the whole working width + std::cout << "grid size: " << grid_spacing_in_meter << " m (" << grid_spacing_in_pixel << " px)" << std::endl; + // set the cell_size_ for #4 convexSPP explorator or #5 flowNetwork explorator if it is not provided + if (cell_size_ <= 0) + cell_size_ = std::floor(grid_spacing_in_pixel); + + + // ***************** II. plan the path using the wanted planner ***************** + // todo: consider option to provide the inflated map or the robot radius to the functions instead of inflating with half cell size there + Eigen::Matrix zero_vector; + zero_vector << 0, 0; + std::vector exploration_path; + if (room_exploration_algorithm_ == 1) // use grid point explorator + { + // plan path + if(planning_mode_ == PLAN_FOR_FOV) + grid_point_planner.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, std::floor(grid_spacing_in_pixel), false, fitting_circle_center_point_in_meter, tsp_solver_, tsp_solver_timeout_); + else + grid_point_planner.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, std::floor(grid_spacing_in_pixel), true, zero_vector, tsp_solver_, tsp_solver_timeout_); + } + else if (room_exploration_algorithm_ == 2) // use boustrophedon explorator + { + // plan path + if(planning_mode_ == PLAN_FOR_FOV) + boustrophedon_explorer_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, grid_obstacle_offset_, path_eps_, cell_visiting_order_, false, fitting_circle_center_point_in_meter, min_cell_area_, max_deviation_from_track_); + else + boustrophedon_explorer_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, grid_obstacle_offset_, path_eps_, cell_visiting_order_, true, zero_vector, min_cell_area_, max_deviation_from_track_); + } + else if (room_exploration_algorithm_ == 3) // use neural network explorator + { + neural_network_explorator_.setParameters(A_, B_, D_, E_, mu_, step_size_, delta_theta_weight_); + // plan path + if(planning_mode_ == PLAN_FOR_FOV) + neural_network_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, false, fitting_circle_center_point_in_meter, false); + else + neural_network_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, true, zero_vector, false); + } + else if (room_exploration_algorithm_ == 4) // use convexSPP explorator + { + // plan coverage path + if(planning_mode_ == PLAN_FOR_FOV) + convex_SPP_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, cell_size_, delta_theta_, fov_corners_meter, fitting_circle_center_point_in_meter, 0., 7, false); + else + convex_SPP_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, cell_size_, delta_theta_, fov_corners_meter, zero_vector, goal->coverage_radius, 7, true); + } + else if (room_exploration_algorithm_ == 5) // use flow network explorator + { + if(planning_mode_ == PLAN_FOR_FOV) + flow_network_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, cell_size_, fitting_circle_center_point_in_meter, grid_spacing_in_pixel, false, path_eps_, curvature_factor_, max_distance_factor_); + else + flow_network_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, cell_size_, zero_vector, grid_spacing_in_pixel, true, path_eps_, curvature_factor_, max_distance_factor_); + } + else if (room_exploration_algorithm_ == 6) // use energy functional explorator + { + if(planning_mode_ == PLAN_FOR_FOV) + energy_functional_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, false, fitting_circle_center_point_in_meter); + else + energy_functional_explorator_.getExplorationPath(room_map, exploration_path, map_resolution, starting_position, map_origin, grid_spacing_in_pixel, true, zero_vector); + } + else if (room_exploration_algorithm_ == 7) // use voronoi explorator + { + // create a usable occupancyGrid map out of the given room map + nav_msgs::OccupancyGrid room_gridmap; + matToMap(room_gridmap, room_map); + + // do not find nearest pose to starting-position and start there because of issue in planner when starting position is provided + if(planning_mode_==PLAN_FOR_FOV) + { +// cv::Mat distance_transform; +// cv::distanceTransform(room_map, distance_transform, CV_DIST_L2, CV_DIST_MASK_PRECISE); +// cv::Mat display = room_map.clone(); +// // todoo: get max dist from map and parametrize loop +// for (int s=5; s<100; s+=10) +// { +// for (int v=0; v(v,u)) == s) +// { +// display.at(v,u) = 0; +// } +// } +// } +// } +// cv::imshow("distance_transform", distance_transform); +// cv::imshow("trajectories", display); +// cv::waitKey(); + + // convert fov-radius to pixel integer + const int grid_spacing_as_int = (int)std::floor(grid_spacing_in_pixel); + std::cout << "grid spacing in pixel: " << grid_spacing_as_int << std::endl; + + // create the object that plans the path, based on the room-map + VoronoiMap vm(room_gridmap.data.data(), room_gridmap.info.width, room_gridmap.info.height, grid_spacing_as_int, 2, true); // a perfect alignment of the paths cannot be assumed here (in contrast to footprint planning) because the well-aligned fov trajectory is mapped to robot locations that may not be on parallel tracks + // get the exploration path + std::vector fov_path_uncleaned; + vm.setSingleRoom(true); //to force to consider all rooms + vm.generatePath(fov_path_uncleaned, cv::Mat(), starting_position.x, starting_position.y); // start position in room center + + // clean path from subsequent double occurrences of the same pose + std::vector fov_path; + downsampleTrajectory(fov_path_uncleaned, fov_path, 2.*2.); //5*5); + + // convert to poses with angles + RoomRotator room_rotation; + room_rotation.transformPointPathToPosePath(fov_path); + + // map fov-path to robot-path + //cv::Point start_pos(fov_path.begin()->x, fov_path.begin()->y); + //mapPath(room_map, exploration_path, fov_path, fitting_circle_center_point_in_meter, map_resolution, map_origin, start_pos); + ROS_INFO("Starting to map from field of view pose to robot pose"); + cv::Point robot_starting_position = (fov_path.size()>0 ? cv::Point(fov_path[0].x, fov_path[0].y) : starting_position); + cv::Mat inflated_room_map; + cv::erode(room_map, inflated_room_map, cv::Mat(), cv::Point(-1, -1), (int)std::floor(goal->robot_radius/map_resolution)); + mapPath(inflated_room_map, exploration_path, fov_path, fitting_circle_center_point_in_meter, map_resolution, map_origin, robot_starting_position); + } + else + { + // convert coverage-radius to pixel integer + //int coverage_diameter = (int)std::floor(2.*goal->coverage_radius/map_resolution); + //std::cout << "coverage radius in pixel: " << coverage_diameter << std::endl; + const int grid_spacing_as_int = (int)std::floor(grid_spacing_in_pixel); + std::cout << "grid spacing in pixel: " << grid_spacing_as_int << std::endl; + + // create the object that plans the path, based on the room-map + VoronoiMap vm(room_gridmap.data.data(), room_gridmap.info.width, room_gridmap.info.height, grid_spacing_as_int, 2, true); //coverage_diameter-1); // diameter in pixel (full working width can be used here because tracks are planned in parallel motion) + // get the exploration path + std::vector exploration_path_uncleaned; + vm.setSingleRoom(true); //to force to consider all rooms + vm.generatePath(exploration_path_uncleaned, cv::Mat(), starting_position.x, starting_position.y); // start position in room center + + // clean path from subsequent double occurrences of the same pose + downsampleTrajectory(exploration_path_uncleaned, exploration_path, 3.5*3.5); //3.5*3.5); + + // convert to poses with angles + RoomRotator room_rotation; + room_rotation.transformPointPathToPosePath(exploration_path); + + // transform to global coordinates + for(size_t pos=0; pos 0) +#if CV_MAJOR_VERSION<=3 + cv::circle(fov_path_map, 2*cv::Point((exploration_path[0].x-map_origin.x)/map_resolution, (exploration_path[0].y-map_origin.y)/map_resolution), 2, cv::Scalar(150), CV_FILLED); +#else + cv::circle(fov_path_map, 2*cv::Point((exploration_path[0].x-map_origin.x)/map_resolution, (exploration_path[0].y-map_origin.y)/map_resolution), 2, cv::Scalar(150), cv::FILLED); +#endif + for(size_t i=1; i<=step; ++i) + { + cv::Point p1((exploration_path[i-1].x-map_origin.x)/map_resolution, (exploration_path[i-1].y-map_origin.y)/map_resolution); + cv::Point p2((exploration_path[i].x-map_origin.x)/map_resolution, (exploration_path[i].y-map_origin.y)/map_resolution); +#if CV_MAJOR_VERSION<=3 + cv::circle(fov_path_map, 2*p2, 2, cv::Scalar(200), CV_FILLED); +#else + cv::circle(fov_path_map, 2*p2, 2, cv::Scalar(200), cv::FILLED); +#endif + cv::line(fov_path_map, 2*p1, 2*p2, cv::Scalar(150), 1); + cv::Point p3(p2.x+5*cos(exploration_path[i].theta), p2.y+5*sin(exploration_path[i].theta)); + if (i==step) + { +#if CV_MAJOR_VERSION<=3 + cv::circle(fov_path_map, 2*p2, 2, cv::Scalar(80), CV_FILLED); +#else + cv::circle(fov_path_map, 2*p2, 2, cv::Scalar(80), cv::FILLED); +#endif + cv::line(fov_path_map, 2*p1, 2*p2, cv::Scalar(150), 1); + cv::line(fov_path_map, 2*p2, 2*p3, cv::Scalar(50), 1); + } + } +// cv::imshow("cell path", fov_path_map); +// cv::waitKey(); + } + cv::imshow("cell path", fov_path_map); + cv::waitKey(); + } + + ROS_INFO("Room exploration planning finished."); + + ipa_building_msgs::RoomExplorationResult action_result; + // check if the size of the exploration path is larger then zero + if(exploration_path.size()==0) + { + room_exploration_server_.setAborted(action_result); + return; + } + + // if wanted, return the path as the result + if(return_path_ == true) + { + action_result.coverage_path = exploration_path; + // return path in PoseStamped format as well (e.g. necessary for move_base commands) + std::vector exploration_path_pose_stamped(exploration_path.size()); + std_msgs::Header header; + header.stamp = ros::Time::now(); + header.frame_id = "/map"; + for (size_t i=0; ifield_of_view, goal->field_of_view_origin, goal->coverage_radius, fitting_circle_center_point_in_meter.norm(), + map_resolution, goal->map_origin, grid_spacing_in_pixel, room_map.rows * map_resolution); + ROS_INFO("Explored room."); + } + + room_exploration_server_.setSucceeded(action_result); + + return; +} + + // remove unconnected, i.e. inaccessible, parts of the room (i.e. obstructed by furniture), only keep the room with the largest area +bool RoomExplorationServer::removeUnconnectedRoomParts(cv::Mat& room_map) +{ + // create new map with segments labeled by increasing labels from 1,2,3,... + cv::Mat room_map_int(room_map.rows, room_map.cols, CV_32SC1); + for (int v=0; v(v,u) == 255) + room_map_int.at(v,u) = -100; + else + room_map_int.at(v,u) = 0; + } + } + + std::map area_to_label_map; // maps area=number of segment pixels (keys) to the respective label (value) + int label = 1; + for (int v=0; v(v,u) == -100) + { + const int area = cv::floodFill(room_map_int, cv::Point(u,v), cv::Scalar(label), 0, 0, 0, 8 | cv::FLOODFILL_FIXED_RANGE); + area_to_label_map[area] = label; + ++label; + } + } + } + // abort if area_to_label_map.size() is empty + if (area_to_label_map.size() == 0) + return false; + + // remove all room pixels from room_map which are not accessible + const int label_of_biggest_room = area_to_label_map.rbegin()->second; + std::cout << "label_of_biggest_room=" << label_of_biggest_room << std::endl; + for (int v=0; v(v,u) != label_of_biggest_room) + room_map.at(v,u) = 0; + + return true; +} + + +void RoomExplorationServer::downsampleTrajectory(const std::vector& path_uncleaned, std::vector& path, const double min_dist_squared) +{ + // clean path from subsequent double occurrences of the same pose + path.push_back(path_uncleaned[0]); + cv::Point last_added_point(path_uncleaned[0].x, path_uncleaned[0].y); + for (size_t i=1; i min_dist_squared || i==path_uncleaned.size()-1) + { + path.push_back(path_uncleaned[i]); + last_added_point = current_point; + } + } +} + + +void RoomExplorationServer::navigateExplorationPath(const std::vector& exploration_path, + const std::vector& field_of_view, const geometry_msgs::Point32& field_of_view_origin, + const double coverage_radius, const double distance_robot_fov_middlepoint, const float map_resolution, + const geometry_msgs::Pose& map_origin, const double grid_spacing_in_pixel, const double map_height) +{ + // ***************** III. Navigate trough all points and save the robot poses to check what regions have been seen ***************** + // 1. publish navigation goals + std::vector robot_poses; + geometry_msgs::Pose2D last_pose; + geometry_msgs::Pose2D pose; + for(size_t map_oriented_pose = 0; map_oriented_pose < exploration_path.size(); ++map_oriented_pose) + { + // check if the path should be continued or not + bool interrupted = false; + if(interrupt_navigation_publishing_==true) + { + ROS_INFO("Interrupt order received, resuming coverage path later."); + interrupted = true; + } + while(interrupt_navigation_publishing_==true) + { + // sleep for 1s because else this loop would produce errors + std::cout << "sleeping... (-.-)zzZZ" << std::endl; + ros::Duration sleep_rate(1); + sleep_rate.sleep(); + } + if(interrupted==true) + ROS_INFO("Interrupt order canceled, resuming coverage path now."); + // if(flag_||flag_ultra_||flag_collid_) + if(flag_) + { + cancel_msg.stamp = ros::Time::now(); + cancel_msg.id = std::to_string(ros::Time::now().toSec()); + cancel_pub_.publish(cancel_msg); + publishZeroVelocity(); + // if(flag_collid_) + // { + // gostraight(-0.15,20); + // flag_collid_ = 0; + // ros::Duration sleep_rate(2.0); + // sleep_rate.sleep(); + // } + + // if(flag_ultra_) + // { + // gostraight(-0.15,20); + // turn(-1,17); + // gostraight(0.15,20); + // turn(1,16); + // flag_ultra_ = 0; + // ros::Duration sleep_rate(2.0); + // sleep_rate.sleep(); + // } + + // if(flag_) + // { + while(flag_==1) + { + turn(-1,17);//1 16 ,-1 17 + gostraight(0.15,20); //time 0.2m/s 20*0.1s + turn(1,16); + flag_ = 0; + + ros::Duration sleep_rate(2.0); + sleep_rate.sleep(); + } + gostraight(0.15,30); + // } + + + map_oriented_pose++; + } + + // if no interrupt is wanted, publish the navigation goal + pose = exploration_path[map_oriented_pose]; + // todo: convert map to image properly, then this coordinate correction here becomes obsolete + //pose.y = map_height - (pose.y - map_origin.position.y) + map_origin.position.y; + double temp_goal_eps = 0; + if (use_dyn_goal_eps_) + { + if (map_oriented_pose != 0) + { + double delta_theta = std::fabs(last_pose.theta - pose.theta); + if (delta_theta > M_PI * 0.5) + delta_theta = M_PI * 0.5; + temp_goal_eps = (M_PI * 0.5 - delta_theta) / (M_PI * 0.5) * goal_eps_; + } + } + else + { + temp_goal_eps = goal_eps_; + } + std::cout<< map_oriented_pose <(global_costmap_topic_)); + ROS_INFO("Found global gridmap."); + + std::vector pixel_values; + pixel_values = global_costmap.data; + + // if wanted check for areas that haven't been seen during the execution of the path and revisit them, if wanted + if(revisit_areas_ == true) + { + // save the costmap as Mat of the same type as the given map (8UC1) + cv::Mat costmap_as_mat;//(global_map.cols, global_map.rows, CV_8UC1); + + mapToMat(global_costmap, costmap_as_mat); + + // 70% probability of being an obstacle + cv::threshold(costmap_as_mat, costmap_as_mat, 75, 255, cv::THRESH_BINARY_INV); + + // 3. draw the seen positions so the server can check what points haven't been seen + std::cout << "checking coverage using the coverage_check_server" << std::endl; + cv::Mat coverage_map, number_of_coverage_image; + // use the coverage check server to check which areas have been seen + // --> convert path to cv format + std::vector path; + for (size_t i=0; i convert field of view to Eigen format + std::vector > fov; + for(size_t i = 0; i < field_of_view.size(); ++i) + { + Eigen::Matrix current_vector; + current_vector << field_of_view[i].x, field_of_view[i].y; + fov.push_back(current_vector); + } + // --> convert field of view origin to Eigen format + Eigen::Matrix fov_origin; + fov_origin < call coverage checker + CoverageCheckServer coverage_checker; + if (coverage_checker.checkCoverage(costmap_as_mat, map_resolution, cv::Point2d(map_origin.position.x, map_origin.position.y), + path, fov, fov_origin, coverage_radius, (planning_mode_==PLAN_FOR_FOOTPRINT), false, coverage_map, number_of_coverage_image) == true) + { + std::cout << "got the service response" << std::endl; + } + else + { + ROS_WARN("Coverage check failed, is the coverage_check_server running?"); + room_exploration_server_.setAborted(); + return; + } + +// // service interface - can be deleted +// // define the request for the coverage check +// ipa_building_msgs::CheckCoverageRequest coverage_request; +// ipa_building_msgs::CheckCoverageResponse coverage_response; +// // fill request +// sensor_msgs::ImageConstPtr service_image; +// cv_bridge::CvImage cv_image; +// cv_image.encoding = "mono8"; +// cv_image.image = costmap_as_mat; +// service_image = cv_image.toImageMsg(); +// coverage_request.input_map = *service_image; +// coverage_request.map_resolution = map_resolution; +// coverage_request.map_origin = map_origin; +// coverage_request.path = robot_poses; +// coverage_request.field_of_view = field_of_view; +// coverage_request.field_of_view_origin = field_of_view_origin; +// coverage_request.coverage_radius = coverage_radius; +// coverage_request.check_number_of_coverages = false; +// std::cout << "filled service request for the coverage check" << std::endl; +// if(planning_mode_ == PLAN_FOR_FOV) +// coverage_request.check_for_footprint = false; +// else +// coverage_request.check_for_footprint = true; +// // send request +// if(ros::service::call(coverage_check_service_name_, coverage_request, coverage_response) == true) +// { +// std::cout << "got the service response" << std::endl; +// cv_bridge::CvImagePtr cv_ptr_obj; +// cv_ptr_obj = cv_bridge::toCvCopy(coverage_response.coverage_map, sensor_msgs::image_encodings::MONO8); +// coverage_map = cv_ptr_obj->image; +// } +// else +// { +// ROS_WARN("Coverage check failed, is the coverage_check_server running?"); +// room_exploration_server_.setAborted(); +// return; +// } + + // testing, parameter to show +// cv::namedWindow("initially seen areas", cv::WINDOW_NORMAL); +// cv::imshow("initially seen areas", seen_positions_map); +// cv::resizeWindow("initially seen areas", 600, 600); +// cv::waitKey(); + + // apply a binary filter on the image, making the drawn seen areas black + cv::threshold(coverage_map, coverage_map, 150, 255, cv::THRESH_BINARY); + + // ***************** IV. Find leftover areas and lay a grid over it, then plan a path trough all grids s.t. they can be covered by the fov. ***************** + // 1. find regions with an area that is bigger than a defined value, which have not been seen by the fov. + // hierarchy[{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour} + // child-contour = 1 if it has one, = -1 if not, same for parent_contour + std::vector < std::vector > left_areas, areas_to_revisit; + std::vector < cv::Vec4i > hierarchy; + cv::findContours(coverage_map, left_areas, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); + + // find valid regions + for(size_t area = 0; area < left_areas.size(); ++area) + { + // don't look at hole contours + if (hierarchy[area][3] == -1) + { + double room_area = map_resolution * map_resolution * cv::contourArea(left_areas[area]); + //subtract the area from the hole contours inside the found contour, because the contour area grows extremly large if it is a closed loop + for(int hole = 0; hole < left_areas.size(); ++hole) + { + if(hierarchy[hole][3] == area)//check if the parent of the hole is the current looked at contour + { + room_area -= map_resolution * map_resolution * cv::contourArea(left_areas[hole]); + } + } + + // save the contour if the area of it is larger than the defined value + if(room_area >= left_sections_min_area_) + areas_to_revisit.push_back(left_areas[area]); + } + } + + // check if areas need to be visited again, if not cancel here + if(areas_to_revisit.size() == 0) + { + ROS_INFO("Explored room."); + + room_exploration_server_.setSucceeded(); + + return; + } + + // draw found regions s.t. they can be intersected later + cv::Mat black_map(costmap_as_mat.cols, costmap_as_mat.rows, costmap_as_mat.type(), cv::Scalar(0)); +#if CV_MAJOR_VERSION<=3 + cv::drawContours(black_map, areas_to_revisit, -1, cv::Scalar(255), CV_FILLED); +#else + cv::drawContours(black_map, areas_to_revisit, -1, cv::Scalar(255), cv::FILLED); +#endif + for(size_t contour = 0; contour < left_areas.size(); ++contour) + if(hierarchy[contour][3] != -1) +#if CV_MAJOR_VERSION<=3 + cv::drawContours(black_map, left_areas, contour, cv::Scalar(0), CV_FILLED); +#else + cv::drawContours(black_map, left_areas, contour, cv::Scalar(0), cv::FILLED); +#endif + + // 2. Intersect the left areas with respect to the calculated grid length. + geometry_msgs::Polygon min_max_coordinates; // = goal->room_min_max; + for(size_t i = 0/*min_max_coordinates.points[0].y*/; i < black_map.cols; i += std::floor(grid_spacing_in_pixel)) + cv::line(black_map, cv::Point(0, i), cv::Point(black_map.cols, i), cv::Scalar(0), 1); + for(size_t i = 0/*min_max_coordinates.points[0].x*/; i < black_map.rows; i += std::floor(grid_spacing_in_pixel)) + cv::line(black_map, cv::Point(i, 0), cv::Point(i, black_map.rows), cv::Scalar(0), 1); + + // 3. find the centers of the global_costmap areas + std::vector < std::vector > grid_areas; + cv::Mat contour_map = black_map.clone(); + cv::findContours(contour_map, grid_areas, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_NONE); + + // get the moments + std::vector moments(grid_areas.size()); + for( int i = 0; i < grid_areas.size(); i++) + { + moments[i] = cv::moments(grid_areas[i], false); + } + + // get the mass centers + std::vector area_centers(grid_areas.size()); + for( int i = 0; i < grid_areas.size(); i++ ) + { + // check if the current contour has an area and isn't just a few pixels + if(moments[i].m10 != 0 && moments[i].m01 != 0) + { + area_centers[i] = cv::Point( moments[i].m10/moments[i].m00 , moments[i].m01/moments[i].m00 ); + } + // if contour is too small for moment calculation, take one point on this contour and use it as center + else + { + area_centers[i] = grid_areas[i][0]; + } + } + + // testing +// black_map = room_map.clone(); +// for(size_t i = 0; i < area_centers.size(); ++i) +// { +// cv::circle(black_map, area_centers[i], 2, cv::Scalar(127), CV_FILLED); +// std::cout << area_centers[i] << std::endl; +// } +// cv::namedWindow("revisiting areas", cv::WINDOW_NORMAL); +// cv::imshow("revisiting areas", black_map); +// cv::resizeWindow("revisiting areas", 600, 600); +// cv::waitKey(); + + // 4. plan a tsp path trough the centers of the left areas + // find the center that is nearest to the current robot position, which becomes the start node for the tsp + geometry_msgs::Pose2D current_robot_pose = robot_poses.back(); + cv::Point current_robot_point(current_robot_pose.x, current_robot_pose.y); + double min_dist = 9001; + int min_index = 0; + for(size_t current_center_index = 0; current_center_index < area_centers.size(); ++current_center_index) + { + cv::Point current_center = area_centers[current_center_index]; + double current_squared_distance = std::pow(current_center.x - current_robot_point.x, 2.0) + std::pow(current_center.y - current_robot_point.y, 2.0); + + if(current_squared_distance <= min_dist) + { + min_dist = current_squared_distance; + min_index = current_center_index; + } + } + ConcordeTSPSolver tsp_solver; + std::vector revisiting_order = tsp_solver.solveConcordeTSP(costmap_as_mat, area_centers, 0.25, 0.0, map_resolution, min_index, 0); + + // 5. go to each center and use the map_accessability_server to find a robot pose around it s.t. it can be covered by the field of view or robot center + const double pi_8 = PI/8; + const std::string perimeter_service_name = "/room_exploration/map_accessibility_analysis/map_perimeter_accessibility_check"; + // robot_poses.clear(); + for(size_t center = 0; center < revisiting_order.size(); ++center) + { + geometry_msgs::Pose2D current_center; + current_center.x = (area_centers[revisiting_order[center]].x * map_resolution) + map_origin.position.x; + current_center.y = (area_centers[revisiting_order[center]].y * map_resolution) + map_origin.position.y; + + // define request + cob_map_accessibility_analysis::CheckPerimeterAccessibility::Request check_request; + cob_map_accessibility_analysis::CheckPerimeterAccessibility::Response response; + check_request.center = current_center; + if(planning_mode_ == PLAN_FOR_FOV) + { + check_request.radius = distance_robot_fov_middlepoint; + check_request.rotational_sampling_step = pi_8; + } + else + { + check_request.radius = 0.0; + check_request.rotational_sampling_step = 2.0*PI; + } + std::cout << "checking center: " << std::endl << current_center << "radius: " << check_request.radius << std::endl; + + // send request + if(ros::service::call(perimeter_service_name, check_request, response) == true) + { + std::cout << "successful check of accessibility" << std::endl; + // go trough the found accessible positions and try to reach one of them + for(std::vector::iterator pose = response.accessible_poses_on_perimeter.begin(); pose != response.accessible_poses_on_perimeter.end(); ++pose) + if(publishNavigationGoal(*pose, map_frame_, camera_frame_, robot_poses, 0.0) == true) + break; + } + else + { + // todo: return areas that were not visible on radius + std::cout << "center not reachable on perimeter" << std::endl; + } + } + +// drawSeenPoints(copy, robot_poses, goal->field_of_view, corner_point_1, corner_point_2, map_resolution, map_origin); +// cv::namedWindow("seen areas", cv::WINDOW_NORMAL); +// cv::imshow("seen areas", copy); +// cv::resizeWindow("seen areas", 600, 600); +// cv::waitKey(); + } +} + + +// Function to publish a navigation goal for move_base. It returns true, when the goal could be reached. +// The function tracks the robot pose while moving to the goal and adds these poses to the given pose-vector. This is done +// because it allows to calculate where the robot field of view has theoretically been and identify positions of the map that +// the robot hasn't seen. +bool RoomExplorationServer::publishNavigationGoal(const geometry_msgs::Pose2D& nav_goal, const std::string map_frame, + const std::string camera_frame, std::vector& robot_poses, const double robot_to_fov_middlepoint_distance, + const double eps, const bool perimeter_check) +{ + // move base client, that sends navigation goals to a move_base action server + MoveBaseClient mv_base_client("/move_base", true); + + // wait for the action server to come up + while(mv_base_client.waitForServer(ros::Duration(5.0)) == false) + { + ROS_INFO("Waiting for the move_base action server to come up"); + } + + + geometry_msgs::Pose2D map_oriented_pose; + + map_oriented_pose.x = nav_goal.x; + map_oriented_pose.y = nav_goal.y; + map_oriented_pose.theta = nav_goal.theta; + + std::cout << "navigation goal: (" << map_oriented_pose.x << ", " << map_oriented_pose.y << ", " << map_oriented_pose.theta << ")" << std::endl; + + move_base_msgs::MoveBaseGoal move_base_goal; + + // create move_base_goal + move_base_goal.target_pose.header.frame_id = "map"; + move_base_goal.target_pose.header.stamp = ros::Time::now(); + + + move_base_goal.target_pose.pose.position.x = map_oriented_pose.x; + move_base_goal.target_pose.pose.position.y = map_oriented_pose.y; + move_base_goal.target_pose.pose.orientation.z = std::sin(map_oriented_pose.theta/2); + move_base_goal.target_pose.pose.orientation.w = std::cos(map_oriented_pose.theta/2); + + // send goal to the move_base sever, when one is found + ROS_INFO_STREAM("Sending goal with eps " << eps); + mv_base_client.sendGoal(move_base_goal); + + // wait until goal is reached or the goal is aborted +// ros::Duration sleep_rate(0.1); + tf::TransformListener listener; + tf::StampedTransform transform; + ros::Duration sleep_duration(0.15); // todo: param + bool near_pos; + do + { + near_pos = false; + double roll, pitch, yaw; + // try to get the transformation from map_frame to base_frame, wait max. 2 seconds for this transform to come up + try + { + ros::Time time = ros::Time(0); + listener.waitForTransform(map_frame, camera_frame, time, ros::Duration(2.0)); // 5.0 + listener.lookupTransform(map_frame, camera_frame, time, transform); + + sleep_duration.sleep(); + + // save the current pose if a transform could be found + geometry_msgs::Pose2D current_pose; + + current_pose.x = transform.getOrigin().x(); + current_pose.y = transform.getOrigin().y(); + transform.getBasis().getRPY(roll, pitch, yaw); + current_pose.theta = yaw; + + if((current_pose.x-map_oriented_pose.x)*(current_pose.x-map_oriented_pose.x) + (current_pose.y-map_oriented_pose.y)*(current_pose.y-map_oriented_pose.y) <= eps*eps) + near_pos = true; + + robot_poses.push_back(current_pose); + } + catch(tf::TransformException &ex) + { + ROS_WARN_STREAM("Couldn't get transform from " << camera_frame << " to " << map_frame << "!");// %s", ex.what()); + } + + }while(mv_base_client.getState() != actionlib::SimpleClientGoalState::ABORTED && mv_base_client.getState() != actionlib::SimpleClientGoalState::SUCCEEDED + && near_pos == false); + + // check if point could be reached or not + if(mv_base_client.getState() == actionlib::SimpleClientGoalState::SUCCEEDED || near_pos == true) + { + ROS_INFO("current goal could be reached."); + return true; + } + // if the goal couldn't be reached, find another point around the desired fov-position + else if(perimeter_check == true) + { + ROS_INFO("current goal could not be reached, checking for other goal."); + + // get the desired fov-position + geometry_msgs::Pose2D relative_vector; + relative_vector.x = std::cos(map_oriented_pose.theta)*robot_to_fov_middlepoint_distance; + relative_vector.y = std::sin(map_oriented_pose.theta)*robot_to_fov_middlepoint_distance; + geometry_msgs::Pose2D center; + center.x = map_oriented_pose.x + relative_vector.x; + center.y = map_oriented_pose.y + relative_vector.y; + + // check for another robot pose to reach the desired fov-position + const std::string perimeter_service_name = "/room_exploration/map_accessibility_analysis/map_perimeter_accessibility_check"; + cob_map_accessibility_analysis::CheckPerimeterAccessibility::Response response; + cob_map_accessibility_analysis::CheckPerimeterAccessibility::Request check_request; + check_request.center = center; + if(planning_mode_ == PLAN_FOR_FOV) + { + check_request.radius = robot_to_fov_middlepoint_distance; + check_request.rotational_sampling_step = PI/8; + } + else + { + check_request.radius = 0.0; + check_request.rotational_sampling_step = 2.0*PI; + } + + // send request + if(ros::service::call(perimeter_service_name, check_request, response) == true) + { + // go trough the found accessible positions and try to reach one of them + for(std::vector::iterator pose = response.accessible_poses_on_perimeter.begin(); pose != response.accessible_poses_on_perimeter.end(); ++pose) + { + if(publishNavigationGoal(*pose, map_frame, camera_frame, robot_poses, 0.0) == true) + { + ROS_INFO("Perimeter check for not reachable goal succeeded."); + return true; + } + } + } + else + { + ROS_INFO("Desired position not reachable."); + } + return false; + } + else + { + return false; + } +} + +void RoomExplorationServer::publishZeroVelocity() +{ + // ROS_INFO("stop!!"); + cmd_vel_msg.angular.z = 0; + cmd_vel_msg.linear.x = 0; + cmd_vel_pub_.publish(cmd_vel_msg); + +} +void RoomExplorationServer::turn(int lr,int time) +{ + ros::Rate rate(10); + + cmd_vel_msg.angular.z = lr; + // if(lr==-1) + // { + // std::cout<<"turn right"<dis) + { + float distance = obstacle_info.distance; + // float width = obstacle_info.width; + // float height = obstacle_info.height; + float angle = obstacle_info.angle; + + // if(distance>5&&distance<45&&cmd_vel_.linear.x!=0) + if(distance>10&&distance<45) + { + flag_ = 1; + } + } + + return; +} + +// void RoomExplorationServer::ultrasonic_CB(const std_msgs::String::ConstPtr& ul_dis) +// { +// // if(ul_dis<=15) +// { + +// } +// } +// void RoomExplorationServer::collid_CB(const std_msgs::String::ConstPtr& flag) +// { +// // if(flag) +// { + +// } +// } +void RoomExplorationServer::cmd_CB(const geometry_msgs::Twist::ConstPtr& cmd_vel) +{ + cmd_vel_ = *cmd_vel; +} + +// main, initializing server +int main(int argc, char** argv) +{ + ros::init(argc, argv, "room_exploration_server"); + ros::Time::init(); + + ros::NodeHandle nh("~"); + + RoomExplorationServer explorationObj(nh, ros::this_node::getName()); + ros::spin(); + + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_evaluation.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_evaluation.cpp new file mode 100644 index 0000000..ebb9a78 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/room_exploration_evaluation.cpp @@ -0,0 +1,1692 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2016 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_exploration + * + * \author + * Author: Florian Jordan, Richard Bormann + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 03.2016 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + + +#include +#include + +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +#include + +#include +#include +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include + +#include +#include +#include + +#include + +#include + +#include + +#define PI 3.14159265359 + +// Overload of << operator for geometry_msgs::Pose2D to wanted format. +std::ostream& operator<<(std::ostream& os, const geometry_msgs::Pose2D& obj) +{ + std::stringstream ss; + ss << "[" << obj.x << ", " << obj.y << ", " << obj.theta << "]"; + os << ss.rdbuf(); + return os; +} + +// Struct used to define, which segmentation algorithm together with which exploration algorithm should be used. Also a function is +// provided, that returns a string showing the current configuration --> used to save the results. +struct ExplorationConfig +{ + int exploration_algorithm_; // this variable selects, which exploration algorithm should be used + // 1: grid point explorator + // 2: boustrophedon explorator + // 3: neural network explorator + // 4: convexSPP explorator + // 5: flowNetwork explorator + // 6: energyFunctional explorator + // 7: Voronoi explorator + + // default values + ExplorationConfig() + { + exploration_algorithm_ = 2; + } + + // create one configuration + ExplorationConfig(const int exploration_algorithm) + { + exploration_algorithm_ = exploration_algorithm; + } + + // function that returns the current configuration as string + std::string generateConfigurationFolderString() const + { + std::stringstream ss; + ss << "expl" << exploration_algorithm_; + return ss.str(); + } + + // function that returns the name of the chosen exploration algorithm + std::string roomExplorationAlgorithmToString() const + { + std::string s = ""; + if (exploration_algorithm_ == 1) + s = "grid point exploration"; + else if (exploration_algorithm_ == 2) + s = "boustrophedon exploration"; + else if (exploration_algorithm_ == 3) + s = "neural network exploration"; + else if (exploration_algorithm_ == 4) + s = "convex SPP exploration"; + else if (exploration_algorithm_ == 5) + s = "flow network exploration"; + else if (exploration_algorithm_ == 6) + s = "energy functional exploration"; + else if (exploration_algorithm_ == 7) + s = "voronoi exploration"; + + return s; + } +}; + +// Struct that carries several parameters for the action servers +enum PlanningMode {FOOTPRINT=1, FIELD_OF_VIEW=2}; +struct ExplorationData +{ + std::string map_name_; // without file type + cv::Mat floor_plan_; + std::vector room_maps_; + std::vector bounding_boxes_; + float map_resolution_; // [m/pixel] + geometry_msgs::Pose map_origin_; // [m] + geometry_msgs::Pose2D robot_start_position_; + double robot_radius_; // [m], effective robot radius, taking the enlargement of the costmap into account, in [meter] + double coverage_radius_; // [m], radius that is used to plan the coverage planning for the robot and not the field of view, assuming that the part that needs to cover everything (e.g. the cleaning part) can be represented by a fitting circle (e.g. smaller than the actual part to ensure coverage), in [meter] + std::vector fov_points_; // [m], the points that define the field of view of the robot, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter] + geometry_msgs::Point32 fov_origin_; // [m], the mounting position of the camera spanning the field of view, relative to the robot center (x-axis points to robot's front side, y-axis points to robot's left side, z-axis upwards), in [meter] + enum PlanningMode planning_mode_; // 1 = plans a path for coverage with the robot footprint, 2 = plans a path for coverage with the robot's field of view + double robot_speed_; // [m/s] + double robot_rotation_speed_; // [rad/s] + + // empty values as default + ExplorationData() + { + map_name_ = ""; + floor_plan_ = cv::Mat(); + map_resolution_ = 0.05; + map_origin_.position.x = 0; + map_origin_.position.y = 0; + robot_radius_ = 0.35; + coverage_radius_ = 0.35; + planning_mode_ = FOOTPRINT; + robot_speed_ = 0.3; + robot_rotation_speed_ = 0.1; + } + + // set data used in this evaluation + ExplorationData(const std::string map_name, const cv::Mat floor_plan, const float map_resolution, const double robot_radius, + const double coverage_radius, const std::vector& fov_points, const geometry_msgs::Point32& fov_origin, + const int planning_mode, const double robot_speed, const double robot_rotation_speed) + { + map_name_ = map_name; + floor_plan_ = floor_plan; + map_resolution_ = map_resolution; + map_origin_.position.x = 0; + map_origin_.position.y = 0; + robot_radius_ = robot_radius; + coverage_radius_ = coverage_radius; + fov_points_ = fov_points; + fov_origin_ = fov_origin; + planning_mode_ = (PlanningMode)planning_mode; + robot_speed_ = robot_speed; + robot_rotation_speed_ = robot_rotation_speed; + cv::Mat map_eroded; + cv::erode(floor_plan_, map_eroded, cv::Mat(), cv::Point(-1,-1), robot_radius_/map_resolution_+2); + cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 + cv::distanceTransform(map_eroded, distance_map, CV_DIST_L2, 5); + cv::convertScaleAbs(distance_map, distance_map); // conversion to 8 bit image + float max_distance = 0; + for (int v=0; v(v,u) != 0 && distance_map.at(v,u) > max_distance) + { + max_distance = distance_map.at(v,u); + robot_start_position_.x = u*map_resolution_ + map_origin_.position.x; + robot_start_position_.y = v*map_resolution_ + map_origin_.position.y; + } + } +}; + + +// class that segments the wanted maps, finds for each resulting room a coverage path and saves these paths +class ExplorationEvaluation +{ +protected: + + // function that creates configurations to get all possible combinations of exploration algorithms + void setConfigurations(std::vector& configurations, const std::vector& exploration_algorithms) + { + for(std::vector::const_iterator expl=exploration_algorithms.begin(); expl!=exploration_algorithms.end(); ++expl) + { + ExplorationConfig current_config(*expl); + configurations.push_back(current_config); + } + } + + template + double stddev(const std::vector& values, const double mean) + { + if (values.size() < 2) + return 0.; + double stddev = 0.; + for (typename std::vector::const_iterator val=values.begin(); val!=values.end(); ++val) + stddev += ((double)*val-mean)*((double)*val-mean); + return sqrt(stddev)/(values.size()-1); + } + + ros::NodeHandle node_handle_; + +public: + + + ExplorationEvaluation(ros::NodeHandle& nh, const std::string& test_map_path, const std::vector& map_names, const float map_resolution, + const std::string& data_storage_path, const double robot_radius, const double coverage_radius, + const std::vector& fov_points, const geometry_msgs::Point32& fov_origin, const int planning_mode, + const std::vector& exploration_algorithms, const double robot_speed, const double robot_rotation_speed, bool do_path_planning=true, bool do_evaluation=true) + : node_handle_(nh) + { + // 1. create all needed configurations + std::vector configs; + setConfigurations(configs, exploration_algorithms); + + // 2. prepare images and evaluation data + std::vector evaluation_data; + for (size_t image_index = 0; image_index(y, x)>250) + map.at(y, x)=255; + else //if (map.at(y, x) != 255) + map.at(y, x)=0; + } + } + + // create evaluation data + evaluation_data.push_back(ExplorationData(map_names[image_index], map, map_resolution, robot_radius, coverage_radius, fov_points, fov_origin, + planning_mode, robot_speed, robot_rotation_speed)); + } + // get the room maps for each evaluation data + getRoomMaps(evaluation_data); + + // 3. compute exploration paths for each room in the maps + if (do_path_planning == true) + { + std::string bugfile = data_storage_path + "bugfile.txt"; + std::ofstream failed_maps(bugfile.c_str(), std::ios::out); + if (failed_maps.is_open()) + failed_maps << "Maps that had a bug during the simulation and couldn't be finished: " << std::endl; + ROS_INFO("Evaluating the maps."); + for (size_t i=0; i1) + failed_maps << evaluation_data[i].map_name_ << std::endl << error_output.str(); + } + if (failed_maps.is_open()) + failed_maps.close(); + } + + // 4. evaluate the generated paths + // read out the computed paths and calculate the evaluation values + if (do_evaluation == true) + { + ROS_INFO("Reading out all saved paths."); + for (size_t i=0; i& data_saver) + { + for(std::vector::iterator data=data_saver.begin(); data!=data_saver.end(); ++data) + { + // 1. read out the ground truth map + std::string map_name_basic = data->map_name_; + std::size_t pos = data->map_name_.find("_furnitures"); + if (pos != std::string::npos) + map_name_basic = data->map_name_.substr(0, pos); + std::string gt_image_filename = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name_basic + "_gt_segmentation.png"; + std::cout << "Loading ground truth segmentation from: " << gt_image_filename << std::endl; + cv::Mat gt_map = cv::imread(gt_image_filename.c_str(), CV_8U); + cv::threshold(gt_map, gt_map, 250, 255, CV_THRESH_BINARY); + + // load the original map (without furniture if applicable) + std::string original_image_filename = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name_basic + ".png"; + std::cout << "Loading original image from: " << original_image_filename << std::endl; + cv::Mat original_map = cv::imread(original_image_filename.c_str(), CV_8U); + + // combine real floor plan (but not its furniture) and gt_map + for (int y = 0; y < gt_map.rows; y++) + for (int x = 0; x < gt_map.cols; x++) + if (original_map.at(y,x) <= 250) + gt_map.at(y,x) = 0; + + // 2. retrieve the rooms for each ground truth map and get the maps that show only one room each + int label = 1; + std::vector bounding_boxes; + cv::Mat labeled_map; + gt_map.convertTo(labeled_map, CV_32SC1); + for (int y = 0; y < gt_map.rows; y++) + { + for (int x = 0; x < gt_map.cols; x++) + { + if (gt_map.at(y,x)!=255 || labeled_map.at(y,x)!=255) + continue; + + // fill each room area with a unique id + cv::Rect rect; + cv::floodFill(labeled_map, cv::Point(x,y), label, &rect, 0, 0, 8); + + // save the bounding box to retrieve the min/max coordinates + bounding_boxes.push_back(rect); + + ++label; + } + } + std::vector room_maps; + std::vector chosen_bb; + for(int room=1; room(y,x)==room && data->floor_plan_.at(y,x)==255) + room_map.at(y,x) = 255; + + // check for the eroded map (the map that shows the in reality reachable areas) to have enough free pixels + cv::Mat eroded_map; + const int robot_radius_in_pixel = (data->robot_radius_ / data->map_resolution_); + cv::erode(room_map, eroded_map, cv::Mat(), cv::Point(-1, -1), robot_radius_in_pixel); + int number_of_pixels = 0; + for(size_t y=0; y(y,x)==255) + ++number_of_pixels; + + // save room map, if region is big enough + if(number_of_pixels>0) + { + room_maps.push_back(room_map); + chosen_bb.push_back(bounding_boxes[room-1]); +// cv::rectangle(room_map, bounding_boxes[room-1], cv::Scalar(127), 2); +// cv::imshow("room", room_map); +// cv::waitKey(); + } + } + + // combine real floor plan (now including its furniture) and gt_map + for (int y = 0; y < gt_map.rows; y++) + for (int x = 0; x < gt_map.cols; x++) + if (data->floor_plan_.at(y,x) != 255) + gt_map.at(y,x) = 0; + + // save the found room maps and bounding boxes + data->floor_plan_ = gt_map; + data->room_maps_ = room_maps; + data->bounding_boxes_ = chosen_bb; + } + } + + // function that does the whole evaluation for all configs on all rooms of one map + bool planCoveragePaths(ExplorationData& data, const std::vector& configs, const std::string data_storage_path, std::stringstream& error_output) + { + // go trough all configs and do the evaluations + for(std::vector::const_iterator config=configs.begin(); config!=configs.end(); ++config) + { + // create a folder for the log directory + const std::string configuration_folder_name = config->generateConfigurationFolderString() + "/"; + const std::string upper_command = "mkdir -p " + data_storage_path + configuration_folder_name; + int return_value = system(upper_command.c_str()); + + std::cout << "Exploration algorithm: " << config->exploration_algorithm_ << std::endl; + //variables for time measurement + struct timespec t0, t1; + + // go trough all rooms and find the coverage path trough it + std::stringstream output; + cv::Mat path_map = data.floor_plan_.clone(); + for(size_t room_index=0; room_index coverage_path = result_expl->coverage_path; + // transform path to map coordinates + std::cout << "length of path: " << coverage_path.size() << std::endl; + if(coverage_path.size()==0) + { + output << "room " << room_index << " has zero length path" << std::endl << std::endl; + error_output << " room " << room_index << " has zero length path" << std::endl; + continue; + } + const double map_resolution_inv = 1.0/data.map_resolution_; + for(size_t point=0; point 0) + cv::line(path_map, cv::Point(coverage_path[point].x, coverage_path[point].y), cv::Point(coverage_path[point-1].x, coverage_path[point-1].y), cv::Scalar(128), 1); +// std::cout << "coverage_path[" << point << "]: x=" << coverage_path[point].x << ", y=" << coverage_path[point].y << ", theta=" << coverage_path[point].theta << std::endl; +// cv::imshow("path", path_map); +// cv::waitKey(); + } +// cv::imshow("path", path_map); +// cv::waitKey(); + } + const std::string img_filename = data_storage_path + configuration_folder_name + data.map_name_ + "_paths.png"; + cv::imwrite(img_filename.c_str(), path_map); + + const std::string log_filename = data_storage_path + configuration_folder_name + data.map_name_ + "_results.txt"; + std::cout << log_filename << std::endl; + std::ofstream file(log_filename.c_str(), std::ios::out); + if (file.is_open()==true) + file << output.str(); + else + ROS_ERROR("Error on writing file '%s'", log_filename.c_str()); + file.close(); + } + + // if all configurations finished, return a boolean showing success + return true; + } + + // function that plans one coverage path for the given room map + bool planCoveragePath(const cv::Mat& room_map, const ExplorationData& evaluation_data, const ExplorationConfig& evaluation_configuration, + ipa_building_msgs::RoomExplorationResultConstPtr& result_expl) + { + // convert image to message + sensor_msgs::Image map_msg; + cv_bridge::CvImage cv_image; + cv_image.encoding = "mono8"; + cv_image.image = room_map; + cv_image.toImageMsg(map_msg); + + // initialize action server for room exploration + actionlib::SimpleActionClient ac_exp("room_exploration_server", true); + ROS_INFO("Waiting for action server to start."); + ac_exp.waitForServer(); //will wait for infinite time + ROS_INFO("Action server started."); + + // connect to dynamic reconfigure and set planning algorithm + ROS_INFO("Trying to connect to dynamic reconfigure server."); + DynamicReconfigureClient drc_exp(node_handle_, "room_exploration_server/set_parameters", "room_exploration_server/parameter_updates"); + ROS_INFO("Done connecting to the dynamic reconfigure server."); + if (evaluation_configuration.exploration_algorithm_==1) + { + drc_exp.setConfig("room_exploration_algorithm", 1); + ROS_INFO("You have chosen the grid exploration method."); + } + else if(evaluation_configuration.exploration_algorithm_==2) + { + drc_exp.setConfig("room_exploration_algorithm", 2); + ROS_INFO("You have chosen the boustrophedon exploration method."); + } + else if(evaluation_configuration.exploration_algorithm_==3) + { + drc_exp.setConfig("room_exploration_algorithm", 3); + ROS_INFO("You have chosen the neural network exploration method."); + } + else if(evaluation_configuration.exploration_algorithm_==4) + { + drc_exp.setConfig("room_exploration_algorithm", 4); + ROS_INFO("You have chosen the convexSPP exploration method."); + } + else if(evaluation_configuration.exploration_algorithm_==5) + { + drc_exp.setConfig("room_exploration_algorithm", 5); + ROS_INFO("You have chosen the flow network exploration method."); + } + else if(evaluation_configuration.exploration_algorithm_==6) + { + drc_exp.setConfig("room_exploration_algorithm", 6); + ROS_INFO("You have chosen the energy functional exploration method."); + } + else if(evaluation_configuration.exploration_algorithm_==7) + { + drc_exp.setConfig("room_exploration_algorithm", 7); + ROS_INFO("You have chosen the Voronoi exploration method."); + } + + // prepare and send the action message + ipa_building_msgs::RoomExplorationGoal goal; + goal.input_map = map_msg; + goal.map_resolution = evaluation_data.map_resolution_; + goal.map_origin = evaluation_data.map_origin_; + goal.robot_radius = evaluation_data.robot_radius_; + goal.coverage_radius = evaluation_data.coverage_radius_; + goal.field_of_view = evaluation_data.fov_points_; + goal.field_of_view_origin = evaluation_data.fov_origin_; + goal.planning_mode = evaluation_data.planning_mode_; + goal.starting_position = evaluation_data.robot_start_position_; + ac_exp.sendGoal(goal); + + // wait for results for some time + bool finished = false; + if(evaluation_configuration.exploration_algorithm_==5) // different timeout for the flowNetworkExplorator, because it can be much slower than the others + finished = ac_exp.waitForResult(ros::Duration(600)); // todo: adapt if necessary + else + finished = ac_exp.waitForResult(ros::Duration(36000)); + + //if it takes too long the server should be killed and restarted + if (finished == false) + { + std::cout << "action server took too long" << std::endl; + std::string pid_cmd = "pidof room_exploration_server > room_exploration_evaluation/expl_srv_pid.txt"; + int pid_result = system(pid_cmd.c_str()); + std::ifstream pid_reader("room_exploration_evaluation/expl_srv_pid.txt"); + int value; + std::string line; + if (pid_reader.is_open()) + { + while (getline(pid_reader, line)) + { + std::istringstream iss(line); + while (iss >> value) + { + std::cout << "PID of room_exploration_server: " << value << std::endl; + std::stringstream ss; + ss << "kill " << value; + std::string kill_cmd = ss.str(); + int kill_result = system(kill_cmd.c_str()); + std::cout << "kill result: " << kill_result << std::endl; + } + } + pid_reader.close(); + remove("room_exploration_evaluation/expl_srv_pid.txt"); + } + else + { + std::cout << "missing logfile" << std::endl; + } + return false; + } + else + { + // retrieve solution + result_expl = ac_exp.getResult(); + std::cout << "Finished coverage planning successfully!" << std::endl; + + // show success + return true; + } + } + + // function that reads out the calculated paths and does the evaluation + void evaluateCoveragePaths(const ExplorationData& data, const std::vector& configs, const std::string data_storage_path) + { + // evaluate the individual configurations + for(std::vector::const_iterator config=configs.begin(); config!=configs.end(); ++config) + { + evaluateCoveragePaths(data, *config, data_storage_path); + } + } + + // function that reads out the calculated paths and does the evaluation for one configuration + void evaluateCoveragePaths(const ExplorationData& data, const ExplorationConfig& config, const std::string data_storage_path) + { + const std::string configuration_folder_name = config.generateConfigurationFolderString() + "/"; + std::cout << configuration_folder_name << data.map_name_ << std::endl; + + + // 1. get the location of the results and open this file, read out the given paths and computation times for all rooms + std::vector > paths; // in [pixels] + std::vector calculation_times; + readResultsFile(data, config, data_storage_path, paths, calculation_times); + + + // 2. prepare the data + cv::Mat map = data.floor_plan_.clone(); + cv::Point2d fov_circle_center_point_in_px; + double grid_spacing_in_pixel = 0; + computeFOVCenterAndGridSpacing(data, fov_circle_center_point_in_px, grid_spacing_in_pixel); + + // 3. path map, path length, turns, crossings statistics + // overall, average path length and variance of it for the calculated paths and get the numbers of turns + std::vector pathlengths_for_map; // in [m], stores the individual path lengths for each trajectory in each room + std::vector > interpolated_paths; // in [m], variable that stores the rough path points of paths and the cell-fine trajectories between them + int nonzero_paths = 0; + std::vector rotation_values; + std::vector number_of_rotations, number_of_crossings; + cv::Mat path_map = map.clone(); + statisticsPathLengthCrossingsTurns(data, map, path_map, fov_circle_center_point_in_px, paths, interpolated_paths, + pathlengths_for_map, nonzero_paths, number_of_crossings, rotation_values, number_of_rotations); + // save the map with the drawn in coverage paths + const std::string image_path = data_storage_path + configuration_folder_name + data.map_name_ + "_paths_eval.png"; + cv::imwrite(image_path.c_str(), path_map); +// cv::imshow("path_map", path_map); +// cv::waitKey(); + // calculate the overall path length, the average and the stddev + const double pathlength_total = std::accumulate(pathlengths_for_map.begin(), pathlengths_for_map.end(), 0.0); + const double pathlength_mean = pathlength_total / std::max(1.0, (double)pathlengths_for_map.size()); + const double pathlength_stddev = stddev(pathlengths_for_map, pathlength_mean); + std::cout << "Computing and drawing paths completed." << std::endl; + + + // 4. calculate turn specific values + const double rotation_values_total = std::accumulate(rotation_values.begin(), rotation_values.end(), 0.0); + const double rotation_values_mean = rotation_values_total / std::max(1.0, (double)rotation_values.size()); + const double rotation_values_stddev = stddev(rotation_values, rotation_values_mean); + const double number_of_rotations_total = std::accumulate(number_of_rotations.begin(), number_of_rotations.end(), 0.0); + const double number_of_rotations_mean = number_of_rotations_total / std::max(1.0, (double)number_of_rotations.size()); + const double number_of_rotations_stddev = stddev(number_of_rotations, number_of_rotations_mean); + + + // 5. calculate the execution time by using the robot speed and the rotation speed + std::vector travel_times_in_rooms(pathlengths_for_map.size()); + for(size_t i=0; i room_areas; // in [m^2], the area of each room + std::vector area_covered_percentages; // in [0,1], the ratio of coverage for each room + std::vector numbers_of_coverages; // counts how often a map cell has been covered + cv::Mat map_coverage; + cv::Mat map_path_coverage; + statisticsCoverageArea(data, map, path_map, map_coverage, map_path_coverage, paths, interpolated_paths, room_areas, area_covered_percentages, numbers_of_coverages); + // save the map with the drawn in coverage areas + const std::string coverage_image_path = data_storage_path + configuration_folder_name + data.map_name_ + "_coverage_eval.png"; + cv::imwrite(coverage_image_path.c_str(), map_coverage); + // save the map with the drawn in path and coverage areas + const std::string path_coverage_image_path = data_storage_path + configuration_folder_name + data.map_name_ + "_coverage_paths_eval.png"; + cv::imwrite(path_coverage_image_path.c_str(), map_path_coverage); + // calculate average coverage and deviation + const double room_area_mean = std::accumulate(room_areas.begin(), room_areas.end(), 0.0) / std::max(1.0, (double)room_areas.size()); + const double coverage_percentage_mean = std::accumulate(area_covered_percentages.begin(), area_covered_percentages.end(), 0.0) / std::max(1.0, (double)area_covered_percentages.size()); + const double coverage_percentage_stddev = stddev(area_covered_percentages, coverage_percentage_mean); + const double coverage_number_mean = std::accumulate(numbers_of_coverages.begin(), numbers_of_coverages.end(), 0.0) / std::max(1.0, (double)numbers_of_coverages.size()); + const double coverage_number_stddev = stddev(numbers_of_coverages, coverage_number_mean); + std::cout << "Checked coverage for all rooms." << std::endl; + + + // 7. compute average computation time and deviation + const double computation_time_mean = std::accumulate(calculation_times.begin(), calculation_times.end(), 0.0) / std::max(1.0, (double)calculation_times.size()); + const double computation_time_stddev = stddev(calculation_times, computation_time_mean); + + + // 8. parallelism: for each part of the path calculate the parallelism with respect to the nearest wall and the nearest trajectory part + std::vector wall_angle_score_means, trajectory_angle_score_means; // score for parallelism of trajectory to walls and previous parts of the trajectory itself, in range [0,1], high values are good + std::vector revisit_time_means; // vector that stores the index-differences of the current pose and the point of its nearest neighboring trajectory, values in [0,1], low values are good + statisticsParallelism(data, map, path_map, paths, interpolated_paths, grid_spacing_in_pixel, wall_angle_score_means, trajectory_angle_score_means, revisit_time_means); + // calculate mean and stddev of the wall angle scores + const double wall_angle_score_mean = std::accumulate(wall_angle_score_means.begin(), wall_angle_score_means.end(), 0.0) / std::max(1.0, (double)wall_angle_score_means.size()); + const double wall_angle_score_stddev = stddev(wall_angle_score_means, wall_angle_score_mean); + // calculate mean and stddev of the trajectory angle scores + const double trajectory_angle_score_mean = std::accumulate(trajectory_angle_score_means.begin(), trajectory_angle_score_means.end(), 0.0) / std::max(1.0, (double)trajectory_angle_score_means.size()); + const double trajectory_angle_score_stddev = stddev(trajectory_angle_score_means, trajectory_angle_score_mean); + // calculate mean and stddev of the trajectory revisit times + const double revisit_time_mean = std::accumulate(revisit_time_means.begin(), revisit_time_means.end(), 0.0) / std::max(1.0, (double)revisit_time_means.size());; + const double revisit_time_stddev = stddev(revisit_time_means, revisit_time_mean); + std::cout << "Checked parallelism for all rooms." << std::endl; + + + // 9. calculate the number of crossings related values + const double crossings_mean = std::accumulate(number_of_crossings.begin(), number_of_crossings.end(), 0.0) / std::max(1.0, (double)number_of_crossings.size()); + const double crossings_stddev = stddev(number_of_crossings, crossings_mean); + + // 10. calculate the subjective measure for the paths + const double subjective_measure_mean = wall_angle_score_mean + trajectory_angle_score_mean + -0.25*(crossings_mean/room_area_mean + pathlength_mean/room_area_mean + rotation_values_mean/(PI*room_area_mean) + revisit_time_mean); + + + // ---------- 11. store all results to a file ---------- + // print the found average evaluation values to a local file + std::stringstream output; + output << "Expl" << config.exploration_algorithm_ << ", number of rooms: " << paths.size() << ", number of valid paths: " + << nonzero_paths << std::endl; + output << "calculation time average [s]\t" << "calculation time stddev [s]\t" + << "pathlength total [m]\t" << "pathlength average [m]\t" << "pathlength stddev [m]\t" + << "rotation values total [rad]\t" << "rotation values average [rad]\t" << "rotation values stddev [rad]\t" + << "number of rotations total\t" << "number of rotations average\t" << "number of rotations stddev\t" + << "execution time total [s]\t" << "execution time average [s]\t" << "execution time stddev\t" + << "covered area average [0,1]\t" << "covered area stddev\t" << "coverage per map cell average\t" << "coverage per map cell deviation\t" + << "number of crossings average\t" << "number of crossings stddev\t" + << "wall angle score average\t" << "wall angle score stddev\t" + << "trajectory angle score average\t" << "trajectory angle score stddev\t" + << "average time until traj. is near previous traj.\t" << "stddev of revisit time\t" + << "subjective measure\t"<< std::endl; + output << computation_time_mean << "\t" << computation_time_stddev << "\t" + << pathlength_total << "\t" << pathlength_mean << "\t" << pathlength_stddev << "\t" + << rotation_values_total << "\t" << rotation_values_mean << "\t" << rotation_values_stddev << "\t" + << number_of_rotations_total << "\t" << number_of_rotations_mean << "\t" << number_of_rotations_stddev << "\t" + << execution_time_total << "\t" << execution_time_mean << "\t" << execution_time_stddev << "\t" + << coverage_percentage_mean << "\t" << coverage_percentage_stddev << "\t" << coverage_number_mean << "\t" << coverage_number_stddev << "\t" + << crossings_mean << "\t" << crossings_stddev << "\t" + << wall_angle_score_mean << "\t" << wall_angle_score_stddev << "\t" + << trajectory_angle_score_mean << "\t" << trajectory_angle_score_stddev << "\t" + << revisit_time_mean << "\t" << revisit_time_stddev << "\t" + << subjective_measure_mean; + std::string filename = data_storage_path + configuration_folder_name + data.map_name_ + "_results_eval.txt"; + std::ofstream file(filename.c_str(), std::ofstream::out); + if (file.is_open()) + file << output.str(); + else + ROS_ERROR("Could not write to file '%s'.", filename.c_str()); + file.close(); + + // print detailed information for each room to a separate file + if (calculation_times.size()!=pathlengths_for_map.size() || calculation_times.size()!=rotation_values.size() || + calculation_times.size()!=area_covered_percentages.size() || calculation_times.size()!= room_areas.size() || + calculation_times.size()!=trajectory_angle_score_means.size() || calculation_times.size()!= wall_angle_score_means.size() || calculation_times.size()!= revisit_time_means.size() || + calculation_times.size()!=number_of_crossings.size() || calculation_times.size()!=number_of_rotations.size()) + { + std::cout << "Error in evaluation: array sizes do not match:\n calculation_times.size()=" << calculation_times.size() + << "\n pathlengths_for_map.size()=" << pathlengths_for_map.size() << "\n rotation_values.size()=" << rotation_values.size() + << "\n area_covered_percentages.size()=" << area_covered_percentages.size() << "\n room_areas.size()=" << room_areas.size() + << "\n trajectory_angle_score_means.size()=" << trajectory_angle_score_means.size() << "\n room_wall_averages.size()=" << wall_angle_score_means.size() + << "\n room_revisit_averages.size()=" << revisit_time_means.size() << "\n numbers_of_crossings.size()=" << number_of_crossings.size() + << "\n number_of_rotations.size()=" << number_of_rotations.size() << std::endl; + } + std::stringstream output2; + for (size_t i=0; i >& paths, std::vector& calculation_times) + { + // 1. get the location of the results and open this file + const std::string configuration_folder_name = config.generateConfigurationFolderString() + "/"; + std::string log_filename = data_storage_path + configuration_folder_name + data.map_name_ + "_results.txt"; + std::cout << "Reading file " << log_filename << std::endl; + std::ifstream reading_file(log_filename.c_str(), std::ios::in); + + // 2. if the file could be opened, read out the given paths for all rooms + std::vector current_path; + if (reading_file.is_open()==true) + { + std::string line; + bool initial = true; + while(getline(reading_file, line)) + { + // check if the current line is empty --> shows a new room + if(line.empty()==true) + { + // save the previously found calculation times and paths + paths.push_back(current_path); + // reset temporary vectors + current_path.clear(); + // set the flag to a new room + initial = true; + // ignore the empty line + continue; + } + + // if the new line is the first after an empty line, it contains the calculation time + if(initial==true) + { + // if the time limit was exceeded or a bug appeared, save a -1 + if(line.find("exceeded")!=std::string::npos || line.find("bug")!=std::string::npos) + { + //std::cout << "bug or exceeded calculation time" << std::endl; + // set max calculation time +// if(config.exploration_algorithm_==5) // higher max time for flowNetwork explorator +// calculation_time = 10800; +// else +// calculation_time = 1800; + + // save a invalid pose, to show that this room has no coverage path + geometry_msgs::Pose2D false_pose; + false_pose.x = -1; + false_pose.y = -1; + current_path.push_back(false_pose); + } + else + { + const char* str = line.c_str(); + double calculation_time = 0.; + sscanf(str, "%*[^0-9]%lf", &calculation_time); + calculation_times.push_back(calculation_time); + //std::cout << "calculation time: " << calculation_time << "s" << std::endl; + } + initial = false; + } + // else read out x,y and theta and create a new Pose + else + { + double x=0., y=0., theta=0.; + std::istringstream iss(line); + int pos_counter = 0; + std::string buffer; + + // get saved output until comma or the end of the line is reached + while(getline(iss, buffer, ',')) + { + // remove brackets + buffer.erase(std::remove(buffer.begin(), buffer.end(), '['), buffer.end()); + buffer.erase(std::remove(buffer.begin(), buffer.end(), ']'), buffer.end()); + + // save value regarding the position of it + if(pos_counter==0) + x = atof(buffer.c_str()); + else if(pos_counter==1) + y = atof(buffer.c_str()); + else if(pos_counter==2) + theta = atof(buffer.c_str()); + + // increase position counter + ++pos_counter; + + } + //std::cout << " x: " << x << ", y: " << y << ", theta: " << theta << std::endl; + + // save the found pose + if(x>0 && y>0) + { + geometry_msgs::Pose2D current_pose; + current_pose.x = x; + current_pose.y = y; + current_pose.theta = theta; + current_path.push_back(current_pose); + } + } + } + } + else + { + ROS_WARN("Error on reading file '%s'", log_filename.c_str()); + return false; + } + reading_file.close(); + + std::cout << "Finished reading file " << log_filename << std::endl; + + return true; + } + + void computeFOVCenterAndGridSpacing(const ExplorationData& data, cv::Point2d& fov_circle_center_point_in_px, double& grid_spacing_in_pixel) + { + // find the middle-point distance of the given field of view + std::vector > fov_corners_meter(4); + for(int i = 0; i < 4; ++i) + fov_corners_meter[i] << data.fov_points_[i].x, data.fov_points_[i].y; + float fitting_circle_radius_in_meter=0; + Eigen::Matrix fitting_circle_center_point_in_meter; + computeFOVCenterAndRadius(fov_corners_meter, fitting_circle_radius_in_meter, fitting_circle_center_point_in_meter, 1000); + // convert the middle-point to pixel measures + fov_circle_center_point_in_px = cv::Point2d(fitting_circle_center_point_in_meter(0,0)/data.map_resolution_, fitting_circle_center_point_in_meter(1,0)/data.map_resolution_); + // determine the grid spacing + double grid_spacing_in_meter = 0.0; // is the square grid cell side length that fits into the circle with the robot's coverage radius or fov coverage radius + if(data.planning_mode_ == FIELD_OF_VIEW) // derive grid spacing from FOV + { + // get the edge length of the grid square that fits into the fitting_circle_radius + grid_spacing_in_meter = fitting_circle_radius_in_meter*std::sqrt(2); + } + else // if planning should be done for the footprint, read out the given coverage radius + { + grid_spacing_in_meter = data.coverage_radius_*std::sqrt(2); + } + grid_spacing_in_pixel = grid_spacing_in_meter/data.map_resolution_; // is the square grid cell side length that fits into the circle with the robot's coverage radius or fov coverage radius, multiply with sqrt(2) to receive the whole working width + std::cout << "grid size: " << grid_spacing_in_meter << " m (" << grid_spacing_in_pixel << " px)" << std::endl; + } + + // compute the direction of the gradient for each pixel and save the occurring gradients + cv::Mat computeGradientMap(const cv::Mat& map, bool return_angles=false) + { + // calculate the gradient x/y directions for each pixel in the map + cv::Mat gradient_x, gradient_y; + cv::Mat gradient_map; + cv::Sobel(map, gradient_x, CV_64F, 1, 0, 3, 1.0, 0.0, cv::BORDER_DEFAULT); + cv::Sobel(map, gradient_y, CV_64F, 0, 1, 3, 1.0, 0.0, cv::BORDER_DEFAULT); + + if (return_angles==true) + { + gradient_map = cv::Mat(map.rows, map.cols, CV_64F, cv::Scalar(0)); + // compute the direction of the gradient for each pixel and save the occurring gradients + for(size_t y=0; y(y,x); + int dy = gradient_y.at(y,x); + if(dy*dy+dx*dx!=0) + { + double current_gradient = std::atan2(dy, dx); + gradient_map.at(y,x) = current_gradient; + } + } + } + } + else + { + std::vector channels; + channels.push_back(gradient_x); + channels.push_back(gradient_y); + cv::merge(channels, gradient_map); + } + return gradient_map; + } + + // path map, path length, turns, crossings statistics + void statisticsPathLengthCrossingsTurns(const ExplorationData& data, const cv::Mat& map, cv::Mat& path_map, const cv::Point2d& fov_circle_center_point_in_px, + const std::vector >& paths, std::vector >& interpolated_paths, + std::vector& pathlengths_for_map, int& nonzero_paths, std::vector& number_of_crossings, + std::vector& rotation_values, std::vector& number_of_rotations) + { + AStarPlanner path_planner; + MapAccessibilityAnalysis map_accessibility_analysis; + cv::Mat inflated_map; + const int robot_radius_in_pixel = floor(data.robot_radius_ / data.map_resolution_); + map_accessibility_analysis.inflateMap(map, inflated_map, robot_radius_in_pixel); + interpolated_paths.resize(paths.size()); + + // draw paths + for(size_t room=0; room this should never happen."); + continue; + } + found_initial_pose = findAccessiblePose(inflated_map, current_pose_px, current_pose_px, data, fov_circle_center_point_in_px, false); + if (found_initial_pose == true) + break; + } + if(found_initial_pose == false) + { + // if any starting pose works, use first pose for further computations to achieve proper error handling + ROS_WARN("ExplorationEvaluation:evaluateCoveragePaths: No starting position is accessible."); + current_pose_px = paths[room][0]; + size_t initial_pose_index = 0; + } + geometry_msgs::Pose2D initial_pose_m; // in [m] + initial_pose_m.x = (current_pose_px.x*data.map_resolution_)+data.map_origin_.position.x; + initial_pose_m.y = (current_pose_px.y*data.map_resolution_)+data.map_origin_.position.y; + initial_pose_m.theta = current_pose_px.theta; + std::vector current_pose_path_meter; // in [m,m,rad] + current_pose_path_meter.push_back(initial_pose_m); + + // loop through trajectory points + for(std::vector::const_iterator pose_px=paths[room].begin()+initial_pose_index+1; pose_px!=paths[room].end(); ++pose_px) + { + // if a false pose has been saved, skip it + if(current_pose_px.x==-1 && current_pose_px.y==-1) + { + ROS_WARN("ExplorationEvaluation:evaluateCoveragePaths: current_pose_px.x==-1 && current_pose_px.y==-1 --> this should never happen."); + continue; + } + + // find an accessible next pose + geometry_msgs::Pose2D next_pose_px = *pose_px; + bool found_next = findAccessiblePose(inflated_map, current_pose_px, next_pose_px, data, fov_circle_center_point_in_px); + if(found_next==false) + { + std::cout << " skipping next_pose_px=(" << next_pose_px.x << "," << next_pose_px.y << ") inaccessible from current_pose_px=(" << current_pose_px.x << "," << current_pose_px.y << ")" << std::endl; + continue; // if no accessible position could be found, go to next possible path point + } + + // find pathlength and path between two consecutive poses + std::vector current_interpolated_path; // vector that stores the current path from one pose to another + const cv::Point current_pose_px_pt(current_pose_px.x, current_pose_px.y); + const cv::Point next_pose_px_pt(next_pose_px.x, next_pose_px.y); + // first query for direct current_pose_px_pt to next_pose_px_pt connection + double length_planner = generateDirectConnection(inflated_map, current_pose_px_pt, next_pose_px_pt, current_interpolated_path); + if (length_planner < 0.) // kind of a hack: if there is no accessible connection between two points, try to find a path on the original (not inflated) map, this path could possibly not be driven by the robot in reality + length_planner = generateDirectConnection(map, current_pose_px_pt, next_pose_px_pt, current_interpolated_path); + // use A* if there is no direct connection + if (length_planner < 0.) + length_planner = path_planner.planPath(inflated_map, current_pose_px_pt, next_pose_px_pt, 1.0, 0.0, data.map_resolution_, 0, ¤t_interpolated_path); + // kind of a hack: if there is no accessible connection between two points, try to find a path on the original (not inflated) map, this path could possibly not be driven by the robot in reality + if (current_interpolated_path.size()==0) + length_planner = path_planner.planPath(map, current_pose_px_pt, next_pose_px_pt, 1.0, 0.0, data.map_resolution_, 0, ¤t_interpolated_path); + current_pathlength += (length_planner>1e90 || length_planner<0 ? cv::norm(cv::Point(next_pose_px.x-current_pose_px.x, next_pose_px.y-current_pose_px.y)) : length_planner); + + // if there is any proper connection between the two points, just use the goal point as "path" + if (current_interpolated_path.size()<2) + { + current_interpolated_path.push_back(cv::Point(current_pose_px.x, current_pose_px.y)); + current_interpolated_path.push_back(cv::Point(next_pose_px.x, next_pose_px.y)); + } + + // transform the cv::Point path to geometry_msgs::Pose2D --> last point has, first point was already gone a defined angle + // also create output map to show path --> and check if one point has already been visited + bool has_crossing = false; + //cv::circle(path_map, cv::Point(next_pose_px.x, next_pose_px.y), 1, cv::Scalar(196), CV_FILLED); + for(std::vector::iterator point=current_interpolated_path.begin()+1; point!=current_interpolated_path.end(); ++point) + { + // check if point has been visited before and draw point into map + if(path_map.at(*point)==127) + has_crossing = true; + else + path_map.at(*point)=127; + + // transform to world coordinates + geometry_msgs::Pose2D current_pose; + current_pose.x = (point->x*data.map_resolution_)+data.map_origin_.position.x; + current_pose.y = (point->y*data.map_resolution_)+data.map_origin_.position.y; + current_pose.theta = 0; // the angles are computed afterwards with some smoothing interpolation + + // add the pose to the path + current_pose_path_meter.push_back(current_pose); + } + if (has_crossing == true) + ++current_number_of_crossings; + + // set robot_position to new one + current_pose_px = next_pose_px; + } + + // angles and turn: compute the angles along the pixel-wise path and add to the cumulative rotation + const int offset = 2; + for (size_t i=0; i1) + { + double angle_difference = current_pose_path_meter[i].theta - current_pose_path_meter[i-1].theta; + angle_difference = std::abs(angles::normalize_angle(angle_difference)); + current_rotation_abs += angle_difference; + if (angle_difference > 0.52) // only count substantial rotations > 30deg + ++current_number_of_rotations; + } + } + + // save number of crossings of the path + number_of_crossings.push_back(current_number_of_crossings); + + // save rotation values + rotation_values.push_back(current_rotation_abs); + number_of_rotations.push_back(current_number_of_rotations); + + // save the interpolated path between + interpolated_paths[room]=current_pose_path_meter; + + // transform the pixel length to meter + current_pathlength *= data.map_resolution_; + pathlengths_for_map.push_back(current_pathlength); + } + } + + void statisticsCoverageArea(const ExplorationData& data, const cv::Mat& map, const cv::Mat& path_map, cv::Mat& map_coverage, cv::Mat& map_path_coverage, + const std::vector >& paths, const std::vector >& interpolated_paths, + std::vector& room_areas, std::vector& area_covered_percentages, std::vector& numbers_of_coverages) + { + map_coverage = map.clone(); + for(size_t room=0; room convert path to cv format + std::vector path; + for (size_t i=0; i convert field of view to Eigen format + std::vector > field_of_view; + for(size_t i = 0; i < data.fov_points_.size(); ++i) + { + Eigen::Matrix current_vector; + current_vector << data.fov_points_[i].x, data.fov_points_[i].y; + field_of_view.push_back(current_vector); + } + // --> convert field of view origin to Eigen format + Eigen::Matrix fov_origin; + fov_origin << data.fov_origin_.x, data.fov_origin_.y; + // --> call coverage checker + CoverageCheckServer coverage_checker; + if (coverage_checker.checkCoverage(data.room_maps_[room], data.map_resolution_, cv::Point2d(data.map_origin_.position.x, data.map_origin_.position.y), + path, field_of_view, fov_origin, data.coverage_radius_, (data.planning_mode_==FOOTPRINT), true, coverage_map, number_of_coverage_image) == true) + { + for (int v=0; v(v,u)==127) + map_coverage.at(v,u)=208; + } + else + { + ROS_INFO("Error when calling the coverage check server."); + } + + // service interface - can be deleted +// // use the coverage check server to check which areas have been seen +// ipa_building_msgs::CheckCoverageRequest coverage_request; +// ipa_building_msgs::CheckCoverageResponse coverage_response; +// // fill request +// std::string coverage_service_name = "/room_exploration/coverage_check_server/coverage_check"; +// // cv::Mat eroded_room_map; +// // cv::erode(data.room_maps_[room], eroded_room_map, cv::Mat(), cv::Point(-1, -1), robot_radius_in_pixel); +// sensor_msgs::ImageConstPtr service_image; +// cv_bridge::CvImage cv_image; +// cv_image.encoding = "mono8"; +// cv_image.image = data.room_maps_[room]; //eroded_room_map; +// service_image = cv_image.toImageMsg(); +// coverage_request.map_resolution = data.map_resolution_; +// coverage_request.input_map = *service_image; +// coverage_request.map_origin = data.map_origin_; +// coverage_request.path = interpolated_paths[room]; +// coverage_request.field_of_view = data.fov_points_; +// coverage_request.field_of_view_origin = data.fov_origin_; +// coverage_request.coverage_radius = data.coverage_radius_; +// if (data.planning_mode_ == FOOTPRINT) +// coverage_request.check_for_footprint = true; +// else if (data.planning_mode_ == FIELD_OF_VIEW) +// coverage_request.check_for_footprint = false; +// coverage_request.check_number_of_coverages = true; +// // send request +// if(ros::service::call(coverage_service_name, coverage_request, coverage_response)==true) +// { +// cv_bridge::CvImagePtr cv_ptr_obj; +// cv_ptr_obj = cv_bridge::toCvCopy(coverage_response.coverage_map, sensor_msgs::image_encodings::MONO8); +// coverage_map = cv_ptr_obj->image; +// +// for (int v=0; v(v,u)==127) +// map_coverage.at(v,u)=208; +// +// cv_ptr_obj = cv_bridge::toCvCopy(coverage_response.number_of_coverage_image, sensor_msgs::image_encodings::TYPE_32SC1); +// number_of_coverages_image = cv_ptr_obj->image; +// } +// else +// { +// ROS_INFO("Error when calling the coverage check server."); +// } +// cv::imshow("seen", coverage_map); +// cv::waitKey(); + + // get the area of the whole room + const int white_room_pixels = cv::countNonZero(data.room_maps_[room]); + const double room_area = data.map_resolution_ * data.map_resolution_ * (double) white_room_pixels; + room_areas.push_back(room_area); + + // get the covered area of the room + cv::threshold(coverage_map, coverage_map, 150, 255, cv::THRESH_BINARY); // covered area drawn in as 127 --> find still white pixels + const int not_covered_pixels = cv::countNonZero(coverage_map); + const double not_covered_area = data.map_resolution_ * data.map_resolution_ * (double) not_covered_pixels; + + // get and save the percentage of coverage + double coverage_percentage = (room_area-not_covered_area)/room_area; + area_covered_percentages.push_back(coverage_percentage); + + // check how often pixels have been covered + double average_coverage_number = 0.0, coverage_number_deviation = 0.0; + for(size_t u=0; u(u,v)!=0) + numbers_of_coverages.push_back(number_of_coverage_image.at(u,v)); + } + // create the map with the drawn in path and coverage areas + map_path_coverage = map.clone(); + for (int v=0; v(v,u)==255) + map_path_coverage.at(v,u) = 176; // leftover uncovered areas + if (path_map.at(v,u)==127 || path_map.at(v,u)==196) + map_path_coverage.at(v,u) = path_map.at(v,u); + } + } + } + + void statisticsParallelism(const ExplorationData& data, const cv::Mat& map, const cv::Mat& path_map, + const std::vector >& paths, const std::vector >& interpolated_paths, + const double grid_spacing_in_pixel, + std::vector& wall_angle_score_means, std::vector& trajectory_angle_score_means, std::vector& revisit_time_means) + { + // compute the direction of the gradient for each pixel and save the occurring gradients + cv::Mat gradient_map = computeGradientMap(map); + + const double trajectory_parallelism_check_range = 2.0*grid_spacing_in_pixel; //1.0/data.map_resolution_; // valid check-radius when checking for the parallelism to another part of the trajectory, [pixels] + for (size_t room=0; room current_wall_angle_scores, current_trajectory_angle_scores; // values in [0,1], high values are good + std::vector current_revisit_times; // values in [0,1], low values are good + for (std::vector::const_iterator pose=paths[room].begin(); pose!=paths[room].end()-1; ++pose) + { + double dx = (pose+1)->x - pose->x; + double dy = (pose+1)->y - pose->y; + double norm = std::sqrt(dy*dy + dx*dx); + if(norm==0) + continue; // skip if the point and its successor are the same + dx = dx/norm; + dy = dy/norm; + + // go in the directions of both normals and find the nearest wall + bool hit_wall = false, hit_trajectory = false, exceeded_trajectory_parallelism_check_range = false; + bool n1_ok = true, n2_ok = true; + cv::Point2f n1(pose->x, pose->y), n2(pose->x, pose->y); + cv::Point wall_pixel, trajectory_pixel; + do + { + // update normals + n1.x -= dy; + n1.y += dx; + n2.x += dy; + n2.y -= dx; + + // test for coordinates inside image + if (n1.x<0.f || n1.y<0.f || (int)n1.x >= map.cols || (int)n1.y >= map.rows) + n1_ok = false; + if (n2.x<0.f || n2.y<0.f || (int)n2.x >= map.cols || (int)n2.y >= map.rows) + n2_ok = false; + + // test if a wall/obstacle has been hit + if (hit_wall==false && n1_ok==true && map.at(n1)==0) + { + hit_wall = true; + n1_ok = false; // do not further search with direction that has found a wall + wall_pixel = n1; + } + else if (hit_wall==false && n2_ok==true && map.at(n2)==0) + { + hit_wall = true; + n2_ok = false; // do not further search with direction that has found a wall + wall_pixel = n2; + } + + // only search for the parallelism to another trajectory if the range hasn't been exceeded yet + if (exceeded_trajectory_parallelism_check_range==false && hit_trajectory==false) + { + // test if another trajectory part has been hit, if the check-radius is still satisfied + const double dist1 = cv::norm(n1-cv::Point2f(pose->x, pose->y)); + const double dist2 = cv::norm(n2-cv::Point2f(pose->x, pose->y)); + + if (n1_ok==true && dist1<=trajectory_parallelism_check_range && path_map.at(n1)==127) + { + hit_trajectory = true; + trajectory_pixel = n1; + } + else if (n2_ok==true && dist2<=trajectory_parallelism_check_range && path_map.at(n2)==127) + { + hit_trajectory = true; + trajectory_pixel = n2; + } + + // if both distances exceed the valid check range, mark as finished + if (dist1>trajectory_parallelism_check_range && dist2>trajectory_parallelism_check_range) + exceeded_trajectory_parallelism_check_range = true; + } + +// cv::Mat test_map = map.clone(); +// cv::circle(test_map, cv::Point(pose->x, pose->y), 2, cv::Scalar(127), CV_FILLED); +// cv::circle(test_map, cv::Point((pose+1)->x, (pose+1)->y), 2, cv::Scalar(127), CV_FILLED); +// cv::circle(test_map, n1, 2, cv::Scalar(127), CV_FILLED); +// cv::circle(test_map, n2, 2, cv::Scalar(127), CV_FILLED); +// cv::imshow("normals", test_map); +// cv::waitKey(); + } while ((n1_ok || n2_ok) && ((hit_wall==false) || (hit_trajectory==false && exceeded_trajectory_parallelism_check_range==false))); + + // if a wall/obstacle was found, determine the gradient at this position and compare it to the direction of the path + if (hit_wall==true) + { + cv::Vec2d gradient = gradient_map.at(wall_pixel); + cv::Point2f normal_vector(-gradient.val[1], gradient.val[0]); + const double normal_norm = cv::norm(normal_vector); + normal_vector *= (float)(normal_norm!=0. ? 1./normal_norm : 1.); + const double delta_theta = std::acos(normal_vector.x*dx + normal_vector.y*dy); + const double delta_theta_score = std::abs(0.5*PI-delta_theta)*(1./(0.5*PI));// parallel if delta_theta close to 0 or PI + current_wall_angle_scores.push_back(delta_theta_score); + } + + // if another trajectory part could be found, determine the parallelism to it + if (hit_trajectory==true) + { + // find the trajectory point in the interpolated path + cv::Point2f trajectory_point_m((trajectory_pixel.x*data.map_resolution_)+data.map_origin_.position.x, (trajectory_pixel.y*data.map_resolution_)+data.map_origin_.position.y); // transform in world coordinates + int pose_index = pose-paths[room].begin(); + int neighbor_index = -1; + for (std::vector::const_iterator neighbor=interpolated_paths[room].begin(); neighbor!=interpolated_paths[room].end(); ++neighbor) + if (cv::norm(trajectory_point_m-cv::Point2f(neighbor->x,neighbor->y)) < 0.5*data.map_resolution_) + neighbor_index = neighbor-interpolated_paths[room].begin(); + if (neighbor_index == -1) + ROS_WARN("ExplorationEvaluation:evaluateCoveragePaths: parallelism check to trajectory, neighbor_index==-1 --> did not find the neighbor for trajectory point (%f,%f)m.", trajectory_point_m.x, trajectory_point_m.y); +// std::cout << "index: " << pose_index << ", n: " << neighbor_index << std::endl; + + // save the found index difference, i.e. the difference in percentage of path completion between current node and neighboring path point + current_revisit_times.push_back(std::abs((double)pose_index/(double)paths[room].size() - (double)neighbor_index/(double)interpolated_paths[room].size())); + + // calculate the trajectory direction at the neighbor to get the difference + const double n_dx = cos(interpolated_paths[room][neighbor_index].theta); + const double n_dy = sin(interpolated_paths[room][neighbor_index].theta); + const double delta_theta = std::acos(n_dx*dx + n_dy*dy); // acos delivers in range [0,Pi] + const double delta_theta_score = std::abs(0.5*PI-delta_theta)*(1./(0.5*PI));// parallel if delta_theta close to 0 or PI + current_trajectory_angle_scores.push_back(delta_theta_score); + } + } + // save found values + wall_angle_score_means.push_back(std::accumulate(current_wall_angle_scores.begin(), current_wall_angle_scores.end(), 0.0) / std::max(1.0, (double)current_wall_angle_scores.size())); + trajectory_angle_score_means.push_back(std::accumulate(current_trajectory_angle_scores.begin(), current_trajectory_angle_scores.end(), 0.0) / std::max(1.0, (double)current_trajectory_angle_scores.size())); + revisit_time_means.push_back(std::accumulate(current_revisit_times.begin(), current_revisit_times.end(), 0.0) / std::max(1.0, (double)current_revisit_times.size())); + } + } + + bool findAccessiblePose(const cv::Mat& inflated_map, const geometry_msgs::Pose2D& current_pose_px, geometry_msgs::Pose2D& target_pose_px, const ExplorationData& data, + const cv::Point2d fov_circle_center_point_in_px, const bool approach_path_accessibility_check=true) + { + MapAccessibilityAnalysis map_accessibility_analysis; + bool found_next = false; + if(inflated_map.at(target_pose_px.y, target_pose_px.x)!=0) // if calculated target pose is accessible, use it as next pose + { + found_next = true; + } + else // use the map accessibility server to find another accessible target pose + { + const MapAccessibilityAnalysis::Pose target_pose_px_copy(target_pose_px.x, target_pose_px.y, target_pose_px.theta); + if (data.planning_mode_ == FOOTPRINT || (fov_circle_center_point_in_px.x==0 && fov_circle_center_point_in_px.y==0)) // if the fov center is at the robot center it behaves like footprint planning + { + const int max_radius = std::max(1, cvRound(1.55*data.coverage_radius_/data.map_resolution_)); // in [pixel] + // check circles with growing radius around the desired point until a dislocation of data.coverage_radius_ would be exceeded + for (double radius=1; radius<=max_radius && found_next==false; ++radius) + { + // check perimeter for accessible poses + std::vector accessible_poses_on_perimeter; + map_accessibility_analysis.checkPerimeter(accessible_poses_on_perimeter, target_pose_px_copy, radius, PI/32., inflated_map, + approach_path_accessibility_check, cv::Point(current_pose_px.x, current_pose_px.y)); + + // find the closest accessible point on this perimeter + double min_distance_sqr = std::numeric_limits::max(); + for(std::vector::iterator new_pose=accessible_poses_on_perimeter.begin(); new_pose!=accessible_poses_on_perimeter.end(); ++new_pose) + { + const double dist_sqr = (new_pose->x-current_pose_px.x)*(new_pose->x-current_pose_px.x) + (new_pose->y-current_pose_px.y)*(new_pose->y-current_pose_px.y); + if (dist_sqr < min_distance_sqr) + { + target_pose_px.x = cvRound(new_pose->x); // the approach_path_accessibility_check uses (u,v) coordinates obtained with cvRound, so this has to be used + target_pose_px.y = cvRound(new_pose->y); // here for rounding as well, otherwise the robot can slip into the inaccessible space through rounding + //target_pose_px.theta = target_pose_px.theta; // use the orientation of the original pose + min_distance_sqr = dist_sqr; + found_next = true; + } + } + } + } + else if (data.planning_mode_ == FIELD_OF_VIEW) + { + // get the desired FoV-center position + MapAccessibilityAnalysis::Pose fov_center_px; // in [px,px,rad] + fov_center_px.x = (target_pose_px_copy.x + std::cos(target_pose_px_copy.orientation)*fov_circle_center_point_in_px.x - std::sin(target_pose_px_copy.orientation)*fov_circle_center_point_in_px.y); + //fov_center_px.x = (fov_center_px.x-data.map_origin_.position.x) / data.map_resolution_; + fov_center_px.y = (target_pose_px_copy.y + std::sin(target_pose_px_copy.orientation)*fov_circle_center_point_in_px.x + std::cos(target_pose_px_copy.orientation)*fov_circle_center_point_in_px.y); + //fov_center_px.y = (fov_center_px.y-data.map_origin_.position.y) / data.map_resolution_; + fov_center_px.orientation = target_pose_px_copy.orientation; + + std::cout << "target_pose_px_copy: " << target_pose_px_copy.x << ", " << target_pose_px_copy.y << ", " << target_pose_px_copy.orientation << std::endl; + std::cout << "fov_center_px: " << fov_center_px.x << ", " << fov_center_px.y << ", " << fov_center_px.orientation << std::endl; + + const double optimal_distance_to_fov_center = cv::norm(fov_circle_center_point_in_px); + for (double factor_add=0.; factor_add<0.45 && found_next==false; factor_add*=-1.) + { + const double factor = 1.0 + factor_add; + if (factor_add<=0.) + factor_add -= 0.1; + + // check perimeter for accessible poses + std::vector accessible_poses_on_perimeter; + map_accessibility_analysis.checkPerimeter(accessible_poses_on_perimeter, fov_center_px, factor*optimal_distance_to_fov_center, + PI/32., inflated_map, approach_path_accessibility_check, cv::Point(current_pose_px.x, current_pose_px.y)); + + // find the closest accessible point on this perimeter + double min_distance_sqr = std::numeric_limits::max(); + for(std::vector::iterator new_pose=accessible_poses_on_perimeter.begin(); new_pose!=accessible_poses_on_perimeter.end(); ++new_pose) + { + const double dist_sqr = (new_pose->x-target_pose_px_copy.x)*(new_pose->x-target_pose_px_copy.x) + (new_pose->y-target_pose_px_copy.y)*(new_pose->y-target_pose_px_copy.y); + if (dist_sqr < min_distance_sqr) + { + target_pose_px.x = cvRound(new_pose->x); // the approach_path_accessibility_check uses (u,v) coordinates obtained with cvRound, so this has to be used + target_pose_px.y = cvRound(new_pose->y); // here for rounding as well, otherwise the robot can slip into the inaccessible space through rounding + target_pose_px.theta = new_pose->orientation; + min_distance_sqr = dist_sqr; + found_next = true; + } + } + } + } + } + return found_next; + } + + // return path length if a direct connection is possible, otherwise -1 + double generateDirectConnection(const cv::Mat& map, const cv::Point& start, const cv::Point& goal, std::vector& current_interpolated_path) + { + if (start==goal) + return 0.; + + // try with direct connecting line + cv::LineIterator it(map, start, goal); + bool direct_connection = true; + for (int k=0; k1 ? std::sqrt(2.) : 1); + current_interpolated_path[k] = it2.pos(); + } + return length; + } + + return -1.; + } + + // accumulate all statistics into one file + void writeCumulativeStatistics(const std::vector& evaluation_data, const std::vector& configs, + const std::string& data_storage_path) + { + for(std::vector::const_iterator config=configs.begin(); config!=configs.end(); ++config) + { + const std::string configuration_folder_name = config->generateConfigurationFolderString() + "/"; + std::stringstream cumulative_statistics; + for (size_t i=0; i0) + cumulative_statistics << line << std::endl; + } + else + ROS_ERROR("Could not open file '%s' for reading cumulative data.", filename.c_str()); + file.close(); + } + const std::string filename_out = data_storage_path + configuration_folder_name + "all_evaluations_per_room.txt"; + std::ofstream file_out(filename_out.c_str(), std::ofstream::out); + if (file_out.is_open()) + file_out << cumulative_statistics.str(); + else + ROS_ERROR("Could not open file '%s' for writing cumulative data.", filename_out.c_str()); + file_out.close(); + } + } +}; + +int main(int argc, char **argv) +{ + ros::init(argc, argv, "room_exploration_evaluation"); + ros::NodeHandle nh; + + const std::string test_map_path = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/"; + const std::string data_storage_path = "room_exploration_evaluation/"; + + // prepare relevant floor map data + std::vector< std::string > map_names; + map_names.push_back("lab_ipa"); + map_names.push_back("lab_c_scan"); + map_names.push_back("Freiburg52_scan"); +// map_names.push_back("Freiburg79_scan"); +// map_names.push_back("lab_b_scan"); +// map_names.push_back("lab_intel"); +// map_names.push_back("Freiburg101_scan"); +// map_names.push_back("lab_d_scan"); +// map_names.push_back("lab_f_scan"); +// map_names.push_back("lab_a_scan"); +// map_names.push_back("NLB"); +// map_names.push_back("office_a"); +// map_names.push_back("office_b"); +// map_names.push_back("office_c"); +// map_names.push_back("office_d"); +// map_names.push_back("office_e"); +// map_names.push_back("office_f"); +// map_names.push_back("office_g"); +// map_names.push_back("office_h"); +// map_names.push_back("office_i"); +// map_names.push_back("lab_ipa_furnitures"); +// map_names.push_back("lab_c_scan_furnitures"); +// map_names.push_back("Freiburg52_scan_furnitures"); +// map_names.push_back("Freiburg79_scan_furnitures"); +// map_names.push_back("lab_b_scan_furnitures"); +// map_names.push_back("lab_intel_furnitures"); +// map_names.push_back("Freiburg101_scan_furnitures"); +// map_names.push_back("lab_d_scan_furnitures"); +// map_names.push_back("lab_f_scan_furnitures"); +// map_names.push_back("lab_a_scan_furnitures"); +// map_names.push_back("NLB_furnitures"); +// map_names.push_back("office_a_furnitures"); +// map_names.push_back("office_b_furnitures"); +// map_names.push_back("office_c_furnitures"); +// map_names.push_back("office_d_furnitures"); +// map_names.push_back("office_e_furnitures"); +// map_names.push_back("office_f_furnitures"); +// map_names.push_back("office_g_furnitures"); +// map_names.push_back("office_h_furnitures"); +// map_names.push_back("office_i_furnitures"); + + std::vector exploration_algorithms; +// exploration_algorithms.push_back(1); // grid point exploration + exploration_algorithms.push_back(2); // boustrophedon exploration +// exploration_algorithms.push_back(3); // neural network exploration +// exploration_algorithms.push_back(4); // convex SPP exploration +// exploration_algorithms.push_back(5); // flow network exploration +// exploration_algorithms.push_back(6); // energy functional exploration +// exploration_algorithms.push_back(7); // voronoi exploration + + // coordinate system definition: x points in forward direction of robot and camera, y points to the left side of the robot and z points upwards. x and y span the ground plane. + // measures in [m] + std::vector fov_points(4); +// fov_points[0].x = 0.04035; // this field of view represents the off-center iMop floor wiping device +// fov_points[0].y = -0.136; +// fov_points[1].x = 0.04035; +// fov_points[1].y = 0.364; +// fov_points[2].x = 0.54035; // todo: this definition is mirrored on x (y-coordinates are inverted) to work properly --> check why, make it work the intuitive way +// fov_points[2].y = 0.364; +// fov_points[3].x = 0.54035; +// fov_points[3].y = -0.136; +// int planning_mode = 2; // viewpoint planning +// fov_points[0].x = 0.15; // this field of view fits a Asus Xtion sensor mounted at 0.63m height (camera center) pointing downwards to the ground in a respective angle +// fov_points[0].y = 0.35; +// fov_points[1].x = 0.15; +// fov_points[1].y = -0.35; +// fov_points[2].x = 1.15; +// fov_points[2].y = -0.65; +// fov_points[3].x = 1.15; +// fov_points[3].y = 0.65; +// int planning_mode = 2; // viewpoint planning + fov_points[0].x = -0.3; // this is the working area of a vacuum cleaner with 60 cm width + fov_points[0].y = 0.3; + fov_points[1].x = -0.3; + fov_points[1].y = -0.3; + fov_points[2].x = 0.3; + fov_points[2].y = -0.3; + fov_points[3].x = 0.3; + fov_points[3].y = 0.3; + int planning_mode = 2; // footprint planning + geometry_msgs::Point32 fov_origin; + fov_origin.x = 0.; + fov_origin.y = 0.; + + const double robot_radius = 0.3; // [m] + const double coverage_radius = 0.3; // [m] + const double robot_speed = 0.3; // [m/s] + const double robot_rotation_speed = 0.52; // [rad/s] + const float map_resolution = 0.05; // [m/cell] + + ExplorationEvaluation ev(nh, test_map_path, map_names, map_resolution, data_storage_path, robot_radius, coverage_radius, fov_points, fov_origin, + planning_mode, exploration_algorithms, robot_speed, robot_rotation_speed, true, true); + ros::shutdown(); + + //exit + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/sub.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/sub.cpp new file mode 100644 index 0000000..bca1b05 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/src/sub.cpp @@ -0,0 +1,45 @@ +#include "ros/ros.h" +#include "ipa_building_msgs/dis_info.h" +#include "ipa_building_msgs/dis_info_array.h" + + +void doMsg(const ipa_building_msgs::dis_info_array::ConstPtr& ceju_msg){ + + for (const auto& obstacle_info : ceju_msg->dis) + { + + float distance = obstacle_info.distance; + float width = obstacle_info.width; + float height = obstacle_info.height; + ROS_INFO("distance: %.2f ", distance); + + // // 执行避障逻辑 + // if (distance < obstacle_distance_threshold) + // { + // ROS_INFO("Obstacle detected at distance: %.2f meters. Avoiding obstacle.", distance); + + // // 在这里执行避障动作,例如停止机器人 + // geometry_msgs::Twist cmd_vel; + // cmd_vel.linear.x = 0.0; + // cmd_vel.angular.z = 0.0; + // cmd_vel_pub.publish(cmd_vel); + + // // 这里可以添加更复杂的避障逻辑,例如避开障碍物或调整方向 + // } + // else + // { + // ROS_INFO("No obstacle detected at distance: %.2f meters. Continuing.", distance); + // } + } +} +int main(int argc, char *argv[]) +{ + setlocale(LC_ALL,""); + ros::init(argc,argv,"sub_dis"); + ros::NodeHandle nh; + ros::Subscriber sub = nh.subscribe("ceju_info",10,doMsg); + + ros::spin();//循环读取接收的数据,并调用回调函数处理 + + return 0; +} \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_client.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_client.launch new file mode 100644 index 0000000..3dd5d50 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_client.launch @@ -0,0 +1,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_evaluation.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_evaluation.launch new file mode 100644 index 0000000..cd5b643 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/test/room_exploration_evaluation.launch @@ -0,0 +1,7 @@ + + + + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/worlds/sim.world b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/worlds/sim.world new file mode 100644 index 0000000..85f8712 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_exploration/ros/worlds/sim.world @@ -0,0 +1,1578 @@ + + + + 1 + 0 0 10 0 -0 0 + 0.8 0.8 0.8 1 + 0.2 0.2 0.2 1 + + 1000 + 0.9 + 0.01 + 0.001 + + -0.5 0.1 -0.9 + + 0 + 0 + 0 + + + + 1 + + + + + 0 0 1 + 100 100 + + + + + + 100 + 50 + + + + + + + + + + + 10 + + + 0 + + + 0 0 1 + 100 100 + + + + + + + 0 + 0 + 0 + + + 0 0 -9.8 + 6e-06 2.3e-05 -4.2e-05 + + + 0.001 + 1 + 1000 + + + 0.4 0.4 0.4 1 + 0.7 0.7 0.7 1 + 1 + + + + EARTH_WGS84 + 0 + 0 + 0 + 0 + + + 1 + + 0 0 0.01 0 -0 0 + + + + 0 0 1 + 30 20 + + + + + + 100 + 50 + + + + + + + + + + + 10 + + + 0 11 0.001 0 -0 0 + 0 + + + 0 0 1 + 34 2 + + + + + + + + 0 -11 0.001 0 -0 0 + 0 + + + 0 0 1 + 34 2 + + + + + + + + 16 0 0.001 0 -0 0 + 0 + + + 0 0 1 + 2 20 + + + + + + + + -16 0 0.001 0 -0 0 + 0 + + + 0 0 1 + 2 20 + + + + + + + + 0 + + + 0 0 1 + 30 20 + + + + + + + 0 + 0 + 0 + + -0.121937 -0.503301 0 0 -0 0 + + + 1 + + + 0 0 1 0 -0 0 + + + 1.5 0.8 0.03 + + + + + + 0.6 + 0.6 + + + + + + + + + + + 10 + + + 0 0 1 0 -0 0 + + + 1.5 0.8 0.03 + + + + + + + + 0.68 0.38 0.5 0 -0 0 + + + 0.02 + 1 + + + 10 + + + + + + + + + + + + + + + 0.68 0.38 0.5 0 -0 0 + + + 0.02 + 1 + + + + + + + + 0.68 -0.38 0.5 0 -0 0 + + + 0.02 + 1 + + + 10 + + + + + + + + + + + + + + + 0.68 -0.38 0.5 0 -0 0 + + + 0.02 + 1 + + + + + + + + -0.68 -0.38 0.5 0 -0 0 + + + 0.02 + 1 + + + 10 + + + + + + + + + + + + + + + -0.68 -0.38 0.5 0 -0 0 + + + 0.02 + 1 + + + + + + + + -0.68 0.38 0.5 0 -0 0 + + + 0.02 + 1 + + + 10 + + + + + + + + + + + + + + + -0.68 0.38 0.5 0 -0 0 + + + 0.02 + 1 + + + + + + + 0 + 0 + 0 + + 2.22926 -4.67258 0 0 -0 0 + + + 0.282311 -0.242367 0 0 -0 0 + + + + + 32 0.15 2.5 + + + 0 0 1.25 0 -0 0 + 10 + + + + + + + + + + + + + + + 0 0 1.25 0 -0 0 + + + 32 0.15 2.5 + + + + + 0.960784 0.47451 0 1 + + + 0 + + + 1e-06 -11.675 0 0 -0 3.14159 + 0 + 0 + 0 + + + + + + 23.5 0.15 2.5 + + + 0 0 1.25 0 -0 0 + 10 + + + + + + + + + + + + + + + 0 0 1.25 0 -0 0 + + + 23.5 0.15 2.5 + + + + + 0.960784 0.47451 0 1 + + + 0 + + + -15.925 -0 0 0 -0 1.5708 + 0 + 0 + 0 + + + + + + 32 0.15 2.5 + + + 0 0 1.25 0 -0 0 + 10 + + + + + + + + + + + + + + + 0 0 1.25 0 -0 0 + + + 32 0.15 2.5 + + + + + 0.960784 0.47451 0 1 + + + 0 + + + 1e-06 11.675 0 0 -0 0 + 0 + 0 + 0 + + + + + + 23.5 0.15 2.5 + + + 0 0 1.25 0 -0 0 + 10 + + + + + + + + + + + + + + + 0 0 1.25 0 -0 0 + + + 23.5 0.15 2.5 + + + + + 0.960784 0.47451 0 1 + + + 0 + + + 15.925 -0 0 0 -0 -1.5708 + 0 + 0 + 0 + + 1 + + + 1 + + + + + model://pine_tree/meshes/pine_tree.dae + + + 10 + + + + + + + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Branch + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Bark + + + + + + + + 0 + 0 + 0 + + 11.8949 7.1898 0 0 -0 0 + + + 1 + + + + + model://pine_tree/meshes/pine_tree.dae + + + 10 + + + + + + + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Branch + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Bark + + + + + + + + 0 + 0 + 0 + + 9.134 8.49007 0 0 -0 0 + + + 1 + + + + + model://pine_tree/meshes/pine_tree.dae + + + 10 + + + + + + + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Branch + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Bark + + + + + + + + 0 + 0 + 0 + + 6.26329 6.89864 0 0 -0 0 + + + 1 + + + + + model://pine_tree/meshes/pine_tree.dae + + + 10 + + + + + + + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Branch + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Bark + + + + + + + + 0 + 0 + 0 + + 10.6895 3.78098 0 0 -0 0 + + + 1 + + + + + model://pine_tree/meshes/pine_tree.dae + + + 10 + + + + + + + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Branch + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Bark + + + + + + + + 0 + 0 + 0 + + 2.64018 7.98293 0 0 -0 0 + + + 1 + + + + + model://pine_tree/meshes/pine_tree.dae + + + 10 + + + + + + + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Branch + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Bark + + + + + + + + 0 + 0 + 0 + + 6.55847 2.56696 0 0 -0 0 + + + 1 + + + + + model://pine_tree/meshes/pine_tree.dae + + + 10 + + + + + + + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Branch + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Bark + + + + + + + + 0 + 0 + 0 + + 9.60411 -0.376221 0 0 -0 0 + + + 1 + + + + + model://pine_tree/meshes/pine_tree.dae + + + 10 + + + + + + + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Branch + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Bark + + + + + + + + 0 + 0 + 0 + + -3.21533 6.79176 0 0 -0 0 + + + 1 + + + + + model://pine_tree/meshes/pine_tree.dae + + + 10 + + + + + + + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Branch + + + + + + + + + + + model://pine_tree/meshes/pine_tree.dae + + Bark + + + + + + + + 0 + 0 + 0 + + 0.441623 3.90862 0 0 -0 0 + + + + + + + 1.5 1.5 1.5 + model://dumpster/meshes/dumpster.dae + + + 10 + + + + + + + + + + + + + + + + + 1.5 1.5 1.5 + model://dumpster/meshes/dumpster.dae + + + + + + + 0 + + 0 0 0 0 -0 0 + + 1 + 0 + 0 + 1 + 0 + 1 + + 1 + + 0 + 0 + + 7.93379 -5.44785 0 0 -0 0 + + + 1 + + + 0 0 0.755 0 -0 0 + + + 0.913 0.913 0.04 + + + 10 + + + + + + + + + + + + + + + 0 0 0.37 0 -0 0 + + + 0.042 0.042 0.74 + + + 10 + + + + + + + + + + + + + + + 0 0 0.02 0 -0 0 + + + 0.56 0.56 0.04 + + + 10 + + + + + + + + + + + + + + + + + model://cafe_table/meshes/cafe_table.dae + + + + 0 + 0 + 0 + + 5.00619 -7.7671 0 0 -0 0 + + + 1 + + + + + model://fire_hydrant/meshes/fire_hydrant.dae + + + 10 + + + + + + + + + + + + + + + + + model://fire_hydrant/meshes/fire_hydrant.dae + + + + 0 + 0 + 0 + + 13.6242 -4.18511 0 0 -0 0 + + + 1 + + + + + model://house_2/meshes/house_2.dae + 1.5 1.5 1.5 + + + 10 + + + + + + + + + + + + + + + + + model://house_2/meshes/house_2.dae + 1.5 1.5 1.5 + + + + + + model://house_1/materials/textures/House_1_Normal.png + + + + 0 + 0 + 0 + + -9.17281 -5.59908 0 0 -0 0 + + + 397 424000000 + 766 142269694 + 1679845835 169511959 + 397424 + + 11.9119 -9.12195 0.011376 2e-06 -0 1e-06 + 1 1 1 + + 11.9119 -9.12195 0.011376 2e-06 -0 1e-06 + 0 0 0 0 -0 0 + 0 0 -9.8 0 -0 0 + 0 0 -9.8 0 -0 0 + + + + -9.1045 -2.14717 0 0 0 -1.55967 + 1 1 1 + + -9.1045 -2.14717 0 0 0 -1.55967 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 0.282311 -0.242367 0 0 -0 0 + 1 1 1 + + 0.282312 -11.9174 0 0 -0 3.14159 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + -15.6427 -0.242367 0 0 -0 1.5708 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + 0.282312 11.4326 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + 16.2073 -0.242367 0 0 0 -1.5708 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 5.00619 -7.7671 0 0 -0 0 + 1 1 1 + + 5.00619 -7.7671 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 13.6242 -4.18511 0 0 -0 0 + 1 1 1 + + 13.6242 -4.18511 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 0 0 0 0 -0 0 + 1 1 1 + + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 11.8949 7.1898 0 0 -0 0 + 1 1 1 + + 11.8949 7.1898 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 9.134 8.49007 0 0 -0 0 + 1 1 1 + + 9.134 8.49007 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 6.26329 6.89864 0 0 -0 0 + 1 1 1 + + 6.26329 6.89864 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 10.6895 3.78098 0 0 -0 0 + 1 1 1 + + 10.6895 3.78098 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 2.64018 7.98293 0 0 -0 0 + 1 1 1 + + 2.64018 7.98293 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 6.55847 2.56696 0 0 -0 0 + 1 1 1 + + 6.55847 2.56696 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 9.60411 -0.376221 0 0 -0 0 + 1 1 1 + + 9.60411 -0.376221 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -3.21533 6.79176 0 0 -0 0 + 1 1 1 + + -3.21533 6.79176 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 0.441623 3.90862 0 0 -0 0 + 1 1 1 + + 0.441623 3.90862 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + -0.121937 -0.503301 0 0 -0 0 + 1 1 1 + + -0.121937 -0.503301 0.01 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 2.22926 -4.67258 0 0 -0 0 + 1 1 1 + + 2.22926 -4.67258 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + 0 0 0 0 -0 0 + + + + 0 0 10 0 -0 0 + + + + + 17.9734 -7.30956 65.8679 0 1.24021 2.19755 + orbit + perspective + + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/CMakeLists.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/CMakeLists.txt new file mode 100644 index 0000000..a453b9c --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/CMakeLists.txt @@ -0,0 +1,183 @@ +cmake_minimum_required(VERSION 2.8.3) +project(ipa_room_segmentation) + +# build with c++11 +add_compile_options(-std=c++11) + +set(catkin_RUN_PACKAGES + actionlib + cv_bridge + ipa_building_msgs + libdlib + nav_msgs + opengm + roscpp + roslib + sensor_msgs +) + +set(catkin_BUILD_PACKAGES + ${catkin_RUN_PACKAGES} + dynamic_reconfigure +) + +## Find catkin macros and libraries +find_package(catkin REQUIRED COMPONENTS + ${catkin_BUILD_PACKAGES} +) + +generate_dynamic_reconfigure_options( + cfg/RoomSegmentation.cfg +) + +find_package(OpenCV REQUIRED) +find_package(Boost REQUIRED COMPONENTS system thread filesystem) + +find_package(OpenMP) +if(OPENMP_FOUND) + message(STATUS "OPENMP FOUND") + set(OpenMP_FLAGS ${OpenMP_CXX_FLAGS}) #${OpenMP_C_FLAGS} + set(OpenMP_LIBS gomp) +endif() + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if you package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +# important: common/include needs to be here if you have such a directory +catkin_package( +INCLUDE_DIRS + common/include + ros/include +LIBRARIES + ${PROJECT_NAME} +CATKIN_DEPENDS + ${catkin_RUN_PACKAGES} +DEPENDS + OpenCV + Boost + OpenMP +) + + +########### +## Build ## +########### +## Specify additional locations of header files +## Your package locations should be listed before other locations +# include_directories(include ${catkin_INCLUDE_DIRS} ${Boost_INCLUDE_DIRS}) +# important: common/include also needs to be here if you have it +include_directories( + common/include + ros/include + ${catkin_INCLUDE_DIRS} + ${OpenCV_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} +) + +# library of the created algorithms +add_library(${PROJECT_NAME} STATIC + common/src/distance_segmentation.cpp + common/src/morphological_segmentation.cpp + common/src/abstract_voronoi_segmentation.cpp + common/src/voronoi_segmentation.cpp + common/src/adaboost_classifier.cpp + common/src/wavefront_region_growing.cpp + common/src/contains.cpp common/src/features.cpp + common/src/raycasting.cpp + common/src/meanshift2d.cpp + common/src/room_class.cpp + common/src/voronoi_random_field_segmentation.cpp + common/src/clique_class.cpp + common/src/cv_boost_loader.cpp + common/src/voronoi_random_field_features.cpp +) +target_link_libraries(${PROJECT_NAME} + ${catkin_LIBRARIES} + ${OpenCV_LIBRARIES} + ${Boost_LIBRARIES} +) +add_dependencies(${PROJECT_NAME} + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) + +### segmentation action server: see room_segmentation_action_server_params.yaml to change the used method +add_executable(room_segmentation_server + ros/src/room_segmentation_server.cpp + ) +target_compile_options(room_segmentation_server PRIVATE ${OpenMP_FLAGS}) +add_dependencies(room_segmentation_server + ${catkin_EXPORTED_TARGETS} + ${PROJECT_NAME} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) +target_link_libraries(room_segmentation_server + ${catkin_LIBRARIES} + ${Boost_LIBRARIES} + ${OpenMP_LIBS} + ${OpenCV_LIBRARIES} + ${PROJECT_NAME}) + +### client for testing purpose +add_executable(room_segmentation_client ros/src/room_segmentation_client.cpp) +target_link_libraries(room_segmentation_client + ${catkin_LIBRARIES} + ${OpenCV_LIBRARIES}) +add_dependencies(room_segmentation_client + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) + +### evaluation function for numeric properties and comparison to a given ground truth segmentation +add_executable(evaluation + ros/src/evaluation_numeric_properties.cpp + common/src/evaluation_segmentation.cpp) +target_link_libraries(evaluation + ${catkin_LIBRARIES} + ${OpenCV_LIBRARIES}) +add_dependencies(evaluation + ${catkin_EXPORTED_TARGETS} + ${${PROJECT_NAME}_EXPORTED_TARGETS} +) + + +############# +## Install ## +############# +## Mark executables and/or libraries for installation +install(TARGETS ${PROJECT_NAME} room_segmentation_server room_segmentation_client evaluation + ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} + RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +) + +##uncomment this if you have a common-directory with header-files +install(DIRECTORY common/include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} + FILES_MATCHING PATTERN "*.h" + PATTERN ".svn" EXCLUDE +) + +##uncomment this if you have header-files in your project +install(DIRECTORY ros/include/${PROJECT_NAME}/ + DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} + FILES_MATCHING PATTERN "*.h" + PATTERN ".svn" EXCLUDE +) + +##uncomment this if you use launch and yaml files +install(DIRECTORY ros/launch + DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/ros + PATTERN ".svn" EXCLUDE +) + +#install(DIRECTORY common/files +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}/common +# PATTERN ".svn" EXCLUDE +#) diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/cfg/RoomSegmentation.cfg b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/cfg/RoomSegmentation.cfg new file mode 100644 index 0000000..b66e224 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/cfg/RoomSegmentation.cfg @@ -0,0 +1,59 @@ +#!/usr/bin/env python +PACKAGE = "ipa_room_segmentation" + +from dynamic_reconfigure.parameter_generator_catkin import * + +gen = ParameterGenerator() + +method_enum = gen.enum([ gen.const("MorphologicalSegmentation", int_t, 1, "Use the morphological segmentation algorithm."), + gen.const("DistanceSegmentation", int_t, 2, "Use the distance segmentation algorithm."), + gen.const("VoronoiSegmentation", int_t, 3, "Use the Voronoi segmentation algorithm."), + gen.const("SemanticSegmentation", int_t, 4, "Use the semantic/feature-based segmentation algorithm."), + gen.const("RandomFieldSegmentation", int_t, 5, "Use the voronoi-random-field segmentation algorithm."), + gen.const("PassThroughSegmentation", int_t, 99, "Use the pass through segmentation algorithm.")], + "Segmentation algorithm") +gen.add("room_segmentation_algorithm", int_t, 0, "Segmentation method", 3, 1, 99, edit_method=method_enum) + +gen.add("display_segmented_map", bool_t, 0, "Show the resulting segmented map directly", False) +gen.add("publish_segmented_map", bool_t, 0, "Publish the resulting segmented map as grid map", False) + +# room area factor-> Set the limitation of area of the room -------> in [m^2] +#morphological segmentation: 47.0 - 0.8 (means the room area after eroding/shrinking s.t. too small/big contours are not treated as rooms) +gen.add("room_area_factor_upper_limit_morphological", double_t, 0, "Upper room limit for morphological segmentation", 47.0, 0.0) +gen.add("room_area_factor_lower_limit_morphological", double_t, 0, "Lower room limit for morphological segmentation", 0.8, 0.0) + +# distance segmentation: 163.0 - 0.35 (means the room area after decreasing the boundary for the binary filter s.t. too small/big contours are not treated as rooms) +gen.add("room_area_factor_upper_limit_distance", double_t, 0, "Upper room limit for distance segmentation", 163.0, 0.0) +gen.add("room_area_factor_lower_limit_distance", double_t, 0, "Lower room limit for distance segmentation", 0.35, 0.0) + +# Voronoi segmentation: 120.0 - 1.53 (means the max/min area that an area separated by critical lines is allowed to have) +gen.add("room_area_factor_upper_limit_voronoi", double_t, 0, "Upper room limit for Voronoi segmentation", 1000000.0, 0.0) +gen.add("room_area_factor_lower_limit_voronoi", double_t, 0, "Lower room limit for Voronoi segmentation", 0.1, 0.0) + +# Semantic Segmentation: 23.0 - 1.0 (means the max/min area a connected classified region is allowed to have) +gen.add("room_area_factor_upper_limit_semantic", double_t, 0, "Upper room limit for semantic/feature-based segmentation", 1000000.0, 0.0) # if you choose this value small (i.e 23.0) then too big hallway contours are randomly separated into smaller regions using a watershed algorithm, which can look bad +gen.add("room_area_factor_lower_limit_semantic", double_t, 0, "Lower room limit for semantic/feature-based segmentation", 1.0, 0.0) + +# Voronoi random field segmentation: 1000000.0 - 1.53 (means the max/min area a connected classified region is allowed to have) +gen.add("room_area_upper_limit_voronoi_random", double_t, 0, "Upper room limit for Voronoi-random-field segmentation", 1000000.0, 0.0) +gen.add("room_area_lower_limit_voronoi_random", double_t, 0, "Lower room limit for Voronoi-random-field segmentation", 1.53, 0.0) + +# Passthrough segmentation: 1000000.0 - 1.53 (means the max/min area a connected classified region is allowed to have) +gen.add("room_area_upper_limit_passthrough", double_t, 0, "Upper room limit for Voronoi-random-field segmentation", 1000000.0, 0.0) +gen.add("room_area_lower_limit_passthrough", double_t, 0, "Lower room limit for Voronoi-random-field segmentation", 1.0, 0.0) + +# parameters for the voronoi segmentation that specify the neighborhood for critical Point extraction and the distance between critical Points. +gen.add("voronoi_neighborhood_index", int_t, 0, "Size of neighborhood on graph for Voronoi segmentation, larger value sets a larger neighborhood for searching critical points", 280, 0) +gen.add("max_iterations", int_t, 0, "Max number of Iterations for search of neighbors, also used for the vrf segmentation", 150, 0) +gen.add("min_critical_point_distance_factor", double_t, 0, "Minimal distance factor between two critical points before one of it gets eliminated", 0.5, 0.0) +gen.add("max_area_for_merging", double_t, 0, "Maximal area [m^2] of a room that should be merged with its surrounding rooms, also used for the voronoi random field segmentation", 12.5, 0.0) + +# parameters for the voronoi random field segmentation that specify the size of the neighborhood generated on the Voronoi graph, the minimal +# size this neighborhood can have, how far base nodes for each node on the graph need to be apart and how many iterations the inference +# max. should do +gen.add("voronoi_random_field_epsilon_for_neighborhood", int_t, 0, "Larger value sets larger neighborhood, concentrated in a node of the conditional random field", 5, 0) +gen.add("min_neighborhood_size", int_t, 0, "Min. size of the above mentioned neighborhood", 4, 0) +gen.add("min_voronoi_random_field_node_distance", double_t, 0, "Min distance the base nodes for each crf node need to be apart", 7.0, 0.0) +gen.add("max_voronoi_random_field_inference_iterations", int_t, 0, "Max number of iterations the inference algorithm should do", 9000, 0) + +exit(gen.generate(PACKAGE, "room_segmentation_server", "RoomSegmentation")) \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_SVM.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_SVM.xml new file mode 100644 index 0000000..0cf657b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_SVM.xml @@ -0,0 +1,26 @@ + + + + ONE_CLASS + LINEAR + 5.9999999999999998e-01 + 2.2204460492503131e-16 + 100 + 23 + 23 + 1 + 1 + + <_> + 2.83671656e+05 7.78090750e+06 2.06722500e+04 4.50947109e+04 + 5.79335150e+06 5300250. 19302716. 5.71475812e+05 1567863. + 1.29049977e+05 7.88329650e+06 6738720. 509354208. 4.15090725e+06 + 115733672. 4.59749316e+03 6.03456750e+06 4511485. 28201040. + 7.34039550e+06 4.96453250e+06 4.85331211e+04 3.32311797e+04 + + <_> + 1 + 4.7882008646924377e+11 + + 1. + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_boost.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_boost.xml new file mode 100644 index 0000000..538572f --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_hallway_boost.xml @@ -0,0 +1,32240 @@ + + + + DiscreteAdaboost + 3 + 350 + 1. + 1 + 23 + 23 + 23 + 0 + + 0 + 10 + 2 + 10 + 0 + + 1 + 2 +

d
+ + 1. 1. + + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + 1 + 1 +
i
+ + 2
+ + 1 + 2 +
i
+ + -1 1
+ + <_> + -1 + + <_> + 0 + 882720 + -2.5000247678744505e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 8.5281175374984741e-01 + 4.9016128540039062e+01 + <_> + 1 + 602347 + -2.5000247678744505e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 6.4516609907150269e-01 + 5.1874628067016602e+00 + <_> + 2 + 574973 + -2.5000247678744505e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 27374 + 2.5000247678744505e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 280373 + 2.5000247678744505e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.7897748351097107e-01 + 9.7361612319946289e-01 + <_> + 2 + 211281 + 2.5000247678744505e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 69092 + -2.5000247678744505e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0561948056756905e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 7.0789510011672974e-01 + 3.3711798191070557e+00 + <_> + 1 + 659370 + -1.0561948056756905e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.9510058760643005e-01 + 1.1866049468517303e-01 + <_> + 2 + 16249 + 1.0561948056756905e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 643121 + -1.0561948056756905e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 223350 + 1.0561948056756905e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.4686211347579956e-01 + 3.7584754943847656e+01 + <_> + 2 + 41021 + -1.0561948056756905e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 182329 + 1.0561948056756905e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0835391258083200e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 6.8653523921966553e-01 + 4.9311373382806778e-02 + <_> + 1 + 597709 + 1.0835391258083200e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2165627479553223e-01 + 2.7373552322387695e+01 + <_> + 2 + 202717 + -1.0835391258083200e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 394992 + 1.0835391258083200e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 285011 + -1.0835391258083200e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.2550687193870544e-01 + 5.7749996185302734e+00 + <_> + 2 + 271207 + -1.0835391258083200e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 13804 + 1.0835391258083200e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -7.5052965116975667e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 6.2174135446548462e-01 + 5.8754093170166016e+01 + <_> + 1 + 451918 + 7.5052965116975667e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.3912891149520874e-01 + 1.3885684967041016e+01 + <_> + 2 + 407085 + 7.5052965116975667e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 44833 + -7.5052965116975667e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 430802 + -7.5052965116975667e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.4016519784927368e-01 + 7.3667076110839844e+01 + <_> + 2 + 376333 + -7.5052965116975667e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 54469 + 7.5052965116975667e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -7.0255471055884633e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 6.1124324798583984e-01 + 1.7473866045475006e-01 + <_> + 1 + 383200 + -7.0255471055884633e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.3070948719978333e-01 + 8.8179000854492188e+01 + <_> + 2 + 381680 + -7.0255471055884633e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1520 + 7.0255471055884633e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 499520 + 7.0255471055884633e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.3804446458816528e-01 + 3.9916137695312500e+01 + <_> + 2 + 317052 + -7.0255471055884633e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 182468 + 7.0255471055884633e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 5.5757275271874029e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.8539623022079468e-01 + 6.6094345092773438e+01 + <_> + 1 + 563853 + 5.5757275271874029e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 4.2348077893257141e-01 + 5.1872992515563965e+00 + <_> + 2 + 472915 + 5.5757275271874029e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 90938 + -5.5757275271874029e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 318867 + -5.5757275271874029e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.1240997314453125e-01 + 5.8216087341308594e+01 + <_> + 2 + 16908 + 5.5757275271874029e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 301959 + -5.5757275271874029e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -7.3718438427964017e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.9774291515350342e-01 + 3.9099571228027344e+01 + <_> + 1 + 484375 + -7.3718438427964017e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.9912680387496948e-01 + 2.3193679809570312e+01 + <_> + 2 + 20399 + 7.3718438427964017e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 463976 + -7.3718438427964017e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 398345 + 7.3718438427964017e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.7725305557250977e-01 + 5.5976442992687225e-02 + <_> + 2 + 309373 + 7.3718438427964017e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 88972 + -7.3718438427964017e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -5.7711237363036894e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.9095835685729980e-01 + 7.8611063957214355e+00 + <_> + 1 + 167129 + 5.7711237363036894e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.5990914404392242e-01 + 1.9507030487060547e+01 + <_> + 2 + 102470 + -5.7711237363036894e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 64659 + 5.7711237363036894e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 715591 + -5.7711237363036894e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.8049354553222656e-01 + 3.6017631530761719e+01 + <_> + 2 + 58754 + 5.7711237363036894e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 656837 + -5.7711237363036894e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 6.6379357710435383e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 6.1264258623123169e-01 + 4.6442675781250000e+03 + <_> + 1 + 688948 + 6.6379357710435383e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.7940942645072937e-01 + 9.5261204242706299e-01 + <_> + 2 + 59542 + -6.6379357710435383e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 629406 + 6.6379357710435383e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 193772 + -6.6379357710435383e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.8070261180400848e-01 + 9.6825778484344482e-01 + <_> + 2 + 50309 + 6.6379357710435383e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 143463 + -6.6379357710435383e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -4.9806891380818058e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.6908506155014038e-01 + 9.7688269615173340e-01 + <_> + 1 + 453264 + 4.9806891380818058e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.0892013907432556e-01 + 1.4821989746093750e+03 + <_> + 2 + 230631 + 4.9806891380818058e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 222633 + -4.9806891380818058e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 429456 + -4.9806891380818058e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.1308527886867523e-01 + 3.2999923706054688e+01 + <_> + 2 + 419671 + -4.9806891380818058e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9785 + 4.9806891380818058e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -5.0646726701474654e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.8226627111434937e-01 + 1.7250000000000000e+02 + <_> + 1 + 506329 + -5.0646726701474654e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.6317276954650879e-01 + 2.2534292221069336e+01 + <_> + 2 + 41922 + 5.0646726701474654e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 464407 + -5.0646726701474654e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 376391 + 5.0646726701474654e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.6080518960952759e-01 + 5.8332994580268860e-02 + <_> + 2 + 279776 + 5.0646726701474654e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 96615 + -5.0646726701474654e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 4.0498477250255488e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.5375719070434570e-01 + 9.7888779640197754e-01 + <_> + 1 + 528807 + 4.0498477250255488e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.6711561083793640e-01 + 1.4249422073364258e+01 + <_> + 2 + 404206 + 4.0498477250255488e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 124601 + -4.0498477250255488e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 353913 + -4.0498477250255488e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.3276910781860352e-01 + 3.6847179412841797e+01 + <_> + 2 + 73290 + 4.0498477250255488e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 280623 + -4.0498477250255488e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -3.8490637503640324e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.6859707832336426e-01 + 8.7510818481445312e+01 + <_> + 1 + 657030 + -3.8490637503640324e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.8780328631401062e-01 + 5.8185371398925781e+01 + <_> + 2 + 574652 + -3.8490637503640324e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 82378 + 3.8490637503640324e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 225690 + 3.8490637503640324e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.0725263655185699e-01 + 1.3191735744476318e+00 + <_> + 2 + 95330 + -3.8490637503640324e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 130360 + 3.8490637503640324e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 4.3547130396010858e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.5804246664047241e-01 + 5.0668243408203125e+01 + <_> + 1 + 302622 + 4.3547130396010858e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.4361383914947510e-01 + 1.9793853759765625e+01 + <_> + 2 + 109160 + -4.3547130396010858e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 193462 + 4.3547130396010858e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 580098 + -4.3547130396010858e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.6356556415557861e-01 + 7.0139106750488281e+01 + <_> + 2 + 501553 + -4.3547130396010858e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 78545 + 4.3547130396010858e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 3.9508589159378837e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.6446391344070435e-01 + 1.5353633463382721e-01 + <_> + 1 + 121061 + -3.9508589159378837e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 1.5201655030250549e-01 + 6.5945739746093750e+00 + <_> + 2 + 90682 + -3.9508589159378837e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 30379 + 3.9508589159378837e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 761659 + 3.9508589159378837e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.4548988342285156e-01 + 1.1396166992187500e+02 + <_> + 2 + 232129 + -3.9508589159378837e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 529530 + 3.9508589159378837e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -4.2963459221342304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.5056160688400269e-01 + 9.7362148761749268e-01 + <_> + 1 + 363049 + -4.2963459221342304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.3263361454010010e-01 + 4.9014308929443359e+01 + <_> + 2 + 151703 + 4.2963459221342304e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 211346 + -4.2963459221342304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 519671 + 4.2963459221342304e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.7315279841423035e-01 + 1.2722101807594299e-01 + <_> + 2 + 45197 + -4.2963459221342304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 474474 + 4.2963459221342304e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -3.9238680475218229e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.7303798198699951e-01 + 8.9154830932617188e+01 + <_> + 1 + 666441 + -3.9238680475218229e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 3.9737287163734436e-01 + 4.9769868850708008e+00 + <_> + 2 + 97277 + 3.9238680475218229e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 569164 + -3.9238680475218229e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 216279 + 3.9238680475218229e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.9948427379131317e-01 + 3.3712952136993408e+00 + <_> + 2 + 186542 + 3.9238680475218229e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 29737 + -3.9238680475218229e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -3.8445973133888361e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.5484569072723389e-01 + 3.5730915069580078e+01 + <_> + 1 + 434384 + -3.8445973133888361e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.9449812173843384e-01 + 9.8893880844116211e-01 + <_> + 2 + 430281 + -3.8445973133888361e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4103 + 3.8445973133888361e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 448336 + 3.8445973133888361e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.0045017004013062e-01 + 7.3852386474609375e+01 + <_> + 2 + 259008 + 3.8445973133888361e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 189328 + -3.8445973133888361e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -3.1898207249877786e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.5290323495864868e-01 + 5.8774444580078125e+01 + <_> + 1 + 718234 + -3.1898207249877786e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.1853344440460205e-01 + 3.3898910522460938e+01 + <_> + 2 + 220036 + 3.1898207249877786e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 498198 + -3.1898207249877786e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 164486 + 3.1898207249877786e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.6054271161556244e-01 + 6.0868024826049805e-02 + <_> + 2 + 147144 + 3.1898207249877786e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17342 + -3.1898207249877786e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.7638361411288459e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.4218429327011108e-01 + 2.3582912981510162e-02 + <_> + 1 + 121797 + -2.7638361411288459e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 9.1429881751537323e-02 + 3.6944442987442017e-01 + <_> + 2 + 2185 + 2.7638361411288459e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 119612 + -2.7638361411288459e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 760923 + 2.7638361411288459e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.7722950577735901e-01 + 9.7989165782928467e-01 + <_> + 2 + 467048 + 2.7638361411288459e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 293875 + -2.7638361411288459e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -3.8936288401883468e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.5028510093688965e-01 + 3.3781882375478745e-02 + <_> + 1 + 299408 + 3.8936288401883468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.3490308225154877e-01 + 5.1872992515563965e+00 + <_> + 2 + 247438 + 3.8936288401883468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 51970 + -3.8936288401883468e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 583312 + -3.8936288401883468e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.6122623085975647e-01 + 1.4901842117309570e+01 + <_> + 2 + 542480 + -3.8936288401883468e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 40832 + 3.8936288401883468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -3.7859194457551471e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.4297500848770142e-01 + 1.0696094512939453e+01 + <_> + 1 + 519303 + 3.7859194457551471e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.8631174564361572e-01 + 1.5550000000000000e+02 + <_> + 2 + 292353 + -3.7859194457551471e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 226950 + 3.7859194457551471e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 363417 + -3.7859194457551471e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.0722171068191528e-01 + 2.4954649806022644e-01 + <_> + 2 + 328706 + -3.7859194457551471e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 34711 + 3.7859194457551471e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 3.8806981941850882e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.6464052200317383e-01 + 2.6087051630020142e-01 + <_> + 1 + 514877 + 3.8806981941850882e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.0939474105834961e-01 + 1.6938510894775391e+01 + <_> + 2 + 472171 + 3.8806981941850882e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 42706 + -3.8806981941850882e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 367843 + -3.8806981941850882e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.8642322719097137e-01 + 4.5934448242187500e+01 + <_> + 2 + 89925 + 3.8806981941850882e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 277918 + -3.8806981941850882e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.5601663827535109e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.4288333654403687e-01 + 2.0450000000000000e+02 + <_> + 1 + 724586 + -2.5601663827535109e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.4759979844093323e-01 + 7.9199924468994141e+00 + <_> + 2 + 541486 + -2.5601663827535109e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 183100 + 2.5601663827535109e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 158134 + 2.5601663827535109e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.1605703085660934e-01 + 9.6780145168304443e-01 + <_> + 2 + 63784 + 2.5601663827535109e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 94350 + -2.5601663827535109e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.4067785600455416e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3569650650024414e-01 + 2.1868953704833984e+01 + <_> + 1 + 169192 + -2.4067785600455416e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 6.4721196889877319e-02 + 3.8999923706054688e+01 + <_> + 2 + 168384 + -2.4067785600455416e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 808 + 2.4067785600455416e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 713528 + 2.4067785600455416e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.9515947699546814e-01 + 1.8298877716064453e+01 + <_> + 2 + 655994 + 2.4067785600455416e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 57534 + -2.4067785600455416e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -3.4200244768870741e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.5117404460906982e-01 + 4.1146377563476562e+01 + <_> + 1 + 189582 + 3.4200244768870741e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 1.4584004878997803e-01 + 1.1058124542236328e+01 + <_> + 2 + 65761 + -3.4200244768870741e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 123821 + 3.4200244768870741e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 693138 + -3.4200244768870741e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.3883681297302246e-01 + 3.2507812500000000e+01 + <_> + 2 + 680385 + -3.4200244768870741e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12753 + 3.4200244768870741e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.8520754813896321e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.4125010967254639e-01 + 3.2449951171875000e+03 + <_> + 1 + 574444 + 2.8520754813896321e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.4096714854240417e-01 + 9.5860791206359863e-01 + <_> + 2 + 60757 + -2.8520754813896321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 513687 + 2.8520754813896321e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 308276 + -2.8520754813896321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.2985531389713287e-01 + 9.7581613063812256e-01 + <_> + 2 + 178810 + 2.8520754813896321e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 129466 + -2.8520754813896321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.2982056488671518e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.4501110315322876e-01 + 2.0850000000000000e+02 + <_> + 1 + 745585 + -2.2982056488671518e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 4.5085111260414124e-01 + 2.6444540023803711e+01 + <_> + 2 + 12686 + 2.2982056488671518e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 732899 + -2.2982056488671518e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 137135 + 2.2982056488671518e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.0635246336460114e-01 + 4.6487405896186829e-02 + <_> + 2 + 41844 + 2.2982056488671518e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 95291 + -2.2982056488671518e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.4580184093415508e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.3684824705123901e-01 + 1.0054676532745361e+00 + <_> + 1 + 87233 + -2.4580184093415508e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 8.9667581021785736e-02 + 3.1854756176471710e-02 + <_> + 2 + 35334 + 2.4580184093415508e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 51899 + -2.4580184093415508e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 795487 + 2.4580184093415508e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.7147533297538757e-01 + 3.3532081604003906e+01 + <_> + 2 + 346815 + -2.4580184093415508e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 448672 + 2.4580184093415508e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.8135021871546456e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.4266953468322754e-01 + 1.2662216796875000e+03 + <_> + 1 + 528422 + 2.8135021871546456e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.9836127161979675e-01 + 5.1877889633178711e+00 + <_> + 2 + 465528 + 2.8135021871546456e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 62894 + -2.8135021871546456e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 354298 + -2.8135021871546456e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.7151593565940857e-01 + 1.0398562011718750e+03 + <_> + 2 + 24471 + 2.8135021871546456e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 329827 + -2.8135021871546456e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.3879996448776486e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.3198719024658203e-01 + 2.0673083496093750e+02 + <_> + 1 + 563897 + -2.3879996448776486e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 2.9127633571624756e-01 + 2.1284889221191406e+01 + <_> + 2 + 493911 + -2.3879996448776486e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 69986 + 2.3879996448776486e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 318823 + 2.3879996448776486e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.6814156770706177e-01 + 1.2748368084430695e-01 + <_> + 2 + 27121 + -2.3879996448776486e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 291702 + 2.3879996448776486e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -3.2072387369203748e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.4793244600296021e-01 + 6.3041107177734375e+01 + <_> + 1 + 518900 + 3.2072387369203748e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.4303501248359680e-01 + 1.2224289894104004e+01 + <_> + 2 + 448812 + 3.2072387369203748e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 70088 + -3.2072387369203748e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 363820 + -3.2072387369203748e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.3646563291549683e-01 + 9.6474623680114746e-01 + <_> + 2 + 69743 + 3.2072387369203748e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 294077 + -3.2072387369203748e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.5388568804675321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.3625667095184326e-01 + 7.5241134643554688e+01 + <_> + 1 + 550226 + -2.5388568804675321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.1047654151916504e-01 + 1.8750000000000000e+02 + <_> + 2 + 494944 + -2.5388568804675321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 55282 + 2.5388568804675321e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 332494 + 2.5388568804675321e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.5265613198280334e-01 + 3.5000002384185791e+00 + <_> + 2 + 247473 + 2.5388568804675321e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 85021 + -2.5388568804675321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.8432079365336993e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.3741228580474854e-01 + 4.7506725311279297e+01 + <_> + 1 + 254983 + 2.8432079365336993e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 1.9746458530426025e-01 + 1.2050000000000000e+02 + <_> + 2 + 108797 + -2.8432079365336993e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 146186 + 2.8432079365336993e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 627737 + -2.8432079365336993e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.7314060330390930e-01 + 9.7361600399017334e-01 + <_> + 2 + 273881 + -2.8432079365336993e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 353856 + 2.8432079365336993e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.7807586135889539e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.3048604726791382e-01 + 3.9837718009948730e-02 + <_> + 1 + 396766 + 2.7807586135889539e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.9367303848266602e-01 + 1.5735460281372070e+01 + <_> + 2 + 333714 + 2.7807586135889539e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 63052 + -2.7807586135889539e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 485954 + -2.7807586135889539e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.7540138363838196e-01 + 1.2582890510559082e+01 + <_> + 2 + 384791 + -2.7807586135889539e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 101163 + 2.7807586135889539e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.5257428818013500e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3876495361328125e-01 + 6.5172973632812500e+01 + <_> + 1 + 774061 + -2.5257428818013500e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.4251585006713867e-01 + 5.6907775878906250e+02 + <_> + 2 + 155718 + 2.5257428818013500e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 618343 + -2.5257428818013500e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 108659 + 2.5257428818013500e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.2029416114091873e-01 + 2.8483349084854126e-01 + <_> + 2 + 96999 + 2.5257428818013500e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 11660 + -2.5257428818013500e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.6888200258282402e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3376609086990356e-01 + 3.2374977111816406e+01 + <_> + 1 + 367112 + -2.6888200258282402e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.4384716749191284e-01 + 3.1992652416229248e+00 + <_> + 2 + 331941 + -2.6888200258282402e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 35171 + 2.6888200258282402e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 515608 + 2.6888200258282402e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.2297124862670898e-01 + 2.8283744812011719e+01 + <_> + 2 + 355009 + 2.6888200258282402e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 160599 + -2.6888200258282402e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.6557449847167958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.4306346178054810e-01 + 4.9310810863971710e-02 + <_> + 1 + 597702 + -2.6557449847167958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.3830740451812744e-01 + 2.2350000000000000e+02 + <_> + 2 + 571125 + -2.6557449847167958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 26577 + 2.6557449847167958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 285018 + 2.6557449847167958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.2769871950149536e-01 + 1.8904611468315125e-01 + <_> + 2 + 119410 + -2.6557449847167958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 165608 + 2.6557449847167958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.1957614635785158e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.3768950700759888e-01 + 3.3249731445312500e+02 + <_> + 1 + 41096 + -2.1957614635785158e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.0376721173524857e-02 + 1.2922230362892151e-01 + <_> + 2 + 1151 + 2.1957614635785158e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 39945 + -2.1957614635785158e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 841624 + 2.1957614635785158e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.2429783344268799e-01 + 5.7744584977626801e-02 + <_> + 2 + 691440 + 2.1957614635785158e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 150184 + -2.1957614635785158e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5621912673964305e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.2971059083938599e-01 + 1.1778937530517578e+02 + <_> + 1 + 849067 + -1.5621912673964305e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.0207209587097168e-01 + 3.9004119873046875e+01 + <_> + 2 + 839501 + -1.5621912673964305e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9566 + 1.5621912673964305e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 33653 + 1.5621912673964305e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.6903481930494308e-02 + 2.6576604003906250e+03 + <_> + 2 + 16706 + 1.5621912673964305e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 16947 + -1.5621912673964305e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.5984527176661293e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.2983206510543823e-01 + 3.3699297904968262e+00 + <_> + 1 + 659234 + 2.5984527176661293e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.4077429771423340e-01 + 2.2761417388916016e+01 + <_> + 2 + 168907 + -2.5984527176661293e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 490327 + 2.5984527176661293e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 223486 + -2.5984527176661293e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.2382394969463348e-01 + 4.9548980712890625e+01 + <_> + 2 + 75712 + -2.5984527176661293e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 147774 + 2.5984527176661293e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.8589414297244886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.5083858966827393e-01 + 4.5184902191162109e+01 + <_> + 1 + 225027 + 2.8589414297244886e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.7789599299430847e-01 + 5.1924037933349609e+00 + <_> + 2 + 179559 + 2.8589414297244886e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 45468 + -2.8589414297244886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 657693 + -2.8589414297244886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.9309465885162354e-01 + 4.0533802032470703e+01 + <_> + 2 + 37224 + 2.8589414297244886e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 620469 + -2.8589414297244886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.5890222762878878e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.3204536437988281e-01 + 3.0226737260818481e-01 + <_> + 1 + 635135 + 2.5890222762878878e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.6253535151481628e-01 + 1.1937193572521210e-01 + <_> + 2 + 41365 + -2.5890222762878878e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 593770 + 2.5890222762878878e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 247585 + -2.5890222762878878e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.0183106362819672e-01 + 9.5969329833984375e+01 + <_> + 2 + 214121 + -2.5890222762878878e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 33464 + 2.5890222762878878e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.6087276350002813e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2966541051864624e-01 + 1.2195181640625000e+04 + <_> + 1 + 865649 + -1.6087276350002813e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1756471395492554e-01 + 4.5140047073364258e+00 + <_> + 2 + 85899 + 1.6087276350002813e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 779750 + -1.6087276350002813e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 17071 + 1.6087276350002813e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.2566951811313629e-02 + 2.2305555343627930e+00 + <_> + 2 + 3322 + -1.6087276350002813e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 13749 + 1.6087276350002813e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.5162349612340584e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3231668472290039e-01 + 4.1311653137207031e+01 + <_> + 1 + 511470 + -2.5162349612340584e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.2732007503509521e-01 + 1.8950000000000000e+02 + <_> + 2 + 439893 + -2.5162349612340584e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 71577 + 2.5162349612340584e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 371250 + 2.5162349612340584e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 3.3525598049163818e-01 + 7.6380165100097656e+01 + <_> + 2 + 237881 + 2.5162349612340584e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 133369 + -2.5162349612340584e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.9680235984700412e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.3176385164260864e-01 + 1.2164132118225098e+01 + <_> + 1 + 767723 + 1.9680235984700412e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.7934114933013916e-01 + 2.9931622743606567e-01 + <_> + 2 + 726628 + 1.9680235984700412e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 41095 + -1.9680235984700412e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 114997 + -1.9680235984700412e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 6.9701254367828369e-02 + 5.9036102294921875e+00 + <_> + 2 + 8029 + 1.9680235984700412e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 106968 + -1.9680235984700412e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.1085934556631833e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3102642297744751e-01 + 6.8379714965820312e+01 + <_> + 1 + 791915 + -2.1085934556631833e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.5863428711891174e-01 + 2.7736222743988037e-01 + <_> + 2 + 488246 + -2.1085934556631833e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 303669 + 2.1085934556631833e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 90805 + 2.1085934556631833e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 9.3886099755764008e-02 + 1.5468671917915344e-01 + <_> + 2 + 14078 + -2.1085934556631833e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 76727 + 2.1085934556631833e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.3927106695682640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.3679347038269043e-01 + 6.3816757202148438e+01 + <_> + 1 + 530787 + 2.3927106695682640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.4056138992309570e-01 + 2.4999579787254333e-01 + <_> + 2 + 423022 + 2.3927106695682640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 107765 + -2.3927106695682640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 351933 + -2.3927106695682640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.1897262334823608e-01 + 3.2547447204589844e+01 + <_> + 2 + 344551 + -2.3927106695682640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7382 + 2.3927106695682640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.4655053899517229e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.3666996955871582e-01 + 1.6050000000000000e+02 + <_> + 1 + 399660 + -2.4655053899517229e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.9678973555564880e-01 + 2.6728283691406250e+03 + <_> + 2 + 245275 + 2.4655053899517229e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 154385 + -2.4655053899517229e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 483060 + 2.4655053899517229e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.6453757286071777e-01 + 2.2190344333648682e-01 + <_> + 2 + 193758 + 2.4655053899517229e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 289302 + -2.4655053899517229e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.5498001638289297e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.4181605577468872e-01 + 1.6050000000000000e+02 + <_> + 1 + 399660 + -2.5498001638289297e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.0098134279251099e-01 + 4.9605865478515625e+01 + <_> + 2 + 337015 + -2.5498001638289297e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 62645 + 2.5498001638289297e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 483060 + 2.5498001638289297e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.6242053508758545e-01 + 1.3052967071533203e+01 + <_> + 2 + 417934 + 2.5498001638289297e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 65126 + -2.5498001638289297e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.7456508200215562e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.4151570796966553e-01 + 4.7608787536621094e+01 + <_> + 1 + 256299 + 2.7456508200215562e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.9770053029060364e-01 + 1.6914348602294922e+01 + <_> + 2 + 79379 + -2.7456508200215562e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 176920 + 2.7456508200215562e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 626421 + -2.7456508200215562e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.7051275372505188e-01 + 1.0000002384185791e+00 + <_> + 2 + 496938 + -2.7456508200215562e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 129483 + 2.7456508200215562e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.0004802945700365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.2579295635223389e-01 + 4.9303025007247925e-02 + <_> + 1 + 597556 + -2.0004802945700365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.2179220914840698e-01 + 2.1679308265447617e-02 + <_> + 2 + 95981 + 2.0004802945700365e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 501575 + -2.0004802945700365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 285164 + 2.0004802945700365e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.2805368006229401e-01 + 1.2209074020385742e+01 + <_> + 2 + 215563 + -2.0004802945700365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 69601 + 2.0004802945700365e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.1766179722445614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.3841793537139893e-01 + 1.9424425125122070e+01 + <_> + 1 + 834878 + 2.1766179722445614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.3460085391998291e-01 + 7.2649765014648438e+01 + <_> + 2 + 719975 + 2.1766179722445614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 114903 + -2.1766179722445614e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 47842 + -2.1766179722445614e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 1.9600756466388702e-02 + 1.2279651641845703e+02 + <_> + 2 + 45030 + -2.1766179722445614e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2812 + 2.1766179722445614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.5286557649926933e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.4081672430038452e-01 + 6.3223449707031250e+01 + <_> + 1 + 760071 + -2.5286557649926933e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.2534014582633972e-01 + 1.4329477539062500e+03 + <_> + 2 + 271128 + 2.5286557649926933e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 488943 + -2.5286557649926933e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 122649 + 2.5286557649926933e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.3754153251647949e-01 + 3.0271297693252563e-01 + <_> + 2 + 115372 + 2.5286557649926933e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7277 + -2.5286557649926933e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.0555075165763376e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.3161782026290894e-01 + 2.1139262616634369e-01 + <_> + 1 + 347753 + 2.0555075165763376e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.7911043167114258e-01 + 9.7840070724487305e-01 + <_> + 2 + 263596 + 2.0555075165763376e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 84157 + -2.0555075165763376e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 534967 + -2.0555075165763376e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.7209708094596863e-01 + 7.2531059265136719e+01 + <_> + 2 + 507329 + -2.0555075165763376e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 27638 + 2.0555075165763376e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.6318671841471969e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.3100723028182983e-01 + 3.0554033203125000e+03 + <_> + 1 + 555074 + 2.6318671841471969e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.3232513070106506e-01 + 1.1882034301757812e+02 + <_> + 2 + 231033 + -2.6318671841471969e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 324041 + 2.6318671841471969e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 327646 + -2.6318671841471969e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.3309436440467834e-01 + 1.0087275505065918e+01 + <_> + 2 + 154505 + 2.6318671841471969e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 173141 + -2.6318671841471969e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7886966412152602e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2818858623504639e-01 + 5.7150909423828125e+02 + <_> + 1 + 157310 + 1.7886966412152602e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 8.5386924445629120e-02 + 3.7840070724487305e+00 + <_> + 2 + 65160 + -1.7886966412152602e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 92150 + 1.7886966412152602e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 725410 + -1.7886966412152602e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.5921164751052856e-01 + 2.0250000000000000e+02 + <_> + 2 + 556290 + -1.7886966412152602e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 169120 + 1.7886966412152602e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.4412491736279468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.3618264198303223e-01 + 6.7966049194335938e+01 + <_> + 1 + 588744 + 2.4412491736279468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.7384462356567383e-01 + 9.1840713500976562e+01 + <_> + 2 + 544871 + 2.4412491736279468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43873 + -2.4412491736279468e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 293976 + -2.4412491736279468e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 1.8688529729843140e-01 + 1.7250000000000000e+02 + <_> + 2 + 31347 + 2.4412491736279468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 262629 + -2.4412491736279468e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.5168356891603977e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.3682410717010498e-01 + 1.4950000000000000e+02 + <_> + 1 + 301559 + -2.5168356891603977e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.5741899013519287e-01 + 1.9172586500644684e-02 + <_> + 2 + 38284 + 2.5168356891603977e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 263275 + -2.5168356891603977e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 581161 + 2.5168356891603977e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.0517184734344482e-01 + 5.2177287638187408e-02 + <_> + 2 + 386885 + 2.5168356891603977e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 194276 + -2.5168356891603977e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.6274388301285150e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.2321952581405640e-01 + 4.9310810863971710e-02 + <_> + 1 + 597702 + -1.6274388301285150e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.2153576016426086e-01 + 1.7465135455131531e-01 + <_> + 2 + 287908 + 1.6274388301285150e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 309794 + -1.6274388301285150e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 285018 + 1.6274388301285150e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.1906065791845322e-01 + 3.3731169700622559e+00 + <_> + 2 + 254827 + 1.6274388301285150e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 30191 + -1.6274388301285150e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.3305996235932100e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2847641706466675e-01 + 1.9722145795822144e-01 + <_> + 1 + 519616 + -2.3305996235932100e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.0912411212921143e-01 + 5.3183586120605469e+01 + <_> + 2 + 355831 + -2.3305996235932100e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 163785 + 2.3305996235932100e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 363104 + 2.3305996235932100e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.4887856841087341e-01 + 9.6279144287109375e-01 + <_> + 2 + 40121 + -2.3305996235932100e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 322983 + 2.3305996235932100e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.3036952403919270e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.3912377357482910e-01 + 5.3898361206054688e+01 + <_> + 1 + 365071 + 2.3036952403919270e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 2.3922763764858246e-01 + 3.7840070724487305e+00 + <_> + 2 + 67640 + -2.3036952403919270e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 297431 + 2.3036952403919270e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 517649 + -2.3036952403919270e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 3.1811138987541199e-01 + 4.0031188964843750e+01 + <_> + 2 + 510270 + -2.3036952403919270e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7379 + 2.3036952403919270e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.0377221557767070e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.2814871072769165e-01 + 1.8350000000000000e+02 + <_> + 1 + 596228 + -2.0377221557767070e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.7580871582031250e-01 + 4.0621910095214844e+00 + <_> + 2 + 76371 + 2.0377221557767070e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 519857 + -2.0377221557767070e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 286492 + 2.0377221557767070e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 1.7495878040790558e-01 + 2.6395947265625000e+03 + <_> + 2 + 252916 + 2.0377221557767070e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 33576 + -2.0377221557767070e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.8553929539802766e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2320522069931030e-01 + 2.9549052734375000e+03 + <_> + 1 + 544006 + 1.8553929539802766e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.1955578923225403e-01 + 2.6475187301635742e+01 + <_> + 2 + 211300 + -1.8553929539802766e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 332706 + 1.8553929539802766e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 338714 + -1.8553929539802766e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.2669644653797150e-01 + 6.0698143005371094e+01 + <_> + 2 + 259895 + -1.8553929539802766e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 78819 + 1.8553929539802766e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.3932159263591954e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.3755301237106323e-01 + 1.7373134613037109e+01 + <_> + 1 + 538378 + 2.3932159263591954e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.0823731422424316e-01 + 1.5216379394531250e+03 + <_> + 2 + 218668 + -2.3932159263591954e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 319710 + 2.3932159263591954e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 344342 + -2.3932159263591954e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.5130915641784668e-01 + 2.6667720079421997e-01 + <_> + 2 + 321778 + -2.3932159263591954e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 22564 + 2.3932159263591954e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.8502400513672809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1913762092590332e-01 + 4.4779052734375000e+01 + <_> + 1 + 558733 + -1.8502400513672809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.7459961175918579e-01 + 1.0752773437500000e+03 + <_> + 2 + 171202 + 1.8502400513672809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 387531 + -1.8502400513672809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 323987 + 1.8502400513672809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.7152487635612488e-01 + 2.1282728016376495e-01 + <_> + 2 + 214857 + 1.8502400513672809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 109130 + -1.8502400513672809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.9179242298010485e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2680104970932007e-01 + 3.2482216796875000e+03 + <_> + 1 + 574784 + 1.9179242298010485e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.3918642997741699e-01 + 3.7387070059776306e-01 + <_> + 2 + 468901 + 1.9179242298010485e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 105883 + -1.9179242298010485e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 307936 + -1.9179242298010485e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.0861522853374481e-01 + 2.8730431571602821e-02 + <_> + 2 + 75080 + 1.9179242298010485e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 232856 + -1.9179242298010485e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7677682637851502e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1921409368515015e-01 + 7.3645393371582031e+01 + <_> + 1 + 534334 + -1.7677682637851502e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.9001012444496155e-01 + 4.0442691802978516e+01 + <_> + 2 + 161707 + 1.7677682637851502e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 372627 + -1.7677682637851502e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 348386 + 1.7677682637851502e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.5406932830810547e-01 + 2.5000000000000000e+00 + <_> + 2 + 257611 + 1.7677682637851502e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 90775 + -1.7677682637851502e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2944927495056188e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.2261495590209961e-01 + 2.7957454681396484e+01 + <_> + 1 + 863896 + -1.2944927495056188e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.0150543451309204e-01 + 7.6779220581054688e+01 + <_> + 2 + 828421 + -1.2944927495056188e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 35475 + 1.2944927495056188e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 18824 + 1.2944927495056188e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.0811768025159836e-02 + 8.7500000000000000e+01 + <_> + 2 + 1526 + -1.2944927495056188e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17298 + 1.2944927495056188e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.2805138788649618e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.2759498357772827e-01 + 1.2750000000000000e+02 + <_> + 1 + 154218 + -2.2805138788649618e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.6031777858734131e-01 + 9.7954940795898438e-01 + <_> + 2 + 69686 + -2.2805138788649618e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 84532 + 2.2805138788649618e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 728502 + 2.2805138788649618e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.9644926786422729e-01 + 1.0653674316406250e+03 + <_> + 2 + 144239 + -2.2805138788649618e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 584263 + 2.2805138788649618e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1223244744301501e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 5.2056831121444702e-01 + 2.7092132568359375e+01 + <_> + 1 + 14184 + 1.1223244744301501e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.0670806989073753e-02 + 1.3561982154846191e+01 + <_> + 2 + 2597 + -1.1223244744301501e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 11587 + 1.1223244744301501e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 868536 + -1.1223244744301501e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.0735789537429810e-01 + 7.3869981765747070e+00 + <_> + 2 + 793621 + -1.1223244744301501e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 74915 + 1.1223244744301501e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5530507131952809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2601444721221924e-01 + 5.2472219467163086e+00 + <_> + 1 + 785383 + 1.5530507131952809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.7027212381362915e-01 + 3.3307580566406250e+02 + <_> + 2 + 41479 + -1.5530507131952809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 743904 + 1.5530507131952809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 97337 + -1.5530507131952809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 6.8476296961307526e-02 + 2.5150000000000000e+02 + <_> + 2 + 86815 + -1.5530507131952809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 10522 + 1.5530507131952809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2688637710805309e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 5.2681589126586914e-01 + 2.6944393157958984e+01 + <_> + 1 + 13767 + 1.2688637710805309e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.0236637443304062e-02 + 9.7680604457855225e-01 + <_> + 2 + 2455 + -1.2688637710805309e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 11312 + 1.2688637710805309e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 868953 + -1.2688637710805309e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1144248247146606e-01 + 4.1006408691406250e+01 + <_> + 2 + 858830 + -1.2688637710805309e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 10123 + 1.2688637710805309e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.8286569125336186e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1992076635360718e-01 + 1.2523591613769531e+02 + <_> + 1 + 809078 + 1.8286569125336186e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.4946891069412231e-01 + 6.3247621059417725e-02 + <_> + 2 + 710354 + 1.8286569125336186e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 98724 + -1.8286569125336186e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 73642 + -1.8286569125336186e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 9.6120528876781464e-02 + 1.2654811859130859e+01 + <_> + 2 + 28910 + 1.8286569125336186e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 44732 + -1.8286569125336186e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.6664812093165204e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.3545141220092773e-01 + 2.2550000000000000e+02 + <_> + 1 + 814284 + -1.6664812093165204e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.8810854554176331e-01 + 3.5277777910232544e-01 + <_> + 2 + 2224 + 1.6664812093165204e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 812060 + -1.6664812093165204e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 68436 + 1.6664812093165204e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.3457342088222504e-02 + 5.2621202468872070e+00 + <_> + 2 + 58922 + 1.6664812093165204e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9514 + -1.6664812093165204e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.7054016986871479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2422934770584106e-01 + 3.4956390380859375e+01 + <_> + 1 + 140866 + -1.7054016986871479e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 9.7741618752479553e-02 + 4.9074954986572266e+01 + <_> + 2 + 99632 + -1.7054016986871479e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 41234 + 1.7054016986871479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 741854 + 1.7054016986871479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.4479039311408997e-01 + 1.2406488507986069e-01 + <_> + 2 + 44089 + -1.7054016986871479e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 697765 + 1.7054016986871479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.4708091350926242e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.2632671594619751e-01 + 2.9207530975341797e+01 + <_> + 1 + 155246 + 1.4708091350926242e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 7.2520099580287933e-02 + 1.6195281982421875e+01 + <_> + 2 + 78729 + -1.4708091350926242e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 76517 + 1.4708091350926242e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 727474 + -1.4708091350926242e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.6418398618698120e-01 + 8.6062240600585938e+01 + <_> + 2 + 13616 + 1.4708091350926242e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 713858 + -1.4708091350926242e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.8537181928091362e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2009099721908569e-01 + 7.6652450561523438e+01 + <_> + 1 + 682492 + 1.8537181928091362e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.1290074586868286e-01 + 1.6710216522216797e+01 + <_> + 2 + 627187 + 1.8537181928091362e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 55305 + -1.8537181928091362e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 200228 + -1.8537181928091362e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.3330994546413422e-01 + 1.2432705078125000e+03 + <_> + 2 + 38762 + 1.8537181928091362e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 161466 + -1.8537181928091362e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.1321615139911135e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3494381904602051e-01 + 6.5299362182617188e+01 + <_> + 1 + 774888 + -2.1321615139911135e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.3464040756225586e-01 + 1.5307974815368652e-01 + <_> + 2 + 201052 + 2.1321615139911135e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 573836 + -2.1321615139911135e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 107832 + 2.1321615139911135e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.1846260726451874e-01 + 6.7380859375000000e+03 + <_> + 2 + 98330 + 2.1321615139911135e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9502 + -2.1321615139911135e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7835422273965343e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.2141159772872925e-01 + 2.6457395553588867e+00 + <_> + 1 + 543502 + 1.7835422273965343e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.5564342737197876e-01 + 3.1950057983398438e+01 + <_> + 2 + 295667 + -1.7835422273965343e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 247835 + 1.7835422273965343e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 339218 + -1.7835422273965343e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.8882730007171631e-01 + 1.2249999046325684e+00 + <_> + 2 + 32471 + 1.7835422273965343e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 306747 + -1.7835422273965343e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6421246789221766e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2026802301406860e-01 + 1.4970359206199646e-01 + <_> + 1 + 194491 + -1.6421246789221766e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.2315726280212402e-01 + 9.6512353420257568e-01 + <_> + 2 + 29978 + 1.6421246789221766e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 164513 + -1.6421246789221766e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 688229 + 1.6421246789221766e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.1780385375022888e-01 + 1.6746243286132812e+02 + <_> + 2 + 382442 + -1.6421246789221766e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 305787 + 1.6421246789221766e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 2.1349945196507980e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.3403520584106445e-01 + 6.3926227569580078e+01 + <_> + 1 + 532387 + 2.1349945196507980e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.4311762452125549e-01 + 8.8874023437500000e+01 + <_> + 2 + 492657 + 2.1349945196507980e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 39730 + -2.1349945196507980e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 350333 + -2.1349945196507980e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.1005542576313019e-01 + 4.9007560729980469e+01 + <_> + 2 + 173563 + 2.1349945196507980e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 176770 + -2.1349945196507980e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.1157485399239337e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2946388721466064e-01 + 5.0247917175292969e+01 + <_> + 1 + 616448 + -2.1157485399239337e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.3478778600692749e-01 + 1.4483706054687500e+03 + <_> + 2 + 264101 + 2.1157485399239337e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 352347 + -2.1157485399239337e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 266272 + 2.1157485399239337e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.1790950000286102e-01 + 2.0245698094367981e-01 + <_> + 2 + 167887 + 2.1157485399239337e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 98385 + -2.1157485399239337e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.4987596391113447e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1824301481246948e-01 + 1.9450000000000000e+02 + <_> + 1 + 666719 + -1.4987596391113447e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.9597755670547485e-01 + 4.7238201141357422e+01 + <_> + 2 + 251380 + 1.4987596391113447e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 415339 + -1.4987596391113447e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 216001 + 1.4987596391113447e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.4142143726348877e-01 + 6.9206595420837402e-02 + <_> + 2 + 187863 + 1.4987596391113447e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 28138 + -1.4987596391113447e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.6945746191775046e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.2560162544250488e-01 + 1.3750000000000000e+02 + <_> + 1 + 217397 + -1.6945746191775046e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.9838671386241913e-01 + 9.2698411941528320e+00 + <_> + 2 + 173324 + -1.6945746191775046e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 44073 + 1.6945746191775046e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 665323 + 1.6945746191775046e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.4387657046318054e-01 + 1.6638052368164062e+02 + <_> + 2 + 272338 + -1.6945746191775046e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 392985 + 1.6945746191775046e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.8303376278591144e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.2342832088470459e-01 + 1.6974687576293945e+01 + <_> + 1 + 526638 + 1.8303376278591144e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.9907098412513733e-01 + 5.3737506866455078e+00 + <_> + 2 + 456304 + 1.8303376278591144e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 70334 + -1.8303376278591144e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 356082 + -1.8303376278591144e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.4656014144420624e-01 + 4.0000801086425781e+01 + <_> + 2 + 349628 + -1.8303376278591144e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6454 + 1.8303376278591144e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.9837200424471124e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3148043155670166e-01 + 4.5435165405273438e+01 + <_> + 1 + 566916 + -1.9837200424471124e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.8911086916923523e-01 + 1.9850000000000000e+02 + <_> + 2 + 497959 + -1.9837200424471124e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 68957 + 1.9837200424471124e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 315804 + 1.9837200424471124e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.6032015681266785e-01 + 1.2580104172229767e-01 + <_> + 2 + 19943 + -1.9837200424471124e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 295861 + 1.9837200424471124e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.8274765362971820e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2690309286117554e-01 + 1.0715937500000000e+03 + <_> + 1 + 415837 + 1.8274765362971820e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.3095072805881500e-01 + 1.0696158409118652e+01 + <_> + 2 + 376178 + 1.8274765362971820e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 39659 + -1.8274765362971820e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 466883 + -1.8274765362971820e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.1460943818092346e-01 + 5.5210243225097656e+01 + <_> + 2 + 126974 + 1.8274765362971820e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 339909 + -1.8274765362971820e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7981433608797842e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.2889794111251831e-01 + 1.3750000000000000e+02 + <_> + 1 + 217397 + -1.7981433608797842e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 2.0291399955749512e-01 + 7.0379514694213867e+00 + <_> + 2 + 211530 + -1.7981433608797842e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5867 + 1.7981433608797842e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 665323 + 1.7981433608797842e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.4191885590553284e-01 + 9.8043918609619141e-01 + <_> + 2 + 474461 + 1.7981433608797842e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 190862 + -1.7981433608797842e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.6787892706410881e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2736580371856689e-01 + 4.2897491455078125e+01 + <_> + 1 + 199585 + 1.6787892706410881e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.5381197631359100e-01 + 5.5714025497436523e+00 + <_> + 2 + 159918 + 1.6787892706410881e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 39667 + -1.6787892706410881e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 683135 + -1.6787892706410881e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.8805946707725525e-01 + 4.4086141586303711e+00 + <_> + 2 + 581177 + -1.6787892706410881e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 101958 + 1.6787892706410881e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7317557622810609e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2000737190246582e-01 + 2.4731689453125000e+03 + <_> + 1 + 478156 + 1.7317557622810609e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.8003850579261780e-01 + 2.7021043777465820e+01 + <_> + 2 + 207413 + -1.7317557622810609e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 270743 + 1.7317557622810609e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 404564 + -1.7317557622810609e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.6314750313758850e-01 + 6.4897674560546875e+01 + <_> + 2 + 333565 + -1.7317557622810609e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 70999 + 1.7317557622810609e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.8871309968597677e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.2945041656494141e-01 + 3.9570122957229614e-02 + <_> + 1 + 392264 + 1.8871309968597677e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.8795385360717773e-01 + 1.2070747070312500e+03 + <_> + 2 + 77576 + -1.8871309968597677e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 314688 + 1.8871309968597677e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 490456 + -1.8871309968597677e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.5908491015434265e-01 + 4.9794895172119141e+01 + <_> + 2 + 61265 + 1.8871309968597677e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 429191 + -1.8871309968597677e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5101704383245079e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2044838666915894e-01 + 6.9030746459960938e+01 + <_> + 1 + 484168 + -1.5101704383245079e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.6727783679962158e-01 + 1.9172497093677521e-02 + <_> + 2 + 31689 + 1.5101704383245079e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 452479 + -1.5101704383245079e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 398552 + 1.5101704383245079e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.7040484547615051e-01 + 1.0260999679565430e+01 + <_> + 2 + 106632 + -1.5101704383245079e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 291920 + 1.5101704383245079e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.8635702791409478e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.2642911672592163e-01 + 9.7360563278198242e-01 + <_> + 1 + 362649 + -1.8635702791409478e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.9384776949882507e-01 + 1.1438926696777344e+01 + <_> + 2 + 153154 + 1.8635702791409478e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 209495 + -1.8635702791409478e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 520071 + 1.8635702791409478e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.5260710716247559e-01 + 4.9030090332031250e+01 + <_> + 2 + 450934 + -1.8635702791409478e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 69137 + 1.8635702791409478e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.9765326927722926e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.3124678134918213e-01 + 9.7360563278198242e-01 + <_> + 1 + 362649 + -1.9765326927722926e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.8489610552787781e-01 + 1.4350000000000000e+02 + <_> + 2 + 64160 + -1.9765326927722926e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 298489 + 1.9765326927722926e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 520071 + 1.9765326927722926e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.6435697078704834e-01 + 7.0211486816406250e+01 + <_> + 2 + 370858 + 1.9765326927722926e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 149213 + -1.9765326927722926e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.9008562947159074e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.2817881107330322e-01 + 9.7688269615173340e-01 + <_> + 1 + 453264 + -1.9008562947159074e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.8661244511604309e-01 + 1.3652859628200531e-01 + <_> + 2 + 44955 + 1.9008562947159074e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 408309 + -1.9008562947159074e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 429456 + 1.9008562947159074e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 1.6076639294624329e-01 + 1.4200860595703125e+02 + <_> + 2 + 239336 + 1.9008562947159074e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 190120 + -1.9008562947159074e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6488461611685662e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2262514829635620e-01 + 1.3924482464790344e-01 + <_> + 1 + 121797 + -1.6488461611685662e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 8.2732662558555603e-02 + 1.2755950927734375e+01 + <_> + 2 + 56802 + 1.6488461611685662e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 64995 + -1.6488461611685662e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 760923 + 1.6488461611685662e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.5839536190032959e-01 + 1.1973855590820312e+02 + <_> + 2 + 690430 + 1.6488461611685662e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 70493 + -1.6488461611685662e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.0696553564999931e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.2718508243560791e-01 + 1.5144380569458008e+01 + <_> + 1 + 471388 + -2.0696553564999931e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.6793250441551208e-01 + 4.9755523681640625e+01 + <_> + 2 + 433903 + -2.0696553564999931e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 37485 + 2.0696553564999931e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 411332 + 2.0696553564999931e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.8362497687339783e-01 + 1.5036141872406006e-01 + <_> + 2 + 94777 + -2.0696553564999931e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 316555 + 2.0696553564999931e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7442798053884997e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2825641632080078e-01 + 1.0713525390625000e+03 + <_> + 1 + 415724 + 1.7442798053884997e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 2.2957545518875122e-01 + 3.3307580566406250e+02 + <_> + 2 + 41479 + -1.7442798053884997e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 374245 + 1.7442798053884997e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 466996 + -1.7442798053884997e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 3.1392130255699158e-01 + 4.1006095886230469e+01 + <_> + 2 + 460665 + -1.7442798053884997e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6331 + 1.7442798053884997e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.6894820709831398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2284801006317139e-01 + 3.0361111164093018e+00 + <_> + 1 + 554473 + -1.6894820709831398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.9346308112144470e-01 + 1.7843583226203918e-01 + <_> + 2 + 214178 + 1.6894820709831398e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 340295 + -1.6894820709831398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 328247 + 1.6894820709831398e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.4867379665374756e-01 + 4.2562915802001953e+01 + <_> + 2 + 75934 + -1.6894820709831398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 252313 + 1.6894820709831398e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7674119203356484e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1899164915084839e-01 + 1.2321180105209351e+00 + <_> + 1 + 372782 + 1.7674119203356484e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.2046257555484772e-01 + 5.1326644897460938e+01 + <_> + 2 + 131116 + -1.7674119203356484e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 241666 + 1.7674119203356484e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 509938 + -1.7674119203356484e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 3.2360807061195374e-01 + 1.2249999046325684e+00 + <_> + 2 + 102254 + 1.7674119203356484e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 407684 + -1.7674119203356484e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.4608854021190626e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.2037280797958374e-01 + 7.0782981872558594e+01 + <_> + 1 + 747806 + 1.4608854021190626e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.0612849593162537e-01 + 1.9494859695434570e+01 + <_> + 2 + 703201 + 1.4608854021190626e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 44605 + -1.4608854021190626e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 134914 + -1.4608854021190626e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 1.3032881915569305e-01 + 1.1943687438964844e+02 + <_> + 2 + 105632 + -1.4608854021190626e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 29282 + 1.4608854021190626e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.6290662080802179e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2730250358581543e-01 + 6.7461097717285156e+01 + <_> + 1 + 786712 + -1.6290662080802179e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 4.3959954380989075e-01 + 2.5377178192138672e+01 + <_> + 2 + 10670 + 1.6290662080802179e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 776042 + -1.6290662080802179e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 96008 + 1.6290662080802179e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 1.0103728622198105e-01 + 2.5565913085937500e+03 + <_> + 2 + 72779 + 1.6290662080802179e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 23229 + -1.6290662080802179e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.4416610781529565e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2142697572708130e-01 + 2.2786550521850586e+01 + <_> + 1 + 183963 + -1.4416610781529565e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 6.8228527903556824e-02 + 2.4811942875385284e-01 + <_> + 2 + 129761 + -1.4416610781529565e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 54202 + 1.4416610781529565e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 698757 + 1.4416610781529565e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.6775069832801819e-01 + 2.9504753112792969e+01 + <_> + 2 + 558623 + 1.4416610781529565e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 140134 + -1.4416610781529565e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3452192081534106e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1857942342758179e-01 + 1.1083720397949219e+02 + <_> + 1 + 775712 + -1.3452192081534106e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.1056188941001892e-01 + 1.3630136489868164e+01 + <_> + 2 + 677782 + -1.3452192081534106e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 97930 + 1.3452192081534106e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 107008 + 1.3452192081534106e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 1.2301797419786453e-01 + 1.7500000000000000e+01 + <_> + 2 + 88911 + 1.3452192081534106e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 18097 + -1.3452192081534106e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.7298411620927254e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.2151030302047729e-01 + 1.3457941055297852e+01 + <_> + 1 + 728960 + 1.7298411620927254e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.9567282795906067e-01 + 7.1139678955078125e+01 + <_> + 2 + 556234 + 1.7298411620927254e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 172726 + -1.7298411620927254e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 153760 + -1.7298411620927254e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.4746569097042084e-01 + 9.6817898750305176e-01 + <_> + 2 + 118375 + -1.7298411620927254e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 35385 + 1.7298411620927254e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.8077361312586679e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2921539545059204e-01 + 6.3411556243896484e+01 + <_> + 1 + 761421 + -1.8077361312586679e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.1398248076438904e-01 + 1.6275157928466797e+01 + <_> + 2 + 698556 + -1.8077361312586679e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 62865 + 1.8077361312586679e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 121299 + 1.8077361312586679e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.3108824193477631e-01 + 1.5295208930969238e+01 + <_> + 2 + 93223 + 1.8077361312586679e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 28076 + -1.8077361312586679e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.8090017551510282e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.2529436349868774e-01 + 1.0182608366012573e+00 + <_> + 1 + 162001 + -1.8090017551510282e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.4433114230632782e-01 + 3.3587098121643066e-02 + <_> + 2 + 71177 + 1.8090017551510282e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 90824 + -1.8090017551510282e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 720719 + 1.8090017551510282e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.0077096223831177e-01 + 1.8091466903686523e+01 + <_> + 2 + 681251 + 1.8090017551510282e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 39468 + -1.8090017551510282e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3113544658253162e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1797407865524292e-01 + 3.5487310791015625e+02 + <_> + 1 + 52318 + 1.3113544658253162e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 4.3862845748662949e-02 + 3.7840070724487305e+00 + <_> + 2 + 42754 + -1.3113544658253162e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9564 + 1.3113544658253162e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 830402 + -1.3113544658253162e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.8887410759925842e-01 + 2.3927772521972656e+01 + <_> + 2 + 807320 + -1.3113544658253162e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 23082 + 1.3113544658253162e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5050401463649776e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.2547717094421387e-01 + 3.8817194104194641e-01 + <_> + 1 + 791036 + 1.5050401463649776e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1546055078506470e-01 + 9.6774436533451080e-02 + <_> + 2 + 11781 + -1.5050401463649776e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 779255 + 1.5050401463649776e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 91684 + -1.5050401463649776e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.2094590589404106e-02 + 1.0142603302001953e+02 + <_> + 2 + 85734 + -1.5050401463649776e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5950 + 1.5050401463649776e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1782278029411612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2232253551483154e-01 + 8.0389335632324219e+01 + <_> + 1 + 859440 + -1.1782278029411612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 5.0747865438461304e-01 + 2.8053895950317383e+01 + <_> + 2 + 16815 + 1.1782278029411612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 842625 + -1.1782278029411612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 23280 + 1.1782278029411612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.1942995488643646e-02 + 9.6181493997573853e-01 + <_> + 2 + 9987 + 1.1782278029411612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 13293 + -1.1782278029411612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3723020357718160e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1898813247680664e-01 + 1.1058124542236328e+01 + <_> + 1 + 68239 + -1.3723020357718160e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.6264912933111191e-02 + 3.1845542907714844e+01 + <_> + 2 + 55708 + -1.3723020357718160e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12531 + 1.3723020357718160e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 814481 + 1.3723020357718160e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.8798888921737671e-01 + 2.0290888845920563e-02 + <_> + 2 + 56036 + -1.3723020357718160e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 758445 + 1.3723020357718160e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3496464949818757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 5.2348971366882324e-01 + 4.0621910095214844e+00 + <_> + 1 + 76371 + 1.3496464949818757e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.8088716119527817e-02 + 3.8128118515014648e+00 + <_> + 2 + 68099 + -1.3496464949818757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8272 + 1.3496464949818757e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 806349 + -1.3496464949818757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.7560131549835205e-01 + 8.0716880798339844e+01 + <_> + 2 + 784073 + -1.3496464949818757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 22276 + 1.3496464949818757e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3937218642837171e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.2214956283569336e-01 + 4.4297332763671875e+02 + <_> + 1 + 826754 + 1.3937218642837171e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.7053712606430054e-01 + 6.3277542591094971e-02 + <_> + 2 + 723962 + 1.3937218642837171e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 102792 + -1.3937218642837171e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 55966 + -1.3937218642837171e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 6.4249634742736816e-02 + 1.2626149177551270e+01 + <_> + 2 + 34554 + 1.3937218642837171e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 21412 + -1.3937218642837171e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1688314619837324e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.2122378349304199e-01 + 1.0006089210510254e+00 + <_> + 1 + 19990 + 1.1688314619837324e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.0160043388605118e-02 + 3.1165347099304199e+00 + <_> + 2 + 13134 + 1.1688314619837324e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6856 + -1.1688314619837324e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 862730 + -1.1688314619837324e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 4.9902752041816711e-01 + 3.8793749809265137e+00 + <_> + 2 + 3311 + 1.1688314619837324e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 859419 + -1.1688314619837324e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3462910389821445e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1732021570205688e-01 + 8.2670087814331055e+00 + <_> + 1 + 231846 + -1.3462910389821445e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.0497253388166428e-01 + 3.6026550292968750e+01 + <_> + 2 + 91783 + 1.3462910389821445e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 140063 + -1.3462910389821445e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 650874 + 1.3462910389821445e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 4.2863398790359497e-01 + 5.0000000000000000e-01 + <_> + 2 + 89552 + -1.3462910389821445e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 561322 + 1.3462910389821445e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5253509332660217e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.2270543575286865e-01 + 1.0634729862213135e+00 + <_> + 1 + 268025 + 1.5253509332660217e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 1.8296697735786438e-01 + 1.7006107177734375e+03 + <_> + 2 + 230186 + 1.5253509332660217e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 37839 + -1.5253509332660217e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 614695 + -1.5253509332660217e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.5509303212165833e-01 + 1.0406154785156250e+03 + <_> + 2 + 113608 + 1.5253509332660217e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 501087 + -1.5253509332660217e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5108034041044591e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1858007907867432e-01 + 1.9277192354202271e+00 + <_> + 1 + 461877 + -1.5108034041044591e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.7026772499084473e-01 + 1.7296025156974792e-01 + <_> + 2 + 94134 + 1.5108034041044591e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 367743 + -1.5108034041044591e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 420843 + 1.5108034041044591e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.6743069291114807e-01 + 1.0547151565551758e+01 + <_> + 2 + 231010 + -1.5108034041044591e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 189833 + 1.5108034041044591e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.4485323597660088e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1651149988174438e-01 + 1.2618762207031250e+03 + <_> + 1 + 525663 + 1.4485323597660088e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 2.8805953264236450e-01 + 3.3219573974609375e+02 + <_> + 2 + 40686 + -1.4485323597660088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 484977 + 1.4485323597660088e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 357057 + -1.4485323597660088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 2.4809059500694275e-01 + 3.1549996948242188e+02 + <_> + 2 + 251960 + -1.4485323597660088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 105097 + 1.4485323597660088e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2389695219422896e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1903158426284790e-01 + 2.1150000000000000e+02 + <_> + 1 + 760119 + -1.2389695219422896e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.3817356228828430e-01 + 4.9272228032350540e-02 + <_> + 2 + 549005 + -1.2389695219422896e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 211114 + 1.2389695219422896e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 122601 + 1.2389695219422896e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 9.2761114239692688e-02 + 2.9519119858741760e-01 + <_> + 2 + 79801 + 1.2389695219422896e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 42800 + -1.2389695219422896e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5021747154370152e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.2080684900283813e-01 + 5.1715463399887085e-02 + <_> + 1 + 643881 + 1.5021747154370152e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.4966846704483032e-01 + 1.9361829757690430e+01 + <_> + 2 + 598014 + 1.5021747154370152e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 45867 + -1.5021747154370152e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 238839 + -1.5021747154370152e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 8.7815448641777039e-02 + 1.6223345947265625e+03 + <_> + 2 + 136323 + 1.5021747154370152e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 102516 + -1.5021747154370152e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5104266043261949e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2864831686019897e-01 + 3.5403479003906250e+02 + <_> + 1 + 51950 + 1.5104266043261949e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 3.7973597645759583e-02 + 1.1057499885559082e+01 + <_> + 2 + 43052 + -1.5104266043261949e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8898 + 1.5104266043261949e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 830770 + -1.5104266043261949e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.9971544742584229e-01 + 9.6596515178680420e-01 + <_> + 2 + 172326 + 1.5104266043261949e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 658444 + -1.5104266043261949e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.9557942998780994e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1880055665969849e-01 + 9.7360563278198242e-01 + <_> + 1 + 362649 + -1.9557942998780994e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.9879355430603027e-01 + 4.9010505676269531e+01 + <_> + 2 + 151435 + 1.9557942998780994e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 211214 + -1.9557942998780994e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 520071 + 1.9557942998780994e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.4994602799415588e-01 + 8.2670726776123047e+00 + <_> + 2 + 187551 + -1.9557942998780994e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 332520 + 1.9557942998780994e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7531063423995971e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2391844987869263e-01 + 5.5836666107177734e+01 + <_> + 1 + 684317 + -1.7531063423995971e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.6422514915466309e-01 + 2.7048809051513672e+01 + <_> + 2 + 64490 + 1.7531063423995971e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 619827 + -1.7531063423995971e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 198403 + 1.7531063423995971e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.7949061095714569e-01 + 2.1929091215133667e-01 + <_> + 2 + 165551 + 1.7531063423995971e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 32852 + -1.7531063423995971e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6987000913257311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.2429395914077759e-01 + 5.1878147125244141e+00 + <_> + 1 + 761081 + 1.6987000913257311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.5103564858436584e-01 + 2.0904876708984375e+01 + <_> + 2 + 723553 + 1.6987000913257311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 37528 + -1.6987000913257311e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 121639 + -1.6987000913257311e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 9.1330043971538544e-02 + 4.9014778137207031e+01 + <_> + 2 + 27368 + -1.6987000913257311e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 94271 + 1.6987000913257311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5508147831230867e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.3036290407180786e-01 + 9.0298099517822266e+00 + <_> + 1 + 323142 + 1.5508147831230867e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 1.4453001320362091e-01 + 1.0054676532745361e+00 + <_> + 2 + 52249 + -1.5508147831230867e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 270893 + 1.5508147831230867e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 559578 + -1.5508147831230867e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.9416283369064331e-01 + 1.5760597656250000e+04 + <_> + 2 + 556495 + -1.5508147831230867e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3083 + 1.5508147831230867e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5342202611876526e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1971518993377686e-01 + 2.7653417968750000e+03 + <_> + 1 + 520367 + 1.5342202611876526e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 3.0594521760940552e-01 + 1.2412986755371094e+01 + <_> + 2 + 468698 + 1.5342202611876526e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 51669 + -1.5342202611876526e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 362353 + -1.5342202611876526e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.3233523964881897e-01 + 1.1594191551208496e+01 + <_> + 2 + 300667 + -1.5342202611876526e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 61686 + 1.5342202611876526e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5504460978397924e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.2174305915832520e-01 + 2.2924989461898804e-01 + <_> + 1 + 412765 + 1.5504460978397924e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.0794218182563782e-01 + 3.3801021575927734e+01 + <_> + 2 + 94379 + -1.5504460978397924e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 318386 + 1.5504460978397924e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 469955 + -1.5504460978397924e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.3074150085449219e-01 + 8.2617813110351562e+01 + <_> + 2 + 332617 + -1.5504460978397924e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 137338 + 1.5504460978397924e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7663468622642209e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.2982634305953979e-01 + 3.0481584370136261e-02 + <_> + 1 + 232769 + 1.7663468622642209e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.6375517845153809e-01 + 1.5765869140625000e+01 + <_> + 2 + 170567 + 1.7663468622642209e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 62202 + -1.7663468622642209e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 649951 + -1.7663468622642209e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.8028904795646667e-01 + 3.8203027343750000e+02 + <_> + 2 + 26190 + 1.7663468622642209e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 623761 + -1.7663468622642209e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6564221985873614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1796710491180420e-01 + 1.6050000000000000e+02 + <_> + 1 + 399660 + -1.6564221985873614e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.9315069317817688e-01 + 1.1290136337280273e+01 + <_> + 2 + 341249 + -1.6564221985873614e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 58411 + 1.6564221985873614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 483060 + 1.6564221985873614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 2.4816544353961945e-01 + 2.5353164062500000e+03 + <_> + 2 + 434885 + 1.6564221985873614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 48175 + -1.6564221985873614e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7215929309747219e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.2232277393341064e-01 + 1.0233835220336914e+01 + <_> + 1 + 474781 + 1.7215929309747219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 2.2924977540969849e-01 + 1.8042167663574219e+01 + <_> + 2 + 400178 + 1.7215929309747219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 74603 + -1.7215929309747219e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 407939 + -1.7215929309747219e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.1368407607078552e-01 + 1.2954711914062500e+03 + <_> + 2 + 74434 + 1.7215929309747219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 333505 + -1.7215929309747219e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5008166544717419e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2053868770599365e-01 + 5.0605857849121094e+01 + <_> + 1 + 621100 + -1.5008166544717419e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.2591822743415833e-01 + 1.4217727661132812e+01 + <_> + 2 + 543576 + -1.5008166544717419e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 77524 + 1.5008166544717419e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 261620 + 1.5008166544717419e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.1153192222118378e-01 + 2.2933530807495117e-01 + <_> + 2 + 202550 + 1.5008166544717419e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59070 + -1.5008166544717419e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6115713578469781e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2568131685256958e-01 + 8.4856582031250000e+03 + <_> + 1 + 828116 + 1.6115713578469781e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.8999029397964478e-01 + 3.8817194104194641e-01 + <_> + 2 + 736549 + 1.6115713578469781e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 91567 + -1.6115713578469781e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 54604 + -1.6115713578469781e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.0212003290653229e-02 + 2.4363305568695068e+00 + <_> + 2 + 5163 + 1.6115713578469781e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 49441 + -1.6115713578469781e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2217388706835304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.2113318443298340e-01 + 1.2291749572753906e+02 + <_> + 1 + 854787 + -1.2217388706835304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.9575480818748474e-01 + 4.3668647766113281e+01 + <_> + 2 + 208002 + 1.2217388706835304e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 646785 + -1.2217388706835304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 27933 + 1.2217388706835304e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.4750718623399734e-02 + 1.7827874422073364e-01 + <_> + 2 + 11111 + -1.2217388706835304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 16822 + 1.2217388706835304e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.4389490851931711e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1943367719650269e-01 + 3.2689224243164062e+01 + <_> + 1 + 373640 + -1.4389490851931711e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 1.4826011657714844e-01 + 5.0000000000000000e-01 + <_> + 2 + 75914 + 1.4389490851931711e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 297726 + -1.4389490851931711e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 509080 + 1.4389490851931711e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 3.8765168190002441e-01 + 2.3785625457763672e+01 + <_> + 2 + 8976 + -1.4389490851931711e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 500104 + 1.4389490851931711e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3113257461308978e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.2870148420333862e-01 + 6.5018749237060547e+00 + <_> + 1 + 17596 + 1.3113257461308978e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 2.3623729124665260e-02 + 5.4762855529785156e+01 + <_> + 2 + 12772 + -1.3113257461308978e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4824 + 1.3113257461308978e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 865124 + -1.3113257461308978e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.0911253690719604e-01 + 4.8412844848632812e+02 + <_> + 2 + 2391 + 1.3113257461308978e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 862733 + -1.3113257461308978e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5395090726599980e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2046531438827515e-01 + 6.3925266265869141e+01 + <_> + 1 + 532376 + 1.5395090726599980e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.3379149436950684e-01 + 1.2478563308715820e+01 + <_> + 2 + 464708 + 1.5395090726599980e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 67668 + -1.5395090726599980e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 350344 + -1.5395090726599980e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 2.0462039113044739e-01 + 1.9115633544921875e+03 + <_> + 2 + 246407 + -1.5395090726599980e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 103937 + 1.5395090726599980e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -7.0891233867616102e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1380199193954468e-01 + 3.9166665077209473e-01 + <_> + 1 + 3675 + 7.0891233867616102e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 9.4717629253864288e-03 + 2.3396150209009647e-03 + <_> + 2 + 932 + -7.0891233867616102e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2743 + 7.0891233867616102e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 879045 + -7.0891233867616102e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.0824362039566040e-01 + 4.9310810863971710e-02 + <_> + 2 + 594027 + -7.0891233867616102e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 285018 + 7.0891233867616102e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2738899646449692e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1406884193420410e-01 + 7.4177337646484375e+01 + <_> + 1 + 778419 + 1.2738899646449692e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.3520861864089966e-01 + 2.3214962005615234e+01 + <_> + 2 + 190874 + -1.2738899646449692e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 587545 + 1.2738899646449692e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 104301 + -1.2738899646449692e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 9.6595622599124908e-02 + 9.5797806978225708e-01 + <_> + 2 + 7126 + 1.2738899646449692e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 97175 + -1.2738899646449692e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.2374693751139270e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1922696828842163e-01 + 6.5018749237060547e+00 + <_> + 1 + 17596 + 9.2374693751139270e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.3020882159471512e-02 + 1.3835926055908203e+01 + <_> + 2 + 2720 + -9.2374693751139270e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 14876 + 9.2374693751139270e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 865124 + -9.2374693751139270e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.0005638599395752e-01 + 6.8381072998046875e+01 + <_> + 2 + 774329 + -9.2374693751139270e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 90795 + 9.2374693751139270e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3764077253002516e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1601397991180420e-01 + 4.5694446563720703e+00 + <_> + 1 + 733593 + 1.3764077253002516e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.2000633478164673e-01 + 3.6223334960937500e+03 + <_> + 2 + 506640 + 1.3764077253002516e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 226953 + -1.3764077253002516e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 149127 + -1.3764077253002516e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.1434962600469589e-01 + 3.7323164062500000e+03 + <_> + 2 + 105133 + -1.3764077253002516e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43994 + 1.3764077253002516e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.9031496828101474e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2017998695373535e-01 + 4.6393759765625000e+03 + <_> + 1 + 688631 + -1.9031496828101474e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.0408775210380554e-01 + 3.5138888359069824e+00 + <_> + 2 + 501828 + -1.9031496828101474e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 186803 + 1.9031496828101474e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 194089 + 1.9031496828101474e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 1.4334791898727417e-01 + 1.4732261962890625e+03 + <_> + 2 + 131864 + 1.9031496828101474e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 62225 + -1.9031496828101474e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.7159442229572505e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2571183443069458e-01 + 4.5694446563720703e+00 + <_> + 1 + 733593 + 1.7159442229572505e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.2676064372062683e-01 + 9.1846817016601562e+01 + <_> + 2 + 612494 + 1.7159442229572505e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 121099 + -1.7159442229572505e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 149127 + -1.7159442229572505e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.1603302508592606e-01 + 3.7601918945312500e+03 + <_> + 2 + 105921 + -1.7159442229572505e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43206 + 1.7159442229572505e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5491306279280093e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1714891195297241e-01 + 3.0361111164093018e+00 + <_> + 1 + 554473 + -1.5491306279280093e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.9821380972862244e-01 + 1.9750000000000000e+02 + <_> + 2 + 496728 + -1.5491306279280093e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 57745 + 1.5491306279280093e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 328247 + 1.5491306279280093e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.4043717980384827e-01 + 4.5694446563720703e+00 + <_> + 2 + 179120 + 1.5491306279280093e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 149127 + -1.5491306279280093e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5112870264636089e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1591855287551880e-01 + 9.7360563278198242e-01 + <_> + 1 + 362649 + -1.5112870264636089e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.8606006503105164e-01 + 5.5948234558105469e+01 + <_> + 2 + 159316 + 1.5112870264636089e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 203333 + -1.5112870264636089e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 520071 + 1.5112870264636089e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.5165036320686340e-01 + 1.3924482464790344e-01 + <_> + 2 + 81406 + -1.5112870264636089e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 438665 + 1.5112870264636089e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5848753713481872e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2460360527038574e-01 + 5.6597629547119141e+01 + <_> + 1 + 690867 + -1.5848753713481872e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.6396765708923340e-01 + 1.4598178863525391e-01 + <_> + 2 + 132696 + 1.5848753713481872e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 558171 + -1.5848753713481872e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 191853 + 1.5848753713481872e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.7557150125503540e-01 + 1.2472306191921234e-01 + <_> + 2 + 7765 + -1.5848753713481872e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 184088 + 1.5848753713481872e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.8467330920249878e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.2402979135513306e-01 + 3.3699297904968262e+00 + <_> + 1 + 659234 + 1.8467330920249878e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.4882396459579468e-01 + 6.9690351486206055e+00 + <_> + 2 + 84499 + -1.8467330920249878e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 574735 + 1.8467330920249878e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 223486 + -1.8467330920249878e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.9721359014511108e-01 + 3.7550712585449219e+01 + <_> + 2 + 41022 + 1.8467330920249878e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 182464 + -1.8467330920249878e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.1590318110742600e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1799583435058594e-01 + 2.0639503002166748e+00 + <_> + 1 + 13904 + 9.1590318110742600e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.1610239520668983e-02 + 9.7588074207305908e-01 + <_> + 2 + 1771 + -9.1590318110742600e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12133 + 9.1590318110742600e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 868816 + -9.1590318110742600e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.0127136707305908e-01 + 7.4249625205993652e+00 + <_> + 2 + 794334 + -9.1590318110742600e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 74482 + 9.1590318110742600e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.4192656595626946e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1756715774536133e-01 + 1.4337041974067688e-01 + <_> + 1 + 91501 + -1.4192656595626946e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.0054870694875717e-01 + 2.1980529651045799e-02 + <_> + 2 + 18145 + 1.4192656595626946e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 73356 + -1.4192656595626946e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 791219 + 1.4192656595626946e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.3487349152565002e-01 + 2.9338939666748047e+01 + <_> + 2 + 299075 + -1.4192656595626946e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 492144 + 1.4192656595626946e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3184794344957612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2383834123611450e-01 + 1.6361110210418701e+00 + <_> + 1 + 262336 + 1.3184794344957612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.1473449319601059e-01 + 1.7661753296852112e-01 + <_> + 2 + 63630 + -1.3184794344957612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 198706 + 1.3184794344957612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 620384 + -1.3184794344957612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.1817983984947205e-01 + 4.0149372100830078e+01 + <_> + 2 + 69170 + 1.3184794344957612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 551214 + -1.3184794344957612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3593186978629782e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1870042085647583e-01 + 5.3859569132328033e-02 + <_> + 1 + 682504 + 1.3593186978629782e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.6931943297386169e-01 + 1.3940798118710518e-02 + <_> + 2 + 32627 + -1.3593186978629782e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 649877 + 1.3593186978629782e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 200216 + -1.3593186978629782e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 6.4611308276653290e-02 + 1.6939497070312500e+03 + <_> + 2 + 121003 + 1.3593186978629782e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 79213 + -1.3593186978629782e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0712582612787516e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2380466461181641e-01 + 1.0780788421630859e+01 + <_> + 1 + 9261 + 1.0712582612787516e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.0825651697814465e-02 + 2.3396150209009647e-03 + <_> + 2 + 1022 + -1.0712582612787516e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8239 + 1.0712582612787516e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 873459 + -1.0712582612787516e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1593023538589478e-01 + 9.8968684673309326e-01 + <_> + 2 + 872981 + -1.0712582612787516e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 478 + 1.0712582612787516e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5436056649768831e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1724588871002197e-01 + 4.2640373229980469e+01 + <_> + 1 + 530446 + -1.5436056649768831e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.5062859058380127e-01 + 9.7688281536102295e-01 + <_> + 2 + 174383 + -1.5436056649768831e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 356063 + 1.5436056649768831e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 352274 + 1.5436056649768831e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.8788509964942932e-01 + 9.7624023437500000e+02 + <_> + 2 + 16775 + -1.5436056649768831e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 335499 + 1.5436056649768831e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.6182873443285012e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1497900485992432e-01 + 1.9831608886718750e+03 + <_> + 1 + 398344 + 1.6182873443285012e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.3368765413761139e-01 + 3.4386888146400452e-02 + <_> + 2 + 120906 + 1.6182873443285012e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 277438 + -1.6182873443285012e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 484376 + -1.6182873443285012e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.0668148398399353e-01 + 2.0055413246154785e+00 + <_> + 2 + 97194 + 1.6182873443285012e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 387182 + -1.6182873443285012e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3253656848585513e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2019423246383667e-01 + 3.5954517364501953e+01 + <_> + 1 + 148866 + -1.3253656848585513e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 9.7039222717285156e-02 + 4.9074954986572266e+01 + <_> + 2 + 106107 + -1.3253656848585513e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 42759 + 1.3253656848585513e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 733854 + 1.3253656848585513e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.3604651093482971e-01 + 1.3226324462890625e+02 + <_> + 2 + 671228 + 1.3253656848585513e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 62626 + -1.3253656848585513e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3521379496087457e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1417887210845947e-01 + 3.0403369140625000e+02 + <_> + 1 + 741348 + -1.3521379496087457e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.0201160311698914e-01 + 2.3680853843688965e-01 + <_> + 2 + 561460 + -1.3521379496087457e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 179888 + 1.3521379496087457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 141372 + 1.3521379496087457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.3174042105674744e-01 + 2.4532456696033478e-01 + <_> + 2 + 135143 + 1.3521379496087457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6229 + -1.3521379496087457e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -2.1527973441807904e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1608854532241821e-01 + 2.2939157485961914e-01 + <_> + 1 + 665909 + 2.1527973441807904e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.8956171274185181e-01 + 6.7966049194335938e+01 + <_> + 2 + 425863 + 2.1527973441807904e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 240046 + -2.1527973441807904e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 216811 + -2.1527973441807904e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.6405132412910461e-01 + 1.1480089187622070e+01 + <_> + 2 + 170833 + -2.1527973441807904e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 45978 + 2.1527973441807904e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.6449789813279850e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2677273750305176e-01 + 1.8037824707031250e+03 + <_> + 1 + 721329 + -1.6449789813279850e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.0812149643898010e-01 + 1.6156013488769531e+01 + <_> + 2 + 708561 + -1.6449789813279850e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12768 + 1.6449789813279850e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 161391 + 1.6449789813279850e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.3291050493717194e-01 + 4.5441482543945312e+01 + <_> + 2 + 51233 + -1.6449789813279850e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 110158 + 1.6449789813279850e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6821935026031784e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.2279496192932129e-01 + 1.3457941055297852e+01 + <_> + 1 + 728960 + 1.6821935026031784e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.9806309342384338e-01 + 1.0701467285156250e+03 + <_> + 2 + 171076 + -1.6821935026031784e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 557884 + 1.6821935026031784e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 153760 + -1.6821935026031784e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.4389283955097198e-01 + 4.8999481201171875e+01 + <_> + 2 + 86468 + 1.6821935026031784e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 67292 + -1.6821935026031784e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2774872355953595e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1970934867858887e-01 + 5.9401330566406250e+02 + <_> + 1 + 169669 + 1.2774872355953595e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 8.2486808300018311e-02 + 1.4642375946044922e+01 + <_> + 2 + 56415 + -1.2774872355953595e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 113254 + 1.2774872355953595e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 713051 + -1.2774872355953595e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.4940701127052307e-01 + 2.1150000000000000e+02 + <_> + 2 + 590450 + -1.2774872355953595e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 122601 + 1.2774872355953595e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5043409796995610e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1557129621505737e-01 + 9.6412289142608643e-01 + <_> + 1 + 144080 + -1.5043409796995610e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 7.3164306581020355e-02 + 1.2217437744140625e+02 + <_> + 2 + 125656 + -1.5043409796995610e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 18424 + 1.5043409796995610e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 738640 + 1.5043409796995610e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.6437343955039978e-01 + 2.5102270507812500e+03 + <_> + 2 + 732688 + 1.5043409796995610e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5952 + -1.5043409796995610e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2213979474255111e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2743208408355713e-01 + 1.8529287719726562e+02 + <_> + 1 + 2298 + 1.2213979474255111e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 9.1448528692126274e-03 + 2.3396150209009647e-03 + <_> + 2 + 977 + -1.2213979474255111e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1321 + 1.2213979474255111e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 880422 + -1.2213979474255111e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2135217189788818e-01 + 3.1814361572265625e+02 + <_> + 2 + 872300 + -1.2213979474255111e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8122 + 1.2213979474255111e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5391970011548017e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1817291975021362e-01 + 9.7515201568603516e-01 + <_> + 1 + 401473 + 1.5391970011548017e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.3433124423027039e-01 + 4.8500000000000000e+01 + <_> + 2 + 373199 + 1.5391970011548017e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 28274 + -1.5391970011548017e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 481247 + -1.5391970011548017e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.0407290756702423e-01 + 1.9958956298828125e+03 + <_> + 2 + 264659 + 1.5391970011548017e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 216588 + -1.5391970011548017e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.8528864883682371e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1679217815399170e-01 + 4.0760154724121094e+00 + <_> + 1 + 76447 + 9.8528864883682371e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.7451516389846802e-02 + 3.3225021362304688e+02 + <_> + 2 + 35849 + -9.8528864883682371e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 40598 + 9.8528864883682371e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 806273 + -9.8528864883682371e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.6716079115867615e-01 + 9.8881262540817261e-01 + <_> + 2 + 802242 + -9.8528864883682371e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4031 + 9.8528864883682371e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1973032377040303e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1663309335708618e-01 + 8.4094589233398438e+01 + <_> + 1 + 851120 + 1.1973032377040303e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.9671879410743713e-01 + 9.6090728044509888e-01 + <_> + 2 + 96778 + -1.1973032377040303e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 754342 + 1.1973032377040303e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 31600 + -1.1973032377040303e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.3178083598613739e-02 + 9.6181493997573853e-01 + <_> + 2 + 9952 + 1.1973032377040303e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 21648 + -1.1973032377040303e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2789717888703350e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2081155776977539e-01 + 1.1083720397949219e+02 + <_> + 1 + 775712 + -1.2789717888703350e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.1415563225746155e-01 + 1.3004655838012695e+01 + <_> + 2 + 659827 + -1.2789717888703350e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 115885 + 1.2789717888703350e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 107008 + 1.2789717888703350e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 1.1777514964342117e-01 + 1.7850000000000000e+02 + <_> + 2 + 18432 + -1.2789717888703350e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 88576 + 1.2789717888703350e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3912029000207526e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1905900239944458e-01 + 2.3968553543090820e+01 + <_> + 1 + 652037 + 1.3912029000207526e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.7184661626815796e-01 + 3.4303757548332214e-01 + <_> + 2 + 516542 + 1.3912029000207526e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 135495 + -1.3912029000207526e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 230683 + -1.3912029000207526e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.6287745535373688e-01 + 1.6569257736206055e+01 + <_> + 2 + 213834 + -1.3912029000207526e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 16849 + 1.3912029000207526e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5635177482848622e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2096682786941528e-01 + 6.0706512451171875e+01 + <_> + 1 + 740256 + -1.5635177482848622e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.9196369051933289e-01 + 1.3255786895751953e-01 + <_> + 2 + 75647 + 1.5635177482848622e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 664609 + -1.5635177482848622e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 142464 + 1.5635177482848622e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 1.4704482257366180e-01 + 8.3879852294921875e+01 + <_> + 2 + 94282 + 1.5635177482848622e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 48182 + -1.5635177482848622e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6203780793528536e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2000653743743896e-01 + 6.4397480468750000e+03 + <_> + 1 + 775340 + 1.6203780793528536e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.5413655042648315e-01 + 8.1181564331054688e+01 + <_> + 2 + 623990 + 1.6203780793528536e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 151350 + -1.6203780793528536e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 107380 + -1.6203780793528536e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 8.6284510791301727e-02 + 2.4346966743469238e+00 + <_> + 2 + 18653 + 1.6203780793528536e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 88727 + -1.6203780793528536e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5747635455102088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.2527719736099243e-01 + 8.2628128051757812e+01 + <_> + 1 + 720163 + -1.5747635455102088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.1845187544822693e-01 + 2.1850000000000000e+02 + <_> + 2 + 700964 + -1.5747635455102088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 19199 + 1.5747635455102088e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 162557 + 1.5747635455102088e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.2083605676889420e-01 + 9.7091972827911377e-01 + <_> + 2 + 79673 + 1.5747635455102088e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 82884 + -1.5747635455102088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5927162030193687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1800841093063354e-01 + 9.6816873550415039e-01 + <_> + 1 + 220280 + -1.5927162030193687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.3576315343379974e-01 + 3.0310668945312500e+00 + <_> + 2 + 131140 + -1.5927162030193687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 89140 + 1.5927162030193687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 662440 + 1.5927162030193687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.0397080779075623e-01 + 2.3610116577148438e+02 + <_> + 2 + 517791 + 1.5927162030193687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 144649 + -1.5927162030193687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6327065147740613e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.2699422836303711e-01 + 1.9700955200195312e+02 + <_> + 1 + 539232 + -1.6327065147740613e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.7215531468391418e-01 + 1.0239037322998047e+02 + <_> + 2 + 523511 + -1.6327065147740613e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 15721 + 1.6327065147740613e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 343488 + 1.6327065147740613e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 2.6857191324234009e-01 + 2.9673126220703125e+01 + <_> + 2 + 15391 + -1.6327065147740613e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 328097 + 1.6327065147740613e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.9862895000969566e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2308297157287598e-01 + 4.8618629455566406e+01 + <_> + 1 + 598028 + 1.9862895000969566e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.1783524155616760e-01 + 5.1877889633178711e+00 + <_> + 2 + 571996 + 1.9862895000969566e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 26032 + -1.9862895000969566e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 284692 + -1.9862895000969566e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.3165938258171082e-01 + 9.7361612319946289e-01 + <_> + 2 + 213508 + -1.9862895000969566e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 71184 + 1.9862895000969566e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7501120242802398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.2644926309585571e-01 + 2.1370663452148438e+02 + <_> + 1 + 580176 + -1.7501120242802398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.0134236812591553e-01 + 4.8414001464843750e+00 + <_> + 2 + 562352 + -1.7501120242802398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17824 + 1.7501120242802398e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 302544 + 1.7501120242802398e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.4229909479618073e-01 + 2.5264859199523926e-01 + <_> + 2 + 288408 + 1.7501120242802398e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 14136 + -1.7501120242802398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6379811197624464e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1758897304534912e-01 + 3.9146591186523438e+01 + <_> + 1 + 484940 + 1.6379811197624464e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.1544224023818970e-01 + 9.6972543001174927e-01 + <_> + 2 + 73329 + -1.6379811197624464e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 411611 + 1.6379811197624464e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 397780 + -1.6379811197624464e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.2541596889495850e-01 + 9.7100257873535156e-01 + <_> + 2 + 219167 + 1.6379811197624464e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 178613 + -1.6379811197624464e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -7.7730586636507809e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1660019159317017e-01 + 3.7518749237060547e+00 + <_> + 1 + 4360 + 7.7730586636507809e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.2169615365564823e-02 + 2.3396150209009647e-03 + <_> + 2 + 1025 + -7.7730586636507809e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3335 + 7.7730586636507809e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 878360 + -7.7730586636507809e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.0725322961807251e-01 + 1.5850000000000000e+02 + <_> + 2 + 868881 + -7.7730586636507809e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9479 + 7.7730586636507809e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.4548049627782231e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1823103427886963e-01 + 9.6816873550415039e-01 + <_> + 1 + 220280 + -1.4548049627782231e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.3301922380924225e-01 + 1.3513422012329102e+01 + <_> + 2 + 102920 + 1.4548049627782231e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 117360 + -1.4548049627782231e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 662440 + 1.4548049627782231e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.0328687429428101e-01 + 7.8073083496093750e+02 + <_> + 2 + 258718 + -1.4548049627782231e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 403722 + 1.4548049627782231e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3286394621028511e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2052193880081177e-01 + 4.2509910583496094e+01 + <_> + 1 + 195514 + 1.3286394621028511e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.5595395863056183e-01 + 1.2140546798706055e+01 + <_> + 2 + 177817 + 1.3286394621028511e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17697 + -1.3286394621028511e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 687206 + -1.3286394621028511e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.7721323966979980e-01 + 1.0000002384185791e+00 + <_> + 2 + 547505 + -1.3286394621028511e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 139701 + 1.3286394621028511e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0141842709523226e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.1050430536270142e-01 + 9.5000000000000000e+00 + <_> + 1 + 741694 + 1.0141842709523226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.1334989666938782e-01 + 1.6119709610939026e-01 + <_> + 2 + 237391 + -1.0141842709523226e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 504303 + 1.0141842709523226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 141026 + -1.0141842709523226e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.1198298633098602e-01 + 1.5681928396224976e-01 + <_> + 2 + 40956 + 1.0141842709523226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 100070 + -1.0141842709523226e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0204254714042733e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1165634393692017e-01 + 4.9310810863971710e-02 + <_> + 1 + 597702 + -1.0204254714042733e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.2001527547836304e-01 + 2.2750000000000000e+02 + <_> + 2 + 576248 + -1.0204254714042733e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 21454 + 1.0204254714042733e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 285018 + 1.0204254714042733e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.0547325760126114e-01 + 1.2068505287170410e+01 + <_> + 2 + 210136 + -1.0204254714042733e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 74882 + 1.0204254714042733e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3206404367127791e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1923865079879761e-01 + 7.7107513427734375e+01 + <_> + 1 + 686673 + 1.3206404367127791e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.0693727135658264e-01 + 2.0618534088134766e+01 + <_> + 2 + 147467 + -1.3206404367127791e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 539206 + 1.3206404367127791e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 196047 + -1.3206404367127791e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.2603084743022919e-01 + 1.1269699707031250e+03 + <_> + 2 + 32141 + 1.3206404367127791e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 163906 + -1.3206404367127791e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2522801186209614e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1282906532287598e-01 + 1.9481311035156250e+03 + <_> + 1 + 748890 + -1.2522801186209614e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.2607733607292175e-01 + 2.2262081503868103e-02 + <_> + 2 + 60771 + 1.2522801186209614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 688119 + -1.2522801186209614e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 133830 + 1.2522801186209614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.0518882423639297e-01 + 8.5385124206542969e+01 + <_> + 2 + 51615 + -1.2522801186209614e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 82215 + 1.2522801186209614e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1394421949935540e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1818764209747314e-01 + 5.2861108779907227e+00 + <_> + 1 + 787552 + 1.1394421949935540e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.6491500735282898e-01 + 1.2412986755371094e+01 + <_> + 2 + 694928 + 1.1394421949935540e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 92624 + -1.1394421949935540e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 95168 + -1.1394421949935540e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 6.3540279865264893e-02 + 9.6232366561889648e-01 + <_> + 2 + 71571 + 1.1394421949935540e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 23597 + -1.1394421949935540e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0826579693739027e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1471543312072754e-01 + 2.2348790168762207e+00 + <_> + 1 + 480732 + -1.0826579693739027e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 2.7823588252067566e-01 + 7.9505096435546875e+01 + <_> + 2 + 451112 + -1.0826579693739027e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 29620 + 1.0826579693739027e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 401988 + 1.0826579693739027e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.4880415201187134e-01 + 9.7053229808807373e-01 + <_> + 2 + 128425 + -1.0826579693739027e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 273563 + 1.0826579693739027e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3144537343157656e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1298958063125610e-01 + 1.6050000000000000e+02 + <_> + 1 + 399660 + -1.3144537343157656e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 2.9288473725318909e-01 + 4.3612503051757812e+01 + <_> + 2 + 340268 + -1.3144537343157656e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59392 + 1.3144537343157656e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 483060 + 1.3144537343157656e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.3992937803268433e-01 + 2.4841389060020447e-01 + <_> + 2 + 246913 + 1.3144537343157656e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 236147 + -1.3144537343157656e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2882403429229958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1944392919540405e-01 + 6.4103988647460938e+01 + <_> + 1 + 680149 + 1.2882403429229958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 3.5578826069831848e-01 + 4.3049764633178711e+00 + <_> + 2 + 421525 + 1.2882403429229958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 258624 + -1.2882403429229958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 202571 + -1.2882403429229958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.7637327313423157e-01 + 9.7361671924591064e-01 + <_> + 2 + 134355 + -1.2882403429229958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 68216 + 1.2882403429229958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0659118283176185e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1539218425750732e-01 + 1.0216948986053467e+00 + <_> + 1 + 174242 + -1.0659118283176185e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.3959318399429321e-01 + 3.0075774192810059e+00 + <_> + 2 + 111579 + 1.0659118283176185e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 62663 + -1.0659118283176185e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 708478 + 1.0659118283176185e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.8702940940856934e-01 + 5.3617730736732483e-02 + <_> + 2 + 533869 + 1.0659118283176185e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 174609 + -1.0659118283176185e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.4069933258304967e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1755863428115845e-01 + 1.4383237838745117e+01 + <_> + 1 + 761907 + -1.4069933258304967e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.3396136164665222e-01 + 9.6425104141235352e-01 + <_> + 2 + 56236 + 1.4069933258304967e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 705671 + -1.4069933258304967e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 120813 + 1.4069933258304967e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.0115556418895721e-01 + 2.3710642009973526e-02 + <_> + 2 + 62480 + -1.4069933258304967e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 58333 + 1.4069933258304967e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3823153035302269e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1895242929458618e-01 + 1.2654792480468750e+03 + <_> + 1 + 527911 + 1.3823153035302269e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.9878714680671692e-01 + 6.4664505004882812e+01 + <_> + 2 + 422761 + 1.3823153035302269e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 105150 + -1.3823153035302269e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 354809 + -1.3823153035302269e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.3571582138538361e-01 + 1.8355369567871094e-01 + <_> + 2 + 221289 + -1.3823153035302269e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 133520 + 1.3823153035302269e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.7249636334057181e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1692783832550049e-01 + 1.7464916408061981e-01 + <_> + 1 + 382615 + 1.7249636334057181e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.2168469429016113e-01 + 3.4354557037353516e+01 + <_> + 2 + 136889 + -1.7249636334057181e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 245726 + 1.7249636334057181e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 500105 + -1.7249636334057181e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.2133278250694275e-01 + 7.2052200317382812e+01 + <_> + 2 + 456403 + -1.7249636334057181e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43702 + 1.7249636334057181e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5834237357117847e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2223962545394897e-01 + 3.9147827148437500e+01 + <_> + 1 + 484958 + 1.5834237357117847e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.1953789889812469e-01 + 9.6796119213104248e-01 + <_> + 2 + 65939 + -1.5834237357117847e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 419019 + 1.5834237357117847e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 397762 + -1.5834237357117847e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.1996521353721619e-01 + 9.0676116943359375e+00 + <_> + 2 + 75124 + 1.5834237357117847e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 322638 + -1.5834237357117847e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3945437861514770e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.2157562971115112e-01 + 1.1918860673904419e-01 + <_> + 1 + 41045 + -1.3945437861514770e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.4044932126998901e-02 + 2.2783178836107254e-02 + <_> + 2 + 9257 + 1.3945437861514770e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31788 + -1.3945437861514770e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 841675 + 1.3945437861514770e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.8076227307319641e-01 + 4.3226741790771484e+01 + <_> + 2 + 366611 + -1.3945437861514770e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 475064 + 1.3945437861514770e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2048864826994479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1537650823593140e-01 + 3.6076293945312500e+01 + <_> + 1 + 254261 + 1.2048864826994479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.3336037099361420e-01 + 3.4386821091175079e-02 + <_> + 2 + 145753 + 1.2048864826994479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 108508 + -1.2048864826994479e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 628459 + -1.2048864826994479e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.9672541618347168e-01 + 4.9310810863971710e-02 + <_> + 2 + 384511 + -1.2048864826994479e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 243948 + 1.2048864826994479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.4186187406301717e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1801306009292603e-01 + 5.1113564521074295e-02 + <_> + 1 + 632343 + 1.4186187406301717e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.4642397761344910e-01 + 1.2350000000000000e+02 + <_> + 2 + 123775 + -1.4186187406301717e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 508568 + 1.4186187406301717e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 250377 + -1.4186187406301717e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 8.8982142508029938e-02 + 2.8121381998062134e-01 + <_> + 2 + 210086 + -1.4186187406301717e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 40291 + 1.4186187406301717e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2434725271574262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1820492744445801e-01 + 4.8178554534912109e+01 + <_> + 1 + 264011 + 1.2434725271574262e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.0129428803920746e-01 + 1.2525884628295898e+01 + <_> + 2 + 235163 + 1.2434725271574262e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 28848 + -1.2434725271574262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 618709 + -1.2434725271574262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.2975253462791443e-01 + 1.2650000000000000e+02 + <_> + 2 + 10805 + 1.2434725271574262e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 607904 + -1.2434725271574262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6547437538510612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1948291063308716e-01 + 2.1972222328186035e+00 + <_> + 1 + 383085 + -1.6547437538510612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.9222603738307953e-01 + 2.1615540981292725e-01 + <_> + 2 + 203432 + -1.6547437538510612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 179653 + 1.6547437538510612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 499635 + 1.6547437538510612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.4904840588569641e-01 + 1.5528797912597656e+02 + <_> + 2 + 82677 + -1.6547437538510612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 416958 + 1.6547437538510612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.8896280736352746e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1965743303298950e-01 + 6.4293746948242188e+00 + <_> + 1 + 17091 + 9.8896280736352746e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 2.4607667699456215e-02 + 5.4762855529785156e+01 + <_> + 2 + 12531 + -9.8896280736352746e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4560 + 9.8896280736352746e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 865629 + -9.8896280736352746e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.0009626150131226e-01 + 1.0243181228637695e+01 + <_> + 2 + 710778 + -9.8896280736352746e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 154851 + 9.8896280736352746e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.9199441656269274e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1254796981811523e-01 + 2.3613871765136719e+02 + <_> + 1 + 625587 + 9.9199441656269274e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.1762367486953735e-01 + 6.0726833343505859e+01 + <_> + 2 + 402724 + 9.9199441656269274e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 222863 + -9.9199441656269274e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 257133 + -9.9199441656269274e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.0715585350990295e-01 + 4.3361110687255859e+00 + <_> + 2 + 155581 + -9.9199441656269274e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 101552 + 9.9199441656269274e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1442218518604311e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1460164785385132e-01 + 1.0711774826049805e+00 + <_> + 1 + 277502 + 1.1442218518604311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.8278945982456207e-01 + 4.1967071533203125e+01 + <_> + 2 + 169931 + -1.1442218518604311e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 107571 + 1.1442218518604311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 605218 + -1.1442218518604311e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.4578493237495422e-01 + 1.0406154785156250e+03 + <_> + 2 + 111686 + 1.1442218518604311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 493532 + -1.1442218518604311e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.6530445102620753e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1629894971847534e-01 + 2.2140160202980042e-01 + <_> + 1 + 633777 + 1.6530445102620753e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 3.6336201429367065e-01 + 8.2161560058593750e+01 + <_> + 2 + 602232 + 1.6530445102620753e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31545 + -1.6530445102620753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 248943 + -1.6530445102620753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.7787025868892670e-01 + 1.1409013748168945e+01 + <_> + 2 + 191862 + -1.6530445102620753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 57081 + 1.6530445102620753e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2533726342779244e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2247959375381470e-01 + 3.5487310791015625e+02 + <_> + 1 + 52318 + 1.2533726342779244e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 4.0325526148080826e-02 + 3.7840070724487305e+00 + <_> + 2 + 42754 + -1.2533726342779244e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9564 + 1.2533726342779244e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 830402 + -1.2533726342779244e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.9096783995628357e-01 + 8.6163131713867188e+01 + <_> + 2 + 53683 + 1.2533726342779244e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 776719 + -1.2533726342779244e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3342783486076615e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1667976379394531e-01 + 1.3747453689575195e-01 + <_> + 1 + 111178 + -1.3342783486076615e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 7.3850348591804504e-02 + 1.2986158370971680e+01 + <_> + 2 + 94569 + -1.3342783486076615e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 16609 + 1.3342783486076615e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 771542 + 1.3342783486076615e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.5945721864700317e-01 + 9.6585571289062500e+01 + <_> + 2 + 633155 + 1.3342783486076615e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 138387 + -1.3342783486076615e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3932167099759948e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1923316717147827e-01 + 1.6650000000000000e+02 + <_> + 1 + 454525 + -1.3932167099759948e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.1775084137916565e-01 + 1.0295486450195312e+01 + <_> + 2 + 354294 + -1.3932167099759948e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 100231 + 1.3932167099759948e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 428195 + 1.3932167099759948e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.1702334284782410e-01 + 2.8572428226470947e-01 + <_> + 2 + 281597 + 1.3932167099759948e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 146598 + -1.3932167099759948e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2699821808608344e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1649564504623413e-01 + 1.0375097274780273e+01 + <_> + 1 + 489332 + 1.2699821808608344e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.3156504333019257e-01 + 7.2211818695068359e+00 + <_> + 2 + 350175 + 1.2699821808608344e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 139157 + -1.2699821808608344e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 393388 + -1.2699821808608344e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 3.0014190077781677e-01 + 3.1498894691467285e+00 + <_> + 2 + 234478 + -1.2699821808608344e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 158910 + 1.2699821808608344e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2906877916375525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1586192846298218e-01 + 1.7850000000000000e+02 + <_> + 1 + 558651 + -1.2906877916375525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.5671445727348328e-01 + 1.5682178735733032e-01 + <_> + 2 + 109675 + 1.2906877916375525e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 448976 + -1.2906877916375525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 324069 + 1.2906877916375525e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.7550800740718842e-01 + 1.0139340209960938e+02 + <_> + 2 + 208285 + -1.2906877916375525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 115784 + 1.2906877916375525e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3514393109725334e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2081906795501709e-01 + 1.7144098877906799e-01 + <_> + 1 + 360361 + -1.3514393109725334e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.0496743917465210e-01 + 9.6172618865966797e-01 + <_> + 2 + 52202 + 1.3514393109725334e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 308159 + -1.3514393109725334e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 522359 + 1.3514393109725334e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.2876721024513245e-01 + 9.6365535259246826e-01 + <_> + 2 + 74583 + -1.3514393109725334e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 447776 + 1.3514393109725334e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2172172264139647e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1405769586563110e-01 + 1.6650000000000000e+02 + <_> + 1 + 454525 + -1.2172172264139647e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.1545063853263855e-01 + 4.6819731445312500e+03 + <_> + 2 + 352225 + -1.2172172264139647e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 102300 + 1.2172172264139647e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 428195 + 1.2172172264139647e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.1494227647781372e-01 + 1.1416563034057617e+01 + <_> + 2 + 200313 + 1.2172172264139647e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 227882 + -1.2172172264139647e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2600796274905465e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.2045398950576782e-01 + 1.2309650331735611e-01 + <_> + 1 + 47736 + -1.2600796274905465e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.8143828064203262e-02 + 3.3083333969116211e+00 + <_> + 2 + 27022 + 1.2600796274905465e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 20714 + -1.2600796274905465e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 834984 + 1.2600796274905465e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.7331655025482178e-01 + 3.1864631175994873e-01 + <_> + 2 + 812720 + 1.2600796274905465e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 22264 + -1.2600796274905465e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3582731676039014e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.2070939540863037e-01 + 3.0843707919120789e-01 + <_> + 1 + 650530 + -1.3582731676039014e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.6237590909004211e-01 + 6.5716323852539062e+01 + <_> + 2 + 550266 + -1.3582731676039014e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 100264 + 1.3582731676039014e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 232190 + 1.3582731676039014e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 7.1528807282447815e-02 + 9.3056854248046875e+01 + <_> + 2 + 194278 + -1.3582731676039014e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 37912 + 1.3582731676039014e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2445679874803793e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.2153694629669189e-01 + 7.1541847229003906e+01 + <_> + 1 + 754979 + 1.2445679874803793e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.1397175192832947e-01 + 1.9902000427246094e+01 + <_> + 2 + 712462 + 1.2445679874803793e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 42517 + -1.2445679874803793e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 127741 + -1.2445679874803793e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 1.1710235476493835e-01 + 2.4950000000000000e+02 + <_> + 2 + 116484 + -1.2445679874803793e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 11257 + 1.2445679874803793e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.9580309535675029e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1865381002426147e-01 + 1.1197845458984375e+01 + <_> + 1 + 11995 + 8.9580309535675029e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.1759687215089798e-02 + 3.5040259361267090e-01 + <_> + 2 + 4044 + 8.9580309535675029e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7951 + -8.9580309535675029e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 870725 + -8.9580309535675029e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1062041521072388e-01 + 3.0947694182395935e-01 + <_> + 2 + 649788 + -8.9580309535675029e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 220937 + 8.9580309535675029e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1465877153533668e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.0886815786361694e-01 + 5.5216079711914062e+01 + <_> + 1 + 679431 + -1.1465877153533668e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.5245060920715332e-01 + 8.4106079101562500e+02 + <_> + 2 + 291103 + 1.1465877153533668e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 388328 + -1.1465877153533668e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 203289 + 1.1465877153533668e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.7618271708488464e-01 + 1.9848366081714630e-01 + <_> + 2 + 118241 + 1.1465877153533668e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 85048 + -1.1465877153533668e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3405075039626771e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2102065086364746e-01 + 1.9638888835906982e+00 + <_> + 1 + 333415 + -1.3405075039626771e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.5986835956573486e-01 + 7.6529556274414062e+01 + <_> + 2 + 309625 + -1.3405075039626771e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 23790 + 1.3405075039626771e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 549305 + 1.3405075039626771e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.7359422445297241e-01 + 3.0250942230224609e+01 + <_> + 2 + 56683 + -1.3405075039626771e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 492622 + 1.3405075039626771e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3356169959232195e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2158385515213013e-01 + 3.9147827148437500e+01 + <_> + 1 + 484958 + 1.3356169959232195e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.0946808159351349e-01 + 4.0066700428724289e-02 + <_> + 2 + 255407 + 1.3356169959232195e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 229551 + -1.3356169959232195e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 397762 + -1.3356169959232195e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.2387277483940125e-01 + 9.6250331401824951e-01 + <_> + 2 + 67228 + 1.3356169959232195e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 330534 + -1.3356169959232195e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2080363330393365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1479589939117432e-01 + 4.6513631939888000e-02 + <_> + 1 + 540095 + -1.2080363330393365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.8127714395523071e-01 + 1.8750000000000000e+02 + <_> + 2 + 438424 + -1.2080363330393365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 101671 + 1.2080363330393365e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 342625 + 1.2080363330393365e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.4888709783554077e-01 + 1.6247725486755371e-01 + <_> + 2 + 89629 + -1.2080363330393365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 252996 + 1.2080363330393365e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1292790823387461e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1889324188232422e-01 + 4.5916666984558105e+00 + <_> + 1 + 734914 + 1.1292790823387461e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.1940683126449585e-01 + 7.8092810058593750e+02 + <_> + 2 + 83484 + -1.1292790823387461e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 651430 + 1.1292790823387461e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 147806 + -1.1292790823387461e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.0879517346620560e-01 + 1.2507208824157715e+01 + <_> + 2 + 30425 + 1.1292790823387461e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 117381 + -1.1292790823387461e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -6.6348746565019420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1353782415390015e-01 + 3.5277777910232544e-01 + <_> + 1 + 2224 + 6.6348746565019420e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 7.9937055706977844e-03 + 2.3396150209009647e-03 + <_> + 2 + 897 + -6.6348746565019420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1327 + 6.6348746565019420e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 880496 + -6.6348746565019420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.0858741998672485e-01 + 7.9081420898437500e+01 + <_> + 2 + 852992 + -6.6348746565019420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 27504 + 6.6348746565019420e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0380346754995637e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1207786798477173e-01 + 2.0558071136474609e+01 + <_> + 1 + 146798 + -1.0380346754995637e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.3757350891828537e-02 + 1.7893083393573761e-02 + <_> + 2 + 14082 + 1.0380346754995637e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 132716 + -1.0380346754995637e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 735922 + 1.0380346754995637e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.7217023372650146e-01 + 8.0500000000000000e+01 + <_> + 2 + 2198 + -1.0380346754995637e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 733724 + 1.0380346754995637e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2402129775755640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2029514312744141e-01 + 3.5403479003906250e+02 + <_> + 1 + 51950 + 1.2402129775755640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 4.0265109390020370e-02 + 3.7840070724487305e+00 + <_> + 2 + 42525 + -1.2402129775755640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9425 + 1.2402129775755640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 830770 + -1.2402129775755640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.9070054292678833e-01 + 9.8776817321777344e-01 + <_> + 2 + 818469 + -1.2402129775755640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12301 + 1.2402129775755640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1174451569061232e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.1771777868270874e-01 + 1.0950000000000000e+02 + <_> + 1 + 861404 + 1.1174451569061232e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.9417373538017273e-01 + 3.3225021362304688e+02 + <_> + 2 + 39399 + -1.1174451569061232e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 822005 + 1.1174451569061232e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 21316 + -1.1174451569061232e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.3733375370502472e-02 + 9.7636735439300537e-01 + <_> + 2 + 14433 + -1.1174451569061232e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6883 + 1.1174451569061232e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.2008834215581078e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1710635423660278e-01 + 3.5403479003906250e+02 + <_> + 1 + 51950 + 9.2008834215581078e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.6475311964750290e-02 + 3.7840070724487305e+00 + <_> + 2 + 42525 + -9.2008834215581078e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9425 + 9.2008834215581078e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 830770 + -9.2008834215581078e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.8651069402694702e-01 + 5.3055932617187500e+02 + <_> + 2 + 5664 + 9.2008834215581078e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 825106 + -9.2008834215581078e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1206244302541971e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1573443412780762e-01 + 1.7063159942626953e+01 + <_> + 1 + 813488 + 1.1206244302541971e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.9491870403289795e-01 + 9.8200012207031250e+01 + <_> + 2 + 777577 + 1.1206244302541971e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 35911 + -1.1206244302541971e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 69232 + -1.1206244302541971e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.3067610114812851e-02 + 9.6073269844055176e-01 + <_> + 2 + 62879 + -1.1206244302541971e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6353 + 1.1206244302541971e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.0745143780190440e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 5.1739364862442017e-01 + 2.6975215911865234e+01 + <_> + 1 + 13849 + 9.0745143780190440e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.1915556862950325e-02 + 9.7495067119598389e-01 + <_> + 2 + 1233 + -9.0745143780190440e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12616 + 9.0745143780190440e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 868871 + -9.0745143780190440e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.0075519084930420e-01 + 1.1753937530517578e+02 + <_> + 2 + 834898 + -9.0745143780190440e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 33973 + 9.0745143780190440e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 8.7684481634476105e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1117843389511108e-01 + 9.6944439411163330e-01 + <_> + 1 + 135836 + -8.7684481634476105e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 5.1922481507062912e-02 + 3.9914073944091797e+00 + <_> + 2 + 8769 + 8.7684481634476105e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 127067 + -8.7684481634476105e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 746884 + 8.7684481634476105e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.6998462080955505e-01 + 7.1500000000000000e+01 + <_> + 2 + 1265 + -8.7684481634476105e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 745619 + 8.7684481634476105e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1418394962738621e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1731228828430176e-01 + 3.8520984649658203e+01 + <_> + 1 + 146123 + 1.1418394962738621e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.1987941712141037e-01 + 9.8408565521240234e+00 + <_> + 2 + 128451 + 1.1418394962738621e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17672 + -1.1418394962738621e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 736597 + -1.1418394962738621e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.0863558650016785e-01 + 8.3221206665039062e+00 + <_> + 2 + 58072 + 1.1418394962738621e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 678525 + -1.1418394962738621e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3642321939419808e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1853173971176147e-01 + 3.3794467926025391e+01 + <_> + 1 + 396536 + -1.3642321939419808e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 1.6062475740909576e-01 + 1.1050000000000000e+02 + <_> + 2 + 62779 + 1.3642321939419808e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 333757 + -1.3642321939419808e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 486184 + 1.3642321939419808e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 3.7342825531959534e-01 + 9.2590942382812500e+00 + <_> + 2 + 23187 + -1.3642321939419808e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 462997 + 1.3642321939419808e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.8934439666397608e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2081781625747681e-01 + 5.3055932617187500e+02 + <_> + 1 + 6899 + 8.8934439666397608e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.3901364766061306e-03 + 3.6409476399421692e-01 + <_> + 2 + 597 + 8.8934439666397608e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6302 + -8.8934439666397608e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 875821 + -8.8934439666397608e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1982885599136353e-01 + 7.4083333015441895e+00 + <_> + 2 + 851176 + -8.8934439666397608e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 24645 + 8.8934439666397608e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.5080199393547421e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1209837198257446e-01 + 1.1065624237060547e+01 + <_> + 1 + 68321 + -9.5080199393547421e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.8200789839029312e-02 + 9.7500002384185791e-01 + <_> + 2 + 61259 + -9.5080199393547421e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7062 + 9.5080199393547421e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 814399 + 9.5080199393547421e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.7555136680603027e-01 + 3.5518403320312500e+03 + <_> + 2 + 543109 + 9.5080199393547421e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 271290 + -9.5080199393547421e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3670565874284332e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1976078748703003e-01 + 1.5997242927551270e-01 + <_> + 1 + 274643 + 1.3670565874284332e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.6347302496433258e-01 + 7.3014312744140625e+01 + <_> + 2 + 264903 + 1.3670565874284332e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9740 + -1.3670565874284332e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 608077 + -1.3670565874284332e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.7065026164054871e-01 + 5.6768994140625000e+03 + <_> + 2 + 596819 + -1.3670565874284332e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 11258 + 1.3670565874284332e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2696884783743767e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1723891496658325e-01 + 7.1441132812500000e+03 + <_> + 1 + 797886 + 1.2696884783743767e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.6492782235145569e-01 + 3.4368904113769531e+01 + <_> + 2 + 730767 + 1.2696884783743767e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 67119 + -1.2696884783743767e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 84834 + -1.2696884783743767e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 6.6771805286407471e-02 + 2.4362087249755859e+00 + <_> + 2 + 12567 + 1.2696884783743767e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 72267 + -1.2696884783743767e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1929965025037552e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1753205060958862e-01 + 9.6618125915527344e+01 + <_> + 1 + 794801 + -1.1929965025037552e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.4954901933670044e-01 + 3.0843707919120789e-01 + <_> + 2 + 579663 + -1.1929965025037552e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 215138 + 1.1929965025037552e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 87919 + 1.1929965025037552e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 8.0240584909915924e-02 + 2.2746036946773529e-01 + <_> + 2 + 73757 + 1.1929965025037552e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 14162 + -1.1929965025037552e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0860662705279479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1622432470321655e-01 + 2.3423248291015625e+01 + <_> + 1 + 194257 + -1.0860662705279479e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 7.1898259222507477e-02 + 2.3958118438720703e+01 + <_> + 2 + 21625 + 1.0860662705279479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 172632 + -1.0860662705279479e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 688463 + 1.0860662705279479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.5522674918174744e-01 + 7.1500000000000000e+01 + <_> + 2 + 945 + -1.0860662705279479e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 687518 + 1.0860662705279479e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1725763723154785e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1875513792037964e-01 + 4.4602760314941406e+01 + <_> + 1 + 218350 + 1.1725763723154785e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.7011776566505432e-01 + 1.4642375946044922e+01 + <_> + 2 + 53499 + -1.1725763723154785e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 164851 + 1.1725763723154785e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 664370 + -1.1725763723154785e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.5916310548782349e-01 + 1.2150000000000000e+02 + <_> + 2 + 11407 + 1.1725763723154785e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 652963 + -1.1725763723154785e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1167648010132951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1820802688598633e-01 + 1.3650000000000000e+02 + <_> + 1 + 210910 + -1.1167648010132951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 1.9387055933475494e-01 + 3.5577264404296875e+02 + <_> + 2 + 52544 + 1.1167648010132951e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 158366 + -1.1167648010132951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 671810 + 1.1167648010132951e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.3401957154273987e-01 + 4.0920783996582031e+01 + <_> + 2 + 329307 + -1.1167648010132951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 342503 + 1.1167648010132951e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2505078408336831e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1260077953338623e-01 + 1.6905261993408203e+01 + <_> + 1 + 524449 + 1.2505078408336831e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 2.9245281219482422e-01 + 1.9444374084472656e+01 + <_> + 2 + 135667 + -1.2505078408336831e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 388782 + 1.2505078408336831e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 358271 + -1.2505078408336831e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.3876920342445374e-01 + 4.2080000042915344e-02 + <_> + 2 + 75985 + 1.2505078408336831e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 282286 + -1.2505078408336831e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1146531669964642e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1469743251800537e-01 + 3.8520984649658203e+01 + <_> + 1 + 146123 + 1.1146531669964642e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 1.2118757516145706e-01 + 3.3219573974609375e+02 + <_> + 2 + 40282 + -1.1146531669964642e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 105841 + 1.1146531669964642e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 736597 + -1.1146531669964642e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.0664994716644287e-01 + 6.0706512451171875e+01 + <_> + 2 + 594161 + -1.1146531669964642e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 142436 + 1.1146531669964642e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.4722421523437013e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1222920417785645e-01 + 4.8905628204345703e+01 + <_> + 1 + 600969 + 1.4722421523437013e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.1731200218200684e-01 + 1.9359523057937622e-01 + <_> + 2 + 114683 + -1.4722421523437013e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 486286 + 1.4722421523437013e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 281751 + -1.4722421523437013e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.1942771971225739e-01 + 4.8183624267578125e+01 + <_> + 2 + 40157 + 1.4722421523437013e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 241594 + -1.4722421523437013e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1909982435381317e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1740634441375732e-01 + 1.1911777496337891e+02 + <_> + 1 + 260790 + -1.1909982435381317e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 9.8409734666347504e-02 + 1.0450000000000000e+02 + <_> + 2 + 44866 + 1.1909982435381317e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 215924 + -1.1909982435381317e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 621930 + 1.1909982435381317e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.3133008480072021e-01 + 9.1517004394531250e+02 + <_> + 2 + 41408 + -1.1909982435381317e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 580522 + 1.1909982435381317e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1359715151968533e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1759630441665649e-01 + 4.6553656458854675e-02 + <_> + 1 + 541029 + -1.1359715151968533e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.8337594270706177e-01 + 2.2750000000000000e+02 + <_> + 2 + 526042 + -1.1359715151968533e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 14987 + 1.1359715151968533e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 341691 + 1.1359715151968533e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.4499284327030182e-01 + 1.3962946777343750e+03 + <_> + 2 + 148893 + 1.1359715151968533e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 192798 + -1.1359715151968533e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2322219910166020e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1454466581344604e-01 + 6.3750000000000000e+00 + <_> + 1 + 829136 + 1.2322219910166020e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.9534726142883301e-01 + 9.6182703971862793e-01 + <_> + 2 + 68783 + -1.2322219910166020e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 760353 + 1.2322219910166020e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 53584 + -1.2322219910166020e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.5419374704360962e-02 + 9.6181493997573853e-01 + <_> + 2 + 45768 + 1.2322219910166020e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7816 + -1.2322219910166020e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1781178830356834e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.2268415689468384e-01 + 1.2721937561035156e+02 + <_> + 1 + 858625 + -1.1781178830356834e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.9915239214897156e-01 + 1.0780788421630859e+01 + <_> + 2 + 9261 + 1.1781178830356834e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 849364 + -1.1781178830356834e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 24095 + 1.1781178830356834e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.0266525223851204e-02 + 2.6119586825370789e-01 + <_> + 2 + 13317 + -1.1781178830356834e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 10778 + 1.1781178830356834e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2950340294746163e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1489472389221191e-01 + 1.9693386554718018e-01 + <_> + 1 + 286193 + 1.2950340294746163e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 2.3451860249042511e-01 + 8.4089599609375000e+01 + <_> + 2 + 266079 + 1.2950340294746163e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 20114 + -1.2950340294746163e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 596527 + -1.2950340294746163e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.9781207442283630e-01 + 3.5527777671813965e+00 + <_> + 2 + 466581 + -1.2950340294746163e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 129946 + 1.2950340294746163e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3382719657511438e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1340484619140625e-01 + 3.9127510070800781e+01 + <_> + 1 + 484708 + 1.3382719657511438e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.1581776440143585e-01 + 2.3972038574218750e+03 + <_> + 2 + 338458 + 1.3382719657511438e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 146250 + -1.3382719657511438e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 398012 + -1.3382719657511438e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.1758919358253479e-01 + 9.9669523239135742e+00 + <_> + 2 + 119203 + 1.3382719657511438e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 278809 + -1.3382719657511438e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3052820589276917e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1961916685104370e-01 + 1.2550000000000000e+02 + <_> + 1 + 142648 + -1.3052820589276917e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.4402635395526886e-01 + 3.3239997923374176e-02 + <_> + 2 + 99101 + -1.3052820589276917e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43547 + 1.3052820589276917e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 740072 + 1.3052820589276917e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.8855946063995361e-01 + 7.7380010986328125e+02 + <_> + 2 + 65023 + -1.3052820589276917e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 675049 + 1.3052820589276917e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1143963889842658e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1930880546569824e-01 + 3.7608242034912109e+01 + <_> + 1 + 135299 + 1.1143963889842658e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.1370519548654556e-01 + 1.4642375946044922e+01 + <_> + 2 + 48444 + -1.1143963889842658e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 86855 + 1.1143963889842658e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 747421 + -1.1143963889842658e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.1412591934204102e-01 + 2.7229607105255127e-02 + <_> + 2 + 95577 + 1.1143963889842658e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 651844 + -1.1143963889842658e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5217408284279793e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1494979858398438e-01 + 9.6397743225097656e+00 + <_> + 1 + 399063 + -1.5217408284279793e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 1.8638405203819275e-01 + 7.0999298095703125e+00 + <_> + 2 + 126262 + 1.5217408284279793e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 272801 + -1.5217408284279793e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 483657 + 1.5217408284279793e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.5158622264862061e-01 + 2.9056789398193359e+01 + <_> + 2 + 67660 + -1.5217408284279793e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 415997 + 1.5217408284279793e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.4635032346753689e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2099221944808960e-01 + 1.1370868682861328e+01 + <_> + 1 + 13294 + 9.4635032346753689e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.1681082658469677e-02 + 2.3396150209009647e-03 + <_> + 2 + 1022 + -9.4635032346753689e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12272 + 9.4635032346753689e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 869426 + -9.4635032346753689e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1196002960205078e-01 + 7.9061347961425781e+01 + <_> + 2 + 841854 + -9.4635032346753689e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 27572 + 9.4635032346753689e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.4711133362356342e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1325416564941406e-01 + 5.2972221374511719e+00 + <_> + 1 + 788170 + 9.4711133362356342e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.6157640218734741e-01 + 5.0363531494140625e+02 + <_> + 2 + 129946 + -9.4711133362356342e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 658224 + 9.4711133362356342e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 94550 + -9.4711133362356342e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 6.2083713710308075e-02 + 2.5150000000000000e+02 + <_> + 2 + 84156 + -9.4711133362356342e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 10394 + 9.4711133362356342e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.4493641747558574e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1660895347595215e-01 + 2.4264328002929688e+01 + <_> + 1 + 99637 + 9.4493641747558574e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.4669870287179947e-02 + 1.5394971847534180e+01 + <_> + 2 + 63376 + -9.4493641747558574e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 36261 + 9.4493641747558574e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 783083 + -9.4493641747558574e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.7893598675727844e-01 + 3.8409677124023438e+02 + <_> + 2 + 13669 + 9.4493641747558574e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 769414 + -9.4493641747558574e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0268576004758100e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1545894145965576e-01 + 9.5613986253738403e-01 + <_> + 1 + 73738 + -1.0268576004758100e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.4481346830725670e-02 + 4.5859130859375000e+01 + <_> + 2 + 60302 + -1.0268576004758100e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 13436 + 1.0268576004758100e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 808982 + 1.0268576004758100e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.0116753578186035e-01 + 6.4861106872558594e+00 + <_> + 2 + 793030 + 1.0268576004758100e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 15952 + -1.0268576004758100e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.7415687815332127e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1738774776458740e-01 + 2.0639503002166748e+00 + <_> + 1 + 13904 + 8.7415687815332127e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.1813781931996346e-02 + 1.9439224243164062e+01 + <_> + 2 + 5661 + -8.7415687815332127e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8243 + 8.7415687815332127e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 868816 + -8.7415687815332127e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.0002622604370117e-01 + 7.1283096313476562e+01 + <_> + 2 + 797538 + -8.7415687815332127e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 71278 + 8.7415687815332127e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.0927238798277743e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.0975197553634644e-01 + 1.2518388032913208e+00 + <_> + 1 + 377084 + 9.0927238798277743e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.0931947231292725e-01 + 4.1524017333984375e+01 + <_> + 2 + 93330 + -9.0927238798277743e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 283754 + 9.0927238798277743e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 505636 + -9.0927238798277743e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.1339669227600098e-01 + 4.4432319641113281e+01 + <_> + 2 + 112515 + 9.0927238798277743e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 393121 + -9.0927238798277743e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.5052653794233957e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1104712486267090e-01 + 3.2332382202148438e+01 + <_> + 1 + 120080 + -9.5052653794233957e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 7.5593367218971252e-02 + 6.7714500427246094e+00 + <_> + 2 + 53841 + 9.5052653794233957e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 66239 + -9.5052653794233957e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 762640 + 9.5052653794233957e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.4815191626548767e-01 + 7.5972385406494141e+00 + <_> + 2 + 87136 + -9.5052653794233957e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 675504 + 9.5052653794233957e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -7.5071076731170652e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1666319370269775e-01 + 3.5277777910232544e-01 + <_> + 1 + 2224 + 7.5071076731170652e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 8.0808280035853386e-03 + 2.6486915349960327e-01 + <_> + 2 + 1298 + 7.5071076731170652e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 926 + -7.5071076731170652e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 880496 + -7.5071076731170652e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1067811250686646e-01 + 1.0946619033813477e+01 + <_> + 2 + 8232 + 7.5071076731170652e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 872264 + -7.5071076731170652e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.4623998779569909e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1043331623077393e-01 + 5.3959779441356659e-02 + <_> + 1 + 683722 + 9.4623998779569909e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.6497312188148499e-01 + 1.4772460937500000e+03 + <_> + 2 + 185379 + -9.4623998779569909e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 498343 + 9.4623998779569909e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 198998 + -9.4623998779569909e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.8665242046117783e-02 + 2.4351483583450317e-01 + <_> + 2 + 130152 + -9.4623998779569909e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 68846 + 9.4623998779569909e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2714328334082659e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1731991767883301e-01 + 1.6297939453125000e+03 + <_> + 1 + 330856 + 1.2714328334082659e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.8274462223052979e-01 + 1.2698571777343750e+02 + <_> + 2 + 323734 + 1.2714328334082659e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7122 + -1.2714328334082659e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 551864 + -1.2714328334082659e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.4899845719337463e-01 + 1.9487727880477905e+00 + <_> + 2 + 110726 + 1.2714328334082659e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 441138 + -1.2714328334082659e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0029983928741941e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1090341806411743e-01 + 1.9007104635238647e-01 + <_> + 1 + 257192 + 1.0029983928741941e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.1419817209243774e-01 + 3.8416666984558105e+00 + <_> + 2 + 170984 + 1.0029983928741941e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 86208 + -1.0029983928741941e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 625528 + -1.0029983928741941e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.1085580587387085e-01 + 9.4207134246826172e+00 + <_> + 2 + 267693 + 1.0029983928741941e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 357835 + -1.0029983928741941e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2812338943322610e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1928746700286865e-01 + 3.0527777671813965e+00 + <_> + 1 + 558604 + -1.2812338943322610e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.9665496945381165e-01 + 1.8450000000000000e+02 + <_> + 2 + 461479 + -1.2812338943322610e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 97125 + 1.2812338943322610e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 324116 + 1.2812338943322610e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.3533213138580322e-01 + 9.7587108612060547e-01 + <_> + 2 + 275955 + 1.2812338943322610e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 48161 + -1.2812338943322610e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2207526287606150e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1623684167861938e-01 + 1.3427116699218750e+03 + <_> + 1 + 572221 + 1.2207526287606150e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 3.1281876564025879e-01 + 8.1077964782714844e+01 + <_> + 2 + 470399 + 1.2207526287606150e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 101822 + -1.2207526287606150e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 310499 + -1.2207526287606150e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.1766221523284912e-01 + 2.0246419310569763e-01 + <_> + 2 + 233657 + -1.2207526287606150e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 76842 + 1.2207526287606150e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.4989269913710268e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1366740465164185e-01 + 5.5216079711914062e+01 + <_> + 1 + 679431 + -1.4989269913710268e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.5601037740707397e-01 + 4.4606324285268784e-02 + <_> + 2 + 404899 + -1.4989269913710268e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 274532 + 1.4989269913710268e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 203289 + 1.4989269913710268e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.8139278888702393e-01 + 2.0816545188426971e-01 + <_> + 2 + 159252 + 1.4989269913710268e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 44037 + -1.4989269913710268e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.5342495351359042e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1776731014251709e-01 + 4.0041230618953705e-02 + <_> + 1 + 399948 + 1.5342495351359042e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 3.0101346969604492e-01 + 6.6715942382812500e+01 + <_> + 2 + 381041 + 1.5342495351359042e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 18907 + -1.5342495351359042e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 482772 + -1.5342495351359042e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.3726768791675568e-01 + 3.0918169021606445e+00 + <_> + 2 + 364549 + -1.5342495351359042e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 118223 + 1.5342495351359042e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.4579421952377511e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1463216543197632e-01 + 2.7181453704833984e+00 + <_> + 1 + 558384 + 1.4579421952377511e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.6393714547157288e-01 + 9.7053241729736328e-01 + <_> + 2 + 139368 + -1.4579421952377511e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 419016 + 1.4579421952377511e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 324336 + -1.4579421952377511e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.7244696021080017e-01 + 9.6973073482513428e-01 + <_> + 2 + 132600 + 1.4579421952377511e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 191736 + -1.4579421952377511e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.3675549513667263e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1156282424926758e-01 + 2.3050000000000000e+02 + <_> + 1 + 827850 + -8.3675549513667263e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.7785559296607971e-01 + 5.6930437088012695e+00 + <_> + 2 + 552849 + -8.3675549513667263e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 275001 + 8.3675549513667263e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 54870 + 8.3675549513667263e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.3051108717918396e-02 + 9.6928584575653076e-01 + <_> + 2 + 30078 + 8.3675549513667263e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 24792 + -8.3675549513667263e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.3153440467758086e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1211380958557129e-01 + 6.0000886917114258e+00 + <_> + 1 + 605670 + 9.3153440467758086e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 3.8052120804786682e-01 + 9.6944439411163330e-01 + <_> + 2 + 94691 + -9.3153440467758086e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 510979 + 9.3153440467758086e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 277050 + -9.3153440467758086e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.4275032281875610e-01 + 2.6701806640625000e+03 + <_> + 2 + 156682 + -9.3153440467758086e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 120368 + 9.3153440467758086e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.5184707513219904e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1580941677093506e-01 + 1.0013697147369385e+00 + <_> + 1 + 38274 + 9.5184707513219904e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.0499700009822845e-02 + 4.9278511047363281e+01 + <_> + 2 + 29569 + 9.5184707513219904e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8705 + -9.5184707513219904e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 844446 + -9.5184707513219904e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.7327852249145508e-01 + 2.7905413508415222e-01 + <_> + 2 + 777316 + -9.5184707513219904e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 67130 + 9.5184707513219904e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.1681486528081030e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1230579614639282e-01 + 2.9147505760192871e-01 + <_> + 1 + 827055 + 9.1681486528081030e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.8605522513389587e-01 + 5.7274185121059418e-02 + <_> + 2 + 696762 + 9.1681486528081030e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 130293 + -9.1681486528081030e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 55665 + -9.1681486528081030e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.6849107593297958e-02 + 7.9624938964843750e+01 + <_> + 2 + 47805 + -9.1681486528081030e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7860 + 9.1681486528081030e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0179268045699244e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1810514926910400e-01 + 3.9401649475097656e+01 + <_> + 1 + 847989 + -1.0179268045699244e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 4.8632714152336121e-01 + 8.0004062652587891e+00 + <_> + 2 + 780457 + -1.0179268045699244e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 67532 + 1.0179268045699244e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 34731 + 1.0179268045699244e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.9099089801311493e-02 + 1.7113932967185974e-01 + <_> + 2 + 13738 + -1.0179268045699244e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 20993 + 1.0179268045699244e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.9199627152149528e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1473385095596313e-01 + 4.0854901123046875e+02 + <_> + 1 + 814521 + 9.9199627152149528e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.5232692360877991e-01 + 9.5607256889343262e-01 + <_> + 2 + 70215 + -9.9199627152149528e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 744306 + 9.9199627152149528e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 68199 + -9.9199627152149528e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 7.2452656924724579e-02 + 1.1904067039489746e+01 + <_> + 2 + 34953 + 9.9199627152149528e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 33246 + -9.9199627152149528e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2045684120765200e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1715165376663208e-01 + 1.9483010253906250e+03 + <_> + 1 + 748926 + -1.2045684120765200e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.2893403768539429e-01 + 1.6140855789184570e+01 + <_> + 2 + 731917 + -1.2045684120765200e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17009 + 1.2045684120765200e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 133794 + 1.2045684120765200e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.0114382207393646e-01 + 2.2938682138919830e-01 + <_> + 2 + 119960 + 1.2045684120765200e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 13834 + -1.2045684120765200e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.8600859335020066e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1442885398864746e-01 + 1.7187983398437500e+03 + <_> + 1 + 698956 + 9.8600859335020066e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.8903987407684326e-01 + 5.1110818982124329e-02 + <_> + 2 + 483455 + 9.8600859335020066e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 215501 + -9.8600859335020066e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 183764 + -9.8600859335020066e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.3559038937091827e-01 + 1.0698510742187500e+02 + <_> + 2 + 110229 + -9.8600859335020066e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 73535 + 9.8600859335020066e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0013113568673283e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1187586784362793e-01 + 1.1251853027343750e+03 + <_> + 1 + 203274 + 1.0013113568673283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 8.9294776320457458e-02 + 7.5003746032714844e+01 + <_> + 2 + 153384 + -1.0013113568673283e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 49890 + 1.0013113568673283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 679446 + -1.0013113568673283e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.3571710586547852e-01 + 3.5114007568359375e+02 + <_> + 2 + 30772 + 1.0013113568673283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 648674 + -1.0013113568673283e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0479083482852962e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1722937822341919e-01 + 7.3068008422851562e+01 + <_> + 1 + 69470 + -1.0479083482852962e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.0421104282140732e-02 + 4.1849542236328125e+02 + <_> + 2 + 64489 + -1.0479083482852962e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4981 + 1.0479083482852962e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 813250 + 1.0479083482852962e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.9575266242027283e-01 + 2.5513930664062500e+03 + <_> + 2 + 760523 + 1.0479083482852962e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 52727 + -1.0479083482852962e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -6.9944597027767702e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1338863372802734e-01 + 8.1779647827148438e+01 + <_> + 1 + 863763 + -6.9944597027767702e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.0226563215255737e-01 + 3.5277777910232544e-01 + <_> + 2 + 2224 + 6.9944597027767702e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 861539 + -6.9944597027767702e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 18957 + 6.9944597027767702e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.5213403850793839e-02 + 1.1604920959472656e+02 + <_> + 2 + 16762 + 6.9944597027767702e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2195 + -6.9944597027767702e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0049008429189323e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1192611455917358e-01 + 1.9285855293273926e+00 + <_> + 1 + 300532 + -1.0049008429189323e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.1127478629350662e-01 + 3.1663694977760315e-01 + <_> + 2 + 176414 + -1.0049008429189323e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 124118 + 1.0049008429189323e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 582188 + 1.0049008429189323e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.1382661461830139e-01 + 3.0425888299942017e-01 + <_> + 2 + 477731 + 1.0049008429189323e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 104457 + -1.0049008429189323e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2855730349878802e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1117056608200073e-01 + 2.6046544313430786e-01 + <_> + 1 + 513635 + -1.2855730349878802e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.6986562609672546e-01 + 9.6437197923660278e-01 + <_> + 2 + 109023 + 1.2855730349878802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 404612 + -1.2855730349878802e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 369085 + 1.2855730349878802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.6222952306270599e-01 + 2.5710353851318359e+00 + <_> + 2 + 292480 + 1.2855730349878802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 76605 + -1.2855730349878802e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.5465057419031996e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1730257272720337e-01 + 1.3940798118710518e-02 + <_> + 1 + 32627 + -9.5465057419031996e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.5295770950615406e-02 + 5.1016855239868164e+00 + <_> + 2 + 1597 + 9.5465057419031996e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31030 + -9.5465057419031996e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 850093 + 9.5465057419031996e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.0855237245559692e-01 + 1.2303461879491806e-01 + <_> + 2 + 44974 + -9.5465057419031996e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 805119 + 9.5465057419031996e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.6415003328645679e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1114720106124878e-01 + 3.7143341064453125e+01 + <_> + 1 + 158181 + 9.6415003328645679e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 1.0440933704376221e-01 + 1.9092498779296875e+01 + <_> + 2 + 91397 + -9.6415003328645679e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 66784 + 9.6415003328645679e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 724539 + -9.6415003328645679e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 4.1967576742172241e-01 + 4.5582500457763672e+01 + <_> + 2 + 28001 + 9.6415003328645679e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 696538 + -9.6415003328645679e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0653500199646342e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1474612951278687e-01 + 5.3066043853759766e+00 + <_> + 1 + 764408 + 1.0653500199646342e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.4804531335830688e-01 + 5.0363531494140625e+02 + <_> + 2 + 127459 + -1.0653500199646342e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 636949 + 1.0653500199646342e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 118312 + -1.0653500199646342e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 7.8563265502452850e-02 + 4.9014778137207031e+01 + <_> + 2 + 26161 + -1.0653500199646342e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 92151 + 1.0653500199646342e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.7227327944372962e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1673740148544312e-01 + 4.0570430755615234e+00 + <_> + 1 + 76100 + 8.7227327944372962e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.7999830693006516e-02 + 8.1099443435668945e+00 + <_> + 2 + 66844 + 8.7227327944372962e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9256 + -8.7227327944372962e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 806620 + -8.7227327944372962e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.6379318833351135e-01 + 2.3313360214233398e+01 + <_> + 2 + 29593 + 8.7227327944372962e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 777027 + -8.7227327944372962e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0744457647570353e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1406890153884888e-01 + 1.5870826721191406e+01 + <_> + 1 + 796112 + 1.0744457647570353e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.7454094886779785e-01 + 9.6592041015625000e+01 + <_> + 2 + 758653 + 1.0744457647570353e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 37459 + -1.0744457647570353e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 86608 + -1.0744457647570353e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2294373512268066e-02 + 9.3383010864257812e+01 + <_> + 2 + 68632 + -1.0744457647570353e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17976 + 1.0744457647570353e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.7475577555735706e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1489800214767456e-01 + 2.3750000000000000e+02 + <_> + 1 + 842740 + -8.7475577555735706e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.9156761169433594e-01 + 4.9310840666294098e-02 + <_> + 2 + 585767 + -8.7475577555735706e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 256973 + 8.7475577555735706e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 39980 + 8.7475577555735706e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.0287345871329308e-02 + 2.1982169151306152e+00 + <_> + 2 + 16033 + -8.7475577555735706e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 23947 + 8.7475577555735706e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0012120742820195e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1017475128173828e-01 + 5.1415245980024338e-02 + <_> + 1 + 638031 + 1.0012120742820195e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.4468110799789429e-01 + 1.3216240234375000e+03 + <_> + 2 + 138468 + -1.0012120742820195e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 499563 + 1.0012120742820195e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 244689 + -1.0012120742820195e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 8.0328300595283508e-02 + 4.9735156250000000e+03 + <_> + 2 + 216089 + -1.0012120742820195e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 28600 + 1.0012120742820195e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1139629904554423e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1527249813079834e-01 + 1.3501220703125000e+03 + <_> + 1 + 263212 + 1.1139629904554423e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.2927815318107605e-01 + 1.1971948623657227e+01 + <_> + 2 + 216509 + -1.1139629904554423e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 46703 + 1.1139629904554423e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 619508 + -1.1139629904554423e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.9854216575622559e-01 + 6.7810668945312500e+01 + <_> + 2 + 533114 + -1.1139629904554423e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 86394 + 1.1139629904554423e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2939202182366219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.2019113302230835e-01 + 2.2457817077636719e+01 + <_> + 1 + 632209 + 1.2939202182366219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.6560800671577454e-01 + 1.6281558990478516e+01 + <_> + 2 + 572511 + 1.2939202182366219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59698 + -1.2939202182366219e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 250511 + -1.2939202182366219e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.6669492423534393e-01 + 2.4156896770000458e-01 + <_> + 2 + 216330 + -1.2939202182366219e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 34181 + 1.2939202182366219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2250088306848443e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1482892036437988e-01 + 1.6151179199218750e+03 + <_> + 1 + 669253 + -1.2250088306848443e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.7292891740798950e-01 + 1.4953508377075195e+01 + <_> + 2 + 654604 + -1.2250088306848443e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 14649 + 1.2250088306848443e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 213467 + 1.2250088306848443e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.5765807032585144e-01 + 1.5687054395675659e-01 + <_> + 2 + 35542 + -1.2250088306848443e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 177925 + 1.2250088306848443e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1012913581323687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 5.1693290472030640e-01 + 8.7880306243896484e+00 + <_> + 1 + 724584 + 1.1012913581323687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.2123246192932129e-01 + 7.8584746093750000e+03 + <_> + 2 + 660016 + 1.1012913581323687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 64568 + -1.1012913581323687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 158136 + -1.1012913581323687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.0627202689647675e-01 + 8.0757070312500000e+03 + <_> + 2 + 156262 + -1.1012913581323687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1874 + 1.1012913581323687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.6335966027004080e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1213514804840088e-01 + 8.7217148437500000e+03 + <_> + 1 + 832388 + -8.6335966027004080e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.8214641213417053e-01 + 6.3046508789062500e+01 + <_> + 2 + 714739 + -8.6335966027004080e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 117649 + 8.6335966027004080e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 50332 + 8.6335966027004080e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.9424180984497070e-02 + 1.2924060058593750e+03 + <_> + 2 + 31721 + 8.6335966027004080e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 18611 + -8.6335966027004080e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.5053473052294321e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1496863365173340e-01 + 7.3706222534179688e+01 + <_> + 1 + 774473 + 9.5053473052294321e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.3096181750297546e-01 + 1.1797039031982422e+01 + <_> + 2 + 574908 + 9.5053473052294321e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 199565 + -9.5053473052294321e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 108247 + -9.5053473052294321e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 9.2783667147159576e-02 + 9.7360563278198242e-01 + <_> + 2 + 82765 + -9.5053473052294321e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 25482 + 9.5053473052294321e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2486305892425398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1188904047012329e-01 + 1.2129903793334961e+01 + <_> + 1 + 651287 + -1.2486305892425398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.3008763194084167e-01 + 1.2595489501953125e+02 + <_> + 2 + 630194 + -1.2486305892425398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 21093 + 1.2486305892425398e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 231433 + 1.2486305892425398e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 2.0108763873577118e-01 + 4.2796148681640625e+02 + <_> + 2 + 204164 + 1.2486305892425398e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 27269 + -1.2486305892425398e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.4881791536970340e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1729077100753784e-01 + 1.2525152206420898e+01 + <_> + 1 + 681291 + 1.4881791536970340e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.5587441921234131e-01 + 6.7825866699218750e+01 + <_> + 2 + 508813 + 1.4881791536970340e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 172478 + -1.4881791536970340e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 201429 + -1.4881791536970340e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.8126153945922852e-01 + 9.7179555892944336e-01 + <_> + 2 + 157846 + -1.4881791536970340e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43583 + 1.4881791536970340e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3984958175915035e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2143442630767822e-01 + 3.5027778148651123e+00 + <_> + 1 + 632167 + -1.3984958175915035e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 3.5061496496200562e-01 + 6.6573921203613281e+01 + <_> + 2 + 583053 + -1.3984958175915035e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 49114 + 1.3984958175915035e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 250553 + 1.3984958175915035e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.8429054319858551e-01 + 1.2200248241424561e-01 + <_> + 2 + 16834 + -1.3984958175915035e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 233719 + 1.3984958175915035e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1351189242547870e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 5.1673692464828491e-01 + 6.3547519683837891e+01 + <_> + 1 + 310597 + 1.1351189242547870e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.0332904160022736e-01 + 1.2332736968994141e+01 + <_> + 2 + 265157 + 1.1351189242547870e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 45440 + -1.1351189242547870e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 572123 + -1.1351189242547870e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.2501849532127380e-01 + 1.5000002384185791e+00 + <_> + 2 + 455827 + -1.1351189242547870e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 116296 + 1.1351189242547870e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1620001547569191e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.1641446352005005e-01 + 2.5000002384185791e+00 + <_> + 1 + 709059 + 1.1620001547569191e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.0091326832771301e-01 + 9.1666994094848633e+00 + <_> + 2 + 291562 + -1.1620001547569191e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 417497 + 1.1620001547569191e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 173661 + -1.1620001547569191e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.2810410559177399e-01 + 9.7694289684295654e-01 + <_> + 2 + 98821 + -1.1620001547569191e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 74840 + 1.1620001547569191e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0324061878595918e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.0883173942565918e-01 + 9.8828277587890625e+00 + <_> + 1 + 430648 + 1.0324061878595918e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 1.9811230897903442e-01 + 1.6950000000000000e+02 + <_> + 2 + 349264 + -1.0324061878595918e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 81384 + 1.0324061878595918e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 452072 + -1.0324061878595918e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.2767495512962341e-01 + 1.7250000000000000e+02 + <_> + 2 + 144198 + 1.0324061878595918e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 307874 + -1.0324061878595918e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2464332048406863e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1626908779144287e-01 + 9.8828277587890625e+00 + <_> + 1 + 430648 + 1.2464332048406863e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.0228776335716248e-01 + 1.9277486801147461e+00 + <_> + 2 + 155164 + -1.2464332048406863e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 275484 + 1.2464332048406863e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 452072 + -1.2464332048406863e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.2883277535438538e-01 + 7.3423736572265625e+01 + <_> + 2 + 250061 + -1.2464332048406863e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 202011 + 1.2464332048406863e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 8.3196641780681660e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1272737979888916e-01 + 7.3706222534179688e+01 + <_> + 1 + 774473 + 8.3196641780681660e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.2957296967506409e-01 + 5.0050497055053711e-02 + <_> + 2 + 558698 + 8.3196641780681660e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 215775 + -8.3196641780681660e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 108247 + -8.3196641780681660e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 9.1214209794998169e-02 + 2.4950000000000000e+02 + <_> + 2 + 98447 + -8.3196641780681660e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9800 + 8.3196641780681660e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.8709603077637519e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1288670301437378e-01 + 1.1416666507720947e+00 + <_> + 1 + 171901 + 8.8709603077637519e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 6.7043520510196686e-02 + 1.1058124542236328e+01 + <_> + 2 + 64029 + -8.8709603077637519e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 107872 + 8.8709603077637519e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 710819 + -8.8709603077637519e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.5511934161186218e-01 + 7.3527774810791016e+00 + <_> + 2 + 684764 + -8.8709603077637519e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 26055 + 8.8709603077637519e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0200757197105535e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.1430970430374146e-01 + 4.1500000000000000e+01 + <_> + 1 + 820638 + 1.0200757197105535e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.5283472537994385e-01 + 2.6412561416625977e+01 + <_> + 2 + 232669 + -1.0200757197105535e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 587969 + 1.0200757197105535e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 62082 + -1.0200757197105535e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 7.2645075619220734e-02 + 1.9568501710891724e+00 + <_> + 2 + 23617 + 1.0200757197105535e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 38465 + -1.0200757197105535e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -7.4146309958005197e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 5.1343142986297607e-01 + 3.9485031127929688e+01 + <_> + 1 + 82635 + 7.4146309958005197e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 6.5225981175899506e-02 + 8.2040596008300781e+00 + <_> + 2 + 72894 + 7.4146309958005197e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9741 + -7.4146309958005197e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 800085 + -7.4146309958005197e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.5330211520195007e-01 + 1.2738451361656189e-01 + <_> + 2 + 58254 + 7.4146309958005197e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 741831 + -7.4146309958005197e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 8.0941260705440082e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1312166452407837e-01 + 3.1864631175994873e-01 + <_> + 1 + 860456 + 8.0941260705440082e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.0408554077148438e-01 + 9.8062193393707275e-01 + <_> + 2 + 585265 + 8.0941260705440082e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 275191 + -8.0941260705440082e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 22264 + -8.0941260705440082e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 1.6138739883899689e-02 + 4.5250743865966797e+01 + <_> + 2 + 10751 + 8.0941260705440082e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 11513 + -8.0941260705440082e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.2499662417127792e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1441407203674316e-01 + 1.6361110210418701e+00 + <_> + 1 + 262336 + 8.2499662417127792e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.1587233096361160e-01 + 2.8954421997070312e+01 + <_> + 2 + 230335 + 8.2499662417127792e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 32001 + -8.2499662417127792e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 620384 + -8.2499662417127792e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.0474089980125427e-01 + 5.8885707855224609e+00 + <_> + 2 + 1846 + 8.2499662417127792e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 618538 + -8.2499662417127792e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1169926362945755e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1363658905029297e-01 + 1.9444374084472656e+01 + <_> + 1 + 135667 + -1.1169926362945755e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.0936907678842545e-01 + 2.4883413314819336e-01 + <_> + 2 + 100537 + -1.1169926362945755e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 35130 + 1.1169926362945755e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 747053 + 1.1169926362945755e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.1852673888206482e-01 + 2.7778682708740234e+01 + <_> + 2 + 151031 + -1.1169926362945755e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 596022 + 1.1169926362945755e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.4600501300894715e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1694715023040771e-01 + 2.9028301239013672e+01 + <_> + 1 + 153015 + 9.4600501300894715e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 7.4835188686847687e-02 + 9.2753009796142578e+00 + <_> + 2 + 122898 + 9.4600501300894715e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 30117 + -9.4600501300894715e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 729705 + -9.4600501300894715e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.4879731535911560e-01 + 7.4722218513488770e-01 + <_> + 2 + 8288 + 9.4600501300894715e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 721417 + -9.4600501300894715e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.5313568452163239e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1234507560729980e-01 + 2.2868448257446289e+01 + <_> + 1 + 185346 + -9.5313568452163239e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 6.7804135382175446e-02 + 1.9476972520351410e-02 + <_> + 2 + 18767 + 9.5313568452163239e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 166579 + -9.5313568452163239e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 697374 + 9.5313568452163239e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.5600622892379761e-01 + 7.1500000000000000e+01 + <_> + 2 + 987 + -9.5313568452163239e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 696387 + 9.5313568452163239e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -6.8046149620195201e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1556253433227539e-01 + 8.2806862890720367e-02 + <_> + 1 + 873894 + -6.8046149620195201e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1484334468841553e-01 + 2.6995529174804688e+01 + <_> + 2 + 854266 + -6.8046149620195201e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 19628 + 6.8046149620195201e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 8826 + 6.8046149620195201e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 2.1616152953356504e-03 + 1.9699844360351562e+02 + <_> + 2 + 8772 + -6.8046149620195201e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 54 + 6.8046149620195201e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 8.1989988520674420e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.0836217403411865e-01 + 1.4196281738281250e+03 + <_> + 1 + 607419 + 8.1989988520674420e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.2993209362030029e-01 + 9.2327545166015625e+01 + <_> + 2 + 552735 + 8.1989988520674420e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 54684 + -8.1989988520674420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 275301 + -8.1989988520674420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.9055393338203430e-01 + 1.3535617828369141e+01 + <_> + 2 + 140629 + 8.1989988520674420e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 134672 + -8.1989988520674420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3612178894590560e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1438689231872559e-01 + 9.7220790386199951e-01 + <_> + 1 + 329213 + 1.3612178894590560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.3397213220596313e-01 + 4.1265846252441406e+01 + <_> + 2 + 98672 + -1.3612178894590560e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 230541 + 1.3612178894590560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 553507 + -1.3612178894590560e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.0000588297843933e-01 + 1.3004627227783203e+01 + <_> + 2 + 522001 + -1.3612178894590560e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31506 + 1.3612178894590560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.4174359815885956e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2310168743133545e-01 + 1.0694110107421875e+03 + <_> + 1 + 414849 + 1.4174359815885956e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.3964780569076538e-01 + 1.1876630783081055e+01 + <_> + 2 + 401949 + 1.4174359815885956e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12900 + -1.4174359815885956e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 467871 + -1.4174359815885956e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.9572889208793640e-01 + 5.2797199249267578e+01 + <_> + 2 + 107182 + 1.4174359815885956e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 360689 + -1.4174359815885956e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3976332347742679e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 5.1770704984664917e-01 + 7.1512346267700195e+00 + <_> + 1 + 382532 + -1.3976332347742679e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.7232521772384644e-01 + 1.5850000000000000e+02 + <_> + 2 + 333940 + -1.3976332347742679e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 48592 + 1.3976332347742679e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 500188 + 1.3976332347742679e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.6255884766578674e-01 + 5.1605654296875000e+03 + <_> + 2 + 416279 + 1.3976332347742679e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 83909 + -1.3976332347742679e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.2690956547639522e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1453536748886108e-01 + 1.4193212890625000e+03 + <_> + 1 + 607300 + 9.2690956547639522e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 3.3013632893562317e-01 + 7.5242357254028320e+00 + <_> + 2 + 411486 + 9.2690956547639522e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 195814 + -9.2690956547639522e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 275420 + -9.2690956547639522e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.9301982223987579e-01 + 3.3393999934196472e-01 + <_> + 2 + 258051 + -9.2690956547639522e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17369 + 9.2690956547639522e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.5512883816047315e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1569175720214844e-01 + 5.1933715820312500e+01 + <_> + 1 + 639142 + -1.5512883816047315e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.4072896838188171e-01 + 2.2359392046928406e-01 + <_> + 2 + 432480 + -1.5512883816047315e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 206662 + 1.5512883816047315e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 243578 + 1.5512883816047315e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.9797566533088684e-01 + 2.0227992534637451e-01 + <_> + 2 + 152373 + 1.5512883816047315e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 91205 + -1.5512883816047315e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.4311757368526096e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2287214994430542e-01 + 2.2418455779552460e-01 + <_> + 1 + 645245 + 1.4311757368526096e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.6794313788414001e-01 + 9.8246645927429199e-01 + <_> + 2 + 502389 + 1.4311757368526096e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 142856 + -1.4311757368526096e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 237475 + -1.4311757368526096e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 1.6777531802654266e-01 + 1.4800925292968750e+03 + <_> + 2 + 203522 + -1.4311757368526096e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 33953 + 1.4311757368526096e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0740744894310113e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1679742336273193e-01 + 8.4028808593750000e+02 + <_> + 1 + 290992 + 1.0740744894310113e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.5549302101135254e-01 + 9.7689026594161987e-01 + <_> + 2 + 39284 + -1.0740744894310113e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 251708 + 1.0740744894310113e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 591728 + -1.0740744894310113e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.7133306264877319e-01 + 6.9164237976074219e+00 + <_> + 2 + 13270 + 1.0740744894310113e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 578458 + -1.0740744894310113e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1958057418300316e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1416927576065063e-01 + 2.1694445610046387e+00 + <_> + 1 + 378470 + -1.1958057418300316e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.8806050717830658e-01 + 3.0148733407258987e-02 + <_> + 2 + 89410 + 1.1958057418300316e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 289060 + -1.1958057418300316e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 504250 + 1.1958057418300316e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.4179905056953430e-01 + 3.2689224243164062e+01 + <_> + 2 + 60260 + -1.1958057418300316e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 443990 + 1.1958057418300316e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -6.3881119860105612e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1491260528564453e-01 + 4.8412844848632812e+02 + <_> + 1 + 2462 + 6.3881119860105612e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.3176739448681474e-03 + 3.6422818899154663e-01 + <_> + 2 + 121 + 6.3881119860105612e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2341 + -6.3881119860105612e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 880258 + -6.3881119860105612e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1464718580245972e-01 + 8.2806862890720367e-02 + <_> + 2 + 871475 + -6.3881119860105612e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8783 + 6.3881119860105612e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.6650544007345948e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1182425022125244e-01 + 1.4196281738281250e+03 + <_> + 1 + 607419 + 9.6650544007345948e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.3048462867736816e-01 + 3.3225021362304688e+02 + <_> + 2 + 40788 + -9.6650544007345948e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 566631 + 9.6650544007345948e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 275301 + -9.6650544007345948e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.9365923106670380e-01 + 1.8742108345031738e-01 + <_> + 2 + 179502 + -9.6650544007345948e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 95799 + 9.6650544007345948e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.5842179055065591e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1347541809082031e-01 + 4.6553656458854675e-02 + <_> + 1 + 541029 + -9.5842179055065591e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.8547986745834351e-01 + 2.1850000000000000e+02 + <_> + 2 + 516230 + -9.5842179055065591e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 24799 + 9.5842179055065591e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 341691 + 9.5842179055065591e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.3846234977245331e-01 + 4.1255149841308594e+00 + <_> + 2 + 311353 + 9.5842179055065591e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 30338 + -9.5842179055065591e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 9.8390354061838686e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1343107223510742e-01 + 7.6292663574218750e+01 + <_> + 1 + 679164 + 9.8390354061838686e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.9866673946380615e-01 + 2.4469029903411865e-01 + <_> + 2 + 540847 + 9.8390354061838686e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 138317 + -9.8390354061838686e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 203556 + -9.8390354061838686e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.2591102719306946e-01 + 4.2645394802093506e-02 + <_> + 2 + 14080 + 9.8390354061838686e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 189476 + -9.8390354061838686e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1642999119343789e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1199835538864136e-01 + 5.6772323608398438e+01 + <_> + 1 + 692799 + -1.1642999119343789e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.6462584137916565e-01 + 2.3033350706100464e-01 + <_> + 2 + 502937 + -1.1642999119343789e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 189862 + 1.1642999119343789e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 189921 + 1.1642999119343789e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.6444881260395050e-01 + 1.5871065139770508e+01 + <_> + 2 + 167686 + 1.1642999119343789e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 22235 + -1.1642999119343789e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0780331574833411e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1321882009506226e-01 + 1.1083757400512695e+01 + <_> + 1 + 302791 + 1.0780331574833411e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 1.9705520570278168e-01 + 1.5000002384185791e+00 + <_> + 2 + 243728 + 1.0780331574833411e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59063 + -1.0780331574833411e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 579929 + -1.0780331574833411e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.2986953854560852e-01 + 1.5000002384185791e+00 + <_> + 2 + 462754 + -1.0780331574833411e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 117175 + 1.0780331574833411e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1146339728890808e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1113092899322510e-01 + 2.1796804666519165e-01 + <_> + 1 + 619026 + 1.1146339728890808e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.4683200716972351e-01 + 3.1105361938476562e+01 + <_> + 2 + 187806 + -1.1146339728890808e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 431220 + 1.1146339728890808e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 263694 + -1.1146339728890808e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.8100503087043762e-01 + 1.1480089187622070e+01 + <_> + 2 + 203577 + -1.1146339728890808e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 60117 + 1.1146339728890808e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2156583882395897e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2060949802398682e-01 + 3.9127510070800781e+01 + <_> + 1 + 484708 + 1.2156583882395897e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.1059408783912659e-01 + 6.0722084045410156e+01 + <_> + 2 + 351307 + 1.2156583882395897e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 133401 + -1.2156583882395897e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 398012 + -1.2156583882395897e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.1975999474525452e-01 + 9.0933103561401367e+00 + <_> + 2 + 76341 + 1.2156583882395897e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 321671 + -1.2156583882395897e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3607432731232069e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1743149757385254e-01 + 5.8760490417480469e+01 + <_> + 1 + 452036 + -1.3607432731232069e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.9705420136451721e-01 + 1.6450000000000000e+02 + <_> + 2 + 382144 + -1.3607432731232069e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 69892 + 1.3607432731232069e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 430684 + 1.3607432731232069e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.3691199719905853e-01 + 1.5460202097892761e-01 + <_> + 2 + 37389 + -1.3607432731232069e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 393295 + 1.3607432731232069e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2939426290034436e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1484709978103638e-01 + 5.6885215759277344e+01 + <_> + 1 + 420110 + 1.2939426290034436e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 2.7478271722793579e-01 + 2.1961538696289062e+02 + <_> + 2 + 338210 + 1.2939426290034436e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 81900 + -1.2939426290034436e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 462610 + -1.2939426290034436e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.5752079486846924e-01 + 6.0146926879882812e+01 + <_> + 2 + 60774 + 1.2939426290034436e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 401836 + -1.2939426290034436e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3788163218417238e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1868355274200439e-01 + 5.6418434143066406e+01 + <_> + 1 + 332384 + -1.3788163218417238e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.0634472370147705e-01 + 4.3539289385080338e-02 + <_> + 2 + 265088 + -1.3788163218417238e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 67296 + 1.3788163218417238e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 550336 + 1.3788163218417238e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.2807117700576782e-01 + 3.0332836151123047e+01 + <_> + 2 + 125563 + -1.3788163218417238e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 424773 + 1.3788163218417238e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2288828615627784e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2186959981918335e-01 + 4.4005065917968750e+01 + <_> + 1 + 211822 + 1.2288828615627784e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.7441318929195404e-01 + 3.4386754035949707e-02 + <_> + 2 + 176098 + 1.2288828615627784e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 35724 + -1.2288828615627784e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 670898 + -1.2288828615627784e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.5627028346061707e-01 + 2.7465816587209702e-02 + <_> + 2 + 74544 + 1.2288828615627784e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 596354 + -1.2288828615627784e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.2373330185222492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1379692554473877e-01 + 4.3858562469482422e+01 + <_> + 1 + 546821 + -1.2373330185222492e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.6456314325332642e-01 + 2.7500000000000000e+01 + <_> + 2 + 493613 + -1.2373330185222492e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 53208 + 1.2373330185222492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 335899 + 1.2373330185222492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.6633077859878540e-01 + 2.5000000000000000e+00 + <_> + 2 + 261115 + 1.2373330185222492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 74784 + -1.2373330185222492e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 8.5837123603982324e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1273876428604126e-01 + 1.4212055664062500e+03 + <_> + 1 + 608036 + 8.5837123603982324e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.2932490110397339e-01 + 7.5288684082031250e+02 + <_> + 2 + 67677 + -8.5837123603982324e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 540359 + 8.5837123603982324e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 274684 + -8.5837123603982324e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 1.9212122261524200e-01 + 3.9687362670898438e+01 + <_> + 2 + 269277 + -8.5837123603982324e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5407 + 8.5837123603982324e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -9.1399751621124209e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1287460327148438e-01 + 3.6527776718139648e+00 + <_> + 1 + 651124 + -9.1399751621124209e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.4884500503540039e-01 + 1.4822725296020508e+01 + <_> + 2 + 638581 + -9.1399751621124209e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12543 + 9.1399751621124209e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 231596 + 9.1399751621124209e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.7398902773857117e-01 + 1.1858220398426056e-01 + <_> + 2 + 13413 + -9.1399751621124209e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 218183 + 9.1399751621124209e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3267822326464726e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1505303382873535e-01 + 1.3376935958862305e+01 + <_> + 1 + 725181 + 1.3267822326464726e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.9233598113059998e-01 + 7.6486793518066406e+01 + <_> + 2 + 597607 + 1.3267822326464726e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 127574 + -1.3267822326464726e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 157539 + -1.3267822326464726e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.4078499376773834e-01 + 1.5540316700935364e-01 + <_> + 2 + 40589 + 1.3267822326464726e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 116950 + -1.3267822326464726e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0811608353915657e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1618635654449463e-01 + 7.6270622253417969e+01 + <_> + 1 + 684355 + -1.0811608353915657e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.8952401280403137e-01 + 5.2729541778564453e+01 + <_> + 2 + 592063 + -1.0811608353915657e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 92292 + 1.0811608353915657e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 198365 + 1.0811608353915657e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.3747870922088623e-01 + 5.2044520378112793e+00 + <_> + 2 + 167105 + 1.0811608353915657e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31260 + -1.0811608353915657e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.3715338460647430e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1717972755432129e-01 + 4.8905628204345703e+01 + <_> + 1 + 600969 + 1.3715338460647430e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.1890875101089478e-01 + 9.6019530296325684e-01 + <_> + 2 + 70559 + -1.3715338460647430e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 530410 + 1.3715338460647430e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 281751 + -1.3715338460647430e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.1532593667507172e-01 + 9.7361612319946289e-01 + <_> + 2 + 212081 + -1.3715338460647430e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 69670 + 1.3715338460647430e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.3254547985093981e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2258175611495972e-01 + 3.5027778148651123e+00 + <_> + 1 + 632167 + -1.3254547985093981e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.4998008608818054e-01 + 1.4569084167480469e+01 + <_> + 2 + 619962 + -1.3254547985093981e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12205 + 1.3254547985093981e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 250553 + 1.3254547985093981e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.8310786783695221e-01 + 1.1858220398426056e-01 + <_> + 2 + 14570 + -1.3254547985093981e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 235983 + 1.3254547985093981e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 8.4454813764816852e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1257169246673584e-01 + 1.4574616699218750e+03 + <_> + 1 + 619868 + 8.4454813764816852e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.3629661798477173e-01 + 9.6474754333496094e+01 + <_> + 2 + 582652 + 8.4454813764816852e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 37216 + -8.4454813764816852e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 262852 + -8.4454813764816852e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 1.8480452895164490e-01 + 1.0024337768554688e+00 + <_> + 2 + 9444 + 8.4454813764816852e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 253408 + -8.4454813764816852e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0493421493039290e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1370531320571899e-01 + 7.9077102661132812e+01 + <_> + 1 + 585326 + -1.0493421493039290e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.0146947503089905e-01 + 5.0000000000000000e-01 + <_> + 2 + 108706 + 1.0493421493039290e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 476620 + -1.0493421493039290e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 297394 + 1.0493421493039290e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.2474002838134766e-01 + 5.0000000000000000e-01 + <_> + 2 + 29156 + -1.0493421493039290e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 268238 + 1.0493421493039290e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.1406296476672259e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1054799556732178e-01 + 3.7489395141601562e+00 + <_> + 1 + 691547 + -1.1406296476672259e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.6840578913688660e-01 + 6.9189804077148438e+01 + <_> + 2 + 653491 + -1.1406296476672259e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 38056 + 1.1406296476672259e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 191173 + 1.1406296476672259e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.6007909178733826e-01 + 7.0338334960937500e+03 + <_> + 2 + 147485 + 1.1406296476672259e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43688 + -1.1406296476672259e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.1464179753103011e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 5.1817089319229126e-01 + 9.0308670043945312e+01 + <_> + 1 + 634530 + 1.1464179753103011e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.6807507276535034e-01 + 1.6281558990478516e+01 + <_> + 2 + 574806 + 1.1464179753103011e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59724 + -1.1464179753103011e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 248190 + -1.1464179753103011e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 1.6055402159690857e-01 + 1.8537008666992188e+02 + <_> + 2 + 34270 + 1.1464179753103011e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 213920 + -1.1464179753103011e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0583016574305738e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1528364419937134e-01 + 5.8760490417480469e+01 + <_> + 1 + 452036 + -1.0583016574305738e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.9451945424079895e-01 + 1.6950000000000000e+02 + <_> + 2 + 403075 + -1.0583016574305738e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 48961 + 1.0583016574305738e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 430684 + 1.0583016574305738e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.3191341757774353e-01 + 3.6025100708007812e+01 + <_> + 2 + 125667 + -1.0583016574305738e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 305017 + 1.0583016574305738e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0786114121936161e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1500076055526733e-01 + 5.5453094482421875e+01 + <_> + 1 + 394915 + 1.0786114121936161e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.6535040140151978e-01 + 3.7104926109313965e+00 + <_> + 2 + 291008 + 1.0786114121936161e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 103907 + -1.0786114121936161e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 487805 + -1.0786114121936161e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.6158878207206726e-01 + 4.8507652282714844e+01 + <_> + 2 + 27530 + 1.0786114121936161e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 460275 + -1.0786114121936161e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 8.3061166609416481e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.1316148042678833e-01 + 1.1750000000000000e+02 + <_> + 1 + 863242 + 8.3061166609416481e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.8929327726364136e-01 + 4.8402999877929688e+01 + <_> + 2 + 854756 + 8.3061166609416481e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8486 + -8.3061166609416481e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 19478 + -8.3061166609416481e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 3.1460084021091461e-02 + 3.8995925903320312e+01 + <_> + 2 + 16526 + -8.3061166609416481e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2952 + 8.3061166609416481e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.8300218715455306e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1393413543701172e-01 + 3.5577264404296875e+02 + <_> + 1 + 52695 + 8.8300218715455306e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 4.0122959762811661e-02 + 1.1057499885559082e+01 + <_> + 2 + 43547 + -8.8300218715455306e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9148 + 8.8300218715455306e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 830025 + -8.8300218715455306e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 4.8193776607513428e-01 + 3.6836692810058594e+01 + <_> + 2 + 24520 + 8.8300218715455306e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 805505 + -8.8300218715455306e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 8.2057540433533471e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1392060518264771e-01 + 7.2993118286132812e+01 + <_> + 1 + 69349 + -8.2057540433533471e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.1042398884892464e-02 + 6.8500000000000000e+01 + <_> + 2 + 6848 + 8.2057540433533471e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 62501 + -8.2057540433533471e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 813371 + 8.2057540433533471e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.8946046829223633e-01 + 7.1500000000000000e+01 + <_> + 2 + 2047 + -8.2057540433533471e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 811324 + 8.2057540433533471e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -8.0671486902307146e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1318776607513428e-01 + 3.5577264404296875e+02 + <_> + 1 + 52695 + 8.0671486902307146e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 3.8424737751483917e-02 + 1.1057499885559082e+01 + <_> + 2 + 43547 + -8.0671486902307146e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9148 + 8.0671486902307146e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 830025 + -8.0671486902307146e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.8173221945762634e-01 + 1.3090585708618164e+01 + <_> + 2 + 658289 + -8.0671486902307146e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 171736 + 8.0671486902307146e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0655615320169901e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1230406761169434e-01 + 1.2525152206420898e+01 + <_> + 1 + 681291 + 1.0655615320169901e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 3.4392166137695312e-01 + 3.2598178863525391e+01 + <_> + 2 + 670749 + 1.0655615320169901e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 10542 + -1.0655615320169901e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 201429 + -1.0655615320169901e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.8269221484661102e-01 + 4.8998966217041016e+01 + <_> + 2 + 105268 + 1.0655615320169901e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 96161 + -1.0655615320169901e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2948516575761299e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1818317174911499e-01 + 5.9467582702636719e+01 + <_> + 1 + 726898 + -1.2948516575761299e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.8248854875564575e-01 + 1.3105225563049316e-01 + <_> + 2 + 68516 + 1.2948516575761299e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 658382 + -1.2948516575761299e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 155822 + 1.2948516575761299e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.4983759820461273e-01 + 2.0996171236038208e-01 + <_> + 2 + 122180 + 1.2948516575761299e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 33642 + -1.2948516575761299e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 1.0700409275441951e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1549249887466431e-01 + 3.5372036132812500e+03 + <_> + 1 + 601219 + 1.0700409275441951e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 3.5022792220115662e-01 + 7.5344039916992188e+01 + <_> + 2 + 541756 + 1.0700409275441951e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59463 + -1.0700409275441951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 281501 + -1.0700409275441951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.7649760842323303e-01 + 4.9647010862827301e-02 + <_> + 2 + 228343 + -1.0700409275441951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 53158 + 1.0700409275441951e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.0474920535281734e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1142102479934692e-01 + 4.6025096893310547e+01 + <_> + 1 + 573955 + -1.0474920535281734e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.9203769564628601e-01 + 1.0725485839843750e+03 + <_> + 2 + 172723 + 1.0474920535281734e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 401232 + -1.0474920535281734e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 308765 + 1.0474920535281734e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.3412567377090454e-01 + 9.8169006347656250e+02 + <_> + 2 + 11367 + -1.0474920535281734e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 297398 + 1.0474920535281734e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -1.2487974796495811e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1834857463836670e-01 + 1.0657727050781250e+03 + <_> + 1 + 413180 + 1.2487974796495811e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.4111241102218628e-01 + 2.3733158409595490e-01 + <_> + 2 + 132397 + 1.2487974796495811e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 280783 + -1.2487974796495811e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 469540 + -1.2487974796495811e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.9006701707839966e-01 + 2.7945224761962891e+01 + <_> + 2 + 458156 + -1.2487974796495811e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 11384 + 1.2487974796495811e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + 7.6957062285353720e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1330202817916870e-01 + 3.7387070059776306e-01 + <_> + 1 + 772364 + 7.6957062285353720e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.0283682346343994e-01 + 1.6083779335021973e+00 + <_> + 2 + 72592 + -7.6957062285353720e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 699772 + 7.6957062285353720e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 110356 + -7.6957062285353720e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 1.6392931342124939e-02 + 5.2843241691589355e+00 + <_> + 2 + 72743 + -7.6957062285353720e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 37613 + 7.6957062285353720e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 882720 + -7.5763809755519787e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1155614852905273e-01 + 3.5136163330078125e+02 + <_> + 1 + 50792 + 7.5763809755519787e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.6862608045339584e-02 + 3.7840070724487305e+00 + <_> + 2 + 41774 + -7.5763809755519787e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9018 + 7.5763809755519787e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 831928 + -7.5763809755519787e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.8206928372383118e-01 + 2.5892502069473267e-01 + <_> + 2 + 490194 + -7.5763809755519787e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 341734 + 7.5763809755519787e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_SVM.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_SVM.xml new file mode 100644 index 0000000..0cf657b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_SVM.xml @@ -0,0 +1,26 @@ + + + + ONE_CLASS + LINEAR + 5.9999999999999998e-01 + 2.2204460492503131e-16 + 100 + 23 + 23 + 1 + 1 + + <_> + 2.83671656e+05 7.78090750e+06 2.06722500e+04 4.50947109e+04 + 5.79335150e+06 5300250. 19302716. 5.71475812e+05 1567863. + 1.29049977e+05 7.88329650e+06 6738720. 509354208. 4.15090725e+06 + 115733672. 4.59749316e+03 6.03456750e+06 4511485. 28201040. + 7.34039550e+06 4.96453250e+06 4.85331211e+04 3.32311797e+04 + + <_> + 1 + 4.7882008646924377e+11 + + 1. + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_boost.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_boost.xml new file mode 100644 index 0000000..537f8a7 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/semantic_room_boost.xml @@ -0,0 +1,32240 @@ + + + + DiscreteAdaboost + 3 + 350 + 1. + 1 + 23 + 23 + 23 + 0 + + 0 + 10 + 2 + 10 + 0 + + 1 + 2 +
d
+ + 1. 1.
+ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + 1 + 1 +
i
+ + 2
+ + 1 + 2 +
i
+ + -1 1
+ + <_> + -1 + + <_> + 0 + 939949 + 2.0226456578642606e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 8.5827314853668213e-01 + 3.9443078041076660e+00 + <_> + 1 + 794668 + 2.0226456578642606e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 7.5376427173614502e-01 + 3.6514926147460938e+02 + <_> + 2 + 763423 + 2.0226456578642606e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31245 + -2.0226456578642606e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 145281 + -2.0226456578642606e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.2939000129699707e-01 + 3.5909347534179688e+01 + <_> + 2 + 24368 + 2.0226456578642606e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 120913 + -2.0226456578642606e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4251557105945021e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 7.0150953531265259e-01 + 4.1433166503906250e+01 + <_> + 1 + 532558 + 1.4251557105945021e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.5428416728973389e-01 + 2.9447725296020508e+01 + <_> + 2 + 30378 + -1.4251557105945021e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 502180 + 1.4251557105945021e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 407391 + -1.4251557105945021e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.5186123251914978e-01 + 5.4849568754434586e-02 + <_> + 2 + 283768 + -1.4251557105945021e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 123623 + 1.4251557105945021e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.3144894913893577e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 6.1336368322372437e-01 + 6.0232398986816406e+01 + <_> + 1 + 756347 + 7.3144894913893577e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.7422397136688232e-01 + 3.5520416259765625e+01 + <_> + 2 + 73329 + -7.3144894913893577e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 683018 + 7.3144894913893577e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 183602 + -7.3144894913893577e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.0089919865131378e-01 + 1.4493373036384583e-01 + <_> + 2 + 22549 + 7.3144894913893577e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 161053 + -7.3144894913893577e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.1345010705023710e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 6.2904185056686401e-01 + 1.7058036804199219e+01 + <_> + 1 + 748219 + -9.1345010705023710e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.3601086139678955e-01 + 4.9688607454299927e-02 + <_> + 2 + 471299 + -9.1345010705023710e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 276920 + 9.1345010705023710e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 191730 + 9.1345010705023710e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 1.7769478261470795e-01 + 9.6141662597656250e+01 + <_> + 2 + 179433 + 9.1345010705023710e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12297 + -9.1345010705023710e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 6.6897989435159666e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 6.0922271013259888e-01 + 2.3336733877658844e-01 + <_> + 1 + 723866 + 6.6897989435159666e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.8616808652877808e-01 + 8.0151657104492188e+01 + <_> + 2 + 706971 + 6.6897989435159666e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 16895 + -6.6897989435159666e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 216083 + -6.6897989435159666e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.7510661482810974e-01 + 3.4879661560058594e+01 + <_> + 2 + 124023 + 6.6897989435159666e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 92060 + -6.6897989435159666e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.1466370849675187e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 6.0272848606109619e-01 + 2.2764015942811966e-02 + <_> + 1 + 227734 + 7.1466370849675187e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 1.3911896944046021e-01 + 6.2335443496704102e+00 + <_> + 2 + 975 + -7.1466370849675187e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 226759 + 7.1466370849675187e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 712215 + -7.1466370849675187e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.3231185674667358e-01 + 9.7940850257873535e-01 + <_> + 2 + 479991 + -7.1466370849675187e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 232224 + 7.1466370849675187e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 3.2188265261940818e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.6916862726211548e-01 + 8.5121059417724609e+00 + <_> + 1 + 892143 + 3.2188265261940818e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.4261237382888794e-01 + 1.4850000000000000e+02 + <_> + 2 + 875578 + 3.2188265261940818e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 16565 + -3.2188265261940818e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 47806 + -3.2188265261940818e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.7170626223087311e-02 + 1.3600394129753113e-01 + <_> + 2 + 7914 + 3.2188265261940818e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 39892 + -3.2188265261940818e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -5.2607187711191294e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.8416277170181274e-01 + 3.6514898681640625e+02 + <_> + 1 + 852826 + -5.2607187711191294e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1332676410675049e-01 + 3.2797714233398438e+01 + <_> + 2 + 362160 + 5.2607187711191294e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 490666 + -5.2607187711191294e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 87123 + 5.2607187711191294e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 1.1523968726396561e-01 + 2.4305555820465088e+00 + <_> + 2 + 5475 + -5.2607187711191294e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 81648 + 5.2607187711191294e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 4.9275705130157632e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.9013003110885620e-01 + 1.0480075836181641e+01 + <_> + 1 + 364232 + -4.9275705130157632e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.4214275181293488e-01 + 1.2566794433593750e+03 + <_> + 2 + 148544 + 4.9275705130157632e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 215688 + -4.9275705130157632e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 575717 + 4.9275705130157632e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.7861296534538269e-01 + 7.6526794433593750e+02 + <_> + 2 + 30911 + -4.9275705130157632e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 544806 + 4.9275705130157632e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -5.5180950907530646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.7895511388778687e-01 + 4.6034218750000000e+03 + <_> + 1 + 766677 + -5.5180950907530646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.4710671901702881e-01 + 6.5082028508186340e-02 + <_> + 2 + 607342 + -5.5180950907530646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 159335 + 5.5180950907530646e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 173272 + 5.5180950907530646e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.8744860589504242e-01 + 2.3180081844329834e+00 + <_> + 2 + 45689 + -5.5180950907530646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 127583 + 5.5180950907530646e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 3.2315952813058696e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.6513071060180664e-01 + 8.3768737792968750e+01 + <_> + 1 + 928622 + 3.2315952813058696e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.6154537200927734e-01 + 2.2150000000000000e+02 + <_> + 2 + 784747 + 3.2315952813058696e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 143875 + -3.2315952813058696e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 11327 + -3.2315952813058696e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 1.8548663705587387e-02 + 1.3647222518920898e+01 + <_> + 2 + 10964 + -3.2315952813058696e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 363 + 3.2315952813058696e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -4.6178414175178550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.5798757076263428e-01 + 3.9368353784084320e-02 + <_> + 1 + 495592 + -4.6178414175178550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.0544465184211731e-01 + 2.0206743240356445e+01 + <_> + 2 + 346458 + -4.6178414175178550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 149134 + 4.6178414175178550e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 444357 + 4.6178414175178550e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.0799270272254944e-01 + 5.6933601379394531e+01 + <_> + 2 + 86886 + -4.6178414175178550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 357471 + 4.6178414175178550e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 4.7894053863509611e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.7199865579605103e-01 + 5.0703388214111328e+01 + <_> + 1 + 652142 + 4.7894053863509611e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.6117437481880188e-01 + 3.2997757196426392e-01 + <_> + 2 + 643555 + 4.7894053863509611e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8587 + -4.7894053863509611e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 287807 + -4.7894053863509611e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.5632330775260925e-01 + 3.9445405006408691e+00 + <_> + 2 + 194010 + -4.7894053863509611e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 93797 + 4.7894053863509611e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -3.8366454704631753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.6729328632354736e-01 + 7.3379653930664062e+01 + <_> + 1 + 794147 + -3.8366454704631753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.7110486030578613e-01 + 2.2246288299560547e+01 + <_> + 2 + 678744 + -3.8366454704631753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 115403 + 3.8366454704631753e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 145802 + 3.8366454704631753e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.2365179508924484e-01 + 8.4130043029785156e+01 + <_> + 2 + 135373 + 3.8366454704631753e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 10429 + -3.8366454704631753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 3.4246713448914645e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.5762475728988647e-01 + 6.7228729248046875e+01 + <_> + 1 + 825059 + 3.4246713448914645e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.7398668527603149e-01 + 2.3507771492004395e+00 + <_> + 2 + 7116 + -3.4246713448914645e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 817943 + 3.4246713448914645e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 114890 + -3.4246713448914645e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.1080300807952881e-01 + 6.7799672851562500e+03 + <_> + 2 + 105727 + -3.4246713448914645e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9163 + 3.4246713448914645e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -3.7130784746187950e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.5459982156753540e-01 + 7.5639572143554688e+01 + <_> + 1 + 816853 + -3.7130784746187950e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.9659723043441772e-01 + 1.0443525695800781e+02 + <_> + 2 + 155095 + 3.7130784746187950e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 661758 + -3.7130784746187950e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 123096 + 3.7130784746187950e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 9.5177732408046722e-02 + 1.0122606754302979e+00 + <_> + 2 + 12893 + -3.7130784746187950e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 110203 + 3.7130784746187950e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.9916910272209457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.5125379562377930e-01 + 6.4852972412109375e+02 + <_> + 1 + 108056 + -2.9916910272209457e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 9.5989674329757690e-02 + 3.3307434082031250e+02 + <_> + 2 + 11464 + 2.9916910272209457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 96592 + -2.9916910272209457e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 831893 + 2.9916910272209457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.7824969887733459e-01 + 7.0398056030273438e+01 + <_> + 2 + 748928 + 2.9916910272209457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 82965 + -2.9916910272209457e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -3.4348224147131201e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.4840040206909180e-01 + 3.6522686767578125e+02 + <_> + 1 + 852886 + -3.4348224147131201e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 4.9598258733749390e-01 + 3.9441034793853760e+00 + <_> + 2 + 763452 + -3.4348224147131201e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 89434 + 3.4348224147131201e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 87063 + 3.4348224147131201e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 8.9053578674793243e-02 + 8.3949218750000000e+01 + <_> + 2 + 33343 + -3.4348224147131201e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 53720 + 3.4348224147131201e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.8541880095404548e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.5140954256057739e-01 + 5.1020393371582031e+00 + <_> + 1 + 844055 + 2.8541880095404548e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.7138437628746033e-01 + 1.0122606754302979e+00 + <_> + 2 + 106688 + -2.8541880095404548e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 737367 + 2.8541880095404548e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 95894 + -2.8541880095404548e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 9.9489822983741760e-02 + 3.5927295684814453e+01 + <_> + 2 + 11146 + -2.8541880095404548e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 84748 + 2.8541880095404548e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.8084537709206142e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.4304260015487671e-01 + 1.0930314636230469e+02 + <_> + 1 + 856315 + -2.8084537709206142e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3605252504348755e-01 + 2.7683769226074219e+01 + <_> + 2 + 246638 + 2.8084537709206142e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 609677 + -2.8084537709206142e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 83634 + 2.8084537709206142e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 3.3700939267873764e-02 + 9.5415611267089844e+01 + <_> + 2 + 730 + -2.8084537709206142e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 82904 + 2.8084537709206142e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 3.1152356942667836e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.5724275112152100e-01 + 4.1268825531005859e+01 + <_> + 1 + 110956 + -3.1152356942667836e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 1.3897058367729187e-01 + 1.0122606754302979e+00 + <_> + 2 + 26558 + 3.1152356942667836e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 84398 + -3.1152356942667836e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 828993 + 3.1152356942667836e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 4.3828651309013367e-01 + 1.8369375228881836e+01 + <_> + 2 + 37030 + -3.1152356942667836e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 791963 + 3.1152356942667836e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.5573182698729352e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.4431748390197754e-01 + 9.1470205783843994e-01 + <_> + 1 + 67119 + 2.5573182698729352e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.4935822933912277e-02 + 1.1680285644531250e+02 + <_> + 2 + 66951 + 2.5573182698729352e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 168 + -2.5573182698729352e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 872830 + -2.5573182698729352e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.3865098953247070e-01 + 1.1615284729003906e+02 + <_> + 2 + 797862 + -2.5573182698729352e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 74968 + 2.5573182698729352e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 3.0793041085087958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.5126595497131348e-01 + 5.6819297790527344e+01 + <_> + 1 + 718531 + 3.0793041085087958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.0906214714050293e-01 + 1.8980936050415039e+01 + <_> + 2 + 691749 + 3.0793041085087958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 26782 + -3.0793041085087958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 221418 + -3.0793041085087958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.6731788218021393e-01 + 1.4008244872093201e-01 + <_> + 2 + 32632 + 3.0793041085087958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 188786 + -3.0793041085087958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -3.4947794838469348e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.5449664592742920e-01 + 3.3788502216339111e-02 + <_> + 1 + 414113 + -3.4947794838469348e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.2785657048225403e-01 + 9.5386415719985962e-01 + <_> + 2 + 202553 + 3.4947794838469348e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 211560 + -3.4947794838469348e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 525836 + 3.4947794838469348e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.5863438844680786e-01 + 4.9185619354248047e+00 + <_> + 2 + 470182 + 3.4947794838469348e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 55654 + -3.4947794838469348e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -3.4190774290229742e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.5470842123031616e-01 + 2.8553571777343750e+03 + <_> + 1 + 617064 + -3.4190774290229742e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.2767680287361145e-01 + 1.0375065612792969e+02 + <_> + 2 + 134043 + 3.4190774290229742e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 483021 + -3.4190774290229742e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 322885 + 3.4190774290229742e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.5697705149650574e-01 + 2.0250000000000000e+02 + <_> + 2 + 250118 + 3.4190774290229742e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 72767 + -3.4190774290229742e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -3.1139308996722537e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.3828305006027222e-01 + 6.1068405151367188e+01 + <_> + 1 + 478604 + -3.1139308996722537e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.5351324081420898e-01 + 1.3953120231628418e+01 + <_> + 2 + 331104 + -3.1139308996722537e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 147500 + 3.1139308996722537e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 461345 + 3.1139308996722537e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.2371201217174530e-01 + 9.6479928493499756e-01 + <_> + 2 + 144612 + -3.1139308996722537e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 316733 + 3.1139308996722537e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 3.3246089252838135e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.4506015777587891e-01 + 4.7473869323730469e+01 + <_> + 1 + 615556 + 3.3246089252838135e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.4663394093513489e-01 + 1.9650000000000000e+02 + <_> + 2 + 502296 + 3.3246089252838135e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 113260 + -3.3246089252838135e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 324393 + -3.3246089252838135e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 2.3572407662868500e-01 + 7.1488784790039062e+01 + <_> + 2 + 160167 + -3.3246089252838135e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 164226 + 3.3246089252838135e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.0086876060077061e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.3347140550613403e-01 + 3.6453039550781250e+02 + <_> + 1 + 852357 + -2.0086876060077061e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.6865060925483704e-01 + 9.5974552631378174e-01 + <_> + 2 + 222683 + 2.0086876060077061e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 629674 + -2.0086876060077061e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 87592 + 2.0086876060077061e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 8.1398412585258484e-02 + 2.5950000000000000e+02 + <_> + 2 + 81163 + 2.0086876060077061e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6429 + -2.0086876060077061e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.9953262198223746e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.4157960414886475e-01 + 6.5227142333984375e+01 + <_> + 1 + 806044 + 2.9953262198223746e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.6954536437988281e-01 + 2.2762157022953033e-02 + <_> + 2 + 224771 + -2.9953262198223746e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 581273 + 2.9953262198223746e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 133905 + -2.9953262198223746e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 1.0478290915489197e-01 + 9.7655277252197266e+00 + <_> + 2 + 93787 + -2.9953262198223746e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 40118 + 2.9953262198223746e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.4759011298447267e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.2982527017593384e-01 + 4.6672798156738281e+01 + <_> + 1 + 439798 + 2.4759011298447267e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.1273081004619598e-01 + 1.5047150850296021e-01 + <_> + 2 + 101101 + -2.4759011298447267e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 338697 + 2.4759011298447267e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 500151 + -2.4759011298447267e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.4885242581367493e-01 + 9.1137039661407471e-01 + <_> + 2 + 32850 + 2.4759011298447267e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 467301 + -2.4759011298447267e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.9671761826596560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.5251622200012207e-01 + 4.1433364868164062e+01 + <_> + 1 + 532563 + -2.9671761826596560e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.5726059079170227e-01 + 1.9505516052246094e+01 + <_> + 2 + 64605 + 2.9671761826596560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 467958 + -2.9671761826596560e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 407386 + 2.9671761826596560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.1637933850288391e-01 + 6.5512292480468750e+02 + <_> + 2 + 5633 + -2.9671761826596560e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 401753 + 2.9671761826596560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 3.9510793074347778e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3196793794631958e-01 + 3.8175857543945312e+01 + <_> + 1 + 480695 + 3.9510793074347778e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 2.1420837938785553e-01 + 6.0202746582031250e+02 + <_> + 2 + 89107 + -3.9510793074347778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 391588 + 3.9510793074347778e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 459254 + -3.9510793074347778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.8330334424972534e-01 + 3.9462192058563232e+00 + <_> + 2 + 343589 + -3.9510793074347778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 115665 + 3.9510793074347778e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.8982653401679226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.4727774858474731e-01 + 3.2548737525939941e+00 + <_> + 1 + 735526 + 2.8982653401679226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.5362020134925842e-01 + 6.4791790771484375e+02 + <_> + 2 + 31272 + -2.8982653401679226e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 704254 + 2.8982653401679226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 204423 + -2.8982653401679226e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.1833348274230957e-01 + 1.1850000000000000e+02 + <_> + 2 + 23558 + 2.8982653401679226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 180865 + -2.8982653401679226e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.4330133871242746e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.3345614671707153e-01 + 1.6454334259033203e+01 + <_> + 1 + 485942 + -2.4330133871242746e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.1326773762702942e-01 + 2.9456104278564453e+01 + <_> + 2 + 43132 + 2.4330133871242746e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 442810 + -2.4330133871242746e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 454007 + 2.4330133871242746e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.4725930392742157e-01 + 7.2192153930664062e+01 + <_> + 2 + 387984 + 2.4330133871242746e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 66023 + -2.4330133871242746e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.5618613697765935e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2949368953704834e-01 + 2.5537453613281250e+03 + <_> + 1 + 574641 + -2.5618613697765935e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.8042337298393250e-01 + 1.1056037902832031e+01 + <_> + 2 + 273173 + 2.5618613697765935e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 301468 + -2.5618613697765935e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 365308 + 2.5618613697765935e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.8327515721321106e-01 + 7.6469225883483887e+00 + <_> + 2 + 321097 + 2.5618613697765935e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 44211 + -2.5618613697765935e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.5676963887145088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.4714041948318481e-01 + 7.9059158325195312e+01 + <_> + 1 + 843043 + -2.5676963887145088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.0245326757431030e-01 + 9.1810214519500732e-01 + <_> + 2 + 71570 + 2.5676963887145088e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 771473 + -2.5676963887145088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 96906 + 2.5676963887145088e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 6.1388768255710602e-02 + 7.8031951904296875e+01 + <_> + 2 + 66989 + 2.5676963887145088e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 29917 + -2.5676963887145088e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.1600088535735781e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.4289114475250244e-01 + 3.6072143554687500e+02 + <_> + 1 + 16348 + -2.1600088535735781e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 4.0688611567020416e-02 + 3.7838444709777832e+00 + <_> + 2 + 13358 + 2.1600088535735781e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2990 + -2.1600088535735781e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923601 + 2.1600088535735781e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1310265064239502e-01 + 5.5818759918212891e+01 + <_> + 2 + 691437 + 2.1600088535735781e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 232164 + -2.1600088535735781e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.5964254171437146e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.4372173547744751e-01 + 2.2417547607421875e+02 + <_> + 1 + 610116 + -2.5964254171437146e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.1904256343841553e-01 + 9.6664911508560181e-01 + <_> + 2 + 206359 + 2.5964254171437146e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 403757 + -2.5964254171437146e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 329833 + 2.5964254171437146e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.4550586938858032e-01 + 3.6004463195800781e+01 + <_> + 2 + 8482 + -2.5964254171437146e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 321351 + 2.5964254171437146e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.4695705612579522e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.3235769271850586e-01 + 3.4919373691082001e-02 + <_> + 1 + 430223 + -2.4695705612579522e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.2390600442886353e-01 + 4.5000000000000000e+00 + <_> + 2 + 296292 + -2.4695705612579522e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 133931 + 2.4695705612579522e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 509726 + 2.4695705612579522e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.3752139508724213e-01 + 2.0504289865493774e-01 + <_> + 2 + 112178 + -2.4695705612579522e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 397548 + 2.4695705612579522e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.9196653330769035e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.4162555932998657e-01 + 1.7450000000000000e+02 + <_> + 1 + 481764 + 2.9196653330769035e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.6287128925323486e-01 + 5.3934939205646515e-02 + <_> + 2 + 425260 + 2.9196653330769035e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 56504 + -2.9196653330769035e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 458185 + -2.9196653330769035e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.0960621535778046e-01 + 6.6537246108055115e-02 + <_> + 2 + 325798 + -2.9196653330769035e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 132387 + 2.9196653330769035e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.2953812396051076e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.4063379764556885e-01 + 6.0077247619628906e+01 + <_> + 1 + 464839 + -2.2953812396051076e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.3281683921813965e-01 + 1.5374826431274414e+01 + <_> + 2 + 334877 + -2.2953812396051076e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 129962 + 2.2953812396051076e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 475110 + 2.2953812396051076e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.2431707382202148e-01 + 5.3167217254638672e+01 + <_> + 2 + 26575 + -2.2953812396051076e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 448535 + 2.2953812396051076e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.4363841170508058e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.3623861074447632e-01 + 2.9583332538604736e+00 + <_> + 1 + 441193 + 2.4363841170508058e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.8272402286529541e-01 + 1.7500000000000000e+01 + <_> + 2 + 381614 + 2.4363841170508058e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59579 + -2.4363841170508058e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 498756 + -2.4363841170508058e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.7788606286048889e-01 + 9.0812724828720093e-01 + <_> + 2 + 55786 + 2.4363841170508058e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 442970 + -2.4363841170508058e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.5497291522360283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.3967899084091187e-01 + 1.7085388183593750e+03 + <_> + 1 + 423647 + -2.5497291522360283e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.7904870212078094e-01 + 6.8777061998844147e-02 + <_> + 2 + 299309 + -2.5497291522360283e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 124338 + 2.5497291522360283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 516302 + 2.5497291522360283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.8435143232345581e-01 + 1.2912152099609375e+02 + <_> + 2 + 86740 + -2.5497291522360283e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 429562 + 2.5497291522360283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.1670166953156289e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.2932906150817871e-01 + 1.9639355468750000e+02 + <_> + 1 + 545226 + 2.1670166953156289e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.6945090293884277e-01 + 8.5003405761718750e+02 + <_> + 2 + 92561 + -2.1670166953156289e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 452665 + 2.1670166953156289e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 394723 + -2.1670166953156289e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.8451350331306458e-01 + 4.6782046556472778e-02 + <_> + 2 + 245317 + -2.1670166953156289e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 149406 + 2.1670166953156289e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.9867698478456372e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2459204196929932e-01 + 4.6659034729003906e+01 + <_> + 1 + 215529 + -1.9867698478456372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 1.9870659708976746e-01 + 9.9500000000000000e+01 + <_> + 2 + 26084 + 1.9867698478456372e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 189445 + -1.9867698478456372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 724420 + 1.9867698478456372e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.5079991817474365e-01 + 2.3951523437500000e+03 + <_> + 2 + 439875 + -1.9867698478456372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 284545 + 1.9867698478456372e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.7481371638895929e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.3700256347656250e-01 + 2.3375824093818665e-01 + <_> + 1 + 430255 + -2.7481371638895929e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.5576564073562622e-01 + 9.5551097393035889e-01 + <_> + 2 + 137163 + 2.7481371638895929e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 293092 + -2.7481371638895929e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 509694 + 2.7481371638895929e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.1250864863395691e-01 + 2.8410644531250000e+01 + <_> + 2 + 7338 + -2.7481371638895929e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 502356 + 2.7481371638895929e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.5990437379519565e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.4344940185546875e-01 + 1.9050000000000000e+02 + <_> + 1 + 603590 + 2.5990437379519565e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.2830768227577209e-01 + 6.8611109256744385e-01 + <_> + 2 + 15701 + -2.5990437379519565e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 587889 + 2.5990437379519565e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 336359 + -2.5990437379519565e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.3630510866641998e-01 + 6.5881326794624329e-02 + <_> + 2 + 216221 + -2.5990437379519565e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 120138 + 2.5990437379519565e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.8847031236620435e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2467125654220581e-01 + 2.2579105377197266e+01 + <_> + 1 + 124713 + 1.8847031236620435e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 7.7892690896987915e-02 + 2.6636819839477539e+00 + <_> + 2 + 9771 + -1.8847031236620435e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 114942 + 1.8847031236620435e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 815236 + -1.8847031236620435e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 4.6908590197563171e-01 + 6.0606872558593750e+01 + <_> + 2 + 486342 + -1.8847031236620435e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 328894 + 1.8847031236620435e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.0111406417186814e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3266733884811401e-01 + 5.8463272094726562e+01 + <_> + 1 + 737406 + 2.0111406417186814e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.0138897299766541e-01 + 1.3870344238281250e+03 + <_> + 2 + 287251 + -2.0111406417186814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 450155 + 2.0111406417186814e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 202543 + -2.0111406417186814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 1.4872075617313385e-01 + 2.7583332061767578e+00 + <_> + 2 + 4139 + 2.0111406417186814e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 198404 + -2.0111406417186814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.2015334495825503e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2287429571151733e-01 + 2.3300969600677490e-01 + <_> + 1 + 722230 + -2.2015334495825503e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.0365332365036011e-01 + 6.7302330017089844e+01 + <_> + 2 + 425238 + -2.2015334495825503e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 296992 + 2.2015334495825503e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 217719 + 2.2015334495825503e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.5116378664970398e-01 + 1.3221721649169922e+01 + <_> + 2 + 166666 + 2.2015334495825503e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 51053 + -2.2015334495825503e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.1334032322058097e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2919000387191772e-01 + 3.2303017578125000e+03 + <_> + 1 + 657889 + -2.1334032322058097e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.2652023434638977e-01 + 1.2837186813354492e+01 + <_> + 2 + 424008 + 2.1334032322058097e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 233881 + -2.1334032322058097e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 282060 + 2.1334032322058097e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.2661346197128296e-01 + 2.2450000000000000e+02 + <_> + 2 + 255130 + 2.1334032322058097e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 26930 + -2.1334032322058097e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.5941580031289818e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.3171366453170776e-01 + 9.6487987041473389e-01 + <_> + 1 + 320289 + 2.5941580031289818e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.5992198884487152e-01 + 8.3526809692382812e+01 + <_> + 2 + 190522 + 2.5941580031289818e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 129767 + -2.5941580031289818e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 619660 + -2.5941580031289818e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 4.0457069873809814e-01 + 8.9043960571289062e+00 + <_> + 2 + 472566 + -2.5941580031289818e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 147094 + 2.5941580031289818e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.1092436669383541e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.3618997335433960e-01 + 5.4829515516757965e-02 + <_> + 1 + 711654 + 2.1092436669383541e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.9277240037918091e-01 + 2.1750000000000000e+02 + <_> + 2 + 637159 + 2.1092436669383541e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 74495 + -2.1092436669383541e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 228295 + -2.1092436669383541e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 5.9764046221971512e-02 + 1.0166900634765625e+01 + <_> + 2 + 149832 + -2.1092436669383541e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 78463 + 2.1092436669383541e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.8112584311580154e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.2681690454483032e-01 + 3.6526010131835938e+02 + <_> + 1 + 852907 + -1.8112584311580154e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.6716079115867615e-01 + 2.8757917881011963e-01 + <_> + 2 + 532627 + -1.8112584311580154e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 320280 + 1.8112584311580154e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 87042 + 1.8112584311580154e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 7.7997267246246338e-02 + 3.9442620277404785e+00 + <_> + 2 + 31198 + 1.8112584311580154e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 55844 + -1.8112584311580154e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.9304498250030885e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.3133988380432129e-01 + 5.5652875900268555e+00 + <_> + 1 + 664441 + 1.9304498250030885e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.0501934289932251e-01 + 4.5049853324890137e+00 + <_> + 2 + 31587 + -1.9304498250030885e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 632854 + 1.9304498250030885e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 275508 + -1.9304498250030885e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.4309258759021759e-01 + 1.4984306693077087e-01 + <_> + 2 + 59141 + 1.9304498250030885e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 216367 + -1.9304498250030885e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.6541370481310153e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.2147001028060913e-01 + 5.5000000000000000e+00 + <_> + 1 + 709653 + -1.6541370481310153e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.0957421064376831e-01 + 2.2454063415527344e+01 + <_> + 2 + 101247 + 1.6541370481310153e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 608406 + -1.6541370481310153e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 230296 + 1.6541370481310153e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 1.3168516755104065e-01 + 2.5083332061767578e+00 + <_> + 2 + 65751 + -1.6541370481310153e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 164545 + 1.6541370481310153e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.6352544659856905e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2623450756072998e-01 + 6.9722223281860352e-01 + <_> + 1 + 17201 + -1.6352544659856905e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.6550253629684448e-02 + 3.7851691246032715e+00 + <_> + 2 + 10891 + 1.6352544659856905e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6310 + -1.6352544659856905e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 922748 + 1.6352544659856905e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.0424027442932129e-01 + 6.3734143066406250e+02 + <_> + 2 + 27606 + -1.6352544659856905e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 895142 + 1.6352544659856905e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.7509322078942291e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.3266936540603638e-01 + 9.2378002405166626e-01 + <_> + 1 + 85577 + 1.7509322078942291e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.4161590263247490e-02 + 1.7522876739501953e+01 + <_> + 2 + 83307 + 1.7509322078942291e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2270 + -1.7509322078942291e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 854372 + -1.7509322078942291e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1950019598007202e-01 + 9.5500000000000000e+01 + <_> + 2 + 21323 + 1.7509322078942291e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 833049 + -1.7509322078942291e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.5419982266619525e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.2714896202087402e-01 + 4.5119943618774414e+00 + <_> + 1 + 44490 + -1.5419982266619525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 7.2316348552703857e-02 + 3.0070510253906250e+03 + <_> + 2 + 30653 + -1.5419982266619525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 13837 + 1.5419982266619525e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 895459 + 1.5419982266619525e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 4.6615740656852722e-01 + 8.9500000000000000e+01 + <_> + 2 + 851929 + 1.5419982266619525e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43530 + -1.5419982266619525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.7927364907126292e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2412807941436768e-01 + 2.9443140029907227e+01 + <_> + 1 + 50293 + 1.7927364907126292e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 7.8219868242740631e-02 + 1.2250000000000000e+02 + <_> + 2 + 23436 + 1.7927364907126292e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 26857 + -1.7927364907126292e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 889656 + -1.7927364907126292e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.6647888422012329e-01 + 9.0769916772842407e-01 + <_> + 2 + 55021 + 1.7927364907126292e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 834635 + -1.7927364907126292e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.7005233492098371e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.3408318758010864e-01 + 1.1840625762939453e+01 + <_> + 1 + 35660 + -1.7005233492098371e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 6.4576245844364166e-02 + 3.3248651123046875e+02 + <_> + 2 + 11094 + 1.7005233492098371e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 24566 + -1.7005233492098371e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 904289 + 1.7005233492098371e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 4.7783467173576355e-01 + 8.0095996856689453e+00 + <_> + 2 + 854038 + 1.7005233492098371e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 50251 + -1.7005233492098371e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.5766479967775321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.2259242534637451e-01 + 3.6526010131835938e+02 + <_> + 1 + 852907 + -1.5766479967775321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.6372973918914795e-01 + 2.8347057342529297e+01 + <_> + 2 + 259588 + 1.5766479967775321e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 593319 + -1.5766479967775321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 87042 + 1.5766479967775321e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 7.5605012476444244e-02 + 4.2391284179687500e+03 + <_> + 2 + 56009 + 1.5766479967775321e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31033 + -1.5766479967775321e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.0345531067045106e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 5.3263503313064575e-01 + 7.6928968429565430e+00 + <_> + 1 + 153509 + -2.0345531067045106e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.3095039129257202e-01 + 9.7286391258239746e-01 + <_> + 2 + 96137 + 2.0345531067045106e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 57372 + -2.0345531067045106e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 786440 + 2.0345531067045106e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.1973870992660522e-01 + 6.5749998092651367e+00 + <_> + 2 + 665002 + 2.0345531067045106e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 121438 + -2.0345531067045106e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.7944784876261041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.3015738725662231e-01 + 9.4611334800720215e-01 + <_> + 1 + 172035 + 1.7944784876261041e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.6955724954605103e-02 + 2.5150000000000000e+02 + <_> + 2 + 159136 + 1.7944784876261041e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12899 + -1.7944784876261041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 767914 + -1.7944784876261041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.8778623342514038e-01 + 9.8044538497924805e-01 + <_> + 2 + 569009 + -1.7944784876261041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 198905 + 1.7944784876261041e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4321518446515757e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2754551172256470e-01 + 3.5654925537109375e+02 + <_> + 1 + 15966 + -1.4321518446515757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.8986083120107651e-02 + 3.7838444709777832e+00 + <_> + 2 + 13121 + 1.4321518446515757e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2845 + -1.4321518446515757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923983 + 1.4321518446515757e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.9675664305686951e-01 + 6.2573333740234375e+02 + <_> + 2 + 25632 + -1.4321518446515757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 898351 + 1.4321518446515757e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.4797855418420455e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.2789056301116943e-01 + 9.0533632040023804e-01 + <_> + 1 + 51102 + 1.4797855418420455e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.1116954497992992e-02 + 1.1682679748535156e+02 + <_> + 2 + 51001 + 1.4797855418420455e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 101 + -1.4797855418420455e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 888847 + -1.4797855418420455e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2581030130386353e-01 + 9.4659570312500000e+03 + <_> + 2 + 859000 + -1.4797855418420455e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 29847 + 1.4797855418420455e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.3808474979353280e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2476662397384644e-01 + 3.5654925537109375e+02 + <_> + 1 + 15966 + -1.3808474979353280e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.7089947611093521e-02 + 3.7838444709777832e+00 + <_> + 2 + 13121 + 1.3808474979353280e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2845 + -1.3808474979353280e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923983 + 1.3808474979353280e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.9737650156021118e-01 + 1.4504259824752808e-01 + <_> + 2 + 151920 + -1.3808474979353280e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 772063 + 1.3808474979353280e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.0996825118360757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2747422456741333e-01 + 3.3963266601562500e+03 + <_> + 1 + 672392 + -2.0996825118360757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.3741167187690735e-01 + 2.6613320922851562e+02 + <_> + 2 + 549459 + -2.0996825118360757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 122933 + 2.0996825118360757e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 267557 + 2.0996825118360757e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.1488840878009796e-01 + 1.0634729862213135e+00 + <_> + 2 + 64492 + -2.0996825118360757e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 203065 + 2.0996825118360757e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.2154819413187568e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.3745418787002563e-01 + 5.2733337402343750e+01 + <_> + 1 + 673737 + 2.2154819413187568e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.6880999803543091e-01 + 2.1995224952697754e+00 + <_> + 2 + 6441 + -2.2154819413187568e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 667296 + 2.2154819413187568e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 266212 + -2.2154819413187568e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.8635159730911255e-01 + 2.9811453819274902e-01 + <_> + 2 + 259380 + -2.2154819413187568e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6832 + 2.2154819413187568e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.0966977975364728e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.3306114673614502e-01 + 5.7893180847167969e+01 + <_> + 1 + 611818 + -2.0966977975364728e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.4385809302330017e-01 + 2.2045988082885742e+01 + <_> + 2 + 113768 + 2.0966977975364728e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 498050 + -2.0966977975364728e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 328131 + 2.0966977975364728e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 2.0836815237998962e-01 + 7.7264251708984375e+00 + <_> + 2 + 82712 + 2.0966977975364728e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 245419 + -2.0966977975364728e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.5014962810470026e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2724194526672363e-01 + 6.1111895751953125e+02 + <_> + 1 + 93252 + -1.5014962810470026e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 8.9419081807136536e-02 + 3.0537776947021484e+01 + <_> + 2 + 90161 + -1.5014962810470026e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3091 + 1.5014962810470026e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 846697 + 1.5014962810470026e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.4804796576499939e-01 + 1.1910075694322586e-01 + <_> + 2 + 45200 + -1.5014962810470026e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 801497 + 1.5014962810470026e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.8442427962608809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2161502838134766e-01 + 6.6441131591796875e+01 + <_> + 1 + 410908 + 1.8442427962608809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.5781446695327759e-01 + 9.7253596782684326e-01 + <_> + 2 + 202305 + 1.8442427962608809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 208603 + -1.8442427962608809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 529041 + -1.8442427962608809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.8816136717796326e-01 + 9.3519508838653564e-01 + <_> + 2 + 94933 + 1.8442427962608809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 434108 + -1.8442427962608809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.6971946250957687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.2426284551620483e-01 + 5.1751437187194824e+00 + <_> + 1 + 846526 + 1.6971946250957687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.5070362091064453e-01 + 1.8711274489760399e-02 + <_> + 2 + 169058 + -1.6971946250957687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 677468 + 1.6971946250957687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 93423 + -1.6971946250957687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 9.1624699532985687e-02 + 1.0563714981079102e+01 + <_> + 2 + 17329 + 1.6971946250957687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 76094 + -1.6971946250957687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.1727208506559886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2861344814300537e-01 + 2.9034343719482422e+01 + <_> + 1 + 276366 + 2.1727208506559886e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.1707996577024460e-01 + 3.9455897808074951e+00 + <_> + 2 + 261525 + 2.1727208506559886e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 14841 + -2.1727208506559886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 663583 + -2.1727208506559886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.3702536821365356e-01 + 3.5542198181152344e+01 + <_> + 2 + 15913 + 2.1727208506559886e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 647670 + -2.1727208506559886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.0684197195656920e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 5.3254318237304688e-01 + 7.8003687858581543e+00 + <_> + 1 + 157905 + -2.0684197195656920e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.2717868387699127e-01 + 2.9402675628662109e+01 + <_> + 2 + 29009 + 2.0684197195656920e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 128896 + -2.0684197195656920e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 782044 + 2.0684197195656920e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.2434823513031006e-01 + 5.9840869140625000e+02 + <_> + 2 + 16106 + -2.0684197195656920e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 765938 + 2.0684197195656920e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.4850088785745186e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.2558284997940063e-01 + 3.7336519360542297e-01 + <_> + 1 + 808198 + -1.4850088785745186e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.0735270977020264e-01 + 1.8960458755493164e+01 + <_> + 2 + 498995 + -1.4850088785745186e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 309203 + 1.4850088785745186e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 131751 + 1.4850088785745186e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 2.9704423621296883e-02 + 2.1447370529174805e+01 + <_> + 2 + 88473 + 1.4850088785745186e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43278 + -1.4850088785745186e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -2.7919352867831865e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2836149930953979e-01 + 3.7081085205078125e+01 + <_> + 1 + 461617 + 2.7919352867831865e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.8942002952098846e-01 + 4.3669052124023438e+00 + <_> + 2 + 441471 + 2.7919352867831865e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 20146 + -2.7919352867831865e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 478332 + -2.7919352867831865e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.7992846965789795e-01 + 3.9426755905151367e+00 + <_> + 2 + 360116 + -2.7919352867831865e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 118216 + 2.7919352867831865e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.6013950970421839e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2049374580383301e-01 + 6.3209609985351562e+01 + <_> + 1 + 786153 + 1.6013950970421839e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.3022614717483521e-01 + 1.2938302612304688e+02 + <_> + 2 + 270724 + -1.6013950970421839e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 515429 + 1.6013950970421839e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 153796 + -1.6013950970421839e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.0972338169813156e-01 + 2.3527720570564270e-01 + <_> + 2 + 122903 + -1.6013950970421839e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 30893 + 1.6013950970421839e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.7737709217655662e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2222496271133423e-01 + 9.5088806152343750e+01 + <_> + 1 + 681902 + -1.7737709217655662e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.9270564913749695e-01 + 9.6021175384521484e-01 + <_> + 2 + 179417 + 1.7737709217655662e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 502485 + -1.7737709217655662e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 258047 + 1.7737709217655662e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.5152271091938019e-01 + 9.6046769618988037e-01 + <_> + 2 + 79947 + -1.7737709217655662e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 178100 + 1.7737709217655662e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.1806181652265189e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.2576917409896851e-01 + 1.6350000000000000e+02 + <_> + 1 + 384399 + 2.1806181652265189e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 3.1430721282958984e-01 + 2.6305556297302246e+00 + <_> + 2 + 223480 + 2.1806181652265189e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 160919 + -2.1806181652265189e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 555550 + -2.1806181652265189e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.3999322950839996e-01 + 5.1471831054687500e+03 + <_> + 2 + 485049 + -2.1806181652265189e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 70501 + 2.1806181652265189e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.8521138212693108e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.2972471714019775e-01 + 5.2022891044616699e+00 + <_> + 1 + 847311 + 1.8521138212693108e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 4.5997777581214905e-01 + 3.1454174041748047e+01 + <_> + 2 + 9259 + -1.8521138212693108e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 838052 + 1.8521138212693108e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 92638 + -1.8521138212693108e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 8.6193166673183441e-02 + 1.0563714981079102e+01 + <_> + 2 + 17122 + 1.8521138212693108e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 75516 + -1.8521138212693108e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.4638727039226834e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.2762317657470703e-01 + 9.0940940380096436e-01 + <_> + 1 + 57887 + 1.4638727039226834e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.3349481858313084e-02 + 1.1680285644531250e+02 + <_> + 2 + 57746 + 1.4638727039226834e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 141 + -1.4638727039226834e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 882062 + -1.4638727039226834e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.2318209409713745e-01 + 8.8682480156421661e-02 + <_> + 2 + 9315 + 1.4638727039226834e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 872747 + -1.4638727039226834e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.2951140356447819e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2372467517852783e-01 + 1.0487126464843750e+03 + <_> + 1 + 330941 + -2.2951140356447819e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.1193994581699371e-01 + 3.5090618133544922e+01 + <_> + 2 + 46001 + 2.2951140356447819e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 284940 + -2.2951140356447819e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 609008 + 2.2951140356447819e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.4518736600875854e-01 + 5.1502326965332031e+01 + <_> + 2 + 73365 + -2.2951140356447819e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 535643 + 2.2951140356447819e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.8454164097795372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2249705791473389e-01 + 2.6138887405395508e+00 + <_> + 1 + 382622 + 1.8454164097795372e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 2.3500546813011169e-01 + 7.0575776100158691e+00 + <_> + 2 + 78502 + -1.8454164097795372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 304120 + 1.8454164097795372e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 557327 + -1.8454164097795372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.1099945306777954e-01 + 9.0427994728088379e-01 + <_> + 2 + 49346 + 1.8454164097795372e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 507981 + -1.8454164097795372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2892082822737772e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2249181270599365e-01 + 7.7215759277343750e+01 + <_> + 1 + 906033 + 1.2892082822737772e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.0599133968353271e-01 + 7.0277774333953857e-01 + <_> + 2 + 17903 + -1.2892082822737772e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 888130 + 1.2892082822737772e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 33916 + -1.2892082822737772e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 2.6194272562861443e-02 + 1.6466418457031250e+02 + <_> + 2 + 30502 + -1.2892082822737772e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3414 + 1.2892082822737772e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.6751074352116604e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2797514200210571e-01 + 2.4551137924194336e+01 + <_> + 1 + 168426 + 1.6751074352116604e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 8.3729520440101624e-02 + 6.9994598627090454e-01 + <_> + 2 + 1265 + -1.6751074352116604e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 167161 + 1.6751074352116604e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 771523 + -1.6751074352116604e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 4.5805051922798157e-01 + 9.7318449020385742e+00 + <_> + 2 + 662516 + -1.6751074352116604e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 109007 + 1.6751074352116604e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.5364987958804799e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2594870328903198e-01 + 1.1250000000000000e+00 + <_> + 1 + 82406 + -1.5364987958804799e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 6.8763710558414459e-02 + 3.7839164733886719e+00 + <_> + 2 + 20439 + 1.5364987958804799e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 61967 + -1.5364987958804799e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 857543 + 1.5364987958804799e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.6957337856292725e-01 + 1.0024337768554688e+00 + <_> + 2 + 45638 + -1.5364987958804799e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 811905 + 1.5364987958804799e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.2347176411268729e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2103263139724731e-01 + 8.8440839843750000e+03 + <_> + 1 + 899242 + -1.2347176411268729e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.9286371469497681e-01 + 3.7516337633132935e-01 + <_> + 2 + 770350 + -1.2347176411268729e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 128892 + 1.2347176411268729e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 40707 + 1.2347176411268729e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.7965066730976105e-02 + 9.5329582691192627e-03 + <_> + 2 + 4405 + -1.2347176411268729e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 36302 + 1.2347176411268729e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2215436688987001e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1995581388473511e-01 + 3.6072143554687500e+02 + <_> + 1 + 16348 + -1.2215436688987001e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.6753557622432709e-02 + 3.7838444709777832e+00 + <_> + 2 + 13358 + 1.2215436688987001e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2990 + -1.2215436688987001e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923601 + 1.2215436688987001e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.9374711513519287e-01 + 8.1318756103515625e+02 + <_> + 2 + 100202 + -1.2215436688987001e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 823399 + 1.2215436688987001e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0965676087322185e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.2008521556854248e-01 + 9.0427994728088379e-01 + <_> + 1 + 49346 + 1.0965676087322185e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 8.6742490530014038e-03 + 1.1682679748535156e+02 + <_> + 2 + 49259 + 1.0965676087322185e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 87 + -1.0965676087322185e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 890603 + -1.0965676087322185e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 5.1871252059936523e-01 + 1.1238658142089844e+02 + <_> + 2 + 822802 + -1.0965676087322185e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 67801 + 1.0965676087322185e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1474082076758624e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1933848857879639e-01 + 3.6072143554687500e+02 + <_> + 1 + 16348 + -1.1474082076758624e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 3.5487469285726547e-02 + 1.1056249618530273e+01 + <_> + 2 + 13705 + 1.1474082076758624e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2643 + -1.1474082076758624e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923601 + 1.1474082076758624e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.9316629767417908e-01 + 3.0309746093750000e+03 + <_> + 2 + 831922 + 1.1474082076758624e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 91679 + -1.1474082076758624e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.5055644268914459e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.2269959449768066e-01 + 9.4933962821960449e-01 + <_> + 1 + 188872 + 1.5055644268914459e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 6.0675408691167831e-02 + 8.8097274780273438e+01 + <_> + 2 + 168010 + 1.5055644268914459e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 20862 + -1.5055644268914459e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 751077 + -1.5055644268914459e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 4.7689276933670044e-01 + 9.1141080856323242e+00 + <_> + 2 + 605013 + -1.5055644268914459e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 146064 + 1.5055644268914459e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.8948479037314492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2623099088668823e-01 + 1.8762277832031250e+03 + <_> + 1 + 650544 + 1.8948479037314492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.2303678393363953e-01 + 1.9950000000000000e+02 + <_> + 2 + 517230 + 1.8948479037314492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 133314 + -1.8948479037314492e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 289405 + -1.8948479037314492e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.2419318407773972e-01 + 6.5745878906250000e+03 + <_> + 2 + 255626 + -1.8948479037314492e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 33779 + 1.8948479037314492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.7051521423440452e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.2642256021499634e-01 + 9.6477150917053223e-01 + <_> + 1 + 318578 + 1.7051521423440452e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.4038184285163879e-01 + 4.4807361602783203e+01 + <_> + 2 + 20941 + -1.7051521423440452e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 297637 + 1.7051521423440452e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 621371 + -1.7051521423440452e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.0214395523071289e-01 + 7.9086059570312500e+01 + <_> + 2 + 448865 + -1.7051521423440452e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 172506 + 1.7051521423440452e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.9134869356844561e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.2203911542892456e-01 + 1.6350000000000000e+02 + <_> + 1 + 384399 + 1.9134869356844561e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.0663001537322998e-01 + 2.9068121686577797e-02 + <_> + 2 + 196438 + -1.9134869356844561e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 187961 + 1.9134869356844561e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 555550 + -1.9134869356844561e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.4106173217296600e-01 + 3.6864425659179688e+01 + <_> + 2 + 185514 + 1.9134869356844561e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 370036 + -1.9134869356844561e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.3975961300400136e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2771258354187012e-01 + 7.8731391906738281e+01 + <_> + 1 + 912492 + 1.3975961300400136e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1268196105957031e-01 + 5.1758052825927734e+01 + <_> + 2 + 3859 + -1.3975961300400136e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 908633 + 1.3975961300400136e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 27457 + -1.3975961300400136e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.2201210260391235e-02 + 5.3361110687255859e+00 + <_> + 2 + 8345 + -1.3975961300400136e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 19112 + 1.3975961300400136e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.5625159603632241e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2351695299148560e-01 + 2.8027894973754883e+01 + <_> + 1 + 254285 + 1.5625159603632241e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.0120427608489990e-01 + 9.7941130399703979e-01 + <_> + 2 + 138018 + 1.5625159603632241e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 116267 + -1.5625159603632241e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 685664 + -1.5625159603632241e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.3777933716773987e-01 + 3.5512935638427734e+01 + <_> + 2 + 18106 + 1.5625159603632241e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 667558 + -1.5625159603632241e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.7669245099739400e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2532440423965454e-01 + 2.4805555343627930e+00 + <_> + 1 + 361118 + -1.7669245099739400e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.1014948189258575e-01 + 2.1776126861572266e+01 + <_> + 2 + 102634 + 1.7669245099739400e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 258484 + -1.7669245099739400e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 578831 + 1.7669245099739400e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.3390906453132629e-01 + 4.4582412719726562e+01 + <_> + 2 + 46516 + -1.7669245099739400e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 532315 + 1.7669245099739400e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.5995032971129580e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2373433113098145e-01 + 4.6447605133056641e+01 + <_> + 1 + 602267 + 1.5995032971129580e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 3.1128957867622375e-01 + 1.1250000000000000e+00 + <_> + 2 + 82406 + -1.5995032971129580e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 519861 + 1.5995032971129580e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 337682 + -1.5995032971129580e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.2861297428607941e-01 + 1.0000002384185791e+00 + <_> + 2 + 240038 + -1.5995032971129580e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 97644 + 1.5995032971129580e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.6020979207732525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2021014690399170e-01 + 6.0987548828125000e+01 + <_> + 1 + 325825 + 1.6020979207732525e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.0665526390075684e-01 + 1.6650000000000000e+02 + <_> + 2 + 250160 + 1.6020979207732525e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 75665 + -1.6020979207732525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 614124 + -1.6020979207732525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.3331173658370972e-01 + 1.9050000000000000e+02 + <_> + 2 + 299844 + -1.6020979207732525e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 314280 + 1.6020979207732525e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.6906426314122777e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.2427899837493896e-01 + 5.5260574340820312e+01 + <_> + 1 + 573951 + -1.6906426314122777e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.9843395948410034e-01 + 9.8145365715026855e-01 + <_> + 2 + 436014 + -1.6906426314122777e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 137937 + 1.6906426314122777e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 365998 + 1.6906426314122777e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.4373172223567963e-01 + 6.1781429290771484e+01 + <_> + 2 + 198147 + 1.6906426314122777e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 167851 + -1.6906426314122777e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.5463692631694240e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.2273249626159668e-01 + 2.2507629394531250e+00 + <_> + 1 + 491873 + 1.5463692631694240e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.9699823260307312e-01 + 1.8376313447952271e+00 + <_> + 2 + 160553 + -1.5463692631694240e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 331320 + 1.5463692631694240e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 448076 + -1.5463692631694240e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.4158415198326111e-01 + 9.4933933019638062e-01 + <_> + 2 + 107266 + 1.5463692631694240e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 340810 + -1.5463692631694240e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4687987693291313e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1975530385971069e-01 + 4.6527776718139648e+00 + <_> + 1 + 667876 + 1.4687987693291313e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.1499182581901550e-01 + 1.0481826066970825e+00 + <_> + 2 + 170028 + -1.4687987693291313e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 497848 + 1.4687987693291313e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 272073 + -1.4687987693291313e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.2166227400302887e-01 + 6.8635722656250000e+03 + <_> + 2 + 239670 + -1.4687987693291313e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 32403 + 1.4687987693291313e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.9384694115623977e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2034705877304077e-01 + 1.8602773547172546e-01 + <_> + 1 + 457925 + -1.9384694115623977e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.6380142569541931e-01 + 2.0797789096832275e-01 + <_> + 2 + 262074 + -1.9384694115623977e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 195851 + 1.9384694115623977e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 482024 + 1.9384694115623977e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.8450912237167358e-01 + 9.7941803932189941e-01 + <_> + 2 + 361010 + 1.9384694115623977e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 121014 + -1.9384694115623977e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 2.0283655343433965e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.3963851928710938e-01 + 3.1497065429687500e+03 + <_> + 1 + 650159 + -2.0283655343433965e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.2241764664649963e-01 + 1.6369568109512329e+00 + <_> + 2 + 121279 + 2.0283655343433965e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 528880 + -2.0283655343433965e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 289790 + 2.0283655343433965e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.2811833024024963e-01 + 1.0424986839294434e+01 + <_> + 2 + 263120 + 2.0283655343433965e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 26670 + -2.0283655343433965e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.8252863409197770e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1803791522979736e-01 + 1.5967869758605957e-01 + <_> + 1 + 257512 + -1.8252863409197770e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.6228677332401276e-01 + 1.3131362915039062e+01 + <_> + 2 + 144396 + -1.8252863409197770e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 113116 + 1.8252863409197770e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 682437 + 1.8252863409197770e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.8321912288665771e-01 + 1.3707794189453125e+01 + <_> + 2 + 501887 + 1.8252863409197770e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 180550 + -1.8252863409197770e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.8687429669279840e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1495540142059326e-01 + 3.4712675781250000e+03 + <_> + 1 + 678816 + -1.8687429669279840e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 3.4068343043327332e-01 + 6.6205863952636719e+01 + <_> + 2 + 519594 + -1.8687429669279840e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 159222 + 1.8687429669279840e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 261133 + 1.8687429669279840e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.0589964091777802e-01 + 5.8298278808593750e+01 + <_> + 2 + 183219 + 1.8687429669279840e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 77914 + -1.8687429669279840e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4547844282869651e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2396368980407715e-01 + 5.3576210021972656e+01 + <_> + 1 + 683091 + 1.4547844282869651e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 3.6376655101776123e-01 + 9.2831249237060547e+00 + <_> + 2 + 16688 + -1.4547844282869651e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 666403 + 1.4547844282869651e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 256858 + -1.4547844282869651e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 1.7253904044628143e-01 + 7.4679649353027344e+01 + <_> + 2 + 131084 + -1.4547844282869651e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 125774 + 1.4547844282869651e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.3680631128171461e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2054405212402344e-01 + 2.9034343719482422e+01 + <_> + 1 + 276366 + 1.3680631128171461e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.0614043474197388e-01 + 1.3064670562744141e-01 + <_> + 2 + 5663 + -1.3680631128171461e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 270703 + 1.3680631128171461e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 663583 + -1.3680631128171461e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.2800790071487427e-01 + 9.4342005252838135e-01 + <_> + 2 + 130928 + 1.3680631128171461e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 532655 + -1.3680631128171461e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.3166429193015805e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2033382654190063e-01 + 8.4185607910156250e+02 + <_> + 1 + 212441 + -1.3166429193015805e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.3941790163516998e-01 + 2.0698678970336914e+01 + <_> + 2 + 6459 + 1.3166429193015805e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 205982 + -1.3166429193015805e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 727508 + 1.3166429193015805e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 3.9345070719718933e-01 + 7.4694442749023438e+00 + <_> + 2 + 622385 + 1.3166429193015805e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 105123 + -1.3166429193015805e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.4080156439319078e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1611179113388062e-01 + 2.3027777671813965e+00 + <_> + 1 + 323748 + 1.4080156439319078e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 1.8306370079517365e-01 + 1.9970624923706055e+01 + <_> + 2 + 70717 + -1.4080156439319078e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 253031 + 1.4080156439319078e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 616201 + -1.4080156439319078e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.5207864642143250e-01 + 9.2954289913177490e-01 + <_> + 2 + 102196 + 1.4080156439319078e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 514005 + -1.4080156439319078e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4410234755613913e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.2150040864944458e-01 + 5.4829515516757965e-02 + <_> + 1 + 711654 + 1.4410234755613913e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.7860175371170044e-01 + 2.3050000000000000e+02 + <_> + 2 + 667351 + 1.4410234755613913e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 44303 + -1.4410234755613913e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 228295 + -1.4410234755613913e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.7361621409654617e-02 + 1.2693084716796875e+01 + <_> + 2 + 168338 + 1.4410234755613913e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59957 + -1.4410234755613913e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.9311494705331517e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2397710084915161e-01 + 1.4861379394531250e+03 + <_> + 1 + 508421 + -1.9311494705331517e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.4595966339111328e-01 + 2.9456104278564453e+01 + <_> + 2 + 42394 + 1.9311494705331517e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 466027 + -1.9311494705331517e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 431528 + 1.9311494705331517e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.0216959714889526e-01 + 2.0420529785156250e+03 + <_> + 2 + 188549 + -1.9311494705331517e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 242979 + 1.9311494705331517e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.8394724303274260e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2324557304382324e-01 + 1.9303430616855621e-01 + <_> + 1 + 505212 + -1.8394724303274260e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.8579345345497131e-01 + 2.2880256175994873e-01 + <_> + 2 + 318141 + -1.8394724303274260e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 187071 + 1.8394724303274260e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 434737 + 1.8394724303274260e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 2.6006412506103516e-01 + 8.8881176757812500e+02 + <_> + 2 + 147501 + -1.8394724303274260e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 287236 + 1.8394724303274260e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.7301285855085843e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 5.2127557992935181e-01 + 7.2154712677001953e+00 + <_> + 1 + 389038 + 1.7301285855085843e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.0573955178260803e-01 + 1.4413627982139587e-01 + <_> + 2 + 70106 + -1.7301285855085843e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 318932 + 1.7301285855085843e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 550911 + -1.7301285855085843e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.3740607500076294e-01 + 5.3200410156250000e+03 + <_> + 2 + 487696 + -1.7301285855085843e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 63215 + 1.7301285855085843e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0268447686943041e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1760959625244141e-01 + 3.6080279541015625e+02 + <_> + 1 + 16356 + -1.0268447686943041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.7909720093011856e-02 + 3.7838444709777832e+00 + <_> + 2 + 13361 + 1.0268447686943041e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2995 + -1.0268447686943041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923593 + 1.0268447686943041e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.8773887753486633e-01 + 8.9629760742187500e+01 + <_> + 2 + 920140 + 1.0268447686943041e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3453 + -1.0268447686943041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.3590493486121011e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2433151006698608e-01 + 1.1377232421875000e+04 + <_> + 1 + 920580 + -1.3590493486121011e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.0934237241744995e-01 + 1.2009352111816406e+02 + <_> + 2 + 848869 + -1.3590493486121011e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 71711 + 1.3590493486121011e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 19369 + 1.3590493486121011e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.4581661447882652e-02 + 1.0071091353893280e-02 + <_> + 2 + 2357 + -1.3590493486121011e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17012 + 1.3590493486121011e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2084423292202352e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2157765626907349e-01 + 3.6080279541015625e+02 + <_> + 1 + 16356 + -1.2084423292202352e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 3.7027254700660706e-02 + 1.1056249618530273e+01 + <_> + 2 + 13708 + 1.2084423292202352e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2648 + -1.2084423292202352e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923593 + 1.2084423292202352e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.9314710497856140e-01 + 5.9145904541015625e+02 + <_> + 2 + 17720 + -1.2084423292202352e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 905873 + 1.2084423292202352e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.5956087586991674e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2135306596755981e-01 + 6.2226818084716797e+01 + <_> + 1 + 494857 + -1.5956087586991674e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.5762667655944824e-01 + 5.0000000000000000e-01 + <_> + 2 + 76347 + 1.5956087586991674e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 418510 + -1.5956087586991674e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 445092 + 1.5956087586991674e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.8217913806438446e-01 + 4.7987724304199219e+01 + <_> + 2 + 206839 + 1.5956087586991674e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 238253 + -1.5956087586991674e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2693220142775646e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1857244968414307e-01 + 1.8103691339492798e+00 + <_> + 1 + 288895 + -1.2693220142775646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 9.4141520559787750e-02 + 1.0433176994323730e+01 + <_> + 2 + 118613 + 1.2693220142775646e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 170282 + -1.2693220142775646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 651054 + 1.2693220142775646e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.3754899501800537e-01 + 6.8305559158325195e+00 + <_> + 2 + 551750 + 1.2693220142775646e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 99304 + -1.2693220142775646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.5389044359898910e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.2371990680694580e-01 + 6.1050945281982422e+01 + <_> + 1 + 652576 + -1.5389044359898910e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.6046865582466125e-01 + 7.8545087890625000e+03 + <_> + 2 + 617832 + -1.5389044359898910e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 34744 + 1.5389044359898910e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 287373 + 1.5389044359898910e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.7792819440364838e-01 + 3.1845269203186035e+00 + <_> + 2 + 181563 + 1.5389044359898910e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 105810 + -1.5389044359898910e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.3870080679042142e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1708382368087769e-01 + 1.0006089210510254e+00 + <_> + 1 + 19467 + -8.3870080679042142e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.6617852970957756e-02 + 8.1239227294921875e+02 + <_> + 2 + 2979 + 8.3870080679042142e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 16488 + -8.3870080679042142e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 920482 + 8.3870080679042142e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.9433737993240356e-01 + 7.9277893066406250e+01 + <_> + 2 + 895551 + 8.3870080679042142e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 24931 + -8.3870080679042142e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.2289714425892372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1786142587661743e-01 + 9.4596225023269653e-01 + <_> + 1 + 171277 + 1.2289714425892372e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.3401883691549301e-02 + 2.5250000000000000e+02 + <_> + 2 + 159026 + 1.2289714425892372e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12251 + -1.2289714425892372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 768672 + -1.2289714425892372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.7728380560874939e-01 + 2.9338821411132812e+01 + <_> + 2 + 251096 + 1.2289714425892372e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 517576 + -1.2289714425892372e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4276985606023079e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2062207460403442e-01 + 4.0246734619140625e+01 + <_> + 1 + 104202 + -1.4276985606023079e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.2249957025051117e-01 + 3.5908348083496094e+01 + <_> + 2 + 62844 + -1.4276985606023079e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 41358 + 1.4276985606023079e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 835747 + 1.4276985606023079e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.1313239932060242e-01 + 3.3934539556503296e-01 + <_> + 2 + 831645 + 1.4276985606023079e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4102 + -1.4276985606023079e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.4237213254602935e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2481311559677124e-01 + 3.0167543888092041e-01 + <_> + 1 + 905329 + -1.4237213254602935e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.0417786836624146e-01 + 9.0433025360107422e-01 + <_> + 2 + 49396 + 1.4237213254602935e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 855933 + -1.4237213254602935e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 34620 + 1.4237213254602935e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.1355135142803192e-02 + 5.7891723632812500e+02 + <_> + 2 + 7494 + -1.4237213254602935e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 27126 + 1.4237213254602935e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1258989768911457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2006214857101440e-01 + 1.2199418991804123e-01 + <_> + 1 + 49259 + -1.1258989768911457e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.1972102820873260e-02 + 1.4835440429687500e+04 + <_> + 2 + 40547 + -1.1258989768911457e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8712 + 1.1258989768911457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 890690 + 1.1258989768911457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.9614566564559937e-01 + 2.5550000000000000e+02 + <_> + 2 + 852773 + 1.1258989768911457e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 37917 + -1.1258989768911457e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.2920328520692814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1880699396133423e-01 + 1.0550000000000000e+02 + <_> + 1 + 39396 + 1.2920328520692814e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 7.9890109598636627e-02 + 2.4086183309555054e-01 + <_> + 2 + 31075 + 1.2920328520692814e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 8321 + -1.2920328520692814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 900553 + -1.2920328520692814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.5236584544181824e-01 + 2.5679212808609009e-01 + <_> + 2 + 478197 + -1.2920328520692814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 422356 + 1.2920328520692814e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4485991530951922e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1966798305511475e-01 + 2.3416333007812500e+03 + <_> + 1 + 542428 + -1.4485991530951922e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.4750557541847229e-01 + 2.1095451712608337e-01 + <_> + 2 + 68162 + 1.4485991530951922e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 474266 + -1.4485991530951922e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 397521 + 1.4485991530951922e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.8864619135856628e-01 + 4.9547256469726562e+01 + <_> + 2 + 131064 + -1.4485991530951922e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 266457 + 1.4485991530951922e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.3373559171674387e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.2121621370315552e-01 + 7.4969604492187500e+01 + <_> + 1 + 512906 + 1.3373559171674387e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 2.9279240965843201e-01 + 6.9994598627090454e-01 + <_> + 2 + 1263 + -1.3373559171674387e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 511643 + 1.3373559171674387e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 427043 + -1.3373559171674387e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.4059174954891205e-01 + 1.0375577926635742e+01 + <_> + 2 + 76775 + 1.3373559171674387e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 350268 + -1.3373559171674387e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.5164341257408578e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1784980297088623e-01 + 1.2489745140075684e+01 + <_> + 1 + 553861 + -1.5164341257408578e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 3.6461788415908813e-01 + 8.4897260665893555e+00 + <_> + 2 + 442286 + -1.5164341257408578e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 111575 + 1.5164341257408578e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 386088 + 1.5164341257408578e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.7322050034999847e-01 + 2.5436753034591675e-01 + <_> + 2 + 349558 + 1.5164341257408578e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 36530 + -1.5164341257408578e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.7327241134309210e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2641940116882324e-01 + 5.2638893127441406e+00 + <_> + 1 + 718053 + 1.7327241134309210e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.4531148672103882e-01 + 7.8703811645507812e+01 + <_> + 2 + 710143 + 1.7327241134309210e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7910 + -1.7327241134309210e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 221896 + -1.7327241134309210e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 9.7898557782173157e-02 + 8.1936653137207031e+01 + <_> + 2 + 193562 + -1.7327241134309210e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 28334 + 1.7327241134309210e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.3521308827747153e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.2151274681091309e-01 + 3.6544204711914062e+02 + <_> + 1 + 853045 + -1.3521308827747153e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.6195203065872192e-01 + 9.4341659545898438e-01 + <_> + 2 + 141548 + 1.3521308827747153e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 711497 + -1.3521308827747153e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 86904 + 1.3521308827747153e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 7.1799837052822113e-02 + 4.5963447265625000e+03 + <_> + 2 + 60409 + 1.3521308827747153e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 26495 + -1.3521308827747153e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0633895788839619e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1699042320251465e-01 + 7.4694442749023438e+00 + <_> + 1 + 834826 + 1.0633895788839619e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.8435679078102112e-01 + 8.9855255126953125e+01 + <_> + 2 + 833482 + 1.0633895788839619e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1344 + -1.0633895788839619e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 105123 + -1.0633895788839619e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.2202927172183990e-02 + 9.0213543176651001e-01 + <_> + 2 + 43885 + 1.0633895788839619e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 61238 + -1.0633895788839619e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.3425997128059089e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 5.1892316341400146e-01 + 9.6124658584594727e+00 + <_> + 1 + 821257 + -1.3425997128059089e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.0282526016235352e-01 + 9.5285648107528687e-01 + <_> + 2 + 190053 + 1.3425997128059089e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 631204 + -1.3425997128059089e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 118692 + 1.3425997128059089e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.0689425766468048e-02 + 1.4613538742065430e+01 + <_> + 2 + 96472 + 1.3425997128059089e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 22220 + -1.3425997128059089e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2084796930501578e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.2112770080566406e-01 + 6.3972225189208984e+00 + <_> + 1 + 790326 + 1.2084796930501578e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 4.7172585129737854e-01 + 1.8601902008056641e+01 + <_> + 2 + 777627 + 1.2084796930501578e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12699 + -1.2084796930501578e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 149623 + -1.2084796930501578e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.8449432253837585e-02 + 9.0213537216186523e-01 + <_> + 2 + 45641 + 1.2084796930501578e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 103982 + -1.2084796930501578e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.5604750785430646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1841139793395996e-01 + 9.8416671752929688e+00 + <_> + 1 + 271208 + 1.5604750785430646e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.6956667602062225e-01 + 2.3599453270435333e-01 + <_> + 2 + 129472 + 1.5604750785430646e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 141736 + -1.5604750785430646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 668741 + -1.5604750785430646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.6936622858047485e-01 + 3.6364509582519531e+01 + <_> + 2 + 198935 + 1.5604750785430646e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 469806 + -1.5604750785430646e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.6264306971587122e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2288913726806641e-01 + 1.0529658203125000e+03 + <_> + 1 + 333942 + -1.6264306971587122e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.1534834802150726e-01 + 9.6991807222366333e-01 + <_> + 2 + 31568 + 1.6264306971587122e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 302374 + -1.6264306971587122e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 606007 + 1.6264306971587122e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.2522302865982056e-01 + 5.3277183532714844e+01 + <_> + 2 + 80663 + -1.6264306971587122e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 525344 + 1.6264306971587122e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4208959999182846e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1991397142410278e-01 + 6.0987548828125000e+01 + <_> + 1 + 325825 + 1.4208959999182846e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 2.1276226639747620e-01 + 1.0893228530883789e+01 + <_> + 2 + 221101 + 1.4208959999182846e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 104724 + -1.4208959999182846e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 614124 + -1.4208959999182846e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.2270050048828125e-01 + 3.5419574737548828e+01 + <_> + 2 + 199875 + 1.4208959999182846e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 414249 + -1.4208959999182846e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4667734861774334e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.2283686399459839e-01 + 2.4676876068115234e+01 + <_> + 1 + 179104 + -1.4667734861774334e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.4106029272079468e-01 + 3.5950222015380859e+01 + <_> + 2 + 168435 + -1.4667734861774334e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 10669 + 1.4667734861774334e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 760845 + 1.4667734861774334e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.9554345607757568e-01 + 9.1226123046875000e+02 + <_> + 2 + 116213 + -1.4667734861774334e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 644632 + 1.4667734861774334e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.6234018299859460e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.2172207832336426e-01 + 2.3297649621963501e-01 + <_> + 1 + 722088 + -1.6234018299859460e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.9708167314529419e-01 + 3.4960517883300781e+01 + <_> + 2 + 291573 + 1.6234018299859460e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 430515 + -1.6234018299859460e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 217861 + 1.6234018299859460e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.4341448247432709e-01 + 1.8008959293365479e+00 + <_> + 2 + 101310 + -1.6234018299859460e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 116551 + 1.6234018299859460e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.8243375701631986e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2128857374191284e-01 + 4.1433364868164062e+01 + <_> + 1 + 532563 + -1.8243375701631986e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.5012785196304321e-01 + 3.1776718795299530e-02 + <_> + 2 + 251105 + -1.8243375701631986e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 281458 + 1.8243375701631986e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 407386 + 1.8243375701631986e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.9535451531410217e-01 + 9.1712036132812500e+00 + <_> + 2 + 31830 + -1.8243375701631986e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 375556 + 1.8243375701631986e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.4814374665074947e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2290439605712891e-01 + 4.1884216308593750e+01 + <_> + 1 + 143859 + 1.4814374665074947e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 1.5557292103767395e-01 + 5.0000000000000000e-01 + <_> + 2 + 21425 + -1.4814374665074947e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 122434 + 1.4814374665074947e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 796090 + -1.4814374665074947e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 3.8139542937278748e-01 + 3.5223068237304688e+01 + <_> + 2 + 136223 + 1.4814374665074947e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 659867 + -1.4814374665074947e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2247785767563799e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 5.1862311363220215e-01 + 5.9579987525939941e+00 + <_> + 1 + 115200 + -1.2247785767563799e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.3730363547801971e-01 + 4.0930297851562500e+03 + <_> + 2 + 84001 + -1.2247785767563799e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31199 + 1.2247785767563799e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 824749 + 1.2247785767563799e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 3.9327761530876160e-01 + 1.0054676532745361e+00 + <_> + 2 + 54240 + -1.2247785767563799e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 770509 + 1.2247785767563799e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.2486536270025078e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1463896036148071e-01 + 1.5817348957061768e+00 + <_> + 1 + 427806 + 1.2486536270025078e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 2.5202721357345581e-01 + 2.0350000000000000e+02 + <_> + 2 + 313843 + 1.2486536270025078e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 113963 + -1.2486536270025078e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 512143 + -1.2486536270025078e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.7914863824844360e-01 + 9.5588791370391846e-01 + <_> + 2 + 143698 + 1.2486536270025078e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 368445 + -1.2486536270025078e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0171605590349064e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1451677083969116e-01 + 2.1128759384155273e+01 + <_> + 1 + 95306 + 1.0171605590349064e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 6.0613598674535751e-02 + 5.1695160865783691e+00 + <_> + 2 + 92134 + 1.0171605590349064e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3172 + -1.0171605590349064e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 844643 + -1.0171605590349064e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 4.6479350328445435e-01 + 9.6125583648681641e+00 + <_> + 2 + 726022 + -1.0171605590349064e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 118621 + 1.0171605590349064e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.3231017257577496e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2201497554779053e-01 + 6.9068542480468750e+01 + <_> + 1 + 843967 + 1.3231017257577496e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.6740609407424927e-01 + 2.5941801071166992e+00 + <_> + 2 + 9338 + -1.3231017257577496e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 834629 + 1.3231017257577496e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 95982 + -1.3231017257577496e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 6.5623268485069275e-02 + 7.1581406250000000e+03 + <_> + 2 + 90445 + -1.3231017257577496e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5537 + 1.3231017257577496e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1356070758383358e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1551055908203125e-01 + 7.7179107666015625e+01 + <_> + 1 + 829492 + -1.1356070758383358e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.6923360228538513e-01 + 2.0744129180908203e+01 + <_> + 2 + 87817 + 1.1356070758383358e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 741675 + -1.1356070758383358e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 110457 + 1.1356070758383358e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.9126112610101700e-02 + 7.2500000000000000e+01 + <_> + 2 + 106361 + 1.1356070758383358e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4096 + -1.1356070758383358e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0221608748266943e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1641017198562622e-01 + 4.0583753585815430e+00 + <_> + 1 + 36568 + -1.0221608748266943e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 6.5990567207336426e-02 + 3.3244024658203125e+02 + <_> + 2 + 11030 + 1.0221608748266943e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 25538 + -1.0221608748266943e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 903381 + 1.0221608748266943e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 4.5954123139381409e-01 + 8.8500000000000000e+01 + <_> + 2 + 856331 + 1.0221608748266943e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 47050 + -1.0221608748266943e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.3467197639084488e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1407432556152344e-01 + 3.5572050781250000e+03 + <_> + 1 + 686172 + -1.3467197639084488e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.4165552258491516e-01 + 3.0067000538110733e-02 + <_> + 2 + 217207 + 1.3467197639084488e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 468965 + -1.3467197639084488e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 253777 + 1.3467197639084488e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.9196166098117828e-01 + 2.9605170711874962e-02 + <_> + 2 + 129310 + -1.3467197639084488e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 124467 + 1.3467197639084488e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.6468979172033224e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1478171348571777e-01 + 3.7368781864643097e-02 + <_> + 1 + 467331 + -1.6468979172033224e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.5363423824310303e-01 + 1.0444276809692383e+01 + <_> + 2 + 133007 + 1.6468979172033224e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 334324 + -1.6468979172033224e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 472618 + 1.6468979172033224e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.8744541704654694e-01 + 1.8723413348197937e-01 + <_> + 2 + 190752 + -1.6468979172033224e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 281866 + 1.6468979172033224e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.5859764780610144e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.2198135852813721e-01 + 1.0909145355224609e+01 + <_> + 1 + 400579 + -1.5859764780610144e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.6805472373962402e-01 + 2.6204687356948853e-01 + <_> + 2 + 331060 + -1.5859764780610144e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 69519 + 1.5859764780610144e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 539370 + 1.5859764780610144e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.7151179313659668e-01 + 2.2793330078125000e+03 + <_> + 2 + 283326 + -1.5859764780610144e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 256044 + 1.5859764780610144e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4508596285957101e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1847738027572632e-01 + 5.3962562561035156e+01 + <_> + 1 + 687292 + 1.4508596285957101e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 3.7063494324684143e-01 + 1.2416666746139526e+00 + <_> + 2 + 103570 + -1.4508596285957101e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 583722 + 1.4508596285957101e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 252657 + -1.4508596285957101e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 1.6557306051254272e-01 + 7.0749759674072266e+00 + <_> + 2 + 24861 + 1.4508596285957101e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 227796 + -1.4508596285957101e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.4180929097925615e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2262759208679199e-01 + 6.3897567749023438e+01 + <_> + 1 + 516984 + -1.4180929097925615e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.6749491095542908e-01 + 7.3569531440734863e+00 + <_> + 2 + 67561 + 1.4180929097925615e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 449423 + -1.4180929097925615e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 422965 + 1.4180929097925615e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 1.6789813339710236e-01 + 5.0000000000000000e-01 + <_> + 2 + 49139 + -1.4180929097925615e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 373826 + 1.4180929097925615e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2361131053733582e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1455682516098022e-01 + 1.3583366699218750e+03 + <_> + 1 + 324954 + -1.2361131053733582e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 1.2238895148038864e-01 + 1.9750000000000000e+02 + <_> + 2 + 213276 + -1.2361131053733582e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 111678 + 1.2361131053733582e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 614995 + 1.2361131053733582e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.0847459435462952e-01 + 2.0350000000000000e+02 + <_> + 2 + 467670 + 1.2361131053733582e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 147325 + -1.2361131053733582e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.4792039486798814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1682090759277344e-01 + 7.5420074462890625e+01 + <_> + 1 + 667538 + -1.4792039486798814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.4248783588409424e-01 + 2.4599638581275940e-01 + <_> + 2 + 543365 + -1.4792039486798814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 124173 + 1.4792039486798814e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 272411 + 1.4792039486798814e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 9.4424985349178314e-02 + 2.5103190541267395e-01 + <_> + 2 + 238322 + 1.4792039486798814e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 34089 + -1.4792039486798814e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.7277636957457184e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1722711324691772e-01 + 3.5654925537109375e+02 + <_> + 1 + 15966 + -9.7277636957457184e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.6826536059379578e-02 + 3.7838444709777832e+00 + <_> + 2 + 13121 + 9.7277636957457184e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2845 + -9.7277636957457184e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923983 + 9.7277636957457184e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 4.8747372627258301e-01 + 7.9001876831054688e+01 + <_> + 2 + 706141 + 9.7277636957457184e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 217842 + -9.7277636957457184e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.3144272861567094e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1552879810333252e-01 + 8.1480682373046875e+01 + <_> + 1 + 733147 + -1.3144272861567094e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.5887055993080139e-01 + 1.4556673049926758e+01 + <_> + 2 + 530667 + -1.3144272861567094e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 202480 + 1.3144272861567094e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 206802 + 1.3144272861567094e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 7.3942884802818298e-02 + 1.3909103393554688e+01 + <_> + 2 + 147067 + 1.3144272861567094e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59735 + -1.3144272861567094e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2226850761556346e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.2325713634490967e-01 + 3.5654925537109375e+02 + <_> + 1 + 15966 + -1.2226850761556346e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 3.6128357052803040e-02 + 3.8128118515014648e+00 + <_> + 2 + 13159 + 1.2226850761556346e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2807 + -1.2226850761556346e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923983 + 1.2226850761556346e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.9440073966979980e-01 + 5.9719335937500000e+02 + <_> + 2 + 19012 + -1.2226850761556346e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 904971 + 1.2226850761556346e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.8349571520979923e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1762080192565918e-01 + 1.1996318054199219e+02 + <_> + 1 + 868110 + -9.8349571520979923e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1397484540939331e-01 + 9.2957198619842529e-01 + <_> + 2 + 102230 + 9.8349571520979923e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 765880 + -9.8349571520979923e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 71839 + 9.8349571520979923e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 1.0592775419354439e-02 + 1.6350000000000000e+02 + <_> + 2 + 71762 + 9.8349571520979923e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 77 + -9.8349571520979923e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.3987604208494389e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1908642053604126e-01 + 4.7694444656372070e+00 + <_> + 1 + 676721 + 1.3987604208494389e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.2447528243064880e-01 + 1.9250000000000000e+02 + <_> + 2 + 486768 + 1.3987604208494389e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 189953 + -1.3987604208494389e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 263228 + -1.3987604208494389e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.1043683439493179e-01 + 6.8635722656250000e+03 + <_> + 2 + 231851 + -1.3987604208494389e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31377 + 1.3987604208494389e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1951059624486883e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.2114754915237427e-01 + 7.2257553100585938e+01 + <_> + 1 + 626697 + -1.1951059624486883e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.2197787761688232e-01 + 9.5526528358459473e-01 + <_> + 2 + 160084 + 1.1951059624486883e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 466613 + -1.1951059624486883e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 313252 + 1.1951059624486883e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 1.0786426812410355e-01 + 1.7019056701660156e+02 + <_> + 2 + 59640 + -1.1951059624486883e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 253612 + 1.1951059624486883e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4474907604567777e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1662522554397583e-01 + 1.1965702056884766e+01 + <_> + 1 + 500134 + 1.4474907604567777e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 3.3947950601577759e-01 + 5.9742970466613770e+00 + <_> + 2 + 76699 + -1.4474907604567777e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 423435 + 1.4474907604567777e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 439815 + -1.4474907604567777e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.9664470851421356e-01 + 1.5965084731578827e-01 + <_> + 2 + 75240 + 1.4474907604567777e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 364575 + -1.4474907604567777e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.3154829226993328e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1839280128479004e-01 + 4.5136322021484375e+01 + <_> + 1 + 586520 + 1.3154829226993328e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 2.9840365052223206e-01 + 6.9994598627090454e-01 + <_> + 2 + 1265 + -1.3154829226993328e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 585255 + 1.3154829226993328e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 353429 + -1.3154829226993328e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 2.3443609476089478e-01 + 9.0865497589111328e+00 + <_> + 2 + 209530 + -1.3154829226993328e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 143899 + 1.3154829226993328e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4100987143215393e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1774358749389648e-01 + 4.1433364868164062e+01 + <_> + 1 + 532563 + -1.4100987143215393e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.4812401831150055e-01 + 2.4100942611694336e+01 + <_> + 2 + 157586 + 1.4100987143215393e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 374977 + -1.4100987143215393e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 407386 + 1.4100987143215393e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.8707015514373779e-01 + 9.9245328903198242e+00 + <_> + 2 + 52587 + -1.4100987143215393e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 354799 + 1.4100987143215393e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.3452405231804127e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1579374074935913e-01 + 1.5109452605247498e-01 + <_> + 1 + 116461 + 1.3452405231804127e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.4258930087089539e-01 + 4.1246064007282257e-02 + <_> + 2 + 104559 + 1.3452405231804127e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 11902 + -1.3452405231804127e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 823488 + -1.3452405231804127e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.9099109172821045e-01 + 4.1604399681091309e-02 + <_> + 2 + 427581 + -1.3452405231804127e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 395907 + 1.3452405231804127e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.3037264899262682e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1930791139602661e-01 + 4.4155387878417969e+01 + <_> + 1 + 574521 + 1.3037264899262682e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 2.8360489010810852e-01 + 3.6072143554687500e+02 + <_> + 2 + 16348 + -1.3037264899262682e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 558173 + 1.3037264899262682e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 365428 + -1.3037264899262682e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 2.4894219636917114e-01 + 4.7503124237060547e+01 + <_> + 2 + 47521 + 1.3037264899262682e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 317907 + -1.3037264899262682e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.2324102120564007e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1704293489456177e-01 + 6.1890625000000000e+01 + <_> + 1 + 620875 + -1.2324102120564007e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.8868343830108643e-01 + 5.9500000000000000e+01 + <_> + 2 + 564940 + -1.2324102120564007e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 55935 + 1.2324102120564007e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 319074 + 1.2324102120564007e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 1.4208786189556122e-01 + 2.2295611572265625e+02 + <_> + 2 + 77580 + -1.2324102120564007e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 241494 + 1.2324102120564007e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2492877877159057e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1573222875595093e-01 + 4.4779390096664429e-02 + <_> + 1 + 594460 + 1.2492877877159057e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.1906371712684631e-01 + 5.2443717956542969e+01 + <_> + 2 + 431442 + 1.2492877877159057e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 163018 + -1.2492877877159057e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 345489 + -1.2492877877159057e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 1.1212792247533798e-01 + 1.0354104995727539e+01 + <_> + 2 + 272248 + -1.2492877877159057e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 73241 + 1.2492877877159057e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.4873554760957200e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.2108299732208252e-01 + 5.4158996582031250e+01 + <_> + 1 + 556828 + -1.4873554760957200e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.9137802124023438e-01 + 6.6263771057128906e+01 + <_> + 2 + 432326 + -1.4873554760957200e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 124502 + 1.4873554760957200e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 383121 + 1.4873554760957200e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.4573744833469391e-01 + 1.2470302734375000e+03 + <_> + 2 + 101857 + -1.4873554760957200e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 281264 + 1.4873554760957200e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2486195147091961e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1829880475997925e-01 + 7.0155502319335938e+01 + <_> + 1 + 452822 + 1.2486195147091961e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.6847642660140991e-01 + 1.1205345392227173e-01 + <_> + 2 + 17667 + -1.2486195147091961e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 435155 + 1.2486195147091961e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 487127 + -1.2486195147091961e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.6269856095314026e-01 + 1.0453325271606445e+01 + <_> + 2 + 106002 + 1.2486195147091961e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 381125 + -1.2486195147091961e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1091855283682912e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1336604356765747e-01 + 5.7762901306152344e+01 + <_> + 1 + 429016 + -1.1091855283682912e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.1351360678672791e-01 + 3.0278734862804413e-02 + <_> + 2 + 258854 + -1.1091855283682912e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 170162 + 1.1091855283682912e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 510933 + 1.1091855283682912e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.1418765187263489e-01 + 1.1039464950561523e+01 + <_> + 2 + 171790 + -1.1091855283682912e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 339143 + 1.1091855283682912e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1807985698104093e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1687234640121460e-01 + 4.0402381896972656e+01 + <_> + 1 + 126588 + 1.1807985698104093e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.4471909403800964e-01 + 2.5544345378875732e-01 + <_> + 2 + 90855 + 1.1807985698104093e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 35733 + -1.1807985698104093e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 813361 + -1.1807985698104093e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.8476660847663879e-01 + 2.6123559474945068e-01 + <_> + 2 + 433620 + -1.1807985698104093e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 379741 + 1.1807985698104093e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1395974899913031e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1238042116165161e-01 + 2.9089414062500000e+03 + <_> + 1 + 623774 + -1.1395974899913031e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.9501268267631531e-01 + 9.7030556201934814e-01 + <_> + 2 + 234921 + 1.1395974899913031e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 388853 + -1.1395974899913031e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 316175 + 1.1395974899913031e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.3344647884368896e-01 + 6.3548358917236328e+01 + <_> + 2 + 254415 + 1.1395974899913031e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 61760 + -1.1395974899913031e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0265049289042262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1278525590896606e-01 + 2.3064628601074219e+01 + <_> + 1 + 135102 + 1.0265049289042262e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 7.4561521410942078e-02 + 1.7552718520164490e-02 + <_> + 2 + 24419 + -1.0265049289042262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 110683 + 1.0265049289042262e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 804847 + -1.0265049289042262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.5107859373092651e-01 + 6.9332962036132812e+01 + <_> + 2 + 611078 + -1.0265049289042262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 193769 + 1.0265049289042262e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2384311121328677e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.2009183168411255e-01 + 6.4267272949218750e+01 + <_> + 1 + 796750 + 1.2384311121328677e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.3617489933967590e-01 + 9.7039550781250000e+02 + <_> + 2 + 158526 + -1.2384311121328677e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 638224 + 1.2384311121328677e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 143199 + -1.2384311121328677e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 9.4746373593807220e-02 + 1.6750000000000000e+02 + <_> + 2 + 19845 + 1.2384311121328677e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 123354 + -1.2384311121328677e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.5532466387272550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1680976152420044e-01 + 1.9740542769432068e-01 + <_> + 1 + 289800 + -1.5532466387272550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.7329006791114807e-01 + 1.3451740264892578e+01 + <_> + 2 + 169289 + -1.5532466387272550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 120511 + 1.5532466387272550e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 650149 + 1.5532466387272550e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.6546320319175720e-01 + 1.3502442359924316e+01 + <_> + 2 + 473309 + 1.5532466387272550e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 176840 + -1.5532466387272550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1368624350818753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1478189229965210e-01 + 3.5411977539062500e+03 + <_> + 1 + 684785 + -1.1368624350818753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.4158617258071899e-01 + 9.1186157226562500e+01 + <_> + 2 + 477467 + -1.1368624350818753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 207318 + 1.1368624350818753e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 255164 + 1.1368624350818753e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.8680480122566223e-01 + 4.0912404656410217e-02 + <_> + 2 + 192822 + 1.1368624350818753e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 62342 + -1.1368624350818753e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.3728200346062053e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1521629095077515e-01 + 2.0072413635253906e+02 + <_> + 1 + 554701 + 1.3728200346062053e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.7609831094741821e-01 + 4.6104877471923828e+01 + <_> + 2 + 171849 + -1.3728200346062053e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 382852 + 1.3728200346062053e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 385248 + -1.3728200346062053e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 2.5816839933395386e-01 + 6.6138110160827637e+00 + <_> + 2 + 40460 + 1.3728200346062053e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 344788 + -1.3728200346062053e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0611612458645657e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1484346389770508e-01 + 4.6146593093872070e+00 + <_> + 1 + 827512 + 1.0611612458645657e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.2756190896034241e-01 + 1.2464975565671921e-01 + <_> + 2 + 46489 + -1.0611612458645657e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 781023 + 1.0611612458645657e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 112437 + -1.0611612458645657e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 9.8942257463932037e-02 + 2.5423841476440430e+01 + <_> + 2 + 3281 + 1.0611612458645657e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 109156 + -1.0611612458645657e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1894718739014246e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1923310756683350e-01 + 2.7271972656250000e+01 + <_> + 1 + 236965 + 1.1894718739014246e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 9.9588334560394287e-02 + 1.4395534992218018e-01 + <_> + 2 + 6948 + -1.1894718739014246e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 230017 + 1.1894718739014246e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 702984 + -1.1894718739014246e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.3011343479156494e-01 + 9.3014585971832275e-01 + <_> + 2 + 92184 + 1.1894718739014246e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 610800 + -1.1894718739014246e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2385256588843900e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1746886968612671e-01 + 2.0555319786071777e+00 + <_> + 1 + 437293 + -1.2385256588843900e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.4870209991931915e-01 + 3.1608514487743378e-02 + <_> + 2 + 163992 + 1.2385256588843900e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 273301 + -1.2385256588843900e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 502656 + 1.2385256588843900e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 3.8222151994705200e-01 + 7.4361114501953125e+00 + <_> + 2 + 435779 + 1.2385256588843900e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 66877 + -1.2385256588843900e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1881115590063121e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1958966255187988e-01 + 6.0846992492675781e+01 + <_> + 1 + 650125 + -1.1881115590063121e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.6181405186653137e-01 + 1.7267564535140991e+00 + <_> + 2 + 168602 + 1.1881115590063121e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 481523 + -1.1881115590063121e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 289824 + 1.1881115590063121e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.6785383224487305e-01 + 9.8166351318359375e+01 + <_> + 2 + 132726 + 1.1881115590063121e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 157098 + -1.1881115590063121e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0867374934912219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1105690002441406e-01 + 2.7210922911763191e-02 + <_> + 1 + 301164 + -1.0867374934912219e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.8637789785861969e-01 + 5.1214477539062500e+01 + <_> + 2 + 189626 + -1.0867374934912219e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 111538 + 1.0867374934912219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 638785 + 1.0867374934912219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.4076383709907532e-01 + 1.0000002384185791e+00 + <_> + 2 + 490984 + 1.0867374934912219e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 147801 + -1.0867374934912219e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1372033780795540e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1558148860931396e-01 + 9.9168682098388672e+00 + <_> + 1 + 274797 + 1.1372033780795540e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.7489457130432129e-01 + 5.3135444641113281e+01 + <_> + 2 + 148743 + 1.1372033780795540e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 126054 + -1.1372033780795540e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 665152 + -1.1372033780795540e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.5350492596626282e-01 + 9.7479581832885742e-01 + <_> + 2 + 374649 + -1.1372033780795540e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 290503 + 1.1372033780795540e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2368963188103065e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1900184154510498e-01 + 9.9439648437500000e+02 + <_> + 1 + 296518 + -1.2368963188103065e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.9117398560047150e-01 + 1.9879512488842010e-01 + <_> + 2 + 50830 + 1.2368963188103065e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 245688 + -1.2368963188103065e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 643431 + 1.2368963188103065e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.3970904350280762e-01 + 3.7326507568359375e+01 + <_> + 2 + 32531 + -1.2368963188103065e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 610900 + 1.2368963188103065e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0241542372264607e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1623177528381348e-01 + 3.6025115966796875e+02 + <_> + 1 + 848885 + -1.0241542372264607e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.5200258493423462e-01 + 1.4941427612304688e+02 + <_> + 2 + 375054 + 1.0241542372264607e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 473831 + -1.0241542372264607e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 91064 + 1.0241542372264607e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 7.3578923940658569e-02 + 7.0114410400390625e+01 + <_> + 2 + 45792 + 1.0241542372264607e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 45272 + -1.0241542372264607e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.2411295974804377e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1660376787185669e-01 + 2.4158200073242188e+02 + <_> + 1 + 643579 + -1.2411295974804377e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.4869930148124695e-01 + 1.7450000000000000e+02 + <_> + 2 + 406721 + -1.2411295974804377e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 236858 + 1.2411295974804377e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 296370 + 1.2411295974804377e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 1.8228915333747864e-01 + 2.4527778625488281e+00 + <_> + 2 + 14448 + -1.2411295974804377e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 281922 + 1.2411295974804377e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1564170880364812e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1835513114929199e-01 + 4.2798751831054688e+01 + <_> + 1 + 555136 + 1.1564170880364812e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.6613765954971313e-01 + 3.1125984191894531e+01 + <_> + 2 + 42378 + -1.1564170880364812e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 512758 + 1.1564170880364812e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 384813 + -1.1564170880364812e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.6274058222770691e-01 + 4.7268836975097656e+01 + <_> + 2 + 24399 + 1.1564170880364812e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 360414 + -1.1564170880364812e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0917740150682652e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1400333642959595e-01 + 4.9472222328186035e+00 + <_> + 1 + 691145 + 1.0917740150682652e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.2282542586326599e-01 + 8.0568740844726562e+01 + <_> + 2 + 687955 + 1.0917740150682652e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3190 + -1.0917740150682652e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 248804 + -1.0917740150682652e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 1.0444184392690659e-01 + 8.1723884582519531e+01 + <_> + 2 + 212769 + -1.0917740150682652e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 36035 + 1.0917740150682652e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.2537516836552562e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1971763372421265e-01 + 8.1480682373046875e+01 + <_> + 1 + 733147 + -1.2537516836552562e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 4.6260526776313782e-01 + 2.1177604675292969e+01 + <_> + 2 + 11092 + 1.2537516836552562e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 722055 + -1.2537516836552562e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 206802 + 1.2537516836552562e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 6.8697519600391388e-02 + 1.9150000000000000e+02 + <_> + 2 + 15252 + -1.2537516836552562e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 191550 + 1.2537516836552562e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2659728036665654e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1381570100784302e-01 + 8.3111286163330078e+00 + <_> + 1 + 133431 + -1.2659728036665654e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 1.1659813672304153e-01 + 3.8756088256835938e+01 + <_> + 2 + 73915 + -1.2659728036665654e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59516 + 1.2659728036665654e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 806518 + 1.2659728036665654e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.1500899195671082e-01 + 1.7086648559570312e+02 + <_> + 2 + 360595 + -1.2659728036665654e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 445923 + 1.2659728036665654e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2211355649801489e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.2027511596679688e-01 + 1.6386668395996094e+02 + <_> + 1 + 446048 + 1.2211355649801489e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.0335604250431061e-01 + 1.2683263421058655e-01 + <_> + 2 + 22796 + -1.2211355649801489e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 423252 + 1.2211355649801489e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 493901 + -1.2211355649801489e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.2713446021080017e-01 + 2.1524451673030853e-02 + <_> + 2 + 69865 + 1.2211355649801489e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 424036 + -1.2211355649801489e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0219958308394529e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1336395740509033e-01 + 8.3111286163330078e+00 + <_> + 1 + 133431 + -1.0219958308394529e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.1275272816419601e-01 + 3.3606372773647308e-02 + <_> + 2 + 52190 + -1.0219958308394529e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 81241 + 1.0219958308394529e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 806518 + 1.0219958308394529e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.1277495026588440e-01 + 1.0038001537322998e+00 + <_> + 2 + 47585 + -1.0219958308394529e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 758933 + 1.0219958308394529e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0760306532657286e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1740473508834839e-01 + 9.4369812011718750e+00 + <_> + 1 + 249885 + 1.0760306532657286e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 1.5981103479862213e-01 + 5.0000000000000000e-01 + <_> + 2 + 37729 + -1.0760306532657286e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 212156 + 1.0760306532657286e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 690064 + -1.0760306532657286e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.6706382036209106e-01 + 5.0000000000000000e-01 + <_> + 2 + 90893 + 1.0760306532657286e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 599171 + -1.0760306532657286e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.3823163809371145e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1601469516754150e-01 + 5.3538734436035156e+01 + <_> + 1 + 546805 + -1.3823163809371145e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.7973932027816772e-01 + 3.2443816661834717e+00 + <_> + 2 + 467112 + -1.3823163809371145e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 79693 + 1.3823163809371145e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 393144 + 1.3823163809371145e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.5476366281509399e-01 + 3.0026710033416748e+00 + <_> + 2 + 249301 + 1.3823163809371145e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 143843 + -1.3823163809371145e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0474471773266424e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1146388053894043e-01 + 1.0009554443359375e+03 + <_> + 1 + 300350 + -1.0474471773266424e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 1.9282492995262146e-01 + 3.7830076217651367e+00 + <_> + 2 + 27909 + 1.0474471773266424e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 272441 + -1.0474471773266424e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 639599 + 1.0474471773266424e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.3333733677864075e-01 + 1.4991036987304688e+02 + <_> + 2 + 569472 + 1.0474471773266424e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 70127 + -1.0474471773266424e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.2249949324652215e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1367110013961792e-01 + 2.1334065496921539e-01 + <_> + 1 + 623921 + -1.2249949324652215e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 3.3855026960372925e-01 + 8.1723884582519531e+01 + <_> + 2 + 586489 + -1.2249949324652215e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 37432 + 1.2249949324652215e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 316028 + 1.2249949324652215e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.9203636050224304e-01 + 7.3123031616210938e+01 + <_> + 2 + 179816 + 1.2249949324652215e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 136212 + -1.2249949324652215e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0188552564308727e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1783776283264160e-01 + 3.6473352050781250e+02 + <_> + 1 + 16709 + -1.0188552564308727e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.8332480937242508e-02 + 3.7838444709777832e+00 + <_> + 2 + 13543 + 1.0188552564308727e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3166 + -1.0188552564308727e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923240 + 1.0188552564308727e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.8711690306663513e-01 + 3.0449208984375000e+03 + <_> + 2 + 832614 + 1.0188552564308727e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 90626 + -1.0188552564308727e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.7906638029029602e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1632207632064819e-01 + 9.3393045663833618e-01 + <_> + 1 + 117895 + 9.7906638029029602e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.1006336212158203e-02 + 2.9295075684785843e-02 + <_> + 2 + 110365 + 9.7906638029029602e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7530 + -9.7906638029029602e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 822054 + -9.7906638029029602e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.9345079064369202e-01 + 1.1786351013183594e+02 + <_> + 2 + 748402 + -9.7906638029029602e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 73652 + 9.7906638029029602e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.4271281492322459e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1653790473937988e-01 + 3.5654925537109375e+02 + <_> + 1 + 15966 + -9.4271281492322459e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 3.6129284650087357e-02 + 1.1056249618530273e+01 + <_> + 2 + 13465 + 9.4271281492322459e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2501 + -9.4271281492322459e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923983 + 9.4271281492322459e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.8742109537124634e-01 + 1.9024143218994141e+01 + <_> + 2 + 890885 + 9.4271281492322459e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 33098 + -9.4271281492322459e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.6775493256729628e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.1508307456970215e-01 + 1.4500000000000000e+01 + <_> + 1 + 763187 + -9.6775493256729628e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.1590178012847900e-01 + 8.3762603759765625e+01 + <_> + 2 + 706819 + -9.6775493256729628e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 56368 + 9.6775493256729628e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 176762 + 9.6775493256729628e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.0827323049306870e-01 + 4.2593774795532227e+00 + <_> + 2 + 157020 + 9.6775493256729628e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 19742 + -9.6775493256729628e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1503800523615740e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1214671134948730e-01 + 2.3439809570312500e+03 + <_> + 1 + 542820 + -1.1503800523615740e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 2.4338784813880920e-01 + 1.0790184020996094e+01 + <_> + 2 + 185676 + 1.1503800523615740e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 357144 + -1.1503800523615740e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 397129 + 1.1503800523615740e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.8533998131752014e-01 + 4.6162094116210938e+01 + <_> + 2 + 103032 + -1.1503800523615740e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 294097 + 1.1503800523615740e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.2044196370148079e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1220917701721191e-01 + 2.8282489776611328e+00 + <_> + 1 + 11716 + -8.2044196370148079e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.7428431212902069e-02 + 2.1724937438964844e+01 + <_> + 2 + 5292 + 8.2044196370148079e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6424 + -8.2044196370148079e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 928233 + 8.2044196370148079e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.8307111859321594e-01 + 5.2861108779907227e+00 + <_> + 2 + 708263 + 8.2044196370148079e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 219970 + -8.2044196370148079e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0796067380229943e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1348280906677246e-01 + 9.6329951286315918e-01 + <_> + 1 + 295869 + 1.0796067380229943e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.1721687018871307e-01 + 8.0062957763671875e+01 + <_> + 2 + 162444 + 1.0796067380229943e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 133425 + -1.0796067380229943e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 644080 + -1.0796067380229943e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.0974712371826172e-01 + 8.3062034606933594e+01 + <_> + 2 + 414475 + -1.0796067380229943e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 229605 + 1.0796067380229943e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0417018751059616e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1413953304290771e-01 + 7.8658462524414062e+01 + <_> + 1 + 549829 + 1.0417018751059616e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.0912581086158752e-01 + 2.2896571159362793e+00 + <_> + 2 + 261673 + -1.0417018751059616e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 288156 + 1.0417018751059616e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 390120 + -1.0417018751059616e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.1689319610595703e-01 + 9.2003417015075684e-01 + <_> + 2 + 44338 + 1.0417018751059616e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 345782 + -1.0417018751059616e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2691173345409468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1491510868072510e-01 + 2.8232684135437012e+00 + <_> + 1 + 670000 + 1.2691173345409468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.8502017259597778e-01 + 1.0254147052764893e+00 + <_> + 2 + 112203 + -1.2691173345409468e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 557797 + 1.2691173345409468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 269949 + -1.2691173345409468e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.4666523933410645e-01 + 1.0182608366012573e+00 + <_> + 2 + 52668 + 1.2691173345409468e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 217281 + -1.2691173345409468e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.0446876779555689e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1036065816879272e-01 + 3.5654925537109375e+02 + <_> + 1 + 15966 + -7.0446876779555689e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 3.5542223602533340e-02 + 1.1056249618530273e+01 + <_> + 2 + 13465 + 7.0446876779555689e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2501 + -7.0446876779555689e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923983 + 7.0446876779555689e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.8206222057342529e-01 + 3.0305554866790771e+00 + <_> + 2 + 439544 + 7.0446876779555689e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 484439 + -7.0446876779555689e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.3260981113436809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1856428384780884e-01 + 9.6857696771621704e-01 + <_> + 1 + 390368 + 1.3260981113436809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.1224506199359894e-01 + 3.1626525878906250e+01 + <_> + 2 + 13760 + -1.3260981113436809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 376608 + 1.3260981113436809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 549581 + -1.3260981113436809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.2085889577865601e-01 + 6.7078651428222656e+01 + <_> + 2 + 307994 + -1.3260981113436809e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 241587 + 1.3260981113436809e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1302082434307391e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1571887731552124e-01 + 2.3027777671813965e+00 + <_> + 1 + 323748 + 1.1302082434307391e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.9133907556533813e-01 + 1.4779894828796387e+01 + <_> + 2 + 5497 + -1.1302082434307391e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 318251 + 1.1302082434307391e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 616201 + -1.1302082434307391e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.3688610792160034e-01 + 1.0265763671875000e+04 + <_> + 2 + 594697 + -1.1302082434307391e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 21504 + 1.1302082434307391e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1478588045320895e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1961421966552734e-01 + 1.1194443702697754e+00 + <_> + 1 + 81288 + -1.1478588045320895e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 6.7029125988483429e-02 + 3.7839164733886719e+00 + <_> + 2 + 20326 + 1.1478588045320895e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 60962 + -1.1478588045320895e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 858661 + 1.1478588045320895e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 4.6163588762283325e-01 + 3.5610752105712891e+00 + <_> + 2 + 8175 + -1.1478588045320895e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 850486 + 1.1478588045320895e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.2154603087352516e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1540750265121460e-01 + 3.9386529541015625e+02 + <_> + 1 + 869595 + -9.2154603087352516e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.6392014622688293e-01 + 3.9249157714843750e+03 + <_> + 2 + 675440 + -9.2154603087352516e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 194155 + 9.2154603087352516e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 70354 + 9.2154603087352516e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.9102222323417664e-02 + 7.2660476684570312e+01 + <_> + 2 + 41016 + 9.2154603087352516e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 29338 + -9.2154603087352516e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.4404947299507564e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1464146375656128e-01 + 1.9950734078884125e-01 + <_> + 1 + 544507 + -1.4404947299507564e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.9966062307357788e-01 + 3.8930503845214844e+01 + <_> + 2 + 254651 + 1.4404947299507564e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 289856 + -1.4404947299507564e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 395442 + 1.4404947299507564e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 2.3628960549831390e-01 + 1.2029939651489258e+01 + <_> + 2 + 165493 + -1.4404947299507564e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 229949 + 1.4404947299507564e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.5787362051583683e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1071768999099731e-01 + 4.9669306725263596e-02 + <_> + 1 + 662177 + 9.5787362051583683e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.5105466246604919e-01 + 4.1431861877441406e+01 + <_> + 2 + 389725 + -9.5787362051583683e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 272452 + 9.5787362051583683e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 277772 + -9.5787362051583683e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 7.2873875498771667e-02 + 1.0166900634765625e+01 + <_> + 2 + 199264 + -9.5787362051583683e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 78508 + 9.5787362051583683e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.3179937781298462e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1794672012329102e-01 + 4.0751495361328125e+01 + <_> + 1 + 521780 + 1.3179937781298462e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.3504495620727539e-01 + 5.0337509765625000e+03 + <_> + 2 + 468251 + 1.3179937781298462e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 53529 + -1.3179937781298462e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 418169 + -1.3179937781298462e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.9785728454589844e-01 + 4.5600231170654297e+01 + <_> + 2 + 23329 + 1.3179937781298462e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 394840 + -1.3179937781298462e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2406194387703730e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1589226722717285e-01 + 1.2832164764404297e+01 + <_> + 1 + 384316 + -1.2406194387703730e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.3038609325885773e-01 + 1.2211467742919922e+01 + <_> + 2 + 238773 + -1.2406194387703730e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 145543 + 1.2406194387703730e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 555633 + 1.2406194387703730e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.0058968067169189e-01 + 9.6565132141113281e+00 + <_> + 2 + 99938 + -1.2406194387703730e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 455695 + 1.2406194387703730e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.4576661867569382e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1913428306579590e-01 + 1.1477750778198242e+01 + <_> + 1 + 453559 + 1.4576661867569382e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.0843305587768555e-01 + 3.9746753871440887e-02 + <_> + 2 + 190227 + 1.4576661867569382e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 263332 + -1.4576661867569382e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 486390 + -1.4576661867569382e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 2.2794422507286072e-01 + 6.6322349548339844e+01 + <_> + 2 + 321520 + -1.4576661867569382e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 164870 + 1.4576661867569382e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0473212032211107e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1375508308410645e-01 + 2.1069567871093750e+02 + <_> + 1 + 577809 + 1.0473212032211107e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.9258355498313904e-01 + 2.0474296063184738e-02 + <_> + 2 + 166361 + -1.0473212032211107e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 411448 + 1.0473212032211107e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 362140 + -1.0473212032211107e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.3357556760311127e-01 + 2.4204508960247040e-01 + <_> + 2 + 318183 + -1.0473212032211107e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43957 + 1.0473212032211107e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.8484693549611887e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1163947582244873e-01 + 9.4814705848693848e-01 + <_> + 1 + 182656 + 8.8484693549611887e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.4984942078590393e-02 + 7.1276817321777344e+01 + <_> + 2 + 161799 + 8.8484693549611887e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 20857 + -8.8484693549611887e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 757293 + -8.8484693549611887e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.6712180972099304e-01 + 8.9122436523437500e+01 + <_> + 2 + 59810 + 8.8484693549611887e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 697483 + -8.8484693549611887e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.2694329415126342e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1684498786926270e-01 + 3.6473352050781250e+02 + <_> + 1 + 16709 + -9.2694329415126342e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 3.5039000213146210e-02 + 1.1056249618530273e+01 + <_> + 2 + 13892 + 9.2694329415126342e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2817 + -9.2694329415126342e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923240 + 9.2694329415126342e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.8811799287796021e-01 + 3.8020561218261719e+01 + <_> + 2 + 813077 + 9.2694329415126342e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 110163 + -9.2694329415126342e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0288841677036091e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1483708620071411e-01 + 3.7499490356445312e+02 + <_> + 1 + 859328 + -1.0288841677036091e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.6046206355094910e-01 + 3.7403319031000137e-02 + <_> + 2 + 428756 + -1.0288841677036091e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 430572 + 1.0288841677036091e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 80621 + 1.0288841677036091e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 6.5237380564212799e-02 + 3.9438748359680176e+00 + <_> + 2 + 28400 + 1.0288841677036091e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 52221 + -1.0288841677036091e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1941188064491802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1235097646713257e-01 + 2.3439809570312500e+03 + <_> + 1 + 542820 + -1.1941188064491802e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.4645562469959259e-01 + 5.0000000000000000e-01 + <_> + 2 + 83385 + 1.1941188064491802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 459435 + -1.1941188064491802e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 397129 + 1.1941188064491802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.8336191177368164e-01 + 2.0504441261291504e+00 + <_> + 2 + 97962 + -1.1941188064491802e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 299167 + 1.1941188064491802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.4549468049911295e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1340091228485107e-01 + 2.2395410537719727e+00 + <_> + 1 + 513799 + 9.4549468049911295e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.8521597981452942e-01 + 2.0108352050781250e+03 + <_> + 2 + 352169 + 9.4549468049911295e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 161630 + -9.4549468049911295e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 426150 + -9.4549468049911295e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.3840379118919373e-01 + 3.7188237905502319e-01 + <_> + 2 + 408593 + -9.4549468049911295e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17557 + 9.4549468049911295e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1020093476539640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1864713430404663e-01 + 5.4867222905158997e-02 + <_> + 1 + 711999 + 1.1020093476539640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.7321084141731262e-01 + 3.2862496948242188e+02 + <_> + 2 + 6770 + -1.1020093476539640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 705229 + 1.1020093476539640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 227950 + -1.1020093476539640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.4311551153659821e-02 + 1.2693084716796875e+01 + <_> + 2 + 168048 + 1.1020093476539640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59902 + -1.1020093476539640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.2193133949371384e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1473861932754517e-01 + 2.0698678970336914e+01 + <_> + 1 + 6985 + 9.2193133949371384e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.6909025385975838e-02 + 2.0887202117592096e-03 + <_> + 2 + 843 + -9.2193133949371384e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6142 + 9.2193133949371384e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 932964 + -9.2193133949371384e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 4.9612295627593994e-01 + 9.6125583648681641e+00 + <_> + 2 + 814279 + -9.2193133949371384e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 118685 + 9.2193133949371384e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.7866499745687521e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1452964544296265e-01 + 1.1132866144180298e-01 + <_> + 1 + 34942 + -9.7866499745687521e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.7213044017553329e-02 + 1.1150000000000000e+02 + <_> + 2 + 7882 + 9.7866499745687521e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 27060 + -9.7866499745687521e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 905007 + 9.7866499745687521e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.7723406553268433e-01 + 7.1007156372070312e+01 + <_> + 2 + 830259 + 9.7866499745687521e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 74748 + -9.7866499745687521e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0249582909718888e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1586729288101196e-01 + 9.6326553821563721e-01 + <_> + 1 + 295381 + 1.0249582909718888e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.1409680545330048e-01 + 1.0866064453125000e+03 + <_> + 2 + 29502 + -1.0249582909718888e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 265879 + 1.0249582909718888e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 644568 + -1.0249582909718888e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.1150474548339844e-01 + 2.2446777343750000e+02 + <_> + 2 + 424692 + -1.0249582909718888e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 219876 + 1.0249582909718888e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0652606811626956e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1579689979553223e-01 + 1.5524687194824219e+02 + <_> + 1 + 408027 + 1.0652606811626956e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.7519327998161316e-01 + 3.6744121551513672e+01 + <_> + 2 + 377784 + 1.0652606811626956e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 30243 + -1.0652606811626956e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 531922 + -1.0652606811626956e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.5141307115554810e-01 + 3.0161577463150024e-01 + <_> + 2 + 522876 + -1.0652606811626956e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9046 + 1.0652606811626956e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1185457094423212e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1340693235397339e-01 + 3.5810890197753906e+01 + <_> + 1 + 436022 + -1.1185457094423212e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.6652441024780273e-01 + 3.4024901390075684e+00 + <_> + 2 + 397573 + 1.1185457094423212e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 38449 + -1.1185457094423212e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 503927 + 1.1185457094423212e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.6141011118888855e-01 + 1.2651381835937500e+03 + <_> + 2 + 110502 + -1.1185457094423212e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 393425 + 1.1185457094423212e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.7932827215946913e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1449972391128540e-01 + 9.4600832462310791e-01 + <_> + 1 + 171520 + 9.7932827215946913e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.0194162875413895e-02 + 2.1649919509887695e+01 + <_> + 2 + 136726 + 9.7932827215946913e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 34794 + -9.7932827215946913e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 768429 + -9.7932827215946913e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 4.7426947951316833e-01 + 9.7234477996826172e+00 + <_> + 2 + 672701 + -9.7932827215946913e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 95728 + 9.7932827215946913e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.9959268783834520e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 5.1604413986206055e-01 + 2.2577753067016602e+00 + <_> + 1 + 6692 + -8.9959268783834520e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.5705030187964439e-02 + 1.8914577484130859e+01 + <_> + 2 + 3700 + 8.9959268783834520e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2992 + -8.9959268783834520e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 933257 + 8.9959268783834520e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 4.9676963686943054e-01 + 1.4926003456115723e+01 + <_> + 2 + 914269 + 8.9959268783834520e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 18988 + -8.9959268783834520e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.3220287722891714e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1328206062316895e-01 + 9.0213537216186523e-01 + <_> + 1 + 45679 + 7.3220287722891714e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.8892276138067245e-03 + 1.1682679748535156e+02 + <_> + 2 + 45619 + 7.3220287722891714e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 60 + -7.3220287722891714e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 894270 + -7.3220287722891714e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 5.1240766048431396e-01 + 1.0657048225402832e+01 + <_> + 2 + 829120 + -7.3220287722891714e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 65150 + 7.3220287722891714e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.9750461990075853e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1521730422973633e-01 + 5.5185436248779297e+01 + <_> + 1 + 700867 + 9.9750461990075853e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.7367221713066101e-01 + 9.0728530883789062e+01 + <_> + 2 + 645328 + 9.9750461990075853e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 55539 + -9.9750461990075853e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 239082 + -9.9750461990075853e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 1.5124475955963135e-01 + 2.7916667461395264e+00 + <_> + 2 + 7855 + 9.9750461990075853e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 231227 + -9.9750461990075853e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1134577094666968e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1574254035949707e-01 + 1.8550380706787109e+01 + <_> + 1 + 561962 + -1.1134577094666968e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.5081800818443298e-01 + 8.2423019409179688e+01 + <_> + 2 + 478035 + -1.1134577094666968e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 83927 + 1.1134577094666968e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 377987 + 1.1134577094666968e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 1.7698970437049866e-01 + 5.0000000000000000e-01 + <_> + 2 + 46159 + -1.1134577094666968e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 331828 + 1.1134577094666968e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.9965563503050386e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1274710893630981e-01 + 7.9649353027343750e+01 + <_> + 1 + 558281 + 9.9965563503050386e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.1131926178932190e-01 + 2.3037192821502686e+00 + <_> + 2 + 269975 + -9.9965563503050386e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 288306 + 9.9965563503050386e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 381668 + -9.9965563503050386e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.1365134418010712e-01 + 1.2518388032913208e+00 + <_> + 2 + 129390 + 9.9965563503050386e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 252278 + -9.9965563503050386e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.7027974257729637e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1138991117477417e-01 + 4.2606941223144531e+01 + <_> + 1 + 552189 + 8.7027974257729637e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.5669866800308228e-01 + 1.0000002384185791e+00 + <_> + 2 + 404291 + 8.7027974257729637e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 147898 + -8.7027974257729637e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 387760 + -8.7027974257729637e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.6504459977149963e-01 + 8.2769302368164062e+01 + <_> + 2 + 223962 + -8.7027974257729637e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 163798 + 8.7027974257729637e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.3982844180968783e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.0998622179031372e-01 + 6.5771188735961914e+00 + <_> + 1 + 694832 + -8.3982844180968783e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.1123777627944946e-01 + 1.5279832482337952e-01 + <_> + 2 + 88851 + 8.3982844180968783e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 605981 + -8.3982844180968783e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 245117 + 8.3982844180968783e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.0974559932947159e-01 + 4.5084171295166016e+01 + <_> + 2 + 163864 + 8.3982844180968783e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 81253 + -8.3982844180968783e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1916632279413154e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1257252693176270e-01 + 1.7084568738937378e-01 + <_> + 1 + 344073 + -1.1916632279413154e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.9984720647335052e-01 + 6.1914779663085938e+01 + <_> + 2 + 194370 + -1.1916632279413154e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 149703 + 1.1916632279413154e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 595876 + 1.1916632279413154e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.2990917563438416e-01 + 9.7737467288970947e-01 + <_> + 2 + 387985 + 1.1916632279413154e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 207891 + -1.1916632279413154e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1287854870653116e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 5.1627111434936523e-01 + 5.0960041046142578e+01 + <_> + 1 + 352212 + 1.1287854870653116e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.8430205583572388e-01 + 1.9669380187988281e+01 + <_> + 2 + 344496 + 1.1287854870653116e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7716 + -1.1287854870653116e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 587737 + -1.1287854870653116e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.4388766288757324e-01 + 6.5050810546875000e+03 + <_> + 2 + 545360 + -1.1287854870653116e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 42377 + 1.1287854870653116e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.8053807332656423e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1429033279418945e-01 + 5.7745811462402344e+01 + <_> + 1 + 428726 + -9.8053807332656423e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.1620678305625916e-01 + 2.7441722154617310e-01 + <_> + 2 + 384916 + -9.8053807332656423e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43810 + 9.8053807332656423e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 511223 + 9.8053807332656423e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.0828703045845032e-01 + 2.5942230224609375e-01 + <_> + 2 + 455485 + 9.8053807332656423e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 55738 + -9.8053807332656423e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.1795950625598699e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1402187347412109e-01 + 1.7400307617187500e+03 + <_> + 1 + 608464 + 9.1795950625598699e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.9332646131515503e-01 + 1.8950000000000000e+02 + <_> + 2 + 453872 + 9.1795950625598699e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 154592 + -9.1795950625598699e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 331485 + -9.1795950625598699e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.2960642576217651e-01 + 7.0761157226562500e+03 + <_> + 2 + 298751 + -9.1795950625598699e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 32734 + 9.1795950625598699e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0262002980224427e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1447802782058716e-01 + 7.0742095947265625e+01 + <_> + 1 + 606257 + -1.0262002980224427e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.1028589010238647e-01 + 9.5564103126525879e-01 + <_> + 2 + 156064 + 1.0262002980224427e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 450193 + -1.0262002980224427e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 333692 + 1.0262002980224427e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.1534661799669266e-01 + 6.3913696289062500e+01 + <_> + 2 + 227185 + 1.0262002980224427e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 106507 + -1.0262002980224427e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.5269309255806275e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1336473226547241e-01 + 1.6194852828979492e+01 + <_> + 1 + 733652 + 9.5269309255806275e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.6268984675407410e-01 + 2.0750000000000000e+02 + <_> + 2 + 563780 + 9.5269309255806275e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 169872 + -9.5269309255806275e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 206297 + -9.5269309255806275e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 6.1109475791454315e-02 + 2.0961490631103516e+01 + <_> + 2 + 166793 + 9.5269309255806275e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 39504 + -9.5269309255806275e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0221759831464151e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1706039905548096e-01 + 7.5304916381835938e+01 + <_> + 1 + 666173 + -1.0221759831464151e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.3650162220001221e-01 + 9.8162543773651123e-01 + <_> + 2 + 565311 + -1.0221759831464151e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 100862 + 1.0221759831464151e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 273776 + 1.0221759831464151e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 8.9030563831329346e-02 + 5.0000000000000000e-01 + <_> + 2 + 30593 + -1.0221759831464151e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 243183 + 1.0221759831464151e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0871136824213226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1150315999984741e-01 + 2.5200626373291016e+01 + <_> + 1 + 189520 + -1.0871136824213226e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.4954216778278351e-01 + 3.6143554687500000e+01 + <_> + 2 + 178324 + -1.0871136824213226e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 11196 + 1.0871136824213226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 750429 + 1.0871136824213226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.7760895490646362e-01 + 7.8792163085937500e+02 + <_> + 2 + 69891 + -1.0871136824213226e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 680538 + 1.0871136824213226e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1040360760653388e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.2000057697296143e-01 + 3.3417877197265625e+01 + <_> + 1 + 187205 + 1.1040360760653388e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 9.9817611277103424e-02 + 1.5752697753906250e+02 + <_> + 2 + 1279 + -1.1040360760653388e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 185926 + 1.1040360760653388e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 752744 + -1.1040360760653388e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.2775529623031616e-01 + 7.8034830093383789e+00 + <_> + 2 + 50950 + 1.1040360760653388e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 701794 + -1.1040360760653388e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0652427639061973e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1562213897705078e-01 + 8.1050701141357422e+00 + <_> + 1 + 114162 + -1.0652427639061973e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 9.8385035991668701e-02 + 3.3612042665481567e-02 + <_> + 2 + 47018 + -1.0652427639061973e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 67144 + 1.0652427639061973e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 825787 + 1.0652427639061973e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.2822086811065674e-01 + 1.2153674662113190e-01 + <_> + 2 + 44259 + -1.0652427639061973e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 781528 + 1.0652427639061973e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0040612460695243e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1709353923797607e-01 + 3.5551582336425781e+01 + <_> + 1 + 73798 + 1.0040612460695243e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 1.0942199081182480e-01 + 1.2250000000000000e+02 + <_> + 2 + 54191 + 1.0040612460695243e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 19607 + -1.0040612460695243e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 866151 + -1.0040612460695243e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.1565847396850586e-01 + 2.7271972656250000e+01 + <_> + 2 + 183377 + 1.0040612460695243e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 682774 + -1.0040612460695243e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.5484531187294427e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.1515024900436401e-01 + 1.0745413208007812e+02 + <_> + 1 + 169272 + -9.5484531187294427e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 8.3884537220001221e-02 + 1.6368326187133789e+01 + <_> + 2 + 23639 + 9.5484531187294427e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 145633 + -9.5484531187294427e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 770677 + 9.5484531187294427e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.3996846675872803e-01 + 5.9278814697265625e+02 + <_> + 2 + 9499 + -9.5484531187294427e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 761178 + 9.5484531187294427e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.3549929003984206e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1499819755554199e-01 + 3.0203989148139954e-01 + <_> + 1 + 905771 + -9.3549929003984206e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 4.9240612983703613e-01 + 1.1240586853027344e+02 + <_> + 2 + 838378 + -9.3549929003984206e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 67393 + 9.3549929003984206e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 34178 + 9.3549929003984206e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.0964301899075508e-02 + 9.7940278053283691e-01 + <_> + 2 + 22324 + 9.3549929003984206e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 11854 + -9.3549929003984206e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.0700068797801635e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1467943191528320e-01 + 8.9687347412109375e+01 + <_> + 1 + 936547 + 7.0700068797801635e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1276344060897827e-01 + 1.0006089210510254e+00 + <_> + 2 + 19411 + -7.0700068797801635e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 917136 + 7.0700068797801635e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3402 + -7.0700068797801635e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.9042003229260445e-03 + 1.2773427581787109e+02 + <_> + 2 + 3178 + -7.0700068797801635e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 224 + 7.0700068797801635e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.4540796843124849e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1058536767959595e-01 + 4.5061874389648438e+01 + <_> + 1 + 447485 + 8.4540796843124849e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.8131595253944397e-01 + 2.2580709308385849e-02 + <_> + 2 + 180345 + -8.4540796843124849e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 267140 + 8.4540796843124849e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 492464 + -8.4540796843124849e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.3980668187141418e-01 + 9.0213525295257568e-01 + <_> + 2 + 20842 + 8.4540796843124849e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 471622 + -8.4540796843124849e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0802084869110026e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1117241382598877e-01 + 1.2718648910522461e+01 + <_> + 1 + 381466 + -1.0802084869110026e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.3209235072135925e-01 + 3.9108800888061523e+00 + <_> + 2 + 335896 + -1.0802084869110026e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 45570 + 1.0802084869110026e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 558483 + 1.0802084869110026e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.9488661885261536e-01 + 1.0866591930389404e+00 + <_> + 2 + 140551 + -1.0802084869110026e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 417932 + 1.0802084869110026e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0409681855586407e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1406484842300415e-01 + 4.3159341812133789e+00 + <_> + 1 + 602738 + 1.0409681855586407e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 3.5198828577995300e-01 + 2.0850000000000000e+02 + <_> + 2 + 440991 + 1.0409681855586407e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 161747 + -1.0409681855586407e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 337211 + -1.0409681855586407e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 1.7401243746280670e-01 + 2.7646877288818359e+01 + <_> + 2 + 285630 + -1.0409681855586407e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 51581 + 1.0409681855586407e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.2676985333180570e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1281064748764038e-01 + 3.3262111663818359e+01 + <_> + 1 + 184280 + 9.2676985333180570e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 9.7014181315898895e-02 + 8.4402847290039062e+00 + <_> + 2 + 56836 + -9.2676985333180570e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 127444 + 9.2676985333180570e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 755669 + -9.2676985333180570e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.2613849043846130e-01 + 6.5771188735961914e+00 + <_> + 2 + 557083 + -9.2676985333180570e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 198586 + 9.2676985333180570e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.0680856772967028e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1107567548751831e-01 + 4.3188662528991699e+00 + <_> + 1 + 815040 + 9.0680856772967028e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.1403180360794067e-01 + 1.9024143218994141e+01 + <_> + 2 + 784965 + 9.0680856772967028e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 30075 + -9.0680856772967028e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 124909 + -9.0680856772967028e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.0862288624048233e-01 + 3.5908348083496094e+01 + <_> + 2 + 18385 + -9.0680856772967028e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 106524 + 9.0680856772967028e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1662341508940306e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1799350976943970e-01 + 1.1056875228881836e+01 + <_> + 1 + 29964 + 1.1662341508940306e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 6.4243853092193604e-02 + 2.9545368194580078e+01 + <_> + 2 + 17222 + 1.1662341508940306e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 12742 + -1.1662341508940306e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 909985 + -1.1662341508940306e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.6487900614738464e-01 + 2.0119082182645798e-02 + <_> + 2 + 174194 + 1.1662341508940306e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 735791 + -1.1662341508940306e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.8432717541454995e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1453846693038940e-01 + 1.6504567116498947e-02 + <_> + 1 + 152505 + -9.8432717541454995e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 4.9194905906915665e-02 + 1.9939944744110107e+00 + <_> + 2 + 82530 + 9.8432717541454995e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 69975 + -9.8432717541454995e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 787444 + 9.8432717541454995e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.7539341449737549e-01 + 1.6343698501586914e+01 + <_> + 2 + 7929 + -9.8432717541454995e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 779515 + 9.8432717541454995e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.1733427480770291e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1604121923446655e-01 + 2.0691448211669922e+01 + <_> + 1 + 6982 + 9.1733427480770291e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.6812275871634483e-02 + 2.0887202117592096e-03 + <_> + 2 + 843 + -9.1733427480770291e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6139 + 9.1733427480770291e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 932967 + -9.1733427480770291e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.9610501527786255e-01 + 3.3226409912109375e+02 + <_> + 2 + 7098 + 9.1733427480770291e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 925869 + -9.1733427480770291e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.3024640252932996e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1365131139755249e-01 + 3.2883883666992188e+02 + <_> + 1 + 6786 + -7.3024640252932996e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.0481588318943977e-02 + 9.6784992218017578e+00 + <_> + 2 + 1953 + 7.3024640252932996e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4833 + -7.3024640252932996e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 933163 + 7.3024640252932996e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.9776646494865417e-01 + 3.3934539556503296e-01 + <_> + 2 + 927688 + 7.3024640252932996e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5475 + -7.3024640252932996e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.5774151188967645e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1113587617874146e-01 + 2.0463119506835938e+01 + <_> + 1 + 910568 + -7.5774151188967645e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.9280345439910889e-01 + 7.0456588745117188e+01 + <_> + 2 + 735219 + -7.5774151188967645e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 175349 + 7.5774151188967645e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 29381 + 7.5774151188967645e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.6131037622690201e-02 + 1.9509376585483551e-01 + <_> + 2 + 8569 + -7.5774151188967645e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 20812 + 7.5774151188967645e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.8167903644580265e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1437771320343018e-01 + 6.1977767944335938e+01 + <_> + 1 + 774008 + 9.8167903644580265e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.1632673144340515e-01 + 6.6416664123535156e+00 + <_> + 2 + 682302 + 9.8167903644580265e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 91706 + -9.8167903644580265e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 165941 + -9.8167903644580265e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.0819554328918457e-01 + 1.0740039062500000e+03 + <_> + 2 + 19226 + 9.8167903644580265e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 146715 + -9.8167903644580265e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.3797428572422945e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1542824506759644e-01 + 9.4423305988311768e-01 + <_> + 1 + 162533 + 9.3797428572422945e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 4.7023918479681015e-02 + 1.9750000000000000e+02 + <_> + 2 + 100683 + -9.3797428572422945e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 61850 + 9.3797428572422945e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 777416 + -9.3797428572422945e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 4.7640827298164368e-01 + 1.1442896270751953e+02 + <_> + 2 + 712609 + -9.3797428572422945e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 64807 + 9.3797428572422945e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 6.9855733689422550e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1463878154754639e-01 + 8.9687347412109375e+01 + <_> + 1 + 936547 + 6.9855733689422550e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1279735565185547e-01 + 2.5450000000000000e+02 + <_> + 2 + 896690 + 6.9855733689422550e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 39857 + -6.9855733689422550e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3402 + -6.9855733689422550e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.6594655141234398e-03 + 1.2773427581787109e+02 + <_> + 2 + 3178 + -6.9855733689422550e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 224 + 6.9855733689422550e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.8618008032255344e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1052582263946533e-01 + 6.0961181640625000e+01 + <_> + 1 + 651488 + -9.8618008032255344e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.5672342777252197e-01 + 6.0163281250000000e+03 + <_> + 2 + 586036 + -9.8618008032255344e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 65452 + 9.8618008032255344e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 288461 + 9.8618008032255344e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 1.6791111230850220e-01 + 4.3159341812133789e+00 + <_> + 2 + 197944 + 9.8618008032255344e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 90517 + -9.8618008032255344e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1300555227614685e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1087939739227295e-01 + 7.7558120727539062e+01 + <_> + 1 + 712698 + 1.1300555227614685e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.3538451194763184e-01 + 4.6403505859375000e+03 + <_> + 2 + 568017 + 1.1300555227614685e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 144681 + -1.1300555227614685e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 227251 + -1.1300555227614685e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 9.2836841940879822e-02 + 5.5609873046875000e+03 + <_> + 2 + 212046 + -1.1300555227614685e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 15205 + 1.1300555227614685e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.2123096838445586e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.1544207334518433e-01 + 4.1111455078125000e+03 + <_> + 1 + 731820 + -1.2123096838445586e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.7174120545387268e-01 + 2.4556973266601562e+02 + <_> + 2 + 535134 + -1.2123096838445586e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 196686 + 1.2123096838445586e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 208129 + 1.2123096838445586e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 1.5852946043014526e-01 + 2.4582362365722656e+02 + <_> + 2 + 119603 + 1.2123096838445586e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 88526 + -1.2123096838445586e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.3351414050983267e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.0907236337661743e-01 + 2.1084733581542969e+02 + <_> + 1 + 578193 + 9.3351414050983267e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.9459452629089355e-01 + 1.5375535190105438e-01 + <_> + 2 + 53653 + -9.3351414050983267e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 524540 + 9.3351414050983267e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 361756 + -9.3351414050983267e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.2872638702392578e-01 + 1.5067446231842041e-01 + <_> + 2 + 82993 + 9.3351414050983267e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 278763 + -9.3351414050983267e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.8365365456057388e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.0892072916030884e-01 + 3.3963266601562500e+03 + <_> + 1 + 672392 + -8.8365365456057388e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.2809808850288391e-01 + 4.1605226695537567e-02 + <_> + 2 + 326731 + -8.8365365456057388e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 345661 + 8.8365365456057388e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 267557 + 8.8365365456057388e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 1.9397889077663422e-01 + 1.0013697147369385e+00 + <_> + 2 + 8759 + -8.8365365456057388e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 258798 + 8.8365365456057388e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.6320378514866870e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.0943094491958618e-01 + 3.9328619837760925e-02 + <_> + 1 + 495043 + 9.6320378514866870e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.6762815713882446e-01 + 1.4560797810554504e-01 + <_> + 2 + 115729 + -9.6320378514866870e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 379314 + 9.6320378514866870e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 444906 + -9.6320378514866870e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.5643332898616791e-01 + 3.9041641235351562e+01 + <_> + 2 + 210994 + 9.6320378514866870e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 233912 + -9.6320378514866870e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0020149185666212e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.1178598403930664e-01 + 1.0164431762695312e+02 + <_> + 1 + 720173 + -1.0020149185666212e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 3.9980518817901611e-01 + 1.1795907974243164e+01 + <_> + 2 + 638834 + -1.0020149185666212e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 81339 + 1.0020149185666212e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 219776 + 1.0020149185666212e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 1.2522424757480621e-01 + 1.3854326171875000e+03 + <_> + 2 + 18266 + -1.0020149185666212e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 201510 + 1.0020149185666212e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.0142561699724210e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1266598701477051e-01 + 7.4361114501953125e+00 + <_> + 1 + 833749 + 8.0142561699724210e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.8009333014488220e-01 + 8.3695732116699219e+01 + <_> + 2 + 828878 + 8.0142561699724210e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4871 + -8.0142561699724210e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 106200 + -8.0142561699724210e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.9931599050760269e-02 + 9.0433025360107422e-01 + <_> + 2 + 47128 + 8.0142561699724210e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59072 + -8.0142561699724210e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.8531581195675044e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1393693685531616e-01 + 2.1005577087402344e+01 + <_> + 1 + 92870 + 8.8531581195675044e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.5871695280075073e-02 + 9.7751682996749878e-01 + <_> + 2 + 31360 + -8.8531581195675044e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 61510 + 8.8531581195675044e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 847079 + -8.8531581195675044e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.6624675393104553e-01 + 9.5650970935821533e-02 + <_> + 2 + 15205 + 8.8531581195675044e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 831874 + -8.8531581195675044e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.0643603190497029e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1349449157714844e-01 + 1.0527777671813965e+00 + <_> + 1 + 67213 + -8.0643603190497029e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.6659560650587082e-02 + 1.5906517207622528e-01 + <_> + 2 + 8074 + 8.0643603190497029e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 59139 + -8.0643603190497029e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 872736 + 8.0643603190497029e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.6349042654037476e-01 + 3.1296426773071289e+01 + <_> + 2 + 32152 + -8.0643603190497029e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 840584 + 8.0643603190497029e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.3408887312940355e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1333922147750854e-01 + 3.5551582336425781e+01 + <_> + 1 + 73798 + 8.3408887312940355e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.0716832429170609e-01 + 9.7878766059875488e-01 + <_> + 2 + 50078 + 8.3408887312940355e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 23720 + -8.3408887312940355e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 866151 + -8.3408887312940355e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.1367182135581970e-01 + 2.4118915557861328e+01 + <_> + 2 + 113583 + 8.3408887312940355e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 752568 + -8.3408887312940355e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0728917495552040e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1237511634826660e-01 + 2.1249774932861328e+01 + <_> + 1 + 28915 + -1.0728917495552040e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.9859049022197723e-02 + 9.7912311553955078e-01 + <_> + 2 + 10718 + -1.0728917495552040e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 18197 + 1.0728917495552040e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 911034 + 1.0728917495552040e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.8693755269050598e-01 + 9.7940850257873535e-01 + <_> + 2 + 690465 + 1.0728917495552040e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 220569 + -1.0728917495552040e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1701912983474262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1750779151916504e-01 + 9.7890961170196533e-01 + <_> + 1 + 682198 + -1.1701912983474262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.5462617278099060e-01 + 3.0072689056396484e-01 + <_> + 2 + 659971 + -1.1701912983474262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 22227 + 1.1701912983474262e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 257751 + 1.1701912983474262e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 7.4595265090465546e-02 + 1.3050000000000000e+02 + <_> + 2 + 40134 + -1.1701912983474262e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 217617 + 1.1701912983474262e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.5613730797816381e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1744431257247925e-01 + 1.2247219085693359e+02 + <_> + 1 + 936426 + 8.5613730797816381e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1352334022521973e-01 + 2.5650000000000000e+02 + <_> + 2 + 900441 + 8.5613730797816381e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 35985 + -8.5613730797816381e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3523 + -8.5613730797816381e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 7.8670568764209747e-03 + 2.6592832803726196e-01 + <_> + 2 + 2054 + 8.5613730797816381e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1469 + -8.5613730797816381e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.6735312322957378e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1344555616378784e-01 + 1.4027777910232544e+00 + <_> + 1 + 130320 + 8.6735312322957378e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 9.0417973697185516e-02 + 2.4074706435203552e-01 + <_> + 2 + 25447 + 8.6735312322957378e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 104873 + -8.6735312322957378e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 809629 + -8.6735312322957378e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.3125227093696594e-01 + 9.3393045663833618e-01 + <_> + 2 + 117895 + 8.6735312322957378e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 691734 + -8.6735312322957378e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.0242236444842213e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1339691877365112e-01 + 3.0695959472656250e+03 + <_> + 1 + 851129 + 8.0242236444842213e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.8779577016830444e-01 + 2.1493236541748047e+01 + <_> + 2 + 786756 + 8.0242236444842213e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 64373 + -8.0242236444842213e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 88820 + -8.0242236444842213e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.2254021614789963e-02 + 9.0213543176651001e-01 + <_> + 2 + 40813 + 8.0242236444842213e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 48007 + -8.0242236444842213e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.1468966820003819e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1222765445709229e-01 + 9.4596225023269653e-01 + <_> + 1 + 171277 + 8.1468966820003819e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 4.7770999372005463e-02 + 8.9500000000000000e+01 + <_> + 2 + 154357 + 8.1468966820003819e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 16920 + -8.1468966820003819e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 768672 + -8.1468966820003819e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 4.7258499264717102e-01 + 9.2105995178222656e+01 + <_> + 2 + 661302 + -8.1468966820003819e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 107370 + 8.1468966820003819e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.1451705022931221e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1278561353683472e-01 + 1.8597670898437500e+03 + <_> + 1 + 645524 + 9.1451705022931221e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.1259974241256714e-01 + 8.0559066772460938e+01 + <_> + 2 + 643966 + 9.1451705022931221e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1558 + -9.1451705022931221e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 294425 + -9.1451705022931221e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.1024726927280426e-01 + 7.1166640625000000e+03 + <_> + 2 + 264982 + -9.1451705022931221e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 29443 + 9.1451705022931221e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.9869671996668505e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1335608959197998e-01 + 9.6258354187011719e-01 + <_> + 1 + 285758 + 9.9869671996668505e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.0445322841405869e-01 + 8.0962127685546875e+01 + <_> + 2 + 159601 + 9.9869671996668505e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 126157 + -9.9869671996668505e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 654191 + -9.9869671996668505e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 4.2049345374107361e-01 + 8.2862075805664062e+01 + <_> + 2 + 501793 + -9.9869671996668505e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 152398 + 9.9869671996668505e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.8995393404377695e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 5.1490581035614014e-01 + 2.1488533020019531e+00 + <_> + 1 + 6188 + -7.8995393404377695e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.3196497932076454e-02 + 1.8914577484130859e+01 + <_> + 2 + 3651 + 7.8995393404377695e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2537 + -7.8995393404377695e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 933761 + 7.8995393404377695e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.9654209613800049e-01 + 5.9278698730468750e+02 + <_> + 2 + 18534 + -7.8995393404377695e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 915227 + 7.8995393404377695e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.3069802982608956e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1076966524124146e-01 + 2.1129188537597656e+01 + <_> + 1 + 95313 + 7.3069802982608956e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.6325383484363556e-02 + 2.7788288116455078e+01 + <_> + 2 + 14399 + -7.3069802982608956e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 80914 + 7.3069802982608956e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 844636 + -7.3069802982608956e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.6193394064903259e-01 + 9.4224190711975098e-01 + <_> + 2 + 151943 + 7.3069802982608956e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 692693 + -7.3069802982608956e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.5284014119540471e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1227766275405884e-01 + 7.2583332061767578e+00 + <_> + 1 + 827599 + 7.5284014119540471e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.7852370142936707e-01 + 1.1127196252346039e-01 + <_> + 2 + 26527 + -7.5284014119540471e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 801072 + 7.5284014119540471e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 112350 + -7.5284014119540471e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.0288418531417847e-02 + 6.5754504203796387e+00 + <_> + 2 + 85827 + -7.5284014119540471e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 26523 + 7.5284014119540471e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -6.7239043695726808e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1022368669509888e-01 + 8.2500000000000000e+01 + <_> + 1 + 10592 + 6.7239043695726808e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.5598151385784149e-02 + 2.9276496887207031e+01 + <_> + 2 + 1126 + -6.7239043695726808e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9466 + 6.7239043695726808e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 929357 + -6.7239043695726808e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.8120528459548950e-01 + 1.2259896484375000e+04 + <_> + 2 + 914623 + -6.7239043695726808e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 14734 + 6.7239043695726808e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.8109874412406910e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1145505905151367e-01 + 2.1249774932861328e+01 + <_> + 1 + 28915 + -7.8109874412406910e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.7226170301437378e-02 + 9.7948110103607178e-01 + <_> + 2 + 11023 + -7.8109874412406910e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17892 + 7.8109874412406910e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 911034 + 7.8109874412406910e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.8229137063026428e-01 + 2.1740995407104492e+01 + <_> + 2 + 17562 + -7.8109874412406910e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 893472 + 7.8109874412406910e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.3889439851449801e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1225376129150391e-01 + 3.9744672179222107e-01 + <_> + 1 + 841247 + -7.3889439851449801e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.0090205669403076e-01 + 7.5189315795898438e+01 + <_> + 2 + 825971 + -7.3889439851449801e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 15276 + 7.3889439851449801e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 98702 + 7.3889439851449801e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.7561897635459900e-02 + 9.1909484863281250e+01 + <_> + 2 + 67207 + 7.3889439851449801e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31495 + -7.3889439851449801e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.2464617387381705e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 5.1211899518966675e-01 + 3.5976135253906250e+01 + <_> + 1 + 822391 + 7.2464617387381705e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.8770624399185181e-01 + 2.2657241821289062e+01 + <_> + 2 + 707093 + 7.2464617387381705e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 115298 + -7.2464617387381705e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 117558 + -7.2464617387381705e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 3.0401989817619324e-02 + 1.0657048225402832e+01 + <_> + 2 + 52342 + -7.2464617387381705e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 65216 + 7.2464617387381705e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.5468331774474012e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1163858175277710e-01 + 2.3131701660156250e+03 + <_> + 1 + 759460 + -7.5468331774474012e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.5115607976913452e-01 + 3.8149261474609375e+00 + <_> + 2 + 30564 + 7.5468331774474012e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 728896 + -7.5468331774474012e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 180489 + 7.5468331774474012e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 6.7702054977416992e-02 + 2.2213289141654968e-01 + <_> + 2 + 105285 + -7.5468331774474012e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 75204 + 7.5468331774474012e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.5340115140718977e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1288437843322754e-01 + 1.0873125076293945e+01 + <_> + 1 + 24839 + -7.5340115140718977e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.3778979927301407e-02 + 8.1874121093750000e+02 + <_> + 2 + 2897 + 7.5340115140718977e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 21942 + -7.5340115140718977e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 915110 + 7.5340115140718977e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.6504715085029602e-01 + 8.3843841552734375e+02 + <_> + 2 + 110256 + -7.5340115140718977e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 804854 + 7.5340115140718977e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.2961739232204420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1062929630279541e-01 + 7.7204910278320312e+01 + <_> + 1 + 829688 + -7.2961739232204420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.6198007464408875e-01 + 1.4616707031250000e+04 + <_> + 2 + 820148 + -7.2961739232204420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 9540 + 7.2961739232204420e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 110261 + 7.2961739232204420e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.6252285838127136e-02 + 1.6002917289733887e-01 + <_> + 2 + 11571 + 7.2961739232204420e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 98690 + -7.2961739232204420e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 6.9085031075190817e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1334100961685181e-01 + 3.2862496948242188e+02 + <_> + 1 + 6770 + -6.9085031075190817e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.9802030175924301e-02 + 2.3638277053833008e+01 + <_> + 2 + 4586 + -6.9085031075190817e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2184 + 6.9085031075190817e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 933179 + 6.9085031075190817e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.9746236205101013e-01 + 1.2247219085693359e+02 + <_> + 2 + 929656 + 6.9085031075190817e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3523 + -6.9085031075190817e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -6.5135799717405254e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.0997900962829590e-01 + 1.6958400726318359e+01 + <_> + 1 + 30499 + 6.5135799717405254e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.2121390104293823e-02 + 1.5752697753906250e+02 + <_> + 2 + 1279 + -6.5135799717405254e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 29220 + 6.5135799717405254e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 909450 + -6.5135799717405254e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.8415681719779968e-01 + 9.2957198619842529e-01 + <_> + 2 + 102287 + 6.5135799717405254e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 807163 + -6.5135799717405254e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 6.7121523411906470e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1070320606231689e-01 + 6.8305559158325195e+00 + <_> + 1 + 810376 + 6.7121523411906470e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.7155928611755371e-01 + 2.2669214755296707e-02 + <_> + 2 + 141986 + -6.7121523411906470e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 668390 + 6.7121523411906470e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 129573 + -6.7121523411906470e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.5214787125587463e-02 + 9.1136169433593750e-01 + <_> + 2 + 59038 + 6.7121523411906470e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 70535 + -6.7121523411906470e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.2258588204175915e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.0979942083358765e-01 + 2.3646846413612366e-02 + <_> + 1 + 242637 + 9.2258588204175915e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.2459499388933182e-01 + 4.8942436218261719e+01 + <_> + 2 + 216987 + 9.2258588204175915e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 25650 + -9.2258588204175915e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 697312 + -9.2258588204175915e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.9845332503318787e-01 + 8.8724197387695312e+01 + <_> + 2 + 32833 + 9.2258588204175915e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 664479 + -9.2258588204175915e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.2414446790697690e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1558572053909302e-01 + 3.6480801391601562e+02 + <_> + 1 + 16714 + -8.2414446790697690e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.3692657947540283e-02 + 3.7838444709777832e+00 + <_> + 2 + 13546 + 8.2414446790697690e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3168 + -8.2414446790697690e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923235 + 8.2414446790697690e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.8689928650856018e-01 + 2.0956485748291016e+01 + <_> + 2 + 18896 + -8.2414446790697690e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 904339 + 8.2414446790697690e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.0159142314968707e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1253300905227661e-01 + 7.7489433288574219e+01 + <_> + 1 + 831903 + -8.0159142314968707e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.6546125411987305e-01 + 6.1990652233362198e-02 + <_> + 2 + 714401 + -8.0159142314968707e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 117502 + 8.0159142314968707e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 108046 + 8.0159142314968707e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.4567810148000717e-02 + 2.9249999523162842e+00 + <_> + 2 + 5140 + -8.0159142314968707e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 102906 + 8.0159142314968707e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.6435336318017544e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1143181324005127e-01 + 7.6274375915527344e+01 + <_> + 1 + 704230 + 8.6435336318017544e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.2848521471023560e-01 + 6.0689468383789062e+00 + <_> + 2 + 506340 + 8.6435336318017544e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 197890 + -8.6435336318017544e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 235719 + -8.6435336318017544e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 9.3110173940658569e-02 + 5.2815126953125000e+03 + <_> + 2 + 216187 + -8.6435336318017544e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 19532 + 8.6435336318017544e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.6299361674348424e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.1346254348754883e-01 + 4.3611497879028320e+00 + <_> + 1 + 617236 + -9.6299361674348424e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.6838540434837341e-01 + 1.0912328720092773e+01 + <_> + 2 + 263504 + -9.6299361674348424e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 353732 + 9.6299361674348424e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 322713 + 9.6299361674348424e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.5567083656787872e-01 + 2.2957393646240234e+01 + <_> + 2 + 273893 + 9.6299361674348424e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 48820 + -9.6299361674348424e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.2800181074087835e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1375198364257812e-01 + 1.0303613662719727e+01 + <_> + 1 + 347177 + 1.2800181074087835e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 2.2165440022945404e-01 + 1.9226037597656250e+02 + <_> + 2 + 272232 + 1.2800181074087835e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 74945 + -1.2800181074087835e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 592772 + -1.2800181074087835e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.1030243635177612e-01 + 3.0082355499267578e+01 + <_> + 2 + 114246 + 1.2800181074087835e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 478526 + -1.2800181074087835e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2758327088320612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.2071052789688110e-01 + 1.8625845336914062e+02 + <_> + 1 + 519844 + -1.2758327088320612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 2.4517355859279633e-01 + 5.2453964233398438e+01 + <_> + 2 + 449058 + -1.2758327088320612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 70786 + 1.2758327088320612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 420105 + 1.2758327088320612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.8667905926704407e-01 + 8.0124511718750000e+00 + <_> + 2 + 15931 + -1.2758327088320612e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 404174 + 1.2758327088320612e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1556975128644291e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1384389400482178e-01 + 3.0361111164093018e+00 + <_> + 1 + 456431 + 1.1556975128644291e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.7896773815155029e-01 + 2.7141433209180832e-02 + <_> + 2 + 82542 + -1.1556975128644291e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 373889 + 1.1556975128644291e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 483518 + -1.1556975128644291e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 2.4989259243011475e-01 + 1.4688331604003906e+02 + <_> + 2 + 90994 + 1.1556975128644291e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 392524 + -1.1556975128644291e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.1387202331095281e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1328349113464355e-01 + 3.0473126098513603e-02 + <_> + 1 + 355953 + 1.1387202331095281e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.5208243727684021e-01 + 2.0887202117592096e-03 + <_> + 2 + 843 + -1.1387202331095281e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 355110 + 1.1387202331095281e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 583996 + -1.1387202331095281e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.7635484933853149e-01 + 5.2909439086914062e+01 + <_> + 2 + 109291 + 1.1387202331095281e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 474705 + -1.1387202331095281e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0990809231734344e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1957875490188599e-01 + 5.7762901306152344e+01 + <_> + 1 + 429016 + -1.0990809231734344e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.1701892614364624e-01 + 2.1533111572265625e+01 + <_> + 2 + 7767 + 1.0990809231734344e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 421249 + -1.0990809231734344e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 510933 + 1.0990809231734344e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.1043047308921814e-01 + 1.8651330471038818e+00 + <_> + 2 + 185707 + -1.0990809231734344e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 325226 + 1.0990809231734344e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.1302797002674709e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1348185539245605e-01 + 3.6480801391601562e+02 + <_> + 1 + 16714 + -7.1302797002674709e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.3132173120975494e-02 + 9.6784992218017578e+00 + <_> + 2 + 1966 + 7.1302797002674709e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 14748 + -7.1302797002674709e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923235 + 7.1302797002674709e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.8468598723411560e-01 + 5.2694444656372070e+00 + <_> + 2 + 701817 + 7.1302797002674709e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 221418 + -7.1302797002674709e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.1355971249010228e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1226305961608887e-01 + 7.4459777832031250e+01 + <_> + 1 + 655746 + -8.1355971249010228e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.2784062027931213e-01 + 1.4689365386962891e+01 + <_> + 2 + 474179 + -8.1355971249010228e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 181567 + 8.1355971249010228e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 284203 + 8.1355971249010228e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 9.2487148940563202e-02 + 2.6068437099456787e-01 + <_> + 2 + 257260 + 8.1355971249010228e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 26943 + -8.1355971249010228e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.1873296930504139e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1383638381958008e-01 + 1.3917081832885742e+01 + <_> + 1 + 666300 + 9.1873296930504139e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.1398775577545166e-01 + 3.3934539556503296e-01 + <_> + 2 + 661024 + 9.1873296930504139e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5276 + -9.1873296930504139e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 273649 + -9.1873296930504139e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.0896442085504532e-01 + 1.7041602730751038e-01 + <_> + 2 + 73384 + 9.1873296930504139e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 200265 + -9.1873296930504139e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.2419900827061882e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1255029439926147e-01 + 7.6530525207519531e+01 + <_> + 1 + 680531 + -8.2419900827061882e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.3775960803031921e-01 + 3.6212229728698730e-01 + <_> + 2 + 595452 + -8.2419900827061882e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 85079 + 8.2419900827061882e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 259418 + 8.2419900827061882e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 8.2833699882030487e-02 + 1.4494836330413818e-01 + <_> + 2 + 32312 + -8.2419900827061882e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 227106 + 8.2419900827061882e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 5.8195910720962994e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1076304912567139e-01 + 3.2862496948242188e+02 + <_> + 1 + 6770 + -5.8195910720962994e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.9483391195535660e-02 + 2.3545037955045700e-02 + <_> + 2 + 4271 + -5.8195910720962994e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2499 + 5.8195910720962994e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 933179 + 5.8195910720962994e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.9506148695945740e-01 + 5.7734259033203125e+02 + <_> + 2 + 14723 + -5.8195910720962994e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 918456 + 5.8195910720962994e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.0868419482808410e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1056963205337524e-01 + 2.4845570325851440e-02 + <_> + 1 + 262591 + 9.0868419482808410e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.4444598555564880e-01 + 4.8942436218261719e+01 + <_> + 2 + 232758 + 9.0868419482808410e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 29833 + -9.0868419482808410e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 677358 + -9.0868419482808410e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.7825548648834229e-01 + 3.3225021362304688e+02 + <_> + 2 + 6090 + 9.0868419482808410e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 671268 + -9.0868419482808410e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.3879513095381270e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1341784000396729e-01 + 2.4794376373291016e+01 + <_> + 1 + 181554 + -9.3879513095381270e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.4344008266925812e-01 + 7.8456152343750000e+02 + <_> + 2 + 18636 + 9.3879513095381270e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 162918 + -9.3879513095381270e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 758395 + 9.3879513095381270e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.8001257181167603e-01 + 6.6320623779296875e+02 + <_> + 2 + 28007 + -9.3879513095381270e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 730388 + 9.3879513095381270e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.9845847805733259e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1359522342681885e-01 + 2.0583333969116211e+00 + <_> + 1 + 273068 + 9.9845847805733259e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 1.5204519033432007e-01 + 5.3405029296875000e+01 + <_> + 2 + 148524 + 9.9845847805733259e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 124544 + -9.9845847805733259e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 666881 + -9.9845847805733259e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.7289556860923767e-01 + 3.1982746124267578e+01 + <_> + 2 + 128311 + 9.9845847805733259e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 538570 + -9.9845847805733259e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.3919512814304065e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1630872488021851e-01 + 8.3809625244140625e+02 + <_> + 1 + 210529 + -9.3919512814304065e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.4106523990631104e-01 + 3.3075317382812500e+01 + <_> + 2 + 186666 + -9.3919512814304065e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 23863 + 9.3919512814304065e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 729420 + 9.3919512814304065e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.8239741325378418e-01 + 8.1059589385986328e+00 + <_> + 2 + 20642 + -9.3919512814304065e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 708778 + 9.3919512814304065e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.3286147255598963e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1171511411666870e-01 + 3.5518180847167969e+01 + <_> + 1 + 73499 + 8.3286147255598963e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.0630647838115692e-01 + 9.6968495845794678e-01 + <_> + 2 + 30252 + -8.3286147255598963e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 43247 + 8.3286147255598963e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 866450 + -8.3286147255598963e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.1450303792953491e-01 + 2.9694503784179688e+01 + <_> + 2 + 232618 + 8.3286147255598963e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 633832 + -8.3286147255598963e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.9451920948802550e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 5.1334905624389648e-01 + 6.7580406188964844e+01 + <_> + 1 + 381093 + -9.9451920948802550e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.2956003248691559e-01 + 3.4562306404113770e+00 + <_> + 2 + 320644 + -9.9451920948802550e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 60449 + 9.9451920948802550e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 558856 + 9.9451920948802550e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.9528248310089111e-01 + 5.4131675720214844e+01 + <_> + 2 + 55603 + -9.9451920948802550e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 503253 + 9.9451920948802550e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.7484575846720475e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.0921845436096191e-01 + 1.1477750778198242e+01 + <_> + 1 + 453559 + 9.7484575846720475e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 2.9782015085220337e-01 + 4.6675849914550781e+01 + <_> + 2 + 124874 + -9.7484575846720475e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 328685 + 9.7484575846720475e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 486390 + -9.7484575846720475e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.2653171420097351e-01 + 2.5138888359069824e+00 + <_> + 2 + 40222 + 9.7484575846720475e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 446168 + -9.7484575846720475e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0489068721059110e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1210880279541016e-01 + 4.3557140976190567e-02 + <_> + 1 + 569543 + 1.0489068721059110e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.0671634674072266e-01 + 6.6202972412109375e+01 + <_> + 2 + 492654 + 1.0489068721059110e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 76889 + -1.0489068721059110e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 370406 + -1.0489068721059110e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.1948232352733612e-01 + 1.0475438117980957e+01 + <_> + 2 + 175368 + -1.0489068721059110e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 195038 + 1.0489068721059110e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.3640786361259234e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1513731479644775e-01 + 7.1042518615722656e+01 + <_> + 1 + 766440 + -9.3640786361259234e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.3155348300933838e-01 + 2.0463119506835938e+01 + <_> + 2 + 742247 + -9.3640786361259234e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 24193 + 9.3640786361259234e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 173509 + 9.3640786361259234e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 9.1839611530303955e-02 + 1.1991396484375000e+03 + <_> + 2 + 6411 + -9.3640786361259234e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 167098 + 9.3640786361259234e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.2110063967193492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1329803466796875e-01 + 5.2015617370605469e+01 + <_> + 1 + 321342 + 1.2110063967193492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.5662544369697571e-01 + 3.9916667938232422e+00 + <_> + 2 + 229848 + 1.2110063967193492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 91494 + -1.2110063967193492e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 618607 + -1.2110063967193492e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.7361276745796204e-01 + 3.0552150681614876e-02 + <_> + 2 + 133924 + 1.2110063967193492e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 484683 + -1.2110063967193492e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1883732064945969e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1413631439208984e-01 + 3.5184942185878754e-02 + <_> + 1 + 434288 + -1.1883732064945969e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 3.3258283138275146e-01 + 1.8326249122619629e+00 + <_> + 2 + 120222 + 1.1883732064945969e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 314066 + -1.1883732064945969e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 505661 + 1.1883732064945969e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 1.9709157943725586e-01 + 1.2805453491210938e+02 + <_> + 2 + 103597 + -1.1883732064945969e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 402064 + 1.1883732064945969e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.5209721526612168e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 5.1127165555953979e-01 + 5.7878948211669922e+01 + <_> + 1 + 474844 + 9.5209721526612168e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.4760969877243042e-01 + 4.4236723333597183e-02 + <_> + 2 + 399453 + 9.5209721526612168e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 75391 + -9.5209721526612168e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 465105 + -9.5209721526612168e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.7617475986480713e-01 + 5.1848793945312500e+03 + <_> + 2 + 416818 + -9.5209721526612168e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 48287 + 9.5209721526612168e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0623421539921347e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1427578926086426e-01 + 2.1393588185310364e-01 + <_> + 1 + 357893 + -1.0623421539921347e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.0796292424201965e-01 + 9.5831578969955444e-01 + <_> + 2 + 128441 + 1.0623421539921347e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 229452 + -1.0623421539921347e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 582056 + 1.0623421539921347e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.1857069432735443e-01 + 9.1728906631469727e+00 + <_> + 2 + 154778 + -1.0623421539921347e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 427278 + 1.0623421539921347e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.8074675364156094e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.1148182153701782e-01 + 1.0465257644653320e+01 + <_> + 1 + 362757 + 9.8074675364156094e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.3092493414878845e-01 + 3.3313110470771790e-02 + <_> + 2 + 101489 + 9.8074675364156094e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 261268 + -9.8074675364156094e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 577192 + -9.8074675364156094e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 2.9357409477233887e-01 + 3.7736026763916016e+01 + <_> + 2 + 124775 + 9.8074675364156094e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 452417 + -9.8074675364156094e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0359002693278439e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 5.1835864782333374e-01 + 4.8388854980468750e+01 + <_> + 1 + 107186 + -1.0359002693278439e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.0784414410591125e-01 + 5.5886039733886719e+01 + <_> + 2 + 83462 + -1.0359002693278439e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 23724 + 1.0359002693278439e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 832763 + 1.0359002693278439e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.1803023219108582e-01 + 2.5985252380371094e+01 + <_> + 2 + 17842 + -1.0359002693278439e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 814921 + 1.0359002693278439e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.8198803525203415e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1493400335311890e-01 + 1.7083332538604736e+00 + <_> + 1 + 194453 + 8.8198803525203415e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.1511732637882233e-01 + 2.7744205668568611e-02 + <_> + 2 + 33358 + -8.8198803525203415e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 161095 + 8.8198803525203415e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 745496 + -8.8198803525203415e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.0691810846328735e-01 + 3.2193367004394531e+01 + <_> + 2 + 176096 + 8.8198803525203415e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 569400 + -8.8198803525203415e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.5319567469694435e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1347285509109497e-01 + 1.7780647277832031e+00 + <_> + 1 + 262405 + -8.5319567469694435e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 7.9224467277526855e-02 + 2.3705536127090454e-01 + <_> + 2 + 173592 + 8.5319567469694435e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 88813 + -8.5319567469694435e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 677544 + 8.5319567469694435e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.4209250807762146e-01 + 2.1491771697998047e+01 + <_> + 2 + 584008 + 8.5319567469694435e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 93536 + -8.5319567469694435e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.5582321207290984e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1142048835754395e-01 + 2.0529514312744141e+01 + <_> + 1 + 83892 + 7.5582321207290984e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.0806883722543716e-02 + 5.0637893676757812e+00 + <_> + 2 + 79822 + 7.5582321207290984e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4070 + -7.5582321207290984e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 856057 + -7.5582321207290984e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.6807971596717834e-01 + 6.1299880981445312e+01 + <_> + 2 + 571635 + -7.5582321207290984e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 284422 + 7.5582321207290984e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.0557212230028296e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.0872755050659180e-01 + 1.7083332538604736e+00 + <_> + 1 + 194453 + 7.0557212230028296e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.1494127660989761e-01 + 2.5290709733963013e-01 + <_> + 2 + 53183 + 7.0557212230028296e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 141270 + -7.0557212230028296e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 745496 + -7.0557212230028296e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 4.0269070863723755e-01 + 2.6766842603683472e-01 + <_> + 2 + 485595 + -7.0557212230028296e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 259901 + 7.0557212230028296e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.5915839530178353e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1210051774978638e-01 + 7.9001876831054688e+01 + <_> + 1 + 722107 + 8.5915839530178353e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.3606504797935486e-01 + 1.0130571289062500e+03 + <_> + 2 + 143780 + -8.5915839530178353e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 578327 + 8.5915839530178353e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 217842 + -8.5915839530178353e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 8.5400700569152832e-02 + 7.7776007652282715e+00 + <_> + 2 + 178634 + -8.5915839530178353e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 39208 + 8.5915839530178353e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.1871690515561377e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.1166379451751709e-01 + 1.7350000000000000e+02 + <_> + 1 + 472830 + -1.1871690515561377e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.6101397871971130e-01 + 4.1575707495212555e-02 + <_> + 2 + 337772 + -1.1871690515561377e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 135058 + 1.1871690515561377e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 467119 + 1.1871690515561377e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.6863043606281281e-01 + 6.2376068115234375e+01 + <_> + 2 + 336697 + 1.1871690515561377e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 130422 + -1.1871690515561377e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.9747021423423631e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1039820909500122e-01 + 4.5376876831054688e+01 + <_> + 1 + 450760 + 7.9747021423423631e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.8535002470016479e-01 + 4.5416669845581055e+00 + <_> + 2 + 350887 + 7.9747021423423631e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 99873 + -7.9747021423423631e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 489189 + -7.9747021423423631e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.3457618057727814e-01 + 1.7607159423828125e+03 + <_> + 2 + 237195 + -7.9747021423423631e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 251994 + 7.9747021423423631e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -1.0458336468928661e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1354891061782837e-01 + 2.3132567107677460e-01 + <_> + 1 + 714357 + -1.0458336468928661e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 3.8229107856750488e-01 + 1.1761998046875000e+04 + <_> + 2 + 696679 + -1.0458336468928661e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 17678 + 1.0458336468928661e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 225592 + 1.0458336468928661e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.4383094012737274e-01 + 3.7486991882324219e+01 + <_> + 2 + 140318 + -1.0458336468928661e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 85274 + 1.0458336468928661e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0116176671351323e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1337283849716187e-01 + 4.1362483054399490e-02 + <_> + 1 + 528160 + 1.0116176671351323e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.8520646095275879e-01 + 2.3988038301467896e-01 + <_> + 2 + 456793 + 1.0116176671351323e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 71367 + -1.0116176671351323e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 411789 + -1.0116176671351323e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.4006242156028748e-01 + 3.9607601165771484e+01 + <_> + 2 + 200827 + 1.0116176671351323e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 210962 + -1.0116176671351323e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.8587283797664668e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.1170921325683594e-01 + 2.2789442539215088e-01 + <_> + 1 + 698319 + -9.8587283797664668e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.7315154075622559e-01 + 7.7017005920410156e+01 + <_> + 2 + 501613 + -9.8587283797664668e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 196706 + 9.8587283797664668e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 241630 + 9.8587283797664668e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.5147534012794495e-01 + 7.9469665527343750e+01 + <_> + 2 + 155563 + 9.8587283797664668e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 86067 + -9.8587283797664668e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.2388925867946902e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1272624731063843e-01 + 2.4836845397949219e+00 + <_> + 1 + 8336 + -7.2388925867946902e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.8353475034236908e-02 + 2.1864805221557617e+01 + <_> + 2 + 4716 + 7.2388925867946902e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3620 + -7.2388925867946902e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 931613 + 7.2388925867946902e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.8973587155342102e-01 + 1.9532299041748047e+01 + <_> + 2 + 899770 + 7.2388925867946902e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 31843 + -7.2388925867946902e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -6.9927448485946411e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.1072293519973755e-01 + 8.3762603759765625e+01 + <_> + 1 + 870511 + -6.9927448485946411e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.8741468787193298e-01 + 2.1392341613769531e+01 + <_> + 2 + 100383 + 6.9927448485946411e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 770128 + -6.9927448485946411e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 69438 + 6.9927448485946411e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.0060056596994400e-02 + 2.4718548583984375e+02 + <_> + 2 + 5962 + -6.9927448485946411e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 63476 + 6.9927448485946411e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.2269446935734366e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 5.1198285818099976e-01 + 4.1848121643066406e+01 + <_> + 1 + 55631 + -7.2269446935734366e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 7.9731270670890808e-02 + 8.2703430175781250e+02 + <_> + 2 + 5002 + 7.2269446935734366e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 50629 + -7.2269446935734366e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 884318 + 7.2269446935734366e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.3832823634147644e-01 + 5.5659802246093750e+02 + <_> + 2 + 31695 + -7.2269446935734366e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 852623 + 7.2269446935734366e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.1999307597837292e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1122826337814331e-01 + 1.4027777910232544e+00 + <_> + 1 + 130320 + 7.1999307597837292e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 8.8670313358306885e-02 + 2.0237146377563477e+01 + <_> + 2 + 19142 + -7.1999307597837292e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 111178 + 7.1999307597837292e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 809629 + -7.1999307597837292e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.2932173609733582e-01 + 7.3771652221679688e+01 + <_> + 2 + 780723 + -7.1999307597837292e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 28906 + 7.1999307597837292e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 6.6314611340506965e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1069760322570801e-01 + 3.6350097656250000e+02 + <_> + 1 + 16619 + -6.6314611340506965e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.4099999815225601e-02 + 3.7838444709777832e+00 + <_> + 2 + 13487 + 6.6314611340506965e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3132 + -6.6314611340506965e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 923330 + 6.6314611340506965e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 4.8247256875038147e-01 + 6.7861108779907227e+00 + <_> + 2 + 791820 + 6.6314611340506965e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 131510 + -6.6314611340506965e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -7.8905796369653489e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1127386093139648e-01 + 9.3714785575866699e-01 + <_> + 1 + 130472 + 7.8905796369653489e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.6708597093820572e-02 + 1.4108461141586304e-01 + <_> + 2 + 31678 + -7.8905796369653489e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 98794 + 7.8905796369653489e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 809477 + -7.8905796369653489e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.8300760984420776e-01 + 4.2025224609375000e+03 + <_> + 2 + 646531 + -7.8905796369653489e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 162946 + 7.8905796369653489e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 7.8072262911372578e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.1048618555068970e-01 + 1.3338859379291534e-01 + <_> + 1 + 72512 + -7.8072262911372578e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 9.2181146144866943e-02 + 2.2968001365661621e+00 + <_> + 2 + 17394 + 7.8072262911372578e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 55118 + -7.8072262911372578e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 867437 + 7.8072262911372578e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 4.2732700705528259e-01 + 1.9246902465820312e+00 + <_> + 2 + 362527 + -7.8072262911372578e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 504910 + 7.8072262911372578e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.2238364194507275e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1418399810791016e-01 + 2.2395410537719727e+00 + <_> + 1 + 513799 + 9.2238364194507275e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.8378044664859772e-01 + 1.2741674423217773e+01 + <_> + 2 + 303902 + -9.2238364194507275e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 209897 + 9.2238364194507275e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 426150 + -9.2238364194507275e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.3926281332969666e-01 + 3.8725262880325317e-01 + <_> + 2 + 412951 + -9.2238364194507275e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 13199 + 9.2238364194507275e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 6.8149442290896436e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1459604501724243e-01 + 1.1534797668457031e+01 + <_> + 1 + 1694 + -6.8149442290896436e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 7.3195197619497776e-03 + 3.0557768554687500e+03 + <_> + 2 + 550 + 6.8149442290896436e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1144 + -6.8149442290896436e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 938255 + 6.8149442290896436e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.0971126556396484e-01 + 9.0099792480468750e+01 + <_> + 2 + 935151 + 6.8149442290896436e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3104 + -6.8149442290896436e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.3064027551599024e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.0871545076370239e-01 + 1.4050000000000000e+02 + <_> + 1 + 190472 + 9.3064027551599024e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 2.1024987101554871e-01 + 9.7942411899566650e-01 + <_> + 2 + 141929 + 9.3064027551599024e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 48543 + -9.3064027551599024e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 749477 + -9.3064027551599024e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 3.1299936771392822e-01 + 9.7865974903106689e-01 + <_> + 2 + 537369 + -9.3064027551599024e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 212108 + 9.3064027551599024e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 8.3429426841054810e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1083725690841675e-01 + 9.8939685058593750e+02 + <_> + 1 + 293459 + -8.3429426841054810e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.8333186209201813e-01 + 9.8017108440399170e-01 + <_> + 2 + 148283 + -8.3429426841054810e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 145176 + 8.3429426841054810e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 646490 + 8.3429426841054810e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.3751341700553894e-01 + 4.4099445343017578e+01 + <_> + 2 + 49053 + -8.3429426841054810e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 597437 + 8.3429426841054810e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -9.1370924959347538e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.1122385263442993e-01 + 2.6027777194976807e+00 + <_> + 1 + 380777 + 9.1370924959347538e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.2420799732208252e-01 + 1.5382666885852814e-01 + <_> + 2 + 20466 + -9.1370924959347538e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 360311 + 9.1370924959347538e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 559172 + -9.1370924959347538e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.9861885309219360e-01 + 3.1233376264572144e-01 + <_> + 2 + 555373 + -9.1370924959347538e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3799 + 9.1370924959347538e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 1.0525025290225019e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.1245540380477905e-01 + 1.3024299316406250e+03 + <_> + 1 + 444184 + -1.0525025290225019e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.8796845674514771e-01 + 4.8693733215332031e+01 + <_> + 2 + 414164 + -1.0525025290225019e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 30020 + 1.0525025290225019e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 495765 + 1.0525025290225019e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 2.3831984400749207e-01 + 3.5366456508636475e+00 + <_> + 2 + 395233 + 1.0525025290225019e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 100532 + -1.0525025290225019e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + 9.9200526586580143e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.1484316587448120e-01 + 4.9804302215576172e+01 + <_> + 1 + 642680 + 9.9200526586580143e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 3.4121102094650269e-01 + 9.1308612823486328e+00 + <_> + 2 + 596472 + 9.9200526586580143e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 46208 + -9.9200526586580143e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 297269 + -9.9200526586580143e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 1.8356879055500031e-01 + 4.7991874694824219e+01 + <_> + 2 + 28000 + 9.9200526586580143e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 269269 + -9.9200526586580143e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 939949 + -8.1278822395898273e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.1284188032150269e-01 + 1.8550380706787109e+01 + <_> + 1 + 561962 + -8.1278822395898273e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.4744775295257568e-01 + 1.3132913038134575e-02 + <_> + 2 + 111699 + 8.1278822395898273e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 450263 + -8.1278822395898273e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 377987 + 8.1278822395898273e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 1.7286077141761780e-01 + 1.2966735839843750e+03 + <_> + 2 + 88788 + -8.1278822395898273e-02 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 289199 + 8.1278822395898273e-02 + 1 + 0 + 0 + 0. + 0. + 0. + 0.
+
diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_conditional_field_weights.txt b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_conditional_field_weights.txt new file mode 100644 index 0000000..bf28f59 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_conditional_field_weights.txt @@ -0,0 +1,35 @@ + 0.0315632 + 0.130265 + 0.230182 + 0.120392 + 0.235773 + 0.111072 + 0.153368 + 0.0664334 + 0.254045 + 0.116998 + 0.1993 + 0.091067 + 0.0397418 + 0.414929 + 0.0781084 + 0.0429856 +-0.0506238 + 0.252552 + 0.249195 + 0.157152 + 0.409335 + 0.28834 + 0.284801 + 0.0958252 + 0.139567 + 0.305824 + 0.33268 + 0.148952 + 0.287684 + 0.378066 + 0.499984 + 0.39717 + 0.282108 + 0.548368 + 0.537415 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_doorway_boost.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_doorway_boost.xml new file mode 100644 index 0000000..bc1c3b7 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_doorway_boost.xml @@ -0,0 +1,3260 @@ + + + + DiscreteAdaboost + 3 + 35 + 1. + 1 + 28 + 28 + 28 + 0 + + 0 + 10 + 2 + 10 + 0 + + 1 + 2 +
d
+ + 1. 1.
+ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + 1 + 1 +
i
+ + 2
+ + 1 + 2 +
i
+ + -1 1
+ + <_> + -1 + + <_> + 0 + 9107 + -3.2714055917456113e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 9.6310532093048096e-01 + 55. + <_> + 1 + 38 + 3.2714055917456113e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 3.9530033245682716e-03 + 4.3359134674072266e+01 + <_> + 2 + 2 + -3.2714055917456113e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 36 + 3.2714055917456113e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 9069 + -3.2714055917456113e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 9.5948171615600586e-01 + 2.4549925231933594e+02 + <_> + 2 + 9066 + -3.2714055917456113e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3 + 3.2714055917456113e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -2.3152649157339633e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 8.7555474042892456e-01 + 170. + <_> + 1 + 1161 + 2.3152649157339633e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 4.5387151837348938e-01 + 110. + <_> + 2 + 625 + -2.3152649157339633e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 536 + 2.3152649157339633e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 7946 + -2.3152649157339633e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 4.5626187324523926e-01 + 5.0481063842773438e+01 + <_> + 2 + 7781 + -2.3152649157339633e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 165 + 2.3152649157339633e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 1.6100350400745878e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 7.2100114822387695e-01 + 7.9208981990814209e-01 + <_> + 1 + 4332 + -1.6100350400745878e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 2.1469165384769440e-01 + 8.9369656250000000e+05 + <_> + 2 + 4281 + -1.6100350400745878e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 51 + 1.6100350400745878e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4775 + 1.6100350400745878e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 6.1872458457946777e-01 + 4.1944444179534912e-01 + <_> + 2 + 2452 + 1.6100350400745878e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2323 + -1.6100350400745878e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -9.2897773716780951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 6.5099722146987915e-01 + 3.5741989135742188e+01 + <_> + 1 + 5324 + -9.2897773716780951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.8559100627899170e-01 + 7.7840313720703125e+02 + <_> + 2 + 264 + 9.2897773716780951e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5060 + -9.2897773716780951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3783 + 9.2897773716780951e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 4.3127682805061340e-01 + 1.1550946235656738e+00 + <_> + 2 + 2882 + -9.2897773716780951e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 901 + 9.2897773716780951e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 8.4761073934510067e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 6.4322030544281006e-01 + 6.6717926025390625e+01 + <_> + 1 + 6279 + -8.4761073934510067e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 3.7461647391319275e-01 + 8.8262379169464111e-02 + <_> + 2 + 911 + 8.4761073934510067e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5368 + -8.4761073934510067e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2828 + 8.4761073934510067e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 3.2544922828674316e-01 + 2.5000000372529030e-02 + <_> + 2 + 1623 + -8.4761073934510067e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1205 + 8.4761073934510067e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -6.8203305172393069e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 6.0584831237792969e-01 + 270. + <_> + 1 + 5464 + 6.8203305172393069e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 5.3175848722457886e-01 + 9.9500000000000000e+01 + <_> + 2 + 2965 + -6.8203305172393069e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2499 + 6.8203305172393069e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3643 + -6.8203305172393069e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 1.3242444396018982e-01 + 3.9999997615814209e-01 + <_> + 2 + 1 + -6.8203305172393069e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3642 + -6.8203305172393069e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -6.8717287466109556e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.9576237201690674e-01 + 6.3829338073730469e+01 + <_> + 1 + 4957 + -6.8717287466109556e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.2716684639453888e-01 + 7.2365472412109375e+02 + <_> + 2 + 198 + 6.8717287466109556e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4759 + -6.8717287466109556e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4150 + 6.8717287466109556e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 4.3817088007926941e-01 + 1.7850000000000000e+02 + <_> + 2 + 3634 + 6.8717287466109556e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 516 + -6.8717287466109556e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -6.6399674013829491e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 6.1477029323577881e-01 + 1.2550000000000000e+02 + <_> + 1 + 7371 + -6.6399674013829491e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 5.1602345705032349e-01 + 8.1892893750000000e+05 + <_> + 2 + 7338 + -6.6399674013829491e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 33 + 6.6399674013829491e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1736 + 6.6399674013829491e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.4413419365882874e-01 + 1.8449199199676514e-01 + <_> + 2 + 703 + -6.6399674013829491e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1033 + 6.6399674013829491e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 6.7159186942512283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 6.0821497440338135e-01 + 3.7500000000000000e+01 + <_> + 1 + 4219 + 6.7159186942512283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 4.0776279568672180e-01 + 270. + <_> + 2 + 2183 + 6.7159186942512283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2036 + -6.7159186942512283e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4888 + -6.7159186942512283e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 2.5409671664237976e-01 + 1.5013561248779297e+00 + <_> + 2 + 3390 + -6.7159186942512283e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1498 + 6.7159186942512283e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -6.2809361212419890e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.8938223123550415e-01 + 1.5500000000000000e+01 + <_> + 1 + 2964 + 6.2809361212419890e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 1.8443775177001953e-01 + 1.0236372947692871e+00 + <_> + 2 + 2227 + -6.2809361212419890e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 737 + 6.2809361212419890e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 6143 + -6.2809361212419890e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 4.6761932969093323e-01 + 8.2522457838058472e-01 + <_> + 2 + 2341 + 6.2809361212419890e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3802 + -6.2809361212419890e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 7.0723932494989528e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.8280897140502930e-01 + 5.2326019287109375e+01 + <_> + 1 + 6982 + 7.0723932494989528e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.1291543841362000e-01 + 2.7679210662841797e+01 + <_> + 2 + 3720 + -7.0723932494989528e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3262 + 7.0723932494989528e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2125 + -7.0723932494989528e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.5687542557716370e-01 + 1.8152867257595062e-01 + <_> + 2 + 1253 + 7.0723932494989528e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 872 + -7.0723932494989528e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -6.2584596498195966e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.9209883213043213e-01 + 4.1250659942626953e+01 + <_> + 1 + 5070 + 6.2584596498195966e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.1918424963951111e-01 + 1.3500000000000000e+01 + <_> + 2 + 1887 + 6.2584596498195966e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3183 + -6.2584596498195966e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4037 + -6.2584596498195966e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 4.3236270546913147e-01 + 1.2050000000000000e+02 + <_> + 2 + 3165 + -6.2584596498195966e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 872 + 6.2584596498195966e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 6.1904643227130030e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 5.7970148324966431e-01 + 170. + <_> + 1 + 1161 + 6.1904643227130030e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 3.3826807141304016e-01 + 8.4383964538574219e-02 + <_> + 2 + 138 + -6.1904643227130030e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1023 + 6.1904643227130030e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 7946 + -6.1904643227130030e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.1173357367515564e-01 + 2.1469295024871826e-01 + <_> + 2 + 6329 + -6.1904643227130030e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1617 + 6.1904643227130030e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -6.3131072039408431e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 5.7840973138809204e-01 + 3.0634849548339844e+01 + <_> + 1 + 7789 + -6.3131072039408431e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.7280678749084473e-01 + 3.2754845619201660e+00 + <_> + 2 + 7573 + -6.3131072039408431e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 216 + 6.3131072039408431e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1318 + 6.3131072039408431e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.7997982501983643e-01 + 1.3653913140296936e-01 + <_> + 2 + 555 + -6.3131072039408431e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 763 + 6.3131072039408431e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 6.5502294805462713e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 6.1450338363647461e-01 + 1.2136831134557724e-01 + <_> + 1 + 5667 + 6.5502294805462713e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 5.2657282352447510e-01 + 5.4250793457031250e+01 + <_> + 2 + 5532 + 6.5502294805462713e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 135 + -6.5502294805462713e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3440 + -6.5502294805462713e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 1.3156862556934357e-01 + 5.0000000000000000e-01 + <_> + 2 + 42 + 6.5502294805462713e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3398 + -6.5502294805462713e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.0226863579218839e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.8985453844070435e-01 + 9.5000000000000000e+00 + <_> + 1 + 2414 + 5.0226863579218839e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 1.0689283907413483e-01 + 1.8055555224418640e-01 + <_> + 2 + 2211 + -5.0226863579218839e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 203 + 5.0226863579218839e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 6693 + -5.0226863579218839e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.1609945297241211e-01 + 1.4911785125732422e+00 + <_> + 2 + 123 + 5.0226863579218839e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6570 + -5.0226863579218839e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.7991872916504247e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 5.8454781770706177e-01 + 270. + <_> + 1 + 5464 + 4.7991872916504247e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 5.5896860361099243e-01 + 1.8550000000000000e+02 + <_> + 2 + 4425 + 4.7991872916504247e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1039 + -4.7991872916504247e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3643 + -4.7991872916504247e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 5.8760087937116623e-02 + 1.4157611131668091e-01 + <_> + 2 + 3424 + -4.7991872916504247e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 219 + 4.7991872916504247e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.1678353149475698e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 5.8672708272933960e-01 + 1.5460885763168335e+00 + <_> + 1 + 6012 + -5.1678353149475698e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 4.2891278862953186e-01 + 3.8852580566406250e+03 + <_> + 2 + 5942 + -5.1678353149475698e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 70 + 5.1678353149475698e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3095 + 5.1678353149475698e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 1.9748255610466003e-01 + 2.9461697265625000e+04 + <_> + 2 + 1710 + -5.1678353149475698e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1385 + 5.1678353149475698e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.0363490149754094e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.5959206819534302e-01 + 2.7556386718750000e+03 + <_> + 1 + 7882 + 4.0363490149754094e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 4.4465914368629456e-01 + 5.2763319015502930e-01 + <_> + 2 + 2963 + -4.0363490149754094e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4919 + 4.0363490149754094e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1225 + -4.0363490149754094e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 1.5490151941776276e-01 + 6.4314804077148438e+01 + <_> + 2 + 225 + 4.0363490149754094e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1000 + -4.0363490149754094e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.9095934231959842e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.8047777414321899e-01 + 8.6264999389648438e+01 + <_> + 1 + 7440 + -4.9095934231959842e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 4.4410687685012817e-01 + 1.0182608366012573e+00 + <_> + 2 + 742 + 4.9095934231959842e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6698 + -4.9095934231959842e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1667 + 4.9095934231959842e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 1.7622554302215576e-01 + 1.1985499572753906e+02 + <_> + 2 + 463 + 4.9095934231959842e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1204 + -4.9095934231959842e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 5.0451759294742304e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.6870746612548828e-01 + 1.5613188743591309e+00 + <_> + 1 + 4478 + -5.0451759294742304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.6170817017555237e-01 + 8.5175827026367188e+01 + <_> + 2 + 4180 + -5.0451759294742304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 298 + 5.0451759294742304e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4629 + 5.0451759294742304e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 3.6181223392486572e-01 + 1.7850000000000000e+02 + <_> + 2 + 3738 + 5.0451759294742304e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 891 + -5.0451759294742304e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.8549094627092687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.6624644994735718e-01 + 4.1566818237304688e+01 + <_> + 1 + 5120 + 4.8549094627092687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 2.1347649395465851e-01 + 170. + <_> + 2 + 444 + 4.8549094627092687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4676 + -4.8549094627092687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3987 + -4.8549094627092687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 4.0556713938713074e-01 + 8.3500000000000000e+01 + <_> + 2 + 2284 + 4.8549094627092687e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1703 + -4.8549094627092687e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.4357375720496384e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 5.6585323810577393e-01 + 1.0664761066436768e+00 + <_> + 1 + 1768 + 4.4357375720496384e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 1.4249736070632935e-01 + 4.8953857421875000e+03 + <_> + 2 + 1438 + 4.4357375720496384e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 330 + -4.4357375720496384e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 7339 + -4.4357375720496384e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.6661290526390076e-01 + 4.1567359924316406e+01 + <_> + 2 + 4129 + 4.4357375720496384e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3210 + -4.4357375720496384e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 5.1670651941009904e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.7469356060028076e-01 + 5.1958709716796875e+01 + <_> + 1 + 6391 + -5.1670651941009904e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 2.8974708914756775e-01 + 205. + <_> + 2 + 3431 + -5.1670651941009904e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2960 + 5.1670651941009904e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2716 + 5.1670651941009904e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.3663022518157959e-01 + 1.3901821899414062e+02 + <_> + 2 + 2505 + 5.1670651941009904e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 211 + -5.1670651941009904e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.9175005119569001e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.5667036771774292e-01 + 2.3750000000000000e+00 + <_> + 1 + 2527 + 3.9175005119569001e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.1789477616548538e-01 + 1.9780056476593018e+00 + <_> + 2 + 955 + -3.9175005119569001e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1572 + 3.9175005119569001e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 6580 + -3.9175005119569001e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 4.7880914807319641e-01 + 2.9500000000000000e+01 + <_> + 2 + 4174 + -3.9175005119569001e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2406 + 3.9175005119569001e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.1470802376187574e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 5.5831867456436157e-01 + 170. + <_> + 1 + 1161 + 5.1470802376187574e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 3.9778375625610352e-01 + 6.7979972839355469e+01 + <_> + 2 + 765 + 5.1470802376187574e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 396 + -5.1470802376187574e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 7946 + -5.1470802376187574e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.2812573611736298e-01 + 9.2190345764160156e+01 + <_> + 2 + 7313 + -5.1470802376187574e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 633 + 5.1470802376187574e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.2337279493316338e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.6844371557235718e-01 + 1.1582202148437500e+02 + <_> + 1 + 7561 + -4.2337279493316338e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.7152063846588135e-01 + 1.1693493652343750e+03 + <_> + 2 + 3161 + 4.2337279493316338e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4400 + -4.2337279493316338e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1546 + 4.2337279493316338e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 2.3276942968368530e-01 + 6.9638891220092773e+00 + <_> + 2 + 1219 + 4.2337279493316338e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 327 + -4.2337279493316338e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.5821621806657103e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.8577603101730347e-01 + 5.7022949218750000e+01 + <_> + 1 + 3774 + -4.5821621806657103e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 1.4161908626556396e-01 + 205. + <_> + 2 + 1937 + -4.5821621806657103e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1837 + 4.5821621806657103e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5333 + 4.5821621806657103e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 4.7097182273864746e-01 + 270. + <_> + 2 + 3496 + 4.5821621806657103e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1837 + -4.5821621806657103e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.7843490616237097e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 5.6317996978759766e-01 + 1.0272638702392578e+02 + <_> + 1 + 8130 + -3.7843490616237097e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.0669294595718384e-01 + 1.4659145474433899e-01 + <_> + 2 + 2015 + 3.7843490616237097e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6115 + -3.7843490616237097e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 977 + 3.7843490616237097e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 8.6802639067173004e-02 + 3.0500000000000000e+01 + <_> + 2 + 472 + 3.7843490616237097e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 505 + -3.7843490616237097e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.4811816939793903e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.7101595401763916e-01 + 2.0504987239837646e-01 + <_> + 1 + 3615 + -4.4811816939793903e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.5422197580337524e-01 + 6.0896649956703186e-02 + <_> + 2 + 3062 + -4.4811816939793903e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 553 + 4.4811816939793903e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5492 + 4.4811816939793903e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 3.5596972703933716e-01 + 1.4530952453613281e+01 + <_> + 2 + 3831 + -4.4811816939793903e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1661 + 4.4811816939793903e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.1148184795391379e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 5.6035870313644409e-01 + 9.9717175960540771e-01 + <_> + 1 + 4861 + -4.1148184795391379e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.9316196441650391e-01 + 9.5117878913879395e-01 + <_> + 2 + 494 + 4.1148184795391379e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4367 + -4.1148184795391379e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4246 + 4.1148184795391379e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.0828117728233337e-01 + 1.6942491754889488e-02 + <_> + 2 + 2732 + -4.1148184795391379e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1514 + 4.1148184795391379e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.3029155546966441e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.6485289335250854e-01 + 2.3122344166040421e-02 + <_> + 1 + 4543 + 4.3029155546966441e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 2.2718144953250885e-01 + 360. + <_> + 2 + 2882 + 4.3029155546966441e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1661 + -4.3029155546966441e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4564 + -4.3029155546966441e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.7876182794570923e-01 + 9.5000000000000000e+00 + <_> + 2 + 2356 + 4.3029155546966441e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2208 + -4.3029155546966441e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.1773668811624759e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.6275844573974609e-01 + 2.7182479858398438e+02 + <_> + 1 + 7297 + -4.1773668811624759e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 3.6964702606201172e-01 + 3.7593054771423340e-01 + <_> + 2 + 6400 + -4.1773668811624759e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 897 + 4.1773668811624759e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1810 + 4.1773668811624759e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 2.3329451680183411e-01 + 5.7824768066406250e+02 + <_> + 2 + 1337 + 4.1773668811624759e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 473 + -4.1773668811624759e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 3.7409012181142703e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.5900222063064575e-01 + 2.5404727935791016e+01 + <_> + 1 + 3041 + -3.7409012181142703e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 6.6533848643302917e-02 + 8.0045714974403381e-02 + <_> + 2 + 183 + 3.7409012181142703e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2858 + -3.7409012181142703e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 6066 + 3.7409012181142703e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.2591305971145630e-01 + 5.0168984375000000e+03 + <_> + 2 + 4591 + 3.7409012181142703e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1475 + -3.7409012181142703e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.0148831215433622e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.6105279922485352e-01 + 1.4739143848419189e-01 + <_> + 1 + 2280 + 4.0148831215433622e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 1.3512298464775085e-01 + 1.3335093855857849e-01 + <_> + 2 + 1782 + 4.0148831215433622e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 498 + -4.0148831215433622e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 6827 + -4.0148831215433622e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 4.6392220258712769e-01 + 1.4722222089767456e-01 + <_> + 2 + 2657 + 4.0148831215433622e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4170 + -4.0148831215433622e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0.
+
diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_hallway_boost.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_hallway_boost.xml new file mode 100644 index 0000000..1971177 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_hallway_boost.xml @@ -0,0 +1,3260 @@ + + + + DiscreteAdaboost + 3 + 35 + 1. + 1 + 28 + 28 + 28 + 0 + + 0 + 10 + 2 + 10 + 0 + + 1 + 2 +
d
+ + 1. 1.
+ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + 1 + 1 +
i
+ + 2
+ + 1 + 2 +
i
+ + -1 1
+ + <_> + -1 + + <_> + 0 + 9107 + -2.3498728981776389e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 8.9634346961975098e-01 + 6.6852409362792969e+01 + <_> + 1 + 7681 + -2.3498728981776389e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 7.8093773126602173e-01 + 7.5708389282226562e+00 + <_> + 2 + 7532 + -2.3498728981776389e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 149 + 2.3498728981776389e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1426 + 2.3498728981776389e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 1.3198637962341309e-01 + 9.3578100204467773e-01 + <_> + 2 + 1238 + 2.3498728981776389e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 188 + -2.3498728981776389e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -1.6132361966763005e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 7.6537060737609863e-01 + 4.2279670715332031e+01 + <_> + 1 + 6116 + -1.6132361966763005e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.8815322518348694e-01 + 3.4980114746093750e+02 + <_> + 2 + 68 + 1.6132361966763005e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6048 + -1.6132361966763005e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2991 + 1.6132361966763005e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.4570696353912354e-01 + 1.3932722806930542e-01 + <_> + 2 + 549 + -1.6132361966763005e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2442 + 1.6132361966763005e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -8.6550204224557181e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 6.5861845016479492e-01 + 4.0388727188110352e+00 + <_> + 1 + 7734 + -8.6550204224557181e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.2588081359863281e-01 + 1.6050000000000000e+02 + <_> + 2 + 7122 + -8.6550204224557181e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 612 + 8.6550204224557181e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1373 + 8.6550204224557181e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.7792810499668121e-01 + 2.3789729923009872e-02 + <_> + 2 + 367 + -8.6550204224557181e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1006 + 8.6550204224557181e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 1.7418811673013059e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 6.9076508283615112e-01 + 4.9995690584182739e-02 + <_> + 1 + 6736 + 1.7418811673013059e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 6.0081732273101807e-01 + 2.2865723818540573e-02 + <_> + 2 + 4506 + -1.7418811673013059e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2230 + 1.7418811673013059e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2371 + -1.7418811673013059e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 2.5010851025581360e-01 + 2.2531497192382812e+02 + <_> + 2 + 2003 + -1.7418811673013059e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 368 + 1.7418811673013059e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -6.1239962291525207e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 6.1669647693634033e-01 + 8.4107868373394012e-02 + <_> + 1 + 1193 + 6.1239962291525207e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 1.1767710745334625e-01 + 1.6722180175781250e+02 + <_> + 2 + 450 + -6.1239962291525207e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 743 + 6.1239962291525207e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 7914 + -6.1239962291525207e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.3081089258193970e-01 + 1.4006979370117188e+02 + <_> + 2 + 7625 + -6.1239962291525207e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 289 + 6.1239962291525207e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 9.1579372703108464e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 6.5173763036727905e-01 + 1.2015671730041504e+00 + <_> + 1 + 5305 + 9.1579372703108464e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.5489611625671387e-01 + 9.7820323705673218e-01 + <_> + 2 + 3417 + 9.1579372703108464e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1888 + -9.1579372703108464e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3802 + -9.1579372703108464e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 1.5928816795349121e-01 + 1.8055555224418640e-01 + <_> + 2 + 68 + 9.1579372703108464e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3734 + -9.1579372703108464e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -8.6551874205548596e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 6.1528581380844116e-01 + 6.6963409423828125e+01 + <_> + 1 + 7686 + 8.6551874205548596e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 4.4570353627204895e-01 + 4.1311408996582031e+01 + <_> + 2 + 5079 + -8.6551874205548596e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2607 + 8.6551874205548596e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1421 + -8.6551874205548596e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 2.5810885429382324e-01 + 1.0591673851013184e+00 + <_> + 2 + 145 + 8.6551874205548596e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1276 + -8.6551874205548596e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -6.2614995057232792e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.9996426105499268e-01 + 9.7818785905838013e-01 + <_> + 1 + 7185 + -6.2614995057232792e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 5.0314968824386597e-01 + 2.3851454687500000e+05 + <_> + 2 + 6646 + -6.2614995057232792e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 539 + 6.2614995057232792e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1922 + 6.2614995057232792e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.4846630394458771e-01 + 9.8264855146408081e-01 + <_> + 2 + 777 + 6.2614995057232792e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1145 + -6.2614995057232792e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 6.2991355645422531e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.9118473529815674e-01 + 3.3339038085937500e+03 + <_> + 1 + 6044 + 6.2991355645422531e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.9555683732032776e-01 + 6.2690764665603638e-02 + <_> + 2 + 4856 + 6.2991355645422531e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1188 + -6.2991355645422531e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3063 + -6.2991355645422531e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.5691303610801697e-01 + 1.1739651858806610e-01 + <_> + 2 + 621 + 6.2991355645422531e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2442 + -6.2991355645422531e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.3693540876437640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 5.8123505115509033e-01 + 5.0875937938690186e-01 + <_> + 1 + 3368 + 5.3693540876437640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 2.7925282716751099e-01 + 1.3729497790336609e-01 + <_> + 2 + 2283 + 5.3693540876437640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1085 + -5.3693540876437640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5739 + -5.3693540876437640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 3.5184639692306519e-01 + 1.6750000000000000e+02 + <_> + 2 + 4035 + -5.3693540876437640e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1704 + 5.3693540876437640e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.8439268669317326e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.6430369615554810e-01 + 2.5947868824005127e+00 + <_> + 1 + 5606 + -4.8439268669317326e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.9663595557212830e-01 + 3.9991921386718750e+03 + <_> + 2 + 4874 + -4.8439268669317326e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 732 + 4.8439268669317326e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3501 + 4.8439268669317326e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.2214865088462830e-01 + 1.1504754424095154e-01 + <_> + 2 + 316 + -4.8439268669317326e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3185 + 4.8439268669317326e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.5437128649510958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.7781493663787842e-01 + 2.2847714843750000e+03 + <_> + 1 + 4479 + 5.5437128649510958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 2.8067153692245483e-01 + 1.2577197265625000e+02 + <_> + 2 + 2399 + -5.5437128649510958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2080 + 5.5437128649510958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4628 + -5.5437128649510958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 3.5447761416435242e-01 + 1.3909022521972656e+02 + <_> + 2 + 4345 + -5.5437128649510958e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 283 + 5.5437128649510958e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 5.1617004625401719e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 5.7309782505035400e-01 + 1.2401015758514404e+00 + <_> + 1 + 5400 + 5.1617004625401719e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.1140254735946655e-01 + 4.0250364691019058e-02 + <_> + 2 + 2528 + 5.1617004625401719e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2872 + -5.1617004625401719e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3707 + -5.1617004625401719e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 1.1484922468662262e-01 + 1.3003096875000000e+05 + <_> + 2 + 3570 + -5.1617004625401719e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 137 + 5.1617004625401719e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 5.1095995142958284e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.9661746025085449e-01 + 2.8615169227123260e-02 + <_> + 1 + 5241 + -5.1095995142958284e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 2.1537163853645325e-01 + 7.1873486042022705e-02 + <_> + 2 + 118 + 5.1095995142958284e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5123 + -5.1095995142958284e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3866 + 5.1095995142958284e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 4.0965983271598816e-01 + 170. + <_> + 2 + 573 + -5.1095995142958284e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3293 + 5.1095995142958284e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 5.2964126402070311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 5.6208497285842896e-01 + 5.3500000000000000e+01 + <_> + 1 + 3278 + -5.2964126402070311e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.6643174886703491e-01 + 9.9117996215820312e+01 + <_> + 2 + 2709 + -5.2964126402070311e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 569 + 5.2964126402070311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5829 + 5.2964126402070311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 3.6296769976615906e-01 + 2.4722221493721008e-01 + <_> + 2 + 2507 + 5.2964126402070311e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3322 + -5.2964126402070311e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.1827892565724454e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 5.6495547294616699e-01 + 7.6652656250000000e+04 + <_> + 1 + 6548 + -5.1827892565724454e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.6618286967277527e-01 + 1.0029506683349609e+02 + <_> + 2 + 6381 + -5.1827892565724454e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 167 + 5.1827892565724454e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2559 + 5.1827892565724454e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 3.6056235432624817e-01 + 7.5181976318359375e+01 + <_> + 2 + 1238 + 5.1827892565724454e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1321 + -5.1827892565724454e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.5883209311338768e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.7222849130630493e-01 + 1.7901263236999512e+00 + <_> + 1 + 2055 + -4.5883209311338768e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 1.0671431571245193e-01 + 2.0302377641201019e-01 + <_> + 2 + 369 + 4.5883209311338768e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1686 + -4.5883209311338768e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 7052 + 4.5883209311338768e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.0602275133132935e-01 + 2.7500000000000000e+01 + <_> + 2 + 4921 + 4.5883209311338768e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2131 + -4.5883209311338768e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.3320922136911183e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 5.7254517078399658e-01 + 2.4733764648437500e+03 + <_> + 1 + 7396 + -4.3320922136911183e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 4.4614291191101074e-01 + 1.5950000000000000e+02 + <_> + 2 + 6660 + -4.3320922136911183e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 736 + 4.3320922136911183e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1711 + 4.3320922136911183e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.6049681603908539e-01 + 9.4378352165222168e-01 + <_> + 2 + 896 + -4.3320922136911183e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 815 + 4.3320922136911183e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.7336203324773962e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 5.7051217555999756e-01 + 3.3268468750000000e+04 + <_> + 1 + 3973 + -4.7336203324773962e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 1.0071597993373871e-01 + 1.4042949676513672e-01 + <_> + 2 + 525 + 4.7336203324773962e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3448 + -4.7336203324773962e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5134 + 4.7336203324773962e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.1546323299407959e-01 + 1.1625519561767578e+02 + <_> + 2 + 4341 + 4.7336203324773962e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 793 + -4.7336203324773962e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.0796412912997546e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.7402479648590088e-01 + 4.1616348266601562e+01 + <_> + 1 + 6033 + 5.0796412912997546e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.7215172946453094e-01 + 2.1717445373535156e+01 + <_> + 2 + 1642 + -5.0796412912997546e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4391 + 5.0796412912997546e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3074 + -5.0796412912997546e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.5217737555503845e-01 + 7.8341827392578125e+01 + <_> + 2 + 2129 + -5.0796412912997546e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 945 + 5.0796412912997546e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.8899738965688907e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.5270242691040039e-01 + 2.4500000000000000e+01 + <_> + 1 + 3924 + 3.8899738965688907e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.6205247640609741e-01 + 1.2210161983966827e-01 + <_> + 2 + 386 + -3.8899738965688907e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3538 + 3.8899738965688907e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5183 + -3.8899738965688907e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 3.3398884534835815e-01 + 1.3739262521266937e-01 + <_> + 2 + 4429 + -3.8899738965688907e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 754 + 3.8899738965688907e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.0197101477146691e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 5.5070811510086060e-01 + 2.2617143630981445e+01 + <_> + 1 + 6669 + 4.0197101477146691e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 3.6117196083068848e-01 + 3.9646132812500000e+04 + <_> + 2 + 3784 + -4.0197101477146691e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2885 + 4.0197101477146691e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2438 + -4.0197101477146691e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 2.3798917233943939e-01 + 1.3255763053894043e-01 + <_> + 2 + 796 + 4.0197101477146691e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1642 + -4.0197101477146691e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.3726200931165862e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.5675232410430908e-01 + 4.6216423034667969e+01 + <_> + 1 + 3585 + 3.3726200931165862e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 1.0723788291215897e-01 + 7.4369716644287109e+00 + <_> + 2 + 3479 + 3.3726200931165862e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 106 + -3.3726200931165862e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5522 + -3.3726200931165862e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.7628739476203918e-01 + 2.7282537841796875e+02 + <_> + 2 + 5408 + -3.3726200931165862e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 114 + 3.3726200931165862e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 5.0462966898521189e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.6343489885330200e-01 + 9.7466319799423218e-01 + <_> + 1 + 6634 + 5.0462966898521189e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 4.2315843701362610e-01 + 360. + <_> + 2 + 4627 + 5.0462966898521189e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2007 + -5.0462966898521189e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2473 + -5.0462966898521189e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 2.0038825273513794e-01 + 360. + <_> + 2 + 2127 + -5.0462966898521189e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 346 + 5.0462966898521189e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.3392332539242695e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.6129997968673706e-01 + 1.1564830017089844e+02 + <_> + 1 + 7553 + 4.3392332539242695e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 3.8729444146156311e-01 + 2.5300484150648117e-02 + <_> + 2 + 4667 + -4.3392332539242695e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2886 + 4.3392332539242695e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1554 + -4.3392332539242695e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 2.1951568126678467e-01 + 5.5000000000000000e+00 + <_> + 2 + 270 + 4.3392332539242695e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1284 + -4.3392332539242695e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.3902185392370994e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 5.5517673492431641e-01 + 1.1114417968750000e+05 + <_> + 1 + 7301 + -5.3902185392370994e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.7256091833114624e-01 + 2.0056053996086121e-01 + <_> + 2 + 4944 + -5.3902185392370994e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2357 + 5.3902185392370994e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1806 + 5.3902185392370994e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>1 + 2.5902390480041504e-01 + 1.0350888061523438e+02 + <_> + 2 + 522 + 5.3902185392370994e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1284 + -5.3902185392370994e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.1612895044485407e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.7063508033752441e-01 + 1.7287626862525940e-01 + <_> + 1 + 4351 + 5.1612895044485407e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.7733165025711060e-01 + 1.1576941609382629e-01 + <_> + 2 + 623 + -5.1612895044485407e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3728 + 5.1612895044485407e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4756 + -5.1612895044485407e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.4891048073768616e-01 + 2.9192537069320679e-01 + <_> + 2 + 965 + 5.1612895044485407e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3791 + -5.1612895044485407e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.8710311692021926e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.5621719360351562e-01 + 4.8389980468750000e+03 + <_> + 1 + 7300 + 3.8710311692021926e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 4.3817147612571716e-01 + 1.3809230327606201e+00 + <_> + 2 + 4483 + 3.8710311692021926e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2817 + -3.8710311692021926e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1807 + -3.8710311692021926e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 1.5741367638111115e-01 + 2.3230450000000000e+05 + <_> + 2 + 1656 + -3.8710311692021926e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 151 + 3.8710311692021926e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.5836902616031433e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 5.7203811407089233e-01 + 1.6857043457031250e+02 + <_> + 1 + 8715 + -4.5836902616031433e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.2488130331039429e-01 + 3.6255528926849365e+00 + <_> + 2 + 6956 + -4.5836902616031433e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1759 + 4.5836902616031433e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 392 + 4.5836902616031433e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 8.7745875120162964e-02 + 1.4793472290039062e+02 + <_> + 2 + 336 + 4.5836902616031433e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 56 + -4.5836902616031433e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.5206466576034049e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 5.4853254556655884e-01 + 3.2135329246520996e+00 + <_> + 1 + 6738 + 4.5206466576034049e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 3.7530311942100525e-01 + 3.8451132178306580e-01 + <_> + 2 + 1987 + -4.5206466576034049e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4751 + 4.5206466576034049e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2369 + -4.5206466576034049e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.3582689464092255e-01 + 2.6840999603271484e+01 + <_> + 2 + 328 + 4.5206466576034049e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2041 + -4.5206466576034049e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.0477377718435631e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 5.5303543806076050e-01 + 170. + <_> + 1 + 1161 + -4.0477377718435631e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 2.1656392514705658e-01 + 5.6737922668457031e+01 + <_> + 2 + 393 + 4.0477377718435631e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 768 + -4.0477377718435631e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 7946 + 4.0477377718435631e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.8327014446258545e-01 + 3.7380573272705078e+01 + <_> + 2 + 5031 + -4.0477377718435631e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2915 + 4.0477377718435631e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.8163551115998778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 5.4923915863037109e-01 + 9.6087503433227539e+00 + <_> + 1 + 2590 + 3.8163551115998778e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.1972328275442123e-01 + 3.5117156803607941e-02 + <_> + 2 + 1311 + 3.8163551115998778e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1279 + -3.8163551115998778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 6517 + -3.8163551115998778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.7454422712326050e-01 + 3.2089103013277054e-02 + <_> + 2 + 4369 + -3.8163551115998778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2148 + 3.8163551115998778e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.0369302121759543e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.6569349765777588e-01 + 3.6500000000000000e+01 + <_> + 1 + 7171 + -4.0369302121759543e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 4.6061098575592041e-01 + 9.6087503433227539e+00 + <_> + 2 + 2260 + 4.0369302121759543e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4911 + -4.0369302121759543e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1936 + 4.0369302121759543e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 1.3896363973617554e-01 + 3.6500000000000000e+01 + <_> + 2 + 662 + 4.0369302121759543e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1274 + -4.0369302121759543e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.0541326166669733e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.6680959463119507e-01 + 4.7733578830957413e-02 + <_> + 1 + 6606 + 4.0541326166669733e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 4.0074354410171509e-01 + 1.7575678825378418e+00 + <_> + 2 + 1331 + -4.0541326166669733e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5275 + 4.0541326166669733e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2501 + -4.0541326166669733e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 1.9924402236938477e-01 + 1.4006979370117188e+02 + <_> + 2 + 2148 + -4.0541326166669733e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 353 + 4.0541326166669733e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.5271880514002444e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.5249530076980591e-01 + 1.7500000000000000e+01 + <_> + 1 + 3366 + -4.5271880514002444e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 2.5954529643058777e-01 + 2.4601559340953827e-01 + <_> + 2 + 2809 + -4.5271880514002444e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 557 + 4.5271880514002444e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5741 + 4.5271880514002444e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.5174015164375305e-01 + 2.1500000000000000e+01 + <_> + 2 + 1800 + 4.5271880514002444e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3941 + -4.5271880514002444e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0.
+
diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_room_boost.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_room_boost.xml new file mode 100644 index 0000000..6ab40df --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/classifier_models/vrf_room_boost.xml @@ -0,0 +1,3260 @@ + + + + DiscreteAdaboost + 3 + 35 + 1. + 1 + 28 + 28 + 28 + 0 + + 0 + 10 + 2 + 10 + 0 + + 1 + 2 +
d
+ + 1. 1.
+ + 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 + + 1 + 1 +
i
+ + 2
+ + 1 + 2 +
i
+ + -1 1
+ + <_> + -1 + + <_> + 0 + 9107 + 2.1786954368674230e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 8.8448446989059448e-01 + 6.1037555694580078e+01 + <_> + 1 + 7437 + 2.1786954368674230e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 7.4107831716537476e-01 + 7.5708389282226562e+00 + <_> + 2 + 7296 + 2.1786954368674230e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 141 + -2.1786954368674230e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1670 + -2.1786954368674230e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 1.5724168717861176e-01 + 9.7995698451995850e-01 + <_> + 2 + 1573 + -2.1786954368674230e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 97 + 2.1786954368674230e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 1.3794070830405805e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 7.2231972217559814e-01 + 4.0672660827636719e+01 + <_> + 1 + 5924 + 1.3794070830405805e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 3.9307719469070435e-01 + 170. + <_> + 2 + 599 + -1.3794070830405805e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5325 + 1.3794070830405805e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3183 + -1.3794070830405805e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.0581855177879333e-01 + 1.3932722806930542e-01 + <_> + 2 + 595 + 1.3794070830405805e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2588 + -1.3794070830405805e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 9.4378708439698156e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>20 + 6.7319673299789429e-01 + 3.6255528926849365e+00 + <_> + 1 + 7256 + 9.4378708439698156e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 5.4163652658462524e-01 + 55. + <_> + 2 + 29 + -9.4378708439698156e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7227 + 9.4378708439698156e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1851 + -9.4378708439698156e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 1.7822745442390442e-01 + 2.3789729923009872e-02 + <_> + 2 + 569 + 9.4378708439698156e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1282 + -9.4378708439698156e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -1.1860507438617369e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 6.5405559539794922e-01 + 4.9995690584182739e-02 + <_> + 1 + 6736 + -1.1860507438617369e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 5.4635477066040039e-01 + 3.1944444775581360e-01 + <_> + 2 + 3744 + -1.1860507438617369e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2992 + 1.1860507438617369e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2371 + 1.1860507438617369e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 2.1967922151088715e-01 + 1.0152906799316406e+02 + <_> + 2 + 1797 + 1.1860507438617369e+00 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 574 + -1.1860507438617369e+00 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 7.1466725424286937e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 6.3218086957931519e-01 + 1.0788087546825409e-01 + <_> + 1 + 4004 + -7.1466725424286937e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 3.1435400247573853e-01 + 3.1702899932861328e+01 + <_> + 2 + 1767 + 7.1466725424286937e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2237 + -7.1466725424286937e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5103 + 7.1466725424286937e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.5707762837409973e-01 + 1.6250000000000000e+02 + <_> + 2 + 4846 + 7.1466725424286937e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 257 + -7.1466725424286937e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 8.6260353600845341e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 6.0615360736846924e-01 + 6.0900188446044922e+01 + <_> + 1 + 7432 + -8.6260353600845341e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 5.0314950942993164e-01 + 3.6261449218750000e+04 + <_> + 2 + 4360 + 8.6260353600845341e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3072 + -8.6260353600845341e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1675 + 8.6260353600845341e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 2.0005480945110321e-01 + 1.4006979370117188e+02 + <_> + 2 + 1322 + 8.6260353600845341e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 353 + -8.6260353600845341e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 6.6088695298394085e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 5.9356105327606201e-01 + 6.7500000000000000e+01 + <_> + 1 + 3775 + 6.6088695298394085e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 2.5638625025749207e-01 + 1.5850000000000000e+02 + <_> + 2 + 3368 + 6.6088695298394085e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 407 + -6.6088695298394085e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5332 + -6.6088695298394085e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 4.0307337045669556e-01 + 270. + <_> + 2 + 3116 + -6.6088695298394085e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2216 + 6.6088695298394085e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 6.0116260359509455e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 6.1124479770660400e-01 + 1.5500000000000000e+01 + <_> + 1 + 3596 + -6.0116260359509455e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.9448843002319336e-01 + 1.8027573823928833e-02 + <_> + 2 + 1489 + 6.0116260359509455e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2107 + -6.0116260359509455e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5511 + 6.0116260359509455e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 3.5143381357192993e-01 + 2.3851454687500000e+05 + <_> + 2 + 5265 + 6.0116260359509455e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 246 + -6.0116260359509455e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -7.4746039217199778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.9637230634689331e-01 + 2.5116939097642899e-02 + <_> + 1 + 4815 + 7.4746039217199778e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 2.5227269530296326e-01 + 1.5344743728637695e+00 + <_> + 2 + 1881 + 7.4746039217199778e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2934 + -7.4746039217199778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4292 + -7.4746039217199778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.2635238170623779e-01 + 5.7995446026325226e-02 + <_> + 2 + 2334 + -7.4746039217199778e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1958 + 7.4746039217199778e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 5.8438586566167305e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>21 + 5.9664434194564819e-01 + 2.8839975595474243e-01 + <_> + 1 + 6563 + 5.8438586566167305e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 4.7678318619728088e-01 + 9.9117996215820312e+01 + <_> + 2 + 5993 + 5.8438586566167305e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 570 + -5.8438586566167305e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2544 + -5.8438586566167305e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 1.6529276967048645e-01 + 6.4519348144531250e+00 + <_> + 2 + 997 + 5.8438586566167305e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1547 + -5.8438586566167305e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.6900831390036832e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.9064292907714844e-01 + 2.7500000000000000e+01 + <_> + 1 + 6292 + -5.6900831390036832e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 4.4827651977539062e-01 + 9.8225486278533936e-01 + <_> + 2 + 5073 + -5.6900831390036832e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1219 + 5.6900831390036832e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2815 + 5.6900831390036832e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 1.9025780260562897e-01 + 170. + <_> + 2 + 378 + -5.6900831390036832e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2437 + 5.6900831390036832e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.9992880761827374e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.8090418577194214e-01 + 1.3350000000000000e+02 + <_> + 1 + 7620 + 4.9992880761827374e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.9585211277008057e-01 + 3.4901428222656250e+01 + <_> + 2 + 599 + -4.9992880761827374e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 7021 + 4.9992880761827374e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1487 + -4.9992880761827374e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 1.2659050524234772e-01 + 2.4166667461395264e-01 + <_> + 2 + 823 + -4.9992880761827374e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 664 + 4.9992880761827374e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.5304997807149114e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.8426886796951294e-01 + 2.7679210662841797e+01 + <_> + 1 + 3720 + 5.5304997807149114e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 1.1992295086383820e-01 + 8.8076839447021484e+00 + <_> + 2 + 2963 + 5.5304997807149114e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 757 + -5.5304997807149114e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5387 + -5.5304997807149114e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>9 + 5.1491999626159668e-01 + 9.7762262821197510e-01 + <_> + 2 + 4181 + -5.5304997807149114e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1206 + 5.5304997807149114e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 3.6291999263461128e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.6129926443099976e-01 + 8.9882922363281250e+02 + <_> + 1 + 748 + -3.6291999263461128e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 7.2228454053401947e-02 + 1.8500000000000000e+01 + <_> + 2 + 459 + -3.6291999263461128e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 289 + 3.6291999263461128e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 8359 + 3.6291999263461128e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>13 + 5.1751863956451416e-01 + 3.4893188476562500e+02 + <_> + 2 + 7983 + 3.6291999263461128e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 376 + -3.6291999263461128e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.5221083737375550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 5.7584840059280396e-01 + 110. + <_> + 1 + 625 + 4.5221083737375550e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 8.6570978164672852e-02 + 55. + <_> + 2 + 38 + -4.5221083737375550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 587 + 4.5221083737375550e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 8482 + -4.5221083737375550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>5 + 5.2459377050399780e-01 + 7.5181976318359375e+01 + <_> + 2 + 7174 + -4.5221083737375550e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1308 + 4.5221083737375550e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.4606259888224020e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.7565021514892578e-01 + 4.4157386779785156e+01 + <_> + 1 + 6274 + 4.4606259888224020e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 2.9201084375381470e-01 + 1.9632499694824219e+01 + <_> + 2 + 4454 + 4.4606259888224020e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1820 + -4.4606259888224020e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2833 + -4.4606259888224020e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 3.1769183278083801e-01 + 1.1500696092844009e-01 + <_> + 2 + 180 + 4.4606259888224020e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2653 + -4.4606259888224020e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.1269271599030560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 5.7579904794692993e-01 + 8.0012268066406250e+01 + <_> + 1 + 8192 + 4.1269271599030560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.3666657209396362e-01 + 2.5583333969116211e+00 + <_> + 2 + 2881 + -4.1269271599030560e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 5311 + 4.1269271599030560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 915 + -4.1269271599030560e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 6.5066799521446228e-02 + 140. + <_> + 2 + 106 + 4.1269271599030560e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 809 + -4.1269271599030560e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.3096056583144365e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>0 + 5.6360632181167603e-01 + 4.2027778625488281e+00 + <_> + 1 + 5429 + 4.3096056583144365e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 3.2183092832565308e-01 + 8.0210857391357422e+00 + <_> + 2 + 4322 + 4.3096056583144365e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1107 + -4.3096056583144365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3678 + -4.3096056583144365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 2.8427210450172424e-01 + 2.9854658203125000e+03 + <_> + 2 + 2934 + -4.3096056583144365e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 744 + 4.3096056583144365e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 5.1244591858428068e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.4743778705596924e-01 + 2.2856015712022781e-02 + <_> + 1 + 4504 + 5.1244591858428068e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 1.9601167738437653e-01 + 170. + <_> + 2 + 440 + -5.1244591858428068e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4064 + 5.1244591858428068e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4603 + -5.1244591858428068e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 4.2936801910400391e-01 + 4.2881276458501816e-02 + <_> + 2 + 1755 + -5.1244591858428068e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2848 + 5.1244591858428068e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.3789005694068295e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.7462888956069946e-01 + 2.8502143919467926e-02 + <_> + 1 + 5227 + 4.3789005694068295e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 2.9981964826583862e-01 + 9.9598407745361328e+00 + <_> + 2 + 1259 + -4.3789005694068295e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3968 + 4.3789005694068295e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3880 + -4.3789005694068295e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 3.0793648958206177e-01 + 8.2142152786254883e+00 + <_> + 2 + 1150 + 4.3789005694068295e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2730 + -4.3789005694068295e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 3.9517989176067042e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 5.6575673818588257e-01 + 4.2500000000000000e+01 + <_> + 1 + 8073 + 3.9517989176067042e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 4.9922975897789001e-01 + 2.3148275000000000e+05 + <_> + 2 + 7442 + 3.9517989176067042e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 631 + -3.9517989176067042e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1034 + -3.9517989176067042e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>7 + 9.8299264907836914e-02 + 3.6081323623657227e+00 + <_> + 2 + 530 + -3.9517989176067042e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 504 + 3.9517989176067042e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -5.1636398057703703e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.6804054975509644e-01 + 2.4194677734375000e+03 + <_> + 1 + 4732 + -5.1636398057703703e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>10 + 3.5615742206573486e-01 + 1.1989330291748047e+02 + <_> + 2 + 4266 + -5.1636398057703703e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 466 + 5.1636398057703703e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4375 + 5.1636398057703703e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 2.7013972401618958e-01 + 1.1097114843750000e+05 + <_> + 2 + 3174 + 5.1636398057703703e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1201 + -5.1636398057703703e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.1723969575603886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 5.5497741699218750e-01 + 1.6999731957912445e-01 + <_> + 1 + 4082 + -4.1723969575603886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 2.4794057011604309e-01 + 9.5000000000000000e+00 + <_> + 2 + 1399 + 4.1723969575603886e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2683 + -4.1723969575603886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5025 + 4.1723969575603886e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>11 + 3.5488197207450867e-01 + 1.1500000000000000e+01 + <_> + 2 + 1566 + -4.1723969575603886e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3459 + 4.1723969575603886e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.9419468697033788e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 5.5248409509658813e-01 + 1.1833110809326172e+02 + <_> + 1 + 3146 + 3.9419468697033788e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 9.8889589309692383e-02 + 8.0045714974403381e-02 + <_> + 2 + 151 + -3.9419468697033788e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2995 + 3.9419468697033788e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 5961 + -3.9419468697033788e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 4.9840247631072998e-01 + 1.1940277862548828e+02 + <_> + 2 + 4554 + -3.9419468697033788e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1407 + 3.9419468697033788e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 3.8693352640484802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 5.6319475173950195e-01 + 7.7233914062500000e+04 + <_> + 1 + 6570 + 3.8693352640484802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.5922673344612122e-01 + 9.8053543090820312e+01 + <_> + 2 + 6381 + 3.8693352640484802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 189 + -3.8693352640484802e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2537 + -3.8693352640484802e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 2.3631756007671356e-01 + 1.8602401733398438e+01 + <_> + 2 + 1450 + -3.8693352640484802e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1087 + 3.8693352640484802e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.9186399829511376e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>6 + 5.5295193195343018e-01 + 1.2500000000000000e+01 + <_> + 1 + 2442 + 3.9186399829511376e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>3 + 1.8892322480678558e-01 + 9.8895144462585449e-01 + <_> + 2 + 1968 + 3.9186399829511376e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 474 + -3.9186399829511376e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 6665 + -3.9186399829511376e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>22 + 4.0780812501907349e-01 + 1.1576941609382629e-01 + <_> + 2 + 433 + 3.9186399829511376e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 6232 + -3.9186399829511376e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.3512462423498988e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.6591624021530151e-01 + 5.1285041809082031e+01 + <_> + 1 + 4499 + -4.3512462423498988e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>4 + 2.2599273920059204e-01 + 3.4398612976074219e+01 + <_> + 2 + 1371 + 4.3512462423498988e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3128 + -4.3512462423498988e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4608 + 4.3512462423498988e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 3.8110399246215820e-01 + 1.1450000000000000e+02 + <_> + 2 + 3665 + 4.3512462423498988e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 943 + -4.3512462423498988e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 3.8309151695615390e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 5.5419266223907471e-01 + 3.0633434653282166e-02 + <_> + 1 + 5499 + 3.8309151695615390e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>2 + 3.1679347157478333e-01 + 1.4166668057441711e-01 + <_> + 2 + 689 + -3.8309151695615390e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4810 + 3.8309151695615390e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 3608 + -3.8309151695615390e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>15 + 2.7782505750656128e-01 + 6.6393353044986725e-02 + <_> + 2 + 2048 + -3.8309151695615390e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1560 + 3.8309151695615390e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.6656982842834041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>8 + 5.4765290021896362e-01 + 9.0500000000000000e+01 + <_> + 1 + 6456 + -3.6656982842834041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 3.9640560746192932e-01 + 1.5261673927307129e-01 + <_> + 2 + 5846 + -3.6656982842834041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 610 + 3.6656982842834041e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 2651 + 3.6656982842834041e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 1.9422426819801331e-01 + 3.0891586303710938e+01 + <_> + 2 + 2230 + 3.6656982842834041e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 421 + -3.6656982842834041e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 4.2523581015947221e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>16 + 5.6275755167007446e-01 + 4.2253437042236328e+01 + <_> + 1 + 2733 + -4.2523581015947221e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>17 + 1.2971240282058716e-01 + 1.8989261627197266e+01 + <_> + 2 + 510 + 4.2523581015947221e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2223 + -4.2523581015947221e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 6374 + 4.2523581015947221e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 4.7502306103706360e-01 + 3.3739532470703125e+02 + <_> + 2 + 5052 + 4.2523581015947221e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1322 + -4.2523581015947221e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -4.4396796029142338e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 5.6383717060089111e-01 + 2.1553173828125000e+03 + <_> + 1 + 4230 + -4.4396796029142338e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>18 + 3.0161643028259277e-01 + 1.1237963867187500e+02 + <_> + 2 + 1955 + 4.4396796029142338e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2275 + -4.4396796029142338e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4877 + 4.4396796029142338e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>14 + 3.0758768320083618e-01 + 1.0778822021484375e+03 + <_> + 2 + 1178 + -4.4396796029142338e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 3699 + 4.4396796029142338e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 3.2703041076196399e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 5.4366081953048706e-01 + 4.1280046875000000e+04 + <_> + 1 + 5095 + 3.2703041076196399e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 2.0655247569084167e-01 + 7.2365472412109375e+02 + <_> + 2 + 227 + -3.2703041076196399e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 4868 + 3.2703041076196399e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4012 + -3.2703041076196399e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 3.7448418140411377e-01 + 9.8871871829032898e-02 + <_> + 2 + 1578 + 3.2703041076196399e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 2434 + -3.2703041076196399e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.2463155736563098e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>23 + 5.5335444211959839e-01 + 1.1453289538621902e-01 + <_> + 1 + 4868 + -3.2463155736563098e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>19 + 3.5848903656005859e-01 + 1.4433314514160156e+02 + <_> + 2 + 4406 + -3.2463155736563098e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 462 + 3.2463155736563098e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 4239 + 3.2463155736563098e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 2.2196353971958160e-01 + 2.3820234375000000e+05 + <_> + 2 + 4005 + 3.2463155736563098e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 234 + -3.2463155736563098e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + 3.1793392019096822e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>27 + 5.4508721828460693e-01 + 2.9112878799438477e+01 + <_> + 1 + 7626 + 3.1793392019096822e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 4.1716161370277405e-01 + 1.4650000000000000e+02 + <_> + 2 + 5636 + 3.1793392019096822e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1990 + -3.1793392019096822e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1481 + -3.1793392019096822e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>24 + 1.6165904700756073e-01 + 170. + <_> + 2 + 548 + -3.1793392019096822e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 933 + 3.1793392019096822e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + -1 + + <_> + 0 + 9107 + -3.4141136896530616e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>25 + 5.5981808900833130e-01 + 1.7950000000000000e+02 + <_> + 1 + 7241 + -3.4141136896530616e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>12 + 4.6778613328933716e-01 + 1.5557489257812500e+04 + <_> + 2 + 7168 + -3.4141136896530616e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 73 + 3.4141136896530616e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 1 + 1866 + 3.4141136896530616e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0. + + <_>26 + 1.1674719303846359e-01 + 7.4591191406250000e+03 + <_> + 2 + 157 + -3.4141136896530616e-01 + 0 + 0 + 0 + 0. + 0. + 0. + 0. + <_> + 2 + 1709 + 3.4141136896530616e-01 + 1 + 0 + 0 + 0. + 0. + 0. + 0.
+
diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/160_160.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/160_160.png new file mode 100644 index 0000000000000000000000000000000000000000..4c1dfbe0bdcef75e02cea03f35da7a09f3eff832 GIT binary patch literal 994 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL96$kvrB^Zq7#NsWdb&7e;M-*}??gpLeQ3E=7K=d#Wzp$PyhjnS?E literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/300_300.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/300_300.png new file mode 100644 index 0000000000000000000000000000000000000000..911642175a31be56f9647c8732067d139c539889 GIT binary patch literal 1100 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL96$kvrB^Zq7#LWDJzX3_Dj44$bmTqYAaGO$2}$|)Pq-`}Kb{+-m|nAIvi6gn{_>*M xIUhgzt(#zMckiU=sA3{QW2Vw5q;d#+Vh%R8o%pRIHx^V(c)I$ztaD0e0ssYt#M=M> literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/400_400.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/400_400.png new file mode 100644 index 0000000000000000000000000000000000000000..dd6b454c08d23efd42d77283573a8c4cb399696a GIT binary patch literal 1121 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL96$kvrB^Zq7#LVIJY5_^Dj44$G-PBj5NI*@ zpufxXBlBTZBh67rNeBpi-=Ug2N(`DXpd>Cw^%`l)A3Yp6aRM{n8Bp2b>FVdQ&MBb@ E0Op55CIA2c literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/500_500.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/500_500.png new file mode 100644 index 0000000000000000000000000000000000000000..7dff0905b4df6d59f2d06583010f810018082f4e GIT binary patch literal 1181 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL96$kvrB^Zq7#LVmJY5_^Dj44$bmV0)5IDS{ z#r_5FQP0XN(>y1RLSjQ;$#GlFNu$Jw3Ik%(#;7{apGN~zC$ebr@q@}8Pgg&ebxsLQ E0LrrjM*si- literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/a.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/a.png new file mode 100644 index 0000000000000000000000000000000000000000..9f5d9e0d67ca4a6d9aceead53e035250642906db GIT binary patch literal 8462 zcmeAS@N?(olHy`uVBq!ia0y~yU_SuD96$kv+1e7kr_Wm>bfjssSPhVH|=j_Zp!n$5sV$T^E6u3NH978H@y}j$`cgH}YAuzd6amsIb z#aF#+^jl@s+_qv>~@ln!ZN$t-2^)vnVN`2Tn z=YV3K?Q5svo~Imql70^kJQK80RZWbciA9DIe5&vNkE{dRg$f=N-P_CXpb#_aa$dhQj2-@dz__k#r^yB@?xX14txcSCv482D6~_;N1W8#f9twr_a6b9q|+Lg$VK z=Uc(@yqh?brYIusZqOvxQHO>Y7iH z_1|;tlbCc1hs7U<{Cd7e$vuYWwp$*PI34}sg3<#9fhWoO3>-oQqj)q7M$^D(8W>Fj zqiJ9?4UDFN(KIlc21e7sXc`zz1EXnRG!5WO1HX9r4muy1pLy#taG`)siEBhja(-@Z zYF-J0f^(3oV~Br{l|pV}L40vyS!$79azTNDfu4b>fkLi+L1qP4(2}@iKz*tpeJP10 zsaDBFsX&Us$iT>0*T7uYz&OOvz{=3l%EVOLz{twLpzANkLKF?T`6-!cmAEzhUa&zH PsDZ)L)z4*}Q$iB}ZjVp) literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/blank.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/test_maps/blank.png new file mode 100644 index 0000000000000000000000000000000000000000..e78f392a649b8270570957e930f8958d85738bba GIT binary patch literal 9065 zcmeI0Yfuwc7=}+0AW;Z6tsoK-ue8h+3!2=dEaO9 zW53%H=u4e%H6H*#_4o4*27oNn6$SnPeq3$Y0xx>IJOVrbxKwO7j_Si_V)SNTZ!lF* ztf+xc$Ge3sH%@HY^;*BS3R={>8P%GtJ*O&dcVv}RMuDF$YNRdK8&Xd7Pu7inF;YC7rMfGziOS^A1P4Y&Z9}rFVu!JS;ydO%*0{+@ zj?2`@_?@VU7d=gRiS**KhSz&WdUw`kkKXDt&M{)Bf4$^3iD9IQD_JrIi4taa%WPjS z*`!I&y3%qfH@}&jacr1muy|vuIw+G~V(}!;I0r6;SD`H?mazbpw_o*r`KU3H+g2Jv z2N%o*fMPCa6%6LIVje`}C3cgY>m+of9uO;8+09IH+F40lv#Qt1Yp~&TNq!42+G8M;6a^?4(zC^s?-tBe1^-UJyl!0b)YxMM? z!9hLixmC$BULszql-5xQj^*yabcJ$mNxPhcWb7XFQ~mx%XYP!_n!p5^DWQP5i6S1X z^I++0WU5uJ*7ans1b5k@<$4OK7F4juot?y*H28r7ovI|$&b1N?m?a&=TSGYoyWtUz zm?H8%lI}E1#vK=M4`XrzUjbp;#~O8dD>K$E;O1lUnYpq>VM>|N%;xAY0b>xzunMRh zhBWaqco^t4T%{&%qF6@HE;CEAs86*7h+Klbr_89#1nA9UC0vWxZ^1_VWazz8-@hw;%Ple zC^qUe@wTrNt)_Hks^lF!i^?1x+ zB(q%eaP%rvkht&W=?y;x(yOyeN1ac!>0-2aTL*|68xx1ZZNR&-PpO@o1AdSDgEN3L zfHQzIfHQzIfHQzIfHQzIfHQzI@ZTAj1hta(F!7pQ^8f&AQhh>GV-op%-kwyz@Cx?v z*d7$jX7Eu#R0^8TOSX#<2pEVRvL0dZ*9vxL%n$x0@*M12sq2eHQ+e!|WFEW#2gJdV zi8wJGT(%=DwgbXm@36b+|5nE@{@3o=|4jI@%@Ic+Vxx+%4-!E7g-Q2@GLU zMkYhWURpXkY@WNsqjpu;bu#Go;#T{@7mnRwJCnXP|Fct9+Eouvq(A%fV$soa+DZ>HaP z`DyB@o8@2HK6h@NJUA9Rhkw2__Z@lg_-d+fY%tmUL>}(O2jNOqW+&F&LV59EDGkP}+*l&b-CRJ=|+tPi^V zS2OQ3+=#hLoL$D9#=b250EPi}Ry+wjqDS5IRhXFIVWO(wW`haQ9g-;U!{jYZsZl3U z2v*}Uopt-Z%uF+}^X3k5rb+HJnnHn5DI_FT$YYuscHQQlt9Z(V*Yv0gFwb!3Vd89) z+-S5{={?d>D}I2yq+-USv{d=U-7CJ!Qdlb3@i}x=B@iZIVRey(+wa_pL6Km8Y`YXq%8YpI_n4$f! zdOiiP=L*2n0>FD3UZQRzI_;T}d3eWQ9VT1NZQ^`41m2VN_rYrJ48TGSpsxZj1~~>V z06gLVxX=Xfg%H5A0>B@&*&6jN@<2Rt1mX$i{|#=Q_@7q;bchSxkGsr+_H2sh;lS7T zZp3p5Xqnx&8qIO_!=baTg@T|*a!1Cb*EMB{x+AyPyX$57X>~9cgZ^wLHR=v-v0YiZ z4@fk}j+oo*LmSlI!mu7)m(K0{^DsZ~$2X#~4578xaaw@tU;n#&Wh_8w^df{7=ONva z0x%q+xQaKGefNa=l;=vu$E<;y*3C!zA^%XN8G12{IM0_`e7mY4>cw)U7YPz)_ zy8D*>DMxSYFt*G5567i8UvahLnGaBK<4t3yg}%_%c31tcjOL=f<~J?BO^xHb1M6K? s|Bb1&E(^WgW=|;iiTxq`zh11^PuM}baAMh6|5G8*V3NHSdG)>D0bU!9j{pDw literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_furnitures_hallway_training.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_furnitures_hallway_training.png new file mode 100644 index 0000000000000000000000000000000000000000..cf2e2c9e239dcf7442c6049a689a3100e5d07050 GIT binary patch literal 3441 zcmd5RuNeZ6j>}0Ce13oels1oC5$be>4iRq~!jz8G2}ixq6)i0L;=)fB{+AAY{~x zaC6_OIiRJzM1T8MvuVhrgL8AD9Ey~T_6?^M3Jg$GSH(d^qv-ghkFHU-N;IW#v#OdZ zkLShdk!c{NT;bOHBG5~q0kGGp3$*}%OZnepy{ZdIr%P|?86EEV%2sn=ZK_7ULYEoG zILC=TY={JKDA=C?%-rV0CZdtX*)dDHqVxP>p3Sako^8AVroD>JD`7NBOj(*?-|{H( zq9N_H=dIy07g@X-(auvlf>&}WvrO6b^KI1vVS{@#t47_eY*3Vt1oZh3#kp~7=|y4! zIpI~kI{YLsuCNVSqSfsgaMxh!jHzY&syCVz9mbd%VJCE1$2;)i1ka|mYob@$FvFoE28QzwI%gj0H%kC6v z20qCwhywsIK8O!MDflx4c=c3E=d*r2s5u$rnzaOsm$@vSo-Z6_40}R8h*o7eBik|) z8jV7#K|frau7sg`(@rE^s2y+6xIZucvH!Ts-06}Z8m9`h2D9pv>wmHn+3p6c4ojgl zcX4!VixW<6Mut{;?bHMjw{hhI?B^ z0sGA@B$itByj&_;giFi zv`(6TzFX|Jb?{xMS{taY(R-I7+&TG%_S6HIXIg$Zu=b((G&$wVIA{ZO)NkS^pI^hk zG!z~Nk*E#RNhGM|=%nU%)iN(T>RQ!@E?T~uJep*ZWQ(6&;~R*hj==t|4#4NSkW4$1 z%L6g$xw&FURQ$r)@U!ai3l8kJTMntYXR`@Q4z=!Dz_N$V9Z)0vh)f((c0}i^01BuN z!amDTi|ekjZ_c_HLj=*j1QZqEv8hK&mD=B~Lg7bRa!3(J_9I-qZS6`;p@6v#GWhL8 z7(ftwssqYezM6z<*w+veJ&$A_6gh$K(�XB|Yb!XRMGMl}gvjZ>ZK-+PGu?kbJ~c zTEDx`)XK`rhT&MD^3~kd%(>V~l@6QuFrS4o=CDf1(;L{S^`hzfHp~vzhxy>KDKY+_ z3GR5_x+oxdlRyDJ^|5wUWnN{34fd4{ENc3GJ#2kTi$hLW^@TpXQnTe)EEP0Uz&K3p zd=G678;*utC-fSxlEd)WxMnoF+#PI%#WJ<>4YWCXqGcaRkxF~VtH_7PhR66ElP^>9 zn@8unsyRSRTUGzY{Ww%CE|%J*8Kiqbh~_k3`$3nzSQ~@`$RP4Rz}-p;S@Jp4eD2*a-&*z729z4bajvAET zhx<8v=!l-mT)M|(W97M{i>e`|Jp%B*|OhdQGAgeD3~^4|0qvlv<(!_&onJ$j>k03c(p1Gi*?ms z-w<|=^)v9;n?zHKj*b<`kc)L$6yp1>4xMk6ClhkFpT}^}To}Ty?dE3x@?L@E2(9~} z)H#Q0nLHpJw62+{w`kuQ@<3j9N5+0(PZnks#1o_QL}DE?AZ&^~X6fv-3Ua-1>9M;f+mJ`)XcmpeIW1NowAE>*eK~= zBQ?0X+?ASfJ+kMYbz#}boJyDceAb{D77n^rdH+0cS}Iu}Fy=5E039bkE3iBW9@1x9 zkggeLq%3y@YK`-Q>t8=|cSduFa`Ip~&f?O+TnRmyY;%Cz`O&+gswM;l!yz?43JF#- z7n_8(?=Mj5pBU)F02q@S-txAYOUZ~*T0C>?c+_|!8BBy$%bf5QbEQMdx}YluJWwl7 zeyE(pg?3$jv7jfgJTqUFHkU=&^4)0o6@?{9j7M|zkt?L}&F^cHCH;GsI(EGo(ok4o z8tDkn%Zgpzy^($v`%(yDb}AjRd3Z)U9*fIPP*>)wTksINa)G=6VPNI!k%v2|iqjKmb<6-ut$ zgr?#mZa$e@9V(SG#ooy(g`$XQKmRjAj0Ynk_si(ZSL>+a@X^_Xpn7pypy2?`q`>^X z;Ft6w&YTxCdSztrC>@)gY>LG+{*W+Iigl2|+O}{`V4ceBIY+9k{1=lN>0-Q@@jaiS z)VG+_ne9>n7VeYPEtTeAsmfbvZ@rn6ri)x)`CXYgi$H6hGdExK-Fbo-TpHkwl-yo(jLz{d8( zh6OmJGDpYgsV40^*3wlG4O-#T${#x(=7r(UIHnR}SR~n!SKCEZQk&eZN3PX1%ZY2}CpnUhveoPIK{FL>CXgzk=?m%6(cOal&V>J>L+ElE7MgGT$7}-1=8+=584U?$1U9|>r?C_b&%Nc_?HK2G z*oPG6ncrbF@t`U}1Fz8}`AjOee0+ZP;rsHQ$2`qmqcR-xn?xtK=wO`zsNm%LT8=4Q zp>L=Lg0kLgiVdwj8E8m@i6>_SF+k5(QI!0 zGyp(reg%8`cfuPlr+5Ishe-B^H|DRS+?7|5lHD={fWZ@i|Ly+yEa-nE_J8+V{!3B3 XfMW1VJn|pV?-Jm)bFUNM!8h*TD&ROM literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_furnitures_room_training.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_furnitures_room_training.png new file mode 100644 index 0000000000000000000000000000000000000000..45e6b403cbc721d991672e646548904635c83329 GIT binary patch literal 3433 zcmb_f2~bnl8oq&$1dVc)r-nt0P$+|JA=U+u5Ws>96jxRyjV2M*6U0DwaQEDRj5Mk@eV z1PlP7+&Dx4sDUQ`?ANTd3^%19qeims@yQU&C*lENO?YJR(p5%O@E}5NibwqqOOA3a z?4Se{wC+V{Wfp5y%Szq`0Us{~kR7NJX5Pfq`S6gfl@FTGHnv8zn@xJM(tTqtq4Ht} ziQohZhl=Q**G;(S-`8K}7TBu}31;uc zEJ0n05mjL6*na-28ja+=n;*J$&B!I^3O=|H>Ly_|vtuw>)B8zWIo*>_d0T}@%chZCJhf$ewMn;=I6Aii zYiZL5(=8UKThqB!Rmi-yWMN9r%FqozQy?x!PAKjs%aYYJeKXA$e|$CF)WTYA1ugHt z_bIyEQY(Qf_wiroEwb+u7kRf!(oL?x!U^X@4A2i6 z!Dk4J(9-K^xe@Wxz0~WW;zk3Er0IDFwr~1HA)Ld0KK>>MFiKVn9C_aa4rBrGdveAM z;8G}4`hb}a(6Ul;zL%B&Z3yvrbHLAc1nVFm-BVNeJ&gV~bp1Wh{p*0Y4w>2MnA6cx z5ma^=FPQQDVVA4Cv(zu@V;i%fqX`{<^y8NGXoT9UZI#T}e=%$5(i~q8qLl5{51J0J zxOS&s7vHS?;_^A5gkZhA6gQMJcwgY$57iqukDhe8#!AG!J@t>H8I3j89bjOL%I!F% zI%OOx(6U}*G;&AX28f&3*-!EYy&8(IFtT0I3R_iX5us3BQ2R-f1p^%+qr6cZc!~So;JAV@nh2A?4 zn@klziv0&JMVo)<)cj-k&-9%&kt=ckfcykYe~GQm9X!L6zh!ZP?xr*cDbU@OW{NXw za3s`tF}%)IpGE~)c{bpGT!bX(Ot>ojm^nWqT3C=5X(>WwO8agL9LTz4VLp!?J*X{h zUs(@KoTY-R2zojXwVMo@CzQG0x-2_-@fXVAONKaUKyZOK`7Rd3BEH{Yg|F}a_`|Rj zIYvE%zr_JCUSHwxE~Dz%BDrZf!W_cIOvn zEY6C6X9Lc+N-^6J-zPG27#*kL$YYo8IHGM_=u~h!YH7*y^?dWZ7RW~L=FFEFMBh-|GGO9`{kBBWrQuB6 z)@Wwi)xyDRl$@oMtn~Z)Pw&E^2F?<#bt;wS_3p;P_H2sMO@LkGs?}6Ajn{>^i>M{> zxK#CU&zaQ6e*AbtiLePY*H@&59>nNhrK!V#SY zx31akKSW_4;je|le0eD!WIGQ(Y39MWI*+f4jt8x64KF#2b~dfIkDEp{jvR6db<+0B zSd?CQ;$@A;qnttW*5+v)6A$T9bSdV!uq%6Frkh}eMN|>5rosAot?fiF6t9*-j?r-C z9Ud%g(s^lSn9A5VNMb^u1`t##NaHq}MXL7Ja>gK=G@uwKKquljGA(vaT^(o1Wr(86 zzB$PnX1@=KsG4Fl^J0mtW3*YRR&_&Tr%%Lk#hvlxE?Rf<6qgudL836L$)d{03bB4c zo)Fq{rMK}0+tZLj6H$tnxEN%9TE^*+AZb@A^I?y`rnh37l@w$qe)|!gFHN@Zu5GR=agP&yNkO@? zd7wPF<SbxIGxf+_G9 zdF5U>$ZwmPLVo{KpI>)VCaht4DFXwR&|JS)|4+aCw`pKCK}Yb(92h`4yo#^Svl9Q` cXnmPUrbU3jPJxmK{S*NQ_B+|-*^r|C3C_?-)&Kwi literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_hallway_training.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/Freiburg52_scan_hallway_training.png new file mode 100644 index 0000000000000000000000000000000000000000..4414126915975199cd4e13e946c65003efbc1927 GIT binary patch literal 1191 zcmeAS@N?(olHy`uVBq!ia0y~yU}|PyU`*m*0g9+km)Z}cI14-?iy0WWg+Z8+Vb&Z8 zpdfpRr>`sfeNHYuVZMVmj$dG4U~%(waSW-r_4cl>-(d%yhKmwUL-y|9F)ea?_cQjc zHy^95#XOAtewAvuNJZx{G}lTpDl{_~aga~&zP&3pr}vtaZus9i_3Sstr~bXO_n}F~ ziv}L16AFWlAm5+Z!szSKX~Ns*E_b_J{v1=OaS>9$v`M~UW*{k1mM8DTkybrZ{-3hOnq3)I+$8l q&ooAOx+5wyvBnl6)Ehq4F$AtxKgrXn{Sa8lFnGH9xvX`sfeNHYuR)PC#SA%b4s$R_vP^I!pWrB2qPv52?N;`6 zKcCN?l3Mmv#+nc zcXjJ_= p2R0RT*o2%mU^zh5gp^P;e~E(0tIcwOb-<#A!PC{xWt~$(696kDM%@4a literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_a_hallway_training_map.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_a_hallway_training_map.png new file mode 100644 index 0000000000000000000000000000000000000000..4ea800d4a518252aa3f7a06ed1cd9ec6e1d39b83 GIT binary patch literal 5906 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 SOz?m0vbt(#R%z<-;J*M@fl-D4 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_intel_furnitures_room_training_map.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_intel_furnitures_room_training_map.png new file mode 100644 index 0000000000000000000000000000000000000000..0b5f4e60730d9b7b14e2deef0b73587c6b9966ef GIT binary patch literal 9364 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_hallway_training_map.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_hallway_training_map.png new file mode 100644 index 0000000000000000000000000000000000000000..eb1ac68b0e65c10b57b83d54ce6b29313df8d7ae GIT binary patch literal 4354 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_room_training_map.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/lab_ipa_room_training_map.png new file mode 100644 index 0000000000000000000000000000000000000000..111f95b33e315f3c3632986e9a105121ad824cd9 GIT binary patch literal 4433 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/Fr101_original.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/Fr101_original.png new file mode 100644 index 0000000000000000000000000000000000000000..fd57558a47cbd299680213900ebf3b295e1e60e8 GIT binary patch literal 5013 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 Pf|9YPtDnm{r-UW|#L6Il literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/NLB_original.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/NLB_original.png new file mode 100644 index 0000000000000000000000000000000000000000..eb16707bd011f277571341a48f3ba2b7e36fb895 GIT binary patch literal 8670 zcmaJ{XH-+$wnjOMjc`1Obg&#j>4KEdq9S6U=utsX0jUDg5)ud{5jhg2iijYF1Vu$@ zL6BZG(gYHE50RD)gn(fKArO)m&%N)y_x`*+#vXfRW{o-4+H0=)ecxRB$rW2G@jY^T zL_|cyFJ3tJmxzccAiV$DB{YZ}dG_PI@Uh+Pveh{ek-WsCy24+(gDyBCL`3#V{<^n` zWa4FnMzN5KHkM*Pwr_(d%N@Do(k3EuNaW(VGuOjLShQi(sL}5`PM0MM1nCh^7+Q*BL6e{EkQw0AM{8mRt%Bnt`MY$6!XVZ}FcNw`w_9H2({GAphTB7#kDT!PV?4tTv99d{mz&rxZoBk!Hq$+;E|nkg>C(udjQ z1m2}BF1lc#WIR-KaB%zKS$(xtZ<7++of37WVH*!kFz-$Qj$;uk<9gH4#+4kW2cmc5 z?NX9bM#&B_3ae(XJ4}1Tr=tU0r$+S@N!@!))-lYB5ku_y`N#uI)(+ZfB^qc*YeakA zx{F$yp4(dTNaK_N4oXpef2=wsUt2vto)UoyP`am;*8If3!A)_o))->KQKOf6kET?- z3bvV_`yS2=Is`lr&JWTGJp`PN0u)t2!Qjt<$uD7$R&-(Y_UTAQ1}Ey}ZlHW%IH9+e zWUM^H93o~G-*Cpfd=f?%pA|Fk|2jDyNsUds$FEn*n&Ou+XWuoO;yy{S2URGDAtrSJYPT9|ejH3_&_w+B>-ClXU#i6yNOUg5T zqxA2<7i^d$)I!pyZ+9O$!fpJ0#aL?Y^4iadD6^Wl3t35m2!|%vn@B+DJ#A(VlsMs&l)BkDy z+cr=(#PwaWJ>LF$TvLXcdm%03D3BT~esTJCPa`k#`>xy)B`9vue<@)!$#Nbwdx(+P zt_KxEZvH{@U*qpA+=R23w<{RFydGlz=)aUoQ+3J*6pdHfg_!Z!{nP5Ry8c_4LZ6~56@V1>BIBhKmKk)|5<71H7@cLH|8*@s4NeI5t(`)|y(z{$ zRu)_hy8f;AeI-}iYl)T6)C?}1n5|fNpHCg9A4+9JCh}<=W46u@mZQKZ0mdUexn?)b82Q<3KL&5C=@&lwPe z^U|v~cmFuaIo~2u+3wL`oT^0-k6`Dkx#qS|cTAeUi}f z8W-K{b`8==z3WlsW3aW#KekNcnRX7`eOPT4Xr;6>HiIY(>)Ux7#tL0odze8FsulmW z*e*EoK1UrOKkKmM!=j0Tbg&;~KbA0CX7HBvA)sZ!`zk$avGCcQ7mqg0sD6j5wzMrr z8*T}XGG4<{3deuEyi0|`m6l)^tPw}rLqyNK{ZyoyE;dukw4Qb~I}|b$4IA5u9_^WW zf~11J$sUYa^?!lK25bgxd)J*d(jI!**rpRpBH@i3RdRv~0@%R=Z zF{`#Lg&&ku<@x+z-9p^Z#-Ka7_YEHxhbXtfmq<)5DAJbQ?_4Rlk0%2CJ}CUY1zWC; zjig$u~V4cj{t{cVq$5)hTg8LCn$M|#6xA$NRwZ0y!Z}porBtpa(c@wNi>7uyh|q{xq?<`Rx^qLdt9xU0BEY9 zHV`_5-dxyTf9-(@0!$X_UHn#1(1Ix-&y=d!bj{#TS|~j-JDVJ6LzyV6l`1IkXb?8% z3S>F`n0U&;VBd@HF7~8~DQVN4CpK6`dcnb6Vq0Bqm{W|aTsJv-$!_6(dhHsuDPKn- zdzJx9W?Ou6l-xMI=NMV1tqJKc$P99v<3NZQ0dh7fj;m`?Kq`9iag@wA_%<*7o{E7OJErjsRT!QV5Yz|L=ncHt1mo`kI?yXnc+rI+&d(VT{A#XibA0-C$`$@k zcZVPtED(9&LkfC(QiNjupGH4_ekztHCIZ&P;~g5}oHM!$Zz?wUB9#lS@DDokg0Aj{3!@ z9u&ctF{%>=fXCfy8-Yg zGC6q{z30d}6kg;U+D{>D9aY0PEt^w{zxM9Kh?99@u*JdVOd{~HvzG0$beDo$XD%fi zl?XM>0fZF8Y=yC@yg+)8ym}wNJ_=B@r8s;njyQpnHomeG1SKb*Z}$i>AZT}&@5n;z zIXNW+UF#-&m$9Yjq{H<~85=j8RfD zqZR59e#@?Ae+jtYzz_p7DZTB#g*pht|&BiNv&1;pY0g2brfS>mHIMfu54K-j)IVbJ=kby`)8pA~_!aa0w z7?R$$T(x_Yss2yBBr>$~l_Oal2(A14T@(a|H$3ToG;W{bmYWb|rc)3gqOzLSd`Gsr z<}en!;a(+}@B^kv0I(BY9ZC<7Ams9*YWXba%!~xt7g_VI@j$(J;uR;|=G#y)E!l}9 zfr7EB`N1eeDE<2-%4=n|2bPb#v3_p)Y8|6Ch?iCSnc_;83Inqu?QX%}?S|rd7S2oiXhTJ} zYCv(6F{%QOg>ijeu-(?ByImac92WMcbyP`eS^uG%Kg8VA~X z4+H2h8M-sh0yN9Lx{Vb&T#ntuiT)y^H?z1>?u%y}EBs7*w)gF)TaY5rVHR&J>gfrM#{%w| zfT;OKuMA?1gl=!AwvtuUkaXKp}bcV2CiF-}M!}L>x6%Xswd$ zxEq%;({ zngb%-p|}_yt*|0|V5Y211-p^QyON%7@}P=|lEuxn{7X6P%pj6I&Qk7nja3Kq&E29Q zRg9v-lx81Pk~FqIN4!v)5ZG4hf&3J7{TQn*fMj}D z4u!DG4Dwl) znuvBa73-izyJ!hi2E!oDpn62(htb34wfG&oI;b^jsFH?sca5uKrRl=p;OOLEJn0e{ zhfl;>P$Z7&l`gjXtl&o_YOkdDMUO+i6N*#VE1e zKvWX=r4X#2gGMVlt=!*FCW}gt>E(Z%WFI<-p(!l^z(Y#SDOhvF_cLxk@xYX)+wu&# zIIo+;$;2te!fcMgCkLjgDH>^vK{n-O%dVETLtNoD7HUT6&4!Is#H>aK`^dP&$8ml? z5oyG*j!%Z)phUIpu-bkAdY1Bf^tZAo{_Bb2W(O>sf^XAQOUPlmm41yVg^2y*?CE#0^yrZnOzT6_EKE*1_o}$k$F*^NIrWT`jL2>qSNz=(bMcuDkp$XlOOmEj!{(v_# zfG%VgNd0WeNtc2{K)XNsSUL@m7KHZ)3(w~NE0?3G^O4y48TF;&PmcXFiS#hYuZ4-e zA%qV3P0H{GqkKa`%rDi|$WzeTpGXWe6$0#)3PE1>ZL_%knflobqD7*0qTx%2iWshN zkljQ&TkyE4bGj zyd4WSDL5?zHX-^nBO1dX>T#p~ADnuGfaKEA&(e>&uLe^LbdZ$Z-yyw# z!nz|(m<0cen{J=xDc&l+}6zwm@f|3|fB0iNvoQS(;#_gAYZnaf<`F_r<-SV5SF zTA{yIw8f})ht@S9Tvt5F5*eoMompFVLx!5zr-P*=)(U%BpM=q`RLieUTp7kIV_Z#f zC%-DNf2P8wJQQS%W)wE$Dwg=#d-52~NRulq@h0!h`9^9pk?x#NY$b1>hmg&)m_LbS z&EWm@``NMJJZd*CUx-IjXqaBw#+y0faHv&hMMK$=_+Uescg(9t_QTS__M5VSg>7Nu zX)fZ&3mlICr7g9bZ5Go_4hYVe=VL8Jd8q0@+s1@WzM55yakA&ICmUev>dtkWl{`e@UwuvqOfvv+ zV}Q#S^ZvZPL+kwhDI4FB#btE>=zY(vml15nEaY(O@_SWp>OYatOSwpmPjpEA+QPb8 zoSF!bVhBV`P}H4I%d-aFQp%$+@3s~}k*>6^{~yb1JNnf;r{k4tPw4css-qoY4gD&DEV9?#weTwC4)+sQ`=0&rgy<>^mJQ zMz8oie9{6Ut#<2oRJlLF+m&jUkf~|ZDMc|z=-Cdj{81A9-Bn)1js|vEc*2Q2a7?sD zk?3~}`A}kY)SB%y<{+O_d46kKGx##^5fc{A$3pu%<+cI1(lZPb4+utZ2UuP}ZLf zOkXPB0ZtraqB_M~0?P>Xb0OUvUxvCnCN^PrsAK8e8+?xXwSRGm261+wDLlXc878{I zFElMRu7#w30&gj}X5dK~F4CAYH1o?D>O{sixcS+i$(nJir4WbBtebbAgV4k%lr<~V z?Gd|R4`>;U77lzwqXGY@=I37V{AL{UZ+@NjvPJZqdEBa)zYhcd0ic|@MT6u}_kgVz zjsllo#0p7?ICpEf7CV(iB&Y#niP8fT=at73g~>JsFIvj3lRI^wLhHp5Atry`rQVgg z*!vXWgFz4e@rCGnB^_*9TOX)-@%K_j3V5<^>!2}R@L+FV;YITdWMzEJ_R;$oN`)!o+$Mts=`ufcEhAYDrrA61%g*{y`Rn$tVJdCYU#j8{Vz`G&H7-* zjb|Gbe(8*VCj6^f9O6$??`(%MZ*ney@P87&9ntv=OkDT8PqBp}XI{o3X+}2`KQ2=< zO6$&Oc>~3fMJ*S($9`3tbV8$b&K)}hbg3}RcF=gW+T9M|X_{?LM$KQEaC2pX5PoLmfz56e+r6s{<+hiZn{96TkEggn=Rczr7O8A9R0lX zu6?burUWQbTf#imHotm(ePpMhnJs z%^qu&h@n!|?IZ+z*Eo}p43QPfE)!$@D0WenObD2farW9!buj7u`BTE)lSqjq_2_j}uN~o=UE$ELycRl|>OBn+I z%B9~b>-(HVI^fO9kU@mj@bl_)Ei(IA*#Rw$-GI_3hv{0k_)Fq>?b)O1LV;i5@Sm!- zeP`7p$(vrL(xFE5ioavnLbUl`#AzE8r_{t+qiX6+wlqYzEJDS~8^f}Mz5Y!nu4nnS zZ1qKOjPaYt&pNRApZHrpiCjioGeYLx0qnC`3A-0Ucdw5+!iO%krBY37Rh(*%uedw` zUSbQ9*`^EVgO|8l6ZsCG#`#s=f5ogAT^dnm07w%L{R_!W#dSvjogirg3tBxJ;X$Kf z7iK0C8lI`L*!I2+f@G3(jq^-camiKtqoJl)WRD4tndyG(Z*ms13u-k>Q&DNdA)*FOID}%W_^7I1gPTD_ ze%4xf8Z6|L4^e#08vp9pVD#J6>I2|^zZ_$Ski76OsY2v@f}W6`eMMX_mh5evRO#Qa z>k@|!>I)$kFFf6;8qa4d>?|zaL%44$_A9I#rM}y`ry*oQRhBRxAK)z1Q87h*3X2s}0=;InzJ1#K_3_IJkqelR;g8qOerh2%5R$gp0d5tMlM zMe}b{h+g#4;NpuiA4OZe`}>(sQF4GO#xPHs8N^*_JC*soY|9|_214mrj#YPRv@@LW zuSP(T=*wemHYag!;8mT-L+yhTCBvy)p&E4L?Q8iHP7T(L2?1f7He!d509oxrQef*r zyZ5Ed-Scfpsl&G{mx_`~*C8VZVbIz9&uEjQEJ4g~%inYoi`R!&ifwE=(B{xT7+^t9 z(NYy5pLbB|56S6Bm#NRpy9_+l1m=+2by;s8)ZtCNze;y@zmI~qA-RAE+M+yfr#z`# z=`~mfuc9q7iJU58=yc>@R%p)GT>4J~e$?cr!1}m|^cS?#IZf2HEqfy!(ga3prEY2K zfT^B(%>G-w;AxK(c?7y=fLvV6LlgzgYxy#QZL=v{3_y z)?pD_2|>6)EI)@t$ukdqYuUkV=y!|^pN}1%AigPf^}Ktw2?US(ocmPM z)W4_dE4;vMx^eIziS+Ol$7SC%++{tge<(ZXsy-*6>c^6V()WpurkxL#UdV>F#Z+5T zLL4!}MsT|YFwBJ=iJcix9A4VCqlgoJrUSkIn-XpqSH+{gd-%bOB?whKa*1%eB0zgY zYIE%t&BO+|R`)!E+UGE+b$HT75B=Ek;m}AW^Q`AG%K~7e zKSQ#1Yc09u7|BPW+UW1Tw0}Bl9;y991u4Ir_KvO|xRE$HY}u0g*SfR6pM%*2E`4y) z`?}nTLUNW7LEHIjR9J29<|z-uS1fL}k0K>(+#}M@H1ToslFLhS+Z6X+?pX&p`gp@x zCUZ~H#*Awb^6!WiV)-2MP^cCR5*F)NBkDQgJh1uP86~TT9U(azrgH~mG)FO+D2#dE z$F5X7CScc8ANQ9dbx3x5HSKp^vE`)~Wrfl181wsmugqkHr;d^B#cn|#?Wa$n;Y7)_ z%wyEl(IcdR<27cB$f?(dKYil@sj;TcG~&W=p&bb3(-dZ6LUY(Va;~;OWAdPsy_B(#)ya3J*L?0i9Z!TdQ{r&Q2kCn8H+2E9paScZ zt&bk7pvAJR0{sKi!#yc>cW_LsLrbbwJ+7$d(fg4Xid?S|dLX;9F<5t1BFAj&K^^AW z=F$VRsr}_2yr)D&wz>cM7NFfxhedQVh52QFpxyL+yIc}wVxJm5)JM6+`oZY$BXMD2q_*p@sXQnI+-U1@-&zHgZfcjfa!{3Hhqf(pU zwAlo_;9@B6@l@x9g#7aKM!<38fpzl9aZ19HIkOUzxyP;KV9- zVl^=18W{KtuXeJo(f5wG+n$54xf4MDW&#xi#Rp$@&8C3cE)Rw3ai~;z_-U9AJJm6Y zGyauGp~7H@o|yR~fvLCi!ZkmUCP=9u(=aT)VSfZ?BXyB^VP$G^09T#mA6-zn{^Y+8 rUq)9_FU0f*N6WFhh#$b literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_c_furnitures_original.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_c_furnitures_original.png new file mode 100644 index 0000000000000000000000000000000000000000..42af73285f20020ec52b53bc4f7b01ed4978bf28 GIT binary patch literal 8207 zcmeHMdsI_rw#N!f0j&@oX{lEbS!F8R|`8=%5yX zl4K#u%Q2`WF`*}=fpNKxXize<1ZU0a#9BRIhZ%GlXY87z;;?Ki#@F57Nx(;Y@7(*> z+&}JL%J+SH@8ACI$G6WHEtZ?PFeoa>&(CjRmP~^C`OS^-^Lr^~J}mfcei#1siyq68 zi1MrF-1_Ytao1+QfZzP$ySKjm(^osnO`H!ye*M=khJUo6t@M?~tk)NuGr!XK4!+>r zkCGeT`BnJ2A8pXR^Gd?V|8M_`Xqnu`D4E!1Rmi#Ea^l0Zcy~gv=rDGfoaZlG+RkM)yQm zEP8m83A{w!u_V-clBl!f#Bem2V2?3-v6Xf9CVK=u&&uvEBLq`~t3)+`UpC#49orG0 ziA$=phcd@#TlbE7`+Q9txzTiw)1UBIqlu#_>`5@AW_VV5o^gl26dS-lHv2>(=|sf` zT2n}8W|0SyRx?nnE8P0r|$h^qRg`7puMxEj$UBZ)6oivEv!H0W#u9* z1b|T!hv-D>M`rU{S&qIYOmn~!rz3gB8(?Z)??;k!QHqA|K1EaQ^e?Rfb3%Zy0J{s| z_Ks$lmh5l!ECZi_^<#Kjoq?Z99Ic*Hx#xU|*XSDu!KAtSMzC<>3{sO9X%igtA#KUZ zD#}h5F(Fegx%`?P%u>Yw-jZ$Uvq;jHx%Y=#3#=K#!CrIiUTbPOqnKSpq^iN=Nm+W< znLRUf*re$qnrmt@@R(R(_S1Dl6A`B1THkgB4F48vZQL*4&SwHm`$7aWj1c9DjUmA0 zEW!ePO(Pxpg1}ISlrB_AoSYfC?vs&jf5o3#FS)pL$JdRSy{aDkv4NvLq+ z;SwKMv;;MESC2UJnPE=QQU=BNv0+?Jht-c4(kp;9yDUBD`*M$j&sY3i*@!la;7&~%VXA+Oi!JjJxlC(z%i`w0=O;3{^`Fa+dUr;GU!DKr;%#_|_Rc8&dPZ%ly{X3F^;=m^b6x!&oZ(HKHALPVo#PeSY_s+c zcX-5al0zXSy?4ykxyTBm*3m&zO&)n6?EZ`ie%)wPJjtGr=XJ@7B+k%pxS6C7H}^@L z`*kgb@vM}H-82_JuB>gh%lHTEGAHL7?mWm#TUgGcH_JZ5qNSnkH!Eu@_drIa7_A>C zHb(#jzP~FKZ*7b!r{}o7b@^%Hq|BORTxC)QvXY8_TdI7NP(lrVbm64@{1hcJEB$(4IN%jf~q4vCG! zb+hr46t~;!Ol_42Dvop>}VPsVqTbU_i!o9cl;e=fNlUo5}Xuar;d)=zMuvp}Bu zoV%x5iJO&89woVG#!P0EApV}JKc?CJv|*I&|lQ^^ZoOYTb^2(ay4nsQ(jyk%Y zUOm;58=Lm{(}n(UiK`D6-|Fwo%8}W^kd~2Xs)4NV>QM9!cdgc9Q;zX$bm(NO+!o5! zaEwj*@r~>Phf9eI>8yIxoe(WtcdF)qo#W1WX0f%=&Ldk~rrcQ6`$~6H9rQq*Cn=RU zj=hyj&h??KXz(msNMYFBhH=sCVuAG+m$1)=rA{t=x4~zl)!t#3)h4DA+KX7QzxzLo zFNd%sn3X!cIwp+_xP*NX30?R7N^{Ky!b1Oe%At-)VSX=$YczFVeoNNvWsl*4E2DRU zB^_PjJD50?$qz}P+a#g0ve8p2enVIJ^s^!zfAYmS98~)?S0p@kZ8rgM)TVmW2M0KnhT!p765cA4@dGS=Q zc}8->;X*(ZM(s_D{51beFDvXE{=HYY$s$j=I=VvY3@27pzK6)8UoJJa>Ui!A3h>4& z%OU0&kFU!b>8R-;4~e%Y#h3R?p2ICuHiQLRjKdK)W0k*9=Lo&U^^;eh7 zy&qd6yIj2?T>(P2PJ8Gxr&th_xJcgyEM|yr$1G884AsFoCx>o^Tt?`Y8kO13_MWL< zjmx2_gM-3sY~_rINf|`+R2TBO(DO5mO@`#hF&wwP@?BlZ=}|1 z#@4pp86MSQjSxFS(0ZqKCu^QvU(~x5X#Ml1&xcR5#>WD|z~=2S@ZGcQ`NNHd#Iz-O z&{dHN+4VoOuHN()=DkT;U(lh|8xof&zwjPyLMfARiC!%N6xWCipL!2p({VXKpV_Lp zL>?+VDnDlY^5V9rob)^x-ugV^GoL|Fm*ub+PmBtz`T26vE9e;cM*;*QD-YRTuE4D; zlf_7?baTwU{GH~Z&YrQXV_Sln?=uJKu6%k$gCV&wz$FuALKi|ix{pSEYg-9}hwr8? z(oq1-OT_X^X~mltlWViD?}hQ{vt8!RAn?wIUlsA&JYpvJxa85g<8sKF##d5HtEdf3 z$8ZWHWl5cZb544zuW@dJz3CcL{(9l?V`5cqlB>moFW?>@jCwg-{%})??(5k1Rp&kw zYpdKHNM5)&sl8fNqW%7I_*7BuSFo^E2pv-KIvO^ z_9>cW=tT21V)}PrWKK%+6Jb>ITf}rGG{{M2ci9=QBx4?%m1RI$F-Z1(5uT*9+UU$)G5LO=mpK#N?)=y5r<8Z$+XtFa@nY*y9^7DmtWziEKiqU; zgfb)&eWVk}I>4NUtI)u2Rww3+L<>s_dw*fNq4UY4kkcj3gX?W=J;P6kAy6lAM)>S+ zN^%`k#~`WD3PSt*7FJ=3%sMs(1vdPwA*&dQ5p<1d%Y_@+{`U#=zfXdw+$eBRo!B?} zrnh$@xG6vez1lc)cBnJf?FhGiz><JX;$2keSI}(|0Hs~<;%TIVQIc@e#-I>wj3ADr5l1lO65Mdc9RY3| z7R?gq^^1jbqTY~978r*jn7uz>r@@m1&r!!_cWC*Hf1>U2vqmVK)VS16xGmv><{5_m z`_*kskq+k57hGnYfQ>5Lykq3=BUfP#%4>j_*}@TdELz(S`d~A&w;JNq+A+hEG|yWC zFRG|Y#!oz_{~2nZA>8L~HhHKHT2JvU+ms3gLi|Hu!hErRdiZ@HxO=U<$UF%NQ`q~q z*clFw1>crdP+jo8n2J}`tCN8M+m=9K9yVawBC8Gmg!@771SCX`v(*#xbWdChBQQ*O z1LHZQrY?x-!v@3?GH2WQK@?f^+*4p&3tyOLM|X%rnIY`TC9?afWo-})hMG&&DsPMx z*Mi+5z_=KmN_iwt6yQ#EDBAd|p zb`fRf1PfeW>{db6^}m)@2$#A=w2drKkn@JjDdB37D#mqbY$T zk>qIM{Sc6c)9by+(xl`AaZxZ3Y=js4=l8tsU}56gWY#j&mE)^|+X-yIQs5Oz(4bBs z`rwlCf_WN9y3ly_Ic~|nv83w^JSZTRk~Arei}tFQLxOa|911h?{ShF<=ucr6yC)&I z?1o*?M@J>&S9~(@zNC%WX z#O-8ft7kdASOlInl8eN94Iyp{5{|B|w47``|3_rG45t5;s6$J00^OFGO?W^00KO5; zZ$zSAY$4awd2oX|g&8`9``q@{2y>L|2b<5rVVgJE;RCtIl!}`Z>h18+`9ZJEVqP2U z%TF&%c;(%yz@G$bcqn*-Xi%hbflz)YqF^3s?@Hvz(Eir(&4dl(S(Ng;dUXsk*n+Px zuWe#uz*d~%rhf#TZsk37pG{jB5>|@>HJK#O`oJZx=F(~->?OjTRKtDVIkvc(pQFMw7DUP6&MP z1eT?cRqz5ihz-<%Y1)PY*0k>!elyw2JwW&!OsX zfM1X(FqSi4m_ZhZY@8H$gNZf{g&WjKPkCWmoFF+F4>nshV((j;oRE`(S)*(=AE5`^ z>6NCnS)ovaHzgBcO!lmY`G*T3ng=-UQ)$pMI!u!gkyOG+LTI+f&*T8yFX#dEJC`X^ zhw?yq38rJHKuQVfY+*B)y!8hJ<=DdDqDq4?lFj_6t*Ez|$AX9>C@RLsa(EYwM5Mf0 zIvxKs&E%qtiBLw4g0rRRCn>q9&u&>J12yq<5!(9tATmx^x|MQ>rn?zai69*1ic#4Qp1xHYVXcD0g@nW-D6rvy;4QhNQYr* zV+s6x1TV!ssP*8`8#{wEDlgg#pRsOqz@*Cbox)cPFOEp$CMt|yrY#xk?#$Mf$mt5} zPhfYlENZtx@0lr_BG*{9m{%PHR0^IyVEC2ui literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_d_furnitures_original.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_d_furnitures_original.png new file mode 100644 index 0000000000000000000000000000000000000000..22828b490c6f97313287283437949d2cec8a17e3 GIT binary patch literal 5347 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_ipa_original.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/lab_ipa_original.png new file mode 100644 index 0000000000000000000000000000000000000000..00835a1dbdfaf37c4d040d854b91e5cff29af54a GIT binary patch literal 4196 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_e_original.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_e_original.png new file mode 100644 index 0000000000000000000000000000000000000000..7d811c11eabcf5fc3e288fbeb112c4d74b4070f0 GIT binary patch literal 15549 zcmbt*^CHg-?FEw*-3=Cqb|2~))h41On5Al7}wUzOIVquc9a0jweEn#4= zVyG+08~Gzq#f!N+uSk_*q|YAvnQryg=6S21kjT|A3iXO)aVb)oVj>}m1Z>gd3je=< zesk;N)Mh+X66ifI1B(!0;~s`lW4b!ec)1Z&mFHyYV2a`(rhmxIKHVh80=s~c@Mg)? z6hBa;>`+Aj;cAEkeMMH1M#mXjKqAcP<^YhI4M{`9i4>YW zI(dBLe40Xbozw@U#(--QJC!~vrUB5s;#F9|FgqS)UywuqfiyGBD5l{UIRHTNAbE>L zft7^B9o;?pHOeHIk9|fkdwQ(XN0*)}Rl7O8RnUSj%P!01>*- zi$-fIYEqC?#>xRei7qclGW;uI!d3nzc!6DbE9~ab%A;D>eMgFgGw&B-Ww)9vN1tKj)&Jq`{lJsD9v|QiW{x|aTa-9E-OsV>RBkv}ohx$(` z0u_?~v?w9?pV)-V{}VgsoBaR8=Bp@p`bhSl+CYJs4jYzdnYv0_3AyU8+ab^!;Qyp^ zVk>m=R|8gEAPkInj*Qt{zDJbX*Bqk!V|KxkM!ly z!QPkN|I=c&iy7Rbs$w~^3Y`(`qf-y`*j44&G>8`4phUCR%S1 zxfYjF=)s7n`E+qworB0QN1rXbW#8fOf+CzLgIWpHe6eh)om# z^Ac(xAJr;Dvi#X)?6DzzBr|BI^p24T;QmV;0{%rUf~z@}bTeyo+L;eTyI4X*Q~vl3 zs68&=3pq(uxuex0jxIq2x(Sz(=K9zuUQM!xybE_fT9FAdpy)?%rpDRl#9`drGn;S# zI?~O6T#>fSI8sOXPBpt2vvPpKjS9ztB57d_1KpgvnEUQJ(|R{L-57mruuEu?2~Huq zsi6+%_`REB3Xc&r4mxa=l5z_I>#;C!t;d(8mm3a%i4B49WM#<@Zql73*J5qil~p_M z+{T|1p@q#dhf@w#lWwxiZ5vxqqh|=O&4s)DX&ZN(6{KtPZShwV0gwzj=G5Ss1x(8s zvU0k{h*ahOZ1zm&wJyhNT+^rQkEijIahq{06$b}TZ2<|~g~$rjZ;OoEF{HBJrwx}V z0}s!!>Iif^>r_02IXz)SIIXOGvRGpfl{7P^p`k`gTvBByQRl4DByP4|ZuCZ2Ic11S z+kNI?u4}R)?90$>Q!HPO8a#z+*@g$&9zr(_?N9#~7%v6qg-iW6USNUtW0p@xYDjTS zOsAV9aWZ!|x0>Q$AUx7VY-1enygP*BN0tlP^OeJM86Tw0?Z!NbX1+;IvnxG^VDN^y zFpq!JY|8N6CdyJ_{fU?+QW{U(t6{k)`K6x)wLeB1KOWW?^J=BW8b2_xaDvi}t+%^M#_|1@K>YdrI zsTrhJ+R4g{o{7DxvrDW!s(){v8t@(#0_E%~*6rozRwDK`9kj+j@f=p7-+59|C-tk% z9huJ&Wj)r$z){LdlCn9&N9VWbzOq(~<)P#)O-CF7%vP;f7;p}2{87``?Xc#~(1j;f zK~VL1tU|()&*A=Ntnb09V9(E6eNs6I26^HFDhq&l_)Tar z-=V51hv6Wge(P!$i=Aq!peQ$V<_8%JQDTQoAtqx-p7jc%ZB;wx{l#`vk4;8dll?8p8kTE6w+^-qNqE)=Qs#GsqglqWV4_NIko35e*y){pw#=?cXh@b++jfY zO+`T3T$z>Rdg!=G62<-V$DvA=S!QihP%p0+IwRkOca)OeypU{s^_+NR(LVFDV$*nz z?Lak~X%aN={t8w?h2weTp$1~*#Rt0>l^rZ}JC5wKYk9xkK6X_pbc;aGj=`48M)3uS z0@kz$3b;bgg#qSCcXsm{wsEJg_+ez$^+_`F z8}Ae47tT)q{Kgd|-<17zXL#q~2sj?g)CNREX)3nUPGAPxDGA(qAj8Q_Re+hgmVm!W z%ULn{VN`m~O#xC2mGsC(zz-8Vd*6=Kq$MwtGxb=OaGNF(+_w zfR#AIe*9J=U(0Z!7qtWczEs2rB-d+G^f#UQiLKc(wdgoT%OSVqX2b0qjl-b9)%82x za5xnVz0CA4wV)pKDx2!|*VN=rc?RUp#0fYo0Yq0wi{LkPd_%GYZhN+KSo@ym8q?@? zvaGlZKFt<+1LnH5i)fX{VsudfM4(;o+^$;NZi+zXhWjCXB}9uActiRe{doaYKefW7lH zyPdIOSB6jtooiE*ce($;qajlo{%=Mb77A;MO`}_XY;d3#m|>vi*lLBr)INTn4ioA| z2=&9J9*pEoGs;u@TFrKOqWgiW@@Q`Z#QX`hSi2mx(l)}y7kDQRNNoT9?n-%;YC~IW zc6NIi)!))!|2-t-L(O+kNvt}@sS+CxQ9-fOl&)nTU7<8>B5rn;w;hFQ7m%8sqAySL z;H-IRO<#8r-a?nuLrM5tkfcbgNxN;IyJ@ZIV!hT}OMbWjNMVNdu9w;ZfcVvTXjq;c z{u^O%O+0`4g-YZ^M#GXw%)};cQ%K<@q2Z|`rvh=+XGE4Z`G=KlAbx+=oWSQD7%O04 zUi}G~&-hExsmfdI>-P|@XibY`m$MaMyITg}qgTg1t_2Q*T2O{^+qc>j=R$zknDF@CS%z|U z1bmUZn3k$NC4b@Xlb*K;xnAm94F&l_Gf!LyshWd(tG8s`T+Iy3CGX8FDx`Jo?Ox-n z1(o|5j`JU%ap#_fa!AH_F}B&c zuD7YLIRtud;yb-&@@Prn(Id>t@nuw%AYWo$9u(8fS*#bh%>u4gMB5rK_Y_&f)Vxr` zk&=#{DNK+XEC-@E6Xi1Lhbo3rdUKX|vVr~(GVPI@q)JxiP?t-53U0n;L?;iFuaeut z6FwZpTT_EwlLzQ4spdu7{juk4lv6noV&}EarB$=L#~mzO2PIHSKUS0gEyNP`4;NIe zy2=3|ub>EEMd7MD9}z?hvK9T_(3x+hUOh~n#s+I*qu=vARF({Q;>#DMO00H7!V!xf z%LZDlbv8yw5X@LIS8S4g;?*7G!4!l9mPrTCL!^qtC}(a0KJi#+Uu_~59^!fCV8-tM zYGa5$bIjyd;31s;xb%!~sN8sQOJ@PCf0~;!;C_m=2N7d|qp(pTILwza?Jc9NtzLjs zmpaEco6jIPeC(OmY8AzFt$+EdhL3PgZ_s z^=4%1DpNt`ov;zpinBisialRv4LSiyos(oxkzP&_w`I3h|D~Hrmzjp^bud&-)X+e8 zMT|t&d)rNVaO@~A1X+jLt0@Q9e2ftngy@t>GZ(ZzDklwj$kJyV)5MWAXFrW|_50(+ z0YXyQ&Y_KG2D~kRhfZGh#O)OTMFW6zTQ@;g2r$DWgOPj%)h$}-& zef}^Q4l`@XD7hVw}vkIxR1JINDWaKLSpC_&}!F_j>J zi}(00;IVzZ6&aY1EO{C$#Im9Qi9g{0T1$?{)3V(5M?{eCMPM#;83Oy>SQ{ic}qlZY(r1m1QUw0!xc9l@+fFG@M3 zpRnKn?yA<7nl+Z3hC{BpvVWc_Yd3xvR5FT$JH}tEynlY{$PIqcUCR?N2>wojS zDj?Xq;i5r+B99gFI?2i6A~FI7+bjZmQ=#szsrG;J-l}}R5_N8b(+y%%C^6o??WYZT zm{8^BPyMdeM+;E z_i^iC+qy_FIus#36%u|m0r&_81RxT|H9I0rkw{+s$q5srhpWumxE6@%28tYA{M*`n zz}Q@U>*LV7f-#e~Cl8m!r_MR2mA+3or0qob#TiOg)F}s-d`eR`4Qna3O#}!wO3b(x z1|iNlmFI(~%D|Vh6Ul{4nnEv7KnfTuq@_xvt7zE1r>E1z%Hl?CrC|*cR;F!Q{nT9rjwkKjCx8S|LEMUhkJsBENLo?Dm{qDgF~h8vm%HrniuCih?4vC;(*p;L+Hpw*nw)oZ)ik%qrH?dPqJ|^Fd}QDIxC4?@bk^s_Pr-6BuixT_A=r>OiUc>x)LS%4ITlfQfHbD4DGG+wPUv)K}cEq zJbUzsX}B3r0JZ7XU3KPlw)O+*spGSxERYbK@f0k$_{^U-N1neBprX(p5{-B~e5Eo$ zs@_-edwx|6ri71nAMi|U5Zpwv()?-m$O_^IfA8zIP@z20Up}=1*V9g!9owyglo-1U z9@`m{l#EWUi^v=R348cHm7CN(=p!Bk1^E24PjYv)JWt6Qy$%gB~{cX++1yPR;NFIYfn$TM=Z<&(rTJ+2s{^W%z{5QuJry zbt&}r)O^VDCBfvUm3M=nPG>OexU|z`>W#o5$}aFg?v$l&W6_sj_C6# z`*(3d0`P-O{|b>LlU1W8Lydmn&vsC*AL9|lVat5vz~EnrawFB%VwO`+9SX1E9iwkl z<_7gn!G@O9rFaO^x+v2q$z`E$$PODfB^=_0#J#bai78;2%2q%M!H4@R^ZqPZ3r7$0 z%dwzZ=vYnllEU@IlqgjB#Wv!r_HDneQ}V_%5iZx1-fY=ic&?3!whFXa_4Ej`DnmV1|=$caGMHnL}~ZF|z?xbDqLn+eGL zYKb=iN2JI=*gu3q9%RH0)fr5LL040Hlg|f*3h>)%iil@VteXh)f;+a!NE> zfBdWhiG07SPH#vnU3($<9@gSIi=*x=QH*B`T4GL*ez8mO{RQ!v>p(k0MDit!+Wu{x4QGci!U8P&)E^l(?|4%UyW?LaU4O-+XuO|G$)%zVedlKAzVv;*bY)Df zXZ+OG!7nKsUjEVPwqx!yuIO5|9u$&=9L;LLRd!4jstu!iYmO(n84=7`vi+t+F_f0k z0w~!-cP-tjQL0)rIH?OJJL;|0E0Y!Jpu+;2vN;j1Q30A^)PaiglWTthw>)9WI##|1 zYPb1kJpF}>U;&B=R@8?a%Z@$FPoT8MQxwb0&h4Dzc=FK_TiKUPXbC%eY2so^-m^k^ zBn@H`Y2(?v_uDV=lYVne$F`I~j2`z$&GkZ$M=w5sQ##azUpE98^0`o34d_`FKtF1& zGOYMX<&?E0*iMO8<=v}fVW2tHV9kipq zUhI~`L`%s_H*dwGe2$ol0g^m~PSee%hKE9z!V2#31p(SMwdR*=OvctWT|m8@nMC_% zFC2|bDy`vZjRCj4z*{eliSYH0vqk~B>ikh~hipejM(M)f9sXIv3gfLo7BEtJHF3=O zn3^Wag%$PedxJf&$nhNIqcm7eg7k^{1S++LyUKC*0wq@jtoF%l zCsYX|D|K*Qsxe->F}2*fB$dbAY8{gq2nryF!)oP0>;@~GrKx!HNT6hT?59rQf4Y3H zORD-x<;v$|8{QAuX}n07$ag9V3gy9CwmGkcEM|ZdRi|RgTsyJU7IkeM_WU3!GSbPQ zodZnrl#2Lv@OtT+!#)w@$&E&il+8btOrqXED5T!cfi;yk(L<}qdF6v@+1PQqNx(HS z+Vi{}XR}6jKZ-0(YyqoO2pM zU;w`REb8dtTa6(fU13Aojn$=-Ly2C*&!Fv*ysOjWPguW)DxMN#?JsFiP2CAdbUsw# zEOcu}0OxLkZth4}l3lo)c*((Z%o8wru9jmIVO2RP@7H@dvq6#yfiM+?)0=-9Rm$kv zXYDd;Bl^d^ls^|iG9z{yq1n8++NYoAnl9!RODTr3N7S?=Pkax2mq0wu8tG0e(@zg2 zVasxjzfkr=Z6b20pF()t$VJRC;t<}>lDt!oJ8%4+T!v$I?W%Qq3v{J?vCbeA2n{G28zpP6}^9-WZ@xH2)pN00OZ*@!t{{Y zAI>gvL}UT}SP0ryu#HHjQE6y2na_<@lj*FBpwNOpti2XkMuY%#l;a6}zojqV>u$r?s z<-8kC6Z7WBn}0x!T8Nm*Z6zpcc~KN@+bMDc_R};P{#|a@C5?dJIOWpgW;%cj&n_XU zPah?czi{yl{&J(caACr>F$r%WuQC=L*@>U!(Ovb>N!Y6!*?1>h>XsAiqC+g?Bjk`C z`@7Ke^5byFKEB(hI9EgU@AvI}jde{7#0xK)KaOzJ87}YAfBJoVxJ}@^A+ic#+`dp% ztU`{*zOSnpf+_tfNurpdI5-J>RohV-F@~9Le{X2S*qqr^lFFuM31TvCg=B%tTtjZ# z?z|nJmU5BoGc2S{S6lMsJ0-gG3w&t5wEOwH;1(oVx;x8n5UTdeKrrPm(JcMH!UJ`F zU>1?p*YrPF&<4vx%tijH`@5@FQHpN53LyxDZ$$>LDQHkN@d{<4?*`z`h|1J zuqPDsR<2#}t_yM9vzwo$g{DdLIiG$HCcZM+{M)+U?3s1mXA}D0j=50t)^!YCucZgw zoS#>L?nA6Z8v#^yD;h^b6xf3g&dLW)s<-#E zYwvBF5Ed*CS67~M?ANzV*lm!OVg&OerGJJ$UgyMno`xH-=WyZClH?CUj8%#=xVjtt z#olgj{kjAoG>cRm6kTv*L||M9QO>44d-=OhMZrQFN5dM=t1mDNqBXr;dTlfpbJmYU z2g;DMx%2fsEj3f8U2QQN!G*e9f+X5Y{yFqVzaQYKLHTvYIr--AWK9F&=#Q|#5pw!E z9JdLL^^;cnQOndUVjbpfva{+LHKkHV?K{t(y6?iBu{|ku&$&HNCzfzAz4k^Ir6I92 z=0DL6rIC1+*;np~&6qfdmkzoTL8&Hwu(3V9;vQMk>j~0VjPLrXeXlgrW0_WRSN>|@ zK6bA?)IfVxEJmisP1U(4KmEH>N&goCuS+R#-3lgjF6?m(75;X%plZ%GY0x%Hs70-Z z3nq~h-fiJ(d}Y&ZaRPW-&fheHy(Ni=FffBqu|#Cxu+8C-J?=DEdzzu(HBB< z**jC#n{QvK<5p$dIz4tzMp@QbPb9cJUO^ObcZo4Dm=ylQ0{HbpSm*}D@v{X2h0^i# zf(_?N1VCwqM$MlK57n`_rCl8#8p^x%?X_Ep@ogfn|7tDz47^tWN)$2&eV7dW8M@R` zYjH~9SLK{SYmW=V<)QAsobN?krzKzGM zmT1fKh71jh^1GtvhX?#nku*3j!fB_Z2L`Ew#eW0l`fzjf0G&BW>f>}4a!%Ms z(382iN2$QMUF#)}0(XXvuZ1#xo!L$s=5@?z;hKtM0TH@?z??;UYGjh*Rq*v*7)@MA z))S6c%|o|Y=EBO@u!vesn@<6KjwvC?zC+0=&FvGXjfFOMIpm74GfRlNqBuO1VRf|W zuHWKZ6I_G+iw5%R8*jYwR(JZz%zM=J-p4Syb0%6(R|M#+sjL}S*B+Bv5Rxnev3;J+ z4z>RW2a~-=#PPOeb12fNN~f5|1{O#bPkHdyw$Y@8z0*-P8J2yYvZ7kku!xvF0UjNK z!n7zGIZHOv&uljQnV%o(axBui`&aU8cRJZTev7e)x^0Aj+^u+4p8Ru@`tEA`u4~V~ zd`o2c1{>UPGF07o=3B6j{Zy>tRHM0rQQ%8;1l;&XD}GOt30wO zKy0n*rfjJwHSoJcg3mA(2G~C-%d?-owP4-RVRu(JOa0dGt1)ZZ9}iZDM;P>#?f2gu z^uLuxBi_|^y}Xj_KB9B$LKo^4ilCcQlUU7##Ok9bG;#JO%R4D)ud&9X8Uq2BcV=7E z%eLfdMT4cw9yVmx%ZXj(WAVfv8l+av#nuf`4kr}3ViEAm%_FwJU5(Vdlk1~5h{;-5 zt~E&nocC^dw7*+P7nqeO_()*k$nwwVhRM~y&0jRVgD4@`Z+pS*yGl)wT#rQ^j|r_) z*@JaT6EIyYOZJw)Pg$>h@vwrfpK8{OtYr6?DgnW>_fnN-SPTbJix3Q9e@ zUFRo7Z-H_%1slx$e~d@oY?U|!hB@>~2FW#!_i5)uain*^dJWSt-)C$KpbCO7+Kja^ zmsE&|5V=2>gohDWYPFOCj1|*dx@7n4x#=LpOu_51;;O3Gzjbgv_vqZc*ypYFJ zFTT|^6*%tE(n*))V0`$w(K2eJn81*7O1+QVS{OL!RZIMG3y%a32aAD6t%%5_Qp`Z} z)ej|_lQmq|EQJV?1v%uB62W0en5J9jNSJt`=?Z*LG7@-aPCae!$Md^@Mck&9d2>EL zh8Tedr%UYDKN2`@aW3C!jeD$kXSV!v_~F<53ovV=-JV47<8rDgosxz*+&C*oa;cG% z%=@}>;5mLXdi!|h960J`{mJ=AhK->{D5kN)Rj=PYmKdRuaPBmrYvLK(_ZS@Zb6{aM zR^~)1_v>@qono{(Vr9oa+ct~6_a~}hwqqnt)oq5JzUTl4MsckCab<1f`tEaLp;1F` zzT&Tr?Rxy=63>}qwUB=KxIb8~d}|EgH?gAL{^B(T0txKa+0Z+)cJ^J;>>Uq+sh~pQ zvMRpSmrRhLg?sJn_SDj31oz?QN65}NN3)ot#rz#1C7HE$?Q&(`L+mPj(RMM&&jhka_GGd)Cz)%6xO(B12fzZr#d(Y^p=N5 z8{d66s2%FaoCykmVI^fQgtC4f@v*pf6wni?I6!6f=7q^s(oT zdc4U7QWVs|uULkzu6}A(~A6l`w0i}}z6Z@OVo{yF^z<`U2wH@A)W zwwl-aAXHN%{@#g04F{pZu6$-We#vg~VB&YLL%8B*N?WO%M@`(MCbgjizd(IvO>1p9 z%-!qcduTR32>w=%-C^Gmx13%AsYn?3))vcHN}{%u7sGZIN)0SNelA(8+vM~>$ASk zXAx&Rl@cVEa!4%O8E+*VxX&X=u+&XaunAMZd#(*^vA36H&l}awt7Ak}PiO;v#dYXc zOux3|52eR035Wabg-slbADLCHKxqP;*Ui6r&i%;<=Toz=$h_McD0VK86cuAD9RJD_ z{Yx{bn}w;#Q?go8JNF&?X`o}29LVA?&rZGQN0!U|hi3xL&*DHvHO@pyYEm{HC9!`9 zrwE(R`kGzM;8FAEJe|1UT9z>P64l~HnInj!@>YU1VZ!XU%V6(LWt_dUz}KJ3L_aud z0k}GOhWLLGx;M<|G`k`DcZ_wao02TZ^EpchTJdcrvBJHM^r#DX)D#s%#~M#iC;3i_ zG!6Gpxvw8CfePudQkLTcI&A0J)t{Opk^@(TTUSq?x*`k zKj@}fxFJdN#JXql@(~8G*iGfXLEx$EZTkCckOFhMuvVZ?clAeEgJlf42P=9jE`RA_ z$92K|Hjjicq#&RL!-B|!3yJLojS>-i&a06Rm}vAuYox|$K-oLy4{Ovng^)4Dx`x3RX+-P0RE)Q{vVFG}vipioc{D8wV-e=y6p-_Gtk+ z1h6KlvYTzaFZg$&)%Hy0+ot;VrMO{(>0ng^eD`kIW5h69am>N~P-M4vq}?Di+!Pzk zvy5@@as;S0hmZe}W(C-MI;q-5w>iHg-wFDm$%x@{+vx6-C_+s7Gm-^V$$sEKW$3|; zBCB;~kVIcm0>;F>eEwySCgeORa@I~Me5CkcmueK$wzoO|lU>b%b9;{D6^-hAliCy^ z*sbGV1!?KtBmg5+rv_A^J0xg|5!d`hIbU%1X5 z%!v_rTJ!N%8;0ys=fR-ZuqQT=@R+h{c>Y_LzgCj7?8jE)@bo;b&uxIJ0fH*!EzJX) zfbpcmkI*3WosPUs`;|s+=dxhH!3*CjlYjVaUfT$5)aj7`!RfuLh9s=*1RB54|+@twm_DP|TYuHrX%e5Mkg(0L~ zx>%_^@u~B|+?1uTg%#_}EptHe`?y_Hsr3Y07)s8%R~?h-Axk)Rc8=k#X+rr-qfWwl z@`Qe^v*dh#IfvfM3-fFBKR-`b^0T*gt5Q#Nk87(sPnSprixz6EQ7=S?N)~xo)5Ve_ z1Dulf!mVT!XbnqxPE4a5SyAm$hnuAhD9z&je9?kg8q+fId)IK1ssRyIpRNK*P3xES zRrrSn>*ZPRecKrXw{ciWN<=5WK?|}3Lpv%fA;$5uZ*4o3LmTn%>HIxgVr7Qooh@gL zvtWF2(OhpU{`Avj&gNuo=u1p77!tkJj#`uO0ym#J!#=L7bv}R-=LP45wD2ft)a7w~gygQNvS7)NAgQtY=JXUW-a(MJ+- zWImJM2Y2@v#Qy80pD|!=44Qiv&JwDp+S349Qp;cpm2m|fH+o$gsKPa3~+>l-waS2Jc`BtkV50GtCbX@H`Nz>g^O@L5`d0l-L3WRKWtjb65yRL9t%S#_; z)qp1yOQr`&dr@+LM&NsRg-?M$TBNk9y1@coYoWuBrI0`4Xgrlzr{ZA-p@dS(#p8?G z-hAQFs+y*Z{Gm;J>WS6x$4Qpi&Du0VF&ceHf<>k3&|n0-nn!%>{+z~EjB+;g-O$uv zrI&vEP@D4lqJI?Il&~(N_{gJR+})X1nAoW8C#neev-|>y$=Fq^)dfWiAU3#-)$Z$U zh&!P^w0mwQ`bHoB;Ln%#Zg=i71}$vxFCcJr;oNM#6gg%{^LTtcv+9pwW1>e!mpF)63vUf6mo1p_nnNixshL~@EL7YxqRfHNt*KYBDs+T8p)Hcp!EhJ z$Sk^-U_nBg?ze@|OV&0V`7wX@*^w%&uH!AKE*cidtw8-!O;=;C>eXEJ7;Ad$>ybaJ zujJ7S8f*ZF##s%n`YF+$TLP>L|6v+a>H=Ge0O3sM07nIy2q5U!bd3EREf)CK04#*0 zp0b8Y!j5m;;=H=MQ(yE+lmw;TS6Vc9T9oxcU}3@NO%c#Sr3*O6`h9MZXRq2zEHuFS z&Qyk$mE<2D;GKYXd%dAjMk?R%LRQJ4ew3Jq_T1Hc)p+JrrJ79weE(;wf4xb6B+T{B zbu)=j_WOB=mL~Cs%?vS%ZPT0m=s%1a=hYLGzL%I>k(F0x4i+G+?@j6G^7z2=aw%od z!S081YU+A)9UIf77Wv`eFMf&9AV~aJM~;R9!Q>p37LbZO_qC1=DT|teaBYq^PcXD)2nV0n?Cufh82pyE;s|EkSkO-IFh)`_a@Yw^4S6Tm+A?~>`}>U z_b@SNy&02Q519x>AS>i^GWC0bY`cH_?PK;Q_~Gfk`VxXl`X=_=^dIoPx9>FBh{EdV7n$qhaBM5e-wnP-yAv?o`gW( zc*}DbpXzzFz~R)-QQ0JKRrI6UHUKxpZY5Lbc-5OBcSCP8 z@e3i58pNWwWg~gpr~??vr2BcV>*l5xm*SBA7f%&r^Z`u(xA3B|*4EFqC_vc3)nqta zy!G1;rY3As>BJpfE4_SHl6kxm^HbBOLO+dPF>lcJiJ;dCu?g3-e#Hm|j#mIHtu6ZG zh%jf!opdf0tUCl`bW=S&8k;(YFG!LD!ZLm>+Yu$hc{)5pFn>rORomjCiWOmSN^m5%C7|c_PBvQo*`(4Ji9);L zJL2c{9%z)>A}mB3(UM-m$Wan(Rx8UtyDy7IF4lXIj?`L^p`j?4e0X`WeX?hNe}L%E zR%z-E;jL+*W3p>yNb3y?Ld1G;7D%Qx`AyAxaD8og6$?*05rtY2y`}ggTfZ;e=8ulf zDe9aD>f&qb*}BN|nqQiSQ&JrP?)kxcwpJ^O_~sG!gH@Y|+;*@)a@NH$CK<)Aq?7|! zZyct-K!T9pbm<|qaSF}NalPbToF%o1HJ2iL#!N1WL^FxRlCp+lk=%XE=%|+HWjMT~ zcfEEe$Xnojb^T6v#lf~ZEFR4XnK)woiN?wT>>RBO>X@D-gdx2nWo_uu3TnI&pdiyo zl%l!KkBl(gEt5-_!ZASOmem$(c5E`GLk3A(&_l}UkexiyaVXGxMmZ1-C`wdDvvjUmn`BhUUY}AP5`2EAVZ^D4IHy%n_;u#h4PX(K=wOD|@DS@qK#D zMTSV{e!>QjkWf>ctv;xQbE?U%9)%0s(?olhLkBIw*FR0v{k%V=05TD_odR;1cCzbDqGilsz<)L zg2d&Y0`B$CsnI~xoT2QeH}mZrzC{rz+{k%`CT_^XsK&G*0r|4>6y(E3Vt&`04RrU_tGiN@}NPcP;Nsv>|p^g=DaE2fVQ zh%po80Im-QPLC-V6$9{t;XhwiZ5y}?Lzw$-Q-Q@(7--fKQ+Z7pazgn-*EF@yRPb_k zg;zJgnyiYg#sz&8(Mb6@7NR-QIv;KBT2+Exd>{Q~Va1*rP1)uidw$Zu_vp$2ed6El z>|dIa0`%8&lwYguW0~KgcgMYdR{$mlNn`zW@fxj zT?{+%QIp6w4PR2GzI`v}+K!ppO`Y_sZRuR$i_EaJ>Q_pKT(S60e@EHg zc-d&5L!YO}0e)ZY+OWB2?Nl)iY=LpVQ@|H@VJPx$DkA#ycZN z(VQYDx?>R>9C<*r#_i{K3i@^ZmT2?haro3kpn=~l>~EUi@2PbSp>5<|C=_PBlt+u} z+|h+DRmeVCL#?Z~gh`@|uh*ev2F4{^>2N#QfKhr4Dn(oAHGs)-ToNJiSh#Z~u;F1*gy)?MwN~Jqw9q z|Ho^-FHdy)@OY*hGf-XbulbYKZ(FL)<4HQziTiBahNw-+!xB78RWumQYH`l6eK#_* z_#@`NKRqQA*ges-^ttSE>?J z>-t|(o5yRp6S!TAVt2WF)rU|nd;DjMHX-093}kglB!rd3YE(TM)Bl&I#Xq;Qu1@J; z`buohl3$#hoO=@8B2s&#P$h;?lDt@%S-I1R($+0F!+eaU;$j5WjMK-tFi63xeX6`z z9e3o?GI92r%t!?T4O-_<`R02u?%l{!E3H^Lqy?go>s7~GC>UB0h$g)-M>!b?K|RM8 zUO=E zq>;CxyXP#r>P=Eyl($VwCNh*L^TiRGWxXzFpP%CSpOFD;|{*f&=ylJE9{gS?_ zJQchTugao~lD0(`JBCKkXHTOo&)neou?yE(HuHzPz_0D{L-G5z&$Lfqt3IVnv=nF} z7w%MiN&tl_3Vl%hJ)<-F_yXKE$BaIf2!5bYDiWenE>^Yy%tZ3J5hlgjsqmyB6`8{2 hsQ-T`zRHJ>R`OQKd0!T>&}3r_b!8o;CI#Eb{|AWn_zD03 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_h_original.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/original_maps/office_h_original.png new file mode 100644 index 0000000000000000000000000000000000000000..a4e5fed2ac193400e37b36d70885ad204c7d67dd GIT binary patch literal 2969 zcmeAS@N?(olHy`uVBq!ia0y~yU||Dd77m~Q!EaktaqI0}$GqDH0uF)x3xCH~?#jHx&?$RslSwiBTx|y^fz4CAO zxv%T&uUT3D+VSi4v9Ie-^Q17O91v*WVK8Di!JxoA%Aj%}6s*lDoAh#$`L?gtPbFsk znrP@7_h<#zk&n-Z)ta9z1G7j-vwib>$6_`DgBK(qInp7B@=pdu!iRQ&SO{cceJS zMYd})%w}>XJ8DffN-|X(+#k;y@%Vdn6z_q5QYRQp=KWJ-P7qXJKJY86#^uM&XCugB%0QKmEnen z1k(h@1v}3Q?AbQ^P~5#NB5fkZH3Ot3fj9DXiCMVFuJQv}3^`mpjIbOS;J$0o1!Lxw zOdFhgf3x}2Z_vaVuobh~Cmhs1l*JI@z~;aT3Hk=5WBW8CQq`Y)R4%xZrO+dMLqtc3 zg?m>zFt{vQ?`QC=x!gFhcM~i;AwGX#e!50$);qPf=e@Ow8D)*Wj5tbys}&rQdmj8> zyjSbbf!?bOZ&o(ImFlcNVa_T)|3-z6P)RKBk?r;jdyNu4HD9H2ej>Y+I?oiPaSt59$WsJj7o+a8`{)^ z6AfGkn9MeF<0wd~KHU(kIC}hYzW1HXd{YK%t$@dgH;h1ZGmk^H5ra_z2RJONvg*q9XOf4GwS_Lsnv{^<@5K- z9@1$(_2-ijZjA)%47=R5=ggK_bk&q(Sbl8W|9g)7{1Tsv18ddYRvoyQzft1vZ7;=+ zmFIU}-hFQw!^v+q(KGwANo@{nd$x9+?L2e!oMq~QNcK-xPS3Y|U2PP;BjWwP`N6Ea z{`wp|aP+L@eTL(*Ati4dw#@wiOJt-JVX)+c61o(4e0ZDFa5MGe<h7 ondkG;_s@MMi{o$Nf@D{`(~r5kHv2>R^w%J+r>mdKI;Vst0NQZ!KmY&$ literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr101.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr101.png new file mode 100644 index 0000000000000000000000000000000000000000..5463c1b4fcffd5b4f71e99ab5fd82bbe30db9579 GIT binary patch literal 5611 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_NLB_furniture.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_NLB_furniture.png new file mode 100644 index 0000000000000000000000000000000000000000..fb33120a614ef50d48e909cde93344c4afefc1cb GIT binary patch literal 9709 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_intel.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_intel.png new file mode 100644 index 0000000000000000000000000000000000000000..b6f0152826abbe9652015df0b3a8e49d6adc925d GIT binary patch literal 3827 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 F{{snnv26eV literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_c_furnitures.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_c_furnitures.png new file mode 100644 index 0000000000000000000000000000000000000000..ca347e76fbd0238b4d08cf0fe98c446944da484f GIT binary patch literal 4907 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_e.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_e.png new file mode 100644 index 0000000000000000000000000000000000000000..237a9474d1abe0621b479edaaaf25b6f8352a355 GIT binary patch literal 18931 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

jm{GSTng!Bg9vO;S(-@*y)@dO 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�Ci4%hp-UB+GthEXm>_U0kmp}e< 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_h.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_h.png new file mode 100644 index 0000000000000000000000000000000000000000..36636b193cc9a5ed9ef28428f656e2a615edb6ab GIT binary patch literal 3769 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 BxWxbf literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_c_furnitures_voronoi.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_c_furnitures_voronoi.png new file mode 100644 index 0000000000000000000000000000000000000000..74411cc64a0b229f6ef144aceaa829657daa5873 GIT binary patch literal 18623 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_d_furnitures_voronoi.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_d_furnitures_voronoi.png new file mode 100644 index 0000000000000000000000000000000000000000..4b36fdcfd5f074880f233c677f55101cdd2614b7 GIT binary patch literal 20694 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 U=?)bq(Esop&rRVBun$!KZ#qGwK>z>% literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_e_voronoi.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_e_voronoi.png new file mode 100644 index 0000000000000000000000000000000000000000..ad58cd99d3d45b145a0ea90a7d17e61a2f812fce GIT binary patch literal 42043 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_h_voronoi.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_h_voronoi.png new file mode 100644 index 0000000000000000000000000000000000000000..40fc2882a3baac6b3524205cd5f02447e95c2219 GIT binary patch literal 28586 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 JJ+c1q{{W%=E;#@I literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_c_furnitures_voronoi_nodes.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_c_furnitures_voronoi_nodes.png new file mode 100644 index 0000000000000000000000000000000000000000..74dc5b4194fcb80b47bc560139e40bcb05906efb GIT binary patch literal 7062 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_d_furnitures_voronoi_nodes.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_d_furnitures_voronoi_nodes.png new file mode 100644 index 0000000000000000000000000000000000000000..f2231d9dbdab5f425501675f99897d18bb1b2902 GIT binary patch literal 7960 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

gIvPtEJN z!yZv72?J6X7HZ%`HWHHeIBac9Z9>r9Ztbc>~x#JpHhwZU!nuwpX`k zH@|-FDN=j=G5_AYQ9lp>A*~lZbBmtsK6b6Oyt^ba`LrZn-7fxOJO%(swO;$t%h@(} zFv4tbi0HNW;T8U)p=;}3m9tyORWV+BC-q#k1Ybvy-P4EmgIK>X>(UYR+r_g15@aIk zyYu5f(Pe)wz2+aKEFP%F9?WSVq)@(!*Ka6T{Xk22As_jKG2mPDa@dM#CR5IoM+dM> zo!!B2s4>qRGbb#j#lT$qQEjTOsWHf z`C#to*=n#=yuu%t3EHs_6>f)oqtN*)a!2oi#|We3FO5p2KPVOx@!yRTFQQ=zhnKn; z1QT+j7qVOp@Jpn3cUi6;BwR5c?6H64Z$*&+M=ErBV%cu}e5L|y1x6W-ktRMBCz1xr(|?S4qBvo!-zB z{u$Ae=ge_^4hsCY{tYO6$9BnsOv?4imjUv@^)<7FW=GNbWB-{Obg#s#1*PcG%~THPm4 ziWAvltL{2EzpEnW5AN8R>PJq1DeRK<{`ij6c%heYx=8s9o7Pdjc%5fd6Dv2OesL?u zlw-zA6^gS3>;#)hckg+gRH~`|=h1xi4p%c9R$+X1O6sRkg5a%@8j9JUV?y>kD`PIr z8>JJAdK@#G$|#VMHhs{?&FtgVWX$X@OB*w>twZ{Q8#@{BpOeb>DlqKO# zcdu*r03ebV!Qb~pF+HDd-hGKFn|P8CZ!1ygsL=K{jnT=JEGSVjoPuuVS!oDs_ z6Mw9w{ZAcREKkd&cIxMt{W3op)Ck&l_H~2wH}b&6iH*=)$4bcu_CAn?&K(Yrd$mnn zq01eVr|%D8jbmGv2VcGKWsjjP*Fq16SyujQ-FmQ<(9d>7BGe9~d_mD`noJ%+q`s5( z9y6l2GHvhQk$EVW`=G`G{6Vu4uW~=hx=VA*6 zW;^UO8cqqJSn!8$as6ol5qGg0g2Pu>e7X=*ZQz7Ek|F3uF;xYw`oY`mPN`owIicMM tFRvhScPzbnMScDM;(qr3-6zV0#Nw58U9p-C81r8+hPq}t^^cw>{trk*Zkhl9 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_intel_voronoi_nodes.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_intel_voronoi_nodes.png new file mode 100644 index 0000000000000000000000000000000000000000..ae2e9743164e447f1844925e9ed60830c563b5f9 GIT binary patch literal 5269 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 Dt}>X@ literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_h_voronoi_nodes.png b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_h_voronoi_nodes.png new file mode 100644 index 0000000000000000000000000000000000000000..2599b315213b41b2023b89af1d75fe1c15f84a3b GIT binary patch literal 6628 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 literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/abstract_voronoi_segmentation.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/abstract_voronoi_segmentation.h new file mode 100644 index 0000000..0365094 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/abstract_voronoi_segmentation.h @@ -0,0 +1,84 @@ +#pragma once + +#include "ros/ros.h" +#include +#include +#include +#include +#include +#include + +#include + +#include + +#define PI 3.14159265 + +// Struct that compares two given points and returns if the y-coordinate of the first is smaller or if they are equal if the +// x-coordinate of the first is smaller. This is used for sets to easily store cv::Point objects and search for specific objects. +struct cv_Point_comp +{ + bool operator()(const cv::Point& lhs, const cv::Point& rhs) const + { + return ((lhs.y < rhs.y) || (lhs.y == rhs.y && lhs.x < rhs.x)); + } +}; + +class AbstractVoronoiSegmentation +{ +protected: + + // Function to get the ID of a room, when given an index in the storing vector. + // This function takes a vector of rooms and an index in this vector and returns the ID of this room, meaning the color it has + // been drawn in the map. + bool determineRoomIndexFromRoomID(const std::vector& rooms, const int room_id, size_t& room_index); + + // Function to merge two rooms together on the given already segmented map. + // This function is used to merge two rooms together in the given already segmented map. It takes two indexes, showing which + // room is the bigger one and which is the smaller one. The smaller one should be merged together with the bigger one, what is + // done by changing the color of this room in the map to the color of the bigger room and inserting the members into the bigger + // room. + void mergeRoomPair(std::vector& rooms, const int target_index, const int room_to_merge_index, cv::Mat& segmented_map, const double map_resolution); + + // Function to draw the generalized voronoi-diagram into a given map, not drawing lines that start or end at black pixels + // This function draws the Voronoi-diagram into a given map. It needs the facets as vector of Points, the contour of the + // map and the contours of the holes. It checks if the endpoints of the facets are both inside the map-contour and not + // inside a hole-contour and doesn't draw the lines that are not. + // Function to draw the approximated voronoi graph into a given map. It doesn't draw lines of the graph that start or end + // in a black region. This is necessary because the voronoi graph gets approximated by diskretizing the maps contour and + // using these points as centers for the graph. It gets wrong lines, that are eliminated in this function. See the .cpp + // files for further information. + void drawVoronoi(cv::Mat &img, const std::vector >& facets_of_voronoi, const cv::Scalar voronoi_color, const cv::Mat& eroded_map); + + // Function to get the voronoi-diagram drawn into the map + // This function is here to create the generalized voronoi-graph in the given map. It does following steps: + // 1. It finds every discretized contour in the given map (they are saved as vector). Then it takes these + // contour-Points and adds them to the OpenCV Delaunay generator from which the voronoi-cells can be generated. + // 2. Finally it gets the boundary-Points of the voronoi-cells with getVoronoiFacetList. It takes these facets + // and draws them using the drawVoronoi function. This function draws the facets that only have Points inside + // the map-contour (other lines go to not-reachable places and are not necessary to be looked at). + // 3. It returns the map that has the generalized voronoi-graph drawn in. + void createVoronoiGraph(cv::Mat& map_for_voronoi_generation); + + // This function prunes the generalized Voronoi-graph in the given map. + // It reduces the graph down to the nodes in the graph. A node is a point on the Voronoi graph, that has at least 3 + // neighbors. This deletes errors from the approximate generation of the graph that hasn't been eliminated from + // the drawVoronoi function. the resulting graph is the pruned generalized voronoi graph. + // It does following steps: + // 1. Extract node-points of the Voronoi-Diagram, which have at least 3 neighbors. + // 2. Reduce the leave-nodes (Point on graph with only one neighbor) of the graph until the reduction + // hits a node-Point. This is done to reduce the lines along the real voronoi-graph, coming from the discretisation + // of the contour. + // 3. It returns the map that has the pruned generalized voronoi-graph drawn in. + void pruneVoronoiGraph(cv::Mat& voronoi_map, std::set& node_points); + + // Function to merge rooms together + // Function that goes trough each given room and checks if it should be merged together wit another bigger room, if it is too small. + // This function takes the segmented Map from the original Voronoi-segmentation-algorithm and merges rooms together, + // that are small enough and have only two or one neighbor. + void mergeRooms(cv::Mat& map_to_merge_rooms, std::vector& rooms, double map_resolution_from_subscription, double max_area_for_merging, bool display_map); + +public: + + AbstractVoronoiSegmentation(); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/adaboost_classifier.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/adaboost_classifier.h new file mode 100644 index 0000000..c9bb640 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/adaboost_classifier.h @@ -0,0 +1,49 @@ +#pragma once +#include "ros/ros.h" +#include +#include +#include +#include +#include +#include +#include + +#include +#include + +#include +#include + +class AdaboostClassifier +{ +protected: + + bool trained_; // variable that shows if the classifiers has already been trained + + std::vector angles_for_simulation_; // angle-vector used to calculate the features for this algorithm + +#if CV_MAJOR_VERSION == 2 + CvBoostParams params_; // Parameters for the classifiers + CvBoost hallway_boost_, room_boost_; // the AdaBoost-classifiers for rooms and hallways +#else + cv::Ptr hallway_boost_, room_boost_; // the AdaBoost-classifiers for rooms and hallways +#endif + + LaserScannerRaycasting raycasting_; + +public: + + + AdaboostClassifier(); + + + //training-method for the classifier + void trainClassifiers(const std::vector& room_training_maps, const std::vector& hallway_training_maps, + const std::string& classifier_storage_path, bool load_features=false); + + + //labeling-algorithm after the training + void segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, + double room_area_factor_lower_limit, double room_area_factor_upper_limit, + const std::string& classifier_storage_path, const std::string& classifier_default_path, bool display_results=false); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/clique_class.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/clique_class.h new file mode 100644 index 0000000..e7ea5ff --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/clique_class.h @@ -0,0 +1,113 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_segmentation + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 11.2015 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ +// +// This class is used to easily define cliques from a graph. A Clique is a subgraph of a given graph, in which all Points are +// connected to each other. So this class has a element member_Points that stores all Points that are part of this clique. +// Also it has different functions: +// 1. getMemberPoints(): This function returns a vector with all members in it. +// 2. insertMember(cv::Point/vector labels, vector boost_classifiers): +// This function is used for the Voronoi Random Field Segmentation. It gets a list of AdaBoost classifiers +// ( from OpenCV ) and calculates the feature for this clique, depending on the given labels for each Point. +// The labels show to which class each Point belongs and are describing the position of the AdaBoost classifier +// in the given vector. It then calculates Phi(y_k, x) = exp(w_k^T * f_k(y_k, x)). Phi is the clique potential +// needed for the conditional random field, w_k is the weight-vector, defined for each classifier and put together +// for each point here and f_k is the feature vector, that calculates individual features for each point to label +// them as a specific class. y_k are the member points of a clique and x is the hidden node of the conditional +// random field, in this case the given gridmap. +// + +#include +#include +#include + +#pragma once + +class Clique +{ +protected: + std::vector member_points_; // vector that stores the member points of the clique + + std::vector< std::vector > beams_for_members_; // vector that stores the simulated beams for each member (simulated using raycasting) + +public: + + Clique(); // default constructor + + Clique(cv::Point first_member); // constructor if one node is known + + Clique(std::vector members); // constructor if more than one member point is known + + std::vector getMemberPoints(); // function that returns a vector with all member points stored in + + void insertMember(cv::Point& new_member); // function that inserts a member if it isn't already a member + + void insertMember(std::vector& new_members); // function that inserts multiple members, if they are not already members + + bool containsMember(const cv::Point& point); // function that checks if a given point is part of this clique + + unsigned int getNumberOfMembers(); // function that returns the number of members stored in this clique + + void setBeamsForMembers(const std::vector< std::vector > beams); // function that stores the given beams in the class parameter + + std::vector< std::vector > getBeams(); // function that returns the stored laser-beams for the member points + +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/contains.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/contains.h new file mode 100644 index 0000000..5f6468c --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/contains.h @@ -0,0 +1,13 @@ +#include "ros/ros.h" +#include +#include +#include +#include +#include +#include +#include + +bool contains(std::vector vector, cv::Scalar element); +bool contains(std::vector vector, cv::Point element); +bool contains(std::vector vector, int element); +bool contains(std::vector > vector, std::vector element); diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/cv_boost_loader.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/cv_boost_loader.h new file mode 100644 index 0000000..64d3b95 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/cv_boost_loader.h @@ -0,0 +1,8 @@ +#pragma once +#include + +#if CV_MAJOR_VERSION == 2 +void loadBoost(CvBoost& boost, std::string const& filename); +#else +void loadBoost(cv::Ptr& boost, std::string const& filename); +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/distance_segmentation.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/distance_segmentation.h new file mode 100644 index 0000000..c99fc12 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/distance_segmentation.h @@ -0,0 +1,19 @@ +#include "ros/ros.h" +#include +#include +#include +#include +#include +#include + +#include + +class DistanceSegmentation +{ +public: + + DistanceSegmentation(); + + //algorithm to segment the map + void segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, double room_area_factor_lower_limit, double room_area_factor_upper_limit); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/evaluation_segmentation.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/evaluation_segmentation.h new file mode 100644 index 0000000..6568413 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/evaluation_segmentation.h @@ -0,0 +1,40 @@ + +#include +#include +#include +#include +#include +#include + +#include + + +class EvaluationSegmentation +{ +public: + + struct cv_Point_comp + { + bool operator()(const cv::Point& lhs, const cv::Point& rhs) const + { + return ((lhs.y < rhs.y) || (lhs.y == rhs.y && lhs.x < rhs.x)); + } + }; + + typedef std::set PointSet; + typedef std::vector< PointSet > VectorOfPointSets; + + // gt_map = ground truth gray scale map (>250 = free space), each room is a closed contour (rooms are separated by drawn in borders), no colors + // gt_map_color = colored ground truth map (maybe computed by or provided to the function depending on value of compute_gt_map_color) + // segmented_map in CV_32SC1 + void computePrecisionRecall(const cv::Mat& gt_map, cv::Mat& gt_map_color, const cv::Mat& segmented_map, + double& precision_micro, double& precision_macro, double& recall_micro, double& recall_macro, bool compute_gt_map_color=true); + +private: + // fills each closed area (= ground truth room) with a unique id and collects all room points in gt[room id][pixel index] + void groundTruthVectorCalculation(const cv::Mat &bw_map, VectorOfPointSets& gt); + +// void Segmentation_Vector_calculation(const cv::Mat &segmented_map, std::map &segmented_room_mapping); +// void Recall_Precision_Calculation(std::map &results, std::vector gt_mat_vector, std::vector segmentation_mat_vector); + +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/fast_math.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/fast_math.h new file mode 100644 index 0000000..61cfc9b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/fast_math.h @@ -0,0 +1,1608 @@ +/*=====================================================================* + * Copyright (C) 2012 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __CAST_H_ + +#ifdef __cplusplus +#define cast_uint32_t static_cast +#else +#define cast_uint32_t (uint32_t) +#endif + +#endif // __CAST_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __SSE_H_ +#define __SSE_H_ + +#ifdef __SSE2__ + +#include + +#ifdef __cplusplus +namespace { +#endif // __cplusplus + +typedef __m128 v4sf; +typedef __m128i v4si; + +#define v4si_to_v4sf _mm_cvtepi32_ps +#define v4sf_to_v4si _mm_cvttps_epi32 + +#define v4sfl(x) ((const v4sf) { (x), (x), (x), (x) }) +#define v2dil(x) ((const v4si) { (x), (x) }) +#define v4sil(x) v2dil((((long long) (x)) << 32) | (x)) + +typedef union { v4sf f; float array[4]; } v4sfindexer; +#define v4sf_index(_findx, _findi) \ + ({ \ + v4sfindexer _findvx = { _findx } ; \ + _findvx.array[_findi]; \ + }) +typedef union { v4si i; int array[4]; } v4siindexer; +#define v4si_index(_iindx, _iindi) \ + ({ \ + v4siindexer _iindvx = { _iindx } ; \ + _iindvx.array[_iindi]; \ + }) + +typedef union { v4sf f; v4si i; } v4sfv4sipun; +#define v4sf_fabs(x) \ + ({ \ + v4sfv4sipun vx; \ + vx.f = x; \ + vx.i &= v4sil (0x7FFFFFFF); \ + vx.f; \ + }) + +#ifdef __cplusplus +} // end namespace +#endif // __cplusplus + +#endif // __SSE2__ + +#endif // __SSE_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_EXP_H_ +#define __FAST_EXP_H_ + +#include + +// Underflow of exponential is common practice in numerical routines, +// so handle it here. + +static inline float +fastpow2 (float p) +{ + float offset = (p < 0) ? 1.0f : 0.0f; + float clipp = (p < -126) ? -126.0f : p; + int w = clipp; + float z = clipp - w + offset; + union { uint32_t i; float f; } v = { cast_uint32_t ( (1 << 23) * (clipp + 121.2740575f + 27.7280233f / (4.84252568f - z) - 1.49012907f * z) ) }; + + return v.f; +} + +static inline float +fastexp (float p) +{ + return fastpow2 (1.442695040f * p); +} + +static inline float +fasterpow2 (float p) +{ + float clipp = (p < -126) ? -126.0f : p; + union { uint32_t i; float f; } v = { cast_uint32_t ( (1 << 23) * (clipp + 126.94269504f) ) }; + return v.f; +} + +static inline float +fasterexp (float p) +{ + return fasterpow2 (1.442695040f * p); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastpow2 (const v4sf p) +{ + v4sf ltzero = _mm_cmplt_ps (p, v4sfl (0.0f)); + v4sf offset = _mm_and_ps (ltzero, v4sfl (1.0f)); + v4sf lt126 = _mm_cmplt_ps (p, v4sfl (-126.0f)); + v4sf clipp = _mm_or_ps (_mm_andnot_ps (lt126, p), _mm_and_ps (lt126, v4sfl (-126.0f))); + v4si w = v4sf_to_v4si (clipp); + v4sf z = clipp - v4si_to_v4sf (w) + offset; + + const v4sf c_121_2740838 = v4sfl (121.2740575f); + const v4sf c_27_7280233 = v4sfl (27.7280233f); + const v4sf c_4_84252568 = v4sfl (4.84252568f); + const v4sf c_1_49012907 = v4sfl (1.49012907f); + union { v4si i; v4sf f; } v = { + v4sf_to_v4si ( + v4sfl (1 << 23) * + (clipp + c_121_2740838 + c_27_7280233 / (c_4_84252568 - z) - c_1_49012907 * z) + ) + }; + + return v.f; +} + +static inline v4sf +vfastexp (const v4sf p) +{ + const v4sf c_invlog_2 = v4sfl (1.442695040f); + + return vfastpow2 (c_invlog_2 * p); +} + +static inline v4sf +vfasterpow2 (const v4sf p) +{ + const v4sf c_126_94269504 = v4sfl (126.94269504f); + v4sf lt126 = _mm_cmplt_ps (p, v4sfl (-126.0f)); + v4sf clipp = _mm_or_ps (_mm_andnot_ps (lt126, p), _mm_and_ps (lt126, v4sfl (-126.0f))); + union { v4si i; v4sf f; } v = { v4sf_to_v4si (v4sfl (1 << 23) * (clipp + c_126_94269504)) }; + return v.f; +} + +static inline v4sf +vfasterexp (const v4sf p) +{ + const v4sf c_invlog_2 = v4sfl (1.442695040f); + + return vfasterpow2 (c_invlog_2 * p); +} + +#endif //__SSE2__ + +#endif // __FAST_EXP_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_LOG_H_ +#define __FAST_LOG_H_ + +#include + +static inline float +fastlog2 (float x) +{ + union { float f; uint32_t i; } vx = { x }; + union { uint32_t i; float f; } mx = { (vx.i & 0x007FFFFF) | 0x3f000000 }; + float y = vx.i; + y *= 1.1920928955078125e-7f; + + return y - 124.22551499f + - 1.498030302f * mx.f + - 1.72587999f / (0.3520887068f + mx.f); +} + +static inline float +fastlog (float x) +{ + return 0.69314718f * fastlog2 (x); +} + +static inline float +fasterlog2 (float x) +{ + union { float f; uint32_t i; } vx = { x }; + float y = vx.i; + y *= 1.1920928955078125e-7f; + return y - 126.94269504f; +} + +static inline float +fasterlog (float x) +{ +// return 0.69314718f * fasterlog2 (x); + + union { float f; uint32_t i; } vx = { x }; + float y = vx.i; + y *= 8.2629582881927490e-8f; + return y - 87.989971088f; +} + +#ifdef __SSE2__ + +static inline v4sf +vfastlog2 (v4sf x) +{ + union { v4sf f; v4si i; } vx = { x }; + union { v4si i; v4sf f; } mx; mx.i = (vx.i & v4sil (0x007FFFFF)) | v4sil (0x3f000000); + v4sf y = v4si_to_v4sf (vx.i); + y *= v4sfl (1.1920928955078125e-7f); + + const v4sf c_124_22551499 = v4sfl (124.22551499f); + const v4sf c_1_498030302 = v4sfl (1.498030302f); + const v4sf c_1_725877999 = v4sfl (1.72587999f); + const v4sf c_0_3520087068 = v4sfl (0.3520887068f); + + return y - c_124_22551499 + - c_1_498030302 * mx.f + - c_1_725877999 / (c_0_3520087068 + mx.f); +} + +static inline v4sf +vfastlog (v4sf x) +{ + const v4sf c_0_69314718 = v4sfl (0.69314718f); + + return c_0_69314718 * vfastlog2 (x); +} + +static inline v4sf +vfasterlog2 (v4sf x) +{ + union { v4sf f; v4si i; } vx = { x }; + v4sf y = v4si_to_v4sf (vx.i); + y *= v4sfl (1.1920928955078125e-7f); + + const v4sf c_126_94269504 = v4sfl (126.94269504f); + + return y - c_126_94269504; +} + +static inline v4sf +vfasterlog (v4sf x) +{ +// const v4sf c_0_69314718 = v4sfl (0.69314718f); +// +// return c_0_69314718 * vfasterlog2 (x); + + union { v4sf f; v4si i; } vx = { x }; + v4sf y = v4si_to_v4sf (vx.i); + y *= v4sfl (8.2629582881927490e-8f); + + const v4sf c_87_989971088 = v4sfl (87.989971088f); + + return y - c_87_989971088; +} + +#endif // __SSE2__ + +#endif // __FAST_LOG_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_ERF_H_ +#define __FAST_ERF_H_ + +#include +#include + +// fasterfc: not actually faster than erfcf(3) on newer machines! +// ... although vectorized version is interesting +// and fastererfc is very fast + +static inline float +fasterfc (float x) +{ + static const float k = 3.3509633149424609f; + static const float a = 0.07219054755431126f; + static const float b = 15.418191568719577f; + static const float c = 5.609846028328545f; + + union { float f; uint32_t i; } vc = { c * x }; + float xsq = x * x; + float xquad = xsq * xsq; + + vc.i |= 0x80000000; + + return 2.0f / (1.0f + fastpow2 (k * x)) - a * x * (b * xquad - 1.0f) * fasterpow2 (vc.f); +} + +static inline float +fastererfc (float x) +{ + static const float k = 3.3509633149424609f; + + return 2.0f / (1.0f + fasterpow2 (k * x)); +} + +// fasterf: not actually faster than erff(3) on newer machines! +// ... although vectorized version is interesting +// and fastererf is very fast + +static inline float +fasterf (float x) +{ + return 1.0f - fasterfc (x); +} + +static inline float +fastererf (float x) +{ + return 1.0f - fastererfc (x); +} + +static inline float +fastinverseerf (float x) +{ + static const float invk = 0.30004578719350504f; + static const float a = 0.020287853348211326f; + static const float b = 0.07236892874789555f; + static const float c = 0.9913030456864257f; + static const float d = 0.8059775923760193f; + + float xsq = x * x; + + return invk * fastlog2 ((1.0f + x) / (1.0f - x)) + + x * (a - b * xsq) / (c - d * xsq); +} + +static inline float +fasterinverseerf (float x) +{ + static const float invk = 0.30004578719350504f; + + return invk * fasterlog2 ((1.0f + x) / (1.0f - x)); +} + +#ifdef __SSE2__ + +static inline v4sf +vfasterfc (v4sf x) +{ + const v4sf k = v4sfl (3.3509633149424609f); + const v4sf a = v4sfl (0.07219054755431126f); + const v4sf b = v4sfl (15.418191568719577f); + const v4sf c = v4sfl (5.609846028328545f); + + union { v4sf f; v4si i; } vc; vc.f = c * x; + vc.i |= v4sil (0x80000000); + + v4sf xsq = x * x; + v4sf xquad = xsq * xsq; + + return v4sfl (2.0f) / (v4sfl (1.0f) + vfastpow2 (k * x)) - a * x * (b * xquad - v4sfl (1.0f)) * vfasterpow2 (vc.f); +} + +static inline v4sf +vfastererfc (const v4sf x) +{ + const v4sf k = v4sfl (3.3509633149424609f); + + return v4sfl (2.0f) / (v4sfl (1.0f) + vfasterpow2 (k * x)); +} + +static inline v4sf +vfasterf (v4sf x) +{ + return v4sfl (1.0f) - vfasterfc (x); +} + +static inline v4sf +vfastererf (const v4sf x) +{ + return v4sfl (1.0f) - vfastererfc (x); +} + +static inline v4sf +vfastinverseerf (v4sf x) +{ + const v4sf invk = v4sfl (0.30004578719350504f); + const v4sf a = v4sfl (0.020287853348211326f); + const v4sf b = v4sfl (0.07236892874789555f); + const v4sf c = v4sfl (0.9913030456864257f); + const v4sf d = v4sfl (0.8059775923760193f); + + v4sf xsq = x * x; + + return invk * vfastlog2 ((v4sfl (1.0f) + x) / (v4sfl (1.0f) - x)) + + x * (a - b * xsq) / (c - d * xsq); +} + +static inline v4sf +vfasterinverseerf (v4sf x) +{ + const v4sf invk = v4sfl (0.30004578719350504f); + + return invk * vfasterlog2 ((v4sfl (1.0f) + x) / (v4sfl (1.0f) - x)); +} + +#endif //__SSE2__ + +#endif // __FAST_ERF_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_GAMMA_H_ +#define __FAST_GAMMA_H_ + +#include + +/* gamma/digamma functions only work for positive inputs */ + +static inline float +fastlgamma (float x) +{ + float logterm = fastlog (x * (1.0f + x) * (2.0f + x)); + float xp3 = 3.0f + x; + + return - 2.081061466f + - x + + 0.0833333f / xp3 + - logterm + + (2.5f + x) * fastlog (xp3); +} + +static inline float +fasterlgamma (float x) +{ + return - 0.0810614667f + - x + - fasterlog (x) + + (0.5f + x) * fasterlog (1.0f + x); +} + +static inline float +fastdigamma (float x) +{ + float twopx = 2.0f + x; + float logterm = fastlog (twopx); + + return (-48.0f + x * (-157.0f + x * (-127.0f - 30.0f * x))) / + (12.0f * x * (1.0f + x) * twopx * twopx) + + logterm; +} + +static inline float +fasterdigamma (float x) +{ + float onepx = 1.0f + x; + + return -1.0f / x - 1.0f / (2 * onepx) + fasterlog (onepx); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastlgamma (v4sf x) +{ + const v4sf c_1_0 = v4sfl (1.0f); + const v4sf c_2_0 = v4sfl (2.0f); + const v4sf c_3_0 = v4sfl (3.0f); + const v4sf c_2_081061466 = v4sfl (2.081061466f); + const v4sf c_0_0833333 = v4sfl (0.0833333f); + const v4sf c_2_5 = v4sfl (2.5f); + + v4sf logterm = vfastlog (x * (c_1_0 + x) * (c_2_0 + x)); + v4sf xp3 = c_3_0 + x; + + return - c_2_081061466 + - x + + c_0_0833333 / xp3 + - logterm + + (c_2_5 + x) * vfastlog (xp3); +} + +static inline v4sf +vfasterlgamma (v4sf x) +{ + const v4sf c_0_0810614667 = v4sfl (0.0810614667f); + const v4sf c_0_5 = v4sfl (0.5f); + const v4sf c_1 = v4sfl (1.0f); + + return - c_0_0810614667 + - x + - vfasterlog (x) + + (c_0_5 + x) * vfasterlog (c_1 + x); +} + +static inline v4sf +vfastdigamma (v4sf x) +{ + v4sf twopx = v4sfl (2.0f) + x; + v4sf logterm = vfastlog (twopx); + + return (v4sfl (-48.0f) + x * (v4sfl (-157.0f) + x * (v4sfl (-127.0f) - v4sfl (30.0f) * x))) / + (v4sfl (12.0f) * x * (v4sfl (1.0f) + x) * twopx * twopx) + + logterm; +} + +static inline v4sf +vfasterdigamma (v4sf x) +{ + const v4sf c_1_0 = v4sfl (1.0f); + const v4sf c_2_0 = v4sfl (2.0f); + v4sf onepx = c_1_0 + x; + + return -c_1_0 / x - c_1_0 / (c_2_0 * onepx) + vfasterlog (onepx); +} + +#endif //__SSE2__ + +#endif // __FAST_GAMMA_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_HYPERBOLIC_H_ +#define __FAST_HYPERBOLIC_H_ + +#include + +static inline float +fastsinh (float p) +{ + return 0.5f * (fastexp (p) - fastexp (-p)); +} + +static inline float +fastersinh (float p) +{ + return 0.5f * (fasterexp (p) - fasterexp (-p)); +} + +static inline float +fastcosh (float p) +{ + return 0.5f * (fastexp (p) + fastexp (-p)); +} + +static inline float +fastercosh (float p) +{ + return 0.5f * (fasterexp (p) + fasterexp (-p)); +} + +static inline float +fasttanh (float p) +{ + return -1.0f + 2.0f / (1.0f + fastexp (-2.0f * p)); +} + +static inline float +fastertanh (float p) +{ + return -1.0f + 2.0f / (1.0f + fasterexp (-2.0f * p)); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastsinh (const v4sf p) +{ + const v4sf c_0_5 = v4sfl (0.5f); + + return c_0_5 * (vfastexp (p) - vfastexp (-p)); +} + +static inline v4sf +vfastersinh (const v4sf p) +{ + const v4sf c_0_5 = v4sfl (0.5f); + + return c_0_5 * (vfasterexp (p) - vfasterexp (-p)); +} + +static inline v4sf +vfastcosh (const v4sf p) +{ + const v4sf c_0_5 = v4sfl (0.5f); + + return c_0_5 * (vfastexp (p) + vfastexp (-p)); +} + +static inline v4sf +vfastercosh (const v4sf p) +{ + const v4sf c_0_5 = v4sfl (0.5f); + + return c_0_5 * (vfasterexp (p) + vfasterexp (-p)); +} + +static inline v4sf +vfasttanh (const v4sf p) +{ + const v4sf c_1 = v4sfl (1.0f); + const v4sf c_2 = v4sfl (2.0f); + + return -c_1 + c_2 / (c_1 + vfastexp (-c_2 * p)); +} + +static inline v4sf +vfastertanh (const v4sf p) +{ + const v4sf c_1 = v4sfl (1.0f); + const v4sf c_2 = v4sfl (2.0f); + + return -c_1 + c_2 / (c_1 + vfasterexp (-c_2 * p)); +} + +#endif //__SSE2__ + +#endif // __FAST_HYPERBOLIC_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_LAMBERT_W_H_ +#define __FAST_LAMBERT_W_H_ + +#include + +// these functions compute the upper branch aka W_0 + +static inline float +fastlambertw (float x) +{ + static const float threshold = 2.26445f; + + float c = (x < threshold) ? 1.546865557f : 1.0f; + float d = (x < threshold) ? 2.250366841f : 0.0f; + float a = (x < threshold) ? -0.737769969f : 0.0f; + + float logterm = fastlog (c * x + d); + float loglogterm = fastlog (logterm); + + float minusw = -a - logterm + loglogterm - loglogterm / logterm; + float expminusw = fastexp (minusw); + float xexpminusw = x * expminusw; + float pexpminusw = xexpminusw - minusw; + + return (2.0f * xexpminusw - minusw * (4.0f * xexpminusw - minusw * pexpminusw)) / + (2.0f + pexpminusw * (2.0f - minusw)); +} + +static inline float +fasterlambertw (float x) +{ + static const float threshold = 2.26445f; + + float c = (x < threshold) ? 1.546865557f : 1.0f; + float d = (x < threshold) ? 2.250366841f : 0.0f; + float a = (x < threshold) ? -0.737769969f : 0.0f; + + float logterm = fasterlog (c * x + d); + float loglogterm = fasterlog (logterm); + + float w = a + logterm - loglogterm + loglogterm / logterm; + float expw = fasterexp (-w); + + return (w * w + expw * x) / (1.0f + w); +} + +static inline float +fastlambertwexpx (float x) +{ + static const float k = 1.1765631309f; + static const float a = 0.94537622168f; + + float logarg = fmaxf (x, k); + float powarg = (x < k) ? a * (x - k) : 0; + + float logterm = fastlog (logarg); + float powterm = fasterpow2 (powarg); // don't need accuracy here + + float w = powterm * (logarg - logterm + logterm / logarg); + float logw = fastlog (w); + float p = x - logw; + + return w * (2.0f + p + w * (3.0f + 2.0f * p)) / + (2.0f - p + w * (5.0f + 2.0f * w)); +} + +static inline float +fasterlambertwexpx (float x) +{ + static const float k = 1.1765631309f; + static const float a = 0.94537622168f; + + float logarg = fmaxf (x, k); + float powarg = (x < k) ? a * (x - k) : 0; + + float logterm = fasterlog (logarg); + float powterm = fasterpow2 (powarg); + + float w = powterm * (logarg - logterm + logterm / logarg); + float logw = fasterlog (w); + + return w * (1.0f + x - logw) / (1.0f + w); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastlambertw (v4sf x) +{ + const v4sf threshold = v4sfl (2.26445f); + + v4sf under = _mm_cmplt_ps (x, threshold); + v4sf c = _mm_or_ps (_mm_and_ps (under, v4sfl (1.546865557f)), + _mm_andnot_ps (under, v4sfl (1.0f))); + v4sf d = _mm_and_ps (under, v4sfl (2.250366841f)); + v4sf a = _mm_and_ps (under, v4sfl (-0.737769969f)); + + v4sf logterm = vfastlog (c * x + d); + v4sf loglogterm = vfastlog (logterm); + + v4sf minusw = -a - logterm + loglogterm - loglogterm / logterm; + v4sf expminusw = vfastexp (minusw); + v4sf xexpminusw = x * expminusw; + v4sf pexpminusw = xexpminusw - minusw; + + return (v4sfl (2.0f) * xexpminusw - minusw * (v4sfl (4.0f) * xexpminusw - minusw * pexpminusw)) / + (v4sfl (2.0f) + pexpminusw * (v4sfl (2.0f) - minusw)); +} + +static inline v4sf +vfasterlambertw (v4sf x) +{ + const v4sf threshold = v4sfl (2.26445f); + + v4sf under = _mm_cmplt_ps (x, threshold); + v4sf c = _mm_or_ps (_mm_and_ps (under, v4sfl (1.546865557f)), + _mm_andnot_ps (under, v4sfl (1.0f))); + v4sf d = _mm_and_ps (under, v4sfl (2.250366841f)); + v4sf a = _mm_and_ps (under, v4sfl (-0.737769969f)); + + v4sf logterm = vfasterlog (c * x + d); + v4sf loglogterm = vfasterlog (logterm); + + v4sf w = a + logterm - loglogterm + loglogterm / logterm; + v4sf expw = vfasterexp (-w); + + return (w * w + expw * x) / (v4sfl (1.0f) + w); +} + +static inline v4sf +vfastlambertwexpx (v4sf x) +{ + const v4sf k = v4sfl (1.1765631309f); + const v4sf a = v4sfl (0.94537622168f); + const v4sf two = v4sfl (2.0f); + const v4sf three = v4sfl (3.0f); + const v4sf five = v4sfl (5.0f); + + v4sf logarg = _mm_max_ps (x, k); + v4sf powarg = _mm_and_ps (_mm_cmplt_ps (x, k), a * (x - k)); + + v4sf logterm = vfastlog (logarg); + v4sf powterm = vfasterpow2 (powarg); // don't need accuracy here + + v4sf w = powterm * (logarg - logterm + logterm / logarg); + v4sf logw = vfastlog (w); + v4sf p = x - logw; + + return w * (two + p + w * (three + two * p)) / + (two - p + w * (five + two * w)); +} + +static inline v4sf +vfasterlambertwexpx (v4sf x) +{ + const v4sf k = v4sfl (1.1765631309f); + const v4sf a = v4sfl (0.94537622168f); + + v4sf logarg = _mm_max_ps (x, k); + v4sf powarg = _mm_and_ps (_mm_cmplt_ps (x, k), a * (x - k)); + + v4sf logterm = vfasterlog (logarg); + v4sf powterm = vfasterpow2 (powarg); + + v4sf w = powterm * (logarg - logterm + logterm / logarg); + v4sf logw = vfasterlog (w); + + return w * (v4sfl (1.0f) + x - logw) / (v4sfl (1.0f) + w); +} + +#endif // __SSE2__ + +#endif // __FAST_LAMBERT_W_H_ + +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_POW_H_ +#define __FAST_POW_H_ + +#include + +static inline float +fastpow (float x, + float p) +{ + return fastpow2 (p * fastlog2 (x)); +} + +static inline float +fasterpow (float x, + float p) +{ + return fasterpow2 (p * fasterlog2 (x)); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastpow (const v4sf x, + const v4sf p) +{ + return vfastpow2 (p * vfastlog2 (x)); +} + +static inline v4sf +vfasterpow (const v4sf x, + const v4sf p) +{ + return vfasterpow2 (p * vfasterlog2 (x)); +} + +#endif //__SSE2__ + +#endif // __FAST_POW_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_SIGMOID_H_ +#define __FAST_SIGMOID_H_ + +#include + +static inline float +fastsigmoid (float x) +{ + return 1.0f / (1.0f + fastexp (-x)); +} + +static inline float +fastersigmoid (float x) +{ + return 1.0f / (1.0f + fasterexp (-x)); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastsigmoid (const v4sf x) +{ + const v4sf c_1 = v4sfl (1.0f); + + return c_1 / (c_1 + vfastexp (-x)); +} + +static inline v4sf +vfastersigmoid (const v4sf x) +{ + const v4sf c_1 = v4sfl (1.0f); + + return c_1 / (c_1 + vfasterexp (-x)); +} + +#endif //__SSE2__ + +#endif // __FAST_SIGMOID_H_ +/*=====================================================================* + * Copyright (C) 2011 Paul Mineiro * + * All rights reserved. * + * * + * Redistribution and use in source and binary forms, with * + * or without modification, are permitted provided that the * + * following conditions are met: * + * * + * * Redistributions of source code must retain the * + * above copyright notice, this list of conditions and * + * the following disclaimer. * + * * + * * Redistributions in binary form must reproduce the * + * above copyright notice, this list of conditions and * + * the following disclaimer in the documentation and/or * + * other materials provided with the distribution. * + * * + * * Neither the name of Paul Mineiro nor the names * + * of other contributors may be used to endorse or promote * + * products derived from this software without specific * + * prior written permission. * + * * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND * + * CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, * + * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * + * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE * + * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER * + * OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, * + * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES * + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE * + * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR * + * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF * + * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT * + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY * + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * + * POSSIBILITY OF SUCH DAMAGE. * + * * + * Contact: Paul Mineiro * + *=====================================================================*/ + +#ifndef __FAST_TRIG_H_ +#define __FAST_TRIG_H_ + +#include + +// http://www.devmaster.net/forums/showthread.php?t=5784 +// fast sine variants are for x \in [ -\pi, pi ] +// fast cosine variants are for x \in [ -\pi, pi ] +// fast tangent variants are for x \in [ -\pi / 2, pi / 2 ] +// "full" versions of functions handle the entire range of inputs +// although the range reduction technique used here will be hopelessly +// inaccurate for |x| >> 1000 +// +// WARNING: fastsinfull, fastcosfull, and fasttanfull can be slower than +// libc calls on older machines (!) and on newer machines are only +// slighly faster. however: +// * vectorized versions are competitive +// * faster full versions are competitive + +static inline float +fastsin (float x) +{ + static const float fouroverpi = 1.2732395447351627f; + static const float fouroverpisq = 0.40528473456935109f; + static const float q = 0.78444488374548933f; + union { float f; uint32_t i; } p = { 0.20363937680730309f }; + union { float f; uint32_t i; } r = { 0.015124940802184233f }; + union { float f; uint32_t i; } s = { -0.0032225901625579573f }; + + union { float f; uint32_t i; } vx = { x }; + uint32_t sign = vx.i & 0x80000000; + vx.i = vx.i & 0x7FFFFFFF; + + float qpprox = fouroverpi * x - fouroverpisq * x * vx.f; + float qpproxsq = qpprox * qpprox; + + p.i |= sign; + r.i |= sign; + s.i ^= sign; + + return q * qpprox + qpproxsq * (p.f + qpproxsq * (r.f + qpproxsq * s.f)); +} + +static inline float +fastersin (float x) +{ + static const float fouroverpi = 1.2732395447351627f; + static const float fouroverpisq = 0.40528473456935109f; + static const float q = 0.77633023248007499f; + union { float f; uint32_t i; } p = { 0.22308510060189463f }; + + union { float f; uint32_t i; } vx = { x }; + uint32_t sign = vx.i & 0x80000000; + vx.i &= 0x7FFFFFFF; + + float qpprox = fouroverpi * x - fouroverpisq * x * vx.f; + + p.i |= sign; + + return qpprox * (q + p.f * qpprox); +} + +static inline float +fastsinfull (float x) +{ + static const float twopi = 6.2831853071795865f; + static const float invtwopi = 0.15915494309189534f; + + int k = x * invtwopi; + float half = (x < 0) ? -0.5f : 0.5f; + return fastsin ((half + k) * twopi - x); +} + +static inline float +fastersinfull (float x) +{ + static const float twopi = 6.2831853071795865f; + static const float invtwopi = 0.15915494309189534f; + + int k = x * invtwopi; + float half = (x < 0) ? -0.5f : 0.5f; + return fastersin ((half + k) * twopi - x); +} + +static inline float +fastcos (float x) +{ + static const float halfpi = 1.5707963267948966f; + static const float halfpiminustwopi = -4.7123889803846899f; + float offset = (x > halfpi) ? halfpiminustwopi : halfpi; + return fastsin (x + offset); +} + +static inline float +fastercos (float x) +{ + static const float twooverpi = 0.63661977236758134f; + static const float p = 0.54641335845679634f; + + union { float f; uint32_t i; } vx = { x }; + vx.i &= 0x7FFFFFFF; + + float qpprox = 1.0f - twooverpi * vx.f; + + return qpprox + p * qpprox * (1.0f - qpprox * qpprox); +} + +static inline float +fastcosfull (float x) +{ + static const float halfpi = 1.5707963267948966f; + return fastsinfull (x + halfpi); +} + +static inline float +fastercosfull (float x) +{ + static const float halfpi = 1.5707963267948966f; + return fastersinfull (x + halfpi); +} + +static inline float +fasttan (float x) +{ + static const float halfpi = 1.5707963267948966f; + return fastsin (x) / fastsin (x + halfpi); +} + +static inline float +fastertan (float x) +{ + return fastersin (x) / fastercos (x); +} + +static inline float +fasttanfull (float x) +{ + static const float twopi = 6.2831853071795865f; + static const float invtwopi = 0.15915494309189534f; + + int k = x * invtwopi; + float half = (x < 0) ? -0.5f : 0.5f; + float xnew = x - (half + k) * twopi; + + return fastsin (xnew) / fastcos (xnew); +} + +static inline float +fastertanfull (float x) +{ + static const float twopi = 6.2831853071795865f; + static const float invtwopi = 0.15915494309189534f; + + int k = x * invtwopi; + float half = (x < 0) ? -0.5f : 0.5f; + float xnew = x - (half + k) * twopi; + + return fastersin (xnew) / fastercos (xnew); +} + +#ifdef __SSE2__ + +static inline v4sf +vfastsin (const v4sf x) +{ + const v4sf fouroverpi = v4sfl (1.2732395447351627f); + const v4sf fouroverpisq = v4sfl (0.40528473456935109f); + const v4sf q = v4sfl (0.78444488374548933f); + const v4sf p = v4sfl (0.20363937680730309f); + const v4sf r = v4sfl (0.015124940802184233f); + const v4sf s = v4sfl (-0.0032225901625579573f); + + union { v4sf f; v4si i; } vx = { x }; + v4si sign = vx.i & v4sil (0x80000000); + vx.i &= v4sil (0x7FFFFFFF); + + v4sf qpprox = fouroverpi * x - fouroverpisq * x * vx.f; + v4sf qpproxsq = qpprox * qpprox; + union { v4sf f; v4si i; } vy; vy.f = qpproxsq * (p + qpproxsq * (r + qpproxsq * s)); + vy.i ^= sign; + + return q * qpprox + vy.f; +} + +static inline v4sf +vfastersin (const v4sf x) +{ + const v4sf fouroverpi = v4sfl (1.2732395447351627f); + const v4sf fouroverpisq = v4sfl (0.40528473456935109f); + const v4sf q = v4sfl (0.77633023248007499f); + const v4sf plit = v4sfl (0.22308510060189463f); + union { v4sf f; v4si i; } p = { plit }; + + union { v4sf f; v4si i; } vx = { x }; + v4si sign = vx.i & v4sil (0x80000000); + vx.i &= v4sil (0x7FFFFFFF); + + v4sf qpprox = fouroverpi * x - fouroverpisq * x * vx.f; + + p.i |= sign; + + return qpprox * (q + p.f * qpprox); +} + +static inline v4sf +vfastsinfull (const v4sf x) +{ + const v4sf twopi = v4sfl (6.2831853071795865f); + const v4sf invtwopi = v4sfl (0.15915494309189534f); + + v4si k = v4sf_to_v4si (x * invtwopi); + + v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); + v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), + _mm_andnot_ps (ltzero, v4sfl (0.5f))); + + return vfastsin ((half + v4si_to_v4sf (k)) * twopi - x); +} + +static inline v4sf +vfastersinfull (const v4sf x) +{ + const v4sf twopi = v4sfl (6.2831853071795865f); + const v4sf invtwopi = v4sfl (0.15915494309189534f); + + v4si k = v4sf_to_v4si (x * invtwopi); + + v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); + v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), + _mm_andnot_ps (ltzero, v4sfl (0.5f))); + + return vfastersin ((half + v4si_to_v4sf (k)) * twopi - x); +} + +static inline v4sf +vfastcos (const v4sf x) +{ + const v4sf halfpi = v4sfl (1.5707963267948966f); + const v4sf halfpiminustwopi = v4sfl (-4.7123889803846899f); + v4sf lthalfpi = _mm_cmpnlt_ps (x, halfpi); + v4sf offset = _mm_or_ps (_mm_and_ps (lthalfpi, halfpiminustwopi), + _mm_andnot_ps (lthalfpi, halfpi)); + return vfastsin (x + offset); +} + +static inline v4sf +vfastercos (v4sf x) +{ + const v4sf twooverpi = v4sfl (0.63661977236758134f); + const v4sf p = v4sfl (0.54641335845679634); + + v4sf vx = v4sf_fabs (x); + v4sf qpprox = v4sfl (1.0f) - twooverpi * vx; + + return qpprox + p * qpprox * (v4sfl (1.0f) - qpprox * qpprox); +} + +static inline v4sf +vfastcosfull (const v4sf x) +{ + const v4sf halfpi = v4sfl (1.5707963267948966f); + return vfastsinfull (x + halfpi); +} + +static inline v4sf +vfastercosfull (const v4sf x) +{ + const v4sf halfpi = v4sfl (1.5707963267948966f); + return vfastersinfull (x + halfpi); +} + +static inline v4sf +vfasttan (const v4sf x) +{ + const v4sf halfpi = v4sfl (1.5707963267948966f); + return vfastsin (x) / vfastsin (x + halfpi); +} + +static inline v4sf +vfastertan (const v4sf x) +{ + return vfastersin (x) / vfastercos (x); +} + +static inline v4sf +vfasttanfull (const v4sf x) +{ + const v4sf twopi = v4sfl (6.2831853071795865f); + const v4sf invtwopi = v4sfl (0.15915494309189534f); + + v4si k = v4sf_to_v4si (x * invtwopi); + + v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); + v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), + _mm_andnot_ps (ltzero, v4sfl (0.5f))); + v4sf xnew = x - (half + v4si_to_v4sf (k)) * twopi; + + return vfastsin (xnew) / vfastcos (xnew); +} + +static inline v4sf +vfastertanfull (const v4sf x) +{ + const v4sf twopi = v4sfl (6.2831853071795865f); + const v4sf invtwopi = v4sfl (0.15915494309189534f); + + v4si k = v4sf_to_v4si (x * invtwopi); + + v4sf ltzero = _mm_cmplt_ps (x, v4sfl (0.0f)); + v4sf half = _mm_or_ps (_mm_and_ps (ltzero, v4sfl (-0.5f)), + _mm_andnot_ps (ltzero, v4sfl (0.5f))); + v4sf xnew = x - (half + v4si_to_v4sf (k)) * twopi; + + return vfastersin (xnew) / vfastercos (xnew); +} + +#endif //__SSE2__ + +#endif // __FAST_TRIG_H_ diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/features.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/features.h new file mode 100644 index 0000000..9b43051 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/features.h @@ -0,0 +1,81 @@ +//Header for featurecalculation +//number of Features that can be calculated: 23 +#pragma once + +#include + + +class LaserScannerFeatures +{ +public: + //function to get the number of the features implemented + int get_feature_count(); + // reset cached data + void resetCachedData(); + //function for calculating the feature + double get_feature(const std::vector& beams, const std::vector& angles, cv::Point point, int feature); + void get_features(const std::vector& beams, const std::vector& angles, cv::Point point, cv::Mat& features); + //feature 1: average difference between beamlenghts + double calc_feature1(const std::vector& beams); + //feature 2: standard deviation of difference between beamlengths + double calc_feature2(const std::vector& beams); + //feature 3: average difference between beamlengths, but cutting of too long beams + double calc_feature3(const std::vector& beams, double maxlength); + //feature 4: standard deviation of difference between limited beamlenghts + double calc_feature4(const std::vector& beams, double maxval); + //feature 5: average beamlength + double calc_feature5(const std::vector& beams); + //feature 6: standard deviation of the beamlengths + double calc_feature6(const std::vector& beams); + //feature 7: number of gaps between the beams (a gap is when the difference between the beamlenghts is larger than a threshold) + double calc_feature7(const std::vector& beams); + //feature 8: distance between two Points corresponding to local minima of beamlengths + double calc_feature8(const std::vector& beams, const std::vector& angles); + //feature 9: angle between two Points corresponding to local minima of beamlenghts + double calc_feature9(const std::vector& beams, const std::vector& angles); + //feature 10: average of relation between two neighboring beams + double calc_feature10(const std::vector& beams); + //feature 11: standard deviation of relation between two neighboring beams + double calc_feature11(const std::vector& beams); + //feature 12: number of relative gaps, a relativ gap is when the relation of two negihboring beams is larger than a threshold + double calc_feature12(const std::vector& beams); + //feature 13: Kurtosis = (Sum((x - mean)^4))/sigma^4) - 3, where mean is the mean-value and sigma is the standard deviation + double calc_feature13(const std::vector& beams); + //feature 22: average of beam lengths / max. length + double calc_feature22(const std::vector& beams); + //feature 23: standard deviation of the beam lengths divided by the maximal value + double calc_feature23(const std::vector& beams); + //****************from now on Features that need a polygonal approximation of the beams***************************** + //calculate the polygonal approximation + std::vector calc_polygonal_approx(const std::vector&, const std::vector&, cv::Point location); + //calcilate the centroid for each polygonal approximation + cv::Point calc_centroid(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 14: area of the polygonal approximation + double calc_feature14(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 15: perimeter of the polygonal approximation + double calc_feature15(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 16: area divided by perimeter of the polygonal approximation + double calc_feature16(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 17: average distance between centroid and the boundary of the polygonal approach + double calc_feature17(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 18: standard deviation of distance between centroid and the boundary of the polygonal approach + double calc_feature18(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 19: half the major axis of the ellipse that surrounds the polygon, calculated with openCV + double calc_feature19(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 20: half the minor axis of the ellipse that surrounds the polygon, calculated with openCV + double calc_feature20(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 21: major axis/minor axis + double calc_feature21(const std::vector& beams, const std::vector& angles, cv::Point location); + +private: + + std::vector features_; + std::vector features_computed_; + + std::vector polygon_; + bool polygon_computed_; + + cv::Point centroid_; + bool centroid_computed_; + +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/meanshift2d.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/meanshift2d.h new file mode 100644 index 0000000..50b4ba6 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/meanshift2d.h @@ -0,0 +1,76 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_segmentation + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: + * + * \date Date of creation: 22.07.2015 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#include + +#include +#include + +class MeanShift2D +{ +public: + MeanShift2D(void) {}; + + void filter(const std::vector& data, std::vector& filtered_data, const double bandwidth, const int maximumIterations=100); + + void computeConvergencePoints(const std::vector& filtered_data, std::vector& convergence_points, std::vector< std::vector >& convergence_sets, const double sensitivity); + + // map_resolution in [m/cell] + cv::Vec2d findRoomCenter(const cv::Mat& room_image, const std::vector& room_cells, double map_resolution); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/morphological_segmentation.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/morphological_segmentation.h new file mode 100644 index 0000000..a10d0a7 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/morphological_segmentation.h @@ -0,0 +1,14 @@ +#include +#include +#include +#include +#include + + +class MorphologicalSegmentation +{ +public: + MorphologicalSegmentation(); + //algorithm to segment the map + void segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, double room_area_factor_lower_limit, double room_area_factor_upper_limit); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/raycasting.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/raycasting.h new file mode 100644 index 0000000..de5184f --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/raycasting.h @@ -0,0 +1,27 @@ +#pragma once + +#include +#include +#include +#include +#include +#include + +#define PI 3.14159265 + +class LaserScannerRaycasting +{ +public: + LaserScannerRaycasting(); + + //raycasting function using the simple method that tracks a ray until its end + void raycasting(const cv::Mat& map, const cv::Point& location, std::vector& distances); + + //raycasting function based on the bresenham algorithm + void bresenham_raycasting(const cv::Mat& map, const cv::Point& location, std::vector& distances); + +private: + + std::vector precomputed_cos_; + std::vector precomputed_sin_; +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/room_class.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/room_class.h new file mode 100644 index 0000000..bdc8de0 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/room_class.h @@ -0,0 +1,94 @@ +#ifndef __ROOM_CLASS_H__ +#define __ROOM_CLASS_H__ + +#include +#include + +#include +#include +#include +#include +#include + +#include + +//This is the class that represents a room. It has a ID-number, Points that belong to it and a list of neighbors. +class Room +{ +public: + + // Struct that compares two given points and returns if the y-coordinate of the first is smaller or if they are equal if the + // x-coordinate of the first is smaller. This is used for sets to easily store cv::Point objects and search for specific objects. + struct cv_Point_comp + { + bool operator()(const cv::Point& lhs, const cv::Point& rhs) const + { + return ((lhs.y < rhs.y) || (lhs.y == rhs.y && lhs.x < rhs.x)); + } + }; + + typedef std::set PointSet; + + + Room(int id_of_room); + + // merges the provided room into this room + void mergeRoom(Room& room_to_merge, double map_resolution); + + int insertMemberPoint(cv::Point new_member, double map_resolution); + + int insertMemberPoints(const std::vector& new_members, double map_resolution); + + void addNeighbor(int new_neighbor_id); + + int addNeighborID(int new_neighbor_id); + + int getNeighborCount(); + + std::map& getNeighborStatistics(); + + void getNeighborStatisticsInverse(std::map< int,int,std::greater >& neighbor_room_statistics_inverse); + + int getNeighborWithLargestCommonBorder(bool exclude_wall=true); + + double getPerimeterRatioOfXLargestRooms(const int number_rooms); + + double getWallToPerimeterRatio(); + + std::vector& getNeighborIDs(); + + double getArea(); + + double getPerimeter(); + + int getID() const; + + cv::Point getCenter(); + + const std::vector& getMembers(); + + int setRoomId(int new_value, cv::Mat& map); + + int setArea(double room_area); + + int setPerimeter(double room_perimeter); + + +protected: + int id_number_; + + std::vector member_points_; + + std::vector neighbor_room_ids_; + + std::map neighbor_room_statistics_; // maps from room labels of neighboring rooms to number of touching pixels of the respective neighboring room + + double room_area_; + + double room_perimeter_; +}; + + +bool sortRoomsAscending(Room a, Room b); + +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/timer.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/timer.h new file mode 100644 index 0000000..797978c --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/timer.h @@ -0,0 +1,184 @@ +/* + * timer.h + * + * Created on: May 13, 2013 + * Author: rmb-ce + */ + +// from: http://snipplr.com/view/40650/timer-class-for-both-unixlinuxmac-and-windows-system/ + +////////////////// +// How to Use //// +////////////////// + +//#include +//#include "timer.h" +//using namespace std; + +//int main() +//{ +// Timer timer; +// +// // start timer +// timer.start(); +// +// // do something +// ... +// +// // stop timer +// timer.stop(); +// +// // print the elapsed time in millisec +// cout << timer.getElapsedTimeInMilliSec() << " ms.\n"; +// +// return 0; +//} + + +////////////////////////////////////////////////////////////////////////////// +// Timer.h +// ======= +// High Resolution Timer. +// This timer is able to measure the elapsed time with 1 micro-second accuracy +// in both Windows, Linux and Unix system +// +// AUTHOR: Song Ho Ahn (song.ahn@gmail.com) +// CREATED: 2003-01-13 +// UPDATED: 2006-01-13 +// +// Copyright (c) 2003 Song Ho Ahn +////////////////////////////////////////////////////////////////////////////// + +#ifndef TIMER_H_DEF +#define TIMER_H_DEF + +#ifndef __LINUX__ // Windows system specific +//#include +#else // Unix based system specific +#include +#endif + +#include + + +class Timer +{ +public: +// default constructor + Timer() + { + #ifdef WIN32 + QueryPerformanceFrequency(&frequency); + startCount.QuadPart = 0; + endCount.QuadPart = 0; + #else + startCount.tv_sec = startCount.tv_usec = 0; + endCount.tv_sec = endCount.tv_usec = 0; + #endif + + stopped = 0; + startTimeInMicroSec = 0; + endTimeInMicroSec = 0; + + start(); + } + + // default destructor + ~Timer() + {} + + /////////////////////////////////////////////////////////////////////////////// + // start timer. + // startCount will be set at this point. + /////////////////////////////////////////////////////////////////////////////// + void start() + { + stopped = 0; // reset stop flag + #ifdef WIN32 + QueryPerformanceCounter(&startCount); + #else + gettimeofday(&startCount, NULL); + #endif + } + + /////////////////////////////////////////////////////////////////////////////// + // stop the timer. + // endCount will be set at this point. + /////////////////////////////////////////////////////////////////////////////// + void stop() + { + stopped = 1; // set timer stopped flag + + #ifdef WIN32 + QueryPerformanceCounter(&endCount); + #else + gettimeofday(&endCount, NULL); + #endif + } + + /////////////////////////////////////////////////////////////////////////////// + // same as getElapsedTimeInSec() + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTime() + { + return this->getElapsedTimeInSec(); + } + + /////////////////////////////////////////////////////////////////////////////// + // divide elapsedTimeInMicroSec by 1000000 + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTimeInSec() + { + return this->getElapsedTimeInMicroSec() * 0.000001; + } + + /////////////////////////////////////////////////////////////////////////////// + // divide elapsedTimeInMicroSec by 1000 + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTimeInMilliSec() + { + return this->getElapsedTimeInMicroSec() * 0.001; + } + + /////////////////////////////////////////////////////////////////////////////// + // compute elapsed time in micro-second resolution. + // other getElapsedTime will call this first, then convert to correspond resolution. + /////////////////////////////////////////////////////////////////////////////// + double getElapsedTimeInMicroSec() + { + #ifdef WIN32 + if(!stopped) + QueryPerformanceCounter(&endCount); + + startTimeInMicroSec = startCount.QuadPart * (1000000.0 / frequency.QuadPart); + endTimeInMicroSec = endCount.QuadPart * (1000000.0 / frequency.QuadPart); + #else + if(!stopped) + gettimeofday(&endCount, NULL); + + startTimeInMicroSec = (startCount.tv_sec * 1000000.0) + startCount.tv_usec; + endTimeInMicroSec = (endCount.tv_sec * 1000000.0) + endCount.tv_usec; + #endif + + return endTimeInMicroSec - startTimeInMicroSec; + } + + +protected: + + +private: + double startTimeInMicroSec; // starting time in micro-second + double endTimeInMicroSec; // ending time in micro-second + int stopped; // stop flag +#ifdef WIN32 + LARGE_INTEGER frequency; // ticks per second + LARGE_INTEGER startCount; // + LARGE_INTEGER endCount; // +#else + timeval startCount; // + timeval endCount; // +#endif +}; + +#endif // TIMER_H_DEF diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_features.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_features.h new file mode 100644 index 0000000..920c122 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_features.h @@ -0,0 +1,101 @@ +//Header for featurecalculation +//number of Features that can be calculated: 25 +#pragma once +#include +#include +#include +#include +#include +#include +#include + +#include + +class voronoiRandomFieldFeatures +{ + +public: + //function to get the number of the features implemented + int getFeatureCount(); + // reset cached data + void resetCachedData(); + //function for calculating the wanted feature + double getFeature(const std::vector& beams, const std::vector& angles, + const std::vector& clique_points, std::vector& labels_for_clique_points, + std::vector& possible_labels, cv::Point point, const int feature); + void getFeatures(const std::vector& beams, const std::vector& angles, const std::vector& clique_points, std::vector& labels_for_clique_points, + std::vector& possible_labels, cv::Point point, std::vector& features); + //feature 1: average difference between beamlengths + double calcFeature1(const std::vector& beams); + //feature 2: standard deviation of difference between beamlengths + double calcFeature2(const std::vector& beams); + //feature 3: average difference between beamlengths, but cutting of too long beams + double calcFeature3(const std::vector& beams, double maxlength); + //feature 4: standard deviation of difference between limited beamlenghts + double calcFeature4(const std::vector& beams, double maxval); + //feature 5: average beamlength + double calcFeature5(const std::vector& beams); + //feature 6: standard deviation of the beamlengths + double calcFeature6(const std::vector& beams); + //feature 7: number of gaps between the beams (a gap is when the difference between the beamlenghts is larger than a threshold) + double calcFeature7(const std::vector& beams); + //feature 8: distance between two Points corresponding to local minima of beamlengths + double calcFeature8(const std::vector& beams, const std::vector& angles); + //feature 9: angle between two Points corresponding to local minima of beamlenghts + double calcFeature9(const std::vector& beams, const std::vector& angles); + //feature 10: average of relation between two neighboring beams + double calcFeature10(const std::vector& beams); + //feature 11: standard deviation of relation between two neighboring beams + double calcFeature11(const std::vector& beams); + //feature 12: number of relative gaps, a relativ gap is when the relation of two negihboring beams is larger than a threshold + double calcFeature12(const std::vector& beams); + //feature 13: Kurtosis = (Sum((x - mean)^4))/sigma^4) - 3, where mean is the mean-value and sigma is the standard deviation + double calcFeature13(const std::vector& beams); + //feature 22: average of beam lengths / max. length + double calcFeature22(const std::vector& beams); + //feature 23: standard deviation of the beam lengths divided by the maximal value + double calcFeature23(const std::vector& beams); + //****************from now on Features that need a polygonal approximation of the beams***************************** + //calculate the polygonal approximation + std::vector calcPolygonalApprox(const std::vector&, const std::vector&, cv::Point location); + //calculate the centroid for each polygonal approximation + cv::Point calcCentroid(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 14: area of the polygonal approximation + double calcFeature14(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 15: perimeter of the polygonal approximation + double calcFeature15(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 16: area divided by perimeter of the polygonal approximation + double calcFeature16(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 17: average distance between centroid and the boundary of the polygonal approach + double calcFeature17(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 18: standard deviation of distance between centroid and the boundary of the polygonal approach + double calcFeature18(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 19: half the major axis of the ellipse that surrounds the polygon, calculated with openCV + double calcFeature19(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 20: half the minor axis of the ellipse that surrounds the polygon, calculated with openCV + double calcFeature20(const std::vector& beams, const std::vector& angles, cv::Point location); + //feature 21: major axis/minor axis + double calcFeature21(const std::vector& beams, const std::vector& angles, cv::Point location); + // feature 24: the curvature for a given clique + double calcFeature24(std::vector clique_points); + // feature 25: the relation between the labels of Points from the central point to the other points in the clique + double calcFeature25(std::vector& possible_labels, std::vector& labels_for_points); + // feature 26: the number of beams that are shorter than a defined maxval --> for door detection, maxval = 25 + double calcFeature26(const std::vector& beams, double maxval); + // feature 27: the area of the bounding box for beams that are smaller than the shortest beam in a defined epsilon neighborhood + double calcFeature27(const std::vector& beams, const std::vector& angles, double maxval, cv::Point location); + // feature 28: the ratio of the average beamlengths of the n longest and shortest beams + double calcFeature28(const std::vector& beams, double number_of_beams); + +protected: + + std::vector features_; + std::vector features_computed_; + + std::vector polygon_; + bool polygon_computed_; + + cv::Point centroid_; + bool centroid_computed_; +}; + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_segmentation.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_segmentation.h new file mode 100644 index 0000000..5d4d225 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_random_field_segmentation.h @@ -0,0 +1,255 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_segmentation + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 10.2015 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ +#pragma once +#include "ros/ros.h" + +#include +#include + +#include +#include +#include +#include +#include +#include + +#include +#include + +#include + +// OpenGM-library headers +#include +#include +#include +#include +#include +#include +#include + +#include + +#include // some useful functions defined for all segmentations +#include +#include +#include +#include +#include + +#pragma once + + +// Typedef used for the dlib optimization. This Type stores n times 1 elements in a matirx --> represents a column-vector. +typedef dlib::matrix column_vector; + +// Typedefs for the OpenGM library. This library is a template-library for discrete factor-graphs (https://en.wikipedia.org/wiki/Factor_graph) +// and for operations on these, used in this algorithm to do loopy-belief-propagation for the conditional random field. +// +// Typedef for the Label-Space. This stores n variables that each can have m labels. +typedef opengm::SimpleDiscreteSpace LabelSpace; + +// Typedef for a factor-graph that stores doubles as results, adds the factors and has discrete labels for each variable. +typedef opengm::GraphicalModel , LabelSpace > FactorGraph; + +// Typedef for the update rule of messages in a factor graph, when using message propagation. +// Second Typedef is the Belief-Propagation used in this algorithm. It can be used on the defined FactorGraph, maximizes the defined +// functions and uses the Update-Rule for the messages that maximize the overall Graph. MaxDistance is a metric used to measure +// the distance of two messages in the graph. +typedef opengm::BeliefPropagationUpdateRules UpdateRules; +typedef opengm::MessagePassing LoopyBeliefPropagation; + +// Overload of the + operator for vectors: +// Given vectors a and b it returns a+b. If the vectors are not the same size a -1 vector gets returned to show an error. +template +std::vector operator+(const std::vector& a, const std::vector& b) +{ +// assert(a.size() == b.size()); + + if(a.empty()) // if a doesn't store any element it is the zero-vector, so return b + return b; + else if(b.empty()) // if b doesn't store any element it is the zero-vector, so return a + return a; + else if(a.size() != b.size()) // if the vectors are not the same size return a vector with -1 as entries as failure + return std::vector(100, -1); + + std::vector result; // create temporary new vector + result.reserve(a.size()); + + // add each element of the vectors and store them at the corresponding temporary vector position + std::transform(a.begin(), a.end(), b.begin(), + std::back_inserter(result), std::plus()); + + return result; +} + +// Overload of the += operator for vectors: +// Given vector a and b from arbitrary sizes this operator takes vector b and expands a by these elements. +template +std::vector& operator+=(std::vector& a, const std::vector& b) +{ + a.insert(a.end(), b.begin(), b.end()); + return a; +} + +class VoronoiRandomFieldSegmentation : public AbstractVoronoiSegmentation +{ +protected: + + std::vector angles_for_simulation_; // Vector that saves the angles, used to simulate the laser measurements + // for the AdaBoost classifier. + + int number_of_classifiers_; // Number of weak classifiers used from the OpenCV AdaBoost function. + + int number_of_classes_; // Number of classes this algorithm can detect. + + bool trained_boost_, trained_conditional_field_; // Variable that shows if the classifiers has already been trained. + +#if CV_MAJOR_VERSION == 2 + CvBoostParams params_; // Parameters for the classifiers + CvBoost room_boost_, hallway_boost_, doorway_boost_; // The AdaBoost-Classifier to induct the features needed in the conditional random field. +#else + cv::Ptr room_boost_, hallway_boost_, doorway_boost_; // The AdaBoost-Classifier to induct the features needed in the conditional random field. +#endif + + std::vector trained_conditional_weights_; // The weights that are needed for the feature-induction in the conditional random field. + + // Function to check if the given point is more far away from each point in the given set than the min_distance. + bool pointMoreFarAway(const std::set& points, const cv::Point& point, const double min_distance); + + std::vector raycasting(const cv::Mat& map, const cv::Point& location); + + // Function to get all possible configurations for n variables that each can have m labels. E.g. with 2 variables and 3 possible + // labels for each variable there are 9 different configurations. + void getPossibleConfigurations(std::vector >& possible_configurations, const std::vector& possible_labels, + const uint number_of_variables); + + // Function that swaps the label-configurations of CRF-nodes in a way s.t. the nodes are sorted in increasing order. Needed + // to use OpenGM for inference later. + void swapConfigsRegardingNodeIndices(std::vector >& configurations, size_t point_indices[]); + + // Function to calculate the feature vector for a given clique, using the trained AdaBoost classifiers. + void getAdaBoostFeatureVector(std::vector& feature_vector, Clique& clique, + std::vector& given_labels, std::vector& possible_labels); + + // Function that takes a map and draws a pruned voronoi graph in it. + void createPrunedVoronoiGraph(cv::Mat& map_for_voronoi_generation, std::set& node_points); + + // Function to find the Nodes for the conditional random field, given a voronoi-graph. + void findConditonalNodes(std::set& conditional_nodes, const cv::Mat& voronoi_map, + const cv::Mat& distance_map, const std::set& voronoi_nodes, + const int epsilon_for_neighborhood, const int max_iterations, const int min_neighborhood_size, + const double min_node_distance); + + // Function to create a conditional random field out of given points. It needs + // the voronoi-map extracted from the original map to find the neighbors for each point + // and the voronoi-node-points to add the right points as nodes. + void createConditionalField(const cv::Mat& voronoi_map, const std::set& node_points, + std::vector& conditional_random_field_cliques, const std::set& voronoi_node_points, + const cv::Mat& original_map); + + // Function that takes all given training maps and calculates the AdaBoost-Classifiers for them to best label a + // room, hallway and doorway. + void trainBoostClassifiers(const std::vector& training_maps, + std::vector< std::vector >& cliques_of_training_maps, const std::vector possible_labels, + const std::string& classifier_storage_path); // Function to train the AdaBoost classifiers, used for feature induction of the conditional + // random field. + + // Function to find the weights used to calculate the clique potentials. + void findConditionalWeights(std::vector< std::vector >& conditional_random_field_cliques, + std::vector >& random_field_node_points, const std::vector& training_maps, + std::vector& possible_labels, const std::string weights_filepath); + + +public: + // Constructor + VoronoiRandomFieldSegmentation(); + + // This function is used to train the algorithm. The above defined functions separately train the AdaBoost-classifiers and + // the conditional random field. By calling this function the training is done in the right order, because the AdaBoost-classifiers + // need to be trained to calculate features for the conditional random field. + void trainAlgorithms(const std::vector& original_maps, const std::vector& training_maps, + std::vector& voronoi_maps, const std::vector& voronoi_node_maps, + std::vector& possible_labels, const std::string storage_path, + const int epsilon_for_neighborhood, const int max_iterations, const int min_neighborhood_size, + const double min_node_distance); + + // This function is called to find minimal values of a defined log-likelihood-function using the library Dlib. + // This log-likelihood-function is made over all training data to get a likelihood-estimation linear in the weights. + // By minimizing this function the best weights are chosen, what is done here. See voronoi_random_field_segmentation.cpp at + // the beginning for detailed information. + // !!!!Important: The more training maps you have, the more factors appear in the log-likelihood over all maps. Be sure not to + // use too much training-maps, because then the log-likelihood-function easily produces values that are out of the + // double range, which Dlib can't handle. + column_vector findMinValue(unsigned int number_of_weights, double sigma, + const std::vector >& likelihood_parameters, const std::vector& starting_weights); // Function to find the minimal value of a function. Used to find the optimal weights for + // the conditional random field. + + // Function to segment a given map into different regions. It uses the above trained AdaBoost-classifiers and conditional-random-field. + // Also it uses OpenGM to do a inference in the created crf, so it uses the above defined typedefs. + void segmentMap(const cv::Mat& original_map, cv::Mat& segmented_map, const int epsilon_for_neighborhood, + const int max_iterations, const int min_neighborhood_size, std::vector& possible_labels, + const double min_node_distance, bool show_results, + const std::string classifier_storage_path, const std::string classifier_default_path, const int max_inference_iterations, + double map_resolution_from_subscription, double room_area_factor_lower_limit, double room_area_factor_upper_limit, + double max_area_for_merging, std::vector* door_points = NULL); + + // Function used to test several features separately. Not relevant. + void testFunc(const cv::Mat& original_map); + +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_segmentation.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_segmentation.h new file mode 100644 index 0000000..635b18c --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/voronoi_segmentation.h @@ -0,0 +1,27 @@ +#include "ros/ros.h" +#include +#include +#include +#include +#include +#include + +#include + +#include +#include + + +class VoronoiSegmentation : public AbstractVoronoiSegmentation +{ +protected: + +public: + + VoronoiSegmentation(); + + //the segmentation-algorithm + void segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, + double room_area_factor_lower_limit, double room_area_factor_upper_limit, int neighborhood_index, int max_iterations, + double min_critical_point_distance_factor, double max_area_for_merging, bool display_map=false); +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/wavefront_region_growing.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/wavefront_region_growing.h new file mode 100644 index 0000000..b1a8c20 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/include/ipa_room_segmentation/wavefront_region_growing.h @@ -0,0 +1,8 @@ +#include +#include +#include +#include +#include +#include + +void wavefrontRegionGrowing(cv::Mat& image); diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/abstract_voronoi_segmentation.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/abstract_voronoi_segmentation.cpp new file mode 100644 index 0000000..d1cfc42 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/abstract_voronoi_segmentation.cpp @@ -0,0 +1,463 @@ +#include + +#include +#include + +#include +#include + + + +AbstractVoronoiSegmentation::AbstractVoronoiSegmentation() +{ + +} + +bool AbstractVoronoiSegmentation::determineRoomIndexFromRoomID(const std::vector& rooms, const int room_id, size_t& room_index) +{ + bool found_id = false; + for (size_t r = 0; r < rooms.size(); r++) + { + if (rooms[r].getID() == room_id) + { + room_index = r; + found_id = true; + break; + } + } + + return found_id; +} + +void AbstractVoronoiSegmentation::mergeRoomPair(std::vector& rooms, const int target_index, const int room_to_merge_index, cv::Mat& segmented_map, const double map_resolution) +{ + // integrate room to merge into target and delete merged room + const int target_id = rooms[target_index].getID(); + const int room_to_merge_id = rooms[room_to_merge_index].getID(); + rooms[target_index].mergeRoom(rooms[room_to_merge_index], map_resolution); + rooms[room_to_merge_index].setRoomId(rooms[target_index].getID(), segmented_map); + rooms.erase(rooms.begin()+room_to_merge_index); + std::sort(rooms.begin(), rooms.end(), sortRoomsAscending); + + // update neighborhood statistics for remaining rooms + for (size_t i=0; i& neighbor_ids = rooms[i].getNeighborIDs(); + std::vector::iterator it = std::find(neighbor_ids.begin(), neighbor_ids.end(), room_to_merge_id); + if (it != neighbor_ids.end()) + { + std::vector::iterator it2 = std::find(neighbor_ids.begin(), neighbor_ids.end(), target_id); + if (it2 != neighbor_ids.end()) + neighbor_ids.erase(it); + else + *it = target_id; + } + + std::map& neighbor_statistics = rooms[i].getNeighborStatistics(); + std::map::iterator it3 = neighbor_statistics.find(room_to_merge_id); + if (it3 != neighbor_statistics.end()) + { + std::map::iterator it4 = neighbor_statistics.find(target_id); + if (it4 != neighbor_statistics.end()) + it4->second += it3->second; + else + neighbor_statistics[target_id] = it3->second; + neighbor_statistics.erase(it3); + } + } +} + +void AbstractVoronoiSegmentation::drawVoronoi(cv::Mat &img, const std::vector >& facets_of_voronoi, const cv::Scalar voronoi_color, const cv::Mat& eroded_map) +{ + // go trough each facet of the calculated Voronoi-graph and check if it should be drawn. + for (std::vector >::const_iterator current_contour = facets_of_voronoi.begin(); current_contour != facets_of_voronoi.end(); ++current_contour) + { + // saving-variable for the last Point that has been looked at + cv::Point2f last_point = current_contour->back(); + // draw each line of the voronoi-cell + for (size_t c = 0; c < current_contour->size(); ++c) + { + // variable to check, whether a Point is inside a white area or not + bool inside = true; + cv::Point2f current_point = current_contour->at(c); + // only draw lines that are inside the map-contour + if (((int)current_point.x<0) || ((int)current_point.x >= eroded_map.cols) || + ((int)current_point.y<0) || ((int)current_point.y >= eroded_map.rows) || + eroded_map.at((int)current_point.y, (int)current_point.x) == 0 || + ((int)last_point.x<0) || ((int)last_point.x >= eroded_map.cols) || + ((int)last_point.y<0) || ((int)last_point.y >= eroded_map.rows) || + eroded_map.at((int)last_point.y, (int)last_point.x) == 0) + inside = false; + if (inside) + { + cv::line(img, last_point, current_point, voronoi_color, 1); + } + last_point = current_point; + } + } +} + +//****************Create the Generalized Voronoi-Diagram********************** +// This function is here to create the generalized voronoi-graph in the given map. It does following steps: +// 1. It finds every discretized contour in the given map (they are saved as vector). Then it takes these +// contour-Points and adds them to the OpenCV Delaunay generator from which the voronoi-cells can be generated. +// 2. Finally it gets the boundary-Points of the voronoi-cells with getVoronoiFacetList. It takes these facets +// and draws them using the drawVoronoi function. This function draws the facets that only have Points inside +// the map-contour (other lines go to not-reachable places and are not necessary to be looked at). +// 3. It returns the map that has the generalized voronoi-graph drawn in. +void AbstractVoronoiSegmentation::createVoronoiGraph(cv::Mat& map_for_voronoi_generation) +{ + cv::Mat map_to_draw_voronoi_in = map_for_voronoi_generation.clone(); //variable to save the given map for drawing in the voronoi-diagram + + cv::Mat temporary_map_to_calculate_voronoi = map_for_voronoi_generation.clone(); //variable to save the given map in the createVoronoiGraph-function + + //apply a closing-operator on the map so bad parts are neglected + cv::erode(temporary_map_to_calculate_voronoi, temporary_map_to_calculate_voronoi, cv::Mat()); + cv::dilate(temporary_map_to_calculate_voronoi, temporary_map_to_calculate_voronoi, cv::Mat()); + + //********************1. Get OpenCV delaunay-traingulation****************************** + cv::Rect rect(0, 0, map_to_draw_voronoi_in.cols, map_to_draw_voronoi_in.rows); //variables to generate the voronoi-diagram, using OpenCVs delaunay-triangulation + cv::Subdiv2D subdiv(rect); + std::vector > hole_contours; //variable to save the hole-contours (= black holes inside the white map) + std::vector > contours; //variables for contour extraction and discretisation + //hierarchy saves if the contours are hole-contours: + //hierarchy[{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour} + //child-contour = 1 if it has one, = -1 if not, same for parent_contour + std::vector hierarchy; + + //get contours of the map + cv::Mat temp = map_to_draw_voronoi_in.clone(); +#if CV_MAJOR_VERSION<=3 + cv::findContours(temp, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); + cv::drawContours(map_to_draw_voronoi_in, contours, -1, cv::Scalar(255), CV_FILLED); +#else + cv::findContours(temp, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); + cv::drawContours(map_to_draw_voronoi_in, contours, -1, cv::Scalar(255), cv::FILLED); +#endif + + //put every point of the map-contours into the Delaunay-generator of OpenCV + for (int current_contour = 0; current_contour < contours.size(); current_contour++) + { + for (int current_point = 0; current_point < contours[current_contour].size(); current_point++) + { + cv::Point fp = contours[current_contour][current_point]; + subdiv.insert(fp); + } + //get the contours of the black holes --> it is necessary to check if points are inside these in drawVoronoi + if (hierarchy[current_contour][2] == -1 && hierarchy[current_contour][3] != -1) + { + hole_contours.push_back(contours[current_contour]); + } + } + + //********************2. Get facets and draw voronoi-Graph****************************** + //erode the map so that points near the boundary are not drawn later (see drawVoronoi) + cv::Mat eroded_map; + cv::Point anchor(-1, -1); + cv::erode(temporary_map_to_calculate_voronoi, eroded_map, cv::Mat(), anchor, 2); + + //get the Voronoi regions from the delaunay-subdivision graph + const cv::Scalar voronoi_color(127); //define the voronoi-drawing colour + std::vector > voronoi_facets; // variables to find the facets and centers of the voronoi-cells + std::vector voronoi_centers; + subdiv.getVoronoiFacetList(std::vector(), voronoi_facets, voronoi_centers); + + //draw the voronoi-regions into the map + drawVoronoi(map_to_draw_voronoi_in, voronoi_facets, voronoi_color, eroded_map); + + //make pixels black, which were black before and were colored by the voronoi-regions + for (int v = 0; v < map_to_draw_voronoi_in.rows; v++) + { + for (int u = 0; u < map_to_draw_voronoi_in.cols; u++) + { + if (map_for_voronoi_generation.at(v, u) == 0) + { + map_to_draw_voronoi_in.at(v, u) = 0; + } + } + } + map_for_voronoi_generation = map_to_draw_voronoi_in; +} + +void AbstractVoronoiSegmentation::pruneVoronoiGraph(cv::Mat& voronoi_map, std::set& node_points) +{ + // 1.extract the node-points that have at least three neighbors on the voronoi diagram + // node-points are points on the voronoi-graph that have at least 3 neighbors + for (int v = 1; v < voronoi_map.rows-1; v++) + { + for (int u = 1; u < voronoi_map.cols-1; u++) + { + if (voronoi_map.at(v, u) == 127) + { + int neighbor_count = 0; // variable to save the number of neighbors for each point + // check 3x3 region around current pixel + for (int row_counter = -1; row_counter <= 1; row_counter++) + { + for (int column_counter = -1; column_counter <= 1; column_counter++) + { + // don't check the point itself + if (row_counter == 0 && column_counter == 0) + continue; + + //check if neighbors are colored with the voronoi-color + if (voronoi_map.at(v + row_counter, u + column_counter) == 127) + { + neighbor_count++; + } + } + } + if (neighbor_count > 2) + { + node_points.insert(cv::Point(u,v)); + } + } + } + } + + // 2.reduce the side-lines along the voronoi-graph by checking if it has only one neighbor until a node-point is reached + // --> make it white + // repeat a large enough number of times so the graph converges + for (int step = 0; step < 100; step++) + { + for (int v = 0; v < voronoi_map.rows; v++) + { + for (int u = 0; u < voronoi_map.cols; u++) + { + // set that the point is a point along the graph and not a side-line + if (voronoi_map.at(v, u) == 127) + { + int neighbor_count = 0; //variable to save the number of neighbors for each point + for (int row_counter = -1; row_counter <= 1; row_counter++) + { + for (int column_counter = -1; column_counter <= 1; column_counter++) + { + // don't check the point itself + if (row_counter == 0 && column_counter == 0) + continue; + + // check the surrounding points + const int nv = v + row_counter; + const int nu = u + column_counter; + if (nv >= 0 && nu >= 0 && nv < voronoi_map.rows && nu < voronoi_map.cols && voronoi_map.at(nv, nu) == 127) + { + neighbor_count++; + } + } + } + //if the current point is a node point found in the previous step, it belongs to the voronoi-graph + if (neighbor_count <= 1 && node_points.find(cv::Point(u,v)) == node_points.end()) + { + //if the Point isn't on the voronoi-graph make it white + voronoi_map.at(v, u) = 255; + } + } + } + } + } +} + +void AbstractVoronoiSegmentation::mergeRooms(cv::Mat& map_to_merge_rooms, std::vector& rooms, double map_resolution_from_subscription, double max_area_for_merging, bool display_map) +{ + // This function takes the segmented Map from the original Voronoi-segmentation-algorithm and merges rooms together, + // that are small enough and have only two or one neighbor. + + // 1. go trough every pixel and add points to the rooms with the same ID + for (int y = 0; y < map_to_merge_rooms.rows; y++) + { + for (int x = 0; x < map_to_merge_rooms.cols; x++) + { + int current_id = map_to_merge_rooms.at(y, x); + if (current_id != 0) + { + for (size_t current_room = 0; current_room < rooms.size(); current_room++) //add the Points with the same Id as a room to it + { + if (rooms[current_room].getID() == current_id) //insert the current point into the corresponding room + { + rooms[current_room].insertMemberPoint(cv::Point(x, y), map_resolution_from_subscription); + break; + } + } + } + } + } + + // 2. add the neighbor IDs for every point + for (int current_room = 0; current_room < rooms.size(); current_room++) + { + const int current_id = rooms[current_room].getID(); + std::vector considered_neighbors; // storage for already counted neighborhood points + const std::vector& current_points = rooms[current_room].getMembers(); + for (int current_point = 0; current_point < current_points.size(); current_point++) + { + for (int row_counter = -1; row_counter <= 1; row_counter++) + { + for (int col_counter = -1; col_counter <= 1; col_counter++) + { + const int label = map_to_merge_rooms.at(current_points[current_point].y + row_counter, current_points[current_point].x + col_counter); + + // collect neighbor IDs + if (label != 0 && label != current_id) + rooms[current_room].addNeighborID(label); + + // neighborhood statistics + cv::Point neighbor_point(current_points[current_point].x + col_counter, current_points[current_point].y + row_counter); + if (!contains(considered_neighbors, neighbor_point) && label != current_id) + { + rooms[current_room].addNeighbor(label); + considered_neighbors.push_back(neighbor_point); + } + } + } + } + } + + // 3. merge criteria + // sort rooms ascending by area + std::sort(rooms.begin(), rooms.end(), sortRoomsAscending); + // a) rooms with one neighbor and max. 75% walls around + for (int current_room_index = 0; current_room_index < rooms.size(); ) + { + Room& current_room = rooms[current_room_index]; + bool merge_rooms = false; + size_t merge_index = 0; + + if (current_room.getNeighborCount() == 1 && current_room.getArea() < max_area_for_merging && current_room.getWallToPerimeterRatio() <= 0.75) + { + // check every room if it should be merged with its neighbor that it shares the most boundary with + merge_rooms = determineRoomIndexFromRoomID(rooms, current_room.getNeighborWithLargestCommonBorder(), merge_index); + } + + if (merge_rooms == true) + { + //std::cout << "merge " << current_room.getCenter() << ", id=" << current_room.getID() << " into " << rooms[merge_index].getCenter() << ", id=" << rooms[merge_index].getID() << std::endl; + mergeRoomPair(rooms, merge_index, current_room_index, map_to_merge_rooms, map_resolution_from_subscription); + current_room_index = 0; + } + else + current_room_index++; + } + if (display_map == true) + cv::imshow("a", map_to_merge_rooms); + + // b) small rooms + for (int current_room_index = 0; current_room_index < rooms.size(); ) + { + Room& current_room = rooms[current_room_index]; + bool merge_rooms = false; + size_t merge_index = 0; + + const int max_border_neighbor_id = current_room.getNeighborWithLargestCommonBorder(); + if (current_room.getArea() < 2.0 && (double)current_room.getNeighborStatistics()[max_border_neighbor_id]/current_room.getPerimeter() > 0.2) + { + // merge with that neighbor that shares the most neighboring pixels + merge_rooms = determineRoomIndexFromRoomID(rooms, max_border_neighbor_id, merge_index); + if ((double)rooms[merge_index].getWallToPerimeterRatio() > 0.8) //0.8 + merge_rooms = false; + } + + if (merge_rooms == true) + { + //std::cout << "merge " << current_room.getCenter() << ", id=" << current_room.getID() << " into " << rooms[merge_index].getCenter() << ", id=" << rooms[merge_index].getID() << std::endl; + mergeRoomPair(rooms, merge_index, current_room_index, map_to_merge_rooms, map_resolution_from_subscription); + current_room_index = 0; + } + else + current_room_index++; + } + if (display_map == true) + cv::imshow("b", map_to_merge_rooms); + + // c) merge a room with one neighbor that has max. 2 neighbors and sufficient wall ratio (connect parts inside a room) + for (int current_room_index = 0; current_room_index < rooms.size(); ) + { + Room& current_room = rooms[current_room_index]; + bool merge_rooms = false; + size_t merge_index = 0; + + // merge a room with one neighbor that has max. 2 neighbors and sufficient wall ratio (connect parts inside a room) + const int max_border_neighbor_id = current_room.getNeighborWithLargestCommonBorder(); + if ((current_room.getNeighborCount()==1 || current_room.getPerimeterRatioOfXLargestRooms(1)>0.98) && current_room.getWallToPerimeterRatio() > 0.5 && + (double)current_room.getNeighborStatistics()[max_border_neighbor_id]/current_room.getPerimeter() > 0.15) + { + // merge with that neighbor that shares the most neighboring pixels + merge_rooms = determineRoomIndexFromRoomID(rooms, max_border_neighbor_id, merge_index); + if (rooms[merge_index].getNeighborCount() > 2 && rooms[merge_index].getPerimeterRatioOfXLargestRooms(2)<0.95) // || rooms[merge_index].getWallToPerimeterRatio() < 0.4) + merge_rooms = false; + } + + if (merge_rooms == true) + { + //std::cout << "merge " << current_room.getCenter() << ", id=" << current_room.getID() << " into " << rooms[merge_index].getCenter() << ", id=" << rooms[merge_index].getID() << std::endl; + mergeRoomPair(rooms, merge_index, current_room_index, map_to_merge_rooms, map_resolution_from_subscription); + current_room_index = 0; + } + else + current_room_index++; + } + if (display_map == true) + cv::imshow("c", map_to_merge_rooms); + + // d) merge rooms that share a significant part of their perimeter + for (int current_room_index = 0; current_room_index < rooms.size(); ) + { + Room& current_room = rooms[current_room_index]; + bool merge_rooms = false; + size_t merge_index = 0; + + std::map< int,int,std::greater > neighbor_room_statistics_inverse; // common border length, room_id + current_room.getNeighborStatisticsInverse(neighbor_room_statistics_inverse); +// std::vector& neighbor_ids = current_room.getNeighborIDs(); +// for (size_t n=0; n >::iterator it=neighbor_room_statistics_inverse.begin(); it!=neighbor_room_statistics_inverse.end(); ++it) + { + if (it->second==0) + continue; // skip wall + + const double neighbor_border_ratio = (double)current_room.getNeighborStatistics()[it->second]/current_room.getPerimeter(); + if (neighbor_border_ratio > 0.2 || (neighbor_border_ratio > 0.1 && current_room.getWallToPerimeterRatio() > (1-2*neighbor_border_ratio-0.05) && current_room.getWallToPerimeterRatio() < (1-neighbor_border_ratio))) + { + // merge with that neighbor that shares the most neighboring pixels + merge_rooms = determineRoomIndexFromRoomID(rooms, it->second, merge_index); + if ((double)rooms[merge_index].getNeighborStatistics()[current_room.getID()]/rooms[merge_index].getPerimeter() <= 0.1) + merge_rooms = false; + if (merge_rooms == true) + break; + } + } + + if (merge_rooms == true) + { + //std::cout << "merge " << current_room.getCenter() << ", id=" << current_room.getID() << " into " << rooms[merge_index].getCenter() << ", id=" << rooms[merge_index].getID() << std::endl; + mergeRoomPair(rooms, merge_index, current_room_index, map_to_merge_rooms, map_resolution_from_subscription); + current_room_index = 0; + } + else + current_room_index++; + } + if (display_map == true) + cv::imshow("d", map_to_merge_rooms); + + // e) largest room neighbor touches > 0.5 perimeter (happens often with furniture) + for (int current_room_index = 0; current_room_index < rooms.size(); ) + { + Room& current_room = rooms[current_room_index]; + bool merge_rooms = false; + size_t merge_index = 0; + + const int max_border_neighbor_id = current_room.getNeighborWithLargestCommonBorder(); + if ((double)current_room.getNeighborStatistics()[max_border_neighbor_id]/current_room.getPerimeter() > 0.4) + { + // merge with that neighbor that shares the most neighboring pixels + merge_rooms = determineRoomIndexFromRoomID(rooms, max_border_neighbor_id, merge_index); + } + + if (merge_rooms == true) + { + //std::cout << "merge " << current_room.getCenter() << ", id=" << current_room.getID() << " into " << rooms[merge_index].getCenter() << ", id=" << rooms[merge_index].getID() << std::endl; + mergeRoomPair(rooms, merge_index, current_room_index, map_to_merge_rooms, map_resolution_from_subscription); + current_room_index = 0; + } + else + current_room_index++; + } +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/adaboost_classifier.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/adaboost_classifier.cpp new file mode 100644 index 0000000..94071f3 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/adaboost_classifier.cpp @@ -0,0 +1,512 @@ +#include + +#include +#include +#include + +#include + +#include + +AdaboostClassifier::AdaboostClassifier() +{ + //save the angles between the simulated beams, used in the following algorithm + for (double angle = 0; angle < 360; angle++) + { + angles_for_simulation_.push_back(angle); + } +#if CV_MAJOR_VERSION == 2 + // Set up boosting parameters + CvBoostParams params(CvBoost::DISCRETE, 350, 0, 2, false, 0); + params_ = params; +#endif + trained_ = false; +} + +void AdaboostClassifier::trainClassifiers(const std::vector& room_training_maps, const std::vector& hallway_training_maps, + const std::string& classifier_storage_path, bool load_features) +{ + //**************************Training-Algorithm for the AdaBoost-classifiers***************************** + //This Alogrithm trains two AdaBoost-classifiers from OpenCV. It takes the given training maps and finds the Points + //that are labeled as a room/hallway and calculates the features defined in ipa_room_segmentation/features.h. + //Then these vectors are put in a format that OpenCV expects for the classifiers and then they are trained. + std::vector labels_for_hallways, labels_for_rooms; + std::vector > hallway_features, room_features; + std::vector temporary_beams; + std::vector temporary_features; + cv::Mat hallway_labels_mat, room_labels_mat; + cv::Mat hallway_features_mat, room_features_mat; + std::cout << "Starting to train the algorithm." << std::endl; + std::cout << "number of room training maps: " << room_training_maps.size() << std::endl; + std::cout << "number of hallway training maps: " << hallway_training_maps.size() << std::endl; + //Get the labels for every training point. 1.0 means it belongs to a room and -1.0 means it belongs to a hallway + // if not loading precomputed features, compute them here + if(load_features==false) + { + LaserScannerFeatures lsf; + for(size_t map = 0; map < room_training_maps.size(); ++map) + { + for (int y = 0; y < room_training_maps[map].rows; y++) + { + for (int x = 0; x < room_training_maps[map].cols; x++) + { + if (room_training_maps[map].at(y, x) != 0) + { + //check for label of each Pixel (if it belongs to rooms the label is 1, otherwise it is -1) + if (room_training_maps[map].at(y, x) > 250) + { + labels_for_rooms.push_back(-1); + } + else + { + labels_for_rooms.push_back(1); + } + //simulate the beams and features for every position and save it + raycasting_.raycasting(room_training_maps[map], cv::Point(x, y), temporary_beams); + cv::Mat features; + lsf.get_features(temporary_beams, angles_for_simulation_, cv::Point(x, y), features); + temporary_features.resize(features.cols); + for (int i=0; i(0,i); + room_features.push_back(temporary_features); + temporary_features.clear(); + } + } + } + std::cout << "done one room map" << std::endl; + } + + for(size_t map = 0; map < hallway_training_maps.size(); ++map) + { + for (int y = 0; y < hallway_training_maps[map].rows; y++) + { + for (int x = 0; x < hallway_training_maps[map].cols; x++) + { + if (hallway_training_maps[map].at(y, x) != 0) + { + //check for label of each Pixel (if it belongs to hallways the label is 1, otherwise it is -1) + if (hallway_training_maps[map].at(y, x) > 250) + { + labels_for_hallways.push_back(-1); + } + else + { + labels_for_hallways.push_back(1); + } + //simulate the beams and features for every position and save it + raycasting_.raycasting(hallway_training_maps[map], cv::Point(x, y), temporary_beams); + cv::Mat features; + lsf.get_features(temporary_beams, angles_for_simulation_, cv::Point(x, y), features); + temporary_features.resize(features.cols); + for (int i=0; i(0,i); + hallway_features.push_back(temporary_features); + temporary_features.clear(); + } + } + } + std::cout << "done one hallway map" << std::endl; + } + + //save the found labels and features in Matrices --> hallway + hallway_labels_mat = cv::Mat(labels_for_hallways); + hallway_features_mat = cv::Mat(hallway_features.size(), lsf.get_feature_count(), CV_32FC1); + for (int i = 0; i < labels_for_hallways.size(); i++) + { + // hallway_labels_mat.at(i, 0) = labels_for_hallways[i]; + for (int f = 0; f < hallway_features[i].size(); f++) + { + hallway_features_mat.at(i, f) = (float) hallway_features[i][f]; + } + } + //save the found labels and features in Matrices --> rooms + room_labels_mat = cv::Mat(labels_for_rooms); + room_features_mat = cv::Mat(room_features.size(), lsf.get_feature_count(), CV_32FC1); + for (int i = 0; i < labels_for_rooms.size(); i++) + { + // room_labels_mat.at(i, 0) = labels_for_rooms[i]; + for (int f = 0; f < room_features[i].size(); f++) + { + room_features_mat.at(i, f) = (float) room_features[i][f]; + } + } + + // // save feature data to file + cv::FileStorage fs(classifier_storage_path+"_features.yml", cv::FileStorage::WRITE); + if (fs.isOpened()) + { + fs << "hallway_features_mat" << hallway_features_mat; + fs << "hallway_labels_mat" << hallway_labels_mat; + fs << "room_features_mat" << room_features_mat; + fs << "room_labels_mat" << room_labels_mat; + } + fs.release(); + } + else + { + // load the feature data from file + cv::FileStorage fs(classifier_storage_path+"_features.yml", cv::FileStorage::READ); + std::cout << "Loading feature data from file: " << classifier_storage_path+"_features.yml" << std::endl; + if (fs.isOpened()) + { + fs["hallway_features_mat"] >> hallway_features_mat; + fs["hallway_labels_mat"] >> hallway_labels_mat; + fs["room_features_mat"] >> room_features_mat; + fs["room_labels_mat"] >> room_labels_mat; + } + std::cout << "Loaded features data" << std::endl; + fs.release(); + } + + // check if path for storing classifier models exists + boost::filesystem::path storage_path(classifier_storage_path); + if (boost::filesystem::exists(storage_path) == false) + { + if (boost::filesystem::create_directories(storage_path) == false && boost::filesystem::exists(storage_path) == false) + { + std::cout << "Error: AdaboostClassifier::trainClassifiers: Could not create directory " << storage_path << std::endl; + return; + } + } + + //*********hallway*************** + std::string filename_hallway = classifier_storage_path + "semantic_hallway_boost.xml"; +#if CV_MAJOR_VERSION == 2 + // Train a boost classifier + hallway_boost_.train(hallway_features_mat, CV_ROW_SAMPLE, hallway_labels_mat, cv::Mat(), cv::Mat(), cv::Mat(), cv::Mat(), params_); + //save the trained booster + hallway_boost_.save(filename_hallway.c_str(), "boost"); +#else + // Train a boost classifier + hallway_boost_ = cv::ml::Boost::create(); + hallway_boost_->setBoostType(cv::ml::Boost::REAL); + hallway_boost_->setWeakCount(350); + hallway_boost_->setWeightTrimRate(0); + hallway_boost_->setMaxDepth(2); + hallway_boost_->setUseSurrogates(false); + hallway_boost_->setPriors(cv::Mat()); + hallway_boost_->train(hallway_features_mat, cv::ml::ROW_SAMPLE, hallway_labels_mat); + //save the trained booster + hallway_boost_->save(filename_hallway.c_str()); +#endif + ROS_INFO("Done hallway classifiers."); + + //*************room*************** + std::string filename_room = classifier_storage_path + "semantic_room_boost.xml"; +#if CV_MAJOR_VERSION == 2 + // Train a boost classifier + room_boost_.train(room_features_mat, CV_ROW_SAMPLE, room_labels_mat, cv::Mat(), cv::Mat(), cv::Mat(), cv::Mat(), params_); + //save the trained booster + room_boost_.save(filename_room.c_str(), "boost"); +#else + // Train a boost classifier + room_boost_ = cv::ml::Boost::create(); + room_boost_->setBoostType(cv::ml::Boost::REAL); + room_boost_->setWeakCount(350); + room_boost_->setWeightTrimRate(0); + room_boost_->setMaxDepth(2); + room_boost_->setUseSurrogates(false); + room_boost_->setPriors(cv::Mat()); + room_boost_->train(room_features_mat, cv::ml::ROW_SAMPLE, room_labels_mat); + //save the trained booster + room_boost_->save(filename_room.c_str()); +#endif + + //set the trained-variabel true, so the labeling-algorithm knows the classifiers have been trained already + trained_ = true; + ROS_INFO("Done room classifiers."); + ROS_INFO("Finished training the algorithm."); +} + +void AdaboostClassifier::segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, + double room_area_factor_lower_limit, double room_area_factor_upper_limit, const std::string& classifier_storage_path, + const std::string& classifier_default_path, bool display_results) +{ + //******************Semantic-labeling function based on AdaBoost***************************** + //This function calculates single-valued features for every white Pixel in the given occupancy-gridmap and classifies it + //using the AdaBoost-algorithm from OpenCV. It does the following steps: + // I. If the classifiers hasn't been trained before they should load the training-results saved in the + // classifier_models folder + // II. Go trough each Pixel of the given map. If this Pixel is white simulate the laser-beams for it and calculate each + // of the implemented features. + // III. Apply a median-Filter on the labeled map to smooth the output of it. + // IV. Find the contours of the segments given by III. by thresholding the map. First set the threshold so high that + // only room-areas are shown in the map and find them. Then make these room-areas black and finally set the threshold + // a little lower than the hallway-colour. The function only takes contours that are larger than the minimum value + // and splits too large hallway-areas into smaller areas by putting random Points into the too large hallway contour + // and apply a watershed-algorithm on it. At last the saved room and hallway contours are drawn with a random + // colour into the map that hasn't been used already. + + cv::Mat original_map_to_be_labeled = map_to_be_labeled.clone(); + ROS_INFO("Starting to label the map."); + //***********************I. check if classifiers has already been trained***************************** + if (!trained_) //classifiers hasn't been trained before so they should be loaded + { + // check if path for storing classifier models exists + boost::filesystem::path storage_path(classifier_storage_path); + if (boost::filesystem::exists(storage_path) == false) + { + if (boost::filesystem::create_directories(storage_path) == false && boost::filesystem::exists(storage_path) == false) + { + std::cout << "Error: AdaboostClassifier::segmentMap: Could not create directory " << storage_path << std::endl; + return; + } + } + + std::string filename_room = classifier_storage_path + "semantic_room_boost.xml"; + std::string filename_room_default = classifier_default_path + "semantic_room_boost.xml"; + if (boost::filesystem::exists(boost::filesystem::path(filename_room)) == false) + boost::filesystem::copy_file(filename_room_default, filename_room); + loadBoost(room_boost_, filename_room); + + std::string filename_hallway = classifier_storage_path + "semantic_hallway_boost.xml"; + std::string filename_hallway_default = classifier_default_path + "semantic_hallway_boost.xml"; + if (boost::filesystem::exists(boost::filesystem::path(filename_hallway)) == false) + boost::filesystem::copy_file(filename_hallway_default, filename_hallway); + loadBoost(hallway_boost_,filename_hallway); + + trained_ = true; + ROS_INFO("Loaded training results."); + } + + //*************** II. Go trough each Point and label it as room or hallway.************************** +#pragma omp parallel for + for (int y = 0; y < original_map_to_be_labeled.rows; y++) + { + LaserScannerFeatures lsf; + for (int x = 0; x < original_map_to_be_labeled.cols; x++) + { + if (original_map_to_be_labeled.at(y, x) == 255) + { + std::vector temporary_beams; + raycasting_.raycasting(original_map_to_be_labeled, cv::Point(x, y), temporary_beams); + std::vector temporary_features; + cv::Mat features_mat; //OpenCV expects a 32-floating-point Matrix as feature input + lsf.get_features(temporary_beams, angles_for_simulation_, cv::Point(x, y), features_mat); + //classify each Point +#if CV_MAJOR_VERSION == 2 + float room_sum = room_boost_.predict(features_mat, cv::Mat(), cv::Range::all(), false, true); + float hallway_sum = hallway_boost_.predict(features_mat, cv::Mat(), cv::Range::all(), false, true); +#else + float room_sum = room_boost_->predict(features_mat, cv::noArray(), cv::ml::Boost::PREDICT_SUM); + float hallway_sum = hallway_boost_->predict(features_mat, cv::noArray(), cv::ml::Boost::PREDICT_SUM); +#endif + //get the certanity-values for each class (it shows the probability that it belongs to the given class) + double room_certanity = (std::exp((double) room_sum)) / (std::exp(-1 * (double) room_sum) + std::exp((double) room_sum)); + double hallway_certanity = (std::exp((double) hallway_certanity)) + / (std::exp(-1 * (double) hallway_certanity) + std::exp((double) hallway_certanity)); + //make a decision-list and check which class the Point belongs to + double probability_for_room = room_certanity; + double probability_for_hallway = hallway_certanity * (1.0 - probability_for_room); + if (probability_for_room > probability_for_hallway) + { + original_map_to_be_labeled.at(y, x) = 150; //label it as room + } + else + { + original_map_to_be_labeled.at(y, x) = 100; //label it as hallway + } + } + } + } + std::cout << "labeled all white pixels: " << std::endl; + //******************** III. Apply a median filter over the image to smooth the results.*************************** + cv::Mat temporary_map = original_map_to_be_labeled.clone(); + cv::medianBlur(temporary_map, temporary_map, 3); + std::cout << "blurred image" << std::endl; + + //make regions black, that have been black before + for (int x = 0; x < original_map_to_be_labeled.rows; x++) + { + for (int y = 0; y < original_map_to_be_labeled.cols; y++) + { + if (original_map_to_be_labeled.at(x, y) == 0) + { + temporary_map.at(x, y) = 0; + } + } + } +// cv::imshow("thresholded", temporary_map); +// cv::waitKey(); + if(display_results) + { + cv::imshow("classified", temporary_map); + cv::waitKey(); + } + cv::Mat blured_image_for_thresholding = temporary_map.clone(); + + //*********** IV. Fill the large enough rooms with a random color and split the hallways into smaller regions********* + std::vector > contours, temporary_contours, saved_room_contours, saved_hallway_contours; + //hierarchy saves if the contours are hole-contours: + //hierarchy[{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour} + //child-contour = 1 if it has one, = -1 if not, same for parent_contour + std::vector < cv::Vec4i > hierarchy; + + std::vector < cv::Scalar > already_used_colors; //saving-vector for the already used coloures + + //find the contours, which are labeled as a room + cv::threshold(temporary_map, temporary_map, 120, 255, cv::THRESH_BINARY); //find rooms (value = 150) +#if CV_MAJOR_VERSION<=3 + cv::findContours(temporary_map, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); + cv::drawContours(blured_image_for_thresholding, contours, -1, cv::Scalar(0), CV_FILLED); //make the found regions at the original map black, because they have been looked at already +#else + cv::findContours(temporary_map, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); + cv::drawContours(blured_image_for_thresholding, contours, -1, cv::Scalar(0), cv::FILLED); //make the found regions at the original map black, because they have been looked at already +#endif + + //only take rooms that are large enough and that are not a hole-contour + for (int c = 0; c < contours.size(); c++) + { + if (map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[c]) > room_area_factor_lower_limit + && hierarchy[c][3] != 1) + { + saved_room_contours.push_back(contours[c]); + } + } + //find the contours, which are labeled as a hallway + map_to_be_labeled.convertTo(segmented_map, CV_32SC1, 256, 0); // rescale to 32 int, 255 --> 255*256 = 65280 + temporary_map = blured_image_for_thresholding.clone(); + + cv::threshold(temporary_map, temporary_map, 90, 255, cv::THRESH_BINARY); //find hallways (value = 100) +#if CV_MAJOR_VERSION<=3 + cv::findContours(temporary_map, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); +#else + cv::findContours(temporary_map, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); +#endif + //if the hallway-contours are too big split them into smaller regions, also don't take too small regions + for (int contour_counter = 0; contour_counter < contours.size(); contour_counter++) + { + if (map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[contour_counter]) > room_area_factor_upper_limit) + { + //Generate a black map to draw the hallway-contour in. Then use this map to ckeck if the generated random Points + // are inside the contour. + cv::Mat contour_Map = cv::Mat::zeros(temporary_map.rows, temporary_map.cols, CV_8UC1); +#if CV_MAJOR_VERSION<=3 + cv::drawContours(contour_Map, contours, contour_counter, cv::Scalar(255), CV_FILLED); +#else + cv::drawContours(contour_Map, contours, contour_counter, cv::Scalar(255), cv::FILLED); +#endif + cv::erode(contour_Map, contour_Map, cv::Mat(), cv::Point(-1,-1), 10); + //center-counter so enough centers could be found + int center_counter = 0; + //saving-vector for watershed centers + std::vector < cv::Point > temporary_watershed_centers; + //find enough random watershed centers that are inside the hallway-contour + do + { + int random_x = rand() % temporary_map.rows; + int random_y = rand() % temporary_map.cols; + if (contour_Map.at(random_y, random_x) == 255) + { + temporary_watershed_centers.push_back(cv::Point(random_x, random_y)); + center_counter++; + } + } while (center_counter <= (map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[contour_counter])) / 8); + cv::Mat temporary_Map_to_wavefront; + contour_Map.convertTo(temporary_Map_to_wavefront, CV_32SC1, 256, 0); + //draw the centers as white circles into a black map and give the center-map and the contour-map to the opencv watershed-algorithm + for (int current_center = 0; current_center < temporary_watershed_centers.size(); current_center++) + { + bool coloured = false; + do + { + cv::Scalar fill_colour(rand() % 52224 + 13056); + if (!contains(already_used_colors, fill_colour)) + { +#if CV_MAJOR_VERSION<=3 + cv::circle(temporary_Map_to_wavefront, temporary_watershed_centers[current_center], 2, fill_colour, CV_FILLED); +#else + cv::circle(temporary_Map_to_wavefront, temporary_watershed_centers[current_center], 2, fill_colour, cv::FILLED); +#endif + already_used_colors.push_back(fill_colour); + coloured = true; + } + } while (!coloured); + } + //make sure all previously black Pixels are still black + for (int x = 0; x < map_to_be_labeled.rows; x++) + { + for (int y = 0; y < map_to_be_labeled.cols; y++) + { + if (map_to_be_labeled.at(x, y) == 0) + { + temporary_Map_to_wavefront.at(x, y) = 0; + } + } + } + wavefrontRegionGrowing(temporary_Map_to_wavefront); + //draw the seperated contour into the map, which should be labeled + for (int row = 0; row < segmented_map.rows; row++) + { + for (int col = 0; col < segmented_map.cols; col++) + { + if (temporary_Map_to_wavefront.at(row, col) != 0) + { + segmented_map.at(row, col) = temporary_Map_to_wavefront.at(row, col); + } + } + } + } + else if (map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[contour_counter]) + > room_area_factor_lower_limit) + { + saved_hallway_contours.push_back(contours[contour_counter]); + } + } + std::cout << "finished too big hallway contours" << std::endl; + //draw every room and lasting hallway contour with a random colour into the map + for (int room = 0; room < saved_room_contours.size(); room++) + { + bool coloured = false; + do + { + cv::Scalar fill_colour(rand() % 52224 + 13056); + if (!contains(already_used_colors, fill_colour)) + { +#if CV_MAJOR_VERSION<=3 + cv::drawContours(segmented_map, saved_room_contours, room, fill_colour, CV_FILLED); +#else + cv::drawContours(segmented_map, saved_room_contours, room, fill_colour, cv::FILLED); +#endif + already_used_colors.push_back(fill_colour); + coloured = true; + } + } while (!coloured); + } + std::cout << "finished room contours" << std::endl; + for (int hallway = 0; hallway < saved_hallway_contours.size(); hallway++) + { + bool coloured = false; + int loop_counter = 0; //loop-counter to exit the loop if it gets a infite loop + do + { + loop_counter++; + cv::Scalar fill_colour(rand() % 52224 + 13056); + if (!contains(already_used_colors, fill_colour) || loop_counter > 250) + { +#if CV_MAJOR_VERSION<=3 + cv::drawContours(segmented_map, saved_hallway_contours, hallway, fill_colour, CV_FILLED); +#else + cv::drawContours(segmented_map, saved_hallway_contours, hallway, fill_colour, cv::FILLED); +#endif + already_used_colors.push_back(fill_colour); + coloured = true; + } + } while (!coloured); + } + std::cout << "finished small hallway contours" << std::endl; + //spread the coloured regions to regions, which were too small and aren't drawn into the map + wavefrontRegionGrowing(segmented_map); + //make sure previously black pixels are still black + for (int v = 0; v < map_to_be_labeled.rows; ++v) + { + for (int u = 0; u < map_to_be_labeled.cols; ++u) + { + if (map_to_be_labeled.at(v, u) == 0) + { + segmented_map.at(v, u) = 0; + } + } + } + ROS_INFO("Finished Labeling the map."); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/clique_class.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/clique_class.cpp new file mode 100644 index 0000000..6dba2c5 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/clique_class.cpp @@ -0,0 +1,74 @@ +#include + +// +// This class is used to easily create cliques that are subgraphs of a large graph.A Clique is a subgraph of this graph, in which +// all nodes are connected to each other. See the Header for further information. +// + +// default constructor +Clique::Clique() +{ + +} + +// constructor if one member is known +Clique::Clique(cv::Point first_member) +{ + member_points_.push_back(first_member); +} + +// constructor if a couple of members are known +Clique::Clique(std::vector members) +{ + for(size_t member = 0; member < members.size(); ++member) + { + member_points_.push_back(members[member]); + } +} + +// function that returns a vector containing all member points +std::vector Clique::getMemberPoints() +{ + return member_points_; +} + +// function that inserts a single point as a new member +void Clique::insertMember(cv::Point& new_member) +{ + if(contains(member_points_, new_member) == false) + member_points_.push_back(new_member); +} + +// function that inserts multiple points as new members +void Clique::insertMember(std::vector& new_members) +{ + for(std::vector::iterator new_member = new_members.begin(); new_member != new_members.end(); ++new_member) + { + if(contains(member_points_, *new_member) == false) + member_points_.push_back(*new_member); + } +} + +// function to check if a given point is part of the clique +bool Clique::containsMember(const cv::Point& point) +{ + return contains(member_points_, point); +} + +// function that returns the number of members of this clique +unsigned int Clique::getNumberOfMembers() +{ + return member_points_.size(); +} + +// function to save the given beams in the class parameter +void Clique::setBeamsForMembers(const std::vector< std::vector > beams) +{ + beams_for_members_ = beams ; +} + +// function that returns the stored laser-beams +std::vector< std::vector > Clique::getBeams() +{ + return beams_for_members_; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/contains.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/contains.cpp new file mode 100644 index 0000000..9f46b8b --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/contains.cpp @@ -0,0 +1,53 @@ +#include + +bool contains(std::vector vector, cv::Scalar element) +{ + //this functions checks, if the given element is in the given vector (in this case for cv::Sclar elements) + if (!vector.empty()) + { + return vector.end() != std::find(vector.begin(), vector.end(), element); + } + else + { + return false; + } +} + +bool contains(std::vector vector, cv::Point element) +{ + //this functions checks, if the given element is in the given vector (in this case for cv::Point elements) + if (!vector.empty()) + { + return vector.end() != std::find(vector.begin(), vector.end(), element); + } + else + { + return false; + } +} + +bool contains(std::vector vector, int element) +{ + //this functions checks, if the given element is in the given vector (in this case for int elements) + if (!vector.empty()) + { + return vector.end() != std::find(vector.begin(), vector.end(), element); + } + else + { + return false; + } +} + +bool contains(std::vector > vector, std::vector element) +{ + //this functions checks, if the given element is in the given vector (in this case for vector) + if (!vector.empty()) + { + return vector.end() != std::find(vector.begin(), vector.end(), element); + } + else + { + return false; + } +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/cv_boost_loader.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/cv_boost_loader.cpp new file mode 100644 index 0000000..63696c4 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/cv_boost_loader.cpp @@ -0,0 +1,17 @@ +#include + +#if CV_MAJOR_VERSION == 2 +void loadBoost(CvBoost& boost, std::string const& filename) +{ + boost.load(filename.c_str()); +} +#else +void loadBoost(cv::Ptr& boost, std::string const& filename) +{ +#if CV_MAJOR_VERSION == 3 && CV_MINOR_VERSION<=2 + boost = cv::Algorithm::load(filename.c_str()); +#else + boost = cv::ml::Boost::load(filename.c_str()); +#endif +} +#endif diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/distance_segmentation.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/distance_segmentation.cpp new file mode 100644 index 0000000..5928a31 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/distance_segmentation.cpp @@ -0,0 +1,123 @@ +#include + +#include +#include + +DistanceSegmentation::DistanceSegmentation() +{ + +} + +void DistanceSegmentation::segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, double room_area_factor_lower_limit, double room_area_factor_upper_limit) +{ + //variables for energy maximization + double optimal_room_area = 50; //variable that sets the desired optimal room area + double constant_additional_value = optimal_room_area * optimal_room_area; //variable that sets the energy function higher so that it is 0 for the lower limit + //variables for distance transformation + cv::Mat temporary_map = map_to_be_labeled.clone(); + //variables for thresholding and finding the room-areas + cv::Mat thresh_map; + std::vector < std::vector > contours; + //hierarchy saves if the contours are hole-contours: + //hierarchy[{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour} + //child-contour = 1 if it has one, = -1 if not, same for parent_contour + std::vector < cv::Vec4i > hierarchy, hierarchy_saver; + std::vector < std::vector > temporary_contours; + // + //Segmentation of a gridmap into roomlike areas based on the distance-transformation of the map + // + + //1. Get the distance-transformed map and make it an 8-bit single-channel image + cv::erode(temporary_map, temporary_map, cv::Mat()); + cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 +#if CV_MAJOR_VERSION<=3 + cv::distanceTransform(temporary_map, distance_map, CV_DIST_L2, 5); +#else + cv::distanceTransform(temporary_map, distance_map, cv::DIST_L2, 5); +#endif + cv::convertScaleAbs(distance_map, distance_map); // conversion to 8 bit image + + //2. Threshold the map and find the contours of the rooms. Change the threshold and repeat steps until last possible threshold. + //Then take the contours from the threshold with the most contours between the roomfactors and draw it in the map with a random color. + std::vector > saved_contours, hole_contour_saver; //saving-vector for the found contours + double saved_energy = 0; + for (int current_threshold = 255; current_threshold > 0; current_threshold--) + { //change the threshold for the grayscale-image from largest possible value to smallest + //reset number of rooms + temporary_contours.clear(); + contours.clear(); + hierarchy.clear(); + cv::threshold(distance_map, thresh_map, current_threshold, 255, cv::THRESH_BINARY); +#if CV_MAJOR_VERSION<=3 + cv::findContours(thresh_map, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); +#else + cv::findContours(thresh_map, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); +#endif + + //Get the number of large enough regions to be a room. Only check non-holes. + //Energy function: -(x-a)^2 + b, where x is the current area, a is the optimal area and b is a factor to make the function zero at x=0 + for (int c = 0; c < contours.size(); c++) + { + if (hierarchy[c][3] == -1) + { + double room_area = map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[c]); + //subtract the area from the hole contours inside the found contour, because the contour area grows extremly large if it is a closed loop + for(int hole = 0; hole < contours.size(); hole++) + { + if(hierarchy[hole][3] == c)//check if the parent of the hole is the current looked at contour + { + room_area -= map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[hole]); + } + } + if (room_area >= room_area_factor_lower_limit && room_area <= room_area_factor_upper_limit) + { + temporary_contours.push_back(contours[c]); + //update the energy of the current configuration + } + } + } + //check if current step has a better energy than the saved one + if (temporary_contours.size() >= saved_contours.size())//(current_energy >= saved_energy) + { + saved_contours.clear(); + hole_contour_saver.clear(); + hierarchy_saver.clear(); + saved_contours = temporary_contours; + hole_contour_saver = contours; + hierarchy_saver = hierarchy; + } + } + //Draw the found contours from the step with most areas in the map with a random colour, that hasn't been used yet + std::vector already_used_colors; //saving-variable for already used fill-colours + map_to_be_labeled.convertTo(segmented_map, CV_32SC1, 256, 0); // rescale to 32 int, 255 --> 255*256 = 65280 + for (int current_contour = 0; current_contour < saved_contours.size(); current_contour++) + { + bool drawn = false; //variable to check if contour has been drawn + int loop_counter = 0;//loop counter for ending the loop if it gets into an endless loop + do + { + loop_counter++; + cv::Scalar fill_colour(rand() % 52224 + 13056); + if (!contains(already_used_colors, fill_colour) || loop_counter > 250) + { + cv::drawContours(segmented_map, saved_contours, current_contour, fill_colour, 7); + already_used_colors.push_back(fill_colour); //add used colour to the saving-vector + drawn = true; + } + } while (!drawn); + } + //draw the hole contours black into the new map + for(int current_hole = 0; current_hole < hole_contour_saver.size(); current_hole++) + { + if(hierarchy_saver[current_hole][3] == 1) + { +#if CV_MAJOR_VERSION<=3 + cv::drawContours(segmented_map, hole_contour_saver, current_hole, cv::Scalar(0), CV_FILLED); +#else + cv::drawContours(segmented_map, hole_contour_saver, current_hole, cv::Scalar(0), cv::FILLED); +#endif + } + } + //spread the colors to the white pixels + wavefrontRegionGrowing(segmented_map); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/evaluation_segmentation.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/evaluation_segmentation.cpp new file mode 100644 index 0000000..bb2714e --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/evaluation_segmentation.cpp @@ -0,0 +1,416 @@ +#include + +#include +#include + +#include +#include +#include + + +//int pixel_number_calculation (cv::Mat matrix) +//{ +// int pixel_number; +// for (unsigned int i=0; i(i,j) == 0) +// { +// ++pixel_number; +// } +// } +// } +// return pixel_number; +//} +//struct byPixelsnumber +//{ +// bool operator () (const cv::Mat & a,const cv::Mat & b) +// { +// int OccupiedPixelsnumber_a,OccupiedPixelsnumber_b = 0; +// for (unsigned int i=0; i(i,j) == 0) +// { +// ++OccupiedPixelsnumber_a; +// } +// } +// } +// +// for (unsigned int i=0; i(i,j) == 0) +// { +// ++OccupiedPixelsnumber_b; +// } +// } +// } +// +// return OccupiedPixelsnumber_a > OccupiedPixelsnumber_b ; +// } +//}; + + +void EvaluationSegmentation::groundTruthVectorCalculation(const cv::Mat &bw_map, VectorOfPointSets& gt) +{ + gt.clear(); + + cv::Mat label_image; + bw_map.convertTo(label_image, CV_32SC1); + + int label_count = 2; // starts at 2 because 0,1 are used already + + for (int y = 0; y < label_image.rows; y++) + { + for (int x = 0; x < label_image.cols; x++) + { + if (bw_map.at(y,x) != 255 || label_image.at(y,x)!=255) + continue; + + // fill each room area with a unique id + cv::Rect rect; + cv::floodFill(label_image, cv::Point(x,y), label_count, &rect, 0, 0, 8); + + // collect all pixels that belong to this room + PointSet blob; + for (int j = rect.y; j < (rect.y + rect.height); j++) + { + int* row = (int*)label_image.ptr(j); + for (int i = rect.x; i < (rect.x + rect.width); i++) + { + if (row[i] != label_count) + continue; + blob.insert(cv::Point(i,j)); + } + } + gt.push_back(blob); + + label_count++; + } + } +} + +void EvaluationSegmentation::computePrecisionRecall(const cv::Mat& gt_map, cv::Mat& gt_map_color, const cv::Mat& segmented_map, + double& precision_micro, double& precision_macro, double& recall_micro, double& recall_macro, bool compute_gt_map_color) +{ + // create vector of rooms that contain a set of the room pixels from the ground truth map + VectorOfPointSets gt_points_vector; // room points: gt[room id][pixel index] + if (compute_gt_map_color == true) + { + cv::Mat bw_map; + cv::threshold(gt_map, bw_map, 250, 255, cv::THRESH_BINARY); + //compute the ground truth matrix + groundTruthVectorCalculation(bw_map, gt_points_vector); + + // generate colored ground truth map + gt_map_color = cv::Mat::zeros(gt_map.size(), CV_8UC3); + for(size_t i=0; i < gt_points_vector.size(); i++) + { + cv::Vec3b color(1 + rand()%255, 1 + rand()%255, 1 + rand()%255); + for(PointSet::iterator it=gt_points_vector[i].begin(); it!=gt_points_vector[i].end(); it++) + gt_map_color.at(*it) = color; + } + } + else + { + // get point sets for segmentation map + std::map gt_points_map; // maps a label key identifier to a vector of points belonging to that room label + const cv::Vec3b black(0,0,0); + for (int v=0; v(v,u); + if (color != black) + { + int key = color.val[0] + color.val[1]<<8 + color.val[2]<<16; + gt_points_map[key].insert(cv::Point(u,v)); + } + } + } + for (std::map::iterator it=gt_points_map.begin(); it!=gt_points_map.end(); ++it) + if (it->second.size() > 100) + gt_points_vector.push_back(it->second); + } + + // remove mini rooms from gt + for (VectorOfPointSets::iterator it=gt_points_vector.begin(); it!=gt_points_vector.end();) + { + if (it->size() <= 100) + gt_points_vector.erase(it); + else + it++; + } + + // get point sets for segmentation map + std::map seg_points_map; // maps a label key identifier to a vector of points belonging to that room label + for (int v=0; v(v,u); + if (label != 0) + seg_points_map[label].insert(cv::Point(u,v)); + } + } + VectorOfPointSets seg_points_vector; + for (std::map::iterator it=seg_points_map.begin(); it!=seg_points_map.end(); ++it) + if (it->second.size() > 100) + seg_points_vector.push_back(it->second); + + // set up matrix of overlaps: rows=seg_points_vector , cols = gt_points_vector + cv::Mat overlap = cv::Mat::zeros(seg_points_vector.size(), gt_points_vector.size(), CV_64FC1); + for (size_t v=0; v(v,u) = overlapping; + } + } + + // precision + precision_micro = 0.; // average of individual precisions + precision_macro = 0.; // pixel count of all overlap areas / pixel count of all found segment areas + double pdenominator_macro = 0.; + for (size_t v=0; v(v,u) > max_overlap) + max_overlap = overlap.at(v,u); + } + precision_micro += max_overlap / (double)seg_points_vector[v].size(); + precision_macro += max_overlap; + pdenominator_macro += (double)seg_points_vector[v].size(); + } + precision_micro /= (double)seg_points_vector.size(); + precision_macro /= pdenominator_macro; + + // recall + recall_micro = 0.; // average of individual recalls + recall_macro = 0.; // pixel count of all overlap areas / pixel count of all gt segment areas + double rdenominator_macro = 0.; + for (size_t u=0; u(v,u) > max_overlap) + max_overlap = overlap.at(v,u); + } + recall_micro += max_overlap / (double)gt_points_vector[u].size(); + recall_macro += max_overlap; + rdenominator_macro += (double)gt_points_vector[u].size(); + } + recall_micro /= (double)gt_points_vector.size(); + recall_macro /= rdenominator_macro; + //std::cout << recall_micro << "\t" << precision_micro << "\t" << recall_macro << "\t" << precision_macro << std::endl; +} + +//void EvaluationSegmentation::Segmentation_Vector_calculation(const cv::Mat &segmented_map, std::map &segmented_room_mapping) +//{ +// for(unsigned int i=0; i (i,j)[0] != 0 && segmented_map.at(i,j)[1] != 0 && segmented_map.at(i,j)[2] != 0) +// { +// segmented_room_mapping[cv::Point2i (i,j)] = segmented_map.at(i,j); +// } +// } +// } +//} +// +//void EvaluationSegmentation::Recall_Precision_Calculation(std::map &results, std::vector gt_mat_vector, std::vector segmentation_mat_vector) +//{ +//// std::sort(gt_mat_vector.begin(), gt_mat_vector.end(), byPixelsnumber()); +//// std::sort(segmentation_mat_vector.begin(), segmentation_mat_vector.end(), byPixelsnumber()); +// +// for (unsigned int i = 0; i < segmentation_mat_vector.size();i++) +// { +// int max_pixel_number = 0; +// int pixel_number = 0; +// int selected_gt_mat_pixel_number = 0; +// for (unsigned int j = 0; j < gt_mat_vector.size();j++) +// { +// cv::Mat overlapped_matrix; +// cv::bitwise_or(gt_mat_vector[i],segmentation_mat_vector[j],overlapped_matrix); +// +// pixel_number = pixel_number_calculation(overlapped_matrix); +// +// if (pixel_number > max_pixel_number) +// { +// max_pixel_number = pixel_number; +// selected_gt_mat_pixel_number = pixel_number_calculation(gt_mat_vector[j]); +// } +// } +// +// float recall = float(max_pixel_number/selected_gt_mat_pixel_number); +// float precision = float(max_pixel_number/ (pixel_number_calculation(segmentation_mat_vector[i]))); +// +// // calculate the first pixel of segmentation matrix +// for (unsigned int m=0; m(m,n) == 0) +// { +// results[cv::Point2i(m,n)] = cv::Point2f (recall,precision); +// break; +// } +// } +// } +// } +//} + +/* +int main(int argc, char** argv) +{ + ros::init(argc, argv, "evaluation_seg"); + ros::NodeHandle n; + +// if (argc < 2) +// { +// std::cout << "error: not enough input parameters!" << std::endl; +// return -1; +// } + + std::vector< std::string > map_names; +// map_names.push_back("lab_ipa"); +// map_names.push_back("lab_c_scan"); +// map_names.push_back("Freiburg52_scan"); +// map_names.push_back("Freiburg79_scan"); +// map_names.push_back("lab_b_scan"); +// map_names.push_back("lab_intel"); +// map_names.push_back("Freiburg101_scan"); +// map_names.push_back("lab_d_scan"); +// map_names.push_back("lab_f_scan"); +// map_names.push_back("lab_a_scan"); +// map_names.push_back("NLB"); +// map_names.push_back("office_a"); +// map_names.push_back("office_b"); +// map_names.push_back("office_c"); +// map_names.push_back("office_d"); +// map_names.push_back("office_e"); +// map_names.push_back("office_f"); +// map_names.push_back("office_g"); +// map_names.push_back("office_h"); +// map_names.push_back("office_i"); + map_names.push_back("lab_ipa_furnitures"); + map_names.push_back("lab_c_scan_furnitures"); + map_names.push_back("Freiburg52_scan_furnitures"); + map_names.push_back("Freiburg79_scan_furnitures"); + map_names.push_back("lab_b_scan_furnitures"); + map_names.push_back("lab_intel_furnitures"); + map_names.push_back("Freiburg101_scan_furnitures"); + map_names.push_back("lab_d_scan_furnitures"); + map_names.push_back("lab_f_scan_furnitures"); + map_names.push_back("lab_a_scan_furnitures"); + map_names.push_back("NLB_furnitures"); + map_names.push_back("office_a_furnitures"); + map_names.push_back("office_b_furnitures"); + map_names.push_back("office_c_furnitures"); + map_names.push_back("office_d_furnitures"); + map_names.push_back("office_e_furnitures"); + map_names.push_back("office_f_furnitures"); + map_names.push_back("office_g_furnitures"); + map_names.push_back("office_h_furnitures"); + map_names.push_back("office_i_furnitures"); + + const std::string segmented_map_path = "room_segmentation/"; //ros::package::getPath("ipa_room_segmentation") + "/common/files/segmented_maps/"; + + for (size_t image_index = 0; image_index(v,u); + segmented_map_int.at(v,u) = color.val[0] + color.val[1]<<8 + color.val[2]<<16; + } + } + + double precision_micro, precision_macro, recall_micro, recall_macro; + cv::Mat gt_map_color; + EvaluationSegmentation es; + es.computePrecisionRecall(gt_map, gt_map_color, segmented_map, precision_micro, precision_macro, recall_micro, recall_macro, true); + std::cout << recall_micro << "\t" << precision_micro << "\t" << recall_macro << "\t" << precision_macro << std::endl; + std::string gt_image_filename_color = segmented_map_path + map_name + "_gt_color_segmentation.png"; //ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name + "_gt_color_segmentation.png"; + cv::imwrite(gt_image_filename_color.c_str(), gt_map_color); + } +// +// cv::Mat gt_map = cv::imread(argv[1],CV_8U); +// cv::Mat segmented_map = cv::imread(argv[2]); +// +// EvaluationSegmentation es; +// +// cv::Mat bw_map; +// cv::threshold(gt_map, bw_map, 250, 255, cv::THRESH_BINARY); +// //compute the GT matrix +// std::vector < std::vector > gt_points_vector; +// es.GT_Vector_calculation(bw_map, gt_points_vector); +// +// cv::Mat GT_matrix = cv::Mat::zeros(gt_map.size(), CV_8UC3); +// for(size_t i=0; i < gt_points_vector.size(); i++) +// { +// unsigned char r = 255 * (rand()/(1.0 + RAND_MAX)); +// unsigned char g = 255 * (rand()/(1.0 + RAND_MAX)); +// unsigned char b = 255 * (rand()/(1.0 + RAND_MAX)); +// +// for(size_t j=0; j < gt_points_vector[i].size(); j++) +// { +// int x = gt_points_vector[i][j].x; +// int y = gt_points_vector[i][j].y; +// +// GT_matrix.at(y,x)[0] = b; +// GT_matrix.at(y,x)[1] = g; +// GT_matrix.at(y,x)[2] = r; +// } +// } +// cv::imshow("labeled", GT_matrix); +// cv::waitKey(0); +// +// // save ground truth and segmentation into maps +// std::map segmented_room_mapping, GT_room_mapping; +// std::vector gt_mat_vector, segmentation_mat_vector; +// es.Segmentation_Vector_calculation(GT_matrix, GT_room_mapping); +// es.Segmentation_Vector_calculation(segmented_map, segmented_room_mapping); +// +// for(std::map::iterator iterator = GT_room_mapping.begin(); iterator != GT_room_mapping.end(); iterator++) +// { +////todo: convert map to vector +// } +// +// std::map results; +// +//// cv::namedWindow("labeled"); +//// cv::imshow("labeled", GT_matrix); +//// cv::waitKey(0); + + + return 0; +} +*/ diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/features.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/features.cpp new file mode 100644 index 0000000..55e7f2d --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/features.cpp @@ -0,0 +1,873 @@ +#include +#include +#include +#include +#include + +#include + +#define PI 3.14159265 + +//get the number of implemented features. Needs to be changed to the new value if you change it +int LaserScannerFeatures::get_feature_count() +{ + return 23; +} + +void LaserScannerFeatures::resetCachedData() +{ + features_.clear(); + features_.resize(get_feature_count(), 0.); + features_computed_.clear(); + features_computed_.resize(get_feature_count(), false); + + polygon_.clear(); + polygon_computed_ = false; + + centroid_computed_ = false; +} + +//**********************see features.h for a better overview of what is calculated and needed************************* +//Method for calculating the feature for the classifier +double LaserScannerFeatures::get_feature(const std::vector& beams, const std::vector& angles, cv::Point point, const int feature) +{ + switch (feature) + { + case 1: + return calc_feature1(beams); + case 2: + return calc_feature2(beams); + case 3: + return calc_feature3(beams, 10); + case 4: + return calc_feature4(beams, 10); + case 5: + return calc_feature5(beams); + case 6: + return calc_feature6(beams); + case 7: + return calc_feature7(beams); + case 8: + return calc_feature8(beams, angles); + case 9: + return calc_feature9(beams, angles); + case 10: + return calc_feature10(beams); + case 11: + return calc_feature11(beams); + case 12: + return calc_feature12(beams); + case 13: + return calc_feature13(beams); + case 14: + return calc_feature14(beams, angles, point); + case 15: + return calc_feature15(beams, angles, point); + case 16: + return calc_feature16(beams, angles, point); + case 17: + return calc_feature17(beams, angles, point); + case 18: + return calc_feature18(beams, angles, point); + case 19: + return calc_feature19(beams, angles, point); + case 20: + return calc_feature20(beams, angles, point); + case 21: + return calc_feature21(beams, angles, point); + case 22: + return calc_feature22(beams); + case 23: + return calc_feature23(beams); + } +} + +void LaserScannerFeatures::get_features(const std::vector& beams, const std::vector& angles, cv::Point point, cv::Mat& features) +{ + // reset internal data storage + resetCachedData(); + + // compute features + calc_feature1(beams); + calc_feature2(beams); + calc_feature3(beams, 10); + calc_feature4(beams, 10); + calc_feature5(beams); + calc_feature6(beams); + calc_feature7(beams); + calc_feature8(beams, angles); + calc_feature9(beams, angles); + calc_feature10(beams); + calc_feature11(beams); + calc_feature12(beams); + calc_feature13(beams); + calc_feature14(beams, angles, point); + calc_feature15(beams, angles, point); + calc_feature16(beams, angles, point); + calc_feature17(beams, angles, point); + calc_feature18(beams, angles, point); + calc_feature19(beams, angles, point); + calc_feature20(beams, angles, point); + calc_feature21(beams, angles, point); + calc_feature22(beams); + calc_feature23(beams); + + // write features + features.create(1, get_feature_count(), CV_32FC1); + for (int i=0; i(0,i) = features_[i]; +} + +//Calculation of Feature 1: average difference of the beams +double LaserScannerFeatures::calc_feature1(const std::vector& beams) +{ + if (features_computed_[0]) + return features_[0]; + + double differences_sum; + for (int b = 0; b < beams.size() - 1; b++) + { + differences_sum += abs(beams[b] - beams[b + 1]); + } + //get the difference betweeen the last and the first beam + differences_sum += abs(beams[beams.size() - 1] - beams[0]); + //calculate the average difference and return it + features_computed_[0] = true; + features_[0] = (differences_sum / (double)beams.size()); + + if (features_[0]!=features_[0]) + std::cout << " features_[0]="<& beams) +{ + if (features_computed_[1]) + return features_[1]; + + double mean; //mean-value of the difference, calculated with calc_feature1 + double sum; //helping variable + //initialise + mean = calc_feature1(beams); + sum = 0; + //calculate deviation + for (int b = 0; b < beams.size(); b++) + { + sum += (beams[b] - mean)*(beams[b] - mean);//std::pow((beams[b] - mean), 2.0); + } + sum = sum / (double)(beams.size() - 1); + features_computed_[1] = true; + features_[1] = std::sqrt(sum); + + if (features_[1]!=features_[1]) + std::cout << " features_[1]="<& beams, double maxval) +{ + if (features_computed_[2]) + return features_[2]; + + double differences_sum; + double val1, val2; + for (int b = 0; b < beams.size() - 1; b++) + { + //reset saved beamlenghts + val1 = maxval; + val2 = maxval; + if (beams[b] < maxval) + { + val1 = beams[b]; + } + if (beams[b + 1] < maxval) + { + val2 = beams[b + 1]; + } + differences_sum += abs(val1 - val2); + } + //get the difference betweeen the last and the first beam + val1 = maxval; + val2 = maxval; + if (beams[beams.size()-1] < maxval) + { + val1 = beams[beams.size()-1]; + } + if (beams[0] < maxval) + { + val2 = beams[0]; + } + differences_sum += abs(val1 - val2); + //calculate the average difference and return it + features_computed_[2] = true; + features_[2] = (differences_sum / (double)beams.size()); + + if (features_[2]!=features_[2]) + std::cout << " features_[2]="<& beams, double maxval) +{ + if (features_computed_[3]) + return features_[3]; + + double mean; //mean-value of the difference, calculated with calc_feature1 + double v, w, difference, sum; //helping variables + //initialize + mean = calc_feature3(beams, maxval); + sum = 0; + //calculate deviation + for (int b = 0; b < beams.size() - 1; b++) + { + //reset value of current beam + v = maxval; + w = maxval; + if (beams[b] < maxval) + { + v = beams[b]; + } + if (beams[b + 1] < maxval) + { + w = beams[b + 1]; + } + difference = abs(v - w); + sum += (difference - mean)*(difference - mean); //std::pow((difference - mean), 2.0); + } + //add the difference from last to first point + v = maxval; + w = maxval; + if (beams[beams.size()-1] < maxval) + { + v = beams[beams.size()-1]; + } + if (beams[0] < maxval) + { + w = beams[0]; + } + difference = abs(v - w); + sum += (difference - mean)*(difference - mean); //std::pow((difference - mean), 2.0); + sum = sum / (beams.size() - 1); + features_computed_[3] = true; + features_[3] = std::sqrt(sum); + + if (features_[3]!=features_[3]) + std::cout << " features_[3]="<& beams) +{ + if (features_computed_[4]) + return features_[4]; + + double sum; + //get the sum of the beamlengths + for (int b = 0; b < beams.size(); b++) + { + sum += beams[b]; + } + //divide by number of beams and return value + features_computed_[4] = true; + features_[4] = (sum / (double)beams.size()); + + if (features_[4]!=features_[4]) + std::cout << " features_[4]="<& beams) +{ + if (features_computed_[5]) + return features_[5]; + + double mean; //mean-value of the beamlenghts, calculated with calc_feature5 + double sum; //helping variable + //initialize + mean = calc_feature5(beams); + sum = 0; + //calculate deviation + for (int b = 0; b < beams.size(); b++) + { + sum += (beams[b] - mean)*(beams[b] - mean); //std::pow((beams[b] - mean), 2); + } + sum = sum / (beams.size() - 1); + features_computed_[5] = true; + features_[5] = std::sqrt(sum); + + if (features_[5]!=features_[5]) + std::cout << " features_[5]="<& beams) +{ + if (features_computed_[6]) + return features_[6]; + + double threshold = 0.5; //[m], see "Semantic labeling of places" + double gaps = 0; + for (int b = 0; b < beams.size() - 1; b++) + { + if (abs(beams[b] - beams[b + 1]) > threshold) + { + gaps++; + } + } + if (abs(beams[beams.size() - 1] - beams[0]) > threshold) + { + gaps++; + } + features_computed_[6] = true; + features_[6] = gaps; + return features_[6]; +} + +//Calculation of feature 8: The distance between two Endpoints of local minima of beamlenghts +double LaserScannerFeatures::calc_feature8(const std::vector& beams, const std::vector& angles) +{ + if (features_computed_[7]) + return features_[7]; + + //Remark: angles are relatively to the robot + double length_1 = 10000000; + double length_2 = 10000000; + double angle_1, angle_2; + //get the two Points corresponding to minimal beamlength + for (int b = 0; b < beams.size(); b++) + { + if (beams[b] < length_1 && beams[b] > length_2) + { + length_1 = beams[b]; + angle_1 = angles[b]; + } + else if (beams[b] < length_2) + { + length_2 = beams[b]; + angle_2 = angles[b]; + } + } + //calculate the x/y-values of the Points + double x1_x2 = std::cos(angle_1 * PI / 180) * length_1 - std::cos(angle_2 * PI / 180) * length_2; + double y1_y2 = std::sin(angle_1 * PI / 180) * length_1 - std::sin(angle_2 * PI / 180) * length_2; + //calculate and return the euclidean distance between the Points + features_computed_[7] = true; + features_[7] = std::sqrt(x1_x2*x1_x2 + y1_y2*y1_y2); + + if (features_[7]!=features_[7]) + std::cout << " features_[7]="<& beams, const std::vector& angles) +{ + if (features_computed_[8]) + return features_[8]; + + //Remark: angles are relative to the robot + double length_1 = beams[0]; + double length_2 = beams[1]; + double angle_1 = angles[0]; + double angle_2 = angles[1]; + double x_1, y_1, x_2, y_2; + //get the two Points corresponding to minimal beamlengths + for (int b = 0; b < beams.size(); b++) + { + if (beams[b] < length_1 && beams[b] > length_2) + { + length_1 = beams[b]; + angle_1 = angles[b]; + } + else if (beams[b] <= length_2) + { + length_2 = beams[b]; + angle_2 = angles[b]; + } + } + //calculate the x/y-values of the Points + const double pi_to_degree = PI / 180; + x_1 = std::cos(angle_1 * pi_to_degree) * length_1; + y_1 = std::sin(angle_1 * pi_to_degree) * length_1; + x_2 = std::cos(angle_2 * pi_to_degree) * length_2; + y_2 = std::sin(angle_2 * pi_to_degree) * length_2; + //calculate and return the angle between the Points + const double coordvec = (x_1 * x_2) + (y_1 * y_2); + const double absvec = (length_1 * length_2); + const double quot = std::max(-1., std::min(1., coordvec / absvec)); + features_computed_[8] = true; + features_[8] = std::acos(quot) * 180.0 / PI; + return features_[8]; +} + +//Calculate Feature 10: The average of the relations (b_i/b_(i+1)) between two neighboring beams +double LaserScannerFeatures::calc_feature10(const std::vector& beams) +{ + if (features_computed_[9]) + return features_[9]; + + double length_1, length_2; + double sum_relation = 0; + //calculate the relations and add it to the sum + for (int b = 0; b < beams.size() - 1; b++) + { + length_1 = beams[b]; + length_2 = beams[b + 1]; + if (length_1 < length_2) + { + sum_relation += (length_1 / length_2); + } + else + { + sum_relation += (length_2 / length_1); + } + } + length_1 = beams[beams.size() - 1]; + length_2 = beams[0]; + if (length_1 < length_2) + { + sum_relation += (length_1 / length_2); + } + else + { + sum_relation += (length_2 / length_1); + } + //calculate and return the average of the relations + features_computed_[9] = true; + features_[9] = (sum_relation / beams.size()); + + if (features_[9]!=features_[9]) + std::cout << " features_[9]="<& beams) +{ + if (features_computed_[10]) + return features_[10]; + + //calculate the mean of the relations by using Feature 10 + double mean = calc_feature10(beams); + double sum = 0; + //calculate the standard_deviation + for (int b = 0; b < beams.size(); b++) + { + sum += (beams[b] - mean); //std::pow((beams[b] - mean), 2); + } + sum = sum / (beams.size() - 1); + features_computed_[10] = true; + features_[10] = std::sqrt(sum); + + if (features_[10]!=features_[10]) + std::cout << " features_[10]="<& beams) +{ + if (features_computed_[11]) + return features_[11]; + + double threshold = 0.5; //[m] see "Semantic labeling of places" + double gaps, length_1, length_2; + for (int b = 0; b < beams.size() - 1; b++) + { + length_1 = beams[b]; + length_2 = beams[b + 1]; + if (length_1 < length_2) + { + if ((length_1 / length_2) < threshold) + { + gaps++; + } + } + else + { + if ((length_2 / length_1) < threshold) + { + gaps++; + } + } + } + length_1 = beams[0]; + length_2 = beams[beams.size() - 1]; + if (length_1 < length_2) + { + if ((length_1 / length_2) < threshold) + { + gaps++; + } + } + else + { + if ((length_2 / length_1) < threshold) + { + gaps++; + } + } + features_computed_[11] = true; + features_[11] = gaps; + return features_[11]; +} + +//Calculate Feature 13: The Kurtosis, which is given by: +//(Sum((x - mean)^4))/sigma^4) - 3, where mean is the mean-value and sigma is the standard deviation +double LaserScannerFeatures::calc_feature13(const std::vector& beams) +{ + if (features_computed_[12]) + return features_[12]; + + double sum = 0; + //get the standard deviation and the mean by using previous functions + double sigma = calc_feature6(beams); + double mean = calc_feature5(beams); + //calculate the Kurtosis + for (int b = 0; b < beams.size(); b++) + { + double v=(beams[b] - mean); + sum += v*v*v*v; //std::pow((beams[b] - mean), 4); + } + features_computed_[12] = true; + features_[12] = ((sum / std::pow(sigma, 4)) - 3); + + if (features_[12]!=features_[12]) + std::cout << " features_[12]="<& beams) +{ + if (features_computed_[21]) + return features_[21]; + + double sum; + double maxval = 0.; + //find maximal value of the beams + for (int b = 0; b < beams.size(); b++) + if (beams[b] > maxval) + maxval = beams[b]; + if (maxval == 0.) + maxval = 1.; + //get the average of the beams/maxval + //get the sum of the beamlengths + for (int b = 0; b < beams.size(); b++) + { + sum += (beams[b] / maxval); + } + //divide by number of beams and return value + features_computed_[21] = true; + features_[21] = (sum / (double)beams.size()); + + if (features_[21]!=features_[21]) + std::cout << " features_[21]="<& beams) +{ + if (features_computed_[22]) + return features_[22]; + + double sum = 0; + double mean = calc_feature22(beams); + double maxval = 0; + //find maximal value of the beams + for (int b = 0; b < beams.size(); b++) + if (beams[b] > maxval) + maxval = beams[b]; + if (maxval == 0.) + maxval = 1.; + const double maxvalinv = 1./maxval; + //get the standard deviation + for (int b = 0; b < beams.size(); b++) + { + const double v = (beams[b] * maxvalinv) - mean; + sum += v*v; + } + sum = sum / (beams.size() - 1); + features_computed_[22] = true; + features_[22] = std::sqrt(sum); + + if (features_[22]!=features_[22]) + std::cout << " features_[22]="< LaserScannerFeatures::calc_polygonal_approx(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (polygon_computed_ == true) + return polygon_; + + polygon_.clear(); + double x, y; + //calculate the endpoint for every beam and add it to the polygon + for (int b = 0; b < beams.size(); b++) + { //calculate the x/y-values + //Remark: angles in radiant + double pi_to_degree = PI / 180; + x = std::cos(angles[b] * pi_to_degree) * beams[b]; + y = std::sin(angles[b] * pi_to_degree) * beams[b]; + polygon_.push_back(cv::Point(location.x + x, location.y + y)); + } + polygon_computed_ = true; + return polygon_; +} + +//Calculate the centroid of the polygonal approximation +cv::Point LaserScannerFeatures::calc_centroid(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (centroid_computed_ == true) + return centroid_; + + double x, y; + double sumX = 0; + double sumY = 0; + //get every Point by using the polygonal approximation + std::vector polygon = calc_polygonal_approx(beams, angles, location); + for (int p = 0; p < polygon.size(); p++) + { + sumX += polygon[p].x; + sumY += polygon[p].y; + } + centroid_.x = sumX / polygon.size(); + centroid_.y = sumY / polygon.size(); + centroid_computed_ = true; + return centroid_; +} + +//Calculate Feature 14: The area of the polygonal approximation of the beams +double LaserScannerFeatures::calc_feature14(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[13]) + return features_[13]; + + double map_resolution = 0.05000; + std::vector polygon = calc_polygonal_approx(beams, angles, location); + features_computed_[13] = true; + features_[13] = map_resolution * map_resolution * cv::contourArea(polygon); + + if (features_[13]!=features_[13]) + std::cout << " features_[13]="<& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[14]) + return features_[14]; + + std::vector polygon = calc_polygonal_approx(beams, angles, location); + features_computed_[14] = true; + features_[14] = cv::arcLength(polygon, true); + + if (features_[14]!=features_[14]) + std::cout << " features_[14]="<& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[15]) + return features_[15]; + + features_computed_[15] = true; + features_[15] = (calc_feature14(beams, angles, location) / calc_feature15(beams, angles, location)); + + if (features_[15]!=features_[15]) + std::cout << " features_[15]="<& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[16]) + return features_[16]; + + std::vector < cv::Point > polygon = calc_polygonal_approx(beams, angles, location); + cv::Point centroid = calc_centroid(beams, angles, location); + double sum = 0; + double delta_x, delta_y; + //calculate the distance between the centroid and the boundary and add it to the sum + for (int p = 0; p < polygon.size(); p++) + { + delta_x = polygon[p].x - centroid.x; + delta_y = polygon[p].y - centroid.y; + sum += std::sqrt(delta_x*delta_x + delta_y*delta_y); //std::pow(delta_x, 2) + std::pow(delta_y, 2)); + } + //calculate and return the average of the distances + features_computed_[16] = true; + features_[16] = (sum / polygon.size()); + + if (features_[16]!=features_[16]) + std::cout << " features_[16]="<& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[17]) + return features_[17]; + + std::vector < cv::Point > polygon = calc_polygonal_approx(beams, angles, location); + cv::Point centroid = calc_centroid(beams, angles, location); + //get the mean of the distances by using Feature 17 + double mean = calc_feature17(beams, angles, location); + double current_distance; + double sum = 0; + //calculate the standard_deviation + for (int p = 0; p < polygon.size(); p++) + { + double delta_x = polygon[p].x - centroid.x; + double delta_y = polygon[p].y - centroid.y; + current_distance = std::sqrt(delta_x*delta_x + delta_y*delta_y); //std::pow(delta_x, 2) + std::pow(delta_y, 2)); + sum += (current_distance - mean)*(current_distance - mean); //std::pow(current_distance - mean, 2); + } + sum = sum / (beams.size() - 1); + features_computed_[17] = true; + features_[17] = std::sqrt(sum); + + if (features_[17]!=features_[17]) + std::cout << " features_[17]="<& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[18]) + return features_[18]; + + std::vector < cv::Point > polygon = calc_polygonal_approx(beams, angles, location); + cv::Point centroid = calc_centroid(beams, angles, location); + cv::Point2f points[4]; + std::vector < cv::Point2f > edge_points; + double distance = 0; + //saving-variable for the Points of the ellipse + cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(polygon)); + //get the edge-points of the ellipse + ellipse.points(points); + //saving the Points of the ellipse in a vector + for (int i = 0; i < 4; i++) + { + edge_points.push_back(points[i]); + } + //calculate the distance between the Points and take the largest one + for (int p = 0; p < edge_points.size(); p++) + { + for (int np = 0; np < edge_points.size(); np++) + { + //if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) > distance) + const float a = (edge_points[p].x - edge_points[np].x); + const float b = (edge_points[p].y - edge_points[np].y); + const double sqr = a*a + b*b; + if (sqr > distance) + { + //distance = std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)); + distance = sqr; + } + } + } + features_computed_[18] = true; + features_[18] = (std::sqrt(distance) / 2); + + if (features_[18]!=features_[18]) + std::cout << " features_[18]="<& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[19]) + return features_[19]; + + std::vector < cv::Point > polygon = calc_polygonal_approx(beams, angles, location); + cv::Point2f points[4]; + std::vector < cv::Point2f > edge_points; + double distance = 1e6*1e6; + //saving-variable for the Points of the ellipse + cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(polygon)); + //get the edge-points of the ellipse + ellipse.points(points); + //saving the Points of the ellipse in a vector + for (int i = 0; i < 4; i++) + { + edge_points.push_back(points[i]); + } + //calculate the distance between the Points and take the largest one + for (int p = 0; p < edge_points.size(); p++) + { + for (int np = 0; np < edge_points.size(); np++) + { + if (p==np) + continue; +// if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) < distance +// && std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) > 0 && p != np) + const float a = (edge_points[p].x - edge_points[np].x); + const float b = (edge_points[p].y - edge_points[np].y); + const double sqr = a*a + b*b; + if (sqr < distance) // && sqr > 0) // && p != np) + { + distance = sqr; + } + } + } + features_computed_[19] = true; + features_[19] = (std::sqrt(distance) / 2); + + if (features_[19]!=features_[19]) + std::cout << " features_[19]="<& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[20]) + return features_[20]; + + features_computed_[20] = true; + features_[20] = (calc_feature19(beams, angles, location) / (0.0001+calc_feature20(beams, angles, location))); + + if (features_[20]!=features_[20]) + std::cout << " features_[20]="<. + * + ****************************************************************/ + +#include "ipa_room_segmentation/meanshift2d.h" +#include "ipa_room_segmentation/fast_math.h" + +void MeanShift2D::filter(const std::vector& data, std::vector& filtered_data, const double bandwidth, const int maximumIterations) +{ + // prepare mean shift set + std::vector mean_shift_set(data.size()); + filtered_data = data; + + // mean shift iteration + for (int iter=0; iter& filtered_data, std::vector& convergence_points, std::vector< std::vector >& convergence_sets, const double sensitivity) +{ + // cluster data according to convergence points + convergence_sets.resize(1, std::vector(1, 0)); + convergence_points.resize(1, filtered_data[0]); + for (int i=1; i<(int)filtered_data.size(); i++) + { + bool create_new_set = true; + for (int j=0; j<(int)convergence_points.size(); j++) + { + if (cv::norm(filtered_data[i]-convergence_points[j]) < sensitivity) + { + convergence_sets[j].push_back(i); + convergence_points[j] = (convergence_points[j]*(convergence_sets[j].size()-1.) + filtered_data[i]) / (double)convergence_sets[j].size(); // update mean of convergence point + create_new_set = false; + break; + } + } + if (create_new_set == true) + { + convergence_sets.push_back(std::vector(1, i)); + convergence_points.push_back(filtered_data[i]); + } + } +} + +cv::Vec2d MeanShift2D::findRoomCenter(const cv::Mat& room_image, const std::vector& room_cells, double map_resolution) +{ + // downsample data if too big + std::vector room_cells_sampled; + if (room_cells.size() > 1000) + { + const int factor = room_cells.size()/1000; + for (size_t i=0; i filtered_room_cells; + filter(room_cells_sampled, filtered_room_cells, bandwidth, 100); + + // take mean of filtering result in simple rooms, i.e. if no obstacles is located at the computed cell + cv::Scalar mean_coordinates = cv::mean(filtered_room_cells); + cv::Vec2d room_center(mean_coordinates[0], mean_coordinates[1]); + if (room_image.at(room_center[1], room_center[0]) == 255) + return room_center; + + // otherwise compute convergence sets of filtering results and return mean of largest convergence set + // determine convergence points + std::vector convergence_points; + std::vector< std::vector > convergence_sets; + computeConvergencePoints(filtered_room_cells, convergence_points, convergence_sets, 1./bandwidth*0.1); + + // select convergence point with largest point support + size_t max_index = 0; + size_t max_size = 0; + for (size_t i=0; i max_size) + { + max_size = convergence_sets[i].size(); + max_index = i; + } + } + return convergence_points[max_index]; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/morphological_segmentation.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/morphological_segmentation.cpp new file mode 100644 index 0000000..41266c1 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/morphological_segmentation.cpp @@ -0,0 +1,132 @@ +#include + +#include +#include + +MorphologicalSegmentation::MorphologicalSegmentation() +{ + +} + +void MorphologicalSegmentation::segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, + double room_area_factor_lower_limit, double room_area_factor_upper_limit) +{ + /*This segmentation algorithm does: + * 1. collect the map data + * 2. erode the map to extract contours + * 3. find the extracted contures and save them if they fullfill the room-area criterion + * 4. draw and fill the saved contoures in a clone of the map from 1. with a random colour + * 5. get the obstacle information from the original map and draw them in the clone from 4. + * 6. spread the coloured regions to the white Pixels + */ + + //make two map clones to work with + cv::Mat temporary_map_to_find_rooms = map_to_be_labeled.clone(); //map to find the rooms and for eroding + //**************erode temporary_map until last possible room found**************** + //erode map a specified amount of times + std::vector < std::vector > saved_contours; //saving variable for every contour that is between the upper and the lower limit + ROS_INFO("starting eroding"); + for (int counter = 0; counter < 73; counter++) + { + //erode the map one time + cv::Mat eroded_map; + cv::Point anchor(-1, -1); //needed for opencv erode + cv::erode(temporary_map_to_find_rooms, eroded_map, cv::Mat(), anchor, 1); + //save the more eroded map + temporary_map_to_find_rooms = eroded_map; + //Save the eroded map in a second map, which is used to find the contours. This is neccesarry, because + //the function findContours changes the given map and would make it impossible to work any further with it + cv::Mat contour_map = eroded_map.clone(); + //find Contours in the more eroded map + std::vector < std::vector > temporary_contours; //temporary saving-variable + //hierarchy saves if the contours are hole-contours: + //hierarchy[{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour} + //child-contour = 1 if it has one, = -1 if not, same for parent_contour + std::vector < cv::Vec4i > hierarchy; +#if CV_MAJOR_VERSION<=3 + cv::findContours(contour_map, temporary_contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE); +#else + cv::findContours(contour_map, temporary_contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_SIMPLE); +#endif + if (temporary_contours.size() != 0) + { + //check every contour if it fullfills the criteria of a room + for (int current_contour = 0; current_contour < temporary_contours.size(); current_contour++) + { //only take first level contours --> second level contours belong to holes and doesn't need to be looked at + if (hierarchy[current_contour][3] == -1) + { + //check if contour is large/small enough for a room + double room_area = map_resolution_from_subscription * map_resolution_from_subscription + * cv::contourArea(temporary_contours[current_contour]); + //subtract the area from the hole contours inside the found contour, because the contour area grows extremly large if it is a closed loop + for (int hole = 0; hole < temporary_contours.size(); hole++) + { + if (hierarchy[hole][3] == current_contour) //check if the parent of the hole is the current looked at contour + { + room_area -= map_resolution_from_subscription * map_resolution_from_subscription + * cv::contourArea(temporary_contours[hole]); + } + } + if (room_area_factor_lower_limit < room_area && room_area < room_area_factor_upper_limit) + { + //save contour for later drawing in map + saved_contours.push_back(temporary_contours[current_contour]); + //make region black if room found --> region doesn't need to be looked at anymore +#if CV_MAJOR_VERSION<=3 + cv::drawContours(temporary_map_to_find_rooms, temporary_contours, current_contour, cv::Scalar(0), CV_FILLED, 8, hierarchy, 2); +#else + cv::drawContours(temporary_map_to_find_rooms, temporary_contours, current_contour, cv::Scalar(0), cv::FILLED, 8, hierarchy, 2); +#endif + } + } + } + } + } + //*******************draw contures in new map*********************** + std::cout << "Segmentation Found " << saved_contours.size() << " rooms." << std::endl; + //draw filled contoures in new_map_to_draw_contours_ with random colour if this colour hasn't been used yet + cv::Mat new_map_to_draw_contours; //map for drawing the found contours + map_to_be_labeled.convertTo(segmented_map, CV_32SC1, 256, 0); + std::vector < cv::Scalar > already_used_coloures; //vector for saving the already used coloures + for (int idx = 0; idx < saved_contours.size(); idx++) + { + bool drawn = false; //checking-variable if contour has been drawn + int draw_counter = 0; //counter to exit loop if it gets into an endless-loop (e.g. when there are more rooms than possible) + do + { + draw_counter++; + cv::Scalar fill_colour(rand() % 52224 + 13056); + if (!contains(already_used_coloures, fill_colour) || draw_counter > 250) + { + //if colour is unique draw Contour in map +#if CV_MAJOR_VERSION<=3 + cv::drawContours(segmented_map, saved_contours, idx, fill_colour, CV_FILLED); +#else + cv::drawContours(segmented_map, saved_contours, idx, fill_colour, cv::FILLED); +#endif + already_used_coloures.push_back(fill_colour); //add colour to used coloures + drawn = true; + } + } while (!drawn); + } + //*************************obstacles*********************** + //get obstacle informations and draw them into the new map + ROS_INFO("starting getting obstacle information"); + for (int row = 0; row < map_to_be_labeled.rows; ++row) + { + for (int col = 0; col < map_to_be_labeled.cols; ++col) + { + //find obstacles = black pixels + if (map_to_be_labeled.at(row, col) == 0) + { + segmented_map.at(row, col) = 0; + } + } + } + ROS_INFO("drawn obstacles in map"); + //**************spread the colored region by making white pixel around a contour their color**************** + //spread the coloured regions to the white Pixels + wavefrontRegionGrowing(segmented_map); + ROS_INFO("filled white pixels in new map"); + +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/raycasting.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/raycasting.cpp new file mode 100644 index 0000000..74eac84 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/raycasting.cpp @@ -0,0 +1,194 @@ +#include + +LaserScannerRaycasting::LaserScannerRaycasting() +: precomputed_cos_(360), precomputed_sin_(360) +{ + double pi_to_rad = PI / 180.; + for (int angle = 0; angle < 360; angle++) + { + precomputed_cos_[angle] = std::cos(angle * pi_to_rad); + precomputed_sin_[angle] = std::sin(angle * pi_to_rad); + } +} + +void LaserScannerRaycasting::raycasting(const cv::Mat& map, const cv::Point& location, std::vector& distances) +{ +// cv::Mat test_map = map.clone(); + //Raycasting Algorithm. It simulates the laser measurment at the given location and returns the lengths + //of the simulated beams + double simulated_y, simulated_x, simulated_cos, simulated_sin; + double temporary_distance; + distances.resize(360, 0); + double delta_y, delta_x; + for (int angle = 0; angle < 360; angle++) + { + simulated_cos = precomputed_cos_[angle]; + simulated_sin = precomputed_sin_[angle]; + temporary_distance = 90000001; + for (double distance = 1; distance < 1000000; ++distance) + { + const int ny = location.y + simulated_sin * distance; + const int nx = location.x + simulated_cos * distance; + //make sure the simulated point isn't out of the boundaries of the map + if (ny < 0 || ny >= map.rows || nx < 0 || nx >= map.cols) + break; + if (map.at(ny, nx) == 0 && distance < temporary_distance) + { + temporary_distance = distance; +// cv::line(test_map, cv::Point(location.x, location.y), cv::Point(nx, ny), cv::Scalar(127), 1); + break; + } + } + if (temporary_distance > 90000000) + { + temporary_distance = 10; + } + distances[angle] = temporary_distance; + } + +// cv::circle(test_map, cv::Point(location.x, location.y), 3, cv::Scalar(50), CV_FILLED); +// cv::imshow("simulated angles", test_map); +// cv::waitKey(); +// return distances; +} + +void LaserScannerRaycasting::bresenham_raycasting(const cv::Mat& map, const cv::Point& location, std::vector& distances) +{ + distances.resize(360); + int y_destination, x_destination; + int double_y, double_x; + int dy, dx, ystep, xstep; + int y_current, x_current; + int y_start = location.y; + int x_start = location.x; + int error, previous_error; + bool hit_black_pixel; + //go trough every angle from 0:1:359 + for (int angle = 0; angle < 360; angle++) + { + //set destination Point and difference of the coordinates + y_destination = y_start + std::sin((double)angle * PI / 180.) * 1000; + x_destination = x_start + std::cos((double)angle * PI / 180.) * 1000; + dy = y_destination - y_start; + dx = x_destination - x_start; + //reset the went distance + hit_black_pixel = false; + y_current = 0; + x_current = 0; + //check for quadrant in which the line goes + if (dx < 0) + { + xstep = -1; + dx = -dx; + } + else + { + xstep = 1; + } + + if (dy < 0) + { + ystep = -1; + dy = -dy; + } + else + { + ystep = 1; + } + //set the doubled differences + double_y = 2 * dy; + double_x = 2 * dx; + if (double_y >= double_x) //first octant (0 <= slope <= 1) --> favour y + { + error = dy; + previous_error = error; + //go in direction of the current angle + do + { + y_current += ystep; + error += double_x; + if (error > double_y) + { + x_current += xstep; + error -= double_y; + //check Pixels that vary from bresenham line --> supercover line + if (error + previous_error < double_y) + { + if (map.at(y_start + y_current, x_start + x_current - xstep) == 0) + { + hit_black_pixel = true; + } + } + else if (error + previous_error > double_y) + { + if (map.at(y_start + y_current - ystep, x_start + x_current) == 0) + { + hit_black_pixel = true; + } + } + else + { + if (map.at(y_start + y_current, x_start + x_current - xstep) == 0 + || map.at(y_start + y_current - ystep, x_start + x_current)) + { + hit_black_pixel = true; + } + } + } + //check if next Pixel is a black Pixel + if (map.at(y_start + y_current, x_start + x_current) == 0) + { + hit_black_pixel = true; + } + previous_error = error; + } while (!hit_black_pixel); + distances[angle] = std::sqrt(std::pow(y_current, 2.0) + std::pow(x_current, 2.0)); + } + else // favour x + { + error = dx; + previous_error = error; + //go in direction of the current angle + do + { + x_current += xstep; + error += double_y; + if (error > double_x) + { + y_current += ystep; + error -= double_x; + //check Pixels that vary from bresenham line --> supercover line + if (error + previous_error < double_x) + { + if (map.at(y_start + y_current - ystep, x_start + x_current) == 0) + { + hit_black_pixel = true; + } + } + else if (error + previous_error > double_x) + { + if (map.at(y_start + y_current, x_start + x_current - xstep) == 0) + { + hit_black_pixel = true; + } + } + else + { + if (map.at(y_start + y_current, x_start + x_current - xstep) == 0 + || map.at(y_start + y_current - ystep, x_start + x_current)) + { + hit_black_pixel = true; + } + } + } + //check if next Pixel is a black Pixel + if (map.at(y_start + y_current, x_start + x_current) == 0) + { + hit_black_pixel = true; + } + previous_error = error; + } while (!hit_black_pixel); + distances[angle] = std::sqrt(std::pow(y_current, 2.0) + std::pow(x_current, 2.0)); + } + } +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/room_class.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/room_class.cpp new file mode 100644 index 0000000..f48d94c --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/room_class.cpp @@ -0,0 +1,257 @@ +#include + +Room::Room(int id_of_room) +{ + id_number_ = id_of_room; + //initial values for the area and perimeter + room_area_ = 0; + room_perimeter_ = 0; +} + +void Room::mergeRoom(Room& room_to_merge, double map_resolution) +{ + // member_points_, room_area_ + insertMemberPoints(room_to_merge.getMembers(), map_resolution); + + // neighbor_room_ids_ + const std::vector& neighbor_ids = room_to_merge.getNeighborIDs(); + +// std::cout << "neighbor_room_ids_:\n"; +// for (size_t i=0; i::iterator it = neighbor_room_ids_.begin(); it != neighbor_room_ids_.end();) + { + if (*it == id_number_ || *it == room_to_merge.getID()) + neighbor_room_ids_.erase(it); + else + ++it; + } + +// std::cout << "neighbor_room_ids_after_merge:\n"; +// for (size_t i=0; i::const_iterator it = room_to_merge.getNeighborStatistics().begin(); it != room_to_merge.getNeighborStatistics().end(); ++it) + { + if (it->first != id_number_) + { + if (neighbor_room_statistics_.find(it->first) != neighbor_room_statistics_.end()) + neighbor_room_statistics_[it->first] += it->second; + else + neighbor_room_statistics_[it->first] = it->second; + } + } + neighbor_room_statistics_.erase(room_to_merge.getID()); +} + +//function to add a Point to the Room +int Room::insertMemberPoint(cv::Point new_member, double map_resolution) +{ + if (!contains(member_points_, new_member)) + { + member_points_.push_back(new_member); + room_area_ += map_resolution * map_resolution; + return 0; + } + return 1; +} + +//function to add a few Points +int Room::insertMemberPoints(const std::vector& new_members, double map_resolution) +{ + for (size_t point = 0; point < new_members.size(); point++) + { + if (!contains(member_points_, new_members[point])) + { + member_points_.push_back(new_members[point]); + } + } + room_area_ += map_resolution * map_resolution * new_members.size(); // todo: theoretically might count too much area if member_points_ and new_members are not disjunct + return 0; +} + +//function to add a neighbor to the room statistics +void Room::addNeighbor(int new_neighbor_id) +{ + if (neighbor_room_statistics_.find(new_neighbor_id) == neighbor_room_statistics_.end()) + neighbor_room_statistics_[new_neighbor_id] = 1; + else + neighbor_room_statistics_[new_neighbor_id]++; +} + +//function to add a neighbor to the Room +int Room::addNeighborID(int new_neighbor_id) +{ + if (!contains(neighbor_room_ids_, new_neighbor_id)) + { + neighbor_room_ids_.push_back(new_neighbor_id); + return 0; + } + return 1; +} + +//function to get how many neighbors this room has +int Room::getNeighborCount() +{ + return neighbor_room_ids_.size(); +} + +std::map& Room::getNeighborStatistics() +{ + return neighbor_room_statistics_; +} + +void Room::getNeighborStatisticsInverse(std::map< int,int,std::greater >& neighbor_room_statistics_inverse) +{ + //std::map< int,int,std::greater > neighbor_room_statistics_inverse; // common border length, room_id + for (std::map::iterator it=neighbor_room_statistics_.begin(); it!=neighbor_room_statistics_.end(); ++it) + neighbor_room_statistics_inverse[it->second] = it->first; +} + +int Room::getNeighborWithLargestCommonBorder(bool exclude_wall) +{ + if (neighbor_room_statistics_.size() == 0) + return 0; + + std::map< int,int,std::greater > neighbor_room_statistics_inverse; // common border length, room_id + for (std::map::iterator it=neighbor_room_statistics_.begin(); it!=neighbor_room_statistics_.end(); ++it) + neighbor_room_statistics_inverse[it->second] = it->first; + + if (exclude_wall == true && neighbor_room_statistics_inverse.begin()->second==0 && neighbor_room_statistics_inverse.size() > 1) + { + std::map::iterator it = neighbor_room_statistics_inverse.begin(); + it++; + return it->second; + } + + return neighbor_room_statistics_inverse.begin()->second; +} + +double Room::getPerimeterRatioOfXLargestRooms(const int number_rooms) +{ + if (neighbor_room_statistics_.size() == 0) + return 0; + + std::map< int,int,std::greater > neighbor_room_statistics_inverse; // common border length, room_id + for (std::map::iterator it=neighbor_room_statistics_.begin(); it!=neighbor_room_statistics_.end(); ++it) + neighbor_room_statistics_inverse[it->second] = it->first; + + int counter = 0; + double value = 0.; + for (std::map::iterator it=neighbor_room_statistics_inverse.begin(); it!=neighbor_room_statistics_inverse.end() && counterfirst; + if (it->second != 0) + counter++; + } + + return value/getPerimeter(); +} + +double Room::getWallToPerimeterRatio() +{ + double value = 0.; + if (neighbor_room_statistics_.find(0) != neighbor_room_statistics_.end()) + value = neighbor_room_statistics_[0]/getPerimeter(); + + return value; +} + +std::vector& Room::getNeighborIDs() +{ + return neighbor_room_ids_; +} + +//function to get the area of this room, which has been set previously +double Room::getArea() +{ + if (room_area_ != 0) + { + return room_area_; + } + std::cout << "Warning: Room Area hasn't been set for this room." << std::endl; + return -1; +} + +//function to get the perimeter of this room, which has been set previously +double Room::getPerimeter() +{ +// if (room_perimeter_ != 0) +// { +// return room_perimeter_; +// } +// std::cout << "Warning: Room Perimeter hasn't been set for this room." << std::endl; + room_perimeter_ = 0.; + for (std::map::iterator it=neighbor_room_statistics_.begin(); it!=neighbor_room_statistics_.end(); ++it) + room_perimeter_ += it->second; + + return room_perimeter_; +} + +//function to get the ID number of this room +int Room::getID() const +{ + return id_number_; +} + +cv::Point Room::getCenter() +{ + cv::Scalar center = cv::mean(member_points_); + return cv::Point(center[0], center[1]); +} + +//function to get the Members of this room +const std::vector& Room::getMembers() +{ + if (member_points_.size() == 0) + { + std::cout << "Warning: This room has no members." << std::endl; + } + return member_points_; +} + +//This function sets the room ID to a different value. This is useful for merging different rooms together. +int Room::setRoomId(int new_value, cv::Mat& map) +{ + for (int y = 0; y < map.rows; y++) + { + for (int x = 0; x < map.cols; x++) + { + if (map.at(y, x) == id_number_) + { + map.at(y, x) = new_value; + } + } + } + id_number_ = new_value; + return 0; +} + +//function to set the area of this room +int Room::setArea(double room_area) +{ + room_area_ = room_area; + return 0; +} + +//function to set the perimeter of this room +int Room::setPerimeter(double room_perimeter) +{ + room_perimeter_ = room_perimeter; + return 0; +} + +bool sortRoomsAscending(Room a, Room b) +{ + return (a.getArea() < b.getArea()); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/segmentation_tester.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/segmentation_tester.cpp new file mode 100644 index 0000000..3c5d571 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/segmentation_tester.cpp @@ -0,0 +1,208 @@ +#include + +#include + +#include +#include + +#include + + +int main() +{ + std::string package_path = ros::package::getPath("ipa_room_segmentation"); + std::string map_path = package_path + "/common/files/test_maps/"; + + std::vector map_names; +// map_names.push_back("office_b.png"); + map_names.push_back("office_e.png"); +// map_names.push_back("NLB.png"); + map_names.push_back("lab_ipa.png"); + map_names.push_back("NLB_furnitures.png"); +// map_names.push_back("office_e_furnitures.png"); +// map_names.push_back("lab_c_scan_furnitures.png"); + + std::vector maps(map_names.size()); + + for(size_t i = 0; i < map_names.size(); ++i) + { + cv::Mat map = cv::imread(map_path + map_names[i], 0); + + for(unsigned int u = 0; u < map.rows; ++u) + { + for(unsigned int v = 0; v < map.cols; ++v) + { + if(map.at(u,v) < 250) + { + map.at(u,v) = 0; + } + else + { + map.at(u,v) = 255; + } + } + } + +// cv::imshow("test", map); +// cv::waitKey(); + + maps[i] = map.clone(); + } + + std::vector possible_labels(3); // vector that stores the possible labels that are drawn in the training maps. Order: room - hallway - doorway + possible_labels[0] = 77; + possible_labels[1] = 115; + possible_labels[2] = 179; + + // strings that stores the path to the saving files + std::string conditional_weights_path = package_path + "/common/files/classifier_models/conditional_field_weights.txt"; + std::string boost_file_path = package_path + "/common/files/classifier_models/"; + + // optimal result saving path + std::string conditional_weights_optimal_path = package_path + "/common/files/optimal_vrf_res/conditional_field_weights.txt"; + std::string boost_file_optimal_path = package_path + "/common/files/optimal_vrf_res/"; + + // load the training maps + cv::Mat training_map; + std::vector training_maps; + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr52.png", 0); + training_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr101.png", 0); + training_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_intel.png", 0); + training_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_d_furniture.png", 0); + training_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_ipa.png", 0); + training_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_NLB_furniture.png", 0); + training_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_e.png", 0); + training_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_h.png", 0); + training_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_c_furnitures.png", 0); + training_maps.push_back(training_map); + // load the voronoi maps + std::vector voronoi_maps; + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr52_voronoi.png", 0); + voronoi_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr101_voronoi.png", 0); + voronoi_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_intel_voronoi.png", 0); + voronoi_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_d_furnitures_voronoi.png", 0); + voronoi_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_ipa_voronoi.png", 0); + voronoi_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/NLB_voronoi.png", 0); + voronoi_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_e_voronoi.png", 0); + voronoi_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_h_voronoi.png", 0); + voronoi_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_c_furnitures_voronoi.png", 0); + voronoi_maps.push_back(training_map); + // load the voronoi-nodes maps + std::vector voronoi_node_maps; + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr52_voronoi_nodes.png", 0); + voronoi_node_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr101_voronoi_nodes.png", 0); + voronoi_node_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_intel_voronoi_nodes.png", 0); + voronoi_node_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_d_furnitures_voronoi_nodes.png", 0); + voronoi_node_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_ipa_voronoi_nodes.png", 0); + voronoi_node_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/NLB_voronoi_nodes.png", 0); + voronoi_node_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_e_voronoi_nodes.png", 0); + voronoi_node_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_h_voronoi_nodes.png", 0); + voronoi_node_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_c_furnitures_voronoi_nodes.png", 0); + voronoi_node_maps.push_back(training_map); + // load the original maps + std::vector original_maps; + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/Fr52_original.png", 0); + original_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/Fr101_original.png", 0); + original_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/lab_intel_original.png", 0); + original_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/lab_d_furnitures_original.png", 0); + original_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/lab_ipa_original.png", 0); + original_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/NLB_original.png", 0); + original_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/office_e_original.png", 0); + original_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/office_h_original.png", 0); + original_maps.push_back(training_map); + training_map = cv::imread(package_path + "/common/files/training_maps/voronoi_random_field_training/original_maps/lab_c_furnitures_original.png", 0); + original_maps.push_back(training_map); + + std::cout << training_maps.size() << " " << voronoi_maps.size() << " " << voronoi_node_maps.size() << " " << original_maps.size() << std::endl; +// for(size_t i = 0; i < training_maps.size(); ++i) +// { +// cv::imshow("training_map", training_maps[i]); +// cv::imshow("voronoi_map", voronoi_maps[i]); +// cv::imshow("nodes", voronoi_node_maps[i]); +// cv::imshow("original_maps", original_maps[i]); +// cv::waitKey(); +// } + + double map_resolution = 0.05; + double room_lower_limit_voronoi_ = 1.53; //1.53; + double room_upper_limit_voronoi_ = 1000000.; //120.0; + + std::vector door_points; + + VoronoiRandomFieldSegmentation segmenter(false, false); + +// segmenter.trainAlgorithms(training_maps, voronoi_maps, voronoi_node_maps, original_maps, possible_labels, conditional_weights_path, boost_file_path); + + for(size_t i = 0; i < map_names.size(); ++i) + { + segmenter.segmentMap(maps[i], maps[i], 5, 50, 4, possible_labels, 7, true, conditional_weights_path, boost_file_path, 9000, map_resolution, room_lower_limit_voronoi_, room_upper_limit_voronoi_, 12.5, &door_points); + + std::cout << "number of doorpoints: " << door_points.size() << std::endl; + door_points.clear(); +// cv::imshow("res", maps[i]); +// cv::waitKey(); + } + +// segmenter.testFunc(maps[0]); +// +// // Do several training steps and segment different maps to find the best training-result. This is done by checking the complete +// // crf-potentials. +// +// double best_potential = 0; +// +// for(size_t training = 1; training <= 10; ++training) +// { +// if(training != 1) +// segmenter.trainAlgorithms(training_maps, voronoi_maps, voronoi_node_maps, original_maps, possible_labels, conditional_weights_path, boost_file_path); +// +// double current_potential = 0; +// +// for(size_t i = 0; i < 6; ++i) +// { +// cv::Mat map = maps[i].clone(); +// +// current_potential += segmenter.segmentMap(map, map, 7, 50, 5, possible_labels, 7, true, conditional_weights_path, boost_file_path, 9000, map_resolution, room_lower_limit_voronoi_, room_upper_limit_voronoi_); // 7, 50, 4, 5 +// } +// +// std::cout << std::endl << "********** Step: " << training << ". current_potential: " << current_potential << std::endl; +// +// if(current_potential > best_potential) +// { +// best_potential = current_potential; +// segmenter.testFunc(conditional_weights_optimal_path, boost_file_optimal_path); +// } +// } + + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_features.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_features.cpp new file mode 100644 index 0000000..5292cb7 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_features.cpp @@ -0,0 +1,1052 @@ +#include + +#define PI 3.14159265 + +// structure to perform breadth-first-search to detect minimal loops + +//get the number of implemented features. Needs to be changed to the new value if you change it +int voronoiRandomFieldFeatures::getFeatureCount() +{ + return 28; +} + +// reset the saved features +void voronoiRandomFieldFeatures::resetCachedData() +{ + features_.clear(); + features_.resize(getFeatureCount(), 0.); + features_computed_.clear(); + features_computed_.resize(getFeatureCount(), false); + + polygon_.clear(); + polygon_computed_ = false; + + centroid_computed_ = false; +} + +//**********************see features.h for a better overview of what is calculated and needed************************* +//Method for calculating the feature for the classifier +double voronoiRandomFieldFeatures::getFeature(const std::vector& beams, const std::vector& angles, + const std::vector& clique_points, std::vector& labels_for_clique_points, + std::vector& possible_labels, cv::Point point, const int feature) +{ + switch (feature) + { + case 1: + return calcFeature1(beams); + case 2: + return calcFeature2(beams); + case 3: + return calcFeature3(beams, 30); + case 4: + return calcFeature4(beams, 30); + case 5: + return calcFeature5(beams); + case 6: + return calcFeature6(beams); + case 7: + return calcFeature7(beams); + case 8: + return calcFeature8(beams, angles); + case 9: + return calcFeature9(beams, angles); + case 10: + return calcFeature10(beams); + case 11: + return calcFeature11(beams); + case 12: + return calcFeature12(beams); + case 13: + return calcFeature13(beams); + case 14: + return calcFeature14(beams, angles, point); + case 15: + return calcFeature15(beams, angles, point); + case 16: + return calcFeature16(beams, angles, point); + case 17: + return calcFeature17(beams, angles, point); + case 18: + return calcFeature18(beams, angles, point); + case 19: + return calcFeature19(beams, angles, point); + case 20: + return calcFeature20(beams, angles, point); + case 21: + return calcFeature21(beams, angles, point); + case 22: + return calcFeature22(beams); + case 23: + return calcFeature23(beams); + case 24: + return calcFeature24(clique_points); + case 25: + return calcFeature25(possible_labels, labels_for_clique_points); + case 26: + return calcFeature26(beams, 22); + case 27: + return calcFeature27(beams, angles, 8, point); + case 28: + return calcFeature28(beams, 5); + default: + return -1; + } +} + +void voronoiRandomFieldFeatures::getFeatures(const std::vector& beams, const std::vector& angles, const std::vector& clique_points, std::vector& labels_for_clique_points, + std::vector& possible_labels, cv::Point point, std::vector& features) +{ + // reset internal data storage + resetCachedData(); + + // compute features + calcFeature1(beams); + calcFeature2(beams); + calcFeature3(beams, 30); + calcFeature4(beams, 30); + calcFeature5(beams); + calcFeature6(beams); + calcFeature7(beams); + calcFeature8(beams, angles); + calcFeature9(beams, angles); + calcFeature10(beams); + calcFeature11(beams); + calcFeature12(beams); + calcFeature13(beams); + calcFeature14(beams, angles, point); + calcFeature15(beams, angles, point); + calcFeature16(beams, angles, point); + calcFeature17(beams, angles, point); + calcFeature18(beams, angles, point); + calcFeature19(beams, angles, point); + calcFeature20(beams, angles, point); + calcFeature21(beams, angles, point); + calcFeature22(beams); + calcFeature23(beams); + calcFeature24(clique_points); + calcFeature25(possible_labels, labels_for_clique_points); + calcFeature26(beams, 22); + calcFeature27(beams, angles, 8, point); + calcFeature28(beams, 5); + + // write features + features.clear(); + features = features_; +} + +//Calculation of Feature 1: average difference of the beams +double voronoiRandomFieldFeatures::calcFeature1(const std::vector& beams) +{ + if (features_computed_[0]) + return features_[0]; + + double differences_sum = 0; + for (int b = 0; b < beams.size() - 1; b++) + { + differences_sum += abs(beams[b] - beams[b + 1]); + } + //get the difference between the last and the first beam + differences_sum += abs(beams[beams.size() - 1] - beams[0]); + + // set the cache of the calculated feature + features_computed_[0] = true; + features_[0] = (differences_sum / (double)beams.size()); + + //calculate the average difference and return it + return features_[0]; +} + +//Calculation of Feature 2: standard deviation of the difference of the beams +double voronoiRandomFieldFeatures::calcFeature2(const std::vector& beams) +{ + if (features_computed_[1]) + return features_[1]; + + double mean; //mean-value of the difference, calculated with calcFeature1 + double sum = 0; //helping variable + //initialize + mean = calcFeature1(beams); + //calculate deviation + for (int b = 0; b < beams.size(); b++) + { + sum += std::pow((beams[b] - mean), 2.0); + } +// std::cout << "f2: (" << sum << ") "; + sum = sum / (double) (beams.size() - 1); + + features_computed_[1] = true; + features_[1] = std::sqrt(sum); + + return features_[1]; +} + +//Calculation of Feature 3: average difference of the to a max_value limited beams +double voronoiRandomFieldFeatures::calcFeature3(const std::vector& beams, double maxval) +{ + if (features_computed_[2]) + return features_[2]; + + double differences_sum = 0; + double val1, val2; + for (int b = 0; b < beams.size()-1; b++) + { + //reset saved beamlenghts + val1 = maxval; + val2 = maxval; + if (beams[b] < maxval) + { + val1 = beams[b]; + } + if (beams[b + 1] < maxval) + { + val2 = beams[b + 1]; + } + differences_sum += abs(val1 - val2); + } + //get the difference between the last and the first beam + val1 = maxval; + val2 = maxval; + if (beams[beams.size()-1] < maxval) + { + val1 = beams[beams.size()-1]; + } + if (beams[0] < maxval) + { + val2 = beams[0]; + } + differences_sum += abs(val1 - val2); + //calculate the average difference and return it + features_computed_[2] = true; + features_[2] = (differences_sum / (double)beams.size()); + + return features_[2]; +} + +//Calculation of Feature 4: The Standard Deviation of the difference of limited beams +double voronoiRandomFieldFeatures::calcFeature4(const std::vector& beams, double maxval) +{ + if (features_computed_[3]) + return features_[3]; + + double mean; //mean-value of the difference, calculated with calcFeature1 + double v, w, difference, sum; //helping variables + //initialise + mean = calcFeature3(beams, maxval); + sum = 0; + //calculate deviation + for (int b = 0; b < beams.size() - 1; b++) + { + //reset value of current beam + v = maxval; + w = maxval; + if (beams[b] < maxval) + { + v = beams[b]; + } + if (beams[b + 1] < maxval) + { + w = beams[b + 1]; + } + difference = abs(v - w); + sum += std::pow((difference - mean), 2.0); + } + //add the difference from last to first point + v = maxval; + w = maxval; + if (beams[beams.size()-1] < maxval) + { + v = beams[beams.size()-1]; + } + if (beams[0] < maxval) + { + w = beams[0]; + } + difference = abs(v - w); + sum += std::pow((difference - mean), 2.0); + sum = sum / (beams.size() - 1); + + features_computed_[3] = true; + features_[3] = std::sqrt(sum); + + return features_[3]; +} + +//Calculation of Feature 5: The average beamlength +double voronoiRandomFieldFeatures::calcFeature5(const std::vector& beams) +{ + if (features_computed_[4]) + return features_[4]; + + double sum = 0; + //get the sum of the beamlengths + for (int b = 0; b < beams.size(); b++) + { + sum += beams[b]; + } + //divide by number of beams and return value + features_computed_[4] = true; + features_[4] = (sum / (double)beams.size()); + + return features_[4]; +} + +//Calculation of Feature 6: The standard deviation of the beamlenghts +double voronoiRandomFieldFeatures::calcFeature6(const std::vector& beams) +{ + if (features_computed_[5]) + return features_[5]; + + double mean; //mean-value of the beamlenghts, calculated with calcFeature5 + double sum, res; //helping variables + //initialize + mean = calcFeature5(beams); + sum = 0; + //calculate deviation + for (int b = 0; b < beams.size(); b++) + { + sum += std::pow((beams[b] - mean), 2.0); + } + res = sum / (double)(beams.size() - 1); +// std::cout << "f6: (" << res << ") "; + + features_computed_[5] = true; + features_[5] = std::sqrt(res); + + return features_[5]; +} + +//Calculation of Feature 7: The number of gaps between the beams, a gap is when the difference of the lenghts is larger +//than a specified threshold +double voronoiRandomFieldFeatures::calcFeature7(const std::vector& beams) +{ + if (features_computed_[6]) + return features_[6]; + + double threshold = 10; //[pixel], see "Semantic labeling of places" + double gaps = 0; + for (int b = 0; b < beams.size() - 1; b++) + { + if (abs(beams[b] - beams[b + 1]) > threshold) + { + gaps++; + } + } + if (abs(beams[beams.size() - 1] - beams[0]) > threshold) + { + gaps++; + } + features_computed_[6] = true; + features_[6] = gaps; + + return gaps; +} + +//Calculation of feature 8: The distance between two Endpoints of local minima of beamlenghts +double voronoiRandomFieldFeatures::calcFeature8(const std::vector& beams, const std::vector& angles) +{ + if (features_computed_[7]) + return features_[7]; + + //Remark: angles are relatively to the robot + double length_1 = 10000000; + double length_2 = 10000000; + double angle_1 = angles[0], angle_2 = angles[1]; + double x_1, y_1, x_2, y_2; + //get the two Points corresponding to minimal beamlength + for (int b = 0; b < beams.size(); b++) + { + if (beams[b] < length_1 && beams[b] > length_2) + { + length_1 = beams[b]; + angle_1 = angles[b]; + } + else if (beams[b] < length_2) + { + length_2 = beams[b]; + angle_2 = angles[b]; + } + } + //calculate the x/y-values of the Points + x_1 = std::cos(angle_1 * PI / 180) * length_1; + y_1 = std::sin(angle_1 * PI / 180) * length_1; + x_2 = std::cos(angle_2 * PI / 180) * length_2; + y_2 = std::sin(angle_2 * PI / 180) * length_2; + + //calculate and return the euclidean distance between the Points + features_computed_[7] = true; + features_[7] = std::sqrt(std::pow((x_1 - x_2), 2) + std::pow((y_1 - y_2), 2)); + + return features_[7]; +} + +//Calculate Feature 9: The Angle between two Endpoints of local minima of beamlengths +double voronoiRandomFieldFeatures::calcFeature9(const std::vector& beams, const std::vector& angles) +{ + if (features_computed_[8]) + return features_[8]; + + //Remark: angles are relatively to the robot + double length_1 = beams[0]; + double length_2 = beams[1]; + double angle_1 = angles[0]; + double angle_2 = angles[1]; + double x_1, y_1, x_2, y_2; + //get the two Points corresponding to minimal beamlengths + for (int b = 0; b < beams.size(); b++) + { + if (beams[b] < length_1 && beams[b] > length_2) + { + length_1 = beams[b]; + angle_1 = angles[b]; + } + else if (beams[b] <= length_2) + { + length_2 = beams[b]; + angle_2 = angles[b]; + } + } + //calculate the x/y-values of the Points + double pi_to_degree = PI / 180; + x_1 = std::cos(angle_1 * pi_to_degree) * length_1; + y_1 = std::sin(angle_1 * pi_to_degree) * length_1; + x_2 = std::cos(angle_2 * pi_to_degree) * length_2; + y_2 = std::sin(angle_2 * pi_to_degree) * length_2; + //calculate and return the angle between the Points + double coordvec = (x_1 * x_2) + (y_1 * y_2); + double absvec = (length_1 * length_2); + const double quot = std::max(-1., std::min(1., coordvec / absvec)); + // if the raycasting-algorithm only found zero-beams return 0 + features_computed_[8] = true; + features_[8] = std::acos(quot) * 180.0 / PI; + + return features_[8]; +} + +//Calculate Feature 10: The average of the relations (b_i/b_(i+1)) between two neighboring beams +double voronoiRandomFieldFeatures::calcFeature10(const std::vector& beams) +{ + if (features_computed_[9]) + return features_[9]; + + double length_1, length_2; + double sum_relation = 0; + //calculate the relations and add it to the sum + for (int b = 0; b < beams.size() - 1; b++) + { + length_1 = beams[b]; + length_2 = beams[b + 1]; + if (length_1 < length_2) + { + sum_relation += (length_1 / length_2); + } + else + { + sum_relation += (length_2 / length_1); + } + } + length_1 = beams[beams.size() - 1]; + length_2 = beams[0]; + if (length_1 < length_2) + { + sum_relation += (length_1 / length_2); + } + else + { + sum_relation += (length_2 / length_1); + } + //calculate and return the average of the relations + features_computed_[9] = true; + features_[9] = (sum_relation / (double)beams.size()); + + return features_[9]; +} + +//Calculate Feature 11: The standard deviation of the relations (b_i/b_(i+1)) between two neighboring beams +double voronoiRandomFieldFeatures::calcFeature11(const std::vector& beams) +{ + if (features_computed_[10]) + return features_[10]; + + //calculate the mean of the relations by using Feature 10 + double mean = calcFeature10(beams); + double sum = 0; + //calculate the standard_deviation + for (int b = 0; b < beams.size(); b++) + { + sum += std::pow((beams[b] - mean), 2); + } + sum = sum / (double)(beams.size() - 1); + features_computed_[10] = true; + features_[10] = std::sqrt(sum); + + return features_[10]; +} + +//Calculate Feature 12: The number of relative gaps. A relative gap is when the relation (b_i/b_(i+1)) is smaller than a +//specified threshold +double voronoiRandomFieldFeatures::calcFeature12(const std::vector& beams) +{ + if (features_computed_[11]) + return features_[11]; + + double threshold = 0.85; + double gaps = 0; + double length_1, length_2; + for (int b = 0; b < beams.size() - 1; b++) + { + length_1 = beams[b]; + length_2 = beams[b + 1]; + if (length_1 < length_2) + { + if ((length_1 / length_2) < threshold) + { + gaps++; + } + } + else + { + if ((length_2 / length_1) < threshold) + { + gaps++; + } + } + } + length_1 = beams[0]; + length_2 = beams[beams.size() - 1]; + if (length_1 < length_2) + { + if ((length_1 / length_2) < threshold) + { + gaps++; + } + } + else + { + if ((length_2 / length_1) < threshold) + { + gaps++; + } + } + features_computed_[11] = true; + features_[11] = gaps; + + return features_[11]; +} + +//Calculate Feature 13: The Kurtosis, which is given by: +//(Sum((x - mean)^4))/sigma^4) - 3, where mean is the mean-value and sigma is the standard deviation +double voronoiRandomFieldFeatures::calcFeature13(const std::vector& beams) +{ + if (features_computed_[12]) + return features_[12]; + + double sum = 0; + //get the standard deviation and the mean by using previous functions + double sigma = calcFeature6(beams); + double mean = calcFeature5(beams); + //calculate the Kurtosis + for (int b = 0; b < beams.size(); b++) + { + sum += std::pow((beams[b] - mean), 4); + } + features_computed_[12] = true; + features_[12] = ((sum / std::pow(sigma, 4)) - 3); + + return features_[12]; +} + +//Calc Feature 22: The average of the beam lengths divided by the maximal length +double voronoiRandomFieldFeatures::calcFeature22(const std::vector& beams) +{ + if (features_computed_[21]) + return features_[21]; + + double sum = 0; + double maxval = 0; + //find maximal value of the beams + for (int b = 0; b < beams.size(); b++) + { + if (beams[b] > maxval) + { + maxval = beams[b]; + } + } + //get the average of the beams/maxval + //get the sum of the beamlengths + for (int b = 0; b < beams.size(); b++) + { + sum += (beams[b] / maxval); + } + //divide by number of beams and return value + features_computed_[21] = true; + features_[21] = (sum / (double)beams.size()); + + return features_[21]; +} + +//Calculate Feature 23: The standard deviation of the beam lengths divided by the maximal length +double voronoiRandomFieldFeatures::calcFeature23(const std::vector& beams) +{ + if (features_computed_[22]) + return features_[22]; + + double sum = 0; + double mean = calcFeature22(beams); + double maxval = 0; + //find maximal value of the beams + for (int b = 0; b < beams.size(); b++) + { + if (beams[b] > maxval) + { + maxval = beams[b]; + } + } + //get the standard deviation + for (int b = 0; b < beams.size(); b++) + { + sum += std::pow(((beams[b] / maxval) - mean), 2); + } + sum = sum / (double) (beams.size() - 1); + + features_computed_[22] = true; + features_[22] = std::sqrt(sum); + + return features_[22]; +} + +//*******************Features based on a polygonal approximation of the beams******************* +//Calculate the polygonal approximation +std::vector voronoiRandomFieldFeatures::calcPolygonalApprox(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (polygon_computed_ == true) + return polygon_; + + polygon_.clear(); + double x, y; + //calculate the endpoint for every beam and add it to the polygon + for (int b = 0; b < beams.size(); b++) + { //calculate the x/y-values + //Remark: angles in radian + double pi_to_degree = PI / 180; + x = std::cos(angles[b] * pi_to_degree) * beams[b]; + y = std::sin(angles[b] * pi_to_degree) * beams[b]; + polygon_.push_back(cv::Point(location.x + x, location.y + y)); + } + + polygon_computed_ = true; + return polygon_; +} + +//Calculate the centroid of the polygonal approximation +cv::Point voronoiRandomFieldFeatures::calcCentroid(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (centroid_computed_ == true) + return centroid_; + + double x, y; + double sumX = 0; + double sumY = 0; + //get every Point by using the polygonal approximation + std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); + for (int p = 0; p < polygon.size(); p++) + { + sumX += polygon[p].x; + sumY += polygon[p].y; + } + + centroid_.x = sumX / (double) polygon.size(); + centroid_.y = sumY / (double) polygon.size(); + centroid_computed_ = true; + return centroid_; +} + +//Calculate Feature 14: The area of the polygonal approximation of the beams +double voronoiRandomFieldFeatures::calcFeature14(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[13]) + return features_[13]; + + double map_resolution = 0.05000; + std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); + + features_computed_[13] = true; + features_[13] = map_resolution * map_resolution * cv::contourArea(polygon); + + return features_[13]; +} + +//Calculate Feature 15: The perimeter of the polygonal approximation of the beams +double voronoiRandomFieldFeatures::calcFeature15(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[14]) + return features_[14]; + + std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); + features_computed_[14] = true; + features_[14] = cv::arcLength(polygon, true); + + return features_[14]; +} + +//Calculate Feature 16: The quotient of area divided by perimeter of the polygonal approximation of the beams +double voronoiRandomFieldFeatures::calcFeature16(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[15]) + return features_[15]; + + features_computed_[15] = true; + features_[15] = (calcFeature14(beams, angles, location) / calcFeature15(beams, angles, location)); + + return features_[15]; +} + +//Calculate Feature 17: The average of the distance between the centroid and the boundary-Points of the polygonal approximation +double voronoiRandomFieldFeatures::calcFeature17(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[16]) + return features_[16]; + + std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); + cv::Point centroid = calcCentroid(beams, angles, location); + double sum = 0; + double delta_x, delta_y; + //calculate the distance between the centroid and the boundary and add it to the sum + for (int p = 0; p < polygon.size(); p++) + { + delta_x = polygon[p].x - centroid.x; + delta_y = polygon[p].y - centroid.y; + sum += std::sqrt(std::pow(delta_x, 2) + std::pow(delta_y, 2)); + } + //calculate and return the average of the distances + features_computed_[16] = true; + features_[16] = (sum / (double) polygon.size()); + + return features_[16]; +} + +//Calculate Feature 18: The standard deviation of the distance between the centroid and the boundary-Points +double voronoiRandomFieldFeatures::calcFeature18(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[17]) + return features_[17]; + + std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); + cv::Point centroid = calcCentroid(beams, angles, location); + //get the mean of the distances by using Feature 17 + double mean = calcFeature17(beams, angles, location); + double current_distance; + double sum = 0; + //calculate the standard_deviation + for (int p = 0; p < polygon.size(); p++) + { + double delta_x = polygon[p].x - centroid.x; + double delta_y = polygon[p].y - centroid.y; + current_distance = std::sqrt(std::pow(delta_x, 2) + std::pow(delta_y, 2)); + sum += std::pow(current_distance - mean, 2); + } + sum = sum / (double) (beams.size() - 1); + + features_computed_[17] = true; + features_[17] = std::sqrt(sum); + + return features_[17]; +} + +//Calculate Feature 19: The half major axis of the bounding ellipse, calculated with openCV +double voronoiRandomFieldFeatures::calcFeature19(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[18]) + return features_[18]; + + std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); + cv::Point centroid = calcCentroid(beams, angles, location); + cv::Point2f points[4]; + std::vector < cv::Point2f > edge_points; + double distance = 0; + //saving-variable for the Points of the ellipse + cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(polygon)); + //get the edge-points of the ellipse + ellipse.points(points); + //saving the Points of the ellipse in a vector + for (int i = 0; i < 4; i++) + { + edge_points.push_back(points[i]); + } + //calculate the distance between the Points and take the largest one + for (int p = 0; p < edge_points.size(); p++) + { + for (int np = 0; np < edge_points.size(); np++) + { + if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) > distance) + { + distance = std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)); + } + } + } + + features_computed_[18] = true; + features_[18] = (distance / 2); + + return features_[18]; +} + +//Calculate Feature 20: The half minor axis of the bounding ellipse, calculated with openCV +double voronoiRandomFieldFeatures::calcFeature20(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[19]) + return features_[19]; + + std::vector < cv::Point > polygon = calcPolygonalApprox(beams, angles, location); + cv::Point2f points[4]; + std::vector < cv::Point2f > edge_points; + double distance = 1000000; + //saving-variable for the Points of the ellipse + cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(polygon)); + //get the edge-points of the ellipse + ellipse.points(points); + //saving the Points of the ellipse in a vector + for (int i = 0; i < 4; i++) + { + edge_points.push_back(points[i]); + } + //calculate the distance between the Points and take the largest one + for (int p = 0; p < edge_points.size(); p++) + { + for (int np = 0; np < edge_points.size(); np++) + { + if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) < distance + && std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)) > 0 && p != np) + { + distance = std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + std::pow((edge_points[p].y - edge_points[np].y), 2)); + } + } + } + + features_computed_[19] = true; + features_[19] = (distance / 2); + + return features_[19]; +} + +//Calculate Feature 21: The Quotient of half the major axis and half the minor axis +double voronoiRandomFieldFeatures::calcFeature21(const std::vector& beams, const std::vector& angles, cv::Point location) +{ + if (features_computed_[20]) + return features_[20]; + + features_computed_[20] = true; + features_[20] = (calcFeature19(beams, angles, location) / calcFeature20(beams, angles, location)); + + return features_[20]; +} + +// Calculate Feature 24: The curvature of the voronoi graph approximated by the points of the clique. The curvature of a graph +// is given by k = 1/r, with r as the radius of the approximate circle at this position. +double voronoiRandomFieldFeatures::calcFeature24(std::vector clique_points) +{ + if (features_computed_[23]) + return features_[23]; + + float radius = 0; + cv::Point2f center; + + // Get the circle that approaches the points of the clique. If the clique has more than three neighbors it is a voronoi-node + // clique, in which case the mean of the curvatures gets calculated. + if(clique_points.size() <= 3) + { + // get the enclosing circle together with the radius of it + cv::minEnclosingCircle(clique_points, center, radius); + } + else + { + // go trough each 3-point combination and calculate the sum of the radius + for(unsigned int curvature = 1; curvature < clique_points.size(); ++curvature) + { + float temporary_radius; + + std::vector temporary_point_vector(3); // vector that stores the current points + + // fill vector + temporary_point_vector[0] = clique_points[0]; + temporary_point_vector[1] = clique_points[curvature]; + // Check if i+1 would be larger than last index. If so take the first point that isn't zero as second point. + if((curvature+1)%clique_points.size() == 0) + temporary_point_vector[2] = clique_points[1]; + else + temporary_point_vector[2] = clique_points[(curvature+1)%clique_points.size()]; + + // calculate the enclosing circle for this combination + cv::minEnclosingCircle(temporary_point_vector, center, temporary_radius); + + // add the current radius to sum + radius += temporary_radius; + } + + // get the mean + radius = radius/((double) clique_points.size()-1); + } + + // return the curvature + features_computed_[23] = true; + features_[23] = 1.0/(double)radius; + + return features_[23]; +} + +// Calculate Feature 25: The relation between the labels of Points from the central point to the other points in the clique. +// If two neighboring points have the labels hallway-hallway this feature gets very high and if they +// are differing from each other it gets small. To do this the possible_labels-vector stores all the +// labels for the different classes that can occur. +// !!!!!! Important: !!!!!! +// The possible_lables-vector stores in this program the labels in the order +// room-hallway-doorway +double voronoiRandomFieldFeatures::calcFeature25(std::vector& possible_labels, std::vector& labels_for_points) +{ + if (features_computed_[24]) + return features_[24]; + + // count how often each possible label occurs in the given labels + int maximal_amount = -1; // integer to save the maximal amount one label occurs + + for(size_t label = 0; label < possible_labels.size(); ++label) + { + // check for one label how often it appears + int label_count = std::count(labels_for_points.begin(), labels_for_points.end(), possible_labels[label]); + + // check if current label appears more often than the previously checked + if(label_count > maximal_amount) + maximal_amount = label_count; + } + + // set the initial value for the feature (40 * maximal_amount, so the feature is always >= 0, even if later a lot of the value gets subtracted) + double feature_value = 40 * maximal_amount; + + // ***Check for possibility that two neighboring labels can occur. For example it is very unlikely that a hallway appears right + // after a room, without a doorway between, but it is very likely that a hallway adds to a hallway. + + // Create a map to get a factor to add or subtract from the inital-value for a feature. The key for this map is the sum of + // two labels, so shows the relation between two points, and the Data for a key is the factor. + std::map label_mapping; + + // create each possible key and data (done by hand because in this case all possible configurations are known before --> room,hallway,doorway) + label_mapping[possible_labels[0] + possible_labels[0]] = 10; // room-room + label_mapping[possible_labels[0] + possible_labels[1]] = -10; // room-hallway + label_mapping[possible_labels[0] + possible_labels[2]] = 5; // room-doorway + label_mapping[possible_labels[1] + possible_labels[1]] = 10; // hallway-hallway + label_mapping[possible_labels[1] + possible_labels[2]] = 5; // hallway-doorway + label_mapping[possible_labels[2] + possible_labels[2]] = 10; // doorway-doorway + + // increase or decrease the feature-value + for(std::vector::iterator current_point = labels_for_points.begin(); current_point != labels_for_points.end(); ++current_point) + { + // check each neighbor that isn't the point itself + for(std::vector::iterator current_neighbor = labels_for_points.begin(); current_neighbor != labels_for_points.end(); ++current_neighbor) + { + // check if the two labels are not from the same point by calculating the distance in the vector between these two + if(std::distance(current_point, current_neighbor) != 0) + { + // get the key for the mapping + unsigned int current_sum = *current_point + *current_neighbor; + + feature_value += label_mapping[current_sum]; + } + } + } + + features_computed_[24] = true; + features_[24] = feature_value; + + return features_[24]; +} + +// Feature 26: number of beams that are shorter than a defined maxval +double voronoiRandomFieldFeatures::calcFeature26(const std::vector& beams, double maxval) +{ + if(features_computed_[25] == true) + return features_[25]; + + int number_of_short_beams = 0; + + for(size_t beam = 0; beam < beams.size(); ++beam) + if(beams[beam] <= maxval) + ++number_of_short_beams; + + features_computed_[25] = true; + features_[25] = (double) number_of_short_beams; + + return features_[25]; +} + +// Feature 27: The are of the bounding box that is calculated for the endpoints of all beams that are limited to a maxval +double voronoiRandomFieldFeatures::calcFeature27(const std::vector& beams, const std::vector& angles, double epsilon, cv::Point location) +{ + if(features_computed_[26] == true) + return features_[26]; + + std::vector short_points; + + // get minimal value of the beamlengths + double min_length = 1e5; + for(size_t beam = 0; beam < beams.size(); ++beam) + if(beams[beam] <= min_length) + min_length = beams[beam]; + + // search for beams which lengths are in the defined epsilon neighborhood + double pi_to_degree = PI / 180; + for(size_t beam = 0; beam < beams.size(); ++beam) + { + if(beams[beam] <= (min_length + epsilon) || beams[beam] > (min_length - epsilon)) + { + double x = std::cos(angles[beam] * pi_to_degree) * beams[beam] + location.x; + double y = std::sin(angles[beam] * pi_to_degree) * beams[beam] + location.y; + short_points.push_back(cv::Point(x, y)); + } + } + + // calculate the bounding box area + cv::RotatedRect bounding_box = cv::minAreaRect(short_points); + + features_computed_[26] = true; + features_[26] = bounding_box.size.area(); + + return features_[26]; +} + +// Feature 28: Ratio of the average lengths of n longest and n smalles beams. +double voronoiRandomFieldFeatures::calcFeature28(const std::vector& beams, double number_of_beams) +{ + if(features_computed_[27] == true) + return features_[27]; + + // find n longest and shortest beams + std::vector longest_beams (number_of_beams); + std::vector shortest_beams (number_of_beams); + std::vector sorted_beams = beams; + + std::sort(sorted_beams.begin(), sorted_beams.end()); + + int index = 0; + for(std::vector::iterator beam = sorted_beams.begin(); beam != sorted_beams.begin()+number_of_beams; ++beam) + { + longest_beams[index] = *beam; + ++index; + } + + index = 0; + for(std::vector::reverse_iterator beam = sorted_beams.rbegin(); beam != sorted_beams.rbegin()+number_of_beams; ++beam) + { + shortest_beams[index] = *beam; + ++index; + } + + // get average beamlengths + double average_longest = std::accumulate(longest_beams.begin(), longest_beams.end(), 0) / (double) longest_beams.size(); + double average_shortest = std::accumulate(shortest_beams.begin(), shortest_beams.end(), 0) / (double) shortest_beams.size(); + + // calculate ratio + features_computed_[27] = true; + features_[27] = average_shortest / average_longest; + + return features_[27]; + +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_segmentation.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_segmentation.cpp new file mode 100644 index 0000000..40997ca --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_random_field_segmentation.cpp @@ -0,0 +1,1940 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_segmentation + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 10.2015 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#include + +#include + +#include +#include + +// This function is the optimization function L(w) = -1 * sum(i)(log(p(y_i|MB(y_i, w), x)) + ((w - w_r)^T (w - w_r)) / 2 * sigma^2) +// to find the optimal weights for the given prelabeled map. to find these the function has to be minimized. +// i indicates the labeled example +// w is the weights vector +// y_i is one node in the build graph +// MB(y_i, w) is the Markov blanket of y_i, in this case the current neighbors of y_i +// w_r is a starting point for w (can be 0 if not known better, so small weights get favorized) +// sigma is the standard deviation, can be chosen freely +// the last part of this function is the gaussian shrinking function to prevent the weights from getting too large +// the local likelihoods are given by the function +// p(y_i|x) = 1/Z(X) * exp(sum(k of K)(w_k^T * f_k(y_k, x))) +// - K are all cliques in the graph +// - w_k is the weightvector, regarding to the calculateable features for this clique +// - f_k is the feature function, calculating a vector of features, that are individual for each clique +// An example for this function, regarding to the voronoi random fields, is: +// L(w) = -(log( (exp(5w_1 + 10w_2)) / (exp(5w_1 + 10w_2) + exp(4w_1 + 7w_2)) ) + log( (exp(7w_1 + 8w_2)) / (exp(7w_1 + 8w_2) + exp(4w_1 + 1w_2)) )) + (w_1-2 w_2-2)^T * (w_1-2 w_2-2) / 2 * 3^2 +// +class pseudoLikelihoodOptimization +{ +public: + // number of weights that have to bee calculated + unsigned int number_of_weights; + + // vector that saves the parameters for each part of the optimization function + std::vector > log_parameters; + + // vector to save the starting_point for the weights + std::vector starting_weights; + + // the sigma used for the gaussian shrinking function + double sigma; + + // initializing constructor + pseudoLikelihoodOptimization() + { + number_of_weights = 0; + sigma = 1.; + } + + // overload of the () operator, which is needed from Dlib + double operator()(const column_vector& weights) const + { + double result = 0; + // go trough each part of the function and calculate the log(.) and add it to the result + for(unsigned int function_part = 0; function_part < log_parameters.size(); ++function_part) + { + double splitting_of_exponent = 20; // because this function often produces exponents around 1000 the calculation of one exponential part needs to be splitted + long double log_numerator = 1., log_denominator = 0.; // numerator and denominator for each log + long double exp_exponent = 0; // helping variable to get each exponent for exp(.) + // get the log_numerator for each function part + for(unsigned int numerator_factor = 0; numerator_factor < number_of_weights; ++numerator_factor) + { + exp_exponent += log_parameters[function_part][numerator_factor] * weights(numerator_factor); + } + exp_exponent = exp_exponent / splitting_of_exponent; + for(size_t split = 0; split < splitting_of_exponent; ++split) + log_numerator = log_numerator * exp(exp_exponent); + + // used for debugging, when parts of the function become too large for double + if(exp_exponent > 250.0) + { + std::cout << "exp exponent: " << exp_exponent << " numerator: " << log_numerator<< std::endl; +// for(int i = 0; i < number_of_weights; ++i) +// std::cout << weights(i) << " "; +// std::cout << std::endl; + } + + // add the numerator to the denominator, because it has to appear here + log_denominator += log_numerator; + // add each clique-value to the denominator + unsigned int vector_position = number_of_weights; // variable to get the current absolute starting position + // for the vector + do + { + exp_exponent = 0; + for(unsigned int relative_position = 0; relative_position < number_of_weights; ++relative_position) + { + exp_exponent += log_parameters[function_part][vector_position + relative_position] * weights(relative_position); + } + exp_exponent = exp_exponent / splitting_of_exponent; + // update the absolute vector position + vector_position += number_of_weights; + // update the denominator + long double denominator_part = 1.0; + for(size_t split = 0; split < splitting_of_exponent; ++split) + denominator_part *= exp(exp_exponent); + + log_denominator += denominator_part; + + }while(vector_position < log_parameters[function_part].size()); + + // update the result to return + result -= log10(log_numerator / log_denominator); + } + + // add the gaussian shrinking function + double gaussian_numerator = 0; + for(unsigned int weight = 0; weight < number_of_weights; ++weight) + { + gaussian_numerator += std::pow(weights(weight) - starting_weights[weight], 2.0); + } + result += gaussian_numerator / (2.0 * sigma * sigma); +// std::cout << "gaussian shrinking: " << gaussian_numerator << "/" << (2.0 * sigma * sigma) << std::endl; +// std::cout << "res: " << result << std::endl; + return result; + } +}; + +// Structs that are used to sort the label configurations in a way s.t. OpenGM can use it properly when defining functions +// and factors. +struct labelWithIndex +{ +public: + uint label; // current label of the configuration configuration + size_t absolute_index; // index of the node in the global CRF-node-saver +}; + +struct compLabelsByIndices +{ + bool operator()(labelWithIndex const &a, labelWithIndex const &b) + { + return (a.absolute_index < b.absolute_index); + } +}; + +// Struct used to sort contours regarding their size +struct compContoursSize +{ + bool operator()(std::vector const &a, std::vector const &b) + { + return (cv::contourArea(a) >= cv::contourArea(b)); + } +} contourComparer; + + +// Constructor +VoronoiRandomFieldSegmentation::VoronoiRandomFieldSegmentation() +{ + //save the angles between the simulated beams, used in the following algorithm + for (double angle = 0; angle < 360; angle++) + { + angles_for_simulation_.push_back(angle); + } + + // set number of classes this algorithm can detect + number_of_classes_ = 3; + + // Set up boosting parameters + number_of_classifiers_ = 35; +#if CV_MAJOR_VERSION == 2 + CvBoostParams params(CvBoost::DISCRETE, number_of_classifiers_, 0, 2, false, 0); + params_ = params; +#endif + trained_boost_ = false; + trained_conditional_field_ = false; +} + +// This Function checks if the given cv::Point is more far away from all the cv::Points in the given set. If one point gets found +// that this Point is nearer than the defined min_distance the function returns false to stop it immediately. +bool VoronoiRandomFieldSegmentation::pointMoreFarAway(const std::set& points, const cv::Point& point, const double min_distance) +{ + double square_distance = min_distance * min_distance; + for(std::set::const_iterator current_point = points.begin(); current_point != points.end(); ++current_point) + { + double dx = current_point->x - point.x; + double dy = current_point->y - point.y; + if( ((dx*dx + dy*dy)) <= square_distance) + return false; + } + return true; +} + +std::vector VoronoiRandomFieldSegmentation::raycasting(const cv::Mat& map, const cv::Point& location) +{ +// cv::Mat test_map (map.rows, map.cols, map.type(), cv::Scalar(255)); + //Raycasting Algorithm. It simulates the laser measurment at the given location and returns the lengths + //of the simulated beams + double simulated_x, simulated_y, simulated_cos, simulated_sin; + double temporary_distance; + std::vector distances(360, 0); + double delta_x, delta_y; + double pi_to_rad = PI / 180; + for (double angle = 0; angle < 360; angle++) + { + simulated_cos = std::cos(angle * pi_to_rad); + simulated_sin = std::sin(angle * pi_to_rad); + temporary_distance = 90000001; + for (double distance = 0; distance < 1000000; ++distance) + { + simulated_x = simulated_cos * distance; + simulated_y = simulated_sin * distance; + //make sure the simulated Point isn't out of the boundaries of the map + if (location.x + simulated_x > 0 && location.x + simulated_x < map.rows && location.y + simulated_y > 0 && location.y + simulated_y < map.cols) + { + if (map.at(location.x + simulated_x, location.y + simulated_y) == 0 && distance < temporary_distance) + { + temporary_distance = distance; + break; + } + } + } + if (temporary_distance > 90000000) + { + temporary_distance = 10; + } + distances[angle] = temporary_distance; + } + + return distances; +} + + +// This function computes all possible configurations for n variables that each can have m labels, e.g. when there are 2 variabels +// with 3 possible label for each there are 9 possible configurations. Important is that this function does compute multiple +// configurations like (1,2) and (2,1). +// This is done using the std::next_permutation function that computes the permutations of a given vector/array. To get all possible +// configurations first a vector is created and filled that stores n*m elements, representing the label for each variable. Then +// after the vector gets sorted all possible permutations are listed and the first n elements in this permutation are one configuration +// and going to be saved, if it hasn't occurred yet. +void VoronoiRandomFieldSegmentation::getPossibleConfigurations(std::vector >& possible_configurations, + const std::vector& possible_labels, const uint number_of_variables) +{ + // check how many possible labels there are and create a vector with number_of_variables*number_of_labels length + uint number_of_labels = possible_labels.size(); + std::vector label_vector(number_of_labels*number_of_variables); + + // fill the created vector with the labels for each variable + for(size_t variable = 0; variable < number_of_variables; ++variable) + for(size_t label = 0; label < number_of_labels; ++label) + label_vector[label + number_of_labels * variable] = possible_labels[label]; + + // sort the vector (expected from std::next_permutation) + std::sort (label_vector.begin(),label_vector.end()); + + // set to save the found configurations --> to easily check if one configuration has already been found + std::set > found_configurations; + + // get all permutations and create one configuration out of each + do + { + // configuration-vector + std::vector current_config(number_of_variables); + + // resave the first number_of_variables elements + for(size_t v = 0; v < number_of_variables; ++v) + current_config[v] = label_vector[v]; + + // check if the current_configuration has occurred yet, if not add it to the possible configurations + if(found_configurations.find(current_config) == found_configurations.end()) + { + found_configurations.insert(current_config); + possible_configurations.push_back(current_config); + } + + }while (std::next_permutation(label_vector.begin(),label_vector.end())); +} + +// +// This function is used to swap label-configurations in a order s.t. the nodes, which the labels are assigned to, are ordered +// with increasing indices. The indices show the position in the global set that stores all nodes. This is necessary, because +// OpenGM (The library used for inference in this graphical model) expects it this way. To do this the above defined structs +// labelWithIndex and compLabelsByIndices and the function std::sort are used. This function then creates a vector that stores +// the configurations as the struct labelWithIndex and applies a sort on all of it. Then it assignes the new found labels into +// the original vector. +void VoronoiRandomFieldSegmentation::swapConfigsRegardingNodeIndices(std::vector >& configurations, + size_t point_indices[]) +{ + for(size_t configuration = 0; configuration < configurations.size(); ++configuration) + { + // go trough configuration and create labels with the corresponding index + std::vector current_vector; + for(size_t current_node = 0; current_node < configurations[configuration].size(); ++current_node) + { + labelWithIndex current_label = {configurations[configuration][current_node], point_indices[current_node]}; + current_vector.push_back(current_label); + } + // sort the current vector + std::sort(current_vector.begin(), current_vector.end(), compLabelsByIndices()); + + // reassign the vector-elements + for(size_t node = 0; node < configurations[configuration].size(); ++node) + configurations[configuration][node] = current_vector[node].label; + } +} + +// +// ******* Function to create a conditional random field out of the given points ******************* +// +// This function constructs the Conditional Random Field out of the given points, by creating the edges of +// this graph from the cliques as described in segment. This is done by: +// 1. Searching the two nearest neighbors for each Point that isn't a voronoi-node and the 4 nearest neighbors for +// points that are voronoi-nodes (if possible to find 4, else 3 is enough, for example when the end of a hallway is reached). +// The nearest nodes are found by going along the pruned Voronoi graph to ensure that the found clique is the wanted clique, +// containing nodes that are connected by the voronoi-graph. +// The searching in a direction on the graph stops, if a new found node is a conditional-random-field-node, +// because in this direction the nearest neighbor has been found, and if the algorithm can't find new +// voronoi-graph-points. The second case occurs, when the current node is a dead end and has only one neighbor. +// 2. The found neighbors are defined as a new clique with the current looked at point. +// 3. For each found clique simulate the laserbeams at this point by using the defined raycasting-function. This step is done +// because the beams only need to be computed once for each clique and doing this at this point saves much time later. +void VoronoiRandomFieldSegmentation::createConditionalField(const cv::Mat& voronoi_map, const std::set& node_points, + std::vector& conditional_random_field_cliques, const std::set& voronoi_node_points, + const cv::Mat& original_map) +{ + // 1. Search for the n neighbors of the each point by going along the voronoi graph until a conditional-field-node gets + // found. + std::map, cv_Point_comp > raycasts; // map that stores the simulated rays for given OpenCV Points --> some points would get raycasted several times, this saves computation-time + + for(std::set::const_iterator current_point = node_points.begin(); current_point != node_points.end(); ++current_point) + { + // check how many neighbors need to be found --> 4 if the current node is a voronoi graph node, 2 else + // ( 4 because e.g. a node in the middle of a cross has four neighbors) + int number_of_neighbors = 2; + if(voronoi_node_points.find(*current_point) != voronoi_node_points.end()) + number_of_neighbors = 4; + + // vector to save the searched points + std::vector searched_points; + searched_points.push_back(*current_point); + + // vector to save the found neighbors + std::set found_neighbors; + + // integer to check if new voronoi nodes could be found + unsigned int previous_size_of_searched_nodes; + + // go along the Voronoi Graph starting from the current node and find the nearest conditional random field nodes + do + { + // save the size of the searched-points vector + previous_size_of_searched_nodes = searched_points.size(); + + // create temporary-vector to save the new found nodes + std::vector temporary_point_vector = searched_points; + + // check each visited point for neighbors that are voronoi nodes + // remark: I check every point again, because it produces better results than when only new points get expanded. + for(std::vector::iterator searching_point = searched_points.begin(); searching_point != searched_points.end(); ++searching_point) + { + bool random_field_node = false; // if the current node is a node of the conditional random field, don't go further in this direction + if(found_neighbors.find(*searching_point) != found_neighbors.end()) + random_field_node = true; + + if(random_field_node == false) + { + // check around a 3x3 region for nodes of the voronoi graph + for(int du = -1; du <= 1; du++) + { + for(int dv = -1; dv <= 1; dv++) // && abs(du) + abs(dv) != 0 + { + // don't check point itself + if(du == 0 && dv == 0) + continue; + + // get point that needs to be expanded + cv::Point point_to_check = cv::Point(searching_point->x + dv, searching_point->y + du); + + // voronoi node is drawn with a value of 127 in the map, don't check already checked points + if(voronoi_map.at(point_to_check) == 127 + && contains(temporary_point_vector, point_to_check) == false) + { + // add found voronoi node to searched-points vector + temporary_point_vector.push_back(point_to_check); + + // Check if point is a conditional random field node. Check on size is to prevent addition of + // points that appear in the same step and would make the clique too large. + if(node_points.find(point_to_check) != node_points.end() + && found_neighbors.size() < number_of_neighbors) + found_neighbors.insert(point_to_check); + } + } + } + } + } + + // assign the temporary-vector as the new reached-points vector + searched_points = temporary_point_vector; + + }while(found_neighbors.size() < number_of_neighbors && previous_size_of_searched_nodes != searched_points.size()); + + // 2. create a clique out of the current node and its found neighbors + conditional_random_field_cliques.push_back(Clique(*current_point)); + std::vector neighbor_vector(found_neighbors.begin(), found_neighbors.end()); // convert set to a vector to easily insert the new members + conditional_random_field_cliques.back().insertMember(neighbor_vector); + + // 3. Simulate the laser-beams at each found member and store them. This step saves a lot of computation time later. + std::vector clique_members = conditional_random_field_cliques.back().getMemberPoints(); + std::vector< std::vector > laser_beams(clique_members.size()); + + for(size_t member = 0; member < clique_members.size(); ++member) + { + laser_beams[member] = raycasting(original_map, cv::Point(clique_members[member].y, clique_members[member].x)); + } + + conditional_random_field_cliques.back().setBeamsForMembers(laser_beams); + } +} + +//**************************Training-Algorithm for the AdaBoost-classifiers***************************** +// This Function trains the AdaBoost-classifiers from OpenCV. It takes the given training maps and finds the Points +// that are labeled as the specified classes and calculates the features defined in +// +// ipa_room_segmentation/voronoi_random_field_features.h +// +// These vectors are put in a format that OpenCV expects for the classifiers and then they are trained. +void VoronoiRandomFieldSegmentation::trainBoostClassifiers(const std::vector& training_maps, + std::vector< std::vector >& cliques_of_training_maps, std::vector possible_labels, + const std::string& classifier_storage_path) +{ + boost::filesystem::path storage_path(classifier_storage_path); + if (boost::filesystem::exists(storage_path) == false) + { + if (boost::filesystem::create_directories(storage_path) == false && boost::filesystem::exists(storage_path) == false) + { + std::cout << "Error: VoronoiRandomFieldSegmentation::trainBoostClassifiers: Could not create directory " << storage_path << std::endl; + return; + } + } + + std::cout << "starting to train the Boost Classifiers." << std::endl; + + // vectors that store the given labels and features for each point (order: room-hallway-doorway) + std::vector< std::vector > labels_for_classes(number_of_classes_); + std::vector< std::vector > features_for_points; + + // go trough each found clique and take the first point of the clique as current point + // --> each possible point is only once the first (central) point of a clique + voronoiRandomFieldFeatures vrf_feature_computer; + for(size_t map = 0; map < training_maps.size(); ++map) + { + cv::Mat current_map = training_maps[map]; + for(std::vector::iterator current_clique = cliques_of_training_maps[map].begin(); current_clique != cliques_of_training_maps[map].end(); ++current_clique) + { + // get all members of the current clique (used later) + std::vector current_clique_members = current_clique->getMemberPoints(); + + // get the central point of the clique + cv::Point current_point = current_clique_members[0]; + + // get the stored labels for these points + std::vector current_labels_for_points(current_clique_members.size()); + + for(size_t point = 0; point < current_clique_members.size(); ++point) + { + current_labels_for_points[point] = current_map.at(current_clique_members[point]); + } + + // get the stored laser-beams for the central point + std::vector current_beams = current_clique->getBeams()[0]; + + // get the feature for the current point and store it in the global vector + std::vector current_features; + + vrf_feature_computer.getFeatures(current_beams, angles_for_simulation_, current_clique_members, current_labels_for_points, possible_labels, current_point, current_features); + features_for_points.push_back(current_features); + + // get the labels-vector for each class + // --> OpenCV expects the labels: +1 if it belongs to the class, -1 if it doesn't + for(size_t current_class = 0; current_class < number_of_classes_; ++current_class) + { + if(current_labels_for_points[0] == possible_labels[current_class]) + labels_for_classes[current_class].push_back(1); + else + labels_for_classes[current_class].push_back(-1); + } + } + } + + std::cout << "found all features and labels." << std::endl; + + // Train each AdaBoost-classifier. + // + //*************room*************** + //save the found labels and features in Matrices + cv::Mat room_labels_Mat(labels_for_classes[0]); + cv::Mat features_Mat(features_for_points.size(), vrf_feature_computer.getFeatureCount(), CV_32FC1); + for (int i = 0; i < labels_for_classes[0].size(); i++) + { + for (int f = 0; f < vrf_feature_computer.getFeatureCount(); f++) + { + features_Mat.at(i, f) = (float) features_for_points[i][f]; + } + } + std::string filename_room = classifier_storage_path + "vrf_room_boost.xml"; +#if CV_MAJOR_VERSION == 2 + // Train a boost classifier + room_boost_.train(features_Mat, CV_ROW_SAMPLE, room_labels_Mat, cv::Mat(), cv::Mat(), cv::Mat(), cv::Mat(), params_); + //save the trained booster + room_boost_.save(filename_room.c_str(), "boost"); +#else + // Train a boost classifier + room_boost_ = cv::ml::Boost::create(); + room_boost_->setBoostType(cv::ml::Boost::REAL); + room_boost_->setWeakCount(number_of_classifiers_); + room_boost_->setWeightTrimRate(0); + room_boost_->setMaxDepth(2); + room_boost_->setUseSurrogates(false); + room_boost_->setPriors(cv::Mat()); + room_boost_->train(features_Mat, cv::ml::ROW_SAMPLE, room_labels_Mat); + //save the trained booster + room_boost_->save(filename_room.c_str()); +#endif + std::cout << "Trained room classifier" << std::endl; + + // + //*************hallway*************** + //save the found labels and features in Matrices + cv::Mat hallway_labels_Mat(labels_for_classes[1]); + std::string filename_hallway = classifier_storage_path + "vrf_hallway_boost.xml"; +#if CV_MAJOR_VERSION == 2 + // Train a boost classifier + hallway_boost_.train(features_Mat, CV_ROW_SAMPLE, hallway_labels_Mat, cv::Mat(), cv::Mat(), cv::Mat(), cv::Mat(), params_); + //save the trained booster + hallway_boost_.save(filename_hallway.c_str(), "boost"); +#else + // Train a boost classifier + hallway_boost_ = cv::ml::Boost::create(); + hallway_boost_->setBoostType(cv::ml::Boost::REAL); + hallway_boost_->setWeakCount(number_of_classifiers_); + hallway_boost_->setWeightTrimRate(0); + hallway_boost_->setMaxDepth(2); + hallway_boost_->setUseSurrogates(false); + hallway_boost_->setPriors(cv::Mat()); + hallway_boost_->train(features_Mat, cv::ml::ROW_SAMPLE, hallway_labels_Mat); + //save the trained booster + hallway_boost_->save(filename_hallway.c_str()); +#endif + std::cout << "Trained hallway classifier" << std::endl; + + // + //*************doorway*************** + //save the found labels and features in Matrices + cv::Mat doorway_labels_Mat(labels_for_classes[2]); + std::string filename_doorway = classifier_storage_path + "vrf_doorway_boost.xml"; +#if CV_MAJOR_VERSION == 2 + // Train a boost classifier + doorway_boost_.train(features_Mat, CV_ROW_SAMPLE, doorway_labels_Mat, cv::Mat(), cv::Mat(), cv::Mat(), cv::Mat(), params_); + //save the trained booster + doorway_boost_.save(filename_doorway.c_str(), "boost"); +#else + // Train a boost classifier + doorway_boost_ = cv::ml::Boost::create(); + doorway_boost_->setBoostType(cv::ml::Boost::REAL); + doorway_boost_->setWeakCount(number_of_classifiers_); + doorway_boost_->setWeightTrimRate(0); + doorway_boost_->setMaxDepth(2); + doorway_boost_->setUseSurrogates(false); + doorway_boost_->setPriors(cv::Mat()); + doorway_boost_->train(features_Mat, cv::ml::ROW_SAMPLE, doorway_labels_Mat); + //save the trained booster + doorway_boost_->save(filename_doorway.c_str()); +#endif + std::cout << "Trained doorway classifier" << std::endl; + + // set the trained Boolean for the AdaBoost-classifiers to true + trained_boost_ = true; + std::cout << "Finished training the Boost algorithm." << std::endl; +} + +// +// ********************* Function to calculate the feature-vector for a given clique. *********************** +// +// This function calculates the feature vector for a given clique, using the trained AdaBoost classifiers. These calculate +// different boost-features specific for the given point and neighbors of it and then multiplies these with a weight-vector +// producing weak hypothesis to specify the label of the current point. These weak hypothesis are used as features for the +// conditional random field. The possible_labels vector stores the possible labels a point in the training map can have in +// the order: +// room, hallway, doorway +void VoronoiRandomFieldSegmentation::getAdaBoostFeatureVector(std::vector& feature_vector, Clique& clique, + std::vector& given_labels, std::vector& possible_labels) +{ + // Get the points that belong to the clique and the stored simulated beams for each one. + std::vector clique_members = clique.getMemberPoints(); + std::vector< std::vector > beams_for_points = clique.getBeams(); + + // vector that is used to sum up the calculated features + std::vector temporary_feature_vector(feature_vector.size(), 0.0); + + // For each member of this clique calculate the weak-hypothesis and add the resulting vectors in the end + for(size_t point = 0; point < clique_members.size(); ++point) + { + // Check which classifier (room, hallway or doorway) needs to be used. + unsigned int classifier; + for(size_t label = 0; label < possible_labels.size(); ++label) + { + if(possible_labels[label] == given_labels[point]) + { + classifier = label; + break; + } + } + + // get the features for the central point of the clique + voronoiRandomFieldFeatures vrf_feature_computer; + cv::Mat featuresMat(1, vrf_feature_computer.getFeatureCount(), CV_32FC1); //OpenCV expects a 32-floating-point Matrix as feature input + std::vector current_features; + vrf_feature_computer.getFeatures(beams_for_points[point], angles_for_simulation_, clique_members, given_labels, possible_labels, clique_members[point], current_features); + + for (int f = 1; f <= vrf_feature_computer.getFeatureCount(); ++f) + { + featuresMat.at(0, f - 1) = (float) current_features[f-1]; + } + + // Calculate the weak hypothesis by using the wanted classifier. +#if CV_MAJOR_VERSION<=3 + CvMat features = featuresMat; + cv::Mat weaker (1, number_of_classifiers_, CV_32F); + CvMat weak_hypothesis = weaker; // Wanted from OpenCV to get the weak hypothesis from the + // separate weak classifiers. +#else + cv::Mat features = featuresMat; + cv::Mat weaker (1, number_of_classifiers_, CV_32F); +#endif + + // For each point the classifier depends on the given label. If the point is labeled as a room the room-boost should be + // used and so on. + switch(classifier) + { +#if CV_MAJOR_VERSION == 2 + case 0: + room_boost_.predict(&features, 0, &weak_hypothesis); + break; + case 1: + hallway_boost_.predict(&features, 0, &weak_hypothesis); + break; + case 2: + doorway_boost_.predict(&features, 0, &weak_hypothesis); + break; +#else + case 0: + room_boost_->predict(featuresMat, weaker); + break; + case 1: + hallway_boost_->predict(featuresMat, weaker); + break; + case 2: + doorway_boost_->predict(featuresMat, weaker); + break; +#endif + } + + + // Write the weak hypothesis in the feature vector. + for(size_t f = 0; f < number_of_classifiers_; ++f) + { +#if CV_MAJOR_VERSION<=3 + temporary_feature_vector[f] = temporary_feature_vector[f] + (double) CV_MAT_ELEM(weak_hypothesis, float, 0, f); +#else + temporary_feature_vector[f] = temporary_feature_vector[f] + (double) weaker.at(0, f); +#endif + } + } + + // copy the summed vector to the given feature-vector + feature_vector = temporary_feature_vector; +} + +// +//********************* Function to find the conditional field weights. **************** +// +// This function is used to find the weights, that are used to compute the clique potentials. The AdaBoost classifier trained +// before gives the vector f(y_k, x) that stores the values for each feature, calculated for a given clique in the +// random field. to get the clique potential this vector gets multiplied by w^T, which is the transposed weight-vector, calculated +// here. These weights define the importance of one single feature in classifying the clique. To calculate the weights the +// following steps are done: +// I. For each given field-node calculate the features of the clique, using the AdaBoost classifiers. The features for the +// conditonal-random-field are the weak hypothesis, produced by the AdaBoost classifers. This hypothesis is the +// predicted label for a given point, multiplied by the weight for the selected classifier. For more details see +// the trainBoostClassifiers() or any document on Boosting. +// II. The above defined features are used to maximize the pseudo-likelihood over all training-data by minimizing a +// feature-function, by using the Dlib-c++-library. The found weights are then saved at the location, which is given +// to this function. +// +void VoronoiRandomFieldSegmentation::findConditionalWeights(std::vector< std::vector >& conditional_random_field_cliques, + std::vector >& random_field_node_points, const std::vector& training_maps, + std::vector& possible_labels, const std::string weights_filepath) +{ + // check if the AdaBoost-classifiers has already been trained yet, if not the conditional field can't be trained + if(trained_boost_ == false) + ROS_ERROR("AdaBoost-classifiers haven't been trained yet. First train the AdaBoost algorithm before training the conditional-random-field"); + + std::cout << "Starting to train the conditional-random-field." << std::endl; + + // ************ I. Go trough each found point and compute the pseudo-likelihood of it to get one big likelihood. **************** + + std::vector > all_point_feature_vectors; // Vector that stores every feature vector calculated for the + // found nodes of the CRF. One vector of it stores all features + // for different labels, in a specified order. The first + // values are for the real training label and the rest of it + // for labels different than the given one. + + for(size_t current_map_index = 0; current_map_index < training_maps.size(); ++current_map_index) + { + for(std::set::iterator current_point = random_field_node_points[current_map_index].begin(); current_point != random_field_node_points[current_map_index].end(); ++current_point) + { + // vector to save the cliques that were found for one point + std::vector cliques_for_point; + + // vector that stores the labels of each clique-member for the current point + std::vector< std::vector > labels_of_cliques; + + // set the given training label for this point + unsigned int real_label = training_maps[current_map_index].at(*current_point); + + // for each point find the cliques that this point belongs to + for(std::vector::iterator current_clique = conditional_random_field_cliques[current_map_index].begin(); current_clique != conditional_random_field_cliques[current_map_index].end(); ++current_clique) + { + if(current_clique->containsMember(*current_point)) + { + cliques_for_point.push_back(*current_clique); + + // search for the labels of the clique-members + std::vector temporary_clique_labels(current_clique->getNumberOfMembers()); + std::vector members = current_clique->getMemberPoints(); + + for(size_t member = 0; member < current_clique->getNumberOfMembers(); ++member) + temporary_clique_labels[member] = training_maps[current_map_index].at(members[member]); + + // save the found labels + labels_of_cliques.push_back(temporary_clique_labels); + } + } + + // For each found clique compute the feature vector for different labels. The first label is the label that was + // given to the algorithm by the training data and the other are the remaining labels, different from the first. + std::vector > feature_vectors(number_of_classes_); // vector to store the found feature-vectors for each class + + // vector to store the feature-vectors computed for the different cliques + std::vector > temporary_feature_vectors(cliques_for_point.size(), std::vector(number_of_classifiers_, 0.0)); + + // get the clique-feature-vectors for the given training label and add them to the first feature-vector for this label + for(size_t clique = 0; clique < cliques_for_point.size(); ++clique) + { + getAdaBoostFeatureVector(temporary_feature_vectors[clique], cliques_for_point[clique], labels_of_cliques[clique], possible_labels); + feature_vectors[0] = feature_vectors[0] + temporary_feature_vectors[clique]; + } + + // assign the first feature-vector to the complete feature-vector + all_point_feature_vectors.push_back(feature_vectors[0]); + + // get the other feature-vectors for the different labels + unsigned int label_index = 1; // variable to access the right places in feature_vectors for each possible label + for(size_t label_position = 0; label_position < possible_labels.size(); ++label_position) + { + // only compute different labels + if(possible_labels[label_position] != real_label) + { + for(size_t clique = 0; clique < cliques_for_point.size(); ++clique) + { + // copy the real-label-vector and change the label for the current point --> see how clique potential changes + std::vector temporary_labels = labels_of_cliques[clique]; + std::vector current_clique_members = cliques_for_point[clique].getMemberPoints(); + + int point_position = std::find(current_clique_members.begin(), current_clique_members.end(), *current_point) - current_clique_members.begin(); + + temporary_labels[point_position] = possible_labels[label_position]; + + // get the AdaBoost-feature-vector + getAdaBoostFeatureVector(temporary_feature_vectors[clique], cliques_for_point[clique], temporary_labels, possible_labels); + feature_vectors[label_index] = feature_vectors[label_index] + temporary_feature_vectors[clique]; + } + // append the last vector in all_point_feature_vector by the calculated vector + all_point_feature_vectors.back() += feature_vectors[label_index]; + // set index for labels one step higher + ++label_index; + } + } + } + } + + // + // ********* II. Find the weights that minimize the total likelihood by using the Dlib-library. *********** + // + // define the mean-weights for the gaussian shrinking function + std::vector mean_weights(number_of_classifiers_, 0); + + voronoiRandomFieldFeatures vrf_features; + cv::Mat featuresMat(1, vrf_features.getFeatureCount(), CV_32FC1); //OpenCV expects a 32-floating-point Matrix as feature input + for (int f = 1; f <= vrf_features.getFeatureCount(); ++f) + featuresMat.at(0, f - 1) = (float) 1; + + // Calculate the weak hypothesis by using the wanted classifier. The weak hypothesis is given by h_i(x) = w_i * f_i(x) +#if CV_MAJOR_VERSION<=3 + CvMat features = featuresMat; + cv::Mat weaker (1, number_of_classifiers_, CV_32F); + CvMat weak_hypothesis = weaker; // Wanted from OpenCV to get the weak hypothesis from the + // separate weak classifiers. +#else + cv::Mat features = featuresMat; + cv::Mat weaker(1, number_of_classifiers_, CV_32F); +#endif + + // Get weights for room, hallway and doorway classifier. +#if CV_MAJOR_VERSION == 2 + room_boost_.predict(&features, 0, &weak_hypothesis); +#else + room_boost_->predict(featuresMat, weaker); +#endif + + for(size_t f = 0; f < number_of_classifiers_; ++f) +#if CV_MAJOR_VERSION<=3 + mean_weights[f] += (double) CV_MAT_ELEM(weak_hypothesis, float, 0, f); +#else + mean_weights[f] += (double) weaker.at(0, f); +#endif + +#if CV_MAJOR_VERSION == 2 + hallway_boost_.predict(&features, 0, &weak_hypothesis); +#else + hallway_boost_->predict(featuresMat, weaker); +#endif + + for(size_t f = 0; f < number_of_classifiers_; ++f) +#if CV_MAJOR_VERSION<=3 + mean_weights[f] *= (double) CV_MAT_ELEM(weak_hypothesis, float, 0, f); +#else + mean_weights[f] *= (double) weaker.at(0, f); +#endif + +#if CV_MAJOR_VERSION == 2 + doorway_boost_.predict(&features, 0, &weak_hypothesis); +#else + doorway_boost_->predict(featuresMat, weaker); +#endif + + for(size_t f = 0; f < number_of_classifiers_; ++f) +#if CV_MAJOR_VERSION<=3 + mean_weights[f] *= (double) CV_MAT_ELEM(weak_hypothesis, float, 0, f); +#else + mean_weights[f] *= (double) weaker.at(0, f); +#endif + + // find the best weights --> minimize the defined function for the pseudo-likelihood + std::cout << "finding weights using Dlib" << std::endl; + column_vector weight_results; + weight_results = findMinValue(number_of_classifiers_, 9.0, all_point_feature_vectors, mean_weights); + + // clear the already found weights, if trained more than one time + trained_conditional_weights_.clear(); + + // save the found weights to a std::vector + for(size_t weight = 0; weight < number_of_classifiers_; ++weight) + trained_conditional_weights_.push_back(weight_results(0, weight)); + + // save the weights to a file + boost::filesystem::path storage_path(weights_filepath); + if (boost::filesystem::exists(storage_path) == false) + { + if (boost::filesystem::create_directories(storage_path) == false && boost::filesystem::exists(storage_path) == false) + { + std::cout << "Error: VoronoiRandomFieldSegmentation::findConditionalWeights: Could not create directory " << storage_path << std::endl; + return; + } + } + std::string filename = weights_filepath + "vrf_conditional_field_weights.txt"; + std::ofstream output_file(filename.c_str(), std::ios::out); + if (output_file.is_open()==true) + output_file << weight_results; + output_file.close(); + + //set the trained-variable true, so the labeling-algorithm knows the classifiers have been trained already + trained_conditional_field_ = true; + std::cout << "Finished training the Conditional Field." << std::endl; + +} + +// +//********************* Function to train the whole algorithm. **************** +// +// I. Go trough each given training map and find the drawn points, that represent the nodes for the conditional random +// field. Also it finds the voronoi-nodes that are drawn in a different color than the other nodes. These points are +// used in the second step of this function to create the cliques in the conditional random field. +// II. For each given training map the found nodes are used to create conditional random fields. The whole algorithm is +// based on this and to train the algorithm a crf for each training map is needed. This step produces cliques, that +// all have a clique-potential, depending on features and the crf-weights, that will get maximized later. +// III. In the next step the AdaBoost-classifiers are trained. This is done by giving the above defined function +// trainBoostClassifiers() the given training maps. This function searches for points labeled as room/hallway/doorway +// and adds them as demonstration-data for AdaBoost-classifiers. +// IV. In the last step the weights for the conditional-random-field are found. As said above the clique-potentials are +// depending on these weights and so they are chosen to maximize the potentials over all training maps. Because this +// would be really hard to do directly, a log-likelihood estimation is applied. +void VoronoiRandomFieldSegmentation::trainAlgorithms(const std::vector& original_maps, const std::vector& training_maps, + std::vector& voronoi_maps, const std::vector& voronoi_node_maps, + std::vector& possible_labels, const std::string storage_path, + const int epsilon_for_neighborhood, const int max_iterations, const int min_neighborhood_size, + const double min_node_distance) +{ + // ********** I. Go trough each map and find the drawn node-points for it and check if it is a voronoi-node. ***************** + std::vector > random_field_node_points, voronoi_node_points; + + std::cout << "Starting to find the conditional-random-field-cliques." << std::endl; + + bool compute_voronoi_maps = false; + if (voronoi_maps.size() != original_maps.size()) + { + compute_voronoi_maps = true; + voronoi_maps.resize(original_maps.size()); + std::cout << "Creating the voronoi graphs before training." << std::endl; + } + for(size_t current_map_index = 0; current_map_index < training_maps.size(); ++current_map_index) + { + // Find conditional field nodes by checking each pixel for its color. + const cv::Mat& current_map = training_maps[current_map_index]; + std::set current_nodes, current_voronoi_nodes; + if (compute_voronoi_maps == false && voronoi_node_maps.size() == original_maps.size()) + { + const cv::Mat& current_voronoi_node_map = voronoi_node_maps[current_map_index]; + for(size_t v = 0; v < current_map.rows; ++v) + { + for(size_t u = 0; u < current_map.cols; ++u) + { + // check if the current point is a voronoi-node by checking the color in the voronoi-node map + if(current_voronoi_node_map.at(v, u) != 255 && current_voronoi_node_map.at(v, u) != 0) + current_voronoi_nodes.insert(cv::Point(u, v)); + } + } + } + else + { + voronoi_maps[current_map_index] = original_maps[current_map_index].clone(); + createPrunedVoronoiGraph(voronoi_maps[current_map_index], current_voronoi_nodes); + } + + // read in a fully labeled map (not only points) and generate current_nodes accordingly + // find the conditional random field nodes for the current map + cv::Mat distance_map; //distance-map of the original-map (used to check the distance of each point to nearest black pixel) +#if CV_MAJOR_VERSION<=3 + cv::distanceTransform(original_maps[current_map_index], distance_map, CV_DIST_L2, 5); +#else + cv::distanceTransform(original_maps[current_map_index], distance_map, cv::DIST_L2, 5); +#endif + cv::convertScaleAbs(distance_map, distance_map); + + // find all nodes for the conditional random field + findConditonalNodes(current_nodes, voronoi_maps[current_map_index], distance_map, current_voronoi_nodes, epsilon_for_neighborhood, max_iterations, min_neighborhood_size, min_node_distance); + + // save the found nodes + random_field_node_points.push_back(current_nodes); + voronoi_node_points.push_back(current_voronoi_nodes); + } + + // ********** II. Create the conditional random fields. ***************** + std::cout << "Creating the conditional-random-field-cliques." << std::endl; + + std::vector > conditional_random_field_cliques; + for(size_t current_map = 0; current_map < training_maps.size(); ++current_map) + { + // create conditional random field + std::vector current_cliques; + createConditionalField(voronoi_maps[current_map], random_field_node_points[current_map], current_cliques, voronoi_node_points[current_map], original_maps[current_map]); + + // save the found cliques + conditional_random_field_cliques.push_back(current_cliques); + } + + // ********** III. Train the AdaBoost-classifiers. ***************** + trainBoostClassifiers(training_maps, conditional_random_field_cliques, possible_labels, storage_path); + + // ********** IV. Find the conditional-random-field weights. ***************** + findConditionalWeights(conditional_random_field_cliques, random_field_node_points, training_maps, possible_labels, storage_path); +} + +// +//****************Create the pruned generalized Voronoi-Graph********************** +// +//This function is here to create the pruned generalized voronoi-graph in the given map. It does following steps: +// 1. Creates a Voronoi Graph +// 2. It reduces the graph until the nodes in the graph. A node is a point on the voronoi graph, that has at least 3 +// neighbors. This deletes errors from the approximate generation of the graph that hasn't been eliminated from +// the drawVoronoi function. the resulting graph is the pruned generalized voronoi graph. +// 3. It returns the map that has the pruned generalized voronoi-graph drawn in. +void VoronoiRandomFieldSegmentation::createPrunedVoronoiGraph(cv::Mat& map_for_voronoi_generation, std::set& node_points) +{ + //********************1. Create the Voronoi graph****************************** + createVoronoiGraph(map_for_voronoi_generation); + + //********************2. Reduce the graph until its nodes****************************** + pruneVoronoiGraph(map_for_voronoi_generation, node_points); +} + +// This function finds nodes for the conditional random field. +// It looks at a given pruned voronoi graph and concentrates a defined region on this graph into one point, that is +// used as a node in a graph. In this graph nodes are connected, that +// i) are right beside each other +// ii) and if a Point in the graph has three or more neighbors all of these four nodes are connected to each other +// so that different cliques occur. This is necessary for using a Conditional Random Filed to label the nodes as a +// defined class. To do so the following steps are done: +// 1. Add the previously found node points on the voronoi graph to the Conditional Random Field graph. The algorithm +// checks if they are too close to each other and only adds one of these close points to the crf. +// 2. Look at an epsilon neighborhood on the graph and choose the point farthest away from the black pixels as +// point for the crf. The farthest point is chosen, because else it would be possible that the chosen point +// is too near at the black pixels. Also the new node has to be more far away than a defined min. distance to +// each already found node s.t. two nodes are not too close to each other, or else the crf would be created wrong. +void VoronoiRandomFieldSegmentation::findConditonalNodes(std::set& conditional_nodes, + const cv::Mat& voronoi_map, const cv::Mat& distance_map, const std::set& voronoi_nodes, + const int epsilon_for_neighborhood, const int max_iterations, const int min_neighborhood_size, + const double min_node_distance) +{ + // add the given voronoi nodes as conditional nodes, if they are far away enough from each other + for(std::set::iterator node = voronoi_nodes.begin(); node != voronoi_nodes.end(); ++node) + { + if(pointMoreFarAway(conditional_nodes, *node, min_node_distance) == true) + conditional_nodes.insert(*node); + } + + // create a copy of the given voronoi map to keep track of which points already have been looked at + cv::Mat voronoi_map_for_node_extraction = voronoi_map.clone(); + + // go trough the copied voronoi map and concentrate neighborhoods into one central point + for (int v = 0; v < voronoi_map_for_node_extraction.rows; v++) + { + for (int u = 0; u < voronoi_map_for_node_extraction.cols; u++) + { + if (voronoi_map_for_node_extraction.at(v, u) == 127) + { + int loopcounter = 0; // if a part of the graph is not connected to the rest this variable helps to stop the loop + std::set neighbor_points; // neighboring-variable, which is different for each point + std::set temporary_points, searching_points; // Sets that are used to save new found points and expand them in the next iteration. + // temporary points to expand the neighborhood in iterative steps and not in one + + int neighbor_count = 0; // variable to save the number of neighbors for each point + + neighbor_points.insert(cv::Point(u, v)); //add the current Point to the neighborhood and to the expanding-queue + searching_points.insert(cv::Point(u, v)); + + do + { + loopcounter++; + // check every point in the neighborhood for other neighbors connected to it + for (std::set::iterator current_neighbor_point = searching_points.begin(); current_neighbor_point != searching_points.end(); ++current_neighbor_point) + { + for (int row_counter = -1; row_counter <= 1; row_counter++) + { + for (int column_counter = -1; column_counter <= 1; column_counter++) + { + // don't check the point itself + if(row_counter == 0 && column_counter == 0) + continue; + + // check the neighboring points + // (if it already is in the neighborhood it doesn't need to be checked again) + const int nu = current_neighbor_point->x + column_counter; + const int nv = current_neighbor_point->y + row_counter; + + if (neighbor_points.find(cv::Point(nu, nv)) == neighbor_points.end() && + nv >= 0 && nu >= 0 && + nv < voronoi_map_for_node_extraction.rows && nu < voronoi_map_for_node_extraction.cols && + voronoi_map_for_node_extraction.at(nv, nu) == 127) + { + neighbor_count++; + temporary_points.insert(cv::Point(nu, nv)); + } + } + } + } + + // go trough every found point after all neighborhood points have been checked and add them to it + for (std::set::iterator temporary_point = temporary_points.begin(); temporary_point != temporary_points.end(); ++temporary_point) + { + neighbor_points.insert(*temporary_point); + + // make the found points white in the voronoi-map (already looked at) + voronoi_map_for_node_extraction.at(*temporary_point) = 255; + } + + // make the current point white --> doesn't need to be looked at anymore + voronoi_map_for_node_extraction.at(v, u) = 255; + + // reassign the new found nodes as new to-be-searched nodes + searching_points = temporary_points; + + // check if enough neighbors have been checked or checked enough times (e.g. at a small segment of the graph) + }while (neighbor_count <= epsilon_for_neighborhood && loopcounter < max_iterations); + + // only check the neighborhood, if it is large enough --> to prevent nodes that are close to each other + if(neighbor_count >= min_neighborhood_size) + { + // check every found point in the neighborhood if it is the local minimum in the distanceMap and if + // this point is far enough away from other node points to prevent too close nodes + cv::Point current_conditional_field_point = cv::Point(u, v); + for (std::set::iterator point = neighbor_points.begin(); point != neighbor_points.end(); ++point) + { + if (distance_map.at(*point) < distance_map.at(current_conditional_field_point) + && pointMoreFarAway(conditional_nodes, *point, min_node_distance) == true) + { + current_conditional_field_point = *point; + } + } + // add the local minimum point to the critical points and check a last time if the node is far enough away + // from other nodes (because if no new node is found the initialized gets added every time, neglecting + // this constraint) + if(pointMoreFarAway(conditional_nodes, current_conditional_field_point, min_node_distance) == true) + conditional_nodes.insert(current_conditional_field_point); + } + } + } + } +} + +// This function is called to find minimal values of a defined log-likelihood-function using the library Dlib. +// This log-likelihood-function is made over all training data to get a likelihood-estimation linear in the weights. +// By minimizing this function the best weights are chosen, what is done here. See beginning of this file for detailed information. +// !!!!Important: Numerical problems might occur --> non finite outputs. This is because the derivative gets approximated. +// Change the starting point and the last entry of find_min_using_approximate_derivatives when this occurs. +column_vector VoronoiRandomFieldSegmentation::findMinValue(unsigned int number_of_weights, double sigma, + const std::vector >& likelihood_parameters, const std::vector& starting_weights) +{ + std::cout << "finding min values" << std::endl; + // create a column vector as starting search point, that is needed from Dlib to find the min. value of a function + column_vector starting_point(number_of_weights); + + // initialize the starting point as zero to favor small weights + starting_point = 1e-1; + + // create a Likelihood-optimizer object to find the weights that maximize the pseudo-likelihood + pseudoLikelihoodOptimization minimizer; + + // set the values for this optimization-object + minimizer.sigma = sigma; + minimizer.number_of_weights = number_of_weights; + + minimizer.log_parameters = likelihood_parameters; + minimizer.starting_weights = starting_weights; + + // find the best weights for the given parameters + dlib::find_min_using_approximate_derivatives(dlib::bfgs_search_strategy(), dlib::objective_delta_stop_strategy(1e-7), minimizer, starting_point, -1, 1e-10); + + return starting_point; +} + + + +// +//****************** Segmentation Function ********************* +// +// This function segments the given original_map into different regions by using the voronoi random field method from +// Stephen Friedman and Dieter Fox ( http://www.cs.washington.edu/robotics/projects/semantic-mapping/abstracts/vrf-place-labeling-ijcai-07.abstract.html ). +// This algorithm has two parts, the training step and the actual segmentation. The training should be finished, see above for details. +// In the segmentation step following actions are made: +// I.) From the given map that should be labeled (original_map) a pruned generalized Voronoi diagram is extracted ( https://www.sthu.org/research/voronoidiagrams/ ). +// This is done using the method from Karimipour and Ghandehari ( A Stable Voronoi-based Algorithm for Medial Axis Extraction through Labeling Sample Points ) +// that samples the building contour to get centerpoints to compute the voronoi graph. This approximated graph has +// some errors in it, so two elimination steps are done: +// i) eliminate lines of the graph that start or end in black regions +// ii) reduce the graph from after the first step until the nodes of the graph +// See the createPrunedVoronoiGraph() function above for better information. OpenCV is used to do this. +// II.) It finds Nodes for the Conditional Random Field, using the above defined function findConditionalNodes(). +// III.) It constructs the Conditional Random Field graph from the previously found points, by using the above defined function. +// IV.) It creates a factor graph out of the defined crf. This is necessary, because OpenGM, the library used for inference, +// needs it this way. To do so the algorithm goes trough each found clique and computes the clique-potential of it +// for all possible label-configuration. The results of this are saved in an opengm::function so OpenGM can use it. +// V.) After the factor graph has been build, an inference algorithm is applied to find the labels that maximize the complete +// value of the graph, meaning the potential of the crf. To do this not the Product of the factors are maximized, but the +// sum of the exponents. The potentials are given by exp(w^T * f) and the graph-potential is the product of these, so +// it is possible to just maximize the sum of all exponents. This is convenient, because the factors will scale very high +// and would go out of the double range. +// VI.) At the last step the algorithm takes the above found best labels and draws it into a copy of the original map. The +// rooms and hallways are drawn with the color of this class and doorways are drawn black. This is done because it +// produces intersections between different segments, most likely between rooms and hallways. These intersections are +// wanted because they create separate segments for each room/hallway and don't put several together as one big. The +// drawing into the map copy is done by finding base points for each crf-node (two black pixels that are closest to this +// node) and drawing lines in the wanted color to both. Then a wavefront-region-growing is applied on the map-copy to +// fill the segments with one color, generating several rooms and hallways. In the last step the contours of the rooms +// and hallways are searched and drawn in the given map with a unique color into the map, if they are not too small or big. +void VoronoiRandomFieldSegmentation::segmentMap(const cv::Mat& original_map, cv::Mat& segmented_map, const int epsilon_for_neighborhood, + const int max_iterations, const int min_neighborhood_size, std::vector& possible_labels, + const double min_node_distance, bool show_results, const std::string classifier_storage_path, const std::string classifier_default_path, + const int max_inference_iterations, double map_resolution_from_subscription, double room_area_factor_lower_limit, + double room_area_factor_upper_limit, double max_area_for_merging, std::vector* door_points) +{ + // check if path for storing classifier models exists + boost::filesystem::path storage_path(classifier_storage_path); + if (boost::filesystem::exists(storage_path) == false) + { + if (boost::filesystem::create_directories(storage_path) == false && boost::filesystem::exists(storage_path) == false) + { + std::cout << "Error: VoronoiRandomFieldSegmentation::segmentMap: Could not create directory " << storage_path << std::endl; + return; + } + } + + // save a copy of the original image + cv::Mat original_image = original_map.clone(); + + // if the training results haven't been loaded or trained before load them + if(trained_boost_ == false) + { + // load the AdaBoost-classifiers + std::string filename_room = classifier_storage_path + "vrf_room_boost.xml"; + std::string filename_room_default = classifier_default_path + "vrf_room_boost.xml"; + if (boost::filesystem::exists(boost::filesystem::path(filename_room)) == false) + boost::filesystem::copy_file(filename_room_default, filename_room); + loadBoost(room_boost_,filename_room); + + std::string filename_hallway = classifier_storage_path + "vrf_hallway_boost.xml"; + std::string filename_hallway_default = classifier_default_path + "vrf_hallway_boost.xml"; + if (boost::filesystem::exists(boost::filesystem::path(filename_hallway)) == false) + boost::filesystem::copy_file(filename_hallway_default, filename_hallway); + loadBoost(hallway_boost_,filename_hallway); + + std::string filename_doorway = classifier_storage_path + "vrf_doorway_boost.xml"; + std::string filename_doorway_default = classifier_default_path + "vrf_doorway_boost.xml"; + if (boost::filesystem::exists(boost::filesystem::path(filename_doorway)) == false) + boost::filesystem::copy_file(filename_doorway_default, filename_doorway); + loadBoost(doorway_boost_,filename_doorway); + + // set the trained-Boolean true to only load parameters once + trained_boost_ = true; + } + + if(trained_conditional_field_ == false) + { + // clear weights that might be standing from before + trained_conditional_weights_.clear(); + + // load the weights out of the file + std::string filename_crf = classifier_storage_path + "vrf_conditional_field_weights.txt"; + std::string filename_crf_default = classifier_default_path + "vrf_conditional_field_weights.txt"; + if (boost::filesystem::exists(boost::filesystem::path(filename_crf)) == false) + boost::filesystem::copy_file(filename_crf_default, filename_crf); + std::ifstream input_file(filename_crf.c_str()); + std::string line; + double value; + if (input_file.is_open()) + { + while (getline(input_file, line)) + { + std::istringstream iss(line); + while (iss >> value) + { + trained_conditional_weights_.push_back(value); + } + } + input_file.close(); + } + + // set the trained-Boolean to true so the weights only get read in once + trained_conditional_field_ = true; + } + + // ************* I. Create the pruned generalized Voronoi graph ************* + cv::Mat voronoi_map = original_map.clone(); + + std::set node_points; //variable for node point extraction + + // use the above defined function to create a pruned Voronoi graph + std::cout << "creating voronoi graph" << std::endl; + Timer timer; // variable to measure computation-time + createPrunedVoronoiGraph(voronoi_map, node_points); + std::cout << "created graph. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; + + // ************* II. Extract the nodes used for the conditional random field ************* + // + std::set conditional_field_nodes; + + // get the distance transformed map, which shows the distance of every white pixel to the closest zero-pixel + cv::Mat distance_map; //distance-map of the original-map (used to check the distance of each point to nearest black pixel) +#if CV_MAJOR_VERSION<=3 + cv::distanceTransform(original_map, distance_map, CV_DIST_L2, 5); +#else + cv::distanceTransform(original_map, distance_map, cv::DIST_L2, 5); +#endif + cv::convertScaleAbs(distance_map, distance_map); + + // find all nodes for the conditional random field + timer.start(); + findConditonalNodes(conditional_field_nodes, voronoi_map, distance_map, node_points, epsilon_for_neighborhood, max_iterations, min_neighborhood_size, min_node_distance); + std::cout << "found all conditional field nodes. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; + + // show the node points if wanted + cv::Mat node_map = original_map.clone(); + if(show_results == true) + { +#if CV_MAJOR_VERSION<=3 + cv::cvtColor(node_map, node_map, CV_GRAY2BGR); +#else + cv::cvtColor(node_map, node_map, cv::COLOR_GRAY2BGR); +#endif + for(std::set::iterator node = conditional_field_nodes.begin(); node != conditional_field_nodes.end(); ++node) + { +#if CV_MAJOR_VERSION<=3 + cv::circle(node_map, *node, 0, cv::Scalar(250,0,0), CV_FILLED); +#else + cv::circle(node_map, *node, 0, cv::Scalar(250,0,0), cv::FILLED); +#endif + } + +// cv::imshow("nodes of the conditional random field", node_map); +// cv::waitKey(); + } + + // ************* III. Construct the Conditional Random Field from the found nodes ************* + // + // Go along the voronoi graph each point and find the 2 or 3 nearest neighbors and construct a clique out of them. + // If enough neighbors are found or no new voronoi-nodes were found in the last step, the algorithm stops. If no new + // Voronoi-nodes got found, the current node is a dead end and has only one neighbor. + // This is done using the above defined function createConditionalField, so see this function for further information. + cv::Mat neighbor_map = node_map.clone(); // map to show the resulting cliques if wanted + + std::vector conditional_random_field_cliques; // vector to save the found cliques of the conditional random field + + // construct the conditional random field + std::cout << "starting to create conditional field" << std::endl; + timer.start(); + createConditionalField(voronoi_map, conditional_field_nodes, conditional_random_field_cliques, node_points, original_image); + + std::cout << "Created field. Time: " << timer.getElapsedTimeInMilliSec() << "ms. Number of cliques: " << conditional_random_field_cliques.size() << std::endl; + + // show the found cliques if wanted + if(show_results == true) + { + for(size_t i = 0; i < conditional_random_field_cliques.size(); ++i) + { + int blue = rand() % 250; + int green = rand() % 250; + int red = rand() % 250; + + std::vector clique_points = conditional_random_field_cliques[i].getMemberPoints(); + + if(clique_points.size() > 0) + { + for(size_t p = 0; p < clique_points.size(); ++p) + for(size_t u = 0; u < clique_points.size(); ++u) + if(u != p) + cv::line(neighbor_map, clique_points[p], clique_points[u], cv::Scalar(blue, green, red), 1); + } + +// cv::imshow("neighbors", neighbor_map); +// cv::waitKey(); + } + } + + // ************* IV. Construct the Factor graph from the calculated random-Field ************* + // + // The calculated CRF has to be a Factor graph to use the OpenGM libraries Belief-Propagation algorithm. A Factor graph is a + // graphical model that calculates a large function by calculating each part of the function for itself (https://en.wikipedia.org/wiki/Factor_graph). + // Meaning it is a function in the form f(x_0:i) = f(x_j:k) * f(x_l:m) *... . In this case each clique-potential is one part + // of the whole function and the overall function should be minimized later. To do this the Typedefs in the header gets used. + + // 1. Create the Label-Space and a factor graph. A Label-Space consists of all variables and how many labels each variable + // can obtain. + LabelSpace space(conditional_field_nodes.size(), number_of_classes_); + + FactorGraph factor_graph(space); + + // 2. Create each part of the factor graph. Each Clique-potential is one part in the factor graph, so for each clique + // a opengm-function-object gets calculated. The opengm::ExplicitFunction template gets used, meaning for each + // possible configuration of the variable-labels the double-value of the function needs to be put in the object. So each + // object is like a lookup-table later on. The variables for a function are defined later, when the factors for the graph + // are defined. The factor stores the indices of the CRF-nodes as they are stored in the set containing all nodes. Because + // of this the indices need to be sorted by size, meaning e.g. 1 needs to be before 4. So the functions also need to be + // sorted by this, to ensure that the values of it are assigned to the right variable-combination. + + // vector that stores the possible label configurations for a clique, meaning e.g. if one clique has three members with + // two possible labels for each, it stores a vector that stores the label-configurations {(0,0,0), (0,0,1), (0,1,0), ...}. + // It has a size of 4, because in this algorithm only cliques with 2-5 members are possible. + std::vector > > label_configurations(5); + + // vector that stores the index for each possible label as element + // --> to get the order as index list, so it can be used to assign the value of functions + std::vector label_indices(possible_labels.size()); + for(uint index = 0; index < possible_labels.size(); ++index) + label_indices[index] = index; + + timer.start(); + + for(uint size = 1; size <= 5; ++size) + { + // vector that stores all possible configurations for one member-size + std::vector > possible_configurations; + + // use the above defined function to find all possible configurations for the possible labels and save them in the map + getPossibleConfigurations(possible_configurations, label_indices, size); + label_configurations[size-1] = possible_configurations; + } + + std::cout << "Created all possible label-configurations. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; + + timer.start(); + // Go trough each clique and define the function and factor for it. + for(std::vector::iterator current_clique = conditional_random_field_cliques.begin(); current_clique != conditional_random_field_cliques.end(); ++current_clique) + { + // get the number of members in this clique and depending on this the possible label configurations defined above + size_t number_of_members = current_clique->getNumberOfMembers(); + + std::vector > current_possible_configurations = label_configurations[number_of_members-1]; // -1 because this vector stores configurations for cliques with 1-5 members (others are not possible in this case). + + // find the real labels and assign them into the current configuration so the feature-vector gets calculated correctly + for(size_t configuration = 0; configuration < current_possible_configurations.size(); ++configuration) + for(size_t variable = 0; variable < current_possible_configurations[configuration].size(); ++variable) + current_possible_configurations[configuration][variable] = possible_labels[current_possible_configurations[configuration][variable]]; + + // define an array that has as many elements as the clique has members and assign the number of possible labels for each + size_t variable_space[number_of_members]; + std::fill_n(variable_space, number_of_members, number_of_classes_); + + // define a explicit function-object from OpenGM containing the initial value -1.0 for each combination + opengm::ExplicitFunction f(variable_space, variable_space + number_of_members, -1.0); + + // go trough all points of the clique and find the index of it in the vector the nodes of the CRF are stored in + // --> necessary to sort the nodes correctly + size_t indices[current_clique->getNumberOfMembers()]; // array the indices are stored in + std::vector clique_points = current_clique->getMemberPoints(); + for(size_t point = 0; point < clique_points.size(); ++point) + { + // get the iterator to the element and use the std::distance function to calculate the index of the point + std::set::iterator iterator = conditional_field_nodes.find(clique_points[point]); + + if(iterator != conditional_field_nodes.end()) // check if element was found --> should be + indices[point] = std::distance(conditional_field_nodes.begin(), iterator); + else + std::cout << "element not in set" << std::endl; + } + + // get the possible configurations and swap them, respecting the indices, then sort the indices themself + std::vector > swap_configurations = label_configurations[number_of_members-1]; // -1 because this vector stores configurations for cliques with 1-5 members (others are not possible in this case). + swapConfigsRegardingNodeIndices(swap_configurations, indices); + std::sort(indices, indices + current_clique->getNumberOfMembers()); + + // Go trough each possible configuration and compute the function value for it. Use the original configuration, because + // the nodes are stored in this way, but later the value is assigned in the position using the swaped configurations. + for(size_t configuration = 0; configuration < current_possible_configurations.size(); ++configuration) + { + std::vector current_configuration = current_possible_configurations[configuration]; + + // get current feature-vector and multiply it with the trained weights + std::vector current_features(number_of_classifiers_); + getAdaBoostFeatureVector(current_features, *current_clique, current_configuration, possible_labels); + + double clique_potential = 0; + for(size_t weight = 0; weight < number_of_classifiers_; ++weight) + { + clique_potential += trained_conditional_weights_[weight] * current_features[weight]; + } + + // assign the calculated clique potential at the right position in the function --> !!Important: factors need the variables to be sorted + // as increasing index + f(swap_configurations[configuration].begin()) = clique_potential;//std::exp(clique_potential); + } + + // add the defined function to the model and catch the returned function-identifier to specify which variables + // this function needs + FactorGraph::FunctionIdentifier identifier = factor_graph.addFunction(f); + + // add the Factor to the graph, that represents which variables (and labels of each) are used for the above defined function + factor_graph.addFactor(identifier, indices, indices+current_clique->getNumberOfMembers()); + + } + std::cout << "calculated all features for the cliques. Time: " << timer.getElapsedTimeInSec() << "s" << std::endl; + + // ************* V. Do inference in the defined factor-graph to find best labels. ************* + // + // Do Inference in the above created graphical model using OpengM. This function has three control parameters: + // i. The maximum number of iterations done + // ii. The convergence Bound, which is used to check if the messages haven't changed a lot after the last step. + // iii. The damping-factor, which implies how many messages should be dumped, in this case 0. + const double convergence_bound = 1e-7; + const double damping_factor = 0.0; + LoopyBeliefPropagation::Parameter parameters(max_inference_iterations, convergence_bound, damping_factor); + + // create LoopyBeliefPropagation object that does inference on the graphical model defined above + LoopyBeliefPropagation belief_propagation(factor_graph, parameters); + + // do inference + timer.start(); + belief_propagation.infer(); + std::cout << "Done Inference. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; + + // obtain the labels that get the max value of the defined function + std::vector best_labels(conditional_field_nodes.size()); + belief_propagation.arg(best_labels); + + // print the solution if wanted + if(show_results == true) + { + cv::Mat resulting_map = original_image.clone(); + + for(std::set::iterator i = conditional_field_nodes.begin(); i != conditional_field_nodes.end(); ++i) + { + size_t distance = std::distance(conditional_field_nodes.begin(), i); +#if CV_MAJOR_VERSION<=3 + cv::circle(resulting_map, *i, 3, cv::Scalar(possible_labels[best_labels[distance]]), CV_FILLED); +#else + cv::circle(resulting_map, *i, 3, cv::Scalar(possible_labels[best_labels[distance]]), cv::FILLED); +#endif + } + + cv::imshow("node-map", resulting_map); +// cv::waitKey(); + } + std::cout << "complete Potential: " << belief_propagation.value() << std::endl; + + // for optimization purpose +// return belief_propagation.value(); + + // ************* VI. Search for different regions of same color and make them a individual segment ************* + // + // 1. Connect the found nodes to the two nearest black pixels (base points) of them. Connect the nodes that are labeled + // as doorway with black lines to create intersections. This is done because it gives good results, when finding + // segments labeled only as one class, because later on this map with the base-lines a wavefront-region-growing is + // applied. + + // erode the map to close small gaps and remove errors --> also done when producing the voronoi-graph. + cv::Mat map_copy, eroded_map; + cv::Point anchor(-1, -1); + cv::erode(original_image, eroded_map, cv::Mat(), anchor, 2); + map_copy = eroded_map.clone(); + + // find the layout of the map and discretize it to get possible base points + std::vector < std::vector > map_contours; + std::vector < cv::Vec4i > hierarchy; +#if CV_MAJOR_VERSION<=3 + cv::findContours(map_copy, map_contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); +#else + cv::findContours(map_copy, map_contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); +#endif + + timer.start(); + + // reassign the map because findContours destroys it and erode it to close small errors + map_copy = eroded_map.clone(); + + // go trough all crf-nodes + for(std::set::iterator node = conditional_field_nodes.begin(); node != conditional_field_nodes.end(); ++node) + { + // find index of point + size_t distance = std::distance(conditional_field_nodes.begin(), node); + + // set initial points and values for the basis points so the distance comparison can be done + cv::Point basis_point_1 = map_contours[0][0]; + cv::Point basis_point_2 = map_contours[0][1]; + + // initial values of the first vector from the current critical point to the contour points and for the squared distance of it + double vector_x_1 = node->x - map_contours[0][0].x; + double vector_y_1 = node->y - map_contours[0][0].y; + double distance_basis_square_1 = vector_x_1*vector_x_1 + vector_y_1*vector_y_1; + + // initial values of the second vector from the current critical point to the contour points and for the squared distance of it + double vector_x_2 = node->x - map_contours[0][1].x; + double vector_y_2 = node->y - map_contours[0][1].y; + double distance_basis_square_2 = vector_x_2*vector_x_2 + vector_y_2*vector_y_2; + + // find first basis point + int basis_vector_1_x, basis_vector_2_x, basis_vector_1_y, basis_vector_2_y; + for (int c = 0; c < map_contours.size(); c++) + { + for (int p = 0; p < map_contours[c].size(); p++) + { + // calculate the squared Euclidian distance from the critical Point to the Point on the contour + const double vector_x = map_contours[c][p].x - node->x; + const double vector_y = map_contours[c][p].y - node->y; + const double current_distance = vector_x*vector_x + vector_y*vector_y; + + // compare the distance to the saved distances if it is smaller + if (current_distance < distance_basis_square_1) + { + distance_basis_square_1 = current_distance; + basis_point_1 = map_contours[c][p]; + basis_vector_1_x = vector_x; + basis_vector_1_y = vector_y; + } + } + } + // find second basisPpoint + for (int c = 0; c < map_contours.size(); c++) + { + for (int p = 0; p < map_contours[c].size(); p++) + { + // calculate the squared Euclidian distance from the critical point to the point on the contour + const double vector_x = map_contours[c][p].x - node->x; + const double vector_y = map_contours[c][p].y - node->y; + const double current_distance = vector_x*vector_x + vector_y*vector_y; + + // calculate the distance between the current contour point and the first basis point to make sure they + // are not too close to each other + const double vector_x_basis = basis_point_1.x - map_contours[c][p].x; + const double vector_y_basis = basis_point_1.y - map_contours[c][p].y; + const double basis_distance = vector_x_basis*vector_x_basis + vector_y_basis*vector_y_basis; + if (current_distance > distance_basis_square_1 && current_distance < distance_basis_square_2 && + basis_distance > (double) distance_map.at(*node)*distance_map.at(*node)) + { + distance_basis_square_2 = current_distance; + basis_point_2 = map_contours[c][p]; + basis_vector_2_x = vector_x; + basis_vector_2_y = vector_y; + } + } + } + + // if the node is labeled as doorway draw the base-lines black --> as intersection + if(best_labels[distance] == 2) + { + // draw a line from the node to the two basis points + cv::line(map_copy, *node, basis_point_1, 0, 2); + cv::line(map_copy, *node, basis_point_2, 0, 2); + + // return the door-points if wanted + if(door_points != NULL) + door_points->push_back(*node); + } + else + { + // draw a line from the node to the two basis points + cv::line(map_copy, *node, basis_point_1, possible_labels[best_labels[distance]], 1); + cv::line(map_copy, *node, basis_point_2, possible_labels[best_labels[distance]], 1); + } + } + + std::cout << "drawn all segments. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; + + // 2. Apply a wavefront algorithm to the map copy to fill all segments with the labels that are given to the crf-nodes. + map_copy.convertTo(map_copy, CV_32SC1, 256, 0); + wavefrontRegionGrowing(map_copy); + + if(show_results == true) + { + cv::imshow("intersected map", map_copy); +// cv::waitKey(); + } + + // 3. search for points where the map copy is still white, because these points could get colored wrong + // by too large contours + std::vector white_points; + for(unsigned int u = 0; u < map_copy.rows; ++u) + for(unsigned int v = 0; v < map_copy.cols; ++v) + if(map_copy.at(u, v) == 255*256) + white_points.push_back(cv::Point(v, u)); + + // 3. Make everything black except the found segments of rooms/hallways, that become totally white. This is done because + // it makes possible to find the contours of the segments and draw them into the original map with a random color. + // Only rooms or hallways stay at one step to ensure that borders from hallways to rooms are recognized. + std::set, compContoursSize> segments; // variable to save found contours + + timer.start(); + for(int color = 0; color <= 1; ++color) + { + // clear previously used variables for contour extraction + map_contours.clear(); + hierarchy.clear(); + + // get the color that should get white --> label given as 8bit color, but it has changed to a 32bit color + int current_color = possible_labels[color] * 256; + + // create a map_copy + cv::Mat temporary_map = cv::Mat(map_copy.rows, map_copy.cols, original_image.type()); + + // make regions black and white + for(unsigned int u = 0; u < map_copy.rows; ++u) + { + for(unsigned int v = 0; v < map_copy.cols; ++v) + { + // check if color is found and pixel hasn't been drawn accidentally in a color + if(map_copy.at(u, v) == current_color && original_image.at(u, v) != 0) + temporary_map.at(u, v) = 255; + else + temporary_map.at(u, v) = 0; + } + } + // find the contours of the rooms/hallways +#if CV_MAJOR_VERSION<=3 + cv::findContours(temporary_map, map_contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); +#else + cv::findContours(temporary_map, map_contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); +#endif + + // save the contours that are not holes (check with hierarchy --> [{0,1,2,3}]={next contour (same level), previous contour (same level), child contour, parent contour}) + // --> save everything with hierarchy[3] == -1 + for(size_t contour = 0; contour < map_contours.size(); ++contour) + if(hierarchy[contour][3] == -1 && map_contours.size() > 1) + segments.insert(map_contours[contour]); + } + + std::cout << "found segments: " << segments.size() << ". Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; + + // 4. Draw the found contours with a unique color and apply a wavefront-region-growing algorithm to get rid of remaining + // white spaces. Also save the found segments as rooms to merge rooms together in the next step. + timer.start(); + original_map.convertTo(segmented_map, CV_32SC1, 256, 0); // convert input image to CV_32SC1 (needed for wavefront and to have enoguh possible rooms) + + std::vector < cv::Scalar > already_used_colors; //saving-vector to save the already used colors + + std::vector rooms; // vector to save the rooms in this map + + for(std::set >::iterator current_contour = segments.begin(); current_contour != segments.end(); ++current_contour) + { + // calculate area for the contour and check if it is large enough to be a separate segment + double room_area = map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(*current_contour); + if (room_area >= room_area_factor_lower_limit && room_area <= room_area_factor_upper_limit) + { + // Draw the region with a random color into the map if it is large/small enough + bool drawn = false; + int loop_counter = 0; //counter if the loop gets into a endless loop + do + { + loop_counter++; + int random_number = rand() % 52224 + 13056; + cv::Scalar fill_color(random_number); + + //check if color has already been used + if (!contains(already_used_colors, fill_color) || loop_counter > 1000) + { +#if CV_MAJOR_VERSION<=3 + cv::drawContours(segmented_map, std::vector >(1,*current_contour), -1, fill_color, CV_FILLED); +#else + cv::drawContours(segmented_map, std::vector >(1,*current_contour), -1, fill_color, cv::FILLED); +#endif + already_used_colors.push_back(fill_color); + Room current_room(random_number); //add the current Contour as a room + for (int point = 0; point < current_contour->size(); point++) //add contour points to room + { + current_room.insertMemberPoint(cv::Point(current_contour->at(point)), map_resolution_from_subscription); + } + rooms.push_back(current_room); + drawn = true; + } + } while (!drawn); + } + // draw too small segments white, to prevent that they are covered by large closed contours + if(room_area < room_area_factor_lower_limit) +#if CV_MAJOR_VERSION<=3 + cv::drawContours(segmented_map, std::vector >(1,*current_contour), -1, 255*256, CV_FILLED); +#else + cv::drawContours(segmented_map, std::vector >(1,*current_contour), -1, 255*256, cv::FILLED); +#endif + } + + // Make black what has been black before (drawContours draws filled areas and might overwrite black holes). + // Also make regions that are black on the eroded map but white on the original map also white to prevent large closed contours + // to go around small contours in them. Also make the intersections in got by connecting the voronoi nodes with their + // base points for doorways white for the same reason. + for(unsigned int u = 0; u < segmented_map.rows; ++u) + { + for(unsigned int v = 0; v < segmented_map.cols; ++v) + { + if(original_image.at(u, v) == 0 && eroded_map.at(u, v) == 0) + { + segmented_map.at(u, v) = 0; + } + + if(original_image.at(u, v) == 255 && eroded_map.at(u, v) == 0) + { + segmented_map.at(u, v) = 255*256; + } + if(map_copy.at(u, v) == 0 && original_image.at(u, v) == 255) + { + segmented_map.at(u, v) = 255*256; + } + } + } + + // go trough the saved white points and make them white in the segmented map again + for(std::vector::iterator point = white_points.begin(); point != white_points.end(); ++point) + segmented_map.at(*point) = 255*256; + + // color remaining white space + wavefrontRegionGrowing(segmented_map); + + std::cout << "filled map with unique colors. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; + + // 5. Merge rooms that are too small together with the surrounding big rooms. This is done because it is possible to + // create very small segments in the last step, tha don't make very much sense. + timer.start(); + + if(show_results == true) + cv::imshow("before merge", segmented_map); + + mergeRooms(segmented_map, rooms, map_resolution_from_subscription, max_area_for_merging, false); + + std::cout << "merged rooms together. Time: " << timer.getElapsedTimeInMilliSec() << "ms" << std::endl; + + if(show_results == true) + { + cv::imshow("segmented map", segmented_map); + cv::waitKey(); + } +} + +// Function to test several functions of this algorithm independent of other functions +// this current implementation is used for optimizing the trained algorithm. The idea behind this is: I train the algorithm +// with the same training-maps several times and calculate the crf-graph-potential for several maps and add them together. If +// then the current sum is better than a saved best sum, the trained parameters are saved, what is done with this function. +// It is good to do this, because OpenCV uses a Decision-Tree for the AdaBoost classifiers, which is depending on probabilites +// and so every training done creates different results. +void VoronoiRandomFieldSegmentation::testFunc(const cv::Mat& original_map) +{ + std::cout << "testfunc" << std::endl; + +// // if the training results haven't been loaded or trained before load them +// std::string filename_room = boost_storage_path + "vrf_room_boost.xml"; +// std::string filename_hallway = boost_storage_path + "vrf_hallway_boost.xml"; +// std::string filename_doorway = boost_storage_path + "vrf_doorway_boost.xml"; +// +// room_boost_.save(filename_room.c_str(), "boost"); +// hallway_boost_.save(filename_hallway.c_str(), "boost"); +// doorway_boost_.save(filename_doorway.c_str(), "boost"); +// +// std::ofstream output_file(crf_storage_path.c_str(), std::ios::out); +// if (output_file.is_open()==true) +// { +// for(size_t weight = 0; weight < trained_conditional_weights_.size(); ++ weight) +// { +// output_file << trained_conditional_weights_[weight] << std::endl; +// } +// } +// output_file.close(); +// +// +// if(trained_boost_ == false) +// { +// // load the AdaBoost-classifiers +// room_boost_.load(filename_room.c_str()); +// hallway_boost_.load(filename_hallway.c_str()); +// doorway_boost_.load(filename_doorway.c_str()); +// +// // set the trained-Boolean true to only load parameters once +// trained_boost_ = true; +// } +// +// if(trained_conditional_field_ == false) +// { +// // load the weights out of the file +// std::ifstream input_file(crf_storage_path.c_str()); +// std::string line; +// double value; +// if (input_file.is_open()) +// { +// while (getline(input_file, line)) +// { +// std::istringstream iss(line); +// while (iss >> value) +// { +// trained_conditional_weights_.push_back(value); +// } +// } +// input_file.close(); +// } +// +// // set the trained-Boolean to true so the weights only get read in once +// trained_conditional_field_ = true; +// } +// +// std::cout << "reading weights: " << std::endl; +// +// cv::Mat featuresMat(1, getFeatureCount(), CV_32FC1); //OpenCV expects a 32-floating-point Matrix as feature input +// for (int f = 1; f <= getFeatureCount(); ++f) +// { +// //get the features for each room and put it in the featuresMat +// featuresMat.at(0, f - 1) = (float) 1; +// } +// +// // Calculate the weak hypothesis by using the wanted classifier. +// CvMat features = featuresMat; +// cv::Mat weaker (1, number_of_classifiers_, CV_32F); +// CvMat weak_hypothesis = weaker; // Wanted from OpenCV to get the weak hypothesis from the +// // separate weak classifiers. +// +// // For each point the classifier depends on the given label. If the point is labeled as a room the room-boost should be +// // used and so on. +// room_boost_.predict(&features, 0, &weak_hypothesis); +// +// for(size_t f = 0; f < number_of_classifiers_; ++f) +// { +// std::cout << (double) CV_MAT_ELEM(weak_hypothesis, float, 0, f) << std::endl; +// } +// +// std::cout << "cols: " << weights.cols << " rows: " << weights.rows << std::endl; +// +// for(size_t i = 0; i < weights->cols; ++i) +// for(size_t j = 0; j < weights->rows; ++j) +// std::cout << (double) CV_MAT_ELEM(*weights, float, i, j) << std::endl; +// +// std::cout << "loaded files" << std::endl; +} + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_segmentation.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_segmentation.cpp new file mode 100644 index 0000000..e0cb7db --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/voronoi_segmentation.cpp @@ -0,0 +1,355 @@ +#include + +#include +#include + +#include +#include + + + +VoronoiSegmentation::VoronoiSegmentation() +{ + +} + + +void VoronoiSegmentation::segmentMap(const cv::Mat& map_to_be_labeled, cv::Mat& segmented_map, double map_resolution_from_subscription, + double room_area_factor_lower_limit, double room_area_factor_upper_limit, int neighborhood_index, int max_iterations, + double min_critical_point_distance_factor, double max_area_for_merging, bool display_map) +{ + //****************Create the Generalized Voronoi-Diagram********************** + //This function takes a given map and segments it with the generalized Voronoi-Diagram. It takes following steps: + // I. It calculates the generalized Voronoi-Diagram using the function createVoronoiGraph. + // II. It extracts the critical points, which show the border between two segments. This part takes these steps: + // 1. Extract node-points of the Voronoi-Diagram, which have at least 3 neighbors. + // 2. Reduce the leave-nodes (Point on graph with only one neighbor) of the graph until the reduction + // hits a node-Point. This is done to reduce the lines along the real voronoi-graph, coming from the discretisation + // of the contour. + // 3. Find the critical points in the reduced graph by searching in a specified neighborhood for a local minimum + // in distance to the nearest black pixel. The size of the epsilon-neighborhood is dynamic and goes larger + // in small areas, so they are split into lesser regions. + // III. It gets the critical lines, which go from the critical point to its two nearest black pixels and separate the + // regions from each other. This part does following steps: + // 1. Get the discretized contours of the map and the holes, because these are the possible candidates for + // basis-points. + // 2. Find the basis-points for each critical-point by finding the two nearest neighbors of the vector from 1. + // Also it saves the angle between the two vectors pointing from the critical-point to its two basis-points. + // 3. Some critical-lines are too close to each other, so the next part eliminates some of them. For this the + // algorithm checks, which critical points are too close to each other. Then it compares the angles of these + // points, which were calculated in 3., and takes the one with the larger angle, because smaller angles + // (like 90 degree) are more likely to be at edges of the map or are too close to the borders. If they have + // the same angle, the point which comes first in the critical-point-vector is chosen (took good results for + // me, but is only subjective). + // 4. Draw the critical lines, selected by 3. in the map with color 0. + // IV. It finds the segments, which are seperated by the critical lines of III. and fills them with a random colour that + // hasn't been already used yet. For this it: + // 1. It erodes the map with critical lines, so small gaps are closed, and finds the contours of the segments. + // Only contours that are large/small enough are chosen to be drawn. + // 2. It draws the contours from 1. in a map with a random colour. Contours that belong to holes are not drawn + // into the map. + // 3. Spread the colour-regions to the last white Pixels, using the watershed-region-spreading function. + + //*********************I. Calculate and draw the Voronoi-Diagram in the given map***************** + + cv::Mat voronoi_map = map_to_be_labeled.clone(); + createVoronoiGraph(voronoi_map); //voronoi-map for the segmentation-algorithm + + //***************************II. extract the possible candidates for critical Points**************************** + // 1.extract the node-points that have at least three neighbors on the voronoi diagram + // node-points are points on the voronoi-graph that have at least 3 neighbors + // 2.reduce the side-lines along the voronoi-graph by checking if it has only one neighbor until a node-point is reached + // --> make it white + // repeat a large enough number of times so the graph converges + std::set node_points; //variable for node point extraction + pruneVoronoiGraph(voronoi_map, node_points); + + //3.find the critical points in the previously calculated generalized Voronoi-graph by searching in a specified + // neighborhood for the local minimum of distance to the nearest black pixel + // critical points need to have at least two neighbors (else they are end points, which would give a very small segment) + + //get the distance transformed map, which shows the distance of every white pixel to the closest zero-pixel + cv::Mat distance_map; //distance-map of the original-map (used to check the distance of each point to nearest black pixel) +#if CV_MAJOR_VERSION<=3 + cv::distanceTransform(map_to_be_labeled, distance_map, CV_DIST_L2, 5); +#else + cv::distanceTransform(map_to_be_labeled, distance_map, cv::DIST_L2, 5); +#endif + cv::convertScaleAbs(distance_map, distance_map); + + std::vector critical_points; //saving-variable for the critical points found on the Voronoi-graph + for (int v = 0; v < voronoi_map.rows; v++) + { + for (int u = 0; u < voronoi_map.cols; u++) + { + if (voronoi_map.at(v, u) == 127) + { + //make the size of the region to be checked dependent on the distance of the current pixel to the closest + //zero-pixel, so larger areas are split into more regions and small areas into fewer + int eps = neighborhood_index / (int) distance_map.at(v, u); //310 + int loopcounter = 0; //if a part of the graph is not connected to the rest this variable helps to stop the loop + std::vector temporary_points; //neighboring-variables, which are different for each point + std::set neighbor_points; //neighboring-variables, which are different for each point + int neighbor_count = 0; //variable to save the number of neighbors for each point + neighbor_points.insert(cv::Point(u,v)); //add the current Point to the neighborhood + //find every Point along the voronoi graph in a specified neighborhood + do + { + loopcounter++; + //check every point in the neighborhood for other neighbors connected to it + for(std::set::iterator it_neighbor_points = neighbor_points.begin(); it_neighbor_points != neighbor_points.end(); it_neighbor_points++) + { + for (int row_counter = -1; row_counter <= 1; row_counter++) + { + for (int column_counter = -1; column_counter <= 1; column_counter++) + { + if (row_counter == 0 && column_counter == 0) + continue; + + //check the neighboring points + //(if it already is in the neighborhood it doesn't need to be checked again) + const cv::Point& current_neighbor_point = *it_neighbor_points; + const int nu = current_neighbor_point.x + column_counter; + const int nv = current_neighbor_point.y + row_counter; + if (nv >= 0 && nu >= 0 && nv < voronoi_map.rows && nu < voronoi_map.cols && + voronoi_map.at(nv, nu) == 127 && neighbor_points.find(cv::Point(nu, nv))==neighbor_points.end()) + { + neighbor_count++; + temporary_points.push_back(cv::Point(nu, nv)); + } + } + } + } + //go trough every found point after all neighborhood points have been checked and add them to it + for (int temporary_point_index = 0; temporary_point_index < temporary_points.size(); temporary_point_index++) + { + neighbor_points.insert(temporary_points[temporary_point_index]); + //make the found points white in the voronoi-map (already looked at) + voronoi_map.at(temporary_points[temporary_point_index].y, temporary_points[temporary_point_index].x) = 255; + voronoi_map.at(v, u) = 255; + } + //check if enough neighbors have been checked or checked enough times (e.g. at a small segment of the graph) + } while (neighbor_count <= eps && loopcounter < max_iterations); + //check every found point in the neighborhood if it is the local minimum in the distanceMap + cv::Point current_critical_point = cv::Point(u, v); + for(std::set::iterator it_neighbor_points = neighbor_points.begin(); it_neighbor_points != neighbor_points.end(); it_neighbor_points++) + { + if (distance_map.at(it_neighbor_points->y, it_neighbor_points->x) < distance_map.at(current_critical_point.y, current_critical_point.x)) + { + current_critical_point = cv::Point(*it_neighbor_points); + } + } + //add the local minimum point to the critical points + critical_points.push_back(current_critical_point); + } + } + } + +// if(display_map == true) +// { +// cv::Mat display = map_to_be_labeled.clone(); +// for (size_t i=0; i 255*256 = 65280 + + // 1. Get the points of the contour, which are the possible closest points for a critical point + //clone the map to extract the contours, because after using OpenCV find-/drawContours + //the map will be different from the original one + cv::Mat temporary_map_to_extract_the_contours = segmented_map.clone(); + std::vector < std::vector > contours; +#if CV_MAJOR_VERSION<=3 + cv::findContours(temporary_map_to_extract_the_contours, contours, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); +#else + cv::findContours(temporary_map_to_extract_the_contours, contours, cv::RETR_CCOMP, cv::CHAIN_APPROX_NONE); +#endif + + // 2. Get the basis-points for each critical-point + std::vector basis_points_1, basis_points_2; + std::vector length_of_critical_line; + std::vector angles; //the angles between the basis-lines of each critical Point + for (int critical_point_index = 0; critical_point_index < critical_points.size(); critical_point_index++) + { + //set inital points and values for the basis points so the distance comparison can be done + cv::Point basis_point_1 = contours[0][0]; + cv::Point basis_point_2 = contours[0][1]; + //inital values of the first vector from the current critical point to the contour points and for the distance of it + const cv::Point& critical_point = critical_points[critical_point_index]; + double vector_x_1 = critical_point.x - contours[0][0].x; + double vector_y_1 = critical_point.y - contours[0][0].y; + double distance_basis_1 = std::sqrt(vector_x_1*vector_x_1 + vector_y_1*vector_y_1); + //inital values of the second vector from the current critical point to the contour points and for the distance of it + double vector_x_2 = critical_point.x - contours[0][1].x; + double vector_y_2 = critical_point.y - contours[0][1].y; + double distance_basis_2 = std::sqrt(vector_x_2*vector_x_2 + vector_y_2*vector_y_2); + + //find first basis point + int basis_vector_1_x, basis_vector_2_x, basis_vector_1_y, basis_vector_2_y; + for (int c = 0; c < contours.size(); c++) + { + for (int p = 0; p < contours[c].size(); p++) + { + //calculate the Euclidian distance from the critical Point to the Point on the contour + const double vector_x = contours[c][p].x - critical_point.x; + const double vector_y = contours[c][p].y - critical_point.y; + const double current_distance = std::sqrt(vector_x*vector_x + vector_y*vector_y); + //compare the distance to the saved distances if it is smaller + if (current_distance < distance_basis_1) + { + distance_basis_1 = current_distance; + basis_point_1 = contours[c][p]; + basis_vector_1_x = vector_x; + basis_vector_1_y = vector_y; + } + } + } + //find second basisPpoint + for (int c = 0; c < contours.size(); c++) + { + for (int p = 0; p < contours[c].size(); p++) + { + //calculate the Euclidian distance from the critical point to the point on the contour + const double vector_x = contours[c][p].x - critical_point.x; + const double vector_y = contours[c][p].y - critical_point.y; + const double current_distance = std::sqrt(vector_x*vector_x + vector_y*vector_y); + //calculate the distance between the current contour point and the first basis point to make sure they + //are not too close to each other + const double vector_x_basis = basis_point_1.x - contours[c][p].x; + const double vector_y_basis = basis_point_1.y - contours[c][p].y; + const double basis_distance = std::sqrt(vector_x_basis*vector_x_basis + vector_y_basis*vector_y_basis); + if (current_distance > distance_basis_1 && current_distance < distance_basis_2 && + basis_distance > (double) distance_map.at(critical_point.y, critical_point.x)) + { + distance_basis_2 = current_distance; + basis_point_2 = contours[c][p]; + basis_vector_2_x = vector_x; + basis_vector_2_y = vector_y; + } + } + } + //calculate angle between the vectors from the critical Point to the found basis-points + double current_angle = std::acos((basis_vector_1_x * basis_vector_2_x + basis_vector_1_y * basis_vector_2_y) / (distance_basis_1 * distance_basis_2)) * 180.0 / PI; + + //save the critical line with its calculated values + basis_points_1.push_back(basis_point_1); + basis_points_2.push_back(basis_point_2); + length_of_critical_line.push_back(distance_basis_1 + distance_basis_2); + angles.push_back(current_angle); + } + + //3. Check which critical points should be used for the segmentation. This is done by checking the points that are + // in a specified distance to each other and take the point with the largest calculated angle, because larger angles + // correspond to a separation across the room, which is more useful + for (int first_critical_point = 0; first_critical_point < critical_points.size(); first_critical_point++) + { + //reset variable for checking if the line should be drawn + bool draw = true; + for (int second_critical_point = 0; second_critical_point < critical_points.size(); second_critical_point++) + { + if (second_critical_point != first_critical_point) + { + //get distance of the two current Points + const double vector_x = critical_points[second_critical_point].x - critical_points[first_critical_point].x; + const double vector_y = critical_points[second_critical_point].y - critical_points[first_critical_point].y; + const double critical_point_distance = std::sqrt(vector_x*vector_x + vector_y*vector_y); + //check if the points are too close to each other corresponding to the distance to the nearest black pixel + //of the current critical point. This is done because critical points at doors are closer to the black region + //and shorter and may be eliminated in the following step. By reducing the checking distance at this point + //it gets better. + if (critical_point_distance < ((int) distance_map.at(critical_points[first_critical_point].y, critical_points[first_critical_point].x) * min_critical_point_distance_factor)) //1.7 + { + //if one point in neighborhood is found that has a larger angle the actual to-be-checked point shouldn't be drawn + if (angles[first_critical_point] < angles[second_critical_point]) + { + draw = false; + } + //if the angles of the two neighborhood points are the same the shorter one should be drawn, because it is more likely something like e.g. a door + if (angles[first_critical_point] == angles[second_critical_point] && + length_of_critical_line[first_critical_point] > length_of_critical_line[second_critical_point] && + (length_of_critical_line[second_critical_point] > 3 || first_critical_point > second_critical_point)) + { + draw = false; + } + } + } + } + //4. draw critical-lines if angle of point is larger than the other + if (draw) + { + cv::line(voronoi_map, critical_points[first_critical_point], basis_points_1[first_critical_point], cv::Scalar(0), 2); + cv::line(voronoi_map, critical_points[first_critical_point], basis_points_2[first_critical_point], cv::Scalar(0), 2); + } + } +// if(display_map == true) +// cv::imshow("voronoi_map", voronoi_map); + + //***********************Find the Contours seperated from the critcal lines and fill them with color****************** + + std::vector < cv::Scalar > already_used_colors; //saving-vector to save the already used coloures + + std::vector < cv::Vec4i > hierarchy; //variables for coloring the map + + std::vector rooms; //Vector to save the rooms in this map + + //1. Erode map one time, so small gaps are closed +// cv::erode(voronoi_map_, voronoi_map_, cv::Mat(), cv::Point(-1, -1), 1); +#if CV_MAJOR_VERSION<=3 + cv::findContours(voronoi_map, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_SIMPLE); +#else + cv::findContours(voronoi_map, contours, hierarchy, cv::RETR_CCOMP, cv::CHAIN_APPROX_SIMPLE); +#endif + + for (int current_contour = 0; current_contour < contours.size(); current_contour++) + { //only draw contours that aren't holes + if (hierarchy[current_contour][3] == -1) + { + //calculate area for the contour and check if it is large enough to be a room + double room_area = map_resolution_from_subscription * map_resolution_from_subscription * cv::contourArea(contours[current_contour]); + if (room_area >= room_area_factor_lower_limit && room_area <= room_area_factor_upper_limit) + { + //2. Draw the region with a random color into the map if it is large/small enough + bool drawn = false; + int loop_counter = 0; //counter if the loop gets into a endless loop + do + { + loop_counter++; + int random_number = rand() % 52224 + 13056; + cv::Scalar fill_colour(random_number); + //check if color has already been used + if (!contains(already_used_colors, fill_colour) || loop_counter > 1000) + { + cv::drawContours(segmented_map, contours, current_contour, fill_colour, 1); + already_used_colors.push_back(fill_colour); + Room current_room(random_number); //add the current Contour as a room + for (int point = 0; point < contours[current_contour].size(); point++) //add contour points to room + { + current_room.insertMemberPoint(cv::Point(contours[current_contour][point]), map_resolution_from_subscription); + } + rooms.push_back(current_room); + drawn = true; + } + } while (!drawn); + } + } + } + std::cout << "Found " << rooms.size() << " rooms.\n"; + + //3.fill the last white areas with the surrounding color + wavefrontRegionGrowing(segmented_map); + + if(display_map == true) + { + cv::imshow("before", segmented_map); + cv::waitKey(1); + } + + //4.merge the rooms together if neccessary + mergeRooms(segmented_map, rooms, map_resolution_from_subscription, max_area_for_merging, display_map); +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/wavefront_region_growing.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/wavefront_region_growing.cpp new file mode 100644 index 0000000..877ce8a --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/common/src/wavefront_region_growing.cpp @@ -0,0 +1,44 @@ +#include + +// spreading image is supposed to be of type CV_32SC1 +void wavefrontRegionGrowing(cv::Mat& image) +{ + //This function spreads the colored regions of the given map to the neighboring white pixels + if (image.type()!=CV_32SC1) + { + std::cout << "Error: wavefrontRegionGrowing: provided image is not of type CV_32SC1." << std::endl; + return; + } + + cv::Mat spreading_map = image.clone(); + bool finished = false; + while (finished == false) + { + finished = true; + for (int row = 1; row < spreading_map.rows-1; ++row) + { + for (int column = 1; column < spreading_map.cols-1; ++column) + { + if (spreading_map.at(row, column) > 65279) // unassigned pixels + { + //check 3x3 area around white pixel for fillcolour, if filled Pixel around fill white pixel with that colour + bool set_value = false; + for (int row_counter = -1; row_counter <= 1 && set_value==false; ++row_counter) + { + for (int column_counter = -1; column_counter <= 1 && set_value==false; ++column_counter) + { + int value = image.at(row + row_counter, column + column_counter); + if (value != 0 && value <= 65279) + { + spreading_map.at(row, column) = value; + set_value = true; + finished = false; // keep on iterating the wavefront propagation until no more changes occur + } + } + } + } + } + } + image = spreading_map.clone(); + } +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/package.xml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/package.xml new file mode 100644 index 0000000..0341cf7 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/package.xml @@ -0,0 +1,40 @@ + + + ipa_room_segmentation + 0.1.0 + + Segmentation procedures for dividing floor maps into single rooms or areas. + It contains four different algorithms for doing this: + 1. A morphological algorithm, which provides morphological operations on the map and finds the room-like areas with opencv. (common/src/morphological_segmentation.cpp) + 2. A distance-transformation based algorithm, which first produces a distance-transformed map using opencv, then takes a variable threshold over the map, coloring everything + above it white, and finds the areas of the rooms in the threshold-map. (common/src/distance_segmentation.cpp) + 3. A voronoi-based algorithm, which produces a generalized voronoi-diagram in the map, finds critical Points in a epsilon-neighborhood on the graph and partion the map with the + borders trough this critical Points. (common/src/vornoi_segmentation.cpp) + 4. A semantic-labeling algorithm, which calculates simple single-valued features for a given Position and classifies to which class (room, hallway) this Position belongs using + Ada-Boost from opencv. (common/src/semantic_segmentation.cpp) + 5. A mix of the semantic-labeling and the voronoi-based algorithm, called voronoi-random-fields. It creates a conditional-random-field out of a pruned generalized Voronoi-graph + and uses the weak-responses of the AdaBoost classifiers to find the best labels for each node. Advantage of this over the semantic labeling is that it can take care of + neighbor-relations, which allows to detect doorways, as well as rooms and hallways. (common/src/voronoi_random_field_segmentation.cpp) + For more detailed descriptions see the corresponding files. This algorithms often uses OpenCV, so it's very important for these algorithms. + + Florian Jordan + Richard Bormann + LGPL for academic and non-commercial use; for commercial use, please contact Fraunhofer IPA + http://wiki.ros.org/ipa_room_segmentation + + catkin + + actionlib + boost + cv_bridge + dynamic_reconfigure + ipa_building_msgs + libdlib + libopencv-dev + nav_msgs + opengm + roscpp + roslib + sensor_msgs + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/readme.md b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/readme.md new file mode 100644 index 0000000..a9f0d67 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/readme.md @@ -0,0 +1,80 @@ +# ipa_room_segmentation +Algorithms for floor plan segmentation. + +If you find this software useful in your work, please cite our corresponding paper: +- R. Bormann, F. Jordan, W. Li, J. Hampp, and M. Hägele. Room Segmentation: Survey, Implementation, and Analysis. In Proceedings of the IEEE International Conference on Robotics and Automation (ICRA), 2016. https://ieeexplore.ieee.org/abstract/document/7487234 , https://publica.fraunhofer.de/entities/publication/0bf23149-75d5-4601-bfce-992d91698862/details + +# General Procedure + +1. Change the algorithm parameters in ros/launch/room_segmentation_action_server_params.yaml in ros/launch to the wanted algorithms and settings. + * room_segmentation_algorithm: Choose which segmentation algorithm should be used. + * display_segmented_map: Specify if you want a window to pop up after the given map has been segmented, showing the results. To continue the program press any button in the window. + * train_semantic, train_vrf: Booleans that show, if the semantic or voronoi random field segmentation should be trained. For details of this training method see the further document. + * Every algorithm has its own specific range of **allowed room areas**. Segments that are out of this range will not be drawn and are going to be filled by the surrounding valid rooms. **Remark:** The upper border in the semantic segmentation method has a different meaning. If found segments are too big they become separated by randomly putting centers in the segment and splitting it by using a wavefront algorithm. It's better to turn this off by setting the allowed maximal area very high. + * Some algorithms have specific parameters that change some functionalities of it, which is described in detail in the .yaml file. + +2. Start the action server using the file /ros/launch/room_segmentation_action_server.launch, which executes the /ros/src/room_segmentation_server.cpp file. If the server crashes for some reason (e.g. no valid map given by the client) it respawns with a little delay. + +3. Start an action client, which sends a goal to the segmentation action server, corresponding to the MapSegmentation.action message, which lies in ipa_building_msgs/action. The goal consists of the following parts + + * input_map: The map that should be segmented, as sensor_msgs/Image. **Has to be a 8-Bit single channel image, with 0 as occupied space and 255 as free space**. + * map_resolution: The resolution the map has been sampled with [meter/cell]. + * map_origin: The origin of the map in [meter] to bring the provided map coordinates in absolute coordinates, if wanted. + * return_format_in_pixel: Boolean to indicate if the results should be returned in pixel-coordinates. + * return_format_in_meter: Boolean to indicate if the results should be returned in absolute coordinates. + * robot_radius: The radius of your robot. If this is set to a value greater than 0 the room centers are chosen at locally reachable areas. +4. The action server returns a result, that has the following parts + * segmented_map: The map with the N found segments drawn in. The value of a pixel indicates its ID, which can be used to find pixels belonging to one room. The IDs start at 1 and go up to N, the **return format is 32-Bit single channel**. + * RoomInformation: For each found room the min/max x/y coordinate of points belonging to this room and the center is provided. See ipa_building_msgs/msg/RoomInformation.msg for details. This can be in pixel coordinates or absolute coordinates, depending on the booleans defined above. + * doorway_points: The fifth algorithm (voronoi random field segmentation) is capable of predicting doorways. If this algorithm is chosen, central points on a computed voronoi graph are returned that were labeled as doorways. + +A Client also can change the parameters of the server by using dynamic_reconfigure. This can be done using the dynamic_reconfigure_client.h file that provides a client for this purpose. With client.setConfig("param_name", value) one specific parameter can be changed from the client, see ros/src/room_segmentation_client.cpp for an example. Of course rqt_reconfigure can also be used to change specific parameters. + +The algorithms are implemented in common/src, using the headers in common/include/ipa_room_segmentation. Each algorithm has its own class, so if you want to use it alone you have to include the header for the algorithm you want to use and make a new object. Then you have to execute the segmentMap() function, which segments the map. + +For large maps the algorithms can take a few minutes to complete the segmentation, especially the semantic and voronoi random field segmentation. If you want fast results, the morphological and distance segmentation are the fastest, but they might return not the best results if you have wide open spaces. To see results on different maps, see [http://wiki.ros.org/ipa_room_segmentation](http://wiki.ros.org/ipa_room_segmentation). + +# Available algorithms + +1. Morphological segmentation: Given the map as binary image, a binary erosion is iteratively applied. After each step, the algorithm searches for separate regions that have an area in the defined range. If it finds one, this region is saved and drawn black such that it doesn't need to be looked at any further. After all white regions are black, the algorithm stops and draws the segments in an image, then applies a wavefront algorithm to fill remaining white spaces. + +2. Distance segmentation: Out of the given image a distance-map is computed that stores for each white pixel its distance to the nearest black pixel. On this distance-map a threshold operator is applied iteratively that makes every pixel above a certain threshold black and everything beneath it white. After each step the algorithm searches for segments in the given area range and stores them, then increases the threshold. After all possible thresholds have been looked at, the algorithm chooses the segmentation with the most valid segments as segmentation. After that it also draws the segments in an image and applies a wavefront algorithm. + +3. Voronoi segmentation: For the given map a pruned voronoi graph is computed. The points belonging to this graph are then separated into different neighborhoods and searching in this neighborhood for the point with the smallest distance to the black pixels, called a critical point. This critical point is connected with the two closest black pixels, creating a separation of two segments. This algorithm was programmed after Thrun and Bücken [1]. + +4. Semantic segmentation: For each white pixel a 360 degree laserscan is simulated, resulting in different distances to obstacles around this point. These laserscans are then used to compute different features, which are put into two AdaBoost algorithms. These compute the probability that the current point is a room or hallway. Depending on the probabilities a label is given to that point. The same procedure is then repeated for each white pixel in the given map, resulting in different separated regions for rooms/hallways that are treated as segments. This algorithm was programmed after Mozos [2]. + +5. Voronoi Random Field Segmentation: First a pruned voronoi graph is computed for the given map, on that a neighborhood gets concentrated into one central point. After all points are found, neighboring relations are obtained, meaning which node is next to another depending on the voronoi graph. This gives several cliques, resulting in a conditional random field. The features for this CRF are then the weak responses of the AdaBoost classifiers for rooms, doorways and hallways. These AdaBoost classifiers use the same features as the semantic segmentation. On this CRF then a loopy belief propagation is done, resulting in several intersected segments. This algorithm was programmed after Friedman et al. [3]. + + +# Training + +In this package two algorithms are implemented that use machine-learning techniques, which of course need pre-labeled examples for training. These algorithms are the semantic segmentation and the voronoi random field segmentation. The training procedure starts as soon, as you start the action server. + +**Important**: The algorithms assume that the maps are given as 8-Bit single channel image, with 0 as occupied space and 255 as free space. + +1. The semantic segmentation uses two AdaBoost classifiers, one to detect hallways and one to detect rooms, based on simulated laserscannner-data [2]. +For the training of this algorithm hand-labelled data showing where rooms and where hallways are. To do so see the given files in common/files/training_maps. You can see that for different maps some regions are grey and not white or black. These gray regions show where a hallway/room is, the color itself is not important. +After you have created some training files yourself you have to specify where they lay on your file-system in the room_segmentation_action_server.launch file. When you set the train Boolean to true these given maps are read in and given to the training routine. + +2. The voronoi random field segmentation also uses AdaBoost algorithms to check for rooms/hallways/doorways. Additionally the weak classifier results from these algorithms are used as Features in a conditional random field, resulting in two different algorithms that need to be trained [3]. +Examples for training data for this algorithm can be seen in common/files/training_maps/voronoi_random_field_training. The Data consist of the original maps, with only white and black regions and the labeled maps (training_maps) with colors showing if the class of the current point. Optionally one can also provide additional data to save computation time, the precomputed maps with a voronoi graph drawn in (color 127) and maps that show where nodes are in the given voronoi graph. If you provide one of it you also need to provide the other. +After you created your personal training files you also have to specify the path to them in room_segmentation_action_server.launch. The colors provided in the training maps have the meaning + + - 77: room + - 115: hallway + - 179: doorway + +# Provided test maps + +This package provides a database of 20 floor plans with and without furnitures, used to test the algorithms.Some of these are simulative mapped images, but most are simply drawn using graphics software. The floor maps lie in png format under common/files/test_maps. Relevant are the ones which are existing in a version with furnitures, shown by name extension _furniture. + +Additionally there are ground-truth maps, that show how a human might intersect these maps, shown by the name extension _gt. If you want to color these ground-truth maps, to show the different segments, you can use a flood-fill algorithm for the white pixels to collect each pixel that belong to one segment, because the drawn lines seperates the white spaces from each other. Then you can color each of this found pixel with a color that is unique for this segment. This is done in the computePrecisionRecall() function of the EvaluationSegmentation class (common/src/evaluation_segmentation.cpp) if you want it. + +# References + +[1] Thrun, S., and Bücken, A. Integrating Grid-Based and Topological Maps for Mobile Robot Navigation. In Proceedings of the National Conference on Artificial Intelligence (1996), pp. 944–951. + +[2] Martinez Mozos, O., Rottmann, A., Triebel, R., Jensfelt, P., Burgard, W., et al. Semantic labeling of places using information extracted from laser and vision sensor data (2006) + +[3] Friedman, Stephen, Hanna Pasula, and Dieter Fox. "Voronoi Random Fields: Extracting Topological Structure of Indoor Environments via Place Labeling." IJCAI. Vol. 7. 2007 diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/include/ipa_room_segmentation/dynamic_reconfigure_client.h b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/include/ipa_room_segmentation/dynamic_reconfigure_client.h new file mode 100644 index 0000000..8c9907f --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/include/ipa_room_segmentation/dynamic_reconfigure_client.h @@ -0,0 +1,248 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_segmentation + * + * \author + * Author: Richard Bormann + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 08.2016 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#ifndef _DYNAMIC_RECONFIGURE_CLIENT_H_ +#define _DYNAMIC_RECONFIGURE_CLIENT_H_ + +#include +#include + +#include + +#include +#include +#include +#include + +class DynamicReconfigureClient +{ +public: + DynamicReconfigureClient(ros::NodeHandle& nh, const std::string& dynamic_reconfigure_service_name, const std::string& parameter_updates_topic) + : dynamic_reconfigure_current_config_received_(false), node_handle_(nh), dynamic_reconfigure_service_name_(dynamic_reconfigure_service_name) + { + dynamic_reconfigure_sub_ = node_handle_.subscribe(parameter_updates_topic, 1, &DynamicReconfigureClient::dynamic_reconfigure_current_config_callback, this); + + // receive current configuration + ros::Duration sleep_rate(0.5); + while (dynamic_reconfigure_current_config_received_ == false) + { + ros::spinOnce(); + sleep_rate.sleep(); + } + } + + dynamic_reconfigure::Config& getConfig() + { + boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); + return dynamic_reconfigure_config_; + } + + bool setConfig(const std::string& param_name, const bool param_value) + { + boost::mutex::scoped_lock lock(dynamic_reconfigure_lock_); + + if (dynamic_reconfigure_current_config_received_ == false) + { + ROS_WARN("DynamicReconfigureClient: Did not receive the current configuration, yet."); + return false; + } + + bool found = false; + for (size_t i=0; i. + * + ****************************************************************/ + +#include "ros/ros.h" + +#include +#include +#include + +#include +#include +#include + +#include +#include + +#include +#include +#include +#include + + +#include +#include +#include + +#include +#include +#include +#include +#include + +class RoomSegmentationServer +{ +protected: + + // parameters + //limits for the room-areas + double room_upper_limit_morphological_, room_upper_limit_distance_, room_upper_limit_voronoi_, room_upper_limit_semantic_, room_upper_limit_voronoi_random_, room_upper_limit_passthrough_; + double room_lower_limit_morphological_, room_lower_limit_distance_, room_lower_limit_voronoi_, room_lower_limit_semantic_, room_lower_limit_voronoi_random_, room_lower_limit_passthrough_; + int room_segmentation_algorithm_; // this variable selects the algorithm for room segmentation, + // 1 = morphological segmentation + // 2 = distance segmentation + // 3 = Voronoi segmentation + // 4 = semantic segmentation + // 5 = voronoi-random-field segmentation + // 99 = pass through segmentation + + bool train_semantic_, train_vrf_; //Boolean to say if the algorithm needs to be trained + bool load_semantic_features_; //Boolean to say if the training of the semantic algorithm should load precomputed features + + int voronoi_neighborhood_index_; //Variable for the Voronoi method that specifies the neighborhood that is looked at for critical Point extraction + int voronoi_random_field_epsilon_for_neighborhood_; //Variable that specifies the neighborhood for the vrf-segmentation. + int max_iterations_; //number of iterations for search of neighborhood in voronoi method and vrf method + int min_neighborhood_size_; //Variable that stores the minimum size of a neighborhood, used for the vrf method. + double min_voronoi_random_field_node_distance_; //Variable that shows how near two nodes of the conditional random field can be in the vrf method. [pixel] + int max_voronoi_random_field_inference_iterations_; //Variable that shows how many iterations should max. be done when infering in the conditional random field. + double min_critical_point_distance_factor_; //Variable that sets the minimal distance between two critical Points before one gets eliminated + double max_area_for_merging_; //Variable that shows the maximal area of a room that should be merged with its surrounding rooms + bool display_segmented_map_; // displays the segmented map upon service call + bool publish_segmented_map_; // publishes the segmented map as grid map upon service call + std::vector doorway_points_; // vector that saves the found doorway points, when using the 5th algorithm (vrf) + + std::vector semantic_training_maps_room_file_list_; // list of files containing maps with room labels for training the semantic segmentation + std::vector semantic_training_maps_hallway_file_list_; // list of files containing maps with hallway labels for training the semantic segmentation + std::vector vrf_original_maps_file_list_; // list of files containing the original maps for training the VRF segmentation + std::vector vrf_training_maps_file_list_; // list of files containing the labeled maps for training the VRF segmentation + std::vector vrf_voronoi_maps_file_list_; // list of files containing the Voronoi maps for training the VRF segmentation - these files are optional for training and just yield a speedup + std::vector vrf_voronoi_node_maps_file_list_; // list of files containing the Voronoi node maps for training the VRF segmentation - these files are optional for training and just yield a speedup + + //converter-> Pixel to meter for X coordinate + double convert_pixel_to_meter_for_x_coordinate(const int pixel_valued_object_x, const float map_resolution, const cv::Point2d map_origin) + { + double meter_value_obj_x = (pixel_valued_object_x * map_resolution) + map_origin.x; + return meter_value_obj_x; + } + //converter-> Pixel to meter for Y coordinate + double convert_pixel_to_meter_for_y_coordinate(int pixel_valued_object_y, const float map_resolution, const cv::Point2d map_origin) + { + double meter_value_obj_y = (pixel_valued_object_y * map_resolution) + map_origin.y; + return meter_value_obj_y; + } + + //This is the execution function used by action server + void execute_segmentation_server(const ipa_building_msgs::MapSegmentationGoalConstPtr &goal); + + //Callback for dynamic reconfigure server + void dynamic_reconfigure_callback(ipa_room_segmentation::RoomSegmentationConfig &config, uint32_t level); + + // service for generating a map of one single room from a labeled map + // The request message provides a segmented map which consists of cells with label 0 for inaccessible areas and other number from 1 to N + // for labeling membership with one of the N segmented areas. + // The return message shall deliver the same map but with only one area (segment_of_interest) labeled as 255 and the remainder labeled + // as inaccessible with 0. + bool extractAreaMapFromLabeledMap(ipa_building_msgs::ExtractAreaMapFromLabeledMapRequest& request, ipa_building_msgs::ExtractAreaMapFromLabeledMapResponse& response); + + //!!Important!! + // define the Nodehandle before the action server, or else the server won't start + // + ros::NodeHandle node_handle_; + ros::Publisher map_pub_; + ros::ServiceServer extract_area_map_from_labeled_map_server_; + actionlib::SimpleActionServer room_segmentation_server_; + dynamic_reconfigure::Server room_segmentation_dynamic_reconfigure_server_; + +public: + //initialize the action-server + RoomSegmentationServer(ros::NodeHandle nh, std::string name_of_the_action); + + //Default destructor for the class + ~RoomSegmentationServer(void) + { + } +}; diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server.launch new file mode 100644 index 0000000..6a14b1f --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server.launch @@ -0,0 +1,70 @@ + + + + + + + + + + + ["$(find ipa_room_segmentation)/common/files/training_maps/lab_ipa_room_training_map.png", +"$(find ipa_room_segmentation)/common/files/training_maps/lab_d_room_training_map.png", +"$(find ipa_room_segmentation)/common/files/training_maps/Freiburg52_scan_room_training.png", +"$(find ipa_room_segmentation)/common/files/training_maps/Freiburg52_scan_furnitures_room_training.png", +"$(find ipa_room_segmentation)/common/files/training_maps/lab_intel_furnitures_room_training_map.png"] + + + ["$(find ipa_room_segmentation)/common/files/training_maps/lab_ipa_hallway_training_map.png", +"$(find ipa_room_segmentation)/common/files/training_maps/lab_a_hallway_training_map.png", +"$(find ipa_room_segmentation)/common/files/training_maps/Freiburg52_scan_hallway_training.png", +"$(find ipa_room_segmentation)/common/files/training_maps/Freiburg52_scan_furnitures_hallway_training.png", +"$(find ipa_room_segmentation)/common/files/training_maps/lab_intel_hallway_training_map.png"] + + + + ["$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/Fr52_original.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/Fr101_original.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/lab_intel_original.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/lab_d_furnitures_original.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/lab_ipa_original.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/NLB_original.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/office_e_original.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/office_h_original.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/original_maps/lab_c_furnitures_original.png"] + + + ["$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr52.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_Fr101.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_intel.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_d_furniture.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_ipa.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_NLB_furniture.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_e.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_office_h.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/training_maps/training_lab_c_furnitures.png"] + + + ["$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr52_voronoi.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/Fr101_voronoi.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_intel_voronoi.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_d_furnitures_voronoi.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_ipa_voronoi.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/NLB_voronoi.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_e_voronoi.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/office_h_voronoi.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_maps/lab_c_furnitures_voronoi.png"] + + + ["$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr52_voronoi_nodes.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/Fr101_voronoi_nodes.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_intel_voronoi_nodes.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_d_furnitures_voronoi_nodes.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_ipa_voronoi_nodes.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/NLB_voronoi_nodes.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_e_voronoi_nodes.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/office_h_voronoi_nodes.png", +"$(find ipa_room_segmentation)/common/files/training_maps/voronoi_random_field_training/voronoi_node_maps/lab_c_furnitures_voronoi_nodes.png"] + + + diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server_params.yaml b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server_params.yaml new file mode 100644 index 0000000..eac28af --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/launch/room_segmentation_action_server_params.yaml @@ -0,0 +1,61 @@ +# this variable selects the algorithm for room segmentation +# 1 = morphological segmentation +# 2 = distance segmentation +# 3 = Voronoi segmentation +# 4 = semantic segmentation +# 5 = voronoi random field segmentation +# 99 = passthrough segmentation +# int +room_segmentation_algorithm: 3 + +# displays the segmented map upon service call +# bool +display_segmented_map: false + +# publishes the segmented map as grid map upon service call +# bool +publish_segmented_map: true + +# train the semantic segmentation and the voronoi random field segmentation +train_semantic: false +load_semantic_features: false +train_vrf: false + +# room area factor-> Set the limitation of area of the room -------> in [m^2] +#morphological segmentation: 47.0 - 0.8 (means the room area after eroding/shrinking s.t. too small/big contours are not treated as rooms) +room_area_factor_upper_limit_morphological: 47.0 +room_area_factor_lower_limit_morphological: 0.8 + +#distance segmentation: 163.0 - 0.35 (means the room area after decreasing the boundary for the binary filter s.t. too small/big contours are not treated as rooms) +room_area_factor_upper_limit_distance: 163.0 +room_area_factor_lower_limit_distance: 0.35 + +#Voronoi segmentation: 120.0 - 1.53 (means the max/min area that an area separated by critical lines is allowed to have) +room_area_factor_upper_limit_voronoi: 1000000.0 #120.0 +room_area_factor_lower_limit_voronoi: 0.1 #1.53 + +#Semantic Segmentation: 23.0 - 1.0 (means the max/min area a connected classified region is allowed to have) +room_area_factor_upper_limit_semantic: 1000000.0 # if you choose this value small (i.e 23.0) then too big hallway contours are randomly separated into smaller regions using a watershed algorithm, which can look bad +room_area_factor_lower_limit_semantic: 1.0 + +#Voronoi random field segmentation: 1000000.0 - 1.53 (means the max/min area a connected classified region is allowed to have) +room_area_upper_limit_voronoi_random: 1000000.0 +room_area_lower_limit_voronoi_random: 1.53 + +#Passthrough +room_area_factor_upper_limit_passthrough: 1000000.0 #120.0 +room_area_factor_lower_limit_passthrough: 1.0 + +#parameters for the voronoi segmentation that specify the neighborhood for critical Point extraction and the distance between critical Points. +voronoi_neighborhood_index: 280 #larger value sets a larger neighborhood for searching critical points --> int +max_iterations: 150 #sets the maximal number of iterations to search for a neighborhood, also used for the vrf segmentation --> int +min_critical_point_distance_factor: 0.5 #1.6 #minimal distance factor between two critical points before one of it gets eliminated --> double +max_area_for_merging: 12.5 #maximal area [m²] of a room that should be merged with its surrounding rooms, also used for the voronoi random field segmentation + +#parameters for the voronoi random field segmentation that specify the size of the neighborhood generated on the Voronoi graph, the minimal +#size this neighborhood can have, how far base nodes for each node on the graph need to be apart and how many iterations the inference +#max. should do +voronoi_random_field_epsilon_for_neighborhood: 5 #larger value sets larger neighborhood, concentrated in a node of the conditional random field --> int +min_neighborhood_size: 4 #min size of the above mentioned neighborhood --> int +min_voronoi_random_field_node_distance: 7.0 #min distance the base nodes for each crf node need to be apart --> double +max_voronoi_random_field_inference_iterations: 9000 #max number of iterations the inference algorithm should do --> int diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/evaluation_numeric_properties.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/evaluation_numeric_properties.cpp new file mode 100644 index 0000000..e96da71 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/evaluation_numeric_properties.cpp @@ -0,0 +1,920 @@ +#include "ros/ros.h" +#include +#include +#include + +#include + +#include +#include +#include +#include + +#include +#include +#include + +#include +#include +#include +#include +#include +#include + +void calculate_mean_min_max(const std::vector& values, double& mean, double& min_val, double& max_val) +{ + mean = 0.0; + max_val = 0.0; + min_val = 1e10; + for (size_t i = 0; i < values.size(); ++i) + { + mean += values[i]; + if (values[i] > max_val) + max_val = values[i]; + if (values[i] < min_val) + min_val = values[i]; + } + mean = mean/(double)values.size(); + +} + +double calculate_stddev(const std::vector& values, const double mean) +{ + //calculate the standard deviation + double sigma = 0.; + for (size_t i=0; i(v,u); + for (int dv=-1; dv<=1; ++dv) + { + for (int du=-1; du<=1; ++du) + { + const int nu = u+du; + const int nv = v+dv; + if (nu>=0 && nu=0 && nv(nv,nu)!=label) + return false; + } + } + } + return true; +} + +void calculate_basic_measures(const cv::Mat& map, const double map_resolution, const int number_rooms, std::vector& areas, std::vector& perimeters, + std::vector& area_perimeter_compactness, std::vector& bb_area_compactness, std::vector& pca_eigenvalue_ratio) +{ + areas.clear(); + areas.resize(number_rooms, 0.); + perimeters.clear(); + perimeters.resize(number_rooms, 0.); + area_perimeter_compactness.clear(); + area_perimeter_compactness.resize(number_rooms, 0.); + bb_area_compactness.clear(); + bb_area_compactness.resize(number_rooms, 0.); + pca_eigenvalue_ratio.clear(); + pca_eigenvalue_ratio.resize(number_rooms, 0.); + + std::vector< std::vector< cv::Point > > room_contours(number_rooms); + std::vector< std::vector< cv::Point > > filled_rooms(number_rooms); + + //const double map_resolution = 0.0500; // m/cell + for(size_t v = 0; v < map.rows; ++v) + { + for(size_t u = 0; u < map.cols; ++u) + { + if(map.at(v,u) != 0) + { + const int insert_index = map.at(v,u)-1; + if (insert_index >= number_rooms) + continue; + areas[insert_index] += map_resolution*map_resolution; + filled_rooms[insert_index].push_back(cv::Point(u,v)); + if (check_inner_pixel(map, u, v) == false) + room_contours[insert_index].push_back(cv::Point(u,v)); + } + } + } + for (size_t r=0; r(i, 0) = filled_rooms[r][i].x; + data.at(i, 1) = filled_rooms[r][i].y; + } + cv::PCA pca(data, cv::Mat(), CV_PCA_DATA_AS_ROW); + pca_eigenvalue_ratio[r] = pca.eigenvalues.at(0)/pca.eigenvalues.at(1); + } +} + +//calculate the compactness of the rooms. Compactness factor is given by area/perimeter +std::vector calculate_compactness(std::vector > rooms, const double map_resolution) +{ + double current_area, current_perimeter; + //double map_resolution = 0.05000; + std::vector compactness_factors; + //calculate the area and perimeter for each room using opencv + for (int current_room = 0; current_room < rooms.size(); current_room++) + { + current_area = map_resolution * map_resolution * cv::contourArea(rooms[current_room]); + current_perimeter = map_resolution * cv::arcLength(rooms[current_room], true); + compactness_factors.push_back(current_area / (current_perimeter * current_perimeter)); + } + return compactness_factors; +} + +//calculate too much area of the bounding box +std::vector calculate_bounding_error(std::vector > rooms, const double map_resolution) +{ + std::vector space_errors; + double bounding_box_area, room_area; + //double map_resolution = 0.05000; + cv::RotatedRect current_bounding_box; + //calculate the rotated bounding box for each room and subtract the roomarea from it + for (int current_room = 0; current_room < rooms.size(); current_room++) { + current_bounding_box = cv::minAreaRect(rooms[current_room]); + bounding_box_area = map_resolution * map_resolution * current_bounding_box.size.area(); + room_area = map_resolution * map_resolution * cv::contourArea(rooms[current_room]); + //put the difference in the error vector + space_errors.push_back(bounding_box_area - room_area); + } + return space_errors; +} + +//calculate area for every room +std::vector calculate_areas(std::vector > rooms, const double map_resolution) +{ + std::vector calculated_areas; + //double map_resolution = 0.0500; + for (int current_room = 0; current_room < rooms.size(); current_room++) + { + calculated_areas.push_back(map_resolution * map_resolution * cv::contourArea(rooms[current_room])); + } + return calculated_areas; +} + +//calculate area for every room +std::vector calculate_areas_from_segmented_map(const cv::Mat& map, const double map_resolution, const int number_rooms) +{ + std::vector calculated_areas(number_rooms, 0.); + //const double map_resolution = 0.0500; // m/cell + for(size_t v = 0; v < map.rows; ++v) + for(size_t u = 0; u < map.cols; ++u) + if(map.at(v,u) != 0) + calculated_areas[map.at(v,u)-1] += map_resolution*map_resolution; + + return calculated_areas; +} + +//calculate perimeter for every room +std::vector calculate_perimeters(std::vector > rooms) +{ + std::vector calculated_perimeters; + double map_resoultion = 0.0500; + for (int current_room = 0; current_room < rooms.size(); current_room++) + { + calculated_perimeters.push_back(map_resoultion * cv::arcLength(rooms[current_room], true)); + } + return calculated_perimeters; +} + +//check if every roomcenter is reachable +bool check_reachability(const std::vector >& rooms, const cv::Mat& map) +{ + bool reachable = true; + cv::RotatedRect current_bounding_box; + for (int current_room = 0; current_room < rooms.size(); current_room++) + { + current_bounding_box = minAreaRect(rooms[current_room]); + if (map.at(current_bounding_box.center) == 0) + { + reachable = false; + } + } + return reachable; +} + +//Calculate the length of the major axis of the minimum bounding ellipse +double calc_major_axis(std::vector room) +{ + cv::Point2f points[4]; + std::vector edge_points; + double distance = 0; + double map_resoultion = 0.05; + //saving-variable for the Points of the ellipse + cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(room)); + //get the edge-points of the ellipse + ellipse.points(points); + //saving the Points of the ellipse in a vector + for (int i = 0; i < 4; i++) + { + edge_points.push_back(points[i]); + } + //calculate the distance between the Points and take the largest one + for (int p = 0; p < edge_points.size(); p++) + { + for (int np = 0; np < edge_points.size(); np++) + { + if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2)+ std::pow((edge_points[p].y - edge_points[np].y),2)) > distance) + { + distance = std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + + std::pow((edge_points[p].y - edge_points[np].y),2)); + } + } + } + return map_resoultion * distance; +} + +//Calculate the length of the minor axis of the minimum bounding ellipse +double calc_minor_axis(std::vector room) { + cv::Point2f points[4]; + std::vector edge_points; + double distance = 10000000; + double map_resoultion = 0.05; + //saving-variable for the Points of the ellipse + cv::RotatedRect ellipse = cv::fitEllipse(cv::Mat(room)); + //get the edge-points of the ellipse + ellipse.points(points); + //saving the Points of the ellipse in a vector + for (int i = 0; i < 4; i++) + { + edge_points.push_back(points[i]); + } + //calculate the distance between the Points and take the largest one + for (int p = 0; p < edge_points.size(); p++) + { + for (int np = 0; np < edge_points.size(); np++) + { + //np != p: make sure the distance is nor calculated to the Point itself + if (std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + + std::pow((edge_points[p].y - edge_points[np].y),2)) < distance && np != p) + { + distance = std::sqrt(std::pow((edge_points[p].x - edge_points[np].x), 2) + + std::pow((edge_points[p].y - edge_points[np].y),2)); + } + } + } + return map_resoultion * distance; +} + +//Calculate the Quotient of the langths of the major axis and the minor axis from the fitting ellipse for each room +std::vector calc_Ellipse_axis(std::vector > rooms) +{ + std::vector quotients; + for (int current_room = 0; current_room < rooms.size(); current_room++) + { + quotients.push_back(calc_major_axis(rooms[current_room]) / calc_minor_axis(rooms[current_room])); + } + return quotients; +} + +//Calculate the average distance between room-centers +double calc_average_distance(std::vector > rooms) +{ + double mean = 0.0; + double dx, dy; + double map_resoultion = 0.05; + std::vector centers; + cv::RotatedRect current_bounding_box; + for (int current_room = 0; current_room < rooms.size(); current_room++) + { + current_bounding_box = minAreaRect(rooms[current_room]); + centers.push_back(current_bounding_box.center); + } + //calculate the sum of distances + for (int current_center = 0; current_center < centers.size() - 1; current_center++) + { + dx = centers[current_center].x - centers[current_center + 1].x; + dy = centers[current_center].y - centers[current_center + 1].y; + mean += std::sqrt(std::pow(dx, 2.0) + std::pow(dy, 2.0)); + } + return map_resoultion * (mean / centers.size()); +} + +//Calculate standard deviation of room-areas +double calc_area_deviation(std::vector > rooms, const double map_resolution) +{ + double sigma = 0.0; + double mean = 0.0; + std::vector areas = calculate_areas(rooms, map_resolution); + //calculate the average room-area + for (int current_room = 0; current_room < areas.size(); current_room++) { + mean += areas[current_room]; + } + mean = mean / areas.size(); + //calculate the standard deviation + for (int current_room = 0; current_room < areas.size(); current_room++) { + sigma += std::pow(areas[current_room] - mean, 2.0); + } + sigma = sigma / (areas.size() - 1); + return std::sqrt(sigma); +} + +//Calculate standard deviation of room-perimeters +double calc_perimeter_deviation(std::vector > rooms) +{ + double sigma = 0.0; + double mean = 0.0; + std::vector perimeters = calculate_perimeters(rooms); + //calculate the average room-area + for (int current_room = 0; current_room < perimeters.size();current_room++) + { + mean += perimeters[current_room]; + } + mean = mean / perimeters.size(); + //calculate the standard deviation + for (int current_room = 0; current_room < perimeters.size();current_room++) + { + sigma += std::pow(perimeters[current_room] - mean, 2.0); + } + sigma = sigma / (perimeters.size() - 1); + return std::sqrt(sigma); +} + +//Calculate standard deviation of ellipsis-quotients +double calc_quotients_deviation(std::vector > rooms) +{ + double sigma = 0.0; + double mean = 0.0; + std::vector quotients = calc_Ellipse_axis(rooms); + //calculate the average room-area + for (int current_room = 0; current_room < quotients.size(); + current_room++) { + mean += quotients[current_room]; + } + mean = mean / quotients.size(); + //calculate the standard deviation + for (int current_room = 0; current_room < quotients.size(); + current_room++) { + sigma += std::pow(quotients[current_room] - mean, 2.0); + } + sigma = sigma / (quotients.size() - 1); + return std::sqrt(sigma); +} + +//Calculate standard deviation of bounding-box-errors +double calc_errors_deviation(std::vector > rooms, const double map_resolution) +{ + double sigma = 0.0; + double mean = 0.0; + std::vector errors = calculate_bounding_error(rooms, map_resolution); + //calculate the average room-area + for (int current_room = 0; current_room < errors.size(); current_room++) { + mean += errors[current_room]; + } + mean = mean / errors.size(); + //calculate the standard deviation + for (int current_room = 0; current_room < errors.size(); current_room++) { + sigma += std::pow(errors[current_room] - mean, 2.0); + } + sigma = sigma / (errors.size() - 1); + return std::sqrt(sigma); +} + +int segmentationNameToNumber(const std::string name) +{ + if (name.compare("1morphological") == 0) + return 1; + else if (name.compare("2distance") == 0) + return 2; + else if (name.compare("3voronoi") == 0) + return 3; + else if (name.compare("4semantic") == 0) + return 4; + else if (name.compare("5vrf") == 0) + return 5; + return 1; +} + + +int main(int argc, char **argv) { + ros::init(argc, argv, "evaluation"); + ros::NodeHandle n; +// ros::Subscriber semantic_labeler = n.Subscribe("Laser_scanner", 1000, segmentation_algorithm); + ROS_INFO("Evaluation of the segmented maps. Calculates some Parameters describing the rooms."); +// ros::spin(); + + double map_resolution = 0.05; + + std::vector segmentation_names; + segmentation_names.push_back("1morphological"); + segmentation_names.push_back("2distance"); + segmentation_names.push_back("3voronoi"); + segmentation_names.push_back("4semantic"); + segmentation_names.push_back("5vrf"); + +// std::string map_name = "NLB"; +//// "lab_ipa" //done +//// "lab_c_scan" //done +//// "Freiburg52_scan" //done +//// "Freiburg79_scan" //done +//// "lab_b_scan" //done +//// "lab_intel" //done +//// "Freiburg101_scan" //done +//// "lab_d_scan" //done +//// "lab_f_scan" //done +//// "lab_a_scan" //done +//// "NLB" //done + std::vector< std::string > map_names; + map_names.push_back("lab_ipa"); + map_names.push_back("lab_c_scan"); + map_names.push_back("Freiburg52_scan"); + map_names.push_back("Freiburg79_scan"); + map_names.push_back("lab_b_scan"); + map_names.push_back("lab_intel"); + map_names.push_back("Freiburg101_scan"); + map_names.push_back("lab_d_scan"); + map_names.push_back("lab_f_scan"); + map_names.push_back("lab_a_scan"); + map_names.push_back("NLB"); + map_names.push_back("office_a"); + map_names.push_back("office_b"); + map_names.push_back("office_c"); + map_names.push_back("office_d"); + map_names.push_back("office_e"); + map_names.push_back("office_f"); + map_names.push_back("office_g"); + map_names.push_back("office_h"); + map_names.push_back("office_i"); + map_names.push_back("lab_ipa_furnitures"); + map_names.push_back("lab_c_scan_furnitures"); + map_names.push_back("Freiburg52_scan_furnitures"); + map_names.push_back("Freiburg79_scan_furnitures"); + map_names.push_back("lab_b_scan_furnitures"); + map_names.push_back("lab_intel_furnitures"); + map_names.push_back("Freiburg101_scan_furnitures"); + map_names.push_back("lab_d_scan_furnitures"); + map_names.push_back("lab_f_scan_furnitures"); + map_names.push_back("lab_a_scan_furnitures"); + map_names.push_back("NLB_furnitures"); + map_names.push_back("office_a_furnitures"); + map_names.push_back("office_b_furnitures"); + map_names.push_back("office_c_furnitures"); + map_names.push_back("office_d_furnitures"); + map_names.push_back("office_e_furnitures"); + map_names.push_back("office_f_furnitures"); + map_names.push_back("office_g_furnitures"); + map_names.push_back("office_h_furnitures"); + map_names.push_back("office_i_furnitures"); + + const std::string segmented_map_path = "room_segmentation/"; //ros::package::getPath("ipa_room_segmentation") + "/common/files/segmented_maps/"; + const std::string command = "mkdir -p " + segmented_map_path; + int return_value = system(command.c_str()); + + // matrices to store results + // evaluation criteria are stored row-wise, i.e. each row stores a criterion + // - algorithm runtime in seconds [row 0] + // - number segments [row 1] + // - segment area (mean, min/max, std) [rows 2-5] + // - segment perimeter (mean, min/max, std) [rows 6-9] + // - area/perimeter compactness (mean, min/max, std) [rows 10-13] + // - area/bounding box compactness (mean, min/max, std) [rows 14-17] + // - spherical/ellipsoid measure (mean, min/max, std) [rows 18-21] + // - fit with giving ground truth (average of recalls, average recall, average of precisions, average precision) [rows 22-25] + std::vector results(segmentation_names.size()); + for (size_t i=0; i segments_number_vector(segmentation_names.size()); + std::vector av_area_vector(segmentation_names.size()), max_area_vector(segmentation_names.size()), min_area_vector(segmentation_names.size()), dev_area_vector(segmentation_names.size()); + std::vector av_per_vector(segmentation_names.size()), max_per_vector(segmentation_names.size()), min_per_vector(segmentation_names.size()), dev_per_vector(segmentation_names.size()); + std::vector av_compactness_vector(segmentation_names.size()), max_compactness_vector(segmentation_names.size()), min_compactness_vector(segmentation_names.size()), dev_compactness_vector(segmentation_names.size()); + std::vector av_bb_vector(segmentation_names.size()), max_bb_vector(segmentation_names.size()), min_bb_vector(segmentation_names.size()), dev_bb_vector(segmentation_names.size()); + std::vector av_quo_vector(segmentation_names.size()), max_quo_vector(segmentation_names.size()), min_quo_vector(segmentation_names.size()), dev_quo_vector(segmentation_names.size()); + std::vector reachable(segmentation_names.size()); + + //load map + std::string map_name = map_names[image_index]; + std::string image_filename = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name + ".png"; + std::cout << "map: " << image_filename << std::endl; + cv::Mat map = cv::imread(image_filename.c_str(), 0); + //make non-white pixels black + for (int y = 0; y < map.rows; y++) + { + for (int x = 0; x < map.cols; x++) + { + //find not reachable regions and make them black + if (map.at(y, x) >= 250) + map.at(y, x) = 255; + else + map.at(y, x) = 0; + } + } + + //calculate parameters for each segmentation and save it + for (size_t segmentation_index = 0; segmentation_index < segmentation_names.size();++segmentation_index) + { + std::cout << "Evaluating image '" << map_name << "' with segmentation method " << segmentation_names[segmentation_index] << std::endl; + + // do the segmentation + // =================== + sensor_msgs::Image labeling; + cv_bridge::CvImage cv_image; + // cv_image.header.stamp = ros::Time::now(); + cv_image.encoding = "mono8"; + cv_image.image = map; + cv_image.toImageMsg(labeling); + // create the action client --> "name of server" + // true causes the client to spin its own thread + actionlib::SimpleActionClient ac("room_segmentation_server", true); + + ROS_INFO("Waiting for action server to start."); + // wait for the action server to start + ac.waitForServer(); //will wait for infinite time + ROS_INFO("Action server started, sending goal."); + + // send dynamic reconfigure config + DynamicReconfigureClient drc(n, "room_segmentation_server/set_parameters", "room_segmentation_server/parameter_updates"); + const int room_segmentation_algorithm = segmentationNameToNumber(segmentation_names[segmentation_index]); + drc.setConfig("room_segmentation_algorithm", room_segmentation_algorithm); + if(room_segmentation_algorithm == 1) //morpho + { + drc.setConfig("room_area_factor_lower_limit_morphological", 0.8); + drc.setConfig("room_area_factor_upper_limit_morphological", 47.0); + ROS_INFO("You have chosen the morphological segmentation."); + } + if(room_segmentation_algorithm == 2) //distance + { + drc.setConfig("room_area_factor_lower_limit_distance", 0.35); + drc.setConfig("room_area_factor_upper_limit_distance", 163.0); + ROS_INFO("You have chosen the distance segmentation."); + } + if(room_segmentation_algorithm == 3) //voronoi + { + drc.setConfig("room_area_factor_lower_limit_voronoi", 0.1); //1.53; + drc.setConfig("room_area_factor_upper_limit_voronoi", 1000000.); //120.0; + drc.setConfig("voronoi_neighborhood_index", 280); + drc.setConfig("max_iterations", 150); + drc.setConfig("min_critical_point_distance_factor", 0.5); //1.6; + drc.setConfig("max_area_for_merging", 12.5); + ROS_INFO("You have chosen the Voronoi segmentation"); + } + if(room_segmentation_algorithm == 4) //semantic + { + drc.setConfig("room_area_factor_lower_limit_semantic", 1.0); + drc.setConfig("room_area_factor_upper_limit_semantic", 1000000.);//23.0; + ROS_INFO("You have chosen the semantic segmentation."); + } + if(room_segmentation_algorithm == 5) //voronoi random field + { + drc.setConfig("room_area_lower_limit_voronoi_random", 1.53); //1.53 + drc.setConfig("room_area_upper_limit_voronoi_random", 1000000.); //1000000.0 + drc.setConfig("max_iterations", 150); + drc.setConfig("voronoi_random_field_epsilon_for_neighborhood", 7); + drc.setConfig("min_neighborhood_size", 5); + drc.setConfig("min_voronoi_random_field_node_distance", 7.0); // [pixel] + drc.setConfig("max_voronoi_random_field_inference_iterations", 9000); + drc.setConfig("max_area_for_merging", 12.5); + ROS_INFO("You have chosen the Voronoi random field segmentation."); + } + + // send a goal to the action + ipa_building_msgs::MapSegmentationGoal goal; + goal.input_map = labeling; + goal.map_origin.position.x = 0; + goal.map_origin.position.y = 0; + goal.map_resolution = map_resolution; + goal.return_format_in_meter = false; + goal.return_format_in_pixel = true; + //goal.room_segmentation_algorithm = segmentationNameToNumber(segmentation_names[segmentation_index]); + goal.robot_radius = 0.3; + Timer tim; + ac.sendGoal(goal); + + //wait for the action to return + bool finished_before_timeout = ac.waitForResult(); + if (!finished_before_timeout) + continue; + + double runtime = tim.getElapsedTimeInSec(); + ROS_INFO("Finished successfully!"); + + // retrieve segmentation + ipa_building_msgs::MapSegmentationResultConstPtr result = ac.getResult(); + std::cout << "number of found doorways: " << result->doorway_points.size() << std::endl; + cv_bridge::CvImagePtr cv_ptr_seq = cv_bridge::toCvCopy(result->segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); + cv::Mat segmented_map = cv_ptr_seq->image; + + // generate colored segmented_map + cv::Mat color_segmented_map; + segmented_map.convertTo(color_segmented_map, CV_8U); + cv::cvtColor(color_segmented_map, color_segmented_map, CV_GRAY2BGR); + for(size_t i = 1; i <= result->room_information_in_pixel.size(); ++i) + { + //choose random color for each room + const cv::Vec3b color((rand() % 250) + 1, (rand() % 250) + 1, (rand() % 250) + 1); + for(size_t v = 0; v < segmented_map.rows; ++v) + for(size_t u = 0; u < segmented_map.cols; ++u) + if(segmented_map.at(v,u) == i) + color_segmented_map.at(v,u) = color; + } + std::string image_filename = segmented_map_path + map_name + "_segmented_" + segmentation_names[segmentation_index] + ".png"; + cv::imwrite(image_filename, color_segmented_map); + + + // evaluation: numeric properties + // ============================== + std::vector areas; + std::vector perimeters; + std::vector area_perimeter_compactness; + std::vector bb_area_compactness; + std::vector pca_eigenvalue_ratio; + calculate_basic_measures(segmented_map, map_resolution, (int)result->room_information_in_pixel.size(), areas, perimeters, area_perimeter_compactness, bb_area_compactness, pca_eigenvalue_ratio); + + // runtime + results[segmentation_index].at(0, image_index) = runtime; + + // number of segments + results[segmentation_index].at(1, image_index) = segments_number_vector[segmentation_index] = areas.size(); + + // area + //std::vector areas = calculate_areas_from_segmented_map(segmented_map, (int)result->room_information_in_pixel.size()); + double average = 0.0; + double max_area = 0.0; + double min_area = 100000000; + calculate_mean_min_max(areas, average, min_area, max_area); + results[segmentation_index].at(2, image_index) = av_area_vector[segmentation_index] = average; + results[segmentation_index].at(3, image_index) = max_area_vector[segmentation_index] = max_area; + results[segmentation_index].at(4, image_index) = min_area_vector[segmentation_index] = min_area; + results[segmentation_index].at(5, image_index) = dev_area_vector[segmentation_index] = calculate_stddev(areas, average); + + // perimeters + //std::vector perimeters = calculate_perimeters(saved_contours); + average = 0.0; + double max_per = 0.0; + double min_per = 100000000; + calculate_mean_min_max(perimeters, average, min_per, max_per); + results[segmentation_index].at(6, image_index) = av_per_vector[segmentation_index] = average; + results[segmentation_index].at(7, image_index) = max_per_vector[segmentation_index] = max_per; + results[segmentation_index].at(8, image_index) = min_per_vector[segmentation_index] = min_per; + results[segmentation_index].at(9, image_index) = dev_per_vector[segmentation_index] = calculate_stddev(perimeters, average); + + // area compactness + //std::vector area_perimeter_compactness = calculate_compactness(saved_contours); + average = 0.0; + double max_compactness = 0; + double min_compactness = 100000000; + calculate_mean_min_max(area_perimeter_compactness, average, min_compactness, max_compactness); + results[segmentation_index].at(10, image_index) = av_compactness_vector[segmentation_index] = average; + results[segmentation_index].at(11, image_index) = max_compactness_vector[segmentation_index] = max_compactness; + results[segmentation_index].at(12, image_index) = min_compactness_vector[segmentation_index] = min_compactness; + results[segmentation_index].at(13, image_index) = dev_compactness_vector[segmentation_index] = calculate_stddev(area_perimeter_compactness, average); + + // bounding box + //std::vector bb_area_compactness = calculate_bounding_error(saved_contours); + average = 0.0; + double max_error = 0; + double min_error = 10000000; + calculate_mean_min_max(bb_area_compactness, average, min_error, max_error); + results[segmentation_index].at(14, image_index) = av_bb_vector[segmentation_index] = average; + results[segmentation_index].at(15, image_index) = max_bb_vector[segmentation_index] = max_error; + results[segmentation_index].at(16, image_index) = min_bb_vector[segmentation_index] = min_error; + results[segmentation_index].at(17, image_index) = dev_bb_vector[segmentation_index] = calculate_stddev(bb_area_compactness, average); + + // quotient + //std::vector pca_eigenvalue_ratio = calc_Ellipse_axis(saved_contours); + average = 0.0; + double max_quo = 0.0; + double min_quo = 100000000; + calculate_mean_min_max(pca_eigenvalue_ratio, average, min_quo, max_quo); + results[segmentation_index].at(18, image_index) = av_quo_vector[segmentation_index] = average; + results[segmentation_index].at(19, image_index) = max_quo_vector[segmentation_index] = max_quo; + results[segmentation_index].at(20, image_index) = min_quo_vector[segmentation_index] = min_quo; + results[segmentation_index].at(21, image_index) = dev_quo_vector[segmentation_index] = calculate_stddev(pca_eigenvalue_ratio, average); + +// // retrieve room contours +// cv::Mat temporary_map = segmented_map.clone(); +// std::vector > contours, saved_contours; +// std::vector hierarchy; +// for(size_t i = 1; i <= result->room_information_in_pixel.size(); ++i) +// { +// cv::Mat single_room_map = cv::Mat::zeros(segmented_map.rows, segmented_map.cols, CV_8UC1); +// for(size_t v = 0; v < segmented_map.rows; ++v) +// for(size_t u = 0; u < segmented_map.cols; ++u) +// if(segmented_map.at(v,u) == i) +// single_room_map.at(v,u) = 255; +// cv::findContours(single_room_map, contours, hierarchy, CV_RETR_CCOMP, CV_CHAIN_APPROX_NONE); +// cv::drawContours(temporary_map, contours, -1, cv::Scalar(0), CV_FILLED); +// for (int c = 0; c < contours.size(); c++) +// { +// if (map_resolution * map_resolution * cv::contourArea(contours[c]) > 1.0) +// { +// saved_contours.push_back(contours[c]); +// } +// } +// } +// // reachability +// if (check_reachability(saved_contours, segmented_map)) +// { +// reachable[segmentation_index] = true; +// } +// else +// { +// reachable[segmentation_index] = false; +// } + + std::cout << "Basic measures computed." << std::endl; + + // evaluation: against ground truth segmentation + // ============================================= + // load ground truth segmentation (just borders painted in between of rooms/areas, not colored yet --> coloring will be done here) + std::string map_name_basic = map_name; + std::size_t pos = map_name.find("_furnitures"); + if (pos != std::string::npos) + map_name_basic = map_name.substr(0, pos); + std::string gt_image_filename = ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name_basic + "_gt_segmentation.png"; + std::cout << "Loading ground truth segmentation from: " << gt_image_filename << std::endl; + cv::Mat gt_map = cv::imread(gt_image_filename.c_str(),CV_8U); + + // compute recall and precision, store colored gt segmentation + double precision_micro, precision_macro, recall_micro, recall_macro; + cv::Mat gt_map_color; + EvaluationSegmentation es; + es.computePrecisionRecall(gt_map, gt_map_color, segmented_map, precision_micro, precision_macro, recall_micro, recall_macro, true); + std::string gt_image_filename_color = segmented_map_path + map_name + "_gt_color_segmentation.png"; //ros::package::getPath("ipa_room_segmentation") + "/common/files/test_maps/" + map_name + "_gt_color_segmentation.png"; + cv::imwrite(gt_image_filename_color.c_str(), gt_map_color); + + results[segmentation_index].at(22, image_index) = recall_micro; + results[segmentation_index].at(23, image_index) = recall_macro; + results[segmentation_index].at(24, image_index) = precision_micro; + results[segmentation_index].at(25, image_index) = precision_macro; + } + + //write parameters into file + std::stringstream output; + output << "--------------Segmentierungsevaluierung----------------" << std::endl; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << segmentation_names[i] << " & "; + output << std::endl; + output << "Kompaktheitsmaße: " << std::endl; + output << "Durschnitt: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << av_compactness_vector[i] << " & "; + output << std::endl; + output << "Maximum: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << max_compactness_vector[i] << " & "; + output << std::endl; + output << "Minimum: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << min_compactness_vector[i] << " & "; + output << std::endl; + output << "****************************" << std::endl; + + output << "Überflüssige Fläche Bounding Box: " << std::endl; + output << "Durchschnitt Bounding Fehler: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << av_bb_vector[i] << " & "; + output << std::endl; + output << "Maximum: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << max_bb_vector[i] << " & "; + output << std::endl; + output << "Minimum: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << min_bb_vector[i] << " & "; + output << std::endl; + output << "Standardabweichung: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << dev_bb_vector[i] << " & "; + output << std::endl; + output << "**************************************" << std::endl; + + output << "Flächenmaße: " << std::endl; + output << "Durchschnitt: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << av_area_vector[i] << " & "; + output << std::endl; + output << "Maximum: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << max_area_vector[i] << " & "; + output << std::endl; + output << "Minimum: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << min_area_vector[i] << " & "; + output << std::endl; + output << "Standardabweichung: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << dev_area_vector[i] << " & "; + output << std::endl; + output << "**************************************" << std::endl; + + output << "Umfangsmaße: " << std::endl; + output << "Durchschnitt: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << av_per_vector[i] << " & "; + output << std::endl; + output << "Maximum: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << max_per_vector[i] << " & "; + output << std::endl; + output << "Minimum: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << min_per_vector[i] << " & "; + output << std::endl; + output << "Standardabweichung: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << dev_per_vector[i] << " & "; + output << std::endl; + output << "**************************************" << std::endl; + +// output << "Erreichbarkeit für alle Raumzentren: " << std::endl; +// for(size_t i = 0; i < segmentation_names.size(); ++i) +// { +// if(reachable[i] == true) +// output << "Alle Raumzentren erreichbar" << std::endl; +// else +// output << "Nicht alle erreichbar" << std::endl; +// } +// output << "****************************" << std::endl; + + output << "Quotienten der Ellipsenachsen: " << std::endl; + output << "Durchschnitt: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << av_quo_vector[i] << " & "; + output << std::endl; + output << "Maximum: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << max_quo_vector[i] << " & "; + output << std::endl; + output << "Minimum: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << min_quo_vector[i] << " & "; + output << std::endl; + output << "Standardabweichung: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << dev_quo_vector[i] << " & "; + output << std::endl; + output << "**************************************" << std::endl; + + output << "Anzahl Räume: "; + for(size_t i = 0; i < segmentation_names.size(); ++i) + output << segments_number_vector[i] << " & "; + output << std::endl; + output << "**************************************" << std::endl; + + output << "Recall/Precision: " << std::endl; + output << "recall_micro: "; + for(size_t i = 0; i < results.size(); ++i) + output << results[i].at(22, image_index) << " & "; + output << std::endl; + output << "recall_macro: "; + for(size_t i = 0; i < results.size(); ++i) + output << results[i].at(23, image_index) << " & "; + output << std::endl; + output << "precision_micro: "; + for(size_t i = 0; i < results.size(); ++i) + output << results[i].at(24, image_index) << " & "; + output << std::endl; + output << "precision_macro: "; + for(size_t i = 0; i < results.size(); ++i) + output << results[i].at(25, image_index) << " & "; + output << std::endl; + + std::string log_filename = segmented_map_path + map_name + "_evaluation.txt"; + std::ofstream file(log_filename.c_str(), std::ios::out); + if (file.is_open() == true) + file << output.str(); + file.close(); + + // write results summary to file (overwrite in each cycle in order to avoid loosing all data on crash) + for (size_t segmentation_index=0; segmentation_index(r,c) << "\t"; + file << std::endl; + } + } + file.close(); + } + } + + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_client.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_client.cpp new file mode 100644 index 0000000..1a1450a --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_client.cpp @@ -0,0 +1,235 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_segmentation + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 08.2015 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#include +#include + +#include +#include + +#include +#include + +#include + +#include +#include +#include + +//#include +#include + + +int main(int argc, char **argv) +{ + ros::init(argc, argv, "room_segmentation_client"); + ros::NodeHandle nh; + + // map names + std::vector< std::string > map_names; + map_names.push_back("lab_ipa"); + map_names.push_back("lab_c_scan"); + map_names.push_back("Freiburg52_scan"); + map_names.push_back("Freiburg79_scan"); + map_names.push_back("lab_b_scan"); + map_names.push_back("lab_intel"); + map_names.push_back("Freiburg101_scan"); + map_names.push_back("lab_d_scan"); + map_names.push_back("lab_f_scan"); + map_names.push_back("lab_a_scan"); + map_names.push_back("NLB"); + map_names.push_back("office_a"); + map_names.push_back("office_b"); + map_names.push_back("office_c"); + map_names.push_back("office_d"); + map_names.push_back("office_e"); + map_names.push_back("office_f"); + map_names.push_back("office_g"); + map_names.push_back("office_h"); + map_names.push_back("office_i"); + map_names.push_back("lab_ipa_furnitures"); + map_names.push_back("lab_c_scan_furnitures"); + map_names.push_back("Freiburg52_scan_furnitures"); + map_names.push_back("Freiburg79_scan_furnitures"); + map_names.push_back("lab_b_scan_furnitures"); + map_names.push_back("lab_intel_furnitures"); + map_names.push_back("Freiburg101_scan_furnitures"); + map_names.push_back("lab_d_scan_furnitures"); + map_names.push_back("lab_f_scan_furnitures"); + map_names.push_back("lab_a_scan_furnitures"); + map_names.push_back("NLB_furnitures"); + map_names.push_back("office_a_furnitures"); + map_names.push_back("office_b_furnitures"); + map_names.push_back("office_c_furnitures"); + map_names.push_back("office_d_furnitures"); + map_names.push_back("office_e_furnitures"); + map_names.push_back("office_f_furnitures"); + map_names.push_back("office_g_furnitures"); + map_names.push_back("office_h_furnitures"); + map_names.push_back("office_i_furnitures"); + + for (size_t image_index = 0; image_index(y, x) < 250) + { + map.at(y, x) = 0; + } + //else make it white + else + { + map.at(y, x) = 255; + } + } + } +// cv::imshow("map", map); +// cv::waitKey(); + sensor_msgs::Image labeling; + cv_bridge::CvImage cv_image; + // cv_image.header.stamp = ros::Time::now(); + cv_image.encoding = "mono8"; + cv_image.image = map; + cv_image.toImageMsg(labeling); + + // create the action client --> "name of server" + // true causes the client to spin its own thread + actionlib::SimpleActionClient ac("room_segmentation_server", true); + ROS_INFO("Waiting for action server to start."); + // wait for the action server to start + ac.waitForServer(); //will wait for infinite time + ROS_INFO("Action server started, sending goal."); + + // test dynamic reconfigure + DynamicReconfigureClient drc(nh, "room_segmentation_server/set_parameters", "room_segmentation_server/parameter_updates"); + drc.setConfig("room_segmentation_algorithm", 5); +// drc.setConfig("display_segmented_map", true); + //drc.setConfig("room_area_factor_upper_limit_voronoi", 120.0); + + // send a goal to the action + ipa_building_msgs::MapSegmentationGoal goal; + goal.input_map = labeling; + goal.map_origin.position.x = 0; + goal.map_origin.position.y = 0; + goal.map_resolution = 0.05; + goal.return_format_in_meter = false; + goal.return_format_in_pixel = true; + goal.robot_radius = 0.4; + ac.sendGoal(goal); + + //wait for the action to return + bool finished_before_timeout = ac.waitForResult(ros::Duration()); + + if (finished_before_timeout) + { + ROS_INFO("Finished successfully!"); + ipa_building_msgs::MapSegmentationResultConstPtr result_seg = ac.getResult(); + + // display + cv_bridge::CvImagePtr cv_ptr_obj; + cv_ptr_obj = cv_bridge::toCvCopy(result_seg->segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); + cv::Mat segmented_map = cv_ptr_obj->image; + cv::Mat colour_segmented_map = segmented_map.clone(); + colour_segmented_map.convertTo(colour_segmented_map, CV_8U); + cv::cvtColor(colour_segmented_map, colour_segmented_map, CV_GRAY2BGR); + for(size_t i = 1; i <= result_seg->room_information_in_pixel.size(); ++i) + { + //choose random color for each room + int blue = (rand() % 250) + 1; + int green = (rand() % 250) + 1; + int red = (rand() % 250) + 1; + for(size_t u = 0; u < segmented_map.rows; ++u) + { + for(size_t v = 0; v < segmented_map.cols; ++v) + { + if(segmented_map.at(u,v) == i) + { + colour_segmented_map.at(u,v)[0] = blue; + colour_segmented_map.at(u,v)[1] = green; + colour_segmented_map.at(u,v)[2] = red; + } + } + } + } + //draw the room centers into the map + for(size_t i = 0; i < result_seg->room_information_in_pixel.size(); ++i) + { + cv::Point current_center (result_seg->room_information_in_pixel[i].room_center.x, result_seg->room_information_in_pixel[i].room_center.y); +#if CV_MAJOR_VERSION<=3 + cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), CV_FILLED); +#else + cv::circle(colour_segmented_map, current_center, 2, CV_RGB(0,0,255), cv::FILLED); +#endif + } + + cv::imshow("segmentation", colour_segmented_map); + cv::waitKey(); + } + } + + //exit + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_server.cpp b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_server.cpp new file mode 100644 index 0000000..8dbe04d --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/src/room_segmentation_server.cpp @@ -0,0 +1,895 @@ +/*! + ***************************************************************** + * \file + * + * \note + * Copyright (c) 2015 \n + * Fraunhofer Institute for Manufacturing Engineering + * and Automation (IPA) \n\n + * + ***************************************************************** + * + * \note + * Project name: Care-O-bot + * \note + * ROS stack name: autopnp + * \note + * ROS package name: ipa_room_segmentation + * + * \author + * Author: Florian Jordan + * \author + * Supervised by: Richard Bormann + * + * \date Date of creation: 08.2015 + * + * \brief + * + * + ***************************************************************** + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * - Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. \n + * - Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. \n + * - Neither the name of the Fraunhofer Institute for Manufacturing + * Engineering and Automation (IPA) nor the names of its + * contributors may be used to endorse or promote products derived from + * this software without specific prior written permission. \n + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License LGPL as + * published by the Free Software Foundation, either version 3 of the + * License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License LGPL for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License LGPL along with this program. + * If not, see . + * + ****************************************************************/ + +#include + +#include +#include +#include + +#include + +static bool DEBUG_DISPLAYS=false; + +RoomSegmentationServer::RoomSegmentationServer(ros::NodeHandle nh, std::string name_of_the_action) : + node_handle_(nh), + room_segmentation_server_(node_handle_, name_of_the_action, boost::bind(&RoomSegmentationServer::execute_segmentation_server, this, _1), false) +{ + // parameters to check if the algorithms need to be trained (not part of dynamic reconfigure) + node_handle_.param("train_semantic", train_semantic_, false); + std::cout << "room_segmentation/train_semantic_ = " << train_semantic_ << std::endl; + node_handle_.param("load_semantic_features", load_semantic_features_, false); + std::cout << "room_segmentation/load_semantic_features = " << load_semantic_features_ << std::endl; + node_handle_.param("train_vrf", train_vrf_, false); + std::cout << "room_segmentation/train_vrf_ = " << train_vrf_ << std::endl; + + // dynamic reconfigure + room_segmentation_dynamic_reconfigure_server_.setCallback(boost::bind(&RoomSegmentationServer::dynamic_reconfigure_callback, this, _1, _2)); + + // parameters + std::cout << "\n------------------------------------\nRoom Segmentation Parameters:\n------------------------------------\n"; + node_handle_.param("room_segmentation_algorithm", room_segmentation_algorithm_, 3); + std::cout << "room_segmentation/room_segmentation_algorithm = " << room_segmentation_algorithm_ << std::endl << std::endl; + if (room_segmentation_algorithm_ == 1) + ROS_INFO("You have chosen the morphological segmentation method."); + else if (room_segmentation_algorithm_ == 2) + ROS_INFO("You have chosen the distance segmentation method."); + else if (room_segmentation_algorithm_ == 3) + ROS_INFO("You have chosen the voronoi segmentation method."); + else if (room_segmentation_algorithm_ == 4) + ROS_INFO("You have chosen the semantic segmentation method."); + else if (room_segmentation_algorithm_ == 5) + ROS_INFO("You have chosen the voronoi random field segmentation method."); + std::cout << std::endl; + + //if (room_segmentation_algorithm_ == 1) //set morphological parameters + { + node_handle_.param("room_area_factor_upper_limit_morphological", room_upper_limit_morphological_, 47.0); + std::cout << "room_segmentation/room_area_factor_upper_limit = " << room_upper_limit_morphological_ << std::endl; + node_handle_.param("room_area_factor_lower_limit_morphological", room_lower_limit_morphological_, 0.8); + std::cout << "room_segmentation/room_area_factor_lower_limit = " << room_lower_limit_morphological_ << std::endl; + } + //if (room_segmentation_algorithm_ == 2) //set distance parameters + { + node_handle_.param("room_area_factor_upper_limit_distance", room_upper_limit_distance_, 163.0); + std::cout << "room_segmentation/room_area_factor_upper_limit = " << room_upper_limit_distance_ << std::endl; + node_handle_.param("room_area_factor_lower_limit_distance", room_lower_limit_distance_, 0.35); + std::cout << "room_segmentation/room_area_factor_lower_limit = " << room_lower_limit_distance_ << std::endl; + } + //if (room_segmentation_algorithm_ == 3) //set voronoi parameters + { + node_handle_.param("room_area_factor_upper_limit_voronoi", room_upper_limit_voronoi_, 120.0); + std::cout << "room_segmentation/room_area_factor_upper_limit = " << room_upper_limit_voronoi_ << std::endl; + node_handle_.param("room_area_factor_lower_limit_voronoi", room_lower_limit_voronoi_, 1.53); + std::cout << "room_segmentation/room_area_factor_lower_limit = " << room_lower_limit_voronoi_ << std::endl; + node_handle_.param("voronoi_neighborhood_index", voronoi_neighborhood_index_, 280); + std::cout << "room_segmentation/voronoi_neighborhood_index = " << voronoi_neighborhood_index_ << std::endl; + node_handle_.param("max_iterations", max_iterations_, 150); + std::cout << "room_segmentation/max_iterations = " << max_iterations_ << std::endl; + node_handle_.param("min_critical_point_distance_factor", min_critical_point_distance_factor_, 1.6); + std::cout << "room_segmentation/min_critical_point_distance_factor = " << min_critical_point_distance_factor_ << std::endl; + node_handle_.param("max_area_for_merging", max_area_for_merging_, 12.5); + std::cout << "room_segmentation/max_area_for_merging = " << max_area_for_merging_ << std::endl; + } + //if (room_segmentation_algorithm_ == 4 || train_semantic_ == true) //set semantic parameters + { + node_handle_.param("room_area_factor_upper_limit_semantic", room_upper_limit_semantic_, 23.0); + std::cout << "room_segmentation/room_area_factor_upper_limit = " << room_upper_limit_semantic_ << std::endl; + node_handle_.param("room_area_factor_lower_limit_semantic", room_lower_limit_semantic_, 1.0); + std::cout << "room_segmentation/room_area_factor_lower_limit = " << room_lower_limit_semantic_ << std::endl; + + // train the algorithm if wanted + if(train_semantic_ == true) + { + AdaboostClassifier semantic_segmentation; + const std::string package_path = ros::package::getPath("ipa_room_segmentation"); + const std::string classifier_default_path = package_path + "/common/files/classifier_models/"; + const std::string classifier_path = "room_segmentation/classifier_models/"; + + // load files to train the algorithm + node_handle_.getParam("semantic_training_maps_room_file_list", semantic_training_maps_room_file_list_); + std::cout << "room_segmentation/semantic_training_maps_room_file_list = \n"; + for (size_t i=0; i room_training_maps; + for (size_t i=0; i hallway_training_maps; + for (size_t i=0; i possible_labels(3); + possible_labels[0] = 77; + possible_labels[1] = 115; + possible_labels[2] = 179; + + // read given paths to training files + node_handle_.getParam("vrf_original_maps_file_list", vrf_original_maps_file_list_); + std::cout << "room_segmentation/vrf_original_maps_file_list = \n"; + for (size_t i=0; i training_maps; + for (size_t i=0; i voronoi_maps; + for (size_t i=0; i voronoi_node_maps; + for (size_t i=0; i original_maps; + for (size_t i=0; iroom_segmentation_algorithm > 0) + room_segmentation_algorithm_ = goal->room_segmentation_algorithm; + + ros::Rate looping_rate(1); + ROS_INFO("*****Segmentation action server*****"); + ROS_INFO("map resolution is : %f", goal->map_resolution); + ROS_INFO("segmentation algorithm: %d", room_segmentation_algorithm_); + + //converting the map msg in cv format + cv_bridge::CvImagePtr cv_ptr_obj; + cv_ptr_obj = cv_bridge::toCvCopy(goal->input_map, sensor_msgs::image_encodings::MONO8); + cv::Mat original_img = cv_ptr_obj->image; + + //set the resolution and the limits for the actual goal and the Map origin + const float map_resolution = goal->map_resolution; + const cv::Point2d map_origin(goal->map_origin.position.x, goal->map_origin.position.y); + + // these preset values are deactivated because they would override the dynamic reconfigure configuration +// const int room_segmentation_algorithm_value = room_segmentation_algorithm_; +// if (goal->room_segmentation_algorithm > 0 && goal->room_segmentation_algorithm < 6) +// { +// room_segmentation_algorithm_ = goal->room_segmentation_algorithm; +// if(room_segmentation_algorithm_ == 1) //morpho +// { +// room_lower_limit_morphological_ = 0.8; +// room_upper_limit_morphological_ = 47.0; +// ROS_INFO("You have chosen the morphologcial segmentation."); +// } +// if(room_segmentation_algorithm_ == 2) //distance +// { +// room_lower_limit_distance_ = 0.35; +// room_upper_limit_distance_ = 163.0; +// ROS_INFO("You have chosen the distance segmentation."); +// } +// if(room_segmentation_algorithm_ == 3) //voronoi +// { +// room_lower_limit_voronoi_ = 0.1; //1.53; +// room_upper_limit_voronoi_ = 1000000.; //120.0; +// voronoi_neighborhood_index_ = 280; +// max_iterations_ = 150; +// min_critical_point_distance_factor_ = 0.5; //1.6; +// max_area_for_merging_ = 12.5; +// ROS_INFO("You have chosen the Voronoi segmentation"); +// } +// if(room_segmentation_algorithm_ == 4) //semantic +// { +// room_lower_limit_semantic_ = 1.0; +// room_upper_limit_semantic_ = 1000000.;//23.0; +// ROS_INFO("You have chosen the semantic segmentation."); +// } +// if(room_segmentation_algorithm_ == 5) //voronoi random field +// { +// room_lower_limit_voronoi_random_ = 1.53; //1.53 +// room_upper_limit_voronoi_random_ = 1000000.; //1000000.0 +// voronoi_random_field_epsilon_for_neighborhood_ = 7; +// min_neighborhood_size_ = 5; +// min_voronoi_random_field_node_distance_ = 7; // [pixel] +// max_voronoi_random_field_inference_iterations_ = 9000; +// max_area_for_merging_ = 12.5; +// ROS_INFO("You have chosen the voronoi random field segmentation."); +// } +// } + + + //segment the given map + cv::Mat segmented_map; + if (room_segmentation_algorithm_ == 1) + { + MorphologicalSegmentation morphological_segmentation; //morphological segmentation method + morphological_segmentation.segmentMap(original_img, segmented_map, map_resolution, room_lower_limit_morphological_, room_upper_limit_morphological_); + } + else if (room_segmentation_algorithm_ == 2) + { + DistanceSegmentation distance_segmentation; //distance segmentation method + distance_segmentation.segmentMap(original_img, segmented_map, map_resolution, room_lower_limit_distance_, room_upper_limit_distance_); + } + else if (room_segmentation_algorithm_ == 3) + { + VoronoiSegmentation voronoi_segmentation; //voronoi segmentation method + voronoi_segmentation.segmentMap(original_img, segmented_map, map_resolution, room_lower_limit_voronoi_, room_upper_limit_voronoi_, + voronoi_neighborhood_index_, max_iterations_, min_critical_point_distance_factor_, max_area_for_merging_, (display_segmented_map_&&DEBUG_DISPLAYS)); + } + else if (room_segmentation_algorithm_ == 4) + { + AdaboostClassifier semantic_segmentation; //semantic segmentation method + const std::string package_path = ros::package::getPath("ipa_room_segmentation"); + const std::string classifier_default_path = package_path + "/common/files/classifier_models/"; + const std::string classifier_path = "room_segmentation/classifier_models/"; + semantic_segmentation.segmentMap(original_img, segmented_map, map_resolution, room_lower_limit_semantic_, room_upper_limit_semantic_, + classifier_path, classifier_default_path, (display_segmented_map_&&DEBUG_DISPLAYS)); + } + else if (room_segmentation_algorithm_ == 5) + { + VoronoiRandomFieldSegmentation vrf_segmentation; //voronoi random field segmentation method + const std::string package_path = ros::package::getPath("ipa_room_segmentation"); + std::string classifier_default_path = package_path + "/common/files/classifier_models/"; + std::string classifier_storage_path = "room_segmentation/classifier_models/"; + // vector that stores the possible labels that are drawn in the training maps. Order: room - hallway - doorway + std::vector possible_labels(3); + possible_labels[0] = 77; + possible_labels[1] = 115; + possible_labels[2] = 179; + doorway_points_.clear(); + vrf_segmentation.segmentMap(original_img, segmented_map, voronoi_random_field_epsilon_for_neighborhood_, max_iterations_, + min_neighborhood_size_, possible_labels, min_voronoi_random_field_node_distance_, + (display_segmented_map_&&DEBUG_DISPLAYS), classifier_storage_path, classifier_default_path, max_voronoi_random_field_inference_iterations_, + map_resolution, room_lower_limit_voronoi_random_, room_upper_limit_voronoi_random_, max_area_for_merging_, &doorway_points_); + } + else if (room_segmentation_algorithm_ == 99) + { + // pass through segmentation: takes a map which is already separated into unconnected areas and returns these as the resulting segmentation in the format of this program + // todo: closing operation explicitly for bad maps --> needs parameterization + //original_img.convertTo(segmented_map, CV_32SC1, 256, 0); // occupied space = 0, free space = 65280 + cv::Mat original_img_eroded, temp; + cv::erode(original_img, temp, cv::Mat(), cv::Point(-1, -1), 3); + cv::dilate(temp, original_img_eroded, cv::Mat(), cv::Point(-1, -1), 3); + original_img_eroded.convertTo(segmented_map, CV_32SC1, 256, 0); // occupied space = 0, free space = 65280 + int label_index = 1; + +// cv::imshow("original_img", original_img_eroded); +// cv::waitKey(); + + for (int y = 0; y < segmented_map.rows; y++) + { + for (int x = 0; x < segmented_map.cols; x++) + { + // if original map is occupied space here or if the segmented map has already received a label for that cell --> skip + if (original_img_eroded.at(y,x) != 255 || segmented_map.at(y,x)!=65280) + continue; + + // fill each room area with a unique id + cv::Rect rect; + cv::floodFill(segmented_map, cv::Point(x,y), label_index, &rect, 0, 0, 4); + + // determine filled area + double area = 0; + for (int v = rect.y; v < segmented_map.rows; v++) + for (int u = rect.x; u < segmented_map.cols; u++) + if (segmented_map.at(v,u)==label_index) + area += 1.; + area = map_resolution * map_resolution * area; // convert from cells to m^2 + + // exclude too small and too big rooms + if (area < room_lower_limit_passthrough_ || area > room_upper_limit_passthrough_) + { + for (int v = rect.y; v < segmented_map.rows; v++) + for (int u = rect.x; u < segmented_map.cols; u++) + if (segmented_map.at(v,u)==label_index) + segmented_map.at(v,u) = 0; + } + else + label_index++; + } + } + std::cout << "Labeled " << label_index-1 << " segments." << std::endl; + } + else + { + ROS_ERROR("Undefined algorithm selected."); + room_segmentation_algorithm_ = stored_room_segmentation_algorithm; + return; + } + + ROS_INFO("********Segmented the map************"); + // looping_rate.sleep(); + + // get the min/max-values and the room-centers + // compute room label codebook + std::map label_vector_index_codebook; // maps each room label to a position in the rooms vector + size_t vector_index = 0; + for (int v = 0; v < segmented_map.rows; ++v) + { + for (int u = 0; u < segmented_map.cols; ++u) + { + const int label = segmented_map.at(v, u); + if (label > 0 && label < 65280) // do not count walls/obstacles or free space as label + { + if (label_vector_index_codebook.find(label) == label_vector_index_codebook.end()) + { + label_vector_index_codebook[label] = vector_index; + vector_index++; + } + } + } + } + //min/max y/x-values vector for each room. Initialized with extreme values + std::vector min_x_value_of_the_room(label_vector_index_codebook.size(), 100000000); + std::vector max_x_value_of_the_room(label_vector_index_codebook.size(), 0); + std::vector min_y_value_of_the_room(label_vector_index_codebook.size(), 100000000); + std::vector max_y_value_of_the_room(label_vector_index_codebook.size(), 0); + //vector of the central Point for each room, initially filled with Points out of the map + std::vector room_centers_x_values(label_vector_index_codebook.size(), -1); + std::vector room_centers_y_values(label_vector_index_codebook.size(), -1); + //***********************Find min/max x and y coordinate and center of each found room******************** + //check y/x-value for every Pixel and make the larger/smaller value to the current value of the room + for (int y = 0; y < segmented_map.rows; ++y) + { + for (int x = 0; x < segmented_map.cols; ++x) + { + const int label = segmented_map.at(y, x); + if (label > 0 && label < 65280) //if Pixel is white or black it is no room --> doesn't need to be checked + { + const int index = label_vector_index_codebook[label]; + min_x_value_of_the_room[index] = std::min(x, min_x_value_of_the_room[index]); + max_x_value_of_the_room[index] = std::max(x, max_x_value_of_the_room[index]); + max_y_value_of_the_room[index] = std::max(y, max_y_value_of_the_room[index]); + min_y_value_of_the_room[index] = std::min(y, min_y_value_of_the_room[index]); + } + } + } + //get centers for each room +// for (size_t idx = 0; idx < room_centers_x_values.size(); ++idx) +// { +// if (max_x_value_of_the_room[idx] != 0 && max_y_value_of_the_room[idx] != 0 && min_x_value_of_the_room[idx] != 100000000 && min_y_value_of_the_room[idx] != 100000000) +// { +// room_centers_x_values[idx] = (min_x_value_of_the_room[idx] + max_x_value_of_the_room[idx]) / 2; +// room_centers_y_values[idx] = (min_y_value_of_the_room[idx] + max_y_value_of_the_room[idx]) / 2; +// cv::circle(segmented_map, cv::Point(room_centers_x_values[idx], room_centers_y_values[idx]), 2, cv::Scalar(200*256), CV_FILLED); +// } +// } + // use distance transform and mean shift to find good room centers that are reachable by the robot + // first check whether a robot radius shall be applied to obstacles in order to exclude room center points that are not reachable by the robot + cv::Mat segmented_map_copy = segmented_map; + cv::Mat connection_to_other_rooms = cv::Mat::zeros(segmented_map.rows, segmented_map.cols, CV_8UC1); // stores for each pixel whether a path to another rooms exists for a robot of size robot_radius + if (goal->robot_radius > 0.0) + { + // consider robot radius for exclusion of non-reachable points + segmented_map_copy = segmented_map.clone(); + cv::Mat map_8u, eroded_map; + segmented_map_copy.convertTo(map_8u, CV_8UC1, 1., 0.); + int number_of_erosions = (goal->robot_radius / goal->map_resolution); + cv::erode(map_8u, eroded_map, cv::Mat(), cv::Point(-1, -1), number_of_erosions); + for (int v=0; v(v,u) == 0) + segmented_map_copy.at(v,u) = 0; + + // compute connectivity of remaining accessible room cells to other rooms + bool stop = false; + while (stop == false) + { + stop = true; + for (int v=1; v(v,u) != 0) + continue; + + // only consider cells labeled as a room + const int label = segmented_map_copy.at(v,u); + if (label <= 0 || label >= 65280) + continue; + + for (int dv=-1; dv<=1; ++dv) + { + for (int du=-1; du<=1; ++du) + { + if (dv==0 && du==0) + continue; + const int neighbor_label = segmented_map_copy.at(v+dv,u+du); + if (neighbor_label>0 && neighbor_label<65280 && (neighbor_label!=label || (neighbor_label==label && connection_to_other_rooms.at(v+dv,u+du)==255))) + { + // either the room cell has a direct border to a different room or the room cell has a neighbor from the same room label with a connecting path to another room + connection_to_other_rooms.at(v,u) = 255; + stop = false; + } + } + } + } + } + } + } + // compute the room centers + MeanShift2D ms; + for (std::map::iterator it = label_vector_index_codebook.begin(); it != label_vector_index_codebook.end(); ++it) + { + int trial = 1; // use robot_radius to avoid room centers that are not accessible by a robot with a given radius + if (goal->robot_radius <= 0.) + trial = 2; + + for (; trial <= 2; ++trial) + { + // compute distance transform for each room on the room cells that have some connection to another room (trial 1) or just on all cells of that room (trial 2) + const int label = it->first; + int number_room_pixels = 0; + cv::Mat room = cv::Mat::zeros(segmented_map_copy.rows, segmented_map_copy.cols, CV_8UC1); + for (int v = 0; v < segmented_map_copy.rows; ++v) + for (int u = 0; u < segmented_map_copy.cols; ++u) + if (segmented_map_copy.at(v, u) == label && (trial==2 || connection_to_other_rooms.at(v,u)==255)) + { + room.at(v, u) = 255; + ++number_room_pixels; + } + if (number_room_pixels == 0) + continue; + cv::Mat distance_map; //variable for the distance-transformed map, type: CV_32FC1 + cv::distanceTransform(room, distance_map, CV_DIST_L2, 5); + // find point set with largest distance to obstacles + double min_val = 0., max_val = 0.; + cv::minMaxLoc(distance_map, &min_val, &max_val); + std::vector room_cells; + for (int v = 0; v < distance_map.rows; ++v) + for (int u = 0; u < distance_map.cols; ++u) + if (distance_map.at(v, u) > max_val * 0.95f) + room_cells.push_back(cv::Vec2d(u, v)); + if (room_cells.size()==0) + continue; + // use meanshift to find the modes in that set + cv::Vec2d room_center = ms.findRoomCenter(room, room_cells, map_resolution); + const int index = it->second; + room_centers_x_values[index] = room_center[0]; + room_centers_y_values[index] = room_center[1]; + + if (room_cells.size() > 0) + break; + } + } + + // convert the segmented map into an indexed map which labels the segments with consecutive numbers (instead of arbitrary unordered labels in segmented map) + cv::Mat indexed_map = segmented_map.clone(); + for (int y = 0; y < segmented_map.rows; ++y) + { + for (int x = 0; x < segmented_map.cols; ++x) + { + const int label = segmented_map.at(y,x); + if (label > 0 && label < 65280) + indexed_map.at(y,x) = label_vector_index_codebook[label]+1;//start value from 1 --> 0 is reserved for obstacles + } + } + + if (display_segmented_map_ == true) + { + // colorize the segmented map with the indices of the room_center vector + cv::Mat color_segmented_map = indexed_map.clone(); + color_segmented_map.convertTo(color_segmented_map, CV_8U); + cv::cvtColor(color_segmented_map, color_segmented_map, CV_GRAY2BGR); + for(size_t i = 1; i <= room_centers_x_values.size(); ++i) + { + //choose random color for each room + const cv::Vec3b color((rand() % 250) + 1, (rand() % 250) + 1, (rand() % 250) + 1); + for(size_t v = 0; v < indexed_map.rows; ++v) + for(size_t u = 0; u < indexed_map.cols; ++u) + if(indexed_map.at(v,u) == i) + color_segmented_map.at(v,u) = color; + } +// cv::Mat disp = segmented_map.clone(); + for (size_t index = 0; index < room_centers_x_values.size(); ++index) +#if CV_MAJOR_VERSION<=3 + cv::circle(color_segmented_map, cv::Point(room_centers_x_values[index], room_centers_y_values[index]), 2, cv::Scalar(256), CV_FILLED); +#else + cv::circle(color_segmented_map, cv::Point(room_centers_x_values[index], room_centers_y_values[index]), 2, cv::Scalar(256), cv::FILLED); +#endif + + cv::imshow("segmentation", color_segmented_map); + cv::waitKey(); + } + + if (publish_segmented_map_ == true) + { + // "colorize" the segmented map with gray scale values + nav_msgs::OccupancyGrid segmented_grid; + segmented_grid.header.stamp = ros::Time::now(); + segmented_grid.header.frame_id = "map"; + segmented_grid.info.resolution = map_resolution; + segmented_grid.info.width = indexed_map.cols; + segmented_grid.info.height = indexed_map.rows; + segmented_grid.info.origin.position.x = map_origin.x; + segmented_grid.info.origin.position.y = map_origin.y; + segmented_grid.data.resize(segmented_grid.info.width*segmented_grid.info.height); + std::map colors; + //choose random color for each room + colors[0] = 0; + for(int i = 1; i <= room_centers_x_values.size(); ++i) + colors[i] = 20 + rand() % 81; + int i=0; + for(int v = 0; v < indexed_map.rows; ++v) + for(int u = 0; u < indexed_map.cols; ++u, ++i) + segmented_grid.data[i] = colors[indexed_map.at(v,u)]; + map_pub_.publish(segmented_grid); + } + + //****************publish the results********************** + ipa_building_msgs::MapSegmentationResult action_result; + //converting the cv format in map msg format + cv_bridge::CvImage cv_image; + cv_image.header.stamp = ros::Time::now(); + cv_image.encoding = "32SC1"; + cv_image.image = indexed_map; + cv_image.toImageMsg(action_result.segmented_map); + + //setting value to the action msgs to publish + action_result.map_resolution = goal->map_resolution; + action_result.map_origin = goal->map_origin; + + //setting massages in pixel value + action_result.room_information_in_pixel.clear(); + if (goal->return_format_in_pixel == true) + { + std::vector room_information(room_centers_x_values.size()); + for (size_t i=0; i found_doorway_points(doorway_points_.size()); + for(size_t i = 0; i < doorway_points_.size(); ++i) + { + found_doorway_points[i].x = doorway_points_[i].x; + found_doorway_points[i].y = doorway_points_[i].y; + } + doorway_points_.clear(); + + action_result.doorway_points = found_doorway_points; + } + } + //setting messages in meter + action_result.room_information_in_meter.clear(); + if (goal->return_format_in_meter == true) + { + std::vector room_information(room_centers_x_values.size()); + for (size_t i=0; i found_doorway_points(doorway_points_.size()); + for(size_t i = 0; i < doorway_points_.size(); ++i) + { + found_doorway_points[i].x = convert_pixel_to_meter_for_x_coordinate(doorway_points_[i].x, map_resolution, map_origin);; + found_doorway_points[i].y = convert_pixel_to_meter_for_y_coordinate(doorway_points_[i].y, map_resolution, map_origin); + } + doorway_points_.clear(); + + action_result.doorway_points = found_doorway_points; + } + } + + // reset to parameterized segmentation algorithm + room_segmentation_algorithm_ = stored_room_segmentation_algorithm; + + //publish result + room_segmentation_server_.setSucceeded(action_result); + + ROS_INFO("********Map segmentation finished************"); +} + +bool RoomSegmentationServer::extractAreaMapFromLabeledMap(ipa_building_msgs::ExtractAreaMapFromLabeledMapRequest& request, ipa_building_msgs::ExtractAreaMapFromLabeledMapResponse& response) +{ + // convert the Image msg in cv format + cv_bridge::CvImagePtr cv_ptr_obj; + cv_ptr_obj = cv_bridge::toCvCopy(request.segmented_map, sensor_msgs::image_encodings::TYPE_32SC1); + cv::Mat segmented_map = cv_ptr_obj->image; + + // create a new map that only contains the segment with the label of interest + cv::Mat segmented_area = cv::Mat::zeros(segmented_map.rows, segmented_map.cols, CV_8UC1); + const int segment_of_interest = request.segment_of_interest; + for (int v=0; v(v,u)==segment_of_interest) + { + segmented_area.at(v,u) == 255; + } + } + } + + // convert the cv format in Image msg format + cv_bridge::CvImage cv_image; + cv_image.header.stamp = ros::Time::now(); + cv_image.encoding = "mono8"; + cv_image.image = segmented_area; + cv_image.toImageMsg(response.segmented_area); + + return true; +} + +int main(int argc, char** argv) +{ + ros::init(argc, argv, "room_segmentation_server"); + + ros::NodeHandle nh("~"); + + RoomSegmentationServer segmentationAlgorithmObj(nh, ros::this_node::getName()); + ROS_INFO("Action Server for room segmentation has been initialized......"); + ros::spin(); + + return 0; +} diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_action_client.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_action_client.launch new file mode 100644 index 0000000..367022e --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_action_client.launch @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_evaluation.launch b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_evaluation.launch new file mode 100644 index 0000000..5390037 --- /dev/null +++ b/Code/MowingRobot/pibot_ros/ros_ws/src/ipa_coverage_planning/ipa_room_segmentation/ros/test/room_segmentation_evaluation.launch @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/Code/MowingRobot/test_map/.vscode/settings.json b/Code/MowingRobot/test_map/.vscode/settings.json new file mode 100644 index 0000000..762c82d --- /dev/null +++ b/Code/MowingRobot/test_map/.vscode/settings.json @@ -0,0 +1,64 @@ +{ + "files.associations": { + "array": "cpp", + "bitset": "cpp", + "string_view": "cpp", + "initializer_list": "cpp", + "utility": "cpp", + "functional": "cpp", + "cctype": "cpp", + "clocale": "cpp", + "cmath": "cpp", + "cstdarg": "cpp", + "cstddef": "cpp", + "cstdio": "cpp", + "cstdlib": "cpp", + "cstring": "cpp", + "ctime": "cpp", + "cwchar": "cpp", + "cwctype": "cpp", + "atomic": "cpp", + "*.tcc": "cpp", + "chrono": "cpp", + "complex": "cpp", + "condition_variable": "cpp", + "cstdint": "cpp", + "deque": "cpp", + "list": "cpp", + "unordered_map": "cpp", + "vector": "cpp", + "exception": "cpp", + "algorithm": "cpp", + "iterator": "cpp", + "map": "cpp", + "memory": "cpp", + "memory_resource": "cpp", + "numeric": "cpp", + "optional": "cpp", + "random": "cpp", + "ratio": "cpp", + "set": "cpp", + "string": "cpp", + "system_error": "cpp", + "tuple": "cpp", + "type_traits": "cpp", + "fstream": "cpp", + "iomanip": "cpp", + "iosfwd": "cpp", + "iostream": "cpp", + "istream": "cpp", + "limits": "cpp", + "mutex": "cpp", + "new": "cpp", + "ostream": "cpp", + "sstream": "cpp", + "stdexcept": "cpp", + "streambuf": "cpp", + "thread": "cpp", + "cinttypes": "cpp", + "typeindex": "cpp", + "typeinfo": "cpp", + "variant": "cpp", + "bit": "cpp" + } +} \ No newline at end of file diff --git a/Code/MowingRobot/test_map/.vscode/tasks.json b/Code/MowingRobot/test_map/.vscode/tasks.json new file mode 100644 index 0000000..05054c5 --- /dev/null +++ b/Code/MowingRobot/test_map/.vscode/tasks.json @@ -0,0 +1,28 @@ +{ + "tasks": [ + { + "type": "cppbuild", + "label": "C/C++: g++ build active file", + "command": "/usr/bin/g++", + "args": [ + "-fdiagnostics-color=always", + "-g", + "${file}", + "-o", + "${fileDirname}/${fileBasenameNoExtension}" + ], + "options": { + "cwd": "${fileDirname}" + }, + "problemMatcher": [ + "$gcc" + ], + "group": { + "kind": "build", + "isDefault": true + }, + "detail": "Task generated by Debugger." + } + ], + "version": "2.0.0" +} \ No newline at end of file diff --git a/Code/MowingRobot/test_map/CMakeLists.txt b/Code/MowingRobot/test_map/CMakeLists.txt new file mode 100644 index 0000000..d206b3a --- /dev/null +++ b/Code/MowingRobot/test_map/CMakeLists.txt @@ -0,0 +1,21 @@ +# 声明要求的 cmake 最低版本 +cmake_minimum_required(VERSION 2.8) + +# 声明一个 cmake 工程 +project(test) + +find_package(OpenCV REQUIRED) +# 设置编译模式 +set(CMAKE_CXX_STANDARD 11) + +# 添加一个可执行程序 +# 语法:add_executable( 程序名 源代码文件 ) + +set(SOURCES + src/main.cpp +) +add_executable(test ${SOURCES}) + + +include_directories(${OpenCV_INCLUDE_DIRS}) +target_link_libraries(test ${OpenCV_LIBS}) \ No newline at end of file diff --git a/Code/MowingRobot/test_map/map/07.png b/Code/MowingRobot/test_map/map/07.png new file mode 100644 index 0000000000000000000000000000000000000000..60777ba57414c75ffe97bfcb251fe7932365b8df GIT binary patch literal 1602 zcmeAS@N?(olHy`uVBq!ia0y~yV4MKL96$kvrB^Zq7#P?%JzX3_Dj44$bmWV;&U?V& z)4%q#<^!I)3c4Qs?M=x(W-(bJUFfk-(j3nom+443wg zK1s~L_?)}35g3Q(ZX5u{XL=4OPK?cfadJ;m8W<<u{xKF>2J zVT~f#U%Zc*lbJy&;0W6>DWUVgRASqc4on$f8-Tu^2^5zT`p^C|_>b#90d0wHiT}-i z1nMW$ACWqyG|AzF{}KHIH(WSW{&jzRZ7^E!(6l7}$2_@kwtQL2zg|$~;OXk;vd$@? F2>?AOzlZ<; literal 0 HcmV?d00001 diff --git a/Code/MowingRobot/test_map/map/test.png b/Code/MowingRobot/test_map/map/test.png new file mode 100644 index 0000000000000000000000000000000000000000..d8c41e94ec4c29ffc28c7dfa84e917eb7b363dfb GIT binary patch literal 2008 zcmdT_T})GF7_QPq&@t*U;wfX4Gm7ZON>6byn;UF^<5V2`VLuRAq=iCEiOY$}X0{3o zmO|?{@ozwoiJ5U+fG&g!Nk|}&<5zy_xY!a+M$)9`VmA(RysF6=?D@)1X5z)Rt9j9< z=X~$?KJW9r@AKsZ->)oB-I}r0U@)XQrLqqVhE3<#FBuDl>%Sf|84OznoMmr+baK-l zQ#C*2zT)+bzzPdVa`$kvQjgb9HE*(`)cJm9ITH}7Bf;0uSeDNt-JbFgF zGuEzG=*I$jRm5Qv&gq}cq{X7iN-;lUxnOdCC+|%1+n2xB^JZ54p!XMW*vS7!D|WX!LmfRp3OrTY-1iI2v6J&Pr=D(*Mp?4s zjzVB+mqQ!qSN3w(pe8I42TqhDLIG;;fy^*}jU3?vJ)IHDQbo{*b!ule4z#p}LVZLQ=Y4C;PZ6otz?OIZBV=>zlwNKRDM+0=C3(K=> zJ1i-R#k#g0GM4ymCum=NG`<>_1B^!wz-8%h84yk##auH594jFE5e6ch!IdN6mHJU* z$+d>r*wi8W*;Zvcva{g!jjcRmf)!Vh8B#zwW+rCHfMSN*Gf)nGmHJ)7j8(wUI&d*q zSiqn%=-ww{IyZ<}!{GJ*3UL*ffw@6=bJd}bAspWf6`An;5~M;!(6j{?Vmw(HBp=XI z#@G(1IkZ`eUf?~o71_(r!$p@ +#include + +int main(int argc, char **argv){ + + /* 生成一张像素点为0.05的空白图 + cv::Mat image = cv::Mat(400, 400, CV_8UC1, cv::Scalar(0)); + + cv::Rect whiteRect(150, 150, 100, 100); + cv::rectangle(image, whiteRect, cv::Scalar(255), cv::FILLED); + cv::imshow(" Image", image); + cv::imwrite("output.png", image); + + cv::waitKey(0); + return 0; + */ + // char *input_path = argv[0]; + // char *output_path = argv[1]; + // 读取PNG图片 + // cv::Mat image = cv::imread("../map/07.png"); + // cv::Mat image = cv::imread("/home/xxx/test_map/map/test.png"); + // cv::Mat image = cv::imread(input_path,1); + + // 保存输出图像的路径 + // std::string output_directory = argv[2]; + std::string input_image_name = argv[1]; + std::string output_image_name = argv[2]; + + // 拼接输出图像的完整路径 + std::string input_path = "/home/xxx/test_map/map/" + input_image_name + ".png"; + std::string output_path = "/home/xxx/test_map/map/" + output_image_name + ".png"; + cv::Mat image = cv::imread(input_path); + + // 检查图像是否成功加载 + if (image.empty()) { + std::cerr << "Error: Unable to load input image." << std::endl; + return -1; + } + + + cv::Mat kernel = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(5, 5)); + cv::Mat closedImage; + + cv::morphologyEx(image, closedImage, cv::MORPH_OPEN, kernel); + + cv::bitwise_not(closedImage, closedImage); + + cv::Mat erodedImage; + cv::dilate(closedImage, erodedImage, kernel); + + // 将图像转换为灰度图 + cv::Mat grayImage; + cv::cvtColor(erodedImage, grayImage, cv::COLOR_BGR2GRAY); + + // 对灰度图进行阈值分割,得到二值图像 + cv::Mat binaryImage; + cv::threshold(grayImage, binaryImage, 128, 255, cv::THRESH_BINARY); + + cv::Mat edges; + cv::Canny(binaryImage, edges, 50, 150); + + // 使用Hough线变换检测直线 + std::vector lines; + cv::HoughLines(edges, lines, 1, CV_PI / 180, 100); + + // 绘制检测到的直线 + cv::Mat result_clone = edges.clone(); + for (size_t i = 0; i < lines.size(); ++i) { + float rho = lines[i][0]; + float theta = lines[i][1]; + double a = cos(theta); + double b = sin(theta); + double x0 = a * rho; + double y0 = b * rho; + cv::Point pt1(cvRound(x0 + 1000 * (-b)), cvRound(y0 + 1000 * (a))); + cv::Point pt2(cvRound(x0 - 1000 * (-b)), cvRound(y0 - 1000 * (a))); + cv::line(result_clone, pt1, pt2, cv::Scalar(255), 1, cv::LINE_AA); + } + + // 查找图像中的轮廓 + std::vector> contours; + std::vector hierarchy; + cv::findContours(edges, contours, hierarchy, cv::RETR_TREE, cv::CHAIN_APPROX_NONE); + // std::cout<4){ + for (int i = 0; i < contours.size(); ++i) { + if (hierarchy[i][2] != -1 && hierarchy[i+1][2] != -1) { + cv::drawContours(whiteBackground, contours, i, cv::Scalar(0), cv::FILLED); + cv::drawContours(whiteBackground, contours, i+1, cv::Scalar(255), cv::FILLED); + } + } + }else{ + for (int i = 0; i < contours.size(); ++i) { + if (hierarchy[i][2] != -1 ) { + cv::drawContours(whiteBackground, contours, i, cv::Scalar(0), cv::FILLED); + } + } + } + + + // 显示结果 + cv::bitwise_not(whiteBackground, whiteBackground); + + cv::imshow("final output", whiteBackground); + cv::imwrite(output_path, whiteBackground); + + cv::waitKey(0); + return 0; + + +} \ No newline at end of file diff --git a/Docs/2.PIbot-ROS安装.md b/Docs/2.PIbot-ROS安装.md index ddf203d..d0edcaa 100644 --- a/Docs/2.PIbot-ROS安装.md +++ b/Docs/2.PIbot-ROS安装.md @@ -52,6 +52,11 @@ sudo apt-get install ros-noetic-libdlib sudo apt-get install ros-noetic-cob-navigation sudo apt-get install coinor-* +# 要运行pibot还得安装 +#导航相关 +sudo apt-get install ros-noetic-navigation +#定位相关 +sudo apt-get install ros-noetic-robot-pose-ekf # 进入到Pibot的ROS的工作空间 cd ~/pibot_ros/ros_ws # 编译代码