def run(self):
rate = rospy.Rate(10.0)
while not rospy.is_shutdown():
+ #self.get_dist_forward()
+ #self.get_dist_backward()
+ #self.get_dist_left()
+ #self.get_dist_right()
rate.sleep()
def set_speed(self, left, right):
left = trans*2-right
self.set_speed(left, right)
+ # http://rn-wissen.de/wiki/index.php/Sensorarten#Sharp_GP2D12
+ def get_dist_ir(self, num):
+ dev = i2c(0x52)
+ s = struct.pack("B", num)
+ dev.write(s)
+ dev.close()
+
+ sleep(2e-6)
+
+ dev = i2c(0x52)
+ s = dev.read(2)
+ dev.close()
+
+ val = struct.unpack(">H", s)[0]
+ return 15221/(val - -276.42)/100;
+
+ def get_dist_srf(self, num):
+ dev = i2c(0x52)
+ s = struct.pack("B", num)
+ dev.write(s)
+ dev.close()
+
+ sleep(50e-3)
+
+ dev = i2c(0x52)
+ s = dev.read(2)
+ dev.close()
+
+ return struct.unpack(">H", s)[0]/1000.0
+
+ def get_dist_left(self):
+ dist = self.get_dist_ir(0x1)
+
+ def get_dist_right(self):
+ dist = self.get_dist_ir(0x3)
+
+ def get_dist_forward(self):
+ dist = self.get_dist_srf(0x5)
+
+ def get_dist_backward(self):
+ dist = self.get_dist_srf(0x7)
+
if __name__ == "__main__":
MoveBase()