菜单

示例程序测试

下载

本篇内容:基于双目视觉定位,利用地面站运行demo脚本,控制无人机自主飞行

Sunray/General_Module/sunray_tutorial中配置了如下所述的示例demo:

  • 起飞悬停降落:无人机自动解锁、起飞,然后悬停一段时间,最后降落。
  • 起飞悬停四边形降落:无人机自动解锁、起飞、悬停,然后使用位置控制朝着四个目标点飞行形成四边形,最后返航降落。
  • 起飞悬停画圆降落:无人机自动解锁、起飞、悬停,然后使用水平速度+高度控制跟踪圆形轨迹飞行,最后返航降落。
  • 起飞悬停六边形降落:使无人机自动解锁、起飞、悬停,然后使用机体系位置控制朝着六个目标点飞行形成六边形,最后返航降落。

运行示例前需要完成双目视觉定位的飞行测试

运行示例(以“起飞悬停降落”为例)

  1. 打开地面站连接无人机,连接方法参照Sunray地面站使用说明中的连接智能体功能。
  2. 通过地面站添加机载电脑中的demo_takeoff_hover_land_viobot.shkill_node_viobot.sh脚本。添加方法参照Sunray地面站使用说明中的脚本配置功能,脚本类型选择真机。该脚本会在机载电脑中启动如下所述的4个ROS Launch文件:
bash 复制代码
# 用于启动MAVROS节点,建立机载电脑与飞控的通信连接
roslaunch sunray_uav_control sunray_mavros_exp.launch; 
# 用于启动外部定位节点,将外部定位数据(此处是Viobot2的里程计结果)发送给飞控
roslaunch sunray_uav_control external_fusion.launch external_source:=4 position_topic:=/baton/stereo3/odometry enable_rviz:=false use_vision_pose:=false
# 用于启动Sunray控制节点,将相关控制指令发送给飞控
roslaunch sunray_uav_control sunray_control_node.launch;
# 用于启动demo节点
roslaunch sunray_tutorial run_demo.launch demo_id:=1
  1. 选择demo_takeoff_hover_land_viobot.sh脚本并点击执行脚本,等待一会查看无人机的状态是否处于下图所示。
/
  1. 无人机会依次完成解锁,起飞,悬停,降落等步骤。
  2. 选择kill_node_viobot.sh脚本并点击执行脚本

起飞悬停四边形降落

  • 脚本文件demo_block_pos_viobot.sh
  • 脚本启动了如下ROS Launch文件
bash 复制代码
# 用于启动MAVROS节点,建立机载电脑与飞控的通信连接
roslaunch sunray_uav_control sunray_mavros_exp.launch; 
# 用于启动外部定位节点,将外部定位数据(此处是Viobot2的里程计结果)发送给飞控
roslaunch sunray_uav_control external_fusion.launch external_source:=4 position_topic:=/baton/stereo3/odometry enable_rviz:=false use_vision_pose:=false
# 用于启动Sunray控制节点,将相关控制指令发送给飞控
roslaunch sunray_uav_control sunray_control_node.launch;
# 用于启动demo节点
roslaunch sunray_tutorial run_demo.launch demo_id:=2

起飞悬停画圆降落

  • 脚本文件demo_circle_viobot.sh
  • 脚本启动了如下ROS Launch文件
bash 复制代码
# 用于启动MAVROS节点,建立机载电脑与飞控的通信连接
roslaunch sunray_uav_control sunray_mavros_exp.launch; 
# 用于启动外部定位节点,将外部定位数据(此处是Viobot2的里程计结果)发送给飞控
roslaunch sunray_uav_control external_fusion.launch external_source:=4 position_topic:=/baton/stereo3/odometry enable_rviz:=false use_vision_pose:=false
# 用于启动Sunray控制节点,将相关控制指令发送给飞控
roslaunch sunray_uav_control sunray_control_node.launch;
# 用于启动demo节点
roslaunch sunray_tutorial run_demo.launch demo_id:=4

起飞悬停六边形降落

  • 脚本文件demo_hexayon_viobot.sh
  • 脚本启动了如下ROS Launch文件
bash 复制代码
# 用于启动MAVROS节点,建立机载电脑与飞控的通信连接
roslaunch sunray_uav_control sunray_mavros_exp.launch; 
# 用于启动外部定位节点,将外部定位数据(此处是Viobot2的里程计结果)发送给飞控
roslaunch sunray_uav_control external_fusion.launch external_source:=4 position_topic:=/baton/stereo3/odometry enable_rviz:=false use_vision_pose:=false
# 用于启动Sunray控制节点,将相关控制指令发送给飞控
roslaunch sunray_uav_control sunray_control_node.launch;
# 用于启动demo节点
roslaunch sunray_tutorial run_demo.launch demo_id:=5
上一个
双目视觉定位飞行
下一个
简易避障
最近修改: 2025-09-27