3. Име на кутийката
Кратко обяснение на
кутийката
Избор на изображение
за кутийката
Прибавяне на нова променлива
Изтриване на избрана променлива
Редактиране на настройките на избрана променлива
14. Отвори Script editor прозореца.
MyClass е клас, който се генерира
автоматично и е наследник на
GeneratedClass
MyClass е съставен от предварително
дефинирани методи.
Тъй като е наследствен на
GeneratedClass дава възможност да се
ползват всички вградени функции.
Build-in-Functions
15. Add:Този ред създава обект tts.
self – дава възможност на tts да бъде достъпен
във всички части на кода, не само в конкретния
блок.
tts – името, което даваме на обекта
ALProxy – клас от обекти, който дава възможност
да се достъпят всички метози на модула.
ALTextToSpeech – името на модула на NAOqi,
който искаме да използваме.
Този ред използва обекта tts, за да изпрати
инструкции на NAOqi модула
self.tts – обекта, който използваме
Say() – метод
“Hello young Padawan” - параметър
Този код използва say метода на ALTextToSpeech модула.
ALTextToSpeech е модул на NAoqi отнасящ се за речта на робота.
Метода say кара робота да изрече стринга даден като параметър.
16.
17. NAOqi Framework
NAOqi – Това е основният софтуер, който управлява НАО.
NAOqi Framework е програмния framework, който се използва за програмиране на
НАО.
Framework означава рамка за универсална (многократна употреба) софтуерна
среда, която осигурява специално функционалност като част от по-голяма
софтуерна платформа за улесняване на развитието на софтуерни приложения,
продукти и решения. Рамките могат да включват програми за подпомагане,
компилатори, библиотеки, инструменти комплекти, и приложни програмни
интерфейси (APIs), които обединяват всички различните компоненти да се даде
възможност за развитие на даден проект или решение.
NAOqi Framework е :
• cross-platform Windows, Linux or Mac.
• cross-language C++ and Python
• предоставя introspection, което означава че framework–а знае кои функции са
достъпни и в различните модули.
18. The NAOqi process
Изпълнението на NAOqi, което протича на робота се нарича брокер. Когато се стартира се зарежда файл с
предпочитания наречен autoload.ini
Този файл определя кои библиотеки трябва да се заредят. Всяка библиотека съдържа един или повече модули, които
използват брокера да рекламират своите методи.
19. Broker всъщност е посредник.
Брокерът е обект, който има две основни
роли:
• да осигурява справочни услуги: Като
ви позволява да намерите модули и
методи.
• да осигурява достъп до мрежата
През повечето време, не е нужно да се
мисли за брокерите. Те вършат своята
работа, което ви позволява да пишете
код, който ще бъде един и същ за
достъпване към “локални модули” (в
същия процес) или “отдалечени модули”
(в друг процес или на друга машина).
20. Proxy е обект, който се държи като модула, който представлява.
Например, ако създадете прокси към модула ALMotion, вие ще получите един
обект, съдържащ всички методи за ALMotion.
За да създадете прокси към модул съществуват две възможности:
• Просто използвайте името на модула. - В този случай, кодът, който
използвате и модула, към който искате да се свържете трябва да бъде в
същия broker.
• Използвайте името на модула, IP и port на broker-а. В този случай, модулът
трябва да бъде в съответния брокер.
За да научите как да се разшири API NAO, вие трябва да се научите как да
създадете нови модули.
21. Модули
Обикновено всеки модул е един клас в рамките на една библиотека. Когато библиотеката се зарежда от
autoload.ini, модула автоматично ще се инстанциира модул класа.
В конструктора на класа, който произтича от ALModule, може да се осъществи "обвързване" методи.
Модулът може да бъде или отдалечен или локален.
• Ако е отдалечен, се компилира като изпълним файл, и може да се управлява и извън робота.
Отдалечените модули са по-лесни за употреба и могат да им бъдат отстранени грешки лесно отвън,
но са по-малко ефективни по отношение на скоростта и използване на паметта.
• Ако е локален, се компилира като библиотека, и може да се използва само на робота.
Въпреки това, те са по-ефективни от отдалечения модул.
Всеки модул съдържа различни методи. Някои от методите са обвързани, което означава,
че може да се извикат извън модула, например в друг модул, от един изпълнител и т.н.
Начинът да извикваме тези обвързани функции не се променя, ако модулът е отдалечен или локален,
защото модулът автоматично се адаптира.
22.
23.
24. NAOqi е основния Python модул.
ALProxy обект, който позвонява да се създаде прокси на модул.
ALProxy(name, ip, port)
•name име на модула
•ip е IP на брокера, в който модула действа
•port е порта на брокера.
from naoqi import ALProxy
tts = ALProxy("ALTextToSpeech", "<IP of your robot>", 9559)
tts.say("Hello, world!")