Skip to content

Commit 8c4ba70

Browse files
Add new limit polygon description (#412)
* Add new limit polygon description * Add parameters name * fix code quote * Update Humble.rst * Update Humble.rst * Update configuring-collision-monitor.rst * Update configuring-collision-monitor.rst * Update Humble.rst * Update configuring-collision-monitor.rst * Update Humble.rst --------- Co-authored-by: Alexey Merzlyakov <60094858+AlexeyMerzlyakov@users.noreply.github.com>
1 parent e7ac195 commit 8c4ba70

File tree

2 files changed

+40
-4
lines changed

2 files changed

+40
-4
lines changed

configuration/packages/configuring-collision-monitor.rst

+36-4
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ The following models of safety behaviors are employed by Collision Monitor:
2727

2828
- **Stop model**: Define a zone and a point threshold. If ``min_points`` or more obstacle points appear inside this area, stop the robot until the obstacles will disappear.
2929
- **Slowdown model**: Define a zone around the robot and slow the maximum speed for a ``slowdown_ratio``, if ``min_points`` or more points will appear inside the area.
30+
- **Limit model**: Define a zone around the robot and restricts the maximum linear and angular velocities to ``linear_limit`` and ``angular_limit`` values accordingly, if ``min_points`` or more points will appear inside the area.
3031
- **Approach model**: Using the current robot speed, estimate the time to collision to sensor data. If the time is less than ``time_before_collision`` seconds (0.5, 2, 5, etc...), the robot will slow such that it is now at least ``time_before_collision`` seconds to collision. The effect here would be to keep the robot always ``time_before_collision`` seconds from any collision.
3132

3233
The zones around the robot can take the following shapes:
@@ -155,7 +156,7 @@ Parameters
155156
============== =============================
156157

157158
Description:
158-
List of zones (stop/slowdown bounding boxes, footprint, approach circle, etc...). Causes an error, if not specialized.
159+
List of zones (stop/slowdown/limit bounding boxes, footprint, approach circle, etc...). Causes an error, if not specialized.
159160

160161

161162
:observation_sources:
@@ -194,7 +195,7 @@ Polygons parameters
194195
============== =============================
195196

196197
Description:
197-
Polygon vertexes, listed in ``{p1.x, p1.y, p2.x, p2.y, p3.x, p3.y, ...}`` format (e.g. ``{0.5, 0.25, 0.5, -0.25, 0.0, -0.25, 0.0, 0.25}`` for the square in the front). Used for ``polygon`` type. Minimum 3 points for a triangle polygon. If not specified, the collision monitor will use dynamic polygon subscription to ``polygon_sub_topic`` for points in the ``stop``/``slowdown`` action types, or footprint subscriber to ``footprint_topic`` for ``approach`` action type.
198+
Polygon vertexes, listed in ``{p1.x, p1.y, p2.x, p2.y, p3.x, p3.y, ...}`` format (e.g. ``{0.5, 0.25, 0.5, -0.25, 0.0, -0.25, 0.0, 0.25}`` for the square in the front). Used for ``polygon`` type. Minimum 3 points for a triangle polygon. If not specified, the collision monitor will use dynamic polygon subscription to ``polygon_sub_topic`` for points in the ``stop``/``slowdown``/``limit`` action types, or footprint subscriber to ``footprint_topic`` for ``approach`` action type.
198199

199200
:``<polygon_name>``.polygon_sub_topic:
200201

@@ -205,7 +206,7 @@ Polygons parameters
205206
============== =============================
206207

207208
Description:
208-
Topic to listen the polygon points from. Applicable only for ``polygon`` type and ``stop``/``slowdown`` action types. Causes an error, if not specified **and** points are also not specified. If both ``points`` and ``polygon_sub_topic`` are specified, the static ``points`` takes priority.
209+
Topic to listen the polygon points from. Applicable only for ``polygon`` type and ``stop``/``slowdown``/``limit`` action types. Causes an error, if not specified **and** points are also not specified. If both ``points`` and ``polygon_sub_topic`` are specified, the static ``points`` takes priority.
209210

210211
:``<polygon_name>``.footprint_topic:
211212

@@ -238,7 +239,7 @@ Polygons parameters
238239
============== =============================
239240

240241
Description:
241-
Zone behavior model. Available values are ``stop``, ``slowdown``, ``approach``. Causes an error, if not specialized.
242+
Zone behavior model. Available values are ``stop``, ``slowdown``, ``limit``, ``approach``. Causes an error, if not specialized.
242243

243244
:``<polygon_name>``.min_points:
244245

@@ -262,6 +263,28 @@ Polygons parameters
262263
Description:
263264
Robot slowdown (share of its actual speed). Applicable for ``slowdown`` action type.
264265

266+
:``<polygon_name>``.linear_limit:
267+
268+
============== =============================
269+
Type Default
270+
-------------- -----------------------------
271+
double 0.5
272+
============== =============================
273+
274+
Description:
275+
Robot linear speed limit. Applicable for ``limit`` action type.
276+
277+
:``<polygon_name>``.angular_limit:
278+
279+
============== =============================
280+
Type Default
281+
-------------- -----------------------------
282+
double 0.5
283+
============== =============================
284+
285+
Description:
286+
Robot angular speed limit. Applicable for ``limit`` action type.
287+
265288
:``<polygon_name>``.time_before_collision:
266289

267290
============== =============================
@@ -404,6 +427,15 @@ For more information how to bring-up your own Collision Monitor node, please ref
404427
slowdown_ratio: 0.3
405428
visualize: True
406429
polygon_pub_topic: "polygon_slowdown"
430+
PolygonLimit:
431+
type: "polygon"
432+
points: [0.5, 0.5, 0.5, -0.5, -0.5, -0.5, -0.5, 0.5]
433+
action_type: "limit"
434+
min_points: 4 # max_points: 3 for Humble
435+
linear_limit: 0.4
436+
angular_limit: 0.5
437+
visualize: True
438+
polygon_pub_topic: "polygon_limit"
407439
FootprintApproach:
408440
type: "polygon"
409441
action_type: "approach"

migration/Humble.rst

+4
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,10 @@ Renamed ROS-parameter in Collision Monitor
183183

184184
`PR #3513 <https://github.com/ros-planning/navigation2/pull/3513>`_ renames ``max_points`` parameter to ``min_points`` and changes its meaning. Formerly ``max_points`` meant the maximum number of points inside the area still not triggering the action, while ``min_points`` - is a minimal number of points starting from the action to be initiated. In other words ``min_points`` now should be adjusted as ``max_points + 1``.
185185

186+
New safety behavior model "limit" in Collision Monitor
187+
******************************************
188+
`PR #3519 <https://github.com/ros-planning/navigation2/pull/3519>`_ adds a new collision monitor behavior model ``limit`` that restricts maximum linear and angular speed to specific values (``linear_limit`` and ``angular_limit``) if enough points are in the given shape.
189+
186190
Velocity smoother applies deceleration when timeout
187191
***************************************************
188192

0 commit comments

Comments
 (0)