线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
BuildMechanism函数中的基引用
# 1
你好,

我想知道是否有办法在BuildMechanism()函数中设置基础引用?
使用UI,我们可以设置我们想要的基础引用,但我没有找到使用BuildMechanism()的API来设置它的方法。





最好的问候,

Yohan
# 2
你好,

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

链接://m.sinclairbody.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,

谢谢你的回答,我认为参数“基础”是“基础转移”在构建机制的UI。但如果它实际上是基础引用,哪一个是BuildMechanism()函数中的“基础移位”的参数?

谢谢,

Yohan
# 4
你好,Yohan,

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

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

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

它们分别定义了夹持器的哪个部分,以及相对于哪个父参照系?那么夹持手指的运动方向是什么,沿着哪个参照系的哪个轴?在youtube教程中,Jeremy展示了抓手的手指会沿着x轴移动;哪个参考系的x轴?这是由于HB的预设姿态(0,0,0,0,90,0),还是由于某些商定的定义,情况总是如此?

菜单中附带的图像显示了参考帧FB和“FT”。英国《金融时报》从何而来?FB和FT是在什么参考系下定义的?图像是否仅适用于HB的默认姿态(0,0,0,0,90,0)?我认为图片没有提供一个清晰和完整的抓手机构的定义。

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


当涉及到API时:好的,“base”在BuildMechanism ()命令指向基本移位(HB),正如Vineet解释的那样,而不是指向基本引用(FB)。为了使事情更加混乱,“基础”和基础位移(HB)对应于构建机器人的运动学属性(见下图)中称为“基础框架”的领域…

Albert解释说,Base引用(FB)不能通过API指定;我不知道为什么。如果没有对FD定义的清晰理解,我就不知道当它不能被指定时的含义。看起来机构在参照系中的姿态总是与抓手基座物体的姿态一致,对吗?现在是什么决定了抓手手指的运动方向?是否自动为夹爪底座STEP文件的x轴?

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

最好的问候,

Maarten




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

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

乙肝HT分别为基础位姿和工具位姿。这些对工业机器人非常有用,但它们保存在UI和API中。世界杯2022美洲预选赛直播您也可以稍后在机器人参数菜单中更改它们(HB和HT成为机器人参数菜单的基础位姿和工具位姿)。你应该为这个基础和工具“移位”提供完整的姿势。当使用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
嗨,艾伯特,根据我的理解,HB定义了一个相对的3D位置加上方向,称为姿态,可以表示例如在XYZ位置和一些RXYZ旋转方面,或4x4齐次变换矩阵。它可以被看作是一个参考系,在XYZ位置,XYZ轴与它的方向相匹配。在这里,它被用作两个参考系之间的“位移”。

我没有掌握的是1)在机构定义中HB应用于哪个父位或参照系,以及2)夹持器将沿着HB的哪个轴移动(如果它的运动方向确实与HB有关)?




浏览此主题的用户:
1客人(年代)