概述
3.1 Python编程_传感器数据读取
本小节将介绍如何通过编写python代码,来获取机器人的基本数据。我们将通过以下四点来进行演示:
- 获取机器人基本参数,并打印出来
- 获取IMU数据,并转化成欧拉角打印出来
- 获取雷达数据,并打印出来
- 获取摄像头数据,并python cv库显示出来
3.1.1 获取机器人底层硬件基本信息,并打印出来
机器人的底层硬件基本信息,是指嵌入式片上时钟,嵌入式cpu温度,电池电压和电池电量剩余等。
只需要开启机器人的handsfree_hw节点,机器人的基本参数就发布到 "/handsfree/robot_state" topic,我们只需要在程序里订阅,就可以将这些数据拿到。
1)打开终端,开启机器人驱动节点
roslaunch handsfree_hw handsfree_hw.launch
正常情况下,会显示:
2)打开第二个终端,查看当前的topic
rostopic list
正常情况下会在终端打印这些信息,其中/handsfree/robot_state
是我们要接收的topic
你也可以去handsfree_msgs/msg
文件夹下查看robot_state.msg
看看还有哪些消息
3)打开第三个终端,运行python文件
rosrun handsfree_tutorials get_hardware_info.py
正常情况下,会将数据打印出来:
由于数据会一直在打印,所以需要同过Ctrl+C来停止打印
4)代码解析
我们可以简单的看一下代码,代码在
/home/handsfree/handsfree/handsfree_ros_ws/src/handsfree/handsfree_tutorials/script/1_get_sensors
目录下,名为 get_hardware_info.py
也可以看下方
#!/usr/bin/env
#coding=UTF-8
import rospy
from handsfree_msgs.msg import robot_state
def callback(data): #
回调函数
rospy.loginfo("the embedded system_time: %fus"
,
data.system_time) #
下位机系统时间
rospy.loginfo("the embedded cpu temperature is: %f"
,
data.cpu_temperature) #cpu
温度
rospy.loginfo("the battery voltage is: %f"
,
data.battery_voltage) #
电池电压
rospy.loginfo("the battery power remain is: percent %f"
,
data.power_remain*100) #
电池电量剩余
<
最后
以上就是魔幻小松鼠为你收集整理的第三部分 单机以及编队控制实验—中级教程之传感器数据读取实验(1)的全部内容,希望文章能够帮你解决第三部分 单机以及编队控制实验—中级教程之传感器数据读取实验(1)所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复