Вы, кажется, комбинируете 2 урока таким образом, что это не работает.Вы вызываете callback()
, но не предоставляете аргумент, который приводит к сбою, поскольку callback()
ожидает аргумент.
Затем вы используете msg.ranges
в своей функции.(что является идеей лазерного сообщения).
Вы, вероятно, должны сделать что-то вроде этого
#! /usr/bin/env python
import rospy
from sensor_msgs.msg import LaserScan
from geometry_msgs.msg import Twist
#defines a callback
def callback(msg):
while not rospy.is_shutdown():
print('==================================')
print('CHECKING .....')
print msg.ranges
if __name__ == '__main__':
try:
rospy.init_node('obstacle_avoidance')
pub = rospy.Publisher('/cmd_vel', Twist, queue_size=10)
rospy.Subscriber('/base_scan', LaserScan, callback)
except rospy.ROSInterruptException:
pass