导入URDF抛出ros::TimeNotInitializedException

2024-04-19 11:27:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用NAO(V50)和trac_ik inverse kinematic solver。我需要使用修改的限制,因为NAO添加了皮肤,这改变了限制。试图使用预先生成的nao.urdf而不做任何修改,但这会引发相同的错误。当我查找这个错误时,我发现它可能是related to tf library。他们包含的pr2的tracèuk示例代码运行良好。当我以为是tracïik的bug时,他们回答说是ROS使用错误。你知道吗

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”实例后调用terminate what():在创建第一个NodeHandle或调用ros::start()之前,不能使用ros::Time::now()。如果这是一个独立的应用程序或测试,只使用ros::Time,不通过ros进行通信,那么您也可以调用ros::Time::init() Neúspěněukončen(SIGABRT)(堆芯倾倒[obraz paměti uložen])

也尝试过rospy.init\u节点(“文本”)的开始,但也没有工作。使用ROS旋律。如何找到导致这种情况的原因/正确的ROS用法是什么?你知道吗

编辑:为什么要投反对票?你知道吗


Tags: fromimporttimeinit错误rosikrospy
1条回答
网友
1楼 · 发布于 2024-04-19 11:27:08

在做其他事情之前一定要花时间,因为有些东西你可能需要它。你知道吗

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\u ik\u python包中查找track\u ik\u wrap.i文件。
2-将行“ros::Time::init();”添加到TRACèIK构造函数。(我在urdf::Model robot\u Model;line之前添加了它)
3-用catkin\u make pkg track\u ik\u python重新编译包
4-再次运行示例脚本。你知道吗

相关问题 更多 >