我有6个DoF的机械臂。我对x,z笛卡尔坐标和方向进行了精确的约束。我想得到在笛卡尔位置x,y_max,z的关节坐标,其中y_max是机械臂末端执行器可达的最大y笛卡尔坐标。
例如:我将x设置为0.5,z设置为1.0,我希望找到满足正向运动学后的关节坐标,即机器人的末端执行器位于笛卡尔坐标0.5,最大可达坐标1.0。
我知道如果我知道笛卡尔坐标的位置和方向,我可以通过逆运动学找到关节坐标,并通过正向运动学检查末端执行器是否处于所需的坐标,但如果我不知道笛卡尔坐标中的一个轴,而这取决于机器人可以移动多远,怎么办?据我所知,逆运动学可以解析或数值求解,但要解决它,我需要知道完成坐标的整个框架。
此外,我希望方向依赖于y坐标。(例如,我希望保证末端效应器始终看着坐标0.5,0,0)。
发布于 2021-10-09 17:15:04
您可以将数值task-based inverse kinematics用于如下任务:
远方方向:你在(x,z)中的方向:你在y中的坐标:
当目标不可行时,基于任务的方法(具有适当的阻尼)的行为是在不违反其约束的情况下尽可能地“拉伸”机器人。下面是一个类人机器人和三个任务的例子:

(例如,我想保证末端效应器总是看着坐标0.5,0,0)
通过一个适当的任务,这也应该是可能的。例如,在C++中,mc_rtc框架有一个LookAtTask,用于使帧保持在所需的点上。
https://stackoverflow.com/questions/69066804
复制相似问题