Choregraphe 2.5.5: более 20 выходов в диалоговом окне

Я использую Choregraphe 2.5.5 для программирования Pepper. У меня есть одна тема с большим количеством выводов (более 20), которая не нравится Chroregraphe. Итак, я использовал два диалоговых окна с одной и той же темой (сделанные в Choregraphe 2.1.4). Теперь на моем виртуальном роботе он в основном запускается только в одном из диалоговых окон, а не в обоих (это то, что я хочу, и то, что произошло в Choregraphe 2.1.4). Могу ли я что-нибудь сделать, чтобы получить более 20 выводов по теме с диалоговым окном? Спасибо.


person Muhammad Rahman    schedule 18.01.2018    source источник
comment
Учитывая сложность вашей логики, я бы порекомендовал вам написать все сценарии, а не использовать коробочный вывод. Похоже, вы можете решить свои проблемы, используя события памяти. doc.aldebaran.com/2-5/naoqi/core/ almemory-tuto.html Не могли бы вы рассказать подробнее?   -  person Anders_K    schedule 19.01.2018
comment
@Anders_K Я также попросил одного из своих учителей, и он сказал, что нужно просто вывести строку в моем тематическом сценарии, а затем использовать случай переключателя для вывода моих результатов и сделать так, чтобы случай переключателя принимал строку из моего тематического скрипта в качестве входных данных. Будет ли это возможность? Я только начал программировать роботов Альдебарана с помощью Choregraphe около 3 месяцев назад в школе. Спасибо.   -  person Muhammad Rahman    schedule 19.01.2018
comment
Да, вывод строки и переключение тоже были бы возможны.   -  person Emile    schedule 19.01.2018


Ответы (2)


Наличие 20 выходных данных в вашем блоке действительно является признаком того, что ваш проект будет сложным и трудным в обслуживании ... вам действительно нужны все эти выходы?

Некоторые возможности:

  • Разделите это на несколько тем диалога
  • Сделайте выходные данные в виде строк или чисел, а не пустыми, содержащими код, указывающий, что делать, и иметь переключатель (как вы предлагаете в комментарии). Это имеет смысл, если некоторые выходы, например, finishSUccessfully, finishFailure; или "goToStep1", "goToStep2" и т. д.
  • Делайте больше логики в Python, меньше в диалогах

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

person Emile    schedule 19.01.2018
comment
Спасибо, что нашли время ответить на мой вопрос. Как мне отправить строки через вывод диалогового окна? Сделал бы я что-нибудь вроде: $ output = «doThisAction» - person Muhammad Rahman; 19.01.2018
comment
Да, хотя на практике я ожидаю чего-то большего, например $ finishedOutput = success, или $ PickLevel = 3 и т. Д. - person Emile; 19.01.2018

Также в диалоговом окне, когда вы пишете $ myValue = 1234, тогда «myValue» не обязательно должно быть выходом, но также может быть событием. Хорошая вещь с событиями заключается в том, что вы можете подключать их по отдельности (используйте большой + в левой части хореграфа, чтобы добавить вывод для вашего события), так что, возможно, ваш проект может стать чище?

person JLS    schedule 19.01.2018