🏐D.9 Controller Server
Controller server ကလည်း controller request ရောက်လာရင် ယူမယ်။ path နဲ့ plugin ကိုလည်း ရယူပြီးတော့ သက်ဆိုင်ရာ plugin တွေနဲ့ progress checker, goal checker တို့ကိုလည်း ခိုင်းပါလိမ့်မယ်။
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