ym104432846
Вставьте ссылку на видео из Youtube, Rutube, VK видео
Задайте вопрос по видео
Что вас интересует?
00:07:30
Проблемы подключения команд к роботам:
  • 1. Часть студентов узнала о конкурсе от преподавателей кафедры
  • 2. Вторая часть участников узнала о конкурсе впервые год назад
  • 3. Формат конкурса изменился в этом году
00:09:21
Особенности заданий участникам:
  • 1. Участники отметили изменение специфики работы благодаря предоставленным возможностям управления роботами
  • 2. Обсуждаемый подход признан интересным и полезным большинством присутствующих
  • 3. Ведущий проверяет качество звука во время трансляции
00:11:06
Порядок проведения финала конкурса:
  • Сегодня проходят финальные выступления команд школьников и студентов в конкурсе «роботы в городе»
  • Участники конкурса выполняют проезд по заданному маршруту с посещением максимального количества целевых точек
  • Конкурс проходит по принципу нахождения кратчайшего маршрута между указанными точками
00:11:34
Оптимальные маршруты и препятствия:
  • 1. Участники соревнований управляют роботами через подключение к ним на специальном макете, наблюдая за процессом через камеры
  • 2. Роботы выполняют задание по прохождению оптимального маршрута, где оценивается работа алгоритма каждого участника
  • 3. Подсчет баллов происходит после завершения всех попыток участников, результаты объявляются позже
00:13:15
Оценивание результатов участников:
  • 1. Максимальное количество баллов за выступление составляет 30 единиц
  • 2. Участники могут заработать до 10 баллов за подготовленный доклад
  • 3. Методика подсчета баллов жюри уже известна и утверждена
00:13:42
Представление жюри конкурса:
  • В жюри конкурса входят Гавриленко Антон Борисович (заместитель директора), Илюшин Дмитрий Сергеевич (специалист по робототехнике) и Андрей Дмитриевич Разорвин (руководитель конкурса)
  • Участники конкурса выполняют задание по прохождению маршрута роботом, при этом допускается корректировка робота волонтёрами, поскольку оценивается правильность планирования пути
  • После завершения выполнения задания командой, командир должен продемонстрировать результат и рассказать о принятом решении
00:21:45
Решение задач с использованием различных алгоритмов:
  • 1. Алгоритм выполнения задания включает начальную позицию и ориентацию робота, последующее выравнивание по заданной траектории
  • 2. Для управления движением робота создаются два списка действий: один содержит команды перемещения (вперёд и поворот вправо), второй упорядочивает последовательность действий
  • 3. Количество итераций цикла определяется количеством поворотов робота относительно начальной позиции
00:23:55
Вопросы жюри участникам команд:
  • Робот команды выполнил маршрут частично, проехав только внешнюю дорогу макета, хотя согласно алгоритму должен был двигаться и по внутренней части макета
  • Участники команды сообщили, что робот не отреагировал на команду поворота в программе во время выполнения попытки
  • После повторной попытки участники команды успешно преодолели весь маршрут, завершив соревнование успешно
00:41:44
Анализ работы алгоритмов команд:
  • Определена задача конкурса: участникам необходимо было разработать алгоритм движения робота по оптимальным маршрутам между заданными точками
  • Разработана таблица маршрутов: составлена таблица маршрутов, позволяющая определять кратчайшие траектории передвижения робота
  • Использован алгоритм поиска оптимального маршрута: применялся алгоритм, основанный на условиях и начальных положениях робота, позволяющий выбирать наиболее эффективный маршрут
01:23:17
Использование муравьиного алгоритма:
  • Команда получила стартовую позицию и препятствия для прохождения маршрута
  • Робот участника команды был временно отключён и переподключён к другому номеру (роботу №7)
  • Маршрут движения робота включает прохождение нескольких контрольных точек (точки 0, 1, 4, 11, 12, 13, 15)
01:37:05
Работа с препятствиями на маршруте:
  • 1. Участник программы проехал не до точки 4, указанной в маршруте, а до точки 15
  • 2. Изначально маршрут предполагал проезд участника из точки 13 в точку 4, однако участник неожиданно оказался на перекрестке и продолжил движение дальше
  • 3. Участники перешли к обсуждению алгоритма решения конкурсной задачи
01:38:43
Применение алгоритма Дейкстры:
  • В ходе обсуждения предложена альтернатива алгоритму Дейкстры — алгоритм Белла-Форда для поиска кратчайших путей
  • Разработан новый подход к решению задачи конкурса: если гамильтонов цикл не найден, используется алгоритм Дейкстры для поиска максимального маршрута и возвращения в исходную точку
  • Рассматривается возможность расширения алгоритма с применением технологий искусственного интеллекта и машинного обучения для ориентирования автомобиля и предотвращения аварийных ситуаций
01:55:44
Обсуждение алгоритмов и подходов команд:
  • Разработан новый алгоритм — на основе муравьиного алгоритма поиска путей и алгоритма Дейкстры, заменённого на алгоритм поиска путей с помощью муравьёв (использован подход, позволяющий учитывать препятствия)
  • Оптимизирован процесс работы с графами — предложены дополнительные эвристики, позволяющие эффективно находить минимальный цикл в ориентированном взвешенном графе, учитывая ограничения по количеству препятствий и контрольных точек
  • Реализованы ключевые функции программы
  • Генерация оптимального пути с функцией DFS (поиск в глубину)
  • Функция поддержки оптимального пути (функция комппер), обеспечивающая сравнение текущих путей с оптимальным маршрутом
  • Работа с препятствиями, учитывающая маршруты обхода препятствий и максимальное посещение контрольных точек
02:39:07
Проблема с библиотеками и модулями:
  • Конкурс «робот в городе» направлен на популяризацию науки, повышение интереса к робототехнике среди молодежи и демонстрацию инновационных технологий
  • Участники команды «неудержимые» представили свою стратегию прохождения этапов конкурса, включающую использование специального программного обеспечения и алгоритмов поиска оптимального маршрута
  • Команда уверена в своей победе и заняла первое место на престижном конкурсе
0: Да.
1: Итак, скоро мы будем начинать наш финал конкурса роботы в городе. Сейчас наши участники подключаются к онлайн конференции и до 11:00 по Московскому времени. Мы будем всех
2: Да, пока ставлю на паузу трансляцию.
3: Так, команды у нас подключаются, я вывел сейчас трансляцию, демонстрацию нашей конференции.
4: Угу. Так, ну, первые у нас будут участники, это участники из школ. Вот сейчас я в 11:00 объясню для
5: Всех порядок проведения, он будет практически такой же, как в полуфинале. Вот.
6: Давайте я пока позадаю вопросы командам, кто подключился?
7: Так давайте, команда, по обе из школ, от школы содружества, вы здесь?
8: Школа содружества.
9: Так школа содружества меня пока не слышит. Так.
10: Ещё команды из школ сейчас есть у нас на трансляции.
11: Ну хорошо, давайте начнём со студента. Ну давайте проксималь раз вы со мной на связи. Как ваша команда вообще узнала о данном конкурсе?
12: Ещё раз повторите, пожалуйста, вопрос. Меня плохо слышно.
13: Да, было бы неплохо, если бы вы поближе к микрофону говорили просто очень много посторонних Шумов. Так я сейчас попробую выбрать другой источник звука. Возможно, в этом проблема.
14: Так, так, меня вообще не слышно. Так лучше слышно?
15: Ну, вроде одинаково. Ну, попробуем. Так, давайте.
16: Ну хорошо, давайте так. Я просто буду погромче говорить, как ваша команда вообще узнала о фестивале радиоэлектроники и о конкурсе роботы в городе.
17: Ну, часть команды узнала, это от преподавателя с кафедры, 2 часть не знаю.
18: Ну, то есть вы все вместе учитесь. 2 часть, 2 часть услышала о нём ещё в 1 раз, когда проводили, получается, уже год назад. Угу. Вот. И, собственно, были, пытались что-то.
19: Даже получил как, как у вас в этом году мы чуть чуть поменяли формат. Как вам интереснее было или наоборот сложнее.
20: Я бы сказал, что в этом году задание немного интереснее в плане того, что мы не отягощаем себя, ну, скажем так, физическим.
21: Управлением робота. Угу. То есть вот тот факт, что вы дали доступ к вот тем функциям, к которым вы дали доступ, он помог сосредоточиться на, ну, скорее, проблемах.
22: Пути, а не проблемах управления с роботом управление. Вот.
23: Что в целом, ну, немного поменяло вообще специфику работы, но в целом, ну, говорю, за многих участников, скорее всего, здесь как будто
24: Это, ну, более интересный подход. Угу. Спасибо.
25: Так, я сейчас проверю звук на трансляции.
26: Итак, 11:00.
27: Мы начинаем финал конкурса роботы в городе у нас сегодня первые будут выступать команды из школ, далее за ними будут выступать команды из вузов.
28: Давайте пройдёмся по порядку проведения. Задача участников конкурса это выполнить проезд по всем целевым точкам, по кратчайшему пути, проехав как можно больше точек. Соответственно, на этом
29: Пути. В этот раз мы немного усложним задачу тем, что мы будем ставить препятствия на оптимальном пути. То есть ни у 1 из команд не будет возмож,
30: Пройти именно оптимальный путь. И вот здесь будет уже как бы творческая составляющая. У кого как работает алгоритм, тот столько баллов и получит. Так давайте я сейчас
31: А, ну давайте дальше. Так, участники у нас подключаются к роботам на макете, который сейчас у нас за мной. Сейчас я продемонстрирую его камеры, участники, которые находятся в
32: Конференции могут на трансляции смотреть камеры с макета.
33: После того, как участники подключаются к роботу, им даётся 3 минуты на то, чтобы настроить, проверить, что программа запускается и по моей команде они стартуют волонтёры, которые
34: Находятся здесь, они будут подсчитывать пути, по которым прошли роботы участников, и подсчёт баллов будет проходить после конференции, то есть баллы мы сразу не будем говорить после того, как участники
35: Едут выполнять свою попытку. Капитан команды или 1 из участников подключается, включает демонстрацию экрана и докладывает о том, как работает их алгоритм для того, чтобы
36: Жюри могло оценить, оценить ваше решение по тому, как подсчитывать баллы, я думаю, все уже в курсе, то есть максимум 30.
37: Баллов можно получить за проезд и максимум 10 баллов можно получить за доклад по своему решению.
38: Так, давайте я сейчас представлю наше жюри.
39: Так, 1 член жюри это Гавриленко Антон Борисович, заместитель директора энергомашиностроения и механики в Московском энергетическом институте.
40: Далее, 2 член жюри. Это Илюшин Дмитрий Сергеевич, специалист по робототехнике компания ооо научные развлечения. И также я руководитель конкурса роботы в городе Разорвин Андрей Дмитриевич, буду сегодня тоже в качестве
41: Жюри?
42: Итак, можно начинать сейчас я на трансляции.
43: Продемонстрирую.
44: Участников нашей конференции. Итак.
45: 1 подключается команда.
46: Паяльники, школа 20 89. Здесь есть представители
47: Здравствуйте, подключаться к car 1 так, сейчас я проверю, какая у нас свободная.
48: Да р 1, подключайтесь.
49: Как будете готовы, скажите, я на трансляции переключу на камеры на макете. И скажите, видно ли видео с робота?
50: Можете, пожалуйста, поставить ещё раз, что?
51: Можете, пожалуйста, поставить. А точно я вам не сказал, куда ставить. Давайте мы начинаем. Ваша точка будет точка 6. Стартовая позиция точка 6. Направление.
52: 180.
53: Попрошу, да, коллег поставить. Все отлично. Проверьте на карте правильно отображается машина.
54: Это был проверочный, я правильно понимаю? Я проверил. Можете поставить? Ага, поставьте, пожалуйста, обратно.
55: Так, сейчас я дам команду.
56: Так можете начинать попытку, как стартанете, я нажму старт.
57: Трансляция. Можете повторить, пожалуйста, можете начинать попытку. Как только машина поедет, я засеку время.
58: Да, можете запускать.
59: Да, наши волонтёры будут немного поправлять роботов, так как задача участников в этом году не столько реализовать управление по разметке, сколько реализовать нахождение оптима.
60: Пути на данном макете.
61: То есть участники прописывают именно планирование пути так робот проехал уже первые 3 участка дороги.
62: Уже 4.
63: То есть, если робот там немного будет сбиваться с дороги, мой коллега его поправит, это не ошибка участников, так как участники реализуют именно правильные повороты в правильных местах мы будем оценивать именно
64: Так, сейчас у нас робот едет по дальней части макета, возможно, на трансляции его не очень видно, но коллеги следят за правильностью прохождения.
65: Так, сейчас робот находится в районе 4 точки на карте макета.
66: Команда паяльники. Как только вы закончите выполнение попытки, сообщите нам об этом.
67: Мы закончили выполнение поп. Угу. Так, время 3 минуты.
68: Так, волонтёры записали маршрут, по которому проехал робот. Далее мы скажем баллы и сейчас попрошу командира команды включить демонстрацию и
69: Рассказать о том, как вы придумали это решение.
70: Видно, да?
71: Изначально алгоритм выполнения задания начинается с начальной позиции и ориентации робота, то есть условий задания. Дальше мы выравниваем робота.
72: Относительно движения, то есть выравниваем его по траектории. Например, как было робот стоял изначально в точке при угле поворота 180.
73: Прямо он не делает равнение если бы он стоял в позиции 90, 270 или 0 градусов, он бы повернулся на нужное.
74: Дальше мы создаём 2 списка в 1 списке. Мы, которые мы используем движения. Это вперёд и поворот вправо. 2 список действий для
75: В списке action мы составляем последовательность действий, по которым робот, если бы он находился в 1 0, представляет собой движение вперёд, единицу, поворот направо, дальше этот список мы сортируем.
76: По нужному порядку для каждой точки количество итераций для цикла вычисляется по количеству Поворотов совершаемых роботов.
77: И начальной позиции робота.
78: И дальше мы просто начинаем цикл, в котором мы вызываем по индексу из массива экшен, вызываем функции из списка функшн и совершаем работы.
79: Как я уже сказал, 0 это движение 1 поворот направо.
80: Так, спасибо капитану команды уважаемое жюри. Прошу вопросы к команде по их решению.
81: Так, то есть, как я понял, у вас был прописан алгоритм движения по оптимальной траектории и просто происходила, по сути дела, замена в зависимости от того, какая начальная точка будет. Да, да, да, правильно.
82: Участвуем в школьном треке, то у нас не предусматривает вычисление оптимального пути, так как он уже. Да, понятно. Хорошо, спасибо.
83: Так, у меня вопрос. А вот сейчас вы выполняли попытку, у вас робот проехал только по как бы, внешней дороге макета. У вас же оптимальный путь, он как бы и внутри макета должен проходить.
84: Почему вы не проехали? Почему у вас алгоритм не сработал в данном случае?
85: Извините, вас очень плохо слышно. Я не понял, почему у вас ваш робот сейчас на попытке проехал только по внешней дороге макета, хотя оптимальный путь он у вас должен проходить и также и внутри макета.
86: Ну так как нам были даны, мы не могли никак на них повлиять, то у нас не движение по либо на том отрезке неравные.
87: То есть он, он неправильно отреагировал на команду поворота или, или что?
88: Можете написать вопрос в чат, просто давайте я просто погромче буду говорить, ближе к микрофону. То есть он у вас не среагировал на команду поворота в вашей программе.
89: У вас на заднем фоне очень, как бы вы не говорили. Пожалуйста, напишите.
90: Так, давайте я попробую выбрать другой микрофон. Возможно, это микрофон с камеры на макете сейчас.
91: Так меня лучше слышно или нет?
92: Вообще не слышно.
93: Так, так лучше.
94: Скажите так лучше.
95: Да, да, вот сейчас так хорошо. Оставлю тогда этот микрофон ещё раз. То есть у вас робот не среагировал на команду поворота в программе.
96: Можете сказать, а на.
97: Угу, правильно.
98: Ещё раз я не понял. Ну, вы можете повторить, на каком отрезке? Ну, на отрезке вот 3, 4 он должен после точки 4 должен был заверну.
99: В 11. Вот, а он у вас проехал прямо.
100: Смотрел.
101: Мне сказали.
102: Движение. Так, ну ладно, странно, конечно. Так, если больше нет вопросов у жюри, можно тогда переходить к следующей команде?
103: Так, следующая команда стендовер, школа 21, 22.
104: И предыдущую команду прошу отключиться от робота. А, да, вы отключились. Спасибо. И можно нам, пожалуйста, отключиться от конференции, потому что нам нужно на занятие идти. Да, если нужно идти, можете отключиться. Будет запись трансляции. Хорошо, можно
105: Пересмотреть. Я понял. Хорошо. До свидания. До свидания.
106: Так, команда стендофф Кола 21, 22.
107: Так, команда стенд офферы. Я не слышу ответа. Тогда команда, механизм, школа 21, 22.
108: Так, мне кажется, школа, механиз, команда, механизм присылали их рабочий код. Сейчас я проверю.
109: Да вообще команда механизм присылала свой код.
110: Так, ну давайте тогда пропустим пока тогда следующая команда фобии, школа содружества. Можете подключаться также к роботу 1.
111: И скажите хорошо ага так да, ваша точка будет точка 10 и направление 90 градусов 10 years направление како?
112: 90 градусов смотрит в сторону 1 точки. Ага. Так, сейчас интернет просто загрузить код.
113: Как будете готовы, просто скажите, я начну запись времени. Угу. Так, роботы. Сейчас, сейчас. Команда, обе.
114: Школа содружества.
115: А я вызывал, никто не сказал. Вы можете подключиться к конференции. Подключитесь, пожалуйста. Да, и следующий я тогда вызову вас.
116: Сейчас это нужно отправить, сейчас будет на робота. А если запустить с нашего ноутбука?
117: Хорошо, подключайтесь к конференции, тогда запустим с нашего ноутбука, так что нам сейчас делать? Запускать программу? Как будете готовы, скажите, и мы начнём зачётную попытку. Так, 10 90. Все.
118: Все, запускайте как робот стартанет, я нажму секундомер, переключаю трансляцию на показ камер.
119: Так, робот поехал.
120: Так проехал 1 участок дороги.
121: Так, ещё 1.
122: Так он сейчас находится на задней части макета, на камерах его, возможно, не видно.
123: Так, робот выехал на кольцо.
124: Так, я так понимаю, это точка 13 пройдена?
125: Так, и он поехал дальше по кольцу, так?
126: Робот слетел, я думаю, можно завершать попытку. Так, последняя точка была 13, и он поехал в другую сторону.
127: Так, выключите, пожалуйста, программу.
128: Так и попрошу командира включить демонстрацию экрана, не знаю.
129: Так, включайте демонстрацию экрана и можете рассказать про ваше решение с начала.
130: Программа расписана здесь начальная позиция и также начальный градус, на который, ну, относительно макета здесь, а это точку он проехал.
131: И запускается цикл пока, а не равен пройдённым точкам. А то есть у нас их 15 всего будет работать цикл, который, по которому едет робот. Дальше.
132: Для каждой точки, но на точке какая это точка, который 12. Хорошо у нас почему-то он поехал по прямой, хотя
133: При тестах все было нормально. Мы не, то есть сколько это? 100, 270 он должен был повернуть направо. Вот 270.
134: Направо, потом поехать по прямой, но он этого не сделал. Можете, пожалуйста, перезапустить с той точки.
135: Так, ну давайте попробуем перезапустить. Возможно, и правда там была проблема не с вашей стороны. Вы же все-таки пишите алгоритм, да, можете, пожалуйста, перезапустить? Да, давайте тогда попрошу. Да, дежурный мы сейчас запусти.
136: Другой код. Этот случай был. Мы знали, что это произойдёт. У нас есть другой код. 3, 1, я не помню.
137: Здесь мы ставим стала позиции.
138: Здесь тоже, но у нас
139: Пролистать надо.
140: Какая сейчас 13? 270. Даже вот здесь стартовая позиция. Какая стартовая позиция? 10, направление 90.
141: Да, направление 90 или 90. Ну, вниз, он же, он, он её или это, подождите, это вы с этой же позиции начали или с какой? Да, с такой же позиции?
142: Продолжим с 13, с 13 точки. А продолжить? Да, давайте. Можно продолжить с 13 точки, потому что проблема у нас. Давайте продолжим с 13.
143: Да, с 13 точки, да, 13, это, да, вот здесь, да, de 7.
144: Теперь правильно поехал.
145: Угу. Точка 14 пройдена.
146: Сейчас зрители нашей трансляции могут смотреть, как это выглядит на экране у участников. То есть они видят карту макета и позицию робота, также трансляцию с камерой робота. Ну понятно, там есть небольшая задержка. Вот.
147: И с левой стороны они прописывают свой код.
148: Который управляет роботом. Есть некоторые неточности в движении по линии, но это не вина участников.
149: Робот проезжает теперь рядом со мной точка 8.
150: Точка 9 и остался последний поворот.
151: Так робот повернул.
152: И осталось проехать просто прямо.
153: Так, все, робот завершил проезд. Поздравляю. Вы проехали по всему маршруту, так, если мы прибавляем время, тогда у вас 5 минут.
154: Все волонтёры, отметьте, пожалуйста, путь, да, и если у вас есть какая-то презентация вашего решения,
155: Не по коду. А как тут с презентацией можете рассказать? Так у нас почему-то зависло опять на этой точке. Ну если что, вот 10, если, когда
156: Долистаю.
157: Нас уже дали.
158: То он
159: Так, наша презентация.
160: Угу.
161: Конкурс роботов в городе наша задача была найти кратчайший, ой, проехать все точки и достичь начальной точки и дальше написать код.
162: Нам нужно найти было как раз маршрут. Самое важное маршрут робот составляет табли для маршрут робот. Сначала составить таблицу маршрутов, потом алгоритм.
163: Вот так мы составили таблицу маршрутов, и здесь как раз пути, по которым можно поехать.
164: Угу. По алгоритму мы определяли кратчайший маршрут. Составляем матрицу. Вот на рисунке он показан.
165: Конечно, тоже на наш код был, именно на определённый маршрут.
166: Угу. Так, можно задать вопросом вопрос от жюри? Так, у меня вот сразу вопрос. То есть вы прописали именно с помощью условий?
167: Откуда стартует и какое его начальное положение. И исходя из этого, он дальше едет по заранее прописанным. Угу. Да, по заранее прописанной последовательности, да, то есть для каждой точки у нас уже заранее
168: Прописано, под сколько градусов он должен повернуться именно для этого. И поэтому у нас, если у нас начальное положение 10, то конечное положение тоже должно быть, да, от 15 до 15. Досчитаю.
169: Угу.
170: Так, хорошо, ещё есть вопросы?
171: У меня какое-то разночтение, прошлая команда говорила, что им был задан оптимальный маршрут, а здесь говорят ребята, что нужно находить оптимальный маршрут, кто прав?
172: Так, у нас нету блоков по факту он да, но мы на всякий случай его проверили алгоритм через, ну и оказалось, что это реально минимальный
173: Сказано, что это оптимальный, э, он, не было сказано, что он оптимальный, он просто как пример сказан, мы просто его проверили, он оказался самым идеальным маршрут. Понятно.
174: Так, если больше вопросов нету, можем перейти к команде стендофф. Школа 21 22. Они у нас пришли здесь очно, но мы попросили их подключиться к конференции. Здесь есть уча.
175: Участники из команды стендера.
176: Угу. Так, можете включить микрофон? Вот я вижу, что вы здесь есть.
177: Вы можете включить микрофон?
178: Тендеры.
179: Итак, команда стендофф ра.
180: А и попрошу команду фобия отключиться от робота номер 1, чтобы другие участники могли его занять.
181: Так, команда обе, отключитесь, пожалуйста, от 1 робота. Здравствуйте. Здравствуйте. Здравствуйте. Так, у вас эхо, вы можете отойти подальше.
182: Да, скажи, чтобы так. Здравствуйте, что?
183: Так, у вас стартовая позиция 5, направление 270. Это в сторону точки номер 6.
184: Хорошо, у вас есть доступ к веб интерфейсу или мне нужно запустить самому? Можно запустить? Работает, не работает.
185: Скажи, что мы с компьютера с нашего не можем запустить. Мы не можем с нашего компьютера сейчас запустить. Ну, вы вчера скинули код, да, код скинули. Так, хорошо, тогда сейчас я его найду. Подскажите, к 1 машинке подключаться.
186: 1 машинка. Отключитесь, пожалуйста. Сейчас запустим. Там просто предыдущая команда не отключилась.
187: Так, я сейчас со своего ноутбука подойду, подключусь к роботам.
188: Так, и загружу код команды. Итак, робот на старте и я запускаю
189: На трансляции включу демонстрацию камер.
190: Так робот не едет.
191: Так я могу вам дать свой ноутбук, чтобы вы попытались разобраться, в чем проблема, и пропустить следующую команду для выступления.
192: Что можете? Что можете дать? Могу дать подойти к вам и ноутбук, чтобы вы подправили программу и запустили все-таки.
193: Ну давайте, спасибо. А как тогда передадут? Хорошо.
194: Так, давайте тогда команда. Так, Арсений, из школа 21, 22. Так, вы подключайтесь к
195: Роботу номер 7 про механизм уже речь идёт, да, механизм, потому что standoff дали время исправить программу. Так мне нужно включить микрофон.
196: Команда, здравствуйте. Так, сейчас наша очередь, мы не можем. Команда механизм ваша начальная точка 3, направление 270.
197: То есть в сторону 4 точки 3 270. Так, в сторону 4. Хорошо, у нас есть проблема, мы не можем зайти на тестирующую систему, потому что
198: Доступ не разрешается. Можно попробовать? Можно? У вас логин был, чтобы заходить у вас получалось на тренировочных заездах подключаться к роботу. В чем на тренировочных заездах я, если я вас правильно услышал.
199: На тренировочных? Да, я был, у меня все работало. Я не могу сейчас с ноутбука, по вашему, вай фаю зайти? Почему-то я не знаю почему, скорее всего, не разрешено, просто соединение прервано, написано. Ну, у вас нет.
200: Не понял. У вас нет доступа к роботу или вы не можете? Да, нет доступа сейчас к роботу. У меня. Я не могу зайти на среду разработки. Угу. И подключиться к машинке. Так, попрошу коллег.
201: Разобраться. Ошибка, может быть, не удаётся получить доступ к сайту. Пишет. Ну просто сейчас другие команды запускали, он точно работает. Не именно я не могу зайти на сам сайт там, где вот попробуйте.
202: Открыть во вкладке инкогнито. То есть, чтобы у вас не было кэша этого сайта, скопируйте ссылку на, а вообще открыта в другом браузере, там джи.
203: Секундочку, то есть моя позиция 3, направление 270. Я правильно услышал?
204: Так интересно.
205: 2 тачку 7 поставьте.
206: 53 загрузка.
207: Арсений, я могу через твой, это небезопасный. Я могу через твой ноутбук это сделать? Хочу. Давайте я ещё раз пропишу. Получится сейчас, может быть.
208: Безопасный сайт.
209: Pi точка ру.
210: Не, не пускает нас на сайт вот сайт cloud бокс перехожу в репозиторий не получается небезопасная ссылка опасность попробуйте открыть вкладки инкогнито возможн.
211: У вас есть какой-то? Сейчас попробую, попробую. Не позволяет. Тут, мне кажется именно браузер сам не даёт его активировать браузера. Арсений, я думаю, что единственный вариант это на этом компе.
212: Скана место, а ты потом тогда ещё пропустим команду, и ты потом со своим кодом будешь колдовать.
213: Ну видимо че то что-то конфликтует с чем-то режим инкогнито. Попробуй сейчас.
214: Не удаётся установить соединение с сайтом Арсений. Тогда предлагаю запускать с моего ноутбука. Сейчас с вашего ноутбука. Да? Ага. Ну давайте попробуем с вашего ноутбука, а я смогу
215: Хочу задать вопрос предыдущей команде. Я смотрел, к сожалению, трансляцию, пытался решить эту проблему. Они отправляли код во время. Вот, ну, команда фобе, она смогла подключиться к
216: Роботу и загрузить свой код через она так она подключила свой код, а его редактировала. То есть можно было можно это сделать. Можно в теории сделать? Да, хорошо.
217: Так, давайте с вашего я могу подойти или нельзя к вам имеется в виду, который давай.
218: Ты можешь сохранить, сохранить, сохранить, скачать.
219: Сохранить код. Открой телефон.
220: Угу. Угу.
221: Скачай нет скачай, скачай.
222: Сохранить, где загрузить?
223: Только перед запуском. Скажите, с какого робота вы сейчас подключились? Там сейчас в сети 2. Это 1 робот получается. 1. Сейчас там написано. Сейчас, секундочку, скачай.
224: Код. Отключитесь от робота и посмотрите, какой в сети сейчас, да.
225: Так et у нас.
226: Так, отображается, что никакая машинка не в сети. Давайте к 1 машинке подключи. Какой 1 в сети. Так выбрал 1 машинку.
227: Demon's экран не видно её ой, камеру с камерой, изображение с её камеры не видно загрузить код так так так.
228: Так, так, так, возьми, возьми.
229: Так, все тут есть. Повторите, пожалуйста. 3 позиция, 3 позиция, направление 207.
230: 70 в сторону 4 точки, в сторону 4 1.
231: А, все, я вас понял. 270. Так как будете готовы, можете запускать.
232: Счёт 3 3. Так я запустил. Машина она походу не в сети. Машина я не вижу.
233: Я запустил, она не видит, так и изображение с камеры не видно. Сейчас тогда пре предоставлю вам другую.
234: Тачку волонтёры. Можете подойти ко мне, пожалуйста, мне отключиться с этой машины? Да, отключитесь.
235: Попросите антона, чтобы включил 1 машину. Какой номер доступна 7 коман.
236: Да, механизм. Подключайтесь к роботу номер 7 номер 7.
237: Номер 7 7 4. А, ой, сейчас, сейчас, как мне вы установили? Правильно? Робота правильно установили. 3 точка 200.
238: Так, 1 машинка в сети. Как подключайтесь к 7. Вам сейчас 7 предоставили, как не работает?
239: У нас всего 1 машина в сети номер 1. Попросите, чтобы включили 1 машинку, мы не можем пролистать мышки. Мышка есть, дайте мышку.
240: Небольшая заминка у нас команде поставьте, пожалуйста, рабочую.
241: 1 не работает. Нет, 1 только что. А вот так 1 заработала. Могу 1 подключиться. 7 здесь нет, мы не видим. А вы прокрутите вниз, а так не крутится. Вот максимум. Вот там была 7.
242: Если хотите, можете уже подключаться. 7 подключил. Все, все. Пусть 7, это 7. Так, все мы видим. Загружаю код. Угу. Как только будете готовы, скажите. Угу. Так.
243: Позиция 3. Это, напоминаю, команда механизм.
244: 3. Так я готов. Запускаем, да.
245: Так, поехала, да зачем?
246: Так, не, не, мы туда едем, туда едем. То есть почему не знаю, так можно перезапустить, а то непонятно сейчас было куда на перезапуск.
247: Она сейчас смотрит в сторону точки 4 и спускайте в сторону точки 4. Она в точке 4 стояла. Нет, она в точке 3 стояла. Нет, 3 позиция 200. Поставьте обратно.
248: Так вот, сейчас давайте попробуем запускаю.
249: Едет так, наконец то её видно на камерах. Отлично её видно, да, на трансляции она уже сейчас в точке 4 находится повора.
250: В сторону точки 11.
251: Так, так, точка 11 есть от 11. Проехал. Точка 12 точка 12.
252: Точка 13 13.
253: Так, отлично. Точка 15. Так, а че, куда она поехала дальше? Так, она свернула с пути, получается. Нет, она ехала прямо, она не поворачивает. Так, ну, я думаю, можно.
254: Потому что она уже съехала. Выключите, выключите, пожалуйста, выполнение и отключитесь от робота, от робота. Да? Так, время полторы минуты. И сейчас.
255: Попрошу командира команды, капитана команды объяснить своё решение для жюри. Если есть презентация, можно включить, что презентация есть, но она не должна была проехать на
256: Поворачивалась налево, должна была доехать до 15, была доехать до 15. Прошу команду, презентацию, да, презентацию. И если есть какие-то догадки, можете это объяснит?
257: Мы сейчас очень надолго.
258: Давайте. Какую машину, какой машинкой, какой машинке подключаться? Стене? Подключайтесь также к 1 машинке.
259: Отлично. Все хорошо. Ну или на какой вы сейчас ездили, если это 7 была, тогда к 7 робот мне нужно включить. Так, пока не стартуйте.
260: Мы сейчас слушаем команду. Механизм то как вы будете объяснять свой, так, демонстрацию сейчас включи. Нет, нет.
261: Поделиться видно, да, все видно. Команда, механизм.
262: Задача нашего кода была определить, в какой точке находится робот направление, в котором он повёрнут, и найти кратчайшую траекторию для объезда им всего.
263: Получается, путь у нас оптимальный. 1 для решения мы использовали конструкцию меч оператор if для определения
264: После того, как мы определили, мы проводим по заготовленному маршруту робота по точкам маршрут такой стрелочки. Указано, как бы если мы двигаемся из точки 1, то на самом деле это маршрут для любой точки такой оптимальной.
265: Он может другую из точки 2 в точку 2 поехать через точку, 1 через точку 7, через любую точку по оптимальному маршруту. То есть алгоритм определяет местоположение, че говорить.
266: 8. Так, то есть алгоритм определяет местоположение и проводит робота по этому оптимальному маршруту, где бы он ни был, все.
267: Так, спасибо, у меня вопрос. То есть вы так же, как и все остальные команды, получается, прописали единственный вот этот оптимальный маршрут, как
268: Как вы его поняли, что это именно он оптимальный просчитывали? Ну, поскольку сам алгоритм именно вот робота, то есть, который мы запускали, он не просчитывает этот оптимальный маршрут.
269: То есть вы вручную, вручную можно сказать, что посчитали, просчитывали самый короткий маршрут, да? Ну, можно сказать, что мы вручную просчитывали, ну, там, через сайт, в общем, алгоритм этого не делает, он полу как бы уже заведомо известен.
270: Маршрут, он по нему проходится, её просчитан вручную. Так, хорошо. Жюри, есть ли ещё вопросы к команде механизм? Да, да, да.
271: Да, есть вопрос. Ребята говорят, что у них алгоритм должен был определить местоположение робота. Как же он это делал.
272: Мы вводим, как я показывал, конструкция матч. Это, можно сказать, тот же самый оператор проверяет. Если позиция равна 1, значит, робот находится на, соответственно, 1.
273: Точки, поскольку робот у робота есть основные 3 команды, ещё есть дополнительные. Нет, нет, нет, секундочку. Здесь другой вопрос в том, что вот смотрите, если вы в алгоритме сами задавали эту позицию, то
274: Алгоритм не определял, он просто принимал на вход начальную позицию, так что здесь немножко подмена понятий, чтобы определиться, понял положение.
275: Ну да, то есть он определял, на какой, из какой хорошо, из какого места мы стартуем определял. И, соответственно, относительно этой точки он, ну а как он определял, вы ему давали или он сам смотрите, нам даётся
276: Например, позиция 1, он проходится по, ой, проходится при помощи конструкции мэтч до кода, который следует, если мы на 1 позиции, то есть вот
277: 1 позиция. Ну, можно сказать, да, мы сами это не делали. У нас, мы, секундочку, если у нас 1 позиция, код доходил до кусочка, который
278: Прописан для 1 позиции и дальше определял угол и запускал алгоритм относительно угла и позиции. То есть, ну, сам с помощью датчиков или с помощью чего-то другого алгоритм не определял позицию
279: Вот это я и хотел услышать, ребят. Просто определение позиции. Это достаточно сложная задача, которая должна была быть отдельно решена. У вас такого задания не было в вашей программе. Вы должны были сказать, что мы
280: Задаём ему позицию и начальный угол. В зависимости от этого он уже реализует проезд по маршруту. Да, конечно, мы даём. Да, да. Ну, будьте аккуратны.
281: Да. Так все-таки вопрос по тому, почему у меня робот поехал прямо так, если все
282: Приглашаю команды тендеры. Я не знаю. Спасибо команде. Механизм. Можете выключать демонстрацию. Хорошо?
283: Так, команда стендеры, позиция номер 5. Направление тоже 270 в сторону точки номер 6. Подождите 1 минуточку. Угу. Так, на трансляции включаю камеры.
284: Пакета разобрались какой к какому роботу подключаться?
285: Не работал, смотри.
286: Можно.
287: Не выдаёт.
288: Потому что здесь
289: Итак, определились, к какому роботу нужно подключиться, то есть в таком случае будет поворот направо.
290: Так, пока наша команда стандоффе подключается к роботу.
291: Немного придётся подождать. Получается, это последняя команда из школ, которая будет выступать сегодня. И далее мы приступаем к командам из вузов, их у нас 10.
292: Итак, команда стенд офферы, у вас получилось подключиться?
293: У нас ошибок не выдаёт, но у нас почему-то машина не едет. Ну а вы на тренировочных заездах у вас получалось это нет.
294: Ошибка. То есть у вас ни разу на тренировочных заездах он не выполнял, вот запустился как раз в библиотеке, установлен там
295: Используются какие-то библиотеки. Не факт что, а почему в библиотеке, библиотеке можно здесь так, команда. А давайте вам 3 минуты на то, чтобы загрузить
296: И мы идём дальше, потому что ребята готовились у нас на тренировочных заездах это уже стал
297: Включилась, перемещался на сегодня.
298: Он подключён, он подключён. Я понял, понял.
299: Можно, конечно.
300: Так, команда у вас полторы минуты ещё. Так, а феникс уже снялись или нет?
301: Феникс мне написали и сказали, они не смогут сегодня подключиться. Понятно. Спасибо. Этот вот, да, что?
302: Ребят, выключите, пожалуйста, микрофон.
303: Пока обращусь к командам от вузов готовятся, у нас команда в ожидании запуска из книту каи. Вы здесь?
304: Да, да, да, мы здесь. Ага, все, будьте готовы, как ребята сейчас запустят, не запустят. И я скажу, какой, к какому роботу вам подключаться. Хорошо, спасибо.
305: Итак, команда софера будет решение. У нас есть проблема. А сейчас нам специалист, может, может, просматривает код. Смотрите, ошибок не выдаёт, не двигается. Н.
306: Вы же говорите, что вы на тренировочных заездах, у вас не получилось это сделать. Почему у вас сейчас сначала поехал с ошибками некоторыми, то есть код исправили, Бо в нём нет.
307: Пораньше.
308: Я предлагаю продолжать дальше, команда стендор, у вас было время подготовиться, так как вы не продемонстрировали проезд. Вы можете пока
309: Ваше решение на презентации и попытаться заработать 10 баллов за презентацию. Возможно, хотя бы за это можно будет получить баллы. Что ты, что именно какие
310: Секунду, презентацию. Да, презентацию тебя просят.
311: Сейчас я включу демонстрацию, собственно, если нам нужно будет
312: У нас будет, если она, если она равна нулю, поделиться Арсений.
313: Так вот видите, да, все видно так.
314: Слышите меня? Да, да, да.
315: Так вот это.
316: Что вам читать вслух или что та рассказывать? Ну, это как бы начинает. А с того, что это решение задачи с помощью муравьиного алгоритма.
317: Как бы дача-ка это 1 из самых известных точек оптимизации поиски самого выгодного маршрута. Проходя через указанные хотя бы по 1 разу в уходный город, я использую муравьиный алгоритм он имитирует поведение Муравьёв при поиске пищи муравьи оставляют
318: Пути. На основе выбирается следующий путь со временем. Путь, который идёт более коротким маршрутом, удет иметь больше for, что делает его более плекальня для других конструктор класса в рамках следующие параметры, то есть
319: Сколько будет искать решение, сколько раздать по графу расстояние пути коэффициенты для для линия путях.
320: Мед в Муравья строит маршрут точки.
321: И самая основная функция, самая основная функция, на которую запускал она.
322: Процесс колонии создаёт матрицу пиэм и 3 расстояние между узлами рафа, и основная часть программы это общее описание о том, что граф объект машин.
323: Систему путьпуть его длину.
324: И последняя часть это обработка машины с путь. Необходимо поставить поворот с номерами. Далее производится вычисление угла поворота машины, чтобы она могла двигаться по найденному пути маршруту для на пути рассчитывается котировки ориентации машин.
325: И заключение это простой алгоритм и эффективно, дак других задач оптимизации поведения может быть адаптирован для множества приложений логистики, маршрутов задачи объёмом данных о ограничения.
326: Это как раз-таки наша задача и из разных систем.
327: Насчёт кода ваш коллега же вам передал, он там, то есть там исправленный код в блокноте. Ну, давайте вопросы от жюри. У меня есть вопрос по муравьиному алгоритму.
328: Вот муравьиный алгоритм, он же в своём классическом представлении, он должен работать итеративно, то есть он за несколько итераций как бы обучается на том, что он, роботы начинают проезжать по оптимальному маршруту, а так он
329: С 1 раза определяет, что это маршрут наиболее оптимальный. Ну в чем проблема? То есть рассчитывает как бы все пути.
330: И выбирается оптимальный. Давайте вот так, вот так вопрос. Скажу, как вы составляете вот эту карту феромона? Ну, карта феромона.
331: Как карту феромон вставляю, да.
332: Ну вот такой индекс, он как бы, то есть, если вы можете открыть код, там демонстрировать, то он ставит матрицу.
333: Между и матрица феромонов, то есть значение феромонов между узлами. А как он их обновляет, если он 1 раз проезжает, что как он их обновляет, если он проезжает 1 раз?
334: Вероятность выбора. Так, ладно, хорошо. Есть ещё вопросы у жюри к команде?
335: Почему ещё вопросы есть? Я обращаюсь к жюри. Если есть вопросы, можно задать сейчас. Так, если вопросов нету, мы переходим.
336: К командам из вузов команду стендеры прошу отключиться и, ну, точнее, прервать демонстрацию.
337: Сергей, где открыта у нас демонстрация? Что демонстрация? Где, в какой программе? Вот тут так. Все, спасибо вам. Выключайте микрофон и мы
338: Продолжаем.
339: Далее вызывается команда в ожидании запуска книту каи. Да, добрый день. Участники и жюри конкурса роботы в городе. Мы команда в ожидании запуска. Меня хорошо слышно или да?
340: Все, отлично. Сейчас я вам в чат вышлю вашу начальную позицию и препятствия. Угу. А можно я уточнить, к 1 машинке подключаться? Да, вы подключаетесь к 1 машинке?
341: Подойдите, пожалуйста.
342: 1 точка под углом 0 градусов и 2 препятствия, да, а вот потом 25, что это оптимальный. 1 точка 0 градусов, препятствие 15 14 и 2 12.
343: Пожалуйста, кто-нибудь 1 здесь, чтобы я мог передать. Так, хорошо, сейчас тогда все введу. Нет, который вот стоят.
344: Сейчас волонтёры все поставят. Вы подключились к машине? Да, да, да. 1 подключились, она на столе стоит, да, и сейчас её переставят 2.
345: 1 Антон, 1 робота. Поставьте, пожалуйста, позицию 1 0.
346: Да.
347: Все, я вроде у себя тоже все прописал. Могу запускать. Так, сейчас блокирующие, сейчас машину поставит и да.
348: Как готовы, можете начинать. А вот то, что 25 запятая 924, это не нам уже. Ну, то есть, да, это, это максимум баллов, которые можно получить, это случайно скопировал. Ну хорошо.
349: То есть, ну, как можно заметить, у вас заблокированы некоторые пути, которые идут по оптимальному маршруту. И, соответственно, вам нужно будет проехать уже не по оптимальному, но заработать максимум баллов.
350: Хорошо, так как будете готовы, я нажму секундомер, да, сейчас тогда могу запускать в ожидании.
351: Так.
352: Так проехал 1 участок.
353: 2.
354: А можно её, пожалуйста? Ну, я не уверен, от этого ли зависит. Ну, то есть не прям поворачивать, а немного, просто назад отодвигать, потому что, как я понял, она все равно назад направо пытается.
355: Поэтому вот получается, ну так, ну, она сейчас в точке 3 поворачивает в точку 4, правильно? Да, сейчас в точку 4 должна повернуть, поехать прямо давайте перезапустим, наверное, там, если можно, да.
356: Попрошу обратно поставить.
357: Обратно поставьте точка 0. Ой, точка 1, направление 0. Я, если что, этот программу остановил, да.
358: Сейчас все могу запускать, да, можете запускать. Все хорошо.
359: Так, мне передали, что робот завис. Переподключитесь на 7 робота, пожалуйста. Сейчас я тогда программу, ну вот у меня тоже у неё координаты, кстати, да, перестали менять.
360: Да, наверное, зависло. Поставьте, пожалуйста, 7 робота в ту же позицию.
361: Отключитесь тогда. Да, хорошо. И к 7. А, уже можно, да, подключаться? Вроде он свободен. Угу. Все хорошо. Координаты те же самые, да?
362: Правильно отображается он на карте. Ну, сейчас, да, вроде бы в 1 точке стоит. Сейчас я ещё данные впишу.
363: Можете запускать, если готовы. Угу. Хорошо. Сейчас препятствия. 2, 12, 15, 14. Да, хорошо.
364: Да, 12. Все, все, записал, запускаю. Угу.
365: Можно, пожалуйста, поправить? Да, да, да. Сейчас. Спасибо большое.
366: Так, 1 участок проехали.
367: 2 участок.
368: Так, точки 4 теперь.
369: Угу.
370: Точка 11.
371: Точка 12. А вот пока, да. Ой, спасибо большое.
372: Точка 13.
373: Так, это была точка 15.
374: И он проехал. А так он съехал с пути. Получается, он у вас должен был по программе ехать в точку 4, а он в 15, не?
375: Остановился. Соответственно, вы там съехали с пути. Значит, последняя точка 15. Отмечайте. Ну, вообще он остановиться должен был. А вот можно я спрошу. 15 4, это нет, он, ой, да.
376: Он сейчас должен был проехать. Ну, в программе было записано из 13 в 4, потому что в 15 он не остановился.
377: Из 13 4. Ну нет, вообще, у нас просто по программе, он вот из 13 в 15 приехал, получается, вообще потом должен был налево поехать, но вот он не
378: Появился почему-то на перекрёстке. Так, ну не знаю. Ну давайте, давайте перейдём сейчас к объяснению вашего кода. Угу. Ну да, хорошо. Так, подклю. Отключитесь от robo.
379: В 1 очередь. Да, хорошо. Так, демонстрацию экрана включу.
380: Все видно? Да, все видно. Угу. Все хорошо. Так. Алгоритм решения задачи конкурса от команды.
381: В ожидании запуска наш алгоритм решения, в общем, остался похожим на решение. Полуфинал, но понёс некоторые изменения. Классы у нас остались те же. Дикшн класс содержит в себе словари вершин и
382: Method под блокс, который добавляет препятствия класс гамильтонов, цикл, который содержит в себе методы для поиска гамильтонова цикла муф команс он преобразует массив движений в массив Поворотов и main класс у нас инициализирует все остальные.
383: Данные, ну то есть инициализирует данные других классов, вызывает методы, что изменилось в нашем коде. Это новые библиотеки. Дополнен алгоритм нашего решения, предложен альтернативный вариант решения. И также есть некоторые идеи на разви,
384: Эти алгоритмы в будущем. Вот, ну, сейчас подробнее обо всем расскажу. Вот новые библиотеки, то есть не нами представлены, а сами библиотеки изменились. То есть robo ситигейт на basic контрол, модул, то есть.
385: Теперь не в симуляции запускаем, а на реальном макете. Также изменения в алгоритме у нас произошли на прежнем этапе конкурса. Наш алгоритм искал гамильтонов цикл, и если гамильтонов цикл не находился, то есть
386: Мы не могли пройти через весь граф, пройдя по каждой точке Ровно 1 раз. Тогда наш алгоритм ничего не выводил, ну, то есть и задача конкурса подразумевала то, что гамильтонов цикл присутствует на данный момент.
387: У нас в алгоритм добавлена функция алгоритма дейкстры. То есть сейчас, если не находится гамильтонов цикл, то мы находим максимальный маршрут, который можем пройти в графе и уже
388: Из конечной точки этого маршрута мы с помощью алгоритма декстера возвращаемся в начальную точку. Так?
389: Также у нас был предложен альтернативный вариант алгоритма, но он более для других задач подходит, то есть алгоритм Белла форда н. Форда. Вот, но он отличается тем, что он считает минимальное расстоя.
390: Кратчайшее расстояние до всех возможных вершин. Вот, поэтому он применяется, возможно немного в более другой области, но также предложен альтернативный вариант, который также можно использовать.
391: И из идей на будущее у нас было предложено возможное расширение алгоритма и применение технологии искусственного интеллекта, также машинного обучения для ориентации и, ну, ориентации автомо.
392: В пространстве и избегание каких-либо аварийных ситуаций, то есть общий алгоритм поиска цикла мы планируем оставить тот же самый, то есть поиск гамильтоново цикла при его отсутствии.
393: Хождение всех возможных точек и из неё уже возвращение в начальную, ну то есть с помощью алгоритма дейкстры принять машинное обучение, допустим, тот же генетический алгоритм только для того, чтобы ориентироваться
394: Относительно других участников движения, чтобы сильно не нагружать память.
395: Вот, и также спасибо за внимание. В общем, на этом презентация закончилась. Могу по самому коду немного также рассказать, потому что в презентации не совсем все отображено, скорее, ну,
396: В принципе, все понятно, но вот вопрос, то есть он, если робота мы поставим, например, вообще на неоптимальный маршрут, он на него все равно должен выйти с помощью этого алгоритма.
397: Да, ну то есть, если в алгоритме отсутствует гамильтонов цикл, мы проходим, нам, у нас же задача конкурса пройти все возможные точки. Угу. Вот. Он проходит по всем возможным точкам, которым только может, то есть ищет самые
398: Большой маршрут, в которых он точку 1 раз пройдёт. И позже. Из этой точки, из конечной он возвращается в начальную по минимальному маршруту, но у него также есть условия о том, что более приоритетными считаются те точки, которые мы ещё не прошли. Угу.
399: Интересно и в коде также, ну вот я в полуфинале говорил о том, что добавим вот функцию вот как раз пат блокс нижняя половина, она реализует метод, который
400: То есть сейчас объясню, в случае нахождения в графе висячих точек, то есть той точки, в которую можно заехать, а выехать из неё нельзя. Вот он такие точки удаляет. Ну то есть не удаляет он последнюю маршрут.
401: Вот, к ней также удаляется, чтобы мы в неё не заехали ни в коем случае, потому что мы там застрянем и не сможем оттуда выехать. Вот. Поэтому такие точки также исключаются. И вот у нас получается, вот, ну, все, что на экране, это сейчас
402: С алгоритмом дикстра. Угу. Спасибо. Есть ли ещё вопросы у жюри?
403: Так, если вопросов нету, мы двигаемся дальше. Спасибо команде в ожидании запуска. Следующая команда. Инвел. Да, здравствуйте. Ага. Так, высылаю вам.
404: Начальную позицию и где стоят препятствия. Начальная позиция точка 6, направление 270. Подключайтесь к роботу номер 7.
405: Ты не указал, Андрей, да препятствия ребятам не сказал, а препятствия я, я в чат просто прислал. Это 4, 11 1 препятствие, 2 препятствие.
406: 9 8 препятствие 4 11 9 8.
407: Robot находится в точке 6, направление 270.
408: Так, робот на месте проверьте, он правильно отображается? Да, он отображается. Сейчас момент. Так, включаю трансляцию с камер.
409: Так, у вас проблемы какие-то? Да, сейчас загружаю. Ага.
410: Ставьте, пожалуйста, на домике робот на пол поставь. Угу. Сейчас участники к роботу номер 7 подключены.
411: Так, напомню, команда нло это из гпбу инг, кит. Угу.
412: Так, ну что-то я загружаю, но вроде просчитывает, но не это. А вы этот код пробовали? Да, да.
413: Можно попробовать к роботу номер 1 подключиться, если это проблема именно с кар 7. Сейчас попробуйте к car 1 подключиться.
414: Поставьте, пожалуйста, car 1 вместо карр 7, а все, подождите, я я уже в своих запутался, Антон, обратно обратно обратно поставь, пожалуйста, поменяй их обратно.
415: Так, все, запускаем. Угу.
416: Так, робот начал движение. Да, да.
417: Так, 1 участок пройдён. Угу.
418: Ну, он приехал.
419: Так, правильный поворот, он просто, да, он не, не, не, это не ваша ошибка. Все, он продолжает движение.
420: Так, он сейчас находится в точке 15.
421: Че то куда-то его понесло. Так он сейчас на пути из 15 в 13 или нет? А нет, 15.
422: Так, сейчас на пути из 13 в 4 или в 11?
423: Че то куда-то он поехал уже непонятно, он по, из 13 4 он поехал.
424: Неправильно.
425: Так, давайте, если он сбился с последней, с какой точки вам запустить его? Или он на 15 должен был в 11 поехать?
426: Ага, давайте тогда начнём с ди, ставьте нулевую точку 11. Угу. И так, сейчас момент, да, перезапустите.
427: И положение какое у него по градусам? Ну куда он у вас должен смотреть? Там в сторону 12 или в сторону 4? Вот куда там он смотрит, я че то не вижу. Давайте в сторону, в сторону 4, тогда это
428: 0 градусов получается. Угу.
429: Так и положение текущее у него 12 точка или 11 11.
430: Так, момент.
431: Угу. Все, сейчас поедет, по идее. Угу.
432: Угу. Там че то не начал движение.
433: Так, можете ещё раз запустить? Мы сейчас в 11 точке стоим просто по карте, мы стоим рядом с с поворотом на 4 точку. Короче, так оно и есть. Ну да, вы, вы же должны
434: Из 11, по идее, ехать сейчас. Ну, 11, она чуть ниже находится. Ну, 11, она на этом перекрёстке, она именно она, либо, ну, то есть программа, которая на роботе, она сможет вывести. То есть у меня Вон маршрут.
435: Построил из 11 в 12. Ему надо проехать, он сможет сейчас это сделать. Да, давайте сейчас поставим по другому. Просто все, запускайте ещё раз. Вот. Да, вот так вот так, с 11 в 12.
436: Это 0, все правильно.
437: Так, ну он все равно выбирает другое движение, че то, да, он куда-то так. Ну ладно, давайте тогда завершим попытку, там уже все равно, да, там уже понятно. Вот ещё хотелось бы презентацию показать. Да, да, теперь слушаем презентацию.
438: Да, момент.
439: Видите? Да. И отключитесь от робота, пожалуйста, чтобы следующие могли. Так чего? Чего? Ещё раз отключитесь от карр 7, чтобы следующая команда. А, все, извиняюсь, момент.
440: Там же, если просто сайт закрыть, то он отключится или нет, нужно именно нажать сбросить подключение. Да, да, иначе она за вами закрепится.
441: Ну вот я нажимаю сбросить подключение, че то не реагирует. Ну, зайдите ещё раз, он сейчас пишет карр 7 свободно, поэтому, в принципе, ну тогда хорошо, все, включайте презентацию. Угу.
442: Так вот видите, да, в общем, всем здравствуйте. Меня зовут Иванов Дмитрий. Я представляю команду энвелоп от колледжа мгкит. Мы прошли полуфинал и
443: С вами снова в финале. В общем, перед нами в финале задачи стояли такие задачи, как улучшить алгоритм поиска, создать алгоритм управления и адаптировать алгоритм под реального робота, то есть алгоритм.
444: Мы взяли из полуфинала, его улучшили, чтобы как можно меньше было точек невозврата и как можно, ну, больше он находил правильных, правильных путей.
445: Вот мы быстренько пробежимся по изменениям. Вот это добавлен баг режим для тестирования программного комплекса локально, из за которого у меня в начальных попыток, в начальных попытках робот не ехал, потому что я запускал его с баг режимом. А когда
446: Ак. Режим включён, то он никак не взаимодействует с библиотекой управления робота, чтобы не было, ну, конфликтов, потому что у нас не было исходного кода её и, соответственно, мы никак не можем на неё повлиять. Также провели рефакторинг всего ко.
447: Да, вот и переделали запасной алгоритм поиска пути. Мы заменили алгоритм дейкстры на алгоритм поиска путей с помощью муравьиный алгоритм. Так называемый создан алгоритм поворота роботов.
448: Пространство на следующем слайде. Я про него чуть подробнее расскажу. Также создан алгоритм интерпретации маршрута в команды робота. Ну, это можно сказать, практически 1 алгоритм, но все же, в общем, хотелось бы затронуть систему навигации чуть подробнее.
449: Так как перед нами стояла, стояла задача адаптировать решение под робота и было дано всего 3 команды. Это езжать до следующей точки, повернуть направо, повернуть налево. Соответственно, проверяющий, когда
450: Если смотрели код, то могли увидеть объявление класса графа, ну то есть, который нам давали на полуфинале, и который наверняка есть где-то в машинке и в её библиотеке. В общем, там мы немножко поменяли отношение. Ну, положен
451: Робота по градусам к определённым точкам. То есть если у нас 0 градусов, то у нас робот смотрит влево, это получается на запад. Ну будем смотреть как карта, вот как карта на фото представлена.
452: То так она и есть, то есть она 0 градусов, это лево, он смотрит на запад 90 градусов. Это север, он смотрит на nu, вперёд прямо карты, ну и так далее. В общем, ну.
453: Результаты мы уже показывали. В общем, как итог мы научились работать с достаточно трудными. И ресурс, ну, ресурсоёмкими алгоритмами, а также научились их оптимизировать под такое железо, как расберипай, ну, разбери.
454: Ни славится своей вычислительной мощностью, однако она достаточно удобна для взаимодействия с железом. Ну, железо с программой. В общем, спасибо за внимание.
455: Угу. Спасибо. Команда, у меня тоже вопрос. Вот у вас, да, давайте указан алгоритм на основе муравьиного. Как он у вас, соответственно, в при
456: Операции этого алгоритма. Он может, вот оптимальный путь, а он не 1 операцию. У нас прописано в коде, там, если проверяли, то там прямо в запуске есть такой параметр, как оперейшенс, он сейчас
457: В 200. Все, я понял. Спасибо. Вот. И, в принципе, в 200. Ну, так как у меня тоже есть дома, разбери пай. Я тестировал на ней при двухста итерациях. Он, ну, там достаточно меньше 5 секунд занимает обработка поиска. Угу. Спасибо.
458: Ещё вопросы?
459: Так, больше вопросов от жюри нет. Спасибо команде, инвел. Следующая команда это аппроксимацию из мтуси.
460: Есть представители, а проксимально да, да, есть. Ага. Подключайтесь к роботу номер 7, и сейчас я скажу вашу начальную позицию. Начальная позиция.
461: Точка 3, направление 0 градусов.
462: И препятствия сейчас скину в чат. Препятствие 7 8 и препятствие 3 2.
463: Так, подключились, однако, на интерфейсе нету камеры и местоположения на карте.
464: К 7 подключились? Да, да, к 7. Так, сейчас отсоединитесь от неё и подключитесь к 1. Возможно, нужно перезапустить.
465: Да все, теперь видно.
466: 1 машину поставьте в это положение в 3 0 робот, а все правильно отображается на карте.
467: Да, вроде бы правильно отображается, так как готовы, можете начинать.
468: Препятствия расставлены.
469: Так.
470: Робот начал движение так сейчас включу на трансляции камеры с макета.
471: Так, давайте, а он начал движение. Все так, он сейчас в точке 4.
472: Так, точки 5.
473: Точки 6.
474: Так, поворот не туда сейчас был, так робот, все, дальше он не поедет, он упёрся в стену.
475: Так, завершайте алгоритм. Почему-то он у вас не туда повернул, да, но параллельно выполнению у нас начали выходить ошибки из библиотеки. То что
476: То камера, индекс торре, то есть классическая ошибка. А, то есть он вот, да, да, все началось ещё в 0 точке, можно сказать, 7.
477: Подключайтесь к 7, к 7, роботу 3 0 7 отображается как в использовании. Простите. Так, Антон.
478: 7 робот в использовании сейчас.
479: Подключились, получилось, да.
480: Да, получилось. Сейчас запускаю. Угу.
481: Поправь.
482: Так, точка 4 сейчас находится.
483: В точке 5.
484: Точки 6.
485: Неправильно выполнен поворот опять.
486: Так, завершайте программу.
487: И отключайтесь от робота и можете включать демонстрацию.
488: Завершили, да, пройдено 3 точки.
489: Отключитесь только от робота.
490: Так, я тогда включу демонстрацию, да, да. И включайте демонстрацию, чтобы объяснить ваше решение.
491: Угу.
492: Так, здравствуйте. Уважаемое жюри. Было дано задание о нахождении кратчайшего пути при заданных ограничениях, а именно 15 метках, и от нуля до 3 препятствий. Данную задачу можно представить.
493: Как задачу о нахождении минимального цикла в ориентированном взвешенном графе, где вершинами являются, извините, у вас не видно переключения слайдов. У вас сейчас вот, вот, вот я просто ещё к коду не дошёл. Ага. Где вершинами являются
494: Контрольные точки, а рёбрами дороги, соединяющей в связи с тем, что ограничения малы. Нами, был разработан алгоритм на основе перебора всевозможных путей с некоторыми евристика и позволяющими существенно сократить его. Заметим, что при поиске пути нам
495: Может быть, выгодно посетить 1 и ту же вершину графа несколько раз, и это напрямую связано с препятствиями на дороге, так как мы заранее знаем количество препятствий, мы можем рассчитать количество потенциальных посещений для каждой вершины таким обра,
496: На этапе формирования пути мы можем отбросить те пути, в которых хотя бы 1 вершина была посещена, больше обозначенного нами предельного количества посещений.
497: Следующая эвристика связана с мемоизацией лучшего, полученного нами ранее пути. Таким образом, на этапе формирования пути мы можем предсказать потенциальную возможность или невозможность текущего пути заменить текущий оптимальный путь таким обра.
498: Мы отбрасываем ещё 1 часть кандидатов на роль оптимального пути. Извините, у вас включена только 1. Я знаю, я знаю, я просто ещё сейчас на функции, представленной здесь.
499: После нахождения требуемого маршрута он преобразуется в последовательность команд, реализуемую техническими средствами ровера. Нами были также рассмотре.
500: И другие решения на основе дейкстры и алгоритма-ка, но в ходе исследования этих алгоритмов было принято решение отбросить их. Данное решение было принято в связи с тем, что дейкстра не ищет минимальные циклы. В графе алгоритм комора имеет сложность вычислений, сопоставимую с
501: Алгоритм в качестве дополнений нашего алгоритма можно рассмотреть оптимизацию за счёт нахождения кратчайшего пути попарно из каждой вершины в каждую другую. Используя алгоритм флойда. На этом все. Спасибо за
502: Код. Ну в общем то код можно посмотреть на данных слайдах.
503: Здесь у нас как раз реализована функция генерации пути, названная дфс, она рекурсивная и на выходе, соответственно, возвращает оптимальный путь. Вот.
504: Дальше представлена функция вспомогательная это функция комппер нужна для того, чтобы поддерживать оптимальный путь, сравнивая его с текущим найденным. А постал.
505: Препятствия на наш граф.
506: Соответственно, здесь на данном слайде показана инициализация и в общем то все. То есть здесь мы инициализируем объекты ровера, объекты, связанные с графами.
507: Веса, а именно веса, направления связи. Вот. И дальше уже запускается наш функции под названием дфс и вычисляется оптимальный путь. Вот.
508: Так вы все?
509: Вы закончили выступление? Да? Ага. Тогда попрошу жюри вопросы к команде. Это команда проксима туси.
510: Так, ну давайте я задам вопрос. Вот если у вас появится как бы висящая вершина в, то есть в задании, как робот отреагирует на такое?
511: Ну так на такую ситуацию, висящую, в смысле, что ей инцидентно инцидентно лишь 1 ребро, в неё можно заехать, из неё можно выехать только по
512: 1 ребру. Ага, ну в таком случае мы в эту вершину зайдём и выйдем из неё, и она войдёт в оптимальный путь.
513: Ага.
514: То есть он все равно её будет посещать, да? А, ну если по заданию нужно все посетить, в принципе, да.
515: Так, ну ещё вопросы?
516: Скажите, а какой у вас вот именно основной алгоритм? Это декстра?
517: Основной алгоритм, по сути, это просто поиск в глубину, в котором нет массива визите, соответственно, мы можем посетить несколько вершин.
518: Ну, 1 и ту же вершину несколько раз. Вот, но при этом, за счёт представленных эвристик мы будем это делать определённое количество раз, то есть, которое будет зависеть от количества препятствий в графе. Угу.
519: Спасибо. Так, ну, если нет больше вопросов, есть ещё 1 вопросик. Ага. Вот вопрос в том, что этот самый алгоритм как-то предусматривал, как
520: Карту местности. То есть предполагалось, что есть пути, кроме того, пути, который был задан
521: Ещё раз, в смысле имеется ввиду? Смотрите, как то как-то у вас опиралась на сам по себе макет, то есть этот самый карта местности полностью
522: Была прописана в программе или нет? Нет, нет, нет. Можно абсолютно на любой карте запускать.
523: Я понимаю, что на абсолютно любой карте, но просто смотрите, ну, например, вот перекрыто было. Какое там препятствие то было?
524: Если посмотреть по карте местности 4 тире 11, по моему, было у них или нет, нет. У них было 7, 8 и 3, 2, 7, 8 и 3, 2. Вот смотрите, например.
525: Семёрки в восьмёрку можно было пройти через 14:15 точку.
526: Вот я имею ввиду, что предполагалось ли вот по алгоритму, что до 7 точки дошли, а потом пошли в объезд.
527: То есть, чтобы посетить все вершины, вы имеете ввиду, ну, чтобы посетить максимально возможное число вершин. Ну да, огибая препятствия, да? Ну ладно.
528: Хорошо.
529: Так, спасибо, если больше нет вопросов, приглашаю команду про робот из beat.
530: Команда про робот.
531: Есть ли участники из команды про робот?
532: Да, здравствуйте. Команда про робот. Так, сейчас можете подключаться к kar 7. И сейчас скажу.
533: А мы не можем зайти на сайт, мы вводим логин. Пароль у нас не удаётся авторизоваться при кнопке войти, а попробуйте через
534: Вкладку инкогнито. Сейчас, секунду, тогда.
535: Выставляйте пока робота на 14 0. Позицию препятствия 4 5 и 15 14 14 0 4 5:15.
536: Роботы номер 7 все хорошо, к роботу номер 7 подключаемся, зашли, получилось.
537: Да, да, да, да. Все получилось через папку инкогнито. Сейчас подключим к роботу, 7. Ага. К 7 подключайтесь. Да, хорошо.
538: Так, включаю трансляцию с внешних камер.
539: Проверьте, что там все правильно отображается на карте.
540: Да, все отображается корректно. Код как будете готовы, можете запускать.
541: Мы запустили, получается, коннекшн опен был в 21 Порту, но ничего не происходит, ошибок никаких не выдаёт.
542: Так, а во время во время тренировочных заездов у вас работало насчёт тренировочных заездов мы объединились в несколько command, делали вот и другие команды, когда подключались трениро.
543: Заездам роботы в принципе некорректно работали вообще, то есть успешно откатать тренировочный заезд не получалось ни у кого, не только у нас.
544: Некоторые команды смогли все равно что-то сделать. Ну вот в большинстве случаев у нас, да, не получалось, просто некорректно все работало.
545: Так, ну если там ошибок не выходит, то, возможно, проверьте, у вас есть там комментарии на русском языке?
546: Что ещё раз комментарии на русском языке у вас есть?
547: Нет, вообще нету никаких комментариев, ошибок до сих пор нету.
548: Так, ну давайте попробуем другому роботу может быть, это проблема именно на этом.
549: Антон, поставьте, пожалуйста, 1 робота вместо 7, да? Так, соответственно, команда, можете отключиться от 7 и к 1 подключиться к 1, да.
550: Нет, все равно не работает.
551: Так, ну если у вас он сейчас не поедет, ну тогда можно сразу перейти к объяснению решения.
552: Хорошо, без проблем все равно вообще ничего не происходит. Просто если там конкретно какая-то ошибка в коде он вообще выводит.
553: Но ошибок никаких вообще в принципе не бывает.
554: Ну, то есть там не ругается ни на камеру, не на движение. Если просто если есть ошибка именно с синтаксисом, либо с нашей библиотекой, он будет выводить ошибку. Вот если там какая-то вообще он все ошибки выводится.
555: А что, он ваш не будет?
556: Ещё раз можете повторить вообще он все ошибки должен выводить.
557: Но у нас ничего не выводит, кроме как того-то, что он подключился и на 26.
558: Ну, давайте перейдём к объяснению решения презентации. Если у вас не получилось запустить, да, без проблем. Сейчас включу демонстрацию. Угу. Спасибо. И отключите.
559: Отключитесь от робота, пожалуйста. А, да, конечно. Сейчас, секунду.
560: Все, отключился. Угу. Спасибо. Ну, в 1 очередь перед нами стояла самая основная цель это запрограммировать сам, ну, реального робота на движение по городу, который вы можете наблюдать на 1 слайде, и он представлен ниже.
561: Задача вся заключалась в том, чтобы именно взаимодействовать с настоящим роботом, а не с виртуальным, как мы делали это на прошлом этапе. И, ну, самая основная функция для нахождения кратчайшего пути. Она реализована через алгоритм декстры, и она описывается ниже.
562: В данном этапе, ой, ну в данном этапе вообще происходит работа с вашей библиотекой и также происходит работа с библиотекой. Очереди с приоритетом, где узлы с наименьшим расстоянием обрабатываются самыми первыми.
563: Также есть словарь, в котором мы храним минимальное расстояние от начала начального узла до каждого узла в графе, и к тому же есть словарь, где каждому узлу сопоставляется для восстановления он пути после завершения алгоритма в цикле у нас также идёт извлечение.
564: С наименьшим расстоянием из очереди, чтобы обработать его следующим потом. У нас также есть функция для определения Поворотов нашего робота, и эта функция определяет текущую ориентацию робота. Далее после этого идёт определение, куда ему нужно повернуть, чтобы направиться
565: К следующему узлу также проверяем разницу между текущим и требуемым направлением и выполняем наш поворот, который нам нужен. После этого идёт функция для выполнения движения на данный, ну, в данной функции мы проходим все пути, определяем следующий узел в пути вызы.
566: Функцию, чтобы робот повернул в нужном нам направлении, которое мы узнали до этого и двигаемся к следующему узлу. В конце ещё раз вызываем функцию, чтобы вернуться к самой стартовой точке, которая указывается у нас в коде. И после этого самый
567: Главный блок кода, это создаётся тровер, где инициализируется с начальной позиции направлением и прикрепляем нашу карту, которая нам нужна. А после этого запускаем поиск кратчайшего пути с использованием алгоритма экстра. Выполняем
568: Движение по найденному пути поворачиваю, передвигаясь вперёд узлами, которые были найдены все в принципе.
569: Угу, спасибо. То есть ваш основной алгоритм это алгоритм дэкстра, да, все правильно. Угу. И ещё скажите, он у вас привязывается к конкрет?
570: На карте города или или же он может начать работать в любой. Он может начать работать в любой, прежде чем запустить вообще робота и движение робота. Он перед этим сканирует все возможные кратчай, ну, кратчайшие
571: Пути с учётом всех заблокированных рёбер, которые невозможно пройти. И после этого уже выдаёт готовый маршрут, который он проходит и откатывает. Угу.
572: Так, хорошо, жри, если есть ещё вопросы.
573: Так, если вопросов нету, можем пойти дальше. Спасибо команде про робот. Да, вам спасибо. Да, возможно чуть чуть недоработали тренировочные заезды, но бывает это все-таки
574: Экспериментальный макет пока ещё не до конца отработанный, поэтому бывают сложности. Следующая команда автоботы книту каи, есть представители команды.
575: Здесь. Так, сейчас подключайтесь к роботу. Номер 1. Позицию начальную сейчас скину.
576: Начальная позиция точка 9 180 градусов, препятствие 13:15 и 2 препятствие 4 11.
577: Как подключитесь к роботу, скажите, все ли правильно отображается?
578: Вроде пока, да. Угу.
579: Так, он не на поле, конечно, вроде как, ну, именно по навигации. Возможно, он чуть чуть неправильно отображается. Ну, в области в этой точно.
580: Он сейчас получается, как можно же демонстрацию будет запустить, показать, что именно происходит. Да, можно.
581: То, что вот так отображается, это вы подключились, наверное, а другого робота выставили. Отключитесь от него и подключитесь к роботу. Номер 1 том.
582: Так, да, попробуем. Ну, все равно не на, на точка. Ну, попробуем.
583: Так, а где он сейчас отображается?
584: Он вообще не видит.
585: Ну, он на карте появился или нет? На карте появился. Отключите демонстрацию.
586: Так, ну вроде правильно, да.
587: Чёт запускаю, он ничего не делает.
588: Да ничего не происходит. А вы пробовали именно этот код на тренировочных заездах? Ну, он до этого ездил как минимум.
589: Так, остановите. Там никакие ошибки не будут. Нет? Так, давайте сейчас тогда включим другого робота. Принесите, пожалуйста, 7 робота тоже сюда.
590: Отключитесь от этого.
591: Проверял точно, лично. И, ну, я ночном запускал. Можете пробовать.
592: Все равно не едет нормально.
593: Так у меня ничего не происходит.
594: Ничё не даёт.
595: Так вообще есть здесь.
596: Почему стартует?
597: Ну, ничего не выдаёт.
598: Отключи другого робота возможно не трогать. Это сейчас попробую запустить. Отключитесь от робота. Сейчас его проверят. Возможно.
599: Там сберет что-то.
600: Так, ну тестовый код мы сейчас запустили, он поехал. Возможно у вас какая-то ошибка была.
601: Я вот когда включаю, ну то есть запускаю, чтобы просто он поехал вперёд, он даже не хочет, не может.
602: То есть даже без всяких алгоритмов, без сразу просто подключился и запускает сразу вперёд, он не идёт.
603: Вот мы сейчас запустили, он поехал.
604: Попробуйте ещё раз, Арсен, подключитесь 1 к 7.
605: Ничего не выдаёт.
606: Ну вот буквально 10 секунд назад он проехал вперёд по пробной программе. У нас, возможно, у вас какая-то ошибка. Ну давайте тогда, если не запускается, перейдём к объяснению кода, засчитаем баллы за написание.
607: Программы.
608: Только отключитесь тогда от карси.
609: Получается.
610: Основная наша была задача это в том, чтобы на карте, ну, проехать 15 точек, которые могут расположены, быть 1 или 3 препятствия, которые блокируют определённый участок дороги, с 1 стороны.
611: Машина появляется со случайной точки и под случайным углом.
612: Мы, получается, использовали перебор, как до этого рассказывали. Здесь, получается, фиксируем, что через каждую точку определённое количество раз можно будет только проехать.
613: У нас, по сути, был просто обычный перевод.
614: В принципе, все.
615: То есть сам алгоритм вот находится.
616: Есть. А, то есть у вас все было привязано именно к данной карте? Да? Нет, то есть у нас был, получается, он когда просматривал пути?
617: И он проверял, проехал ли он точку больше, чем нужное количество раз. А это нужное количество раз определялось через, ну, грубо говоря, количество дорог подключено к нему. Угу.
618: Ну, то есть, если бы там была другая карта предоставлена на финале, то он бы, в принципе также бы и продолжил движение.
619: Угу. Так, ладно, хорошо. Есть ещё вопросы у жюри команде?
620: Так, ну тогда спасибо вам за решение и следующая приглашается команда фрукты не уми.
621: Так, представители команды фрукты есть.
622: Я не слышу. Давайте дальше. Команда рбт также не умные.
623: Так, команда рбт тоже нет, команда неудержимая, гки.
624: Я вроде видел участников с названием неудержимые.
625: Команда неудержимые
626: Команда. Ага, подключайтесь к роботу номер 7. Сейчас Антон следующая команда. Так.
627: Сейчас я вам выдам положение, куда вам нужно ставить начальная точка 7. Угол 90 препятствия. Сейчас скину препятствие 4.
628: 5 и 2 7 8.
629: Как подключить? Скажите, все ли правильно отображается? Корсем? Напоминаю.
630: Команда неудержимая, если что, команда неудержимая.
631: Сейчас, секунду.
632: Команда фрукты рбт не подключились.
633: Команда неудержимые, проверьте, все правильно отображается на карте командный механизм. Будет возможность ещё раз проверить. Была заминка, алгоритм рабочий.
634: После давайте после студентов, после студентов, да, сколько ещё осталось? 3 команды, ещё 3 команды.
635: Так, у вас выводит ошибку, правильно?
636: Так, интересные формы общения поставьте, ну, выключите программу.
637: Так он выводит no module Липс, откуда вы взяли этот модуль? У вас в примере был другой?
638: Там, я, насколько помню, вы говорили, что неправильно запустили программу на роботе. Если такая ошибка выдаётся, вы импортируете модуль икс, а его на роботе нету. Это из симуляции.
639: Посмотрите, у вас импорты там стоят другие.
640: В примере программы для реального робота используется библиотека.
641: Другая.
642: Там другой импорт должен стоять.
643: Так, ну я думаю, что он не запустится, потому что здесь этой библиотеки не было.
644: Ну, давайте перейдём тогда к объяснению кода вашего. Возможно, сможем понять вашу задумку. Отключитесь только тогда от корсем.
645: Так, когда мы начинаем, можете включить демонстрацию и рассказать про ваше решение.
646: Так, все видно, все видно. Да, да. Всем добрый день. С вами, Милад кодали, командир команды неудержимые. Я вам сегодня буду.
647: Показывать презентацию финал конкурса робот в городе.
648: Вот вам виденный экран, участники команды неудержимые.
649: И сейчас переходим к целям и задачам конкурса 1 цель это увеличение инноваций, конкурс служит платформой для демонстрации технологий и новаторских решений.
650: В робототехнике. 2, 2 цель это образовательная цель. Событие вдохновляет новое поколение инженеров и программистов на изучение и развитие робототехники. И 3
651: Популяризация науки конкурс призван привлечь внимание широкой публики к достижениям в области робототехники.
652: Дальше идёт объяснение кода 1 идёт start, но это начальный узел, с которого начинается движение 7, потом идут блоки это зонированные блоки, которые представляют собой преграду на пути path это пустой список для хранения финального пути, а это?
653: Список доступных точек, по которым можно двигаться, если нет группировки. Дальше вы видите словарь, представляющий граф, где ключами являются узлы, а значениями в списке соседей для каждого узла. Дальше вы видите функцию, которая принимает список целевую точку.
654: Список.
655: Также внизу представлен индекс начального узла, который мы получаем.
656: Функция пот производит проверку на наличие заблокированных путей и пытается найти альтернативный маршрут внутренние детали преобразует заблокированные пути в массив на основе строкового представления проверяет, есть ли заблоки.
657: В текущем 1 если такое совпадение найдено, то начинаются манипуляции соседями в графе блокирование узлов для обхода через список соседей, постоянное обновление, списка путей до получения конечной точки дальше добавляются.
658: Сначала узлы от 7 до конца и включает проверку на возможные объезды с помощью функции, затем добавляются узлы от начала списка до 7 и снова проверка на возможность объезда, в результате этот код создаёт граф инициализирует его, проверяет заблокированные участки.
659: И прокладывает путь для модели завершающая часть отвечает за перемещение по этому пути.
660: В заключение мы можем сказать, что наша тщательно продуманная стратегия и слаженная работа команды помогли нам успешно пройти все этапы конкурса. Мы уверены, что на
661: Заслужил 1 место на этом престижном конкурсе. Спасибо за внимание.
662: Спасибо команде, неудержимые жюри могут задать свои вопросы.
663: Добрый день. В том коде, который я видел, указываются просто какие-то вершины, как эти вершины между собой соединяются вот этой части программы для про