Создание парсера

На языке С# мы написали оконное приложение для парсинга сайта habr.com. На главной странице сайта каждый день отображаются новые статьи, а приложение выводит на экран заголовки этих статей. Пока программа с сайтом Вконтакте не связана, но это в планах дальнейшей работы. На сайте habr это что-то вроде примера работы парсера, планируется, что он точно таким же образом будет выводить названия групп с сайта рекламной биржи Вконтакте. Плюсом ко всему, парсер должен будет определять тематику групп по их названиям. С сайтом Вконтакте будет похожая стратегия написания кода.

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (11.12.2017 - 17.12.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Написать алгоритм обхода препятствий

Был написан алгоритм обхода препятствий:

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (4.12.2017 - 10.12.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Переписать узел, отвечающий за нахождение препятствий

Узел, отвечающий за нахождение препятствий был переписан из-за неудобства использования. Узел публиковал препятствия с информацией о левом и правом угле этого препятствия, что не удобно, так как мы работаем в системе координат. Теперь узел публикует препятствия с информацией о координатах левой и правой точки. Так же, благодаря новому алгоритму, избегается еще больше помех.

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (27.11.2017 - 3.12.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Внести изменения в узел, отвечающий за нахождение препятствий
  • Доработать алгоритм просчёта безопасной зоны поворота

В узел, отвечающий за нахождение препятствий были внесены изменения. Теперь при обработке данных игнорируются некоторые помехи и находится угол до минимального расстояния от препятствия до робота. Также узел был переименован для удобства понимания.

Алгоритм просчёта безопасной зоны поворота был успешно доработан, теперь зона поворота рассчитывается корректно и робот останавливается при появлении препятствия в зоне поворота.

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (20.11.2017 - 26.11.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Написание нового узла

Узел — исполняемый файл пакета ROS. Узлы ROS используют клиентские библиотеки ROS для связи с другими узлами. Узлы могут публиковать или подписаться на Тему(Topic).

Именно для удобства приема и публикации данных был создан новый узел.

Был создан новый узел robotModel, в который были перенесены все формулы расчёта габаритов робота, использующиеся для нахождения зоны безопасного движения (до этого все расчеты проводились в отдельном модуле).

Данные в него передаются из Лаунч-файла.

  • Публикация и приём данных

Была реализована публикация данных из нового узла в топик. А так же приём этих данных из топика в узел по обработке данных.

25.11.2017, 16:37
Клещев АлексейПользователь
Прогресс по проекту «SLAM» (23.10.2017 - 29.10.2017)

Участники:

  • Клещев Алексей
  • Галембо Егор
  • Кирьянов Данил

Поставленные задачи в период с 23.10.2017 - 29.10.2017:

1.Продумать реализацию алгоритма SLAM составления и заполнения карты.

2.Изучить документацию на сайте wiki.ros.org.

В результате были выполнены все поставленные задачи в период с 16.10.2017 по 22.10.2017:

1.В ходе обсуждения было решено, что наилучшей реализацией алгоритма SLAMбудет представление карты в виде двумерного динамического массива (матрицы) содержащего следующие символы:

«#» - препятствие

«*» - робот

«-» - свободная ячейка

а основе данных с Лидара строится двумерный динамический массив, крайней дальней ячейкой которого является самое удаленное препятствие. Далее массив заполняется следующим образом:

1.Анализируется поток данных с Лидара

2.На основе данных высчитывается координаты препятствий

3.В соответствующие ячейки помещается символ «#»

2.Для дальнейшей работы и понимания концепции графа ROS было выяснено, что:

~ Узел(Node) — это ничто иное, как исполняемый файл пакета ROS. Узлы ROS используют клиентские библиотеки ROS для связи с другими узлами. Узлы могут публиковать или подписаться на Тему(Topic). Узлы могут также предоставлять или использовать службы(Service).

~Клиентские библиотеки ROS: позволяют реализовывать узлы ROS на различных языках программирования:
Rospy = клиентская библиотека для Python
Roscpp = клиентской библиотеки для С++


~Rosbash включает следующие утилиты командной строки, явно похожие на стандартный bash в Linux.Например,

roscd - изменить каталог, начиная с имени пакета, стека или местоположения
это эквивалент cd в стандартном Bash.

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (13.11.2017 - 19.11.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Переписать Лаунч-файл
  • Перенести математическую модель в код
  • Перенести все расчеты в отдельный модуль

Планируется создать отдельный узел для параллельных расчетов и передачи части данных в модуль по определению препятствий. Также все еще нужно доработать обнаружение препятствий при повороте.

Мы успешно переписали Лаунч-файл. Теперь в нем задаются  все константы для робота, которые в будущем будут передаваться в отдельный узел. Алгоритм, изученный на прошлой недели был полностью перенесен в код и на его основе проводятся все расчеты. Этот код расположен в отдельном модуле.

В течении прошлой недели мы ещё раз обдумали создание проекта и решили переписать саму игру на языке программирования Python. 15.11.17 мы всей командой собрались. На тот момент было написано два поля для игры, расстановка однопалубных кораблей и поведение игры при их обнаружении. Планируется доделать интерфейс и приступать к созданию бота.
На встрече мы решили собираться каждую среду для отчётности и совместному написанию проекта.

Прогресс по проекту "Разработка модели движения гусеничного робота и реализация алгоритма управления" (6.11.2017 - 12.11.2017)

Участники:

  • Тростницкий Сергей
  • Ивачевский Иван
  • Волкова Виктория

Задачи:

  • Разобраться в математической модели движения робота
  • Доработать алгоритм остановки перед препятствием

Этим летом во время практики, второкурсник разрабатывал математическую модель движения робота, которая дает возможность любым роботам с известными размерами рассчитать безопасную зону для движения вперед, назад или для разворота.

Эта модель была полностью изучена нами и на основе ее дописан алгоритм обнаружения препятствий и остановки при движения назад. Запланировано доделать алгоритм обнаружения препятствий при повороте, а также было решено перенести все расчеты в отдельный модуль, а все константы задавать в Лаунч-файле для более удобной работы.

На рисунке представлен робот в виде прямоугольника с гусеницами и лидаром:

Отчёт за два месяца работы над проектом.

Участники

Курочкина Елизавета(ФО-260004),

Банных Адриана(ФО-260002),

Засыпкина Полина(ФО-260004).

Актуальность данной задачи

Разработка систем для решения проблем позиционирования и навигации внутри зданий является актуальной задачей, потому что здания имеют сложную структуру и человек перестаёт ориентироваться. Также, навигация внутри помещений помогает ориентироваться на улице, где в условиях плотной застройки использование систем спутниковой навигации затруднено. Такая эта проблема актуальна для Японии с высокой плотностью городской застройки. Кроме того, с помощью навигации внутри помещений можно найти ближайшую стойку регистрации в здании аэропорта, экспонат в музее,свободное место на парковке, узнать об акциях в ближайшем магазине и многое другое.

Широкое распространение технологии Wi-Fi

Существуют современные системы определения местоположения внутри помещений, как использование Bluetooth-маячков Becon, навигация по Wi-Fi, GSM, GPS, геомагнитное позиционирование. В нашем проекте использование Wi-Fi более предпочтительно для решения задачи позиционирования мобильного устройства пользователя в зданиях, так как технология Wi-Fi имеет в настоящий момент широкое распространение как на современных мобильных устройствах, так и в большинстве зданий, что позволяет задействовать для этих целей уже готовые структуры.

Также навигация поможет крупным компаниям, например, Макдоналдс, потому что посетители могут один раз подключится к Wi-fi, а потом компания будет знать, как часто человек проходит мимо Макдоналдса и посещает его, что очень важно для развития компании.

Технология применения Wi-Fi в нашем проекте

В нашем проекте мы использовали метод триангуляции. Это метод определения расстояния. Он заключается в определении местоположения закрепленных в комнате модулей в вершинах треугольника, а затем мы по трём сторонам находим высоту, и в итоге получаем координату. Основной проблемой для нас это был способ определения расстояния между источником сигнала и приемником. Потому что сигнал прыгает и может быть 99% как около точки, так и в другой части комнаты. Тем более координаты точек Wi-Fi точно не известны и они могут меняется. Поэтому мы рассчитывали погрешность расстояния, определяли координаты, где находится точка доступа(реальный уровень сигнала) и где находимся мы(оцененный уровень сигнала), затем брали среднее значение.

Какие устройства мы использовали:

1. 3 платы NodeMCU

2. Аккумуляторная батарея

3. Зарядное устройство для аккумуляторной батареи.

Чего удалось достичь и что нужно доделать

1. Мы программировали модули с помощью Ардуино, сейчас с их помощью и пытаемся найти собственные координаты.

2. Мы учились вычислять уровень сигнала.

3. Работа над графикой и обработкой всех ситуаций и исключений. На данный момент сделана графика и находятся координаты.Сигнал от точек нестабильный, поэтому абсолютно точных координат пока не получаем. По совету куратора мы пытаемся обработать расчёты фильтрами. На данный момент оборудование сдано, теперь будем пользоваться своими точками доступа в виде телефонов.

Список литературы

1. Щекотов М.С. Анализ подходов к позиционированию внутри помещений с использованием трилатерации сигналов Wi-Fi. (Статья)

2. https://habrahabr.ru/post/245325/

Подписка на новости
Контакты

Адрес: г. Екатеринбург, ул. Мамина-Сибиряка 145, к. 1119 (на карте)

Тел.: +7 (343) 355-93-88

info@cosmoport.club