自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ubuntu20.04 Supervisor 开机自启动脚本一文配置

Supervisor是用Python开发的一套通用的进程管理程序,能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启。它是通过fork/exec的方式把这些被管理的进程当作supervisor的子进程来启动,这样只要在supervisor的配置文件中,把要管理的进程的可执行文件的路径写进去即可。也实现当子进程挂掉的时候,父进程可以准确获取子进程挂掉的信息的,可以选择是否自己启动和报警。

2023-09-08 14:05:04 1206

原创 Ros noetic 机器人坐标记录运动路径和发布 实战教程(C)

以上代码是一个ROS节点程序,用于加载路径点并发布到指定的ROS话题。头文件 "waypoint_loader/waypoint_loader.h" 中定义了 WaypointLoader 类的声明。这个类负责加载路径点并发布到ROS话题。构造函数 `WaypointLoader::WaypointLoader(ros::NodeHandle nh,ros::NodeHandle pnh)` 接收两个参数,分别是ROS的全局节点句柄 `nh` 和私有节点句柄 `pnh`。

2023-09-07 16:58:18 802

原创 Ros noetic 机器人坐标记录运动路径和发布 实战教程(B)

网上记录Path的写入文件看了一下还挺多的,有用yaml作为载体文件,也有用csv文件的路径信息,也有用txt来记录当前生成的路径信息,载体不重要,反正都是记录的方式,本文主要按yaml的方式写入,本文将撰写csv方式的文件写入格式,完成上一篇文章中的留下的存入格式。其中两种方式的主要区别在于,加载yaml所需要的时间较长,而txt,csv读本时间短暂,而且csv文件的跨越性很广,轻小简单,cvs中可以写入bag,bag包中可以有很多信息包括坐标。

2023-09-07 16:02:23 870

原创 Ros noetic 机器人坐标记录运动路径和发布 实战教程(A)

网上记录Path的写入文件看了一下还挺多的,有用yaml作为载体文件,也有用csv文件的路径信息,也有用txt来记录当前生成的路径信息,载体不重要,反正都是记录的方式,本文主要按yaml的方式写入,后文中将补全其余两种方式。其中两种方式的主要区别在于,加载yaml所需要的时间较长而txt,csv读本时间短暂,而且csv文件的跨越性很广,轻小简单,cvs中可以写入bag,bag包中可以有很多信息包括坐标。最近在研究路径这一块,预期编写一套Ros节点。

2023-09-01 18:20:03 1659

原创 Ros noetic Move_base 监听Move状态 实战使用教程

承接上一篇文章,在上一文中我们了解到move_base有几种监听的状态,我一文章中我将开源全部监听代码,本文将从0开始建立监听包,并覆上全部的工程代码,和仿真实操结果。本文,还将解决当临时障碍物与机身相交时,机器人回人为自己被“卡住”,局部规划器规划的速度为0,机器人停止运动;即使更换新的任何目标点,机器人均停止不动;move_base假死状态,在经过恢复行为后无果,不知道新的前进途径的情况。用于恢复状态机。

2023-08-23 10:00:20 369

原创 Ros noetic Move_base 相关状态位置的获取 实战使用教程

有一段时间没有更新,这篇文章是为了后续MPC路径跟踪算法开设的帖子用于更新我自己的思路,由于MPC算法,要镶嵌到整个导航任务中去,就绕不开这个move_base包中相关的参数设置和其中相关状态位置的获取和解读等等。因为最近遇到小车在其他的环境中有些时候,不需要自己导航,需要按照自己的航向走直线,按照自己的路径进行任务,不需要自己在路线中进行决策,于是传统的A start 和 DWA 和 TEB 算法实现的过程中则不能够满足当前的需求。

2023-08-21 10:30:49 1708

原创 Ros noetic catkin_make install 保姆级使用教程流

跟随前面的文章中,在编写了安装包之后,我想将现在的安装包打包放在另外一个设备上使用,复制粘贴??但是很多路径都不正确,后来研究发现,似乎 catkin_make 似乎还有一种隐藏的功能catkin_make install 但是怎么使用呢好像没学过似乎需要配置一些cmakelist 那么,我们开始做吧!在执行完成上述的所有步骤之后我们可以看到当前install的文件夹已经出现就是安装后文件夹的全部部署了,其中include,和lib是库,之前部署的库文件就会编译到这里。

2023-05-04 10:26:46 1999 1

原创 Ros Noetic 20.04 ORB-SLAM2-RGBD 稠密度建立地图实战

由于ORB-SLAM2在构建的时候只在地图中保留了特征点,对于使用RGB-D相机的小伙伴而言,更希望得到一个点云地图。好在ORB-SLAM2这个框架结构清晰,只需要单独添加一个线程用于维护点云地图,将ORB-SLAM2生成的关键帧传入点云地图构建线程,利用传入关键帧来生成点云地图,这就是基本思路了。其实这个工作高翔博士在早期就已经做过了,并上传到了github中。

2023-03-13 11:19:35 1032

原创 ROS Noetic 20.04 + ORB Slam2 坐标转换

我们在之前的文章中完成安装了ORB2所有所需要的文件和库,但是ORB毕竟是一个封装好的软件, 在追随网上各位笔者的文章中发布得到TCW的输出矩阵,但是ORB的输出矩阵似乎和ROS中的矩阵似乎并不一致,于是经过苦苦寻找,得到了,以下的转换方法和心得,转换的方式各有所爱,这里提供一种可行且验证通过的方案,主要解决相机和真实不匹配的情况。把建图系统分为了三个节点,如下所示。第一个节点作为驱动节点,采集摄像头传感器的数据。第二个节点利用ORB_SLAM主要做姿态估计,提供Tcw。

2023-02-27 15:31:41 617

原创 Ubantu20.04 之 expect —— 安装、常用语法保姆级入门

最近做到一个项目qt需要用ubantu用户的方式去登陆这样一些路径就可以得到,不用特别复杂的重写,为之后的工程省下了很多的事情,从而实现liunx免密码登陆ubantu的用户账户。

2023-01-19 10:17:42 2627

原创 Ros cartographer 搭载 landmark 保姆级操作上手教程

之前跑的bag中偶然发现在msg的bag包中,有Landmark数据的发布和订阅。Landmark在cartographer中作为定位为避免定位丢失,从而使之增加定位精度,和重定位,看完所有网页上能找到的文章,看后就一个字懵。防止cartographer在长廊中因为激光雷达的射程范围不够导致后期回环中定位失效,以至自己设备的定位乱跳,如果不幸跳入墙体中,则会整个设备则会陷入假死整体上landmark的引用方式,分为两种一种是反光标识工地上的反光柱,另一种则是使用固定的二维码和。

2023-01-16 21:48:26 1764 4

原创 ubuntu20.04 设置 rc.local 开机自启动脚本一文配置

系统:ubuntu20.04LTS 本来觉得似乎好像是一件简单的事情。

2022-12-21 09:10:27 1493

原创 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 3130 3

原创 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 665 3

原创 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 1847

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

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

2022-09-27 09:59:05 1019

原创 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 562

原创 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 2324

原创 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 370

原创 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 1364

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

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

2022-08-25 14:56:15 595

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

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

2022-08-23 15:36:10 629

原创 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 521

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

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

2022-08-23 14:01:34 2939

原创 Ros Cmakelist 编译配置

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

2022-08-23 10:35:49 943

原创 Ros Launch启动管理

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

2022-08-23 10:01:48 1050

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

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

2022-08-21 22:07:40 2341

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

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

2022-08-21 20:52:14 1468

原创 Ros 基本基本构架

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

2022-08-21 20:37:34 103

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

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

2022-08-16 22:14:04 576

原创 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 484 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 549

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

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

2022-08-14 16:09:57 391

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

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

2022-08-14 15:57:44 146

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

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

2022-08-14 11:40:36 421

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

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

2022-08-14 10:52:40 547

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

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

2022-08-13 16:58:20 1161

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

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

2022-08-12 15:30:14 782

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

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

2022-06-07 13:54:39 1727

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

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

2022-05-17 13:34:03 503

Ros noetic 机器人坐标记录运动路径和发布 实战教程(C)配套教程

用于加载路径点并发布 在构造函数中,通过读取ROS参数服务器中的配置参数,获取路径点话题的名称、路径点文件的路径和地图坐标系的名称。 使用ROS的发布器对象,在构造函数中创建一个 ros::Publisher 类型的对象,用于发布路径点信息到指定的ROS话题。 在 LoadWaypointsArray_() 函数中,根据指定的路径点文件路径,打开并读取路径点文件。然后解析每一行的数据,将其转化为路径点的数据结构,并将其添加到路径点数组中。 在一个单独的线程中,通过 PublishWaypoints_() 函数循环发布路径点信息到ROS话题。该函数使用ROS发布器对象将路径点数组中存储的路径点信息发布到指定的ROS话题上。 main() 函数中实例化了 WaypointLoader 类的对象,并传入ROS节点句柄作为参数。然后通过调用 ros::spin() 进入ROS的主循环,等待接收ROS系统的消息和调用回调函数。 整个过程中,WaypointLoader 类负责加载路径点文件,解析路径点数据,以指定频率发布路径点信息,并通过ROS机制将路径点信息传递给其他ROS节点。

2023-09-07

octomap-server

octomap_server是ROS中一个基于octomap的功能包,具有将点云地图转化为基于Octree的OctoMap的功能。1.2 要求 TF 变换 有了全局坐标系和每一帧的点云,但是建图包怎么知道把每一帧点云插入到哪个位置呢? 因为随着机器人的不断移动,会不断产生新的点云帧,每个点云帧在全局坐标系中插入的时候都有一个确定的位置,否则构建的地图就不对了,因此需要给建图包提供一个当前帧点云到全局坐标系的位姿,这样建图包才能根据这个位姿把当前获得的点云插入到正确的位置上。

2023-02-22

Pcl 1.12.1 全网报错最少最稳定的Pcl库

主要配合专栏博文使用,兼容orbslam2和orbslam3,稳定奔放 readme sudo apt-get update 【如果这里出现问题可以尝试换源】 sudo apt-get install git build-essential linux-libc-dev sudo apt-get install cmake cmake-gui sudo apt-get install libusb-1.0-0-dev libusb-dev libudev-dev sudo apt-get install mpi-default-dev openmpi-bin openmpi-common sudo apt-get install libflann1.8 libflann-dev sudo apt-get install libeigen3-dev sudo apt-get install libboost-all-dev 其他依赖: sudo apt-get install libqhull* libgtest-dev sudo apt-get install

2023-02-21

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

cartographer-landmark 二维码修正重定位

landmark定位原理: cartographer在跑纯定位的时候,判断定位丢失的标准是一个比较棘手的事情。在cartographer中经常使用的是scan_to_map的方式,通过cartographer自己维护的PoseExtrapolator使用匹配的方式来获得当前帧与地图的匹配值,但是这样的方式在环境经常变的场景下效果会比较差, 而使用landmark可以有效地避免这类问题的发生,还是会出现坐标的跳变,从一个位置跳到了另外一个位置,这种情况也会发生在环境变化不大的场景中。这时候使用landmark进行标注则是非常重要的。这种landmark方法基本是作为定位的修正补充,通过建立一个最小二乘的数学模型,来迭代计算,给优化增加一些元素。在室内场景下来说,这种方式还是比较鲁棒的,而且在此基础上可以做一个融合。

2022-05-16

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

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

2022-05-10

空空如也

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

TA关注的人

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