Как я могу использовать робота NAO для презентации лекций?

Я только начал работать с роботом NAO с C++ SDK. Я хотел бы использовать NAO в качестве ведущего, например, перед небольшой группой или аудиторией в качестве лекторов. В то же время я хочу, чтобы NAO управлял слайд-презентацией ноутбука (например, с помощью Powerpoint). Я попытался найти какие-то решения и услышал о создании презентации в виде «веб-страницы» и использовании «qimssaging» для связи с NAO. Как я уже сказал, я только начал программировать на NAO. Может ли кто-нибудь дать мне несколько советов с решением для веб-страницы/qimessaging или у кого-нибудь есть другой способ его запрограммировать?

Заранее спасибо.


person noudels    schedule 26.11.2018    source источник


Ответы (1)


Конечно, это вполне возможно для NAO; в основном есть веб-страница, размещенная на роботе, которая использует Javascript QiMesssaging для связи с роботом, а затем показываете ее на полноэкранной странице на вашем экране.

Чтобы создать это, вы можете начать с шаблона robot-jumpstarter service-webpage- nao (специально создан для работы с NAOqi 2.1 — если вы используете версию 2.8 (на NAO v6), другие шаблоны тоже должны работать); который содержит службу Python, имеющую двустороннюю связь с соответствующей веб-страницей.

Затем вы можете изменить эту службу, чтобы она содержала содержимое вашей лекции, например, установив ключ ALMemory, содержащий текущий статус страницы (изображение/текст для отображения), а затем заставить javascript отслеживать этот ключ ALMemory и обновлять страницу на основе этого (вам не нужна двусторонняя связь, так как у вас не должно быть кнопок и т.д.). Пример на Python, но вы можете сделать то же самое на C++ (это потребует больше работы, я действительно не рекомендую его для такого простого случая использования).

(Вам даже не нужен сервис, вы можете сделать это из Choregraphe, но я нахожу автономный Python более читабельным)

person Emile    schedule 27.11.2018
comment
Я начинаю с установки Jumpstarter, и я также создал проект. Но с чего и как мне начать. Я не так знаком с javascript. Не могли бы вы дать мне совет, как мне установить ключ ALMemory, содержащий страницу? - person noudels; 06.12.2018
comment
Что ж, вам нужно будет либо сделать слайды в PowerPoint (и найти способ подключить их к роботу), либо в html (в этом случае вам нужно будет знать, как сделать их веб-страницами — просто сделать серию изображений). это одна из возможностей - и используйте javascript для переходов). - person Emile; 06.12.2018
comment
Но в основном вы можете использовать ключ ALMemory MySlides/Page и присвоить ему значения page1, page2, page3 в Python (например, с помощью self.events.set(MySlifes/Page, page1) или с помощью ALMemory API), а затем подписаться к этому в js с RobotUtils.subscribeToALMemoryEvent(MySlides/Page, обратный вызов), и в вашем обратном вызове измените страницу. Для этого потребуется немного знать javascript. - person Emile; 06.12.2018