0. 简介 对于ROS来说,如果不具备一定知识的人员来使用这些我们写的算法,如果说没有交互,这会让用户使用困难,所以我们需要使用GUI来完成友善的数据交互,传统的GUI方法一般有PYQT这类GUI方法,但是这类GUI工具上手门槛较高,也不太适合快速且敏捷的可视化界面开发。NiceGUI 是一个易于使用、基于Python的用户界面框架,它显示在Web浏览器里,可创建按钮,对话框,markdown,
0. 简介 之前作者已经讲了《ROS1可视化利器—-Webviz》,然后就有读者问,ROS2有没有可以使用的可视化工具呢,答案是肯定的,除了plotjuggler这种ROS1和ROS2通用的可视化利器,还有一种全平台通用的软件FoxgloveStudio,Github开源链接为https://github.com/foxglove/studio。 1. FoxgloveStudio 说明 对
0. 简介 对于ROS而言,其最常用的就是Topic话题以及Service两个了。之前我们在了解Unity Robotics Hub时候就了解到基本的Unity和ROS的通讯,下面我们来详细介绍一下Unity与ROS的话题与服务。 ROS和Unity之间的通信是通过Unity的“ROS-TCP-Connector”软件包和ROS的“ROS-TCP-Endpoint”软件包进行通信的。 1.
0. 简介 gRPC 一开始由 google 开发,高性能、开源、支持多语言的 RPC 框架。 在gRPC框架中,运行在不同机器上的客户端应用可以直接调用服务器端上提供的方法,使得我们可以更容易的创建一个分布式系统。gRPC基于定义服务(Service)的思想,指定可以使用其参数和返回类型远程调用的方法;在服务器端,服务器实现这个接口并运行一个gRPC服务器来处理客户端调用;在客户端,客户端有
0. 简介 在面对ROS环境配置时,我们会发现,有的时候非常难查的问题有时候是因为ROS的CMakeList和package配置文件写的不对导致的。ROS1的时候就很无能为力,需要熟练地了解每个模块与配置。而ROS2中就提供了一个可以检测ros2的方方面面,包括平台,版本,网络,环境,运行系统等等的工具ros2 doctor。ros2 doctor仅在Eloquent及更高的版本中可以使用。同时
0. 简介 我们在开发ROS2程序时会发现,当面对只有一个node节点时,程序的调用是线性的,这个时候就会有两种解决方式,一种就是使用rclcpp_components来完成对子节点的注册,并完成类似ROS1中Nodelets的操作。另外一种就是使用执行器和回调组完成多线程的创建。 1. ROS2中多线程—callback_group 相较于ROS1中使用MultiThreadedSpinn
0. 简介 在面对ROS这个软件时,我们会尝试着设计更多的可视化软件用于仿真,以展示我们算法程序的效果。作者就在这里向大家展示6种二次开发和可视化平台。下面我们以ROS2为主来一一说明。 1. RVIZ2 rviz2作为我们最常用的可视化软件,其也支持插件的开发使用,具体使用方法也和ROS1类似,这里之前写过一篇ros1 如何开发rviz plugin插件的文章,这里就不展开叙述了。下图为小
0. 简介 作者最近发现ROS2目前的功能越来越完善了,其中也新增了很多比较好用的高级玩法,这里作者来一个个向大家展示。这里是小鱼做的ROS2官方文档的中文翻译平台,可以学习和推荐一下 1. 动态参数 1.1 代码编写 对于动态参数,大家学过ROS1的话应该都应该有所耳闻吧,ROS1的动态参数的操作还需要dynamic_reconfigure,ROS2中我们直接使用declare_para
0. 简介 ros1中我们会经常使用Nodelets来完成多个Node节点的管理。但是在ROS2中如何使用多节点组合去完成管理,这也是我们需要去了解和学习的。 1 . ROS 1 - Node 和 Nodelets 在ROS1中你可以写一个节点也可以写一个小节点(Nodelet)。 ROS 1 的节点会被编译成一个可执行文件。 ROS 1的小节点会被编译成一个动态链接库。当程序运行的时候会被
0. 简介 之前尝试过使用plugin来实现功能的模块化.同时在ROS中,为了使核心的代码是只留下输入输出接口的,所以我们使用plugin来实现.so文件的封装以及动态调取.但是在近期接触后发现在RVIZ的插件开发中,其核心也是plugin插件性质,这里再开一篇文章来进行介绍.详细的配置可以在文章:ROS设置plugin插件中看到. 1. 内容介绍 rviz是ROS官方提供的一款3D可视化工
0. 前言 在C++编程中,我们经常会发现段错误这类问题,而这类问题经常是指访问的内存超出了系统所给这个程序的内存空间。一般是随意使用野指针或者数组、数组越界等原因造成的。段错误是指访问的内存超出了系统给这个程序所设定的内存空间,例如访问了不存在的内存地址、访问了系统保护的内存地址、访问了只读的内存地址等等情况。此前我们也在博客中讲述了通过GDB对ROS的调试,而段错误也会通过这样类似的形式运行
0. 简介 最近在收到了很多读者的消息后,我觉得有必要开这个坑,来给大家阐述下如何对激光雷达点云以及图像点云去做栅格化以及体素化的操作.这部分需要各位读者拥有PCL,octomap,ROS2,C++的一些基础.好了废话不多说,我们第二章主要介绍点云的体素化. 1. octomap octomap是一种基于八叉树的三维地图创建工具, 可以显示包含无障碍区域及未映射区域的完整3D图形, 而且基于
0. 简介 最近在收到了很多读者的消息后,我觉得有必要开这个坑,来给大家阐述下如何对激光雷达点云以及图像点云去做栅格化以及体素化的操作.这部分需要各位读者拥有PCL,octomap,ROS2,C++的一些基础.好了废话不多说,我们第一章主要介绍点云的栅格化. 1. 栅格化 点云地图存储的是传感器对环境的原始扫描点云,优点是保留信息完整,缺点是计算量大、但是不能直接用于导航避障;特征地图存储的是环境
0. 简介 最近一直苦于自己写的代码的开发的质量不高,急需要一种可以适用于C++代码的代码质量检测工具,这里发现SonarQube可以很好的适用于Ubuntu环境,并能够很好的与Gitlab兼容,从而保证代码的敏捷式开发。 1. SonarQube安装 ubuntu中安装jdk详细过程可参考:https://blog.csdn.net/qq_26709459/article/details/80
0. 前言 最近群里有些老哥在问cartographer配置的相关问题,将我以前自己记录的文件测试后发现竟然已经失效,其原因在于cartographer官网对程序又进行了一次升级,以前的部分操作已经无法适用,这里在此记录一下。 1. 环境配置(melodic) 安装依赖包 sudo apt-get update sudo apt-get install -y google-mock libboo
0. 简介 最近群里有些老哥在问cartographer纯定位相关问题,网上已有的方法均已失效,这里作者研究了下cartographer相关的流程以及源码,给出了一种简单的解决策略。 1. 旧版cartographer_ros launch文件的修改 在启动cartographer_occupancy_grid_node节点时,增加pure_localization参数。 <node nam
0.前言 之前作者整理了一份ROS1中常用的GUI测试工具,最近作者在完善ROS2部分时觉得有必要写一篇关于ROS2常用命令行工具的文章来作为ROS2第一部分的一个小结。 1. 通信层面 ROS_DOMAIN_ID标记一个 ROS 域,不同的 ROS 域之间不能通信。这部分可以参照作者ROS2 DDS通信漫谈这篇文章,主要是因为ROS2本身的通讯是基于DDS的,所以存在域这个概念。 colcon_
0. 简介 本文档用于记录现ROS1与ROS2之间的区别,以及如何向ROS2移植。整体架构基于该文章 ROS2的教程参见:https://docs.ros.org/en/ros2_packages/rolling/api/ 1 工程构建 1.1 CMakeList的编写 ROS2采用ament cmake系统,最主要的区别是原先的catkin Cmake宏被取代 find_package(cat
0. 前言 我们都知道ROS1与ROS2的通信是不一样的,而ROS2也因为DDS的通讯带来了一些问题,其中最严重的就属于在存储大数据包的时候会出现的丢帧问题。而如何解决这样的问题目前官方没有给出非常好的解决方案,所以我们只有曲线救国,通过保存图片的方式来实现bag包的完整录制。操作系统:Ubuntu 20.04版本:foxyDDS实现:Fast-RTPS客户端库(如适用):rclcpp/rclpy
0. 前言 目前是ROS1到ROS2的过度阶段,由于ROS2内部的机制大幅变动,导致我们ROS1录制的bag包和ROS2的bag包并不能通用。网上基本上均是如何将ros2录制的bag包转换为ros1格式的bag包的方案,这里做出归纳,并给出全套的解决方案。测试环境:ubuntu 20.04ROS 1 noeticROS 2 foxy两个版本的ROS 均需要按照官网教程进行安装,这里可以参照作者之前
自己所学所看所写的分享
博客
泡泡
积分
勋章
NICEGUI---ROS开发之中常用的GUI工具
ROS2可视化利器---Foxglove Studio
入门Unity-ROS(二)话题与服务
ROS结合gRPC完成点对点通信
ros2 doctor快速排查工具
ROS2 多线程
ROS&ROS2可视化仿真软件
记录的一些ROS2高级用法
ROS到ROS2的多节点组合运行
ROS之RVIZ plugin
ROS/c++常见段错误以及排查
基于ROS2开发的点云体素化
基于ROS2开发的点云栅格化
如何使用SonarQube来优化你的代码
cartographer环境最新配置(2021.11.11)
cartographer 纯定位---pure_localization
ROS2常用命令行工具
ROS2与ROS1比较及移植指南
ROS2中bag包录制出现丢帧问题及解决方案
ROS1与ROS2的bag包互换(包含自定义消息)
ROS2 DDS通信漫谈
基于ROS2的POP和OOP编程
ROS2 搭建vscode的debug调试环境
Ubuntu20.04 ROS1和ROS2同时安装及使用
基于小米4C路由器无障碍搭建机器人嵌入式环境(2021.08.17)
Valgrind对ROS程序的可视化分析
E-puck2利用pi-puck实现ros操控知识点汇集
基于Bash脚本自己开发ROS的一键启动
ROS问题及解决方案——依赖包安装以及无法修正错误
ROS 常用GUI测试工具
Anaconda虚拟环境中,让Python3使用ROS的cv_bridge
Ubuntu环境下ROS安装自己OPENCV版本
QT ros环境搭建以及打包发布
基于docker一键安装ros环境(含gazebo&rviz)
ROS i2c 通信(c++版本)
ROS 多机器人建图与导航
Ubuntu安装ROS2并编写自己的程序
ROS在线调试(使用GDB)
搭建ros交叉编译环境(从x86到nvidia arm)
ROS与Python3
ROSBridge简介以及理解使用
ROS人机交互软件
ROS 之 KUKA iiwa编程
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信