自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(59)
  • 收藏
  • 关注

原创 Docker获取镜像报错docker: Error response from daemon

Docker获取镜像报错docker: Error response from daemon1. 问题描述安装docker后拉取非官方仓库镜像报错:在等待报头时超时,请求在等待连接时被取消(客户端)。2. 问题原因docker 默认的源为国外官方源,下载速度较慢。另外,docker镜像仓库不支持https。3. 解决方法:Linux系统修改docker镜像源,解决docker: Error response from daemon: Get https://registry-1.docke

2022-05-10 21:51:29 27436

原创 run_id on parameter server does not match declared run_id

问题描述:解决方法:答案推荐做法,先启动roscore,然后在launch命令后面加上–wait由于间隔时间太短,roslaunch没检测到roscore就自行创建,导致冲突。这做法就一直等roscore启动,简单试了一下,先启动roslaunch --wait不会往下走,手动启动roscore后,才接着往下走。...

2021-11-09 15:44:10 1198

原创 相机的FOV计算公式

假设相机(去畸变后的)内参分别为cx,cy,fx,fy,则:水平方向FOV=atan(cx, fx),垂直方向FOV=atan(cy, fy)

2021-10-28 11:54:38 10856 1

原创 解决ubuntu16.04卡在clean, ‘***/***’ files, ‘***/***’ blocks不能进入系统的问题

出现问题:误删了系统中的libprotobuf*相关文件,电脑开机后出现recovering journal,clean, xxx files,xxx blocks,如下图所示:网上找到的原因大多是:1、显卡驱动问题;2、磁盘空间问题,但都不是本文问题的原因。解决方法:1、开机时按下ESC,进入advacned options for Ubuntu → 选择其中一个(recovery mode) → 选择resume → YES → Ctrl+Alt+F1(如果没有进入图形界面)2、重新安装l

2021-10-19 23:44:59 4351 1

原创 所有规格USB接口

这一页让你搞清所有规格USB接口_主板新闻-中关村在线 https://mb.zol.com.cn/514/5147157.html

2021-10-13 21:33:23 1634

原创 “Unrecognized syntax identifier “proto3“. This parser only recognizes “proto2“. ”问题解决方法

编译cartographer时遇到Unrecognized syntax identifier “proto3”. This parser only recognizes “proto2”.排查:使用指令查看protobuf的版本,protoc --version若版本为3.0.0以下,则需要到git上下载最新版protobuf,编译安装就好。若显示protobuf版本为3.0.0以上,仍然报这个错误,则可能是同时安装了proto2,编译器优先找了/usr/bin/protoc的版本, 新安装的

2021-10-13 21:30:28 1440

原创 错误:1 http://packages.ros.org/ros/ubuntu xenial InRelease 下列签名无效: KEYEXPIRED 1622248854

错误:1 http://packages.ros.org/ros/ubuntu xenial InRelease下列签名无效: KEYEXPIRED 1622248854解决方法:sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654sudo apt-get update

2021-10-13 21:29:38 1315 4

原创 rpg_trajectory_evaluation安装教程

1.安装Anaconda2,将rpg_trajectory_evaluation脚本中的import ruamel.yaml as yaml 修改为import ruamel_yaml as yaml2.安装依赖库sudo apt-get install texlive-latex-extra texlive-fonts-recommended dvipng3.编译代码mkdir catkin_wscd catkin_wsmkdir srccd srcgit clone https://

2021-10-13 21:29:07 301

原创 curl常用设置

curl_easy_setopt( curl, CURLOPT_VERBOSE, 1L ); //在屏幕打印请求连接过程和返回http数据curl_easy_setopt( curl, CURLOPT_TIMEOUT, 10 );//接收数据时超时设置,如果10秒内数据未接收完,直接退出curl_easy_setopt(curl, CURLOPT_AUTOREFERER, 1); // 以下3个为重定向设置curl_easy_setopt(curl, CURLOPT_FOLLOWLOCATION, 1

2021-10-13 21:28:36 1579

原创 Ubuntu16.04静态编译OpenSSL与libcurl

一、背景某个工程中需要使用libcurl访问https网站,为了可移植性,需要将libcurl编译成静态的。由于访问的是https开头的网站,所以还需加入对OpenSSL的编译,同样使用编译。二、静态编译OpenSSL1、下载OpenSSL源码:git clone https://github.com/openssl/openssl.gitgit checkout -b OpenSSL_1_0_0-stable origin/OpenSSL_1_0_0-stablegit pull2、./c

2021-10-13 21:28:14 426

原创 /usr/bin/ld: dmrg_ota hidden symbol `curl_slist_append‘ in libcurl.a(libcurl_la-slist.o) is referenc

1.报错信息:代码中dmrg_ota(可执行文件)→dmrg_ota_lib(共享库)→libcurl.a(静态库),其中→表示依赖。2.解决方法:https://stackoverflow.com/questions/23696585/what-does-exactly-the-warning-mean-about-hidden-symbol-being-referenced-by-dso将DSO(动态共享对象,即共享库dmrg_ota_lib)变为静态库,然后再去链接静态库...

2021-10-13 21:27:42 168

原创 PCL命令行工具安装与使用

1.安装sudo apt-get install libpcl-dev pcl-tools2.Ubuntu16.04 ply和pcd格式之间的转换pcl_ply2pcd cube.ply cube.pcdpcl_pcd2ply cube.pcd cube.ply3.待补充

2021-10-13 21:26:59 642

原创 Ubuntu16.04开机报错/dev/sda2:clean ***/*** files, ***/*** blocks

可能为显卡驱动问题,重装桌面即可,会同时安装相关依赖包。1.开机时按Esc按键,退出,然后再按一次Esc按键,进入recover模式。2.选择network打开网络连接,选择root进入终端。3.以上两步用于黑屏无法打开终端的情况,如果停留在报错页面,可以使用ctrl+alt+F6进入tty模式,退出时使用ctrl+alt+F74.输入命令sudo apt-get install ubuntu-desktop5.如果提示dpkg出现问题,运行sudo dpkg --configure -a

2021-10-13 21:26:21 7233

原创 autoreconf: not found

sudo apt-get install autoconf automake libtool

2021-10-13 21:25:42 470

原创 ubuntu16.04的terminal打不开

关于终端打不开的问题(终端打不开了,点击图标显示正在打开但并不能打开,使用Ctrl+alt+T也打不开)按照以下步骤即可解决。解决思路如下:先找到能打开的shell来寻找错误,于是用Ctrl+Alt+F1进入命令行模式,登录账号密码(注意,计算机不能识别小键盘输入的数字密码)后进入正常的命令行, 查找终端的问题:gnome-terminal解决问题后,按Ctrl+Alt+F7就可以从命令模式切换到图形界面,然后就能正常打开terminal...

2021-10-12 01:02:36 1358

原创 Ubuntu16.04目录名称中英文切换

Ctrl+Alt+T (默认终端快捷键)打开终端,依次输入以下命令:1.首先更改系统语言环境为英文export LANG=en_US2.然后更改设置xdg-user-dirs-gtk-update此时会弹出界面,选择带有“update”字样的选项或者是“更新名称”如果需要更改回中文语言环境export LANG=zh_CN.UTF-8再次执行xdg-user-dirs-gtk-update此时再次弹出界面,选择“保留旧的名称”...

2021-10-12 01:01:52 559

原创 sudo apt-get update出现W: GPG 错误:http://packages.ros.org/ros/ubuntu xenial InRelease: 由于没有公钥,无法验证下列签名:

报错:W: GPG 错误:http://packages.ros.org/ros/ubuntu xenial InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654W: 仓库 “http://packages.ros.org/ros/ubuntu xenial InRelease” 没有数字签名。N: 无法认证来自该源的数据,所以使用它会带来潜在风险。N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。解决:su

2021-10-12 01:01:29 1134

原创 [rospack] Error: package ‘ORB_SLAM2‘ depends on non-existent package ‘cv_bridge‘ and rosd

1.问题描述在编译ORB_SLAM2中Example的ROS时,执行到$ chmod +x build_ros.sh$ ./build_ros.sh时。报出如下错误:[rospack] Error: package ‘ORB_SLAM2’ depends on non-existent package ‘cv_bridge’ and rosdep claims that it is not a system dependency. Check the ROS_PACKAGE_PATH or tr

2021-10-12 01:01:12 917

原创 gcc编译出现Internal compiler error: Killed 或 无法分配内存 virtual memory exhausted: Cannot allocate memory

原因:均为系统没有交换分区, 编译过程中内存耗尽, 导致了编译中断解决方式:增加一个交换分区1.创建分区文件, 大小2Gdd if=/dev/zero of=/swapfile bs=1k count=2M2.生成swap 文件系统mkswap /swapfile3.激活swap 文件swapon /swapfile这样就没问题了, 但是这样并不能在系统重启的时候自动挂载交换分区, 这样就需要修改fstab。4.修改/etc/fstab 文件, 新增如下内容:/swapfil

2021-10-12 01:00:45 640

原创 T265驱动安装

Realsense T265 installationThe following instruction has been tested in Ubuntu 16.04 KineticThe library is installed in one folder and realsense ros packages are installed in workspaceStep 1: Install the latest Intel® RealSense™ SDK 2.0Follow the steps

2021-10-12 01:00:28 835

原创 轮式里程计标定方法

机器人底盘运行的精度是衡量底盘的重要指标。底盘精度受里程计的走直线误差和转角误差影响。因此,需要对里程计的走直线和转角进行标定,尽量减小误差。下面是标定步骤过程。第一步:打开终端,给标定脚本赋予可执行权限cd scripts/sudo chmod +x ./*第二步:连接好底盘,电脑端启动ros节点rosrun rosserial_python serial_node.py第三步:设定前进3米的目标,对走直线进行标定roslaunch odometry_publisher check_ang

2021-10-12 01:00:01 2253

原创 ubuntu16安装及开机自启动x11vnc

linux中如何查看某个端口是否被占用1.安装x11vncsudo apt-get install x11vnc2.设置密码x11vnc -storepasswd3.修改配置文件sudu vim /lib/systemd/system/x11vnc.service[Unit]Description=Start x11vnc at startup.After=multi-user.target[Service]Type=simpleExecStart=/usr/bin/x1

2021-10-12 00:58:51 282

原创 使用vnc客户端连接时出现no route to host问题

使用vnc客户端连接时出现no route to host问题解决方法:客户端主机连接服务器主机的路由器发布的WiFi后,默认为自动分配IP地址,当分配的IP地址与服务器主机的IP地址不在同一个网段时,即会出现无法访问的情况,手动配置客户端主机的IPV4地址使用同网段的固定静态IP...

2021-10-12 00:58:35 3662

原创 关机报错:PCIe Bus Error: severity=Corrected

关机报错:PCIe Bus Error: severity=Corrected解决方法:1、打开终端,修改/etc/default/grub引导文件,将GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"修改为GRUB_CMDLINE_LINUX_DEFAULT=“quiet splash pci=nomsi pci=noaer pcie_aspm=off”,保存关闭grub文件。2、更新grub引导sudo update-grub3、重启sudo reboot

2021-10-12 00:58:09 3706 2

原创 多线程安全关键字属性

REQUIRES是函数或方法的属性,它声明调用线程必须具有对给定条件的独占访问权限。可以指定多个条件。条件必须在进入函数时保留,并且必须在退出时保留。GUARDED_BY是数据成员的一个属性,它声明数据成员受给定条件的保护。对数据的读取操作需要共享访问,而写操作需要独占访问。EXCLUDES是函数或方法的一个属性,它声明调用方不能拥有给定的条件。用于防止此死锁。许多互斥体实现是不可重入的,因此如果函数第二次获得互斥体,就会发生死锁。Thread Safety Analysis — Clang 12 d

2021-10-11 23:54:28 102

原创 launch文件中使用rosbag record报错

Record with rosbag from launch file问题:将rosbag命令包含到launch文件中:在使用launch文件直接启动记录的时候,记录包文件会默认创建在~/.ros路径下,除非使用-o(前缀)或-O(全名)给文件命名。[ERROR] [1605844387.924232167]: Error writing: Error opening file: ~/catkin_ws/data/_2020-11-20-11-53-07.bag.active[record_ro

2021-10-11 23:54:13 1050

原创 2D激光SLAM基本原理

luoliCHq Blog https://luolichq.xyz/占据栅格地图(Occupancy Grid Map) - 知乎 https://zhuanlan.zhihu.com/p/21738718占用栅格地图原理分析_weixin_40863346的博客-CSDN博客 https://blog.csdn.net/weixin_40863346/article/details/92575794Particle Filter Tutorial 粒子滤波:从推导到应用(一)_知行合一-CS

2021-10-11 23:53:54 199

原创 cartographer参考资料

Cartographer ROS Integration_小C的博客-CSDN博客 https://blog.csdn.net/qq_26617115/article/details/78902371【泡泡机器人原创专栏-Cartographer】Cartographer理论及实现浅析 https://mp.weixin.qq.com/s/LdbFp-Zvkr02-_25ILb16g?Cartographer 代码逻辑_LilyNothing的博客-CSDN博客 https://blog.csdn

2021-10-11 23:53:12 76

原创 cartographer安装配置及相关原理

硬件配置要求a. 64位现代CPU(例如第三代i7)b. 16 GB RAMc. Ubuntu 16.04(Xenial),18.04(Bionic),20.04(Focal)d. gcc版本4.8.4、5.4.0、7.5.0、9.3.0系统框图(代码逻辑与结构)Cartographer主要理论是通过闭环检测来消除构图过程中产生的累积误差[1]。用于闭环检测的基本单元是submap。一个submap是由一定数量的laser scan构成。将一个laser scan插入其对应的submap时.

2021-10-11 23:52:55 454

原创 利用Websocket实现ROS与Web的交互

ROS是现在应为最为广泛的机器人操作系统,为了将ROS与Web端的应用结合起来,ROS Web Tools社区开发了很多Web功能包,利用这些工具,我们能够在Web端实现对机器人的监测与控制。工具的准备首先介绍以下所需要的工具包:rosbridge_suite功能包,roslibjs,ros2djs,ros3djs。● rosbridge_suite:实现Web浏览器与ROS之间的数据交互;● roslibjs:实现了ROS中的部分功能,如Topic,Service,URDF等;● ros2dj

2021-10-11 23:52:13 3455

原创 Ubuntu下关闭所有终端的方法

killall使用方法1.命令格式:killall [参数] [进程名]2.命令功能:用来结束同名的的所有进程3.命令参数:-Z 只杀死拥有scontext 的进程-e 要求匹配进程名称-I 忽略小写-g 杀死进程组而不是进程-i 交互模式,杀死进程前先询问用户-l 列出所有的已知信号名称-q 不输出警告信息-s 发送指定的信号-v 报告信号是否成功发送-w 等待进程死亡–help 显示帮助信息–version 显示版本显示4.使用实例在ROS中经常需要同时打开多个终端

2021-10-11 23:51:49 3087

原创 ubuntu绑定USB设备串口

1、插入USB设备,使用lsusb命令查看设备名称,假设为ttyUSB1;2、使用命令udevadm info --name=/dev/ttyUSB1 --attribute-walk查看设备属性详情,寻找设备唯一属性(常用参考ATTRS{idVendor},ATTRS{idProduct},ATTRS{devpath});3、创建并编辑/etc/udev/rules.d/98-charger.rules文件(假设文件名为98-charger.rules),输入以下内容:其中,MODE设置访问权

2021-10-11 23:51:36 437

原创 源码编译gmapping报错Could not find a package configuration file provided by “openslam_gmapping“ with any o

问题描述:在ros空间同时下载openslam_gmapping和slam_gmapping源码,然后使用catkin_make进行编译,出现如图错误:问题原因:下载了git仓库https://github.com/OpenSLAM-org/openslam_gmapping中的源码,里面的文件列表如图:另一个git仓库https://github.com/ros-perception/openslam_gmapping/tree/melodic-devel中的源码文件列表如图:对比这两个文

2021-10-11 23:51:04 1283

原创 RTABMAP论文和代码中栅格地图部分研读

1、ROS中常见的SLAM算法汇总2、RTABMAP的ROS节点框图3、局部占据栅格地图生成流程图根据参数“Grid/FromDepth”、“Grid/3D”和输入topic设置,局部占据网格会以不同的方式生成,结果是2D或3D,如图所示。例如,如果参数“Grid/FromDepth”为false, 同时rtabmap节点订阅一个激光扫描主题,则创建一个局部2D占用网格。2D局部占用网格比3D网格需要更少的内存,因为需要节省的维度少了一个(例如z),而且叠加的障碍物可以减少到只有一个障碍物单元格

2021-10-11 23:50:15 1684 2

原创 欧拉角与旋转矩阵及旋转矩阵下标含义

1、点或向量绕轴旋转的基本旋转矩阵:2、点或向量绕着固定坐标系XYZ依次旋转:表示将点或向量先绕着固定轴X轴旋转α,再绕着固定轴Y轴旋转β,最后绕着固定轴Z轴旋转γ,按照旋转顺序依次左乘,从而将点或向量从原始坐标系old旋转到新的坐标系new,即R的下标为Rnew→old;(点的旋转→外部旋转→固定坐标系→基本旋转矩阵左乘)如果用坐标系的旋转表示,则R的逆或转置R’=Rx‘Ry’Rz‘表示原始坐标系old自身旋转到新的坐标系new,按照旋转顺序依次右乘,注意对基本旋转矩阵取逆或转置,即R的下标为.

2021-10-10 01:00:07 1440

原创 机器人d435建图全是障碍物的原因分析

d435官方给出的测量范围为0.3~10m,实际使用时可能仅为0.40~4.6m,d435在机器人上的安装高度过低导致处于盲区无法观测。不同高度深度图输出:结论:d435存在观测盲区,低于一定高度时前下方部分区域无法观测,提高d435高度即可解决问题。...

2021-10-10 00:56:31 548

原创 QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: 设备上没有空间

当Ubuntu运行程序多,而且监控的文件过多的时候,再运行其他程序的时候可能会提示:QInotifyFileSystemWatcherEngine::addPaths: inotify_add_watch failed: 设备上没有空间这里涉及到Linux文件系统事件监控框架的概念解决办法:添加最大监控文件数量命令设置:sudo sysctl fs.inotify.max_user_watches=524288生效: sudo sysctl -p该方法只能临时解决,重启之后会恢复,每次遇到该问题

2021-10-10 00:47:24 254

原创 ros运行rviz时出现QXcbConnection: XCB error: 148错误

原因:由于使用了vnc远程控制下位机,rviz是一个基于opengl开发的图形插件,需要使用理论的屏幕参数(thetis’ screen),使用vnc会导致屏幕参数值不对,从而导致rviz出错。解决方法:1)在下位机中接入显示器,再在启用vnc的PC上开启rviz,可临时解决问题。2)使用ssh而不使用vnc控制远程控制下位机,注意关闭在后台运行的vnc进程,否则运行rviz会出现coredump问题。另外,受网速影响,可能会出现卡顿问题。...

2021-10-10 00:46:14 2111

原创 ubuntu16.04以太网无法连接网络:UP BROADCAST MULTICAST

对无线网络进行了配置,将配置信息还原后出现无线网络无法使用的问题,使用ifconfig命令查看,结果如下:解决办法是使用命令sudo service network-manager restart重启服务,可正常使用wifi

2021-10-10 00:43:35 3387 2

原创 运行rtabmap时报错PluginlibFactory: The plugin for class ‘octomap_rviz_plugin/ColorOccupancyGrid‘ failed t

运行rtabmap时出现报错信息:解决方法:根据提示可知缺少插件octomap_rviz_plugin,使用命令:sudo apt-get install ros-kinetic-octomap-rviz-plugins进行安装即可

2021-10-10 00:39:20 2246 1

空空如也

空空如也

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

TA关注的人

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