我正试图与NAO (V50)和ik逆运动学求解器合作。我需要使用修改的限制,因为NAO有皮肤添加到他,这改变了限制。尝试使用未修改的nao.urdf,但这也会引发同样的错误。当我查找这个错误时,我发现可能是与tf库有关。他们包含的trac_ik pr2示例代码工作得很好。当我认为这是来自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‘的实例之后终止调用-- 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的原因?
编辑:为什么否决?
发布于 2018-08-14 18:56:06
确保在执行其他操作之前初始化ROS时间,因为您导入的某些东西可能需要它。
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-再次运行示例脚本。
https://stackoverflow.com/questions/51847900
复制相似问题