В прошлой статье, посвященной автономной домашней тележке 2.0, удалось поработать над тем, как:
— улучшить одометрию бюджетного робота,
— добиться построение приемлемой 2d карты помещения, используя slam алгоритмы и доступный лидар,
— внести ясность в иные вопросы при сборке проекта.
В этот раз посмотрим как работает автономная навигация в редакторе rviz, внедрим программы управления роботом, которые позволят уйти из rviz.
Рассмотрим также некоторые «элементы красоты» rviz, которые облегчают жизнь робототехника ROS.
Проект строился на базе достаточно известного в своих кругах другого проекта — linorobot (linorobot.org), при этом использовались доступные простому обывателю компоненты. Цели, которые были поставлены: добиться автономного перемещения робота в домашних условиях, используя low-cost компоненты, оценить производительность мини-пк для заявленных целей, настроить стек навигации для перемещения в узких пространствах хрущевок.
В этой статье попробуем получить выписки из ФГИС ЕГРН с помощью python (selenium) сразу по нескольким объектам недвижимости, решим капчу с помощью сервиса anticaptcha, используя его api. При встрече с капчей нейросети трогать не будем, так как они могут показаться сложнее в реализации, да и процент «успешных разгадываний» капч с их помощью пока ниже.
ROS (Robotic operation system) уверенно занимает лидирующие позиции в стандартах робототехники. Говоря словами известного политика, ею уже пользуются «не только лишь все».
В данной статье попробуем взглянуть на следующий этап развития ROS — систему ROS2, подходящую для более «рукастых» разработчиков. Сравним обе системы в общих чертах, а заодно установим ROS2 на систему Ubuntu 18.04.
Hh.ru — неплохой сайт, не нуждающийся в дополнительном представлении. Поиск вакансий на нем удобен и прозаичен. Однако, порой интереснее посмотреть со стороны работодателя:
как выглядит выдача резюме по целевому запросу,
как видно собственное резюме в выдаче,
как «проседает» резюме со временем, заодно собрать резюме коллег-юристов для построения мини-статистики.
Несмотря на то, что у hh есть собственное api и оно добротно задокументировано, доступ к нему тщательно оберегается.
Доступ к api осуществляется как и в ситуации со многими api соц. сетей — через предварительную регистрацию приложения в web-кабинете аккаунта, в данном случае, работодателя на hh.ru/employer:
При построении карт на роботе в рамках ограниченного пространства проблем не возникает. Управляя роботом с клавиатуры со станции-управления или на самом роботе, можно визуально наблюдать его перемещения и вовремя избегать нежелательные препятствия. Ситуация осложняется, если помещений несколько. И здесь есть несколько вариантов как наблюдать за роботом, строящим карту, если он покинул помещение оператора:
— подключить к непосредственно к роботу камеру;
— воспользоваться существующей системой видеонаблюдения вне робота;
— управлять с wi-fi, bluetooth клавиатуры, находясь рядом с роботом
— «поносить робота на руках», чтобы лидар собрал данные;
— поуправлять роботом с телефона.
Предупреждение: проект на видео — лишь образец, который можно сделать по туториалу в статье в части стереозрения и «поворотов головой». Танки с пультами xbox не прилагаются.
Не смотря на наглядность, скудный рассказ самого автора проекта на видео и наличие ссылок, сходу разобраться как все это работает непросто. Если есть желание собрать что-то подобное и в гораздо более удобном формате, рекомендуется к прочтению.
В прошлый раз, после установки бюджетного лидара RPlidar-A1 удалось построить карту помещения, поработать с одометрией. Однако робот, несмотря на наличие карты и настройку одометрии с оптических датчиков все еще чувствует себя неуверенно в окружающей обстановке.
Вернее, он ее вообще не видит. И ездит по готовой карте вдоль и поперек, препятствия не для него. Это и радует, и огорчает одновременно. С одной стороны не стоит беспокоится о препятствиях и ездить, куда душа пожелает, с другой стороны — поехать в другую комнату или на кухню, вряд ли получится. Поэтому поговорим о локализации робота в пространстве, используя алгоритмы, которые предоставляет ROS, а также наш джентельменский набор из лидара и энкодеров. Но перед тем как перейдем непосредственно к локализации, поговорим еще об одном пакете ROS, который также позволяет строить 2D карты помещения и порой это у него получается получше, чем у ROS пакета из предыдущего поста. Познакомимся с gmapping.
В прошлый раз мы оформили проект в виде отдельных модулей xacro, добавили виртуальные видеокамеру и imu(гироскоп).
В этом посте поработаем с одометрией с оптических энкодеров, которые установлены на валы колес, загрузим карту помещения и поездим по ней на реальном роботе-тележке.
В предыдущей статье был рассмотрен подход к созданию csv из xml на базе данных, которые публикует ФИАС. В основу парсинга был положен DOM-парсер, загружающий в память весь файл целиком перед обработкой, что приводило к необходимости дробления файлов большого размера в виду ограниченного объема оперативной памяти. В этот раз предлагается посмотреть насколько хорош SAX-парсер и сравнить его скорость работы c DOM-парсером. В качестве подопытного будет использоваться наибольший из файлов базы ФИАС — houses, размером 27,5 ГБ.
создать два launch файла, один из которых позволяет разместить робота в редакторе-симуляторе Gazebo;
поуправлять роботом в симуляторе Gazebo с клавиатуры.
В этом посте оформим проект в виде модулей xacro, чтобы он стал более читаемым (ранее для наглядности мы затолкали все описание в один xacro файл). Добавим виртуальную видеокамеру и imu. Просмотрим как добавлять в gazebo посторонние предметы окружающего мира.
Скачать ее можно перейдя по ссылке, данная база является открытой и содержит все адреса объектов по России (адресный реестр). Интерес к этой базе вызван тем, что файлы, которые в ней содержатся достаточно объемны. Так, например, самый маленький составляет 2,9 Гб. Предлагается остановиться на нем и посмотреть, справится ли с ним pandas, если работать на машине, располагая только 8 Гб оперативной памяти. А если не справится, какие есть опции, для того, чтобы скормить pandas данный файл.
Когда памяти вагоны и/или dataset небольшой можно смело закидывать его в pandas безо всяких оптимизаций. Однако, если данные большие, остро встает вопрос, как их обрабатывать или хотя бы считать.
Предлагается взглянуть на оптимизацию в миниатюре, дабы не вытаскивать из сети гигантские датасеты.
В качестве датасета будем использовать хабрастатистику с комментариями пользователей за 2019 г., которая является общедоступной благодаря одному трудолюбивому пользователю: dataset
В качестве инфо-основы будет использоваться ранее переведенная статья с Хабра, в которой намешано много интересного.
Продолжение цикла статей о создании небольшого робота. В этот раз речь пойдет о создании копии робота в симуляции, которую предлагают визуальные ROS-среды rviz и gazebo (далее «редакторы»). Работа в редакторах будет вестись на виртуальной машине, образ которой был ранее предоставлен для скачивания образ. Так как речь идет о симуляции, построении модели, сам робот-тележка не понадобится.
На просторах интернета до сих пор остаются актуальными капчи, которые в качестве опции предлагают прослушать текст с картинки, нажав на соответствующую кнопку. Если кому-то знакома картинка ниже и/или есть интерес как ее обойти, используя систему оффлайн распознавания звука, предлагается к прочтению.
«Консультант+» — справочная система для юристов, бухгалтеров и так далее. Работает стабильно, как часы. В этом посте предлагается немного эти часы настроить под свои нужды в части выдачи текста, а именно: взглянуть как можно переработать с помощью python текстовую информацию, которую выдает система. Попутно поработать с элементами текста, заявленными в заголовке.
Тема капч не нова, в том числе для Хабра. Тем не менее, алгоритмы капч меняются, как и алгоритмы их решения. Поэтому, предлагается помянуть старое и прооперировать следующий вариант капчи:
попутно понять работу простой нейросети на практике, а также улучшить ее результаты.
В прошлый раз, работая с OpenCV и ROS(robot operating system), используя всю мощь raspberry pi 3b+, удалось поездить по линии, разглядеть улыбки на лицах людей, печальные морды котов и даже поехать к ним навстречу.
Но вместе с обнадеживающими первыми шагами в этой области робототехники, пришлось столкнуться с целым сонмом мелких задач: медленная raspberry pi, небольшое расстояние от камеры, при котором распознавалось лицо, смещение в сторону при езде, иные. Как их решить, в том числе открыть новые небольшие горизонты в освоении ROS будет рассказано далее.
Определение взаимозависимых лиц согласно ст. 105.1 Налогового кодекса РФ достаточно тривиальная задача для корпоративного юриста.
Обычно это не вызывает сложностей и, кажется, зачем здесь что-то автоматизировать?
Все верно, если общество два или три сравнить их составы СД нет никаких проблем. Но, если обществ больше двух десятков и при этом в разных обществах разные составы директоров в том числе по количеству членов? Здесь уже надо потратить время. Потратим его на программу, которая за нас вычислит взаимосвязанные стороны, анализируя составы советов директоров.
Собрав «бургер» по схеме из прошлого поста, перейдем к программному наполнению.
Так как мы собираем по уже готовому проекту, логично привести инструкции, в нем указанные. Они находятся здесь.
Все очень удобно и там же можно скачать уже готовый образ с Raspbian Stretch + ROS + OpenCV, записать его на sd карту для raspberry. (ROS Kinetic, OpenCV 3.4.1. Да, есть и поновее, но иногда лучше взять и поехать, чем собирать все самому из исходников).