线程评级:
检查机器人的可达性
# 1
使用robodk api检查机器人是否能到达目标(任何构型或关节角度)的最简单方法是什么?

我有一个我知道机器人不应该达到的目标,但当我使用MoveJ_Test函数时,我仍然得到零。
我不确定你是想测试碰撞还是只测试机器人的触及,对于触及,在API中不太清楚,但并不难,我的例子是在c++中,但对于其他语言,函数应该是一样的。

  • 创建一个机器人(这是一个“Item”)
  • 创建一个参考(这里“robot2ref”是一个“Mat”),要小心,例如,fanuc有他们的0在第一个斧头的中心,这可能会导致问题,如果你没有设置正确
  • 创建一个工具(在这里)toolTCP”,这是一个“垫”),你可以创建一个空工具在你的手腕0与一个空垫
  • 选择一个位置(这里是“pose1”,即“Mat”)

然后你只需要解逆运动学,它会给你一个关节对象,如果维度是6(当然是6轴),这意味着它工作,否则它会返回其他东西,所以你可以这样做:

代码:
bool到达(Item& robot, Mat toolTCP, Mat robot2ref, Mat pose1) {
t关节jPos =机器人。SolveIK(pos1, &toolTCP, &robot2ref);
return (jPos.Length() == 6);




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