完成Prometheus其他功能模块与mavros节点进行数据交互的uav_control_node介绍

uav_control_node是Prometheus项目的基础模块,负责与其他功能模块及mavros节点进行数据交互。它发布和订阅的话题涉及无人机的姿态、位置、速度等控制信息,同时处理电池状态、GPS数据、IMU数据等。此外,该模块有一系列参数,如无人机编号、仿真模式、控制器类型和地理围栏限制等,用于定制飞行行为。
摘要由CSDN通过智能技术生成

完成Prometheus其他功能模块与mavros节点进行数据交互的uav_control_node介绍

简单介绍

uav_control_node介绍
uav_control模块相关源代码放置在Prometheus/Modules/uav_control文件夹下,对应的ROS功能包名为prometheus_uav_control。该模块为Prometheus项目的基础模块,完成Prometheus其他功能模块与mavros节点进行数据交互。

发布话题和订阅话题中均带有命名空间/uav*,无人机编号不同则对应的命名空间不同,一般情况下默认为/uav1

发布话题

/uav*/mavros/setpoint_raw/attitude(mavros_msgs/AttitudeTarget)

期望的无人机姿态控制量

/uav*/mavros/setpoint_raw/global(mavros_msgs/GlobalPositionTarget)

期望的无人机经纬高控制量

/uav*/mavros/setpoint_raw/local(mavros_msgs/PositionTarget)

期望的无人机ENU坐标系的控制量(包含位置、速度、加速度等)

/uav*/mavros/vision_pose/pose(geometry_msgs/PoseStamped)

MAVROS提供的外部定位数据接口

/uav*/prometheus/control_state(prometheus_msgs/UAVControlState)

Prometheus控制状态

/uav*/prometheus/odom(nav_msgs/Odometry)

无人机里程计数据

/uav*/prometheus/offset_pose(prometheus_msgs/OffsetPose)

ENU坐标系下的位置偏移量

/uav*/prometheus/state(prometheus_msgs/UAVState)

无人机状态合集,包括位置\速度\姿态\模式等

/uav*/prometheus/text_info(prometheus_msgs/TextInfo)

反馈到地面站的打印信息

/uav*/prometheus/trajectory(nav_msgs/Path)

无人机运动轨迹

/uav*/prometheus/uav_mesh(visualization_msgs/Marker)

无人机位置(带图标),用于RVIZ显示

订阅话题

订阅话题
/uav*/mavros/battery(sensor_msgs/BatteryState)

无人机电池状态

/uav*/mavros/global_position/global(sensor_msgs/NavSatFix)

无人机当前经纬度数据,经飞控融合过后的数据.

/uav*/mavros/gpsstatus/gps*/raw(mavros_msgs/GPSRAW)

GPS模块数据状态

/uav*/mavros/imu/data(sensor_msgs/Imu)

IMU模块数据

/uav*/mavros/local_position/pose(geometry_msgs/PoseStamped)

无人机ENU坐标系下的位置数据

/uav*/mavros/local_position/velocity_local(geometry_msgs/TwistStamped)

无人机ENU坐标系的当前速度数据

/uav*/mavros/setpoint_raw/target_attitude(mavros_msgs/AttitudeTarget)

PX4中无人机的姿态设定值 (坐标系:ENU系)

/uav*/mavros/setpoint_raw/target_local(mavros_msgs/PositionTarget)

PX4中无人机的位置/速度/加速度设定值(坐标系:ENU系)

/uav*/mavros/state(mavros_msgs/State)

无人机当前状态(PX4)

/uav*/prometheus/command(prometheus_msgs::UAVCommand)

无人机控制指令(用于COMMAND_CONTROL模式)

/uav*/prometheus/fake_rc_in(mavros_msgs/RCIn)

PX4遥控器数据

/uav*/prometheus/offset_pose(prometheus_msgs::OffsetPose)

ENU坐标系下的位置偏移量

/uav*/prometheus/set_local_offset_pose(prometheus_msgs::OffsetPose)

设置ENU坐标系下无人机的位置偏移量

/uav*/prometheus/setup(prometheus_msgs/UAVSetup)

无人机设置指令

/uav*/prometheus/state(prometheus_msgs/UAVState)

无人机状态合集,包括位置、速度、姿态、模式等

参数

uav_id:

参数说明: 无人机编号

单位: -

数据类型: int

默认值: 1

备注: 无

sim_mode:

参数说明: 是否为仿真

单位: -

数据类型: bool

默认值: true

备注: true代表为仿真模式,false代表为非仿真模式

control/pos_controller:

参数说明: 控制器标志位

单位: -

数据类型: int

默认值: 0

备注: 0: PX4_ORIGIN, 1: PID, 2: UDE, 3: NE

control/enable_external_control:

参数说明: 是否使用外部控制器

单位: -

数据类型: bool

默认值: false

备注: true代表使用外部控制器,false代表不使用外部控制器

control/Takeoff_height:

参数说明: 起飞高度(command_control模式下的起飞高度)

单位: 米

数据类型: float

默认值: 1.0

备注: 无

control/Disarm_height:

参数说明: land_control模式下自动上锁的高度

单位: 米

数据类型: float

默认值: 0.2

备注: 无

control/Land_speed:

参数说明: land_control模式下下降的速度

单位: 米

数据类型: float

默认值: 0.2

备注: 位置坐标系为ENU坐标系

control/location_source:

参数说明: 定位数据来源

单位: 无

数据类型: int

默认值: 4

备注: 0: MOCAP, 1: T265, 2: GAZEBO, 3: FAKE_ODOM, 4: GPS, 5: RTK, 6: UWB

control/maximum_safe_vel_xy:

参数说明: XY轴最大安全速度

单位: 米/秒

数据类型: float

默认值: 4.0

备注: 无

control/maximum_safe_vel_z:

参数说明: Z轴最大安全速度

单位: 米/秒

数据类型: float

默认值: 3.0

备注: 无

control/maximum_vel_error_for_vision:

参数说明: 最大vision/px4速度误差

单位: 米/秒

数据类型: float

默认值: 1.0

备注: 无

geo_fence/x_min:

参数说明: 地理围栏X轴最小值

单位: 米

数据类型: float

默认值: -100.0

备注: 位置坐标系为ENU坐标系

geo_fence/x_max:

参数说明: 地理围栏X轴最大值

单位: 米

数据类型: float

默认值: 100.0

备注: 位置坐标系为ENU坐标系

geo_fence/y_min:

参数说明: 地理围栏Y轴最小值

单位: 米

数据类型: float

默认值: -100.0

备注: 位置坐标系为ENU坐标系

geo_fence/y_max:

参数说明: 地理围栏Y轴最大值

单位: 米

数据类型: float

默认值: 100.0

备注: 位置坐标系为ENU坐标系

geo_fence/z_min:

参数说明: 地理围栏Z轴最小值

单位: 米

数据类型: float

默认值: -100.0

备注: 位置坐标系为ENU坐标系

geo_fence/z_max:

参数说明: 地理围栏Z轴最大值

单位: 米

数据类型: float

默认值: 100.0

备注: 位置坐标系为ENU坐标系

以上资料来自于网络,如有侵权,请联系删除!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值