ROS节点获取TIA_go机器人传感器数据,并上传到指定服务器做深度学习处理
Brief
正如标题所言,该小项目包括三部分,如下
- ROS节点获取机器人数据
- socket和服务器数据传输,包括了数据上传和获取
- 服务器深度学习处理数据
1 ROS节点获取机器人数据
1.1 数据结构
我这两天所负责的内容是读取ROS传感器数据。一开始看到这么个机器人也很懵逼,不知道怎么读数据,经过一些研究后,明白读取数据的过程是一个这样子的流程:
首先,机器人的数据本身就是很多的ROS中的TOPIC,会按照它所给定的频率广播所得到采集到的传感器数据,我们要做的就是自己建立一个节点,该节点订阅这个想要的到参数topic。接收它的msg就OK了。
首先我们看一下tia_go机器人对应的开发文档的传感器topic,这里截图一个表示一下:
这张图表示的含义是lidar传感器的数据是通过话题/scan
发布,所使用的基础信号类型是(sensor_msgs/LaserScan)
,这里我们打开链接就可以看到这种msg的定义,如下:
std_msgs/Header header
float32 angle_min
float32 angle_max
float32 angle_increment
float32 time_increment
float32 scan_time
float32 range_min
float32 range_max
float32[] ranges
float32[] intensities
也就是说,这个是lidar产生的数据通过一个叫sensor_msgs/LaserScan
的数据类型来表示,而我们需要的其实是里面的一部分。当然在此项目中,我们会使用到的实际上由深度相机测出来的rgb图片。这里上传一下开发文档。如果需要的话,评论留下邮件。
1.2 ROS需要用到的知识
这里的话可能就是需要知道ROS里面的话题,节点啥的。其实最重要的是要用catkin来穿件包和编译文件。对我这种小白来说也是需要学习的。下面会一一讲一下我的理解。
1.3 开始操作
首先我们用创建一个catkin工作空间,初始化空间和编译空间,在终端中输入:
mkdir -p ~/catkin_ws/src
cd ~/catkin_ws/src
catkin_init_workspace #初始化工作空间
cd ~/catkin_ws
catkin_make #编译工作空间
第二步是创建功能包,这里主要要注意的是要带依赖,就比如说我们要使用的图像的数据结构在sensor_msgs
这个依赖包中,我们就要在创建时把依赖写在后面,当然,我们会用到更多的ros包,比如cv_bridge
(这是用来和Opencv进行数据类型转换的,也就是把ROS的图像结构转化为Opencv的结构)
cd ~/catkin_ws/src
catkin_create_pkg ROS_Test1 std_msgs roscpp cv_bridge sensor_msgs image_transport
接下来我们再次编译包:
cd ~/catkin_ws
catkin_make
到此,我们的包就算建立好了,后面就要写代码了。我们在roscd ROS_Test1/src
文件夹下创建一个cpp文件,这里比如说叫node_b.cpp
,然后写入下面内容:
我们直接cd进去后执行:
cd ~/catkin_ws/devel/lib/src/ROS_Test1/
./ROS_Test1_b
目前的效果就是可以实时的读取深度相机的rgb图像,并通过rgb相机显示出来,如下:
好吧,我们的任务还没完成,我们虽然数据读取到了,也能够显示了,我们下一步就是要把这个数据传输到服务器上,那么接着看下一部分。
2 数据上传到服务器
机器人的rgb数据已经采集到了,那么接下来就传输,这里采用的方式是socket传输,数据形式是json。emm这部分我不是很懂,不过我要做的具体就是把已经可以在window上传输的程序移植到我上面的工程中。所以我将涉及到的内容包括了:
- 自定义多文件的包如何编译通过
- 怎么使用同一工作空间内的自定义头文件。
- json.hpp文件如何编译通过。
目前就写到这里了,因为这个机器人网络坏了,等专业人员来了把硬件修好了再处理吧。后续的工作主要就在这里了。后面的paperlist都好长了,还没有去啃。休息一下了。
ROS节点获取TIA_go机器人传感器数据,并上传到指定服务器做深度学习处理相关推荐
- php获取远程图片模拟post,file上传到指定服务器
1.获取远程图片 /** $path保存图片的地址 $url要获取的远程图片地址 **/ function getimg($path,$url){ $aext = explode('.', $url) ...
- 实时传输文件到服务器,如何将数据实时上传到云服务器
如何将数据实时上传到云服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 华 ...
- 工业物联网网关可以采集哪些RS485传感器数据并上传到MQTT云平台?
RS485是一种串行数据通信协议,具备结构简单.成本低廉.易于安装调试等特点和较好的抗干扰能力,因此成为各类型传感器的主流接口,是实现远程监控的首选通讯方式. 工业领域遍布各种各样的传感器,在工业物联 ...
- 如何用arduino+ethernet shield(W5100)与yeelink结合5分钟实现传感器数据web上传
转自Yeelink博客.http://blog.yeelink.net/?p=34 本文介绍如何在Arduino上实现自己的Yeelink客户端,以便将采集到的传感器数据上传到Yeelink平台上.该 ...
- python读取传感器数据实时上传_树莓派上利用python读取传感器DHT11的温湿度
昨晚测试Python操作dht11传感器失败!本来想着利用树莓派,传感器,数据库搭建一个机房环境监控系统,卡在了python读取数据上,怎么读取数据都是有问题.世上无难事,只要肯放弃,决定暂时放弃实验 ...
- 硬件采集数据怎么上传服务器,如何使用4G蓝牙网关进行数据采集和数据上传
原标题:如何使用4G蓝牙网关进行数据采集和数据上传 从技术效果上看,WiFi拥有宽带高.传输速度快等优点主要用于电脑.智能手机等的通信.蓝牙通信技术拥有功耗低,传输速率快等优点,是目前适用于数据采集和 ...
- pixhawk/px4如何获取及使用传感器数据
pixhawk/px4如何获取及使用传感器数据 第一步:读取传感器数据 上一篇博文已经介绍了如何给pixhawk/px4创建一个应用程序,现在我们在上一个应用程序的基础上使用传感器数据. 应用程序为了 ...
- Android手机HC-05蓝牙连接Arduino nano获取DHT-11温湿度传感器数据
如果您觉得本文对您有用,希望您点赞,收藏并且把它分享出去,不明白的可以在评论区留言,我会一一解答,感谢您的支持!! 目标 Android手机HC-05蓝牙连接Arduino nano获取DHT-11温 ...
- ROS下Python读取ft_300传感器数据
ROS下Python读取ft_300传感器数据 硬件条件: ur3 ft_300 ros:melodic #!/usr/bin/env python2 import rospy from geomet ...
最新文章
- ACE的接受器(Acceptor)和连接器(Connector):连接建立模式
- SpringBoot中Tomcat配置(学习SpringBoot实战)
- 骚操作!昨晚停网,我写了一段Python代码破解了隔壁小姐姐的wifi密码...
- 哥斯拉Godzilla webshell管理工具
- 焦旭超 201771010109《面向对象程序设计课程学习进度条》
- What is 测试金字塔?
- ffplay的数据结构分析
- 传播时延、发送时延、处理时延和排队时延各自的物理意义是什么?
- sap commit rollback
- python定义fmax_Python标准库:内置函数max(iterable, *[, key, default])说明
- 富爸爸系列 -- 《财务自由》学习笔记之三
- Python实现bp神经网络识别MNIST数据集
- JS易混淆的方法整理
- LuatOS-HMI概述
- Redis主从复制(master/slaver)
- 蹭wifi被拉黑怎么办
- Cisco Packet Tracer汉化处理
- 硕士论文答辩事宜总结
- 工具分享:elasticsearch-7.3.1请自行下载(Linux、windows_64)(附下载链接)
- WIN10系统C盘瘦身
热门文章
- [附源码]Python计算机毕业设计Django+Vue的健身房会员系统的设计与实现
- 计算机分辨率无法调整,电脑分辨率不能调怎么办
- 友盟+2019 UBDC大数据峰会:数据云智能 灯塔照通途
- 自动化运维系统具备的功能
- FFMpeg 实现视频解码、编码、转码流程详解
- 优秀的图片编辑软件:Posterino for Mac
- Mysql数据库笔记分享系列--下(内附免费课设报告)
- Python爬虫层层递进,从爬取一章小说到爬取全站小说!
- 深圳杯数学建模2020c题_模拟退火解 深圳杯2020C题
- wordpress加B站视频 无拉伸,无跳转,默认1080P