线程评级:
  • 0票(s) - 0平均
  • 1
  • 2
  • 3.
  • 4
  • 5
通过API c++改变机器人的配置
# 1
你好,

是否有可能通过c++ API改变机器人的配置(前/上/正)?
我知道我可以用

tConfig配置;

关节机器人- > JointsConfig(机器人- >(),配置);

但是我想改变配置,例如只有肘部向下,但仍然确信机器人EE具有与以前相同的笛卡尔姿态!
# 2
你应该这样做:

代码:
//计算所有可用的解:
tjoint = ROBOT-> joint ();
QList< tjoint > joints_list = ROBOT->SolveIK_All(ROBOT->SolveFK(joint));

//遍历所有可用的解决方案:
For (int i=0;我< joints_list.length ();我+ +){
//选择你喜欢的机器人关节
tConfig jnts_config;
机器人——> JointsConfig (joints_list[我],jnts_config);
}

//设置你的首选/最佳机器人关节:
机器人——> setJoints (new_joints);
# 3
(01-28-2020, 10:58 pm)艾伯特写道:你应该这样做:

代码:
//计算所有可用的解:
tjoint = ROBOT-> joint ();
QList< tjoint > joints_list = ROBOT->SolveIK_All(ROBOT->SolveFK(joint));

//遍历所有可用的解决方案:
For (int i=0;我< joints_list.length ();我+ +){
//选择你喜欢的机器人关节
tConfig jnts_config;
机器人——> JointsConfig (joints_list[我],jnts_config);
}

//设置你的首选/最佳机器人关节:
机器人——> setJoints (new_joints);

嗨,阿尔伯特,

我完全照你说的做了。现在我遇到了一个意想不到的问题。我调试过了,看起来SolveIK_All有时失败。


因此,当我运行这段代码时,有时(奇怪的是)我得到这些消息之一:
沟通问题RoboDKAPI
有时
RoboDKAPI错误:”“

我在另外两台机器上试用了它。在一个更强大的)这并没有发生。在另一个(不那么强大))它发生了,也许甚至更频繁。这就是为什么我认为这可能是一个超时的问题?我不确定。

此外,我在一个循环中解决了136次IK。有时,它显示其中一个消息一次,然后继续工作,因为没有发生任何事情,但随后在5+调用SolveIK_All后,它崩溃了这些消息。

下面是代码片段:


代码:
tjointnew关节=机器人->关节();
cout << " Solve-all-started ";
QList< tjoint > joints_list = ROBOT->SolveIK_All(ROBOT->SolveFK(newjoint));
Cout << "done ";
tConfig jnts_config;
//遍历所有可用的解决方案:
For (int i=0;我< joints_list.length ();我+ +){
cout << "Choose-config ";
//选择你喜欢的机器人关节
机器人——> JointsConfig (joints_list[我],jnts_config);
如果(jnts_config[0]==0 && jnts_config[1]==0){
//设置你的首选/最佳机器人关节:
* joinresult = joints_list[i];
打破;
}
}
cout << " set -joint ";
机器人——> setJoints (currentJoints);

返回true;
并总结了多次尝试后的结果:


可以看到,在第9个目标之后,它无法通信,因此不需要任何配置,然后它拖动问题转到目标10和11,最后崩溃。


在这里,

错误在目标107之后出现一次,之后一切正常,最后代码继续运行。


在这里,

错误出现在11和17之后,一直到45都没有问题,它崩溃了!


可以看出,问题发生在“start - solve -all”之后,“done”之前。

你知道为什么会这样吗?
# 4
这可能是一个bug。如果你能提供一个Qt项目来显示这个问题和RDK文件,那就太好了。




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

Baidu
map