32 KiB
excalidraw-plugin, tags
| excalidraw-plugin | tags | |
|---|---|---|
| parsed |
|
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠==
Text Elements
NAV2 - Overview ^JsDombUQ
- Responsible for Launch system only
- pure python
- is used in other modules for easier launch file use
- cmake definition nav2_package(): that does some general configuration that applies to all packages ^f9wBEyOa
NAV2_common ^mggxSBzP
-
Defines a lot of behaviors (bt-nodes) if they
inherit from BtActionNode a ROS Action client is created internally --> thus the action server needs to be running -
Instead of an Action some nodes create a service client
-
implements abstract base classes to combine ROS and the behaviortree_cpp library
-
C++ template class for integrating ROS2 actions and services into behavior trees
-
navigation-specific behavior tree nodes
-
and behaviorTreeEngine class that simplifies integration of BT processing into ROS2 nodes
-
provides basic nodes that are used to build more complex trees.
NAV2 Dependencies:
- nav2_common
- nav2_msgs
- nav2_util ^8hnwWxhx
NAV2_behavior_tree ^tf69VvSg
- This uses timed_behavior.hpp and to implement a variety of behaviors (such as Spin, wait, drive_on_heading, etc) as plugins
- Makes an executable called behavior_server that loads those plugins and configures them.
- configuration includes sharing the node pointer, collision_checkers, TF2, etc. and then creating the action_server that is a derivative of SimpleActionServer which finally creates the ros_action_server
Main Jobs:
- inherit from timed_behavior
- implement onRun and onCycleUpdate ^xNoFXd9Y
NAV2_behaviors ^E8VjyZYw
- node: get Node shared pointer
- bt_loop_duration
- server_timeout
- number_recoveries
- error_code
- error_codes
- tf_buffer
- goal
- goals
- updated_goal
- initial_pose_received
- odom_smoother: shared Pointer
- on_cancelled_triggered
- start
- unsmoothed_path
- path
- truncated_path
- selected_controller
- selected_goal_checker
- selected_planner
- selected_smoother
- pose
- goals_blackboard_id
- path_blackboard_id ^0AogytNB
Blackboard ^OAihEFVF
-
defines abstract behavior (for the plugin-lib) --> this allows to load plugins dynamically
-
implements BehaviorTreeNavigator which is a base class for different navigators such as navigate_to_pose.hpp ^T3TFXKwp
NAV2_core ^kwnDEyDS
-
utility functions that are used all over the nav2 library such as:
-
lifecycle_node and utils
-
odometry_utils: OdomSmoother
-
simple_action_server
-
node_utils: parameter handling, name handling
-
node_thread: abstract the executor and thread logic ^6SHkAk3K
NAV2_util ^o8Xh22PA
%%
Drawing
{
"type": "excalidraw",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/1.9.20",
"elements": [
{
"type": "text",
"version": 103,
"versionNonce": 530849298,
"isDeleted": false,
"id": "JsDombUQ",
"fillStyle": "hachure",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -238.14379924388027,
"y": -1272.823195427998,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 290.3040771484375,
"height": 45,
"seed": 411217839,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697638669320,
"link": null,
"locked": false,
"fontSize": 36,
"fontFamily": 1,
"text": "NAV2 - Overview",
"rawText": "NAV2 - Overview",
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "NAV2 - Overview",
"lineHeight": 1.25,
"baseline": 31
},
{
"type": "rectangle",
"version": 231,
"versionNonce": 372570241,
"isDeleted": false,
"id": "ni5jRTRIy3J7C3gLIc67P",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -2119.4828491578237,
"y": -417.74757883432164,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 657.2672119140628,
"height": 391,
"seed": 180277313,
"groupIds": [
"D-WaXPpDbUunqY_LSY0sU"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "f9wBEyOa"
},
{
"id": "F7YkMEx2pNcW_BqazeBQJ",
"type": "arrow"
}
],
"updated": 1697552995642,
"link": null,
"locked": false
},
{
"type": "text",
"version": 435,
"versionNonce": 1506171937,
"isDeleted": false,
"id": "f9wBEyOa",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -2114.4828491578237,
"y": -412.74757883432164,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 642.345458984375,
"height": 380.59504735984063,
"seed": 769466401,
"groupIds": [
"D-WaXPpDbUunqY_LSY0sU"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697552995643,
"link": null,
"locked": false,
"fontSize": 27.679639807988412,
"fontFamily": 1,
"text": "\n\n\n\n- Responsible for Launch system only\n- pure python\n- is used in other modules for easier launch \nfile use\n- cmake definition nav2_package(): that does \nsome general configuration that applies to all \npackages",
"rawText": "\n\n\n\n- Responsible for Launch system only\n- pure python\n- is used in other modules for easier launch file use\n- cmake definition nav2_package(): that does some general configuration that applies to all packages",
"textAlign": "left",
"verticalAlign": "top",
"containerId": "ni5jRTRIy3J7C3gLIc67P",
"originalText": "\n\n\n\n- Responsible for Launch system only\n- pure python\n- is used in other modules for easier launch file use\n- cmake definition nav2_package(): that does some general configuration that applies to all packages",
"lineHeight": 1.25,
"baseline": 370
},
{
"type": "rectangle",
"version": 225,
"versionNonce": 1875390465,
"isDeleted": false,
"id": "lQag2x--_GfPskp2twydJ",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -2025.4800646201675,
"y": -372.62628201398684,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 475.27782788912117,
"height": 60.16175914892063,
"seed": 476476417,
"groupIds": [
"D-WaXPpDbUunqY_LSY0sU"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "mggxSBzP"
}
],
"updated": 1697552995643,
"link": null,
"locked": false
},
{
"type": "text",
"version": 201,
"versionNonce": 2088586254,
"isDeleted": false,
"id": "mggxSBzP",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -1906.9919227703335,
"y": -364.7879701423744,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 238.30154418945312,
"height": 44.48513540569566,
"seed": 978996193,
"groupIds": [
"D-WaXPpDbUunqY_LSY0sU"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697632400087,
"link": null,
"locked": false,
"fontSize": 35.58810832455653,
"fontFamily": 1,
"text": "NAV2_common",
"rawText": "NAV2_common",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "lQag2x--_GfPskp2twydJ",
"originalText": "NAV2_common",
"lineHeight": 1.25,
"baseline": 31
},
{
"type": "rectangle",
"version": 211,
"versionNonce": 749587982,
"isDeleted": false,
"id": "KEUYcyw5SvwHkR6c8CwbR",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -960.2900423040057,
"y": -495.6451738108618,
"strokeColor": "#1e1e1e",
"backgroundColor": "#b2f2bb",
"width": 657.2672119140628,
"height": 875,
"seed": 1519701217,
"groupIds": [
"onFKfS6cGf_CipiWzcx_K"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "8hnwWxhx"
},
{
"id": "F7YkMEx2pNcW_BqazeBQJ",
"type": "arrow"
}
],
"updated": 1697633003717,
"link": null,
"locked": false
},
{
"type": "text",
"version": 1173,
"versionNonce": 1590395918,
"isDeleted": false,
"id": "8hnwWxhx",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -955.2900423040057,
"y": -490.6451738108618,
"strokeColor": "#1e1e1e",
"backgroundColor": "#b2f2bb",
"width": 644.83447265625,
"height": 864.9887439996379,
"seed": 1460308161,
"groupIds": [
"onFKfS6cGf_CipiWzcx_K"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697633007101,
"link": null,
"locked": false,
"fontSize": 27.679639807988412,
"fontFamily": 1,
"text": "\n\n\n\n- Defines a lot of behaviors (bt-nodes) if they\n inherit from BtActionNode a ROS Action \n client is created internally --> thus the \n action server needs to be running\n- Instead of an Action some nodes create a \nservice client\n\n- implements abstract base classes to combine\nROS and the behaviortree_cpp library\n- C++ template class for integrating ROS2 \nactions and services into behavior trees\n- navigation-specific behavior tree nodes\n- and behaviorTreeEngine class that simplifies \nintegration of BT processing into ROS2 nodes\n- provides basic nodes that are used to build \nmore complex trees.\n\nNAV2 Dependencies:\n- nav2_common\n- nav2_msgs\n- nav2_util",
"rawText": "\n\n\n\n- Defines a lot of behaviors (bt-nodes) if they \n inherit from BtActionNode a ROS Action \n client is created internally --> thus the \n action server needs to be running\n- Instead of an Action some nodes create a service client\n\n- implements abstract base classes to combine ROS and the behaviortree_cpp library\n- C++ template class for integrating ROS2 actions and services into behavior trees\n- navigation-specific behavior tree nodes\n- and behaviorTreeEngine class that simplifies integration of BT processing into ROS2 nodes\n- provides basic nodes that are used to build more complex trees.\n\nNAV2 Dependencies:\n- nav2_common\n- nav2_msgs\n- nav2_util",
"textAlign": "left",
"verticalAlign": "top",
"containerId": "KEUYcyw5SvwHkR6c8CwbR",
"originalText": "\n\n\n\n- Defines a lot of behaviors (bt-nodes) if they \n inherit from BtActionNode a ROS Action \n client is created internally --> thus the \n action server needs to be running\n- Instead of an Action some nodes create a service client\n\n- implements abstract base classes to combine ROS and the behaviortree_cpp library\n- C++ template class for integrating ROS2 actions and services into behavior trees\n- navigation-specific behavior tree nodes\n- and behaviorTreeEngine class that simplifies integration of BT processing into ROS2 nodes\n- provides basic nodes that are used to build more complex trees.\n\nNAV2 Dependencies:\n- nav2_common\n- nav2_msgs\n- nav2_util",
"lineHeight": 1.25,
"baseline": 854
},
{
"type": "rectangle",
"version": 189,
"versionNonce": 2042461601,
"isDeleted": false,
"id": "1_8a8SVizX67iEu8Jqwg7",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -865.1229810107718,
"y": -450.523876990527,
"strokeColor": "#1e1e1e",
"backgroundColor": "#b2f2bb",
"width": 475.27782788912117,
"height": 60.16175914892063,
"seed": 1495124129,
"groupIds": [
"onFKfS6cGf_CipiWzcx_K"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "tf69VvSg"
}
],
"updated": 1697534042616,
"link": null,
"locked": false
},
{
"type": "text",
"version": 185,
"versionNonce": 392110465,
"isDeleted": false,
"id": "tf69VvSg",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -809.14538298418,
"y": -442.68556511891455,
"strokeColor": "#1e1e1e",
"backgroundColor": "#b2f2bb",
"width": 363.3226318359375,
"height": 44.48513540569566,
"seed": 1518210177,
"groupIds": [
"onFKfS6cGf_CipiWzcx_K"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697534042616,
"link": null,
"locked": false,
"fontSize": 35.58810832455653,
"fontFamily": 1,
"text": "NAV2_behavior_tree",
"rawText": "NAV2_behavior_tree",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "1_8a8SVizX67iEu8Jqwg7",
"originalText": "NAV2_behavior_tree",
"lineHeight": 1.25,
"baseline": 31
},
{
"type": "arrow",
"version": 210,
"versionNonce": 1819947918,
"isDeleted": false,
"id": "F7YkMEx2pNcW_BqazeBQJ",
"fillStyle": "solid",
"strokeWidth": 1,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -1447.4869424639528,
"y": -198.30545889543006,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 478.50728449205735,
"height": 385.83333966526243,
"seed": 583248335,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1697638678029,
"link": null,
"locked": false,
"startBinding": {
"elementId": "ni5jRTRIy3J7C3gLIc67P",
"gap": 14.728694779807938,
"focus": -0.5492459933050143
},
"endBinding": {
"elementId": "KEUYcyw5SvwHkR6c8CwbR",
"gap": 8.68961566788954,
"focus": -0.7369054543013757
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "arrow",
"points": [
[
0,
0
],
[
478.50728449205735,
385.83333966526243
]
]
},
{
"type": "rectangle",
"version": 278,
"versionNonce": 977116366,
"isDeleted": false,
"id": "5S3qQPV9l5RQjbp9Ek-lQ",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -958.1122816013597,
"y": 426.73043101308076,
"strokeColor": "#1e1e1e",
"backgroundColor": "#b2f2bb",
"width": 657.2672119140628,
"height": 633,
"seed": 715726994,
"groupIds": [
"R-Pj_RQLVZWtnimlZ16ZB"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "xNoFXd9Y"
}
],
"updated": 1697637684498,
"link": null,
"locked": false
},
{
"type": "text",
"version": 1443,
"versionNonce": 1889784338,
"isDeleted": false,
"id": "xNoFXd9Y",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -953.1122816013597,
"y": 431.73043101308076,
"strokeColor": "#1e1e1e",
"backgroundColor": "#b2f2bb",
"width": 643.3411865234375,
"height": 622.7918956797392,
"seed": 1838890578,
"groupIds": [
"R-Pj_RQLVZWtnimlZ16ZB"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697637708329,
"link": null,
"locked": false,
"fontSize": 27.679639807988412,
"fontFamily": 1,
"text": "\n\n\n\n- This uses timed_behavior.hpp and to \nimplement a variety of behaviors (such as Spin,\nwait, drive_on_heading, etc) as plugins\n- Makes an executable called behavior_server\nthat loads those plugins and configures them. \n- configuration includes sharing the node \npointer, collision_checkers, TF2, etc. and then \ncreating the action_server that is a \nderivative of SimpleActionServer which finally \ncreates the ros_action_server\n\nMain Jobs:\n- inherit from timed_behavior\n- implement onRun and onCycleUpdate",
"rawText": "\n\n\n\n- This uses timed_behavior.hpp and to implement a variety of behaviors (such as Spin, wait, drive_on_heading, etc) as plugins\n- Makes an executable called behavior_server that loads those plugins and configures them. \n- configuration includes sharing the node pointer, collision_checkers, TF2, etc. and then creating the action_server that is a derivative of SimpleActionServer which finally creates the ros_action_server\n\nMain Jobs:\n- inherit from timed_behavior\n- implement onRun and onCycleUpdate",
"textAlign": "left",
"verticalAlign": "top",
"containerId": "5S3qQPV9l5RQjbp9Ek-lQ",
"originalText": "\n\n\n\n- This uses timed_behavior.hpp and to implement a variety of behaviors (such as Spin, wait, drive_on_heading, etc) as plugins\n- Makes an executable called behavior_server that loads those plugins and configures them. \n- configuration includes sharing the node pointer, collision_checkers, TF2, etc. and then creating the action_server that is a derivative of SimpleActionServer which finally creates the ros_action_server\n\nMain Jobs:\n- inherit from timed_behavior\n- implement onRun and onCycleUpdate",
"lineHeight": 1.25,
"baseline": 612
},
{
"type": "rectangle",
"version": 255,
"versionNonce": 396050766,
"isDeleted": false,
"id": "UWYhpoLPkdsyW5epWFJ9X",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -862.9452203081257,
"y": 476.8843181699507,
"strokeColor": "#1e1e1e",
"backgroundColor": "#b2f2bb",
"width": 475.27782788912117,
"height": 60.16175914892063,
"seed": 1342415890,
"groupIds": [
"R-Pj_RQLVZWtnimlZ16ZB"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "E8VjyZYw"
}
],
"updated": 1697637684498,
"link": null,
"locked": false
},
{
"type": "text",
"version": 258,
"versionNonce": 897705870,
"isDeleted": false,
"id": "E8VjyZYw",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -764.772096158487,
"y": 484.72263004156315,
"strokeColor": "#1e1e1e",
"backgroundColor": "#b2f2bb",
"width": 278.93157958984375,
"height": 44.48513540569566,
"seed": 467227090,
"groupIds": [
"R-Pj_RQLVZWtnimlZ16ZB"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697637684498,
"link": null,
"locked": false,
"fontSize": 35.58810832455653,
"fontFamily": 1,
"text": "NAV2_behaviors",
"rawText": "NAV2_behaviors",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "UWYhpoLPkdsyW5epWFJ9X",
"originalText": "NAV2_behaviors",
"lineHeight": 1.25,
"baseline": 31
},
{
"type": "rectangle",
"version": 381,
"versionNonce": 385057298,
"isDeleted": false,
"id": "MU1SZzoDJ8NqAUsbqT_Yy",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -1736.9705885478247,
"y": -1958.5075583565806,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ced4da",
"width": 657.2672119140628,
"height": 1014,
"seed": 413704590,
"groupIds": [
"AuGp1omTzrrCCgKFdwvsD"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "0AogytNB"
}
],
"updated": 1697638666917,
"link": null,
"locked": false
},
{
"type": "text",
"version": 1794,
"versionNonce": 1964863442,
"isDeleted": false,
"id": "0AogytNB",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -1731.9705885478247,
"y": -1953.5075583565806,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ced4da",
"width": 450.85321044921875,
"height": 1003.3869430395799,
"seed": 645480398,
"groupIds": [
"AuGp1omTzrrCCgKFdwvsD"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697638666917,
"link": null,
"locked": false,
"fontSize": 27.679639807988412,
"fontFamily": 1,
"text": "\n\n\n\n- node: get Node shared pointer\n- bt_loop_duration\n- server_timeout\n- number_recoveries\n- error_code\n- error_codes\n- tf_buffer\n- goal\n- goals\n- updated_goal\n- initial_pose_received\n- odom_smoother: shared Pointer\n- on_cancelled_triggered\n- start\n- unsmoothed_path\n- path\n- truncated_path\n- selected_controller\n- selected_goal_checker\n- selected_planner\n- selected_smoother\n- pose\n- goals_blackboard_id\n- path_blackboard_id\n",
"rawText": "\n\n\n\n- node: get Node shared pointer\n- bt_loop_duration\n- server_timeout\n- number_recoveries\n- error_code\n- error_codes\n- tf_buffer\n- goal\n- goals\n- updated_goal\n- initial_pose_received\n- odom_smoother: shared Pointer\n- on_cancelled_triggered\n- start\n- unsmoothed_path\n- path\n- truncated_path\n- selected_controller\n- selected_goal_checker\n- selected_planner\n- selected_smoother\n- pose\n- goals_blackboard_id\n- path_blackboard_id\n",
"textAlign": "left",
"verticalAlign": "top",
"containerId": "MU1SZzoDJ8NqAUsbqT_Yy",
"originalText": "\n\n\n\n- node: get Node shared pointer\n- bt_loop_duration\n- server_timeout\n- number_recoveries\n- error_code\n- error_codes\n- tf_buffer\n- goal\n- goals\n- updated_goal\n- initial_pose_received\n- odom_smoother: shared Pointer\n- on_cancelled_triggered\n- start\n- unsmoothed_path\n- path\n- truncated_path\n- selected_controller\n- selected_goal_checker\n- selected_planner\n- selected_smoother\n- pose\n- goals_blackboard_id\n- path_blackboard_id\n",
"lineHeight": 1.25,
"baseline": 992
},
{
"type": "rectangle",
"version": 347,
"versionNonce": 1531159954,
"isDeleted": false,
"id": "XNI7dhJFEGuas_jnwt-Im",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -1642.810045321898,
"y": -1909.3601892670176,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ced4da",
"width": 475.27782788912117,
"height": 60.16175914892063,
"seed": 1696339470,
"groupIds": [
"AuGp1omTzrrCCgKFdwvsD"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "OAihEFVF"
}
],
"updated": 1697638666917,
"link": null,
"locked": false
},
{
"type": "text",
"version": 358,
"versionNonce": 1850249678,
"isDeleted": false,
"id": "OAihEFVF",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -1500.7692453910095,
"y": -1901.5218773954052,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ced4da",
"width": 191.19622802734375,
"height": 44.48513540569566,
"seed": 1837769806,
"groupIds": [
"AuGp1omTzrrCCgKFdwvsD"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697638678040,
"link": null,
"locked": false,
"fontSize": 35.58810832455653,
"fontFamily": 1,
"text": "Blackboard",
"rawText": "Blackboard",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "XNI7dhJFEGuas_jnwt-Im",
"originalText": "Blackboard",
"lineHeight": 1.25,
"baseline": 31
},
{
"type": "rectangle",
"version": 328,
"versionNonce": 390424206,
"isDeleted": false,
"id": "7PvQKvbfWn_PL4-V5CU6C",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -2100.5141583214563,
"y": 440.08795984903486,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 657.2672119140628,
"height": 633,
"seed": 1015626002,
"groupIds": [
"MPDDNZh4fUrm1FpZakPJv"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "T3TFXKwp"
}
],
"updated": 1697638653436,
"link": null,
"locked": false
},
{
"type": "text",
"version": 1728,
"versionNonce": 523592910,
"isDeleted": false,
"id": "T3TFXKwp",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -2095.5141583214563,
"y": 445.08795984903486,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 645.1387939453125,
"height": 345.9954975998551,
"seed": 1826899666,
"groupIds": [
"MPDDNZh4fUrm1FpZakPJv"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697638653436,
"link": null,
"locked": false,
"fontSize": 27.679639807988412,
"fontFamily": 1,
"text": "\n\n\n\n- defines abstract behavior (for the plugin-lib)\n--> this allows to load plugins dynamically\n\n- implements BehaviorTreeNavigator which is a \nbase class for different navigators such as \nnavigate_to_pose.hpp",
"rawText": "\n\n\n\n- defines abstract behavior (for the plugin-lib) --> this allows to load plugins dynamically\n\n- implements BehaviorTreeNavigator which is a base class for different navigators such as navigate_to_pose.hpp",
"textAlign": "left",
"verticalAlign": "top",
"containerId": "7PvQKvbfWn_PL4-V5CU6C",
"originalText": "\n\n\n\n- defines abstract behavior (for the plugin-lib) --> this allows to load plugins dynamically\n\n- implements BehaviorTreeNavigator which is a base class for different navigators such as navigate_to_pose.hpp",
"lineHeight": 1.25,
"baseline": 335
},
{
"type": "rectangle",
"version": 305,
"versionNonce": 1529948174,
"isDeleted": false,
"id": "8Pj3DQX5qSiSyGOFZ_rWI",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -2005.3470970282224,
"y": 491.2483650732118,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 475.27782788912117,
"height": 60.16175914892063,
"seed": 35101842,
"groupIds": [
"MPDDNZh4fUrm1FpZakPJv"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "kwnDEyDS"
}
],
"updated": 1697638678042,
"link": null,
"locked": false
},
{
"type": "text",
"version": 319,
"versionNonce": 1127020110,
"isDeleted": false,
"id": "kwnDEyDS",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -1863.5553434230173,
"y": 499.08667694482426,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 191.69432067871094,
"height": 44.48513540569566,
"seed": 1239038546,
"groupIds": [
"MPDDNZh4fUrm1FpZakPJv"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697638678043,
"link": null,
"locked": false,
"fontSize": 35.58810832455653,
"fontFamily": 1,
"text": "NAV2_core",
"rawText": "NAV2_core",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "8Pj3DQX5qSiSyGOFZ_rWI",
"originalText": "NAV2_core",
"lineHeight": 1.25,
"baseline": 31
},
{
"type": "rectangle",
"version": 362,
"versionNonce": 187267794,
"isDeleted": false,
"id": "G6wcHtRq05f97AJ1FJUPd",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -2103.8826825087135,
"y": 1131.6962631244285,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 657.2672119140628,
"height": 633,
"seed": 909447890,
"groupIds": [
"j1mHF-SNibUSxV6wrQE8Z"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "6SHkAk3K"
}
],
"updated": 1697638793711,
"link": null,
"locked": false
},
{
"type": "text",
"version": 2056,
"versionNonce": 772832526,
"isDeleted": false,
"id": "6SHkAk3K",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -2098.8826825087135,
"y": 1136.6962631244285,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 640.658447265625,
"height": 449.7941468798117,
"seed": 2137974930,
"groupIds": [
"j1mHF-SNibUSxV6wrQE8Z"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697638894797,
"link": null,
"locked": false,
"fontSize": 27.679639807988412,
"fontFamily": 1,
"text": "\n\n\n\n- utility functions that are used all over the \nnav2 library such as:\n\n- lifecycle_node and utils\n- odometry_utils: OdomSmoother\n- simple_action_server\n- node_utils: parameter handling, name handling\n- node_thread: abstract the executor and \nthread logic",
"rawText": "\n\n\n\n- utility functions that are used all over the nav2 library such as:\n\n- lifecycle_node and utils\n- odometry_utils: OdomSmoother\n- simple_action_server\n- node_utils: parameter handling, name handling\n- node_thread: abstract the executor and thread logic",
"textAlign": "left",
"verticalAlign": "top",
"containerId": "G6wcHtRq05f97AJ1FJUPd",
"originalText": "\n\n\n\n- utility functions that are used all over the nav2 library such as:\n\n- lifecycle_node and utils\n- odometry_utils: OdomSmoother\n- simple_action_server\n- node_utils: parameter handling, name handling\n- node_thread: abstract the executor and thread logic",
"lineHeight": 1.25,
"baseline": 439
},
{
"type": "rectangle",
"version": 337,
"versionNonce": 1975989646,
"isDeleted": false,
"id": "Ss8JYhupb_oenSCrW3R_c",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -2006.3956335938178,
"y": 1182.8566683486051,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 475.27782788912117,
"height": 60.16175914892063,
"seed": 912787026,
"groupIds": [
"j1mHF-SNibUSxV6wrQE8Z"
],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"type": "text",
"id": "o8Xh22PA"
}
],
"updated": 1697638943023,
"link": null,
"locked": false
},
{
"type": "text",
"version": 361,
"versionNonce": 178607054,
"isDeleted": false,
"id": "o8Xh22PA",
"fillStyle": "hachure",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -1857.1680737141987,
"y": 1190.6949802202175,
"strokeColor": "#1e1e1e",
"backgroundColor": "#ffec99",
"width": 176.8227081298828,
"height": 44.48513540569566,
"seed": 1945594898,
"groupIds": [
"j1mHF-SNibUSxV6wrQE8Z"
],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1697638943023,
"link": null,
"locked": false,
"fontSize": 35.58810832455653,
"fontFamily": 1,
"text": "NAV2_util",
"rawText": "NAV2_util",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "Ss8JYhupb_oenSCrW3R_c",
"originalText": "NAV2_util",
"lineHeight": 1.25,
"baseline": 31
}
],
"appState": {
"theme": "light",
"viewBackgroundColor": "#ffffff",
"currentItemStrokeColor": "#1e1e1e",
"currentItemBackgroundColor": "#ffec99",
"currentItemFillStyle": "solid",
"currentItemStrokeWidth": 1,
"currentItemStrokeStyle": "solid",
"currentItemRoughness": 1,
"currentItemOpacity": 100,
"currentItemFontFamily": 1,
"currentItemFontSize": 36,
"currentItemTextAlign": "left",
"currentItemStartArrowhead": null,
"currentItemEndArrowhead": "arrow",
"scrollX": 2958.503104265647,
"scrollY": 20.7306145680419,
"zoom": {
"value": 0.6558157297020568
},
"currentItemRoundness": "round",
"gridSize": null,
"gridColor": {
"Bold": "#C9C9C9FF",
"Regular": "#EDEDEDFF"
},
"currentStrokeOptions": null,
"previousGridSize": null,
"frameRendering": {
"enabled": true,
"clip": true,
"name": true,
"outline": true
}
},
"files": {}
}
%%