--- excalidraw-plugin: parsed tags: [excalidraw] --- ==⚠ 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 ```json { "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": {} } ``` %%