ubuntu SLAM ROS报错管理与记录

1.启动roscore报错:ModuleNotFoundError: No module named ‘defusedxml’
在ROS安装完成,之前已经运行无错的情况下,应该是python版本管理问题,此处输入python,应显示python2的版本;
在这里插入图片描述
如果发现不是python2的版本,应对python版本进行管理配置:

// An highlighted block
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1

利用上述指令将python2.7加入python列表,再使用:

// An highlighted block
sudo update-alternatives --config python

指令将python版本配置为python2.7
2.若仍然启动roscore时还报错:ModuleNotFoundError: No module named ‘rospkg’
此时先查看是否安装了rospkg,输入下列指令,未报错就说明正常安装:

// An highlighted block
python -c "import rospkg"

此时应该为python3的版本不对,通过下列指令将python3的版本配置为你安装ROS时使用的python3版本

// An highlighted block
sudo update-alternatives --config python3

2.编译ORB-SLAM3 ros版本时出现卡死
打开build_ros.sh文件,将最后一行的make -j,改为make -j4 或更小的数字
在这里插入图片描述
3. 编译时出现说没有包rospkg catkin_make等,这里的原因是这些没有使用catkin安装,导致安装在了/usr/lib/python2.7/dist-packages里面,因此在/opt/ros/melodic/lib/python2.7/dist-packages/中根本找不到这些包,处理办法是将这些包复制过去,但是根源的处理办法是在安装时,ros的都要用catkin安装
4. 编译时出现 Error: could not call python function 'rosdep2.rospack.init_rospack_interface

// An highlighted block
sudo rosdep fix-permissions
rosdep update

5.下列软件包有未满足的依赖关系:
libdw-dev : 依赖: libelf-dev 但是它将不会被安装
依赖: libdw1 (= 0.170-0.4) 但是 0.170-0.4ubuntu0.1 正要被安装
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

利用aptitude安装软件包 ,途中会给出解决方案
在这里插入图片描述
让保持原来版本 保持就安装不了了,因此选择n,不保持
在这里插入图片描述
对他们进行降级,降级后就能安装了

c++: fatal error: Killed signal terminated program cc1plus

编译时出现这个错误 这个错误是内存不足引起的,因此减小线程数即可解决make -j8-> make -j4/j2

7.在arm平台上 要使用arm平台对应的源才能安装ros,
8.orb-slam3 编译时遇到的错误以及解决方法
(1)编译时出现ubuntu本地的sophus包和orb-slam3的包冲突,报错重定义;
解决办法:将orb-slam3里面的包删除,将cmake文件里的包含目录删除,将程序头文件里面的包含改为Ubuntu的sophus头文件,路径在报错信息里面有;
(2)在有两个orb-slam3时,报错ROS包路径错误,让double check ROS包路径;
解决:先echo $ROS_PACKAGE_PATH查看当前ROS包的环境变量,再用unset ROS_PACKAGE_PATH消除当前环境变量,最后将现在需要的环境变量加上

export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/home/ubuntu1/softBag/new_ORB3/Examples_old/ROS/ORB_SLAM3
export ROS_PACKAGE_PATH=${ROS_PACKAGE_PATH}:/opt/ros/melodic/share

(3)拉取cmake文件时报错:

CMake Error at /usr/share/cmake-3.10/Modules/CMakeFindDependencyMacro.cmake:48 (find_package):
  Found package configuration file:

    /home/ubuntu1/anaconda3/lib/cmake/Qt5WebKit/Qt5WebKitConfig.cmake

  but it set Qt5WebKit_FOUND to FALSE so package "Qt5WebKit" is considered to
  be NOT FOUND.  Reason given by package:

  Qt5WebKit could not be found because dependency is required to have exact
  version 5.15.x.

Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/cmake/Qt5WebKitWidgets/Qt5WebKitWidgetsConfig.cmake:87 (find_dependency)
  /usr/lib/cmake/vtk-6.3/Modules/vtkGUISupportQtWebkit.cmake:13 (find_package)
  /usr/lib/cmake/vtk-6.3/vtkModuleAPI.cmake:45 (include)
  /usr/lib/cmake/vtk-6.3/vtkModuleAPI.cmake:15 (vtk_module_load)
  /usr/lib/cmake/vtk-6.3/vtkModuleAPI.cmake:132 (_vtk_module_config_recurse)
  /usr/lib/cmake/vtk-6.3/VTKConfig.cmake:80 (vtk_module_config)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:501 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:656 (find_VTK)
  /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:847 (find_external_library)
  CMakeLists.txt:57 (FIND_PACKAGE)


-- Configuring incomplete, errors occurred!

转载自:https://blog.csdn.net/qq_42946643/article/details/129060321
错误为anaconda安装的qt与本机的qt选择错误,本来应该选择本机qt cmake,错误选到了anaconda的qt,限定我们要寻找的Qt5config.cmake文件的路径,也就是在CMakeLists.txt里添加

SET(CMAKE_PREFIX_PATH "/usr/lib/x86_64-linux-gnu/cmake")

完事再删除build下的所有文件,重新编译。

9.ssh登入虚拟机、板子失败问题
(1)保证账户名和密码正确,账户名一般为ubuntu终端第一个名字,例如:

root@topeet:~

则账户名为root,密码为ubuntu开机登录密码,也可以用passwd命令修改。
(2)ssh配置正确
先确保ssh是否正确开启,通过以下命令查询状态:

service ssh status

再查看ssh和sshd的配置文件

sudo gedit /etc/ssh/sshd_config

将 PermitRootLogin prohibit-password注释掉;

9.Ubuntu 虚拟机磁盘满了清理
(1)卡在 “Starting Gnome Display Manager”
通过ctrl+alt+f1~f6进入命令行,删除一些文件再重启;
(2)虚拟机热键被占用,无法通过ctrl+alt+f1~f6进入命令行
在Vware中编辑热键,将热键基础改成其他的,不能完全删除,删除后就会占用回车等基础热键。
(3)删除/home/.cache下的临时文件,这里有很多临时文件,其中vmware/drag_and_drop是虚拟机和主机之间复制文件的备份,一般都占用了较大空间,可以删除,删除后还要清理回收站。

  1. VSCODE 远程时报错 “过程试图写入的管道不存在”
    转至,删除下图中的该文件即刻,原因是本地的known_hosts文件记录服务器信息与现服务器的信息冲突了,导致连接失败。
    解决方案就是把本地的known_hosts的原服务器信息全部删掉,然后重新连接。
    https://blog.csdn.net/qq_47733361/article/details/132356723
    在这里插入图片描述

  2. ros 代码编译后太久不维护 再次编译报错

Running command: “make cmake_check_build_system” in “/home/ubuntu1/vins-mono-catkin_ws/build”

make: /snap/cmake/1329/bin/cmake: Command not found
Makefile:1122: recipe for target ‘cmake_check_build_system’ failed
make: *** [cmake_check_build_system] Error 127
Invoking “make cmake_check_build_system” failed

解决方法:
将devel 和build文件删除后重新编译

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值