Giter VIP home page Giter VIP logo

navigation's Introduction

sequenceDiagram
    participant ROSNode
    participant TebPlannerROS
    participant costmap_ros
    participant odom_helper
    participant planner
    participant visualization
    participant costmap_model

    Note over ROSNode: Initialization

    activate ROSNode
    ROSNode ->> TebPlannerROS: computeVelocityCommands
    activate TebPlannerROS

    TebPlannerROS ->> ROSNode: ROS_ERROR("teb_path_smooth_controller has not been initialized...")
    Note over ROSNode: Set message and return status

    deactivate TebPlannerROS
    deactivate ROSNode

    activate TebPlannerROS
    TebPlannerROS ->> costmap_ros: getRobotPose
    activate costmap_ros
    costmap_ros -->> TebPlannerROS: robot_pose

    TebPlannerROS ->> odom_helper: getRobotVel
    activate odom_helper
    odom_helper -->> TebPlannerROS: robot_vel_tf

    TebPlannerROS ->> planner: plan(transformed_plan, &robot_vel_, cfg_.goal_tolerance.free_goal_vel)
    activate planner

    planner -->> TebPlannerROS: success (bool)

    deactivate planner
    deactivate odom_helper
    deactivate costmap_ros
    deactivate TebPlannerROS

    activate TebPlannerROS
    TebPlannerROS -->> TebPlannerROS: Check for initialization success

    activate TebPlannerROS
    TebPlannerROS -->> TebPlannerROS: Transform global plan to local frame
    TebPlannerROS -->> costmap_ros: getRobotPose
    activate costmap_ros
    costmap_ros -->> TebPlannerROS: robot_pose

    TebPlannerROS -->> planner: pruneGlobalPlan
    activate planner
    planner -->> planner: Prune global plan spatially
    planner -->> planner: Transform global plan to local frame
    deactivate planner

    TebPlannerROS -->> planner: transformGlobalPlan
    activate planner
    planner -->> planner: Transform global plan to local frame
    deactivate planner

    TebPlannerROS -->> TebPlannerROS: Update via-points container

    deactivate costmap_ros
    deactivate TebPlannerROS

    activate TebPlannerROS
    TebPlannerROS -->> costmap_model: updateObstacleContainerWithCostmap
    activate costmap_model
    costmap_model -->> TebPlannerROS: Updated obstacle container

    TebPlannerROS -->> TebPlannerROS: Update obstacle container with custom obstacles

    deactivate TebPlannerROS
    deactivate costmap_model

    activate TebPlannerROS
    TebPlannerROS ->> planner: plan(transformed_plan, &robot_vel_, cfg_.goal_tolerance.free_goal_vel)
    activate planner

    planner -->> TebPlannerROS: success (bool)

    deactivate planner
    deactivate TebPlannerROS

    activate TebPlannerROS
    TebPlannerROS -->> TebPlannerROS: Check for success

    activate TebPlannerROS
    TebPlannerROS -->> planner: getVelocityCommand
    activate planner
    planner -->> TebPlannerROS: velocity_command

    deactivate planner
    deactivate TebPlannerROS

    activate TebPlannerROS
    TebPlannerROS -->> TebPlannerROS: Saturate velocity

    activate TebPlannerROS
    TebPlannerROS -->> TebPlannerROS: Convert rot-vel to steering angle

    deactivate TebPlannerROS

    activate TebPlannerROS
    TebPlannerROS -->> TebPlannerROS: Store last command

    activate TebPlannerROS
    TebPlannerROS -->> planner: visualize
    activate planner
    planner -->> visualization: Visualize obstacles, via points, global plan
    deactivate planner
    deactivate TebPlannerROS
Loading

navigation's People

Contributors

bulwahn avatar contradict avatar corot avatar dlu avatar dorezyuk avatar garyservin avatar hershwg avatar ipa-fez avatar jihoonl avatar jkammerl avatar jspricke avatar kwatts avatar matthijsburgh avatar mikaelarguedas avatar mikeferguson avatar moriarty avatar patrickcjh avatar pavloblindnology avatar piyushk avatar rainct avatar sachih avatar seanyen avatar stevemacenski avatar stonier avatar stwirth avatar tfoote avatar v4hn avatar vrabaud avatar wjwwood avatar zklapow avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.