Obtener la posición del objeto lidar multilínea de rviz: formulario de interfaz de usuario

# -*- coding: utf-8 -*-

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName("MainWindow")
        MainWindow.resize(889, 761)
        self.centralwidget = QtWidgets.QWidget(MainWindow)
        self.centralwidget.setObjectName("centralwidget")
        self.tableWidget = QtWidgets.QTableWidget(self.centralwidget)
        self.tableWidget.setGeometry(QtCore.QRect(80, 70, 751, 621))
        self.tableWidget.setObjectName("tableWidget")
        self.tableWidget.setColumnCount(7)
        self.tableWidget.setRowCount(18)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(3, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(4, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(5, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(6, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(7, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(8, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(9, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(10, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(11, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(12, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(13, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(14, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(15, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(16, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setVerticalHeaderItem(17, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(0, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(1, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(2, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(3, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(4, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(5, item)
        item = QtWidgets.QTableWidgetItem()
        self.tableWidget.setHorizontalHeaderItem(6, item)
        self.uwb = QtWidgets.QLabel(self.centralwidget)
        self.uwb.setGeometry(QtCore.QRect(280, 0, 379, 78))
        self.uwb.setObjectName("uwb")
        self.one = QtWidgets.QLabel(self.centralwidget)
        self.one.setGeometry(QtCore.QRect(0, 100, 91, 21))
        self.one.setObjectName("one")
        self.two = QtWidgets.QLabel(self.centralwidget)
        self.two.setGeometry(QtCore.QRect(0, 280, 91, 21))
        self.two.setObjectName("two")
        self.three = QtWidgets.QLabel(self.centralwidget)
        self.three.setGeometry(QtCore.QRect(0, 460, 91, 21))
        self.three.setObjectName("three")
        self.start = QtWidgets.QPushButton(self.centralwidget)
        self.start.setGeometry(QtCore.QRect(240, 700, 111, 31))
        self.start.setObjectName("start")
        self.close = QtWidgets.QPushButton(self.centralwidget)
        self.close.setGeometry(QtCore.QRect(550, 700, 111, 31))
        self.close.setObjectName("close")
        self.listView = QtWidgets.QListView(self.centralwidget)
        self.listView.setGeometry(QtCore.QRect(190, 650, 521, 31))
        self.listView.setObjectName("listView")
        MainWindow.setCentralWidget(self.centralwidget)
        self.statusbar = QtWidgets.QStatusBar(MainWindow)
        self.statusbar.setObjectName("statusbar")
        MainWindow.setStatusBar(self.statusbar)

        self.retranslateUi(MainWindow)
        self.close.clicked.connect(MainWindow.close)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)

    def retranslateUi(self, MainWindow):
        _translate = QtCore.QCoreApplication.translate
        MainWindow.setWindowTitle(_translate("MainWindow", "激光雷达标定"))
        item = self.tableWidget.verticalHeaderItem(0)
        item.setText(_translate("MainWindow", "A,B"))
        item = self.tableWidget.verticalHeaderItem(1)
        item.setText(_translate("MainWindow", "C,D"))
        item = self.tableWidget.verticalHeaderItem(2)
        item.setText(_translate("MainWindow", "A,B"))
        item = self.tableWidget.verticalHeaderItem(3)
        item.setText(_translate("MainWindow", "C,D"))
        item = self.tableWidget.verticalHeaderItem(4)
        item.setText(_translate("MainWindow", "A,B"))
        item = self.tableWidget.verticalHeaderItem(5)
        item.setText(_translate("MainWindow", "C,D"))
        item = self.tableWidget.verticalHeaderItem(6)
        item.setText(_translate("MainWindow", "A,B"))
        item = self.tableWidget.verticalHeaderItem(7)
        item.setText(_translate("MainWindow", "C,D"))
        item = self.tableWidget.verticalHeaderItem(8)
        item.setText(_translate("MainWindow", "A,B"))
        item = self.tableWidget.verticalHeaderItem(9)
        item.setText(_translate("MainWindow", "C,D"))
        item = self.tableWidget.verticalHeaderItem(10)
        item.setText(_translate("MainWindow", "A,B"))
        item = self.tableWidget.verticalHeaderItem(11)
        item.setText(_translate("MainWindow", "C,D"))
        item = self.tableWidget.verticalHeaderItem(12)
        item.setText(_translate("MainWindow", "A,B"))
        item = self.tableWidget.verticalHeaderItem(13)
        item.setText(_translate("MainWindow", "C,D"))
        item = self.tableWidget.verticalHeaderItem(14)
        item.setText(_translate("MainWindow", "A,B"))
        item = self.tableWidget.verticalHeaderItem(15)
        item.setText(_translate("MainWindow", "C,D"))
        item = self.tableWidget.verticalHeaderItem(16)
        item.setText(_translate("MainWindow", "A,B"))
        item = self.tableWidget.verticalHeaderItem(17)
        item.setText(_translate("MainWindow", "C,D"))
        item = self.tableWidget.horizontalHeaderItem(0)
        item.setText(_translate("MainWindow", "x"))
        item = self.tableWidget.horizontalHeaderItem(1)
        item.setText(_translate("MainWindow", "y"))
        item = self.tableWidget.horizontalHeaderItem(2)
        item.setText(_translate("MainWindow", "z"))
        item = self.tableWidget.horizontalHeaderItem(3)
        item.setText(_translate("MainWindow", "x"))
        item = self.tableWidget.horizontalHeaderItem(4)
        item.setText(_translate("MainWindow", "y"))
        item = self.tableWidget.horizontalHeaderItem(5)
        item.setText(_translate("MainWindow", "z"))
        item = self.tableWidget.horizontalHeaderItem(6)
        item.setText(_translate("MainWindow", "边长"))
        self.uwb.setText(_translate("MainWindow", "<html><head/><body><p><span style=\" font-size:18pt;\">多线激光雷达数据采集测试</span></p></body></html>"))
        self.one.setText(_translate("MainWindow", "近距离采集"))
        self.two.setText(_translate("MainWindow", "中距离采集"))
        self.three.setText(_translate("MainWindow", "远距离采集"))
        self.start.setText(_translate("MainWindow", "开始测试"))
        self.close.setText(_translate("MainWindow", "退出测试"))

La ventana secundaria es la siguiente:

# -*- coding: utf-8 -*-

from PyQt5 import QtCore, QtGui, QtWidgets

class Ui_Dialog(object):
    def setupUi(self, Dialog):
        Dialog.setObjectName("Dialog")
        Dialog.resize(827, 564)
        self.tabWidget = QtWidgets.QTabWidget(Dialog)
        self.tabWidget.setGeometry(QtCore.QRect(0, 30, 771, 491))
        self.tabWidget.setObjectName("tabWidget")
        self.tab_2 = QtWidgets.QWidget()
        self.tab_2.setObjectName("tab_2")
        self.next_page_one = QtWidgets.QPushButton(self.tab_2)
        self.next_page_one.setGeometry(QtCore.QRect(620, 380, 89, 25))
        self.next_page_one.setObjectName("next_page_one")
        self.label = QtWidgets.QLabel(self.tab_2)
        self.label.setGeometry(QtCore.QRect(10, 10, 521, 411))
        self.label.setObjectName("label")
        self.tabWidget.addTab(self.tab_2, "")
        self.tab = QtWidgets.QWidget()
        self.tab.setObjectName("tab")
        self.next_page_two = QtWidgets.QPushButton(self.tab)
        self.next_page_two.setGeometry(QtCore.QRect(630, 380, 89, 25))
        self.next_page_two.setObjectName("next_page_two")
        self.label_2 = QtWidgets.QLabel(self.tab)
        self.label_2.setGeometry(QtCore.QRect(40, 20, 591, 341))
        self.label_2.setObjectName("label_2")
        self.tabWidget.addTab(self.tab, "")
        self.tab_3 = QtWidgets.QWidget()
        self.tab_3.setObjectName("tab_3")
        self.widget_2 = QtWidgets.QWidget(self.tab_3)
        self.widget_2.setGeometry(QtCore.QRect(20, -50, 791, 611))
        self.widget_2.setObjectName("widget_2")
        self.label_3 = QtWidgets.QLabel(self.widget_2)
        self.label_3.setGeometry(QtCore.QRect(0, 50, 601, 401))
        self.label_3.setObjectName("label_3")
        self.privious_page = QtWidgets.QPushButton(self.widget_2)
        self.privious_page.setGeometry(QtCore.QRect(470, 430, 89, 25))
        self.privious_page.setObjectName("privious_page")
        self.OK = QtWidgets.QPushButton(self.widget_2)
        self.OK.setGeometry(QtCore.QRect(590, 430, 89, 25))
        self.OK.setObjectName("OK")
        self.picture_point = QtWidgets.QPushButton(self.widget_2)
        self.picture_point.setGeometry(QtCore.QRect(580, 110, 89, 25))
        self.picture_point.setObjectName("picture_point")
        self.tabWidget.addTab(self.tab_3, "")
        self.tab_6 = QtWidgets.QWidget()
        self.tab_6.setObjectName("tab_6")
        self.picture_text = QtWidgets.QLabel(self.tab_6)
        self.picture_text.setGeometry(QtCore.QRect(0, 0, 691, 441))
        self.picture_text.setText("")
        self.picture_text.setObjectName("picture_text")
        self.index_6_return = QtWidgets.QPushButton(self.tab_6)
        self.index_6_return.setGeometry(QtCore.QRect(700, 410, 61, 31))
        self.index_6_return.setObjectName("index_6_return")
        self.tabWidget.addTab(self.tab_6, "")

        self.retranslateUi(Dialog)
        self.tabWidget.setCurrentIndex(0)
        self.OK.clicked.connect(Dialog.close)
        QtCore.QMetaObject.connectSlotsByName(Dialog)

    def retranslateUi(self, Dialog):
        _translate = QtCore.QCoreApplication.translate
        Dialog.setWindowTitle(_translate("Dialog", "操作步骤"))
        self.next_page_one.setText(_translate("Dialog", "下一页"))
        self.label.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:18pt;\">说明:</span></p><p><span style=\" font-size:18pt;\">本方法可用于测量激光雷达的实际偏差。</span></p><p><span style=\" font-size:18pt;\">对于激光雷达到一个目标点的距离,</span></p><p><span style=\" font-size:18pt;\">通过比较激光雷达测量结果与</span></p><p><span style=\" font-size:18pt;\">人为测量结果两者的偏差,</span></p><p><span style=\" font-size:18pt;\">得到激光雷达的远,中,近的测量偏差,</span></p><p><span style=\" font-size:18pt;\">以此判断该激光雷达的实际测量精度。</span></p><p><br/></p><p><br/></p></body></html>"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_2), _translate("Dialog", "1"))
        self.next_page_two.setText(_translate("Dialog", "下一步"))
        self.label_2.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:16pt;\">任务流程:</span></p><p><span style=\" font-size:16pt;\">1:将车放置于原点。</span></p><p><span style=\" font-size:16pt;\">2:将目标板朝向车头的激光雷达放置于2.5m的距离点上</span></p><p><span style=\" font-size:16pt;\">有效值(2.5m~80m)</span></p><p><span style=\" font-size:16pt;\">3:根据车的模型与实际场地找到目标板的点云图</span></p><p><span style=\" font-size:16pt;\">鼠标滚轮控制放大缩小,按住调整视角位置</span></p><p><span style=\" font-size:16pt;\">左键调整视角</span></p><p><span style=\" font-size:16pt;\">完成上述任务后点击下一步。</span></p><p><br/></p></body></html>"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab), _translate("Dialog", "2"))
        self.label_3.setText(_translate("Dialog", "<html><head/><body><p><span style=\" font-size:16pt;\">4:用</span><span style=\" font-family:\'等线, serif\'; font-size:16pt;\">rviz</span><span style=\" font-size:16pt;\">中的</span><span style=\" font-family:\'等线, serif\'; font-size:16pt;\">point</span><span style=\" font-size:16pt;\">工具点击点云中目标板的四个边角距离,</span></p><p><span style=\" font-size:16pt;\">为了保证测量准确,请尽可能的点击最外侧</span></p><p><span style=\" font-size:16pt;\">按照图片中的1,2,3,4顺序重复测量三次。</span></p><p><span style=\" font-size:16pt;\">每点击一次需再点击一次point工具</span></p><p><span style=\" font-size:16pt;\">5:将目标板放到5m距离测量,重复上述操作。</span></p><p><span style=\" font-size:16pt;\">6:将目标板放到10m距离测量,重复上述操作。</span></p><p><span style=\" font-size:16pt;\">7: 完成上述操作后点击OK退出</span></p></body></html>"))
        self.privious_page.setText(_translate("Dialog", "上一步"))
        self.OK.setText(_translate("Dialog", "OK"))
        self.picture_point.setText(_translate("Dialog", "查看图片"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_3), _translate("Dialog", "3"))
        self.index_6_return.setText(_translate("Dialog", "返回"))
        self.tabWidget.setTabText(self.tabWidget.indexOf(self.tab_6), _translate("Dialog", "4"))

Guess you like

Origin blog.csdn.net/weixin_54062353/article/details/124293590