🏐D.9 Controller Server

Controller server ကလည်း controller request ရောက်လာရင် ယူမယ်။ path နဲ့ plugin ကိုလည်း ရယူပြီးတော့ သက်ဆိုင်ရာ plugin တွေနဲ့ progress checker, goal checker တို့ကိုလည်း ခိုင်းပါလိမ့်မယ်။

Parameters
Description
Type
Default

controller_frequency

Frequency to run controller (Hz).

double

20

controller_plugins

Processing requestsထဲက controller pluginရဲ့ mapped namesနဲ့ parametersတွေရဲ့ listကိုဖော်ပြတယ်။ Each plugin namespace defined in this list needs to have a plugin parameter defining the type of plugin to be loaded in the namespace.

vector<string>

['FollowPath']

progress_checker_plugins

Mapped name for progress checker plugin for checking progress made by robot. Formerly progress_checker_plugin for Humble and older with a single string plugin. definedလုပ်ထားတဲ့ plugin namespace က namespaceမှာထည့်မဲ့ plugin parameteruကို လိုအပ်တယ်။

vector<string>

["progress-checker"]

goal_checker_plugins

Mapped name for goal checker plugin for checking goal is reached.

vector<string>

["progress-checker"]

min_x_velocity_threshold

Controller serverက controller pluginကပေးပို့မယ့် odometry messagesရဲ့ velocity ကိုစစ်ထုတ်မယ်။ Odometry value က thresholdရဲ့ အောက် 0.0ထားရမယ်။ For non_holonomic robots

double

0.0001

min_y_velocity_threshold

Controller serverက controller pluginကပေးပို့မယ့် odometry messagesရဲ့ velocity ကိုစစ်ထုတ်မယ်။ Odometry value က thresholdရဲ့ အောက် 0.0ထားရမယ်။ For non_holonomic robots

double

0.0001

min_theta_velocity_threshold

Controller serverက controller pluginကပေးပို့မယ့် odometry messagesရဲ့ velocity ကိုစစ်ထုတ်မယ်။ Odometry value က thresholdရဲ့ အောက် 0.0ထားရမယ်။ For non_holonomic robots

double

0.0001

failure_tolerance

The maximum duration in seconds the called controller plugin can fail (i.e. the computeVelocityCommands function of the plugin throwing an exception) before the nav2_msgs::action::FollowPath action fails. Setting it to the special value of -1.0 makes it infinite, 0 to disable, and any positive value for the appropriate timeout.

double

0

speed_limit_topic

Speed limiting topic ကို subscribe လုပ်ဖို့ သည် topicကို speed filterက publish လုပ်တယ်။ အကယ်၍သည် messagesတွေကို extermal serverက publishလုပ်လျှင် speed filterမပါဘဲသုံးနိုင်တယ်။

string

"speed_limit"

odom_topic

Topic to get instantaneous measurement of speed from.

string

"odom"

အောက်က plugin တွေသည် nav2_controller namespace အတွင်းမှာရှိပြီးတော့

  • SimpleProgressChecker

  • PoseProgerssChecker

  • SimpleGoalChecker

  • StoppedGoalChecker

override မလုပ်ဖူးဆိုရင် Default သုံးတဲ့ plugin တွေက ဒါတွေပေါ့။

နမူနာ

controller_server:
  ros__parameters:
    use_sim_time: True
    controller_frequency: 20.0
    min_x_velocity_threshold: 0.001
    min_y_velocity_threshold: 0.5
    min_theta_velocity_threshold: 0.001
    failure_tolerance: 0.3
    odom_topic: "odom"
    progress_checker_plugins: ["progress_checker"] # progress_checker_plugin: "progress_checker" For Humble and older
    goal_checker_plugin: "goal_checker"
    controller_plugins: ["FollowPath"]
    progress_checker:
      plugin: "nav2_controller::SimpleProgressChecker"
      required_movement_radius: 0.5
      movement_time_allowance: 10.0
    goal_checker:
      plugin: "nav2_controller::SimpleGoalChecker"
      xy_goal_tolerance: 0.25
      yaw_goal_tolerance: 0.25
      stateful: True
    FollowPath:
      plugin: "dwb_core::DWBLocalPlanner"

Last updated