├── .gitignore
├── navigation_layers
├── CHANGELOG.rst
├── CMakeLists.txt
└── package.xml
├── range_sensor_layer
├── CHANGELOG.rst
├── CMakeLists.txt
├── README.md
├── cfg
│ └── RangeSensorLayer.cfg
├── costmap_plugins.xml
├── include
│ └── range_sensor_layer
│ │ └── range_sensor_layer.h
├── package.xml
├── scripts
│ └── send_message.py
└── src
│ └── range_sensor_layer.cpp
└── social_navigation_layers
├── CHANGELOG.rst
├── CMakeLists.txt
├── cfg
└── ProxemicLayer.cfg
├── costmap_plugins.xml
├── include
└── social_navigation_layers
│ ├── proxemic_layer.h
│ └── social_layer.h
├── package.xml
└── src
├── passing_layer.cpp
├── proxemic_layer.cpp
└── social_layer.cpp
/.gitignore:
--------------------------------------------------------------------------------
1 | build/
2 |
--------------------------------------------------------------------------------
/navigation_layers/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package navigation_layers
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.4.0 (2018-08-31)
6 | ------------------
7 | * Clean up with roscompile
8 | * Contributors: David V. Lu
9 |
10 | 0.2.4 (2014-12-10)
11 | ------------------
12 |
13 | 0.2.3 (2014-12-10)
14 | ------------------
15 |
--------------------------------------------------------------------------------
/navigation_layers/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(navigation_layers)
3 | find_package(catkin REQUIRED)
4 | catkin_metapackage()
5 |
--------------------------------------------------------------------------------
/navigation_layers/package.xml:
--------------------------------------------------------------------------------
1 |
2 | navigation_layers
3 | 0.5.0
4 | Extra navigation layers.
5 | David V. Lu!!
6 | David V. Lu!!
7 | BSD
8 |
9 | catkin
10 | range_sensor_layer
11 | social_navigation_layers
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/range_sensor_layer/CHANGELOG.rst:
--------------------------------------------------------------------------------
1 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2 | Changelog for package range_sensor_layer
3 | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
4 |
5 | 0.4.0 (2018-08-31)
6 | ------------------
7 | * Clean up with roscompile
8 | * range sensor layer: Remove parameter max_angle (`#38 `_)
9 | Any value set for max_angle gets overwritten in updateCostmap() so the
10 | parameter can safely be removed.
11 | * Issue `#22 `_: on updateCostmap, only touch cells within the triangular projection of the sensor cone. I also add a parameter to regulate (and deactivate) this feature (`#30 `_)
12 | * Add buffer clearing when calling deactivate() or activate(). (`#33 `_)
13 | * Contributors: David V. Lu, Jorge Santos Simón, Krit Chaiso, nxdefiant
14 |
15 | 0.2.4 (2014-12-10)
16 | ------------------
17 |
18 | 0.2.3 (2014-12-10)
19 | ------------------
20 |
--------------------------------------------------------------------------------
/range_sensor_layer/CMakeLists.txt:
--------------------------------------------------------------------------------
1 | cmake_minimum_required(VERSION 2.8.3)
2 | project(range_sensor_layer)
3 | set_directory_properties(PROPERTIES COMPILE_OPTIONS "-Wall;-Werror")
4 |
5 | find_package(catkin REQUIRED COMPONENTS
6 | angles
7 | costmap_2d
8 | dynamic_reconfigure
9 | geometry_msgs
10 | pluginlib
11 | roscpp
12 | rospy
13 | sensor_msgs
14 | tf2_geometry_msgs
15 | )
16 |
17 | generate_dynamic_reconfigure_options(cfg/RangeSensorLayer.cfg)
18 |
19 | catkin_package(
20 | CATKIN_DEPENDS
21 | angles
22 | costmap_2d
23 | dynamic_reconfigure
24 | geometry_msgs
25 | pluginlib
26 | roscpp
27 | rospy
28 | sensor_msgs
29 | tf2_geometry_msgs
30 | INCLUDE_DIRS include
31 | LIBRARIES ${PROJECT_NAME}
32 | )
33 |
34 | include_directories(include ${catkin_INCLUDE_DIRS})
35 |
36 | add_library(${PROJECT_NAME} src/range_sensor_layer.cpp)
37 | add_dependencies(${PROJECT_NAME} ${range_sensor_layer_EXPORTED_TARGETS} ${catkin_EXPORTED_TARGETS})
38 | target_link_libraries(${PROJECT_NAME} ${catkin_LIBRARIES})
39 |
40 | if(CATKIN_ENABLE_TESTING)
41 | find_package(catkin REQUIRED COMPONENTS roslint)
42 | roslint_cpp()
43 | roslint_add_test()
44 | endif()
45 |
46 | install(TARGETS ${PROJECT_NAME}
47 | LIBRARY DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
48 | ARCHIVE DESTINATION ${CATKIN_PACKAGE_LIB_DESTINATION}
49 | RUNTIME DESTINATION ${CATKIN_GLOBAL_BIN_DESTINATION}
50 | )
51 |
52 | install(FILES costmap_plugins.xml
53 | DESTINATION ${CATKIN_PACKAGE_SHARE_DESTINATION}
54 | )
55 |
56 | install(DIRECTORY include/${PROJECT_NAME}/
57 | DESTINATION ${CATKIN_PACKAGE_INCLUDE_DESTINATION}
58 | )
59 | catkin_install_python(PROGRAMS scripts/send_message.py
60 | DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION}
61 | )
62 |
--------------------------------------------------------------------------------
/range_sensor_layer/README.md:
--------------------------------------------------------------------------------
1 | # Decay option
2 |
3 | - use_decay : Allow the layer to use a decay on the pixel marked. By default set at false.
4 | - pixel_decay : Time decay in seconds. By default set at 10.0.
5 |
6 |
--------------------------------------------------------------------------------
/range_sensor_layer/cfg/RangeSensorLayer.cfg:
--------------------------------------------------------------------------------
1 | #!/usr/bin/env python
2 | PACKAGE = "range_sensor_layer"
3 |
4 | from dynamic_reconfigure.parameter_generator_catkin import *
5 |
6 | gen = ParameterGenerator()
7 |
8 | gen.add('enabled', bool_t, 0, 'Whether to apply this plugin or not', True)
9 | gen.add('phi', double_t, 0, 'Phi value', 1.2)
10 | gen.add('inflate_cone', double_t, 0, 'Inflate the triangular area covered by the sensor (percentage)', 1, 0, 1)
11 | gen.add('no_readings_timeout', double_t, 0, 'No Readings Timeout', 0.0, 0.0)
12 | gen.add('clear_threshold', double_t, 0, 'Probability below which cells are marked as free', 0.2, 0.0, 1.0)
13 | gen.add('mark_threshold', double_t, 0, 'Probability above which cells are marked as occupied', 0.8, 0.0, 1.0)
14 | gen.add('clear_on_max_reading', bool_t, 0, 'Clear on max reading', False)
15 |
16 | exit(gen.generate(PACKAGE, PACKAGE, "RangeSensorLayer"))
17 |
--------------------------------------------------------------------------------
/range_sensor_layer/costmap_plugins.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | A range-sensor (sonar, IR) based obstacle layer for costmap_2d
4 |
5 |
6 |
--------------------------------------------------------------------------------
/range_sensor_layer/include/range_sensor_layer/range_sensor_layer.h:
--------------------------------------------------------------------------------
1 | // Copyright 2018 David V. Lu!!
2 | #ifndef RANGE_SENSOR_LAYER_RANGE_SENSOR_LAYER_H_
3 | #define RANGE_SENSOR_LAYER_RANGE_SENSOR_LAYER_H_
4 | #include
5 | #include
6 | #include
7 | #include
8 | #include
9 | #include
10 | #include
11 | #include