|
@@ -10,6 +10,7 @@
|
|
|
# 直接订阅该话题即可获取到imu扩展板当前的数据。
|
|
|
# History:
|
|
|
# 20191031: Initial this file.
|
|
|
+# 20191209: 新增发布IMU芯片温度的话题,发布频率与发布imu数据频率相同.
|
|
|
|
|
|
import rospy
|
|
|
import string
|
|
@@ -41,9 +42,7 @@ rospy.init_node("imu_node")
|
|
|
data_topic_name = rospy.get_param('~pub_data_topic', 'imu_data')
|
|
|
temp_topic_name = rospy.get_param('~pub_temp_topic', 'imu_temp')
|
|
|
link_name = rospy.get_param('~link_name', 'base_imu_link')
|
|
|
-data_pub_hz = rospy.get_param('~data_pub_hz', '10')
|
|
|
-temp_pub_hz = rospy.get_param('~temp_pub_hz', '1')
|
|
|
-
|
|
|
+pub_hz = rospy.get_param('~pub_hz', '10')
|
|
|
|
|
|
data_pub = rospy.Publisher(data_topic_name, Imu, queue_size=1)
|
|
|
temp_pub = rospy.Publisher(temp_topic_name, Float32, queue_size=1)
|
|
@@ -76,8 +75,9 @@ seq=0
|
|
|
accel_factor = 9.806/256.0
|
|
|
|
|
|
myIMU = MyIMU(0x50)
|
|
|
-rate = rospy.Rate(data_pub_hz)
|
|
|
+rate = rospy.Rate(pub_hz)
|
|
|
|
|
|
+rospy.loginfo("Rasp IMU Module is woking ...")
|
|
|
while not rospy.is_shutdown():
|
|
|
myIMU.get_YPRAG()
|
|
|
|
|
@@ -102,18 +102,18 @@ while not rospy.is_shutdown():
|
|
|
imuMsg.angular_velocity.z = float(myIMU.raw_gz)*degrees2rad
|
|
|
|
|
|
# From IMU module get quatern param
|
|
|
- myIMU.get_quatern()
|
|
|
- imuMsg.orientation.x = myIMU.raw_q1
|
|
|
- imuMsg.orientation.y = myIMU.raw_q2
|
|
|
- imuMsg.orientation.z = myIMU.raw_q3
|
|
|
- imuMsg.orientation.w = myIMU.raw_q0
|
|
|
+ #myIMU.get_quatern()
|
|
|
+ #imuMsg.orientation.x = myIMU.raw_q1
|
|
|
+ #imuMsg.orientation.y = myIMU.raw_q2
|
|
|
+ #imuMsg.orientation.z = myIMU.raw_q3
|
|
|
+ #imuMsg.orientation.w = myIMU.raw_q0
|
|
|
|
|
|
# Calculate quatern param from roll,pitch,yaw by ourselves
|
|
|
- #q = quaternion_from_euler(roll, pitch, yaw)
|
|
|
- #imuMsg.orientation.x = q[0]
|
|
|
- #imuMsg.orientation.y = q[1]
|
|
|
- #imuMsg.orientation.z = q[2]
|
|
|
- #imuMsg.orientation.w = q[3]
|
|
|
+ q = quaternion_from_euler(roll, pitch, yaw)
|
|
|
+ imuMsg.orientation.x = q[0]
|
|
|
+ imuMsg.orientation.y = q[1]
|
|
|
+ imuMsg.orientation.z = q[2]
|
|
|
+ imuMsg.orientation.w = q[3]
|
|
|
|
|
|
imuMsg.header.stamp= rospy.Time.now()
|
|
|
imuMsg.header.frame_id = link_name
|