首页 > 解决方案 > 在 Webots 中的实体节点上应用用户定义的力

问题描述

我一直在尝试使用此函数从 matlab 代码在 Webots 中的机器人上名为“LLarm”的实体节点上添加 5KN 力:

void wb_supervisor_node_add_force('LLarm', 5000, true)

但我收到此错误:“char”类型的输入参数的未定义函数“void”。atlas_matlab 中的错误(第 12 行) void wb_supervisor_node_add_force('LLarm', 5000, true) 启动器中的错误(第 161 行) eval(WEBOTS_CONTROLLER_NAME);

标签: webotsnode-supervisor

解决方案


力被描述为沿 X、Y 和 Z 轴的 3 维向量,请参见此处:
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);

推荐阅读