Develop #5

Merged
IliaMiheev merged 19 commits from develop into master 2026-03-09 19:14:27 +03:00
3 changed files with 28 additions and 11 deletions
Showing only changes of commit 22eab96060 - Show all commits
@@ -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) #должно быть. включает моторы и поднимает дрон на метр вверх
+1 -11
View File
@@ -13,14 +13,4 @@ class QrDetect():
barcodes = pyzbar.decode(cv_image) barcodes = pyzbar.decode(cv_image)
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
View File
@@ -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() {