جارٍ تحميل الدرس...
في نافذة الطباعة اختر «حفظ كملف PDF» كوجهة.
ROS 2 العملي، المعمل السابع
من خريطة محفوظة إلى الوصول الذاتي للهدف
Nav2AMCL (التموضع بطريقة مونت كارلو التكيفية)RVizSLAM من المعمل 06sudo apt install ros-jazzy-navigation2 ros-jazzy-nav2-bringup
colcon build --packages-select turtlebot3_lab07
source install/setup.bash
export TURTLEBOT3_MODEL=waffle_pi
ros2 launch turtlebot3_lab07 lab07.launch.pyGazebo وحزمة Nav2 الكاملة وRVizmap:=$HOME/maps/my_map.yaml| المكون | الوصف |
|---|---|
AMCL | يقدر وضعية الروبوت على خريطة معروفة |
Map Server | يحمل شبكة الإشغال ويوفرها |
Planner Server | يحسب المسارات العامة من البداية إلى الهدف |
Controller Server | ينفذ المسار مع تجنب العوائق محليا |
BT Navigator | تنسيق الملاحة اعتمادا على شجرة السلوك (Behavior Tree) |
BT Navigator
يستقبل الهدف من RViz وينسق التنفيذ
Planner Server
عام (Global) - يعتمد على Global Costmap
Controller Server
محلي (Local) - يعتمد على Local Costmap
Behavior
التعافي (Recovery)
BT Navigator سلوكيات التخطيط والتحكم والتعافي (Recovery) في صورة شجرة سلوك (Behavior Tree)الخطوة 1
ros2 topic pub /initialpose geometry_msgs/msg/PoseWithCovarianceStamped \
"{header: {frame_id: 'map'}, pose: {pose: {position: {x: -2.0, y: -0.5, z: 0.0}, orientation: {w: 1.0}}}}" --once2D Pose Estimate في RVizالخطوة 2
2D Goal Pose في RViz# Command-line equivalent
ros2 action send_goal /navigate_to_pose nav2_msgs/action/NavigateToPose \
"{pose: {header: {frame_id: 'map'}, pose: {position: {x: 0.5, y: 0.5}, orientation: {w: 1.0}}}}"| الموضوع | الغرض |
|---|---|
/map | الخريطة الثابتة من خادم الخرائط |
/scan | بيانات الليدار التي تغذي تموضع AMCL |
/cmd_vel | أوامر السرعة للروبوت |
/goal_pose | هدف الملاحة من RViz |
/plan | المسار العام المحسوب |
30 ثانية للتهيئة، وتحقق من تقدم /clockros2 node list | grep -E "amcl|planner|controller|bt_navigator"
ros2 run tf2_tools view_framesNav2 = AMCL (التموضع) + Planner + Controller + BT Navigator، وجميعها منسقة في صورة شجرة سلوكSLAM المحفوظة (المعمل 06) هي مدخل Nav2، إذ تحتاج الملاحة إلى خريطة قبل أن تستطيع التخطيط2D Pose Estimate و2D Goal Pose في RViz الوسيلة الأساسية للتفاعل مع Nav2 في المعملros2 node list (هل تعمل عقد AMCL/planner/controller/BT؟) وشجرة TFMahmoud Abas|معمل TurtleBot3 رقم 07 - الملاحة الذاتية باستخدام Nav2