首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >导入URDF抛出ros::TimeNotInitializedException

导入URDF抛出ros::TimeNotInitializedException
EN

Stack Overflow用户
提问于 2018-08-14 18:41:02
回答 1查看 249关注 0票数 0

我正试图与NAO (V50)和ik逆运动学求解器合作。我需要使用修改的限制,因为NAO有皮肤添加到他,这改变了限制。尝试使用未修改的nao.urdf,但这也会引发同样的错误。当我查找这个错误时,我发现可能是与tf库有关。他们包含的trac_ik pr2示例代码工作得很好。当我认为这是来自trac_ik的bug时,他们回答说这是ROS使用错误。

代码语言:javascript
复制
from naoqi import ALProxy
from trac_ik_python.trac_ik import IK
import rospy

with open('data.urdf', 'r') as file:
    urdf=file.read()

Solver = IK("Torso", "LShoulderPitch", urdf_string=urdf)

结束时:在抛出'ros::TimeNotInitializedException‘的实例之后终止调用-- what():无法使用ros::Time::now(),然后才创建第一个NodeHandle,或者调用ros::start()。如果这是一个只使用ros::Time的独立应用程序或测试,并且不通过ROS进行通信,那么您也可以调用ros::Time::init() Neúspěšněněukončen (核心转储ěti uložen)

也试图让rospy.init_node(“文本”)在一开始,但也没有工作。使用ROS的旋律。如何找到导致此/正确使用ROS的原因?

编辑:为什么否决?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-14 18:56:06

确保在执行其他操作之前初始化ROS时间,因为您导入的某些东西可能需要它。

代码语言:javascript
复制
import rospy
rospy.init_node("testnode")

from naoqi import ALProxy
from trac_ik_python.trac_ik import IK

with open('data.urdf', 'r') as file:
    urdf=file.read()

Solver = IK("Torso", "LShoulderPitch", urdf_string=urdf)

更新:正如你所说的,这似乎是一个与tf相关的问题。你能试试以下步骤吗?

1-在track_ik_wrap.i包中查找track_ik_python文件。

2-向TRAC_IK构造函数中添加行"ros::Time::init();“。(我在urdf::Model robot_model;line之前添加了它)

3-用catkin_make --pkg track_ik_python重新编译包

4-再次运行示例脚本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51847900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档