ros

ros中使用c++对已录bag解析套路

可紊 提交于 2020-11-06 15:02:33
在自动驾驶中,有时在测试过程中无法对运行过程中的各个环节进行判断,这时则需要使用ros中的录包功能对运行中各个topic进行录制,如果向一股脑的将所有topic进行录制只需要运用一下命令对其录制。 rosbag record -a rosbag record有很多具体的命令,这里不做详细记录,有兴趣的可以自行百度,在获得录制后的bag后如何对其录制的数据进行解析或者保存呢?这里有两种方法: 一:使用命令 rosbag paly 对数据包进行回放,然后通过自己手写订阅某个topic的程序或者ros中已有的工具对bag包中的数据进行解析或者获取数据后保存。 这种方法往往有一个缺点就是不能将bag包中所有的数据全部进行进行解析或者保存。所以通常不用,这里重点介绍下第二种方法。 二、通过创建view类将数据逐帧读取出来,然后按照topic对对应的数据进行处理或者保存。代码模板如下: # include <rosbag/bag.h> # include <rosbag/view.h> // 此处为include相关消息类的头文件,如果有自定义的头文件,请将其包含在内 # include <std_msgs/Int32.h> # include <std_msgs/String.h> # include <sensor_msgs/PointCloud2.h> // # include <ros

ROS2与Arduino串口和WiFi测试记录(Due和ESP32)

寵の児 提交于 2020-11-03 13:20:28
ROS2与Arduino调试有成熟方案,一年多前写过一篇博文详细记录,现在相关物联网单片机课程(ESP32)已经开发和测试完成,将之前的再回顾一遍吧(本文不含ROS1)。 ROS2与Arduino发布订阅 (2019-09) >ESP32_wifi代码在文末< 2020年了,port也改成2020(默认为2018)测试一下: 现在官方已经更新了,但是安装和使用流程完全一致,参考官方教程即可(ros2arduino)。 串口! Due英文发布 当然,完全可以支持中文的,如下所示: 只需修改下面代码对应位置即可: 开发板类型在右下角可以看到。 接着调试一下ESP32,发现一样OK,串口非常易用,效果很好的。 具体输出如下: 无线局域网! 那么来测试一下wifi吧,先调整一下代码,如下所示: 发现一样,直接成功没有遇到任何问题! 注意,一定要启动xrcedds哦,ESP32开发板IP地址如下: 目前,还不支持tcp,最好用udp,测试非常稳定。 publisher_wifi_udpesp32.ino #include <ros2arduino.h> #include <WiFi.h> #include <WiFiUdp.h> #define PUBLISH_FREQUENCY 2 //hz const char* SSID="*********"; const char* SSID_PW

MikroTik RouterOS安装方法收集(转)

半世苍凉 提交于 2020-11-02 19:53:33
注意:ROS无法使用U盘安装,如果要使用ISO文件进行安装就必须使用光驱以及刻录成光盘,并且只能使用IDE的光驱。 一、首先了解常见的ROS硬件架构: X86架构(也是最常用的) mipsbe(欧米tik、部分RB系列、SXT、Groove等) mipsle(RBC系列、RB100、RB500系列等) pocketPC(PPC、RB1000就是这个架构的) tile(CCR系列就是这个架构) 以上5种架构几乎包含了全部ROS能使用的硬件系统 查看自己的设备是哪种硬件架构,打开winbox登陆上你的ROS 不但能看见架构是X86还能看见当前ROS版本。 二、进入正题安装方式: 在安装之前要先说明的是,ROS至今对SATA串行接口的支持依然不是很好,如果是使用X86架构的SATA硬盘的话,硬盘需要工作在混合模式下 这里再介绍下几种安装方法的工具: 光盘(这个就不解释了安装成功率高但是麻烦要刻盘,要光驱等等) vmware虚拟挂载安装(这个大多数人都知道,并且我认为在X86架构上这个安装成功率是最高的,并且只支持X86架构的安装),但12版本的使用这个方法已经不太可行了,原因是通过挂载的硬盘如果选择IDE模式那么会导致虚拟机无法启动,并且SATA模式挂载的硬盘会导致ROS安装程序无法识别 virtural虚拟硬盘挂载安装,这个可以设置指定IDE模式挂载物理磁盘,成功率比上面的高很多。

如何入门ROS? ROS学习资料大全

|▌冷眼眸甩不掉的悲伤 提交于 2020-11-02 04:53:48
近几年来,ROS机器人操作系统在国内越来越火,学习的资料也越来越多,但 机器人 是个综合性很强的学科,涉及知识面广。没有专业基础的人学习ROS还是有些困难的,为了帮助新手快速入门ROS,以下这些资料一定要收藏。 ROS官方资料:wiki http://wiki.ros.org/ http://wiki.ros.org/cn/ api http://docs.ros.org/indigo/api/ tf: http://docs.ros.org/indigo/api/tf/html/c++/index.html github: https://github.com/ 博客: Exbot: http://blog.exbot.net/archives/category/ros 史话机器人操作系统ROS: http://blog.exbot.net/archives/1748 ROS 新手问题Q&A粗略合集: http://blog.exbot.net/archives/1838 ROS 通讯层模型: http://blog.exbot.net/archives/1605 机器人操作系统ROS Indigo 入门学习(0)——ROS的UNIX基础 http://blog.exbot.net/archives/1251 老王说ROS: http://blog.exbot.net

在windows系统如何愉快玩耍物联网智能机器人项目案例

核能气质少年 提交于 2020-10-31 19:03:52
物联网机器人使用越来越多,高校相关课程方向已经全面融入类似esp8266,esp32等用作单片机课程讲授。 中小学也在逐步普及智能硬件项目,如何将嵌入式物联网设备装载强大的智能算法,如何将其应用于机器人实现更加多元丰富的案例呢? tianbotmini模型 tianbotmini实物 机器人操作系统必不可少!现在ROS1和ROS2安装已经非常简单快捷了,详细内容参考如下链接: 在Windows系统安装ROS机器人操作系统(2020年10月25日更新) 微软物联网Github: https://github.com/ms-iot 机器人程序设计入门(C++/Arduino/ROS)(转载2020版) ms-iot 之前在Linux下大部分案例可以愉快方便的移植到windows系统环境下,ros官方最先支持的是turtlebot,当然tianbotmini也自然能够在windows,macos和linux下正常调试和使用的。下面以此为例简要介绍一下过程。 目前,电脑配置如下版本ROS: ros-windows 课程讲授需要测试过的ROS第三方功能包,非核心库,核心包随ROS安装自动加载。 ros_ws 编译tianbotmini功能包 cmd配置: C:\Windows\System32\cmd.exe /k "C:\Program Files (x86)\Microsoft

【rosbridge】ROS与Android通信

我只是一个虾纸丫 提交于 2020-10-29 17:03:22
【rosbridge】ROS与Android通信 计划复现 Android和ROS的通信 消息的传递 坑很多,下面是BUG清单 在ubuntu18.04上安装Android Studio后无桌面快捷方式 成功解决方法: ubuntu 18.04系统设置应用到桌面快捷方式的使用方法 不了解gradle配置文件 Android进阶系统学习——Gradle入门与项目实战 Android开发无法连接dl.google.com使用阿里云 Android开发无法连接dl.google.com问题Could not get resource 'https://dl.google.com/ 更改host文件连接dl.google.com Failed to fetch url https //dl.google.com/android/repository/addons_list-2.xml Socket Software Android Studio 使用本地Maven仓库 maven仓库 本地Maven我没搞成功,还是用的阿里云。 ubuntu18.04 总是显示 网络不可达 就很烦,我也不知道应该怎么办。 还是得翻墙下载一个.pom文件,然后找到地方放进去。 我是用ccleaner先找到其他的.pom放在哪里然后再放进去。 还是遇到了BUG,我也是服了,这个明明是有的,就是找不到。

使用velodyne16线激光雷达跑loam-velodyne------包括激光雷达和imu的标定

一世执手 提交于 2020-10-29 07:47:04
一、velodyne-VLP16使用教程 推荐网址 : http://blog.csdn.net/littlethunder/article/details/51920681 https://www.cnblogs.com/williamc17/p/9705492.html 更多情报 : 二、LOAM 2.1 源码 1)作者J Zhang,已取消开源。 该库融合二维hokuyo雷达和IMU构建三维空间点云地图。 2)作者laboshinl,https://github.com/laboshinl/loam_velodyne 该库能兼容velodyne16线,32线,64线。不同型号的雷达要对相应的参数进行修改。 3)作者tcts-mvcp,https://github.com/tcts-mvcp/loam_velodyne Change point type to PointXYZINormal, and store original coordinate and intensity data, which are useful for applications like land markers recognition or ground segmentation, to normal and curvature, respectively. 4

ROS 初级

青春壹個敷衍的年華 提交于 2020-10-28 11:53:36
程序小哥 这是我的第 106 篇原创 阅读本文大概需要 4 分钟。 这个 ROS 系列教程主要来自 ROS Wiki,加上自己学习过程中踩过的一些坑和个人理解。 1、安装 ROS 在配置 ROS 环境前要完全安装 ROS,参看之前的安装 ROS 的文章 Ubuntu 16.04 安装 Kinetic: https://dlonng.com/posts/install-kinetic 2、管理 ROS 环境变量 学习 ROS 环境变量的目的是为了更好的管理 ROS 项目,不同版本的 ROS 安装完都会提供一个 setup.sh 文件,当我们使用 source 命令执行某个分支的 setup.sh,即可切换到对应版本的 ROS 环境下。 要查看当前的 ROS 相关的环境变量,执行下面的命令: printenv | grep ROS 补充:这个命令的意思是把 printenv 的输出通过 Linux 下的进程间通信方式管道 | 来作为 grep 命令的输入,而 grep ROS 的作用是从输入中查找含有 ROS 关键字的行。 注意查看 ROS_ROOT 和 ROS_PACKAGE_PATH 的路径是否是你安装的 ROS 版本。 在我们安装完 K 版本的 ROS 后,需要在终端 source 一下对应的 setup.*sh 脚本: source /opt/ros/kinetic/setup

ROS学习笔记一:ROS安装与测试

假装没事ソ 提交于 2020-10-28 11:13:23
一、Ubuntu和ROS版本的对应关系 Ubuntu 和 ROS 都存在不同的版本,其对应关系如下: <br /> 注 :如果Ubuntu版本和ROS版本不对应的话,安装就不会成功了~ <span style="color:red">笔者安装的是Ubuntu14.04 LTS(双系统,非虚拟机),所以安装的是Indigo版本,以下安装步骤均是基于Indigo版本的。</span> <br /> 二、配置Ubuntu的软件源 由于ROS属于社区支持,还有很多其他的库并不是官方支持的,所以需要修改ubuntu的仓库属性,让其允许获得属性为“main”、“restricted”、“universe”和“multiverse”的源,可以根据 这个 进行配置。 配置成如下图所示即可,一般情况下,这些配置都是默认的。 <br /> <span style="color:red">下面就可以正式准备安装了!</span>可以参考本篇文章安装,也可参考: ROS维基百科 - Indigo安装 <br /> 三、设置源地址文件sources.list 设置源地址文件使电脑系统可以接受来自packages.ros.org的软件包,ROS Indigo只支持debian安装包的Saucy(13.10)和Trusty(14.04)版本,执行如下命令把ROS的源地址添加进源地址文件列表。