本文整理汇总了Python中sensor_msgs.msg.Range类的典型用法代码示例。如果您正苦于以下问题:Python Range类的具体用法?Python Range怎么用?Python Range使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Range类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: main
def main():
global NUM_SENSORS, BAUD_RATE, DEVICE_ADDRESS
rospy.loginfo("Launching arduino analog reader")
rospy.init_node("arduinoReader")
ser = serial.Serial(DEVICE_ADDRESS)
ser.baudrate = BAUD_RATE
pubs = []
for index in range(NUM_SENSORS):
pubs.append(rospy.Publisher(("/sonar/" + str(index)), Range))
while not rospy.is_shutdown():
data = ser.readline().split("\t")
data.pop() # last element is garbage
rospy.loginfo("Read line: " + str(data))
for reading in data:
#construct message
msg = Range()
try:
msg.range = float(reading)
except ValueError:
msg.range = -1.0
pubIndex = data.index(reading)
if pubIndex < NUM_SENSORS :
pubs[pubIndex].publish(msg)
示例2: __init__
def __init__(self):
#初始化节点
rospy.init_node("talkerUltraSound", anonymous = True)
#超声波数据发布节点
ultrasound_pub = rospy.Publisher("UltraSoundPublisher", Range, queue_size = 20)
ran_broadcaster = tf.TransformBroadcaster()
rate=rospy.Rate(1)
while not rospy.is_shutdown():
ran_quat = Quaternion()
ran_quat = quaternion_from_euler(0, 0, 0)
#发布TF关系
ran_broadcaster.sendTransform((0.2,0.0,0.2),ran_quat,rospy.Time.now(),"ultrasound","base_link")
#定义一个超声波消息
ran = Range()
ran.header.stamp = rospy.Time.now()
ran.header.frame_id = "/ultrasound"
ran.field_of_view = 1;
ran.min_range = 0;
ran.max_range = 5;
ran.range = 0.5;
ultrasound_pub.publish(ran)
rate.sleep()
示例3: Publish
def Publish(self):
#初始化节点
rospy.init_node("talkerUltraSound", anonymous = True)
#超声波数据发布节点
self.ultrasound_pub = rospy.Publisher("UltraSoundPublisher", Range, queue_size = 20)
ran_broadcaster = tf.TransformBroadcaster()
rate=rospy.Rate(10)
#print "Input distance('+' is the end of the number):"
while not rospy.is_shutdown():
#ch=self.getKey()
#self.addChar(ch)
ran_quat = Quaternion()
ran_quat = quaternion_from_euler(0, 0, 0)
#发布TF关系
ran_broadcaster.sendTransform((0.2,0.0,0.2),ran_quat,rospy.Time.now(),"ultrasound","base_link")
#定义一个超声波消息
ran = Range()
ran.header.stamp = rospy.Time.now()
ran.header.frame_id = "/ultrasound"
ran.field_of_view = 1;
ran.min_range = 0;
ran.max_range = 5;
ran.range = self.dist;
#ultrasound_pub.publish(ran)
rate.sleep()
示例4: altitude_pub
def altitude_pub(self, alt):
rng = Range()
rng.field_of_view = math.pi * 0.1
rng.max_range = 300
rng.header.frame_id = "sonar_link"
rng.header.stamp = rospy.Time.now()
rng.range = alt
return rng
示例5: prepareArray
def prepareArray(self):
for i in range(0, len(self.sensors)):
r = Range()
r.header.frame_id = "ir{}_link".format(i + 1)
r.min_range = self.sensors[i].min_range
r.max_range = self.sensors[i].max_range
r.radiation_type = r.INFRARED
self.msg.array += [r]
示例6: sendMessage
def sendMessage(sonarId, distance):
sonarDictionary = {'1':"frontLeftSonar", '2':"diagLeftSonar", '3':"sideLeftSonar", '4':"frontRightSonar", '5':"diagRightSonar", '6':"sideRightSonar"}
sonarName = sonarDictionary[sonarId]
sonar = Range()
sonar.header.stamp = rospy.Time.now()
sonar.header.frame_id = sonarName
sonar.range = float(distance)
sonar.field_of_view = .3489
sonar.max_range = 6.45
sonar.min_range = .1524
return sonar
示例7: random_sonar
def random_sonar(delay=1):
print('Starting random sonar...')
pub = Publisher('/sensors/range', Range)
msg = Range()
while not rospy.is_shutdown():
msg.header = rospy.Header(frame_id='right_sonar_frame')
msg.range = random.random() * 20
pub.publish(msg)
sleep(delay)
msg.header = rospy.Header(frame_id='left_sonar_frame')
msg.range = random.random() * 20
pub.publish(msg)
示例8: talker
def talker():
pub = rospy.Publisher("sensor1", Range, queue_size=50)
rospy.init_node("robot", anonymous=True)
rate = rospy.Rate(1) # 10hz
while not rospy.is_shutdown():
msg = Range()
msg.header.stamp = rospy.Time.now()
msg.header.frame_id = "/sensor1"
msg.min_range = 0
msg.max_range = 2
msg.radiation_type = Range.ULTRASOUND
rospy.loginfo(msg)
pub.publish(msg)
rate.sleep()
示例9: getDistance
def getDistance(self):
while True:
self.dist=input("plase input dis:")
try:
print "you have input:"+str(self.dist)
except:
print "you have input nothing"
ran = Range()
ran.header.stamp = rospy.Time.now()
ran.header.frame_id = "/ultrasound"
ran.field_of_view = 1;
ran.min_range = 0;
ran.max_range = 5;
ran.range = self.dist;
self.ultrasound_pub.publish(ran)
示例10: range_test
def range_test():
from sensor_msgs.msg import Range
sensor = RangeSensor()
print sensor
m = Range()
m.range = 2000.0
m.max_range = 3000.0
m.min_range = 2.01
sensor.min_safe = 500
sensor.measure(m)
print sensor
print sensor.isNear()
print sensor.isFar()
m.range = 4000
sensor.measure(m)
print sensor
print sensor.isNear()
print sensor.isFar()
m.range = -2000
sensor.measure(m)
print sensor
print sensor.isNear()
print sensor.isFar()
m.range = 300
sensor.measure(m)
print sensor
print sensor.isNear()
print sensor.isFar()
示例11: test_range
def test_range(self):
sensor = Sensors.Range(min_safe=10)
msg = Range()
msg.max_range = 3000
msg.min_range = 5
msg.range = 2500
sensor.measure(msg)
self.assertEquals(sensor.max_range, msg.max_range)
self.assertEquals(sensor.min_range, msg.min_range)
self.assertEquals(sensor.range , msg.range)
self.assertFalse(sensor.isFar())
self.assertFalse(sensor.isNear())
msg.range = 4001
sensor.measure(msg)
self.assertTrue(sensor.isFar())
self.assertFalse(sensor.isNear())
msg.range = 3
sensor.measure(msg)
self.assertFalse(sensor.isFar())
self.assertTrue(sensor.isNear())
msg.range = 8
sensor.measure(msg)
self.assertFalse(sensor.isFar())
self.assertTrue(sensor.isNear())
示例12: talker
def talker():
pub = rospy.Publisher('lidar_data', Range, queue_size=10)
rospy.init_node('lidar_node')
rate = rospy.Rate(1000) # 10hz
ser=serial.Serial('/dev/ttyUSB1',115200)
msg=Range()
while not rospy.is_shutdown():
p=ser.readline()
if p!='\n' and p!='':
try:
msg.range=int(p)
msg.header.stamp = rospy.Time.now()
print msg.range
pub.publish(msg)
except:
pass
rate.sleep()
示例13: publish
def publish(self, data):
msg = Range()
msg.header.stamp = rospy.get_rostime()
msg.header.frame_id = self._frameId
if self._urfType == URF_HRLV:
msg.min_range = MIN_RANGE_URF_HRLV_MaxSonar
msg.max_range = MAX_RANGE_URF_HRLV_MaxSonar
msg.field_of_view = FIELD_OF_VIEW_URF_HRLV_MaxSonar
else:
msg.min_range = MIN_RANGE_URF_LV_MaxSonar
msg.max_range = MAX_RANGE_URF_LV_MaxSonar
msg.field_of_view = FIELD_OF_VIEW_URF_LV_MaxSonar
msg.radiation_type = Range.ULTRASOUND
msg.range = data
self._pub.publish(msg)
示例14: node
def node():
rospy.init_node('sonar_node', anonymous=True)
range_msg = Range()
range_msg.radiation_type = range_msg.ULTRASOUND
pub = rospy.Publisher("/msg_from_sonar", Range, queue_size=10)
r = rospy.Rate(20)
rospy.loginfo("reading sonar range")
while not rospy.is_shutdown():
#trigger sonar to measure
cmd = chr(0x22)+chr(0x00)+chr(0x00)+chr(0x22)
ser.write(cmd)
data = ser.read(4)
if len(data)==4 and (ord(data[0])+ord(data[1])+ord(data[2]))&255 == ord(data[3]):
sonar_range = ord(data[1])*256+ord(data[2])
range_msg.range = sonar_range
pub.publish(range_msg)
rospy.loginfo("distance : %d", sonar_range)
else:
rospy.logwarn("sonar error!")
r.sleep()
示例15: callback
def callback(event):
value = ADC.read("P9_39")
outvoltage = 3.3 * value
#minimum range
if outvoltage > 2.75:
rangevalue = 15
elif outvoltage < .4:
rangevalue = 150
else:
#exponential fit function, derived from data sheet
rangevalue = 61.7 * math.pow(outvoltage, -1.2)
#assign values and publish
pub = rospy.Publisher('/range', Range, queue_size=10)
rangeout = Range()
rangeout.min_range = 15
rangeout.max_range = 150
rangeout.range = rangevalue
rospy.loginfo(rangeout)
pub.publish(rangeout)