菜单

外部定位飞行

下载

本篇内容:介绍Sunray中关于外部定位的节点

外部定位主要文件:
Sunray/General_Module/sunray_uav_control/src/externalFusion.cpp
Sunray/General_Module/sunray_uav_control/include/externalFusion.h
Sunray/General_Module/sunray_uav_control/include/ExternalPosition.h

相关说明

外部定位模块的主要功能是给PX4无人机提供一个外部定位,使无人机能够在没有GPS等环境中也能够进行定点定高飞行
外部定位节点预定义了一下几个定位源:
0nav_msgs::Odometry 消息格式数据源,需要将ros话题传递给position_topic参数
1: geometry_msgs::PoseStamped 消息格式数据源,需要将ros话题传递给position_topic参数
2: 用于仿真中的定位,来源于gazebo真值
3: 来源与动作捕捉(VRPN)的数据

此外该节点还会显示无人机的当前转态,并检测外部定位是否可用并将该状态发布至控制节点或其他节点

启动launch
当enable_rviz为true时会发布无人机的mesh和轨迹,同时打开rviz显示

复制代码
roslaunch sunray_uav_control external_fusion.launch
复制代码
<launch>
    <!-- ODOM = 0, POSE = 1, GAZEBO = 2,  MOCAP = 3, VIOBOT = 4, GPS = 5, RTK = 6, VINS = 7 -->
    <arg name="uav_id" default="1" />
    <arg name="external_source" default="0" />
    <arg name="uav_name" default="uav" />
    <arg name="position_topic" default="/Odometry" />
    <arg name="enable_rviz" default="false" />
    <arg name="enable_range_sensor" default="false" />
    <arg name="server" default="192.168.25.11"/>

    <!-- 启动 external_fusion_node-->
    <node name="external_fusion" pkg="sunray_uav_control" type="external_fusion_node" output="screen">
        <param name="uav_id" value="$(arg uav_id)" />
        <param name="external_source" value="$(arg external_source)" />
        <param name="uav_name" value="$(arg uav_name)" />
        <param name="position_topic" value="$(arg position_topic)" />
        <param name="enable_range_sensor" value="$(arg enable_range_sensor)" />
    </node>

    <!-- 启动 vrpn_client_ros -->
    <include file="$(find sunray_uav_control)/launch/sunray_vrpn.launch" if="$(eval external_source == 3)">
        <arg name="server" value="$(arg server)"/>
        <arg name="uav_id" value="$(arg uav_id)"/>
    </include>

    <arg name="rivz_config" default="$(find sunray_uav_control)/rviz/uav.rviz"/>
	<!-- 启动Rviz-->
	<group if="$(arg enable_rviz)">
        <node type="rviz" name="rviz_external_fusion" pkg="rviz" args="-d $(arg rivz_config)"/>
    </group>
</launch>
上一个
Sunray-150-三维激光雷达款高阶功能
下一个
MOCAP动捕定位
最近修改: 2025-09-20