自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(49)
  • 资源 (2)
  • 收藏
  • 关注

原创 Ros cartographer pure localization 自定位+重定位+导航

在完成了前面的方针之后,随着不断挖掘开始跑 cartographer + move_base 的构架,由于amcl定位的实时性和重定位的能力远不及 cartographer pure localization 自定位的构建方式,所以本文开始放弃 gampping + amcl + move_base 开启本文的 cartographer + move_base框架主要思路为:仿真 + 实战的探索过程本文主要分两部分: A.仿真调通 + B.自定位实战 + C.自定位导航实战。

2022-10-19 14:01:42 577

原创 Ros yocs_velocity_smoother 保姆级部署教程

yocs_velocity_smoother速度平滑(滤波)是将base_move导航输出的/raw_cmd_vel速度进行平滑处理,得到/cmd_vel速度进行控 制机器人底盘运动。这里选用里程计/odom作为速度平滑的参考。ROS中的yocs_smoother_velocity是一个非常好的速度插值的包, 可以对速度、加速度进行限制,用来防止机器人的速度、转速变化过快或过慢, 是其运行平滑流畅。

2022-10-19 09:51:19 29 2

原创 Ros noetic opencv4.2.0 cv_bridge 冲突 适配Opencv3.2.0完成自己的USB_Camera 跑通 Orb_slam2

本文附上使用自己的USB_Cam 跑通Orb_Slam2 算法的过程,以及解决cv_bridge冲突的方案Orb_Slam2需要的cv版本 但是自带了这就是最难受的事情,为此苦苦寻求合理的办法能把Orb_Slam2 能在我的环境里能运行起来,细心观察到,之前的Orb_Slam2 版本可以脱离Ros运行但是一旦进入Ros build就会产生冲突为此,最明显的就是waring的警告,同时编译也可以通过。

2022-09-30 15:52:35 442

原创 ROS Noetic 20.04 + ORB Slam2 保姆级全套安装一包到位

随着前文完成了各个框架的部署,为ieORB的安装铺垫出了坚实的基础,了解到ORB系列属于最受到欢迎的开源项目抱着好奇的心思开启了对源码的拜读和了解,本文一站式完全完美安装,避免了各种复杂难搞的报错情况。这个ORB_SLAM2的环境配置上走了太多的坑,呕心沥血三晚上。吃了两晚上的旺旺,希望各位研友也能旺旺。

2022-09-27 09:59:05 584

原创 ROS Noetic+ Protoc 3.21.6 最新版保姆级替换安装教程

近期在构架orb slam2的框架上需要使用到google的protobuf,浏览官网后发现,protobuf已经更新到了很多的版本,而Noetic自带的Protoc 版本太低 也没有google/protobuf/port_undef.inc这个库的文件,然后cmake一catkin就报错找不到该文件,本文详细记录了该过程Bug中的修订。

2022-09-22 13:51:53 100

原创 ROS Noetic+OpenCV 3.2 保姆级安装教程

随着时间的推移导师的研究方向推向了定位这一块,Opencv不由地说就成了最好的软件了解到leo vin orb 这些算法都在opencv的基础上,查阅了各种资料,花费了小一天,最后终于编译通过,由于Noetic自带opencv 4.2 但是orb slam2 支持opencv3.2 在编译的时候无论如何修改都一样报错,苦苦寻求,最后忍痛放弃了opencv4.2 开始按照官方的 readme 开始安装opencv3.2的漫长心路,本次安装记录下详细过程,方便后来同学少走弯路。

2022-09-22 09:51:31 873

原创 ROS 仿真环境gazebo离线模具环境配置保姆级教程

因为最近疫情隔离摸不到设备,但是又按耐不住,于是打开了尘封的gazebo教程,使用环境Ros noetic 20.04 因为该版本已经预装了gazebo但是没有模型看便所有教程之后得到下面的教程1.第一次启动,推荐使用sudo gazebo赋予gazebo所有权,这样配置path和保存都可以不死机2.等待片刻后打开界面点击Insert3.一定记清楚这里的路径4.用自己的文件管理器进入该目录删除原来的models文件夹配置bash可以永久使用5.下载百度云覆盖原来的models目录。

2022-09-07 20:57:13 74

原创 ROS 代码调试常用方式配置

ROS集成了很多调试工具如代码调试、可视化调试、单元测试、通信调试、系统检查、系统仿真等。 代码调试:GDB、valgrind、log(rqt_logger_level)等 可视化调试:网络拓扑rqt_graph、消息rqt_console、日志rqt_logger_level、三维可视化RVIZ、趋势图rqt_plot等 单元测试:C++单元测试框架gtest、Python单元测试框架nosetests 通信调试:rostopic 、rosbag等。

2022-08-25 15:21:11 188

原创 Ros Nodelet 高速通信 单独节点编写

ROS引入了Nodelet机制,通过共享指针实现了在多算法、多节点间的零拷贝传输。ROS通过Nodelet管理器NodeletInterface管理Nodelet,并通过ROS的pluglib插件机制实现动态加载Nodelet。Nodelet管理器拥有一个可供所有Nodelet使用的线程池,线程池的数量通过参数num_worker_threads设置,默认为4。Nodelet作为线程出现。

2022-08-25 14:56:15 143

原创 ROS 消息订阅 状态同步 action 行为通讯方式

步骤1 创建自定义行为步骤2 编写服务文件步骤3 编写客户端文件步骤4 package.xml、CMakeLists.txt配置步骤5 生成行为头文件步骤6 编译执行 action依赖于actionlib、actionlib_msgs程序包。

2022-08-23 15:36:10 86

原创 ROS 消息订阅 服务器客户端客户端 通信方式

 步骤1:创建自定义服务.srvint64 aint64 b---int64 sum 步骤2:编写服务文件service{// a+b 完成响应}{// 名字 + 回调名字return 0;} 步骤3:编写客户端文件 client{// 表明是客户端/*if (argc!}*/}}if (client.call(srv)) // 调用 call 就可以发起请求{}else{return 1。

2022-08-23 15:02:04 147

原创 ROS 消息订阅 节点发布 通信方式

但在某些情况下,需要一种同时使用请求和响应的同步消息交换方案,ROS提供了叫做服务的消息同步方法,是一种一对一的机制。与话题不同,服务是一次性消息通信。话题本质是对套接字的一种封装,一个节点可以向一个给定的话题发布消息,另一个节点可以订阅给定话题中特定消息类型的消息。ROS是以节点的形式开发的,节点是根据其目的,可以细分的可执行程序的最小单位。 单次模式(once mode) 以闩锁模式发布消息,执行3秒,然后结束发布,选项为-1。需要注意的是,在ROS中,话题必须是唯一的,否则消息路由就会产生错误。

2022-08-23 14:01:34 586

原创 Ros Cmakelist 编译配置

编译配置主要有宏设置、包依赖、Cmake编译管理、catkin编译策略等。宏设置包依赖package.xml文件编译管理CMakeList.txt文件catkin编译策略:catkin编译策略主要指编译目标是Release、Debug、编译输出空间等。

2022-08-23 10:35:49 416

原创 Ros Launch启动管理

ROS通常具有很多的节点,部分节点需要带参启动,部分节点还分布在其他设备上。这都需要一个统一的管理策略,ROS通过roslaunch管理分布式节点。放置在launch文件夹中launch文件本质是一个以launch为后缀的XML文件,位于launch目录下。对于本地进程,ROS通过popen创建管道启动进程,利用POSIX信号来杀死进程,对于远程节点, ROS基于SSH来实现远程通信,这导致roslaunch无法保证启动顺序。若需要 设置启动顺序时,可通过bash脚本进行顺序启动。

2022-08-23 10:01:48 222

原创 ROS 动态参数 实时调参方式

开发者常常需要动态调整参数以查看机器人在不同参数下的性能表现;无论是通过YAML文件配置参数还是通过节点句柄操作参数,都会面临一个问题,如果节点不主 动查询参数值,就无法获取参数是否已经进行了更新。解决办法:通过程序包提供了动态参数这一功能。 写参数配置文件CMakeLists文件修改配置文件修改配置编译生成头文件创建回调函数利用调参编写Python脚本添加参数生成器对应的cpp文件添加依赖包。

2022-08-21 22:07:40 332

原创 ROS 接口调参 加载参数 动态参数 从NodeHandle中加载参数

ROS参数服务器本质上是可以网络访问的参数词典,ROS参数服务器能保存的数据类型包括字符串 、整型、浮点型、布尔型、列表、词典等;参数根据类型不同可以分为全局参数、相对参数、私有参数等;其中以“/”开头的参数为全局参数,以“~”开头的参数为私有参数,其他参数为相对参数;操作参数的四种方法:ROS提供了两种管理参数的API实时的存储、获取参数:一个是通过ros::param。

2022-08-21 20:52:14 273

原创 Ros 基本基本构架

等,这类代码通常是对第三方工具的封装,另一部分是应用层代码,主。部分则由社区进行开发和维护,一部分是工具代码如。提供了硬件相关的控制器、接口等功能;的系统代码根据维护者和分布可以分为。提供了传感器和其他硬件的驱动;要针对特定问题如人脸识别等开发。提供了导航和路径规划等功能;包括对话题和服务的各种操作。架构,客户端和设备均基于。的基本框架和工具,主要由。公司设计、提供以及维护。提供标准消息、编译系统、部分为核心部分,提供了。在广域网场景中,采用。

2022-08-21 20:37:34 37

原创 Ros 基本操作vscode 之 hello world 详细部署

在之前我们已经完全部署好自己的Vscode环境之后,现在我们可以开始实际操作部署详情见Ros 与 Web 之 VScode 开发环境搭建(2)_忒懂先生的博客-CSDN博客。

2022-08-16 22:14:04 218

原创 Ros 与 Web之网页虚拟墙costmaop禁形区域建立(11 )

####可能出现的问题 项目依赖qt 对于新手可能不会搞qt环境 ,导致项目运行不起来; 这里我归纳一段按我的操作来做试试能不能解决:1.把依赖装一下:sudo apt install libqt5serialport5-devsudo apt-get install qtmultimedia5-devsudo apt-get install libqt5websockets5-devsudo apt-get install libqt5webchannel5-devsudo..

2022-08-16 21:32:43 206 1

原创 C++ 基本学习 函数调用(6)

定义函数后,我们需要调用此函数才能执行到这个函数里的代码段。这和main()函数不一样,main()为编译器设定好自动调用的主函数,无需人为调用,我们都是在main()函数里调用别的函数,一个 C 程序里有且只有一个main()函数。一、函数执行流程{}int main(){// print_test函数的调用return 0;}// 1)进入main()函数它会在main()函数的前寻找有没有一个名字叫“print_test”的函数定义;......

2022-08-14 16:23:05 277

原创 C++ 基本学习 函数结构(5)

返回类型 函数名(形式参数列表){数据定义部分;执行语句部分;}

2022-08-14 16:09:57 203

原创 C++ 基本学习 字符串处理函数和函数(4)

fgets()在读取一个用户通过键盘输入的字符串的时候,同时把用户输入的回车也做为字符串的一部分。通过scanf和gets输入一个字符串的时候,不包含结尾的“\n”,注意:由于scanf()和gets()无法知道字符串s大小,必须遇到换行符或读到文件结尾为止才接收输入,因此容易导致字符数组越界(缓冲区溢出)的情况。fputs()是puts()的文件操作版本,但fputs()fgets()函数是安全的,不存在缓冲区溢出的问题。atof():把一个小数形式的字符串转化为一个浮点数。头文件:包含指定的头文件。..

2022-08-14 15:57:44 34

原创 C++ 基本学习 C99基本语法(3)

Continue :强迫程序提前进入下一轮循环中。Break : 使循环提前跳出。

2022-08-14 11:40:36 166

原创 C++ 基本学习 基本嵌套(2)

c语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。顺序结构: 程序按顺序执行,不发生跳转。选择结构: 依据是否满足条件,有选择的执行相应功能。循环结构:依据条件是否满足,循环多次执行某段代码。...

2022-08-14 10:52:40 86

原创 C++ 基本学习 C99基本语法(1)

电信专业,大概C只学习了入门也是四年前学的了,有一点点印象,学习并不系统,作为巩固专开次栏,巩固学习,还希望大家指正 ^_^保留字:auto 指定变量的存储类型,这是C语言默认的变量存储类型break 中断并跳出循环或swith语句case 与swith语句配套使用的分文语句char 字符类型const 常量定义修饰符。.................

2022-08-13 16:58:20 354

原创 Ros 与 web 之网页订阅本地电量,超声波,IMU信息数据

我们移动机器人惯导(imu)可以说是刚需了,imu数据在机器人上一般大都是在服务端发布出来,在前端我们只需要订阅即可,其中也包括本地32处理后将信息通过本地有线USB发送给上位机,随后上位机发布节点,本文主要订阅读取机器人实时姿态并实时在网页上显示。...

2022-08-12 15:30:14 357

原创 Ros 与 STM32 之Ros串口同设备USB固定

研究后发现Ros与STM32 都是通过串口 TTL转USB 的方式连接到USB有两种形式 一种 使用 ros-kinetic-serial 中的py 包用的ROS的serial功能包另一种则是使用编写的c的liunx底层的驱动方式

2022-06-07 13:54:39 486

原创 Ros 与 Web之记录充电点实位置发送命令现前往回充点(10 )

前言: 在建立好充电桩后通过导航让机器人前进到当前到达的充电站的位置后记录下充电桩的位置,通过来自网页的外部响应让机器人返回当前的坐标单位,实现模拟自动回充电单元的功能,本文为前文的续篇,前文中已经记录好非常棒的坐标点标定的方式,本文通过对之前的续作加以修改实现一个点的工作原理。...

2022-05-17 13:34:03 176

原创 Ros 与 Web之网页保存航命令并完成自动巡航任务建立(9 )

在完成了之前的Web端显示本地地图,也只是完成了导航中的一小部分,显示只是当前的一部分,最核心的还是来自于网页端口产生的导航,在查阅了大量的文案后,得到以下思路

2022-05-16 10:40:20 431

原创 Ros 与 windows 之 Nomachine 保姆级安装指南

Ros noetic + Ubantu 20.04 环境下的Nomachine 保姆级安装手册前言:Nomachine是一款平台的远程桌面访问工具,对于需要经常远程到X windows的网友来说,VNC与Xmanager经常被使用,而NoMachine也是不错的选择之一,该工具简单,易用,尤其是在低带宽、慢速率的网络环境下工作性能良好。本文描述了NoMachine的快速安装与使用。<1>直接进入Linux下载官网 官网:NoMachine - Do...

2022-05-13 13:19:36 1044

原创 Ros 与 Linux 之本地终端结束launch终端shell命令(8)

总结: 回归linux的操作机制总体来讲可以分为杀死进程和停止当前服务原理和Crtl+c原理一致,本文详使用后者,验证得通,在前文中创建了sh文件之后本文继续从Linux本地完善细节。这一篇文章将使用Shell的方式来模拟结束launch生命周期的实现。方式一---------传统查杀进程: 有时候因为一些情况,需要把linux下符合某一项条件的所有进程kill掉,又不能用killall直接杀掉某一进程名称包含的所有运行中进程 我们可能...

2022-05-11 19:51:17 247

原创 Ros 与 Web 之通过网页订阅IMU消息(7)

简介:我们移动机器人惯导(imu)可以说是刚需了,imu数据在机器人上一般大都是在服务端发布出来,在前端我们只需要订阅即可,读取机器人实时姿态并实时显示。一、编译ros包发布imu数据为了方便大家模拟实现,这里选择在虚拟机服务器端仿真实现一个imu数据发布。参照:GitHub - PacktPublishing/ROS-Robotics-Projects: ROS Robotics Projects, published by Packt中的第十个仿真代码,单独放...

2022-05-10 14:29:07 228

原创 Ros 与 Web 之通过网页开启本地建图命令(6)

简介:如何远程通过HTML web界面启动虚拟机建图操作?本文采用的一种可行的方案之一是通过rosbridge接口,采用roslibjs的ros服务接口来实现,具体操作如下步骤所示。一、启动rosbridge web接口在虚拟机服务器端运行服务端:roslaunch rosbridge_server rosbridge_websocket.launchrosrun web_video_server web_video_serverrosrun tf2_...

2022-05-10 10:00:02 769

原创 Ros 与 Web 之 ros2djs 网页显示建立地图(5)

目录基于 ros2djs 的地图可视化 原文 译文 1. 互动式标记例子 1.1 HTML 代码 1.2 代码解释 1.3 运行这个例子 补充说明 安装 map_server 下载 rail_maps 基于 ros2djs 的地图可视化原文https://wiki.ros.org/ros2djs/Tutorials/VisualizingAMap译文描述: 这篇教程向您展示了如何使...

2022-05-07 10:51:20 540 1

原创 Ros 与 Web 之 ros3djs 导入urdf模型并通过web显示(4)

ros3djs 导入urdf模型并通过web显示

2022-04-27 11:11:07 666 1

原创 Ros 与 Web 之 奥比中光Astra_dabai局网监控 web_video_server(3)

前言:web_video_server包的主要功能是,在ROS系统中,比如某些话题发布了图像、视频的话题,通过这个功能包可以订阅这些话题,然后对图像压缩,通过网络传输出去,这样我们就可以通过网络的方式获取到这些图像和话题。(1)安装web_video_server服务直接使用 sudo apt-get install ros-noetic-web-video-serverweb_video_server - ROS Wikihttp://wiki.ros.org/web_video_

2022-04-25 13:33:27 1901

原创 Ros 与 Web 之 VScode 开发环境搭建(2)

在寻找了各种IED之后发现只有原本的VScode所装配的ros差距可以完全Debug当前catkin环境,Roboware不支持Ros noeticok直接上干货:1.下载安装VScode:Visual Studio Code - Code Editing. Redefined2.选择当前linux的版本:3.下载到本地后完成安装:1.在安装包所在目录打开终端2.sudo dpkg -i 安装包名字.deb4.安装VScod Ros开发插件5.配置c_cp

2022-04-20 17:30:30 159

原创 Ros 与 Web 之 API 控制 websocket 与 Rosbridge 联调(1)

可以在任意电脑端口输入网址然后去访问自己工控ros节点的方式,简单一点就是web和ros,其中会涉及到服务器和客户端的响应,啊这作为电信专业的我现在将要被html和客户端按在地上摩擦了,话不多说开始复盘整体项目的框架和流程。

2022-04-15 10:37:19 2262

原创 Ros noetic Ubantu 20.04 rosdistro cartographer简单安装(下)

这里承接上一篇的文字末尾,继续开始攀爬路途3.安装cartographer_ros的依赖项 完成了上一篇文章的时候已经可以完全操作该指令先使用rosdep安装所需的软件包。此处我们之前已经运行过 sudo rosdep init,故这里将显示错误,可以忽略(因为初始化的文件已经存在,无需再次初始化。不放心错误的话可以删除初始化文件重新初始化。这里在之前上面安装基本工具(wstool,rosdep,ninja)这里安装的是python3-rosdep//这里可能提示没有安装ro...

2022-04-08 11:11:53 232

原创 Ros noetic Ubantu 20.04 rosdistro cartographer简单安装(上)

Ros noetic Ubantu 20.04 rosdistro cartographer简单安装

2022-04-08 10:49:35 929

Ros noetic 20.04 + ORB_Slam2 完整项目工程

包含opencv3.2 以及修改过后的 ORB_Slam 文档 专用于Ros noetic 20.04 配合教程使用 deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/

2022-09-22

Ros 服务器客户端 已经部署好cmake等文件可以直接更改使用

一个客户端服务器的通信包 其中包括编译好的python文件和c++文件 使用python和c++两种方式实现编译 简单可以直接修改使用,Cmake部署太难 新手不会操作?不存在,一个功能包完全解决您的所有i问题 本功能包搭配文献使用,即拿即用,无需修改配合文章一次性操作通关 详细代码注释可以参考完成您的专属服务器搭建 同时完成专属的服务器注册适合Ros新手下载使用 详细的执行步骤见文章 Ros 与 Web 之通过网页开启本地建图命令(6) 如何远程通过HTML web界面启动虚拟机建图操作? 本文采用的一种可行的方案之一是通过rosbridge接口,采用roslibjs的ros服务接口来实现,具体操作如zip包中所示意

2022-05-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除