Применение пользовательской силы к твердому узлу в Webots
Я пытался добавить силу 5 кН на твердый узел с именем LLarm на роботе в Webots из кода Matlab, используя эту функцию:
void wb_supervisor_node_add_force('LLarm', 5000, true)
но я получаю эту ошибку: неопределенная функция void для входных аргументов типа char. Ошибка в atlas_matlab (строка 12) void wb_supervisor_node_add_force('LLarm', 5000, true) Ошибка в модуле запуска (строка 161)eval(WEBOTS_CONTROLLER_NAME);
1 ответ
Сила описывается как трехмерный вектор по осям X, Y и Z, см. здесь:
https://cyberbotics.com/doc/reference/supervisor?tab-language=matlab#wb_supervisor_node_add_force
Вы должны получить ссылку на узел Solid, см. здесь:
https://cyberbotics.com/doc/reference/supervisor?tab-language=matlab#wb_supervisor_node_get_from_def
Наконец, ваш код должен выглядеть примерно так:
node_ref = wb_supervisor_node_get_from_def('LLARM_DEF'); % Set DEF for your solid
wb_supervisor_node_add_force(node_ref, [x, y, z], true);