Sunray地面站主界面1
- 标注1: 从上到下分别是切换智能体类型,智能体状态灯和选择智能体下拉框,断开智能体连接按钮。
- 智能体状态灯有红绿两种状态,红色为未连接当前智能体,绿色为已连接当前智能体。
- 选择智能体下拉框可以切换当前控制的智能体。
- 断开连接按钮按下可以断开当前控制智能体的连接。
- 标注2: 无人机基本状态信息(对应机载程序中的
~/sunray/uav_state话题),包括了无人机ID(uav_id)、电量(battery_statebattery_percetage)、连接状态(connected)、解锁状态(armed)、控制/指令模式(control_mode)、PX4模式(move_mode)、无人机的定位来源(location_source)、定位源状态(odom_valid)、位置(position)、速度(velocity)、姿态(attitude)、期望位置(pos_setpoint)、期望速度(vel_setpoint)、期望姿态(att_setpoint)、降落状态(landed_state)、移动模式(move_mode)数据。- 连接状态指的是机载电脑和飞控的连接状态。
- 位置、速度、姿态都是px4融合出来的数据。
- 期望位置、期望速度、期望姿态都是PX4回传的数据。
- 当期望位置显示为NULL时表示PX4当前没有处于位置控制状态。
- 控制模式显示如表1-1,指令模式显示如表1-2,PX4模式显示如表1-3,定位来源如表1-4。
| 控制模式 | 显示 |
|---|---|
| 惯性系定点控制 | XyzPos |
| 惯性系速度控制 | XyzVel |
| 惯性系定高速度控制 | XyVelZPos |
| 惯性系定点控制带偏航角 | XyzPosYaw |
| 惯性系定点控制带偏航角速率 | XyzPosYawrate |
| 惯性系速度控制带偏航角 | XyzVelYaw |
| 惯性系速度控制带偏航角速率 | XyzVelYawrate |
| 惯性系定高速度控制带偏航角 | XyVelZPosYaw |
| 惯性系定高速度控制偏航角速率 | XyVelZPosYawrate |
| 惯性系位置速度复合控制带偏航角 | XyzPosVelYaw |
| 惯性系位置速度复合控制偏航角速率 | XyzPosVelYawrate |
| 惯性系位置速度加速度复合控制带偏航角 | PosVelAccYaw |
| 惯性系位置速度加速度复合控制偏航角速率 | PosVelAccYawrate |
| 机体系位置控制 | XyzPosYawBody |
| 机体系速度控制 | XyzVelYawBody |
| 机体系定高速度控制 | XyVelZPosYawBody |
| 经纬度 | GlobalPos |
| 表1-1 控制模式与显示对应关系 | |
| 指令模式 | 显示 |
|---|---|
| 初始模式 | INIT |
| 遥控器控制模式 | RC_CONTROL |
| 外部指令控制模式 | CMD_CONTROL |
| 降落模式 | LAND_CONTROL |
| 表1-2 指令模式与显示对应关系 | |
| PX4模式 | 显示 |
|---|---|
| 手动模式 | MANUAL |
| 稳定模式 | STABILIZED |
| 特技飞行模式 | ACRO |
| 姿态模式 | RATTITUDE |
| 定高模式 | ALTITUDE |
| 外部控制模式 | OFFBOARD |
| 位置模式 | POSITION |
| 悬停模式 | HOLD |
| 任务模式 | MISSION |
| 返航模式 | RETURN |
| 跟随模式 | FOLLOW ME |
| 精确降落模式 | PRECISION LAND |
| 表1-3 PX4模式与显示对应关系 | |
| 定位来源 | 显示 |
|---|---|
| 里程计 | ODOM |
| 姿态 | POSE |
| 仿真 | GAZEBO |
| 动捕 | MOCAP |
| Viobot | VIOBOT |
| GPS | GPS |
| RTK | RTK |
| VINS | VINS |
| 表1-4 定位来源与显示对应关系 | |
- 标注3: 连接按钮和设置按钮。
- 点击连接按钮会弹出对应的弹窗。
- 点击设置按钮,标注7、8、9区域会切换到设置界面,设置按钮会变成绿色;再次点击设置按钮,设置界面会切回标注7、8、9区域,设置按钮变绿色;
- 版本号。
- 脚本配置按钮,点击时会弹出脚本配置弹窗。
- UDP端口配置按钮,点击时会弹出UDP端口配置弹窗。
- 电子围栏配置按钮,点击时会弹出电子围栏配置弹窗。
- 电子围栏显示开关,可以开启和关闭平面地图上的电子围栏显示。
-
标注4: 切换功能区按钮。
- 回传视频,拉取智能体视频流并显示。
- 标注5-2: 显示视频。
- 标注6-2: 流媒体服务器开关在开启的状态下,在输入框输入拉流地址,点击确认,开始拉取视频流(视频有延时)。
- 流媒体服务器开关和服务器终端开关这两个设置,重启软件后生效。
- 服务器终端一般不开启,在调试模式中才开启。
- 目前只能显示一个视频流。
回传视频界面
流媒体服务器终端显示 - 数据监控,显示接收的原始数据。
- 标注5-3: 切换数据类型。
- 标注6-3: 显示接收的原始数据。
数据监控界面 - 集群控制,控制整个智能体集群。
- 标注5-4: 一键控制,一键控制所有已连接的在线智能体。自定义消息
sunray_msgs::Formation与一键控制按钮的对应关系:一键起飞(sunray_msgs::Formation::TAKEOFF)、设置原点(sunray_msgs::Formation::SET_HOME)、一键停止(sunray_msgs::Formation::HOVER)、一键降落(sunray_msgs::Formation::LAND)、一键返航(sunray_msgs::Formation::RETURN_HOME)。 - 标注6-4: 集群编队,控制智能体集群编队。自定义消息
sunray_msgs::Formation与集群编队按钮的对应关系:三角形(sunray_msgs::Formation::STATICsunray_msgs::Formation::name=triangle)、横向一字阵型(sunray_msgs::Formation::STATICsunray_msgs::Formation::name=line_horizontal)、动态圆形阵型(sunray_msgs::Formation::DYNAMICsunray_msgs::Formation::name=circle)、领队模式(sunray_msgs::Formation::LEADER)、四边形(sunray_msgs::Formation::STATICsunray_msgs::Formation::name=square)、纵向一字阵型(sunray_msgs::Formation::STATICsunray_msgs::Formation::name=line_vertical)、动态八字阵型(sunray_msgs::Formation::DYNAMICsunray_msgs::Formation::name=figure_eight)。
- 标注5-4: 一键控制,一键控制所有已连接的在线智能体。自定义消息
集群控制界面 - 回传视频,拉取智能体视频流并显示。
-
标注5: 从左往右为:
- 指点类型(目标点/规划点)的单选框。
- 指定的高度输入框。
- 指点的偏航角输入框(-180~180)。
- 平面地图的智能体位置数据的显示开关。
- 平面地图的智能体轨迹的显示开关。
- +号按钮按下平面地图缩小。
- -号按钮按下平面地图放。
-
标注6: 平面地图区域。
- 鼠标滚轮向后,缩小地图。
- 鼠标滚轮向前,放大地图。
平面地图界面 -
标注7: 无人机设置。
- 自定义消息
sunray_msgs::UAVSetup与控制按钮的对应关系:解锁(sunray_msgs::UAVSetup::DISARM)、上锁(sunray_msgs::UAVSetup::ARM)、指令控制(sunray_msgs::UAVSetup::SET_CONTROL_MODE)、紧急上锁(sunray_msgs::UAVSetup::EMERGENCY_KILL)。
- 自定义消息
-
标注8: 无人机控制。
- 自定义消息
sunray_msgs::UAVControlCMD与控制按钮的对应关系:起飞(sunray_msgs::UAVControlCMD::Takeoff)、降落(sunray_msgs::UAVControlCMD::Land)、悬停(sunray_msgs::UAVControlCMD::Hover)、返航(sunray_msgs::UAVControlCMD::Return)、执行航点(sunray_msgs::UAVControlCMD::Waypoint)。 - 航点设置。点击会弹出航点设置弹窗。
- 自定义消息
-
标注9: 移动模式
- 当前无人车的移动模式控制,移动模式下拉框。
- 旁边的?鼠标移动到那会显示选中的移动模式对应的解释,不同的移动模式详见下表1-5。
| 移动模式 | 下拉框 |
|---|---|
| 惯性系定点控制 | XyzPos |
| 惯性系速度控制 | XyzVel |
| 惯性系定高速度控制 | XyVelZPos |
| 惯性系定点控制带偏航角 | XyzPosYaw |
| 惯性系速度控制带偏航角 | XyzVelYaw |
| 惯性系定高速度控制带偏航角 | XyVelZPosYaw |
| 机体系位置控制 | XyzPosYawBody |
| 机体系速度控制 | XyzVelYawBody |
| 机体系定高速度控制 | XyVelZPosYawBody |
| 经纬度 | GlobalPos |
| 路径规划的目标点 | Point |
| 惯性系定点控制带偏航角 | CTRLXyzPos |
| 表1-5 移动模式与下拉框对应关系 | |
-
标注10: 启动脚本
- 选择下拉框中的脚本选项。
- 鼠标移动到旁边的问号会显示当前选中的脚本名字。
- 真机为机载scripts_exp文件夹下的脚本,仿真为机载scripts_sim文件夹下的脚本。
- 点击执行脚本,会在当前选中智能体的机载上执行脚本。
启动脚本界面
-
标注11: 机载电脑ROS节点
- 当前选中智能体的机载电脑在线ROS节点。
-
标注12: 显示机载电脑性能
- 显示当前选中智能体的机载电脑性能
- 虚拟机中无法获取到CPU温度。
Sunray地面站主界面2
- 标注13: 无人车基本状态信息(对应机载程序中的
~/sunray_ugv/ugv_state话题),包括了无人车ID(ugv_id)、电量(battery_statebattery_percetage)、连接状态(connected)、控制模式(control_mode)、无人车定位来源(location_source)、定位源状态(odom_valid)、位置(position)、速度(velocity)、姿态(attitude)、期望位置(pos_setpoint)、期望速度(vel_setpoint)、期望姿态(att_setpoint)数据。 - 标注14: 停止和移动模式。
- 自定义消息
sunray_msgs::UGVControlCMD与控制按钮的对应关系:停止(sunray_msgs::UGVControlCMD::HOLD)。 - 移动模式
- 当前无人机的移动模式控制,移动模式下拉框。
- 旁边的?鼠标移动到那会显示选中的移动模式对应的解释,不同的移动模式详见下表1-6。
- 自定义消息
| 移动模式 | 下拉框 |
|---|---|
| 惯性系位置控制 | PosControl |
| 惯性系速度控制 | VelControl |
| 车体系速度控制 | VelControlBody |
| Astar避障控制 | PointControlWithAstar |
| 惯性系位置速度复合控制 | PosVelControl |
| 表1-6 移动模式与下拉框对应关系 | |
设备列表界面说明
- 标注1: 搜索无人机按钮。
- 显示搜索无人机状态(绿色的两个箭头旋转时就表示现在正在搜索在线无人机,绿色的两个箭头静止不动时就表示是没有在搜索在线无人机)。
- 界面弹出时会自动搜索在线无人机10秒左右。
- 需要重新搜索时可以点击这个搜索无人机按钮,会开始搜索在线无人机10秒。
- 标注2: 显示当前UDP监听端口和当前UDP目标(机载)端口。
- UDP监听端口需要和ground_control.launch文件里的udp_ground_port参数一样。
- UDP目标(机载)端口需要和ground_control.launch文件里的udp_port参数一样。
- 当有任意一个端口不一样时,就无法搜索到无人机进而建立连接。需要在UDP端口配置界面重新配置UDP端口。
- 标注3:搜索到的在线无人机列表,显示在线无人机的ID、IP、TCP端口。
- 标注4:
- 连接,在标注3区域的无人机列表上鼠标点击要连接的在线无人机,然后点击连接,设备列表界面关闭,会有提示框提示连接结果。
- 取消,关闭连接界面。
UDP配置界面
- 标注1: UDP监听端口输入框,灰色的字体为提示当前监听端口。
- 输入的端口号需要和ground_control.launch文件里的udp_ground_port参数一样。
- 只使用注册端口1024 到 49151。
- 端口范围0 到 65535,0 到 1023为公认端口,1024 到 49151为注册端口, 49152 到 65535为私有端口。
- 标注2: UDP目的(机载)端口输入框,灰色的字体为提示当前目的端口。
- 输入的端口号需要和ground_control.launch文件里的udp_port参数一样。
- 只使用注册端口1024 到 49151。
- 标注3: 配置点击后会配置对应端口,并将配置的端口保存到本地文件,可以单独配置一种端口,也可以两种端口一起配置。取消按钮,关闭UDP端口配置界面。
脚本配置界面
- 标注1:从左往右分别是:+添加脚本命令;选择脚本类型;脚本文件名输入框。
- ID不用输,自动生成。
- 脚本类型,真机为机载scripts_exp文件夹下的脚本,仿真为机载scripts_sim文件夹下的脚本。
- 选择脚本类型,输入脚本文件名,点击+号按钮添加命令到标注2区域的命令列表里;
- 全部添加完成,点击确认,保存。
- 标注2: 脚本列表,显示添加的脚本。
- 标注3
- 删除,在标注2的脚本列表里选择要删除的脚本,可以单选也可以多选,然后按下删除,删除对应的命令。
- 确认按下后关闭脚本配置界面,保存到本地文件,同时将脚本命令同步到脚本下拉框。
航点配置界面
- 标注1: 从左往右依次为:航点类型单选框、结束事件下拉框、移动速度输入框、起降高度输入框。
- 结束事件下拉框有悬停、降落、返航三种选项。
- 移动速度输入框和起降高度默认值为1,且不能为空。
- 标注2: 偏航角类型下拉框,环绕点X和Y输入框。
- 偏航角类型下拉框有固定值、下一航点、环绕点三种选择当。
- 选择固定值时需要输入标注3区域的Yaw值(偏航角),环绕点X和Y输入框禁用;
- 当选择下一航点时环绕点X和Y输入框禁用,标注3区域的Yaw值(偏航角)输入框也禁用,机头会始终朝向下一个航点。
- 当选择环绕点时,需要输入环绕点X和Y的值,机头会始终朝向环绕点,标注3区域的Yaw值(偏航角)输入框禁用。
- 偏航角类型下拉框有固定值、下一航点、环绕点三种选择当。
- 标注3: 从左往右依次为:-、+、准备添加的航点、对应的X、Y、Z、Yaw四个输入框。
- Yaw输入框默认值为0,输入范围为-180°~180°。
- X、Y、Z三个输入框参数不能为空。
- 填完三个或四个参数后点击+号按钮将航点添加到标注4区域的航点列表里。
- 添加的航点上线为10个航点。
- -按下会删除最靠后的一个航点,标注4区域的航点列表也会减少对应的航点。
- 标注4: 航点列表,显示已添加的航点参数。
- 标注5:
- 上传会将航点数据发送给当前控制的无人机,同时保存到本地文件,并关闭界面;
- 取消会清空这次编辑数据,不发送给无人机,也不保存到本地,然后关闭界面。