本章内容:Sunray航点任务功能
更新日期:2025年9月23日(旧版本的Sunray代码不支持此功能)
航点任务功能主要文件
- 自定义消息
- General_Module/sunray_common/sunray_msgs/msg/WayPointState.msg (当前航点任务状态)
- General_Module/sunray_common/sunray_msgs/msg/WayPoint.msg (航点任务)
- 功能源代码
- General_Module/sunray_uav_control/waypoint/Waypoint.h (航点任务类)
- General_Module/sunray_uav_control/waypoint/waypoint_mission_node.cpp (航点任务节点,入口程序)
- General_Module/sunray_uav_control/waypoint/waypoint_pub.cpp (通过终端发布航点任务)
- 启动launch文件
- General_Module/sunray_uav_control/waypoint/waypoint_mission_node.launch
- General_Module/sunray_uav_control/waypoint/waypoint_pub.launch
- 仿真执行脚本
- scripts_sim/demo_waypoint.sh
waypoint_mission_node功能说明
- 程序参数(部分)
- 订阅话题(部分)
~/sunray/uav_waypoint
订阅航点任务信息
- 发布话题(部分)
~/sunray/uav_control_cmd
无人机控制指令 (本节点 -> sunray_control_node)
~/sunray/setup
无人机设置指令(本节点 -> sunray_control_node)
- 程序逻辑
- 接收到航点任务信息后,无人机自启动(解锁、切换模式、起飞),依次执行航点任务,最后根据航点任务设置选择降落、返航或原地悬停
- 执行航点时,发送给控制模块的控制指令选用的是XyVelZPosYaw模式,因此航点的高度是固定的、速度是实时计算的
- 注意:
- 正在执行航点任务时,不会接收新的航点任务信息
- 航点执行过程中的速度由程序自动计算
- 航点执行过程中的偏航角可以选择固定角度,也可以选择由程序自行计算(指向下一个航点)