В настоящее время я работаю над проектом по управлению роботом с 6 ногами. У меня установлены мои скрипты для индивидуального совместного управления, и он работает нормально. У меня есть индивидуальные скрипты для совместных контроллеров для каждой ножки, leg_1_joint_control, leg_2_joint_control и т. Д. ..., все эти скрипты имеют 3 ПИД-регулятора для двигателей на каждой ноге под названием PID1, PID2 & PID3. Я хочу, чтобы динамически вызывать мои PID1,2 & 3 метода в моем скрипте leg_'leg_no'_joint_control.py (где «leg_no» - номер ноги [1-6]) без необходимости писать отдельный случай для каждой ноги ,Python: Динамический вызов метода в отдельном скрипте
Вот идеальный фрагмент моего кода управления ноги, чтобы попытаться объяснить:
import leg_1_joint_control
import leg_2_joint_control
import leg_3_joint_control
...
def leg(args, leg_no):
...
e1[t] = leg_'leg_no'_joint_control.PID1(args)
...
и мой leg_'leg_no'_joint_control сценарий
...
def PID1(args):
...
return ek
Так что я хочу сделать, это когда я изменяю переменную leg_no, я хочу вызвать PID1 в скриптах для соответствующей ножки. Это возможно? Я пробовал такие методы, как getattr(), но не имел успеха.
Являются ли ноги такими разными, что вам нужны три разных сценария для управления ими? Один класс управления с одним экземпляром на каждую ногу кажется более простым. – chepner