From e1ad435cd688ce0be6562b5cca2f7cee3d01e982 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 13:52:14 +0900 Subject: [PATCH 01/12] Create package of rois_2dnav_gazebo --- rois_2dnav_gazebo/CMakeLists.txt | 207 +++++++++++++++++++++++++++++++ rois_2dnav_gazebo/package.xml | 71 +++++++++++ 2 files changed, 278 insertions(+) create mode 100644 rois_2dnav_gazebo/CMakeLists.txt create mode 100644 rois_2dnav_gazebo/package.xml diff --git a/rois_2dnav_gazebo/CMakeLists.txt b/rois_2dnav_gazebo/CMakeLists.txt new file mode 100644 index 00000000..022de1ef --- /dev/null +++ b/rois_2dnav_gazebo/CMakeLists.txt @@ -0,0 +1,207 @@ +cmake_minimum_required(VERSION 2.8.3) +project(rois_2dnav_gazebo) + +## Compile as C++11, supported in ROS Kinetic and newer +# add_compile_options(-std=c++11) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + amcl + map_server + move_base + rois_gazebo +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend tag for "message_generation" +## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependency has been pulled in +## but can be declared for certainty nonetheless: +## * add a exec_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder +# add_message_files( +# FILES +# Message1.msg +# Message2.msg +# ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +################################################ +## Declare ROS dynamic reconfigure parameters ## +################################################ + +## To declare and build dynamic reconfigure parameters within this +## package, follow these steps: +## * In the file package.xml: +## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" +## * In this file (CMakeLists.txt): +## * add "dynamic_reconfigure" to +## find_package(catkin REQUIRED COMPONENTS ...) +## * uncomment the "generate_dynamic_reconfigure_options" section below +## and list every .cfg file to be processed + +## Generate dynamic reconfigure parameters in the 'cfg' folder +# generate_dynamic_reconfigure_options( +# cfg/DynReconf1.cfg +# cfg/DynReconf2.cfg +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if your package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES rois_2dnav_gazebo +# CATKIN_DEPENDS amcl map_server move_base rois_gazebo +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories( +# include + ${catkin_INCLUDE_DIRS} +) + +## Declare a C++ library +# add_library(${PROJECT_NAME} +# src/${PROJECT_NAME}/rois_2dnav_gazebo.cpp +# ) + +## Add cmake target dependencies of the library +## as an example, code may need to be generated before libraries +## either from message generation or dynamic reconfigure +# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Declare a C++ executable +## With catkin_make all packages are built within a single CMake context +## The recommended prefix ensures that target names across packages don't collide +# add_executable(${PROJECT_NAME}_node src/rois_2dnav_gazebo_node.cpp) + +## Rename C++ executable without prefix +## The above recommended prefix causes long target names, the following renames the +## target back to the shorter version for ease of user use +## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" +# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") + +## Add cmake target dependencies of the executable +## same as for the library above +# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Specify libraries to link a library or executable target against +# target_link_libraries(${PROJECT_NAME}_node +# ${catkin_LIBRARIES} +# ) + +############# +## Install ## +############# + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# install(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html +# install(TARGETS ${PROJECT_NAME}_node +# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark libraries for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html +# install(TARGETS ${PROJECT_NAME} +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_rois_2dnav_gazebo.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/rois_2dnav_gazebo/package.xml b/rois_2dnav_gazebo/package.xml new file mode 100644 index 00000000..b11e207b --- /dev/null +++ b/rois_2dnav_gazebo/package.xml @@ -0,0 +1,71 @@ + + + rois_2dnav_gazebo + 0.0.0 + The rois_2dnav_gazebo package + + + + + tanacchi + + + + + + TODO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + catkin + amcl + map_server + move_base + rois_gazebo + amcl + map_server + move_base + rois_gazebo + amcl + map_server + move_base + rois_gazebo + + + + + + + + -- GitLab From 01a64428c9dc5c7a38a0f411fba799040a1a1b9b Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 13:53:46 +0900 Subject: [PATCH 02/12] Move launch file to generate map into 2dnav package --- {rois_gazebo => rois_2dnav_gazebo}/launch/generate_2dmap.launch | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename {rois_gazebo => rois_2dnav_gazebo}/launch/generate_2dmap.launch (100%) diff --git a/rois_gazebo/launch/generate_2dmap.launch b/rois_2dnav_gazebo/launch/generate_2dmap.launch similarity index 100% rename from rois_gazebo/launch/generate_2dmap.launch rename to rois_2dnav_gazebo/launch/generate_2dmap.launch -- GitLab From 23e514b2ce725f8c682329ac4fe4c391168437d4 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 14:04:13 +0900 Subject: [PATCH 03/12] Copy config files for navigation from fifth_robot_pkg --- rois_2dnav_gazebo/config/amcl_params.yaml | 59 ++++++++++++++++++ .../config/costmap/costmap_common_params.yaml | 24 ++++++++ .../config/costmap/global_costmap_params.yaml | 9 +++ .../config/costmap/local_costmap_params.yaml | 11 ++++ .../config/move_base_params.yaml | 15 +++++ .../planner/base_global_planner_params.yaml | 9 +++ .../planner/base_local_planner_params.yaml | 36 +++++++++++ .../config/planner/recovery_behaviors.yaml | 61 +++++++++++++++++++ 8 files changed, 224 insertions(+) create mode 100644 rois_2dnav_gazebo/config/amcl_params.yaml create mode 100644 rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml create mode 100644 rois_2dnav_gazebo/config/costmap/global_costmap_params.yaml create mode 100644 rois_2dnav_gazebo/config/costmap/local_costmap_params.yaml create mode 100644 rois_2dnav_gazebo/config/move_base_params.yaml create mode 100644 rois_2dnav_gazebo/config/planner/base_global_planner_params.yaml create mode 100644 rois_2dnav_gazebo/config/planner/base_local_planner_params.yaml create mode 100644 rois_2dnav_gazebo/config/planner/recovery_behaviors.yaml diff --git a/rois_2dnav_gazebo/config/amcl_params.yaml b/rois_2dnav_gazebo/config/amcl_params.yaml new file mode 100644 index 00000000..eb1cfbd3 --- /dev/null +++ b/rois_2dnav_gazebo/config/amcl_params.yaml @@ -0,0 +1,59 @@ +min_particles: 100 +max_particles: 5000 + +kld_err: 0.01 +kld_z: 0.99 + +update_min_d: 0.01 +update_min_a: 0.01 + +resample_interval: 2 + +transform_tolerance: 0.1 + +recovery_alpha_slow: 0.001 +recovery_alpha_fast: 0.1 + +initial_pose_x: 0.0 +initial_pose_y: 0.0 +initial_pose_a: 0.0 +initial_cov_xx: 0.25 +initial_cov_yy: 0.25 +initial_cov_aa: 0.07 + +gui_publish_rate: 10.0 + +save_pose_rate: 0.5 + +use_map_topic: true + +first_map_only: false + +laser_min_range: -1.0 +laser_max_range: -1.0 +laser_max_beams: 30 + +laser_z_hit: 0.95 +laser_z_short: 0.1 +laser_z_max: 0.05 +laser_z_rand: 0.05 + +laser_sigma_hit: 0.2 +laser_lambda_short: 0.1 + +laser_likelihood_max_dist: 2.0 +laser_model_type: likelihood_field + +odom_model_type: diff-corrected + +odom_alpha1: 0.3 +odom_alpha2: 0.3 +odom_alpha3: 0.3 +odom_alpha4: 0.3 +odom_alpha5: 0.1 + +odom_frame_id: odom +base_frame_id: base_link +global_frame_id: map + +tf_broadcast: true diff --git a/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml b/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml new file mode 100644 index 00000000..32b77899 --- /dev/null +++ b/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml @@ -0,0 +1,24 @@ +obstacle_range: 5.0 +raytrace_range: 10.0 + +footprint: [[0.00, -0.15], [0.00, 0.15], [-0.40, 0.15], [-0.40, -0.15]] +cost_scaling_factor: 5.0 + +origin_z: 0.0 +z_resolution: 0.02 +z_voxels: 0.02 +publish_voxel_map: false + +observation_sources: lrf_sensor +velodyne_sensor: { + sensor_frame: lrf_link, + data_type: LaserScan, + topic: /scan, + # expected_update_rate: 1.0, + observation_persistence: 0.0, + marking: true, + clearing: true, + min_obstacle_height: 0.2, + max_obstacle_height: 1.0, +} + diff --git a/rois_2dnav_gazebo/config/costmap/global_costmap_params.yaml b/rois_2dnav_gazebo/config/costmap/global_costmap_params.yaml new file mode 100644 index 00000000..e503908e --- /dev/null +++ b/rois_2dnav_gazebo/config/costmap/global_costmap_params.yaml @@ -0,0 +1,9 @@ +global_costmap: + global_frame: map + robot_base_frame: base_link + update_frequency: 3.0 + publish_frequency: 3.0 + static_map: true + rolling_window: false + transform_tolerance: 1.0 + diff --git a/rois_2dnav_gazebo/config/costmap/local_costmap_params.yaml b/rois_2dnav_gazebo/config/costmap/local_costmap_params.yaml new file mode 100644 index 00000000..ee98983d --- /dev/null +++ b/rois_2dnav_gazebo/config/costmap/local_costmap_params.yaml @@ -0,0 +1,11 @@ +local_costmap: + global_frame: map + robot_base_frame: base_link + update_frequency: 8.0 + publish_frequency: 7.0 + width: 10.0 + height: 10.0 + resolution: 0.02 + meter_scoring: true + static_map: false + rolling_window: true diff --git a/rois_2dnav_gazebo/config/move_base_params.yaml b/rois_2dnav_gazebo/config/move_base_params.yaml new file mode 100644 index 00000000..86ed2ca1 --- /dev/null +++ b/rois_2dnav_gazebo/config/move_base_params.yaml @@ -0,0 +1,15 @@ +controller_frequency: 5.0 +controller_patience: 10.0 + +planner_patience: 5.0 +planner_frequency: 2.0 + +recovery_behavior_enabled: true +clearing_rotation_allowed: true +shutdown_costmaps: false + +oscillation_timeout: 10.0 +oscillation_distance: 0.2 + +max_planning_retries: 40 +conservative_reset_dist: 6.0 diff --git a/rois_2dnav_gazebo/config/planner/base_global_planner_params.yaml b/rois_2dnav_gazebo/config/planner/base_global_planner_params.yaml new file mode 100644 index 00000000..da175a81 --- /dev/null +++ b/rois_2dnav_gazebo/config/planner/base_global_planner_params.yaml @@ -0,0 +1,9 @@ +base_global_planner: global_planner/GlobalPlanner +GlobalPlanner: + allow_unknown: false + default_tolerance: 1.5 + visualize_potential: false + use_dijkstra: true + use_quadratic: true + use_grid_path: false + old_navfn_behavior: false diff --git a/rois_2dnav_gazebo/config/planner/base_local_planner_params.yaml b/rois_2dnav_gazebo/config/planner/base_local_planner_params.yaml new file mode 100644 index 00000000..5284a0fe --- /dev/null +++ b/rois_2dnav_gazebo/config/planner/base_local_planner_params.yaml @@ -0,0 +1,36 @@ +TrajectoryPlannerROS: + max_vel_x: 2.0 + min_vel_x: -0.5 + max_vel_theta: 2.0 + min_vel_theta: -2.0 + + min_in_place_rotational_vel: 1.0 + + acc_lim_x: 1.0 + acc_lim_y: 0.0 + acc_lim_theta: 3.2 + + # fifth_robot is not a holonomic robot + holonomic_robot: false + + yaw_goal_tolerance: 0.1 + xy_goal_tolerance: 0.1 + + sim_time: 2.0 + controller_frequency: 5.0 + # Length of view when rotate + heading_lookahead: 15.0 + # Use method of Dynamic Window Approach + heading_scoring: false + heading_scoring_timestamp: 0.5 + dwa: true + + # Show cost map + publish_cost_grid_pc: true + global_frame_id: map + + pdist_scale: 0.6 + gdist_scale: 0.8 + occdist_scale: 0.01 + + meter_scoring: true diff --git a/rois_2dnav_gazebo/config/planner/recovery_behaviors.yaml b/rois_2dnav_gazebo/config/planner/recovery_behaviors.yaml new file mode 100644 index 00000000..65d063bc --- /dev/null +++ b/rois_2dnav_gazebo/config/planner/recovery_behaviors.yaml @@ -0,0 +1,61 @@ +recovery_behavior_enabled: true +recovery_behaviors: + - name: 'conservative_reset' + type: 'clear_costmap_recovery/ClearCostmapRecovery' + - name: 'rotate_recovery_1' + type: 'rotate_recovery/RotateRecovery' + - name: 'aggressive_reset' + type: 'clear_costmap_recovery/ClearCostmapRecovery' + - name: 'rotate_recovery_2' + type: 'rotate_recovery/RotateRecovery' + - name: 'rotate_recovery_3' + type: 'rotate_recovery/RotateRecovery' + # - name: 'step_back_and_max_steer_recovery' + # type: 'step_back_and_max_steer_recovery/StepBackAndMaxSteerRecovery' + +conservative_reset: + reset_distance: 10.0 + +rotate_recovery_1: + sim_granularity: 0.017 + max_rotational_vel: -1.0 + min_in_place_rotational_vel: -1.0 + +aggressive_reset: + reset_distance: 0.0 + +rotate_recovery_2: + sim_granularity: 0.017 + max_rotational_vel: -1.0 + min_in_place_rotational_vel: -1.0 + +rotate_recovery_3: + sim_granularity: 0.017 + max_rotational_vel: -1.0 + min_in_place_rotational_vel: -1.0 + +# step_back_and_max_steer_recovery: +# # 最初の一回だけ旋回したい場合にtrue +# only_single_steering: true +# # リカバリ行動の試行回数[回] +# trial_times : 3 +# # 障害物までの許容距離[m]. +# #-- 移動中に,移動方向に対して最も近い障害物がこの距離以内に出現したら停止する. +# obstacle_patience : 0.5 +# #-- 移動中に,障害物を確認する頻度[回/sec] +# obstacle_check_frequency: 5.0 +# # 障害物探索時の角度の分解能[rad] costmapアクセス数を低減したいときに調整する. +# sim_angle_resolution: 0.1 +# # back(初回後退時の速度[m/s], 移動距離[m], タイムアウト[sec]) +# linear_vel_back : -1.5 +# step_back_length : 0.6 +# step_back_timeout : 15.0 +# # steer(旋回時の直進速度[m/s], 回転速さ(環境に寄って±が変わる)[rad/s], 目標回転角度[rad], タイムアウト[sec]) +# linear_vel_steer : 0.3 +# angular_speed_steer : 1.0 +# turn_angle : 0.78 +# steering_timeout : 15.0 +# # forward(旋回→直進→旋回の直進時の速度[m/s], 目標移動距離[m]) +# linear_vel_forward : 0.3 +# step_forward_length : 1.0 +# step_forward_timeout: 15.0 -- GitLab From 80a7f349f5dc6e52ed2a2486c489d69352098590 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 14:10:47 +0900 Subject: [PATCH 04/12] Add launch files for navigation --- rois_2dnav_gazebo/launch/amcl.launch | 5 +++++ rois_2dnav_gazebo/launch/move_base.launch | 16 ++++++++++++++++ 2 files changed, 21 insertions(+) create mode 100644 rois_2dnav_gazebo/launch/amcl.launch create mode 100644 rois_2dnav_gazebo/launch/move_base.launch diff --git a/rois_2dnav_gazebo/launch/amcl.launch b/rois_2dnav_gazebo/launch/amcl.launch new file mode 100644 index 00000000..3d9fb4fa --- /dev/null +++ b/rois_2dnav_gazebo/launch/amcl.launch @@ -0,0 +1,5 @@ + + + + + diff --git a/rois_2dnav_gazebo/launch/move_base.launch b/rois_2dnav_gazebo/launch/move_base.launch new file mode 100644 index 00000000..3c83f910 --- /dev/null +++ b/rois_2dnav_gazebo/launch/move_base.launch @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + -- GitLab From 692cca366d0b5f344c40e99f07793ca391550ab6 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 14:14:37 +0900 Subject: [PATCH 05/12] Add sample map --- rois_2dnav_gazebo/map/lab_corridor/lab_corridor.pgm | 5 +++++ rois_2dnav_gazebo/map/lab_corridor/lab_corridor.yaml | 7 +++++++ 2 files changed, 12 insertions(+) create mode 100644 rois_2dnav_gazebo/map/lab_corridor/lab_corridor.pgm create mode 100644 rois_2dnav_gazebo/map/lab_corridor/lab_corridor.yaml diff --git a/rois_2dnav_gazebo/map/lab_corridor/lab_corridor.pgm b/rois_2dnav_gazebo/map/lab_corridor/lab_corridor.pgm new file mode 100644 index 00000000..fd8b0cc2 --- /dev/null +++ b/rois_2dnav_gazebo/map/lab_corridor/lab_corridor.pgm @@ -0,0 +1,5 @@ +P5 +# CREATOR: map_saver.cpp 0.050 m/pix +4000 4000 +255 + \ No newline at end of file diff --git a/rois_2dnav_gazebo/map/lab_corridor/lab_corridor.yaml b/rois_2dnav_gazebo/map/lab_corridor/lab_corridor.yaml new file mode 100644 index 00000000..cf376f17 --- /dev/null +++ b/rois_2dnav_gazebo/map/lab_corridor/lab_corridor.yaml @@ -0,0 +1,7 @@ +image: lab_corridor.pgm +resolution: 0.050000 +origin: [-100.000000, -100.000000, 0.000000] +negate: 0 +occupied_thresh: 0.65 +free_thresh: 0.196 + -- GitLab From cbd38661a5e3269959997a5c3f5d23e89eb975e8 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 14:17:21 +0900 Subject: [PATCH 06/12] Create rois_bringup package --- rois_bringup/CMakeLists.txt | 206 ++++++++++++++++++++++++++++++++++++ rois_bringup/package.xml | 68 ++++++++++++ 2 files changed, 274 insertions(+) create mode 100644 rois_bringup/CMakeLists.txt create mode 100644 rois_bringup/package.xml diff --git a/rois_bringup/CMakeLists.txt b/rois_bringup/CMakeLists.txt new file mode 100644 index 00000000..9be0d836 --- /dev/null +++ b/rois_bringup/CMakeLists.txt @@ -0,0 +1,206 @@ +cmake_minimum_required(VERSION 2.8.3) +project(rois_bringup) + +## Compile as C++11, supported in ROS Kinetic and newer +# add_compile_options(-std=c++11) + +## Find catkin macros and libraries +## if COMPONENTS list like find_package(catkin REQUIRED COMPONENTS xyz) +## is used, also find other catkin packages +find_package(catkin REQUIRED COMPONENTS + rois_2dnav_gazebo + rois_description + rois_gazebo +) + +## System dependencies are found with CMake's conventions +# find_package(Boost REQUIRED COMPONENTS system) + + +## Uncomment this if the package has a setup.py. This macro ensures +## modules and global scripts declared therein get installed +## See http://ros.org/doc/api/catkin/html/user_guide/setup_dot_py.html +# catkin_python_setup() + +################################################ +## Declare ROS messages, services and actions ## +################################################ + +## To declare and build messages, services or actions from within this +## package, follow these steps: +## * Let MSG_DEP_SET be the set of packages whose message types you use in +## your messages/services/actions (e.g. std_msgs, actionlib_msgs, ...). +## * In the file package.xml: +## * add a build_depend tag for "message_generation" +## * add a build_depend and a exec_depend tag for each package in MSG_DEP_SET +## * If MSG_DEP_SET isn't empty the following dependency has been pulled in +## but can be declared for certainty nonetheless: +## * add a exec_depend tag for "message_runtime" +## * In this file (CMakeLists.txt): +## * add "message_generation" and every package in MSG_DEP_SET to +## find_package(catkin REQUIRED COMPONENTS ...) +## * add "message_runtime" and every package in MSG_DEP_SET to +## catkin_package(CATKIN_DEPENDS ...) +## * uncomment the add_*_files sections below as needed +## and list every .msg/.srv/.action file to be processed +## * uncomment the generate_messages entry below +## * add every package in MSG_DEP_SET to generate_messages(DEPENDENCIES ...) + +## Generate messages in the 'msg' folder +# add_message_files( +# FILES +# Message1.msg +# Message2.msg +# ) + +## Generate services in the 'srv' folder +# add_service_files( +# FILES +# Service1.srv +# Service2.srv +# ) + +## Generate actions in the 'action' folder +# add_action_files( +# FILES +# Action1.action +# Action2.action +# ) + +## Generate added messages and services with any dependencies listed here +# generate_messages( +# DEPENDENCIES +# std_msgs # Or other packages containing msgs +# ) + +################################################ +## Declare ROS dynamic reconfigure parameters ## +################################################ + +## To declare and build dynamic reconfigure parameters within this +## package, follow these steps: +## * In the file package.xml: +## * add a build_depend and a exec_depend tag for "dynamic_reconfigure" +## * In this file (CMakeLists.txt): +## * add "dynamic_reconfigure" to +## find_package(catkin REQUIRED COMPONENTS ...) +## * uncomment the "generate_dynamic_reconfigure_options" section below +## and list every .cfg file to be processed + +## Generate dynamic reconfigure parameters in the 'cfg' folder +# generate_dynamic_reconfigure_options( +# cfg/DynReconf1.cfg +# cfg/DynReconf2.cfg +# ) + +################################### +## catkin specific configuration ## +################################### +## The catkin_package macro generates cmake config files for your package +## Declare things to be passed to dependent projects +## INCLUDE_DIRS: uncomment this if your package contains header files +## LIBRARIES: libraries you create in this project that dependent projects also need +## CATKIN_DEPENDS: catkin_packages dependent projects also need +## DEPENDS: system dependencies of this project that dependent projects also need +catkin_package( +# INCLUDE_DIRS include +# LIBRARIES rois_bringup +# CATKIN_DEPENDS rois_2dnav_gazebo rois_description rois_gazebo +# DEPENDS system_lib +) + +########### +## Build ## +########### + +## Specify additional locations of header files +## Your package locations should be listed before other locations +include_directories( +# include + ${catkin_INCLUDE_DIRS} +) + +## Declare a C++ library +# add_library(${PROJECT_NAME} +# src/${PROJECT_NAME}/rois_bringup.cpp +# ) + +## Add cmake target dependencies of the library +## as an example, code may need to be generated before libraries +## either from message generation or dynamic reconfigure +# add_dependencies(${PROJECT_NAME} ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Declare a C++ executable +## With catkin_make all packages are built within a single CMake context +## The recommended prefix ensures that target names across packages don't collide +# add_executable(${PROJECT_NAME}_node src/rois_bringup_node.cpp) + +## Rename C++ executable without prefix +## The above recommended prefix causes long target names, the following renames the +## target back to the shorter version for ease of user use +## e.g. "rosrun someones_pkg node" instead of "rosrun someones_pkg someones_pkg_node" +# set_target_properties(${PROJECT_NAME}_node PROPERTIES OUTPUT_NAME node PREFIX "") + +## Add cmake target dependencies of the executable +## same as for the library above +# add_dependencies(${PROJECT_NAME}_node ${${PROJECT_NAME}_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS}) + +## Specify libraries to link a library or executable target against +# target_link_libraries(${PROJECT_NAME}_node +# ${catkin_LIBRARIES} +# ) + +############# +## Install ## +############# + +# all install targets should use catkin DESTINATION variables +# See http://ros.org/doc/api/catkin/html/adv_user_guide/variables.html + +## Mark executable scripts (Python etc.) for installation +## in contrast to setup.py, you can choose the destination +# install(PROGRAMS +# scripts/my_python_script +# DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark executables for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_executables.html +# install(TARGETS ${PROJECT_NAME}_node +# RUNTIME DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION} +# ) + +## Mark libraries for installation +## See http://docs.ros.org/melodic/api/catkin/html/howto/format1/building_libraries.html +# install(TARGETS ${PROJECT_NAME} +# ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION} +# RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION} +# ) + +## Mark cpp header files for installation +# install(DIRECTORY include/${PROJECT_NAME}/ +# DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION} +# FILES_MATCHING PATTERN "*.h" +# PATTERN ".svn" EXCLUDE +# ) + +## Mark other files for installation (e.g. launch and bag files, etc.) +# install(FILES +# # myfile1 +# # myfile2 +# DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION} +# ) + +############# +## Testing ## +############# + +## Add gtest based cpp test target and link libraries +# catkin_add_gtest(${PROJECT_NAME}-test test/test_rois_bringup.cpp) +# if(TARGET ${PROJECT_NAME}-test) +# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME}) +# endif() + +## Add folders to be run by python nosetests +# catkin_add_nosetests(test) diff --git a/rois_bringup/package.xml b/rois_bringup/package.xml new file mode 100644 index 00000000..7e6a9008 --- /dev/null +++ b/rois_bringup/package.xml @@ -0,0 +1,68 @@ + + + rois_bringup + 0.0.0 + The rois_bringup package + + + + + tanacchi + + + + + + TODO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + catkin + rois_2dnav_gazebo + rois_description + rois_gazebo + rois_2dnav_gazebo + rois_description + rois_gazebo + rois_2dnav_gazebo + rois_description + rois_gazebo + + + + + + + + -- GitLab From f05ae3c0a988691751a6a0d0d61051b3f06097f8 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 14:53:06 +0900 Subject: [PATCH 07/12] Remap topic name of Twist from move_base --- rois_2dnav_gazebo/launch/move_base.launch | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/rois_2dnav_gazebo/launch/move_base.launch b/rois_2dnav_gazebo/launch/move_base.launch index 3c83f910..bef6ff64 100644 --- a/rois_2dnav_gazebo/launch/move_base.launch +++ b/rois_2dnav_gazebo/launch/move_base.launch @@ -1,7 +1,7 @@ - + @@ -11,6 +11,8 @@ - + + + -- GitLab From a624239ec4b5942e66601eabe68751b374b53afc Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 14:53:41 +0900 Subject: [PATCH 08/12] Add launch file for navigation --- rois_2dnav_gazebo/rviz/navigation.rviz | 317 +++++++++++++++++++++++++ rois_bringup/launch/frames.gv | 13 + rois_bringup/launch/frames.pdf | Bin 0 -> 19546 bytes rois_bringup/launch/navigation.launch | 18 ++ 4 files changed, 348 insertions(+) create mode 100644 rois_2dnav_gazebo/rviz/navigation.rviz create mode 100644 rois_bringup/launch/frames.gv create mode 100644 rois_bringup/launch/frames.pdf create mode 100644 rois_bringup/launch/navigation.launch diff --git a/rois_2dnav_gazebo/rviz/navigation.rviz b/rois_2dnav_gazebo/rviz/navigation.rviz new file mode 100644 index 00000000..004d3781 --- /dev/null +++ b/rois_2dnav_gazebo/rviz/navigation.rviz @@ -0,0 +1,317 @@ +Panels: + - Class: rviz/Displays + Help Height: 85 + Name: Displays + Property Tree Widget: + Expanded: + - /Global Options1 + - /Map2 + - /Path1 + - /Path2 + Splitter Ratio: 0.29716193675994873 + Tree Height: 547 + - Class: rviz/Selection + Name: Selection + - Class: rviz/Tool Properties + Expanded: + - /2D Pose Estimate1 + - /2D Nav Goal1 + - /Publish Point1 + Name: Tool Properties + Splitter Ratio: 0.5886790156364441 + - Class: rviz/Views + Expanded: + - /Current View1 + Name: Views + Splitter Ratio: 0.5 + - Class: rviz/Time + Experimental: false + Name: Time + SyncMode: 0 + SyncSource: LaserScan +Preferences: + PromptSaveOnExit: true +Toolbars: + toolButtonStyle: 2 +Visualization Manager: + Class: "" + Displays: + - Alpha: 0.5 + Cell Size: 1 + Class: rviz/Grid + Color: 160; 160; 164 + Enabled: true + Line Style: + Line Width: 0.029999999329447746 + Value: Lines + Name: Grid + Normal Cell Count: 0 + Offset: + X: 0 + Y: 0 + Z: 0 + Plane: XY + Plane Cell Count: 10 + Reference Frame: + Value: true + - Alpha: 0.5 + Class: rviz/RobotModel + Collision Enabled: false + Enabled: true + Links: + All Links Enabled: true + Expand Joint Details: false + Expand Link Details: false + Expand Tree: false + Link Tree Style: Links in Alphabetic Order + base_footprint: + Alpha: 1 + Show Axes: false + Show Trail: false + base_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + caster_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + left_wheel_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + lrf_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + right_wheel_link: + Alpha: 1 + Show Axes: false + Show Trail: false + Value: true + Name: RobotModel + Robot Description: robot_description + TF Prefix: "" + Update Interval: 0 + Value: true + Visual Enabled: true + - Class: rviz/TF + Enabled: true + Frame Timeout: 15 + Frames: + All Enabled: true + base_footprint: + Value: true + base_link: + Value: true + caster_link: + Value: true + left_wheel_link: + Value: true + lrf_link: + Value: true + map: + Value: true + odom: + Value: true + right_wheel_link: + Value: true + Marker Scale: 0.5 + Name: TF + Show Arrows: true + Show Axes: true + Show Names: true + Tree: + base_footprint: + base_link: + {} + caster_link: + {} + left_wheel_link: + {} + lrf_link: + {} + right_wheel_link: + {} + map: + {} + odom: + {} + Update Interval: 0 + Value: true + - Alpha: 1 + Autocompute Intensity Bounds: true + Autocompute Value Bounds: + Max Value: 10 + Min Value: -10 + Value: true + Axis: Z + Channel Name: intensity + Class: rviz/LaserScan + Color: 255; 255; 255 + Color Transformer: Intensity + Decay Time: 0 + Enabled: true + Invert Rainbow: false + Max Color: 255; 255; 255 + Max Intensity: 0 + Min Color: 0; 0; 0 + Min Intensity: 0 + Name: LaserScan + Position Transformer: XYZ + Queue Size: 10 + Selectable: true + Size (Pixels): 3 + Size (m): 0.05000000074505806 + Style: Flat Squares + Topic: /scan + Unreliable: false + Use Fixed Frame: true + Use rainbow: true + Value: true + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: map + Draw Behind: false + Enabled: true + Name: Map + Topic: /map + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: map + Draw Behind: false + Enabled: true + Name: Map + Topic: /move_base/global_costmap/costmap + Unreliable: true + Use Timestamp: false + Value: true + - Alpha: 0.699999988079071 + Class: rviz/Map + Color Scheme: map + Draw Behind: false + Enabled: true + Name: Map + Topic: /move_base/local_costmap/costmap + Unreliable: false + Use Timestamp: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 25; 255; 0 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Lines + Line Width: 0.029999999329447746 + Name: Path + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /move_base/GlobalPlanner/plan + Unreliable: false + Value: true + - Alpha: 1 + Buffer Length: 1 + Class: rviz/Path + Color: 52; 101; 164 + Enabled: true + Head Diameter: 0.30000001192092896 + Head Length: 0.20000000298023224 + Length: 0.30000001192092896 + Line Style: Lines + Line Width: 0.029999999329447746 + Name: Path + Offset: + X: 0 + Y: 0 + Z: 0 + Pose Color: 255; 85; 255 + Pose Style: None + Radius: 0.029999999329447746 + Shaft Diameter: 0.10000000149011612 + Shaft Length: 0.10000000149011612 + Topic: /move_base/TrajectoryPlannerROS/local_plan + Unreliable: false + Value: true + Enabled: true + Global Options: + Background Color: 48; 48; 48 + Default Light: true + Fixed Frame: map + Frame Rate: 30 + Name: root + Tools: + - Class: rviz/Interact + Hide Inactive Objects: true + - Class: rviz/MoveCamera + - Class: rviz/Select + - Class: rviz/FocusCamera + - Class: rviz/Measure + - Class: rviz/SetInitialPose + Theta std deviation: 0.2617993950843811 + Topic: /initialpose + X std deviation: 0.5 + Y std deviation: 0.5 + - Class: rviz/SetGoal + Topic: /move_base_simple/goal + - Class: rviz/PublishPoint + Single click: true + Topic: /clicked_point + Value: true + Views: + Current: + Class: rviz/Orbit + Distance: 37.317440032958984 + Enable Stereo Rendering: + Stereo Eye Separation: 0.05999999865889549 + Stereo Focal Distance: 1 + Swap Stereo Eyes: false + Value: false + Focal Point: + X: 0 + Y: 0 + Z: 0 + Focal Shape Fixed Size: true + Focal Shape Size: 0.05000000074505806 + Invert Z Axis: false + Name: Current View + Near Clip Distance: 0.009999999776482582 + Pitch: 0.8203969597816467 + Target Frame: + Value: Orbit (rviz) + Yaw: 1.7435791492462158 + Saved: ~ +Window Geometry: + Displays: + collapsed: false + Height: 882 + Hide Left Dock: false + Hide Right Dock: false + QMainWindow State: 000000ff00000000fd00000004000000000000020a000002bffc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006e00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000047000002bf000000f100fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002bffc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000047000002bf000000c200fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004c000000044fc0100000002fb0000000800540069006d00650100000000000004c00000037100fffffffb0000000800540069006d00650100000000000004500000000000000000000002af000002bf00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + Selection: + collapsed: false + Time: + collapsed: false + Tool Properties: + collapsed: false + Views: + collapsed: false + Width: 1216 + X: 67 + Y: 34 diff --git a/rois_bringup/launch/frames.gv b/rois_bringup/launch/frames.gv new file mode 100644 index 00000000..6766a7b9 --- /dev/null +++ b/rois_bringup/launch/frames.gv @@ -0,0 +1,13 @@ +digraph G { +"base_footprint" -> "left_wheel_link"[label="Broadcaster: /roisbot/robot_state_publisher\nAverage rate: 50.442 Hz\nMost recent transform: 320.538 ( 0.001 sec old)\nBuffer length: 2.260 sec\n"]; +"odom" -> "base_footprint"[label="Broadcaster: /gazebo\nAverage rate: 50.446 Hz\nMost recent transform: 320.538 ( 0.001 sec old)\nBuffer length: 2.240 sec\n"]; +"base_footprint" -> "right_wheel_link"[label="Broadcaster: /roisbot/robot_state_publisher\nAverage rate: 50.442 Hz\nMost recent transform: 320.538 ( 0.001 sec old)\nBuffer length: 2.260 sec\n"]; +"base_footprint" -> "base_link"[label="Broadcaster: /roisbot/robot_state_publisher\nAverage rate: 10000.000 Hz\nMost recent transform: 0.000 ( 320.539 sec old)\nBuffer length: 0.000 sec\n"]; +"base_footprint" -> "caster_link"[label="Broadcaster: /roisbot/robot_state_publisher\nAverage rate: 10000.000 Hz\nMost recent transform: 0.000 ( 320.539 sec old)\nBuffer length: 0.000 sec\n"]; +"base_footprint" -> "lrf_link"[label="Broadcaster: /roisbot/robot_state_publisher\nAverage rate: 10000.000 Hz\nMost recent transform: 0.000 ( 320.539 sec old)\nBuffer length: 0.000 sec\n"]; +"map" -> "odom"[label="Broadcaster: /amcl\nAverage rate: 40.235 Hz\nMost recent transform: 320.598 ( -0.059 sec old)\nBuffer length: 2.212 sec\n"]; +edge [style=invis]; + subgraph cluster_legend { style=bold; color=black; label ="view_frames Result"; +"Recorded at time: 320.539"[ shape=plaintext ] ; + }->"map"; +} \ No newline at end of file diff --git a/rois_bringup/launch/frames.pdf b/rois_bringup/launch/frames.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f0ab2cc43c127ed94614a06b4577d57b2458b7ae GIT binary patch literal 19546 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 literal 0 HcmV?d00001 diff --git a/rois_bringup/launch/navigation.launch b/rois_bringup/launch/navigation.launch new file mode 100644 index 00000000..81c97bfe --- /dev/null +++ b/rois_bringup/launch/navigation.launch @@ -0,0 +1,18 @@ + + + + + + + + + + + + -- GitLab From bc5b83776bc72c32325337f99ee89c2bef9a8d51 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 14:54:46 +0900 Subject: [PATCH 09/12] Remove file for debug --- rois_bringup/launch/frames.gv | 13 ------------- rois_bringup/launch/frames.pdf | Bin 19546 -> 0 bytes 2 files changed, 13 deletions(-) delete mode 100644 rois_bringup/launch/frames.gv delete mode 100644 rois_bringup/launch/frames.pdf diff --git a/rois_bringup/launch/frames.gv b/rois_bringup/launch/frames.gv deleted file mode 100644 index 6766a7b9..00000000 --- a/rois_bringup/launch/frames.gv +++ /dev/null @@ -1,13 +0,0 @@ -digraph G { -"base_footprint" -> "left_wheel_link"[label="Broadcaster: /roisbot/robot_state_publisher\nAverage rate: 50.442 Hz\nMost recent transform: 320.538 ( 0.001 sec old)\nBuffer length: 2.260 sec\n"]; -"odom" -> "base_footprint"[label="Broadcaster: /gazebo\nAverage rate: 50.446 Hz\nMost recent transform: 320.538 ( 0.001 sec old)\nBuffer length: 2.240 sec\n"]; -"base_footprint" -> "right_wheel_link"[label="Broadcaster: /roisbot/robot_state_publisher\nAverage rate: 50.442 Hz\nMost recent transform: 320.538 ( 0.001 sec old)\nBuffer length: 2.260 sec\n"]; -"base_footprint" -> "base_link"[label="Broadcaster: /roisbot/robot_state_publisher\nAverage rate: 10000.000 Hz\nMost recent transform: 0.000 ( 320.539 sec old)\nBuffer length: 0.000 sec\n"]; -"base_footprint" -> "caster_link"[label="Broadcaster: /roisbot/robot_state_publisher\nAverage rate: 10000.000 Hz\nMost recent transform: 0.000 ( 320.539 sec old)\nBuffer length: 0.000 sec\n"]; -"base_footprint" -> "lrf_link"[label="Broadcaster: /roisbot/robot_state_publisher\nAverage rate: 10000.000 Hz\nMost recent transform: 0.000 ( 320.539 sec old)\nBuffer length: 0.000 sec\n"]; -"map" -> "odom"[label="Broadcaster: /amcl\nAverage rate: 40.235 Hz\nMost recent transform: 320.598 ( -0.059 sec old)\nBuffer length: 2.212 sec\n"]; -edge [style=invis]; - subgraph cluster_legend { style=bold; color=black; label ="view_frames Result"; -"Recorded at time: 320.539"[ shape=plaintext ] ; - }->"map"; -} \ No newline at end of file diff --git a/rois_bringup/launch/frames.pdf b/rois_bringup/launch/frames.pdf deleted file mode 100644 index f0ab2cc43c127ed94614a06b4577d57b2458b7ae..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19546 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 -- GitLab From 4cb58d1300f9cc886d137c2569be82910849fd96 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 15:41:51 +0900 Subject: [PATCH 10/12] Fix bug by means of bad param --- rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml | 6 +++--- rois_2dnav_gazebo/config/costmap/local_costmap_params.yaml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml b/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml index 32b77899..34945d02 100644 --- a/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml +++ b/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml @@ -1,16 +1,16 @@ obstacle_range: 5.0 raytrace_range: 10.0 -footprint: [[0.00, -0.15], [0.00, 0.15], [-0.40, 0.15], [-0.40, -0.15]] +footprint: [[0.30, -0.30], [0.30, 0.30], [-0.20, 0.30], [-0.20, -0.30]] cost_scaling_factor: 5.0 origin_z: 0.0 z_resolution: 0.02 z_voxels: 0.02 -publish_voxel_map: false +publish_voxel_map: true observation_sources: lrf_sensor -velodyne_sensor: { +lrf_sensor: { sensor_frame: lrf_link, data_type: LaserScan, topic: /scan, diff --git a/rois_2dnav_gazebo/config/costmap/local_costmap_params.yaml b/rois_2dnav_gazebo/config/costmap/local_costmap_params.yaml index ee98983d..fe1fd305 100644 --- a/rois_2dnav_gazebo/config/costmap/local_costmap_params.yaml +++ b/rois_2dnav_gazebo/config/costmap/local_costmap_params.yaml @@ -1,5 +1,5 @@ local_costmap: - global_frame: map + global_frame: odom robot_base_frame: base_link update_frequency: 8.0 publish_frequency: 7.0 -- GitLab From 28593796f12713132e06653f5fc3f0c5555e6e25 Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 2 Sep 2019 16:05:13 +0900 Subject: [PATCH 11/12] Upgrade rviz config for navigation --- rois_2dnav_gazebo/rviz/navigation.rviz | 86 ++++++++++++++------------ 1 file changed, 48 insertions(+), 38 deletions(-) diff --git a/rois_2dnav_gazebo/rviz/navigation.rviz b/rois_2dnav_gazebo/rviz/navigation.rviz index 004d3781..826eed87 100644 --- a/rois_2dnav_gazebo/rviz/navigation.rviz +++ b/rois_2dnav_gazebo/rviz/navigation.rviz @@ -5,11 +5,9 @@ Panels: Property Tree Widget: Expanded: - /Global Options1 - - /Map2 - - /Path1 - /Path2 Splitter Ratio: 0.29716193675994873 - Tree Height: 547 + Tree Height: 801 - Class: rviz/Selection Name: Selection - Class: rviz/Tool Properties @@ -126,21 +124,19 @@ Visualization Manager: Show Axes: true Show Names: true Tree: - base_footprint: - base_link: - {} - caster_link: - {} - left_wheel_link: - {} - lrf_link: - {} - right_wheel_link: - {} map: - {} - odom: - {} + odom: + base_footprint: + base_link: + {} + caster_link: + {} + left_wheel_link: + {} + lrf_link: + {} + right_wheel_link: + {} Update Interval: 0 Value: true - Alpha: 1 @@ -185,17 +181,7 @@ Visualization Manager: Value: true - Alpha: 0.699999988079071 Class: rviz/Map - Color Scheme: map - Draw Behind: false - Enabled: true - Name: Map - Topic: /move_base/global_costmap/costmap - Unreliable: true - Use Timestamp: false - Value: true - - Alpha: 0.699999988079071 - Class: rviz/Map - Color Scheme: map + Color Scheme: costmap Draw Behind: false Enabled: true Name: Map @@ -234,7 +220,7 @@ Visualization Manager: Head Diameter: 0.30000001192092896 Head Length: 0.20000000298023224 Length: 0.30000001192092896 - Line Style: Lines + Line Style: Billboards Line Width: 0.029999999329447746 Name: Path Offset: @@ -249,6 +235,30 @@ Visualization Manager: Topic: /move_base/TrajectoryPlannerROS/local_plan Unreliable: false Value: true + - Alpha: 1 + Class: rviz/Polygon + Color: 25; 255; 0 + Enabled: true + Name: Polygon + Topic: /move_base/local_costmap/footprint + Unreliable: false + Value: true + - Alpha: 1 + Arrow Length: 0.30000001192092896 + Axes Length: 0.30000001192092896 + Axes Radius: 0.009999999776482582 + Class: rviz/PoseArray + Color: 255; 25; 0 + Enabled: true + Head Length: 0.07000000029802322 + Head Radius: 0.029999999329447746 + Name: PoseArray + Shaft Length: 0.23000000417232513 + Shaft Radius: 0.009999999776482582 + Shape: Arrow (Flat) + Topic: /particlecloud + Unreliable: false + Value: true Enabled: true Global Options: Background Color: 48; 48; 48 @@ -277,33 +287,33 @@ Visualization Manager: Views: Current: Class: rviz/Orbit - Distance: 37.317440032958984 + Distance: 23.120027542114258 Enable Stereo Rendering: Stereo Eye Separation: 0.05999999865889549 Stereo Focal Distance: 1 Swap Stereo Eyes: false Value: false Focal Point: - X: 0 - Y: 0 - Z: 0 + X: 2.620417356491089 + Y: -0.4015696048736572 + Z: -3.6895456314086914 Focal Shape Fixed Size: true Focal Shape Size: 0.05000000074505806 Invert Z Axis: false Name: Current View Near Clip Distance: 0.009999999776482582 - Pitch: 0.8203969597816467 + Pitch: 0.9997971057891846 Target Frame: Value: Orbit (rviz) - Yaw: 1.7435791492462158 + Yaw: 3.158579111099243 Saved: ~ Window Geometry: Displays: collapsed: false - Height: 882 + Height: 1136 Hide Left Dock: false Hide Right Dock: false - QMainWindow State: 000000ff00000000fd00000004000000000000020a000002bffc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006e00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730100000047000002bf000000f100fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002bffc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000047000002bf000000c200fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e10000019700000003000004c000000044fc0100000002fb0000000800540069006d00650100000000000004c00000037100fffffffb0000000800540069006d00650100000000000004500000000000000000000002af000002bf00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 + QMainWindow State: 000000ff00000000fd00000004000000000000020a000003bdfc0200000008fb0000001200530065006c0065006300740069006f006e00000001e10000009b0000006e00fffffffb0000001e0054006f006f006c002000500072006f007000650072007400690065007302000001ed000001df00000185000000a3fb000000120056006900650077007300200054006f006f02000001df000002110000018500000122fb000000200054006f006f006c002000500072006f0070006500720074006900650073003203000002880000011d000002210000017afb000000100044006900730070006c0061007900730000000047000003bd000000f100fffffffb0000002000730065006c0065006300740069006f006e00200062007500660066006500720200000138000000aa0000023a00000294fb00000014005700690064006500530074006500720065006f02000000e6000000d2000003ee0000030bfb0000000c004b0069006e0065006300740200000186000001060000030c00000261000000010000010f000002bffc0200000003fb0000001e0054006f006f006c002000500072006f00700065007200740069006500730100000041000000780000000000000000fb0000000a005600690065007700730000000047000002bf000000c200fffffffb0000001200530065006c0065006300740069006f006e010000025a000000b200000000000000000000000200000490000000a9fc0100000001fb0000000a00560069006500770073030000004e00000080000002e100000197000000030000039f00000044fc0100000002fb0000000800540069006d006501000000000000039f0000037100fffffffb0000000800540069006d006501000000000000045000000000000000000000039f000003bd00000004000000040000000800000008fc0000000100000002000000010000000a0054006f006f006c00730100000000ffffffff0000000000000000 Selection: collapsed: false Time: @@ -312,6 +322,6 @@ Window Geometry: collapsed: false Views: collapsed: false - Width: 1216 + Width: 927 X: 67 Y: 34 -- GitLab From 959662912e4677dab5b13c5440a06409481da3aa Mon Sep 17 00:00:00 2001 From: tanacchi Date: Mon, 9 Sep 2019 19:57:00 +0900 Subject: [PATCH 12/12] Modify parameters for stable navigation --- .../config/costmap/costmap_common_params.yaml | 5 +++-- .../config/planner/base_local_planner_params.yaml | 9 ++------- rois_description/robot/roisbot.urdf.xacro | 10 +++++----- rois_gazebo/config/controller.yaml | 4 ++-- 4 files changed, 12 insertions(+), 16 deletions(-) diff --git a/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml b/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml index 34945d02..63fa6eb7 100644 --- a/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml +++ b/rois_2dnav_gazebo/config/costmap/costmap_common_params.yaml @@ -1,8 +1,9 @@ obstacle_range: 5.0 raytrace_range: 10.0 -footprint: [[0.30, -0.30], [0.30, 0.30], [-0.20, 0.30], [-0.20, -0.30]] -cost_scaling_factor: 5.0 +footprint: [[0.25, -0.18], [0.25, 0.18], [-0.15, 0.18], [-0.15, -0.18]] +inflation_radius: 0.3 +cost_scaling_factor: 10.0 origin_z: 0.0 z_resolution: 0.02 diff --git a/rois_2dnav_gazebo/config/planner/base_local_planner_params.yaml b/rois_2dnav_gazebo/config/planner/base_local_planner_params.yaml index 5284a0fe..6ec9a2c5 100644 --- a/rois_2dnav_gazebo/config/planner/base_local_planner_params.yaml +++ b/rois_2dnav_gazebo/config/planner/base_local_planner_params.yaml @@ -1,6 +1,6 @@ TrajectoryPlannerROS: max_vel_x: 2.0 - min_vel_x: -0.5 + min_vel_x: 1.0 max_vel_theta: 2.0 min_vel_theta: -2.0 @@ -10,7 +10,6 @@ TrajectoryPlannerROS: acc_lim_y: 0.0 acc_lim_theta: 3.2 - # fifth_robot is not a holonomic robot holonomic_robot: false yaw_goal_tolerance: 0.1 @@ -29,8 +28,4 @@ TrajectoryPlannerROS: publish_cost_grid_pc: true global_frame_id: map - pdist_scale: 0.6 - gdist_scale: 0.8 - occdist_scale: 0.01 - - meter_scoring: true + meter_scoring: false diff --git a/rois_description/robot/roisbot.urdf.xacro b/rois_description/robot/roisbot.urdf.xacro index 1cd18056..b201f413 100644 --- a/rois_description/robot/roisbot.urdf.xacro +++ b/rois_description/robot/roisbot.urdf.xacro @@ -1,11 +1,11 @@ - - + + - - + + @@ -182,7 +182,7 @@ - 0.50 + 0.20 131 0.01 diff --git a/rois_gazebo/config/controller.yaml b/rois_gazebo/config/controller.yaml index e0b2f753..d9ae1756 100644 --- a/rois_gazebo/config/controller.yaml +++ b/rois_gazebo/config/controller.yaml @@ -13,8 +13,8 @@ roisbot: # Wheel separation and diameter. These are both optional. # diff_drive_controller will attempt to read either one or both from the # URDF if not specified as a parameter - wheel_separation : 0.7 - wheel_radius : 0.2 + wheel_separation : 0.3 + wheel_radius : 0.1 # Wheel separation and radius multipliers wheel_separation_multiplier: 1.0 # default: 1.0 -- GitLab