Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以支持将X_PF、X_BM作为参数的AddJoint的Python绑定?_Python_Drake - Fatal编程技术网

是否可以支持将X_PF、X_BM作为参数的AddJoint的Python绑定?

是否可以支持将X_PF、X_BM作为参数的AddJoint的Python绑定?,python,drake,Python,Drake,我正在尝试翻译成Python。要添加弯头关节,我需要将X_PF和X_BM传递到AddJoint(如中所示) 这是在C++接口中支持的,如但是当前的Python绑定只支持,有解决方法吗?您应该能够通过首先构造关节来添加它们。参见,例如: 我不擅长Python绑定,但至少让我给你一个选择。 C++ API是为定义框架F(粘贴到P)和M(附加到B)的建议。您可以使用AddFrame从Python API实现这一点。大概是这样的: API中的父体P arm=plant.GetBodyByName(“ar

我正在尝试翻译成Python。要添加
弯头
关节,我需要将
X_PF
X_BM
传递到
AddJoint
(如中所示)


<>这是在C++接口中支持的,如但是当前的Python绑定只支持,有解决方法吗?

您应该能够通过首先构造关节来添加它们。参见,例如:

我不擅长Python绑定,但至少让我给你一个选择。 C++ API是为定义框架F(粘贴到P)和M(附加到B)的建议。您可以使用AddFrame从Python API实现这一点。大概是这样的:

API中的父体P arm=plant.GetBodyByName(“arm”) #API中的子体B 前臂=plant.GetBodyByName(“前臂”) #在API中定义框架F。 arm\u弯头\u框架=plant.AddFrame(FixedOffsetFrame(name=“F”,P=arm.body\u框架(),X\u PF,model\u instance=None)) #假设M=B。在这种情况下,你不需要一个新的框架。 肘部=植物.AddJoint(RevoluteJoint(name=“肘部”,父项上的框架=手臂上的肘部框架,子项上的框架=前臂。身体上的框架(),轴F=[0,0,1],阻尼=0.))
FTR Russ和Alejandro下面的回答是100%正确的。正如您可能注意到的,C++代码的完整拼写是 Prime> AdCuthon(…)< /C> >,因此您仍然必须指定类型。在Python中,它是解耦的,即
plant.AddJoint(revolutionjoint(…)
。如果你对C++中的这个特性感到好奇,请看。如果您认为有任何不清楚的地方,请随时发表评论。谢谢