├── Dockerfile ├── README.md ├── result ├── error_function.gif ├── initial_pose.png ├── optimized_pose.png └── optimzied_pose_solution.png ├── slam_tutorial-solution ├── CMakeLists.txt ├── data │ ├── constraints.csv │ ├── initial_poses.csv │ └── optimized_poses.csv ├── matlab │ ├── plot_poses.m │ └── visualize_results.m ├── package.xml └── src │ ├── ceres_spg.cpp │ └── gtsam_spg.cpp └── slam_tutorial ├── CMakeLists.txt ├── data ├── constraints.csv ├── initial_poses.csv └── optimized_poses.csv ├── matlab ├── plot_poses.m └── visualize_results.m ├── package.xml └── src ├── ceres_spg.cpp └── gtsam_spg.cpp /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM ros:melodic 2 | WORKDIR /root/ 3 | 4 | RUN apt-get update && apt-get install -y wget unzip vim libeigen3-dev libboost-all-dev 5 | 6 | # install Ceres solver (latest stable version by 06/20/2020) 7 | RUN apt-get update && apt-get install -y cmake libgoogle-glog-dev libatlas-base-dev libsuitesparse-dev 8 | RUN wget http://ceres-solver.org/ceres-solver-1.14.0.tar.gz && tar zxf ceres-solver-1.14.0.tar.gz && rm ceres-solver-1.14.0.tar.gz && \ 9 | cd ceres-solver-1.14.0 && mkdir build && cd build && cmake .. && make -j5 && make test && make install && cd ../.. && rm -rf ceres-solver-1.14.0 10 | 11 | 12 | # install gtsam 4.0.3 (latest release version by 06/20/2020) 13 | RUN git clone https://github.com/borglab/gtsam.git && cd gtsam && mkdir build && cd build && cmake -DGTSAM_WITH_TBB=Off .. && make -j5 && make install && \ 14 | cd ../../ && rm -rf gtsam 15 | 16 | # setup base ros env 17 | RUN /bin/bash -c "source /opt/ros/melodic/setup.bash && mkdir -p /root/slam_ws/src && cd /root/slam_ws/src && catkin_init_workspace && cd .. && catkin_make" 18 | RUN echo "source /opt/ros/melodic/setup.bash" >> /root/.bashrc && echo "source /root/slam_ws/devel/setup.bash" >> /root/.bashrc 19 | RUN echo "export LD_LIBRARY_PATH=/root/slam_ws/devel/lib:/opt/ros/melodic/lib:/lib:/usr/lib:/usr/local/lib" >> /root/.bashrc 20 | 21 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # SLAM-backend-tutorial 2 | 3 | You could see the Video lecture on [Youtube](https://youtu.be/FhwFyA0NQkE). 4 | 5 | The original code, slides, and notes are available in [Google drive](https://drive.google.com/drive/folders/1_MLRQMvRuXvyxVl6514M20zcFY4-O4pI?usp=sharing). 6 | 7 | `slam_tutorial/` folder involves my personal solution, 8 | and `slam_tutorial_solution/` involves given solution. 9 | The contents are almost similar. 10 | 11 | I test this repository on Ubuntu 18.04. 12 | 13 | ### Contents 14 | - [How to make same enviornment with Docker.](#how-to-make-same-enviornment-with-docker) 15 | - [How to execute this code.](#how-to-execute-this-code) 16 | - [Result](#result) 17 | - [Contact](#contact) 18 | 19 | ## How to make same enviornment with Docker. 20 | 21 | First you have to install [Docker](https://www.docker.com/). 22 | 23 | **1. Just clone this repository and change the directory path.** 24 | ``` 25 | git clone https://github.com/Taeyoung96/SLAM-backend-tutorial.git 26 | cd SLAM-backend-tutorial 27 | ``` 28 | 29 | **2. Build the SLAM docker image.** 30 | This docker image includes ubuntu 18.04, ros melodic, [ceras-solver](http://ceres-solver.org/), and [gtsam](https://gtsam.org/). 31 | ``` 32 | docker build -t tutorial-week-2020/slam:latest . 33 | ``` 34 | 35 | When you are finished, check the image. 36 | ``` 37 | docker images 38 | ``` 39 | You can check that the image is created as below in your terminal, the IMAGE ID and CREATED TIME may be different. 40 | ``` 41 | REPOSITORY TAG IMAGE ID CREATED SIZE 42 | tutorial-week-2020/slam latest 18d7778e6a07 22 hours ago 1.46GB 43 | ros melodic 2529d0ef4064 2 weeks ago 1.28GB 44 | ``` 45 | 46 | **3. Start a Docker container while sharing the container's volume directory with a local directory.** 47 | ``` 48 | docker run -v ${CODE_DIR}/slam_tutorial:/root/slam_ws/src/slam_tutorial -n slam_tutorial -it tutorial-week-2020/slam:latest 49 | ``` 50 | 51 | When you following above command, you share the `slam_tutorial/` folder. 52 | If you want to change with `slam_tutorial_solution/`, 53 | just change the directory `slam_tutorial/` to `slam_tutorial_solution/` when you run the above command. 54 | 55 | In my case, ${CODE_DIR} is `/home/taeyoung/Desktop/SLAM-backend-tutorial/`, it may depend on where you clone the repository. 56 | For example, 57 | ``` 58 | docker run -v /home/taeyoung/Desktop/SLAM-backend-tutorial/slam_tutorial:/root/slam_ws/src/slam_tutorial -n slam_tutorial -it tutorial-week-2020/slam:latest 59 | ``` 60 | When the container creation is completed, the terminal path is changed and you can see that you are connected to the docker container. 61 | ``` 62 | root@bf318ac3a3d7:~# 63 | ``` 64 | Check the directory in the container and the local directory are shared. 65 | ``` 66 | root@bf318ac3a3d7:~# cd slam_ws/ 67 | root@bf318ac3a3d7:~/slam_ws# cd src 68 | root@bf318ac3a3d7:~/slam_ws/src# ls 69 | CMakeLists.txt slam_tutorial 70 | ``` 71 | ## How to execute this code. 72 | 73 | **1. Just build the code with `catkin_make`** 74 | 75 | ``` 76 | root@bf318ac3a3d7:~/slam_ws# catkin_make 77 | ``` 78 | After the build is complete, you can see the output as below and a build folder and a devel folder are created. 79 | ``` 80 | Scanning dependencies of target ceres_spg 81 | Scanning dependencies of target gtsam_spg 82 | [ 25%] Building CXX object slam_tutorial/CMakeFiles/ceres_spg.dir/src/ceres_spg.cpp.o 83 | [ 50%] Building CXX object slam_tutorial/CMakeFiles/gtsam_spg.dir/src/gtsam_spg.cpp.o 84 | [ 75%] Linking CXX executable /root/slam_ws/devel/lib/slam_tutorial/ceres_spg 85 | [ 75%] Built target ceres_spg 86 | [100%] Linking CXX executable /root/slam_ws/devel/lib/slam_tutorial/gtsam_spg 87 | [100%] Built target gtsam_spg 88 | ``` 89 | 90 | **2. Execute the code with `rosrun` command.** 91 | 92 | You could execute two different node. One is for Ceres-solver example, the other is for gtsam example. 93 | 94 | If you want to run the ceres-solver example node, you enter the following command. 95 | ``` 96 | rosrun slam_tutorial ceres_spg 97 | ``` 98 | 99 | If you want to run the gtsam example node, you enter the following command. 100 | ``` 101 | rosrun slam_tutorial gtsam_spg 102 | ``` 103 | 104 | ## Result 105 | 106 | - Result output when you run ceres-solver example node 107 | 108 | You could visualize `.csv` files, with [Matlab](https://kr.mathworks.com/products/matlab.html). 109 | I got different results because I designed the error function differently. 110 |

111 | 112 | - Initial pose 113 | 114 |

115 | 116 | - Optimized_pose with my personal solution 117 | 118 |

119 | 120 | - Optimized_pose with given soltion 121 | 122 |

123 | 124 | ``` 125 | Solver Summary (v 1.14.0-eigen-(3.3.4)-lapack-suitesparse-(5.1.2)-cxsparse-(3.1.9)-eigensparse-openmp-no_tbb) 126 | 127 | Original Reduced 128 | Parameter blocks 552 550 129 | Parameters 1932 1925 130 | Effective parameters 1656 1650 131 | Residual blocks 1073 1073 132 | Residuals 6438 6438 133 | 134 | Minimizer TRUST_REGION 135 | 136 | Sparse linear algebra library SUITE_SPARSE 137 | Trust region strategy LEVENBERG_MARQUARDT 138 | 139 | Given Used 140 | Linear solver SPARSE_NORMAL_CHOLESKY SPARSE_NORMAL_CHOLESKY 141 | Threads 1 1 142 | Linear solver ordering AUTOMATIC 550 143 | 144 | Cost: 145 | Initial 2.716861e+02 146 | Final 5.204096e+00 147 | Change 2.664820e+02 148 | 149 | Minimizer iterations 161 150 | Successful steps 149 151 | Unsuccessful steps 12 152 | 153 | Time (in seconds): 154 | Preprocessor 0.000880 155 | 156 | Residual only evaluation 0.026268 (161) 157 | Jacobian & residual evaluation 0.265551 (149) 158 | Linear solver 0.838873 (161) 159 | Minimizer 1.193949 160 | 161 | Postprocessor 0.000041 162 | Total 1.194870 163 | 164 | Termination: CONVERGENCE (Function tolerance reached. |cost_change|/cost: 8.268293e-07 <= 1.000000e-06) 165 | 166 | ``` 167 | 168 | 169 | - Result output when you run gtsam example node 170 | 171 | ``` 172 | Factor Graph: 173 | size: 6 174 | 175 | Factor 0: PriorFactor on x1 176 | prior mean: (0, 0, 0) 177 | noise model: diagonal sigmas[1; 1; 0.1]; 178 | 179 | Factor 1: BetweenFactor(x1,x2) 180 | measured: (5, 0, 0) 181 | noise model: diagonal sigmas[0.5; 0.5; 0.1]; 182 | 183 | Factor 2: BetweenFactor(x2,x3) 184 | measured: (5, 0, -1.57079633) 185 | noise model: diagonal sigmas[0.5; 0.5; 0.1]; 186 | 187 | Factor 3: BetweenFactor(x3,x4) 188 | measured: (5, 0, -1.57079633) 189 | noise model: diagonal sigmas[0.5; 0.5; 0.1]; 190 | 191 | Factor 4: BetweenFactor(x4,x5) 192 | measured: (5, 0, -1.57079633) 193 | noise model: diagonal sigmas[0.5; 0.5; 0.1]; 194 | 195 | Factor 5: BetweenFactor(x5,x2) 196 | measured: (5, 0, -1.57079633) 197 | noise model: diagonal sigmas[0.5; 0.5; 0.1]; 198 | 199 | 200 | Initial Values: 201 | 202 | Values with 5 values: 203 | Value x1: (gtsam::Pose2) 204 | (0.2, -0.3, 0.2) 205 | 206 | Value x2: (gtsam::Pose2) 207 | (5.1, 0.3, -0.1) 208 | 209 | Value x3: (gtsam::Pose2) 210 | (9.9, -0.1, -1.77079633) 211 | 212 | Value x4: (gtsam::Pose2) 213 | (10.2, -5, -3.04159265) 214 | 215 | Value x5: (gtsam::Pose2) 216 | (5.1, -5.1, 1.47079633) 217 | 218 | Initial error: 18.510326 219 | newError: 0.122934358 220 | errorThreshold: 0.122934358 > 0 221 | absoluteDecrease: 18.3873916591 >= 1e-05 222 | relativeDecrease: 0.993358606565 >= 1e-05 223 | newError: 8.85829965247e-06 224 | errorThreshold: 8.85829965247e-06 > 0 225 | absoluteDecrease: 0.12292549938 >= 1e-05 226 | relativeDecrease: 0.999927942848 >= 1e-05 227 | newError: 3.68234840295e-15 228 | errorThreshold: 3.68234840295e-15 > 0 229 | absoluteDecrease: 8.85829964879e-06 < 1e-05 230 | relativeDecrease: 0.999999999584 >= 1e-05 231 | converged 232 | errorThreshold: 3.68234840295e-15 ? 100 236 | Final Result: 237 | 238 | Values with 5 values: 239 | Value x1: (gtsam::Pose2) 240 | (-1.27918496267e-18, 1.66618678917e-19, -3.14163502147e-20) 241 | 242 | Value x2: (gtsam::Pose2) 243 | (5, 5.11915975726e-20, -7.11636343752e-20) 244 | 245 | Value x3: (gtsam::Pose2) 246 | (10.0000000015, -4.40576423166e-09, -1.5707963267) 247 | 248 | Value x4: (gtsam::Pose2) 249 | (10.0000000114, -5.00000003139, 3.14159265352) 250 | 251 | Value x5: (gtsam::Pose2) 252 | (4.99999999784, -5.00000000264, 1.57079632663) 253 | 254 | x1 covariance: 255 | 1 -1.71241483502e-17 -5.65095102146e-17 256 | -1.71241483502e-17 1 1.7763568394e-16 257 | -5.65095102146e-17 1.7763568394e-16 0.01 258 | x2 covariance: 259 | 1.25 -3.79952940193e-16 -1.40205920175e-16 260 | -3.79952940193e-16 1.5 0.05 261 | -1.40205920175e-16 0.05 0.02 262 | x3 covariance: 263 | 2.70000000047 -8.21536053911e-10 -0.155000000029 264 | -8.21536047854e-10 1.45000000006 -0.00499999990562 265 | -0.155000000029 -0.00499999990562 0.0264999999985 266 | x4 covariance: 267 | 2.1125000074 0.800000006448 -0.120000000784 268 | 0.800000006448 2.80000000387 -0.170000000296 269 | -0.120000000784 -0.170000000296 0.0279999999952 270 | x5 covariance: 271 | 1.69999999991 -0.224999999954 0.0449999999659 272 | -0.224999999954 2.06250000049 -0.127500000037 273 | 0.0449999999659 -0.127500000037 0.0264999999968 274 | 275 | ``` 276 | 277 | ## Contact 278 | 279 | If you have any question, feel free to send an email. 280 | 281 | - **TaeYoung Kim** : tyoung96@yonsei.ac.kr 282 | 283 | 284 | 285 | 286 | 287 | -------------------------------------------------------------------------------- /result/error_function.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Taeyoung96/SLAM-backend-tutorial/7e52d5019e0e0d016fee5a4e3542710d8dae1390/result/error_function.gif -------------------------------------------------------------------------------- /result/initial_pose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Taeyoung96/SLAM-backend-tutorial/7e52d5019e0e0d016fee5a4e3542710d8dae1390/result/initial_pose.png -------------------------------------------------------------------------------- /result/optimized_pose.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Taeyoung96/SLAM-backend-tutorial/7e52d5019e0e0d016fee5a4e3542710d8dae1390/result/optimized_pose.png -------------------------------------------------------------------------------- /result/optimzied_pose_solution.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Taeyoung96/SLAM-backend-tutorial/7e52d5019e0e0d016fee5a4e3542710d8dae1390/result/optimzied_pose_solution.png -------------------------------------------------------------------------------- /slam_tutorial-solution/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | project(slam_tutorial) 3 | 4 | add_compile_options(-std=c++11) 5 | 6 | find_package(catkin REQUIRED COMPONENTS 7 | roscpp 8 | std_msgs 9 | ) 10 | include_directories(${catkin_INCLUDE_DIRS}) 11 | catkin_package( 12 | # INCLUDE_DIRS include 13 | # LIBRARIES shimizu_abstraction 14 | # CATKIN_DEPENDS roscpp rospy std_msgs 15 | # DEPENDS system_lib 16 | ) 17 | find_package(Eigen3 REQUIRED) 18 | include_directories(${Eigen3_INCLUDE_DIRS}) 19 | 20 | find_package(Ceres REQUIRED) 21 | include_directories(${CERES_INCLUDE_DIRS}) 22 | 23 | find_package(GTSAM REQUIRED) 24 | include_directories(${GTSAM_INCLUDE_DIR}) 25 | set(GTSAM_LIBRARIES gtsam) 26 | 27 | find_package(GTSAMCMakeTools) 28 | include(GtsamMakeConfigFile) 29 | include(GtsamBuildTypes) 30 | include(GtsamTesting) 31 | 32 | find_package(Boost REQUIRED) 33 | include_directories(${Boost_INCLUDE_DIR}) 34 | 35 | add_executable(ceres_spg src/ceres_spg.cpp) 36 | target_link_libraries(ceres_spg ${catkin_LIBRARIES} ${CERES_LIBRARIES} ${Boost_LIBRARIES} ${Eigen3_LIBRARIES}) 37 | 38 | add_executable(gtsam_spg src/gtsam_spg.cpp) 39 | target_link_libraries(gtsam_spg ${catkin_LIBRARIES} ${GTSAM_LIBRARIES} ${Boost_LIBRARIES}) -------------------------------------------------------------------------------- /slam_tutorial-solution/data/initial_poses.csv: -------------------------------------------------------------------------------- 1 | 0, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000 2 | 1, 0.987383, -0.157967, 0.011000, 0.000429, 0.002774, 0.072733, 0.034876 3 | 2, 0.988921, 0.148418, 0.002620, 0.000498, 0.007340, 0.030627, -0.025935 4 | 3, 0.962742, -0.145776, 0.226320, -0.025618, -1.082510, -0.435961, 0.752557 5 | 4, 0.950384, -0.148409, -0.271818, 0.029336, 1.525530, -0.310588, 1.203260 6 | 5, 0.999871, 0.001501, -0.015985, 0.000033, 1.087240, -0.000941, 0.158052 7 | 6, 0.988207, -0.152094, -0.017225, 0.004213, 1.086660, 0.125640, 0.178123 8 | 7, 0.987413, -0.156873, 0.019812, -0.003679, 1.988380, 0.056329, 0.071263 9 | 8, 0.999744, 0.000313, 0.022494, -0.002391, 1.973620, -0.007095, 0.049869 10 | 9, 0.999584, 0.002711, 0.028416, -0.004077, 2.838719, -0.001637, 0.024915 11 | 10, 0.986053, -0.163291, 0.028397, -0.015138, 2.828501, 0.008920, 0.054197 12 | 11, 0.987261, -0.158477, 0.013848, -0.003032, 3.787225, 0.061882, 0.134072 13 | 12, 0.999896, 0.003399, 0.013290, -0.004434, 3.785436, 0.035791, 0.081807 14 | 13, 0.999485, 0.007993, 0.030999, -0.001901, 4.717825, 0.020000, 0.090090 15 | 14, 0.987267, -0.156305, 0.029142, 0.004889, 4.734741, 0.056230, 0.117771 16 | 15, 0.987334, -0.157226, 0.020934, -0.003683, 5.701466, 0.062535, 0.146697 17 | 16, 0.999663, 0.003842, 0.024562, -0.007375, 5.679881, 0.044334, 0.086133 18 | 17, 0.998892, 0.007646, 0.046348, -0.002649, 6.625543, 0.033553, 0.109867 19 | 18, 0.987879, -0.149026, 0.043400, 0.001382, 6.638926, 0.086318, 0.138704 20 | 19, 0.986936, -0.158621, 0.026781, -0.009005, 7.510689, 0.052257, 0.247152 21 | 20, 0.999620, 0.000312, 0.024881, -0.011871, 7.523980, 0.011145, 0.193712 22 | 21, 0.999538, 0.002610, 0.030014, -0.004102, 8.413233, 0.049449, 0.252705 23 | 22, 0.987729, -0.153763, 0.026258, 0.007595, 8.423466, 0.099007, 0.280946 24 | 23, 0.987269, -0.157972, 0.013349, -0.012979, 9.437891, 0.046061, 0.278433 25 | 24, 0.999764, -0.004791, 0.009853, -0.018771, 9.450453, 0.026128, 0.222670 26 | 25, 0.999264, 0.009940, 0.036629, -0.005575, 10.417958, 0.094002, 0.271574 27 | 26, 0.986720, -0.157428, 0.039763, -0.004298, 10.443458, 0.119002, 0.275702 28 | 27, 0.985335, -0.164704, 0.041918, -0.015227, 11.488409, 0.102192, 0.239076 29 | 28, 0.998488, 0.006649, 0.054483, -0.003008, 11.427452, 0.107048, 0.318674 30 | 29, 0.999005, 0.005208, 0.043864, -0.006086, 12.405828, 0.116187, 0.331689 31 | 30, 0.998570, 0.005798, 0.052852, -0.005610, 12.335537, 0.116948, 0.238648 32 | 31, 0.986382, -0.163076, 0.019587, -0.008628, 13.360458, 0.130423, 0.209416 33 | 32, 0.987367, -0.154692, 0.034323, -0.000062, 12.449362, 0.167203, 0.382175 34 | 33, 0.999072, -0.003632, 0.038206, -0.019617, 14.811030, 0.039783, 0.376366 35 | 34, 0.985391, -0.165451, 0.036615, -0.017113, 14.814629, 0.136156, 0.450653 36 | 35, 0.983270, -0.167118, -0.065173, 0.031726, 15.660948, 0.132021, 0.924434 37 | 36, 0.996598, -0.005967, -0.080583, 0.016291, 15.646933, -0.112019, 0.872742 38 | 37, 0.975543, -0.007532, -0.211313, 0.060060, 16.114095, -0.352728, 1.602589 39 | 38, 0.962475, -0.160503, -0.196120, 0.097054, 16.104036, 0.111857, 1.737696 40 | 39, 0.925912, -0.153772, -0.342070, 0.045069, 16.965180, 0.517381, 1.533328 41 | 40, 0.937161, -0.015055, -0.347913, -0.021483, 16.989815, 0.116281, 1.552370 42 | 41, 0.897079, 0.002473, -0.438175, 0.056997, 17.552636, -0.530215, 1.186043 43 | 42, 0.882268, -0.152487, -0.441623, 0.057638, 17.580076, -0.397872, 1.197719 44 | 43, 0.825364, -0.188798, -0.515666, 0.131225, 18.485457, 0.563734, 0.652686 45 | 44, 0.839395, -0.037283, -0.519268, 0.156174, 18.449367, 0.430971, 0.597080 46 | 45, 0.751957, 0.028049, -0.654256, 0.075659, 19.471132, -0.807549, -0.301909 47 | 46, 0.743629, -0.122307, -0.655767, 0.045038, 19.504487, -0.564284, -0.318366 48 | 47, 0.757899, -0.104286, -0.626433, 0.149325, 19.408196, -0.074772, -1.642797 49 | 48, 0.764586, 0.032774, -0.607508, 0.212769, 19.374044, -0.092660, -1.646127 50 | 49, 0.756165, 0.035211, -0.613100, 0.226024, 19.722625, -0.329122, -2.787635 51 | 50, 0.748600, -0.086665, -0.643979, 0.131837, 19.804939, -0.223639, -2.787221 52 | 51, 0.730391, -0.082242, -0.665534, 0.129738, 20.088929, -0.381554, -4.017754 53 | 52, 0.745566, 0.047222, -0.629226, 0.214425, 19.922281, -0.827588, -3.962502 54 | 53, 0.739742, 0.073703, -0.634172, 0.212557, 20.141208, -1.355883, -5.089526 55 | 54, 0.758272, -0.056783, -0.638281, 0.119988, 20.073017, -0.494207, -5.327158 56 | 55, 0.757050, -0.031382, -0.638638, 0.134295, 20.074427, -1.718330, -5.999400 57 | 56, 0.748803, 0.081692, -0.614704, 0.234012, 19.946667, -1.624906, -6.099268 58 | 57, 0.761584, 0.087716, -0.583197, 0.268664, 20.238503, -1.906140, -7.609684 59 | 58, 0.777467, -0.026477, -0.607359, 0.161130, 20.235542, -1.925874, -7.625070 60 | 59, 0.753130, 0.043216, -0.628458, 0.189661, 20.510167, -2.481051, -8.611791 61 | 60, 0.738956, 0.158332, -0.596847, 0.269540, 20.479641, -2.538036, -8.580638 62 | 61, 0.763592, 0.130727, -0.573172, 0.267047, 20.834598, -2.961954, -9.686624 63 | 62, 0.774666, 0.020831, -0.609064, 0.168822, 20.893518, -2.864712, -9.712503 64 | 63, 0.715164, -0.036315, -0.690831, 0.099884, 22.139056, -2.859452, -10.131215 65 | 64, 0.737594, 0.076203, -0.642936, 0.191789, 21.980814, -3.290550, -10.083999 66 | 65, 0.780442, 0.115036, -0.584129, 0.190981, 21.943655, -4.093076, -10.780718 67 | 66, 0.784407, -0.001135, -0.611768, 0.102210, 22.005944, -3.848378, -10.969376 68 | 67, 0.758208, -0.135827, -0.616894, 0.161606, 22.494447, -4.481352, -12.251374 69 | 68, 0.765955, -0.024708, -0.588470, 0.257701, 22.408015, -4.584532, -12.239449 70 | 69, 0.765789, 0.012384, -0.608181, 0.208648, 22.888056, -5.231176, -12.939223 71 | 70, 0.778552, -0.113319, -0.606133, 0.116711, 22.914991, -5.125923, -12.975304 72 | 71, 0.760623, -0.113216, -0.620819, 0.152391, 23.137815, -5.574346, -14.169809 73 | 72, 0.753522, 0.006128, -0.606507, 0.253613, 22.993529, -5.426286, -14.352238 74 | 73, 0.762177, 0.012886, -0.609081, 0.218963, 23.338051, -6.109990, -15.332069 75 | 74, 0.755951, -0.102041, -0.634207, 0.126137, 23.386404, -6.073087, -15.352964 76 | 75, 0.748495, -0.111427, -0.641321, 0.126690, 23.653552, -5.833352, -16.869117 77 | 76, 0.761261, 0.005533, -0.611012, 0.217071, 23.625078, -5.852774, -16.838451 78 | 77, 0.768992, -0.014973, -0.605288, 0.205082, 23.742682, -7.038896, -17.961445 79 | 78, 0.755734, -0.129957, -0.632436, 0.109570, 23.834822, -5.890882, -18.195865 80 | 79, 0.734981, -0.115843, -0.655769, 0.127884, 23.892374, -6.003641, -19.643062 81 | 80, 0.754942, 0.002913, -0.620796, 0.211354, 23.882384, -6.771476, -19.427553 82 | 81, 0.749407, -0.021160, -0.627942, 0.208888, 23.966150, -7.759137, -20.619628 83 | 82, 0.732605, -0.145450, -0.653969, 0.120260, 23.998981, -6.037497, -20.968076 84 | 83, 0.740109, -0.109680, -0.653655, 0.113786, 23.940847, -8.016276, -21.687463 85 | 84, 0.744696, -0.015191, -0.630825, 0.217397, 23.859030, -6.060989, -22.067665 86 | 85, 0.760517, 0.003002, -0.609714, 0.223289, 23.957832, -8.299043, -22.969022 87 | 86, 0.750870, -0.107677, -0.640067, 0.122139, 24.000292, -8.048327, -23.022503 88 | 87, 0.764878, -0.118950, -0.622821, 0.113630, 24.207017, -8.655693, -24.098978 89 | 88, 0.775780, -0.010129, -0.596045, 0.206875, 24.152752, -8.720719, -24.072516 90 | 89, 0.803973, -0.003134, -0.563740, 0.189260, 24.331156, -8.722860, -25.479579 91 | 90, 0.791034, -0.115986, -0.593488, 0.092676, 24.393497, -8.714713, -25.489083 92 | 91, 0.764029, -0.124289, -0.626640, 0.090216, 24.739266, -8.976296, -26.441388 93 | 92, 0.777414, -0.003037, -0.605437, 0.170497, 24.694244, -9.052096, -26.428466 94 | 93, 0.764531, 0.019356, -0.609948, 0.207572, 25.193270, -9.375030, -27.381792 95 | 94, 0.756342, -0.108499, -0.632186, 0.128528, 25.235185, -9.249753, -27.422370 96 | 95, 0.767328, -0.071954, -0.625953, 0.119239, 25.347274, -9.731641, -28.502939 97 | 96, 0.771375, 0.038936, -0.598389, 0.213075, 25.306256, -9.761689, -28.495527 98 | 97, 0.789582, 0.106970, -0.585058, 0.151098, 25.531685, -9.948086, -29.638702 99 | 98, 0.776718, -0.004306, -0.627050, 0.059196, 25.615616, -9.908654, -29.645022 100 | 99, 0.772538, -0.025594, -0.631012, 0.066032, 25.859362, -9.952541, -30.697864 101 | 100, 0.779687, 0.088747, -0.600329, 0.154345, 25.846762, -10.327457, -30.617884 102 | 101, 0.801827, 0.040979, -0.566820, 0.184704, 26.247003, -10.795277, -31.935055 103 | 102, 0.805918, -0.062002, -0.583513, 0.078563, 26.201054, -10.004852, -32.124834 104 | 103, 0.790428, -0.081054, -0.599106, 0.098651, 26.632166, -11.184182, -33.104917 105 | 104, 0.794653, 0.037876, -0.577550, 0.183126, 26.592109, -11.232337, -33.089382 106 | 105, 0.789423, 0.034502, -0.581540, 0.193489, 26.857379, -11.653954, -34.357683 107 | 106, 0.786001, -0.081839, -0.603818, 0.104472, 26.899233, -11.588782, -34.369118 108 | 107, 0.780701, -0.076752, -0.611157, 0.105391, 27.194561, -12.032754, -35.451815 109 | 108, 0.783999, 0.042361, -0.587927, 0.194677, 27.153254, -12.082214, -35.445008 110 | 109, 0.781910, 0.043691, -0.588971, 0.199566, 27.400087, -12.474849, -36.553842 111 | 110, 0.797014, -0.078718, -0.590014, 0.102287, 27.356736, -12.125655, -36.606714 112 | 111, 0.633435, -0.050797, -0.749906, 0.183915, 28.164230, -13.093126, -38.676315 113 | 112, 0.806664, -0.041894, -0.575377, 0.128390, 28.222160, -13.112096, -38.757274 114 | 113, 0.794386, -0.004057, -0.597747, 0.107878, 29.658978, -13.378169, -39.794013 115 | 114, 0.792875, 0.117015, -0.567086, 0.189937, 29.545294, -13.707894, -39.779522 116 | 115, 0.756521, 0.086496, -0.623383, 0.177739, 30.373342, -13.660206, -40.733387 117 | 116, 0.772199, -0.038855, -0.627892, 0.089189, 30.402987, -13.475293, -40.788729 118 | 117, 0.754896, -0.030223, -0.647464, 0.100073, 30.888722, -13.663657, -41.838806 119 | 118, 0.750451, 0.095012, -0.627912, 0.183107, 30.830177, -13.896355, -41.810656 120 | 119, 0.750233, 0.093508, -0.633967, 0.162779, 31.149763, -14.609628, -42.743950 121 | 120, 0.752953, -0.020888, -0.654213, 0.068092, 31.192884, -14.447508, -42.820676 122 | 121, 0.821014, -0.052066, -0.565194, 0.061530, 31.268113, -14.988436, -43.877206 123 | 122, 0.814122, 0.050652, -0.552404, 0.171735, 31.240566, -15.020311, -43.866313 124 | 123, 0.801116, 0.057245, -0.573046, 0.162969, 31.471704, -15.415067, -44.774736 125 | 124, 0.803598, -0.034838, -0.592732, 0.041111, 31.495748, -14.628773, -45.001263 126 | 125, 0.791637, -0.074580, -0.602819, 0.066061, 32.117560, -15.077773, -46.106408 127 | 126, 0.792869, 0.052971, -0.589334, 0.145752, 32.075507, -15.110679, -46.110582 128 | 127, 0.780322, 0.037451, -0.601253, 0.167912, 32.299491, -16.059679, -46.898278 129 | 128, 0.780130, -0.083644, -0.614811, 0.080078, 32.039662, -16.113631, -46.976570 130 | 129, 0.739566, -0.043987, -0.668537, 0.064571, 32.722009, -16.566442, -47.752179 131 | 130, 0.745348, 0.083554, -0.645929, 0.142325, 32.636323, -16.653507, -47.719554 132 | 131, 0.632523, 0.084506, -0.758630, 0.131365, 33.902957, -16.915332, -48.174242 133 | 132, 0.630799, -0.095217, -0.758660, 0.132159, 33.608556, -15.048960, -48.862739 134 | 133, 0.551876, 0.020148, -0.833614, -0.010904, 33.947625, -17.298712, -49.421427 135 | 134, 0.548473, 0.116738, -0.821742, 0.101455, 33.963458, -17.421138, -49.510885 136 | 135, 0.391034, 0.086405, -0.906483, 0.133862, 33.552477, -17.384232, -50.398829 137 | 136, 0.392817, -0.079812, -0.897444, 0.184187, 33.897964, -15.259127, -51.108182 138 | 137, 0.354357, -0.030074, -0.933965, 0.035208, 33.258295, -17.314199, -51.293536 139 | 138, 0.338181, 0.074409, -0.928096, 0.136886, 33.225317, -17.395420, -51.275922 140 | 139, 0.246160, 0.141905, -0.956042, 0.072494, 33.258066, -18.308806, -52.339435 141 | 140, 0.263065, -0.067457, -0.961094, 0.050491, 33.146399, -17.180267, -52.392437 142 | 141, 0.179887, 0.008324, -0.983630, -0.006982, 31.748047, -18.007549, -52.743633 143 | 142, 0.173633, 0.094885, -0.973794, 0.112154, 31.763565, -18.148729, -52.690621 144 | 143, 0.188672, -0.006487, -0.965441, 0.179690, 30.981646, -17.266173, -53.367540 145 | 144, 0.192822, -0.083024, -0.976480, 0.049171, 31.007125, -17.203217, -53.404028 146 | 145, 0.182701, 0.017220, -0.982568, -0.029814, 30.146359, -18.358408, -53.739766 147 | 146, 0.176417, 0.089729, -0.975207, 0.099002, 30.124051, -18.395429, -53.708205 148 | 147, 0.194399, -0.018814, -0.968655, 0.153511, 28.988921, -17.274306, -53.985769 149 | 148, 0.188889, -0.044875, -0.980953, 0.006427, 28.974803, -17.280859, -54.015652 150 | 149, 0.164096, 0.006684, -0.985353, -0.045945, 27.989385, -18.462658, -54.578580 151 | 150, 0.161776, 0.035493, -0.981028, 0.100781, 27.987862, -18.494725, -54.525210 152 | 151, 0.189226, 0.025239, -0.975277, 0.111336, 26.896571, -18.526303, -54.848514 153 | 152, 0.195108, -0.034658, -0.980113, 0.010646, 26.767409, -17.098650, -54.795864 154 | 153, 0.200666, 0.006896, -0.978981, -0.035853, 25.962881, -18.487888, -55.172140 155 | 154, 0.201186, 0.025613, -0.972494, 0.114571, 25.981121, -18.491942, -55.124620 156 | 155, 0.193558, 0.022984, -0.974539, 0.110832, 24.908392, -18.660796, -55.406091 157 | 156, 0.193417, -0.003950, -0.980447, -0.036084, 24.902200, -18.679646, -55.435000 158 | 157, 0.203490, 0.010675, -0.978134, -0.041660, 23.868282, -18.620026, -55.737411 159 | 158, 0.181747, 0.034722, -0.977266, 0.103517, 23.882220, -18.579888, -55.700396 160 | 159, 0.159875, 0.041444, -0.981004, 0.101770, 22.849182, -18.768178, -56.013745 161 | 160, 0.159818, 0.002507, -0.986061, -0.046273, 22.857939, -18.832178, -55.965635 162 | 161, 0.161816, -0.008954, -0.984872, -0.061367, 21.759189, -18.740045, -56.367921 163 | 162, 0.159851, 0.027954, -0.983087, 0.084911, 21.751420, -18.703395, -56.309119 164 | 163, 0.148895, 0.055840, -0.984018, 0.080152, 20.681265, -19.100403, -56.784151 165 | 164, 0.141563, 0.002962, -0.987104, -0.074701, 20.638277, -18.701044, -56.795848 166 | 165, 0.316212, 0.068370, -0.943014, -0.077872, 20.209589, -19.048708, -56.094470 167 | 166, 0.338225, 0.036540, -0.935260, 0.097775, 20.328041, -19.070202, -56.451462 168 | 167, 0.433721, 0.146785, -0.885494, 0.079020, 20.060576, -19.148088, -55.996000 169 | 168, 0.446451, 0.124310, -0.883891, -0.063018, 20.315923, -18.946001, -56.360483 170 | 169, 0.137710, -0.005938, -0.989336, -0.047107, 18.216636, -19.027216, -56.669998 171 | 170, 0.109396, 0.068871, -0.988834, 0.074159, 18.335271, -19.381762, -56.774016 172 | 171, 0.020549, 0.179475, -0.983355, 0.019600, 17.920739, -20.473545, -59.160532 173 | 172, 0.049114, -0.009488, -0.997897, -0.041268, 18.115615, -19.507821, -59.776096 174 | 173, -0.167138, -0.083490, -0.982098, -0.024124, 19.393696, -18.511707, -61.237117 175 | 174, -0.167277, 0.088616, -0.976376, 0.104200, 18.453881, -20.043237, -61.043517 176 | 175, -0.321709, 0.108004, -0.933123, -0.118839, 17.530822, -20.862225, -60.352755 177 | 176, -0.327431, 0.111683, -0.935914, -0.066202, 17.562384, -20.847037, -60.271455 178 | 177, -0.436657, 0.042590, -0.893032, -0.100067, 16.934895, -21.308536, -59.554635 179 | 178, -0.399678, 0.080610, -0.909084, -0.085595, 16.659530, -21.542979, -58.615641 180 | 179, -0.445941, 0.047335, -0.888026, -0.101522, 16.345218, -21.807453, -57.910645 181 | 180, -0.444760, 0.050442, -0.888430, -0.101667, 15.978236, -22.063572, -57.210099 182 | 181, -0.371557, 0.078169, -0.921767, -0.078621, 15.601373, -22.365758, -56.264254 183 | 182, -0.378724, 0.078236, -0.918346, -0.084188, 15.127098, -22.639484, -55.509873 184 | 183, -0.469204, 0.042279, -0.876388, -0.100021, 14.383156, -22.910472, -54.691536 185 | 184, -0.457673, 0.040444, -0.882690, -0.098784, 13.654893, -23.210144, -53.414478 186 | 185, -0.453549, 0.044839, -0.884571, -0.099083, 13.098504, -23.405260, -52.533471 187 | 186, -0.446984, 0.045058, -0.889343, -0.085114, 12.498544, -23.681156, -51.467366 188 | 187, -0.457681, 0.036954, -0.884213, -0.085617, 11.863199, -23.859292, -50.578232 189 | 188, -0.492830, -0.037816, -0.868419, 0.039212, 11.055256, -23.425253, -49.426360 190 | 189, -0.488346, 0.027542, -0.866703, -0.097914, 11.285431, -23.427064, -49.296647 191 | 190, -0.491942, 0.038870, -0.863575, -0.103536, 10.536030, -23.257730, -48.477682 192 | 191, -0.493364, -0.035204, -0.868764, 0.024503, 10.555455, -23.298313, -48.460241 193 | 192, -0.483742, -0.027472, -0.874185, 0.032242, 10.000300, -23.506485, -47.557232 194 | 193, -0.488567, 0.045285, -0.865895, -0.097353, 9.952479, -23.439204, -47.553691 195 | 194, -0.503138, 0.041040, -0.857580, -0.098616, 9.912354, -23.440219, -47.533485 196 | 195, -0.496741, 0.042865, -0.860895, -0.101353, 9.351053, -23.342944, -46.640155 197 | 196, -0.497422, -0.027416, -0.866534, 0.030645, 9.369842, -23.417931, -46.620916 198 | 197, -0.492187, -0.031296, -0.869405, 0.030168, 8.808558, -23.586604, -45.746747 199 | 198, -0.484459, 0.048147, -0.867998, -0.097782, 8.788659, -23.528907, -45.730620 200 | 199, -0.478695, 0.047823, -0.871604, -0.094190, 8.256035, -23.426072, -44.910775 201 | 200, -0.478083, -0.026156, -0.877337, 0.032147, 8.275910, -23.503418, -44.893768 202 | 201, -0.464344, -0.027229, -0.884665, 0.031831, 7.748532, -23.661429, -44.009198 203 | 202, -0.462712, 0.045720, -0.880705, -0.090369, 7.715470, -23.620145, -44.023631 204 | 203, -0.499324, 0.047095, -0.859830, -0.095666, 6.992666, -23.818957, -43.139877 205 | 204, -0.496824, -0.019940, -0.867096, 0.030232, 7.046687, -23.886156, -43.122512 206 | 205, -0.513531, -0.009408, -0.857227, 0.036892, 6.682148, -23.498206, -42.153470 207 | 206, -0.535256, 0.050285, -0.837173, -0.100577, 6.581263, -23.466340, -42.212576 208 | 207, -0.597801, 0.038929, -0.795206, -0.093632, 4.789802, -22.938193, -42.985847 209 | 208, -0.589754, -0.014094, -0.806474, 0.039898, 4.525305, -23.370005, -43.017015 210 | 209, -0.447875, 0.068226, -0.886182, -0.097147, 5.192699, -23.775185, -41.873181 211 | 210, -0.710681, -0.044173, -0.686245, -0.148498, 3.423760, -22.278683, -40.794506 212 | 211, -0.730903, -0.014377, -0.680297, 0.052657, 2.312738, -22.808140, -42.676051 213 | 212, -0.538096, -0.038039, -0.841206, 0.037157, 3.833087, -23.732499, -39.418232 214 | 213, -0.544904, 0.008787, -0.830656, -0.114087, 3.871839, -23.769020, -39.365832 215 | 214, -0.490300, -0.046023, -0.869721, 0.032808, 3.443815, -23.584492, -38.226039 216 | 215, -0.500481, 0.040553, -0.860007, -0.090907, 3.403807, -23.555623, -38.251819 217 | 216, -0.477087, 0.029068, -0.873483, -0.092587, 2.997726, -23.441612, -37.194192 218 | 217, -0.474538, -0.045643, -0.878352, 0.035079, 3.025122, -23.454183, -37.177979 219 | 218, -0.477575, -0.039748, -0.876656, 0.042659, 2.431677, -23.330458, -36.045295 220 | 219, -0.480282, 0.036521, -0.871638, -0.090808, 2.391556, -23.372779, -36.042778 221 | 220, -0.484216, 0.039838, -0.870254, -0.081296, 1.776584, -23.805914, -35.232270 222 | 221, -0.485273, -0.027073, -0.872767, 0.045358, 1.780073, -23.892582, -35.195405 223 | 222, -0.464142, -0.030838, -0.884215, 0.042270, 1.158039, -23.082163, -34.191523 224 | 223, -0.466556, 0.042054, -0.879104, -0.087957, 1.137199, -23.002591, -34.205571 225 | 224, -0.462656, 0.049630, -0.880770, -0.087939, 0.562567, -24.194182, -33.145829 226 | 225, -0.464230, -0.025319, -0.884388, 0.041366, 0.585771, -24.223642, -33.120364 227 | 226, -0.441317, -0.014359, -0.896143, 0.044301, -0.085421, -24.489189, -31.932900 228 | 227, -0.440434, 0.057507, -0.891844, -0.085601, -0.124857, -24.473878, -31.952378 229 | 228, -0.425925, 0.065668, -0.898179, -0.086912, -0.809515, -24.692700, -30.942128 230 | 229, -0.425827, -0.013309, -0.903769, 0.041213, -0.873015, -24.403693, -30.955100 231 | 230, -0.476421, -0.009080, -0.878024, 0.044921, -1.662661, -24.348515, -30.130037 232 | 231, -0.478137, 0.061751, -0.869898, -0.104165, -1.730306, -24.302974, -30.160304 233 | 232, -0.502245, 0.057642, -0.857251, -0.097734, -2.470916, -24.149594, -29.578566 234 | 233, -0.513863, -0.003139, -0.856598, 0.046667, -2.531458, -24.315793, -29.533952 235 | 234, -0.511559, -0.011144, -0.858288, 0.039083, -3.031384, -25.347678, -28.690367 236 | 235, -0.503931, 0.042225, -0.856200, -0.105807, -3.064183, -25.210597, -28.688067 237 | 236, -0.460328, 0.068155, -0.881253, -0.082761, -3.496484, -24.583269, -27.722817 238 | 237, -0.460843, -0.014778, -0.886180, 0.045754, -3.456768, -24.616414, -27.730988 239 | 238, -0.471889, -0.011980, -0.880444, 0.044698, -4.035158, -25.209523, -26.672250 240 | 239, -0.473417, 0.070429, -0.874198, -0.081828, -4.088204, -25.180409, -26.659300 241 | 240, -0.474084, 0.066306, -0.874182, -0.081588, -4.837940, -24.948593, -26.083814 242 | 241, -0.476348, -0.000603, -0.877757, 0.051366, -4.788948, -25.041039, -26.097658 243 | 242, -0.498477, -0.001727, -0.865679, 0.046045, -5.314973, -25.245171, -25.358816 244 | 243, -0.495402, 0.061311, -0.861876, -0.089398, -5.370601, -25.154659, -25.341975 245 | 244, -0.467943, 0.063637, -0.876580, -0.092682, -5.937819, -25.435848, -24.063668 246 | 245, -0.472531, -0.008313, -0.880447, 0.038223, -5.900034, -25.420830, -24.046737 247 | 246, -0.444040, 0.000878, -0.894959, 0.043338, -6.643660, -25.736330, -23.101446 248 | 247, -0.441131, 0.074487, -0.890422, -0.083704, -6.678191, -25.640184, -23.109265 249 | 248, -0.453427, 0.066105, -0.884261, -0.090105, -7.338678, -25.638995, -22.213344 250 | 249, -0.451655, -0.009190, -0.891226, 0.040539, -7.248762, -25.313241, -22.155705 251 | 250, -0.460733, 0.006845, -0.886368, 0.045071, -7.998631, -25.667203, -21.348502 252 | 251, -0.462168, 0.075997, -0.878141, -0.097453, -8.049133, -25.586683, -21.380545 253 | 252, -0.462302, 0.069778, -0.878578, -0.097527, -8.681618, -26.339353, -20.456052 254 | 253, -0.468536, -0.001418, -0.882140, 0.047973, -8.687802, -25.538390, -20.357706 255 | 254, -0.488789, -0.007177, -0.871257, 0.044154, -9.313348, -25.123544, -19.567963 256 | 255, -0.486664, 0.050821, -0.866781, -0.096269, -9.372065, -26.242987, -19.640574 257 | 256, -0.465655, 0.063490, -0.878129, -0.089595, -9.887955, -26.852578, -18.599908 258 | 257, -0.468443, 0.002931, -0.882540, 0.040950, -9.822325, -25.538603, -18.439473 259 | 258, -0.449858, -0.007310, -0.892120, 0.041233, -10.160383, -24.968316, -17.502178 260 | 259, -0.445487, 0.069837, -0.888347, -0.086641, -10.187233, -25.030323, -17.514345 261 | 260, -0.461930, 0.058323, -0.880673, -0.087394, -10.915289, -27.352870, -16.684914 262 | 261, -0.466205, -0.012433, -0.883543, 0.043057, -10.878898, -27.328799, -16.658863 263 | 262, -0.593282, -0.030786, -0.803953, 0.027037, -12.155996, -27.578928, -16.089994 264 | 263, -0.582643, 0.014162, -0.805397, -0.108008, -12.176284, -27.379211, -16.051023 265 | 264, -0.584510, -0.006709, -0.802674, -0.118408, -12.447818, -27.514293, -15.160064 266 | 265, -0.592824, -0.057299, -0.802942, 0.023736, -12.420688, -27.592623, -15.191554 267 | 266, -0.753593, 0.004455, -0.656048, 0.041015, -13.320680, -27.155797, -14.465074 268 | 267, -0.722578, -0.070860, -0.668701, -0.160322, -13.347604, -27.595909, -14.435970 269 | 268, -0.830813, 0.103700, -0.542654, -0.067283, -13.163300, -27.039332, -13.463614 270 | 269, -0.850221, 0.000247, -0.523857, 0.051969, -13.177554, -27.099561, -13.468226 271 | 270, 0.969285, -0.006054, 0.245671, 0.009814, -1.893900, -0.040817, 1.588940 272 | 271, -0.846483, 0.089922, -0.520157, -0.069433, -12.779609, -27.278525, -12.458822 273 | 272, 0.988458, -0.151223, 0.009131, 0.000002, -0.758147, 0.038092, 0.701909 274 | 273, 0.999935, -0.002788, 0.010957, 0.001432, -0.731500, -0.019048, 0.704759 275 | 274, -0.745735, 0.000826, -0.663810, 0.056908, -17.125693, -27.468899, -13.738050 276 | 275, -0.744438, 0.033115, -0.659060, -0.101777, -16.566757, -26.304171, -15.133093 277 | -------------------------------------------------------------------------------- /slam_tutorial-solution/data/optimized_poses.csv: -------------------------------------------------------------------------------- 1 | 0, 1, 0, 0, 0, 0, 0, 5.58294e-322 2 | 1, 0.987301, 0.158543, -0.00999463, -0.000446507, -0.00485316, -0.0543497, 5.58294e-322 3 | 2, 0.988952, -0.148215, -0.0024255, -0.000798271, -0.00853961, 0.034821, 5.58294e-322 4 | 3, 0.962263, 0.146891, -0.227647, 0.0254852, 1.24504, -0.0402788, 5.58294e-322 5 | 4, 0.950313, 0.149438, 0.271505, -0.0293122, -1.86116, -0.0858317, 5.58294e-322 6 | 5, 0.999856, -0.00110548, 0.0169101, -0.000485505, -1.09005, -0.119036, 5.58294e-322 7 | 6, 0.987923, 0.153804, 0.0181361, -0.00492611, -1.09269, -0.163181, 5.58294e-322 8 | 7, 0.988159, 0.152437, -0.0167804, 0.00490578, -1.98549, -0.16395, 5.58294e-322 9 | 8, 0.999834, -0.000234814, -0.0181158, 0.00175299, -1.9808, -0.12208, 5.58294e-322 10 | 9, 0.999653, -0.00248118, -0.0259552, 0.00375223, -2.84033, -0.131827, 5.58294e-322 11 | 10, 0.986797, 0.159531, -0.0248871, 0.0127101, -2.84163, -0.178585, 5.58294e-322 12 | 11, 0.987935, 0.154421, -0.0106065, 0.00520119, -3.77435, -0.193595, 5.58294e-322 13 | 12, 0.999922, -0.00650132, -0.0105925, 0.00147235, -3.77094, -0.147051, 5.58294e-322 14 | 13, 0.99969, -0.00703612, -0.0238705, 0.000235742, -4.7257, -0.180028, 5.58294e-322 15 | 14, 0.987818, 0.153703, -0.0236767, 0.00548988, -4.74137, -0.228341, 5.58294e-322 16 | 15, 0.988027, 0.153141, -0.0169504, 0.00789529, -5.68, -0.217194, 5.58294e-322 17 | 16, 0.999809, -0.00646855, -0.0180467, 0.00375237, -5.67958, -0.17421, 5.58294e-322 18 | 17, 0.999263, -0.00732474, -0.0376668, 0.000864609, -6.63237, -0.225622, 5.58294e-322 19 | 18, 0.987839, 0.150949, -0.036957, 0.00465576, -6.63318, -0.270527, 5.58294e-322 20 | 19, 0.987953, 0.152877, -0.0219669, 0.00976929, -7.49172, -0.32618, 5.58294e-322 21 | 20, 0.99973, -0.00421681, -0.0224645, 0.00426549, -7.4956, -0.284654, 5.58294e-322 22 | 21, 0.999834, -0.00253482, -0.0178267, 0.00269194, -8.43389, -0.267207, 5.58294e-322 23 | 22, 0.988137, 0.152758, -0.0151333, 0.00463251, -8.43462, -0.305829, 5.58294e-322 24 | 23, 0.988239, 0.151722, -0.00866304, 0.0170194, -9.41631, -0.292097, 5.58294e-322 25 | 24, 0.999837, -0.00183985, -0.0103047, 0.0147361, -9.41818, -0.248837, 5.58294e-322 26 | 25, 0.999803, -0.00975817, -0.0171806, 0.001686, -10.4465, -0.239268, 5.58294e-322 27 | 26, 0.987068, 0.158327, -0.0235993, 0.00851062, -10.457, -0.288757, 5.58294e-322 28 | 27, 0.986808, 0.158338, -0.0325996, 0.00874907, -11.4611, -0.328656, 5.58294e-322 29 | 28, 0.999429, -0.00656217, -0.0331137, 0.0015771, -11.4638, -0.281343, 5.58294e-322 30 | 29, 0.999734, -0.00554904, -0.0222956, 0.00205286, -12.4368, -0.242974, 5.58294e-322 31 | 30, 0.999515, -0.00605916, -0.0304944, 0.00179266, -12.3714, -0.184834, 5.58294e-322 32 | 31, 0.98762, 0.156381, -0.00793938, 0.00945207, -13.3165, -0.16771, 5.58294e-322 33 | 32, 0.987848, 0.154311, -0.0174156, 0.00644083, -12.4453, -0.287803, 5.58294e-322 34 | 33, 0.999675, -0.00196502, -0.023962, 0.00851164, -14.7716, -0.372402, 5.58294e-322 35 | 34, 0.987178, 0.157467, -0.0227358, 0.0129095, -14.766, -0.420745, 5.58294e-322 36 | 35, 0.983401, 0.157779, 0.0895938, -0.0012995, -15.717, -0.367305, 5.58294e-322 37 | 36, 0.995006, -4.00264e-05, 0.0991127, 0.0117833, -15.7063, -0.321625, 5.58294e-322 38 | 37, 0.97191, -0.000839112, 0.235056, 0.0117665, -16.4347, -0.10739, 5.58294e-322 39 | 38, 0.960375, 0.150162, 0.233642, -0.023274, -16.455, -0.149901, 5.58294e-322 40 | 39, 0.919743, 0.144635, 0.362047, -0.0455601, -17.1499, 0.381916, 5.58294e-322 41 | 40, 0.93158, -0.00119907, 0.363335, 0.0120366, -17.1231, 0.418153, 5.58294e-322 42 | 41, 0.886604, 0.00186955, 0.462375, 0.011807, -17.4703, 0.99017, 5.58294e-322 43 | 42, 0.87602, 0.140543, 0.457696, -0.0578869, -17.5084, 0.961409, 5.58294e-322 44 | 43, 0.81369, 0.148692, 0.555154, -0.0871946, -18.0822, 1.8758, 5.58294e-322 45 | 44, 0.82635, 0.0205038, 0.562772, -0.00369218, -18.0397, 1.89585, 5.58294e-322 46 | 45, 0.734049, -0.0242328, 0.678619, 0.00783205, -18.2621, 3.30607, 5.58294e-322 47 | 46, 0.728829, 0.0879193, 0.672285, -0.0954536, -18.3041, 3.30507, 5.58294e-322 48 | 47, 0.744746, 0.0646857, 0.659728, -0.0769966, -18.2555, 4.37002, 5.58294e-322 49 | 48, 0.745603, -0.0494426, 0.664164, 0.0227766, -18.2173, 4.37046, 5.58294e-322 50 | 49, 0.731516, -0.0332353, 0.679324, 0.0479408, -18.5086, 5.55665, 5.58294e-322 51 | 50, 0.729899, 0.0830852, 0.675962, -0.0584867, -18.5457, 5.55308, 5.58294e-322 52 | 51, 0.708208, 0.0901319, 0.698128, -0.0541748, -18.5761, 6.83621, 5.58294e-322 53 | 52, 0.71229, -0.0244796, 0.699241, 0.0557285, -18.5367, 6.8367, 5.58294e-322 54 | 53, 0.699948, -0.0269344, 0.70954, 0.0768158, -18.5314, 8.12234, 5.58294e-322 55 | 54, 0.734154, 0.0909058, 0.672264, -0.0285557, -18.5821, 8.14977, 5.58294e-322 56 | 55, 0.711389, 0.0614835, 0.69981, -0.0202737, -18.3773, 9.09224, 5.58294e-322 57 | 56, 0.71405, -0.0472486, 0.692508, 0.0912883, -18.3442, 9.09808, 5.58294e-322 58 | 57, 0.72217, -0.0877013, 0.680631, 0.0867276, -18.3677, 10.7301, 5.58294e-322 59 | 58, 0.732553, 0.0342925, 0.679728, -0.0125984, -18.4073, 10.7349, 5.58294e-322 60 | 59, 0.695697, -0.00326142, 0.717028, 0.0431861, -18.3793, 11.9148, 5.58294e-322 61 | 60, 0.680591, -0.105014, 0.710675, 0.143903, -18.3536, 11.9046, 5.58294e-322 62 | 61, 0.712133, -0.0878511, 0.684225, 0.130328, -18.5948, 13.1172, 5.58294e-322 63 | 62, 0.714825, 0.0219796, 0.698336, 0.0294731, -18.6161, 13.1128, 5.58294e-322 64 | 63, 0.64369, 0.0877226, 0.75918, -0.0401658, -19.4746, 13.8483, 5.58294e-322 65 | 64, 0.672283, -0.0105234, 0.736811, 0.0709518, -19.4366, 13.8551, 5.58294e-322 66 | 65, 0.702987, -0.00771466, 0.699467, 0.128431, -19.407, 14.8221, 5.58294e-322 67 | 66, 0.703457, 0.0991949, 0.703474, 0.0208285, -19.4373, 14.817, 5.58294e-322 68 | 67, 0.702352, 0.0527535, 0.698773, -0.125038, -19.5841, 16.4086, 5.58294e-322 69 | 68, 0.72838, -0.0523561, 0.682941, -0.0176903, -19.5411, 16.4065, 5.58294e-322 70 | 69, 0.704091, -0.0146747, 0.709694, 0.0193547, -19.7084, 17.4207, 5.58294e-322 71 | 70, 0.703872, 0.0972739, 0.698705, -0.0831417, -19.7891, 17.4224, 5.58294e-322 72 | 71, 0.706036, 0.0555916, 0.699182, -0.0978115, -19.7347, 18.7456, 5.58294e-322 73 | 72, 0.706297, -0.0511177, 0.706051, 0.00477432, -19.7004, 18.7424, 5.58294e-322 74 | 73, 0.699446, -0.0238402, 0.714071, 0.0176333, -19.6655, 20.0127, 5.58294e-322 75 | 74, 0.695018, 0.0810239, 0.709157, -0.0864963, -19.7021, 20.0192, 5.58294e-322 76 | 75, 0.691074, 0.0850087, 0.711597, -0.0939148, -19.6651, 21.5032, 5.58294e-322 77 | 76, 0.693288, -0.0200043, 0.720293, 0.0114007, -19.6331, 21.4954, 5.58294e-322 78 | 77, 0.708346, -0.00852469, 0.705723, -0.0113, -19.6121, 22.8367, 5.58294e-322 79 | 78, 0.700287, 0.0976922, 0.69813, -0.112557, -19.6529, 22.8458, 5.58294e-322 80 | 79, 0.678071, 0.0872604, 0.722904, -0.100071, -19.3143, 24.2464, 5.58294e-322 81 | 80, 0.684132, -0.0147455, 0.729192, 0.00511263, -19.2799, 24.2417, 5.58294e-322 82 | 81, 0.686546, -0.00860025, 0.726656, -0.0234867, -19.1515, 25.56, 5.58294e-322 83 | 82, 0.677707, 0.0936961, 0.717807, -0.129181, -19.1936, 25.5647, 5.58294e-322 84 | 83, 0.677667, 0.0931972, 0.72149, -0.1074, -18.9156, 26.624, 5.58294e-322 85 | 84, 0.684314, -0.00791689, 0.729138, -0.0030804, -18.8737, 26.614, 5.58294e-322 86 | 85, 0.69409, -0.0279243, 0.719345, -0.00138069, -18.7278, 27.9423, 5.58294e-322 87 | 86, 0.689547, 0.0769002, 0.712164, -0.106924, -18.77, 27.9526, 5.58294e-322 88 | 87, 0.700906, 0.0940387, 0.698236, -0.11115, -18.781, 29.1462, 5.58294e-322 89 | 88, 0.706811, -0.0100242, 0.707292, -0.00740499, -18.7387, 29.1434, 5.58294e-322 90 | 89, 0.736421, -0.00727379, 0.676473, -0.00391313, -18.7648, 30.5402, 5.58294e-322 91 | 90, 0.728974, 0.10431, 0.668302, -0.105303, -18.8076, 30.5423, 5.58294e-322 92 | 91, 0.691445, 0.117383, 0.703817, -0.112984, -18.8461, 31.6116, 5.58294e-322 93 | 92, 0.700815, 0.0127172, 0.713164, -0.00969401, -18.8017, 31.6129, 5.58294e-322 94 | 93, 0.68875, -0.0278531, 0.724462, 0.00125823, -18.8845, 32.7307, 5.58294e-322 95 | 94, 0.685649, 0.0762132, 0.71573, -0.108661, -18.929, 32.7408, 5.58294e-322 96 | 95, 0.689694, 0.0678965, 0.716042, -0.0836412, -18.785, 33.9097, 5.58294e-322 97 | 96, 0.692336, -0.0353309, 0.720316, 0.0238023, -18.7482, 33.9068, 5.58294e-322 98 | 97, 0.709063, 0.0152169, 0.698779, 0.0933014, -18.8006, 35.085, 5.58294e-322 99 | 98, 0.6957, 0.121552, 0.7079, -0.0102085, -18.8343, 35.0798, 5.58294e-322 100 | 99, 0.689931, 0.11811, 0.713523, -0.0304955, -18.8306, 36.1595, 5.58294e-322 101 | 100, 0.699159, 0.0132646, 0.711101, 0.0730452, -18.793, 36.1665, 5.58294e-322 102 | 101, 0.732495, -0.00469362, 0.680117, 0.0294819, -18.9584, 37.6149, 5.58294e-322 103 | 102, 0.725459, 0.103662, 0.676637, -0.0715954, -18.9998, 37.6137, 5.58294e-322 104 | 103, 0.71501, 0.104156, 0.687012, -0.0769804, -19.0265, 38.8993, 5.58294e-322 105 | 104, 0.721393, -0.004432, 0.692126, 0.0231145, -18.9851, 38.9001, 5.58294e-322 106 | 105, 0.711274, -0.0146586, 0.70256, 0.0168607, -18.8932, 40.2596, 5.58294e-322 107 | 106, 0.704405, 0.0924978, 0.698325, -0.0871794, -18.9325, 40.2586, 5.58294e-322 108 | 107, 0.696822, 0.0893351, 0.706899, -0.0821708, -18.9177, 41.4728, 5.58294e-322 109 | 108, 0.70209, -0.0184049, 0.71151, 0.0220053, -18.8786, 41.4696, 5.58294e-322 110 | 109, 0.701614, -0.0229192, 0.711842, 0.0222126, -18.7972, 42.6497, 5.58294e-322 111 | 110, 0.714294, 0.0876698, 0.68932, -0.0832811, -18.8513, 42.6423, 5.58294e-322 112 | 111, 0.543689, -0.00875858, 0.831137, -0.116344, -18.0443, 44.8642, 5.58294e-322 113 | 112, 0.730196, 0.0136231, 0.679357, -0.0714309, -18.1211, 44.93, 5.58294e-322 114 | 113, 0.709599, 0.0294628, 0.703258, -0.0320922, -19.1761, 46.3767, 5.58294e-322 115 | 114, 0.706245, -0.0775614, 0.700277, 0.0693941, -19.1452, 46.3773, 5.58294e-322 116 | 115, 0.669929, -0.052107, 0.73938, 0.0423984, -19.5127, 47.5406, 5.58294e-322 117 | 116, 0.682835, 0.0547619, 0.72554, -0.065798, -19.5602, 47.563, 5.58294e-322 118 | 117, 0.663988, 0.0440546, 0.743996, -0.0604141, -19.549, 48.7491, 5.58294e-322 119 | 118, 0.662597, -0.0584117, 0.745083, 0.049049, -19.5138, 48.7435, 5.58294e-322 120 | 119, 0.657718, -0.0385893, 0.750801, 0.0470728, -19.6309, 49.8986, 5.58294e-322 121 | 120, 0.657394, 0.061197, 0.748226, -0.0651623, -19.6651, 49.9067, 5.58294e-322 122 | 121, 0.734433, 0.0799877, 0.669805, -0.074641, -19.6924, 51.0882, 5.58294e-322 123 | 122, 0.73765, -0.0334943, 0.673889, 0.0249865, -19.6528, 51.0866, 5.58294e-322 124 | 123, 0.717667, -0.0289857, 0.69526, 0.0269864, -19.7097, 52.1182, 5.58294e-322 125 | 124, 0.714337, 0.0810453, 0.690948, -0.075797, -19.7467, 52.1217, 5.58294e-322 126 | 125, 0.700013, 0.0860724, 0.702494, -0.095267, -19.6906, 53.4747, 5.58294e-322 127 | 126, 0.705027, -0.0206152, 0.708824, 0.00898752, -19.651, 53.4723, 5.58294e-322 128 | 127, 0.698411, -0.0290181, 0.715106, 0.00154202, -19.4938, 54.4748, 5.58294e-322 129 | 128, 0.694441, 0.0769837, 0.707972, -0.102963, -19.5333, 54.4831, 5.58294e-322 130 | 129, 0.641757, 0.0804331, 0.759117, -0.0736138, -19.4193, 55.52, 5.58294e-322 131 | 130, 0.647144, -0.0193244, 0.761226, 0.0369478, -19.384, 55.5079, 5.58294e-322 132 | 131, 0.520091, -0.0203457, 0.853809, 0.0101038, -18.8936, 56.4918, 5.58294e-322 133 | 132, 0.517477, 0.0586651, 0.845704, -0.116452, -18.9287, 56.5144, 5.58294e-322 134 | 133, 0.417932, 0.0784966, 0.898465, -0.109227, -18.2961, 57.6497, 5.58294e-322 135 | 134, 0.424803, 0.0144521, 0.904827, 0.0249198, -18.2627, 57.6267, 5.58294e-322 136 | 135, 0.262349, 0.0051511, 0.964062, 0.0416037, -17.3943, 58.2001, 5.58294e-322 137 | 136, 0.259025, 0.0505962, 0.95822, -0.110275, -17.4237, 58.2347, 5.58294e-322 138 | 137, 0.202839, 0.0330888, 0.973167, -0.103478, -16.5127, 58.5396, 5.58294e-322 139 | 138, 0.206148, 0.00183323, 0.977696, 0.0401169, -16.4984, 58.5074, 5.58294e-322 140 | 139, 0.104329, -0.00863145, 0.993929, 0.0338458, -15.4077, 58.6899, 5.58294e-322 141 | 140, 0.104236, 0.00808243, 0.987911, -0.11446, -15.4135, 58.7264, 5.58294e-322 142 | 141, 0.0386665, -0.0134111, 0.992301, -0.116893, -14.43, 58.795, 5.58294e-322 143 | 142, 0.0374745, -0.0208787, 0.998596, 0.03109, -14.4311, 58.7585, 5.58294e-322 144 | 143, 0.0323386, -0.0121964, 0.998943, 0.0302928, -13.4413, 58.7842, 5.58294e-322 145 | 144, 0.0341071, -0.00463629, 0.992103, -0.120613, -13.4388, 58.8247, 5.58294e-322 146 | 145, 0.0362505, 0.00775677, 0.990575, -0.13186, -12.4477, 58.8158, 5.58294e-322 147 | 146, 0.0361599, 0.000284852, 0.999216, 0.016135, -12.45, 58.7761, 5.58294e-322 148 | 147, 0.0387855, -0.0174509, 0.999093, 0.00194299, -11.3494, 58.7627, 5.58294e-322 149 | 148, 0.0408655, -0.00908829, 0.988186, -0.147431, -11.3457, 58.8047, 5.58294e-322 150 | 149, 0.0169515, 0.00468421, 0.988754, -0.148514, -10.1339, 58.8861, 5.58294e-322 151 | 150, 0.0179053, 0.00069735, 0.999839, -0.000757339, -10.1356, 58.8478, 5.58294e-322 152 | 151, 0.0451005, -0.0106715, 0.998881, 0.00938787, -9.02003, 58.8841, 5.58294e-322 153 | 152, 0.0489869, -0.00167301, 0.988826, -0.140784, -9.00388, 58.9307, 5.58294e-322 154 | 153, 0.0541693, -0.00162474, 0.988786, -0.139162, -8.03515, 59.0085, 5.58294e-322 155 | 154, 0.053018, -0.0147432, 0.99844, 0.00948901, -8.03794, 58.9707, 5.58294e-322 156 | 155, 0.0506558, -0.0128074, 0.9986, 0.00824173, -6.94666, 58.8798, 5.58294e-322 157 | 156, 0.0521876, -0.00287167, 0.988827, -0.139604, -6.9454, 58.9203, 5.58294e-322 158 | 157, 0.0613438, 0.00283746, 0.987717, -0.143683, -5.89268, 58.9296, 5.58294e-322 159 | 158, 0.0375432, -0.00847152, 0.999253, 0.00345774, -5.89781, 58.8305, 5.58294e-322 160 | 159, 0.0112195, -0.00153018, 0.999936, -0.000137107, -4.82019, 58.6429, 5.58294e-322 161 | 160, 0.0122086, 0.00162963, 0.988655, -0.149698, -4.82078, 58.6874, 5.58294e-322 162 | 161, 0.0162814, -0.000769226, 0.986013, -0.165868, -3.69723, 58.7158, 5.58294e-322 163 | 162, 0.017019, -0.00504446, 0.999703, -0.0166732, -3.70088, 58.6748, 5.58294e-322 164 | 163, -0.00117761, 0.0137614, 0.999709, -0.0197671, -2.49451, 58.7197, 5.58294e-322 165 | 164, 0.000410799, 0.0168899, 0.984221, -0.176135, -2.50529, 58.7642, 5.58294e-322 166 | 165, 0.189401, 0.0394119, 0.96697, -0.165961, -2.12556, 58.4629, 5.58294e-322 167 | 166, 0.193717, 0.00668315, 0.980923, -0.0148305, -2.109, 58.419, 5.58294e-322 168 | 167, 0.33676, 0.00179454, 0.941542, -0.00935609, -1.96234, 58.3575, 5.58294e-322 169 | 168, 0.337949, 0.0535712, 0.927511, -0.150478, -2.01152, 58.4543, 5.58294e-322 170 | 169, -0.00832987, 0.00569834, 0.988515, -0.150788, -0.220124, 57.8546, 5.58294e-322 171 | 170, -0.00745189, 0.0067306, 0.999946, -0.00260592, -0.213172, 57.8118, 5.58294e-322 172 | 171, -0.0881521, 0.00740648, 0.996046, 0.00819805, 2.05236, 57.9006, 5.58294e-322 173 | 172, -0.0883558, -0.00465614, 0.986447, -0.138177, 2.06223, 57.9441, 5.58294e-322 174 | 173, -0.310152, -0.0394349, 0.941884, -0.122904, 2.92067, 57.7618, 5.58294e-322 175 | 174, -0.312615, 0.00165621, 0.949522, 0.0260291, 2.89726, 57.7136, 5.58294e-322 176 | 175, 0.472264, 0.095861, -0.861892, 0.15786, 3.1924, 56.4818, 5.58294e-322 177 | 176, 0.476415, 0.0689146, -0.869215, 0.11289, 3.17678, 56.4722, 5.58294e-322 178 | 177, 0.587256, 0.0853987, -0.797162, 0.111225, 3.18883, 55.3913, 5.58294e-322 179 | 178, 0.549351, 0.084767, -0.824398, 0.106752, 3.16472, 54.4608, 5.58294e-322 180 | 179, 0.597967, 0.103823, -0.789218, 0.0937576, 3.10406, 53.6501, 5.58294e-322 181 | 180, 0.59753, 0.10341, -0.78929, 0.0963574, 3.09851, 52.816, 5.58294e-322 182 | 181, -0.531993, -0.0869545, 0.836665, -0.0970263, 3.2504, 51.7659, 5.58294e-322 183 | 182, -0.543646, -0.0906892, 0.828187, -0.101644, 3.38221, 50.8442, 5.58294e-322 184 | 183, -0.634134, -0.102403, 0.760706, -0.0933461, 3.50627, 49.7136, 5.58294e-322 185 | 184, -0.630163, -0.105062, 0.764135, -0.0891917, 3.65446, 48.2222, 5.58294e-322 186 | 185, -0.63191, -0.105476, 0.762214, -0.0927057, 3.77628, 47.17, 5.58294e-322 187 | 186, -0.632522, -0.095146, 0.763829, -0.086185, 3.84182, 45.9187, 5.58294e-322 188 | 187, -0.649709, -0.0978935, 0.749471, -0.0811644, 3.96332, 44.8189, 5.58294e-322 189 | 188, -0.690666, -0.00394152, 0.722652, 0.0271979, 4.06208, 43.4653, 5.58294e-322 190 | 189, -0.680062, -0.107631, 0.720435, -0.0830979, 4.01036, 43.4916, 5.58294e-322 191 | 190, -0.682279, -0.118971, 0.716092, -0.0869123, 4.08007, 42.371, 5.58294e-322 192 | 191, -0.692125, -0.0169522, 0.721291, 0.0203689, 4.03952, 42.3706, 5.58294e-322 193 | 192, -0.686701, -0.00938369, 0.726664, 0.0176993, 4.11402, 41.2728, 5.58294e-322 194 | 193, -0.678483, -0.112252, 0.720234, -0.0912312, 4.15589, 41.272, 5.58294e-322 195 | 194, -0.691042, -0.112327, 0.708216, -0.0909615, 4.14206, 41.2342, 5.58294e-322 196 | 195, -0.690572, -0.116341, 0.708189, -0.0896898, 4.21587, 40.1411, 5.58294e-322 197 | 196, -0.699428, -0.0117756, 0.714401, 0.0171208, 4.17377, 40.143, 5.58294e-322 198 | 197, -0.698586, -0.0110178, 0.715212, 0.0181265, 4.24421, 39.0709, 5.58294e-322 199 | 198, -0.681044, -0.11394, 0.717551, -0.0911998, 4.28491, 39.063, 5.58294e-322 200 | 199, -0.681084, -0.108859, 0.718156, -0.0923409, 4.3524, 38.0646, 5.58294e-322 201 | 200, -0.689351, -0.00602219, 0.724276, 0.0135072, 4.31299, 38.062, 5.58294e-322 202 | 201, -0.678122, -0.0146485, 0.734539, 0.0196939, 4.36453, 37.0064, 5.58294e-322 203 | 202, -0.669412, -0.108052, 0.729845, -0.0868266, 4.40487, 37.0068, 5.58294e-322 204 | 203, -0.697836, -0.105008, 0.701837, -0.0970657, 4.44154, 35.8651, 5.58294e-322 205 | 204, -0.702807, -0.00736475, 0.711321, 0.0054684, 4.40455, 35.8627, 5.58294e-322 206 | 205, -0.720694, -0.0071409, 0.693188, 0.00636269, 4.10361, 34.8641, 5.58294e-322 207 | 206, -0.727708, -0.115177, 0.669182, -0.0968078, 4.13263, 34.8699, 5.58294e-322 208 | 207, -0.77614, -0.120066, 0.613058, -0.0857392, 5.62876, 34.059, 5.58294e-322 209 | 208, -0.781954, -0.00404808, 0.623293, 0.00617877, 5.58975, 34.0627, 5.58294e-322 210 | 209, -0.653787, -0.106221, 0.741431, -0.10752, 5.67751, 34.0348, 5.58294e-322 211 | 210, -0.872029, -0.138468, 0.465551, -0.0604528, 5.06439, 31.3795, 5.58294e-322 212 | 211, -0.883309, -0.00577683, 0.468442, 0.0171491, 5.02782, 31.4064, 5.58294e-322 213 | 212, -0.737507, -0.00461554, 0.674831, 0.0257995, 5.09769, 31.3324, 5.58294e-322 214 | 213, -0.742259, -0.122636, 0.654288, -0.0769329, 5.12355, 31.3204, 5.58294e-322 215 | 214, -0.701149, -0.00443462, 0.712341, 0.0306598, 4.96917, 30.0827, 5.58294e-322 216 | 215, -0.701156, -0.115025, 0.699744, -0.0742205, 4.99965, 30.0795, 5.58294e-322 217 | 216, -0.682378, -0.104025, 0.719594, -0.0756498, 4.87668, 28.9555, 5.58294e-322 218 | 217, -0.68963, -0.00322378, 0.723426, 0.0324728, 4.83858, 28.9586, 5.58294e-322 219 | 218, -0.693072, 0.0060803, 0.720244, 0.0293544, 4.79837, 27.6694, 5.58294e-322 220 | 219, -0.68515, -0.0963446, 0.717417, -0.0812411, 4.83748, 27.6594, 5.58294e-322 221 | 220, -0.686241, -0.0919265, 0.716663, -0.0837689, 4.91289, 26.5941, 5.58294e-322 222 | 221, -0.693175, 0.0125826, 0.7204, 0.019338, 4.87465, 26.5914, 5.58294e-322 223 | 222, -0.683845, 0.00913765, 0.729287, 0.0203092, 5.00514, 25.4151, 5.58294e-322 224 | 223, -0.677734, -0.0928028, 0.723988, -0.0889098, 5.04473, 25.4117, 5.58294e-322 225 | 224, -0.669786, -0.0981073, 0.730279, -0.0919473, 5.03084, 24.1386, 5.58294e-322 226 | 225, -0.677372, 0.00271238, 0.735448, 0.016616, 4.99058, 24.1351, 5.58294e-322 227 | 226, -0.659888, 0.000486419, 0.751187, 0.0162892, 5.03744, 22.7337, 5.58294e-322 228 | 227, -0.653598, -0.0975979, 0.744664, -0.0935922, 5.07642, 22.7347, 5.58294e-322 229 | 228, -0.640597, -0.0991125, 0.754926, -0.0994949, 5.30251, 21.5114, 5.58294e-322 230 | 229, -0.647261, -0.00514843, 0.762098, 0.0152934, 5.26382, 21.5064, 5.58294e-322 231 | 230, -0.690241, -0.00158945, 0.723459, 0.0131461, 5.29752, 20.3553, 5.58294e-322 232 | 231, -0.684918, -0.100542, 0.713265, -0.109685, 5.34866, 20.3555, 5.58294e-322 233 | 232, -0.709234, -0.109521, 0.689127, -0.10048, 5.42239, 19.3196, 5.58294e-322 234 | 233, -0.720456, -0.00207327, 0.693422, 0.0102018, 5.37971, 19.3174, 5.58294e-322 235 | 234, -0.71452, 0.000908543, 0.699568, 0.00803421, 5.48855, 18.2987, 5.58294e-322 236 | 235, -0.707443, -0.108202, 0.691334, -0.0993729, 5.52734, 18.2978, 5.58294e-322 237 | 236, -0.675233, -0.101929, 0.723953, -0.0977922, 5.53182, 17.1492, 5.58294e-322 238 | 237, -0.6838, 0.00155821, 0.729555, 0.012844, 5.49172, 17.1662, 5.58294e-322 239 | 238, -0.685576, 0.00414156, 0.727909, 0.0108329, 5.54846, 16.0283, 5.58294e-322 240 | 239, -0.680113, -0.0970382, 0.719903, -0.0988402, 5.58907, 16.0147, 5.58294e-322 241 | 240, -0.68862, -0.10005, 0.711573, -0.0972466, 5.75539, 15.0149, 5.58294e-322 242 | 241, -0.694802, 0.00333478, 0.719141, 0.0087176, 5.71483, 15.0223, 5.58294e-322 243 | 242, -0.713996, 0.004164, 0.700126, 0.00412493, 5.59046, 14.0661, 5.58294e-322 244 | 243, -0.706756, -0.0991905, 0.693058, -0.101629, 5.63321, 14.0554, 5.58294e-322 245 | 244, -0.68516, -0.111851, 0.71321, -0.0968298, 5.6457, 12.6716, 5.58294e-322 246 | 245, -0.693014, -0.0096501, 0.720802, 0.00907714, 5.60571, 12.6705, 5.58294e-322 247 | 246, -0.672255, -0.00662723, 0.740222, 0.0100567, 5.79553, 11.4674, 5.58294e-322 248 | 247, -0.66501, -0.108595, 0.732493, -0.0970761, 5.83719, 11.4652, 5.58294e-322 249 | 248, -0.677591, -0.106612, 0.721038, -0.0980261, 5.88821, 10.3358, 5.58294e-322 250 | 249, -0.68162, -0.00496934, 0.73162, 0.0101105, 5.85091, 10.3413, 5.58294e-322 251 | 250, -0.688648, -0.00244639, 0.725062, 0.00656093, 5.92764, 9.25401, 5.58294e-322 252 | 251, -0.684323, -0.111544, 0.712151, -0.110002, 5.96774, 9.24908, 5.58294e-322 253 | 252, -0.684496, -0.115669, 0.712382, -0.102943, 5.92706, 8.05524, 5.58294e-322 254 | 253, -0.693508, -0.00854952, 0.720251, 0.0145654, 5.88525, 8.05428, 5.58294e-322 255 | 254, -0.71523, -0.00521786, 0.698771, 0.0117592, 5.90925, 6.98533, 5.58294e-322 256 | 255, -0.707222, -0.110074, 0.692393, -0.0911737, 5.94798, 6.97967, 5.58294e-322 257 | 256, -0.688377, -0.111499, 0.710514, -0.0942006, 5.90177, 5.78831, 5.58294e-322 258 | 257, -0.695098, -0.00741027, 0.718802, 0.0103256, 5.86535, 5.79525, 5.58294e-322 259 | 258, -0.685986, -0.00758867, 0.72749, 0.0111377, 5.68237, 4.75329, 5.58294e-322 260 | 259, -0.677273, -0.107134, 0.721336, -0.0974636, 5.72142, 4.74801, 5.58294e-322 261 | 260, -0.684994, -0.110379, 0.714513, -0.0898368, 5.72702, 3.58541, 5.58294e-322 262 | 261, -0.693938, -0.00931384, 0.719749, 0.0180118, 5.68671, 3.5896, 5.58294e-322 263 | 262, -0.793729, -0.00208906, 0.608257, 0.00372832, 5.41803, 2.39236, 5.58294e-322 264 | 263, -0.784947, -0.115788, 0.603363, -0.0800235, 5.44672, 2.37277, 5.58294e-322 265 | 264, -0.792918, -0.129074, 0.592037, -0.064127, 4.84497, 1.54651, 5.58294e-322 266 | 265, -0.802733, -0.0126534, 0.595644, 0.0258424, 4.80778, 1.56489, 5.58294e-322 267 | 266, -0.906692, -0.0180997, 0.421256, 0.0111854, 4.2167, 0.647395, 5.58294e-322 268 | 267, -0.89304, -0.157614, 0.418462, -0.0502712, 4.24027, 0.615573, 5.58294e-322 269 | 268, -0.945176, -0.155162, 0.285409, -0.0332961, 3.36306, 0.0885194, 5.58294e-322 270 | 269, -0.96378, -0.0040615, 0.266359, 0.0128335, 3.34649, 0.132214, 5.58294e-322 271 | 270, 0.968226, 0.00496042, -0.249839, -0.00966752, 2.42809, -0.476546, 5.58294e-322 272 | 271, -0.954774, -0.146366, 0.257237, -0.0285018, 2.44342, -0.51732, 5.58294e-322 273 | 272, 0.988599, 0.150024, -0.0127987, 0.00092082, 0.761279, -0.720746, 5.58294e-322 274 | 273, 0.999878, 0.00330812, -0.0152638, -0.000620657, 0.756444, -0.680824, 5.58294e-322 275 | 274, -0.902854, -0.00188077, 0.42988, 0.00737763, 7.11256, -1.94059, 5.58294e-322 276 | 275, -0.892262, -0.135626, 0.426821, -0.05743, 7.14127, -1.96395, 5.58294e-322 277 | -------------------------------------------------------------------------------- /slam_tutorial-solution/matlab/plot_poses.m: -------------------------------------------------------------------------------- 1 | function h = plot_poses(pose_data) 2 | 3 | n_poses = size(pose_data, 1); 4 | 5 | for i=1:n_poses 6 | id = pose_data(i, 1); 7 | q = pose_data(i, 2:5); 8 | t = pose_data(i, 6:8); 9 | 10 | draw_frame(q, t, 0.5); 11 | text(t(1), t(2), t(3), [num2str(id)]); 12 | end 13 | 14 | end 15 | 16 | function draw_frame(q, t, s) 17 | 18 | if min(size(q)) == 1 19 | q = reshape(q, [1,4]); 20 | R = quat2rotm(q); 21 | end 22 | 23 | if size(t, 1) == 1 24 | t = t'; 25 | end 26 | 27 | C = repmat(t, 1, 3); 28 | E = s * R + C; 29 | plot3([t(1), E(1,1)],[t(2), E(2,1)],[t(3), E(3,1)],'-r','linewidth',2); hold on; 30 | plot3([t(1), E(1,2)],[t(2), E(2,2)],[t(3), E(3,2)],'-g','linewidth',2); 31 | plot3([t(1), E(1,3)],[t(2), E(2,3)],[t(3), E(3,3)],'-b','linewidth',2); 32 | 33 | axis equal; grid on; 34 | 35 | end 36 | -------------------------------------------------------------------------------- /slam_tutorial-solution/matlab/visualize_results.m: -------------------------------------------------------------------------------- 1 | clear; close all; clc; 2 | 3 | %% show initial poses 4 | init_data = importdata('../data/initial_poses.csv'); 5 | 6 | subplot(1,2,1); 7 | plot_poses(init_data); 8 | 9 | 10 | %% show optimized poses 11 | opt_data = importdata('../data/optimized_poses.csv'); 12 | 13 | subplot(1,2,2); 14 | plot_poses(opt_data); 15 | 16 | -------------------------------------------------------------------------------- /slam_tutorial-solution/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | slam_tutorial 4 | 0.0.0 5 | The slam_tutorial package 6 | 7 | Weikun Zhen 8 | 9 | TODO 10 | 11 | catkin 12 | roscpp 13 | std_msgs 14 | roscpp 15 | std_msgs 16 | roscpp 17 | std_msgs 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /slam_tutorial-solution/src/ceres_spg.cpp: -------------------------------------------------------------------------------- 1 | /** Simple sparse pose graph example 2 | * 3 | * 4 | */ 5 | 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | 12 | typedef Eigen::Quaterniond Quaternion; 13 | typedef Eigen::Vector3d Vec3; 14 | typedef Eigen::Vector2d Vec2; 15 | 16 | // 3D pose data structure 17 | struct Pose3D { 18 | Quaternion rotation; 19 | Vec3 translation; 20 | 21 | Pose3D(const Quaternion q, const Vec3 t){ 22 | rotation = q.normalized(); 23 | translation = t; 24 | } 25 | }; 26 | 27 | // relative pose error struct 28 | struct RelativePoseError3D { 29 | RelativePoseError3D(const Quaternion Rij, 30 | const Vec3 tij) : Rij(Rij), tij(tij) {} 31 | template 32 | bool operator()(const T* const rotation_i, 33 | const T* const translation_i, 34 | const T* const rotation_j, 35 | const T* const translation_j, 36 | T* residuals) const { 37 | 38 | Eigen::Quaternion invRi( rotation_i[0], -rotation_i[1], 39 | -rotation_i[2], -rotation_i[3]); 40 | 41 | Eigen::Matrix invti = invRi * 42 | Eigen::Matrix(-translation_i[0], 43 | -translation_i[1], 44 | -translation_i[2]); 45 | 46 | Eigen::Quaternion Rj(rotation_j[0], rotation_j[1], 47 | rotation_j[2], rotation_j[3]); 48 | 49 | Eigen::Matrix tj(translation_j[0], 50 | translation_j[1], 51 | translation_j[2]); 52 | 53 | Eigen::Quaternion Rji = invRi * Rj; 54 | Eigen::Matrix tji = invRi * tj + invti; 55 | 56 | Eigen::Quaternion dR = Rji * Rij.cast(); 57 | Eigen::Matrix dt = Rji * tij.cast() + tji; 58 | 59 | // residuals. 60 | residuals[0] = dR.x(); 61 | residuals[1] = dR.y(); 62 | residuals[2] = dR.z(); 63 | residuals[3] = dt(0); 64 | residuals[4] = dt(1); 65 | residuals[5] = dt(2); 66 | 67 | return true; 68 | } 69 | 70 | static ceres::CostFunction* Create(const Quaternion Rij, 71 | const Vec3 tij) { 72 | return (new ceres::AutoDiffCostFunction( 73 | new RelativePoseError3D(Rij, tij))); 74 | } 75 | 76 | const Quaternion Rij; 77 | const Vec3 tij; 78 | }; 79 | 80 | std::vector> readCSV(const std::string fname) { 81 | std::ifstream pose_fid(fname.c_str()); 82 | std::string line; 83 | 84 | std::vector> data; 85 | while(std::getline(pose_fid, line)) { 86 | std::vector row; 87 | std::stringstream iss(line); 88 | std::string val; 89 | 90 | while (std::getline(iss, val, ',')) { 91 | double v = std::atof(val.c_str()); 92 | row.push_back(v); 93 | } 94 | data.push_back(row); 95 | } 96 | 97 | return data; 98 | } 99 | 100 | void run() { 101 | // load initial guess of all the node poses 102 | const auto pose_data = readCSV( 103 | "/root/slam_ws/src/slam_tutorial/data/initial_poses.csv"); 104 | std::map initial_poses; 105 | for(const auto& row : pose_data) { 106 | size_t pose_id(row[0]); 107 | Quaternion q(row[1], row[2], row[3], row[4]); 108 | Vec3 t(row[5], row[6], row[7]); 109 | Pose3D pose(q, t); 110 | initial_poses.insert(std::make_pair(pose_id, pose)); 111 | } 112 | std::cout << "Read " << initial_poses.size() << " poses." << std::endl; 113 | 114 | // load the relative pose constraints between nodes 115 | const auto constraint_data = readCSV( 116 | "/root/slam_ws/src/slam_tutorial/data/constraints.csv"); 117 | std::map, Pose3D> constraints; 118 | for(const auto& row : constraint_data) { 119 | std::pair pose_pair = std::make_pair(row[0], row[1]); 120 | Quaternion q(row[2], row[3], row[4], row[5]); 121 | Vec3 t(row[6], row[7], row[8]); 122 | Pose3D pose(q, t); 123 | constraints.insert(std::make_pair(pose_pair, pose)); 124 | } 125 | std::cout << "Read " << constraints.size() << " constraints." << std::endl; 126 | 127 | // we choose the node with id 0 to be fixed, so the all the result nodes 128 | // are optimized relative to this node 129 | size_t fixed_node_id = 0; 130 | 131 | // initialize the values of rotations and positions 132 | std::map> ceres_rotations; 133 | std::map> ceres_positions; 134 | for(const auto &pose : initial_poses) { 135 | size_t id = pose.first; 136 | Quaternion q = pose.second.rotation; 137 | Vec3 t = pose.second.translation; 138 | 139 | std::vector ceres_rotation = {q.w(), q.x(), q.y(), q.z()}; 140 | std::vector ceres_position = {t(0),t(1),t(2)}; 141 | ceres_rotations[id] = ceres_rotation; 142 | ceres_positions[id] = ceres_position; 143 | } 144 | 145 | // declare the ceres problem 146 | ceres::Problem problem; 147 | 148 | // the quaternion parameterization is used to let ceres solver know that 149 | // a parameter block should be solve as a quaternion, not 4 free values 150 | ceres::LocalParameterization *quaternion_parameterization = 151 | new ceres::QuaternionParameterization; 152 | 153 | // add all constraints to the defined problem 154 | for(const auto &constr : constraints) { 155 | // get the node id of the current constraint 156 | const size_t I = constr.first.first; 157 | const size_t J = constr.first.second; 158 | 159 | // loss function is also called robust loss function. it is a 160 | // technique to reduce the effects of outliers. here we choose 161 | // to use the Huber loss. 162 | ceres::LossFunction* loss_func(new ceres::HuberLoss(0.1)); 163 | 164 | // initialize the relative pose error function 165 | ceres::CostFunction* cost_function = 166 | RelativePoseError3D::Create( 167 | constr.second.rotation, 168 | constr.second.translation); 169 | 170 | // add the error term to the problem 171 | problem.AddResidualBlock( 172 | cost_function, 173 | loss_func, 174 | &(ceres_rotations[I][0]), 175 | &(ceres_positions[I][0]), 176 | &(ceres_rotations[J][0]), 177 | &(ceres_positions[J][0])); 178 | 179 | // let the ceres solver know that the rotation blocks are quaternions 180 | problem.SetParameterization( 181 | &(ceres_rotations[I][0]), 182 | quaternion_parameterization); 183 | problem.SetParameterization( 184 | &(ceres_rotations[J][0]), 185 | quaternion_parameterization); 186 | } 187 | 188 | // we want to set one of the nodes to be fixed during the optimization, 189 | // otherwise, the whole graph will become 'floating'. 190 | problem.SetParameterBlockConstant(&(ceres_rotations[fixed_node_id][0])); 191 | problem.SetParameterBlockConstant(&(ceres_positions[fixed_node_id][0])); 192 | 193 | // define solver options (solver type, logging options etc.) 194 | ceres::Solver::Options options; 195 | options.linear_solver_type = ceres::SPARSE_NORMAL_CHOLESKY; 196 | options.max_num_iterations = 100; 197 | options.minimizer_progress_to_stdout = true; // enable this to see progress 198 | 199 | // call the solve function to optimize the constructed problem 200 | ceres::Solver::Summary summary; 201 | ceres::Solve(options, &problem, &summary); 202 | 203 | // print out the optimization logging info 204 | // use summary.FullReport() to see the details 205 | std::cout << summary.FullReport() << std::endl; 206 | 207 | // write results to csv file 208 | std::ofstream out; 209 | out.open("/root/slam_ws/src/slam_tutorial/data/optimized_poses.csv"); 210 | for(auto it = ceres_rotations.begin(); it != ceres_rotations.end(); ++it) { 211 | const auto id = it->first; 212 | const auto rotation = it->second; 213 | const auto position = ceres_positions.at(id); 214 | 215 | out << id << ", " 216 | << rotation[0] << ", " << rotation[1] << ", " 217 | << rotation[2] << ", " << rotation[3] << ", " 218 | << position[0] << ", " << position[2] << ", " << position[3] 219 | << "\n"; 220 | } 221 | out.close(); 222 | } 223 | 224 | int main(int argc, char** argv) { 225 | 226 | run(); 227 | return 0; 228 | } 229 | -------------------------------------------------------------------------------- /slam_tutorial-solution/src/gtsam_spg.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * A 2D pose-graph SLAM example modified from Jing Dong's repo: 3 | * https://github.com/dongjing3309/gtsam-examples 4 | * The robot moves from x1 to x5, with odometry information between each pair. 5 | * the robot moves 5 each step, and makes 90 deg right turns at x3 - x5 6 | * At x5, there is a *loop closure* between x2 is avaible 7 | * The graph strcuture is shown: 8 | * 9 | * p-x1 - x2 - x3 10 | * | | 11 | * x5 - x4 12 | */ 13 | 14 | 15 | #include 16 | 17 | // In planar cases we use Pose2 variables (x, y, theta) to represent the robot poses in SE(2) 18 | #include 19 | 20 | // class for factor graph, a container of various factors 21 | #include 22 | 23 | // class for graph nodes values, a container of various geometric types 24 | // here Values is used as a container of SE(2) 25 | #include 26 | 27 | // symbol class is used to index varible in values 28 | // e.g. pose varibles are generally indexed as 'x' + number, and landmarks as 'l' + numbers 29 | #include 30 | 31 | // Factors used in this examples 32 | // PriorFactor gives the prior distribution over a varible 33 | // BetweenFactor gives odometry constraints 34 | #include 35 | #include 36 | 37 | // optimizer class, here we use Gauss-Newton 38 | #include 39 | 40 | // Once the optimized values have been calculated, we can also calculate the 41 | // (appoximated / linearized) marginal covariance of desired variables 42 | #include 43 | 44 | 45 | using namespace std; 46 | using namespace gtsam; 47 | 48 | int main(int argc, char** argv) { 49 | 50 | // Create a factor graph container 51 | NonlinearFactorGraph graph; 52 | 53 | // Add a prior on the first pose, setting it to the origin 54 | // The prior is needed to fix/align the whole trajectory at world frame 55 | // A prior factor consists of a mean value and a noise model (covariance matrix) 56 | noiseModel::Diagonal::shared_ptr priorModel = noiseModel::Diagonal::Sigmas(Vector3(1.0, 1.0, 0.1)); 57 | graph.add(PriorFactor(Symbol('x', 1), Pose2(0, 0, 0), priorModel)); 58 | 59 | // odometry measurement noise model (covariance matrix) 60 | noiseModel::Diagonal::shared_ptr odomModel = noiseModel::Diagonal::Sigmas(Vector3(0.5, 0.5, 0.1)); 61 | 62 | // Add odometry factors 63 | // Create odometry (Between) factors between consecutive poses 64 | // robot makes 90 deg right turns at x3 - x5 65 | graph.add(BetweenFactor(Symbol('x', 1), Symbol('x', 2), Pose2(5, 0, 0), odomModel)); 66 | graph.add(BetweenFactor(Symbol('x', 2), Symbol('x', 3), Pose2(5, 0, -M_PI_2), odomModel)); 67 | graph.add(BetweenFactor(Symbol('x', 3), Symbol('x', 4), Pose2(5, 0, -M_PI_2), odomModel)); 68 | graph.add(BetweenFactor(Symbol('x', 4), Symbol('x', 5), Pose2(5, 0, -M_PI_2), odomModel)); 69 | 70 | // loop closure measurement noise model 71 | noiseModel::Diagonal::shared_ptr loopModel = noiseModel::Diagonal::Sigmas(Vector3(0.5, 0.5, 0.1)); 72 | 73 | // Add the loop closure constraint 74 | graph.add(BetweenFactor(Symbol('x', 5), Symbol('x', 2), Pose2(5, 0, -M_PI_2), loopModel)); 75 | 76 | // print factor graph 77 | graph.print("\nFactor Graph:\n"); 78 | 79 | 80 | // initial varible values for the optimization 81 | // add random noise from ground truth values 82 | Values initials; 83 | initials.insert(Symbol('x', 1), Pose2(0.2, -0.3, 0.2)); 84 | initials.insert(Symbol('x', 2), Pose2(5.1, 0.3, -0.1)); 85 | initials.insert(Symbol('x', 3), Pose2(9.9, -0.1, -M_PI_2 - 0.2)); 86 | initials.insert(Symbol('x', 4), Pose2(10.2, -5.0, -M_PI + 0.1)); 87 | initials.insert(Symbol('x', 5), Pose2(5.1, -5.1, M_PI_2 - 0.1)); 88 | 89 | // print initial values 90 | initials.print("\nInitial Values:\n"); 91 | 92 | 93 | // Use Gauss-Newton method optimizes the initial values 94 | GaussNewtonParams parameters; 95 | 96 | // print per iteration 97 | parameters.setVerbosity("ERROR"); 98 | 99 | // optimize! 100 | GaussNewtonOptimizer optimizer(graph, initials, parameters); 101 | Values results = optimizer.optimize(); 102 | 103 | // print final values 104 | results.print("Final Result:\n"); 105 | 106 | 107 | // Calculate marginal covariances for all poses 108 | Marginals marginals(graph, results); 109 | 110 | // print marginal covariances 111 | cout << "x1 covariance:\n" << marginals.marginalCovariance(Symbol('x', 1)) << endl; 112 | cout << "x2 covariance:\n" << marginals.marginalCovariance(Symbol('x', 2)) << endl; 113 | cout << "x3 covariance:\n" << marginals.marginalCovariance(Symbol('x', 3)) << endl; 114 | cout << "x4 covariance:\n" << marginals.marginalCovariance(Symbol('x', 4)) << endl; 115 | cout << "x5 covariance:\n" << marginals.marginalCovariance(Symbol('x', 5)) << endl; 116 | 117 | return 0; 118 | } -------------------------------------------------------------------------------- /slam_tutorial/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | project(slam_tutorial) 3 | 4 | add_compile_options(-std=c++11) 5 | 6 | find_package(catkin REQUIRED COMPONENTS 7 | roscpp 8 | std_msgs 9 | ) 10 | include_directories(${catkin_INCLUDE_DIRS}) 11 | catkin_package( 12 | # INCLUDE_DIRS include 13 | # LIBRARIES shimizu_abstraction 14 | # CATKIN_DEPENDS roscpp rospy std_msgs 15 | # DEPENDS system_lib 16 | ) 17 | find_package(Eigen3 REQUIRED) 18 | include_directories(${Eigen3_INCLUDE_DIRS}) 19 | 20 | find_package(Ceres REQUIRED) 21 | include_directories(${CERES_INCLUDE_DIRS}) 22 | 23 | find_package(GTSAM REQUIRED) 24 | include_directories(${GTSAM_INCLUDE_DIR}) 25 | set(GTSAM_LIBRARIES gtsam) 26 | 27 | find_package(GTSAMCMakeTools) 28 | include(GtsamMakeConfigFile) 29 | include(GtsamBuildTypes) 30 | include(GtsamTesting) 31 | 32 | find_package(Boost REQUIRED) 33 | include_directories(${Boost_INCLUDE_DIR}) 34 | 35 | add_executable(ceres_spg src/ceres_spg.cpp) 36 | target_link_libraries(ceres_spg ${catkin_LIBRARIES} ${CERES_LIBRARIES} ${Boost_LIBRARIES} ${Eigen3_LIBRARIES}) 37 | 38 | add_executable(gtsam_spg src/gtsam_spg.cpp) 39 | target_link_libraries(gtsam_spg ${catkin_LIBRARIES} ${GTSAM_LIBRARIES} ${Boost_LIBRARIES}) -------------------------------------------------------------------------------- /slam_tutorial/data/constraints.csv: -------------------------------------------------------------------------------- 1 | 0, 1, 0.987383, -0.157967, 0.011000, 0.000429, 0.002774, 0.072733, 0.034876 2 | 0, 2, 0.988921, 0.148418, 0.002620, 0.000498, 0.007340, 0.030627, -0.025935 3 | 0, 3, 0.962742, -0.145776, 0.226320, -0.025618, -1.082510, -0.435961, 0.752557 4 | 0, 4, 0.950384, -0.148409, -0.271818, 0.029336, 1.525530, -0.310588, 1.203260 5 | 0, 5, 0.999871, 0.001501, -0.015985, 0.000033, 1.087240, -0.000941, 0.158052 6 | 0, 6, 0.988207, -0.152094, -0.017225, 0.004213, 1.086660, 0.125640, 0.178123 7 | 0, 7, 0.987413, -0.156873, 0.019812, -0.003679, 1.988380, 0.056329, 0.071263 8 | 0, 8, 0.999744, 0.000313, 0.022494, -0.002391, 1.973620, -0.007095, 0.049869 9 | 0, 270, 0.969285, -0.006054, 0.245671, 0.009814, -1.893900, -0.040817, 1.588940 10 | 0, 273, 0.999935, -0.002788, 0.010957, 0.001432, -0.731500, -0.019048, 0.704759 11 | 1, 3, 0.975998, 0.007838, 0.209224, -0.059935, -1.110400, -0.505877, 0.725267 12 | 1, 4, 0.958822, 0.003419, -0.274407, 0.073141, 1.552800, -0.384419, 1.176420 13 | 1, 5, 0.986919, 0.159092, -0.025958, 0.002482, 1.082460, -0.060778, 0.101894 14 | 1, 6, 0.999575, 0.004965, -0.027486, 0.008321, 1.087900, 0.047835, 0.143800 15 | 1, 7, 0.999936, 0.005296, 0.008304, -0.005546, 1.983550, 0.007709, 0.038157 16 | 1, 8, 0.986742, 0.161629, 0.013534, -0.005781, 1.954660, -0.045802, -0.002036 17 | 1, 272, 0.999975, 0.006833, -0.001793, -0.000643, -0.746188, 0.177173, 0.661020 18 | 2, 3, 0.930721, -0.288339, 0.224832, 0.008390, -1.072300, -0.452491, 0.793085 19 | 2, 4, 0.917225, -0.287382, -0.275636, -0.011625, 1.500030, -0.322536, 1.232350 20 | 2, 5, 0.988925, -0.147194, -0.018750, -0.003220, 1.080560, -0.024429, 0.192270 21 | 2, 8, 0.988522, -0.149606, 0.021012, -0.000101, 1.962470, -0.037587, 0.083580 22 | 2, 273, 0.988593, -0.150312, 0.009097, 0.002814, -0.744107, -0.036463, 0.738115 23 | 3, 4, 0.874572, -0.004698, -0.468158, 0.126210, 2.618640, 0.437507, 1.608640 24 | 3, 5, 0.958540, 0.147582, -0.242160, 0.027906, 2.331200, 0.622835, 0.157474 25 | 3, 6, 0.969417, -0.002448, -0.236181, 0.066662, 2.330290, 0.715915, -0.009668 26 | 3, 7, 0.977393, -0.002204, -0.204580, 0.053336, 3.252670, 0.648393, -0.186175 27 | 3, 8, 0.966750, 0.147987, -0.207564, 0.020293, 3.228830, 0.617386, -0.036568 28 | 3, 270, 0.989327, 0.144453, 0.019110, -0.000214, -0.839372, 0.599454, 0.953179 29 | 3, 273, 0.965742, 0.143423, -0.214701, 0.025982, 0.503409, 0.601043, 0.625233 30 | 4, 5, 0.954550, 0.149675, 0.256362, -0.026657, -0.774539, 0.612789, 0.009188 31 | 4, 6, 0.966608, 0.000767, 0.248129, -0.064035, -0.777485, 0.657924, -0.155238 32 | 4, 7, 0.956684, 0.000917, 0.280536, -0.077811, 0.131605, 0.659294, -0.133872 33 | 4, 8, 0.945771, 0.149046, 0.286546, -0.034565, 0.143384, 0.620816, 0.031373 34 | 5, 6, 0.988024, -0.154292, -0.001055, 0.001378, -0.002527, 0.071079, 0.025553 35 | 5, 7, 0.987796, -0.151693, 0.034604, -0.007116, 0.901360, 0.072383, -0.001651 36 | 5, 8, 0.999380, -0.000903, 0.035088, -0.002747, 0.897312, 0.000249, -0.026039 37 | 5, 9, 0.999005, 0.001146, 0.044384, -0.004195, 1.754840, -0.000265, -0.077083 38 | 5, 10, 0.985226, -0.164991, 0.044138, -0.012601, 1.743690, 0.010204, -0.048111 39 | 6, 7, 0.999348, 0.001342, 0.033354, -0.013734, 0.903029, -0.005127, -0.026051 40 | 6, 8, 0.987229, 0.154994, 0.035682, -0.009073, 0.893741, -0.050099, -0.068501 41 | 6, 9, 0.986240, 0.157325, 0.049371, -0.011911, 1.722390, -0.047189, -0.122113 42 | 6, 10, 0.998928, -0.005918, 0.041022, -0.020633, 1.750960, -0.031916, -0.069699 43 | 7, 8, 0.988286, 0.152610, -0.000842, -0.000588, -0.001100, -0.058315, -0.044739 44 | 7, 9, 0.987983, 0.154294, 0.008573, -0.003039, 0.853119, -0.057881, -0.078043 45 | 7, 10, 0.999938, -0.006346, 0.006294, -0.006593, 0.858854, -0.008685, -0.027867 46 | 7, 11, 0.999981, -0.001599, -0.005993, -0.000329, 1.799920, 0.000477, -0.010357 47 | 7, 12, 0.987057, 0.160252, -0.005979, 0.001453, 1.796000, -0.040488, -0.051854 48 | 8, 9, 0.999953, 0.001839, 0.009443, -0.001365, 0.857136, 0.000835, -0.033438 49 | 8, 10, 0.987318, -0.158454, 0.008333, -0.005081, 0.860141, 0.062855, -0.004839 50 | 8, 11, 0.988024, -0.154260, -0.003474, -0.000796, 1.793940, 0.068529, 0.008284 51 | 8, 12, 0.999973, 0.006088, -0.003995, 0.000668, 1.790930, 0.008082, -0.014343 52 | 9, 10, 0.986982, -0.160810, -0.000219, -0.002517, -0.000242, 0.073886, 0.026658 53 | 9, 11, 0.987794, -0.155235, -0.012737, 0.001643, 0.935401, 0.076270, 0.022021 54 | 9, 12, 0.999903, 0.003950, -0.013203, 0.001968, 0.931574, 0.001783, -0.003572 55 | 9, 13, 0.999980, 0.005208, 0.002613, 0.002317, 1.879890, 0.006243, -0.041607 56 | 9, 14, 0.987241, -0.159174, 0.000452, 0.004391, 1.898650, 0.042180, -0.014745 57 | 10, 11, 0.999899, 0.004559, -0.011892, 0.006305, 0.938073, -0.003022, -0.004166 58 | 10, 12, 0.986248, 0.164705, -0.011823, 0.006881, 0.929612, -0.059149, -0.052242 59 | 10, 13, 0.985766, 0.167958, 0.005537, 0.004942, 1.866840, -0.043149, -0.088718 60 | 10, 14, 0.999959, 0.005359, 0.002330, 0.006962, 1.897020, -0.010103, -0.041416 61 | 11, 12, 0.987063, 0.160313, -0.000357, 0.002643, -0.001224, -0.061750, -0.048125 62 | 11, 13, 0.986762, 0.161666, 0.012764, 0.001195, 0.960769, -0.057412, -0.056953 63 | 11, 14, 0.999925, 0.001076, 0.012190, 0.000606, 0.971524, -0.006279, -0.011635 64 | 11, 15, 0.999974, 0.001235, 0.007101, 0.000498, 1.913830, -0.015292, -0.038721 65 | 11, 16, 0.986682, 0.162245, 0.011586, -0.000304, 1.890510, -0.051301, -0.089953 66 | 12, 13, 0.999919, 0.000852, 0.012734, 0.000224, 0.966371, 0.001468, -0.009944 67 | 12, 14, 0.987451, -0.157450, 0.012220, -0.000352, 0.975128, 0.077516, 0.015656 68 | 12, 15, 0.986458, -0.163738, 0.009415, -0.001065, 1.903840, 0.031641, -0.015984 69 | 12, 16, 0.999968, -0.000026, 0.007653, -0.002149, 1.920390, -0.001183, -0.040289 70 | 13, 14, 0.987353, -0.158535, -0.000268, 0.001130, 0.007941, 0.075442, 0.025590 71 | 13, 15, 0.987157, -0.159614, -0.006602, 0.000189, 0.958158, 0.059482, -0.013342 72 | 13, 16, 0.999987, -0.001322, -0.004440, -0.002253, 0.950015, -0.000746, -0.039445 73 | 13, 17, 0.999882, -0.000348, 0.015353, -0.000882, 1.905320, 0.006928, -0.098322 74 | 13, 18, 0.987523, -0.156971, 0.012482, -0.001707, 1.920690, 0.059177, -0.069537 75 | 14, 15, 0.999983, -0.000903, -0.005796, -0.000086, 0.946609, -0.014887, -0.039162 76 | 14, 16, 0.987404, 0.158160, -0.003774, -0.002299, 0.938089, -0.059118, -0.086089 77 | 14, 17, 0.986546, 0.162596, 0.016615, -0.003593, 1.884510, -0.030614, -0.146504 78 | 14, 18, 0.999792, 0.004517, 0.019048, -0.005755, 1.865770, -0.002180, -0.109220 79 | 15, 16, 0.987309, 0.158806, 0.000535, -0.001110, -0.001179, -0.055865, -0.046245 80 | 15, 17, 0.987062, 0.159102, 0.019712, -0.002462, 0.956539, -0.054540, -0.062206 81 | 15, 18, 0.999807, 0.000582, 0.018962, -0.005053, 0.956473, -0.002532, -0.016533 82 | 15, 19, 0.999968, -0.001350, 0.006613, -0.004366, 1.811850, -0.003663, 0.025900 83 | 15, 20, 0.987474, 0.157631, 0.005508, -0.004121, 1.822830, -0.059509, -0.012615 84 | 16, 17, 0.999789, 0.000279, 0.020473, 0.001350, 0.952655, 0.000675, -0.019457 85 | 16, 18, 0.987372, -0.157284, 0.018919, -0.000840, 0.959895, 0.069564, 0.008500 86 | 16, 19, 0.986846, -0.161511, 0.006678, -0.002222, 1.814120, 0.055777, 0.050310 87 | 16, 20, 0.999976, -0.001996, 0.006101, -0.002759, 1.823020, -0.008046, 0.027744 88 | 17, 18, 0.987488, -0.157696, -0.000220, 0.000446, -0.000207, 0.072779, 0.025602 89 | 17, 19, 0.986983, -0.159959, -0.016613, -0.000981, 0.878563, 0.068361, 0.044623 90 | 17, 20, 0.999896, -0.002516, -0.013639, -0.003982, 0.865668, -0.002324, 0.021068 91 | 17, 21, 0.999853, -0.004925, -0.016371, -0.001558, 1.793300, 0.005483, -0.023156 92 | 17, 22, 0.986657, -0.161567, -0.019900, 0.002876, 1.806400, 0.054549, 0.004757 93 | 18, 19, 0.999890, -0.000758, -0.014799, 0.000646, 0.871201, 0.004905, 0.020705 94 | 18, 20, 0.987793, 0.155248, -0.012643, -0.001925, 0.859546, -0.063298, -0.025782 95 | 18, 21, 0.987905, 0.154500, -0.013120, 0.000993, 1.777790, -0.046250, -0.069345 96 | 18, 22, 0.999825, -0.001298, -0.017868, 0.005426, 1.801890, -0.003468, -0.021538 97 | 19, 20, 0.987761, 0.155976, 0.000295, -0.000197, -0.001635, -0.061651, -0.046344 98 | 19, 21, 0.987941, 0.154731, -0.004535, 0.003337, 0.943605, -0.051963, -0.093667 99 | 19, 22, 0.999974, 0.000657, -0.005208, 0.004886, 0.944811, -0.009145, -0.046156 100 | 19, 23, 0.999902, 0.000920, -0.012629, -0.006033, 1.925810, -0.046732, -0.064765 101 | 19, 24, 0.987895, 0.154269, -0.014116, -0.008089, 1.935060, -0.083421, -0.112020 102 | 20, 21, 0.999982, -0.002232, -0.005130, 0.002345, 0.944176, 0.004624, -0.049550 103 | 20, 22, 0.987698, -0.156180, -0.006518, 0.004246, 0.946576, 0.058360, -0.023994 104 | 20, 23, 0.987564, -0.156668, -0.010709, -0.007599, 1.923730, 0.017108, -0.044662 105 | 20, 24, 0.999911, -0.002135, -0.008114, -0.010325, 1.911870, -0.023237, -0.080715 106 | 21, 22, 0.987940, -0.154832, -0.001120, 0.000663, 0.002029, 0.063016, 0.025016 107 | 21, 23, 0.987553, -0.156791, -0.005451, -0.011266, 0.977794, 0.032380, -0.010173 108 | 21, 24, 0.999913, -0.000516, -0.003477, -0.012678, 0.974101, -0.007875, -0.038471 109 | 21, 25, 0.999950, 0.007344, 0.006647, -0.001271, 2.002550, 0.028322, -0.101270 110 | 21, 26, 0.987064, -0.159965, 0.009472, -0.005077, 2.028460, 0.053094, -0.098556 111 | 22, 23, 0.999916, 0.000664, -0.007304, -0.010717, 0.979411, -0.014693, -0.030941 112 | 22, 24, 0.987894, 0.154560, -0.006018, -0.011845, 0.978458, -0.058331, -0.076357 113 | 22, 25, 0.986350, 0.164636, 0.002474, -0.001615, 2.024870, -0.009904, -0.128566 114 | 22, 26, 0.999903, -0.006135, 0.010059, -0.007450, 2.019680, -0.016370, -0.120440 115 | 23, 24, 0.988260, 0.152780, -0.000420, -0.000297, -0.000762, -0.059514, -0.045184 116 | 23, 25, 0.986929, 0.160359, 0.012811, 0.009634, 1.021340, -0.047659, -0.089515 117 | 23, 26, 0.999800, -0.006315, 0.018645, 0.003516, 1.034550, -0.005501, -0.054741 118 | 23, 27, 0.999565, -0.007292, 0.028499, 0.002179, 2.049100, -0.020152, -0.100545 119 | 24, 25, 0.999854, 0.007340, 0.010257, 0.011511, 1.029190, 0.009535, -0.043939 120 | 24, 26, 0.986945, -0.159711, 0.019747, 0.006440, 1.028720, 0.061032, -0.033112 121 | 25, 26, 0.985929, -0.166981, 0.007047, -0.003426, 0.003429, 0.076618, 0.026887 122 | 25, 27, 0.985855, -0.166624, 0.017854, -0.002732, 1.014320, 0.072426, 0.000545 123 | 25, 28, 0.999832, -0.003474, 0.017876, 0.002263, 1.010320, 0.001575, -0.026793 124 | 25, 29, 0.999962, -0.004747, 0.007207, -0.000757, 1.987070, 0.000259, -0.085368 125 | 25, 30, 0.999860, -0.004221, 0.016213, -0.000352, 1.910180, 0.003638, -0.172973 126 | 25, 32, 0.986360, -0.164581, -0.002732, -0.000565, 2.034780, 0.049785, -0.037227 127 | 26, 27, 0.999942, -0.000753, 0.010683, -0.000914, 1.010410, -0.010247, -0.024943 128 | 26, 28, 0.986413, 0.163856, 0.011460, 0.003128, 1.003300, -0.061111, -0.075658 129 | 26, 29, 0.986097, 0.166117, 0.003819, 0.002050, 1.961740, -0.042417, -0.133577 130 | 26, 30, 0.986014, 0.166167, 0.012776, 0.001195, 1.884230, -0.041168, -0.219582 131 | 26, 32, 0.999986, 0.003023, -0.002996, 0.003273, 1.995850, -0.025956, -0.071753 132 | 27, 28, 0.986334, 0.164740, -0.000589, 0.002332, 0.000448, -0.063472, -0.049975 133 | 27, 29, 0.986504, 0.163408, -0.010228, 0.001769, 0.969333, -0.058965, -0.128567 134 | 27, 30, 0.986409, 0.164277, -0.003024, 0.001074, 0.901669, -0.054553, -0.197062 135 | 27, 31, 0.999727, 0.001840, -0.023110, 0.002909, 1.862460, -0.064928, -0.182399 136 | 27, 32, 0.999906, 0.003864, -0.012367, 0.004405, 0.977864, -0.024049, -0.074817 137 | 28, 29, 0.999944, -0.001783, -0.010051, -0.002638, 0.972219, 0.002125, -0.079819 138 | 28, 30, 0.999994, -0.001254, -0.002644, -0.002099, 0.904191, 0.004801, -0.148836 139 | 28, 31, 0.986222, -0.164215, -0.019704, -0.003349, 1.847270, 0.002669, -0.165743 140 | 28, 32, 0.987024, -0.160154, -0.011592, -0.000165, 0.972827, 0.055812, -0.049045 141 | 29, 30, 0.999972, 0.000586, 0.007395, 0.000531, -0.066769, 0.001764, -0.054805 142 | 29, 31, 0.986919, -0.160907, -0.009621, -0.002724, 0.873150, 0.036363, -0.105535 143 | 29, 32, 0.987146, -0.159816, -0.001190, 0.000561, 0.000036, 0.069779, 0.025874 144 | 30, 31, 0.986722, -0.161510, -0.017005, -0.002084, 0.938225, 0.052126, -0.051099 145 | 30, 32, 0.987029, -0.160307, -0.008600, 0.001208, 0.065978, 0.086193, 0.079371 146 | 31, 32, 0.999951, 0.002149, 0.009569, 0.001636, -0.874435, 0.035276, 0.146097 147 | 31, 33, 0.986975, 0.159396, 0.021285, -0.004571, 1.455200, -0.066109, 0.135164 148 | 31, 34, 0.999816, -0.002485, 0.018179, -0.005648, 1.462900, 0.048914, 0.174277 149 | 31, 35, 0.995581, -0.004554, -0.090160, 0.025876, 2.328040, 0.177448, 0.593507 150 | 31, 36, 0.982279, 0.157011, -0.101714, 0.011409, 2.309300, -0.069860, 0.623699 151 | 31, 37, 0.958828, 0.152304, -0.237402, 0.033051, 2.803730, -0.074114, 1.374950 152 | 31, 38, 0.970862, -0.001570, -0.229512, 0.068910, 2.804220, 0.409347, 1.353510 153 | 33, 34, 0.987062, -0.160335, -0.000446, 0.001189, -0.001383, 0.072452, 0.026513 154 | 33, 35, 0.980382, -0.161098, -0.112592, 0.014902, 0.935901, 0.110743, 0.136071 155 | 33, 36, 0.992422, -0.003664, -0.122757, -0.004069, 0.928026, -0.003583, 0.133702 156 | 33, 37, 0.966283, -0.003631, -0.257427, -0.004007, 1.599310, -0.003898, 0.522034 157 | 33, 38, 0.953866, -0.153866, -0.255382, 0.035286, 1.602930, 0.230485, 0.526719 158 | 33, 39, 0.911656, -0.145277, -0.380307, 0.056073, 2.253280, 0.398845, 0.985229 159 | 33, 40, 0.923473, -0.003991, -0.383612, -0.004918, 2.263670, -0.002798, 1.005850 160 | 34, 35, 0.993595, -0.002227, -0.108480, 0.031566, 0.947612, 0.035735, 0.110943 161 | 34, 36, 0.980203, 0.155463, -0.121756, 0.014425, 0.942620, -0.065404, 0.088261 162 | 34, 37, 0.954428, 0.150767, -0.255037, 0.035958, 1.627750, -0.069741, 0.482907 163 | 34, 38, 0.966335, 0.000466, -0.246266, 0.074501, 1.628050, 0.155367, 0.506860 164 | 34, 39, 0.923083, -0.000430, -0.367333, 0.113944, 2.293740, 0.310945, 0.978830 165 | 35, 36, 0.987321, 0.158442, -0.009684, 0.000471, -0.002499, -0.065209, -0.047286 166 | 35, 37, 0.976699, 0.156028, -0.145628, 0.022523, 0.758568, -0.068108, 0.096550 167 | 35, 38, 0.989182, 0.002224, -0.139901, 0.044069, 0.756187, 0.039103, 0.138693 168 | 35, 39, 0.960311, 0.000223, -0.265827, 0.084495, 1.560940, 0.123510, 0.405908 169 | 35, 40, 0.948830, 0.150189, -0.274566, 0.042176, 1.565510, -0.070571, 0.374510 170 | 36, 37, 0.990508, -0.000898, -0.137451, 0.000402, 0.745666, -0.003093, 0.142242 171 | 36, 38, 0.978256, -0.155165, -0.136030, 0.020868, 0.748479, 0.113812, 0.162097 172 | 36, 39, 0.950534, -0.153085, -0.267214, 0.040582, 1.542170, 0.195977, 0.426555 173 | 36, 40, 0.963383, -0.002130, -0.268121, -0.000495, 1.540740, -0.003713, 0.414712 174 | 37, 38, 0.987825, -0.155566, 0.000057, -0.000706, 0.000302, 0.074484, 0.025040 175 | 37, 39, 0.978426, -0.156051, -0.133991, 0.019433, 0.860991, 0.098338, 0.104027 176 | 37, 40, 0.990978, -0.001103, -0.134014, -0.000891, 0.863478, 0.000022, 0.081476 177 | 37, 41, 0.971134, -0.005103, -0.238472, -0.002099, 1.492040, 0.001415, 0.219609 178 | 37, 42, 0.958620, -0.156456, -0.235663, 0.032135, 1.496920, 0.135966, 0.236225 179 | 38, 39, 0.990782, -0.001824, -0.129157, 0.040831, 0.872909, 0.025379, 0.080269 180 | 38, 40, 0.979032, 0.153025, -0.132879, 0.020582, 0.877713, -0.062987, 0.036460 181 | 38, 41, 0.959957, 0.145735, -0.236620, 0.035414, 1.517390, -0.063381, 0.180192 182 | 38, 42, 0.971420, -0.005490, -0.226992, 0.069192, 1.514550, 0.062833, 0.213944 183 | 39, 40, 0.987724, 0.156203, 0.001190, 0.000302, 0.004256, -0.063197, -0.045203 184 | 39, 41, 0.982814, 0.151359, -0.104577, 0.015213, 0.682495, -0.061225, -0.084108 185 | 39, 42, 0.994564, -0.003313, -0.100045, 0.028691, 0.680642, -0.012521, -0.036344 186 | 39, 43, 0.975552, -0.026245, -0.206799, 0.069592, 1.729380, 0.107172, 0.294417 187 | 39, 44, 0.967601, 0.124574, -0.215999, 0.039677, 1.734990, -0.039701, 0.273991 188 | 40, 41, 0.994281, -0.003917, -0.106712, -0.001608, 0.668198, 0.002794, -0.041736 189 | 40, 42, 0.981718, -0.158510, -0.104634, 0.012481, 0.668215, 0.061572, -0.014966 190 | 40, 44, 0.975005, -0.027998, -0.220353, 0.005174, 1.709470, 0.025752, 0.309158 191 | 41, 42, 0.987873, -0.155243, 0.001209, -0.002277, -0.001051, 0.075201, 0.026114 192 | 41, 43, 0.977445, -0.177004, -0.113520, 0.019616, 1.053620, 0.144402, 0.209095 193 | 41, 44, 0.992990, -0.025006, -0.115428, 0.004701, 1.052230, 0.014755, 0.198132 194 | 41, 45, 0.965623, 0.019164, -0.258841, 0.014341, 2.367640, -0.002577, 0.604827 195 | 41, 46, 0.956697, -0.129199, -0.255352, 0.053232, 2.375500, 0.243338, 0.609849 196 | 42, 43, 0.992953, -0.023753, -0.109234, 0.039349, 1.062640, 0.066089, 0.186742 197 | 42, 44, 0.984659, 0.129234, -0.114616, 0.024683, 1.065780, -0.050965, 0.155217 198 | 42, 46, 0.965037, 0.021219, -0.243691, 0.094167, 2.396530, 0.175012, 0.584192 199 | 43, 44, 0.988183, 0.153260, -0.000416, 0.002578, 0.002973, -0.064004, -0.045262 200 | 43, 45, 0.970172, 0.191689, -0.141830, 0.043654, 1.441550, -0.092814, 0.062579 201 | 43, 46, 0.987960, 0.043036, -0.134272, 0.063670, 1.442530, 0.006369, 0.114479 202 | 44, 45, 0.988191, 0.042472, -0.146045, 0.018609, 1.422920, -0.025876, 0.112103 203 | 44, 46, 0.982994, -0.109338, -0.142052, 0.039854, 1.424720, 0.073098, 0.141251 204 | 44, 47, 0.988669, -0.079573, -0.121553, 0.037776, 2.486670, 0.031942, -0.087374 205 | 44, 48, 0.989253, 0.071623, -0.125965, 0.019521, 2.479540, 0.005031, -0.114252 206 | 45, 46, 0.988261, -0.152772, -0.000162, -0.000965, -0.000893, 0.067572, 0.025680 207 | 45, 47, 0.992094, -0.123463, 0.022430, 0.001859, 1.052700, 0.032867, -0.141287 208 | 45, 48, 0.999380, 0.027598, 0.021066, 0.005826, 1.050880, 0.014497, -0.167330 209 | 46, 47, 0.999308, 0.029632, 0.022498, -0.000363, 1.053480, -0.032455, -0.169243 210 | 46, 48, 0.983279, 0.180702, 0.022207, 0.004010, 1.048070, -0.035214, -0.213438 211 | 47, 48, 0.988367, 0.152081, -0.000936, 0.000857, -0.000864, -0.053843, -0.043423 212 | 47, 49, 0.987239, 0.155581, -0.019810, -0.027606, 1.200700, -0.092014, 0.155135 213 | 47, 50, 0.999495, -0.001190, -0.019930, -0.024733, 1.204240, 0.035845, 0.194404 214 | 47, 51, 0.998422, -0.004270, -0.048115, -0.028624, 2.474560, 0.025488, 0.271724 215 | 48, 49, 0.999411, 0.006153, -0.013589, -0.030912, 1.200260, -0.025313, 0.202975 216 | 48, 50, 0.987755, -0.152658, -0.015028, -0.028466, 1.208230, 0.102792, 0.219021 217 | 49, 50, 0.987426, -0.158032, 0.003867, -0.000589, 0.002815, 0.069768, 0.025317 218 | 49, 52, 0.999674, -0.001301, -0.021815, -0.013171, 1.291710, 0.001503, 0.011196 219 | 49, 53, 0.998812, 0.016665, -0.035177, -0.029329, 2.554120, -0.033754, 0.059002 220 | 50, 51, 0.999575, -0.003237, -0.028720, -0.003930, 1.289200, 0.000440, 0.011077 221 | 51, 52, 0.987405, 0.158213, 0.000181, 0.000420, 0.000682, -0.064042, -0.047615 222 | 51, 53, 0.984527, 0.173797, -0.018962, -0.011888, 1.287910, -0.069156, -0.025053 223 | 51, 54, 0.998868, 0.017934, 0.035960, -0.025441, 1.308680, -0.043281, -0.113873 224 | 52, 53, 0.999598, 0.015770, -0.017643, -0.015610, 1.292870, -0.007438, 0.023954 225 | 52, 54, 0.989318, -0.139096, 0.038568, -0.020380, 1.320830, 0.038442, -0.087203 226 | 52, 56, 0.999103, 0.040986, 0.006398, -0.008466, 2.266710, 0.012953, -0.252857 227 | 53, 54, 0.986152, -0.154974, 0.058642, -0.006937, 0.032228, 0.071345, 0.037931 228 | 53, 55, 0.991256, -0.129591, 0.024241, 0.005399, 0.966004, 0.003995, -0.174694 229 | 53, 56, 0.999365, 0.024869, 0.024194, 0.008113, 0.971512, -0.004399, -0.212620 230 | 54, 55, 0.999013, 0.026316, -0.031897, 0.016219, 0.934919, -0.066013, -0.217737 231 | 54, 56, 0.982825, 0.181457, -0.032106, 0.009891, 0.933991, -0.049163, -0.274827 232 | 55, 56, 0.987834, 0.155501, 0.001489, -0.001005, 0.002798, -0.052540, -0.043994 233 | 55, 57, 0.982333, 0.183563, 0.024656, 0.026794, 1.625630, 0.058976, -0.095170 234 | 55, 58, 0.998930, 0.025692, 0.035218, 0.015423, 1.643420, 0.041180, -0.096490 235 | 56, 57, 0.999103, 0.025745, 0.015238, 0.029971, 1.641630, 0.092428, -0.049552 236 | 56, 58, 0.990542, -0.131848, 0.031544, 0.021152, 1.637470, 0.091510, -0.067712 237 | 57, 58, 0.987961, -0.154227, 0.009895, -0.006995, 0.006916, 0.065563, 0.033403 238 | 57, 59, 0.994829, -0.091383, -0.034374, -0.027974, 1.184680, 0.048221, 0.052454 239 | 57, 60, 0.997157, 0.052608, -0.042487, -0.033239, 1.182270, -0.022954, 0.043624 240 | 58, 59, 0.996723, 0.063838, -0.047543, -0.014404, 1.180000, -0.005368, 0.009645 241 | 58, 60, 0.976446, 0.207533, -0.055500, -0.020057, 1.167390, -0.054131, -0.014669 242 | 59, 60, 0.989615, 0.143331, -0.010858, 0.000941, -0.009843, -0.052753, -0.046527 243 | 59, 61, 0.991594, 0.124574, 0.034959, -0.001088, 1.208160, -0.043257, 0.173976 244 | 59, 62, 0.999112, -0.027208, 0.031485, -0.006549, 1.207310, 0.068111, 0.208525 245 | 59, 63, 0.990142, -0.126507, -0.059631, -0.007735, 1.767080, 0.488210, 1.320680 246 | 59, 64, 0.999228, 0.024106, -0.026832, -0.015555, 1.847870, 0.038797, 1.252740 247 | 60, 61, 0.998869, -0.019110, 0.043390, 0.003705, 1.235210, 0.009578, 0.219299 248 | 60, 62, 0.984360, -0.171017, 0.042117, -0.003743, 1.225130, 0.127669, 0.236330 249 | 60, 64, 0.992699, -0.118026, -0.014341, -0.020340, 1.864880, 0.106999, 1.287030 250 | 61, 62, 0.988533, -0.150984, -0.002516, -0.000949, -0.002826, 0.061905, 0.022356 251 | 61, 63, 0.965487, -0.243520, -0.091819, -0.010106, 0.606890, 0.444420, 0.919865 252 | 61, 64, 0.993064, -0.099539, -0.059711, -0.018735, 0.672349, 0.086101, 0.925904 253 | 61, 65, 0.996782, -0.060709, -0.004462, -0.052157, 1.734290, -0.091666, 0.830855 254 | 61, 66, 0.976759, -0.208196, -0.003876, -0.050802, 1.762270, 0.221254, 0.805420 255 | 62, 63, 0.991103, -0.098661, -0.089253, 0.003888, 0.610400, 0.357319, 0.915560 256 | 62, 64, 0.996983, 0.050010, -0.058674, -0.009010, 0.672865, 0.017330, 0.899303 257 | 62, 65, 0.994636, 0.090225, -0.008599, -0.049846, 1.723950, -0.150005, 0.794956 258 | 62, 66, 0.996787, -0.063033, -0.005832, -0.049076, 1.734700, 0.128551, 0.793201 259 | 63, 64, 0.988471, 0.148448, 0.029689, -0.002477, 0.008541, -0.060943, -0.043409 260 | 63, 65, 0.977707, 0.191311, 0.074696, -0.043712, 0.970042, -0.100975, -0.075322 261 | 63, 66, 0.994543, 0.042409, 0.076353, -0.057061, 0.969612, -0.062026, -0.040663 262 | 64, 65, 0.997232, 0.042470, 0.049374, -0.035870, 0.982918, -0.047122, -0.026145 263 | 64, 66, 0.991615, -0.108416, 0.054633, -0.044284, 0.969292, -0.001609, -0.006313 264 | 65, 66, 0.988565, -0.150473, 0.009793, -0.001083, -0.001170, 0.056068, 0.023571 265 | 65, 67, 0.967318, -0.216642, 0.005972, 0.131626, 1.578930, 0.332684, 0.115159 266 | 65, 68, 0.987896, -0.069251, 0.022513, 0.136965, 1.592060, 0.220810, 0.040522 267 | 65, 69, 0.994179, -0.072702, -0.005694, 0.079315, 2.596440, -0.001184, 0.323740 268 | 65, 70, 0.970925, -0.225585, 0.016791, 0.078317, 2.588820, 0.112544, 0.334393 269 | 66, 67, 0.988489, -0.070125, 0.019238, 0.132676, 1.576510, 0.251815, 0.098238 270 | 66, 68, 0.986952, 0.082443, 0.034834, 0.133847, 1.592640, 0.176932, 0.006947 271 | 66, 69, 0.993341, 0.081594, -0.000864, 0.081339, 2.584820, -0.028528, 0.287710 272 | 66, 70, 0.994098, -0.072365, 0.018639, 0.078642, 2.600180, 0.084608, 0.315673 273 | 67, 68, 0.988272, 0.147985, 0.037580, -0.002570, -0.004101, -0.048982, -0.046333 274 | 67, 69, 0.987278, 0.150078, -0.005384, -0.052248, 1.009780, -0.088458, 0.127394 275 | 67, 70, 0.998499, -0.000855, -0.008027, -0.054167, 1.035910, 0.018553, 0.202782 276 | 68, 69, 0.997840, 0.000227, -0.035011, -0.055579, 1.015890, -0.040199, 0.174819 277 | 68, 70, 0.986160, -0.153497, -0.036246, -0.051126, 1.030320, 0.054710, 0.231259 278 | 68, 72, 0.999276, 0.016258, -0.028977, -0.018519, 2.341590, 0.080081, 0.160624 279 | 69, 70, 0.988608, -0.150295, 0.007653, -0.002474, 0.008191, 0.076963, 0.070718 280 | 69, 71, 0.990437, -0.132970, 0.012690, 0.034541, 1.297980, 0.098516, -0.005344 281 | 69, 72, 0.999151, 0.015876, 0.005057, 0.037667, 1.324150, 0.055914, -0.005421 282 | 69, 73, 0.999940, 0.006515, -0.002863, 0.008359, 2.588500, -0.012341, 0.005883 283 | 69, 74, 0.989662, -0.143115, -0.003061, 0.008780, 2.603880, 0.041761, 0.037075 284 | 70, 71, 0.999101, 0.019302, 0.007198, 0.037048, 1.320420, 0.041647, -0.065677 285 | 70, 72, 0.985271, 0.166326, 0.002897, 0.039610, 1.320400, 0.008273, -0.093364 286 | 70, 73, 0.987533, 0.156425, -0.012524, 0.012397, 2.607760, -0.065790, -0.070618 287 | 70, 74, 0.999827, 0.009097, -0.009418, 0.013227, 2.599030, -0.017385, -0.027370 288 | 71, 72, 0.989055, 0.147534, 0.001342, 0.001676, -0.000551, -0.054853, -0.040468 289 | 71, 73, 0.989982, 0.138346, -0.011987, -0.025539, 1.269160, -0.046648, -0.045391 290 | 71, 74, 0.999522, -0.010273, -0.016120, -0.024282, 1.273680, 0.000813, -0.006694 291 | 71, 75, 0.999384, -0.019092, -0.020487, -0.021132, 2.760280, -0.002432, 0.013483 292 | 71, 76, 0.990809, 0.132044, -0.017564, -0.023512, 2.726830, -0.031579, 0.000836 293 | 72, 73, 0.999486, -0.009834, -0.008883, -0.029183, 1.270490, 0.003814, -0.008070 294 | 72, 74, 0.986989, -0.157669, -0.014351, -0.028061, 1.282720, 0.065048, 0.015673 295 | 72, 76, 0.999307, -0.016392, -0.017597, -0.028397, 2.754040, 0.016087, 0.035362 296 | 73, 74, 0.989024, -0.147750, -0.000048, -0.000795, 0.002231, 0.067871, 0.022477 297 | 73, 75, 0.987816, -0.155493, -0.006193, 0.001548, 1.504600, 0.067235, 0.033563 298 | 73, 76, 0.999919, -0.008670, -0.009330, 0.000807, 1.488180, -0.004962, 0.026498 299 | 73, 77, 0.999485, -0.028946, 0.012963, 0.004847, 2.816650, 0.042166, -0.070134 300 | 74, 75, 0.999945, -0.008197, -0.005825, 0.002824, 1.502640, -0.003671, 0.010210 301 | 74, 76, 0.990202, 0.139426, -0.007158, 0.002901, 1.470550, -0.061674, -0.012855 302 | 75, 76, 0.989000, 0.147847, -0.004392, 0.001273, -0.003936, -0.052881, -0.040363 303 | 75, 77, 0.992166, 0.124023, 0.014781, 0.002669, 1.347370, -0.047589, -0.053309 304 | 75, 78, 0.999616, -0.022917, 0.015548, -0.000858, 1.340230, 0.000317, -0.014587 305 | 75, 79, 0.999794, -0.005876, -0.019054, 0.003827, 2.784100, -0.093115, -0.144648 306 | 76, 77, 0.999495, -0.024076, 0.020390, 0.003825, 1.339560, 0.006729, -0.019983 307 | 76, 78, 0.985151, -0.170539, 0.019840, -0.000360, 1.346440, 0.061997, 0.003639 308 | 76, 79, 0.987502, -0.157181, -0.011537, -0.000271, 2.756540, -0.061487, -0.137476 309 | 76, 80, 0.999912, -0.007576, -0.010772, -0.001325, 2.753130, -0.040162, -0.179799 310 | 77, 78, 0.989254, -0.146204, -0.000501, -0.001234, 0.003035, 0.069583, 0.023148 311 | 77, 79, 0.991049, -0.129002, -0.034336, -0.000844, 1.437530, -0.036600, -0.198385 312 | 77, 80, 0.999346, 0.015787, -0.032225, -0.004404, 1.421370, -0.039757, -0.242492 313 | 77, 81, 0.999525, -0.007393, -0.028063, 0.010349, 2.745920, 0.013922, -0.307167 314 | 78, 79, 0.999338, 0.016486, -0.032002, 0.005250, 1.423470, -0.111656, -0.226300 315 | 78, 80, 0.986111, 0.163320, -0.030149, 0.001507, 1.404630, -0.084966, -0.283737 316 | 79, 80, 0.989253, 0.146204, -0.000428, 0.001746, 0.002001, -0.054494, -0.040907 317 | 79, 81, 0.992494, 0.121224, 0.005461, 0.015180, 1.327750, -0.042151, -0.085642 318 | 79, 82, 0.999528, -0.026805, 0.004434, 0.014324, 1.329160, 0.001004, -0.038808 319 | 79, 84, 0.990570, 0.136992, 0.001463, 0.001434, 2.407530, -0.071476, -0.285989 320 | 80, 81, 0.999577, -0.025196, 0.004571, 0.013795, 1.319500, 0.013980, -0.050127 321 | 80, 82, 0.984980, -0.172153, 0.004276, 0.012643, 1.315050, 0.068113, -0.024481 322 | 80, 84, 0.999915, -0.011959, 0.005130, -0.000287, 2.384080, -0.035098, -0.259521 323 | 81, 82, 0.989035, -0.147648, -0.003156, -0.000355, 0.000336, 0.066812, 0.023913 324 | 81, 83, 0.991186, -0.131623, -0.004605, -0.014287, 1.084980, 0.003203, -0.172742 325 | 81, 84, 0.999798, 0.013775, -0.000229, -0.014610, 1.069570, -0.008888, -0.208077 326 | 81, 85, 0.999377, 0.031193, 0.015285, -0.006315, 2.385590, 0.046691, -0.343507 327 | 82, 83, 0.999790, 0.015316, -0.002497, -0.013408, 1.074730, -0.069580, -0.199881 328 | 82, 84, 0.986810, 0.161306, 0.000946, -0.013619, 1.065830, -0.064528, -0.251075 329 | 83, 84, 0.989416, 0.145104, 0.000398, 0.000286, -0.001970, -0.063812, -0.041430 330 | 83, 85, 0.987401, 0.157434, 0.014279, 0.007015, 1.333190, -0.065497, -0.140557 331 | 83, 86, 0.999813, 0.009669, 0.015946, 0.005139, 1.332950, -0.030067, -0.096089 332 | 84, 85, 0.999801, 0.012984, 0.012820, 0.008106, 1.334420, -0.000328, -0.095368 333 | 84, 86, 0.990759, -0.134869, 0.012623, 0.006892, 1.346600, 0.048066, -0.066484 334 | 85, 86, 0.988893, -0.148630, 0.000455, 0.000264, 0.000402, 0.069355, 0.024895 335 | 85, 87, 0.986456, -0.162546, 0.019592, -0.009976, 1.207900, 0.075465, 0.037093 336 | 85, 88, 0.999569, -0.016988, 0.022584, -0.007926, 1.197210, -0.008632, 0.010891 337 | 86, 87, 0.999562, -0.017506, 0.019818, -0.013257, 1.187570, -0.015343, 0.010863 338 | 86, 88, 0.991075, 0.131379, 0.019855, -0.010757, 1.198870, -0.071270, -0.029274 339 | 87, 88, 0.989202, 0.146561, -0.000136, -0.000394, 0.000621, -0.064159, -0.042890 340 | 87, 89, 0.987924, 0.147052, 0.047382, -0.011700, 1.379050, -0.079366, -0.133804 341 | 87, 90, 0.999004, -0.004339, 0.040882, -0.017356, 1.400520, -0.051971, -0.080591 342 | 88, 89, 0.998823, -0.000508, 0.048268, -0.004744, 1.385990, -0.022773, -0.091417 343 | 88, 90, 0.987637, -0.150640, 0.041937, -0.011031, 1.411340, 0.021911, -0.059601 344 | 89, 90, 0.988608, -0.150512, -0.000726, -0.000664, 0.000084, 0.071595, 0.025399 345 | 89, 91, 0.984980, -0.165269, -0.049847, -0.003966, 1.068690, 0.090751, 0.074346 346 | 89, 92, 0.998602, -0.018474, -0.048455, -0.010244, 1.066580, 0.003830, 0.054854 347 | 89, 93, 0.997734, 0.019536, -0.063699, 0.009364, 2.175090, 0.056285, 0.229775 348 | 89, 94, 0.989128, -0.132050, -0.061748, 0.019372, 2.186510, 0.193943, 0.225570 349 | 90, 91, 0.998633, -0.015346, -0.049775, 0.004444, 1.075750, 0.016990, 0.053545 350 | 90, 92, 0.989886, 0.132775, -0.049945, -0.001684, 1.076520, -0.053259, 0.016425 351 | 91, 92, 0.989033, 0.147688, 0.000116, 0.001234, 0.000334, -0.060403, -0.042352 352 | 91, 93, 0.982999, 0.181418, -0.013246, 0.024987, 1.124840, -0.060607, 0.091034 353 | 91, 94, 0.999066, 0.032837, -0.007793, 0.026967, 1.124580, 0.055130, 0.129470 354 | 92, 93, 0.998964, 0.037052, -0.015409, 0.021473, 1.112760, 0.012906, 0.140517 355 | 92, 94, 0.992977, -0.115304, -0.011241, 0.023963, 1.117430, 0.121630, 0.155354 356 | 93, 94, 0.988446, -0.151568, 0.000885, 0.000160, 0.003038, 0.070374, 0.027106 357 | 93, 95, 0.991798, -0.127064, 0.006714, -0.012110, 1.184370, 0.036703, -0.061481 358 | 93, 96, 0.999703, 0.020592, 0.009055, -0.009380, 1.180800, -0.004880, -0.091455 359 | 94, 95, 0.999617, 0.023947, 0.004934, -0.012945, 1.172100, -0.036394, -0.093313 360 | 94, 96, 0.985033, 0.171906, 0.007110, -0.010405, 1.172720, -0.061400, -0.140103 361 | 95, 96, 0.988531, 0.151005, 0.000175, 0.001989, 0.000972, -0.041371, -0.039698 362 | 95, 97, 0.982402, 0.163712, 0.021682, -0.087262, 1.165290, -0.113567, -0.003790 363 | 95, 98, 0.995865, 0.014869, 0.001290, -0.089615, 1.183580, -0.052500, 0.063853 364 | 95, 99, 0.997484, 0.002040, -0.002320, -0.070831, 2.262910, 0.012778, 0.088314 365 | 96, 97, 0.995647, 0.015582, 0.033450, -0.085583, 1.183540, -0.062883, 0.039645 366 | 96, 98, 0.987011, -0.131926, 0.015595, -0.090343, 1.188690, 0.019568, 0.087083 367 | 97, 98, 0.988821, -0.149071, -0.003209, -0.001188, -0.003729, 0.065322, 0.021359 368 | 97, 99, 0.986940, -0.159779, -0.011630, 0.016871, 1.091070, 0.096927, 0.034837 369 | 97, 100, 0.999663, -0.013737, -0.014746, 0.016354, 1.096010, 0.020901, 0.017831 370 | 98, 99, 0.999714, -0.013155, -0.005218, 0.019288, 1.094870, 0.018667, 0.015362 371 | 98, 100, 0.990599, 0.135258, -0.006451, 0.019406, 1.087760, -0.036766, -0.020806 372 | 99, 100, 0.989086, 0.147327, 0.000638, 0.001685, -0.001680, -0.058869, -0.042726 373 | 99, 102, 0.997574, -0.016228, 0.059841, 0.031666, 1.466310, 0.056597, 0.049669 374 | 100, 101, 0.997592, -0.015812, 0.049485, 0.045956, 1.452090, 0.041895, 0.060574 375 | 100, 102, 0.984561, -0.162321, 0.053451, 0.037862, 1.469370, 0.130101, 0.068268 376 | 101, 102, 0.988983, -0.148028, 0.000378, -0.000942, -0.000350, 0.068114, 0.025168 377 | 101, 103, 0.988265, -0.152121, -0.013335, 0.003599, 1.290320, 0.056960, -0.002410 378 | 101, 104, 0.999911, -0.005070, -0.012161, 0.002258, 1.281350, -0.002025, -0.027008 379 | 102, 103, 0.999892, -0.005033, -0.012120, 0.006555, 1.287120, -0.016708, -0.027349 380 | 102, 104, 0.989482, 0.144033, -0.012274, 0.005325, 1.285220, -0.053893, -0.068283 381 | 103, 104, 0.989170, 0.146772, 0.000152, 0.001154, 0.000294, -0.061561, -0.043492 382 | 104, 105, 0.999919, 0.002771, -0.005181, 0.011292, 1.358240, 0.018097, -0.107576 383 | 105, 106, 0.989016, -0.147801, -0.000138, -0.001184, -0.001767, 0.074439, 0.024198 384 | 105, 107, 0.989454, -0.144487, -0.009966, -0.002138, 1.204770, 0.045764, 0.027214 385 | 105, 108, 0.999933, 0.005847, -0.009676, -0.002362, 1.205430, -0.012739, -0.000641 386 | 105, 109, 0.999883, 0.009609, -0.011804, 0.001164, 2.405810, 0.000394, -0.059951 387 | 106, 107, 0.999925, 0.005604, -0.010782, 0.001293, 1.212270, -0.013460, 0.005049 388 | 106, 108, 0.987621, 0.156500, -0.010593, 0.001047, 1.211860, -0.058219, -0.038912 389 | 107, 108, 0.988895, 0.148607, 0.000436, 0.001350, -0.000744, -0.061230, -0.043600 390 | 107, 109, 0.988199, 0.153018, 0.004354, 0.005410, 1.167490, -0.051752, -0.106922 391 | 107, 110, 0.999637, 0.000048, 0.026922, -0.001318, 1.164750, -0.037469, -0.103323 392 | 108, 109, 0.999983, 0.003174, 0.002373, 0.004321, 1.173380, 0.001662, -0.064943 393 | 108, 110, 0.988519, -0.149040, 0.024814, 0.001196, 1.176780, 0.030897, -0.079196 394 | 109, 110, 0.988178, -0.151312, 0.024445, -0.003472, -0.007185, 0.071570, 0.040737 395 | 109, 111, 0.971441, -0.108728, -0.195110, 0.080075, 2.315780, 0.276437, 0.178370 396 | 110, 111, 0.971096, 0.043079, -0.204246, 0.115760, 2.353960, 0.228215, 0.144118 397 | 111, 112, 0.968185, 0.004899, 0.241640, -0.064842, 0.070257, 0.017444, 0.070921 398 | 112, 113, 0.998748, 0.015333, -0.029108, -0.037677, 1.453920, 0.193617, 1.028930 399 | 112, 114, 0.985351, 0.164085, -0.024226, -0.039667, 1.458050, -0.154271, 1.000470 400 | 113, 114, 0.988971, 0.148088, -0.000236, 0.002297, 0.001534, -0.048038, -0.042617 401 | 113, 115, 0.992414, 0.110774, -0.053050, 0.005349, 1.127150, -0.034468, 0.447917 402 | 113, 116, 0.998519, -0.042156, -0.033379, 0.008225, 1.156730, 0.158140, 0.435212 403 | 113, 117, 0.997612, -0.030975, -0.060244, 0.013498, 2.313580, 0.188432, 0.621929 404 | 113, 118, 0.990843, 0.120234, -0.061217, 0.005159, 2.310230, -0.052610, 0.605925 405 | 114, 115, 0.997932, -0.035424, -0.053414, -0.004894, 1.125980, 0.028475, 0.488468 406 | 114, 116, 0.981247, -0.189465, -0.035456, 0.000653, 1.161740, 0.218791, 0.458593 407 | 114, 117, 0.982078, -0.178736, -0.059775, 0.001708, 2.299010, 0.243880, 0.638839 408 | 114, 118, 0.997779, -0.025425, -0.061244, -0.006241, 2.307070, 0.011668, 0.648212 409 | 115, 116, 0.988114, -0.152573, 0.018483, -0.003368, 0.014717, 0.070544, 0.038263 410 | 115, 117, 0.989998, -0.140745, -0.009730, -0.000467, 1.202710, 0.100181, 0.163335 411 | 115, 118, 0.999914, 0.009171, -0.009399, -0.000612, 1.199790, -0.011787, 0.141276 412 | 115, 119, 0.999788, -0.005359, -0.014467, -0.013656, 2.316180, -0.041494, 0.424483 413 | 115, 120, 0.987742, -0.154761, -0.015946, -0.012708, 2.331990, 0.141947, 0.435826 414 | 116, 117, 0.999582, 0.011246, -0.025728, 0.006886, 1.177480, 0.025375, 0.122313 415 | 116, 118, 0.986534, 0.161282, -0.026869, 0.004168, 1.180480, -0.068529, 0.081319 416 | 116, 119, 0.988596, 0.145993, -0.036193, -0.007371, 2.312380, -0.104447, 0.369434 417 | 116, 120, 0.999423, -0.002959, -0.033611, -0.004027, 2.303340, 0.067681, 0.398396 418 | 117, 118, 0.988589, 0.150629, -0.000269, 0.001432, 0.001999, -0.056361, -0.043919 419 | 117, 119, 0.990766, 0.134907, -0.008227, -0.010748, 1.127040, -0.070522, 0.226644 420 | 117, 120, 0.999783, -0.015368, -0.008253, -0.011405, 1.129050, 0.054346, 0.255573 421 | 118, 119, 0.999770, -0.015250, -0.006921, -0.013430, 1.133020, -0.008610, 0.269748 422 | 118, 120, 0.986427, -0.163430, -0.007449, -0.014055, 1.138990, 0.139081, 0.281246 423 | 119, 120, 0.988801, -0.149218, 0.001814, -0.002037, 0.001415, 0.066435, 0.024002 424 | 119, 121, 0.979409, -0.168826, 0.110697, -0.001623, 1.197880, 0.055662, -0.061283 425 | 119, 122, 0.993674, -0.019171, 0.109508, 0.015862, 1.195470, 0.018794, -0.084273 426 | 119, 123, 0.996192, -0.021926, 0.083883, 0.009153, 2.208260, -0.004142, 0.006395 427 | 120, 121, 0.993777, -0.020732, 0.108293, -0.015801, 1.185010, -0.013110, -0.081354 428 | 120, 122, 0.985249, 0.130129, 0.111123, 0.001591, 1.169990, -0.035204, -0.120742 429 | 120, 123, 0.988066, 0.130954, 0.081100, -0.000651, 2.212240, -0.033888, -0.025591 430 | 120, 124, 0.996366, -0.022911, 0.080938, -0.013353, 2.208910, -0.014407, 0.007231 431 | 121, 122, 0.988596, 0.150586, -0.000501, 0.001171, 0.001583, -0.057805, -0.043979 432 | 121, 123, 0.988558, 0.147791, -0.030163, -0.000056, 1.036650, -0.064294, -0.019999 433 | 121, 124, 0.999540, -0.001246, -0.030106, 0.003313, 1.042780, -0.001262, 0.023080 434 | 121, 125, 0.998597, -0.019768, -0.046345, 0.016293, 2.387200, 0.012104, 0.003833 435 | 121, 126, 0.990250, 0.130887, -0.046575, 0.010256, 2.377620, -0.027165, -0.031308 436 | 122, 123, 0.999509, -0.002364, -0.030658, -0.006013, 1.045540, -0.003777, 0.024515 437 | 122, 124, 0.988083, -0.150827, -0.030611, -0.002611, 1.046510, 0.073688, 0.047172 438 | 122, 125, 0.984580, -0.167889, -0.048625, 0.007193, 2.390910, 0.095715, 0.029839 439 | 122, 126, 0.998585, -0.020179, -0.049179, 0.001533, 2.389750, 0.027516, 0.012254 440 | 122, 127, 0.998141, -0.019537, -0.056367, 0.012459, 3.373340, 0.089442, -0.083657 441 | 123, 124, 0.988749, -0.149579, 0.000742, -0.001256, -0.000198, 0.064880, 0.024724 442 | 123, 125, 0.985808, -0.166635, -0.018728, 0.008098, 1.357000, 0.063331, -0.028026 443 | 123, 126, 0.999614, -0.018291, -0.019732, 0.006955, 1.356640, 0.013950, -0.050410 444 | 123, 127, 0.999260, -0.017330, -0.029507, 0.017569, 2.361740, 0.057736, -0.156432 445 | 123, 128, 0.985547, -0.165973, -0.027269, 0.020142, 2.373540, 0.067363, -0.142855 446 | 123, 129, 0.983581, -0.149524, -0.100905, -0.005320, 3.417100, -0.009022, 0.278278 447 | 123, 130, 0.995230, 0.000561, -0.095814, -0.018353, 3.391340, -0.116729, 0.217268 448 | 123, 131, 0.967696, -0.016865, -0.251537, -0.002841, 4.253350, 0.011331, 1.275660 449 | 124, 125, 0.999616, -0.017792, -0.017320, 0.012278, 1.355190, -0.005760, -0.049701 450 | 124, 126, 0.991110, 0.131302, -0.018268, 0.011302, 1.351950, -0.042910, -0.091533 451 | 124, 127, 0.990468, 0.133300, -0.025627, 0.023406, 2.353670, 0.010202, -0.196772 452 | 124, 128, 0.999250, -0.016674, -0.023896, 0.025518, 2.371110, 0.002504, -0.162070 453 | 124, 129, 0.994871, 0.000649, -0.100529, 0.011163, 3.419090, -0.062408, 0.257551 454 | 124, 130, 0.983820, 0.150755, -0.096780, -0.002001, 3.385370, -0.158940, 0.174288 455 | 125, 126, 0.988863, 0.148820, 0.000047, 0.001895, 0.002452, -0.057726, -0.043001 456 | 125, 127, 0.988631, 0.149428, -0.008408, 0.014451, 1.013610, -0.044425, -0.174405 457 | 125, 128, 0.999891, 0.000693, -0.006013, 0.013444, 1.014160, -0.030993, -0.130791 458 | 125, 129, 0.996513, 0.019452, -0.081134, 0.000888, 2.059510, -0.056306, 0.078553 459 | 125, 130, 0.982479, 0.168314, -0.079513, -0.009109, 2.051170, -0.116378, 0.017671 460 | 125, 131, 0.960995, 0.147921, -0.231521, 0.031710, 3.047670, -0.036908, 0.675870 461 | 125, 132, 0.972525, 0.001218, -0.223891, 0.063768, 3.051800, 0.212311, 0.680219 462 | 126, 127, 0.999882, 0.000693, -0.010758, 0.010924, 1.013520, 0.013451, -0.131984 463 | 126, 128, 0.988929, -0.147819, -0.007825, 0.010336, 1.009020, 0.038615, -0.107786 464 | 126, 129, 0.988252, -0.129243, -0.080462, -0.013444, 2.055040, 0.007282, 0.103209 465 | 126, 130, 0.996485, 0.019520, -0.078058, -0.023333, 2.054050, -0.067539, 0.061988 466 | 126, 131, 0.972308, 0.002726, -0.233622, -0.005485, 3.030450, 0.012779, 0.711251 467 | 126, 132, 0.962130, -0.141715, -0.231174, 0.027956, 3.033650, 0.289026, 0.699141 468 | 127, 128, 0.988952, -0.148218, 0.000469, -0.002094, 0.000961, 0.071197, 0.023356 469 | 127, 129, 0.988758, -0.128375, -0.072250, -0.025624, 1.041440, 0.065017, 0.084364 470 | 127, 130, 0.996889, 0.019467, -0.068330, -0.034112, 1.042320, -0.017785, 0.058487 471 | 127, 131, 0.974500, 0.004592, -0.223748, -0.016267, 2.065350, 0.032672, 0.391319 472 | 127, 132, 0.964720, -0.139016, -0.223009, 0.015997, 2.066410, 0.225637, 0.387589 473 | 127, 134, 0.943464, -0.006427, -0.327253, -0.052342, 3.203810, -0.239544, 1.061270 474 | 128, 129, 0.996883, 0.019605, -0.075387, -0.012509, 1.041760, -0.003960, 0.058037 475 | 128, 130, 0.982989, 0.167352, -0.072561, -0.021475, 1.039010, -0.073513, 0.013513 476 | 128, 131, 0.962823, 0.149401, -0.224227, 0.019322, 2.081590, -0.021966, 0.353600 477 | 128, 132, 0.974575, 0.003168, -0.218278, 0.050471, 2.082230, 0.140972, 0.367158 478 | 129, 130, 0.989050, 0.147567, -0.000299, 0.001910, 0.000270, -0.061945, -0.042967 479 | 129, 131, 0.979366, 0.125351, -0.153914, 0.037935, 1.114100, -0.043966, -0.021365 480 | 129, 132, 0.987317, -0.022514, -0.145912, 0.058380, 1.113280, 0.016345, 0.016183 481 | 130, 131, 0.987220, -0.020736, -0.157473, 0.012970, 1.100710, 0.016183, 0.015370 482 | 130, 132, 0.973281, -0.167663, -0.153059, 0.034434, 1.101150, 0.088798, 0.035323 483 | 130, 134, 0.964391, -0.032246, -0.261131, -0.026866, 2.339450, -0.189386, 0.485666 484 | 131, 132, 0.988837, -0.148989, 0.000561, -0.001751, 0.001054, 0.071093, 0.024037 485 | 131, 133, 0.981746, -0.151672, -0.112178, -0.024233, 1.273810, 0.018933, 0.285471 486 | 131, 134, 0.993441, -0.004172, -0.107496, -0.038756, 1.273130, -0.121940, 0.237001 487 | 132, 133, 0.993353, -0.003971, -0.114908, -0.005494, 1.278430, -0.052795, 0.262545 488 | 132, 134, 0.982964, 0.143643, -0.112790, -0.020643, 1.278740, -0.183440, 0.193266 489 | 132, 136, 0.960580, 0.008187, -0.275081, 0.039369, 2.156500, 0.071588, 0.717163 490 | 133, 134, 0.988917, 0.148459, -0.000043, 0.001728, 0.000462, -0.059733, -0.041998 491 | 133, 135, 0.971737, 0.161279, -0.170655, 0.024374, 1.055710, -0.063434, 0.014946 492 | 133, 136, 0.985290, 0.005155, -0.164620, 0.045582, 1.051530, 0.005961, 0.061926 493 | 133, 137, 0.973134, 0.015797, -0.219653, 0.067181, 1.992560, 0.023579, 0.096729 494 | 133, 138, 0.960311, 0.158480, -0.226711, 0.035902, 1.990960, -0.056124, 0.056238 495 | 133, 140, 0.944447, 0.010042, -0.310827, 0.106330, 3.044900, 0.166936, 0.428501 496 | 134, 135, 0.984988, 0.015711, -0.171884, -0.002779, 1.039330, -0.003340, 0.055753 497 | 134, 136, 0.975309, -0.140267, -0.169565, 0.018572, 1.037630, 0.079093, 0.082917 498 | 134, 137, 0.964718, -0.129105, -0.227115, 0.032694, 1.972550, 0.086916, 0.117572 499 | 134, 138, 0.973404, 0.014802, -0.228615, 0.000187, 1.967190, 0.004098, 0.094634 500 | 134, 139, 0.944549, 0.011671, -0.328016, 0.009785, 3.013530, 0.045472, 0.450329 501 | 134, 140, 0.935356, -0.131359, -0.323165, 0.058461, 3.016830, 0.223069, 0.444466 502 | 135, 136, 0.987564, -0.157115, 0.001029, -0.005610, -0.004390, 0.077194, 0.028107 503 | 135, 137, 0.987260, -0.147939, -0.057874, 0.009061, 0.945955, 0.041841, -0.053785 504 | 135, 138, 0.998265, -0.001413, -0.058834, 0.001802, 0.947681, 0.003098, -0.080017 505 | 135, 139, 0.986844, -0.005817, -0.161319, 0.009066, 2.047930, 0.028517, 0.068481 506 | 135, 140, 0.975025, -0.152953, -0.157833, 0.031947, 2.047660, 0.107686, 0.081083 507 | 135, 141, 0.961766, -0.150287, -0.223285, 0.050634, 2.996620, 0.229585, 0.331896 508 | 135, 142, 0.973832, -0.006587, -0.226401, 0.018742, 2.986620, 0.078319, 0.333078 509 | 136, 137, 0.998113, 0.009424, -0.056019, 0.023315, 0.957294, -0.029472, -0.082599 510 | 136, 138, 0.986015, 0.155010, -0.058914, 0.016586, 0.959505, -0.062638, -0.129250 511 | 136, 139, 0.975261, 0.149034, -0.158385, 0.039602, 2.066480, -0.032314, 0.022613 512 | 136, 140, 0.986638, 0.001755, -0.150774, 0.061727, 2.067760, 0.035038, 0.055414 513 | 136, 141, 0.973004, 0.003045, -0.212421, 0.090171, 3.023120, 0.165542, 0.307881 514 | 136, 142, 0.961988, 0.147473, -0.222098, 0.059186, 3.017960, 0.028810, 0.296240 515 | 137, 138, 0.989298, 0.145898, 0.000027, 0.001691, 0.001382, -0.061304, -0.042133 516 | 137, 139, 0.984593, 0.140622, -0.101180, 0.023747, 1.117570, -0.047770, -0.086778 517 | 137, 140, 0.994617, -0.007664, -0.096320, 0.037416, 1.116710, -0.008460, -0.045271 518 | 137, 141, 0.985109, -0.006544, -0.158765, 0.065664, 2.095430, 0.066640, 0.087909 519 | 137, 142, 0.975405, 0.139282, -0.165346, 0.042970, 2.090290, -0.007155, 0.058258 520 | 137, 143, 0.975063, 0.137208, -0.171073, 0.034056, 3.079480, -0.044686, 0.041700 521 | 137, 144, 0.984550, -0.012077, -0.164489, 0.058810, 3.086640, 0.021689, 0.080263 522 | 138, 139, 0.994595, -0.004913, -0.103462, 0.007241, 1.107320, 0.009851, -0.046592 523 | 138, 140, 0.982781, -0.152895, -0.101543, 0.021315, 1.111570, 0.059849, -0.022620 524 | 138, 141, 0.973083, -0.152959, -0.167524, 0.040598, 2.086370, 0.115134, 0.110136 525 | 138, 142, 0.985182, -0.005426, -0.170608, 0.016744, 2.079970, 0.045767, 0.098125 526 | 138, 143, 0.984688, -0.007527, -0.174029, 0.006855, 3.065960, 0.006861, 0.075232 527 | 138, 144, 0.972013, -0.158039, -0.170714, 0.032728, 3.068710, 0.070602, 0.094930 528 | 138, 145, 0.970900, -0.169940, -0.167297, 0.022038, 4.059200, -0.026018, 0.008699 529 | 138, 146, 0.984972, -0.024391, -0.170980, -0.001382, 4.065530, -0.069833, -0.021374 530 | 139, 140, 0.988829, -0.149050, 0.000320, -0.001138, -0.000540, 0.064445, 0.024968 531 | 139, 141, 0.986531, -0.148231, -0.066741, 0.018187, 0.981057, 0.072481, 0.017108 532 | 139, 142, 0.997580, -0.001267, -0.068835, 0.009716, 0.985788, 0.012704, -0.002446 533 | 139, 143, 0.997441, -0.003117, -0.071428, -0.000119, 1.965690, -0.009703, -0.036215 534 | 139, 144, 0.985404, -0.154231, -0.071356, 0.009971, 1.974280, 0.032764, -0.004372 535 | 139, 145, 0.983618, -0.166200, -0.069790, -0.001753, 2.976450, -0.045443, -0.080785 536 | 139, 146, 0.997587, -0.017738, -0.066275, -0.010618, 2.949470, -0.056736, -0.135275 537 | 140, 141, 0.997599, 0.000242, -0.062828, 0.029119, 0.983774, 0.007077, -0.008048 538 | 140, 142, 0.986680, 0.147484, -0.065321, 0.021056, 0.981020, -0.040994, -0.048076 539 | 140, 143, 0.986517, 0.146722, -0.071504, 0.011993, 1.975110, -0.054859, -0.073026 540 | 140, 144, 0.997429, -0.004461, -0.068150, 0.021692, 1.971650, -0.022463, -0.030422 541 | 140, 145, 0.997354, -0.016942, -0.069979, 0.010037, 2.982870, -0.103068, -0.097306 542 | 140, 146, 0.988955, 0.131419, -0.068520, 0.001239, 2.960800, -0.108993, -0.166944 543 | 141, 142, 0.988988, 0.147984, 0.000727, 0.001563, 0.000443, -0.049610, -0.040826 544 | 141, 143, 0.989145, 0.146698, -0.003864, -0.007581, 0.983519, -0.053499, -0.078854 545 | 141, 144, 0.999946, -0.004142, -0.005640, -0.007729, 0.989583, -0.015516, -0.033222 546 | 141, 145, 0.999640, -0.016283, -0.004986, -0.020714, 1.978720, -0.076281, -0.110645 547 | 141, 146, 0.991037, 0.132156, -0.001727, -0.019403, 1.974570, -0.084665, -0.164514 548 | 142, 143, 0.999941, -0.001320, -0.003870, -0.010051, 0.989314, -0.004241, -0.038303 549 | 142, 144, 0.988364, -0.151686, -0.004912, -0.010223, 0.988476, 0.046473, -0.011164 550 | 142, 145, 0.986336, -0.163135, -0.001663, -0.022910, 1.975770, -0.009593, -0.093721 551 | 142, 146, 0.999638, -0.016123, 0.000839, -0.021514, 1.976120, -0.035227, -0.128485 552 | 143, 144, 0.988611, -0.150489, 0.000450, -0.001005, -0.001083, 0.063282, 0.025483 553 | 143, 145, 0.986790, -0.161347, 0.004262, -0.013914, 0.982105, 0.037369, -0.054060 554 | 143, 146, 0.999816, -0.014422, 0.005262, -0.011472, 0.984562, -0.004824, -0.080476 555 | 143, 147, 0.999560, -0.028140, 0.007307, 0.005912, 2.077800, 0.045303, -0.184175 556 | 143, 148, 0.984133, -0.177303, 0.005305, 0.004232, 2.102230, 0.048335, -0.161170 557 | 144, 145, 0.999842, -0.011958, 0.001453, -0.013077, 0.983852, -0.033218, -0.076105 558 | 144, 146, 0.990658, 0.135911, 0.002826, -0.010828, 0.985424, -0.061038, -0.121031 559 | 144, 147, 0.992217, 0.124042, 0.009115, 0.006076, 2.067790, 0.000996, -0.221338 560 | 144, 148, 0.999549, -0.028319, 0.008689, 0.004876, 2.076420, -0.025042, -0.189284 561 | 145, 146, 0.989033, 0.147682, -0.000570, 0.002012, 0.001736, -0.055653, -0.041304 562 | 145, 147, 0.990775, 0.134072, 0.004260, 0.019287, 1.098170, -0.039661, -0.137859 563 | 145, 148, 0.999711, -0.015151, 0.006007, 0.017693, 1.106880, -0.015721, -0.095891 564 | 145, 149, 0.999637, -0.017371, -0.019381, 0.006899, 2.316110, -0.051379, 0.002357 565 | 145, 150, 0.991085, 0.131971, -0.017485, 0.005255, 2.299050, -0.080511, -0.049981 566 | 146, 147, 0.999750, -0.014019, 0.001154, 0.017405, 1.102930, 0.014972, -0.098896 567 | 146, 148, 0.986663, -0.161929, 0.003622, 0.016163, 1.105660, 0.055360, -0.075633 568 | 146, 149, 0.986185, -0.164362, -0.020537, 0.001455, 2.324110, 0.017329, 0.024522 569 | 146, 150, 0.999669, -0.017465, -0.018915, 0.000065, 2.309270, -0.036197, -0.012356 570 | 147, 148, 0.988661, -0.150159, 0.000304, -0.000937, -0.000605, 0.057335, 0.026053 571 | 147, 149, 0.988425, -0.148839, -0.025168, -0.015170, 1.220810, 0.067348, 0.067143 572 | 147, 150, 0.999608, -0.003396, -0.021960, -0.017057, 1.214570, -0.015564, 0.041266 573 | 148, 149, 0.999576, -0.001153, -0.027112, -0.010527, 1.218670, -0.007400, 0.043913 574 | 148, 150, 0.988983, 0.145468, -0.024467, -0.012412, 1.214420, -0.072064, -0.000932 575 | 148, 152, 0.999919, 0.006353, 0.006004, -0.009228, 2.346170, -0.021629, -0.097660 576 | 149, 150, 0.989138, 0.146975, -0.000139, 0.002034, 0.002731, -0.054573, -0.041636 577 | 149, 151, 0.987093, 0.157390, 0.028319, 0.008613, 1.121200, -0.056347, -0.104373 578 | 149, 152, 0.999460, 0.007560, 0.031931, 0.001700, 1.135130, -0.020082, -0.061986 579 | 149, 153, 0.999260, 0.009441, 0.037157, 0.003084, 2.109450, -0.020313, -0.097347 580 | 149, 154, 0.986168, 0.160431, 0.040599, 0.009306, 2.076790, -0.020667, -0.136596 581 | 150, 151, 0.999501, 0.011117, 0.027743, 0.010269, 1.116650, 0.001100, -0.062519 582 | 150, 152, 0.989661, -0.139653, 0.032413, 0.004092, 1.127690, 0.041811, -0.040349 583 | 150, 153, 0.989281, -0.141117, 0.036987, 0.006450, 2.103350, 0.015936, -0.078322 584 | 150, 154, 0.999178, 0.011272, 0.036961, 0.012249, 2.093850, 0.015062, -0.099929 585 | 151, 152, 0.988540, -0.150903, 0.003558, -0.002183, 0.010539, 0.064261, 0.027051 586 | 151, 153, 0.989053, -0.147427, 0.006319, -0.000288, 1.002790, 0.072376, 0.002872 587 | 151, 154, 0.999971, -0.000205, 0.007345, 0.002070, 0.991676, 0.006688, -0.018461 588 | 151, 155, 0.999988, -0.000945, 0.004603, 0.001603, 2.058220, 0.009529, -0.213252 589 | 151, 156, 0.988686, -0.149979, 0.002638, 0.000235, 2.076190, -0.002231, -0.185537 590 | 152, 153, 0.999988, 0.002035, 0.004150, 0.001345, 0.983196, -0.002803, -0.022833 591 | 152, 154, 0.988712, 0.149711, 0.004991, 0.003305, 0.973725, -0.054159, -0.064535 592 | 152, 155, 0.988700, 0.149816, 0.004208, 0.003269, 2.024670, -0.044771, -0.260859 593 | 152, 156, 0.999994, 0.000605, 0.002632, 0.002109, 2.040800, -0.069118, -0.213846 594 | 153, 154, 0.988925, 0.148408, -0.000067, 0.001513, -0.000786, -0.055861, -0.041699 595 | 153, 155, 0.989163, 0.146768, -0.003418, 0.001898, 1.069670, -0.059248, -0.240704 596 | 153, 156, 0.999995, -0.000035, -0.003150, 0.000582, 1.071510, -0.056424, -0.190876 597 | 153, 157, 0.999972, -0.004976, 0.003030, -0.004769, 2.147970, -0.111481, -0.313269 598 | 153, 158, 0.989720, 0.142093, -0.016219, 0.000036, 2.120630, -0.069343, -0.338810 599 | 154, 155, 0.999995, -0.000525, -0.003086, -0.000475, 1.068640, 0.005026, -0.200252 600 | 154, 156, 0.988873, -0.148707, -0.003699, -0.001610, 1.076860, 0.006935, -0.167383 601 | 154, 157, 0.987971, -0.154212, 0.009228, -0.006849, 2.110160, -0.057318, -0.308274 602 | 154, 158, 0.999880, -0.004780, -0.014075, -0.004409, 2.109220, -0.001593, -0.302307 603 | 154, 159, 0.998903, -0.009180, -0.044028, -0.013020, 3.243490, -0.049686, -0.391402 604 | 155, 156, 0.988887, -0.148655, 0.000505, -0.001888, -0.000167, 0.061268, 0.025330 605 | 155, 157, 0.988249, -0.152132, 0.012947, -0.007200, 1.039890, 0.028449, -0.090691 606 | 155, 158, 0.999918, -0.004687, -0.011275, -0.003870, 1.037930, -0.000193, -0.125225 607 | 155, 159, 0.999328, -0.007841, -0.034025, -0.011113, 2.110910, -0.017177, -0.289976 608 | 155, 160, 0.986814, -0.157570, -0.036453, -0.006449, 2.117920, -0.037259, -0.244630 609 | 156, 157, 0.999906, -0.004314, 0.011141, -0.006794, 1.041280, -0.038354, -0.113062 610 | 156, 158, 0.989635, 0.143064, -0.012459, 0.000075, 1.040490, -0.058291, -0.166569 611 | 156, 159, 0.989421, 0.140573, -0.035670, -0.003474, 2.111280, -0.069528, -0.329043 612 | 156, 160, 0.999253, -0.010119, -0.037270, 0.001410, 2.120030, -0.104735, -0.265985 613 | 157, 158, 0.988809, 0.146939, -0.025205, 0.005459, 0.000039, -0.060159, -0.099913 614 | 157, 159, 0.988555, 0.143148, -0.047575, 0.002070, 1.063580, -0.064408, -0.312431 615 | 157, 160, 0.998783, -0.006053, -0.048198, 0.008485, 1.071440, -0.083410, -0.254402 616 | 157, 161, 0.998722, -0.022545, -0.043162, 0.013525, 2.185970, -0.088417, -0.271909 617 | 157, 162, 0.990876, 0.127991, -0.041622, 0.007090, 2.169490, -0.047072, -0.325577 618 | 158, 159, 0.999711, -0.003435, -0.022710, -0.007130, 1.068180, -0.003365, -0.212418 619 | 158, 160, 0.987961, -0.152647, -0.024752, -0.004405, 1.075220, 0.004354, -0.176763 620 | 158, 161, 0.985148, -0.170199, -0.022716, 0.000742, 2.205490, -0.005774, -0.193100 621 | 158, 162, 0.999611, -0.021106, -0.018111, -0.001942, 2.178400, 0.001303, -0.229885 622 | 159, 160, 0.988793, -0.149289, -0.000509, -0.000985, 0.001655, 0.071965, 0.023513 623 | 159, 161, 0.986497, -0.163735, 0.001836, 0.003460, 1.132330, 0.081963, 0.014251 624 | 159, 162, 0.999838, -0.017081, 0.003228, 0.004716, 1.121980, 0.006414, -0.007153 625 | 159, 163, 0.999598, -0.018758, -0.013614, -0.016336, 2.322630, -0.054428, 0.078688 626 | 160, 161, 0.999851, -0.016429, 0.003028, 0.004330, 1.129860, -0.003009, -0.009617 627 | 160, 162, 0.991079, 0.133078, 0.004862, 0.005478, 1.117590, -0.052098, -0.047406 628 | 160, 163, 0.991130, 0.131281, -0.016784, -0.012019, 2.328020, -0.112481, 0.044745 629 | 161, 162, 0.988821, 0.149104, 0.000274, 0.001221, 0.002055, -0.055572, -0.041820 630 | 161, 163, 0.989007, 0.145678, -0.019318, -0.016445, 1.197680, -0.081452, 0.008661 631 | 161, 164, 0.999633, -0.011248, -0.019457, -0.015156, 1.199420, -0.011773, 0.048390 632 | 161, 165, 0.984079, -0.004929, 0.163726, -0.068975, 1.369770, -0.268996, -0.789102 633 | 162, 163, 0.999642, -0.002996, -0.016617, -0.020742, 1.196570, -0.023102, 0.048810 634 | 162, 164, 0.986826, -0.159841, -0.015668, -0.019483, 1.189210, 0.054916, 0.064465 635 | 163, 164, 0.987754, -0.155953, 0.004162, -0.001843, -0.009864, 0.073303, 0.021129 636 | 163, 165, 0.970182, -0.142782, 0.193785, -0.028425, 0.241350, -0.051123, -0.380518 637 | 163, 166, 0.980547, 0.007804, 0.196094, 0.003718, 0.236809, 0.002000, -0.424592 638 | 164, 165, 0.981466, 0.010256, 0.183059, -0.055756, 0.235912, -0.125918, -0.401910 639 | 164, 166, 0.968241, 0.161916, 0.188897, -0.024707, 0.239741, -0.055698, -0.465964 640 | 164, 168, 0.940765, 0.020097, 0.324665, -0.095659, 0.183814, -0.169676, -0.539334 641 | 164, 169, 0.999570, 0.026156, -0.004702, 0.012410, 2.284320, -0.238693, -0.843491 642 | 165, 166, 0.987957, 0.154713, -0.000293, 0.002201, 0.001073, -0.061799, -0.045199 643 | 165, 167, 0.976060, 0.160233, 0.145834, -0.019117, 0.065967, -0.060488, -0.183758 644 | 165, 168, 0.988110, 0.012986, 0.147092, -0.042834, 0.084703, -0.022794, -0.073277 645 | 165, 169, 0.979478, 0.016195, -0.190685, 0.063244, 1.912470, -0.171729, -0.557320 646 | 165, 170, 0.966007, 0.161233, -0.199085, 0.034629, 1.921020, -0.062327, -0.625758 647 | 166, 167, 0.988968, 0.007067, 0.147954, 0.001347, 0.076201, 0.001531, -0.141073 648 | 166, 168, 0.978023, -0.140402, 0.152583, -0.021817, 0.095044, 0.048026, -0.051621 649 | 166, 169, 0.970131, -0.134750, -0.199392, 0.030502, 1.903740, -0.098660, -0.529788 650 | 166, 170, 0.979409, 0.011368, -0.201561, 0.001199, 1.903030, 0.004589, -0.579347 651 | 166, 174, 0.870012, 0.038073, -0.491538, 0.004396, 4.443600, 0.005650, 2.408450 652 | 167, 168, 0.988756, -0.149413, 0.006074, -0.001087, 0.021159, 0.087025, 0.083902 653 | 167, 169, 0.928743, -0.135495, -0.341791, 0.047501, 1.758270, -0.083388, -0.470900 654 | 167, 170, 0.938737, 0.004643, -0.344590, -0.003167, 1.755830, 0.002114, -0.519563 655 | 167, 171, 0.907557, 0.014477, -0.419609, -0.007705, 4.035280, 0.003579, 0.257877 656 | 167, 174, 0.787637, 0.032562, -0.615249, -0.005991, 4.290740, -0.000215, 2.372880 657 | 168, 169, 0.936636, 0.004952, -0.335870, 0.099396, 1.808800, -0.165794, -0.547001 658 | 168, 170, 0.925239, 0.144642, -0.347303, 0.048907, 1.812170, -0.054462, -0.613428 659 | 168, 172, 0.905376, 0.016068, -0.407826, 0.117105, 4.096230, 0.065949, 0.199896 660 | 168, 173, 0.784586, 0.024070, -0.594447, 0.174577, 4.380250, 0.669997, 2.277100 661 | 168, 174, 0.771191, 0.148615, -0.612899, 0.086797, 4.386770, -0.055389, 2.313500 662 | 169, 170, 0.988781, 0.149368, -0.000019, 0.000664, 0.001443, -0.057738, -0.044177 663 | 169, 172, 0.996374, 0.011714, -0.081207, 0.022510, 2.241550, 0.135877, 0.475541 664 | 170, 171, 0.996901, 0.010671, -0.077935, -0.001034, 2.205230, -0.001441, 0.480387 665 | 170, 174, 0.951225, 0.026640, -0.307304, 0.005079, 2.565590, -0.020708, 1.772950 666 | 171, 172, 0.989119, -0.147113, -0.000327, -0.001235, -0.000145, 0.072220, 0.024410 667 | 171, 173, 0.964251, -0.135698, -0.225257, 0.032651, 0.780562, 0.165972, 0.372587 668 | 171, 174, 0.973636, 0.015820, -0.227500, 0.005165, 0.788300, -0.008343, 0.349186 669 | 172, 173, 0.973870, 0.007143, -0.217083, 0.066344, 0.798568, 0.094453, 0.352086 670 | 172, 174, 0.960623, 0.159008, -0.224353, 0.039829, 0.811310, -0.066735, 0.308659 671 | 173, 174, 0.988039, 0.154015, 0.000788, 0.007565, 0.010672, -0.063311, -0.055698 672 | 174, 175, 0.962079, -0.202820, -0.179804, 0.030638, 1.208470, -0.716507, -0.161710 673 | 174, 176, 0.971572, -0.151826, -0.180642, 0.019085, 1.205130, -0.722582, -0.249962 674 | 175, 176, 0.998594, 0.052970, 0.000244, -0.002160, -0.000572, -0.022983, -0.012914 675 | 175, 177, 0.990274, 0.046211, -0.125904, 0.037010, 1.041450, -0.116272, -0.305255 676 | 176, 177, 0.991230, -0.006790, -0.127910, 0.032499, 1.036930, -0.094172, -0.293741 677 | 176, 178, 0.996359, -0.001684, -0.080625, 0.027652, 1.852750, -0.196594, -0.754896 678 | 177, 178, 0.998860, 0.004059, 0.047344, -0.004578, 0.852177, -0.096256, -0.365556 679 | 178, 179, 0.998028, 0.000747, -0.054606, 0.030958, 0.769245, -0.077458, -0.260806 680 | 178, 180, 0.998186, -0.000687, -0.053116, 0.028325, 1.568680, -0.143655, -0.478886 681 | 179, 180, 0.999994, -0.002124, 0.000067, -0.002578, 0.805914, -0.063986, -0.216802 682 | 180, 181, 0.996115, 0.007840, 0.083844, -0.025760, 1.018040, -0.081401, -0.291434 683 | 181, 182, 0.999953, -0.004865, -0.008307, 0.001176, 0.900427, -0.073199, -0.229839 684 | 182, 183, 0.994255, 0.002624, -0.103249, 0.028118, 1.136100, -0.029336, -0.070545 685 | 183, 184, 0.999911, 0.002087, 0.012932, 0.002447, 1.494800, -0.032439, -0.124768 686 | 184, 185, 0.999980, -0.002256, 0.004923, -0.003259, 1.057840, -0.014997, -0.067548 687 | 185, 186, 0.999869, 0.012436, 0.008619, -0.005665, 1.243360, -0.045458, -0.156970 688 | 186, 187, 0.999897, 0.003220, -0.012518, 0.006291, 1.106800, -0.001834, -0.030754 689 | 187, 188, 0.988671, 0.144543, -0.040097, 0.005388, 1.329880, 0.629337, 0.057659 690 | 187, 189, 0.999257, -0.006931, -0.036389, 0.010677, 1.301190, 0.654581, -0.203777 691 | 188, 189, 0.988521, -0.151057, 0.002829, -0.000734, -0.031269, 0.041015, -0.062371 692 | 188, 190, 0.986859, -0.161535, 0.000775, 0.003903, 1.092220, 0.052523, -0.044113 693 | 188, 191, 0.999888, -0.014095, 0.000160, 0.004988, 1.092930, 0.010868, -0.068462 694 | 189, 190, 0.999933, -0.010067, -0.001788, 0.005378, 1.125630, 0.016151, 0.021369 695 | 189, 191, 0.990476, 0.137535, -0.001895, 0.006156, 1.123930, -0.043217, -0.017677 696 | 190, 191, 0.989097, 0.147260, 0.000073, 0.001273, 0.001603, -0.056179, -0.043172 697 | 190, 192, 0.988492, 0.150671, 0.010710, -0.008242, 1.091510, -0.061479, -0.030676 698 | 190, 193, 0.999952, 0.002293, 0.004960, -0.008142, 1.107650, 0.003263, 0.018048 699 | 190, 194, 0.999905, 0.002996, -0.012202, -0.005687, 1.145410, 0.005266, 0.042328 700 | 191, 192, 0.999915, 0.004281, 0.008932, -0.008439, 1.106930, -0.001883, 0.013983 701 | 191, 193, 0.988920, -0.148019, 0.007777, -0.008232, 1.098550, 0.054776, 0.039813 702 | 191, 194, 0.989038, -0.147133, -0.009235, -0.008373, 1.133770, 0.057680, 0.064214 703 | 192, 193, 0.988724, -0.149746, -0.000963, 0.000679, -0.001483, 0.062488, 0.025860 704 | 192, 194, 0.988625, -0.149275, -0.018380, 0.000543, 0.036715, 0.058566, 0.012179 705 | 192, 195, 0.988430, -0.150740, -0.016390, 0.003922, 1.131370, 0.075950, 0.059418 706 | 192, 196, 0.999876, -0.001552, -0.015618, 0.001374, 1.131700, -0.000047, 0.035533 707 | 193, 194, 0.999847, 0.000584, -0.017319, 0.002431, 0.039779, -0.003290, -0.013865 708 | 193, 195, 0.999865, -0.001357, -0.015282, 0.005918, 1.136450, 0.012413, 0.036964 709 | 193, 196, 0.988949, 0.147692, -0.012506, 0.003207, 1.125170, -0.054548, -0.007856 710 | 194, 195, 0.999990, -0.001955, 0.001974, 0.003508, 1.097140, 0.015855, 0.050744 711 | 194, 196, 0.988991, 0.147909, 0.002681, 0.003638, 1.096870, -0.051528, 0.009418 712 | 195, 196, 0.988809, 0.149188, 0.000733, 0.000028, 0.002711, -0.055079, -0.042956 713 | 195, 197, 0.988555, 0.150731, 0.006269, -0.000661, 1.071650, -0.058392, 0.002401 714 | 195, 198, 0.999879, 0.000644, 0.014790, -0.004772, 1.085240, 0.000874, 0.019368 715 | 196, 197, 0.999987, 0.001496, 0.004853, -0.000342, 1.073590, -0.003943, 0.045751 716 | 196, 198, 0.988633, -0.149581, 0.014966, -0.002607, 1.082240, 0.060654, 0.044247 717 | 197, 198, 0.988565, -0.150379, 0.010916, -0.002349, 0.004901, 0.062721, 0.024449 718 | 197, 199, 0.989044, -0.146702, 0.014317, -0.008055, 1.011110, 0.076662, 0.041000 719 | 197, 200, 0.999854, -0.000607, 0.015949, -0.006116, 1.008920, -0.001317, 0.016891 720 | 198, 199, 0.999973, 0.003060, 0.003120, -0.005829, 1.002020, 0.011367, 0.017224 721 | 198, 200, 0.988676, 0.149906, 0.004060, -0.005621, 1.002030, -0.053046, -0.023087 722 | 199, 200, 0.988937, 0.148337, 0.000001, -0.000064, 0.000926, -0.050677, -0.041945 723 | 199, 201, 0.989055, 0.146311, 0.017718, 0.007067, 1.057650, -0.044251, -0.072192 724 | 199, 202, 0.999821, 0.004430, 0.018272, 0.001945, 1.056330, -0.007144, -0.031855 725 | 199, 203, 0.999717, -0.001060, -0.023756, -0.001165, 2.208570, -0.020873, 0.091219 726 | 199, 204, 0.989789, 0.141326, -0.018392, -0.002421, 2.205550, -0.082558, 0.028598 727 | 200, 201, 0.999792, -0.001099, 0.018117, 0.009310, 1.048540, 0.011241, -0.033211 728 | 200, 202, 0.989469, -0.143483, 0.018558, 0.004378, 1.052480, 0.055238, -0.009639 729 | 200, 203, 0.988466, -0.149435, -0.024202, -0.004393, 2.213660, 0.040214, 0.114068 730 | 200, 204, 0.999826, -0.006822, -0.016333, -0.005835, 2.198100, -0.030638, 0.063606 731 | 200, 208, 0.991151, 0.000391, -0.132442, -0.008845, 3.612410, -0.076696, 2.133460 732 | 201, 202, 0.989895, -0.141778, 0.000059, -0.002640, -0.001270, 0.062565, 0.025437 733 | 201, 203, 0.988488, -0.145663, -0.039335, -0.011279, 1.139380, 0.062894, 0.057105 734 | 201, 204, 0.999316, -0.005130, -0.033556, -0.014684, 1.143140, -0.007682, 0.025249 735 | 201, 205, 0.998242, -0.004264, -0.056960, -0.015803, 2.139040, -0.008642, -0.178823 736 | 201, 206, 0.984588, -0.153549, -0.083648, -0.003541, 2.150290, 0.026058, -0.063254 737 | 201, 207, 0.977034, -0.142499, -0.158293, 0.006414, 2.573660, 0.582103, 1.833530 738 | 201, 208, 0.988356, 0.002589, -0.151099, -0.017754, 2.598950, -0.049959, 1.851950 739 | 201, 211, 0.943291, 0.011703, -0.331688, -0.006991, 4.242960, 0.640303, 3.693310 740 | 202, 203, 0.999170, -0.005182, -0.040321, -0.002710, 1.142640, -0.005428, 0.034115 741 | 202, 204, 0.989971, 0.136765, -0.034722, -0.006836, 1.141810, -0.059516, -0.014765 742 | 202, 205, 0.988661, 0.138993, -0.056656, -0.004506, 2.132030, -0.050762, -0.219412 743 | 202, 206, 0.996300, -0.012148, -0.084333, 0.011292, 2.162620, -0.033261, -0.079795 744 | 202, 207, 0.987361, -0.006429, -0.155214, 0.031395, 2.584570, 0.500342, 1.812390 745 | 202, 208, 0.978216, 0.141738, -0.151517, 0.006745, 2.607070, -0.105818, 1.812400 746 | 202, 211, 0.932377, 0.144025, -0.328783, 0.042807, 4.269060, 0.586769, 3.661300 747 | 203, 204, 0.989954, 0.141331, 0.003631, 0.001639, 0.005900, -0.053353, -0.037838 748 | 203, 205, 0.989486, 0.142877, -0.021983, 0.004591, 1.020310, -0.046064, -0.293015 749 | 203, 206, 0.998941, -0.007234, -0.043240, 0.013930, 1.021750, -0.058861, -0.213248 750 | 203, 207, 0.992715, -0.002955, -0.115392, 0.034542, 1.484460, 0.427054, 1.518730 751 | 203, 208, 0.982782, 0.145235, -0.113099, 0.015939, 1.506410, -0.093135, 1.523630 752 | 203, 209, 0.998105, -0.011727, 0.059348, -0.011266, 1.962960, 0.284549, 0.955058 753 | 203, 211, 0.943909, 0.146480, -0.291188, 0.052819, 3.346450, 0.588197, 2.993390 754 | 204, 205, 0.999662, 0.001604, -0.025911, -0.001057, 1.014030, 0.007046, -0.256921 755 | 204, 206, 0.987946, -0.147056, -0.047973, 0.005951, 1.010020, 0.009658, -0.194649 756 | 204, 207, 0.982151, -0.141383, -0.122976, 0.016337, 1.470840, 0.497209, 1.536780 757 | 204, 208, 0.992994, 0.005813, -0.118000, -0.002437, 1.494660, -0.036208, 1.560500 758 | 204, 209, 0.985913, -0.157006, 0.057520, -0.003962, 1.955380, 0.322010, 0.974086 759 | 204, 211, 0.954274, 0.012949, -0.298513, 0.009138, 3.315860, 0.644075, 3.018080 760 | 205, 206, 0.988543, -0.149263, -0.022247, 0.002808, -0.014245, 0.063351, 0.008407 761 | 205, 207, 0.984968, -0.142391, -0.096895, 0.013190, 0.423920, 0.513167, 1.589440 762 | 205, 208, 0.995807, 0.004869, -0.091343, -0.001415, 0.446433, -0.037934, 1.628000 763 | 205, 209, 0.985296, -0.149491, 0.082322, -0.008152, 1.007870, 0.484577, 1.387760 764 | 205, 211, 0.961774, 0.011596, -0.273412, 0.010089, 2.319730, 0.620851, 2.706730 765 | 206, 207, 0.997175, 0.005106, -0.071822, 0.021409, 0.439455, 0.444799, 1.584040 766 | 206, 208, 0.985790, 0.153125, -0.068412, 0.009487, 0.464641, -0.098935, 1.602450 767 | 206, 209, 0.994532, -0.005236, 0.101035, -0.025887, 1.017700, 0.395922, 1.370080 768 | 206, 210, 0.967614, 0.004083, -0.239555, 0.079494, 2.360960, 1.398640, 2.420940 769 | 206, 211, 0.955138, 0.155026, -0.247689, 0.048258, 2.348610, 0.560758, 2.690170 770 | 207, 208, 0.988921, 0.148332, 0.005693, -0.000976, 0.006885, -0.060017, -0.037423 771 | 207, 209, 0.984118, -0.007076, 0.171093, -0.046790, 0.039801, 0.016866, 0.045984 772 | 207, 210, 0.983857, -0.001361, -0.169356, 0.057810, 2.525830, 0.933368, 0.788551 773 | 207, 211, 0.972016, 0.152159, -0.174941, 0.037779, 2.511950, 0.621682, 0.997788 774 | 208, 209, 0.972809, -0.153931, 0.171888, -0.020050, 0.034258, 0.079172, 0.067549 775 | 208, 210, 0.972114, -0.144255, -0.181727, 0.034070, 2.504330, 1.026930, 0.806174 776 | 208, 211, 0.982755, 0.005725, -0.184483, 0.011179, 2.493560, 0.675969, 1.028530 777 | 209, 210, 0.936783, 0.007279, -0.334045, 0.103917, 2.526780, 0.911281, 0.730203 778 | 209, 211, 0.923940, 0.154435, -0.345181, 0.057755, 2.515660, 0.617506, 0.932525 779 | 209, 212, 0.980254, 0.168397, -0.101256, 0.022185, 2.708810, 0.660296, -0.321713 780 | 209, 213, 0.991841, 0.012835, -0.117784, 0.047046, 2.734460, 0.635715, -0.387433 781 | 210, 211, 0.987994, 0.154332, 0.000475, 0.006957, 0.003795, -0.064895, -0.043783 782 | 210, 212, 0.956383, 0.150870, 0.248704, -0.026765, 0.051818, -0.074433, 0.035715 783 | 210, 213, 0.973303, 0.000144, 0.222487, -0.056402, 0.050886, 0.012433, 0.065278 784 | 211, 212, 0.968198, 0.000125, 0.250134, 0.005132, 0.071769, -0.006418, 0.076969 785 | 211, 213, 0.961401, -0.151783, 0.227762, -0.028180, 0.068624, 0.086138, 0.085342 786 | 212, 213, 0.987653, -0.155156, -0.020960, 0.005337, 0.002067, 0.069402, 0.007980 787 | 212, 214, 0.998410, 0.001396, 0.056012, 0.006196, 1.254030, 0.014490, -0.148197 788 | 212, 215, 0.987827, -0.149286, 0.043709, 0.000686, 1.250490, 0.044903, -0.101708 789 | 213, 214, 0.984392, 0.157037, 0.079091, -0.007552, 1.232670, -0.040523, -0.176519 790 | 213, 215, 0.997878, 0.006232, 0.063317, -0.013808, 1.245440, -0.019716, -0.111624 791 | 214, 215, 0.988333, -0.151743, -0.012838, 0.002609, -0.006108, 0.056689, 0.017830 792 | 214, 216, 0.989224, -0.145391, 0.016643, -0.004434, 1.122650, 0.015156, -0.153442 793 | 214, 217, 0.999836, 0.002231, 0.017823, -0.002358, 1.120910, 0.002320, -0.185122 794 | 214, 218, 0.999827, 0.005849, 0.013808, -0.011024, 2.402990, -0.018919, -0.264357 795 | 214, 219, 0.988901, -0.147584, 0.012634, -0.011598, 2.421040, -0.063148, -0.230815 796 | 215, 216, 0.999551, 0.005528, 0.027339, -0.010980, 1.131300, -0.047160, -0.168491 797 | 215, 217, 0.987567, 0.154124, 0.030101, -0.007216, 1.124110, -0.044772, -0.216922 798 | 215, 218, 0.986566, 0.159879, 0.030289, -0.014451, 2.367050, -0.048254, -0.300656 799 | 215, 219, 0.999550, 0.007431, 0.023291, -0.017376, 2.422340, -0.096705, -0.247906 800 | 216, 217, 0.989110, 0.147178, 0.000434, -0.000167, -0.000001, -0.059476, -0.042021 801 | 216, 218, 0.988472, 0.151037, -0.007348, -0.007545, 1.298290, -0.059046, -0.128725 802 | 216, 219, 0.999963, 0.001660, -0.005291, -0.006593, 1.300880, -0.035596, -0.088715 803 | 216, 220, 0.999848, 0.004633, -0.006442, -0.015548, 2.338480, -0.031560, -0.059654 804 | 216, 221, 0.988876, 0.147449, -0.008680, -0.017552, 2.379170, -0.109479, -0.093647 805 | 217, 218, 0.999929, 0.003361, -0.007138, -0.008888, 1.303050, -0.003736, -0.088081 806 | 217, 219, 0.989353, -0.145212, -0.006054, -0.007565, 1.312390, 0.035260, -0.062262 807 | 217, 220, 0.989416, -0.144003, -0.006400, -0.016652, 2.354890, 0.027099, -0.033273 808 | 217, 221, 0.999809, 0.002097, -0.003182, -0.019193, 2.359950, -0.037840, -0.063250 809 | 218, 219, 0.988774, -0.149383, 0.003130, -0.000064, 0.003985, 0.060129, 0.028539 810 | 218, 220, 0.988636, -0.150025, -0.000978, -0.009545, 1.075300, 0.062857, 0.059744 811 | 218, 221, 0.999944, -0.001536, 0.001287, -0.010405, 1.077180, -0.009742, 0.034773 812 | 218, 222, 0.999841, -0.004384, 0.015021, -0.008499, 2.262000, 0.000711, 0.060217 813 | 218, 223, 0.988060, -0.153238, 0.012531, -0.009901, 2.270340, 0.080723, 0.082396 814 | 219, 220, 0.999947, -0.000548, -0.005964, -0.008380, 1.073410, 0.004693, 0.034510 815 | 219, 221, 0.988979, 0.147663, -0.004217, -0.009950, 1.077230, -0.059672, -0.006842 816 | 219, 222, 0.989164, 0.146130, 0.010199, -0.009806, 2.255870, -0.040248, 0.022136 817 | 219, 223, 0.999908, -0.004780, 0.007108, -0.010499, 2.268600, 0.016301, 0.060358 818 | 220, 221, 0.988949, 0.148247, 0.001105, -0.000790, -0.000382, -0.052345, -0.041138 819 | 220, 222, 0.989259, 0.145291, 0.016004, -0.000396, 1.174880, -0.048003, 0.015772 820 | 220, 223, 0.999886, -0.003705, 0.014487, -0.002188, 1.183070, 0.019011, 0.054502 821 | 220, 224, 0.999642, -0.010527, 0.024386, -0.003133, 2.443260, -0.017587, -0.089417 822 | 220, 225, 0.990055, 0.138649, 0.023826, -0.000504, 2.456670, -0.041760, -0.125342 823 | 221, 222, 0.999893, -0.003421, 0.014072, 0.002117, 1.180980, 0.001368, 0.054855 824 | 221, 223, 0.988447, -0.150970, 0.013418, 0.000425, 1.185580, 0.087219, 0.076366 825 | 221, 224, 0.987592, -0.155407, 0.022592, 0.000652, 2.461630, 0.065353, -0.072431 826 | 221, 225, 0.999721, -0.009095, 0.021568, 0.003254, 2.466940, 0.015512, -0.086806 827 | 222, 223, 0.988934, -0.148355, -0.000256, 0.000130, 0.000477, 0.064088, 0.024540 828 | 222, 224, 0.987651, -0.156479, 0.007719, 0.000572, 1.278450, 0.020423, -0.086217 829 | 222, 225, 0.999930, -0.006857, 0.009534, 0.001167, 1.268090, 0.002113, -0.120944 830 | 223, 224, 0.999949, -0.005282, 0.008580, -0.000630, 1.272750, -0.023450, -0.114580 831 | 223, 225, 0.989881, 0.141553, 0.009881, -0.000010, 1.266480, -0.052485, -0.160593 832 | 224, 225, 0.988944, 0.148290, 0.000362, -0.000354, 0.001102, -0.051877, -0.041602 833 | 224, 226, 0.988863, 0.146371, 0.026843, -0.002183, 1.395120, -0.041473, -0.173309 834 | 224, 227, 0.999658, -0.001714, 0.025505, -0.005516, 1.399190, -0.030148, -0.128318 835 | 224, 228, 0.999045, -0.006807, 0.041867, -0.010507, 2.638830, -0.037472, -0.150341 836 | 225, 226, 0.999630, -0.002509, 0.027032, 0.001789, 1.392760, 0.006271, -0.136506 837 | 225, 227, 0.988690, -0.147718, 0.025835, -0.001780, 1.399800, 0.047070, -0.106651 838 | 226, 227, 0.988954, -0.148222, -0.000135, 0.000117, -0.000943, 0.058674, 0.025128 839 | 226, 228, 0.987879, -0.154686, 0.012856, -0.001413, 1.276730, 0.057509, 0.059700 840 | 226, 229, 0.999846, -0.003346, 0.017245, -0.000374, 1.258190, 0.005622, 0.025168 841 | 226, 230, 0.999206, -0.001476, -0.039697, -0.003189, 2.395050, -0.004851, 0.146628 842 | 226, 231, 0.985060, -0.166001, -0.045818, -0.000677, 2.415370, 0.044184, 0.215539 843 | 226, 232, 0.984709, -0.158211, -0.072914, 0.001417, 3.336530, 0.153235, 0.439188 844 | 226, 233, 0.996521, -0.002121, -0.082994, -0.007317, 3.397920, -0.015542, 0.471181 845 | 227, 228, 0.999899, -0.004934, 0.012912, -0.003346, 1.274250, 0.010042, 0.032345 846 | 227, 229, 0.989390, 0.144282, 0.016840, -0.002677, 1.259550, -0.047835, -0.013134 847 | 227, 230, 0.988837, 0.143199, -0.041020, 0.003508, 2.408020, -0.078313, 0.113474 848 | 227, 231, 0.998863, -0.020983, -0.042379, 0.006063, 2.397580, -0.034607, 0.194440 849 | 227, 232, 0.997182, -0.009719, -0.073300, 0.012677, 3.349430, 0.100897, 0.419346 850 | 227, 233, 0.986260, 0.144008, -0.080791, 0.005150, 3.385950, -0.075507, 0.426599 851 | 228, 229, 0.988985, 0.148013, 0.001122, -0.000556, 0.004139, -0.055201, -0.041226 852 | 228, 230, 0.987166, 0.149264, -0.056495, 0.005595, 1.163720, -0.060923, -0.062577 853 | 228, 231, 0.998246, -0.007549, -0.057968, 0.009399, 1.154180, -0.013238, -0.003473 854 | 228, 232, 0.994956, -0.007443, -0.098182, 0.019149, 2.201970, 0.033069, 0.198705 855 | 228, 233, 0.983865, 0.146814, -0.101898, 0.008444, 2.205750, -0.071651, 0.166186 856 | 228, 234, 0.984650, 0.148038, -0.092307, 0.005264, 3.219460, -0.064318, 0.258969 857 | 228, 235, 0.995623, -0.005512, -0.091221, 0.019568, 3.215490, 0.071438, 0.296740 858 | 229, 230, 0.998355, 0.002147, -0.057238, -0.002574, 1.150450, -0.000912, -0.022290 859 | 229, 231, 0.986017, -0.155369, -0.060250, 0.001270, 1.149830, 0.051012, 0.019124 860 | 229, 232, 0.982890, -0.153508, -0.101691, 0.004659, 2.197160, 0.106510, 0.220126 861 | 229, 233, 0.994780, 0.000228, -0.101831, -0.006616, 2.185240, -0.011168, 0.200585 862 | 229, 234, 0.995696, -0.000577, -0.092289, -0.008454, 3.205160, -0.018316, 0.289618 863 | 229, 235, 0.983557, -0.153825, -0.094422, 0.006132, 3.213860, 0.128410, 0.313754 864 | 230, 231, 0.987597, -0.156897, -0.002691, -0.005368, -0.005663, 0.073877, 0.029922 865 | 230, 232, 0.986771, -0.155925, -0.044333, -0.001974, 1.044990, 0.101714, 0.136469 866 | 230, 233, 0.998987, -0.002197, -0.044758, -0.004223, 1.037900, -0.003611, 0.119477 867 | 230, 234, 0.999364, -0.002784, -0.035009, -0.006124, 2.053430, -0.006512, 0.230487 868 | 230, 235, 0.987433, -0.153116, -0.039121, -0.000584, 2.071160, 0.147689, 0.254562 869 | 231, 232, 0.999143, -0.000377, -0.040168, 0.010007, 1.051050, 0.020863, 0.108398 870 | 231, 233, 0.987183, 0.153805, -0.041741, 0.008476, 1.044840, -0.068688, 0.068484 871 | 231, 234, 0.987437, 0.155034, -0.030045, 0.005396, 2.040740, -0.057992, 0.178713 872 | 231, 235, 0.999400, 0.001646, -0.032985, 0.010478, 2.062400, 0.059636, 0.222554 873 | 232, 233, 0.988075, 0.153890, -0.001007, 0.004929, -0.002043, -0.067185, -0.044630 874 | 232, 234, 0.988041, 0.153865, 0.009903, 0.001764, 0.998037, -0.063104, 0.087354 875 | 232, 235, 0.999973, 0.001612, 0.007099, 0.000589, 1.010920, 0.035396, 0.128181 876 | 232, 236, 0.998666, 0.007485, 0.049879, -0.011052, 2.163860, -0.003428, -0.036965 877 | 232, 237, 0.985808, 0.159818, 0.051214, -0.004270, 2.144030, -0.037588, -0.071354 878 | 233, 234, 0.999949, -0.000886, 0.009834, -0.001952, 1.012980, -0.002271, 0.130942 879 | 233, 235, 0.988281, -0.152455, 0.006890, -0.003352, 1.022560, 0.111922, 0.150899 880 | 233, 236, 0.987924, -0.145411, 0.052755, -0.008900, 2.167090, 0.079619, -0.025440 881 | 233, 237, 0.998579, 0.004497, 0.053076, -0.001698, 2.152340, 0.017611, -0.028041 882 | 234, 235, 0.988251, -0.152833, -0.000961, -0.000297, -0.002615, 0.065306, 0.024858 883 | 234, 236, 0.987936, -0.148534, 0.043395, -0.006018, 1.139650, 0.040011, -0.044081 884 | 234, 237, 0.999012, 0.003549, 0.044297, 0.000059, 1.121230, 0.004851, -0.068534 885 | 234, 238, 0.998952, 0.004823, 0.045353, -0.003952, 2.256740, 0.000232, -0.081078 886 | 234, 239, 0.988509, -0.145702, 0.039035, -0.009828, 2.295090, 0.029340, -0.042205 887 | 235, 236, 0.999005, 0.004996, 0.042656, -0.012059, 1.140860, -0.018538, -0.068743 888 | 235, 237, 0.986702, 0.156072, 0.044983, -0.006025, 1.117680, -0.050661, -0.110377 889 | 235, 238, 0.986563, 0.157891, 0.040909, -0.009526, 2.287040, -0.051647, -0.109808 890 | 235, 239, 0.999292, 0.008128, 0.033798, -0.014367, 2.327750, -0.025343, -0.055725 891 | 236, 237, 0.988554, 0.150861, -0.001109, -0.000164, -0.006261, -0.055994, -0.040320 892 | 236, 238, 0.988502, 0.151164, -0.000677, -0.003603, 1.127230, -0.058326, -0.049620 893 | 236, 239, 0.999987, 0.002564, -0.002823, -0.003240, 1.135130, -0.004879, -0.005527 894 | 236, 240, 0.999878, 0.002238, -0.015451, -0.000531, 2.143480, 0.043923, 0.151191 895 | 236, 241, 0.988507, 0.150654, -0.012276, -0.002713, 2.122780, -0.051438, 0.110993 896 | 236, 242, 0.988414, 0.146990, -0.037793, -0.001928, 3.052170, -0.073636, 0.111140 897 | 236, 243, 0.999152, -0.001911, -0.040848, 0.004863, 3.079410, 0.020752, 0.154951 898 | 237, 238, 0.999993, 0.000370, 0.000502, -0.003814, 1.138580, -0.002104, -0.010169 899 | 237, 239, 0.989042, -0.147576, -0.001857, -0.003669, 1.147810, 0.066130, 0.015584 900 | 237, 240, 0.988886, -0.147726, -0.016528, -0.003023, 2.170440, 0.116555, 0.174935 901 | 237, 241, 0.999921, -0.001430, -0.011393, -0.005074, 2.136120, -0.005467, 0.147952 902 | 237, 242, 0.999178, -0.003400, -0.039480, -0.008532, 3.088350, -0.016560, 0.159700 903 | 237, 243, 0.986935, -0.155315, -0.042822, -0.001457, 3.108100, 0.065147, 0.182023 904 | 238, 239, 0.988988, -0.147990, -0.000890, -0.000156, 0.002008, 0.070660, 0.022486 905 | 238, 240, 0.988738, -0.148885, -0.015140, 0.000771, 1.020680, 0.108411, 0.148083 906 | 238, 241, 0.999904, -0.001970, -0.013647, -0.001281, 1.012010, -0.001857, 0.130177 907 | 238, 242, 0.999119, -0.004484, -0.041444, -0.004908, 1.965480, -0.008849, 0.082366 908 | 238, 243, 0.987022, -0.154340, -0.044325, 0.001727, 1.990120, 0.065721, 0.115530 909 | 239, 240, 0.999909, -0.001009, -0.013113, 0.002967, 1.012230, 0.037052, 0.125512 910 | 239, 241, 0.989168, 0.146312, -0.011758, 0.001072, 1.002140, -0.060549, 0.088197 911 | 239, 242, 0.988801, 0.143857, -0.039678, 0.001744, 1.955860, -0.066416, 0.042500 912 | 239, 243, 0.999155, -0.002519, -0.040241, 0.007973, 1.969810, 0.025701, 0.083500 913 | 240, 241, 0.988965, 0.148151, 0.000286, 0.000191, 0.000901, -0.053203, -0.041164 914 | 240, 242, 0.988986, 0.145411, -0.027600, 0.000862, 0.963364, -0.055449, -0.145333 915 | 240, 243, 0.999621, -0.002372, -0.027014, 0.004798, 0.964859, -0.030081, -0.099370 916 | 240, 244, 0.999913, -0.008645, 0.005552, 0.008253, 2.342560, -0.018896, -0.200490 917 | 240, 245, 0.990018, 0.140520, 0.006184, 0.008972, 2.333040, -0.002188, -0.240114 918 | 241, 242, 0.999599, -0.002521, -0.027964, -0.003611, 0.963294, -0.000669, -0.103980 919 | 241, 243, 0.988207, -0.150531, -0.028051, 0.000497, 0.965449, 0.032092, -0.075681 920 | 241, 244, 0.988016, -0.154058, 0.003722, 0.008774, 2.344350, 0.066684, -0.180538 921 | 241, 245, 0.999907, -0.009346, 0.004292, 0.008981, 2.335590, 0.037614, -0.205893 922 | 242, 243, 0.989079, -0.147386, 0.000393, -0.000056, -0.000024, 0.069196, 0.023671 923 | 242, 244, 0.987799, -0.152529, 0.030401, 0.008005, 1.401380, 0.086374, -0.018196 924 | 242, 245, 0.999402, -0.007265, 0.031480, 0.012320, 1.387810, 0.014968, -0.039617 925 | 243, 244, 0.999446, -0.006860, 0.032419, 0.003239, 1.387260, 0.003802, -0.040400 926 | 243, 245, 0.989529, 0.140469, 0.032190, 0.007992, 1.389550, -0.042118, -0.079647 927 | 244, 245, 0.989099, 0.147251, 0.000857, -0.000197, 0.000832, -0.057961, -0.040759 928 | 244, 246, 0.988325, 0.148782, 0.032392, -0.005251, 1.228630, -0.061708, 0.032158 929 | 244, 247, 0.999446, 0.002370, 0.031557, -0.010346, 1.222370, 0.031129, 0.075051 930 | 245, 246, 0.999417, 0.002141, 0.034064, -0.000898, 1.212940, 0.000258, 0.073032 931 | 245, 247, 0.989153, -0.143248, 0.031992, -0.005695, 1.223540, 0.111760, 0.095071 932 | 245, 249, 0.999721, 0.002215, 0.023488, -0.001210, 2.323980, -0.005898, 0.075676 933 | 246, 247, 0.988784, -0.149349, -0.001088, -0.000511, 0.005757, 0.056489, 0.025770 934 | 246, 248, 0.988868, -0.147917, -0.016095, 0.001276, 1.130460, 0.056612, 0.010168 935 | 246, 249, 0.999927, 0.000913, -0.012030, -0.000535, 1.127490, 0.002491, -0.022171 936 | 246, 250, 0.999804, -0.000711, -0.019011, -0.005394, 2.216560, -0.011465, 0.016305 937 | 246, 251, 0.986962, -0.158612, -0.027070, -0.003941, 2.224650, 0.073236, 0.069418 938 | 246, 253, 0.999604, 0.005745, -0.027511, 0.001046, 3.426270, 0.068386, -0.042451 939 | 247, 248, 0.999877, 0.000950, -0.015078, 0.004181, 1.129970, -0.003395, -0.013329 940 | 247, 249, 0.988667, 0.149687, -0.011320, 0.001957, 1.125960, -0.048509, -0.062357 941 | 247, 250, 0.988671, 0.148707, -0.020321, -0.001836, 2.226630, -0.057595, -0.019433 942 | 247, 251, 0.999559, -0.011935, -0.027184, 0.000158, 2.227510, -0.005895, 0.048709 943 | 247, 252, 0.999599, -0.009646, -0.025499, 0.007636, 3.397090, 0.006045, -0.042857 944 | 248, 249, 0.988876, 0.148693, 0.003797, 0.000111, -0.000060, -0.051304, -0.039577 945 | 248, 250, 0.989099, 0.147171, -0.003241, -0.003576, 1.083660, -0.054070, -0.016875 946 | 248, 251, 0.999846, -0.012529, -0.011588, -0.004161, 1.092030, 0.009239, 0.035521 947 | 248, 252, 0.999889, -0.008437, -0.011761, 0.003428, 2.279030, 0.021986, -0.043174 948 | 248, 253, 0.988806, 0.148723, -0.011208, 0.004250, 2.290990, -0.029905, -0.082935 949 | 248, 255, 0.999159, 0.002102, -0.039100, 0.012159, 3.331910, 0.046868, 0.121651 950 | 249, 250, 0.999964, -0.001405, -0.006793, -0.004855, 1.087270, -0.001529, 0.022875 951 | 249, 251, 0.987122, -0.159037, -0.016290, -0.005665, 1.106450, 0.087998, 0.055522 952 | 249, 252, 0.987160, -0.158366, -0.020651, 0.002933, 2.316570, 0.070196, -0.032559 953 | 249, 253, 0.999897, 0.000899, -0.014253, 0.001584, 2.281430, 0.028448, -0.051606 954 | 249, 254, 0.999103, 0.002781, -0.042229, -0.001737, 3.313310, 0.022359, 0.128019 955 | 250, 251, 0.987181, -0.159456, -0.006444, -0.002259, -0.000965, 0.069589, 0.019484 956 | 250, 252, 0.987428, -0.157672, -0.009750, 0.005540, 1.204280, 0.046014, -0.059623 957 | 250, 253, 0.999953, 0.001889, -0.007106, 0.006380, 1.190880, 0.013178, -0.090719 958 | 250, 254, 0.999210, 0.002724, -0.039512, 0.003277, 2.267000, 0.006546, 0.035192 959 | 250, 255, 0.988283, -0.145862, -0.043795, 0.010095, 2.314280, 0.070856, 0.073962 960 | 250, 257, 0.999947, -0.001624, -0.008449, 0.005689, 3.430820, 0.011852, -0.184880 961 | 251, 252, 0.999967, 0.002588, -0.000578, 0.007686, 1.192100, -0.017400, -0.082935 962 | 251, 253, 0.986905, 0.160993, -0.000211, 0.010010, 1.198820, -0.048868, -0.129448 963 | 251, 254, 0.986371, 0.160799, -0.032644, 0.012225, 2.275760, -0.062694, -0.000445 964 | 251, 255, 0.999292, 0.015737, -0.029881, 0.016571, 2.270630, 0.016059, 0.035000 965 | 252, 253, 0.987240, 0.159212, 0.001790, 0.002332, 0.004477, -0.057889, -0.042333 966 | 252, 254, 0.986825, 0.158637, -0.031463, 0.004496, 1.085850, -0.069401, 0.006667 967 | 252, 255, 0.999448, 0.012937, -0.029312, 0.008793, 1.077310, 0.007035, 0.046923 968 | 252, 256, 0.999943, 0.010066, -0.003214, 0.001499, 2.270700, -0.021494, -0.085909 969 | 252, 257, 0.987549, 0.157298, -0.001345, 0.001668, 2.257470, -0.043915, -0.134124 970 | 253, 254, 0.999476, 0.000690, -0.032183, -0.003247, 1.071160, -0.002377, 0.048200 971 | 253, 255, 0.988882, -0.145386, -0.031180, 0.001606, 1.063490, 0.081570, 0.066761 972 | 253, 256, 0.988871, -0.148607, -0.006787, -0.001822, 2.281540, 0.051479, -0.061732 973 | 253, 257, 0.999985, -0.002870, -0.004113, -0.002017, 2.264850, 0.005196, -0.094186 974 | 254, 255, 0.989263, -0.146148, 0.000574, -0.000088, -0.003283, 0.070249, 0.022721 975 | 254, 256, 0.988395, -0.149546, 0.026462, -0.003489, 1.200430, 0.051695, -0.054511 976 | 254, 257, 0.999594, -0.003525, 0.028247, 0.001174, 1.190730, 0.004695, -0.081345 977 | 254, 258, 0.999020, -0.003122, 0.044144, -0.000325, 2.209010, 0.007141, -0.359522 978 | 254, 259, 0.987397, -0.152043, 0.043619, -0.005203, 2.209220, -0.052773, -0.325994 979 | 255, 256, 0.999630, -0.003282, 0.026064, -0.007093, 1.193040, -0.017051, -0.077777 980 | 255, 257, 0.989246, 0.143514, 0.028115, -0.002480, 1.186690, -0.048278, -0.121550 981 | 255, 258, 0.988289, 0.145964, 0.044069, -0.006062, 2.200390, -0.027718, -0.393730 982 | 255, 259, 0.999128, -0.002995, 0.040187, -0.010920, 2.223480, -0.096102, -0.344641 983 | 256, 257, 0.989097, 0.147264, 0.000432, 0.000738, 0.001244, -0.053233, -0.040286 984 | 256, 258, 0.988939, 0.147641, 0.013965, -0.002752, 1.038240, -0.047228, -0.278985 985 | 256, 259, 0.999904, 0.001152, 0.013208, -0.004025, 1.042360, -0.062549, -0.230084 986 | 256, 260, 0.999974, 0.004330, 0.004133, 0.004008, 2.215370, -0.044835, -0.251068 987 | 256, 261, 0.988305, 0.152359, 0.003658, 0.005195, 2.211370, -0.016727, -0.293214 988 | 256, 262, 0.977859, 0.147775, -0.147654, 0.012332, 3.431850, -0.101833, 0.428132 989 | 256, 263, 0.989126, 0.007712, -0.142186, 0.036791, 3.435670, 0.102073, 0.443126 990 | 256, 264, 0.987211, 0.008173, -0.147624, 0.059621, 4.332090, 0.170745, 0.164735 991 | 256, 265, 0.975370, 0.157103, -0.150308, 0.037128, 4.306820, 0.086726, 0.151874 992 | 257, 258, 0.999898, 0.000108, 0.014188, -0.001651, 1.036320, 0.003733, -0.240677 993 | 257, 259, 0.989089, -0.146659, 0.013648, -0.002971, 1.039940, -0.004732, -0.210731 994 | 257, 260, 0.989502, -0.144435, 0.003552, 0.003499, 2.212580, 0.003968, -0.233690 995 | 257, 261, 0.999973, 0.004450, 0.003838, 0.004496, 2.201020, 0.030274, -0.259908 996 | 257, 262, 0.989208, 0.001609, -0.146127, -0.010555, 3.407590, -0.053624, 0.453344 997 | 257, 263, 0.979356, -0.139150, -0.145951, 0.014053, 3.423970, 0.151144, 0.458687 998 | 257, 264, 0.977010, -0.139425, -0.157362, 0.035351, 4.336200, 0.211637, 0.194306 999 | 257, 265, 0.986905, 0.010150, -0.160545, 0.011885, 4.339660, 0.120049, 0.214327 1000 | 258, 259, 0.989189, -0.146643, 0.000005, 0.000593, 0.001626, 0.061186, 0.023319 1001 | 258, 260, 0.989589, -0.143418, -0.009759, 0.007019, 1.165140, 0.059749, -0.018207 1002 | 258, 261, 0.999919, 0.004026, -0.010426, 0.006109, 1.160330, 0.008771, -0.040896 1003 | 258, 262, 0.987060, 0.000828, -0.160091, -0.009048, 2.348220, -0.040869, 0.353848 1004 | 258, 263, 0.977310, -0.138322, -0.159447, 0.017589, 2.360340, 0.137215, 0.362689 1005 | 258, 264, 0.974321, -0.135315, -0.175793, 0.038547, 3.320260, 0.175747, 0.101246 1006 | 258, 265, 0.983993, 0.009422, -0.177489, 0.012901, 3.309090, 0.082067, 0.094265 1007 | 259, 260, 0.999927, 0.003076, -0.008529, 0.007995, 1.162980, -0.002352, -0.040643 1008 | 259, 261, 0.988541, 0.150453, -0.009888, 0.007231, 1.163590, -0.043968, -0.079937 1009 | 259, 262, 0.976292, 0.145493, -0.159636, 0.014189, 2.357130, -0.093618, 0.316201 1010 | 259, 263, 0.987065, 0.006366, -0.154991, 0.040504, 2.368180, 0.075795, 0.340507 1011 | 259, 264, 0.983851, 0.008688, -0.167030, 0.063732, 3.323680, 0.112990, 0.074808 1012 | 259, 265, 0.972176, 0.154792, -0.171591, 0.038325, 3.305520, 0.039641, 0.051156 1013 | 260, 261, 0.989178, 0.146717, 0.000042, 0.000617, -0.002096, -0.060530, -0.042291 1014 | 260, 262, 0.978198, 0.143027, -0.150405, 0.007062, 1.237110, -0.073797, 0.008960 1015 | 260, 263, 0.988622, 0.004164, -0.146895, 0.032112, 1.248080, 0.004402, 0.042205 1016 | 260, 264, 0.985672, 0.006226, -0.159230, 0.055300, 2.217490, -0.012357, -0.251173 1017 | 260, 265, 0.973940, 0.152987, -0.164446, 0.031511, 2.213220, 0.017590, -0.286171 1018 | 260, 267, 0.932562, -0.007875, -0.343004, 0.112313, 3.229200, 0.283167, 0.724609 1019 | 261, 262, 0.988605, -0.002309, -0.149687, -0.015755, 1.227960, -0.015845, 0.049236 1020 | 261, 263, 0.978496, -0.141207, -0.150047, 0.009544, 1.238960, 0.071186, 0.064912 1021 | 261, 264, 0.975859, -0.138755, -0.165881, 0.030475, 2.206770, 0.053537, -0.227736 1022 | 261, 265, 0.985847, 0.006182, -0.167416, 0.006219, 2.202270, 0.059027, -0.249694 1023 | 261, 266, 0.932683, -0.003455, -0.360679, 0.001233, 3.195290, 0.024344, 0.771018 1024 | 261, 267, 0.920862, -0.145206, -0.356915, 0.059497, 3.210060, 0.343657, 0.744346 1025 | 262, 263, 0.990016, -0.140894, 0.000593, 0.004187, 0.009049, 0.064701, 0.015430 1026 | 262, 264, 0.989416, -0.142049, -0.015665, 0.025155, 0.981530, -0.011217, -0.308681 1027 | 262, 265, 0.999536, 0.004749, -0.019485, 0.022926, 0.988061, 0.018804, -0.342672 1028 | 262, 266, 0.975818, -0.007381, -0.217857, 0.016240, 2.110400, -0.004591, 0.209218 1029 | 262, 267, 0.963129, -0.155997, -0.212805, 0.052557, 2.120960, 0.139572, 0.214740 1030 | 262, 275, 0.967741, -0.142207, -0.205246, 0.033597, 2.312610, 1.117090, 3.924210 1031 | 263, 264, 0.999641, -0.001236, -0.013435, 0.023146, 0.978064, -0.077032, -0.325283 1032 | 263, 265, 0.988908, 0.146155, -0.015621, 0.021366, 0.974766, -0.035179, -0.375253 1033 | 263, 267, 0.975718, -0.017124, -0.203769, 0.078485, 2.123410, 0.079593, 0.198236 1034 | 263, 275, 0.978198, -0.003674, -0.199377, 0.058004, 2.316130, 1.051120, 3.909600 1035 | 264, 265, 0.989158, 0.146854, 0.000495, 0.000220, 0.001664, -0.060593, -0.042553 1036 | 264, 266, 0.970160, 0.136825, -0.198922, 0.022328, 1.095140, -0.065867, 0.105197 1037 | 264, 267, 0.979818, -0.012233, -0.191531, 0.055877, 1.098290, 0.045717, 0.132564 1038 | 264, 275, 0.981926, 0.001591, -0.185934, 0.035317, 1.282640, 1.056750, 3.854260 1039 | 265, 266, 0.979697, -0.007114, -0.200225, -0.007245, 1.075840, -0.004649, 0.141678 1040 | 265, 267, 0.967246, -0.155939, -0.198476, 0.026954, 1.082530, 0.115125, 0.149637 1041 | 265, 275, 0.971162, -0.143540, -0.190241, 0.007044, 1.271570, 1.118480, 3.870550 1042 | 266, 267, 0.988255, -0.152764, 0.000712, 0.003850, 0.005615, 0.069082, 0.016699 1043 | 266, 268, 0.979800, -0.140844, -0.140666, 0.019165, 1.018490, 0.058250, -0.023239 1044 | 266, 269, 0.986525, 0.016209, -0.162789, -0.002120, 1.008620, -0.000592, -0.006146 1045 | 266, 270, 0.983768, 0.013677, -0.178873, -0.004253, 2.107660, -0.006276, 0.115470 1046 | 266, 274, 0.999806, 0.012808, 0.011224, -0.009884, 0.184737, -0.088824, 3.881070 1047 | 266, 275, 0.990611, -0.135764, 0.009915, -0.012667, 0.188400, 1.122270, 3.755140 1048 | 267, 268, 0.989788, 0.010807, -0.137282, 0.036828, 1.022310, -0.011981, -0.040590 1049 | 267, 269, 0.972325, 0.167185, -0.162107, 0.018829, 1.016350, -0.061407, -0.044264 1050 | 267, 270, 0.969822, 0.165292, -0.178271, 0.018504, 2.115350, -0.061994, 0.078562 1051 | 267, 274, 0.986063, 0.165430, 0.008847, -0.015338, 0.177162, -0.147529, 3.839900 1052 | 267, 275, 0.999674, 0.017145, 0.006635, -0.017694, 0.180253, 1.053650, 3.735140 1053 | 268, 269, 0.987164, 0.158286, -0.020937, 0.003920, -0.006881, -0.064485, -0.045985 1054 | 268, 270, 0.986938, 0.156549, -0.037880, 0.003348, 1.096490, -0.061776, 0.043296 1055 | 268, 271, 0.999527, 0.010392, -0.028344, 0.005876, 1.099890, 0.014339, 0.063842 1056 | 268, 272, 0.961923, 0.011936, -0.263476, 0.071703, 2.619350, 0.183657, 0.719011 1057 | 268, 275, 0.988056, 0.007864, 0.144806, -0.052096, -0.782542, 1.162970, 4.064470 1058 | 269, 270, 0.999859, -0.001985, -0.016399, -0.003026, 1.100260, 0.000718, 0.088035 1059 | 269, 271, 0.988998, -0.147665, -0.008467, -0.002356, 1.110130, 0.091530, 0.088598 1060 | 269, 272, 0.957238, -0.140994, -0.251310, 0.025667, 2.605320, 0.257961, 0.742614 1061 | 269, 273, 0.968434, 0.001647, -0.249011, -0.011258, 2.608540, -0.027088, 0.728327 1062 | 269, 274, 0.984660, -0.001941, 0.174393, -0.005394, -0.763340, -0.076734, 4.229540 1063 | 269, 275, 0.973362, -0.147941, 0.172115, -0.032499, -0.760028, 1.238860, 4.087310 1064 | 270, 271, 0.989210, -0.146228, 0.008875, -0.001626, 0.003505, 0.068090, 0.022929 1065 | 270, 272, 0.961043, -0.141204, -0.236072, 0.026973, 1.674890, 0.099186, 0.180619 1066 | 270, 273, 0.972068, 0.002842, -0.234551, -0.007784, 1.676690, -0.010494, 0.153562 1067 | 270, 274, 0.981661, 0.000599, 0.190611, -0.002946, -1.816920, -0.071278, 4.556410 1068 | 271, 272, 0.969311, 0.001223, -0.237442, 0.063689, 1.687530, 0.035060, 0.159158 1069 | 271, 273, 0.959055, 0.144219, -0.242127, 0.028099, 1.695610, -0.070847, 0.115111 1070 | 271, 274, 0.972577, 0.144856, 0.179604, -0.029217, -1.837570, -0.127202, 4.523610 1071 | 271, 275, 0.983164, -0.001289, 0.173746, -0.056564, -1.834870, 1.275470, 4.377000 1072 | 272, 273, 0.989114, 0.147132, 0.002293, 0.000034, 0.006259, -0.060845, -0.041268 1073 | 274, 275, 0.988896, -0.148602, 0.000352, -0.001216, -0.000488, 0.065487, 0.018779 1074 | -------------------------------------------------------------------------------- /slam_tutorial/data/initial_poses.csv: -------------------------------------------------------------------------------- 1 | 0, 1.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000 2 | 1, 0.987383, -0.157967, 0.011000, 0.000429, 0.002774, 0.072733, 0.034876 3 | 2, 0.988921, 0.148418, 0.002620, 0.000498, 0.007340, 0.030627, -0.025935 4 | 3, 0.962742, -0.145776, 0.226320, -0.025618, -1.082510, -0.435961, 0.752557 5 | 4, 0.950384, -0.148409, -0.271818, 0.029336, 1.525530, -0.310588, 1.203260 6 | 5, 0.999871, 0.001501, -0.015985, 0.000033, 1.087240, -0.000941, 0.158052 7 | 6, 0.988207, -0.152094, -0.017225, 0.004213, 1.086660, 0.125640, 0.178123 8 | 7, 0.987413, -0.156873, 0.019812, -0.003679, 1.988380, 0.056329, 0.071263 9 | 8, 0.999744, 0.000313, 0.022494, -0.002391, 1.973620, -0.007095, 0.049869 10 | 9, 0.999584, 0.002711, 0.028416, -0.004077, 2.838719, -0.001637, 0.024915 11 | 10, 0.986053, -0.163291, 0.028397, -0.015138, 2.828501, 0.008920, 0.054197 12 | 11, 0.987261, -0.158477, 0.013848, -0.003032, 3.787225, 0.061882, 0.134072 13 | 12, 0.999896, 0.003399, 0.013290, -0.004434, 3.785436, 0.035791, 0.081807 14 | 13, 0.999485, 0.007993, 0.030999, -0.001901, 4.717825, 0.020000, 0.090090 15 | 14, 0.987267, -0.156305, 0.029142, 0.004889, 4.734741, 0.056230, 0.117771 16 | 15, 0.987334, -0.157226, 0.020934, -0.003683, 5.701466, 0.062535, 0.146697 17 | 16, 0.999663, 0.003842, 0.024562, -0.007375, 5.679881, 0.044334, 0.086133 18 | 17, 0.998892, 0.007646, 0.046348, -0.002649, 6.625543, 0.033553, 0.109867 19 | 18, 0.987879, -0.149026, 0.043400, 0.001382, 6.638926, 0.086318, 0.138704 20 | 19, 0.986936, -0.158621, 0.026781, -0.009005, 7.510689, 0.052257, 0.247152 21 | 20, 0.999620, 0.000312, 0.024881, -0.011871, 7.523980, 0.011145, 0.193712 22 | 21, 0.999538, 0.002610, 0.030014, -0.004102, 8.413233, 0.049449, 0.252705 23 | 22, 0.987729, -0.153763, 0.026258, 0.007595, 8.423466, 0.099007, 0.280946 24 | 23, 0.987269, -0.157972, 0.013349, -0.012979, 9.437891, 0.046061, 0.278433 25 | 24, 0.999764, -0.004791, 0.009853, -0.018771, 9.450453, 0.026128, 0.222670 26 | 25, 0.999264, 0.009940, 0.036629, -0.005575, 10.417958, 0.094002, 0.271574 27 | 26, 0.986720, -0.157428, 0.039763, -0.004298, 10.443458, 0.119002, 0.275702 28 | 27, 0.985335, -0.164704, 0.041918, -0.015227, 11.488409, 0.102192, 0.239076 29 | 28, 0.998488, 0.006649, 0.054483, -0.003008, 11.427452, 0.107048, 0.318674 30 | 29, 0.999005, 0.005208, 0.043864, -0.006086, 12.405828, 0.116187, 0.331689 31 | 30, 0.998570, 0.005798, 0.052852, -0.005610, 12.335537, 0.116948, 0.238648 32 | 31, 0.986382, -0.163076, 0.019587, -0.008628, 13.360458, 0.130423, 0.209416 33 | 32, 0.987367, -0.154692, 0.034323, -0.000062, 12.449362, 0.167203, 0.382175 34 | 33, 0.999072, -0.003632, 0.038206, -0.019617, 14.811030, 0.039783, 0.376366 35 | 34, 0.985391, -0.165451, 0.036615, -0.017113, 14.814629, 0.136156, 0.450653 36 | 35, 0.983270, -0.167118, -0.065173, 0.031726, 15.660948, 0.132021, 0.924434 37 | 36, 0.996598, -0.005967, -0.080583, 0.016291, 15.646933, -0.112019, 0.872742 38 | 37, 0.975543, -0.007532, -0.211313, 0.060060, 16.114095, -0.352728, 1.602589 39 | 38, 0.962475, -0.160503, -0.196120, 0.097054, 16.104036, 0.111857, 1.737696 40 | 39, 0.925912, -0.153772, -0.342070, 0.045069, 16.965180, 0.517381, 1.533328 41 | 40, 0.937161, -0.015055, -0.347913, -0.021483, 16.989815, 0.116281, 1.552370 42 | 41, 0.897079, 0.002473, -0.438175, 0.056997, 17.552636, -0.530215, 1.186043 43 | 42, 0.882268, -0.152487, -0.441623, 0.057638, 17.580076, -0.397872, 1.197719 44 | 43, 0.825364, -0.188798, -0.515666, 0.131225, 18.485457, 0.563734, 0.652686 45 | 44, 0.839395, -0.037283, -0.519268, 0.156174, 18.449367, 0.430971, 0.597080 46 | 45, 0.751957, 0.028049, -0.654256, 0.075659, 19.471132, -0.807549, -0.301909 47 | 46, 0.743629, -0.122307, -0.655767, 0.045038, 19.504487, -0.564284, -0.318366 48 | 47, 0.757899, -0.104286, -0.626433, 0.149325, 19.408196, -0.074772, -1.642797 49 | 48, 0.764586, 0.032774, -0.607508, 0.212769, 19.374044, -0.092660, -1.646127 50 | 49, 0.756165, 0.035211, -0.613100, 0.226024, 19.722625, -0.329122, -2.787635 51 | 50, 0.748600, -0.086665, -0.643979, 0.131837, 19.804939, -0.223639, -2.787221 52 | 51, 0.730391, -0.082242, -0.665534, 0.129738, 20.088929, -0.381554, -4.017754 53 | 52, 0.745566, 0.047222, -0.629226, 0.214425, 19.922281, -0.827588, -3.962502 54 | 53, 0.739742, 0.073703, -0.634172, 0.212557, 20.141208, -1.355883, -5.089526 55 | 54, 0.758272, -0.056783, -0.638281, 0.119988, 20.073017, -0.494207, -5.327158 56 | 55, 0.757050, -0.031382, -0.638638, 0.134295, 20.074427, -1.718330, -5.999400 57 | 56, 0.748803, 0.081692, -0.614704, 0.234012, 19.946667, -1.624906, -6.099268 58 | 57, 0.761584, 0.087716, -0.583197, 0.268664, 20.238503, -1.906140, -7.609684 59 | 58, 0.777467, -0.026477, -0.607359, 0.161130, 20.235542, -1.925874, -7.625070 60 | 59, 0.753130, 0.043216, -0.628458, 0.189661, 20.510167, -2.481051, -8.611791 61 | 60, 0.738956, 0.158332, -0.596847, 0.269540, 20.479641, -2.538036, -8.580638 62 | 61, 0.763592, 0.130727, -0.573172, 0.267047, 20.834598, -2.961954, -9.686624 63 | 62, 0.774666, 0.020831, -0.609064, 0.168822, 20.893518, -2.864712, -9.712503 64 | 63, 0.715164, -0.036315, -0.690831, 0.099884, 22.139056, -2.859452, -10.131215 65 | 64, 0.737594, 0.076203, -0.642936, 0.191789, 21.980814, -3.290550, -10.083999 66 | 65, 0.780442, 0.115036, -0.584129, 0.190981, 21.943655, -4.093076, -10.780718 67 | 66, 0.784407, -0.001135, -0.611768, 0.102210, 22.005944, -3.848378, -10.969376 68 | 67, 0.758208, -0.135827, -0.616894, 0.161606, 22.494447, -4.481352, -12.251374 69 | 68, 0.765955, -0.024708, -0.588470, 0.257701, 22.408015, -4.584532, -12.239449 70 | 69, 0.765789, 0.012384, -0.608181, 0.208648, 22.888056, -5.231176, -12.939223 71 | 70, 0.778552, -0.113319, -0.606133, 0.116711, 22.914991, -5.125923, -12.975304 72 | 71, 0.760623, -0.113216, -0.620819, 0.152391, 23.137815, -5.574346, -14.169809 73 | 72, 0.753522, 0.006128, -0.606507, 0.253613, 22.993529, -5.426286, -14.352238 74 | 73, 0.762177, 0.012886, -0.609081, 0.218963, 23.338051, -6.109990, -15.332069 75 | 74, 0.755951, -0.102041, -0.634207, 0.126137, 23.386404, -6.073087, -15.352964 76 | 75, 0.748495, -0.111427, -0.641321, 0.126690, 23.653552, -5.833352, -16.869117 77 | 76, 0.761261, 0.005533, -0.611012, 0.217071, 23.625078, -5.852774, -16.838451 78 | 77, 0.768992, -0.014973, -0.605288, 0.205082, 23.742682, -7.038896, -17.961445 79 | 78, 0.755734, -0.129957, -0.632436, 0.109570, 23.834822, -5.890882, -18.195865 80 | 79, 0.734981, -0.115843, -0.655769, 0.127884, 23.892374, -6.003641, -19.643062 81 | 80, 0.754942, 0.002913, -0.620796, 0.211354, 23.882384, -6.771476, -19.427553 82 | 81, 0.749407, -0.021160, -0.627942, 0.208888, 23.966150, -7.759137, -20.619628 83 | 82, 0.732605, -0.145450, -0.653969, 0.120260, 23.998981, -6.037497, -20.968076 84 | 83, 0.740109, -0.109680, -0.653655, 0.113786, 23.940847, -8.016276, -21.687463 85 | 84, 0.744696, -0.015191, -0.630825, 0.217397, 23.859030, -6.060989, -22.067665 86 | 85, 0.760517, 0.003002, -0.609714, 0.223289, 23.957832, -8.299043, -22.969022 87 | 86, 0.750870, -0.107677, -0.640067, 0.122139, 24.000292, -8.048327, -23.022503 88 | 87, 0.764878, -0.118950, -0.622821, 0.113630, 24.207017, -8.655693, -24.098978 89 | 88, 0.775780, -0.010129, -0.596045, 0.206875, 24.152752, -8.720719, -24.072516 90 | 89, 0.803973, -0.003134, -0.563740, 0.189260, 24.331156, -8.722860, -25.479579 91 | 90, 0.791034, -0.115986, -0.593488, 0.092676, 24.393497, -8.714713, -25.489083 92 | 91, 0.764029, -0.124289, -0.626640, 0.090216, 24.739266, -8.976296, -26.441388 93 | 92, 0.777414, -0.003037, -0.605437, 0.170497, 24.694244, -9.052096, -26.428466 94 | 93, 0.764531, 0.019356, -0.609948, 0.207572, 25.193270, -9.375030, -27.381792 95 | 94, 0.756342, -0.108499, -0.632186, 0.128528, 25.235185, -9.249753, -27.422370 96 | 95, 0.767328, -0.071954, -0.625953, 0.119239, 25.347274, -9.731641, -28.502939 97 | 96, 0.771375, 0.038936, -0.598389, 0.213075, 25.306256, -9.761689, -28.495527 98 | 97, 0.789582, 0.106970, -0.585058, 0.151098, 25.531685, -9.948086, -29.638702 99 | 98, 0.776718, -0.004306, -0.627050, 0.059196, 25.615616, -9.908654, -29.645022 100 | 99, 0.772538, -0.025594, -0.631012, 0.066032, 25.859362, -9.952541, -30.697864 101 | 100, 0.779687, 0.088747, -0.600329, 0.154345, 25.846762, -10.327457, -30.617884 102 | 101, 0.801827, 0.040979, -0.566820, 0.184704, 26.247003, -10.795277, -31.935055 103 | 102, 0.805918, -0.062002, -0.583513, 0.078563, 26.201054, -10.004852, -32.124834 104 | 103, 0.790428, -0.081054, -0.599106, 0.098651, 26.632166, -11.184182, -33.104917 105 | 104, 0.794653, 0.037876, -0.577550, 0.183126, 26.592109, -11.232337, -33.089382 106 | 105, 0.789423, 0.034502, -0.581540, 0.193489, 26.857379, -11.653954, -34.357683 107 | 106, 0.786001, -0.081839, -0.603818, 0.104472, 26.899233, -11.588782, -34.369118 108 | 107, 0.780701, -0.076752, -0.611157, 0.105391, 27.194561, -12.032754, -35.451815 109 | 108, 0.783999, 0.042361, -0.587927, 0.194677, 27.153254, -12.082214, -35.445008 110 | 109, 0.781910, 0.043691, -0.588971, 0.199566, 27.400087, -12.474849, -36.553842 111 | 110, 0.797014, -0.078718, -0.590014, 0.102287, 27.356736, -12.125655, -36.606714 112 | 111, 0.633435, -0.050797, -0.749906, 0.183915, 28.164230, -13.093126, -38.676315 113 | 112, 0.806664, -0.041894, -0.575377, 0.128390, 28.222160, -13.112096, -38.757274 114 | 113, 0.794386, -0.004057, -0.597747, 0.107878, 29.658978, -13.378169, -39.794013 115 | 114, 0.792875, 0.117015, -0.567086, 0.189937, 29.545294, -13.707894, -39.779522 116 | 115, 0.756521, 0.086496, -0.623383, 0.177739, 30.373342, -13.660206, -40.733387 117 | 116, 0.772199, -0.038855, -0.627892, 0.089189, 30.402987, -13.475293, -40.788729 118 | 117, 0.754896, -0.030223, -0.647464, 0.100073, 30.888722, -13.663657, -41.838806 119 | 118, 0.750451, 0.095012, -0.627912, 0.183107, 30.830177, -13.896355, -41.810656 120 | 119, 0.750233, 0.093508, -0.633967, 0.162779, 31.149763, -14.609628, -42.743950 121 | 120, 0.752953, -0.020888, -0.654213, 0.068092, 31.192884, -14.447508, -42.820676 122 | 121, 0.821014, -0.052066, -0.565194, 0.061530, 31.268113, -14.988436, -43.877206 123 | 122, 0.814122, 0.050652, -0.552404, 0.171735, 31.240566, -15.020311, -43.866313 124 | 123, 0.801116, 0.057245, -0.573046, 0.162969, 31.471704, -15.415067, -44.774736 125 | 124, 0.803598, -0.034838, -0.592732, 0.041111, 31.495748, -14.628773, -45.001263 126 | 125, 0.791637, -0.074580, -0.602819, 0.066061, 32.117560, -15.077773, -46.106408 127 | 126, 0.792869, 0.052971, -0.589334, 0.145752, 32.075507, -15.110679, -46.110582 128 | 127, 0.780322, 0.037451, -0.601253, 0.167912, 32.299491, -16.059679, -46.898278 129 | 128, 0.780130, -0.083644, -0.614811, 0.080078, 32.039662, -16.113631, -46.976570 130 | 129, 0.739566, -0.043987, -0.668537, 0.064571, 32.722009, -16.566442, -47.752179 131 | 130, 0.745348, 0.083554, -0.645929, 0.142325, 32.636323, -16.653507, -47.719554 132 | 131, 0.632523, 0.084506, -0.758630, 0.131365, 33.902957, -16.915332, -48.174242 133 | 132, 0.630799, -0.095217, -0.758660, 0.132159, 33.608556, -15.048960, -48.862739 134 | 133, 0.551876, 0.020148, -0.833614, -0.010904, 33.947625, -17.298712, -49.421427 135 | 134, 0.548473, 0.116738, -0.821742, 0.101455, 33.963458, -17.421138, -49.510885 136 | 135, 0.391034, 0.086405, -0.906483, 0.133862, 33.552477, -17.384232, -50.398829 137 | 136, 0.392817, -0.079812, -0.897444, 0.184187, 33.897964, -15.259127, -51.108182 138 | 137, 0.354357, -0.030074, -0.933965, 0.035208, 33.258295, -17.314199, -51.293536 139 | 138, 0.338181, 0.074409, -0.928096, 0.136886, 33.225317, -17.395420, -51.275922 140 | 139, 0.246160, 0.141905, -0.956042, 0.072494, 33.258066, -18.308806, -52.339435 141 | 140, 0.263065, -0.067457, -0.961094, 0.050491, 33.146399, -17.180267, -52.392437 142 | 141, 0.179887, 0.008324, -0.983630, -0.006982, 31.748047, -18.007549, -52.743633 143 | 142, 0.173633, 0.094885, -0.973794, 0.112154, 31.763565, -18.148729, -52.690621 144 | 143, 0.188672, -0.006487, -0.965441, 0.179690, 30.981646, -17.266173, -53.367540 145 | 144, 0.192822, -0.083024, -0.976480, 0.049171, 31.007125, -17.203217, -53.404028 146 | 145, 0.182701, 0.017220, -0.982568, -0.029814, 30.146359, -18.358408, -53.739766 147 | 146, 0.176417, 0.089729, -0.975207, 0.099002, 30.124051, -18.395429, -53.708205 148 | 147, 0.194399, -0.018814, -0.968655, 0.153511, 28.988921, -17.274306, -53.985769 149 | 148, 0.188889, -0.044875, -0.980953, 0.006427, 28.974803, -17.280859, -54.015652 150 | 149, 0.164096, 0.006684, -0.985353, -0.045945, 27.989385, -18.462658, -54.578580 151 | 150, 0.161776, 0.035493, -0.981028, 0.100781, 27.987862, -18.494725, -54.525210 152 | 151, 0.189226, 0.025239, -0.975277, 0.111336, 26.896571, -18.526303, -54.848514 153 | 152, 0.195108, -0.034658, -0.980113, 0.010646, 26.767409, -17.098650, -54.795864 154 | 153, 0.200666, 0.006896, -0.978981, -0.035853, 25.962881, -18.487888, -55.172140 155 | 154, 0.201186, 0.025613, -0.972494, 0.114571, 25.981121, -18.491942, -55.124620 156 | 155, 0.193558, 0.022984, -0.974539, 0.110832, 24.908392, -18.660796, -55.406091 157 | 156, 0.193417, -0.003950, -0.980447, -0.036084, 24.902200, -18.679646, -55.435000 158 | 157, 0.203490, 0.010675, -0.978134, -0.041660, 23.868282, -18.620026, -55.737411 159 | 158, 0.181747, 0.034722, -0.977266, 0.103517, 23.882220, -18.579888, -55.700396 160 | 159, 0.159875, 0.041444, -0.981004, 0.101770, 22.849182, -18.768178, -56.013745 161 | 160, 0.159818, 0.002507, -0.986061, -0.046273, 22.857939, -18.832178, -55.965635 162 | 161, 0.161816, -0.008954, -0.984872, -0.061367, 21.759189, -18.740045, -56.367921 163 | 162, 0.159851, 0.027954, -0.983087, 0.084911, 21.751420, -18.703395, -56.309119 164 | 163, 0.148895, 0.055840, -0.984018, 0.080152, 20.681265, -19.100403, -56.784151 165 | 164, 0.141563, 0.002962, -0.987104, -0.074701, 20.638277, -18.701044, -56.795848 166 | 165, 0.316212, 0.068370, -0.943014, -0.077872, 20.209589, -19.048708, -56.094470 167 | 166, 0.338225, 0.036540, -0.935260, 0.097775, 20.328041, -19.070202, -56.451462 168 | 167, 0.433721, 0.146785, -0.885494, 0.079020, 20.060576, -19.148088, -55.996000 169 | 168, 0.446451, 0.124310, -0.883891, -0.063018, 20.315923, -18.946001, -56.360483 170 | 169, 0.137710, -0.005938, -0.989336, -0.047107, 18.216636, -19.027216, -56.669998 171 | 170, 0.109396, 0.068871, -0.988834, 0.074159, 18.335271, -19.381762, -56.774016 172 | 171, 0.020549, 0.179475, -0.983355, 0.019600, 17.920739, -20.473545, -59.160532 173 | 172, 0.049114, -0.009488, -0.997897, -0.041268, 18.115615, -19.507821, -59.776096 174 | 173, -0.167138, -0.083490, -0.982098, -0.024124, 19.393696, -18.511707, -61.237117 175 | 174, -0.167277, 0.088616, -0.976376, 0.104200, 18.453881, -20.043237, -61.043517 176 | 175, -0.321709, 0.108004, -0.933123, -0.118839, 17.530822, -20.862225, -60.352755 177 | 176, -0.327431, 0.111683, -0.935914, -0.066202, 17.562384, -20.847037, -60.271455 178 | 177, -0.436657, 0.042590, -0.893032, -0.100067, 16.934895, -21.308536, -59.554635 179 | 178, -0.399678, 0.080610, -0.909084, -0.085595, 16.659530, -21.542979, -58.615641 180 | 179, -0.445941, 0.047335, -0.888026, -0.101522, 16.345218, -21.807453, -57.910645 181 | 180, -0.444760, 0.050442, -0.888430, -0.101667, 15.978236, -22.063572, -57.210099 182 | 181, -0.371557, 0.078169, -0.921767, -0.078621, 15.601373, -22.365758, -56.264254 183 | 182, -0.378724, 0.078236, -0.918346, -0.084188, 15.127098, -22.639484, -55.509873 184 | 183, -0.469204, 0.042279, -0.876388, -0.100021, 14.383156, -22.910472, -54.691536 185 | 184, -0.457673, 0.040444, -0.882690, -0.098784, 13.654893, -23.210144, -53.414478 186 | 185, -0.453549, 0.044839, -0.884571, -0.099083, 13.098504, -23.405260, -52.533471 187 | 186, -0.446984, 0.045058, -0.889343, -0.085114, 12.498544, -23.681156, -51.467366 188 | 187, -0.457681, 0.036954, -0.884213, -0.085617, 11.863199, -23.859292, -50.578232 189 | 188, -0.492830, -0.037816, -0.868419, 0.039212, 11.055256, -23.425253, -49.426360 190 | 189, -0.488346, 0.027542, -0.866703, -0.097914, 11.285431, -23.427064, -49.296647 191 | 190, -0.491942, 0.038870, -0.863575, -0.103536, 10.536030, -23.257730, -48.477682 192 | 191, -0.493364, -0.035204, -0.868764, 0.024503, 10.555455, -23.298313, -48.460241 193 | 192, -0.483742, -0.027472, -0.874185, 0.032242, 10.000300, -23.506485, -47.557232 194 | 193, -0.488567, 0.045285, -0.865895, -0.097353, 9.952479, -23.439204, -47.553691 195 | 194, -0.503138, 0.041040, -0.857580, -0.098616, 9.912354, -23.440219, -47.533485 196 | 195, -0.496741, 0.042865, -0.860895, -0.101353, 9.351053, -23.342944, -46.640155 197 | 196, -0.497422, -0.027416, -0.866534, 0.030645, 9.369842, -23.417931, -46.620916 198 | 197, -0.492187, -0.031296, -0.869405, 0.030168, 8.808558, -23.586604, -45.746747 199 | 198, -0.484459, 0.048147, -0.867998, -0.097782, 8.788659, -23.528907, -45.730620 200 | 199, -0.478695, 0.047823, -0.871604, -0.094190, 8.256035, -23.426072, -44.910775 201 | 200, -0.478083, -0.026156, -0.877337, 0.032147, 8.275910, -23.503418, -44.893768 202 | 201, -0.464344, -0.027229, -0.884665, 0.031831, 7.748532, -23.661429, -44.009198 203 | 202, -0.462712, 0.045720, -0.880705, -0.090369, 7.715470, -23.620145, -44.023631 204 | 203, -0.499324, 0.047095, -0.859830, -0.095666, 6.992666, -23.818957, -43.139877 205 | 204, -0.496824, -0.019940, -0.867096, 0.030232, 7.046687, -23.886156, -43.122512 206 | 205, -0.513531, -0.009408, -0.857227, 0.036892, 6.682148, -23.498206, -42.153470 207 | 206, -0.535256, 0.050285, -0.837173, -0.100577, 6.581263, -23.466340, -42.212576 208 | 207, -0.597801, 0.038929, -0.795206, -0.093632, 4.789802, -22.938193, -42.985847 209 | 208, -0.589754, -0.014094, -0.806474, 0.039898, 4.525305, -23.370005, -43.017015 210 | 209, -0.447875, 0.068226, -0.886182, -0.097147, 5.192699, -23.775185, -41.873181 211 | 210, -0.710681, -0.044173, -0.686245, -0.148498, 3.423760, -22.278683, -40.794506 212 | 211, -0.730903, -0.014377, -0.680297, 0.052657, 2.312738, -22.808140, -42.676051 213 | 212, -0.538096, -0.038039, -0.841206, 0.037157, 3.833087, -23.732499, -39.418232 214 | 213, -0.544904, 0.008787, -0.830656, -0.114087, 3.871839, -23.769020, -39.365832 215 | 214, -0.490300, -0.046023, -0.869721, 0.032808, 3.443815, -23.584492, -38.226039 216 | 215, -0.500481, 0.040553, -0.860007, -0.090907, 3.403807, -23.555623, -38.251819 217 | 216, -0.477087, 0.029068, -0.873483, -0.092587, 2.997726, -23.441612, -37.194192 218 | 217, -0.474538, -0.045643, -0.878352, 0.035079, 3.025122, -23.454183, -37.177979 219 | 218, -0.477575, -0.039748, -0.876656, 0.042659, 2.431677, -23.330458, -36.045295 220 | 219, -0.480282, 0.036521, -0.871638, -0.090808, 2.391556, -23.372779, -36.042778 221 | 220, -0.484216, 0.039838, -0.870254, -0.081296, 1.776584, -23.805914, -35.232270 222 | 221, -0.485273, -0.027073, -0.872767, 0.045358, 1.780073, -23.892582, -35.195405 223 | 222, -0.464142, -0.030838, -0.884215, 0.042270, 1.158039, -23.082163, -34.191523 224 | 223, -0.466556, 0.042054, -0.879104, -0.087957, 1.137199, -23.002591, -34.205571 225 | 224, -0.462656, 0.049630, -0.880770, -0.087939, 0.562567, -24.194182, -33.145829 226 | 225, -0.464230, -0.025319, -0.884388, 0.041366, 0.585771, -24.223642, -33.120364 227 | 226, -0.441317, -0.014359, -0.896143, 0.044301, -0.085421, -24.489189, -31.932900 228 | 227, -0.440434, 0.057507, -0.891844, -0.085601, -0.124857, -24.473878, -31.952378 229 | 228, -0.425925, 0.065668, -0.898179, -0.086912, -0.809515, -24.692700, -30.942128 230 | 229, -0.425827, -0.013309, -0.903769, 0.041213, -0.873015, -24.403693, -30.955100 231 | 230, -0.476421, -0.009080, -0.878024, 0.044921, -1.662661, -24.348515, -30.130037 232 | 231, -0.478137, 0.061751, -0.869898, -0.104165, -1.730306, -24.302974, -30.160304 233 | 232, -0.502245, 0.057642, -0.857251, -0.097734, -2.470916, -24.149594, -29.578566 234 | 233, -0.513863, -0.003139, -0.856598, 0.046667, -2.531458, -24.315793, -29.533952 235 | 234, -0.511559, -0.011144, -0.858288, 0.039083, -3.031384, -25.347678, -28.690367 236 | 235, -0.503931, 0.042225, -0.856200, -0.105807, -3.064183, -25.210597, -28.688067 237 | 236, -0.460328, 0.068155, -0.881253, -0.082761, -3.496484, -24.583269, -27.722817 238 | 237, -0.460843, -0.014778, -0.886180, 0.045754, -3.456768, -24.616414, -27.730988 239 | 238, -0.471889, -0.011980, -0.880444, 0.044698, -4.035158, -25.209523, -26.672250 240 | 239, -0.473417, 0.070429, -0.874198, -0.081828, -4.088204, -25.180409, -26.659300 241 | 240, -0.474084, 0.066306, -0.874182, -0.081588, -4.837940, -24.948593, -26.083814 242 | 241, -0.476348, -0.000603, -0.877757, 0.051366, -4.788948, -25.041039, -26.097658 243 | 242, -0.498477, -0.001727, -0.865679, 0.046045, -5.314973, -25.245171, -25.358816 244 | 243, -0.495402, 0.061311, -0.861876, -0.089398, -5.370601, -25.154659, -25.341975 245 | 244, -0.467943, 0.063637, -0.876580, -0.092682, -5.937819, -25.435848, -24.063668 246 | 245, -0.472531, -0.008313, -0.880447, 0.038223, -5.900034, -25.420830, -24.046737 247 | 246, -0.444040, 0.000878, -0.894959, 0.043338, -6.643660, -25.736330, -23.101446 248 | 247, -0.441131, 0.074487, -0.890422, -0.083704, -6.678191, -25.640184, -23.109265 249 | 248, -0.453427, 0.066105, -0.884261, -0.090105, -7.338678, -25.638995, -22.213344 250 | 249, -0.451655, -0.009190, -0.891226, 0.040539, -7.248762, -25.313241, -22.155705 251 | 250, -0.460733, 0.006845, -0.886368, 0.045071, -7.998631, -25.667203, -21.348502 252 | 251, -0.462168, 0.075997, -0.878141, -0.097453, -8.049133, -25.586683, -21.380545 253 | 252, -0.462302, 0.069778, -0.878578, -0.097527, -8.681618, -26.339353, -20.456052 254 | 253, -0.468536, -0.001418, -0.882140, 0.047973, -8.687802, -25.538390, -20.357706 255 | 254, -0.488789, -0.007177, -0.871257, 0.044154, -9.313348, -25.123544, -19.567963 256 | 255, -0.486664, 0.050821, -0.866781, -0.096269, -9.372065, -26.242987, -19.640574 257 | 256, -0.465655, 0.063490, -0.878129, -0.089595, -9.887955, -26.852578, -18.599908 258 | 257, -0.468443, 0.002931, -0.882540, 0.040950, -9.822325, -25.538603, -18.439473 259 | 258, -0.449858, -0.007310, -0.892120, 0.041233, -10.160383, -24.968316, -17.502178 260 | 259, -0.445487, 0.069837, -0.888347, -0.086641, -10.187233, -25.030323, -17.514345 261 | 260, -0.461930, 0.058323, -0.880673, -0.087394, -10.915289, -27.352870, -16.684914 262 | 261, -0.466205, -0.012433, -0.883543, 0.043057, -10.878898, -27.328799, -16.658863 263 | 262, -0.593282, -0.030786, -0.803953, 0.027037, -12.155996, -27.578928, -16.089994 264 | 263, -0.582643, 0.014162, -0.805397, -0.108008, -12.176284, -27.379211, -16.051023 265 | 264, -0.584510, -0.006709, -0.802674, -0.118408, -12.447818, -27.514293, -15.160064 266 | 265, -0.592824, -0.057299, -0.802942, 0.023736, -12.420688, -27.592623, -15.191554 267 | 266, -0.753593, 0.004455, -0.656048, 0.041015, -13.320680, -27.155797, -14.465074 268 | 267, -0.722578, -0.070860, -0.668701, -0.160322, -13.347604, -27.595909, -14.435970 269 | 268, -0.830813, 0.103700, -0.542654, -0.067283, -13.163300, -27.039332, -13.463614 270 | 269, -0.850221, 0.000247, -0.523857, 0.051969, -13.177554, -27.099561, -13.468226 271 | 270, 0.969285, -0.006054, 0.245671, 0.009814, -1.893900, -0.040817, 1.588940 272 | 271, -0.846483, 0.089922, -0.520157, -0.069433, -12.779609, -27.278525, -12.458822 273 | 272, 0.988458, -0.151223, 0.009131, 0.000002, -0.758147, 0.038092, 0.701909 274 | 273, 0.999935, -0.002788, 0.010957, 0.001432, -0.731500, -0.019048, 0.704759 275 | 274, -0.745735, 0.000826, -0.663810, 0.056908, -17.125693, -27.468899, -13.738050 276 | 275, -0.744438, 0.033115, -0.659060, -0.101777, -16.566757, -26.304171, -15.133093 277 | -------------------------------------------------------------------------------- /slam_tutorial/data/optimized_poses.csv: -------------------------------------------------------------------------------- 1 | 0, 1, 0, 0, 0, 0, 0, 5.58294e-322 2 | 1, 0.995349, -0.0931731, -0.00640427, 0.0236443, 0.01276, 0.0247488, 5.58294e-322 3 | 2, 0.994468, 0.104562, 0.00941847, -0.00326696, 0.0155412, -0.00358403, 5.58294e-322 4 | 3, 0.989446, -0.100994, 0.103746, -0.00587797, -1.16253, 0.73197, 5.58294e-322 5 | 4, 0.923068, -0.251287, -0.288522, 0.0394451, 1.61716, 1.00299, 5.58294e-322 6 | 5, 0.999947, 0.00693182, -7.93971e-05, 0.00762857, 1.08777, 0.151879, 5.58294e-322 7 | 6, 0.990001, -0.140431, -0.00932511, 0.00951531, 1.091, 0.145077, 5.58294e-322 8 | 7, 0.990406, -0.137722, 0.0112848, 0.00125089, 1.98005, 0.114694, 5.58294e-322 9 | 8, 0.99989, 0.0114526, 0.00923811, -0.00162216, 1.97525, 0.0832673, 5.58294e-322 10 | 9, 0.999797, 0.0147053, 0.0134706, -0.00271659, 2.83397, 0.0592571, 5.58294e-322 11 | 10, 0.988961, -0.147554, 0.0134641, 0.00181844, 2.83854, 0.0901489, 5.58294e-322 12 | 11, 0.989788, -0.141526, 0.0169484, 0.00149633, 3.77012, 0.0549432, 5.58294e-322 13 | 12, 0.999676, 0.019321, 0.0164832, -0.00178722, 3.76405, 0.0271203, 5.58294e-322 14 | 13, 0.999704, 0.0199615, 0.0131689, -0.00437118, 4.71803, -0.019105, 5.58294e-322 15 | 14, 0.989951, -0.140887, 0.0116792, 0.00330485, 4.7373, 0.00889104, 5.58294e-322 16 | 15, 0.989782, -0.139731, 0.0282096, 0.00340089, 5.67332, -0.0563396, 5.58294e-322 17 | 16, 0.999438, 0.0194643, 0.0272108, -0.00228375, 5.6691, -0.0860036, 5.58294e-322 18 | 17, 0.999385, 0.0205554, 0.0276497, -0.00647409, 6.62018, -0.154607, 5.58294e-322 19 | 18, 0.990011, -0.138199, 0.0278402, -0.00212786, 6.6258, -0.126296, 5.58294e-322 20 | 19, 0.989851, -0.139408, 0.0274456, 0.00277099, 7.48607, -0.146123, 5.58294e-322 21 | 20, 0.999555, 0.0174673, 0.0237707, -0.00443619, 7.48572, -0.171288, 5.58294e-322 22 | 21, 0.999746, 0.0156684, 0.0118309, -0.011061, 8.41901, -0.271514, 5.58294e-322 23 | 22, 0.990077, -0.139683, 0.0152154, -0.00231212, 8.42351, -0.243521, 5.58294e-322 24 | 23, 0.990411, -0.137401, 0.0141628, 0.00253234, 9.40326, -0.308555, 5.58294e-322 25 | 24, 0.999715, 0.0152713, 0.0140717, -0.0117468, 9.4011, -0.338279, 5.58294e-322 26 | 25, 0.999305, 0.0231705, 0.0244478, -0.0159892, 10.426, -0.42092, 5.58294e-322 27 | 26, 0.989254, -0.144102, 0.0245837, -0.00263351, 10.4407, -0.400509, 5.58294e-322 28 | 27, 0.989265, -0.142379, 0.0327958, 0.0025917, 11.4444, -0.458813, 5.58294e-322 29 | 28, 0.999361, 0.0213052, 0.0264913, -0.0110793, 11.4412, -0.489276, 5.58294e-322 30 | 29, 0.999485, 0.0200765, 0.021128, -0.0134151, 12.406, -0.615687, 5.58294e-322 31 | 30, 0.999332, 0.0216188, 0.0248881, -0.0157559, 12.3335, -0.676885, 5.58294e-322 32 | 31, 0.990148, -0.139389, 0.0133368, -0.000845039, 13.2806, -0.751176, 5.58294e-322 33 | 32, 0.989993, -0.139481, 0.0209943, -0.00434199, 12.42, -0.581695, 5.58294e-322 34 | 33, 0.992562, -0.00480988, -0.0880437, 0.0839403, 14.7415, -0.549485, 5.58294e-322 35 | 34, 0.98501, -0.129831, -0.112476, 0.015783, 14.7118, -0.547779, 5.58294e-322 36 | 35, 0.959364, -0.139487, -0.239552, 0.0527211, 15.5857, -0.220014, 5.58294e-322 37 | 36, 0.968301, -0.00742241, -0.217456, 0.12268, 15.6089, -0.221063, 5.58294e-322 38 | 37, 0.932993, -0.00725558, -0.326112, 0.152064, 16.1968, 0.248038, 5.58294e-322 39 | 38, 0.924952, -0.128026, -0.349355, 0.0776196, 16.1623, 0.239468, 5.58294e-322 40 | 39, 0.866485, -0.112317, -0.47639, 0.0981876, 16.7331, 0.806567, 5.58294e-322 41 | 40, 0.872102, -0.00614721, -0.453194, 0.184434, 16.7848, 0.820698, 5.58294e-322 42 | 41, 0.828888, -0.00891224, -0.520306, 0.205297, 17.1778, 1.33995, 5.58294e-322 43 | 42, 0.821687, -0.102336, -0.551103, 0.103171, 17.134, 1.32935, 5.58294e-322 44 | 43, 0.751696, -0.120899, -0.638326, 0.113477, 17.3595, 2.30474, 5.58294e-322 45 | 44, 0.736216, -0.0165091, -0.638345, 0.224116, 17.4061, 2.33438, 5.58294e-322 46 | 45, 0.682371, 0.0153908, -0.680606, 0.266287, 17.5282, 3.67025, 5.58294e-322 47 | 46, 0.673479, -0.0928579, -0.713094, 0.171175, 17.472, 3.63837, 5.58294e-322 48 | 47, 0.676259, -0.0675198, -0.710006, 0.184408, 17.6053, 4.62869, 5.58294e-322 49 | 48, 0.675492, 0.0259824, -0.674668, 0.296411, 17.6487, 4.63481, 5.58294e-322 50 | 49, 0.66358, 0.0432816, -0.688682, 0.288974, 17.3701, 5.76999, 5.58294e-322 51 | 50, 0.664094, -0.05719, -0.724631, 0.17498, 17.3109, 5.73879, 5.58294e-322 52 | 51, 0.644996, -0.045058, -0.744356, 0.166985, 17.1527, 6.94366, 5.58294e-322 53 | 52, 0.647232, 0.0632675, -0.708797, 0.273302, 17.2095, 6.96824, 5.58294e-322 54 | 53, 0.644363, 0.0794469, -0.707136, 0.280077, 17.0341, 8.1925, 5.58294e-322 55 | 54, 0.654707, -0.0329047, -0.733704, 0.178757, 17.0008, 8.20478, 5.58294e-322 56 | 55, 0.642176, -0.0190918, -0.739416, 0.201271, 17.0563, 9.11881, 5.58294e-322 57 | 56, 0.643622, 0.0880464, -0.695982, 0.305955, 17.1013, 9.12896, 5.58294e-322 58 | 57, 0.649918, 0.0774816, -0.673821, 0.342883, 16.8688, 10.6557, 5.58294e-322 59 | 58, 0.655131, -0.0220112, -0.718916, 0.231254, 16.8299, 10.6521, 5.58294e-322 60 | 59, 0.63782, 0.0752773, -0.720421, 0.26175, 16.6363, 11.7528, 5.58294e-322 61 | 60, 0.61119, 0.111174, -0.696217, 0.359679, 16.6918, 11.7581, 5.58294e-322 62 | 61, 0.59778, 0.113532, -0.713782, 0.346822, 16.2159, 12.8935, 5.58294e-322 63 | 62, 0.616659, 0.0771528, -0.743267, 0.247655, 16.1666, 12.8737, 5.58294e-322 64 | 63, 0.622034, 0.02201, -0.769873, 0.141012, 15.126, 13.3542, 5.58294e-322 65 | 64, 0.612385, 0.0834795, -0.736596, 0.274668, 15.2264, 13.4408, 5.58294e-322 66 | 65, 0.636731, 0.133098, -0.705608, 0.281027, 15.0766, 14.4098, 5.58294e-322 67 | 66, 0.653504, 0.0616583, -0.738408, 0.154544, 15.0029, 14.3777, 5.58294e-322 68 | 67, 0.648958, 0.0157778, -0.749747, 0.128387, 14.6386, 15.8995, 5.58294e-322 69 | 68, 0.640254, 0.10559, -0.722196, 0.239497, 14.6975, 15.9135, 5.58294e-322 70 | 69, 0.633902, 0.0849845, -0.728036, 0.246796, 14.3962, 16.9073, 5.58294e-322 71 | 70, 0.640275, -0.00822552, -0.756848, 0.131005, 14.3077, 16.8849, 5.58294e-322 72 | 71, 0.635546, 0.00912589, -0.758792, 0.14224, 14.1137, 18.1629, 5.58294e-322 73 | 72, 0.627828, 0.10539, -0.728792, 0.252164, 14.1549, 18.1748, 5.58294e-322 74 | 73, 0.619661, 0.101199, -0.739586, 0.242471, 13.9223, 19.4093, 5.58294e-322 75 | 74, 0.632141, 0.0028391, -0.762933, 0.135361, 13.871, 19.3975, 5.58294e-322 76 | 75, 0.634266, -0.00364606, -0.761974, 0.130726, 13.5588, 20.8277, 5.58294e-322 77 | 76, 0.626112, 0.0953396, -0.736446, 0.237785, 13.5993, 20.8373, 5.58294e-322 78 | 77, 0.614983, 0.0889692, -0.754259, 0.212069, 13.3466, 22.1328, 5.58294e-322 79 | 78, 0.624491, -0.0190255, -0.772371, 0.114426, 13.2942, 22.1215, 5.58294e-322 80 | 79, 0.613198, -0.0107051, -0.778783, 0.131798, 13.2032, 23.5416, 5.58294e-322 81 | 80, 0.605444, 0.0919736, -0.755437, 0.233009, 13.2524, 23.553, 5.58294e-322 82 | 81, 0.605493, 0.0766973, -0.763451, 0.211277, 12.9697, 24.8293, 5.58294e-322 83 | 82, 0.610211, -0.0345621, -0.782733, 0.117376, 12.9166, 24.8083, 5.58294e-322 84 | 83, 0.609843, -0.0222833, -0.781487, 0.1299, 12.8447, 25.8819, 5.58294e-322 85 | 84, 0.608771, 0.0764004, -0.754711, 0.23232, 12.8926, 25.8948, 5.58294e-322 86 | 85, 0.614885, 0.0799526, -0.745317, 0.245005, 12.6491, 27.1819, 5.58294e-322 87 | 86, 0.619661, -0.0191091, -0.772503, 0.137459, 12.5988, 27.1706, 5.58294e-322 88 | 87, 0.635563, -0.025557, -0.762296, 0.11963, 12.3119, 28.3094, 5.58294e-322 89 | 88, 0.630935, 0.0728203, -0.738503, 0.226343, 12.362, 28.3286, 5.58294e-322 90 | 89, 0.661677, 0.0731664, -0.712734, 0.220999, 12.185, 29.6879, 5.58294e-322 91 | 90, 0.671077, -0.0277043, -0.732689, 0.109797, 12.1333, 29.6771, 5.58294e-322 92 | 91, 0.638491, -0.0265192, -0.763361, 0.094375, 11.974, 30.713, 5.58294e-322 93 | 92, 0.63841, 0.0596529, -0.738276, 0.209337, 12.0201, 30.7328, 5.58294e-322 94 | 93, 0.61847, 0.0740855, -0.742542, 0.246248, 11.6944, 31.7935, 5.58294e-322 95 | 94, 0.622004, -0.0205436, -0.771557, 0.131865, 11.6405, 31.7728, 5.58294e-322 96 | 95, 0.635017, 0.00563214, -0.759924, 0.138697, 11.4685, 32.9208, 5.58294e-322 97 | 96, 0.616332, 0.0876892, -0.737828, 0.260875, 11.5172, 32.9316, 5.58294e-322 98 | 97, 0.63643, 0.140019, -0.721598, 0.233769, 11.2378, 34.0671, 5.58294e-322 99 | 98, 0.646758, 0.0475867, -0.751391, 0.121865, 11.1785, 34.0538, 5.58294e-322 100 | 99, 0.637142, 0.0361203, -0.761154, 0.115719, 10.9771, 35.1149, 5.58294e-322 101 | 100, 0.627464, 0.122973, -0.733426, 0.230764, 11.0368, 35.1338, 5.58294e-322 102 | 101, 0.660942, 0.0770843, -0.705502, 0.243886, 10.701, 36.5467, 5.58294e-322 103 | 102, 0.667016, -0.0185139, -0.732421, 0.135301, 10.6468, 36.532, 5.58294e-322 104 | 103, 0.655615, -0.0234374, -0.742526, 0.135187, 10.5321, 37.784, 5.58294e-322 105 | 104, 0.650968, 0.0731258, -0.715594, 0.242528, 10.5814, 37.7973, 5.58294e-322 106 | 105, 0.640334, 0.0645684, -0.722844, 0.251593, 10.4775, 39.1099, 5.58294e-322 107 | 106, 0.644273, -0.0302496, -0.751237, 0.140146, 10.4292, 39.0878, 5.58294e-322 108 | 107, 0.632451, -0.0296191, -0.759373, 0.149937, 10.2238, 40.2537, 5.58294e-322 109 | 108, 0.630084, 0.0703478, -0.729286, 0.257268, 10.2742, 40.2719, 5.58294e-322 110 | 109, 0.640176, 0.0622419, -0.719312, 0.262468, 10.1201, 41.4092, 5.58294e-322 111 | 110, 0.63776, -0.0233157, -0.755784, 0.146658, 10.0803, 41.3819, 5.58294e-322 112 | 111, 0.456372, -0.0359911, -0.857468, 0.234898, 9.45669, 43.5422, 5.58294e-322 113 | 112, 0.661182, -0.0373127, -0.724057, 0.192838, 9.35643, 43.5547, 5.58294e-322 114 | 113, -0.653519, -0.0239954, 0.73841, -0.164582, 8.15963, 44.8564, 5.58294e-322 115 | 114, -0.641833, -0.0762847, 0.706021, -0.289423, 8.218, 44.8886, 5.58294e-322 116 | 115, -0.621191, -0.0641817, 0.736983, -0.25857, 7.60508, 45.9261, 5.58294e-322 117 | 116, -0.630348, 0.00342622, 0.765586, -0.12856, 7.53703, 45.9126, 5.58294e-322 118 | 117, -0.617242, -0.00737658, 0.774508, -0.138185, 7.17809, 47.0216, 5.58294e-322 119 | 118, -0.607458, -0.0744281, 0.745296, -0.264554, 7.24205, 47.0546, 5.58294e-322 120 | 119, -0.602189, -0.0827121, 0.755913, -0.243151, 6.71942, 48.0838, 5.58294e-322 121 | 120, -0.614152, 0.00363372, 0.779586, -0.122676, 6.6605, 48.0568, 5.58294e-322 122 | 121, -0.642647, 0.0278054, 0.757187, -0.113572, 6.39775, 49.1961, 5.58294e-322 123 | 122, -0.639018, -0.0727189, 0.732869, -0.221969, 6.4461, 49.2115, 5.58294e-322 124 | 123, -0.643766, -0.0527564, 0.728834, -0.227119, 6.19805, 50.2021, 5.58294e-322 125 | 124, -0.639657, 0.0302681, 0.759282, -0.11582, 6.16785, 50.1856, 5.58294e-322 126 | 125, -0.624115, 0.0166374, 0.774492, -0.10181, 5.97154, 51.4914, 5.58294e-322 127 | 126, -0.620713, -0.0546987, 0.751796, -0.2157, 6.01528, 51.5126, 5.58294e-322 128 | 127, -0.56129, -0.0543188, 0.797356, -0.215005, 5.89533, 52.5057, 5.58294e-322 129 | 128, -0.568452, 0.000195961, 0.817388, -0.0934789, 5.85597, 52.4912, 5.58294e-322 130 | 129, -0.501905, -0.00869021, 0.85786, -0.109962, 5.39281, 53.4334, 5.58294e-322 131 | 130, -0.473664, -0.0675191, 0.845667, -0.236496, 5.44624, 53.4512, 5.58294e-322 132 | 131, -0.394975, -0.0961767, 0.887869, -0.215483, 4.77056, 54.3296, 5.58294e-322 133 | 132, -0.424914, -0.0766153, 0.897957, -0.0851551, 4.73795, 54.2997, 5.58294e-322 134 | 133, -0.285961, -0.097855, 0.951358, -0.0597419, 3.76429, 55.116, 5.58294e-322 135 | 134, -0.266368, -0.104595, 0.938552, -0.192946, 3.81818, 55.1883, 5.58294e-322 136 | 135, -0.170686, -0.102566, 0.958571, -0.203686, 2.93333, 55.7251, 5.58294e-322 137 | 136, -0.185109, -0.0961471, 0.976215, -0.0591113, 2.90546, 55.6578, 5.58294e-322 138 | 137, -0.0894545, -0.0839001, 0.990709, -0.0587802, 2.0791, 56.1185, 5.58294e-322 139 | 138, -0.0622003, -0.0856385, 0.974727, -0.196736, 2.09688, 56.1755, 5.58294e-322 140 | 139, -0.0101239, -0.0816811, 0.978488, -0.189177, 1.02265, 56.4255, 5.58294e-322 141 | 140, -0.0222317, -0.0772483, 0.995687, -0.0463134, 1.00895, 56.3882, 5.58294e-322 142 | 141, -0.00188755, -0.079774, 0.995844, -0.0439028, 0.0331962, 56.4624, 5.58294e-322 143 | 142, 0.0124848, -0.086018, 0.978441, -0.187345, 0.0497914, 56.5028, 5.58294e-322 144 | 143, 0.0329534, -0.0994702, 0.977276, -0.184261, -0.919445, 56.5942, 5.58294e-322 145 | 144, 0.0200502, -0.089169, 0.995154, -0.0362663, -0.932626, 56.5488, 5.58294e-322 146 | 145, 0.021151, -0.0862415, 0.995736, -0.0249977, -1.90058, 56.6341, 5.58294e-322 147 | 146, 0.0367927, -0.0895418, 0.980625, -0.170305, -1.8907, 56.6821, 5.58294e-322 148 | 147, 0.0378927, -0.0922448, 0.982303, -0.158542, -2.97883, 56.7094, 5.58294e-322 149 | 148, 0.0341645, -0.0938107, 0.99497, -0.00818203, -2.98699, 56.6727, 5.58294e-322 150 | 149, 0.0315591, -0.0980177, 0.994654, -0.00777181, -4.1728, 56.5637, 5.58294e-322 151 | 150, 0.0474207, -0.0956212, 0.982276, -0.154082, -4.16149, 56.6102, 5.58294e-322 152 | 151, 0.0276297, -0.0956434, 0.981066, -0.166129, -5.25433, 56.6006, 5.58294e-322 153 | 152, 0.0169922, -0.0874167, 0.995867, -0.0178449, -5.28181, 56.5655, 5.58294e-322 154 | 153, 0.00986165, -0.0797961, 0.99653, -0.0215399, -6.23673, 56.5446, 5.58294e-322 155 | 154, 0.0187245, -0.098431, 0.98099, -0.16619, -6.22488, 56.5819, 5.58294e-322 156 | 155, 0.0272788, -0.0999725, 0.980807, -0.165166, -7.29062, 56.7664, 5.58294e-322 157 | 156, 0.0116584, -0.0804961, 0.996465, -0.0210051, -7.29764, 56.7253, 5.58294e-322 158 | 157, 0.0384826, -0.0863789, 0.99539, -0.0160264, -8.32593, 56.8056, 5.58294e-322 159 | 158, 0.0500139, -0.101042, 0.980825, -0.158972, -8.31892, 56.8711, 5.58294e-322 160 | 159, 0.0576988, -0.0979346, 0.981265, -0.155561, -9.38517, 57.0123, 5.58294e-322 161 | 160, 0.0409646, -0.0949561, 0.994607, -0.00788984, -9.38459, 56.9739, 5.58294e-322 162 | 161, 0.0612989, -0.0938089, 0.993688, 0.00518479, -10.4886, 56.8958, 5.58294e-322 163 | 162, 0.0653085, -0.0956496, 0.983288, -0.140468, -10.479, 56.9399, 5.58294e-322 164 | 163, 0.0838844, -0.119501, 0.981505, -0.123822, -11.6282, 56.7696, 5.58294e-322 165 | 164, 0.0262856, -0.106765, 0.993933, 0.00265654, -11.6501, 56.7404, 5.58294e-322 166 | 165, -0.0564259, -0.117202, 0.99138, -0.0156595, -11.9085, 57.1385, 5.58294e-322 167 | 166, -0.056006, -0.141664, 0.980222, -0.126329, -11.8966, 57.1662, 5.58294e-322 168 | 167, -0.0408413, -0.131152, 0.981718, -0.131761, -11.951, 57.2904, 5.58294e-322 169 | 168, -0.0628874, -0.159161, 0.982096, -0.0787415, -11.9565, 57.1941, 5.58294e-322 170 | 169, 0.158172, -0.152856, 0.975458, -0.00989117, -13.6677, 57.9257, 5.58294e-322 171 | 170, 0.135066, -0.110703, 0.975321, -0.135096, -13.694, 57.9786, 5.58294e-322 172 | 171, 0.349048, -0.121224, 0.92135, -0.120762, -15.7536, 56.7709, 5.58294e-322 173 | 172, 0.33081, -0.19541, 0.923179, -0.010943, -15.7304, 56.7206, 5.58294e-322 174 | 173, 0.528528, -0.14925, 0.83444, 0.0457503, -16.1236, 55.902, 5.58294e-322 175 | 174, 0.537611, -0.116574, 0.829634, -0.0953578, -16.1222, 55.8222, 5.58294e-322 176 | 175, 0.630177, -0.218196, 0.738264, 0.101159, -16.7119, 55.0536, 5.58294e-322 177 | 176, 0.666846, -0.1876, 0.717848, 0.0694048, -16.731, 55.0655, 5.58294e-322 178 | 177, 0.703486, -0.165842, 0.683984, 0.0988469, -17.0572, 54.1179, 5.58294e-322 179 | 178, 0.694111, -0.165972, 0.694534, 0.0910269, -17.3806, 53.3125, 5.58294e-322 180 | 179, 0.713899, -0.149588, 0.675528, 0.107862, -17.5947, 52.5689, 5.58294e-322 181 | 180, 0.718636, -0.146564, 0.670779, 0.110168, -17.7349, 51.7688, 5.58294e-322 182 | 181, 0.659313, -0.165007, 0.730473, 0.0669989, -17.9004, 50.7427, 5.58294e-322 183 | 182, 0.660239, -0.164895, 0.729748, 0.0660466, -18.1613, 49.8921, 5.58294e-322 184 | 183, -0.726895, 0.133467, -0.667278, -0.0924706, -18.302, 48.7844, 5.58294e-322 185 | 184, -0.714873, 0.129864, -0.681888, -0.0843853, -18.2718, 47.2903, 5.58294e-322 186 | 185, -0.708148, 0.132347, -0.689336, -0.0763386, -18.2728, 46.2342, 5.58294e-322 187 | 186, -0.700847, 0.126225, -0.699812, -0.0560667, -18.3625, 44.9965, 5.58294e-322 188 | 187, -0.706424, 0.116953, -0.696022, -0.0533021, -18.3761, 43.8955, 5.58294e-322 189 | 188, -0.73549, 0.00946594, -0.676432, 0.0374716, -18.5089, 42.5151, 5.58294e-322 190 | 189, -0.736203, 0.115711, -0.66327, -0.0684783, -18.6241, 42.5382, 5.58294e-322 191 | 190, -0.729322, 0.122692, -0.668883, -0.0750388, -18.4713, 41.4227, 5.58294e-322 192 | 191, -0.739724, 0.0116191, -0.672429, 0.0226289, -18.4969, 41.4223, 5.58294e-322 193 | 192, -0.737141, 0.01329, -0.674876, 0.0314674, -18.3691, 40.3307, 5.58294e-322 194 | 193, -0.727575, 0.126021, -0.670952, -0.067648, -18.3424, 40.3287, 5.58294e-322 195 | 194, -0.73077, 0.125337, -0.667624, -0.0674065, -18.3446, 40.2917, 5.58294e-322 196 | 195, -0.733933, 0.124812, -0.664001, -0.0697649, -18.2022, 39.2063, 5.58294e-322 197 | 196, -0.743888, 0.0116259, -0.667628, 0.0277216, -18.2275, 39.2088, 5.58294e-322 198 | 197, -0.737673, 0.0131228, -0.67423, 0.0328744, -18.077, 38.1462, 5.58294e-322 199 | 198, -0.725557, 0.125451, -0.673342, -0.0666345, -18.0568, 38.1358, 5.58294e-322 200 | 199, -0.722855, 0.124105, -0.677856, -0.0508951, -17.9531, 37.1386, 5.58294e-322 201 | 200, -0.727505, 0.0197129, -0.68505, 0.0324688, -17.974, 37.1457, 5.58294e-322 202 | 201, -0.733094, 0.0437952, -0.678498, 0.0171859, -17.9129, 36.0949, 5.58294e-322 203 | 202, -0.730905, 0.102922, -0.674666, 0.00338029, -17.8929, 36.0897, 5.58294e-322 204 | 203, -0.769171, 0.106902, -0.630013, 0.00566826, -17.7188, 34.9489, 5.58294e-322 205 | 204, -0.769818, 0.035741, -0.637093, 0.0146921, -17.7505, 34.9514, 5.58294e-322 206 | 205, -0.787558, 0.0307737, -0.615138, 0.0202741, -17.7645, 33.9043, 5.58294e-322 207 | 206, -0.794232, 0.111724, -0.59636, 0.0326941, -17.6932, 33.902, 5.58294e-322 208 | 207, -0.855376, 0.128723, -0.49972, 0.045186, -16.0522, 33.7675, 5.58294e-322 209 | 208, -0.843861, 0.00534018, -0.536234, 0.0179759, -15.9599, 33.7749, 5.58294e-322 210 | 209, -0.903982, 0.0797795, -0.41922, 0.0265891, -16.1732, 33.4768, 5.58294e-322 211 | 210, -0.936773, 0.100822, -0.330083, -0.0577634, -14.1648, 31.854, 5.58294e-322 212 | 211, -0.935054, -0.0132624, -0.353429, 0.0242147, -14.0939, 32.0211, 5.58294e-322 213 | 212, -0.841953, -0.0137982, -0.535253, 0.066548, -14.102, 31.866, 5.58294e-322 214 | 213, -0.84041, 0.111417, -0.530083, -0.0175729, -14.0959, 31.8598, 5.58294e-322 215 | 214, -0.812126, -0.0129639, -0.577402, 0.0830075, -13.6974, 30.6867, 5.58294e-322 216 | 215, -0.804383, 0.101496, -0.585189, -0.0148376, -13.6669, 30.69, 5.58294e-322 217 | 216, -0.799104, 0.100595, -0.592706, -0.00343823, -13.4653, 29.585, 5.58294e-322 218 | 217, -0.807246, -0.0125907, -0.583219, 0.0897259, -13.5013, 29.5822, 5.58294e-322 219 | 218, -0.806331, -0.012338, -0.583037, 0.0987206, -13.1905, 28.341, 5.58294e-322 220 | 219, -0.798671, 0.106476, -0.592236, 0.00662035, -13.1505, 28.34, 5.58294e-322 221 | 220, -0.796975, 0.107985, -0.594173, 0.0113432, -12.8095, 27.336, 5.58294e-322 222 | 221, -0.804042, -0.00687294, -0.585829, 0.101359, -12.8412, 27.3338, 5.58294e-322 223 | 222, -0.798303, -0.00583875, -0.593617, 0.101476, -12.4467, 26.2299, 5.58294e-322 224 | 223, -0.790643, 0.110994, -0.602054, 0.00971169, -12.413, 26.2236, 5.58294e-322 225 | 224, -0.783991, 0.109978, -0.610949, 0.00203929, -12.1747, 24.9906, 5.58294e-322 226 | 225, -0.791796, 0.00278632, -0.602012, 0.103116, -12.2052, 24.9882, 5.58294e-322 227 | 226, -0.770724, -0.000991446, -0.629212, 0.100373, -11.9767, 23.6246, 5.58294e-322 228 | 227, -0.76169, 0.117201, -0.636972, 0.0189417, -11.9422, 23.6219, 5.58294e-322 229 | 228, -0.788126, 0.125776, -0.60241, 0.0118202, -11.6527, 22.4337, 5.58294e-322 230 | 229, -0.798696, 0.000708931, -0.595148, 0.0887852, -11.6869, 22.4322, 5.58294e-322 231 | 230, -0.813479, -0.00175076, -0.575312, 0.0852369, -11.3753, 21.3354, 5.58294e-322 232 | 231, -0.80266, 0.132065, -0.581628, 0.002143, -11.3253, 21.3418, 5.58294e-322 233 | 232, -0.818479, 0.131584, -0.55926, 0.002538, -10.8952, 20.3994, 5.58294e-322 234 | 233, -0.8281, 0.00293436, -0.554469, 0.0825025, -10.9161, 20.4047, 5.58294e-322 235 | 234, -0.825064, 0.00173704, -0.558767, 0.0839385, -10.4846, 19.4889, 5.58294e-322 236 | 235, -0.813336, 0.129597, -0.567176, 0.00130758, -10.4537, 19.4834, 5.58294e-322 237 | 236, -0.800662, 0.126347, -0.585543, 0.0107692, -10.0989, 18.406, 5.58294e-322 238 | 237, -0.809857, -0.000112268, -0.579171, 0.0932382, -10.1325, 18.4224, 5.58294e-322 239 | 238, -0.813752, 0.00106222, -0.573551, 0.0940514, -9.75845, 17.3613, 5.58294e-322 240 | 239, -0.804303, 0.12601, -0.580541, 0.0138096, -9.71794, 17.3514, 5.58294e-322 241 | 240, -0.822977, 0.128676, -0.553219, 0.00996498, -9.27394, 16.452, 5.58294e-322 242 | 241, -0.832674, 0.00776224, -0.545301, 0.0961248, -9.30632, 16.4633, 5.58294e-322 243 | 242, -0.830325, 0.00804825, -0.549577, 0.0919799, -9.03624, 15.5588, 5.58294e-322 244 | 243, -0.821154, 0.126637, -0.556463, 0.00420318, -9.00031, 15.5504, 5.58294e-322 245 | 244, -0.813506, 0.128382, -0.567209, -0.000536416, -8.53142, 14.2646, 5.58294e-322 246 | 245, -0.819907, 0.00753293, -0.566234, 0.0841083, -8.56231, 14.2593, 5.58294e-322 247 | 246, -0.810781, 0.0100779, -0.577803, 0.093145, -8.06057, 13.1629, 5.58294e-322 248 | 247, -0.800797, 0.128917, -0.584857, 0.00680888, -8.02951, 13.1578, 5.58294e-322 249 | 248, -0.803253, 0.12757, -0.581772, 0.00721133, -7.68358, 12.0991, 5.58294e-322 250 | 249, -0.812122, 0.00610832, -0.576272, 0.0912729, -7.71148, 12.1061, 5.58294e-322 251 | 250, -0.822609, 0.00615932, -0.56199, 0.0862765, -7.3451, 11.094, 5.58294e-322 252 | 251, -0.805627, 0.13501, -0.576829, -0.00242824, -7.29992, 11.0925, 5.58294e-322 253 | 252, -0.820585, 0.130747, -0.556301, -0.00859678, -6.97732, 9.95941, 5.58294e-322 254 | 253, -0.830781, 0.00252413, -0.549894, 0.0860939, -7.00549, 9.954, 5.58294e-322 255 | 254, -0.828946, 0.00266979, -0.552666, 0.0860328, -6.54944, 8.99589, 5.58294e-322 256 | 255, -0.819232, 0.115689, -0.561653, -0.00456373, -6.5186, 8.99127, 5.58294e-322 257 | 256, -0.807174, 0.121011, -0.577686, 0.0103123, -6.171, 7.86258, 5.58294e-322 258 | 257, -0.81441, 0.00645528, -0.574397, 0.0822361, -6.21338, 7.86438, 5.58294e-322 259 | 258, -0.835821, -0.00132292, -0.543596, 0.076845, -6.06283, 6.8256, 5.58294e-322 260 | 259, -0.82922, 0.118125, -0.546295, -0.00113197, -6.03062, 6.83528, 5.58294e-322 261 | 260, -0.863122, 0.11102, -0.492629, -0.00343424, -5.5842, 5.78761, 5.58294e-322 262 | 261, -0.85962, -0.0104554, -0.507344, 0.0595538, -5.60685, 5.77582, 5.58294e-322 263 | 262, -0.896241, 0.0169679, -0.443243, -7.74872e-05, -4.88476, 4.80169, 5.58294e-322 264 | 263, -0.901349, 0.0690381, -0.427525, -0.00505429, -4.86457, 4.79014, 5.58294e-322 265 | 264, -0.91341, 0.0633731, -0.401969, -0.00933724, -4.56897, 3.84191, 5.58294e-322 266 | 265, -0.914083, 0.012306, -0.40521, 0.0102596, -4.59119, 3.83412, 5.58294e-322 267 | 266, -0.91593, 0.0478638, -0.398283, 0.0123585, -3.56119, 3.16901, 5.58294e-322 268 | 267, -0.916067, 0.0550408, -0.397025, 0.0127855, -3.52054, 3.19075, 5.58294e-322 269 | 268, -0.920308, 0.0575704, -0.386723, 0.0128425, -2.89412, 2.32255, 5.58294e-322 270 | 269, -0.923739, 0.0464461, -0.379448, 0.0238378, -2.94062, 2.28046, 5.58294e-322 271 | 270, 0.943073, -0.0322323, 0.330761, -0.0130754, -2.04382, 1.61715, 5.58294e-322 272 | 271, -0.937643, 0.0563894, -0.342996, 0.000618386, -2.05703, 1.58251, 5.58294e-322 273 | 272, 0.988563, -0.116223, 0.0841587, 0.0464001, -0.646449, 0.744581, 5.58294e-322 274 | 273, 0.998182, -0.0016181, 0.0601819, 0.00302006, -0.667965, 0.731594, 5.58294e-322 275 | 274, -0.883291, 0.000787219, -0.466086, 0.0506001, -0.568504, 5.82404, 5.58294e-322 276 | 275, -0.911658, 0.109856, -0.395961, -0.0051598, -0.66325, 5.49463, 5.58294e-322 277 | -------------------------------------------------------------------------------- /slam_tutorial/matlab/plot_poses.m: -------------------------------------------------------------------------------- 1 | function h = plot_poses(pose_data) 2 | 3 | n_poses = size(pose_data, 1); 4 | 5 | for i=1:n_poses 6 | id = pose_data(i, 1); 7 | q = pose_data(i, 2:5); 8 | t = pose_data(i, 6:8); 9 | 10 | draw_frame(q, t, 0.5); 11 | text(t(1), t(2), t(3), [num2str(id)]); 12 | end 13 | 14 | end 15 | 16 | function draw_frame(q, t, s) 17 | 18 | if min(size(q)) == 1 19 | q = reshape(q, [1,4]); 20 | R = quat2rotm(q); 21 | end 22 | 23 | if size(t, 1) == 1 24 | t = t'; 25 | end 26 | 27 | C = repmat(t, 1, 3); 28 | E = s * R + C; 29 | plot3([t(1), E(1,1)],[t(2), E(2,1)],[t(3), E(3,1)],'-r','linewidth',2); hold on; 30 | plot3([t(1), E(1,2)],[t(2), E(2,2)],[t(3), E(3,2)],'-g','linewidth',2); 31 | plot3([t(1), E(1,3)],[t(2), E(2,3)],[t(3), E(3,3)],'-b','linewidth',2); 32 | 33 | axis equal; grid on; 34 | 35 | end 36 | -------------------------------------------------------------------------------- /slam_tutorial/matlab/visualize_results.m: -------------------------------------------------------------------------------- 1 | clear; close all; clc; 2 | 3 | %% show initial poses 4 | init_data = importdata('../data/initial_poses.csv'); 5 | 6 | subplot(1,2,1); 7 | plot_poses(init_data); 8 | 9 | 10 | %% show optimized poses 11 | opt_data = importdata('../data/optimized_poses.csv'); 12 | 13 | subplot(1,2,2); 14 | plot_poses(opt_data); 15 | 16 | -------------------------------------------------------------------------------- /slam_tutorial/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | slam_tutorial 4 | 0.0.0 5 | The slam_tutorial package 6 | 7 | Weikun Zhen 8 | 9 | TODO 10 | 11 | catkin 12 | roscpp 13 | std_msgs 14 | roscpp 15 | std_msgs 16 | roscpp 17 | std_msgs 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /slam_tutorial/src/ceres_spg.cpp: -------------------------------------------------------------------------------- 1 | /** Simple sparse pose graph example 2 | * 3 | * When reading through the code, you will find 2 blocks of code are missing. 4 | * The missing code are marked by 'TODO'. So find them and try to fill the code 5 | * so that the optimizer is configured to solve the given pose graph problem. 6 | */ 7 | 8 | #include 9 | #include 10 | #include // to use Eigen::Quaternion 11 | #include 12 | #include 13 | #include 14 | 15 | 16 | typedef Eigen::Quaterniond Quaternion; 17 | typedef Eigen::Vector3d Vec3; 18 | typedef Eigen::Vector2d Vec2; 19 | 20 | // 3D pose data structure 21 | struct Pose3D { 22 | Quaternion rotation; 23 | Vec3 translation; 24 | 25 | Pose3D(const Quaternion q, const Vec3 t){ 26 | rotation = q.normalized(); 27 | translation = t; 28 | } 29 | }; 30 | 31 | // relative pose error struct 32 | struct RelativePoseError3D { 33 | RelativePoseError3D(const Quaternion Rij, 34 | const Vec3 tij) : Rij(Rij), tij(tij) {} 35 | 36 | template 37 | bool operator()(const T* const rotation_i, 38 | const T* const translation_i, 39 | const T* const rotation_j, 40 | const T* const translation_j, 41 | T* residuals) const { 42 | 43 | Eigen::Quaternion dR; 44 | Eigen::Matrix dt; 45 | 46 | // TODO: fill in code to compute dR and dt. 47 | // dR is the rotation error, as a quaternion 48 | // dt is the translation error, as a 3-vector 49 | // The inputs: 50 | // Rij is the measured relative rotation 51 | // tij is the measured relative translation 52 | // rotation_i and rotation_j are quaternions of i, j to be optimized: 53 | // rotation_i is a pointer to {qw, qx, qy, qz} 54 | // translation_i and translation_j are positions to be optimized: 55 | // translation_i is a pointer to {x, y, z} 56 | // Hints: you will want to use template Eigen matrix or quaternion here: 57 | // https://eigen.tuxfamily.org/dox/group__TutorialMatrixClass.html 58 | { 59 | 60 | // Ref : CS184: Using Quaternions to Represent Rotation (https://personal.utdallas.edu/~sxb027100/dock/quaternion.html) 61 | Eigen::Quaternion Ri(rotation_i[0], rotation_i[1], rotation_i[2], rotation_i[3]); 62 | Eigen::Matrix ti(translation_i[0], translation_i[1], translation_i[2]); 63 | 64 | Eigen::Quaternion invRj(rotation_j[0],-rotation_j[1],-rotation_j[2],-rotation_j[3]); 65 | Eigen::Matrix tj(translation_j[0], translation_j[1], translation_j[2]); 66 | Eigen::Matrix invtj = invRj * Eigen::Matrix(-translation_j[0], -translation_j[1], -translation_j[2]); 67 | 68 | // Rji_estimate is estimated rotation (j_frame referenced w.r.t i_frame) 69 | Eigen::Quaternion Rji_estimate = invRj*Ri; 70 | // tji_estimate is estimated translation (j_frame referenced w.r.t i_frame) 71 | Eigen::Matrix tji_estimate = invRj*ti + invtj; 72 | 73 | // Compute dR and dt 74 | dR = Rji_estimate * Rij.cast(); 75 | dt = Rji_estimate * tij.cast() + tji_estimate; 76 | } 77 | 78 | // residuals. 79 | // quaternion is normailzed, so dR.w() is always 1. 80 | residuals[0] = dR.x(); 81 | residuals[1] = dR.y(); 82 | residuals[2] = dR.z(); 83 | residuals[3] = dt(0); 84 | residuals[4] = dt(1); 85 | residuals[5] = dt(2); 86 | 87 | return true; 88 | } 89 | 90 | static ceres::CostFunction* Create(const Quaternion Rij, 91 | const Vec3 tij) { 92 | return (new ceres::AutoDiffCostFunction( 93 | new RelativePoseError3D(Rij, tij))); 94 | } 95 | 96 | const Quaternion Rij; 97 | const Vec3 tij; 98 | }; 99 | 100 | /* 101 | Input : CSV file direcory 102 | Output : 2D vector (row : Index, col : 7 elements(translation & quternion)) 103 | */ 104 | std::vector> readCSV(const std::string fname) { 105 | std::ifstream pose_fid(fname.c_str()); 106 | std::string line; 107 | 108 | std::vector> data; 109 | while(std::getline(pose_fid, line)) { 110 | std::vector row; 111 | std::stringstream iss(line); 112 | std::string val; 113 | 114 | while (std::getline(iss, val, ',')) { 115 | double v = std::atof(val.c_str()); 116 | row.push_back(v); 117 | } 118 | data.push_back(row); 119 | } 120 | 121 | return data; 122 | } 123 | 124 | void run() { 125 | // load initial guess of all the node poses 126 | const auto pose_data = readCSV( 127 | "/root/slam_ws/src/slam_tutorial/data/initial_poses.csv"); 128 | std::map initial_poses; 129 | for(const auto& row : pose_data) { 130 | size_t pose_id(row[0]); 131 | Quaternion q(row[1], row[2], row[3], row[4]); 132 | Vec3 t(row[5], row[6], row[7]); 133 | Pose3D pose(q, t); 134 | initial_poses.insert(std::make_pair(pose_id, pose)); 135 | } 136 | std::cout << "Read " << initial_poses.size() << " poses." << std::endl; 137 | 138 | // load the relative pose constraints between nodes 139 | const auto constraint_data = readCSV( 140 | "/root/slam_ws/src/slam_tutorial/data/constraints.csv"); 141 | std::map, Pose3D> constraints; 142 | for(const auto& row : constraint_data) { 143 | std::pair pose_pair = std::make_pair(row[0], row[1]); 144 | Quaternion q(row[2], row[3], row[4], row[5]); 145 | Vec3 t(row[6], row[7], row[8]); 146 | Pose3D pose(q, t); 147 | constraints.insert(std::make_pair(pose_pair, pose)); 148 | } 149 | std::cout << "Read " << constraints.size() << " constraints." << std::endl; 150 | 151 | // we choose the node with id 0 to be fixed, so the all the result nodes 152 | // are optimized relative to this node 153 | size_t fixed_node_id = 0; 154 | 155 | // initialize the values of rotations and positions 156 | // here we make a copy of the initial values and store them in 157 | // ceres_rotations and ceres_positions. 158 | std::map> ceres_rotations; 159 | std::map> ceres_positions; 160 | 161 | // pose type : std::map 162 | for(const auto &pose : initial_poses) { 163 | // TODO: fill in code to initialize ceres_rotations and ceres_positions 164 | // from initial_poses 165 | 166 | // Initiize variables 167 | size_t pose_id(pose.first); 168 | Quaternion pose_q(pose.second.rotation); 169 | Vec3 pose_t(pose.second.translation); 170 | 171 | // I spent a lot of time converting std::vector and Eigen Matrix.... 172 | std::vector ceres_r = {pose_q.w(),pose_q.x() ,pose_q.y(),pose_q.z()}; 173 | std::vector ceres_t = {pose_t[0], pose_t[1], pose_t[2]}; 174 | 175 | // initialize ceres_rotations and ceres_positions 176 | ceres_rotations[pose_id] = ceres_r; 177 | ceres_positions[pose_id] = ceres_t; 178 | } 179 | 180 | // declare the ceres problem 181 | ceres::Problem problem; 182 | 183 | // the quaternion parameterization is used to let ceres solver know that 184 | // a parameter block should be solve as a quaternion, not 4 free values 185 | ceres::LocalParameterization *quaternion_parameterization = 186 | new ceres::QuaternionParameterization; 187 | 188 | // add all constraints to the defined problem 189 | for(const auto &constr : constraints) { 190 | // get the node id of the current constraint 191 | const size_t I = constr.first.first; 192 | const size_t J = constr.first.second; 193 | 194 | // loss function is also called robust loss function. it is a 195 | // technique to reduce the effects of outliers. here we choose 196 | // to use the Huber loss. 197 | ceres::LossFunction* loss_func(new ceres::HuberLoss(0.1)); 198 | 199 | // initialize the relative pose error function 200 | ceres::CostFunction* cost_function = 201 | RelativePoseError3D::Create( 202 | constr.second.rotation, 203 | constr.second.translation); 204 | 205 | // add the error term to the problem 206 | problem.AddResidualBlock( 207 | cost_function, 208 | loss_func, 209 | &(ceres_rotations[I][0]), 210 | &(ceres_positions[I][0]), 211 | &(ceres_rotations[J][0]), 212 | &(ceres_positions[J][0])); 213 | 214 | // let the ceres solver know that the rotation blocks are quaternions 215 | problem.SetParameterization( 216 | &(ceres_rotations[I][0]), 217 | quaternion_parameterization); 218 | problem.SetParameterization( 219 | &(ceres_rotations[J][0]), 220 | quaternion_parameterization); 221 | } 222 | 223 | // we want to set one of the nodes to be fixed during the optimization, 224 | // otherwise, the whole graph will become 'floating'. 225 | problem.SetParameterBlockConstant(&(ceres_rotations[fixed_node_id][0])); 226 | problem.SetParameterBlockConstant(&(ceres_positions[fixed_node_id][0])); 227 | 228 | // define solver options (solver type, logging options etc.) 229 | ceres::Solver::Options options; 230 | options.linear_solver_type = ceres::SPARSE_NORMAL_CHOLESKY; 231 | options.max_num_iterations = 200; 232 | options.minimizer_progress_to_stdout = true; 233 | 234 | // call the solve function to optimize the constructed problem 235 | ceres::Solver::Summary summary; 236 | ceres::Solve(options, &problem, &summary); 237 | 238 | // print out the optimization logging info (FullReport() or BriefReport()) 239 | std::cout << summary.FullReport() << std::endl; 240 | 241 | // write results to csv file 242 | std::ofstream out; 243 | out.open("/root/slam_ws/src/slam_tutorial/data/optimized_poses.csv"); 244 | for(auto it = ceres_rotations.begin(); it != ceres_rotations.end(); ++it) { 245 | const auto id = it->first; 246 | const auto rotation = it->second; 247 | const auto position = ceres_positions.at(id); 248 | 249 | out << id << ", " 250 | << rotation[0] << ", " << rotation[1] << ", " 251 | << rotation[2] << ", " << rotation[3] << ", " 252 | << position[0] << ", " << position[2] << ", " << position[3] 253 | << "\n"; 254 | } 255 | out.close(); 256 | } 257 | 258 | int main(int argc, char** argv) { 259 | 260 | run(); 261 | return 0; 262 | } -------------------------------------------------------------------------------- /slam_tutorial/src/gtsam_spg.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * A 2D pose-graph SLAM example modified from Jing Dong's repo: 3 | * https://github.com/dongjing3309/gtsam-examples 4 | * The robot moves from x1 to x5, with odometry information between each pair. 5 | * the robot moves 5 each step, and makes 90 deg right turns at x3 - x5 6 | * At x5, there is a *loop closure* between x2 is avaible 7 | * The graph strcuture is shown: 8 | * 9 | * p-x1 - x2 - x3 10 | * | | 11 | * x5 - x4 12 | */ 13 | 14 | 15 | #include 16 | 17 | // In planar cases we use Pose2 variables (x, y, theta) to represent the robot poses in SE(2) 18 | #include 19 | 20 | // class for factor graph, a container of various factors 21 | #include 22 | 23 | // class for graph nodes values, a container of various geometric types 24 | // here Values is used as a container of SE(2) 25 | #include 26 | 27 | // symbol class is used to index varible in values 28 | // e.g. pose varibles are generally indexed as 'x' + number, and landmarks as 'l' + numbers 29 | #include 30 | 31 | // Factors used in this examples 32 | // PriorFactor gives the prior distribution over a varible 33 | // BetweenFactor gives odometry constraints 34 | #include 35 | #include 36 | 37 | // optimizer class, here we use Gauss-Newton 38 | #include 39 | 40 | // Once the optimized values have been calculated, we can also calculate the 41 | // (appoximated / linearized) marginal covariance of desired variables 42 | #include 43 | 44 | 45 | using namespace std; 46 | using namespace gtsam; 47 | 48 | int main(int argc, char** argv) { 49 | 50 | // Create a factor graph container 51 | NonlinearFactorGraph graph; 52 | 53 | // Add a prior on the first pose, setting it to the origin 54 | // The prior is needed to fix/align the whole trajectory at world frame 55 | // A prior factor consists of a mean value and a noise model (covariance matrix) 56 | noiseModel::Diagonal::shared_ptr priorModel = noiseModel::Diagonal::Sigmas(Vector3(1.0, 1.0, 0.1)); 57 | graph.add(PriorFactor(Symbol('x', 1), Pose2(0, 0, 0), priorModel)); 58 | 59 | // odometry measurement noise model (covariance matrix) 60 | noiseModel::Diagonal::shared_ptr odomModel = noiseModel::Diagonal::Sigmas(Vector3(0.5, 0.5, 0.1)); 61 | 62 | // Add odometry factors 63 | // Create odometry (Between) factors between consecutive poses 64 | // robot makes 90 deg right turns at x3 - x5 65 | graph.add(BetweenFactor(Symbol('x', 1), Symbol('x', 2), Pose2(5, 0, 0), odomModel)); 66 | graph.add(BetweenFactor(Symbol('x', 2), Symbol('x', 3), Pose2(5, 0, -M_PI_2), odomModel)); 67 | graph.add(BetweenFactor(Symbol('x', 3), Symbol('x', 4), Pose2(5, 0, -M_PI_2), odomModel)); 68 | graph.add(BetweenFactor(Symbol('x', 4), Symbol('x', 5), Pose2(5, 0, -M_PI_2), odomModel)); 69 | 70 | // loop closure measurement noise model 71 | noiseModel::Diagonal::shared_ptr loopModel = noiseModel::Diagonal::Sigmas(Vector3(0.5, 0.5, 0.1)); 72 | 73 | // Add the loop closure constraint 74 | graph.add(BetweenFactor(Symbol('x', 5), Symbol('x', 2), Pose2(5, 0, -M_PI_2), loopModel)); 75 | 76 | // print factor graph 77 | graph.print("\nFactor Graph:\n"); 78 | 79 | // initial varible values for the optimization 80 | // add random noise from ground truth values 81 | Values initials; 82 | initials.insert(Symbol('x', 1), Pose2(0.2, -0.3, 0.2)); 83 | initials.insert(Symbol('x', 2), Pose2(5.1, 0.3, -0.1)); 84 | initials.insert(Symbol('x', 3), Pose2(9.9, -0.1, -M_PI_2 - 0.2)); 85 | initials.insert(Symbol('x', 4), Pose2(10.2, -5.0, -M_PI + 0.1)); 86 | initials.insert(Symbol('x', 5), Pose2(5.1, -5.1, M_PI_2 - 0.1)); 87 | 88 | // print initial values 89 | initials.print("\nInitial Values:\n"); 90 | 91 | 92 | // Use Gauss-Newton method optimizes the initial values 93 | GaussNewtonParams parameters; 94 | 95 | // print per iteration 96 | parameters.setVerbosity("ERROR"); 97 | 98 | // optimize! 99 | GaussNewtonOptimizer optimizer(graph, initials, parameters); 100 | Values results = optimizer.optimize(); 101 | 102 | // print final values 103 | results.print("Final Result:\n"); 104 | 105 | // Calculate marginal covariances for all poses 106 | Marginals marginals(graph, results); 107 | 108 | // print marginal covariances 109 | cout << "x1 covariance:\n" << marginals.marginalCovariance(Symbol('x', 1)) << endl; 110 | cout << "x2 covariance:\n" << marginals.marginalCovariance(Symbol('x', 2)) << endl; 111 | cout << "x3 covariance:\n" << marginals.marginalCovariance(Symbol('x', 3)) << endl; 112 | cout << "x4 covariance:\n" << marginals.marginalCovariance(Symbol('x', 4)) << endl; 113 | cout << "x5 covariance:\n" << marginals.marginalCovariance(Symbol('x', 5)) << endl; 114 | 115 | return 0; 116 | } --------------------------------------------------------------------------------