无人狗前端界面完善

main
huaijin 1 week ago
parent 7d2e906199
commit d446c2d177

@ -29,6 +29,7 @@ SOURCES += \
src/core/database/DatabaseHelper.cpp \ src/core/database/DatabaseHelper.cpp \
src/ui/main/MainWindow.cpp \ src/ui/main/MainWindow.cpp \
src/ui/dialogs/DeviceDialog.cpp \ src/ui/dialogs/DeviceDialog.cpp \
src/ui/dialogs/RobotDogControlDialog.cpp \
src/ui/components/DeviceCard.cpp \ src/ui/components/DeviceCard.cpp \
src/ui/components/DeviceListPanel.cpp \ src/ui/components/DeviceListPanel.cpp \
src/ui/components/SystemLogPanel.cpp \ src/ui/components/SystemLogPanel.cpp \
@ -47,6 +48,7 @@ HEADERS += \
include/core/database/DatabaseHelper.h \ include/core/database/DatabaseHelper.h \
include/ui/main/MainWindow.h \ include/ui/main/MainWindow.h \
include/ui/dialogs/DeviceDialog.h \ include/ui/dialogs/DeviceDialog.h \
include/ui/dialogs/RobotDogControlDialog.h \
include/ui/components/DeviceCard.h \ include/ui/components/DeviceCard.h \
include/ui/components/DeviceListPanel.h \ include/ui/components/DeviceListPanel.h \
include/ui/components/SystemLogPanel.h \ include/ui/components/SystemLogPanel.h \

@ -34,6 +34,11 @@
#include <QCheckBox> #include <QCheckBox>
#include <QTimer> #include <QTimer>
#include <QFrame> #include <QFrame>
#include <QProcess>
#include <QWidget>
#include <QWindow>
#include <QApplication>
#include <QStackedLayout>
/** /**
* @class RobotDogControlDialog * @class RobotDogControlDialog
@ -59,44 +64,34 @@ public:
signals: signals:
/** /**
* @brief * @brief
*/ */
void startMapping(); void startSlamRadar();
/** /**
* @brief * @brief
*/ */
void stopMapping(); void stopSlamRadar();
/** /**
* @brief * @brief
*/ */
void startNavigation(); void startRadarMapping();
/** /**
* @brief * @brief
*/ */
void stopNavigation(); void stopRadarMapping();
/** /**
* @brief * @brief
*/ */
void startPhotoTransmission(); void startAutoNavMapping();
/** /**
* @brief * @brief
*/ */
void stopPhotoTransmission(); void stopAutoNavMapping();
/**
* @brief
*/
void startPersonRecognition();
/**
* @brief
*/
void stopPersonRecognition();
public slots: public slots:
/** /**
@ -149,29 +144,24 @@ private slots:
void onJumpClicked(); void onJumpClicked();
/** /**
* @brief * @brief
*/
void onMappingToggle();
/**
* @brief
*/ */
void onNavigationToggle(); void onEmergencyStop();
/** /**
* @brief * @brief
*/ */
void onPhotoTransmissionToggle(); void onSlamRadarToggle();
/** /**
* @brief * @brief
*/ */
void onPersonRecognitionToggle(); void onRadarMappingToggle();
/** /**
* @brief * @brief
*/ */
void onEmergencyStop(); void onAutoNavMappingToggle();
private: private:
/** /**
@ -224,12 +214,14 @@ private:
// 任务控制模块 // 任务控制模块
QGroupBox *m_missionControlGroup; QGroupBox *m_missionControlGroup;
QPushButton *m_mappingBtn; QPushButton *m_slamRadarBtn;
QPushButton *m_navigationBtn; QPushButton *m_radarMappingBtn;
QPushButton *m_photoBtn; QPushButton *m_autoNavMappingBtn;
QPushButton *m_recognitionBtn;
QComboBox *m_missionModeCombo; QComboBox *m_missionModeCombo;
// 雷达显示组件
QLabel *m_radarDisplayLabel;
// 状态监控模块 // 状态监控模块
QGroupBox *m_statusGroup; QGroupBox *m_statusGroup;
QLabel *m_batteryLabel; QLabel *m_batteryLabel;
@ -241,15 +233,46 @@ private:
QTextEdit *m_logTextEdit; QTextEdit *m_logTextEdit;
// 状态变量 // 状态变量
bool m_isMappingActive;
bool m_isNavigationActive;
bool m_isPhotoTransmissionActive;
bool m_isPersonRecognitionActive;
bool m_isMoving; bool m_isMoving;
QString m_currentPosture; QString m_currentPosture;
// 雷达状态变量
bool m_isSlamRadarActive;
bool m_isRadarMappingActive;
bool m_isAutoNavMappingActive;
// 定时器 // 定时器
QTimer *m_statusUpdateTimer; QTimer *m_statusUpdateTimer;
// SSH连接和命令执行
QProcess *m_sshProcess;
QString m_radarHost;
QString m_radarUser;
QString m_radarPassword;
// 雷达建图进程(本地执行)
QProcess *m_radarMappingProcess;
// 自动导航建图进程(本地执行)
QProcess *m_autoNavMappingProcess;
// 私有方法
void executeSlamRadarCommands();
void stopSlamRadarProcess();
void onSshProcessFinished(int exitCode, QProcess::ExitStatus exitStatus);
void onSshProcessError(QProcess::ProcessError error);
// 雷达建图相关方法
void executeRadarMappingCommands();
void stopRadarMappingProcess();
void onRadarMappingProcessFinished(int exitCode, QProcess::ExitStatus exitStatus);
void onRadarMappingProcessError(QProcess::ProcessError error);
// 自动导航建图相关方法
void executeAutoNavMappingCommands();
void stopAutoNavMappingProcess();
void onAutoNavMappingProcessFinished(int exitCode, QProcess::ExitStatus exitStatus);
void onAutoNavMappingProcessError(QProcess::ProcessError error);
}; };
#endif // ROBOTDOGCONTROLDIALOG_H #endif // ROBOTDOGCONTROLDIALOG_H

@ -44,8 +44,9 @@
#include "ui/components/DeviceListPanel.h" #include "ui/components/DeviceListPanel.h"
#include "ui/components/SystemLogPanel.h" #include "ui/components/SystemLogPanel.h"
#include "ui/components/RightFunctionPanel.h" #include "ui/components/RightFunctionPanel.h"
// #include "ui/dialogs/DroneControlDialog.h" #include "ui/dialogs/DeviceDialog.h"
// #include "ui/dialogs/RobotDogControlDialog.h" #include "ui/dialogs/RobotDogControlDialog.h"
#include "ui/components/DeviceCard.h"
// 标准库头文件 // 标准库头文件
#include <string> #include <string>
@ -357,9 +358,8 @@ private:
QVector<QPair<QString, QString>> m_robotList; ///< 机器人列表(名称-IP地址对 QVector<QPair<QString, QString>> m_robotList; ///< 机器人列表(名称-IP地址对
QVector<QPair<QString, QString>> m_uavList; ///< 无人机列表(名称-IP地址对 QVector<QPair<QString, QString>> m_uavList; ///< 无人机列表(名称-IP地址对
// 控制对话框(暂时注释掉以避免编译问题) // 控制对话框
// DroneControlDialog *m_droneControlDialog; ///< 无人机控制对话框 RobotDogControlDialog *m_robotDogControlDialog; ///< 机器狗控制对话框
// RobotDogControlDialog *m_robotDogControlDialog; ///< 机器狗控制对话框
// 人脸识别相关成员变量已移除(功能暂未实现) // 人脸识别相关成员变量已移除(功能暂未实现)
}; };

File diff suppressed because it is too large Load Diff

@ -136,7 +136,7 @@ Visualization Manager:
Shaft Length: 0.8 Shaft Length: 0.8
Shaft Radius: 0.05000000074505806 Shaft Radius: 0.05000000074505806
Value: Arrow Value: Arrow
Topic: /robot_odom Topic: /robot_pose
Unreliable: false Unreliable: false
Value: true Value: true
@ -144,7 +144,7 @@ Visualization Manager:
- Alpha: 1 - Alpha: 1
Axes Length: 0.8 Axes Length: 0.8
Axes Radius: 0.08 Axes Radius: 0.08
Class: rviz/PoseWithCovariance Class: rviz/Pose
Color: 255; 25; 0 Color: 255; 25; 0
Enabled: true Enabled: true
Head Length: 0.30000001192092896 Head Length: 0.30000001192092896
@ -154,7 +154,7 @@ Visualization Manager:
Shaft Length: 1.2 Shaft Length: 1.2
Shaft Radius: 0.08 Shaft Radius: 0.08
Shape: Arrow Shape: Arrow
Topic: /robot_pose Topic: /robot_pose_arrow
Unreliable: false Unreliable: false
Value: true Value: true

Loading…
Cancel
Save