Exemplo n.º 1
0
	def __init__(self, **kwargs):
		super(ROS_GPS, self).__init__()

		self.gps = GPS( )

		# self.imu = IMU_Magdwick( Ts = 0.01 )
		# self.imu = IMU_Mahoney( Ts = 0.01 )
		self.publisher = dict(
            state = rospy.Publisher('/ardrone/gps', Odometry)
            )

		self.subscriber = dict(
            raw_gps = rospy.Subscriber('/fix', NavSatFix, callback = self.ReceiveGPS ),
            )
Exemplo n.º 2
0
class ROS_GPS(ROS_Object, object):
	"""docstring for ROS_IMU"""
	def __init__(self, **kwargs):
		super(ROS_GPS, self).__init__()

		self.gps = GPS( )

		# self.imu = IMU_Magdwick( Ts = 0.01 )
		# self.imu = IMU_Mahoney( Ts = 0.01 )
		self.publisher = dict(
            state = rospy.Publisher('/ardrone/gps', Odometry)
            )

		self.subscriber = dict(
            raw_gps = rospy.Subscriber('/fix', NavSatFix, callback = self.ReceiveGPS ),
            )
		

	def ReceiveGPS(self, gps_raw):
		if not self.gps.calibrated:
			self.gps.set_zero(gps_raw)
			self.gps.calibrated = True 


		self.gps.measure(gps_raw)

		self.Talk()

	def Talk( self ):

		msg = Odometry()
		msg.header.stamp = rospy.Time.now()

		msg.pose.pose.position.x = self.gps.x
		msg.pose.pose.position.y = self.gps.y

		self.publisher['state'].publish(msg)