Раскручиваем Гайку: разработка ПО для роботов на платформе 1С

Публикация № 1097790

Разработка

Роботы на 1С стали реальностью. Их разработкой пока на общественных началах занимаются в компании «Цифровой кот». Насколько перспективно это направление, какие возникали сложности, и какая помощь коллег требуется, участникам конференции Infostart Event 2018 рассказал руководитель и ведущий разработчик компании - Юрий Лазаренко.

Я полагаю, что мало кого здесь волнует, кто я такой, потому что все хотят посмотреть на робота. Судя по реакции зала, так и есть. Мои  коллеги, когда узнали, что нас пригласили на конференцию, сказали: это тот самый случай, когда на конференцию пригласили не тебя, а твоего робота. А ты просто кожаный мешок, на который оформлены проездные документы в Питер. По сути, так и есть. Поэтому  давайте не будем тянуть время.

(На сцену выкатывается робот)

Он первый раз выступает на такой большой сцене, поэтому, понятно, волнуется.

Итак, друзья, перед вами, не побоюсь этого слова, первый в мире робот с мозгами на платформе 1С:Предприятие. Зовут Гайка.

Цель моего доклада – рассказать, что роботы на 1С - это не просто что-то, что можно сделать. Это сделать достаточно легко.

 

Каких роботов можно сделать на 1С?

Уже такой платформы достаточно для того, чтобы сделать:

  • робота-консультанта в магазин, в аптеку, куда угодно;
  • консьержа, который будет тапочки развозить в гостиницах;
  • официанта;
  • менеджера по перемещению товаров – так мы назвали грузчика. На самом деле он у нас уже так работает: по офису развозит 19 литровые бутылки с водой.

Немножко расскажу про эту платформу. Это абсолютно самодельная платформа, я ее собрал за год на кухне в свободное время. И это материальное доказательство того, что инженерам-одиночкам в этом мире ещё есть место. Привет, Илон Маск! Она весит 12 килограмм, может ездить автономно 6 часов, а если с остановками – то и все 24 часа. Она умеет разговаривать. Кстати, поздоровайся! (обращение к роботу)
 
Робот: - Здравствуйте, 1С-ники. Не могу сказать, что рада вас видеть, так как у меня еще нет камеры. Но мне приятно фиксировать ваше присутствие своими датчиками.
 
Докладчик: - Умница!
 
Робот: - Ты тоже!
 
Докладчик: - Спасибо, дорогая! У нас с ней взаимопонимание.
 
Продолжим: каких роботов можно сделать на 1С? Мы думали, как это можно отразить на одном слайде, и решили отразить в виде такой зависимости.

 

Если вы будете использовать только 1С, то робота у вас нормального не получится. Связано это с тем, что у 1С очень маленькое быстродействие. Кажется, что оно большое, но в мире микроконтроллеров это очень мало. В мире микроконтроллеров
один цикл может равняться нескольким микросекундам. 1С на такое не способна. Если мы начнем делать робота исключительно на 1С, это получится такая тормознутая машинка, которая будет постоянно во что-то врезаться, падать в ямы и так далее. Но чем больше каких-либо других технологий мы будем сюда добавлять, тем более эффективным станет робот.
 
Данный робот находится сейчас где-то посередине этого графика. Он использует платформу 1С в качестве мозга, пульт на мобильной платформе, с помощью которого я могу им управлять, «морда» написана на html и javascript. В прошлые два года я рассказывал о том, как мы делаем сайты на 1С. Это тоже сайт на 1С, наш собственный веб-клиент. Она умеет выполнять голосовые команды. Развернись! (обращение к роботу)
 
Робот: - Выполняю.
 
Докладчик: - При этом еще и говорит, если надо.
 
Почему в принципе возможно создание роботов на 1С, и как использовать различные технологии для того, чтобы это начало работать?

 

 

Если вы посмотрите на алгоритм работы мозга робота, то увидите, что там есть два пункта, которые подразумевают некое действие – ожидание команды и выполнение команды. Между ними – определение аварийной ситуации. На самом деле, наверное, правильнее было бы назвать не аварийной, а исключительной ситуацией, что в 1С называют попыткой исключения. А аварийная ситуация, это когда, например, робот стоит, его кто-то толкнул, он упал. Наступила аварийная ситуация: он не может выполнять свой
функционал. Если робот едет, видит впереди себя какое-то препятствие, то он эту команду не выполнит.
 
Кстати, робота зовут Гайка. Почему тебя так зовут? (обращение к роботу)
 
Робот: - Из-за формы корпуса. Никаких ассоциаций с одноименным мультяшным персонажем.
 
Докладчик: - Смотрите на следующий слайд. Здесь нарисовано то, что мы называем поддельная копия Морфеуса.

 

 

Шёл человек. Споткнулся, начал падать. Обратите внимание, куда он смотрит. Он заботится о своем кофе, который он может сейчас разлить. Он уже разлил его, все. Но при этом он сохранил вертикальное положение, удержал пакет в руках, и ноги сами поняли, куда сделать шаг, чтобы не упасть. То есть аварийная ситуация не наступила.
 
Вы когда-нибудь попадали в такие ситуации? Идешь, идешь, неожиданно споткнулся. Вы помните, что вы делали для того, чтобы не упасть?  Нет! Вы еще сообразить не успели, а ноги сами все сделали. Дело в том, что у человека есть головной и спинной мозг. Головной мозг придумывает, куда идти, а спинной – как идти и как сделать быстро реагировать на страшные ситуации. И это распространяется не только на ноги.
 
В качестве упражнения – нужно улыбнуться. Попробуйте улыбнуться. У Арни получилось.

 

 

Знаете, что такое цифра 17?

 

 

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

 

 

На слайде видно, что детали робота делятся на две составные части. Одни выделены оранжевым цветом – это головной мозг, принимающий глобальные решения. Остальное – спинной мозг. Он отвечает за каждое мелкое-мелкое-мелкое движение.

 

 

 

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


 

1С будет выполнять анализ и устранение аварийных ситуаций. То есть если робот идет и вдруг увидел, что впереди лежит корова, он в первую очередь остановится, а 1С уже будет решать, развернуться или позвать человека и попросить убрать корову.
 
Взаимодействие с человеком. Что происходит, когда я говорю ей
фразы? Например, расскажи анекдот. (обращение к роботу)
 
Робот: - Холостяк купил стиральную машину, посудомойку, мультиварку и робота-пылесос. Теперь шансы его женить практически равны нулю.
 
Докладчик: - В этот момент на борту произошло распознавание речи. Эта речь через http-запрос выполнила запрос к базе на 1С, которая находится в Москве на моём сервере. Сервер 1С проанализировал полученную речь и выдал результат.

Устройство роботов

Теперь немного про устройство роботов. Они не так страшны, как может показаться.

 

 

Перед вами «начинка» данной тележки. Здесь жирным выделены две важных детали: двигатель и колесо. У этого робота всего два колеса. Если они будут вращаться в одну сторону с одинаковой скоростью, он будет ехать вперед. В другую сторону – назад. В разные стороны вращаются, он разворачивается. Этого уже достаточно для того, чтобы покрыть, согласно принципу Парето, 80% необходимого функционала роботележки.
 
Как заставить робота взаимодействовать с его начинкой?

 

 

Его начинка, в данном случае микроконтроллер ESP-32. По сути, это микрокомпьютер, который программируется на языке С. Он представляет из себя веб-сервер, потому что на нем есть модуль wi-fi. Сейчас все эти детали, которые находятся здесь, соединены через iphone, являющийся роутером, в одну сеть. И все, что происходит – взаимодействие пульта морды и контроллера – все происходит в одной сети.
 
Код данного микроконтроллера можно разделить на три составные части.

 

 

Первое (левая часть) – это поднятие веб-сервера на 80-м порту. Далее, чтение значения джойстиков, то есть, когда я нажимаю кнопки, происходит http-запрос к данному микроконтроллеру. Что значит http-запрос? Это означает абсолютную масштабируемость, возможность управлять этим роботом откуда угодно: я могу управлять им с пульта, могу управлять им с сервера 1С, согласно какому-то скрипту, который занесен в мою программу, могу управлять голосом. И, чтобы передать роботу эти параметры, нужно всего лишь в http-запрос добавить два аргумента – lw и rw. Это скорость вращения левого колеса и правого колеса.
 
В реальности это выглядит так: обычное подключение через браузер к роботу, то есть обычная адресная строка. Вручную меняется значение параметра rw через http-запрос, микроконтроллер анализирует его, преобразует в некое число и с соответствующей скоростью вращает мотор. И чтобы управлять этим роботом, достаточно выполнить один http-запрос к его веб-серверу.

 

 

У него даже есть такая веб-морда, которую он способен сам генерить.

 

 

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

Как научить робота двигаться?

Хорошо. Крутить моторами научились. Но задача-то не просто крутить мотор. Например, мы хотим сделать робота-официанта. Робот-официант должен проехать по залу, мало того, что он будет избегать препятствий, нужно правильно проложить маршрут. А маршрут состоит из команд типа: проезжай вперед 3 метра, развернись влево на 90 градусов, езжай вперед 1 метр.
 
Делается это очень легко. Те, у кого есть велосипед, знают, как функционирует спидометр велосипеда. На вилку вешается датчик, на спицу вешается магнит. Каждый раз когда колесо вращается, магнит проходит мимо датчика, происходит клик, щелк. Зная диаметр колеса и количество щелчков, мы знаем, с какой скоростью едет велосипед.


Если на колесо робота прицепить 10 таких магнитов, то расстояние, которое он пройдет, можно вычислить по формуле: диаметр колеса, умноженное на число Пи и на количество магнитов. И добавляется еще один параметр к http-запросу – tact.
 
У этого робота диаметр колеса 12 см. Чтобы он проехал 1 метр, нужно сделать 27 тактов. То есть чтобы роботу дать команду «езжай вперед на 1 метр», нужно сделать к нему http-запрос с
параметрами: левое колесо = 1023, правое колесо = 1023 и tact = 27. По-моему, просто.
 
Цель моего доклада – как раз доказать вам, что программировать роботов – это не просто возможно, а на самом деле легко. Что мы хотим сделать? Мы на общественных началах просто пишем драйверы для такого робота. Что мы хотим получить на выходе? Некий набор программного обеспечения и подсистему в 1С, которая позволит подключить робота к 1С так, как вы сейчас подключаете терминал сбора данных (ТСД) или кассовый аппарат.
То есть для того, чтобы подключить робота, имеющего на борту манипулятор, роботележку какую-то, морду, вы просто задаете новый элемент справочника и указываете: у нас есть тележка с диаметром колес таким-то, шаг – такой-то (то есть на один оборот он использует столько-то тактов). И через десять минут у вас полностью настроенный робот. Когда это будет, не знаем. Потому что, как я сказал, работаем на общественных началах. Но возможно будет. Два года подряд я выступал на конференциях Infostart Event на тему создания сайтов на 1С, и многие сначала смотрели криво. Но ничего, работает. Мы это уже активно продаем.

Распознавание и синтез речи

 

 

Это тоже не так страшно, как может показаться. Дело в том, что сейчас в каждый браузер нативно встроены компоненты распознавания речи. Чтобы их подключить, вам нужно использовать пять строчек кода. И все, запускается распознаватор. Либо робот может слушать постоянно эфир, как он делает сейчас. Если не нужно слушать постоянно, можно использовать, например, модуль распознавания звука либо камеру. Как только он увидел, что появилось чье-то лицо, робот начинает слушать. Как только
распознавание текста выполнено, происходит запрос к серверу 1С. Сервер 1С – это конфигурация. В данном случае у нас там есть справочник, который называется «Правила обработки речи», и в зависимости от того, какая фраза пришла на вход, мы можем выполнить соответствующее действие.

 

 

Действие – это произнести, выполнить команду или выполнить код. Произнести – в ответ робот что-то говорит. Выполнить команду –  поехать, развернуться. Выполнить код – просто выполнить код в 1С. Причем любой. Вы можете сказать «перепроведи документы», и робот перепроведет документы у вас в базе. Можете считать, кстати, что это еще один вид клиента для 1С. Есть веб-клиент, тонкий клиент, и есть робоклиент.
 
Приведу код на языке 1С. Это код для мобильной платформы.

 

 

Он применяется как раз в этом пульте. Он тоже способен распознавать речь и выполнять команды. Чтобы вы поняли, насколько это не страшно и насколько легко, для запуска распознавания речи нужно 6 строчек кода. И примерно столько же, чтобы речь воспроизвести. Все сделано за нас уже давно. То есть распознавание и синтез речи – это проще, чем может показаться.

Как заставить робота выполнять команды?

Какой толк от робота, который повторяет за тобой приветствие или рассказывает один и тот же анекдот? Нужны и другие команды. Команды могут быть разные. Например, я спрошу у него: «какое сегодня число?». (Обращение к роботу)
 
Робот: - Сегодня 19 октября 2018 года, пятница.
 
Докладчик: - Чтобы вы не подумали, что я заранее забил туда эту фразу, я другое спрошу. Который час? (обращение к роботу)
 
Робот: - Текущее время 16 часов 47 минут.
 
Докладчик: - Сверьтесь с часами. Генерация этого текста сейчас происходит на лету. То есть в момент распознавания фразы запускается функция «сколько времени», находящаяся в общем модуле. Запуск происходит после анализа элемента справочника «обработка речи».


 

Самая страшная часть

То, что далеко не все умеют делать – определять  локации. Это  действительно самый сложный момент, но даже это тоже можно сделать. В 1С никак, но при взаимодействии с другими  технологиями вполне реально.

 

 

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

 

 

Координаты датчиков занесены в справочник 1С, называемый «датчики локации». В момент, когда робот хочет узнать свою позицию, он выдает некий сигнал точно таким же ультразвуковым датчиком.


 

Здесь нарисован кот, потому что у нас два робота. Второй – кот, но он, ленивая тварь, остался в Москве. Тварь – в хорошем смысле, как творенье божье. А Гайка у нас рабочий робот.
 
Если кот хочет выйти из помещения, он сначала должен понять, где он находится, потом построить маршрут. В определенный момент он своим ультразвуковым датчиком говорит «мяу».  В правом верхнем углу нарисована большая плата. Это контроллер Arduino Mega, к которому подключены маленькие ультразвуковые датчики. Он говорит: «Хорошо, я всех слушаю.», и начинает отсчет времени, за которое до каждого из датчиков долетит это «мяу».
 
Получилось где-то 13 миллисекунд, где-то 9 и так далее. В зависимости от времени вычисляется расстояние.

 

 

Дальше все очень просто. Методом триангуляции можно посчитать координаты робота.
 
То, что вы сейчас увидите, – это обычный табличный документ, на котором условно нарисован план этого помещения. Самый лучший вариант для того, чтобы управлять роботом, прокладывать маршруты – это разделить помещение на квадраты. Размер одного равен размеру робота.

 

 

У этого робота ширина 50 см. Если комнату разбить на квадраты размером 50 на 50 см, то далее как в обычной игре из 90-х. Может, кто-то игры писал в 90-е игры? Вот примерно так, в наше время, выглядели игры, когда у тебя есть компьютер Spectrum, и ты на нем начинаешь рисовать что-то подобное.
 
Алгоритмы нахождения пути настолько просты, что не стоит на них останавливаться. 1С с ними точно справляется. То есть 1С, проанализировав текущее положение робота и поняв, куда ему надо идти, дает несколько http-запросов:


 

1. идти вперед на 1 метр - крути колеса вперед 27 тактов;
2. поворот вправо на 90 градусов;
3. вперед на три с половиной метра.

Но у нас кот. А кот как обычно поступает? Он сначала просит тебя
долго: «Открой мне дверь!», потом подходит к ней, тупит, тупит, тупит, разворачивается и уходит обратно. Поэтому у нас здесь добавлены четвёртый и пятый пункты.
 
Кто-нибудь хочет задать вопросы роботу какие-нибудь?
 
Из зала: - Еще анекдот.
 
Докладчик обращается к роботу: - Расскажи еще анекдот.
 
Робот: - С вашего адреса идет подозрительный трафик. Так поступают роботы. Чтобы доказать, что вы не робот, причините вред другому человеку или своим бездействием допустите, чтобы
человеку был причинен вред.
 
Докладчик: - У нее своеобразный юмор. Робот еще и женщина. Не знаю, как я справляюсь, как-то получается.
 
Так... что ты еще умеешь? Хотите кейс? У нас есть замечательный кейс, который называется «Супермаркет».
 
Робот: - Развожу по офису бутыли с водой.
 
Докладчик: - Серьезно? Ты дурочка! (обращение к роботу)
 
Робот: - Зато красивая!
 
Докладчик: - Этого не отнять, да. Она на самом деле знает такие приколы. Я ее вынесу после выступления в холл, там позадаете вопросы. Дело в том, что в момент когда происходит распознавание речи, все фразы которые, ей говорят, записываются в лог. Чем хорош этот робот в качестве консультанта, если его поставить где-то в магазине? Девочка-консультант может некоторые вопросы фильтровать, не все вам может передать, не все в отчет внести. А робот пишет все. Она как КГБ-эшник. Она еще может фотографию лица сделать и сказать: кто, что говорил.
 
Чтобы научить ее каким-то фразам, мы запустили ее веб-морду на сайт и написали: «Друзья, у нас есть такой классный робот, научите ее говорить. Просто заходите и говорите все подряд. Мы эти логи будем читать и на основании этих логов составим ей какой-то язык».
 
Чего мы там только не начитались! Хотя вроде бы серьезные люди... Например, кто-то спросил у робота «Ты носишь трусы?». Может быть, этот человек сидит сейчас в зале. Мой пятилетний сын, когда я читал ему, очень смеялся. И теперь он постоянно к роботу подходит и спрашивает, носит ли она трусы.
 
Скажи, ты носишь трусы? (Обращение к роботу)
 
Робот: - Нет. Потому что они закрывают датчики обнаружения препятствий и я врезаюсь в стены.
 
Докладчик: - Пока мы не поставили ей датчики обнаружения препятствий, она действительно у нас в стены врезалась. Потом стало проще.
 
Один раз, я помню, когда обучал ее разговаривать, написал первый алгоритм, вроде все нормально. Потом оставил ее в комнате проверять, насколько она хорошо держит заряд, а сам пошел на кухню и начал дописывать этот алгоритм. И забыл ее отключить. А я же говорил что она через интернет управляется, и все, что ей скажешь, где бы ты ни находился, она все это поймёт. Сижу спокойно на кухне, слышу в комнате грохот. Захожу. Она каталась-каталась, выполняя все мои команды, а я ж не в курсе, не вижу. Намотала на себя провод от сушилки, опрокинула ее, сама забилась под кровать и оттуда мне индикаторами моргает. Достал я ее. Главное – не побьешь же ее, только ноги себе отобьешь.

Разделение функций дает хороший результат

Еще немножко по поводу того, какую роль может исполнять 1С, какую роль могут исполнять микроконтроллеры. Микроконтроллер с датчиком определяет расстояние до препятствия впереди. То есть если он едет, видит впереди стену, он останавливается и говорит: у меня исключения, аварийная ситуация. И дальше ничего не делает. Он просто останавливает робота. А что сделать с этим, решает 1С. То есть, если 1С может проложить маршрут до конечной точки, видит, что проложить маршрут вполне реально, можно сделать пути объезда, она поедет. Если же дать задачу невыполнимую, естественно, она ехать не станет. Если сказать «езжай вперед 100 километров», она понимает, что ей на столько просто аккумуляторов не хватит. Это все можно реализовать на 1С. То есть 1С в данном случае исполняет роль головного мозга.
 
(Что-то загудело.)
 
Что это было? А это ты! (Обращение к роботу) Интересный у тебя способ привлекать внимание к себе. С ней давно не общались. Ну, спой песню.
 
Робот: - Владимирский централ, ветер северный. Этапом из Твери, зла немерено...
 
Докладчик: - Я же говорил, что у нее своеобразный юмора. В интернете нахватается чего-то...
 
Вернемся к теме. 1С может анализировать заранее ситуации, понимать, следует выполнять эту команду или нет.

Вместо заключения

К какой мысли я хотел вас подвести?
 
Во-первых, при наличии тех драйверов к роботу, которые мы хотим написать, подключить робота к 1С будет легко. А дальше можно легко на 1С запрограммировать 90% всего функционала, который потребуется роботу.
 
Зачем вообще подключать робота к 1С? Во-первых, потому что 1С-ников много, и легко будет сопровождать, и стоимость владения роботами снижается в разы. Во-вторых, допустим вам, действительно, нужен консультант, который сможет всегда и все подсказать покупателю.
 
У вас есть конфеты мишка на севере? (Обращение к роботу)
 
Робот: - Да, конфеты мишка на севере в наличии. Цена 210 рублей за килограмм.
 
Докладчик: - Покажи, где лежат. (Обращение к роботу)
 
Робот: - Я покажу путь, следуйте за мной.
 
Докладчик: - Представьте, у вас есть ячеистый склад, на котором точно известно, где что лежит. Для того чтобы робот показал человеку, где что лежит, или снабженный манипулятором приехал и взял этот товар с необходимой полки, вам достаточно потратить день-два на написание кода в 1С, и у вас будет робот, способный это сделать.
 
Кстати, этот кейс у нас он называется «Супермаркет». Человек пришел за конфетами, не зная, где они лежат, а его тянет за виски. Поэтому дальше он робота спрашивает: у вас есть виски? (обращение к роботу)
 
Робот: - Прежде чем я проведу вас в отдел алкоголя, докажите, что вам есть 21 год.
 
Докладчик: - Как доказать?
 
Робот: - Продолжите фразу «тополиный пух...»
 
Докладчик: - Жара, июль.
 
Робот: - Тест пройден. Я верю, что вам больше 21 года. Следуйте  за мной.
 
Докладчик: - Вот такая умная штука. Так вот, 1С, который знает, где что лежит на складе, из реальных своих остатков, без всяких обменов способен, управляя роботом, полностью заменить кладовщика. Хотя, конечно, полностью тяжеловато будет с точки зрения разработки манипуляторов. Саму железку сделать – манипулятор – несложно, а вот научить его правильно брать какую-то вещь – это сложно. Буквально вчера один из посетителей конференции сказал, что одна компания купила тележки, потянули эти расходы, а манипуляторы не смогли купить, потому что они стоят бешеных денег. Поэтому на тележки посадили таджиков, тележка куда надо подвозит, а таджик берет и складывает.
 
Друзья, на этом у нас всё. Спасибо всем, кто пришел. Спасибо за внимание. Не забудьте поставить лайк, дружите с роботами и чаще улыбайтесь!

 

****************

Данная статья написана по итогам доклада, прочитанного на конференции INFOSTART EVENT 2018 EDUCATION. Больше статей можно прочитать здесь.

В 2020 году приглашаем всех принять участие в 7 региональных митапах, а также юбилейной INFOSTART EVENT 2020 в Москве.

Выбрать мероприятие.

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. ivanov660 1921 23.07.19 21:34 Сейчас в теме
У меня вопрос про алгоритм обработки сообщений (правила обработки речи) и "мышление". На сколько я понял логическая часть линейна, т.е. в табличную часть справочника забиваются синонимы команды и решение нахождения того или иного правила выполняется по простому совпадению преобразованной речи в текст? Или же есть еще какая-то пост обработка и иерархия (что-то вроде дерева решений)?
11. TitanLuchs 236 24.07.19 14:47 Сейчас в теме
(1) В данном примере линейная, на каждую фразу идет один ответ. Иерархию пробовали делать, там особо сложного ничего нет, это алгоритмы экспертных систем, описанные десятки лет назад.
15. ivanov660 1921 24.07.19 15:09 Сейчас в теме
(11)Одно дело теория, а другое практика. Вот я столкнулся с тем, что предобработка, создание нормальной базы правил, логики (особенно глубина дерева) совсем не тривиальная задача.
17. TitanLuchs 236 24.07.19 15:15 Сейчас в теме
(15) Согласен на 100 и даже больше чем на 100 процентов. Полноценного собеседника сделать сложно. Но древовидные скрипты - вполне. Оператора колл-центра такой робот сможет заменить.
2. Bene_Valete 162 24.07.19 04:48 Сейчас в теме
Подобный материал приятно читать, даже если не интересуешься темой, а если интересуешься то и подавно. Особенно порадовал юмор, в частности отсылка к переозвучке роботов Boston Dynamics :)
TreeDogNight; mskamrakova; TitanLuchs; gubanoff; +4 Ответить
3. 3vs 24.07.19 05:15 Сейчас в теме
Интересно, счастливые обладатели сих роботов должны будут
оформлять подписку на ИТС? :-)
TreeDogNight; mskamrakova; Alien_job; AllexSoft; dsdred; erutan; YPermitin; chemezov; +8 Ответить
24. TitanLuchs 236 25.07.19 13:26 Сейчас в теме
(3) Было несколько "пристрелочных" бесед с потенциальными инвесторами, пока в 100% случаев они готовы вкладываться в сервис по подписке: роботов передавать в собственность, а мозгами обеспечивать по схеме saas. Так что ИТС будет.
25. 3vs 25.07.19 13:31 Сейчас в теме
(24)Остаётся только уточнить, если пользователи роботов вовремя не заплатят за подписку,
что будет...
Восстание машин? :-)
26. TitanLuchs 236 25.07.19 16:02 Сейчас в теме
27. TitanLuchs 236 25.07.19 16:03 Сейчас в теме
(25) Остановится и на все команды станет отвечать: "Продлевать будете?"
28. 3vs 25.07.19 20:55 Сейчас в теме
(27)Ну и смысл всего этого...
30. TitanLuchs 236 26.07.19 13:09 Сейчас в теме
(28) Смысл такой же, как в ИТС и других сервисах по подписке
31. 3vs 26.07.19 15:57 Сейчас в теме
(30)Это понятно, другой вопрос, если встанет производство...
32. TitanLuchs 236 27.07.19 05:14 Сейчас в теме
(31) Ни один нормальный владелец производства не станет ставить роботов, работа которых зависит от подписки, для таких случаев будут другие условия и другие цены. Пока речь шла только о сервисных роботах.
Хотя с другой стороны, сейчас практически все компании зависят от сервисов по подписке. Например, работа большинства организаций остановится при отключении интернета, но это особо никого не беспокоит, так как достаточно просто вовремя платить за интернет, тем более, что в этом нет ничего сложного.
33. 3vs 27.07.19 07:12 Сейчас в теме
(32)Да, мир стал слишком зависим от интерета!
TitanLuchs; +1 Ответить
4. s22 19 24.07.19 08:03 Сейчас в теме
5. SerVer1C 199 24.07.19 08:11 Сейчас в теме
Одно не понятно - зачем здесь 1с ?
AllexSoft; igo1; testnv0; Robbi; manlak; blackhole321; YPermitin; cmd_vasec; +8 Ответить
6. herres 24.07.19 09:31 Сейчас в теме
(5) логику быстрее писать.
Помните был топик, где питонисты, шарперы и одинэсники соревновались в написании ИИ для управления кораблями на игровом поле ? И победили-то наши
TreeDogNight; mvxyz; TitanLuchs; gubanoff; user811769; +5 Ответить
20. AndrewKop 24.07.19 17:15 Сейчас в теме
8. Green2 29 24.07.19 09:56 Сейчас в теме
У меня крутится такой вопрос, 1С заточена для анализа деятельности предприятия.
Для этого у неё есть справочники, регистры, документы.
Хороший интерфейс для ввода данных на компьютере.

Но как это применить для робота, он ведь принимает данные с датчиков!

по моему, в данном случае 1С не имеет никаких преимуществ перед обычной программой на С, к которой подключена какая то база данных.
12. TitanLuchs 236 24.07.19 14:50 Сейчас в теме
(8) У 1С тут нет никаких преимуществ перед другими программами, так же как у других программ нет преимуществ перед 1С. Поэтому пусть будет 1С.
TreeDogNight; mvxyz; +2 Ответить
9. astracrypt 63 24.07.19 10:42 Сейчас в теме
Категорически против подключения 1С к роботам, это все равно что забивать гвозди пачкой банкнот. Можно на Питоне сделать все быстрее получится, и веб-интерфейс подключить. И тормозить не будет, и ИИ там как бы уже давно развивается (ну типа распознование образов, голосов, и прочая шелупонь)
testnv0; Robbi; user811769; +3 Ответить
13. TitanLuchs 236 24.07.19 14:51 Сейчас в теме
(9)
Категорически против подключения 1С к роботам

Ничего страшного, главное чтобы мы были за.
TreeDogNight; chemezov; +2 Ответить
10. Robbi 56 24.07.19 12:15 Сейчас в теме
По такой логике давайте уж и ПО автопилотов самолетов на 1С писать ))
А что: стоимость разработки снижается в разы, легко сопровождать, быстро доработать - любой студент после месяца франча сможет что-то дописать.
Отраслевое решение "1С Полетаем, смертнички!"
14. TitanLuchs 236 24.07.19 14:52 Сейчас в теме
(10) Вы, наверно, невнимательно прочитали статью, так как в нее такая логика не закладывалась.
TreeDogNight; +1 Ответить
18. Robbi 56 24.07.19 15:28 Сейчас в теме
(14) Очевидно, что робота на 1С сделать можно. Вопрос - Зачем? На тяжелой неповоротливой платформе, предназначенной для ведения учета, которая из-за своей монополии развивается чорт знает куда.
И в статье был дан ответ про преимущества: "Зачем вообще подключать робота к 1С? Во-первых, потому что 1С-ников много, и легко будет сопровождать, и стоимость владения роботами снижается в разы. Во-вторых, допустим вам, действительно, нужен консультант, который сможет всегда и все подсказать покупателю"
Первый пункт как раз про дешево и сердито. Второй очень натянут - все данные из 1С тянуться на ура огромным количеством способов.
19. TitanLuchs 236 24.07.19 15:42 Сейчас в теме
(18) При доступе через http-сервисы платформа совсем не тяжелая и неповоротливая, это тема моего доклада в 2017 году.
TreeDogNight; +1 Ответить
21. chemezov 26 25.07.19 02:54 Сейчас в теме
(18)
предназначенной для ведения учета

Небольшое уточнение. 1С для автоматизации ведения учета. Например можно сделать так, чтобы роботы на производстве передавали все показатели произведенной детали сразу в 1С. Так мы убираем человеческий фактор (операторов) из цепочки ввода первичной информации.
TreeDogNight; TitanLuchs; +2 Ответить
16. A_Max 17 24.07.19 15:13 Сейчас в теме
(10) И это вполне может быть и даже на нашем веку
22. fr13 646 25.07.19 06:19 Сейчас в теме
Не любит у нас народ что-то новое и нестандартное...
Автор молодец, отличная работа в плане изобретения.
TreeDogNight; irina_selezneva; TitanLuchs; +3 Ответить
23. TitanLuchs 236 25.07.19 13:23 Сейчас в теме
29. Goxanov 26.07.19 08:19 Сейчас в теме
Робот наверно еще и автономный?
В его "начинке" стоят необходимые сервера с веб сервисами?
Еще было бы круто, чтобы у него была большая автономность работы
и он сам заражался беспроводным способом от электросети! -)
TitanLuchs; +1 Ответить
34. TitanLuchs 236 27.07.19 10:55 Сейчас в теме
(29) Относительно автономный. Все "рефлексы" у него на борту, заложены в микроконтроллеры. Он способен сам определить наличие препятствия, отреагирует на толчок и потерю равновесия, остановится при поломке одного из моторов.
Сервер с веб-сервисом принимает команды от 1С, ставит их в очередь и по мере необходимости скармливает контроллерам. От 1С команда приходит в человеческом виде: "Вперед на 3 метра, поворот направо на 90 градусов, вперед 1 метр". Если команду выполнить нельзя (впереди препятствие), робот останавливается, оповещает 1С, та перерассчитывает маршрут и подает новую пачку команд.
35. taishy 52 14.08.19 13:17 Сейчас в теме
Есть соображения по поводу того, каким образом можно заставить робота подниматься и спускаться по лестницам?
36. MuI_I_Ika 710 29.09.19 14:53 Сейчас в теме
Не могу заставить программу говорить нормальным мужским голосом. На паараметр тембра вообще никакой реации нет. У кого-нибудь получалось это настроить?
Оставьте свое сообщение

См. также

Гарантированный обмен 1С с внешними системами через сервер очередей Microsoft MSMQ

Статья Программист Нет файла Windows Бесплатно (free) Внешние источники данных

Описание решения задачи организации обмена 1С с внешними системами с условием гарантированной доставки сообщений и независимой поддержкой архивов сообщений. Быстрый ответ: сервер очередей Microsoft MSMQ.

09.02.2020    4020    da_1c    11       

Подборка программ для взаимодействия с ЕГАИС Промо

ЕГАИС (Единая государственная автоматизированная информационная система) - автоматизированная система, предназначенная для государственного контроля за объёмом производства и оборота этилового спирта, алкогольной и спиртосодержащей продукции. Инфостарт рекомендует подборку проверенных решений для взаимодействия с системой.

Часовой на страже логов

Статья no Нет файла Бесплатно (free) Практика программирования

При поддержке решений, которые установлены у большого количества пользователей на различных системах, очень важно вовремя получать подробную информацию о возникших проблемах. О том, как собирать логи и анализировать полученные данные в трекере ошибок Sentry на конференции Infostart Event 2019 Inception рассказал Андрей Крапивин.

13.01.2020    2694    Scorpion4eg    6       

Управление ИТ-проектами. Модуль 2: продвинутый онлайн-курс по классическим методам управления проектами. Вебинары проходят с 12 марта по 11 июня 2020 года. Промо

Продвинутый онлайн-курс по классическому управлению ИТ-проектами позволит слушателям освоить инструменты из PMBoK® и 1С:Технологии корпоративного внедрения и научиться их применять для проектов любого масштаба. Курс включает в себя 12 вебинаров и 12 видеолекции, разбор кейсов и рекомендации экспертов по проектам слушателей. Ведущая курса - Мария Темчина.

от 13000 рублей

Проброс IP-адреса клиента в http-сервис 1С. Реализация для IIS

Статья Системный администратор Программист Нет файла Windows Бесплатно (free) WEB Администрирование веб-серверов IIS

Настраиваем веб-сервер IIS для передачи в 1С IP-адреса клиента, вызвавшего http-сервис. Разбираемся с этим же вопросом при использовании фронтэнд вебсервера на примере nginx.

01.12.2019    3230    -vito-    5       

Создание промышленной системы для локализации решений на базе 1С

Статья Программист Руководитель проекта Нет файла Бесплатно (free) Локализация решений

Статья для тех, кто занимается переводом и локализацией конфигураций, или поддержкой мультиязычных решений. В данной статье, хотелось бы поделиться опытом о том, что должно быть в таких системах, как лучше устроить перевод и т.д. Что, кстати, очень важно для разработчиков мобильных решений :)

28.11.2019    2995    DitriX    19       

Голосование за доклады на INFOSTART MEETUP Kazan - до 25 февраля. Промо

Выбирайте и голосуйте за самые интересные доклады! Лучшие из лучших попадут в окончательную программу казанского митапа. Оставить свой голос можно до 25 февраля 2020 года.

GitSync 3.0. Шпаргалка по использованию

Статья Системный администратор Программист Нет файла Бесплатно (free) Git (GitHub, GitLab, BitBucket)

В новой версии GitSync помимо появления новой функциональности, изменилась строка вызова приложения и часть функциональности реализована посредством плагинов. В заметке описывается новый формат строки вызова и принцип подключения плагинов.

26.11.2019    3508    -vito-    16       

Swagger для 1С.

Статья Системный администратор Программист Нет файла Бесплатно (free) OneScript WEB

Решение для формирования Swagger спецификаций, описывающих HTTP сервисы конфигураций 1С.

21.10.2019    6536    botokash    27       

​​​​​​​CorelDRAW Graphics Suite 2019 Промо

CorelDRAW – пакет профессиональных инструментов для редактирования фотографий, разработки дизайна, создания макетов страниц и векторных иллюстраций

Подбор оборудования для информационных систем на платформе 1С

Статья Системный администратор Программист Руководитель проекта Нет файла Бесплатно (free) Интеграция

При подборе оборудования по рекомендациям с сайта ИТС возникает противоречие: проводить ли нагрузочные тесты, чтобы определить возможную нагрузку, или достаточно просто взять данные из таблиц статистики? О том, какую тактику применить в том или ином случае, на конференции INFOSTART EVENT 2018 Education рассказал начальник отдела разработки компании IBS Филиппов Евгений.

09.09.2019    6383    jf2000    8       

Интеграция 1С с промышленным оборудованием

Статья Системный администратор Программист Руководитель проекта Нет файла Бесплатно (free) Интеграция

Эффективность управленческой информации в производственном процессе зависит от данных, собираемых на нижних уровнях. Про автоматизацию получения этих данных с использованием технологии OPC (OLE for process control) на конференции Infostart Event 2018 Education рассказал Юрий Коноваленко.

06.09.2019    6098    user642664_yurkeshk    12       

INFOSTART MEETUP Kazan. 13 марта 2020 г. Промо

Инфостарт продолжает путешествие по России. Следующая остановка - Казань. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Ждем всех: докладчиков и участников! Стоимость участия - 5 500 рублей. Цена действительна до 30.01.2020

5 500

Как должна выглядеть правильная интеграция. Использование Mule ESB и RabbitMQ с 1С

Статья Программист Нет файла Бесплатно (free) Интеграция

Чем масштабнее проект, тем сложнее настроить все связи. Каждый решает эти проблемы по-своему: кто-то пользуется конвертацией, кто-то пользуется xml и json. Руководитель управления ИТ компании WiseAdvice Олег Филиппов рассказал, как можно применить такие инструменты, как Mule ESB и RabbitMQ.

02.09.2019    6547    comol    3       

Кодогенерация и метагенерация в 1С

Статья Программист Нет файла Бесплатно (free) Практика программирования Математика и алгоритмы Разработка

В своем докладе на конференции INFOSTART EVENT 2018 EDUCATION Дмитрий Белозеров рассказал о разработке инструмента, позволяющего программно работать с метаданными 1С и писать скрипты для выполнения тех же действий, которые выполняет разработчик в конфигураторе –  с какими сложностями и нюансами пришлось столкнуться, и что получилось в итоге.

26.08.2019    5792    kirovsbis    28       

1C:Предприятие для программистов: Запросы и отчеты. Второй поток. Онлайн-интенсив с 17 марта по 16 апреля 2020 г. Промо

Данный онлайн-курс предусматривает углубленное изучение языка запросов и возможностей системы компоновки данных, которые понадобятся при разработке отчетов, работающих на платформе “1С:Предприятие” в рамках различных прикладных решений. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей различных прикладных решений, которые используют в своей работе отчеты разного назначения.

6500 рублей

Отказ от использования хранилищ 1С, переход на Git.

Статья Программист Нет файла Бесплатно (free) Инструментарий разработчика Разработка

Валерий Максимов в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION делится опытом перехода нескольких команд (более 100 разработчиков) от использования хранилищ 1С на системы контроля версий Git.

25.07.2019    7909    theshadowco    31       

Интеграция сценарного тестирования в процесс разработки

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Разработчик системы «Тестер» Дмитрий Решитко в своем докладе на конференции INFOSTART EVENT 2018 EDUCATION показывает, что процесс тестирования можно очень плотно интегрировать в процесс разработки, что внедрение тестирования – это возможность развития программиста как такового, позволяющая ему упорядочивать ход мыслей и оставаться «в фокусе». Навыки построения процесса кодирования на стыке с тестированием сокращают время на концентрацию, освобождают от страха перед изменениями и улучшают память разработчика.

08.07.2019    6208    grumagargler    7       

Новый раздел на Инфостарте - Electronic Software Distribution Промо

Инфостарт напоминает: на нашем сайте можно купить не только ПО, связанное с 1С. В нашем арсенале – ESD-лицензии на ПО от ведущих вендоров: Microsoft, Kaspersky, ESET, Dr.Web, Аскон и другие.

  • Низкие цены, без скрытых платежей и наценок
  • Оперативная отгрузка
  • Возможность оплаты с личного счета (кешбек, обмен стартмани на рубли и т.п.)
  • Покупки идут в накопления для получения скидочных карт лояльности Silver (5%) и Gold (10%)

Управляй качеством кода 1С с помощью SonarQube

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования

Управляй техническом долгом проектов 1С с помощью SonarQube. В статье рассматривается пример применения SonarQube при разработке.

07.07.2019    25934    olegtymko    214       

Тестирование интеграций между системами

Статья Программист Нет файла Бесплатно (free) Интеграция

Как начать разрабатывать интеграцию без реальной «второй стороны»? Как быть уверенным, что обмен не «сломается» при следующем обновлении? О том, какие подходы можно применять при тестировании интеграций и как такое тестирование может выглядеть в целом – в докладе Никиты Грызлова на конференции INFOSTART EVENT 2018 EDUCATION.

01.07.2019    7137    nixel    3       

INFOSTART MEETUP Krasnodar. 14 февраля 2020 г. Промо

Краснодар станет первым в 2020 году местом, где пройдет региональная встреча IT-специалистов сообщества Инфостарт. Тема мероприятия - управление и технологии автоматизации учета на платформе "1С: Предприятие". Стоимость участия - 5000 рублей. Цена действительна до 26.12.2019.

И тогда наверняка нас захватят облака

Статья Программист Нет файла Бесплатно (free) Интеграция

Внимание! Данный текст содержит достаточно мало технических подробностей и готовых рецептов. Главным образом некоторые размышления на предмет будущего технологий и профессий. Некое лёгкое чтение на досуге.

28.06.2019    6956    comol    35       

По следам публикаций 1С + микроконтроллер, или 1С в железе

Статья no Нет файла Бесплатно (free) Интеграция

Несколько примеров удачного применения связки микроконтроллер и 1С, в производстве. Результат - исключение человеческого фактора, экономия средств на АСУ, повышение культуры производства ))), и др...

12.06.2019    5552    vostok1.dz    13       

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Выдержки из книги Чистый код

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

Недавно я прочитал книгу "Чистый код" Роберта Мартина (Robert Cecil Martin). В ней описываются принципы организации и форматирование исходного кода программы так, чтобы в дальнейшем было легко поддерживать такой код. Эта книга является библией для многих программистов, но вот в среде программистов 1С, к сожалению, не очень распространено чтение подобной фундаментальной литературы. Книга более 400 страниц и так много порой лениво читать, да и времени всегда не хватает. По этому я решил выделить в виде цитирования по разделам самые важные моменты. А также снабдил текст своими примерами кода.

16.05.2019    7359    FreeArcher    105       

Быстрый ввод неудобных символов

Статья no Нет файла Бесплатно (free) Пользователю системы Инструментарий разработчика

Использование Alt-кодов для ввода “[”, “]”, “”, “&”, “#”, “|”

15.04.2019    7015    pparshin    24       

Базовый курс по обмену данными в системе 1С:Предприятие. Онлайн-интенсив с 12 по 28 мая 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, обеспечивающих обмен данными между различными прикладными 1С-решениями и взаимодействие с другими информационными системами. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”.

5500 рублей

О времени и 1С

Статья Программист Нет файла Бесплатно (free) Практика программирования Разработка

Основы и особенности работы со временем в 1С. Как избавиться от боли при работе в разных часовых поясах. Что такое момент времени. И другое.

01.04.2019    22696    YPermitin    60       

Быстрее чем INSERT! BULK-операции и примеры использования

Статья Системный администратор Программист Нет файла Бесплатно (free) Производительность и оптимизация (HighLoad) Практика программирования Внешние источники данных Перенос данных из 1C8 в 1C8 Разработка

Microsoft SQL Server поддерживает так называемые BULK-операции, используемые для быстрого изменения больших объемов данных в базе. В статье пойдет речь о практических примерах их использования. Все примеры сделаны в контексте платформы 1С (а как иначе).

09.03.2019    14965    YPermitin    38       

1C:Предприятие для программистов: Расчетные задачи (зарплата). Онлайн-интенсив с 01 по 17 июня 2020 г. Промо

Данный онлайн-курс предусматривает изучение механизмов платформы “1С:Предприятие”, которые предназначены для автоматизации периодических расчетов, а именно - для расчета зарплаты. Курс предназначен для тех, кто уже имеет определенные навыки конфигурирования и программирования в системе “1С:Предприятие”, а также для опытных пользователей прикладного решения “1С:Зарплата и управление персоналом” и прочих прикладных решений, в которых реализован функционал расчета зарплаты.

4900 рублей

Как писать понятные коммиты

Статья Программист Нет файла Россия Бесплатно (free) Практика программирования Разработка

Как писать сообщения коммитов так, чтобы потом не было мучительно больно.

06.03.2019    9636    Scorpion4eg    35       

Как писать код? Технологии древних цивилизаций, или все новое - это хорошо забытое старое

Статья Программист Нет файла Бесплатно (free) Математика и алгоритмы

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

23.01.2019    9867    starik-2005    43       

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.