1、问题描述:

Linux:关机慢等待 90 秒提示 a stop job is running for XXX

2、解决方法:

  • 编辑配置文件:
    1
    sudo nano /etc/systemd/system.conf
    修改以下两个参数,比如改为 5s
    1
    2
    DefaultTimeoutStartSec=5s
    DefaultTimeoutStopSec=5s
  • 重启服务:
    1
    systemctl daemon-reload

1、安装依赖项

  • 参考之前的博客:【安装学习】ubuntu20.04与A-LOAM:01-安装ceres-solver
  • 注意!仅需顺序执行之前博客操作即可,不需要自行再次源码安装诸如eigen3之类的软件包(通过sudo apt-get安装即可)

2、修改代码内容

  • 将四个.cpp文件中的/camera_init修改为camera_init
  • scanRegistration.cpp中的 #include <opencv/cv.h> 修改为#include <opencv2/imgproc.hpp>
  • 修改kittiHelper.cppCV_LOAD_IMAGE_GRAYSCALEcv::IMREAD_GRAYSCALE
  • 无论之前是否已经catkin_make编译过,都需要重新编译,即删除build/devel/文件夹后重新执行catkin_make以使上方的ceres库生效
  • 若版本是ubuntu20.04 ros-noetic,也可以使用我修改后的fork仓库:https://github.com/QianYuan1437/A-LOAM-NOTED.git 注意branch

3、测试与保存

  • 下载测试ROSBAGhttps://drive.google.com/file/d/1s05tBQOLNEDDurlg48KiUWxCp-YqYyGH/view
  • 开启三个终端:注意运行顺序,先1再2最后3
    • 1、roscore
    • 2、roslaunch aloam_velodyne aloam_velodyne_VLP_16.launch
    • 3、rosbag play nsh_indoor_outdoor.bag
  • 如果需要保存点云信息,则需开启第四个终端
    • 4、有以下两种方法,但注意运行顺序为1,2,4,3
      1
      2
      #另起终端用bag_to_pcd方法保存点云图
      rosrun pcl_ros bag_to_pcd xxx.bag /laser_cloud_surround pcd
      运行结束,可以看到生成了一个pcd文件夹,将里面的文件按照修改时间排序,最新的就是最后的点云地图pcd文件。
      1
      2
      3
      4
      #另起终端,用pointcloud_to_pcd方法保存点云图
      mkdir pcd
      cd pcd
      rosrun pcl_ros pointcloud_to_pcd input:=/laser_cloud_surround
  • 点云地图查看:
    1
    pcl_viewer xxx.pcd
    pcd点云地图转ply格式
    1
    pcl_pcd2ply xxx.pcd xxxxxxx.ply
    当我们需要用第三方软件(MatLab/MeshLab)对点云地图进行处理时就需要将pcd转为ply,其中MeshLab必须使用由pointcloud_to_pcd方法创建pcd转成的ply格式点云!

4、参考链接

5、MSFL测试参考链接

1、安装依赖

安装 ubuntu-restricted-extrasubuntu-restricted-extras 包含常用的多媒体编解码器,包括支持 MKV 格式的解码器。

1
2
sudo apt update
sudo apt install ubuntu-restricted-extras

注意!Ubuntu终端显示文本让选择确定,OK等等:首先按下”TAB”键,会看到选中文本”确定”,”OK”然后按下回车键,即可!

2、成功

3、变速保存

可以使用 ffmpeg 将视频转换为3倍速播放的 mp4 格式。以下是具体操作步骤

在终端中执行以下命令:

1
ffmpeg -i 2024-12-24_15-32-53.mkv -filter:v "setpts=PTS/3" -an -c:v libx264 -preset fast -crf 23 2024-12-24_15-32-53_3x.mp4

解释

  • -i 2024-12-24_15-32-53.mkv: 指定输入文件。
  • -filter:v "setpts=PTS/3": 使用 setpts 过滤器将视频播放速度调整为原来的3倍速。PTS/3 表示时间戳变为原来的1/3。
  • -an: 删除音频轨道。如果需要加快音频速度,见下方。
  • -c:v libx264: 使用 H.264 编解码器。
  • -preset fast: 选择快速编码预设。
  • -crf 23: 设置视频质量,23 为默认值,数值越小质量越高(如需要更高质量可以调低)。
  • 2024-12-24_15-32-53_3x.mp4: 指定输出文件名。

如果需要保留并加速音频,音频也需要同步加速,可以使用以下命令:

1
ffmpeg -i 2024-12-24_15-32-53.mkv -filter_complex "[0:v]setpts=PTS/3[v];[0:a]atempo=3[a]" -map "[v]" -map "[a]" -c:v libx264 -preset fast -crf 23 2024-12-24_15-32-53_3x.mp4
  • [0:v]setpts=PTS/3[v]: 设置视频为3倍速。
  • [0:a]atempo=3[a]: 将音频加速3倍。atempo 最大支持2倍速,可多次链式叠加(例如 6倍速可用 atempo=2,atempo=3)。

最终文件检查:转码完成后,可以使用以下命令检查输出文件信息:

1
ffmpeg -i 2024-12-24_15-32-53_3x.mp4

这样可以确认视频和音频是否按预期处理。如果还有其他需求,随时告诉我! 😊

1、依赖安装

1
sudo apt-get install  liblapack-dev libsuitesparse-dev libcxsparse3 libgflags-dev libgoogle-glog-dev libgtest-dev

2、包下载与安装

  • 下载安装包:http://ceres-solver.org/ceres-solver-2.0.0.tar.gz
    1
    2
    3
    4
    5
    6
    7
    8
    9
    #1. 下载ceres2.0版本
    # 地址为 http://ceres-solver.org/ceres-solver-2.0.0.tar.gz
    #2. 解压
    #3. 进入目录,然后编译
    cd ceres-solver
    mkdir build && cd build
    cmake ..
    make -j3
    sudo make install

3、参考链接

https://blog.csdn.net/little_white138/article/details/142443296

ubuntu环境配置AMD显卡驱动

本人买的AMD显卡,最近要在ubuntu环境做python深度学习,所以必须折腾一番,结果发现还不复杂。本人的系统是Ubuntu 20.04.6,显卡是RX6600,亲测有效。

  • 针对GEM12 MAX 板载的显卡680M,应当选择6.1版本的.deb文件

    1
    https://repo.radeon.com/amdgpu-install/6.1/ubuntu/focal/
  • 对应的pytorch安装命令,应当修改为:

    1
    pip install torch==2.4.1 torchvision==0.19.1 torchaudio==2.4.1 --index-url https://download.pytorch.org/whl/rocm6.1

(0) 如果已经配置了显卡驱动但是没有成功,或配置成功想更换版本,则先卸载原有的驱动,重新开始:

1
~$ sudo amdgpu-install --uninstall

(1) 在AMD官网下载需要的驱动包:

驱动包链接
得到amdgpu-install_xxx_all.deb(xxx是版本号)

(2) cd到驱动包路径下,安装驱动包:

1
~$ sudo apt install ./amdgpu-install_xxx_all.deb

(3) 更新软件:

1
2
~$ sudo apt update
~$ sudo apt upgrade -y

(4) 安装驱动:

1
2
3
4
~$ sudo amdgpu-install --no-dkms
~$ sudo apt install rocm-dev
~$ sudo reboot
# 等待重启

(5)配置环境:

1
2
3
4
5
6
~$ ls -l /dev/dri/render*
~$ sudo usermod -a -G render $LOGNAME
~$ sudo usermod -a -G video $LOGNAME
# $LOGNAME不需要修改
~$ sudo reboot
# 等待重启

(6) 理论上如果一路上没有报错,便配置成功了,可以输入下列命令验证

1
2
~$ rocm-smi
# 监控GPU性能
1
2
~$ /opt/rocm/bin/rocminfo
# 可以查询到CPU、GPU信息
1
2
~$ /opt/rocm/opencl/bin/clinfo
# 可以查询到GPU信息

若以上三条命令都有正常输出,便是配置成功了

(7)接下来,如果有利用GPU进行pytorch深度学习的需求,可以进行python程序验证,简单的指令例如:

1
2
3
python3
>>> import torch
>>> torch.cuda.is_available()

返回True就说明成功啦

【安装学习】安装Cartographer ROS(noetic)

参考链接:https://google-cartographer-ros.readthedocs.io/en/latest/compilation.html

1、创建工作空间

1
2
3
mkdir -p ~/catkin_google_ws/src
cd catkin_google_ws/src
catkin_init_workspace

2、安装工具

1
2
sudo apt update
sudo apt install -y python3-wstool python3-rosdep ninja-build stow

3、初始化工作空间

1
2
3
4
cd catkin_google_ws
wstool init src
wstool merge -t src https://raw.githubusercontent.com/cartographer-project/cartographer_ros/master/cartographer_ros.rosinstall
wstool update -t src

4、安装依赖

1
2
3
sudo pip install rosdepc
sudo rosdepc init
rosdepc update

5、Libabsl-dev处理

进行XML文件修改,路径为

1
cartographer_ws/src/cartographer/package.xml

找到第46行<depend>libabsl-dev</depend>删掉

6、执行rosdep install命令

1
2
rosdep update
rosdep install --from-paths src --ignore-src --rosdistro=${ROS_DISTRO} -y

7、安装abseil库

  • 先删除本地abseil库

    1
    sudo apt-get remove ros-${ROS_DISTRO}-abseil-cpp
  • 再运行

    1
    src/cartographer/scripts/install_abseil.sh
  • 这时发现可能会报错,类型如下:

    1
    * existing target is neither a link nor a directory: include/absl/base/internal/sysinfo.h
  • 定位到上方.sh脚本运行后下载的文件夹,与src文件夹同级,进行如下操作:

    1
    2
    3
    4
    5
    cd ~/path/to/abseil-cpp
    mkdir build && cd build
    cmake -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DCMAKE_BUILD_TYPE=Release ..
    make -j$(nproc)
    sudo make install
  • 确保编译器可以找到安装的 abseil-cpp 库。检查 LD_LIBRARY_PATHCMAKE_PREFIX_PATH 中是否包含 /usr/local/lib/usr/local,以确保 CMake 和 linker 能找到 abseil-cpp 库。请在终端中执行下方命令,以将这些变量永久添加到 ~/.bashrc 里:

    1
    2
    3
    echo 'export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH' >> ~/.bashrc
    echo 'export CMAKE_PREFIX_PATH=/usr/local:$CMAKE_PREFIX_PATH' >> ~/.bashrc
    source ~/.bashrc

8、构建

catkin_ws 中清理 build_isolateddevel_isolated 文件夹后重新构建:

1
2
3
cd ~/WS/catkin_ws
rm -rf build_isolated devel_isolated install_isolated
catkin_make_isolated --install --use-ninja

  • 安装服务端

    1
    sudo apt-get install openssh-server 
  • 检查是否开启服务

    1
    sudo ps -e | grep ssh

    有输出则证明开启,没有的话手动开启

    1
    sudo service ssh start
  • 查看IP地址

    1
    sudo ifconfig 

1、参考

1
2
3
4
5
https://github.com/TixiaoShan/LIO-SAM

https://blog.csdn.net/qq_41690864/article/details/118711743
(标题名:3维SLAM入门 LIO-SAM的安装与运行 ubuntu18.04+ros melodic)

2、操作流程

  • 安装依赖程序,参考issues#206

  • Step 1: Install GTSAM 4.0.3 binary

  • Step 2: Configure the utility.h to use
    #include <opencv2/opencv.hpp> instead of #include <opencv/cv.h>

  • Step 3: Configure CMakeLists.txt to use
    set(CMAKE_CXX_FLAGS "-std=c++14") instead of set(CMAKE_CXX_FLAGS "-std=c++11")

  • Step 4:Move #include <opencv2/opencv.hpp> after the pcl headers

  • # 进行Step1的安装
    cd ~/catkin_ws/src
    git clone https://github.com/TixiaoShan/LIO-SAM.git
    # 进行如上Step2~4的修改
    cd ..
    catkin_make
    echo "source ~/你的工作空间/devel/setup.bash" >> ~/.bashrc
    
    1
    2
    3
    4
    5

    ## 3、验证操作

    - **Step 1:**下载数据集rosbag文件

    https://drive.google.com/drive/folders/1gJHwfdHCRdjP7vuT556pv8atqrCJPbUq
    1
    2
    3

    - **Step 2:**运行roslaunch,另开一个窗口播放rosbag

    roslaunch lio-sam run.launch rosbag play ~/catkin_ws/src/data/下载的rosbag包.bag
    1
    2
    3
    4
    5
    6
    7

    - **Step3:**保存pcd建图结果

    - 首先,需要修改params.yaml中的参数。params.yaml在~/catkin_ws/src/LIO-SAM/config文件夹下。修改该文件中SavePCD:true 和保存地址。

    - 然后,为了避免保存还没完成,ros就已经关闭了节点,需要设置_TIMEOUT_SIGINT的值。按如下命令打开文件:

    sudo gedit /opt/ros/melodic/lib/python2.7/dist-packages/roslaunch/nodeprocess.py

    在文件中找到_TIMEOUT_SIGINT,并设置为100秒。这样,在命令窗口中按下Ctrl+C来结束run.launch的运行时,便会自动将pcd文件保存到指定地址。

4、pointcloud_to_laserscan

  • 注意从github下载的源码要选择luner版本的

1、Blogs搭建操作

2、主题替换与设置

3、分类和标签设置

4、书写笔记和上传

  • 在路径/source下添加.md新文件,复制抬头中的categoriestags等信息,具体如下:
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    ---
    layout: 【技能学习】Blogs上传新文章
    title: 【技能学习】Blogs上传新文章
    date: 2024-12-23
    categories:
    - 技能学习
    tags:
    - Blogs
    - 学习
    ---
  • 终端运行如下指令,进行静态资源生成和上载至Git仓库
    1
    2
    hexo clean
    hexo g -d