第三部分 单机以及编队控制实验—中级教程之传感器数据读取实验(1)

本文是关于如何通过Python编程获取机器人传感器数据的中级教程,包括获取底层硬件信息、IMU数据(转为欧拉角)、激光雷达数据和摄像头数据。详细介绍了每个步骤的实现方法和代码解析。
摘要由CSDN通过智能技术生成

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
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值