我是靠谱客的博主 魔幻小松鼠,最近开发中收集的这篇文章主要介绍第三部分 单机以及编队控制实验—中级教程之传感器数据读取实验(1),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(40)

评论列表共有 0 条评论

立即
投稿
返回
顶部