Инженерный тур. 2 этап
Данный пакет задач подготавливает участников к задаче заключительного этапа. Все знания и навыки, необходимые для этого, востребованы и в задачах второго этапа.
Задачи построены по принципу цепочки, то есть численный ответ, получаемый в первой индивидуальной задаче одной компетенции, является входными данными при решении второй задачи во второй и третьей компетенции.
Для решения требуются компетенции по Robot Operating System, Python3, Arduino, а также школьные знания физики и математики.
Индивидуальные задачи второго этапа инженерного тура открыты для решения. Соревнование доступно на платформе Яндекс.Контест: https://contest.yandex.ru/contest/69890/enter/.
На помощь космонавту-программисту Василию с Земли прислали космонавта-конструктора Валеру. Валере надо спроектировать простой кронштейн для сервопривода и рассчитать некоторые его параметры. Помогите ему!
Спроектируйте кронштейн в соответствии с чертежом (рис. 1.1). Выставьте материал кронштейна — алюминий с плотностью 2,700 г/см\(^3\).
Рассчитайте массу кронштейна в граммах с точностью до одного знака после запятой.
На проверку необходимо прикрепить zip-архив с 3D-моделью разработанной детали. В архиве должны содержатся только два файла.
STEP/STPфайл с деталью.Название файла решения
NTO2024_[Surname_Name].stp.Пример:
NTO2024_vasiliev_nikolai.stp(step).Скриншот из САПР с выводом массы детали.
Название файла решения
NTO2024_[Surname_Name].jpeg(png,jpgи т. д.).Пример:
NTO2024_vasiliev_nikolai.jpeg(png,jpgи т. д.).
Ответы получаются автоматически при использовании специального ПО для 3D-моделирования.
Файл с деталью: https://disk.yandex.ru/d/WHw9iNNOvOafkA.
Файл со скриншотом: https://disk.yandex.ru/i/4Y86QpTU8IyGBA.
43,7 г (43,727 г — расчетный результат).
Допустимый диапазон: 42–44 г.
На помощь космонавту-программисту Василию с Земли прислали космонавта-электронщика Виталия. Виталию необходимо разработать схему и программу для системы интеллектуального освещения с регулировкой яркости и двумя режимами работы.
Для решения этой задачи необходимо использовать симулятор Arduino: https://wokwi.com.
Для построения системы используйте следующие компоненты из библиотеки Wokwi:
- контроллер Arduino Mega,
- светодиод,
- резистор,
- кнопка,
- переключатель ползунковый,
- резистор переменный/ползунковый,
- ультразвуковой дальномер HC-SR04.
Требования к работе схемы и программы
- При запуске программы должно прийти уведомление о старте в монитор порта.
- В зависимости от начального положения переключателя должен включиться либо ручной режим, либо автоматический режим.
- В автоматическом режиме светодиод должен включаться только тогда, когда значения расстояния на ультразвуковом дальномере будет меньше или равно 200 см. Также в автоматическом режиме светодиод не должен реагировать на нажатия кнопки.
- При нажатии на переключатель должен меняться режим работы.
- В ручном режиме светодиод должен включаться/выключаться по нажатию кнопки. Также в ручном режиме светодиод не должен реагировать на изменение расстояния на ультразвуковом дальномере.
- В каждом из режимов работы яркостью светодиода можно управлять с помощью переменного/ползункового резистора.
- При изменении режима работы должно приходить сообщение с текущим режимом в монитор порта.
- Провода должны быть аккуратно размещены на схеме (по возможности). Допускается использование макетной платы. Также допускается использование общего заземления и общего питания (5V).
Ссылка на пример работы схемы: https://disk.yandex.ru/i/x79ZCFaEwteNGQ.
Оформление результата работы
Результатом задачи является архив с итоговым решением. Загрузить итоговый zip-архив файла проекта можно напрямую на сайте https://wokwi.com, рис. 1.2.
- Формат архива — zip.
Название файла решения
NTO2024_[Surname_Name].zip.Пример:
NTO2024_vasiliev_nikolai.zip.В архиве должны содержаться только три файла:
wokwi-project.txt;sketch.ino;diagram.json.
- Оценивается и схема, и программный код.
Проверка задания осуществляется в симуляторе Wokwi. Если работа выполнялась в другой программе или сервисе, рекомендуется проверить работоспособность в симуляторе Wokwi перед отправкой.
Проанализировать требования к схеме и программе, собрать схему в симуляторе, написать программный код, протестировать, скачать архив и прикрепить его к ответу.
Архив с эталонным решением: https://disk.yandex.ru/d/_SVvaZoa1Y_CtA.
Для получения делителя электрического напряжения электронщику по имени Виталий, работающему в космосе, требуется выполнить расчет схемы, состоящей из двух резисторов.
Пожалуйста, окажите ему помощь!

Входящее питание на делитель напряжения снимается с 10-го пина Ардуино PRO Micro. Напряжение на 10-й пин подается командой:
analogWrite(10,102);
Определите номинал нижнего резистора \(R_2\) делителя напряжения, если известно, что верхний резистор \(R_1\) имеет номинал 2 Ом, а выходное напряжение составляет 1 В.
В соответствии с формулой делителя: \[U_\text{вых} = U_\text{вх}\cdot \frac{R_2}{R_1 + R_2};\] \[R_2 = \frac{U_\text{вых}\cdot R_1}{U_\text{вх}-U_\text{вых}}.\]
Подставим значения \(U_\text{вых} = 1\), \(U_\text{вх} = 2,\) \(R_1 = 2\), получаем результат: \[R_2=2.\]
2.
Космонавт-программист Василий углубляется в изучение системы ROS и желает попрактиковаться в симуляции, прежде чем отправлять команды реальному роботу Федору. Давайте поможем Василию в этом деле. Участникам предоставлен созданный организаторами файл «сцены» для симулятора ROS Gazebo. Также в распоряжении участников находится файл запуска, который разворачивает сцену со стеной и размещает в ней робота turtlebot3 burger.
Для выполнения этого задания потребуются следующие этапы:
- Установить ОС Ubuntu 20.04: https://vk.com/video-206862623_456239459.
- Установить ROS Noetic: https://vk.com/video-206862623_456239462.
- Установить
turtlebot3_simulations:sudo apt install ros-noetic-turtlebot3-simulations ros-noetic-turtlebot3-description - Скачать файлы
wall.worldиwall.launch: https://disk.yandex.ru/d/-3r8FQ-YN2eEXw. - Поместить
launchфайл в директориюlaunchпакетаturtlebot3_gazebo. - Поместить
wall.worldв директориюworldsпакетаturtlebot3_gazebo. - Указать модель робота —
turtlebot3 burger:export TURTLEBOT3_MODEL=burger - Запустить
launchфайл как часть пакетаturtlebot3_gazebo:roslaunch turtlebot3_gazebo wall.launch - Убедиться, что робот и стенка появились в симуляторе (рис. 1.4).
Напишите программу на языке Python с использованием библиотеки rospy, которая будет выполнять следующую логику.
После запуска программы робот должен развернуться на 240° вокруг оси \(Z\) относительно начального положения. После окончания разворота робот должен переместиться на 0,4 м прямо в системе координат связанной с роботом. Далее необходимо выводить минимальное расстояние до стены. В качестве ответа ожидается число — расстояние до стены, округленное до первого после запятой. Запрещается редактировать wall.launch и wall.world!
Для наибольшей точности предлагаем использовать:
- угловую скорость: \(\pm ~0{,}05\);
- линейную скорость: \(\pm~ 0{,}05\).
Отправьте на проверку файл с кодом, написанным для решения задачи. Файл с кодом должен иметь расширение .py.
Формат имени файла решения: NTO2024_[Surname_Name].py.
Пример: NTO2024_vasiliev_nikolai.py.
Для перемещения робота можно написать программу, которая сначала повернет робота на нужный угол, а затем даст ему команду на движение прямо на необходимое расстояние. После того как робот совершит перемещение для определения минимального расстояния до стены, можно в той же программе вывести на экран минимальное значение массива ranges в топике scan.
Файл с кодом: https://disk.yandex.ru/d/8PSqeJfwjnnJRg.
Правильным считается результат в диапазоне: 1,4–1,5 м.
Командные задачи второго этапа инженерного тура открыты для решения. Соревнование доступно на платформе Яндекс.Контест: https://contest.yandex.ru/contest/69912/enter/.
На помощь космонавту-программисту Василию с Земли прислали космонавта-конструктора Валеру. Валере надо спроектировать простой кронштейн для сервопривода и рассчитать некоторые его параметры. Но теперь для этого он будет использовать данные космонавта-электронщика Виталия. Помогите им!
Спроектируйте кронштейн в соответствии с чертежом из задачи «Разработка кронштейна» 1.1, увеличив значение ширины основания кронштейна с 30 мм на количество миллиметров, полученное космонавтом-электронщиком Виталием как ответ на задачу «Расчет электрической схемы» 1.3.
Например, Виталий получил ответ 3,5 Ом, значит, следует прибавить к ширине основания в 30 мм 3,5 мм, получите ширину нового основания 33,5 мм, перепроектируйте деталь, выставьте материал кронштейна — нержавеющая сталь с плотностью 8,000 г/см\(^3\) и рассчитайте массу кронштейна в граммах с точностью до одного знака после запятой.
Ответы получаются автоматически при использовании специального ПО для 3D-моделирования.
Файл с деталью: https://disk.yandex.ru/d/uBT0yz3UGYA-2w.
Файл с скриншотом: https://disk.yandex.ru/i/AlAEqqOwoscCkA.
133,4 г (133,4 г — расчетный).
Допустимый диапазон: 132–134 г.
На помощь космонавту-программисту Василию с Земли прислали космонавта-конструктора Валеру. Валере надо спроектировать простой кронштейн для робота и рассчитать некоторые его параметры. Но теперь для этого он будет использовать данные космонавта-программиста Василия. Помогите им!
Спроектируйте кронштейн в соответствии с чертежом из задачи «Модернизация кронштейна V.1» 2.1, уменьшив значение высоты обеих стоек кронштейна с 22 мм на количество миллиметров, полученное космонавтом-программистом Василием как ответ на задачу «Разработка программы для управления роботом на ROS» 1.4.
Например, Василий получил ответ 2,5 м, следует вычесть 2,5 из количества миллиметров на чертеже, то есть вычтите из 22 мм 2,5 мм, получите значение 19,5 мм, перепроектируйте деталь, выставьте материал кронштейна — нержавеющая сталь с плотностью 8,000 г/см\(^3\) и рассчитайте массу кронштейна в граммах с точностью до одного знака после запятой.
Ответы получаются автоматически при использовании специального ПО для 3D-моделирования.
Файл с деталью: https://disk.yandex.ru/d/G5buP5iy-Ti2yw.
Файл с скриншотом: https://disk.yandex.ru/i/yzIzux6jcwAHEQ.
128,1–128,9 г.
Допустимый диапазон: 127–130 г.

На помощь электронщику Виталию, работающему в космосе, с Земли прислали космонавта-конструктора Валерия. Им требуется выполнить расчет схемы, состоящей из двух резисторов для получения делителя электрического напряжения, но теперь они будут использовать данные конструктора Валерия. Пожалуйста, окажите им помощь!
Входящее питание на делитель напряжения снимается с 10-го пина Ардуино PRO Micro. Напряжение на 10-й пин подается командой:
analogWrite(10,102);
Определите номинал нижнего резистора \(R_2\) делителя напряжения, если известно, что верхний резистор \(R_1\) имеет номинал в омах, который равен массе детали в граммах с округлением до первого знака после запятой, которое получил космонавт-конструктор Валера в своем задании «Разработка кронштейна» 1.1, а выходное напряжение составляет 0,5 В. Округлите ответ в омах до второго знака после запятой и запишите его.
В соответствии с формулой делителя: \[U_\text{вых} = U_\text{вх}\cdot \frac{R_2}{R_1 + R_2};\] \[R_2 = \frac{U_\text{вых}\cdot R_1}{U_\text{вх}-U_\text{вых}}.\]
Подставим значения \(U_\text{вых} = 0{,}5\), \(U_\text{вх} = 2,\) \(R_1 = 43{,}7\), получаем результат: \[R_2=14{,}57.\]
Расчетный диапазон: 14,55–14,58 Ом; допустимый диапазон: 14,4–14,7 Ом.
На помощь электронщику Виталию, работающему в космосе, с Земли прислали космонавта-конструктора Василия. Им требуется выполнить расчет схемы, состоящей из двух резисторов для получения делителя электрического напряжения, но теперь они будут использовать данные программиста Василия. Пожалуйста, окажите им помощь!
Входящее питание на делитель напряжения снимается с 10-го пина Ардуино PRO Micro. Напряжение на 10-й пин подается командой:
analogWrite(10,102);

Определите номинал нижнего резистора \(R_2\) делителя напряжения, если известно, что верхний резистор \(R_1\) имеет номинал 2 Ом, а выходное напряжение составляет такое количество вольт, которое равно расстоянию до стены с округлением до десятых долей метра, которое получил космонавт-программист Василий в задании «Разработка программы для управления роботом на ROS» 1.4. Округлите ответ в омах до второго знака после запятой и запишите его.
В соответствии с формулой делителя: \[U_\text{вых} = U_\text{вх}\cdot \frac{R_2}{R_1 + R_2};\] \[R_2 = \frac{U_\text{вых}\cdot R_1}{U_\text{вх}-U_\text{вых}}.\]
Подставим значения \(U_\text{вых} = 1{,}4\), \(U_\text{вх} = 2,\) \(R_1 = 2\), получаем результат: \[R_2=4{,}7.\]
4,7 Ом.
Правильный диапазон: 4,7–6 Ом.
Космонавт-программист Василий продолжает изучение ROS, но теперь ему помогает космонавт-конструктор Валера. Вместе они достигнут большего! Помогите им решить общую задачу.
Для выполнения этого задания потребуются следующие этапы:
- Установить ОС Ubuntu 20.04: https://vk.com/video-206862623_456239459.
- Установить ROS Noetic: https://vk.com/video-206862623_456239462.
- Установить
turtlebot3_simulations:sudo apt install ros-noetic-turtlebot3-simulations ros-noetic-turtlebot3-description - Скачать файлы
wall.worldиwall.launch: https://disk.yandex.ru/d/-3r8FQ-YN2eEXw. - Поместить
launchфайл в директориюlaunchпакетаturtlebot3_gazebo. - Поместить
wall.worldв директориюworldsпакетаturtlebot3_gazebo. - Указать модель робота —
turtlebot3 burger:export TURTLEBOT3_MODEL=burger - Запустить
launchфайл как часть пакетаturtlebot3_gazebo:roslaunch turtlebot3_gazebo wall.launch - Убедиться, что робот и стенка появились в симуляторе (рис. 2.5).
Напишите программу на языке Python с использованием библиотеки rospy, которая будет выполнять следующую логику.
После запуска программы робот должен развернуться на количество градусов, которое равно количеству граммов, полученных в задаче «Разработка кронштейна» 1.1, вокруг оси \(Z\) относительно начального положения. После окончания разворота робот должен переместиться на 0,4 м прямо в системе координат, связанной с роботом. Далее необходимо выводить минимальное расстояние до стены. В качестве ответа ожидается число (расстояние до стены), округленное до первого знака после запятой. Запрещается редактировать wall.launch и wall.world!
Для наибольшей точности предлагаем использовать:
- угловую скорость: \(\pm ~0{,}05\);
- линейную скорость: \(\pm ~0{,}05\).
Для перемещения робота можно написать программу, которая сначала повернет робота на нужный угол, а затем даст ему команду на движение прямо на необходимое расстояние. После того как робот совершит перемещение для определения минимального расстояния до стены, можно в той же программе вывести на экран минимальное значение массива ranges в топике scan.
Файл с кодом: https://disk.yandex.ru/d/gaxB-EOJPbRr_g
Верный ответ в диапазоне: 2,0–2,1 м.
Допустимый диапазон: 1,9–2,2 м.
Космонавт-программист Василий продолжает изучение ROS, но теперь ему помогает космонавт-конструктор Валера. Вместе они достигнут большего! Помогите им решить общую задачу.
Для выполнения этого задания потребуются следующие этапы:
- Установить ОС Ubuntu 20.04: https://vk.com/video-206862623_456239459.
- Установить ROS Noetic: https://vk.com/video-206862623_456239462.
- Установить
turtlebot3_simulations:sudo apt install ros-noetic-turtlebot3-simulations ros-noetic-turtlebot3-description - Скачать файлы
wall.worldиwall.launch: https://disk.yandex.ru/d/-3r8FQ-YN2eEXw. - Поместить
launchфайл в директориюlaunchпакетаturtlebot3_gazebo. - Поместите
wall.worldв директориюworldsпакетаturtlebot3_gazebo. - Указать модель робота —
turtlebot3 burger:export TURTLEBOT3_MODEL=burger - Запустить
launchфайл как часть пакетаturtlebot3_gazebo:roslaunch turtlebot3_gazebo wall.launch - Убедиться, что робот и стенка появились в симуляторе (рис. 2.6).
Напишите программу на языке Python с использованием библиотеки rospy, которая будет выполнять следующую логику.
После запуска программы робот должен развернуться на 240° вокруг оси \(Z\) относительно начального положения. После окончания разворота робот должен переместиться на то количество метров прямо в системе координат связанной с роботом, которое равно количеству ом в ответе на задачу «Расчет электрической схемы» 1.3, прямо в системе координат связанной с роботом. Далее необходимо выводить минимальное расстояние до стены. В качестве ответа ожидается число (расстояние до стены), округленное до первого знака после запятой. Запрещается редактировать wall.launch и wall.world!
Для наибольшей точности предлагаем использовать:
- угловую скорость: \(\pm ~0{,}05\);
- линейную скорость: \(\pm ~0{,}05\).
Для перемещения робота можно написать программу, которая сначала повернет робота на нужный угол, а затем даст ему команду на движение прямо на необходимое расстояние. После того как робот совершит перемещение для определения минимального расстояния до стены, можно в той же программе вывести на экран минимальное значение массива ranges в топике scan.
Файл с кодом: https://disk.yandex.ru/d/t88MuN9oxyhCTQ.
Правильный диапазон: 0,1–0,3 м.





