线程评级:
BuildMechanism函数中的Base Reference
# 1
你好,

我想知道是否有一种方法可以在BuildMechanism()函数中设置Base Reference ?
使用UI,我们可以设置我们想要的Base Reference,但我没有找到使用BuildMechanism()的API设置它的方法。





最好的问候,

Yohan
你好,

参数'Base'是基准参考系。定义下面的例子解释了这一点。

链接://www.w5838.com/doc/en/PythonAPI/robo...dMechanism

new_robot = RDK。BuildMechanism(MAKE_ROBOT_6DOF, list_objects, parameters, joints_build, joints_home, joints_senses, lower_limits, upper_limits,base_pose, tool_pose, robot_name)

如果你还有其他问题,请告诉我。
# 3
你好Vineet,

谢谢你的回答,我以为“Base”参数是Build Mechanism UI中的“Base shift”。但如果它实际上是基准引用,哪个是BuildMechanism()函数中“基准移位”的参数?

谢谢,

Yohan
# 4
你好,Yohan,

你是对的,确实是基移。我们将修改我们的文档以避免混淆。
我的猜测是,基对象的对象帧被作为基引用。我会澄清这件事,然后回复你。
# 5
不可能像使用UI那样使用API指定3D模型的基本框架。但是,在使用setParentStatic函数调用BuildMechanism之前,您可以将对象的原点移动到引用。
# 6
嗨,我认为在GUI和API中构建机制仍然非常令人困惑。

在我简单的情况下,我试图通过API构建一个两个手指的夹手,导入3步文件(夹手体加上两个手指)使用AddFile (),然后使用BuildMechanism ()命令。如果我清楚地理解了这些姿势的定义,如何设置“基础”和“工具”姿势就很简单了,但我发现的文档似乎不完整,让我感到困惑。也许你可以帮助我澄清一些事情,从GUI开始:

在GUI构建机制菜单中(见下文),有3个姿势/参考框架可以设置:
1) Base shift (HB),输入为XYZRotXYZ姿态,
2)末端执行器移位(HT),输入为XYZRotXYZ姿态,
3) Base reference (FB),选择作为框架项。

这些分别定义了夹持器的哪个部分,以及相对于什么父参考系?夹持器手指的运动方向是什么,沿着哪个参考系的哪个轴?在youtube教程,杰里米显示夹持手指将沿着一些x轴移动;哪个参考系的x轴?这是由于HB(0,0,0,0,90,0)的默认姿态,还是由于某些商定的定义而总是如此?

菜单中的附图显示了参考系FB和“FT”。金融时报从何而来?FB和FT是在什么参考系中定义的?图像是否只适用于HB(0,0,0,0,90,0)的默认姿态?我认为图像没有提供一个清晰和完整的定义夹持器机制。

然后可以选择三个物体作为夹持器的“底座”和两个“关节”(手指)。这些物体将被附加到夹持机构的哪个参考系上?它是否考虑到一个对象相对于它在站树中的父参考系的姿态?


当谈到API的时候,base在BuildMechanism ()正如Vineet解释的那样,命令指向的是基准移位(HB),而不是基准引用(FB)。更让人困惑的是,“base”和“base shift”(HB)对应于构建机器人运动学属性(见下图)中称为“base frame”的字段……

Albert解释说,Base引用(FB)不能通过API指定;我不知道为什么。如果不清楚FD的定义,我就不知道无法指定的含义。看来该机构在其参考系中的姿态总是与夹持器底座物体的姿态一致,我说的对吗?那么是什么决定了夹持手指的运动方向呢?自动是夹持器底座STEP文件的x轴吗?

有很多问题,但我已经做了很多不同的尝试和方法,试图完全理解一种机制的定义,所有这些都有意想不到的行为,我迷失了。

最好的问候,

Maarten




# 7
通常,图片显示的是默认值定义的坐标系统。对于夹持器,这意味着X轴是运动的轴。如果你想绕Y轴移动,你必须改变你的基移(HB)

基准参考(FB)是您希望用于模型的原点。如果使用API,这相当于使用setParentStatic函数将所有对象相对于该坐标系移动(而不改变对象的绝对位置)。

乙肝而且HT分别为基础位和工具位。这些主要用于工业机器人,但它们保留在UI和API中。您还可以稍后在机器人参数菜单中更改它们(HB和HT成为机器人参数菜单的Base pose和Tool pose)。你应该为这个基础和工具“移位”提供完整的姿势。当使用API时,你可以用我们的任何内置工具构建这个姿势,或者自定义它,但你想要的。例如,如果只是绕Y轴旋转,你可以输入:
代码:
Base_shift = roty(pi/2)
Base_shift = xyzrpw_2_pose(0,0,0,0,90,0) #相同的东西
RDK.BuildMechanism(…, base=base_shift, tool=eye(4),…
如果你还有问题,请告诉我。如果你能告诉我们你喜欢什么类型的夹持器从我们的图书馆,我们可以给你一个它是如何构建的截图,然后我们可以帮助你创建它使用一个脚本。
# 8
嗨Albert,根据我的理解,HB定义了一个相对的3D位置加上方向,称为一个姿态,可以用XYZ位置和一些RXYZ旋转来表示,或者一个4x4齐次变换矩阵。它可以像一个参照系一样可视化,在XYZ位置,XYZ轴与它的方向相匹配。这里它被用作两个参考系之间的“移位”。

我没有把握的是1)HB在机构定义中应用的父姿态或参考系是什么,2)夹持器将沿着HB的哪条轴移动(如果它的运动方向确实与HB有关)?




浏览此线程的用户:
1客人(年代)