Develop #5
@@ -85,6 +85,7 @@ def signal_handler(sig, frame):
|
|||||||
|
|
||||||
signal.signal(signal.SIGINT, signal_handler)
|
signal.signal(signal.SIGINT, signal_handler)
|
||||||
|
|
||||||
|
<<qr_function>>
|
||||||
|
|
||||||
def main():
|
def main():
|
||||||
navigate_wait(z=1,frame_id='body',auto_arm=True) #должно быть. включает моторы и поднимает дрон на метр вверх
|
navigate_wait(z=1,frame_id='body',auto_arm=True) #должно быть. включает моторы и поднимает дрон на метр вверх
|
||||||
|
|||||||
@@ -14,13 +14,3 @@ class QrDetect():
|
|||||||
|
|
||||||
if barcodes:
|
if barcodes:
|
||||||
self.qr_data = barcodes[0].data.decode('utf-8')
|
self.qr_data = barcodes[0].data.decode('utf-8')
|
||||||
|
|
||||||
|
|
||||||
#в MAIN для вызова функции необходимо следующее:
|
|
||||||
#1. создаём и вызываем подписчика, который вызывает функцию чтения кьюаркода
|
|
||||||
qd = QrDetect()
|
|
||||||
qr_sub = rospy.Subscriber('main_camera/image_raw',Image, qd.qr_detection,queue_size=1)
|
|
||||||
#2. задаём время работы подписчика (за 1 секунду примерно 20 раз вызывается функция)
|
|
||||||
rospy.sleep(2)
|
|
||||||
#3. выключаем подписчика
|
|
||||||
qr_sub.unregister()
|
|
||||||
|
|||||||
+26
@@ -11,6 +11,14 @@ const clickCount = ref(1); // Счетчик нажатий
|
|||||||
const listOfTrips = ref([]);
|
const listOfTrips = ref([]);
|
||||||
const isModalVisible = ref(false);
|
const isModalVisible = ref(false);
|
||||||
let finallyText = "";
|
let finallyText = "";
|
||||||
|
const qr_sub_text = [
|
||||||
|
"\tqd = QrDetect()\n",
|
||||||
|
"\tqr_sub = rospy.Subscriber('main_camera/image_raw',Image, qd.qr_detection,queue_size=1)\n",
|
||||||
|
"\trospy.sleep(2)\n",
|
||||||
|
"\tqr_sub.unregister()\n"
|
||||||
|
];
|
||||||
|
let is_qr_used = 0;
|
||||||
|
let head = "";
|
||||||
|
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
for (let i = 0; i < 100; i++) {
|
for (let i = 0; i < 100; i++) {
|
||||||
@@ -49,13 +57,31 @@ function saveResult() {
|
|||||||
let navigate_waites = "";
|
let navigate_waites = "";
|
||||||
for (const item of listOfTrips.value) {
|
for (const item of listOfTrips.value) {
|
||||||
navigate_waites += `\tnavigate_wait(${item.x}, ${item.y})\n`;
|
navigate_waites += `\tnavigate_wait(${item.x}, ${item.y})\n`;
|
||||||
|
if (item.x===1 && item.y === 1) {
|
||||||
|
navigate_waites += qr_sub_text.join('')
|
||||||
|
is_qr_used=1
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fetch("/shablons/emergency_and_navigate.txt")
|
fetch("/shablons/emergency_and_navigate.txt")
|
||||||
.then((response) => response.text())
|
.then((response) => response.text())
|
||||||
.then((textOfCode) => {
|
.then((textOfCode) => {
|
||||||
finallyText = textOfCode.replace("<<navigate_wait>>", navigate_waites);
|
finallyText = textOfCode.replace("<<navigate_wait>>", navigate_waites);
|
||||||
});
|
});
|
||||||
isModalVisible.value = true;
|
isModalVisible.value = true;
|
||||||
|
if (is_qr_used === 1) {
|
||||||
|
Qr_head()
|
||||||
|
is_qr_used +=1
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function Qr_head() {
|
||||||
|
fetch("/shablons/qr.txt")
|
||||||
|
.then((response) => response.text())
|
||||||
|
.then((textOfCode) => {
|
||||||
|
head = textOfCode;
|
||||||
|
finallyText = finallyText.replace("<<qr_function>>", head);
|
||||||
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function cancel() {
|
function cancel() {
|
||||||
|
|||||||
Reference in New Issue
Block a user