├── README.md ├── Report_Wall_Follower.pdf └── src ├── CMakeLists.txt ├── maze ├── CMakeLists.txt ├── launch │ └── maze.launch ├── package.xml └── world │ ├── maze.world │ └── maze2.world └── motion_plan ├── CMakeLists.txt ├── nodes └── follow_wall.py └── package.xml /README.md: -------------------------------------------------------------------------------- 1 | # Wall-follower-in-ROS-using-Python 2 | 3 | This was my final project for a robotics course in UMD. (ENPM809E - Python Applications for Robotics) 4 | 5 | This algorithm was implemented using the [Robot Operating System (ROS)](http://www.ros.org/) libraries, [Gazebo](http://gazebosim.org/) as simulator and [Python](https://www.python.org/) as programming language. 6 | 7 | ## Task 8 | The goal of this project is to solve a maze problem using only one Turtlebot 3 robot which comes equipped with a laser scanner. 9 | 10 | We had to achieve the following tasks: 11 | 12 | * Detect a wall 13 | * Follow the wall 14 | * Avoid collision with obstacles 15 | * Find the exit 16 | 17 | We had to accomplish the Tasks automatically. 18 | 19 | ### Test Environment 20 | - ROS: Melodic 21 | - Ubuntu: 18.04LTS 22 | - Python: 3.6.9 23 | - (Gazebo: 9.0.0) 24 | 25 | ### Approached Code Structure 26 | 27 | To execute the same, I created one python package(FinalProject_ws) which has one module (motion_plan). 28 | This module can be used in any catkin space if configured as per the tree below. 29 | 30 | . 31 | └── catkin_ws # Your simulation workspace 32 | ├── src # Cloned from this directory 33 | │ ├── maze 34 | │ │ ├── launch 35 | │ │ | ├── maze.launch 36 | │ │ ├── world 37 | │ │ | ├── maze.world # Folder that contains maze 1's definitions 38 | │ │ | └── maze2.world # Folder that contains maze 2's definitions 39 | │ │ ├── CMakeLists.txt 40 | │ │ └── pakage.xml 41 | │ ├── motion_plan 42 | │ │ ├── nodes 43 | │ │ | ├── follow_wall.py # Folder that contains motion planning for the robot 44 | │ │ ├── src 45 | │ │ | └── ... 46 | │ │ ├── CMakeLists.txt 47 | │ │ └── pakage.xml 48 | │ └── CMakeLists.txt 49 | ├── devel # Folder created after compilation 50 | └── build # Folder created after compilation 51 | 52 | ### Follow_wall.py: 53 | 54 | This program consists of various fiunctions to check if the bot has detected a wall and based on the distance from obstacle on 55 | right side and left side, the program will either enter the algorithm for Right wall follower or the Left wall follower. 56 | 57 | 58 | 59 | ## Instructions to run the code:(In PyCharm) 60 | 61 | * Download the 'FinalProject_Nimbekar.zip' folder from Canvas and unzip it. 62 | 63 | * Run the `roscore` command in terminal to start ros. 64 | 65 | * Run the maze in terminal one: 66 | ``` 67 | roslaunch maze maze.launch 68 | ``` 69 | * Then run the Code in terminal two: 70 | ``` 71 | rosrun motion_plan follow_wall.py 72 | ``` 73 | * Manually stop the code once the maze is cleared. 74 | 75 | ## Built With 76 | 77 | * [ROS](http://www.ros.org/) - Set of software libraries and tools used to build the robot 78 | * [Gazebo](http://gazebosim.org/) - Tool used to simulation 79 | * [Python](https://www.python.org/) - Programming language 80 | 81 | ## Author 82 | [Nupur Nimbekar](https://github.com/nimbekarnd) 83 | -------------------------------------------------------------------------------- /Report_Wall_Follower.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/nimbekarnd/Wall-follower-in-ROS-using-Python/5aa95b09f6ff5afbfe52be0c0795f9ab609c06f1/Report_Wall_Follower.pdf -------------------------------------------------------------------------------- /src/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | /opt/ros/melodic/share/catkin/cmake/toplevel.cmake -------------------------------------------------------------------------------- /src/maze/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | project(maze) 3 | 4 | ## Compile as C++11, supported in ROS Kinetic and newer 5 | # add_compile_options(-std=c++11) 6 | 7 | ## Find catkin macros and libraries 8 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 9 | ## is used, also find other catkin packages 10 | find_package(catkin REQUIRED) 11 | 12 | ## System dependencies are found with CMake's conventions 13 | # find_package(Boost REQUIRED COMPONENTS system) 14 | 15 | 16 | ## Uncomment this if the package has a setup.py. This macro ensures 17 | ## modules and global scripts declared therein get installed 18 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html 19 | # catkin_python_setup() 20 | 21 | ################################################ 22 | ## Declare ROS messages, services and actions ## 23 | ################################################ 24 | 25 | ## To declare and build messages, services or actions from within this 26 | ## package, follow these steps: 27 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in 28 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 29 | ## * In the file package.xml: 30 | ## * add a build_depend tag for "message_generation" 31 | ## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET 32 | ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in 33 | ## but can be declared for certainty nonetheless: 34 | ## * add a exec_depend tag for "message_runtime" 35 | ## * In this file (CMakeLists.txt): 36 | ## * add "message_generation" and every package in MSG_DEP_SET to 37 | ## find_package(catkin REQUIRED COMPONENTS ...) 38 | ## * add "message_runtime" and every package in MSG_DEP_SET to 39 | ## catkin_package(CATKIN_DEPENDS ...) 40 | ## * uncomment the add_*_files sections below as needed 41 | ## and list every .msg/.srv/.action file to be processed 42 | ## * uncomment the generate_messages entry below 43 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 44 | 45 | ## Generate messages in the 'msg' folder 46 | # add_message_files( 47 | # FILES 48 | # Message1.msg 49 | # Message2.msg 50 | # ) 51 | 52 | ## Generate services in the 'srv' folder 53 | # add_service_files( 54 | # FILES 55 | # Service1.srv 56 | # Service2.srv 57 | # ) 58 | 59 | ## Generate actions in the 'action' folder 60 | # add_action_files( 61 | # FILES 62 | # Action1.action 63 | # Action2.action 64 | # ) 65 | 66 | ## Generate added messages and services with any dependencies listed here 67 | # generate_messages( 68 | # DEPENDENCIES 69 | # std_msgs # Or other packages containing msgs 70 | # ) 71 | 72 | ################################################ 73 | ## Declare ROS dynamic reconfigure parameters ## 74 | ################################################ 75 | 76 | ## To declare and build dynamic reconfigure parameters within this 77 | ## package, follow these steps: 78 | ## * In the file package.xml: 79 | ## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" 80 | ## * In this file (CMakeLists.txt): 81 | ## * add "dynamic_reconfigure" to 82 | ## find_package(catkin REQUIRED COMPONENTS ...) 83 | ## * uncomment the "generate_dynamic_reconfigure_options" section below 84 | ## and list every .cfg file to be processed 85 | 86 | ## Generate dynamic reconfigure parameters in the 'cfg' folder 87 | # generate_dynamic_reconfigure_options( 88 | # cfg/DynReconf1.cfg 89 | # cfg/DynReconf2.cfg 90 | # ) 91 | 92 | ################################### 93 | ## catkin specific configuration ## 94 | ################################### 95 | ## The catkin_package macro generates cmake config files for your package 96 | ## Declare things to be passed to dependent projects 97 | ## INCLUDE_DIRS: uncomment this if your package contains header files 98 | ## LIBRARIES: libraries you create in this project that dependent projects also need 99 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 100 | ## DEPENDS: system dependencies of this project that dependent projects also need 101 | catkin_package( 102 | # INCLUDE_DIRS include 103 | # LIBRARIES maze 104 | # CATKIN_DEPENDS other_catkin_pkg 105 | # DEPENDS system_lib 106 | ) 107 | 108 | ########### 109 | ## Build ## 110 | ########### 111 | 112 | ## Specify additional locations of header files 113 | ## Your package locations should be listed before other locations 114 | include_directories( 115 | # include 116 | # ${catkin_INCLUDE_DIRS} 117 | ) 118 | 119 | ## Declare a C++ library 120 | # add_library(${PROJECT_NAME} 121 | # src/${PROJECT_NAME}/maze.cpp 122 | # ) 123 | 124 | ## Add cmake target dependencies of the library 125 | ## as an example, code may need to be generated before libraries 126 | ## either from message generation or dynamic reconfigure 127 | # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 128 | 129 | ## Declare a C++ executable 130 | ## With catkin_make all packages are built within a single CMake context 131 | ## The recommended prefix ensures that target names across packages don't collide 132 | # add_executable(${PROJECT_NAME}_node src/maze_node.cpp) 133 | 134 | ## Rename C++ executable without prefix 135 | ## The above recommended prefix causes long target names, the following renames the 136 | ## target back to the shorter version for ease of user use 137 | ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" 138 | # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") 139 | 140 | ## Add cmake target dependencies of the executable 141 | ## same as for the library above 142 | # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 143 | 144 | ## Specify libraries to link a library or executable target against 145 | # target_link_libraries(${PROJECT_NAME}_node 146 | # ${catkin_LIBRARIES} 147 | # ) 148 | 149 | ############# 150 | ## Install ## 151 | ############# 152 | 153 | # all install targets should use catkin DESTINATION variables 154 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html 155 | 156 | ## Mark executable scripts (Python etc.) for installation 157 | ## in contrast to setup.py, you can choose the destination 158 | # catkin_install_python(PROGRAMS 159 | # scripts/my_python_script 160 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 161 | # ) 162 | 163 | ## Mark executables for installation 164 | ## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html 165 | # install(TARGETS ${PROJECT_NAME}_node 166 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 167 | # ) 168 | 169 | ## Mark libraries for installation 170 | ## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html 171 | # install(TARGETS ${PROJECT_NAME} 172 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 173 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 174 | # RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} 175 | # ) 176 | 177 | ## Mark cpp header files for installation 178 | # install(DIRECTORY include/${PROJECT_NAME}/ 179 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 180 | # FILES_MATCHING PATTERN "*.h" 181 | # PATTERN ".svn" EXCLUDE 182 | # ) 183 | 184 | ## Mark other files for installation (e.g. launch and bag files, etc.) 185 | # install(FILES 186 | # # myfile1 187 | # # myfile2 188 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 189 | # ) 190 | 191 | ############# 192 | ## Testing ## 193 | ############# 194 | 195 | ## Add gtest based cpp test target and link libraries 196 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_maze.cpp) 197 | # if(TARGET ${PROJECT_NAME}-test) 198 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) 199 | # endif() 200 | 201 | ## Add folders to be run by python nosetests 202 | # catkin_add_nosetests(test) 203 | -------------------------------------------------------------------------------- /src/maze/launch/maze.launch: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | -------------------------------------------------------------------------------- /src/maze/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | maze 4 | 0.0.0 5 | The maze package 6 | 7 | 8 | 9 | 10 | zeid 11 | 12 | 13 | 14 | 15 | 16 | TODO 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | catkin 52 | 53 | 54 | 55 | 56 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /src/maze/world/maze.world: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | model://ground_plane 7 | 8 | 9 | 10 | model://sun 11 | 12 | 13 | 0.7 0.7 0.7 0 14 | 1 1 1 0 15 | -1 -1 -1 16 | 17 | 18 | 19 | 9.80009 2.02423 9e-06 0 -0 0 20 | 21 | 1 22 | 23 | 0.166667 24 | 0 25 | 0 26 | 0.166667 27 | 0 28 | 0.166667 29 | 30 | 31 | 32 | 0 0 0 0 -0 0 33 | 34 | 35 | 1 1 1 36 | 37 | 38 | 39 | 1 40 | 44 | 255 255 255 1 45 | 255 255 255 1 46 | 0.01 0.01 0.01 1 47 | 0 0 0 1 48 | 49 | 0 50 | 1 51 | 52 | 53 | 0 54 | 10 55 | 0 0 0 0 -0 0 56 | 57 | 58 | 1 1 1 59 | 60 | 61 | 62 | 63 | 64 | 1 65 | 1 66 | 0 0 0 67 | 0 68 | 0 69 | 70 | 71 | 1 72 | 0 73 | 0 74 | 1 75 | 76 | 0 77 | 78 | 79 | 80 | 81 | 0 82 | 1e+06 83 | 84 | 85 | 0 86 | 1 87 | 1 88 | 89 | 0 90 | 0.2 91 | 1e+13 92 | 1 93 | 0.01 94 | 0 95 | 96 | 97 | 1 98 | -0.01 99 | 0 100 | 0.2 101 | 1e+13 102 | 1 103 | 104 | 105 | 106 | 107 | 108 | 109 | -16.644698 -5.273962 0.499997 0 -0 0 110 | 111 | 1 112 | 113 | 0.15 114 | 0 115 | 0 116 | 0.15 117 | 0 118 | 0.13 119 | 120 | 121 | 122 | 0 0 0 0 -0 0 123 | 124 | 125 | 0.5 126 | 1 127 | 128 | 129 | 130 | 1 131 | 135 | 74 143 121 1.0 136 | 74 143 121 1.0 137 | 0.01 0.01 0.01 1 138 | 0 0 0 1 139 | 140 | 0 141 | 1 142 | 143 | 144 | 0 145 | 10 146 | 0 0 0 0 -0 0 147 | 148 | 149 | 0.5 150 | 1 151 | 152 | 153 | 154 | 155 | 156 | 1 157 | 1 158 | 0 0 0 159 | 0 160 | 0 161 | 162 | 163 | 1 164 | 0 165 | 0 166 | 1 167 | 168 | 0 169 | 170 | 171 | 172 | 173 | 0 174 | 1e+06 175 | 176 | 177 | 0 178 | 1 179 | 1 180 | 181 | 0 182 | 0.2 183 | 1e+13 184 | 1 185 | 0.01 186 | 0 187 | 188 | 189 | 1 190 | -0.01 191 | 0 192 | 0.2 193 | 1e+13 194 | 1 195 | 196 | 197 | 198 | 199 | 200 | 201 | -20.654128 -5.607245 -0.000514 -0.000514 -0.000006 202 | 203 | 2.3361 204 | 205 | 0.25269 206 | 0 207 | 0 208 | 3.75965 209 | 0 210 | 3.62299 211 | 212 | 0 0 0 0 -0 0 213 | 214 | 215 | 0 0 0 0 -0 0 216 | 217 | 218 | 1 4.353760 1 219 | 220 | 221 | 222 | 1 223 | 227 | 148 64 50 1 228 | 148 64 50 1 229 | 0.01 0.01 0.01 1 230 | 0 0 0 1 231 | 232 | 233 | 0 234 | 1 235 | 236 | 237 | 0 238 | 10 239 | 0 0 0 0 -0 0 240 | 241 | 242 | 1 4.353760 1 243 | 244 | 245 | 246 | 247 | 248 | 1 249 | 1 250 | 0 0 0 251 | 0 252 | 0 253 | 254 | 255 | 1 256 | 0 257 | 0 258 | 1 259 | 260 | 0 261 | 262 | 263 | 264 | 265 | 0 266 | 1e+06 267 | 268 | 269 | 0 270 | 1 271 | 1 272 | 273 | 0 274 | 0.2 275 | 1e+13 276 | 1 277 | 0.01 278 | 0 279 | 280 | 281 | 1 282 | -0.01 283 | 0 284 | 0.2 285 | 1e+13 286 | 1 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 6.31823 4.34711 9e-06 0 -0 0 295 | 296 | 1 297 | 298 | 0.166667 299 | 0 300 | 0 301 | 0.166667 302 | 0 303 | 0.166667 304 | 305 | 306 | 307 | 0 0 0 0 -0 0 308 | 309 | 310 | 1 1 1 311 | 312 | 313 | 314 | 1 315 | 319 | 225 56 67 1 320 | 225 56 67 1 321 | 0.01 0.01 0.01 1 322 | 0 0 0 1 323 | 324 | 0 325 | 1 326 | 327 | 328 | 0 329 | 10 330 | 0 0 0 0 -0 0 331 | 332 | 333 | 1 1 1 334 | 335 | 336 | 337 | 338 | 339 | 1 340 | 1 341 | 0 0 0 342 | 0 343 | 0 344 | 345 | 346 | 1 347 | 0 348 | 0 349 | 1 350 | 351 | 0 352 | 353 | 354 | 355 | 356 | 0 357 | 1e+06 358 | 359 | 360 | 0 361 | 1 362 | 1 363 | 364 | 0 365 | 0.2 366 | 1e+13 367 | 1 368 | 0.01 369 | 0 370 | 371 | 372 | 1 373 | -0.01 374 | 0 375 | 0.2 376 | 1e+13 377 | 1 378 | 379 | 380 | 381 | 382 | 383 | 384 | 7.00494 5.00129 9e-06 0 -0 0 385 | 386 | 1 387 | 388 | 0.166667 389 | 0 390 | 0 391 | 0.166667 392 | 0 393 | 0.166667 394 | 395 | 396 | 397 | 0 0 0 0 -0 0 398 | 399 | 400 | 1 1 1 401 | 402 | 403 | 404 | 1 405 | 409 | 225 56 67 1 410 | 225 56 67 1 411 | 0.01 0.01 0.01 1 412 | 0 0 0 1 413 | 414 | 0 415 | 1 416 | 417 | 418 | 0 419 | 10 420 | 0 0 0 0 -0 0 421 | 422 | 423 | 1 1 1 424 | 425 | 426 | 427 | 428 | 429 | 1 430 | 1 431 | 0 0 0 432 | 0 433 | 0 434 | 435 | 436 | 1 437 | 0 438 | 0 439 | 1 440 | 441 | 0 442 | 443 | 444 | 445 | 446 | 0 447 | 1e+06 448 | 449 | 450 | 0 451 | 1 452 | 1 453 | 454 | 0 455 | 0.2 456 | 1e+13 457 | 1 458 | 0.01 459 | 0 460 | 461 | 462 | 1 463 | -0.01 464 | 0 465 | 0.2 466 | 1e+13 467 | 1 468 | 469 | 470 | 471 | 472 | 473 | 474 | 10.7124 2.54643 9e-06 0 -0 0 475 | 476 | 1 477 | 478 | 0.166667 479 | 0 480 | 0 481 | 0.166667 482 | 0 483 | 0.166667 484 | 485 | 486 | 487 | 0 0 0 0 -0 0 488 | 489 | 490 | 1 1 1 491 | 492 | 493 | 494 | 1 495 | 499 | 255 255 255 1 500 | 255 255 255 1 501 | 0.01 0.01 0.01 1 502 | 0 0 0 1 503 | 504 | 0 505 | 1 506 | 507 | 508 | 0 509 | 10 510 | 0 0 0 0 -0 0 511 | 512 | 513 | 1 1 1 514 | 515 | 516 | 517 | 518 | 519 | 1 520 | 1 521 | 0 0 0 522 | 0 523 | 0 524 | 525 | 526 | 1 527 | 0 528 | 0 529 | 1 530 | 531 | 0 532 | 533 | 534 | 535 | 536 | 0 537 | 1e+06 538 | 539 | 540 | 0 541 | 1 542 | 1 543 | 544 | 0 545 | 0.2 546 | 1e+13 547 | 1 548 | 0.01 549 | 0 550 | 551 | 552 | 1 553 | -0.01 554 | 0 555 | 0.2 556 | 1e+13 557 | 1 558 | 559 | 560 | 561 | 562 | 563 | 564 | -21.4897 -10.6297 9e-06 0 -0 0 565 | 566 | 4.30693 567 | 568 | 0.46587 569 | 0 570 | 0 571 | 22.6991 572 | 0 573 | 22.4471 574 | 575 | 0 0 0 0 -0 0 576 | 577 | 578 | 0 0 0 0 -0 0 579 | 580 | 581 | 7.88951 0.545905 1 582 | 583 | 584 | 585 | 1 586 | 590 | 85 114 151 1 591 | 85 114 151 1 592 | 0.01 0.01 0.01 1 593 | 0 0 0 1 594 | 595 | 596 | 0 597 | 1 598 | 599 | 600 | 0 601 | 10 602 | 0 0 0 0 -0 0 603 | 604 | 605 | 7.88951 0.545905 1 606 | 607 | 608 | 609 | 610 | 611 | 1 612 | 1 613 | 0 0 0 614 | 0 615 | 0 616 | 617 | 618 | 1 619 | 0 620 | 0 621 | 1 622 | 623 | 0 624 | 625 | 626 | 627 | 628 | 0 629 | 1e+06 630 | 631 | 632 | 0 633 | 1 634 | 1 635 | 636 | 0 637 | 0.2 638 | 1e+13 639 | 1 640 | 0.01 641 | 0 642 | 643 | 644 | 1 645 | -0.01 646 | 0 647 | 0.2 648 | 1e+13 649 | 1 650 | 651 | 652 | 653 | 654 | 655 | 656 | -17.8012 -10.6509 9e-06 0 -0 0 657 | 658 | 4.30693 659 | 660 | 0.46587 661 | 0 662 | 0 663 | 22.6991 664 | 0 665 | 22.4471 666 | 667 | 0 0 0 0 -0 0 668 | 669 | 670 | 0 0 0 0 -0 0 671 | 672 | 673 | 7.88951 0.545905 1 674 | 675 | 676 | 677 | 1 678 | 682 | 85 114 151 1 683 | 85 114 151 1 684 | 0.01 0.01 0.01 1 685 | 0 0 0 1 686 | 687 | 688 | 0 689 | 1 690 | 691 | 692 | 0 693 | 10 694 | 0 0 0 0 -0 0 695 | 696 | 697 | 7.88951 0.545905 1 698 | 699 | 700 | 701 | 702 | 703 | 1 704 | 1 705 | 0 0 0 706 | 0 707 | 0 708 | 709 | 710 | 1 711 | 0 712 | 0 713 | 1 714 | 715 | 0 716 | 717 | 718 | 719 | 720 | 0 721 | 1e+06 722 | 723 | 724 | 0 725 | 1 726 | 1 727 | 728 | 0 729 | 0.2 730 | 1e+13 731 | 1 732 | 0.01 733 | 0 734 | 735 | 736 | 1 737 | -0.01 738 | 0 739 | 0.2 740 | 1e+13 741 | 1 742 | 743 | 744 | 745 | 746 | 747 | 748 | -21.5718 -0.350427 9e-06 0 -0 0 749 | 750 | 4.30693 751 | 752 | 0.46587 753 | 0 754 | 0 755 | 22.6991 756 | 0 757 | 22.4471 758 | 759 | 0 0 0 0 -0 0 760 | 761 | 762 | 0 0 0 0 -0 0 763 | 764 | 765 | 7.88951 0.545905 1 766 | 767 | 768 | 769 | 1 770 | 774 | 85 114 151 1 775 | 85 114 151 1 776 | 0.01 0.01 0.01 1 777 | 0 0 0 1 778 | 779 | 780 | 0 781 | 1 782 | 783 | 784 | 0 785 | 10 786 | 0 0 0 0 -0 0 787 | 788 | 789 | 7.88951 0.545905 1 790 | 791 | 792 | 793 | 794 | 795 | 1 796 | 1 797 | 0 0 0 798 | 0 799 | 0 800 | 801 | 802 | 1 803 | 0 804 | 0 805 | 1 806 | 807 | 0 808 | 809 | 810 | 811 | 812 | 0 813 | 1e+06 814 | 815 | 816 | 0 817 | 1 818 | 1 819 | 820 | 0 821 | 0.2 822 | 1e+13 823 | 1 824 | 0.01 825 | 0 826 | 827 | 828 | 1 829 | -0.01 830 | 0 831 | 0.2 832 | 1e+13 833 | 1 834 | 835 | 836 | 837 | 838 | 839 | 840 | -14.0594 -0.346312 9e-06 0 -0 0 841 | 842 | 4.30693 843 | 844 | 0.46587 845 | 0 846 | 0 847 | 22.6991 848 | 0 849 | 22.4471 850 | 851 | 0 0 0 0 -0 0 852 | 853 | 854 | 0 0 0 0 -0 0 855 | 856 | 857 | 7.88951 0.545905 1 858 | 859 | 860 | 861 | 1 862 | 866 | 85 114 151 1 867 | 85 114 151 1 868 | 0.01 0.01 0.01 1 869 | 0 0 0 1 870 | 871 | 872 | 0 873 | 1 874 | 875 | 876 | 0 877 | 10 878 | 0 0 0 0 -0 0 879 | 880 | 881 | 7.88951 0.545905 1 882 | 883 | 884 | 885 | 886 | 887 | 1 888 | 1 889 | 0 0 0 890 | 0 891 | 0 892 | 893 | 894 | 1 895 | 0 896 | 0 897 | 1 898 | 899 | 0 900 | 901 | 902 | 903 | 904 | 0 905 | 1e+06 906 | 907 | 908 | 0 909 | 1 910 | 1 911 | 912 | 0 913 | 0.2 914 | 1e+13 915 | 1 916 | 0.01 917 | 0 918 | 919 | 920 | 1 921 | -0.01 922 | 0 923 | 0.2 924 | 1e+13 925 | 1 926 | 927 | 928 | 929 | 930 | 931 | 932 | -10.6658 -10.6545 9e-06 0 -0 0 933 | 934 | 4.30693 935 | 936 | 0.46587 937 | 0 938 | 0 939 | 22.6991 940 | 0 941 | 22.4471 942 | 943 | 0 0 0 0 -0 0 944 | 945 | 946 | 0 0 0 0 -0 0 947 | 948 | 949 | 7.88951 0.545905 1 950 | 951 | 952 | 953 | 1 954 | 958 | 85 114 151 1 959 | 85 114 151 1 960 | 0.01 0.01 0.01 1 961 | 0 0 0 1 962 | 963 | 964 | 0 965 | 1 966 | 967 | 968 | 0 969 | 10 970 | 0 0 0 0 -0 0 971 | 972 | 973 | 7.88951 0.545905 1 974 | 975 | 976 | 977 | 978 | 979 | 1 980 | 1 981 | 0 0 0 982 | 0 983 | 0 984 | 985 | 986 | 1 987 | 0 988 | 0 989 | 1 990 | 991 | 0 992 | 993 | 994 | 995 | 996 | 0 997 | 1e+06 998 | 999 | 1000 | 0 1001 | 1 1002 | 1 1003 | 1004 | 0 1005 | 0.2 1006 | 1e+13 1007 | 1 1008 | 0.01 1009 | 0 1010 | 1011 | 1012 | 1 1013 | -0.01 1014 | 0 1015 | 0.2 1016 | 1e+13 1017 | 1 1018 | 1019 | 1020 | 1021 | 1022 | 1023 | 1024 | -3.41756 3.78222 9e-06 0 -0 0 1025 | 1026 | 3.50538 1027 | 1028 | 0.379168 1029 | 0 1030 | 0 1031 | 12.3366 1032 | 0 1033 | 12.1315 1034 | 1035 | 0 0 0 0 -0 0 1036 | 1037 | 1038 | 0 0 0 0 -0 0 1039 | 1040 | 1041 | 6.42122 0.545905 1 1042 | 1043 | 1044 | 1045 | 1 1046 | 1050 | 85 114 151 1 1051 | 85 114 151 1 1052 | 0.01 0.01 0.01 1 1053 | 0 0 0 1 1054 | 1055 | 1056 | 0 1057 | 1 1058 | 1059 | 1060 | 0 1061 | 10 1062 | 0 0 0 0 -0 0 1063 | 1064 | 1065 | 6.42122 0.545905 1 1066 | 1067 | 1068 | 1069 | 1070 | 1071 | 1 1072 | 1 1073 | 0 0 0 1074 | 0 1075 | 0 1076 | 1077 | 1078 | 1 1079 | 0 1080 | 0 1081 | 1 1082 | 1083 | 0 1084 | 1085 | 1086 | 1087 | 1088 | 0 1089 | 1e+06 1090 | 1091 | 1092 | 0 1093 | 1 1094 | 1 1095 | 1096 | 0 1097 | 0.2 1098 | 1e+13 1099 | 1 1100 | 0.01 1101 | 0 1102 | 1103 | 1104 | 1 1105 | -0.01 1106 | 0 1107 | 0.2 1108 | 1e+13 1109 | 1 1110 | 1111 | 1112 | 1113 | 1114 | 1115 | 1116 | -2.67814 -10.6624 9e-06 0 -0 0 1117 | 1118 | 4.30693 1119 | 1120 | 0.46587 1121 | 0 1122 | 0 1123 | 22.6991 1124 | 0 1125 | 22.4471 1126 | 1127 | 0 0 0 0 -0 0 1128 | 1129 | 1130 | 0 0 0 0 -0 0 1131 | 1132 | 1133 | 7.88951 0.545905 1 1134 | 1135 | 1136 | 1137 | 1 1138 | 1142 | 85 114 151 1 1143 | 85 114 151 1 1144 | 0.01 0.01 0.01 1 1145 | 0 0 0 1 1146 | 1147 | 1148 | 0 1149 | 1 1150 | 1151 | 1152 | 0 1153 | 10 1154 | 0 0 0 0 -0 0 1155 | 1156 | 1157 | 7.88951 0.545905 1 1158 | 1159 | 1160 | 1161 | 1162 | 1163 | 1 1164 | 1 1165 | 0 0 0 1166 | 0 1167 | 0 1168 | 1169 | 1170 | 1 1171 | 0 1172 | 0 1173 | 1 1174 | 1175 | 0 1176 | 1177 | 1178 | 1179 | 1180 | 0 1181 | 1e+06 1182 | 1183 | 1184 | 0 1185 | 1 1186 | 1 1187 | 1188 | 0 1189 | 0.2 1190 | 1e+13 1191 | 1 1192 | 0.01 1193 | 0 1194 | 1195 | 1196 | 1 1197 | -0.01 1198 | 0 1199 | 0.2 1200 | 1e+13 1201 | 1 1202 | 1203 | 1204 | 1205 | 1206 | 1207 | 1208 | 2.19804 -10.643 9e-06 0 -0 0 1209 | 1210 | 4.30693 1211 | 1212 | 0.46587 1213 | 0 1214 | 0 1215 | 22.6991 1216 | 0 1217 | 22.4471 1218 | 1219 | 0 0 0 0 -0 0 1220 | 1221 | 1222 | 0 0 0 0 -0 0 1223 | 1224 | 1225 | 7.88951 0.545905 1 1226 | 1227 | 1228 | 1229 | 1 1230 | 1234 | 85 114 151 1 1235 | 85 114 151 1 1236 | 0.01 0.01 0.01 1 1237 | 0 0 0 1 1238 | 1239 | 1240 | 0 1241 | 1 1242 | 1243 | 1244 | 0 1245 | 10 1246 | 0 0 0 0 -0 0 1247 | 1248 | 1249 | 7.88951 0.545905 1 1250 | 1251 | 1252 | 1253 | 1254 | 1255 | 1 1256 | 1 1257 | 0 0 0 1258 | 0 1259 | 0 1260 | 1261 | 1262 | 1 1263 | 0 1264 | 0 1265 | 1 1266 | 1267 | 0 1268 | 1269 | 1270 | 1271 | 1272 | 0 1273 | 1e+06 1274 | 1275 | 1276 | 0 1277 | 1 1278 | 1 1279 | 1280 | 0 1281 | 0.2 1282 | 1e+13 1283 | 1 1284 | 0.01 1285 | 0 1286 | 1287 | 1288 | 1 1289 | -0.01 1290 | 0 1291 | 0.2 1292 | 1e+13 1293 | 1 1294 | 1295 | 1296 | 1297 | 1298 | 1299 | 1300 | 0.695253 11.0512 9e-06 0 -0 0 1301 | 1302 | 4.30693 1303 | 1304 | 0.46587 1305 | 0 1306 | 0 1307 | 22.6991 1308 | 0 1309 | 22.4471 1310 | 1311 | 0 0 0 0 -0 0 1312 | 1313 | 1314 | 0 0 0 0 -0 0 1315 | 1316 | 1317 | 7.88951 0.545905 1 1318 | 1319 | 1320 | 1321 | 1 1322 | 1326 | 85 114 151 1 1327 | 85 114 151 1 1328 | 0.01 0.01 0.01 1 1329 | 0 0 0 1 1330 | 1331 | 1332 | 0 1333 | 1 1334 | 1335 | 1336 | 0 1337 | 10 1338 | 0 0 0 0 -0 0 1339 | 1340 | 1341 | 7.88951 0.545905 1 1342 | 1343 | 1344 | 1345 | 1346 | 1347 | 1 1348 | 1 1349 | 0 0 0 1350 | 0 1351 | 0 1352 | 1353 | 1354 | 1 1355 | 0 1356 | 0 1357 | 1 1358 | 1359 | 0 1360 | 1361 | 1362 | 1363 | 1364 | 0 1365 | 1e+06 1366 | 1367 | 1368 | 0 1369 | 1 1370 | 1 1371 | 1372 | 0 1373 | 0.2 1374 | 1e+13 1375 | 1 1376 | 0.01 1377 | 0 1378 | 1379 | 1380 | 1 1381 | -0.01 1382 | 0 1383 | 0.2 1384 | 1e+13 1385 | 1 1386 | 1387 | 1388 | 1389 | 1390 | 1391 | 1392 | 6.79233 11.1081 9e-06 0 -0 0 1393 | 1394 | 4.30693 1395 | 1396 | 0.46587 1397 | 0 1398 | 0 1399 | 22.6991 1400 | 0 1401 | 22.4471 1402 | 1403 | 0 0 0 0 -0 0 1404 | 1405 | 1406 | 0 0 0 0 -0 0 1407 | 1408 | 1409 | 7.88951 0.545905 1 1410 | 1411 | 1412 | 1413 | 1 1414 | 1418 | 85 114 151 1 1419 | 85 114 151 1 1420 | 0.01 0.01 0.01 1 1421 | 0 0 0 1 1422 | 1423 | 1424 | 0 1425 | 1 1426 | 1427 | 1428 | 0 1429 | 10 1430 | 0 0 0 0 -0 0 1431 | 1432 | 1433 | 7.88951 0.545905 1 1434 | 1435 | 1436 | 1437 | 1438 | 1439 | 1 1440 | 1 1441 | 0 0 0 1442 | 0 1443 | 0 1444 | 1445 | 1446 | 1 1447 | 0 1448 | 0 1449 | 1 1450 | 1451 | 0 1452 | 1453 | 1454 | 1455 | 1456 | 0 1457 | 1e+06 1458 | 1459 | 1460 | 0 1461 | 1 1462 | 1 1463 | 1464 | 0 1465 | 0.2 1466 | 1e+13 1467 | 1 1468 | 0.01 1469 | 0 1470 | 1471 | 1472 | 1 1473 | -0.01 1474 | 0 1475 | 0.2 1476 | 1e+13 1477 | 1 1478 | 1479 | 1480 | 1481 | 1482 | 1483 | 1484 | 2.76705 7.92871 9e-06 0 -0 0 1485 | 1486 | 3.50538 1487 | 1488 | 0.379168 1489 | 0 1490 | 0 1491 | 12.3366 1492 | 0 1493 | 12.1315 1494 | 1495 | 0 0 0 0 -0 0 1496 | 1497 | 1498 | 0 0 0 0 -0 0 1499 | 1500 | 1501 | 6.42122 0.545905 1 1502 | 1503 | 1504 | 1505 | 1 1506 | 1510 | 85 114 151 1 1511 | 85 114 151 1 1512 | 0.01 0.01 0.01 1 1513 | 0 0 0 1 1514 | 1515 | 1516 | 0 1517 | 1 1518 | 1519 | 1520 | 0 1521 | 10 1522 | 0 0 0 0 -0 0 1523 | 1524 | 1525 | 6.42122 0.545905 1 1526 | 1527 | 1528 | 1529 | 1530 | 1531 | 1 1532 | 1 1533 | 0 0 0 1534 | 0 1535 | 0 1536 | 1537 | 1538 | 1 1539 | 0 1540 | 0 1541 | 1 1542 | 1543 | 0 1544 | 1545 | 1546 | 1547 | 1548 | 0 1549 | 1e+06 1550 | 1551 | 1552 | 0 1553 | 1 1554 | 1 1555 | 1556 | 0 1557 | 0.2 1558 | 1e+13 1559 | 1 1560 | 0.01 1561 | 0 1562 | 1563 | 1564 | 1 1565 | -0.01 1566 | 0 1567 | 0.2 1568 | 1e+13 1569 | 1 1570 | 1571 | 1572 | 1573 | 1574 | 1575 | 1576 | 8.96944 -0.687018 9e-06 0 -0 0 1577 | 1578 | 3.50538 1579 | 1580 | 0.379168 1581 | 0 1582 | 0 1583 | 12.3366 1584 | 0 1585 | 12.1315 1586 | 1587 | 0 0 0 0 -0 0 1588 | 1589 | 1590 | 0 0 0 0 -0 0 1591 | 1592 | 1593 | 6.42122 0.545905 1 1594 | 1595 | 1596 | 1597 | 1 1598 | 1602 | 85 114 151 1 1603 | 85 114 151 1 1604 | 0.01 0.01 0.01 1 1605 | 0 0 0 1 1606 | 1607 | 1608 | 0 1609 | 1 1610 | 1611 | 1612 | 0 1613 | 10 1614 | 0 0 0 0 -0 0 1615 | 1616 | 1617 | 6.42122 0.545905 1 1618 | 1619 | 1620 | 1621 | 1622 | 1623 | 1 1624 | 1 1625 | 0 0 0 1626 | 0 1627 | 0 1628 | 1629 | 1630 | 1 1631 | 0 1632 | 0 1633 | 1 1634 | 1635 | 0 1636 | 1637 | 1638 | 1639 | 1640 | 0 1641 | 1e+06 1642 | 1643 | 1644 | 0 1645 | 1 1646 | 1 1647 | 1648 | 0 1649 | 0.2 1650 | 1e+13 1651 | 1 1652 | 0.01 1653 | 0 1654 | 1655 | 1656 | 1 1657 | -0.01 1658 | 0 1659 | 0.2 1660 | 1e+13 1661 | 1 1662 | 1663 | 1664 | 1665 | 1666 | 1667 | 1668 | 13.7042 5.43273 9e-06 0 -0 0 1669 | 1670 | 3.50538 1671 | 1672 | 0.379168 1673 | 0 1674 | 0 1675 | 12.3366 1676 | 0 1677 | 12.1315 1678 | 1679 | 0 0 0 0 -0 0 1680 | 1681 | 1682 | 0 0 0 0 -0 0 1683 | 1684 | 1685 | 6.42122 0.545905 1 1686 | 1687 | 1688 | 1689 | 1 1690 | 1694 | 85 114 151 1 1695 | 85 114 151 1 1696 | 0.01 0.01 0.01 1 1697 | 0 0 0 1 1698 | 1699 | 1700 | 0 1701 | 1 1702 | 1703 | 1704 | 0 1705 | 10 1706 | 0 0 0 0 -0 0 1707 | 1708 | 1709 | 6.42122 0.545905 1 1710 | 1711 | 1712 | 1713 | 1714 | 1715 | 1 1716 | 1 1717 | 0 0 0 1718 | 0 1719 | 0 1720 | 1721 | 1722 | 1 1723 | 0 1724 | 0 1725 | 1 1726 | 1727 | 0 1728 | 1729 | 1730 | 1731 | 1732 | 0 1733 | 1e+06 1734 | 1735 | 1736 | 0 1737 | 1 1738 | 1 1739 | 1740 | 0 1741 | 0.2 1742 | 1e+13 1743 | 1 1744 | 0.01 1745 | 0 1746 | 1747 | 1748 | 1 1749 | -0.01 1750 | 0 1751 | 0.2 1752 | 1e+13 1753 | 1 1754 | 1755 | 1756 | 1757 | 1758 | 1759 | 1760 | 16.5218 2.00661 9e-06 0 -0 0 1761 | 1762 | 3.50538 1763 | 1764 | 0.379168 1765 | 0 1766 | 0 1767 | 12.3366 1768 | 0 1769 | 12.1315 1770 | 1771 | 0 0 0 0 -0 0 1772 | 1773 | 1774 | 0 0 0 0 -0 0 1775 | 1776 | 1777 | 6.42122 0.545905 1 1778 | 1779 | 1780 | 1781 | 1 1782 | 1786 | 85 114 151 1 1787 | 85 114 151 1 1788 | 0.01 0.01 0.01 1 1789 | 0 0 0 1 1790 | 1791 | 1792 | 0 1793 | 1 1794 | 1795 | 1796 | 0 1797 | 10 1798 | 0 0 0 0 -0 0 1799 | 1800 | 1801 | 6.42122 0.545905 1 1802 | 1803 | 1804 | 1805 | 1806 | 1807 | 1 1808 | 1 1809 | 0 0 0 1810 | 0 1811 | 0 1812 | 1813 | 1814 | 1 1815 | 0 1816 | 0 1817 | 1 1818 | 1819 | 0 1820 | 1821 | 1822 | 1823 | 1824 | 0 1825 | 1e+06 1826 | 1827 | 1828 | 0 1829 | 1 1830 | 1 1831 | 1832 | 0 1833 | 0.2 1834 | 1e+13 1835 | 1 1836 | 0.01 1837 | 0 1838 | 1839 | 1840 | 1 1841 | -0.01 1842 | 0 1843 | 0.2 1844 | 1e+13 1845 | 1 1846 | 1847 | 1848 | 1849 | 1850 | 1851 | 1852 | 16.5551 5.42013 9e-06 0 -0 0 1853 | 1854 | 3.50538 1855 | 1856 | 0.379168 1857 | 0 1858 | 0 1859 | 12.3366 1860 | 0 1861 | 12.1315 1862 | 1863 | 0 0 0 0 -0 0 1864 | 1865 | 1866 | 0 0 0 0 -0 0 1867 | 1868 | 1869 | 6.42122 0.545905 1 1870 | 1871 | 1872 | 1873 | 1 1874 | 1878 | 85 114 151 1 1879 | 85 114 151 1 1880 | 0.01 0.01 0.01 1 1881 | 0 0 0 1 1882 | 1883 | 1884 | 0 1885 | 1 1886 | 1887 | 1888 | 0 1889 | 10 1890 | 0 0 0 0 -0 0 1891 | 1892 | 1893 | 6.42122 0.545905 1 1894 | 1895 | 1896 | 1897 | 1898 | 1899 | 1 1900 | 1 1901 | 0 0 0 1902 | 0 1903 | 0 1904 | 1905 | 1906 | 1 1907 | 0 1908 | 0 1909 | 1 1910 | 1911 | 0 1912 | 1913 | 1914 | 1915 | 1916 | 0 1917 | 1e+06 1918 | 1919 | 1920 | 0 1921 | 1 1922 | 1 1923 | 1924 | 0 1925 | 0.2 1926 | 1e+13 1927 | 1 1928 | 0.01 1929 | 0 1930 | 1931 | 1932 | 1 1933 | -0.01 1934 | 0 1935 | 0.2 1936 | 1e+13 1937 | 1 1938 | 1939 | 1940 | 1941 | 1942 | 1943 | 1944 | 14.7931 -0.66198 9e-06 0 -0 0 1945 | 1946 | 3.50538 1947 | 1948 | 0.379168 1949 | 0 1950 | 0 1951 | 12.3366 1952 | 0 1953 | 12.1315 1954 | 1955 | 0 0 0 0 -0 0 1956 | 1957 | 1958 | 0 0 0 0 -0 0 1959 | 1960 | 1961 | 6.42122 0.545905 1 1962 | 1963 | 1964 | 1965 | 1 1966 | 1970 | 85 114 151 1 1971 | 85 114 151 1 1972 | 0.01 0.01 0.01 1 1973 | 0 0 0 1 1974 | 1975 | 1976 | 0 1977 | 1 1978 | 1979 | 1980 | 0 1981 | 10 1982 | 0 0 0 0 -0 0 1983 | 1984 | 1985 | 6.42122 0.545905 1 1986 | 1987 | 1988 | 1989 | 1990 | 1991 | 1 1992 | 1 1993 | 0 0 0 1994 | 0 1995 | 0 1996 | 1997 | 1998 | 1 1999 | 0 2000 | 0 2001 | 1 2002 | 2003 | 0 2004 | 2005 | 2006 | 2007 | 2008 | 0 2009 | 1e+06 2010 | 2011 | 2012 | 0 2013 | 1 2014 | 1 2015 | 2016 | 0 2017 | 0.2 2018 | 1e+13 2019 | 1 2020 | 0.01 2021 | 0 2022 | 2023 | 2024 | 1 2025 | -0.01 2026 | 0 2027 | 0.2 2028 | 1e+13 2029 | 1 2030 | 2031 | 2032 | 2033 | 2034 | 2035 | 2036 | -10.3733 -0.31076 9e-06 0 -0 0 2037 | 2038 | 4.30693 2039 | 2040 | 0.46587 2041 | 0 2042 | 0 2043 | 22.6991 2044 | 0 2045 | 22.4471 2046 | 2047 | 0 0 0 0 -0 0 2048 | 2049 | 2050 | 0 0 0 0 -0 0 2051 | 2052 | 2053 | 7.88951 0.545905 1 2054 | 2055 | 2056 | 2057 | 1 2058 | 2062 | 85 114 151 1 2063 | 85 114 151 1 2064 | 0.01 0.01 0.01 1 2065 | 0 0 0 1 2066 | 2067 | 2068 | 0 2069 | 1 2070 | 2071 | 2072 | 0 2073 | 10 2074 | 0 0 0 0 -0 0 2075 | 2076 | 2077 | 7.88951 0.545905 1 2078 | 2079 | 2080 | 2081 | 2082 | 2083 | 1 2084 | 1 2085 | 0 0 0 2086 | 0 2087 | 0 2088 | 2089 | 2090 | 1 2091 | 0 2092 | 0 2093 | 1 2094 | 2095 | 0 2096 | 2097 | 2098 | 2099 | 2100 | 0 2101 | 1e+06 2102 | 2103 | 2104 | 0 2105 | 1 2106 | 1 2107 | 2108 | 0 2109 | 0.2 2110 | 1e+13 2111 | 1 2112 | 0.01 2113 | 0 2114 | 2115 | 2116 | 1 2117 | -0.01 2118 | 0 2119 | 0.2 2120 | 1e+13 2121 | 1 2122 | 2123 | 2124 | 2125 | 2126 | 2127 | 2128 | -25.335 -7.00928 9e-06 0 0 -1.56693 2129 | 2130 | 4.30693 2131 | 2132 | 0.46587 2133 | 0 2134 | 0 2135 | 22.6991 2136 | 0 2137 | 22.4471 2138 | 2139 | 0 0 0 0 -0 0 2140 | 2141 | 2142 | 0 0 0 0 -0 0 2143 | 2144 | 2145 | 7.88951 0.545905 1 2146 | 2147 | 2148 | 2149 | 1 2150 | 2154 | 85 114 151 1 2155 | 85 114 151 1 2156 | 0.01 0.01 0.01 1 2157 | 0 0 0 1 2158 | 2159 | 2160 | 0 2161 | 1 2162 | 2163 | 2164 | 0 2165 | 10 2166 | 0 0 0 0 -0 0 2167 | 2168 | 2169 | 7.88951 0.545905 1 2170 | 2171 | 2172 | 2173 | 2174 | 2175 | 1 2176 | 1 2177 | 0 0 0 2178 | 0 2179 | 0 2180 | 2181 | 2182 | 1 2183 | 0 2184 | 0 2185 | 1 2186 | 2187 | 0 2188 | 2189 | 2190 | 2191 | 2192 | 0 2193 | 1e+06 2194 | 2195 | 2196 | 0 2197 | 1 2198 | 1 2199 | 2200 | 0 2201 | 0.2 2202 | 1e+13 2203 | 1 2204 | 0.01 2205 | 0 2206 | 2207 | 2208 | 1 2209 | -0.01 2210 | 0 2211 | 0.2 2212 | 1e+13 2213 | 1 2214 | 2215 | 2216 | 2217 | 2218 | 2219 | 2220 | -25.3389 -4.07653 9e-06 0 0 -1.56693 2221 | 2222 | 4.30693 2223 | 2224 | 0.46587 2225 | 0 2226 | 0 2227 | 22.6991 2228 | 0 2229 | 22.4471 2230 | 2231 | 0 0 0 0 -0 0 2232 | 2233 | 2234 | 0 0 0 0 -0 0 2235 | 2236 | 2237 | 7.88951 0.545905 1 2238 | 2239 | 2240 | 2241 | 1 2242 | 2246 | 85 114 151 1 2247 | 85 114 151 1 2248 | 0.01 0.01 0.01 1 2249 | 0 0 0 1 2250 | 2251 | 2252 | 0 2253 | 1 2254 | 2255 | 2256 | 0 2257 | 10 2258 | 0 0 0 0 -0 0 2259 | 2260 | 2261 | 7.88951 0.545905 1 2262 | 2263 | 2264 | 2265 | 2266 | 2267 | 1 2268 | 1 2269 | 0 0 0 2270 | 0 2271 | 0 2272 | 2273 | 2274 | 1 2275 | 0 2276 | 0 2277 | 1 2278 | 2279 | 0 2280 | 2281 | 2282 | 2283 | 2284 | 0 2285 | 1e+06 2286 | 2287 | 2288 | 0 2289 | 1 2290 | 1 2291 | 2292 | 0 2293 | 0.2 2294 | 1e+13 2295 | 1 2296 | 0.01 2297 | 0 2298 | 2299 | 2300 | 1 2301 | -0.01 2302 | 0 2303 | 0.2 2304 | 1e+13 2305 | 1 2306 | 2307 | 2308 | 2309 | 2310 | 2311 | 2312 | -9.31294 -6.93569 9e-06 0 0 -1.56693 2313 | 2314 | 4.30693 2315 | 2316 | 0.46587 2317 | 0 2318 | 0 2319 | 22.6991 2320 | 0 2321 | 22.4471 2322 | 2323 | 0 0 0 0 -0 0 2324 | 2325 | 2326 | 0 0 0 0 -0 0 2327 | 2328 | 2329 | 7.88951 0.545905 1 2330 | 2331 | 2332 | 2333 | 1 2334 | 2338 | 85 114 151 1 2339 | 85 114 151 1 2340 | 0.01 0.01 0.01 1 2341 | 0 0 0 1 2342 | 2343 | 2344 | 0 2345 | 1 2346 | 2347 | 2348 | 0 2349 | 10 2350 | 0 0 0 0 -0 0 2351 | 2352 | 2353 | 7.88951 0.545905 1 2354 | 2355 | 2356 | 2357 | 2358 | 2359 | 1 2360 | 1 2361 | 0 0 0 2362 | 0 2363 | 0 2364 | 2365 | 2366 | 1 2367 | 0 2368 | 0 2369 | 1 2370 | 2371 | 0 2372 | 2373 | 2374 | 2375 | 2376 | 0 2377 | 1e+06 2378 | 2379 | 2380 | 0 2381 | 1 2382 | 1 2383 | 2384 | 0 2385 | 0.2 2386 | 1e+13 2387 | 1 2388 | 0.01 2389 | 0 2390 | 2391 | 2392 | 1 2393 | -0.01 2394 | 0 2395 | 0.2 2396 | 1e+13 2397 | 1 2398 | 2399 | 2400 | 2401 | 2402 | 2403 | 2404 | -6.43669 -6.98415 9e-06 0 0 -1.56693 2405 | 2406 | 4.30693 2407 | 2408 | 0.46587 2409 | 0 2410 | 0 2411 | 22.6991 2412 | 0 2413 | 22.4471 2414 | 2415 | 0 0 0 0 -0 0 2416 | 2417 | 2418 | 0 0 0 0 -0 0 2419 | 2420 | 2421 | 7.88951 0.545905 1 2422 | 2423 | 2424 | 2425 | 1 2426 | 2430 | 85 114 151 1 2431 | 85 114 151 1 2432 | 0.01 0.01 0.01 1 2433 | 0 0 0 1 2434 | 2435 | 2436 | 0 2437 | 1 2438 | 2439 | 2440 | 0 2441 | 10 2442 | 0 0 0 0 -0 0 2443 | 2444 | 2445 | 7.88951 0.545905 1 2446 | 2447 | 2448 | 2449 | 2450 | 2451 | 1 2452 | 1 2453 | 0 0 0 2454 | 0 2455 | 0 2456 | 2457 | 2458 | 1 2459 | 0 2460 | 0 2461 | 1 2462 | 2463 | 0 2464 | 2465 | 2466 | 2467 | 2468 | 0 2469 | 1e+06 2470 | 2471 | 2472 | 0 2473 | 1 2474 | 1 2475 | 2476 | 0 2477 | 0.2 2478 | 1e+13 2479 | 1 2480 | 0.01 2481 | 0 2482 | 2483 | 2484 | 1 2485 | -0.01 2486 | 0 2487 | 0.2 2488 | 1e+13 2489 | 1 2490 | 2491 | 2492 | 2493 | 2494 | 2495 | 2496 | -6.35585 1.56416 9e-06 0 0 -1.56693 2497 | 2498 | 2.3361 2499 | 2500 | 0.25269 2501 | 0 2502 | 0 2503 | 3.75965 2504 | 0 2505 | 3.62299 2506 | 2507 | 0 0 0 0 -0 0 2508 | 2509 | 2510 | 0 0 0 0 -0 0 2511 | 2512 | 2513 | 4.27931 0.545905 1 2514 | 2515 | 2516 | 2517 | 1 2518 | 2522 | 85 114 151 1 2523 | 85 114 151 1 2524 | 0.01 0.01 0.01 1 2525 | 0 0 0 1 2526 | 2527 | 2528 | 0 2529 | 1 2530 | 2531 | 2532 | 0 2533 | 10 2534 | 0 0 0 0 -0 0 2535 | 2536 | 2537 | 4.27931 0.545905 1 2538 | 2539 | 2540 | 2541 | 2542 | 2543 | 1 2544 | 1 2545 | 0 0 0 2546 | 0 2547 | 0 2548 | 2549 | 2550 | 1 2551 | 0 2552 | 0 2553 | 1 2554 | 2555 | 0 2556 | 2557 | 2558 | 2559 | 2560 | 0 2561 | 1e+06 2562 | 2563 | 2564 | 0 2565 | 1 2566 | 1 2567 | 2568 | 0 2569 | 0.2 2570 | 1e+13 2571 | 1 2572 | 0.01 2573 | 0 2574 | 2575 | 2576 | 1 2577 | -0.01 2578 | 0 2579 | 0.2 2580 | 1e+13 2581 | 1 2582 | 2583 | 2584 | 2585 | 2586 | 2587 | 2588 | -0.36051 -0.054697 9e-06 0 0 -1.56693 2589 | 2590 | 4.30693 2591 | 2592 | 0.46587 2593 | 0 2594 | 0 2595 | 22.6991 2596 | 0 2597 | 22.4471 2598 | 2599 | 0 0 0 0 -0 0 2600 | 2601 | 2602 | 0 0 0 0 -0 0 2603 | 2604 | 2605 | 7.88951 0.545905 1 2606 | 2607 | 2608 | 2609 | 1 2610 | 2614 | 85 114 151 1 2615 | 85 114 151 1 2616 | 0.01 0.01 0.01 1 2617 | 0 0 0 1 2618 | 2619 | 2620 | 0 2621 | 1 2622 | 2623 | 2624 | 0 2625 | 10 2626 | 0 0 0 0 -0 0 2627 | 2628 | 2629 | 7.88951 0.545905 1 2630 | 2631 | 2632 | 2633 | 2634 | 2635 | 1 2636 | 1 2637 | 0 0 0 2638 | 0 2639 | 0 2640 | 2641 | 2642 | 1 2643 | 0 2644 | 0 2645 | 1 2646 | 2647 | 0 2648 | 2649 | 2650 | 2651 | 2652 | 0 2653 | 1e+06 2654 | 2655 | 2656 | 0 2657 | 1 2658 | 1 2659 | 2660 | 0 2661 | 0.2 2662 | 1e+13 2663 | 1 2664 | 0.01 2665 | 0 2666 | 2667 | 2668 | 1 2669 | -0.01 2670 | 0 2671 | 0.2 2672 | 1e+13 2673 | 1 2674 | 2675 | 2676 | 2677 | 2678 | 2679 | 2680 | 5.88859 -2.1218 9e-06 0 0 -1.56693 2681 | 2682 | 4.30693 2683 | 2684 | 0.46587 2685 | 0 2686 | 0 2687 | 22.6991 2688 | 0 2689 | 22.4471 2690 | 2691 | 0 0 0 0 -0 0 2692 | 2693 | 2694 | 0 0 0 0 -0 0 2695 | 2696 | 2697 | 7.88951 0.545905 1 2698 | 2699 | 2700 | 2701 | 1 2702 | 2706 | 85 114 151 1 2707 | 85 114 151 1 2708 | 0.01 0.01 0.01 1 2709 | 0 0 0 1 2710 | 2711 | 2712 | 0 2713 | 1 2714 | 2715 | 2716 | 0 2717 | 10 2718 | 0 0 0 0 -0 0 2719 | 2720 | 2721 | 7.88951 0.545905 1 2722 | 2723 | 2724 | 2725 | 2726 | 2727 | 1 2728 | 1 2729 | 0 0 0 2730 | 0 2731 | 0 2732 | 2733 | 2734 | 1 2735 | 0 2736 | 0 2737 | 1 2738 | 2739 | 0 2740 | 2741 | 2742 | 2743 | 2744 | 0 2745 | 1e+06 2746 | 2747 | 2748 | 0 2749 | 1 2750 | 1 2751 | 2752 | 0 2753 | 0.2 2754 | 1e+13 2755 | 1 2756 | 0.01 2757 | 0 2758 | 2759 | 2760 | 1 2761 | -0.01 2762 | 0 2763 | 0.2 2764 | 1e+13 2765 | 1 2766 | 2767 | 2768 | 2769 | 2770 | 2771 | 2772 | 10.4715 7.44804 9e-06 0 0 -1.56693 2773 | 2774 | 4.30693 2775 | 2776 | 0.46587 2777 | 0 2778 | 0 2779 | 22.6991 2780 | 0 2781 | 22.4471 2782 | 2783 | 0 0 0 0 -0 0 2784 | 2785 | 2786 | 0 0 0 0 -0 0 2787 | 2788 | 2789 | 7.88951 0.545905 1 2790 | 2791 | 2792 | 2793 | 1 2794 | 2798 | 85 114 151 1 2799 | 85 114 151 1 2800 | 0.01 0.01 0.01 1 2801 | 0 0 0 1 2802 | 2803 | 2804 | 0 2805 | 1 2806 | 2807 | 2808 | 0 2809 | 10 2810 | 0 0 0 0 -0 0 2811 | 2812 | 2813 | 7.88951 0.545905 1 2814 | 2815 | 2816 | 2817 | 2818 | 2819 | 1 2820 | 1 2821 | 0 0 0 2822 | 0 2823 | 0 2824 | 2825 | 2826 | 1 2827 | 0 2828 | 0 2829 | 1 2830 | 2831 | 0 2832 | 2833 | 2834 | 2835 | 2836 | 0 2837 | 1e+06 2838 | 2839 | 2840 | 0 2841 | 1 2842 | 1 2843 | 2844 | 0 2845 | 0.2 2846 | 1e+13 2847 | 1 2848 | 0.01 2849 | 0 2850 | 2851 | 2852 | 1 2853 | -0.01 2854 | 0 2855 | 0.2 2856 | 1e+13 2857 | 1 2858 | 2859 | 2860 | 2861 | 2862 | 2863 | 2864 | 5.82858 4.32024 9e-06 0 0 -1.56693 2865 | 2866 | 4.30693 2867 | 2868 | 0.46587 2869 | 0 2870 | 0 2871 | 22.6991 2872 | 0 2873 | 22.4471 2874 | 2875 | 0 0 0 0 -0 0 2876 | 2877 | 2878 | 0 0 0 0 -0 0 2879 | 2880 | 2881 | 7.88951 0.545905 1 2882 | 2883 | 2884 | 2885 | 1 2886 | 2890 | 85 114 151 1 2891 | 85 114 151 1 2892 | 0.01 0.01 0.01 1 2893 | 0 0 0 1 2894 | 2895 | 2896 | 0 2897 | 1 2898 | 2899 | 2900 | 0 2901 | 10 2902 | 0 0 0 0 -0 0 2903 | 2904 | 2905 | 7.88951 0.545905 1 2906 | 2907 | 2908 | 2909 | 2910 | 2911 | 1 2912 | 1 2913 | 0 0 0 2914 | 0 2915 | 0 2916 | 2917 | 2918 | 1 2919 | 0 2920 | 0 2921 | 1 2922 | 2923 | 0 2924 | 2925 | 2926 | 2927 | 2928 | 0 2929 | 1e+06 2930 | 2931 | 2932 | 0 2933 | 1 2934 | 1 2935 | 2936 | 0 2937 | 0.2 2938 | 1e+13 2939 | 1 2940 | 0.01 2941 | 0 2942 | 2943 | 2944 | 1 2945 | -0.01 2946 | 0 2947 | 0.2 2948 | 1e+13 2949 | 1 2950 | 2951 | 2952 | 2953 | 2954 | 2955 | 2956 | -3.1358 7.42604 9e-06 0 0 -1.56693 2957 | 2958 | 4.30693 2959 | 2960 | 0.46587 2961 | 0 2962 | 0 2963 | 22.6991 2964 | 0 2965 | 22.4471 2966 | 2967 | 0 0 0 0 -0 0 2968 | 2969 | 2970 | 0 0 0 0 -0 0 2971 | 2972 | 2973 | 7.88951 0.545905 1 2974 | 2975 | 2976 | 2977 | 1 2978 | 2982 | 85 114 151 1 2983 | 85 114 151 1 2984 | 0.01 0.01 0.01 1 2985 | 0 0 0 1 2986 | 2987 | 2988 | 0 2989 | 1 2990 | 2991 | 2992 | 0 2993 | 10 2994 | 0 0 0 0 -0 0 2995 | 2996 | 2997 | 7.88951 0.545905 1 2998 | 2999 | 3000 | 3001 | 3002 | 3003 | 1 3004 | 1 3005 | 0 0 0 3006 | 0 3007 | 0 3008 | 3009 | 3010 | 1 3011 | 0 3012 | 0 3013 | 1 3014 | 3015 | 0 3016 | 3017 | 3018 | 3019 | 3020 | 0 3021 | 1e+06 3022 | 3023 | 3024 | 0 3025 | 1 3026 | 1 3027 | 3028 | 0 3029 | 0.2 3030 | 1e+13 3031 | 1 3032 | 0.01 3033 | 0 3034 | 3035 | 3036 | 1 3037 | -0.01 3038 | 0 3039 | 0.2 3040 | 1e+13 3041 | 1 3042 | 3043 | 3044 | 3045 | 3046 | 3047 | 3048 | -3.01465 -0.148136 9e-06 0 0 -1.56693 3049 | 3050 | 1.50003 3051 | 3052 | 0.162255 3053 | 0 3054 | 0 3055 | 1.06881 3056 | 0 3057 | 0.981058 3058 | 3059 | 0 0 0 0 -0 0 3060 | 3061 | 3062 | 0 0 0 0 -0 0 3063 | 3064 | 3065 | 2.74778 0.545905 1 3066 | 3067 | 3068 | 3069 | 1 3070 | 3074 | 148 64 50 1 3075 | 148 64 50 1 3076 | 0.01 0.01 0.01 1 3077 | 0 0 0 1 3078 | 3079 | 3080 | 0 3081 | 1 3082 | 3083 | 3084 | 0 3085 | 10 3086 | 0 0 0 0 -0 0 3087 | 3088 | 3089 | 2.74778 0.545905 1 3090 | 3091 | 3092 | 3093 | 3094 | 3095 | 1 3096 | 1 3097 | 0 0 0 3098 | 0 3099 | 0 3100 | 3101 | 3102 | 1 3103 | 0 3104 | 0 3105 | 1 3106 | 3107 | 0 3108 | 3109 | 3110 | 3111 | 3112 | 0 3113 | 1e+06 3114 | 3115 | 3116 | 0 3117 | 1 3118 | 1 3119 | 3120 | 0 3121 | 0.2 3122 | 1e+13 3123 | 1 3124 | 0.01 3125 | 0 3126 | 3127 | 3128 | 1 3129 | -0.01 3130 | 0 3131 | 0.2 3132 | 1e+13 3133 | 1 3134 | 3135 | 3136 | 3137 | 3138 | 3139 | 3140 | -2.95631 -3.9379 9e-06 0 0 -1.56693 3141 | 3142 | 2.3361 3143 | 3144 | 0.25269 3145 | 0 3146 | 0 3147 | 3.75965 3148 | 0 3149 | 3.62299 3150 | 3151 | 0 0 0 0 -0 0 3152 | 3153 | 3154 | 0 0 0 0 -0 0 3155 | 3156 | 3157 | 4.27931 0.545905 1 3158 | 3159 | 3160 | 3161 | 1 3162 | 3166 | 148 64 50 1 3167 | 148 64 50 1 3168 | 0.01 0.01 0.01 1 3169 | 0 0 0 1 3170 | 3171 | 3172 | 0 3173 | 1 3174 | 3175 | 3176 | 0 3177 | 10 3178 | 0 0 0 0 -0 0 3179 | 3180 | 3181 | 4.27931 0.545905 1 3182 | 3183 | 3184 | 3185 | 3186 | 3187 | 1 3188 | 1 3189 | 0 0 0 3190 | 0 3191 | 0 3192 | 3193 | 3194 | 1 3195 | 0 3196 | 0 3197 | 1 3198 | 3199 | 0 3200 | 3201 | 3202 | 3203 | 3204 | 0 3205 | 1e+06 3206 | 3207 | 3208 | 0 3209 | 1 3210 | 1 3211 | 3212 | 0 3213 | 0.2 3214 | 1e+13 3215 | 1 3216 | 0.01 3217 | 0 3218 | 3219 | 3220 | 1 3221 | -0.01 3222 | 0 3223 | 0.2 3224 | 1e+13 3225 | 1 3226 | 3227 | 3228 | 3229 | 3230 | 3231 | 3232 | 4.03057 -6.47031 9e-06 0 -0 0.2833 3233 | 3234 | 2.3361 3235 | 3236 | 0.25269 3237 | 0 3238 | 0 3239 | 3.75965 3240 | 0 3241 | 3.62299 3242 | 3243 | 0 0 0 0 -0 0 3244 | 3245 | 3246 | 0 0 0 0 -0 0 3247 | 3248 | 3249 | 4.27931 0.545905 1 3250 | 3251 | 3252 | 3253 | 1 3254 | 3258 | 85 114 151 1 3259 | 85 114 151 1 3260 | 0.01 0.01 0.01 1 3261 | 0 0 0 1 3262 | 3263 | 3264 | 0 3265 | 1 3266 | 3267 | 3268 | 0 3269 | 10 3270 | 0 0 0 0 -0 0 3271 | 3272 | 3273 | 4.27931 0.545905 1 3274 | 3275 | 3276 | 3277 | 3278 | 3279 | 1 3280 | 1 3281 | 0 0 0 3282 | 0 3283 | 0 3284 | 3285 | 3286 | 1 3287 | 0 3288 | 0 3289 | 1 3290 | 3291 | 0 3292 | 3293 | 3294 | 3295 | 3296 | 0 3297 | 1e+06 3298 | 3299 | 3300 | 0 3301 | 1 3302 | 1 3303 | 3304 | 0 3305 | 0.2 3306 | 1e+13 3307 | 1 3308 | 0.01 3309 | 0 3310 | 3311 | 3312 | 1 3313 | -0.01 3314 | 0 3315 | 0.2 3316 | 1e+13 3317 | 1 3318 | 3319 | 3320 | 3321 | 3322 | 3323 | 3324 | -0.349699 -5.56946 9e-06 0 0 -1.56693 3325 | 3326 | 2.3361 3327 | 3328 | 0.25269 3329 | 0 3330 | 0 3331 | 3.75965 3332 | 0 3333 | 3.62299 3334 | 3335 | 0 0 0 0 -0 0 3336 | 3337 | 3338 | 0 0 0 0 -0 0 3339 | 3340 | 3341 | 4.27931 0.545905 1 3342 | 3343 | 3344 | 3345 | 1 3346 | 3350 | 85 114 151 1 3351 | 85 114 151 1 3352 | 0.01 0.01 0.01 1 3353 | 0 0 0 1 3354 | 3355 | 3356 | 0 3357 | 1 3358 | 3359 | 3360 | 0 3361 | 10 3362 | 0 0 0 0 -0 0 3363 | 3364 | 3365 | 4.27931 0.545905 1 3366 | 3367 | 3368 | 3369 | 3370 | 3371 | 1 3372 | 1 3373 | 0 0 0 3374 | 0 3375 | 0 3376 | 3377 | 3378 | 1 3379 | 0 3380 | 0 3381 | 1 3382 | 3383 | 0 3384 | 3385 | 3386 | 3387 | 3388 | 0 3389 | 1e+06 3390 | 3391 | 3392 | 0 3393 | 1 3394 | 1 3395 | 3396 | 0 3397 | 0.2 3398 | 1e+13 3399 | 1 3400 | 0.01 3401 | 0 3402 | 3403 | 3404 | 1 3405 | -0.01 3406 | 0 3407 | 0.2 3408 | 1e+13 3409 | 1 3410 | 3411 | 3412 | 3413 | 3414 | 3415 | 3416 | 5.87005 -8.18932 9e-06 0 0 -1.56693 3417 | 3418 | 2.3361 3419 | 3420 | 0.25269 3421 | 0 3422 | 0 3423 | 3.75965 3424 | 0 3425 | 3.62299 3426 | 3427 | 0 0 0 0 -0 0 3428 | 3429 | 3430 | 0 0 0 0 -0 0 3431 | 3432 | 3433 | 4.27931 0.545905 1 3434 | 3435 | 3436 | 3437 | 1 3438 | 3442 | 85 114 151 1 3443 | 85 114 151 1 3444 | 0.01 0.01 0.01 1 3445 | 0 0 0 1 3446 | 3447 | 3448 | 0 3449 | 1 3450 | 3451 | 3452 | 0 3453 | 10 3454 | 0 0 0 0 -0 0 3455 | 3456 | 3457 | 4.27931 0.545905 1 3458 | 3459 | 3460 | 3461 | 3462 | 3463 | 1 3464 | 1 3465 | 0 0 0 3466 | 0 3467 | 0 3468 | 3469 | 3470 | 1 3471 | 0 3472 | 0 3473 | 1 3474 | 3475 | 0 3476 | 3477 | 3478 | 3479 | 3480 | 0 3481 | 1e+06 3482 | 3483 | 3484 | 0 3485 | 1 3486 | 1 3487 | 3488 | 0 3489 | 0.2 3490 | 1e+13 3491 | 1 3492 | 0.01 3493 | 0 3494 | 3495 | 3496 | 1 3497 | -0.01 3498 | 0 3499 | 0.2 3500 | 1e+13 3501 | 1 3502 | 3503 | 3504 | 3505 | 3506 | 3507 | 3508 | 1.7146 -4.01354 9e-06 0 -0 0.2833 3509 | 3510 | 2.3361 3511 | 3512 | 0.25269 3513 | 0 3514 | 0 3515 | 3.75965 3516 | 0 3517 | 3.62299 3518 | 3519 | 0 0 0 0 -0 0 3520 | 3521 | 3522 | 0 0 0 0 -0 0 3523 | 3524 | 3525 | 4.27931 0.545905 1 3526 | 3527 | 3528 | 3529 | 1 3530 | 3534 | 85 114 151 1 3535 | 85 114 151 1 3536 | 0.01 0.01 0.01 1 3537 | 0 0 0 1 3538 | 3539 | 3540 | 0 3541 | 1 3542 | 3543 | 3544 | 0 3545 | 10 3546 | 0 0 0 0 -0 0 3547 | 3548 | 3549 | 4.27931 0.545905 1 3550 | 3551 | 3552 | 3553 | 3554 | 3555 | 1 3556 | 1 3557 | 0 0 0 3558 | 0 3559 | 0 3560 | 3561 | 3562 | 1 3563 | 0 3564 | 0 3565 | 1 3566 | 3567 | 0 3568 | 3569 | 3570 | 3571 | 3572 | 0 3573 | 1e+06 3574 | 3575 | 3576 | 0 3577 | 1 3578 | 1 3579 | 3580 | 0 3581 | 0.2 3582 | 1e+13 3583 | 1 3584 | 0.01 3585 | 0 3586 | 3587 | 3588 | 1 3589 | -0.01 3590 | 0 3591 | 0.2 3592 | 1e+13 3593 | 1 3594 | 3595 | 3596 | 3597 | 3598 | 3599 | 3600 | 15.5955 0.999523 -0.000417 0 0 -0.405308 3601 | 3602 | 2.91384 3603 | 3604 | 0.315184 3605 | 0 3606 | 0 3607 | 7.16085 3608 | 0 3609 | 6.99039 3610 | 3611 | 0 0 0 0 -0 0 3612 | 3613 | 3614 | 0 0 0 0 -0 0 3615 | 3616 | 3617 | 5.33763 0.545905 1 3618 | 3619 | 3620 | 3621 | 1 3622 | 3626 | 85 114 151 1 3627 | 85 114 151 1 3628 | 0.01 0.01 0.01 1 3629 | 0 0 0 1 3630 | 3631 | 3632 | 0 3633 | 1 3634 | 3635 | 3636 | 0 3637 | 10 3638 | 0 0 0 0 -0 0 3639 | 3640 | 3641 | 5.33763 0.545905 1 3642 | 3643 | 3644 | 3645 | 3646 | 3647 | 1 3648 | 1 3649 | 0 0 0 3650 | 0 3651 | 0 3652 | 3653 | 3654 | 1 3655 | 0 3656 | 0 3657 | 1 3658 | 3659 | 0 3660 | 3661 | 3662 | 3663 | 3664 | 0 3665 | 1e+06 3666 | 3667 | 3668 | 0 3669 | 1 3670 | 1 3671 | 3672 | 0 3673 | 0.2 3674 | 1e+13 3675 | 1 3676 | 0.01 3677 | 0 3678 | 3679 | 3680 | 1 3681 | -0.01 3682 | 0 3683 | 0.2 3684 | 1e+13 3685 | 1 3686 | 3687 | 3688 | 3689 | 3690 | 3691 | 3692 | -12.4356 -7.69108 9e-06 0 0 -0.406538 3693 | 3694 | 1.94722 3695 | 3696 | 0.463684 3697 | 0 3698 | 0 3699 | 0.4935 3700 | 0 3701 | 0.632648 3702 | 3703 | 0 0 0 0 -0 0 3704 | 3705 | 3706 | 0 0 0 0 -0 0 3707 | 3708 | 3709 | 1.42873 1.36291 1 3710 | 3711 | 3712 | 3713 | 1 3714 | 3718 | 225 56 67 1 3719 | 225 56 67 1 3720 | 0.01 0.01 0.01 1 3721 | 0 0 0 1 3722 | 3723 | 0 3724 | 1 3725 | 3726 | 3727 | 0 3728 | 10 3729 | 0 0 0 0 -0 0 3730 | 3731 | 3732 | 1.42873 1.36291 1 3733 | 3734 | 3735 | 3736 | 3737 | 3738 | 1 3739 | 1 3740 | 0 0 0 3741 | 0 3742 | 0 3743 | 3744 | 3745 | 1 3746 | 0 3747 | 0 3748 | 1 3749 | 3750 | 0 3751 | 3752 | 3753 | 3754 | 3755 | 0 3756 | 1e+06 3757 | 3758 | 3759 | 0 3760 | 1 3761 | 1 3762 | 3763 | 0 3764 | 0.2 3765 | 1e+13 3766 | 1 3767 | 0.01 3768 | 0 3769 | 3770 | 3771 | 1 3772 | -0.01 3773 | 0 3774 | 0.2 3775 | 1e+13 3776 | 1 3777 | 3778 | 3779 | 3780 | 3781 | 3782 | 3783 | -12.1551 -2.20744 9e-06 0 0 -0.406538 3784 | 3785 | 1.94722 3786 | 3787 | 0.463684 3788 | 0 3789 | 0 3790 | 0.4935 3791 | 0 3792 | 0.632648 3793 | 3794 | 0 0 0 0 -0 0 3795 | 3796 | 3797 | 0 0 0 0 -0 0 3798 | 3799 | 3800 | 1.42873 1.36291 1 3801 | 3802 | 3803 | 3804 | 1 3805 | 3809 | 114 116 160 1.0 3810 | 114 116 160 1.0 3811 | 0.01 0.01 0.01 1 3812 | 0 0 0 1 3813 | 3814 | 3815 | 0 3816 | 1 3817 | 3818 | 3819 | 0 3820 | 10 3821 | 0 0 0 0 -0 0 3822 | 3823 | 3824 | 1.42873 1.36291 1 3825 | 3826 | 3827 | 3828 | 3829 | 3830 | 1 3831 | 1 3832 | 0 0 0 3833 | 0 3834 | 0 3835 | 3836 | 3837 | 1 3838 | 0 3839 | 0 3840 | 1 3841 | 3842 | 0 3843 | 3844 | 3845 | 3846 | 3847 | 0 3848 | 1e+06 3849 | 3850 | 3851 | 0 3852 | 1 3853 | 1 3854 | 3855 | 0 3856 | 0.2 3857 | 1e+13 3858 | 1 3859 | 0.01 3860 | 0 3861 | 3862 | 3863 | 1 3864 | -0.01 3865 | 0 3866 | 0.2 3867 | 1e+13 3868 | 1 3869 | 3870 | 3871 | 3872 | 3873 | 3874 | 3875 | 2.67865 2.83156 9e-06 0 0 -0.406538 3876 | 3877 | 1.94722 3878 | 3879 | 0.463684 3880 | 0 3881 | 0 3882 | 0.4935 3883 | 0 3884 | 0.632648 3885 | 3886 | 0 0 0 0 -0 0 3887 | 3888 | 3889 | 0 0 0 0 -0 0 3890 | 3891 | 3892 | 1.42873 1.36291 1 3893 | 3894 | 3895 | 3896 | 1 3897 | 3901 | 225 56 67 1 3902 | 225 56 67 1 3903 | 0.01 0.01 0.01 1 3904 | 0 0 0 1 3905 | 3906 | 3907 | 0 3908 | 1 3909 | 3910 | 3911 | 0 3912 | 10 3913 | 0 0 0 0 -0 0 3914 | 3915 | 3916 | 1.42873 1.36291 1 3917 | 3918 | 3919 | 3920 | 3921 | 3922 | 1 3923 | 1 3924 | 0 0 0 3925 | 0 3926 | 0 3927 | 3928 | 3929 | 1 3930 | 0 3931 | 0 3932 | 1 3933 | 3934 | 0 3935 | 3936 | 3937 | 3938 | 3939 | 0 3940 | 1e+06 3941 | 3942 | 3943 | 0 3944 | 1 3945 | 1 3946 | 3947 | 0 3948 | 0.2 3949 | 1e+13 3950 | 1 3951 | 0.01 3952 | 0 3953 | 3954 | 3955 | 1 3956 | -0.01 3957 | 0 3958 | 0.2 3959 | 1e+13 3960 | 1 3961 | 3962 | 3963 | 3964 | 3965 | 3966 | 3967 | 4.37408 3.90111 9e-06 0 0 -0.406538 3968 | 3969 | 1.94722 3970 | 3971 | 0.463684 3972 | 0 3973 | 0 3974 | 0.4935 3975 | 0 3976 | 0.632648 3977 | 3978 | 0 0 0 0 -0 0 3979 | 3980 | 3981 | 0 0 0 0 -0 0 3982 | 3983 | 3984 | 1.42873 1.36291 1 3985 | 3986 | 3987 | 3988 | 1 3989 | 3993 | 114 116 160 1.0 3994 | 114 116 160 1.0 3995 | 0.01 0.01 0.01 1 3996 | 0 0 0 1 3997 | 3998 | 3999 | 0 4000 | 1 4001 | 4002 | 4003 | 0 4004 | 10 4005 | 0 0 0 0 -0 0 4006 | 4007 | 4008 | 1.42873 1.36291 1 4009 | 4010 | 4011 | 4012 | 4013 | 4014 | 1 4015 | 1 4016 | 0 0 0 4017 | 0 4018 | 0 4019 | 4020 | 4021 | 1 4022 | 0 4023 | 0 4024 | 1 4025 | 4026 | 0 4027 | 4028 | 4029 | 4030 | 4031 | 0 4032 | 1e+06 4033 | 4034 | 4035 | 0 4036 | 1 4037 | 1 4038 | 4039 | 0 4040 | 0.2 4041 | 1e+13 4042 | 1 4043 | 0.01 4044 | 0 4045 | 4046 | 4047 | 1 4048 | -0.01 4049 | 0 4050 | 0.2 4051 | 1e+13 4052 | 1 4053 | 4054 | 4055 | 4056 | 4057 | 4058 | 4059 | 0.353494 7.24728 9e-06 0 0 -0.406538 4060 | 4061 | 1.94722 4062 | 4063 | 0.463684 4064 | 0 4065 | 0 4066 | 0.4935 4067 | 0 4068 | 0.632648 4069 | 4070 | 0 0 0 0 -0 0 4071 | 4072 | 4073 | 0 0 0 0 -0 0 4074 | 4075 | 4076 | 1.42873 1.36291 1 4077 | 4078 | 4079 | 4080 | 1 4081 | 4085 | 74 143 121 1.0 4086 | 74 143 121 1.0 4087 | 0.01 0.01 0.01 1 4088 | 0 0 0 1 4089 | 4090 | 4091 | 0 4092 | 1 4093 | 4094 | 4095 | 0 4096 | 10 4097 | 0 0 0 0 -0 0 4098 | 4099 | 4100 | 1.42873 1.36291 1 4101 | 4102 | 4103 | 4104 | 4105 | 4106 | 1 4107 | 1 4108 | 0 0 0 4109 | 0 4110 | 0 4111 | 4112 | 4113 | 1 4114 | 0 4115 | 0 4116 | 1 4117 | 4118 | 0 4119 | 4120 | 4121 | 4122 | 4123 | 0 4124 | 1e+06 4125 | 4126 | 4127 | 0 4128 | 1 4129 | 1 4130 | 4131 | 0 4132 | 0.2 4133 | 1e+13 4134 | 1 4135 | 0.01 4136 | 0 4137 | 4138 | 4139 | 1 4140 | -0.01 4141 | 0 4142 | 0.2 4143 | 1e+13 4144 | 1 4145 | 4146 | 4147 | 4148 | 4149 | 4150 | 4151 | 6.7785 8.2182 9e-06 0 0 -0.406538 4152 | 4153 | 1.94722 4154 | 4155 | 0.463684 4156 | 0 4157 | 0 4158 | 0.4935 4159 | 0 4160 | 0.632648 4161 | 4162 | 0 0 0 0 -0 0 4163 | 4164 | 4165 | 0 0 0 0 -0 0 4166 | 4167 | 4168 | 1.42873 1.36291 1 4169 | 4170 | 4171 | 4172 | 1 4173 | 4177 | 225 169 67 1 4178 | 225 169 67 1 4179 | 0.01 0.01 0.01 1 4180 | 0 0 0 1 4181 | 4182 | 4183 | 0 4184 | 1 4185 | 4186 | 4187 | 0 4188 | 10 4189 | 0 0 0 0 -0 0 4190 | 4191 | 4192 | 1.42873 1.36291 1 4193 | 4194 | 4195 | 4196 | 4197 | 4198 | 1 4199 | 1 4200 | 0 0 0 4201 | 0 4202 | 0 4203 | 4204 | 4205 | 1 4206 | 0 4207 | 0 4208 | 1 4209 | 4210 | 0 4211 | 4212 | 4213 | 4214 | 4215 | 0 4216 | 1e+06 4217 | 4218 | 4219 | 0 4220 | 1 4221 | 1 4222 | 4223 | 0 4224 | 0.2 4225 | 1e+13 4226 | 1 4227 | 0.01 4228 | 0 4229 | 4230 | 4231 | 1 4232 | -0.01 4233 | 0 4234 | 0.2 4235 | 1e+13 4236 | 1 4237 | 4238 | 4239 | 4240 | 4241 | 4242 | 4243 | 9.80695 10.1149 9e-06 0 -0 0 4244 | 4245 | 1 4246 | 4247 | 0.145833 4248 | 0 4249 | 0 4250 | 0.145833 4251 | 0 4252 | 0.125 4253 | 4254 | 4255 | 4256 | 0 0 0 0 -0 0 4257 | 4258 | 4259 | 0.5 4260 | 1 4261 | 4262 | 4263 | 4264 | 1 4265 | 4269 | 74 143 121 1.0 4270 | 74 143 121 1.0 4271 | 0.01 0.01 0.01 1 4272 | 0 0 0 1 4273 | 4274 | 0 4275 | 1 4276 | 4277 | 4278 | 0 4279 | 10 4280 | 0 0 0 0 -0 0 4281 | 4282 | 4283 | 0.5 4284 | 1 4285 | 4286 | 4287 | 4288 | 4289 | 4290 | 1 4291 | 1 4292 | 0 0 0 4293 | 0 4294 | 0 4295 | 4296 | 4297 | 1 4298 | 0 4299 | 0 4300 | 1 4301 | 4302 | 0 4303 | 4304 | 4305 | 4306 | 4307 | 0 4308 | 1e+06 4309 | 4310 | 4311 | 0 4312 | 1 4313 | 1 4314 | 4315 | 0 4316 | 0.2 4317 | 1e+13 4318 | 1 4319 | 0.01 4320 | 0 4321 | 4322 | 4323 | 1 4324 | -0.01 4325 | 0 4326 | 0.2 4327 | 1e+13 4328 | 1 4329 | 4330 | 4331 | 4332 | 4333 | 4334 | 4335 | 9.90915 3.36462 9e-06 0 -0 0 4336 | 4337 | 1 4338 | 4339 | 0.166667 4340 | 0 4341 | 0 4342 | 0.166667 4343 | 0 4344 | 0.166667 4345 | 4346 | 4347 | 4348 | 0 0 0 0 -0 0 4349 | 4350 | 4351 | 1 1 1 4352 | 4353 | 4354 | 4355 | 1 4356 | 4360 | 255 255 255 1 4361 | 255 255 255 1 4362 | 0.01 0.01 0.01 1 4363 | 0 0 0 1 4364 | 4365 | 0 4366 | 1 4367 | 4368 | 4369 | 0 4370 | 10 4371 | 0 0 0 0 -0 0 4372 | 4373 | 4374 | 1 1 1 4375 | 4376 | 4377 | 4378 | 4379 | 4380 | 1 4381 | 1 4382 | 0 0 0 4383 | 0 4384 | 0 4385 | 4386 | 4387 | 1 4388 | 0 4389 | 0 4390 | 1 4391 | 4392 | 0 4393 | 4394 | 4395 | 4396 | 4397 | 0 4398 | 1e+06 4399 | 4400 | 4401 | 0 4402 | 1 4403 | 1 4404 | 4405 | 0 4406 | 0.2 4407 | 1e+13 4408 | 1 4409 | 0.01 4410 | 0 4411 | 4412 | 4413 | 1 4414 | -0.01 4415 | 0 4416 | 0.2 4417 | 1e+13 4418 | 1 4419 | 4420 | 4421 | 4422 | 4423 | 4424 | 4425 | 4426 | 9.11198 2.92169 9e-06 0 -0 0 4427 | 4428 | 1 4429 | 4430 | 0.166667 4431 | 0 4432 | 0 4433 | 0.166667 4434 | 0 4435 | 0.166667 4436 | 4437 | 4438 | 4439 | 0 0 0 0 -0 0 4440 | 4441 | 4442 | 1 1 1 4443 | 4444 | 4445 | 4446 | 1 4447 | 4451 | 255 255 255 1 4452 | 255 255 255 1 4453 | 0.01 0.01 0.01 1 4454 | 0 0 0 1 4455 | 4456 | 0 4457 | 1 4458 | 4459 | 4460 | 0 4461 | 10 4462 | 0 0 0 0 -0 0 4463 | 4464 | 4465 | 1 1 1 4466 | 4467 | 4468 | 4469 | 4470 | 4471 | 1 4472 | 1 4473 | 0 0 0 4474 | 0 4475 | 0 4476 | 4477 | 4478 | 1 4479 | 0 4480 | 0 4481 | 1 4482 | 4483 | 0 4484 | 4485 | 4486 | 4487 | 4488 | 0 4489 | 1e+06 4490 | 4491 | 4492 | 0 4493 | 1 4494 | 1 4495 | 4496 | 0 4497 | 0.2 4498 | 1e+13 4499 | 1 4500 | 0.01 4501 | 0 4502 | 4503 | 4504 | 1 4505 | -0.01 4506 | 0 4507 | 0.2 4508 | 1e+13 4509 | 1 4510 | 4511 | 4512 | 4513 | 4514 | 4515 | 0 4516 | 1 4517 | 4518 | 4519 | 4520 | -------------------------------------------------------------------------------- /src/motion_plan/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | cmake_minimum_required(VERSION 3.0.2) 2 | project(motion_plan) 3 | 4 | ## Compile as C++11, supported in ROS Kinetic and newer 5 | # add_compile_options(-std=c++11) 6 | 7 | ## Find catkin macros and libraries 8 | ## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) 9 | ## is used, also find other catkin packages 10 | find_package(catkin REQUIRED COMPONENTS 11 | geometry_msgs 12 | nav_msgs 13 | rospy 14 | sensor_msgs 15 | ) 16 | 17 | ## System dependencies are found with CMake's conventions 18 | # find_package(Boost REQUIRED COMPONENTS system) 19 | 20 | 21 | ## Uncomment this if the package has a setup.py. This macro ensures 22 | ## modules and global scripts declared therein get installed 23 | ## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html 24 | # catkin_python_setup() 25 | 26 | ################################################ 27 | ## Declare ROS messages, services and actions ## 28 | ################################################ 29 | 30 | ## To declare and build messages, services or actions from within this 31 | ## package, follow these steps: 32 | ## * Let MSG_DEP_SET be the set of packages whose message types you use in 33 | ## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). 34 | ## * In the file package.xml: 35 | ## * add a build_depend tag for "message_generation" 36 | ## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET 37 | ## * If MSG_DEP_SET isn't empty the following dependency has been pulled in 38 | ## but can be declared for certainty nonetheless: 39 | ## * add a exec_depend tag for "message_runtime" 40 | ## * In this file (CMakeLists.txt): 41 | ## * add "message_generation" and every package in MSG_DEP_SET to 42 | ## find_package(catkin REQUIRED COMPONENTS ...) 43 | ## * add "message_runtime" and every package in MSG_DEP_SET to 44 | ## catkin_package(CATKIN_DEPENDS ...) 45 | ## * uncomment the add_*_files sections below as needed 46 | ## and list every .msg/.srv/.action file to be processed 47 | ## * uncomment the generate_messages entry below 48 | ## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) 49 | 50 | ## Generate messages in the 'msg' folder 51 | # add_message_files( 52 | # FILES 53 | # Message1.msg 54 | # Message2.msg 55 | # ) 56 | 57 | ## Generate services in the 'srv' folder 58 | # add_service_files( 59 | # FILES 60 | # Service1.srv 61 | # Service2.srv 62 | # ) 63 | 64 | ## Generate actions in the 'action' folder 65 | # add_action_files( 66 | # FILES 67 | # Action1.action 68 | # Action2.action 69 | # ) 70 | 71 | ## Generate added messages and services with any dependencies listed here 72 | # generate_messages( 73 | # DEPENDENCIES 74 | # geometry_msgs# nav_msgs# sensor_msgs 75 | # ) 76 | 77 | ################################################ 78 | ## Declare ROS dynamic reconfigure parameters ## 79 | ################################################ 80 | 81 | ## To declare and build dynamic reconfigure parameters within this 82 | ## package, follow these steps: 83 | ## * In the file package.xml: 84 | ## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" 85 | ## * In this file (CMakeLists.txt): 86 | ## * add "dynamic_reconfigure" to 87 | ## find_package(catkin REQUIRED COMPONENTS ...) 88 | ## * uncomment the "generate_dynamic_reconfigure_options" section below 89 | ## and list every .cfg file to be processed 90 | 91 | ## Generate dynamic reconfigure parameters in the 'cfg' folder 92 | # generate_dynamic_reconfigure_options( 93 | # cfg/DynReconf1.cfg 94 | # cfg/DynReconf2.cfg 95 | # ) 96 | 97 | ################################### 98 | ## catkin specific configuration ## 99 | ################################### 100 | ## The catkin_package macro generates cmake config files for your package 101 | ## Declare things to be passed to dependent projects 102 | ## INCLUDE_DIRS: uncomment this if your package contains header files 103 | ## LIBRARIES: libraries you create in this project that dependent projects also need 104 | ## CATKIN_DEPENDS: catkin_packages dependent projects also need 105 | ## DEPENDS: system dependencies of this project that dependent projects also need 106 | catkin_package( 107 | # INCLUDE_DIRS include 108 | # LIBRARIES motion_plan 109 | # CATKIN_DEPENDS geometry_msgs nav_msgs rospy sensor_msgs 110 | # DEPENDS system_lib 111 | ) 112 | 113 | ########### 114 | ## Build ## 115 | ########### 116 | 117 | ## Specify additional locations of header files 118 | ## Your package locations should be listed before other locations 119 | include_directories( 120 | # include 121 | ${catkin_INCLUDE_DIRS} 122 | ) 123 | 124 | ## Declare a C++ library 125 | # add_library(${PROJECT_NAME} 126 | # src/${PROJECT_NAME}/motion_plan.cpp 127 | # ) 128 | 129 | ## Add cmake target dependencies of the library 130 | ## as an example, code may need to be generated before libraries 131 | ## either from message generation or dynamic reconfigure 132 | # add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 133 | 134 | ## Declare a C++ executable 135 | ## With catkin_make all packages are built within a single CMake context 136 | ## The recommended prefix ensures that target names across packages don't collide 137 | # add_executable(${PROJECT_NAME}_node src/motion_plan_node.cpp) 138 | 139 | ## Rename C++ executable without prefix 140 | ## The above recommended prefix causes long target names, the following renames the 141 | ## target back to the shorter version for ease of user use 142 | ## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" 143 | # set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") 144 | 145 | ## Add cmake target dependencies of the executable 146 | ## same as for the library above 147 | # add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) 148 | 149 | ## Specify libraries to link a library or executable target against 150 | # target_link_libraries(${PROJECT_NAME}_node 151 | # ${catkin_LIBRARIES} 152 | # ) 153 | 154 | ############# 155 | ## Install ## 156 | ############# 157 | 158 | # all install targets should use catkin DESTINATION variables 159 | # See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html 160 | 161 | ## Mark executable scripts (Python etc.) for installation 162 | ## in contrast to setup.py, you can choose the destination 163 | # catkin_install_python(PROGRAMS 164 | # scripts/my_python_script 165 | # DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 166 | # ) 167 | 168 | ## Mark executables for installation 169 | ## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html 170 | # install(TARGETS ${PROJECT_NAME}_node 171 | # RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} 172 | # ) 173 | 174 | ## Mark libraries for installation 175 | ## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html 176 | # install(TARGETS ${PROJECT_NAME} 177 | # ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 178 | # LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} 179 | # RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} 180 | # ) 181 | 182 | ## Mark cpp header files for installation 183 | # install(DIRECTORY include/${PROJECT_NAME}/ 184 | # DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} 185 | # FILES_MATCHING PATTERN "*.h" 186 | # PATTERN ".svn" EXCLUDE 187 | # ) 188 | 189 | ## Mark other files for installation (e.g. launch and bag files, etc.) 190 | # install(FILES 191 | # # myfile1 192 | # # myfile2 193 | # DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} 194 | # ) 195 | 196 | ############# 197 | ## Testing ## 198 | ############# 199 | 200 | ## Add gtest based cpp test target and link libraries 201 | # catkin_add_gtest(${PROJECT_NAME}-test test/test_motion_plan.cpp) 202 | # if(TARGET ${PROJECT_NAME}-test) 203 | # target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) 204 | # endif() 205 | 206 | ## Add folders to be run by python nosetests 207 | # catkin_add_nosetests(test) 208 | -------------------------------------------------------------------------------- /src/motion_plan/nodes/follow_wall.py: -------------------------------------------------------------------------------- 1 | #! /usr/bin/env python 2 | 3 | 4 | import rospy 5 | import numpy as np 6 | from geometry_msgs.msg import Twist 7 | from sensor_msgs.msg import LaserScan 8 | 9 | pub = rospy.Publisher("cmd_vel", Twist, queue_size=10) 10 | velocity_msg = Twist() 11 | follow_dir = -1 12 | 13 | section = { 14 | 'front': 0, 15 | 'left': 0, 16 | 'right': 0, 17 | } 18 | 19 | state_ = 0 20 | 21 | state_dict_ = { 22 | 0: 'Find wall', 23 | 1: 'Turn right', 24 | 2: 'Follow the wall', 25 | 3: 'Turn left', 26 | 4: 'Diagonally right', 27 | 5: 'Diagonally left', 28 | } 29 | ''' 30 | This block contains all the functions designed to execute the navigation process. 31 | 32 | Function: Change_state: This function gets information about the state of robot based on the distance from 33 | from obstacle and changes the state of robot. 34 | 35 | Argument: state:{Type: Integer} This parameter is used to get the required action set for thr robot. 36 | 0 - 'Find wall', 37 | 1 - 'turn right', 38 | 2 - 'Follow the wall', 39 | 3 - 'turn left', 40 | 4 - 'diagonally right', 41 | 5 - 'diagonally left', 42 | 43 | ''' 44 | 45 | 46 | def change_state(state): 47 | global state_, state_dict_ 48 | if state is not state_: 49 | print('State of Bot - [%s] - %s' % (state, state_dict_[state])) 50 | state_ = state 51 | 52 | 53 | ''' 54 | Function: callback_laser: This function gets information about LaserScan Data from the sensor and has the conditions set 55 | to change the state of robot based on the distance from the obstacle. 56 | 57 | LaserScan data is transferred in the numpy array to retrieve it more efficiently. 58 | 59 | I have used numpy min() inbuilt function to get LaserScan values between 0-40 degrees for left 60 | side, 70-110 for centre/front side, and 140-180 degrees for right. 61 | 62 | Once the callback_laser is called in subscriber it will initiate the bug_action block. 63 | 64 | Argument: msg: {Type: ranges}: This parameter gets sensor_msgs for LaserScan. 65 | ''' 66 | 67 | 68 | def callback_laser(msg): 69 | global section 70 | 71 | laser_range = np.array(msg.ranges) 72 | section = { 73 | 'front': min(laser_range[70:110]), 74 | 'left': min(laser_range[0:40]), 75 | 'right': min(laser_range[140:180]), 76 | } 77 | 78 | bug_action() 79 | 80 | 81 | ''' 82 | Function: bug_action: This function uses a global function to set the direction or wall to follow. When the variable 83 | follow_dir == -1, the wall follower will reset. When follow_dir == 0, the robot is set to follow 84 | left wall, and when the follow-dir == 1, robot is set to follow the right wall. 85 | 86 | Based on the global variable, once a wall is selected the algorithm to follow that particular wall 87 | is implemented. 88 | ''' 89 | 90 | 91 | def bug_action(): 92 | global follow_dir 93 | 94 | b = 1 # maximum threshold distance 95 | a = 0.5 # minimum threshold distance 96 | velocity = Twist() # Odometry call for velocity 97 | linear_x = 0 # Odometry message for linear velocity will be called here. 98 | angular_z = 0 # Odometry message for angular velocity will be called here. 99 | 100 | rospy.loginfo("follow_direction {f}".format(f=follow_dir)) # This will indicate the direction of wall to follow. 101 | 102 | if section['front'] > b and section['left'] > b and section['right'] > b: # Loop 1 103 | change_state(0) 104 | rospy.loginfo("Reset Follow_dir") 105 | elif follow_dir == -1: # To set the direction of wall to follow 106 | if section['left'] < b: 107 | change_state(1) 108 | follow_dir = 0 109 | rospy.loginfo("following left wall") 110 | elif section['right'] < b: 111 | change_state(3) 112 | follow_dir = 1 113 | rospy.loginfo("following right wall") 114 | else: 115 | change_state(2) 116 | rospy.loginfo("follow direction not set") 117 | elif section['front'] < a and section['left'] < a and section['right'] < a: 118 | rospy.loginfo("Too Close") 119 | else: 120 | rospy.loginfo("Running") 121 | 122 | if follow_dir == 0: # Algorithm for left wall follower 123 | if section['left'] > b and section['front'] > a: 124 | change_state(4) 125 | elif section['left'] < b and section['front'] > a: 126 | change_state(2) 127 | elif section['left'] < b and section['front'] < a: 128 | change_state(3) 129 | else: 130 | rospy.loginfo("follow left wall is not running") 131 | elif follow_dir == 1: # Algorithm for right wall follower 132 | if section['right'] > b and section['front'] > a: 133 | change_state(5) 134 | elif section['right'] < b and section['front'] > a: 135 | change_state(2) 136 | elif section['right'] < b and section['front'] < a: 137 | change_state(1) 138 | else: 139 | rospy.loginfo("follow right wall is not running") 140 | 141 | 142 | ''' 143 | Function: find_wall: This function publishes linear and angular velocities for finding wall. 144 | ''' 145 | 146 | 147 | def find_wall(): 148 | velocity = Twist() 149 | velocity.linear.x = 0.3 150 | velocity.angular.z = 0 151 | return velocity 152 | 153 | 154 | ''' 155 | Function: turn_left: This function publishes linear and angular velocities for turning left. 156 | ''' 157 | 158 | 159 | def turn_left(): 160 | velocity = Twist() 161 | velocity.linear.x = 0 162 | velocity.angular.z = 0.3 163 | return velocity 164 | 165 | 166 | ''' 167 | Function: turn_right: This function publishes linear and angular velocities for turning right. 168 | ''' 169 | 170 | 171 | def turn_right(): 172 | velocity = Twist() 173 | velocity.linear.x = 0 174 | velocity.angular.z = -0.3 175 | return velocity 176 | 177 | 178 | ''' 179 | Function: move_ahead: This function publishes linear and angular velocities for moving straight. 180 | ''' 181 | 182 | 183 | def move_ahead(): 184 | velocity = Twist() 185 | velocity.linear.x = 0.3 186 | velocity.angular.z = 0 187 | return velocity 188 | 189 | 190 | ''' 191 | Function: move_diag_right: This function publishes linear and angular velocities for moving diagonally right. 192 | ''' 193 | 194 | 195 | def move_diag_right(): 196 | velocity = Twist() 197 | velocity.linear.x = 0.1 198 | velocity.angular.z = -0.3 199 | return velocity 200 | 201 | 202 | ''' 203 | Function: move_diag_left: This function publishes linear and angular velocities for moving diagonally left. 204 | ''' 205 | 206 | 207 | def move_diag_left(): 208 | velocity = Twist() 209 | velocity.linear.x = 0.1 210 | velocity.angular.z = 0.3 211 | return velocity 212 | 213 | 214 | ''' 215 | Function: check: This function publishes velocity values for the logic based on the states. 216 | ''' 217 | 218 | 219 | def check(): 220 | global pub 221 | 222 | rospy.init_node('follow_wall') 223 | rospy.Subscriber('/scan', LaserScan, callback_laser) 224 | 225 | while not rospy.is_shutdown(): 226 | 227 | velocity = Twist() 228 | if state_ == 0: 229 | velocity = find_wall() 230 | elif state_ == 1: 231 | velocity = turn_right() 232 | elif state_ == 2: 233 | velocity = move_ahead() 234 | elif state_ == 3: 235 | velocity = turn_left() 236 | elif state_ == 4: 237 | velocity = move_diag_right() 238 | elif state_ == 5: 239 | velocity = move_diag_left() 240 | else: 241 | rospy.logerr('Unknown state!') 242 | 243 | pub.publish(velocity) 244 | 245 | rospy.spin() 246 | 247 | 248 | if __name__ == "__main__": 249 | check() 250 | -------------------------------------------------------------------------------- /src/motion_plan/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | motion_plan 4 | 0.0.0 5 | The motion_plan package 6 | 7 | 8 | 9 | 10 | ndnupur 11 | 12 | 13 | 14 | 15 | 16 | TODO 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | 51 | catkin 52 | geometry_msgs 53 | nav_msgs 54 | rospy 55 | sensor_msgs 56 | geometry_msgs 57 | nav_msgs 58 | rospy 59 | sensor_msgs 60 | geometry_msgs 61 | nav_msgs 62 | rospy 63 | sensor_msgs 64 | 65 | 66 | 67 | 68 | 69 | 70 | 71 | 72 | --------------------------------------------------------------------------------