Я использую контроллер NAO_demo_ python последней версии webots на linux (ubuntu 18), чтобы засветить sh светодиоды и открыть / закрыть руками.
Однако выполняется только последняя часть последовательностей, а не за один прогон моделирования.
например, если я прошу просто открыть руку и зажечь светодиоды, после одного запуска света будет включен и после 5 прогонов основного, пока l oop он будет открываться -reaaallly медленно-. Однако, если я спрашиваю светодиоды, открытая рука, а затем закрывающая незажженные светодиоды, тогда симуляция будет только закрывать светодиоды с рукой и без света. Код должен работать, он на чужом компьютере. Если вы хотите, вот он (это действительно basi c, это небольшая модификация nao-demo- python .py):
def run(self):
while robot.step(self.timeStep) != -1:
self.setAllLedsColor(0xff0000) #red leds on
self.setHandsAngle(0.96) #open hand
#rospy.sleep(5) #originally i am to use webots and nao with ros
print("done") #to check how many runs are made
self.setHandsAngle(0.0) #close hand
self.setAllLedsColor(0x000000) #red leds off
Также кое-что, что может быть интересно: if я прошу открыть и закрыть руку N раз и каждый раз печатать что-либо, все отпечатки будут напечатаны одновременно, и время моделирования перескочит с 0: 0: 0 на 0: 0: 20 после каждого основного l oop run (+ 20 при каждом запуске), иначе, даже если симуляция запускается, время не течет, оно прыгает.
Я попытался обновить свои драйверы, чтобы убрать все тени и прочее из симуляции, как советует webots. Нет, ничего не поделаешь. Я не смог найти что-то на Softbank, я не могу найти активный форум, посвященный nao и webot ...
У меня i5 9-го поколения и GTX1050Ti.
Может проблема будь то время симуляции не 1.0x? но самое большее 0,05x? (после удаления теней, эффекта света, всех объектов, используя 1 поток et c, как описано здесь: https://www.cyberbotics.com/doc/guide/speed-performance)
РЕЗЮМЕ: только последняя последовательность контроллера выполняется, и если это движение, для полного выполнения требуется несколько основных циклов. Между тем, время меняется от 0 до +20 с после каждого основного прогона l oop.
Может кто-нибудь поможет мне заставить всю последовательность работать над симуляцией, пожалуйста :)