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机器人传感器数据,并上传到指定服务器做深度学习处理相关推荐

  1. php获取远程图片模拟post,file上传到指定服务器

    1.获取远程图片 /** $path保存图片的地址 $url要获取的远程图片地址 **/ function getimg($path,$url){ $aext = explode('.', $url) ...

  2. 实时传输文件到服务器,如何将数据实时上传到云服务器

    如何将数据实时上传到云服务器 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. 华 ...

  3. 工业物联网网关可以采集哪些RS485传感器数据并上传到MQTT云平台?

    RS485是一种串行数据通信协议,具备结构简单.成本低廉.易于安装调试等特点和较好的抗干扰能力,因此成为各类型传感器的主流接口,是实现远程监控的首选通讯方式. 工业领域遍布各种各样的传感器,在工业物联 ...

  4. 如何用arduino+ethernet shield(W5100)与yeelink结合5分钟实现传感器数据web上传

    转自Yeelink博客.http://blog.yeelink.net/?p=34 本文介绍如何在Arduino上实现自己的Yeelink客户端,以便将采集到的传感器数据上传到Yeelink平台上.该 ...

  5. python读取传感器数据实时上传_树莓派上利用python读取传感器DHT11的温湿度

    昨晚测试Python操作dht11传感器失败!本来想着利用树莓派,传感器,数据库搭建一个机房环境监控系统,卡在了python读取数据上,怎么读取数据都是有问题.世上无难事,只要肯放弃,决定暂时放弃实验 ...

  6. 硬件采集数据怎么上传服务器,如何使用4G蓝牙网关进行数据采集和数据上传

    原标题:如何使用4G蓝牙网关进行数据采集和数据上传 从技术效果上看,WiFi拥有宽带高.传输速度快等优点主要用于电脑.智能手机等的通信.蓝牙通信技术拥有功耗低,传输速率快等优点,是目前适用于数据采集和 ...

  7. pixhawk/px4如何获取及使用传感器数据

    pixhawk/px4如何获取及使用传感器数据 第一步:读取传感器数据 上一篇博文已经介绍了如何给pixhawk/px4创建一个应用程序,现在我们在上一个应用程序的基础上使用传感器数据. 应用程序为了 ...

  8. Android手机HC-05蓝牙连接Arduino nano获取DHT-11温湿度传感器数据

    如果您觉得本文对您有用,希望您点赞,收藏并且把它分享出去,不明白的可以在评论区留言,我会一一解答,感谢您的支持!! 目标 Android手机HC-05蓝牙连接Arduino nano获取DHT-11温 ...

  9. ROS下Python读取ft_300传感器数据

    ROS下Python读取ft_300传感器数据 硬件条件: ur3 ft_300 ros:melodic #!/usr/bin/env python2 import rospy from geomet ...

最新文章

  1. ACE的接受器(Acceptor)和连接器(Connector):连接建立模式
  2. SpringBoot中Tomcat配置(学习SpringBoot实战)
  3. 骚操作!昨晚停网,我写了一段Python代码破解了隔壁小姐姐的wifi密码...
  4. 哥斯拉Godzilla webshell管理工具
  5. 焦旭超 201771010109《面向对象程序设计课程学习进度条》
  6. What is 测试金字塔?
  7. ffplay的数据结构分析
  8. 传播时延、发送时延、处理时延和排队时延各自的物理意义是什么?
  9. sap commit rollback
  10. python定义fmax_Python标准库:内置函数max(iterable, *[, key, default])说明
  11. 富爸爸系列 -- 《财务自由》学习笔记之三
  12. Python实现bp神经网络识别MNIST数据集
  13. JS易混淆的方法整理
  14. LuatOS-HMI概述
  15. Redis主从复制(master/slaver)
  16. 蹭wifi被拉黑怎么办
  17. Cisco Packet Tracer汉化处理
  18. 硕士论文答辩事宜总结
  19. 工具分享:elasticsearch-7.3.1请自行下载(Linux、windows_64)(附下载链接)
  20. WIN10系统C盘瘦身

热门文章

  1. [附源码]Python计算机毕业设计Django+Vue的健身房会员系统的设计与实现
  2. 计算机分辨率无法调整,电脑分辨率不能调怎么办
  3. 友盟+2019 UBDC大数据峰会:数据云智能 灯塔照通途
  4. 自动化运维系统具备的功能
  5. FFMpeg 实现视频解码、编码、转码流程详解
  6. 优秀的图片编辑软件:Posterino for Mac
  7. Mysql数据库笔记分享系列--下(内附免费课设报告)
  8. Python爬虫层层递进,从爬取一章小说到爬取全站小说!
  9. 深圳杯数学建模2020c题_模拟退火解 深圳杯2020C题
  10. wordpress加B站视频 无拉伸,无跳转,默认1080P