Обо мне

В ожидании Нового Года в Тулузе

Меня зовут Иван Колесников, мне 27 лет и я живу во Франции с 4 сентября 2020 года.

Это мой не первый раз в этой стране - с января по июль 2018 года я жил в течении полугода в Вальбонне (населённый пункт недалеко от Ниццы) и учился на программе International Master 1 Computer Science в университете Ниццы Софии-Антиполис (в настоящий момент носит название Université Côte d'Azur), куда я попал по программе международного обмена ERASMUS+ во время учёбы на российской магистратуре “Информационные системы и технологии” в Астраханском государственном университете. До этого опыта у меня не было хоть сколько-нибудь конкретных планов касательно эмиграции, например, когда я учился на бакалавриате “Мехатроника и робототехника” в АГУ, однако после участия в программе обмена, я понял, что мне может быть очень интересно по окончанию российской магистратуры попытаться продолжить мою образовательную и научную карьеру во Франции.

В связи с этим после окончания университета в Астрахани, я начал подавать документы в различные французские вузы и в конечном итоге мой выбор остановился на программе Computer Science for Aerospace в университете Поля Сабатье в Тулузе. И через год после окончания российской магистратуры я отправился в этот прекрасный “la ville rose” (“розовый город”). Из-за специфики французского образования у меня была возможность сэкономить время и сразу поступить на второй год, поскольку у меня уже был диплом российской магистратуры.

В ходе обучения на второй магистратуре я проходил полгода практику в IRIT (Institut de Recherche en Informatique de Toulouse).

Робототехника

Параллельно с учёбой, ещё со школы, я увлекался компьютерами, в частности программированием. К концу школы и началу бакалавриата обозначился мой интерес не только к программированию в общем, но и в частности к программированию кибер-физических систем, к коим относятся робототехнические системы.

Я и Михаил с нашими роботами

В ходе учёбы на бакалавриате и магистратуре вместе с моим лучшим другом Михаилом Ильменским я принимал активное участие в нескольких десятках соревнований по робототехнике, включая, как наиболее престижные, - RobotChallenge (Пекин, Китай), Robomaticon (Варшава, Польша), Robofinist (Санкт-Петербург, Россия) и Robofest (Москва, Россия). В этих и многих других соревнованиях наша команда неизменно занимала призовые (чаще всего первые) места. Также мы достигли определённых успехов в ряде олимпиад и конкурсов по спортивному программированию. Самым значимым является дважды выход в полуфинал чемпионата мира по программированию ACM ICPC в Санкт-Петербурге и дважды же получение на нём диплома третьей степени. Охватывая разные области знаний мы добивались максимальных возможных результаов.

Робот Pucks Harvester 2 и его заслуженные награды
Панель настройки робота
Роботы категории Puck Collect в естественной среде обитания

Нашим самым “урожайным” в плане наград роботом является Pucks Harvester 2 - робот для участия в соревнованиях в номинации Puck Collect или Робосортировка. Задачей роботов в данной номинации является сборка и сортировка пластиковых шайб двух цветов, а затем их доставка и выгрузка на своей базе. Одновременно соревнуются два робота в автономном режиме, необходимо доставить максимальное количество шайб правильного (своего) цвета и минимального количества шайб цвета неправильного. Время ограничивается тремя минутами, любое ручное вмешательство в работу механизма в ходе соревнования запрещено.

Система управления робота построена на 32-битном микроконтроллере STM32F407, работающем на частоте 168 МГц и имеющим 192 КБ оперативной памяти и 1 МБ постоянной памяти для программ. Сортировка осуществляется мощными сервоприводами, а в движение робот приводится с помощью мотор-редукторов от автомобильного стеклоподъёмника. Питается всё от двух литий-полимерных аккумуляторов высокой ёмкости. Механическая конструкция робота преимущественно состоит из аллюминия и оргстекла, некоторые небольшие детали напечанны на 3D-принтере из PLA пластика или изготовлены из дерева. Покрышки колёс отлиты вручную из двухкомпонентного силикона, обеспечивая роботу очень высокое сцепление с поверхность.

Именно этот робот принёс нам первое место в Китае и в Польше и немало призовых мест в России.

Pucks Harvester 1 и его первые кубки

Внимательный читатель может заметить цифру 2 в названии описываемого робота - это не случайность. До того как был построен Pucks Harvester 2 нами был разработан и изготовлен другой робот для той же номинации соревнований. Он имеет конструкцию похожую на нового робота (вероятно, корректнее говорить, что новый робот имеет конструкцию, похожую на старого робота), однако в ней преобладает дерево в качестве конструкционного материала, используется два более слабых микроконтроллера (Arduino Uno и STM32F103) и существует ряд других технических недостатков. После появления нового робота мы продолжили принимать участие в соревнованиях с обоими, однако статистически Pucks Harvester 2 чаще занимал первые места.

Путешествия

Где-то в Пекине…

Участие в конкурсах и олимпиадах позволило мне посетить множество городов моей необъятной Родины (и некоторые из них - даже не один раз):

Также, начиная с окончания бакалавриата, я так или иные посетил целый ряд стран (впрочем, большинство из них уже не являлось местами проведения соревнований):

Программирование

Мне очень нравится программирование и информационные технологии, поэтому я имею тот или иной опыт работы с множеством языков программирования и технологий. Мне интересно буквально всё - от веб-программирования и разработки игр до программирования встраиваемых систем и разработки компиляторов новых языков программирования. В профессиональном плане у меня есть опыт Full Stack фриланса на JavaScript, а также полтора года опыта работы Backend разработчиком на Java (Spring Boot). Помимо этого бесчисленное множество различных пет-проектов, часть из которых опубликована на моём GitHub. Кстати, движок этого блога тоже является моей собственной разработкой и написан на Rust с использованием стека Axum, SQLX (PostgreSQL) и Handlebars для backend и Svelte для frontend. Это уже вторая версия моего блога, первая использовала Java микрофреймворк Quarkus и шаблонизатор Qute, используя ту же СУБД. Я решил переписать всё с нуля с целью изучения новой технологии и оптимизации потребления ресурсов сервера. Оба движка блога используют S3-совместимое хранилище для мультимедиа.

Планы на будущее

Работаю, путешествую, пишу пет-проекты, учу французский, освежаю английский, исполняю роль Vice President of Education на 2023-2024 год в клубе Toastmasters Nice.