我有一个包含 5 个位置的扫描列表供机器人使用。并且对于每个职位,我希望订阅一个主题来获取传感器数据并在rviz中添加一个标记。这是我的代码:
def addMarkerCallback(msg):
draw_functions = DrawFunctions('visualisation_marker')
if msg.data:
draw_functions.draw_rviz_sphere(0.02)
else:
print 'no data'
rospy.init_node("sensor_marker", anonymous = True)
for item in scanlist:
moveit_cmd.go(item, wait=True)
sub1 = rospy.Subscriber('sensor/right', SensorData, addMarkerCallback)
rospy.spin()
print 'go finished'
但是,当我运行代码时,问题是循环将始终停留在第一次迭代中,因此机器人不会转到扫描列表中的其他位置。我猜这是 rospy.spin() 的问题。谁能告诉我如何解决这个问题...非常感谢!