您的位置:首页 > 科技 > IT业 > 定制开发的软件著作权_游戏开发培训班_seo优化方法有哪些_磁力屋 最好用

定制开发的软件著作权_游戏开发培训班_seo优化方法有哪些_磁力屋 最好用

2024/12/23 11:15:16 来源:https://blog.csdn.net/2201_76063234/article/details/143201230  浏览:    关键词:定制开发的软件著作权_游戏开发培训班_seo优化方法有哪些_磁力屋 最好用
定制开发的软件著作权_游戏开发培训班_seo优化方法有哪些_磁力屋 最好用

Docker

  • 调试一天的血与泪的教训:
    • 设备条件:
    • 对应的build preparation
    • 相应的报错以及修改 作为记录
  • 构建FASTLIO2
  • 启动docker
  • 获取镜像
  • 列出镜像
  • 运行container
  • docker中实现宿主机与container中的文件互传

调试一天的血与泪的教训:

在DOCKER中跑通FASTLIO2:
FASTLIO2_ROS2

设备条件:

  1. ubuntu20.04 + docker(22.04 desktop版本)——>docker拉取镜像选择的网站docker拉取ubuntu22.04(ROS2 HUMBLE)
  2. docker (configuration 22.04) ——> ros2 humble版本 (foxy是天坑!)
    请添加图片描述

对应的build preparation

编译 LIVOX-SDK2
直接按照来没问题:需要在你拉取的container 中部署一个ws专门用来存放LIVOX的SDK软件工具包

git clone https://github.com/Livox-SDK/Livox-SDK2.git
cd ./Livox-SDK2/
mkdir build
cd build
cmake .. && make -j
sudo make install

展示如下图(这里的Livox-SDK2文件夹(因为在后续的livox_ros_driver2中会调用他的动态链库.so)):
请添加图片描述
编译 livox_ros_driver2
follow官网的教程 (可以说是很香,但是这里要关注./build.sh humble需要在ws_livox/src/livox_ros_driver2文件夹中才有 并且humble专用)

mkdir -r ws_livox/src
git clone https://github.com/Livox-SDK/livox_ros_driver2.git ws_livox/src/livox_ros_driver2
cd ws_livox/src/livox_ros_driver2
source /opt/ros/humble/setup.sh
./build.sh humble

编译gtsam
这个简单不说了
编译pcl
这里我的pcl选择的是1.14,但是github主运行的是1.10导致引入#include<pcl/io/io.h>中出现错误 同时 pcl在docker 中的安装目录和在宿主机中的安装目录存在差异 需要在cmakelist.txt中set相关的include_dir 以及相关的LIBRARIES_DIR保证你的点云库能够正确find(这个我针对我的框架做一个记录)

相应的报错以及修改 作为记录

Question
请添加图片描述
Answer
因为我是在docker中安装的livox_ros_driver2与宿主机直接默认安装在/usr/local/lib以及/usr/local/include中不一样 所以我对cmakelist(fastlio)进行了调整:
请添加图片描述
关注这里的set是我对应的缺少的两个cmake文件的父级目录。
需要修改对应的cmakelist.txt信息
Question
点云库使用的版本不对应 导致很多函数出现错误:
请添加图片描述Answer
cd 进入到安装pcl-1.14的include头文件位置 发现确实没有io.h:
所以将io.h改称pcd_io.h然后那个函数错了 根据参数调整 完事 一条龙
请添加图片描述

构建FASTLIO2

首先我选择新建一个ws专门用来fastlio2:

通过git clone 
然后 colcon build --symlink-install (build and install一站式服务到家)
运行ros节点 
这里我经常忘记source ./install/setup.bash
然后ros2 launch fastlio2 lio_launch.py(完美 报错了 这个报错我解决了一下午)

请添加图片描述请添加图片描述
Question

请添加图片描述
请添加图片描述这个报错 大致是:理解起来大致是:找不到共享库.so
请添加图片描述Answer
我 find / -name "相应的so"搜寻了对应的.请添加图片描述大概在这个位置:
请添加图片描述我找了很多ROS开源社区遇到问题的友友们怎么解决的 但是 貌似跟我的问题出现了差异
Answer
我最终解决方式
请添加图片描述

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/ws_livox/install/livox_ros_driver2/lib

启动docker

$ sudo systemctl enable docker 
$ sudo systemctl start docker

将需要使用 docker 的用户加入 docker 用户组
建立docker组

$ sudo groupadd docker

将当前用户加入 docker 组:

$ sudo usermod -aG docker $USER

获取镜像

从 Docker 镜像仓库获取镜像

$ docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

列出镜像

$ docker image ls

运行container

以这个镜像为基础启动并运行一个容器

docker ps -a(列出所有容器)
docker run -it container-name /bin/bash

请添加图片描述

bash:放在镜像名后的是 命令,这里我们希望有个交互式 Shell,因此用的是 bash。

因为执行ROS2程序往往需要同时开启多个终端窗口,所以 往往可以通过下面进行(但是进入到fastlio2文件夹后应该都需要source ./install/setup.bash)docker容器启动多个终端,docker启动多个终端

docker exec -it cd3b79a85d7e /bin/bash

请添加图片描述

docker中实现宿主机与container中的文件互传

请添加图片描述

docker ps -a 
docker run -it container-name /bin/bash//复制文件
docker ps -a //查看所有container-name的ID
docker cp /宿主机文件内容绝对路径 容器名称:/目标复制路径
docker exe -it container-name /bin/bash//查看文件是否复制成功

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com